diff options
Diffstat (limited to 'Master/texmf-dist/source/fonts/archaic/cypriot.dtx')
-rw-r--r-- | Master/texmf-dist/source/fonts/archaic/cypriot.dtx | 2114 |
1 files changed, 2114 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/fonts/archaic/cypriot.dtx b/Master/texmf-dist/source/fonts/archaic/cypriot.dtx new file mode 100644 index 00000000000..3ff0f5facbd --- /dev/null +++ b/Master/texmf-dist/source/fonts/archaic/cypriot.dtx @@ -0,0 +1,2114 @@ +% \iffalse meta-comment +% +% cypriot.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. +% +% +% If you do not have the docmfp package (available from CTAN in +% tex-archive/macros/latex/contrib/supported), comment out the +% \usepackage{docmfp} line below and uncomment the line following it. +% +% +%<*driver> +\documentclass[twoside]{ltxdoc} +\usepackage{docmfp} +%%%%% \providecommand{\DescribeVariable}[1]{} \newenvironment{routine}[1]{}{} +\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{cypriot.dtx} +\end{document} +%</driver> +% +% \fi +% +% \CheckSum{279} +% +% \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/06/20}{First public release} +% \changes{v1.1}{2005/04/17}{Contact changed, Type1 map file} +% \changes{v1.1}{2005/04/17}{Merged the three metafont files into one} +% +% \def\fileversion{v1.0} \def\filedate{1999/06/20} +% \def\fileversion{v1.1} \def\filedate{2005/06/13} +% \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}} +% +% \title{The \Lpack{Cypriot} font\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{cypriot} bundle provides a rendition of the Cypriot +% syllabary which was a script used in Cyprus for writing Greek. The script +% was in use between about 1000 and 200~\BC. +% \end{abstract} +% \tableofcontents +% \listoftables +% +% +% +% \section{Introduction} +% +% The font presented here is a rendition of the Cypriot script +% that was used from about 1000 to 200~\BC, particularly on Cyprus. +% It is one of a series of fonts that was initially intended +% to show how the 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{COMPANION}. +% +% Section~\ref{sec:usc} describes the usage of the package. +% Commented code for the fonts and source code for 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 day 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{cypriot} package} \label{sec:usc} +% +% The Cypriot script was used in Cyprus for almost a thousand years, +% from about 1000--200~\BC. +% +% Cypriot is a syllabary, where there is a sign for each +% syllable. There are 55 signs in the Cypriot syllabary. +% The script was used for record keeping, not for literary purposes. +% It was used in Cyprus until about the third century \BC, although by +% this time few could read or write it. At this late date its use was +% principally for recording +% inscriptions on votive offerings and public works, and in many cases +% the Cypriot script was accompanied by a Greek alphabetic version of +% the same text. These bilinguals were a great aid in deciphering the +% script, a task that was completed in the 1870's. +% +% Apart from the specialised literature, the story of the Cypriot script +% can be found in~\cite{CHADWICK87} and~\cite{GORDON87}, among others. +% +% Cypriot was used to write Greek centuries before the Greek alphabet +% was invented. Perhaps surprisingly, Cypriot has no other relationship +% to the Greek alphabet except that they can both be used to write the +% same language. There is, however, a relationship between the Cypriot syllabary +% and the earlier Linear~B syllabary, which was principally used in Crete, as +% some of the signs are the same. +% +% The font presented here is based on the signs illustrated by +% Chadwick~\cite{CHADWICK87}, and consists of 55 signs.\footnote{I am grateful +% to J\"{u}rgen Kraus (\texttt{jkraus@uni-goettingen.de}) for reviewing +% my interpretation of the symbols.} +% +% +% +% \DescribeMacro{\cyprfamily} +% This command selects the Cypriot font family. +% The family name is |cypr|. +% +% \DescribeMacro{\textcypr} +% The command |\textcypr{|\meta{text}|}| typesets \meta{text} in the +% Cypriot font. +% +% The commands (and their ASCII equivalents) for the 55 signs +% are given in Table~\ref{tab:basic}; you can use either the command or +% its ASCII keyboard equivalent. There are 5 signs for the 5 vowels and +% the remaining 50 signs are two-character syllables. +% The apparently odd mapping to the ASCII characters is so that a +% companion Linear~B font~\cite{LINEARB} can use the same ASCII characters +% for the syllables that are common to both scripts. +% +% \begin{table} +% \centering +% \caption{Commands and encoding for the signs}\label{tab:basic} +% \begin{tabular}{cccccc} \hline +% & a & e & i & o & u \\ \hline +% & |\Ca| a & |\Ce| e & |\Ci| i & |\Co| o & |\Cu| u \\ +% g & |\Cga| g & & & & \\ +% j & |\Cja| j & & & |\Cjo| b & \\ +% k & |\Cka| k & |\Cke| K & |\Cki| c & |\Cko| h & |\Cku| v \\ +% l & |\Cla| l & |\Cle| L & |\Cli| d & |\Clo| f & |\Clu| q \\ +% m & |\Cma| m & |\Cme| M & |\Cmi| y & |\Cmo| A & |\Cmu| B \\ +% n & |\Cna| n & |\Cne| N & |\Cni| C & |\Cno| E & |\Cnu| F \\ +% p & |\Cpa| p & |\Cpe| P & |\Cpi| G & |\Cpo| H & |\Cpu| I \\ +% r & |\Cra| r & |\Cre| R & |\Cri| O & |\Cro| U & |\Cru| V \\ +% s & |\Csa| s & |\Cse| S & |\Csi| Y & |\Cso| 1 & |\Csu| 2 \\ +% t & |\Cta| t & |\Cte| T & |\Cti| 3 & |\Cto| 4 & |\Ctu| 5 \\ +% w & |\Cwa| w & |\Cwe| W & |\Cwi| 6 & |\Cwo| 7 & \\ +% z & & & & |\Czo| 9 & \\ +% \hline +% \end{tabular} +% \end{table} +% +% There appears to be some flexibility in the interpretation of three +% of the signs, namely the \textit{ga}, \textit{ja} and \textit{jo}. Some +% write these as \textit{za}, \textit{ya} and \textit{yo}, respectively. +% I have provided the commands |\Cza|, |\Cya| and |\Cyo|, in addition to +% those listed in Table~\ref{tab:basic}, for those who prefer the alternate +% interpretation. These typeset the same sign as the corresponding +% |\Cga|, |\Cja| and +% |\Cjo| commands, the difference between the interpretations only being +% manifest within transliterated text. +% +% The Cypriot script includes a word divider, which is a short vertical +% line. In this font, there are three synonomous dividers which are produced +% by the ASCII keyboard characters |: , /| (i.e., colon or comma or slash). +% Using any of these when typesetting the script produce the same word divider +% sign. +% +% \DescribeMacro{\translitcypr} +% The command |\translitcypr{|\meta{char-commands}|}|, where \meta{char-commands} +% are the Cypriot character commands, will typeset a transliteration of the +% signs. For example,\\ +% |\translitcypr{\Cti\Cme:\Cto/\Cre\Cti\Cre}| will generate \\ +% \textit{ti-me-:to-/re-ti-re-} \\ +% Note that in the transliterated form the word dividers +% (|:| and |/| in this example) are printed as themselves. This is because +% only the character commands are modified while any other text is printed as is. +% It is a feature of the command that all transliterated commands have a trailing +% |-| sign. +% +% \DescribeMacro{\translitcyprfont} +% The transliterated Cypriot is typeset with the font declarations specified by +% |\translitcyprfont|, which defaults to |\itshape| thus printing the +% transliteration in an italic font. The font can be changed by redefining +% the command. For example, if you wanted to use a bold sans font you +% would do: \\ +% |\renewcommand{\translitcyprfont}{\sffamily\bfseries}| +% +% +% \StopEventually{ +% \bibliographystyle{alpha} +% \begin{thebibliography}{GMS94} +% +% \bibitem[Cha87]{CHADWICK87} +% John Chadwick. +% \newblock \emph{Linear B and Related Scripts}. +% \newblock University of California Press/British Museum, 1987. +% (ISBN 0-520-06019-9) +% +% \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[MG04]{COMPANION} +% Frank Mittelbach and Michel Goossens. +% \newblock \emph{The LaTeX Companion}. +% \newblock Addison-Wesley Publishing Company, second edition, 2004. +% +% \bibitem[Gor87]{GORDON87} +% Cyrus H.~Gordon. +% \newblock \emph{Forgotten Scripts}. +% \newblock Dorset Press, (Revised and enlarged edition) 1987. +% +% \bibitem[Wil99]{LINEARB} +% Peter R.~Wilson. +% \newblock \emph{The Linear~B Package}. +% \newblock 1999. (Available from CTAN in \texttt{fonts/archaic}). +% +% \end{thebibliography} +% \PrintIndex +% } +% +% +% +% \section{The Metafont code} \label{sec:mf} +% +% \subsection{The parameters} +% +% We deal with the parameters first, and start by announcing +% what it is for. +% \changes{v1.1}{2005/04/17}{Merged all the metafont files into one.} +% \begin{macrocode} +%<*up> +%%% CYPR10.MF Cypriot Bronze Age script 10 point design size. + +% \end{macrocode} +% Specify the font size. +% \begin{macrocode} + +font_identifier:="Cypriot"; font_size 10pt#; + +% \end{macrocode} +% +% +% \DescribeVariable{penfudge} +% Increase (decrease) this to get bolder (lighter) characters. +% \begin{macrocode} +penfudge:=1.0; +% \end{macrocode} +% +% +% \DescribeVariable{heightfudge} +% Increase (decrease) this to get taller (shorter) characters. +% \begin{macrocode} +heightfudge:=1.0; +% \end{macrocode} +% +% +% Define the very simple font values. +% \DescribeVariable{u} +% The unit width. +% \begin{macrocode} +u#:=.2pt#; % unit width +% \end{macrocode} +% +% \DescribeVariable{ht} +% The height of the characters. Computer Modern cap height is approximately +% |6.8pt|. +% \begin{macrocode} +ht#:=heightfudge*10pt#; % height of characters (CM cap-height is approx 6.8pt) +% \end{macrocode} +% +% \DescribeVariable{s} +% Extra space at the left and right of a character. +% \begin{macrocode} +s#:=1.5pt#; % width correction (right and left) +% \end{macrocode} +% +% \DescribeVariable{o} +% Overshoot correction. +% \begin{macrocode} +o#:=1/20pt#; % overshoot +% \end{macrocode} +% +% \DescribeVariable{px} +% The horizontal width of the pen. +% \begin{macrocode} +px#:=penfudge*0.7pt#; % horizontal width of pen +% \end{macrocode} +% +% \DescribeVariable{font-normal-space} +% The width of a blank space. +% \begin{macrocode} +font_normal_space:=7pt#; % width of a blank space +% \end{macrocode} +% +% \DescribeVariable{font-normal-shrink} +% Possible width correction for a blank space. +% \begin{macrocode} +font_normal_shrink:=.9pt#; % width correction for blank space +% \end{macrocode} +% +% \DescribeVariable{font-x-height} +% Just for completness, the height of |1ex|. +% \begin{macrocode} +font_x_height:=4.5pt#; % height of one ex +% \end{macrocode} +% +% \DescribeVariable{font-quad} +% The width of |1em|. +% \begin{macrocode} +font_quad:=10pt#; % an em + +% \end{macrocode} +% +% Now move on to the `driver' data for the font. +% +% \subsection{The driver data} +% +% Switch into Metafont mode +% +% \begin{macrocode} +font_coding_scheme:="Cypriot glyphs"; +mode_setup; + +% \end{macrocode} +% +% \DescribeVariable{ho} +% \DescribeVariable{leftloc} +% \DescribeVariable{py} +% Perform additional setup. +% \begin{macrocode} +ho#:=o#; % horizontal overshoot +leftloc#:=s#; % leftmost xcoord of character +py#:=.9px#; % 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} +% +% +% \DescribeVariable{midloc} +% \DescribeVariable{rightloc} +% Variables for the middle xcoord and rightmost xcoord of a character. +% \begin{macrocode} +numeric midloc, rightloc; +% \end{macrocode} +% +% +% \DescribeVariable{tiny} +% \DescribeVariable{small} +% \DescribeVariable{medium} +% \DescribeVariable{large} +% \DescribeVariable{huge} +% Some lengths. +% \begin{macrocode} +tiny#:=px#; +small#:=2px#; +medium#:=3px#; +large#:=4px#; +huge#:=5px#; +define_pixels(tiny,small,medium,large,huge); +% \end{macrocode} +% +% \DescribeVariable{NE} +% \DescribeVariable{NW} +% \DescribeVariable{SW} +% \DescribeVariable{SE} +% Shorthand for direction vectors corresponding to the designated compass point. +% \begin{macrocode} +pair NE,NW,SW,SE; +NE:=(1,1); +NW:=(-1,1); +SW:=(-1,-1); +SE:=(1,-1); +% \end{macrocode} +% +% +% \DescribeVariable{stylus} +% Define the pen. +% \begin{macrocode} +pickup pencircle xscaled px yscaled py; +stylus:=savepen; + +% \end{macrocode} +% +% +% \begin{routine}{draw_hdash} +% |draw_hdash(1,len)| draws a horizontal line, length |len|, with its +% midpoint at |z1|. +% \begin{macrocode} +def draw_hdash(suffix $)(expr len)= + x$l=x$-len/2; x$r=x$+len/2; y$l=y$r=y$; + draw z$l--z$r; +enddef; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_vdash} +% |draw_vdash(1,len)| draws a vertical line, length |len|, with its +% midpoint at |z1|. +% \begin{macrocode} +def draw_vdash(suffix $)(expr len)= + x$t=x$b=x$; y$t=y$+len/2; y$b=y$-len/2; + draw z$t--z$b; +enddef; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{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{routine} +% +% \begin{routine}{cmchar} +% |cmchar| should precede each character +% \begin{macrocode} +let cmchar=\; + +% \end{macrocode} +% \end{routine} +% +% +% \subsection{The glyph code} +% +% The following code generates the glyphs for the Cypriot font. +% \begin{macrocode} +%%%% Glyph code for the Cypriot font. + +% \end{macrocode} +% +% \subsubsection{The glyphs} +% +% There are 55 glyphs. These are composed of the five vowels +% (a e i o u), and 50 syllables. First I define the vowels, +% then the remaining characters in syllable order +% (e.g. \ldots nu, pa, pe, pi, po, pu, qa \ldots). The glyphs +% are encoded as roman upper and lower case characters and the digits. +% +% The somewhat peculiar mapping to the alphanumerics is so that a +% companion Linear B syllabary can use an identical encoding for the +% syllables that are common between Linear B and Cypriot. +% +% The vowels are mapped to their lowercase ASCII equivalents. +% A syllable "xa" is mapped to ASCII x and "xe" is mapped to X. +% Otherwise, the mapping appears random, although there is an +% underlying methodology. +% +% \begin{routine}{a} +% The sign \textit{a}. Like an asterisk. +% \begin{macrocode} +cmchar "Cypriot sign a"; +beginglyph("a",1.0); +x1=x6=leftloc; y1=0; y6=h; % left points +x3=x4=midloc; y3=0; y4=h; z0=0.5[z3,z4]; % middle points +x5=x2=rightloc; y5=0; y2=h; % right points +draw z1--z2; % bl to tr diagonal +draw z3--z4; % vertical +draw z5--z6; % br to tl diagonal +labels(0,1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{e} +% The sign \textit{e}. Like the `a' but with an extra horizontal half stroke. +% crossbar. +% \begin{macrocode} +cmchar "Cypriot sign e"; +beginglyph("e",1.0); +x1=x6=leftloc; y1=0; y6=h; % left points +x3=x4=midloc; y3=0; y4=h; z0=0.5[z3,z4]; % middle points +x5=x2=rightloc; y5=0; y2=h; % right points +x7=x2; y7=y0; +draw z1--z2; % bl to tr diagonal +draw z3--z4; % vertical +draw z5--z6; % br to tl diagonal +draw z0--z7; % short horizontal +labels(0,1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{i} +% The sign \textit{i}. Like the `a' but short vertical. +% \begin{macrocode} +cmchar "Cypriot sign i"; +beginglyph("i",1.0); +x1=x6=leftloc; y1=0; y6=h; % left points +x3=x4=midloc; y3=0; y4=h; z0=0.5[z3,z4]; % middle points +x5=x2=rightloc; y5=0; y2=h; % right points +draw z1--z2; % bl to tr diagonal +draw z0--z4; % vertical +draw z5--z6; % br to tl diagonal +labels(0,1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{o} +% The sign \textit{o}. Corporal's stripes on a horizontal base. +% \begin{macrocode} +cmchar "Cypriot sign o"; +beginglyph("o",1.0); +x1=x6=leftloc; y1=0; y6=h; % left points +x3=x4=midloc; y3=0; y4=h; z0=0.5[z3,z4]; % middle points +x5=x2=rightloc; y5=0; y2=h; % right points +x7=x1; x8=x5; y7=y8=y0; +draw z6--z0--z2; % top stripe +draw z7--z3--z8; % bottom stripe +draw z1--z5; % base +labels(0,1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{u} +% The sign \textit{u}. A Y with the top arms bent. +% \begin{macrocode} +cmchar "Cypriot sign u"; +beginglyph("u",1.0); +numeric alpha, wid; alpha:=1/6; +wid:=(rightloc-leftloc); +x1=x2=midloc; y1=0; y2=h*(1-2alpha); % stem +x3=leftloc; x6=rightloc; % arms +y4=y5=h; +y3=y6=0.5[y2,y4]; +x4=alpha[x3,x6]; x5=alpha[x6,x3]; +draw z1--z2; % stem +draw z3--z4--z2--z5--z6; % arms +labels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ga} +% The sign \textit{ga}. Like |> <| with two dashes. +% \begin{macrocode} +cmchar "Cypriot sign ga"; +beginglyph("g",1.0); +numeric alpha, wid; alpha:=1/6; +wid:=(rightloc-leftloc); +numeric beta; beta:=small; +x1=x3=leftloc; x4=x6=rightloc; y1=y4=0; y3=y6=h; % minmax points +x2=midloc-beta; x5=midloc+beta; y2=y5=h/2; % chevron centers +z11'=1/3[z5,z6]; z13'=2/3[z5,z6]; % the dashes +z11=z11' shifted (tiny*NW); z13=z13' shifted (tiny*NW); +z12=z11 shifted (small*NW); z14=z13 shifted (small*NW); +draw z1--z2--z3; draw z4--z5--z6; % chevrons +draw z11--z12; draw z13--z14; % dashes +labels(1,2,3,4,5,6,7,8,11,12,13,14); +endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{ja} +% The sign \textit{ja}. A teardrop. (A rectangle with two interior lines.) +% \begin{macrocode} +cmchar "Cypriot sign ja"; +beginglyph("j",0.4); +x1=x3=midloc; y1=0; y3=h; +x2=leftloc; x4=rightloc; y2=y4=0.75[y1,y3]; +draw z1..z2{up}..{right}z3; % left half +draw z1..z4{up}..{left}z3; % right half +labels(1,2,3,4); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{jo} +% The sign \textit{jo}. A W with a line under the bottom right point. +% \begin{macrocode} +cmchar "Cypriot sign jo"; +beginglyph("b",1.0); +x1=leftloc; x3=midloc; x5=rightloc; % the W +x2=1/2[x1,x3]; x4=1/2[x5,x3]; y2=y4=0; +y1=y3=y5=0.5h; +x6=0.2[x3,x4]; x7=0.2[x5,x4]; y6=y7=0; % horizontal +draw z1--z2--z3--z4--z5; % the W +draw z6--z7; % horizontal +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{ka} +% The sign \textit{ka}. Upward arrow on a base. +% \begin{macrocode} +cmchar "Cypriot sign ka"; +beginglyph("k",0.6); +x1=leftloc; x2=rightloc; y1=y2=0; % base +x3=x4=midloc; y3=0; y4=h; % stem +x5=leftloc; x6=rightloc; y5=y6=0.7h; % arrowhead +draw z1--z2; % base +draw z3--z4; % stem +draw z5--z4--z6; % arrowhead +labels(1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{ke} +% The sign \textit{ke}. An E rotated 135 degrees with bottom arm and upright +% extended. +% \begin{macrocode} +cmchar "Cypriot sign ke"; +beginglyph("K",1.0); +numeric alpha, beta; alpha=medium; +x0ll=leftloc+alpha; x0lr=rightloc; y0ll=y0lr=alpha; % E box +x0ul=x0ll; x0ur=x0lr; y0ul=y0ur=h; +%%zll=(xll,yll); zur=(xur,yur); +z1=z0ll shifted (alpha*right); +z4=z0ll shifted (alpha*up); +z1-z3=whatever*(z0ll-z0ur); % lines parallel to box diagonal +z4-z5=whatever*(z0ll-z0ur); +x3=x0lr; y6=h; +z2=0.5[z1,z3]; z5=0.5[z4,z6]; % center of parallel lines +z7-z1=whatever*(z1-z3); y7=0; % upright extension +z8-z1=whatever*(z1-z4); y8=0; % arm extension +draw z1--z3; % E upright +draw z1--z4; draw z2--z5; draw z3--z6; % E arms +draw z1--z7; draw z1--z8; % extensions +labels(0ll,0lr,0ul,0ur,1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ki} +% The sign \textit{ki}. Like a Y with bent arms. (J\"{u}rgen Kraus +% adds a top bar to the Y). +% \begin{macrocode} +cmchar "Cypriot sign ki"; +beginglyph("c",1.0); +numeric alpha, wid; alpha:=1/6; +numeric beta; beta:=0.25; +wid:=(rightloc-leftloc); +x1=x2=midloc; y1=0; y2=h*(1-2alpha); % stem +x3=leftloc; x6=rightloc; % arms +y4=y5=h; +y3=y6=0.5[y2,y4]; +x4=alpha[x3,x6]; x5=alpha[x6,x3]; +x14=x4; x15=x5; y14=y15=0; % base +z16=beta[z4,z5]; z17=beta[z5,z4]; % top bar +draw z1--z2; % stem +draw z3--z4--z2--z5--z6; % arms +draw z14--z15; % base +draw z16--z17; % top bar +labels(1,2,3,4,5,6,7,8,14,15,16,17); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ko} +% The sign \textit{ko}. +% \begin{macrocode} +cmchar "Cypriot sign ko"; +beginglyph("h",0.8); +numeric beta; beta:=0.2; +x1=leftloc; x4=rightloc; y1=y4=0; % bottom points +x2=beta[x1,x4]; x3=beta[x4,x1]; y2=y3=h; % top points +draw z1--z2--z3--z4; +labels(1,2,3,4); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ku} +% The sign \textit{ku}. +% \begin{macrocode} +cmchar "Cypriot sign ku"; +beginglyph("v",0.8); +numeric beta; beta:=small; +x1=x6=leftloc; y6=h; y1=0.4h; % left points +x3=x4=midloc; y3=0; % center points +x5=x2=rightloc; y5=y1; y2=y6; % right points +z0=whatever[z1,z2]=whatever[z5,z6]; +y4=y0+beta; +z4-z8=whatever*(z0-z2); y8=h; +z4-z7=whatever*(z0-z6); y7=h; +draw z3--z0; % stem +draw z1--z2; draw z5--z6; % the X +draw z7--z4--z8; % upper angle +labels(0,1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{la} +% The sign \textit{la}. Like a V on a base. +% \begin{macrocode} +cmchar "Cypriot sign la"; +beginglyph("l",0.8); +numeric beta; beta:=medium; +x1=leftloc; x2=rightloc-beta; y1=y2=0; % base +x3=x1; x4=0.5[x1,x2]; x5=x2; x6=rightloc; % V +y3=y5=h; y4=y1; y6=y5-beta; +draw z1--z2; % base +draw z3--z4--z5--z6; % V +labels(1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{le} +% The sign \textit{le}. Like an 8. +% \begin{macrocode} +cmchar "Cypriot sign le"; +beginglyph("L",0.6); +x1=x2=leftloc; y1=1/4h; y2=3/4h; % left points +x3=x4=midloc; y3=0; y4=h; % middle points +x5=x6=rightloc; y5=y1; y6=y2; % right points +draw z3..z1..z6..z4..z2..z5..cycle; % the 8 +labels(1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{li} +% The sign \textit{li}. Like a $\leq$ symbol. +% \begin{macrocode} +cmchar "Cypriot sign li"; +beginglyph("d",0.6); +numeric beta; beta:=medium; +x1=leftloc; x2=rightloc; y1=y2=beta; % base +x3=x5=x2; x4=x1; y3=y4=x1+beta; y5=h-beta; +draw z1--z2; % base +draw z3--z4--z5; % < symbol +labels(1,2,3,4,5); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{lo} +% The sign \textit{lo}. A cross. +% \begin{macrocode} +cmchar "Cypriot sign lo"; +beginglyph("f",0.5); +x0=midloc; y0=h/2; +x1=leftloc; x2=rightloc; y1=y2=y0; % horizontal +x3=x4=x0; y3-y0=x2-x0; y0-y4=x2-x0; % vertical +draw z1--z2; draw z3--z4; +labels(1,2,3,4); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{lu} +% The sign \textit{lu}. Like a dome over a U. +% \begin{macrocode} +cmchar "Cypriot sign lu"; +beginglyph("q",0.8); +numeric radb, rads; +x1=leftloc; x2=rightloc; y1=y2=0; % dome base points +radb:=0.5(x2-x1); +x3=x1; x4=x2; y3=y4=h-radb; % dome mid points +x5=midloc; y5=h; % dome top point +rads:=1/2radb; +x15=x5; y15=y1; % U bottom point +x13=x15-rads; x14=x15+rads; y13=y14=y15+rads; % U mid points +x11=x13; x12=x14; y11=y12=y13+2rads; % U top points +draw z1---z3..z5..z4---z2; % the Dome +draw z11---z13..z15..z14---z12; % the U +labels(1,2,3,4,5,11,12,13,14,15); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{ma} +% The sign \textit{ma}. Like |> <| with an upside down |^| at the top. +% \begin{macrocode} +cmchar "Cypriot sign ma"; +beginglyph("m",0.8); +numeric beta; beta:=small; +x1=x3=leftloc; x4=x6=rightloc; y1=y4=0; y3=y6=h; % minmax points +x2=midloc-beta; x5=midloc+beta; y2=y5=h/2; +x8=midloc; y8=y5+beta; +z7-z8=whatever*(z3-z2); z9-z8=whatever*(z6-z5); y7=y9=h; +draw z1--z2--z3; % left angle +draw z4--z5--z6; % right angle +draw z7--z8--z9; % top angle +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{me} +% The sign \textit{me}. An X with an i at the bottom. +% \begin{macrocode} +cmchar "Cypriot sign me"; +beginglyph("M",0.8); +numeric beta; beta:=tiny; %% beta:=small; +x0=midloc; y0=h/2; +x1=x3=leftloc; x4=x6=rightloc; y1=y4=0; y3=y6=h; % minmax points +x11=x12=midloc; x13=x11+beta; x14=x13+beta; +y12=beta; y13=0; y14=beta/2; y11=0.5[y12,y0]; +draw z1--z6; draw z4--z3; % the X +draw z11--z12{down}..z13{right}..z14; % the i +labels(1,2,3,4,5,6,7,8,9,11,12,13,14); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{mi} +% The sign \textit{mi}. A bit like a V with arms on a base. +% \begin{macrocode} +cmchar "Cypriot sign mi"; +beginglyph("y",0.8); +numeric beta; beta:=small; +x0=midloc; y0=h/2; +x1=leftloc; x5=rightloc; % V points +x2=0.15[x1,x5]; x3=0.5[x1,x5]; x4=0.15[x5,x1]; +y2=y4=h; y3=0; y1=y5=y2-(x2-x1); +x6=0.25[x1,x5]; x7=0.25[x5,x1]; y6=y7=y3; % base points +draw z1--z2--z3--z4--z5; % V +draw z6--z7; % base +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{mo} +% The sign \textit{mo}. An ellipse split by a vertical line. +% \begin{macrocode} +cmchar "Cypriot sign mo"; +beginglyph("A",0.8); +numeric beta; beta:=0.2h; +x0=midloc; y0=h/2; +x1=leftloc; x2=x4=midloc; x3=rightloc; +y1=y3=y0; y2=h-beta; y4=beta; +draw z1..z2..z3..z4..cycle; % ellipse +draw z2--z4; % vertical line +labels(1,2,3,4); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{mu} +% The sign \textit{mu}. An X with vertical dashes at either side. +% \begin{macrocode} +cmchar "Cypriot sign mu"; +beginglyph("B",0.8); +numeric beta; beta:=0.2; +numeric gamma; +x0=midloc; y0=h/2; +x1=x3=leftloc; x4=x6=rightloc; y1=y4=0; y3=y6=h; % minmax points +x11=beta[x1,x0]; x12=beta[x4,x0]; % for dashes +y11=y12=y0; +z10'=beta[z1,z0]; z30'=beta[z3,z0]; +gamma:=0.5(y30'-y10'); +draw z1--z6; draw z4--z3; % the X +draw_vdash(11,gamma); draw_vdash(12,gamma); +labels(1,2,3,4,5,6,7,8,9,11,12); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{na} +% The sign \textit{na}. A T, but with 2 crossbars. +% \begin{macrocode} +cmchar "Cypriot sign na"; +beginglyph("n",0.4); +numeric beta; beta:=0.1h; +x1=leftloc; x2=rightloc; y1=y2=h; +x3=leftloc; x4=rightloc; y3=y4=y1-beta; +x5=x6=midloc; y5=0; y6=y3; +draw z1--z2; draw z3--z4; % bars +draw z5--z6; % stem +labels(1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ne} +% The sign \textit{ne}. A lightning flash between two dashes. +% \begin{macrocode} +cmchar "Cypriot sign ne"; +beginglyph("N",0.6); +numeric beta; +beta:=0.1*(rightloc-leftloc); +x0=midloc; y0=h/2; +x1=x0+beta; x4=x0-beta; y1=h; y4=0; % lightning top and bottom +x2=x0-beta; x3=x0+beta; % lightning middle points +y2=y0+0.5beta; y3=y0-0.5beta; +x11=x12=leftloc; y11=0.2h; y12=0.8h; % left dash +x13=x14=rightloc; y13=y11; y14=y12; % right dash +draw z11--z12; draw z13--z14; % dashes +draw z1--z2--z3--z4; % lightning +labels(1,2,3,4,11,12,13,14); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ni} +% The sign \textit{ni}. An E rotated 135 degrees on a base. +% \begin{macrocode} +cmchar "Cypriot sign ni"; +beginglyph("C",1.0); +numeric alpha, beta; alpha=medium; +x0ll=leftloc; x0lr=rightloc; y0ll=y0lr=0; % E box +x0ul=x0ll; x0ur=x0lr; y0ul=y0ur=h; +%%zll=(xll,yll); zur=(xur,yur); +z1=z0ll shifted (alpha*right); +z4=z0ll shifted (alpha*up); +z1-z3=whatever*(z0ll-z0ur); % lines parallel to box diagonal +z4-z5=whatever*(z0ll-z0ur); +x3=x0lr; y6=h; +z2=0.5[z1,z3]; z5=0.5[z4,z6]; % center of parallel lines +z7=z0ll; x8=0.5[x2,x3]; y8=0; % base +draw z1--z3; % E upright +draw z1--z4; draw z2--z5; draw z3--z6; % E arms +draw z7--z8; % base +labels(0ll,0lr,0ul,0ur,1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{no} +% The sign \textit{no}. +% \begin{macrocode} +cmchar "Cypriot sign no"; +beginglyph("E",1.0); +numeric alpha, beta; +alpha=medium; %% alpha=0.5medium; +x0ll=leftloc; x0lr=rightloc; y0ll=y0lr=0; % E box +x0ul=x0ll; x0ur=x0lr; y0ul=y0ur=h; +z1=z0ll shifted (alpha*right); +z4=z0ll shifted (alpha*up); +z1-z3'=whatever*(z0ll-z0ur); % lines parallel to box diagonal +z4-z6'=whatever*(z0ll-z0ur); +x3'=x0lr; y6'=h; +x11=x0ur; y11=y0ur-2alpha; % the top ends +x12=x0ur-2alpha; y12=y0ur; +z3=whatever[z1,z3']=whatever[z11,z12]; +z6=whatever[z4,z6']=whatever[z11,z12]; +draw z1--z3--z11; +draw z4--z6--z12; +labels(0ll,0lr,0ul,0ur,1,2,3,3',4,5,6,6',11,12); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{nu} +% The sign \textit{nu}. Like |>| with dashes at the right. +% \begin{macrocode} +cmchar "Cypriot sign nu"; +beginglyph("F",0.4); +numeric beta; beta:=small; +numeric gamma; gamma:=1/4h; % dash length +x1=x3=leftloc; y1=0; y3=h; % left points +x4=x6=rightloc; y4=1/4h; y6=3/4h; % dash points +x2=x4-beta; y2=h/2; % point of the < +draw z1--z2--z3; % left angle +draw_vdash(4,gamma); draw_vdash(6,gamma); % dashes +labels(1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{pa} +% The sign \textit{pa}. Like a Lorraine cross. +% \begin{macrocode} +cmchar "Cypriot sign pa"; +beginglyph("p",0.4); +x1=x2=midloc; y1=0; y2=h; % stem +x3=x5=leftloc; y3=0.7h; y5=0.4h; +x4=x6=rightloc; y4=y3; y6=y5; +draw z1--z2; % stem +draw z3--z4; draw z5--z6; % cross bars +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{pe} +% The sign \textit{pe}. A lightning flash. +% \begin{macrocode} +cmchar "Cypriot sign pe"; +beginglyph("P",0.3); +numeric beta; +beta:=0.5*(rightloc-leftloc); +x0=midloc; y0=h/2; +x1=x0+beta; x4=x0-beta; y1=h; y4=0; % lightning top and bottom +x2=x0-beta; x3=x0+beta; % lightning middle points +y2=y0+0.5beta; y3=y0-0.5beta; +draw z1--z2--z3--z4; % lightning +labels(1,2,3,4,11,12,13,14); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{pi} +% The sign \textit{pi}. Corporal's stripes. +% \begin{macrocode} +cmchar "Cypriot sign pi"; +beginglyph("G",1.0); +x1=x6=leftloc; y1=0; y6=h; % left points +x3=x4=midloc; y3=0; y4=h; z0=0.5[z3,z4]; % middle points +x5=x2=rightloc; y5=0; y2=h; % right points +x7=x1; x8=x5; y7=y8=y0; +draw z6--z0--z2; % top stripe +draw z7--z3--z8; % bottom stripe +labels(0,1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{po} +% The sign \textit{po}. A bit like a sickle. +% \begin{macrocode} +cmchar "Cypriot sign po"; +beginglyph("H",1.0); +numeric rad; +x0=midloc; y0=h/2; +x1=leftloc; y1=0; +x5=rightloc; rad:=0.2(x5-x1); y5=h-rad; +x4=x5-rad; y4=h; +x3=x4-rad; y3=y5; +x2=x4; y2=y3-rad; +draw z1--z2; +draw z2..z3{up}..z4{right}..{down}z5; +labels(1,2,3,4,5); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{pu} +% The sign \textit{pu}. A bit like |<!>| on a base. +% \begin{macrocode} +cmchar "Cypriot sign pu"; +beginglyph("I",1.0); +x0=midloc; y0=h/2; +x1=x0; y1=0; x2=leftloc; y2=2/3h; % left angle +x3=0.5[x2,x0]; y3=h; +z4=z1; x5=rightloc; y5=y2; % right angle +x6=0.5[x5,x0]; y6=y3; +z7=z0; % vertical dash +x8=leftloc; x9=rightloc; y8=y9=0; % base +draw z1--z2--z3; draw z4--z5--z6; % angles +draw z4--z7; % dash +draw z8--z9; % base +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{ra} +% The sign \textit{ra}. A dome on a base. +% \begin{macrocode} +cmchar "Cypriot sign ra"; +beginglyph("r",0.6); +numeric rad, beta; +x1=leftloc; x2=rightloc; y1=y2=0; % base +z3=0.2[z1,z2]; z4=0.2[z2,z1]; % dome +rad:= 0.5*(x4-x3); +x7=midloc; y7=h; +x5=x3; x6=x4; y5=y6=y7-rad; +beta:=1.5; % for tension +draw z1--z2; % base +%%draw z3--z5..z7..z6--z4; % dome +draw z3{up}..tension beta..z7..tension beta..{down}z4; % curve +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{re} +% The sign \textit{re}. Two verticals with a roof. +% \begin{macrocode} +cmchar "Cypriot sign re"; +beginglyph("R",0.8); +numeric beta; beta:=small; +x1=leftloc; x2=midloc; x3=rightloc; y2=h; y1=y3=2/3h; % roof +x4=x5=2/3[x1,x2]; x6=x7=2/3[x3,x2]; y4=y6=0; +y5=y7=2/3[y1,y2] - beta; +draw z1--z2--z3; % roof +draw z4--z5; draw z6--z7; % supports +labels(1,2,3,4,5,6,7); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ri} +% The sign \textit{ri}. Like an E rotated 135 degrees. +% \begin{macrocode} +cmchar "Cypriot sign ri"; +beginglyph("O",1.0); +numeric alpha, beta; alpha=medium; +x0ll=leftloc; x0lr=rightloc; y0ll=y0lr=0; % E box +x0ul=x0ll; x0ur=x0lr; y0ul=y0ur=h; +%%zll=(xll,yll); zur=(xur,yur); +z1=z0ll shifted (alpha*right); +z4=z0ll shifted (alpha*up); +z1-z3=whatever*(z0ll-z0ur); % lines parallel to box diagonal +z4-z5=whatever*(z0ll-z0ur); +x3=x0lr; y6=h; +z2=0.5[z1,z3]; z5=0.5[z4,z6]; % center of parallel lines +draw z1--z3; % E upright +draw z1--z4; draw z2--z5; draw z3--z6; % E arms +labels(0ll,0lr,0ul,0ur,1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ro} +% The sign \textit{ro}. Like $\alpha$ rotated 90 degrees. +% \begin{macrocode} +cmchar "Cypriot sign ro"; +beginglyph("U",0.6); +numeric rad, beta; +x0=midloc; y0=h/2; +x1=leftloc; x2=rightloc; y1=y2=0; % base points +rad:=0.25*(x2-x1); +x3=x0-rad; x4=x0+rad; y3=y4=h-rad; +x5=x0; y5=h; +beta:=1.5; % tension +draw z1..tension beta..z4{up}..z5{left}..z3{down}..tension beta..z2; +labels(1,2,3,4,5); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ru} +% The sign \textit{ru}. Like |)\(|, but the slash is short. +% \begin{macrocode} +cmchar "Cypriot sign ru"; +beginglyph("V",0.6); +numeric beta; beta:=small; +x0=midloc; y0=h/2; +x1=x3=leftloc; x4=x6=rightloc; y1=y4=0; y3=y6=h; % the parens +y2=y5=y0; x2=x1+beta; x5=x4-beta; +z7=3/4[z1,z4]; x8=x0; y8=(x4-x7); % dash +draw z1...z2{up}...z3; % left half +draw z4...z5{up}...z6; % right half +draw z7--z8; % dash +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{sa} +% The sign \textit{sa}. Like a V. +% \begin{macrocode} +cmchar "Cypriot sign sa"; +beginglyph("s",0.6); +x1=leftloc; x2=midloc; x3=rightloc; +y1=y3=h; y2=0; +draw z1--z2--z3; +labels(1,2,3); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{se} +% The sign \textit{se}. +% \begin{macrocode} +cmchar "Cypriot sign se"; +beginglyph("S",0.6); +x1=x3=x2=leftloc; y1=0; y2=h; y3=2/3[y1,y2]; +x4=x5=midloc; x6=x7=rightloc; +y4=y6=y3; y5=y7=y2; +draw z1--z2; % upright +draw z3--z6; % horizontal +draw z4--z5; draw z6--z7; % short uprights +labels(1,2,3,4,5,6,7); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{si} +% The sign \textit{si}. A roof over an L over a base. +% \begin{macrocode} +cmchar "Cypriot sign si"; +beginglyph("Y",0.6); +x1=leftloc; x2=midloc; x3=rightloc; y1=y3=2/3h; y2=h; % roof +x4=leftloc; x5=rightloc; y4=y5=0; % base +x6=x7=midloc; x8=rightloc; y7=y8=1/4h; % stem +y6=0.5[y1,y2]; +draw z1--z2--z3; % roof +draw z4--z5; % base +draw z6--z7--z8; % stem +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{so} +% The sign \textit{so}. Corporal's stripes over two bases. +% \begin{macrocode} +cmchar "Cypriot sign so"; +beginglyph("1",1.0); +x1=x2=x3=x4=leftloc; x5=x6=midloc; x7=x8=x9=x10=rightloc; +y1=y7=0; y4=y10=h; +y2=y5=y8=0.2h; +y3=y9=0.5[y2,y4]; +y6-y5=y4-y3; +draw z1--z7; % lower base +draw z2--z8; % upper base +draw z3--z5--z9; % lower stripe +draw z4--z6--z10; % upper stripe +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{su} +% The sign \textit{su}. Like an upside down |)Y|. +% \begin{macrocode} +cmchar "Cypriot sign su"; +beginglyph("2",1.0); +numeric beta; beta:=small; +x0=midloc; y0=h/2; +x1=x3=leftloc; y1=0; y3=h; x2=x1+beta; y2=h/2; % the parens +x4=x2; x5=rightloc; y4=y5=y1; % bottom of Y +x6=x7=0.5[x4,x5]; y6=1/3h; y7=y3; % stem of Y +x9=0.5[x6,x5]; y9=0.5[y6,y7]; % horizontal right +x8'=leftloc; y8'=y9; +path p; +p=z1..z2..z3; +z8 = (z9--z8') intersectionpoint p; +draw p; % paren +draw z4--z6--z5; draw z6--z7; % Y +draw z9--z8; % horizontal +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ta} +% The sign \textit{ta}. +% \begin{macrocode} +cmchar "Cypriot sign ta"; +beginglyph("t",0.4); +x1=x2=leftloc; y1=0; y2=h; % left vertical +z3=0.5[z1,z2]; % horizontal +x4=rightloc; y4=y3; +draw z1--z2; draw z3--z4; +labels(1,2,3,4); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{te} +% The sign \textit{te}. A downward arrow on a base. +% \begin{macrocode} +cmchar "Cypriot sign te"; +beginglyph("T",0.6); +x1=leftloc; x2=midloc; x3=rightloc; y1=y3=1/3h; y2=0; % arrowhead +x4=leftloc; x5=rightloc; y4=y5=0; % base +x6=midloc; y6=h; % stem +draw z1--z2--z3; % arrowhead +draw z4--z5; % base +draw z6--z2; % stem +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ti} +% The sign \textit{ti}. An upward arrow. +% \begin{macrocode} +cmchar "Cypriot sign ti"; +beginglyph("3",0.6); +x1=leftloc; x2=midloc; x3=rightloc; y1=y3=2/3h; y2=h; % roof +x4=midloc; y4=0; % stem +draw z1--z2--z3; % roof +draw z4--z2; % stem +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{to} +% The sign \textit{to}. Like an F. +% \begin{macrocode} +cmchar "Cypriot sign to"; +beginglyph("4",0.6); +numeric alpha; alpha:=0.25; +x1=leftloc; x2=rightloc; y1=y2=h; % top bar +x3=x4=alpha[x1,x2]; y3=0; y4=y1; % stem +z5=2/3[z3,z4]; x6=x2; y6=y5; % short arm +draw z1--z2; % top +draw z3--z4; % stem +draw z5--z6; % short +labels(1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{tu} +% The sign \textit{tu}. Like an slanted F with dashes under lower arm. +% \begin{macrocode} +cmchar "Cypriot sign tu"; +beginglyph("5",0.6); +numeric alpha, beta; alpha:=0.2; % slant +x3=leftloc; x2=rightloc; y3=0; y2=h; % minmax points +x1=alpha[x3,x2]; y1=y2; % top bar +x7-x3=x2-x1; y7=0; +z5=2/3[z3,z1]; z6=2/3[z7,z2]; % short arm +%%z8=0.7[z3,z7]; +z8=z7 shifted (small*left); +beta=0.5*(y6-y3); % dash size +z9=z7 shifted (beta*up); +z10=z8 shifted (beta*up); +draw z1--z2; % top +draw z3--z1; % stem +draw z5--z6; % short +draw z7--z9; draw z8--z10; % dashes +labels(1,2,3,4,5,6,8,9,10); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{wa} +% The sign \textit{wa}. Like |> <| with a |^| at the bottom. +% \begin{macrocode} +cmchar "Cypriot sign wa"; +beginglyph("w",0.8); +numeric beta; beta:=small; +x1=x3=leftloc; x4=x6=rightloc; y1=y4=0; y3=y6=h; % minmax points +x2=midloc-beta; x5=midloc+beta; y2=y5=h/2; +x8=midloc; y8=y5-beta; +z7-z8=whatever*(z1-z2); z9-z8=whatever*(z4-z5); y7=y9=0; +draw z1--z2--z3; % left angle +draw z4--z5--z6; % right angle +draw z7--z8--z9; % bottom angle +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{we} +% The sign \textit{we}. A capital I. +% \begin{macrocode} +cmchar "Cypriot sign we"; +beginglyph("W",0.4); +x1=x2=midloc; y1=0; y2=h; +x3=x4=leftloc; x5=x6=rightloc; +y3=y5=0; y4=y6=h; +draw z1--z2; % stem +draw z3--z5; draw z4--z6; +labels(1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{wi} +% The sign \textit{wi}. Like |>`<|. +% \begin{macrocode} +cmchar "Cypriot sign wi"; +beginglyph("6",0.8); +numeric beta; beta:=small; +x1=x3=leftloc; x4=x6=rightloc; y1=y4=0; y3=y6=h; % minmax points +x2=midloc-beta; x5=midloc+beta; y2=y5=h/2; +x8=midloc; y8=y5+beta; +%%z7-z8=whatever*(z1-z2); z9-z8=whatever*(z4-z5); y7=y9=0; +x9=x8; y9=h; +draw z1--z2--z3; % left angle +draw z4--z5--z6; % right angle +draw z8--z9; % top line +labels(0,1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{wo} +% The sign \textit{wo}. Like a left turn arrow. +% \begin{macrocode} +cmchar "Cypriot sign wo"; +beginglyph("7",0.6); +numeric rad; +x1=leftloc; x2=midloc; x3=rightloc; y1=y3=2/3h; y2=h; % head +x4=x1; x5=0.5[x4,x2]; y4=y5=0; % bottom points +rad:=(x2-x5); +x6=x2; y6=y5+rad; +draw z1--z2--z3; % arrow head +draw z4--z5..z6--z2; % stem +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{xa} +% The sign \textit{xa}. Like |)(|. +% \begin{macrocode} +cmchar "Cypriot sign xa"; +beginglyph("x",0.6); +numeric beta; beta:=small; +x0=midloc; y0=h/2; +x1=x3=leftloc; x4=x6=rightloc; y1=y4=0; y3=y6=h; +y2=y5=y0; x2=x1+beta; x5=x4-beta; +draw z1...z2{up}...z3; % left half +draw z4...z5{up}...z6; % right half +labels(0,1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{xe} +% The sign \textit{xe}. Like |(-!|. +% \begin{macrocode} +cmchar "Cypriot sign xe"; +beginglyph("X",0.6); +numeric beta; beta:=small; +x0=midloc; y0=h/2; +x2=leftloc; x1=x3=x2+beta; y1=0; y2=y0; y3=h; % the parenthesis +x4=x1+beta; y4=y5=y0; +x5=x6=x7=rightloc; y6=beta; y7=h-beta; +draw z1...z2{up}...z3; % the paren +draw z4--z5; draw z6--z7; % righr half +labels(0,1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{zo} +% The sign \textit{zo}. Two lightning flashes. +% \begin{macrocode} +cmchar "Cypriot sign zo"; +beginglyph("9",0.6); +%%beginglyph("P",0.3); +numeric beta; +beta:=0.25*(rightloc-leftloc); +xl=leftloc; xr=rightloc; +x0=0.25[xl,xr]; y0=h/2; % left flash +%%x0=midloc; y0=h/2; +x1=x0+beta; x4=x0-beta; y1=h; y4=0; % lightning top and bottom +x2=x0-beta; x3=x0+beta; % lightning middle points +y2=y0+0.5beta; y3=y0-0.5beta; +x0'=0.75[xl,xr]; y0'=y0; % right flash +x11=x0'+beta; x14=x0'-beta; y11=h; y14=0; % lightning top and bottom +x12=x0'-beta; x13=x0'+beta; % lightning middle points +y12=y0'+0.5beta; y13=y0'-0.5beta; +draw z1--z2--z3--z4; % left flash +draw z11--z12--z13--z14; % right flash +labels(0,0',1,2,3,4,11,12,13,14); endchar; + +% \end{macrocode} +% \end{routine} +% +% \subsubsection{The word divider} +% +% There is a word divider. +% Hyphenation was, of course, unknown but it might be useful to +% leave the normal character position for the hyphen (i.e., octal 055) +% empty allowing, perhaps, \TeX{} to perform hyphenation but without +% marking it. +% +% \begin{routine}{,} +% A word divider coded as a comma. It is a short vertical line above the +% text baseline. +% \begin{macrocode} +cmchar "Cypriot word divider (1)"; +beginglyph(",",0.1); +x1=x2=midloc; y1=0.2h; y2=0.4h; +draw z1--z2; +labels(1,2); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{:} +% A word divider coded as a colon. It is a short vertical line above the +% text baseline. +% \begin{macrocode} +cmchar "Cypriot word divider (2)"; +beginglyph(":",0.1); +x1=x2=midloc; y1=0.2h; y2=0.4h; +draw z1--z2; +labels(1,2); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{/} +% A word divider coded as a forward slash. It is a short vertical line above the +% text baseline. +% \begin{macrocode} +cmchar "Cypriot word divider (3)"; +beginglyph("/",0.1); +x1=x2=midloc; y1=0.2h; y2=0.4h; +draw z1--z2; +labels(1,2); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% The end of this file +% \begin{macrocode} +end + +%</up> +% \end{macrocode} +% +% +% +% \section{The font definition files} \label{sec:fd} +% +% \begin{macrocode} +%<*fdot1> +\ProvidesFile{ot1cypr.fd}[1999/06/20 v1.0 Cypriot font definitions] +\DeclareFontFamily{OT1}{cypr}{} + \DeclareFontShape{OT1}{cypr}{m}{n}{ <-> cypr10 }{} + \DeclareFontShape{OT1}{cypr}{bx}{n}{ <-> sub cypr/m/n }{} + \DeclareFontShape{OT1}{cypr}{b}{n}{ <-> sub cypr/m/n }{} + \DeclareFontShape{OT1}{cypr}{m}{sl}{ <-> sub cypr/m/n }{} + \DeclareFontShape{OT1}{cypr}{m}{it}{ <-> sub cypr/m/n }{} +%</fdot1> +% \end{macrocode} +% +% +% \begin{macrocode} +%<*fdt1> +\ProvidesFile{t1cypr.fd}[1999/06/20 v1.0 Cypriot font definitions] +\DeclareFontFamily{T1}{cypr}{} + \DeclareFontShape{T1}{cypr}{m}{n}{ <-> cypr10 }{} + \DeclareFontShape{T1}{cypr}{bx}{n}{ <-> sub cypr/m/n }{} + \DeclareFontShape{T1}{cypr}{b}{n}{ <-> sub cypr/m/n }{} + \DeclareFontShape{T1}{cypr}{m}{sl}{ <-> sub cypr/m/n }{} + \DeclareFontShape{T1}{cypr}{m}{it}{ <-> sub cypr/m/n }{} +%</fdt1> +% \end{macrocode} +% +% \section{The \Lpack{cypriot} package code} \label{sec:code} +% +% Announce the name and version of the package, which requires +% \LaTeXe{}. +% \begin{macrocode} +%<*usc> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{cypriot}[1999/06/20 v1.0 package for Cypriot font] +% \end{macrocode} +% +% We need to check the encoding default for the document. +% \begin{macro}{\Tienc} +% \begin{macrocode} +\providecommand{\Tienc}{T1} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cyprfamily} +% Selects the Cypriot font family in the T1 encoding if this +% is the document's default encoding, otherwise make it the OT1 encoding. +% \begin{macrocode} +\ifx\Tienc\encodingdefault + \newcommand{\cyprfamily}{\usefont{T1}{cypr}{m}{n}} +\else + \newcommand{\cyprfamily}{\usefont{OT1}{cypr}{m}{n}} +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textcypr} +% Text command for the Cypriot font family. +% \begin{macrocode} +\DeclareTextFontCommand{\textcypr}{\cyprfamily} +% \end{macrocode} +% \end{macro} +% +% The commands for the basic signs. +% \begin{macro}{\Ca} +% \begin{macro}{\Ce} +% \begin{macro}{\Ci} +% \begin{macro}{\Co} +% \begin{macro}{\Cu} +% The 5 vowels. +% \begin{macrocode} +\chardef\Ca=`a +\chardef\Ce=`e +\chardef\Ci=`i +\chardef\Co=`o +\chardef\Cu=`u +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\Cga} +% The 1 G syllables. +% \begin{macrocode} +\chardef\Cga=`g +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Cja} +% \begin{macro}{\Cjo} +% The 2 J syllables. +% \begin{macrocode} +\chardef\Cja=`j +\chardef\Cjo=`b +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\Cka} +% \begin{macro}{\Cke} +% \begin{macro}{\Cki} +% \begin{macro}{\Cko} +% \begin{macro}{\Cku} +% The 5 K syllables. +% \begin{macrocode} +\chardef\Cka=`k +\chardef\Cke=`K +\chardef\Cki=`c +\chardef\Cko=`h +\chardef\Cku=`v +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\Cla} +% \begin{macro}{\Cle} +% \begin{macro}{\Cli} +% \begin{macro}{\Clo} +% \begin{macro}{\Clu} +% The 5 L syllables. +% \begin{macrocode} +\chardef\Cla=`l +\chardef\Cle=`L +\chardef\Cli=`d +\chardef\Clo=`f +\chardef\Clu=`q +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\Cma} +% \begin{macro}{\Cme} +% \begin{macro}{\Cmi} +% \begin{macro}{\Cmo} +% \begin{macro}{\Cmu} +% The 5 M syllables. +% \begin{macrocode} +\chardef\Cma=`m +\chardef\Cme=`M +\chardef\Cmi=`y +\chardef\Cmo=`A +\chardef\Cmu=`B +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\Cna} +% \begin{macro}{\Cne} +% \begin{macro}{\Cni} +% \begin{macro}{\Cno} +% \begin{macro}{\Cnu} +% The 5 N syllables. +% \begin{macrocode} +\chardef\Cna=`n +\chardef\Cne=`N +\chardef\Cni=`C +\chardef\Cno=`E +\chardef\Cnu=`F +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\Cpa} +% \begin{macro}{\Cpe} +% \begin{macro}{\Cpi} +% \begin{macro}{\Cpo} +% \begin{macro}{\Cpu} +% The 5 P syllables. +% \begin{macrocode} +\chardef\Cpa=`p +\chardef\Cpe=`P +\chardef\Cpi=`G +\chardef\Cpo=`H +\chardef\Cpu=`I +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\Cra} +% \begin{macro}{\Cre} +% \begin{macro}{\Cri} +% \begin{macro}{\Cro} +% \begin{macro}{\Cru} +% The 5 R syllables. +% \begin{macrocode} +\chardef\Cra=`r +\chardef\Cre=`R +\chardef\Cri=`O +\chardef\Cro=`U +\chardef\Cru=`V +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\Csa} +% \begin{macro}{\Cse} +% \begin{macro}{\Csi} +% \begin{macro}{\Cso} +% \begin{macro}{\Csu} +% The 5 S syllables. +% \begin{macrocode}% +\chardef\Csa=`s +\chardef\Cse=`S +\chardef\Csi=`Y +\chardef\Cso=`1 +\chardef\Csu=`2 +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\Cta} +% \begin{macro}{\Cte} +% \begin{macro}{\Cti} +% \begin{macro}{\Cto} +% \begin{macro}{\Ctu} +% The 5 T syllables. +% \begin{macrocode} +\chardef\Cta=`t +\chardef\Cte=`T +\chardef\Cti=`3 +\chardef\Cto=`4 +\chardef\Ctu=`5 +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\Cwa} +% \begin{macro}{\Cwe} +% \begin{macro}{\Cwi} +% \begin{macro}{\Cwo} +% The 4 W syllables. +% \begin{macrocode} +\chardef\Cwa=`w +\chardef\Cwe=`W +\chardef\Cwi=`6 +\chardef\Cwo=`7 +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\Cxa} +% \begin{macro}{\Cxe} +% \begin{macro}{\Cxo} +% The 3 X syllables. +% \begin{macrocode} +\chardef\Cxa=`x +\chardef\Cxe=`X +\chardef\Cxo=`z +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\Czo} +% The 1 Z syllables. +% \begin{macrocode} +\chardef\Czo=`9 +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Cza} +% \begin{macro}{\Cya} +% \begin{macro}{\Cya} +% The 3 arguable syllables. +% \begin{macrocode} +\chardef\Cza=`g +\chardef\Cya=`j +\chardef\Cyo=`b +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% +% +% \begin{macro}{\translitcyprfont} +% \begin{macro}{\translitcypr} +% |\translitcypr{|\meta{char-commands}|}| transliterates Cypriot character +% commands into distinguished syllables; these are typeset using the +% |\translitcyprfont| font specification. +% \begin{macrocode} +\newcommand{\translitcyprfont}{\itshape} +\newcommand{\translitcypr}[1]{{% + \@translitC\translitcyprfont #1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@translitC} +% This macro redefines all the character producing commands for use +% in |\translitcypr|. +% +% Start with the 5 vowels. We have to make sure that there are no extraneous +% spaces within the command. +% \begin{macrocode} +\newcommand{\@translitC}{% +\def\Ca{a-}\def\Ce{e-}\def\Ci{i-}\def\Co{o-}\def\Cu{u-}% +% \end{macrocode} +% +% The 1 G syllables. +% \begin{macrocode} +\def\Cga{ga-}% +% \end{macrocode} +% +% The 2 J syllables. +% \begin{macrocode} +\def\Cja{ja-}\def\Cjo{jo-}% +% \end{macrocode} +% +% The 5 K syllables. +% \begin{macrocode} +\def\Cka{ka-}\def\Cke{ke-}\def\Cki{ki-}\def\Cko{ko-}\def\Cku{ku-}% +% \end{macrocode} +% +% The 5 L syllables. +% \begin{macrocode} +\def\Cda{da-}\def\Cde{de-}\def\Cdi{di-}\def\Cdo{do-}\def\Cdu{du-}% +% \end{macrocode} +% +% The 5 M syllables. +% \begin{macrocode} +\def\Cma{ma-}\def\Cme{me-}\def\Cmi{mi-}\def\Cmo{mo-}\def\Cmu{mu-}% +% \end{macrocode} +% +% The 5 N syllables. +% \begin{macrocode} +\def\Cna{na-}\def\Cne{ne-}\def\Cni{ni-}\def\Cno{no-}\def\Cnu{nu-}% +% \end{macrocode} +% +% The 5 P syllables. +% \begin{macrocode} +\def\Cpa{pa-}\def\Cpe{pe-}\def\Cpi{pi-}\def\Cpo{po-}\def\Cpu{pu-}% +% \end{macrocode} +% +% +% The 5 R syllables. +% \begin{macrocode} +\def\Cra{ra-}\def\Cre{re-}\def\Cri{ri-}\def\Cro{ro-}\def\Cru{ru-}% +% \end{macrocode} +% +% The 5 S syllables. +% \begin{macrocode} +\def\Csa{sa-}\def\Cse{se-}\def\Csi{si-}\def\Cso{so-}\def\Csu{su-}% +% \end{macrocode} +% +% The 5 T syllables. +% \begin{macrocode} +\def\Cta{ta-}\def\Cte{te-}\def\Cti{ti-}\def\Cto{to-}\def\Ctu{tu-}% +% \end{macrocode} +% +% The 4 W syllables. +% \begin{macrocode} +\def\Cwa{wa-}\def\Cwe{we-}\def\Cwi{wi-}\def\Cwo{wo-}% +% \end{macrocode} +% +% The 3 X syllables. +% \begin{macrocode} +\def\Cxa{xa-}\def\Cxe{xe-}\def\Cxo{xo-}% +% \end{macrocode} +% +% The 1 Z syllables. +% \begin{macrocode} +\def\Czo{zo-}% +% \end{macrocode} +% +% The 3 arguable syllables +% \begin{macrocode} +\def\Cza{za-}\def\Cya{ya-}\def\Cyo{yo-}% +% \end{macrocode} +% +% Close the macro definition. +% \begin{macrocode} +} % end of \@translitC +% \end{macrocode} +% \end{macro} +% +% +% The end of this package. +% \begin{macrocode} +%</usc> +% \end{macrocode} +% +% \section{The map file} +% +% This is pretty short. +% \changes{v1.1}{2005/04/17}{Added the map file} +% \begin{macrocode} +%<*map> +cypr10 Archaic-Cypriot <cypr10.pfb +%</map> +% \end{macrocode} +% +% +% +% \Finale +% +\endinput + +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} + + |