フォント編集ソフト(FontForgeなど)を使って既存フォントを回転させたり改変した際、「インストール時に既存フォントと同一扱いになって上書きされてしまう」という問題はよく発生します。本記事では、フォント名の競合問題の原因と、安全に別フォントとして扱うための対処法を整理します。
フォントが上書きされる原因とは
フォントは見た目のファイル名ではなく「内部ID(Font Name / Family Name / Unique Name)」で識別されています。
そのため、FontForge()で編集しても内部情報が同じままだと、OS側は「同じフォント」と判断します。
結果として、新規インストールではなく上書き扱いになります。
重要なのはファイル名ではなく内部フォント名
フォントには以下のような内部名があります。
・Font Family Name(ファミリー名)
・Full Name(表示名)
・PostScript Name(識別名)
これらのどれかが既存フォントと一致していると、別フォントとして認識されません。
TTF_NameEditで変更できない理由
TTF_NameEditなどのツールで変更できないケースは、フォント内部の構造(テーブル)が壊れているか保護されている可能性があります。
特にFontForgeで変換・回転処理を行ったフォントは、一部のメタ情報が正しく更新されないことがあります。
そのため編集ツールが「変更不可」と判断する場合があります。
安全に別フォントとして保存する方法
最も確実な方法はFontForge側で内部名を明示的に変更することです。
手順としては「Element → Font Info」で以下を変更します。
・Fontname(英数字のみ)
・Family Name
・Full Name
例えば「HG正楷書体-Rotate90」など、元フォントと完全に異なる名前にする必要があります。
90度回転フォントの作成上の注意点
単純にグリフを90度回転させると、縦書き用途で不具合が出る場合があります。
また、文字のベースラインやメトリクスが崩れるため、縦書き用途なら専用調整が必要です。
可能であれば「縦書き用フォントを新規設計する」か「OpenTypeの縦書き機能を活用する」のが安定します。
まとめ
フォントの上書き問題はファイル名ではなく内部フォント名の一致が原因です。
FontForgeで編集する場合は必ずFont Infoで各種Nameテーブルを変更し、既存フォントと完全に別物として登録する必要があります。
90度回転フォントは技術的には作成可能ですが、縦書き対応やメトリクス調整まで行うことで実用性が確保できます。

コメント