外部フォントの使用
通常はサーバーで使用できない外部フォントを出力で使用できます。
外部フォントはPDF出力でのみサポートされています。新しいフォントをレポート出力に設定するには、クライアント・マシンでそのフォントを使用してテンプレートを設計し、次にそのフォントをサーバーで使用可能にして、実行時にそのフォントにアクセスするようにPublisherを構成します。
外部フォントを使用する手順
-
フォントをテンプレートで使用します。
-
フォントを
<WINDOWS_HOME>/fonts
ディレクトリにコピーします。 -
Microsoft Wordを開き、テンプレートを作成します。
-
フォントをテンプレートに挿入します。テキストまたはフォーム・フィールドを選択し、任意のフォントをフォント・ダイアログ・ボックス(「書式」→「フォント」)またはフォント・ドロップダウン・リストから選択します。
次の図に、フォーム・フィールド・メソッドおよびテキスト・メソッドの例を示します。
-
-
ORACLE_HOME/common/fontsディレクトリにフォントを格納します。
ノート:
事前定義済のフォントは、
ORACLE_HOME/common/fonts
にあります。フォントの位置はXDO_FONT_DIR変数によって設定されます。ご利用の環境でこの変数が設定されていない場合は、フォントは$JAVA_HOME/jre/lib/fonts
に配置されます。 -
"font"プロパティを設定します。
レポートのfontプロパティは、「フォント・マッピング」ページまたは構成ファイルで設定できます。
「フォント・マッピング」ページでプロパティを設定するには:
-
レポート・エディタでレポートを開きます。
-
「プロパティ」をクリックし、次に「フォント・マッピング」をクリックします。
-
フォントを入力し、次にマップ先フォントを選択します。
構成ファイルへプロパティを設定するには:
- 構成ファイルの"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の構成ファイルでフォントをマップします。
レポート出力でバーコード・フォントを使用するには:
次の点に注意してください。
-
バーコード・フォントがクライアントにインストールされている場合でも、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メソッドがコールされてデータ値の書式が設定され、最終出力のデータにバーコード・フォントが適用されます。