const maxletters = 150; type currentletter = array [0..64] of char; C = (x,y); XandYval = array [x..y] of real; var new , fillexist : boolean; lastfill : char; { marks last kind of filling stroke, fill or erase } ans : char; dict : 0..1; { 1 ==> creating dictionary } direction : char; { for optimization of connected ( horizontals, verticals ) lines. } lastwasline : boolean; { true if last line in the beffer} erasein : boolean; { marks existing of path to be erased } fout : packed array [1..15] of char; { output file name } curletter : currentletter; all_letters : array [1..maxletters] of currentletter; all_ascii : array [1..maxletters] of integer; all_metrics : array [1..maxletters] of integer; { holds the width of each letter } no_of_letter : integer; name_length : integer; minbox,maxbox : XandYval; lmin_x,lmax_x : real; { local min and max for each letter } doscale : XandYval; dotranslate : XandYval; needtransform : boolean; { true if cur_box <> 0,1000 } procedure send_p_s(x0,y0,x1,y1,x2,y2,x3,y3:integer);external;