iOS端末での定番PDFビューアーであるGoodReaderですが、最近一部のファイルが操作できなくなりました。
問題は日本語のファイル名にあるようなのですがiOS側に起因する可能性があります。
GoodReader
iPhoneが発売された頃、定番PDFビューアーとして有名だったGoodReaderですが、特に問題も無いのでいまだに利用しています。
元々ユーザーインターフェースが英語のままなので日本語に対応するつもりは無いようですが、日本語ファイル名のPDFファイルや内容が日本語でも問題無く表示できていました。
通常iOSアプリにファイルを渡す場合、メールやiTunes、iCloudなどのアプリや媒体を介して渡す必要があります。
GoodReaderはWebサーバーのWi-Fiモードがありブラウザーから直接アップロードして渡すことができるので、急いで外出するときに大きなPDFファイルを出先で読みたい場合など、すぐにGoodReaderに渡せるのが便利です。
異常発生
ところが最近GoodReaderに、あるファイルをアップロードしたところ、同じファイル名のものが2つ作成されました。
一つは0バイトなので削除したのですが、もう一つのファイルは開くことも削除することもできません。
削除しようとすると、このようなエラーが出ます。
iTunes経由で渡したところ、2つにはなりませんが開くことも削除することもできないのは同じです。
原因は日本語のファイル名
いろいろ試してみたところ、ファイル名に「ひらがな」または「カタカナ」の濁音(ばびぶべぼ…など)または半濁音(ぱぴぷぺぽ…など)を含むとこのような動作をするようです。一文字でも含んでいるとダメです。
例ではわざと「ぱぴぷぺぽ ガギグゲゴ.pdf」というファイル名で試しています。
漢字や清音(はひふへほ…など)では問題ありません。
通常GoodReaderに渡したファイルはトップページのサムネールがアイコンとして表示されますが、このような状態となるファイルはPDFのアイコンとなります。
この症状に気付いたのは最近です。しかしGoodReaderは2016/2/12から更新されていません。
そして問題のエラーをよく見るとiOSからのエラーと表示されています。
今年の初めにファイルを渡したときは問題無かったので、iOS 10.3.1のバグの可能性があります。
(2017/5/23 追記)
iOS 10.3.2に更新しても状況は改善しませんでした。
対処方法
問題が発生するファイルは、ファイル名を濁音または半濁音を含まないものに変更してから転送すれば問題無く開けます。
- 「ぱぴぷぺぽ ガギグゲゴ.pdf」--> 「はひふへほ カキクケコ.pdf」
既に削除できなくなったファイルは「My Documents」直下にあるならばiTunesでファイルを選択して[DEL]キーで削除できます。
サブフォルダーにある場合はサブフォルダーごと削除すれば消せます。
iOS 11
iOS 11にアップデートしたiPad Proで確認したところ、日本語ファイル名の問題は解消していました。
やはり、iOS 10.3.Xに問題があったようです。
iOS 11はいろいろ大きく変わっていますのでGoodReaderの問題だけで考えず、アップデートするかどうかはよく考えて行ってください。
(2017/9/21 追記)
NFCとNFDの問題
WindowsやLinuxではNFC(Normalization Form Canonical Compression)という濁音や半濁音を1文字として処理しています。
しかし、macOSではNFD(Normalization Form Canonical Decompression)という濁音と半濁音を静音と濁点、半濁点に分けて処理しているそうです。
iOS 10ではこのあたりがmacOSに引きずられて問題を内包してしまったようです。
iOS 11で直ったことから、NFCとNFDを正しく変換するようになったのだと思われます。
- Mac OS X の NFD 問題での対策諸々(Qiita)
(2019/7/14 追記)
まとめ
iOS 10.3.Xの場合はファイル名に濁音・半濁音のひらがな・カタカナを使わないように気を付ければ問題無く使えます。
または、iOS 10.3.Xのバグのようですので、iOS 11にアップデートすれば直ります。
GoodReaderのサポートに問い合わせてみましたが反応がありません。日本語に対応しないことから予想はしていましたが、サポートする気が無いなら日本のApp Storeで売らなければよいと思うのですが。
コメント