公開日 2026-02-14 更新日 -
fontconfigが原因だろうという今のところの結論ですので、不具合として認められれば、versionは 2.15 のまま、通常のアップグレードで修正されるのを待つのがよいのですが、機能追加や仕様変更の扱いをされると、Debianの次のバージョン待ち(2027年)か、backportsに載るのを待つことになります。fontconfigは2.17の系統が用意されていますが、それで直っているかどうかはまだわかりません。
待っていられないならば、fontconfigのソースを自分で修正するという手もありますが、これはかなり敷居が高いです。それならば、ttfファイルそのものを訂正する方が可能性があるかもしれません。
fonttoolsのttxコマンドを使ってフォント名を変更したttfファイルを作る方法もあるようですが、正しい指定をしてもutf-16でデコードされて化けるので、イレギュラーな設定をしなければなりません。自分のところで使うだけならばwindows用のフォント名しか書かないことにすると良いかもしれません。
ttfファイルを直接書き換えてしまう手もあるかもしれません。mac_jaの部分をutf-16でデコードするのが原因と見られるので、mac_jaをwin_jaと同じバイト列を指すようにすれば、YOzフォントについては解決しそうです。ただし、ファイルにチェックサムがあるようなので、それを使用時に問題にされないようになっていればという条件があります。これはちょっと興味があります。
結構色々なフォントで化けることが確認されましたが、第三のフォント名が化けても実害はないので、今のところ私のところではYOzフォントだけが問題です。すでにttfファイルのnameテーブルは書き方を調べましたので、どこを直せはいいかはわかりますが、数が多い。そして逆に文字化けしていないフォントの中から選択してもある程度は満足できてしまうということもあって、対策が先送りになっています。
1.YOzフォントの化けた漢字と英語名の対応表を作ります。
2.たくさんあるフォントの違いを明らかにして、選択を楽にします。
英語名の記号の意味を調べるなかで、2.の方が広がってしまいました。
YOzフォントは5種のタイプがあります。これは主に「かな」のデザインの違いです。英字フォント名の4文字目で判別できます。
フォント名は'YO'ではじまりますので、これが化けると'奏'です。必ずこれで始まります。
3文字目は'z'です。4文字目が5種類(SNECAのどれか)なので、'zS'が'穓'、'zN'が'穎'などとなります。漢字の2文字目でタイプがわかります。
このSNECA はそれぞれ、Standard, New, Educational, Cute, Antique のことだそうです。
| 漢字 | 英字 | 分類 |
|---|---|---|
| 奏穓 | YOzS | Standard |
| 奏穎 | YOzN | New |
| 奏穅 | YOzE | Educational |
| 奏穃 | YOzC | Cute |
| 奏穁 | YOzA | Antique |
| 漢字 | 英字 |
|---|---|
| 塆 | XF |
| 塍 | XM |
| 䙍 | FM |
| 㤰 | 90 |
| 䘹 | F9 |
| 扩 | bi |
| ど | 0i |
| ぢ | 0b |
| 倹 | P9 |
| 䴹 | M9 |
| 䙩 | Fi |
| 䙢 | Fb |
| 偢 | Pb |
| 䵢 | Mb |
| 漢字 | 英字 |
|---|---|
| 塆㤰 | XF90 |
| 塍㤰 | XM90 |
| 䙍㤰 | FM90 |
| 㤰扩 | 90bi |
| 䘹ど | F90i |
| 䘹ぢ | F90b |
| 䘹ぢ楘 | F90biX |
| 倹ぢ | P90b |
| 䴹ぢ | M90b |
ちなみに、ファイル名では、英字4文字目は、R:Regular か、B:Bold の区別の文字になり、5文字目がタイプの区別文字(SNECA)になります。ちょっと混乱します。
| ファイル名 | 化け漢字 | 英語名 | style | |
|---|---|---|---|---|
| YOzRS_.ttf | 奏穓 | YOzS | Regular | |
| YOzRS_90.ttf | 奏穓㤰 | YOzS90 | Regular | |
| YOzRS_90i.ttf | YOzS90i | Regular | ||
| YOzRS_i.ttf | YOzSi | Regular | ||
| YOzRSF.ttf | YOzSF | Regular | ||
| YOzRSF90.ttf | YOzSF90 | Regular | ||
| YOzRSF90i.ttf | 奏穓䘹ど | YOzSF90i | Regular | |
| YOzRSFi.ttf | 奏穓䙩 | YOzSFi | Regular | |
| YOzRSP.ttf | YOzSP | Regular | ||
| YOzRSP90.ttf | YOzSP90 | Regular | ||
| YOzRSX.ttf | YOzSX | Regular | ||
| YOzRSX90.ttf | YOzSX90 | Regular | ||
| YOzRSXF.ttf | 奏穓塆 | YOzSXF | Regular | |
| YOzRSXF90.ttf | 奏穓塆㤰 | YOzSXF90 | Regular | |
| YOzRSXM.ttf | 奏穓塍 | YOzSXM | Regular | |
| YOzRSXM90.ttf | 奏穓塍㤰 | YOzSXM90 | Regular | |
| ファイル名 | 化け漢字 | 英語名 | style | |
|---|---|---|---|---|
| YOzBS_.ttf | YOzSb | 䉯汤 | Bold | |
| YOzBS_90.ttf | YOzS90b | 䉯汤 | Bold | |
| YOzBS_90i.ttf | 奏穓㤰扩 | YOzS90bi | 䉯汤 | Bold |
| YOzBS_i.ttf | 奏穓扩 | YOzSbi | 䉯汤 | Bold |
| YOzBSF.ttf | 奏穓䙢 | YOzSFb | 䉯汤 | Bold |
| YOzBSF90.ttf | 奏穓䘹ぢ | YOzSF90b | 䉯汤 | Bold |
| YOzBSF90i.ttf | 奏穓䘹ぢ楘 | YOzSF90bi | 䉯汤 | Bold |
| YOzBSFi.ttf | YOzSFbi | 䉯汤 | Bold | |
| YOzBSP.ttf | 奏穓偢 | YOzSPb | 䉯汤 | Bold |
| YOzBSP90.ttf | 奏穓倹ぢ | YOzSP90b | 䉯汤 | Bold |
1つ目の表がRegularで、2つ目の表がBoldです。英語ファイル名ではBoldのときに'b'が追加されます。
英語名が偶数の英字からなるときutf-16のデコードに成功するので、意味のない漢字文字列が日本語名とされます。'b'が追加されることで奇数と偶数が入れ替わりますから、Regularで文字化けしているときは、Boldではしません。Boldで文字化けしているときは、Regularでしません。ただ一つの例外は、YOzSF90bi です。
| YOzRN_.ttf | 奏穎 | YOzN | Regular | |
| YOzRN_90.ttf | 奏穎㤰 | YOzN90 | Regular | |
| YOzRN_90i.ttf | YOzN90i | Regular | ||
| YOzRN_i.ttf | YOzNi | Regular | ||
| YOzRN_M.ttf | YOzNM | Regular | ||
| YOzRN_M90.ttf | YOzNM90 | Regular | ||
| YOzRNF.ttf | YOzNF | Regular | ||
| YOzRNF90.ttf | YOzNF90 | Regular | ||
| YOzRNF90i.ttf | 奏穎䘹ど | YOzNF90i | Regular | |
| YOzRNFi.ttf | 奏穎䙩 | YOzNFi | Regular | |
| YOzRNFM.ttf | 奏穎䙍 | YOzNFM | Regular | |
| YOzRNFM90.ttf | 奏穎䙍㤰 | YOzNFM90 | Regular | |
| YOzRNX.ttf | YOzNX | Regular | ||
| YOzRNX90.ttf | YOzNX90 | Regular | ||
| YOzRNXF.ttf | 奏穎塆 | YOzNXF | Regular | |
| YOzRNXF90.ttf | 奏穎塆㤰 | YOzNXF90 | Regular | |
| YOzRNXM.ttf | 奏穎塍 | YOzNXM | Regular | |
| YOzRNXM90.ttf | 奏穎塍㤰 | YOzNXM90 | Regular |
| YOzBN_.ttf | YOzNb | 䉯汤 | Bold | |
| YOzBN_90.ttf | YOzN90b | 䉯汤 | Bold | |
| YOzBN_90i.ttf | 奏穎㤰扩 | YOzN90bi | 䉯汤 | Bold |
| YOzBN_i.ttf | 奏穎扩 | YOzNbi | 䉯汤 | Bold |
| YOzBN_M.ttf | 奏穎䵢 | YOzNMb | 䉯汤 | Bold |
| YOzBN_M90.ttf | 奏穎䴹ぢ | YOzNM90b | 䉯汤 | Bold |
| YOzBNF.ttf | 奏穎䙢 | YOzNFb | 䉯汤 | Bold |
| YOzBNF90.ttf | 奏穎䘹ぢ | YOzNF90b | 䉯汤 | Bold |
| YOzBNF90i.ttf | YOzNF90bi | 䉯汤 | Bold | |
| YOzBNFi.ttf | YOzNFbi | 䉯汤 | Bold | |
| YOzBNFM.ttf | YOzNFMb | 䉯汤 | Bold | |
| YOzBNFM90.ttf | YOzNFM90b | 䉯汤 | Bold |
| YOzRE_.ttf | 奏穅 | YOzE | Regular | |
| YOzRE_90.ttf | 奏穅㤰 | YOzE90 | Regular | |
| YOzRE_90i.ttf | YOzE90i | Regular | ||
| YOzRE_i.ttf | YOzEi | Regular | ||
| YOzRE_M.ttf | YOzEM | Regular | ||
| YOzRE_M90.ttf | YOzEM90 | Regular | ||
| YOzREF.ttf | YOzEF | Regular | ||
| YOzREF90.ttf | YOzEF90 | Regular | ||
| YOzREF90i.ttf | 奏穅䘹ど | YOzEF90i | Regular | |
| YOzREFi.ttf | 奏穅䙩 | YOzEFi | Regular | |
| YOzREFM.ttf | 奏穅䙍 | YOzEFM | Regular | |
| YOzREFM90.ttf | 奏穅䙍㤰 | YOzEFM90 | Regular | |
| YOzREX.ttf | YOzEX | Regular | ||
| YOzREX90.ttf | YOzEX90 | Regular | ||
| YOzREXF.ttf | 奏穅塆 | YOzEXF | Regular | |
| YOzREXF90.ttf | 奏穅塆㤰 | YOzEXF90 | Regular | |
| YOzREXM.ttf | 奏穅塍 | YOzEXM | Regular | |
| YOzREXM90.ttf | 奏穅塍㤰 | YOzEXM90 | Regular |
| YOzBE_.ttf | YOzEb | 䉯汤 | Bold | |
| YOzBE_90.ttf | YOzE90b | 䉯汤 | Bold | |
| YOzBE_90i.ttf | 奏穅㤰扩 | YOzE90bi | 䉯汤 | Bold |
| YOzBE_i.ttf | 奏穅扩 | YOzEbi | 䉯汤 | Bold |
| YOzBE_M.ttf | 奏穅䵢 | YOzEMb | 䉯汤 | Bold |
| YOzBE_M90.ttf | 奏穅䴹ぢ | YOzEM90b | 䉯汤 | Bold |
| YOzBEF.ttf | 奏穅䙢 | YOzEFb | 䉯汤 | Bold |
| YOzBEF90.ttf | 奏穅䘹ぢ | YOzEF90b | 䉯汤 | Bold |
| YOzBEF90i.ttf | YOzEF90bi | 䉯汤 | Bold | |
| YOzBEFi.ttf | YOzEFbi | 䉯汤 | Bold | |
| YOzBEFM.ttf | YOzEFMb | 䉯汤 | Bold | |
| YOzBEFM90.ttf | YOzEFM90b | 䉯汤 | Bold |
| YOzRA_.ttf | 奏穁 | YOzA | Regular | |
| YOzRA_90.ttf | 奏穁㤰 | YOzA90 | Regular | |
| YOzRA_90i.ttf | YOzA90i | Regular | ||
| YOzRA_i.ttf | YOzAi | Regular | ||
| YOzRAF.ttf | YOzAF | Regular | ||
| YOzRAF90.ttf | YOzAF90 | Regular | ||
| YOzRAF90i.ttf | 奏穁䘹ど | YOzAF90i | Regular | |
| YOzRAFi.ttf | 奏穁䙩 | YOzAFi | Regular | |
| YOzRAP.ttf | YOzAP | Regular | ||
| YOzRAP90.ttf | YOzAP90 | Regular |
| YOzBA_.ttf | YOzAb | 䉯汤 | Bold | |
| YOzBA_90.ttf | YOzA90b | 䉯汤 | Bold | |
| YOzBA_90i.ttf | 奏穁㤰扩 | YOzA90bi | 䉯汤 | Bold |
| YOzBA_i.ttf | 奏穁扩 | YOzAbi | 䉯汤 | Bold |
| YOzBAF.ttf | 奏穁䙢 | YOzAFb | 䉯汤 | Bold |
| YOzBAF90.ttf | 奏穁䘹ぢ | YOzAF90b | 䉯汤 | Bold |
| YOzBAF90i.ttf | YOzAF90bi | 䉯汤 | Bold | |
| YOzBAFi.ttf | YOzAFbi | 䉯汤 | Bold | |
| YOzBAP.ttf | 奏穁偢 | YOzAPb | 䉯汤 | Bold |
| YOzBAP90.ttf | 奏穁倹ぢ | YOzAP90b | 䉯汤 | Bold |
| YOzRC_.ttf | 奏穃 | YOzC | Regular | |
| YOzRC_90.ttf | 奏穃㤰 | YOzC90 | Regular | |
| YOzRC_90i.ttf | YOzC90i | Regular | ||
| YOzRC_i.ttf | YOzCi | Regular | ||
| YOzRCF.ttf | YOzCF | Regular | ||
| YOzRCF90.ttf | YOzCF90 | Regular | ||
| YOzRCF90i.ttf | 奏穃䘹ど | YOzCF90i | Regular | |
| YOzRCFi.ttf | 奏穃䙩 | YOzCFi | Regular |
| YOzBC_.ttf | YOzCb | 䉯汤 | Bold | |
| YOzBC_90.ttf | YOzC90b | 䉯汤 | Bold | |
| YOzBC_90i.ttf | 奏穃㤰扩 | YOzC90bi | 䉯汤 | Bold |
| YOzBC_i.ttf | 奏穃扩 | YOzCbi | 䉯汤 | Bold |
| YOzBCF.ttf | 奏穃䙢 | YOzCFb | 䉯汤 | Bold |
| YOzBCF90.ttf | 奏穃䘹ぢ | YOzCF90b | 䉯汤 | Bold |
| YOzBCF90i.ttf | YOzCF90bi | 䉯汤 | Bold | |
| YOzBCFi.ttf | YOzCFbi | 䉯汤 | Bold |
ファイル名、フォント名で Regular/Bold の書き方が大きく異なります。ファイル名はYOzのすぐ後に大文字でRかBか記入され、フォント名はBoldのときだけ最後の方に小文字で'b'と入ります。他はほぼ同じ文字が同じ意味で追加されます。スタイルや書体などの用語は調べた資料の用語をそのまま使っていますので、統一を求めないでください。
フォント名の作りは : YOz[仮名の種類][スタイル][規格][書体]
ファイル名の作りは : YOz[R/B][スタイル][規格][i].ttf
| 記号の意味 | ファイル名内 | フォント名内 | 備考 | |
|---|---|---|---|---|
| 種類 | 仮名の種類 | SNECAのどれか | 同左 | ひらがな・カタカナのみ異なり、かな漢字は同じ |
| ス タ イ ル | 英数字だけ可変幅 | _(下線) | なし | 多くの文字は幅が広がる |
| かなを可変幅に | P | P | かなは詰まる。英数字は無印の可変幅と同じ | |
| 英数字が等幅 | F | F | 英数字は半角になり、詰まる。かな漢字は等幅 | |
| 英数字がブロック体 | X | X | 直立で飾らずはっきりした字体。字間も若干広がる | |
| afgijlqtxzが数学用に筆記調 | M | M | ||
| 規格 | JIS X 0208-1990 | 90 | 90 | ないものはJIS X 0213:2004の文字 |
| 書体 | Regular | R | なし | |
| Bold | B | b | 太字 | |
| イタリック | i | i | 半角英数のみ。傾くだけでなく筆記体に近くなる文字もある。 |
参考資料:https://kledgeb.blogspot.com/2022/09/ubuntu-2204-303-yozfont.html kledgeb:Ubuntu 22.04 その303
JIS X 0208-1990 と JIS X 0213:2004 の違いは第2水準までの0208と、第4水準まで定義されている0213の文字数の圧倒的な違いですが、一部の文字の字形が異なっています。下図のYOzS90とYOzSを比較してください。

