« 2010年11月 | トップページ | 2011年1月 »

2010年12月の記事

2010年12月11日 (土)

青空mobiの外字

matsuuさんがすばやく対応くださったので(「早速」とは言えないタイミングで)試してみました。(画像クリックで拡大)

使用前
使用後
外字を置き換えていない画像 外字を置き換えた画像

やっぱり、置き換えた方が読みやすいですよね? ね? ね?

と、いうことで、ありがとうございました、なのですが、

なんか「外字画像を可能な限り文字に置き換えました」なんて書いてありますね。「可能な限り」って、本当かな? coldsweats01

2010年12月 7日 (火)

Kindleで使えるJIS X0213の字を調べました

素の Kindle 3 で JIS X0213 (いわゆるJIS第三第四水準)の字がどれくらい使えるものか調べました。

結果をまとめると、以下のようになっていることがわかりました。

  • Unicode (ISO/IEC 10646 UCS) の「BMP」の範囲(CJK統合漢字、同拡張A、CJK互換漢字のいずれか)に対応する漢字はすべて使える。
  • Unicode の「2面」(CJK統合漢字拡張B)に対応する漢字は一切使えない。
  • 非漢字は使えるものも使えないものもあり、一言では言えない。
  • (ただし、JIS X0213が「1文字」としているが Unicode では2文字扱いの非漢字は、一切使えない。)

なお、CJK統合漢字拡張Aに対応するJIS X0213の漢字は、全文字表示されますが、活字のデザインが低品質のものが混ざっています。(ってゆーか、Unicode スカラー値が U+3500以上の拡張Aの字は目を覆いたくなるような低品質なものばかり…。そもそもゴシック体と言えるようなもんじゃない。理由は不明ですが。)一応、ここでは、低品質でもOKという扱いにしてあります。また、互換漢字に対応するJIS X0213の漢字の一部は、JIS X0213の観点では字形が不適切かもしれませんが、それもOKとしています。

この話の発端は青空mobiでしたから、青空文庫の(X)HTMLが「画像」扱いしている「JIS X0213の字」を、コードポイント表現(例えば数値参照)に書き直すことに関心があります。そのために使える対応表を作りました。x0213kindle.zipに入っているx0213kindle.txtというファイルです。このファイルは1行が1文字の対応を示しており、タブの左側がJIS X0213の面区点番号、右側が置き換えるべき数値参照(Unicodeスカラーバリューを10進数表記にして、&#と;ではさんだもの)です。一般的な JIS X0213とUnicodeの対応表との最大の相違点は、このファイルは置き換えた結果が Kindle 3 で表示できるものだけに限定してある点です。

青空文庫(X)HTMLでは、該当する部分は<img src="../../../gaiji/1-15/1-15-01.png" ... />とか<img src="../../../gaiji0213/XXX/1_15_1.gif" ... />のような感じの img 要素になっていますから、src 要素値の最後の斜線以降のファイル名だけ見て、それがこのx0213kindle.txtに登場していれば、img 要素全体を対応する数値参照に置き換えてしまえばいいはずです。このとき、以下に注意が必要です。

  • 途中に /gaiji/ が出てくる方は「面区点の区切りはハイフン、区と点は常に2桁(上位0あり)」ですが、/gaiji0213/ が出てくる方は「面区点の区切りはアンダーバー、区と点は可変桁数(上位0抑制)」です。
  • 途中に /gaiji/ が出てくる方は .png で、/gaiji0213/ の方は .gif のようです。
  • 途中に /gaiji/ が出てくる方は、すべて JIS X0213 の字のようですが、/gaiji0213/ が出てくる方は(このディレクトリ名が与える印象とは逆に)JIS X0213 の文字でないものを表現している場合があります。パスの途中に/gaiji0213/があり、ファイル名が[12]_[1-9]?[0-9]_[1-9]?[0-9].gifの形をしていないものは、JIS X0213 の字ではない(したがって x0213kindle.txt による置き換え候補ではない)ようです。

最後に、今回の調査の前提(つまり x0213kindle.txt による置き換えが有効な条件)と、調査の手法について書いておきます。

調査の前提は、以下の通りです。

  • いわゆる Kindle 3 の最新バージョン (3.0.2)。
  • 日本の住所でAmazon.comから購入し、Your country が Japan に設定されている。(もちろん ~changeLocale などしていない状態で使っている。)
  • いかなる手法でもフォントの入れ替えを行っていない。(いわゆるフォントハックを行わず、USER FONTも有効にしていない。)
  • Amazon KindleGen を使って、dc:language を ja として .mobi ファイルを生成。

で、実際に、JIS X0213の字の一覧の .mobi ファイルを作って、これを Kindle で実際に表示できているかどうか全文字確認したのです。以下のような画面を延々と眺めて。(画像クリックで拡大。)

X0213kindle

ちなみに「ch」欄がKindle 3の内蔵フォントを使ってテキストとして表示(font-size: 200%; で)しているものです。AZ/MM/MG/GWは、比較用に他のフォント(グリフ)のデータを画像としてはめ込んだものです。ソースは順に、「青空文庫の16ドットPNG画像」「MS 明朝」「MS ゴシック」「グリフウィキ」です。1-47-63は、最初のほうでちょっと書いた拡張Aの低品質な字の例になっています。また、1-47-66は、JIS X0213の観点では字形設計が不適切かもしれないものの例になっています。x0213kindle.txtでは、どちらも置き換えてしまうことにしてあります。

« 2010年11月 | トップページ | 2011年1月 »