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