Verwenden von Shaping-Engines

Uniscribe verwendet mehrere Shaping-Engines, die das Layoutwissen für bestimmte Skripts enthalten. Es nutzt auch die OpenType-Layoutgestaltungs-Engine für die Behandlung von schriftartspezifischen Skriptfeatures, z. B. Glyphengenerierung, Ausdehnungsmessung und Unterstützung für Wortbrüche. Uniscribe verwaltet bidirektionale Zeichenumordnungen mithilfe des bidirektionalen Unicode-Algorithmus und versteht Nicht-OpenType-Layoutschriftformate für die arabische, hebräische und thailändische Gestaltung.

Da die genauen Codepunktbereiche, die den einzelnen Shaping-Engines zugewiesen sind, variieren können, werden skriptnummern mit Ausnahme von SCRIPT_UNDEFINED nicht veröffentlicht. Ihre Anwendung kann jedoch die Attribute von Skripts testen, indem sie die ScriptGetProperties-Funktion aufruft , die auf die Globale Skripteigenschaftentabelle zugreift. Die Anwendung kann die globalen Skripteigenschaften verwenden, um ihre eigenen Layoutregeln mit den erforderlichen Moduldivisionen zu kombinieren.

Die Anwendung greift mit einem Aufruf der ScriptShape-Funktion auf eine Shaping-Engine zu. Alle komplexen Skriptgestaltungs-Engines, die Zeichenformungs-Engines und die ASCII-Shaping-Engines überprüfen die schriftart, die im Gerätekontexthandle vor dem Shapen angegeben ist. Komplexe Skripts müssen mithilfe des Skripts, das von der ScriptItemize-Funktion zurückgegeben wird, gestaltet werden, um lesbar zu sein. Andere Ausführungen bleiben lesbar, wenn sie mit SCRIPT_UNDEFINED im eScript-Element der SCRIPT_ANALYSIS-Struktur angegeben sind, obwohl sie möglicherweise an typografischer Qualität verlieren.

ScriptShape gibt bei erfolgreicher Ausführung 0 zurück, oder USP_E_SCRIPT_NOT_IN_FONT, wenn die von der Anwendung bereitgestellte Schriftart nicht genügend Glyphen oder Formtabellen enthält. Wenn die Anwendung angibt, SCRIPT_UNDEFINED und einige Zeichen von der Schriftart nicht unterstützt werden, ist die Funktion weiterhin erfolgreich. In diesem Fall sollte die Anwendung den Glyphenausgabepuffer auf fehlende Glyphen überprüfen. Strategien zum Umgang mit fehlenden Glyphen finden Sie unter Verwenden des Schriftartfallbacks.

Verwenden von Uniscribe