From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- fonts/shavian/shavian.mf | 422 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 422 insertions(+) create mode 100644 fonts/shavian/shavian.mf (limited to 'fonts/shavian') diff --git a/fonts/shavian/shavian.mf b/fonts/shavian/shavian.mf new file mode 100644 index 0000000000..b42d72c370 --- /dev/null +++ b/fonts/shavian/shavian.mf @@ -0,0 +1,422 @@ +% shavian.mf +% This font was designed by Alan M Stanier ( alan@essex.ac.uk ), +% at Essex University Computer Service, Colchester, Essex CO4 3EA. England. +% +% If you make significant additions or improvements to the font, +% please email me an updated version +% +% The Shavian "Proposed British Alphabet" was devised by Kingsley Reed +% and was the winning entry in a competition financed by a trust set up +% under George Bernard Shaw's will. The aim was to find an alphabet able +% to write English without indicating single sounds by groups of letters +% or by diacriticalmarks. +% +% Capitals are not distinguished. Proper names are identified by a raised +% "namer dot", and single symbols are used for the words "the" "of" "and" +% and "to". +% +% The coding scheme used is as follows +% +% a a as in Ash +% b b as in Bib +% c ch as in CHurch +% d d as in Dead +% e e as in Egg +% f f as in Fee +% g g as in Gag +% h h as in Ha-ha +% i i as in If +% j j as in Judge +% k k as in Kick +% l l as in Loll +% m m as in Mime +% n n as in Nun +% o o as in On +% p p as in Peep +% q oa as in OAk +% r r as in Roar +% s s as in So +% t T as in Tot +% u u as in Up +% v v as in Vow +% w w as in Woe +% x the +% y y as in Yea +% z z as Zoo +% A aw as in AWe +% E ea as in EAt +% H a as in Age +% I i as in Ice +% N ng as in huNG +% O oo as in OOze +% Q ou as in OUt +% R ah as in AH +% S s as in Sure +% T th as in THey +% U oo as in wOOl +% X th as in THigh +% Z s as in meaSure +% ~ oi as in OIl +% % of +% > to +% & and +% @ a as in Ado +% # namer dot +% +% +% +mg:=1.0; % CHANGE THIS TO GET DIFFERENT SIZES OF FONT (font size = 10*mg pt) + +mode_setup; +tracingtitles := 1; +bigpensize#:=mg*1.2pt; +xpensize#:=mg*0.8pt; +ypensize#:=mg*0.4pt; +height#:=mg*9.6pt#; +depth#:=mg*3.2pt#; +width#:=mg*6.6pt#; +narrowwidth#:=mg*3.4pt#; +widewidth#:=mg*9.6pt#; +verywidewidth#:=mg*15pt#; +define_pixels(height,depth,width,halfwidth,widewidth); +def getpen = pickup pencircle xscaled xpensize# yscaled ypensize# rotated 30 enddef; +def getbigpen = pickup pencircle scaled bigpensize# enddef; + +beginchar("x",widewidth#,height#,depth#); "the"; +getpen; +draw (18*mg,-9*mg) .. (10*mg,9*mg) .. (9*mg,18*mg){up} .. (12*mg,27*mg){right} + .. (18*mg,24*mg){down} .. (10*mg,9*mg); +endchar; + +beginchar(".",narrowwidth#,height#,depth#); "fullstop"; +getbigpen; +drawdot(4.5*mg,0); +endchar; + +beginchar("'",narrowwidth#,height#,depth#); "comma"; +getbigpen; +draw (4.5*mg,0){down} .. (1.5*mg,-6*mg){left}; +endchar; + +beginchar(":",narrowwidth#,height#,depth#); "colon"; +getbigpen; +drawdot(4.5*mg,0); +drawdot(4.5*mg,9*mg); +endchar; + +beginchar(";",narrowwidth#,height#,depth#); "semicolon"; +getbigpen; +drawdot(4.5*mg,9*mg); +draw (4.5*mg,0){down} .. (1.5*mg,-6*mg){left}; +endchar; + +beginchar("!",narrowwidth#,height#,depth#); "exclamation"; +getbigpen; +drawdot(4.5*mg,0); +getpen; +draw (4.5*mg,9*mg) -- (4.5*mg,27*mg); +endchar; + +beginchar("?",width#,height#,depth#); "question"; +getpen; +draw (0,21*mg){up} .. (9*mg,27*mg){right} .. (18*mg,21*mg){down} .. (9*mg,15*mg){left}; +draw (9*mg,15*mg) -- (9*mg,9*mg); +getbigpen; +drawdot(9*mg,0); +endchar; + +beginchar("0",width#,height#,depth#); "0"; +getpen; +draw fullcircle xscaled (18*mg) yscaled (27*mg) shifted (9*mg,13.5*mg); +endchar; + +beginchar("1",width#,height#,depth#); "1"; +getpen; +draw (0,0) -- (18*mg,0); +draw (9*mg,0) -- (9*mg,27*mg) -- (3*mg,21*mg); +endchar; + +beginchar("2",width#,height#,depth#); "2"; +getpen; +draw (0,18*mg){up} .. (9*mg,27*mg){right} .. (18*mg,18*mg){down} .. (0,0); +draw (0,0) -- (18*mg,0); +endchar; + +beginchar("3",width#,height#,depth#); "3"; +getpen; +draw (0,22.5*mg){up} .. (9*mg,27*mg){right} .. (18*mg,18*mg){down} .. (9*mg,13.5*mg){left}; +draw (0,4.5*mg){down} .. (9*mg,0){right} .. (18*mg,9*mg){up} .. (9*mg,13.5*mg){left}; +endchar; + +beginchar("4",width#,height#,depth#); "4"; +getpen; +draw (12*mg,0) -- (12*mg,27*mg) -- (0,9*mg) -- (18*mg,9*mg); +endchar; + +beginchar("5",width#,height#,depth#); "5"; +getpen; +draw (18*mg,27*mg) -- (0,27*mg) -- (0,18*mg); +draw (0,18*mg){right} .. (18*mg,9*mg){down} .. (0,0){left}; +endchar; + +beginchar("6",width#,height#,depth#); "6"; +getpen; +draw (12*mg,27*mg) .. (3*mg,18*mg) .. (0,9*mg){down} .. (6*mg,0){right} .. (18*mg,12*mg){up} .. (3*mg,18*mg); +endchar; + +beginchar("7",width#,height#,depth#); "7"; +getpen; +draw (0,0) -- (18*mg,27*mg) -- (0,27*mg); +endchar; + +beginchar("8",width#,height#,depth#); "8"; +getpen; +draw fullcircle xscaled (18*mg) yscaled (13.5*mg) shifted (9*mg,6.75*mg); +draw fullcircle xscaled (18*mg) yscaled (13.5*mg) shifted (9*mg,20.25*mg); +endchar; + +beginchar("9",width#,height#,depth#); "9"; +getpen; +draw (18*mg,0) -- (18*mg,27*mg); +draw (18*mg,27*mg) {left} .. (0,20.25*mg){down} .. (18*mg, 13.5*mg){right}; +endchar; + +% Talls + +beginchar("p",narrowwidth#,height#,depth#); "p"; +getpen; +draw (0,27*mg){right} .. (9*mg,18*mg){down} -- (9*mg,0); +endchar; + +beginchar("t",narrowwidth#,height#,depth#); "t"; +getpen; +draw (0,18*mg) -- (9*mg,27*mg) -- (9*mg,0); +endchar; + +beginchar("k",width#,height#,depth#); "k"; +getpen; +draw (18*mg,27*mg) -- (18*mg,12*mg); +draw (18*mg,12*mg){up} .. (0,9*mg){down} .. (18*mg,0); +endchar; + +beginchar("f",narrowwidth#,height#,depth#); "f"; +getpen; +draw (9*mg,27*mg) .. (9*mg,9*mg){down} .. (0,0){left}; +endchar; + +beginchar("X",width#,height#,depth#); "X"; +getpen; +draw (0,27*mg) -- (10*mg,20*mg) .. (18*mg,9*mg){down} .. (9*mg,0){left} .. (0,9*mg){up} .. (10*mg,20*mg); +endchar; + +beginchar("s",narrowwidth#,height#,depth#); "s"; +getpen; +draw (9*mg,27*mg) .. (0,18*mg){down} .. (9*mg,9*mg){down} .. (0,0); +endchar; + +beginchar("S",width#,height#,depth#); "S"; +getpen; +draw (18*mg,27*mg){(-1,-1)} .. (0,9*mg){down} .. (9*mg,0){right} .. (18*mg,9*mg); +endchar; + +beginchar("c",width#,height#,depth#); "c"; +getpen; +draw (18*mg,27*mg){(-1,-1)} .. (0,9*mg){down} .. (9*mg,0){right} .. (18*mg,9*mg); +draw (0,21*mg) -- (18*mg,27*mg); +endchar; + +beginchar("y",narrowwidth#,height#,depth#); "y"; +getpen; +draw (0,27*mg) -- (9*mg,0); +endchar; + +beginchar("N",width#,height#,depth#); "N"; +getpen; +draw (0,0) .. (18*mg,18*mg){up} .. (9*mg,27*mg){left} .. (0,18*mg){down} .. (18*mg,0); +endchar; + +% Deeps + +beginchar("b",narrowwidth#,height#,depth#); "b"; +getpen; +draw (0,18*mg) -- (0,0){down} .. (9*mg,-9*mg){right}; +endchar; + +beginchar("d",narrowwidth#,height#,depth#); "d"; +getpen; +draw (0,18*mg) -- (0,-9*mg) -- (9*mg,0); +endchar; + +beginchar("g",width#,height#,depth#); "g"; +getpen; +draw (0,-9*mg) -- (0,6*mg); +draw (0,6*mg){down} .. (18*mg,9*mg){up} .. (0,18*mg); +endchar; + +beginchar("v",narrowwidth#,height#,depth#); "v"; +getpen; +draw (0,-9*mg) .. (0,9*mg){up} .. (9*mg,18*mg); +endchar; + +beginchar("T",width#,height#,depth#); "T"; +getpen; +draw (18*mg,-9*mg) .. (8*mg,-2*mg) .. (0,9*mg){up} .. (9*mg,18*mg){right} .. (18*mg,9*mg){down} .. (8*mg,-2*mg); +endchar; + +beginchar("z",narrowwidth#,height#,depth#); "z"; +getpen; +draw (0,18*mg) .. (9*mg,9*mg){down} .. (0,0){down} .. (9*mg,-9*mg); +endchar; + +beginchar("Z",width#,height#,depth#); "Z"; +getpen; +draw (0,9*mg){up} .. (9*mg,18*mg){right} .. (18*mg,9*mg){down} .. (0,-9*mg){(-1,-1)}; +endchar; + +beginchar("j",width#,height#,depth#); "j"; +getpen; +draw (0,9*mg){up} .. (9*mg,18*mg){right} .. (18*mg,9*mg){down} .. (0,-9*mg){(-1,-1)}; +draw (0,-9*mg) -- (18*mg,-3*mg); +endchar; + +beginchar("w",narrowwidth#,height#,depth#); "w"; +getpen; +draw (0,-9*mg) -- (9*mg,18*mg); +endchar; + +beginchar("h",width#,height#,depth#); "h"; +getpen; +draw (0,18*mg) .. (18*mg,0){down} .. (9*mg,-9*mg){left} .. (0,0){up} .. (18*mg,18*mg); +endchar; + +% Shorts + +beginchar("l",width#,height#,depth#); "l"; +getpen; +draw (18*mg,18*mg){left} .. (0,9*mg){down} .. (18*mg,0){right}; +endchar; + +beginchar("m",width#,height#,depth#); "m"; +getpen; +draw (0,0){right} .. (18*mg,18*mg){right}; +endchar; + +beginchar("i",narrowwidth#,height#,depth#); "i"; +getpen; +draw (4.5*mg,0) -- (4.5*mg,18*mg); +endchar; + +beginchar("e",narrowwidth#,height#,depth#); "e"; +getpen; +draw (0,18*mg){down} .. (9*mg,0){right}; +endchar; + +beginchar("a",narrowwidth#,height#,depth#); "a"; +getpen; +draw (0,0){right} .. (9*mg,18*mg){up}; +endchar; + +beginchar("o",narrowwidth#,height#,depth#); "o"; +getpen; +draw (0,18*mg){right} .. (9*mg,0){down}; +endchar; + +beginchar("U",width#,height#,depth#); "U"; +getpen; +draw (0,18*mg) -- (9*mg,0) -- (18*mg,18*mg); +endchar; + +beginchar("Q",narrowwidth#,height#,depth#); "Q"; +getpen; +draw (9*mg,18*mg) -- (0,9*mg); +draw (0,9*mg){right} .. (9*mg,0){right}; +endchar; + +beginchar("R",width#,height#,depth#); "R"; +getpen; +draw (18*mg,18*mg){left} .. (0,12*mg){down} .. (9*mg,9*mg); +draw (9*mg,9*mg){down} .. (0,0){left}; +endchar; + +beginchar("r",width#,height#,depth#); "r"; +getpen; +draw (0,18*mg){right} .. (18*mg,9*mg){down} .. (0,0){left}; +endchar; + +beginchar("n",width#,height#,depth#); "n"; +getpen; +draw (0,18*mg){right} .. (18*mg,0){right}; +endchar; + +beginchar("E",narrowwidth#,height#,depth#); "E"; +getpen; +draw (0,18*mg) -- (0,6*mg) -- (9*mg,12*mg) -- (9*mg,0); +endchar; + +beginchar("H",width#,height#,depth#); "H"; +getpen; +draw (0,18*mg) .. (9*mg,15*mg) .. (18*mg,18*mg); +draw (0,18*mg){down} .. (18*mg,0); +endchar; + +beginchar("I",width#,height#,depth#); "I"; +getpen; +draw (0,18*mg) .. (9*mg,15*mg) .. (18*mg,18*mg); +draw (18*mg,18*mg){down} .. (0,0); +endchar; + +beginchar("u",width#,height#,depth#); "u"; +getpen; +draw (0,18*mg) -- (18*mg,18*mg); +draw (18*mg,18*mg){(-1,-1)} .. (0,0){down}; +endchar; + +beginchar("q",width#,height#,depth#); "q"; +getpen; +draw fullcircle scaled (18*mg) shifted (9*mg,9*mg); +endchar; + +beginchar("O",width#,height#,depth#); "O"; +getpen; +draw (0,0) -- (9*mg,18*mg) -- (18*mg,0); +endchar; + +beginchar("A",width#,height#,depth#); "A"; +getpen; +draw (0,18*mg){right} .. (18*mg,12*mg){down} .. (9*mg,9*mg); +draw (9*mg,9*mg){down} .. (18*mg,0){right}; +endchar; + +beginchar("%",widewidth#,height#,depth#); "of"; +getpen; +draw (18*mg,27*mg){left} .. (9*mg,18*mg){down} -- (9*mg,-9*mg); +endchar; + +beginchar("&",widewidth#,height#,depth#); "and"; +getpen; +draw (9*mg,27*mg){right} .. (36*mg,-9*mg){right}; +endchar; + +beginchar(">",widewidth#,height#,depth#); "to"; +getpen; +draw (9*mg,18*mg) -- (18*mg,27*mg) -- (18*mg,-9*mg); +endchar; + +beginchar("#",narrowwidth#,height#,depth#); "naming dot"; +getbigpen; +drawdot(4.5*mg,24*mg); +endchar; + +beginchar("~",narrowwidth#,height#,depth#); "~"; +getpen; +draw (0,0) -- (9*mg,9*mg); +draw (9*mg,9*mg){left} .. (0,18*mg){left}; +endchar; + +beginchar("@",narrowwidth#,height#,depth#); "@"; +getpen; +draw (0,0){up} .. (9*mg,18*mg){right}; +endchar; + +end; + -- cgit v1.2.3