summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/mathabx/mathacnt.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/mathabx/mathacnt.mf')
-rw-r--r--Master/texmf-dist/fonts/source/public/mathabx/mathacnt.mf367
1 files changed, 367 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/mathabx/mathacnt.mf b/Master/texmf-dist/fonts/source/public/mathabx/mathacnt.mf
new file mode 100644
index 00000000000..6a524b899d5
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mathabx/mathacnt.mf
@@ -0,0 +1,367 @@
+% mathematical symbols by Anthony Phan.
+% file: mathacnt.mf (accents)
+% last modification: May 16, 2005.
+% Only known charcodes will be generated.
+
+def horizontal_rules_list=math_axis,
+ -body_depth,-desc_depth,x_height,cap_height,asc_height,body_height
+enddef;
+
+% ACCENTS (nullissime)
+
+diacritics_proofing;% changes extra_endchar for proof mode.
+hat_w:=hex"70";
+check_w:=hex"71";
+tilde_w:=hex"72";
+bar_w:=hex"73";
+arrow_w:=hex"74";
+paren_w:=hex"75";
+
+hat_ww:=hex"78"; hat_www:=hex"79";
+hat_wwww:=hex"7A"; hat_wwwww:=hex"7B";
+check_ww:=hex"7C"; check_www:=hex"7D";
+check_wwww:=hex"7E"; check_wwwww:=hex"7F";
+tilde_ww:=hex"80"; tilde_www:=hex"81";
+tilde_wwww:=hex"82"; tilde_wwwww:=hex"83";
+bar_ww:=hex"84"; bar_www:=hex"85";
+bar_wwww:=hex"86"; bar_wwwww:=hex"87";
+arrow_ww:=hex"88"; arrow_www:=hex"89";
+arrow_wwww:=hex"8A"; arrow_wwwww:=hex"8B";
+paren_ww:=hex"8C"; paren_www:=hex"8D";
+paren_wwww:=hex"8E"; paren_wwwww:=hex"8F";
+
+charlist hat_w: hat_ww: hat_www: hat_wwww: hat_wwwww;
+charlist check_w: check_ww: check_www: check_wwww: check_wwwww;
+charlist tilde_w: tilde_ww: tilde_www: tilde_wwww: tilde_wwwww;
+charlist bar_w: bar_ww: bar_www: bar_wwww: bar_wwwww;
+charlist arrow_w: arrow_ww: arrow_www: arrow_wwww: arrow_wwwww;
+charlist paren_w: paren_ww: paren_www: paren_wwww: paren_wwwww;
+
+vardef tmp_program(expr orientation,overshot,appr,coef)=
+ save a,b,c;
+ pickup crisp.nib;
+ b=coef[0.8[vair,stem],stem];
+ b'=coef[min(vair,hair),max(vair,hair)];
+ if orientation=up:
+ top y2r=top y3r=h+overshot;
+ bot y1r=bot y4r=vround 0.5[x_height,h];
+ else:
+ bot y2r=bot y3r=vround 0.5[x_height,h]-overshot;
+ top y1r=top y4r=h; fi
+ lft x2r=hround 0.5(w-b);
+ rt x3r-lft x2r=hround b;
+ lft x1r=appr; x4r-x3r=x2r-x1r;
+ x=0.5(b-b')/length(z2r-z1r);
+ a=if orientation=up: 180+ fi (angle(z2r-z1r)-angle(x,1+-+x));
+ pos1(b',a); pos2(b,a); pos3(b,180-a); pos4(b',180-a);
+ z0=whatever[z1l,z2l]; z0=whatever[z3l,z4l];
+ filldraw z1r--z2r--z3r--z4r--z4l--z0--z1l--cycle;
+ penlabels(0,1,2,3,4)
+enddef;
+
+use_rule1;
+
+beginchar(hat_accent,7u#+2appr#,min(asc_height#,2x_height#),0);
+ "Circumflex accent";
+ tmp_program(up,0,appr+u,0);
+endchar;
+
+beginchar(hat_w,8u#+2appr#,0.5[asc_height#,body_height#],0);
+ "Wide circumflex accent 1";
+ tmp_program(up,o,appr-0.5u,0.2);
+endchar;
+
+beginchar(hat_ww,16u#+2appr#,body_height#,0);
+ "Wide circumflex accent 2";
+ tmp_program(up,o,appr-0.5u,0.4);
+endchar;
+
+beginchar(hat_www,24u#+2appr#,body_height#,0);
+ "Wide circumflex accent 3";
+ tmp_program(up,o,appr-0.5u,0.6);
+endchar;
+
+beginchar(hat_wwww,32u#+2appr#,body_height#,0);
+ "Wide circumflex accent 4";
+ tmp_program(up,o,appr-0.5u,0.8);
+endchar;
+
+beginchar(hat_wwwww,40u#+2appr#,body_height#,0);
+ "Wide circumflex accent 5";
+ tmp_program(up,o,appr-0.5u,1);
+endchar;
+
+beginchar(check_accent,7u#+2appr#,min(asc_height#,2x_height#),0);
+ "Check accent";
+ tmp_program(down,0,appr-0.5u,0);
+endchar;
+
+beginchar(check_w,8u#+2appr#,0.5[asc_height#,body_height#],0);
+ "Wide check accent 1";
+ tmp_program(down,o,appr-0.5u,0.2);
+endchar;
+
+beginchar(check_ww,16u#+2appr#,body_height#,0);
+ "Wide check accent 2";
+ tmp_program(down,o,appr-0.5u,0.4);
+endchar;
+
+beginchar(check_www,24u#+2appr#,body_height#,0);
+ "Wide check accent 3";
+ tmp_program(down,o,appr-0.5u,0.6);
+endchar;
+
+beginchar(check_wwww,32u#+2appr#,body_height#,0);
+ "Wide check accent 4";
+ tmp_program(down,o,appr-0.5u,0.8);
+endchar;
+
+beginchar(check_wwwww,40u#+2appr#,body_height#,0);
+ "Wide check accent 5";
+ tmp_program(down,o,appr-0.5u,1);
+endchar;
+
+vardef tmp_program(expr height,depth,approach,coef)=
+ pickup tiny.nib;
+ save a,b,c;
+ a=angle(w-2approach,9(height-depth));
+ b=angle(w-2approach,-3(height-depth));
+ b'=coef[0.5[vair,hair],max(vair,hair)];
+ c=coef[0.8[vair,stem],stem];
+ pos1(b',a+90); pos9(b',a+90); pos5(c,b+90);
+ bot y7l=depth-eps; top y3r=height+eps;
+ y1l=good.y 1/6[y7l,y3r]; y3r-y9r=y1l-y7l;
+ top y3r-bot y3l=top y7r-bot y7l=vround 0.5[b',c];
+ lft x1r=w-rt x9l=approach;
+ z5=0.5[z1,z9];
+ forsuffixes $=r,l: y2$=y3$=y4$; y6$=y7$=y8$;
+ z2$-z1$=whatever*dir a; z8$-z9$=whatever*dir a;
+ z4$-z5$=whatever*dir b; z6$-z5$=whatever*dir b;
+ x3$=0.666[x2$,x4$]; x7$=0.666[x8$,x6$];
+ endfor
+ filldraw stroke z1e..controls .666[z1e,z2e] and .666[z3e,z2e]
+ ..z3e..controls .666[z3e,z4e] and .666[z5e,z4e]
+ ..z5e..controls .666[z5e,z6e] and .666[z7e,z6e]
+ ..z7e..controls .666[z7e,z8e] and .666[z9e,z8e]..z9e;
+%penlabels(1,2,3,4,5,6,7,8,9);
+enddef;
+
+beginchar(tilde_accent,7u#+2appr#,min(asc_height#,2x_height#),0);
+ "Tilde accent";
+ tmp_program(h,vround 0.5[x_height,asc_height],appr,0);
+endchar;
+
+beginchar(tilde_w,8u#+2appr#,0.5[asc_height#,body_height#],0);
+ "Wide tilde accent 1";
+ tmp_program(h,vround 0.5[x_height,asc_height],appr-0.5u,0.2);
+endchar;
+
+beginchar(tilde_ww,16u#+2appr#,body_height#,0);
+ "Wide tilde accent 2";
+ tmp_program(h,vround 0.5[x_height,asc_height],appr-0.5u,0.4);
+endchar;
+
+beginchar(tilde_www,24u#+2appr#,body_height#,0);
+ "Wide tilde accent 3";
+ tmp_program(h,vround 0.5[x_height,asc_height],appr-0.5u,0.6);
+endchar;
+
+beginchar(tilde_wwww,32u#+2appr#,body_height#,0);
+ "Wide tilde accent 4";
+ tmp_program(h,vround 0.5[x_height,asc_height],appr-0.5u,0.8);
+endchar;
+
+beginchar(tilde_wwwww,40u#+2appr#,body_height#,0);
+ "Wide tilde accent 5";
+ tmp_program(h,vround 0.5[x_height,asc_height],appr-0.5u,1);
+endchar;
+
+% changes august 23, 2004.
+
+beginchar(bar_accent,7u#+2appr#,
+ %x_height#+body_height#-cap_height#,0);
+ 0.5[x_height#,asc_height#],0);
+ "Bar accent";
+ pickup crisp.nib;
+ a:=vround 0.0[min(0.2[vair,stem],rth0),rth1];
+ pos1(a,90); pos2(a,90); lft x1-appr=w-appr-rt x2=hround 0.25u;
+ top y1r=top y2r=vround(h+0.5a);
+ filldraw stroke z1e..z2e; penlabels(1,2);
+endchar;
+
+beginchar(bar_w,8u#+2appr#,
+ %x_height#+body_height#-cap_height#,0);
+ 0.5[x_height#,body_height#],0);
+ "Wide bar accent 1";
+ pickup crisp.nib;
+ a:=vround 0.0[min(0.2[vair,stem],rth0),rth1];
+ pos1(a,90); pos2(a,90); lft x1-appr=w-appr-rt x2=hround 0.0u;
+ top y1r=top y2r=vround(h+0.5a);
+ filldraw stroke z1e..z2e; penlabels(1,2);
+endchar;
+
+beginchar(bar_ww,16u#+2appr#,
+ %x_height#+body_height#-cap_height#,0);
+ 0.5[x_height#,body_height#],0);
+ "Wide bar accent 2";
+ pickup crisp.nib;
+ a:=vround 0.0[min(0.2[vair,stem],rth0),rth1];
+ pos1(a,90); pos2(a,90); lft x1-appr=w-appr-rt x2=hround 0.0u;
+ top y1r=top y2r=vround(h+0.5a);
+ filldraw stroke z1e..z2e; penlabels(1,2);
+endchar;
+
+beginchar(bar_www,24u#+2appr#,
+ %x_height#+body_height#-cap_height#,0);
+ 0.5[x_height#,body_height#],0);
+ "Wide bar accent 3";
+ pickup crisp.nib;
+ a:=vround 0.0[min(0.2[vair,stem],rth0),rth1];
+ pos1(a,90); pos2(a,90); lft x1-appr=w-appr-rt x2=hround 0.0u;
+ top y1r=top y2r=vround(h+0.5a);
+ filldraw stroke z1e..z2e; penlabels(1,2);
+endchar;
+
+beginchar(bar_wwww,32u#+2appr#,
+ %x_height#+body_height#-cap_height#,0);
+ 0.5[x_height#,body_height#],0);
+ "Wide bar accent 4";
+ pickup crisp.nib;
+ a:=vround 0.0[min(0.2[vair,stem],rth0),rth1];
+ pos1(a,90); pos2(a,90); lft x1-appr=w-appr-rt x2=hround 0.0u;
+ top y1r=top y2r=vround(h+0.5a);
+ filldraw stroke z1e..z2e; penlabels(1,2);
+endchar;
+
+beginchar(bar_wwwww,40u#+2appr#,
+ %x_height#+body_height#-cap_height#,0);
+ 0.5[x_height#,body_height#],0);
+ "Wide bar accent 5";
+ pickup crisp.nib;
+ a:=vround 0.0[min(0.2[vair,stem],rth0),rth1];
+ pos1(a,90); pos2(a,90); lft x1-appr=w-appr-rt x2=hround 0.0u;
+ top y1r=top y2r=vround(h+0.5a);
+ filldraw stroke z1e..z2e; penlabels(1,2);
+endchar;
+
+arrow_stress := 0.52;
+arrow_tense1 := 0.75;
+arrow_tense2 := 0.875;
+
+beginchar(arrow_accent,7u#+2appr#,min(asc_height#,2x_height#),0);
+ "Arrow accent";
+ pickup tiny.nib;
+ arrow_width := 2ceiling 0.3(h-x_height)+rth;
+ arrow_height := hround 3.25u;
+ arrow_breadth := rth;
+ y2=y3=vround(0.7[x_height,h]-0.5rth)+0.5rth;
+ lft x2=w-rt x3=appr-hround 0.5u;
+ arrow_head1(z2..z3,both); x2r=x2l=x2; y1r=y2r; y1l=y2l;
+ filldraw stroke z1e..z2e; penlabels(1,2);
+endchar;
+
+beginchar(arrow_w,8u#+2appr#,0.5[asc_height#,body_height#],0);
+ "Wide arrow accent 1";
+ pickup tiny.nib;
+ arrow_width := 2ceiling 0.3(h-x_height)+rth;
+ arrow_height := hround 3.3u;
+ arrow_breadth := rth;
+ y2=y3=vround(0.7[x_height,h]-0.5rth)+0.5rth;
+ lft x2=w-rt x3=appr-hround 0.5u;
+ arrow_head1(z2..z3,both); x2r=x2l=x2; y1r=y2r; y1l=y2l;
+ filldraw stroke z1e..z2e; penlabels(1,2);
+endchar;
+
+beginchar(arrow_ww,16u#+2appr#,body_height#,0);
+ "Wide arrow accent 2";
+ pickup tiny.nib;
+ arrow_width := 2ceiling 0.3(h-x_height)+rth;
+ arrow_height := hround 3.35u;
+ arrow_breadth := rth;
+ y2=y3=vround(0.7[x_height,h]-0.5rth)+0.5rth;
+ lft x2=w-rt x3=appr-hround 0.5u;
+ arrow_head1(z2..z3,both); x2r=x2l=x2; y1r=y2r; y1l=y2l;
+ filldraw stroke z1e..z2e; penlabels(1,2);
+endchar;
+
+beginchar(arrow_www,24u#+2appr#,body_height#,0);
+ "Wide arrow accent 3";
+ pickup tiny.nib;
+ arrow_width := 2ceiling 0.3(h-x_height)+rth;
+ arrow_height := hround 3.4u;
+ arrow_breadth := rth;
+ y2=y3=vround(0.7[x_height,h]-0.5rth)+0.5rth;
+ lft x2=w-rt x3=appr-hround 0.5u;
+ arrow_head1(z2..z3,both); x2r=x2l=x2; y1r=y2r; y1l=y2l;
+ filldraw stroke z1e..z2e; penlabels(1,2);
+endchar;
+
+beginchar(arrow_wwww,32u#+2appr#,body_height#,0);
+ "Wide arrow accent 4";
+ pickup tiny.nib;
+ arrow_width := 2ceiling 0.3(h-x_height)+rth;
+ arrow_height := hround 3.45u;
+ arrow_breadth := rth;
+ y2=y3=vround(0.7[x_height,h]-0.5rth)+0.5rth;
+ lft x2=w-rt x3=appr-hround 0.5u;
+ arrow_head1(z2..z3,both); x2r=x2l=x2; y1r=y2r; y1l=y2l;
+ filldraw stroke z1e..z2e; penlabels(1,2);
+endchar;
+
+beginchar(arrow_wwwww,40u#+2appr#,body_height#,0);
+ "Wide arrow accent 5";
+ pickup tiny.nib;
+ arrow_width := 2ceiling 0.3(h-x_height)+rth;
+ arrow_height := hround 3.5u;
+ arrow_breadth := rth;
+ y2=y3=vround(0.7[x_height,h]-0.5rth)+0.5rth;
+ lft x2=w-rt x3=appr-hround 0.5u;
+ arrow_head1(z2..z3,both); x2r=x2l=x2; y1r=y2r; y1l=y2l;
+ filldraw stroke z1e..z2e; penlabels(1,2);
+endchar;
+
+def tmp_program(expr orientation,overshot,approach,coef)=
+ pickup tiny.nib;
+ a:=vround 0.5[vair,stem]; pos2(a,90);
+ y2+0.5a=vround(h+0.5a+overshot); y1r=y3r=good.y 1/3[x_height,h];
+ lft x1r=w-rt x3r=hround approach; x2=0.5[x1r,x3r];
+ z1'-z1r=(z2r-z1r) xscaled 1/3;
+ z3'-z3r=(z2r-z3r) xscaled 1/3;
+ pos1(hair,angle(z1'-z1r)+90);
+ pos3(hair,angle(z3'-z3r)-90);
+ filldraw stroke z1e{z1'-z1r}...z2e{right}...z3e{z3r-z3'};
+ penlabels(1,2,3); labels(1',3');
+enddef;
+
+beginchar(paren_accent,7u#+2appr#,0.5[x_height#,asc_height#],0);
+ "Parenthesis accent";
+ tmp_program(up,0,appr+0.25u,0);
+endchar;
+
+beginchar(paren_w,8u#+2appr#,0.5[x_height#,body_height#],0);
+ "Wide parenthesis accent 1";
+ tmp_program(up,o,appr,0.2);
+endchar;
+
+beginchar(paren_ww,16u#+2appr#,0.5[x_height#,body_height#],0);
+ "Wide parenthesis accent 2";
+ tmp_program(up,o,appr-0.25u,0.4);
+endchar;
+
+beginchar(paren_www,24u#+2appr#,0.5[x_height#,body_height#],0);
+ "Wide parenthesis accent 3";
+ tmp_program(up,o,appr-0.5u,0.6);
+endchar;
+
+beginchar(paren_wwww,32u#+2appr#,0.5[x_height#,body_height#],0);
+ "Wide parenthesis accent 4";
+ tmp_program(up,o,appr-0.5u,0.8);
+endchar;
+
+beginchar(paren_wwwww,40u#+2appr#,0.5[x_height#,body_height#],0);
+ "Wide parenthesis accent 5";
+ tmp_program(up,o,appr-0.5u,1);
+endchar;
+
+standard_proofing;% restore extra_endchar.
+