外字の自動作成について

JIS X4081(EPWING)では、使用できる文字コードはJIS X0208(JIS第一水準、第二水準)のみであり、 それ以外の文字は外字を定義する必要があります。 EBStudio1.xでは外字定義ファイルと外字マップファイルの二つのファイルで定義するようになっており、 辞書作成者の負担は大きなものでした。

EBStudio2では、入力ソースがUnicodeの場合、JIS X0208以外の文字が出現すると自動的に外字を作成します。

ビットマップフォントには、電子書体オープンラボの16ドットフォントを使用しています。
電子書体オープンラボ - http://openlab.ring.gr.jp/efont

電子書体オープンラボで公開されているうち、 EBStudio2で使用しているフォントファイルは次の通りです。コードが重複している場合、以下の表の記載順で優先されます。

(半角)
  フォントファイル 内容 登録文字数
1 etl16-unicode.hex Latin 1840
2 h16_add.hex その他追加 725
3 thai16_uni.hex タイ文字 182
4 lao16-mule_uni.hex ラオ文字 190

(全角)
  フォントファイル 内容 登録文字数
1 jiskan16-2000-1_uni.hex JIS X0213 8578
2 jiskan16-2000-2_uni.hex JIS X0213 2154
3 taipei16_uni.hex 中国語繁体字 13461
4 gb16fs_uni.hex 中国語簡体字 7445
5 dotum16_uni.hex ハングル 8224
6 f16_add.hex その他追加 33
7 ind16_uni.hex デーバナーガリー文字 84

配布パッケージのsample/hex/に、EBStudio2で使われている上記を統合したフォントが収録されています。

フォントファイル 内容 登録文字数
8x16.hex 半角統合版 2727
16x16.hex 全角統合版 21634

外字コードは、半角は0xA121〜0xAE7F、全角は0xB121〜0xFE7Fの範囲で自動的に割り当てます。 半角・全角の開始コードは、書籍情報の登録画面で指定することができます。

なお、従来の外字定義ファイルと外字マップファイルも併用できますので、Unicodeにない外字を定義することができます。外字定義ファイルがある場合は、自動割り当ての外字コードは外字定義アイルの最後の外字コードの続きからになります。

hexファイルにパターンがないunicodeを指定した場合、空白の外字パターンが作成されます。ただし外字Unicodeマップが生成されるため、 EBシリーズのEPWINGビューアであれば正常に表示されます。

外字Unicodeマップファイルの自動作成

CATALOGSを作成するディレクトリに、EBWin4、EBMac、EBPocket用の外字Unicodeマップファイルを自動的に作成します。 EBシリーズのビューアを使用する場合には、Unicodeフォントで外字を表示できます。
<辞書ディレクトリ名>.map EBWin4,EBPocket for Android用
<辞書ディレクトリ名>.plist EBMac,EBPocket for iOS用

半角・全角の判定について

半角と全角の判定は、Unicodeの範囲で行います。次表の範囲のコードを半角とみなし、それ以外は全角として扱います。

範囲 名称 日本語名称
U+0000-007F Basic Latin 基本ラテン文字(ASCII互換)
U+0080-00FF Latin-1 Supplement ラテン1補助
U+0100-017F Latin Extended-A ラテン文字拡張A
U+0180-024F Latin Extended-B ラテン文字拡張B
U+0250-02AF IPA Extensions IPA拡張(国際音声記号)
U+02B0-02FF Spacing Modifier Letters 前進を伴う修飾文字
U+0300-036F Combining Diacritical Marks ダイアクリティカルマーク(合成可能)
U+0370-03FF Greek and Coptic ギリシア文字及びコプト文字
U+0400-04FF Cyrillic キリール文字(キリル文字)
U+0500-052F Cyrillic Supplement キリール文字補助
U+0530-058F Armenian アルメニア文字
U+0590-05FF Hebrew ヘブライ文字
U+0E00-0E7F Thai タイ文字
U+0E80-0EFF Lao ラオス文字(ラーオ文字)
U+1E00-1EFF Latin Extended Additional ラテン文字拡張追加
U+1F00-1FFF Greek Extended ギリシア文字拡張
U+2C60-2C7F Latin Extended-C ラテン文字拡張C
U+A720-A7FF Latin Extended-D ラテン文字拡張D
U+FB00-FB4F Alphabetic Presentation Forms アルファベット表示形
U+FE20-FE2F Combining Half Marks 半記号(合成可能)
U+FE50-FE6F Small Form Variants 小字形
U+FF61-FF9F Halfwidth and Fullwidth Forms 半角・全角形