diff options
Diffstat (limited to 'fonts/mbboard/source/mbbhebvw.mf')
-rw-r--r-- | fonts/mbboard/source/mbbhebvw.mf | 210 |
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; |