[XeTeX] Issue with CJK in pdf build

Jonathan Kew jfkthame at googlemail.com
Tue Nov 17 15:59:47 CET 2009


On 17 Nov 2009, at 01:54, Chris Jones wrote:

> On Mon, Nov 16, 2009 at 06:25:31PM EST, Jonathan Kew wrote:
>> On 16 Nov 2009, at 23:08, Wilfred van Rooijen wrote:
>>
>>> I think that the error message you see is something that doesn't  
>>> occur
>>> often. In all my 10+ years of (ab)using latex I've never seen this
>>> error. It looks like something is not configured correctly in your  
>>> TeX
>>> system.
>>
>> It looks to me like xetex just hasn't been told to use a suitable  
>> font.
>> If you try to typeset CJK characters (or Unicode math symbols,  
>> arrows,
>> etc., etc.) with Latin Modern, for example, then a series of blanks  
>> or
>> empty rectangles (i.e., the current font's .notdef glyph) is entirely
>> normal.
>
> That's probably what was confusing me. I somehow assumed that xetex
> would detect that I needed a CJK font, e.g. and ask fontconfig to
> provide one.

No, it won't. (You're not the first person to be caught by this!)

To me, there's a big difference between xetex and typical GUI  
applications such as word processors or browsers. There, it may be  
helpful if "the system" (via fontconfig) magically finds a font that  
can display whatever character happens to occur in the text. You don't  
want .notdef boxes all over your web pages, and the author doesn't  
know what fonts you may happen to have, so cannot necessarily specify  
them explicitly.

But in a typesetting application, the program should use exactly the  
fonts you as author/designer ask for, and no others. If you ask it to  
typeset character X in font Y, you should be confident that's what it  
will do.... if you don't have font Y, it should report an error, not  
substitute something more-or-less similar; and if the result is  
the .notdef glyph, that's for you as the (human) typesetter to deal  
with, by *choosing* (not "magically" getting) an appropriate font.

Note that if you turn on TeX's \tracinglostchars option, your .log  
file will include warning messages for any characters that appeared to  
be missing in the fonts you were using. Perhaps that should be turned  
on by default in the Unicode world, where the chances of this  
happening are much greater than in the old 7- or 8-bit world where  
encodings and fonts were generally "full", so virtually every  
character code would print something, even if it wasn't necessarily  
the right thing (if you got encodings mixed up).

JK



More information about the XeTeX mailing list