% \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         \~}


