Difference between revisions of "Tibetan Unicode Test Page"

From Rangjung Yeshe Wiki - Dharma Dictionary
Jump to navigation Jump to search
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
A rough draft summary outlining current state OpenType support for Tibetan script in various OT layout engines:
+
The tests below require a Unicode enabled computer. See [[Tibetan Unicode Installation]] for more information.
  
''(I compiled this in order to try and work out whether it is practical to make a truly "Platform Independent Tibetan Unicode Font")''
+
==Web browser test==
 +
The following text is Tibetan Unicode - if your installation properly supports Unicode, the display should match the picture below:<br><br>
  
 +
<font size=6>ཨོཾ་ཨཱཿཧཱུྂ་བཛྲ་གུ་རུ་པདྨ་སིདྡྷི་ཧཱུྂ༔</font><br><br>
  
===UNISCRIBE (usp10.dll)===
+
The Unicode text above should resemble this image:
  
====Uniscribe Word 3003, 2007, Win Vista====
+
[[Image:Vajragurusample.jpg]]
  
The OpenType features Microsoft has specified for Tibetan are
+
Note that you can copy to the first mantra as text into the clipboard. By pasting the text into a Unicode aware application you can modify the text. The second mantra is simply an image and cannot be modified.
  
*ccmp  Composition Decomposition
+
Things that can go wrong are:
*blws  Below Base Substitution
+
* you don't have a Tibetan Unicode font installed - only garbage is displayed: Install a Unicode font, see[[Tibetan Fonts]].
*abvs  Above Base Substitution
+
* You see Tibetan letters, but the stacks do not display correctly and seem to be smashed - you need to install support for complex scripts as described in [[Tibetan Unicode Installation]].
*calt  Contextual Alternatives
+
* Make sure that you are using the latest Version of your Browser.
*aalt  access all alternatives
 
*blwm  Below Base Mark Positioning
 
*abvm  Above base Mark Positioning
 
*kern  Kerning
 
 
 
