% \iffalse meta-comment
%
% protosem.dtx
% Copyright 1999 Peter R. Wilson
%
% This program is provided under the terms of the
% LaTeX Project Public License distributed from CTAN
% archives in directory macros/latex/base/lppl.txt.
%
% Author: Peter Wilson (CUA) (now at: peter.r.wilson@boeing.com)
% 
% 
%<*driver>
\documentclass{ltxdoc}
\EnableCrossrefs
\CodelineIndex
\setcounter{StandardModuleDepth}{1}
\begin{document}
  \DocInput{protosem.dtx}
\end{document}
%</driver>
%
% \fi
%
% \CheckSum{21}
%
% \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}
%
% \def\fileversion{v1.0}
% \def\filedate{1999/03/14}
% \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}{Proto-Semitic}
%
% \title{The \Lpack{Proto-Semitic} fonts\thanks{This
%        file has version number \fileversion, last revised
%        \filedate.}}
%
% \author{%
% Peter Wilson\\
% Catholic University of America \\
% Now at \texttt{peter.r.wilson@boeing.com}
% }
% \date{\filedate}
% \maketitle
% \begin{abstract}
%    The \Lpack{protosem} package provides a set of fonts for the 
% Proto-Semitic alphabet which was used around 1600~\BC{} in the Middle East.
% \end{abstract}
% \tableofcontents
%
% \StopEventually{}
%
% 
%
% \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{protosem} package} \label{sec:usc}
%
%    The Proto-Semitic alphabet provided by this package is probably
% a precursor to the Phoenician alphabet. As far as I can make out from
% from Davies~\cite{DAVIES97}, Drucker~\cite{DRUCKER95} and 
% Healey~\cite{HEALEY90}, there may have been several proto- alphabets
% being referred to as Proto-Siniatic or Proto-Canaanite for example.
% I have taken what I can from the sources available to me and
% produced a sort of generic Proto-Semitic font.
%
%    The alphabet consisted of 23 letters, some of which came in two
% different forms. The writing direction was normally left to right
% but could also be vertical.
%
% \begin{table} 
% \centering
% \caption{Names and meanings of \thisfont{} letters}\label{tab}
% \begin{tabular}{cll} \hline
%  Latin & \multicolumn{2}{c}{\thisfont} \\
%  letter & Name & Meaning \\ \hline
% a & alpu  & ox \\
% b & betu  & house \\
% g &       & throw-stick? \\
% d &       & fish \\
% z &       &    \\
% e &       & man? \\
% w & wawwu & hook/peg \\
% h & hotu  & fence \\
% i &       & twisted flax? \\
% y & yadu  & hand/arm \\
% k & kappu & palm of hand \\
% l & lamdu & ox goad/whip \\
% m & mayyuma? & water \\
% n & nahasu & snake \\
% o & enu    & eye \\
% p &        & \\
% u &        & leg/foot? \\
% v &        & plant? \\
% q &        & knot? \\
% r & rasu   & head \\
% s &        & lotus pool? \\
% x &        &  \\
% t & tawwu  & mark \\
% \hline
% \end{tabular}
% \end{table}
% 
%    I haven't yet been able to discover the meanings or values of
% all of the glyphs but, in modern terms, the alphabet was: \\
% |A B G ? Z ? W H ? Y K L M N O ? ? ? ? R S ? T| \\
% which has remarkable similarities with the orderings of the Greek 
% and the Latin alphabets. I have used matching lowercase Latin letters
% for accessing the full alphabet and uppercase Latin letters for
% the alternates. The Latin letters I have used for the alphabet
% as shown above are: \\
% |a b g d z e w h i y k l m n o p u v q r s x t| \\
% Table~\ref{tab} lists these characters and, where I know it, the name and
% meaning of the corresponding Proto-Semitic letter.
%
%    Several of the glyphs are obviously based on Egyptian hieroglyphs.
% There seems to be general agreement that the glyps I have coded as: \\
% |a b g d e w h i y k l m n o r s t| \\
% fall into this category. 
%
%
% \DescribeMacro{\protofamily}
%    This command selects the \thisfont{} font family. The family name is |proto|.
%
% \DescribeMacro{\textproto}
% The command |\textproto{|\meta{text}|}| typesets \meta{text} in the
% \thisfont{} font.
%     
%
% \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>
%%% PROTO10.MF  Computer Proto-Semitic font 10 point design size.

