Re: ZWJ and Turkish

At 12:13 10/10/2001, Roozbeh Pournader wrote:

>I was wondering how should a standard compliant engine render
>
>         <span lang="tr">f&zwj;i</span>
>
>in a font that has the 'fi' ligature:
>
>1) What do you mean? It is Turkish! "fi" should never be ligated in
>Turkish...
>
>2) But can't you see the ZWJ? I'm explicitly asking for the ligature. I
>need it!

I think the ZWL should override the Turkish ligature exception, since the 
purpose of the ZWJ is to force joining even in cicrumstances in which one 
would not otherwise expect it. That said, this really is a font issue. Yes, 
you have a generalised rule that says 'No fi or ffi ligatures in Turkish' 
(to which should be added a few other Turkic languages), but this is due 
entirely to a design tendency of most fi and ffi ligatures to replace the 
dot of the i with the overhang of the f, thereby creating ambiguities in 
languages that use both dotted and dotless i. Now, I can provide a long 
list of typefaces in which the dot of the i is not removed in ligatures. 
Almost all of the typefaces originally designed for Linotype hot metal 
casters had 'buttonhook' f designs with no overhang (an artifact of 
Linotype's non-kerning f technical limitation), and most of these fonts 
have ligatures in which the dot of the i remains. I have even seen one 
script (calligraphic) typeface that contains variant ligature forms, some 
with dots on the i and some without, which suggests the possibility of 
controlling which ligatures are used where in Turkish text.

This is also a font issue because inserting ZWJ between f and i in most 
fonts with automated ligature forming features will actually inhibit the 
ligature, since none of these fonts, to my knowledge, contain the ZWJ 
character or glyph substitution lookups to handle it. Personally, I am 
planning to add ZWJ and ZWNJ to some of my new fonts because I market to 
academic publishers and the one place in which ZWJ/ZWNJ might be used in 
Latin text is for paleaographic studies. In OpenType terms, I am considering:

         Required Ligatures <rlig> feature:      f+ZWJ+i = fi ligature
         Standard Ligatures <liga> feature:      f+i = fi ligature

The nice thing about the ZWNJ is that I do not need to include lookups for 
it: it automatically breaks ligatures just by existing in the text string!

John Hudson

Tiro Typeworks          www.tiro.com
Vancouver, BC           tiro@tiro.com

Type is something that you can pick up and hold in your hand.
                                                   - Harry Carter

Received on Wednesday, 10 October 2001 20:37:31 UTC