summaryrefslogtreecommitdiff
path: root/fonts/mbboard/source/mbbdrivr.mf
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/mbboard/source/mbbdrivr.mf
Initial commit
Diffstat (limited to 'fonts/mbboard/source/mbbdrivr.mf')
-rw-r--r--fonts/mbboard/source/mbbdrivr.mf307
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.
+
+
+