[OS X TeX] lucida fonts problems

Bruno Voisin bvoisin at mac.com
Sat Dec 30 04:38:51 EST 2006

Le 30 déc. 06 à 09:40, Bruno Voisin a écrit :

> Despite having several times looked at this, and posted several  
> messages on the subject here, I never remember what the  
> syntactically correct invocation of updmap should be, for reading  
> individual map files (such as lucida.map) in the user-specific  
> directory ~/Library/texmf and write global map file (such as  
> psfonts_t1.map) in the system-wide directory /usr/local/gwTeX/ 
> texmf.local.

I still cannot find a post I once wrote in which I was attempting to  
analyze the various ways of invoking updmap and updmap-sys. But I've  
found one by Herb Schulz, doing much better, at <http://tug.org/ 

In summary, I think Axel is perfectly right: in case the fonts are  
installed for all users of a given Mac, in the system-wide directory / 
usr/local/gwTeX/texmf.local, you should use:

	sudo -H updmap-sys --enable Map lucida.map

and in case the fonts are installed for one user only (you) of a  
given Mac, in the user-specific directory ~/Library/texmf, you should  

	sudo updmap-sys --enable Map lucida.map

Now some details. Warning: Thomas, this is not information you should  
care about at this stage, please don't get overwhelmed by what follows.

Quoting Herb, regarding the cause of the observed behaviour (replace  
teTeX by gwTeX):

> Some Explanation:
> sudo --- needed when you are about to write to a location that  
> isn't normally writable by ``regular'' users (e.g., /usr/local/ 
> teTeX/...). But, even though it is using the root login, it takes  
> YOUR home directory as $HOME; so ~/Library/texmf/ can be ``seen.''
> sudo -H --- like sudo alone but now the $HOME directory is root's (/ 
> etc/?); ~/Library/texmf/ will NOT be ``seen.''
> updmap --- reads the texmf.local as well as ~/Library/texmf/ (under  
> normal circumstances --- see below) and writes to ~/Library/texmf/  
> (but see BUT NOTE below).
> updmap-sys --- reads texmf.local and POSSIBLY ~/Library/texmf/ and  
> (attempts) to write to texmf.local. This MUST be invoked using sudo  
> or sudo -H to be able to write to texmf.local.
> BUT NOTE: In Gerben's latest update (regression?) by default updmap  
> and updmap-sys both (attempt) to write to texmf.local. This was the  
> original behavior of updmap before updmap-sys was created.

and regarding this resulting behaviour:

> Finally:
>> sudo -H updmap-sys
> This command will neglect any items in your personal tree because  
> of the use of sudo -H.
>> sudo -H updmap
> Before Gerben changed back to both updmap and updmap-sys behaving  
> identically by default this would create a personal texmf tree in  
> root's $HOME; something you never want to happen. With the latest  
> update this behaves exactly like the updmap-sys command. I'D ALWAYS  
>> sudo updmap-sys
> Will read information in both texmf.local and ~/Library/texmf/ and  
> write to texmf.local. Not philosophically correct but on a single  
> user system...
>> sudo updmap
> Same as the command above with the default behavior in Gerben's  
> latest update.
> With the previous version this would read from both texmf.local and  
> ~/Library/texmf/ but it would write to ~/Library/texmf/ but with  
> root ownership; not recommended.
>> updmap-sys
> Will read from both texmf.local and ~/Library/texmf/ and attempt  
> (and probably fail) to write to texmf.local since most users don't  
> have write permissions in that branch.
>> updmap
> With the latest update this will behave the same as updmap-sys just  
> above.
> With the previous version this would read from texmf.local and ~/ 
> Library/texmf/ and the write personal files in ~/Library/texmf/. No  
> need for sudo in that version wince all writing was in the user's  
> home directory. The generated files will have the user as owner.

There is also an older post by Gerben Wierda in which he was  
explaining the same stuff with less details, and also looking at the  
ways of invoking mktexlsr (= texhash) and fmtutil; this was before  
Gerben introduced the backwards-compatibility fix making updmap  
equivalent to updmap-sys. See <http://tug.org/pipermail/macostex- 
archives/2006-January/020041.html>. In particular:

> Where it used to be
>     sudo updmap
> (which these days produces root-owned files in your personal tree)  
> it now
> should be
>     sudo updmap-sys
> The -sys commands write in texmf.local. The non-sys write in your  
> personal
> tree. As written in the line above they do *read* your personal texmf
> tree.
> If you use
>     sudo -H updmap-sys
> updmap-sys will read *root's* personal texmf tree, which should not  
> exists
> IMO and of course still write in texmf.local.


> For hashes:
>     sudo mktexlsr
> For formats:
>     sudo -H fmtutil-sys --all
> This produces results in texmf.local.

Hope this helps (at least researching this helped me understand  
what's going on),

Bruno Voisin
------------------------- Helpful Info -------------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
TeX FAQ: http://www.tex.ac.uk/faq
List Archive: http://tug.org/pipermail/macostex-archives/
List Reminders & Etiquette: http://www.esm.psu.edu/mac-tex/list/

More information about the MacOSX-TeX mailing list