This repository has been archived on 2025-10-02. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
inter-font/misc/tools/glyphcheck.py

45 lines
1 KiB
Python
Executable file

#!/usr/bin/env python
# encoding: utf8
import sys, argparse
from fontTools import ttLib
def main():
argparser = argparse.ArgumentParser(description='Check glyph names')
argparser.add_argument('fontfiles', metavar='<path>', type=str, nargs='+',
help='TrueType or OpenType font files')
args = argparser.parse_args()
nmissing = 0
matchnames = set()
for line in sys.stdin:
line = line.strip()
if len(line) > 0 and line[0] != '#':
for line2 in line.split():
line2 = line2.strip()
if len(line2) > 0:
matchnames.add(line2)
for fontfile in args.fontfiles:
font = ttLib.TTFont(fontfile)
glyphnames = set(font.getGlyphOrder())
# for name in glyphnames:
# if not name in matchnames:
# print('%s missing in input' % name)
for name in matchnames:
if not name in glyphnames:
print('%s missing in font' % name)
nmissing = nmissing + 1
if nmissing == 0:
print('all glyphs found')
if __name__ == '__main__':
main()