%
% Tune things up so Linotronic output looks more like the APS-5. Pull this file
% into dpost output using the -C option. To get the best looking output run dpost
% with the -e2 option and use special font files that look like the APS tables but
% have character codes (ie. the fourth column in the width tables) appropriate for
% PostScript fonts. Widths in these tables must be for APS fonts!
%
% Start with fat versions of the stroked Courier and Courier-Oblique fonts - from
% Johnathan Shopiro.
%

/newdict /Courier findfont length dict def
/Courier findfont {
	1 index /FID ne
		{newdict 3 1 roll put}
		{pop pop}
	ifelse
} forall
newdict /StrokeWidth 65 put
/Courier newdict definefont pop

/newdict /Courier-Oblique findfont length dict def
/Courier-Oblique findfont {
	1 index /FID ne
		{newdict 3 1 roll put}
		{pop pop}
	ifelse
} forall
newdict /StrokeWidth 65 put
/Courier-Oblique newdict definefont pop

%
% Scaled down versions of the Helvetica font family.
%

/newdict /Helvetica findfont length dict def
/Helvetica findfont {
	1 index /FontMatrix eq {.922 .922 matrix scale matrix concatmatrix} if

	1 index /FID ne
		{newdict 3 1 roll put}
		{pop pop}
	ifelse
} forall
/Helvetica newdict definefont pop

/newdict /Helvetica-Oblique findfont length dict def
/Helvetica-Oblique findfont {
	1 index /FontMatrix eq {.922 .922 matrix scale matrix concatmatrix} if

	1 index /FID ne
		{newdict 3 1 roll put}
		{pop pop}
	ifelse
} forall
/Helvetica-Oblique newdict definefont pop

/newdict /Helvetica-Bold findfont length dict def
/Helvetica-Bold findfont {
	1 index /FontMatrix eq {.922 .922 matrix scale matrix concatmatrix} if

	1 index /FID ne
		{newdict 3 1 roll put}
		{pop pop}
	ifelse
} forall
/Helvetica-Bold newdict definefont pop

/newdict /Helvetica-BoldOblique findfont length dict def
/Helvetica-BoldOblique findfont {
	1 index /FontMatrix eq {.922 .922 matrix scale matrix concatmatrix} if

	1 index /FID ne
		{newdict 3 1 roll put}
		{pop pop}
	ifelse
} forall
/Helvetica-BoldOblique newdict definefont pop

%
% Scaled up versions of the Times font family.
%

/newdict /Times-Roman findfont length dict def
/Times-Roman findfont {
	1 index /FontMatrix eq {1.0225 1.0225 matrix scale matrix concatmatrix} if

	1 index /FID ne
		{newdict 3 1 roll put}
		{pop pop}
	ifelse
} forall
/Times-Roman newdict definefont pop

/newdict /Times-Italic findfont length dict def
/Times-Italic findfont {
	1 index /FontMatrix eq {1.0225 1.0225 matrix scale matrix concatmatrix} if

	1 index /FID ne
		{newdict 3 1 roll put}
		{pop pop}
	ifelse
} forall
/Times-Italic newdict definefont pop

/newdict /Times-Bold findfont length dict def
/Times-Bold findfont {
	1 index /FontMatrix eq {1.0225 1.0225 matrix scale matrix concatmatrix} if

	1 index /FID ne
		{newdict 3 1 roll put}
		{pop pop}
	ifelse
} forall
/Times-Bold newdict definefont pop

/newdict /Times-BoldItalic findfont length dict def
/Times-BoldItalic findfont {
	1 index /FontMatrix eq {1.0225 1.0225 matrix scale matrix concatmatrix} if

	1 index /FID ne
		{newdict 3 1 roll put}
		{pop pop}
	ifelse
} forall
/Times-BoldItalic newdict definefont pop

