diff options
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.mkiv | 190 |
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 |