summaryrefslogtreecommitdiff
path: root/tex/context/base/m-arabtex.tex
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2011-01-31 00:28:38 +0200
committerMarius <mariausol@gmail.com>2011-01-31 00:28:38 +0200
commita894f2e8c02c29b8ddeec3094acc1859ab34f864 (patch)
tree9469b3f59ac3b5a394712f4bbfcdb648bda35f4a /tex/context/base/m-arabtex.tex
parent89fb25d071d8742dfade2dc98a4f81e718030798 (diff)
downloadcontext-a894f2e8c02c29b8ddeec3094acc1859ab34f864.tar.gz
beta 2011.01.24 10:00
Diffstat (limited to 'tex/context/base/m-arabtex.tex')
-rw-r--r--tex/context/base/m-arabtex.tex450
1 files changed, 0 insertions, 450 deletions
diff --git a/tex/context/base/m-arabtex.tex b/tex/context/base/m-arabtex.tex
deleted file mode 100644
index 61e56e93a..000000000
--- a/tex/context/base/m-arabtex.tex
+++ /dev/null
@@ -1,450 +0,0 @@
-%D \module
-%D [ file=m-arabtex, % was font-arb,
-%D version=2003.02.22, % 1999.11.06,
-%D title=\CONTEXT\ Modules,
-%D subtitle=Arabic,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-% I still need to hook in some features into the setup
-% macro. I also have to (re)define farsi etc. in ways
-% similar to arab, so that we have dedicated environments.
-%
-% keywords needed: vocalize transscribe
-%
-% \startarabic[option=vocalize] % or vocalize=yes
-% ......
-% \stoparabic
-
-\writestatus{loading}{ConTeXt Font Macros / ArabTeX support}
-
-%D At the \NTG\ 10\high{th} anniversary meeting Klaus Lagally
-%D introduced the audience to arabic typesetting, and after
-%D that I knew that some day I really had to look into his
-%D generic package. And then, sort of simultaniously Maarten
-%D Wisse and Imran Ahsan Nyazee asked me if \CONTEXT\ could
-%D support \ARABTEX, a package that provides right to left
-%D typesetting of (several variants of) arab and hebrew.
-%D Having implemented support for chinese a few weeks before,
-%D I could not resist to build in support for arab and hebrew
-%D too. Writing support for languages that don't give me any
-%D cue on how to pronounce their script, is kind of special.
-
-%D This is a beta version, since I still have to take care of some
-%D macros that conflict with existing stuff.
-
-\unprotect
-
-\definesystemvariable{ARABTEX}
-
-\def\setupARABTEX
- {\getparameters[\??ARABTEX]}
-
-\setupARABTEX
- [\s!rscale=1.2,
- \c!before=,
- \c!after=,
- \c!inner=\setarab,
- \c!style=\setarabicfont\fontstylesuffix]
-
-%D A few (maybe too) simple hooks into the font mechanism. The
-%D hook into the language module is not yet done.
-
-% \unexpanded\def\setarabicfont#1% rscale
-% {\scratchdimen\@@ARABTEXrscale\bodyfontsize
-% \font\arbfont\truefontname{Arabic#1} at \currentfontscale\scratchdimen
-% \setx@skels
-% \newfonttrue
-% \arbfont}
-%
-% more modern
-%
-% \unexpanded\def\setarabicfont#1% rscale
-% {\definefont[arbfont][Arabic#1 sa \@@ARABTEXrscale]%
-% \setx@skels
-% \newfonttrue
-% \arbfont}
-%
-% more efficient
-
-\unexpanded\def\setarabicfont#1%
- {\setx@skels
- \newfonttrue
- \definedfont[Arabic#1 sa \ARABTEXparameter\s!rscale]}
-
-%D Just to be compatible with Arab\TEX\ we define:
-
-\unexpanded\def\nash {\setarabicfont\s!Regular}
-\unexpanded\def\nashbf {\setarabicfont\s!Bold }
-\unexpanded\def\pnash {\setarabicfont\s!Regular}
-\unexpanded\def\pnashbf{\setarabicfont\s!Bold }
-\unexpanded\def\xnash {\setarabicfont\s!Regular}
-\unexpanded\def\xnashbf{\setarabicfont\s!Bold }
-
-%D The display arabic environment (will be an installable
-%D object) uses a few conditionals. Let's do it the
-%D \CONTEXT\ way and define an anvironment that we later can
-%D adapt.
-
-\newif\if@ignore
-\newif\if@endpe
-
-\def\setupARABTEXalternative[#1]%
- {\dodoubleempty\getparameters[\??ARABTEX#1]}
-
-\def\defineARABTEXalternative
- {\dodoubleempty\dodefineARABTEXalternative}
-
-\def\dodefineARABTEXalternative[#1][#2]%
- {\iffirstargument % \startarab is defined but used already
- \getparameters
- [\??ARABTEX#1]
- [\c!before=\@@ARABTEXbefore,
- \c!after=\@@ARABTEXafter,
- \c!inner=\@@ARABTEXinner,
- \c!style=\@@ARABTEXstyle,
- \s!rscale=\@@ARABTEXrscale,
- #2]%
- \setvalue {\e!start#1}{\displayARABTEXalternative{#1}}%
- \unexpanded\setvalue{#1}{\inlineARABTEXalternative {#1}}%
- \unexpanded\def\RL{\getvalue{#1}}%
- \unexpanded\def\LR{\a@LR}%
- \let\R=\RL
- \let\L=\LR
- \expandafter\all@wcmd\csname\e!stop#1\endcsname
- \else
- \defineARABTEXalternative[arabic]%
- \fi}
-
-\def\initializeARABTEXinternals
- {\ARABTEXparameter\c!inner
- \the\everyARABTEXpreset}
-
-\newtoks \everyARABTEXpreset
-
-\let\currentARABTEXalternative\empty
-
-\def\ARABTEXparameter#1%
- {\csname\??ARABTEX\currentARABTEXalternative#1\endcsname}
-
-\def\inlineARABTEXalternative#1#2%
- {\bgroup
- \edef\currentARABTEXalternative{#1}%
- \initializeARABTEXinternals
- \a@RL{#2}%
- \egroup}
-
-\def\displayARABTEXalternative#1%
- {\dodoubleempty\dostartARABTEXalternative[#1]}
-
-\def\dostartARABTEXalternative[#1][#2]%
- {\begingroup
- \edef\currentARABTEXalternative{#1}%
- \getparameters[\??ARABTEX\currentARABTEXalternative][#2]%
- \ifnum1<0\ARABTEXparameter\c!n\relax
- \startcolumns
- \else
- \ARABTEXparameter\c!before
- \fi
- \initializeARABTEXinternals
- \initializeARABTEXend
- \arabtext
- \initializeARABTEXalternative}
-
-\def\initializeARABTEXalternative
- {\ARABTEXparameter\c!style}
-
-\def\initializeARABTEXend% \CONTEXT\ does use \end quite differently
- {\long\def\end##1%
- {\endarabtext
- \ifnum1<0\ARABTEXparameter\c!n\relax
- \stopcolumns
- \else
- \ARABTEXparameter\c!after
- \fi
- \endgroup}%
- \let\a@l@end\end
- \letvalue{\e!stop\currentARABTEXalternative}=\end
- \long\def\end##1%
- {\endarabtext
- \endgroup
- \if@ignore\global\@ignorefalse\expandafter\ignorespaces\fi}}
-
-%D Arabic verbatim.
-
-\def\typearab{\a@@verb}
-
-%D Some \LATEX\ macros.
-
-\def \makeatletter{\unprotect}
-\def \makeatother {\protect}
-\def \typeout {\writestatus{arabtex}}
-
-%D We have to save some macros.
-
-\let\ARABTEXversion=\empty
-
-\def\startloadingARABTEX% ugly hacks
- {\catcode`!=12
- \catcode`?=12
- \pushmacro\output \let \output \scratchtoks
- \pushmacro\LaTeX \let \LaTeX \undefined
- \pushmacro\CJK \let \CJK \undefined
-% \pushmacro\peek@token \let \peek@token \undefined
-% \pushmacro\edmacloaded \let \edmacloaded \undefined
- \pushmacro\year \let \year \normalyear
- \pushmacro\month \let \month \normalmonth
- \pushmacro\day \let \day \normalday
- \pushmacro\input \def \input ##1 {\normalinput ##1 }
- \pushmacro\linewidth
- \pushmacro\datum \def\datum {\toks0}
- \pushmacro\version \def\version {\toks2}
- \pushmacro\theversion \let\theversion \ARABTEXversion
- \pushmacro\emphasize
- \pushmacro\cap}
-
-\def\stoploadingARABTEX
- {\catcode`!=11
- \catcode`?=11
- \popmacro\cap
- \popmacro\emphasize
- \popmacro\theversion
- \popmacro\version
- \popmacro\datum
- \popmacro\linewidth
- \popmacro\input
- \popmacro\day
- \popmacro\month
- \popmacro\year
-% \popmacro\edmacloaded
-% \popmacro\peek@token
- \popmacro\CJK
- \popmacro\LaTeX
- \popmacro\output}
-
-%D We save some macros:
-
-\startloadingARABTEX
-
-%D When loading \ARABTEX\ we have to set back the~! and~?.
-
-\input arabtex.sty
-
-%D Since \ARABTEX\ has its own \type {\cap}, we save the
-%D new meaning. We also redefine some \PLAIN\ macros, which
-%D happen to have a different meaning in \LATEX.
-
-\let\ARABTEXversion\theversion
-\let\ARABTEXcap \cap
-
-\appendtoks
- \let\cap\ARABTEXcap
-\to \everyARABTEXpreset
-
-\def\ARABTEXsh@ft#1%
- {\dimen@.00#1ex
- \multiply\dimen@\slantperpoint
- \kern-.0156\dimen@}
-
-\appendtoks
- \let\sh@ft\ARABTEXsh@ft
-\to \everyARABTEXpreset
-
-\def\ARABTEXd#1%
- {{\o@lign{\relax#1\crcr\hidewidth\sh@ft{10}%
- .\hidewidth}}}
-
-\def\ARABTEXb#1%
- {{\o@lign{\relax#1\crcr\hidewidth\sh@ft{29}%
- \vbox to.2ex{\hbox{\char22}\vss}\hidewidth}}}
-
-\appendtoks
- \let\b\ARABTEXb
- \let\d\ARABTEXd
-\to \everyARABTEXpreset
-
-\def \ARABTEXbreakA {\hfill\break}
-\def \ARABTEXbreakB {\break}
-\edef\ARABTEXbar {\string|}
-\def \ARABTEXcomma {\relax\ifmmode\mskip\thinmuskip\else\thinspace\fi}
-
-\appendtoks
- \let\\=\ARABTEXbreakA
- \let\|=\ARABTEXbreakB
- \let |=\ARABTEXbar
- \let\,=\ARABTEXcomma
-\to \everyARABTEXpreset
-
-\let\ARABTEXprotect\relax
-
-\appendtoks
- \let\protect\ARABTEXprotect
-\to \everyARABTEXpreset
-
-%D Now we can pop the saved macros.
-
-\stoploadingARABTEX
-
-%D Ah, we have to get rid of some \type {\protect} stuff but
-%D to permit testing we add it in the \CONTEXT\ way.
-
-% \bgroup
-% \catcode`\<=\@other
-% \unexpanded\gdef\a@ins
-% {\ifmmode
-% \expandafter<%
-% \else
-% \dontleavehmode \bgroup
-% \arab@codes \set@arabfont \@waslafalse \@wasfalse
-% \expandafter\arab@insert
-% \fi}
-% \unexpanded\gdef\<{\a@ins}
-% \catcode`\<=\active
-% \global\let<=\a@ins
-% \egroup
-%
-% cleaner:
-
-\defineactivecharacter < {\a@ins} \unexpanded\gdef\<{\a@ins}%
-
-\def\normal@a@ins
- {\dontleavehmode % context prefers this instead of \leavevmode
- \bgroup
- \arab@codes
- \set@arabfont
- \@waslafalse
- \@wasfalse
- \arab@insert}
-
-\unexpanded\gdef\a@ins
- {\mathortext<\normal@a@ins}
-
-%D We also need to register a few macros:
-
-\all@wcmd\initializeARABTEXalternative % no argument, internal command
-\all@wcmd\tx % no argument, small font
-\all@wcmd\txx % no argument, smaller font
-
-%D We also hook it into the presetter.
-
-\appendtoks
- \let\normaltx \tx \def\tx {\normaltx \setarabicfont\fontstylesuffix}%
- \let\normaltxx\txx\def\txx{\normaltxx\setarabicfont\fontstylesuffix}%
-\to \everyARABTEXpreset
-
-%D The main definitions are:
-
-\definefontsynonym [ArabicRegular] [xnsh14]
-\definefontsynonym [ArabicBold] [xnsh14bf]
-
-\defineARABTEXalternative
- [arabic]
- [\c!inner=\setarab,
- \c!style=\setarabicfont\fontstylesuffix]
-
-\defineARABTEXalternative
- [farsi]
- [\c!inner=\setfarsi,
- \c!style=\setarabicfont\fontstylesuffix]
-
-\defineARABTEXalternative
- [urdu]
- [\c!inner=\seturdu,
- \c!style=\setarabicfont\fontstylesuffix]
-
-\defineARABTEXalternative
- [maghribi]
- [\c!inner=\setmaghribi,
- \c!style=\setarabicfont\fontstylesuffix]
-
-%D Apart from such definitions, one can adapt the settings
-%D using \type {\setupARABTEXalternative}.
-%D
-%D A few years ago at the Holland Festivities, I attended {\em
-%D The Cave}, one of the most impressive combinations of music
-%D and video I know. This composition of Steve Reich (music)
-%D and .. (video) concentrates on the common grounds of arabs
-%D and jews: their ancestor Abram. Listening to the \CDROM's
-%D of {\em The Cave}, provided me the right ambiance for
-%D filling in the details of this module. In {\em The Cave},
-%D interviews, music, and |<|believe it or not|>| rhythmic
-%D typography are the cornerstones. Remembering those big
-%D screens, it strikes me that like music, \TEX\ too is a
-%D perfect instrument to cross cultural and linguistic
-%D borders. So, let's load Hebrew support as well:
-
-\unexpanded\def\sethebrewfont#1%
- {\setx@skels
- \newfonttrue
- \definedfont[Hebrew#1 sa \ARABTEXparameter\s!rscale]}
-
-% \let \setheb \sethebrew
-
-\unexpanded\def\pheb {\sethebrewfont\s!Regular}
-\unexpanded\def\phebbf{\sethebrewfont\s!Bold}
-
-% \startloadingARABTEX
-
-% \ReadFile{hebtex.sty}
-% \ReadFile{apatch.sty}
-% \ReadFile{hepatch.sty}
-
-% \stoploadingARABTEX
-
-\definefontsynonym [HebrewRegular] [hclassic]
-\definefontsynonym [HebrewBold] [hcaption]
-
-\defineARABTEXalternative
- [hebrew]
- [\c!inner=\sethebrew,
- \c!style=\sethebrewfont\fontstylesuffix]
-
-%D Now we're done:
-
-\protect \endinput
-
-% everyoutput : \charsubdefmax \arab@charsubdefmax
-
-% \defineconversion [abjad] [\abj@d]
-%
-% voetnoten verbatim lijsten indexen tabellen uitlijnen
-%
-% \v!hoofdstuk=al-fa.slu
-% \v!inhoud=al-mu.htawayAtu
-% \v!figuren=qA'imaTu al-.suwaru
-% \v!tabellen=qA'imaTu al-^gadAwilu
-% \v!grafieken=qA'imaTu al-rusUmu
-% \v!index=al-fihrisu
-% \v!bijlage=al-mul.haqu
-
-% \usemodule[arabtex]
-%
-% \usetypescript[postscript] \switchtotypeface[postscript]
-%
-% \setarab \novocalize
-%
-% \starttext
-%
-% \placecontent
-%
-% \section{\<mu.hammad>} % short arabic use \< .. >
-% \section{\<mu.hammad>} % short arabic use \< .. >
-%
-% \startarabic
-% mu.hammad 'i_d q"aAm zay"d" + i_d yaqUm zyd + A_d zyd q"aAm
-%
-% mu.hammad 'i_d q"aAm zay"d" + i_d yaqUm zyd + A_d zyd q"aAm
-% \stoparabic
-%
-% \section{\<al-maq.sad>}
-%
-% \startarabic
-% mu.hammad 'i_d q"aAm zay"d" + i_d yaqUm zyd + A_d zyd q"aAm
-% \stoparabic
-%
-% \stoptext