% blackboard typefaces by Anthony Phan. % file: mbbcrkup.mf (Cork roman uppercase) % last modification: 25.10.2001. % some new instructions (eg. begincorkchar) % and new measures (eg. cap_accent_height#) % are defined in the driver file `bbcrkdrv.mf'. use_rule2; begincorkchar("A","grave",hex"C0",cap_accent_height#,0); italcorr cork_ic[a]; complete_grave(lshift,rshift); endcorkchar; begincorkchar("A","acute",hex"C1",cap_accent_height#,0); italcorr cork_ic[a]; complete_acute(lshift,rshift); endcorkchar; begincorkchar("A","circumflex",hex"C2",cap_accent_height#,0); italcorr cork_ic[a]; complete_hat(lshift,rshift); endcorkchar; begincorkchar("A","tilde",hex"C3",cap_accent_height#,0); italcorr cork_ic[a]; complete_tilde(lshift,rshift); endcorkchar; begincorkchar("A","umlaut",hex"C4",cap_accent_height_bis#,0); italcorr cork_ic[a]; complete_umlaut(lshift,rshift); endcorkchar; begincorkchar("A","circ",hex"C5",0.7cap_accent_height#,0); italcorr cork_ic[a]; pickup circle.nib; bot y4=tmp_h-eps; top y2=h+o; y0=y1=y3=0.5[y4,y2]; x0=x2=x4=0.5[apprl,w-apprr]; x1-x0=x0-x3; lft x3=hround(x0-0.5max(hThick+thin,3u+thin))-eps; draw superellipse(z1,z2,z3,z4,superness); labels(1,2,3,4,0); endcorkchar; begincorkchar("A","breve",hex"80",cap_accent_height#,0); italcorr cork_ic[a]; complete_breve(lshift,rshift); endcorkchar; begincorkchar("A","ogonek",hex"81",0,desc_depth#); italcorr cork_ic[a]; complete_ogonek(w-apprr-0.5thin,0); endcorkchar; begincorkchar("C","acute",hex"82",cap_accent_height#,0); italcorr cork_ic[a]; complete_acute(lshift,rshift); endcorkchar; begincorkchar("C","hacheck",hex"83",cap_accent_height#,0); italcorr cork_ic[a]; complete_hacheck(lshift,rshift); endcorkchar; begincorkchar("C","cedilla",hex"C7",0,desc_depth#); italcorr cork_ic[a]; pickup circle.nib; lft x0l=apprl; rt x0r=w-apprr; complete_cedilla(0.527[x0l,x0r],-o); endcorkchar; begincorkchar("D","hacheck",hex"84",cap_accent_height#,0); italcorr cork_ic[a]; complete_hacheck(lshift,rshift); endcorkchar; begincorkchar("D","bar",hex"D0",0,0); italcorr cork_ic[a]; pickup circle.nib; lft x1=Apprl-hround 1.25u; x2=Apprl; x3=Apprl+hthick+thin; rt x4-lft x1=slash_width; y1=y2=y3=y4=good.y 0.5h; pickup square.nib; draw z1..z2; draw z3..z4; labels(1,2,3,4); endcorkchar; begincorkchar("E","grave",hex"C8",cap_accent_height#,0); italcorr cork_ic[a]; complete_grave(lshift,rshift); endcorkchar; begincorkchar("E","acute",hex"C9",cap_accent_height#,0); italcorr cork_ic[a]; complete_acute(lshift,rshift); endcorkchar; begincorkchar("E","circumflex",hex"CA",cap_accent_height#,0); italcorr cork_ic[a]; complete_hat(Apprl,Apprr); endcorkchar; begincorkchar("E","umlaut",hex"CB",cap_accent_height_bis#,0); italcorr cork_ic[a]; complete_umlaut(Apprl,Apprr); endcorkchar; begincorkchar("E","hacheck",hex"85",cap_accent_height#,0); italcorr cork_ic[a]; complete_hacheck(Apprl,Apprr); endcorkchar; begincorkchar("E","ogonek",hex"86",0,desc_depth#); italcorr cork_ic[a]; pickup circle.nib; rt x0=w-apprr; complete_ogonek(x0,0); endcorkchar; begincorkchar("I","grave",hex"CC",cap_accent_height#,0); italcorr cork_ic[a]; complete_grave(lshift,rshift); endcorkchar; begincorkchar("I","acute",hex"CD",cap_accent_height#,0); italcorr cork_ic[a]; complete_acute(lshift,rshift); endcorkchar; begincorkchar("I","circumflex",hex"CE",cap_accent_height#,0); italcorr cork_ic[a]; complete_hat(lshift,rshift); endcorkchar; begincorkchar("I","umlaut",hex"CF",cap_accent_height_bis#,0); italcorr cork_ic[a]; complete_umlaut(lshift,rshift); endcorkchar; begincorkchar("I","dot",hex"9D",cap_accent_height_bis#,0); italcorr cork_ic[a]; complete_dot(lshift,rshift); endcorkchar; begincorkchar("I","J",hex"9C",0,0); italcorr cork_ic[a+1]; currentpicture:=currentpicture+cork_picture[a+1] shifted(w,0); correct_width_by(0,cork_wd[a+1]); endcorkchar; begincorkchar("G","breve",hex"87",cap_accent_height#,0); italcorr cork_ic[a]; complete_breve(w-13u,0); endcorkchar; begincorkchar("L","acute",hex"88",cap_accent_height#,0); italcorr cork_ic[a]; complete_acute(lshift,rshift); endcorkchar; begincorkchar("L","hacheck",hex"89",0,0); italcorr cork_ic[a]; correct_width_by(0,0.5u#); pickup circle.nib; top y1=x_height; top y4=h; rt x3=w-apprr; x3-x5=hthick; lft x1=hround min(Apprl+hthick+thin+u,x5-thin); complete_comma; endcorkchar; begincorkchar("L","cross",hex"8A",0,0); italcorr cork_ic[a]; y0=x_height-eps; x1l=Apprl-hround 1.25u; x0-hthick-0.5thin=x2l=x3l-hthick=Apprl+0.5thin; x4l-x1l=y4l-y1l=slash_width; z0=whatever[z1l,z4l]; y4l-y4r=thin/((1++slant)*sind angle((z4l-z1l)slanted slant)); x4l=x4r; z2l=whatever[z1l,z4l]; z3l=whatever[z1l,z4l]; z1l-z1r=z2l-z2r=z3l-z3r=z4l-z4r; penstroke z1e..z2e; penstroke z3e..z4e; labels(0); penlabels(1,2,3,4); endcorkchar; begincorkchar("N","acute",hex"8B",cap_accent_height#,0); italcorr cork_ic[a]; complete_acute(lshift,rshift); endcorkchar; begincorkchar("N","hacheck",hex"8C",cap_accent_height#,0); italcorr cork_ic[a]; complete_hacheck(lshift,rshift); endcorkchar; begincorkchar("N","tilde",hex"D1",cap_accent_height#,0); italcorr cork_ic[a]; complete_tilde(lshift,rshift); endcorkchar; begincorkchar("O","grave",hex"D2",cap_accent_height#,0); italcorr cork_ic[a]; complete_grave(lshift,rshift); endcorkchar; begincorkchar("O","acute",hex"D3",cap_accent_height#,0); italcorr cork_ic[a]; complete_acute(lshift,rshift); endcorkchar; begincorkchar("O","circumflex",hex"D4",cap_accent_height#,0); italcorr cork_ic[a]; complete_hat(lshift,rshift); endcorkchar; begincorkchar("O","tilde",hex"D5",cap_accent_height#,0); italcorr cork_ic[a]; complete_tilde(lshift,rshift); endcorkchar; begincorkchar("O","umlaut",hex"D6",cap_accent_height_bis#,0); italcorr cork_ic[a]; complete_umlaut(lshift,rshift); endcorkchar; begincorkchar("O","long umlaut",hex"8E",cap_accent_height#,0); italcorr cork_ic[a]; complete_long_umlaut(lshift,rshift); endcorkchar; begincorkchar("R","acute",hex"8F",cap_accent_height#,0); italcorr cork_ic[a]; complete_acute(lshift,rshift); endcorkchar; begincorkchar("R","hacheck",hex"90",cap_accent_height#,0); italcorr cork_ic[a]; complete_hacheck(lshift,rshift); endcorkchar; begincorkchar("S","acute",hex"91",cap_accent_height#,0); italcorr cork_ic[a]; complete_acute(lshift,rshift); endcorkchar; begincorkchar("S","hacheck",hex"92",cap_accent_height#,0); italcorr cork_ic[a]; complete_hacheck(lshift,rshift); endcorkchar; begincorkchar("S","cedilla",hex"93",0,desc_depth#); italcorr cork_ic[a]; complete_cedilla(0.5[apprl,w-apprr],-o); endcorkchar; begincorkchar("S","S (es-zet)",hex"DF",0,0); italcorr cork_ic[a]; currentpicture:=currentpicture+cork_picture[a] shifted(w,0); correct_width_by(0,charwd); endcorkchar; begincorkchar("T","hacheck",hex"94",cap_accent_height#,0); italcorr cork_ic[a]; complete_hacheck(lshift,rshift); endcorkchar; begincorkchar("T","cedilla",hex"95",0,desc_depth#); italcorr cork_ic[a]; complete_cedilla(0.5[apprl,w-apprr],0); endcorkchar; begincorkchar("U","grave",hex"D9",cap_accent_height#,0); italcorr cork_ic[a]; complete_grave(lshift,rshift); endcorkchar; begincorkchar("U","acute",hex"DA",cap_accent_height#,0); italcorr cork_ic[a]; complete_acute(lshift,rshift); endcorkchar; begincorkchar("U","circumflex",hex"DB",cap_accent_height#,0); italcorr cork_ic[a]; complete_hat(lshift,rshift); endcorkchar; begincorkchar("U","umlaut",hex"DC",cap_accent_height_bis#,0); italcorr cork_ic[a]; complete_umlaut(lshift,rshift); endcorkchar; begincorkchar("U","long umlaut",hex"96",cap_accent_height#,0); italcorr cork_ic[a]; complete_long_umlaut(lshift,rshift); endcorkchar; begincorkchar("U","circ",hex"97",0.7cap_accent_height#,0); italcorr cork_ic[a]; pickup circle.nib; bot y4=tmp_h-eps; top y2=h+o; y0=y1=y3=0.5[y4,y2]; x0=x2=x4=0.5[apprl,w-apprr]; x1-x0=x0-x3; lft x3=hround(x0-0.5max(hThick+thin,3u+thin))-eps; draw superellipse(z1,z2,z3,z4,superness); labels(1,2,3,4,0); endcorkchar; begincorkchar("Y","acute",hex"DD",cap_accent_height#,0); italcorr cork_ic[a]; complete_acute(lshift,rshift); endcorkchar; begincorkchar("Y","umlaut",hex"98",cap_accent_height_bis#,0); italcorr cork_ic[a]; complete_umlaut(lshift,rshift); endcorkchar; begincorkchar("Z","acute",hex"99",cap_accent_height#,0); italcorr cork_ic[a]; complete_acute(lshift,rshift); endcorkchar; begincorkchar("Z","hacheck",hex"9A",cap_accent_height#,0); italcorr cork_ic[a]; complete_hacheck(lshift,rshift); endcorkchar; begincorkchar("Z","dot",hex"9B",cap_accent_height_bis#,0); italcorr cork_ic[a]; complete_dot(lshift,rshift); endcorkchar;