YOzS90は、JIS X 0208-1990 の範囲を網羅するフォントと説明していますが、図では JIS X 0213:2004 の文字も全部表示できているように見えます。図のYOzS90の行で、背景色がある範囲の文字は、YOzS90 に含まれていない文字なのですが、ブラウザが気を利かしてデフォルトのフォントを代用して表示したものです。デフォルトのフォントはDefaultの行に示しましたが、文字のデザインを比べることで代用したことがわかります。
赤色の文字は、unicodeで、BMP(基本多言語面)ではなく、CJK統合漢字拡張B(追加多言語面) に登録されているものです。
JIS X 0213:2000 から JIS X 0213:2004 の間に一部の文字の例示字形が替わりました。JIS X 0208-1990 の字形は JIS X 0213:2000 と同じです。替わった文字は全部で168字ありますが、少しだけ紹介してあります。使用したブラウザのデフォルトは JIS X 0213:2000 の字形に準拠しているので YOzS90 と同じになっているのが見て取れます。葛の下がヒだったり、酋の上が広い形だったり、辻のしんにょうが一点だったりします。
このブラウザのデフォルトは 'VL ゴシック' です。𨉷や𠂢など、あまり使わない文字については文字の品質が落ちているようです。'YOzS'と'BIZ UD明朝'と'IPA明朝'は JIS X 0213:2004 準拠でしっかり作ってあります。
YOzフォントはたくさん種類があって、しかも等幅と可変幅、プロポーショナルの間に追加した仕様を感じます。いままでは、はっきりとわからないまま文書ができてからフォントを変えて、一番あったものをつかっていました。今回調べることができましたので整理しておきたいと思います。
まず、90付きのフォントは90なしのフォントと必ず対になっています。フォント名は2文字の増減ですので、化けるかどうかは変化がありません。そこで全部省くことにしました。
SNECAでの対応をとってみました。同じパターンになっているものもわかってきましたし、NewとEducationalに力が入っていることが感じられます。
次にBoldがあるものをまとめました。Regularしかないものは3種類だけです。全部ブロック体の X がついています。これは読みやすさ、視認性をあげようとしているフォントなので字が潰れたり隣との距離が近くなってしまうBoldとは相容れないものということなのでしょう。
| No | Antique | Cute | Educational | New | Standard | Bold | |
|---|---|---|---|---|---|---|---|
| 1 | YOzA | YOzC | YOzE | YOzN | YOzS | 漢字と英数は共通。かなのみ異なる。 | Boldあり |
| 2 | YOzAi | YOzCi | YOzEi | YOzNi | YOzSi | 英数のみイタリック | |
| 3 | YOzEM | YOzNM | afgijlqtxzが数学用に筆記調 | ||||
| 4 | YOzAF | YOzCF | YOzEF | YOzNF | YOzSF | 英数字が等幅(半角) | |
| 5 | YOzAFi | YOzCFi | YOzEFi | YOzNFi | YOzSFi | 英数字が等幅でイタリック | |
| 6 | YOzEFM | YOzNFM | 英数字が等幅で、afgijlqtxzが数学用に筆記調 | ||||
| 7 | YOzAP | YOzSP | かなも可変幅(全角固定でなくなる) | ||||
| 8 | YOzEX | YOzNX | YOzSX | 英数字がブロック体 | Boldなし | ||
| 9 | YOzEXF | YOzNXF | YOzSXF | 英数字がブロック体で等幅 | |||
| 10 | YOzEXM | YOzNXM | YOzSXM | 英数字がブロック体でafgijlqtxzが数学用に筆記調 |
YOz??? のように背景があるものはフォント名が文字化けするもの。Boldでは反転する(YOzSFi以外)。
SNECA(Standard,New,Educational,Cute,Antique)を通して漢字と半角英数、そして半角カナは同じデザインです。かなと全角英数の違いだけです。

