Udostępnij za pośrednictwem


Korzystanie z funkcji ScriptString

W przypadku aplikacji obsługującej niesformatowany tekst uniscribe udostępnia funkcje ScriptString*. Te funkcje są podobne do ExtTextOut, DrawTexti GetTextExtent, ale zapewniają pełną obsługę złożonych skryptów, w tym umieszczanie karetek. Te funkcje są podobne do innych funkcji Uniscribe, ale są dostosowane do prostszych wymagań dotyczących przetwarzania zwykłego tekstu.

W poniższej tabeli przedstawiono ScriptString* funkcje i wszelkie odpowiedniki w innych funkcjach Uniscribe.

Funkcja Opis
ScriptStringAnalyse Analizuje zwykły tekst. Ta funkcja odpowiada następującym funkcjom:
ScriptItemize
ScriptShape
ScriptPlace
ScriptBreak
ScriptGetCMap
ScriptJustify
ScriptLayout
ScriptStringCPtoX Pobiera współrzędną x dla pozycji znaku. Ta funkcja odpowiada ScriptCPtoX.
ScriptStringFree Zwalnia strukturę SCRIPT_STRING_ANALYSIS.
ScriptStringGetLogicalWidths Konwertuje szerokości wizualizacji na szerokości logiczne. Ta funkcja odpowiada ScriptGetLogicalWidths.
ScriptStringGetOrder Mapuje pozycje glifów znaków w podobny sposób do GetCharacterPlacement, wyłącznie do użytku w starszych systemach. Ta funkcja nie działa dobrze w przypadku skryptów, które generują więcej niż jeden glyph na punkt kodu.
ScriptStringOut Wyświetla zwykły tekst. Ta funkcja odpowiada ScriptTextOut.
ScriptString_pcOutChars Zwraca wskaźnik do długości przyciętego ciągu zwykłego tekstu.
ScriptString_pLogAttr Zwraca wskaźnik do buforu atrybutów logicznych dla przeanalizowanego ciągu zwykłego tekstu.
ScriptString_pSize Zwraca wskaźnik do rozmiaru (szerokość i wysokość) dla przeanalizowanego ciągu tekstu niesformatowanego.
ScriptStringValidate Identyfikuje nieprawidłowe sekwencje punktów kodu w danym skrycie. Ta funkcja różni się od ScriptGetCMap, która identyfikuje punkty kodu, które nie występują w czcionki.
ScriptStringXtoCP Konwertuje współrzędną x na pozycję znaku. Ta funkcja odpowiada ScriptXtoCP.

Aby wyświetlić tylko zwykły tekst bez żadnych modyfikacji, aplikacja powinna wywołać ScriptStringAnalyse, ScriptStringOut, a następnie ScriptStringFree. Inne funkcje są używane do modyfikowania zwykłego tekstu przed wyświetleniem.

Przy użyciu Uniscribe