FOSS な PDF Viewer for Windows (Evince も導入できた)
ちうわけで,前回の続き。
PDF Viewer は FOSS な製品からプロプライエタリな製品まで色々あるし,全部を比較するのは無理なので,前回に引き続き PDFreaders.org に掲載されている製品からピックアップしてみよう。
各製品のスペックは以下の通り(2019年3月時点)。
製品名 | 動作環境 | フォーマット | ライセンス | 最近のリリース状況 |
---|---|---|---|---|
Evince | Linux | PDF, … | GPL | 3.31 (2019-02-19) |
Okular | Linux, macOS, Windows1 | PDF, EPUB, … | GPL | 1.6 (2018-12-13) |
SumatraPDF | Windows | PDF, EPUB, … | GPL | 3.1.2 (2016-09-23) |
XpdfReader | Linux, Windows | GPL | 4.01 (2019-02-18) | |
PDF.js | Firefox 19+ | Apache-2.0 | 2.1.266 (2019-02-17) | |
qpdfview | Linux, NetBSD, FreeBSD | PDF, … | GPL | 0.4.18 (2018-11-17) |
GNU GV | Linux macOS | PDF, PS | GPL | 3.7.4 (2013-03-17) |
ePDFView | Linux | GPL | 0.1.8 (2011-05-28) | |
MuPDF | Linux, windows, Android | PDF, EPUB, … | AGPL | 1.14.0 (2018-10-04) |
zathura | Linux | PDF, … | zlib | 0.4.3 (2018-12-22) |
んー。 この中で Windows 環境かつ比較的活況な製品を選ぶならやっぱ XpdfReader か MuPDF ってところか。 EPUB 文書も見たいなら MuPDF 一択だな。 ちなみに MuPDF は SyncTeX に対応しているらしい。
そうそう。 MuPDF の Android 版で EPUB 文書を開いてみたが,見事に日本語文字がトーフ(□)になった。
実は EPUB の仕様はよく知らないのだけど2,おそらく対応しているフォントがないんだろう(Windows 版はちゃんと表示できる)。
Evince for MSYS2 を導入する
前回の記事で Evince の Windows 用バイナリがなくなったと書いたが MSYS2 経由なら導入できそうである。 ただし MSYS2 は万人におすすめの方法ではないので,既に MSYS2 を導入している方のみという感じだろうか。 MSYS2 の導入手順は以下の拙文を参考にどうぞ。
ね。 万人向けじゃないでしょ。
pacman
コマンドを使って Evince を探してみると
$ pacman -Ss evince
mingw32/mingw-w64-i686-evince 3.28.2-3
Document (PostScript, PDF) viewer (mingw-w64)
mingw64/mingw-w64-x86_64-evince 3.28.2-3
Document (PostScript, PDF) viewer (mingw-w64)
おおっ! あったあった。
ふむ。
mingw32
か mingw64
のいずれかのリポジトリから取るのか。
ちょいとバージョンが古いが,まぁいいか。
ちなみに mingw32
からインストールした場合には /mingw32
ディレクトリ以下に mingw64
からインストールした場合には /mingw64
ディレクトリ以下にインストールされる。
Shell として bash を起動する際にはモードにご注意を。
C:> SET MSYSTEM=MINGW64
C:> C:\msys64\usr\bin\bash.exe --login -i
じゃあ導入していこう。
$ pacman -S mingw-w64-x86_64-evince
依存関係を解決しています...
衝突するパッケージがないか確認しています...
警告: 循環依存が検出されました:
警告: mingw-w64-x86_64-harfbuzz は依存パッケージ mingw-w64-x86_64-freetype の前にインストールされます
パッケージ (74) mingw-w64-x86_64-adwaita-icon-theme-3.30.1-1 mingw-w64-x86_64-atk-2.30.0-1
mingw-w64-x86_64-brotli-1.0.7-1 mingw-w64-x86_64-c-ares-1.15.0-1
mingw-w64-x86_64-cairo-1.16.0-1 mingw-w64-x86_64-curl-7.64.0-2
mingw-w64-x86_64-dbus-1.12.12-1 mingw-w64-x86_64-djvulibre-3.5.27-3
mingw-w64-x86_64-fontconfig-2.13.1-1 mingw-w64-x86_64-freeglut-3.0.0-4
mingw-w64-x86_64-freetype-2.9.1-1 mingw-w64-x86_64-fribidi-1.0.5-1
mingw-w64-x86_64-gdk-pixbuf2-2.38.1-1 mingw-w64-x86_64-ghostscript-9.26-1
mingw-w64-x86_64-glib2-2.58.3-1 mingw-w64-x86_64-graphene-1.8.4-1
mingw-w64-x86_64-graphite2-1.3.13-1 mingw-w64-x86_64-gsettings-desktop-schemas-3.28.1-1
mingw-w64-x86_64-gsl-2.5-1 mingw-w64-x86_64-gst-plugins-base-1.14.4-1
mingw-w64-x86_64-gstreamer-1.14.4-1 mingw-w64-x86_64-gtk3-3.24.5-1
mingw-w64-x86_64-harfbuzz-2.3.1-1 mingw-w64-x86_64-hicolor-icon-theme-0.17-1
mingw-w64-x86_64-icu-62.1-1 mingw-w64-x86_64-jansson-2.12-1
mingw-w64-x86_64-jasper-2.0.14-1 mingw-w64-x86_64-jemalloc-5.1.0-3
mingw-w64-x86_64-json-glib-1.4.4-1 mingw-w64-x86_64-lcms2-2.9-1
mingw-w64-x86_64-libarchive-3.3.3-2 mingw-w64-x86_64-libcroco-0.6.12-1
mingw-w64-x86_64-libdatrie-0.2.12-1 mingw-w64-x86_64-libepoxy-1.5.3-1
mingw-w64-x86_64-libgcrypt-1.8.4-1 mingw-w64-x86_64-libgpg-error-1.35-1
mingw-w64-x86_64-libgxps-0.3.1-1 mingw-w64-x86_64-libidn-1.35-1
mingw-w64-x86_64-libidn2-2.1.1a-1 mingw-w64-x86_64-libjpeg-turbo-2.0.2-1
mingw-w64-x86_64-libmetalink-0.1.3-3 mingw-w64-x86_64-libogg-1.3.3-1
mingw-w64-x86_64-libpaper-1.1.24-2 mingw-w64-x86_64-libpng-1.6.36-1
mingw-w64-x86_64-libpsl-0.20.2-3 mingw-w64-x86_64-librsvg-2.40.20-1
mingw-w64-x86_64-libspectre-0.2.8-2 mingw-w64-x86_64-libssh2-1.8.0-3
mingw-w64-x86_64-libthai-0.1.28-2 mingw-w64-x86_64-libtheora-1.1.1-4
mingw-w64-x86_64-libtiff-4.0.10-1 mingw-w64-x86_64-libunistring-0.9.10-1
mingw-w64-x86_64-libvorbis-1.3.6-1 mingw-w64-x86_64-libvorbisidec-svn-r19643-1
mingw-w64-x86_64-libxml2-2.9.9-1 mingw-w64-x86_64-libxslt-1.1.33-1
mingw-w64-x86_64-lz4-1.8.3-1 mingw-w64-x86_64-lzo2-2.10-1
mingw-w64-x86_64-nettle-3.4.1-1 mingw-w64-x86_64-nghttp2-1.36.0-1
mingw-w64-x86_64-nspr-4.20-1 mingw-w64-x86_64-nss-3.42.1-1
mingw-w64-x86_64-openjpeg2-2.3.0-2 mingw-w64-x86_64-opus-1.3-1
mingw-w64-x86_64-orc-0.4.28-1 mingw-w64-x86_64-pango-1.43.0-2
mingw-w64-x86_64-pcre-8.43-1 mingw-w64-x86_64-pixman-0.38.0-1
mingw-w64-x86_64-poppler-0.74.0-1 mingw-w64-x86_64-poppler-data-0.4.9-1
mingw-w64-x86_64-shared-mime-info-1.12-1 mingw-w64-x86_64-wineditline-2.205-1
mingw-w64-x86_64-zstd-1.3.8-1 mingw-w64-x86_64-evince-3.28.2-3
合計ダウンロード容量: 99.07 MiB
合計インストール容量: 522.88 MiB
:: インストールを行いますか? [Y/n]
うひぃ,大事になっとるがな。
まぁいいや。
このまま Y
を返してインストールしてしまおう(以降の操作は割愛)。
Evince の起動
Explorer のコンテキストメニュー「プログラムから開く」で導入した evince.exe
を使って PDF ファイルを開こうとするが,私の環境では何故か上手くいかないので, shell から
$ C:\msys64\mingw64\bin\evince.exe foo.pdf
のように起動するしかなさそうだ(引数なしならラウンチゃが開く)。 まぁ MSYS2 ファイルシステム依存でなくてよかった。
私は NYAGOS を使っているのでホームディレクトリの .nyagos
ファイルに
nyagos.alias.evince = "c:/msys64/mingw64/bin/evince.exe"
とか記述しておけば
$ evince foo.pdf
で起動できる。
ちょっと扱いが面倒になってしまったが仕方がない。 普段遣いは MuPDF にして, MuPDF で上手く表示できない場合や PDF ファイルのプロパティを確認する際は Evince を使うって感じで。
早く Windows 捨てたい。
ブックマーク
-
Okular を Windows で動作させるには KDE on Windows 環境が必要。同様に macOS では KDE on Mac OS X 環境が必要となる。 ↩︎
-
EPUB 興味ないよなぁ。日本では業界主導で(縦書きがどうとか)なんか騒いでいたみたいだけど,所詮は「紙の延長」だし,それなら別に PDF でいいぢゃんと思ってしまう。そのためにも PDF Viewer が(無料じゃなくて)自由なライセンスで提供されることが重要なんだけどね。「紙」という制約が不要ならそれこそ AsciiDoc とか markdown とか Org mode とかプリミティブに HTML & CSS とか色々あるわけじゃん。 ↩︎