サーモ表示

XOR for Mac Version 2.1では新機能として「不変ページの自動検出」と「サーモ表示」を搭載したものの、当初の予定では自動検出のみを盛り込む方向で進めていました。それだけで大きな進歩になるはずだと。

XOR for Mac Version 2.1のサーモ表示
サーモ表示。このバージョンに追加する予定ではなかったのですが…

ただし、いざ不変ページの自動検出を作り込み、さまざまなテストデータを試したところ、同じページなのに「Unchanged」になったりならなかったりという事象が見られました。もちろんアルゴリズムは同じなので不可解な話です。

具体的には、テスト用にとあるPDFのペアから最後のページだけを削除したバージョンを作って試したところ、全ページが揃ったPDFとでは「Unchanged」になるページの組み合わせが食い違う点に気づきました。

調べてみたところ、原因はページを削除して保存した際にPDFのデータ構造が微妙に変わることでした。そう、PDFは見た目が同じでもデータ構造が違っているケースがよくあります。それがXORでレンダリングする際に数ドット程度の微妙な差異を生み出していたわけです。不変ページの自動検出機能は当然ながら1ドットでも違いが見つかれば差異があると見なします。

ちなみにPDFのデータ構造を解析して比較するタイプのPDF比較アプリが差異の後検出や検出漏れを起こすのも、PDFの保存状態との相性が理由だったりします。そのせいでアルゴリズムに要素のペアリングを誤認識させたり、チェックをすり抜けてしまうという。

で、数ドットの微妙な差異をXORで吸収できればよかったのだけど、あらゆるケースを想定するのは不可能なので諦めて、代わりにユーザが微妙な差異を見つけやすくするべく急遽サーモ表示を追加しました。

XOR for Mac Version2.0のアイコン

XOR

リアルタイムPDF比較ビューワ

2,000円(税込)/月
(サブスクリプション)

  • Download_on_the_Mac_App_Store_Badge_ja