답변:
파이썬 라이브러리, fonttools ( pypi )를 발견하여 약간의 파이썬 스크립팅으로 사용할 수 있습니다.
다음은 글리프를 지정한 모든 글꼴을 나열하는 간단한 스크립트입니다.
#!/usr/bin/env python3
from fontTools.ttLib import TTFont
import sys
char = int(sys.argv[1], base=0)
print("Looking for U+%X (%c)" % (char, chr(char)))
for arg in sys.argv[2:]:
try:
font = TTFont(arg)
for cmap in font['cmap'].tables:
if cmap.isUnicode():
if char in cmap.cmap:
print("Found in", arg)
break
except Exception as e:
print("Failed to read", arg)
print(e)
첫 번째 인수는 코드 포인트 (십진수 또는 0x의 16 진수)이고 나머지는 찾아 볼 글꼴 파일입니다.
.ttc
파일에서 작동하도록 신경 쓰지 않았습니다 (어딘가에 추가 매개 변수가 필요함).
참고 : 나는 먼저 otfinfo 도구를 시도했지만 기본 다국어 비행기 문자 (<= U + FFFF) 만 얻었습니다. 파이썬 스크립트는 확장 평면 문자를 확인합니다.
otfinfo 는 유망한 것으로 보입니다.
-u, --unicode
Print each Unicode code point supported by the font, followed by
the glyph number representing that code point (and, if present,
the name of the corresponding glyph).
예를 들어 DejaVuSans-Bold는 fl ligature (FL)에 대해 알고 있습니다.
$ otfinfo -u /usr/share/fonts/TTF/DejaVuSans-Bold.ttf |grep ^uniFB02
uniFB02 4899 fl
-u
옵션은에 나타나지 --help
않지만 여전히 존재하는 것 같습니다. 그러나 (적어도 데비안 2.105 빌드에서는) 기본 비행기 (U + FFFF까지) 만 나열하는 것 같습니다. 이 -g
옵션은 확장 평면에 대해 알고 있지만 모든 글꼴에서 작동하지는 않습니다.