PowerTools ActiveReports for .NET 9.0J
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での対応例を示します。

  1. [スタート]ボタンをクリックし、[ファイル名を指定して実行]をクリックします。
  2. "Regedit"と入力後、[OK]をクリックします。
  3. レジストリエディタのメニューから[ファイル]-[エクスポート]をクリックします。
  4. [レジストリ ファイルのエクスポート]ダイアログの[エクスポート範囲]で、[選択された部分]を選択し、"HKEY_CURRENT_USER\EUDC"と入力します。
  5. ファイル名を入力後、〈OK〉をクリックし、Regファイルとして保存します。
  6. 保存したRegファイルをテキストエディタで開き、下記の例を参考にして変更します(登録されているリンクフォントによってRegファイルの内容、および変更後の内容は異なります)。
    (例)保存された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
    [HKEY_LOCAL_MACHINE\SOFTWARE\Data Dynamics\EUDC]

    [HKEY_LOCAL_MACHINE\SOFTWARE\Data Dynamics\EUDC\932]
    "SystemDefaultEUDCFont"="C:\\WINDOWS\\FONTS\\EUDC.TTE" 
    "MS ゴシック"="C:\\WINDOWS\\Fonts\\myEudc.TTE"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Data Dynamics\EUDC\936]
    "SystemDefaultEUDCFont"="EUDC.TTE"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Data Dynamics\EUDC\949]
    "SystemDefaultEUDCFont"="EUDC.TTE"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Data Dynamics\EUDC\950]
    "SystemDefaultEUDCFont"="EUDC.TTE"

  7. レジストリエディタのメニューから[ファイル]-[インポート]をクリックします。
  8. [レジストリ ファイルのインポート]ダイアログで、変更したRegファイルを選択し、〈OK〉をクリックします。
注意:レジストリに不正な値を書き込んだ場合、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリ エディタの操作は慎重に行い、自己の責任において使用してください。

フォントの埋め込みについて

PDF形式において外字を表示させるには、フォントを埋め込む必要があります。その為、NeverEmbedFontsプロパティを使用して、フォントを非埋め込みと指定した場合であっても、外字部分だけは別フォントとして埋め込まれます。このように外字は必ず埋め込まれてPDFに出力されるため、外字が存在しないマシン上でPDFファイルを閲覧した場合でも、正しい表示結果を得ることができます。

関連トピック

 

 


©2003-2015 GrapeCity inc. All rights reserved.