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ゴシック, 

Posted in Library | このエントリーをはてなブックマークに追加 | この記事をクリップ! livedoor クリップ |