ステキな98フォントを使うには 〜偏ったこだわり〜2
ここでは今更感満載ではありますが、管理人が大好きな98x1のフォントをWindowsでそれなりに便利に使う方法を適当に紹介をいたします。定番のおっさんホイホイであります!
論より証拠
まずはWindows10のコマンドプロンプトで98フォントを使っている風景を一つ。
さて、98フォント(正式な名前はよく分かりませんので、ここではNEC PC-98x1に搭載されているノーマルモード時の8ドットおよび16ドットのゴシック体ビットマップフォントを『98フォント』と呼称します。2016年現在、NECではFontAvenue:BMFのバリエーションの一つと定義しているようです)をWindowsで使う為に、98フォントをTTFフォント化する方法およびツールはいくつか発表されており、中でもTbwさん開発のPC-98xx series font converter set for winは簡単かつ確実に98フォントをTTF化出来る素晴らしいツールであります。
しかしこのツールを用いて出来た98font.ttfでは、管理人の環境(Windows10)では以下の事象により常用に至りませんでした。
- コマンドプロンプトで使えない
- 一部のテキストエディタでは、文字コードがUNICODEおよびSJIS以外だと表示されない
- 一部環境では文字サイズが既定の12ポイント以外だと表示されない
このため「PC-98xx series font converter set for win」で作った98font.ttfにもう一工夫する事により、上記の事象を改善する方法を以下にご紹介します。
方法論
Windows環境で一番安定(?)しているMS ゴシックの16x16のビットマップフォント部を、98フォントにすげ替えます。
これにより、98フォントでカバーしきれない文字やフォントサイズは元々のMS ゴシックでカバーされるので、作業性の高いフォントとなります。
なお、当たり前ですがこの行為は著作権法に引っかかりますので、やるなら全て自己責任です。管理人は一切責任を負いません。以下の記事は、自分で責任が取れるオトナの人だけ読んで下さいな。
作業内容
PC-98xx series font converter set for winで98font.ttfを作る
必要なものは以下の通り。
- ある程度のスキル
- PC-98xx series font converter set for win
- PC-98x1の稼働する実機+MS-DOS環境
- 改行コードがLFのファイルを編集出来るテキストエディタ
- 98フォントへの飽くなき愛着
- やる気
まずPC-98xx series font converter set for winで98font.tffを作ってください。やり方は同ツールでとても丁寧に説明されているので、そちらをご参考のこと。
なお、あまり深い階層のフォルダ(デスクトップとか)で使うと上手く動かない様なので、ルートに近いフォルダで使用するといいでしょう。
98font.ttfが出来たら次の処理に進みます。
98font.ttfからBDFファイルを作る
そもそもPC-98xx series font converter set for winでは98内蔵フォントROM→FONT X形式のフォントファイル→BDF形式のフォントファイル→TTFと変換を重ねていますが、わざわざ98font.ttfを作って改めてBDFでビットマップを抜くには以下の理由があります。
- 98font.ttfは”¥”の扱いなど、機種差によるフォントマッピングがWindows向けにカンペキに修正されてある
- 全角と半角が一緒になったBDFファイルが作れる
特に一つ目のマッピングの修正がとても重要です。これを手動でやるのはかなり悲惨かと思われます。各ツールの作者様には感謝です。
ここでの処理には、以下のものが必要になります。
- ある程度のスキル
- Microsoft typography font tools(Wayback Machine)
- 改行コードがLFのファイルを編集出来るテキストエディタ
- 98フォントへの飽くなき愛着
- やる気
Microsoft typography font toolsをダウンロードしたら適当に実行して、中身のsbit32.exeを取りだしておいてください。
次に、sbit32.exeが利用するメトリックファイルを作成します。テキストエディタで以下の中身のテキストファイルを作り、ファイル名は「sbit32.met」で保存してください。
PPEM 16
そして98font.ttfとsbit32.exeとsbit32.metを適当な作業フォルダ(以下の説明ではC:\font\)に配置し、以下のコマンドを実行して下さい。
C:\font\SBIT32.EXE -x 98font.ttf sbit32.met 98font.bdf
98font.bdfが正常に作成されたら、これをテキストエディタで開いてください。そして、以下の文字列を全て→の後の様に変更してください。
FONTBOUNDINGBOX 16 16 0 0 → FONTBOUNDINGBOX 16 16 0 -2
BBX 8 16 0 0 → BBX 8 16 0 -2
BBX 16 16 0 0 → BBX 16 16 0 -2
BBX 8 16 0 0およびBBX 16 16 0 0は98font.bdfファイル中に文字の数分(合わせて約8000個とか)あるので、一括置換で変更しないと日が暮れて98フォントが嫌いになっちゃいます。
編集が済んだら次の作業に移ります。
MS ゴシックの16x16ドットビットマップを98font.ttfのとすげ替える
ここでの処理には、以下のものが必要になります。
- ある程度のスキル
- UniteTTC
- 98フォントへの飽くなき愛着
- やる気
先程のsbit32.exeのあるフォルダにY.OzさんのUniteTTC.exeを入れておき、Windowsのフォントフォルダからmsgothic.ttcをコピー。その後、UniteTTC.exeでmsgothic.ttcをTTFファイルにバラしてください。
C:\font\UniteTTC.exe msgothic.ttc
そして今回必要な『MS ゴシック』のファイルは多分msgothic001.TTFだと思われるので(各自クリックして確かめてください)、それ以外のmsgothic00x.TTFは要らないので削除。
次にmsgothic001.TTFから16x16ドットのビットマップフォント部を削除します。以下のコマンドを実行して下さい。
C:\font\sbit32 -d msgothic001.TTF sbit32.met out.ttf
正常にout.ttfが作成されたら、次の作業に移ります。続けて以下のコマンドを実行して下さい。
C:\font\sbit32 -a out.ttf 98font.bdf sbit32.met out2.ttf
この時点で、out2.ttfは98フォントが乗ったMS ゴシックになっています。一度クリックしてビューアで確かめて見ましょう(焦ってインストールしないように!!)。フォントサイズが12の所が98フォントになっているはずです。
しかし、このままではWindowsに初めから入っているMS ゴシックとかち合って正常には使えません。このため、98フォントが乗ったMS ゴシックの名前を変更します。
フォント名を変える
ここでの処理には、以下のものが必要になります。
- ある程度のスキル
- 良いフォント名を考えるセンス
- ttfname3
- 98フォントへの飽くなき愛着
- もう一踏ん張りのやる気
フォント名を変える為に、ここではシカゴ・ブルースさんのttfname3を利用します。
ttfname3.exeを作業フォルダに入れたら、以下のコマンドを実行してください。
C:\font\ttfname3 out2.ttf
正常に実行出来たら作業フォルダにout2.xmlが作成されているので、これをテキストエディタで開いて『MS ゴシック』になっているところを何かステキな名前に変更します。
ここでは"MS ゴシック98"というセンスの欠片も無い名前に変更してみます。変更後は以下の通り。
<?xml version="1.0"?>
<Fonts>
<Font>
<!-- ****************** Font(0) ****************** -->
<Header
Ascender="220"
Descender="-36"
TypoAscender="220"
TypoDescender="-36"
WinAscender="220"
WinDescender="36"
AverageCharWidth="128"
Codepage1="4002009f"
Codepage2="dfd70000" />
<Name>
<!-- Copyright -->
<T n="3,1,0409,0">c 2012 data:RICOH Co.,Ltd. typeface:RYOBI IMAGIX CO.</T>
<T n="3,1,0411,0">c 2012 data:株式会社リコー typeface:リョービイマジクス(株)</T>
<T n="3,10,0409,0">c 2012 data:RICOH Co.,Ltd. typeface:RYOBI IMAGIX CO.</T>
<T n="3,10,0411,0">c 2012 data:株式会社リコー typeface:リョービイマジクス(株)</T>
<!-- Family -->
<T n="3,1,0409,1">MS Gothic98</T>
<T n="3,1,0411,1">MS ゴシック98</T>
<T n="3,10,0409,1">MS Gothic98</T>
<T n="3,10,0411,1">MS ゴシック98</T>
<!-- Subfamily -->
<T n="3,1,0409,2">Regular</T>
<T n="3,1,0411,2">標準</T>
<T n="3,10,0409,2">Regular</T>
<T n="3,10,0411,2">標準</T>
<!-- UniqueIdentifier -->
<T n="3,1,0409,3">Microsoft:MS Gothic98</T>
<T n="3,1,0411,3">Microsoft:MS ゴシック98</T>
<T n="3,10,0409,3">Microsoft:MS Gothic98</T>
<T n="3,10,0411,3">Microsoft:MS ゴシック98</T>
<!-- FullName -->
<T n="3,1,0409,4">MS Gothic98</T>
<T n="3,1,0411,4">MS ゴシック98</T>
<T n="3,10,0409,4">MS Gothic98</T>
<T n="3,10,0411,4">MS ゴシック98</T>
<!-- Version -->
<T n="1,0,0000,5">Version 5.10</T>
<T n="3,1,0409,5">Version 5.10</T>
<T n="3,1,0411,5">Version 5.10</T>
<T n="3,10,0409,5">Version 5.10</T>
<T n="3,10,0411,5">Version 5.10</T>
<!-- PostscriptName -->
<T n="3,1,0409,6">MS-Gothic98</T>
<T n="3,1,0411,6">MS-Gothic98</T>
<T n="3,10,0409,6">MS-Gothic98</T>
<T n="3,10,0411,6">MS-Gothic98</T>
<!-- Trademark -->
<T n="3,1,0409,7">MS Gothic is a trademark of the Microsoft group of companies.</T>
<T n="3,1,0411,7">MS ゴシックは米国 Microsoft Corporation の米国及びその他の国の登録商標または商標です。</T>
<T n="3,10,0409,7">MS Gothic is a trademark of the Microsoft group of companies.</T>
<T n="3,10,0411,7">MS ゴシックは米国 Microsoft Corporation の米国及びその他の国の登録商標または商標です。</T>
</Name>
</Font>
</Fonts>
編集を終えたらxmlファイルを保存し、以下のコマンドを実行してください。
C:\font\ttfname3 out2.ttf out2.xml
正常に終了するとout2_mod.ttfが出力されるのでこのファイルの名前を適度に変え、最後に今一度ビューアで確認して見ましょう。
無事フォント名が"MS ゴシック98"に変わっていたら、そのフォントファイルをWindowsのフォントフォルダに入れるかビューアからインストールします。
最後に、98フォントをお気に入りのテキストエディタに設定したり、コマンドプロンプトでも使える様にレジストリを変更します。
コマンドプロンプトで98フォントを使う為の変更点としてRegファイルの中身を晒すので、適当に変更してください。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont]
"932.1"="*MS ゴシック98"
事前に前述のレジストリを調べておき、既に932.1があるなら932.2の様にドットの後の数字をインクリすれば、複数のフォントがコマンドプロンプトで使える様になります。
なお、ここで出来たフォントはコマンドプロンプトやテキストエディタではほぼ問題無く使える物の、ブラウザなどでは正常に表示されないなどそれなりに問題があります。勢い余ってシステムフォントと完全にすげ替え、表示がおかしくなって画面の文字が全く読めなくなっても管理人は知りませんので、ちゃんとリスクを考えて遊んでくださいね。
98フォントの考察
98フォントはコーディングを多用するテキストエディタやコマンドプロンプトに使うならば、それなりに見やすいフォントであると言えるでしょう。もちろんこの辺、記憶の美化が激しいので人によって色々意見の違うところであると思いますが。
しかし普通のWindowsの画面で使う事を考えた場合、最新のフォントに比べて以下の特徴があると思います。(フォントが作られたのが30年以上前なので、そもそも最近のフォントと比較するのがお門違いではある)
- 最近のUDフォントと比べた場合、やや懐が狭いので可読性に劣るシーンがある
- 全角文字(特に漢字)が大きい為、全半混合の場合ベースラインのずれが強調される
- 全角文字(特に漢字)と半角文字の大きさの差が大きい為、見づらいシーンがある
- もともとCRT(黒地に白)で表示される為のフォントだった為か、ウェイトが細いので白地の液晶画面だと見づらいシーンがある
とは言いつつ、一定の年齢層はこのフォントばっかり見て育ったわけで、見やすさ・読みやすさとはまた違った馴染み感は抜群であると言えましょう。
もう一踏ん張り
本ページの説明で作ったフォントには、以下の問題点があります。
- 83JISで追加された記号(例えば♪や¶など)等は9801に無いので表示出来無い
- 83JISで入れ替えもしくは以降の新JISで追加された文字に対応出来ていない
- ブラウザで使うと表示が崩れる
9801のフォントは78JISを元に作られたので、78JIS→83JISで入れ替えがあった漢字22字および追加になった漢字4字、記号等は現行のフォントと形が違ったり、そもそも表示されません。
よっぽどマニアックな漢字ならば放っておくという運用も可能ですが、例えば”遥”のような普通に使う字も抜けたりするので気になると言えば気になります。
個人的には、♪が出ないのがかなり問題でした。よく使うので。
これら問題を直すには、それなりに作業が必要で、かつ既に公開されていないツールを使う必要がある為、ヒントだけお知らせします。
83JISで追加された記号
PC-98xx series font converter set for winで作成されたjpnhn16x.bdfおよびjpnzn16x.bdfを、TTFTOOLSに含まれるSbitRW.exeを使って直接MSゴシックのTTFファイル(もちろん分割済み)に上書きします。もしくは上述の98font.bdfに対し、MSゴシックから作成したBDFファイルより抜けている文字のビットマップ情報をしこしこコピーします。愛があれば出来ます。管理人は出来ました。
83JIS等で追加された漢字および入れ替えされた漢字
83JIS等で入れ替えや追加が行われた漢字はJIS X 0208の附属書7に詳細がありますが、とりあえず以下の漢字が該当します。
78JIS | 83JIS |
---|---|
9C3A 鰺 | 9BF5 鯵 |
9DAF 鶯 | 9D2C 鴬 |
8823 蠣 | 86CE 蛎 |
652A 攪 | 64B9 撹 |
7AC8 竈 | 7AC3 竃 |
704C 灌 | 6F45 潅 |
8AEB 諫 | 8ACC 諌 |
9838 頸 | 981A 頚 |
7926 礦 | 783F 砿 |
8602 蘂 | 854A 蕊 |
9771 靱 | 976D 靭 |
8CE4 賤 | 8CCE 賎 |
58FA 壺 | 58F7 壷 |
792A 礪 | 783A 砺 |
6AAE 檮 | 68BC 梼 |
6FE4 濤 | 6D9B 涛 |
9087 邇 | 8FE9 迩 |
8805 蠅 | 877F 蝿 |
6A9C 檜 | 6867 桧 |
5118 儘 | 4FAD 侭 |
85EA 藪 | 85AE 薮 |
7C60 籠 | 7BED 篭 |
BDFファイルでそれぞれの文字コード(表中の4文字はUnicodeです)を検索し、ビットマップを入れ替えれば大丈夫です。
次に83JISで追加された新しい文字と入れ替えがあった物は以下の漢字が該当します。
78JIS | 83JIS |
---|---|
582F 堯 | 5C2D 尭 |
69C7 槇 | 69D9 槙 |
9059 遙 | 9065 遥 |
7464 瑤 | 7476 瑶 |
これらの文字で83JISの方は98フォントに含まれていない(BDFファイルでは空白のビットマップになっている)ので、MSゴシック辺りのBDFからビットマップを拝借するしかありません。
(より根性があるなら、98フォントに似せて自分で字形を作るのも良いかも知れません。ちなみにNECのFAゴシックのビットマップは98フォントとは全然似ていません。まだMSゴシックの方が雰囲気が近いです。ただしMSゴシックのビットマップフォントは16ライン目が下線用に空けてある(つまり15ドットで描かれている)ため、他の98フォントと並べるとベースラインがズレてみっともなく見えます。このためビットマップをコピーするときは16ライン目の0000を1ライン目に移動し、1ライン目を空けるようにすればまだ見栄えが良くなります)
ついでに90JISで加わった2文字も紹介します。これらもMSゴシック辺りからビットマップを拝借しましょう。
90JIS |
---|
51DC 凜 |
7199 熙 |
ブラウザでの動作
管理人の環境では、SBIT32を使ってTTFにBDFを入れ込んだ場合、IE等で98フォントを使用したら文字がグチャグチャに崩れる事象が発生しました。
この現象は、TTFTOOLSに入っているSbitRW(Wayback Machine)を使って98フォント用BDFをMSゴシックのTTFに上書きした場合は出なくなります。