aboutsummaryrefslogtreecommitdiff
path: root/Tests/tfmLib/tfmLib_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/tfmLib/tfmLib_test.py')
-rw-r--r--Tests/tfmLib/tfmLib_test.py90
1 files changed, 90 insertions, 0 deletions
diff --git a/Tests/tfmLib/tfmLib_test.py b/Tests/tfmLib/tfmLib_test.py
new file mode 100644
index 00000000..ad74ed7f
--- /dev/null
+++ b/Tests/tfmLib/tfmLib_test.py
@@ -0,0 +1,90 @@
+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,
+ }