Determinare se uno script richiede il data shaping dei glifi
Nell'esempio seguente viene chiamato ScriptGetProperties per verificare se lo script di ognuno di diversi elementi successivi richiede il data shaping del glifo.
const SCRIPT_PROPERTIES **g_ppScriptProperties;
int g_iMaxScript;
WCHAR *pwcInChars = L"Unicode string to itemize";
int cInChars = wcslen(pwcInChars);
const int cMaxItems = 20;
SCRIPT_ITEM si[cMaxItems + 1];
SCRIPT_ITEM *pItems = si;
int cItems;
ScriptGetProperties(&g_ppScriptProperties,
&g_iMaxScript);
HRESULT hResult = ScriptItemize(pwcInChars,
cInChars,
cMaxItems,
NULL,
NULL,
pItems,
&cItems);
if (hResult == 0) {
for (int i=0; i<cItems; i++) {
if (g_ppScriptProperties[pItems[i].a.eScript]->fComplex) {
// Item [i] is complex script text
// requiring glyph shaping.
} else {
// The text may be rendered legibly without using Uniscribe.
// However, Uniscribe may still be used as a means of accessing
// font typographic features.
}
}
} else {
// Handle the error.
}
Argomenti correlati
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per