Web Analytics

Technically Impossible

Lets look at the weak link in your statement. Anything "Technically Impossible" basically means we haven't figured out how yet.

縦書き日本語ページを適切に取り扱えるPDFビューワー - Adobe Acrobat Reader代替としてのOkular、Sumatra PDF

あるソフトウェアを使い続け、使い慣れ、たとえバージョンが古く、サポート切れになり、時代遅れになったとしても、それが新しいOSでも問題なく動作し続けるのであれば、そのソフトウェアを使い続けたいのが、一般的なユーザーの求めることではないだろうか。その典型例の一つがAdobe Acrobatだろう。

そして、そのようなユーザーの希望を打ち砕くのがオンライン・ライセンス認証、いわゆるアクティベーション(activation)、オーソライザーション(authorization)と呼ばれるものだ。
たとえソフトウェアが問題なく動作していたとしても、何かの拍子でアクティベーションを求められた時、すでにベンダーがアクティベーション・サーバーを退役させていれば、アクティベーションは機能しない。そしてソフトウェアは使えなくなる。

これはAdobe Acrobatの永続版と呼ばれているものの現状でもある。Adobeは、すでにAcrobat XI以前のアクティベーション・サーバーを停止した*1。最新版である2020も、遅かれ早かれ、同じ状況に至ることだろう*2

Our aging activation servers for earlier versions of Acrobat and Creative Suite (CS) applications had to be retired. Without the activation servers, these applications display an activation or connection error when trying to verify a license.

Affected applications include Creative Suite 2, 3, and 4, Audition 3, Acrobat 7, 8, and 9 (Standard and Professional), Acrobat X, Acrobat XI, and Acrobat 3D Version 8.

Activation limit reached or Sign-in failed error

先日対応したPC更改*3の影響から、長年使い続けたAcrobat X Standardが、この影響を受けてしまった。代替手段を含め、いろいろと模索している中で得た知見をまとめておく。次の3編に分けて投稿する。

この投稿は、その代替となるPDFビューワーについてのものだ。あえて申し添えておくと、Adobe Acrobat Reader*4を紹介する投稿ではない。その対抗となるオープンソース、かつWindowsLinux両対応のビューワーについて言及している。

前提:必要としている機能、特性

普通に考えれば、わざわざ代替のビューワーを探す必要はなく。事実上の標準PDFビューワーである、Adobe Acrobat Readerを利用すれば良いのだ。しかし、私には次の懸念、不満がある。

  • Adobeアカウントとの連携
  • Adobe Creative的なGUI
    • Adobe Creative以前のクラシックなGUIを求める
    • 特に、ページ、サムネイル表示ペインは左側に配置してほしい

さらに求めるのが、縦書きの日本語を適切に表示する機能だ。具体的には、縦書きの日本語文書でも、表紙付きの見開きを正しく表示できる必要がある。

特に右綴じについて、Adobe Acrobatは、「読み上げオプション」という項目名を設定している。これは本来の役割に対して不適切な表現だと、私は感じている。この設定は読み上げ以前に、ページ・レイアウトに関わるもので、日本語のような縦書き、右綴じの本を適切なレイアウトで表示するために必須の設定項目なのだ。

私が求めるビューワーには、これと同等の機能をサポートしてもらいたい。そして、以下に紹介する2つのビューワーは、いずれの要素にも対応している。

Okular

okular.kde.org

Okularは、PDF、その他のフォーマットに対応したドキュメント・ビューワーだ。オープンソースで開発されており、WindowsLinuxに対応している。WindowsLinuxともに、それぞれの公式版がMicrosoft Store*5、Flatpak*6でも配布されており、試用、導入が簡単だ。ソースコードGitHubで公開されている*7

以下のスクリーンショットは右綴じの小説を、Okularで見開き表示したものだ。ページ上のページ数に注目すると、偶数ページが右、奇数ページが左と、適切に表示されていることが分かる。

このような右綴じ文書の取り扱いは、PDFファイルの初期設定に準じているのではなく、ユーザーが手動で設定を切り替える必要がある。同じく、スクリーンショットが示すように、「Right to left reading direction」にチェックを入れることで対応できる。

Okularは右綴じ文章を適切に表示できるのだが、縦書き日本語をテキストとして、適切に取り扱うことができない。
以下のスクリーンショットは、PDF上にレイヤーとして埋め込まれている日本語テキストを選択し、VSCodeへコピー&ペーストしたものだ。コピー&ペーストは機能しているものの、縦書きのテキストを適切に処理できない。
次に紹介するSumatra PDFは、この短所を補うことができる。

Sumatra PDF

www.sumatrapdfreader.org
Sumatra PDFも、PDF、その他のフォーマットに対応したドキュメント・ビューワーだ。オープンソースで開発されているが、Windows専用であり、Linuxには対応していない。インストール・ファイルは公式サイトのみで配布されており、GitHubではReleaseも含めて、ソースコードのみが公開されている*8

Sumatra PDFは、複数の文章をタブで表示切替できる。以下のスクリーンショットは右綴じの小説を、Sumatra PDFで見開き表示したものだ。

ページ上のページ数に注目すると、偶数ページが右、奇数ページが左と、適切に表示されていることが分かる。これはPDFファイルの初期設定が自動的に反映されたものだ。この設定は、GUIを通じて変更することはできず、設定ファイルを編集する必要がある。

if true, the document is displayed right-to-left in facing and book view modes (only used for
comic book documents)
DisplayR2L = false

Customizing SumatraPDF 3.5

実際、綴じ方の設定されていない(デフォルト設定、つまり左綴じ)、縦書き日本語のPDFファイルを開くと、見開き表示(Facing)、表紙付き見開き(Book View)のいずれにおいても、ページ順序が逆転しているのが分かる。

Sumatra PDFは右綴じ文章を適切に表示できるだけでなく、縦書き日本語をテキストとして、適切に処理することもできる。以下のスクリーンショットは、PDF上にレイヤーとして埋め込まれている日本語テキストを選択し、VSCodeへコピー&ペーストしたものだ。
OCRで認識された通りのテキストが、ペーストされているのが分かる。ちなみに、余計な文字がペーストされているのは、OCRの誤認によるもので、Sumatra PDFの問題ではない。