Oracle® Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド 11g リリース2(11.1.2) B70751-01 |
|
![]() 前 |
![]() 次 |
表11-6に、宛先フォーマットがPDFフォント・サブセットを使用して作成したマルチバイトPDFである場合におけるクロス・プラットフォーム配布シナリオを示します。PDFのフォント機能の詳細は、第10章「Oracle ReportsでのPDFの使用」を参照してください。
ここでは、マルチバイトPDF出力を想定したレポートの設計および配布を、次の項で説明します。
UNIXプラットフォームにレポートを配布する前に、次の手順を実行してレポートを準備します。
TrueTypeマルチバイト・フォントを使用して、新しいレポートを作成します。たとえば、AR8ISO8859P6
キャラクタ・セットのSimplified Arabicフォントを使用します。
レポートで使用するフォントについて、次の項目を確認します。
UNIXで使用可能なフォントを使用します。Windows(TTFファイル)で使用可能なすべてのフォント・ファイルが、UNIX(AFMファイルまたはTFMファイル)でも使用できるとは限りません。UNIXプラットフォームで使用できる適切なAFMまたはTFMフォント・ファイルがある場合は、そのフォント・ファイルを使用できます(PostScriptの場合はAFMファイル、PCLの場合はTFMファイル)。
注意: AFMがサポートされるのは、日本語エンコードを除き、シングルバイトのPostScriptファイル生成時のみです。AFMファイルに対してサポートされるコード体系は、次のとおりです。
|
適切に拡大または縮小可能なフォントを使用します。たとえば、Tahomaは異なるフォント・サイズに適切に拡張または縮小できますが、MS Sans Serifはできません。これは、MS Sans Serifがラスター・フォントであるためです。ラスター・フォントは任意のサイズに変更できず、一般的に表示が粗くなる問題があります。一方、TahomaはTrueTypeフォントであり、MS Sans Serifフォントと非常に似ています。またTahomaはベクトル・フォントであるため、任意のサイズに変更したり、適切な角度にフォントを回転したりできます。
UNIX上に使用可能なAFMフォント・ファイルがない場合、または文字の不揃いなどレポート出力にフォントの問題が発生した場合は、ttf2pt1
など、サード・パーティの無料ユーティリティを使用してWindowsのTTFファイルを変換し、AFMファイルを生成できます。TFMファイルには変換しないでください。予測したとおりの結果にならない場合があります。
レポートをUNIXプラットフォームに配布するには、次の手順を実行します。
レポートに使用されているフォントに対応するTTFファイルを探します。これらのTTFファイルをAFMに変換して、レポートに使用されているフォント用のAFMファイルを作成します。
TTFファイルからAFMファイルへの変換には、TrueTypeからType1へのフォント変換ユーティリティを使用します。たとえば、ttf2pt1
を使用します。
変換後、AFMファイルの名前から拡張子.afm
を削除します。例:
レポートに使用したWindowsのTTFファイルを、UNIXマシンのフォント・ディレクトリにコピーします。たとえば、$ORACLE_HOME/fonts
にコピーします。
REPORTS_PATH
環境変数にTTFファイルへのパスを追加します。
AFMファイルを$ORACLE_HOME/guicommon/tk/admin/AFM
ディレクトリにコピーします。
任意のテキスト・エディタを使用して、screenprinter.ppd
ファイルを編集します。
注意: ORACLE_HOME /guicommon/tk/admin/uiprint.txt にエントリを追加してデフォルトのプリンタを定義している場合は、プリンタのPPDファイル(PostScriptプリンタ)またはHPDファイル(PCLプリンタ)に適切なエントリを追加する必要があります。
Oracle Reports 10g リリース1(9.0.4)以降、デフォルトのプリンタを設定していない場合は、次のようになります。
PPDファイルとHPDファイルは次の場所にあります。
Oracle Reportsは、HPDファイルまたはPPDファイルをまずOracleインスタンスの場所で検索し、それからOracleホームの場所で検索します。
|
使用するPPD/HPDファイルに、レポートに使用されているAFMファイルまたはTFMファイルすべてのエントリがあることを確認します。PPD/HPDファイルはプリンタ・ドライバの設定を含む構成ファイルであり、そのプリンタでサポートされるすべてのフォントがリストされています。
PPDファイルのFont Information
セクションに移動して、必要なフォント・ファイルのエントリを次のような形式で追加します。
*FONTNAME:ENCODING:VERSION:LOCATION
例:
*Font Arial: Standard "(Version 2.76)" Standard ROM *Font CourierNew: Standard "(Version 2.76)" Standard ROM
PPDファイルに指定されているフォント名とAFMファイル名とが正確に一致していることを確認します。Oracle Reportsでは、PPDファイルのフォント名に基づいてAFMファイルを検索します。
uiprint.txt
に該当するPPDファイルのエントリがあることを確認します。printername: PostScript:2:test:ppd_file
例:
printer1:PostScript:2:test:hpljet42.ppd
任意のテキスト・エディタを使用して、hpljet42.ppd
ファイルを編集します。
注意: PPDファイルをORACLE_HOME/guicommon/tk/admin/PPD から次の場所にコピーします。
|
使用するPPD/HPDファイルに、レポートに使用されているAFMファイルまたはTFMファイルすべてのエントリがあることを確認します。
Font Information
セクションに移動して、新しいAFMファイルに必要なエントリを次のような形式で追加します。
*FONTNAME:ENCODING:VERSION:LOCATION
例:
*Font SimplifiedArabic: Standard "(001.01)" Standard ROM
レポートに使用されているフォントがエイリアシングされていないことを確認します。
uifont.ali
を編集して、Simplified Arabicフォントが他のフォントにエイリアシングされている場合は、そのエントリをコメント化します。たとえば、"SimplifiedArabic"="Arial"
のようなエントリです。
注意: uifont.ali ファイルは、WindowsおよびUNIXでは次のディレクトリにあります。
フォントのエイリアシングは、特定のフォントについてAFMファイルが生成不可能な場合にのみ使用してください。その場合は、対象フォントを最も類似度が高いフォントにエイリアシングできます。エイリアシングのフォントは、レポート出力を生成するマシンにはなくても、レポート出力を表示するマシンでは必ず使用できる必要があります。 |
[PDF:Subset]
セクションで、フォントのサブセットを作成するために必要なエントリを追加します。
例:
[ PDF:Subset ] "SimplifiedArabic" = "simpo.ttf"
PDFファイルの移植性を実現するため、フォント・サブセットまたはフォント埋込みのいずれかを使用できます。この移植性によって、レポートを表示するマシンにフォントがインストールされているかどうかにかかわらず、PDFレポートを表示できます。
レポートをPDFで実行して表示します。
http://mywebserver.com:reports/rwservlet?server=myserver+report= "/home/myreports/test.rdf"+authid=hr/hr@mydb+desformat=PDF+destype=cache
PDFには、レポートで使用されているフォントが含まれているはずです。この例では、Davidフォントなどです。
使用されているフォントを確認するには、次の手順を実行します。
Acrobat Reader 6.0の場合は、「ファイル」→「文書のプロパティ」→「フォント」を選択します。
Acrobat Reader 3.0以降の場合は、「ファイル」→「文書情報」→「フォント」を選択します。
「オリジナルフォント」列にDavidフォントが表示されるはずです。
配布に関する問題が発生した場合は、次のトラブルシューティング情報を参照してください。
PDF出力でフォントが正しく表示されない場合は、環境変数DEBUG_SLFIND
を、debug.txt
などのログ・ファイル名に設定してからレポートを実行します。PPDファイルと使用されているフォントの解析時に参照されるフォント・ファイルが、ログ・ファイルdebug.txt
に書き込まれます。特に次の項目について確認してください。
変更したPPDファイルが参照されているはずです。参照されていない場合は、構成に問題があります。詳細は、第8章「Oracle Reportsでのフォントの管理」を参照してください。
次に、AFMディレクトリにコピーしたAFMファイルが参照されているはずです。
DEBUG_SLFIND
の詳細は、第10章「Oracle ReportsでのPDFの使用」を参照してください。
この項では、レポートをマルチバイトPDF出力に配布する作業に関連したよくある質問(FAQ)に回答します。
質問
CIDマルチバイト・フォントを使用してクロス・プラットフォームでPDFを出力する場合は、どのような点に注意する必要がありますか。
回答
CIDマルチバイト・フォントを使用してPDFレポートをマルチバイト言語に対応させるには、PDFファイルを表示するマシンのAcrobat Readerにアジア言語フォント・パッケージをインストールする必要があります。アジア言語フォント・パッケージはAdobeのWebサイトから入手できます。
質問
UNIXでマルチバイト・フォントを使用する場合、レポートのフォーマットが正しく表示されなかったり、テキストの位置が変わるのはなぜですか。
回答
ttf2pt1
を使用してAFMファイルを作成する場合、ttf2pt1
には、そのフォントの最初の256文字のみのメトリック情報を使用してAFMファイルを作成するという制約があります。最初の256文字はLatin-1文字に使用されます。そのため、フォントに256以上の文字が含まれる場合、それを超えた文字に対してメトリック情報は使用できません。Oracle Reportsでは、AFMファイルにない文字をレポートで検出した場合、AFMファイルにあるデフォルト・メトリック情報を使用します。これらのデフォルトのメトリック情報は、レポートに使用されている文字のメトリックと一致しない場合があります。そのため、フォーマットが正しく行われません。256文字以上あるフォントを使用する場合にこの問題を解決するには、すべての文字が同じ幅になる固定幅フォントを使用します。たとえば、Hebrewの場合は固定幅フォントであるMiriam Fixedを使用すると、フォーマットの問題を回避できます。