プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド
12c (12.2.1.2)
E82763-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

9.4 フォント・エイリアシング

フォント・エイリアシングはOracle Reportsのメカニズムです。これによって、フォントやその属性(スタイル、太さ、幅、サイズ、キャラクタ・セットなど)を他のフォントや属性にマップできるようになります。主に、あるプラットフォームから別のプラットフォームにアプリケーションを移植する際、レイアウト内のオブジェクトに関連付けられているフォントが移植先にない場合に使用します。このような場合にフォント・エイリアシングを利用すると、存在しないフォントを別の有効なフォントにマップすることによって、要求どおりの結果を生成することができます。たとえば、WindowsからMotifへ移行するときにフォント・エイリアシングを使用すれば、Windows Arialを、Motifで利用可能なHelveticaなどのフォントにマップできます。

Oracle Reports 12c リリース(12.2.1.2)で導入されたフォント強化機能により、フォントのエイリアシングがほとんどの場合で不要になります。以前のリリースでは、Windowsで利用可能なフォントでレポートを作成できても、UNIXではできませんでした(Arialフォントなど)。そのような場合では、WindowsのフォントをUNIXで利用可能な類似スタイルのある別フォント(Helveticaなど)にエイリアシングすることが必要でした。このリリースでは、TTFファイルとTTCファイルがUNIXにおいてサポートされています。また、ArialなどのフォントがWindowsとUNIXの両方でサポートされています。これによって、エイリアシングが不要になりました。

この項の内容は次のとおりです。

9.4.1 エイリアシング情報の指定

フォントのエイリアシングが必要な場合、以前のリリースで行っていたようにuifont.aliファイルを直接編集するのではなく、Oracle Enterprise Managerを使用してエイリアシングを定義します。Oracle Enterprise Managerを使用してフォントを構成する方法の詳細は、第6.4.1項「フォントの構成」を参照してください。

9.4.2 フォント・エイリアシングのメカニズム

Oracle Reportsのフォント・エイリアシングでは、レポートで指定されている元のフォント属性と一致するエントリが、エイリアス・ファイルの関連セクションで検索されます。フォント・エイリアス・ファイルのセクションの詳細は、第9.4.3項「フォント・エイリアス・ファイルのセクション」を参照してください。完全に一致するエントリが見つかった場合は、左側の元のフォントが右側のフォントにマップされます。

例:

Arial.8.Italic.Medium.Normal.WE8ISO8859P1=
Helvetica.12.Plain.Light.Normal.WE8ISO8859P1

左側に列記されているすべての属性を持つArialフォントが見つかった場合は、右側に列記されているすべての属性を持つHelveticaフォントにマップされます。

フィールドを空白のままにしておくこともできます。その場合は、そのフィールドに関しては比較が行われません。次に例を示します。

Arial..... = Helvetica.12.Plain.Light.Normal.WE8ISO8859P1

この場合、サイズなどの属性にかかわらずすべてのArialフォントが、文字セットWE8ISO8859P1のサイズ12、標準スタイル、細字、標準幅のHelveticaフォントにマップされます。

エイリアス規則を指定するには、次のような方法もあります。

Arial = "OCR B"

この方法では、指定のフォントの他の属性を維持したまま、フォント名がOCR Bに変更されます。この場合は、マップされたフォントの属性が、他のフォントで使用できるかどうか確認しておく必要があります。たとえばこの規則では、スタイルがイタリックのArialフォントは標準スタイルのOCR Bフォントにマップされます。これは、OCR Bフォントにイタリックというスタイルがないためです。

マップされたフォントがuifont.aliファイルから読み取られた後、第9.1.2.1項「フォントの検索」で説明しているように、フォント検索手順に従ってフォントが検索されます。マップされたフォントがシステム上で見つかった場合は、そのフォントが使用されます。それ以外の場合は、システム上で元のフォントが検索されます。

指定された文字セットの下で、フォント・フェース、サイズ、スタイル、太さ、幅の属性が検索されます。

Oracle Reportsでは、Webソース・ビューおよびPL/SQLエディタ用のフォントもマップできます。その場合、[rwbuilder]セクションにマッピング指定を追加します。この機能は、主にこれらのエディタでのUnicodeフォントのサポートを目的として用意されたものです。

9.4.3 フォント・エイリアス・ファイルのセクション

表9-5に示すように、uifont.aliファイルは様々なセクションから構成されており、個々のセクションには特定の領域に対するマッピング指示が記述されます。Oracle Reportsでは、目的に応じて特定のセクションが検索されるため、目的を達成するには適切なセクションにマッピングのエントリを記述することが重要です。

表9-5 フォント・マッピング・ファイルのセクション

セクション名 説明

Global

全体に適用されます。

Printer

プリンタ出力にのみ適用されます。

Printer:PostScript1

PostScriptレベル1のプリンタにのみ適用されます。

Printer:PostScript2

PostScriptレベル2のプリンタに適用されます。