%    \end{macrocode}
%    Specify the font size.
%    \begin{macrocode}

font_identifier:="protosem"; 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#:=8pt#;                 % 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}
%
%    Finally, call the driver file for the font.
%    \begin{macrocode} 
input prototitle      %% switch to the driver file

end

%</up>
%    \end{macrocode}
%
%
% \subsection{The driver file}
%
%    Announce the file and switch into Metafont mode
%
%    \begin{macrocode}
%<*mfd>
% This is PROTOTITLE.MF. It makes the short Proto-Semitic font.

font_coding_scheme:="Protosem 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}
% 
%    Finally, input the file that does all the work.
%    \begin{macrocode}
 
input protoglyph;        % the glyphs

end

%</mfd>
%    \end{macrocode}
%
% \subsection{The glyph code}
%
%    The following code generates the glyphs for the Proto-Semitic font. 
% The characters
% are defined in the Phoenician alphabetic ordering.
%
%    \begin{macrocode}
%<*maj>
% PROTOGLYPH.MF Program file for Proto-Semitic font.
%
%
%    \end{macrocode}
%
% \begin{macro}{a}
% The Proto-Semitic letter \textit{alpu} (ox). Left profile of an oxhead.
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter a";
beginglyph("a",0.8);
numeric n[];
n1 := rightloc-leftloc;  % glyph width
z1=(leftloc, 1/10h);     % nose
z5=(x1+y1,0);
z3=(x1+7/8n1, 3/4h);     % top of neck
z4=(x3, 1/2y3);          % bottom of neck
z2=(1/2[x3,x1],y3);      % top of forehead
z6=(x1,h); z7=(rightloc,7/8[y2,y6]);  % tips of horns
z10=(1/4[x2,x3],2/3[y4,y3]);     % eye
z11=z10 shifted (px*down);
draw z1--z2--z3--z4--z5--cycle;      % head
draw z10--z11;                            % eye
draw z2{left}..z6{up};                     % a horn
draw z3..z7{up};                     % other horn
labels(1,2,3,4,,5,,6,7,10);
endchar;

%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{A}
% Alternate Proto-Semitic \textit{alpu} (ox). Right profile of an oxhead.
%    \begin{macrocode}
 
cmchar "Alternate Proto-Semitic a";
beginglyph("A",0.8);
numeric n[];
n1 := rightloc-leftloc;  % glyph width
z1=(rightloc, 1/10h);     % nose
z5=(x1-y1,0);
z3=(x1-7/8n1, 3/4h);     % top of neck
z4=(x3, 1/2y3);          % bottom of neck
z2=(1/2[x3,x1],y3);      % top of forehead
z6=(x1,h); z7=(leftloc,7/8[y2,y6]);  % tips of horns
z10=(1/4[x2,x3],2/3[y4,y3]);     % eye
z11=z10 shifted (px*down);
draw z1--z2--z3--z4--z5--cycle;      % head
draw z10--z11;                            % eye
draw z2{right}..z6{up};                     % a horn
draw z3..z7{up};                     % other horn
labels(1,2,3,4,,5,,6,7,10);
endchar;

%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{b}
% The Proto-Semitic \textit{betu} (house). A square with an opening.
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter b";
beginglyph("b",0.8);
z1=(leftloc, 0.2h); z3=(rightloc,0.8h);
z2=(x1,y3); z4=(x3,y1);
z5=1/3[z1,z4];
draw z1--z2--z3--z4--z5;
labels(1,2,3,4); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{B}
% An alternative Proto-Semitic \textit{betu} (house), a square with a chimney.
%    \begin{macrocode}
 
