Otf language tags

mauro sacchetto
mauro sacchetto Posts: 353
edited May 2020 in Font Technology
In reference to this discussion:
I solved almost all the problems, but one thing still remains obscure to me.
The difficulty is twofold, since it involves on the one hand creating the correct lookups for the font, on the other hand making sure that the text code applies them in turn correctly.
Now, (Lua)LaTeX with Fontspec and Babel allows you to choose among several options: 1) monotonic modern Greek, 2) polytonic modern Greek, 3) ancient greek (polytonic). In this case the code I use is the following:
<div>\usepackage[italian]{babel}
</div><div>\babelprovide[import]{ancientgreek}</div><div>
\babelprovide[import]{polytonicgreek}</div><div>
\babelprovide[import]{greek}</div><div></div>
But I should set up appropriate scripts in the font. Now, also by consulting for example this list:
https://docs.microsoft.com/en-us/typography/opentype/spec/languagetags
I can't find specific tags related to ancient Greek.
I tried using the GRC and GRK specifications (in addition to PGR), which however do not seem to be correct otf tags.
In fact, a verification of the font tells me:
<div>otfinfo -s SimonciniGaramondPro.otf</div><div>
DFLT Default</div><div>
grek Greek</div><div>
grek.GRC Greek / <unknown language>   <=======</div><div>
grek.GRK Greek / <unknown language>   <=======</div><div>
grek.PGR Greek / Polytonic Greek</div><div>
latn Latin</div><div>
latn.AZE Latin / Azeri</div><div>
latn.CRT Latin / Crimean Tatar</div><div>
latn.DEU Latin / German</div><div>
latn.FRA Latin / French</div><div>
latn.ITA Latin / Italian</div><div>
latn.MOL Latin / Moldavian</div><div>
latn.ROM Latin / Romanian</div><div>
latn.TRK Latin / Turkish.</div><div></div>
Now, is there any way out? Can't 'locl' lookups have Greek as their language and 'ancient' as specification?
What are the linguistic alternatives allowed?

Comments

  • John Hudson
    John Hudson Posts: 3,191
    edited May 2020
    As originally conceived, the OTL ‘language system’ tags were intended to capture typographic conventions associated with writing systems within particular locales. So, for example, one might have had a set of layout features and lookups for the Greek script associated with German or French language system tags to capture the conventions of scholarly typography of Greek in those countries (e.g. regarding use of different form of lowercase beta).

    Obviously, this use of the tags has not really come to fruition, and instead there are more or less unreliable attempts to map the OTL language system tags to document language tagging, often via the same mechanisms used to specify spelling and hyphenation dictionaries.

    The OTL language system tags for Greek are:
    Greek	'ELL '
    Polytonic Greek	'PGR '
    Whether those language system tags and associated features are accurately mapped from document language tagging in specific environments has to be tested on a case-by-case basis.
  • mauro sacchetto
    mauro sacchetto Posts: 353
    edited May 2020
    Although this forum is not dedicated to LaTeX, I think font designers can be interested in whether and how the features they implement can then be realized by the various writing tools.
    In the specific case, the solution with (Lua) Latex is the following:

    <div>\Documentclass
    
    </div><div>\usepackage{fontspec}
    
    </div><div>\usepackage[italian]{babel}
    
    </div><div>\babelprovide[import]{polytonicgreek}
    
    </div><div>\babelprovide[import,language=PolytonicGreek]{ancientgreek}
    
    </div><div>\babelprovide[import]{greek}</div><div><br></div><div>\babelfont{rm}[Numbersb={Proportional,bOldStyle},RawFeature=+calt]{SimonciniGaramondPro}
    
    </div><div>\babelfont[ancientgreek]{rm}{SimonciniGaramondPro}
    
    </div><div>\babelfont[polytonicgreek]{rm}{SimonciniGaramondPro}
    
    </div><div>\babelfont[greek]{rm}{SimonciniGaramondPro}</div>
    This combines respect for the glyphs (in Greek, if there are differences between monotonic and polytonic diacritics) and the loading of the correct hyphenation patterns (in the case of Greek, ancient and modern)