背景色がある範囲がSNECAで異なる部分です。
イタリックは半角英数にのみ影響します。ボールドはすべての文字で多少太くなります。
Standardについてのみ図にしましたが、どのタイプでも同じです。

背景色がある範囲がイタリックになっています。
i,F,P,X,M による変化だけです。
Fによる等幅は薄緑色の部分です。MもIも同じ幅になって全体は詰まります。
Pによる可変幅は薄青色の部分です。

Pによっても全角の数字は等幅のままです。半角英数はもともと可変幅と認識していましたが、よく見ると数字は等幅です。数値を並べるときに桁が揃わなくなることがないようにしているのだと思います。
Xの効果は1の上のカギ部分がないとか、iの点とか、Jの上の線やMの上のセリフがないなど、細かいですが、文字をはっきりさせる工夫をしています。
Mは、i,l,xなどで数学用に筆記体風になっているのがわかります。
実は漢字やかなの部分はもともと等幅です。Pで可変幅になって幅が詰まり、Fで等幅になって全体では幅が詰まるのでちょっと混乱します。そこで、全体を等幅と可変幅に色分けしてみました。

Sタイプに比べて変化するのは基本的にはかな部分です。半角英数はほとんど替わりませんが、Nタイプの特徴は、Pがなくなり、M系が増えることです。NM,NFMが追加になり、M系が3つになっています。

