fonttools/Tests/tfmLib/tfmLib_test.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

91 lines
2.5 KiB
Python
Raw Permalink Normal View History

import glob
import os
import pytest
from fontTools import tfmLib
DATA_DIR = os.path.join(os.path.dirname(__file__), "data")
@pytest.mark.parametrize("path", glob.glob(f"{DATA_DIR}/cm*.tfm"))
def test_read(path):
tfm = tfmLib.TFM(path)
assert tfm.designsize == 10.0
assert tfm.fontdimens
assert len(tfm.fontdimens) >= 7
assert tfm.extraheader == {}
assert tfm.right_boundary_char is None
assert tfm.left_boundary_char is None
assert len(tfm.chars) == 128
def test_read_boundary_char():
path = os.path.join(DATA_DIR, "dummy-space.tfm")
tfm = tfmLib.TFM(path)
assert tfm.right_boundary_char == 1
assert tfm.left_boundary_char == 256
def test_read_fontdimens_vanilla():
path = os.path.join(DATA_DIR, "cmr10.tfm")
tfm = tfmLib.TFM(path)
assert tfm.fontdimens == {
"SLANT": 0.0,
"SPACE": 0.33333396911621094,
"STRETCH": 0.16666698455810547,
"SHRINK": 0.11111164093017578,
"XHEIGHT": 0.4305553436279297,
"QUAD": 1.0000028610229492,
"EXTRASPACE": 0.11111164093017578,
}
def test_read_fontdimens_mathex():
path = os.path.join(DATA_DIR, "cmex10.tfm")
tfm = tfmLib.TFM(path)
assert tfm.fontdimens == {
"SLANT": 0.0,
"SPACE": 0.0,
"STRETCH": 0.0,
"SHRINK": 0.0,
"XHEIGHT": 0.4305553436279297,
"QUAD": 1.0000028610229492,
"EXTRASPACE": 0.0,
"DEFAULTRULETHICKNESS": 0.03999900817871094,
"BIGOPSPACING1": 0.11111164093017578,
"BIGOPSPACING2": 0.16666698455810547,
"BIGOPSPACING3": 0.19999980926513672,
"BIGOPSPACING4": 0.6000003814697266,
"BIGOPSPACING5": 0.10000038146972656,
}
def test_read_fontdimens_mathsy():
path = os.path.join(DATA_DIR, "cmsy10.tfm")
tfm = tfmLib.TFM(path)
assert tfm.fontdimens == {
"SLANT": 0.25,
"SPACE": 0.0,
"STRETCH": 0.0,
"SHRINK": 0.0,
"XHEIGHT": 0.4305553436279297,
"QUAD": 1.0000028610229492,
"EXTRASPACE": 0.0,
"NUM1": 0.6765079498291016,
"NUM2": 0.39373207092285156,
"NUM3": 0.44373130798339844,
"DENOM1": 0.6859512329101562,
"DENOM2": 0.34484100341796875,
"SUP1": 0.41289234161376953,
"SUP2": 0.36289215087890625,
"SUP3": 0.28888893127441406,
"SUB1": 0.14999961853027344,
"SUB2": 0.24721717834472656,
"SUBDROP": 0.05000019073486328,
"SUPDROP": 0.3861083984375,
"DELIM1": 2.3899993896484375,
"DELIM2": 1.010000228881836,
"AXISHEIGHT": 0.25,
}