Turkish Feature Locl

Turkish Feature Locl

Turkish Feature Locl

Please click the picture to see it enlarged.


By substituting i with i.loclTRK (identical to the i in appearance) for Turkish, you automatically suppress the fi ligature as a side effect, which is the proper way to handle it in Turkish ( Mark Simonson ).
Note that feature locl must be inserted before feature liga in the list of features.

Because in Turkish, you have separate case conversions (i -> İ, ı -> I) which are different from other languages, and case conversion also applies to the smcp feature, and because the visual distinction between i and ı should be maintained even in ligatures, and some designers tend to blur this distinction in f_i ligatures by folding or merging the dot, this is how you’d deal with it in an OT font.
1. You make an i.loclTRK glyph which is identical to i but it’ll be treated differently in subsequent features.
2. You have a special languagesystem latn TRK in which you only perform one substitution: i -> i.loclTRK in the “locl” feature
3. From now on, you know that in the Turkish context, one of two glyphs will appear: i.loclTRK (with a dot) or dotlessi (without a dot).
4. In features such as liga, you can safely do things like f i -> f_i and you don’t need to think about special lookups for “ligatures with an i” and ligatures “without an i”.
5. Similarly, in the smcp feature, you can safely do i -> I.sc (dot vanishes), i.loclTRK -> Idotaccent.sc (dot stays), dotlessi -> I.sc (not dot at all).
For most languages, the dotted i’s uppercase or smallcaps counterpart is a dotless I but for Turkish, the dot needs to stay. So without i.loclTRK, you’d need special treatment whenever “i” is involved in a feature.
With “i.loclTRK”, you disambiguate the normal “i” and the Turkish “i” early (locl is among the first features to be processed), and all your subsequent features can be written in a simple way.
Of course i.loclTRK is not always required. If your font doesn’t have small-caps and your f_i ligatures are drawn so that the dot over the i is fully visible (because you shorten the f’s tail rather than elongate it), you shouldn’t have a TRK languagesystem or i.loclTRK.
f_i ligatures can be used in Turkish but only if those ligatures don’t blur the visual distinction between the dotted and the dotless i in such a ligature. ( Adam Twardoch )

Turkish Feature Locl

feature locl {

script latn;
language TRK exclude_dflt;
sub i by i.loclTRK;

} locl;

Turkish language

Dotted İi and dotless are separate letters in Turkish (TRK) language. They are separate letters in Azeri (AZE), Crimean Tatar (CRT) and Kazakh (KAZ) languages also.
The dotless I, I ı, denotes the close back unrounded vowel sound (/ɯ/) in Turkish and Azeri languages. Neither the upper nor the lower case version has a dot.
The dotted İ, İ i, denotes the close front unrounded vowel sound (/i/) in Turkish and Azeri languages. Both the upper and lower case versions have a dot.


İstanbul /isˈtanbuɫ/ (starts with an i sound, not an ı).
Diyarbakır /dijaɾˈbakɯɾ/ (the first and last vowels are spelled and pronounced differently)

In contrast, the letter j does not have this distinction, with a dot only on the lower case character: J j.

In normal typography, when lower case i is combined with other diacritics, the dot is generally removed before the diacritic is added; however, Unicode still lists the equivalent combining sequences as including the dotted i, since logically it is the normal dotted i character that is being modified.
Most Unicode software uppercases ı to I and lowercases İ to i, but, unless specifically configured for Turkish, it lowercases I to i and uppercases i to I. Thus uppercasing then lowercasing, or vice versa, changes the letters.
In the Microsoft Windows SDK, beginning with Windows Vista, several relevant functions have a NORM_LINGUISTIC_CASING flag, to indicate that for Turkish and Azerbaijani locales, I should map to ı and i to İ.
In the LaTeX typesetting language the dotless ı can be written with the backslash-i command: \i. The İ can be written using the normal accenting method (i.e. \.{I}).
Dotless ı (and dotted capital İ) is handled problematically in the Turkish locales of several software packages, including Oracle DBMS, PHP, Java (software platform), and Unixware 7, where implicit capitalization of names of keywords, variables, and tables has effects not foreseen by the application developers. The C or US English locales do not have these problems. The .NET Framework has special provisions to handle the ‘Turkish i’.
Many cellphones available in Turkey (as of 2008) lack a proper localization, which leads to replacing ı by i in SMS, sometimes severely distorting the sense of a text. In one instance, a miscommunication played a role in the deaths of Emine and Ramazan Çalçoban in 2008. A common substitution is to use the character 1 for dotless ı. This is also common in Azerbaijan (see also translit), but the meaning of words is generally understood.

See more at WIKIPEDIA


Further Readings

John Cowan: Resolving dotted and dotless “i”
Microsoft Docs: The Turkish Example
TypeDrawers: What is i.latnTRK
Glyphs: Localize Your Font: Turkish i
Tex Texin: Internationalization for Turkish: Dotted and Dotless Letter “I”
Wikipedia: Dotted and dotless I


Stefan Peev

Stefan Peev is a graphic designer and typographer from Bulgaria.


If you like this site and find it useful, help us to make it better by giving feedback, suggesting improvements or by donation.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.