TrueTypeフォントファイルで定義されている実際のグリフを持つUnicode文字を自動的に確認する必要があります。どうすればいいですか?テキストエディタで.ttfファイルを開くときに表示される番号を理解する方法に関する情報が見つからないようです。
答え1
オルフェンについて有望に見えます:
-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合字(fl)を知っています。
$ otfinfo -u /usr/share/fonts/TTF/DejaVuSans-Bold.ttf |grep ^uniFB02
uniFB02 4899 fl
答え2
Pythonライブラリが見つかりました。フォントツール(ピピ)これはいくつかのPythonスクリプトを使って行うことができます。
以下は、指定された文字の外観を持つすべてのフォントを一覧表示する簡単なスクリプトです。
#!/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の10進数または16進数)で、残りは検索するフォントファイルです。
ファイルに対して機能するようにしようとしませんでした.ttc
(いくつかの追加パラメータが必要です)。
注:最初にotfinfoツールを試してみましたが、基本的な多言語単純文字(<= U + FFFF)のみを取得しました。 Pythonスクリプトは通常、拡張された一般的な文字を見つけることができます。
答え3
簡単に:
fc-match --format='%{charset}\n' "DejaVu Sans Mono"