ヘッダーをスキップ

Oracle Application Server Reports Services レポートWeb公開ガイド
10gリリース2(10.1.2)
B25067-01
目次
目次
索引
索引

戻る 次へ

6
Oracle ReportsでのPDFの使用

Adobe Portable Document Format(PDF)は、文書の作成に使用したアプリケーションやプラットフォームの種類に関係なく、あらゆるソース文書のフォント、書式、グラフィックス、カラーをすべて保持する汎用ファイル形式です。Oracle Reportsは、いち早くこのテクノロジを採用し、高品質のPDF文書を生成してきたレポート生成ツールの1つです。

この章の主な項は、次のとおりです。

6.1 Oracle Reportsに含まれるPDF機能

Oracle Reportsは、PDF1.4をサポートし、あらゆるプラットフォームで高品位のPDFレポートを生成できます。Oracle ReportsでサポートするPDF機能は、次のとおりです。

6.1.1 圧縮

PDF圧縮は、PDFファイルのサイズを減らすことによって、PDFファイルのダウンロードに要する時間を短縮します。

圧縮によって節約できる容量は、レポートの内容(たとえば、イメージの数とサイズ)によって変わります。

圧縮されたファイルのサイズは、元のファイルの約5分の1になります。圧縮テストでは、生成されたファイルが元のファイルの2分の1から8分の1のサイズになり、ファイルの内容よってばらつきがあることがわかりました。

6.1.1.1 設定

デフォルトでは、Oracle Reportsによって生成されるPDF出力は圧縮されています。圧縮のレベルを指定するには、コマンドラインでPDFCOMPを使用します。詳細は、第A.3.83項「PDFCOMP」を参照してください。

圧縮ファイルはダウンロードが短時間で済みますが、圧縮ファイルの生成にかかる時間は、非圧縮ファイルの場合よりかなり長くなります。

図6-1    圧縮出力と非圧縮出力


画像の説明


注意

圧縮率は、レポートの内容に依存します。したがって、PDFファイルのサイズも、PDFファイルの生成に要する時間もレポートごとに異なります。 


6.1.2 フォント関連の機能

この項では、Oracle ReportsでサポートされるPDFフォント関連の機能について説明します。

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

フォント・エイリアシングを使用すると、あるフォントを別のフォントに置き換えること(フォント置換)が可能です。このフォント置換は通常、プラットフォーム間でアプリケーション(ここではPDFファイル)を移植する場合に使用されます。その際には、キャラクタ・セットだけでなく、マルチバイト・フォントもエイリアシングできます。マルチバイト・アプリケーションの設計時におけるフォント・エイリアシングの考慮事項については、第18.2.1.2.2項「フォント・エイリアシングの考慮事項」を参照してください。

フォント・エイリアシングは、PDFファイルを生成する時点で行われます。PDFファイルには、出力の表示に必要なフォント情報だけが含まれます。使用されるフォントは、PDFファイルに埋め込まれません。


注意

フォントは、PDF出力を表示するマシンで使用可能である必要があります。PDFファイルを生成するマシンでは、フォントが使用可能でなくてもかまいません。 


レポートを表示する時点では、Adobe Acrobatは、次の規則に基づいて、エイリアシングされたフォントを置き換えます。

  1. 出力を表示するマシンにフォントが存在しない場合、Adobe Acrobatは、そのフォントをAdobe Sans MMフォントに置き換えます。

  2. Adobe Sans MMフォントが適合しない場合、出力には、データのかわりにドットが表示されます。

フォント・エイリアシングは、次のいずれか、またはすべてのフォントに対して機能します。

表6-1は、マルチバイト・フォントのPDFフォント・エイリアシングに使用するOracle NLS_CHARACTERSET、CMap名、およびCIDフォント名間のマッピング表を示しています。

表6-1    PDFフォント・エイリアシングのためのCIDフォント・マッピング 
言語  Oracle NLSキャラクタ・セット名  CMap名  CIDフォント名 

日本語 

JA16SJIS 

90ms-RKSJ-H 

"KozMinPro-Regular-Acro" (*)

"HeiseiKakuGo-W5-Acro" (**)

"HeiseiMin-W3-Acro" (**) 

JA16EUC 

EUC-H 

韓国語 

KO16KSC5601 

KSC-EUC-H 

"HYSMyeongJoStd-Medium-Acro" (*)

"HYGothic-Medium-Acro" (**)

"HYSMyeongJo-Medium-Acro" (**) 

K016MSWIN949 

KSCms-UHC-H 

繁体字中国語 

ZHT32EUC 

CNS-EUC-H 

"MSungStd-Light-Acro" (*)

"MHei-Medium-Acro" (**)

"MSung-Light-Acro" (**) 

ZHT16BIG5,
ZHT16MSWIN950 

ETen-B5-H 

ZHT16HKSCS 

HKscs-B5-H 

"MSungStd-Light-Acro" (*) 

簡体字中国語 

ZHS16CGB231280 

GB-EUC-H 

"STSongStd-Light-Acro" (*)

"STSong-Light-Acro" (**) 

ZHS16GBK 

GBK-EUC-H 

(*)これらのフォントはAdobe Acrobat Reader 5.0以降で利用できます。

(**)これらのフォントはAdobe Acrobat Reader 4.0以降で利用できます。

