[cstex] Vlna pro XeTeX

Zdenek Wagner zdenek.wagner at gmail.com
Sat Jan 7 21:51:21 CET 2012


TeXistky a TeXisté,

dlouho mě trápilo, že encTeX umí vlnkovat pomocí \mubyte, ale XeTeX v
sobě encTeX nemá a mít nebude. Jeden mail (týkající se něčeho zcela
jiného) mě přivedl na myšlenku, že by se dalo dosáhnout automatického
vlnkování tímto způsobem:

\XeTeXinterchartokenstate 1
\newXeTeXintercharclass\CSopenpunctuation
\newXeTeXintercharclass\CSnonsyllabicpreposition
\XeTeXcharclass`\(\CSopenpunctuation
\XeTeXcharclass`\[\CSopenpunctuation
\XeTeXcharclass`\K\CSnonsyllabicpreposition
\XeTeXcharclass`\k\CSnonsyllabicpreposition
\XeTeXcharclass`\S\CSnonsyllabicpreposition
\XeTeXcharclass`\s\CSnonsyllabicpreposition
\XeTeXcharclass`\V\CSnonsyllabicpreposition
\XeTeXcharclass`\v\CSnonsyllabicpreposition
\XeTeXcharclass`\Z\CSnonsyllabicpreposition
\XeTeXcharclass`\z\CSnonsyllabicpreposition
\XeTeXcharclass`\O\CSnonsyllabicpreposition
\XeTeXcharclass`\o\CSnonsyllabicpreposition
\XeTeXcharclass`\U\CSnonsyllabicpreposition
\XeTeXcharclass`\u\CSnonsyllabicpreposition
\XeTeXcharclass`\A\CSnonsyllabicpreposition
\XeTeXcharclass`\a\CSnonsyllabicpreposition
\XeTeXcharclass`\I\CSnonsyllabicpreposition
\XeTeXcharclass`\i\CSnonsyllabicpreposition
\XeTeXinterchartoks 255 \CSnonsyllabicpreposition {\PreCSpreposition}
\XeTeXinterchartoks \CSopenpunctuation \CSnonsyllabicpreposition
{\PreCSpreposition}
\def\PreCSpreposition{\def\next{}%
  \ifnum\catcode`\ =10 % nothing will be done in verbatim
  \ifmmode % nothing in math
  \else
  \let\next\ExamineCSpreposition
  \fi \fi
  \next}
\def\ExamineCSpreposition #1{\XeTeXinterchartokenstate0 \relax
  #1\XeTeXinterchartokenstate1 \relax\futurelet\next\ProcessCSpreposition}
\def\ProcessCSpreposition{\ifx\next\XeTeXspace\nobreak\fi}
\futurelet\XeTeXspace{ }

Ověřil jsem, že se správně vloží kerning mezi A a V ve zkratce AVČR.
Pak jsem vložil písmeno f příkazem
\XeTeXcharclass`\f\CSnonsyllabicpreposition
do seznamu neslabičných předložek a ověřil jsem, že vzniknou správně
obě ligatury ve slově fifinka. Slova, která začínají písmenem
obsaženým v seznamu neslabičných předložek, jsou dělitelná, což jsem
ověřil sazbou testovacího textu do úzkého sloupce. Nenarazil jsem na
žádný problém. Zajímaly by mě Vaše zkušenosti s těmito makry.
-- 
Zdeněk Wagner
http://hroch486.icpf.cas.cz/wagner/
http://icebearsoft.euweb.cz




More information about the csTeX mailing list