All but calt and kern are  features used  in Microsoft Himalaya font. Paul Nelson (Microsoft) says calt &  kern are also supported by Word 2003 sp2, Word 2007 & Windows Vista versions of Uniscribe. (I've used these two features in Jomolhari and they work with Uniscribe)
 
 
 
These versions of Uniscribe also do some re-ordering (pre-processing) of Tibetan marks. (need to get specific details of this re-ordering)
 
 
 
[Do features which the OT spec says "applies to all scripts" or "script sensitivity: none" *and* "should be on by default" work too?]
 
 
 
====Uniscribe Win XP====
 
According to Sergey Malkin [Microsoft] Uniscribe shipped with XP SP2 had no specific support for Tibetan but applied "generic" features to Tibetan including
 
*locl Localized Forms
 
*ccmp Composition / Decomposition
 
*liga Standard Ligatures
 
*calt Contextual Alternatives
 
*mark Mark Positioning
 
*"etc." - [probably rlig, mkmk, kern as well]
 
 
 
There was no script-specific logic for Tibetan in XP Uniscribe
 
 
 
<http://www.microsoft.com/typography/otfntdev/tibetot/features.htm>
 
lists only ccmp, blws, abvs, blwm, and kern - but that document is unfinished and appears not to have been updated since March 2002
 
 
 
===PANGO===
 
(Used in Gnome desktop, Inkscape, Mozilla etc. on Linux)
 
 
<http://svn.gnome.org/viewcvs/pango/trunk/modules/tibetan/tibetan-fc.c?view=markup&pathrev=2307>
 
Pango  2007-05-15
 
 
 
*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
 
 
 
Previous to this revision ccmp,locl, calt, kern, mark, mkmk were not supported
 
lack of ccmp support was a big problem.
 
 
 
[psts & dist seem redundant for Tibetan script - and not used in any fonts. Seem to be leftovers from Khmer shaping engine on which Tibetan shaping was based]
 
 
 
if aalt is added then all features supported by Uniscribe would be in Pango.
 
 
 
mark and mkmk not necessary as functionality covered by blwm & abvm -
 
 
 
mark and mkmk also not used in any Tibetan fonts
 
 
 
 
 
===QT===
 
Used in KDE desktop and applications
 
 
 
<http://websvn.kde.org/trunk/qt-copy/src/gui/text/qscriptengine.cpp?revision=700774&view=markup>
 
As far as I can make out for Tibetan QT (KDE) supports only
 
 
 
*ccmp
 
*blws
 
*abvs
 
 
 
No GPOS features
 
 
 
(Enough features for a minimal Tibetan font but needs support of positioning features for good shaping)
 
 
 
===ICU===
 
<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
 
 
 
? no kern, calt, aalt
 
 
 
seems to have redundant features (blwf psts dist pref) left over from Khmer shaping engine - not needed for Tibetan
 
 
 
===ICU4J===
 
??? Don't know
 
 
 
===COOLTYPE===
 
 
 
(Adobe's own cross platform OT Shaping Engine - used in CS3)
 
 
 
According to <http://www.typotheque.com/fonts/opentype_feature_support/>
 
 
 
Adobe InDesign CS3  supports:
 
*ccmp  Composition / Decomposition 
 
*liga  Standard Ligatures
 
*rlig  Required ligatures 
 
*mark  Mark Positioning 
 
*mkmk  Mark to Mark Positioning
 
 
 
(I've only included those features that may be usable for normal Tibetan shaping here) While there is no specific support for Tibetan I'm assuming that these generic features probably do get applied to Tibetan (need to test to confirm this)as people from Adobe have told me "generic features should work"
 
 
 
There may be proper support (matching Microsoft's feature set) for Tibetan in CS4.
 
 
 
Meliell supports same features as Indesign CS3 - a Tibetan font which worked with Cooltype might also work with Meliell.
 
 
 
===Apple===
 
 
 
====OSX 1.4.8====
 
According to
 
<http://rywiki.tsadra.org/index.php/Platform_Independent_Tibetan_Unicode_Font>
 
Mac OSX 10.4.9 supports rlig and to get a Tibetan font to work - ligature lookups (normally under ccmp or blws) should be duplicated under rlig.
 
 
 
That would be enough *only* in fonts that had complete ligatures for all the stacks you want to support. You'd still need something like calt as well to contextually substitute vowel forms. (This may work - I haven't tried it yet) 
 
 
 
====OSX 1.5====
 
 
 
Peter Lofting [Apple] said that OpenType support in Leopard does no pre-processing for Tibetan and suggested that features that work in Adobe apps should work under Leopard and...
 
 
 
''"To clarify OT support further: there is complete GSUB and GPOS support except for contextual alternate lookups. Simple substitutions - such as those required for Tibetan stacking, are fully supported.''
 
 
 
''The main issue you face is the absence of Unicode pre-processing, so you need to know what pre-processing Windows does to Tibetan and add the equivalent in the form of GSUB actions."''
 
 
 
When I asked him about support for specific OT features used for Tibetan Peter said he didn't have time to look into this until after Leopard release. So I'm still unclear as to what ''exactly'' he means by "complete GSUB and GPOS support"
 
 
 
===Notes===
 
 
 
Lookups under one feature can often be moved to another feature (or reduplicated under another feature) - provided that feature supports the same type of lookup and the lookup gets processed in the proper sequence.
 
 
 
Decomposition is a bit of a problem as ccmp is about the only feature that seems to
 
support one to many (decomposition) GSUB lookups. This mainly effects pre-composed vowels (U+0F73, 
 
 
Stacks can be composed using ccmp, blws, rlig, liga ...
 
 
 
Contextual vowel forms can be shaped using features that support contextual substitution (blws, abvs, calt) - provided you have enough contextual forms  you can get away without positioning lookups. Though positioning, character spacing might be less than ideal
 
 
 
Features supported by up-to-date versions of Uniscribe, Pango & ICU are fairly consistent.
 
 
 
Supporting XP Uniscribe would require moving formation of all stack ligatures to
 
ccmp and reduplicating vowel substitutions under calt
 
(this would cause problems with all but latest versions of Pango & ICU - since older versions lacked ccmp support)
 
 
 
Supporting Apple OSX may require reduplicating ligature lookups under rlig and possibly using calt for vowel substitution.
 
 
 
For list of individual OT features and lookup types supported under each see:
 
<http://www.microsoft.com/typography/otspec/featuretags.htm>
 
 
 
[[User:Cfynn|Chris]] 12:23, 7 September 2007 (EDT)
 

Latest revision as of 11:05, 10 June 2009

The tests below require a Unicode enabled computer. See Tibetan Unicode Installation for more information.

Web browser test[edit]

The following text is Tibetan Unicode - if your installation properly supports Unicode, the display should match the picture below:

ཨོཾ་ཨཱཿཧཱུྂ་བཛྲ་གུ་རུ་པདྨ་སིདྡྷི་ཧཱུྂ༔

The Unicode text above should resemble this image:

Vajragurusample.jpg

Note that you can copy to the first mantra as text into the clipboard. By pasting the text into a Unicode aware application you can modify the text. The second mantra is simply an image and cannot be modified.

Things that can go wrong are:

  • you don't have a Tibetan Unicode font installed - only garbage is displayed: Install a Unicode font, seeTibetan Fonts.
  • You see Tibetan letters, but the stacks do not display correctly and seem to be smashed - you need to install support for complex scripts as described in Tibetan Unicode Installation.
  • Make sure that you are using the latest Version of your Browser.