Substitutions with Turkish <i>

mauro sacchetto
mauro sacchetto Posts: 353
edited June 2019 in Font Technology
As is known, in the Turkish language the i exists as distinct letters in two versions, with and without a dot (with very different pronunciations): the couple <i / İ> and the couple < ı / I>.
Now, I don't understand how and where to set the substitutions for the correct transition from uppercase to lowercase.
If I try to compile this code with Lualatex:
<div><div>\documentclass[a4paper,12pt]{article}</div><div>\usepackage{fontspec}</div><div>\usepackage[turkish,english]{babel}</div><div>\babelfont[english]{rm}[Ligatures=TeX]{EinaudiGaramondPro}</div><div>\babelfont[turkish]{rm}[Ligatures=TeX,RawFeature=+calt]{EinaudiGaramondPro}</div><div><br></div><div>\begin{document}</div><div><br></div><div>\textbf{English}</div><div><br></div><div>\verb!\MakeUppercase{aabbccddiixx}! \MakeUppercase{aabbccddiixx}</div><div><br></div><div>\verb!\MakeUppercase{aabbccddııxx}! \MakeUppercase{aabbccddııxx}</div><div><br></div><div>\verb!\MakeLowercase{AABBCCDDİİ}! \MakeLowercase{AABBCCDDİİ}</div><div><br></div><div>\verb!\MakeLowercase{AABBCCDDII}! \MakeLowercase{AABBCCDDII}</div><div><br></div><div>\textbf{Turkish}</div><div><br></div><div>\selectlanguage{turkish}</div><div><br></div><div>\verb!\MakeUppercase{aabbccddiixx}! \MakeUppercase{aabbccddiixx}</div><div><br></div><div>\verb!\MakeUppercase{aabbccddııxx}! \MakeUppercase{aabbccddııxx}</div><div><br></div><div>\verb!\MakeLowercase{AABBCCDDİİ}! \MakeLowercase{AABBCCDDİİ}</div><div><br></div><div>\verb!\MakeLowercase{AABBCCDDII}! \MakeLowercase{AABBCCDDII}</div><div><br></div><div>\end{document}</div><br></div><div></div>
I get



in two cases out of four the <i> ... disappear.
Using GaramondPremierePro everything works perfectly, while EBGaramond with the same code fails.
In my case I don't know where to handle the substitutions uppercase / lowercase and vice versa ...

You can see the .otf here:
https://www.dropbox.com/s/en2ptly8hm7hz75/Test-Regular.otf?dl=0

Comments

  • André G. Isaak
    André G. Isaak Posts: 634
    edited June 2019
    .

  • EB Garamond fails exactly like my font: two <i> disappear. The same, for example, with Adobe Caslon Pro.
    Adobe Garamond Premier Pro instead compiles correctly.
    I have always compiled the same code, so I suspect the problem is not LaTeX, but some rules implemented in the fonts ...
  • Are you actually using Garamond Premier Pro or are you using Einaudi Garamond Pro?
  • I'm testing Einaudi Garamond Pro because a person in a Tex chat send me the .ttf extract from I don't know where. For it's without any metrics and lookup, I enjoy getting to know and experimenting with what I never knew about fonts until a while ago...
  • AFAIK Einaudi Garamond can't legally be distributed, so the 'I don't know from where' is almost certainly not licit.

    Putting that aside, though, if Einaudi Garamond is the only font which is actually working properly, can you check to see if it contains uni0307?

    André
  • mauro sacchetto
    mauro sacchetto Posts: 353
    edited June 2019
    I also believe that that font is covered by a license, but I only use it privately to "exercise", certainly not to use it in public or commercial form
     ...
     No, the font that works is the GaramondPremierePro. I conducted the research, which you suggest me, of uni0307, ​​but the slot is empty in both fonts.

    This is Adobe GaramondPremierePro:

  • Thomas Phinney
    Thomas Phinney Posts: 2,898
    It was looking like the dotted capital i was missing in some of the fonts. If the font had a combining dot and a capital I, it might be synthesized on the fly. If not, you might get nothing.
  • Idotaccent is present in all fonts, as uni0130 (slot 304).
    Now it's rather late here, 
    tomorrow I will do other investigations ... 
  • As is known, in the Turkish language the i exists as distinct letters in two versions, with and without a dot (with very different pronunciations): the couple <i / İ> and the couple < ı / I>.
    Now, I don't understand how and where to set the substitutions for the correct transition from uppercase to lowercase.

    in two cases out of four the <i> ... disappear.
    Using GaramondPremierePro everything works perfectly, while EBGaramond with the same code fails.
    In my case I don't know where to handle the substitutions uppercase / lowercase and vice versa ...
    You font seems to look just fine (I tested it in Word as well), so I suspect Lualatex is causing problems.
  • @ Erwin
    If you try to change uppercase / lowercase ?
  • Yes, as shown here:



  • I could not resist trying to find the cause.
    After a series of experiments I discovered that in fact the font, at least directly, is not responsible.
    The code I first reported with Lualatex produces the reported error. Compiled with Xelatex, with the necessary modifications, it replaces the <i> correctly.
    Now I see to clarify the different behavior of Xe- and Lua-latex.
    If it is possible to arrange the font to work in both cases, I will report it here.
    Waiting for a Turkish typedrawser to explain to me how he works ...
  • mauro sacchetto
    mauro sacchetto Posts: 353
    edited June 2019
    So: I'm sorry I was in a hurry to attribute the malfunctions to an error in some lookup. Actually, this is not the font, but LaTeX (not Xe- or Lua-Latex, but babel vs polyglossia). This is a babel bug, which has already been properly reported to turkish.ldf maintainer. For those interested, on the contrary polyglossia works correctly