今回は、AviUtlを使っていて遭遇したフォントに関するトラブルとその解決法についてです。
対応はAviUtlのみで、他のソフトへの影響は検証していないのでご了承ください。
フォントが見つからない
フォントをインストールしたはずなのにリストに表示されない。
特にBold(太字)とItalic(斜体)の場合です。

例ではPoppinsのRegular, Italic, Boldで試してみます。

フォントファイルをダブルクリックしてみてください。
フォント名がいずれもPoppinsになっています。これをインストールしてみます。

フォント名が同じ場合、AviUtlにはPoppinsとしか表示されません。
BoldとItalicはどこに消えたのか。

テキストの設定ダイアログにはBとIのボタンがあり、そこを押すことでBoldとItalicのフォントを表示することができます。
BoldとItalicは消えたわけではなかったのです。
フォントのファミリー名を修正

次のパターンを見ていきます。
例はD-DIN Proです。

こちらはLight, Regular, Extraboldなどすべてのフォント名がD-DIN-PROと同じになっています。
これをインストールしてみます。

AviUtlではD-DIN-PROしか表示されません。
BoldやItalicではないのでBやIボタンでも表示されません。これは完全に表示されないパターンですね。
原因はフォント名が同じなことです。
解決法はフォント名を変えることです。
一旦フォントをアンインストールしておきましょう。
さて、ここで気を付けなければならないことがあります。それはフォントのライセンスです。
フォントファイルをいじってフォント名等を変えることは改変(Modify)にあたります。有償フォントはもちろん、独自ラインセンスの場合も多くがフォントの改変(フォントファイル自体をいじること)を制限または禁止しています。
SIL Open Font License 1.1のようにフォントの改変が許可されている場合にのみ行ってください。
SIL Open Font License 1.1でもフォントファイルを第三者に配布、または第三者が自由にアクセスできる状態に置くような場合はライセンスによる制限が適用されます。
あくまでも改変したフォントファイルを外部に配布しない場合を想定しています。
改変は自己責任でお願いします。

フォントファイルをいじるにはそのためのソフトが必要です。ここではFontForgeを使用しています。
→FontForge
FontForgeを起動してフォント名を変えたいフォントファイルを指定します。

D-DIN-PRO-300-Light.ttfを編集してみます。
エレメントからフォント情報をクリック。

フォント名、ファミリー名、表示用の名前がありますね。
今回扱っているフォント名とはファミリー名のことです。ここがD-DIN-PROになっていますね。

D-DIN-PRO LightにしてOKを押します。

ファイルからフォントを出力をクリック。

保存する場所を指定し、フォトの種類をTrueTypeにして生成をクリック。
エラーや警告のウィンドウは基本無視です。一応内容を読んでおいてください。

はい。
これでファミリー名が修正されたフォントが出力されます。

同じようにExtraBoldもファミリー名を修正します。

修正されたフォントファイルをダブルクリックで開いてみると、フォント名がD-DIN-PRO LightとD-DIN-PRO ExtraBoldになっているのが分かります。
フォントをインストールしてみます。

AviUtlでD-DIN-PROの他、LightとExtraBoldが表示されていますね。
Regular, Italic, Boldは通常通り表示されるので修正は不要です。
フォントの一部が見切れる

折角お気に入りのフォントを見つけたのに、よく見ると文字の一部が見切れてしまっている。そんなこともあります。

そのままインストールしてAviUtlで文字を打つと、やっぱり一部の文字で下が見切れている。
これはフォントの領域が本来の領域よりも小さくなっていることが原因だと思われます。
フォントの領域を広げることで解決します。

FontForgeでフォントファイルを読み込みます。
見切れている文字をダブルクリック。大抵はgやjです。

文字のアウトラインが表示されます。
ここでマウスカーソルを文字の下、gの底にもっていきます。
ウィンドウ左上に数値が表示されています。
ここの右側の数字を覚えておきます。-438.6ですね。

エレメントからフォント情報をクリック。
OS/2のメトリックタブを開きます。
Win Descentを見てみます。Descentは基準線からどのくらい下にはみ出すかです。ここでは300ですね。
このDescentの値を大きくすることで下にはみ出す領域を広げることができます。

先ほど計った数値は-438.6でした。少し余裕を見て450に設定してみます。
OKを押します。
ファイルからフォントを出力します。

出力したフォントファイルをダブルクリックしてみてみると、見切れていた部分が表示されているのが分かります。

AviUtlでもしっかりと文字の全体が表示されています。
フォントの領域をいじったので初期位置が変わっていると思いますが、そこは許容範囲かと。
細いウェイトが正しく表示されない

フォントの中で細いウェイトが太くなってしまう場合。
フォントのウェイトに関する情報が正しく読み込まれていないのが原因だと思われます。

FontForgeでフォントファイルを開きます。
エレメントからフォント情報をクリック。

PS Namesのウェイトの欄をLightにします。

続いてOS/2のその他タブからウェイトクラスを250にします。
どうやらLight以下、ウェイトクラス200や100を正しく読み込めないことが原因のようです。
PS NamesのウェイトをLightに、OS/2のウェイトクラスを250にすることで読み込めるようになると思います。
これはLightよりも細いウェイトすべて同じ対応で大丈夫だと思います。ExtralightもthinもLightの250にします。

AviUtlで確認すると、ちゃんと細いウェイトで正しく読み込むことができました。
フォントをいじる際は必ずバックアップを取って元に戻せるようにしておきましょう。
また、フォント改変の制限/禁止がないかライセンスを確認しましょう。
改変に関しては自己責任で行ってください。
以上、フォントトラブルでとった個人の対応策でした。参考になれば幸いです。
