aboutsummaryrefslogtreecommitdiff
path: root/Tests/ttLib/sfnt_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/ttLib/sfnt_test.py')
-rw-r--r--Tests/ttLib/sfnt_test.py39
1 files changed, 38 insertions, 1 deletions
diff --git a/Tests/ttLib/sfnt_test.py b/Tests/ttLib/sfnt_test.py
index 9f817444..7832a2ff 100644
--- a/Tests/ttLib/sfnt_test.py
+++ b/Tests/ttLib/sfnt_test.py
@@ -1,9 +1,25 @@
import io
import copy
import pickle
-from fontTools.ttLib.sfnt import calcChecksum, SFNTReader
+import tempfile
+from fontTools.ttLib import TTFont
+from fontTools.ttLib.sfnt import calcChecksum, SFNTReader, WOFFFlavorData
+from pathlib import Path
import pytest
+TEST_DATA = Path(__file__).parent / "data"
+
+
+@pytest.fixture
+def ttfont_path():
+ font = TTFont()
+ font.importXML(TEST_DATA / "TestTTF-Regular.ttx")
+ with tempfile.NamedTemporaryFile(suffix=".ttf", delete=False) as fp:
+ font_path = Path(fp.name)
+ font.save(font_path)
+ yield font_path
+ font_path.unlink()
+
def test_calcChecksum():
assert calcChecksum(b"abcd") == 1633837924
@@ -57,3 +73,24 @@ class SFNTReaderTest:
if k == "file":
continue
assert getattr(reader2, k) == v
+
+
+def test_ttLib_sfnt_write_privData(tmp_path, ttfont_path):
+ output_path = tmp_path / "TestTTF-Regular.woff"
+ font = TTFont(ttfont_path)
+
+ privData = "Private Eyes".encode()
+
+ data = WOFFFlavorData()
+ head = font["head"]
+ data.majorVersion, data.minorVersion = map(
+ int, format(head.fontRevision, ".3f").split(".")
+ )
+
+ data.privData = privData
+ font.flavor = "woff"
+ font.flavorData = data
+ font.save(output_path)
+
+ assert output_path.exists()
+ assert TTFont(output_path).flavorData.privData == privData