Összetett szkriptek feldolgozása
A szöveg indoklásához az alkalmazás két módszer egyikét használhatja. A többnyelvű indoklás egyszerű megvalósítása érdekében az alkalmazásnak meg kell hívnia ScriptJustify. A delta dx tömböt a kashida, majd a szavak közötti térköz, majd a karakterek közötti térköz figyelembevételével hozza létre. A kifinomultabb igazolás érdekében az alkalmazás létrehozhat egy frissített delta dx tömböt a saját nyelvtudása és a ScriptShape által a SCRIPT_VISATTR tömbben lekért információk segítségével.
A uJustificationSCRIPT_VISATTRtagja által azonosított helyre be kell szúrni az igazítási szóközt vagy a kashidát. A karakterközi megigazítás végrehajtásakor az alkalmazásnak csak a SCRIPT_JUSTIFY_CHARACTER jellel jelölt karakterjelek után szabad szóközt beszúrnia.
Az alkalmazás kurzor elhelyezéséről és találati tesztelésről gondoskodik a ScriptXtoCP és a ScriptCPtoXhasználatával. További információkért lásd: A kurzor elhelyezésének kezelése és találatvizsgálat.
Ha betűfüggetlen módon szeretné lekérni a szélességeket, az alkalmazás meghívja ScriptGetLogicalWidths. Ha a logikai szélességeket átengedi ScriptApplyLogicalWidth, a szövegblokkok ugyanabban a határban, elfogadható minőségromlás mellett is megjeleníthetők, még akkor is, ha az eredeti betűtípus nem érhető el. Létrehoz egy glifaszélességeket tartalmazó tömböt (haladási szélességeket), amely alkalmas a ScriptTextOuthasználatra. Az előzetes szélességű információk betűtípusfüggetlen módon történő rögzítése és újbóli alkalmazása hasznos lehet olyan helyzetekben, mint például az alkalmazás által meghatározott formátumban történő metaadat-szűrés.
Jegyzet
A metafájlok nem támogatják a karakterjelindexeket. Továbbfejlesztett metafájlba való íráshoz az alkalmazásnak ExtTextOut kell használnia, és közvetlenül meg kell írnia a logikai karaktereket. Ezzel a mechanizmussal a karakterjel létrehozása és elhelyezése csak a szöveg lejátszása után következik be.
Az alapértelmezett, üres, kashida és így tovább betűtípushoz használt adott karakterjelek lekéréséhez az alkalmazásnak meg kell hívnia ScriptGetFontProperties. Annak megállapításához, hogy a futtatás mely karaktereit támogatja a kijelölt betűtípus, az alkalmazás meghívja ScriptGetCMap. A nem elérhető karakterek alapértelmezett karakterjele a karakterjelpufferben van. Vegye figyelembe, hogy ez a módszer akkor hiúsul meg, ha egy betűtípus egy karaktert jelenít meg egyetlen karakterjel helyett egy karakterkombinációval. Például: 00C9; A LATIN NAGYBETŰ E AKUT BETŰvel nagy E-glifával és akut karakterjellel jeleníthető meg. Az ilyen kódpontokat tartalmazó sztring betűtípus-támogatásának meghatározásához az alkalmazás meghívhatja ScriptShape. További információ: Formázómotorok használata.
A ScriptCacheGetHeight függvény a betűtípus magasságát adja vissza a betűtípus-gyorsítótárból. ScriptGetProperties információkat nyújt a speciális feldolgozásról, szkriptek szerint indexelve. Tartalmazza például a szkripthez társított elsődleges nyelvet, az adatokat, amelyek azt jelzik, hogy a szkript numerikus-e, és azokat az adatokat, amelyek azt jelzik, hogy a szkript összetett szkript-e.
ScriptGetGlyphABCWidth egy adott karakterjel ABC szélességét adja vissza, ami a karakterjeldiagramok rajzolása során hasznos lehet. Ez azonban nem használható normál összetett szkriptszöveg-formázáshoz.
Kapcsolódó témakörök