TTLoadEmbeddedFont 関数 (t2embapi.h)

ドキュメント ストリームから埋め込まれたフォントを読み取り、インストールします。 また、クライアントはフォントの埋め込み権限をさらに制限できます。

構文

LONG TTLoadEmbeddedFont(
  [out]          HANDLE        *phFontReference,
  [in]           ULONG         ulFlags,
  [out]          ULONG         *pulPrivStatus,
  [in]           ULONG         ulPrivs,
  [out]          ULONG         *pulStatus,
  [in]           READEMBEDPROC lpfnReadFromStream,
  [in]           LPVOID        lpvReadStream,
  [in, optional] LPWSTR        szWinFamilyName,
  [in, optional] LPSTR         szMacFamilyName,
  [in, optional] TTLOADINFO    *pTTLoadInfo
);

パラメーター

[out] phFontReference

インストールされている埋め込みフォントを識別するハンドルへのポインター。 このハンドルは、Hfont ではなく内部構造を参照します。

[in] ulFlags

読み込みとインストールのオプションを指定するフラグ。 現在、このフラグは 0 または次の値に設定できます。

意味
TTLOAD_PRIVATE
ユーザーに列挙されないようにフォントを読み込みます。 フォントがインストールできない場合は、プライベートのままです。

[out] pulPrivStatus

フォントの埋め込み特権を示すフラグへのポインター。 このフラグは、この関数の完了時に書き込まれ、次のいずれかの値を持つことができます。 この関数は、付与された最も制限の厳しいライセンスを返します。

意味
EMBED_PREVIEWPRINT
プレビューと印刷の埋め込み。 フォントはドキュメント内に埋め込む場合がありますが、リモート システムに一時的にのみインストールする必要があります。 この種類のフォントを含むドキュメントは、読み取り専用としてのみ開くことができます。 アプリケーションでは、ユーザーがドキュメントを編集できないようにする必要があります。 ドキュメントは、表示または印刷のみ可能です。
EMBED_EDITABLE
編集可能な埋め込み。 フォントはドキュメント内に埋め込む場合がありますが、リモート システムに一時的にのみインストールする必要があります。 この種類のフォントを含むドキュメントは、編集が許可された状態で "読み取り/書き込み" を開く場合があります。
EMBED_INSTALLABLE
インストール可能な埋め込み。 フォントは埋め込まれており、リモート システムに永続的にインストールされる場合があります。 リモート システムのユーザーは、フォントの元の購入者と同じ権利、義務、ライセンスを取得し、元の購入者と同じエンドユーザー 使用許諾契約書、著作権、デザイン特許、商標の対象となります。
EMBED_NOEMBEDDING
制限付きライセンスの埋め込み。 最初に法的所有者の許可を得ることなく、フォントを変更、埋め込み、または交換することはできません。

[in] ulPrivs

クライアントによるフォントの読み込みによって課される、埋め込み特権の追加の制限を示すフラグ。 このフラグには、次のいずれかの値が必要です。

意味
LICENSE_PREVIEWPRINT
プレビューと印刷の埋め込み。
LICENSE_EDITABLE
編集可能な埋め込み。
LICENSE_INSTALLABLE
インストール可能な埋め込み。
LICENSE_NOEMBEDDING
制限付きライセンスの埋め込み。
LICENSE_DEFAULT
既定の埋め込みレベルを使用します。

[out] pulStatus

TTLoadEmbeddedFont 要求に関する状態情報を含むビットフィールドへのポインター。 このフィールドは、この関数の完了時に入力され、次の値を 0 個以上指定できます。

意味
TTLOAD_FONT_SUBSETTED
読み込まれたフォントは、元のフォントのサブセットです。
TTLOAD_FONT_IN_SYSSTARTUP
読み込まれたフォントはインストール可能としてラベル付けされ、起動時に使用可能になるようにレジストリに追加されています。

[in] lpfnReadFromStream

ドキュメント ストリームからフォント構造を読み取るクライアント定義コールバック関数へのポインター。

[in] lpvReadStream

ストリームへのポインター (フォント構造)。

[in, optional] szWinFamilyName

フォントの新しい 16 ビット文字 Unicode Microsoft Windows ファミリ名へのポインター。 既存の名前を使用するには 、NULL に設定します。 読み込み時にフォントの名前を変更する場合は、このパラメーターと szMacFamilyName パラメーターの両方を指定する必要があります。

[in, optional] szMacFamilyName

フォントの新しい 8 ビット文字 Macintosh ファミリ名へのポインター。 既存の名前を使用するには 、NULL に設定します。 読み込み時にフォントの名前を変更する場合は、このパラメーターと szWinFamilyName パラメーターの両方を指定する必要があります。

[in, optional] pTTLoadInfo

埋め込みフォント オブジェクトが取得された URL を含む TTLOADINFO 構造体へのポインター。 この値が TTEMBEDINFO 構造体に含まれている値のいずれかと一致しない場合、フォントは正常に読み込まれません。

戻り値

成功した場合は、E_NONEを返します。

フォントの読み込みが成功した場合は、フォント構造から、szWinFamilyName および szMacFamilyName で参照される名前を使用して、phFontReference で示されるフォントが作成されます。 pulPrivStatus は、フォントの埋め込み特権を示す設定です。および pulStatus は、フォントの読み込み操作に関する状態情報を示す設定を行う場合があります。

それ以外の場合は、「関数エラー メッセージの 埋め込み」で説明されているエラー コードを返します。

注釈

埋め込みフォントがシステムに既にインストールされているかどうかをクライアントが判断できるように、フォント読み込み関数は、同じ名前のフォントがシステム (E_FONTNAMEALREADYEXISTS) に存在し、そのフォントが埋め込みフォント (E_FONTALREADYEXISTS) と同じチェックサムを持っているかどうかを示すエラー メッセージを返します。 その後、クライアントには次の 2 つのオプションがあります。

  1. インストールされているフォントが埋め込みフォントと実際に同じであり、同じサブセットをカバーしているとします。
  2. 埋め込みフォントを別の名前で強制的にインストールし、システム上に既に存在するフォントとの互換性がないようにします。
インストール前に埋め込みフォントの名前を変更するには、クライアントで 8 ビット文字と 16 ビット文字の両方の名前文字列をパラメーターとして指定する必要があります。 フォント名は、新しくインストールされたフォントの名前テーブルで変更されます。 新しい名前はクライアントでのみ使用でき、ユーザーには列挙されません。

埋め込みフォントの既存の名前を使用するには、名前文字列パラメーターを NULL に設定する必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー t2embapi.h
Library T2embed.lib
[DLL] T2embed.dll

こちらもご覧ください

TTDeleteEmbeddedFont

TTEMBEDINFO

TTGetEmbeddingType

TTGetNewFontName

TTLOADINFO