fontforge
たとえば、特定のフォントでサポートされているすべてのシンボルのリストをすばやく取得するなど、処理できるCLIコマンドやその他のものがありますか?
それは次のとおりです。
$the_command_I_am_ looking_for与えられたfont.ttf abcdefghijklmnopqrstuvwxyzabcdefghgghijklmnopqrstuvwxyzaβΔeεζters з πρστυφχε数は¢〜〜××× ~ ₦ ₦ ₨ ₫ ₫ € ₭ ₮ ₲ ₲ ₺ ₺ ₼ ₽ ₴ ₴ $฿ ₵ ₠ リール a/~`| _-,; :! '() [) [) [) [) [) [) [) ]{}@$\&#%+¶‡†‽ $
どのような方法がありますか?
答え1
Fontconfigを介してLinuxで利用可能なフォント(ほとんどすべて)。
通常、フォントとUnicodeで発生する2つの関連する問題があります。
グリフ(実際にはUnicodeコードポイント)をレンダリング(含む)できるフォントを一覧表示します。
fc-list :charset=1f63f | less # all installed fonts that have 1f63f
答え2
TrueTypeフォントの場合は、次のものを使用できます。ttfdump
ユーティリティは以下で利用できます。TeXlive。
ttfdump -t cmap -i /usr/share/fonts/truetype/freefont/FreeSerif.ttf |
perl -CS -ne 'print chr(hex($1)) if /Char (0x[[:xdigit:]]+)/ and hex($1) != 0xffff; END {print "\n"}'
実験的に、これはU + FFFFの下のコードポイントのみをリストするようです。これがバグなのかttfdump
、それとも別の飛行機に到達するのに必要な追加作業のためかはわかりません。
サポートされているすべてのフォントの場合無料タイピング、Freetypeライブラリはこの情報を提供しますが、それを照会する既知のコマンドラインユーティリティはないようです。以下は、次を使用する1行です。手描き-py利用可能なPythonバインディングですpip3 install --user freetype-py
。
python3 -c 'import freetype, sys; stdout = open(1, mode="w", encoding="utf8"); face = freetype.Face(sys.argv[1]); stdout.write("".join(sorted([chr(c) for c, g in face.get_chars() if c]) + ["\n"]))' /usr/share/fonts/truetype/freefont/FreeSerif.ttf