TTLoadEmbeddedFont-Funktion (t2embapi.h)

Liest eine eingebettete Schriftart aus dem Dokumentstream und installiert sie. Ermöglicht es einem Client auch, die Einbettungsberechtigungen der Schriftart weiter einzuschränken.

Syntax

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
);

Parameter

[out] phFontReference

Ein Zeiger auf ein Handle, das die installierte eingebettete Schriftart identifiziert. Dieses Handle verweist auf eine interne Struktur, nicht auf ein Hfont.

[in] ulFlags

Ein Flag, das Lade- und Installationsoptionen angibt. Derzeit kann dieses Flag auf null oder den folgenden Wert festgelegt werden:

Wert Bedeutung
TTLOAD_PRIVATE
Laden Sie die Schriftart, damit sie nicht für den Benutzer aufgezählt wird. Wenn die Schriftart nicht installiert werden kann, bleibt sie privat.

[out] pulPrivStatus

Ein Zeiger auf ein Flag, das die Einbettungsberechtigungen der Schriftart angibt. Dieses Flag wird nach Abschluss dieser Funktion geschrieben und kann einen der folgenden Werte aufweisen. Diese Funktion gibt die am wenigsten restriktive Lizenz zurück.

Wert Bedeutung
EMBED_PREVIEWPRINT
Vorschau und Druckeinbettung. Die Schriftart kann in Dokumente eingebettet sein, muss aber nur vorübergehend auf dem Remotesystem installiert werden. Ein Dokument, das diese Schriftart enthält, kann nur schreibgeschützt geöffnet werden. Die Anwendung darf dem Benutzer nicht erlauben, das Dokument zu bearbeiten. Das Dokument kann nur angezeigt und/oder gedruckt werden.
EMBED_EDITABLE
Bearbeitbare Einbettung. Die Schriftart kann in Dokumente eingebettet sein, muss aber nur vorübergehend auf dem Remotesystem installiert werden. Ein Dokument, das diese Schriftart enthält, kann mit Lese-/Schreibzugriff geöffnet werden, wobei die Bearbeitung zulässig ist.
EMBED_INSTALLABLE
Installierbare Einbettung. Die Schriftart kann eingebettet und dauerhaft auf dem Remotesystem installiert werden. Der Nutzer des Remotesystems erwirbt die gleichen Rechte, Pflichten und Lizenzen für diese Schriftart wie der ursprüngliche Käufer der Schriftart und unterliegt demselben Endbenutzer-Lizenzvertrag, Urheberrecht, Designpatent und/oder Marke wie der ursprüngliche Käufer.
EMBED_NOEMBEDDING
Einbettung eingeschränkter Lizenzen. Die Schriftart darf nicht geändert, eingebettet oder ausgetauscht werden, ohne zuvor die Erlaubnis des rechtmäßigen Eigentümers einzuholen.

[in] ulPrivs

Ein Flag, das eine weitere Einschränkung der Einbettungsberechtigungen angibt, die durch den Client beim Laden der Schriftart erzwungen werden. Dieses Flag muss einen der folgenden Werte aufweisen.

Wert Bedeutung
LICENSE_PREVIEWPRINT
Vorschau und Druckeinbettung.
LICENSE_EDITABLE
Bearbeitbare Einbettung.
LICENSE_INSTALLABLE
Installierbare Einbettung.
LICENSE_NOEMBEDDING
Einbettung eingeschränkter Lizenzen.
LICENSE_DEFAULT
Verwenden Sie die Standardeinbettungsebene.

[out] pulStatus

Ein Zeiger auf ein Bitfeld, das status Informationen zur TTLoadEmbeddedFont-Anforderung enthält. Dieses Feld wird nach Abschluss dieser Funktion ausgefüllt und kann null oder mehr der folgenden Werte aufweisen.

Wert Bedeutung
TTLOAD_FONT_SUBSETTED
Die geladene Schriftart ist eine Teilmenge der ursprünglichen Schriftart.
TTLOAD_FONT_IN_SYSSTARTUP
Die geladene Schriftart wurde als installable bezeichnet und der Registrierung hinzugefügt, sodass sie beim Start verfügbar ist.

