Debian, Java and Printing
freemindを使おうとして、いくつかのバグや設定上のノウハウ(bad knowhow)に気付いた。
freemindとは、mindmapを作成するJavaで書かれたエディタ、Freesoftware。
Debian etchであれば、aptitude install freemindで導入される。
CUPS(ghostscriptのフォント)の問題
メモにあるように
ghostscriptで日本語を扱うには、gs-esp、gs-cjk-resource、cmap-adobe-japan1を導入する必要があったが、さらに、cmap-adobe-japan1で3項目全部を選択する必要があるようになっている
というのをやっておかないと、印刷時にCUPSのエラーで停止する。
PID 25408 (/usr/libexec/cups/filter/foomatic-rip) stopped with status 3!
というメッセージとなって現れる。
実は、この現象は、freemindを英語ロケールで起動した場合には発生せず、日本語ロケールで発生する。その違いは、アプリケーションが生成するPostscriptのなかにデフォルト日本語フォントの指定がはいると言うことだ。差分を取ると次のような感じ。
--- out.ps 2007-05-29 19:51:06.753869650 +0900
+++ japanese.ps 2007-05-29 19:50:28.384336412 +0900
@@ -28,41 +28,22 @@
1 index length 1 sub NZ div 0
3 2 roll ashow newpath} BD
/FL [
- /AvantGarde-Book ISOF
- /AvantGarde-BookOblique ISOF
- /AvantGarde-Demi ISOF
- /AvantGarde-DemiOblique ISOF
- /Bookman-Demi ISOF
- /Bookman-DemiItalic ISOF
- /Bookman-Light ISOF
- /Bookman-LightItalic ISOF
- /Courier ISOF
- /Courier-Bold ISOF
- /Courier-BoldOblique ISOF
- /Courier-Oblique ISOF
/Helvetica ISOF
/Helvetica-Bold ISOF
- /Helvetica-BoldOblique ISOF
- /Helvetica-Narrow ISOF
- /Helvetica-Narrow-Bold ISOF
- /Helvetica-Narrow-BoldOblique ISOF
- /Helvetica-Narrow-Oblique ISOF
/Helvetica-Oblique ISOF
- /NewCenturySchlbk-Bold ISOF
- /NewCenturySchlbk-BoldItalic ISOF
- /NewCenturySchlbk-Italic ISOF
- /NewCenturySchlbk-Roman ISOF
- /Palatino-Bold ISOF
- /Palatino-BoldItalic ISOF
- /Palatino-Italic ISOF
- /Palatino-Roman ISOF
- /Symbol findfont
+ /Helvetica-BoldOblique ISOF
+ /Times-Roman ISOF
/Times-Bold ISOF
- /Times-BoldItalic ISOF
/Times-Italic ISOF
- /Times-Roman ISOF
- /ZapfDingbats findfont
- /ZapfChancery-MediumItalic ISOF
+ /Times-BoldItalic ISOF
+ /Courier ISOF
+ /Courier-Bold ISOF
+ /Courier-Oblique ISOF
+ /Courier-BoldOblique ISOF
+ /GothicBBB-Medium-H findfont
+ /Ryumin-Light-H findfont
+ /GothicBBB-Medium.Hankaku findfont
+ /Ryumin-Light.Hankaku findfont
] D
/F {
FL exch get exch scalefont
エラーは、GothicBBB-Medium-Hが見つからないというGhostscriptのエラーとなって発現する。
さて、Java、つまりJDK/JREにもバグがある。Sun Microsoftが配布しているJDKの最新 Java SE JDK6 update01に、その問題がある。>>次のページ