On 07/17/2002 11:48:28 AM John Hudson wrote:

>>In Graphite, character sequences get mapped into glyph sequences
one-to-one
>>via the cmap...

>Presumably, though, making ligature lookups dependent on ZWJ in Graphite
--
>as in OpenType -- relies on the ZWJ character actually being painted.

Yes, if I understand you: the font developer would create rules in the
Graphite Description Language (which get compiled into state tables) that
look for glyph sequences that would include a virtual glyph corresponding
to ZWJ. So, a sequence of glyphs gLtnSmS gZWJ gLtnSmT would be transformed
into a different sequence gLtnLigSmSSmT. The vitual glyph that was in the
initial glyph string doesn't survive and so doesn't get rasterised, but it
does have to be part of the original glyph sequence.

>One
>of the issues I am looking at with ZWJ is treatment of that character as
an
>unpainted control character in some systems and applications. If a glyph
is
>never painted, it doesn't matter how many font lookups include the glyph:
>nothing is going to happen.

In principle, it would be possible with Graphite to have a layer (in the
app, say) that converted a character sequence like < ... s, ZWJ, t ... >
into a sequence without ZWJ -- < ... s, t ... > -- and also set a feature,
and then have a font that has a glyph mapping gLtnSmS + gLtnSmT ->
gLtnLigSmSSmT that operates only if that feature is set. That would go
counter to the general philosophy of Graphite (which is like AAT and unlike
OT in this regard) which fundamentally assumes that the shaping behaviour
is entirely encapsulated in the font and not in any way dependent upon
behaviours being hard-wired into the software. This was one of the basic
design criteria in order to ensure that support for a script could be added
by building a font using tools assessible to people with less that than
C-programming skills and without requiring any re-write of software.
Something like this could perhaps be considered as a special case, though,
if it is to become conventional programming practice for applications to
suppress ZWJ from strings that it asks the system to draw.

Perhaps this represents an area that would benefit from a TR or something
from the Consortium spelling out what is considered best practice. It's the
kind of thing that really should be standardised across implementations.



- Peter


---------------------------------------------------------------------------
Peter Constable

Non-Roman Script Initiative, SIL International
7500 W. Camp Wisdom Rd., Dallas, TX 75236, USA
Tel: +1 972 708 7485
E-mail: <[EMAIL PROTECTED]>




Reply via email to