どのフォントに特定の特殊文字が含まれているかを調べるにはどうすればよいですか?


19

Unicodeには、ほとんどのフォントでは表示できないいくつかの特別な「文字」が含まれています。そのうちの1つ、ビデオカメラを使いたいです。

そのようなキャラクターは実際に存在し、コードポイントU + 1F4F9を持っているようです。http://graphemica.com/%F0%9F%93%B9にアクセスすると、WebページとFirefoxのURLバーの両方に表示されます。したがって、グリフを含むシステム上に少なくとも1つのフォントがあると仮定します。

ビデオカメラのグリフを含むURLが正しく表示される

しかし、Inkscapeに貼り付けると、Arialのような多くのグリフを持つフォントを選択しても、未知の文字の空のボックスが表示されます。

インストールしたどのフォントが「文字」を表示できるかを調べるにはどうすればよいですか?


フォントが認識されない場合(空のボックスが表示される)、システムにフォントがインストールされていない可能性があります。したがって、使用する前にインストールする必要があります。
チャーリーRB

@CharlieRBフォントインストールされます。インストールされていないInkscapeのフォントを使用することはできません。この非常にまれなグリフはありません。
ルミP.

OK。あなたの質問でそれを明確にしたいかもしれません。フォントがインストールされていること。
チャーリーRB

1
Firefoxは、Windows 7およびそれ以前のバージョンでは独自のフォントを使用する場合があります。これらのシステムには絵文字用のフォントがないためです。フォントが<firefox>\fonts\EmojiOneMozilla.ttfグローバルにインストールされていない
-phuclv

ここで回答された同様の質問があります
-jdhao

回答:


12

このページをお試しください:www.Fileformat.info

http://www.fileformat.info/info/unicode/char/1f4f9/fontsupport.htm

そこで、Unicode文字を照会し、サポートするフォントのリストを取得できます。


1
また、そのページは、Flashプラグインを使用して、コンピューター上のフォントも検索できるようです。
yellowantphil

答えてくれてありがとう、私はVSの「Half OTF half TTF」サポートエラーの解決策を永遠に探していました。
テイラーズ

4

私が同じ問題にぶつかったとき、私は質問を完全に理解します:

あるプログラムはコンテンツを適切に表示するため、コンピューターにフォントがインストールされていますが、別のプログラムは適切に表示するために使用するフォントがわからないため、空白のボックスと同じコンテンツを表示します。また、すべてのフォントをスクロールして、必要な文字を含むフォントを見つける必要はありません。

コピーしたテキスト/シンボルを空のMicrosoft Wordドキュメントに貼り付けてみてください。Wordが貼り付けられたテキストに対して既定で[ソースの書式設定を保持する]に設定されている場合、コンテンツは適切に表示されます。その場合、コンテンツを選択すると、Wordフォントメニューに、必要な文字を含むコンピューター上のソースフォントが表示されます。確かに、他にもあるかもしれませんが、少なくともこれは、適切である可能性のある1つのフォントを見つけるための迅速で汚い方法です。


Linuxでは、Writerでも同じことが実現できます。
アーサーゼンニグ

4

次の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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.