予期しないフォント・マッピングにより、マルチバイト・キャラクタが文字化けしないようにするため、Version 5.0 CID Fonts(*)の使用をお薦めします。Version 5.0フォントは、Adobe Acrobat Reader 5.0以降と互換性があります。

6.1.2.1.1 設定

フォント・エイリアシングには、コマンドライン・キーワードはありません。

フォント・エイリアシングのエントリは、uifont.aliファイルに格納します。Oracle Reportsでは、uifont.aliファイルのエントリが、生成されたPDFファイルに含まれるフォント情報と一致する場合にのみ、フォント・エイリアシングを行います。


注意

uifont.aliファイルは、次のディレクトリに格納されています。

  • ORACLE_HOME¥tools¥common(Windowsの場合)

  • ORACLE_HOME/guicommon/tk/admin(UNIXの場合)

uifont.aliファイルは、Oracle ReportsのPDFフォントに関する拡張機能すべてを制御する構成ファイルです。詳細は、第4章「Oracle Reportsでのフォントの管理」を参照してください。 


uifont.aliファイル内の、フォント・エイリアシングのセクションは、[PDF]です。

uifont.aliファイルのエントリは次のとおりです。

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

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

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

6.1.2.1.2 トラブルシューティング

フォント・エイリアシングが機能しない場合は、次のことを確認します。

6.1.2.2 フォント・サブセット

フォント・サブセットを使用すると、PDFのレンダリングに必要なフォント情報がPDFファイルに含まれます。フォント・サブセットは、レポートの表示に使用されるマシンでそのフォントを使用できるかどうかに依存しません。PDFのフォント・サブセットは、シングルバイト・フォント、マルチバイト・フォントおよびUnicodeフォントで使用可能で、マルチバイト・レポートの作成では、最もよく使用される方式です。

PDFファイル内のフォントのサブセットを作成すると、そのフォントは、レポート出力に必要な文字だけを含むので、カスタム・フォントになります。

Oracle Reports 10gリリース2(10.1.2)でのPDFフォント・サブセットの拡張機能によって、されに読みやすいPDFドキュメントを生成できるようになりました。


注意

PDFファイルの変更には、次のものが必要です。

  1. マシンにインストールされ、レポートに使用されているフォント

  2. PDFライター

 

6.1.2.2.1 設定

フォント・サブセットを使用する前に、次の作業が必要です。

uifont.aliファイル内の、フォント・サブセットのセクションは、[PDF:Subset]で、そのエントリは次のとおりです。

[PDF:Subset]
font_name = "font_file_name"

ここでは

font_nameはフォント名です。このフォント名に複数の単語が含まれる場合は、必ず引用符で囲む必要があります。

font_file_nameはフォント・ファイル名です。このファイル名は必ず引用符で囲む必要があり、大文字と小文字が区別されます。これが既存のフォント・ファイル名と完全に一致しない場合は、REP-1924エラーが生成されます。

フォント・ファイルのパスは、ORACLE_HOME/reports/font_folderにする必要があります。フォント・ファイルのパスを、REPORTS_PATH環境変数に追加します。


注意

このfont_file_nameは、Reports Builderで表示されるフォント名ではありません。 


例1
[PDF:Subset]
Arial = "Arial.ttf"

TrueType Collection(.ttc)ファイル内にあるTrueTypeフォントを使用する場合は、uifont.ali[PDF:Subset]セクションのエントリの構文は次のようになります。

[PDF:Subset]
font_name = "ttc_file_name[,table_directory_number]"

ここでは

font_nameはフォント名です。このフォント名に複数の単語が含まれる場合は、必ず引用符で囲む必要があります。

ttc_file_nameはTrueType Collectionファイル名です。

table_directory_numberは、TrueType Collectionファイル内のTrueTypeフォントに対する、ゼロベースのインデックスを使用したテーブル・ディレクトリ番号です(たとえば、"MS PGothic" = "msgothic.ttc,1"は、TrueType Collectionファイル内の2番目のフォントの使用を指定します)。table_directory_numberが省略されているか、無効な値が指定されている場合は、TrueType Collectionファイル内の最初のフォント・プログラムのサブセットが使用されます。

例2
[PDF:Subset]
"MS PGothic" = "msgothic.ttc,1"
"MS UI Gothic" = "msgothic.ttc,2"

表6-2に、Windowsプラットフォームにおける東アジア言語用の一般的なTrueType Collectionファイルと、それに含まれるフォント名およびそのテーブル・ディレクトリ番号値を示します。

表6-2    Windowsプラットフォームにおける東アジア言語用の一般的なTrueType Collectionファイル 
TTCファイル名  フォント名  テーブル・ディレクトリ番号 

batang.ttc 

Batang

BatangChe

Gungsuh

GungsuhChe 

0

1

2

3 

gulim.ttc 

Gulim

GulimChe

Dotum

DotumChe 

0

1

2

3 

mingliu.ttc 

MingLiU

PMingLiU 

0

1 

msgothic.ttc 

MS Gothic

MS PGothic

MS UI Gothic 

0

1

2 

msmincho.ttc 

MS Mincho

MS PMincho 

0

1 

simsun.ttc 

SimSun

NSimSun 

0

1 

レポートに使用されているフォントは、次の方法で表示できます。

6.1.2.2.2 下位互換性

