diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/ogham |
Initial commit
Diffstat (limited to 'fonts/ogham')
-rw-r--r-- | fonts/ogham/ogham.mf | 155 | ||||
-rw-r--r-- | fonts/ogham/testfont.pdf | bin | 0 -> 25980 bytes |
2 files changed, 155 insertions, 0 deletions
diff --git a/fonts/ogham/ogham.mf b/fonts/ogham/ogham.mf new file mode 100644 index 0000000000..e29ff8f128 --- /dev/null +++ b/fonts/ogham/ogham.mf @@ -0,0 +1,155 @@ +% ogham.mf +% This font was designed by Alan M Stanier ( alan@essex.ac.uk ), +% at Essex University Computer Service, Colchester, Essex CO4 3EA. England. +% +% Maintenance now overseen by Robin Fairbairns of Cambridge University. +% (search on the web for my email address) +% +% Alan Stanier asked that if you make significant additions +% or improvements to the font, you should send him an updated version; +% if you send it to CTAN as a contribution, and mark it for my attention, +% I shall see that it is installed, and ensure that Alan has a copy. +% +% The font is released into the public domain. +% +% +% 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#:=.4pt#; % a unit length, not a magnification. + +mode_setup; +font_size 10pt#; + +pensize#:=1.25*mg#; +bigpensize#:=2.0*mg#; +height#:=15pt#; +bigheight#:=20pt#; +define_pixels(mg); +define_blacker_pixels(pensize,bigpensize); + +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 diff --git a/fonts/ogham/testfont.pdf b/fonts/ogham/testfont.pdf Binary files differnew file mode 100644 index 0000000000..d8f620e23b --- /dev/null +++ b/fonts/ogham/testfont.pdf |