Oracle Application Server Reports Services レポートWeb公開ガイド 10gリリース2(10.1.2) B25067-01 |
|
Adobe Portable Document Format(PDF)は、文書の作成に使用したアプリケーションやプラットフォームの種類に関係なく、あらゆるソース文書のフォント、書式、グラフィックス、カラーをすべて保持する汎用ファイル形式です。Oracle Reportsは、いち早くこのテクノロジを採用し、高品質のPDF文書を生成してきたレポート生成ツールの1つです。
この章の主な項は、次のとおりです。
この項では、Oracle Reportsでサポートする各種のPDF機能について説明します。これには、圧縮、フォント・エイリアシング、フォント・サブセット、フォントの埋込み、アクセシビリティ、分類などが含まれます。
この項では、Windowsプラットフォームでレポートを設計し、それをUNIXプラットフォームへ配布するときに発生する、PDFのフォントの問題の解決方法について説明します。
この項では、Unicodeキャラクタ・セットを使用してPDFファイルを生成する方法について説明します。
この項では、ヘブライ語やアラビア語などの双方向(Bidirectional: BiDi)言語を使用してPDFファイルを生成する方法について説明します。
この項では、マルチバイト・フォントを使用してPDFファイルを生成する方法について説明します。
この項では、バーコードを含むPDFファイルを生成する方法について説明します。
Oracle Reportsは、PDF1.4をサポートし、あらゆるプラットフォームで高品位のPDFレポートを生成できます。Oracle ReportsでサポートするPDF機能は、次のとおりです。
PDF圧縮は、PDFファイルのサイズを減らすことによって、PDFファイルのダウンロードに要する時間を短縮します。
圧縮によって節約できる容量は、レポートの内容(たとえば、イメージの数とサイズ)によって変わります。
圧縮されたファイルのサイズは、元のファイルの約5分の1になります。圧縮テストでは、生成されたファイルが元のファイルの2分の1から8分の1のサイズになり、ファイルの内容よってばらつきがあることがわかりました。
デフォルトでは、Oracle Reportsによって生成されるPDF出力は圧縮されています。圧縮のレベルを指定するには、コマンドラインでPDFCOMP
を使用します。詳細は、第A.3.83項「PDFCOMP」を参照してください。
圧縮ファイルはダウンロードが短時間で済みますが、圧縮ファイルの生成にかかる時間は、非圧縮ファイルの場合よりかなり長くなります。
この項では、Oracle ReportsでサポートされるPDFフォント関連の機能について説明します。
フォント・エイリアシングを使用すると、あるフォントを別のフォントに置き換えること(フォント置換)が可能です。このフォント置換は通常、プラットフォーム間でアプリケーション(ここではPDFファイル)を移植する場合に使用されます。その際には、キャラクタ・セットだけでなく、マルチバイト・フォントもエイリアシングできます。マルチバイト・アプリケーションの設計時におけるフォント・エイリアシングの考慮事項については、第18.2.1.2.2項「フォント・エイリアシングの考慮事項」を参照してください。
フォント・エイリアシングは、PDFファイルを生成する時点で行われます。PDFファイルには、出力の表示に必要なフォント情報だけが含まれます。使用されるフォントは、PDFファイルに埋め込まれません。
レポートを表示する時点では、Adobe Acrobatは、次の規則に基づいて、エイリアシングされたフォントを置き換えます。
Adobe
Sans
MM
フォントに置き換えます。
Adobe
Sans
MM
フォントが適合しない場合、出力には、データのかわりにドットが表示されます。
フォント・エイリアシングは、次のいずれか、またはすべてのフォントに対して機能します。
表6-1は、マルチバイト・フォントのPDFフォント・エイリアシングに使用するOracle NLS_CHARACTERSET
、CMap名、およびCIDフォント名間のマッピング表を示しています。
(*)これらのフォントはAdobe Acrobat Reader 5.0以降で利用できます。
(**)これらのフォントはAdobe Acrobat Reader 4.0以降で利用できます。
予期しないフォント・マッピングにより、マルチバイト・キャラクタが文字化けしないようにするため、Version 5.0 CID Fonts(*)の使用をお薦めします。Version 5.0フォントは、Adobe Acrobat Reader 5.0以降と互換性があります。
フォント・エイリアシングには、コマンドライン・キーワードはありません。
フォント・エイリアシングのエントリは、uifont.ali
ファイルに格納します。Oracle Reportsでは、uifont.ali
ファイルのエントリが、生成されたPDFファイルに含まれるフォント情報と一致する場合にのみ、フォント・エイリアシングを行います。
注意
|
uifont.ali
ファイル内の、フォント・エイリアシングのセクションは、[PDF]
です。
uifont.ali
ファイルのエントリは次のとおりです。
[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)のキャラクタ・セットに置き換えます。
フォント・エイリアシングが機能しない場合は、次のことを確認します。
uifont.ali
ファイルのエントリが正しくありません。
uifont.ali
ファイルの[PDF]
セクション名が変更されていないこと。Oracle Reportsでは、このセクション名を探してファイルを解析します。
フォント・サブセットを使用すると、PDFのレンダリングに必要なフォント情報がPDFファイルに含まれます。フォント・サブセットは、レポートの表示に使用されるマシンでそのフォントを使用できるかどうかに依存しません。PDFのフォント・サブセットは、シングルバイト・フォント、マルチバイト・フォントおよびUnicodeフォントで使用可能で、マルチバイト・レポートの作成では、最もよく使用される方式です。
PDFファイル内のフォントのサブセットを作成すると、そのフォントは、レポート出力に必要な文字だけを含むので、カスタム・フォントになります。
Oracle Reports 10gリリース2(10.1.2)でのPDFフォント・サブセットの拡張機能によって、されに読みやすいPDFドキュメントを生成できるようになりました。
フォント・サブセットを使用する前に、次の作業が必要です。
REPORTS_PATH
環境変数に追加します。Oracle Reportsでは、PDFファイルの生成時に、REPORTS_PATH
環境変数で指定されたパスでフォントを探します。
uifont.ali
ファイルに格納します。Oracle Reportsでは、uifont.ali
ファイルにリストされているフォント・エントリが、生成中のPDFファイルに存在する場合にのみ、フォント・サブセットを作成します。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
環境変数に追加します。
[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ファイル内の最初のフォント・プログラムのサブセットが使用されます。
[PDF:Subset] "MS PGothic" = "msgothic.ttc,1" "MS UI Gothic" = "msgothic.ttc,2"
表6-2に、Windowsプラットフォームにおける東アジア言語用の一般的なTrueType Collectionファイルと、それに含まれるフォント名およびそのテーブル・ディレクトリ番号値を示します。
TTCファイル名 | フォント名 | テーブル・ディレクトリ番号 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
レポートに使用されているフォントは、次の方法で表示できます。
Oracle Reports 10gリリース2(10.1.2)よりも前のリリースで使用されているフォント・サブセット(つまり、Type3フォント)の実装に戻すには、環境変数REPORTS_ENHANCED_SUBSET
=NO
を設定します。
REPORTS_ENHANCED_SUBSET
=NO
を設定する場合は、最適な表示を確実にします。それには、Adobe Acrobat Readerを使用して、次の手順を実行します。
UNIXマシンにおけるレポートの実行の詳細は、第6.2.2項「異なるプラットフォームでのレポートの設計と配布」を参照してください。
フォント・サブセットが機能しない場合は、次のことを確認します。
arialbd.ttf
(太字のArial)、ariali.ttf
(イタリックのArial)およびarialbi.ttf
(太字のイタリックのArial)がありますが、Arial Unicode MS(arialuni.ttf
)などの一部のフォントには、太字またはイタリックのバージョンがありません。フォントに太字またはイタリックのバージョンがない場合、Windowsでは、Windows上のOracle Reportsと同様に、レポートの表示時にメインのフォント・ファイルから太字またはイタリック・スタイルが合成されます。これらのスタイルは、HTML/HTMLCSS、RTFおよびPDF(PDFサブセットまたは埋込みのない)出力で保持されます。ただし、実際にはフォント絵文字がレポートに含まれるため、PDFサブセットまたは埋込みの実行時に、Oracle Reportsはスタイルを含むTTFファイルを必要とします。つまり、レポートにArialの太字スタイルを含めるには、arialbd.ttf
が必要となります。ただし、こうしたTTFファイルを持たないArial Unicode MSなどのフォントでは、PDFのサブセット出力に太字またはイタリック・スタイルが表示されません。
uifont.ali
ファイルのエントリが正しくないことが考えられます。
filename
.ttf/
filename
.ttc
であること。
REPORTS_PATH
環境変数で指定されているパスにあること。Oracle Reportsでは、PDFファイルの生成時に、REPORTS_PATH
環境変数で指定されたパスでフォントを探します。
uifont.ali
ファイルの[PDF:Subset]
セクション名が変更されていないこと。Oracle Reportsでは、このセクション名を探してファイルを解析します。
REPORTS_ENHANCED_SUBSET
環境変数の値がYES
に設定されていること。REPORTS_ENHANCED_SUBSET
=NO
の場合は、PDFドキュメントの作成にType3フォントを使用する、以前のフォント・サブセット実装に戻されます。Type3フォントはType1フォントよりもやや太い、イメージ化された文字です。表示品質を向上させる方法の詳細は、第6.1.2.2.2項「下位互換性」を参照してください。
PDFのフォントの埋込みは、データとともにフォント・セット全体をPDFファイルに含める処理です。PDFのフォント・サブセットとフォントの埋込みは、相互排他的です
Oracle ReportsでのPDFフォントの埋込みは、Type1フォント(シングルバイト・フォント)のみが対象であり、TrueTypeフォントは対象外です。特定のType1フォントをレポートに含めるには、市販のサードパーティ製ツールを使用して、TrueTypeフォントをType1フォントに変換します。
Oracle ReportsでのPDFフォントの埋込みは、フォントとフォント・ファイル名のセットとの間で行われます。
PDFの埋込みの設定には、次のものが含まれます。
PDFEMBED
[PDF:Embed]
コマンドライン・キーワードPDFEMBED
は、Oracle Reportsが、uifont.ali
ファイルで指定されたType 1 PostScriptフォントをPDF出力に埋め込むかどうかを指定します。詳細は、第A.3.84項「PDFEMBED」を参照してください。
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ファイルに埋め込まれています。移植性を確保する手順は次のとおりです。
PDFフォントの埋込みが機能しない場合は、次のことを確認します。
uifont.ali
ファイルのエントリが正しくないことが考えられます。
REPORTS_PATH
環境変数で指定されているフォント・パスが正しいこと。Oracle Reportsでは、PDFファイルの生成時に、REPORTS_PATH
環境変数で指定されたパスでフォントを探します。
uifont.ali
ファイルの[PDF:Embed]
セクション名が変更されていないこと。Oracle Reportsでは、このセクション名を探してファイルを解析します。
font_name="fontfilename.pfm/.afm file fontfilename.pfb/.pfa file".
例(Windowsの場合):
UtopiaMediumItalic = "UtopiaMediumItalic.pfm UtopiaMediumItalic.pfb"
表6-3に、フォント・エイリアシング、フォントの埋込みおよびフォント・サブセットの長所と短所をまとめます。
uifont.ali
ファイル内の複数の箇所に同じフォントが出現する場合、優先順位は次のとおりです。
たとえば、フォントの埋込みとフォント・サブセットの両方に対して同じフォント・エントリを含めた場合は、フォント・サブセットが優先されます。これには、コマンドライン・オプションの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セクションがすべて含まれています。
[ 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"
[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"
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』を参照できます。
PDF文書には、その文書に関する全体的な情報(文書のタイトル、作成者、作成日時、変更日時など)を含めることができます。このような全体的な情報は、外部データベースで文書をカタログ化したり検索するときには、特に便利です。
Oracle Reportsでは、そのような分類を行うための次のプロパティが用意されています。
プロパティ名 | タイプ | 説明 | デフォルト値 |
---|---|---|---|
タイトル |
STRING |
文書のタイトル |
PDF文書名 |
作成者 |
STRING |
文書の作成者 |
Oracle Reports |
件名 |
STRING |
文書の件名 |
なし |
キーワード |
STRING |
文書を分類するためのキーワードを指定 |
なし |
分類プロパティの詳細は、Oracle Reportsのオンライン・ヘルプを参照してください。
Oracle Reportsには、PDF出力内のグラフのイメージ解像度に適用するインチ当たりのドット数(DPI)値を指定する機能が備わっています。この機能によって、イメージの品質を損なうことなく、グラフを拡大縮小できます。
詳細は、第B.1.42項「REPORTS_GRAPH_IMAGE_DPI」および第B.1.44項「REPORTS_JPEG_QUALITY_FACTOR」を参照してください。
シングルバイトまたはマルチバイトのレポートをWindowsプラットフォーム上で設計し、これをUNIXプラットフォームに配布すると、フォントや文字位置に関して問題が発生します。原因は、2つのプラットフォームの間でフォント処理およびウィンドウ表示システムがまったく異なることにあります。
レポートの設計と配布を同一プラットフォーム上(たとえば、Windows)で行う場合、次のことが保証されます。
レポートをWindowsプラットフォームで設計し、UNIXプラットフォームに配布する場合、次の操作を行います。
(Windows)WindowsマシンにあるTrueTypeフォントを使用します(通常の場所は、%windir%/fonts
)。Oracle Reportsでは、レポートのフォーマット用のフォント情報について、Windowsシステムへの問合せが行われます。
(UNIX)このレポートがPDF形式でUNIXプラットフォームに送信されると、次の2つの処理が行われます。
uifont.ali
ファイルの[PDF]
セクションでエントリが検索されます。フォント・サブセットについては、[PDF:Subset]
セクションを参照し、所定の場所にあるTrueTypeフォントのフォント・サブセットを作成します。サブセット・フォントは、PDFファイルに埋め込まれます。この項では、WindowsまたはUNIXプラットフォーム上で設計したシングルバイト・フォントを使用するPDFレポートを生成する手順の概要について説明します。これらの手順は、PDF出力にフォント位置の問題が発生している場合にのみ必要です。この項で説明するフォント機能を使用する前に、表6-3を参照して、使用するアプリケーションのニーズに最適な機能を確認してください。
この例では、PDFフォント・サブセットを使用します。
arial.ttf
とtahoma.ttf
です。
arial.ttf
とtahoma.ttf
)およびレポートの.rdf
ファイルをUNIXプラットフォームにコピーします。フォント・ファイルのパスは、ORACLE_HOME
/reports/
font_folder
にする必要があります。フォント・ファイルのパスを、REPORTS_PATH
環境変数に追加します。
ttf2pt1
などのフリー・ユーティリティを使用して、フォント・ファイル(arial.ttf
およびtahoma.ttf
)のAFMファイルを作成します。TFMファイルには変換しないでください。予測したとおりの結果にならない場合があります。
arial.afm
およびtahoma.afm
)をORACLE_HOME
/guicommon/tk/admin/AFM
にコピーします。screenprinter.ppd
ファイルを編集します。
Oracle Reports 10gリリース1(9.0.4)から、デフォルトのプリンタを設定していない場合は、画面を擬似実行するデフォルトのプリンタ・サーフェス(
PPDファイルは次の場所にあります。
HPDファイルは次の場所にあります。
注意
ORACLE_HOME
/guicommon/tk/admin/uiprint.txt
にエントリを追加してデフォルトのプリンタを定義している場合は、プリンタのPPDファイル(PostScriptプリンタ)またはHPDファイル(PCLプリンタ)に適切なエントリが必要です。
screenprinter.ppd
)がフォーマットで使用されるようになりました。デフォルトのプリンタを設定していない場合は、screenprinter.ppd
ファイルに必要なフォントや解像度のエントリも追加する必要があります。
ORACLE_HOME/guicommon/tk/admin/PPD
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ファイルを検索します。
uiprint.txt
ファイルに次のエントリを含めます。
printer name:PostScript:2:test:default.ppd:
次に例を示します。
hrprinter:PostScript:2:test:default.ppd:
*Font arial: Standard "(001.001)" Standard ROM *Font tahoma: Standard "(001.001)" Standard ROM
uifont.ali
ファイルの[PDF:Subset
]セクションにエントリがないことを確認します。
uifont.ali
ファイルに次のエントリを追加します。
[ PDF:Subset ] "arial" = "arial.ttf" "tahoma" = "tahoma.ttf"
フォント・サブセットがPDFファイル内に作成されたことを次のように確認します。
マルチバイト・フォントおよびUnicodeフォントのレポートを生成する場合の追加手順について説明します。この項で説明するフォント機能を使用する前に、表6-3を参照して、使用するアプリケーションのニーズに最適な機能を確認してください。
マルチバイトおよびUnicodeのレポートをUNIXプラットフォームに配布する場合の、PDFフォント・サブセット作成によるフォントの問題を解決する手順は、次のとおりです。
h2mjsm.ttf
とKO16KSC5601
キャラクタ・セットです。
h2mjsm.ttf
)およびレポートの.rdf
ファイルをUNIXプラットフォームにコピーします。フォント・ファイルのパスは、$ORACLE_HOME/reports/
font_folder
にする必要があります。フォント・ファイルのパスを、REPORTS_PATH
環境変数に追加します。
h2mjsm.ttf
のAFMファイルを作成します。
$ORACLE_HOME/guicommon/tk/admin/AFM/. % cp h2mjsm.afm ORACLE_HOME/guicommon/tk/admin/AFM/h2mjsm
screenprinter.ppd
ファイルを編集します。
Oracle Reports 10gリリース1(9.0.4)から、デフォルトのプリンタを設定していない場合は、画面を擬似実行するデフォルトのプリンタ・サーフェス(
PPDファイルは次の場所にあります。
HPDファイルは次の場所にあります。
注意
ORACLE_HOME
/guicommon/tk/admin/uiprint.txt
にエントリを追加してデフォルトのプリンタを定義している場合は、プリンタのPPDファイル(PostScriptプリンタ)またはHPDファイル(PCLプリンタ)に適切なエントリが必要です。
screenprinter.ppd
)がフォーマットで使用されるようになりました。デフォルトのプリンタを設定していない場合は、screenprinter.ppd
ファイルに必要なフォントや解像度のエントリも追加する必要があります。
ORACLE_HOME/guicommon/tk/admin/PPD
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ファイルを検索します。
uiprint.txt
ファイルに次のエントリを含めます。
printer name:PostScript:2:test:default.ppd:
次に例を示します。
hrprinter:PostScript:2:test:default.ppd:
*DefaultFont: h2mjsm *Font h2mjsm: Special "(001.001)" Special ROM
*%Font Symbol: Special "(001.001)" Special ROM
uifont.ali
ファイルの次のセクションを編集して、キャラクタ・セットに使用するフォントを指定します。
注意
uifont.ali
ファイルは、次のディレクトリに格納されています。
uifont.ali
ファイルは、Oracle ReportsのPDFフォントに関する拡張機能すべてを制御する構成ファイルです。詳細は、第4章「Oracle Reportsでのフォントの管理」を参照してください。
[ Global ] .....ko16ksc5601 ="h2mjsm" [ Printer:PostScript2 ] .....ko16ksc5601 ="h2mjsm"
uifont.ali
ファイルの[PDF]
セクションまたは[PDF:Subset]
セクションにエントリがないことを確認します。
uifont.ali
ファイルに次のエントリを追加して、PDFのサブセットを有効にします。
[ PDF:Subset ] "h2mjsm"="h2mjsm.ttf"
フォント・サブセットがPDFファイル内に作成されたことを次のように確認します。
UNIXとWindowsではフォント・メトリックの処理方法が異なるため、位置がずれてしまう可能性があります。これにかわる方法は、フォント・ベンダーから適切なAFMファイルを購入することです。サード・パーティ・ユーティリティによって生成されたAFMファイルは、設計プラットフォームで使用されたフォントと完全に一致するフォント・メトリックを持たない場合があります。
フォント・サブセットを有効にして生成したPDFファイルでは、一般的にフォント・スタイルの問題は発生しません。ただし、
注意
REPORTS_ENHANCED_SUBSET=NO
が設定されている場合は、Acrobat Readerで表示する際になんらかのフォント・スタイルの問題が発生する可能性があります(たとえば、一部の内容が太字で表示されるなど)。Type3フォントの表示をスムージングする方法の詳細は、第6.1.2.2.2項「下位互換性」を参照してください。
この項では、Unicodeキャラクタ・セットを使用してPDFファイルを生成する手順について説明します。この項で説明するフォント機能を使用する前に、表6-3を参照して、使用するアプリケーションのニーズに最適な機能を確認してください。
フォント・サブセット機能を使用してUnicode PDFファイルを生成する手順は、次のとおりです。
NLS_LANG=AMERICAN_AMERICA.UTF8
のようにUTF8キャラクタ・セットを設定します。
REPORTS_PATH
を、TrueTypeフォントが格納されているフォント・ディレクトリに設定します。たとえば、C:¥WINNT¥fonts
などです。
uifont.ali
ファイルを開いてから[PDF:Subset]
セクションを編集し、TrueTypeフォントの名前を指定します。例
[ PDF:Subset ] "Andale Duospace WT J" = "Aduoj.ttf" "Albany WT J"="AlbanWTJ.ttf"
指定されたフォントは、レポートで使用するUnicode文字の範囲をカバーする必要があります。
DESTYPE=FILE DESFORMAT=PDF
で実行します。
この項では、双方向(BiDi)言語のPDFファイルを生成する手順について説明します。この項で説明するフォント機能を使用する前に、表6-3を参照して、使用するアプリケーションのニーズに最適な機能を確認してください。
Oracle Reportsでは、ヘブライ語やアラビア語などの双方向(BiDi)言語でのフォントの整形オプションや数値オプションを決定する次の2つの環境変数を備えています。
この環境変数は、双方向(BiDi)言語(アラビア語やヘブライ語など)のレイアウト・アルゴリズムを切り替えます。この環境変数の有効値は、ORACLE
またはUNICODE
です。
この環境変数は、アラビア語のPDF出力での数値の書式を指定します。
この項の例では、アラビア語環境を使用していることを前提とします。フォント・サブセット機能を使用して双方向(BiDi)言語のPDFファイルを生成する手順は、次のとおりです。
NLS_LANG=ARABIC_EGYPT.AR8MSWIN1256
(UNIXではAR8ISO8859P6
)のようにBiDiキャラクタ・セットを設定します。
REPORTS_PATH
を、TrueTypeフォントが格納されているフォント・ディレクトリに設定します。たとえば、C:¥WINNT¥fonts
などです。
uifont.ali
ファイルを開いてから[PDF:Subset]
セクションを編集し、TrueTypeフォントの名前を指定します。例
[PDF:Subset] "Andale Duospace WT J" = "Aduoj.ttf" "Albany WT J"="AlbanWTJ.ttf"
DESTYPE=FILE DESFORMAT=PDF
を指定してレポートを実行します。
この項では、マルチバイト・フォントを含むPDFファイルを生成する手順について説明します。この項で説明するフォント機能を使用する前に、表6-3を参照して、使用するアプリケーションのニーズに最適な機能を確認してください。
PDFのフォント・サブセット出力では、全幅チルド(U+FF5E
)のかわりに波ダッシュ(U+301C
)が表示される場合があります。これは、Microsoft社と他のベンダー間で文字マッピングに互換性がないことによります。この問題を回避するには、PDFのフォント・サブセットにJA16SJISTILDE
またはJA16EUCTILDE
キャラクタ・セットを使用します。ただし、この問題はPDFフォント・エイリアシング機能には見られません。
マルチバイト・フォントのPDFフォント・エイリアシングに使用するOracle NLS_CHARACTERSET
、CMap名およびCIDフォント名間のマッピングは、表6-1を参照してください。
フォント・エイリアシングを使用してマルチバイト・フォントのPDFファイルを生成する手順は、次のとおりです。
NLS_LANG=JAPANESE_JAPAN.JA16SJIS
(UNIXではJA16EUC
)を設定します。
uifont.ali
ファイルを開き、[PDF]
セクションでフォント・エイリアスを設定します。例
[ PDF ] .....JA16SJIS = "KozMinPro-Regular-Acro" "MS UI Gothic".....JA16SJIS = "KozMinPro-Regular-Acro"
MS UI Gothic
)を指定した日本語データのレポートを作成します。
DESTYPE=FILE DESFORMAT=PDF
を指定してレポートを実行します。
Windows(日本語版)で日本語バージョンのAcrobat Reader 4.0または5.0を使用してPDFファイルを表示する場合は、日本語のフォント・パックは不要です。
フォント・サブセット機能を使用してマルチバイト・フォントのPDFファイルを生成する手順は、次のとおりです。
NLS_LANG=JAPANESE_JAPAN.JA16SJIS
(UNIXではJA16EUC
)を設定します。
REPORTS_PATH
環境を、TrueTypeフォントが格納されているフォント・ディレクトリに設定します。たとえば、C:¥WINNT¥Fonts
。
uifont.ali
ファイルを開いてから[PDF:Subset]
セクションを編集し、TrueTypeフォントの名前を指定します。例
[ PDF:Subset ] "Andale Duospace WT J" = "Aduoj.ttf" "Albany WT J"="AlbanWTJ.ttf" "MS UI Gothic" = "msgothic.ttc"
DESTYPE=FILE DESFORMAT=PDF
を指定してレポートを実行します。
この項では、バーコード情報を含むPDFファイルを生成する手順について説明します。この項で説明するフォント機能を使用する前に、表6-3を参照して、使用するアプリケーションのニーズに最適な機能を確認してください。
フォントの埋込みの機能を使用してバーコードPDFファイルを生成する手順は、次のとおりです。
REPORTS_PATH
環境変数を、Type1フォントが格納されているフォント・ディレクトリに設定します。
uifont.ali
ファイルを開き、フォントの埋込み[PDF:Embed]
セクションで、次のように指定します。例
[ PDF:Embed ] SAdHC39a = "SAdHC39a.pfm SAdHC39a.pfb"
DESTYPE=FILE DESFORMAT=PDF
を指定してレポートを実行します。
フォント・サブセット機能を使用してバーコードPDFファイルを生成する手順は、次のとおりです。
|
Copyright © 2003, 2005 Oracle. All Rights Reserved. |
|