summaryrefslogtreecommitdiff
path: root/fonts/mbboard/source/mbbhebvw.mf
diff options
context:
space:
mode:
Diffstat (limited to 'fonts/mbboard/source/mbbhebvw.mf')
-rw-r--r--fonts/mbboard/source/mbbhebvw.mf210
1 files changed, 210 insertions, 0 deletions
diff --git a/fonts/mbboard/source/mbbhebvw.mf b/fonts/mbboard/source/mbbhebvw.mf
new file mode 100644
index 0000000000..baf4c034cc
--- /dev/null
+++ b/fonts/mbboard/source/mbbhebvw.mf
@@ -0,0 +1,210 @@
+% blackboard typefaces by Anthony Phan.
+% file: mbbhebvw.mf (Hebrew points and punctuation)
+% 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(bbhebvow[0],8u#+2appr#,0,bot_skip#+heb_size2#);
+ "Hebrew point sheva";
+ center_bar(1,1'); x2=x1; x2'=x1';
+ top y1'=bot y2+heb_size2=-bot_skip;
+ top y1'-bot y1=top y2'-bot y2=dot_size;
+ dot(1,1'); dot(2,2');
+endchar;
+
+beginchar(bbhebvow[1],8u#+2appr#,0,bot_skip#+heb_size2#);
+ "Hebrew point hataf-segol";
+ center_bar(2,2');
+ lft x1-apprl=w-apprr-rt x3'=w-apprr-rt x5'
+ =hround min(0,(w-apprl-apprr)/3-hthick-thin-2dot_skip/3);
+ x1'-x1=x3'-x3=x4'-x4=x5'-x5=hthick; x4=good.x 0.5[x1,x2];
+ top y1'=bot y4+heb_size2=-bot_skip;
+ top y1'-bot y1=top y4'-bot y4=dot_size;
+ y1=y2=y3; y1'=y2'=y3'; y4=y5; y4'=y5';
+ dot(1,1'); dot(2,2'); dot(3,3'); dot(4,4'); dot(5,5');
+endchar;
+
+beginchar(bbhebvow[2],8u#+2appr#,0,bot_skip#+dot_size#);
+ "Hebrew point hataf-patah";
+ pickup circle.nib;
+ rt x1'=w-apprr; x1'-x1=hthick; top y1'=-bot_skip;
+ lft x2=apprl; x3-x2=2hround u+hthick;
+ top y1'-bot y1=dot_size; y1'=y2=y3;
+ dot(1,1'); pickup square.nib; draw z2..z3;
+ labels(2,3);
+endchar;
+
+% humm
+beginchar(bbhebvow[3],8u#+2appr#,0,bot_skip#+heb_size2#);
+ "Hebrew point hataf-qamats";
+ pickup circle.nib;
+ rt x2=rt x10=w-apprr; x2-x1=x8-x5=x7-x6=x10-x9=hthick;
+ lft x3=apprl; x4-x3=2hround u+hthick;
+ x5=x6=x3+hround u;
+ top y2=bot y9+heb_size2=-bot_skip; top y2-bot y1=top y10-bot y9=dot_size;
+ bot y6=bot y7=-bot_skip-heb_size1; y2=y3=y4=y5=y8;
+ dot(1,2); dot(9,10); pickup square.nib; draw z3..z4;
+ draw z5--z6--z7--z8; labels(3,4,5,6,7,8);
+endchar;
+
+beginchar(bbhebvow[4],8u#+2appr#,0,bot_skip#+dot_size#);
+ "Hebrew point hiriq";
+ center_bar(1,1');
+ top y1'=-bot_skip; top y1'-bot y1=dot_size; dot(1,1');
+endchar;
+
+beginchar(bbhebvow[5],8u#+2appr#,0,bot_skip#+dot_size#);
+ "Hebrew point tsere";
+ pickup circle.nib;
+ lft x1-apprl=w-apprr-rt x2'
+ =hround min(0.5u,0.5(w-apprl-apprr)-hthick-thin-dot_skip);
+ x1'-x1=x2'-x2=hthick;
+ top y1'=top y2'=-bot_skip; top y1'-bot y1=top y2'-bot y2=dot_size;
+ dot(1,1'); dot(2,2');
+endchar;
+
+beginchar(bbhebvow[6],8u#+2appr#,0,bot_skip#+heb_size2#);
+ "Hebrew point segol";
+ center_bar(3,3');
+ lft x1-apprl=w-apprr-rt x2'=hround 0.5u; x1'-x1=x2'-x2=hthick;
+ top y1'=bot y3+heb_size2=-bot_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(bbhebvow[7],8u#+2appr#,0,bot_skip#+thin#);
+ "Hebrew point patah";
+ center_bar(3,4); x3-x1=x2-x4=hround u;
+ top y1=top y2=-bot_skip; pickup square.nib;
+ draw z1..z2; labels(1,2);
+endchar;
+
+beginchar(bbhebvow[8],8u#+2appr#,0,bot_skip#+heb_size1#);
+ "Hebrew point qamats";
+ center_bar(4,5); x3=x4; x5=x6; x2-x5=x4-x1=hround u;
+ bot y4=bot y5=-d; top y1=-bot_skip; y1=y2=y3=y6;
+ pickup square.nib; draw z1..z2; draw z3--z4--z5--z6;
+ labels(1,2,3,4,5,6);
+endchar;
+
+beginchar(bbhebvow[9],8u#+2appr#,x_height#+top_skip#+dot_size#,0);
+ "Hebrew point holam";
+ italcorr asc_height#*slant-0.5u#;
+ pickup circle.nib; lft x1=apprl-hround u; x1'-x1=hthick;
+ top y1'=h; bot y1=h-dot_size; dot(1,1');
+endchar;
+
+beginchar(bbhebvow[11],8u#+2appr#,0,bot_skip#+heb_size2#);
+ "Hebrew point qubuts";
+ center_bar(2,2'); lft x1-apprl=w-apprr-rt x3'
+ =hround min(0,(w-apprl-apprr)/3-hthick-thin-0.5u);
+ x1'-x1=x3'-x3=hthick; top y1'=bot y3+heb_size2=-bot_skip;
+ top y1'-bot y1=top y2'-bot y2=top y3'-bot y3=dot_size;
+ y2=good.y 0.5[y1,y3]; dot(1,1'); dot(2,2'); dot(3,3');
+endchar;
+
+beginchar(bbhebvow[12],8u#+2appr#,
+ 0.5(-cap_height#+dot_size#)+x_height#,0);
+ "Hebrew point dagesh or mapiq";
+ pickup circle.nib;
+ top y3=top y4=h; top y3-bot y1=dot_size; y1=y2;
+ lft x1=lft x4=apprl; x2-x1=x3-x4=hthick;
+ pickup square.nib; draw z1--z2--z3--z4--cycle;
+ labels(1,2,3,4);
+endchar;
+
+beginchar(bbhebvow[13],8u#+2appr#,0,bot_skip#+heb_size1#);
+ "Hebrew point meteg";
+ center_bar(1,2); x1=x4; x2=x3;
+ bot y1=bot y2=-d; top y3=top y4=-bot_skip;
+ pickup square.nib; draw z1--z2--z3--z4--cycle;
+ labels(1,2,3,4);
+endchar;
+
+beginchar(bbhebvow[14],6u#,cap_height#,0);
+ "Hebrew punctuation maqaf (hyphen dash)";
+ italcorr .5x_height#*slant-.5u#;
+ penpos1(rule_thickness,90); penpos2(rule_thickness,90);
+ top y1r=top y2r=vround(.5h+.5rule_thickness); rt x2=hround(w-u);
+ lft x1=hround .2u; penstroke z1e--z2e; penlabels(1,2);
+endchar;
+
+% humm
+beginchar(bbhebvow[15],8u#+2appr#,x_height#+top_skip#+thin#,0);
+ "Hebrew point rafe";
+ italcorr charht*slant-1.5u#;
+ center_bar(3,4); x3-x1=x2-x4=hround u; top y1=top y2=h;
+ pickup square.nib; draw z1..z2; labels(1,2);
+endchar;
+
+beginchar(bbhebvow[16],5u#+2appr#,cap_height#,0);
+ "Hebrew punctuation paseq (vertical)";
+ italcorr .5x_height#*slant-.5u#;
+ penpos1(rule_thickness,0); penpos2(rule_thickness,0);
+ top y1=h; bot y2=0; x1l=x2l=hround(.5w-.5rule_thickness);
+ penstroke z1e--z2e; penlabels(1,2);
+endchar;
+
+beginchar(bbhebvow[17],8u#+2appr#,x_height#+top_skip#+dot_size#,0);
+ "Hebrew point shin dot";
+ italcorr charht*slant+0.5u#;
+ pickup circle.nib; rt x1'=w-apprr+hround u; x1'-x1=hthick;
+ bot y1'=x_height+top_skip; top y1'-bot y1=dot_size; dot(1,1');
+endchar;
+
+beginchar(bbhebvow[18],8u#+2appr#,x_height#+top_skip#+dot_size#,0);
+ "Hebrew point sin dot";
+ pickup circle.nib; lft x1=apprl-hround u; x1'-x1=hthick;
+ bot y1'=x_height+top_skip; top y1'-bot y1=dot_size; dot(1,1');
+endchar;
+
+beginchar(bbhebvow[19],5u#+2appr#,cap_height#,0);
+ "Hebrew punctuation sof pasuq (colon)";
+ if not(odd(w-apprl-apprr)): change_width; fi
+ x0=x0'=0.5[apprl,w-apprr]; y0=floor(h-dot_size/sqrt 2)+0.5;
+ h-y0=y0';
+ 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);
+ forsuffixes $=1,2,3,4:
+ z$'.r-z0'=z$.r-z0; z$'.l-z0'=z$.l-z0; endfor
+ penstroke z1e--z2e--z3e--z4e--cycle;
+ penstroke z1'.e--z2'.e--z3'.e--z4'.e--cycle;
+ penlabels(1,2,3,4,1',2',3',4'); labels(1a,1b,2a,2b);
+endchar;
+
+beginchar(bbhebvow[20],8u#+2appr#,x_height#+top_skip#+dot_size#,0);
+ "Hebrew mark upper dot";
+ pickup circle.nib; center_bar(1,1');
+ bot y1'=x_height+top_skip; top y1'-bot y1=dot_size; dot(1,1');
+endchar;
+
+standard_proofing;% restore extra_endchar.
+
+endinput;
+
+% from Bigelow and Holmes Unicode's Lucida
+
+beginchar(bbhebvow[23],8u#+2appr#,x_height#+top_skip#+dot_size#,0);
+ "Hebrew point breve";
+ center_bar(4,5); x4-x1=x3-x5=hround u; x2=0.5[x1,x3];
+ bot y2=x_height+top_skip; top y1-bot y2=dot_size; y1=y3=y4=y5;
+ draw z1 down_to_right z2 right_to_up z3;
+ square_end1(up); square_end3(up);
+ labels(1,2,3,4,5);
+endchar;