summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/mkiv/typo-dir.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/typo-dir.mkiv')
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/typo-dir.mkiv190
1 files changed, 94 insertions, 96 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/typo-dir.mkiv b/Master/texmf-dist/tex/context/base/mkiv/typo-dir.mkiv
index 7449a705323..d92c9379351 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/typo-dir.mkiv
+++ b/Master/texmf-dist/tex/context/base/mkiv/typo-dir.mkiv
@@ -18,13 +18,17 @@
\unprotect
-\registerctxluafile{typo-dir}{optimize}
+\registerctxluafile{typo-dir}{}
\registerctxluafile{typo-dha}{}
-%registerctxluafile{typo-dua}{}
-%registerctxluafile{typo-dub}{}
-\registerctxluafile{typo-duc}{}
+\registerctxluafile{typo-dua}{}
+\registerctxluafile{typo-dub}{}
+\doifelsefileexists{typo-duc-new.lua} {
+ \registerctxluafile{typo-duc-new}{}
+} {
+ \registerctxluafile{typo-duc}{}
+}
-\definesystemattribute[directions][public,pickup]
+\definesystemattribute[directions][public]
\installcorenamespace{directions}
\installcorenamespace{directionsbidimode}
@@ -65,9 +69,8 @@
\expandafter\glet\csname\??directionsbidimode\currentbidistamp\endcsname\currentbidimode}
\appendtoks
- \edef\p_bidi{\directionsparameter\c!bidi}%
\edef\currentbidistamp
- {\p_bidi
+ {\directionsparameter\c!bidi
:\directionsparameter\c!method
:\directionsparameter\c!fences}%
\expandafter\let\expandafter\currentbidimode\csname\??directionsbidimode\currentbidistamp\endcsname
@@ -80,11 +83,6 @@
\else
\setdirection[\number\directionsbidimode]%
\fi
- \ifx\p_bidi\v!global
- \pickupdirectionsattribute
- \else
- \forgetdirectionsattribute
- \fi
\to \everysetupdirections
\appendtoks
@@ -106,8 +104,8 @@
\unexpanded\edef\bidilro{\normalUchar"202D}
\unexpanded\edef\bidirlo{\normalUchar"202E}
-\unexpanded\def\dirlre{\ifcase\directionsbidimode\or\bidilre\or\textdirection\directionlefttoright\fi}
-\unexpanded\def\dirrle{\ifcase\directionsbidimode\or\bidirle\or\textdirection\directionrighttoleft\fi}
+\unexpanded\def\dirlre{\ifcase\directionsbidimode\or\bidilre\or\textdir TLT\fi}
+\unexpanded\def\dirrle{\ifcase\directionsbidimode\or\bidirle\or\textdir TRT\fi}
\unexpanded\def\dirlro{\ifcase\directionsbidimode\or\bidilro\or\setdirection[3]\fi}
\unexpanded\def\dirrlo{\ifcase\directionsbidimode\or\bidirlo\or\setdirection[4]\fi}
@@ -123,85 +121,85 @@
% bidi test
-% \definefontfeature
-% [arab]
-% [mode=node,language=dflt,script=arab,
-% init=yes,medi=yes,fina=yes,isol=yes,
-% liga=yes,dlig=yes,rlig=yes,clig=yes,
-% mark=yes,mkmk=yes,kern=yes,curs=yes]
-%
-% \font\Arabic=arabtype*arab at 20pt
-%
-% \def\LATIN{LATIN} {\setdirection[1]} % enable this
-% \def\ARAB {عربي}
-%
-% \startluacode
-% function documentdata.split_tokens(str)
-% for s in str:bytes() do
-% context.sprint(tex.ctxcatcodes,string.format("\\hbox{\\char %s}",s))
-% end
-% end
-% \stopluacode
-%
-% \unexpanded\def\biditest#1#2#3% font text raw
-% {\dontleavehmode\hbox
-% {\framed[offset=overlay]{\tttf#2}\quad
-% \enabletrackers[typesetters.directions]%
-% \framed[offset=overlay]{#1#3}\quad
-% \disabletrackers[typesetters.directions]%
-% \tttf\ctxlua{documentdata.split_tokens([[\detokenize{#3}]])}}}
-%
-% \startbuffer[bidi-sample]
-% \biditest\Arabic{LATIN BARA}{\lefttoright\relax \LATIN\ \ARAB}\par
-% \biditest\Arabic{BARA LATIN}{\righttoleft\relax \LATIN\ \ARAB}\par
-% \biditest\Arabic{LATIN ARAB}{\lefttoright{\bidilro \LATIN\ \ARAB}}\par % right -> left
-% \biditest\Arabic{LATIN ARAB}{\righttoleft{\bidilro \LATIN\ \ARAB}}\par % right -> left
-% \biditest\Arabic{BARA NITAL}{\lefttoright{\bidirlo \LATIN\ \ARAB}}\par % left -> right
-% \biditest\Arabic{BARA NITAL}{\righttoleft{\bidirlo \LATIN\ \ARAB}}\par % left -> right
-% \stopbuffer
-%
-% \startbuffer[bidi-sample]
-% \biditest\Arabic{LATIN BARA}{\lefttoright\relax \LATIN\ \ARAB}\par
-% \biditest\Arabic{BARA LATIN}{\righttoleft\relax \LATIN\ \ARAB}\par
-% \biditest\Arabic{LATIN ARAB}{\lefttoright\bidilro \LATIN\ \ARAB}\par % right -> left
-% \biditest\Arabic{LATIN ARAB}{\righttoleft\bidilro \LATIN\ \ARAB}\par % right -> left
-% \biditest\Arabic{BARA NITAL}{\lefttoright\bidirlo \LATIN\ \ARAB}\par % left -> right
-% \biditest\Arabic{BARA NITAL}{\righttoleft\bidirlo \LATIN\ \ARAB}\par % left -> right
-% \stopbuffer
-%
-% \startbuffer[bidi-setup]
-% \setupdirections[bidi=off]
-% \stopbuffer
-%
-% {\typebuffer[bidi-setup] \getbuffer[bidi-setup] \getbuffer[bidi-sample]}
-%
-% \startbuffer[bidi-setup]
-% \setupdirections[bidi=global]
-% \stopbuffer
-%
-% {\typebuffer[bidi-setup] \getbuffer[bidi-setup] \getbuffer[bidi-sample]}
-%
-% \startbuffer[bidi-setup]
-% \setupdirections[bidi=local]
-% \stopbuffer
-%
-% {\typebuffer[bidi-setup] \getbuffer[bidi-setup] \getbuffer[bidi-sample]}
-%
-% \startbuffer[bidi-sample]
-% \setupdirections[bidi=global]
-%
-% \hbox{\righttoleft\arabicfont (0001)}\par
-% \dontleavehmode\hbox{\righttoleft\arabicfont (0002)}\par
-% {\righttoleft\arabicfont (0003)\par}
-% {\righttoleft\arabicfont (0004)}\par
-% \dontleavehmode{\righttoleft\arabicfont (0005)\par}
-% \dontleavehmode{\righttoleft\arabicfont (0006)}\par
-% \rtlhbox{\arabicfont (0007)}\par
-% \ltrhbox{\arabicfont (0008)}\par
-% \dontleavehmode\rtlhbox{\arabicfont (0009)}\par
-% \dontleavehmode\ltrhbox{\arabicfont (0010)}\par
-% \stopsetups
-%
-% {\typebuffer[bidi-sample] \getbuffer[bidi-sample]}
-%
-% \stoptext
+\definefontfeature
+ [arab]
+ [mode=node,language=dflt,script=arab,
+ init=yes,medi=yes,fina=yes,isol=yes,
+ liga=yes,dlig=yes,rlig=yes,clig=yes,
+ mark=yes,mkmk=yes,kern=yes,curs=yes]
+
+\font\Arabic=arabtype*arab at 20pt
+
+\def\LATIN{LATIN} {\setdirection[1]} % enable this
+\def\ARAB {محمد}
+
+\startluacode
+ function documentdata.split_tokens(str)
+ for s in str:bytes() do
+ context.sprint(tex.ctxcatcodes,string.format("\\hbox{\\char %s}",s))
+ end
+ end
+\stopluacode
+
+\unexpanded\def\biditest#1#2#3% font text raw
+ {\dontleavehmode\hbox
+ {\framed[offset=overlay]{\tttf#2}\quad
+ \enabletrackers[typesetters.directions]%
+ \framed[offset=overlay]{#1#3}\quad
+ \disabletrackers[typesetters.directions]%
+ \tttf\ctxlua{documentdata.split_tokens([[\detokenize{#3}]])}}}
+
+\startbuffer[bidi-sample]
+\biditest\Arabic{LATIN BARA}{\textdir TLT\relax \LATIN\ \ARAB}\par
+\biditest\Arabic{BARA LATIN}{\textdir TRT\relax \LATIN\ \ARAB}\par
+\biditest\Arabic{LATIN ARAB}{\textdir TLT{\bidilro \LATIN\ \ARAB}}\par % right -> left
+\biditest\Arabic{LATIN ARAB}{\textdir TRT{\bidilro \LATIN\ \ARAB}}\par % right -> left
+\biditest\Arabic{BARA NITAL}{\textdir TLT{\bidirlo \LATIN\ \ARAB}}\par % left -> right
+\biditest\Arabic{BARA NITAL}{\textdir TRT{\bidirlo \LATIN\ \ARAB}}\par % left -> right
+\stopbuffer
+
+\startbuffer[bidi-sample]
+\biditest\Arabic{LATIN BARA}{\textdir TLT\relax \LATIN\ \ARAB}\par
+\biditest\Arabic{BARA LATIN}{\textdir TRT\relax \LATIN\ \ARAB}\par
+\biditest\Arabic{LATIN ARAB}{\textdir TLT\bidilro \LATIN\ \ARAB}\par % right -> left
+\biditest\Arabic{LATIN ARAB}{\textdir TRT\bidilro \LATIN\ \ARAB}\par % right -> left
+\biditest\Arabic{BARA NITAL}{\textdir TLT\bidirlo \LATIN\ \ARAB}\par % left -> right
+\biditest\Arabic{BARA NITAL}{\textdir TRT\bidirlo \LATIN\ \ARAB}\par % left -> right
+\stopbuffer
+
+\startbuffer[bidi-setup]
+\setupdirections[bidi=off]
+\stopbuffer
+
+{\typebuffer[bidi-setup] \getbuffer[bidi-setup] \getbuffer[bidi-sample]}
+
+\startbuffer[bidi-setup]
+\setupdirections[bidi=global]
+\stopbuffer
+
+{\typebuffer[bidi-setup] \getbuffer[bidi-setup] \getbuffer[bidi-sample]}
+
+\startbuffer[bidi-setup]
+\setupdirections[bidi=local]
+\stopbuffer
+
+{\typebuffer[bidi-setup] \getbuffer[bidi-setup] \getbuffer[bidi-sample]}
+
+\startbuffer[bidi-sample]
+\setupdirections[bidi=global]
+
+ \hbox{\righttoleft\arabicfont (0001)}\par
+ \dontleavehmode\hbox{\righttoleft\arabicfont (0002)}\par
+ {\righttoleft\arabicfont (0003)\par}
+ {\righttoleft\arabicfont (0004)}\par
+ \dontleavehmode{\righttoleft\arabicfont (0005)\par}
+ \dontleavehmode{\righttoleft\arabicfont (0006)}\par
+ \rtlhbox{\arabicfont (0007)}\par
+ \ltrhbox{\arabicfont (0008)}\par
+\dontleavehmode\rtlhbox{\arabicfont (0009)}\par
+\dontleavehmode\ltrhbox{\arabicfont (0010)}\par
+\stopsetups
+
+{\typebuffer[bidi-sample] \getbuffer[bidi-sample]}
+
+\stoptext