GNOME Bugzilla – Bug 414264
Pango vertical writing support is different with real CJK usage.
Last modified: 2007-05-14 07:21:53 UTC
Please describe the problem: I've patched gstreamer pango text overlay element that support vertical rendering (bug 340887), and your work was very helpful. Thank you. But, I found that pango vertical writing support is different with real CJK usage. I made sample code and compared with http://en.wikipedia.org/wiki/Horizontal_and_vertical_writing_in_East_Asian_scripts Some symbol such as dot, brace, bracket, parenthesis, hyphen, vertical line(|), tilda, etc must be rotated in CJK scripting. Steps to reproduce: 1. 2. 3. Actual results: Expected results: Does this happen every time? Other information:
Created attachment 83818 [details] vertical writing test code
Created attachment 83820 [details] output file of attachment:83818 Compare with http://en.wikipedia.org/wiki/Image:Tateyoko.png
Thanks. I'm aware of this problem and am working on it. It will hopefully be fixed in a future 1.16.x version. But also note that this needs support from the font too.
*** Bug 436891 has been marked as a duplicate of this bug. ***
2007-05-14 Behdad Esfahbod <behdad@gnome.org> Part of Bug 414264 – Pango vertical writing support is different with real CJK usage. * pango-view/test-mixed.txt: Add a line of Japanese text that has brackets that should be rotated in vertical text.
2007-05-14 Behdad Esfahbod <behdad@gnome.org> Part of Bug 325714 – Pango should respect $LANGUAGE Bug 414264 – Pango vertical writing support is different with real CJK usage. * modules/arabic/arabic-fc.c (arabic_engine_shape): * modules/basic/basic-fc.c (basic_engine_shape): * modules/syriac/syriac-fc.c (syriac_engine_shape): Remove fallback_shape() paths. Remove get_ruleset(). Use pango_ot_ruleset_get_for(), that correctly works for multiple languages. Also makes basic shaper apply the 'vert' feature for vertical text. Removes a net 500 lines. Other OpenType modules need to be ported over time, however some extensions may be needed. For example, the Hebrew shaper uses fallback code if no GPOS tables are available. Currently using pango_ot_ruleset_get_for() one cannot see which features were found. Will be in 1.17.x and 1.18.0. No 1.16.x unfortunately as fixing it required some major changes in the OpenType code. (though a simple 1.16.x fix is not impossible)