summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/fonts/archaic/sarabian.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/fonts/archaic/sarabian.dtx')
-rw-r--r--Master/texmf-dist/source/fonts/archaic/sarabian.dtx1046
1 files changed, 1046 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/fonts/archaic/sarabian.dtx b/Master/texmf-dist/source/fonts/archaic/sarabian.dtx
new file mode 100644
index 00000000000..95d89748c45
--- /dev/null
+++ b/Master/texmf-dist/source/fonts/archaic/sarabian.dtx
@@ -0,0 +1,1046 @@
+% \iffalse meta-comment
+%
+% sarabian.dtx
+%
+% Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net
+% Copyright 1999--2005 Peter R. Wilson
+%
+% This work may be distributed and/or modified under the
+% conditions of the Latex Project Public License, either
+% version 1.3 of this license or (at your option) any
+% later version.
+% The latest version of the license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of
+% LaTeX version 2003/06/01 or later.
+%
+% This work has the LPPL maintenance status "author-maintained".
+%
+% This work consists of the files listed in the README file.
+%
+%<*driver>
+\documentclass[twoside]{ltxdoc}
+\usepackage{url}
+\usepackage[draft=false,
+ plainpages=false,
+ pdfpagelabels,
+ bookmarksnumbered,
+ hyperindex=false
+ ]{hyperref}
+\providecommand{\phantomsection}{}
+\OnlyDescription %% comment this out for the full glory
+\EnableCrossrefs
+\CodelineIndex
+\setcounter{StandardModuleDepth}{1}
+\makeatletter
+ \@mparswitchfalse
+ \DeclareTextCommand{\SAunder}{OT1}[1]%
+ {{\o@lign{\relax#1\crcr\hidewidth\sh@ft{29}%
+ \vbox to.2ex{\hbox{\char21}\vss}\hidewidth}}}
+\makeatother
+\renewcommand{\MakeUppercase}[1]{#1}
+\pagestyle{headings}
+\newenvironment{addtomargins}[1]{%
+ \begin{list}{}{%
+ \topsep 0pt%
+ \addtolength{\leftmargin}{#1}%
+ \addtolength{\rightmargin}{#1}%
+ \listparindent \parindent
+ \itemindent \parindent
+ \parsep \parskip}%
+ \item[]}{\end{list}}
+\begin{document}
+ \raggedbottom
+ \DocInput{sarabian.dtx}
+\end{document}
+%</driver>
+%
+% \fi
+%
+% \CheckSum{177}
+%
+% \DoNotIndex{\',\.,\@M,\@@input,\@addtoreset,\@arabic,\@badmath}
+% \DoNotIndex{\@centercr,\@cite}
+% \DoNotIndex{\@dotsep,\@empty,\@float,\@gobble,\@gobbletwo,\@ignoretrue}
+% \DoNotIndex{\@input,\@ixpt,\@m}
+% \DoNotIndex{\@minus,\@mkboth,\@ne,\@nil,\@nomath,\@plus,\@set@topoint}
+% \DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\@tempdimb}
+% \DoNotIndex{\@tempswafalse,\@tempswatrue,\@viipt,\@viiipt,\@vipt}
+% \DoNotIndex{\@vpt,\@warning,\@xiipt,\@xipt,\@xivpt,\@xpt,\@xviipt}
+% \DoNotIndex{\@xxpt,\@xxvpt,\\,\ ,\addpenalty,\addtolength,\addvspace}
+% \DoNotIndex{\advance,\Alph,\alph}
+% \DoNotIndex{\arabic,\ast,\begin,\begingroup,\bfseries,\bgroup,\box}
+% \DoNotIndex{\bullet}
+% \DoNotIndex{\cdot,\cite,\CodelineIndex,\cr,\day,\DeclareOption}
+% \DoNotIndex{\def,\DisableCrossrefs,\divide,\DocInput,\documentclass}
+% \DoNotIndex{\DoNotIndex,\egroup,\ifdim,\else,\fi,\em,\endtrivlist}
+% \DoNotIndex{\EnableCrossrefs,\end,\end@dblfloat,\end@float,\endgroup}
+% \DoNotIndex{\endlist,\everycr,\everypar,\ExecuteOptions,\expandafter}
+% \DoNotIndex{\fbox}
+% \DoNotIndex{\filedate,\filename,\fileversion,\fontsize,\framebox,\gdef}
+% \DoNotIndex{\global,\halign,\hangindent,\hbox,\hfil,\hfill,\hrule}
+% \DoNotIndex{\hsize,\hskip,\hspace,\hss,\if@tempswa,\ifcase,\or,\fi,\fi}
+% \DoNotIndex{\ifhmode,\ifvmode,\ifnum,\iftrue,\ifx,\fi,\fi,\fi,\fi,\fi}
+% \DoNotIndex{\input}
+% \DoNotIndex{\jobname,\kern,\leavevmode,\let,\leftmark}
+% \DoNotIndex{\list,\llap,\long,\m@ne,\m@th,\mark,\markboth,\markright}
+% \DoNotIndex{\month,\newcommand,\newcounter,\newenvironment}
+% \DoNotIndex{\NeedsTeXFormat,\newdimen}
+% \DoNotIndex{\newlength,\newpage,\nobreak,\noindent,\null,\number}
+% \DoNotIndex{\numberline,\OldMakeindex,\OnlyDescription,\p@}
+% \DoNotIndex{\pagestyle,\par,\paragraph,\paragraphmark,\parfillskip}
+% \DoNotIndex{\penalty,\PrintChanges,\PrintIndex,\ProcessOptions}
+% \DoNotIndex{\protect,\ProvidesClass,\raggedbottom,\raggedright}
+% \DoNotIndex{\refstepcounter,\relax,\renewcommand,\reset@font}
+% \DoNotIndex{\rightmargin,\rightmark,\rightskip,\rlap,\rmfamily,\roman}
+% \DoNotIndex{\roman,\secdef,\selectfont,\setbox,\setcounter,\setlength}
+% \DoNotIndex{\settowidth,\sfcode,\skip,\sloppy,\slshape,\space}
+% \DoNotIndex{\symbol,\the,\trivlist,\typeout,\tw@,\undefined,\uppercase}
+% \DoNotIndex{\usecounter,\usefont,\usepackage,\vfil,\vfill,\viiipt}
+% \DoNotIndex{\viipt,\vipt,\vskip,\vspace}
+% \DoNotIndex{\wd,\xiipt,\year,\z@}
+%
+% \changes{v1.0}{2000/09/30}{First public release}
+% \changes{v1.1}{2005/11/12}{Added map file}
+%
+% \def\fileversion{v1.0}
+% \def\filedate{2000/09/30}
+% \def\fileversion{v1.1}
+% \def\filedate{2005/11/12}
+% \newcommand*{\Lpack}[1]{\textsf {#1}} ^^A typeset a package
+% \newcommand*{\Lopt}[1]{\textsf {#1}} ^^A typeset an option
+% \newcommand*{\file}[1]{\texttt {#1}} ^^A typeset a file
+% \newcommand*{\Lcount}[1]{\textsl {\small#1}} ^^A typeset a counter
+% \newcommand*{\pstyle}[1]{\textsl {#1}} ^^A typeset a pagestyle
+% \newcommand*{\Lenv}[1]{\texttt {#1}} ^^A typeset an environment
+% \newcommand{\BC}{\textsc{bc}}
+% \newcommand{\AD}{\textsc{ad}}
+% \newcommand{\thisfont}{South Arabian}
+%
+% \title{The \Lpack{South Arabian} fonts\thanks{This
+% file has version number \fileversion, last revised
+% \filedate.}}
+%
+% \author{%
+% Peter Wilson\thanks{\texttt{herries dot press at earthlink dot net}}\\
+% Herries Press}
+%
+% \date{\filedate}
+% \maketitle
+% \begin{abstract}
+% The \Lpack{sarabian} package provides a set of fonts, created by
+% Alan Stanier, and LaTeX files for typesetting the
+% \thisfont{} alphabet which was used around 600~\BC{} in some of the
+% ancient kingdoms of Southern Arabia.
+% \end{abstract}
+% \tableofcontents
+%
+%
+%
+% \section{Introduction}
+%
+% The Phoenician alphabet and characters is a direct ancestor of our modern day
+% Latin alphabet and fonts.
+% The font presented here is one of a series of fonts intended to show how
+% the modern Latin alphabet has evolved from its original Phoenician form
+% to its present day appearance.
+%
+% This manual is typeset according to the conventions of the
+% \LaTeX{} \textsc{docstrip} utility which enables the automatic
+% extraction of the \LaTeX{} macro source files~\cite{GOOSSENS94}.
+%
+% Section~\ref{sec:usc} describes the usage of the package.
+% Commented code for the fonts is in Sections~\ref{sec:mf} and~\ref{sec:fd}
+% and source code for the package is in Section~\ref{sec:code}.
+%
+% \subsection{An alphabetic tree}
+%
+% Scholars are reasonably agreed that all the world's alphabets are descended
+% from a Semitic alphabet invented about 1600~\BC{} in the Middle
+% East~\cite{DRUCKER95}. The word `Semitic' refers
+% to the family of languages used in the geographical area from
+% Sinai in the south, up the Mediterranean coast to Asia Minor in the north and
+% west to the valley of the Euphrates.
+%
+% The Phoenician alphabet was stable by about 1100~\BC{} and the script was
+% written right to left. In earlier times the writing direction was variable,
+% and so were
+% the shapes and orientation of the characters. The alphabet consisted of
+% 22 letters and they were named after things. For example, their first two
+% letters were called \textit{aleph} (ox), and \textit{beth} (house).
+% The Phoenician script had
+% only one case --- unlike our modern fonts which have both upper- and
+% lower-cases. In modern terms the Phoenician abecedary was: \\
+% A B G D E Y Z H $\Theta$ I K L M N X O P ts Q R S T \\
+% where the `Y' (\textit{vau}) character was sometimes written as `F', and
+% `ts' stands for the \textit{tsade} character.
+%
+% The Greek alphabet is one of the descendants of the Phoenician alphabet;
+% another was Aramaic which is the ancestor of the Arabic, Persian and Indian
+% scripts.
+% Initially Greek was written right to left but around the 6th C~\BC{} became
+% \textit{boustrophedron}, meaning that the lines
+% alternated in direction. At about 500~\BC{} the writing direction stabilised
+% as left to
+% right. The Greeks modified the Phoenician alphabet to match the vocalisation
+% of their language. They kept the Phoenician names of the letters, suitably
+% `greekified', so \textit{aleph} became the familar \textit{alpha} and
+% \textit{beth} became \textit{beta}. At this
+% point the names of the letters had no meaning. Their were several variants
+% of the Greek character glyphs until they were finally fixed in Athens in
+% 403~\BC.
+% The Greeks did not develop a lower-case
+% script until about 600--700~\AD.
+%
+% The Etruscans based their alphabet on the Greek one, and again modified it.
+% However, the Etruscans wrote right to left, so their borrowed characters are
+% mirror images of the original Greek ones. Like the Phoenicians, the Etruscan
+% script consisted of only one case; they died out before ever needing a
+% lower-case script. The Etruscan script was used up until the first century
+% \AD, even though the Etruscans themselves had dissapeared by that time.
+%
+%
+% In turn, the Romans based their alphabet on the Etruscan one, but as they
+% wrote left to right, the characters were again mirrored (although the early
+% Roman inscriptions are boustrophedron).
+%
+% As the English alphabet is descended from the Roman alphabet
+% it has a pedigree of some three and a half thousand years.
+%
+% \section{The \Lpack{sarabian} package} \label{sec:usc}
+%
+% The \thisfont{} alphabet provided by this package is a descendent
+% of the Proto-Siniatic or Proto-Canaanite scripts~\cite{HEALEY90}.
+% It was used for about 1000 years, from roughly 600~\BC, in Southern
+% Arabia.
+%
+% The alphabet consisted of 29 letters, but the ordering has no
+% relationship to either the Semitic alphabets nor our modern day one.
+% Table~\ref{tab} lists, in \thisfont{} alphabetic order, the transliterated
+% values of the script. Note that there are many consonontal sounds
+% represented that we no longer use. These are the letters with diacritics.
+%
+% \begin{table}
+% \centering
+% \caption{The \thisfont{} alphabet}\label{tab}
+% \begin{tabular}{ccl} \hline
+% Value & ASCII & Command \\ \hline
+% \textit{h} & h & |\SAh| \\
+% \textit{l} & l & |\SAl| \\
+% \textit{\d{h}} & H & |\SAhd| \\
+% \textit{m} & m & |\SAm| \\
+% \textit{q} & q & |\SAq| \\
+% \textit{w} & w & |\SAw| \\
+% \textit{\v{s}} & S & |\SAsv| \\
+% \textit{r} & r & |\SAr| \\
+% \textit{b} & b & |\SAb| \\
+% \textit{t} & t & |\SAt| \\
+% \textit{s} & s & |\SAs| \\
+% \textit{k} & k & |\SAk| \\
+% \textit{n} & n & |\SAn| \\
+% \textit{\SAunder{h}}& I & |\SAhu| \\
+% \textit{\'{s}} & X & |\SAsa| \\
+% \textit{f} & f & |\SAf| \\
+% \textit{'} & ' a & |\SArq| |\SAa| \\
+% \textit{`} & ` o & |\SAlq| |\SAo| \\
+% \textit{\d{d}} & B & |\SAdd| \\
+% \textit{g} & g & |\SAg| \\
+% \textit{d} & d & |\SAd| \\
+% \textit{\'{g}} & G & |\SAga| \\
+% \textit{\d{t}} & T & |\SA|td \\
+% \textit{z} & z & |\SAz| \\
+% \textit{\b{d}} & D & |\SAdb| \\
+% \textit{y} & y & |\SAy| \\
+% \textit{\b{t}} & J & |\SAtb| \\
+% \textit{\d{s}} & x & |\SAsd| \\
+% \textit{\d{z}} & Z & |\SAzd| \\
+% \hline
+% \end{tabular}
+% \end{table}
+%
+% The font provided was developed originally by Alan Stanier of
+% Essex University. I have made very minor alterations to make it
+% easier to use with the LaTeX font selection system.
+%
+%
+% \DescribeMacro{\sarabfamily}
+% This command selects the \thisfont{} font family. The family name is |sarab|.
+%
+% \DescribeMacro{\textsarab}
+% The command |\textsarab{|\meta{text}|}| typesets \meta{text} in the
+% \thisfont{} font.
+%
+% I have provided two means of accessing the \thisfont{} glyphs:
+% (a) by ASCII characters, and (b) via commands. These are shown
+% in Table~\ref{tab}.
+%
+% \DescribeMacro{\translitsarab}
+% The command |\translitsarab{|\meta{commands}|}| will typeset the transliteration
+% of the \thisfont{} character commands (those in the third column of
+% Table~\ref{tab}).
+%
+% \DescribeMacro{\translitsarabfont}
+% The font used for the transliteration is defined by this macro,
+% which is initialised to an italic font (i.e., |\itshape|).
+%
+% \StopEventually{
+% \bibliographystyle{alpha}
+% \begin{thebibliography}{GMS94}
+%
+% \bibitem[Dav97]{DAVIES97}
+% W. V. Davies.
+% \newblock \emph{Reading the Past: Egyptian Hieroglyphs}.
+% \newblock University of California Press/British Museum, 1997.
+% \newblock (ISBN 0-520-06287-6)
+%
+% \bibitem[Dru95]{DRUCKER95}
+% Johanna Drucker.
+% \newblock \emph{The Alphabetic Labyrinth}.
+% \newblock Thames and Hudson, 1995.
+%
+% \bibitem[Fir93]{FIRMAGE93}
+% Richard A.~Firmage.
+% \newblock \emph{The Alphabet Abecedarium}.
+% \newblock David R.~Goodine, 1993.
+%
+%
+% \bibitem[GMS94]{GOOSSENS94}
+% Michel Goossens, Frank Mittelbach, and Alexander Samarin.
+% \newblock \emph{The LaTeX Companion}.
+% \newblock Addison-Wesley Publishing Company, 1994.
+%
+% \bibitem[Hea90]{HEALEY90}
+% John F.~Healey.
+% \newblock \emph{Reading the Past: The Early Alphabet}.
+% \newblock University of California Press/British Museum, 1990.
+% \newblock (ISBN 0-520-07309-6)
+%
+% \end{thebibliography}
+% \PrintIndex
+% }
+%
+%
+% \section{The Metafont code} \label{sec:mf}
+%
+% The code is all in a single file. It is principally Alan Stanier's code, except
+% that I have made a few slight modifications to make it easier to use with
+% the automatic font generation usually employed by modern LaTeX systems.
+%
+% Start off by naming the file and including Stanier's comments.
+%
+% \begin{macrocode}
+%<*up>
+%%% SARAB10.MF South Arabian font 10 point design size.
+
+%%% This font was designed by Alan M Stanier ( alan@essex.ac.uk ),
+%%% at Essex University Computer Service, Colchester, Essex CO4 3EA. England.
+%%%
+%%% If you make significant additions or improvements to the font,
+%%% please email me an updated version
+%%%
+%%% This font was used for several languages in Southern Arabia in the
+%%% second millenium BC
+%%%
+
+% \end{macrocode}
+%
+% The next part of the original file looked like this:
+% \begin{verbatim}
+% mg:=1.0; % CHANGE THIS TO GET DIFFERENT SIZES OF FONT (font size = 10*mg pt)
+%
+% mode_setup;
+% xpensize#:=mg*0.8pt;
+% ypensize#:=mg*0.2pt;
+% height#:=mg*10pt#;
+% width#:=mg*7pt#;
+% narrow#:=mg*5.3pt#;
+% \end{verbatim}
+% but this didn't seem to appeal to MetaFont very much, so I replaced it with:
+% \begin{macrocode}
+mode_setup;
+font_identifier:="sarabian";
+font_size:= 10pt#; % nominally, a 10pt font
+font_normal_space:=7pt#; % width of a blank space
+font_normal_shrink:=.9pt#; % width correction for blank space
+font_x_height:=4.5pt#; % height of one ex
+font_quad:=10pt#; % an em
+
+numeric pmg; pmg:=0.8; % a scale factor
+
+xpensize#:=pmg*0.8pt;
+ypensize#:=pmg*0.2pt;
+height#:=pmg*10pt#;
+width#:=pmg*7pt#;
+narrow#:=pmg*5.3pt#;
+
+mg#:= pmg*0.3pt#;
+define_pixels(mg);
+
+numeric cscale; % scale factor for original circles
+cscale# := mg#;
+define_pixels(cscale);
+let cmchar=\;
+
+% \end{macrocode}
+% Now continue with the original code.
+% \begin{macrocode}
+
+define_pixels(height,width,narrow);
+def getpen = pickup pencircle xscaled xpensize# yscaled ypensize# rotated 30 enddef;
+
+% \end{macrocode}
+% That finishes the simple set up. The rest of the code is for creating
+% the character glyphs. It is Stanier's code, except that where he had a
+% statement like: \\
+% |draw fullcircle scaled 10 shifted(...);| \\
+% I modifed it to: \\
+% |draw fullcircle scaled(10cscale) shifted(...);| \\
+% I also put a |cmchar "comment";| before each glyph code.
+
+% Note that the
+% encoding I use is not the same as Stanier's but does match the encoding
+% I use for my other archaic fonts.
+%
+% \begin{macro}{h}
+% The \thisfont{} letter \textit{h}.
+% \begin{macrocode}
+
+cmchar "letter h";
+beginchar("h",width#,height#,0);
+ getpen;
+ draw (0,mg*30){down} .. (mg*7.5,mg*15){right} .. (mg*15,mg*30){up};
+ draw (mg*7.5,mg*15) -- (mg*7.5,0);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{l}
+% The \thisfont{} letter \textit{l}.
+% \begin{macrocode}
+
+cmchar "letter l";
+beginchar("l",width#,height#,0);
+ getpen;
+ draw (0,mg*15) -- (mg*15,mg*30) -- (mg*15,0);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{H}
+% The \thisfont{} letter \textit{\d{h}}.
+% \begin{macrocode}
+
+cmchar "letter h sub dot (coded as H)";
+beginchar("H",width#,height#,0);
+ getpen;
+ draw (0,mg*30){down} .. (mg*7.5,mg*15){right} .. (mg*15,mg*30){up};
+ draw (mg*7.5,mg*30) -- (mg*7.5,0);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{m}
+% The \thisfont{} letter \textit{m}.
+% \begin{macrocode}
+
+cmchar "letter m";
+beginchar("m",width#,height#,0);
+ getpen;
+ draw (mg*15,mg*30) -- (mg*15,0) -- (0,mg*7.5) -- (mg*15,mg*15) --
+ (0,mg*22.5) -- (mg*15,mg*30);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{q}
+% The \thisfont{} letter \textit{q}.
+% \begin{macrocode}
+
+cmchar "letter q";
+beginchar("q",narrow#,height#,0);
+ getpen;
+ draw fullcircle scaled (10cscale) shifted(mg*5,mg*15);
+ draw (mg*5,mg*20) -- (mg*5,mg*30);
+ draw (mg*5,mg*10) -- (mg*5,0);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{w}
+% The \thisfont{} letter \textit{w}.
+% \begin{macrocode}
+
+cmchar "letter w";
+beginchar("w",width#,height#,0);
+ getpen;
+ draw fullcircle scaled (15cscale) shifted(mg*7.5,mg*15);
+ draw (mg*7.5,mg*7.5) -- (mg*7.5,mg*22.5);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{S}
+% The \thisfont{} letter \textit{\v{s}}.
+% \begin{macrocode}
+
+cmchar "letter s sup v (coded as S)";
+beginchar("S",width#,height#,0);
+ getpen;
+ draw (0,0) -- (0,mg*15) -- (mg*15,mg*15) -- (mg*15,0);
+ draw (mg*7.5,mg*15) -- (mg*7.5,mg*30);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{r}
+% The \thisfont{} letter \textit{r}.
+% \begin{macrocode}
+
+cmchar "letter r";
+beginchar("r",width#,height#,0);
+ getpen;
+ draw (0,mg*30){right} .. (mg*15,mg*15){down} .. (0,0){left};
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{b}
+% The \thisfont{} letter \textit{b}.
+% \begin{macrocode}
+
+cmchar "letter b";
+beginchar("b",width#,height#,0);
+ getpen;
+ draw (0,0) -- (0,mg*30) -- (mg*15,mg*30) -- (mg*15,0);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{t}
+% The \thisfont{} letter \textit{t}.
+% \begin{macrocode}
+
+cmchar "letter t";
+beginchar("t",width#,height#,0);
+ getpen;
+ draw (0,0) -- (mg*15,mg*30);
+ draw (0,mg*30) -- (mg*15,0);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{s}
+% The \thisfont{} letter \textit{s}.
+% \begin{macrocode}
+
+cmchar "letter s";
+beginchar("s",width#,height#,0);
+ getpen;
+ draw (0,0) -- (mg*15,mg*15) -- (0,mg*30);
+ draw (mg*15,0) -- (0,mg*15) -- (mg*15,mg*30);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{k}
+% The \thisfont{} letter \textit{k}.
+% \begin{macrocode}
+
+cmchar "letter k";
+beginchar("k",width#,height#,0);
+ getpen;
+ draw (0,0) -- (0,mg*15) -- (mg*15,mg*15) -- (mg*15,0);
+ draw (0,mg*15) -- (mg*7.5,mg*30);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{n}
+% The \thisfont{} letter \textit{n}.
+% \begin{macrocode}
+
+cmchar "letter n";
+beginchar("n",width#,height#,0);
+ getpen;
+ draw (0,mg*30) -- (0,mg*15) -- (mg*15,mg*15) -- (mg*15,0);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{I}
+% The \thisfont{} letter \textit{$h_u$}.
+% \begin{macrocode}
+
+cmchar "letter h sub u (coded as H)";
+%%beginchar("1",width#,height#,0);
+beginchar("I",width#,height#,0);
+ getpen;
+ draw (0,mg*30){down} .. (mg*7.5,mg*15){right} .. (mg*15,mg*30){up};
+ draw (mg*7.5,mg*15) -- (mg*7.5,mg*7.5) -- (mg*15,mg*7.5) -- (mg*15,0);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{X}
+% The \thisfont{} letter \textit{\'{s}}.
+% \begin{macrocode}
+
+cmchar "letter s acute (coded as X)";
+%%beginchar("2",width#,height#,0);
+beginchar("X",width#,height#,0);
+ getpen;
+ draw (0,0) -- (mg*15,mg*7.5) -- (0,mg*15) --
+ (mg*15,mg*22.5) -- (0,mg*30);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{f}
+% The \thisfont{} letter \textit{f}.
+% \begin{macrocode}
+
+cmchar "letter f";
+beginchar("f",width#,height#,0);
+ getpen;
+ draw (0,mg*15) -- (mg*7.5,0) -- (mg*15,mg*15) -- (mg*7.5,mg*30)
+ -- (0,mg*15);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{`}
+% The \thisfont{} letter \textit{`} (semitic ayin).
+% \begin{macrocode}
+
+cmchar "letter `";
+beginchar("`",width#,height#,0);
+ getpen;
+ draw (0,0) -- (0,mg*15) -- (mg*15,mg*15) -- (mg*15,0);
+ draw (mg*7.5,mg*15) -- (mg*7.5,mg*22.5) -- (0,mg*22.5) -- (0,mg*30);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{o}
+% The \thisfont{} letter \textit{`} (semitic ayin).
+% \begin{macrocode}
+
+cmchar "letter ` (coded as o)";
+beginchar("o",width#,height#,0);
+ getpen;
+ draw (0,0) -- (0,mg*15) -- (mg*15,mg*15) -- (mg*15,0);
+ draw (mg*7.5,mg*15) -- (mg*7.5,mg*22.5) -- (0,mg*22.5) -- (0,mg*30);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{'}
+% The \thisfont{} letter \textit{'} (semitic aleph).
+% \begin{macrocode}
+
+cmchar "letter '";
+beginchar("'",narrow#,height#,0);
+ getpen;
+ draw fullcircle scaled (10cscale) shifted(mg*5,mg*10);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{a}
+% The \thisfont{} letter \textit{'} (semitic aleph).
+% \begin{macrocode}
+
+cmchar "letter ' (coded as a)";
+beginchar("a",narrow#,height#,0);
+ getpen;
+ draw fullcircle scaled (10cscale) shifted(mg*5,mg*10);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{B}
+% The \thisfont{} letter \textit{\d{d}}.
+% \begin{macrocode}
+
+cmchar "letter d sub dot (coded as B)";
+%%beginchar("D",width#,height#,0);
+beginchar("B",width#,height#,0);
+ getpen;
+ draw (0,0) -- (mg*15,0) -- (mg*15,mg*30) -- (0,mg*30) -- (0,0);
+ draw (0,mg*15) -- (mg*15,mg*15);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{g}
+% The \thisfont{} letter \textit{g}.
+% \begin{macrocode}
+
+cmchar "letter g";
+beginchar("g",width#,height#,0);
+ getpen;
+ draw (0,mg*30) -- (mg*15,mg*30) -- (mg*15,0);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{d}
+% The \thisfont{} letter \textit{d}.
+% \begin{macrocode}
+
+cmchar "letter d";
+beginchar("d",narrow#,height#,0);
+ getpen;
+ draw (0,mg*10) -- (0,mg*20) -- (mg*10,mg*15) -- (0,mg*10);
+ draw (mg*10,0) -- (mg*10,mg*30);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{G}
+% The \thisfont{} letter \textit{\'{g}}.
+% \begin{macrocode}
+
+cmchar "letter g acute (coded as G)";
+beginchar("G",width#,height#,0);
+ getpen;
+ draw (0,mg*25) -- (mg*5,mg*30) -- (mg*15,mg*30) -- (mg*15,0);
+ draw (mg*5,0) -- (mg*5,mg*30);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{T}
+% The \thisfont{} letter \textit{\d{t}}.
+% \begin{macrocode}
+
+cmchar "letter t sub dot (coded as T)";
+beginchar("T",width#,height#,0);
+ getpen;
+ draw (0,0) -- (mg*15,0) -- (mg*15,mg*30) -- (0,mg*30) -- (0,0);
+ draw (mg*7.5,0) -- (mg*7.5,mg*30);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{z}
+% The \thisfont{} letter \textit{z}.
+% \begin{macrocode}
+
+cmchar "letter z";
+beginchar("z",width#,height#,0);
+ getpen;
+ draw (0,0) -- (mg*15,mg*30) -- (0,mg*30) --
+ (mg*15,0) -- (0,0);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{D}
+% The \thisfont{} letter \textit{\b{d}}.
+% \begin{macrocode}
+
+cmchar "letter d sub bar (coded as D)";
+%%beginchar("5",width#,height#,0);
+beginchar("D",width#,height#,0);
+ getpen;
+ draw (0,0) -- (0,mg*30);
+ draw (mg*15,0) -- (mg*15,mg*30);
+ draw (0,mg*12.5) -- (mg*15,mg*12.5);
+ draw (0,mg*17.5) -- (mg*15,mg*17.5);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{y}
+% The \thisfont{} letter \textit{y}.
+% \begin{macrocode}
+
+cmchar "letter y";
+beginchar("y",narrow#,height#,0);
+ getpen;
+ draw fullcircle scaled (10cscale) shifted(mg*5,mg*25);
+ draw (mg*5,mg*20) -- (mg*5,0);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{J}
+% The \thisfont{} letter \textit{\b{t}}.
+% \begin{macrocode}
+
+cmchar "letter t sub bar (coded as J)";
+%%beginchar("4",narrow#,height#,0);
+beginchar("J",narrow#,height#,0);
+ getpen;
+ draw fullcircle scaled (10cscale) shifted(mg*5,mg*25);
+ draw (mg*5,mg*20) -- (mg*5,mg*10);
+ draw fullcircle scaled (10cscale) shifted(mg*5,mg*5);
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{x}
+% The \thisfont{} letter \textit{\d{s}}.
+% \begin{macrocode}
+
+cmchar "letter s sub dot (coded as x)";
+%%beginchar("3",narrow#,height#,0);
+beginchar("x",narrow#,height#,0);
+ getpen;
+ draw fullcircle scaled (10cscale) shifted(mg*5,mg*25);
+ draw (mg*5,mg*20) -- (mg*5,mg*10);
+ draw (0,0){up} .. (mg*5,mg*10){right} .. (mg*10,0){down};
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{Z}
+% The \thisfont{} letter \textit{\d{z}}.
+% \begin{macrocode}
+
+cmchar "letter z sub dot (coded as Z)";
+beginchar("Z",narrow#,height#,0);
+ getpen;
+ draw fullcircle scaled (10cscale) shifted(mg*5,mg*25);
+ draw (mg*5,mg*20) -- (mg*5,0);
+ draw (mg*5,mg*10){right} .. (mg*10,0){down};
+endchar;
+
+% \end{macrocode}
+% \end{macro}
+%
+% The end of the glyphs, and file.
+% \begin{macrocode}
+
+end
+
+%</up>
+% \end{macrocode}
+%
+%
+%
+%
+% \section{The font definition files} \label{sec:fd}
+%
+% \begin{macrocode}
+%<*fdot1>
+\DeclareFontFamily{OT1}{sarab}{}
+ \DeclareFontShape{OT1}{sarab}{m}{n}{ <-> sarab10 }{}
+ \DeclareFontShape{OT1}{sarab}{bx}{n}{ <-> sub sarab/m/n }{}
+ \DeclareFontShape{OT1}{sarab}{b}{n}{ <-> sub sarab/m/n }{}
+ \DeclareFontShape{OT1}{sarab}{m}{sl}{ <-> sub sarab/m/n }{}
+ \DeclareFontShape{OT1}{sarab}{m}{it}{ <-> sub sarab/m/n }{}
+%</fdot1>
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+%<*fdt1>
+\DeclareFontFamily{T1}{sarab}{}
+ \DeclareFontShape{T1}{sarab}{m}{n}{ <-> sarab10 }{}
+ \DeclareFontShape{T1}{sarab}{bx}{n}{ <-> sub sarab/m/n }{}
+ \DeclareFontShape{T1}{sarab}{b}{n}{ <-> sub sarab/m/n }{}
+ \DeclareFontShape{T1}{sarab}{m}{sl}{ <-> sub sarab/m/n }{}
+ \DeclareFontShape{T1}{sarab}{m}{it}{ <-> sub sarab/m/n }{}
+%</fdt1>
+% \end{macrocode}
+%
+% \section{The \Lpack{sarabian} package code} \label{sec:code}
+%
+% Announce the name and version of the package, which requires
+% \LaTeXe{}.
+% \begin{macrocode}
+%<*usc>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{sarabian}[2005/11/12 v1.1 package for South Arabian fonts]
+% \end{macrocode}
+%
+%
+% \begin{macro}{\sarabfamily}
+% Selects the font family in the T1 encoding.
+% \changes{v1.1}{2005/11/12}{Changed default encoding from OT1 to T1}
+% \begin{macrocode}
+\newcommand{\sarabfamily}{\usefont{T1}{sarab}{m}{n}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\textsarab}
+% Text command for the font family.
+% \begin{macrocode}
+\DeclareTextFontCommand{\textsarab}{\sarabfamily}
+
+% \end{macrocode}
+% \end{macro}
+%
+% The commands for the signs.
+% \begin{macrocode}
+\chardef\SArq=`'
+\chardef\SAa=`a
+\chardef\SAb=`b
+\chardef\SAg=`g
+\chardef\SAd=`d
+\chardef\SAh=`h
+\chardef\SAw=`w
+\chardef\SAz=`z
+\chardef\SAhd=`H
+\chardef\SAtd=`T
+\chardef\SAy=`y
+\chardef\SAk=`k
+\chardef\SAl=`l
+\chardef\SAm=`m
+\chardef\SAn=`n
+\chardef\SAs=`s
+\chardef\SAf=`f
+\chardef\SAlq=``
+\chardef\SAo=`o
+\chardef\SAsd=`x
+\chardef\SAq=`q
+\chardef\SAr=`r
+\chardef\SAsv=`S
+\chardef\SAt=`t
+\chardef\SAhu=`I
+\chardef\SAdb=`D
+\chardef\SAtb=`J
+\chardef\SAga=`G
+\chardef\SAzd=`Z
+\chardef\SAsa=`X
+\chardef\SAdd=`B
+
+% \end{macrocode}
+%
+% \begin{macro}{translitsarab}
+% \begin{macro}{translitsarabfont}
+% |\translitsarab{|\meta{char-commands}|}| typesets a transliteration
+% of the \thisfont{} character commands in the |\translisarabfont| font.
+% \begin{macrocode}
+\newcommand{\translitsarab}[1]{{%
+ \@translitSA\translitsarabfont #1}}
+\newcommand{\translitsarabfont}{\itshape}
+
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\SAunder}
+% We need a copmmand to put a small U shaped cup under a letter.
+% \begin{macrocode}
+\DeclareTextCommand{\SAunder}{OT1}[1]%
+ {{\o@lign{\relax#1\crcr\hidewidth\sh@ft{29}%
+ \vbox to.2ex{\hbox{\char21}\vss}\hidewidth}}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@translitSA}
+% This command redefines all the character producing commands for
+% use within |\translitsarab|. There must be no spaces in the
+% definition.
+% \begin{macrocode}
+\newcommand{\@translitSA}{%
+\def\SArq{'}%
+\def\SAa{'}%
+\def\SAb{b}%
+\def\SAg{g}%
+\def\SAd{d}%
+\def\SAh{h}%
+\def\SAw{w}%
+\def\SAz{z}%
+\def\SAhd{\d{h}}%
+\def\SAtd{\d{t}}%
+\def\SAy{y}%
+\def\SAk{k}%
+\def\SAl{l}%
+\def\SAm{m}%
+\def\SAn{n}%
+\def\SAs{s}%
+\def\SAf{f}%
+\def\SAlq{`}%
+\def\SAo{`}%
+\def\SAsd{\d{s}}%
+\def\SAq{q}%
+\def\SAr{r}%
+\def\SAsv{\v{s}}%
+\def\SAt{t}
+\def\SAhu{\SAunder{h}}%
+\def\SAdb{\b{d}}%
+\def\SAtb{\b{t}}%
+\def\SAga{\'{g}}%
+\def\SAzd{\d{z}}%
+\def\SAsa{\'{s}}%
+\def\SAdd{\d{d}}%
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% The end of this package.
+% \begin{macrocode}
+%</usc>
+% \end{macrocode}
+%
+% \section{Map file}
+%
+% A very short map file.
+% \changes{v1.1}{2005/11/12}{Added map file}
+%
+% \begin{macrocode}
+%<*map>
+sarab10 Archaic-South-Arabian <sarab10.pfb
+%</map>
+% \end{macrocode}
+%
+%
+% \Finale
+%
+\endinput
+
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+
+