diff options
Diffstat (limited to 'fonts/gothic/cmfrak/cmfrabase.mf')
-rw-r--r-- | fonts/gothic/cmfrak/cmfrabase.mf | 231 |
1 files changed, 231 insertions, 0 deletions
diff --git a/fonts/gothic/cmfrak/cmfrabase.mf b/fonts/gothic/cmfrak/cmfrabase.mf new file mode 100644 index 0000000000..abc283f443 --- /dev/null +++ b/fonts/gothic/cmfrak/cmfrabase.mf @@ -0,0 +1,231 @@ +def n_foot(suffix $) =
+w':=7.806u; penpos$.1(hair,90); penpos$.2(hair,0);
+penpos$.3(hair,-90);
+y$.1=y$.3=0.5foot; y$.2=-apex_o;
+x$.1=x$l-1/20w'; x$.3=x$r+1/20w';
+x$.2=x$;
+filldraw z$.2r{dir75}..z$.3r{dir15}--
+z$.3l{dir165}..z$r{up}--z$l{down}..
+z$.1r{dir195}--z$.1l{dir-15}..z$.2l{dir-65}
+--z$.2r & cycle;
+enddef;
+
+def o_umlaut(suffix $) =
+pickup pensquare yscaled 0.5hair xscaled 0.3[hair,stem] rotated 30;
+z$.1=z$+(0,0.1x_height);
+z$.2=z$.1+(stem,0.1x_height);
+x$.3=x$.2; y$.3=y$.2+0.1x_height;
+x$.4=x$.1; y$.4-y$.3=y$.2-y$.1;
+x$.5+x$.3=2x$.4; y$.5=y$.3;
+x$.6+x$.2=2x$.1; y$.6=y$.2;
+draw z$.1--z$.2--z$.3--z$.4--z$.5--z$.6--z$.1;
+penlabels(z$.1,z$.2,z$.3,z$.4,z$.5,z$.6);
+enddef;
+
+def e_umlaut(suffix $) =
+penpos$.1(2u,45); z$.1=z$;
+pickup pensquare yscaled 0.5hair xscaled 0.3[hair,stem] rotated 30;
+z$.2=z$.1r; z$.3=z$.1l; rt x$.4=rt x$.2; top y$.4=y$;
+draw z$.3--z$.2..z$.3..z$.4;
+enddef;
+
+def cap_e_umlaut(suffix $) =
+penpos$.1(2u,45); z$.1=z$;
+pickup pensquare yscaled 0.5hair xscaled 0.3[hair,stem] rotated 30;
+z$.2=z$.1r; z$.3=z$.1l; rt x$.4=rt x$.2; top y$.4=y$;
+draw z$.3--z$.2..z$.3..z$.4;
+enddef;
+
+def pointpoint =
+penpos1(0.23570*(x_height+2apex_o),45);
+penpos2(0.23570*(x_height+2apex_o),45);
+penpos3(0.23570*(x_height+2apex_o),45);
+penpos4(0.23570*(x_height+2apex_o),45);
+penpos5(0.23570*(x_height+2apex_o),45);
+penpos6(0.23570*(x_height+2apex_o),45);
+x1l=x3l=x5l=0.5w;
+z2r=z3l; z4r=z5l;
+z2-z1=whatever*dir135;
+z4-z3=whatever*dir135;
+z6-z5=whatever*dir135;
+y1l=-apex_o; y6r=x_height+apex_o;
+penstroke z1e--z2e;
+enddef;
+
+
+
+def pointaccent(suffix $) =
+penpos1(0.23570*(x_height+2apex_o),45);
+penpos2(0.23570*(x_height+2apex_o),45);
+penpos3(0.23570*(x_height+2apex_o),45);
+penpos4(0.23570*(x_height+2apex_o),45);
+penpos5(0.23570*(x_height+2apex_o),45);
+penpos6(0.23570*(x_height+2apex_o),45);
+x1l=x3l=x5l=x$;
+z2r=z3l; z4r=z5l;
+z2-z1=whatever*dir135;
+z4-z3=whatever*dir135;
+z6-z5=whatever*dir135;
+y1l=-apex_o+y$+0.1x_height; y6r=1.1x_height+apex_o+y$;
+penstroke z1e--z2e;
+enddef;
+
+
+
+
+def old_e_umlaut(suffix $) =
+numeric ww;
+ww:=2u; penpos$.1(hair,147);
+penpos$.2(1.5hair,90); penpos$.3(2.5hair,0);
+penpos$.4(1.2hair,-90);
+penpos$.5(hair,-147);
+penpos$.6(hair,-57); penpos$.7(hair,-57);
+z$.1=z$+(0.4ww,-0.2ww);
+z$.2l=z$-(0.111ww,0.556ww);
+z$.3l=z$-(0.5ww,apex_o);
+z$.4l=(x$,y$+0.556ww);
+z$.6-z$=whatever*dir33; x$.6r=x$+0.5ww;
+z$.5l=z$.6l; z$.7=whatever[z$,z$.6];
+x$.7=x$.3;
+penstroke z$.1e..z$.2e{left}..z$.3e{up}
+..z$.4e{right}..z$.5e;
+penstroke z$.7e--z$.6e
+enddef;
+
+def umlaut (suffix $) =
+y0=0; 0.5[x0,x0']=x$-2u;
+z0'=z0+(2.5u,0);
+penpos60(hair,145);
+z60=(x0+stem,y$+0.090x_height);
+z61=(x0+1.522stem,y$+0.387x_height);
+z62=(x0+1.956stem,y$+0.324x_height);
+z60'=(x0'+stem,y$+0.090x_height);
+z61'=(x0'+1.522stem,y$+0.387x_height);
+z62'=(x0'+1.956stem,y$+0.324x_height);
+filldraw z60l{dir34}..z62{up}..z61{left}
+..z60r{dir259}--z60l & cycle;
+penpos60'(hair,145);
+filldraw z60'l{dir34}..z62'{up}..z61'{left}
+..z60'r{dir259}--z60'l & cycle
+enddef;
+
+
+def hat (suffix $) =
+z60=(x$-2.5u,0.090x_height+y$);
+z61=(x$+0.3u,0.387x_height+y$);
+x62=x$-0.3u; y62=0.3333*(2y60+y61);
+y60'=y60; x60'+x60=2x$;
+filldraw z60--z61--z60'{left}..z62..{left}cycle;
+enddef;
+
+
+
+def hungarum (suffix $) =
+z60=(x$-2.5u-0.25stem,0.090x_height+y$);
+z63=z60+(0.5stem,0);
+z61=(x$,0.387x_height+y$);
+z62=z61+(stem,0);
+filldraw z60--z61--z62--z63--cycle;
+filldraw z60--z61--z62--z63--cycle shifted (2.5u,0);
+enddef;
+
+def ellbar (suffix $) =
+z60=(x$,y$-0.5u);
+z61=(x$+3.5u,0.5u+y$);
+pickup pensquare scaled 2hair;
+draw z60--z61;
+enddef;
+
+def hacek (suffix $) =
+z60=(x$-2.5u,0.387x_height+y$);
+z61=(x$-0.3u,0.090x_height+y$);
+x62=x$+0.3u; y62=0.3333*(2y60+y61);
+y60'=y60; x60'+x60=2x$;
+filldraw z60--z61--z60'{left}..z62..{left}cycle;
+enddef;
+
+def breve (suffix $) =
+z60=(x$-2.5u,0.387x_height+y$);
+z61=(x$-0.3u,0.090x_height+y$);
+x62=x$+0.3u; y62=0.3333*(2y60+y61);
+y63=y60; x63+x60=2x$;
+z60'=z60+(0,hair);
+z63'=z63+(0,hair);
+filldraw z60..{right}z61{right}..z63--z63'..{left}z62{left}..z60'--cycle;
+enddef;
+
+def tilde (suffix $) =
+z60=(x$-2.1u,0.090x_height+y$);
+z61=(x$-u,0.387x_height+y$);
+z62=(x$+u,0.090x_height+y$);
+z63=(x$+2.1u,0.387x_height+y$);
+pickup pensquare xscaled stem yscaled hair rotated 30;
+draw z60...{right}z61..z62{right}...z63;
+enddef;
+
+
+def cedilla (suffix $) =
+pickup pensquare scaled hair;
+z60=z$;
+z61=(x$+u+0.16w,y$-0.18x_height);
+x62=x$; y62=y61-0.12x_height;
+penpos60(stem,30); penpos61(stem,30); penpos62(stem,-30);
+penstroke z60e{dir-30}..{down}z61e..{left}z62e;
+enddef;
+
+
+def ogonek (suffix $) =
+pickup pensquare scaled hair;
+z60=z$;
+z61=(x$-u-0.16w,y$-0.18x_height);
+x62=x$; y62=y61-0.12x_height;
+penpos60(stem,-30); penpos61(stem,30); penpos62(stem,40);
+penstroke z60e{dir-135}..{down+0.25right}z61e..{right+0.3up}z62e;
+enddef;
+
+def acute (suffix $) =
+y0=0; 0.5[x0,x0']=x$-2u;
+z0'=z0+(2.5u,0);
+penpos60(hair,145);
+z60=(x0+stem,y$+0.090x_height);
+z61=(x0+1.522stem,y$+0.387x_height);
+z62=(x0+1.956stem,y$+0.324x_height);
+z60'=(x0'+stem,y$+0.090x_height);
+z61'=(x0'+1.522stem,y$+0.387x_height);
+z62'=(x0'+1.956stem,y$+0.324x_height);
+penpos60'(hair,145);
+filldraw z60l{dir34}..z62'{up}..z61'{left}
+..z60r{dir259}--z60l & cycle
+enddef;
+
+def grave (suffix $) =
+y0=0; 0.5[x0,x0']=x$-2u;
+z0'=z0+(2.5u,0);
+penpos60(hair,145);
+z60=(x0+stem,y$+0.090x_height);
+z61=(x0+1.522stem,y$+0.387x_height);
+z62=(x0+1.956stem,y$+0.324x_height);
+z60'=(x0'+stem,y$+0.090x_height);
+z61'=(x0'+1.522stem,y$+0.387x_height);
+z62'=(x0'+1.956stem,y$+0.324x_height);
+penpos60'(hair,145);
+filldraw (z60l{dir34}..z62'{up}..z61'{left}
+..z60r{dir259}--z60l & cycle) reflectedabout ((x$,x_height),(x$,0));
+enddef;
+
+
+def cap_grave (suffix $) =
+y0=0; 0.5[x0,x0']=x$-2u;
+z0'=z0+(2.5u,0);
+penpos60(hair,145);
+z60=(x0+stem,1.090x_height-x_height+y$);
+z61=(x0+1.522stem,1.387x_height-x_height+y$);
+z62=(x0+1.956stem,1.324x_height-x_height+y$);
+z60'=(x0'+stem,1.090x_height-x_height+y$);
+z61'=(x0'+1.522stem,1.387x_height-x_height+y$);
+z62'=(x0'+1.956stem,1.324x_height-x_height+y$);
+filldraw (z60l{dir34}..z62'{up}..z61'{left}
+..z60r{dir259}--z60l & cycle) reflectedabout ((x$,x_height),(x$,0));
+enddef;
+
+picture last_char;
|