summaryrefslogtreecommitdiff
path: root/fonts/osmanian
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/osmanian
Initial commit
Diffstat (limited to 'fonts/osmanian')
-rw-r--r--fonts/osmanian/osmanian.mf191
1 files changed, 191 insertions, 0 deletions
diff --git a/fonts/osmanian/osmanian.mf b/fonts/osmanian/osmanian.mf
new file mode 100644
index 0000000000..30bc60c7b8
--- /dev/null
+++ b/fonts/osmanian/osmanian.mf
@@ -0,0 +1,191 @@
+% 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