タイプが替わるとかな部分が変化しますが、全角英数も変化しています。変化している部分に背景色をつけました。半角英数はP,F,X,Mの部分の顔ぶれもEタイプと等しいのでこれは変化なしです。

CタイプはオリジナルとF(等幅)、そしてそのイタリックしか種類はありません。しかし、かな部分の変形の度合は全角英数を含めて大きくなっています。

AタイプはCタイプがFだけだったのに対して、Pを追加しています。しかし、SタイプのPに比べて全角英字にまで及んでいません。

可変幅は一般的にはプロポーショナルと言われているものでしょう。等幅がは文字の幅が同じであることを指します。漢字とかなならば、等幅である方が自然です。対して英字では m,w などは幅が大きく、i,l などは幅が小さいので可変幅が自然です。YOzフォントで、漢字とかなは等幅、英字(半角)は可変幅で配置するのはとてもリーズナブルなことです。
問題は、歴史的事情から日本では英字と数字に全角と半角の区別があるという所です。半角とは全角の半分の幅で等幅な文字を指す言葉でした。半角英数と言いながら、全角の2/3の幅で等幅とするのもバランスが良く、可変幅にする場合もあるので言葉としては不適切ですが、広く使われています。
全角と半角を見た目で似た幅の表示にするフォントもありましたが、文字コード上は異なるものなので、混在させても気が付かない場合があり、困ります。word も word も word も word も同じに見えても文字検索で出てこないものがあったりしますから。
YOzフォントは、英字を次のように扱います。
数字はちょっと異なります。
実際に確かめてください。

SNECAによるグリフの違いはひらがなとカタカナが主な違いで、半角英数には影響しないのですが、見やすくするためのXと数学用のMに絡んでちょっとだけ違いがあります。
SNECAによる違いがないので、Nで代表させています。Pは全角かなを可変幅にしますが半角には影響しない(半角はもともと可変幅)ことを確認するために最初に入れています。

全部を確認したい方はこちら。