[in] lpfnReadFromStream

Ein Zeiger auf die clientdefinierte Rückruffunktion, die die Schriftartstruktur aus dem Dokumentdatenstrom liest.

[in] lpvReadStream

Ein Zeiger auf den Stream (Schriftartstruktur).

[in, optional] szWinFamilyName

Ein Zeiger auf den neuen 16-Bit-Unicode-Microsoft Windows-Familiennamen der Schriftart. Legen Sie auf NULL fest, um einen vorhandenen Namen zu verwenden. Wenn Sie den Namen einer Schriftart beim Laden ändern, müssen Sie sowohl diesen Parameter als auch den Parameter szMacFamilyName angeben.

[in, optional] szMacFamilyName

Ein Zeiger auf den neuen 8-Bit-Macintosh-Familiennamen der Schriftart. Legen Sie auf NULL fest, um einen vorhandenen Namen zu verwenden. Wenn Sie den Namen einer Schriftart beim Laden ändern, müssen Sie sowohl diesen Parameter als auch den Parameter szWinFamilyName angeben.

[in, optional] pTTLoadInfo

Ein Zeiger auf eine TTLOADINFO-Struktur , die die URL enthält, aus der das eingebettete Schriftartobjekt abgerufen wurde. Wenn dieser Wert nicht mit einem der in der TTEMBEDINFO-Struktur enthaltenen Werte übereinstimmt, wird die Schriftart nicht erfolgreich geladen.

Rückgabewert

Bei erfolgreicher Ausführung wird E_NONE zurückgegeben.

Wenn das Laden der Schriftart erfolgreich ist, wird eine schriftart, die von phFontReference angegeben ist, aus der Schriftartenstruktur mit den Namen erstellt, auf die in szWinFamilyName und szMacFamilyName verwiesen wird. pulPrivStatus ist festgelegt, um die Einbettungsberechtigungen der Schriftart anzugeben. und pulStatus können festgelegt werden, um status Informationen zum Laden von Schriftarten anzugeben.

Andernfalls wird ein Fehlercode zurückgegeben, der unter Einbetten von Funktionsfehlermeldungen beschrieben wird.

Hinweise

Um einen Client bei der Ermittlung zu unterstützen, ob eine eingebettete Schriftart bereits auf dem System installiert ist, gibt die Funktion zum Laden von Schriftarten eine Fehlermeldung zurück, die angibt, dass eine Schriftart mit demselben Namen im System vorhanden ist (E_FONTNAMEALREADYEXISTS), und wenn diese Schriftart die gleiche Prüfsumme wie die eingebettete Schriftart aufweist (E_FONTALREADYEXISTS). Der Client verfügt dann über zwei Optionen:

  1. Angenommen, die installierte Schriftart ist tatsächlich mit der eingebetteten Schriftart identisch und deckt dieselben Teilmengen ab.
  2. Erzwingen Sie, dass die eingebettete Schriftart mit einem anderen Namen installiert wird, um Inkompatibilitäten mit der Bereits im System vorhandenen Schriftart zu vermeiden.
Um den Namen einer eingebetteten Schriftart vor der Installation zu ändern, muss der Client sowohl die 8-Bit-Zeichen- als auch die 16-Bit-Zeichennamenzeichenfolgen als Parameter angeben. Der Schriftartname wird in der Namenstabelle der neu installierten Schriftart geändert. Der neue Name ist nur für den Client verfügbar und wird nicht für den Benutzer aufgezählt.

Um den vorhandenen Namen der eingebetteten Schriftart zu verwenden, müssen die Namenszeichenfolgenparameter auf NULL festgelegt werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile t2embapi.h
Bibliothek T2embed.lib
DLL T2embed.dll

Weitere Informationen

TTDeleteEmbeddedFont

TTEMBEDINFO

TTGetEmbeddingType

TTGetNewFontName

TTLOADINFO