Smallcap versions of fi, fl and german double s in OTF

Primary tabs

20 posts / 0 new
Last post
Artur Schmal's picture
Offline
Joined: 16 Jun 2005 - 2:47pm
Smallcap versions of fi, fl and german double s in OTF
0

Hi all,

Why would it be recommendable to include [[small capitals|smallcap]] versions of fi, fl and the german double s in OpenType fonts? I've seen Abobe Pro fonts that come both with and without them.

Thanks,
Artur

Pieter van Rosmalen's picture
Joined: 3 Mar 2005 - 3:23am
0

Hello Artur,

Small caps fi, fl and ß don’t exist, so I think you don’t need to include them. Sometimes a smallcap double s is designed to replace the ß.

Pieter

Miguel Sousa's picture
Offline
Joined: 18 May 2003 - 8:30pm
0

> Why would it be recommendable to include smallcap versions of fi, fl and the german double s in OpenType fonts?

fi.sc and fl.sc are small cap versions of fi (U+FB01) and fl (U+FB02). They are necessary in the font because the text might contain these Unicode ligatures (instead of f+i and f+l), and you'd want the glyphs to change to a small cap form when the user applies the 'smcp' OT feature.

germandbls.sc is a small cap version of ß (U+00DF). If you don't include this small cap glyph in your fonts, when the user applies the 'smcp' OT feature to the word "straße" he'll be left with a lowercase letterform among small caps.

Mark Simonson's picture
Offline
Joined: 3 Dec 2001 - 11:00am
0

Some applications (only InDesign as far as I know) will make the conversion to small caps if you type "fi" or "fl" ligatures directly (shift-opt-5 and shift-opt-6 on Macs), but other applications (Quark, Illustrator) won't unless you include them in your smcp feature.

Karsten Luecke's picture
Offline
Joined: 6 Aug 2005 - 8:41am
0

Problem -- from a typographer's p.o.v. -- is that these small cap 'ligatures' cannot be letterspaced.
A better solution would be to 'break' these ligatures into their parts in smcp (or maybe even in ccmp and then re-ligate them in liga to get a clean character string). But this is theory because one-to-many substitution is not supported by AFDKO yet nor in most applications.  :(

Artur Schmal's picture
Offline
Joined: 16 Jun 2005 - 2:47pm
0

Thanks for your replies guys!

Artur

Chris Lozos's picture
Offline
Joined: 25 Feb 2004 - 11:00am
0

If the smcp feature is ahead of the liga feature in sequence, when smcp is applied, it should over ride the liga since it will aktready be in place.

ChrisL

Nick Shinn's picture
Offline
Joined: 8 Jul 2003 - 11:00am
0

But it is the smcp feature which does the ligaturing:

ß becomes s_s
f i becomes f_i
f l becomes f_l

Chris Lozos's picture
Offline
Joined: 25 Feb 2004 - 11:00am
0

"ut it is the smcp feature which does the ligaturing"
?
Huh? Splenn that to me. Yes, eszet I understand but the f ligs make no sense in smcp. The f i to f_i happens in liga.

ChrisL

Miguel Sousa's picture
Offline
Joined: 18 May 2003 - 8:30pm
0

The only reason why there's the need for smallcap versions of fi and fl is because they are characters, i.e. they have their own Unicode codepoints. In addition, these two characters are included in the MacRoman encoding and can be easily accessed from the keyboard, so there's a high chance to find them in texts.

I should recall that the current best practice to handle these two glyphs is:
1. Name them fi and fl, and assign them the codepoints U+FB01 and U+FB02, respectively;
2. Make duplicate glyphs of fi and fl, and name them f_i and f_l (these should NOT be assigned any Unicode values as they are ligatures);
3. Make fi.sc and fl.sc glyphs (which are smallcap versions of fi and fl, NOT smallcap versions of f_i and f_l);
4. Handle fi.sc and fl.sc in 'smcp' and f_i and f_l in 'liga' as shown below.

feature smcp {
sub fi by fi.sc;
sub fl by fl.sc;
} smcp;

feature liga {
sub f i by f_i;
sub f l by f_l;
} liga;

The bottom line is, fi/fl are different from f_i/f_l. The first are "characters" and the latter are "alternates".
Hope this helps.

Chris Lozos's picture
Offline
Joined: 25 Feb 2004 - 11:00am
0

Thanks Miguel! That helps.

ChrisL

Robert Trogman's picture
Offline
Joined: 7 May 2006 - 6:10pm
0

The introduction of ligatures began with the casting of metal type. The "f" ligatures appeared because in the case of the "fi"the overhang of the f would bump against the dot on the "i" and so on with other letters of the "f" combination. The french made cliches or what we call glyphs in order to save time in the handsetting of type by casting most used combinations together on one piece of type. The use of ligatures have become a note of elegance in typography—just like "smart quotes."

Artur Schmal's picture
Offline
Joined: 16 Jun 2005 - 2:47pm
0

Thanks for this Miguel.
I noticed that InDesign is 'smart' enough to change the ß to s.sc + s.sc when applying the smallcaps feature even though there's no actual germandbls.sc present in the font. Illustrator however lacks this.

Artur

Joel C. Salomon's picture
Offline
Joined: 23 Jul 2007 - 1:10pm
0

There is now a proposal for a capital “ß” in Unicode, mainly for use in capitalized names where a distinction must be drawn between “ß” and “ss”; a scaled version of the glyph proposed might be appropriate for a small-caps “ß”.

Christopher Slye's picture
Joined: 5 Oct 2006 - 11:03am
0

In the past, we were not very good at applying this approach to our fonts consistently, so you will probably see different results depending on the typeface. Some fonts have 'f_i.sc' (that's bad), or perhaps no smallcap version at all (better, maybe). Our (Adobe's) policy of preserving codepoints through a "character + feature" model continued to evolve after our first OpenType font releases, unfortunately...

Dan Reynolds's picture
Offline
Joined: 20 Jul 2002 - 11:00am
0

Why are
germandbls.sc
fi.sc
fl.sc
and i_j.sc
bad? (I think I have my glyph names right here…)

Christopher Slye's picture
Joined: 5 Oct 2006 - 11:03am
0

Why are
germandbls.sc
fi.sc
fl.sc
and i_j.sc
bad? (I think I have my glyph names right here…)

No, those first three are good -- they're small cap alternates of specific characters. These are "bad":

f_i.sc
f_l.sc
s_s.sc

...because they're not necessary. As was explained earlier, it's best to do the small cap substitutions before 'liga'. And, likewise, i_j.sc is an unnecessary alternate of a ligature. What you'd maybe want is ij.sc; ij is a legitimate Unicode character, like germandbls.

Dan Reynolds's picture
Offline
Joined: 20 Jul 2002 - 11:00am
0

OK, thanks!

Joel C. Salomon's picture
Offline
Joined: 23 Jul 2007 - 1:10pm
0

BTW: The Linux Libertine font project includes capital and small-caps ‘ß’; see [[http://linuxlibertine.sourceforge.net/#spezial]].

—ℐℴℯℓ

Thomas W Phinney's picture
Joined: 3 Sep 2002 - 11:00am
0

Some applications are smart enough to pre-process the text, in various degrees, before turning it into small caps. Many Adobe apps will do the right thing with the eszett even if the font doesn't explicitly handle it. It's arguably better to do it upstream in the app.

Cheers,

T