XeTeX packages for Fedora Core 5

Update [22/08/2006]: new rpm package for XeTeX 0.995 and xdvipdfmx-0.3-1 added.
Update [28/06/2006]: new rpm package for XeTeX 0.994a added.

XeTeX is Unicode and OpenType enabled typesetting system based on TeX created by Jonathan Kew of SIL International. This site provides rpm packages for Fedora build from the source rpms from XeTeX homepage with the help of the author and other kind people at BachoTeX 2006 in Poland. Hopefully this page becomes obsolete soon and XeTeX will find its way to regular repositories. It's just a quick hack to offer you binaries for Fedora and give some hints on how to install XeTeX on other Linux distributions as well.

XeTeX uses xdvipdfmx as a driver to convert XeTeX xdv output file (extended DVI) into standard PDF.

Please, read Read Me First! on XeTeX homepage before proceeding further.

Main Resources

XeTeX home page
XeTeX mailing list

XeTeX vs. pdf[e]TeX

XeTeX is another TeX engine and it has advantages over pdfetex in easy use of TrueType and OpenType system fonts in TeX, using OpenType advanced features and native support of Unicode. On the other hand, for now it doesn't offer microtypography extensions of pdfetex (protrusion, HZ expansion), nor upcoming Lua scripting in pdfeTeX. One of the reasons microtyphography isn't implemented for now is, that hanging punctuation or HZ algorithm has no use in some complex languages or is completely different. As heard, in latin scripts hanging punctuation could be implemented in opentype font by its advanced features, but there is no such font available at the moment. There is a chance both engines will be merged togheter in future.

XeTeX can't use Type1 system fonts, but it can use Type1 in the same way other TeX engines can, i.e. properly installed fonts in texmf tree (without the advanced features of XeTeX). Both engines also differ in image formats they can include in the final PDF file (See Read Me First! at XeTeX Linux homepage).

Judge what you really need, but it certainly worth a try.

Installation

Before installation

Before installing xetex you must make some changes in yout tex installation (here tetex-3.0.17). Format files xetex.fmt and xelatex.fmt with hyphenation patterns are being built when installing xetex package, so you should set this before installing.
Or you have to build the format as usal (fmtutil-sys --byfmt xetex) afterward.
  1. in /usr/share/texmf/tex/generic/config/language.dat (diff is bellow)
    search for your language.dat with "kpsewhich language.dat"

    Comment lines:
    %irish        gahyph.tex
    %magyar       huhyphn.tex
    %portuges     pt8hyph.tex
    %romanian     rohyphen.tex
    %serbian      srhyphc.tex     % Serbian Cyrillic Hyphenation Patterns
    %turkish      trhyph.tex
    %ukrainian    ukrhyph.tex

    If you really need some of these languages, try to install with applicable lines, but if building of xetex.fmt fails, then you must wait till the next release of XeTeX (read Read Me First!).
  2. in /usr/share/texmf/web2c/texmf.cnf
    search for your texmf.cnf with "kpsewhich texmf.cnf"
    Your local texmf tree must be read first (it might be already like this):
    in "TEXMF =" line move "!!$TEXMFLOCAL" in front of "!!$TEXMFMAIN"

Installation

    1. Download xetex and xdvipdfmx rpms for FC5
    2. Install xdvipdfmx and xetex
      rpm -ihv xdvipdfmx-0.3-1.i686.rpm
      rpm -ihv xetex-0.995-1.i686.rpm
    3. xetex and xelatex commands are available.

After installation

When running xe[la]tex you will notice some warnings which you may ignore for now, XeTeX will produce correct PDF files. Nevertheless keep in mind it is still an experimental version of XeTeX.
If you you want to play with system fonts, commands fc-cache and fc-list become handy.

All thanks go to Jonathan Kew.

Jano Kula
jano.kula | tiscali.cz

Building packages

For those who would like to build packages themselves, here are the steps to change source rpms for building XeTeX on Fedora Core 5.

Update[22/08/2006]: this was written for XeTeX version 0.991 and xdvipdfmx version 0.1. The same applies for version 0.995 of XeTeX, but in version 0.3-1 of xdvipdfmx, there is a little change: leave the last occurence of freetype2 in xdvipdfmx-0.3.spec as it is.

Update [28/06/2006]: this was written for XeTeX version 0.991. The same applies for version 0.994a.
  1. Grab source rpms xdvipdfmx-0.1-1.src.rpm and xetex-0.991-1.src.rpm from XeTeX Linux homepage.
  2. Install source rpms being a root user
    rpm -ihv xdvipdfmx-0.1-1.src.rpm
    rpm -ihv xetex-0.991-1.src.rpm
  3. In /usr/src/redhat/SPECS change (diffs are bellow)
  4. Install ImageMagick-devel rpm package
    yum install ImageMagick-devel
  5. Build packages in /usr/src/redhat/SPECS
    You might be asked here to install other missing packages.

    rpmbuild  --target i686 -bb xdvipdfmx-0.1.spec
    rpmbuild  --target i686 -bb xetex-0.991.spec
  6. Install them
    rpm -ihv /usr/src/redhat/RPMS/i686/xdvipdfmx-0.1-1.i686.rpm
    rpm -ihv /usr/src/redhat/RPMS/i686/xetex-0.991-1.i686.rpm

DIFFS


xdvipdfmx-0.1.spec
[root@localhost SPECS]# diff xdvipdfmx-0.1.spec.orig xdvipdfmx-0.1.spec
9c9
< Copyright: GPL
---
> License: GPL
16c16
< Requires: tetex, fontconfig, freetype2
---
> Requires: tetex, fontconfig, freetype
19c19
< BuildRequires: fontconfig-devel, freetype2-devel, te_kpath
---
> BuildRequires: fontconfig-devel, freetype-devel

xetex-0.991.spec
[root@localhost SPECS]# diff xetex-0.991.spec.orig xetex-0.991.spec
10c10
< Copyright: CPL
---
> License: CPL
22c22
< Requires: te_latex >= 3.0
---
> #Requires: te_latex >= 3.0
24,25c24,25
< # we also need fontconfig, freetype2 and ImageMagick libraries
< Requires: fontconfig, freetype2, ImageMagick
---
> # we also need fontconfig, freetype and ImageMagick libraries
> Requires: fontconfig, freetype, ImageMagick
32c32
< BuildRequires: fontconfig-devel, freetype2-devel, ImageMagick-devel
---
> BuildRequires: fontconfig-devel, freetype-devel, ImageMagick-devel

language.dat
[root@localhost config]# diff language.dat.orig language.dat
66c66
< irish gahyph.tex
---
> %irish        gahyph.tex
69c69
< magyar        huhyphn.tex
---
> %magyar       huhyphn.tex
72,73c72,73
< portuges      pt8hyph.tex
< romanian      rohyphen.tex
---
> %portuges     pt8hyph.tex %romanian     rohyphen.tex
75c75
< serbian       srhyphc.tex     % Serbian Cyrillic Hyphenation Patterns
---
> %serbian      srhyphc.tex     % Serbian Cyrillic Hyphenation Patterns
>
80c80
< turkish       trhyph.tex
---
> %turkish      trhyph.tex
84c84
< ukrainian     ukrhyph.tex
---
> %ukrainian    ukrhyph.tex

counter