Closed miguelsousa closed 3 years ago
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.
Source Serif already includes
ff
andft
ligatures but notfft
. This make words such as offtrack to have a partial ligature. The typeface also containsffi
andffl
ligatures, as well asfi
andfl
. Addingfft
would complete the existing set.