summaryrefslogtreecommitdiff
path: root/fonts/mbboard/source/mbbhebma.mf
diff options
context:
space:
mode:
Diffstat (limited to 'fonts/mbboard/source/mbbhebma.mf')
-rw-r--r--fonts/mbboard/source/mbbhebma.mf349
1 files changed, 349 insertions, 0 deletions
diff --git a/fonts/mbboard/source/mbbhebma.mf b/fonts/mbboard/source/mbbhebma.mf
new file mode 100644
index 0000000000..8da46c5770
--- /dev/null
+++ b/fonts/mbboard/source/mbbhebma.mf
@@ -0,0 +1,349 @@
+% blackboard typefaces by Anthony Phan.
+% file: mbbhebma.mf (Hebrew masoteric accents)
+% last modification: 25.10.2001.
+
+diacritics_proofing;% changes extra_endchar for proof mode.
+
+def horizontal_rules_list=
+ -body_depth,-paren_depth,-desc_depth,
+ x_height,cap_height,asc_height,body_height
+enddef;
+
+use_rule1;
+
+beginchar(bbhebmas[1],8u#+2appr#,0,bot_skip#+
+ if square_dots: heb_size1# else: heb_size2# fi);
+ "Hebrew accent etnahta";
+ if square_dots:
+ if not(odd(w-apprl-apprr)): change_width; fi
+ x2r=0.5[apprl,w-apprr]; x3r-x1r=hround 6u; 0.5[x3r,x1r]=x2r;
+ y2r=-bot_skip+0.5; y1r=y3r=-d;
+ z1l-z1r=(diag_width(thin,z2r-z1r),0);
+ z3l-z3r=(-diag_width(thin,z2r-z3r),0);
+ z2l-z1l=whatever*(z2r-z1r); z2l-z3l=whatever*(z2r-z3r);
+ penstroke z1e--z2e--z3e; penlabels(1,2,3);
+ else: center_stem(2,4); top y4=-bot_skip; bot y1=bot y3=-d;
+ y2=good.y 0.5[y4,y1]; x2-x1=x3-x2=hround 3u;
+ draw z1 up_to_right z2 right_to_down z3; draw z2..z4;
+ square_end1(down); square_end3(down);
+ square_end4(up); labels(1,2,3,4);
+ fi
+endchar;
+
+beginchar(bbhebmas[2],8u#+2appr#,x_height#+top_skip#+heb_size2#,0);
+ "Hebrew accent segol";
+ center_bar(3,3');
+ lft x1-apprl=w-apprr-rt x2'=hround 0.5u; x1'-x1=x2'-x2=hthick;
+ bot y1=top y3'-heb_size2=x_height+top_skip; y2=y1;
+ top y1'-bot y1=top y2'-bot y2=top y3'-bot y3=dot_size;
+ dot(1,1'); dot(2,2'); dot(3,3');
+endchar;
+
+beginchar(bbhebmas[3],8u#+2appr#,x_height#+top_skip#+heb_size2#,0);
+ "Hebrew accent shalshelet";
+ numeric a,b; a=vround 0.2(heb_size2-2thin);
+ b=hround max(3thin,4u);
+ x1l=x1r=x3l=x5l=hround(0.5[apprl,w-apprr]-0.5b);
+ x2r=x4r=x6r=x6l=x1l+b; x7l=x7r=x6r+hround 0.5u;
+ y2r-y1l=y3l-y2r=y4r-y3l=y5l-y4r=y6r-y5l=a;
+ y1l=x_height+top_skip+thin+0.5;
+ adjust_slanted_bar(1l,2r,1a,2b)(thin,-1);
+ adjust_slanted_bar(2r,3l,2a,3b)(thin,1);
+ adjust_slanted_bar(3l,4r,3a,4b)(thin,-1);
+ adjust_slanted_bar(4r,5l,4a,5b)(thin,1);
+ adjust_slanted_bar(5l,6r,5a,6b)(thin,-1);
+ z1r=whatever[z1a,z2r];
+ z2l=whatever[z1l,z2b]; z2l=whatever[z3l,z2a];
+ z3r=whatever[z2r,z3b]; z3r=whatever[z4r,z3a];
+ z4l=whatever[z3l,z4b]; z4l=whatever[z5l,z4a];
+ z5r=whatever[z4r,z5b]; z5r=whatever[z6r,z5a];
+ z6l=whatever[z5l,z6b];
+ z7r=whatever[z5r,z6r]; z7l=whatever[z5l,z6l];
+ penstroke z1e--z2e--z3e--z4e--z5e--z7e;
+ penlabels(1,2,3,4,5,6,7);
+ labels(1a,2a,2b,3a,3b,4a,4b,5a,5b,6b);
+endchar;
+
+beginchar(bbhebmas[4],8u#+2appr#,x_height#+top_skip#+heb_size2#,0);
+ "Hebrew accent zaqef qatan";
+ center_bar(1,1'); x2=x1; x2'=x1';
+ bot y1=top y2'-heb_size2=x_height+top_skip;
+ top y1'-bot y1=top y2'-bot y2=dot_size;
+ dot(1,1'); dot(2,2');
+endchar;
+
+beginchar(bbhebmas[5],8u#+2appr#,x_height#+top_skip#+heb_size2#,0);
+ "Hebrew accent zaqef gadol";
+ pickup circle.nib; a:=max(u,1.5thin,0.5(hthick+thin));
+ lft x1=lft x2=vround(0.5[apprl,w-apprr]+a-0.5(hthick+thin));
+ x3=x4=good.x(0.5[apprl,w-apprr]-a); x1'-x1=x2'-x2=hthick;
+ bot y1=top y4-heb_size2=x_height+top_skip; y1=y3; y2'=y4;
+ top y1'-bot y1=top y2'-bot y2=dot_size; dot(1,1'); dot(2,2');
+ pickup square.nib; draw z3..z4; labels(3,4);
+endchar;
+
+beginchar(bbhebmas[6],8u#+2appr#,0,top_skip#+heb_size1#);
+ "Hebrew accent tipeha";
+ complete_hebrew_club(0.5[apprl,w-apprr],-bot_skip,-d,1);
+endchar;
+
+% okay sauf la hauteur.
+beginchar(bbhebmas[7],8u#+2appr#,x_height#+top_skip#+dot_size#,0);
+ "Hebrew accent revia";
+ if not(odd(w-apprl-apprr)): change_width; fi
+ x0=0.5[apprl,w-apprr];
+ y0=x_height+top_skip+vround 0.5dot_size+0.5;
+ x3r-x1r=sqrt 2*(thick+thin)*(1++slant);
+ y2r-y4r=sqrt2*dot_size;
+ x0=x2r=x4r=0.5[x3r,x1r]; y0=y1r=y3r=0.5[y2r,y4r];
+ z1a-z1r=(diag_width(thin,z2r-z1r),0);
+ z1b-z1r=(diag_width(thin,z4r-z1r),0);
+ z3a-z3r=(-diag_width(thin,z2r-z3r),0);
+ z3b-z3r=(-diag_width(thin,z4r-z3r),0);
+ z2l-z1a=whatever*(z2r-z1r); z2l-z3a=whatever*(z2r-z3r);
+ z4l-z1b=whatever*(z4r-z1r); z4l-z3b=whatever*(z4r-z3r);
+ z2l-z1l=whatever*(z2r-z1r); z4l-z1l=whatever*(z4r-z1r);
+ z2l-z3l=whatever*(z2r-z3r); z4l-z3l=whatever*(z4r-z3r);
+ penstroke z1e--z2e--z3e--z4e--cycle;
+ penlabels(1,2,3,4,1',2',3',4'); labels(1a,1b,2a,2b);
+endchar;
+
+beginchar(bbhebmas[8],8u#+2appr#,x_height#+top_skip#+heb_size1#,0);
+ "Hebrew accent zarqa";
+ pickup circle.nib;
+ a:=max(6u,5thin);
+ bot y1=x_height+top_skip; y1=y6; top y8=h; y8=y3;
+ y0=y2=y7=0.5[y1,y8]; rt x7=hround(0.5[apprl,w-apprr]-0.5a);
+ rt x7-lft x2=hround a; x0=0.5[x2,x7]; slope:=-heb_size1/2u;
+ hellipse_set(2,3,4,0); hellipse_set(7,6,5,0);
+ x1=good.x x3; x8=good.x x6;
+ draw z1 left_to_up z2 up_to_right z3...z4---z5
+ ...z6 right_to_up z7 up_to_left z8;
+ square_end1(right); square_end8(left);
+ labels(0,1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(bbhebmas[9],8u#+2appr#,x_height#+top_skip#+heb_size1#,0);
+ "Hebrew accent pashta";
+ complete_hebrew_club(apprl,x_height+top_skip,h,-1);
+endchar;
+
+% almost okay
+beginchar(bbhebmas[10],8u#+2appr#,0,bot_skip#+heb_size1#);
+ "Hebrew accent yetiv";
+ y2r=0.5[y1,y3]=-vround(0.5[bot_skip,d])-0.5; y1-y3=heb_size1;
+ x1=w-apprr+hround u; x1-x2r=hround 6u; x1=x1r=x3=x3r;
+ adjust_slanted_bar(2r,1,2a,1a)(0.5(thin),-1);
+ adjust_slanted_bar(2r,3,2b,3b)(0.5(thin),1);
+ z1r=whatever[z2r,z1a]; z3r=whatever[z2r,z3b];
+ z1r-z1=z1-z1l; z3r-z3=z3-z3l;
+ z2l-z1l=whatever*(z2r-z1r); z2l-z3l=whatever*(z2r-z3r);
+ penstroke z1e--z2e--z3e;
+ penlabels(1,2,3); labels(1a,2a,2b,3b);
+endchar;
+
+beginchar(bbhebmas[11],8u#+2appr#,0,bot_skip#+heb_size1#);
+ "Hebrew accent tevir";
+ pickup circle.nib;
+ complete_hebrew_club(0.5[apprl,w-apprr],
+ -bot_skip,-bot_skip-heb_size1,-1);
+ top y4'=-bot_skip; top y4'-bot y4=dot_size;
+ lft x4=x1l; x4'-x4=hthick; dot(4,4');
+endchar;
+
+beginchar(bbhebmas[12],8u#+2appr#,x_height#+top_skip#+heb_size1#,0);
+ "Hebrew accent geresh";
+ complete_hebrew_club(0.5[apprl,w-apprr],x_height+top_skip,h,1);
+endchar;
+
+beginchar(bbhebmas[13],8u#+2appr#,x_height#+top_skip#+heb_size1#,0);
+ "Hebrew accent geresh muqdam";
+ complete_hebrew_club(w-apprr,x_height+top_skip,h,1);
+endchar;
+
+beginchar(bbhebmas[14],8u#+2appr#,x_height#+top_skip#+heb_size1#,0);
+ "Hebrew accent gershayim";
+ a:=0.5max(5u,1.5hthick+thin,3thin)+1.5u;
+ complete_hebrew_club(0.5[apprl,w-apprr]-0.5a,x_height+top_skip,h,1);
+ complete_hebrew_club'(0.5[apprl,w-apprr]+0.5a,x_height+top_skip,h,1);
+endchar;
+
+beginchar(bbhebmas[15],8u#+2appr#,x_height#+top_skip#+heb_size1#,0);
+ "Hebrew accent qarney para";
+ pickup circle.nib;
+ a:=hround max(5u,hthick*sqrt 2+thin+dot_skip);
+ x2=hround(0.5[apprl,w-apprr]+0.5a); x2-x8=a;
+ 0.5[x1,x3]=x2=x4; 0.5[x7,x9]=x8=x10;
+ x1-x3=x7-x9=2hround(hthick/sqrt 2)+2eps;
+ top y2=h+o; 0.5[y2,y4]=y1=y3=y7=y9; y8=y2; y10=y4;
+ top y2-bot y4=2vround(dot_size/sqrt 2)+2eps;
+ tmp_path:=superellipse(z1,z2,z3,z4,superness);
+ tmpp_path:=superellipse(z7,z8,z9,z10,superness);
+ y6=x_height+top_skip; x6=0.5[x2,x8];
+ z5=tmp_path intersectionpoint ((x2,y1)..z6);
+ z11=tmpp_path intersectionpoint ((x8,y7)..z6);
+ ortho_penpos5(thin,z6-z5); ortho_penpos11(thin,z11-z6);
+ z6r-z5r=whatever*(z6-z5); z6r-z11r=whatever*(z6-z11);
+ z6l-z5l=whatever*(z6-z5); z6l-z11l=whatever*(z6-z11);
+ draw tmp_path; draw tmpp_path; penstroke z5e--z6e--z11e;
+ labels(1,2,3,4,7,8,9,10); penlabels(5,6,11);
+endchar;
+
+beginchar(bbhebmas[16],8u#+2appr#,x_height#+top_skip#+heb_size1#,0);
+ "Hebrew accent telisha gedola";
+ pickup circle.nib;
+ 0.5[x1,x3]=x2=x4=w-apprr; x1-x3=2hround(hthick/sqrt 2)+2eps;
+ top y2=h+o; 0.5[y2,y4]=y1=y3;
+ top y2-bot y4=2vround(dot_size/sqrt 2)+2eps;
+ tmp_path:=superellipse(z1,z2,z3,z4,superness);
+ y6=x_height+top_skip; rt x1-x6=5u;
+ z5=tmp_path intersectionpoint ((x2,y1)..z6);
+ ortho_penpos5(thin,z6-z5);
+ z6r-z6=z6-z6l=whatever*((z6-z5)rotated 90);
+ z6r-z5r=whatever*(z6-z5);
+ draw tmp_path; penstroke z5e..z6e;
+ labels(1,2,3,4); penlabels(5,6);
+endchar;
+
+beginchar(bbhebmas[17],8u#+2appr#,x_height#+top_skip#+heb_size1#,0);
+ "Hebrew accent pazer";
+ a:=hround max(3thin,4u);
+ lft x2=hround(0.5[apprl,w-apprr]-0.5a); x2=x3=x4; rt x1-lft x2=a;
+ bot y3=x_height+top_skip; y4-y1=y1-y3;
+ y1=y2=good.y(x_height+top_skip+0.5heb_size1);
+ pickup square.nib; draw z1..z2; draw z3..z4; labels(1,2,3,4);
+endchar;
+
+beginchar(bbhebmas[19],8u#+2appr#,0,bot_skip#+heb_size1#);
+ "Hebrew accent munah";
+ pickup circle.nib;
+ a:=hround max(3thin,4u);
+ rt x2=rt x3=hround(0.5[apprl,w-apprr]+0.5a); rt x2-lft x1=a;
+ top y3=-bot_skip; bot y1=bot y2=-d;
+ pickup square.nib; draw z1--z2--z3; labels(1,2,3);
+endchar;
+
+beginchar(bbhebmas[20],8u#+2appr#,0,bot_skip#+heb_size1#);
+ "Hebrew accent mahapakh";
+ y2r=0.5[y1,y3]=-vround(0.5[bot_skip,d])-0.5; y1-y3=heb_size1;
+ x1=hround(0.5[apprl,w-apprr]+3u); x1-x2r=hround 6u; x1=x1r=x3=x3r;
+ adjust_slanted_bar(2r,1,2a,1a)(0.5(thin),-1);
+ adjust_slanted_bar(2r,3,2b,3b)(0.5(thin),1);
+ z1r=whatever[z2r,z1a]; z3r=whatever[z2r,z3b];
+ z1r-z1=z1-z1l; z3r-z3=z3-z3l;
+ z2l-z1l=whatever*(z2r-z1r); z2l-z3l=whatever*(z2r-z3r);
+ penstroke z1e--z2e--z3e;
+ penlabels(1,2,3); labels(1a,2a,2b,3b);
+endchar;
+
+beginchar(bbhebmas[21],8u#+2appr#,0,bot_skip#+heb_size1#);
+ "Hebrew accent merkha";
+ complete_hebrew_club(0.5[apprl,w-apprr],-bot_skip,-d,-1);
+endchar;
+
+beginchar(bbhebmas[22],8u#+2appr#,0,bot_skip#+heb_size1#);
+ "Hebrew accent kefula";
+ a:=0.5max(5u,1.5hthick+thin,3thin)+1.5u;
+ complete_hebrew_club(0.5[apprl,w-apprr]-0.5a,-bot_skip,-d,-1);
+ complete_hebrew_club'(0.5[apprl,w-apprr]+0.5a,-bot_skip,-d,-1);
+endchar;
+
+beginchar(bbhebmas[23],8u#+2appr#,0,bot_skip#+heb_size2#);
+ "Hebrew accent darga";
+ a:=hround max(6u,1.5hthick+1.5thin);
+ x2l=x4r=hround(0.5[apprl,w-apprr]-0.5a); x1l=x3r=x2l+a;
+ y1l=y2l=-d; y3r=y4r=-bot_skip;
+ penpos1(thin,90); penpos2(thin,90);
+ penpos3(thin,90); penpos4(thin,90);
+ z5l=z1r; z8r=z4l;
+ adjust_slanted_bar(5l,8r,6r,7l)(thick+thin,+1);
+ a:=-diag_width(thin,z8r-z6r);
+ penpos5(a,0); penpos6(a,0); penpos7(a,0); penpos8(a,0);
+ penstroke z1e..z2e; penstroke z3e..z4e;
+ penstroke z5e..z7e; penstroke z6e..z8e;
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(bbhebmas[24],8u#+2appr#,x_height#+top_skip#+heb_size1#,0);
+ "Hebrew accent qadma";
+ complete_hebrew_club(0.5[apprl,w-apprr],x_height+top_skip,h,-1);
+endchar;
+
+beginchar(bbhebmas[25],8u#+2appr#,x_height#+top_skip#+heb_size1#,0);
+ "Hebrew accent telisha qetana";
+ complete_hebrew_club(apprl,h,x_height+top_skip,1);
+endchar;
+
+beginchar(bbhebmas[26],8u#+2appr#,0,bot_skip#+
+ if square_dots: heb_size1# else: heb_size2# fi);
+ "Hebrew accent yera ben yomo";
+ if square_dots:
+ if not(odd(w-apprl-apprr)): change_width; fi
+ x2r=0.5[apprl,w-apprr]; x3r-x1r=hround 6u; 0.5[x3r,x1r]=x2r;
+ y2r=-d-0.5; y1r=y3r=-bot_skip;
+ z1l-z1r=(diag_width(thin,z2r-z1r),0);
+ z3l-z3r=(-diag_width(thin,z2r-z3r),0);
+ z2l-z1l=whatever*(z2r-z1r); z2l-z3l=whatever*(z2r-z3r);
+ penstroke z1e--z2e--z3e; penlabels(1,2,3);
+ else: center_stem(2,4); top y1=top y3=-bot_skip; bot y4=-d;
+ y2=good.y 0.5[y4,y1]; x2-x1=x3-x2=hround 3u;
+ draw z1 down_to_right z2 right_to_up z3; draw z2..z4;
+ square_end1(up); square_end3(up);
+ square_end4(down); labels(1,2,3,4);
+ fi
+endchar;
+
+beginchar(bbhebmas[27],8u#+2appr#,x_height#+top_skip#+heb_size1#,0);
+ "Hebrew accent ole";
+ y2r=0.5[y1,y3]=vround(0.5[x_height+top_skip,h])+0.5; y1-y3=heb_size1;
+ x1=hround(0.5[apprl,w-apprr]+3u); x1-x2r=hround 6u; x1=x1r=x3=x3r;
+ adjust_slanted_bar(2r,1,2a,1a)(0.5(thin),-1);
+ adjust_slanted_bar(2r,3,2b,3b)(0.5(thin),1);
+ z1r=whatever[z2r,z1a]; z3r=whatever[z2r,z3b];
+ z1r-z1=z1-z1l; z3r-z3=z3-z3l;
+ z2l-z1l=whatever*(z2r-z1r); z2l-z3l=whatever*(z2r-z3r);
+ penstroke z1e--z2e--z3e;
+ penlabels(1,2,3); labels(1a,2a,2b,3b);
+endchar;
+
+beginchar(bbhebmas[28],8u#+2appr#,x_height#+top_skip#+heb_size1#,0);
+ "Hebrew accent iluy";
+ pickup circle.nib;
+ a:=hround max(3thin,4u);
+ rt x2=rt x3=hround(0.5[apprl,w-apprr]+0.5a); rt x2-lft x1=a;
+ top y3=h; bot y1=bot y2=x_height+top_skip;
+ pickup square.nib; draw z1--z2--z3; labels(1,2,3);
+endchar;
+
+beginchar(bbhebmas[29],8u#+2appr#,0,bot_skip#+heb_size1#);
+ "Hebrew accent dehi";
+ complete_hebrew_club(w-apprr,-bot_skip,-d,1);
+endchar;
+
+beginchar(bbhebmas[30],8u#+2appr#,x_height#+top_skip#+heb_size1#,0);
+ "Hebrew accent zinor";
+ pickup circle.nib;
+ a:=max(6u,5thin);
+ bot y1=x_height+top_skip; y1=y6; top y8=h; y8=y3;
+ y0=y2=y7=0.5[y1,y8]; lft x2=hround(0.5[apprl,w-apprr]-0.5a);
+ rt x7-lft x2=hround a; x0=0.5[x2,x7]; slope:=-heb_size1/2u;
+ hellipse_set(2,3,4,0); hellipse_set(7,6,5,0);
+ x1=good.x x3; x8=good.x x6;
+ draw z1 left_to_up z2 up_to_right z3...z4---z5
+ ...z6 right_to_up z7 up_to_left z8;
+ square_end1(right); square_end8(left);
+ labels(0,1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar(bbhebmas[31],8u#+2appr#,x_height#+top_skip#+heb_size1#,0);
+ "Hebrew mark masora circle";
+ pickup circle.nib;
+ if odd(w-apprl-apprr): change_width; fi
+ 0.5[x1,x3]=x2=x4=0.5[apprl,w-apprr];
+ x1-x3=2hround(hthick/sqrt 2)+2eps;
+ 0.5[y2,y4]=y1=y3=x_height+top_skip+vround 0.5dot_size;
+ top y2-bot y4=2vround(dot_size/sqrt 2)+2eps;
+ draw superellipse(z1,z2,z3,z4,superness); labels(1,2,3,4);
+endchar;
+
+standard_proofing;% restore extra_endchar. \ No newline at end of file