コメント |
|
(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
|
|
|
|
|
> 状態を「確認待ち」へ変更します。
>[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 ではないので,昨晩の疎覚えな記憶を辿っています.申し訳ありません. |
|
|
|
> > 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変換も正しく行なわれました。 |
|
|
|
> > #firefox側の問題だと思いますが、Webブラウザの場合だといろいろな
> > #ケースが考えられるのでもう少し検証したいと思います。
> > #(今回は、中間報告とさせてください)
> ついでなので,私も分かっている不具合!?をここに記しておきたいと思いま
> す.
>
> 例えば,Web ページのタイトルに半角スラッシュ「/」が入っている場合は,
> 一番最後の「/」以前は全部消えてしまい,
> それ以後の文字列.pdf というファイル名になってしまうようです.
> # / はディレクトリの階層を切りますから,ファイル名に使えない文字だという
> のは分かります….
先のレポートで報告しましたが、firefox(Webブラウザ)からcups-pdfに出力して
ファイル名(日本語)が文字化けする場合は、どうもデータを渡す側に問題がある
ように思えます。
htmlに関しては、特殊文字における書き方の制限はあっても文字自体の
制限はありません。(タグなどの予約語を除く)
したがって、ヘッダーのタイトルの中に「/」を記述しても問題ありませんが
firefoxが、印刷時のファイル名としてヘッダーのタイトルをそのまま持って
きているため(または、ちゃんと文字を置換していないため)問題だと思います。
firefoxからcups-pdfへの印刷(日本語)不具合部分に関しては、firefoxのバグと
して扱うのがよりスマートな感じがします。 |
|
|
|
> ファイル名は文字数制限があるという制限事項付で。
> #開発元(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 も大きくしました。 |
|
|
|
当初の問題は修正されていますので、これで完了にします。 |
|