diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-11 23:49:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-11 23:49:08 +0000 |
commit | 10e86525da5f0224078b5bb299e21166a36631fc (patch) | |
tree | 4ef035be3ffb624eac1de0eea79c4550a84d2d6c /Master/texmf-dist/source/fonts/archaic/nabatean.dtx | |
parent | 7f97ebfa628c4d00c1d298daf8b8b5da3781fdb5 (diff) |
trunk/Master/texmf-dist/source/fonts
git-svn-id: svn://tug.org/texlive/trunk@111 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/fonts/archaic/nabatean.dtx')
-rw-r--r-- | Master/texmf-dist/source/fonts/archaic/nabatean.dtx | 1204 |
1 files changed, 1204 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/fonts/archaic/nabatean.dtx b/Master/texmf-dist/source/fonts/archaic/nabatean.dtx new file mode 100644 index 00000000000..5b6340b3ba0 --- /dev/null +++ b/Master/texmf-dist/source/fonts/archaic/nabatean.dtx @@ -0,0 +1,1204 @@ +% \iffalse meta-comment +% +% nabatean.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 +\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{nabatean.dtx} +\end{document} +%</driver> +% +% \fi +% +% \CheckSum{242} +% +% \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}{1999/03/14}{First public release} +% \changes{v1.1}{2000/09/30}{Minor changes to glyph encodings} +% \changes{v1.2}{2005/06/16}{Added map file} +% +% \def\fileversion{v1.0} \def\filedate{1999/03/14} +% \def\fileversion{v1.1} \def\filedate{2000/09/30} +% \def\fileversion{v1.2} \def\filedate{2005/06/16} +% \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}{Nabatean} +% +% \title{The \Lpack{Nabatean} 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{nabatean} bundle provides a set of fonts for the +% Nabatean script which was used between the fourth centuries~\BC{} +% and~\AD{} in the Middle East. It is one in a series for archaic scripts. +% \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 and the package is in later sections. +% +% \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{nabatean} package} \label{sec:usc} +% +% The \thisfont{} script is a descendant of the Aramaic script, +% which in turn descended from the Phoenician script, and is a predecessor +% of the modern Arabian script. It was used between approximately the +% fourth centuries~\BC{} and~\AD. The version presented is roughly +% typical of the frst century~\AD. +% +% The alphabet consisted of 22 characters. +% Table~\ref{tab} lists, in the \thisfont{} alphabetical order, the +% transliterated value of the characters and, where I know it, the +% modern name of the character. +% +% \begin{table} +% \centering +% \caption{The \thisfont{} script and alphabet}\label{tab} +% \begin{tabular}{clcll} \hline +% Value & Name? & ASCII & Command & Command \\ \hline +% \textit{a} & +% aleph & +% ' a & |\Arq| |\Aa| & +% |\Aaleph| +% \\ +% \textit{b} & +% beth & +% b & |\Ab| & +% |\Abeth| +% \\ +% \textit{g} & +% gimel & +% g & |\Ag| & +% |\Agimel| +% \\ +% \textit{d} & +% daleth & +% d & |\Ad| & +% |\Adaleth| +% \\ +% \textit{h} & +% he & +% h & |\Ah| & +% |\Ahe| +% \\ +% \textit{w} & +% vav & +% w & |\Aw| & +% |\Avav| +% \\ +% \textit{z} & +% zayin & +% z & |\Az| & +% |\Azayin| +% \\ +% \textit{\d{h}} & +% heth & +% H & |\Ahd| & +% |\Aheth| +% \\ +% \textit{\d{t}} & +% teth & +% T & |\Atd| & +% |\Ateth| +% \\ +% \textit{y} & +% yod & +% y & |\Ay| & +% |\Ayod| +% \\ +% \textit{k} & +% kaph & +% k & |\Ak| & +% |\Akaph| +% \\ +% \textit{l} & +% lamed & +% l & |\Al| & +% |\Alamed| +% \\ +% \textit{m} & +% mem & +% m & |\Am| & +% |\Amem| +% \\ +% \textit{n} & +% nun & +% n & |\An| & +% |\Anun| +% \\ +% \textit{s} & +% samekh & +% s & |\As| & +% |\Asamekh| +% \\ +% \textit{`} & +% ayin & +% ` o & |\Alq| |\Ao| & +% |\Aayin| +% \\ +% \textit{p} & +% pe & +% p & |\Ap| & +% |\Ape| +% \\ +% \textit{\d{s}} & +% sade & +% x & |\Asd| & +% |\Asade| +% \\ +% \textit{q} & +% qoph & +% q & |\Aq| & +% |\Aqoph| +% \\ +% \textit{r} & +% resh & +% r & |\Ar| & +% |\Aresh| +% \\ +% \textit{\v{s}} & +% shin & +% S & |\Asv| & +% |\Ashin| +% \\ +% \textit{t} & +% tav & +% t & |\At| & +% |\Atav| +% \\ +% \hline +% \end{tabular} +% \end{table} +% +% +% +% \DescribeMacro{\nabfamily} +% This command selects the \thisfont{} font family. The family name is |nab|. +% +% \DescribeMacro{\textnab} +% The command |\textnab{|\meta{text}|}| typesets \meta{text} in the +% \thisfont{} font. +% +% +% I have provided three ways of accessing the \thisfont{} glyphs: +% (a) by ASCII characters, +% (b) by commands whose names are based on the transliterated values, and +% (c) by commands whose names are based on the (modern) name of the +% character. +% These are shown in Table~\ref{tab}. +% +% +% \DescribeMacro{\translitnab} +% The command |\translitnab{|\meta{commands}|}| will typeset the +% transliteration of the \thisfont{} character commands (those in the +% last two columns of Table~\ref{tab}). +% +% \DescribeMacro{\translitnabfont} +% The font used for the transliteration is defined by this macro, +% which is initialsed to an italic font (i.e., |\itshape|). +% +% \StopEventually{ +% \bibliographystyle{alpha} +% \begin{thebibliography}{GMS94} +% +% \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} +% +% \subsection{The parameter file} +% +% We deal with the parameter file first, and start by announcing +% what it is for. +% \begin{macrocode} +%<*up> +%%% NAB10.MF Computer Nabatean font 10 point design size. + +% \end{macrocode} +% Specify the font size. +% \begin{macrocode} + +font_identifier:="nabatean"; font_size 10pt#; + +% \end{macrocode} +% +% +% \begin{macro}{u} +% \begin{macro}{ht} +% \begin{macro}{s} +% \begin{macro}{o} +% \begin{macro}{px} +% \begin{macro}{font-normal-space} +% \begin{macro}{font-normal-shrink} +% \begin{macro}{font-x-height} +% \begin{macro}{font-quad} +% Define the very simple font parameters. +% \begin{macrocode} +u#:=.2pt#; % unit width +ht#:=7pt#; % height of characters (CM cap-height is approx 6.8pt) +s#:=1.5pt#; % width correction (right and left) +o#:=1/20pt#; % overshoot +px#:=.6pt#; % horizontal width of pen +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 + +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% For a full font, normally the driver file would come here. In this +% case I have embedded it. +% \begin{macrocode} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% end of parameters +% start of driver code +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% \end{macrocode} +% +% +% \subsection{The driver file} +% +% If there was a seperate driver file, this would be its contents. +% +% \begin{macrocode} + +font_coding_scheme:="Nabatean glyphs"; +mode_setup; + +% \end{macrocode} +% +% \begin{macro}{ho} +% \begin{macro}{leftloc} +% \begin{macro}{py} +% Perform additional setup. +% \begin{macrocode} +ho#:=o#; % horizontal overshoot +leftloc#:=s#; % leftmost xcoord of character +py#:=.8px#; % vertical thickness of the pen + +define_pixels(s,u); +define_blacker_pixels(px,py); +define_good_x_pixels(leftloc); +define_corrected_pixels(o); % turn on overshoot correction +define_horizontal_corrected_pixels(ho); + +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{midloc} +% \begin{macro}{rightloc} +% Variables for the middle xcoord and rightmost xcoord of a character. +% \begin{macrocode} +numeric midloc, rightloc; +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{stylus} +% Define the pen. +% \begin{macrocode} +pickup pencircle xscaled px yscaled py; +stylus:=savepen; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{beginglyph} +% A macro to save some typing of beginchar arguments. +% \begin{macrocode} +def beginglyph(expr code, unit_width) = + beginchar(code, unit_width*ht#+2s#, ht#, 0); + midloc:=1/2w; rightloc:=(w-s); + pickup stylus enddef; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{cmchar} +% |cmchar| should precede each character +% \begin{macrocode} +let cmchar=\; + +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +newinternal defaultsmoothrad; +numeric smoothrad, defaultsmoothrad; +defaultsmoothrad := 2px; +smoothrad := 2px; + +tertiarydef p ~ q = + begingroup + c_ := fullcircle scaled 2smoothrad shifted point 0 of q; + a_ := ypart(c_ intersectiontimes p); + b_ := ypart(c_ intersectiontimes q); + if a_ < 0: point 0 of p{direction 0 of p} else: subpath(0,a_) of p fi + ... if b_ < 0: {direction infinity of q}point infinity of q + else: subpath(b_,infinity) of q fi + endgroup +enddef; + +def smoothly(text t) = + hide(n_:=0; for z=t: z_[incr n_]:= z; endfor) + (z_1 for k=2 upto n_-1: --z_[k]) ~ (z_[k] endfor --z_[n_]) +enddef; + +% \end{macrocode} +% +% That would be the end of a seperate driver file, except for +% calling the glyph code file. +% +% \subsection{The glyph code} +% +% The following code generates the glyphs for the Nabatean font. +% The characters +% are defined in the Phoenician alphabetic ordering. +% +% \begin{macrocode} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% end of title code +% start of glyph code +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% \end{macrocode} +% +% \begin{macro}{'} +% The \thisfont{} letter \textit{aleph}. +% Like a fancy X. +% \begin{macrocode} + +cmchar "Nabatean letter aleph (coded as ')"; +beginglyph("'",1.0); +z1=(leftloc,1/2h); +z3=(rightloc,0); +z2=1/2[z1,z3]; +z11=(leftloc,0); z12=(x2,y11); +z21=(1/3[x2,x3], y2); +z22=(x21,h); +draw z1{right}..z2..{right}z3; +draw z11--z12; draw z21--z22; +labels(1,2,3,4,5,11,12,21,22); +endchar; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{a} +% The \thisfont{}letter \textit{aleph}. +% \begin{macrocode} + +cmchar "Nabatean letter aleph (coded as a)"; +beginglyph("a",1.0); +z1=(leftloc,1/2h); +z3=(rightloc,0); +z2=1/2[z1,z3]; +z11=(leftloc,0); z12=(x2,y11); +z21=(1/3[x2,x3], y2); +z22=(x21,h); +draw z1{right}..z2..{right}z3; +draw z11--z12; draw z21--z22; +labels(1,2,3,4,5,11,12,21,22); +endchar; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{b} +% The \thisfont{} letter \textit{bet}. +% Like a sickle. +% \begin{macrocode} + +cmchar "Nabatean letter bet (coded as b)"; +beginglyph("b",1.0); +z1=(midloc,h); +z2=(x1,7/8h); +z4=(rightloc, 1/2h); +z6=(leftloc,0); +draw z1--z2; +draw z2{right}..z4{down}..{left}z6; +labels(1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{g} +% The \thisfont{} letter \textit{gimel}. +% Like a Y on its side. +% \begin{macrocode} + +cmchar "Nabatean letter gimel (coded as g)"; +beginglyph("g", 0.8); +z1=(1/3[leftloc,rightloc], h); +z2=(rightloc,0); +z11=1/2[z1,z2]; +z12=(leftloc,y11); +draw z1--z2; draw z11--z12; +labels(1,2,3,4,11,12); endchar; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{d} +% The \thisfont{} letter \textit{dalet}. +% \begin{macrocode} + +cmchar "Nabatean letter dalet (coded as d)"; +beginglyph("d",0.6); +z1=(leftloc,h); +z2=(x1,3/4h); +z3=(rightloc,y2); +z5=(rightloc,0); +draw smoothly(z1, z2, z3, z5); +labels(1,2,3,4,5,11,12); endchar; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{h} +% The \thisfont{} letter \textit{he}. +% Like a T with a post leaning against it. +% \begin{macrocode} + +cmchar "Nabatean letter he (coded as h)"; +beginglyph("h",0.8); +z1=(midloc,h); +z2=(rightloc,1/3h); +z3=1/4[z1,z2]; +z4=(leftloc,y3); +z11=1/2[z3,z4]; +z12=(x11,0); +draw z1--z2; +draw z3--z4; +draw z11--z12; +labels(1,2,3,4,5,6,7,8,9,10,11,12); endchar; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{w} +% The \thisfont{} letter \textit{vav}. +% Shepherds crook. +% \begin{macrocode} + +cmchar "Nabatean letter vav (coded as w)"; +beginglyph("w",0.3); +z1=(leftloc,3/4h); +z3=(rightloc,y1); +z2=(1/2[x1,x3], h); +z4=(rightloc,0); +draw z1{up}..z2{right}..{down}z3--z4; +labels(1,2,3,4,5,6,7,8,9,10); endchar; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{z} +% The \thisfont{} letter \textit{zayin}. +% Short, slightly bent, vertical line. +% \begin{macrocode} + +cmchar "Nabatean letter zayin (coded as z)"; +beginglyph("z",0.1); +z1=(leftloc,3/4h); +z3=(x1,1/4h); +z2=(rightloc,1/2[y1,y3]); +draw smoothly(z1, z2, z3); +labels(1,2,3,4,5,6,7,8,9,10); endchar; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{H} +% The \thisfont{} letter \textit{het} (h sub dot). +% \begin{macrocode} + +cmchar "Nabatean letter het (h sub dot?) (coded as H)"; +beginglyph("H", 0.7); +z7=(rightloc,1/8h); z8=(rightloc,h); +z1=(leftloc,0); +z2=(3/16[x1,x8], 0); +z3=(1/2[x1,x2], h); + +z11=7/8[z2,z3]; +z13=(x8,y11); +z12 =(1/2[x11,x13], h); + +draw smoothly(z1, z2, z3); draw z7--z8; +draw z11{right}..z12{right}..{right}z13; +labels(1,2,3,4,5,6,7,8,9,10,11,12,13); endchar; + +% \end{macrocode} +% \end{macro} +% +% +% +% \begin{macro}{T} +% The \thisfont{} letter \textit{tet} (t sub dot). +% Like the numeral 6. +% \begin{macrocode} + +cmchar "Nabatean letter tet (t sub dot) (coded as T)"; +beginglyph("T",1.0); +numeric n[]; +n1=1/4h; +z1=(leftloc,h); z2=(leftloc,0); +z3=(rightloc,1/4h); +z4=(x3,y3+n1); +z5'=1/4[z2,z3]; z5=(x5', y5'+n1); +draw smoothly(z1, z2, z3, z4, z5); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{y} +% The \thisfont{} letter \textit{yod}. +% Like an S. +% \begin{macrocode} + +cmchar "Nabatean letter yod (coded as y)"; +beginglyph("y",0.6); +z1=(3/4[leftloc,rightloc], h); +z2=(1/4[leftloc,rightloc], 1/2h); +z3=(rightloc,1/2h); +z4=(rightloc,1/3h); +z6=(leftloc,0); +draw smoothly(z1, z2, z3, z4, z6); +labels(1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{k} +% The \thisfont{} letter \textit{kaf}. +% \begin{macrocode} + +cmchar "Nabatean letter kaf (coded as k)"; +beginglyph("k",0.6); +z1=(1/4[leftloc,rightloc], h); +z2=(x1, 7/8h); +z3=(rightloc,y2); +z4=(rightloc,0); +z5=(leftloc,0); +draw smoothly(z1, z2, z3, z4, z5); +labels(1,2,3,4,5); endchar; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{l} +% The \thisfont{} letter \textit{lamed}. +% \begin{macrocode} + +cmchar "Nabatean letter lamed (coded as l)"; +beginglyph("l",0.5); +z1=(1/4[leftloc,rightloc], h); +z2=(x1, 1/3h); +z3=(rightloc,y2); +z4=(rightloc,0); +z5=(leftloc,0); +draw smoothly(z1, z2, z3, z5); +labels(1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{m} +% The \thisfont{} letter \textit{mem}. +% Like \textit{bet} with a line through the top bar. +% \begin{macrocode} + +cmchar"Nabatean letter mem (coded as m)"; +beginglyph("m",0.8); +z1=(leftloc,1/4h); +z2=(midloc,h); +z3=(rightloc,y2); +z4=(rightloc,0); +z5=(1/2[x1,x2],0); +draw smoothly(z1, z2, z3, z4, z5); +z11=7/8[z1,z2]; z12=(2/3[x1,x11], y2); +draw z11--z12; +labels(1,2,3,4,5,11,12); endchar; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{n} +% The \thisfont{} letter \textit{nun}. +% +% \begin{macrocode} + +cmchar "Nabatean letter nun (coded as n)"; +beginglyph("n",0.3); +z1=(leftloc,1/4h); +z2=(rightloc,y1); +z3=(x2,3/4h); +draw smoothly(z1, z2, z3); +labels(1,2,3,4,5,11,12); endchar; + +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{s} +% The \thisfont{} letter \textit{samekh}. +% Figure of eight. +% \begin{macrocode} + +cmchar "Nabatean letter samekh (coded as s)"; +beginglyph("s", 0.8); +z1=(leftloc,h); +z2=(1/4[leftloc,rightloc], y1); +z3=(x2,0); +z4=(rightloc,3/4h); +z5=(x1,y4); +z6=(x2,y4); +draw smoothly(z6, z5, z1, z2, z6); +draw smoothly(z6, z3, z4, z6); +labels(1,2,3,4,5,6,11,12); endchar; + +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{`} +% The \thisfont{} letter \textit{ayin}. +% Like a Y. +% \begin{macrocode} + +cmchar "Nabatean letter ayin (coded as `)"; +beginglyph("`",0.6); +z1=(leftloc,0); +z2=(rightloc,h); +z3=3/4[z1,z2]; +z4=(1/2[x1,x2], h); +draw z1--z2; draw z3--z4; +labels(1,2,3,4,5,6,7); endchar; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{o} +% The \thisfont{} letter \textit{ayin}. +% \begin{macrocode} + +cmchar "Nabatean letter ayin (coded as o)"; +beginglyph("o",0.6); +z1=(leftloc,0); +z2=(rightloc,h); +z3=3/4[z1,z2]; +z4=(1/2[x1,x2], h); +draw z1--z2; draw z3--z4; +labels(1,2,3,4,5,6,7); endchar; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{p} +% The \thisfont{} letter \textit{pe}. +% A more upright \textit{bet}. +% \begin{macrocode} + +cmchar "Nabatean letter pe (coded as p)"; +beginglyph("p", 0.6); +z1=(leftloc,1/8h); +z2=(2/3[leftloc,rightloc], 0); +z3=(rightloc,2/8h); +z4=(7/8[leftloc,rightloc], 6/8h); +z5=(x4,h); +z7=(5/8[leftloc,rightloc], y4); +draw z1...z2{right}...z3{up}...{up}z4; +draw smoothly(z4, z5, z7); +labels(1,2,3,4,5,6,7); endchar; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{x} +% The \thisfont{} letter \textit{tsadi}. +% Fishing hook with a flat top. +% \begin{macrocode} + +cmchar "Nabatean letter tsadi (S sub dot) (coded as x)"; +beginglyph("x", 0.8); +z1=(leftloc, 1/4h); +z3=(3/4[leftloc,rightloc], y1); +z2=(1/2[x1,x3], 0); +z4=(x3,h); +z5=(rightloc,y4); +draw z1...z2{right}...{up}z3; +draw smoothly(z3, z4, z5); +labels(1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{q} +% The \thisfont{} letter \textit{qof}. +% Like \textit{tsadi} except there is a ring at the top. +% \begin{macrocode} + +cmchar "Nabatean letter qof (coded as q)"; +beginglyph("q", 0.8); +z1=(leftloc, 1/4h); +z3=(3/4[leftloc,rightloc], y1); +z2=(1/2[x1,x3], 0); +z4=(x3,h); +z5=(rightloc,y4); +z6=(x5,6/8h); +z7=(x4,y6); +draw z1...z2{right}...{up}z3; +draw smoothly(z3, z4, z5, z6, z7); +labels(1,2,3,4,5,6,7); endchar; + +% \end{macrocode} +% \end{macro} +% +% +% +% \begin{macro}{r} +% The \thisfont{} letter \textit{resh}. +% Practically identical to \textit{dalet}. +% \begin{macrocode} + +cmchar "Nabatean letter resh (coded as r)"; +beginglyph("r",0.6); +z1=(leftloc,h); +z2=(x1,3/4h); +z3=(rightloc,y2); +z5=(rightloc,0); +draw smoothly(z1, z2, z3, z5); +labels(1,2,3,4,5,11,12); endchar; + +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{S} +% The \thisfont{} letter \textit{shin} (s sup v). +% Like an F. +% \begin{macrocode} + +cmchar "Nabatean letter shin (s sup v) (coded as S)"; +beginglyph("S", 0.8); +path pth[]; +z1=(leftloc,0); +z2=(1/3[leftloc,rightloc], 0); +z3=(x2,h); + +z11=1/2[z2,z3]; +z12=(rightloc,h); + +z21=1/2[z11,z3]; +z22=1/2[z3,z12]; + +draw smoothly(z1, z2, z3); +draw z11--z12; +draw z21--z22; +labels(1,2,3,4,5,6,7,11,12); endchar; + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{t} +% The \thisfont{} letter \textit{tav}. +% +% \begin{macrocode} + +cmchar "Nabatean letter tav (coded as t)"; +beginglyph("t", 1.0); +z1=(leftloc,0); +z2=(1/4[leftloc,rightloc], 0); +z3=(x2,h); +z4=(rightloc,h); +z5=(x4,0); +z6=1/2[z2,z5]; +draw smoothly(z1, z2, z3, z4, z5, z6); +labels(1,2,3,4,5,6); endchar; + + +% \end{macrocode} +% \end{macro} +% +% +% The end of the glyphs, and the file. +% +% \begin{macrocode} +end + +%</up> +% \end{macrocode} +% +% +% +% \section{The font definition files} \label{sec:fd} +% +% \begin{macrocode} +%<*fdot1> +\DeclareFontFamily{OT1}{nab}{} + \DeclareFontShape{OT1}{nab}{m}{n}{ <-> nab10 }{} + \DeclareFontShape{OT1}{nab}{bx}{n}{ <-> sub nab/m/n }{} + \DeclareFontShape{OT1}{nab}{b}{n}{ <-> sub nab/m/n }{} + \DeclareFontShape{OT1}{nab}{m}{sl}{ <-> sub nab/m/n }{} + \DeclareFontShape{OT1}{nab}{m}{it}{ <-> sub nab/m/n }{} +%</fdot1> +% \end{macrocode} +% +% +% \begin{macrocode} +%<*fdt1> +\DeclareFontFamily{T1}{nab}{} + \DeclareFontShape{T1}{nab}{m}{n}{ <-> nab10 }{} + \DeclareFontShape{T1}{nab}{bx}{n}{ <-> sub nab/m/n }{} + \DeclareFontShape{T1}{nab}{b}{n}{ <-> sub nab/m/n }{} + \DeclareFontShape{T1}{nab}{m}{sl}{ <-> sub nab/m/n }{} + \DeclareFontShape{T1}{nab}{m}{it}{ <-> sub nab/m/n }{} +%</fdt1> +% \end{macrocode} +% +% +% \section{The \Lpack{nabatean} package code} \label{sec:code} +% +% Announce the name and version of the package, which requires +% \LaTeXe{}. +% \begin{macrocode} +%<*usc> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{nabatean}[2000/09/30 v1.0 package for Nabatean fonts] +% \end{macrocode} +% +% +% \begin{macro}{\nabfamily} +% Selects the font family in the T1 encoding. +% \begin{macrocode} +\newcommand{\nabfamily}{\usefont{T1}{nab}{m}{n}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textnab} +% Text command for the font family. +% \begin{macrocode} +\DeclareTextFontCommand{\textnab}{\nabfamily} + +% \end{macrocode} +% \end{macro} +% +% The commands for the signs. +% \begin{macrocode} +\chardef\Arq=`' \chardef\Aa=`a \chardef\Aaleph=`' +\chardef\Ab=`b \chardef\Abeth=`b +\chardef\Ag=`g \chardef\Agimel=`g +\chardef\Ad=`d \chardef\Adaleth=`d +\chardef\Ah=`h \chardef\Ahe=`h +\chardef\Aw=`w \chardef\Avav=`w +\chardef\Az=`z \chardef\Azayin=`z +\chardef\Ahd=`H \chardef\Aheth=`H +\chardef\Atd=`T \chardef\Ateth=`T +\chardef\Ay=`y \chardef\Ayod=`y +\chardef\Ak=`k \chardef\Akaph=`k +\chardef\Al=`l \chardef\Alamed=`l +\chardef\Am=`m \chardef\Amem=`m +\chardef\An=`n \chardef\Anun=`n +\chardef\As=`s \chardef\Asamekh=`s +\chardef\Alq=`` \chardef\Ao=`o \chardef\Aayin=`` +\chardef\Ap=`p \chardef\Ape=`p +\chardef\Asd=`x \chardef\Asade=`x +\chardef\Aq=`q \chardef\Aqoph=`q +\chardef\Ar=`r \chardef\Aresh=`r +\chardef\Asv=`S \chardef\Ashin=`S +\chardef\At=`t \chardef\Atav=`t + +% \end{macrocode} +% +% \begin{macro}{\translitnab} +% \begin{macro}{\translinabfont} +% |\translitnab{|\meta{commands}|}| transliterates +% \meta{commands} using the |\translitnab| font. +% \begin{macrocode} +\newcommand{\translitnab}[1]{{% + \@translitN\translitnabfont #1}} +\newcommand{\translitnabfont}{\itshape} + +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@translitN} +% This macro redefines all the character commands to produce +% the transliterated value instead of the glyph. There must be no +% spaces in the definition. +% \begin{macrocode} +\newcommand{\@translitN}{% +\def\Arq{'}\def\Aa{\Arq}\def\Aaleph{\Arq}% +\def\Ab{b}\def\Abeth{\Ab}% +\def\Ag{g}\def\Agimel{\Ag}% +\def\Ad{d}\def\Adaleth{\Ad}% +\def\Ah{h}\def\Ahe{\Ah}% +\def\Aw{w}\def\Avav{\Aw}% +\def\Az{z}\def\Azayin{\Az}% +\def\Ahd{\d{h}}\def\Aheth{\Ahd}% +\def\Atd{\d{t}}\def\Ateth{\Atd}% +\def\Ay{y}\def\Ayod{\Ay}% +\def\Ak{k}\def\Akaph{\Ak}% +\def\Al{l}\def\Alamed{\Al}% +\def\Am{m}\def\Amem{\Am}% +\def\An{n}\def\Anun{\An}% +\def\As{s}\def\Asamekh{\As}% +\def\Alq{`}\def\Ao{\Alq}\def\Aayin{\Alq}% +\def\Ap{p}\def\Ape{\Ap}% +\def\Asd{\d{s}}\def\Asade{\Asd}% +\def\Aq{q}\def\Aqoph{\Aq}% +\def\Ar{r}\def\Aresh{\Ar}% +\def\Asv{\v{s}}\def\Ashin{\Asv}% +\def\At{t}\def\Atav{\At}% +} + +% \end{macrocode} +% \end{macro} +% +% +% +% The end of this package. +% \begin{macrocode} +%</usc> +% \end{macrocode} +% +% \section{Map files} +% +% This is rather short. +% \changes{v1.2}{2005/06/16}{Added map file} +% +% \begin{macrocode} +%<*map> +nab10 Archaic-Nabatean <nab10.pfb +%</map> +% \end{macrocode} +% +% The end! +% +% \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 \~} + + |