PDFとの格闘その2

PDFを手書きできるまでになってしまったわけですが、FreeNoteにてこれと同様のファイルを作成しAcrobatReaderで読み込ませても、相変わらず再構築エラーがでます。
テキストレベルで比較してもオペレータ部分は同じ出力が得られているので、何故なんだろう?と思っていたのですが、バイナリレベルで比較すると、行末コードが異なる事に気づきました。


Windowsの行末コードは、0x0D, 0x0Aですが、Linuxは0x0Aのみ。
これは、リナザウでも同様です。
しかし、参照項目であるxrefエリアのカウントは、バイト単位できっちりあっています。
つまり、PDFの仕様的には、正しいファイルなわけです。


これしか怪しいところが無いので試しに、行末コードを0x0D, 0x0Dにしてみたところ、再構築エラーなしに表示されるようになりました。
しかし!
PDFの仕様によると、行末コードは0x0Aでも0x0D,0x0Aでも0x0Dでもよかったと記憶しているのですが、何故0x0D, 0x0Aでないと(表示に影響があるわけではないですけど)エラーが出るのでしょうか?
勘違いでした、EOL(行末)としてCR(0x0D),LF(0x0A)を使うとありました。


とりあえず次バージョンでは、Win2K AcrobatReader 6.0で正常に表示できるようになると思います。