フォントの文字一覧表示

フォントの文字一覧表示
2025/09/25

 絵文字とされる文字コードの中にも、実装されているものもあればされていないものもあり、 ブラウザ、OS によって表示されたりされなかったり、さまざまです。 使える絵文字とはそもそも何なのか? そう考えたとき、配布されているフォントファイルから、 全文字を取り出してみるのが一番合理的ではないかと考えました。


 そうしたフォントファイル中でも、AppleColorEmoji.ttf は代表的なものです。 あとはそこから全ての文字コードと、フォントそれ自体を取り出せれば目的は達成されます。

 そうした作業に適しているプログラミング言語は Python です。 準備としてまず、モジュールをダウンロードし、使えるようにしておきます。

$ pip install fonttools

 ついで、次のようなファイル get_all_chars.py を作成します。

from fontTools.ttLib import TTFont

def display_all_font_characters(font_path):
    try:
        # フォントファイルを読み込む
        font = TTFont(font_path)

        # 最適なcmap (Character Map)を取得する
        # cmapはUnicodeコードポイントとグリフ名の対応表
        cmap = font.getBestCmap()

        # cmapからUnicodeコードポイントを取得し、文字に変換して表示する
        print(f"フォントファイル '{font_path}' に含まれる文字一覧:")
        characters = []
        for code_point in sorted(cmap.keys()):
            try:
                # Unicodeコードポイントを文字に変換
                char = chr(code_point)
                characters.append(char)
            except ValueError:
                # 無効なコードポイントはスキップ
                continue
        
        # 1行にまとめて表示
        print("".join(characters))
        
    except Exception as e:
        print(f"エラーが発生しました: {e}")

# 使用例: フォントファイルを指定して実行
# 'NotoSans-Regular.ttf'を、お手元のフォントファイルのパスに置き換えてください。
font_file_path = "AppleColorEmoji.ttf"
display_all_font_characters(font_file_path)

 実行には次のようにします。

$ python get_all_chars.py > chars.txt

 結果は chars.txt に utf-8 で出力するので、それを読みにいけばいいです。 関係ない文字も含まれるのでそれを除き、HTML の実体参照を加えたのが Apple カラー絵文字一覧です。

フォントの文字一覧表示

コメント  記事が気に入ったらいいねしてね! 0  21  

Facebookシェア   
絵文字とされる文字コードの中にも、実装されているものもあればされていないものもあり、ブラウザ、OS によってさまざま。一番わかりいいのはフォントの文字一覧を表示してみることだ...
Ubuntu でデフォルトの Noto Color Emoji より AppleのApple Color Emoji が美しく、導入手順としてフォント登録とキャッシュクリア後に適用可能。Microsoft の Segoe UI Emoji も同様に利用できる...
WebページでOSごとに異なる絵文字を美しく表示するには、CSSでSegoe UI EmojiやNoto Color Emojiなど環境別絵文字フォントを優先指定し、bold指定を外すなど工夫が必要...