[XeTeX] Syriac in Polyglossia
François Charette
firmicus at ankabut.net
Tue Jul 22 22:31:06 CEST 2008
Gareth Hughes a écrit :
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> I've been testing Polyglossia, and, as I primarily work in Syriac, have
> been testing the package's function with the language.
>
> I can't seem to get Polyglossia to do very much with Syriac but mark
> text as RTL, so that I don't have to call a bidi environment as well.
Yes, the syriac environment selects the appropriate font and switches
the writing direction. What else should it do?
> I can't manage to get numerals=eastern or abjadsyriac to work.
The option numerals=eastern affects the numerals generated from counters
(pagination, footnotes, etc.) To display 2008 in Syriac according to the
above option, you need to type \syriacnumber{2008}. I agree that this is
not very clear in the documentation. I'll improve that! For abjadsyriac
see below. But if you want the numbers 0123456789 to appear
automatically as ٠١٢٣٤٥٦٧٨٩ you can define \syriacfont as follows:
\newfontfamily\syriacfont[Script=Syriac,Mapping=arabicdigits]{Estrangelo Edessa}
I know, this is undocumented. Should this occur by default? Some rendering engines (e.g. Pango) appear to do that substitution automatically with Syriac. I should look further into this.
> there doesn't seem to be documentation on how to use Polyglossia with Fontspec: that is, how to name font declarations so that Polyglossia can read them.
>
In your example below you did it correctly.
In general, it works as this: if for language lingua one defines
\linguafont with \newfontfamily, then this font is automatically chosen
for that language. If it is undefined, polyglossia checks in the current
font for the availability of the relevant script and/or language (via
OpenType tags) and makes the appropriate switch with \addfontfeature.
Otherwise an error message is displayed.
> Could someone give me a few pointers here? Details of the issue are below.
>
> Thanks,
>
> Gareth.
>
> I'm using XeTeX 3.141592-0.996 on Ubuntu. A minimal example is:
>
> \documentclass[12pt,a4paper]{minimal}
>
> \usepackage{fontspec,xltxtra,xunicode}
> \setmainfont{Linux Libertine}
> \newfontfamily\syriacfont[Script=Syriac]{Estrangelo Edessa}
>
> \usepackage{polyglossia}
> \setdefaultlanguage{spanish}
> \setotherlanguage[numerals=eastern]{syriac}
>
> \begin{document}
>
> \begin{syriac}
> ܫܠܴܡܳܐ 2008 \abjadsyriac{2008}
> \end{syriac}
>
>
According to my sources the maximal abjad number in Syriac is 499: if
you look at your log file you'll notice that polyglossia issued a
warning about 2008 being too large. However, if you know how to
represent numbers larger than 499, I would be grateful to have the
information!
Regards,
François
More information about the XeTeX
mailing list