Использование функций ScriptString
Для приложения, которое работает с неформатизованным текстом, Uniscribe предоставляет функции ScriptString* . Эти функции похожи на ExtTextOut, DrawText и GetTextExtent, но обеспечивают полную поддержку сложных скриптов, включая размещение курсоров. Эти функции аналогичны другим функциям Uniscribe, но адаптированы к более простым требованиям обработки обычного текста.
В следующей таблице подробно описаны функции ScriptString* и все их аналоги в других функциях Uniscribe.
Функция | Описание |
---|---|
ScriptStringAnalyse | Анализирует обычный текст. Эта функция соответствует следующим функциям: |
ScriptStringCPtoX | Извлекает координату x для позиции символа. Эта функция соответствует ScriptCPtoX. |
ScriptStringFree | Освобождает структуру SCRIPT_STRING_ANALYSIS . |
ScriptStringGetLogicalWidths | Преобразует визуальные ширины в логические ширины. Эта функция соответствует ScriptGetLogicalWidths. |
ScriptStringGetOrder | Сопоставляет позиции глифов символов так же, как и GetCharacterPlacement, только для использования прежних версий. Эта функция плохо работает со скриптами, которые создают более одного глифа для каждой кодовой точки. |
ScriptStringOut | Отображает обычный текст. Эта функция соответствует ScriptTextOut. |
ScriptString_pcOutChars | Возвращает указатель на длину обрезанной строки обычного текста. |
ScriptString_pLogAttr | Возвращает указатель на буфер логических атрибутов для проанализированной строки обычного текста. |
ScriptString_pSize | Возвращает указатель на размер (ширину и высоту) проанализированной строки обычного текста. |
ScriptStringValidate | Определяет недопустимые последовательности кодовых точек в заданном скрипте. Эта функция отличается от ScriptGetCMap, которая определяет кодовые точки, отсутствуют в шрифте. |
ScriptStringXtoCP | Преобразует координату x в позицию символа. Эта функция соответствует ScriptXtoCP. |
Чтобы отображать только обычный текст без каких-либо изменений, приложение должно вызывать ScriptStringAnalyse, ScriptStringOut, а затем ScriptStringFree. Другие функции используются для изменения обычного текста перед отображением.
Связанные темы