The basics of Kerning. Discussion stuff not a finished program.
Three mcro modes required.
Set up Data file, Edit Data file, Write using Data file.
A random access file containing percentage data for character pairs.
Leading character = horisontal strings (hor column)
Following character = vertical column
A macro reading the file and adjusting distances.
;*** KERNING-TRY.GXM
MO,/VLC;
TZ,!,/VRL,0,$VAL;
/VST,0,ABCDUVWXYZ; test string here
.TESTAFOLLOWEDBYV;
/VST,1,A; find 'A' in test string
/STR,T,$S(0),$S(1),1; the Token string function
/VIN,1,$STR; the token function reveals the seq. number for 'A' in test string ("hor column")
/VST,2,V;
/STR,T,$S(0),$S(2),1; the Token string function
/VIN,2,$STR; the token function reveals the seq. number for 'V' in test string ("vert column")
.READFROMFILEABOVE; (not included here)
;;;/FRD,1,$I(1),/VST,11,$STR; read entry, number = for 'A'
/VST,11,A+100+100+100+100+100+075+100+100+100+100; this is the string that would be read
/SPLIT,$S(11),+,10; the Split string function on '+'.
/VRL,1,$S($I(2)+10); set the value for 'V' entry in string ("vert col")
/VRL,1,$R(0)*$R(1); adjust for text size
/VRL,1,$R(1)/100; divide for percentage value
TL,@,AV,#; unadjusted (non-kerned) text 'AV'
/VPT,1,LP;
TL,$X(1),$Y(1)-1.5*$R(0),$S(1),#; insert 'A' on next row
/VPT,1,LP;
TL,$X(1)+$R(1),$Y(1),$S(2),#; insert 'V' at kerned 0.75*distance read from file
/EXIT;