チヂマカです。
電子書籍の制作などもしています。
制作したEpubがどうもepubcheckのチェックに通らないなと思ったら、何かの拍子にエディタの設定を変更してしまっていたようで、cssファイルの編集・保存時に末尾にEOFの制御文字(0x1A)がついていたみたいです。
エディタの設定で保存時にEOF制御文字を付けてしまっていた
私は秀丸エディタを使っているのですが、[その他]メニュー>[ファイルタイプ別の設定]>[保存・読込み]の中に「保存するときにEOF制御文字を付ける」というチェックボックスがありまして、何かの拍子にそのチェックを入れてしまっていたようです。
cssファイルにEOF制御文字が付いているとepubcheckで以下のようなエラーが出ます。
CSSパース中にエラーが発生しました: トークン '●' はここでは使用できません..
CSSパース中にエラーが発生しました: 構文が途中で終わっています ('}' がありません).
(●の部分に制御文字が入っているんですが、視認できませんね)
cssファイルの編集・保存時にはEOF制御文字を付けないこと
W3CのCSS検証サービスでもEOF制御文字が付いているcssファイルをアップロードするとエラーになります。EOF制御文字がついていると正常にパースできないようです。
というわけで、もし秀丸エディタでcssファイルを編集することがありましたら、「保存するときにEOF制御文字を付ける」のチェックははずしてくださいね。
ちなみに、エラーの原因を探っているときに制御文字の文字コードを見ようと思ったらいつの間にか表示メニューの中の「文字コードを表示」の項目もオフにしてしまっていました。
誤クリックしすぎなんですよね。。。