2011年5月26日木曜日

lang="ja"が問題なのか?

寺でInDesignで書き出ししたEPUBの文字化けが上がっていた。
ヒマにまかせてググるとアチコチで同じ質問を上げている。
よほど困っているのだろう。
Mac OS10.6
CS5 InDesign

EPUB初心者です。
CS5 InDesignからEPUBを書き出したものの
文字化けを解消するためSigilで以下のように修正を加えました。

<html xmlns="http://www.w3.org/1999/xhtml">
                      ↓
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">

変更しているのですが、再度ファイルを開くと

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" xmlns:xml="http://www.w3.org/XML/1998/namespace">

となり、Adobe Digital Editionsで文字化けしたままになってしまいます。
これは何が原因なのでしょうか??
CS4ではこの問題おきません。
使用しているマシンの問題なのか…。

ご存知の方いらっしゃいましたら、よろしくお願いいたします!

同じOSであると仮定してCS4で問題が起きずにCS5で起きるのであれば、CS5の問題だと思うが、電子書籍時代のブックデザイン 26―InDesignCS5のEPUBの書き出しについての雑感を読むとCS5からは手を加えずとも日本語で表示できるようだ。

No.23 EPUB書き出しの変更点でも
その他の変更点としては、Study Room CS4 No.24のケースのように、和文テキストの部分が「?」で表示されるといったことがなくなりました。これは、すべての要素にxml-lang属性が追加されるようになったからですが(下図参照)、本来、html要素のみにxml-lang属性が記述されているべだと思われます。

となると質問者はInDesignから書き出したXHTMLファイルのソースコードの整形の手順で書き換えてから最後にxml-lang属性を追加したのかもしれない。

と思ったが、鷹野さんの第13回:InDesignからのePub制作(5)を見ると xml:lang="ja" lang="ja"とはならずxml:lang="ja"で終わっている。鷹野さんを参考にしたわけでもなさそうだ。。。

で、このxml:lang="ja" lang="ja"からlang="ja"を削除しても自分がダウンロードしたepubは問題なく表示される。なくてもいいかと思ったが

言語コードと国コード[1] lang属性とxml:lang属性を読むと
2010年11月23日のXHTML 1.1第2版でlang属性が復活
とあり、ないよりあった方がいいようだ。

で、lang="ja"がxmlns:xml="http://www.w3.org/XML/1998/namespace"と変わってしまったことが問題になる。

プレフィックス 'xml' は名前空間名 'http://www.w3.org/XML/1998/namespace' にバインドされます。
XML 名前空間宣言を削除するか、URI http://www.w3.org/XML/1998/namespace を有効な名前空間の URI で置き換えます。
とあるから削除するのが正解なのかもしれない。

0 件のコメント:

コメントを投稿