home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD2.bin / bbs / text / pastex-1.3-7of9.lha / PasTeX / MF / inputs / dc / dxrlwest.mf < prev    next >
Text File  |  1994-04-12  |  50KB  |  1,127 lines

  1. % This is DXRLWEST.MF in text format, as of March 24, 1992
  2. %
  3. % DC fonts Version 1.1 (prerelease of EC fonts)
  4. %
  5. %          [ heavily borrowed from the Computer Modern Roman family of
  6. %            fonts by D. E. Knuth ]
  7. %
  8. % Content:
  9. %
  10. %   lowercase accented letters ("western part")
  11. %
  12. %   oct"340" .. oct"377"
  13. %
  14. %       oct"340"    a with gravis
  15. %       oct"341"    a with acute
  16. %       oct"342"    a with circumflex
  17. %       oct"343"    a with hacek
  18. %       oct"344"    a with hacek
  19. %       oct"345"    a with hacek
  20. %       oct"346"    ae
  21. %       oct"347"    c with cedile
  22. %
  23. %       oct"350"    e with gravis
  24. %       oct"351"    e with acute
  25. %       oct"352"    e with circumflex
  26. %       oct"353"    e with umlauts
  27. %       oct"354"    i with gravis
  28. %       oct"355"    i with acute
  29. %       oct"356"    i with circumflex
  30. %       oct"357"    i with umlaut
  31. %
  32. %       oct"360"    eth (island) d-
  33. %       oct"361"    n with tilde
  34. %       oct"362"    o with gravis
  35. %       oct"363"    o with acute
  36. %       oct"364"    o with circumflex
  37. %       oct"365"    o with tilde
  38. %       oct"366"    o with umlaut
  39. %       oct"367"    oe
  40. %
  41. %       oct"370"    o with  /
  42. %       oct"371"    u with gravis
  43. %       oct"372"    u with acute
  44. %       oct"373"    u with circumflex
  45. %       oct"374"    u with umlaut
  46. %       oct"375"    y with acute
  47. %       oct"376"    thorn
  48. %       oct"377"    eszett
  49.  
  50. dcchar "The letter gravis a";
  51. beginchar(oct"340",9u#,x_height#+acc_height#,0);
  52. bh#:=min(bar_height#,1.14x_height#-bar_height#); define_pixels(bh);
  53. italcorr 1/3[bh#,x_height#]*slant+.5stem#-serif_fit#-2u#;
  54. adjust_fit(0,serif_fit# if serifs: if hair#+.5stem#>1.5u#:-.25u# fi\\fi);
  55. pickup fine.nib; top y3r=x_height+vround 1.5oo;
  56. if serifs: pos1(flare,180); pos2(hair,180);
  57.  pos3(vair,90);  lft x1r=hround max(u,2.1u-.5flare); x3=.5w-.5u;
  58.  y1=min(bh+.5flare+2vair+2,.9[bh,x_height]-.5flare);
  59.  bulb(3,2,1);  % bulb
  60. else: pos1(5/7[vair,flare],95); x1l=good.x 1.5u; x1r:=good.x x1r;
  61.  pos3(1/8[vair,thin_join],90);
  62.  x3=.5w-.2u; top y1r=vround .82[bh,top y3r];
  63.  filldraw stroke term.e(3,1,left,.9,4); fi  % terminal
  64. pos4(stem,0); rt x4r=hround(w-2.5u+.5stem); y4=1/3[bh,x_height];
  65. pos5(stem,0); x5=x4; y5=max(.55bh,2vair);
  66. filldraw stroke super_arc.e(3,4)&z4e..z5e;  % arc and stem
  67. pos6(.3[thin_join,vair],90); x6=x4; bot y6=bh;
  68. pos7(hround(curve-2stem_corr),180);
  69. lft x7r=hround max(.5u,1.5u-.5curve); y7=1/3[top y8l,top y6r];
  70. pos8(vair,270); x8l=.5w-.75u; bot y8r=-oo;
  71. pos9(thin_join,360); z9l=z5l;
  72. (x,y8r)=whatever[z8l,z9l]; x8r:=max(x,x8-u);
  73. {{interim superness:=more_super;
  74.  filldraw stroke z9e{down}...z8e{left}...{up}z7e&super_arc.e(7,6)}}; % bowl
  75. if serifs: numeric shaved_stem; shaved_stem=hround(stem-3stem_corr);
  76.  if hair#+.5stem#>1.5u#: pickup tiny.nib;
  77.   pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
  78.   pos10(shaved_stem,0); x10=x5'; y10=.2[.5tiny,bh];
  79.   pos11(shaved_stem,0); rt x11r=hround(w-.25u); bot y11=0;
  80.   pos12(shaved_stem,0); x11=x12; top y12=slab+eps;
  81.   filldraw z5'l---z10l...z11l{right}--z11r
  82.    --z12r{left}...z10r+.75(z12-z11)---z5'r--cycle;  % foot
  83.  else: pickup crisp.nib; pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
  84.   pos10(shaved_stem,0); x10=x5'; y10=1/3bh;
  85.   pos11(.2[vair,stem],90); x11r=.5[x10r,x12r]; bot y11l=-vround .5oo;
  86.   pos12(hair,180); rt x12l=hround(w-.1u); y12=max(y10,y11+vair);
  87.   pos13(hair,180); x13=x12; top y13=max(vround .6bh,top y12);
  88.   (x',y11l)=whatever[z11r,z12r]; x11l:=max(x',x10);
  89.   filldraw stroke z5'e---z10e...z11e{right}...z12e---z13e; fi  % hook
  90. else: numeric shaved_stem; shaved_stem=hround(stem-stem_corr);
  91.  pickup tiny.nib; pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
  92.  pos10(shaved_stem,0); x10=x5'; bot y10=0;
  93.  filldraw stroke z5'e--z10e; fi  % base of stem
  94. % the accent
  95. lowercase_gravis(u,0,14,15);
  96. penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); endchar;
  97.  
  98. dcchar "The letter acute a";
  99. beginchar(oct"341",9u#,x_height#+acc_height#,0);
  100. bh#:=min(bar_height#,1.14x_height#-bar_height#); define_pixels(bh);
  101. italcorr 1/3[bh#,x_height#]*slant+.5stem#-serif_fit#-2u#;
  102. adjust_fit(0,serif_fit# if serifs: if hair#+.5stem#>1.5u#:-.25u# fi\\fi);
  103. pickup fine.nib; top y3r=x_height+vround 1.5oo;
  104. if serifs: pos1(flare,180); pos2(hair,180);
  105.  pos3(vair,90);  lft x1r=hround max(u,2.1u-.5flare); x3=.5w-.5u;
  106.  y1=min(bh+.5flare+2vair+2,.9[bh,x_height]-.5flare);
  107.  bulb(3,2,1);  % bulb
  108. else: pos1(5/7[vair,flare],95); x1l=good.x 1.5u; x1r:=good.x x1r;
  109.  pos3(1/8[vair,thin_join],90);
  110.  x3=.5w-.2u; top y1r=vround .82[bh,top y3r];
  111.  filldraw stroke term.e(3,1,left,.9,4); fi  % terminal
  112. pos4(stem,0); rt x4r=hround(w-2.5u+.5stem); y4=1/3[bh,x_height];
  113. pos5(stem,0); x5=x4; y5=max(.55bh,2vair);
  114. filldraw stroke super_arc.e(3,4)&z4e..z5e;  % arc and stem
  115. pos6(.3[thin_join,vair],90); x6=x4; bot y6=bh;
  116. pos7(hround(curve-2stem_corr),180);
  117. lft x7r=hround max(.5u,1.5u-.5curve); y7=1/3[top y8l,top y6r];
  118. pos8(vair,270); x8l=.5w-.75u; bot y8r=-oo;
  119. pos9(thin_join,360); z9l=z5l;
  120. (x,y8r)=whatever[z8l,z9l]; x8r:=max(x,x8-u);
  121. {{interim superness:=more_super;
  122.  filldraw stroke z9e{down}...z8e{left}...{up}z7e&super_arc.e(7,6)}}; % bowl
  123. if serifs: numeric shaved_stem; shaved_stem=hround(stem-3stem_corr);
  124.  if hair#+.5stem#>1.5u#: pickup tiny.nib;
  125.   pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
  126.   pos10(shaved_stem,0); x10=x5'; y10=.2[.5tiny,bh];
  127.   pos11(shaved_stem,0); rt x11r=hround(w-.25u); bot y11=0;
  128.   pos12(shaved_stem,0); x11=x12; top y12=slab+eps;
  129.   filldraw z5'l---z10l...z11l{right}--z11r
  130.    --z12r{left}...z10r+.75(z12-z11)---z5'r--cycle;  % foot
  131.  else: pickup crisp.nib; pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
  132.   pos10(shaved_stem,0); x10=x5'; y10=1/3bh;
  133.   pos11(.2[vair,stem],90); x11r=.5[x10r,x12r]; bot y11l=-vround .5oo;
  134.   pos12(hair,180); rt x12l=hround(w-.1u); y12=max(y10,y11+vair);
  135.   pos13(hair,180); x13=x12; top y13=max(vround .6bh,top y12);
  136.   (x',y11l)=whatever[z11r,z12r]; x11l:=max(x',x10);
  137.   filldraw stroke z5'e---z10e...z11e{right}...z12e---z13e; fi  % hook
  138. else: numeric shaved_stem; shaved_stem=hround(stem-stem_corr);
  139.  pickup tiny.nib; pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
  140.  pos10(shaved_stem,0); x10=x5'; bot y10=0;
  141.  filldraw stroke z5'e--z10e; fi  % base of stem
  142. % the accent
  143. lowercase_acute(0,0,14,15);
  144. penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); endchar;
  145.  
  146. dcchar "The letter circumflex a";
  147. beginchar(oct"342",9u#,x_height#+acc_height#,0);
  148. bh#:=min(bar_height#,1.14x_height#-bar_height#); define_pixels(bh);
  149. italcorr 1/3[bh#,x_height#]*slant+.5stem#-serif_fit#-2u#;
  150. adjust_fit(0,serif_fit# if serifs: if hair#+.5stem#>1.5u#:-.25u# fi\\fi);
  151. pickup fine.nib; top y3r=x_height+vround 1.5oo;
  152. if serifs: pos1(flare,180); pos2(hair,180);
  153.  pos3(vair,90);  lft x1r=hround max(u,2.1u-.5flare); x3=.5w-.5u;
  154.  y1=min(bh+.5flare+2vair+2,.9[bh,x_height]-.5flare);
  155.  bulb(3,2,1);  % bulb
  156. else: pos1(5/7[vair,flare],95); x1l=good.x 1.5u; x1r:=good.x x1r;
  157.  pos3(1/8[vair,thin_join],90);
  158.  x3=.5w-.2u; top y1r=vround .82[bh,top y3r];
  159.  filldraw stroke term.e(3,1,left,.9,4); fi  % terminal
  160. pos4(stem,0); rt x4r=hround(w-2.5u+.5stem); y4=1/3[bh,x_height];
  161. pos5(stem,0); x5=x4; y5=max(.55bh,2vair);
  162. filldraw stroke super_arc.e(3,4)&z4e..z5e;  % arc and stem
  163. pos6(.3[thin_join,vair],90); x6=x4; bot y6=bh;
  164. pos7(hround(curve-2stem_corr),180);
  165. lft x7r=hround max(.5u,1.5u-.5curve); y7=1/3[top y8l,top y6r];
  166. pos8(vair,270); x8l=.5w-.75u; bot y8r=-oo;
  167. pos9(thin_join,360); z9l=z5l;
  168. (x,y8r)=whatever[z8l,z9l]; x8r:=max(x,x8-u);
  169. {{interim superness:=more_super;
  170.  filldraw stroke z9e{down}...z8e{left}...{up}z7e&super_arc.e(7,6)}}; % bowl
  171. if serifs: numeric shaved_stem; shaved_stem=hround(stem-3stem_corr);
  172.  if hair#+.5stem#>1.5u#: pickup tiny.nib;
  173.   pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
  174.   pos10(shaved_stem,0); x10=x5'; y10=.2[.5tiny,bh];
  175.   pos11(shaved_stem,0); rt x11r=hround(w-.25u); bot y11=0;
  176.   pos12(shaved_stem,0); x11=x12; top y12=slab+eps;
  177.   filldraw z5'l---z10l...z11l{right}--z11r
  178.    --z12r{left}...z10r+.75(z12-z11)---z5'r--cycle;  % foot
  179.  else: pickup crisp.nib; pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
  180.   pos10(shaved_stem,0); x10=x5'; y10=1/3bh;
  181.   pos11(.2[vair,stem],90); x11r=.5[x10r,x12r]; bot y11l=-vround .5oo;
  182.   pos12(hair,180); rt x12l=hround(w-.1u); y12=max(y10,y11+vair);
  183.   pos13(ha