cmchar "Proto-Semitic alternate b";
beginglyph("B",0.8);
z1=(leftloc, 0.1h); z3=(rightloc,0.8h);
z2=(x1,y3); z4=(x3,y1);
z5=1/3[z2,z3]; z6=(x5,h);
z7=2/3[z2,z3]; z8=(x7,y6);
draw z8--z7--z3--z4--z1--z2--z5--z6;
labels(1,2,3,4,5,6,7,8); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{g}
%    The Proto-Semitic G. Like a broken stick or a 
% throw-stick
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter g";
beginglyph("g", 0.7);
x1=leftloc; x3=rightloc;
x2=3/8[x1,x3];
y1=2/3h; y2=y3=1/3h;
draw z1--z2--z3;
labels(1,2,3,4); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{d}
% The Proto-Semitic fish, facing right.
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter fish (d)";
beginglyph("d",1.0);
numeric alpha;
alpha := 3/16h;
%% body
x1=x6=leftloc; x4=rightloc; x2=1/4[x1,x4];
y2=y4=1/2h;
x3=x5=1/2[x2,x4];
y1=y5=y2-alpha; y6=y3=y2+alpha;
%% fins
z13=(x3-alpha,y3+alpha);
z15=(x5-alpha,y5-alpha);
draw z1..z2..z3{right}..z4;     % body
draw z4..z5{left}..z2..z6--z1;
draw z3--z13; draw z5--z15;     % fins
labels(1,2,3,4,5,6,13,15); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{D}
% Alternate Proto-Semitic fish, upright.
%    \begin{macrocode}
 
cmchar "Alternate Proto-Semitic fish (d)";
beginglyph("D",0.6);
numeric n[];
n1 := rightloc-leftloc;   % glyph width
numeric alpha;
alpha := 3/8n1;
%% body
z4=(midloc,h);
x1=x3=x4-alpha; x7=x5=x4+alpha;
y1=y7=0;
x2=1/4[x1,x7];
x6=3/4[x1,x7];
y2=y6=1/4h;
y3=y5=1/2[y2,y4];
%% fins
z13=(leftloc,y3-alpha); z15=(rightloc,y13);
draw z1..z2{up}..z3{up}..z4;         % body
draw z4..z5{down}..z6{down}..z7--z1;
draw z3--z13; draw z5--z15;          % fins
labels(1,2,3,4,5,6,7,13,15); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{e}
% The Proto-Semitic E, stick man with upraised arms.
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter ?? (e)";
beginglyph("e",0.6);
numeric alpha, beta;
z1=(midloc,3/4h);
alpha := 1/2(h-y1);
beta := 24/16alpha;  % 20/16 too small
z2=(x1,1/2y1);
z3=(leftloc, 1/2[y1,h]);
z4=(x3,2/3[y2,y1]);
z7=(rightloc,y3);
z6=(x7,y4);
z8=(x3,0);
z9=(x7,y8);
z10=(x1,h-alpha);
draw z3--z4--z6--z7;  % arms
draw z8--z2--z9;      % legs
draw z1--z2;          % body
draw fullcircle scaled beta shifted z10;  % head
labels(1,2,3,4,5,6,7,8,9,10); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{E}
% An alternate Proto-Semitic E, abstract stick man 
% with upraised arms.
%    \begin{macrocode}
 
cmchar "Proto-Semitic alternate e";
beginglyph("E",0.6);
numeric alpha;
z1=(midloc,h);
alpha := 1/2(h-y1);
z2=(x1,1/3y1);
z3=(leftloc, y1);
z4=(x3,2/3y1);
z7=(rightloc,y3);
z6=(x7,y4);
z8=(x7,y2);
z9=(x8,0);
draw z3--z4--z6--z7;  % arms
draw z1--z2--z8--z9;  % head, body, and leg
labels(1,2,3,4,5,6,7,8,9,10); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{z}
% Proto-Semitic letter ???. Two horizontal parallel lines.
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter ??? (z)";
beginglyph("z",0.8);
numeric alpha;
alpha:=0.2h;
x1=x6=leftloc; x5=x10=rightloc;
y1=y5=1/2h+alpha;
y6=y10=1/2h-alpha;
draw z1--z5;      % top
draw z6--z10;     % bottom
labels(1,2,3,4,5,6,7,8,9,10); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{h}
% The Proto-Semitic \textit{hotu} (fence?). Looks like a fence.
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter h";
beginglyph("h", 0.8);
numeric alpha;
alpha:=0.2h;
x1=x6=leftloc; x5=x10=rightloc;
y1=y2=y3=y4=y5=1/2h+alpha;
y6=y7=y8=y9=y10=1/2h-alpha;
x2=x7=1/4[x1,x5];
x4=x9=3/4[x1,x5];
x3=x8=1/2[x2,x4];
draw z1--z5;      % fence top
draw z6--z10;     % fence bottom
draw z2--z7; draw z3--z8; draw z4--z9; % stakes
labels(1,2,3,4,5,6,7,8,9,10); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{H}
% An alternate Proto-Semitic \textit{hotu} (fence?). Looks like a vertical fence.
%    \begin{macrocode}
 
