diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/archaic')
-rw-r--r-- | Master/texmf-dist/fonts/source/archaic/copsn10.mf | 1001 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/source/archaic/givbc10.mf | 921 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/source/archaic/gvibc10.mf | 354 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/source/archaic/vik10.mf | 38 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/source/archaic/vikglyph.mf | 394 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/source/archaic/viktitle.mf | 52 |
6 files changed, 2760 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/archaic/copsn10.mf b/Master/texmf-dist/fonts/source/archaic/copsn10.mf new file mode 100644 index 00000000000..5cba60ec790 --- /dev/null +++ b/Master/texmf-dist/fonts/source/archaic/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 + diff --git a/Master/texmf-dist/fonts/source/archaic/givbc10.mf b/Master/texmf-dist/fonts/source/archaic/givbc10.mf new file mode 100644 index 00000000000..e2e190fa50c --- /dev/null +++ b/Master/texmf-dist/fonts/source/archaic/givbc10.mf @@ -0,0 +1,921 @@ +%% +%% This is file `givbc10.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% greek4cbc.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. +%% ------------------------------------------------------------------ + %%% GIVBC10.MF Computer Greek 4 century BC font 10 point design size. + +if unknown cmbase: input cmbase fi + +font_identifier:="GIVBC"; font_size 10pt#; + +u#:=20/36pt#; % unit width +letter_fit#:=0pt#; % extra space added to all sidebars + +body_height#:=270/36pt#; % height of tallest characters +asc_height#:=250/36pt#; % height of lowercase ascenders +cap_height#:=246/36pt#; % height of caps +fig_height#:=232/36pt#; % height of numerals +x_height#:=155/36pt#; % height of lowercase without ascenders +desc_depth#:=70/36pt#; % depth of lowercase descenders +half_height#:=1/2cap_height#; % half the height of caps + +side#:=cap_height#; % Height and width of the square +thickfudge:=1/9; +thick#:=thickfudge*side#; % thickness of all lines in the font + +rule_thickness#:=.4pt#; % thickness of lines + +cap_stem#:=thick#; % thickness of majuscule stems + +o#:=8/36pt#; % amount of overshoot for curves +apex_o#:=thin#; % amount of overshoot for diagonal junctions +apex_corr#=0pt#; % fine tuning of overshoot + +slant:=0; % tilt ratio $(\Delta x/\Delta y)$ + +serifs:=false; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? + +dot_size#:=38/36pt#; % size of dots +square_dots:=false; % should dots be square? + +boolean whole_font; % try generating a complete font? +whole_font:=false; + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% MACRO SECTION %%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +def makebox(text rule) = + for y=0,half_height,cap_height,body_height,x_height,-desc_depth,-body_depth: + rule((l,y)t_,(r,y)t_); endfor % horizontals + for x=l,r: rule((x,-body_depth)t_,(x,body_height)t_); endfor % verticals + for x=u*(1+floor(1/u)) step u until r-1: + rule((x,-body_depth)t_,(x,body_height)t_); endfor % more verticals + if charic<>0: + rule((r+charic*pt,h.o_),(r+charic*pt,.5h.o_)); fi % italic correction +enddef; + + +def proofpcbb(suffix $)(expr xoff, yoff) = +if proofing > 0: + x$bl = x$ - xoff; y$bl = y$ - yoff; % Bottom Left Hand Corner + z$br = (x$bl+cap_height, y$bl); % BRHC + z$tr = (x$bl+cap_height, y$bl+cap_height); % TRHC + z$tl = (x$bl, y$bl+cap_height); % TLHC + z$bc = 1/2[z$bl,z$br]; z$tc = 1/2[z$tl,z$tr]; % horizontal mid points + pair hc, vc; + hc = (2u,0); vc = (0,2u); + pickup pensquare scaled 2; + for s = z$bl, z$br, z$tr, z$tl, z$bc, z$tc: + draw s-hc--s+hc; + draw s-vc--s+vc; + endfor +fi +enddef; + + +let cm_font_setup=font_setup; % Knuth's original font_setup + + +def greek_font_setup= % contains special stuff for archaic Greek font + define_pixels(u); + define_pixels(side,thick,half_height); + let adjust_fit=normal_adjust_fit; + define_whole_pixels(letter_fit); + define_whole_vertical_pixels(body_height,asc_height, + cap_height,x_height,desc_depth); + body_depth:=desc_depth+body_height-asc_height; + define_pixels(dot_size); + shrink_fit:=1+hround(2letter_fit#*hppp)-2letter_fit; + if not string mode: + if mode<=smoke: + shrink_fit:=0; + fi + fi +enddef; + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% END OF MACROS %%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +font_coding_scheme:="ASCII caps and miniscules"; + +mode_setup; + +greek_font_setup; + +numeric pcshiftx#; % x value of LHS of box wrt origin of char box +define_pixels(pcshiftx); + + +font_slant slant; +font_x_height x_height#; +if monospace: font_normal_space 9u#; % no stretching or shrinking + font_quad 18u#; + font_extra_space 9u#; +else: font_normal_space 6u#+2letter_fit#; + font_normal_stretch 3u#; font_normal_shrink 2u#; + font_quad 18u#+4letter_fit#; + font_extra_space 2u#; +fi + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +cmchar "Greek 394BC letter alpha (a)"; +beginchar("a", 2u#+side#+2thick#, cap_height#, 0); +adjust_fit(0,0); +pcshiftx := u+thick; +y100 = h/2; x100 = pcshiftx+y100; % center point +numeric alpha[], hor, vert, hypot, theta; +pair greek[]; +hor := 0.5h; vert := h-thick; +greek1 = (hor, vert); +theta = 270 + angle(greek1); + % for left leg +penpos1(thick,theta); penpos2(thick,theta); + % and for the right leg +penpos3(thick,-theta); penpos4(thick,-theta); +rt x1r=pcshiftx; lft x4l=x1r+side; +bot y1r=bot y4l=0; +top y3r= top y2l=h; +x3r=x2l = 0.5[x1r,x4l]; +z0=whatever[z1r,z2r]=whatever[z3l,z4l]; + % draw the legs +filldraw z1l--z2l--z4r--z4l--z0--z1r--cycle; + % now for the bar +y5l=y6l=hround(1/3h); +y5r-y5l=y6r-y6l=thick; +penpos5(whatever, angle(z2-z1)); penpos6(whatever, angle(z3-z4)); +z5=whatever[z1,z2]; z6=whatever[z3,z4]; +penstroke z5e--z6e; % bar line +proofpcbb(100, y100, y100); +penlabels(0,1,2,3,4,5,6,100); endchar; + + +cmchar "Greek 394BC letter beta (b)"; +beginchar("b",4u#+5/9side#, cap_height#, 0); +adjust_fit(0,0); +pcshiftx := 2u; +y100=h/2; x100=pcshiftx+y100; % square center +penpos1(thick,0); penpos2(thick,0); +y2l=0; y1l=h; x1l=x2l=pcshiftx; +numeric alpha, long, short, hypot; +long=(w-2pcshiftx); short=h/4; hypot=short++long; +alpha := hypot/long; +penpos3(alpha*thick,90); penpos4(alpha*thick,90); +penpos5(alpha*thick,90); penpos6(alpha*thick,90); +z3l=z2l; +x4l=w-pcshiftx; y4l=0.25[y2l,y1l]; +z5r=z4l; +x6l=x2r; y6l=0.5[y2l,y1l]; +penpos7(alpha*thick,90); penpos8(alpha*thick,90); +penpos9(alpha*thick,90); penpos10(alpha*thick,90); +z7r=z6l; +x8l=x4l; y8l=0.75[y2l,y1l]; +z9r=z8l; +z10r=z1l; +z11=whatever[z2r,z1r]=whatever[z3r,z4r]; % bottom bowl and stem +z12=whatever[z3r,z4r]=whatever[z6l,z5l]; % bottom bowl inner +z13=whatever[z5r,z6r]=whatever[z7l,z8l]; % between the bowls +z14=whatever[z7r,z8r]=whatever[z9l,z10l]; % top bowl inner +z15=whatever[z2r,z1r]=whatever[z9l,z10l]; % top bowl and stem +filldraw z1l--z2l--z4l--z13--z8l--cycle; +unfilldraw z6l--z12--z11--cycle; +unfilldraw z7r--z15--z14--cycle; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,100); +endchar; + + +cmchar "Greek 394BC letter gamma (g)"; +beginchar("g",2u#+thick#+2/3side#, cap_height#, 0); +adjust_fit(0, 0); +pcshiftx := u; +y100 = h/2; x100 = pcshiftx + y100; % center point +penpos1(thick,0); penpos2(thick,0); +x1l=x2l=pcshiftx; top y1l=h; bot y2l=0; +filldraw stroke z1e--z2e; +penpos3(thick,90); penpos4(thick,90); +y3r=y4r=y1l; x3l=x1l; x4l=w-pcshiftx; +filldraw stroke z3e--z4e; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,100); endchar; + + +cmchar "Greek 394BC letter delat (d)"; +beginchar("d", 2u#+side#+2thick#, cap_height#, 0); +adjust_fit(0,0); +pcshiftx := u+thick; +y100 = h/2; x100 = pcshiftx+y100; % center point +numeric alpha, hor, vert, hypot, theta; +pair greek[]; +hor := 0.5h; vert := h-thick; +greek1 = (hor, vert); +theta = 270 + angle(greek1); + % for left leg +penpos1(thick,theta); penpos2(thick,theta); + % and for the right leg +penpos3(thick,-theta); penpos4(thick,-theta); +rt x1r=pcshiftx; lft x4l=x1r+side; +bot y1r=bot y4l=0; +top y2l= top y3r=h; +x3r=x2l = 0.5[x1r,x4l]; +z0=whatever[z1r,z2r]=whatever[z3l,z4l]; + % now for the bar +penpos5(thick,90); penpos6(thick,90); +bot y5l=bot y6l=0; +x5l=pcshiftx; x6l=w-pcshiftx; +z7=whatever[z1l,z2l]=whatever[z5l,z6l]; +z8=whatever[z3r,z4r]=whatever[z5l,z6l]; +z9=whatever[z1r,z2r]=whatever[z5r,z6r]; +z10=whatever[z3l,z4l]=whatever[z5r,z6r]; +filldraw z7--z2l--z8--cycle; +unfilldraw z9--z0--z10--cycle; +proofpcbb(100, y100, y100); +penlabels(0,1,2,3,4,5,6,7,8,9,10,100); endchar; + + +cmchar "Greek 394BC letter epsilon (e)"; +beginchar("e", 2u#+2/3side#+2thick#, cap_height#,0); +adjust_fit(0,0); +pcshiftx := u; +y100=h/2; x100=pcshiftx+y100; % center point +penpos1(thick,0); penpos2(thick,0); +lft x1l=lft x2l=pcshiftx; top y1=h; bot y2=0; +filldraw stroke z1e--z2e; % stem +penpos5(thick,90); penpos6(thick,90); +x5=x1; y5=y6=h/2; rt x6=pcshiftx + 2/3side; +filldraw stroke z5e--z6e; +penpos3(thick,90); penpos4(thick,90); +x3=x1; top y3r=top y4r=h; x4=x6+thick; +filldraw stroke z3e--z4e; +penpos7(thick,90); penpos8(thick,90); +x7=x1; bot y7l=bot y8l=0; x8=x6+2thick; +filldraw stroke z7e--z8e; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,5,6,7,8,100); endchar; % end of "E" + + +cmchar "Greek 394BC letter zeta (z)"; +beginchar("z", 2u#+side#, cap_height#,0); +adjust_fit(0, 0); +pcshiftx := u; +y100=h/2; x100=pcshiftx+y100; % center of square +numeric alpha, hor, vert, hypot; +vert=h; hor=4/5side; hypot=vert++hor; +alpha=hypot/vert; +penpos1(thick,90); penpos2(thick,90); penpos3(alpha*thick, 0); +penpos4(alpha*thick, 0); +top y1r=h; lft x1=pcshiftx; +y2=y1; rt x2=x3; +rt x3r=x1+4/5side;; top y3=h; x4l=x1; bot y4=0; +filldraw stroke z1e--z2e; % top bar +filldraw stroke z3e--z4e; % diagonal +penpos8(thick,90); penpos9(thick,90); +x8=x4; bot y8l=0; +x9=pcshiftx+side; y9=y8; +filldraw stroke z8e--z9e; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,5,6,7,8,9,100); endchar; + + +cmchar "Greek 394BC letter eta (h)"; +beginchar("h", 4u#+side#, cap_height#,0); +adjust_fit(0,0); +pcshiftx := 2u; +y100 = h/2; x100 = pcshiftx + y100; % center point +penpos1(thick,0); penpos2(thick,0); +lft x1l=lft x2l=pcshiftx; bot y1=0; top y2=h; +filldraw stroke z1e--z2e; +penpos3(thick,0); penpos4(thick,0); +rt x3r= rt x4r= x1l+side; bot y3=0; top y4=h; +filldraw stroke z3e--z4e; +penpos5(thick,90); penpos6(thick,90); +x5=x1; x6=x3; y5=y6=h/2; +filldraw stroke z5e--z6e; +proofpcbb(100, y100, y100); +labels(1,2,3,4,5,6,100); endchar; + + +cmchar "Greek 394BC letter theta (T)"; +beginchar("T", 2u#+side#, cap_height#, 0); +adjust_fit(0,0); +pcshiftx := u; +y100=h/2; x100=pcshiftx+y100; % square center +numeric alpha; alpha=0.75; +x2r=pcshiftx; x4r=x2r+h; y2r=y4r=y100; +y1r=h; y3r=0; x1r=x3r=x100; +x2l=x2r+thick; x4l=x4r-thick; y2l=y4l=y2r; +y1l=y1r-thick; y3l=y3r+thick; x1l=x3l=x1r; +filldraw z1r..z2r..z3r..z4r..cycle; +unfilldraw z1l..z2l..z3l..z4l..cycle; +x12=x100-alpha*thick; x14=x100+alpha*thick; y12=y14=y100; +y11=y100+alpha*thick; y13=y100-alpha*thick; x11=x13=x100; +path p; +p= z11..z12..z13..z14..cycle; +filldraw p; filldraw p; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,100); endchar; + + +cmchar "Greek 394BC letter iota (i)"; +beginchar("i", 4u#+thick#, cap_height#,0); +adjust_fit(0,0); +pcshiftx := 2u; +y100 = h/2; x100 = pcshiftx + 0.5thick; % center point +penpos1(thick,0); penpos2(thick,0); +x1=x2=hround(w/2); top y1=h; bot y2=0; +filldraw stroke z1e--z2e; % vertical stem +proofpcbb(100, y100, y100); +penlabels(1, 2, 100); +endchar; + + +cmchar "Greek 394BC letter kappa (k)"; +beginchar("k", 2u#+2/3side#, cap_height#,0); +adjust_fit(0,0); +pcshiftx := u; +y100=h/2; x100=pcshiftx+y100; % square center +penpos1(thick,0); penpos2(thick,0); +lft x1l=lft x2l=pcshiftx; + top y1=h; bot y2=0; + filldraw stroke z1e--z2e; % left stem +numeric hor, vert, theta[]; +pair greek[]; +hor := 2/3side; vert := side/2; +greek1 = (hor,vert); +theta1=270+angle(greek1); +penpos3(thick,theta1); penpos4(thick,theta1); +x3l=x2r; y3l=side/2; +y4l=h; x4r=x1l+2/3side; +vert := -side/4; +greek2 = (hor,vert); +theta2=270+angle(greek2); +penpos5(thick,theta2); penpos6(thick,theta2); +z5r=z3l; +x6l=x4r; y6l=side/4; +z0=whatever[z3r,z4r]=whatever[z5l,z6l]; +filldraw z3l--z4l--z4r--z0--z6l--z6r--cycle; +proofpcbb(100, y100, y100); +penlabels(0,1,2,3,4,5,6,100); endchar; + + +cmchar "Greek 394BC letter lambda (l)"; +beginchar("l", 2u#+side#+2thick#, cap_height#,0); +adjust_fit(0,0); +pcshiftx := u+thick; +y100 = h/2; x100 = pcshiftx+y100; % center point +numeric alpha[], hor, vert, hypot, theta; +pair greek[]; +hor := 0.5h; vert := h-thick; +greek1 = (hor, vert); +theta = 270 + angle(greek1); + % for left leg +penpos1(thick,theta); penpos2(thick,theta); + % and for the right leg +penpos3(thick,-theta); penpos4(thick,-theta); +rt x1r=pcshiftx; lft x4l=x1r+side; +bot y1r=bot y4l=0; +top y3r= top y2l=h; +x3r=x2l = 0.5[x1r,x4l]; +z0=whatever[z1r,z2r]=whatever[z3l,z4l]; + % draw the legs +filldraw z1l--z2l--z4r--z4l--z0--z1r--cycle; +proofpcbb(100, y100, y100); +penlabels(0,1,2,3,4,100); endchar; % end of "L" + + +cmchar"Greek 394BC letter mu (m)"; +beginchar("m", 2u#+side#+2thick#, cap_height#, 0); +adjust_fit(0,0); +pcshiftx := u+thick; +y100=h/2; x100=pcshiftx+y100; % square center +numeric alpha, hor, vert, hypot, theta[]; +pair greek[]; +hor := 3thick; vert := side; +greek1 = (hor, vert); +theta1 = 270 + angle(greek1); +penpos1(thick,theta1); penpos2(thick,theta1); +z1r=(pcshiftx,0); z2l=(pcshiftx+2thick,h); +penpos3(thick,-theta1); penpos4(thick,-theta1); +z3l=(pcshiftx+side,0); z4r=(pcshiftx+side-2thick,h); +z0=z100; +theta2 = 270 + angle(z4r-z0); +penpos5(thick,-theta2); penpos6(thick,-theta2); +z5r=z0; z6r=z2l; +penpos7(thick,theta2); penpos8(thick,theta2); +z7l=z0; z8l=z4r; +z9=whatever[z1r,z2r]=whatever[z5l,z6l]; +z10=whatever[z5l,z6l]=whatever[z7r,z8r]; +z11=whatever[z7r,z8r]=whatever[z3l,z4l]; +filldraw z1l--z2l--z0--z4r--z3r--z3l--z11--z10--z9--z1r--cycle; +proofpcbb(100, y100, y100); +penlabels(0,1,2,3,4,5,6,7,8,9,10,100); endchar; + + +cmchar "Greek 394BC letter nu (n)"; +beginchar("n", 4u#+side#, cap_height#,0); +adjust_fit(0,0); +pcshiftx := 2u; +y100 = h/2; x100 = pcshiftx + y100; % center point +numeric hor, vert, theta; +pair greek[]; +hor = side-thick; vert = h; +greek1=(hor,vert); +theta=270 + angle(greek1); +penpos1(thick,0); penpos2(thick,0); +z1l=(pcshiftx,0); z2l=(pcshiftx,h); +penpos3(thick,0); penpos4(thick,0); +z3r=(pcshiftx+side,0); z4r=(pcshiftx+side,h); +penpos5(thick,-theta); penpos6(thick,-theta); +z5l=z3r; z6r=z2l; +z7=whatever[z1r,z2r]=whatever[z5l,z6l]; +z8=whatever[z5r,z6r]=whatever[z3l,z4l]; +filldraw z1l--z2l--z8--z4l--z4r--z3r--z7--z1r--cycle; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,5,6,7,8,100); endchar; + + +cmchar "Greek 394BC letter xi (x)"; +beginchar("x", 2u#+side#, cap_height#, 0); +adjust_fit(0,0); +pcshiftx := u; +y100 = h/2; x100 = pcshiftx + y100; % center point +penpos1(thick,0); penpos2(thick,0); +z1=(x100,0); z2=(x100,h); +filldraw stroke z1e--z2e; +penpos3(thick,90); penpos4(thick,90); +z3r=(pcshiftx,h); z4r=(pcshiftx+side,h); +filldraw stroke z3e--z4e; +penpos5(thick,90); penpos6(thick,90); +z5=(pcshiftx,h/2); z6=(pcshiftx+side,h/2); +filldraw stroke z5e--z6e; +penpos7(thick,90); penpos8(thick,90); +z7l=(pcshiftx,0); z8l=(pcshiftx+side,0); +filldraw stroke z7e--z8e; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,5,6,7,8,100); +endchar; + + +cmchar "Greek 394BC letter omicron (o)"; +beginchar("o", 2u#+side#, cap_height#, 0); +adjust_fit(0,0); +pcshiftx := u; +y100=h/2; x100=pcshiftx+y100; % square center +x2r=pcshiftx; x4r=x2r+h; y2r=y4r=y100; +y1r=h; y3r=0; x1r=x3r=x100; +x2l=x2r+thick; x4l=x4r-thick; y2l=y4l=y2r; +y1l=y1r-thick; y3l=y3r+thick; x1l=x3l=x1r; +filldraw z1r..z2r..z3r..z4r..cycle; +unfilldraw z1l..z2l..z3l..z4l..cycle; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,100); endchar; + + +cmchar "Greek 394BC letter pi (p)"; +beginchar("p", 4u#+side#, cap_height#, 0); +adjust_fit(0, 0); +pcshiftx := 2u; +y100 = h/2; x100 = pcshiftx + y100; % center point +penpos1(thick,0); penpos2(thick,0); +x1l=x2l=pcshiftx; top y1l=h; bot y2l=0; +filldraw stroke z1e--z2e; +penpos3(thick,90); penpos4(thick,90); +y3r=y4r=y1l; x3l=x1l; x4l=w-pcshiftx; +filldraw stroke z3e--z4e; +penpos5(thick,0); penpos6(thick,0); +x5r=x6r=x4; top y5=h; bot y6=h/2; +filldraw stroke z5e--z6e; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,5,6,100); endchar; + + +cmchar "Greek 394BC letter rho (r)"; +beginchar("r", 2u#+5/9side#, cap_height#,0); +adjust_fit(0, 0); +pcshiftx := u; +y100=h/2; x100=pcshiftx+y100; % square center +penpos1(thick,0); penpos2(thick,0); + top lft z1l=(pcshiftx,h); bot lft z2l=(pcshiftx,0); +filldraw stroke z1e--z2e; % vertical stem +penpos3(thick,90); penpos4(thick,0); penpos5(thick,-90); +top y3r=top y1; x3r=x1r; +bot y5r=5/9[y1,y2]; x5=x3; +x4r=x1l+5/9side; y4=0.5[y5r,y3r]; +filldraw z3r{right}..z4r{down}..z5r{left}--z5l{right}..z4l{up}..z3l{left}--cycle; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,5,100); +endchar; + + +cmchar "Greek 394BC letter sigma (s)"; +beginchar("s", 2u#+2/3side#, cap_height#, 0); +adjust_fit(0,0); +pcshiftx := u; +y100 = h/2; x100 = pcshiftx+y100; % square center +pair greek[]; +numeric theta[]; +numeric hor, vert; +hor := 2/3side; vert := 1/3h; +greek1=(hor,vert); +theta1=270+angle(greek1); +penpos1(thick,-theta1); penpos2(thick,-theta1); +penpos7(thick,theta1); penpos8(thick,theta1); +hor := 2/3side-thick; vert := h/2 - h/3; +greek2=(hor,vert); +theta2=270-angle(greek2); +penpos3(thick,theta2); penpos4(thick,theta2); +penpos5(thick,-theta2); penpos6(thick,-theta2); +y1l=0; x1r=pcshiftx+2/3side; +z2l=(pcshiftx,h/3); +z3l=z2l; +z4r=(pcshiftx+2/3side-thick, h/2); +z5r=z4r; +z6l=(pcshiftx,2/3h); +z7l=z6l; +y8l=h; x8r=x1r; +z10=whatever[z1r,z2r]=whatever[z3r,z4r]; +z11=whatever[z3l,z4l]=whatever[z5l,z6l]; +z12=whatever[z5r,z6r]=whatever[z7r,z8r]; +filldraw z1l--z2l--z11--z6l--z8l--z8r--z12--z4r--z10--z1r--cycle; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,5,6,7,8,10,11,12,100); endchar; + + +cmchar "Greek 394BC letter tau (t)"; +beginchar("t",2u#+side#, cap_height#,0); +adjust_fit(0,0); +pcshiftx := u; +y100=h/2; x100=pcshiftx+y100; % square center +numeric hor, vert, theta; +numeric alpha[]; pair greek[]; +alpha1=h-thick; +penpos1(thick,0); penpos2(thick,0); +z1=(w/2,0); z2=(w/2,alpha1); +filldraw stroke z1e--z2e; +penpos3(thick,90); penpos4(thick,90); +z3r=(pcshiftx,alpha1); z4r=(w/2,alpha1); +filldraw stroke z3e--z4e; +hor := w/2; vert := h/5; +greek1=(hor,vert); +theta = 270 + angle(greek1); +penpos5(thick,theta); +y5l=h; x5r=w-pcshiftx; +filldraw z4l{right}..{greek1}z5r--z5l{-greek1}..{left}z4r--cycle; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,5,100); endchar; + + +cmchar "Greek 394BC letter upsilon (y)"; +beginchar("y", 2u#+side#, cap_height#, 0); +adjust_fit(0,0); +pcshiftx := u; +y100=h/2; x100=pcshiftx+y100; % center of square +numeric alpha, theta; +numeric hor, vert; +pair greek[]; +alpha=h/3; +hor := h; vert := 0.75h; +greek1 = (hor,vert); greek2 = (-hor, -vert); +greek3 = (-hor,vert); greek4 = (hor, -vert); +theta = 270 + angle(greek1); +penpos1(thick,0); penpos2(thick,0); +z1=(w/2,0); z2=(w/2,alpha); +penpos3(thick,theta); +y3l=h; x3r=w-pcshiftx; +penpos4(thick,-theta); +y4r=h; x4l=pcshiftx; +filldraw z1l--z1r--z2r{up}..{greek1}z3r--z3l{greek2}..{down}z2l--cycle; +filldraw z1l--z1r--z2r{up}..{greek3}z4r--z4l{greek4}..{down}z2l--cycle; +proofpcbb(100, y100, y100); +penlabels(0,1,2,3,4,5,6,100); endchar; % End of "U" + + +cmchar "Greek 394BC letter chi (X)"; +beginchar("X", 2u#+side#, cap_height#, 0); +adjust_fit(0,0); +pcshiftx := u; +y100=h/2; x100=pcshiftx+y100; % center of square +numeric theta; +theta = 270+45; +penpos1(thick,theta); penpos2(thick,theta); +x1l=pcshiftx; y1r=0; x2r=pcshiftx+side; y2l=h; +filldraw stroke z1e--z2e; +penpos3(thick,-theta); penpos4(thick,-theta); +x3l=pcshiftx; y3r=h; x4r=pcshiftx+side; y4l=0; +filldraw stroke z3e--z4e; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,100); endchar; + + +cmchar "Greek 394BC letter phi (f)"; +beginchar("f", 2u#+2/3side#, cap_height#,0); +adjust_fit(0, 0); +pcshiftx := u; +y100 = h/2; x100 = pcshiftx + y100; % center point +penpos1(thick,0); penpos2(thick,0); +z1=(w/2,0); z2=(w/2,h); +z0=(w/2,h/2); +numeric alpha; +alpha := 1/3h; +y3o=y3i=y5i=y5o=h/2; +x3o=x0-alpha; x3i=x3o+thick; x5o=x0+alpha; x5i=x5o-thick; +x4o=x4i=x6i=x6o=w/2; +y4o=y0+alpha; y4i=y4o-thick; y6o=y0-alpha; y6i=y6o+thick; +unfilldraw z3i..z4i..z5i..z6i..cycle; +filldraw z3o..z4o..z5o..z6o..cycle; +filldraw stroke z1e--z2e; filldraw stroke z1e--z2e; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,5,6,100); +endchar; + + +cmchar "Greek 394BC letter psi (P)"; +beginchar("P", 2u#+5/6side#, cap_height#,0); +adjust_fit(0, 0); +pcshiftx := u; +y100 = h/2; x100 = pcshiftx + y100; % center point +numeric alpha, beta; +numeric hor, vert, theta; +pair greek; +alpha=5/6; % scale factor +beta=1/3alpha*side+thick; % arm seperation height +penpos1(thick,0); penpos2(thick,0); +z1=(w/2,0); z2=(w/2,h); +filldraw stroke z1e--z2e; +hor := w/2; vert := h-beta; +greek = (hor,vert); +theta=270+angle(greek); +penpos3(thick,theta); penpos4(thick,theta); +z3l=(w/2,beta); y4l=alpha*h; x4r=w-pcshiftx; +penpos5(thick,-theta); penpos6(thick,-theta); +z5r=z3l; x6l=pcshiftx; y6r=y4l; +z10=whatever[z1r,z2r]=whatever[z3r,z4r]; +z11=whatever[z1l,z2l]=whatever[z5l,z6l]; +filldraw z3l--z4l--z4r--z10--cycle; % right arm +filldraw z5r--z6r--z6l--z11--cycle; % left arm +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,5,6,10,11,100); +endchar; + + +cmchar "Greek 394BC letter omega (O)"; +beginchar("O", 2u#+4/3side#, cap_height#,0); +adjust_fit(0, 0); +pcshiftx := u; +y100 = h/2; x100 = pcshiftx + y100; % center point +penpos1(thick,90); penpos2(thick,90); penpos3(thick,90); penpos4(thick,90); +z1l=(pcshiftx,0); z4l=(w-pcshiftx,0); +x2l = w/2-side/4; x3l=w/2+side/4; y2l=y3l=0; +numeric theta, hor, vert; +pair greek[]; +hor := x2r-pcshiftx; vert := h; +greek1=(hor,vert); greek2=(-hor,-vert); +greek3=(-hor,vert); greek4=(hor,-vert); +theta = 270+angle(greek1); +penpos5(thick,-theta); penpos9(thick,theta); +z5r=z2l; z9l=z3l; +penpos6(thick,0); penpos8(thick,0); +z6l=(w/2-side/2, h/2); z8r=(w/2+side/2, h/2); +penpos7(thick,90); +z7r=(w/2,h); +path p[]; +p1=z5l{greek3}..z6l{up}..{right}z7r; +p2=z7r{right}..z8r{down}..{greek2}z9r; +p3=z1r--z4r; +z10 = p3 intersectionpoint p1; +z11 = p3 intersectionpoint p2; +filldraw z1r--z10{greek3}..z6l{up}..z7r{right}..z8r{down}..{greek2}z11--z4r + --z4l--z3l{greek1}..z8l{up}..z7l{left}..z6r{down}..{greek4}z2l--z1l--cycle; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,5,6,7,8,9,10,11,100); +endchar; + + +cmchar "Greek 394BC letter beta (rough, B)"; +beginchar("B",4u#+2/3side#, cap_height#, 0); +adjust_fit(0,0); +pcshiftx := 2u; +y100=h/2; x100=pcshiftx+y100; % square center +numeric beta; +beta := side/10; % amount to extend top and bottom +penpos1(thick,0); penpos2(thick,0); +y2l=-beta; y1l=h+beta; x1l=x2l=pcshiftx; +numeric alpha, long, short, hypot; +long=(w-2pcshiftx); short=h/4; hypot=short++long; +alpha := hypot/long; +penpos3(alpha*thick,90); penpos4(alpha*thick,90); +penpos5(alpha*thick,90); penpos6(alpha*thick,90); +z3l=z2l; +x4l=w-pcshiftx; y4l=0.25[y2l,y1l]; +z5r=z4l; +x6l=x2r; y6l=0.5[y2l,y1l]; +penpos7(alpha*thick,90); penpos8(alpha*thick,90); +penpos9(alpha*thick,90); penpos10(alpha*thick,90); +z7r=z6l; +x8l=x4l; y8l=0.75[y2l,y1l]; +z9r=z8l; +z10r=z1l; +z11=whatever[z2r,z1r]=whatever[z3r,z4r]; % bottom bowl and stem +z12=whatever[z3r,z4r]=whatever[z6l,z5l]; % bottom bowl inner +z13=whatever[z5r,z6r]=whatever[z7l,z8l]; % between the bowls +z14=whatever[z7r,z8r]=whatever[z9l,z10l]; % top bowl inner +z15=whatever[z2r,z1r]=whatever[z9l,z10l]; % top bowl and stem +filldraw z1l--z2l--z4l--z13--z8l--cycle; +unfilldraw z6l--z12--z11--cycle; +unfilldraw z7r--z15--z14--cycle; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,100); +endchar; + + +cmchar"Greek 394BC letter mu (rough, M)"; +beginchar("M", 2u#+side#+2thick#, cap_height#, 0); +adjust_fit(0,0); +pcshiftx := u+thick; +y100=h/2; x100=pcshiftx+y100; % square center +numeric alpha, hor, vert, hypot, theta[]; +pair greek[]; +hor := 3thick; vert := side; +greek1 = (hor, vert); +theta1 = 270 + angle(greek1); +numeric beta; +beta := thick; % extra depth below baseline +penpos1(thick,theta1); penpos2(thick,theta1); +z1r=(pcshiftx,-beta); z2l=(pcshiftx+2thick,h); +penpos3(thick,-theta1); penpos4(thick,-theta1); +z3l=(pcshiftx+side,0); z4r=(pcshiftx+side-2thick,h); +z0=z100; +theta2 = 270 + angle(z4r-z0); +penpos5(thick,-theta2); penpos6(thick,-theta2); +z5r=z0; z6r=z2l; +penpos7(thick,theta2); penpos8(thick,theta2); +z7l=z0; z8l=z4r; +z9=whatever[z1r,z2r]=whatever[z5l,z6l]; +z10=whatever[z5l,z6l]=whatever[z7r,z8r]; +z11=whatever[z7r,z8r]=whatever[z3l,z4l]; +filldraw z1l--z2l--z0--z4r--z3r--z3l--z11--z10--z9--z1r--cycle; +proofpcbb(100, y100, y100); +penlabels(0,1,2,3,4,5,6,7,8,9,10,100); endchar; + + +cmchar "Greek 394BC letter nu (rough, N)"; +beginchar("N", 4u#+side#, cap_height#,0); +adjust_fit(0,0); +pcshiftx := 2u; +y100 = h/2; x100 = pcshiftx + y100; % center point +numeric hor, vert, theta; +pair greek[]; +hor = side-thick; vert = h; +greek1=(hor,vert); +theta=270 + angle(greek1); +numeric beta; +beta := thick; % extra extensions of the legs +penpos1(thick,0); penpos2(thick,0); +z1l=(pcshiftx,-beta); z2l=(pcshiftx,h); +penpos3(thick,0); penpos4(thick,0); +z3r=(pcshiftx+side,0); z4r=(pcshiftx+side,h+beta); +penpos5(thick,-theta); penpos6(thick,-theta); +z5l=z3r; z6r=z2l; +z7=whatever[z1r,z2r]=whatever[z5l,z6l]; +z8=whatever[z5r,z6r]=whatever[z3l,z4l]; +filldraw z1l--z2l--z8--z4l--z4r--z3r--z7--z1r--cycle; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,5,6,7,8,100); endchar; + + +cmchar "Greek 394BC letter rho (rough, R)"; +beginchar("R", 2u#+2/3side#, cap_height#,0); +adjust_fit(0, 0); +pcshiftx := u; +y100=h/2; x100=pcshiftx+y100; % square center +numeric beta; +beta := side/10; % extra top and bottom extensions +penpos1(thick,0); penpos2(thick,0); + top lft z1l=(pcshiftx,h+beta); bot lft z2l=(pcshiftx,-beta); +filldraw stroke z1e--z2e; % vertical stem +penpos3(thick,90); penpos4(thick,0); penpos5(thick,-90); +top y3r=top y1; x3r=x1r; +bot y5r=5/9[y1,y2]; x5=x3; +x4r=x1l+5/9side; y4=0.5[y5r,y3r]; +filldraw z3r{right}..z4r{down}..z5r{left}--z5l{right}..z4l{up}..z3l{left}--cycle; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,5,100); +endchar; + + +cmchar "Greek 394BC letter upsilon (rough, Y)"; +beginchar("Y", 2u#+6/5side#, cap_height#, 0); +adjust_fit(0,0); +pcshiftx := u; +y100=h/2; x100=pcshiftx+y100; % center of square +numeric beta; +beta := side/10; % extra at top and bottom +numeric alpha, theta; +numeric hor, vert; +pair greek[]; +alpha=h/3; +hor := h; vert := 0.75h; +greek1 = (hor,vert); greek2 = (-hor, -vert); +greek3 = (-hor,vert); greek4 = (hor, -vert); +theta = 270 + angle(greek1); +penpos1(thick,0); penpos2(thick,0); +z1=(w/2,-beta); z2=(w/2,alpha); +penpos3(thick,theta); +y3l=h+beta; x3r=w-pcshiftx; +penpos4(thick,-theta); +y4r=h+beta; x4l=pcshiftx; +filldraw z1l--z1r--z2r{up}..{greek1}z3r--z3l{greek2}..{down}z2l--cycle; +filldraw z1l--z1r--z2r{up}..{greek3}z4r--z4l{greek4}..{down}z2l--cycle; +proofpcbb(100, y100, y100); +penlabels(0,1,2,3,4,5,6,100); endchar; % End of "u" + + +cmchar "Greek 394BC letter phi (rough, F)"; +beginchar("F", 2u#+4/5side#, cap_height#,0); +adjust_fit(0, 0); +pcshiftx := u; +y100 = h/2; x100 = pcshiftx + y100; % center point +numeric beta; +beta := side/10; % extra at top and bottom +penpos1(thick,0); penpos2(thick,0); +z1=(w/2,-beta); z2=(w/2,h+beta); +z0=(w/2,h/2); +numeric alpha; +alpha := 2/5side; +y3o=y3i=y5i=y5o=h/2; +x3o=x0-alpha; x3i=x3o+thick; x5o=x0+alpha; x5i=x5o-thick; +x4o=x4i=x6i=x6o=w/2; +y4o=y0+alpha; y4i=y4o-thick; y6o=y0-alpha; y6i=y6o+thick; +unfilldraw z3i..z4i..z5i..z6i..cycle; +filldraw z3o..z4o..z5o..z6o..cycle; +filldraw stroke z1e--z2e; filldraw stroke z1e--z2e; +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,5,6,100); +endchar; + + +cmchar "Greek 394BC letter psi (rough, Q)"; +beginchar("Q", 2u#+side#, cap_height#,0); +adjust_fit(0, 0); +pcshiftx := u; +y100 = h/2; x100 = pcshiftx + y100; % center point +numeric alpha, beta; +numeric hor, vert, theta; +pair greek; +alpha=1; % scale factor +beta=1/3alpha*side+thick; % arm seperation height +numeric gamma; +gamma := side/10; % extra at top and bottom +penpos1(thick,0); penpos2(thick,0); +z1=(w/2,-gamma); z2=(w/2,h+gamma); +filldraw stroke z1e--z2e; +hor := w/2; vert := h-beta; +greek = (hor,vert); +theta=270+angle(greek); +penpos3(thick,theta); penpos4(thick,theta); +z3l=(w/2,beta); y4l=alpha*h; x4r=w-pcshiftx; +penpos5(thick,-theta); penpos6(thick,-theta); +z5r=z3l; x6l=pcshiftx; y6r=y4l; +z10=whatever[z1r,z2r]=whatever[z3r,z4r]; +z11=whatever[z1l,z2l]=whatever[z5l,z6l]; +filldraw z3l--z4l--z4r--z10--cycle; % right arm +filldraw z5r--z6r--z6l--z11--cycle; % left arm +proofpcbb(100, y100, y100); +penlabels(1,2,3,4,5,6,10,11,100); +endchar; + + +end + diff --git a/Master/texmf-dist/fonts/source/archaic/gvibc10.mf b/Master/texmf-dist/fonts/source/archaic/gvibc10.mf new file mode 100644 index 00000000000..07fab0a4262 --- /dev/null +++ b/Master/texmf-dist/fonts/source/archaic/gvibc10.mf @@ -0,0 +1,354 @@ +%% +%% This is file `gvibc10.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% greek6cbc.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. +%% ------------------------------------------------------------------ +%%% GVIBC10.MF Computer Greek font (6th century BC) 10 point design size. + + +font_identifier:="Greek"; font_size 10pt#; + +u#:=.2pt#; % unit width +ht#:=7pt#; % height of characters (CM cap-height is approx 6.8pt) +s#:=1.5pt#; % width correction (right and left) +o#:=1/20pt#; % overshoot +px#:=.7pt#; % 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:="Greek glyphs"; +mode_setup; + +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); + +numeric midloc, rightloc; +pickup pencircle xscaled px yscaled py; +stylus:=savepen; + +def beginglyph(expr code, unit_width) = + beginchar(code, unit_width*ht#+2s#, ht#, 0); + midloc:=1/2w; rightloc:=(w-s); + pickup stylus enddef; + +let cmchar=\; + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +cmchar "Greek letter alpha (a)"; +beginglyph("a",0.6); +x1=leftloc; x3=rightloc; % base points +bot y1 = bot y3 = -o; +x2 = midloc; top y2 = h; % apex +draw z1--z2--z3; % draw the legs +z4 = 0.4[z1, z2]; +draw z3--z4; % draw the bar +labels(1,2,3,4); +endchar; + + +cmchar "Greek letter beta (b)"; +beginglyph("b",0.6); +x1=x3=x5=leftloc; +x2=x4=rightloc; +bot y1=-o; top y5=h; +y2=1/4h; y3=1/2h; y4=3/4h; +draw z1--z5; % the upright +draw z1{right}..z2..z3{left}; % lower bowl +draw z3{right}..z4..z5{left}; % upper bowl +labels(1,2,3,4,5); endchar; + + +cmchar "Greek letter gamma (g)"; +beginglyph("g", 0.4); +x1=x2=leftloc; x3=rightloc; +bot y1=-o; top y2 = top y3= h; +draw z1--z2--z3; +labels(1,2,3); endchar; + + +cmchar "Greek letter delta (d)"; +beginglyph("d",0.6); +x1=leftloc; x2=midloc; x3=rightloc; +bot y1 = bot y3= 0; +top y2=h; +draw z1--z2--z3--cycle; +labels(1,2,3); endchar; + + +cmchar "Greek letter epsilon (e)"; +beginglyph("e",0.6); +x1=x3=leftloc; x4=x6=rightloc; +bot y1= bot y4= -o; top y3= top y6= h; +z2=0.5[z1,z3]; z5=0.5[z4,z6]; +draw z4--z1--z3--z6; +draw z2--z5; +labels(1,2,3,4,5,6); endchar; + + +cmchar "Greek letter digamma (F)"; +beginglyph("F",0.6); +x1=x3=leftloc; x4=x6=rightloc; +bot y1= bot y4= -o; top y3= top y6= h; +z2=0.65[z1,z3]; z5=0.65[z4,z6]; +draw z1--z3--z6; +draw z2--z5; +labels(1,2,3,4,5,6); endchar; + + +cmchar "Greek letter zeta (z)"; +beginglyph("z",0.2); +x1=x2=midloc; +bot y1=-o; top y2=h; +draw z1--z2; % the upright +x3=x5=leftloc; x4=x6=rightloc; +y3=y4=y1; y5=y6=y2; +draw z3--z4; % lower bar +draw z5--z6; % upper bar +labels(1,2); endchar; + + +cmchar "Greek letter eta (h)"; +beginglyph("h", 0.6); +numeric alpha; +x1=x3=leftloc; x4=x6=rightloc; +bot y1 = bot y4= -o; top y3= top y6= h; +z2=0.5[z1,z3]; z5=0.5[z4,z6]; +draw z1--z3--z6--z4--cycle; % rectangle +draw z2--z5; % bar +labels(1,2,3,4,5,6); endchar; + + +cmchar "Greek letter theta (T)"; +beginglyph("T",1.0); +path p; +x1=leftloc; x3=rightloc; +y2=h; y4=0; +x2=x4=midloc; +y1=y3=h/2; +z100=(x2,y3); % circle center +p = z1..z2..z3..z4..cycle; % the circle +draw p; +draw z1--z3; draw z2--z4; % the cross +labels(1,2,3,4); endchar; + + +cmchar "Greek letter iota (i)"; +beginglyph("i",0.2); +x1=x2=midloc; +bot y1=-o; top y2=h; +draw z1--z2; +labels(1,2); endchar; + + +cmchar "Greek letter kappa (k)"; +beginglyph("k",0.6); +numeric alpha; +alpha:=0.1; +x1=rightloc; +x2=x1+alpha*(w-s); +x3=x4=x5=leftloc; +bot y1= bot y3=-o; +y2=y5=h; y4=1/2h; +draw z3--z5; % the upright +draw z1--z4; draw z4--z2; % the arms +labels(1,2,3,4,5); endchar; + + +cmchar "Greek letter lambda (l)"; +beginglyph("l",0.4); +x1=x2=leftloc; x3=rightloc; +bot y1=-o; y2=h; +y3=.7h; +draw z1--z2--z3; +labels(1,2,3); endchar; + + +cmchar"Greek letter mu (m)"; +beginglyph("m",1.0); +x1=rightloc; +x5=x6=leftloc; +x2=3/4[x5,x1]; x3=1/2[x5,x1]; x4=1/4[x5,x1]; +bot y6= -o; +top y5= top y3 = h; +top y1=.8h; +y2=.6h; +y4=.7h; +draw z6--z5; +draw z1--z2--z3--z4--z5; +labels(1,2,3,4,5,6); endchar; + + +cmchar "Greek letter nu (n)"; +beginglyph("n",0.6); +x1=x2=leftloc; x3=x4=rightloc; +y1=0; y2=0.8h; y3=0.3h; y4=h; +draw z1--z2--z3--z4; +labels(1,2,3,4); endchar; + + +cmchar "Greek letter xi (x)"; +beginglyph("x", 0.6); +x1=x3=leftloc; x4=x6=rightloc; +bot y1= bot y4= -o; top y3= top y6= h; +z2=0.5[z1,z3]; z5=0.5[z4,z6]; +z7=0.5[z1,z4]; z8=0.5[z3,z6]; +draw z1--z4; draw z2--z5; draw z3--z6; % horizontals +draw z7--z8; % vertical +labels(1,2,3,4,5,6,7,8); endchar; + + +cmchar "Greek letter omicron (o)"; +beginglyph("o",1.0); +x1=leftloc; x3=rightloc; +y2=h; y4=0; +x2=x4=midloc; +y1=y3=h/2; +draw z1..z2..z3..z4..cycle; +labels(1,2,3,4); endchar; + + +cmchar "Greek letter pi (p)"; +beginglyph("p", 0.4); +x1=x2=leftloc; x3=x4=rightloc; +bot y1=-o; top y2= top y3= h; y4=0.6h; +draw z1--z2--z3--z4; +labels(1,2,3,4); endchar; + + +cmchar "Greek letter (koppa) q"; +beginglyph("q",0.6); +numeric alpha; +x1=leftloc; +x3=rightloc; +alpha=0.5(x3-x1); % circle radius +y2=h; +y4=y2-2alpha; +bot y5=-o; +x2=x4=x5=midloc; +y1=y3=h-alpha; +draw z1..z2..z3..z4..cycle; % the circle +draw z5--z4; % the upright +labels(1,2,3,4,5); endchar; + + +cmchar "Greek letter rho (r)"; +beginglyph("r", 0.4); +x1=x2=x3=leftloc; x4=rightloc; +bot y1=-o; top y2=h; +y3=y4=0.5h; +draw z1--z2--z4--z3; % the P shape +x5=midloc; y5=0.2h; +draw z3--z5; % a little leg +labels(1,2,3,4); endchar; + + +cmchar "Greek letter sigma (s)"; +beginglyph("s", 0.8); +x2=x4=leftloc; x1=x5=rightloc; +y1=0; y5=h; +y2=0.1h; y4=0.9h; +z3=(midloc,0.5h); +draw z1--z2--z3--z4--z5; +labels(1,2,3,4,5); endchar; + + +cmchar "Greek letter tau (t)"; +beginglyph("t", 0.6); +x1=midloc; x2=leftloc; x4=rightloc; +bot y1=-o; top y2= top y4= h; +z3=0.5[z2,z4]; +draw z1--z3; % upright +draw z2--z4; % bar +labels(1,2,3,4); endchar; + + +cmchar "Greek letter upsilon (y)"; +beginglyph("y", 0.6); +x1=x3=midloc; x2=leftloc; x4=rightloc; +bot y1=-o; top y2= top y4= h; +y3=0.6h; +draw z1--z3; % upright +draw z2--z3--z4; % V +labels(1,2,3,4); endchar; + + +cmchar "Greek letter chi (X)"; +beginglyph("X", 0.6); +x1=x2=leftloc; x3=x4=rightloc; +bot y1= bot y3=-o; top y2= top y4=h; +draw z1--z4; draw z2--z3; +labels(1,2,3,4); endchar; + + +cmchar "Greek letter phi (f)"; +beginglyph("f",0.6); +x1=leftloc; x3=rightloc; +x2=x4=midloc; +y1=y3=0.5h; +y2=h; y4=0; +draw z1..z2..z3..z4..cycle; % the oval +draw z4--z2; % the upright +labels(1,2,3,4,5); endchar; + + +cmchar "Greek letter psi (P)"; +beginglyph("P", 0.6); +x1=x3=midloc; x2=leftloc; x4=rightloc; +bot y1=-o; top y2= top y4= h; +y3=0.5h; +z5=0.5[z2,z4]; +draw z1--z5; % upright +draw z2--z3--z4; % V +labels(1,2,3,4,5); endchar; + + +cmchar "Greek letter omega (O)"; +beginglyph("O", 1.0); +x1=leftloc; x4=rightloc; +y1=y4=0; +z2=0.35[z1,z4]; z3=0.35[z4,z1]; +x7=midloc; y7=h; +x5=0.1[x1,x4]; x6=0.1[x4,x1]; +y5=y6=0.5h; +draw z1--z2..z5..z7..z6..z3--z4; +labels(1,2,3,4,5,6,7); endchar; + + +end + diff --git a/Master/texmf-dist/fonts/source/archaic/vik10.mf b/Master/texmf-dist/fonts/source/archaic/vik10.mf new file mode 100644 index 00000000000..fedc7050ea6 --- /dev/null +++ b/Master/texmf-dist/fonts/source/archaic/vik10.mf @@ -0,0 +1,38 @@ +%% +%% This is file `vik10.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% viking.dtx (with options: `up') +%% +%% Copyright 2003 Uwe Zimmermann +%% +%% This program is provided under the terms of the +%% LaTeX Project Public License distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt. +%% +%% Author: Uwe Zimmermann +%% uwe.zimmermann@sciencetronics.com +%% +%% based on runic.ins by Peter R. Wilson +%% +%%% VIK10.MF Computer Runic font 10 point design size. + + +font_identifier:="Viking"; font_size 10pt#; + +u#:=.2pt#; % unit width +ht#:=7pt#; % height of characters (CM cap-height is approx 6.8pt) +s#:=1.5pt#; % width correction (right and left) +o#:=1/20pt#; % overshoot +px#:=.7pt#; % 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 + +input viktitle %% switch to the driver file---Runic title + +end + diff --git a/Master/texmf-dist/fonts/source/archaic/vikglyph.mf b/Master/texmf-dist/fonts/source/archaic/vikglyph.mf new file mode 100644 index 00000000000..aa2408f2e8b --- /dev/null +++ b/Master/texmf-dist/fonts/source/archaic/vikglyph.mf @@ -0,0 +1,394 @@ +%% +%% This is file `vikglyph.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% viking.dtx (with options: `maj') +%% +%% Copyright 2003 Uwe Zimmermann +%% +%% This program is provided under the terms of the +%% LaTeX Project Public License distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt. +%% +%% Author: Uwe Zimmermann +%% uwe.zimmermann@sciencetronics.com +%% +%% based on runic.ins by Peter R. Wilson +%% +cmchar "Runic letter F"; +beginglyph("F",0.6); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 0.4h); +z3 = (leftloc, 0.7h); +z4 = (leftloc, 1.0h); +z5 = (midloc, 1.0h); +z6 = (rightloc, 1.0h); +draw z1--z4; +draw z2--z6; +draw z3--z5; +labels(1,2,3,4,5,6); +endchar; +cmchar "Runic letter U"; +beginglyph("U",0.6); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 1.0h); +z3 = (0.75rightloc, 0.65h); +z4 = (rightloc, 0.0h); +draw z1--z2--z3--z4; +labels(1,2,3,4); +endchar; +cmchar "Runic letter TH"; +beginglyph("D",0.4); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 0.2h); +z3 = (leftloc, 0.8h); +z4 = (leftloc, 1.0h); +z5 = (rightloc, 0.5h); +draw z1--z4; +draw z2--z5; +draw z3--z5; +labels(1,2,3,4,5); +endchar; +cmchar "Runic letter O"; +beginglyph("O",0.4); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 0.4h); +z3 = (leftloc, 0.7h); +z4 = (leftloc, 1.0h); +z5 = (rightloc, 0.5h); +z6 = (rightloc, 0.2h); +draw z1--z4; +draw z2--z6; +draw z3--z5; +labels(1,2,3,4,5,6); +endchar; +cmchar "Runic letter R"; +beginglyph("R",0.6); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 1.0h); +z3 = (0.7(leftloc+rightloc), 0.75h); +z4 = (0.3(leftloc+rightloc), 0.5h); +z5 = (rightloc, 0.0h); +draw z1--z2--z3--z4--z5; +labels(1,2,3,4,5); +endchar; +cmchar "Runic letter K"; +beginglyph("K",0.4); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 0.5h); +z3 = (leftloc, 1.0h); +z4 = (rightloc, 1.0h); +draw z1--z3; +draw z2--z4; +labels(1,2,3,4); +endchar; +cmchar "Runic letter G"; +beginglyph("G",0.4); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 0.5h); +z3 = (leftloc, 1.0h); +z4 = (rightloc, 1.0h); +z5 = (midloc, 0.95h); +draw z1--z3; +draw z2--z4; +draw z5; +labels(1,2,3,4,5); +endchar; +cmchar "Runic letter H"; +beginglyph("H",0.4); +z1 = (midloc, 0.0h); +z2 = (midloc, 1.0h); +z3 = (leftloc, 0.3h); +z4 = (leftloc, 0.7h); +z5 = (rightloc, 0.7h); +z6 = (rightloc, 0.3h); +draw z1--z2; +draw z3--z5; +draw z4--z6; +labels(1,2,3,4,5,6); +endchar; +cmchar "Runic letter N"; +beginglyph("N",0.4); +z1 = (midloc, 0.0h); +z2 = (midloc, 1.0h); +z4 = (leftloc, 0.7h); +z6 = (rightloc, 0.3h); +draw z1--z2; +draw z4--z6; +labels(1,2,4,6); +endchar; +cmchar "Runic letter I"; +beginglyph("I",0.4); +z1 = (midloc, 0.0h); +z2 = (midloc, 1.0h); +draw z1--z2; +labels(1,2); +endchar; +cmchar "Runic letter E"; +beginglyph("E",0.4); +z1 = (midloc, 0.0h); +z2 = (midloc, 1.0h); +z3 = (midloc, 0.5h); +draw z1--z2; +pickup stugna +draw z3; +labels(1,2,3); +endchar; +cmchar "Runic letter A"; +beginglyph("A",0.4); +z1 = (midloc, 0.0h); +z2 = (midloc, 1.0h); +z4 = (leftloc, 0.3h); +z6 = (rightloc, 0.7h); +draw z1--z2; +draw z4--z6; +labels(1,2,4,6); +endchar; +cmchar "Runic letter S"; +beginglyph("S",0.4); +z1 = (rightloc, 0.0h); +z2 = (rightloc, 0.7h); +z3 = (leftloc, 0.3h); +z4 = (leftloc, 1.0h); +draw z1--z2--z3--z4; +labels(1,2,3,4); +endchar; +cmchar "Runic letter Z"; +beginglyph("Z",0.4); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 0.7h); +z3 = (rightloc, 0.3h); +z4 = (rightloc, 1.0h); +draw z1--z2--z3--z4; +labels(1,2,3,4); +endchar; +cmchar "Runic letter T"; +beginglyph("T",0.4); +z1 = (midloc, 0.0h); +z2 = (midloc, 1.0h); +z3 = (leftloc, 0.8h); +z4 = (rightloc, 0.8h); +draw z1--z2; +draw z2--z3; +draw z2--z4; +labels(1,2,3,4); +endchar; +cmchar "Runic letter B"; +beginglyph("B",0.4); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 0.5h); +z3 = (leftloc, 1.0h); +z4 = (rightloc, 0.75h); +z5 = (rightloc, 0.25h); +draw z1--z3; +draw z3--z4--z2; +draw z2--z5--z1; +labels(1,2,3,4,5); +endchar; +cmchar "Runic letter M"; +beginglyph("M",0.6); +z1 = (midloc, 0.0h); +z2 = (midloc, 0.7h); +z3 = (midloc, 1.0h); +z4 = (leftloc, 1.0h); +z5 = (rightloc, 1.0h); +draw z1--z3; +draw z2--z4; +draw z2--z5; +labels(1,2,3,4,5); +endchar; +cmchar "Runic letter L"; +beginglyph("L",0.4); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 1.0h); +z3 = (rightloc, 0.8h); +draw z1--z2--z3; +labels(1,2,3); +endchar; +cmchar "Runic letter Y"; +beginglyph("Y",0.6); +z1 = (midloc, 0.0h); +z2 = (midloc, 0.3h); +z3 = (midloc, 1.0h); +z4 = (leftloc, 0.0h); +z5 = (rightloc, 0.0h); +draw z1--z3; +draw z2--z4; +draw z2--z5; +labels(1,2,3,4,5); +endchar; +cmchar "Runic letter :"; +beginglyph(":",0.2); +z3 = (leftloc, 0.4h); +z4 = (leftloc, 0.6h); +z5 = (rightloc, 0.6h); +z6 = (rightloc, 0.4h); +draw z3--z5; +draw z4--z6; +labels(3,4,5,6); +endchar; +cmchar "Runic letter ."; +beginglyph(".",0.2); +z3 = (midloc, 0.5h); +draw z3; +labels(3); +endchar; +cmchar "Runic letter F"; +beginglyph("f",0.3); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 0.5h); +z3 = (leftloc, 0.75h); +z4 = (leftloc, 1.0h); +z5 = (rightloc, 1.0h); +z6 = (rightloc, 0.75h); +draw z1--z4; +draw z2--z6; +draw z3--z5; +labels(1,2,3,4,5,6); +endchar; +cmchar "Runic letter U"; +beginglyph("u",0.3); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 1.0h); +z4 = (rightloc, 0.0h); +draw z1--z2--z4; +labels(1,2,4); +endchar; +cmchar "Runic letter TH"; +beginglyph("d",0.3); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 0.2h); +z3 = (leftloc, 0.8h); +z4 = (leftloc, 1.0h); +z5 = (rightloc, 0.5h); +draw z1--z4; +draw z2--z5; +draw z3--z5; +labels(1,2,3,4,5); +endchar; +cmchar "Runic letter O"; +beginglyph("o",0.3); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 0.4h); +z3 = (leftloc, 0.7h); +z4 = (leftloc, 1.0h); +z5 = (rightloc, 0.5h); +z6 = (rightloc, 0.2h); +draw z1--z4; +draw z2--z6; +draw z3--z5; +labels(1,2,3,4,5,6); +endchar; +cmchar "Runic letter R"; +beginglyph("r",0.3); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 1.0h); +z3 = (0.7(leftloc+rightloc), 0.75h); +z4 = (0.3(leftloc+rightloc), 0.5h); +z5 = (rightloc, 0.0h); +draw z1--z2--z3--z4--z5; +labels(1,2,3,4,5); +endchar; +cmchar "Runic letter K"; +beginglyph("k",0.3); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 0.5h); +z3 = (leftloc, 1.0h); +z4 = (rightloc, 1.0h); +draw z1--z3; +draw z2--z4; +labels(1,2,3,4); +endchar; +cmchar "Runic letter H"; +beginglyph("h",0.2); +z1 = (midloc, 0.0h); +z2 = (midloc, 1.0h); +z3 = (leftloc, 0.5h); +z5 = (rightloc, 0.5h); +draw z1--z2; +draw z3--z5; +labels(1,2,3,5); +endchar; +cmchar "Runic letter N"; +beginglyph("n",0.3); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 1.0h); +z4 = (leftloc, 0.6h); +z6 = (rightloc, 0.3h); +draw z1--z2; +draw z4--z6; +labels(1,2,4,6); +endchar; +cmchar "Runic letter I"; +beginglyph("i",0.2); +z1 = (midloc, 0.0h); +z2 = (midloc, 1.0h); +draw z1--z2; +labels(1,2); +endchar; +cmchar "Runic letter A"; +beginglyph("a",0.3); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 1.0h); +z4 = (leftloc, 0.4h); +z6 = (rightloc, 0.7h); +draw z1--z2; +draw z4--z6; +labels(1,2,4,6); +endchar; +cmchar "Runic letter S"; +beginglyph("s",0.2); +z1 = (midloc, 0.5h); +z2 = (midloc, 1.0h); +draw z1--z2; +labels(1,2); +endchar; +cmchar "Runic letter T"; +beginglyph("t",0.3); +z1 = (rightloc, 0.0h); +z2 = (rightloc, 1.0h); +z3 = (leftloc, 0.8h); +draw z1--z2; +draw z2--z3; +labels(1,2,3); +endchar; +cmchar "Runic letter B"; +beginglyph("b",0.3); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 0.3h); +z3 = (leftloc, 0.6h); +z4 = (leftloc, 1.0h); +z5 = (rightloc, 0.8h); +z6 = (rightloc, 0.5h); +draw z1--z4; +draw z2--z6; +draw z3--z5; +labels(1,2,3,4,5,6); +endchar; +cmchar "Runic letter M"; +beginglyph("m",0.3); +z1 = (midloc, 0.0h); +z2 = (midloc, 1.0h); +z3 = (leftloc, 1.0h); +z4 = (rightloc, 1.0h); +draw z1--z2; +draw z3--z4; +labels(1,2,3,4); +endchar; +cmchar "Runic letter L"; +beginglyph("l",0.3); +z1 = (leftloc, 0.0h); +z2 = (leftloc, 1.0h); +z3 = (rightloc, 0.8h); +draw z1--z2--z3; +labels(1,2,3); +endchar; +cmchar "Runic letter Y"; +beginglyph("y",0.2); +z1 = (midloc, 0.0h); +z2 = (midloc, 0.5h); +draw z1--z2; +labels(1,2); +endchar; diff --git a/Master/texmf-dist/fonts/source/archaic/viktitle.mf b/Master/texmf-dist/fonts/source/archaic/viktitle.mf new file mode 100644 index 00000000000..0b3a96e83c3 --- /dev/null +++ b/Master/texmf-dist/fonts/source/archaic/viktitle.mf @@ -0,0 +1,52 @@ +%% +%% This is file `viktitle.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% viking.dtx (with options: `mfd') +%% +%% Copyright 2003 Uwe Zimmermann +%% +%% This program is provided under the terms of the +%% LaTeX Project Public License distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt. +%% +%% Author: Uwe Zimmermann +%% uwe.zimmermann@sciencetronics.com +%% +%% based on runic.ins by Peter R. Wilson +%% + +font_coding_scheme:="Runic glyphs"; +mode_setup; + +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); + +numeric midloc, rightloc; +pickup pencircle xscaled px yscaled py; +stylus:=savepen; + +pickup pencircle xscaled 2px yscaled 2px; +stugna:=savepen; + +def beginglyph(expr code, unit_width) = + beginchar(code, unit_width*ht#+2s#, ht#, 0); + midloc:=1/2w; rightloc:=(w-s); + pickup stylus enddef; + +let cmchar=\; + + +input vikglyph; % Runic glyphs + +end + |