Support for polytonic Greek

Most fonts that include Greek glyphs simply contain them and contain, if they support polythonic Greek, all glyphs with diacritics as well. So, for example, a capital letter eta with the signed iota remains such.
In some fonts, however, things are different. For example, in the Garamond Premiere the approach is totally different. The uppercase eta with signed iota is present in its slot (uni1FCC) as uppercase eta + lowercase iota. Then, there is a system that involves other glyphs (always using the same example, the capital age with the authentic signed iota) and a rather complex mechanism of substitutions.
Now, what is the advantage of this second type of approach, which is also absent in most fonts from Adobe itself?


  • John HudsonJohn Hudson Posts: 2,863
    Historically, there are two conventions for writing the iota sign with an uppercase letter: with a subscript iota (ypogegrammeni) and with a postscript iota (prosgegrammeni). In modern Greek publishing of polytonic, I understand that the subscript iota is preferred, and this conforms with the Orthodox religious publishing convention, which derives from Byzantine practice. Outside of Greece, though, the postscript iota sign has a long tradition of use in scholarly publishing.

    Some typefaces, like Garamond Premiere Pro and my own Brill types provide for both conventions. Which form is treated as default will depend on the primary user community for whom the fonts are intended. In the case of the Brill types, this is academic publishing, mostly outside of Greece, so the postscript iota sign convention is the default.

  • Nick ShinnNick Shinn Posts: 2,098
    edited April 2020

    The substitution is actually quite straightforward (compared to Greek small caps, for instance), although it does comprise a lot of characters.
    Here’s how I did it in FontLab a few years ago.
    Because the alternates have the same Unicode values, whichever you chose as alternate should be suffixed something like <.alt> 
    In that sense, it’s rather like having stylistic alternates for /a or /g in Latin.

  • mauro sacchettomauro sacchetto Posts: 353
    edited April 2020
    @JohnHudson Your answer is very clear; I understand that the "dual" system is the most complete. Which of your fonts can I refer to, to study the lookups you have adopted? Thank you

    @NickShinn Yes, I realized that the unicode value is the same. GaramondPremiere uses the


    Since I don't need modern Greek as much as I do polytonic, in reality the small capital letter doesn't seem to be adopted in the quotations of ancient texts
  • John HudsonJohn Hudson Posts: 2,863
    I don't have any Greek fonts with available access to sources. You can download the compiled Brill types and use them free of charge for non-commercial purposes here.
  • edited April 2020
    One should note that there is a difference between two versions of the iota adscript, both of which are in use.
    Version 1: It's simply a second letter: Ὧι
    Version 2: It's part of the same glyph, so some fonts will render ᾯ with a iota adscript.
    It's possible to leave out the substitutions and still have the font be usable, of course. The question, I suppose, arises as to whether or not you want to make it easy to switch conventions with an OpenType feature.
  • I saw the Brill types. They contain a lot of lookup!. So I'm rather confused: is it enough to set a Stylistic Set lookup with the variant forms, or is it necessary to integrate it with substitutions rules entrusted to other lookups?
  • mauro sacchettomauro sacchetto Posts: 353
    edited April 2020
    Thanks for the report, very useful for drawing the glyphs.
    In that tutorial it is specified:
    Polytonic Greek doesn't have extra OpenType features compared with a monotonic Greek font. Apart from when we want the font to deal with the subscript to adscript transformation for the uppercase and when the font has the option of accented small caps. The most common way to deal with both issues is to introduce stylistic set features that the necessary rules will apply.
    For this I had asked above if, in addition to creating a Stylistic Set, replacement rules are also needed, or if you just need to activate the feature (ss01).
  • John HudsonJohn Hudson Posts: 2,863
    There are a few complicating aspects:

    1. The modern convention for all-caps settings is that all marks except the dialytika (diaeresis) are suppressed. This is a fairly recent convention related to the practice, standardised only in the 19th Century, of writing other marks to the left of the uppercase letters instead of above (or to the right!). This suppression is further complicated by contextual rules around conversion of the oxia/tonos mark on one letter to a dialytika on the next letter when displaying in all-caps, so e.g. εί > ΕΙ but έι > ΕΪ.

    2. The varying historical conventions regarding suppression or display of marks on all-caps (and on smallcaps) can be handled via a stylistic set substitution or, as in the case of the Brill types, by enabling/disabling the Contextual Alternate ‘calt’ feature (I might change to a stylistic set feature in future, as this is a bit more robust). The contextual rule described above needs to be implemented in whatever feature is handling mark supporession.

    3. Adobe Acrobat has a mechanism to parse glyph names in PDFs distilled from print streams, and to use these names to reconstruct the underlying character strings of text which are lost when PDFs are created in this way. When making fonts for clients, I always ask them whether they want this mechanism to be supported, because it can require duplicate glyphs in the font under different names, e.g. /A.c2sc/ and /a.smcp/ identical smallcap glyphs, one mapping back to the uppercase character and one to the lowercase. Brill opted to support the mechanism, which requires addition of a very large number of identical glyphs for uppercase or smallcap glyphs representing diacritic characters with marks suppressed.
  • What you say in point 3 is known to me. I too, for the Latin glyphs, created .a glyphs for the c2sc lookup and .sc glyphs for the smcp lookup

    One aspect of point 1 is unclear to me. How do you switch from upper case to lower case if necessary?
  • John HudsonJohn Hudson Posts: 2,863
    One aspect of point 1 is unclear to me. How do you switch from upper case to lower case if necessary?
    Any case conversion is properly handled at the character level, not by the font, so what the font needs to be able to handle is the outcomes of the case conversion. So, in the examples I gave, case conversion of smallcaps to all-caps would produce text with uppercase diacritics (w/ accents and breathings), which the font may then suppress at the glyph level.

  • Thanks a lot for the suggestions. Now I try to practice ...
  • mauro sacchettomauro sacchetto Posts: 353
    edited May 2020
Sign In or Register to comment.