Add warning log

This commit is contained in:
Miguel Sousa 2022-08-30 09:16:00 -07:00
parent 0e9c48e6ab
commit a2efac012c
2 changed files with 6 additions and 1 deletions

View File

@ -493,6 +493,7 @@ class TTFont(object):
# Can happen when 'post' format 1 is improperly used on a font that
# has more than 258 glyphs (the lenght of 'standardGlyphOrder').
#
log.warning("'post' table format 1 discarded; font has more than 258 glyphs")
self._getGlyphNamesFromCmap()
else:
self.glyphOrder = glyphOrder

View File

@ -144,11 +144,15 @@ def test_setGlyphOrder_also_updates_glyf_glyphOrder():
assert font["glyf"].glyphOrder == new_order
def test_getGlyphOrder_not_true_post_format_1():
def test_getGlyphOrder_not_true_post_format_1(caplog):
# https://github.com/fonttools/fonttools/issues/2736
caplog.set_level("WARNING")
font = TTFont(os.path.join(DATA_DIR, "bogus_post_format_1.ttf"))
hmtx = font["hmtx"]
assert len(hmtx.metrics) > len(standardGlyphOrder)
log_rec = caplog.records[-1]
assert log_rec.levelname == "WARNING"
assert "'post' table format 1 discarded" in log_rec.message
@pytest.mark.parametrize("lazy", [None, True, False])