[tlbuild] Beamer and xelatex on todays svn

Jonathan Kew jonathan_kew at sil.org
Fri Jul 25 02:02:27 CEST 2008


On 24 Jul 2008, at 9:59 PM, Edd Barrett wrote:

> Hi,
>
> I went to make the final builds for Karl today on a OpenBSD-4.3 box. I
> spoke to Jonathan in Cork about xelatex and pgf compatibility, so I  
> was
> keen to see if it works out the box this time.

Sorry I didn't get a chance to get back to you about this before you  
left, but I did try xelatex+beamer on a recent TL svn version and it  
worked fine. I know this wasn't the case in TL2007, but pgf has been  
updated since then and now handles xelatex automatically.

> I tested first with pdflatex and noticed:
>
> ---8<---
> Package hyperref Warning: Option `pdfpagelabels' is turned off
> (hyperref)                because \thepage is undefined.
>
> Hyperref stopped early
> ---8<---

AFAIK, this is normal behavior with beamer; it doesn't do "page  
numbering" in the usual sense, and so hyperref has to skip some of its  
usual functionality.

> The page links did not work on the resultant PDF.

Did you try rebuilding it? I haven't checked if this is a documented  
feature, but my experience seems to be that they only work on a second  
run, after the auxiliary files have been created.


> Also I noticed some font substitution:
>
> ---8<---
> LaTeX Font Warning: Font shape `OT1/cmss/m/n' in size <4> not  
> available
> (Font)              size <5> substituted on input line 10.
> ---8<---
>
> No fancy fonts are used. Is this right?

Probably. Beamer typesets in small text sizes on a small media size,  
expecting it to be magnified greatly for projection, so I'm not  
surprised if it asks for 4pt somewhere.

> Then with xelatex. I recieved the previous warnings and also this:
>
> ---8<---
> [1] (./test.tocxdvipdfmx:/usr/X11R6/lib/libfreetype.so.16.0:  
> xdvipdfmx : WARNING: symbol(t1_cmap_standard_class_rec) size  
> mismatch, relink your program
> xdvipdfmx:/usr/X11R6/lib/libfreetype.so.16.0: xdvipdfmx : WARNING:  
> symbol(t1_cmap_expert_class_rec) size mismatch, relink your program
> xdvipdfmx:/usr/X11R6/lib/libfreetype.so.16.0: xdvipdfmx : WARNING:  
> symbol(t1_cmap_custom_class_rec) size mismatch, relink your pro)g  
> [2r]am
> xdvipdfmx:/usr/X11R6/lib/libfreetype.so.16.0: xdvipdfmx : WARNING:  
> symbol(t1_cmap_unicode_class_rec) size mismatch, relink your program
> xdvipdfmx:/usr/X11R6/lib/libfreetype.so.16.0: xdvipdfmx : WARNING:  
> symbol(tt_cmap0_class_rec) size mismatch, relink your program
> xdvipdfmx:/usr/X11R6/lib/libfreetype.so.16.0: xdvipdfmx : WARNING:  
> symbol(tt_cmap2_class_rec) size mismatch, relink your program
> ... (and more)
> ---8<---
>
> Its a fresh built, so I dont understand this. I ran ./Build in the  
> usual
> way:
> CPPFLAGS=-I/usr/local/include TL_MAKE=gmake \
> ./Build --with-xindy --with-clisp=/tl/clisp/clisp-build/clisp \
> --with-fontconfig=/usr/X11R6

I'm not entirely sure but here's my guess: the version of freetype2 in  
TeX Live is different from that in /usr/X11R6 on your machine, and  
various of the structures in the API have changed. You're getting  
warnings at load time because xetex is linked (statically) with the TL  
version, but it also links (dynamically) with your fontconfig, which  
in turn links (dynamically) with your local freetype. The loader sees  
the discrepancy in the APIs, and is warning you that something's wrong.

The "best" fix for this would be to update your installed freetype to  
the latest release, which would be a good idea anyway because it  
includes a variety of security fixes. But obviously we can't simply  
assume everyone will do that.

I'd be curious to know whether xetex, despite these warnings, runs  
correctly when using OpenType or TrueType fonts installed for  
fontconfig and loaded by font name. I'm guessing that it will work  
fine, actually, because the xetex code that uses freetype directly is  
static-linked with TeX Live's version, which matches how it was  
compiled; the presence of the other version won't affect this. Only  
fontconfig will actually use your local, dynamic freetype library, and  
that will correctly match how it was compiled. There is no sharing of  
freetype-related structures between xetex and the internals of  
fontconfig.

Nevertheless, even if it works correctly (as I hope it will), the  
warnings are pretty alarming. I wonder if there is some way we can  
avoid this issue or suppress the warnings?

JK



More information about the tlbuild mailing list