FontPrinter: PressReader.FontEntryProc = {
texDesignSize: REAL ← -1.0;
log.PutRope["Family name: "];
log.PutRope[fontDirectoryEntry.family];
IF fontDirectoryEntry.face.encoding < 18
THEN {
log.PutF["\n Face: %g == Weight: %g, Slope: %g, Expansion: %g",
IO.int[fontDirectoryEntry.face.encoding],
IO.rope[
SELECT fontDirectoryEntry.face.weight
FROM
medium => "medium",
bold => "bold",
light => "light",
ENDCASE => ERROR],
IO.rope[
SELECT fontDirectoryEntry.face.slope
FROM
regular => "regular",
italic => "italic",
ENDCASE => ERROR],
IO.rope[
SELECT fontDirectoryEntry.face.expansion
FROM
regular => "regular",
condensed => "condensed",
expanded => "expanded",
ENDCASE => ERROR]];
}
ELSE {
texDesignSize ← (254.0-fontDirectoryEntry.face.encoding)/2.0;
log.PutF["\n Face: %g == TEX design size %g",
IO.int[fontDirectoryEntry.face.encoding],
IO.real[texDesignSize]
];
};
log.PutF["\n Size: %g", IO.int[fontDirectoryEntry.size]];
IF texDesignSize>0
AND fontDirectoryEntry.size<0.0
THEN {
magnification: REAL ← -fontDirectoryEntry.size*72.27/(2540*texDesignSize);
magnification ← Real.RoundLI[magnification*100]/100.0;
log.PutF[" (magnification %g)", IO.real[magnification]];
};
log.PutF["\n Rotation: %g\n", IO.int[fontDirectoryEntry.rotation]];
}; -- FontPrinter