37 lines
935 B
Python
37 lines
935 B
Python
"""Set COLRv1 fontRevision from CBDT.
|
|
|
|
Used for bugfix, should fix to set properly on build instead.
|
|
"""
|
|
|
|
from fontTools import ttLib
|
|
from pathlib import Path
|
|
import sys
|
|
|
|
|
|
NAME_ID_VERSION = 5
|
|
|
|
|
|
def name(font, name_id):
|
|
return ",".join(n.toUnicode() for n in font["name"].names if n.isUnicode() and n.nameID == name_id)
|
|
|
|
|
|
def main():
|
|
colr_font_files = sorted(p for p in (Path(__file__).parent / "fonts").iterdir() if p.name.startswith("Noto-COLRv1"))
|
|
|
|
for colr_font_file in colr_font_files:
|
|
cbdt_font_file = colr_font_file.with_stem(colr_font_file.stem.replace("Noto-COLRv1", "NotoColorEmoji"))
|
|
|
|
colr_font = ttLib.TTFont(colr_font_file)
|
|
cbdt_font = ttLib.TTFont(cbdt_font_file)
|
|
|
|
assert "CBDT" in cbdt_font
|
|
assert "COLR" in colr_font
|
|
|
|
colr_font["head"].fontRevision = cbdt_font["head"].fontRevision
|
|
|
|
colr_font.save(colr_font_file)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|