XeTeX

Sredin seminar 1182, 14. april 2010

Kode

računalniki, datoteke, spočetka lastne kode - CDC 60 bitna beseda, znak=6bitov; FIELDATA 7 bitna, US army, 1960; EBCDIC, IBM, 360, 1964; ASCII 7 bitov, 1963 (osnutek, brez malih črk), 1967 --> ISO 646, 1983

1, 2, 3, 4.

ISO 8859, 1987, 8 bitni, dopolnitve; abecedna juha, Czyborra

Microsoft, codepage: 850, MS-DOS Latin-1; cel kup za druge jezike
1252 Windows Latin 1, 1250 Windows Latin 2, 1251 Windows cirilica, ...

I18n - internationalization

znaki
  krmilni
  izpisljivi
    števke
    črke (latinske abecede)
      velike
      male
    posebni znaki
      ločila
      operacije
      ostali

Unicode

Osnovni Unicode, 16 bitov, Han, 216=65536,

Unicode / charts tabele

Windows NT so že od začetka temeljili na Unicodu. Windows/System tools/Character map. Notepad, MS Office.

Spletne tehnologije od okrog 1995 temeljijo na Unicodu.


Universal Character Set (UCS) določen z ISO/IEC 10646. UCS je nastal v sodelovanju z Unicode.

UCS, UTF-8
Kodni prostor se razteza od 0 do 10FFFF16 -- kar da 17*216 = 1114112 kod.
BMP - 0, basic multilingual plane (osnovni Unicode), SMP - 1, supplementary multilingual plane, SIP - 2, supplementary ideographic plane, 14-16, posebni nameni, industrija.

Kodiranja: UTF-8 (zapis spremenljive dolžine, 7-bitni ASCII v enem zlogu), UTF-16, UCS-2, UCS-4, ...

Adobe in Microsoft sta za podporo kode Unicode razvila novo vrsto pisav OpenType, ki združuje TT in Postscript.

Urejevalniki za Unicode

Najnujnejše lahko opravimo že v Notepadu (Beležnica).

Zmogljivejši brezplačni urejevalnik je BabelPad. Zanimiv je tudi poskusni urejevalnik (199$) UniPad.

XeTeX

XeTeX je en izmed TeXovskih strojev, kot so še TeX 82, e-TeX, pdfTeX, Omega, Aleph in LuaTeX.

XeTeX ponuja enostaven dostop do Unicoda v TeXu in do vseh pisav (TeX, TT, OpenType in Postscript) na računalniku. Za običajnega uporabnika TeXa se le malo spremeni.

XeTeX je razvil Jonathan Kew iz SIL. Prva različica je bila izdana leta 2004. Leta 2006 ga je Akira Kakuto prestavil še na Windowse. V MikTeXu je dostopen od septembra 2007.

Trenutna tekmeca sta pdfTeX in LuaTeX. Prvi uporabo pisav OpenType le deloma podpira; drugi pa je nekoliko manj 'zrel', zapletenejši za rabo (a tudi nekoliko zmogljivejši za zahtevnejša stavljenja).

XeTeX je vključen v TeXLive in MikTeX. Sam uporabljam MikTeX; pri prvem poskusu se je zapletlo šele, ko sem poskusil uporabiti slog PsTricks

