mirror of
https://github.com/ryanoasis/nerd-fonts.git
synced 2024-12-19 20:12:52 +02:00
6d86114a38
DO NOT MERGE [why] A lot of the fonts have incorrect naming after patching. A completely different approach can help to come up with a consistent naming scheme. [how] See bin/scripts/name-parser/README.md Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
36 lines
808 B
Python
36 lines
808 B
Python
#!/usr/bin/env python
|
|
# coding=utf8
|
|
|
|
import fontforge
|
|
import sys
|
|
|
|
def get_sfnt_dict(font):
|
|
"""Extract SFNT table as nice dict"""
|
|
return { k: v for l, k, v in font.sfnt_names }
|
|
|
|
if len(sys.argv) < 2 or len(sys.argv) > 3:
|
|
print("Usage: {} [<sfnt-name>] font_name\n".format(sys.argv[0]))
|
|
sys.exit(1)
|
|
|
|
if len(sys.argv) == 2:
|
|
fname = sys.argv[1]
|
|
sname = None
|
|
else:
|
|
fname = sys.argv[2]
|
|
sname = sys.argv[1]
|
|
|
|
font = fontforge.open(fname)
|
|
sfnt = get_sfnt_dict(font)
|
|
font.close()
|
|
|
|
if sname:
|
|
for key in sname.split(','):
|
|
if key in sfnt:
|
|
print("SFNT {:20.20} is {:80.80}".format(key, '\'' + sfnt[key] + '\''));
|
|
else:
|
|
print("SFNT {:20.20} is not set".format(key));
|
|
else:
|
|
for k in sfnt:
|
|
print("{:20.20} {:80.80}".format(k, sfnt[k]))
|
|
|