summaryrefslogtreecommitdiff
path: root/fonts/elvish/tengteht.mf
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/elvish/tengteht.mf
Initial commit
Diffstat (limited to 'fonts/elvish/tengteht.mf')
-rw-r--r--fonts/elvish/tengteht.mf195
1 files changed, 195 insertions, 0 deletions
diff --git a/fonts/elvish/tengteht.mf b/fonts/elvish/tengteht.mf
new file mode 100644
index 0000000000..5984c01f3d
--- /dev/null
+++ b/fonts/elvish/tengteht.mf
@@ -0,0 +1,195 @@
+
+beginchar("a",0.3em#,1.5ex#,0) ; "The tehta a" ;
+ pickup tehta_nib ;
+ bot y1 = bot y2 = round(1.35ex) ; lft x1 = 0 = w - rt x2 ;
+ y3 - y1 = round(0.45sqrt(3) * (x2 - x1)) ;
+ x3 = 0.5[x1,x2] ;
+ draw_dot(1) ; draw_dot(2) ; draw_dot(3) ;
+endchar ;
+
+beginchar("O",0.3em#,1.5ex#,0) ; "Inverted a tehta" ;
+ pickup tehta_nib ;
+ bot y3 = round(1.35ex) ; lft x1 = 0 = w - rt x2 ;
+ y1 - y3 = y2 - y3 = round(0.45sqrt(3) * (x2 - x1)) ;
+ x3 = 0.5[x1,x2] ;
+ draw_dot(1) ; draw_dot(2) ; draw_dot(3) ;
+endchar ;
+
+beginchar(25,0.35em#,0,0.5desc#) ; "The dots for y" ; % 25 = ^^Y
+ pickup tehta_nib ;
+ y1 = y2 = -0.3ex ; lft x1 = 0 = w - rt x2 ;
+ draw_dot(1) ; draw_dot(2) ;
+endchar ;
+
+beginchar(26,0.35em#,0,desc#) ; "Low dots for y" ; % 26 = ^^Z
+ pickup tehta_nib ;
+ y1 = y2 = round -0.65ex ; lft x1 = 0 = w - rt x2 ;
+ draw_dot(1) ; draw_dot(2) ;
+endchar ;
+
+beginchar("i",0.1em#,1.4ex#,0) ; "The tehta i" ;
+ pickup tehta_nib ;
+ bot y1 = round(1.35ex) ;
+ x1 = good.x (0.5w) ;
+ draw_dot(1) ;
+endchar ;
+
+beginchar(5,0.1em#,0,0.5desc#) ; "The schwa tehta" ;
+ pickup tehta_nib ;
+ y1 = round(-0.3ex) ;
+ x1 = good.x (0.5w) ;
+ draw_dot(1) ;
+endchar ;
+
+beginchar("e",0.4em#,1.5ex#,0) ; "The tehta e" ;
+ pickup tehta_nib ;
+ y1 = round(1.3ex) ;
+ y2 = (y1 + 0.3ex) ;
+ lft x1 = 0 ; rt x2 = w ;
+ z2' = z2 + 0.05em*dir(penangle+90) ;
+ draw z1 .. tension 10 .. z2 .. {dir(penangle+90)}z2' ;
+endchar ;
+
+%beginchar("o",0.5em#,1.6ex#,0) ; "The tehta o" ;
+% pickup tehta_nib ;
+% y1 = round(1.3ex) ; lft x1 = 0 ;
+% y2 = y1 + 0.3ex ; x2 = 0.7w ;
+% rt x3 = w ; y3 = 0.7[y1,y2] ;
+% x4 = x2 ; y4 = 0.3[y1,y2] ;
+% draw z1 .. tension 4 and 2 .. z2 .. z3{down} .. z4 ;
+%endchar ;
+
+beginchar("o",0.45em#,1.76ex#,0) ; "The tehta o" ;
+ pickup tehta_nib ;
+ y1 = round(1.3ex) ; lft x1 = 0 ;
+ y2 = y1 + 0.4ex ; x2 = 0.7w ;
+ rt x3 = w ; y3 = 0.7[y1,y2] ;
+ x4 = x2 ; y4 = 0.3[y1,y2] ;
+ draw z1 .. tension 4 and 2 .. z2 .. z3{down} .. z4 ;
+endchar ;
+
+beginchar("u",0.5em#,1.9ex#,0) ; "The tehta u" ;
+ pickup tehta_nib ;
+ y1 = round(1.3ex) ; x1 = 0.4w ;
+ rt x2 = w ; y2 = y1 + 0.5ex ;
+ y3 = 1.0[y1,y2] ;
+ x3 = 0.3[x1,x2] ;
+ draw z1 .. tension 4 and 1.5 .. z2 .. {dir (penangle-90)}z3 ;
+endchar ;
+
+beginchar(",",0.2em#,ex#,0) ; "The point ," ;
+ pickup main_nib ;
+ x1 = good.x 0.5w ; y1 = good.y 0.6h ;
+ draw_dot(1) ;
+endchar ;
+
+beginchar(";",0.2em#,ex#,0) ; "The point ;" ;
+ pickup main_nib ;
+ x1 = x2 = good.x 0.5w ; y1 = good.y 0.2h ; y2 = good.y 0.8h ;
+ draw_dot(1) ; draw_dot(2) ;
+endchar ;
+
+beginchar(".",0.5em#,ex#,0) ; "The point ." ;
+ pickup main_nib ;
+ y1 = y3 = good.y 0.2h ; y2 = y4 = 0.8h ;
+ x1 = x2 = w - x3 = w - x4 ; x3 - x1 = y2 - y1 ;
+ forsuffixes s=1,2,3,4: draw_dot(s) ; endfor ;
+endchar ;
+
+beginchar(ditto,0.35em#,1.4ex#,0) ; "The tehta two-dots-above" ;
+ pickup tehta_nib ;
+ y1 = y2 = round(1.35ex) ;
+ lft x1 = 0 = w - rt x2 ;
+ draw_dot(1) ; draw_dot(2) ;
+endchar;
+
+beginchar(2,tinco_width#,0,0.5desc#) ; "The under-bar tehta" ;
+ pickup tehta_nib ;
+ y1 = y2 = round(-0.3ex) ;
+ lft x1 = straight_sidebar = w - rt x2 ;
+ draw_bar(1,2)("rl") ;
+endchar ;
+
+beginchar(3,tinco_width#,0,desc#) ; "Low under-bar" ;
+ pickup tehta_nib ;
+ y1 = y2 = round(-0.65ex) ;
+ lft x1 = straight_sidebar = w - rt x2 ;
+ draw_bar(1,2)("rl") ;
+endchar ;
+
+beginchar(14,tinco_width#,1.5ex#,0) ; "The over-bar tehta" ;
+ pickup tehta_nib ;
+ y1 = y2 = round(1.2ex) ;
+ lft x1 = straight_sidebar = w - rt x2 ;
+ draw_bar(1,2)("rl") ;
+endchar ;
+
+beginchar(15,tinco_width#,1.6ex#,0) ; "The tilde over" ;
+ pickup tehta_nib ;
+ y1 = y2 = 1.35ex ;
+ lft x1 = straight_sidebar = w - rt x2 ;
+ z1' = z1 - ( 0.04em * dir penangle) ;
+ z2' = z2 + ( 0.04em * dir penangle) ;
+ draw z1'{dir penangle} .. z1 .. z2 .. {dir penangle}z2' ;
+endchar ;
+
+beginchar(21,0.5em#,1.7ex#,0) ; "Variant u tehta" ;
+ pickup tehta_nib ;
+ y1 = round(1.3ex) ; lft x1 = 0 ;
+ y2 = y1 + 0.3ex ; x2 = 0.7w ;
+ rt x3 = w ; y3 = 1.5[y1,y2] ;
+ x4 = x2 ; y4 = 1.6[y1,y2] ;
+ draw z1 .. tension 4 and 2 .. z2 .. z3{up} .. z4 ;
+endchar ;
+
+beginchar(22,0.5em#,1.7ex#,0) ; "Beleriand u tehta" ;
+ pickup tehta_nib ;
+ y1 = 1.2ex ; y3 = 1.7ex ;
+ x3 = 0.2w = w - x1 ;
+ y2 = good.y(0.5[y1,y3]) ; x2 = 0.5[x1,x3] ;
+ z1' = z1 + 0.05em*dir(penangle) ;
+ z3' = z3 + 0.05em*dir(penangle+180) ;
+ draw z1 .. z1' .. z2 .. z3' .. z3 ;
+endchar ;
+
+beginchar(19,0.35em#,ex#,0) ; "Raised S hook" ;
+ pickup tehta_nib ;
+ x1 = -0.05em ; top y1 = ex ;
+ rt x2 = w - curve_sidebar ; y2 = y1 - 0.5ex ;
+ x3 = 0.5[x1,x2] ; y3 = 1.1[y1,y2] ;
+ draw z1 .. tension 4 and 2 .. z2{down} .. z3 ;
+endchar ;
+
+beginchar(20,0.35em#,0,desc#) ; "Lowered S hook" ;
+ pickup tehta_nib ;
+ x1 = -0.08em ; y1 = 0 ;
+ rt x2 = w - curve_sidebar ; y2 = y1 - 0.5ex ;
+ x3 = 0.5[x1,x2] ; y3 = 1.1[y1,y2] ;
+ draw z1 .. tension 4 and 2 .. z2{down} .. z3 ;
+endchar ;
+
+beginchar("!",0.5em#,asc#,0) ; "Exclamation mark" ;
+ pickup main_nib ;
+ x1 = x2 = good.x 0.5w ;
+ y1 = 0.8asc ; y2 = 0.2ex ;
+ z1' = z1 + 0.08em*dir(penangle) ;
+ z2' = z2 - 0.08em*dir(penangle) ;
+ draw z1' .. z1 .. tension 4 .. z2 .. z2' ;
+endchar ;
+
+beginchar("?",0.5em#,asc#,0) ; "Question mark" ;
+ pickup main_nib ;
+ lft x1 = round(0.1em) ; top y1 = round(0.9asc) ;
+ x2 = x1 ; y2 = 0.2ex ;
+ draw_telco(1,2)("t") ;
+ z2' = z2 + 0.2em*dir(penangle-150) ;
+ draw z2{z2-z1} .. z2'{dir(penangle+180)} ;
+ x3 = x4 = x5 = x1 ;
+ y5 = 0.0[y2,y1] ; y4 = 0.4[y2,y1] ; y3 = 0.75[y2,y1] ;
+ x6 = good.x(w-0.1em) ; x7 = good.x(w-0.08em) ;
+ y6 = 0.8[y2,y1] ; y7 = 0.47[y2,y1] ;
+ draw z3{dir penangle} ... z6{down} ... z4{dir(penangle+185)} ;
+ draw z4{dir penangle} ... z7{down} ... z5{dir(penangle+185)} ;
+ labels(1,2,3,4,5,6,7) ;
+endchar ;
+