公開日 2026-02-23 更新日 -
フォント名を見るのはGIMPが多いので、YOzフォント以外は化けていないと思っていた。でもCalcのフォント選択では化けるものがあった。

䥐䅐䵩湣桯とはなんだっけと調べると"IPA P明朝"だった。3つめのフォント名が化けているのはすでに把握していたが、表に出てこないと思っていた。実際、GIMPとフォントビュアでは正しい文字列である"IPA P明朝"で選択肢に出てくる。Calcでは䥐䅐䵩湣桯で出てきて、"IPA P明朝"では現れない。
adachi@banach:~$ fc-list -vb 䥐䅐䵩湣桯 Pattern has 26 elts (size 32) family: "IPA P明朝"(s) "IPAPMincho"(s) "䥐䅐䵩湣桯"(s) familylang: "ja"(s) "en"(s) "ja"(s) style: "Regular"(s) stylelang: "en"(s) fullname: "IPA P明朝"(s) "IPAPMincho"(s) "䥐䅐䵩湣桯"(s) fullnamelang: "ja"(s) "en"(s) "ja"(s) slant: 0(i)(s) weight: 80(f)(s) width: 100(f)(s) foundry: "IPA "(s) file: "/usr/share/fonts/opentype/ipafont-mincho/ipamp.ttf"(s) index: 0(i)(s) outline: True(s) scalable: True(s) fontversion: 198574(i)(s) capability: "otlayout:hani otlayout:kana otlayout:latn"(s) fontformat: "TrueType"(s) decorative: False(s) postscriptname: "IPAPMincho"(s)
これもどうしようかと、YOzの時のようにまずは調べてみる。
adachi@banach:~$ file /usr/share/fonts/opentype/ipafont-mincho/ipamp.ttf /usr/share/fonts/opentype/ipafont-mincho/ipamp.ttf: TrueType Font data, 18 tables, 1st "GDEF", name offset 0x781ea8
自作のpythonプログラムを使ってnameオフセットテーブルを調べる。
adachi@banach:~$ ./binaryOffset2.py /usr/share/fonts/opentype/ipafont-mincho/ipamp.ttf 0x781ea8
filename='/usr/share/fonts/opentype/ipafont-mincho/ipamp.ttf' offset=0x781ea8 formatOfNameRecord=0x0000 numOfNameRecord=0x0024 stringOffsetOfNameRecord=0x01b6
多分問題になる、mac-jap-ja-01 と win-uni-ja-01 の length, offset に印をつけておきました。YOzの経験では近くの02,04も書き換えたくなるかもしれません。
| platformID | encodingID | languageID | nameID | length | offset | offset.offset | |
|---|---|---|---|---|---|---|---|
| 00 | 00 01 mac | 00 00 rom | 00 00 en | 00 00 | 00 a6 | 00 00 | 0x781eb9 |
| 01 | 00 01 mac | 00 00 rom | 00 00 en | 00 01 | 00 0a | 00 a6 | 0x781ec5 |
| 02 | 00 01 mac | 00 00 rom | 00 00 en | 00 02 | 00 07 | 00 b0 | 0x781ed1 |
| 03 | 00 01 mac | 00 00 rom | 00 00 en | 00 03 | 00 19 | 00 b7 | 0x781edd |
| 04 | 00 01 mac | 00 00 rom | 00 00 en | 00 04 | 00 0a | 00 d0 | 0x781ee9 |
| 05 | 00 01 mac | 00 00 rom | 00 00 en | 00 05 | 00 0e | 00 da | 0x781ef5 |
| 06 | 00 01 mac | 00 00 rom | 00 00 en | 00 06 | 00 0a | 00 e8 | 0x781f01 |
| 07 | 00 01 mac | 00 00 rom | 00 00 en | 00 0d | 00 31 | 00 f2 | 0x781f0d |
| 08 | 00 01 mac | 00 00 rom | 00 00 en | 00 0e | 00 31 | 01 23 | 0x781f19 |
| 09 | 00 01 mac | 00 01 jap | 00 0b ja | 00 00 | 00 a6 | 01 54 | 0x781f25 |
| 0a | 00 01 mac | 00 01 jap | 00 0b ja | 00 01 | 00 0a | 01 fa | 0x781f31 |
| 0b | 00 01 mac | 00 01 jap | 00 0b ja | 00 02 | 00 07 | 02 04 | 0x781f3d |
| 0c | 00 01 mac | 00 01 jap | 00 0b ja | 00 03 | 00 19 | 02 0b | 0x781f49 |
| 0d | 00 01 mac | 00 01 jap | 00 0b ja | 00 04 | 00 0a | 02 24 | 0x781f55 |
| 0e | 00 01 mac | 00 01 jap | 00 0b ja | 00 05 | 00 0e | 02 2e | 0x781f61 |
| 0f | 00 01 mac | 00 01 jap | 00 0b ja | 00 06 | 00 0a | 02 3c | 0x781f6d |
| 10 | 00 01 mac | 00 01 jap | 00 0b ja | 00 0d | 00 31 | 02 46 | 0x781f79 |
| 11 | 00 01 mac | 00 01 jap | 00 0b ja | 00 0e | 00 31 | 02 77 | 0x781f85 |
| 12 | 00 03 win | 00 01 uni | 04 09 en | 00 00 | 01 4c | 02 a8 | 0x781f91 |
| 13 | 00 03 win | 00 01 uni | 04 09 en | 00 01 | 00 14 | 03 f4 | 0x781f9d |
| 14 | 00 03 win | 00 01 uni | 04 09 en | 00 02 | 00 0e | 04 08 | 0x781fa9 |
| 15 | 00 03 win | 00 01 uni | 04 09 en | 00 03 | 00 32 | 04 16 | 0x781fb5 |
| 16 | 00 03 win | 00 01 uni | 04 09 en | 00 04 | 00 14 | 04 48 | 0x781fc1 |
| 17 | 00 03 win | 00 01 uni | 04 09 en | 00 05 | 00 1c | 04 5c | 0x781fcd |
| 18 | 00 03 win | 00 01 uni | 04 09 en | 00 06 | 00 14 | 04 78 | 0x781fd9 |
| 19 | 00 03 win | 00 01 uni | 04 09 en | 00 0d | 00 62 | 04 8c | 0x781fe5 |
| 1a | 00 03 win | 00 01 uni | 04 09 en | 00 0e | 00 62 | 04 ee | 0x781ff1 |
| 1b | 00 03 win | 00 01 uni | 04 11 ja | 00 00 | 01 4c | 05 50 | 0x781ffd |
| 1c | 00 03 win | 00 01 uni | 04 11 ja | 00 01 | 00 0e | 06 9c | 0x782009 |
| 1d | 00 03 win | 00 01 uni | 04 11 ja | 00 02 | 00 0e | 06 aa | 0x782015 |
| 1e | 00 03 win | 00 01 uni | 04 11 ja | 00 03 | 00 32 | 06 b8 | 0x782021 |
| 1f | 00 03 win | 00 01 uni | 04 11 ja | 00 04 | 00 0e | 06 ea | 0x78202d |
| 20 | 00 03 win | 00 01 uni | 04 11 ja | 00 05 | 00 1c | 06 f8 | 0x782039 |
| 21 | 00 03 win | 00 01 uni | 04 11 ja | 00 06 | 00 14 | 07 14 | 0x782045 |
| 22 | 00 03 win | 00 01 uni | 04 11 ja | 00 0d | 00 62 | 07 28 | 0x782051 |
| 23 | 00 03 win | 00 01 uni | 04 11 ja | 00 0e | 00 62 | 07 8a | 0x78205d |
実は"IPA P明朝"は4つ前のページ、「フォント名の文字化けの原因をさぐる」ですでに調べてあって、3つ前のページ、「Debian13で起こるフォント名の文字化けの原因はfontconfig」で核心部分を抜き出しています。
offset.offsetが追加されているので、ここまでは再掲しましたが、以下は省きます。
結局、mac_jpのバイト列をshift_JISでデコードして、mac_en の IPAPMincho と同じになるはずが、utf_16_be でデコードするので、䥐䅐䵩湣桯になって日本語名として登録されるということでした。win_jaでは utf_16_be でデコードして"IPA P明朝"になるので、日本語名が2つになるというわけです。
この場合、YOzでやったように mac_ja に win_ja用のバイト列を割当ると、現状の間違ったfontconfigでは"IPA P明朝"とデコードされて win_ja用の文字列と同じになりますが、正しくshift_jisでデコードされるように修正されると間違いなくデコードに失敗します。その場合、多分無視されて実害はないと思うのですが、01でないnameIDを与えておくというのも一つの手です。
使えそうなのは
| nameID | 10進 | 内容 |
|---|---|---|
| 8 | 8 | 製造者 |
| 9 | 9 | デザイナーの名前 |
| a | 10 | 説明 |
| b | 11 | ベンダーの URL |
| c | 12 | デザイナーの URL |
| 13 | 19 | サンプルテキスト |
詳しくは、5つ前のページ、「フォント名の文字化け-フォント側に問題がないことを確認」にあります。
この中でフォントビュアーなどで表示できるものがあれば面白いかなと、調べてみる。これが大きな寄り道になってしまいました。
フォントビュアーというのは、カタカナでは違和感があります。org.gnome.font-viewer というソフトウェアで、Debian13では「フォント」という名前で表示されます。"Fonts"の訳語です。「Word」がワードプロセッサの名前としてわかりにくいのと同様な分かりにくさを持っています。
使いやすくもなく、欲しい情報も不足するソフトですが、標準で入っているのでこんな時には使います。
アイコンは、![]()
画面は3つあって、起動するとフォント一覧。"IPA P明朝"は化けていません。ちなみにPでない、IPA明朝とIPAゴシックが2つずつあるのは、シンボリックリンクがあって同じものを指しているのがあるためです。なぜこうなったかわかりません。それはともかく、"IPA P明朝"をクリックすると、

