Mar 14, 2006
[Library] iText にチャレンジ(2)
今日は日本語フォントの取り扱いにチャレンジ。
サンプルコード
日本語フォントを読み込んで情報を表示してみた。 チュートリアルに記載されている通りのコードで簡単に動作した。 とりあえず MS P ゴシックを読み込んでみた。
package jp.in_vitro.codelets.itext;
import java.io.IOException;
import com.lowagie.text.DocumentException;
import com.lowagie.text.pdf.BaseFont;
public class Codelet1 {
public Codelet1() {
super();
}
public static void main(final String[] args) throws DocumentException,
IOException {
Codelet1 me = new Codelet1();
me.viewFontInfo();
}
protected void viewFontInfo() throws IOException, DocumentException {
BaseFont baseFont = BaseFont.createFont(
"c:\\windows\\fonts\\msgothic.ttc,1", BaseFont.IDENTITY_H,
BaseFont.EMBEDDED);
System.out.println("[Postscript Font Name] "
+ baseFont.getPostscriptFontName());
System.out.println("[Direct Text to Byte] "
+ baseFont.isDirectTextToByte());
System.out.println("[Embedded] " + baseFont.isEmbedded());
System.out.println("[Font Specific] " + baseFont.isFontSpecific());
System.out.println("[Force Widths Output] "
+ baseFont.isForceWidthsOutput());
System.out.println("[Subset] " + baseFont.isSubset());
System.out.println("[Code Pages Supported]");
for (String codePage : baseFont.getCodePagesSupported()) {
System.out.println(" " + codePage);
}
System.out.println("[Full Font Name]");
for (String[] tmp : baseFont.getFullFontName()) {
System.out.print(" ");
for (String defference : tmp) {
System.out.print(defference + ", ");
}
System.out.println();
}
}
}
実行結果
[Postscript Font Name] MS-PGothic [Direct Text to Byte] false [Embedded] true [Font Specific] false [Force Widths Output] false [Subset] true [Code Pages Supported] 1252 Latin 1 1250 Latin 2: Eastern Europe 1251 Cyrillic 1253 Greek 1254 Turkish 1257 Windows Baltic 932 JIS/Japan OEM Character Set 869 IBM Greek 866 MS-DOS Russian 865 MS-DOS Nordic 863 MS-DOS Canadian French 861 MS-DOS Icelandic 860 MS-DOS Portuguese 857 IBM Turkish 855 IBM Cyrillic; primarily Russian 852 Latin 2 775 MS-DOS Baltic 737 Greek; former 437 G 850 WE/Latin 1 437 US [Full Font Name] 1, 0, 0, MS PGothic, 3, 1, 1033, MS PGothic, 3, 1, 1041, MS Pゴシック,



