Vine Linux バグトラッキングシステム - Vine Linux
課題の詳細を表示
0000718Vine Linux1 バグ公開2009-07-07 18:272009-09-14 11:32
anonymous 
munepi 
不明 
完了不明 
VineSeed 
 
cups-pdf-2.5.0-1vl5
0000718: cups-pdfを利用してのpdf変換での日本語ファイル名の時のバグ
Firefoxからcups-pdfを利用して印刷してpdf変換した場合、
pdf(変換された)ファイル名に日本語が入っているよう
ケースでは、ファイル名に正しい日本語が使われていない。
#htmlのドキュメントの印刷する場合には、ヘッダーのtitelを
#元にしてpdfのファイル名にしているようだ。
#(ヘッダーのtitelが英数文字の場合には問題なし)

PDFファイル化(日本語を含む)自体は問題なくできています。
(AdobeReaderで内容確認)

例)
URL http://www.vinelinux.org/ [^]
==(印刷)==> $HOME/Desktop/Vine_Linux_Home_Page.pdf

URL http://slashdot.jp/ [^]
==(印刷)==> $HOME/Desktop/274.pdf

URL http://www.nicovideo.jp/ [^]
==(印刷)==> $HOME/Desktop/262_.pdf


また、Leafpadのファイルをpdf変換(印刷)した場合にも同様なことがおきます。
(無題)のファイル
==(印刷)==> $HOME/Desktop/267__1_.pdf
設定されていません。
課題の履歴
2009-07-07 18:27anonymous新規課題
2009-07-08 00:58munepiコメント追加: 0003188
2009-07-08 01:00munepi担当者 => munepi
2009-07-08 01:00munepi状態新規 => テスト待ち
2009-07-08 01:00munepiコメント追加: 0003189
2009-07-08 12:35anonymousコメント追加: 0003190
2009-07-08 14:50munepiコメント追加: 0003191
2009-07-08 18:36anonymousコメント追加: 0003192
2009-07-08 18:51anonymousコメント追加: 0003193
2009-07-14 20:13anonymousコメント追加: 0003194
2009-07-26 09:57munepiコメント追加: 0003195
2009-09-14 11:32kazutaka状態テスト待ち => 完了
2009-09-14 11:32kazutakaコメント追加: 0003196

コメント
(0003188)
munepi   
2009-07-08 00:58   
ご報告をありがとうございます。

[VineSeed:18011] にて「一応」対処致しました。
「一応」としていますのは、まだ cups-pdf で実験的な設定だからです。
しかしながら、全く日本語が出ないよりはましだと思いましたので、
デフォルトで有効にしてみました。

ご確認下さいませ。

手元では以下のようなファイル名になりました。
> 例)
> URL http://www.vinelinux.org/ [^]
> ==(印刷)==> $HOME/Desktop/Vine_Linux_Home_Page.pdf
Vine_Linux_Home_Page.pdf
 
> URL http://slashdot.jp/ [^]
> ==(印刷)==> $HOME/Desktop/274.pdf
スラッシュドット・ジャパン__アレゲなニュー��.pdf (無効なエンコーディング)
 
> URL http://www.nicovideo.jp/ [^]
> ==(印刷)==> $HOME/Desktop/262_.pdf
ニコニコ動画_ββ_.pdf

> また、Leafpadのファイルをpdf変換(印刷)した場合にも同様なことがおきます。
> (無題)のファイル
> ==(印刷)==> $HOME/Desktop/267__1_.pdf
これは、CUPS-PDF で上記の対処を施しても変化はありませんでした。
leafpad 自体の不具合なのか調べてみないと分かりませんが、
必要であればレポートを分割したいと思います。
(0003189)
munepi   
2009-07-08 01:00   
状態を「確認待ち」へ変更します。
(0003190)
anonymous   
2009-07-08 12:35   
> 状態を「確認待ち」へ変更します。

>[VineSeed:18011] にて「一応」対処致しました。
>「一応」としていますのは、まだ cups-pdf で実験的な設定だからです。
> しかしながら、全く日本語が出ないよりはましだと思いましたので、
> デフォルトで有効にしてみました。
対応、ありがとうございます。
#当初、アプリとしてi18nの対応がないのかと思っていましたが、Default: 0
#だったのですね。

新しいパッケージの /etc/cups/cups-pdf.conf で
 DecodeHexStrings 1
になっていることを確認しました。

