Bug 149689 - Feature Request: add support for blwm, abvm, calt, kern to Tibetan shaping in KDE/Qt
Summary: Feature Request: add support for blwm, abvm, calt, kern to Tibetan shaping in...
Status: RESOLVED INTENTIONAL
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: qt (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR wishlist
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-09 08:37 UTC by Chris Fynn
Modified: 2008-08-18 01:39 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Fynn 2007-09-09 08:37:14 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources

KDE/Qt currently only seem to support the following 3 OpenType features for Tibetan script:

ccmp Composition / Decomposition
blws  Below Base Substitution
abvs  Above Base Substitution
(see: <http://websvn.kde.org/trunk/qt-copy/src/gui/text/qscriptengine.cpp?revision=700774&view=markup>

Ms Windows Uniscribe (USP.10) supports the following OpenType features:
ccmp  Composition Decomposition
blws  Below Base Substitution
abvs  Above Base Substitution
calt  Contextual Alternatives
aalt  access all alternatives
blwm  Below Base Mark Positioning
abvm  Above base Mark Positioning
kern  Kerning 

These features are applied in the order listed above.

(All but calt and kern features are used in Microsoft's Himalaya font shipped with Win Vista. 
Both calt and kern are used in OFL'd Jomolhari Font and these features work with Uniscribe.)

Pango now supports the following features for Tibetan:
ccmp Composition / Decomposition
locl Localized Forms
blws  Below Base Substitution
abvs  Above Base Substitution
psts  Post-base Substitutions
clig  Contextual Ligatures
calt  Contextual Alternative
dist  Distances
blwm  Below Base Mark Positioning
abvm  Above Base Mark Positioning
kern  Kerning Positioning
mark  Mark to base positioning
mkmk  Mark to mark Positioning

(see: <http://svn.gnome.org/viewcvs/pango/trunk/modules/tibetan/tibetan-fc.c?view=markup&pathrev=2307>)

ICU & OpenOffice.org support the following set of OpenType features for Tibetan 
<http://source.icu-project.org/repos/icu/icu/trunk/source/layout/TibetanReordering.cpp>
has the following OT features defined for Tibetan script

ccmp Composition / Decomposition
blwf Below-base Forms
pres Pre-base Substitutions
blws Below Base Substitutions
abvs Above Base Substitutions
psts Post-base Substitutions
blwm Below Base Mark Positioning
abvm Above Base Mark Positioning
dist Distance
pref Pre-base Forms
abvf Above base forms
clig Contextual Ligatures
mkmk Mark to mark positoning / attachment

(see: <http://source.icu-project.org/repos/icu/icu/trunk/source/layout/TibetanReordering.cpp> )
===================================================
psts, pref, abvf, blwf and dist are probably redundant for Tibetan and they are not being used in any Tibetan fonts.

While it is possible to make a Tibetan font that renders OK using only the GSUB features ccmp blws and abvs, some Tibetan fonts (e.g. Tib-US distributed by Radio Free Asia) rely heavily on the GPOS lookups blwm and abvm. Others e.g. Jomolhari use calt kern and kern to get ideal final shapes and positioning (The font renders legibly if these features fail be applied - but you get a less than ideal rendering.)

Since Dzongkha l10n of KDE is now very actively taking place it would be   
nice to have support for these additional GPOS features added. 


- Chris Fynn
(developer of Jomolhari & Tibetan Machine Uni fonts)
Comment 1 Marek Laane 2007-09-10 01:03:32 UTC
I'm quite sure product "i18n" is not very right place to ask it - as far as I remember Qt itself deals with OT fonts, so you should probably reassign the bug report to the product "kdelibs" and component "qt".
Comment 2 Marek Laane 2007-10-03 00:45:48 UTC
As far as I can see from other bug reports in component "qt" there is suggestion to report them directly to Trolltech (i.e. Qt developers). You can do it at http://trolltech.com/developer/bugreport-form 
Searching their task-tracker it seems Qt4 will be much better in handling OpenType...
Comment 3 Dirk Mueller 2008-08-18 01:39:29 UTC
please report this directly to qt-bugs@trolltech.com