PowerTools ActiveReports for .NET 9.0J > ActiveReportsユーザーガイド > 概念 > エクスポート > PDF外字 |
注意:PDFへの外字出力は、Professionalのみ対応しています。 |
Windowsにおける外字フォントは、大きく分けて「ファイル方式」と「リンク方式」の2つが存在します。ActiveReportsのPDFエクスポートでは、両方の方式に対応しています。外字フォントを使用するには、レポートをエクスポートする環境に、あらかじめ外字が用意されている必要があります(作成されたPDFファイルの閲覧環境には必要ありません)。どちらの方式の外字を使用するかによって、用意する方法が異なりますので、下記を参照の上、準備を行ってください。
外字以外の常用文字(内字)と外字の文字セットが、1つのフォントファイルに含まれており、通常のフォントと同じように扱うことが可能な方式です。フォントファイルの拡張子は、TTF、およびTTCです。Windows標準のフォントには、このようなファイル方式の外字フォントは用意されていない為、通常はサードパーティ製のフォントを購入し、エクスポートを行うマシンにインストールしてください。インストール後は、ActiveReportsのTextBoxコントロールなどのFontプロパティにそのフォントを設定することで、外字が利用できるようになります。
外字文字セットのみが含まれるフォントファイルを、任意のフォントにリンクさせる方法です。フォントファイルの拡張子は、TTEです。このようなリンク方式の外字フォントは、サードパーティから購入することもできますが、Windowsの外字エディタを使って自分で作成することができます。
サードパーティ製のフォントを購入した場合、エクスポートを行うマシンにインストールし、そのフォントに付属するリンクツールなどを使用して、Windows標準の任意のフォントにリンクさせてください(リンクの仕方については、各フォントメーカーに確認してください)。
Windowsの外字エディタを使って自分で作成した場合、外字エディタの[フォントのリンク]から全てのフォントに対してリンクすることができます。こうすることで、その外字フォントのファイル名は自動的にEUDC.TTEとなります。EUDC.TTEファイルは、システムのデフォルトリンク外字ファイルです。特定のフォントにリンクさせたい場合には、外字エディタの[フォントのリンク]で任意のフォントを指定してください。
リンク後は、ActiveReportsのTextBoxコントロールなどのFontプロパティに、そのリンクさせたフォントを設定することで、外字が利用できるようになります。
■Webアプリケーションでシステムのデフォルトリンク外字ファイルであるEUDC.TTE以外を使用する場合、あらかじめ以下の準備が必要になりますので注意してください。
この設定はエクスポートするサーバー側で行う必要があります。クライアント側で行う必要はありません。
外字エディタなどのツールから外字フォントをリンクさせた場合、下記のレジストリ(HKEY_CURRENT_USER\EUDC)にそのリンク情報が登録されます。ActiveReportsは、このレジストリ情報を参照します。
HKEY_CURRENT_USER以下の情報は、ユーザー毎に設定されている値です。そのため、実行ユーザーがASPNETアカウント(Windows Server 2003ではNETWORK SERVICE)となるWebアプリケーションでは、これらのレジストリ情報を参照することができません。このような場合は、下記のレジストリ(HKEY_LOCAL_MACHINE\Software\Data Dynamics\EUDC)を作成することで、参照することができます。なお、システムのデフォルトリンク外字ファイル(EUDC.TTE)については、レジストリ(HKEY_USERS\EUDC)にデフォルトで設定されているため、ASPNET などのアカウントであっても、作成する必要はありません。
注意:64ビット(x64)版OSの場合は、レジストリの作成場所が異なります。詳しく「64ビット(x64)版OSで使用する際のご注意」をご覧ください。 |
以下にWindows XPでの対応例を示します。
(例)保存されたRegファイルの内容コード |
コードのコピー
|
---|---|
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\EUDC] [HKEY_CURRENT_USER\EUDC\932] "SystemDefaultEUDCFont"="C:\\WINDOWS\\FONTS\\EUDC.TTE" "MS ゴシック"="C:\\WINDOWS\\Fonts\\myEudc.TTE" [HKEY_CURRENT_USER\EUDC\936] "SystemDefaultEUDCFont"="EUDC.TTE" [HKEY_CURRENT_USER\EUDC\949] "SystemDefaultEUDCFont"="EUDC.TTE" [HKEY_CURRENT_USER\EUDC\950] "SystemDefaultEUDCFont"="EUDC.TTE" |
(例)変更後のRegファイルの内容コード |
コードのコピー
|
---|---|
Windows Registry Editor Version 5.00 |
注意:レジストリに不正な値を書き込んだ場合、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリ エディタの操作は慎重に行い、自己の責任において使用してください。 |
PDF形式において外字を表示させるには、フォントを埋め込む必要があります。その為、NeverEmbedFontsプロパティを使用して、フォントを非埋め込みと指定した場合であっても、外字部分だけは別フォントとして埋め込まれます。このように外字は必ず埋め込まれてPDFに出力されるため、外字が存在しないマシン上でPDFファイルを閲覧した場合でも、正しい表示結果を得ることができます。