diff options
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def')
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def new file mode 100644 index 00000000000..697f3de2fa8 --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def @@ -0,0 +1,73 @@ +%% +%% This is file `kashida-xepersian.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% xepersian.dtx (with options: `kashida-xepersian.def') +%% +%% ______________________________________ +%% Copyright © 2008–2013 Persian TeX Group +%% +%% License information appended. +%% +%% + +\ProvidesFile{kashida-xepersian.def}[2010/07/25 v0.2 implementation of Kashida for xepersian package] +\chardef\xepersian@zwj="200D % zero-width joiner +\chardef\xepersian@ksh="0640 % kashida + +\chardef\xepersian@D=10 % dual-joiner class +\chardef\xepersian@L=11 % lam +\chardef\xepersian@R=12 % right-joiner +\chardef\xepersian@A=13 % alef +\chardef\xepersian@V=256 % vowel or other combining mark (to be ignored) + +\def\xepersian@kashida{\xepersian@zwj\nobreak \setbox0=\hbox{\xepersian@ksh}% + \leaders\hrule height\ht0 \hskip0pt plus 0.5em \xepersian@zwj} + +\def\setclass#1#2{\def\theclass{#1}\def\charlist{#2}% + \expandafter\dosetclass\charlist,\end} +\def\dosetclass#1,#2\end{% + \def\test{#1}\def\charlist{#2}% + \ifx\test\empty\let\next\finishsetclass + \else \XeTeXcharclass "\test = \theclass + \let\next\dosetclass \fi + \expandafter\next\charlist,,\end} +\def\finishsetclass#1,,\end{} + +\setclass \xepersian@A {0622,0623,0625,0627} +\setclass \xepersian@R {0624,0629,062F,0630,0631,0632,0648,0698} +\setclass \xepersian@D {0626,0628,062A,062B,062C,062D,062E} +\setclass \xepersian@D {0633,0634,0635,0636,0637,0638,0639,063A} +\setclass \xepersian@D {0640,0641,0642,0643,0645,0646,0647,0649,064A} +\setclass \xepersian@D {067E,0686,06A9,06AF,06CC} +\setclass \xepersian@L {0644} +\setclass \xepersian@V {064B,064C,064D,064E,064F,0650,0651,0652} + +\XeTeXinterchartoks \xepersian@D \xepersian@D = {\xepersian@kashida} +\XeTeXinterchartoks \xepersian@L \xepersian@D = {\xepersian@kashida} +\XeTeXinterchartoks \xepersian@D \xepersian@L = {\xepersian@kashida} +\XeTeXinterchartoks \xepersian@L \xepersian@L = {\xepersian@kashida} +\XeTeXinterchartoks \xepersian@D \xepersian@R = {\xepersian@kashida} +\XeTeXinterchartoks \xepersian@D \xepersian@A = {\xepersian@kashida} +\XeTeXinterchartoks \xepersian@L \xepersian@R = {\xepersian@kashida} +\XeTeXinterchartoks \xepersian@L \xepersian@A = {} + +\newcommand{\KashidaOn}{\XeTeXinterchartokenstate=1} +\newcommand{\KashidaOff}{\XeTeXinterchartokenstate=0} +\KashidaOn +%% +%% Copyright © 2008–2013 Persian TeX Group <persiantexdev@gmail.com> +%% +%% It may be distributed and/or modified under the LaTeX Project Public License, +%% version 1.3c or higher (your choice). The latest version of +%% this license is at: http://www.latex-project.org/lppl.txt +%% +%% This work is “maintained” (as per LPPL maintenance status) +%% by Persian TeX Group. +%% +%% +%% +%% +%% End of file `kashida-xepersian.def'. |