"IPA P明朝"の詳細になります。このへんにサンプルテキストが関係するかはまだわかりません。右上の[info]で、画面が替わります。

著作権とかライセンスはここに出ますが、説明や製造者なんかも指定すれば出るのでしょうか。

右上にある[install]というのが前から気になっていて、[インストール済み]と出るフォントもあります。"IPA P明朝"は、使えているけどまだインストールしていないということなのでしょうか。
今回ついに押してしまいました。ちょっとの間[インストール中]となって戻ります。戻った先はやはり[install]です。特になにも効果がないように見えます。スクリーンショットをとるために何回か押してしまいましたがおなじです。

[インストール済み]にもならないし、[uninstall]も出てきません。
fc-listして、'IPA P明朝'が入っているものを選択すると、インストールされていたことが判明します。
しかも3回。.local/share/fonts/に先頭に1,2の数字が入って複数インストールされています。
元のものと合わせて全部で4つです。
adachi@banach:~$ fc-list 'IPA P明朝' /home/adachi/.local/share/fonts/2ipamp.ttf: IPA P明朝,IPAPMincho,䥐䅐䵩湣桯:style=Regular /home/adachi/.local/share/fonts/1ipamp.ttf: IPA P明朝,IPAPMincho,䥐䅐䵩湣桯:style=Regular /usr/share/fonts/opentype/ipafont-mincho/ipamp.ttf: IPA P明朝,IPAPMincho,䥐䅐䵩湣桯:style=Regular /home/adachi/.local/share/fonts/ipamp.ttf: IPA P明朝,IPAPMincho,䥐䅐䵩湣桯:style=Regular
ちなみに、Pでない"IPA明朝"の方は、
adachi@banach:~$ fc-list 'IPA明朝' /usr/share/fonts/opentype/ipafont-mincho/ipam.ttf: IPA明朝,IPAMincho:style=Regular /usr/share/fonts/truetype/fonts-japanese-mincho.ttf: IPA明朝,IPAMincho:style=Regular
ですが、これは
adachi@banach:~$ ll /usr/share/fonts/opentype/ipafont-mincho/ipam.ttf -rw-r--r-- 1 root root 8046712 4月 12 2011 /usr/share/fonts/opentype/ipafont-mincho/ipam.ttf adachi@banach:~$ ll /usr/share/fonts/truetype/fonts-japanese-mincho.ttf lrwxrwxrwx 1 root root 43 4月 12 2011 /usr/share/fonts/truetype/fonts-japanese-mincho.ttf -> /etc/alternatives/fonts-japanese-mincho.ttf
ということなので、片方がシンボリックリンクで本体はひとつです。
.local/に入っている方は、本当にコピーになっています。次の表示で12ipamp.ttfが増えましたが、2ipamp.ttfから[install]すると、それにさらに1が付くということを確認したものです。
adachi@banach:~$ ll ~/.local/share/fonts/ 合計 31440 -rw-r--r-- 1 adachi adachi 8046048 4月 12 2011 12ipamp.ttf -rw-r--r-- 1 adachi adachi 8046048 4月 12 2011 1ipamp.ttf -rw-r--r-- 1 adachi adachi 8046048 4月 12 2011 2ipamp.ttf -rw-r--r-- 1 adachi adachi 8046048 4月 12 2011 ipamp.ttf
アンインストールは、これを削除すればいいのでしょうが、GUIで増やしたものはGUIでもとに戻せるようになっていてほしいものです。
フォントのインストールを調べている中で、システムレベル(全ユーザーで使用する階層)でインストールする方法と、ユーザーレベル(インストールしたユーザーのみ)でインストールする方法があるのを知ってはいましたが、一人で専有しているPCなのでユーザーレベルで入れようとしたことはありませんでした。でも入ってしまったので、これを書き換えて使えるならこの方が気楽かもしれません。fontconfigが修正されるまでユーザーレベルのフォントが使われ、修正後フォント名が正しく取得できるようになったら、システムレベルに入れたフォントが使われるように戻るという設定も可能かもしれません。
とりあえず、12ipamp.ttfを書き換えてみて、その効果が反映されるか試してまることにします。

