I tested the latest code in the branch ComplexScripts with a font
called Lohit-Devanagari, version 2.4.5, copyright Red Hat, license
GPLv2, file lohit_hi.ttf, Debian package ttf-devanagari-fonts.
Fontforge shows that the font has 2 GPOS tables and a large number of
GSUB tables.

I was not successful. The result showed for the first word first the
vocal R, before the left margin, then within the margin Pa, then
Virama, then Tha, Va, II. I tried to get more info. These are some
observations:

MultiByteFont.performPositioning returns null, because
GlyphPositioningTable.position returns false, because
GlyphPositioningTable has no matching lookups; <deva, NEP, abvm> and
<deva, NEP, blwm> are defined, <dev2, dflt, *> is requested.

MultiByteFont.performSubstitution returns the unmodified CharSequence
because GlyphSubstitutionTable has no matching lookups; <deva, dflt,
''> and <deva, dflt, XXX> are defined, where XXX takes on many values,
e.g. abvs, akhn, blwf, blws, half, etc.; <dev2, dflt, *> is requested.

GlyphDefinitionTable.reorderCombiningMarks reorders the glyphlist from
[90, 115, 85, 125, 101, 112] to [115, 90, 125, 85, 101, 112] (glyphs 2
and 4 are typed as combining marks). In
MultiByteFont.reorderCombiningMarks this leads to a reordered
CharSequence, from [92A, 943, 925, 94D, 935, 940] to [943, 92A, 94D,
925, 935, 940]. The result in the pdf file as described above reflects
this reordering. Eclipse renders the original CharSequence as पृथ्वी,
which is the expected outcome, and the reordered one as ृप्थवी, which
is not expected. So the reordering seems counterproductive.

I hope this is useful.

Simon

Reply via email to