Condividi tramite


Funzione ScriptGetCMap (usp10.h)

Recupera gli indici degli glifi dei caratteri Unicode in una stringa in base alla tabella cmap TrueType o alla tabella cmap standard implementata per i tipi di carattere precedenti.

Sintassi

HRESULT ScriptGetCMap(
  [in]      HDC          hdc,
  [in, out] SCRIPT_CACHE *psc,
  [in]      const WCHAR  *pwcInChars,
  [in]      int          cChars,
  [in]      DWORD        dwFlags,
  [out]     WORD         *pwOutGlyphs
);

Parametri

[in] hdc

Facoltativo. Gestire nel contesto del dispositivo. Per altre informazioni, vedere Memorizzazione nella cache.

[in, out] psc

Puntatore a una struttura SCRIPT_CACHE che identifica la cache degli script.

[in] pwcInChars

Puntatore a una stringa di caratteri Unicode.

[in] cChars

Numero di caratteri Unicode nella stringa indicata da pwcInChars.

[in] dwFlags

Flag che specificano qualsiasi gestione speciale dei glifi. Per impostazione predefinita, i glifi vengono forniti in ordine logico senza alcuna gestione speciale. Questo parametro può avere il valore seguente.

Valore Significato
SGCM_RTL
La matrice di glifi indicata da pwOutGlyphs deve contenere glifi con mirroring per i glifi con un equivalente con mirroring.

[out] pwOutGlyphs

Puntatore a un buffer in cui la funzione recupera una matrice di indici glifi. Questo buffer deve avere la stessa lunghezza del buffer di input indicato da pwcInChars. Ogni punto di codice esegue il mapping a un singolo glifo.

Valore restituito

Restituisce S_OK se tutti i punti di codice Unicode sono presenti nel tipo di carattere. La funzione restituisce uno dei valori HRESULT diversi da zero elencati di seguito se non ha esito positivo.

Valore restituito Significato
E_HANDLE Il tipo di carattere o il sistema operativo non supporta gli indici glifi.
S_FALSE Alcuni dei punti di codice Unicode sono stati mappati al glifo predefinito.

Commenti

Per informazioni sul contesto in cui questa funzione viene normalmente chiamata, vedere Visualizzazione di testo con Uniscribe .

Questa funzione può essere utilizzata per determinare i caratteri di un'esecuzione supportati dal tipo di carattere selezionato. L'applicazione può analizzare il buffer del glifo recuperato, cercando il glifo predefinito per determinare i caratteri che non sono disponibili. L'applicazione deve determinare l'indice del glifo predefinito per il tipo di carattere selezionato chiamando ScriptGetFontProperties.

Il valore restituito per questa funzione indica la presenza di glifi mancanti.

Nota La funzione presuppone una relazione 1:1 tra gli elementi nelle matrici di input e output. Tuttavia, la funzione non supporta questa relazione per le coppie di surrogati UTF-16. Per una coppia di surrogati, la funzione non recupera l'indice del glifo per il carattere del piano supplementare. Analogamente, la funzione non supporta sequenze Unicode Variation-Selector (VS), ognuna delle quali è costituita da un carattere grafico Unicode seguito da un set di caratteri SELECTOR VARIANT per selezionare una particolare rappresentazione del glifo per tale carattere grafico. Per una sequenza di Visual Studio, la funzione recupera l'indice del glifo predefinito mappato dal cmap per i due caratteri, anziché l'indice del glifo per il glifo specifico per la sequenza di Visual Studio.
 
È possibile eseguire il rendering di alcuni punti di codice tramite una combinazione di glifi, nonché da un singolo glifo, ad esempio 00C9; MAIUSCOLA IN ALFABETO LATINO E CON ACUTO. In questo caso, se il tipo di carattere supporta il glifo E maiuscolo e il glifo acuto, ma non un singolo glifo per 00C9, ScriptGetCMap mostra che 00C9 non è supportato. Per determinare il supporto del tipo di carattere per una stringa che contiene questi tipi di punti di codice, l'applicazione può chiamare ScriptShape. Se la funzione restituisce S_OK, l'applicazione deve verificare la presenza di glifi mancanti nell'output.
Importante A partire da Windows 8: per mantenere la possibilità di eseguire in Windows 7, un modulo che usa Uniscribe deve specificare Usp10.lib prima di gdi32.lib nell'elenco di librerie.
 

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 usp10.h
Libreria Usp10.lib
DLL Usp10.dll
Componente ridistribuibile Internet Explorer 5 o versione successiva in Windows Me/98/95

Vedi anche

Visualizzazione di testo con Uniscribe

SCRIPT_CACHE

ScriptGetFontProperties

ScriptShape

Uniscribe

Funzioni Uniscribe