Oracle® Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド 11g リリース 1 (11.1.1) B61375-04 |
|
前 |
次 |
フォント・エイリアシングはOracle Reportsのメカニズムです。これによって、フォントやその属性(スタイル、太さ、幅、サイズ、キャラクタ・セットなど)を他のフォントや属性にマップできるようになります。主に、あるプラットフォームから別のプラットフォームにアプリケーションを移植する際、レイアウト内のオブジェクトに関連付けられているフォントが移植先にない場合に使用します。このような場合にフォント・エイリアシングを利用すると、存在しないフォントを別の有効なフォントにマップすることによって、要求どおりの結果を生成することができます。たとえば、WindowsからMotifへ移行するときにフォント・エイリアシングを使用すれば、Windows Arialを、Motifで利用可能なHelveticaなどのフォントにマップできます。
Oracle Reports 11g リリース1 (11.1.1)で導入されたフォント強化機能により、フォントのエイリアシングがほとんどの場合で不要になります。以前のリリースでは、Windowsで利用可能なフォントでレポートを作成できても、UNIXではできませんでした(Arialフォントなど)。そのような場合では、WindowsのフォントをUNIXで利用可能な類似スタイルのある別フォント(Helveticaなど)にエイリアシングすることが必要でした。このリリースでは、TTFファイルとTTCファイルがUNIXにおいてサポートされています。また、ArialなどのフォントがWindowsとUNIXの両方でサポートされています。これによって、エイリアシングが不要になりました。
この項の内容は次のとおりです。
フォントのエイリアシングが必要な場合、以前のリリースで行っていたようにuifont.ali
ファイルを直接編集するのではなく、Oracle Enterprise Managerを使用してエイリアシングを定義します。Oracle Enterprise Managerを使用してフォントを構成する方法の詳細は、第7.9.1項「フォントの構成」を参照してください。
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-5に示すように、uifont.aliファイルは様々なセクションから構成されており、個々のセクションには特定の領域に対するマッピング指示が記述されます。Oracle Reportsでは、目的に応じて特定のセクションが検索されるため、目的を達成するには適切なセクションにマッピングのエントリを記述することが重要です。
表9-5 フォント・マッピング・ファイルのセクション
セクション名 | 説明 |
---|---|
|
全体に適用されます。 |
|
プリンタ出力にのみ適用されます。 |
|
PostScriptレベル1のプリンタにのみ適用されます。 |
|
PostScriptレベル2のプリンタに適用されます。 |
|
PCL 5のプリンタに適用されます。 |
|
ディスプレイ(画面)にのみ適用されます。 |
|
Motifディスプレイにのみ適用されます。 |
|
キャラクタ・モード・ディスプレイにのみ適用されます。 |
|
フォント・エイリアシング(Oracle Reports 6i以降)およびマルチバイト言語サポート(Oracle Reports以降)に使用されます。 |
|
(Oracle Reportsのみ)Type1フォントの埋込みに使用されます。 |
|
(Oracle Reportsのみ)True Typeフォントのサブセット化に使用されます。 |
|
(Oracle Reportsのみ)WebソースおよびPL/SQLエディタ用のフォントのマッピングをこのセクションで指定できます。 |
|
特定のプリンタ向けのセクションを表し、次のように指定します。
|
uifont.ali
ファイルは、WindowsおよびUNIXで次のディレクトリにあります。
Windowsの場合: ORACLE_INSTANCE\config\FRComponent\frcommon\tools\common
UNIXの場合: ORACLE_INSTANCE/config/FRComponent/frcommon/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を使用することをお薦めします。 |
uifont.ali
ファイルの内容が正しいことを検証するには、ORACLE_HOME
/bin
ディレクトリにあるフォント検証ユーティリティを使用できます。uifont.ali
ファイルを変更した場合は、エラーを見つけるために必ずこのユーティリティを実行することをお薦めします。
Windowsの場合:
fnchk.exe filename
UNIXの場合:
mfontchk filename
ここで、filename
は変更したuifont.ali
ファイルの名前です。ファイル名を指定しない場合は、環境変数に基づいてデフォルトのファイルが検証されます。
エイリアス・ファイルにエラーがある場合は、エラー・メッセージとともに、エラーが見つかったファイルの名前が返されます。例:
Parsing font alias file "$ORACLE_INSTANCE/config/FRComponent/frcommon/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フォントのマッピング・ルールに構文エラーがあることを示しています。