使用 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。 其他函数用于在显示之前修改纯文本。
相关主题