Home • ChemFormatter • iText.NET • JFreeChart.NET • ConcatPDF • iTextFront • TIFF2PPT • J by J# • Programming J#
MSN Search

iText.NET

iText .NET
@SourceForge
ライセンス
更新履歴
ダウンロード
使い方
J# Examples
C# Examples
VB.NET Examples
コンパイル
ConcatPDF
iText (Java)
J by J#

SourceForge.net Logo

 

フォントオブジェクト

Font クラス
どのPDF Reader でも標準フォントとして、Courier、Courier Bold、Courier Italic (Oblique)、Courier Bold and Italic、Helvetica、Helvetica Bold、Helvetica Italic (Oblique)、Helvetica Bold and Italic、Times Roman、Times Roman Bold、Times Roman Italic、Times Roman Bold and Italic、Symbol、ZapfDingBats® (ビルトインフォントの節も参照) の14個のフォントは、利用可能です。 同じタイプフェースでも (Courier、Helvetica、Times Roman) でも、フェース(normal、bold、italic、bolditalic)が異なる場合は 、異なるフォントとして扱われます。このことは、ファイルとスタイルからフォントを得るの節でも出てきます。iText は、これらの違いをフォントファミリー (Courier、Helvetica、Times Roman) とスタイル (normal、bold、italic) により指定することによりより透過的にようになっています。
基本 14 ォントのオブジェクトは、次に示すような単純なコンストラクタによって構築します。
fonts[0] =
  new Font(Font.COURIER, Font.DEFAULTSIZE, Font.NORMAL);
fonts[2] =
  new Font(Font.COURIER, Font.DEFAULTSIZE, Font.BOLD);
fonts[3] =
  new Font(Font.COURIER, Font.DEFAULTSIZE, Font.BOLD | Font.ITALIC);
fonts[7] =
  new Font(Font.HELVETICA, Font.DEFAULTSIZE, Font.BOLDITALIC);
fonts[9] =
  new Font(Font.TIMES_ROMAN, Font.DEFAULTSIZE, Font.ITALIC);
Example: java com.lowagie.examples.fonts.StandardType1Fonts
Sums up the 14 Standard Type 1 Fonts: see StandardType1Fonts.pdf
先頭に戻る
FontFactory クラス
次の例では、Font インスタンスの作成に、FontFactory クラスを使っています。これは、(フォントプロパゲーションの機能を使わない限り)新しい Font オブジェクトを得る最も簡単な方法です。フォントの取得の章を読むと、フォントの'ソース'としてさまざまなものがあることがわかります。Fontfactory は、さまざまな形式のフォントオブジェクト(特殊なCIDフォントは除きます)を構築する共通のメソッドを持ったAPIです。
fonts[0] =
  FontFactory.getFont(
    FontFactory.COURIER,
    Font.DEFAULTSIZE,
    Font.NORMAL);
fonts[2] =
  FontFactory.getFont(
    FontFactory.COURIER,
    Font.DEFAULTSIZE,
    Font.BOLD);
fonts[3] =
  FontFactory.getFont(
    FontFactory.COURIER,
    Font.DEFAULTSIZE,
    Font.BOLD | Font.ITALIC);
fonts[7] =
  FontFactory.getFont(
    FontFactory.HELVETICA,
    Font.DEFAULTSIZE,
    Font.BOLDITALIC);
fonts[9] =
  FontFactory.getFont(
    FontFactory.TIMES_ROMAN,
    Font.DEFAULTSIZE,
    Font.ITALIC);
