freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Devel] Opentype feature setting for Devanagari


From: Vinod Kumar
Subject: [Devel] Opentype feature setting for Devanagari
Date: Fri, 7 Nov 2003 13:17:55 +0530 (IST)

Consider the Devanagari Unicode sequence
Ka     Virama Ssa    Nukta
U915   U94d   U937   U93c

In our Opentype font JanaHindi.ttf, there are two tables relevant for 
this example.

1) Akhnd Table   under the AKHN flag
    KaGlyph     ViramaGlyph SsaGlyph  -> KSsaGlyph 

2) Nukta table  under NUKT flag
    KSsaGlyph NuktaGlyph  -> KSsaNuktaGlyph

The Nukta table comes after the Akhnd table in the looks up sequence.

a)  Under Volt, the Visual opentype editing tool from Microsoft, the Feature
    settings and shaping for the input sequence are:
    
    
    KaGlyph      ViramaGlyph   SsaGlyph             NuktaGlyph
    AKHN         AKHN          AKHN | NUKT          NUKT
    |_____________|______________|                   |
                  |                                  |
                  V                                  |
                KSsaGlyph                            |
                NUKT                                 |
                  |__________________________________|
                                   |
                                   V
                             KSsaNuktaGlyph
    
b)  Under FreeType 1.4 the Feature settings are on different glyphs.
    
    The sequence is shaped in FreeType 1.4 showing the likely intermediate
    steps

    KaGlyph      ViramaGlyph   SsaGlyph             NuktaGlyph
    AKHN | NUKT                                         
    |_____________|______________|                   |
                  |                                  |
                  V                                  |
                KSsaGlyph                            |
                NUKT                                 |
                  |__________________________________|
                                   |
                                   V
                             KSsaNuktaGlyph
    
Notice two differences between Volt and Freetype 1.4. Volt requires
the Feature Flag to be set for all glyphs to be substituted from
a table under that Feature. But Freetype requires the Feature flag
to be set only for the first glyph.  

The second difference is that, under Volt, a derived left glyph
(KSsaGlyph) will inherit the Feature flag (NUKT) from its rightmost
source glyph (SsaGlyph). Under Freetype 1.4, the feature is inherited
from the leftmost source glyph (KaGlyph). Probably, the second difference
is a consequence of the first one.

>From our experience with the IndiX project, we find that the
FreeType practice of setting the Feature flag for the first glyph
is simpler and works as well as the Volt method. But the need
to propogate the Feature flag back to the first glyph of the
preceeding glyph cluster complicates the processing. Can Freetype
allow inheritance of feature flag from the rightmost source
glyph to the derived glyph please? 

Vinod Kumar
Project IndiX




reply via email to

[Prev in Thread] Current Thread [Next in Thread]