adobe-fonts/source-serif

Add fft ligature

miguelsousa opened this issue · 5 comments

Source Serif already includes ff and ft ligatures but not fft. This make words such as offtrack to have a partial ligature.
The typeface also contains ffi and ffl ligatures, as well as fi and fl. Adding fft would complete the existing set.

Thanks for the note! fft is truly rare as a ligature. Some typographers would argue that offtrack (being a two-syllable word) would not necessarily require a ligature. However, I’ll gladly add it for you.

@frankrolf Can we also get an fj ligature for Scandinavian languages? I’ve noticed it already exists in the italic, along with other more exotic combinations like fb and fk, but it’s missing from the roman.

For a future update, though not for this upcoming one, I’d also suggest ligatures with ſ, to represent historical documents more accurately. The minimal set would probably be ſi ſh ſl ſſ, though I have seen other ligatures as well.

I have considered adding the f_j ligature myself and will do that with the f_f_t addition (I live in the Netherlands ;-) ).

A short back story on Source Serif’s ligatures: the original upright design really only required f_i for visual correction. The f is short and was deliberately designed so ascenders can overlap without disruption. In the Italic styles, such a solution was not easily possible, that's why more ligatures were added there.

The upright f_f_i and f_f_l ligatures were only added because they exist as code points. Eventually they made their way into the feature code.

I have never seen a long s-ligature used, except wrongly on canned “ſish” – so I guess the urgency here is indeed low.

@frankrolf I tried to build the most recent commit and it’s giving me a few errors related to these ligatures:

Building OTF ...
tx: --- /home/user/source-serif-pro-opsz/Roman/Instances/Capt/ExtraLight/font.ufo
tx: (ufr) Warning: No version specified in source UFO font.
makeotf [Note] Using features file at '/home/user/source-serif-pro-opsz/Roman/Instances/Capt/ExtraLight/font.ufo/features.fea'.
makeotf [Note] setting the USE_TYPO_METRICS OS/2 fsSelection bit 7 from fontinfo keyword.
makeotf [Note] setting the WEIGHT_WIDTH_SLOPE_ONLY OS/2 fsSelection bit 8 from fontinfo keyword.
makeotf [Note] setting the OBLIQUE OS/2 fsSelection bit 9 from fontinfo keyword.
makeotfexe [WARNING] Skipping glyph not in GOADB file: <caron.alt>
makeotfexe [WARNING] Skipping glyph not in GOADB file: <commabelowcmb.alt>
makeotfexe [WARNING] Skipping glyph not in GOADB file: <tonos.cap>
makeotfexe [WARNING] Skipping glyph not in GOADB file: <f.ligalong>
makeotfexe [WARNING] Skipping glyph not in GOADB file: <IJ>
makeotfexe [WARNING] Skipping glyph not in GOADB file: <Tbar>
makeotfexe [WARNING] Skipping glyph not in GOADB file: <colontriangularmod>
makeotfexe [WARNING] Skipping glyph not in GOADB file: <crossmark>
makeotfexe [WARNING] Skipping glyph not in GOADB file: <ij>
makeotfexe [WARNING] Skipping glyph not in GOADB file: <overline>
makeotfexe [WARNING] Skipping glyph not in GOADB file: <similar>
makeotfexe [WARNING] Skipping glyph not in GOADB file: <tbar>
makeotfexe [WARNING] Skipping glyph not in GOADB file: <triangularbullet>
makeotfexe [WARNING] Skipping glyph not in GOADB file: <turkicdsccmb>
makeotfexe [ERROR] <SourceSerif4Capt-ExtraLight> Glyph "f_f_j" not in font. [/home/user/source-serif-pro-opsz/Roman/Instances/Capt/ExtraLight/font.ufo/../../../../familyGSUB.fea 840]
makeotfexe [ERROR] <SourceSerif4Capt-ExtraLight> Glyph "f_f_t" not in font. [/home/user/source-serif-pro-opsz/Roman/Instances/Capt/ExtraLight/font.ufo/../../../../familyGSUB.fea 842]
makeotfexe [ERROR] <SourceSerif4Capt-ExtraLight> Glyph "f_j" not in font. [/home/user/source-serif-pro-opsz/Roman/Instances/Capt/ExtraLight/font.ufo/../../../../familyGSUB.fea 845]
makeotfexe [FATAL] <SourceSerif4Capt-ExtraLight> aborting because of errors
Error executing command 'makeotfexe -f /tmp/tmpsdpnjkkd -o /home/user/source-serif-pro-opsz/Roman/Instances/Capt/ExtraLight/SourceSerif4Capt-ExtraLight.otf -r -gs -ff /home/user/source-serif-pro-opsz/Roman/Instances/Capt/ExtraLight/font.ufo/features.fea -mf /home/user/source-serif-pro-opsz/FontMenuNameDB -gf /home/user/source-serif-pro-opsz/Roman/GlyphOrderAndAliasDB -lic ADOBE'
makeotf [Error] Failed to build output font file '/home/user/source-serif-pro-opsz/Roman/Instances/Capt/ExtraLight/SourceSerif4Capt-ExtraLight.otf'.
Building TTF ...
Componentizing TTF ...
usage: ttfcomponentizer [-h] [--version] [-o OUTPUT_PATH] FONT
ttfcomponentizer: error: argument FONT: 'Roman/Instances/Capt/ExtraLight/SourceSerif4Capt-ExtraLight.ttf' is not a valid TrueType font file path.
mv: cannot stat 'Roman/Instances/Capt/ExtraLight/SourceSerif4Capt-ExtraLight.otf': No such file or directory
mv: cannot stat 'Roman/Instances/Capt/ExtraLight/SourceSerif4Capt-ExtraLight.ttf': No such file or directory
Done with SourceSerif4Capt-ExtraLight```

The ligatures are in the master UFOs, but not yet in the instances. I don't always build all instances because it takes a long time to do so. That's why the instances may be several steps behind in terms of their development.