どの様に書き換えたか確認します。
adachi@banach:~$ ./binaryOffset2.py ~/.local/share/fonts/12ipamp.ttf 0x781ea8
filename='/home/adachi/.local/share/fonts/12ipamp.ttf' offset=0x781ea8 formatOfNameRecord=0x0000 numOfNameRecord=0x0024 stringOffsetOfNameRecord=0x01b6
| platformID | encodingID | languageID | nameID | length | offset | offset.offset | |
|---|---|---|---|---|---|---|---|
| 00 | 00 01 mac | 00 00 rom | 00 00 en | 00 00 | 00 a6 | 00 00 | 0x781eb9 |
| 01 | 00 01 mac | 00 00 rom | 00 00 en | 00 01 | 00 0a | 00 a6 | 0x781ec5 |
| 02 | 00 01 mac | 00 00 rom | 00 00 en | 00 02 | 00 07 | 00 b0 | 0x781ed1 |
| 03 | 00 01 mac | 00 00 rom | 00 00 en | 00 03 | 00 19 | 00 b7 | 0x781edd |
| 04 | 00 01 mac | 00 00 rom | 00 00 en | 00 04 | 00 0a | 00 d0 | 0x781ee9 |
| 05 | 00 01 mac | 00 00 rom | 00 00 en | 00 05 | 00 0e | 00 da | 0x781ef5 |
| 06 | 00 01 mac | 00 00 rom | 00 00 en | 00 06 | 00 0a | 00 e8 | 0x781f01 |
| 07 | 00 01 mac | 00 00 rom | 00 00 en | 00 0d | 00 31 | 00 f2 | 0x781f0d |
| 08 | 00 01 mac | 00 00 rom | 00 00 en | 00 0e | 00 31 | 01 23 | 0x781f19 |
| 09 | 00 01 mac | 00 01 jap | 00 0b ja | 00 00 | 00 a6 | 01 54 | 0x781f25 |
| 0a | 00 01 mac | 00 01 jap | 00 0b ja | 00 13 | 00 0a | 01 fa | 0x781f31 |
| 0b | 00 01 mac | 00 01 jap | 00 0b ja | 00 02 | 00 07 | 02 04 | 0x781f3d |
| 0c | 00 01 mac | 00 01 jap | 00 0b ja | 00 03 | 00 19 | 02 0b | 0x781f49 |
| 0d | 00 01 mac | 00 01 jap | 00 0b ja | 00 04 | 00 0a | 02 24 | 0x781f55 |
| 0e | 00 01 mac | 00 01 jap | 00 0b ja | 00 05 | 00 0e | 02 2e | 0x781f61 |
| 0f | 00 01 mac | 00 01 jap | 00 0b ja | 00 06 | 00 0a | 02 3c | 0x781f6d |
| 10 | 00 01 mac | 00 01 jap | 00 0b ja | 00 0d | 00 31 | 02 46 | 0x781f79 |
| 11 | 00 01 mac | 00 01 jap | 00 0b ja | 00 0e | 00 31 | 02 77 | 0x781f85 |
| 12 | 00 03 win | 00 01 uni | 04 09 en | 00 00 | 01 4c | 02 a8 | 0x781f91 |
| 13 | 00 03 win | 00 01 uni | 04 09 en | 00 01 | 00 14 | 03 f4 | 0x781f9d |
| 14 | 00 03 win | 00 01 uni | 04 09 en | 00 02 | 00 0e | 04 08 | 0x781fa9 |
| 15 | 00 03 win | 00 01 uni | 04 09 en | 00 03 | 00 32 | 04 16 | 0x781fb5 |
| 16 | 00 03 win | 00 01 uni | 04 09 en | 00 04 | 00 14 | 04 48 | 0x781fc1 |
| 17 | 00 03 win | 00 01 uni | 04 09 en | 00 05 | 00 1c | 04 5c | 0x781fcd |
| 18 | 00 03 win | 00 01 uni | 04 09 en | 00 06 | 00 14 | 04 78 | 0x781fd9 |
| 19 | 00 03 win | 00 01 uni | 04 09 en | 00 0d | 00 62 | 04 8c | 0x781fe5 |
| 1a | 00 03 win | 00 01 uni | 04 09 en | 00 0e | 00 62 | 04 ee | 0x781ff1 |
| 1b | 00 03 win | 00 01 uni | 04 11 ja | 00 00 | 01 4c | 05 50 | 0x781ffd |
| 1c | 00 03 win | 00 01 uni | 04 11 ja | 00 01 | 00 0e | 06 9c | 0x782009 |
| 1d | 00 03 win | 00 01 uni | 04 11 ja | 00 02 | 00 0e | 06 aa | 0x782015 |
| 1e | 00 03 win | 00 01 uni | 04 11 ja | 00 03 | 00 32 | 06 b8 | 0x782021 |
| 1f | 00 03 win | 00 01 uni | 04 11 ja | 00 04 | 00 0e | 06 ea | 0x78202d |
| 20 | 00 03 win | 00 01 uni | 04 11 ja | 00 05 | 00 1c | 06 f8 | 0x782039 |
| 21 | 00 03 win | 00 01 uni | 04 11 ja | 00 06 | 00 14 | 07 14 | 0x782045 |
| 22 | 00 03 win | 00 01 uni | 04 11 ja | 00 0d | 00 62 | 07 28 | 0x782051 |
| 23 | 00 03 win | 00 01 uni | 04 11 ja | 00 0e | 00 62 | 07 8a | 0x78205d |
上の表で書き換えは1バイトだけです。mac_jaのnameID=01を0x13にしました。これは「family-name」だったところを、「サンプルテキスト」にしたものです。length,offsetのところは着色していますが変えていません。結果としてmac_jaのfamily-nameは書いていないということになります。
加えてwin_jaのfamil-ynameの文字列のスペース(0020)にを小文字のC(0063)に変えてみました。うまくいって整理がついたらもとに戻すつもりです。
次の表が 12ipamp.ttf に加えた2バイトの変更をすべて表しています。
| offset | length | 開始位置 | 呼出元plat_lang | 呼出元nameID | バイト列(デコード前の文字列) | utf_16_be | shift_jis |
|---|---|---|---|---|---|---|---|
| 00a6 | 10 | 0x782104 | mac_en | 01 | 49 50 41 50 4d 69 6e 63 68 6f | 䥐䅐䵩湣桯 | IPAPMincho |
| 01fa | 10 | 0x782258 | mac_ja | 19 | 49 50 41 50 4d 69 6e 63 68 6f | 䥐䅐䵩湣桯 | IPAPMincho |
| 03f4 | 20 | 0x782452 | win_en | 01 | 00 49 00 50 00 41 00 50 00 4d 00 69 00 6e 00 63 00 68 00 6f | IPAPMincho | IPAPMincho |
| 069c | 14 | 0x7826fa | win_ja | 01 | 00 49 00 50 00 41 00 63 00 50 66 0e 67 1d | IPAcP明朝 | IPAcPfg |
'IPA P明朝'は4つです。
adachi@banach:~$ fc-list 'IPA P明朝' /home/adachi/.local/share/fonts/2ipamp.ttf: IPA P明朝,IPAPMincho,䥐䅐䵩湣桯:style=Regular /home/adachi/.local/share/fonts/1ipamp.ttf: IPA P明朝,IPAPMincho,䥐䅐䵩湣桯:style=Regular /usr/share/fonts/opentype/ipafont-mincho/ipamp.ttf: IPA P明朝,IPAPMincho,䥐䅐䵩湣桯:style=Regular /home/adachi/.local/share/fonts/ipamp.ttf: IPA P明朝,IPAPMincho,䥐䅐䵩湣桯:style=Regular
'IPAcP明朝'がひとつあります。
adachi@banach:~$ fc-list 'IPAcP明朝' /home/adachi/.local/share/fonts/12ipamp.ttf: IPAcP明朝,IPAPMincho:style=Regular
'IPAcP明朝'には"䥐䅐䵩湣桯"がありません。(nameID=04には残っています)
adachi@banach:~$ fc-list -vb 'IPAcP明朝' Pattern has 26 elts (size 32) family: "IPAcP明朝"(s) "IPAPMincho"(s) familylang: "ja"(s) "en"(s) style: "Regular"(s) stylelang: "en"(s) fullname: "IPA P明朝"(s) "IPAPMincho"(s) "䥐䅐䵩湣桯"(s) fullnamelang: "ja"(s) "en"(s) "ja"(s) slant: 0(i)(s) weight: 80(f)(s) width: 100(f)(s) foundry: "IPA "(s) file: "/home/adachi/.local/share/fonts/12ipamp.ttf"(s) 以下略
"IPA Pゴシック"は、フォント(org.gnome.font-viewer)でひとつしかない。
フォントで一度だけinstallする。
これで、'IPA Pゴシック'の名前をもつフォントが2つになる
adachi@banach:~$ fc-list 'IPA Pゴシック' /home/adachi/.local/share/fonts/ipagp.ttf: IPA Pゴシック,IPAPGothic,䥐䅐䝯瑨楣:style=Regular /usr/share/fonts/opentype/ipafont-gothic/ipagp.ttf: IPA Pゴシック,IPAPGothic,䥐䅐䝯瑨楣:style=Regular
~/.local/share/fonts/にコピーされている。(ファイル名はipagp.ttf)
adachi@banach:~$ ll ~/.local/share/fonts/ 合計 37532 -rw-r--r-- 1 adachi adachi 8046048 2月 24 18:10 12ipamp.ttf -rw-r--r-- 1 adachi adachi 8046048 4月 12 2011 1ipamp.ttf -rw-r--r-- 1 adachi adachi 8046048 4月 12 2011 2ipamp.ttf -rw-r--r-- 1 adachi adachi 6235712 4月 12 2011 ipagp.ttf -rw-r--r-- 1 adachi adachi 8046048 4月 12 2011 ipamp.ttf
fileコマンドでoffsetを調べて、nameオフセットテーブルを知る。(hdコマンドなどを使っての手作業でもできないことはない)
adachi@banach:~$ file ~/.local/share/fonts/ipagp.ttf /home/adachi/.local/share/fonts/ipagp.ttf: TrueType Font data, 18 tables, 1st "GDEF", name offset 0x5c7f00 adachi@banach:~$ ./binaryOffset2.py ~/.local/share/fonts/ipagp.ttf 0x5c7f00
filename='/home/adachi/.local/share/fonts/ipagp.ttf' offset=0x5c7f00 formatOfNameRecord=0x0000 numOfNameRecord=0x0024 stringOffsetOfNameRecord=0x01b6
| platformID | encodingID | languageID | nameID | length | offset | offset.offset | |
|---|---|---|---|---|---|---|---|
| 00 | 00 01 mac | 00 00 rom | 00 00 en | 00 00 | 00 a6 | 00 00 | 0x5c7f11 |
| 01 | 00 01 mac | 00 00 rom | 00 00 en | 00 01 | 00 0a | 00 a6 | 0x5c7f1d |
| 02 | 00 01 mac | 00 00 rom | 00 00 en | 00 02 | 00 07 | 00 b0 | 0x5c7f29 |
| 03 | 00 01 mac | 00 00 rom | 00 00 en | 00 03 | 00 19 | 00 b7 | 0x5c7f35 |
| 04 | 00 01 mac | 00 00 rom | 00 00 en | 00 04 | 00 0a | 00 d0 | 0x5c7f41 |
| 05 | 00 01 mac | 00 00 rom | 00 00 en | 00 05 | 00 0e | 00 da | 0x5c7f4d |
| 06 | 00 01 mac | 00 00 rom | 00 00 en | 00 06 | 00 0a | 00 e8 | 0x5c7f59 |
| 07 | 00 01 mac | 00 00 rom | 00 00 en | 00 0d | 00 31 | 00 f2 | 0x5c7f65 |
| 08 | 00 01 mac | 00 00 rom | 00 00 en | 00 0e | 00 31 | 01 23 | 0x5c7f71 |
| 09 | 00 01 mac | 00 01 jap | 00 0b ja | 00 00 | 00 a6 | 01 54 | 0x5c7f7d |
| 0a | 00 01 mac | 00 01 jap | 00 0b ja | 00 01 | 00 0a | 01 fa | 0x5c7f89 |
| 0b | 00 01 mac | 00 01 jap | 00 0b ja | 00 02 | 00 07 | 02 04 | 0x5c7f95 |
| 0c | 00 01 mac | 00 01 jap | 00 0b ja | 00 03 | 00 19 | 02 0b | 0x5c7fa1 |
| 0d | 00 01 mac | 00 01 jap | 00 0b ja | 00 04 | 00 0a | 02 24 | 0x5c7fad |
| 0e | 00 01 mac | 00 01 jap | 00 0b ja | 00 05 | 00 0e | 02 2e | 0x5c7fb9 |
| 0f | 00 01 mac | 00 01 jap | 00 0b ja | 00 06 | 00 0a | 02 3c | 0x5c7fc5 |
| 10 | 00 01 mac | 00 01 jap | 00 0b ja | 00 0d | 00 31 | 02 46 | 0x5c7fd1 |
| 11 | 00 01 mac | 00 01 jap | 00 0b ja | 00 0e | 00 31 | 02 77 | 0x5c7fdd |
| 12 | 00 03 win | 00 01 uni | 04 09 en | 00 00 | 01 4c | 02 a8 | 0x5c7fe9 |
| 13 | 00 03 win | 00 01 uni | 04 09 en | 00 01 | 00 14 | 03 f4 | 0x5c7ff5 |
| 14 | 00 03 win | 00 01 uni | 04 09 en | 00 02 | 00 0e | 04 08 | 0x5c8001 |
| 15 | 00 03 win | 00 01 uni | 04 09 en | 00 03 | 00 32 | 04 16 | 0x5c800d |
| 16 | 00 03 win | 00 01 uni | 04 09 en | 00 04 | 00 14 | 04 48 | 0x5c8019 |
| 17 | 00 03 win | 00 01 uni | 04 09 en | 00 05 | 00 1c | 04 5c | 0x5c8025 |
| 18 | 00 03 win | 00 01 uni | 04 09 en | 00 06 | 00 14 | 04 78 | 0x5c8031 |
| 19 | 00 03 win | 00 01 uni | 04 09 en | 00 0d | 00 62 | 04 8c | 0x5c803d |
| 1a | 00 03 win | 00 01 uni | 04 09 en | 00 0e | 00 62 | 04 ee | 0x5c8049 |
| 1b | 00 03 win | 00 01 uni | 04 11 ja | 00 00 | 01 4c | 05 50 | 0x5c8055 |
| 1c | 00 03 win | 00 01 uni | 04 11 ja | 00 01 | 00 12 | 06 9c | 0x5c8061 |
| 1d | 00 03 win | 00 01 uni | 04 11 ja | 00 02 | 00 0e | 06 ae | 0x5c806d |
| 1e | 00 03 win | 00 01 uni | 04 11 ja | 00 03 | 00 32 | 06 bc | 0x5c8079 |
| 1f | 00 03 win | 00 01 uni | 04 11 ja | 00 04 | 00 12 | 06 ee | 0x5c8085 |
| 20 | 00 03 win | 00 01 uni | 04 11 ja | 00 05 | 00 1c | 07 00 | 0x5c8091 |
| 21 | 00 03 win | 00 01 uni | 04 11 ja | 00 06 | 00 14 | 07 1c | 0x5c809d |
| 22 | 00 03 win | 00 01 uni | 04 11 ja | 00 0d | 00 62 | 07 30 | 0x5c80a9 |
| 23 | 00 03 win | 00 01 uni | 04 11 ja | 00 0e | 00 62 | 07 92 | 0x5c80b5 |
書き換えは1バイトだけです。mac_jaのnameID=01を0x13(10進だと19)にしました。これは「family-name」だったところを、「サンプルテキスト」にしたものです。結果としてmac_jaのfamily-nameは書いていないということになります。
"IPA P明朝"の時と異なり、win_jaのfamil-ynameの文字列を変えていません。
| offset | length | 開始位置 | 呼出元plat_lang | 呼出元nameID | バイト列(デコード前の文字列) | utf_16_be | shift_jis |
|---|---|---|---|---|---|---|---|
| 00a6 | 10 | 0x5c815c | mac_en | 01 | 49 50 41 50 47 6f 74 68 69 63 | 䥐䅐䝯瑨楣 | IPAPGothic |
| 01fa | 10 | 0x5c82b0 | mac_ja | 49 50 41 50 47 6f 74 68 69 63 | 䥐䅐䝯瑨楣 | IPAPGothic | |
| 03f4 | 20 | 0x5c84aa | win_en | 01 | 00 49 00 50 00 41 00 50 00 47 00 6f 00 74 00 68 00 69 00 63 | IPAPGothic | IPAPGothic |
| 069c | 18 | 0x5c8752 | win_ja | 01 | 00 49 00 50 00 41 00 20 00 50 30 b4 30 b7 30 c3 30 af | IPA Pゴシック | IPA P0エ0キ0テ0ッ |
フォントビュアーです。"IPA Pゴシック"が2つ見えます。左が'/usr/share/fonts/opentype/ipafont-gothic/ipagp.ttf'のもの、右が'.local/share/fonts/ipagp.ttf'のものです。ゴシックではフォント名を変えなかったので同名で並んでいます。"IPA P明朝"は4つ並んでいます。/usr/share/のものと、.local/share/のもの3つです。そしてフォント名を変えた.local/share/のものひとつです。全部終わったら、"IPA Pゴシック"と同じ2つに変更しようと思っています。

