[Indic-computing-devel] Re: [Kannada] Re: Problem with freetype rendering of an Indic opentype font
Status: Alpha
Brought to you by:
jkoshy
From: Arun S. <ar...@sh...> - 2003-09-07 21:35:33
|
On Thu, Sep 04, 2003 at 10:24:10PM +0200, Werner LEMBERG wrote: > > I see a problem with the freetype rendering of this unicode string: > > > > "0xcb7 0xccd" > > > > Using Microsoft tunga.ttf (A kannada font that ships with Windows > > XP). In fact, the problem manifests itself with all other > > consonants too, including 0xcb7. > > I don't have time to investigate but it seems to me that some > contextual shaping is happening. If this is true it is not a problem > of FreeType 2 (which doesn't support OpenType directly for the moment) > but rather a problem one level higher where Indic scripts are handled, > probably within the Pango library. Owen? ok, I did some more investigation. Here's a partial dump of the font. According to this rule, glyph 0x62 should've been substituted by glyph 0xb0. But for some reason, it's not happening. Does this ring a bell ? -Arun <Lookup> <!-- 36 --> <LookupType>SINGLE</LookupType> <Subtable> <SubstFormat>2</SubstFormat> <Coverage> <CoverageFormat>2</CoverageFormat> <Glyph> 42 - 64</Glyph> <Glyph> 75 - 75</Glyph> <Glyph> 10d - 10e</Glyph> </Coverage> <GlyphCount>38</GlyphCount> <Substitute>0x90</Substitute> <!-- 0 --> <Substitute>0x91</Substitute> <!-- 1 --> <Substitute>0x92</Substitute> <!-- 2 --> <Substitute>0x93</Substitute> <!-- 3 --> <Substitute>0x94</Substitute> <!-- 4 --> <Substitute>0x95</Substitute> <!-- 5 --> <Substitute>0x96</Substitute> <!-- 6 --> <Substitute>0x97</Substitute> <!-- 7 --> <Substitute>0x98</Substitute> <!-- 8 --> <Substitute>0x99</Substitute> <!-- 9 --> <Substitute>0x9a</Substitute> <!-- 10 --> <Substitute>0x9b</Substitute> <!-- 11 --> <Substitute>0x9c</Substitute> <!-- 12 --> <Substitute>0x9d</Substitute> <!-- 13 --> <Substitute>0x9e</Substitute> <!-- 14 --> <Substitute>0x9f</Substitute> <!-- 15 --> <Substitute>0xa0</Substitute> <!-- 16 --> <Substitute>0xa1</Substitute> <!-- 17 --> <Substitute>0xa2</Substitute> <!-- 18 --> <Substitute>0xa3</Substitute> <!-- 19 --> <Substitute>0xa4</Substitute> <!-- 20 --> <Substitute>0xa5</Substitute> <!-- 21 --> <Substitute>0xa6</Substitute> <!-- 22 --> <Substitute>0xa7</Substitute> <!-- 23 --> <Substitute>0xa8</Substitute> <!-- 24 --> <Substitute>0xa9</Substitute> <!-- 25 --> <Substitute>0xaa</Substitute> <!-- 26 --> <Substitute>0xab</Substitute> <!-- 27 --> <Substitute>0xac</Substitute> <!-- 28 --> <Substitute>0xad</Substitute> <!-- 29 --> <Substitute>0xae</Substitute> <!-- 30 --> <Substitute>0xaf</Substitute> <!-- 31 --> <Substitute>0xb0</Substitute> <!-- 32 --> <Substitute>0xb1</Substitute> <!-- 33 --> <Substitute>0xb2</Substitute> <!-- 34 --> <Substitute>0xb3</Substitute> <!-- 35 --> <Substitute>0x10f</Substitute> <!-- 36 --> <Substitute>0x110</Substitute> <!-- 37 --> </Subtable> </Lookup> |