外部フォントの使用

通常はサーバーで使用できない外部フォントを出力で使用できます。

外部フォントはPDF出力でのみサポートされています。新しいフォントをレポート出力に設定するには、クライアント・マシンでそのフォントを使用してテンプレートを設計し、次にそのフォントをサーバーで使用可能にして、実行時にそのフォントにアクセスするようにPublisherを構成します。

外部フォントを使用する手順

  1. フォントをテンプレートで使用します。

    1. フォントを<WINDOWS_HOME>/fontsディレクトリにコピーします。

    2. Microsoft Wordを開き、テンプレートを作成します。

    3. フォントをテンプレートに挿入します。テキストまたはフォーム・フィールドを選択し、任意のフォントをフォント・ダイアログ・ボックス(「書式」→「フォント」)またはフォント・ドロップダウン・リストから選択します。

      次の図に、フォーム・フィールド・メソッドおよびテキスト・メソッドの例を示します。

  2. ORACLE_HOME/common/fontsディレクトリにフォントを格納します。

    ノート:

    事前定義済のフォントは、ORACLE_HOME/common/fontsにあります。フォントの位置はXDO_FONT_DIR変数によって設定されます。ご利用の環境でこの変数が設定されていない場合は、フォントは$JAVA_HOME/jre/lib/fontsに配置されます。

  3. "font"プロパティを設定します。

    レポートのfontプロパティは、「フォント・マッピング」ページまたは構成ファイルで設定できます。

    「フォント・マッピング」ページでプロパティを設定するには:

    1. レポート・エディタでレポートを開きます。

    2. 「プロパティ」をクリックし、次に「フォント・マッピング」をクリックします。

    3. フォントを入力し、次にマップ先フォントを選択します。

    構成ファイルへプロパティを設定するには:

    1. 構成ファイルの"fonts"セクションを、フォント名とサーバー上の場所で更新します。たとえば、TrueTypeを新規に設定するには、次のように入力します。
      <font family="MyFontName" style="normal" weight="normal">
          <truetype path="\user\fonts\MyFontName.ttf"/>
      </font>
      

    管理者は構成ファイルにプロパティを設定する必要があります。

これでレポートの実行が可能になり、設計どおりにフォントが出力で使用されます。PDF出力の場合は、拡張フォント処理機能によって、外部フォントの絵文字が最終ドキュメントに直接埋め込まれます。文書で必要な絵文字が含まれるのは埋め込まれたフォントのみで、フォント定義自体には含まれません。したがって、文書に必要な要素はすべて備わっているため、外部フォントをプリンタにインストールする必要はありません。

Publisherに付属のバーコード・フォントの使用

Publisherに付属のバーコードを出力するフォントがいくつかあります。

Publisherに付属のバーコードを出力するフォントがいくつかあります。Publisherに含まれるフォント・ファイル:

  • 128R00.TTF: code128a、code128bおよびcode128cアルゴリズムをサポートします。
  • B39R00.TTF: code39およびcode39mod43アルゴリズムをサポートします。
  • UPCR00.TTF: upcaおよびupceアルゴリズムをサポートします。

事前パッケージ済フォントのいずれかを使用する場合、Publisherでは、バーコード・フォントを出力ドキュメントのデータに適用する前に、データに対する前処理を実行します。たとえば、書式を設定する前には、データのチェックサム値やスタート・ビットとエンド・ビットを計算します。

設計時には、Microsoft Wordのフィールドにバーコード・フォントを適用する必要はありません。かわりに、Publisherのフォント・マッピングを使用して、フィールドに適用するフォントをマップできます。実行時に、Publisherはフォント・マッピングで指定されたベース・フォントを使用して、フィールドにバーコード・フォントを適用します。テンプレートの他の場所で使用されていないフォントを選択してください。

Microsoft Wordでフォントを直接使用する場合、適切な.TTFファイルをC:\WINDOWS\Fontsディレクトリに追加します。Template Builderのプレビュー機能を使用するには、Template Builderの構成ファイルでフォントをマップします。

