# Ligatures: why “fi”, but not “fj” as well?

My university name is "FJFI", with e-mail/web addresses containing lowercase "fjfi". Then "fi" gets ligatured whereas "fj" does not, and the result looks a bit strange. My question is, which possibility would you choose:

1. Leave it as is.
2. Forbid ligauture for "fi".
3. Generate/define a ligature for "fj". (With an extra question: how?)
4. Some other solution?

Below you see the shapes in Computer Modern and New Century Schoolbook, the second one is with forbidden ligature (for comparison).

-
My suggestion would be 4.: Look for a font that does have the fj ligature (a few do) and use that. You're right, the result does look strange as it is now. –  Thomas Feb 28 '12 at 14:01
@Thomas Any suggestions for such fonts? I prefer cmr for math texts and I would like not to change this, but I'm open to any ideas ;) –  tohecz Feb 28 '12 at 14:02
@AndreyVihrov Since it is an isolated problem for me (only "fjfi" is the issue), I'm open to use it in the form \charXYZ, just I cannot find the symbol in my LaTeX fonts... –  tohecz Feb 28 '12 at 14:11
Being an acronym, I'd suggest breaking the fi ligature. Using a fixed width font for email addresses guarantees this. –  egreg Feb 28 '12 at 14:35
@tohecz Difficult to say, of course, without knowing the context of your use, and without having a really knowledgeable person look at it (I'm a bloody amateur myself). But just to answer your question and give you a few ideas: the following fonts have 'fj' ligatures - I checked in fontforge. (The question how you would use these ligs in TeX is of course left as an exercise to the reader...): Adobe Garamond, Adobe ArnoPro, Linux Libertine, Storm Baskerville. Another possibility, of course: use a font where the ligature isn't needed because there is no clash... –  Thomas Feb 28 '12 at 16:55

Here's a horrible, completely wrong way to get a "fj" ligature that will only work with Computer Modern. A proper way to solve the problem would be to get (or create) a font that has the ligature. Latin Modern may have this ligature in the future.

\documentclass{article}

\usepackage{xcolor}

\newcommand{\fj}{%
% Use the 'fi' ligature
fi%
% Erase the 'i' part
\llap{\textcolor{white}{\rule[-0.05em]{0.252em}{0.55em}}}%
% Overlay a dotless j instead
\kern-0.01em\llap{\j}%
% Kern back a little
\kern-0.05em\relax}

\begin{document}

fi\fj

\end{document}


-
+1 - first I saw the image and the reaction was shudder. Then I read your introduction and was delighted to have this disclaimer. Otherwise: very nice solution. –  topskip Feb 28 '12 at 14:42
Thanks, I thought of hacking the fonts this way and your work is just perfect, mainly because it can be adapted to other fonts as well by changing the dimensions slightly. –  tohecz Feb 28 '12 at 15:12
+1 for the hacking skills! –  Ben Feb 28 '12 at 15:36

As per Andrey's comment, I formulate this as an answer: I see two ways you could go:

1. Use a font where "fi/fj" don't clash and which doesn't need the ligatures. Two examples that come to mind are Palatino/TeXGyre Pagella or Gentium.
2. A number of fonts have the fj ligature. A quick look at some of the fonts I have here brings up as professional fonts: Adobe Garamond Pro and Garamond Premier Pro, ArnoPro, MinionPro, or Storm Baskerville, and free fonts: Linux Libertine, Xits.

Just to give you an idea: in ConTeXt mkiv, using this ligature is as simple as this:

\usemodule[simplefonts]

\setmainfont[MinionPro]

\starttext

fifj

{\it fifj}

{\bf fifj}

{\bi fifj}

\stoptext


Which looks like this:

-
Thanks for the list of fonts, it is very useful! However, I don't plan to switch to ConTeXt. –  tohecz Feb 28 '12 at 22:04
@tohecz If you have a proper OT-font or are willing to add the OT-features for fj yourself, XeLaTeX will also use it without too much relearing. If you don't want to or aren't allowed to mess with the font itself, you could use a font-mapping scheme, cf fontspec's manual section IV.12.1 to get fj replaced with the proper ligature while typesetting. –  Florian Jun 26 '12 at 12:40