Unicodeには、ほとんどのフォントでは表示できないいくつかの特殊な「文字」が含まれています。そのうちのひとつ、ビデオカメラを使いたいです。
そのようなキャラクターは確かに存在し、コードポイントU + 1F4F9を持っているようです。 http://graphemica.com/%F0%9F%93%B9 にアクセスすると、WebページとFirefoxのURLバーの両方に表示されます。そのため、グリフを含むフォントがシステムに少なくとも1つあると想定しています。
しかし、それをInkscapeに貼り付けると、Arialのように通常多くのグリフを持つフォントを選択しても、不明な文字の空のボックスが表示されます。
インストールしたどのフォントが「文字」を表示できるかを知るにはどうすればよいですか?
このページを試してください:www.Fileformat.info
http://www.fileformat.info/info/unicode/char/1f4f9/fontsupport.htm
そこで、Unicode文字を照会して、サポートするフォントのリストを取得できます。
次のPythonスクリプトは、文字を含むすべてのフォントを印刷します(私のLinuxボックスでテスト済み)。
import unicodedata
import os
fonts = []
for root,dirs,files in os.walk("/usr/share/fonts/"):
for file in files:
if file.endswith(".ttf"): fonts.append(os.path.join(root,file))
from fontTools.ttLib import TTFont
def char_in_font(unicode_char, font):
for cmap in font['cmap'].tables:
if cmap.isUnicode():
if ord(unicode_char) in cmap.cmap:
return True
return False
def test(char):
for fontpath in fonts:
font = TTFont(fontpath) # specify the path to the font in question
if char_in_font(char, font):
print(char + " "+ unicodedata.name(char) + " in " + fontpath)
test(u"????")
test(u"????")
私のマシンでは、これは次のようになります:
???? SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed.ttf
???? SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf
???? SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
???? SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed-Bold.ttf
???? SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf
???? SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed-Oblique.ttf
???? SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed-BoldOblique.ttf
???? SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-BoldOblique.ttf
???? SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/dejavu/DejaVuSansCondensed.ttf
???? SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
???? SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
???? SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/dejavu/DejaVuSansCondensed-Bold.ttf
???? SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
???? SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/dejavu/DejaVuSansCondensed-Oblique.ttf
???? SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/dejavu/DejaVuSansCondensed-BoldOblique.ttf
???? SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
???? CAT in /usr/share/fonts/truetype/noto/NotoSansSymbols2-Regular.ttf
自分で同じ問題に遭遇したとき、私は質問を完全に理解しました:
1つのプログラムがコンテンツを正しく表示するため、コンピューターにフォントがインストールされていることを知っていますが、別のプログラムは、適切に表示するために使用するフォントがわからないため、同じコンテンツを空白のボックスとして表示します。また、すべてのフォントをスクロールして、必要な文字が含まれているフォントを探す必要はありません。
コピーしたテキスト/シンボルを空白のMicrosoft Wordドキュメントに貼り付けてみてください。 Wordが貼り付けられたテキストのデフォルトで[ソースのフォーマットを維持]に設定されている場合、コンテンツは正しく表示されます。その場合、コンテンツを選択すると、Wordフォントメニューに、必要な文字を含むコンピューター上のソースフォントが表示されます。確かに、他にもあるかもしれませんが、少なくともこれは、適切なフォントをすばやく簡単に見つける方法です。