% osmanian.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 osmanian alphabet was invented in the early 20th century by % Osman Yusuf, for the writing of the Somali language. % % mg:=1.0; % CHANGE THIS TO GET DIFFERENT SIZES OF FONT (font size = 10*mg pt) mode_setup; tracingtitles := 1; pensize#:=mg*0.8pt; height#:=mg*9.6pt#; fullwidth#:=mg*7.5pt#; narrowwidth#:=mg*5.5pt#; thinwidth#:=3.5pt#; define_pixels(height,fullwidth,marrowwidth,thinwidth); def getpen = pickup pensquare scaled pensize# enddef; beginchar("@",narrowwidth#,height#,0); getpen; draw (15,30){left} .. (0,22.5){down} .. (15,7.5){down} .. (7.5,0){left} .. (0,7.5){up}; endchar; beginchar("A",fullwidth#,height#,0); getpen; draw flex((0,30),(4,20),(8,30)); draw (8,30){down} .. (12,20); draw (23,30) -- (3,5) & flex ((3,5),(7,6),(16,0),(25,2)); endchar; beginchar("B",fullwidth#,height#,0); getpen; draw (17,30) .. (10,0){down} -- (25,0); draw (14.5,25) -- (2,25) .. (0,10){down} -- (11,10); endchar; beginchar("C",thinwidth#,height#,0); getpen; draw (0,0) -- (5,30); endchar; beginchar("D",fullwidth#,height#,0); getpen; draw (0,0) -- (5,30); draw (20,0) -- (25,30); draw (3.333,20) -- (23.333,20); endchar; beginchar("E",fullwidth#,height#,0); getpen; draw (0,0) -- (5,30); draw (2.5,15) -- (17.5,15) .. (25,10){down} .. (20,0); endchar; beginchar("F",fullwidth#,height#,0); getpen; draw flex((0,5),(12.5,7),(25,0)) & flex ((25,0),(22,25),(15,30)) & flex ((15,30),(5,17.5),(0,5)); endchar; beginchar("G",fullwidth#,height#,0); getpen; draw (0,30) -- (25,30) -- (5,0); endchar; beginchar("H",fullwidth#,height#,0); getpen; draw (0,20) -- (0,30) -- (25,30) .. (10,17) .. (22.5,0){right} .. (25,7.5){up} .. (10,17); endchar; beginchar("I",fullwidth#,height#,0); getpen; draw flex ((25,10),(18.75,0),(12.5,10)) .. (12.5,10) -- (15,30) & flex ((15,30),(0,20),(12.5,10)); endchar; beginchar("J",fullwidth#,height#,0); getpen; draw (25,16) -- (15,15) .. (5,0){left} & flex((5,0),(0,10),(10,30)); endchar; beginchar("K",narrowwidth#,height#,0); getpen; draw (10,0) .. (15,15){up} .. (0,22.5){up} .. (5,30){right} .. (10,22.5){down} .. (0,5); endchar; beginchar("L",narrowwidth#,height#,0); getpen; draw flex((0,30),(7.5,25),(15,30)) & flex((15,30),(10,10),(12.5,0)); draw (5,15) -- (15,15); endchar; beginchar("M",fullwidth#,height#,0); getpen; draw (20,30){left} .. (0,25){down} .. (22.5,20){right}; draw (22.5,20){left} .. (0,7.5){down} .. (25,0){right}; endchar; beginchar("N",fullwidth#,height#,0); getpen; draw (0,30) .. (7.5,7.5){down} .. (4,0){left} .. (0,7.5){up} .. (20,22.5){up} .. (15,30){left} .. (10,22.5){down} .. (25,0){right}; endchar; beginchar("O",fullwidth#,height#,0); getpen; draw (5,30) .. (15,20){right} .. (25,25){up} .. (20,30){left} .. (10,0){left} .. (0,5); endchar; beginchar("P",fullwidth#,height#,0); getpen; draw (0,0) -- (0,25) & flex((0,25),(12.5,30),(25,25)) .. (25,25) -- (25,0); endchar; beginchar("Q",fullwidth#,height#,0); getpen; draw flex((0,0),(5,1),(10,0)) & flex((10,0),(17.5,7),(25,15)) & flex((25,15),(17,16),(10,15)) & flex((10,15),(12.5,21),(15,30)); endchar; beginchar("R",fullwidth#,height#,0); getpen; draw (0,25) .. (0,30) & flex((0,30),(12.5,28),(25,30)) .. (25,30) -- (0,0) -- (25,0) -- (25,5); endchar; beginchar("S",fullwidth#,height#,0); getpen; draw flex((0,30),(10,24),(25,30)) .. (25,30) -- (10,0); draw (17.5,17.5){right} .. (25,0){down}; endchar; beginchar("T",fullwidth#,height#,0); getpen; draw flex((25,30),(22.5,25),(20,30)) .. (20,30) -- (0,5){down} .. (5,0){right} -- (25,5); endchar; beginchar("U",fullwidth#,height#,0); getpen; draw flex((25,25),(12.5,20),(0,25)) & flex ((0,25),(5,30),(10,25)) .. (10,25) -- (5,0) -- (25,0); endchar; beginchar("V",narrowwidth#,height#,0); getpen; draw (15,0) -- (15,30) & flex((15,30),(0,22.5),(15,15)); endchar; beginchar("W",fullwidth#,height#,0); getpen; draw (0,10) -- (9,1) .. (10,0){right} .. (17.5,12.5) .. (25,25){up} .. (20,30){left} .. (15,25){down} .. (22,22); endchar; beginchar("X",fullwidth#,height#,0); getpen; draw flex((0,30),(12.5,28),(25,30)) .. (25,30) -- (0,0); draw (17.5,15){right} .. (25,0){down}; endchar; beginchar("Y",fullwidth#,height#,0); getpen; draw flex((25,30),(17.5,26),(10,20)) & flex((10,20),(17.5,14),(25,10)) & flex((25,10),(12.5,4),(0,0)); endchar; beginchar("Z",fullwidth#,height#,0); getpen; draw flex((10,30),(5,16),(0,0)) & flex((0,0),(12.5,6),(25,10)); endchar; end