The turkish i story
Could anyone tell me if this is a correct way to handle the turkish i problem.
I put the locl feature on top so it overrides everything.
I font know the language really, but tried to make some sense out of it.
The glyph “i.dot” is a copy of i.
Thanks in advance!





























9.Jul.2008 3.41pm
The underlying reasoning is that ’i’ “ee” and ’ı’ “ih” are two different characters. Capitalizing and small-capitalizing in a Western locale loses the dot, which makes it a different character in Turkish.
You don’t really need an “i.dot” glyph (as dotted equivalent of “dotlessi”), you can use the regular latin ’i’ for that. So the translation you specify is not necessary.
The only caveat is, for Turkish you should translate “i” to “idotaccent.sc” for small caps, and “i” to “Idotaccent” for capitals. The dotless ’i’ can be converted to a ’regular’ small cap I and capital I, for any locale, so it doesn’t need a localized handling.
You will get bonus points if you weed out the ligatures containing an “i” for Turkish, such as “fi” and “ffi” :-) (As a side note, your translation of ’i’ to ’i.dot’ may rule out that lookup; but I still think it makes life more complicated, instead of less.)
9.Jul.2008 4.18pm
> You will get bonus points if you weed out the ligatures containing an “i” for Turkish, such as “fi” and “ffi”
That’s exactly what will happen.
> (As a side note, your translation of ’i’ to ’i.dot’ may rule out that lookup; but I still think it makes life more complicated, instead of less.)
I disagree. Taking care of the Turkish i upstream, in ’locl’, makes the code for other features (e.g. ’liga’, ’smcp’) much much simpler.
9.Jul.2008 5.23pm
Goran, your approach is good, but there are some issues,
1.
languagesystem dflt dflt;is incorrect.It should be
languagesystem DFLT dflt;2. If you want to be thorough, you can include other languages that need the same treatment such as Azeri (AZE) and Crimean Tatar (CRT).
3. You can actually remove the substitution
sub i.small by idotaccent.small;from the ’locl’ feature. The reasoning for this is, the glyph ’i.small’ won’t be in the glyph stream until ’smcp’ is applied. Since ’locl’ comes before ’smcp’ (and assuming that the text engine will do the right thing which is apply the lookups in the order they appear in the font), at the time ’locl’ is applied the glyph ’i.small’ won’t be available as input.
In any case, don’t forget to include the following substitution in ’smcp’,
sub i.dot by idotaccent.small;4.
idotaccent.smallis not a good name because ’idotaccent’ is not a standard name. (’Idotaccent’ is, but that’s different). You need to call it something like ’i.dotsmall’.10.Jul.2008 1.58am
Thanks for helping out Miguel and Theunis! :)
10.Jul.2008 1.00pm
When I write DFLT capitalized I get this warning, are you sure on the capitalization, Miguel?
[WARNING] Use of DFLT tag has been deprecated. It will work, but please use ’dflt’ instead. [/Users/goran/Library/Application Support/FontLab/Studio 5/Features/fontlab.fea 57]
10.Jul.2008 1.24pm
Goran,
See that thread — Script Tag + i dot:
http://typophile.com/node/29469
10.Jul.2008 1.55pm
There’s always a “but” with FontLab...
11.Jul.2008 12.00am
And, what will exactly happen if I take away the DFLT tag and only put this in:
languagesystem latn dflt;
languagesystem latn TRK;
Will this produce a completely useless font regarding language support?
11.Jul.2008 8.23am
No, it won’t be useless.