% % These parameters define a 10-point 'Welsh W' glyph. % It has been designed to blend (somewhat) well with % the Computer Modern Roman 10-point typeface. % font_size 10pt#; asc_height#:=250/36pt#; % ascender height x_height#:=155/36pt#; % x-height desc_depth#:=70/36pt#; % descender depth u#:=18/36pt#; % basic unit of width o#:=1/20pt#; % curve adjustment below baseline boldness:=0.7; pentilt:=25; % pen slantiness mode_setup; em#:=17u#; % M-width thick#:=2u#*boldness; % width of vertical stems thin#:=0.3thick#; % width of thin curved segments define_pixels(em,x_height,asc_height,desc_depth,u,o); define_blacker_pixels(thin,thick); % Create the pens we'll use for all our work clear_pen_memory; pickup pencircle xscaled thick yscaled thin rotated pentilt; oval.nib := savepen; pickup pensquare xscaled thick yscaled thin rotated pentilt; rect.nib := savepen; beginchar("w",9.5u#,asc_height#,0); "Welsh w"; pickup oval.nib; rt x1=w-u; top y1=x_height; lft x3=u; y3=.5x_height; x2=.5[x1,x3]; bot y2=-o; pickup rect.nib; top y4=h; z4=z1+whatever * dir (90+pentilt); z3d=(x3-x2,1.5*y3-y2); path ovpath; ovpath = z1..{-dir pentilt}z2..tension 2.0..{dir (90+pentilt)}z3 ..{dir pentilt}z4; pickup oval.nib; draw ovpath; pickup rect.nib; draw point 3 of ovpath; endchar; font_slant 0; font_normal_space 1/3em#; font_normal_stretch 1/9em#; font_normal_shrink 1/12em#; font_x_height x_height#; font_quad em#; font_extra_space 0;