======================================================================
("C:\TeX\MiKTeX 2.7\\tex\xelatex\xetex-pstricks\pstricks.con"
! I can't find file `xdvipdfmx.cfg'.
l.6 \input xdvipdfmx.cfg
Zgleda, da je to znana težava. Manjkajočo datoteko xdvipdfmx.cfg dobimo tu in jo postavimo v miktex/tex/xetex/xetex-pstricks in miktex/tex/xelatex/xetex-pstricks. Namestimo tudi pisave Latin Modern.

Tug/XeTeX, LaTeX, Latin Modern fonts, fontspec, xltxtra, polyglossia, xecolour, Goosens - knjiga v pripravi, Perry - navodila, prosojnice, XeLaTeX/math, ...

Uporaba v LaTeXu je preprosta. Besedilo pripravimo v Unicodu in dodamo ustrezne sloge

\documentclass[12pt]{article}
\fbox{\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\usepackage{pstricks}}

\setmainfont{Arial Unicode MS}
\begin{document}
\section*{\XeTeX{} in \XeLaTeX}
\begin{pspicture}(0,0)(2,2)
\psline(0,0)(1,1)
\end{pspicture}
\noindent
Greek: τεχ \\
Любляна \\
٢صباتهقس \\
ཀནཆསཟཨགནཛ \\
हलतडगमस३८कत \\
きすまさのれとて \\
ᚏᚙᚌᚖᚅᚕᚄᚔᚇᚗ \\
☬ਦਹਚਲਸਡਪ \\
ܨܫܦܐܡܞܗ܀ܒ \\
ھېيكبغسلس \\
หยสทผฅสกพ \\
ಣಯಗಒಸಬಎಕಪಯ \\
♠♡♢♣♤♥♦♧⚀⚁⚂⚃⚄⚅☺\\
𐎠𐎡𐎲𐎴𐎥𐎶𐎸\\
亹仵傴儌儸傭劖功屢巕巭\\
ⶢⶆⶼⶋⷓⷝⶎ\\
ⰴⰊⰞⰂⰏⰣⰅⰠⰁ\\
⨕⦝⦩∈⊆→∃⋃⋂⋁⋀\\
✂✉❶❷❾☎☞\\
♩♪♫♬♮♯♭\\
␊␇␍␌␀␡\\
✉❤\\[10pt]
\TeX, \LaTeX, \XeTeX, \XeLaTeX \\
\usefont{OT1}{cmr}{m}{n}
\TeX, \LaTeX, \XeTeX, \XeLaTeX \\[10pt]
\font\it="Trebuchet MS" at 50pt \it Ljubljana
\end{document}
XeTeX doda običajnemu TeXu dodatne ukaze za delo z unicodskimi pisavami. Najpomembnejši slog v LaTeXu, ki poenostavi dostop je fontspec. Sloga xunicode in xltxtra ga dopolnjujeta z nekaj poenostavitvami in popravki.

\fontspec[določila]{pisava}
\setmainfont[]{}
\setsansfont[]{}
\setmonofont[]{}
\defaultfontfeatures{}
\addfontfeatures{}
\newfontfamily[]{}
\newfontface[]{}
Primeri:
\fontspec{Arial}
\defaultfontfeatures{Scale=MatchLowercase}
\setmonofont{Courier}
\fontspec[ExternalLocation=pot]{imeDatoteke}
Slog polyglossia je unicodski nadomestek za babel.

Slog bidi omogoča dvosmerno pisanje.

Graph Theory in LaTeX

Za risanje v XeLaTeXu lahko uporabljamo PsTricks. Poleg tega pa še novejši slog tikz, ki se mi zdi zelo zanimiv.

Več risb grafov in omrežij je že v galeriji zgledov: 1, 2, 3, 4, 5, 6.

Še zanimivejši pa so na dveh spletnikih Graph Theory in LaTeX in Graph Theory in LaTeX 2. Namestiti moramo slog tkz-berge.sty in podrejene sloge.

Primer iz spletnika:

\documentclass{article}
\usepackage{tikz}
\usepackage{tkz-berge}
\pagestyle{empty}
\tikzstyle{NormalVertexStyle}=[shape = circle,%
  shading = ball,%
  ball color = white,%
  very thin,
  inner sep=3pt,%
  draw]
\SetVertexNoLabel
\tikzstyle{EdgeStyle}= [thick,%
  double= orange,%
  double distance = 1pt]
\begin{document}
\begin{center}
\begin{tikzpicture}
  \SetUpEdge[color=blue,lw=2pt]
  \begin{scope}[rotate=90]
    \grCycle[prefix=a,RA=1]{5}
    \grEmptyCycle[prefix=b,RA=3]{5}
  \end{scope}
  \begin{scope}[rotate=90+24]
    \grEmptyCycle[prefix=c,RA=3]{5}
  \end{scope}
  \begin{scope}[rotate=90-24]
    \grEmptyCycle[prefix=d,RA=3]{5}
  \end{scope}
  \SetUpEdge[color=red,lw=2pt]
  \EdgeIdentity{a}{b}{5}
  \EdgeIdentity{b}{c}{5}
  \EdgeIdentity{b}{d}{5}
  \EdgeMod{c}{d}{5}{1}
  \EdgeMod{c}{d}{5}{4}
\end{tikzpicture}
\end{center}
\end{document}

Ti zgledi mi ponujajo pot, kako omogočiti v Pajku prikaz omrežij z imeni v npr. kitajski pisavi.

FontForge

Prosti urejevalnik pisav.

fontforge, sourceforge, ms-install, MS-tutorial,