Open
Description
Found from code examination:
There have been some changes to subfunctions of reading AC
format DISPLAYFONT
files, as well as in dealing with the "left kerning" information in FONTDESCRIPTOR
and CHARSETINFO
.
- In file
AFONT
, in\READACFONTFILE
when creating aCHARSETINFO
instance it calls theMACRO
\CREATEKERNELEMENT
(in the fileFONT
) to initialize theLEFTKERN
field. This macro was modified Dec 2024 to call theHELP
function to indicate a problem. It appears that the only reason this hasn't occurred, is thatAFONT
has not been recompiled since that change. - Also, although
\READACFONTFILE
does set values into theLEFTKERN
array, it doesn't return to\READDISPLAYFONTFILE
any indication that there is any kerning information, so that the(FONTDESCRIPTOR FONTHASLEFTKERNS)
flag can be set.\READDISPLAYFONTFILE
isn't expecting any such information. The flag remainsNIL
. - In the file
FONT
, theMACRO
\FSETLEFTKERN
andFNS
\FGETLEFTKERN
are not consistent in assuming the form of theLEFTKERN
field value.\FSETLEFTKERN
assumes it is anARRAY
(as in\READACFONTFILE
), while\FGETLEFTKERN
assumes it is an a-list (1 or 2 level). And, at that, in\FGETLEFTKERN
the arguments to one call ofFASSOC
are reversed.
Fortunately, in TEDIT-SCREEN
(apparently the only place that attempts kerning) it checks the (FONTDESCRIPTOR FONTHASLEFTKERNS)
flag, before attempting to use \FGETLEFTKERN
, so it hasn't blown up.
It appears that much of this code is half-converted from pre-Koto release that only supported ASCII.
See: (MEDLEYDIR "docs>internal>fontchars.tedit")
Metadata
Metadata
Assignees
Type
Projects
Status
No status