% 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;