[XeTeX] Add Tibe-tan typesetting ability

Sonam sonamm at sohu.com
Mon Dec 3 19:33:05 CET 2007

From: Jonathan Kew <jonathan_kew at sil.org>
Subject: Re: [XeTeX] Add Tibe-tan typesetting ability
To: Unicode-based TeX for Mac OS X and other platforms <xetex at tug.org>

Sorry for the reply delay, I don't have convenient Internet access.

On 26 Nov 2007 12:53:43, Jonathan Kew wrote:

> So I guess all the combinations of stacked consonants, vowels, etc.,  
> are represented using Private Use codes, or something like that? Yes,  
> this should work, though it's not the standard Unicode representation  
> of Tibetan, so the data will not be interoperable with Unicode-based  
> systems.

    Not Private Use codes, it just use the codes of CJK chars.

> For inserting glue, you might be able to use TeX macro programming or  
> the new (XeTeX 0.997) inter-character token insertion feature, in the  
> same way as the jspacing and zhspacing packages for Japanese and  
> Chinese. This could remove the need for a preprocessor, which would  
> simplify your workflow.

    The current preprocessor is written in C++, it can support several Tibe-tan encoding used in mainland China now adays. It reads an RTF file then inserts proper glue and \nobreak macros between Tibe-tan chars to prevent TeX from breaking line in a word or before punctuations.

    I'll try to look at zhspacing to learn how to do this without preprocessor, although I don't know a lot about TeX macro programming.

> > The preprocessor+XeTeX can typesetting Tibe-tan scripts very well  
> > except one Tibe-tan punctuation, which should be changed to a  
> > different punctuation if it is after the first word in a line.
> I'm curious about this; I wasn't aware of this feature of Tibetan.  
> Could you give details of the character involved, and perhaps even  
> examples of the proper appearance in different contexts?

    The punctuation is U+0F0D(SHad) and U+0F0E(double SHad), which should be changed to U+0F11(RIN CHEN SPUNGS SHAD) or double Rin CHen sPungs SHad, if the following holds:

    * It is after the first word of a line, while the word has just one or two stacks

    I'd like to send you a example PDF file in the accessory.

> > My question is:
> >
> > 1. should I add a locale and LayoutEngine to ICU or should I change  
> > texk/web2c/xetexdir/XeTeXLayoutEngine.* to add this ability to XeTeX?
> I'm not sure what the best approach might be, at least until I have a  
> clearer understanding of the problem. If there is a need to treat the  
> first word in a line specially, I don't think this can be done just  
> at the layout-engine level, because the layout engine deals with each  
> word in isolation, and is not aware of its position on the line.

    After reading the example, please give me some idea on what is the proper way to add this function.

> > 2. how is the XeTeX's support to the Unicode way of typesetting the  
> > complex scripts, in which all the relevant parts of a character is  
> > stacked on the fly?
> This should work using either AAT fonts (on Mac OS X only) or  
> OpenType fonts that support the Tibetan script, OpenType tag =  
> 'tibt'. (Or it would be possible to use the Graphite rendering  
> technology, but I am not aware of any available Tibetan fonts using  
> Graphite.)

> In a quick test using an OpenType font, it seemed to be necessary to  
> specify some additional features, otherwise vowels didn't stack  
> properly:

>      \font\tibfont="Tibetan Machine Uni:script=tibt;+abvs;+blws" at 11pt
>      \tibfont ????????????????? 
> ??   ...etc...

> This may mean that the Tibetan shaping engine currently in ICU  
> doesn't fully support the Tibetan OpenType specification. Or it might  
> mean that the font doesn't fully conform. But I have not looked into  
> the issue in detail.

    One of my friend is now try to design a new Tibe-tan font with fontforge on Linux, who knows Tibe-tan handwriting very well. Shall I suggest him to use OpenType feature or the so called Graphite? Any detail information about how to do this in the font design software? The MS OpenType spec doesn't contain infos on Tibe-tan.

        sonamm at sohu.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ex.pdf
Type: application/octet-stream
Size: 26005 bytes
Desc: not available
Url : http://tug.org/pipermail/xetex/attachments/20071204/3bace0bf/attachment-0001.obj 

More information about the XeTeX mailing list