Leafpad,OpenOffice.org(writer)で、問題が解決されていること確認しました。
firefoxの場合のように、ファイル名が44バイト以上のものは、43バイト目ぐらい
でデータが切り捨てられて?(文字)として表示されてしまいます。

Webブラウザのアプリ以外は、正しい日本語ファイル名(全角21文字制限)を
与えあげれば、OKのような気がします。
#firefox側の問題だと思いますが、Webブラウザの場合だといろいろな
#ケースが考えられるのでもう少し検証したいと思います。
#(今回は、中間報告とさせてください)

<前のバージョン>
[firefox-3.5-3vl5]
URL http://slashdot.jp/ [^]
==(印刷)==> $HOME/Desktop/274.pdf

[Leafpad]
(無題)のファイル
==(印刷)==> $HOME/Desktop/267__1_.pdf

[OpenOffice.org(writer)]
ファイル名:無題1(無題1.odt)
==(印刷)==>$HOME/Desktop/2141.pdf


<新バージョン>
[firefox-3.5-3vl5]
URL http://slashdot.jp/ [^]
==(印刷)==>$HOME/Desktop/スラッシュドット・ジャパン__アレゲなニュー??.pdf

[Leafpad]
(無題)のファイル
==(印刷)==> $HOME/Desktop/Leafpad__印刷ジョブの番号__1_.pdf

[OpenOffice.org(writer)]
ファイル名:無題1(無題1.odt)
==(印刷)==>$HOME/Desktop/無題1.pdf
(0003191)
munepi   
2009-07-08 14:50   
確認して頂きまして有難うございました.

> Leafpad,OpenOffice.org(writer)で、問題が解決されていること確認しました。
>
> firefoxの場合のように、ファイル名が44バイト以上のものは、43バイト目ぐらい
>
> でデータが切り捨てられて?(文字)として表示されてしまいます。
>
> Webブラウザのアプリ以外は、正しい日本語ファイル名(全角21文字制限)を
> 与えあげれば、OKのような気がします。
> #firefox側の問題だと思いますが、Webブラウザの場合だといろいろな
> #ケースが考えられるのでもう少し検証したいと思います。
> #(今回は、中間報告とさせてください)
ついでなので,私も分かっている不具合!?をここに記しておきたいと思います.

例えば,Web ページのタイトルに半角スラッシュ「/」が入っている場合は,
一番最後の「/」以前は全部消えてしまい,
それ以後の文字列.pdf というファイル名になってしまうようです.
# / はディレクトリの階層を切りますから,ファイル名に使えない文字だというのは分かります….

例えば,拙作のページで申し訳ないのですが,
■[Vine][Linux][Emacs] ATOK X3 を VineSeed/i386, VineSeed/x86_64 で使ってみた
http://d.hatena.ne.jp/munepi/20090517/1242531449 [^]
ですと,
  x86_64 で使ってみた.pdf
のような感じになったと思います.
# 今,手元が VineSeed ではないので,昨晩の疎覚えな記憶を辿っています.申し訳ありません.
(0003192)
anonymous   
2009-07-08 18:36   
> > Leafpad,OpenOffice.org(writer)で、問題が解決されていること確認しました。
> >
> > firefoxの場合のように、ファイル名が44バイト以上のものは、43バイト目ぐらい
> >
> > でデータが切り捨てられて?(文字)として表示されてしまいます。
> >
> > Webブラウザのアプリ以外は、正しい日本語ファイル名(全角21文字制限)を
> > 与えあげれば、OKのような気がします。
Webブラウザの場合, charsetの指定とhtmlのコードが不一致
の状態だと文字化けを起こす場合があると思います。日本語を含む
<head>と<body>の簡単なテストデータ(20行程度のhtmlファイル)
で検証をしてみました。

文字化けの状態だとやはりpdf変換自体もうまくいきませんでした。
同様にheadのtitleからファイル名を指定しているため
titleが文字化けした状態だと生成されるpdfのファイル名も
文字化けしました。

今回の対応(cups-pdf側の対応)は、OKで良いと考えます。
ファイル名は文字数制限があるという制限事項付で。
#開発元(cups-pdf)への要望として、ファイル名は251バイトまで
#拡張していただけるとうれしいです。(251+4バイト(.pdf)で255バイト)


<正常系のテスト結果(firefoxからの印刷)>
headでのcharset| bodyのコード|ファイル名(pdf変換)
----------------------------------------------------
Shift_JIS   |Shift_JIS  |○(○)
 EUC-JP    | EUC-JP   |○(○)
