summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fonts/archaic/oldprsn/copsn10.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/fonts/archaic/oldprsn/copsn10.mf')
-rw-r--r--Master/texmf-dist/doc/fonts/archaic/oldprsn/copsn10.mf1001
1 files changed, 1001 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/fonts/archaic/oldprsn/copsn10.mf b/Master/texmf-dist/doc/fonts/archaic/oldprsn/copsn10.mf
new file mode 100644
index 00000000000..5cba60ec790
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/archaic/oldprsn/copsn10.mf
@@ -0,0 +1,1001 @@
+%%
+%% This is file `copsn10.mf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% oldprsn.dtx (with options: `up')
+%% ------------------------------------------------------------------
+%% 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.
+%% ------------------------------------------------------------------
+%%% COPSN10.MF Computer Old Persian Cuneiform font 10 point design size.
+
+
+font_identifier:="oldprsn"; font_size 10pt#;
+
+u#:=.2pt#; % unit width
+ht#:=8pt#; % height of characters (CM cap-height is approx 6.8pt)
+s#:=1.5pt#; % width correction (right and left)
+o#:=1/20pt#; % overshoot
+px#:=.4pt#; % horizontal width of pen
+font_normal_space:=7pt#; % width of a blank space
+font_normal_shrink:=.9pt#; % width correction for blank space
+font_x_height:=4.5pt#; % height of one ex
+font_quad:=10pt#; % an em
+
+font_coding_scheme:="Old Persian glyphs";
+mode_setup;
+
+ho#:=o#; % horizontal overshoot
+leftloc#:=s#; % leftmost xcoord of character
+py#:=px#; % 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);
+
+numeric midloc, rightloc, aw;
+pickup pencircle xscaled px yscaled py;
+stylus:=savepen;
+
+numeric trht, trbs;
+numeric th, tb;
+th = 6/24; tb = 8/24;
+numeric wiht, wibs;
+numeric wh, wb;
+wh = 10/24; wb = 20/24;
+def beginglyph(expr code, unit_width) =
+ beginchar(code, unit_width*ht#+2s#, ht#, 0);
+ midloc:=1/2w; rightloc:=(w-s); aw := rightloc-leftloc;
+ trht := th*h; trbs := tb*h;
+ wiht := wh*h; wibs := wb*h;
+ pickup stylus enddef;
+
+let cmchar=\;
+
+
+def triangle(suffix $)(expr ht, bs, ang) =
+ path pth[];
+ pair pr[];
+ pr1 := (x$-ht,y$); % midpoint of base in default position
+ pr2 := pr1 shifted (1/2bs*up); % base points
+ pr3 := pr1 shifted (1/2bs*down);
+ z$trl = pr2 rotatedaround(z$, ang);
+ z$trr = pr3 rotatedaround(z$, ang);
+ z$trc = 1/2[z$trl,z$trr];
+ z$tic = 1/2[z$,z$trc];
+ pth$ := z$--z$trl--z$trr--cycle;
+enddef;
+
+
+def trir(suffix $)(expr ht, bs) =
+ path pth[];
+ z$trc = (x$-ht, y$); % midpoint of base
+ z$trl = (x$trc, y$trc+1/2bs); % base points
+ z$trr = (x$trc, y$trc-1/2bs);
+ z$tic = 1/2[z$,z$trc];
+ pth$ := z$--z$trl--z$trr--cycle;
+enddef;
+
+
+def triu(suffix $)(expr ht, bs) =
+ path pth[];
+ z$trc = (x$, y$-ht); % midpoint of base
+ z$trl = (x$-1/2bs, y$trc); % base points
+ z$trr = (x$+1/2bs, y$trc); % base points
+ z$tic = 1/2[z$,z$trc];
+ pth$ := z$--z$trl--z$trr--cycle;
+enddef;
+
+
+def tril(suffix $)(expr ht, bs) =
+ path pth[];
+ z$trc = (x$+ht, y$); % midpoint of base
+ z$trl = (x$trc, y$trc-1/2bs); % base points
+ z$trr = (x$trc, y$trc+1/2bs);
+ z$tic = 1/2[z$,z$trc];
+ pth$ := z$--z$trl--z$trr--cycle;
+enddef;
+
+
+def tril(suffix $)(expr ht, bs) =
+ path pth[];
+ z$trc = (x$+ht, y$); % midpoint of base
+ z$trl = (x$trc, y$trc-1/2bs); % base points
+ z$trr = (x$trc, y$trc+1/2bs);
+ z$tic = 1/2[z$,z$trc];
+ pth$ := z$--z$trl--z$trr--cycle;
+enddef;
+
+
+def trid(suffix $)(expr ht, bs) =
+ path pth[];
+ z$trc = (x$, y$+ht); % midpoint of base
+ z$trl = (x$+1/2bs, y$trc); % base points
+ z$trr = (x$-1/2bs, y$trc); % base points
+ z$tic = 1/2[z$,z$trc];
+ pth$ := z$--z$trl--z$trr--cycle;
+enddef;
+
+
+def wing(suffix $)(expr ht, bs, ang) =
+ path pth[];
+ pair pr[];
+ pr1 := (x$+ht,y$); % midpoint of base in default position
+ pr2 := pr1 shifted (1/2bs*down); % base points
+ pr3 := pr1 shifted (1/2bs*up);
+ pr4 := pr1 rotatedaround(z$, ang);
+ z$wil = pr2 rotatedaround(z$, ang);
+ z$wir = pr3 rotatedaround(z$, ang);
+ z$wic = 1/2[z$,pr4];
+ pth$ := z$--z$wil{(z$wic-z$wil)}..z$wic..{(z$wir-z$wic)}z$wir--cycle;
+enddef;
+
+
+def wingl(suffix $)(expr ht, bs) =
+ path pth[];
+ z$wil = (x$+ht, y$-1/2bs); % base points
+ z$wir = (x$wil, y$+1/2bs);
+ z$wic = (1/2[x$,x$wil], y$); % midpoint of base curve
+ pth$ := z$--z$wil{(z$wic-z$wil)}..z$wic..{(z$wir-z$wic)}z$wir--cycle;
+enddef;
+
+
+def wingd(suffix $)(expr ht, bs) =
+ path pth[];
+ z$wil = (x$+1/2bs, y$+ht); % base points
+ z$wir = (x$-1/2bs, y$wil);
+ z$wic = (x$, 1/2[y$,y$wil]); % midpoint of base curve
+ pth$ := z$--z$wil{(z$wic-z$wil)}..z$wic..{(z$wir-z$wic)}z$wir--cycle;
+enddef;
+
+
+def wingr(suffix $)(expr ht, bs) =
+ path pth[];
+ z$wil = (x$-ht, y$+1/2bs); % base points
+ z$wir = (x$wil, y$-1/2bs);
+ z$wic = (1/2[x$,x$wil], y$); % midpoint of base curve
+ pth$ := z$--z$wil{(z$wic-z$wil)}..z$wic..{(z$wir-z$wic)}z$wir--cycle;
+enddef;
+
+
+def wingu(suffix $)(expr ht, bs) =
+ path pth[];
+ z$wil = (x$-1/2bs, y$-ht); % base points
+ z$wir = (x$+1/2bs, y$wil);
+ z$wic = (x$, 1/2[y$,y$wil]); % midpoint of base curve
+ pth$ := z$--z$wil{(z$wic-z$wil)}..z$wic..{(z$wir-z$wic)}z$wir--cycle;
+enddef;
+
+cmchar "Old Persian letter a";
+beginglyph("a", (3tb+2th));
+ z1trl=(leftloc,h); % top pin
+ trir(1, trht, trbs); fill pth1;
+ z1'=(rightloc,y1); draw z1tic--z1';
+ z12trc=(midloc,y1trr); % middle pin
+ trid(12, trht, trbs); fill pth12;
+ z12'=(x12,0); draw z12tic--z12';
+ z11trl=z12trr; % left pin
+ trid(11, trht, trbs); fill pth11;
+ z11'=(x11,0); draw z11tic--z11';
+ z13trr=z12trl; % right pin
+ trid(13, trht, trbs); fill pth13;
+ z13'=(x13,0); draw z13tic--z13';
+ labels(1,11,12,13);
+endchar;
+
+cmchar "Old Persian letter i";
+beginglyph("i", (2tb)); %% 3tb too large
+ z1trl=(leftloc,h); % top pin
+ trir(1, trht, trbs); fill pth1;
+ z1'=(rightloc,y1); draw z1tic--z1';
+ z11trr=z1trr; % left pin
+ trid(11, trht, trbs); fill pth11;
+ z11'=(x11,0); draw z11tic--z11';
+ z12trr=z11trl; % middle pin
+ trid(12, trht, trbs); fill pth12;
+ z12'=(x12,0); draw z12tic--z12';
+ z2trc=(x11trl,y1); % second top head
+ trir(2, trht, trbs); fill pth2;
+ labels(1,2,11,12,13);
+endchar;
+
+cmchar "Old Persian letter u";
+beginglyph("u", (2tb+wh)); %% 3tb+wh too large
+ z31=(leftloc,1/2h); % left wing
+ wingl(31, wiht, wibs); fill pth31;
+ z1trl=(x31wil,h); % top pin
+ trir(1, trht, trbs); fill pth1;
+ z1'=(rightloc,y1); draw z1tic--z1';
+ z11trr=z1trr; % left pin
+ trid(11, trht, trbs); fill pth11;
+ z11'=(x11,0); draw z11tic--z11';
+ z12trr=z11trl; % middle pin
+ trid(12, trht, trbs); fill pth12;
+ z12'=(x12,0); draw z12tic--z12';
+ labels(1,2,11,12,13);
+endchar;
+
+cmchar "Old Persian syllable ka (k)";
+beginglyph("k", (3tb)); %% 4tb too large
+ z1trr=(leftloc,h); % left pin
+ trid(1, trht, trbs); fill pth1;
+ z1'=(x1,0); draw z1tic--z1';
+ z11trr=(x1trl,1/2h); % top pin
+ trir(11, trht, trbs); fill pth11;
+ z11'=(rightloc,y11); draw z11tic--z11';
+ z12trl=z11trr; % bottom pin
+ trir(12, trht, trbs); fill pth12;
+ z12'=(rightloc,y12); draw z12tic--z12';
+ labels(1,11,12);
+endchar;
+
+cmchar "Old Persian syllable ku (K)";
+beginglyph("K", (tb+wh));
+ z1=(leftloc,1/2h); % wing
+ wingl(1, wiht, wibs); fill pth1;
+ z2trr=(x1wil,h); % pin
+ trid(2, trht, trbs); fill pth2;
+ z2'=(x2,0); draw z2tic--z2';
+ labels(1,2);
+endchar;
+
+cmchar "Old Persian syllable xa (x)";
+beginglyph("x", (2tb+2wh));
+ z1=(leftloc,1/2h); % left wing
+ wingl(1, wiht, wibs); fill pth1;
+ z2=(x1wil,y1); % right wing
+ wingl(2, wiht, wibs); fill pth2;
+ z11trr=(x2wil,h); % left pin
+ trid(11, trht, trbs); fill pth11;
+ z11'=(x11,0); draw z11tic--z11';
+ z12trr=z11trl; % right pin
+ trid(12, trht, trbs); fill pth12;
+ z12'=(x12,0); draw z12tic--z12';
+ labels(1,2,11,12);
+endchar;
+
+cmchar "Old Persian syllable ga (g)";
+beginglyph("g", (3tb+wh));
+ z1=(leftloc,1/2h); % wing
+ wingl(1, wiht, wibs); fill pth1;
+ z11trr=(x1wil,h); % left pin
+ trid(11, trht, trbs); fill pth11;
+ z11'=(x11,0); draw z11tic--z11';
+ z12trr=z11trl; % right pin
+ trid(12, trht, trbs); fill pth12;
+ z12'=(x12,0); draw z12tic--z12';
+ z21trc=(x12trl,y1); % small pin
+ trir(21, trht, trbs); fill pth21;
+ z21'=(rightloc,y21); draw z21tic--z21';
+ labels(1,2,11,12,21);
+endchar;
+
+cmchar "Old Persian syllable gu (G)";
+beginglyph("G", (2tb+th+wh)); %% 3tb+wh too large
+ z1=(leftloc,1/2h); % wing
+ wingl(1, wiht, wibs); fill pth1;
+ z12trc=(x1wil, 1/2h); % middle pin
+ trir(12, trht, trbs); fill pth12;
+ z12'=(rightloc,y12); draw z12tic--z12';
+ z13trl=z12trr; % bottom pin
+ trir(13, trht, trbs); fill pth13;
+ z13'=(rightloc,y13); draw z13tic--z13';
+ z11trr=z12trl; % top pin
+ trir(11, trht, trbs); fill pth11;
+ z11'=(rightloc,y11); draw z11tic--z11';
+ z111trc=1/2[z11trc,z11'];
+ trir(111, trht, trbs); fill pth111;
+ labels(1,2,3,4,5,6,11,12,13,111);
+endchar;
+
+cmchar "Old Persian syllable ca (c)";
+beginglyph("c", (4tb));
+ z1trl=(leftloc,h); % top pin
+ trir(1, trht, trbs); fill pth1;
+ z11trr=(x1, y1trr); % left pin
+ trid(11, trht, trbs); fill pth11;
+ z11'=(x11,0); draw z11tic--z11';
+ z12trr=z11trl; % middle pin
+ trid(12, trht, trbs); fill pth12;
+ z12'=(x12,0); draw z12tic--z12';
+ z2trl=z12trl; % bottom pin
+ trir(2, trht, trbs); fill pth2;
+ z2'=(rightloc,y2); draw z2tic--z2';
+ z1'=(x2trl,y1); draw z1tic--z1'; % body of top pin
+ labels(1,2,3,4,5,6,11,12,13);
+endchar;
+
+cmchar "Old Persian syllable ja (j)";
+beginglyph("j", (th+tb+wh));
+ z1trc=(leftloc,1/2h); % hor pin
+ trir(1, trht, trbs); fill pth1;
+ z2=(rightloc-wiht,y1); % wing
+ wingl(2, wiht, wibs); fill pth2;
+ draw z1tic--z2;
+ z11trc=(1/2[x1,x2], h); % vert pin
+ trid(11, trht, trbs); fill pth11;
+ z11'=(x11,0); draw z11tic--z11';
+ labels(1,2,3,4,11,12,13);
+endchar;
+
+cmchar "Old Persian syllable ji (J)";
+beginglyph("J",(7/2tb+wh)); %% 4tb+wh too large
+ z1trc=(leftloc, 1/2h); % left pin
+ trir(1, trht, trbs); fill pth1;
+ z2=(x1+trbs, y1); % wing
+ draw z1tic--z2;
+ wingl(2, wiht, wibs); fill pth2;
+ z12trc=(x2wil,y1); % middle pin
+ trir(12, trht, trbs); fill pth12;
+ z12'=(rightloc, y12); draw z12tic--z12';
+ z11trr=z12trl; % top pin
+ trir(11, trht, trbs); fill pth11;
+ z11'=(rightloc, y11); draw z11tic--z11';
+ z13trl=z12trr; % bottom pin
+ trir(13, trht, trbs); fill pth13;
+ z13'=(rightloc, y13); draw z13tic--z13';
+ labels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+cmchar "Old Persian syllable ta (t)";
+beginglyph("t", (4tb+th)); %% 5tb too large
+ z3trl=(rightloc,h); % right pin
+ trid(3, trht, trbs); fill pth3;
+ z3'=(x3,0); draw z3tic--z3';
+ z1trl=(x3trr-trbs,h); % left pin
+ trid(1, trht, trbs); fill pth1;
+ z1'=(x1,0); draw z1tic--z1';
+ z11trr=(leftloc,1/2h); % top pin
+ trir(11, trht, trbs); fill pth11;
+ z11'=(x1,y11); draw z11tic--z11';
+ z12trl=z11trr; % bottom pin
+ trir(12, trht, trbs); fill pth12;
+ z12'=(x1,y12); draw z12tic--z12';
+ z2trc=(1/2[x1,x3], y11trl); % middle pin
+ trid(2, trht, trbs); fill pth2;
+ z2'=(x2,0); draw z2tic--z2';
+ labels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+cmchar "Old Persian syllable tu (T)";
+beginglyph("T", (4tb+th)); %% 5tb too large
+ z1trr=(leftloc,h); % left pin
+ trid(1, trht, trbs); fill pth1;
+ z1'=(x1,0); draw z1tic--z1';
+ z2trr=z1trl; % center pin
+ trid(2, trht, trbs); fill pth2;
+ z2'=(x2,0); draw z2tic--z2';
+ z3trr=z2trl; % right pin
+ trid(3, trht, trbs); fill pth3;
+ z3'=(x3,0); draw z3tic--z3';
+ z11trl=(x3trl, 1/2h); % short hor pin
+ trir(11, trht, trbs); fill pth11;
+ z11'=(rightloc,y11); draw z11tic--z11';
+ labels(1,2,3,11);
+endchar;
+
+cmchar "Old Persian syllable tha (o)";
+beginglyph("o", (2tb+wh));
+ z1trr=(leftloc,h); % left pin
+ trid(1, trht, trbs); fill pth1;
+ z1'=(x1,0); draw z1tic--z1';
+ z2=(x1,1/2h); % wing
+ wingl(2, wiht, wibs); fill pth2;
+ z3trr=(x2wil,h); % right pin
+ trid(3, trht, trbs); fill pth3;
+ z3'=(x3,0); draw z3tic--z3';
+ labels(1,2,3);
+endchar;
+
+cmchar "Old Persian syllable c(cedilla)a (C)";
+beginglyph("C", (2tb));
+ z1trl=(leftloc,h); % top pin
+ trir(1, trht, trbs); fill pth1;
+ z1'=(rightloc,y1); draw z1tic--z1';
+ z2trl=z1trr; % center pin
+ trir(2, trht, trbs); fill pth2;
+ z2'=(rightloc,y2); draw z2tic--z2';
+ z11trr=z2trr; % left pin
+ trid(11, trht, trbs); fill pth11;
+ z11'=(x11,0); draw z11tic--z11';
+ z12trr=z11trl; % right pin
+ trid(12, trht, trbs); fill pth12;
+ z12'=(x12,0); draw z12tic--z12';
+ labels(1,2,11,12);
+endchar;
+
+cmchar "Old Persian syllable da (d)";
+beginglyph("d", (2tb));
+ z1trl=(leftloc,h); % top pin
+ trir(1, trht, trbs); fill pth1;
+ z1'=(rightloc,y1); draw z1tic--z1';
+ z11trr=z1trr; % left pin
+ trid(11, trht, trbs); fill pth11;
+ z11'=(x11,0); draw z11tic--z11';
+ z12trr=z11trl; % right pin
+ trid(12, trht, trbs); fill pth12;
+ z12'=(x12,0); draw z12tic--z12';
+ labels(1,2,11,12);
+endchar;
+
+cmchar "Old Persian syllable di (P)";
+beginglyph("P", (3tb+th)); %% 4tb too large
+ z2trl=(rightloc,h); % right pin
+ trid(2, trht, trbs); fill pth2;
+ z2'=(x2,0); draw z2tic--z2';
+ z1trl=z2trr; % left pin
+ trid(1, trht, trbs); fill pth1;
+ z1'=(x1,0); draw z1tic--z1';
+ z12trc=(leftloc,1/2h); % center pin
+ trir(12, trht, trbs); fill pth12;
+ z12'=(x1,y12); draw z12tic--z12';
+ z11trr=z12trl; % top pin
+ trir(11, trht, trbs); fill pth11;
+ z11'=(x1,y11); draw z11tic--z11';
+ z13trl=z12trr; % bottom pin
+ trir(13, trht, trbs); fill pth13;
+ z13'=(x1,y13); draw z13tic--z13';
+ labels(1,2,11,12,13);
+endchar;
+
+cmchar "Old Persian syllable du (D)";
+beginglyph("D", (2tb+th+wh)); %% 3tb+wh too large
+ z1=(leftloc,h/2); % wing
+ wingl(1, wiht, wibs); fill pth1;
+ z2trl=(rightloc,h); % right pin
+ trid(2, trht, trbs); fill pth2;
+ z2'=(x2,0); draw z2tic--z2';
+ z12trc=(x1wil,h/2); % center pin
+ trir(12, trht, trbs); fill pth12;
+ z12'=(x2,y12); draw z12tic--z12';
+ z11trr=z12trl; % top pin
+ trir(11, trht, trbs); fill pth11;
+ z11'=(x2,y11); draw z11tic--z11';
+ z13trl=z12trr; % bottom pin
+ trir(13, trht, trbs); fill pth13;
+ z13'=(x2,y13); draw z13tic--z13';
+ labels(1,2,11,12,13);
+endchar;
+
+cmchar "Old Persian syllable na (n)";
+beginglyph("n", (2tb+wh));
+ z1=(rightloc-wiht, h/2); % wing
+ wingl(1, wiht, wibs); fill pth1;
+ z11trr=(leftloc,h/2); % top pin
+ trir(11, trht, trbs); fill pth11;
+ z11'=(x1,y11); draw z11tic--z11';
+ z12trl=z11trr; % bottom pin
+ trir(12, trht, trbs); fill pth12;
+ z12'=(x1,y12); draw z12tic--z12';
+ labels(1,11,12);
+endchar;
+
+cmchar "Old Persian syllable nu (N)";
+beginglyph("N", (2tb+2wh));
+ z1=(leftloc, h/2); % left wing
+ wingl(1, wiht, wibs); fill pth1;
+ z2=(x1wil, y1); % right wing
+ wingl(2, wiht, wibs); fill pth2;
+ z11trr=(x2wil,h/2); % top pin
+ trir(11, trht, trbs); fill pth11;
+ z11'=(rightloc,y11); draw z11tic--z11';
+ z12trl=z11trr; % bottom pin
+ trir(12, trht, trbs); fill pth12;
+ z12'=(rightloc,y12); draw z12tic--z12';
+ labels(1,2,11,12);
+endchar;
+
+cmchar "Old Persian syllable pa (p)";
+beginglyph("p", (2tb));
+ z1trc=(leftloc,h); % top pin
+ trir(1, trht, trbs); fill pth1;
+ z1'=(rightloc,y1); draw z1tic--z1';
+ z2trl=(x1,y1); % middle pin
+ trir(2, trht, trbs); fill pth2;
+ z2'=(rightloc,y2); draw z2tic--z2';
+ z3trl=(x1trc,y2); % bottom pin
+ trir(3, trht, trbs); fill pth3;
+ z3'=(rightloc,y3); draw z3tic--z3';
+ z11trr=z3trr; % left pin
+ trid(11, trht, trbs); fill pth11;
+ z11'=(x11,0); draw z11tic--z11';
+ z12trr=z11trl; % right pin
+ trid(12, trht, trbs); fill pth12;
+ z12'=(x12,0); draw z12tic--z12';
+ labels(1,2,3,11,12);
+endchar;
+
+cmchar "Old Persian syllable fa (f)";
+beginglyph("f", (tb+2wh));
+ z1trr=(leftloc,h); % left pin
+ trid(1, trht, trbs); fill pth1;
+ z1'=(x1,0); draw z1tic--z1';
+ z11=(x1,h/2); % left wing
+ wingl(11, wiht, wibs); fill pth11;
+ z12=(x11wil,y11); % right wing
+ wingl(12, wiht, wibs); fill pth12;
+ labels(1,11,12);
+endchar;
+
+cmchar "Old Persian syllable ba (b)";
+beginglyph("b", (3tb));
+ z1trl=(rightloc,h); % right pin
+ trid(1, trht, trbs); fill pth1;
+ z1'=(x1,0); draw z1tic--z1';
+ z11trr=(leftloc,h/2); % top pin
+ trir(11, trht, trbs); fill pth11;
+ z11'=(x1,y11); draw z11tic--z11';
+ z12trl=z11trr; % bottom pin
+ trir(12, trht, trbs); fill pth12;
+ z12'=(x1,y12); draw z12tic--z12';
+ labels(1,11,12);
+endchar;
+
+cmchar "Old Persian syllable ma (m)";
+beginglyph("m", (4tb+th)); %% 5tb too large
+ z3trl=(rightloc,h); % right pin
+ trid(3, trht, trbs); fill pth3;
+ z3'=(x3,0); draw z3tic--z3';
+ z2trl=(x3trr,y3); % center pin
+ trid(2, trht, trbs); fill pth2;
+ z2'=(x2,0); draw z2tic--z2';
+ z1trl=(x2trr,h); % left pin
+ trid(1, trht, trbs); fill pth1;
+ z1'=(x1,0); draw z1tic--z1';
+ z11trc=(leftloc, h/2); % hor pin
+ trir(11, trht, trbs); fill pth11;
+ z11'=(x1,y11); draw z11tic--z11';
+ labels(1,2,3,11);
+endchar;
+
+cmchar "Old Persian syllable mi (w)";
+beginglyph("w", (2tb+wh));
+ z1trr=(leftloc,h); % left pin
+ trid(1, trht, trbs); fill pth1;
+ z1'=(x1,0); draw z1tic--z1';
+ z2=(x1,h/2); % wing
+ wingl(2, wiht, wibs); fill pth2;
+ z11trr=(x2wil, h/2); % top pin
+ trir(11, trht, trbs); fill pth11;
+ z11'=(rightloc,y11); draw z11tic--z11';
+ z12trl=z11trr; % bottom pin
+ trir(12, trht, trbs); fill pth12;
+ z12'=(rightloc,y12); draw z12tic--z12';
+ labels(1,2,11,12);
+endchar;
+
+cmchar "Old Persian syllable mu (M)";
+beginglyph("M", (5tb+wh));
+ z5trc=(rightloc-2trbs, h/2); % right pin
+ trir(5, trht, trbs); fill pth5;
+ z5'=(rightloc,y5); draw z5tic--z5';
+ z4=(x5trc-wiht,y5); % wing
+ wingl(4, wiht, wibs); fill pth4;
+ z2trc=(leftloc+trht,y5); % middle pin
+ trir(2, trht, trbs); fill pth2;
+ z2'=z4; draw z2tic--z2';
+ z1trr=(leftloc,y2trl); % top pin
+ trir(1, trht, trbs); fill pth1;
+ z1'=(3/4[x1,x2'],y1); draw z1tic--z1';
+ z3trl=(leftloc,y2trr); % bottom pin
+ trir(3, trht, trbs); fill pth3;
+ z3'=(x1',y3); draw z3tic--z3';
+ labels(1,2,3,4);
+endchar;
+
+cmchar "Old Persian syllable ya (y)";
+beginglyph("y", (2tb+wh));
+ z1trr=(leftloc,h); % left pin
+ trid(1, trht, trbs); fill pth1;
+ z1'=(x1,0); draw z1tic--z1';
+ z2=(x1,h/2); % wing
+ wingl(2, wiht, wibs); fill pth2;
+ z11trc=(x2wil, h/2); % right pin
+ trir(11, trht, trbs); fill pth11;
+ z11'=(rightloc,y11); draw z11tic--z11';
+ labels(1,2,11,12);
+endchar;
+
+cmchar "Old Persian syllable ra (r)";
+beginglyph("r", (3tb+th)); %% 4tb too large
+ z11trl=(rightloc, h); % right pin
+ trid(11, trht, trbs); fill pth11;
+ z11'=(x11,0); draw z11tic--z11';
+ z2trc=(leftloc+trht,h/2); % middle pin
+ trir(2, trht, trbs); fill pth2;
+ z2'=(x11,y2); draw z2tic--z2';
+ z1trr=(leftloc,y2trl); % top pin
+ trir(1, trht, trbs); fill pth1;
+ z1'=(x2',y1); draw z1tic--z1';
+ z3trl=(leftloc,y2trr); % bottom pin
+ trir(3, trht, trbs); fill pth3;
+ z3'=(x2',y3); draw z3tic--z3';
+ labels(1,2,3,4);
+endchar;
+
+cmchar "Old Persian syllable ru (R)";
+beginglyph("R", (tb+th+2wh)); %% 2tb+2wh too large
+ z3=(rightloc-wiht,h/2); % right wing
+ wingl(3, wiht, wibs); fill pth3;
+ z2=(x3-wiht,y3); % left wing
+ wingl(2, wiht, wibs); fill pth2;
+ z1trc=(leftloc,y3); % pin
+ trir(1, trht, trbs); fill pth1;
+ z1'=z2; draw z1tic--z1';
+ labels(1,2,3);
+endchar;
+
+cmchar "Old Persian syllable la (l)";
+beginglyph("l", (3tb+th)); %% 4tb too large
+ z11trl=(rightloc,h); % right pin
+ trid(11, trht, trbs); fill pth11;
+ z11'=(x11,0); draw z11tic--z11';
+ z2trc=(leftloc,h/2); % middle pin
+ trir(2, trht, trbs); fill pth2;
+ z2'=(x11,y2); draw z2tic--z2';
+ z1trr=(x2,y2trl); % top pin
+ trir(1, trht, trbs); fill pth1;
+ z1'=(x2',y1); draw z1tic--z1';
+ z3trl=(x1trr,y2trr); % bottom pin
+ trir(3, trht, trbs); fill pth3;
+ z3'=(x2',y3); draw z3tic--z3';
+ labels(1,2,3,11);
+endchar;
+
+cmchar "Old Persian syllable va (v)";
+beginglyph("v", (5tb));
+ z11trc=(leftloc,h/2); % left hor pin
+ trir(11, trht, trbs); fill pth11;
+ z11'=(x11+trbs,y11); draw z11tic--z11';
+ z12trc=(x11',h); % vert pin
+ trid(12, trht, trbs); fill pth12;
+ z12'=(x12,0); draw z12tic--z12';
+ z2=(x12+1/2trbs+2trht, h/2); % middle pin
+ trir(2, trht, trbs); fill pth2;
+ z2'=(rightloc,y2); draw z2tic--z2';
+ z1trr=(x2trc-trht,y2trl); % top pin
+ trir(1, trht, trbs); fill pth1;
+ z1'=(x2',y1); draw z1tic--z1';
+ z3trl=(x1trr,y2trr); % bottom pin
+ trir(3, trht, trbs); fill pth3;
+ z3'=(x2',y3); draw z3tic--z3';
+ labels(1,2,3,11);
+endchar;
+
+cmchar "Old Persian syllable vi (V)";
+beginglyph("V", (2tb));
+ z1trl=(midloc,1/3h); % left pin
+ trid(1, trht, trbs); fill pth1;
+ z1'=(x1,0); draw z1tic--z1';
+ z2trr=z1trl; % right pin
+ trid(2, trht, trbs); fill pth2;
+ z2'=(x2,0); draw z2tic--z2';
+ z3trc=(x1trl,h); % top pin
+ trid(3, trht, trbs); fill pth3;
+ z3'=(x3,y1trl); draw z3tic--z3';
+ z11trc=(leftloc, 1/2[y1trl,y3trl]); % hor pin
+ trir(11, trht, trbs); fill pth11;
+ z11'=(rightloc,y11); draw z11tic--z11';
+ labels(1,2,3,4,11);
+endchar;
+
+cmchar "Old Persian syllable sa (s)";
+beginglyph("s", (3tb+th)); %% 4tb too large
+ z12trr=(leftloc,h); % vert pin
+ trid(12, trht, trbs); fill pth12;
+ z12'=(x12,0); draw z12tic--z12';
+ z2=(x12+1/2trbs+2trht, h/2); % middle pin
+ trir(2, trht, trbs); fill pth2;
+ z2'=(rightloc,y2); draw z2tic--z2';
+ z1trr=(x2trc-trht,y2trl); % top pin
+ trir(1, trht, trbs); fill pth1;
+ z1'=(x2',y1); draw z1tic--z1';
+ z3trl=(x1trr,y2trr); % bottom pin
+ trir(3, trht, trbs); fill pth3;
+ z3'=(x2',y3); draw z3tic--z3';
+ labels(1,2,3,11,12);
+endchar;
+
+cmchar "Old Persian syllable sva (S)";
+beginglyph("S", (2wh));
+ z1=(leftloc,1/2wibs); % left wing
+ wingl(1, wiht, wibs); fill pth1;
+ z2=(x1+wiht,y1); % right wing
+ wingl(2, wiht, wibs); fill pth2;
+ z3trl=(leftloc,h); % pin
+ trir(3, trht, trbs); fill pth3;
+ z3'=(rightloc,y3); draw z3tic--z3';
+ labels(1,2,3);
+endchar;
+
+cmchar "Old Persian syllable za (z)";
+beginglyph("z", (4tb));
+ z1trr=(leftloc,h); % left pin
+ trid(1, trht, trbs); fill pth1;
+ z1'=(x1,0); draw z1tic--z1';
+ z2trl=(rightloc,h); % right pin
+ trid(2, trht, trbs); fill pth2;
+ z2'=(x2,0); draw z2tic--z2';
+ z11trc=(x1trl,h/2); % hor pins
+ trir(11, trht, trbs); fill pth11;
+ z11'=(x2trr,y11); draw z11tic--z11';
+ z12trc=1/2[z11trc,z11'];
+ trir(12, trht, trbs); fill pth12;
+ labels(1,2,11);
+endchar;
+
+cmchar "Old Persian syllable ha (h)";
+beginglyph("h", (2tb+2wh));
+ z1=(leftloc,h/2); % left wing
+ wingl(1, wiht, wibs); fill pth1;
+ z2=(rightloc-wiht,y1); % right wing
+ wingl(2, wiht, wibs); fill pth2;
+ z11trr=(x1wil,y1); % top pin
+ trir(11, trht, trbs); fill pth11;
+ z11'=(x2,y11); draw z11tic--z11';
+ z12trl=z11trr; % bottom pin
+ trir(12, trht, trbs); fill pth12;
+ z12'=(x2,y12); draw z12tic--z12';
+ labels(1,2,11,12);
+endchar;
+
+cmchar "Old Persian word: king (X)";
+beginglyph("X", (3tb+2wh));
+ z4=(rightloc-wiht, h/2); % right wing
+ wingl(4, wiht, wibs); fill pth4;
+ z11trc=(x4,h); % center vert pin
+ trid(11, trht, trbs); fill pth11;
+ z11'=(x11,0); draw z11tic--z11';
+ z3wir=(x11trr,y4wir); % left wing
+ wingl(3, wiht, wibs); fill pth3;
+ z1trr=(leftloc,y4); % top pin
+ trir(1, trht, trbs); fill pth1;
+ z1'=(x3,y1); draw z1tic--z1';
+ z2trl=z1trr; % bottom pin
+ trir(2, trht, trbs); fill pth2;
+ z2'=(x1',y2); draw z2tic--z2';
+ labels(1,2,3,4,11);
+endchar;
+
+cmchar "Old Persian word: country (version a) (q)";
+beginglyph("q", (9/4tb+wh)); %% 5/2tb+wh too large
+ numeric n[];
+ n1 := 1/2wiht;
+ n2 := 1/2wibs;
+ z12trl=(rightloc,h); % right pin
+ trid(12, trht, trbs); fill pth12;
+ z12'=(x12,0); draw z12tic--z12';
+ z11trl=z12trr; % left pin
+ trid(11, trht, trbs); fill pth11;
+ z11'=(x11,0); draw z11tic--z11';
+ z1=(leftloc, h-1/2n2); % top left wing
+ wingl(1, n1, n2); fill pth1;
+ z2=(x1wil, y1); % top right wing
+ wingl(2, n1, n2); fill pth2;
+ z3=(x1, 1/2n2); % bottom left wing
+ wingl(3, n1, n2); fill pth3;
+ z4=(x2, y3); % bottom right wing
+ wingl(4, n1, n2); fill pth4;
+ labels(1,2,3,4,11,12);
+endchar;
+
+cmchar "Old Persian word: country (version b) (Q)";
+beginglyph("Q", (5/4tb+wh)); %% 3/2tb+wh too large
+ numeric n[];
+ n1 := 1/2wiht;
+ n2 := 1/2wibs;
+ z11trl=(rightloc,h); % right pin
+ trid(11, trht, trbs); fill pth11;
+ z11'=(x11,0); draw z11tic--z11';
+ z1=(leftloc, h-1/2n2); % top left wing
+ wingl(1, n1, n2); fill pth1;
+ z2=(x1wil, y1); % top right wing
+ wingl(2, n1, n2); fill pth2;
+ z3=(x1, 1/2n2); % bottom left wing
+ wingl(3, n1, n2); fill pth3;
+ z4=(x2, y3); % bottom right wing
+ wingl(4, n1, n2); fill pth4;
+ labels(1,2,3,4,11,12);
+endchar;
+
+cmchar "Old Persian word: earth (L)";
+beginglyph("L", (3wh));
+ z1=(leftloc, wiht); % left wing
+ wingl(1, wiht, wibs); fill pth1;
+ z2=(x1wil, y1); % center wing
+ wingl(2, wiht, wibs); fill pth2;
+ z3=(x2wil, y1); % right wing
+ wingl(3, wiht, wibs); fill pth3;
+ z11trr=(x1,y1wir); % top pin
+ trir(11, trht, trbs); fill pth11;
+ z11'=(rightloc,y11); draw z11tic--z11';
+ z12trc=(x2,y11);
+ trir(12, trht, trbs); fill pth12;
+ z13trc=(x3,y11);
+ trir(13, trht, trbs); fill pth13;
+ labels(1,2,3,11,12,13);
+endchar;
+
+cmchar "Old Persian word: god (B)";
+beginglyph("B", (2tb+2wh));
+ z4=(rightloc-wiht, h/2); % right wing
+ wingl(4, wiht, wibs); fill pth4;
+ z3=(x4-wiht, y4); % left wing
+ wingl(3, wiht, wibs); fill pth3;
+ z1trc=(leftloc,y4); % pin
+ trir(1, trht, trbs); fill pth1;
+ z1'=z3; draw z1tic--z1';
+ z2trc=1/2[z1trc,z1'];
+ trir(2, trht, trbs); fill pth2;
+ labels(1,2,3,4);
+endchar;
+
+cmchar "Old Persian word: Auramazda (version a) (e)";
+beginglyph("e", (3tb+wh));
+ z43=(rightloc-wiht, h/2); % wing
+ wingl(43, wiht, wibs); fill pth43;
+ z46trc=(x43,h); % vert pin
+ trid(46, trht, trbs); fill pth46;
+ z46'=(x46,0); draw z46tic--z46';
+ z14trr=(leftloc,h/2); % pin 3
+ trir(14, trht, trbs); fill pth14;
+ z14'=(x46,y14); draw z14tic--z14';
+ z24trc=1/2[z14trc,z14']; z34trc=2/3[z14trc,z14'];
+ trir(24, trht, trbs); fill pth24;
+
+ z12trl=z14trr; % pin 2
+ trir(12, trht, trbs); fill pth12;
+ z12'=(x46,y12); draw z12tic--z12';
+ z22=(x24,y12); z32=(x34,y12);
+ trir(22, trht, trbs); fill pth22;
+
+ labels(12,14,21,22,23,24,25,31,32,33,34,35,41,42,43,44,45,46);
+endchar;
+
+cmchar "Old Persian word: Auramazda (version b) (E)";
+beginglyph("E", (4tb));
+%% z43=(rightloc-wiht, h/2); % wing
+%% wingl(43, wiht, wibs); fill pth43;
+ z46trc=(rightloc,h+trht); % vert pin
+ trid(46, trht, trbs); fill pth46;
+ z46'=(x46,-1/2trbs); draw z46tic--z46';
+ z14trr=(leftloc,h/2); % pin 3
+ trir(14, trht, trbs); fill pth14;
+ z14'=(x46,y14); draw z14tic--z14';
+ z24trc=1/3[z14trc,z14']; z34trc=2/3[z14trc,z14'];
+ trir(24, trht, trbs); fill pth24;
+ trir(34, trht, trbs); fill pth34;
+
+ z12trl=z14trr; % pin 2
+ trir(12, trht, trbs); fill pth12;
+ z12'=(x46,y12); draw z12tic--z12';
+ z22=(x24,y12); z32=(x34,y12);
+ trir(22, trht, trbs); fill pth22;
+ trir(32, trht, trbs); fill pth32;
+
+ z21trl=(x24trc, y12trr); % pin 1
+ trir(21, trht, trbs); fill pth21;
+ z21'=(x46,y21); draw z21tic--z21';
+ z31=(x34,y21);
+ trir(31, trht, trbs); fill pth31;
+
+ z25trr=(x24trc, y14trl); % pin 4
+ trir(25, trht, trbs); fill pth25;
+ z25'=(x46,y25); draw z25tic--z25';
+ z35=(x34,y25);
+ trir(35, trht, trbs); fill pth35;
+ labels(12,14,21,22,23,24,25,31,32,33,34,35,41,42,43,44,45,46);
+endchar;
+
+cmchar "Old Persian word: Auramazda (version c) (F)";
+beginglyph("F", (4tb+wh));
+ z43=(rightloc-wiht, h/2); % wing
+ wingl(43, wiht, wibs); fill pth43;
+ z46trc=(x43,h+trht); % vert pin
+ trid(46, trht, trbs); fill pth46;
+ z46'=(x46,-1/2trbs); draw z46tic--z46';
+ z14trr=(leftloc,y43); % pin 3
+ trir(14, trht, trbs); fill pth14;
+ z14'=(x46,y14); draw z14tic--z14';
+ z24trc=1/3[z14trc,z14']; z34trc=2/3[z14trc,z14'];
+ trir(24, trht, trbs); fill pth24;
+ trir(34, trht, trbs); fill pth34;
+
+ z12trl=z14trr; % pin 2
+ trir(12, trht, trbs); fill pth12;
+ z12'=(x46,y12); draw z12tic--z12';
+ z22=(x24,y12); z32=(x34,y12);
+ trir(22, trht, trbs); fill pth22;
+ trir(32, trht, trbs); fill pth32;
+
+ z21trl=(x24trc, y12trr); % pin 1
+ trir(21, trht, trbs); fill pth21;
+ z21'=(x46,y21); draw z21tic--z21';
+ z31=(x34,y21);
+ trir(31, trht, trbs); fill pth31;
+
+ z25trr=(x24trc, y14trl); % pin 4
+ trir(25, trht, trbs); fill pth25;
+ z25'=(x46,y25); draw z25tic--z25';
+ z35=(x34,y25);
+ trir(35, trht, trbs); fill pth35;
+ labels(12,14,21,22,23,24,25,31,32,33,34,35,41,42,43,44,45,46);
+endchar;
+
+cmchar "Old Persian numeral 1 (1)";
+beginglyph("1", (tb));
+ z1trc=(midloc,h);
+ trid(1, trht, trbs); fill pth1;
+ z1'=(x1,0); draw z1tic--z1';
+ labels(1,2);
+endchar;
+
+cmchar "Old Persian numeral 2 (2)";
+beginglyph("2", (tb));
+ z1trc=(midloc,h);
+ trid(1, trht, trbs); fill pth1;
+ z1'=(x1,0); draw z1tic--z1';
+ z2trc=1/2[z1trc,z1'];
+ trid(2, trht, trbs); fill pth2;
+ labels(1,2);
+endchar;
+
+cmchar "Old Persian numeral 10 (3)";
+beginglyph("3", (wh));
+ z1=(leftloc,h/2);
+ wingl(1, wiht, wibs); fill pth1;
+ labels(1,2);
+endchar;
+
+cmchar "Old Persian numeral 20 (4)";
+beginglyph("4", (1/2wh));
+ z1=(leftloc,3/4h);
+ wingl(1, 1/2wiht, 1/2wibs); fill pth1;
+ z2=(leftloc,1/4h);
+ wingl(2, 1/2wiht, 1/2wibs); fill pth2;
+ labels(1,2);
+endchar;
+
+cmchar "Old Persian numeral 100 (5)";
+beginglyph("5", (tb+2th));
+ z1trl=(leftloc,h); % top pins
+ trir(1, trht, trbs); fill pth1;
+ z2trr=(rightloc,h);
+ tril(2, trht, trbs); fill pth2;
+ draw z1tic--z2tic;
+ z11trc=(1/2[x1,x2],y1trr); % vertical pin
+ trid(11, trht, trbs); fill pth11;
+ z11'=(x11,0); draw z11tic--z11';
+ labels(1,2,11);
+endchar;
+
+cmchar "Old Persian word divider (:)";
+beginglyph(":", (3tb));
+ numeric alpha;
+ alpha := trbs;
+ z1=(leftloc+alpha, h-alpha);
+ z2=(rightloc-alpha, alpha);
+ triangle(1, trht, trbs, angle((z2-z1)));
+ fill pth1; draw z1tic--z2;
+ labels(1,2);
+endchar;
+
+end
+