PangoF2 in win32 not applying GSUB.



Hello,

I have been debugging this issue for the last few days and found that 
when using pango (pango-1.26.2) with ft2 backend, GSUBs are not being applied (in telugu using lohit_telugu font). I traced this to harfbuzz. When I use an older version of pango (pango-1.12.4) where harfbuzz is not being used, gsub works without any issues. I saw a similar issue mentioned for Arabic font where pango-cairo was working and pango-ft2 was not. 

http://www.mail-archive.com/gtk-i18n-list gnome org/msg01565.html

I tried with cairo backend and it worked since cairo was using Uniscribe. When I forced cairo to use FT2 backend, I got back the same results of gsub not being applied.

pango-1.26.2 works without any issues in linux so I compared the two using gdb and I noticed that in win32,in function indic_engine_shape, ruleset->rules->len was returning 0, but in linux it was returning valid value of 7. I traced this in hb_ot_layout_table_find_script and found that find_script_index was returning error for telugu script. You can reproduce this with the attached source file. You will notice that when using pango-1.12.4 you will get one glyph (correct) but when using pango-1.26.2 you will get two glyphs.

I am using MinGW and Msys to compile just pango, I am using binary packages from GTK site for other packages. I am using the following command for compiling.

g++ gTestPango.cpp `pkg-config.exe pangoft2 --cflags --libs`
./a.exe > all.txt

gcc gtestcairo.c `pkg-config.exe pangocairo --cflags --libs`
./a.exe test.png

This is the command I am using for compiling pango.
./configure --with-included-modules --prefix=/mingw
make
make install

Warm Regds,
Ravi Kiran.


      

Attachment: gtestcairo.c
Description: Binary data

Attachment: gTestPango.cpp
Description: Binary data



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