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.
- 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!).
- 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
- Download xetex and xdvipdfmx rpms for FC5
- Install xdvipdfmx and xetex
rpm -ihv xdvipdfmx-0.3-1.i686.rpm
rpm -ihv xetex-0.995-1.i686.rpm
- 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.
- Grab source rpms xdvipdfmx-0.1-1.src.rpm
and xetex-0.991-1.src.rpm from XeTeX
Linux homepage.
- Install source rpms being a root user
rpm -ihv xdvipdfmx-0.1-1.src.rpm
rpm -ihv xetex-0.991-1.src.rpm
- In /usr/src/redhat/SPECS change (diffs are bellow)
- in both xdvipdfmx-0.1.spec and xetex-0.991.spec
change: "Copyright: GPL" -> "License: GPL"
change all occurrences: "freetype2" -> "freetype"
- in xdvipdfmx-0.1.spec
remove: ", te_kpath" from "BuildRequires" line
- in xetex-0.991.spec
comment out line: "Requires: te_latex >= 3.0" ->
"#Requires: te_latex >= 3.0"
- Install ImageMagick-devel rpm package
yum install ImageMagick-devel
- 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
- 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