MSXの漢字ROMに含まれている「JISの規格外だがMSXの各機種で共通っぽい非漢字部分の文字群」について、旧JISレベルな実機側との互換性をいまさら取るために手描きをした、ライセンスフリーフォントです。
なんという後ろ向きなソリューション!
MSX共通・漢字ROMの「非漢字部分」とは
MSXの漢字ROMは旧JIS(JIS C 6226、いわゆる78JIS)ベースですが、主に非漢字部分であるシフトJISコード 81ADh~859Eh には、旧JISでは未定義なのに独自に実装された文字および新JIS(いわゆる83JIS)とは違う独自に実装された文字が含まれています。
この漢字部分は東芝製ワープロRupoシリーズと互換性があるものの、MSXにおいてはメーカー・機種問わず共通の字形で揃えられており、MSX以外のPCでは採用実績が見当たらないため、MSXにおける事実上の規格化された文字群(いわゆる機種依存文字)である可能性が高いことが分かっています。
漢字ROMの調査結果については、以下のブログ記事をご参照ください。 gigamix.hatenablog.com
この「MSX共通の非漢字部分」はUnicodeで代用できない文字も含まれていることから、いま新規でMSX用漢字フォントデータを作成する際に他のライセンスフリーフォントから移植して再現することができません。そこで、この文字群のライセンスフリーフォントを整備することとしました。
16px角のライセンスフリーフォント
A to Cさん作のライセンスフリーフォントデータ「漢字ROM image file for msx emulaters」に、MSX共通の非漢字部分データが含まれています。
「漢字ROM image file for msx emulaters」は、A to CさんのWebページでダウンロード可能です。→ http://www.yo.rim.or.jp/~anaka/AtoC/labo/labo32.htm
jiskan16のデータを流用して再構成
このデータに含まれる16pxフォントの基は、フリーフォント「jiskan16(jiskan16.bdf)」です。jiskan16の全角文字部分はパブリックドメインにつき自由に使用することができます。一方、jiskan16の半角文字部分は著作者がソニー社のため再配布時に著作権表示とライセンス条項の添付が必要となっている、ようです。
↓ jiskanについてはこちら ↓ ja.wikipedia.org
1980年代・90年代当時はパソコンに限らずコンピュータ制御による日本語表示環境が芳しくなかったため、電子機器、インジケータ、電光掲示板、鉄道の行先表示機や発車標、プリンタなど多くの用途でjiskanシリーズが採用されました。
jiskan16の全角文字の一部はMSXの漢字ROMと互換性がないこともあり、「漢字ROM image file for msx emulaters」ではjiskan16の半角文字と全角文字の非漢字部分を作者による手描きフォントへ差し替えられています。そして2021年5月26日、「漢字ROM image file for msx emulaters」がApache License 2.0の適用となりました。
16px角ライセンスフリーフォントを使って本物の漢字ROMを作れる「漢字FlashROM」
当ブログで紹介した「漢字ROM image file for msx emulaters」をFlashROMへ書き込むと漢字ROMカートリッジとして使えるすごい同人ハードウェアが発売になりました!
メーカーの「にがHP」さんはこちら。
12px角のライセンスフリーフォント
12pxの全角非漢字部分のフォントは、けっきょく自分で描きました。なんという本末転倒!!
一旦この内容でFIXとさせていただきます。私のデータもライセンスは Apache Licence 2.0 を適用します。どうぞご利用ください。
フォント解説
非漢字部分はの文字は番号0(G000)から93(G093)まで、全94文字あります。ここでは便宜上「Gコード」と呼びます。
Gコードはこの絵の左上を起点(G000)として、右へ走査してゆきます。1文字ごとにカウントを増やしてゆきます。1行20文字で、右端まで走査した場合は1行下がってまた左端から右へ走査してゆきます。
非漢字部分のシフトJISコードとGコードのデザイン割付の対比表は以下の通りです。
Shift_JIS | Gコード | 文字の意味 | Unicode |
---|---|---|---|
81AD | G000 | ㈱ | U+3231 (PARENTHESIZED IDEOGRAPH STOCK) |
81AE | G001 | ㈲ | U+3232 (PARENTHESIZED IDEOGRAPH HAVE) |
81AF | G002 | Ⅰ | U+2160 (ROMAN NUMERAL ONE) |
81B0 | G003 | Ⅱ | U+2161 (ROMAN NUMERAL TWO) |
81B1 | G004 | Ⅲ | 'U+2162 (ROMAN NUMERAL THREE) |
81B2 | G005 | Ⅳ | U+2163 (ROMAN NUMERAL FOUR) |
81B3 | G006 | Ⅴ | U+2164 (ROMAN NUMERAL FIVE) |
81B4 | G007 | Ⅵ | U+2165 (ROMAN NUMERAL SIX) |
81B5 | G008 | Ⅶ | U+2166 (ROMAN NUMERAL SEVEN) |
81B6 | G009 | Ⅷ | U+2167 (ROMAN NUMERAL EIGHT) |
81B7 | G010 | Ⅸ | U+2168 (ROMAN NUMERAL NINE) |
81B8 | G011 | Ⅹ | U+2169 (ROMAN NUMERAL TEN) |
81B9 | G012 | g(グラム) | (不明) |
81BA | G013 | m(メートル) | (不明) |
81BB | G014 | ㎝ | U+339D (SQUARE CM) |
81BC | G015 | ㎜ | U+339C (SQUARE MM) |
81BD | G016 | ㎞ | U+339E (SQUARE KM) |
81BE | G017 | ㎠ | U+33A0 (SQUARE CM SQUARED) |
81BF | G018 | ㎡ | U+33A1 (SQUARE M SQUARED) |
81C0 | G019 | ㎖ | U+3396 (SQUARE ML) |
81C1 | G020 | ㎎ | U+338E (SQUARE MG) |
81C2 | G021 | ㎏ | U+338F (SQUARE KG) |
81C3 | G022 | ㎲ | U+33B2 (SQUARE MU S) |
81C4 | G023 | ㈹ | U+3239 (PARENTHESIZED IDEOGRAPH REPRESENT) |
81C5 | G024 | ㏍ | U+33CD (SQUARE KK) |
81C6 | G025 | ℡ | U+2121 (TELEPHONE SIGN) |
81C7 | G026 | № | U+2116 (NUMERO SIGN) |
81C8 | G027 | ㌅ | U+3305 (SQUARE INTI) |
81C9 | G028 | 空白(カテゴリ不明) | (不明) |
81CA | G029 | ㌘ | U+3318 (SQUARE GURAMU) |
81CB | G030 | ㍍ | U+334D (SQUARE MEETORU) |
81CC | G031 | ㌢ | U+3322 (SQUARE SENTI) |
81CD | G032 | ㍉ | U+3349 (SQUARE MIRI) |
81CE | G033 | ㌶ | U+3336 (SQUARE HEKUTAARU) |
81CF | G034 | ㌃ | U+3303 (SQUARE AARU) |
81D0 | G035 | ㌦ | U+3326 (SQUARE DORU) |
81D1 | G036 | ㌧ | U+3327 (SQUARE TON) |
81D2 | G037 | ㌔ | U+3314 (SQUARE KIRO) |
81D3 | G038 | ㌕ | U+3315 (SQUARE KIROGURAMU) |
81D4 | G039 | ㌗ | U+3317 (SQUARE KIROWATTO) |
81D5 | G040 | ㍗ | U+3357 (SQUARE WATTO) |
81D6 | G041 | ㍑ | U+3351 (SQUARE RITTORU) |
81D7 | G042 | ㌫ | U+332B (SQUARE PAASENTO) |
81D8 | G043 | ㌻ | U+333B (SQUARE PEEZI) |
81D9 | G044 | ㍎ | U+334E (SQUARE YAADO) |
81DA | G045 | ㌳ | U+3333 (SQUARE HUIITO) |
81DB | G046 | ① | U+2460 (CIRCLED DIGIT ONE) |
81DC | G047 | ② | U+2461 (CIRCLED DIGIT TWO) |
81DD | G048 | ③ | U+2462 (CIRCLED DIGIT THREE) |
81DE | G049 | ④ | U+2463 (CIRCLED DIGIT FOUR) |
81DF | G050 | ⑤ | U+2464 (CIRCLED DIGIT FIVE) |
81E0 | G051 | ⑥ | U+2465 (CIRCLED DIGIT SIX) |
81E1 | G052 | ⑦ | U+2466 (CIRCLED DIGIT SEVEN) |
81E2 | G053 | ⑧ | U+2467 (CIRCLED DIGIT EIGHT) |
81E3 | G054 | ⑨ | U+2468 (CIRCLED DIGIT NINE) |
81E4 | G055 | ⑩ | U+2469 (CIRCLED NUMBER TEN) |
81E5 | G056 | 〚 | U+301A (LEFT WHITE SQUARE BRACKET) |
81E6 | G057 | 〛 | U+301B (RIGHT WHITE SQUARE BRACKET) |
81E7 | G058 | 〠 | U+3020 (POSTAL MARK FACE) |
81E8 | G059 | ☎ | U+260E (BLACK TELEPHONE) |
81E9 | G060 | 「🗀」のような記号(数学記号?) | (不明) |
81EA | G061 | ∫ | U+222B (INTEGRAL) |
81EB | G062 | √ | U+221A (SQUARE ROOT) |
81EC | G063 | 「√」(ルート記号)の右隣に付随する横棒(数学記号?) | (不明) |
81ED | G064 | 縦展開の箱の上半分 | (不明) |
81EE | G065 | 縦展開の箱の中間部分 | (不明) |
81EF | G066 | 縦展開の箱の下半分 | (不明) |
81F0 | G067 | 円の上半分(U+25E0「◠」はなんか違う気がする) | (不明) |
81F1 | G068 | 円の下半分(U+25E1「◡」はなんか違う気がする) | (不明) |
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 | ◂ | U+25C2 (BLACK LEFT-POINTING SMALL TRIANGLE) |
8242 | G082 | ╌ | U+254C (BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL) |
8243 | G083 | ╍ | U+254D (BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL) |
8244 | G084 | 中黒(カテゴリ不明) | (不明) |
8245 | G085 | ╎ | U+254E (BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL) |
8246 | G086 | ⇨ | U+21E8 (RIGHTWARDS WHITE ARROW) |
82F2 | G087 | 斜線1 | (不明) |
82F3 | G088 | 斜線2 | (不明) |
82F4 | G089 | 点線縦 | (不明) |
82F5 | G090 | 点線横 | (不明) |
82F6 | G091 | 点線水玉 | (不明) |
83B7 | G092 | ⿰ | U+2FF0 (IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT) |
83DD | G093 | 網目 | (不明) |