Calcのフォント選択では、書き換え前は'IPA Pゴシック'はありませんでした。別のところに'䥐䅐䝯瑨楣'があるのです。"IPA P明朝"については、文字化けした'䥐䅐䵩湣桯'が離れたところに一つだけあります。Calcでは重複はまとめられるようです。名前を変えた"IPAcP明朝"は出ています。

'IPA Pゴシック'の書き換え後です。'IPA Pゴシック'が選択肢に出ています。別のところに'䥐䅐䝯瑨楣'も残っています。

Gimpです。"IPA Pゴシック"も、"IPA P明朝"もttfファイルの数だけ表示されています。'䥐䅐䝯瑨楣'も'䥐䅐䵩湣桯'も、ありません。この辺の判断はアプリごとに異なるようです。

ひとつ前のページ「フォントファイルを書き換えてフォント名の文字化けを回避する」には、/usr/share/fonts/以下にあるttfファイルを書き換える方法で、しかもmac_jaのoffsetをwin_jaのものに書き換えるというトリッキーに見える方法でYOzフォントの対策をすることを紹介しています。
このページでは、.local/share/fonts/にコピーされたttfファイルを書き換える方法で、mac_jaのnameID=01のoffsetとしているレコードをnameID=0x13にして、mac用のfamilynameをなきものにする方法を"IPA P"フォントを題材に紹介しています。
現在の不具合のあるfontconfigへの対策としては題材のフォントに限らず、どちらでも有効かと思いますが、後者のほうが簡単かつ安心な方法だと思います。
(1).local/share/fonts/へのコピーは、フォント(org.gnome.font-viewer)というDebian13-GNOMEの標準アプリで簡単に行える。
(2).local/share/fonts/のフォントはroot権限がなくても一般ユーザーで変更でき、やり直しも楽。
(3)Win用のオフセットを読んでmac用の部分に書き込むよりは、mac_jaの01をmac_jaの0x13とか0xAにする方がわかりやすい。
(4)fontconfigが修正されてもそのまま使える可能性が高い。