Turkish and a couple of related languages distinguish between an İ/i with dot and an I/ı without a dot. If you plan to have small caps and ligatures in your font, you should take a few minutes to read this.
There’s a town in Turkey called Diyarbakır, which is great because it contains both an undotted ı and a dotted i.
You see, in other languages, this differentiation is not made. And if we were to set this word in caps or small caps, the i would lose its dot and turn to I, and thus would be indistinguishable from the dotless I/ı. Not good.
So, we need to teach our font Turkish. If the language is set to a language that differentiates between I/ı and İ/i, it must preserve the i dot:
There’s a simple solution in Glyphs. First, make sure you have
dotaccentcomb in your font. If you don’t, just make two copies of your
i. Rename one of them to
idotless and delete the dot. Rename the other to
dotaccent and delete the stem. That is, if you don’t already have a
dotaccentcomb. Reset the anchors (Cmd-Opt-U) for both.
Now create the glyphs
Idotaccent and especially
idotaccent. Glyphs will automatically put the latter together from
dotaccentcomb components, thus producing a copy of
If Glyphs finds
idotaccent in your font, it can automatically create the respective entries in your
locl feature. These will substitute
idotaccent for Turkish (
TRK), Kazakh (
KAZ), Tatar (
TAT), Crimean Tatar (
CRT) and Azeri (
AZE). All these languages employ the differentiation between
Now, simply create
idotless.sc for the small caps and you’re set. The
i is replaced by
idotaccent first if the language is set to any of the ones listed above. So when the small cap feature is executed, there’s no more
idotless, and these have separate
All you need to do now is click the Update button (the one with the circled arrow) in the Features tab of your Font Info. Phew!
Ligatures with i
A similar problem applies to ligatures that contain an i, the usual suspects being
f_f_i. If you have such ligatures in your font and the i loses its dot in these cases, that’s not good for Turkish. So we have to make sure that these ligatures are prevented. There are three possible ways to deal with that:
Either do nothing and simply rely on your magical
idotaccent, as described above. The
i will be replaced by
idotaccent, and since the ligature will only kick in if the sequence f-i is found, you’re all set.
Or adapt your design, so your fi and ffi ligatures do not lose their i dot. In this particular case, you may want to adapt your feature code from
sub f i by fi; to
sub f [i idotaccent] by fi;.
Or, thirdly, introduce separate
f_f_idotaccent ligatures. That’d be really cool.
That’s it, your font learned five new languages! Export your font and put it to the test with your favorite Crimean Tatar poem. Or, if your Crimean Tatar has become too rusty for that, simply take the word ‘Diyarbakır’.
Note: In app versions prior to 2.0,
Update 2013-11-13: Removed an obsolete passage about manually editing your language system entries. Glyphs now handles it automagically.
Update 2014-12-11: Updated to new notation for dotless glyphs.
Update 2014-09-02: Updated to new glyph names in Glyphs 2.