Oracle Reports 10gリリース2(10.1.2)よりも前のリリースで使用されているフォント・サブセット(つまり、Type3フォント)の実装に戻すには、環境変数REPORTS_ENHANCED_SUBSET=NOを設定します。


注意

詳細は、第B.1.41項「REPORTS_ENHANCED_SUBSET」を参照してください。 


REPORTS_ENHANCED_SUBSET=NOを設定する場合は、最適な表示を確実にします。それには、Adobe Acrobat Readerを使用して、次の手順を実行します。

  1. 「編集」→「環境設定」→「ページ表示」を選択します。

  2. 「文字のスムージング」、「ラインアートのスムージング」および「画像のスムージング」を選択します。

  3. (ラップトップ/LCD画面の場合)「CoolType使用」チェックボックスを選択します。

  4. 「OK」をクリックします。


    注意

    この手順はAdobe Acrobat Reader 7.0に適用されます。 


UNIXマシンにおけるレポートの実行の詳細は、第6.2.2項「異なるプラットフォームでのレポートの設計と配布」を参照してください。

6.1.2.2.3 トラブルシューティング

フォント・サブセットが機能しない場合は、次のことを確認します。

6.1.2.3 フォントの埋込み

PDFのフォントの埋込みは、データとともにフォント・セット全体をPDFファイルに含める処理です。PDFのフォント・サブセットとフォントの埋込みは、相互排他的です


注意

フォントの埋込みは、フォントがPDFファイルに含まれている場合にのみ機能します。フォントの埋込みを行うと、PDFファイルのサイズが増えます。 


Oracle ReportsでのPDFフォントの埋込みは、Type1フォント(シングルバイト・フォント)のみが対象であり、TrueTypeフォントは対象外です。特定のType1フォントをレポートに含めるには、市販のサードパーティ製ツールを使用して、TrueTypeフォントをType1フォントに変換します。

Oracle ReportsでのPDFフォントの埋込みは、フォントとフォント・ファイル名のセットとの間で行われます。


注意

出力にフォントを埋め込む前に、必要なフォント・ライセンスを保持していることを確認する必要があります。 


6.1.2.3.1 設定

PDFの埋込みの設定には、次のものが含まれます。

PDFEMBED

コマンドライン・キーワードPDFEMBEDは、Oracle Reportsが、uifont.aliファイルで指定されたType 1 PostScriptフォントをPDF出力に埋め込むかどうかを指定します。詳細は、第A.3.84項「PDFEMBED」を参照してください。

uifont.aliファイル・エントリ

uifont.aliファイル内の、フォントの埋込みのセクションは、[PDF:Embed]です。

(Windowsのみ)uifont.aliファイルのエントリは次のとおりです。

font_name = "font_name.pfm font_name.pfb"

(UNIXのみ)uifont.aliファイル のエントリは次のとおりです。

font_name = "font_name.afm font_name.pfa"

例6-1    フォントの埋込み

[PDF:Embed] Symbol = "Symbol.pfm Symbol.pfb"

例6-1では、SymbolフォントがPDFファイルに埋め込まれています。移植性を確保する手順は次のとおりです。

  1. Symbol フォントを含むレポートを作成します。

  2. SymbolフォントをPDFファイルに埋め込みます(図6-3)。

    図6-3    フォントの埋込み


    画像の説明

6.1.2.3.2 トラブルシューティング

PDFフォントの埋込みが機能しない場合は、次のことを確認します。

6.1.2.4 フォント機能のまとめ

表6-3に、フォント・エイリアシング、フォントの埋込みおよびフォント・サブセットの長所と短所をまとめます。

表6-3    各種PDFフォント機能の比較 
PDFタイプ  長所  短所 

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

マルチバイトをサポートしている。

表示品質がよい。

ファイル・サイズが小さい(日本語では、フォント・サブセットの130KBに対して、フォント・エイリアシングでは23KBで済む)。 

Unicodeキャラクタ・セットをサポートしていない。

クライアントのオペレーティング・システムとAcrobat Readerが現地語バージョンでない場合は、クライアント・マシンにAsian Font Packsが必要。

フォントのサポートに制限がある。たとえば、フォントの強調をサポートしていない。 

フォントの埋込み 

表示が保証されている。 

シングルバイトしかサポートしていない。

ファイルのサイズが大きい。 

フォント・サブセット 

Unicodeをサポートしている。

表示が保証されている。

生成されたファイルを、Adobe Acrobatを使用して検索および編集できる。 

スタイル(斜体と太字)をサポートしていない。 

6.1.3 実行の優先順位

uifont.aliファイル内の複数の箇所に同じフォントが出現する場合、優先順位は次のとおりです。

  1. フォント・エイリアシングがフォントの埋込みより優先される(最高の優先順位)

  2. フォント・サブセットがフォントの埋込みより優先される(中間の優先順位)

  3. フォントの埋込みは優先されない(最低の優先順位)

たとえば、フォントの埋込みとフォント・サブセットの両方に対して同じフォント・エントリを含めた場合は、フォント・サブセットが優先されます。これには、コマンドライン・オプションのPDFEMBED=NOを設定していないことが前提となります。

どのフォント機能でも(フォント・エイリアシング、フォント・サブセット、フォントの埋込み)、特殊なエントリを最初に指定してから、汎用エントリを指定します。たとえば、Arial Plain、Arial Bold、Arial Italic、Arial Bold-Italicの各フォントのサブセットを作成する場合、エントリを次の順序にします。

