% georgian.mf % This font was designed by me, Alan M Stanier ( alan@essex.ac.uk ), % at Essex University Computer Service, Colchester, Essex CO4 3EA. England. % It isn't very good, but it serves the purpose for which I designed it. % I have the copyright, but please feel free to use in in any way you want. % No charge, but if you're really impressed, leave me an extremely large bequest in your will. % If you make significant additions or improvements to the font, please email me an updated version % % The letter forms are taken from Howard I Aronson's % "GEORGIAN A Reading Grammar" (Slavica Publishers, Columbus Ohio, 1989) mg:=1.0; % CHANGE THIS TO GET DIFFERENT SIZES OF FONT (font size = 10*mg pt) mode_setup; xpensize#:=mg*0.8pt; ypensize#:=mg*0.2pt; lheight#:=mg*7.5pt#; sheight#:=mg*4.7pt#; uheight#:=mg*2.7pt#; define_pixels(lheight,sheight,uheight); def getpen = pickup pencircle xscaled xpensize# yscaled ypensize# rotated 30 enddef; beginchar(" ",0.4lheight#,1pt#,0); endchar; beginchar("A",0.6lheight#,sheight#,0); getpen; draw flex((mg*5,mg*17.5),(mg*3.5,mg*14),(mg*7,mg*12)) & (mg*7,mg*12) .. (mg*9,mg*14) & flex((mg*9,mg*14),(mg*12,mg*13),(mg*13,mg*7.5)) & flex((mg*13,mg*7.5),(mg*7.5,0),(mg*2,mg*7.5)); endchar; beginchar("B",0.6lheight#,lheight#,0); getpen; draw (mg*3,mg*25) -- (mg*3,mg*27.5) -- (mg*12,mg*27.5) -- (mg*7.5,mg*17.5); draw (mg*7.5,mg*17.5) .. (mg*2,mg*8.75) .. (mg*7.5,0) .. (mg*13,mg*8.75) .. (mg*7.5,mg*17.5) .. cycle; endchar; beginchar("C",0.6lheight#,sheight#,uheight#); getpen; draw (mg*10,0) .. (mg*5,0) .. (mg*2,mg*-5) .. (mg*7.5,mg*-10) .. (mg*13,mg*-5) .. (mg*10,0) -- (mg*10,mg*10) & flex((mg*10,mg*10),(mg*7.5,mg*17.5),(mg*5,mg*10)); endchar; beginchar("D",0.8lheight#,sheight#,uheight#); getpen; draw (mg*8,mg*13) .. (mg*8,mg*5) .. (mg*13,0) .. (mg*18,mg*8) .. (mg*13,mg*17.5) .. (mg*8,mg*13) .. flex((mg*8,mg*13),(mg*5,mg*17),(mg*2,mg*13)) & (mg*2,mg*13) -- (mg*2,0) -- (mg*15,mg*-10); endchar; beginchar("E",0.6lheight#,sheight#,uheight#); getpen; draw flex((mg*2,mg*12.5),(mg*7.5,mg*17.5),(mg*13,mg*12.5)) & (mg*13,mg*12.5) -- (mg*13,mg*-5) & flex((mg*13,mg*-5),(mg*7.5,mg*-10),(mg*2,mg*-5)); endchar; beginchar("F",0.6lheight#,sheight#,uheight#); getpen; draw (mg*2,mg*12.5) .. (mg*7,mg*17.5) & flex((mg*7,mg*17.5),(mg*12,mg*5),(mg*5,0)) & (mg*5,0) .. (mg*10,0) .. (mg*10,mg*-10) .. (mg*5,mg*-10) .. (mg*2,mg*-5); endchar; beginchar("G",0.6lheight#,lheight#,0); getpen; draw (mg*10,mg*22.5) .. (mg*5,mg*25) .. (mg*7.5,mg*27.5) .. (mg*10,mg*22.5) .. cycle; draw (mg*10,mg*22.5) -- (mg*7.5,mg*17.5); draw (mg*7.5,mg*17.5) .. (mg*2,mg*8.75) .. (mg*7.5,0) .. (mg*13,mg*8.75) .. (mg*7.5,mg*17.5) .. cycle; endchar; beginchar("H",0.8lheight#,sheight#,0); getpen; draw (mg*11,mg*12) .. (mg*7.5,mg*17.5) .. (mg*2,mg*8) .. (mg*7.5,0) .. (mg*11,mg*5) .. (mg*11,mg*12) & flex((mg*11,mg*12),(mg*15,mg*17),(mg*18,mg*10)) .. (mg*18,mg*10) .. (mg*18,0); endchar; beginchar("I",0.6lheight#,sheight#,0); getpen; draw (mg*2,0) -- (mg*2,mg*12) & flex((mg*2,mg*12),(mg*7.5,mg*17.5),(mg*13,mg*12)) & (mg*13,mg*12) -- (mg*13,0); endchar; beginchar("J",0.6lheight#,sheight#,uheight#); getpen; draw flex((mg*5,mg*17.5),(mg*12,mg*5),(mg*5,0)) & (mg*5,0) .. (mg*10,0) .. (mg*10,mg*-10) .. (mg*5,mg*-10) .. (mg*2,mg*-5); endchar; beginchar("L",1.1lheight#,lheight#,uheight#); getpen; draw (mg*28,0) -- (mg*28,mg*13) & flex((mg*28,mg*13),(mg*24,mg*17),(mg*19,mg*11)) & flex((mg*19,mg*11),(mg*15,mg*17),(mg*11,mg*11)) & flex((mg*11,mg*11),(mg*7,mg*17),(mg*3,mg*11)) .. (mg*3,mg*11) -- (mg*3,0) -- (mg*20,mg*-10); endchar; beginchar("M",0.6lheight#,lheight#,0); getpen; draw flex((mg*2,mg*22.5),(mg*7.5,mg*27.5),(mg*13,mg*22.5)) & (mg*13,mg*22.5) -- (mg*13,10) .. (mg*7.5,0) .. (mg*2,mg*10) .. (mg*7.5,mg*17.5) .. (mg*13,mg*16); endchar; beginchar("N",0.6lheight#,lheight#,0); getpen; draw (mg*13,mg*27.5) -- (mg*2,mg*27.5) .. (mg*2,mg*10) .. (mg*7.5,0) .. (mg*13,mg*10) .. (mg*7.5,mg*17.5) .. (mg*2,mg*16); endchar; beginchar("O",0.8lheight#,sheight#,0); getpen; draw (mg*2,0) -- (mg*2,mg*12.5) & flex((mg*2,mg*12.5),(mg*6,mg*17.5),(mg*10,mg*12.5)) & flex((mg*10,mg*12.5),(mg*14,mg*17.5),(mg*18,mg*12.5)) & (mg*18,mg*12.5) .. (mg*18,0); endchar; beginchar("P",0.6lheight#,lheight#,0); getpen; draw (mg*2,mg*4) .. (mg*7.5,0) .. (mg*13,mg*10) .. (mg*7.5,mg*17.5){left} & flex((mg*7.5,mg*17.5),(mg*11,mg*22.5),(mg*4,mg*27.5)); endchar; beginchar("Q",0.6lheight#,sheight#,uheight#); getpen; draw flex((mg*2,mg*5),(mg*3.5,0),(mg*5,mg*5)) .. (mg*5,mg*5) -- (mg*13,mg*17.5) -- (mg*13,mg*-5) & flex((mg*13,mg*-5),(mg*7.5,mg*-10),(mg*2,mg*-5)); endchar; beginchar("R",0.8lheight#,lheight#,0); getpen; draw (mg*2,0) -- (mg*2,mg*12.5) & flex((mg*2,mg*12.5),(mg*6,mg*17.5),(mg*10,mg*12.5)) & flex((mg*10,mg*12.5),(mg*14,mg*17.5),(mg*18,mg*12.5)) & (mg*18,mg*12.5) .. (mg*18,0); draw (mg*6,mg*17.5) -- (mg*13,mg*27.5); endchar; beginchar("S",0.6lheight#,sheight#,0); getpen; draw (mg*2,mg*27.5) -- (mg*2,10) .. (mg*7.5,0) .. (mg*13,mg*10) .. (mg*7,mg*14); endchar; beginchar("T",0.8lheight#,lheight#,uheight#); getpen; draw (mg*2,mg*22.5) -- (mg*2,0) & flex((mg*2,0),(mg*10,mg*-8),(mg*18,0)) & flex((mg*18,0),(mg*13,mg*10),(mg*8,0)) & flex((mg*8,0),(mg*11,mg*-3),(mg*14,0)); draw (mg*12.5,mg*10) .. (mg*18,mg*16.25) .. (mg*12.5,mg*22.5) .. (mg*7,mg*16.25) .. (mg*12.5,mg*10) .. cycle; endchar; beginchar("U",0.6lheight#,sheight#,uheight#); getpen; draw flex((mg*2,mg*-4.5),(mg*7.5,mg*-10),(mg*13,mg*-4.5)) & (mg*13,mg*-4.5) -- (mg*13,mg*13) & flex((mg*13,mg*13),(mg*9,mg*17),(mg*5,mg*13)) & (mg*5,mg*13) -- (mg*5,mg*5); draw (mg*5,mg*13) -- (mg*2,mg*16); endchar; beginchar("V",0.8.lheight#,sheight#,uheight#); getpen; draw flex((mg*2,mg*-5),(mg*10,mg*-10),(mg*18,mg*-5)) & flex((mg*18,mg*-5),(mg*15,mg),(mg*12,0),(mg*9,mg*4)) .. (mg*9,mg*4) -- (mg*9,mg*13) & flex((mg*9,mg*13),(mg*13.5,mg*17.5),(mg*18,mg*13)) .. (mg*18,mg*13) -- (mg*18,mg*4) .. (mg*12,0); draw flex((mg*9,mg*13),(mg*5.5,mg*16.5),(mg*2,mg*13)) .. (mg*2,mg*13) -- (mg*2,mg*4) & flex((mg*2,mg*4),(mg*5.5,0),(mg*9,mg*4)); endchar; beginchar("W",0.6lheight#,lheight#,uheight#); getpen; draw flex((mg*2,mg*-4.5),(mg*7.5,mg*-10),(mg*13,mg*-4.5)) .. (mg*13,mg*4.5) -- (mg*13,mg*27.5) -- (mg*8,mg*25); draw flex((mg*2,mg*12),(mg*7.5,mg*17.5),(mg*13,mg*12)); endchar; beginchar("X",0.8lheight#,lheight#,uheight#); getpen; draw (mg*18,0) -- (mg*18,mg*11) & flex((mg*18,mg*11),(mg*14,mg*17),(mg*10,mg*11)) & flex((mg*10,mg*11),(mg*6,mg*17),(mg*2,mg*11)) .. (mg*2,mg*11) -- (mg*2,0) -- (mg*15,mg*-10); endchar; beginchar("Y",0.6lheight#,sheight#,uheight#); getpen; draw (mg*2,mg*17.5) -- (mg*2,mg*4.5) & flex((mg*2,mg*4.5),(mg*7.5,0),(mg*13,mg*4.5)) .. (mg*13,mg*4.5) -- (mg*13,mg*17.5); draw (mg*13,mg*4.5) -- (mg*13,mg*-4.5) & flex((mg*13,mg*-4.5),(mg*7.5,mg*-10),(mg*2,mg*-4.5)); endchar; beginchar("Z",0.6lheight#,sheight#,0); getpen; draw (mg*12.5,mg*8) .. (mg*7.5,mg*17.5) .. (mg*2,mg*8) .. (mg*7.5,0) .. (mg*13,mg*8) -- (mg*13,mg*22.5) & flex((mg*13,mg*22.5),(mg*10.25,mg*27.5),(mg*7.5,mg*22.5)) & flex((mg*7.5,mg*22.5),(mg*4.75,mg*27.5),(mg*2,mg*22.5)); endchar; beginchar(91,0.6lheight#,lheight#,0); getpen; draw (mg*2,0) -- (mg*2,mg*12) & flex((mg*2,mg*12),(mg*7.5,mg*17.5),(mg*13,mg*12)) & (mg*13,mg*12) -- (mg*13,0); draw (mg*2,mg*12) -- (mg*2,mg*25) & flex((mg*2,mg*25),(mg*4.5,mg*27.5),(mg*7,mg*25)) .. (mg*7,mg*25) .. (mg*2,mg*20); endchar; beginchar(92,0.6lheight#,sheight#,uheight#); getpen; draw (mg*2,mg*17.5) -- (mg*2,mg*-4.5) & flex((mg*2,mg*-4.5),(mg*7.5,mg*-10),(mg*13,mg*-4.5)) & flex((mg*13,mg*-4.5),(mg*9,mg*-1),(mg*5,0)); draw flex((mg*5,0),(mg*13,mg*10),(mg*12,mg*12.5)) .. (mg*12,mg*12.5) -- (mg*2,mg*17.5); endchar; beginchar(93,0.6lheight#,sheight#,0); getpen; draw (mg*7.5,mg*27.5) .. (mg*13,mg*22.5) -- (mg*13,10) .. (mg*7.5,0) .. (mg*2,mg*10) .. (mg*7.5,mg*17.5) .. (mg*13,mg*16); endchar; beginchar(94,0.6lheight#,lheight#,uheight#); getpen; draw flex((mg*13,mg*24.25),(mg*10.25,mg*27.5),(mg*7.5,mg*24.25)) & flex((mg*7.5,mg*24.25),(mg*5.25,mg*27.25),(mg*2,mg*24.25)) .. (mg*2,mg*24.25) -- (mg*2,mg*-10) -- (mg*13,mg*10) & flex((mg*13,mg*10),(mg*7.5,mg*15.5),(mg*2,mg*10)); endchar; beginchar(95,0.6lheight#,lheight#,uheight#); getpen; draw (mg*4,mg*24) -- (mg*7.5,mg*27.5) -- (mg*7.5,0) .. (mg*13,mg*-5) .. (mg*7.5,mg*-10) .. (mg*2,mg*-5); draw (mg*12,mg*4) -- (mg*3,mg*13) -- (mg*3,mg*4) -- (mg*12,mg*13); endchar; beginchar(96,0.6lheight#,lheight#,0); getpen; draw (mg*2,mg*27.5) .. (mg*2,mg*10) .. (mg*7.5,0) .. (mg*13,mg*10) .. (mg*7.5,mg*17.5) .. (mg*2,mg*16) -- (mg*8,mg*22); endchar; beginchar(97,0.6lheight#,sheight#,uheight#); getpen; draw flex((mg*12,mg*17.5),(mg*13,mg*16),(mg*4,mg*-5)) & flex((mg*4,mg*-5),(mg*5,mg*-7.5),(mg*2,mg*-10)); draw flex((mg*2,mg*16),(mg*3,mg*17.5),(mg*12,mg*-10),(mg*13,mg*-9)); endchar; beginchar(98,0.6lheight#,lheight#,0); getpen; draw (mg*2,mg*5) .. (mg*7.5,0) .. (mg*13,mg*5) .. (mg*11,mg*6) -- (mg*11,mg*25) -- (mg*2,mg*27.5); draw (mg*4,mg*22.5) -- (mg*11,mg*22.5); draw (mg*4,mg*17.5) -- (mg*11,mg*17.5); endchar; end