summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-05-28 22:18:34 +0000
committerKarl Berry <karl@freefriends.org>2013-05-28 22:18:34 +0000
commitb35f3408669be630e54e72ffa92a8757287ea2ba (patch)
treeafda65773e5946e6a32f9d3a23302e5ed021b3ed
parent797980e75204d1b67d217a40e2cf981721e90d79 (diff)
luabidi (28may13)
git-svn-id: svn://tug.org/texlive/trunk@30790 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/lualatex/luabidi/README4
-rw-r--r--Master/texmf-dist/doc/lualatex/luabidi/test.tex13
-rw-r--r--Master/texmf-dist/tex/lualatex/luabidi/arabmaths.tex2
-rw-r--r--Master/texmf-dist/tex/lualatex/luabidi/autofootnoterule.tex116
-rw-r--r--Master/texmf-dist/tex/lualatex/luabidi/luabidi.sty56
-rw-r--r--Master/texmf-dist/tex/lualatex/luabidi/textwidthfootnoterule.tex2
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rwxr-xr-xMaster/tlpkg/bin/tlpkginfo8
-rw-r--r--Master/tlpkg/tlpsrc/collection-luatex.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/luabidi.tlpsrc0
10 files changed, 199 insertions, 5 deletions
diff --git a/Master/texmf-dist/doc/lualatex/luabidi/README b/Master/texmf-dist/doc/lualatex/luabidi/README
new file mode 100644
index 00000000000..0c784be245d
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/luabidi/README
@@ -0,0 +1,4 @@
+Luabidi is an attempt to offer the same functionality for LuaTeX as bidi
+does for XeTeX.
+
+Copyright (c) Vafa Khalighi 2009, and Arthur Reutenauer 2013
diff --git a/Master/texmf-dist/doc/lualatex/luabidi/test.tex b/Master/texmf-dist/doc/lualatex/luabidi/test.tex
new file mode 100644
index 00000000000..1b51109ad46
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/luabidi/test.tex
@@ -0,0 +1,13 @@
+\documentclass[12pt]{article}
+\usepackage[arabmaths]{luabidi}
+\begin{document}
+\setRTLmain
+\section{ghesmate 1}
+
+in yek ghesmat ast ke an ra dar inja minevisam
+
+\begin{equation}
+1+2=3
+\end{equation}
+in ham dobare masalei ast ke man minevisam va shoma an ra mibinid.
+\end{document}
diff --git a/Master/texmf-dist/tex/lualatex/luabidi/arabmaths.tex b/Master/texmf-dist/tex/lualatex/luabidi/arabmaths.tex
new file mode 100644
index 00000000000..f62f4dc35e9
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/luabidi/arabmaths.tex
@@ -0,0 +1,2 @@
+\luatexmathdir TRT
+\def\@eqnnum{{\normalfont \normalcolor \luatextextdir TLT ({\luatextextdir TRT\theequation})}}
diff --git a/Master/texmf-dist/tex/lualatex/luabidi/autofootnoterule.tex b/Master/texmf-dist/tex/lualatex/luabidi/autofootnoterule.tex
new file mode 100644
index 00000000000..a1211cb10fc
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/luabidi/autofootnoterule.tex
@@ -0,0 +1,116 @@
+\ifx \CatEscape\undefined
+ \chardef\CatEscape=0
+ \chardef\CatOpen=1
+ \chardef\CatClose=2
+ \chardef\CatIgnore=9
+ \chardef\CatLetter=11
+ \chardef\CatOther=12
+ \chardef\CatActive=13 % is defined in Plain already
+
+ \chardef\CatUsCode=\catcode`\_
+\fi
+
+\catcode`\_=\CatLetter % top level macro file
+
+
+\def\l@fn{%
+ \hbox to \columnwidth
+ {\luatexpagedir TLT\vbox{\kern -3\p@
+ \hrule width .4\columnwidth \kern2.6\p@}\hfil}}
+\def\r@fn{%
+ \hrule width .4\columnwidth\kern 2.6\p@}
+
+
+\def\@makefnmark{\hbox{$^{\hbox{\scriptsize\@thefnmark}}\m@th$}}
+
+
+\def\leftfootnoterule{\global\def\footnoterule{\l@fn}}
+\def\rightfootnoterule{\global\def\footnoterule{\r@fn}}
+\leftfootnoterule
+
+%%% \beginprog
+\newread\old_foot_file
+\newwrite\foot_file
+\def\foot_file_name{\jobname.fot\relax}
+\def\init_footnote{%
+ \openin\old_foot_file\foot_file_name
+ \ifeof\old_foot_file \closein\old_foot_file
+ \else \closein\old_foot_file
+ \read_foot_file
+ \fi
+ \immediate\openout\foot_file\foot_file_name
+ \immediate\write\foot_file{\relax}%
+ \global\let\init_footnote\relax
+ }
+
+\newcount\foot_name_no % for generating footnote mark names
+
+
+
+
+
+\newcount\autofootnote
+\def\fnpp_next_footnote{%
+ \init_footnote
+ \global\advance\foot_name_no\@ne
+ \global\advance\c@footnote\@ne
+ \edef\do_write{%
+ \immediate\write\foot_file{%
+ \string\advance\autofootnote\@ne
+ \string\expandafter\xdef
+ \string\csname\space f@\number\foot_name_no \endcsname{%
+ \string\number\autofootnote
+ }%
+ }%
+ }%
+ \do_write
+ \global\autofootnote 0\csname f@\number\foot_name_no \endcsname \relax
+ }
+
+\def\read_foot_file{%
+ \begingroup
+ \catcode`\@\CatLetter \catcode`\^^M\CatIgnore
+ \input \foot_file_name
+ \endgroup
+ }
+
+\let\fnpp_orig_outputpage=\@outputpage
+\def\@outputpage{%
+ \ifx \init_footnote\relax
+ \immediate\write\foot_file{\autofootnote\z@}%
+ \fi
+ \fnpp_orig_outputpage
+ }
+
+\let\FnppOrigFootnote=\footnote % save original bindings
+\let\FnppOrigFootnotemark=\footnotemark
+
+\def\footnote{%
+ \@ifnextchar[% % ] (Emacs)
+ \@xfootnote
+ {\fnpp_next_footnote \ifnum\autofootnote=1\rightfootnoterule\fi \@xfootnote[\the\c@footnote] %
+}%
+ }
+\def\footnotemark{%
+ \@ifnextchar[% % ] (Emacs)
+ \@xfootnotemark
+ {\fnpp_next_footnote \ifnum\autofootnote=1\rightfootnoterule\fi \@xfootnotemark[\the\c@footnote]}%
+ }
+
+
+
+
+\def\footnotemarkLR{%
+ \@ifnextchar[% % ] (Emacs)
+ \@xfootnotemark
+ {\fnpp_next_footnote \ifnum\autofootnote=1\leftfootnoterule\fi\@xfootnotemark[\the\c@footnote]}%
+ }
+
+
+\def\Footnote#1{%
+\begingroup
+\footnotemarkLR%
+\renewcommand{\thefootnote}{\@arabic\c@footnote}%
+\luatexpardir TLT \luatextextdir TLT\footnotetext{#1}%
+\endgroup
+}
diff --git a/Master/texmf-dist/tex/lualatex/luabidi/luabidi.sty b/Master/texmf-dist/tex/lualatex/luabidi/luabidi.sty
new file mode 100644
index 00000000000..ca8b47cca1c
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/luabidi/luabidi.sty
@@ -0,0 +1,56 @@
+%% This file is luabidi.sty
+%%
+%% Copyright © 2009 Vafa Khalighi, 2013 Arthur Reutenauer
+%%
+%%%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{luabidi}[2013/05/27 v0.2
+ Bidirectional typesetting in LuaTeX]
+\newif\if@RTL
+\newif\if@RTLmain
+\def\setRTLmain{\luatexpagedir TRT \luatexbodydir TRT \luatexpardir TRT \luatextextdir TRT}
+\def\setRTL{\@RTLtrue\luatexpardir TRT \luatextextdir TRT}
+\let\setRL=\setRTL
+\def\setLTR{\@RTLfalse\luatexpardir TLT \luatextextdir TLT}
+\let\setLR=\setLTR
+\let\unsetRTL=\setLTR
+\let\unsetLTR=\setRTL
+\def\RTL{\@RTLtrue\trivlist \luatexpardir TRT \luatextextdir TRT\item\relax}
+\def\endRTL{\@RTLfalse\endtrivlist}
+\def\LTR{\trivlist \luatexpardir TLT \luatextextdir TLT\item\relax}
+\def\endLTR{\endtrivlist}
+\def\@ensure@RTL#1{\if@RTL#1\else\RLE{#1}\fi}
+\def\@ensure@LTR#1{\if@RTL#1\else\LRE{#1}\fi}
+\def\@ensure@dir#1{\if@RTL\RLE{#1}\else{#1}\fi}
+\let\@ensure@maindir=\@ensuredir
+\@RTLmainfalse
+\DeclareOption{arabmaths}{\input{arabmaths}}
+\DeclareOption{textwidthfootnoterule}{\input{textwidthfootnoterule}}
+\let\n@xt=\
+\DeclareRobustCommand*\LRE{\protect\pLRE}
+\def\pLRE{\protect\afterassignment\moreLRE \let\n@xt= }
+\DeclareRobustCommand*\RLE{\protect\pRLE}
+\def\pRLE{\protect\afterassignment\moreRLE \let\n@xt= }
+\def\bracetext{\ifcat\n@xt{\else\ifcat\n@xt}\fi
+ \errmessage{Missing left brace has been substituted}\fi \bgroup}
+\def\moreLRE{\bracetext \aftergroup\unsetLTR \setLTR\@RTLfalse}
+\def\moreRLE{\bracetext \aftergroup\unsetRTL \setRTL\@RTLtrue}
+\let\LR=\LRE
+\let\RL=\RLE
+
+\def\Footnote#1{%
+\begingroup
+\footnotemark
+\renewcommand{\thefootnote}{\@arabic\c@footnote}%
+\luatexpardir TLT \luatextextdir TLT\footnotetext{#1}%
+\endgroup
+}
+
+\DeclareOption{autofootnoterule}{\input{autofootnoterule}}
+
+
+
+\ProcessOptions
+\endinput
diff --git a/Master/texmf-dist/tex/lualatex/luabidi/textwidthfootnoterule.tex b/Master/texmf-dist/tex/lualatex/luabidi/textwidthfootnoterule.tex
new file mode 100644
index 00000000000..7fc71e0cefc
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/luabidi/textwidthfootnoterule.tex
@@ -0,0 +1,2 @@
+\def\footnoterule{\kern-3\p@
+ \hrule \@width \textwidth \kern 2.6\p@}
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index f1809167406..a123616c2fc 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -279,7 +279,7 @@ my @TLP_working = qw(
lshort-vietnamese lstaddons ltablex ltabptch
ltxdockit ltxfileinfo ltxindex ltxkeys ltxmisc ltxnew ltxtools
lua-alt-getopt lua-check-hyphen lua-visual-debug
- lua2dox luabibentry luacode
+ lua2dox luabibentry luabidi luacode
luaindex luainputenc luaintro lualatex-doc lualatex-doc-de
lualatex-math lualibs
luamplib luaotfload
diff --git a/Master/tlpkg/bin/tlpkginfo b/Master/tlpkg/bin/tlpkginfo
index 3b97472c74a..2e515959eb2 100755
--- a/Master/tlpkg/bin/tlpkginfo
+++ b/Master/tlpkg/bin/tlpkginfo
@@ -98,14 +98,14 @@ sub find_ctan_dir {
"macros/latex/contrib/powerdot/contrib/$me_wo_powerdot", # powerdot-doc-vn
"macros/latex/exptl/$me", # semioneside
"macros/latex/required/$me", # babel
- "macros/plain/$me", # plnfss
- "macros/plain/contrib/$me", # timetable
- "macros/context/contrib/$me", # context
"macros/xetex/latex/$me", # xetex
"macros/xetex/generic/$me", # harvardkyoto
+ "macros/plain/$me", # plnfss
+ "macros/plain/contrib/$me", # timetable
+ "macros/luatex/latex/$me", # luabidi
"macros/generic/$me", # abbr
"macros/generic/diagrams/$me", # circ
- "macros/$me", # eplain
+ "macros/context/contrib/$me", # context
"support/$me", # thumbpdf
"support/$me_wo_bin", # bin-thumbpdf
"language/vietnamese/$me/unpacked", # vntex
diff --git a/Master/tlpkg/tlpsrc/collection-luatex.tlpsrc b/Master/tlpkg/tlpsrc/collection-luatex.tlpsrc
index 918fcf0a4c7..c04add6c1ca 100644
--- a/Master/tlpkg/tlpsrc/collection-luatex.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-luatex.tlpsrc
@@ -13,6 +13,7 @@ depend lua-check-hyphen
depend lua-visual-debug
depend lua2dox
depend luabibentry
+depend luabidi
depend luacode
depend luaindex
depend luainputenc
diff --git a/Master/tlpkg/tlpsrc/luabidi.tlpsrc b/Master/tlpkg/tlpsrc/luabidi.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/luabidi.tlpsrc