[XeTeX] XeTeX 0.99 released

Jonathan Kew jonathan_kew at sil.org
Wed Dec 7 12:28:44 CET 2005

On 7 Dec 2005, at 1:40 am, Will Robertson wrote:

> On 07/12/2005, at 2:57 , Jonathan Kew wrote:
>> It's been a while coming, but XeTeX version 0.99 is now available  
>> from <http://scripts.sil.org/xetex> and through i-Installer.
> Wonderful, thanks Jonathan.
> Right when I was going to get some work done :)

Thought this might give you some new stuff to play with!

>> * added Syriac OpenType support for Meltho (and similar) fonts to  
>> the layout engine, activated with "script=syrc"
> With the next release of fontspec I'm going to be restricting the  
> script selection to scripts that actually contain shaping code. Is  
> there a list anywhere of the scripts that XeTeX supports?

Yes....... in the source code. :)

OK, to be serious: I'm not sure such a restriction is a good idea, as  
some scripts may be rendered OK by the default shaping engine (the  
one that handles Latin and other "simple" scripts). This supports a  
number of relatively generic OpenType features such as character  
composition, ligatures, mark positioning, etc., and allows the user  
to turn on/off additional features (for the entire text run). I'm not  
confident that we can say which scripts *cannot* be adequately  
supported using only such features.... it depends partly on how the  
font developer chooses to use available features to implement the  
script behavior required.

If a font has OpenType tables for a script that doesn't have specific  
shaping code, but works with the default engine, you do still need to  
specify the script tag in the \font command, in order for the proper  
tables to be loaded. So IMO fontspec needs to be able to pass any  
script tag to the font, whether or not there is specific support for  
that script.

>> * font mappings are now applied to the text before checking for  
>> possible hyphenation points, which can change behavior in certain  
>> cases; in particular, en- and em-dashes typed as "--" and "---"  
>> will no longer be considered possible line-break positions
> This is a surprise, but a welcome one! From the previous  
> discussions it sounded like this was a bit of a limitation with the  
> technique in general, and although I'd never run into the problem,  
> I wasn't too keen on the idea of my dashes breaking in half...

Indeed.... that was not an acceptable situation.

> Out of curiosity, does this polish off the features you're  
> expecting to have implemented for v1.0?

It's close, I think, though I am still thinking about a couple of  
items.... First, an extended font-loading command that might be  
something like:

    \XeTeXfont\cs = "font-name" style "B/S=10" using ICU features  
"+smcp,+onum" at 12pt
    \XeTeXfont\cs = "font-name" style "BI" using ATSUI features  
"Ligatures=Rare Ligatures" at 12pt

and second, a mechanism to use fonts that aren't installed/registered  
with the OS. This might be done by using the filename directly in the  
\font (or \XeTeXfont) command; but there are possible ambiguities  
there. In theory, a name might be both a valid filename and an actual  
font name. And what about files that contain multiple fonts--which  
one gets used? Another approach would be a new primitive:

    \XeTeXregisterfontfile "filename"

which would simply make the font(s) in the file available for loading  
via the standard \font (or \XeTeXfont) command. This avoids the  
problem of files that actually contain more than one font (e.g.,  
suitcases on Mac OS X; TrueType Collections on other platforms); it's  
up to the user to select the font appropriately by name (and style,  
optical size, whatever), just as if it were installed in the normal way.

> I'm trying to think why I wanted \ifXeTeXfontexists. And off the  
> top of my head I really have no clue. Do you think it's a good idea?

Your other option is actually doing a \font\x="...." (with the  
interaction set to \batchmode, to avoid error messages) and then  
testing whether the resulting font selector is associated with  
nullfont. But I suppose a built-in \ifXeTeXfontexists test might be  
more efficient. I'll think about it. If you can remember why you  
wanted it, let me know what sort of scenario is involved.


More information about the XeTeX mailing list