Printer:PCL5

PCL 5のプリンタに適用されます。

Display

ディスプレイ(画面)にのみ適用されます。

Display:Motif

Motifディスプレイにのみ適用されます。

Display:CM

キャラクタ・モード・ディスプレイにのみ適用されます。

PDF

フォント・エイリアシング(Oracle Reports 6i以降)およびマルチバイト言語サポート(Oracle Reports以降)に使用されます。

PDF:Embed

(Oracle Reportsのみ)Type1フォントの埋込みに使用されます。

PDF:Subset

(Oracle Reportsのみ)True Typeフォントのサブセット化に使用されます。

RWBUILDER

(Oracle Reportsのみ)WebソースおよびPL/SQLエディタ用のフォントのマッピングをこのセクションで指定できます。

printer_name

特定のプリンタ向けのセクションを表し、次のように指定します。

[Printer:PostScript1:2op813a]


uifont.aliファイルは、WindowsおよびUNIXで次のディレクトリにあります。

Windowsの場合: $DOMAIN_HOME\config\fmwconfig\components\ReportsToolsComponent\<reports_tools_name>\tools\common

UNIXの場合: $DOMAIN_HOME/config/fmwconfig/components/ReportsToolsComponent/<reports_tools_name>/guicommon/tk/admin

uifont.aliファイルのフォント・エイリアシングのセクションは[PDF]で、次の形式でフォント・マッピングが定義されます。

  • シングルバイト・フォントの場合:

    [PDF]
    "font_name"="font_name"
    
  • マルチバイト・フォントの場合:

    [PDF]
    character_set = "font_name" 
    

    または

    "font_name".....character_set="font_name"
    

uifont.aliファイル内の、フォント・エイリアシングのエントリの例を次に示します。

[ PDF ]
/*Alias TrueType to available Type1 font */
"Kino MT" = UtopiaBold
/*Alias multibyte to available CID font */
.....SJIS = "HeiseiKakuGo-W5-Acro"

説明:

  • "Kino MT" = UtopiaBoldでは、検出されたすべてのKino MT文字をUtopiaBold文字に置き換えます。

  • .....SJIS = "HeiseiKakuGo-W5-Acro"では、検出されたすべてのマルチバイト文字セットをHeiseiKakuGo-W5-Acro (CID)の文字セットに置き換えます。

優先順位

フォント・エイリアシングを行う際は、そのフォントが使用される状況に応じて1つのセクションのみが読み取られます。したがって、3つのセクションが適用される場合でも、読み取られるセクションは1つのみです。たとえば、[Printer][Printer:PostScript]および[Printer:PostScript:2op813a]の3つのセクションがあるとします。出力生成時に、プリンタが2op813aならば、セクション[Printer:PostScript:2op813a]のマッピング・ルールのみ読み取られます。プリンタが2op813a以外の場合は、[Printer:PostScript]セクションが使用されます。

エイリアス・ファイルのセクションでは、より限定的に指定しているセクションが、全般的な指定のセクションよりも優先されます。たとえば、[Printer:PostScript1:2op813a]という特定のプリンタ用のセクションは[Printer:PostScript1]セクションよりも優先され、それ以降は[Printer]セクション、[Global]セクションの順に優先順位が低くなります。

uifont.aliファイルは、Oracle ReportsのPDFフォントに関する拡張機能すべてを制御する構成ファイルです。uifont.aliは読取り可能なテキスト・ファイルです。つまり、標準的なテキスト・エディタで編集できます。このファイルを編集する場合は十分に注意してください。uifont.aliファイルを保存するときは、テキスト・ファイルとして保存します。ファイルを破損させるおそれのあるフォーマットや特殊文字は使用しないでください。


注意:

uifont.aliファイルは手動で編集できますが、フォント関連の構成タスクには常にOracle Enterprise Managerを使用することをお薦めします。

9.4.4 フォント・エイリアシング・ファイルの検証

uifont.aliファイルの内容が正しいことを検証するには、ORACLE_HOME/binディレクトリにあるフォント検証ユーティリティを使用できます。uifont.aliファイルを変更した場合は、エラーを見つけるために必ずこのユーティリティを実行することをお薦めします。

Windowsの場合:

fnchk.exe filename

UNIXの場合:

mfontchk filename

ここで、filenameは変更したuifont.aliファイルの名前です。ファイル名を指定しない場合は、環境変数に基づいてデフォルトのファイルが検証されます。

エイリアス・ファイルにエラーがある場合は、エラー・メッセージとともに、エラーが見つかったファイルの名前が返されます。例:

Parsing font alias file "$DOMAIN_HOME/config/fmwconfig/components/ReportsToolsComponent/<reports_tools_name>/guicommon/tk/admin/uifont.ali"
Ms san serif      

Error at line 85: Invalid font specification
Parse of font alias file failed

このエラーは、uifont.aliの85行目のMS San Serifフォントのマッピング・ルールに構文エラーがあることを示しています。