ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド
11g リリース 1 (11.1.1)
B61375-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

12.3 クロス・プラットフォームの問題の概要

Oracle Reportsは、Windows、Linux、Sun Solaris、HP-UX、IBM AIXなどの様々なプラットフォームで利用できます。Oracle Reportを使用すると、これらのプラットフォーム間でレポートの作成と配布ができます。最も一般的なシナリオは、レポートをWindowsで作成し、LinuxなどのUNIXベース環境に配布するシナリオです(図12-2を参照)。その場合、配布されたレポートのルック・アンド・フィールは若干異なって表示されます。たとえば、Windowsでレポートを作成する場合、レポート内のテキスト・オブジェクトやフィールドには適切なスペースを割り当てます。しかし、そのレポートをLinuxに配布して実行すると、割り当てたはずのスペースにテキストが収まらない場合があります。これが、プラットフォームの違いが直接出力に影響するクロス・プラットフォームの問題です。このような問題が起きるのは、開発プラットフォームで使用できたフォントが配布プラットフォームで使用できないことが原因になっている場合があります。そのため、レポートを配布プラットフォームで実行する場合は、レポート出力のフォーマットに代替フォントを使用することが必要になります。しかし、フォント間でなんらかの違いがあれば、開発プラットフォームと配布プラットフォームのレポート出力も異なって表示されます。

クロス・プラットフォーム問題が発生する別のシナリオは、レポートを最終的に表示するプラットフォームに(図12-2を参照)適切なフォントがインストールされていない場合です。その場合は、開発プラットフォームと配布プラットフォームでレポートが正しく出力されていても、エンド・ユーザーがレポートを表示するプラットフォームには、レポートのルック・アンド・フィールが異なって表示されます。

図12-2 クロス・プラットフォームの配布シナリオの例

図12-2の説明が続きます
「図12-2 クロス・プラットフォームの配布シナリオの例」

12.3.1 プラットフォームによって異なるフォント

フォントは、特定のスタイルとサイズで印刷または表示できる一連のテキスト文字です。フォントは、レポートを画面上に表示したり、印刷したりするために必要です。Oracle Reportsでは、レポートをフォーマットするとき、つまりレポート・コマンドを実行するとき、これらのフォント・メトリックを使用します。レポートがフォーマットされ、出力が生成される作業は、フォント・メトリックに基づいて実行されます。

フォント・メトリックは特定のファイルによって提供されます。このファイルは、Oracle Reports Servicesを実行するシステムで使用できる必要があります。Windowsの場合、フォント・メトリックはTrueType Font (TTF)ファイルまたはTrueType Collection (TTC)ファイルによって提供されます。UNIXプラットフォームの場合、フォント・メトリックはAdobe Font Metrics (AFM)ファイルまたはTeX Font Metrics (TFM)ファイルによって提供されます。使用できるフォントやメトリックは、オペレーティング・システムによって異なります。フォントやレンダリングが異なれば、生成される出力の外観も異なります。

例1: シングルバイト領域において一般的に使用されるTahomaフォントは、Windowsでは使用できますがUNIXでは使用できません。たとえば、レポートの開発者がレポートの設計時にTahomaフォントを使用したとします。このレポートは開発プラットフォームであるWindowsで出力すると、問題なく表示されます。次に、このレポートを配布プラットフォーム(Linuxなど)に移植するとします。このレポートの実行リクエストをReports Serverに送信すると、Reports ServerはTahomaフォントのメトリックを探します。しかし、TahomaはWindows固有のフォントであるため、このメトリック・ファイルは見つかりません。その場合は、Tahomaに似た別のフォントが使用されます。異なるフォントが使用されたため、レポート出力は異なって表示されます。

例2: 開発プラットフォームと配布プラットフォームがWindowsであるとします。開発プラットフォームと配布プラットフォーム上のReports Serversは、どちらもWindowsで稼動しているため、Tahomaフォントにアクセスできます。しかし、エンド・ユーザーがLinuxで出力を表示するとします。すべてのレポート出力フォーマット(HTML、HTMLCSS、RTFおよびPDF)ではフォントが参照されるだけで、PDFのフォントの埋込み機能を使用しないかぎり出力に埋め込まれることはありません。そのため、クライアント・システムはレポート出力を表示するためにTahomaフォントを探します。しかし、TahomaはLinuxで使用できないため、ユーザーが出力を表示するときにクロス・プラットフォームの問題が発生します。

12.3.2 フォントに関連する問題の解決

これまで説明したように、多くのクロス・プラットフォーム問題は、Reports Serverが実行されている本番環境かクライアント・システムのいずれかでフォントが使用できないところに原因があります。このようなフォントの利用可能性に関する問題は、次の3つの段階で解決する必要があります。

  1. 開発プラットフォーム: レポートを作成する場合は、常に配布プラットフォームで利用できるフォントを考慮します。Windows (TTFファイル)で使用可能なすべてのフォント・ファイルが、UNIX (AFMファイルまたはTFMファイル)でも使用できるとは限りません。UNIXプラットフォームで使用できる適切なAFMまたはTFMフォント・ファイルがある場合は、そのフォント・ファイルを使用できます(PostScript出力の場合はAFMファイル、PCLの場合はTFMファイル)。UNIX上に使用可能なAFMフォント・ファイルがない場合、または文字の不揃いなどレポート出力にフォントの問題が発生した場合は、ttf2pt1など、サード・パーティの無料ユーティリティを使用してWindowsのTTFファイルを変換し、AFMファイルを生成できます。TFMファイルには変換しないでください。予測したとおりの結果にならない場合があります。

  2. 配布プラットフォーム: レポートに存在するフォントを使用できることを確認します。PDF出力の場合は、フォント・エイリアシングを使用して、使用不可能なフォントをそれに最も類似したフォントに置換します。どの出力フォーマットでもグローバル・フォント・エイリアシングを使用できます。この後のいずれの項でも、例をあげる必要がある場合は、同じコメントを使用します。

  3. クライアント・プラットフォーム: クライアント・システムでフォントが使用できることを確認します。たとえば、第11章「Oracle ReportsでのPDFの使用」に記載されているように、PDF出力では、フォント・サブセットまたはフォントの埋込みを使用できます。HTML、HTMLCSSまたはRTF出力フォーマットでは、フォントを埋め込むことができません。そのため、レポートの設計時には、すべてのプラットフォームで利用できることがわかっているフォントを使用するようにします。