Funzione TTLoadEmbeddedFont (t2embapi.h)

Legge un tipo di carattere incorporato dal flusso del documento e lo installa. Consente inoltre a un client di limitare ulteriormente i privilegi di incorporamento del tipo di carattere.

Sintassi

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

Parametri

[out] phFontReference

Puntatore a un handle che identifica il tipo di carattere incorporato installato. Questo handle fa riferimento a una struttura interna, non a Hfont.

[in] ulFlags

Flag che specifica le opzioni di caricamento e installazione. Attualmente, questo flag può essere impostato su zero o sul valore seguente:

Valore Significato
TTLOAD_PRIVATE
Caricare il tipo di carattere in modo che non sia enumerato all'utente. Se il tipo di carattere non è installabile, rimarrà privato.

[out] pulPrivStatus

Puntatore al flag che indica i privilegi di incorporamento del tipo di carattere. Questo flag viene scritto al completamento di questa funzione e può avere uno dei valori seguenti. Questa funzione restituisce la licenza meno restrittiva concessa.

Valore Significato
EMBED_PREVIEWPRINT
Anteprima e incorporamento di stampa. Il tipo di carattere può essere incorporato all'interno dei documenti, ma deve essere installato solo temporaneamente nel sistema remoto. Un documento contenente questo tipo di carattere può essere aperto solo in sola lettura. L'applicazione non deve consentire all'utente di modificare il documento. Il documento può essere visualizzato e/o stampato solo.
EMBED_EDITABLE
Incorporamento modificabile. Il tipo di carattere può essere incorporato all'interno dei documenti, ma deve essere installato solo temporaneamente nel sistema remoto. Un documento contenente questo tipo di carattere può essere aperto "lettura/scrittura", con modifica consentita.
EMBED_INSTALLABLE
Incorporamento installabile. Il tipo di carattere può essere incorporato e installato in modo permanente nel sistema remoto. L'utente del sistema remoto acquisisce gli stessi diritti, obblighi e licenze per tale tipo di carattere come acquirente originale del tipo di carattere ed è soggetto allo stesso contratto di licenza per l'utente finale, copyright, brevetto di progettazione e/o marchio registrato come l'acquirente originale.
EMBED_NOEMBEDDING
Incorporamento delle licenze con restrizioni. Il tipo di carattere non deve essere modificato, incorporato o scambiato in alcun modo senza prima ottenere l'autorizzazione del proprietario legale.

[in] ulPrivs

Flag che indica un'ulteriore restrizione dei privilegi di incorporamento imposti dal client che carica il tipo di carattere. Questo flag deve avere uno dei valori seguenti.

Valore Significato
LICENSE_PREVIEWPRINT
Anteprima e incorporamento di stampa.
LICENSE_EDITABLE
Incorporamento modificabile.
LICENSE_INSTALLABLE
Incorporamento installabile.
LICENSE_NOEMBEDDING
Incorporamento delle licenze con restrizioni.
LICENSE_DEFAULT
Usare il livello di incorporamento predefinito.

[out] pulStatus

Puntatore a un campo di bit contenente informazioni sullo stato relative alla richiesta TTLoadEmbeddedFont . Questo campo viene compilato al completamento di questa funzione e può avere zero o più dei valori seguenti.

Valore Significato
TTLOAD_FONT_SUBSETTED
Il tipo di carattere caricato è un subset del tipo di carattere originale.
TTLOAD_FONT_IN_SYSSTARTUP
Il tipo di carattere caricato è stato etichettato come installabile ed è stato aggiunto al Registro di sistema in modo che sia disponibile all'avvio.

[in] lpfnReadFromStream

Puntatore alla funzione di callback definita dal client che legge la struttura del tipo di carattere dal flusso del documento.

[in] lpvReadStream

Puntatore al flusso (struttura del tipo di carattere).

[in, optional] szWinFamilyName

Puntatore al nuovo nome della famiglia di caratteri Unicode Di Microsoft Windows a 16 bit del tipo di carattere. Impostare su NULL per usare il nome esistente. Quando si modifica il nome di un tipo di carattere al caricamento, è necessario specificare sia questo parametro che il parametro szMacFamilyName .

[in, optional] szMacFamilyName

Puntatore al nuovo nome della famiglia di caratteri Macintosh a 8 bit del tipo di carattere. Impostare su NULL per usare il nome esistente. Quando si modifica il nome di un tipo di carattere al caricamento, è necessario specificare sia questo parametro che il parametro szWinFamilyName .

[in, optional] pTTLoadInfo

Puntatore a una struttura TTLOADINFO contenente l'URL da cui è stato ottenuto l'oggetto carattere incorporato. Se questo valore non corrisponde a uno di quelli contenuti nella struttura TTEMBEDINFO , il tipo di carattere non verrà caricato correttamente.

Valore restituito

In caso di esito positivo, restituisce E_NONE.

Se il caricamento dei caratteri ha esito positivo, viene creato un tipo di carattere indicato da phFontReference dalla struttura del carattere con i nomi a cui si fa riferimento in szWinFamilyName e szMacFamilyName. pulPrivStatus è impostato che indica i privilegi di incorporamento del tipo di carattere; e pulStatus possono essere impostati che indicano informazioni sullo stato relative all'operazione di caricamento del tipo di carattere.

In caso contrario, restituisce un codice di errore descritto in Incorporamento dei messaggi di errore della funzione.

Commenti

Per consentire a un client di determinare se un tipo di carattere incorporato è già installato nel sistema, la funzione di caricamento del tipo di carattere restituirà un messaggio di errore che indica che esiste un tipo di carattere con lo stesso nome nel sistema (E_FONTNAMEALREADYEXISTS) e se tale tipo di carattere ha lo stesso checksum del tipo di carattere incorporato (E_FONTALREADYEXISTS). Il client ha quindi due opzioni:

  1. Si supponga che il tipo di carattere installato sia esattamente lo stesso del tipo di carattere incorporato e copre gli stessi subset.
  2. Forzare l'installazione del tipo di carattere incorporato con un nome diverso per evitare incompatibilità con il tipo di carattere già presente nel sistema.
Per modificare il nome di un tipo di carattere incorporato prima dell'installazione, il client deve specificare sia le stringhe di caratteri a 8 bit che i nomi di caratteri a 16 bit come parametri. Il nome del carattere verrà modificato nella tabella dei nomi del tipo di carattere appena installato. Il nuovo nome è disponibile solo per il client e non verrà enumerato all'utente.

Per usare il nome esistente del tipo di carattere incorporato, è necessario impostare i parametri stringa del nome su NULL.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione t2embapi.h
Libreria T2embed.lib
DLL T2embed.dll

Vedi anche

TTDeleteEmbeddedFont

TTEMBEDINFO

TTGetEmbeddingType

TTGetNewFontName

TTLOADINFO