Re: ZWL, ZWNL no difference?

From: peter_constable@sil.org
Date: Thu Dec 30 1999 - 13:29:15 EST


       (I'm just posting to Unicode list since it's of general
       interest.)

       From: <unicore@unicode.org> AT Internet on 12/30/99 11:01 AM

       Received on: 12/30/99

       To: Peter Constable/IntlAdmin/WCT, <unicore@unicode.org> AT
             Internet@Ccmail
       cc:
       Subject: Re: ZWL, ZWNL no difference?


       In a message dated 12/30/99 2:36:38 PM, jenkins@apple.com
       writes:

>As an aside, on this I would absolutely insist -- that ZWL and
        ZWNL be
>at
>most an *optional* way of specifying ligation control in plain
       text, >allowing for ligation control in higher-level protocols
       without them.
>It
>would seriously undermine the technology that Apple's been
       selling for
>five
>years to make them obligatory.

       Complete agreement here.
       I have always assumed that the technology which specifies a
       default (assuming the font supplies the glyphs), whether
       obligatory for Latin or not, would remain in place.
       (I assume this system does not choke
       if a font does not contain particular ligature glyphs,
       it simply renders without ligatures at that point...?)

       The use of ZWL and ZWNL,
       just like the use of ZWJ and ZWNJ (at least in most instances)
       would be special overrides, the second for overriding
       obligatory
       ligatures (which could be used in Latin, of course),
       [though I think ZWJ would do for the ZWNL uses?
       if not, why not, perhaps I missed something earlier...]

       the first ZWL for cases where obligatory was *not* the default,
       so presumably ZWL would *not* be used for Latin?
       (It could be deprecated in such usage? ???
       The closest to prohibited that the standard allows?)

       Where it matters is that in some scripts (Old Hungarian Runes,
       Germanic Runes, Everson knows more which should be included
       here)
       the norm really is to *not* use ligatures, and use of ligatures
       would be specified *for those scripts* when needed via ZWL.

       Tables of triples X + ZWL + Y would be needed ONLY for such
       scripts, they would not be needed for Latin, and would not
       appear in Latin fonts? At least not for ligatures which were
       included in the obligatory set. I hesitate to speculate (given
       my limited knowledge) further concerning any, to me still
       hypothetical, need for ZWL for Latin.
       Though I can conceive that there might be a split between
       normally-obligatory ones and optional ones, that still could be
       handled as for Arabic script, by having global settings to
       include
       none / only obligatory / obligatory + preferred / all
       (or whatever the details of the current implementation are).

       Peter Constable wrote:

>> In other words, the burden on the font designer is exactly
       the
>> same, save for a minor detail. Thus it seems the
>> implementations required to support ZWL vs. ZWNL should be
>> fairly comparable. Some comments have suggested otherwise,
>> however; for instance, I seem to recall John Jenkins saying
>> that implementing support for ZWNL in ATSUI would be fairly
>> simple, but that he wasn't at all sure if or how support for
>> ZWL could be added. Why should there be that much
       difference?
>>

       John Jenkins responded:
>
>The complication comes in trying to make sure that fonts
       *without* the
>ZWL
>version of the tables will work correctly. This will mean
       adding ZWL to
>the
>list of characters whose display we (almost always) actively
       suppress -- >things like the directionality overrides are
       rarely mapped explicitly to >invisible glyphs in fonts, so we
       have to do this ourselves to make sure
>that
>black boxes don't litter the landscape of text that uses them.

       I understand in general that we want to avoid black boxes
       appearing (etc.), and that such can occur, more or less, when
       any character occurs in an improper context. The same would
       apply if ZWL occurred in the context of the Latin script, in my
       understanding it is simply inappropriate there.

       I'm not sure how the paragraph quoted just above would apply
       if ZWL is not needed for Latin.
       Would it be a problem for the scripts
       for which non-ligatured is the default,
       and individual ligatures are marked with ZWL?

       Not sure I understood the rest of John Jenkins's comments,
       perhaps because I am assuming the ZWL is not used for Latin?

>The more difficult part is adding a step to parse the text for
       ZWL and, if >it is present, checking the font to see if a
       particular feature allows for >the equivalent ligature to be
       formed if there is no ZWL and overriding the >user's collection
       of set features to include it.

       I do not understand what override would occur here?

       I am assuming ZWL would have a transparency property
       like Arabic vowel markings.
       If "fi" would be formed without ZWL, and if ZWL were improperly
       included, it would presumably not block ligature-formation
       (even without special facilities) because its properties would
       include
       the transparency of Arabic vowel markings,
       rather than the base-character property of ZWJ which would
       block ligaturing. No triple "f" + ZWL + "i" would be needed?

>This is similar to what we have to do in other situations.
       E.g., if a font >doesn't have a Unicode cmap, we make one and
       cache it, so that fonts will >work "properly" even if they
       haven't explicitly been updated to support the >new behavior.
       ZWL would require similar functionality on our part -- old
>fonts should continue to do the right thing without being
       formally updated >to do so.

       I think this would be the case without any special OS
       modifications,
       other than assigning ZWL the appropriate properties,
       text, transparency like Arabic vowels to all operations like
       sorting, searching, *and* ligaturization, etc.
       Since the OS already responds correctly to those properties,
       nothing more is required?
       Simply adding the properties for one character to the tables?

       Have I missed something?

       Lloyd Anderson
       Ecological Linguistics



This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:20:57 EDT