diff options
Diffstat (limited to 'fonts/mbboard/source/mbbdrivr.mf')
-rw-r--r-- | fonts/mbboard/source/mbbdrivr.mf | 307 |
1 files changed, 307 insertions, 0 deletions
diff --git a/fonts/mbboard/source/mbbdrivr.mf b/fonts/mbboard/source/mbbdrivr.mf new file mode 100644 index 0000000000..5ca2718102 --- /dev/null +++ b/fonts/mbboard/source/mbbdrivr.mf @@ -0,0 +1,307 @@ +% blackboard typefaces by Anthony Phan. +% file: mbbdrivr.mf (driver file) +% last modification: 25.10.2001. + +font_coding_scheme "Unknown"; +mode_setup; font_setup; + +font_coding_scheme:="Unknown"; + +% skewchar:=hex"7F"; +% hypenchar:=hex"60"; + +% roman + +bblig_ct :=hex"09"; bblig_st :=hex"0A"; bblig_ff :=hex"0B"; +bblig_fi :=hex"0C"; bblig_fl :=hex"0D"; bblig_ffi :=hex"0E"; +bblig_ffl:=hex"0F"; bbdotless_i:=hex"10"; bbdotless_j:=hex"11"; + +% roman extension + +bbes_zet:=hex"19"; +bbae :=hex"1A"; bboe:=hex"1B"; bbslash_o:=hex"1C"; +bbAE :=hex"1D"; bbOE:=hex"1E"; bbslash_O:=hex"1F"; + +% bbcross_d:=hex"F8"; +% bbEng:=hex"F4"; bbeng:=hex"FC"; +% bbThorn:=hex"F5"; bbthorn:=hex"FD"; + +% accents + +bbgrave :=hex"12"; bbacute :=hex"13"; bbhacheck :=hex"14"; +bbbreve :=hex"15"; bbmacron :=hex"16"; bbcirc_accent:=hex"17"; +bbcedilla :=hex"18"; +bbcircumflex :=hex"5E"; bbdotaccent:=hex"5F"; +bblong_umlaut:=hex"7D"; bbtilde :=hex"7E"; bbumlaut :=hex"7F"; +% bbleft_slanted_cross:=hex"20";% polish +% bbogonek:=hex"22";% Polish + +% greek accents + +% bbstraight_accent:=hex"C8"; +% bbrough:=hex"C9"; bbsmooth:=hex"CA"; +% bbgreek_tilde:=hex"CB"; +% bbrough_tilde:=hex"CC"; bbsmooth_tilde:=hex"CD"; +% bbsubscript_iota:=hex"CE"; + +% punctuation + +bbnormal_space :=hex"20"; bbasterisk :=hex"2A"; +bbcomma :=hex"2C"; bbperiod :=hex"2E"; +bbcolon :=hex"3A"; bbsemicolon :=hex"3B"; +bbquestion_mark :=hex"3F"; bbexclamation_point :=hex"21"; +bbspanish_shriek:=hex"07"; bbspanish_query :=hex"08"; +bbslash :=hex"2F"; bbback_slash :=hex"5C"; + +parenthesis_left:=hex"28"; parenthesis_right :=hex"29"; +bracket_left :=hex"5B"; bracket_right :=hex"5D"; +brace_left :=hex"DB"; vertical :=hex"DC" ; brace_right:=hex"DD"; +angle_left :=hex"DE"; angle_right :=hex"DF"; + +bbfso_quotes :=hex"00"; bbfsc_quotes :=hex"01"; +bbfdo_quotes :=hex"02"; bbfdc_quotes :=hex"03"; + +bbapostrophe :=hex"27"; bbreverse_apostrophe:=hex"60"; +bbopening_quotes:=hex"04"; bbclosing_quotes :=hex"05"; +% bbgerman_opening_comma:=hex""; +bbgerman_opening_quotes:=hex"06"; +bbstraight_quotes:=hex"22"; % ASCII location +bbdash:=hex"2D"; bben_dash:=hex"7B"; bbem_dash:=hex"7C"; +% bbvariant_dash:=hex"";% centered dash. +% bbunderscore:=hex""; + +% blackboard symbols + +plus_sign :=hex"2B"; +equal_sign :=hex"3D"; +hash_sign :=hex"23"; +inferior_sign :=hex"3C"; +superior_sign :=hex"3E"; +% bbhash_mark :=hex"23"; +bbdollar :=hex"24"; +bbpercent :=hex"25"; +bbampersand :=hex"26"; +bbat_sign :=hex"40"; +bbpartial :=hex"A0"; +bbWeierstrass_p:=hex"80"; +% bbperthousand :=hex"E8"; +% bbpertenthousand:=hex"E9"; +bbeuro :=hex"FB"; +bbpound :=hex"FC"; +bbcent :=hex"FD"; +bbyen :=hex"FE"; +% bbshereq :=hex"FF"; +% bbestimated :=hex"EE"; +% bbbar_h :=hex"F7"; +% bbcross_h :=hex"FF"; + +ligtable inferior_sign: inferior_sign=:bbfdo_quotes; +ligtable superior_sign: superior_sign=:bbfdc_quotes; +ligtable bbdash: bbdash=:bben_dash; +ligtable bben_dash: bbdash=:bbem_dash; +ligtable bbreverse_apostrophe: bbreverse_apostrophe=:bbopening_quotes; +ligtable bbapostrophe: bbapostrophe=:bbclosing_quotes; +ligtable bbcomma: bbcomma=:bbgerman_opening_quotes; +ligtable bbexclamation_point: bbreverse_apostrophe=:bbspanish_shriek; +ligtable bbquestion_mark: bbreverse_apostrophe=:bbspanish_query; + +% greek uppercase + +bbAlpha:=hex"81"; bbBeta :=hex"82"; bbGamma :=hex"83"; +bbDelta:=hex"84"; bbEpsilon:=hex"85"; bbZeta :=hex"86"; +bbEta :=hex"87"; bbTheta :=hex"88"; bbIota :=hex"89"; +bbKappa:=hex"8A"; bbLambda :=hex"8B"; bbMu :=hex"8C"; +bbNu :=hex"8D"; bbXi :=hex"8E"; bbOmicron:=hex"8F"; +bbPi :=hex"90"; bbRho :=hex"91"; bbSigma :=hex"92"; +bbTau :=hex"93"; bbUpsilon:=hex"94"; bbPhi :=hex"95"; +bbChi :=hex"96"; bbPsi :=hex"97"; bbOmega :=hex"98"; +% varUpsilon:=hex""; + +% greek like symbols + +bbnabla :=hex"9A"; bbcoprod :=hex"9B"; bbmho:=hex"9C"; +bbslash_Sigma:=hex"9D"; bbslash_nabla:=hex"9E"; + +% ionian uppercase + +% bbDigamma:=hex"C0"; bbKoppa:=hex"C1"; bbSampi:=hex"C2"; + +% greek lowercase + +bbalpha:=hex"A1"; bbbeta :=hex"A2"; bbgamma :=hex"A3"; +bbdelta:=hex"A4"; bbepsilon:=hex"A5"; bbzeta :=hex"A6"; +bbeta :=hex"A7"; bbtheta :=hex"A8"; bbiota :=hex"A9"; +bbkappa:=hex"AA"; bblambda :=hex"AB"; bbmu :=hex"AC"; +bbnu :=hex"AD"; bbxi :=hex"AE"; bbomicron:=hex"AF"; +bbpi :=hex"B0"; bbrho :=hex"B1"; bbsigma :=hex"B2"; +bbtau :=hex"B3"; bbupsilon:=hex"B4"; bbphi :=hex"B5"; +bbchi :=hex"B6"; bbpsi :=hex"B7"; bbomega :=hex"B8"; +% variants +%bbvarbeta:=hex"9F"; +bbvarepsilon:=hex"B9"; bbvartheta:=hex"BA"; +bbvarkappa :=hex"BB"; bbvarpi :=hex"BC"; +bbvarrho :=hex"BD"; bbvarsigma:=hex"BE"; +bbvarphi :=hex"BF"; + +% greek like letters + +bbslash_lambda:=hex"9F"; + +% ionian lowercase + +% bbdigamma:=hex"C3"; bbkoppa:=hex"C4"; bbsampi:=hex"C5"; +bbvardigamma:=hex"99"; +% bbvarkoppa:=hex"C7"; + +% Activate to allow characters with undefined code. +% (for proof mode compilation) + +% let iff=always_iff; + +% let the show begin : + +input mbbromup; +input mbbromlo; +input mbbromlg; +input mbbromxu; +input mbbromxl; +input mbbaccnt; +input mbbdigit; +input mbbsymbl; +input mbbpunct; +input mbbgrkup; +input mbbgrklo; +% input mbbextra; + +%% ligtable's funny examples: +%% || is the left boundary character that precede every word. +%% Defining is ligtable allows to produce automatic replacements +%% such as for beta (or hebrew letters with final forms). +%% {\it boundarychar\/} is an internal variable which has to be +%% set to a value between 0 and 255. The corresponding character +%% plays the symmetric role of ||. +% boundarychar:=0; +% ligtable ||:bbvarbeta=:bbbeta; +% ligtable "u": boundarychar=:bbSigma; + +% parameters for TFM files. + +font_slant=slant; +font_x_height=x_height#; +font_normal_stretch=3u#; +font_normal_shrink=2u#; +font_quad=18u#+4letter_fit#; +font_extra_space=2u#; +font_normal_space=6u#+2letter_fit#; + +k#:=-.25u#; kk#:=-0.5u#; kkk#:=-0.75u#; kkkk#:=-u#;% 4 degrees of kerning + +ligtable "f" : "f" =: bblig_ff, "i" =: bblig_fi, +"l"=:bblig_fl, "f" =: bblig_ff, +bbapostrophe kern 1.25u#, bbquestion_mark kern 1.25u#, +bbexclamation_point kern 1.25u#, parenthesis_right kern 1.25u#, +bracket_right kern 1.25u#, brace_right kern 1.25u#, +skipto 1; + +ligtable bblig_ff : "i" =: bblig_ffi, "l" =: bblig_ffl, +bbapostrophe kern 1.25u#, bbquestion_mark kern 1.25u#, +bbexclamation_point kern 1.25u#, parenthesis_right kern 1.25u#, +bracket_right kern 1.25u#, brace_right kern 1.25u#, +skipto 1; + +%ligtable "c" : "t"=: bblig_ct; +%ligtable "s" : "t"=: bblig_st; + +ligtable "e" : "o" : "b" : "p" : bbae: bboe: bbslash_o: +bbdelta: bbomicron: bbphi: bbvarphi: bbrho: bbvarrho: bbomega: +"x" kern kkk#, "v" kern kk#, "w" kern k#, "z" kern kk#, +bbgamma kern kk#, bblambda kern kk#, bbtau kern kk#, +bbchi kern kkk#, bbvarkappa kern kkk#; + +ligtable 1:: "v" : "z" : bbgamma: bblambda: bbtau: +"a" kern kk#, "e" kern kk#, "o" kern kk#, "c" kern kk#, +"d" kern kk#, "g" kern kk#, "q" kern kk#, bbae kern kk#, +bboe kern kk#, bbslash_o kern kk#, +bbalpha kern kk#, bbepsilon kern kk#, bbdelta kern kk#, +bbphi kern kk#, bbvarphi kern kk#, bbomega kern kk#; + +ligtable "r" : "w" : +"a" kern k#, "e" kern k#, "o" kern k#, "c" kern k#, +"d" kern k#, "g" kern k#, "q" kern k#, bbae kern k#, +bboe kern k#, bbslash_o kern k#, +bbalpha kern k#, bbepsilon kern k#, bbdelta kern k#, +bbphi kern k#, bbvarphi kern k#, bbomega kern k#; + +ligtable "k" : "x" : bbxi: bbzeta: bbkappa: bbchi: bbvarkappa: +"a" kern kkk#, "e" kern kkk#, "o" kern kkk#, "c" kern kkk#, +"d" kern kkk#, "g" kern kkk#, "q" kern kkk#, bbae kern kkk#, +bboe kern kkk#, bbslash_o kern kkk#, +bbalpha kern kkk#, bbepsilon kern kkk#, bbdelta kern kkk#, +bbphi kern kkk#, bbvarphi kern kkk#, bbomega kern kkk#; + +% hebrew encoding + numeric bbhebr[];%bbhebvow[],bbhebmas[]; + for i=0 upto 26: bbhebr[i]=hex"C0"+i; endfor% can go up to 31 +% ligtable bbhebr[5]: bbhebr[5]=:bbhebr[27]; +% ligtable bbhebr[9]:bbhebr[5]=:bbhebr[28],bbhebr[9]=:bbhebr[29]; +% for i=0 upto 31: bbhebmas[i]=hex"A0"+i; endfor +% for i=0 upto 20: bbhebvow[i]=hex"C0"+i; endfor + input mbbhebrw; + dagesh_accent:=hex"FF"; + ligtable dagesh_accent: + bbhebr[0]=:bbhebr[0]+32, + bbhebr[1]=:bbhebr[1]+32, + bbhebr[2]=:bbhebr[2]+32, + bbhebr[3]=:bbhebr[3]+32, + bbhebr[4]=:bbhebr[4]+32, + bbhebr[5]=:bbhebr[5]+32, + bbhebr[6]=:bbhebr[6]+32, + bbhebr[7]=:bbhebr[7]+32, + bbhebr[8]=:bbhebr[8]+32, + bbhebr[9]=:bbhebr[9]+32, + bbhebr[10]=:bbhebr[10]+32, + bbhebr[11]=:bbhebr[11]+32, + bbhebr[12]=:bbhebr[12]+32, + bbhebr[13]=:bbhebr[13]+32, + bbhebr[14]=:bbhebr[14]+32, + bbhebr[15]=:bbhebr[15]+32, + bbhebr[16]=:bbhebr[16]+32, + bbhebr[17]=:bbhebr[17]+32, + bbhebr[18]=:bbhebr[18]+32, + bbhebr[19]=:bbhebr[19]+32, + bbhebr[20]=:bbhebr[20]+32, + bbhebr[21]=:bbhebr[21]+32, + bbhebr[22]=:bbhebr[22]+32, + bbhebr[23]=:bbhebr[23]+32, + bbhebr[24]=:bbhebr[24]+32, + bbhebr[25]=:bbhebr[25]+32, + bbhebr[26]=:bbhebr[26]+32; + dagesh_mark:=true; + for i=0 upto 26: bbhebr[i]:=hex"E0"+i; endfor + input mbbhebrw; +% input mbbhebvw; +% input mbbhebma; + +% ligtable "A": "L": bbDelta : bbLambda : +% "T" kern -2u#, "V" kern -2u#, "W" kern -2u#, "Y" kern -2u#, +% bbTau kern -2u#, bbUpsilon kern -2u#; + +% ligtable "T" : "V" : "W" : "Y" : bbTau : bbUpsilon : +% "a" kern -2u#, "c" kern -2u#, "d" kern -2u#, "e" kern -2u#, +% "g" kern -2u#, "m" kern -2u#, "n" kern -2u#, "o" kern -2u#, +% "q" kern -2u#,"r" kern -2u#,"s" kern -2u#,"u" kern -2u#, +% "v" kern -2u#,"w" kern -2u#,"x" kern -2u#,"y" kern -2u#, +% "y" kern -2u#, +% bbalpha kern -2u#, bbgamma kern -2u#, bbepsilon kern -2u#, +% bbvarepsilon kern -2u#, bbeta kern -2u#, bbiota kern -2u#, +% bbkappa kern -2u#, bbvarkappa kern -2u#, bbmu kern -2u#, +% bbnu kern -2u#, bbomicron kern -2u#, bbpi kern -2u#, +% bbvarpi kern -2u#, bbrho kern -2u#, bbvarrho kern -2u#, +% bbsigma kern -2u#, bbvarsigma kern -2u#, +% bbtau kern -2u#, bbupsilon kern -2u#, bbphi kern -2u#, +% bbchi kern -2u#, bbpsi kern -2u#, bbomega kern -2u#, +% "A" kern -2u#, bbDelta kern -2u#,bbLambda kern -2u#; +end. + + + |