各プラットフォーム事にメジャーな等幅フォントのメタデータを調べてみた

[PR: CADDiではバックエンドエンジニア、フロントエンジニア、アルゴリズムエンジニア、SRE等などを募集しています](https://corp.caddi.jp/recruit/eng)。

# いきなりまとめ

ほとんどの日本語をカバーするフォントは、和文における文字の幅は1emである。これに対し、ほとんどの等幅フォントの文字の幅は0.6emである。このため、多くのフォントでは和文5文字と欧文3文字が同じ幅になる。

和文1文字と欧文2文字が対応する著名なフォントは現実的にはInconsolataのみ。

Noto Sans Mono ExtraCondensedは文字の幅が0.5emである。CSSで`font-stretch`を指定することでこれを利用できる。しかしながら、Electronを用いたエディターですら、ほとんどが`font-stretch`をサポートしないため、エディター上で和文と欧文が混在する場合、Noto Sans Monoは適さない。（そもそもフォントファミリ毎に異なる`Width class`に対応するフォントを使用したい場合、`@font-face`のサポートが必須である）

また、[Roboto Monoは通常体の字幅イタリック体の字幅が等しくない](https://qiita.com/agate-pris/items/c702929345773259b9b6)。

各プラットフォームでプレインストールされている（ことが多い）フォントは以下の通り。

|Platform |Fonts
|:------- |:----
|Android  |Droid Sans Mono, Cutive Mono
|Linux    |Liberation Mono, Bitstream Vera Sans Mono, DejaVu Sans Mono
|Windows  |Consolas, Courier New, Lucida Console
|iOS      |Menlo, Courier New, Courier
|macOS    |Menlo, Courier New, PT Mono, Monaco, Courier, Andale Mono

驚くべきことにRoboto MonoはAndroidにプリインストールされていない。

# 調査方法

各プラットフォーム毎にAFDKOをインストールし、`ttx`コマンドでメタデータを取得する。

[GitHub - adobe-type-tools/afdko: Adobe Font Development Kit for OpenType](https://github.com/adobe-type-tools/afdko)

```run-ttx-linux.sh
#!/bin/bash
fd VeraMo /usr/share/fonts | while read file_path
do
    file_name=$(echo $file_path | sd '.*/' '')
    ttx -o "./ttx/$file_name.ttx" "$file_path"
done

fd DejaVuSansMono /usr/share/fonts | while read file_path
do
    file_name=$(echo $file_path | sd '.*/' '')
    ttx -o "./ttx/$file_name.ttx" "$file_path"
done

fd LiberationMono /usr/share/fonts | while read file_path
do
    file_name=$(echo $file_path | sd '.*/' '')
    ttx -o "./ttx/$file_name.ttx" "$file_path"
done
```

```run-ttx-mac.sh
#!/bin/bash
ttx -o ./Courier.dfont.ttx /System/Library/Fonts/Courier.dfont
ttx -y 0 -o ./Menlo.ttc.0.ttx /System/Library/Fonts/Menlo.ttc
ttx -y 1 -o ./Menlo.ttc.1.ttx /System/Library/Fonts/Menlo.ttc
ttx -y 2 -o ./Menlo.ttc.2.ttx /System/Library/Fonts/Menlo.ttc
ttx -y 3 -o ./Menlo.ttc.3.ttx /System/Library/Fonts/Menlo.ttc
ttx -o ./Monaco.dfont.ttx /System/Library/Fonts/Monaco.dfont
ttx -o './Andale Mono.ttf.ttx' '/Library/Fonts/Andale Mono.ttf'
fd Courier '/Library/Fonts' | while read file_path
do
    file_name=$(echo $file_path | sd '.*/' '')
    ttx -o "./ttx/$file_name.ttx" "$file_path"
done
ttx -y 0 -o ./PTMono.ttc.0.ttx /Library/Fonts/PTMono.ttc
ttx -y 1 -o ./PTMono.ttc.1.ttx /Library/Fonts/PTMono.ttc
fd SFMono /Applications/Utilities/Terminal.app/Contents/Resources/Fonts/ | while read file_path
do
    file_name=$(echo $file_path | sd '.*/' '')
    ttx -o "./ttx/$file_name.ttx" "$file_path"
done
```

```run-ttx-others.sh
#!/bin/bash
ttx -o ./ttx/DroidSansMono.ttf.ttx ./base-refs_heads_master-data-fonts/DroidSansMono.ttf
fd otf ~/github/googlefonts/Inconsolata/fonts/otf | while read file_path
do
    file_name=$(echo $file_path | sd '.*/' '')
    ttx -o "./ttx/$file_name.ttx" "$file_path"
done
fd MonoCJKjp ~/github/googlefonts/noto-cjk | while read file_path
do
    file_name=$(echo $file_path | sd '.*/' '')
    ttx -o "./ttx/$file_name.ttx" "$file_path"
done
fd Mono ~/github/googlefonts/noto-fonts/phaseIII_only/unhinted/otf | while read file_path
do
    file_name=$(echo $file_path | sd '.*/' '')
    ttx -o "./ttx/$file_name.ttx" "$file_path"
done
fd CutiveMono ~/github/google/fonts | while read file_path
do
    file_name=$(echo $file_path | sd '.*/' '')
    ttx -o "./ttx/$file_name.ttx" "$file_path"
done
fd FiraCode- ~/github/google/fonts | while read file_path
do
    file_name=$(echo $file_path | sd '.*/' '')
    ttx -o "./ttx/$file_name.ttx" "$file_path"
done
fd RobotoMono ~/github/google/fonts | while read file_path
do
    file_name=$(echo $file_path | sd '.*/' '')
    ttx -o "./ttx/$file_name.ttx" "$file_path"
done
fd SourceCodePro ~/github/google/fonts | while read file_path
do
    file_name=$(echo $file_path | sd '.*/' '')
    ttx -o "./ttx/$file_name.ttx" "$file_path"
done
fd otf ./fonts/source-han-code-jp-2.011R/OTF | while read file_path
do
    file_name=$(echo $file_path | sd '.*/' '')
    ttx -o "./ttx/$file_name.ttx" "$file_path"
done
fd ttf ~/Downloads/JetBrainsMono-1.0.0 | while read file_path
do
    file_name=$(echo $file_path | sd '.*/' '')
    ttx -o "./ttx/$file_name.ttx" "$file_path"
done
```

```run-ttx-windows.ps1
ttx -o "./ttx/consola.ttx" "C:\Windows\Fonts\consola.ttf"
ttx -o "./ttx/consolab.ttx" "C:\Windows\Fonts\consolab.ttf"
ttx -o "./ttx/consolai.ttx" "C:\Windows\Fonts\consolai.ttf"
ttx -o "./ttx/consolaz.ttx" "C:\Windows\Fonts\consolaz.ttf"
ttx -o "./ttx/lucon.ttx" "C:\Windows\Fonts\lucon.ttf"
```

```make-table.sh
#!/bin/bash
echo "|Font Family name |Font Subfamily name |Full font name |PostScript name |Typographic Family name |Typographic Subfamily name |Weight class |Width class |M width |unitsPerEm"
echo "|:--------------- |:------------------ |:------------- |:-------------- |:---------------------- |:------------------------- |-----------: |----------: |------: |:---------"
fd --path-separator='\\' '.*\.ttx' . | while read line
do
  # echo $line
  font_family_name=$(rg -A 2 '<namerecord nameID="1"' "$line" | sed -n '2 p' | sd '^\s*' '')
  font_subfamily_name=$(rg -A 2 '<namerecord nameID="2"' "$line" | sed -n '2 p' | sd '^\s*' '')
  full_font_name=$(rg -A 2 '<namerecord nameID="4"' "$line" | sed -n '2 p' | sd '^\s*' '')
  post_script_name=$(rg -A 2 '<namerecord nameID="6"' "$line" | sed -n '2 p' | sd '^\s*' '')
  typographic_family_name=$(rg -A 2 '<namerecord nameID="16"' "$line" | sed -n '2 p' | sd '^\s*' '')
  typographic_subfamily_name=$(rg -A 2 '<namerecord nameID="17"' "$line" | sed -n '2 p' | sd '^\s*' '')
  us_weight_class=$(rg 'usWeightClass' "$line" | sd '.*value="' '' | sd '"/>' '')
  us_width_class=$(rg 'usWidthClass' "$line" | sd '.*value="' '' | sd '"/>' '')
  m_map=$(rg '<map code="0x4d"' "$line" | sed -n '1 p' | sd '.*name="' '' | sd '".*' '')
  m_width=$(rg '<mtx name="'$m_map'".*width' "$line" | sd '.*width="' '' | sd '".*' '')
  units_per_em=$(rg '<unitsPerEm' "$line" | sd '.*value="' '' | sd '".*' '' )
  echo "|$font_family_name |$font_subfamily_name |$full_font_name |$post_script_name |$typographic_family_name |$typographic_subfamily_name |$us_weight_class |$us_width_class |$m_width |$units_per_em"
done
```

`fd`には必要に応じて`--path-separator`を指定すること。主にWindowsで`'\\'`を指定する。

# 参考文献

- [font-stretch - CSS: カスケーディングスタイルシート | MDN](https://developer.mozilla.org/ja/docs/Web/CSS/font-stretch)
- [東アジアの文字幅 - Wikipedia](https://ja.wikipedia.org/wiki/%E6%9D%B1%E3%82%A2%E3%82%B8%E3%82%A2%E3%81%AE%E6%96%87%E5%AD%97%E5%B9%85)
- [Microsoft Typography - Typography | Microsoft Docs](https://docs.microsoft.com/en-us/typography/)
    - [name - Naming table specification - Typography | Microsoft Docs](https://docs.microsoft.com/en-us/typography/opentype/spec/name)
    - [OS/2 - OS/2 and Windows metrics table specification - Typography | Microsoft Docs](https://docs.microsoft.com/en-us/typography/opentype/spec/os2#fstype)
    - [IBM Font Class Parameters - Typography | Microsoft Docs](https://docs.microsoft.com/en-us/typography/opentype/spec/ibmfc)
    - [Recommendations for OpenType Fonts - Typography | Microsoft Docs](https://docs.microsoft.com/en-us/typography/opentype/spec/recom#name-table)
- [Refs - platform/frameworks/base - Git at Google](https://android.googlesource.com/platform/frameworks/base/+refs)
    - [refs/heads/master - platform/frameworks/base - Git at Google](https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master)
        - [data/fonts/fonts.xml - platform/frameworks/base - Git at Google](https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/data/fonts/fonts.xml#78)
    - [refs/tags/android-5.0.0_r1 - platform/frameworks/base - Git at Google](https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-5.0.0_r1)
        - [data/fonts/fonts.xml - platform/frameworks/base - Git at Google](https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-5.0.0_r1/data/fonts/fonts.xml#70)
- [System Fonts - Fonts - Apple Developer](https://developer.apple.com/fonts/system-fonts/)
- [Apple サポート 公式サイト](https://support.apple.com/ja-jp)
    - [macOS Sierra に組み込まれているフォント - Apple サポート](https://support.apple.com/ja-jp/HT206872)
    - [macOS High Sierra に組み込まれているフォント - Apple サポート](https://support.apple.com/ja-jp/HT207962)
    - [macOS Mojave に組み込まれているフォント - Apple サポート](https://support.apple.com/ja-jp/HT208968)
    - [macOS Catalina に組み込まれているフォント - Apple サポート](https://support.apple.com/ja-jp/HT210192)
- [アドビ ヘルプセンター](https://helpx.adobe.com/jp/support.html)
    - [Windows 10 によってインストールされるフォント](https://helpx.adobe.com/jp/x-productkb/global/cq08041028.html)
    - [Windows 8.1 によってインストールされるフォント](https://helpx.adobe.com/jp/x-productkb/global/cq013018331.html)
    - [Windows 8 によってインストールされるフォント](https://helpx.adobe.com/jp/x-productkb/global/cq01301833.html)
    - [Windows 7 によってインストールされるフォント](https://helpx.adobe.com/jp/x-productkb/global/236469.html)

# データシート

|Font Family name |Font Subfamily name |Full font name |PostScript name |Typographic Family name |Typographic Subfamily name |Weight class |Width class |M width |unitsPerEm
|:--------------- |:------------------ |:------------- |:-------------- |:---------------------- |:------------------------- |-----------: |----------: |------: |:---------
|Andale Mono |Regular |Andale Mono |AndaleMono | | |400 |5 |1229 |2048
|Courier New |Bold Italic |Courier New Bold Italic |CourierNewPS-BoldItalicMT | | |700 |5 |1229 |2048
|Courier New |Bold |Courier New Bold |CourierNewPS-BoldMT | | |700 |5 |1229 |2048
|Courier New |Italic |Courier New Italic |CourierNewPS-ItalicMT | | |400 |5 |1229 |2048
|Courier New |Regular |Courier New |CourierNewPSMT | | |400 |5 |1229 |2048
|Courier |Regular |Courier |Courier | | | | |1229 |2048
|Cutive Mono |Regular |Cutive Mono Regular |CutiveMono-Regular | | |400 |5 |1240 |2048
|DejaVu Sans Mono |Bold |DejaVu Sans Mono Bold |DejaVuSansMono-Bold | | |700 |5 |1233 |2048
|DejaVu Sans Mono |Bold Oblique |DejaVu Sans Mono Bold Oblique |DejaVuSansMono-BoldOblique | | |700 |5 |1233 |2048
|DejaVu Sans Mono |Oblique |DejaVu Sans Mono Oblique |DejaVuSansMono-Oblique | | |400 |5 |1233 |2048
|DejaVu Sans Mono |Book |DejaVu Sans Mono |DejaVuSansMono | | |400 |5 |1233 |2048
|Droid Sans Mono |Regular |Droid Sans Mono |DroidSansMono | | |400 |5 |1229 |2048
|Fira Code |Bold |Fira Code Bold |FiraCode-Bold | | |700 |5 |1200 |2000
|Fira Code Light |Regular |Fira Code Light |FiraCode-Light |Fira Code |Light |300 |5 |1200 |2000
|Fira Code Medium |Regular |Fira Code Medium |FiraCode-Medium |Fira Code |Medium |500 |5 |1200 |2000
|Fira Code |Regular |Fira Code Regular |FiraCode-Regular | | |400 |5 |1200 |2000
|Fira Code Retina |Regular |Fira Code Retina |FiraCode-Retina |Fira Code |Retina |450 |5 |1200 |2000
|Inconsolata Black |Regular |Inconsolata Black |Inconsolata-Black |Inconsolata |Black |900 |5 |500 |1000
|Inconsolata |Bold |Inconsolata Bold |Inconsolata-Bold | | |700 |5 |500 |1000
|Inconsolata Condensed |Regular |Inconsolata Condensed |Inconsolata-Condensed |Inconsolata |Condensed |400 |3 |400 |1000
|Inconsolata Condensed Black |Regular |Inconsolata Condensed Black |Inconsolata-CondensedBlack |Inconsolata |Condensed Black |900 |3 |400 |1000
|Inconsolata Condensed Bold |Regular |Inconsolata Condensed Bold |Inconsolata-CondensedBold |Inconsolata |Condensed Bold |700 |3 |400 |1000
|Inconsolata Condensed ExtraBold |Regular |Inconsolata Condensed ExtraBold |Inconsolata-CondensedExtraBold |Inconsolata |Condensed ExtraBold |800 |3 |400 |1000
|Inconsolata Condensed ExtraLight |Regular |Inconsolata Condensed ExtraLight |Inconsolata-CondensedExtraLight |Inconsolata |Condensed ExtraLight |275 |3 |400 |1000
|Inconsolata Condensed Light |Regular |Inconsolata Condensed Light |Inconsolata-CondensedLight |Inconsolata |Condensed Light |300 |3 |400 |1000
|Inconsolata Condensed Medium |Regular |Inconsolata Condensed Medium |Inconsolata-CondensedMedium |Inconsolata |Condensed Medium |500 |3 |400 |1000
|Inconsolata Condensed SemiBold |Regular |Inconsolata Condensed SemiBold |Inconsolata-CondensedSemiBold |Inconsolata |Condensed SemiBold |600 |3 |400 |1000
|Inconsolata Expanded |Regular |Inconsolata Expanded |Inconsolata-Expanded |Inconsolata |Expanded |400 |7 |600 |1000
|Inconsolata Expanded Black |Regular |Inconsolata Expanded Black |Inconsolata-ExpandedBlack |Inconsolata |Expanded Black |900 |7 |600 |1000
|Inconsolata Expanded Bold |Regular |Inconsolata Expanded Bold |Inconsolata-ExpandedBold |Inconsolata |Expanded Bold |700 |7 |600 |1000
|Inconsolata Expanded ExtraBold |Regular |Inconsolata Expanded ExtraBold |Inconsolata-ExpandedExtraBold |Inconsolata |Expanded ExtraBold |800 |7 |600 |1000
|Inconsolata Expanded ExtraLight |Regular |Inconsolata Expanded ExtraLight |Inconsolata-ExpandedExtraLight |Inconsolata |Expanded ExtraLight |275 |7 |600 |1000
|Inconsolata Expanded Light |Regular |Inconsolata Expanded Light |Inconsolata-ExpandedLight |Inconsolata |Expanded Light |300 |7 |600 |1000
|Inconsolata Expanded Medium |Regular |Inconsolata Expanded Medium |Inconsolata-ExpandedMedium |Inconsolata |Expanded Medium |500 |7 |600 |1000
|Inconsolata Expanded SemiBold |Regular |Inconsolata Expanded SemiBold |Inconsolata-ExpandedSemiBold |Inconsolata |Expanded SemiBold |600 |7 |600 |1000
|Inconsolata ExtraBold |Regular |Inconsolata ExtraBold |Inconsolata-ExtraBold |Inconsolata |ExtraBold |800 |5 |500 |1000
|Inconsolata Extra Condensed |Regular |Inconsolata Extra Condensed |Inconsolata-ExtraCondensed |Inconsolata |Extra Condensed |400 |2 |350 |1000
|Inconsolata Extra Condensed Black |Regular |Inconsolata Extra Condensed Black |Inconsolata-ExtraCondensedBlack |Inconsolata |Extra Condensed Black |900 |2 |350 |1000
|Inconsolata Extra Condensed Bold |Regular |Inconsolata Extra Condensed Bold |Inconsolata-ExtraCondensedBold |Inconsolata |Extra Condensed Bold |700 |2 |350 |1000
|Inconsolata Extra Condensed ExtraBold |Regular |Inconsolata Extra Condensed ExtraBold |Inconsolata-ExtraCondensedExtraBold |Inconsolata |Extra Condensed ExtraBold |800 |2 |350 |1000
|Inconsolata Extra Condensed ExtraLight |Regular |Inconsolata Extra Condensed ExtraLight |Inconsolata-ExtraCondensedExtraLight |Inconsolata |Extra Condensed ExtraLight |275 |2 |350 |1000
|Inconsolata Extra Condensed Light |Regular |Inconsolata Extra Condensed Light |Inconsolata-ExtraCondensedLight |Inconsolata |Extra Condensed Light |300 |2 |350 |1000
|Inconsolata Extra Condensed Medium |Regular |Inconsolata Extra Condensed Medium |Inconsolata-ExtraCondensedMedium |Inconsolata |Extra Condensed Medium |500 |2 |350 |1000
|Inconsolata Extra Condensed SemiBold |Regular |Inconsolata Extra Condensed SemiBold |Inconsolata-ExtraCondensedSemiBold |Inconsolata |Extra Condensed SemiBold |600 |2 |350 |1000
|Inconsolata Extra Expanded |Regular |Inconsolata Extra Expanded |Inconsolata-ExtraExpanded |Inconsolata |Extra Expanded |400 |8 |750 |1000
|Inconsolata Extra Expanded Black |Regular |Inconsolata Extra Expanded Black |Inconsolata-ExtraExpandedBlack |Inconsolata |Extra Expanded Black |900 |8 |750 |1000
|Inconsolata Extra Expanded Bold |Regular |Inconsolata Extra Expanded Bold |Inconsolata-ExtraExpandedBold |Inconsolata |Extra Expanded Bold |700 |8 |750 |1000
|Inconsolata Extra Expanded ExtraBold |Regular |Inconsolata Extra Expanded ExtraBold |Inconsolata-ExtraExpandedExtraBold |Inconsolata |Extra Expanded ExtraBold |800 |8 |750 |1000
|Inconsolata Extra Expanded ExtraLight |Regular |Inconsolata Extra Expanded ExtraLight |Inconsolata-ExtraExpandedExtraLight |Inconsolata |Extra Expanded ExtraLight |275 |8 |750 |1000
|Inconsolata Extra Expanded Light |Regular |Inconsolata Extra Expanded Light |Inconsolata-ExtraExpandedLight |Inconsolata |Extra Expanded Light |300 |8 |750 |1000
|Inconsolata Extra Expanded Medium |Regular |Inconsolata Extra Expanded Medium |Inconsolata-ExtraExpandedMedium |Inconsolata |Extra Expanded Medium |500 |8 |750 |1000
|Inconsolata Extra Expanded SemiBold |Regular |Inconsolata Extra Expanded SemiBold |Inconsolata-ExtraExpandedSemiBold |Inconsolata |Extra Expanded SemiBold |600 |8 |750 |1000
|Inconsolata ExtraLight |Regular |Inconsolata ExtraLight |Inconsolata-ExtraLight |Inconsolata |ExtraLight |275 |5 |500 |1000
|Inconsolata Light |Regular |Inconsolata Light |Inconsolata-Light |Inconsolata |Light |300 |5 |500 |1000
|Inconsolata Medium |Regular |Inconsolata Medium |Inconsolata-Medium |Inconsolata |Medium |500 |5 |500 |1000
|Inconsolata |Regular |Inconsolata Regular |Inconsolata-Regular | | |400 |5 |500 |1000
|Inconsolata |Regular |Inconsolata Regular |Inconsolata-Regular | | |400 |5 |500 |1000
|Inconsolata SemiBold |Regular |Inconsolata SemiBold |Inconsolata-SemiBold |Inconsolata |SemiBold |600 |5 |500 |1000
|Inconsolata Semi Condensed |Regular |Inconsolata Semi Condensed |Inconsolata-SemiCondensed |Inconsolata |Semi Condensed |400 |4 |450 |1000
|Inconsolata Semi Condensed Black |Regular |Inconsolata Semi Condensed Black |Inconsolata-SemiCondensedBlack |Inconsolata |Semi Condensed Black |900 |4 |450 |1000
|Inconsolata Semi Condensed Bold |Regular |Inconsolata Semi Condensed Bold |Inconsolata-SemiCondensedBold |Inconsolata |Semi Condensed Bold |700 |4 |450 |1000
|Inconsolata Semi Condensed ExtraBold |Regular |Inconsolata Semi Condensed ExtraBold |Inconsolata-SemiCondensedExtraBold |Inconsolata |Semi Condensed ExtraBold |800 |4 |450 |1000
|Inconsolata Semi Condensed ExtraLight |Regular |Inconsolata Semi Condensed ExtraLight |Inconsolata-SemiCondensedExtraLight |Inconsolata |Semi Condensed ExtraLight |275 |4 |450 |1000
|Inconsolata Semi Condensed Light |Regular |Inconsolata Semi Condensed Light |Inconsolata-SemiCondensedLight |Inconsolata |Semi Condensed Light |300 |4 |450 |1000
|Inconsolata Semi Condensed Medium |Regular |Inconsolata Semi Condensed Medium |Inconsolata-SemiCondensedMedium |Inconsolata |Semi Condensed Medium |500 |4 |450 |1000
|Inconsolata Semi Condensed SemiBold |Regular |Inconsolata Semi Condensed SemiBold |Inconsolata-SemiCondensedSemiBold |Inconsolata |Semi Condensed SemiBold |600 |4 |450 |1000
|Inconsolata Semi Expanded |Regular |Inconsolata Semi Expanded |Inconsolata-SemiExpanded |Inconsolata |Semi Expanded |400 |6 |550 |1000
|Inconsolata Semi Expanded Black |Regular |Inconsolata Semi Expanded Black |Inconsolata-SemiExpandedBlack |Inconsolata |Semi Expanded Black |900 |6 |550 |1000
|Inconsolata Semi Expanded Bold |Regular |Inconsolata Semi Expanded Bold |Inconsolata-SemiExpandedBold |Inconsolata |Semi Expanded Bold |700 |6 |550 |1000
|Inconsolata Semi Expanded ExtraBold |Regular |Inconsolata Semi Expanded ExtraBold |Inconsolata-SemiExpandedExtraBold |Inconsolata |Semi Expanded ExtraBold |800 |6 |550 |1000
|Inconsolata Semi Expanded ExtraLight |Regular |Inconsolata Semi Expanded ExtraLight |Inconsolata-SemiExpandedExtraLight |Inconsolata |Semi Expanded ExtraLight |275 |6 |550 |1000
|Inconsolata Semi Expanded Light |Regular |Inconsolata Semi Expanded Light |Inconsolata-SemiExpandedLight |Inconsolata |Semi Expanded Light |300 |6 |550 |1000
|Inconsolata Semi Expanded Medium |Regular |Inconsolata Semi Expanded Medium |Inconsolata-SemiExpandedMedium |Inconsolata |Semi Expanded Medium |500 |6 |550 |1000
|Inconsolata Semi Expanded SemiBold |Regular |Inconsolata Semi Expanded SemiBold |Inconsolata-SemiExpandedSemiBold |Inconsolata |Semi Expanded SemiBold |600 |6 |550 |1000
|Inconsolata Ultra Condensed |Regular |Inconsolata Ultra Condensed |Inconsolata-UltraCondensed |Inconsolata |Ultra Condensed |400 |1 |250 |1000
|Inconsolata Ultra Condensed Black |Regular |Inconsolata Ultra Condensed Black |Inconsolata-UltraCondensedBlack |Inconsolata |Ultra Condensed Black |900 |1 |250 |1000
|Inconsolata Ultra Condensed Bold |Regular |Inconsolata Ultra Condensed Bold |Inconsolata-UltraCondensedBold |Inconsolata |Ultra Condensed Bold |700 |1 |250 |1000
|Inconsolata Ultra Condensed ExtraBold |Regular |Inconsolata Ultra Condensed ExtraBold |Inconsolata-UltraCondensedExtraBold |Inconsolata |Ultra Condensed ExtraBold |800 |1 |250 |1000
|Inconsolata Ultra Condensed ExtraLight |Regular |Inconsolata Ultra Condensed ExtraLight |Inconsolata-UltraCondensedExtraLight |Inconsolata |Ultra Condensed ExtraLight |275 |1 |250 |1000
|Inconsolata Ultra Condensed Light |Regular |Inconsolata Ultra Condensed Light |Inconsolata-UltraCondensedLight |Inconsolata |Ultra Condensed Light |300 |1 |250 |1000
|Inconsolata Ultra Condensed Medium |Regular |Inconsolata Ultra Condensed Medium |Inconsolata-UltraCondensedMedium |Inconsolata |Ultra Condensed Medium |500 |1 |250 |1000
|Inconsolata Ultra Condensed SemiBold |Regular |Inconsolata Ultra Condensed SemiBold |Inconsolata-UltraCondensedSemiBold |Inconsolata |Ultra Condensed SemiBold |600 |1 |250 |1000
|Inconsolata Ultra Expanded |Regular |Inconsolata Ultra Expanded |Inconsolata-UltraExpanded |Inconsolata |Ultra Expanded |400 |9 |1000 |1000
|Inconsolata Ultra Expanded Black |Regular |Inconsolata Ultra Expanded Black |Inconsolata-UltraExpandedBlack |Inconsolata |Ultra Expanded Black |900 |9 |1000 |1000
|Inconsolata Ultra Expanded Bold |Regular |Inconsolata Ultra Expanded Bold |Inconsolata-UltraExpandedBold |Inconsolata |Ultra Expanded Bold |700 |9 |1000 |1000
|Inconsolata Ultra Expanded ExtraBold |Regular |Inconsolata Ultra Expanded ExtraBold |Inconsolata-UltraExpandedExtraBold |Inconsolata |Ultra Expanded ExtraBold |800 |9 |1000 |1000
|Inconsolata Ultra Expanded ExtraLight |Regular |Inconsolata Ultra Expanded ExtraLight |Inconsolata-UltraExpandedExtraLight |Inconsolata |Ultra Expanded ExtraLight |275 |9 |1000 |1000
|Inconsolata Ultra Expanded Light |Regular |Inconsolata Ultra Expanded Light |Inconsolata-UltraExpandedLight |Inconsolata |Ultra Expanded Light |300 |9 |1000 |1000
|Inconsolata Ultra Expanded Medium |Regular |Inconsolata Ultra Expanded Medium |Inconsolata-UltraExpandedMedium |Inconsolata |Ultra Expanded Medium |500 |9 |1000 |1000
|Inconsolata Ultra Expanded SemiBold |Regular |Inconsolata Ultra Expanded SemiBold |Inconsolata-UltraExpandedSemiBold |Inconsolata |Ultra Expanded SemiBold |600 |9 |1000 |1000
|JetBrains Mono |Bold Italic |JetBrains Mono Bold Italic |JetBrainsMono-BoldItalic | | |700 |5 |600 |1000
|JetBrains Mono |Bold |JetBrains Mono Bold |JetBrainsMono-Bold | | |700 |5 |600 |1000
|JetBrains Mono ExtraBold |Italic |JetBrains Mono ExtBd Ita |JetBrainsMono-ExtraBoldItalic |JetBrains Mono |Extra Bold Italic |800 |5 |600 |1000
|JetBrains Mono ExtraBold |Regular |JetBrains Mono Extra Bold |JetBrainsMono-ExtraBold |JetBrains Mono |Extra Bold |800 |5 |600 |1000
|JetBrains Mono |Italic |JetBrains Mono Italic |JetBrainsMono-Italic | | |400 |5 |600 |1000
|JetBrains Mono Medium |Italic |JetBrains Mono Medium Italic |JetBrainsMono-MediumItalic |JetBrains Mono |Medium Italic |500 |5 |600 |1000
|JetBrains Mono Medium |Regular |JetBrains Mono Medium |JetBrainsMono-Medium |JetBrains Mono |Medium |500 |5 |600 |1000
|JetBrains Mono |Regular |JetBrains Mono Regular |JetBrainsMono-Regular | | |400 |5 |600 |1000
|Liberation Mono |Bold |Liberation Mono Bold |LiberationMono-Bold | | |700 |5 |1229 |2048
|Liberation Mono |Bold Italic |Liberation Mono Bold Italic |LiberationMono-BoldItalic | | |700 |5 |1229 |2048
|Liberation Mono |Italic |Liberation Mono Italic |LiberationMono-Italic | | |400 |5 |1229 |2048
|Liberation Mono |Regular |Liberation Mono |LiberationMono | | |400 |5 |1229 |2048
|Ligconsolata |Bold |Ligconsolata Bold |Ligconsolata-Bold | | |700 |5 |500 |1000
|Ligconsolata |Regular |Ligconsolata Regular |Ligconsolata-Regular | | |400 |5 |500 |1000
|Menlo |Regular |Menlo Regular |Menlo-Regular | | |400 |5 |1233 |2048
|Menlo |Bold |Menlo Bold |Menlo-Bold | | |700 |5 |1233 |2048
|Menlo |Italic |Menlo Italic |Menlo-Italic | | |400 |5 |1233 |2048
|Menlo |Bold Italic |Menlo Bold Italic |Menlo-BoldItalic | | |700 |5 |1233 |2048
|Monaco |Regular |Monaco |Monaco | | | | |1229 |2048
|Noto Sans Mono Black |Regular |Noto Sans Mono Black |NotoSansMono-Black |Noto Sans Mono |Black |900 |5 |600 |1000
|Noto Sans Mono |Bold |Noto Sans Mono Bold |NotoSansMono-Bold | | |700 |5 |600 |1000
|Noto Sans Mono Condensed |Regular |Noto Sans Mono Condensed |NotoSansMono-Condensed |Noto Sans Mono |Condensed |400 |3 |530 |1000
|Noto Sans Mono Condensed Black |Regular |Noto Sans Mono Condensed Black |NotoSansMono-CondensedBlack |Noto Sans Mono |Condensed Black |900 |3 |530 |1000
|Noto Sans Mono Condensed |Bold |Noto Sans Mono Condensed Bold |NotoSansMono-CondensedBold |Noto Sans Mono |Condensed Bold |700 |3 |530 |1000
|Noto Sans Mono Condensed ExtraBold |Regular |Noto Sans Mono Condensed ExtraBold |NotoSansMono-CondensedExtraBold |Noto Sans Mono |Condensed ExtraBold |800 |3 |530 |1000
|Noto Sans Mono Condensed ExtraLight |Regular |Noto Sans Mono Condensed ExtraLight |NotoSansMono-CondensedExtraLight |Noto Sans Mono |Condensed ExtraLight |200 |3 |530 |1000
|Noto Sans Mono Condensed Light |Regular |Noto Sans Mono Condensed Light |NotoSansMono-CondensedLight |Noto Sans Mono |Condensed Light |300 |3 |530 |1000
|Noto Sans Mono Condensed Medium |Regular |Noto Sans Mono Condensed Medium |NotoSansMono-CondensedMedium |Noto Sans Mono |Condensed Medium |500 |3 |530 |1000
|Noto Sans Mono Condensed SemiBold |Regular |Noto Sans Mono Condensed SemiBold |NotoSansMono-CondensedSemiBold |Noto Sans Mono |Condensed SemiBold |600 |3 |530 |1000
|Noto Sans Mono Condensed Thin |Regular |Noto Sans Mono Condensed Thin |NotoSansMono-CondensedThin |Noto Sans Mono |Condensed Thin |100 |3 |530 |1000
|Noto Sans Mono ExtraBold |Regular |Noto Sans Mono ExtraBold |NotoSansMono-ExtraBold |Noto Sans Mono |ExtraBold |800 |5 |600 |1000
|Noto Sans Mono ExtraCondensed |Regular |Noto Sans Mono ExtraCondensed |NotoSansMono-ExtraCondensed |Noto Sans Mono |ExtraCondensed |400 |2 |500 |1000
|Noto Sans Mono ExtraCondensed Black |Regular |Noto Sans Mono ExtraCondensed Black |NotoSansMono-ExtraCondensedBlack |Noto Sans Mono |ExtraCondensed Black |900 |2 |500 |1000
|Noto Sans Mono ExtraCondensed |Bold |Noto Sans Mono ExtraCondensed Bold |NotoSansMono-ExtraCondensedBold |Noto Sans Mono |ExtraCondensed Bold |700 |2 |500 |1000
|Noto Sans Mono ExtraCondensed ExtraBold |Regular |Noto Sans Mono ExtraCondensed ExtraBold |NotoSansMono-ExtraCondensedExtraBold |Noto Sans Mono |ExtraCondensed ExtraBold |800 |2 |500 |1000
|Noto Sans Mono ExtraCondensed ExtraLight |Regular |Noto Sans Mono ExtraCondensed ExtraLight |NotoSansMono-ExtraCondensedExtraLight |Noto Sans Mono |ExtraCondensed ExtraLight |200 |2 |500 |1000
|Noto Sans Mono ExtraCondensed Light |Regular |Noto Sans Mono ExtraCondensed Light |NotoSansMono-ExtraCondensedLight |Noto Sans Mono |ExtraCondensed Light |300 |2 |500 |1000
|Noto Sans Mono ExtraCondensed Medium |Regular |Noto Sans Mono ExtraCondensed Medium |NotoSansMono-ExtraCondensedMedium |Noto Sans Mono |ExtraCondensed Medium |500 |2 |500 |1000
|Noto Sans Mono ExtraCondensed SemiBold |Regular |Noto Sans Mono ExtraCondensed SemiBold |NotoSansMono-ExtraCondensedSemiBold |Noto Sans Mono |ExtraCondensed SemiBold |600 |2 |500 |1000
|Noto Sans Mono ExtraCondensed Thin |Regular |Noto Sans Mono ExtraCondensed Thin |NotoSansMono-ExtraCondensedThin |Noto Sans Mono |ExtraCondensed Thin |100 |2 |500 |1000
|Noto Sans Mono ExtraLight |Regular |Noto Sans Mono ExtraLight |NotoSansMono-ExtraLight |Noto Sans Mono |ExtraLight |200 |5 |600 |1000
|Noto Sans Mono Light |Regular |Noto Sans Mono Light |NotoSansMono-Light |Noto Sans Mono |Light |300 |5 |600 |1000
|Noto Sans Mono Medium |Regular |Noto Sans Mono Medium |NotoSansMono-Medium |Noto Sans Mono |Medium |500 |5 |600 |1000
|Noto Sans Mono |Regular |Noto Sans Mono Regular |NotoSansMono-Regular | | |400 |5 |600 |1000
|Noto Sans Mono SemiBold |Regular |Noto Sans Mono SemiBold |NotoSansMono-SemiBold |Noto Sans Mono |SemiBold |600 |5 |600 |1000
|Noto Sans Mono SemiCondensed |Regular |Noto Sans Mono SemiCondensed |NotoSansMono-SemiCondensed |Noto Sans Mono |SemiCondensed |400 |4 |563 |1000
|Noto Sans Mono SemiCondensed Black |Regular |Noto Sans Mono SemiCondensed Black |NotoSansMono-SemiCondensedBlack |Noto Sans Mono |SemiCondensed Black |900 |4 |563 |1000
|Noto Sans Mono SemiCondensed |Bold |Noto Sans Mono SemiCondensed Bold |NotoSansMono-SemiCondensedBold |Noto Sans Mono |SemiCondensed Bold |700 |4 |563 |1000
|Noto Sans Mono SemiCondensed ExtraBold |Regular |Noto Sans Mono SemiCondensed ExtraBold |NotoSansMono-SemiCondensedExtraBold |Noto Sans Mono |SemiCondensed ExtraBold |800 |4 |563 |1000
|Noto Sans Mono SemiCondensed ExtraLight |Regular |Noto Sans Mono SemiCondensed ExtraLight |NotoSansMono-SemiCondensedExtraLight |Noto Sans Mono |SemiCondensed ExtraLight |200 |4 |563 |1000
|Noto Sans Mono SemiCondensed Light |Regular |Noto Sans Mono SemiCondensed Light |NotoSansMono-SemiCondensedLight |Noto Sans Mono |SemiCondensed Light |300 |4 |563 |1000
|Noto Sans Mono SemiCondensed Medium |Regular |Noto Sans Mono SemiCondensed Medium |NotoSansMono-SemiCondensedMedium |Noto Sans Mono |SemiCondensed Medium |500 |4 |563 |1000
|Noto Sans Mono SemiCondensed SemiBold |Regular |Noto Sans Mono SemiCondensed SemiBold |NotoSansMono-SemiCondensedSemiBold |Noto Sans Mono |SemiCondensed SemiBold |600 |4 |563 |1000
|Noto Sans Mono SemiCondensed Thin |Regular |Noto Sans Mono SemiCondensed Thin |NotoSansMono-SemiCondensedThin |Noto Sans Mono |SemiCondensed Thin |100 |4 |563 |1000
|Noto Sans Mono Thin |Regular |Noto Sans Mono Thin |NotoSansMono-Thin |Noto Sans Mono |Thin |100 |5 |600 |1000
|Noto Sans Mono CJK JP |Bold |Noto Sans Mono CJK JP Bold |NotoSansMonoCJKjp-Bold | | |700 |5 |500 |1000
|Noto Sans Mono CJK JP |Regular |Noto Sans Mono CJK JP |NotoSansMonoCJKjp-Regular | | |400 |5 |500 |1000
|PT Mono |Bold |PT Mono Bold |PTMono-Bold | | |700 |5 |600 |1000
|PT Mono |Regular |PT Mono |PTMono-Regular | | |400 |5 |600 |1000
|Roboto Mono |Bold |Roboto Mono Bold |RobotoMono-Bold | | |700 |5 |1229 |2048
|Roboto Mono |Bold Italic |Roboto Mono Bold Italic |RobotoMono-BoldItalic | | |700 |5 |1202 |2048
|Roboto Mono |Italic |Roboto Mono Italic |RobotoMono-Italic | | |400 |5 |1202 |2048
|Roboto Mono Light |Regular |Roboto Mono Light |RobotoMono-Light |Roboto Mono |Light |300 |5 |1229 |2048
|Roboto Mono Light |Italic |Roboto Mono Light Italic |RobotoMono-LightItalic |Roboto Mono |Light Italic |300 |5 |1202 |2048
|Roboto Mono Medium |Regular |Roboto Mono Medium |RobotoMono-Medium |Roboto Mono |Medium |500 |5 |1229 |2048
|Roboto Mono Medium |Italic |Roboto Mono Medium Italic |RobotoMono-MediumItalic |Roboto Mono |Medium Italic |500 |5 |1202 |2048
|Roboto Mono |Regular |Roboto Mono |RobotoMono-Regular | | |400 |5 |1229 |2048
|Roboto Mono Thin |Regular |Roboto Mono Thin |RobotoMono-Thin |Roboto Mono |Thin |250 |5 |1229 |2048
|Roboto Mono Thin |Italic |Roboto Mono Thin Italic |RobotoMono-ThinItalic |Roboto Mono |Thin Italic |250 |5 |1202 |2048
|SF Mono |Bold |SF Mono Bold |SFMono-Bold | |Bold |700 |5 |1266 |2048
|SF Mono |Bold Italic |SF Mono Bold Italic |SFMono-BoldItalic | |Bold Italic |700 |5 |1266 |2048
|SF Mono |Heavy |SF Mono Heavy |SFMono-Heavy | |Heavy |900 |5 |1266 |2048
|SF Mono |Heavy Italic |SF Mono Heavy Italic |SFMono-HeavyItalic | |Heavy Italic |900 |5 |1266 |2048
|SF Mono |Light |SF Mono Light |SFMono-Light | |Light |300 |5 |1266 |2048
|SF Mono |Light Italic |SF Mono Light Italic |SFMono-LightItalic | |Light Italic |300 |5 |1266 |2048
|SF Mono |Medium |SF Mono Medium |SFMono-Medium | |Medium |500 |5 |1266 |2048
|SF Mono |Medium Italic |SF Mono Medium Italic |SFMono-MediumItalic | |Medium Italic |500 |5 |1266 |2048
|SF Mono |Regular |SF Mono Regular |SFMono-Regular | |Regular |400 |5 |1266 |2048
|SF Mono |Regular Italic |SF Mono Regular Italic |SFMono-RegularItalic | |Regular Italic |400 |5 |1266 |2048
|SF Mono |Semibold |SF Mono Semibold |SFMono-Semibold | |Semibold |600 |5 |1266 |2048
|SF Mono |Semibold Italic |SF Mono Semibold Italic |SFMono-SemiboldItalic | |Semibold Italic |600 |5 |1266 |2048
|Source Code Pro Black |Regular |Source Code Pro Black |SourceCodePro-Black |Source Code Pro |Black |900 |5 |600 |1000
|Source Code Pro Black |Italic |Source Code Pro Black Italic |SourceCodePro-BlackIt |Source Code Pro |Black Italic |900 |5 |600 |1000
|Source Code Pro |Bold |Source Code Pro Bold |SourceCodePro-Bold | | |700 |5 |600 |1000
|Source Code Pro |Bold Italic |Source Code Pro Bold Italic |SourceCodePro-BoldIt | | |700 |5 |600 |1000
|Source Code Pro ExtraLight |Regular |Source Code Pro ExtraLight |SourceCodePro-ExtraLight |Source Code Pro |ExtraLight |200 |5 |600 |1000
|Source Code Pro ExtraLight |Italic |Source Code Pro ExtraLight Italic |SourceCodePro-ExtraLightIt |Source Code Pro |ExtraLight Italic |200 |5 |600 |1000
|Source Code Pro |Italic |Source Code Pro Italic |SourceCodePro-It | | |400 |5 |600 |1000
|Source Code Pro Light |Regular |Source Code Pro Light |SourceCodePro-Light |Source Code Pro |Light |300 |5 |600 |1000
|Source Code Pro Light |Italic |Source Code Pro Light Italic |SourceCodePro-LightIt |Source Code Pro |Light Italic |300 |5 |600 |1000
|Source Code Pro Medium |Regular |Source Code Pro Medium |SourceCodePro-Medium |Source Code Pro |Medium |500 |5 |600 |1000
|Source Code Pro Medium |Italic |Source Code Pro Medium Italic |SourceCodePro-MediumIt |Source Code Pro |Medium Italic |500 |5 |600 |1000
|Source Code Pro |Regular |Source Code Pro |SourceCodePro-Regular | | |400 |5 |600 |1000
|Source Code Pro Semibold |Regular |Source Code Pro Semibold |SourceCodePro-Semibold |Source Code Pro |Semibold |600 |5 |600 |1000
|Source Code Pro Semibold |Italic |Source Code Pro Semibold Italic |SourceCodePro-SemiboldIt |Source Code Pro |Semibold Italic |600 |5 |600 |1000
|Source Han Code JP R |Bold |Source Han Code JP R Bold |SourceHanCodeJP-Bold |Source Han Code JP |B |700 |5 |667 |1000
|Source Han Code JP R |Bold Italic |Source Han Code JP R Bold Italic |SourceHanCodeJP-BoldIt |Source Han Code JP |B It |700 |5 |667 |1000
|Source Han Code JP EL |Regular |Source Han Code JP EL |SourceHanCodeJP-ExtraLight |Source Han Code JP |EL |250 |5 |667 |1000
|Source Han Code JP EL |Italic |Source Han Code JP EL Italic |SourceHanCodeJP-ExtraLightIt |Source Han Code JP |EL It |250 |5 |667 |1000
|Source Han Code JP H |Regular |Source Han Code JP H |SourceHanCodeJP-Heavy |Source Han Code JP |H |900 |5 |667 |1000
|Source Han Code JP H |Italic |Source Han Code JP H Italic |SourceHanCodeJP-HeavyIt |Source Han Code JP |H It |900 |5 |667 |1000
|Source Han Code JP L |Regular |Source Han Code JP L |SourceHanCodeJP-Light |Source Han Code JP |L |300 |5 |667 |1000
|Source Han Code JP L |Italic |Source Han Code JP L Italic |SourceHanCodeJP-LightIt |Source Han Code JP |L It |300 |5 |667 |1000
|Source Han Code JP M |Regular |Source Han Code JP M |SourceHanCodeJP-Medium |Source Han Code JP |M |500 |5 |667 |1000
|Source Han Code JP M |Italic |Source Han Code JP M Italic |SourceHanCodeJP-MediumIt |Source Han Code JP |M It |500 |5 |667 |1000
|Source Han Code JP N |Regular |Source Han Code JP N |SourceHanCodeJP-Normal |Source Han Code JP |N |350 |5 |667 |1000
|Source Han Code JP N |Italic |Source Han Code JP N Italic |SourceHanCodeJP-NormalIt |Source Han Code JP |N It |350 |5 |667 |1000
|Source Han Code JP R |Regular |Source Han Code JP R |SourceHanCodeJP-Regular |Source Han Code JP |R |400 |5 |667 |1000
|Source Han Code JP R |Italic |Source Han Code JP R Italic |SourceHanCodeJP-RegularIt |Source Han Code JP |R It |400 |5 |667 |1000
|Bitstream Vera Sans Mono |Bold Oblique |Bitstream Vera Sans Mono Bold Oblique |BitstreamVeraSansMono-BoldOb | | |700 |5 |1233 |2048
|Bitstream Vera Sans Mono |Bold |Bitstream Vera Sans Mono Bold |BitstreamVeraSansMono-Bold | | |700 |5 |1233 |2048
|Bitstream Vera Sans Mono |Oblique |Bitstream Vera Sans Mono Oblique |BitstreamVeraSansMono-Oblique | | |400 |5 |1233 |2048
|Bitstream Vera Sans Mono |Roman |Bitstream Vera Sans Mono |BitstreamVeraSansMono-Roman | | |400 |5 |1233 |2048
|Consolas |Regular |Consolas |Consolas | | |400 |5 |1126 |2048
|Consolas |Bold |Consolas Bold |Consolas-Bold | | |700 |5 |1126 |2048
|Consolas |Italic |Consolas Italic |Consolas-Italic | | |400 |5 |1126 |2048
|Consolas |Bold Italic |Consolas Bold Italic |Consolas-BoldItalic | | |700 |5 |1126 |2048
|Lucida Console |Regular |Lucida Console |LucidaConsole | | |400 |4 |1234 |2048