Cargo Cult Coding?

André G. Isaak
André G. Isaak Posts: 634
edited January 2019 in Font Technology
I noticed that many Adobe Std fonts include localized code for Turkish. For example, we find the following 'liga' feature in Optima Std Roman (as interpreted by FL5):

<div>feature liga { # Standard Ligatures
  script latn; # Latin
</div><div>    lookup liga4 {
</div><div>&nbsp; &nbsp;   sub f i by fi;
</div><div>    } liga4;
</div><div>    lookup liga5 {
</div><div>&nbsp; &nbsp;   sub f l by fl;
</div><div>    } liga5;
</div><div>&nbsp;language TUR &nbsp;exclude_dflt; # INVALID LANGUAGE TAG 'TUR' - use 'TRK' instead
</div><div>    lookup liga5;
</div><div>} liga;</div>
Considering the fact that Std fonts from Adobe don’t actually include Idotaccent, Gbreve, gbreve, Scedilla, or scedilla (i.e. characters needed to support Turkish), is there any actual *benefit* to including this localization? Or is this simply someone blindly adding this because they’ve seen it done elsewhere?

Comments

  • Theunis de Jong
    Theunis de Jong Posts: 112
    edited January 2019
    Do you have a date for those fonts? The "Std" set of fonts were a plain and largely unchanged replacement for the original Type 1 fonts, in the (then) swanky new OpenType format.

    Adobe's OpenType Development Kit Changes notes "changed wrong language tag TUR to TRK" somewhere before 24 September, 2003. (https://www.adobe.com/content/dam/acom/en/devnet/opentype/afdko/FDKReleaseNotes.txt)
  • It looks like this is from 2002.
  • I don’t have a more recent version of the Adobe font, but I installed the 2015 Linotype Version of Optima LT Std from my Monotype subscription and it has similar code, but with updated language tags. Again, though, the character set does not support Turkish.

    feature liga { # Standard Ligatures
     script latn; # Latin
    lookup liga3 {
        sub f i by fi;
    } liga3;
    lookup liga4 {
        sub f l by fl;
    } liga4;
     language TRK  exclude_dflt; # Turkish
    lookup liga4;
    } liga;
  • Nick Shinn
    Nick Shinn Posts: 2,216
    Besides which, Optima was designed without f ligatures…
  • That's true, but the fi and fl ligature characters are part of the basic Adobe character sets, so all their fonts get those Unicode slots filled, even if it is with a glyph that is basically an f + an i. (Not necessarily accessed with a 'liga' feature.)

    The old Type 1 version had those characters, so the OpenType version gets them as well.
  • Just to clarify my question, I was curious about the motivation behind including this Turkish localization. Had I seen this in some amateur font I might assume the code had simply been copied from elsewhere, but since Adobe is actively involved in developing the OpenType spec, I assume this wouldn’t be the case here, and that there must have been some rationale behind including this. Problem is I can’t figure out what that rationale might be. Obviously this localization does no actual harm, but its purpose is a bit of a mystery.
  • notdef
    notdef Posts: 168
    Looks very much like STD is an automated subset of PRO, no?
  • Ahh... That could explain it.
  • Adobe had a lot of complicated automation involved in cranking out their converted library. Still does. So, it could be an accidental thing.

    But it could also be deliberate. I do not recall being involved in any decision on this, but it wouldn't have necessarily had my input. Or I may just have forgotten as it was over 15 years ago.

    So, why do this deliberately? Well, people sometimes set Turkish (and other languages) even with fonts that do not fully support them, as long as they support the script. Having a few things work better in such cases is not a bad thing.

    Seeing as a failed distinction between the dotted and dotless i in digital fonts has resulted in at least one fatality, that makes it seem like a good idea to me.  https://www.theinquirer.net/inquirer/news/1017243/cellphone-localisation-glitch (I talked about this case in a presentation at Typo Berlin in 2008, possibly with a better link at the time.)