EPUB3ビューアのIVS・サロゲートペア対応状況in2013年4月
前回のエントリで予告させていただいたように、各EPUB3ビューアのUnicode IVS・サロゲートペア文字※1対応の最新状況をチェックしてみました。外部からのEPUB3の取り込みをサポートしていないビューアもありますので完全とはいきませんが、ある程度の参考にはなるのではないかと思います。なお、チェックしたのはこのあたりを参考にしてサロゲートペア303文字、前回のmonokanoさん、NAOIさんの資料を参考にしたIVS文字127文字(Windows8でIVS対応した文字)です。IVS文字、サロゲートペア文字ともにこのテストの文字が全てではありませんので、あらかじめご了承ください。
各ビューアの画面スクリーンショットを収めたPDF資料をダウンロードできるようにしておきましたので、適宜ご参照いただきながらお読みいただければと思います。また、テストに使用したepubデータも同じくダウンロードできるようにしましたので、お手持ちの端末等で自由にお試しください。
IVS文字の表示にはビューアだけではなく、フォントの側の対応も必要となりますので、今回のテストでは各ビューア内で選択可能なフォントにそれぞれ切り替え、スクリーンショットを撮っています。添付資料内のフォント名表記は各ビューア内の表記に従いました。
また、これはあらかじめお断りしておきたいのですが、IVSやサロゲートペアで表すような文字は、一部の学術系書籍および人名漢字以外ではほとんどニーズのないような文字が大半を占めます。従って、これらの文字の現時点での正確な表示をもって各ビューアの品質の絶対評価をしようとは思っておりません。ただ、前回のエントリで述べたように、Windows8のIVS対応によってテキスト内にIVS文字が混入する可能性を否定できなくなりましたので、「IVS文字を適切に無視して親字のみを表示する」実装は期待したく思っています。また、サロゲートペア文字に関しましては、「」(20BB7)※2のように、ATOK等の日本語入力システムで無意識に入力可能な文字も存在していますので、少なくともこういった比較的使用頻度の高い文字に関しましては、主要ビューアでの早い段階での表示対応を望みたいと思っています。
Adobe Digital Editions 2.0
IVS文字対応 | サロゲートペア文字対応 |
---|---|
◎:異体字字形まで表示 | ◎:正しく字形を表示 |
Adobeの汎用EPUBビューア、Adobe Digital Editions 2.0です。
Mac版でサロゲートペア文字の「」(29FCE)が表示出来ていないこと、Windows版でIVS文字の「」(242EE E0101)が化けていることを除けば、かなり理想的な対応状況です。「」はサロゲートペア文字+IVS異体字の組み合わせですので、化けている理由はそのあたりかもしれません。IVS文字で異体字が表示されず、親字が表示されているものもありますが(6FF9 E0101など)、Unicode IVSで本来求められる「最低限親字を表示し、IVS文字を適切に無視する」という実装になっており、高く評価できます。化けている文字はおそらくフォント側に字形が収録されていないものと思われますので、ビューア側の実装としてはまず合格と言って良いように思います。
iBooks3.1
IVS文字対応 | サロゲートペア文字対応 |
---|---|
○:親字の字形を表示(iOS6) | ◎:正しく字形を表示(iOS6) |
iPad、iPhoneなどのiOS端末で使用できるAppleのEPUB/PDFビューア、iBooksです。
iOS6.1.3ではおおむねIVS文字は親字が表示されてIVS文字は無視され、サロゲートペア文字は縦横ともにきちんと表示されるというかなり評価できる状態です。フォントに游ゴシック体を選択した場合のみ「」(2000B)などいくつかの文字が化けますが、これはフォントに字形が収録されていないためでしょう。
ただiOS5.1.1の環境ですと、サロゲートペア文字が縦書き時にほとんど表示できず、かろうじて表示できている文字も化けているというような状態になりました。IVS文字も「□」で表示されてしまっています。かなりつらい状態ですが、古い環境ではあり、まあ致し方ないところかと思います。
Himawari Reader Ver3.3.0
IVS文字対応 | サロゲートペア文字対応 |
---|---|
△:IPAex明朝/ゴシックでは異体字字形を「□」で表示 | ○:IPAex明朝/ゴシックでは正しく字形を表示 |
Android環境で広く使われている汎用EPUBビューア、Himawari Readerです。
作者の中野さんより、Himawari Readerは.TTFフォントは全て表示可能だが、公式にはライセンスに従ってIPAex明朝およびIPAexゴシックをオプションアプリ形式で配布している、とのコメントをいただきましたので、今回は「標準フォントセット」およびオプション配布の「IPAex明朝」、「IPAexゴシック」についてテストをしました。
テスト結果はかなり面白いもので、「標準フォントセット」ではIVS文字がきちんと異体字字形で表示されるもののサロゲートペア文字は全く表示されず、「IPAex明朝」/「IPAexゴシック」ではIVS文字は「□」で表示されてしまうもののサロゲートペア文字はきちんと表示されました。
Kindle PaperWhite ファームウェア5.3.4
IVS文字対応 | サロゲートペア文字対応 |
---|---|
△:IVS文字を「□」で表示 | ◎:ほぼ全ての字形を正しく表示 |
Amazonの電子ペーパー端末、Kindle PaperWhiteです。
なお、kindleに関しましては、epubファイルをkindlegen2.8にてmobiデータに変換し、テストしております。
IVS文字は全て「□」で表示され、サロゲートペア文字は「」(26AFF)および「」(237FF)以外はきちんと表示されています。この2文字につきましては、おそらくフォント側に字形がないために表示できていないものと思われます。
Kindle for Android 3.8.2
IVS文字対応 | サロゲートペア文字対応 |
---|---|
△:IVS文字を「□」で表示 | ◎:ほぼ全ての字形を正しく表示 |
KindleのAndroid版アプリ、Kindle for Androidです。
Kindle PaperWhiteとほぼ同様の結果ですが、こちらは「」と「」を正しく表示できています。おそらくフォントの違いによるものと思われます。
Kinoppy for Android Ver 1.4.2
IVS文字対応 | サロゲートペア文字対応 |
---|---|
◎:異体字字形まで表示 | ◎:ほぼ全ての字形を正しく表示 |
紀伊国屋書店の電子書籍ビューア、KinoppyのAndroid版アプリ、Kinoppy for Androidです。
IVS文字が異体字字形で表示され、サロゲートペア文字も「」(2000B)が消えてしまう以外はきちんと表示出来ています。フォントを「IPAexゴシック」に切り替えた場合のみIVS文字の「」(2A61A)が化けるのですが、これはフォントに収録されている字形数の差によるものと思います。
Kinoppy for iOS Ver 1.4.2
IVS文字対応 | サロゲートペア文字対応 |
---|---|
◎:異体字字形まで表示 | ◎:ほぼ全ての字形を正しく表示 |
KinoppyのMac版アプリ、Kinoppy for iOSです。
Android版アプリと同様にかなり理想に近い対応ですが、サロゲートペア文字の「」が消えてしまう以外に、縦書き時に「」(200A2)や「」(200A4)が横転表示されてしまいました。使用頻度の高い文字はほぼ無いのですが、該当する文字を使用する場合にはCSSで正立を指示する必要がありそうです。
Kinoppy for Windows Ver 1.4.2
IVS文字対応 | サロゲートペア文字対応 |
---|---|
◎:異体字字形まで表示 | ◎:ほぼ全ての字形を正しく表示 |
KinoppyのWindows版アプリです。
iOS版とほぼ同じ状態です。レンダリングエンジンが同一であることが推測できます。
Kinoppy for Mac Ver 1.4.3
IVS文字対応 | サロゲートペア文字対応 |
---|---|
◎:異体字字形まで表示 | ◎:全ての字形を正しく表示 |
KinoppyのMac版アプリです。
サロゲートペア文字の「」がきちんと表示され、さらに横転してしまっていた文字も正立しています。Mac版のみバージョンが1.4.3ですので、レンダリングエンジンのバージョンアップの結果、きちんと表示出来るようになったと見てよいかもしれません。だとすれば、近い将来iOS版やWindows版のKinoppyでも正常な表示が期待できそうです。
紀伊國屋書店は今後、学術書・専門書に注力していくのではないかというイメージがありますし、そういった分野ではIVS/サロゲートペア文字の表示に関して実際にニーズがあるでしょう。Amazon等に対する差別化のポイントとしても有効なのではないかと思います。
Kobo Touch ファームウェア2.4.0
IVS文字対応 | サロゲートペア文字対応 |
---|---|
×:通常の文字まで表示されなくなる | ×:通常の文字まで表示されなくなる |
楽天Koboの電子ペーパー端末、Kobo Touchです。
こちらは組版の確かさには比較的信頼感のある端末だったのですが、IVS/サロゲートペア文字の表示に関しては、各行のIVS/サロゲートペア文字の後ろの文字列がごっそり消えてしまうという結果になりました。これはEPUB3コンテンツにこれらの文字が混入していた場合、完全に可読性が損なわれる「事故」になってしまうことを意味します。Kobo向けコンテンツの制作では、IVS/サロゲートペア文字がコンテンツ内に含まれていないかをきっちりチェックし、外字画像にするなどの対応を取る必要がありそうです。
楽天Kobo Android版 バージョン4.8
IVS文字対応 | サロゲートペア文字対応 |
---|---|
△:IVS文字を「□」で表示 | ◎:全ての字形を正しく表示 |
楽天KoboのAndroid版アプリ、楽天Kobo Android版です。
こちらはIVS文字は「□」で化けて表示され、サロゲートペア文字は正常に表示されるという標準的な結果が出ています。IVS文字は化けてしまいますが、可読性を致命的に損なうわけではありませんので大きな問題にはならないでしょう。
ただ、koboに限らず「購入した書籍をどの端末でも読むことができる」のが今の多くの電子書籍ストアの売りですので、「kobo touchではきちんと読めないコンテンツがある」時点でストアの魅力を多少なりともスポイルするのは間違いありません。早い段階でのKobo Touchのファームウェア修正を期待します。
Murasaki バージョン2.1
IVS文字対応 | サロゲートペア文字対応 |
---|---|
△:IVS文字を「□」で表示 | △:縦書き時に内容を表示出来ず |
Macで比較的良く使われていると思われる汎用EPUBビューア、Murasakiです。
こちらはIVS文字が「□」で化けて表示され、サロゲートペア文字を含む縦書きのファイルを表示しようとするとアプリがフリーズしてしまうという結果が出ました。おそらくwebkitのサロゲートペア文字対応の問題に引きずられているものと思うのですが、詳しいことはわかりません。個人的にMurasakiはEPUB制作時のチェック用として多用しているビューアですので、早い段階で修正されることを望みたいです。
Readium Version 0.9(Mac)
IVS文字対応 | サロゲートペア文字対応 |
---|---|
○:異体字字形まで表示(ただし横転) | ×:全て文字化け |
ウェブブラウザ、Google Chrome内で使用できる汎用EPUBビューア、ReadiumをMac版Chrome内で動かした場合です。
サロゲートペア文字が縦書き時にほとんど化けてしまい、表示できません。また、表示出来ている文字も本来のコード位置とは異なる字形が表示されてしまっています。
IVS文字に関してはほぼ全ての文字が異体字字形で表示されているのですが、文字が全て横転して表示されてしまっています。また、「」(242EE E0101)のみが縦書き時に化けてしまい、横書き時にもIVS文字の部分が化けて表示されてしまっているのですが、これは前述したように「」がサロゲートペア文字+IVS文字の組み合わせなことに関係がありそうです。
Readium Version 0.9(Windows)
IVS文字対応 | サロゲートペア文字対応 |
---|---|
△:IVS文字を「□」で表示、横転 | △:縦書き時に直前の文字が消える |
ウェブブラウザ、Google Chrome内で使用できる汎用EPUBビューア、ReadiumをWindows版Chrome内で動かした場合です。
IVS文字は「□」に化けてしまう他、縦書き時に横転して表示されてしまっています。また、サロゲートペア文字は横書きではきちんと表示されるものの、縦書き時には直前の始めカギ括弧が消えてしまっています。
Readiumは本来、校正用のビューアとして本命視されていただけに、現在のこの状態は残念です。Readiumプロジェクトは先日、非営利電子書籍規格ライセンス団体「Readiumファウンデーション」として法人化とのニュースがありましたので、今後IVS/サロゲートペア文字の表示を含めてレンダリングエンジンの改善を期待したく思っています。
Reader(Android版)バージョン3.1.2
IVS文字対応 | サロゲートペア文字対応 |
---|---|
◎:異体字字形まで表示 | ◎:正しく字形を表示 |
SONYの電子書籍ストア、ReaderのAndroid版アプリです。
IVS文字、サロゲートペア文字ともに、テストに使用した文字に関してはほぼ完全な対応でした。ReaderのレンダリングエンジンはベースがAdobeのRMSDKですので、異体字表示対応の優秀さはこれによる部分も大きそうなのですが、Adobe Digital Editions 2.0で文字化けしていた「」(29FCE)もきちんと表示出来ていますので、ある程度独自のカスタマイズがなされているように思われます。
◇
いかがだったでしょうか? 最初に書いたように、こうした異体字の表示については人名漢字と一部の学術書以外ではほとんどニーズはないように思いますが、各ビューアのレンダリング実装の進捗度が想像できて、個人的にはなかなか楽しい実験でした。
前回のエントリで書いたように、Windows8が単体でIVS文字の入力に対応した以上は、今後電子書籍制作用の原稿にIVS文字が含まれている可能性をEPUB制作者も想定しなければなりません。
また、サロゲートペア領域の文字の中には、ATOK等で特に意識せずに入力可能な文字がすでに存在しています。
これらの文字の混入によってコンテンツの可読性が完全に損なわれる「事故」を誘発してしまうことはなんとしても避ける必要があります。今後、制作サイドにはEPUB内のこうした特殊文字を検知し、排除するスキルが必要になるでしょう。また、ビューア開発サイドの方には、「例え特殊文字が含まれていたとしても事故にならない実装」を求めたく思っています。
※1 EPUB3内部で用いられているコードはUTF-8であるため、正確には「サロゲートペア」という用語は不正確で、正確には「追加漢字面(Supplementary Ideographic Plane; SIP)」と表記するのが正しいと思いますが、実際のEPUB3データのハンドリングとしてはビューアでEPUBを展開する際にUTF-16などに展開され、その際の処理で追加漢字面の文字化けが起きると推測されるため、ここではわかりやすさを重視して「サロゲートペア文字」と表記しています。
※2 JISX 0208及びJISX 0213では「吉」に包摂されているため独立した字形として収録されていないが、UnicodeのCJK統合漢字拡張Bには独立した字形が存在するため、実際には入力が可能。
資料のダウンロードはこちら
IVS_Sarrogatepair.zip
1 file(s) 4.00 KB
IVS_SarrogatePairCheck_CSSshort.zip
1 file(s) 4.00 KB
(2013.4.18)
ご指摘をいただき、技術的な用語を若干修正いたしました。また、Himawari Readerの中野さまより、「Himawari Reader自体は.TTFファイルなら何でもOKで、公式にはライセンスに従ってIPAフォントをオプションアプリ形式で配布している形になる」とのコメントをいただきましたので、表記を修正させていただきました。
(2013.4.18追記)
Android端末の機種によってもフォント表示結果が変わってくるとのご指摘をいただきましたので、機種名を追記しておきます。「Nexus7 Android OS 4.2.2」です。また、Mac環境は「Mac OS X 10.7 Lion」、Windows環境は「Windows7」にてテストしました。
(2013.4.19追記)
タグ: Unicode IVS, サロゲートペア, 外字, 文字化け, 異体字
2013/04/19 16:35
EPUB3の文字コードはUTF-8またはUTF-16だと思いますが、サロゲートペアというUTF-16でしか意味がない用語が使われているのに違和感を覚えました。EPUB3ってUTF-16が主流なのでしょうか(私は、ほぼ全てUTF-8なのだと思っていました)。
UTF-16でサロゲートペアを用いて表現される文字(すなわち、UTF-8で4バイトで表現される文字)は補助文字という用語が普通だと思います(この用語を避けたければ、BMP以外の文字のように表現できると思います)。
2013/04/22 09:56
ご指摘ありがとうございます。ご指摘の通り、EPUB3内部文字コードはUTF-8ですが、結局ビューアで閲覧する際に内部コードに変換され、その過程で文字化けが起きると推測されますので、ここでは正確さよりもわかりやすさを重視して、脚注への注意書きを追記するに留めた修正とさせていただきました。
また、ここで取り上げているのは「追加漢字面(英:Supplementary Ideographic Plane; SIP)」の処理の話で、「BMP以外の文字」と表記してしまいますと、追加多言語面や追加特殊用途面の文字を含んでしまいますので、脚注には「追加漢字面」と明記する形といたしました。