[ PDF:Subset ]
Arial..Italic.Bold.. = "Arialbi.ttf"
Arial...Bold.. = "Arialb.ttf"
Arial..Italic... = "Ariali.ttf"
Arial..... = "Arial.ttf"

プレーンなArial..... = "Arial.ttf"エントリが最初にあると、このレイアウトにあるArialフォントのすべてのスタイルがArial Plainフォントのサブセットとして作成されます。次に、uifont.aliファイルの一部を抜粋したサンプルを示します。どのPDFエントリにも、3つのPDFセクションがすべて含まれています。

サンプル1
[ PDF ]
Palatino = "Kino MT.ttf"
[ PDF:Subset ]
Garmond..Italic.Bold.. =
"Garmacbi.ttf"
Garmond...Bold.. = "Garmacb.ttf"
Garmond..Italic... = "Garmaci.ttf"
Garmond..... = "Garamac.ttf"
[ PDF:Embed ]
Arial = "Arial.pfm Arial.pfb"
サンプル2
[PDF]
Arial.10.Italic = "Times New Roman".12.Italic.Bold
"Courier New" = Symbol
[PDF:Embed]
"Times New Roman".14..Bold = "TimesBold.pfm TimesBold.pfb"
[PDF:Subset]
Verdana..Italic.Bold = "Verdanaz.ttf"
Verdana…Bold = "Verdanab.ttf"

6.1.4 アクセシビリティ

Oracle Reportsでは、様々な方法でPDFファイルにアクセシビリティ機能を含めることができます。PDFフォーマットのファイルは、PDF 1.4で定義されているタグ付きPDFの標準に従います。この標準とAcrobat Reader 5(またはそれ以降のバージョン)を使用することにより、ペーパー・レイアウトにアクセシビリティ機能を含めることができます。

Oracle Reportsが提供するアクセシビリティ関連の機能をコマンドラインから有効化する方法は、第A.3.1項「ACCESSIBLE」を参照してください。障害のあるユーザーがPDFレポート出力にアクセスできるようにする目的で設計されたOracle Reportsのアクセシビリティ・プロパティ(「代替テキスト」、「ヘッダ」、「ID」、「レポート言語」および「表キャプション」プロパティ)の使用方法は、Oracle Reportsのオンライン・ヘルプを参照してください。

