diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/ogham/ogham.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/public/ogham/ogham.mf | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/ogham/ogham.mf b/Master/texmf-dist/fonts/source/public/ogham/ogham.mf new file mode 100644 index 00000000000..5c8fd154d62 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/ogham/ogham.mf @@ -0,0 +1,144 @@ +% ogham.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 OGHAM alphabet is found on a number of Irish and Pictish +% carvings dated from the 4th century AD. +% The characters touch or cross the edges of the stone. +% +% There are 20 characters in the alphabet, representing: +% +% a o u e i +% b l v s n +% h d t c q +% m g ng z r +% +% I have coded ng as 'j'. +% +% Each character is given in lower case (as carved on vertical edges) +% and upper case (as carved on horizontal edges). +% +mg:=1.0; % CHANGE THIS TO GET DIFFERENT SIZES OF FONT (font size = 10*mg pt) + +mode_setup; +pensize#:=mg*0.5pt; +bigpensize#:=mg*1pt; +height#:=mg*15pt#; +bigheight#:=mg*20pt#; +define_pixels(height); + +def getpen = pickup pencircle scaled pensize# enddef; +def getbigpen = pickup pencircle scaled bigpensize# enddef; + +def top = + getbigpen; + draw (-5*mg,15*mg) -- (40*mg,15*mg); + getpen; +enddef; + +def bigtop = + getbigpen; + draw (-5,15*mg) -- (50*mg,15*mg); + getpen; +enddef; + +def edge = + getbigpen; + draw (15*mg,0) -- (15*mg,30*mg); + getpen; +enddef; + +def bigedge = + getbigpen; + draw (15*mg,0) -- (15*mg,40*mg); + getpen; +enddef; + +def full(expr n) = + edge; + for i = 1 upto n: draw (0,5*i*mg) -- (30*mg,5*i*mg); endfor +enddef; + +def lineright(expr n) = + edge; + for i = 1 upto n: draw (15*mg,5*i*mg) -- (30*mg,5*i*mg); endfor +enddef; + +def lineleft(expr n) = + edge; + for i = 1 upto n: draw (0,5*i*mg) -- (15*mg,5*i*mg); endfor +enddef; + +def slope(expr n) = + bigedge; + for i = 1 upto n: draw (0,(6*i+16)*mg) -- (30*mg,6*(i-1)*mg); endfor +enddef; + +def across(expr n) = + top; + for i = 1 upto n: draw (5*i*mg,0) -- (5*i*mg,30*mg); endfor +enddef; + +def lineup(expr n) = + top; + for i = 1 upto n: draw (5*i*mg,15*mg) -- (5*i*mg,30*mg); endfor +enddef; + +def linedown(expr n) = + top; + for i = 1 upto n: draw (5*i*mg,0) -- (5*i*mg,15*mg); endfor +enddef; + +def lean(expr n) = + bigtop; + for i = 1 upto n: draw (6*(i-1)*mg,0) -- ((6*i+16)*mg,30*mg); endfor +enddef; + +beginchar("a",height#,height#,0); full(1); endchar; +beginchar("A",height#,height#,0); across(1); endchar; +beginchar("o",height#,height#,0); full(2); endchar; +beginchar("O",height#,height#,0); across(2); endchar; +beginchar("u",height#,height#,0); full(3); endchar; +beginchar("U",height#,height#,0); across(3); endchar; +beginchar("e",height#,height#,0); full(4); endchar; +beginchar("E",height#,height#,0); across(4); endchar; +beginchar("i",height#,height#,0); full(5); endchar; +beginchar("I",height#,height#,0); across(5); endchar; + +beginchar("b",height#,height#,0); lineright(1); endchar; +beginchar("B",height#,height#,0); linedown(1); endchar; +beginchar("l",height#,height#,0); lineright(2); endchar; +beginchar("L",height#,height#,0); linedown(2); endchar; +beginchar("v",height#,height#,0); lineright(3); endchar; +beginchar("V",height#,height#,0); linedown(3); endchar; +beginchar("s",height#,height#,0); lineright(4); endchar; +beginchar("S",height#,height#,0); linedown(4); endchar; +beginchar("n",height#,height#,0); lineright(5); endchar; +beginchar("N",height#,height#,0); linedown(5); endchar; + +beginchar("h",height#,height#,0); lineleft(1); endchar; +beginchar("H",height#,height#,0); lineup(1); endchar; +beginchar("d",height#,height#,0); lineleft(2); endchar; +beginchar("D",height#,height#,0); lineup(2); endchar; +beginchar("t",height#,height#,0); lineleft(3); endchar; +beginchar("T",height#,height#,0); lineup(3); endchar; +beginchar("c",height#,height#,0); lineleft(4); endchar; +beginchar("C",height#,height#,0); lineup(4); endchar; +beginchar("q",height#,height#,0); lineleft(5); endchar; +beginchar("Q",height#,height#,0); lineup(5); endchar; + +beginchar("m",height#,bigheight#,0); slope(1); endchar; +beginchar("M",bigheight#,height#,0); lean(1); endchar; +beginchar("g",height#,bigheight#,0); slope(2); endchar; +beginchar("G",bigheight#,height#,0); lean(2); endchar; +beginchar("j",height#,bigheight#,0); slope(3); endchar; +beginchar("J",bigheight#,height#,0); lean(3); endchar; +beginchar("z",height#,bigheight#,0); slope(4); endchar; +beginchar("Z",bigheight#,height#,0); lean(4); endchar; +beginchar("r",height#,bigheight#,0); slope(5); endchar; +beginchar("R",bigheight#,height#,0); lean(5); endchar; + +end |