% The Computer Modern Roman family of fonts (by D. E. Knuth, 1979--1985) % Modified for Double Stroke Characters (by Olaf Kummer, 1995) % This file was renamed from {\tt roman.mf} to {\tt dsrom.mf} % and modified for double stroke characters by Olaf Kummer, 1995. % The parameters doublestroke_curvedist and doublestroke_twist % were added by Olaf Kummer, 1996. % Version 1.0 mode_setup; font_setup; % New parameters if unknown doublestroke_thin#: doublestroke_thin#:=cap_hair#; fi if unknown doublestroke_thick#: doublestroke_thick#:=cap_stem#; fi if unknown doublestroke_dist#: doublestroke_dist#:=0.9cap_stem#; fi if unknown doublestroke_curvedist#: doublestroke_curvedist#:=1.1cap_stem#; fi if unknown doublestroke_twist: boolean doublestroke_twist; doublestroke_twist:=serifs; fi % Calculate new parameters define_whole_blacker_pixels(doublestroke_thick,doublestroke_thin); define_whole_pixels(doublestroke_dist,doublestroke_curvedist); % Add new macros % Fit stroke to curve def curve_stroke(suffix @)(expr xpos,width,patha,pathb) = x@1l=x@2l=xpos=x@1r-width=x@2r-width; y@1l=y@1r=2h; y@2l=y@2r=-h; z@3=(patha)intersectionpoint(z@1l..z@2l); z@4=(pathb)intersectionpoint(z@1l..z@2l); z@5=(pathb)intersectionpoint(z@1r..z@2r); z@6=(patha)intersectionpoint(z@1r..z@2r); fill z@3--z@4--z@5--z@6--cycle; enddef; input dsromu; % upper case (majuscules) input dsromo; % other characters bye.