Au contraire, mon ami — URW Garamond does indeed contain the ffi and ffl ligatures. They occupy slots 30 and 31 respectively in their T1-encoded font tables.
In common with many typeface designs, URW Garamond splits the first f subglyph from the remaining fi or fl subglyphs in each ligature. You can see this in the rm
and sf
families, but not the tt
family where the designer has connected all subglyphs in each whole (see edit note, below). One mustn't simply assume that a ligature is not a single well-integrated type component simply because the full set of strokes comprising it are not completely connected. Font.com's recommendation is directed at cases where, e.g., the ffi and ffl ligatures are simply not available, and where, therefore, grafting a single f onto a trailing fi or fl might (subject to the quality of the kerning table) create a fairly unbalanced look. This is not the situation here. In this case, URW Garamond's designer has produced a well-integrated series of glyphs that should not be discarded simply because their various elements do not completely connect. These designs are very much part of URW Garamond's integrated look and feel. Your typeset works would suffer by excluding them.
Here's some code to help you check this out:
\documentclass{article}
\usepackage[urw-garamond]{mathdesign}
\usepackage[T1]{fontenc}
\usepackage{fonttable}
\begin{document}
\xfonttable{T1}{\rmdefault}{m}{n}\newpage
\xfonttable{T1}{\sfdefault}{m}{n}\newpage
\xfonttable{T1}{\ttdefault}{m}{n}\newpage
\end{document}
BTW, if you really want to force non-ligatures, a simple trick is to insert braces to keep your letters apart, e.g., of{}f{}icers. Apart from that, the microtype
package contains options to selectively disable just the ones you want. E.g.,
\DisableLigatures[?,!]{encoding = T1}
will inhibit ?‘ and !‘, but not fi, –, », etc. microtype
currently works under pdflatex and luatex but not, as far as I know, all that successfully with xelatex (there's a beta version out there but I haven't yet checked it out, mainly because everytime I do its website is down). Will's and Khaled's fontspec
package seems to provide control over ligatures at font load-time, but as I tend to stick to pdflatex (never in a million years could I bring myself to give up microtype
), and as fontspec
doesn't function in that environment, I'm still rather clueless about its detailed ins and outs. However, note that as URW Garamond is a Type1 font, fontspec
won't provide much assistance in your case.
EDIT:
Errg! I must learn to resist answering questions at 4am in the morning (Eastern Australian Time). Of course the sf
and tt
fonts printed by the code above are Computer Modern (or some such system-provided variants). They have nothing to do with URW Garamond. Nevertheless, except for confirming that I'm a klutz, everything else about all other aspects of my answer still stands.
Do you know if you actually have the URW Garamond font files installed? Those fonts do not use a completely free/open source license, and so are often not distributed with TeXlive or installable through its package manager (even if the mathdesign.sty file is).
On linux you can install them using the getnonfreefonts script -- I suspect that might work for BasicTeX too (on a mac?), but I don't have first hand experience of that.
Best Answer
Whenever possible, the
-sys
utilities should be used; this holds forThe first utility is for recreating format files, the second one for updating the map files necessary for using Type1 fonts and not the bitmap versions, the third one is the main important for the purpose of your question.
In general fonts that are not provided directly by TeX Live should be installed system wide in the
TEXMFLOCAL
tree, usingsudo updmap-sys
for updating the map files andgetnonfreefonts(-sys)
is just a special case, because it provides an automatic procedure for installing some font families.Why is it better to use the local tree and system-wide installation? Because in this way we are guaranteed that any update to the fonts in TeX Live will be reflected in the map files. If one uses
updmap
(orgetnonfreefonts
) a set of map files are created for the current user only. Sincetlmgr
(or TeX Live Utility on Mac OS X) only runupdmap-sys
, changes will not be reflected in the user'spdftex.map
file or related.So, use
but first check that the command line
outputs
If the result is different, remove the file pointed at.