Example: java com.lowagie.examples.fonts.FontFactoryType1Fonts
Sums up the 14 Standard Type 1 Fonts (using the FontFactory): see FontFactoryType1Fonts.pdf
先頭に戻る
BaseFont クラス
FontFactory から返される Font オブジェクトは、ほとんどの場合、複雑なクラスである BaseFont のラッパークラスとして働いているに過ぎません。BaseFont インスタンスを BaseFont.createFont メソッドで直接生成することもできます。
BaseFont helvetica =
  BaseFont.createFont(
    BaseFont.HELVETICA,
    BaseFont.CP1252,
    BaseFont.NOT_EMBEDDED);
  1. 最初のパラメータは、フォント名あるいはファイル名を表します。Windows システムでは、ほとんどのフォントは、 C:\WINDOWS\FONTS ディレクトリにあるので、Arial の BaseFont オブジェクトを構築する正しい方法は、次のようになります。
    BaseFont arial =
      BaseFont.createFont(
        "C:\\WINDOWS\\FONTS\\ARIAL.TTF",
        BaseFont.CP1252,
        BaseFont.NOT_EMBEDDED);
    Example: java com.lowagie.examples.fonts.TrueType
    Using a True Type font: see truetype.pdf
    完全フォント名でフォントを問い合わせることもできます。次の例を見てください。
    Example: java com.lowagie.examples.fonts.FullFontNames
    Retrieving the full font name: see fullfontname_arialbi.txt
    TTF ファイルのパスを使ってフォントを作成するならば、フォント名として TTF ファイルが要求されます。(ファイルからのフォントの作成の節では、ひとつのメソッドで完全なフォントディレクトリの登録する方法が記載されています。これにより、Fontオブジェクトを作成するとき、常に分割されたフォントへのパスが必要にはなりません。)
  2. 二番目のパラメータは、エンコーディングです。文字は抽象記号、つまりグリフは、文字を特定するためのグラフィカルな表現です。たとえば、グリフ A、AA いずれも、抽象的な "A" という文字の表現です。エンコーディングは、(文字列から得られる)文字コードとグリフの表現を結びつけるものです。Java の String オブジェクトにおける同じ Java 文字でも、エンコーディングによってさまざまなに表現されます。Basefont には、既定の値が設定されていますが、使用しているフォントで利用できるいずれのエンコーディングも利用できます。
    BaseFont.WINANSI = BaseFont.CP1252 Latin 1
    BaseFont.CP1250 Latin 2: 東ヨーロッパ
    BaseFont.CP1257 Windows Baltic
    BaseFont.MACROMAN MacRomanEncoding
    このリストを、"1251" (キリル文字)、"1253" (ギリシャ文字)、"1254" (トルコ文字)に拡張すること容易です。
    フォントのエンコーディングは、次のようにして問い合わせることができます。
    Example: java com.lowagie.examples.fonts.ListEncodings
    Asking the font for its available encodings: see encodings.txt
    すべてのフォントが任意のエンコーディングを含んでいるわけではありません。あなたの要求にあうフォントを探すことに使えるだけです。
    Example: java com.lowagie.examples.fonts.FontEncoding
    Using a True Type font that will be embedded in the PDF: see fontencoding.pdf
    次の例では、値 IDENTITY_Hエンコーディングとして渡しています。BaseFont.IDENTITY_H および BaseFont.IDENTITY_V は、真の意味ではエンコーディングではありません。これらの値は、ユニコード文字が2バイトの領域を取ってそのまま保存され、参照されることを表します。アジアフォントやタイ語のような Adobe に無視されたエンコーディングを保持する唯一の方法です。ヨーロッパ言語や中東言語の場合は、1文字あたり1バイトで格納される利用可能なエンコーディングを利用する方が有利です。BaseFont.IDENTITY_H あるいは BaseFont.IDENTITY_V のフォントは、3番目のパラメータで指定しない限り埋め込まれます。
    Example: java com.lowagie.examples.fonts.UnicodeExample
    Using BaseFont.IDENTITY_H as 'encoding': see unicode.pdf
    Example: java com.lowagie.examples.fonts.EncodingFont
    Using an encoding to display characters from other alphabets: see encodingfont.pdf
  3. 3番目のパラメータは、PDF 文書にフォント(のサブセット)を埋め込む場合にしてします。これは、作成した文書の読み手のシステムで使われていない特殊なフォントを使っている場合は必須です。
    Example: java com.lowagie.examples.fonts.FontEncoding
    Using a True Type font that will be embedded in the PDF: see fontencoding.pdf
先頭に戻る
続く
There more on fonts in the chapters フォントの取得 (ビルトイン、ファイルからの取得、jar からの取得、CID フォント) とフォントの特性 (スタイルの変更、書き込み方向の変更、など) の章でもフォントについてさらに説明します。 and .
先頭に戻る

Copyright (C) 2001-2007 Kazuya Ujihara. All rights reserved.