diff options
Diffstat (limited to 'obsolete/systems/omega/torture.tex')
-rw-r--r-- | obsolete/systems/omega/torture.tex | 1123 |
1 files changed, 1123 insertions, 0 deletions
diff --git a/obsolete/systems/omega/torture.tex b/obsolete/systems/omega/torture.tex new file mode 100644 index 0000000000..821194b3d5 --- /dev/null +++ b/obsolete/systems/omega/torture.tex @@ -0,0 +1,1123 @@ +\documentclass[a4paper,11pt]{article} +\usepackage{amsmath} +\usepackage{omega} +%\usepackage[dvips]{draftcopy}\draftcopyName{\today}{140} +\def\shortarab#1{{\pushocplist\ArabicOCP\fontfamily{omarb}\selectfont#1\popocplist}} +\def\shortberber#1{{\pushocplist\ArabicBerberOCP\fontfamily{omarb}\selectfont#1\popocplist}} +\def\shortgreek#1{{\pushocplist\GreekOCP\fontfamily{omlgc}\selectfont#1\popocplist}} +\def\shortlatberber#1{{\pushocplist\LatinBerberOCP\fontfamily{omlgc}\selectfont#1\popocplist}} +\def\shorttifi#1{{\pushocplist\TifinaghOCP\fontfamily{omlgc}\selectfont#1\popocplist}} +\def\shortpashto#1{{\pushocplist\AfghaPashtoOCP\fontfamily{omarb}\selectfont#1\popocplist}} +\def\shortpashtop#1{{\pushocplist\PakiPashtoOCP\fontfamily{omarb}\selectfont#1\popocplist}} +\def\shortsindhi#1{{\pushocplist\SindhiOCP\fontfamily{omarb}\selectfont#1\popocplist}} +\def\tl#1#2#3#4#5#6{\hline\rule[-5pt]{0pt}{14pt}\texttt{#1}&\shortarab{#1}&\texttt{#2}&\shortarab{#2}&\texttt{#3}&\shortarab{#3}& +\texttt{#4}&\shortarab{#4}&\texttt{#5}&\shortarab{#5}&\texttt{#6}&\shortarab{#6}\\} +% +\def\ttl#1#2#3{\hline\rule[-5pt]{0pt}{14pt}\texttt{#1}&\shortlatberber{#1}&\shortberber{#1}&\shorttifi{#1}& +\texttt{#2}&\shortlatberber{#2}&\shortberber{#2}&\shorttifi{#2}& +\texttt{#3}&\shortlatberber{#3}&\shortberber{#3}&\shorttifi{#3}\\} +% +\def\stl#1#2#3#4#5#6{\hline\rule[-5pt]{0pt}{14pt}\texttt{#1}&\shortsindhi{#1}&\texttt{#2}&\shortsindhi{#2}&\texttt{#3}&\shortsindhi{#3}& +\texttt{#4}&\shortsindhi{#4}&\texttt{#5}&\shortsindhi{#5}&\texttt{#6}&\shortsindhi{#6}\\} +\def\patl#1#2#3#4#5#6{\hline\rule[-5pt]{0pt}{14pt}\texttt{#1}&\shortpashto{#1}&\texttt{#2}&\shortpashto{#2}&\texttt{#3}&\shortpashto{#3}& +\texttt{#4}&\shortpashto{#4}&\texttt{#5}&\shortpashto{#5}&\texttt{#6}&\shortpashto{#6}\\} +\def\paptl#1#2#3#4#5#6{\hline\rule[-5pt]{0pt}{14pt}\texttt{#1}&\shortpashtop{#1}&\texttt{#2}&\shortpashtop{#2}&\texttt{#3}&\shortpashtop{#3}& +\texttt{#4}&\shortpashtop{#4}&\texttt{#5}&\shortpashtop{#5}&\texttt{#6}&\shortpashtop{#6}\\} +\begin{document} +\setcounter{page}{63} +\title{Multilingual Typesetting with \OMEGA, a Case Study: Arabic} +\author{Yannis Haralambous\thanks{Atelier Fluxus Virus, 187, rue Nationale, +59800 Lille, France, \texttt{yannis@fluxus-virus.com}} +\and +John Plaice\thanks{School of Computer Science and Engineering, +The University of New South Wales, Sydney 2052 Australia, +\texttt{plaice@cse.unsw.edu.au}} +} +\date{} +\maketitle +\begin{abstract} +In this paper we describe the internal structure of the Arabic script +package for the \OMEGA{} typesetting system, as well as the techniques +and tools used for its development. This package allows typesetting +using regular \LaTeX{} styles, in all Arabic alphabet languages: +Arabic, Berber, Farsi, Urdu, Pashto, Sindhi, Uighur, etc. + +We also give a description of the character codes added to Unicode, to +obtain the Unicode++ encoding, used by the \OMEGA{} system for +typesetting purposes. +\end{abstract} + +\section{Overview of the \OMEGA{} Arabic Script Package} + +Typesetting with \OMEGA{} is a process similar to typesetting with +\TeX: the user prepares a ``source'' file, containing the text of +\hisher{} document and a certain number of macro-commands for +attribute changes of the text (font characteristics, language, case, +etc.), references to figures (included in graphical format files on +disk) and other material included in or accompanying the text. + +Once this source file prepared, \OMEGA{} is launched: it reads the +file, expands the commands and typesets the text accordingly. To +perform this task, \OMEGA{} loads and executes several \OTP{}s +(\OMEGA{} Translation Processes), which take care of low level +properties of the document (contextual analysis of the script, case +switching according to script and language, etc.). It also uses +different fonts, most of which are \emph{virtual}, in the sense that +they themselves call other fonts. On a higher level, such a document +uses \LaTeX{} packages, some of them modified to take advantage of the +additional features of \OMEGA{} vs.\ \TeX. + +The leading idea of the \OMEGA{} Arabic Script Package (as of any +\OMEGA{} language package) is that the low level properties of the +script have to be separated from higher level typesetting +commands. For example, contextual analysis of the Arabic script has to +be completely independent of the \LaTeX{} command level, so that one +can use Arabic text in any context (inside a table or a formula, or +deeply nested inside several \LaTeX{} environments and commands, etc.) +and under any circumstances, as in the following example, which has been +typeset with ordinary \LaTeX{} environments and macros: + +{\pardir TRT\textdir TRT\pushocplist\ArabicOCP\fontfamily{omarb}\selectfont +\begin{center}\begin{tabular}{|c|c|}\hline +{\textdir TRT HayA"t} & {\textdir TRT mayyit}\\\hline +{\mathdir TLT$\displaystyle\int_{\text{\textdir TRT Sif<>r}}^{\hbox dir TRT{\textdir TRT ghyr maH<>duUd}}f(x)\,dx$} & {\textdir TRT 'aanA}\\\hline +\end{tabular}\end{center} +\popocplist} + +There are two key aspects to Arabic script typesetting, +unfortunately of unequal complexity: the first one is contextual +analysis, that is the fact that Arabic letters change shape according +to their position in a word, or according to the fact that they are +part of an abbreviation, etc. This aspect can be handled easily and +efficiently by \OTP{}s. The second aspect is more global: it is the +fact that Arabic script is written from right to left. + +Two methods can be applied: the first one is to change the default +direction of the whole document. This method is extremely efficient +when the document is entirely in Arabic, or if left-to-right text +excerpts are exceptional. Being global, this method applies also to +page-level typesetting methods, such as the order of columns in a +multicolumn environment, etc. Of course, mathematical formulas are not +affected by this global direction change. + +The second method is to keep left-to-right as default direction and to +temporarily switch to right-to-left for every Arabic script +sentence. This can be practical for a document where Arabic excerpts +are exceptional. + +\section{Parts of the \OMEGA{} Arabic Script Package} + +This package consists of the following elements: + +\begin{enumerate} +\item{}\tolerance=3000 The \texttt{OmegaSerifArabic} PostScript fonts: +files \texttt{omsea1.pfb}, \texttt{omsea2.pfb}, \texttt{omsea3.pfb} +and the corresponding AFM files. A Sans-serif font +(\texttt{Omega\-Sans\-Arabic}), as well as additional styles of the +Serif font are under development. +\item{}\tolerance=3000 The virtual font \texttt{omrl}: files +\texttt{omrl.ovf}, \texttt{omrl.ofm}, \texttt{omsea1.tfm}, +\texttt{omsea2.tfm}, \texttt{omsea3.tfm}. +\item{} The configuration file \texttt{omrl.cfg}, which is used by the +PERL utility MakeOVP to create the virtual font out of the AFM files +and other information. +\item{} A certain number of \OTP{}s: +\begin{enumerate} +\item{} \texttt{7arb2uni.otp}, 7-bit Arabic/Farsi transcription to Unicode; +\item{} \texttt{7ber2uni.otp}, 7-bit Berber transcription to Unicode; +\item{} \texttt{7urd2uni.otp}, 7-bit Urdu transcription to Unicode; +\item{} \texttt{7pas2uni.otp}, 7-bit Afghanistani Pashto transcription to Unicode; +\item{} \texttt{7pap2uni.otp}, 7-bit Pakistani Pashto transcription to Unicode; +\item{} \texttt{7snd2uni.otp}, 7-bit Sindhi transcription to Unicode; +\item{} \texttt{uni2cuni.otp}, contextual analysis, sending Unicode++ to cUnicode++ +(`c' for `contextual'); +\item{} \texttt{cuni2oar.otp}, cUnicode++ to \texttt{omrl} font. +\end{enumerate} +These \OTP{}s are available in human-readable and compiled binary +format (OCP), the latter being loaded by \OMEGA{} on runtime. +\item{} A \LaTeX{} style (\texttt{arabic.sty}) defining a command that +will activate and deactivate the \OTP{}s. +\item{} Documentation and test files (\texttt{testarab.tex}, +\texttt{testsind.tex}). +\end{enumerate} + +\section{Installation of the \OMEGA{} Arabic Script Package} + +To use the \OMEGA{} Arabic Script Package you must have \OMEGA{} +version 1.45 or higher installed on your machine. Place OFM, OVF, TFM +and OCP files where the system expects to find them (if in doubt, +consult the \texttt{texmf.conf} file). Keep the \texttt{arabic.sty} +file somewhere where it can be found by \OMEGA{}. Finally add the +following few lines to the \texttt{psfonts.map} configuration file of +\texttt{odvips}: +\begin{verbatim} +omsea1 OmegaSerifArabicOne </foo/omsea1.pfb +omsea2 OmegaSerifArabicTwo </foo/omsea2.pfb +omsea3 OmegaSerifArabicThree </foo/omsea3.pfb +\end{verbatim} +where \texttt{/foo} stands for the absolute path of the directory +containing the PFB files. + +This is all you need to do: you can start already by launching +\OMEGA{} on files \texttt{testarab.tex} and \texttt{testsind.tex}. + +In the following sections we will describe the use of the package, +from the end users' point of view. We will assume that the user is +familiar with the \TeX{} typesetting system and the \LaTeX{} macro +package. + +\section{Basic Macros} + +Before starting a new document one has to choose if the ``background +language'' is going to be an Arabic alphabet language, in other terms, +if we expect pages and columns to be typeset from right to left, and +the whole global page design to be right-to-left oriented. + +If this the case, then the macro +\verb=\GlobalArabic[=\texttt{\textit{language}}\verb=]= has to be used +in the document header, where the optional argument +\texttt{\textit{language}} is one of the following: \texttt{arabic} +(by default), \texttt{farsi}, \texttt{urdu}, \texttt{pashto}, +\texttt{sindhi}, \texttt{custom}. + +This macro will switch the global typesetting direction of the +document to right-to-left and will launch the \OTP s necessary for the +language chosen. + +Inside the document, independently of the choice of background +language, one can use \LaTeX{} environments \texttt{arabic}, +\texttt{berber}, \texttt{farsi}, \texttt{urdu}, \texttt{pashto}, +\texttt{pashtop}, \texttt{sindhi} to switch to the corresponding +language, and \texttt{latin} or \texttt{greek} to switch to a Latin +alphabet language or some flavour of Greek. It should be noted that +these macros are only temporary and will be adapted to a more global +language-switching scheme, currently being elaborated by the \LaTeX3 +and \OMEGA{} working groups. + +\section{Input of Arabic Alphabet Text} + +\subsection{You Have an Arabic Keyboard} + +If you have an Arabic Keyboard, containing sufficiently many keys for +the language you want to typeset (for example, with a standard Arabic +keyboard one can perhaps typeset Farsi, possibly Urdu but not Pashto +and certainly not Sindhi), you need to configure \OMEGA{} to your +\emph{input encoding}, by providing the appropriate input \OTP{} by +use of the \verb=\ArabicInputEncoding= macro, which you have to place +in the header of your document. We have already written such \OTP{}s +for three input encodings: Macintosh Arabic (\texttt{applemac}, +covering Arabic, Farsi, Urdu), Windows Arabic (\texttt{1256}, covering +Arabic and Farsi), MS-DOS Arabic ASMO (\texttt{708}, covering Arabic +only) and ISO~8859-6 (\texttt{iso8859-6}, covering only Arabic). If +your equipment is not in this list, go to section~\ref{writingOTPs} to +see how to write your own \OTP{}s. + +\subsection{You Don't Have an Arabic Keyboard} + +In that case you can use a Latin transcription: we have prepared ASCII +Latin transcriptions for each of the main Arabic-alphabet languages: +Arabic, Berber, Farsi, Urdu, Pashto (Afghanistani and Pakistani), +Sindhi. Here they are: + +\subsubsection{Arabic/Farsi Transcription}\label{arabtrans} + +\begin{center} +\begin{tabular}{|c|c||c|c||c|c||c|c||c|c||c|c|} +\tl{A}{p}{z}{`}{m}{I} +\tl{'a}{j}{zh}{gh}{n}{y} +\tl{'i}{H}{s}{f}{'n}{'y} +\tl{'A}{kh}{sh}{q}{-h}{||} +\tl{"A}{ch}{S}{v}{"h}{E} +\tl{b}{d}{D}{k}{e}{} +\tl{t}{dh}{T}{g}{U}{LLah} +\tl{th}{r}{Z}{l}{'u}{SLh} +\hline +\end{tabular} +\end{center} + +\noindent +Remarks: + +\begin{enumerate} +\item The \emph{tah marbutah} \shortarab{"h} can be written in two +ways: \texttt{"h} or \texttt{"t}. +\item The \emph{waw} \shortarab{w} can be written in two ways: +\texttt{w} or \texttt{U}. +\item The hyphen in front of the transcription of \shortarab{h} is +only necessary to prevent confusion between cases such as \texttt{kh} +(\shortarab{kh}) and \texttt{k-h} (\begin{arab}k-h\end{arab}). We +suggest you use it all the time. +\item VERY IMPORTANT: the duplication of consonants (\emph{shaddah}) +is obtained by writing the consonants twice. So for example, +\texttt{Dmm"h} will produce \begin{arab}Dmm"h\end{arab} and not +\begin{arab}Dm-m"h\end{arab}; to obtain the latter, type \texttt{Dm-m"h}, +as for example in the word \begin{arab}t-tHrrk\end{arab}, which +presents both cases, and which is typed \texttt{t-tHrrk}. +\end{enumerate} + +Vowels and other diacritics are obtained in the following way: (they +are typed after the consonant to which they belong) + +\begin{center} +\begin{tabular}{|l|c|} +\hline fatha & \texttt{a}\\ +\hline kasra & \texttt{i}\\ +\hline damma & \texttt{u}\\ +\hline soukoun & \texttt{<>}\\ +\hline vertical fatha & \texttt{a|}\\ +\hline fathatan & \texttt{aN}\\ +\hline kasratan & \texttt{iN}\\ +\hline dammatan & \texttt{uN}\\\hline +\end{tabular}\end{center} + +Example: it is a trivial task now to welcome you to this system of +Arabic input, by saying + +\begin{verbatim} +\begin{arab} +\Huge +'aahlAaN wa sahlAaN! +\end{arab} +\end{verbatim} + +{\pardir TRT\textdir TRT +\begin{center} +\begin{arab} +\Huge +'aahlAaN wa sahlAaN! +\end{arab} +\end{center} +} + +\noindent +Example of vowelized Arabic:\\[8pt] + +{\pardir TRT\textdir TRT +\begin{quote} +\pushocplist\ArabicOCP\fontfamily{omarb}\selectfont\LARGE li'aannahaA +"Al<>'Ana laA tufakkiru fiI naf<>sihaA, walakinnahaA tufakkiru fiI +'aakhaway<>haA wafiI "Al<>khaTari "AlladhiI laHiqahumaA. \popocplist +\end{quote} +} + +\noindent transcribed: + +\begin{quote} +\texttt{li'aannahaA "Al<>'Ana laA tufakkiru fiI naf<>sihaA,\\ +walakinnahaA tufakkiru fiI 'aakhaway<>haA\\ +wafiI "Al<>khaTari "AlladhiI laHiqahumaA.} +\end{quote} + +\subsubsection{Urdu Transcription} + +The Urdu transcription is similar to the Arabic/Farsi one described +above, with a few additional characters, and one exception. + +The additional characters are \shortarab{'t}, \shortarab{'d} and +\shortarab{'r}, transcribed by \texttt{'t}, \texttt{'d}, +\texttt{'r}. The exception concerns the two different uses of the +\emph{hah} glyph \shortarab{h}. In Urdu it can be used as the second +part of a digraph, such as for example +\begin{smallurdu}jh\end{smallurdu}, in which case we transcribe it as +\texttt{-h}; it can also be the standard consonant \emph{hah}, in +which case we transcribe it by \texttt{x}. Notice the four forms of +the latter in Urdu: \begin{smallurdu}x-x-x x\end{smallurdu}, while in +Arabic the same letter is written \begin{smallarab}h-h-h +h\end{smallarab}. + +\noindent +Example: + +{\pardir TRT\textdir TRT +\begin{quote} +\pushocplist\UrduOCP\fontfamily{omarb}\selectfont xmArI Trf prAnE +zmAnE my'n dstUr t-hA kx Agr ksI shkhS kU kAghdh pr kchh lk-hA xUA grA +p'rA ml jAtA tU Uh As przE kU AHtyAT sE A't-hA kr kxy'n rk-h dytA yA +pAnI mI'n bxA dytA tAkx lk-hE xU'yE HrUf kI bE HrmtI nx xU. +\popocplist +\end{quote}} + +\noindent +transcribed: + +\begin{quote} +\texttt{xmArI Trf prAnE zmAnE my'n dstUr t-hA kx Agr ksI\\ +shkhS kU kAghdh pr kchh lk-hA xUA grA p'rA ml jAtA tU Uh\\ +As przE kU AHtyAT sE A't-hA kr kxy'n rk-h dytA yA pAnI mI'n\\ +bxA dytA tAkx lk-hE xU'yE HrUf kI bE HrmtI nx xU.} +\end{quote} + +\subsubsection{Pashto Transcription} + +The Pashto transcription is similar to the Arabic/Farsi one described +beyond, with a few additional characters and some exceptions. We are +proposing two \OTP{}s, using the same transcription, for the two +flavors of written Pashto: Afganistani and Pakistani. + +1. Afghanistani Pashto + +\begin{center} +\begin{tabular}{|c|c||c|c||c|c||c|c||c|c||c|c|} +\patl{A}{'z}{'r}{D}{g}{-y} +\patl{b}{c}{z}{T}{l}{e} +\patl{p}{H}{zh}{Z}{m}{ay} +\patl{t}{kh}{'g}{`}{n}{ey} +\patl{'t}{d}{s}{gh}{'n}{||} +\patl{'s}{'d}{sh}{f}{w}{} +\patl{j}{dh}{x}{q}{-h}{LLah} +\patl{ch}{r}{S}{k}{L}{SLh} +\hline +\end{tabular} +\end{center} + +2. Pakistani Pashto + +\begin{center} +\begin{tabular}{|c|c||c|c||c|c||c|c||c|c||c|c|} +\paptl{A}{'z}{'r}{D}{g}{-y} +\paptl{b}{c}{z}{T}{l}{e} +\paptl{p}{H}{zh}{Z}{m}{ay} +\paptl{t}{kh}{'g}{`}{n}{ey} +\paptl{'t}{d}{s}{gh}{'n}{||} +\paptl{'s}{'d}{sh}{f}{w}{} +\paptl{j}{dh}{x}{q}{-h}{LLah} +\paptl{ch}{r}{S}{k}{L}{SLh} +\hline +\end{tabular} +\end{center} + +Nevertheless, one should be aware that an automatic transcription from +one glyph set to the other is not possible because, for example, a +letter such as \begin{pashto}x\end{pashto} is not used in Pakistani +Pashto and can be replaced by \begin{pashto}kh\end{pashto} or +\begin{pashto}sh\end{pashto}, depending on its pronunciation in a given word. + +\noindent +Example of Afghanistani Pashto: + +{\pardir TRT\textdir TRT +\begin{quote} +\pushocplist\AfghaPashtoOCP\fontfamily{omarb}\selectfont k-h ghUA'ray +chh d`ql yh zyAn AUDrrpUh shay dA U mnI || chh `ql hghh. qUtUnh +p-hs'rI kxI wzhnI zhh zhUnde wlA'rdI. zhUndUn p-h`ml AUArAd-h +wlA'rdI. ghUxtnh lUArAd-h d-hre-yshr ft ASl AUAsAs dI. cUmrh chh `ql +zyAtebz hghUmrh ArAd-h D`yf-h kebzI. \popocplist +\end{quote}} + +\noindent +and the same in Pakistani Pashto: + +{\pardir TRT\textdir TRT +\begin{quote} +\pushocplist\PakiPashtoOCP\fontfamily{omarb}\selectfont k-h ghUA'ray +chh d`ql yh zyAn AUDrrpUh shay dA U mnI || chh `ql hghh. qUtUnh +p-hs'rI kxI wzhnI zhh zhUnde wlA'rdI. zhUndUn p-h`ml AUArAd-h +wlA'rdI. ghUxtnh lUArAd-h d-hre-yshr ft ASl AUAsAs dI. cUmrh chh `ql +zyAtebz hghUmrh ArAd-h D`yf-h kebzI. \popocplist +\end{quote}} + +\noindent +transcribed: + +\begin{quote} +\texttt{k-h ghUA'ray chh d`ql yh zyAn AUDrrpUh shay dA\\ +U mnI || chh `ql hghh. qUtUnh p-hs'rI kxI wzhnI zhh zhUnde\\ +wlA'rdI. zhUndUn p-h`ml AUArAd-h wlA'rdI. ghUxtnh lUArAd-h\\ +d-hreyshr ft ASl AUAsAs dI. cUmrh chh `ql zyAtebz hghUmrh\\ +ArAd-h D`yf-h kebzI.} +\end{quote} + +A variant form \shortpashto{^^^^015d} of \shortpashto{'g} is provided +in the font. The user can change the \OTP{}s (see~\ref{writingOTPs}) +so that the former is used instead of the latter. + +\subsubsection{Sindhi Transcription} + +Sindhi being a language with many more letters than Arabic, and using +Arabic letters in a way quite different than Arabic, it is not +surprising that the Sindhi transcription is fundamentally different +from the Arabic, Farsi, Urdu and Pashto ones. As a matter of fact we +have tried to use as few non-alphabetic characters as possible, +following a more-or-less rational scheme loosely based on the +correspondence between Sindhi written in Arabic and in Devanagari +script and the standard transcription of the latter. Since shadda is +much more seldom in Sindhi than in Arabic, the ``double consonant $=$ +consonant $+$ shadda'' convention is not valid in this transcription; +instead we propose a transcription of the shadda diacritic: +\texttt{+}. + +\begin{center} +\begin{tabular}{|c|c||c|c||c|c||c|c||c|c||c|c|} +\stl{A}{p}{dh}{sh}{kh}{y} +\stl{'A}{ph}{.=d}{.s}{.n}{'y} +\stl{b}{j}{.d}{.z}{g}{meN} +\stl{=b}{=j}{.dh}{..t}{=g}{||eN} +\stl{bh}{=n}{=z}{..z}{l}{||} +\stl{t}{c}{r}{`}{m}{} +\stl{th}{ch}{.r}{gh}{n}{} +\stl{.t}{.h}{z}{f}{'n}{} +\stl{.th}{=kh}{zh}{q}{U}{LLah} +\stl{=s}{d}{s}{k}{-h}{SLh} +\hline +\end{tabular} +\end{center} + +\noindent +Remarks: + +\begin{enumerate} +\item The transcription \texttt{/} is used for constructions such as +\begin{sindhi}b/\end{sindhi} (\texttt{b/}), +\begin{sindhi}t/\end{sindhi} (\texttt{t/}), \begin{sindhi}kh/\end{sindhi} +(\texttt{kh/}), etc. +\item The \emph{waw} \shortarab{w} can be written in two ways: +\texttt{w} or \texttt{U}. +\end{enumerate} + +\noindent +Example: + +{\pardir TRT\textdir TRT +\begin{quote} +\pushocplist\SindhiOCP\fontfamily{omarb}\selectfont tn-hn kry AsAn khy +pn-hnjy =z-hnn khy sjA=g rkh'nU pUndU ||eN pn-hnjy jdUj-hd meN .=dA-hp +pydA kr'ny. AhU b/ m`lUm kr'nU pUndU t/ sndh meN hr 'A'yy wqt chA chA +thy r-hyU 'Ahy ||eN dshmn AsAn jy ||eN AsAn jy jdUj-hd jy khlAf k-h.rA +k-h.rA g-hA.t g-h.ry r-hyU 'Ahy. \popocplist +\end{quote}} + +\noindent +transcribed: + +\begin{quote} +\texttt{tn-hn kry AsAn khy pn-hnjy =z-hnn khy sjA=g rkh'nU\\ +pUndU ||eN pn-hnjy jdUj-hd meN .=dA-hp pydA kr'ny. AhU b/\\ +m`lUm kr'nU pUndU t/ sndh meN hr 'A'yy wqt chA chA thy r-hyU\\ +'Ahy ||eN dshmn AsAn jy ||eN AsAn jy jdUj-hd jy khlAf k-h.rA\\ +k-h.rA g-hA.t g-h.ry r-hyU 'Ahy.} +\end{quote} + +\subsubsection{Berber Transcription} + +The Berber transcription is different from the previous ones because +it is based on a tri-alphabetic system (Tifinagh, Latin and Arabic +alphabets).\footnote{The reader can find more information in \emph{Un +syst^^^^00e8me \TeX{} berb^^^^00e8re}, ^^^^00c9tudes et Documents +Berb^^^^00e8res, 11 (1994), La bo^^^^00eete ^^^^00e0 +Documents/^^^^00c9disud, Paris (France).} The goal of this +transcription is to enable output in the three alphabets, out of the +same code. In particular, since Latin alphabet has upper and lower +case, it should be possible to distinguish these (and of course ignore +the distinction when typesetting in Arabic or Tifinagh). In the table +below, all transcribed letters are in lowercase ASCII, but can very +well be written also in uppercase, producing the same result: +\texttt{Tifinagh}, \texttt{tifinagh} or \texttt{TIFINAGH} will all +three produce \begin{arab}tyfynAgh\end{arab}. + +\begin{center} +\begin{tabular}{|c|c|c|c||c|c|c|c||c|c|c|c|}\hline +Tr. & Lat. & Ar. & Tif. & Tr. & Lat. & Ar. & Tif. & Tr. & Lat. & Ar. & Tif. \\\hline +\ttl{a}{.h}{.s} +\ttl{b}{i}{t} +\ttl{c}{j}{.t} +\ttl{gh}{k}{u} +\ttl{d}{l}{x} +\ttl{.d}{m}{z} +\ttl{.e}{n}{.z} +\ttl{f}{.n}{.i} +\ttl{g}{q}{--} +\ttl{.g}{r}{} +\ttl{h}{s}{} +\hline +\end{tabular} +\end{center} + +\noindent +Remarks: + +\begin{enumerate} +\item Letter \shortarab{U} can also be transcribed \texttt{w}. +\item Letter \shortarab{I} can also be transcribed \texttt{y}. +\item The stroke \shortberber{^^^^063f} is not to be confused with the +graphical connecting stroke \emph{keshideh}. It is placed between +words and plays a grammatical role. +\item Duplication of consonants (\emph{shaddah}) again is transcribed +by writing the corresponding consonant twice. +\end{enumerate} + +\noindent +Example: + +{\pardir TRT\textdir TRT +\begin{quote} +\pushocplist\ArabicBerberOCP\fontfamily{omarb}\selectfont Tifinagh, +d--tira timezwura n .imazighen. Llant di tmurt--nnegh dat tira n +ta.erabt d--tla.tinit. Nnulfant--edd dat .imir n ugellid +Masinisen. .Imazighen n .imir--en, ttarun--tent ghefi.zra, degg +.ifran, ghef .igduren, maca tiggti ghef i.zekwan~: ttarun fell--asen +.isem n umettin, d wi--t--ilan, d wayen yexdem di tudert--is akken ur +t ttettun .ina.tfaren. \popocplist +\end{quote}} + +\noindent +transcribed: + +\begin{quote}\small +\texttt{Tifinagh, d--tira timezwura n .imazighen.\\ +Llant di tmurt--nnegh dat tira n ta.erabt d--tla.tinit.\\ +Nnulfant--edd dat .imir n ugellid Masinisen. .Imazighen n\\ +.imir--en, ttarun--tent ghefi.zra, degg .ifran, ghef .igduren,\\ +maca tiggti ghef i.zekwan~: ttarun fell--asen .isem n umettin,\\ +d wi--t--ilan, d wayen yexdem di tudert--is akken ur t ttettun\\ +.ina.tfaren.} +\end{quote} + +\noindent +The same code will produce the following output in the Tifinagh alphabet: + +\begin{quote} +\begin{tifinagh}Tifinagh, d--tira timezwura n .imazighen. +Llant di tmurt--nnegh dat tira n ta.erabt d--tla.tinit. Nnulfant--edd +dat .imir n ugellid Masinisen. .Imazighen n .imir--en, ttarun--tent +ghefi.zra, degg .ifran, ghef .igduren, maca tiggti ghef i.zekwan~: +ttarun fell--asen .isem n umettin, d wi--t--ilan, d wayen yexdem di +tudert--is akken ur t ttettun .ina.tfaren.\end{tifinagh} +\end{quote} + +\noindent +and the following one in the Latin alphabet: + +\begin{quote} +\begin{latberber}Tifinagh, d--tira timezwura n .imazighen. +Llant di tmurt--nnegh dat tira n ta.erabt d--tla.tinit. Nnulfant--edd +dat .imir n ugellid Masinisen. .Imazighen n .imir--en, ttarun--tent +ghefi.zra, degg .ifran, ghef .igduren, maca tiggti ghef i.zekwan~: +ttarun fell--asen .isem n umettin, d wi--t--ilan, d wayen yexdem di +tudert--is akken ur t ttettun .ina.tfaren.\end{latberber} +\end{quote} + +\section{Writing Your Own Transcription}\label{writingOTPs} + +We have developed and presented in this paper a certain number of +Arabic alphabet language transcriptions for two reasons: first, to +show the possibilities and power of \OMEGA, and second, to give a +starting point for the user to create \hisher{} own transcriptions. + +The process of creating a new transcription is twofold: the first +part, which can be very difficult and painful, consists of finding the +combination of letters, digits and ASCII symbols which will transcribe +each character; the second one, which is straightforward (modulo some +precautions) is to implement this in \OMEGA{} by writing the +appropriate \OTP. + +\subsection{A Good Transcription: Is it Possible?} + +There are (at least) two goals for a good transcription: + +\begin{enumerate} +\item \emph{It has to be readable and easily memorizable}. In other +words, \texttt{AHmd} is better than \texttt{'.hmd}, for denoting +\begin{smallarab}AHmd\end{smallarab} : although an apostrophe can be +considered a logical choice for transcribing an alif and the period in +front of the h may denote that it is an emphatic `h' sound, taking an +A for alif and a capital H for the emphatic h is more readable; also +using rules such as ``uppercase ASCII characters transcribe emphatic +letters'' is an easy way to memorize the transcriptions of +\shortarab{H}, \shortarab{T}, \shortarab{D}, \shortarab{S}, +\shortarab{Z}. +\item \emph{It has to be complete and avoid ambiguities}. Of course +all letters of the target language have to be covered, but having many +letters to transcribe leads sometimes to ambiguities: for example +taking \texttt{h} for \shortarab{h}, \texttt{k} for \shortarab{k} and +\texttt{kh} for \shortarab{kh} are perfectly logical choices; +nevertheless there is a hitch: when you need to transcribe +\begin{smallarab}k-h\end{smallarab} you are tempted to write simply +\texttt{kh} and this will of course produce \shortarab{kh} +instead. The solution we have given to this problem is to type a +hyphen between the letters which are not considered as a `digraph', +but this is only a compromise solution: the user must constantly be +aware of this problem, and this is hardly the case when you are +concentrated in your text... +\end{enumerate} + +It is clear that these two goals are contradictory: an accurate and +unambiguous transcription has to be complicated and will be difficult +to read and memorize; a friendly and easily readable transcription +will be full of ambiguities. + +An additional problem when making a transcription is to choose between +\emph{(etymo)logical}, \emph{phonetic} and \emph{graphical} +representations of characters. A typical example is the standard +\OMEGA{} transcription of Greek: \texttt{w} is chosen for letter +\shortgreek{w}, this is a purely \emph{graphical} choice: the `w' +looks like an omega, but has absolutely no other relation with, +neither historical nor phonetic (the letter omega represents the sound +`o' in modern Greek); \texttt{b} is chosen for letter \shortgreek{b}, +this is an \emph{etymological} choice: the Latin `B' derives from the +ancient Greek `B', otherwise \shortgreek{b} looks quite different than +`b' and is pronounced `v' in modern Greek; finally, \texttt{x} is a +\emph{phonetic} transcription of letter \shortgreek{x}; clearly they +do not bear any resemblance, and historically it is not clear (at +least to the author) why `x' should be derived from \shortgreek{x} +(their positions in the alphabet is quite different as well, and this +is an argument speaking against an etymological relation between the +letters). + +The reader may object that this distinction between etymological, +phonetic and graphical representations is not relevant for Arabic +alphabet transcriptions; actually this is only partly true: take for +example \texttt{bh} for \shortsindhi{bh}, this is an +\emph{etymological} transcription in the sense that it reflects the +standard transcription of the Indic alphabet letter which corresponds +to that Sindhi letter. Also \texttt{`} for ayn is in some sense a +\emph{graphical} representation: it has been chosen because it +resembles the IPA transcription of the ayn, which is ^^^^0295. For the +same reason, \texttt{'} has been chosen for the hamza with carrier (in +\shortarab{'a}, \shortarab{'u}, etc.): the hamza's IPA transcription +is ^^^^0294. + +We hope to have convinced the reader that the making of a +transcription is a difficult task, needing a lot of thought, +compromises and tests. Once again, we would like to emphasize the fact +that our transcriptions are only temptative proposals and should not +be taken as standards of any kind; after all the power of \OMEGA\ is +that it can work with any input transcription without affecting +further processing, be it contextual analysis, diacritic placement or +esthetical ligaturing. + +In the next section we will see how to implement a new transcription +or change an existing one by writing/modifying an \OTP\ file. But +first some generalities on the \OTP{}s used by the Arabic \OMEGA\ +system. + +\subsubsection{The \OTP{}s used by the Arabic \OMEGA{} system} + +When \OMEGA{} reads the text flow it places letters, digits and +punctuation (whatever is not an escape or special character) into a +buffer. When it encounters a special character it stops buffering and +executes one after the other all currently active \OTP{}s on the +buffer. In theory, \OTP{}s could be used to arbitrarily send +character combinations to other combinations: one could very well +imagine an \OTP{} sending the string "Yannis" to "John" and "John" to +"Yannis", or "Microsoft Word" to +"^^^^02a7\kern-1pt^^^^04a9^^^^03be^^^^0468^^^^029a"; nevertheless, +such an \OTP{} would not be of general use... + +Our development has mainly been focused in building \OTP{}s in +accordance to the following scheme: +$$ +\boxed{\text{Input text}} \xrightarrow{\text{\texttt{foo2uni}}} \boxed{\text{Unicode++}} +\xrightarrow{\text{\texttt{uni2foo}}} \boxed{\text{DVI output}} +$$ +where \texttt{foo2uni} sends text encoded in an arbitrary encoding +into Unicode++ (Unicode++ is Unicode extended for the needs of +\OMEGA{} and typography), and \texttt{uni2foo} converts +Unicode++-encoded data into the encoding of the output font. By this +method we are able to keep completely separate input encoding and font +encoding. + +In the case of Arabic things are slightly more complicated since an +additional step is needed: contextual analysis. This is where our +scheme proves to be extremely efficient: by performing contextual +analysis on the level of Unicode++, and hence obtaining the following +new scheme: +$$ +\boxed{\text{Input text}} \xrightarrow{\text{\texttt{foo2uni}}} \boxed{\text{Unicode++}} +\xrightarrow{\text{\texttt{uni2cuni}}} \boxed{\text{cUnicode++}} +\xrightarrow{\text{\texttt{cuni2oar}}} \boxed{\text{DVI output}} +$$ +we still remain independent of both the input and the font +encoding. This means that if we need to adapt \OMEGA{} to a new Arabic +encoding we only need to indicate which code position corresponds to +which Unicode character, and, on the other hand, if we want to adapt a +new font to \OMEGA, we only need to indicate which font position +corresponds to which contextual form of which character, in +cUnicode++. + +In the next section we will partly describe the syntax of \OTP{} files +by giving examples of \texttt{foo2uni} cases. + +\subsection{Implementing a Transcription} + +The \OTP{} files we will need for input encoding $\to$ Unicode++ +transformations use only part of the syntax of \OTP{} +files.\footnote{The \texttt{uni2cuni} \OTP{} file already needs more +complicated constructions.} Such an \OTP{} file is of the following +form: + +\begin{verbatim} +input: 1; +output: 2; +expressions: +... +... +\end{verbatim} + +\noindent where \texttt{input: 1; output: 2;} means that input is +8-bit while output is 16-bit, and \texttt{...} are lines of the +following form: + +\begin{verbatim} +before => after ; +\end{verbatim} + +\noindent where \texttt{before} is an expression before the +transformation, and \texttt{after} after it. For example, + +\begin{verbatim} +`a' => "o" ; +\end{verbatim} + +\noindent will transform all `a's in the file into `o's. + +How do we describe characters and strings? On the left side of +\texttt{=>} we can only put separate characters: they can be written +either as ``grave accent+ASCII character+apostrophe'' or as +\texttt{@"XYZT} where \texttt{XYZT} are hexadecimal digits: in this +case we are not restricted to ASCII characters. The latter syntax can +also be used on the right side. For example, + +\begin{verbatim} +`i'`j' => @"0133 ; +@"008E => @"00E9 ; +\end{verbatim} + +\noindent will send the string `ij' to the Unicode++ character +representing the Dutch ^^^^0133 ligature, and the 8-bit code 8E (a +Macintosh `e' with acute accent) to the Unicode++ character 00E9 +(which is the Unicode `e' with acute accent). + +On the right side of \texttt{=>} we can also write complete strings, +possibly containing \OMEGA{} commands, which will be forwarded to the +next \OTP{} or to the typesetting engine of \OMEGA. For example, + +\begin{verbatim} +`~' => "\penalty10000" ; +\end{verbatim} + +\noindent sends the tilde character to the \TeX{} command of infinite +penalty.\footnote{By this we obtain the same result as in \TeX{} but +without turning tilde into an active character, a fact that \TeX{} +users will surely appreciate.} We can also use ranges on the left +side: for example, \texttt{`a'-`k'} means ``all characters between a +and k''. + +By using parentheses and the vertical bar on the left side, we obtain +the Boolean `or' operator: + +\begin{verbatim} +(`E'|`e') => ; +\end{verbatim} + +\noindent for example, will send both uppercase and lowercase letters +`e' to nothing (a transformation which would leave Perec's book +\emph{La disparition} unchanged\footnote{Although there are rumors +that there is a single `e' in that book... The authors were not able +to find it yet.}). + +This operator becomes even more useful by the fact that we can use on +the right side the exact character matched on the left side: the +commands \verb=\1=, \verb=\2=, ... , \verb=\9= used on the right side +stand for the first, second, ..., ninth character matched on the left +side. For example: + +\begin{verbatim} +`c'(`a'|`e'|`i'|`o'|`u')`t' => "m" \1 "p" ; +\end{verbatim} + +\noindent will send cat, cet, cit, cot, cut respectively to map, mep, +mip, mop, mup. + +We can go even further: \OTP{} syntax allows us to add or substract a +fixed offset to the characters matched on the left side. For example: + +\begin{verbatim} +`a'-`z' => #(\1 - @"0020) ; +\end{verbatim} + +\noindent will substract 20 from the code position of the character +found on the left side. The characters on the left side being +precisely lowercase letters, this offset will turn them into uppercase +ones. + +\subsubsection{Examples} + +The beginning of the \OTP{} \texttt{7arb2uni}, used to send the ASCII +transcription of Arabic to Unicode++, described in~\ref{arabtrans}, to +Unicode++, looks like this: + +\begin{verbatim} +input: 1; +output: 2; + +expressions: + +`L'`L'`a'`h' => @"FDF2 ; +`S'`L'`h' => @"FDFA ; + +`|'`|'`|'`|' => @"0621 @"0651 ; +`|'`|' => @"0621 ; +`z'`h'`z'`h' => @"0698 @"0651 ; +`z'`h' => @"0698 ; +`z'`z' => @"0632 @"0651 ; +`z' => @"0632 ; +`y'`y' => @"064A @"0651 ; +`y' => @"064A ; +`v'`v' => @"06A4 @"0651 ; +`v' => @"06A4 ; +`u'`N' => @"064C ; +`u' => @"064F ; +\end{verbatim} + +Let us take a closer look at these lines. The left sides +\texttt{`L'`L'`a'`h'} and \texttt{`S'`L'`h'} correspond to the +(religious) ligatures \shortarab{LLah} and \shortarab{SLh} which +appear in the \emph{Arabic Presentation Forms} part of Unicode, that's +why the code positions we send them to are so high. The line +\texttt{`|'`|'`|'`|'} corresponds to a double hamza; according to our +transcription rules, by writing a letter's transcription twice without +intermediate hyphen, we get the letter followed by a \emph{shaddah} +diacritic. On the right side of \texttt{`|'`|'`|'`|'} you see two +codes: 0621 stands for the stand-alone hamza in Unicode++, and 0651 +for the \emph{shaddah}. The next line will send \texttt{||} to the +stand-alone hamza. + +WARNING: the order of these lines is very important: transformations +are matched in the order lines are read. By putting the double hamza +before the single one, \OMEGA{} will first look for a double hamza and +\emph{only if it does not find any} will then proceed to transforming +a single one. + +For the same reason digraphs such as \texttt{zh} must appear before +their first letter in the \OTP{} file (and trigraphs before the +starting digraph, etc.). That's why the order of lines starting with a +`z' is `zhzh', `zh', `zz', `z'.% +\footnote{There is a simple way of avoiding ordering problems: after +having written this part of the \OTP{} file, run a line sorting +program on it so that lines are sorted in \emph{inverse} +lexicographical order. This will automatically place trigraphs before +digraphs before singletons, etc.} + +Our sample file ends like this: + +\begin{verbatim} +`h'`h' => #(@"0647) #(@"0651) ; +`h' => #(@"0647) ; +`-'`-'`-' => @"2014; +`-' => ; +. => #(\1) ; +\end{verbatim} + +This means that after having entered all digraphs using `h' as second +character, we enter the stand-alone `h', first as a double letter, and +secondly as a single letter. Finally we send the triple hyphen to an +m-dash `---' and the single hyphen to nothing: its purpose is to +prevent combinations of letters to be interpreted as digraphs: when +reading \texttt{k-h}, \OMEGA{} will not match it with \texttt{kh}: it +will first match \texttt{k} with letter kaf, then send the hyphen to +the vacuum of non-existence and when arriving to the \texttt{h} the +\texttt{k} will already be matched so that it is too late to construct +a \texttt{kh} digraph. + +The period at the beginning of the last line is part of the \OTP{} +syntax we have not seen yet: it means `any character'. Since this is +the last line of the file, we can interpret it rather like `any still +not matched character'. This line simply sends any character not yet +matched to itself. + +\subsection{Wrapping it up} + +Once the \OTP{} file has been written or modified, one only needs to +compile it (by using the \texttt{otp2ocp} utility) and place it where +\OMEGA{} expects to find it. On the \LaTeX{} command level, \OTP{}s +are loaded via the \verb=\ocp= command, in a way similar to fonts: to +load the file \texttt{foo2uni} one will write + +\begin{verbatim} +\ocp\FooUni=foo2uni +\end{verbatim} + +Of course this is preferably done inside a \LaTeX{} package or style +file: the final user should not need to deal with or understand this +kind of code. Once the \OTP{}s are loaded they are combined into +\emph{lists}. In this way we can push or pop simultaneously \OTP{}s +on/from a stack. This is useful because a language switch usually +requires several \OTP{}s to be changed at once. To define \OTP{} lists +we use the following syntax: + +\begin{verbatim} +\ocplist\ArabicOCP= +\addbeforeocplist 100 \ArabUni +\addbeforeocplist 200 \UniCUni +\addbeforeocplist 300 \CUniArab +\nullocplist +\end{verbatim} + +The numbers (100, 200, 300) allow us to introduce additional \OTP{}s, +if necessary, between the already defined ones. Finally, to +activate/desactivate an \OTP{} list, we use the commands +\verb=\pushocplist= (followed by the name of the \OTP{} list) and +\verb=\popocplist=. To take a real life example, + +\begin{verbatim} +\ocp\ArabUni=7arb2uni +\ocp\UniCUni=uni2cuni +\ocp\CUniArab=cuni2oar +\ocplist\ArabicOCP= +\addbeforeocplist 100 \ArabUni +\addbeforeocplist 200 \UniCUni +\addbeforeocplist 300 \CUniArab +\nullocplist +\pushocplist\ArabicOCP +\end{verbatim} + +\noindent is sufficient to load all \OTP{}s necessary for typesetting +in the Arabic language. + +\section{Availability and Further Information} + +The \OMEGA{} system is entirely in the public domain. It can be +obtained from any CTAN server. The latest information on \OMEGA{} and +its Arabic system can be found on the \OMEGA{} server: + +$$\text{\texttt{http://www.ens.fr/omega}}$$ + +\noindent courtesy of the ^^^^00c9cole Normale Sup^^^^00e9rieure de +Paris. + +\section{Samples} + +Starting from next page, a few samples (Arabic, Berber, Sindhi). For +these examples we have switched the background language to Arabic, so +that even page numbers are in Arabic. + +\newpage +\pagedir TRT +\bodydir TRT +\pardir TRT +\textdir TRT +\def\latinit#1{{\fontfamily{omlgc}\selectfont\pushocplist\BasicLatinOCP% +\textdir TLT #1\popocplist}} +\def\rmdefault{omarb} +\fontfamily{omarb}\selectfont +\pushocplist\ArabicOCP + + +\subsection{'aTfAl AlghAb"t} + +kAn l'aHd AlmlUk AlqdmA|| 'akht t`ysh m`h fI qSrh, b`d 'an mAt-t +zUjt-h, wtrkt lh mn Al'awlAd thlAth"t: 'amyryn w'amyr"t. wqd AzdAd Hbb +Almlk l'awlAd-h, b`d wfA"t wAldt-hm Almlk"t, w'aHbbhm HbbA kthyrA; +ly`wwDhm mA fqdUh mn `Tf 'ammhm wHbbhA lhm, wtfkyr hA fyhm; fkAn ys'al +`nhm kllmA HDr, wyfkkr fyhm kllmA dkhl, wywSI bhm kllmA khrj, wyTlbhm +kllmA jls ltnAwl T`Am Al'ifTAr 'aU AlghdA|| 'aU AlshshAI 'aU Al`shA||. + +mHHm"t 'akhyhA l'awlAd-h, wSmm-mt fymA bynhA wbyn nfs-hA 'an t`ml srrA +kll wsyl"t m-mkn"t l'ib`Ad-hm `n 'abyhm wAlttkhllS mnhm. + +wfI yUm mn Al'ayyAm kAn Al'amyrAn yl`bAn m` 'akht-hmA Al'amyr"t fI +HdA'yq AlqSr b`d khrUj Almlk, fshUUqt-hm `mmt-hm wHbb-bt 'ilyhm +Aldhdh-hAb m`hA 'ilI AlghAb"t l-ll`Ab fyhA, w-w`dt-hm 'an tryhm +'ashyA|| jmyl"t w'al`AbA ldhydh"t sArr"t tHt Al'ashjAr hnAk. + +fSddq Al'amyrAn wAl'amyr"t mA qAlt-h `mmt-hm, wlm y`rfUA mA tkhfyh +`nhm mn Alshshrr, wdhhbUA m`hA l-ll`b wAlrryAD"t fI 'alghAb"t, +wmshAhd"t Al'ashA|| Aljmyl"t fyhA, wr'uy"t Al'al`Ab Alghryb"t tHt +'ashjArhA. + +wqd sh`r Al'aTfAl bsrUr kthyr `nd mAkhrjUA m` `mmt-hm lhdhh +AlrrHl"t. w'akhdhUA ymshUn m`hA fI AlghAb"t HttI wSlUA 'ilI wsThA, +f'aHssUA bAltt`b Alshshdyd, wThrt `lAmAt-h fI mshyt-hm, w`lI wjUh-hm +b`d hdhh AlrrHl"t AlTTUyl"t Almt`b"t AlltI lm yjrrbUhA mn qbl. UlmAA +sh`rt Al`mm"t bshdd"t t`bhm, qAlt lhm: nAmUA hnA tHt hdhh Alshshjr"t +HttI tHDr AlHUryyAt ltl`b 'amAmkm 'al`AbA lm trUhA, wstjdUn fI +mshAhdt-hA kll ldhdh"t wsrUr. \popocplist + +\pushocplist\ArabicBerberOCP + +\subsection{Allal i useqdc n y.drisn \OMEGA\ d-tamazight} + +%\noindent{\leaders\hrule height0.5pt\hfill} +%\par + +A dd nessken s wayes yif useqdec n \OMEGA\ i tira s tutlayt tamazight, +ama s tifinagh, ama s isekkilen ila.taniyen. Newwi-dd tamazight am, +tutlayt yeddren (yettwarun s tifinagh tiynayin)~: izmer umdan ad +iseddu yall tighura n usuddes n tira, i waraten ussnanen, itekniken +negh i wid n tsikkla, am wid ssexdamen i usemsaru n tfransist. + +\OMEGA, d ameslay n usmihel i usuddes n tira. Am-wakken ne.zra, d ayen +i dd yttakken i.zubba.z war taggara i useqdec d usihrew, maca issefk +ad ilmed uqeddac kra tussniwin. Nunz-as, ta.z.zayt n ulmad-a, nezmer a +tt nsifess s useqdec n inagrawen n urmas n tira, isegh.zanen n usmihcl +n waraten, ittwassnen a.tas (wid ittnuzun, srayn ghef umdan, wid +izemren ad ssxedmen tazmert tasemsirawt n kra inagrawen imehlanen am +wid n \latinit{Macintosh, Windows, Unix}. + +Tan.da tamzwarut n \OMEGA{} --- ghas tin ay ittalasen ism n \OMEGA{} +---, us tli ageruedm i uqeddac. Am gg imeslayen n usmihel akk, ad yaru +wmdan ahil, deffir, a t issefsu akken a t yessughal s anqal n +tmacint. Di \OMEGA{}, ahil d ara n u.dris (n.t.te.dn ghur-s kra n +tsun.diwin i usbuni d tghessa tame.z.zult). Asefsu, d aselkem n wahil +\OMEGA~; angal n tmacint ara dd iffghen, d win, i d aglam n usebter ay +ittusuddsen, Iqqim-dd imir-n usemsaru. + +Akala-ya, yezmer a t yaf yefregh win inumen iseqdac n i.drisen ghef +\latinit{Macintosh, Windows}, d wiyi.d, i degg a.dris a dd iffegh di +tsemsarut akken yella gg uqdil [Anagraw-a yettwassnen s yism-is +imiwzil, s tglizit \latinit{<<~wysiwyg~>>}, ycsseghla.d kra~: a.dris +ara dd yesuffegh uqeddac, ad yili ghas s tseddi umi yessawe.d ugdil~; +asgmu.d ara dd tsuffegh tsemsarut, yesmer ad yili yuser kra.] + +Iwakken ad yeqqim useqdec sray f umdan, yezmer ad yessexdem asegh.zan +ittwassnen d allaeln i urmas. Taghessa tame.z.zult n wara (ighfawen, +tifula, tiseddarin, tizmilin tinaddayin, timitar tinmudag, asmel n +tektabin), a tt yessyghal si tbunit n usegh.zan-nni gher tsun.diwin n +\OMEGA. Imir, \OMEGA, ad issefsu angal-nni a dd yessuffegh a.dris +yuq.zen taghessa tame.z.zult tamezwarut, maca tira-ines ad ilint +ulaghent ugar. \popocplist + +\pushocplist\SindhiOCP +\subsection{ktyn kr mU.ryA j.=d-hn} + +%\noindent{\leaders\hrule height0.5pt\hfill} +%\par + +tn-hn kry AsAn khy pn-hnjy =z-hnn khy sjA=g rkh'nU pUndU ||eN pn-hnjy +jdUj-hd meN .=dA-hp pydA kr'ny. AhU b/ m`lUm kr'nU pUndU t/ sndh meN +hr 'A'yy wqt chA chA thy r-hyU 'Ahy ||eN dshmn AsAn jy ||eN AsAn jy +jdUj-hd jy khlAf k-h.rA k-h.rA g-hA.t g-h.ry r-hyU 'Ahy. + + +AsAn khy AhA b/ =khbr hj'n g-hrjy t/ AsAn jy 'As pAs ||eN ysgrdA'yy +meN chA chA thy r-hyU 'Ahy. hndstAn meN chA thy r-hyU 'Ahy, AfghAnstAn +meN chA thy r-hyU 'Ahy. `rAq ||eN AyrAn meN chA thy r-hyU 'A-hy ||eN +'AmrykA ||eN sUUyt yUnyn chA chA sUcy r-hyA 'Ahn. j.=d-hn AsAn s=jy +dnyA jy syAst ty ||eN s=jy dnyA jy jdUj-hd ty ||eN s=jy dnyA jy +tndylyn ty n..zr rkhndAsUn ||eN An-hn tbdylyn jy A=srn khy pn-hnjy +mlk, qUm ||eN `rAm ty pUndy .=dsndAsUn t/ An-hn tbdylyn mAn k-h.rA +mnfy ||eN k-h.rA m=sbt A=sr 'Ahn. t.=d-hn 'yy AsAn pn-hnjy jdUj-hd khy +b-htr b/ kry sg-hndAsUn t/ chU.tkAry UArU .hl b/ =gUly UyndAsUn. + + +r=gU =gAl-hyUn kndy ||eN n`rn h'nndy AsAn jy qUm chAlyh sAl py.rA'yUn +||eN `=zAb bhU=gyA 'Ahn ||eN An-hn n`rn AsAn jy qUm lA||i Udhyk +py.rA'yUn ||eN `=zAb nAzl kyA 'Ahn . jyk.=d-hn AsAn meN A=j qUm jy +Amyd pydA thy 'Ahy t/ AhA AsAn jy `ml ||eN AsAn jy by lU=s jdUj-hd jy +kry pydA thy 'Ahy ||eN mA'y-hU AsAn .=dAn-hn wAj-hA'yy rhyA 'Ahn. t/ +AsAn 'yy 'AhyUn jyky kj-h n/ kj-h kndAsUn. pr AsAn khy .=ds'nU 'Ahy t/ +dnyA jy Andr chA thy rhyU {}'Ahy ||eN AsAn jU dshmn ky'yn .hAltn khy +pn-hnjn mfAdn meN ktb 'A'n'n jy kUshsh kry rhyU 'Ahy, An-hy||a jy +lA||i .zrUry 'Ahy t/ AsAn pA'n meN .=dAhp pydA kryUn ||eN pA'n meN +=jA'n jU hk Usy` =khzAnU pydA kryUn. ||eN AsAn mUjUd-h .sUrt .hAl khy +smj-h'n lA||i rUzmrh jy my.dyA ||eN dnyA jy Andr thynd.r kArUA'yyn ty +g-hry n..zr rkhUn t/ dshmn ||eN jAr.hyt psnd qUtUn ||eN AsAn ty qAb.z +qUtUn dnyA jy Andr thynd.r tbdylyn khy sndn .hq meN ||eN sndn mfAdn jy +.hq meN, sndh ty jAr.hyt qA'nm rkh'n jy .hq meN, sndh khy mstql qb.zy +meN kr'n jy .hq meN ky'yn ktb 'A'ny r-hyUn 'Ahn. + + +\popocplist +\end{document} + + |