Oracle Application Server Reports Services レポートWeb公開ガイド 10gリリース2(10.1.2) B25067-01 |
|
この章では、Oracle Reportsで使用するフォントについて説明します。この章の主な項は、次のとおりです。
Oracle Reportsでは、次の場合にフォントが重要になります。
Reports Builderでは、システムで使用可能なフォントのリストがフォントの選択ボックスに表示されます。
Windowsの場合、フォント・リストは、システムにインストールされているフォントおよび現行のデフォルト・プリンタで使用可能なフォントから作成されます。フォント名の前の小さなプリンタ・アイコンは、プリンタ・フォントであることを示します。TrueTypeフォントの場合は、TTFアイコンが表示されます。
UNIXの場合、フォント・リストは、アプリケーションが実行されているXサーバーのディスプレイで利用可能なフォントを問い合せることによって作成されます。このコマンドは、UNIXのxlsfonts
コマンドに似ています。これにより、Xサーバー・ディスプレイで使用可能なすべてのフォントがリストされます。このフォント・リストから、キャラクタ・セットに適合する有効なスタイル、太さ、幅、サイズおよびエンコード特性を持つ使用可能なフォントのリストがReports Builderによって生成されます。キャラクタ・セットは、NLS_LANG
環境変数によって決まります。Reports Builderには、ツールキット・リソース・ファイル内でTk2Motif*fontMapCs
で指定されている場合を除き、文字コード体系がiso8859-1
のフォントのみ組み込まれます。Tk2Motif*fontMapCs
の詳細は、第4.3項「フォント構成ファイル」を参照してください。
レポートのフォーマット時、まずレイアウト・オブジェクトに関連付けられているフォントがフォント・エイリアス・ファイル(uifont.ali
)内に存在するかどうか確認されます(第4.3項「フォント構成ファイル」を参照)。フォント・エイリアス・ファイル内にエントリが見つかった場合は、元のフォントではなく、マップされているフォントが使用されます。次に、このマップされたフォントが、システムまたはプリンタで使用可能なフォントのリストにあるかどうか検索されます。フォントが見つからない場合は、かわりに使用できるフォントとして、同じキャラクタ・セットを持つ類似度が最も高いフォントが検索されます。
Windowsの場合はプリンタ・ドライバを使用するため、フォント検索メカニズムは単純です。プリンタ・ドライバには、必要に応じてフォントをシステムからアップロードする機能があります。Windowsで実行されるOracle Reportsの出力に含まれるフォントは次のいずれかになります。
したがって、Oracle Reportsで使用可能なフォントを検索するときは、プリンタ・フォントとシステム・フォントの両方が対象となります。
UNIXの場合、出力生成に使用できるフォントは次のいずれかです。
screenprinter.ppd
)で使用可能なフォント図4-2は、レポート出力の生成時に使用可能なフォントを決定するプロセスを示しています。
Oracle Reportsにおいて、出力(画面用、プリンタ用またはファイル用など)の生成に使用可能なフォントのリストを生成する手順は次のとおりです。
uiprint.txt
を検索し、アプリケーションに対して指定されているすべてのプリンタを調べます。プリンタが定義されていない場合や、使用できるプリンタがない場合は、ScreenPrinterを使用します。
使用可能なフォントのリストが生成されたら、マップされたフォントをこのフォント・リスト内で検索し、テキストのサイズと太さを計算するために再びAFMを読み取ります。
必要としているフォントがPPDファイルに見つからない場合やAFMファイルが見つからない場合、Oracle Reportsでは、一致規則に基づいて最も類似度の高いフォントが検索されます。たとえば、あるレポートが簡体字中国語のSimSunフォントを使用するように設計されており、このフォントに対応するマッピングがuifont.ali
ファイルに見つからない場合は、フォント検索アルゴリズムで生成される使用可能なフォントのリストにSimSunフォントがあるかどうか検索されます。このフォントの名前がリストにない場合は、プリンタ定義ファイルで指定されているフォントのリスト内で、類似度が最も高いフォントが検索されます。
SimSunフォントのキャラクタ・セットは850です。このキャラクタ・セットに一致するフォントが見つからない場合は、アプリケーションが実行されている環境のキャラクタ・セットと同じキャラクタ・セットのフォントが検索されます。同様のキャラクタ・セットを持つフォントが複数見つかった場合は、要求されたフォントに最も類似度が高いフォントが、フォントの太さやスタイルなどに基づいて選択されます。同じパラメータのフォントが複数ある場合は、最初のフォントが元のフォントのかわりに使用されます。
Oracle Reportsでは、一致するフォントを見つける際、同じキャラクタ・セットを持つ最も類似度が高いフォントが次の条件に従って検索されます。
fontface > fontsize > fontstyle > fontweight > fontwidth
フォント・フェースが一致しない場合はフォント・サイズが比較され、フォント・サイズが一致しない場合には続いてフォント・スタイルが比較されます。
フォント・サイズのみ一致してそれ以外は異なるフォントと、スタイル、太さ、幅が一致してフォント・サイズが異なるフォントがある場合は、フォント・サイズの一致するフォントが選択されます。
最終的に印刷される出力のフォントは、出力ファイル内のフォントとは関係なく、プリンタにインストールされているフォントにのみ依存することに注意してください。
レポートのレイアウト・オブジェクトに、サイズ8、標準スタイル、標準の太さのHelveticaフォントと、Courierフォントのいずれかが関連付けられているとします。このレポートをPostScript-1プリンタに対して実行してHTML出力を生成する場合、フォントは次のように選択されます。
uifont.ali
に存在するかどうか確認されます。uifont.ali
の[Printer:PostScript1]
セクションに、次のエントリがあるとします。
Helvetica.8.Plain.Medium.. = "Mkai-Medium"..
これにより、HelveticaフォントにかわってMkai-Mediumフォントが検索されます。
"*Font Mkai-Medium: Standard "(001.004)" Standard ROM"
同じレポートが複数の異なる環境で実行されることもあるため、Oracle Reportsでは、元のフォントが使用できない場合、必ずそれに類似するフォントの検索が行われます。このアルゴリズムは、絶対に失敗しないというものではありません。レポートの作成者は、定義されているフォントを認識し、ユーザーがレポートを実行するプラットフォーム上で同じフォントが使用可能かどうかを常に考慮する必要があります。定義したフォントがランタイム環境で使用できない場合は、そのマシンで使用可能な別のフォントによって置換されます。この処理によって予想と異なる結果が生成される場合があります。たとえば、レポート出力にWingding文字などの特異な文字が出現したり、オブジェクトのフォーマットが正しく行われないことがあります。
この種の問題が発生した場合は、フォント・エイリアシングを使用して、Oracle Reportsによるフォント置換を制御してください。第4.4項「フォント・エイリアシング」を参照してください。
Oracle Reportsには、PDFを除くすべての出力ファイルが前述のメカニズムに従って生成されます。PDFには、フォント・サブセットおよびフォント埋込みの機能があります。
関連項目
OracleAS Reports ServicesでのPDF機能および拡張機能の詳細は、第6章「Oracle ReportsでのPDFの使用」を参照してください。 PDFの全般的な情報は、Adobe PDFのマニュアルを参照してください。 |
印刷用出力は、Windowsの場合はプリンタ・ドライバ、UNIXの場合はプリンタに基づいて生成されます。Windowsでは、出力の生成はプリンタ・ドライバによって処理されます。この場合、システム・フォントまたはプリンタ・フォントが使用されます。プリンタ上にないフォントについては、Windows APIを介してシステムからプリンタにフォントが取得されます。
Reports Builderのユーザー・インタフェースのテキスト(ウィンドウのタイトル、メニュー項目、メッセージ・ボックス、データ・モデル・オブジェクト名など)には、現行の言語に対応するシステム・リソース・ファイルから取得したフォントが使用されます。これらのシステム・リソース・ファイルは、Oracle Reportsのインストレーションに含まれています。Oracle Reportsでは、uifont.ali
の[rwbuilder
]セクションでこれらのフォントのマッピングを指定できます。マップされているフォントが見つかった場合は、元のフォントのかわりにそのフォントが使用されます。それ以外の場合は、元のフォントが使用されます。
UNIXの場合、フォントはTk2Motif.rgb
のTk2Motif*fontList
で定義されます。定義されていないフォントについては、デフォルトのフォント(デフォルトのキャラクタ・セットに対して固定)がかわりに使用されます。デフォルトのシステム・フォントは、Tk2Motif.rgb
に定義されているものでなくてもかまいません。定義されているフォントが、アプリケーションを実行する環境のキャラクタ・セットと一致しない場合は、前の項で説明したフォント検索アルゴリズムに従って、かわりの使用可能なフォントが使用されます。
Windowsでは、ウィンドウの外観と操作性を維持するために、Oracle Reportsの多くの部分でWindowsのシステム・パラメータから取得されたシステム・フォントが使用されています。非Unicode環境では、フォントはアイコン・オブジェクトから取得されます。このフォントを変更するには、「画面のプロパティ」→「デザイン」を選択します。ドロップダウン・リストから「アイコン」を選択し、フォント名とサイズを選択します。日本語Unicodeシステムでは、フォントはMSゴシックです。韓国語の場合は、MS Sans Serifです。簡体字、繁体字および香港の中国語ではArialです。それ以外の言語の場合は、Lucida Sans Unicodeになります。
Windowsツールチップのフォントも、前述の手順に従ってアイコンのフォントを変更することによって変更できます。ただし、この変更はReports Builderの一部には反映されません。これは、ツールチップの中にはフォントをリソース・ファイルから取得するものがあるためです。
Oracle Reportsでは、エイリアス・ファイルの[rwbuilder
]セクションにエントリを作成することによって、Webソース・ビューのフォントを選択します。この変更に必要なエントリでは、特定のフォントではなくキャラクタ・セットに対してエイリアスを作成するようにします。たとえば、NLS_LANG
がUTF8に設定されているときにArial Unicode MSが使用されるようにするには、次のようなエントリを作成します。
..UTF8 = "Arial Unicode MS" ..
詳細は、第4.4項「フォント・エイリアシング」を参照してください。
サポートされているスタイルは、標準、イタリック、斜線、下線、アウトライン、影、反転、打消し線および点滅です。
サポートされている太さは、超極細、極細、細、中細、標準、中太、太、極太および超極太です。
フォントの太さにRegularを指定しないでください。この太さはサポートされていないため、Reports Builderでの表示結果が予期しないものになる可能性があります。
Oracle Reportsでは、次の場合に使用するフォントを追加できます。
特定のフォントを使用してレポートを作成するには、レポートを設計する際、そのフォントがReports Builderのフォント選択ボックスで選択できる状態になっている必要があります。フォントがフォント選択ボックスに表示されるようにするには、システムまたはReports Builderが実行されるディスプレイにそのフォントを追加します。この手順を実行する前に、オペレーティング・システムのマニュアルを参照して、フォントの追加について確認してください。
t1ascii
などのシェアウェアとして入手できます。
xlsfonts -u
というコマンドを入力します。このコマンドを実行すると、システムで使用可能なすべてのフォントが一覧表示されます。Reflection XなどのUNIXエミュレータを使用している場合は、xlsfonts
コマンドを実行しても、システムにインストールされているフォントが表示されないことがあります。これは、エミュレータの構成時に指定されたフォント・パスまたはフォント・サーバーからフォントが取得されるためです。フォント・サーバーを使用している場合は、フォントのインストール後に、フォント・サーバー構成ファイルにフォント・ディレクトリを追加してフォント・サーバーを再起動してください。エミュレータ側では、フォントがインストールされているフォント・サーバーへのフォント・パスを指定します。このようにしても、xlsfonts
の実行時にフォントが表示されない場合は、新しいフォント・ディレクトリが構成ファイル内のカタログの最初の要素であることを確認してください。
Oracle Reportsで出力を生成する場合、プリンタ定義ファイルで指定されているフォントのみ使用されます。新しく追加したフォントを出力で使用するには、レポートの設計時にそのフォントをレイアウト・オブジェクトに割り当てることができるように、フォントをReports Builderに追加します。詳細は、第4.2.1項「Reports Builderへのフォントの追加」を参照してください。
注意 Reports Builderで使用するフォントがランタイム・プラットフォームでは使用できないものである場合は、ランタイム・プラットフォーム上でそのフォントのエイリアスを作成してください。詳細は、第4.4項「フォント・エイリアシング」を参照してください。 |
フォント追加の処理は、WindowsとUNIXで異なります。
ORACLE_HOME
/guicommon/tk/admin/AFM
にコピーします。
*Font
情報セクションに追加します。
*Font new_font_name Standard '(00.1001)" Standard ROM *Font ...
PPD
ファイルで指定されているnew_font_name
がAFMファイル名と同じであることを確認します。これは、Oracle ReportsではPPDファイル内のフォント名に基づいてこのファイルが検索されるためです。また、AFMファイル名に拡張子の.afm
が含まれていないことを確認します。
たとえば、AFMファイル名がCodedreineunBold
であれば、PPDファイルには*Font CodedreineunBold: Standard "(00.1001)" Standard ROM
が指定されている必要があります。
レイアウト・オブジェクトに、新しいフォントと同じ名前のフォント名が関連付けられている場合、マッピングは必要ありません。レイアウト・オブジェクトに別のフォント名が使用されている場合に、元のフォントではなく新しいフォントが出力ファイルで使用されるようにするには、元のフォントを新しいフォントにマップします。
たとえば、レイアウト・オブジェクトのフォントがHelveticaの場合に、新しくインストールしたフォントを出力で使用するには、次の行を[Printer:PostScript1]
セクションに追加します。
Helvetica = CodedreineunBold
uiprint.txt
で別のPostScriptレベルが指定されている場合は、このセクションが異なることに注意してください。第4.4項「フォント・エイリアシング」を参照してください。
新しいフォントをOracle Reportsで使用するには、プリンタのHPDファイル(プリンタ定義ファイル)およびTFMファイルが必要です。HPDファイルは、既存のファイルからコピーして作成できます。このファイルの内容が使用するプリンタに適合していることを確認してください。このファイル内で参照されているフォントは、プリンタで使用可能なものである必要があります。TFMファイル(フォント)が、Oracle Reportsのインストレーションで使用できない場合は、フォントおよびプリンタのサプライヤに問い合せる必要があります。新しいTFMファイルは、一意のフォント名を付けてHPDファイルに追加する必要があります。
Codedreineun
である場合は、次のような行を追加します。
FONT= Codedreineun /tfm=9nb17035.tfm
ORACLE_HOME/guicommon/tk/admin/TFM
[PCL]
である必要があります。
Windowsに新しいフォントを追加する場合は、オペレーティング・システムのマニュアルを参照して、フォントの追加について確認してください。新しいフォントのキャラクタ・セットがReports Builderと互換性のあるものであれば、そのフォントがフォント選択ボックスに表示されます。
この項では、Oracle Reportsのフォント構成に関連するすべてのファイルについて説明します。
このプリンタ構成ファイルには、アプリケーションに対してインストール済のプリンタの一覧が、プリンタのタイプ、バージョン、プリンタ定義ファイル名とともに記述されています。実行時に使用可能なフォントのリストは、プリンタ定義ファイルから取得されます。プリンタが存在しない場合は、Oracle ReportsのデフォルトのプリンタとしてPostScriptプリンタが選択され、default.ppd
ファイルがプリンタ定義ファイルとして使用されます。
Printer: Printer_driver:Driver_specifying_language_and_level:Printer_ description:Printer_definition_file:
各行に5つのフィールドがあり、それぞれコロンで区切られています。
PCLプリンタを使用する場合、このエントリにはHPDファイルの名前が含まれます。
screenprinter.ppd
は、UNIX上でプリンタが使用できない場合に使用されます。screenprinter.ppd
は、ORACLE_HOME
/guicommon/tk/admin/PPD
にあります。
このファイルには、実行時に他のフォントで置換え可能なフォントのマッピング情報が含まれます。詳細は、第4.4項「フォント・エイリアシング」を参照してください。
Oracle Reportsでは、新たに次の3つのセクションがuifont.ali
ファイルに追加されています。
[PDF]
: フォント・エイリアシングおよびマルチバイト言語のサポートに使用されます。
[PDF:Subset]
: TrueTypeフォント・サブセットおよびマルチバイト言語のサポートに使用されます。
[PDF:Embed]
: Type1フォントの埋込みに使用されます。
uifont.ali
ファイルに関する一般的な規則を次に示します。
.afm
または.pfm
のいずれかになります。もう1つは、ファイル拡張子が.pfb
のバイナリ・ファイルです。フォント埋込みにはフォント名が使用され、Type1フォント・ファイル名を使用して埋込みが行われます(AFMファイルとPFBファイルの両方がこの順序で要求されます)。
詳細は、第4.4項「フォント・エイリアシング」を参照してください。
PostScript Printer Definition(PPD)ファイルおよびAdobe Font Metrics(AFM)ファイルは、Adobe社およびプリンタのベンダーによって提供されるものです。これらのファイルには、プリンタに関する情報が含まれます。Oracle Reportsでは、これらのファイルから、プリンタで使用可能なフォントに関する情報が他のパラメータとともに読み取られます。PPDファイルに記述されているすべてのフォントについて、フォント名を基に対応するAFMファイルが検索され、有効なAFMが存在するすべてのフォントがロードされます。
フォントの観点からは、プリンタ用の新しいフォントを追加する場合にこれらのファイルを変更し、変更がOracle Reportsに反映されるようにしてください。
*% Font Information ===================== *DefaultFont: Error *Font AvantGarde-Demi: Standard "(001.001)" Standard *Font AvantGarde-DemiOblique: Standard "(001.001)" Standard *Font Courier: Standard "(001.004)" Standard *Font Courier-Bold: Standard "(001.004)" Standard
AFMファイルには、フォントの属性(スタイル、太さ、幅、コード体系)、固定幅かプロポーショナルかの区別、および各文字の大きさなどの情報が含まれます。
Oracle Reportsでは、PPDファイルからフォント名を検索した後、第4.3.1項「ファイルの検索」で説明している検索条件に従って、フォント名と同じ名前のAFMファイルが検索されます。たとえば、AvantGarde-Demi: Standard
がPPDファイル内で見つかった場合は、AvantGarde-Demi
という名前のAFMファイルがAFMディレクトリにあるかどうか検索されます。
AFMファイルはフォント・ファイルではなくメトリック・ファイルであることに注意してください。このファイルは、プリンタ用に文字を正しくフォーマットする方法をOracle Reportsに伝えるためのものです。AFMファイルはあるけれども、そのフォントをプリンタで使用できない場合、Oracle Reportsではフォントを生成できません。
AFMファイル自体はフォントではないので、使用可能なPostScriptプリンタ・フォントを増やすには、次のようにする必要があります。
PCLでは、HPDファイルおよびTFMファイルが使用されます。HPDファイルには、プリンタで使用できるフォントのリストが含まれます。フォントはそれぞれ特定のTFMファイルを参照します。HPDファイルは編集可能なASCIIファイルですが、TFMファイルはバイナリ・ファイルであるため編集できません。TFMファイルは編集不可能なバイナリ・ファイルですが、文字列操作を実行すればこのファイルから一部のキーワードを読み取ることができます。Oracle Reportsによって認識されるフォント名は、HPDファイルではなくTFMファイルに記述されているものです。TFMファイルはフォント・ベンダーから提供されており、TFMファイルをインストールすると、新しく追加されたフォントがプリンタのHPDファイルへ追加されます。
このファイルには、Oracle Toolkitに基づくすべてのOracle Motifツールのリソース設定が含まれます。フォント固有のリソース設定には、Tk2Motif*fontMapCs
およびTk2Motif*fontList
が使用されます。
Tk2Motif*fontMapCs
は、X-Windowディスプレイ上にあり、アプリケーションによって使用されるフォントのベース・キャラクタ・セットを決定します。
Tk2Motif*fontMapCs: iso8859-2=EE8ISO8859P2
の場合、NLS_LANG
はEE8ISO8859P2
に設定される必要があり、文字コード体系がiso8859-2
のフォントのみアプリケーションで使用されます。このコード体系のフォントが見つからない場合は、REP-3000
エラーが発生します。
Tk2Motif*fontList
は、アプリケーションによって使用されるデフォルトのシステム・フォントを指定します。次のように指定すると、標準の太さ、標準の幅であるサイズ12のHelveticaフォントが使用されます。
Tk2Motif*fontList: -*-helvetica-medium-r-normal-*-120*
このエントリの構文の説明は、Tk2Motif.rgb
ファイル内にコメントとして記述されています。
ファイル検索の基準は、ファイルのタイプおよび対応する定義された環境変数の値によって決まります。
ファイル名 | タイプ | 説明 |
---|---|---|
|
UNKNOWN |
プリンタ構成ファイル |
|
FONTALIAS |
フォント・エイリアシング・ファイル |
PPD |
PPD |
PostScriptプリンタ定義ファイル |
AFM |
AFM |
Adobeフォント・メトリック・ファイル |
HPD |
HPD |
HP glueファイル |
TFM |
TFM |
HP glueファイル |
変数の検索は、TK_
type
、ORACLE_
type
、グローバル・ディレクトリの順に行われます。たとえば、PPDファイルの検索を行うディレクトリは、TK_PPD
で指定されるディレクトリ、ORACLE_PPD
、ORACLE_HOME
/guicommon/tk/admin/PPD
の順となります。
たとえば、uiprint.txt
を検索する場合は、最初に環境変数TK_UNKNOWN
が検索され、次にORACLE_UNKNOWN
、デフォルト・ディレクトリの順に検索されます。
REPORTS_NO_DUMMY_PRINTER
: この変数に値が定義されている場合、Oracle Reportsではプリンタ・フォントのかわりにスクリーン・フォントが使用されます。
フォント・エイリアシングとは、フォントまたはその属性(スタイル、太さ、幅、サイズ、キャラクタ・セットなど)を他のフォントまたは属性にマップできるようにする、Oracle Reportsのメカニズムです。主に、あるプラットフォームから別のプラットフォームにアプリケーションを移植する際、レイアウト内のオブジェクトに関連付けられているフォントが移植先にない場合に使用します。このような場合にフォント・エイリアシングを利用すると、存在しないフォントを別の有効なフォントにマップすることによって、要求どおりの結果を生成することができます。たとえば、WindowsからMotifへ移行するときにフォント・エイリアシングを使用すれば、Windows Arialを、Motifで利用可能なHelveticaなどのフォントにマップできます。
この項の内容は次のとおりです。
マッピングの指定情報が記述されているファイルはuifont.aliです。マッピング・ルールを追加または変更するには、このファイルを編集します。
一般的なフォーマットは次のとおりです。
"Original_font"="Font_to_be_aliased"
ここで、Original_font
はフォント名またはその他の属性で、Font_to_be_aliased
はマップ先のフォント名または属性です。
フォント名と属性は次のように指定できます。
Face.Size.Style.Weight.Width.CharSet= Face.Size.Style.Weight.Width.CharSet
Face
は、Courier
などのフォント・フェースの名前(文字列または識別子)です。Style
、Weight
、Width
およびCharSet
には、数値や定義済の文字列または識別子を指定できます。たとえば、Style
の値としてPlain
および0
のどちらも有効であり、同じスタイルを表します。Size
には、正確なサイズをポイント単位で指定します。
これらの属性は、フォント・エイリアシング、フォント・サブセットおよびフォント埋込みを行うときに有効になります。
たとえば、フォント・サブセットでは次のようになります。
Fontname=filename.ttf Face.Size.Style.Weight.Width.CharSet=filename.ttf
認識可能な名前と対応する数値を次に示します。
スタイル名 | 対応する数値 |
---|---|
Plain |
0 |
Italic |
1 |
Oblique |
2 |
Underline |
4 |
Outline |
8 |
Shadow |
16 |
Inverted |
32 |
Blink |
64 |
太さ | 対応する数値 |
---|---|
Ultralight |
1 |
Extralight |
2 |
Light |
3 |
Demilight |
4 |
Medium |
5 |
Demibold |
6 |
幅 | 対応する数値 |
---|---|
Ultradense |
1 |
Extradense |
2 |
Dense |
3 |
Semidense |
4 |
Normal |
5 |
Expand |
7 |
Extraexpand |
8 |
Ultraexpand |
9 |
複数のスタイルを組み合せることができます。その場合は、プラス記号(+)を使用してスタイルの各部分を区切ります。次に例を示します。
Arial..Italic+Overstrike = Helvetica.12.Italic.Bold
これは、イタリックと打消し線の両方のスタイルが指定されているArialフォントが、12ポイント、太字、イタリックのHelveticaフォントにマップされることを表します。
マルチバイト言語をサポートするには、キャラクタ・セットのエイリアスを作成し、Adobeから提供されているアジア言語フォント・パックに含まれるCIDフォント(第4.6.7項「CIDフォント」)を指定する必要があります。たとえば、日本語レポートでは、マルチバイトのキャラクタ・セットであるShift-JIS
のエイリアスとして、HeiseiKakuGo-W5-Acro
というCIDフォントを次のように指定します。.....JA16SJIS = "HeiseiKakuGo-W5-Acro"
マッピングに指定する文字列では、大文字と小文字は区別されません。しかし、フォント・フェースの検索時、プラットフォームや画面によっては大文字と小文字が区別される可能性があります。したがって、名前を指定するときは注意が必要です。たとえば、左側(元のフォント)にarial
というフォント名を使用した場合は、フォントとしてarial
やArial
が指定されているすべてのレイアウト・オブジェクトがエイリアス先のフォントにマップされます。
Oracle Reportsのフォント・エイリアシングでは、エイリアス・ファイル内の関連するセクションに、レポートで指定されている元のフォントの属性と一致するエントリがあるかどうか検索されます。フォント・エイリアス・ファイルのセクションの詳細は、第4.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
)から読み取られた後、第4.1.2.1項「フォントの検索」で説明するフォント検索手順に従ってフォントの検索が行われます。マップされたフォントがシステム上で見つかった場合は、そのフォントが使用されます。それ以外の場合は、システム上で元のフォントが検索されます。
指定されたキャラクタ・セットの下で、フォント・フェース、サイズ、スタイル、太さ、幅の属性が検索されます。
Oracle Reportsでは、Webソース・ビューおよびPL/SQLエディタ用のフォントをマップすることもできます。その場合は、[rwbuilder]
セクションにマッピング指定を追加します。この機能は、主にこれらのエディタでのUnicodeフォントのサポートを目的として用意されたものです。
Oracle Reportsでは、uifont.ali
ファイルは次の場所にあります。
ORACLE_HOME¥tools¥common (Windows) ORACLE_HOME/guicommon/tk/admin (UNIX)
表4-5に示すように、エイリアス・ファイルは様々なセクションから構成されており、個々のセクションには特定の領域に対するマッピングの指定が記述されます。Oracle Reportsでは、目的に応じた特定のセクションが検索されるため、目的を達成するには適切なセクションにマッピングのエントリを記述することが重要です。
フォント・エイリアシングを行う際は、そのフォントが使用される状況に応じて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フォントに関する拡張機能すべてを制御する構成ファイルです。このファイルは、ORACLE_HOME
¥tools¥common
ディレクトリ(Windows)およびORACLE_HOME
/guicommon/tk/admin
ディレクトリ(UNIX)にあります。uifont.ali
は読取り可能なテキスト・ファイルです。つまり、標準的なテキスト・エディタで編集できます。このファイルを編集する場合は十分に注意してください。uifont.ali
ファイルを保存するときは、テキスト・ファイルとして保存します。ファイルを破損させるおそれのあるフォーマットや特殊文字は使用しないでください。
uifont.ali
ファイルの内容が正しいことを検証するには、ORACLE_HOME
/bin
ディレクトリにあるフォント検証ユーティリティを使用できます。uifont.ali
ファイルを変更した場合は、エラーを見つけるために必ずこのユーティリティを実行することをお薦めします。
Windowsの場合:
fnchk.exe filename
UNIXの場合:
mfontchk filename
ここで、filename
はuifont.ali
ファイルの名前です。ファイル名を指定しない場合は、環境変数に基づいてデフォルトのファイルが検証されます。
エイリアス・ファイルにエラーがある場合は、エラー・メッセージとともに、エラーが見つかったファイルの名前が返されます。次に例を示します。
Parsing font alias file "/home/oracle/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フォントのマッピング・ルールに構文エラーがあることを示しています。
フォントに関する問題がアプリケーションで生じた場合の解決に役立てるために、この項では、次のトラブルシューティング情報について説明します。
PostScriptファイルには、PPDファイルを読み取った後、フォントのリストが作成されます。PostScriptファイルで次のタグを検索すると、フォントを確認できます。
DocumentNeededResource
には、PPDファイル内で参照されるフォントのリストが記述されています。
DocumentSuppliedResource
には、PostScriptドライバによってAFMファイルを見つけることができたフォントのリストが記述されています。
%IncludeResource:font
の前の%%Page
パラグラフには、そのフィールドで使用されるフォントの名前が記述されています。
PCL出力ファイルの場合は、特定のフォントが使用されているかどうかを確認できます。この情報に応じて、Oracle Reportsまたはプリンタのフォント設定を変更します。
例:
次に示すのは、Lexmark Optraプリンタに基づくテストの結果です。フォントとその番号および制御コマンドは例であり、他のプリンタではこれとは異なる場合があります。
Lexmarkのプリンタには、使用可能なすべてのフォント(PCLエミュレーション・フォント)を印刷するメニュー・オプションがあります。これには、常駐フォント(デフォルト)とフラッシュ・フォント(プリンタに別途インストールされる)の両方が含まれます。
フォント名 | シンボル・セット | スタイル | 太さ | 出力の例 |
---|---|---|---|---|
F2 OCR-A |
0O |
0 |
0 |
... <ESC>(0O<ESC>(s0p<pitch>h0s0b4200T ... |
F3 OCR-B |
1O |
0 |
3 |
... <ESC>(1O<ESC>(s0p<pitch>h0s0b4206T ... |
これらの例では、ほかにも多数のフォントがあり、それぞれ異なるコードが定義されています。たとえば、OCRBのコードは4206です。この番号の重要性については後述します。
正しいフォントが使用されない問題がある場合は、レポートを単純化します。つまり、出力を単純なものにします。これを行うには、select sysdate from dual
という問合せを使用し、フォントの数を少なくして単純なレポートを作成します。これにより実行時間が短くなり、出力ファイルのサイズも大幅に縮小されます。
作成されるPCLファイルはバイナリ・ファイルですが、テキスト・エディタである程度まで読み取ることができます。最初の短い部分と最後の部分はバイナリですが、中間部分のデータは読取り可能です。
注目する必要のある情報は、ファイルの中間部分にある読取り可能なデータのみです。テキストを見つけて(これがレポート出力に表示されるテキストです)、そのテキストの直前の部分を確認します。
これは次のようになります。
....;SD1,14,2,0,3,10.34,5,0,6,0,7,4099;LB here is your text
この例では、フォントにはコード4099のものが選択されています。Lexmarkのプリンタでは、Courierが選択されます。
別の例として、フォントOCR-B(コード4206)が必要である場合を考えます。選択されたテキストの直前にこのコードが生成されていなければ、このフォントでは表示されません。これは次のようになります。
....;SD1,14,2,0,3,8.57,5,0,6,0,7,4206;LBThis is OCRB font....
出力ファイル内のコードは正しいけれども、プリンタでそのフォントが印刷されない場合は、そのフォントがプリンタでは使用できない状態にある可能性があります。この問題は、出力ファイル内のコード(TFMファイルから得られます)が、プリンタで処理可能なものと異なる場合にも発生します。このような場合、Lexmarkのプリンタでは、これらのフォントがプリンタのデフォルト・フォントによって置き換えられます。
フォントに対応するコードが出力ファイル内にない場合は、Oracle Reportsによってそのコードが出力ファイル内に生成されなかったことを表しています。HPDファイルおよびTFMファイルを確認してください。
DEBUG_SLFIND
を利用すると、使用されたファイルを確認できます。フォントに関しては、アプリケーションがプリンタ定義ファイルを読み取った後に検索したAFMファイルおよびTFMファイルのリストと、エイリアス処理後に読み取ったフォント・ファイルを調べることができます。この方法では、あるフォントがマップされているかどうかを調べることもできます。通常は、次の順序でファイルの読取りが行われます。
TK_DEBUG_POSTSCRIPT
は、PostScript出力に影響を及ぼします。この変数には、次の文字列の任意の組合せを設定できます。
これらのオプションはいずれも、環境変数内で指定するときに1文字に短縮できます。またこれらのオプションは、"/"で区切って自由に組み合せることができます。この環境変数では、大文字と小文字は区別されません。たとえば、すべてのオプションを使用するには、Func/L/Mem
のように指定します。
この変数を使用して生成された出力を顧客向けに使用することは、オラクル社によるサポートの対象外です。この変数は、診断目的にのみ使用してください。
Reports Builderのユーザー・インタフェースのテキスト(ウィンドウのタイトルなど)には、現行の言語に対応するシステム・リソース・ファイルから取得したフォントが使用されます。これらのシステム・リソース・ファイルは、Oracle Reportsのインストレーションに含まれています。Oracle Reportsでは、uifont.ali
の[rwbuilder]
セクションでこれらのフォントのマッピングを指定できます。マップされているフォントが見つかった場合は、元のフォントのかわりにそのフォントが使用されます。見つからなかった場合は、元のフォントが使用されます。
レポート・エディタのWebソース・ビューでは、アラビア語、中央ヨーロッパ言語、キリル語、ギリシャ語、ヘブライ語、日本語、タイ語、トルコ語などが文字化けして表示されることがあります。uifont.ali
でReports Builderのフォント名を次のように設定することで、この問題を回避できます。
[rwbuilder] .....AR8MSWIN1256="Courier New" .....CL8MSWIN1251="Courier New" .....EE8MSWIN1250="Courier New" .....EL8MSWIN1253="Courier New" .....IW8MSWIN1255="Courier New" .....JA16SJIS="MS Gothic" .....TH8TISASCII="Andale Duospace WT" .....TR8MSWIN1254="Courier New"
Andale Duospace WT(固定幅)フォントは、Oracle Metalink(http://metalink.oracle.com)からダウンロードできます。ARU番号は2766564です。
NLS_LANG
がUTF8
に設定されているときは表示されないことがあります。Wingdingsフォントの中でUTF8の使用時に表示可能なものは、ASC 32〜127の文字のみです。ASC 252はUTF8ではサポートされていないため空白表示されます。
この問題に対処するには、次のいずれかのフォント・セットを使用します。
AdobeStandardEncoding
、ExtJIS12-88-CFEncoding
、FontSpecific
、HRoman
、ISOLatinHebrew
、JIS12-88-CFEncoding
およびJIS12e-88-CFEncoding
です。サポート対象のAFMのバージョンは2.0です。
ディスプレイ・フォントとプリンタ・フォントにはいくつかの類似点もありますが、それ以上の相違点があります。
Xフォント(ディスプレイ・フォント)はビットマップの表示用絵文字であり、XサーバーによってXターミナル上に表示されます。
プリンタ・フォントはPostScriptフォント、つまりフォントを数値として表したものでビットマップではありません。このフォントはPostScriptプリンタ内に存在し、プリンタ上のPostScriptインタプリタによって生成されます。
たとえば、テンプレートを作成してフォントをサイズ10のTimes New Romanに設定し(すべてのフィールドが対象)、レポートでこのテンプレートを使用するように設定した場合でも、レポート・エディタのペーパー・デザイン・ビューで表示されるフォントのサイズが変更されていることがあります。
これは、デフォルト設定のレイアウトでは目的の領域内に収まらない場合に行われます。
最初にテキスト・フィールドのサイズが縮小され、次にフォントのサイズが縮小されます。このようにすれば、テンプレートのフォント・サイズを維持してフィールドを折り返すよりもよい結果を得ることができます。
また、テンプレートを使用する場合に、テンプレートで指定されたものとは異なるフォントが選択されることがあります。これは、最初にキャラクタ・セットの比較が行われるためです。したがって、テンプレートのフォントが現行のキャラクタ・セットをサポートしないものである場合は、サポートするフォントに変更されます。これは、特にヘブライ語またはアラビア語環境で英語のテンプレートを使用した場合にはっきりとわかります。
ラベル・レポートを印刷すると、右マージンの文字が切り捨てられる
Windowsマシン上で郵便ラベル・レポートを印刷したのですが、各行の最後の数文字が切り捨てられていることがわかりました。レポートのプレビューでは、これらの文字は欠けてはいませんでした。ページのフォーマットとフォント設定を変えてみましたが、問題は解決しません。
PreviewをDESTYPE
にしてレポートが正しく表示されるのであれば、プリンタ・ドライバの問題ではありません。この問題の原因として、枠のプロパティが考えられます。
レイアウト・オブジェクトを囲む枠の水平拡張度が「固定」に設定されており、データの長さが枠のサイズを超える場合は、このようなデータの切捨てが発生します。
「水平拡張度」プロパティを、「拡張」または「可変」に設定してみてください。
ファイルをHTMLCSSとして生成すると、列の1つが出力から欠落する
レポートをHTMLCSSファイル・フォーマットとして出力しており、レポート・エディタのペーパー・デザイン・ビューでは問題なく表示されています。新たに作成されたファイルをクリックしてブラウザに表示されるレポートを確認すると、最後の列がレポート出力の中にありません。
レポートを再度実行すると、ペーパー・デザイン・ビューでは問題なく、最後の列も本来の位置に表示されます。このファイルをもう一度クリックしたときに、最後の列がレポート出力から脱落しているようです。PDFは、ペーパー・デザイン・ビューとAdobe Acrobat Readerで問題なく表示されます。
HTMLCSSファイルをクリックすると、ブラウザにレポートが正しく表示され、すべての列が欠けることなく表示されます。
HTMLCSSファイルをブラウザで表示するときは、Windowsシステムのデフォルト設定として「小さいフォント」を選択しておくことをお薦めします。
大きいフォントがデフォルトで設定されている場合、HTMLCSSファイルが正しく表示されないことがあります。
Reports Builderで、8ポイントより小さいビットマップ・フォント・サイズを選択する方法
レポートによっては、フォント・サイズを6ポイント以下にする必要があることもあります。フォントのマッピングおよびサイズ設定は、実際にはオペレーティング・システムのフォント・ファイルと、ドライバまたはプリンタの指定の両方によって実現されるものであるため、多くのフォントで6ポイント以下などの小さなフォント・サイズを指定することが可能です。
Oracle Reportsでは一般に、フォント・サイズを8まで小さくすることができます。このように設定するには、Reports Builderでレポートを開き、レイアウト・モデル・ビューに切り替えて、変更対象のレポート・オブジェクトを選択します。オブジェクトが選択されている状態で、フォント選択ボックスの横のリストからフォント・サイズを選択します。
一般に、選択できるサイズはTrueTypeフォントの場合は8〜72、その他のフォントの場合はこれより少なくなります。
リストにあるサイズよりも小さいサイズや大きいサイズを入力できます。それにはもう一度オブジェクトを選択して、カーソルをフォント・サイズ・フィールドに置き、[Delete]キーを押してサイズの数値を削除し、目的のフォント・サイズを入力して[Tab]キーを押します。変更は即座に反映されます。
この場合も、すべてのフォント・サイズを指定できるとは限らないことに注意してください。また、フォントと属性の組合せによっては実際に使用できないものもあります。あるフォント・サイズを選択できたとしても、印刷したときにそのフォントを読み取ることができるとは限りません。小さいフォント・サイズを指定し、さらに太字やイタリックなどの属性を組み合せた場合も、プリンタ・ドライバ、プリンタ、フォント・メトリック、言語、コード・セット、NLS_LANG
および人間の視覚などの制約が原因で、印刷または表示したときに読取り不可能の問題が発生することがあります。
レポート出力でのフォント・サイズが、WindowsとUNIXとで異なる
Windows上で設計した単純なレポートで、サイズ8のArialフォントを使用しています。このレポートをSun Solarisに移植したときに、Solaris上の出力ではフォント・サイズが変更されていることがわかりました。UNIX環境では、レポートにフォント・サイズ9のHelveticaを使用しています。UNIX上では、Arialフォントは同等のフォントであるHelveticaにuifont.ali
を使用してマップされています。
xlsfont
コマンドなどのUNIXのフォント・ユーティリティを使用して、UNIXシステム上のHelveticaで使用可能なフォント・サイズを調べます。
Arial.8 = Helvetica.8
に変更し(UNIXシステム上でHelveticaに対してサイズ8が使用可能であるものとします)、uifont.ali
が正しいディレクトリにあることを確認します(フォント・マッピングの説明を参照)。
マシンにインストールされているHelveticaフォントがビットマップ(ラスタライズ済)であることが考えられますが、その場合は、任意のサイズに自動的に拡大または縮小することはありません。これに該当する場合は、拡張性に優れたType1フォントをインストールすれば、どのようなポイント・サイズでも選択できるようになります。
システムが異なれば、インストールされているフォントが同じであっても、フォント間の差が発生する可能性は常にあります。これは、システムによってフォント構成ファイルが異なるためです。
印刷時に、フォントが非TrueTypeフォントによって置き換えられる(ペーパー・デザイン・ビューでは、フォントの問題は発生しない)
プリンタ設定(詳細)を調べて、次のような指定がないことを確認します。
True Type Font: Substitute with Device Font
Oracle ReportsをX-Windowsエミュレータ上で実行しているときに、UNIXにインストールされているフォントがフォント検索ボックスに表示されない
X-Windowsエミュレータのフォント・パスは、通常、ローカル・マシン上のフォント・ディレクトリになります。インストール済のフォントは使用できず、Oracle Reportsのフォント検索ボックスでは、ローカルのフォント・ディレクトリにあるフォントのが使用されます。このような場合は、フォントがインストールされているリモート・マシン上でフォント・サーバーを起動し、フォント・パスのエントリがこのフォント・サーバーを指すようにします。フォント・サーバーの起動およびフォント・パス・エントリの設定の詳細は、システムのマニュアルおよびX-Windowsエミュレータのヘルプを参照してください。
現在使用されているフォント・パスおよびフォント・サーバーを調べるには、UNIXコマンドxset -
を使用します。
この項では、Oracle Reportsに関係のあるフォントおよびキャラクタ・セットについて説明します。
NLS環境変数のキャラクタ・セット・コンポーネントでは、各自の環境でデータを表す際に使用されるキャラクタ・セットを指定します。あるキャラクタ・セットを使用するシステムから別のキャラクタ・セットを使用するシステムにデータが転送されると、転送先のシステムでそのデータが処理され、正しく表示されます。ただし、一部の文字がキャラクタ・セットの別のバイナリ値で表される場合があります。
多言語対応アプリケーション、または単一言語対応であっても複数のキャラクタ・セットを使用するアプリケーションを設計する場合は、実行時に最も広く使用されるキャラクタ・セットを決定し、NLS環境変数(NLS_LANG)をそのキャラクタ・セットに設定してアプリケーションを生成する必要があります。
あるキャラクタ・セットで設計および生成されたアプリケーションを別のキャラクタ・セットで実行すると、パフォーマンスに問題が生じる可能性があります。さらに、生成時のキャラクタ・セットの文字の一部が実行時のキャラクタ・セットに含まれていない場合は、認識されない文字の部分に疑問符が表示されます。Portable Document Format(PDF)は、マルチバイト・キャラクタ・セットをサポートします。特定のフォントを使用してアプリケーションを作成しても、実行してみると別のフォントが使用されている場合があります。この問題は、多くの場合、西ヨーロッパ圏以外の言語環境で英語フォント(MS Sans SerifやArialなど)を使用すると発生します。この問題が起こる理由は、フォントに関連付けられているキャラクタ・セットと言語環境変数(NLS_LANG)によって指定されたキャラクタ・セットが一致しているかどうかをOracle Reportsがチェックするためです。2つのキャラクタ・セットが一致しない場合は、Oracle Reportsによって、言語環境変数で指定されたキャラクタ・セットが関連付けられている別のフォントに自動的に置換されます。この自動置換によって、データベースから返されるデータがアプリケーション内で正しく表示されます。注意: 英語フォントを使用して各国語の文字を入力すると、Windowsでは暗黙的に別のフォントへの関連付けが行われます。ただし、このような自動置換が行われないようにする場合もあります。自動置換が行われないようにするには、希望するすべてのフォントを、フォント・エイリアス・ファイル(uifont.ali
)内のWE8ISO8859P1
キャラクタ・セットにマッピングします。
Unicodeは、1つのアプリケーションで多言語テキストを表示できるようにするグローバルなキャラクタ・セットです。これによって多国籍企業では、1つの多言語アプリケーションを開発し、それを世界各国に配布できます。多言語アプリケーションでのUnicodeの使用の詳細は、第18.5項「Unicode」を参照してください。
PostScriptフォントのフォーマットであるAdobe Type1フォントの保存形式には、.pfa
(PostScript Font ASCII)と.pfb
(PostScript Font Binary)の2種類があります。これらのファイルには文字の形状に関する記述が含まれます。個々の文字は小さなプログラムによって生成されますが、このプログラムはさらに別の小さなプログラムをコールして、フォント内の文字の共通部分を計算します。どちらの場合も、文字の記述内容は暗号化されます。このようなフォントを利用できるようにするには、PostScriptインタプリタ、またはAdobe Type Managerなどの専用のレンダリング・エンジンを使用して、ビットマップのドットにレンダリングする必要があります。Adobe Type Managerは、Apple MacintoshおよびMicrosoft Windowsのシステム上で、低解像度のスクリーン・フォントを生成する場合に使用されます。
Type1バイナリ・ファイル(.pfa
、.pfb
)には文字情報が含まれますが、メトリック・ファイル(.afm
(Adobe Font Metric)または.pfm
(Printer Font Metric))には文字を形成するためのメトリック情報が含まれます。これらのメトリック・ファイルはテキスト・ファイルであり、明確かつ解析しやすい構造で記述されています。
パーソナル・コンピュータの出現によって拡張性に優れたフォント・テクノロジの必要性が高まり、それ以降のあらゆるオペレーティング・システムにおいて不可欠であることが予想されていました。TrueTypeはまさに拡張性に優れたフォント・テクノロジであり、文字を拡大しても出力結果は変わらず、ビットマップ・フォントに顕著なぎざぎざが発生しません。
このテクノロジは次の2つの部分から成り立ちます。
ラスタライザは、WindowsとMacintoshの両方のオペレーティング・システムに組み込まれているアプリケーションです。インタプリタとして機能し、フォント情報を、ビデオ・ディスプレイでレンダリング可能な形式へ変換します。
TrueTypeフォントは、それ自身にタイプフェースの各文字のアウトラインを表す情報が含まれます。より高品質なフォントには、ヒンティング・コードも含まれています。ヒンティングとは、縮小されたフォントの形状を最適化する処理です。ベクター・アウトラインにのみ依存するのではなく、文字の線がピクセルに揃うようにするため、フォントの形状がスムーズになり、読みやすさも最大になります。
Adobe社は、この機能を実現する自社のPostScriptコードのライセンス供与をAppleとMicrosoftの両社に対して提案しましたが、両社はいずれも、自社のオペレーティング・システムの中核部分に他社の支配力が及ぶということに懸念を抱いていました。Apple社とMicrosoft社は特許の相互使用と製品開発協定について合意し、Microsoft社はPostScriptスタイルのグラフィック・エンジンを開発し、Apple社はフォント・システムを開発しました。Apple社が開発したものは後にTrueTypeとなり、パフォーマンスとレンダリング品質において最高のテクノロジであることを証明しました。Apple社とMicrosoft社は、Adobe社に対抗する戦略的業務提携を発表しました。これは、Apple社がフォント・システム、Microsoft社が印刷用エンジンの開発を担当するというものでした。Apple社は、1991年3月にTrueTypeを発表しました。最初のTrueTypeフォントは次のものでした。
1992年初頭には、Microsoft社のWindowsバージョン3.1にTrueTypeが導入され、次のフォントから構成されるコア・フォント・セットが作成されました。
Apple社とMicrosoft社のどちらのTrueTypeフォントも、スケーラブル・フォントからビットマップを生成する際に、あたかも人間が設計したかのような高い品質をフォントの各サイズで実現しています。
TrueType Collection(TTC)は、文字情報や絵文字などの共通するフォント・データを共有する効率的な方法です。こうしたデータの共有化によって、共通の絵文字などが各フォントではなく単一のファイル構造に格納されるため、ファイル・サイズが最適化されます。最も効率的なのは、複数のフォントを組み合せた1つのファイルです。たとえば、同じフォント・ファミリに属する複数の日本語フォントは、共通の漢字文字セットを共有できます。これらの漢字文字は、TTCファイルに保持されます。
たとえば、TTCファイルのmsgothic.ttc
は、MS Gothic、MS PGothicおよびMS UI Gothicの3種類のフォントで構成される集合ファイルです。
バーコード・フォントという用語が表すものは1つではありません。業種によっては、特定のバーコード・タイプが選定されていることがあります。このような場合は、適切なバーコード・フォントを使用できるようにする必要があります。たとえば、商品パッケージや書籍にバーコードを印刷する場合のバーコードの選択は簡単です。北米では、商品パッケージのバーコードにUPC-Aを使用します。ヨーロッパでは、商品のバーコードにはEANを使用します。
書籍のISBN番号のバーコードには、Bookland(EAN 13バーコードに5桁を付加したもの)を使用します。フォントはバーコードを印刷する方法の1つですが、唯一の方法ではありません。Oracle Reportsでは、この他にバーコード用のJava Beanを使用してバーコードを生成するという方法も利用できます。このJava Beanを使用すれば、一般的に使用されているバーコード・タイプに基づいてバーコードを生成することができます。
CID(Character IDentifier)フォントは、コンポジット(マルチバイト)Type1フォントの一種で、東アジア言語圏の要求に応えて開発されたものです。Adobe社が開発したCID-Keyedフォント・ファイル・フォーマットは、PostScriptで使用される幅広いキャラクタ・セット・フォントに対応します。中国語、日本語および韓国語のフォントに最適なフォーマットですが、このほかにも様々なキャラクタ・セットのローマン体フォントに使用できます。CID-Keyedとは、文字識別子(CID)番号を使用してフォント内の文字に索引を付け、アクセスすることです。CIDフォントはそれぞれ、すべての文字のアウトラインが格納された1つの大きなフォント・ファイルと、文字、エンコードおよび文字識別子のリストが格納された1つの小さなCMapファイルから構成されています。フォント・ファイルとCMapファイルを組み合せることにより、特定のキャラクタ・セットとエンコード情報からなるフォントを作成することができます。CIDフォントはそれぞれ、多数のキャラクタ・セットとエンコードの組合せをサポートできます。
|
Copyright © 2003, 2005 Oracle. All Rights Reserved. |
|