UTF-8     |UTF-8    |○(○)
ISO-2022-JP  |ISO-2022-JP |○(○)

<異常系のテスト結果(firefoxからの印刷)>
headでのcharset| bodyのコード|ファイル名(pdf変換)
----------------------------------------------------
Shift_JIS   | EUC-JP   |X(X) -- 文字化け
Shift_JIS   |UTF-8    |X(X) -- 文字化け
Shift_JIS   |ISO-2022-JP |X(X) -- 文字化け
 EUC-JP    |Shift_JIS  |X(X) -- 文字化け
 EUC-JP    |UTF-8    |X(X) -- 文字化け
 EUC-JP    |ISO-2022-JP |X(X) -- 文字化け
UTF-8     | EUC-JP   |X(X) -- 文字化け
UTF-8     |Shift_JIS  |X(X) -- 文字化け
UTF-8     |ISO-2022-JP |X(X) -- 文字化け
ISO-2022-JP  | EUC-JP   |X(X) -- 文字化け
ISO-2022-JP  |Shift_JIS  |X(X) -- 文字化け
ISO-2022-JP  |UTF-8    |X(X) -- 文字化け
※firefoxの文字のエンコーディングを手動でbodyのコードに
 あわせて設定してやると文字化け(headも body)は解消され、
 ファイル名も正しく、pdf変換も正しく行なわれました。
(0003193)
anonymous   
2009-07-08 18:51   
> > #firefox側の問題だと思いますが、Webブラウザの場合だといろいろな
> > #ケースが考えられるのでもう少し検証したいと思います。
> > #(今回は、中間報告とさせてください)
> ついでなので,私も分かっている不具合!?をここに記しておきたいと思いま
> す.
>
> 例えば,Web ページのタイトルに半角スラッシュ「/」が入っている場合は,
> 一番最後の「/」以前は全部消えてしまい,
> それ以後の文字列.pdf というファイル名になってしまうようです.
> # / はディレクトリの階層を切りますから,ファイル名に使えない文字だという
> のは分かります….
先のレポートで報告しましたが、firefox(Webブラウザ)からcups-pdfに出力して
ファイル名(日本語)が文字化けする場合は、どうもデータを渡す側に問題がある
ように思えます。

htmlに関しては、特殊文字における書き方の制限はあっても文字自体の
制限はありません。(タグなどの予約語を除く)
したがって、ヘッダーのタイトルの中に「/」を記述しても問題ありませんが
firefoxが、印刷時のファイル名としてヘッダーのタイトルをそのまま持って
きているため(または、ちゃんと文字を置換していないため)問題だと思います。

firefoxからcups-pdfへの印刷(日本語)不具合部分に関しては、firefoxのバグと
して扱うのがよりスマートな感じがします。
(0003194)
anonymous   
2009-07-14 20:13   
> ファイル名は文字数制限があるという制限事項付で。
> #開発元(cups-pdf)への要望として、ファイル名は251バイトまで
> #拡張していただけるとうれしいです。(251+4バイト(.pdf)で255バイト)
/etc/cups/cups-pdf.conf
の「Filename Settings」という項目があり、Truncate(Default 64)
を十分に大きくしてやると途中で切り捨てられなくなりました。
#ソースコードの中にハードコーティングされているかと思いましたが変更可でした

生成されたPDF(pdfファイルのプロパティの中のタイトル)が文字化けして
いましたが、別にたてようと思います。(ghostscript-8.64 の問題だと思いますので)
(0003195)
munepi   
2009-07-26 09:57   
ご報告をありがとうございました。

> > ファイル名は文字数制限があるという制限事項付で。
> > #開発元(cups-pdf)への要望として、ファイル名は251バイトまで
> > #拡張していただけるとうれしいです。(251+4バイト(.pdf)で255バイト)
> /etc/cups/cups-pdf.conf
> の「Filename Settings」という項目があり、Truncate(Default 64)
> を十分に大きくしてやると途中で切り捨てられなくなりました。
> #ソースコードの中にハードコーティングされているかと思いましたが変更可で
> した
#define OCFS2_MAX_FILENAME_LEN 255
となっているので、cups-pdf.conf の Truncate も大きくしました。
(0003196)
kazutaka   
2009-09-14 11:32   
当初の問題は修正されていますので、これで完了にします。