「ASCIIと画像だけでない限り、ユーザはPDFファイルを作成・配布すべきでない」のだそうだ。
「フォントを埋め込んでおいても表示できない」というPDFは魅力に乏しい。
事実だったら確かにショボいですね。
大嘘だけど。
そりゃ作り方を間違えればフォントパックが必要な文書ができてしまうだろうが、画像に代替テキストも入れないで「音声ブラウザで読めないからHTMLで画像を使うべきでない」なんて言い出すのと同じ。普通「Alt入れろ」と一蹴されるだけである。
フォントパックを要求されるのは、文字コードをPDFが内部で用いているCIDへ変換するために必要なエンコーディング情報が、英語版にはほとんど用意されていないからである。エンコーディング(Adobe Readerなら「文書のプロパティ」で表示できる)を「Identity-H」とか「ビルトイン」(つまりエンコーディング情報も一緒に埋め込む)とかにすればいい。
たとえば以下のPDFが英語版Adobe Readerで表示できる。
CJK Unified Ideographs Extension B (ISO/IEC 10646: 2003) CJK Unified Ideographs Extension B (Unicode) これらはエンコーディングに「カスタム」を使用している。Symbol系フォントと同じ方式である。文字鏡方式とも言う。したがって文字データとしての再利用性はいまいち(コピペすると化ける、Google等で検索できない)。
Cookie盗聴によるWebアプリケーションハイジャックの危険性とその対策 エンコーディングは「ビルトイン」。コピーも正しく行われる。ただし最初のページは埋め込みが適切でないため表示されない。
Legacy & Not-So-Legacy Character Sets & Encodings エンコーディングは「Identity-H」。さすが周辺が日本語環境ばかりとは限らない人の作ったPDFだけのことはある。 CNS 11643-1992 Plane 1 この通り「繁体字中国語の全文字」でも問題なし。
CIDフォント切り換え字体一覧表 フォント埋め込みでないので本文はまったく表示されないが、唯一題字が正しく表示されている。これはアウトライン化の例。ただし画像と同様テキストデータとしての利用は一切できない(たとえばGoogleで検索しても題字の部分は出てこない)。
ISO/IEC 10646:2003 なぜかJ欄とK欄だけ文字としてフォントが埋め込まれていて、あとはアウトライン化されているようだが、埋め込まれている分については正しくコピーもできる。
X 0221 の追加漢字集合について 文字鏡フォントまで使っているようだが、エンコーディングは非標準のものではない(「Identity-H」である)ので問題なく表示できる。
「S明朝体」字体切り替え一覧表 エンコーディングは「Identity-H」なのに英語版Adobe Readerでは正しくコピーできない(日本語版ではできた)。謎。
PDFのすべてが悪いという意味ではなく、自分自身ウェブ上でPDFで公開してるコンテンツもありますし(ただし日本語の文字などは画像にしていますが……)、
テキストに画像表現しか与えないことによるアクセシビリティの低下(読み上げできない、Google等で検索できない、etc.)はどうでもいいのか。それこそユニバーサルから程遠くなると思うのだが。Identity エンコーディングにするとか、もっとマシな手段はいくらでもあるのに。
そもそもの前提からして間違っているので以下蛇足なのだが、「Acrobat Reader」という特定のビューアの実装と「PDF」という仕様との区別も付いていないらしい。たとえば「PDF」を「HTML」に、「Acrobat Reader」を「Internet Explorer」に置き換えてみると
「
フォントがHTMLに埋め込まれている場合でさえ、フォントを追加ダウンロードしないと一般の環境では文字化けしてしまう。これはAcrobat ReaderInternet Explorer 5時代からの「仕様」であり、最新の6になっても変わらない。
どれだけデタラメな主張かよく分かる。と言いたいところだが「Internet Explorerは『どんなブラウザ』に含まれないのですか」といつも主張しているだけに個人的には微妙なところもあったり。
ちなみにInternet ExplorerにはHTMLにフォントを埋め込む機能がある。フォントを埋め込んでいる場合、NLSファイルさえインストールされていれば文字化けしない。NLSファイルはOSに付属しているから追加ダウンロードの必要はない(ので該当部分はdelでマークアップしてある)。フォントの指定方法はCSS2に準拠しているものの、肝心のフォントのフォーマットが非公開のものにしか対応していないのが残念なところ。
NLSファイルに相当するエンコーディング情報くらいは全言語版にデフォルトで含まれていてもいいかもしれない。しかしそれはAcrobat ReaderないしAdobe Readerという特定のPDFビューアの問題であって、PDFという仕様そのものに欠陥があるわけではない。たとえばAFPL Ghostscript 8.11 + GSviewでは、フォントを埋め込んであればまったく問題なく日本語を表示できる。それも-dWINKANJIなしの本家版gs811w32.exeで読めてる模様。
いっぽう、種類の上では圧倒的に多数のWebブラウザや端末が、フォントがあってもHTMLの日本語をまともに表示できない。種類は多くてもシェアは微々たるものだが、
いくら割合が小さくてもプラットフォームに依存しているという事実に変わりはない。
とか自分で言ってるくらいだから、当然
「
という結論になるのでしょうな:-P。
「CJKフォントパックがすでにあるか、インターネットに常時接続していてオンデマンドでフォントを追加できる環境でのみ読める」というふうに特定の環境に依存すべきでない。
「繁体字中国語/簡体字中国語/韓国語/日本語サポートがすでにあるか、オンデマンドで(以下略)」な環境でのみ読めるHTMLは気にならないらしい。フォントならダウンロードしてもいいけどAcrobat Readerのフォントパックは許せないということか。ダブルスタンダードもいいところである。ちなみにフォントパックはオフラインインストール用にダウンロードして英語版にも追加できる(6.0用/5.x用/4.0用)。決してオンデマンドでしか追加できないわけではない。
Adobe Reader 6のインストーラはあまり賢くないようだ。 Acrobat Reader 5がある場合は手動でアンインストールしてからAdobe Reader 6を入れないと二つのバージョンが無駄に共存してしまうようだ。
問答無用で削除してたら日本語を表示するためにAcrobat Reader 5.xを再インストールする羽目になってたんじゃないのか? セキュリティの問題がない限り、前バージョンをむやみに削除してしまうほうが頭が悪いと思うのだが。
そもそも5/27の時点でオンデマンドダウンロードが効かなかったという記述自体怪しい。alf_jpn.exeのタイムスタンプは5/15。Adobeがタイムスタンプをごまかしているという可能性もないではないが、単に自分の環境特有の問題だったんじゃないのか?
今回、日本語のフォントは使えるようになったものの、中国語、ロシア語などなどの一般の言語に対応しているのかどうかは疑わしい。
あんたの言ってることのほうがよっぽど疑わしい気がするのだが。少なくとも繁体字中国語が表示できたのはすでに述べたとおり。
末尾に追加されたAlertBoxの記事はPDFのプラットフォーム非依存性とか日本語の文字化けとはまったく関係のない話。PDFに反対してればなんでもいいのだろうか。逆効果にしか見えないのだが。
Adobe Reader PDFの仕様を定めているAdobe自身が提供するPDFビューア。Webブラウザのプラグインとしても動作する。テキスト表示のみのダウンロードページを用意しているのはえらい
Adobe Acrobatシリーズにセキュリティホール 現時点であえて4.0xを使う人はパッチもお忘れなく。なぜかダウンロードページからはリンクされていないがWindows用の4.05もちゃんとある。
Ghostscript, Ghostview and GSview AFPL Ghostscript GNU Ghostscript GSview
gs7.04 | source/os2/win32/linux/mac |
gs8.00 | source/os2/win32/mac |
gs8.10 | source/win32/mac |
gs8.11 | source/os2/win32 |
gnu-gs7.05 | source/os2/win/mac |
gnu-gs7.06 | source/win |
gnu-gs7.07 | source |
ghostscript.com Ghostscriptのニュースとコミュニティサイト
gswin 4.03 + GSview 2.1 + 日本語化パッチ インストール方法 なぜかgsw403j2.zipに含まれるパッチが当たらなかった。フォントを埋め込んだ日本語PDFはパッチを当ててもまったく開けない。
gswin 5.10 + GSview 2.5 + 日本語化パッチ(淺山) インストール方法 CIDフォントを埋め込んだ日本語PDFはパッチを当てないとまったく開けない。パッチを当てても文字化け。
日本語化キット(田中、片山、淺山) インストール方法 一部の日本語PDFは開けるようになったがまったく開けないものも。フォント埋め込みの有無はあまり関係ないようである。また暗号化PDFが開けるようになる。
gswin 5.50 + GSview 2.7 + 日本語化キット インストール方法 暗号化PDFは開けるようになるが日本語PDFは5.10で開けたものもまったく開けない。どーゆーこっちゃねん。
gswin 6.00 + GSview 2.8 + 日本語化キット インストール方法 一部の日本語PDFは日本語化キットなしで(!)開けた(開けたファイルは5.10/5.50 + 日本語化キットで開けたものとはまた別)。というか日本語化キットを入れても追加で開けるようになったのは暗号化PDFだけなのだが。CIDフォントを埋め込んだ日本語PDFは開けなかったが単にPDFのバージョンが新しいだけとかそういう可能性もありそう。
gswin 6.01 + GSview 2.9 + 日本語化キット インストール方法 表示結果はgs 6.01と同じ
gswin 6.50 + GSview 3.6 + 日本語化キット インストール方法 gs_res.psを設定すればCIDフォントを埋め込んだ日本語PDFを開ける(日本語化パッチは
gnu-gswin 6.51 + gs-cjkパッチ インストール方法 フォントリソース インストールするとCIDフォントを埋め込んだファイルが開けるようになる(Acrobat Readerのフォントパックに相当)。gs-cjkには、さらにTrueTypeフォントでCIDフォントを代替する機能もある。
gnu-gswin 6.52 + GSview 3.6 6.52にはgs-cjkパッチは提供されていない。
PDFに関しては違いなしgnu-gswin 6.53 インストール方法 gs-cjkパッチが統合されている。はずだが日本語どころか英語のPDFすら開けなかった。使用可能なGSviewのバージョンが存在しないのだそうな。
gswin 7.01/7.02の日本語化キットは提供されていない。
gswin 7.03 + GSview 4.1 + 日本語化キット インストール方法 日本語化パッチを当てた後、gs_res.psを設定するとCIDフォントを埋め込んだ日本語PDFが開けるようになっていた。フォントを埋め込んでいないときTTFで代替する機能はまだない模様。
gswin 8.11 + GSview 4.5 gs-cjkのフォントリソースは本体に取り込まれて別途インストール不要になった。何もしなくてもCIDフォントを埋め込んだ日本語PDFは表示できる。cidfmapを編集すればCIDフォントがなくても指定したTrueTypeフォントで代替してくれるはずだがこれでもファイルによっては開けない模様。CIDフォントがあれば開けるのだろうか。
日本語化フルセット 縦書き対応などを含む。本家ではcidfmapを編集しても開けない日本語PDFが開けるようになった(cidfmapの編集は必要)。本家との違いは-dWINKANJIだけではない模様。
配布サイト: CTANミラー 5.50以降 SourceForge beta含む/6.0以降
Windows 用 Ghostscript と GSview のインストール 8.11から日本語化パッチが不要になったそうな。 Windows 用 Ghostscript 8.00 と GSview 4.4 のインストール
W32TeX (Web2C-7.5.2) AFPL Ghostscript 8.11のWin32用バイナリのミラーとかフォント埋め込みPDFの例とか
gs-cjk project 中国語、日本語、韓国語TrueTypeフォントをCID-keyedフォントとして使えるようにするとともに、CID-Keydフォントを使う上でのgsの不具合を修正。gnu-gs-6.53以降で本家に取り込まれた。
Ghostscript (Win32) README 日本語化されたGhostscriptのWin32用バイナリとか
日本語対応 gswin 5.50 ミニ情報 日本語対応 gswin 5.10 ミニ情報 日本語対応 gswin 4.03 ミニ情報
Windows版Ghostscript&Ghostview 4.03+日本語化パッチ