- PR -

PDFDocletで文字化け

1
投稿者投稿内容
いしと
会議室デビュー日: 2005/06/29
投稿数: 11
投稿日時: 2005-10-20 12:39
PDFDocletを使用してJavadocを作成したいのですが、日本語が文字化けしてしまいます。
PDFDocletのオプションのfont.text.encや、font.code.encでShift_JISや、MS932、UTF-8を指定しても化けたままとなってしまいます。
PDFDocletは、EclipseからAntを使用して実行しています。
どなたか解決方法をご存じないでしょうか?

環境は以下のとおりです。
OS: Windows 2000 Server
Eclipse: 3.0.1
Ant: Eclipse上のもの
PDFDoclet: 1.0.1
いわ
会議室デビュー日: 2005/12/12
投稿数: 1
投稿日時: 2005-12-12 12:38
はじめまして。

HtmlParserWrapperというクラスの、入力ストリームを作成するところで、
文字エンコーディングを"UTF-8"にすれば日本語出力は可能です。

(PDFDoclet: 1.0.1ソースだとちょうどTODOになってるあたり)

オプションの、font.XXX.encなどは不要みたいです。
ynak
会議室デビュー日: 2005/12/16
投稿数: 1
投稿日時: 2005-12-16 12:59
ちょうど同じことで困っていたんですが、いわさんの情報のおかげで文字化けが解消できました。
ありがとうございます。
私のところではとりあえずこんな↓パッチをあてました。

━━━━━━━━━━━━━━━━━━━━━━━━━
--- HtmlParserWrapper.java 2005-12-16 12:41:02.734375000 +0900
+++ HtmlParserWrapper.java 2005-12-16 12:16:12.328125000 +0900
@@ -62,7 +62,8 @@

// TODO: Make HTML encoding configurable
// InputStream in = new ByteArrayInputStream(content.getBytes("UTF-8"));
- InputStream in = new ByteArrayInputStream(content.getBytes());
+ //InputStream in = new ByteArrayInputStream(content.getBytes());
+ InputStream in = new ByteArrayInputStream(content.getBytes("UTF8"));

// Parse the HTML document and return the root node
log.debug("Parse DOM...");
@@ -211,10 +212,12 @@

log.debug(">");

- InputStream in = new ByteArrayInputStream(text.getBytes());
+ //InputStream in = new ByteArrayInputStream(text.getBytes());
+ InputStream in = new ByteArrayInputStream(text.getBytes("UTF8"));
ByteArrayOutputStream out = new ByteArrayOutputStream();
parser.parse(in, out);
- String content = out.toString();
+ //String content = out.toString();
+ String content = out.toString("UTF8");

// Cut off any <html> tag
if (Util.indexOfIgnoreCase(content, "<html>") == 0) {
@@ -262,6 +265,8 @@
parser.setFixComments(false);
parser.setForceOutput(true);
parser.setHideEndTags(false);
+ parser.setInputEncoding("UTF8");
+ parser.setOutputEncoding("UTF8");

log.debug("<");
}
1

スキルアップ/キャリアアップ(JOB@IT)