From 10e86525da5f0224078b5bb299e21166a36631fc Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 11 Jan 2006 23:49:08 +0000 Subject: trunk/Master/texmf-dist/source/fonts git-svn-id: svn://tug.org/texlive/trunk@111 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/fonts/archaic/linearb.dtx | 5690 ++++++++++++++++++++ 1 file changed, 5690 insertions(+) create mode 100644 Master/texmf-dist/source/fonts/archaic/linearb.dtx (limited to 'Master/texmf-dist/source/fonts/archaic/linearb.dtx') diff --git a/Master/texmf-dist/source/fonts/archaic/linearb.dtx b/Master/texmf-dist/source/fonts/archaic/linearb.dtx new file mode 100644 index 00000000000..6c94d0adade --- /dev/null +++ b/Master/texmf-dist/source/fonts/archaic/linearb.dtx @@ -0,0 +1,5690 @@ +% \iffalse meta-comment +% +% linearb.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{linearb.dtx} +\end{document} +% +% +% +% \fi +% +% \CheckSum{780} +% +% \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}{2001/08/01}{Changed \cs{Bpiii} to \cs{Bpaiii}} +% \changes{v1.2}{2005/06/22}{Added many more glyphs and just one MF file} +% \changes{v1.2}{2005/06/22}{Added map file} +% +% \def\fileversion{v1.0} \def\filedate{1999/06/20} +% \def\fileversion{v1.1} \def\filedate{2001/08/01} +% \def\fileversion{v1.2} \def\filedate{2005/06/22} +% \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{\jurgen}{J\"urgen Kraus} +% +% \title{The \Lpack{Linearb} font\thanks{This +% file has version number \fileversion, last revised +% \filedate.}} +% +% \author{% +% Peter Wilson\thanks{With thanks to J\"{u}rgen Kraus who corrected my +% misinterpretations of some of the signs.} \\ +% Herries Press\thanks{\texttt{herries dot press at earthlink dot net}} +% } +% \date{\filedate} +% \maketitle +% \begin{abstract} +% The \Lpack{linearb} bundle provides a font for the Linear B +% syllabary which was used for writing Greek in the Bronze Age. +% \end{abstract} +% \tableofcontents +% \listoftables +% +% +% +% \section{Introduction} +% +% The font presented here is a rendition of (part of) the Linear B script +% that was used in the Bronze Age, particularly on Crete. +% It is one of a series of fonts that was initially intended +%nnn 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{GOOSSENS94}. +% +% 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{linearb} package} \label{sec:usc} +% +% In 1900~\AD{} Arthur Evans (later Sir Arthur) began excavating the +% palace of Knossos on Crete, which had been destroyed about 1400~\BC. +% There he found clay tablets with unknown +% writing on them. There were two different scripts which he called Linear~A +% and Linear~B. Sir Arthur was convinced that the script was used for an +% unknown Minoan language. He tried his hand at deciphering the scripts but +% made virtually no progess. This was in spite of the fact that the Cypriot +% script, which had several signs in common with Linear~B, had been deciphered +% in the 1870's and shown to be used for writing Greek. +% Later, in 1939, Carl W.~Blegen of the University +% of Cincinnati led a combined American-Greek excavation at Pylos on +% the mainland where he also found tablets inscribed with Linear~B. +% During his lifetime Sir Arthur published only a few +% of the tablets from Knossos. In 1951 the Pylos tablets were published +% and in 1952, eleven years after Sir Athur's death, the Knossos tablets +% were published. +% +% Michael Ventris (1922--1956) was an English architect who was +% fascinated by the +% problem of deciphering Linear~B. He had studied the few published examples +% of the script and had decided that Linear~B was a syllabary rather than +% an alphabet because of the number of different signs. With the +% publication of the Pylos and Knossos tablets +% he had a larger corpus to work on. He ignored the clue of the Cypriot +% script and independantly determined that Linear~B was probably +% used to write Greek, and then sought the help of John Chadwick of Cambridge +% University whose speciality was the early history of the Greek language. +% They published their decipherment of Linear~B in the +% \textit{Journal of Hellenic Studies}, 1953. Tragically, Ventris was killed +% in a car accident in 1956. +% +% Apart from the specialised literature, the story of Linear~B can be +% found in~\cite{CHADWICK87} and~\cite{GORDON87} among others. +% +% Linear~B was in use during the approximate period 1500--1200~\BC, +% for writing in Mycenaean Greek. This was some centuries +% before the Greek alphabet +% was invented. Perhaps surprisingly, Linear~B has no other relationship +% to the Greek alphabet except that they can both be used to write dialects +% of the same language. +% +% Linear~B is basically a syllabary, where there is a sign for each +% syllable. There are 60 basic signs and 16 optional signs for clarifying +% meanings; there are still some 11 signs whose meanings have not yet +% been identified. The script was used for record keeping, not for literary +% purposes. It has signs for numbering in a decimal system. The script also +% includes some ideographic signs, such as symbols for various kinds of goods +% and possesions, +% for example wheat or sheep or wool or wine. +% There is also a system for weights and measures within +% the script. +% +% The font presented here is based on the signs illustrated by +% Chadwick~\cite{CHADWICK87}. \jurgen{} (\texttt{jkraus@uni-goettingen.de}) +% was kind enough to review my first renditions and gave valuable advice +% concerning my errors of interpretation. +% The font consists of the basic, optional, +% unidentified, and numbering signs only. +% +% +% +% \DescribeMacro{\linbfamily} +% This command selects the Linear B font family. +% The family name is |linb|. +% +% \DescribeMacro{\textlinb} +% The command |\textlinb{|\meta{text}|}| typesets \meta{text} in the +% Linear B font. +% +% All the character commands start with |\B| (for the B in Linear~B). +% +% The commands (and their ASCII equivalents) for the 60 basic 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 55 signs are two-character syllables. +% The apparently random +% ASCII mapping is so that a companion Cypriot font~\cite{CYPRIOT} +% can use the same ASCII +% characters for syllables common to both scripts. +% +% \begin{table} +% \centering +% \caption{Commands and encoding for the basic signs}\label{tab:basic} +% \begin{tabular}{cccccc} \hline +% & a & e & i & o & u \\ \hline +% & |\Ba| a & |\Be| e & |\Bi| i & |\Bo| o & |\Bu| u \\ +% d & |\Bda| d & |\Bde| D & |\Bdi| f & |\Bdo| g & |\Bdu| x \\ +% j & |\Bja| j & |\Bje| J & & |\Bjo| b & |\Bju| L \\ +% k & |\Bka| k & |\Bke| K & |\Bki| c & |\Bko| h & |\Bku| v \\ +% m & |\Bma| m & |\Bme| M & |\Bmi| y & |\Bmo| A & |\Bmu| B \\ +% n & |\Bna| n & |\Bne| N & |\Bni| C & |\Bno| E & |\Bnu| F \\ +% p & |\Bpa| p & |\Bpe| P & |\Bpi| G & |\Bpo| H & |\Bpu| I \\ +% q & |\Bqa| q & |\Bqe| Q & |\Bqi| X & |\Bqo| 8 & \\ +% r & |\Bra| r & |\Bre| R & |\Bri| O & |\Bro| U & |\Bru| V \\ +% s & |\Bsa| s & |\Bse| S & |\Bsi| Y & |\Bso| 1 & |\Bsu| 2 \\ +% t & |\Bta| t & |\Bte| T & |\Bti| 3 & |\Bto| 4 & |\Btu| 5 \\ +% w & |\Bwa| w & |\Bwe| W & |\Bwi| 6 & |\Bwo| 7 & \\ +% z & |\Bza| z & |\Bze| Z & & |\Bzo| 9 & \\ +% \hline +% \end{tabular} +% \end{table} +% +% The commands for the 16 optional signs +% are given in Table~\ref{tab:optional}. Each entry is of the form: X |\Bcom|, +% where X is the value of the sign and |\Bcom| is the command. Where the +% value includes a digit, I have used the corresponding roman numeral in the +% command. +% +% \changes{v1.1}{2001/08/01}{Changed `p3' to `pa3' in optional signs table} +% \changes{v1.1}{2001/08/01}{Changed \cs{Bpiii} to \cs{Bpaiii} in optional signs table} +% \begin{table} +% \centering +% \caption{Commands for the optional signs}\label{tab:optional} +% \begin{tabular}{lll} \hline +% a2 |\Baii| & a3 |\Baiii| & au |\Bau| \\ +% dwe |\Bdwe| & dwo |\Bdwo| & \\ +% nwa |\Bnwa| & & \\ +% pa3 |\Bpaiii| & pu2 |\Bpuii| & pte |\Bpte| \\ +% ra2 |\Braii| & ra3 |\Braiii| & ro2 |\Broii| \\ +% swa |\Bswa| & swi |\Bswi| & \\ +% ta2 |\Btaii| & two |\Btwo| & \\ +% \hline +% \end{tabular} +% \end{table} +% +% The commands for the unidentified signs all have the form |\BUr|, where +% |r| is a roman numeral. There are either eleven or twelve of these signs, +% depending on the particular source for the character descriptions. +% The commands range from |\BUi| to |\BUxii|. The last of these signs, +% which looks like a `B', +% may be classified as `unidentified' in one source, while another source +% may give it the meaning \textit{twe}; +% the commands |\BUxii| and |\Btwe| both print the same sign. +% +% The commands for the numbers are given in Table~\ref{tab:num}. The +% commands are of the form |\BNr|, where |r| is the roman number for the +% numeral in question. +% +% \begin{table} +% \centering +% \caption{Commands for the numbers}\label{tab:num} +% \begin{tabular}{lllll} \hline +% & digits & tens & hundreds & thousands \\ \hline +% 1 & |\BNi| & |\BNx| & |\BNc| & |\BNm| \\ +% 2 & |\BNii| & |\BNxx| & |\BNcc| & \\ +% 3 & |\BNiii| & |\BNxxx| & |\BNccc| & \\ +% 4 & |\BNiv| & |\BNxl| & |\BNcd| & \\ +% 5 & |\BNv| & |\BNl| & |\BNd| & \\ +% 6 & |\BNvi| & |\BNlx| & |\BNdc| & \\ +% 7 & |\BNvii| & |\BNlxx| & |\BNdcc| & \\ +% 8 & |\BNviii| & |\BNlxxx| & |\BNdccc| & \\ +% 9 & |\BNix| & |\BNxc| & |\BNcm| & \\ +% \hline +% \end{tabular} +% \end{table} +% +% The Linear~B 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. +% +% \begin{table} +% \centering +% \caption{Commands for weights and measures}\label{tab:measures} +% \begin{tabular}{llcll} \hline +% Weight & & & Volume & \\ \hline +% Lightest & \cs{BPwta} & & Smallest & \cs{BPvola} \\ +% & \cs{BPwtb} & & & \cs{BPvolb} \\ +% & \cs{BPwtc} & & Largest (dry) & \cs{BPvolcd} \\ +% & \cs{BPwtd} & & Largest (fluid) & \cs{BPvolcf} \\ +% Heaviest & \cs{BPtalent} & & & \\ \hline +% \end{tabular} +% \end{table} +% +% \begin{table} +% \centering +% \caption{Commands for commodities}\label{tab:commodities} +% \begin{tabular}{llcll} \hline +% cloth & \cs{BPcloth} & & wool & \cs{BPwool} \\ +% wheat & \cs{BPwheat} & & barley & \cs{BPbarley} \\ +% wine & \cs{BPwine} & & olive oil & \cs{BPolive} \\ +% bronze & \cs{BPbronze} & & gold & \cs{BPgold} \\ \hline +% \end{tabular} +% \end{table} +% +% \begin{table} +% \centering +% \caption{Commands for people and livestock}\label{tab:animals} +% \begin{tabular}{llcllcll} \hline +% & & & man & \cs{BPman} & & woman & \cs{BPwoman} \\ +% sheep & \cs{BPsheep} & & ram & \cs{BPram} & & ewe & \cs{BPewe} \\ +% goat & \cs{BPgoat} & & he goat & \cs{BPbilly} & & she goat & \cs{BPnanny} \\ +% pig & \cs{BPpig} & & boar & \cs{BPboar} & & sow & \cs{BPsow} \\ +% ox & \cs{BPox} & & bull & \cs{BPbull} & & cow & \cs{BPcow} \\ +% horse & \cs{BPhorse} & & foal & \cs{BPfoal} & & & \\ \hline +% \end{tabular} +% \end{table} +% +% +% \begin{table} +% \centering +% \caption{Commands for weapons}\label{tab:weapons} +% \begin{tabular}{llcll} \hline +% chariot & \cs{BPchariot} & & sword & \cs{BPsword} \\ +% chariot body & \cs{BPchassis} & & arrow & \cs{BParrow} \\ +% (chariot) wheel & \cs{BPwheel} & & spear & \cs{BPspear} \\ \hline +% \end{tabular} +% \end{table} +% +% A variety of glyphs are provided encompassing some of the pictograms in +% the script. These are given in the following tables. All the commands +% start with \verb?\BP? (the \verb?P? for pictogram). +% +% Table~\ref{tab:measures} lists the commands for the system of weights, +% and for volumetric quantities. There is an assumption that the heaviest +% weight might be a \textit{talent}, which was the most common one in +% archaic times. There are different pictograms for the largest volume for +% dry materials (e.g., flour) and liquids. +% +% Table~\ref{tab:commodities} lists pictograms for various goods, and +% table~\ref{tab:animals} is for livestock as well as pictograms for +% a man and a woman. +% +% Pictograms related to warlike activities are in table~\ref{tab:weapons}. +% +% +% +% +% +% \DescribeMacro{\translitlinb} +% The command |\translitlinb{|\meta{char-commands}|}|, where \meta{char-commands} +% are the Linear~B character commands, will typeset a transliteration of the +% signs. For example,\\ +% |\translitlinb{\Bti\Bme:\Bto/\Bre\Bti\Bre}| 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. +% The unidentified signs, |\BUi| through |\BUxii|, are all transliterated +% as \textit{?-}. +% It is a feature of the command that all transliterated commands, except +% for pictograms, have a trailing |-| sign. +% +% The transliterations of the pictograms are given as words, enclosed in +% slashes. For example, +% \verb?\translitlinb{\BPolive}? is \textit{ /olive oil/ }. +% +% \DescribeMacro{\translitlinbfont} +% The transliterated Linear~B is typeset with the font declarations specified by +% |\translitlinbfont|, 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{\translitlinbfont}{\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[GMS94]{GOOSSENS94} +% Michel Goossens, Frank Mittelbach, and Alexander Samarin. +% \newblock \emph{The LaTeX Companion}. +% \newblock Addison-Wesley Publishing Company, 1994. +% +% \bibitem[Gor87]{GORDON87} +% Cyrus H.~Gordon. +% \newblock \emph{Forgotten Scripts}. +% \newblock Dorset Press, (Revised and enlarged edition) 1987. +% +% \bibitem[Rob02]{ROBINSON02} +% Andrew Robinson. +% \newblock \emph{Lost Languages}. +% \newblock McGraw Hill, 2002. +% +% \bibitem[Wil99]{CYPRIOT} +% Peter R.~Wilson. +% \newblock \emph{The Cypriot Package}. +% \newblock 1999. (Available from CTAN in \texttt{fonts/archaic}). +% +% \end{thebibliography} +% \PrintIndex +% } +% +% +% +% \section{The Metafont code} \label{sec:mf} +% +% \subsection{Parameters and setup} +% +% We deal with the parameter file first, and start by announcing +% what it is for. +% \begin{macrocode} +%<*up> +%%% LINB10.MF Linear B font 10 point design size. + +% \end{macrocode} +% Specify the font size. +% \begin{macrocode} + +font_identifier:="LinearB"; 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} +% +% +% \DescribeVariable{u} +% |u| is the unit width. +% \begin{macrocode} +u#:=.2pt#; % unit width +% \end{macrocode} +% +% \DescribeVariable{ht} +% |ht| is the height of the characters (the Computer Modern value +% for the capital letters is +% approximately 6.8pt). +% \begin{macrocode} +ht#:=heightfudge*10pt#; % height of characters +% \end{macrocode} +% +% \DescribeVariable{s} +% \DescribeVariable{o} +% |s| is the width of the space at either side of a character; |o| is +% the amount that a charcter stroke can overshoot its normal width or height. +% \begin{macrocode} +s#:=1.5pt#; % width correction (right and left) +o#:=1/20pt#; % overshoot +% \end{macrocode} +% +% \DescribeVariable{px} +% |px| is the horizontal width of the pen. +% \begin{macrocode} +%%%%%%px#:=penfudge*0.7pt#; % horizontal width of pen +px#:=penfudge*0.5pt#; % horizontal width of pen +% \end{macrocode} +% +% \DescribeVariable{font-normal-space} +% \DescribeVariable{font-normal-shrink} +% \DescribeVariable{font-x-height} +% \DescribeVariable{font-quad} +% Define the very simple font values. +% \begin{macrocode} +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} +% +% \DescribeVariable{digwd} +% \DescribeVariable{digsz} +% |digwid| is the character `width' of a pair of digit dashes. |digsz| is +% the length (as a proportion of the character height) of a digit dash. +% \begin{macrocode} +digwd:=0.2; +digsz:=0.4; +% \end{macrocode} +% +% \DescribeVariable{tenwd} +% \DescribeVariable{tensz} +% \DescribeVariable{tensep} +% |tenwd| is the character `width' of a column of tens dashes. |tensz| +% is the length (as a proportion of the character height) of a ten dash. +% |tensep| is the horizontal seperation between columns of tens dashes. +% \begin{macrocode} +tensz:=0.4; +tenwd:=tensz; +tensep:=0.2; +% \end{macrocode} +% +% \DescribeVariable{hunwd} +% \DescribeVariable{hunsep} +% \DescribeVariable{hunsz} +% |hunwid| is the character `width' of hundred circle and |hunsep| is +% the horizontal spacing the perimeters of a pair. |hunsz| is +% the diameter (as a proportion of the character height) of a hundred +% circle. +% \begin{macrocode} +hunsz:=0.4; +hunwd:=hunsz; +hunsep:=0.1; + +% \end{macrocode} +% +% This is where the driver file would normally be called. +% +% +% Here is the code for what would normally be the driver file. +% \changes{v1.2}{2005/06/22}{Merged MF driver file into the main file} +% +% Switch into Metafont mode +% +% \begin{macrocode} +font_coding_scheme:="Linear B 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}{draw_vloop} +% Draws a vertical elliptical shape. |draw_vloop(1,2,f)| draws ellipse between +% |z1| and |z2| with minor (horizontal) radius fraction |f| of major +% (vertical) radius. +% \begin{macrocode} +def draw_vloop(suffix $, $$)(expr len)= + z$m=1/2[z$,z$$]; + y$l=y$r=y$m; + q:=len*(y$-y$m); + x$l=x$m-q; x$r=x$m+q; + draw z$..z$l..z$$; draw z$$..z$r..z$; + labels($,$l,$m,$r,$$); +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} +% +% This is where the glyph code file would normally be called. +% +% The following code generates the glyphs for the Linear B font. +% \changes{v1.2}{2005/06/22}{Merged MF glyph file into the main one} +% +% \subsection{The basic glyphs} +% +% There are 60 basic glyphs. These are composed of the five vowels +% (a e i o u), and 55 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 basic 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 Cypriot 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 old-rashioned English TV aerial. +% \begin{macrocode} +cmchar "Linear B sign a"; +beginglyph("a",0.6); +x1=x3=leftloc; x4=midloc; x6=x8=rightloc; +y1=y6=1/2h; y3=y8=h; y4=0; +z2=0.5[z1,z3]; z7=0.5[z6,z8]; z5=0.5[z2,z7]; +draw z1--z3; % left vertical +draw z4--z5; % centre vertical +draw z6--z8; % right vertical +draw z2--z7; % bar +labels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{e} +% The sign \textit{e}. Much like our modern A but but with an additional +% crossbar. +% \begin{macrocode} +cmchar "Linear B sign e"; +beginglyph("e",0.6); +x1=x6=leftloc; x3=x7=rightloc; % base points +y1=y3=0; +x2=midloc; y2=h; % apex +z4=0.4[z1,z2]; z5=0.4[z3,z2]; % lower bar +y6=y7=0.5[y4,y2]; % upper bar +draw z1--z2--z3; % the legs +draw z4--z5; % lower bar +draw z6--z7; % upper bar +labels(1,2,3,4,5,6,7); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{i} +% The sign \textit{i}. Top half of an asterisk on a stem. +% \begin{macrocode} +cmchar "Linear B sign i"; +beginglyph("i",0.6); +x1=x2=x4=midloc; y1=0; y2=h; % upright +x3=leftloc; x5=rightloc; % bar +y3=y4=y5=2/3h; +x6=leftloc; x7=rightloc; % diagonals +top y6=top y7=h; +draw z1--z2; % upright +draw z3--z5; % horizontal +draw z6--z4--z7; % diagonals +labels(1,2,3,4,5,6,7); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{o} +% The sign \textit{o}. Like a box with partially opened lid. +% \begin{macrocode} +cmchar "Linear B sign o"; +beginglyph("o",0.6); +numeric alpha; alpha:=2/3; +x1=x2=leftloc; y1=h; y2=0; % left vertical +x3=x4=rightloc; y3=y2; y4=y5=alpha*h; % right vertical +x5=x6=0.4[x1,x3]; y6=y1; % center vertical +x7=x8=1/2[x5,x4]; y7=y4; y8=0.5[y4,y6]; % dash +draw z1--z2--z3--z4; % main shape +draw z1--z6{right}..{right}z5--z4; +draw z7--z8; % dash +labels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{u} +% The sign \textit{u}. Like an f. +% \begin{macrocode} +cmchar "Linear B sign u"; +beginglyph("u",0.6); +numeric alpha; alpha:=2/3; +x1=x2=leftloc; y1=0; y2=alpha*h; % left vertical +x3=x5=midloc; x4=x6=rightloc; % cross and curve +y6=y2; y3=y4=h; +y2-y5=y3-y2; +draw z1--z2{up}..{right}z3--z4; % vertical and curve top +draw z2--z6; draw z3--z5; % cross +labels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{da} +% The sign \textit{da}. Like |!-|. +% \begin{macrocode} +cmchar "Linear B sign da"; +beginglyph("d",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}{de} +% The sign \textit{de}, with corrections suggested by \jurgen. Like a W on +% top of a trestle table. +% \begin{verbatim} +% cmchar "Linear B sign de (original)"; +% beginglyph("D",0.8); +% numeric alpha; alpha:=0.01; +% x8=leftloc; x9=rightloc; y8=y9=0; % base points +% y2=y4=y6=h; % top points +% y1=y3=y5=y7=0.7h; % middle points +% x1=x8+alpha*w; x7=x9-alpha*w; +% x2=1/6[x1,x7]; x3=2/6[x1,x7]; x4=3/6[x1,x7]; x5=4/6[x1,x7]; x6=5/6[x1,x7]; +% draw z1--z2--z3--z4--z5--z6--z7; % top wavy +% draw z3--z5; % triangle base +% draw z8--z5; draw z9--z3; % legs +% labels(1,2,3,4,5,6,7,8,9); endchar; +% \end{verbatim} +% +% \begin{macrocode} +cmchar "Linear B sign de"; +beginglyph("D",0.8); +numeric alpha; alpha:=0.01; +x2=leftloc; x6=rightloc; x4=0.5[x2,x6]; % top of W +y2=y4=y6=h; +x3=0.5[x2,x4]; x5=0.5[x4,x6]; y1=y3=y5=y7=0.7h; % bottom of W +z11=2/3[z3,z2]; z17=2/3[z5,z6]; % side points on W +x1=x2; x7=x6; +x12=x11; x15=x17; y12=y13=y14=y15=y1-3/4small; % the horizontal +x13=x3; x14=x5; +x8=x12; x9=x15; y8=y9=0; % base points +draw z2--z3--z4--z5--z6; % W +draw z11--z1; draw z17--z7; % side arms +draw z12--z15; % horizontal +draw z8--z14; draw z9--z13; % legs +labels(1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{di} +% The sign \textit{di}. Like a T with a fringe under the crossbar. +% \begin{macrocode} +cmchar "Linear B sign di"; +beginglyph("f",0.6); +numeric alpha; +alpha:=small; +x1=x2=midloc; y1=0; y2=0.6h; % stem +x3=leftloc; x4=rightloc; y3=y4=h; % bar +x5=x6=x3; x7=x8=x2; x9=x10=x4; % fringe +y5=y7=y9=y3-alpha; +y6=y8=y10=y2+alpha; +draw z1--z2; % stem +draw z3--z4; % bar +draw z5--z6; draw z7--z8; draw z9--z10; % fringe +labels(1,2,3,4,5,6,7,8,9,10); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{do} +% The sign \textit{do}, circle on a stem with various spikes emenating from +% the circle. \jurgen{} suggested a kinked stem with a semicircle and a dash. +% \begin{verbatim} +cmchar "Linear B sign do (original)"; +% beginglyph("g",0.8); +% numeric alpha; alpha:=0.2*(rightloc-leftloc); +% numeric rad; rad:=0.3*(rightloc-leftloc); +% x0=midloc; y0=h-rad-0.5alpha; % circle center +% x1=x2=x5=x9=x0; % mid vertical points +% y1=0; y2=y0-rad; y5=y0+rad; y9=h; +% y7=y3=y6=y11=y0; % mid horizontal points +% x7=leftloc; x3=x0-rad; x6=x0+rad; x11=rightloc; +% x10=x9-0.5alpha; y10=y9; % top line +% y12=y13=y11+small; x13=x11; x12=x13-0.25alpha; +% path p; +% p=z2..z3..z5..z6..cycle; +% x8=x7; x4=x3; y8=y4=y3+small; +% draw p; % circle +% draw z1--z2; % stem +% draw z7--z3; draw z6--z11; % main horizontals +% draw z12--z13; % right dash +% draw z5--z9--z10; % top L +% draw z4--z8; % left dash +% labels(0,1,2,3,4,5,6,7,8,9,10,11,12,13); endchar; +% \end{verbatim} +% +% \begin{macrocode} +cmchar "Linear B sign do"; +beginglyph("g",0.4); +numeric alpha; alpha:=small; +numeric rad; rad:=0.15h; +numeric beta; beta:=1.5tiny; % gap size +numeric gam; gam:=1.5; % the tension +x0=midloc; y0=h-rad-alpha; % circle center +x1=x2=x4=x5=x0; % stem vertical points +y1=0; y2=y0-rad; y4=y0+rad; y5=h; +x3=x0-0.75rad; y3=y0; % mid arc point +x12=x14=x0+beta; y12=y2; y14=y4; % points on right arc +x13=x14+rad; y13=y3; +x15=x1; x16=x13; y15=y16=y2-beta; % horizontal +%%draw z1..tension gam..z2..tension gam..z3..tension gam..z4..tension gam..z5; +%%draw z1---z2..tension gam..z3..tension gam..z4---z5; +draw z1--z2{up}..z3..{up}z4--z5; +draw z12..z13..z14; % right hand arc +draw z15--z16; % horizontal +labels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{du} +% The sign \textit{du}. A very vague resemblance to a chef's hat, +% \begin{macrocode} +cmchar "Linear B sign du"; +beginglyph("x",0.6); +x4=leftloc; x6=rightloc-tiny; x5=1/3[x4,x6]; % base points +y4=y5=y6=0; +y1=y2=y3=0.8h; % mid points +x1=x4+tiny; x3=x6; x2=1/3[x1,x3]; +x7=leftloc; x8=rightloc; % top points +y7=y8=h; +draw z1--z3; % horizontal +draw z6--z3--z8; % right uprights +draw z1{up}..z7; % top left +draw z4{up}..z1; draw z5{up}..z2; % curved legs +labels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ja} +% The sign \textit{ja}. A rectangle with two interior lines. +% \begin{macrocode} +cmchar "Linear B sign ja"; +beginglyph("j",0.6); +x1=x2=x3=x4=leftloc; % left points +y1=0; y4=h; y2=1/3[y1,y4]; y3=2/3[y1,y4]; +x5=x6=x7=x8=rightloc; +y5=y1; y6=y2; y7=y3; y8=y4; +draw z1--z4--z8--z5--cycle; % exterior +draw z2--z6; draw z3--z7; % lines +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{je} +% The sign \textit{je}. +% \begin{macrocode} +cmchar "Linear B sign je"; +beginglyph("J",0.6); +path p[]; numeric alpha; alpha:=0.8; +x1=leftloc; y1=0; x2=rightloc; y2=h; % left leg +p1=z1{up}..z2; +z3 = point alpha of p1; +x5=x2; y5=y1; x6=x1; y6=y2; % right leg +p2=z5{up}..z6; +z7 = point alpha of p2; +z4'=z3 shifted (w*(1,-1)); +z4 = whatever[z3,z4']= whatever[z5,z2]; +z7'= z7 shifted (w*(-1,-1)); +z8 = whatever[z7,z7'] = whatever[z1,z6]; +draw p1; draw z3--z4; % left leg +draw p2; draw z7--z8; % right leg +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{jo} +% The sign \textit{jo}. An angled top bar on a kinked stem. +% \begin{macrocode} +cmchar "Linear B sign jo"; +beginglyph("b",0.4); +x1=x2=x4=midloc; y1=0; % center points +x6=leftloc; y6=h-tiny; x7=rightloc; y7=h; % crossbar +z5=0.5[z6,z7]; +y4=y5-small; y2=y4-medium; +x3=0.75[x4,x7]; y3=0.5[y2,y4]; +draw z6--z7; % crossbar +draw z1--z2; draw z4--z5; draw z2{right}..z3..{left}z4; % stem +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ju} +% The sign \textit{ju}. Looks a bit like a chair. +% \begin{macrocode} +cmchar "Linear B sign ju"; +beginglyph("L",0.8); +x1=x5=leftloc; y1=0; y5=h-tiny; % back and leg +x4=x1+tiny; y4=h; +x2=0.5[x1,x4]; y2=1/2h; +x9=rightloc-tiny; y9=0; % seat and leg +x7=x9; y7=y2+tiny; +x8=rightloc; y8=y7-2tiny; +z10=1/3[z1,z9]; z12=2/3[z1,z9]; +x11=x10; x13=x12; +y11=y2; y13=1/3[y2,y4]; +draw z1--z2--z4--z5; % back leg +draw z2---z7..z8---z9; % seat and leg +draw z10--z11; draw z12--z13; % other legs +labels(1,2,3,4,5,6,7,8,9,10,11,12,13); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ka} +% The sign \textit{ka}. It is a circle with horizontal and vertical diameters. +% \begin{macrocode} +cmchar "Linear B sign ka"; +beginglyph("k",0.8); +numeric rad; rad:=0.5*(rightloc-leftloc); +x0=midloc; y0=h/2; +x1=x0-rad; x3=x0+rad; +y2=y0+rad; y4=y0-rad; +x2=x4=x0; +y1=y3=y0; +draw z1..z2..z3..z4..cycle; % the circle +draw z1--z3; draw z2--z4; % the cross +labels(0,1,2,3,4); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ke} +% The sign \textit{ke}. A W on curved legs (similar to \textit{de}). +% \begin{macrocode} +cmchar "Linear B sign ke"; +beginglyph("K",0.8); +numeric alpha; alpha:=0.01; +x8=leftloc; x9=rightloc; y8=y9=0; % base points +y2=y4=y6=h; % top points +y1=y3=y5=y7=0.7h; % middle points +x1=x8+alpha*w; x7=x9-alpha*w; +x2=1/6[x1,x7]; x3=2/6[x1,x7]; x4=3/6[x1,x7]; x5=4/6[x1,x7]; x6=5/6[x1,x7]; +x10=x11=x4; y10=y3; % line points +y10-y11 = y4-y3; +draw z1--z2--z3--z4--z5--z6--z7; % top wavy +draw z3--z5; % triangle base +draw z8{up}..z5; draw z9{up}..z3; % legs +draw z10--z11; % line +labels(1,2,3,4,5,6,7,8,9,10,11); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ki} +% The sign \textit{ki}, which is like a triangle with a bow at top left. +% \begin{macrocode} +cmchar "Linear B sign ki"; +beginglyph("c",0.8); +numeric rad; rad:=small; +x0=leftloc+rad; y0=h-rad; % circle center +path p; +p=fullcircle scaled (2rad) shifted z0; +z2 = directionpoint (1,1) of p; % triangle points +x3=rightloc; y3=y2; +x1=0.5[x2,x3]; y1=0; +z4=z2 shifted (-rad,-rad); +z5-z2=z2-z4; +draw z1--z2--z3--cycle; % triangle +draw z4--z5; draw p; % bow + +labels(0,1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ko} +% The sign \textit{ko}, which is like an icecream cone. +% \begin{macrocode} +cmchar "Linear B sign ko"; +beginglyph("h",0.4); +numeric rad; rad:=0.5*(rightloc-leftloc); +x1=x6=midloc; y1=0; y6=h; % axis points +x5=leftloc; x7=rightloc; % circle horizontal diameter +y5=y7=y6-rad; +x9=x6; y9=y6-2rad; +x2=x9-rad/2; x3=x9+rad/2; % cone points +y2=y3=3/4[y9,y5]; +path p[]; +p1=z5{down}..z9{right}..{up}z7; +p2=z1--z2; p3=z1--z3; +z4 = p2 intersectionpoint p1; +z8 = p3 intersectionpoint p1; +draw z1--z2--z3--cycle; % cone +draw z4..z5{up}..z6{right}..z7{down}..z8; % icecream +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ku} +% The sign \textit{ku}, which is similar to our modern B, but no upright and +% a faucet on the upper bowl. The correction by \jurgen{} looks very different, +% a bit like |w)?|, or a satelite TV dish. +% \begin{verbatim} +cmchar "Linear B sign ku (original)"; +% beginglyph("v",0.6); +% x1=x3=x5=leftloc; +% x2=x4=rightloc-small; +% bot y1=-o; top y5=h; +% y2=1/4h; y3=1/2h; y4=3/4h; +% path p; +% p = z3{right}..z4..z5{left}; % upper bowl +% z6 = directionpoint (1,1) of p; % faucet +% x7=rightloc; y7=y6; +% x8=x7; y8=0.5[y2,y3]; +% draw z1{right}..z2..z3{left}; % lower bowl +% draw p; % upper bowl +% draw z6--z7--z8; % faucet +% labels(1,2,3,4,5,6,7,8); endchar; +% \end{verbatim} +% +% \begin{macrocode} +cmchar "Linear B sign ku)"; +beginglyph("v",0.6); +numeric alpha; alpha:=1/3(rightloc-leftloc); +numeric beta; beta:=0.5alpha; +x1=x3=leftloc; x2=rightloc-alpha; y1=0; y2=h/2; y3=h; % the right paren +x12=leftloc; x11=x13=1/4[x12,x2]; % the w +x14=1/2[x12,x2]; x15=3/4[x12,x2]; +y11=y2; y13=y15=y2-beta; y12=y14=0.5[y11,y13]; +x23=rightloc; x21=x22=0.5[x2,x23]; % the ? +y21=0; y23=y13; y23-y22=y2-y23; +draw z1..z2{up}..z3; % the paren +draw z11..z12..z13..z14; draw z14..z15..z2; % the w +draw z2{right}..z23..{down}z22--z21; % the ? +labels(1,2,3,11,12,13,14,15,21,22,23,24); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ma} +% The sign \textit{ma}. My original was a bit like a V in a bucket. +% \jurgen's correction is more like a Y with two stirrups. +% \begin{verbatim} +cmchar "Linear B sign ma (original)"; +% beginglyph("m",0.75); +% x1=leftloc; x3=midloc; x5=rightloc; % triangley +% y1=y5=h; y3=1/8h; +% z2=3/4[z3,z1]; z4=3/4[z3,z5]; % top of bucket +% x6=x8=x2; x7=x9=x4; % bottom lines +% y6=y7=0; y8=y9=y3; +% draw z1--z3--z5; % triangle +% draw z2--z6--z7--z4; draw z8--z9; % bucket +% labels(1,2,3,4,5,6,7,8,9); endchar; +% \end{verbatim} +% +% \begin{macrocode} +cmchar "Linear B sign ma"; +beginglyph("m",0.75); +x1=leftloc; x2=x3=midloc; x4=rightloc; % The Y +y1=y4=h; y2=1/2h; y3=0; +z5=0.5[z1,z2]; % top of left stirrup strap +x7=x9=0.5[x5,x2]; x8=0.5[x5,x1]; % left stirrup +y9=1/6[y3,y2]; y7=2/3[y9,y2]; y8=0.5[y7,y9]; +path p; p=z7..z8..z9; % strap point on stirrup +z6=point 0.5 of p; +z15=z5 reflectedabout (z3,z2); % right strap and stirrup +z16=z6 reflectedabout (z3,z2); +z17=z7 reflectedabout (z3,z2); +z18=z8 reflectedabout (z3,z2); +z19=z9 reflectedabout (z3,z2); +draw z1--z2--z3; draw z4--z2; % Y +draw z5--z6; draw z7..z8..z9; % straps +draw z15--z16; draw z17..z18..z19; % right half +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{me} +% The sign \textit{me}. A walking stick with a flash at the curved handle. +% \begin{macrocode} +cmchar "Linear B sign me"; +beginglyph("M",0.8); +numeric alpha; alpha:=2/3; +x1=x2=midloc; y1=0; y2=alpha*h; % right vertical and curve +x4=leftloc; x3=0.5[x4,x1]; y4=y3=h; +x5=x3; y5=y2; % cross +path p[]; % right jiggle +p1=z1--z2{up}..{left}z3--z4; +z6 = point 1.33 of p1; +x9=rightloc; y9=y2; +z8=1/3[z2,z9]; +x7=0.5[x2,x9]; y7=y6; +draw p1; % vertical and curve +draw z2--z5--z3; % cross +draw z6--z7--z8--z9; % jiggle +labels(1,2,3,4,5,6,7,8,9); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{mi} +% The sign \textit{mi}. A bit like a V. +% \begin{macrocode} +cmchar "Linear B sign mi"; +beginglyph("y",0.8); +numeric alpha; alpha:=small; +x1=leftloc; x2=x1+alpha; x3=x4=x1+2alpha; % left half +y1=y3=h-alpha; y2=h; y4=0; +x7=rightloc; y7=h; % right half +x6=x7-alpha; y6=y7-alpha; +x5=x7; y5=y6-alpha; +draw z1..z2..z3---z4; % left half +draw z4{up}..{(1,1)}z5--z6--z7; % right half +labels(1,2,3,4,5,6,7,8,9); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{mo} +% The sign \textit{mo}, having a vague resemblance to a shepherd's crook. +% \jurgen{} gives a different sign looking like a reflected epsilon by a kinked +% stem. +% \begin{verbatim} +cmchar "Linear B sign mo (initial)"; +% beginglyph("A",0.8); +% numeric alpha; alpha:=small; +% x1=x2=x4=midloc; y1=0; y2=0.65h; y4=h; % shepherds crook +% x3=rightloc; y3=0.5[y2,y4]; +% x5=leftloc; y5=0.5[y2,y3]; +% path p; +% p = z5..z4{right}..z3{down}..z2--z1; +% z6 = point 0.3 of p; % lines +% z8 = point 0.6 of p; +% z7=z6 shifted (alpha*(-1,1)); +% z9=z8 shifted (alpha*(-1,1)); +% draw p; +% draw z6--z7; draw z8--z9; +% labels(1,2,3,4,5,6,7,8,9); +% endchar; +% \end{verbatim} +% +% \begin{macrocode} +cmchar "Linear B sign mo"; +beginglyph("A",0.6); +numeric alpha; alpha:=small; +numeric rad; rad:=0.15h; +numeric beta; beta:=0.2h; % e radius +numeric gam; gam:=1.5; % the tension +x3=rightloc; % stem points +x1=x2=x4=x5=x0=x3-0.75rad; +y1=0; y5=h; y0=h-rad-alpha; +y2=y0-rad; y4=y0+rad; y3=y0; +x7-x0 = x0-x3; y7=y0; % midpoint of e arc perimeter +z9'=z7 shifted (beta*left); z9=z9' shifted (tiny*up); +z6'=z9 shifted (beta*down); z6=z6' shifted (tiny*left); +z8'=z9 shifted (beta*up); z8=z8' shifted (tiny*right); +%%draw z1..tension gam..z2..tension gam..z3..tension gam..z4..tension gam..z5; +%%draw z1---z2..tension gam..z3..tension gam..z4---z5; +draw z1--z2{up}..z3..{up}z4--z5; +draw z7--z9; % the e +draw z6..z7..z8; +labels(0,1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{mu} +% The sign \textit{mu}. +% \begin{macrocode} +cmchar "Linear B sign mu"; +beginglyph("B",0.8); +numeric rad; rad:=small; +x1=x2=leftloc+2rad; y1=0; y2=h-rad; % stem +x3=x5=leftloc+rad; y3=h; y5=y3-2rad; +x4=leftloc; y4=y2; +x6=x8=rightloc; y6=y5; y8=y3; % bar and curve +x7=x6-rad; y7=0.5[y6,y8]; +x9=x7-1/2rad; y9=y6; +x10=x9; y10=y9-2rad; +draw z1--z2{up}..z3{left}..z4{down}..{right}z5--z6; % stem and bar +draw z6{left}..z7{up}..{right}z8; % curve +draw z9--z10; +labels(1,2,3,4,5,6,7,8,9,10); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{na} +% The sign \textit{na}. Sort of semi-mirrored version of \textit{jo} (i.e., +% an angled top bar on a kinked stem). +% \jurgen{} instead draws it as a Y with two bars on top. +% \begin{verbatim} +cmchar "Linear B sign na (original)"; +% beginglyph("n",0.4); +% x1=x2=midloc; y1=0; % center points +% x6=leftloc; y6=h-tiny; x7=rightloc; y7=h; % crossbar +% z5=0.5[z6,z7]; +% y4=y5-small; y2=y4-small; x4=x2+small; +% x3=0.5[x2,x6]; y3=0.5[y2,y4]; +% z8'= z6 shifted (tiny*down); z9'= z7 shifted (tiny*down); +% z8 =0.45[z8',z9']; z9=0.55[z8',z9']; +% draw z6--z7; % crossbar +% draw z1--z2; draw z2{left}..z3..{right}z4; % stem +% draw z8--z9; % little bar +% labels(1,2,3,4,5,6,7,8); endchar; +% \end{verbatim} +% +% \begin{macrocode} +cmchar "Linear B sign na"; +beginglyph("n",0.4); +numeric alpha; alpha:=(rightloc-leftloc); +x1=leftloc; x3=rightloc; y1=y3=2/3h; % top of Y +x2=x4=midloc; y4=0; y2=2/3[y4,y1]; % leg of Y +x5=x6=midloc; y6=h; y5=0.5[y1,y6]; % dash centers +draw z1--z2--z3; draw z4--z2; % Y +draw_hdash(5,alpha); draw_hdash(6,alpha); % crossbars +labels(1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ne} +% The sign \textit{ne}. A bit like a telegraph pole. \jurgen{} suggested +% shortening the top bar. +% \begin{macrocode} +cmchar "Linear B sign ne"; +beginglyph("N",1.0); +numeric rad; +x1=x2=x3=midloc; y1=0; y2=h; y3=2/3[y1,y2]; % stem +rad:=0.2*(y2-y3); % circle radius +x6=leftloc; y6=y16=y3+4rad; x16=rightloc; % curvey bar +x7=x6+rad; x15=x16-rad; y7=y15=y6; +x8=x9=x7+rad; x14=x13=x15-rad; y8=y14=y7-rad; y9=y13=y3+rad; +x10=x9+rad; x12=x13-rad; y10=y12=y3; +z0l=(x10,y9); z0r=(x12,y13); % circle centers +%%x4=x0l; x5=x0r; y4=y5=y2; % top bar +x4=0.25[x0l,x2]; x5=0.25[x0r,x2]; y4=y5=y2; % top bar +draw z1--z2; % stem +draw z4--z5; % top bar +draw z6..z8..{down}z9; draw z10--z12; draw z13{up}..z14..z16; +draw fullcircle scaled (2rad) shifted z0l; +draw fullcircle scaled (2rad) shifted z0r; +labels(0l,0r,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ni} +% The sign \textit{ni}. A curved V with dashes near the top. +% \begin{macrocode} +cmchar "Linear B sign ni"; +beginglyph("C",0.6); +numeric alpha, beta; +alpha:=0.2; beta:=tiny; +x1=leftloc; x2=midloc; x3=rightloc; y1=y3=h; y2=0; % V +path p[]; +p1=z1{(1,-1)}...{down}z2; +p2=z3{(-1,-1)}...{down}z2; +z5 = point alpha of p1; +z8 = point alpha of p2; +z4=z5 shifted (beta*(-1,-1)); z6=z5 shifted (beta*(1,1)); +z7=z8 shifted (beta*(-1,1)); z9=z8 shifted (beta*(1,-1)); +draw p1; draw p2; % V +draw z4--z6; draw z7--z9; % dashes +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{no} +% The sign \textit{no}. +% \begin{macrocode} +cmchar "Linear B sign no"; +beginglyph("E",1.0); +numeric alpha, beta; +alpha:=small; beta:=tiny; +x1=x2=leftloc; y1=h; x3=x2+alpha; y3=1/3h; y2=y3+alpha; % curves +x4=x5-alpha; y4=y3; x5=rightloc; y5=y4+alpha; +x6=x4; x9=x5; +y6=y5+alpha; y7=y6+alpha/2; y8=y9=y7+alpha/2; +x7=x6-alpha/2; x8=0.5[x7,x9]; +x10=x11=1/4[x2,x7]; % toast rack +x12=x13=1/2[x2,x7]; +x14=x15=3/4[x2,x7]; +y10=y12=y14=y3; +y11=y13=y15=y1; +x16=x10; x17=x14; y16=y17=0; % legs +draw z1---z2{down}..{right}z3---z4{right}..z5..z6..z7..z8--z9; +draw z10--z11; % toast rack +draw z12--z13; +draw z14--z15; +draw z16--z12--z17; % legs +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{nu} +% The sign \textit{nu}. Two semicircles within two uprights. +% \begin{macrocode} +cmchar "Linear B sign nu"; +beginglyph("F",0.6); +numeric alpha, beta; +alpha:=0.2*(rightloc-leftloc); +beta:=small; +x1=x2=leftloc; x3=x4=rightloc; y1=y3=0; y2=y4=h; % uprights +x9=x6=midloc; x5=x8=x6-alpha; x10=x7=x6+alpha; % curves +y8=y10=h/2 - beta; y5=y7=h/2 + beta; +y6=y5+3/2alpha; y9=y8-3/2alpha; +draw z1--z2; draw z3--z4; % uprights +draw z5{up}..z6..{down}z7; % curves +draw z8{down}..z9..{up}z10; +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{pa} +% The sign \textit{pa}. Like a Lorraine cross. \jurgen{} drew this with +% the crossbars equidistant from the center. +% \begin{macrocode} +cmchar "Linear B sign pa"; +beginglyph("p",0.4); +x1=x2=midloc; y1=0; y2=h; % stem +x3=x5=leftloc; % crossbars +%%y3=0.7h; y5=0.85h; +y3=0.375h; y5=0.625h; +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}. +% \begin{macrocode} +cmchar "Linear B sign pe"; +beginglyph("P",0.4); +numeric alpha, beta; alpha:=0.2; +x1=x2=leftloc; y1=0; y2=h; % stem +x3=x4=rightloc; y3=alpha[y1,y2]; y4=(1-alpha)[y1,y2]; +x6=0.5[x1,x3]; y6=h/2; +beta:=0.5*(x6-x1); +x5=x7=x1; y7=y6+beta; y5=y6-beta; +draw z3--z1--z2--z4; +draw z5..z6..z7; +labels(1,2,3,4,5,6,7); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{pi} +% The sign \textit{pi}. A triangle with a vertical divider and a crossbar +% near the apex. +% \begin{macrocode} +cmchar "Linear B sign pi"; +beginglyph("G",0.6); +x1=x6=leftloc; x3=x7=rightloc; x4=midloc; % base points +y1=y3=y4=0; +x2=midloc; y2=h; % apex +y6=y7=0.65h; % upper bar +draw z1--z2--z3--cycle; % the main triangle +draw z2--z4; % vertical bisector +draw z6--z7; % upper bar +labels(1,2,3,4,5,6,7); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{po} +% The sign \textit{po}. \jurgen{} drew an upright and more angular version of +% my original. +% \begin{verbatim} +% cmchar "Linear B sign po (original)"; +% beginglyph("H",0.6); +% x4=leftloc; y4=h/3; x7=x4+small; y7=h; % LHS +% z5=1/3[z4,z7]; z6=2/3[z4,z7]; +% x3=rightloc; y3=h; % RHS +% x2=x3-small; y2=y5; +% x1=midloc; y1=0; +% draw z4--z7; % LHS +% draw z1--z2--z5; draw z6--z3; % RHS +% labels(1,2,3,4,5,6,7); endchar; +% \end{verbatim} +% +% \begin{macrocode} +cmchar "Linear B sign po"; +beginglyph("H",0.6); +x1=x2=leftloc; y1=h; y2=h/2; % LHS +x3=x4=rightloc; y3=y2; y4=0; % RHS +z5=0.5[z1,z2]; x6=rightloc; y6=y5; % bar +draw z1--z2--z3--z4; % h shape +draw z5--z6; % bar +labels(1,2,3,4,5,6,7); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{pu} +% The sign \textit{pu}. An elephant with three legs and raised trunk. +% \begin{macrocode} +cmchar "Linear B sign pu"; +beginglyph("I",0.6); +numeric rad; rad:=small; +x1=leftloc; y1=0; % bottom left +x8=rightloc; y9=h; y8=y9-rad; x9=x8-rad; % curl at top right +x7=x9; y7=y8-rad; +y2=y7-rad; x2=x1+rad; +path p[]; +p1=z1{up}..z2..{right}z7..{up}z8..{left}z9; +x5=x6=x7; y6=0; y5=y7; +x4=0.5[x1,x6]; y4=0; +z4'=z4 shifted (h*up); +z3 = (z4--z4') intersectionpoint p1; +draw p1; +draw z4--z3; draw z6--z5; +labels(1,2,3,4,5,6,7,8,9); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{qa} +% The sign \textit{qa}. A circle with ears, on a stem. +% \begin{macrocode} +cmchar "Linear B sign qa"; +beginglyph("q",0.8); +numeric alpha; alpha:=0.2*(rightloc-leftloc); +numeric rad; rad:=0.3*(rightloc-leftloc); +x0=midloc; y0=h-rad; % circle center +x1=x2=x5=x0; % mid vertical points +y1=0; y2=y0-rad; y5=y0+rad; +y3=y6=y0; % mid horizontal points +x3=x0-rad; x6=x0+rad; +path p[]; % ears +p1=z2{left}..z3{up}..{right}z5; +p2=z5{right}..z6{down}..{left}z2; +x7'=leftloc; y7'=y3-0.5rad; x11'=rightloc; y11'=y7'; +p3=z7'--z11'; +z7= p3 intersectionpoint p1; +z11= p3 intersectionpoint p2; +x8=leftloc; y8=0.5[y3,y7]; +x10=rightloc; y10=y8; +draw p1; draw p2; % circle +draw z1--z2; % stem +draw z3..z8..z7; draw z6..z10..z11; % ears +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{qe} +% The sign \textit{qe}. A circle with 4 interior dashes. +% \begin{macrocode} +cmchar "Linear B sign qe"; +beginglyph("Q",0.8); +numeric alpha, beta; +numeric rad; rad:=0.5*(rightloc-leftloc); +alpha:=0.3rad; +beta:= small; +x0=midloc; y0=h/2; % circle center +x1=x2=x5=x0; % mid vertical points +y1=0; y2=y0-rad; y5=y0+rad; +y3=y6=y0; % mid horizontal points +x3=x0-rad; x6=x0+rad; + +z10'=z0 shifted (alpha*(1,1)); +z11'=z0 shifted (alpha*(1,-1)); +z12'=z0 shifted (alpha*(-1,-1)); +z13'=z0 shifted (alpha*(-1,1)); +draw fullcircle scaled (2rad) shifted z0; +draw_hdash(10',beta); draw_hdash(11',beta); draw_hdash(12',beta); draw_hdash(13',beta); +labels(1,2,3,4,5,6,7,8,9,10,10',11,11',12,12',13,13'); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{qi} +% The sign \textit{qi}. A T with an additional wavy line under the crossbar. +% \begin{macrocode} +cmchar "Linear B sign qi"; +beginglyph("X",0.8); +numeric alpha, beta; +alpha:=small; +beta:=medium; +x1=leftloc; x2=rightloc-alpha; y1=y2=h; % top bar +x3=0.25[x1,x2]; y3=y1; % wave +x4=0.25[x3,x2]; y4=y3-beta; +x6=rightloc; y6=y3-0.5beta; +x7=0.8[x1,x2]; y7=y1; % stem +x8=x7; y8=0; +draw z1--z2; % top bar +draw z8--z7; % stem +draw z3..z4{right}..z2{right}..z6; % wave +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{qo} +% The sign \textit{qo}. Vertically symmetric with the right half like an +% L on top of the right half of a T. +% \begin{macrocode} +cmchar "Linear B sign qo"; +beginglyph("8",0.6); +numeric alpha, beta; +alpha:=small; +beta:=small; +x1=x2=midloc; y1=0; y2=h/2; % stem +x5=leftloc; x8=rightloc; % the Ls +y5=y6=y9=y8=3/4h; y7=y10=h; +x6=x7=1/3[x5,x8]; x9=x10=2/3[x5,x8]; +x3=0.5[x5,x6]; x4=0.5[x8,x9]; y3=y4=0.5[y2,y5]; % bar +draw z1--z2; % stem +draw z3--z4; % bar +draw z5--z6--z7; % left L +draw z8--z9--z10; % right L +labels(1,2,3,4,5,6,7,8,9,10); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ra} +% The sign \textit{ra}. Like an `L' with a kerned c. +% \begin{macrocode} +cmchar "Linear B sign ra"; +beginglyph("r",0.6); +x1=x2=leftloc; y1=h; y2=0; x3=rightloc; y3=y2; % the L +x4=x6=x3; y4=y3+small; y6=y4+large; % the c +x5=x4-0.5*(y6-y4); y5=0.5[y4,y6]; +draw z1--z2--z3; % L +draw z4{left}..z5{up}..{right}z6; % c +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{re} +% The sign \textit{re}. Like a Greek \textit{psi}. +% \begin{macrocode} +cmchar "Linear B sign re"; +beginglyph("R",0.6); +numeric rad; +x1=x2=x4=midloc; y1=h; y2=0; % stem +rad = 0.5*(rightloc-leftloc); +x3=leftloc; y3=y5=h; x5=rightloc; y4=y3-rad; +draw z1--z2; % stem +draw z3..z4..z5; % bowl +labels(1,2,3,4,5); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ri} +% The sign \textit{ri}, sort of like a box on legs. \jurgen's rendition +% is more like a pawn with a wsip of hair. +% \begin{verbatim} +% cmchar "Linear B sign ri (original)"; +% beginglyph("O",0.8); +% numeric rad; +% x1=leftloc; x2=rightloc; y1=y2=0.2h; % horizontal +% x3=leftloc; y3=0; % left verticals +% x4=x5=1/3[x1,x2]; y4=y1; y5=0.8h; +% x6=rightloc; y6=0; % right verticals +% x7=x8=2/3[x1,x2]; y7=y4; y8=y5; +% x11=x5; y11=h; % top curve +% draw z1--z2; % horizontal +% draw z3--z4--z5--z8--z7--z6; % box and legs +% draw z8{up}..{left}z11; % top curve +% labels(1,2,3,4,5,6,7,8,9,10,11); endchar; +% \end{verbatim} +% +% \begin{macrocode} +cmchar "Linear B sign ri"; +beginglyph("O",0.4); %% was 0.6 +numeric beta; beta:=small; +x1=leftloc; x3=rightloc; y1=y3=0.55h; % horizontal +x4=0.1[x1,x3]; x5=0.1[x3,x1]; y4=y5=0; % legs +z2=0.5[z1,z3]; +x14=x12=midloc; y14=h; % head +y12=0.75[y2,y14]; +x11=0.3[x1,x2]; y11=2/3[y2,y12]; +z13=z11 reflectedabout (z2,z12); +x15=x14-beta; y15=y14; %% y15=y14-0.5beta; +draw z1--z3; % horizontal +draw z4--z2--z5; % base +draw z2..z13..{left}z12; draw z2..z11..{right}z12; % head +draw z2..z13..z14..z15; % hair +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ro} +% The sign \textit{ro}. A cross. +% \begin{macrocode} +cmchar "Linear B sign ro"; +beginglyph("U",0.6); +x1=x2=midloc; y1=0; y2=h; +x3=leftloc; x4=rightloc; y3=y4=0.6h; +draw z1--z2; draw z3--z4; +labels(1,2,3,4); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ru} +% The sign \textit{ru}. A bit like a tulip. +% \begin{macrocode} +cmchar "Linear B sign ru"; +beginglyph("V",0.6); +x1=x2=midloc; y1=0; y2=0.75h; +x5=leftloc; x6=rightloc; +x3=0.25[x5,x6]; x4=0.75[x5,x6]; y3=y4=h; +x7=x3; x8=x4; y7=y8=y2-0.1h; +y5=y6=0.5[y7,y3]; +draw z1--z2; % stem +draw z2{down}..z7{left}..z5{up}..z3; % left petal +draw z2{down}..z8{right}..z6{up}..z4; % right petal +labels(1,2,3,4); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{sa} +% The sign \textit{sa}. A Y with a dash on each arm. +% \begin{macrocode} +cmchar "Linear B sign sa"; +beginglyph("s",0.6); +x1=midloc; y1=0; +x3=leftloc; x4=rightloc; y3=y4=h; +z3' = z3 shifted (w*(1,-1)); z4' = z4 shifted (w*(-1,-1)); +z2= whatever[z3,z3'] = whatever[z4,z4']; +z5=0.5[z2,z3]; z6=0.5[z2,z4]; +z5'= z5 shifted (w*(-1,-1)); z6'= z6 shifted (w*(1,-1)); +z7 = whatever[z5,z5']; x7=x3; +z8 = whatever[z6,z6']; x8=x4; +draw z1--z2; % stem +draw z3--z2--z4; % V +draw z5--z7; draw z6--z8; % +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{se} +% The sign \textit{se}. An E rotated 90 degrees on a stem. +% \begin{macrocode} +cmchar "Linear B 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 bit like a cooling tower. +% \begin{macrocode} +cmchar "Linear B sign si"; +beginglyph("Y",0.6); +numeric alpha; alpha:=small; +x1=leftloc; y1=0; x3=x1+alpha; y3=h-alpha; % left leg +x4=rightloc; y4=y1; x6=rightloc-alpha; y6=y3; % right leg +path p[]; +p1 = z1..{up}z3; p2 = z4..{up}z6; % cross bar +z2 = point 2/3 of p1; +z5 = point 2/3 of p2; +x7=x9=midloc; y9=h; y2-y7 = y3-y2; % vertical +draw p1; draw p2; % legs +draw z2--z5; % bar +draw z9--z7; % vertical +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{so} +% The sign \textit{so}. A bit like a backwards ? mark with half a cross +% at the left. \jurgen's version is a kinked stem with a pi rotated 90 +% degrees. However, I don't see that in any example tablets and it is not +% in Robinson~\cite{ROBINSON02}. +% +% \begin{macrocode} +cmchar "Linear B sign so"; +beginglyph("1",0.6); +numeric alpha, beta; +alpha:=medium; +beta:=small; +x5=rightloc-alpha; y5=0; % stem +x8=rightloc; y8=h; +x6=rightloc; y6=y8-2alpha; +x7=x6-alpha; y7=0.5[y6,y8]; +x1=x2=x3=leftloc; % tother part +y2=y7; y1=y2-2alpha; y3=y4=0.5[y1,y2]; +%%x4=x7-alpha; +x4=0.5[x7,x2]; +draw z5---z6{left}..z7..z8; % stem +draw z1--z2; draw z3--z4; % tother +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% +% \begin{verbatim} +% cmchar "Linear B sign so (Jurgen's)"; +% beginglyph("1",0.6); +% numeric alpha; alpha:=small; +% numeric rad; rad:=0.15h; +% numeric gam; gam:=1.5; % the tension +% x3=rightloc; % stem points +% x1=x2=x4=x5=x0=x3-0.75rad; +% y1=0; y5=h; y0=h-rad-alpha; +% y2=y0-rad; y4=y0+rad; y3=y0; +% x6=x7=x8=x9=leftloc; x10=x11=x0-alpha; % [ points +% y9=y5; y8=y11=y4; y7=y10=y2; y7-y6=y9-y8; +% %%draw z1..tension gam..z2..tension gam..z3..tension gam..z4..tension gam..z5; +% %%draw z1---z2..tension gam..z3..tension gam..z4---z5; +% draw z1--z2{up}..z3..{up}z4--z5; +% draw z6--z9; draw z7--z10; draw z8--z11; +% labels(0,1,2,3,4,5,6,7,8,9,10,11); endchar; +% \end{verbatim} +% +% \end{routine} +% +% \begin{routine}{su} +% The sign \textit{su}. Like an angular sloping lowercase E, except that +% \jurgen{} showed it upright without the small vertical dash. +% \begin{verbatim} +% cmchar "Linear B sign su (original)"; +% beginglyph("2",0.6); +% numeric alpha; +% alpha:=small; +% x1=leftloc; x3=x1+alpha; y1=y4=0; y3=y7=h; % rectangle corner points +% x7=rightloc; x4=x7-alpha; +% z2=2/3[z1,z3]; +% z6=2/3[z4,z7]; +% z5=1/3[z4,z7]; +% draw z5--z4--z1--z3--z7--z6--z2; +% labels(1,2,3,4,5,6,7,8,9); endchar; +% \end{verbatim} +% +% \begin{macrocode} +cmchar "Linear B sign su"; +beginglyph("2",0.6); +numeric alpha; +alpha:=small; +x1=leftloc; x3=x1; y1=y4=0; y3=y7=h; % rectangle corner points +x7=rightloc; x4=x7; +z2=2/3[z1,z3]; +z6=2/3[z4,z7]; +z5=1/3[z4,z7]; +draw z4--z1--z3--z7--z6--z2; +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ta} +% The sign \textit{ta}. Bit like a pi lying on its side. +% \begin{macrocode} +cmchar "Linear B sign ta"; +beginglyph("t",0.6); +x1=x3=leftloc; y1=0; y3=h; % left upright +x2=x3+small; y2=h/2; +path p[]; +p1 = z1..z2{up}..z3; +z4= point 0.5 of p1; z7= point 1.5 of p1; +x6=x5=x8=x9=rightloc; +y5=y4-small; y8=y7+small; +y6=y1; y9=y3; +draw p1; % upright +draw z4--z5--z6; % bottom arm +draw z7--z8--z9; % top arm +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{te} +% The sign \textit{te}. Vertical stem with three crossbars. +% \begin{macrocode} +cmchar "Linear B sign te"; +beginglyph("T",0.6); +numeric alpha; alpha:=1/3; +x1=x2=midloc; y1=0; y2=h; % upright +x3=x4=x5=leftloc; x6=x7=x8=x1-alpha; +x9=x10=x11=x1+alpha; x12=x13=x14=rightloc; +y3=y6=y9=y12=alpha*h; +y5=y8=y11=y14=(1-alpha)*h; +y4=y7=y10=y13=0.5[y3,y5]; +draw z1--z2; % stem +draw z3--z6; draw z4--z7; draw z5--z8; % left dashes +draw z9--z12; draw z10--z13; draw z11--z14; % right dashes +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ti} +% The sign \textit{ti}. A dome enclosing a vertical dash. +% \begin{macrocode} +cmchar "Linear B sign ti"; +beginglyph("3",0.6); +numeric alpha; alpha:=0.15h; +numeric beta; beta:=1.5; % for tension +x1=leftloc; x3=rightloc; y1=y3=0; % base points +x2=midloc; y2=h; % top point +x4=x5=x6=midloc; y5=0.5h; +y4=y5-alpha; y6=y5+alpha; +draw z1{up}..tension beta..z2..tension beta..{down}z3; % curve +draw z4--z6; % vertical +labels(1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{to} +% The sign \textit{to}. Like a T but two crossbars. +% \begin{macrocode} +cmchar "Linear B sign to"; +beginglyph("4",0.6); +numeric alpha; alpha:=0.2; +x1=x2=midloc; y1=0; y2=h; % stem +x3=leftloc; x4=rightloc; y3=y4=y2; % top bar +x5=alpha[x3,x4]; x6-x2=x2-x5; y5=y6=0.75h; +draw z1--z2; % stem +draw z3--z4; % top bar +draw z5--z6; % middle bar +labels(1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{tu} +% The sign \textit{tu}. Like a heart with a stalk. \jurgen{} has the stalk +% going down to the point of the heart. +% \begin{macrocode} +cmchar "Linear B sign tu"; +beginglyph("5",0.6); +numeric alpha; alpha:=0.1h; +x1=x5=midloc; y1=0; +x3=leftloc; x7=rightloc; +x4=0.25[x3,x7]; x6=0.75[x3,x7]; +y4=y6=h-alpha; y3=y7=2/3[y1,y4]; +y5=0.5[y3,y4]; +x10=x6; y10=h; +draw z1{up}..z3{up}..z4{right}..z5; % left half +draw z1{up}..z7{up}..z6{left}..z5; % right half +%%draw z5{up}..z10; % stalk (original) +draw z1---z5..z10; % stalk (jurgen) +labels(1,2,3,4,5,6,7,8,9,10); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{wa} +% The sign \textit{wa}. A box on three legs +% \begin{macrocode} +cmchar "Linear B sign wa"; +beginglyph("w",0.6); +x1=x2=x3=leftloc; y1=0; y2=0.67h; y3=h; +x4=x5=midloc; y4=y1; y5=y2; +x6=x7=x8=rightloc; +y6=y1; y7=y2; y8=y3; +draw z2--z3--z8--z7--cycle; % box +draw z1--z2; draw z4--z5; draw z6--z7; % legs +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{we} +% The sign \textit{we}. A reversed `S'. +% \begin{macrocode} +cmchar "Linear B sign we"; +beginglyph("W",0.4); +numeric alpha; alpha:=0.5*(rightloc-leftloc); +x1=x5=leftloc; x6=x4=x2=midloc; x7=x3=rightloc; +y6=0; y5=y7=y6+alpha; y4=h/2; y1=y3=y2-alpha; y2=h; +draw z1..z2..z3..z4..z5..z6..z7; +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{wi} +% The sign \textit{wi}. A bit like a whale's tooth with a cross at the bottom. +% \begin{macrocode} +cmchar "Linear B sign wi"; +beginglyph("6",0.6); +numeric alpha; alpha:=small; +numeric beta; beta:= 0.15; +x1=leftloc; x3=rightloc; x5=x3-alpha; y1=y5=0; y3=h; % curves +path p[]; +p1=z1{up}..z3; p2=z5{up}..z3; +z2= point beta of p1; z4= point beta of p2; +x6=x7=0.5[x1,x5]; y6=y1; y7-y2=y2; +draw p1; draw p2; draw z1--z5; % tooth +draw z2--z4; draw z6--z7; % cross +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{wo} +% The sign \textit{wo}. Bit like pi with a small 3 tacked at the right of the +% crossbar. +% \begin{macrocode} +cmchar "Linear B sign wo"; +beginglyph("7",0.6); +numeric alpha; alpha:=small; +numeric beta; beta:= 0.15; +x1=x3=leftloc; x4=rightloc; x2=0.7[x1,x4]; y1=y4=0; y3=y2=h-alpha; +x10=x11=x12=0.5[x2,x4]; x13=x14=rightloc; % the 3 +y12=h; y11=y2; y11-y10=y12-y11; +y14=0.5[y11,y12]; y13=0.5[y10,y11]; +draw z1--z2; draw z3--z2{down}..z4; % main part +draw z10..z13{up}..{left}z11; % the 3 +draw z12..z14{down}..{left}z11; +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{za} +% The sign \textit{za}. A circle on a stem with a crossbar at the bottom +% of the circle. +% \begin{macrocode} +cmchar "Linear B sign za"; +beginglyph("z",0.8); +numeric alpha; alpha:=0.2*(rightloc-leftloc); +numeric rad; rad:=0.3*(rightloc-leftloc); +x0=midloc; y0=h-rad; % circle center +x1=x2=x5=x0; % mid vertical points +y1=0; y2=y0-rad; y5=y0+rad; +y3=y6=y0; % mid horizontal points +x3=x0-rad; x6=x0+rad; +path p[]; +p1=z2{left}..z3{up}..{right}z5; +p2=z5{right}..z6{down}..{left}z2; +x7=leftloc; y7=y2; x11=rightloc; y11=y7; +p3=z7--z11; +draw p1; draw p2; % circle +draw z1--z2; % stem +draw p3; % horizontal line +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ze} +% The sign \textit{ze}. Looks a bit like a fish hook. +% \begin{macrocode} +cmchar "Linear B sign ze"; +beginglyph("Z",0.6); +numeric rad; rad:=0.5*(rightloc-leftloc); +numeric alpha; alpha:=0.2*(rightloc-leftloc); +numeric beta; +x1=x2=leftloc; y1=h; y2=rad; % the hook +x3=midloc; y3=0; x4=rightloc; y4=y2; +x5=x7=x1; y7=1/8[y2,y1]; y5=3/4[y2,y1]; % the lure +x6=0.25[x2,x4]; y6=0.5[y7,y5]; +x10=x11=x12=x13=0.5[x6,x4]; % and dashes +y10=0.1[y7,y5]; y13=0.9[y7,y5]; +y11=1/3[y10,y13]; y12=2/3[y10,y13]; +beta:=0.5(x4-x6); +draw z1--z2..z3..z4; % hook +draw z5..z6..z7; % lure +draw_hdash(10,beta); draw_hdash(11,beta); +draw_hdash(12,beta); draw_hdash(13,beta); +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,17); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{zo} +% The sign \textit{zo}. An upward arrow with a horizontal dash near the bottom. +% \jurgen{} suggested that the dash be a little shorter. +% \begin{macrocode} +cmchar "Linear B sign zo"; +beginglyph("9",0.6); +x1=x2=midloc; y1=0; y2=h; % stem +x5=leftloc; x6=rightloc; y5=y6=3/4h; +%%x3=leftloc; x4=rightloc; y3=y4=1/4h; % bar (original) +x3=0.2[x5,x6]; x4=0.2[x6,x5]; y3=y4=1/4h; % bar (jurgen) +draw z1--z2; % stem +draw z3--z4; % bar +draw z5--z2--z6; % roof +labels(1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \subsection{Unidentified glyphs} +% +% There are 11 glyphs whose meanings have not yet been identified. +% I will put these at the start of the encoding, where the upper case Greek +% characters (there are 11 of them) normally reside. +% \changes{v1.2}{2005/06/22}{Reordered the unknown glyphs} +% +% \begin{routine}{unkown 1} +% The 1st unknown character. A bit like a stick figure of a man with +% spiky hair. +% \begin{macrocode} +cmchar "Linear B unknown 1"; +beginglyph(oct"035", 0.6); +numeric alpha; alpha:=0.2*(rightloc-leftloc); +numeric rad; rad:=0.3*(rightloc-leftloc); +numeric hair; hair:=0.1h; +x0=midloc; y0=h-rad-hair; % circle center +x1=x2=x5=x0; % mid vertical points +y1=0; y2=y0-rad; y5=y0+rad; +y3=y6=y0; % mid horizontal points +x3=x0-rad; x6=x0+rad; +path p[]; +p1=z5{left}..z3{down}..{right}z2; +p2=z5{right}..z6{down}..{left}z2; +x7=leftloc; y7=y2; x11=rightloc; y11=y7; +p3=z7--z11; +% for the the hair lines +x25=x5; y25=h; +z16= point 1/3 of p1; z17= point 1/3 of p2; +z26'=z16 shifted (w*(-1,2)); z27'=z17 shifted (w*(1,2)); +y26=y27=h; +z26=whatever[z16,z26']; z27=whatever[z17,z27']; +draw p1; draw p2; % circle +draw z1--z2; % stem +draw p3; % horizontal line +draw z16--z26; draw z5--z25; draw z17--z27; % hairs +labels(1,2,3,4,5,6,15,16,17,25,26,27); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{unknown 2} +% The 2nd unknown character. A bit like a chess pawn. +% \begin{macrocode} +cmchar "Linear B unknown 2"; +beginglyph(oct"036", 0.6); +numeric alpha; alpha:=0.2*(rightloc-leftloc); +x1=leftloc; x2=rightloc; y1=y2=0; % base points +x3=leftloc; x4=midloc; x5=rightloc; y3=y4=y5=h/2; % middle points +x8=x4;y8=h; % top point +x6=leftloc+alpha; x7=rightloc-alpha; y6=y7=0.5[y4,y8]; +draw z1--z2--z4--cycle; % bottom triangle +draw z3--z5; % horizontal bar +draw z4{left}..z6{up}..z8{right}..z7{down}..cycle; % head +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{unknown 3} +% The 3rd unknown character, like a T with a wavy top bar. +% \begin{macrocode} +cmchar "Linear B unknown 3"; +beginglyph(oct"037", 0.8); +numeric alpha; alpha:=0.2h; +x3=leftloc; x4=rightloc; x1=x2=2/3[x3,x4]; +y1=0; y3=y2=y4=h-alpha; +x6=0.5[x3,x2]; y6=h; +x7=0.5[x2,x4]; y7=h; +draw z1--z2; % stem +draw z3..z6{right}..z2; % left bar +draw z2..z7{right}..z4; % right bar +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{unknown 4} +% The 4th unknown character. A bow with a circle. +% \begin{macrocode} +cmchar "Linear B unknown 4"; +beginglyph(oct"040", 0.6); +numeric rad; rad:=1/3*(rightloc-leftloc); +x1=rightloc; y1=0; +x3=rightloc; y3=h; +x2=leftloc+rad; y2=0.5[y1,y3]; +draw z1..z2{up}..z3; +draw fullcircle scaled (2rad) shifted z2; +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{unknown 5} +% Suggested by \jurgen. A mirror image of the bow with circle. +% \begin{macrocode} +cmchar "Linear B unknown 5"; +beginglyph(oct"041", 0.6); +numeric rad; rad:=1/3*(rightloc-leftloc); +x1=leftloc; y1=0; +x3=leftloc; y3=h; +x2=rightloc-rad; y2=0.5[y1,y3]; +draw z1..z2{up}..z3; +draw fullcircle scaled (2rad) shifted z2; +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{unknown 6} +% The 6th unknown character. Two intersecting curves with a square +% around the intersection. +% \begin{macrocode} +cmchar "Linear B unknown 6"; +beginglyph(oct"042", 0.6); +numeric alpha; +x1=x4=leftloc; x3=x2=rightloc; y1=y3=0; y2=y4=h; % leg points +path p[]; +p1=z1{up}..z2; p2=z3{up}..z4; +z0 = p1 intersectionpoint p2; +%%alpha:=0.5*(x0-x4); +alpha:=0.75*(x0-x4); +x5=x0-alpha; x7=x0+alpha; y5=y7=y0; +x6=x8=x0; y8=y0-alpha; y6=y0+alpha; +draw p1; draw p2; % the legs +draw z5--z6--z7--z8--cycle; % the square +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{unknown 7} +% The 7th unknown character. Like a sketch of a bird, and three legs. +% \begin{macrocode} +cmchar "Linear B unknown 7"; +beginglyph(oct"043", 0.8); +numeric alpha; alpha:=0.1h; +numeric beta; beta:=0.1; +numeric gamma; gamma:=0.15*(rightloc-leftloc); +x1=leftloc; x5=rightloc; y1=y5=(h-alpha); % bird wings +x3=0.5[x1,x5]; y3=y1; +x2=0.5[x1,x3]; x4=0.5[x3,x5]; y2=y4=h; +x12=x2; y12=y2; x15=x3; y15=y3; x18=x4; y18=y4; % top of legs +x10=leftloc+0.5gamma; x13=midloc; x16=rightloc-0.5gamma; % bottom of legs +y10=y13=y16=0; +z11=beta[z10,z12]; z14=beta[z13,z15]; z17=beta[z16,z18]; % dash points +draw z1..z2..z3; draw z3..z4..z5; % wings +draw z10--z12; draw z13--z15; draw z16--z18; % legs +draw_hdash(10,gamma); draw_hdash(11,gamma); % dashes +draw_hdash(13,gamma); draw_hdash(14,gamma); +draw_hdash(16,gamma); draw_hdash(17,gamma); +labels(1,2,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{unknown 8} +% The 8th unknown character. A bit like castle battlements. +% \begin{macrocode} +cmchar "Linear B unknown 8"; +beginglyph(oct"044", 1.0); +numeric alpha; alpha:=0.1h; +numeric beta,gamma; +x1=x2=x3=leftloc; y1=0; y3=h; y2=(h-alpha); % left upright +x14=rightloc; y14=h; % rightmost point +x9=x11=x12=4/5[x1,x14]; y9=y1; y11=(y2-2alpha); y12=y2; % right upright +x13=0.5[x12,x14]; y13=y14; +x4=x6=x7=x8=0.5[x1,x9]; y4=y1; y6=y11; y7=y2; y8=y3; % middle upright +x5=0.75[x1,x4]; x10=0.75[x4,x9]; y5=y10=0.25[y9,y11]; % dashes +beta:=0.5*(x4-x1); % dash length +gamma:=0.55; % zigzag overlap +x2'=gamma[x2,x6]; y2'=y2; x6'=gamma[x6,x2]; y6'=y6; +x7'=gamma[x7,x11]; y7'=y7; x11'=gamma[x11,x7]; y11'=y11; +draw z1--z9; % base line +draw z1--z3; draw z4--z8; % uprights +draw z9--z12{up}..{right}z13--z14; +draw_hdash(5,beta); draw_hdash(10,beta); % dashes +draw z2---z2'{right}..{right}z6'---z6; % left zigzag +draw z7---z7'{right}..{right}z11'---z11; % right zigzag +labels(1,2,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{unknown 9} +% The 9th unknown character. Like a paramecium. +% \begin{macrocode} +cmchar "Linear B unknown 9"; +beginglyph(oct"045", 0.8); +numeric majrad,minrad; % major and minor ellipse radii +numeric alpha; +numeric beta,gamma; +x0=0.5[leftloc,rightloc]; y0=h/2; % center of ellipse +majrad:=0.5*(rightloc-leftloc); minrad:=0.5majrad; +z1=z0 shifted (majrad*NW); z3=z0 shifted (majrad*SE); % ellipse points +z2=z0 shifted (minrad*NE); z4=z0 shifted (minrad*SW); +path p[]; +p1=z1..z2..z3..z4..cycle; +alpha:=0.4minrad; +z1'=z1 shifted (alpha*NW); z3'=z3 shifted (alpha*SE); % expanded ellipse points +z2'=z2 shifted (alpha*NE); z4'=z4 shifted (alpha*SW); +p2= z1'..z2'..z3'..z4'..cycle; +p3= z1'..z4'..z3'..z2'..cycle; +gamma:=0.15; % half the dash skip +z14=point (1-3gamma) of p2; z24=point (1-3gamma) of p3; +z15=point (1-gamma) of p2; z25=point (1-gamma) of p3; +z16=point (1+gamma) of p2; z26=point (1+gamma) of p3; +z17=point (1+3gamma) of p2; z27=point (1+3gamma) of p3; +beta:=0.5tiny; +z14''= z14 shifted (beta*SE); z14'=z14 shifted (beta*NW); +z24''= z24 shifted (beta*SE); z24'=z24 shifted (beta*NW); +z15''= z15 shifted (beta*SE); z15'=z15 shifted (beta*NW); +z25''= z25 shifted (beta*SE); z25'=z25 shifted (beta*NW); +z16''= z16 shifted (beta*SE); z16'=z16 shifted (beta*NW); +z26''= z26 shifted (beta*SE); z26'=z26 shifted (beta*NW); +z17''= z17 shifted (beta*SE); z17'=z17 shifted (beta*NW); +z27''= z27 shifted (beta*SE); z27'=z27 shifted (beta*NW); +draw p1; % the ellipse +draw z14'--z14''; draw z24'--z24''; % the dashes +draw z15'--z15''; draw z25'--z25''; +draw z16'--z16''; draw z26'--z26''; +draw z17'--z17''; draw z27'--z27''; +labels(0,1,1',2,2',3,3',4,4',5,6,7,8,10,11,12,13,14,15,16,17,24,25,26,27); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{unknown 10} +% The 10th unknown character. Like a dome with a weathervane on top. +% \jurgen{} changes the weather vane to a line with curls at each end. +% \begin{verbatim} +% cmchar "Linear B unknown 10 (original)"; +% beginglyph(oct"046", 0.8); +% x1=leftloc; x7=rightloc; y1=y7=0; % outside base points +% x4=midloc; y4=2/3h; +% z8=0.15[z1,z7]; z9=0.85[z1,z7]; +% x3=x8; x5=x9; y3=y5=y4-small; +% x10=x4; y10=2/3[y4,h]; % weathervane +% x11=x8; x12=x9; y11=y12=y10; +% z15=0.75[z10,z12]; +% numeric beta; beta:=(h-y10); +% z13=z11 shifted (beta*SE); z14=z11 shifted (beta*NE); % arrow +% draw z1{up}..z3..z4{right}..z5..{down}z7; % dome +% draw z8--z3; draw z9--z5; +% draw z4--z10; % weathervane support +% draw z11--z12; % arrow shaft +% draw z13--z11--z14; % arrow head +% draw_vdash(15,2beta); draw_vdash(12,2beta); % feathers +% labels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,24,25,26,27); endchar; +% \end{verbatim} +% +% \begin{macrocode} +cmchar "Linear B unknown 10"; +beginglyph(oct"046", 0.8); +numeric rad; rad:=1/16h; +x1=leftloc; x7=rightloc; y1=y7=0; % dome outside base points +x4=midloc; y4=h-6rad; % center top +z8=0.15[z1,z7]; z9=0.85[z1,z7]; % internal uprights +x3=x8; x5=x9; y3=y5=y4-small; +x22=x4; y22=h-2rad; % stem +x24=x26=x8; y24=y22+rad; y26=y22-rad; % left curls +x23=x25=x27=x24+rad; y23=y24+rad; y25=y22; y27=y26-rad; +z13=z23 reflectedabout (z4,z22); % right curls +z14=z24 reflectedabout (z4,z22); +z15=z25 reflectedabout (z4,z22); +z16=z26 reflectedabout (z4,z22); +z17=z27 reflectedabout (z4,z22); +draw z1{up}..z3..z4{right}..z5..{down}z7; % dome +draw z8--z3; draw z9--z5; % internal uprights +draw z4--z22; % stem +draw z25--z15; % crossbar +draw z23..z24..z25; draw z25..z26..z27; % left curls +draw z13..z14..z15; draw z15..z16..z17; % right curls +labels(1,2,3,4,5,6,7,8,9,13,14,15,16,17,22,23,24,25,26,27); endchar; + + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{unknown 11} +% The 11th unknown character. Like a scythe. +% \begin{macrocode} +cmchar "Linear B unknown 11"; +beginglyph(oct"047", 0.8); +x1=x5=x2=leftloc; y1=0; y2=h; y5= 0.2h; % vertical handle +x7=rightloc; y7-y5 = y5-y1; % rightmost point +x4=0.9[x1,x7]; y7-y4=0.5(y5-y1); +x3=x6=0.5[x1,x7]; y3-y1 = 0.25(y4-y1); y6-y3=y5-y1; +draw z1--z2; % handle +draw z1{right}..z3..z4; draw z4--z7; % the blade +draw z5{right}..z6..z7; +draw z3--z6; +labels(1,2,3,4,5,6,7); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{unknown 12} +% The last unknown character. Like a capital letter B. \jurgen{} suggested +% that it should be narrower, and also said that it was the \textit{twe} sign. +% \begin{macrocode} +cmchar "Linear B unknown 12 (or twe)"; +beginglyph(oct"177", 0.35); +numeric beta; beta:=2.0; % tension +x1=x3=leftloc; y1=0; y3=h; z2=0.5[z1,z3]; % upright +x4=x5=rightloc; +y4=0.5[y1,y2]; +y5=0.5[y2,y3]; +draw z1--z3; +%%draw z1..tension beta..z4..tension beta..z2; % lower bowl +%%draw z2..tension beta..z5..tension beta..z3; % lower bowl +%%draw z1{right}..z4..{left}z2; +%%draw z2{right}..z5..{left}z3; +draw z1{(2,1)}..z4..{(-2,1)}z2; +draw z2{(2,1)}..z5..{(-2,1)}z3; +labels(1,2,3,4,5,6,7); endchar; + +% \end{macrocode} +% \end{routine} +% +% \subsection{The optional signs} +% +% There are 16 optional signs. There is also 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 "Linear B 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 "Linear B 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 "Linear B 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} +% +% \begin{routine}{a2} +% Optional character \textit{a2}. Like a T with two loops under the crossbar. +% \begin{macrocode} +cmchar "Linear B optional sign a2"; +beginglyph(oct"073",0.8); +x1=x2=midloc; y1=0; y2=h; % upright +x3=leftloc; x4=rightloc; y3=y4=y2; % crossbar +x5=0.1[x3,x2]; x7=0.6[x3,x2]; y5=y7=y2-tiny; % left loop +x6=0.5[x5,x7]; y6=y5-small; +z8=z7 reflectedabout (z1,z2); +z9=z6 reflectedabout (z1,z2); +z10=z5 reflectedabout (z1,z2); +draw z1--z2; draw z3--z4; % stem and crossbar +draw z5..z6..z7; % loops +draw z8..z9..z10; +labels(1,2,3,4,5,6,7,8,9,10); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{a3} +% Optional character \textit{a3}. Like a crown on bowed legs. +% \begin{macrocode} +cmchar "Linear B optional sign a3"; +beginglyph(oct"074",0.8); +x5=leftloc; x10=rightloc; y5=y10=h; % top left & right +x4=0.1[x5,x10]; x9=0.9[x5,x10]; y4=y9=0.75h; % ends of crossbar +z11=1/3[z4,z9]; z13=2/3[z4,z9]; % vertical dashes +x11=x12; y12=y5; x14=x13; y14=y12; +z3=0.5[z4,z11]; x2=leftloc; y2=0.5[y1,y3]; % left leg +x1=0.5[x2,x3]; y1=0; +z8=0.5[z13,z9]; x7=rightloc; y7=y2; % right leg +x6=0.5[x8,x7]; y6=0; +x15=x16=midloc; y15=y2; y16=0.5[y15,y4]; % central dash +draw z1..z2{up}..z3; draw z6..z7{up}..z8; % legs +draw z4--z9; draw z11--z12; draw z13--z14; % crown +draw z4{up}..z5; draw z9{up}..z10; +draw z15--z16; % central dash +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{au} +% Optional character \textit{au}. Like an antelope's head. +% \begin{macrocode} +cmchar "Linear B optional sign au"; +beginglyph(oct"075",0.8); +numeric alpha; alpha:=0.1h; +x1=x2=x3=leftloc+alpha; y1=0; y2=0.33h; y3=h-3alpha; % neck +x5=leftloc; y5=h-small; % bottom of ear +x4=0.5[x5,x3]; y4=0.5[y5,y3] - tiny; +x6=x5+small; y6=h; % top of ear +x8-x6=x3-x5; y6-y8=y5-y3; +x7=0.5[x8,x6]; y7=0.5[y8,y6] + tiny; +x9=x10=rightloc; y10=1/3[y2,y8]; y9=2/3[y2,y8]; % head +x12=x8; y12=y3; x11=0.3[x8,x9]; y11=0.5[y10,y9]; % eye +draw z1--z3; % neck +draw z3..z4..{up}z5; % ear +draw z6{right}..z7..z8; +draw z8--z9--z10--z2; % head +draw z11--z12; % eye +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{dwe} +% Optional character \textit{dwe}. A man with outstretched arms. +% \begin{macrocode} +cmchar "Linear B optional sign dwe"; +beginglyph(oct"076",0.8); +numeric rad; rad:=1/6h; +numeric alpha; alpha:=0.1h; +x1=leftloc; x4=rightloc; x2=x1+rad; x3=x4-rad; % arms +y2=y3=1/3h; y1=y4=y2+rad; +x0=midloc; y0=h-rad; % center of head +x5=x0-1/2rad; x7=x0+1/2rad; % body +y5=y7=0; +x0'=x0-rad; x0''=x0; x0'''=x0+rad; +y0'=y0'''=y0; y0''=y0-rad; +path p; +p=z0'{down}..z0''{right}..{up}z0'''; +z5'=z5 shifted (h*up); z7'=z7 shifted (h*up); +z6= (z5--z5') intersectionpoint p; +z8= (z7--z7') intersectionpoint p; +draw fullcircle scaled (2rad) shifted z0; % head +draw z6--z5--z7--z8; % body +draw z1{right}..{down}z2--z3{up}..{right}z4; % arms +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{dwo} +% Optional character \textit{dwo}. Two curved posts with dashes between at the +% top. \jurgen{} suggested that the posts be tapered with two 3 between them. +% \begin{verbatim} +% cmchar "Linear B optional sign dwo (original)"; +% beginglyph(oct"077",1.0); +% numeric beta; beta:=0.15h; % dash length +% numeric alpha; alpha:=(rightloc-leftloc); +% x1=leftloc; x9=rightloc; y1=y9=0; % extreme base points +% x4=x1+0.4alpha; x6=x9-0.4alpha; y4=y6=0; % inner base points +% x3=0.5[x1,x4]; x5=x4; x8=0.5[x6,x9]; x10=x9; y3=y5=y8=y10=(h - 1.5beta); +% x21=x22=1/3[x5,x8]; x23=x24=2/3[x5,x8]; +% y22=y24=h-0.5beta; y21=y23=y22-2beta; +% draw z1..{up}z3--z5--z4; % left half +% draw z6..{up}z8--z10--z9; % right half +% draw_vdash(21,beta); draw_vdash(22,beta); % dashes +% draw_vdash(23,beta); draw_vdash(24,beta); +% labels(1,2,3,4,5,6,7,8,9,10,21,22,23,24); endchar; +% \end{verbatim} +% +% \begin{macrocode} +cmchar "Linear B optional sign dwo"; +beginglyph(oct"077",1.1); +numeric alpha; alpha:=(rightloc-leftloc); +numeric beta; beta:=0.2alpha; % dash length +numeric gap; gap:=3/2tiny; +x0=x0'=midloc; y0=0; y0'=h; % axis of symmetry +x1=leftloc; x3=x0-0.5gap; y1=y3=0; % left base points +x2=0.5[x1,x3]; y2=0.9h; % top point +x4=x1+gap; x5=x3-gap; y4=y5=0; % base line +%%x9=x10=0.5[x5,x3]; x6=x7=x8=0.5[(x2+0.5beta),x9]; % points for the 3 +x9=x10=x3; x6=x7=x8=0.5[(x2+0.5beta),x9]; % points for the 3 +y6=h; y7=y2; y7-y8=y6-y7; +y10=0.5[y6,y7]; y9=0.5[y7,y8]; +z11=z1 reflectedabout (z0,z0'); % the symmetric right hand side +z12=z2 reflectedabout (z0,z0'); +z13=z3 reflectedabout (z0,z0'); +z14=z4 reflectedabout (z0,z0'); +z15=z5 reflectedabout (z0,z0'); +z16=z6 reflectedabout (z0,z0'); +z17=z7 reflectedabout (z0,z0'); +z18=z8 reflectedabout (z0,z0'); +z19=z9 reflectedabout (z0,z0'); +z20=z10 reflectedabout (z0,z0'); +draw z1--z2--z3; draw z4--z5; % triangle +draw_hdash(2,beta); % dash at the top +draw z6..z10..z7; % 3 +draw z7..z9..z8; +draw z11--z12--z13; draw z14--z15; % and for the RHS +draw_hdash(12,beta); +draw z16..z20..z17; +draw z17..z19..z18; +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{nwa} +% Optional character \textit{nwa}. Two rakes with crossed curved handles. +% \begin{macrocode} +cmchar "Linear B optional sign nwa"; +beginglyph(oct"100",1.0); +numeric beta; beta:=0.15h; % dash length +numeric alpha; alpha:=0.5beta; +x1=x11=leftloc; x6=x16=rightloc; y1=y6=h-beta; % extreme points +z3=0.4[z1,z6]; z4=0.6[z1,z6]; +z2=0.5[z1,z3]; z5=0.5[z4,z6]; +x7=x2; x8=x5; y7=y8=0; % base points +x21=x1; x22=x2; x23=x3; x24=x4; x25=x5; x26=x6; +y21=y22=y23=y24=y25=y26=h-alpha; +draw z7{up}..z5; draw z8{up}..z2; % legs +draw z1--z3; draw z4--z6; % +draw_vdash(21,beta); draw_vdash(22,beta); draw_vdash(23,beta); +draw_vdash(24,beta); draw_vdash(25,beta); draw_vdash(26,beta); +labels(1,2,3,4,5,6,7,8,9,10,21,22,23,24,25,26); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{pa3} +% Optional character \textit{pa3}. A ladder with three rungs. +% \begin{macrocode} +cmchar "Linear B optional sign pa3"; +beginglyph(oct"133",0.6); +x1=x2=leftloc; x3=x4=rightloc; y1=y3=0; y2=y4=h; % corner points +z11=0.25[z1,z2]; z12=0.5[z1,z2]; z13=0.75[z1,z2]; % left +z21=0.25[z3,z4]; z22=0.5[z3,z4]; z23=0.75[z3,z4]; % right +draw z1--z2; draw z3--z4; % uprights +draw z11--z21; draw z12--z22; draw z13--z23; % crossbars +labels(1,2,3,4,5,6,7,8,9,10,21,22,23,24,25,26); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{pu2} +% Optional character \textit{pu2}. +% \begin{macrocode} +cmchar "Linear B optional sign pu2"; +beginglyph(oct"134",0.8); +numeric alpha; alpha:=small; % length of dashes +x1=leftloc; x2=rightloc; y1=y2=0.6h; % crossbar +x3=x4=x5=midloc; y3=0; y4=y1; y5=h; % upright +x11=0.5[x1,x4]; x21=0.5[x4,x2]; y11=y21=y4; % base of spikes +x14=x1; x24=x2; y14=y24=y5; % top of spikes +z12=1/3[z11,z14]; z13=2/3[z11,z14]; % left dash centers +z22=1/3[z21,z24]; z23=2/3[z21,z24]; % right dash centers +z32=1/3[z4,z5]; z33=2/3[z4,z5]; % middle dash centers +draw z3--z5; draw z1--z2; % upright and crossbar +draw z11--z14; draw z21--z24; % angled stems +draw_hdash(32,alpha); draw_hdash(33,alpha); % middle dashes +draw_hdash(12,alpha); draw_hdash(13,alpha); % left dashes +draw_hdash(22,alpha); draw_hdash(23,alpha); % right dashes +labels(1,2,3,4,5,6,7,8,9,10,21,22,23,24,25,26); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{pte} +% Optional character \textit{pte}. A box with a sunken top. +% \begin{macrocode} +cmchar "Linear B optional sign pte"; +beginglyph(oct"135",0.8); +numeric rad; rad:=small; % radius +x1=x2=leftloc; x3=x4=rightloc; y1=y3=0; y2=y4=h; % straight exterior +x13=x14=0.2[x2,x4]; x19=x20=0.8[x2,x4]; +x11=x13-rad; x22=x20+rad; y11=y22=h; +y13=y20=y11-rad; +x16=x14+rad; x17=x19-rad; y16=y17=0.6h; +y14=y19=y16+rad; +draw z2--z1--z3--z4; % straight exterior +draw z2--z11{right}..{down}z13--z14{down}..{right}z16--z17{right}..{up}z19 + --z20{up}..{right}z22--z4; % top dish +labels(1,2,3,4,11,12,13,14,15,16,17,18,19,20,21,22); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ra2} +% Optional character \textit{ra2}, like two lightning flashes. +% \begin{macrocode} +cmchar "Linear B optional sign ra2"; +beginglyph(oct"136",0.6); +numeric rad; % radius +numeric alpha; alpha:=(rightloc-leftloc); +numeric beta, eta; +rad:=0.1alpha; +x1=x5=x6=leftloc; y1=0; y6=h; % left stroke leftmost points +x12=rightloc; y12=h-2rad-rad; % right stroke rightmost point +y13=y14=y12+rad; y15=y14+rad; y16=h; % other right stroke points +x13=x12-rad; +x11=x16=x15=1/4[x1,x12]; y11=0; % right stroke leftmost points +x14=x15+rad; +y6-y5=2*(y16-y15) + tiny; % left stroke y coords +y4=y3=y5-rad; y2=y3-rad; +z2-z1=whatever*(z12-z11); % left and right strokes are parallel +x4=x5+rad; x3=x2-rad; +draw z1---z2..z3..z4..z5---z6; % left stroke +draw z11---z12..z13..z14..z15---z16; % right stroke +labels(1,2,3,4,5,6,11,12,13,14,15,16); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ra3} +% Optional character \textit{ra3}. +% \begin{macrocode} +cmchar "Linear B optional sign ra3"; +beginglyph(oct"137",0.8); +numeric alpha; alpha:=0.15*(rightloc-leftloc); % dash length +numeric beta; beta:=tiny; % small arc center offset +x1=leftloc; x6=rightloc; y1=y6=h; % top boundary points +x7=x8=midloc; y7=0; y8=0.6h; % stem +x3=x1+alpha; x4=x6-alpha; y3=y4=y1; % inner ends of top dashes +z2=0.5[z1,z3]; z5=0.5[z4,z6]; % dash midpoints +path p[]; +p1=z2{down}..z8{right}..{up}z5; % bowl +p2=z5{down}..z8{left}..{up}z2; +z11=point 0.3 of p1; z21=point 0.3 of p2; % end points of the small arcs +z13=point 0.7 of p1; z23=point 0.7 of p2; +z12'=0.5[z11,z13]; z22'=0.5[z21,z23]; +z12=z12' shifted (beta*(1,1)); z22=z22' shifted (beta*(-1,1)); +x31=x32=x33=x7-2alpha; % left stem dash centers +y31=1/4[y7,y8]; y32=1/2[y7,y8]; y33=3/4[y7,y8]; +z41=z31 reflectedabout (z7,z8); % right stem dash centers +z42=z32 reflectedabout (z7,z8); +z43=z33 reflectedabout (z7,z8); +draw p1; draw z1--z3; draw z4--z6; % bowl and top +draw z11..z12..z13; draw z21..z22..z23; % small arcs +draw z7--z8; % stem +draw_hdash(31,alpha); draw_hdash(32,alpha); draw_hdash(33,alpha); +draw_hdash(41,alpha); draw_hdash(42,alpha); draw_hdash(43,alpha); +labels(1,2,3,4,5,6,7,8,11,12,13,21,22,23,31,32,33,41,42,43); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ro2} +% Optional character \textit{ro2}. A deep dish with a cross. +% \jurgen's version is like a cherry with a cross on the long stalk. +% \begin{verbatim} +% cmchar "Linear B optional sign ro2 (original)"; +% beginglyph(oct"140",0.8); +% numeric rad; % radius +% numeric beta; +% x1=x3=midloc; y1=0; y3=h; % axis of symmetry +% x2=leftloc; x4=rightloc; y2=y4=0.8h; % extreme bowl points +% rad:=(x4-x2)/8; +% x11=x2+rad; y11=y2; % finish off left points +% x13=x11+rad; y13=y11-rad; +% x14=x13; y14=rad; +% x16=x14+rad; y16=0; +% z17=z16 reflectedabout (z1,z3); % and right points +% z19=z14 reflectedabout (z1,z3); +% z20=z13 reflectedabout (z1,z3); +% z22=z11 reflectedabout (z1,z3); +% x31=x32=midloc; y32=h; y31=0.3h; % vertical +% x33=x31; y33=0.5[y2,y32]; +% beta:=0.5(x20-x13); +% draw z2--z11{right}..{down}z13--z14{down}..{right}z16--z17{right}..{up}z19 +% --z20{up}..{right}z22--z4; % dish +% draw z31--z32; % vertical +% draw_hdash(33,beta); % crossbar +% labels(1,2,3,4,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33); endchar; +% \end{verbatim} +% +% \begin{macrocode} +cmchar "Linear B optional sign ro2"; +beginglyph(oct"140",0.6); +numeric gap; gap=tiny; +numeric alpha; alpha:=(rightloc-leftloc); +numeric beta, eta; +rad:=0.1alpha; +x1=x2=midloc; y1=h; y2=0; % middle points +x5=x2-gap; y5=h/2; % curve points +x3=leftloc; y3=0.75[y2,y5]; +x4=0.3[x3,x5]; y4=y5; +x6=x1; y6=y5+3/2gap; +z13=z3 reflectedabout (z2,z1); +z14=z4 reflectedabout (z2,z1); +z15=z5 reflectedabout (z2,z1); +draw z1--z2; % vertical +draw_hdash(6,4gap); % crossbar +draw z5---z4..z3..z2..z13..z14---z15; % curve +labels(1,2,3,4,5,6,11,12,13,14,15,16); endchar; + + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{swa} +% Optional character \textit{swa}. +% \begin{macrocode} +cmchar "Linear B optional sign swa"; +beginglyph(oct"173",0.6); +numeric beta; beta:=2; % tension value +numeric eta; eta:=small; % dash size +x1=leftloc; x1'=rightloc; y1=y1'=h/2; % axis of symmetry +x2=leftloc; y2=0; +x3=leftloc; y3=h/5; +x5=0.75[x1,x1']; y5=y3; +x7=0.875[x1,x5]; y7=y1; +z12=z2 reflectedabout (z1,z1'); +z13=z3 reflectedabout (z1,z1'); +z15=z5 reflectedabout (z1,z1'); +z21=1/3[z1,z7]; z22=2/3[z1,z7]; +y23=y5+0.5eta; x23=rightloc; +z24=z23 reflectedabout (z1,z1'); +draw z2..tension beta..z3..tension beta..z5..tension 0.5beta..z7 + ..tension 0.5beta..z15..tension beta..z13..tension beta..z12; +draw_vdash(21,eta); draw_vdash(22,eta); +draw_vdash(23,eta); draw_vdash(24,eta); +labels(1,2,3,4,5,6,7,8,12,13,14,15,16,17,18,21,22,23,24); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{swi} +% Optional character \textit{swi}. An X inside brackets. +% \begin{macrocode} +cmchar "Linear B optional sign swi"; +beginglyph(oct"174",0.8); +numeric beta, eta, wid; +wid:=(rightloc-leftloc); +x0=x0'=midloc; y0=0; y0'=h; % axis of symmetry +x1=x2=leftloc; y1=0; y2=h; % left bracket +x3=x4=x1+0.1wid; y3=y1; y4=y2; +x5=x7=x0-0.3wid; y5=0.3h; y7=0.7h; % left of bars +x6=x8=0.2[x5,x0]; y6=y5; y8=y7; % left of X +z21=z1 reflectedabout (z0,z0'); % the right half points +z22=z2 reflectedabout (z0,z0'); +z23=z3 reflectedabout (z0,z0'); +z24=z4 reflectedabout (z0,z0'); +z25=z5 reflectedabout (z0,z0'); +z26=z6 reflectedabout (z0,z0'); +z27=z7 reflectedabout (z0,z0'); +z28=z8 reflectedabout (z0,z0'); +draw z3--z1--z2--z4; draw z23--z21--z22--z24; % brackets +draw z5--z25; draw z7--z27; % bars +draw z26--z8; draw z6--z28; % the X +labels(1,2,3,4,5,6,7,8,21,22,23,24,25,26,27,28); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ta2} +% Optional character \textit{ta2}. +% \begin{macrocode} +cmchar "Linear B optional sign ta2"; +beginglyph(oct"175",0.8); +numeric beta, eta, wid; +wid:=(rightloc-leftloc); +eta:= 1/7h; % dash length and vertical space +beta:= 0.2wid; % dash horizontal seperation +x0=x0'=midloc; y0=0; y0'=h; % axis of symmetry +x1=leftloc; x2=rightloc; y1=y2=h; % top +x3=1/4[x1,x2]; y3=0; % bottom left +z4=z3 reflectedabout (z0,z0'); % bottom right +x11=x0; y11=3/2eta; % bottom dash +x12=x0-1/2beta; y12=y11+2eta; % middle dashes +z13=z12 reflectedabout (z0,z0'); +x15=x0; y15=y12+2eta; % top dashes +x14=x15-beta; y14=y15; +z16=z14 reflectedabout (z0,z0'); +draw z1--z2; % top +draw z3{up}..z1; draw z4{up}..z2; % sides +draw_vdash(11,eta); % dashes +draw_vdash(12,eta); draw_vdash(13,eta); +draw_vdash(14,eta); draw_vdash(15,eta); draw_vdash(16,eta); +labels(1,2,3,4,5,6,7,8,11,12,13,14,15,16); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{two} +% Optional character \textit{two}. A bit like a bird house. +% \begin{macrocode} +cmchar "Linear B optional sign two"; +beginglyph(oct"176",0.8); +numeric beta, eta, wid; +wid:=(rightloc-leftloc); +eta:= 0.2wid; % dash length and vertical space +x0=x0'=midloc; y0=0; y0'=h; % axis of symmetry +x1=leftloc; x2=midloc; y1=2/3h; y2=h; % the roof +z3=z1 reflectedabout (z0,z0'); +z4=0.2[z1,z2]; % top of sides +z5=z4 reflectedabout (z0,z0'); +x6=0.4[x1,x3]; y6=0; % bottom of sides +z7=z6 reflectedabout (z0,z0'); +x8=0.5[x6,x7]; y8=(x0-x6); % top of base +x11=x12=x0; y11=y4-1/2eta; y12=y11+eta; % dash centers +draw z1--z2--z3; % roof +draw z6{up}..z4; draw z7{up}..z5; % sides +draw z6..z8..z7; % base +draw_hdash(11,eta); draw_hdash(12,eta); % dashes +labels(1,2,3,4,5,6,7,8,11,12,13,14,15,16); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% +% \subsection{The numerals} +% +% There are different signs for digits, tens, hundreds, and one thousand. +% That is, 28 characters. I will put these into the positions normally +% occupied by the lower case Greek letters and variants. +% \changes{v1.2}{2005/06/22}{Rordered the numerals} +% +% +% The digits are composed of vertical dashes. +% \begin{routine}{9} +% The numeral \textit{9}. +% \begin{macrocode} +cmchar "Linear B numeral sign 9"; +beginglyph(oct"011",4digwd); +numeric alpha; alpha:=digsz*h; +x1=x6=leftloc; y1=y2=y3=y4=y5=(1-digsz/2)*h; +x5=rightloc; y6=y7=y8=y9=(digsz/2)*h; +x2=x7=1/4[leftloc,rightloc]; +x3=x8=1/2[leftloc,rightloc]; +x4=x9=3/4[leftloc,rightloc]; +% top row +draw_vdash(1,alpha); +draw_vdash(2,alpha); +draw_vdash(3,alpha); +draw_vdash(4,alpha); +draw_vdash(5,alpha); +% bottom row +draw_vdash(6,alpha); +draw_vdash(7,alpha); +draw_vdash(8,alpha); +draw_vdash(9,alpha); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{8} +% The numeral \textit{8}. +% \begin{macrocode} +cmchar "Linear B numeral sign 8"; +beginglyph(oct"010",3digwd); +numeric alpha; alpha:=digsz*h; +x1=x6=leftloc; y1=y2=y3=y4=y5=(1-digsz/2)*h; +x5=rightloc; y6=y7=y8=y9=(digsz/2)*h; +x2=x7=1/3[leftloc,rightloc]; +x3=x8=2/3[leftloc,rightloc]; +x4=x9=rightloc; +% top row +draw_vdash(1,alpha); +draw_vdash(2,alpha); +draw_vdash(3,alpha); +draw_vdash(4,alpha); +% bottom row +draw_vdash(6,alpha); +draw_vdash(7,alpha); +draw_vdash(8,alpha); +draw_vdash(9,alpha); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{7} +% The numeral \textit{7}. +% \begin{macrocode} +cmchar "Linear B numeral sign 7"; +beginglyph(oct"007",3digwd); +numeric alpha; alpha:=digsz*h; +x1=x6=leftloc; y1=y2=y3=y4=y5=(1-digsz/2)*h; +x5=rightloc; y6=y7=y8=y9=(digsz/2)*h; +x2=x7=1/3[leftloc,rightloc]; +x3=x8=2/3[leftloc,rightloc]; +x4=x9=rightloc; +% top row +draw_vdash(1,alpha); +draw_vdash(2,alpha); +draw_vdash(3,alpha); +draw_vdash(4,alpha); +% bottom row +draw_vdash(6,alpha); +draw_vdash(7,alpha); +draw_vdash(8,alpha); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{6} +% The numeral \textit{6}. +% \begin{macrocode} +cmchar "Linear B numeral sign 6"; +beginglyph(oct"006",2digwd); +numeric alpha; alpha:=digsz*h; +x1=x6=leftloc; y1=y2=y3=y4=y5=(1-digsz/2)*h; +x5=rightloc; y6=y7=y8=y9=(digsz/2)*h; +x2=x7=1/2[leftloc,rightloc]; +x3=x8=rightloc; +x4=x9=rightloc; +% top row +draw_vdash(1,alpha); +draw_vdash(2,alpha); +draw_vdash(3,alpha); +% bottom row +draw_vdash(6,alpha); +draw_vdash(7,alpha); +draw_vdash(8,alpha); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{5} +% The numeral \textit{5}. +% \begin{macrocode} +cmchar "Linear B numeral sign 5"; +beginglyph(oct"005",2digwd); +numeric alpha; alpha:=digsz*h; +x1=x6=leftloc; y1=y2=y3=y4=y5=(1-digsz/2)*h; +x5=rightloc; y6=y7=y8=y9=(digsz/2)*h; +x2=x7=1/2[leftloc,rightloc]; +x3=x8=rightloc; +x4=x9=rightloc; +% top row +draw_vdash(1,alpha); +draw_vdash(2,alpha); +draw_vdash(3,alpha); +% bottom row +draw_vdash(6,alpha); +draw_vdash(7,alpha); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{4} +% The numeral \textit{4}. +% \begin{macrocode} +cmchar "Linear B numeral sign 4"; +beginglyph(oct"004",digwd); +numeric alpha; alpha:=digsz*h; +x1=x6=leftloc; y1=y2=y3=y4=y5=(1-digsz/2)*h; +x5=rightloc; y6=y7=y8=y9=(digsz/2)*h; +x2=x7=rightloc; +x3=x8=rightloc; +x4=x9=rightloc; +% top row +draw_vdash(1,alpha); +draw_vdash(2,alpha); +% bottom row +draw_vdash(6,alpha); +draw_vdash(7,alpha); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{3} +% The numeral \textit{3}. +% \begin{macrocode} +cmchar "Linear B numeral sign 3"; +beginglyph(oct"003",2digwd); +numeric alpha; alpha:=digsz*h; +x1=x6=leftloc; y1=y2=y3=y4=y5=(1-digsz/2)*h; +x5=rightloc; y6=y7=y8=y9=(digsz/2)*h; +x2=x7=1/2[leftloc,rightloc]; +x3=x8=rightloc; +x4=x9=rightloc; +% top row +draw_vdash(1,alpha); +draw_vdash(2,alpha); +draw_vdash(3,alpha); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{2} +% The numeral \textit{2}. +% \begin{macrocode} +cmchar "Linear B numeral sign 2"; +beginglyph(oct"002",digwd); +numeric alpha; alpha:=digsz*h; +x1=x6=leftloc; y1=y2=y3=y4=y5=(1-digsz/2)*h; +x5=rightloc; y6=y7=y8=y9=(digsz/2)*h; +x2=x7=rightloc; +x3=x8=rightloc; +x4=x9=rightloc; +% top row +draw_vdash(1,alpha); +draw_vdash(2,alpha); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{1} +% The numeral \textit{1}. +% \begin{macrocode} +cmchar "Linear B numeral sign 1"; +beginglyph(oct"001",digwd/2); +numeric alpha; alpha:=digsz*h; +x1=midloc; y1=(1-digsz/2)*h; +draw_vdash(1,alpha); +labels(1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{routine} +% +% The tens are all composed of horizontal dashes. +% +% \begin{routine}{90} +% The numeral \textit{90}. +% \begin{macrocode} +cmchar "Linear B numeral sign 90"; +beginglyph(oct"022",(2tenwd+tensep)); +numeric alpha; alpha:=tensz*h; +x1=x2=x3=x4=x5=leftloc+alpha/2; +x6=x7=x8=x9=rightloc-alpha/2; +y1=y6=h; +y2=y7=3/4h; +y3=y8=1/2h; +y4=y9=1/4h; +y5=0; +% left column +draw_hdash(1,alpha); +draw_hdash(2,alpha); +draw_hdash(3,alpha); +draw_hdash(4,alpha); +draw_hdash(5,alpha); +% right column +draw_hdash(6,alpha); +draw_hdash(7,alpha); +draw_hdash(8,alpha); +draw_hdash(9,alpha); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{80} +% The numeral \textit{80}. +% \begin{macrocode} +cmchar "Linear B numeral sign 80"; +beginglyph(oct"021",(2tenwd+tensep)); +numeric alpha; alpha:=tensz*h; +x1=x2=x3=x4=x5=leftloc+alpha/2; +x6=x7=x8=x9=rightloc-alpha/2; +y1=y6=h; +y2=y7=3/4h; +y3=y8=1/2h; +y4=y9=1/4h; +y5=0; +% left column +draw_hdash(1,alpha); +draw_hdash(2,alpha); +draw_hdash(3,alpha); +draw_hdash(4,alpha); +% right column +draw_hdash(6,alpha); +draw_hdash(7,alpha); +draw_hdash(8,alpha); +draw_hdash(9,alpha); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{70} +% The numeral \textit{70}. +% \begin{macrocode} +cmchar "Linear B numeral sign 70"; +beginglyph(oct"020",(2tenwd+tensep)); +numeric alpha; alpha:=tensz*h; +x1=x2=x3=x4=x5=leftloc+alpha/2; +x6=x7=x8=x9=rightloc-alpha/2; +y1=y6=h; +y2=y7=3/4h; +y3=y8=1/2h; +y4=y9=1/4h; +y5=0; +% left column +draw_hdash(1,alpha); +draw_hdash(2,alpha); +draw_hdash(3,alpha); +draw_hdash(4,alpha); +% right column +draw_hdash(6,alpha); +draw_hdash(7,alpha); +draw_hdash(8,alpha); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{60} +% The numeral \textit{60}. +% \begin{macrocode} +cmchar "Linear B numeral sign 60"; +beginglyph(oct"017",(2tenwd+tensep)); +numeric alpha; alpha:=tensz*h; +x1=x2=x3=x4=x5=leftloc+alpha/2; +x6=x7=x8=x9=rightloc-alpha/2; +y1=y6=h; +y2=y7=3/4h; +y3=y8=1/2h; +y4=y9=1/4h; +y5=0; +% left column +draw_hdash(1,alpha); +draw_hdash(2,alpha); +draw_hdash(3,alpha); +% right column +draw_hdash(6,alpha); +draw_hdash(7,alpha); +draw_hdash(8,alpha); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{50} +% The numeral \textit{50}. +% \begin{macrocode} +cmchar "Linear B numeral sign 50"; +beginglyph(oct"016",(2tenwd+tensep)); +numeric alpha; alpha:=tensz*h; +x1=x2=x3=x4=x5=leftloc+alpha/2; +x6=x7=x8=x9=rightloc-alpha/2; +y1=y6=h; +y2=y7=3/4h; +y3=y8=1/2h; +y4=y9=1/4h; +y5=0; +% left column +draw_hdash(1,alpha); +draw_hdash(2,alpha); +draw_hdash(3,alpha); +% right column +draw_hdash(6,alpha); +draw_hdash(7,alpha); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{40} +% The numeral \textit{40}. +% \begin{macrocode} +cmchar "Linear B numeral sign 40"; +beginglyph(oct"015",(2tenwd+tensep)); +numeric alpha; alpha:=tensz*h; +x1=x2=x3=x4=x5=leftloc+alpha/2; +x6=x7=x8=x9=rightloc-alpha/2; +y1=y6=h; +y2=y7=3/4h; +y3=y8=1/2h; +y4=y9=1/4h; +y5=0; +% left column +draw_hdash(1,alpha); +draw_hdash(2,alpha); +% right column +draw_hdash(6,alpha); +draw_hdash(7,alpha); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{30} +% The numeral \textit{30}. +% \begin{macrocode} +cmchar "Linear B numeral sign 30"; +beginglyph(oct"014",(tenwd)); +numeric alpha; alpha:=tensz*h; +x1=x2=x3=x4=x5=leftloc+alpha/2; +x6=x7=x8=x9=rightloc-alpha/2; +y1=y6=h; +y2=y7=3/4h; +y3=y8=1/2h; +y4=y9=1/4h; +y5=0; +% left column +draw_hdash(1,alpha); +draw_hdash(2,alpha); +draw_hdash(3,alpha); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{20} +% The numeral \textit{20}. +% \begin{macrocode} +cmchar "Linear B numeral sign 20"; +beginglyph(oct"013",(tenwd)); +numeric alpha; alpha:=tensz*h; +x1=x2=x3=x4=x5=leftloc+alpha/2; +x6=x7=x8=x9=rightloc-alpha/2; +y1=y6=h; +y2=y7=3/4h; +y3=y8=1/2h; +y4=y9=1/4h; +y5=0; +% left column +draw_hdash(1,alpha); +draw_hdash(2,alpha); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{10} +% The numeral \textit{10}. +% \begin{macrocode} +cmchar "Linear B numeral sign 10"; +beginglyph(oct"012",(tenwd)); +numeric alpha; alpha:=tensz*h; +x1=x2=x3=x4=x5=leftloc+alpha/2; +x6=x7=x8=x9=rightloc-alpha/2; +y1=y6=h; +y2=y7=3/4h; +y3=y8=1/2h; +y4=y9=1/4h; +y5=0; +% left column +draw_hdash(1,alpha); +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% The hundreds are composed of circles. +% +% \begin{routine}{900} +% The numeral \textit{900}. +% \begin{macrocode} +cmchar "Linear B numeral sign 900"; +beginglyph(oct"033",(5hunwd+4hunsep)); +numeric diam, rad; diam:=hunsz*h; rad:=diam/2; +x1=x6=leftloc+rad; y1=y2=y3=y4=y5=h-rad; +x5=rightloc-rad; y6=y7=y8=y9=rad; +x2=x7=1/4[x1,x5]; +x3=x8=1/2[x1,x5]; +x4=x9=3/4[x1,x5]; +% top row +draw fullcircle scaled diam shifted z1; +draw fullcircle scaled diam shifted z2; +draw fullcircle scaled diam shifted z3; +draw fullcircle scaled diam shifted z4; +draw fullcircle scaled diam shifted z5; +% bottom row +draw fullcircle scaled diam shifted z6; +draw fullcircle scaled diam shifted z7; +draw fullcircle scaled diam shifted z8; +draw fullcircle scaled diam shifted z9; +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{800} +% The numeral \textit{800}. +% \begin{macrocode} +cmchar "Linear B numeral sign 800"; +beginglyph(oct"032",(4hunwd+3hunsep)); +numeric diam, rad; diam:=hunsz*h; rad:=diam/2; +x1=x6=leftloc+rad; y1=y2=y3=y4=y5=h-rad; +x5=rightloc-rad; y6=y7=y8=y9=rad; +x4=x9=rightloc-rad; +x2=x7=1/3[x1,x5]; +x3=x8=2/3[x1,x5]; +% top row +draw fullcircle scaled diam shifted z1; +draw fullcircle scaled diam shifted z2; +draw fullcircle scaled diam shifted z3; +draw fullcircle scaled diam shifted z4; +% bottom row +draw fullcircle scaled diam shifted z6; +draw fullcircle scaled diam shifted z7; +draw fullcircle scaled diam shifted z8; +draw fullcircle scaled diam shifted z9; +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{700} +% The numeral \textit{700}. +% \begin{macrocode} +cmchar "Linear B numeral sign 700"; +beginglyph(oct"031",(4hunwd+3hunsep)); +numeric diam, rad; diam:=hunsz*h; rad:=diam/2; +x1=x6=leftloc+rad; y1=y2=y3=y4=y5=h-rad; +x5=rightloc-rad; y6=y7=y8=y9=rad; +x4=x9=rightloc-rad; +x2=x7=1/3[x1,x5]; +x3=x8=2/3[x1,x5]; +% top row +draw fullcircle scaled diam shifted z1; +draw fullcircle scaled diam shifted z2; +draw fullcircle scaled diam shifted z3; +draw fullcircle scaled diam shifted z4; +% bottom row +draw fullcircle scaled diam shifted z6; +draw fullcircle scaled diam shifted z7; +draw fullcircle scaled diam shifted z8; +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{600} +% The numeral \textit{600}. +% \begin{macrocode} +cmchar "Linear B numeral sign 600"; +beginglyph(oct"030",(3hunwd+2hunsep)); +numeric diam, rad; diam:=hunsz*h; rad:=diam/2; +x1=x6=leftloc+rad; y1=y2=y3=y4=y5=h-rad; +x5=rightloc-rad; y6=y7=y8=y9=rad; +x2=x7=1/2[x1,x5]; +x3=x8=rightloc-rad; +x4=x9=rightloc-rad; +% top row +draw fullcircle scaled diam shifted z1; +draw fullcircle scaled diam shifted z2; +draw fullcircle scaled diam shifted z3; +% bottom row +draw fullcircle scaled diam shifted z6; +draw fullcircle scaled diam shifted z7; +draw fullcircle scaled diam shifted z8; +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{500} +% The numeral \textit{500}. +% \begin{macrocode} +cmchar "Linear B numeral sign 500"; +beginglyph(oct"027",(3hunwd+2hunsep)); +numeric diam, rad; diam:=hunsz*h; rad:=diam/2; +x1=x6=leftloc+rad; y1=y2=y3=y4=y5=h-rad; +x5=rightloc-rad; y6=y7=y8=y9=rad; +x2=x7=1/2[x1,x5]; +x3=x8=rightloc-rad; +x4=x9=rightloc-rad; +% top row +draw fullcircle scaled diam shifted z1; +draw fullcircle scaled diam shifted z2; +draw fullcircle scaled diam shifted z3; +% bottom row +draw fullcircle scaled diam shifted z6; +draw fullcircle scaled diam shifted z7; +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{400} +% The numeral \textit{400}. +% \begin{macrocode} +cmchar "Linear B numeral sign 400"; +beginglyph(oct"026",(2hunwd+hunsep)); +numeric diam, rad; diam:=hunsz*h; rad:=diam/2; +x1=x6=leftloc+rad; y1=y2=y3=y4=y5=h-rad; +x5=rightloc-rad; y6=y7=y8=y9=rad; +x2=x7=rightloc-rad; +x3=x8=rightloc-rad; +x4=x9=rightloc-rad; +% top row +draw fullcircle scaled diam shifted z1; +draw fullcircle scaled diam shifted z2; +% bottom row +draw fullcircle scaled diam shifted z6; +draw fullcircle scaled diam shifted z7; +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{300} +% The numeral \textit{400}. +% \begin{macrocode} +cmchar "Linear B numeral sign 300"; +beginglyph(oct"025",(2hunwd+hunsep)); +numeric diam, rad; diam:=hunsz*h; rad:=diam/2; +x1=x6=leftloc+rad; y1=y2=y3=y4=y5=h-rad; +x5=rightloc-rad; y6=y7=y8=y9=rad; +x2=x7=rightloc-rad; +x3=x8=rightloc-rad; +x4=x9=rightloc-rad; +% top row +draw fullcircle scaled diam shifted z1; +draw fullcircle scaled diam shifted z2; +% bottom row +draw fullcircle scaled diam shifted z6; +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{200} +% The numeral \textit{200}. +% \begin{macrocode} +cmchar "Linear B numeral sign 200"; +beginglyph(oct"024",hunwd); +numeric diam, rad; diam:=hunsz*h; rad:=diam/2; +x1=x6=leftloc+rad; y1=y2=y3=y4=y5=h-rad; +x5=rightloc-rad; y6=y7=y8=y9=rad; +x2=x7=rightloc-rad; +x3=x8=rightloc-rad; +x4=x9=rightloc-rad; +% top row +draw fullcircle scaled diam shifted z1; +% bottom row +draw fullcircle scaled diam shifted z6; +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{100} +% The numeral \textit{100}. +% \begin{macrocode} +cmchar "Linear B numeral sign 100"; +beginglyph(oct"023",hunwd); +numeric diam, rad; diam:=hunsz*h; rad:=diam/2; +x1=x6=leftloc+rad; y1=y2=y3=y4=y5=h-rad; +x5=rightloc-rad; y6=y7=y8=y9=rad; +x2=x7=rightloc-rad; +x3=x8=rightloc-rad; +x4=x9=rightloc-rad; +% top row +draw fullcircle scaled diam shifted z1; +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{1000} +% The numeral \textit{1000}. It is a circle with spikes. +% \begin{macrocode} +cmchar "Linear B numeral sign 1000"; +beginglyph(oct"034",1.0); +numeric diam, rad; diam:=h/2; rad:=diam/2; +x0=midloc; y0=h/2; % circle center +x5=leftloc; x1=x0-rad; x3=x0+rad; x7=rightloc; y5=y1=y3=y7=y0; +x8=x4=x2=x6=x0; y8=0; y4=y0-rad; y2=y0+rad; y6=h; +draw fullcircle scaled diam shifted z0; +draw z5--z1; draw z6--z2; draw z7--z3; draw z8--z4; +labels(0,1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \subsection{Weights and measures} +% +% Chadwick shows 9 glyphs for weight and volume measures: 5 for weights +% and 4 for volumes. +% \changes{v1.2}{2005/06/22}{Added 9 weights and measures glyphs} +% +% \begin{routine}{wta} +% The lowest weight unit. A shepherd's crook with a cross-bar. +% \begin{macrocode} +cmchar "Linear B smallest weight (wta)"; +beginglyph(oct"200",0.4); +x5=leftloc; x6=rightloc; +x1=x2=x4=1/2[x5,x6]; x3=x5; +y1=0; y4=h; y2=15/20[y1,y4]; y3=1/2[y2,y4]; y5=y6=15/20[y1,y2]; +draw z1--z2{left}..z3{up}..{right}z4; +draw z5--z6; +labels(1,2,3,4,5,6,7); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{wtb} +% The second lowest weight unit. A reversed S with a slash and dots. +% \begin{macrocode} +cmchar "Linear B second smallest weight (wtb)"; +beginglyph(oct"201",0.4); +numeric alpha; alpha:=0.5*(rightloc-leftloc); +x1=x5=leftloc; x6=x4=x2=midloc; x7=x3=rightloc; +y6=0; y5=y7=y6+alpha; y4=h/2; y1=y3=y2-alpha; y2=h; +draw z1..z2..z3..z4..z5..z6..z7; +z11=1/2[z4,z1]; z12=1/2[z4,z7]; +z13=1/2[z1,z3]; z14=1/2[z5,z7]; +draw z11--z12; draw z13; draw z14; +labels(1,2,3,4,5,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{wtc} +% The third lowest weight unit. An octothorpe. +% \begin{macrocode} +cmchar "Linear B third smallest weight(wtd)"; +beginglyph(oct"202",1.0); +x1=x2=leftloc; x3=x4=rightloc; +y5=y7=0; y6=y8=h; +y1=y3=1/4[y5,y6]; y2=y4=3/4[y5,y6]; +x5=x6=0.25[x1,x3]; x7=x8=3/4[x1,x3]; +draw z1--z3; draw z2--z4; +draw z5--z6; draw z7--z8; +labels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{wtd} +% The fourth lowest weight unit. Two reversed S's. +% \begin{macrocode} +cmchar "Linear B fourth smallest weight (wtd)"; +beginglyph(oct"203",0.2); +numeric alpha; alpha:=0.5*(rightloc-leftloc); +x1=x5=leftloc; x6=x4=x2=midloc; x7=x3=rightloc; +y6=11/20h; y2=h; y4=1/2[y6,y2]; y5=y7=1/2[y6,y4]; y1=y3=1/2[y4,y2]; +draw z1..z2..z3..z4..z5..z6..z7; + +x11=x15=x1; x16=x14=x12=x6; x17=x13=x7; +y16=0; y12=9/20h; y14=1/2[y16,y12]; y15=y17=1/2[y16,y14]; y11=y13=1/2[y14,y12]; +draw z11..z12..z13..z14..z15..z16..z17; +labels(1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{talent} +% The symbol for weights; Chadwick suggests it might be a talent, the most +% common weight in antiquity. +% A pair of scales. +% \begin{macrocode} +cmchar "Linear B highest weight symbol (talent)"; +beginglyph(oct"204",1.1); +numeric alpha; alpha:=(rightloc-leftloc); +numeric beta; beta:=0.2alpha; % dash length +numeric gap; gap:=3/2tiny; +x0=x0'=midloc; y0=0; y0'=h; % axis of symmetry +x1=leftloc; x3=x0-0.5gap; y1=y3=0; % left base points +x2=0.5[x1,x3]; y2=0.9h; % top point +x4=x1+gap; x5=x3-gap; y4=y5=0; % base line +%%x9=x10=0.5[x5,x3]; x6=x7=x8=0.5[(x2+0.5beta),x9]; % points for the 3 +x9=x10=x3; x6=x7=x8=0.5[(x2+0.5beta),x9]; % points for the 3 +y6=h; y7=y2; y7-y8=y6-y7; +y10=0.5[y6,y7]; y9=0.5[y7,y8]; +z11=z1 reflectedabout (z0,z0'); % the symmetric right hand side +z12=z2 reflectedabout (z0,z0'); +z13=z3 reflectedabout (z0,z0'); +z14=z4 reflectedabout (z0,z0'); +z15=z5 reflectedabout (z0,z0'); +z16=z6 reflectedabout (z0,z0'); +z17=z7 reflectedabout (z0,z0'); +z18=z8 reflectedabout (z0,z0'); +z19=z9 reflectedabout (z0,z0'); +z20=z10 reflectedabout (z0,z0'); +%%draw z1--z2--z3; draw z4--z5; % triangle +draw z4--z2--z5--cycle; +draw_hdash(2,beta); % dash at the top +%%draw z6..z10..z7; % 3 +%%draw z7..z9..z8; +%%draw z11--z12--z13; draw z14--z15; % and for the RHS +draw z14--z12--z15--cycle; +draw_hdash(12,beta); +%%draw z16..z20..z17; +%%draw z17..z19..z18; +draw z2--z12; +x21=x22=1/2[x2,x12]; y21=0; y22=h; +draw z21--z22; % upright +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{vola} +% The lowest volume unit. A cup. +% \begin{macrocode} +cmchar "Linear B lowest volume unit (vola)"; +beginglyph(oct"210",1.0); +x11=leftloc; x2=rightloc; x1=3/20[x11,x2]; x3=1/2[x1,x2]; +y1=y2=1/3h; y3=0; y11=y1+1/2(x1-x11); +draw z1--z2..z3..cycle; +draw z1..z11..cycle; +labels(1,2,3,11); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{volb} +% The second lowest volume unit. A triangular P. +% \begin{macrocode} +cmchar "Linear B second lowest volume unit (volb)"; +beginglyph(oct"211",0.6); +x1=x2=midloc; y1=0; y2=h; +x3=leftloc; x4=rightloc; y3=y4=0.6h; +z5=0.5[z1,z2]; z6=0.8[z1,z2]; +x7=rightloc; y7=0.5[y5,y6]; +draw z1--z2; %% draw z3--z4; +draw z5--z4; draw z6--z7; +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{volcd} +% The highest dry volume unit. A T. +% \begin{macrocode} +cmchar "Linear B highest dry volume unit (volcd)"; +beginglyph(oct"212",0.6); +x1=x3=leftloc; x4=midloc; x6=x8=rightloc; +y1=y6=3/4h; y3=y8=h; y4=0; +z2=0.5[z1,z3]; z7=0.5[z6,z8]; z5=0.5[z2,z7]; +%%draw z1--z3; % left vertical +draw z4--z5; % centre vertical +%%draw z6--z8; % right vertical +draw z2--z7; % bar +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{volcf} +% The highest fluid volume unit. A turn left sign. +% \begin{macrocode} +cmchar "Linear B highest fluid volume unit (volcf)"; +beginglyph(oct"213",0.5); +x1=x2=rightloc; x4=leftloc; x3=2/3[x4,x2]; x5=x6=1/2[x4,x3]; +y1=0; y4=y3=18/20h; y6=h; y2=y3 - (x2-x3); y4-y5=y6-y4; +draw z1--z2{up}..{left}z3--z4; % stem +draw z5--z4--z6; % arrowhead +labels(1,2,3,4,5,6,7); endchar; + +% \end{macrocode} +% \end{routine} +% +% \subsection{Commodities} +% +% A selection of pictograms for commodities. +% \changes{v1.2}{2005/06/22}{Added 8 commodity glyphs} +% +% +% \begin{routine}{cloth} +% Cloth. Rectangle with four threads hanging down. +% \begin{macrocode} +cmchar "Linear B cloth pictogram"; +beginglyph(oct"220",0.8); +x1=x2=x3=leftloc; x6=x7=x8=rightloc; +y1=y6=0; y2=y7=1/4h; y3=y8=3/4h; +%x4=x5=midloc; y4=y1; y5=y2; +%y6=y1; y7=y2; y8=y3; +z11=1/3[z1,z6]; z13=2/3[z1,z6]; +z12=1/3[z2,z7]; z14=2/3[z2,z7]; +draw z2--z3--z8--z7--cycle; % box +%draw z1--z2; draw z4--z5; draw z6--z7; % legs +draw z1--z2; draw z11--z12; draw z13--z14; draw z6--z7; % legs +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{wool} +% Wool. A bit like an M with squiggles. +% \begin{macrocode} +cmchar "Linear B wool pictogram"; +beginglyph(oct"221",0.8); +numeric alpha, beta; +alpha:=0.2; beta:=tiny; +x1=leftloc; x2=midloc; x3=rightloc; y1=y3=h; +% y2=0; % V +y2 = 2/10h; +path p[]; +p1=z1{(1,-1)}...{down}z2; +p2=z3{(-1,-1)}...{down}z2; +z5 = point alpha of p1; +z8 = point alpha of p2; +z4=z5 shifted (beta*(-1,-1)); z6=z5 shifted (beta*(1,1)); +z7=z8 shifted (beta*(-1,1)); z9=z8 shifted (beta*(1,-1)); +draw p1; draw p2; % V +%%draw z4--z6; draw z7--z9; % dashes +x15=x1; x18=x3; y15=y18=y2; +draw z5..{down}z15; draw z8..{down}z18; % legs + +x21=x5; x23=x8; x22=x2; y21=y23=y1; y22=y5; +draw z21--z22--z23; % upper V + +x31=x33=x5; y31=0; y33=y2; +draw z31{left}..{right}z33; + +x41=x43=x8; y41=y31; y43=y33; +draw z41{right}..{left}z43; +labels(1,2,3,4,5,6,7,8,9,15,18,21,22,23,31,33,41,43); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{wheat} +% Wheat. Upward pointing full arrow. +% \begin{macrocode} +cmchar "Linear B wheat pictogram"; +beginglyph(oct"222",0.6); +x1=x2=midloc; y1=0; y2=h; % stem +x5=leftloc; x6=rightloc; y5=y6=13/20h; +%%x3=leftloc; x4=rightloc; y3=y4=1/4h; % bar (original) +%%x3=0.2[x5,x6]; x4=0.2[x6,x5]; y3=y4=1/4h; % bar (jurgen) +draw z1--z2; % stem +%%draw z3--z4; % bar +draw z5--z2--z6--cycle; % arrowhead +x11=leftloc; x12=rightloc; y11=y12=y2; +draw z11--z12; +labels(1,2,3,4,5,6); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{barley} +% Barley. Sort of turn left sign. +% \begin{macrocode} +cmchar "Linear B barley pictogram"; +beginglyph(oct"223",0.4); +x7=leftloc; x4=rightloc; x6= 3/8[x7,x4]; x1=1/3[x6,x4]; +y7=h; y1=0; y6=9/10h; y4=8/10h; +x2=x1; y2=1/3h; x5=7/8[x6,x4]; y5=y6; +draw z1--z2{up}..{up}z4..{left}z5..{left}z6; % stem +x14=leftloc; y14=h; +x11=1/3[x6,x4]; y6-y11 = 3/2(y14-y6); +x13=x14; y13=y6; +draw z14{down}..{right}z11; % C at top left of stem +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{wine} +% Wine. +% \begin{macrocode} +cmchar "Linear B wine pictogram"; +beginglyph(oct"224",0.8); +x1=x3=leftloc; x7=x4=rightloc; y1=y7=0; y3=y4=h; +z2=3/4[z1,z3]; z8=3/4[z7,z4]; z5=1/2[z1,z7]; z6=1/2[z2,z8]; +draw z1--z3--z4; +draw z2--z8--z7; +draw z5--z6; +%%%%% the dashes +x21=x22=1/4[x1,x5]; x23=x24=3/4[x1,x5]; +y22=3/4[y1,y2]; y23=1/4[y1,y2]; +y21=1/4[y23,y22]; y24=3/4[y23,y22]; +draw z21--z23; draw z22--z24; +x31=x32=1/4[x5,x7]; x33=x34=3/4[x5,x7]; +y31=y21; y32=y22; y33=y23; y34=y24; +draw z31--z33; draw z32--z34; +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,21,22,23,24,31,32,33,34); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{olive-oil} +% Olive oil. Question mark overlain with a reversed S. +% \begin{macrocode} +cmchar "Linear B olive oil pictogram"; +beginglyph(oct"225",0.4); +x6=x7=leftloc; x4=rightloc; x1=1/3[x6,x4]; +y7=h; y1=0; y6=9/10h; y4=8/10h; +x2=x1; y2=1/3h; x5=7/8[x6,x4]; y5=y6; +draw z1--z2{up}..{up}z4..{left}z5--z6--z7; + +x25=1/4[x6,x4]; y6-y25 = 3/2(y7-y6); +x21=1/2[x2,x4]; y21=3/4[y1,y2]; +z23=1/2[z25,z21]; +y24=1/2[y23,y25]; x24=x4 + (x4-x5); +x22=1/4[x6,x25]; y22=1/2[y21,y23]; +draw z25{right}..z24..{left}z23..z22..{right}z21; +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,21,22,23,24,25); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{bronze} +% Bronze. Two boxes hung on a wall. +% \begin{macrocode} +cmchar "Linear B bronze pictogram"; +beginglyph(oct"226",0.6); +x1=x2=leftloc; y1=0; y2=h; +z3=1/4[z1,z2]; z4=1/2[z1,z2]; z5=3/4[z1,z2]; +x6=x7=x8=rightloc; y6=y3; y7=y4; y8=y5; +draw z1--z2; % wall +draw z3--z6--z8--z5; % box outside +draw z4--z7; % box interior +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{gold} +% Gold. Small folding table with a box on top. +% \begin{macrocode} +cmchar "Linear B gold pictogram"; +beginglyph(oct"227",0.6); +numeric alpha; +x1=x4=leftloc; x3=x2=rightloc; y1=y3=0; y2=y4=9/10h; % leg points +path p[]; +p1=z1{up}..z2; p2=z3{up}..z4; +z0 = p1 intersectionpoint p2; +%%alpha:=0.5*(x0-x4); +alpha:=0.75*(x0-x4); +x5=x0-alpha; x7=x0+alpha; y5=y7=y0; +x6=x8=x0; y8=y0-alpha; y6=y0+alpha; +draw p1; draw p2; % the legs +%%draw z5--z6--z7--z8--cycle; % the square +p5=z5--z6; p7=z7--z6; +z15 = p5 intersectionpoint p2; z17 = p7 intersectionpoint p1; +draw z15--z5--z8--z7--z17; +draw z2--z4; % table top +z21=1/4[z4,z2]; z24=3/4[z4,z2]; +x22=x21; x23=x24; y22 = y23 = y21 + 1/2(x24-x21); +draw z21--z22--z23--z24--cycle; % box +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14); endchar; + +% \end{macrocode} +% \end{routine} +% +% \subsection{Vessels} +% +% Pictograms of various kinds of vessels for liquids. +% \changes{v1.2}{2005/06/22}{Added 8 jar/cup/cauldron glyphs} +% +% +% \begin{routine}{cup} +% \begin{macrocode} +cmchar "Linear B cup"; +beginglyph(oct"230",1.0); +x1=2/16[leftloc,rightloc]; x2=3/16[rightloc,leftloc]; +y1=y2=13/20h; +y4=y6=0; y5=y7=8/20y1; +x4=6/20[x1,x2]; x6=6/20[x2,x1]; x5=2/8[x4,x6]; x7=2/8[x6,x4]; +draw z5--z4--z6--z7; % stem +draw z1{down}..z5..z7..{up}z2; draw z1--z2; % bowl +x21=x1; y21=8/20[y1,h]; draw z1{left}..{right}z21; % left handle +x22=rightloc; y22=y2; draw z2..{down}z22; % right handle +labels(1,2,3,4,5,6,7,8,9,10,11,12,21,22); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{goblet} +% \begin{macrocode} +cmchar "Linear B goblet"; +beginglyph(oct"231",0.6); +x2=leftloc; x5=rightloc; x1=1/3[x2,x5]; x4=2/3[x2,x5]; x3=2/8[x2,x5]; x6=6/8[x2,x5]; +y1=y4=0; y3=y6=17/20h; y2=y5=3/4[y1,y3]; +draw z1{up}..z2; draw z2..{up}z3; draw z3--z6; draw z6{down}..z5; draw z5..{down}z4; draw z4--z1; +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{amphora} +% \begin{macrocode} +cmchar "Linear B amphora"; +beginglyph(oct"232",0.5); +x2=leftloc; x12=rightloc; x1=1/4[x2,x12]; x11=3/4[x2,x12]; x4=1/3[x2,x12]; x14=2/3[x2,x12]; +x3=x4; x13=x14; +y1=y11=0; y4=y14=h; +y2=y12=5/8[y1,y4]; +y3=y13=1/2[y2,y4]; +draw z1..{up}z2..{up}z3..{up}z4; +draw z11..{up}z12..{up}z13..{up}z14; +draw z4--z14; draw z1--z11; +x5=x2; x15=x12; +y5=y15=1/2[y3,y4]; +draw z3{left}..z5..{right}z4; draw z13{right}..z15..{left}z14; +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{wine jar} +% \begin{macrocode} +cmchar "Linear B wine jar"; +beginglyph(oct"233",0.6); +x2=leftloc; x5=rightloc; x1=1/3[x2,x5]; x4=2/3[x2,x5]; x3=2/8[x2,x5]; x6=6/8[x2,x5]; +y1=y4=0; y3=y6=17/20h; y2=y5=3/4[y1,y3]; +draw z1{up}..z2; draw z2..{up}z3; draw z3--z6; draw z6{down}..z5; draw z5..{down}z4; draw z4--z1; +x12=x2; x15=x5; y12=y15=2/3[y2,y3]; +draw z2..{left}z12..z2; draw z5..{left}z15..z5; +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{wine jar (3 handles)} +% \begin{macrocode} +cmchar "Linear B 3 handled wine jar"; +beginglyph(oct"234",0.8); +save P; P:=0.75; +x2=leftloc; x5=rightloc; x1=1/3[x2,x5]; x4=2/3[x2,x5]; x3=1/8[x2,x5]; x6=7/8[x2,x5]; +y1=y4=0; y3=y6=17/20h; y2=y5=3/4[y1,y3]; +draw z1{up}..z2; draw z2..{up}z3; draw z3--z6; draw z6{down}..z5; draw z5..{down}z4; draw z4--z1; +z11=1/2[z3,z6]; z12=2/3[z3,z6]; +x13=x3; x16=x6; y13=y16=h; +z21=1/2[z13,z16]; z22=2/3[z13,z16]; +draw_vloop(3, 13, P); +draw_vloop(11, 21, P); +draw_vloop(16, 6, P); +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,21,22); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{wine jar (4 handles)} +% \begin{macrocode} +cmchar "Linear B 4 handled wine jar"; +beginglyph(oct"235",0.8); +save Q; +x2=leftloc; x5=rightloc; x1=1/3[x2,x5]; x4=2/3[x2,x5]; x3=1/8[x2,x5]; x6=7/8[x2,x5]; +y1=y4=0; y3=y6=17/20h; y2=y5=3/4[y1,y3]; +draw z1{up}..z2; draw z2..{up}z3; draw z3--z6; +draw z6{down}..z5; draw z5..{down}z4; draw z4--z1; +z11=1/3[z3,z6]; z12=2/3[z3,z6]; +x13=1/2[x2,x3]; x16=1/2[x6,x5]; y13=y16=h; +z21=1/3[z13,z16]; z22=2/3[z13,z16]; +Q:=0.75; +draw_vloop(3,13,Q); draw_vloop(11,21,Q); +draw_vloop(12,22,Q); draw_vloop(6,16,Q); +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,21,22); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{cauldron type 1} +% \begin{macrocode} +cmchar "Linear B cauldron type 1"; +beginglyph(oct"236",1.0); +save Q; Q:=0.75; +path p[]; +x1=1/16[leftloc,rightloc]; x2=15/16[leftloc,rightloc]; y1=y2=18/20h; +y6=0; y5=y7=10/20y1; +x6=10/20[x1,x2]; x5=9/20[x1,x2]; x7-x6=x6-x5; +p1 := z1{down}..z5..z7..{up}z2; +draw p1; draw z1--z2; % bowl +draw z5--z6--z7; % middle leg +x11=leftloc; y11=y12=h; x12=rightloc; +draw_vloop(1,11,Q); draw_vloop(2,12,Q); % handles +z0=1/2[z1,z2]; +x16=x1; y16=0; p2=z16--z0; z15=p2 intersectionpoint p1; +x17-x15=x5-x7; y17=y15; +draw z15--z16--z17; % left leg +x26=x2; y26=0; p3=z26--z0; z25=p3 intersectionpoint p1; +x25-x27=x5-x7; y27=y25; +draw z25--z26--z27; % right leg +labels(1,2,3,4,5,6,7,11,12,15,16,17,21,22,25,26,27); endchar; +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{cauldron type 2} +% \begin{macrocode} +cmchar "Linear B cauldron type 2"; +beginglyph(oct"237",1.0); +save Q; Q:=0.75; +path p[]; +x1=3/32[leftloc,rightloc]; x2=3/32[rightloc,leftloc]; y1=y2=18/20h; +y6=0; y5=y7=6/20y1; +x6=10/20[x1,x2]; x5=9/20[x1,x2]; x7-x6=x6-x5; +p1 := z1{down}..z5..z7..{up}z2; +%%draw p1; draw z1--z2; % bowl +draw z5--z6--z7; % middle leg +x11=leftloc; y11=y12=h; x12=rightloc; +draw_vloop(1,11,Q); draw_vloop(2,12,Q); % handles +x21=x11; y11-y1=y1-y21; +x22=x12; y12-y2=y2-y22; +z31=z1; z32=z2; +draw_vloop(31,21,Q); draw_vloop(32,22,Q); % second handles + +z0=1/2[z1,z2]; +x16=x1; y16=0; p2=z16--z0; z15=p2 intersectionpoint p1; +x17-x15=x5-x7; y17=y15; +draw z15--z16--z17; % left leg +x26=x2; y26=0; p3=z26--z0; z25=p3 intersectionpoint p1; +x25-x27=x5-x7; y27=y25; +draw z25--z26--z27; % right leg +z157=3/4[z17,z15]; z257=3/4[z27,z25]; +draw z1{down}..z157..z5..z7..z257..{up}z2; draw z2--z1; % bowl +labels(1,2,3,4,5,6,7,11,12,15,16,17,21,22,25,26,27,157,257); endchar; +% \end{macrocode} +% \end{routine} +% +% \subsection{Men and horses} +% +% \changes{v1.2}{2005/06/22}{Added 4 man, woman and horse glyphs} +% +% +% \begin{routine}{man} +% \begin{macrocode} +cmchar "Linear B man"; +beginglyph(oct"240",0.5); +x1=1/8[leftloc,rightloc]; x3=1/8[rightloc,leftloc]; y1=y3=16/20h; % shoulders +z2=1/2[z1,z3]; x12=x2; y12=h; % head +x4=1/10[leftloc,rightloc]; y4=0; z5= z4 reflectedabout (z2,z12); % feet +x6=leftloc; y6=1/3[y2,y4]; z7= z6 reflectedabout (z2,z12); % hands +draw z6--z1--z3--z7; % arms and shoulders +draw z1--z5; draw z3--z4; % body +draw z2{left}..{right}z12..cycle; % head +labels(1,2,3,4,5,6,7,8,9,10,11,12); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{woman} +% \begin{macrocode} +cmchar "Linear B woman"; +beginglyph(oct"241",0.5); +x1=1/8[leftloc,rightloc]; x3=1/8[rightloc,leftloc]; y1=y3=16/20h; % shoulders +z2=1/2[z1,z3]; x12=x2; y12=h; % head +x4=1/10[leftloc,rightloc]; y4=0; z5= z4 reflectedabout (z2,z12); % feet +x6=leftloc; y6=1/3[y2,y4]; z7= z6 reflectedabout (z2,z12); % hands +draw z6--z2--z7; % arms and shoulders +draw z4--z2--z5--cycle;; % body +y13=1/2[y2,y12]; x13 - x2 = y13 - y2; +draw z2{left}..z12..z13; % head +labels(1,2,3,4,5,6,7,8,9,10,11,12); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{horse} +% \begin{macrocode} +cmchar "Linear B horse"; +beginglyph(oct"244", 1.0); +numeric eye; eye = 1/30h; +pair mane; mane = (-8/40h, 6/40h); +x1=leftloc; y1=0; x17=1/2[leftloc,rightloc]; y17=0; % base of neck +x10=rightloc; y10=1/4h; % tip of nose +x4=1/4[x1,x10]; y4=h; % top left ear +x15=1/3[x1,x10]; y15=9/20[y10,y4]; % neck/chin +x2=1/4[x1,x4]; y2=1/2[y1,y4]; x3=2/3[x1,x4]; y3 = 17/20h; % back of neck +x5-x4=x4-x3; x6-x5=1/2(x5-x4); x7-x6=x4-x3; x8-x7=x7-x6; % ears +y5=y6=y8=y3; y7=y4; +x9=2/3[x8,x10]; y9=2/3[y10,y8]; +x13=1/3[x10,x15]; y13=y10; + +x16=2/3[x3,x15]; y16=1/2[y17,y15]; % mid neck + +x11=8/20[x10,x13]; y11=y10-1/20h; % nose/mouth +x12=12/20[x10,x13]; y12=y11; +y23=y10 + 1/20h; x23=3/4[x11,x12]; % mouth +draw z11--z23--z12; + +draw z1..z2..z3--z4--z5--z6--z7--z8..z9..{down}z10..z11..z12..z13..z15..z3; +draw z15..z16..z17; % mouth +z30=1/2[z15,z8]; +z31 = z30 shifted (-eye,eye); z32=z30 shifted (eye,-eye); +draw z31--z32; % eye +z42=4/20[z2,z3]; z44=1/2[z2,z3]; z46=16/20[z2,z3]; % mane +z41=z42 shifted mane; z43=z44 shifted mane; z45 = z46 shifted mane; +draw z41--z42; draw z43--z44; draw z45--z46; +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,30,31,32,41,42,43,44,45,46); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{foal} +% \begin{macrocode} +cmchar "Linear B foal"; +beginglyph(oct"245", 1.0); +numeric eye; eye = 1/30h; +pair mane; mane = (-4/40h, 3/40h); +x1=leftloc; y1=0; x17=1/2[leftloc,rightloc]; y17=0; % base of neck +x10=rightloc; y10=1/4h; % tip of nose +x4=1/4[x1,x10]; y4=h; % top left ear +x15=1/3[x1,x10]; y15=9/20[y10,y4]; % neck/chin +x2=1/4[x1,x4]; y2=1/2[y1,y4]; x3=2/3[x1,x4]; y3 = 17/20h; % back of neck +x5-x4=x4-x3; x6-x5=1/2(x5-x4); x7-x6=x4-x3; x8-x7=x7-x6; % ears +y5=y6=y8=y3; y7=y4; +x9=2/3[x8,x10]; y9=2/3[y10,y8]; +x13=1/3[x10,x15]; y13=y10; + +x16=2/3[x3,x15]; y16=1/2[y17,y15]; % mid neck + +x11=8/20[x10,x13]; y11=y10-1/20h; % nose/mouth +x12=12/20[x10,x13]; y12=y11; +y23=y10 + 1/20h; x23=3/4[x11,x12]; % mouth +draw z11--z23--z12; + +draw z1..z2..z3--z4--z5--z6--z7--z8..z9..{down}z10..z11..z12..z13..z15..z3; +draw z15..z16..z17; % mouth +z30=1/2[z15,z8]; +z31 = z30 shifted (-eye,eye); z32=z30 shifted (eye,-eye); +draw z31--z32; % eye +%z42=1/4[z2,z3]; z44=1/2[z2,z3]; z46=3/4[z2,z3]; % mane +% z41=z42 shifted mane; z43=z44 shifted mane; z45 = z46 shifted mane; +%draw z41--z42; draw z43--z44; draw z45--z46; +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,30,31,32,41,42,43,44,45,46); endchar; + +% \end{macrocode} +% \end{routine} +% +% \subsection{Livestock} +% +% \changes{v1.2}{2005/06/22}{Added 12 livestock glyphs} +% +% \begin{routine}{pig} +% This is also the \texttt{au} glyph but I have modified that slightly to get a +% longer neck.. +% \begin{macrocode} +cmchar "Linear B pig"; +beginglyph(oct"250",0.8); +numeric alpha; alpha:=0.1h; +x1=x2=x3=leftloc+alpha; y1=0; y2=8/20h; y3=h-2alpha; % neck +x5=leftloc; y5=h-small; % top of left ear +x4=0.5[x5,x3]; y4=0.5[y5,y3]-tiny; +x6=x5+small; y6=h; % top of right ear +x8-x6=x3-x5; y6-y8=y5-y3; +x7=1/2[x8,x6]; y7=1/2[y8,y6] + tiny; +x9=x10=rightloc; y10=1/3[y2,y8]; y9=2/3[y2,y8]; % nose +x12=x8; y12=y3; x11=0.3[x8,x9]; y11=1/2[y10,y9]; % eye +draw z1--z3; % neck +draw z3..z4..{up}z5; % left ear +draw z6{right}..z7..z8;% right ear +draw z8--z9--z10--z2; % head +draw z11--z12; % eye +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{boar} +% A male pig. +% \begin{macrocode} +cmchar "Linear B boar"; +beginglyph(oct"251",0.8); +numeric alpha; alpha:=0.1h; +x1=x2=x3=leftloc+alpha; y1=0; +y2=10/20h; y3=h-2alpha; % neck +x5=leftloc; y5=h-small; % top of left ear +x4=0.5[x5,x3]; y4=0.5[y5,y3]-tiny; +x6=x5+small; y6=h; % top of right ear +x8-x6=x3-x5; y6-y8=y5-y3; +x7=1/2[x8,x6]; y7=1/2[y8,y6] + tiny; +x9=x10=rightloc; y10=1/3[y2,y8]; y9=2/3[y2,y8]; % nose +x12=x8; y12=y3; x11=0.3[x8,x9]; y11=1/2[y10,y9]; % eye +draw z1--z3; % neck +draw z3..z4..{up}z5; draw z6{right}..z7..z8; % ears +draw z8--z9--z10--z2; % head +draw z11--z12; % eye +x21=x23=leftloc; y21=1/3[y1,y2]; y23=2/3[y1,y2]; % bars +z22=z21 reflectedabout (z1,z2); +z24=z23 reflectedabout (z1,z2); +draw z21--z22; draw z23--z24; +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{sow} +% A female pig. +% \begin{macrocode} +cmchar "Linear B sow"; +beginglyph(oct"252",0.8); +numeric alpha; alpha:=0.1h; +x1=x2=x3=leftloc+alpha; y1=0; +y2=10/20h; y3=h-2alpha; % neck +x5=leftloc; y5=h-small; % left ear +x4=0.5[x5,x3]; y4=0.5[y5,y3]-tiny; +x6=x5+small; y6=h; % right ear +x8-x6=x3-x5; y6-y8=y5-y3; +x7=1/2[x8,x6]; y7=1/2[y8,y6] + tiny; +x9=x10=rightloc; y10=1/3[y2,y8]; y9=2/3[y2,y8]; % nose +x12=x8; y12=y3; x11=0.3[x8,x9]; y11=1/2[y10,y9]; % eye +draw z2--z3; % neck +draw z3..z4..{up}z5; draw z6{right}..z7..z8; % ears +draw z8--z9--z10--z2; % head +draw z11--z12; % eye +x21=leftloc; y21=0; % female neck +z22 = z21 reflectedabout (z1,z2); +draw z21--z2--z22; +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ox} +% This is the same as the \texttt{mu} glyph. +% \begin{macrocode} +cmchar "Linear B ox (mu)"; +beginglyph(oct"253",0.8); +numeric rad; rad:=small; +x1=x2=leftloc+2rad; y1=0; y2=h-rad; % stem +x3=x5=leftloc+rad; y3=h; y5=y3-2rad; +x4=leftloc; y4=y2; +x6=x8=rightloc; y6=y5; y8=y3; % bar and curve +x7=x6-rad; y7=0.5[y6,y8]; +x9=x7-1/2rad; y9=y6; +x10=x9; y10=y9-2rad; +x11=x1; y11=y5; % +draw z1--z2{up}..z3{left}..z4{down}..{right}z5--z6; % stem and bar +draw z6{left}..z7{up}..{right}z8; % curve +draw z9--z10; +labels(1,2,3,4,5,6,7,8,9,10,11,12); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{bull} +% A male ox. +% \begin{macrocode} +cmchar "Linear B bull"; +beginglyph(oct"254",0.8); +numeric rad; rad:=small; +x1=x2=leftloc+2rad; y1=0; y2=h-rad; % stem +x3=x5=leftloc+rad; y3=h; y5=y3-2rad; +x4=leftloc; y4=y2; +x6=x8=rightloc; y6=y5; y8=y3; % bar and curve +x7=x6-rad; y7=0.5[y6,y8]; +x9=x7-1/2rad; y9=y6; +x10=x9; y10=y9-2rad; +x11=x1; y11=y5; % +draw z1--z2{up}..z3{left}..z4{down}..{right}z5--z6; % stem and bar +draw z6{left}..z7{up}..{right}z8; % curve +draw z9--z10; +x21=x23=leftloc; y21=1/3[y1,y11]; y23=2/3[y1,y11]; +z22=z21 reflectedabout (z1,z11); z24=z23 reflectedabout (z1,z11); +draw z21--z22; draw z23--z24; +labels(1,2,3,4,5,6,7,8,9,10,11,12); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{cow} +% A female ox. +% \begin{macrocode} +cmchar "Linear B cow (mu)"; +beginglyph(oct"255",0.8); +numeric rad; rad:=small; +x1=x2=leftloc+2rad; y1=0; y2=h-rad; % stem +x3=x5=leftloc+rad; y3=h; y5=y3-2rad; +x4=leftloc; y4=y2; +x6=x8=rightloc; y6=y5; y8=y3; % bar and curve +x7=x6-rad; y7=0.5[y6,y8]; +x9=x7-1/2rad; y9=y6; +x10=x9; y10=y9-2rad; +x11=x1; y11=y5; % +draw z11--z2{up}..z3{left}..z4{down}..{right}z5--z6; % stem and bar +draw z6{left}..z7{up}..{right}z8; % curve +draw z9--z10; +x21=leftloc; y21=0; +z22=z21 reflectedabout (z1,z11); +draw z21--z11--z22; +labels(1,2,3,4,5,6,7,8,9,10,11,12); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{sheep} +% \begin{macrocode} +cmchar "Linear B sheep"; +beginglyph(oct"260",0.8); +x1=x2=16/20[leftloc,rightloc]; y1=0; y2=17/20h; % upright +x3=x8=rightloc; y8=h; y8-y2=y2-y3; % tail +x5=leftloc; y5=y2; % nose +x6=x4=10/20[x2,x5]; y4=y8; y6=y3; % middle of body +draw z1--z2; % upright +draw z3..z2..z4..z5..z6..z2..z8; +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{ram} +% Male sheep; +% \begin{macrocode} +cmchar "Linear B ram"; +beginglyph(oct"261",0.8); +x1=x2=16/20[leftloc,rightloc]; y1=0; y2=17/20h; % upright +x3=x8=rightloc; y8=h; y8-y2=y2-y3; % tail +x5=leftloc; y5=y2; % nose +x6=x4=10/20[x2,x5]; y4=y8; y6=y3; % middle of body +draw z1--z2; % upright +draw z3..z2..z4..z5..z6..z2..z8; +x22=x24=rightloc; y22=1/3[y1,y2]; y24=2/3[y1,y2]; +z21 = z22 reflectedabout (z1,z2); +z23 = z24 reflectedabout (z1,z2); +draw z21--z22; draw z23--z24; % bars +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{ewe} +% Female sheep; +% \begin{macrocode} +cmchar "Linear B ewe"; +beginglyph(oct"262",0.8); +x1=x2=16/20[leftloc,rightloc]; y1=0; y2=17/20h; % upright +x3=x8=rightloc; y8=h; y8-y2=y2-y3; % tail +x5=leftloc; y5=y2; % nose +x6=x4=10/20[x2,x5]; y4=y8; y6=y3; % middle of body +%draw z1--z2; % upright +draw z3..z2..z4..z5..z6..z2..z8; +x22=rightloc; y22=0; +z21 = z22 reflectedabout (z1,z2); +draw z21--z2--z22; % legs +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{goat} +% \begin{macrocode} +cmchar "Linear B goat"; +beginglyph(oct"263",0.8); +x1=x2= 16/20[leftloc,rightloc]; y1=0; y2=20/20h; % upright +x3=rightloc; y3=17/20h; % tail +x6=leftloc; y6=y3; +x5=1/3[x6,x2]; x4=2/3[x6,x2]; y5=h; y4=y6; +draw z1--z2; % upright +draw z3{left}..z2; draw z2..z4..z5..z6; +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{billy} +% Male goat. +% \begin{macrocode} +cmchar "Linear B billy"; +beginglyph(oct"264",0.8); +x1=x2= 16/20[leftloc,rightloc]; y1=0; y2=20/20h; % upright +x3=rightloc; y3=17/20h; % tail +x6=leftloc; y6=y3; +x5=1/3[x6,x2]; x4=2/3[x6,x2]; y5=h; y4=y6; +draw z1--z2; % upright +draw z3{left}..z2; draw z2..z4..z5..z6; +x22=x24=rightloc; y22=1/3[y1,y2]; y24=2/3[y1,y2]; +z21 = z22 reflectedabout (z1,z2); +z23 = z24 reflectedabout (z1,z2); +draw z21--z22; draw z23--z24; % bars +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{nanny} +% Female goat. +% \begin{macrocode} +cmchar "Linear B nanny"; +beginglyph(oct"265",0.8); +x1=x2= 16/20[leftloc,rightloc]; y1=0; y2=20/20h; % upright +x3=rightloc; y3=17/20h; % tail +x6=leftloc; y6=y3; +x5=1/3[x6,x2]; x4=2/3[x6,x2]; y5=h; y4=y6; +%draw z1--z2; % upright +draw z3{left}..z2; draw z2..z4..z5..z6; +x22=rightloc; y22=0; +z21 = z22 reflectedabout (z1,z2); +draw z21--z2--z22; % legs +labels(1,2,3,4,5,6,7,8); endchar; + +% \end{macrocode} +% \end{routine} +% +% \subsection{Weapons} +% +% \changes{v1.2}{2005/06/22}{Added 6 weapon glyphs} +% +% +% \begin{routine}{chariot} +% \begin{macrocode} +cmchar "Linear B chariot"; +beginglyph(oct"270", 1.2); +x1=leftloc; x2=1/20[rightloc,leftloc]; % chariot ends +y5=13/20h; % chariot height +x3=x4=x5=1/3[x1,x2]; y3=0; y4=1/2[y3,y5]; % wheel locations +y1=y2=1/2[y4,y5]; +draw z2..z5..z1..z4..z2; % body +y13=1/2[y3,y4]; y14=1/2[y4,y5]; +x3-x13=1/2(y4-y3); x14=x13; +z23=z13 reflectedabout (z3,z5); z24=z14 reflectedabout (z3,z5); +draw z3..z13..z4..z23..cycle; draw z3--z4; draw z13--z23; % lower wheel +draw z4..z14..z5..z24..cycle; draw z4--z5; draw z14--z24; % upper wheel +x32=rightloc; y32-y2 = y5-y24; % upper harness +x31=x32; y2-y31=y32-y2; z200=z2; % lower harness +draw_vloop(2,32,0.75); draw_vloop(200,31,0.75); % harness +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{chariot chassis} +% \begin{macrocode} +cmchar "Linear B chariot chassis"; +beginglyph(oct"271", 1.2); +x1=leftloc; x2=1/20[rightloc,leftloc]; % chariot ends +y5=13/20h; % chariot height +x3=x4=x5=1/3[x1,x2]; y3=0; y4=1/2[y3,y5]; % wheel locations +y1=y2=1/2[y4,y5]; +y13=1/2[y3,y4]; y14=1/2[y4,y5]; +x3-x13=1/2(y4-y3); x14=x13; +x100=x3; y100=y13; +draw z2..z5..z1..z100..z2; % body +draw z100--z5; +z23=z13 reflectedabout (z3,z5); z24=z14 reflectedabout (z3,z5); +%draw z3..z13..z4..z23..cycle; draw z3--z4; draw z13--z23; % lower wheel +%draw z4..z14..z5..z24..cycle; draw z4--z5; draw z14--z24; % upper wheel +x32=rightloc; y32-y2 = y5-y24; % upper harness +x31=x32; y2-y31=y32-y2; z200=z2; % lower harness +draw_vloop(2,32,0.75); draw_vloop(200,31,0.75); % harness +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,100); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{chariot wheel} +% \begin{macrocode} +cmchar "Linear B wheel"; +beginglyph(oct"272", 0.6); +x1=leftloc; x3=rightloc; y4=0; x0=x4=x2=1/2[x1,x3]; +y0-y4=x0-x1; y1=y3=y0; y2-y0=y0-y4; +draw z1..z2..z3..z4..cycle; % rim +draw z1--z3; draw z2--z4; % 4 spokes +z11=z1 rotatedaround (z0,45); % draw z11--z0; +z12=z2 rotatedaround (z0,45); % draw z12--z0; +z13=z3 rotatedaround (z0,45); % draw z13--z0; +z14=z4 rotatedaround (z0,45); % draw z14--z0; +draw z11--z13; draw z12--z14; +labels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18); endchar; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{sword} +% \begin{macrocode} +cmchar "Linear B sword"; +beginglyph(oct"273", 0.3); +x1=x2=midloc; y1=0; y2=h; +x3=x5=leftloc; x4=x7=rightloc; y3=y4=0; y5=y7=1/4h; +draw z3--z4; % handle +draw z5--z2--z7--cycle; % blade +draw z1--z2; +labels(1,2,3,4,5,6,7); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{arrow} +% \begin{macrocode} +cmchar "Linear B arrow"; +beginglyph(oct"274", 0.8); +numeric alpha, beta; alpha=4/20h; +x1=leftloc+alpha; x3=rightloc; y1=y3=alpha; % shaft +z2=5/20[z1,z3]; +beta=x2-x1; +z11=(leftloc,0); x21=x11; y21-y1=y1-y11; % fletches +z12=z11 shifted (beta,0); z22=z21 shifted (beta,0); +x13=x23 = x3-alpha; y13=y11; y23=y21; % head +draw z1--z3; draw z11--z1--z21; draw z12--z2--z22; draw z13--z3--z23; +labels(1,2,3,11,12,13,21,22,23); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{spear} +% \begin{macrocode} +cmchar "Linear B spear"; +beginglyph(oct"275", 0.8); +numeric alpha; alpha=4/20h; +pair SH, HS; +z1=(leftloc,h); z2=(rightloc,0); % shaft +SH = (x2-x1, y2-y1); +HS = (y2-y1, x1-x2); +z4=12/20[z1,z2]; +x6=1/3[x4,x2]; y6=0; +z9 = 1/3[z4,z2]; z7=z9 shifted -0.1HS; +draw z1--z2; +draw z4..z6; draw z6..{SH}z2; +draw z4..z7..z2; +labels(1,2,3,4,4,6,7,8,9); endchar; + +% \end{macrocode} +% \end{routine} +% +% +% The end of this file +% \begin{macrocode} +end + +% +% \end{macrocode} +% +% +% +% \section{The font definition files} \label{sec:fd} +% +% \begin{macrocode} +%<*fdot1> +\ProvidesFile{ot1linb.fd}[1999/06/20 v1.0 Linear B font definition] +\DeclareFontFamily{OT1}{linb}{} + \DeclareFontShape{OT1}{linb}{m}{n}{ <-> linb10 }{} + \DeclareFontShape{OT1}{linb}{bx}{n}{ <-> sub linb/m/n }{} + \DeclareFontShape{OT1}{linb}{b}{n}{ <-> sub linb/m/n }{} + \DeclareFontShape{OT1}{linb}{m}{sl}{ <-> sub linb/m/n }{} + \DeclareFontShape{OT1}{linb}{m}{it}{ <-> sub linb/m/n }{} +% +% \end{macrocode} +% +% +% \begin{macrocode} +%<*fdt1> +\ProvidesFile{t1linb.fd}[1999/06/20 v1.0 Linear B font definition] +\DeclareFontFamily{T1}{linb}{} + \DeclareFontShape{T1}{linb}{m}{n}{ <-> linb10 }{} + \DeclareFontShape{T1}{linb}{bx}{n}{ <-> sub linb/m/n }{} + \DeclareFontShape{T1}{linb}{b}{n}{ <-> sub linb/m/n }{} + \DeclareFontShape{T1}{linb}{m}{sl}{ <-> sub linb/m/n }{} + \DeclareFontShape{T1}{linb}{m}{it}{ <-> sub linb/m/n }{} +% +% \end{macrocode} +% +% \section{The \Lpack{linearb} package code} \label{sec:code} +% +% Announce the name and version of the package, which requires +% \LaTeXe{}. +% \begin{macrocode} +%<*usc> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{linearb}[2005/06/22 v1.2 package for Linear B 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}{\linbfamily} +% Selects the Linear B font family in the T1 encoding if this +% is the document's default encoding. With the extended glyphs I think +% that T1 should be used in any case. +% \changes{v1.2}{2005/06/22}{Only select the T1 encoding} +% \begin{macrocode} +%%%\ifx\Tienc\encodingdefault +%%% \newcommand{\linbfamily}{\usefont{T1}{linb}{m}{n}} +%%%\else +%%% \newcommand{\linbfamily}{\usefont{OT1}{linb}{m}{n}} +%%%\fi +\newcommand{\linbfamily}{\usefont{T1}{linb}{m}{n}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textlinb} +% Text command for the Linear B font family. +% \begin{macrocode} +\DeclareTextFontCommand{\textlinb}{\linbfamily} +% \end{macrocode} +% \end{macro} +% +% The commands for the basic signs. +% \begin{macro}{\Ba} +% \begin{macro}{\Be} +% \begin{macro}{\Bi} +% \begin{macro}{\Bo} +% \begin{macro}{\Bu} +% The 5 vowels. +% \begin{macrocode} +\chardef\Ba=`a +\chardef\Be=`e +\chardef\Bi=`i +\chardef\Bo=`o +\chardef\Bu=`u +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\Bda} +% \begin{macro}{\Bde} +% \begin{macro}{\Bdi} +% \begin{macro}{\Bdo} +% \begin{macro}{\Bdu} +% The 5 D syllables. +% \begin{macrocode} +\chardef\Bda=`d +\chardef\Bde=`D +\chardef\Bdi=`f +\chardef\Bdo=`g +\chardef\Bdu=`x +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\Bja} +% \begin{macro}{\Bje} +% \begin{macro}{\Bjo} +% \begin{macro}{\Bju} +% The 4 J syllables. +% \begin{macrocode} +\chardef\Bja=`j +\chardef\Bje=`J +\chardef\Bjo=`b +\chardef\Bju=`L +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\Bka} +% \begin{macro}{\Bke} +% \begin{macro}{\Bki} +% \begin{macro}{\Bko} +% \begin{macro}{\Bku} +% The 5 K syllables. +% \begin{macrocode} +\chardef\Bka=`k +\chardef\Bke=`K +\chardef\Bki=`c +\chardef\Bko=`h +\chardef\Bku=`v +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\Bma} +% \begin{macro}{\Bme} +% \begin{macro}{\Bmi} +% \begin{macro}{\Bmo} +% \begin{macro}{\Bmu} +% The 5 M syllables. +% \begin{macrocode} +\chardef\Bma=`m +\chardef\Bme=`M +\chardef\Bmi=`y +\chardef\Bmo=`A +\chardef\Bmu=`B +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\Bna} +% \begin{macro}{\Bne} +% \begin{macro}{\Bni} +% \begin{macro}{\Bno} +% \begin{macro}{\Bnu} +% The 5 N syllables. +% \begin{macrocode} +\chardef\Bna=`n +\chardef\Bne=`N +\chardef\Bni=`C +\chardef\Bno=`E +\chardef\Bnu=`F +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\Bpa} +% \begin{macro}{\Bpe} +% \begin{macro}{\Bpi} +% \begin{macro}{\Bpo} +% \begin{macro}{\Bpu} +% The 5 P syllables. +% \begin{macrocode} +\chardef\Bpa=`p +\chardef\Bpe=`P +\chardef\Bpi=`G +\chardef\Bpo=`H +\chardef\Bpu=`I +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\Bqa} +% \begin{macro}{\Bqe} +% \begin{macro}{\Bqi} +% \begin{macro}{\Bqo} +% The 4 Q syllables. +% \begin{macrocode} +\chardef\Bqa=`q +\chardef\Bqe=`Q +\chardef\Bqi=`X +\chardef\Bqo=`8 +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\Bra} +% \begin{macro}{\Bre} +% \begin{macro}{\Bri} +% \begin{macro}{\Bro} +% \begin{macro}{\Bru} +% The 5 R syllables. +% \begin{macrocode} +\chardef\Bra=`r +\chardef\Bre=`R +\chardef\Bri=`O +\chardef\Bro=`U +\chardef\Bru=`V +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\Bsa} +% \begin{macro}{\Bse} +% \begin{macro}{\Bsi} +% \begin{macro}{\Bso} +% \begin{macro}{\Bsu} +% The 5 S syllables. +% \begin{macrocode}% +\chardef\Bsa=`s +\chardef\Bse=`S +\chardef\Bsi=`Y +\chardef\Bso=`1 +\chardef\Bsu=`2 +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\Bta} +% \begin{macro}{\Bte} +% \begin{macro}{\Bti} +% \begin{macro}{\Bto} +% \begin{macro}{\Btu} +% The 5 T syllables. +% \begin{macrocode} +\chardef\Bta=`t +\chardef\Bte=`T +\chardef\Bti=`3 +\chardef\Bto=`4 +\chardef\Btu=`5 +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\Bwa} +% \begin{macro}{\Bwe} +% \begin{macro}{\Bwi} +% \begin{macro}{\Bwo} +% The 4 W syllables. +% \begin{macrocode} +\chardef\Bwa=`w +\chardef\Bwe=`W +\chardef\Bwi=`6 +\chardef\Bwo=`7 +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\Bza} +% \begin{macro}{\Bze} +% \begin{macro}{\Bzo} +% The 3 Z syllables. +% \begin{macrocode} +\chardef\Bza=`z +\chardef\Bze=`Z +\chardef\Bzo=`9 +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\Baii} +% \begin{macro}{\Baiii} +% \begin{macro}{\Bau} +% \begin{macro}{\Bdwe} +% \begin{macro}{\Bdwo} +% \begin{macro}{\Bnwa} +% \begin{macro}{\Bpaiii} +% \begin{macro}{\Bpuii} +% \begin{macro}{\Bpte} +% \begin{macro}{\Braii} +% \begin{macro}{\Braiii} +% \begin{macro}{\Boii} +% \begin{macro}{\Bswa} +% \begin{macro}{\Bswi} +% \begin{macro}{\Btaii} +% \begin{macro}{\Btwo} +% The commands for the 16 optional characters. +% \begin{macrocode} +\chardef\Baii='073 +\chardef\Baiii='074 +\chardef\Bau='075 +\chardef\Bdwe='076 +\chardef\Bdwo='077 +\chardef\Bnwa='100 +\chardef\Bpaiii='133 +\chardef\Bpuii='134 +\chardef\Bpte='135 +\chardef\Braii='136 +\chardef\Braiii='137 +\chardef\Broii='140 +\chardef\Bswa='173 +\chardef\Bswi='174 +\chardef\Btaii='175 +\chardef\Btwo='176 +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\BUi} +% \begin{macro}{\BUii} +% \begin{macro}{\BUiii} +% \begin{macro}{\BUiv} +% \begin{macro}{\BUv} +% \begin{macro}{\BUvi} +% \begin{macro}{\BUvii} +% \begin{macro}{\BUviii} +% \begin{macro}{\BUix} +% \begin{macro}{\BUx} +% \begin{macro}{\BUxi} +% The commands for the 11 unidentified characters. +% \changes{v1.2}{2005/06/22}{Changed the macros for unidentified glyphs} +% \begin{macrocode} +%%%\chardef\BUi='000 +%%%\chardef\BUii='001 +%%%\chardef\BUiii='002 +%%%\chardef\BUiv='003 +%%%\chardef\BUv='004 +%%%\chardef\BUvi='005 +%%%\chardef\BUvii='006 +%%%\chardef\BUviii='007 +%%%\chardef\BUix='010 +%%%\chardef\BUx='011 +%%%\chardef\BUxi='012 +\chardef\BUi='035 +\chardef\BUii='036 +\chardef\BUiii='037 +\chardef\BUiv='040 +\chardef\BUv='041 +\chardef\BUvi='042 +\chardef\BUvii='043 +\chardef\BUviii='044 +\chardef\BUix='045 +\chardef\BUx='046 +\chardef\BUxi='047 +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\BUxii} +% \begin{macro}{\Btwe} +% My last unidentified character which \jurgen{} says is the \textit{twe} +% syllable. +% \begin{macrocode} +\chardef\BUxii='177 +\chardef\Btwe='177 +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% Now the commands for numerals. +% \begin{macro}{\BNi} +% \begin{macro}{\BNii} +% \begin{macro}{\BNiii} +% \begin{macro}{\BNiv} +% \begin{macro}{\BNv} +% \begin{macro}{\BNvi} +% \begin{macro}{\BNvii} +% \begin{macro}{\BNviii} +% \begin{macro}{\BNix} +% Commands for numbers from 1 to 9. +% \changes{v1.2}{2005/06/22}{Changed the macros for the numerals} +% +% \begin{macrocode} +%%%\chardef\BNi='013 +%%%\chardef\BNii='014 +%%%\chardef\BNiii='015 +%%%\chardef\BNiv='016 +%%%\chardef\BNv='017 +%%%\chardef\BNvi='020 +%%%\chardef\BNvii='021 +%%%\chardef\BNviii='022 +%%%\chardef\BNix='023 +\chardef\BNi='001 +\chardef\BNii='002 +\chardef\BNiii='003 +\chardef\BNiv='004 +\chardef\BNv='005 +\chardef\BNvi='006 +\chardef\BNvii='007 +\chardef\BNviii='010 +\chardef\BNix='011 +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\BNx} +% \begin{macro}{\BNxx} +% \begin{macro}{\BNxxx} +% \begin{macro}{\BNxl} +% \begin{macro}{\BNl} +% \begin{macro}{\BNlx} +% \begin{macro}{\BNlxx} +% \begin{macro}{\BNlxxx} +% \begin{macro}{\BNxc} +% Commands for the tens, 10 to 90 +% \begin{macrocode} +%%%\chardef\BNx='024 +%%%\chardef\BNxx='025 +%%%\chardef\BNxxx='026 +%%%\chardef\BNxl='027 +%%%\chardef\BNl='030 +%%%\chardef\BNlx='031 +%%%\chardef\BNlxx='032 +%%%\chardef\BNlxxx='033 +%%%\chardef\BNxc='034 +\chardef\BNx='012 +\chardef\BNxx='013 +\chardef\BNxxx='014 +\chardef\BNxl='015 +\chardef\BNl='016 +\chardef\BNlx='017 +\chardef\BNlxx='020 +\chardef\BNlxxx='021 +\chardef\BNxc='022 +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\BNc} +% \begin{macro}{\BNcc} +% \begin{macro}{\BNccc} +% \begin{macro}{\BNcd} +% \begin{macro}{\BNd} +% \begin{macro}{\BNdc} +% \begin{macro}{\BNdcc} +% \begin{macro}{\BNdccc} +% \begin{macro}{\BNcm} +% Commands for the hundreds, 100 to 900 +% \begin{macrocode} +%%%\chardef\BNc='035 +%%%\chardef\BNcc='036 +%%%\chardef\BNccc='037 +%%%\chardef\BNcd='040 +%%%\chardef\BNd='041 +%%%\chardef\BNdc='042 +%%%\chardef\BNdcc='043 +%%%\chardef\BNdccc='044 +%%%\chardef\BNcm='045 +\chardef\BNc='023 +\chardef\BNcc='024 +\chardef\BNccc='025 +\chardef\BNcd='026 +\chardef\BNd='027 +\chardef\BNdc='030 +\chardef\BNdcc='031 +\chardef\BNdccc='032 +\chardef\BNcm='033 +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\BNm} +% Command for 1000. +% \begin{macrocode} +%%\chardef\BNm='046 +\chardef\BNm='034 + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\BPwta} +% \begin{macro}{\BPwtb} +% \begin{macro}{\BPwtc} +% \begin{macro}{\BPwtd} +% \begin{macro}{\BPtalent} +% \begin{macro}{\BPvola} +% \begin{macro}{\BPvolb} +% \begin{macro}{\BPvolcd} +% \begin{macro}{\BPvolcf} +% Macros for the weights and measures pictograms. +% \changes{v1.2}{2005/06/22}{Added macros for weights and measures} +% \begin{macrocode} +\chardef\BPwta='200 +\chardef\BPwtb='201 +\chardef\BPwtc='202 +\chardef\BPwtd='203 +\chardef\BPtalent='204 +\chardef\BPvola='210 +\chardef\BPvolb='211 +\chardef\BPvolcd='212 +\chardef\BPvolcf='213 + +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{BPcloth} +% \begin{macro}{BPwool} +% \begin{macro}{BPwheat} +% \begin{macro}{BPbarley} +% \begin{macro}{BPwine} +% \begin{macro}{BPolive} +% \begin{macro}{BPbronze} +% \begin{macro}{BPgold} +% Macros for commodities. +% \changes{v1.2}{2005/06/22}{Added macros for commodities} +% \begin{macrocode} +\chardef\BPcloth='220 +\chardef\BPwool='221 +\chardef\BPwheat='222 +\chardef\BPbarley='223 +\chardef\BPwine='224 +\chardef\BPolive='225 +\chardef\BPbronze='226 +\chardef\BPgold='227 + +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\BPcup} +% \begin{macro}{\BPgoblet} +% \begin{macro}{\BPamphora} +% \begin{macro}{\BPwineiih} +% \begin{macro}{\BPwineiiih} +% \begin{macro}{\BPwineivh} +% \begin{macro}{\BPcauldroni} +% \begin{macro}{\BPcauldronii} +% Macros for vessels for holding liquid. +% \changes{v1.2}{2005/06/22}{Added macros for vessels} +% \begin{macrocode} +\chardef\BPcup='230 +\chardef\BPgoblet='231 +\chardef\BPamphora='232 +\chardef\BPwineiih='233 +\chardef\BPwineiiih='234 +\chardef\BPwineivh='235 +\chardef\BPcauldroni='236 +\chardef\BPcauldronii='237 + +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\BPman} +% \begin{macro}{\BPwoman} +% \begin{macro}{\BPhorse} +% \begin{macro}{\BPfoal} +% Macros for man, woman, and horses. +% \changes{v1.2}{2005/06/22}{Added macros for humans and horses} +% \begin{macrocode} +\chardef\BPman='240 +\chardef\BPwoman='241 +\chardef\BPhorse='244 +\chardef\BPfoal='245 + +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\BPpig} +% \begin{macro}{\BPboar} +% \begin{macro}{\BPsow} +% \begin{macro}{\BPox} +% \begin{macro}{\BPbull} +% \begin{macro}{\BPcow} +% Macros for pigs and oxen. +% \changes{v1.2}{2005/06/22}{Added macros for livestock} +% \begin{macrocode} +\chardef\BPpig='250 +\chardef\BPboar='251 +\chardef\BPsow='252 +\chardef\BPox='253 +\chardef\BPbull='254 +\chardef\BPcow='255 + +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\BPsheep} +% \begin{macro}{\BPram} +% \begin{macro}{\BPewe} +% \begin{macro}{\BPgoat} +% \begin{macro}{\BPbilly} +% \begin{macro}{\BPnanny} +% Macros for sheep and goats. +% \begin{macrocode} +\chardef\BPsheep='260 +\chardef\BPram='261 +\chardef\BPewe='262 +\chardef\BPgoat='263 +\chardef\BPbilly='264 +\chardef\BPnanny='265 + +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\BPchariot} +% \begin{macro}{\BPchassis} +% \begin{macro}{\BPwheel} +% \begin{macro}{\BPsword} +% \begin{macro}{\BParrow} +% \begin{macro}{\BPspear} +% Weapons of war. +% \changes{v1.2}{2005/06/22}{Added macros for weapons} +% \begin{macrocode} +\chardef\BPchariot='270 +\chardef\BPchassis='271 +\chardef\BPwheel='272 +\chardef\BPsword='273 +\chardef\BParrow='274 +\chardef\BPspear='275 + +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\translitlinbfont} +% \begin{macro}{\translitlinb} +% |\translitlinb{|\meta{char-commands}|}| transliterates Linear B character +% commands into distinguished syllables; these are typeset using the +% |\translitlinbfont| font specification. +% \begin{macrocode} +\newcommand{\translitlinbfont}{\itshape} +\newcommand{\translitlinb}[1]{{% + \@translitB\translitlinbfont #1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@translitB} +% This macro redefines all the character producing commands for use +% in |\translitlinb|. +% +% Start with the 5 vowels. We have to make sure that there are no extraneous +% spaces within the command. +% \begin{macrocode} +\newcommand{\@translitB}{% +\def\Ba{a-}\def\Be{e-}\def\Bi{i-}\def\Bo{o-}\def\Bu{u-}% +% \end{macrocode} +% +% The 5 D syllables. +% \begin{macrocode} +\def\Bda{da-}\def\Bde{de-}\def\Bdi{di-}\def\Bdo{do-}\def\Bdu{du-}% +% \end{macrocode} +% +% The 4 J syllables. +% \begin{macrocode} +\def\Bja{ja-}\def\Bje{je-}\def\Bjo{jo-}\def\Bju{ju-}% +% \end{macrocode} +% +% The 5 K syllables. +% \begin{macrocode} +\def\Bka{ka-}\def\Bke{ke-}\def\Bki{ki-}\def\Bko{ko-}\def\Bku{ku-}% +% \end{macrocode} +% +% The 5 M syllables. +% \begin{macrocode} +\def\Bma{ma-}\def\Bme{me-}\def\Bmi{mi-}\def\Bmo{mo-}\def\Bmu{mu-}% +% \end{macrocode} +% +% The 5 N syllables. +% \begin{macrocode} +\def\Bna{na-}\def\Bne{ne-}\def\Bni{ni-}\def\Bno{no-}\def\Bnu{nu-}% +% \end{macrocode} +% +% The 5 P syllables. +% \begin{macrocode} +\def\Bpa{pa-}\def\Bpe{pe-}\def\Bpi{pi-}\def\Bpo{po-}\def\Bpu{pu-}% +% \end{macrocode} +% +% The 4 Q syllables. +% \begin{macrocode} +\def\Bqa{qa-}\def\Bqe{qe-}\def\Bqi{qi-}\def\Bqo{qo-}% +% \end{macrocode} +% +% The 5 R syllables. +% \begin{macrocode} +\def\Bra{ra-}\def\Bre{re-}\def\Bri{ri-}\def\Bro{ro-}\def\Bru{ru-}% +% \end{macrocode} +% +% The 5 S syllables. +% \begin{macrocode} +\def\Bsa{sa-}\def\Bse{se-}\def\Bsi{si-}\def\Bso{so-}\def\Bsu{su-}% +% \end{macrocode} +% +% The 5 T syllables. +% \begin{macrocode} +\def\Bta{ta-}\def\Bte{te-}\def\Bti{ti-}\def\Bto{to-}\def\Btu{tu-}% +% \end{macrocode} +% +% The 4 W syllables. +% \begin{macrocode} +\def\Bwa{wa-}\def\Bwe{we-}\def\Bwi{wi-}\def\Bwo{wo-}% +% \end{macrocode} +% +% The 3 Z syllables. +% \begin{macrocode} +\def\Bza{za-}\def\Bze{ze-}\def\Bzo{zo-}% +% \end{macrocode} +% +% The 16 optional signs. +% \begin{macrocode} +\def\Baii{a2-}\def\Baiii{a3-}\def\Bau{au-}% +\def\Bdwe{dwe-}\def\Bdwo{dwo-}% +\def\Bnwa{nwa-}% +\def\Bpaiii{pa3-}\def\Bpuii{pu2-}\def\Bpte{pte-}% +\def\Braii{ra2-}\def\Braiii{ra3-}\def\Broii{ro2-}% +\def\Bswa{swa-}\def\Bswi{swi-}% +\def\Btaii{ta2-}\def\Btwo{two-}% +% \end{macrocode} +% +% The numbers. +% \begin{macrocode} +\def\BNi{1-}\def\BNii{2-}\def\BNiii{3-}\def\BNiv{4-}\def\BNv{5-}% + \def\BNvi{6-}\def\BNvii{7-}\def\BNviii{8-}\def\BNix{9-}% +\def\BNx{10-}\def\BNxx{20-}\def\BNxxx{30-}\def\BNxl{40-}\def\BNl{50-}% + \def\BNlx{60-}\def\BNlxx{70-}\def\BNlxxx{80-}\def\BNxc{90-}% +\def\BNc{100-}\def\BNcc{200-}\def\BNccc{300-}\def\BNcd{400-}\def\BNd{500-}% + \def\BNdc{600-}\def\BNdcc{700-}\def\BNdccc{800-}\def\BNcm{900-}% +\def\BNm{1000-}% +% \end{macrocode} +% +% The 11 unidentified signs. These all map to `?-'. +% \begin{macrocode} +\def\BUi{?-}\def\BUii{?-}\def\BUiii{?-}\def\BUiv{?-}\def\BUv{?-}\def\BUvi{?-}% + \def\BUvii{?-}\def\BUviii{?-}\def\BUix{?-}\def\BUx{?-}\def\BUxi{?-}% +% \end{macrocode} +% +% The unidentified sign looking like a B, which \jurgen says is the \textit{twe} +% syllable. +% \begin{macrocode} +\def\BUxii{?-}\def\Btwe{twe-}% +% \end{macrocode} +% +% Weights and measures. +% \begin{macrocode} +\def\BPwta{ /weightA/ }\def\BPwtb{ /weightB/ }\def\BPwtc{ /weightC/ }% +\def\BPwtd{ /weightC/ }\def\BPtalent{ /talent/ }% +% \end{macrocode} +% Volumetric measures. +% \begin{macrocode} +\def\BPvola{ /volumeA/ }\def\BPvolb{ /volumeB/ }\def\BPvolcd{ /volumeC/ }% +\def\BPvolcf{ /volumeC/ }% +% \end{macrocode} +% +% Commodities. +% \begin{macrocode} +\def\BPcloth{ /cloth/ }\def\BPwool{ /wool/ }\def\BPwheat{ /wheat/ }% +\def\BPbarley{ /barley/ }\def\BPwine{ /wine/ }\def\BPolive{ /olive oil/ }% +\def\BPbronze{ /bronze/ }\def\BPgold{ /gold/ }% +% \end{macrocode} +% +% Vessels +% \begin{macrocode} +\def\BPcup{ /cup/ }\def\BPgoblet{ /goblet/ }\def\BPamphora{ /amphora/ }% +\def\BPwineiih{ /wine jar/ }\def\BPwineiiih{ /wine jar/ }\def\BPwineivh{ /wine jar/ }% +\def\BPcauldroni{ /cauldron/ }\def\BPcauldronii{ /cauldron/ }% +% \end{macrocode} +% +% Humans and horses +% \begin{macrocode} +\def\BPman{ /man/ }\def\BPwoman{ /woman/ }\def\BPhorse{ /horse/ }\def\BPfoal{ /foal/ }% +% \end{macrocode} +% +% Livestock. +% \begin{macrocode} +\def\BPpig{ /pig/ }\def\BPboar{ /boar/ }\def\BPsow{ /sow/ }% +\def\BPox{ /ox/ }\def\BPbull{ /bull/ }\def\BPcow{ /cow/ }% +\def\BPsheep{ /sheep/ }\def\BPram{ /ram/ }\def\BPewe{ /ewe/ }% +\def\BPgoat{ /goat/ }\def\BPbilly{ /billy/ }\def\BPnanny{ /nanny/ }% +% \end{macrocode} +% +% Weapons +% \begin{macrocode} +\def\BPchariot{ /chariot/ }\def\BPchassis{ /chassis/ }\def\BPwheel{ /wheel/ }% +\def\BPsword{ /sword/ }\def\BParrow{ /arrow/ }\def\BPspear{ /spear/ }% +% \end{macrocode} +% +% Close the macro definition. +% \begin{macrocode} +} % end of \@translitB +% \end{macrocode} +% \end{macro} +% +% +% The end of this package. +% \begin{macrocode} +% +% \end{macrocode} +% +% \section{Map file} +% +% A short map file. +% \changes{v1.2}{2005/06/22}{Added map file} +% +% \begin{macrocode} +%<*map> +linb10 Archaic-Linear-B +% \end{macrocode} +% +% That's it. +% +% +% \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 \~} + + -- cgit v1.2.3