summaryrefslogtreecommitdiff
path: root/fonts/ogham
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/ogham
Initial commit
Diffstat (limited to 'fonts/ogham')
-rw-r--r--fonts/ogham/ogham.mf155
-rw-r--r--fonts/ogham/testfont.pdfbin0 -> 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
new file mode 100644
index 0000000000..d8f620e23b
--- /dev/null
+++ b/fonts/ogham/testfont.pdf
Binary files differ