レポート出力でバーコード・フォントを使用するには:

  1. テンプレート内で、レポート出力でバーコードを表示する場所にフィールドを挿入します。
  2. フォーム・フィールドで、次のコマンドを入力します。

    <?format-barcode:data;'barcode_type'?>

    説明

    dataは、エンコーディング対象のXMLデータソースからの要素です。たとえば、INVOICE_NOなどです。

    barcode_typeは、上に示したサポート対象アルゴリズムの1つです。

    例:

    <?format-barcode:INVOICE_NO;'code128a'?>
    
    <?format-barcode:INVOICE_NO;'code39mod43'?>
    
    <?format-barcode:INVOICE_NO;'upca'?> 
    
  3. Microsoft Wordで、フォントをフィールドに適用します。クライアント・マシンにバーコード・フォントをインストールしていない場合は、Bookmanなど、テンプレートの他の場所で使用されていないフォントを選択します。
  4. 「フォント・マッピング」ページでフォントを構成します。「フォント・マッピング」ページの詳細。

次の点に注意してください。

  • バーコード・フォントがクライアントにインストールされている場合でも、Microsoft Wordによって適切に表示されない場合があります。この問題を回避するには、別のフォントをフィールドに適用し、前述のようにフォントをマップします。

  • upcaアルゴリズムは、UPC-Aメッセージ文字列のみを受け入れて、UPC-Aバーコードへとエンコードします。

  • 12文字の文字列は、検査数字付のUPC-Aメッセージとして処理され、11文字の文字列は検査数字がないものとして処理されます。

  • upceアルゴリズムは、UPC-Eメッセージ文字列だけを受け入れて、UPC-Eバーコードへとエンコードします。

  • 8文字の文字列は、前部と後部の両方にガード・バーを持つUPC-Eメッセージとして処理されます。6文字の文字列はガード・バーがないものとして扱われます。

カスタム・バーコード書式の実装

かわりにカスタム・バーコードを使用することを選択した場合、この手順を使用してカスタム・バーコードを実装します。

Publisherには、バーコード・フォントを出力ドキュメントのデータに適用する前に、データに対する前処理を実行する機能があります。たとえば、データの書式設定前に、そのデータのチェックサム値やスタート・ビットとエンド・ビットの計算が必要な場合があります。

このソリューションには、Publisherへのバーコード・エンコーディング・クラスの登録が必要で、それを実行時にインスタンス化してテンプレートの書式設定を適用できます。

テンプレートで書式設定機能を有効にするには、テンプレート内で2つのコマンドを使用する必要があります。1つ目は、バーコード・エンコーディング・クラスをPublisherに登録するコマンドです。この登録は、エンコーディング・コマンドより前にテンプレートで宣言する必要があります。2つ目は、書式を設定するデータを識別するためのエンコーディング・コマンドです。

バーコード・エンコーディング・クラスの登録

フォーム・フィールドにバーコードを含めることができます。

次の構文をテンプレートのフォーム・フィールドで使用して、バーコード・エンコーディング・クラスを登録します。

<?register-barcode-vendor:java_class_name;barcode_vendor_id?>

このコマンドには、Javaクラス名(エンコーディングを実行する)と、クラス別に定義されたバーコード・ベンダーIDが必要です。このコマンドは、テンプレート内でデータをエンコーディングするコマンドの前に配置する必要があります。次に例を示します。

<?register-barcode-vendor:'oracle.xdo.template.rtf.util.barcoder.BarcodeUtil';'XMLPBarVendor'?>

説明

oracle.xdo.template.rtf.util.barcoder.BarcodeUtilはJavaクラスです

XMLPBarVendorは、クラス別に定義されたベンダーIDです。

データのエンコード

データを書式設定するには、次の構文をテンプレートのフォーム・フィールドで使用します。

<?format-barcode:data;'barcode_type';'barcode_vendor_id'?>

説明

dataは、エンコーディング対象のXMLデータソースからの要素です。(例: LABEL_ID)。

barcode_typeは、データの書式設定に使用されるエンコーディングJavaクラスのメソッドです(例: Code128a)。

barcode_vendor_idは、エンコーディング・クラスを登録する際に使用する1つ目のコマンドのregister-barcode-vendorフィールドで定義したIDです。

次に例を示します。

<?format-barcode:LABEL_ID;'Code128a';'XMLPBarVendor'?>

実行時に、barcode_typeメソッドがコールされてデータ値の書式が設定され、最終出力のデータにバーコード・フォントが適用されます。