gpt4 book ai didi

c - XmMULTIBYTE_TEXT 或 XmWIDECHAR_TEXT 模式下的 XmStringGenerate()

转载 作者:太空宇宙 更新时间:2023-11-04 03:33:26 28 4
gpt4 key购买 nike

我正在尝试使用 XmLabel 显示一些 Unicode(实际上是西里尔文)和服务器端 XLFD 字体 (-monotype-arial-medium-r-normal--*-90-*-*-p-*-iso10646-1)。每当我使用 XmStringCreate()XmStringCreateLtoR()作为XmString工厂,结果符合我的预期。

当我尝试使用 XmStringGenerate() 时然而,工厂为多字节 Unicode 字符串传入 XmMULTIBYTE_TEXT,或为宽字符串传入 XmWIDECHAR_TEXT,无论使用何种字体,垃圾都会呈现在屏幕上(我尝试了 UTF-8 和单字节西里尔服务器端字体)。

结果如下所示(第 1 2 行没问题,第 2 到第 6 标签是用 XmStringGenerate() 创建的,显然没问题):

enter image description here

完整代码(需要 Motif 2.1+ 和 C99 兼容的编译器)是 here .

谁能推荐一个适用于显示 Unicode 字符(不仅仅是 ISO-8859-1)的工作 XmStringGenerate() 示例?

最佳答案

XmMULTIBYTE_TEXT 依赖于语言环境,如 n.m建议,并且,除了CJK (即对于罗马和斯拉夫语言),只能在 UTF-8 语言环境中使用。核心 X11 字体可以指定为字体 (XmFONT_IS_FONT):

-monotype-arial-medium-r-normal--*-90-*-*-p-*-iso10646-1

字体集(XmFONT_IS_FONTSET):

-monotype-arial-medium-r-normal--*-90-*-*-p-*-*-*:

说到 XmWIDECHAR_TEXT 模式,似乎不可能用显式编码指定合适的字体,但设置一个字体集反而对 Motif 2.1 到 2.3 非常有效。

关于c - XmMULTIBYTE_TEXT 或 XmWIDECHAR_TEXT 模式下的 XmStringGenerate(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34360066/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com