cmchar "Alternate Proto-Semitic h";
beginglyph("H", 0.4);
numeric alpha;
x1=x2=x3=x4=x5=leftloc;
x7=x8=x9=rightloc;
y1=0; y5=h;
y2=y7=1/4h;
y4=y9=3/4h;
y3=y8=1/2[y2,y4];
draw z1--z5; draw z7--z9;    % verticals
draw z2--z7; draw z3--z8; draw z4--z9; % horizontals
labels(1,2,3,4,5,6,7,8,9,10); endchar;
 
%    \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{i}
% The Proto-Semitic ???. Twisted flax hieroglyph.
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter ??? (i)";
beginglyph("i",0.4);
x1=x8=x3=x6=leftloc; x9=x2=x7=x4=rightloc;
x5=midloc;
y1=y9=0; y5=h;
y8=y2=3/12h;
y6=y4=10/12h;
y3=y7=1/2[y8,y6];
z2'=1/2[z9,z2]; z8'=1/2[z1,z8];
draw z1{(z2'-z1)}...z2{up}..z3{up}..z4{up}..z5{left}..
     z6{down}..z7{down}..z8{down}...{(z9-z8')}z9;
labels(1,2,3,4,5,6,7,8,9); endchar;

%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{y}
% The Proto-Semitic \textit{yadu} (hand/arm).
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter y";
beginglyph("y",1.0);
numeric alpha,beta;;
alpha := 3/8h;
beta := 1/2alpha;
%% the L
x1=x2=leftloc; x3=rightloc;
y1=1/2h+alpha; y2=y3=1/2h-alpha;
%% the TV arial
z4=1/2[z2,z3];
z6=(x3,3/4[y2,y1]);
z5=1/2[z4,z6];
z4l=z4 shifted (beta*dir(135)); z4r=z4 shifted (beta*dir(-45));
z5l=z5 shifted (beta*dir(135)); z5r=z5 shifted (beta*dir(-45));
z6l=z6 shifted (beta*dir(135)); z6r=z6 shifted (beta*dir(-45));

draw z1--z2--z3;
draw z4--z6;
draw z4l--z4r; draw z5l--z5r; draw z6l--z6r;
labels(1,2,3,4,5,6); endchar;

%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{Y}
% Alternate Proto-Semitic \textit{yadu} (hand/arm).
%    \begin{macrocode}
 
cmchar "Alternate Proto-Semitic y";
beginglyph("Y",1.0);
z1=(leftloc,h); z3=(rightloc,0);
z2=1/2[z1,z3];
z4=(x2,y1); z5=(x3,y2);
draw z1--z3;
draw z4--z2--z5;
labels(1,2,3,4,5,6); endchar;

%    \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{k}
% The Proto-Semitic \textit{kappu} (palm of the hand).
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter k";
beginglyph("k",0.8);
numeric alpha;
alpha:=0.8;
numeric n[];
n1 := rightloc-leftloc;  % glyph width
n2 := 1/8n1;
z1=(leftloc+n2, h); z3=(rightloc-n2, y1);
z11=(leftloc, 1/4h); z13=(rightloc,y11);
z2=(midloc,0);
z6=(1/3[x1,x3], y1); z7=(x6, 0.2h);
z8=(2/3[x1,x3], y6); z9=(x8,y7);
draw z1..{down}z11..z2..{up}z13..z3;           % bowl
draw z6--z7; draw z8--z9;  % uprights
labels(1,2,3,4,5,6,7,8,9,10,11,12,13); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{K}
% An alternate Proto-Semitic \textit{kappu}.
%    \begin{macrocode}
 
cmchar "Alternate Proto-Semitic k";
beginglyph("K",0.8);
numeric alpha;
alpha:=0.8;
numeric n[];
n1 := rightloc-leftloc;  % glyph width
n2 := 1/8n1;
z1=(leftloc+n2, h); z3=(rightloc-n2, y1);
z11=(leftloc, 1/3h); z13=(rightloc,y11);
z2=(midloc,0);
z6=(x2, y1); z7=(x6, 0);
z8=(2/3[x1,x3], y6); z9=(x8,y7);
draw z1..{down}z11..z2..{up}z13..z3;           % bowl
draw z6--z7; %% draw z8--z9;  % uprights
labels(1,2,3,4,5,6,7,8,9,10,11,12,13); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{l}
% The Proto-Semitic \textit{lamdu} (ox goad). A long spiral.
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter l";
beginglyph("l",0.8);
z1=(1/4[leftloc,rightloc], 2/3h);
z3=(x1,h);
z4=(leftloc,1/2[y1,y3]);
z2=(1/2[leftloc,rightloc],y4);
z6=(rightloc,0);
z5=(1/2[x4,x3], 8/10[y6,y1]);
draw z1{right}..z2{up}..z3{left}..z4{down}..z5..z6;
labels(1,2,3,4,5,6); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{L}
% Alternate Proto-Semitic \textit{lamdu} (ox goad). A long spiral.
%    \begin{macrocode}
 
cmchar "Alternate Proto-Semitic l";
beginglyph("L",0.8);
z1=(1/4[rightloc,leftloc], 2/3h);
z3=(x1,h);
z4=(rightloc,1/2[y1,y3]);
z2=(1/2[rightloc,leftloc],y4);
z6=(leftloc,0);
z5=(1/2[x4,x3], 8/10[y6,y1]);
draw z1{left}..z2{up}..z3{right}..z4{down}..z5..z6;
labels(1,2,3,4,5,6); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{m}
% The Proto-Semitic \textit{mayyuma} (water). A jagged line.
%    \begin{macrocode}
 
cmchar"Proto-Semitic letter m";
beginglyph("m",1.0);
numeric alpha;
alpha := 1/16h;
z1=(leftloc,1/2h-alpha);
z10=(rightloc,1/2h+alpha);
x2=1/7[x1,x10];
x3=2/7[x1,x10];
x4=3/7[x1,x10];
x5=4/7[x1,x10];
x6=5/7[x1,x10];
x7=6/7[x1,x10];
y2=y4=y6=y10;
y3=y5=y7=y1;
draw z1--z2--z3--z4--z5--z6--z7--z10;
labels(1,2,3,4,5,6,7,8,9,10); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{n}
% The Proto-Semitic \textit{nahasu} (snake). A wriggling cobra.
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter n";
beginglyph("n",1.0);
numeric alpha;
alpha := 3/8h;
z1=(leftloc,1/2h+alpha);
z3=(1/4[leftloc,rightloc],1/2h);
z5=(rightloc,y3-1/2alpha);
z4=(3/4[leftloc,rightloc],y3);
draw z1{dir(-20)}..{down}z3--z4{right}..z5;
labels(1,2,3,4,5); endchar;
 
%    \end{macrocode}
% \end{macro}
%
%
%
% \begin{macro}{o}
% The Proto-Semitic \textit{enu} (eye).
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter o";
beginglyph("o",1.0);
numeric alpha;
path pth[];
alpha := 3/16h;
z1=(leftloc,1/2h);
z3=(rightloc,y1);
z2=(1/2[x1,x3],y1+alpha);
z4=(x2,y1-alpha);
pth1 := z1..z2..z3;
pth2 := z1..z4..z3;
z5 = point 0.75 of pth1; 
z7 = point 1.25 of pth1;
z6=1/2[z1,z3];
draw pth1; draw pth2;       % the eye
draw z5..z6..z7;             % the pupil
labels(1,2,3,4,5,6,7); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{O}
% An alternative Proto-Semitic \textit{enu} (eye).
%    \begin{macrocode}
 
cmchar "Alternative Proto-Semitic o";
beginglyph("O",1.0);
numeric alpha;
path pth[];
alpha := 3/16h;
z1=(leftloc,1/2h);
z3=(rightloc,y1);
z2=(1/2[x1,x3],y1+alpha);
z4=(x2,y1-alpha);
pth1 := z1..z2..z3;
pth2 := z1..z4..z3;
%z5 = point 0.75 of pth1; 
%z7 = point 1.25 of pth1;
%z6=1/2[z1,z3];
draw pth1; draw pth2;       % the eye
%draw z5..z6..z7;             % the pupil
labels(1,2,3,4,5,6,7); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{p}
% The Proto-Semitic letter ??? (p). A box with a tail.
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter ??? (p)";
beginglyph("p", 1.0);
numeric alpha;
alpha := 0.1*(rightloc-leftloc);
z1=(leftloc+alpha, h/2); z3=(rightloc,y1);
z2=(1/2[x1,x3], h); z4=(x2,0);
z5=(leftloc,1/2[y1,y4]);
draw z1--z2--z3--z4--cycle;
draw z1--z5;
labels(1,2,3,4,5); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{q}
% The Proto-Semitic figure of eight (a knot?).
%    \begin{macrocode}

cmchar "Proto-semitic letter figure-of-eight";
beginglyph("q", 1.0);
numeric alpha;
alpha := 3/16h;
z1=(leftloc,h/2); z6=(rightloc,y1);
%% left oval
z3=2/3[z1,z6];
x4=x2=1/2[x1,x3]; y2=y1+alpha; y4=y1-alpha;
%% right oval
x5=x7=1/2[x3,x6]; y5=y1+3/4alpha; y7=y1-3/4alpha;
draw z1..z2..z3..z4..cycle;
draw z3..z5..z6..z7..cycle;
labels(1,2,3,4,5,6,7); endchar;

%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{Q}
% An alternate Proto-Semitic figure of eight (a knot?).
%    \begin{macrocode}

cmchar "Alternate Proto-Semitic figure-of-eight";
beginglyph("Q", 0.5);
numeric alpha;
z1=(midloc,0); z6=(midloc,h);
%% bottom oval
z3=2/3[z1,z6];
y4=y2=1/2[y1,y3]; x2=leftloc; x4=rightloc;
%% top oval
y5=y7=1/2[y3,y6]; x5=1/2[x2,x3]; x7=1/2[x3,x4];
draw z1..z2..z3..z4..cycle;
draw z3..z5..z6..z7..cycle;
labels(1,2,3,4,5,6,7); endchar;

%    \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{w}
% The Proto-Semitic \textit{wawwu} (hook/peg). Like a lamppost.
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter w";
beginglyph("w",0.4);
numeric alpha;
x1=leftloc;
x3=rightloc;
alpha=0.5(x3-x1);  % circle radius
y2=h;
y4=y2-2alpha;
bot y5=-o;
x2=x4=x5=midloc;
y1=y3=h-alpha;
draw z1..z2..z3..z4..cycle;  % the circle
draw z5--z4;                 % the upright
labels(1,2,3,4,5); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{r}
% The Proto-Semitic \textit{rasu} (head). It looks like a head in left 
% profile wearing a skull cap.
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter r";
beginglyph("r", 0.8);
numeric alpha,beta;
alpha := 1/20w;
pair vec[];
z2=(leftloc,1/3h);             % tip of nose
z9=(rightloc,0);               % base of back of neck
z1=(1/3[leftloc,rightloc],0);  % base of front of neck
z3=(x1,3/4h);                  % front of hat
z6=(1/2[x1,x9], 3/4[y1,y2]);   % nape of neck
z5=(1/2[x6,x9], 1/2[y2,y3]);   % back of hat
z4=(9/12[x3,x5], h);            % top of head
z10'=9/16[z2,z3];               % eye
z10=(x10'+5/2alpha, y10');
beta := angle(z5-z3);
vec1 := dir(beta);
vec2=(z3-z2);
z11=z10 shifted (alpha*vec1);
z9'=(x5,y9);
draw z1{up}..z2;               % chin
draw z2--z3{vec2}..z4{right}..z5..z6..{down}z9'; % head
draw z3--z5;                   % hat
draw z10--z11;                 % eye
labels(1,2,3,4,5,6,7,8,9,9',10,11); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{R}
% An alternate Proto-Semitic \textit{rasu} (head). It looks like a head in 
% right profile.
%    \begin{macrocode}
 
cmchar "Alternate Proto-Semitic r";
beginglyph("R", 0.8);
numeric alpha, beta;
alpha := 1/20w;
pair vec[];
z2=(rightloc,1/3h);             % tip of nose
z9=(leftloc,0);               % base of back of neck
z1=(1/3[rightloc,leftloc],0);  % base of front of neck
z3=(x1,3/4h);                  % front of hat
z6=(1/2[x1,x9], 3/4[y1,y2]);   % nape of neck
z5=(1/2[x6,x9], 1/2[y2,y3]);   % back of hat
z4=(9/12[x3,x5], 9/10h);            % top of head
z10'=11/16[z2,z3];               % eye
z10=(x10'-5/2alpha, y10');
beta := angle(z5-z3);
vec1 := dir(angle(z5-z3));
vec2=(z3-z2);
z11=z10 shifted (alpha*vec1);
z9'=(x5,y9);
draw z1{up}..z2;               % chin
draw z2--z3{vec2}..z4{left}..z5..z6..{down}z9'; % head
%%draw z3--z5;                   % hat
draw z10--z11;                 % eye
labels(1,2,3,4,5,6,7,8,9,9',10,11); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{s}
% The Proto-Semitic letter S. It's like a modern lowercase w.
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter s";
beginglyph("s", 1.0);
z2=(leftloc,1/4h); z6=(rightloc,y2);
z3=(1/4[x2,x6], 0); z5=(3/4[x2,x6], y3);
z1=(x3,6/8h); z7=(x5,y1);
z4=(1/2[x3,x5],y2);
draw z1..z2{down}..z3{right}..{up}z4;
draw z7..z6{down}..z5{left}..{up}z4;
labels(1,2,3,4,5,6,7); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{t}
% The Proto-Semitic \textit{tawwu} (mark). A cross.
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter t";
beginglyph("t", 0.8);
numeric alpha;
alpha := midloc-leftloc;
z10=(midloc,1/2h);
z1=(leftloc,y10); z2=(rightloc,y1);
z3=(x10,y10+alpha);
z4=(x3,y10-alpha);
draw z1--z2;         % horizontal
draw z3--z4;         % vertical
labels(1,2,3,4,10); endchar;
 
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{u}
%    The Proto-Semitic letter looking like a leg \& foot.
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter like a leg & foot (u)";
beginglyph("u", 0.8);
x1=x2=leftloc; y1=17/20h; y2=3/20h;
z3=(rightloc,y2);
x6=1/4[x2,x3]; y6=y1;
x5=x6; y5 = y2 + (x6-x1);
x4=x3 -(y5-y2); y4=y5;
draw z1--z2--z3;
draw z6--z5--z4{right}..{down}z3;
labels(1,2,3,4,5,6); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{U}
%    Alternate Proto-Semitic letter looking like a leg \& foot. Looks like an
% elbow in this case.
%    \begin{macrocode}
 
cmchar "Alternate Proto-Semitic letter like a leg & foot (u)";
beginglyph("U", 0.8);
numeric alpha;
alpha := 2/10(rightloc-leftloc);
x1=rightloc; x2=leftloc; y1=17/20h; y2=3/20h;
z5=(x1-alpha, y1);
z6=(x2,y2+alpha);
z0=(x1,y2); z10=(x2,y1);
z3=3/20[z0,z10];
z7=7/20[z0,z10];
draw z1{down}..z3..{left}z2;
draw z5{down}..z7..{left}z6;
labels(1,2,3,4,5,6,7,8); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{v}
%    The Proto-Semitic letter looking like a plant.
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter like a plant (v)";
beginglyph("v", 1.0);
x1=x2=midloc;
x3=leftloc; x4=rightloc;
y1=0; y2=h;
y3=y4=2/3h;
draw z1--z2;          % the stem
draw z1{up}..z3; draw z1{up}..z4;   % the leaves
labels(1,2,3,4); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{V}
%    Alternate Proto-Semitic letter looking like a plant.
%    \begin{macrocode}
 
cmchar "Alternate Proto-Semitic letter like a plant (v)";
beginglyph("V", 0.8);
x1=x2=midloc;
x3=leftloc; x4=rightloc;
y1=0; y2=h;
z5=1/2[z1,z2];
y3=y4=h;
draw z1--z2;          % the stem
draw z5{up}..z3; draw z5{up}..z4;   % the leaves
labels(1,2,3,4); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{x}
%    Proto-Semitic letter looking like a viking helmet.
%    \begin{macrocode}
 
cmchar "Proto-Semitic letter like a viking helmet (x)";
beginglyph("x", 0.8);
path pth[];
%% helmet
z1=(leftloc,0); z7=(rightloc,0);
z4=(midloc,h);
pth1 := z1{up}..{(1,2)}z4{(1,-2)}..z7{down};
%% wings
z3 = point 0.75 of pth1;
z13=(leftloc,h);
z5 = point 1.25 of pth1;
z15=(rightloc,y13);
draw pth1; draw z7--z1;                    % helmet
draw z3--z13; draw z5--z15;                % 2 wings
labels(1,2,3,4,5,6,7,13,15,16); endchar;
 
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{X}
%    Alternate Proto-Semitic letter looking like a viking helmet.
%    \begin{macrocode}
 
cmchar "Alternate Proto-Semitic letter like a viking helmet (x)";
beginglyph("X", 0.8);
path pth[];
%% helmet
z1=(leftloc,0); z7=(rightloc,0);
z4=(midloc,13/16h);
y2=y6=3/4[y1,y4];
x2=2/10[x1,x7]; x6=2/10[x7,x1];
pth1 := z1--z2{(z2-z1)}..z4{right}..{(z7-z6)}z6--z7--cycle;
pth2 := subpath (1,3) of pth1;
%% wings
z3 = point 0.5 of pth2;
z13=(leftloc,h);
z5 = point 1.5 of pth2;
z15=(rightloc,y13);
z16'=z6 shifted (h*(2,1));
z16=whatever[z6,z16']; x16=rightloc;
draw pth1;                                 % helmet
draw z3--z13; draw z5--z15; draw z6--z16;  % 3 wings
labels(1,2,3,4,5,6,7,13,15,16); endchar;
 
%    \end{macrocode}
% \end{macro}
%
%  The end of the glyphs.
%
%    \begin{macrocode} 
%</maj> 
%    \end{macrocode}
%
%
%
% \section{The font definition files} \label{sec:fd}
%
%    \begin{macrocode}
%<*fdot1>
\DeclareFontFamily{OT1}{proto}{}
  \DeclareFontShape{OT1}{proto}{m}{n}{ <-> proto10 }{}
  \DeclareFontShape{OT1}{proto}{bx}{n}{ <-> sub proto/m/n }{}
  \DeclareFontShape{OT1}{proto}{b}{n}{ <-> sub proto/m/n }{}
  \DeclareFontShape{OT1}{proto}{m}{sl}{ <-> sub proto/m/n }{}
  \DeclareFontShape{OT1}{proto}{m}{it}{ <-> sub proto/m/n }{}
%</fdot1>
%    \end{macrocode}
%
%
%    \begin{macrocode}
%<*fdt1>
\DeclareFontFamily{T1}{proto}{}
  \DeclareFontShape{T1}{proto}{m}{n}{ <-> proto10 }{}
  \DeclareFontShape{T1}{proto}{bx}{n}{ <-> sub proto/m/n }{}
  \DeclareFontShape{T1}{proto}{b}{n}{ <-> sub proto/m/n }{}
  \DeclareFontShape{T1}{proto}{m}{sl}{ <-> sub proto/m/n }{}
  \DeclareFontShape{T1}{proto}{m}{it}{ <-> sub proto/m/n }{}
%</fdt1>
%    \end{macrocode}
%
% \section{The \Lpack{protosem} package code} \label{sec:code}
%
%    Announce the name and version of the package, which requires
% \LaTeXe{}.
%    \begin{macrocode}
%<*usc>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{protosem}[1999/03/14 v1.0 package for Proto-Semitic fonts]
%    \end{macrocode}
%
%
% \begin{macro}{\protofamily}
%    Selects the font family in the OT1 encoding.
%    \begin{macrocode}
\newcommand{\protofamily}{\usefont{OT1}{proto}{m}{n}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\textproto}
%    Text command for the font family.
%    \begin{macrocode}
\DeclareTextFontCommand{\textproto}{\protofamily}
%    \end{macrocode}
% \end{macro}
%
%
%    The end of this package.
%    \begin{macrocode}
%</usc>
%    \end{macrocode}
%
%
% \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}
%
%
% \Finale
% \PrintIndex
%
\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         \~}


