-
Enhancement
-
Resolution: Fixed
-
P4
-
6
-
b47
-
generic
-
generic
JDK verifies TrueType tables of fonts to isolate malformed font files.
JDK 1.5 has improved this significantly over JDK 1.4.
As a result some malformed font files are now quickly identified and rejected whereas
1.4 would use these when it perhaps should have been more circumspect.
This general policy of 1.5 is preferable to attempting to accommodating fonts which when
deficient in one respect are more likely to be deficient in other respects, discovered
only later. This contributes significantly to the robustness of 1.5 and we should
relax this only after some consideration. Such relaxation may also lead to a patchwork
of special cases littering the code to accomodate fonts which are simply malformed.
OSes such as the latest service packs of XP (SP2) are becoming increasingly stringent
in even allowing install of malformed fonts.
Having said all that :) it seems worth trying to perform some limited acceptance
of apparently malformed fonts in cases. Several fonts were supplied which all were
in The TrueType format and had a 'cmap' table in which the preferred (3,1)
subtable indicated a length which extended beyond the 'cmap' table.
In this case we can consider only the part that is contained by the 'cmap' and
largely handle the font.
JDK 1.5 has improved this significantly over JDK 1.4.
As a result some malformed font files are now quickly identified and rejected whereas
1.4 would use these when it perhaps should have been more circumspect.
This general policy of 1.5 is preferable to attempting to accommodating fonts which when
deficient in one respect are more likely to be deficient in other respects, discovered
only later. This contributes significantly to the robustness of 1.5 and we should
relax this only after some consideration. Such relaxation may also lead to a patchwork
of special cases littering the code to accomodate fonts which are simply malformed.
OSes such as the latest service packs of XP (SP2) are becoming increasingly stringent
in even allowing install of malformed fonts.
Having said all that :) it seems worth trying to perform some limited acceptance
of apparently malformed fonts in cases. Several fonts were supplied which all were
in The TrueType format and had a 'cmap' table in which the preferred (3,1)
subtable indicated a length which extended beyond the 'cmap' table.
In this case we can consider only the part that is contained by the 'cmap' and
largely handle the font.