さらに、『Oracle Reportsレポート作成ガイド』の第43章「アクセス可能なJSPベースのWebレポートの作成」およびOTNのOracleアクセシビリティ・サイト(http://www.oracle.com/accessibility/index.html)を参照してください。このサイトでは、アクセシビリティに関するさらなる説明と、ホワイト・ペーパー『Creating Accessible Enterprise Reports Using Oracle Reports』を参照できます。

6.1.5 分類

PDF文書には、その文書に関する全体的な情報(文書のタイトル、作成者、作成日時、変更日時など)を含めることができます。このような全体的な情報は、外部データベースで文書をカタログ化したり検索するときには、特に便利です。

Oracle Reportsでは、そのような分類を行うための次のプロパティが用意されています。

分類プロパティの詳細は、Oracle Reportsのオンライン・ヘルプを参照してください。

6.1.6 グラフのサポート

Oracle Reportsには、PDF出力内のグラフのイメージ解像度に適用するインチ当たりのドット数(DPI)値を指定する機能が備わっています。この機能によって、イメージの品質を損なうことなく、グラフを拡大縮小できます。

詳細は、第B.1.42項「REPORTS_GRAPH_IMAGE_DPI」および第B.1.44項「REPORTS_JPEG_QUALITY_FACTOR」を参照してください。

6.2 プラットフォーム間の配布時におけるPDFフォントの問題への対応

シングルバイトまたはマルチバイトのレポートをWindowsプラットフォーム上で設計し、これをUNIXプラットフォームに配布すると、フォントや文字位置に関して問題が発生します。原因は、2つのプラットフォームの間でフォント処理およびウィンドウ表示システムがまったく異なることにあります。

6.2.1 同じプラットフォームでのレポートの設計と配布

レポートの設計と配布を同一プラットフォーム上(たとえば、Windows)で行う場合、次のことが保証されます。

6.2.2 異なるプラットフォームでのレポートの設計と配布

レポートをWindowsプラットフォームで設計し、UNIXプラットフォームに配布する場合、次の操作を行います。

(Windows)WindowsマシンにあるTrueTypeフォントを使用します(通常の場所は、%windir%/fonts)。Oracle Reportsでは、レポートのフォーマット用のフォント情報について、Windowsシステムへの問合せが行われます。

(UNIX)このレポートがPDF形式でUNIXプラットフォームに送信されると、次の2つの処理が行われます。

  1. Oracle Reportsではフォントのフォント・メトリック情報が提供され、この情報を使用して、レポート内の各種オブジェクトをフォーマットします。


    注意

    Oracle Reportsでは、プリンタのPPDファイルで指定されているAFMファイルからフォント・メトリック情報が提供されます。 


  2. その後、Oracle Reportsでは、uifont.aliファイルの[PDF]セクションでエントリが検索されます。フォント・サブセットについては、[PDF:Subset]セクションを参照し、所定の場所にあるTrueTypeフォントのフォント・サブセットを作成します。サブセット・フォントは、PDFファイルに埋め込まれます。


    注意

    UNIXマシンでフォーマットが確実に行われるには、レポートで使用されているすべてのTrueTypeフォントに対応するAFMファイルが、UNIXマシンで使用可能である必要があります。 


6.2.2.1 シングルバイト・フォントを使用するPDFレポートの生成

この項では、WindowsまたはUNIXプラットフォーム上で設計したシングルバイト・フォントを使用するPDFレポートを生成する手順の概要について説明します。これらの手順は、PDF出力にフォント位置の問題が発生している場合にのみ必要です。この項で説明するフォント機能を使用する前に、表6-3を参照して、使用するアプリケーションのニーズに最適な機能を確認してください。

この例では、PDFフォント・サブセットを使用します。

  1. Windowsプラットフォームで、TrueTypeフォントのレポートを作成します。この手順例で参照されるフォントは、arial.ttftahoma.ttfです。

  2. フォント(arial.ttftahoma.ttf)およびレポートの.rdfファイルをUNIXプラットフォームにコピーします。フォント・ファイルのパスは、ORACLE_HOME/reports/font_folderにする必要があります。フォント・ファイルのパスを、REPORTS_PATH環境変数に追加します。

  3. ttf2pt1などのフリー・ユーティリティを使用して、フォント・ファイル(arial.ttfおよびtahoma.ttf)のAFMファイルを作成します。TFMファイルには変換しないでください。予測したとおりの結果にならない場合があります。

  4. 作成したAFMファイル(arial.afmおよびtahoma.afm)をORACLE_HOME/guicommon/tk/admin/AFMにコピーします。


    注意

    AFMファイルは、.afm拡張子を付けずにAFMディレクトリにコピーする必要があります。さらに、AFMファイルの名前、PPDファイル内のフォントの名前、およびuifont.aliファイル内のフォントの名前を必ず同じものにします。 


  5. 任意のテキスト・エディタを使用して、screenprinter.ppdファイルを編集します。


    注意

    ORACLE_HOME/guicommon/tk/admin/uiprint.txtにエントリを追加してデフォルトのプリンタを定義している場合は、プリンタのPPDファイル(PostScriptプリンタ)またはHPDファイル(PCLプリンタ)に適切なエントリが必要です。

    Oracle Reports 10gリリース1(9.0.4)から、デフォルトのプリンタを設定していない場合は、画面を擬似実行するデフォルトのプリンタ・サーフェス(screenprinter.ppd)がフォーマットで使用されるようになりました。デフォルトのプリンタを設定していない場合は、screenprinter.ppdファイルに必要なフォントや解像度のエントリも追加する必要があります。

    PPDファイルは次の場所にあります。

    ORACLE_HOME/guicommon/tk/admin/PPD

    HPDファイルは次の場所にあります。

    ORACLE_HOME/guicommon/tk/admin/HPD

    screenprinter.ppdファイルの詳細は、第3.10.1項「ScreenPrinter」を参照してください。 


    使用する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
    
    

    AFMファイル名が、PPDファイルに指定されているフォント名と一致していることを確認します。Oracle Reportsは、PPDファイルのフォント名に基づいてAFMファイルを検索します。

  6. uiprint.txtファイルに次のエントリを含めます。

    printer name:PostScript:2:test:default.ppd:
    
    

    次に例を示します。

    hrprinter:PostScript:2:test:default.ppd:
    
    
  7. PPDファイルにAFMエントリを追加します。


    注意

    このPPDファイルはuiprint.txtファイルの最初のエントリで、フォント情報を格納しているものです。デフォルトのPPDファイルはdatap462.ppdです。 


    *Font arial: Standard "(001.001)" Standard ROM
    *Font tahoma: Standard "(001.001)" Standard ROM
    
    
  8. この時点で、uifont.aliファイルの[PDF:Subset]セクションにエントリがないことを確認します。

  9. レポートを実行してPDFファイルを生成します。Acrobat Reader 6.0以降の場合は、「ファイル」→「文書のプロパティ」→「フォント」を選択します(それよりも前のリリースでAcrobat Reader 3.0以降の場合は、「ファイル」→「文書情報」→「フォント」を選択します)。

    1. 「オリジナルフォント」列にArialフォントとTahomaフォントが表示されます。

    2. フォントの位置が多少ずれてしまいます。

  10. uifont.aliファイルに次のエントリを追加します。

    [ PDF:Subset ]
    "arial" = "arial.ttf"
    "tahoma" = "tahoma.ttf"
    
    
  11. レポートを再度実行してPDFファイルを生成します。これで、フォントの位置のずれがすべて修正されたはずです。

    フォント・サブセットがPDFファイル内に作成されたことを次のように確認します。

    1. Acrobat Reader 6.0以降の場合は、「ファイル」→「文書のプロパティ」→「フォント」を選択します(それよりも前のリリースでAcrobat Reader 3.0以降の場合は、「ファイル」→「文書情報」→「フォント」を選択します)。

    2. 「オリジナルフォント」列にフォント名、「エンコーディング」列に「Identity-H」、「種類」列に「TrueType」がそれぞれ表示されているはずです。

6.2.2.2 マルチバイト・フォントおよびUnicodeフォントを使用するPDFレポートの生成

マルチバイト・フォントおよびUnicodeフォントのレポートを生成する場合の追加手順について説明します。この項で説明するフォント機能を使用する前に、表6-3を参照して、使用するアプリケーションのニーズに最適な機能を確認してください。

マルチバイトおよびUnicodeのレポートをUNIXプラットフォームに配布する場合の、PDFフォント・サブセット作成によるフォントの問題を解決する手順は、次のとおりです。

  1. TrueTypeマルチバイト・フォントと適切なキャラクタ・セットを使用して、Windowsプラットフォームでレポートを作成します。この手順例で参照されるフォントとキャラクタ・セットは、韓国語フォントh2mjsm.ttfKO16KSC5601キャラクタ・セットです。

  2. 韓国語フォント(h2mjsm.ttf)およびレポートの.rdfファイルをUNIXプラットフォームにコピーします。フォント・ファイルのパスは、$ORACLE_HOME/reports/font_folderにする必要があります。フォント・ファイルのパスを、REPORTS_PATH環境変数に追加します。

  3. 韓国語フォントh2mjsm.ttfのAFMファイルを作成します。

  4. 作成したAFMファイルを次のディレクトリにコピーします。

    $ORACLE_HOME/guicommon/tk/admin/AFM/.
    % cp h2mjsm.afm ORACLE_HOME/guicommon/tk/admin/AFM/h2mjsm
    
    
  5. 任意のテキスト・エディタを使用して、screenprinter.ppdファイルを編集します。


    注意

    ORACLE_HOME/guicommon/tk/admin/uiprint.txtにエントリを追加してデフォルトのプリンタを定義している場合は、プリンタのPPDファイル(PostScriptプリンタ)またはHPDファイル(PCLプリンタ)に適切なエントリが必要です。

    Oracle Reports 10gリリース1(9.0.4)から、デフォルトのプリンタを設定していない場合は、画面を擬似実行するデフォルトのプリンタ・サーフェス(screenprinter.ppd)がフォーマットで使用されるようになりました。デフォルトのプリンタを設定していない場合は、screenprinter.ppdファイルに必要なフォントや解像度のエントリも追加する必要があります。

    PPDファイルは次の場所にあります。

    ORACLE_HOME/guicommon/tk/admin/PPD

    HPDファイルは次の場所にあります。

    ORACLE_HOME/guicommon/tk/admin/HPD

    screenprinter.ppdファイルの詳細は、第3.10.1項「ScreenPrinter」を参照してください。 


    使用する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
    
    

    AFMファイル名が、PPDファイルに指定されているフォント名と一致していることを確認します。Oracle Reportsは、PPDファイルのフォント名に基づいてAFMファイルを検索します。

  6. uiprint.txtファイルに次のエントリを含めます。

    printer name:PostScript:2:test:default.ppd:
    
    

    次に例を示します。

    hrprinter:PostScript:2:test:default.ppd:
    
    
  7. PPDファイルに次の行を追加します。


    注意

    このPPDファイルはuiprint.txtファイルの最初のエントリで、フォント情報を格納しているものです。デフォルトのPPDファイルはdatap462.ppdです。 


    *DefaultFont: h2mjsm
    *Font h2mjsm: Special "(001.001)" Special ROM
    
    
  8. ファイル内のSymbol行をコメント化します。

    *%Font Symbol: Special "(001.001)" Special ROM
    
    
  9. uifont.aliファイルの次のセクションを編集して、キャラクタ・セットに使用するフォントを指定します。


    注意

    uifont.aliファイルは、次のディレクトリに格納されています。

    • ORACLE_HOME¥tools¥common(Windowsの場合)

    • ORACLE_HOME/guicommon/tk/admin(UNIXの場合)

    uifont.aliファイルは、Oracle ReportsのPDFフォントに関する拡張機能すべてを制御する構成ファイルです。詳細は、第4章「Oracle Reportsでのフォントの管理」を参照してください。 


    [ Global ]
    .....ko16ksc5601 ="h2mjsm"
    [ Printer:PostScript2 ]
    .....ko16ksc5601 ="h2mjsm"
    
    
  10. この時点で、uifont.aliファイルの[PDF]セクションまたは[PDF:Subset]セクションにエントリがないことを確認します。

  11. レポートを実行してPDFファイルを生成します。Acrobat Reader 6.0以降の場合は、「ファイル」→「文書のプロパティ」→「フォント」を選択します(それよりも前のリリースでAcrobat Reader 3.0以降の場合は、「ファイル」→「文書情報」→「フォント」を選択します)。

    1. 「オリジナルフォント」列にh2mjsmフォントが表示されます。

    2. フォントの位置が多少ずれてしまいます。

  12. uifont.aliファイルに次のエントリを追加して、PDFのサブセットを有効にします。

    [ PDF:Subset ]
    "h2mjsm"="h2mjsm.ttf"
    
    
  13. レポートを再度実行してPDFファイルを生成します。これで、フォントの位置のずれがすべて修正されたはずです。

    フォント・サブセットがPDFファイル内に作成されたことを次のように確認します。

    1. Acrobat Reader 6.0以降の場合は、「ファイル」→「文書のプロパティ」→「フォント」を選択します(それよりも前のリリースでAcrobat Reader 3.0以降の場合は、「ファイル」→「文書情報」→「フォント」を選択します)。

    2. 「オリジナルフォント」列にフォント名、「エンコーディング」列に「Identity-H」、「種類」列に「TrueType」がそれぞれ表示されているはずです。


      注意

      UNIXとWindowsではフォント・メトリックの処理方法が異なるため、位置がずれてしまう可能性があります。これにかわる方法は、フォント・ベンダーから適切なAFMファイルを購入することです。サード・パーティ・ユーティリティによって生成されたAFMファイルは、設計プラットフォームで使用されたフォントと完全に一致するフォント・メトリックを持たない場合があります。

      フォント・サブセットを有効にして生成したPDFファイルでは、一般的にフォント・スタイルの問題は発生しません。ただし、REPORTS_ENHANCED_SUBSET=NOが設定されている場合は、Acrobat Readerで表示する際になんらかのフォント・スタイルの問題が発生する可能性があります(たとえば、一部の内容が太字で表示されるなど)。Type3フォントの表示をスムージングする方法の詳細は、第6.1.2.2.2項「下位互換性」を参照してください。 


6.3 Unicode PDFファイルの生成

この項では、Unicodeキャラクタ・セットを使用してPDFファイルを生成する手順について説明します。この項で説明するフォント機能を使用する前に、表6-3を参照して、使用するアプリケーションのニーズに最適な機能を確認してください。

6.3.1 フォント・サブセット

フォント・サブセット機能を使用してUnicode PDFファイルを生成する手順は、次のとおりです。

  1. NLS_LANG=AMERICAN_AMERICA.UTF8のようにUTF8キャラクタ・セットを設定します。

  2. REPORTS_PATHを、TrueTypeフォントが格納されているフォント・ディレクトリに設定します。たとえば、C:¥WINNT¥fontsなどです。

  3. uifont.aliファイルを開いてから[PDF:Subset]セクションを編集し、TrueTypeフォントの名前を指定します。


    注意

    uifont.aliファイルは、次のディレクトリに格納されています。

    • ORACLE_HOME¥tools¥common(Windowsの場合)

    • ORACLE_HOME/guicommon/tk/admin(UNIXの場合)

     

    [ PDF:Subset ]
    "Andale Duospace WT J" = "Aduoj.ttf"
    "Albany WT J"="AlbanWTJ.ttf"
    
    

    指定されたフォントは、レポートで使用するUnicode文字の範囲をカバーする必要があります。

  4. 多言語データを含むレポートを作成し、そのフォントをUnicodeフォントに設定します。

  5. 多言語データを含むレポートをDESTYPE=FILE DESFORMAT=PDFで実行します。

6.4 双方向(BiDi)PDFファイルの生成

この項では、双方向(BiDi)言語のPDFファイルを生成する手順について説明します。この項で説明するフォント機能を使用する前に、表6-3を参照して、使用するアプリケーションのニーズに最適な機能を確認してください。

Oracle Reportsでは、ヘブライ語やアラビア語などの双方向(BiDi)言語でのフォントの整形オプションや数値オプションを決定する次の2つの環境変数を備えています。

  1. REPORTS_BIDI_ALGORITHM

    この環境変数は、双方向(BiDi)言語(アラビア語やヘブライ語など)のレイアウト・アルゴリズムを切り替えます。この環境変数の有効値は、ORACLEまたはUNICODEです。

    関連項目

    第B.1.28項「REPORTS_BIDI_ALGORITHM」 

  2. REPORTS_ARABIC_NUMERAL

    この環境変数は、アラビア語のPDF出力での数値の書式を指定します。

    関連項目

    第B.1.27項「REPORTS_ARABIC_NUMERAL」 

6.4.1 フォント・サブセット

この項の例では、アラビア語環境を使用していることを前提とします。フォント・サブセット機能を使用して双方向(BiDi)言語のPDFファイルを生成する手順は、次のとおりです。

  1. NLS_LANG=ARABIC_EGYPT.AR8MSWIN1256(UNIXではAR8ISO8859P6)のようにBiDiキャラクタ・セットを設定します。

  2. REPORTS_PATHを、TrueTypeフォントが格納されているフォント・ディレクトリに設定します。たとえば、C:¥WINNT¥fontsなどです。

  3. uifont.aliファイルを開いてから[PDF:Subset]セクションを編集し、TrueTypeフォントの名前を指定します。


    注意

    uifont.aliファイルは、次のディレクトリに格納されています。

    • ORACLE_HOME¥tools¥common(Windowsの場合)

    • ORACLE_HOME/guicommon/tk/admin(UNIXの場合)

     

    [PDF:Subset]
    "Andale Duospace WT J" = "Aduoj.ttf"
    "Albany WT J"="AlbanWTJ.ttf"
    
    
  4. アラビア語のデータを含むレポートを作成し、それを例で指定したフォントに設定します。

  5. DESTYPE=FILE DESFORMAT=PDFを指定してレポートを実行します。

6.5 マルチバイトPDFファイルの生成

この項では、マルチバイト・フォントを含むPDFファイルを生成する手順について説明します。この項で説明するフォント機能を使用する前に、表6-3を参照して、使用するアプリケーションのニーズに最適な機能を確認してください。

PDFのフォント・サブセット出力では、全幅チルド(U+FF5E)のかわりに波ダッシュ(U+301C)が表示される場合があります。これは、Microsoft社と他のベンダー間で文字マッピングに互換性がないことによります。この問題を回避するには、PDFのフォント・サブセットにJA16SJISTILDEまたはJA16EUCTILDEキャラクタ・セットを使用します。ただし、この問題はPDFフォント・エイリアシング機能には見られません。

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

マルチバイト・フォントのPDFフォント・エイリアシングに使用するOracle NLS_CHARACTERSET、CMap名およびCIDフォント名間のマッピングは、表6-1を参照してください。

フォント・エイリアシングを使用してマルチバイト・フォントのPDFファイルを生成する手順は、次のとおりです。

  1. NLS_LANG=JAPANESE_JAPAN.JA16SJIS(UNIXではJA16EUC)を設定します。

  2. uifont.aliファイルを開き、[PDF]セクションでフォント・エイリアスを設定します。


    注意

    uifont.aliファイルは、次のディレクトリに格納されています。

    • ORACLE_HOME¥tools¥common(Windowsの場合)

    • ORACLE_HOME/guicommon/tk/admin(UNIXの場合)

     

    [ PDF ]
    .....JA16SJIS = "KozMinPro-Regular-Acro"
    "MS UI Gothic".....JA16SJIS = "KozMinPro-Regular-Acro"
    
    
  3. 日本語フォント(MS UI Gothic)を指定した日本語データのレポートを作成します。

  4. DESTYPE=FILE DESFORMAT=PDFを指定してレポートを実行します。

  5. 使用しているAcrobat Readerが、日本語以外のオペレーティング・システムにインストールされた他言語バージョンである場合、日本語のフォント・パックをAdobeのサイトから入手してインストールする必要があります。

    Windows(日本語版)で日本語バージョンのAcrobat Reader 4.0または5.0を使用してPDFファイルを表示する場合は、日本語のフォント・パックは不要です。

6.5.2 フォント・サブセット

フォント・サブセット機能を使用してマルチバイト・フォントのPDFファイルを生成する手順は、次のとおりです。

  1. NLS_LANG=JAPANESE_JAPAN.JA16SJIS(UNIXではJA16EUC)を設定します。

  2. REPORTS_PATH環境を、TrueTypeフォントが格納されているフォント・ディレクトリに設定します。たとえば、C:¥WINNT¥Fonts

  3. uifont.aliファイルを開いてから[PDF:Subset]セクションを編集し、TrueTypeフォントの名前を指定します。


    注意

    uifont.aliファイルは、次のディレクトリに格納されています。

    • ORACLE_HOME¥tools¥common(Windowsの場合)

    • ORACLE_HOME/guicommon/tk/admin(UNIXの場合)

     

    [ PDF:Subset ]
    "Andale Duospace WT J" = "Aduoj.ttf"
    "Albany WT J"="AlbanWTJ.ttf"
    "MS UI Gothic" = "msgothic.ttc"
    
    
  4. 日本語のデータを含むレポートを作成し、それを例で指定したフォントに設定します。

  5. DESTYPE=FILE DESFORMAT=PDFを指定してレポートを実行します。

6.6 バーコードPDFファイルの生成

この項では、バーコード情報を含むPDFファイルを生成する手順について説明します。この項で説明するフォント機能を使用する前に、表6-3を参照して、使用するアプリケーションのニーズに最適な機能を確認してください。

6.6.1 フォントの埋込み

フォントの埋込みの機能を使用してバーコードPDFファイルを生成する手順は、次のとおりです。

  1. REPORTS_PATH環境変数を、Type1フォントが格納されているフォント・ディレクトリに設定します。

  2. uifont.aliファイルを開き、フォントの埋込み[PDF:Embed]セクションで、次のように指定します。


    注意

    uifont.aliファイルは、次のディレクトリに格納されています。

    • ORACLE_HOME¥tools¥common(Windowsの場合)

    • ORACLE_HOME/guicommon/tk/admin(UNIXの場合)

     

    [ PDF:Embed ]
    SAdHC39a = "SAdHC39a.pfm SAdHC39a.pfb"
    
    
  3. バーコードのデータを含むレポートを作成し、そのフォントを例で指定したフォントに設定します。

  4. DESTYPE=FILE DESFORMAT=PDFを指定してレポートを実行します。

6.6.2 フォント・サブセット

フォント・サブセット機能を使用してバーコードPDFファイルを生成する手順は、次のとおりです。

  1. REPORTS_PATH環境変数を、TrueTypeフォントが格納されているディレクトリに設定します。たとえば、C:¥WINNT¥Fonts

  2. uifont.aliファイルを開いてから[PDF:Subset]セクションを編集し、TrueTypeフォントの名前を指定します。


    注意

    uifont.aliファイルは、次のディレクトリに格納されています。

    • ORACLE_HOME¥tools¥common(Windowsの場合)

    • ORACLE_HOME/guicommon/tk/admin(UNIXの場合)

     

    [ PDF:Subset ]
    SAdHC39a = "SAdHC39a.ttf"
    
    
  3. バーコードのデータを含むレポートを作成し、それを例で指定したフォントに設定します。

  4. DESTYPE=FILE DESFORMAT=PDFを指定してレポートを実行します。


戻る 次へ
Oracle
Copyright © 2003, 2005 Oracle.

All Rights Reserved.
目次
目次
索引
索引