[Tex/LaTex] Triple f-ligatures for urw-garamond

fontsligatures

I am setting the following in my preamble:

\usepackage[urw-garamond]{mathdesign}
\usepackage[T1]{fontenc}

I find that the ffi and ffl ligatures aren't available in urw-garamond.

As advised in this Fonts.com page, if triple f-ligatures aren't available in the font, it is better to suppress it and use individual letters instead. An example word is:

officers

How do I suppress just the triple f-ligatures? Or is there a way to incorporate triple f-ligatures to urw-garamond?

Best Answer

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.