Condividi tramite


Tipi di carattere incorporati

L'incorporamento di un tipo di carattere è la tecnica di creazione di bundle di un documento e dei tipi di carattere contenuti in un file per la trasmissione a un altro computer. L'incorporamento di un tipo di carattere garantisce che un tipo di carattere specificato in un file trasmesso sia presente nel computer che riceve il file. Non tutti i tipi di carattere possono essere spostati dal computer al computer, tuttavia, poiché la maggior parte dei tipi di carattere è concessa in licenza a un solo computer alla volta. È possibile incorporare solo i tipi di carattere TrueType e OpenType.

Le applicazioni devono incorporare un tipo di carattere in un documento solo quando richiesto da un utente. Un'applicazione non può essere distribuita insieme ai documenti che contengono tipi di carattere incorporati, né può contenere un tipo di carattere incorporato da un'applicazione stessa. Ogni volta che un'applicazione distribuisce un tipo di carattere, in qualsiasi formato, i diritti proprietari del proprietario del tipo di carattere devono essere riconosciuti.

Potrebbe essere una violazione dei diritti proprietari o del contratto di licenza utente di un fornitore di tipi di carattere per incorporare i tipi di carattere in cui l'incorporamento non è consentito o non rispettare le linee guida seguenti sull'incorporamento dei tipi di carattere. La licenza di un tipo di carattere può concedere solo l'autorizzazione di lettura/scrittura per l'installazione e l'uso di un tipo di carattere nel computer di destinazione. In alternativa, la licenza può concedere l'autorizzazione di sola lettura. L'autorizzazione di sola lettura consente di visualizzare e stampare un documento (ma non modificato) dal computer di destinazione; i documenti con tipi di carattere incorporati di sola lettura sono di sola lettura. I tipi di carattere incorporati di sola lettura potrebbero non essere separati dal documento e installati nel computer di destinazione.

Un'applicazione può determinare lo stato della licenza chiamando la funzioneGetOutlineTextMetricsed esaminando il membro otmfsType della strutturaOUTLINETEXTMETRIC. Se è impostato il bit 1 di otmfsType, l'incorporamento non è consentito per il tipo di carattere. Se bit 1 è chiaro, il tipo di carattere può essere incorporato. Se è impostato il bit 2, l'incorporamento è di sola lettura.

Per incorporare un tipo di carattere TrueType, un'applicazione può usare la funzioneGetFontDataper leggere il file di tipo di carattere. L'impostazione di dwTable e dwOffset parametri di GetFontData su 0L e il parametro cbData su 1L garantisce che l'applicazione legga l'intero file di carattere dall'inizio.

Sono disponibili diverse funzioni per incorporare i tipi di carattere OpenType a seconda della larghezza del carattere e della posizione in cui risiedono i dati del tipo di carattere. Per incorporare un tipo di carattere Unicode OpenType che risiede in un contesto di dispositivo, un'applicazione può usare TTEmbedFont. Per incorporare un tipo di carattere OpenType UCS-4 che risiede in un contesto di dispositivo, un'applicazione può usare TTEmbedFontEx. Per incorporare un tipo di carattere Unicode OpenType che risiede in un file di tipo di carattere, un'applicazione può usare TTEmbedFontFromFile. Per altre informazioni sull'incorporamento dei tipi di carattere OpenType, vedere l'riferimento all'incorporamento dei tipi di carattere.

Dopo che un'applicazione recupera i dati del tipo di carattere, può archiviare i dati con il documento usando qualsiasi formato applicabile. La maggior parte delle applicazioni compila una directory dei tipi di carattere nel documento, elencando i tipi di carattere incorporati e se l'incorporamento è di sola lettura/scrittura o di sola lettura. Un'applicazione può utilizzare i membri otmFamilyName otmpStyleName e otmFamilyName della strutturaOUTLINETEXTMETRICper identificare il tipo di carattere.

Se il bit di sola lettura è impostato per il tipo di carattere incorporato, le applicazioni devono crittografare i dati del tipo di carattere prima di archiviarli con il documento. Il metodo di crittografia non deve essere complicato; Ad esempio, l'uso dell'operatore XOR per combinare i dati del tipo di carattere con una costante definita dall'applicazione è adeguato e veloce.