Gigamix Online

懐かしの8bitおもちゃPC「MSX」を骨までしゃぶり尽くそう。MSXの最新ニュース、ブログ、自作ソフトの配布など。

MSX共通・漢字ROMの「非漢字部分」のフリーフォント

 MSXの漢字ROMに含まれている「JISの規格外だがMSXの各機種で共通っぽい非漢字部分の文字群」について、旧JISレベルな実機側との互換性をいまさら取るために手描きをしたライセンスフリーフォントです。

 なんという後ろ向きなソリューション!

MSX共通・漢字ROMの「非漢字部分」とは

 MSXの漢字ROMは旧JIS(JIS C 6226、いわゆる78JIS)ベースですが、主に非漢字部分であるシフトJISコード 81ADh~859Eh には、旧JISでは未定義なのに独自に実装された文字および新JIS(いわゆる83JIS)とは違う独自に実装された文字が含まれています。

https://p.gigamix.jp/devmsx/cg/kanjirom_non-kanji_large.png

 この漢字部分は東芝ワープロRupoシリーズと互換性があるものの、MSXにおいてはメーカー・機種問わず共通の字形で揃えられており、MSX以外のPCでは採用実績が見当たらないため、MSXにおける事実上の規格化された文字群(いわゆる機種依存文字)である可能性が高いことが分かっています。

 漢字ROMの調査結果については、以下のブログ記事をご参照ください。 gigamix.hatenablog.com

 この「MSX共通の非漢字部分」はUnicodeで代用できない文字も含まれていることから、いま新規でMSX用漢字フォントデータを作成する際に他のライセンスフリーフォントから移植して再現することができません。そこで、この文字群のライセンスフリーフォントを整備することとしました。

16px角のライセンスフリーフォント

 A to Cさん作のライセンスフリーフォントデータ「漢字ROM image file for msx emulaters」に、MSX共通の非漢字部分データが含まれています。

 このデータで採用されたフリーフォント「jiskan16」の全角文字部分はパブリックドメインです。半角文字と全角非漢字部分のフォントはA to Cさんの手描きで、2021年5月26日、Apache License 2.0の適用となりました。

「漢字ROM image file for msx emulaters」は、A to CさんのWebページでダウンロード可能です。→ http://www.yo.rim.or.jp/~anaka/AtoC/labo/labo32.htm

あの頃は無料のものにライセンスを明示するなんて発想がなかった…。 > jiskan16はパブリックドメインですが手描きの追加部分はライセンスが明示されていません 今更ですが、Apache License 2.0ということにします。@nf_ban — LD A,'akayaman';RRCA (@akayaman) 2021年5月26日

16px角ライセンスフリーフォントを使って本物の漢字ROMを作れる「漢字FlashROM」

 当ブログで紹介した「漢字ROM image file for msx emulaters」をFlashROMへ書き込むと漢字ROMカートリッジとして使えるすごい同人ハードウェアが発売になりました!

 メーカーの「にがHP」さんはこちら。

niga2.sytes.net

12px角のライセンスフリーフォント

 12pxの全角非漢字部分のフォントは、けっきょく自分で描きました。なんという本末転倒!!

https://p.gigamix.jp/devmsx/cg/kanjirom_non-kanji_freefont_20210622.png

 一旦この内容でFIXとさせていただきます。私のデータもライセンスは Apache Licence 2.0 を適用します。どうぞご利用ください。

MSXの漢字ROM 非漢字領域の各社共通部分フリーフォント(12px, ver.4) ○○グラムと○○メートルの表記を現在の国際ルール(筆記体を用いない)に変更、グラムを「めがねg」へ変更&メートルの筆記体っぽさを少し残したのは、全角文字の「g」「m」と区別するため。 pic.twitter.com/iLdkrhPpYf — Takashi Kobayashi (@nf_ban) 2021年6月20日

フォント解説

 非漢字部分はの文字は番号0(G000)から93(G093)まで、全94文字あります。

https://p.gigamix.jp/devmsx/cg/kanjirom_non-kanji_freefont_20210622_2.png

 この絵の左上を起点(G000)として、右へ走査してゆきます。1文字ごとにカウントを増やしてゆきます。1行20文字で、右端まで走査した場合は1行下がってまた左端から右へ走査してゆきます。

 非漢字部分のシフトJISコードとデザイン割付の対比表は以下の通りです。

シフトJIS 非漢字コード 文字の意味
81AD G000
81AE G001
81AF G002
81B0 G003
81B1 G004
81B2 G005
81B3 G006
81B4 G007
81B5 G008
81B6 G009
81B7 G010
81B8 G011
81B9 G012 g(グラム)
81BA G013 m(メートル)
81BB G014
81BC G015
81BD G016
81BE G017
81BF G018
81C0 G019
81C1 G020
81C2 G021
81C3 G022
81C4 G023
81C5 G024
81C6 G025
81C7 G026
81C8 G027
81C9 G028 空白
81CA G029
81CB G030
81CC G031
81CD G032
81CE G033
81CF G034
81D0 G035
81D1 G036
81D2 G037
81D3 G038
81D4 G039
81D5 G040
81D6 G041
81D7 G042
81D8 G043
81D9 G044
81DA G045
81DB G046
81DC G047
81DD G048
81DE G049
81DF G050
81E0 G051
81E1 G052
81E2 G053
81E3 G054
81E4 G055
81E5 G056
81E6 G057
81E7 G058
81E8 G059
81E9 G060 🗀
81EA G061
81EB G062
81EC G063
81ED G064 縦展開の箱の上半分
81EE G065 縦展開の箱の中間部分
81EF G066 縦展開の箱の下半分
81F0 G067 円の上半分
81F1 G068 円の下半分
81F2 G069 横展開の箱の左半分
81F3 G070 横展開の箱の中間部分
81F4 G071 横展開の箱の右半分
81F5 G072 円の左半分
81F6 G073 円の右半分
81F7 G074 ○にCR1
81F8 G075 ○にCR2
81F9 G076 ○に禁
81FA G077 ○に均
81FB G078 ○に↑
81FC G079 ○に↓
8240 G080 三角付き縦線素片
8241 G081
8242 G082
8243 G083
8244 G084 中黒
8245 G085
8246 G086
82F2 G087 斜線1
82F3 G088 斜線2
82F4 G089 点線縦
82F5 G090 点線横
82F6 G091 点線水玉
83B7 G092
83DD G093 網目