Cod*_*Dan 5 windows unicode rtf richedit textout
这张照片说明了我的困境:
所有字符看起来都一样大小,但是在RichEdit控件中显示时,与我使用ExtTextOut时相比,它们之间的间距是不同的。
我想呈现与RichEdit控件中相同的字符(理想情况下),以保留换行位置。
谁能告诉我:
a)哪个更正确的表示形式?
b)为什么RichEdit控件显示的文本在亚洲字符之间没有空格?
c)有什么方法可以使ExtTextOut在绘制这些字符时重现RichEdit控件的行为?
d)如果我正在使用亚洲版本的Windows,这会有什么不同吗?
也许我很乐观,但是如果有人可以提供任何提示,我将非常感兴趣。
如果有帮助:
这是我的文字:
???????????1 2 3 4 5 6 7 8 9 0
Run Code Online (Sandbox Code Playgroud)
向亚洲读者表示歉意,这只是为了测试我们的Unicode实现,我什至不知道字符取自哪种语言,更不用说它们是否意味着任何意义了
为了通过将这些字符粘贴到RichEdit控件(例如,写字板)中来查看效果,您可能会发现必须滑动它们并将字体设置为“ Arial”。
我获得的富文本为:
{\ rtf1 \ ansi \ ansicpg1252 \ deff0 \ deflang2057 {\ fonttbl {\ f0 \ fnil \ fcharset0 Arial;}} {\ colortbl; \ red0 \ green0 \ blue0;} \ viewkind4 \ uc1 \ pard \ sa200 \ sl276 \ slmult1 \ lang9 \ fs22 \ u24555?\ u30340?\ u26837?\ u33394?\ u29392?\ u29432?\ u36339?\ u22312?\ u25078?\ u24816?\ u29399?1 2 3 4 5 6 7 8 9 0 \ par \ pard \'a3 $$ \ '80 \ '80 \ cf1 \ lang2057 \ fs16 \ par}
它似乎不包含字符“ pitch”的值,这是我的第一个想法。
我不知道答案,但有几点值得怀疑:
@
放在其前面。也许您在丰富的编辑控件中使用了错误的控件。更新:通过摆弄写字板,我能够重现富编辑控件中拥挤文本的问题。
文本现在将变得拥挤,与您的示例非常相似。因此,根本问题似乎在于字体链接和后备。 ExtTextOut
可能是自动为脚本选择合适的字体。您的挑战是弄清楚如何识别脚本的正确字体并在丰富的编辑控件中设置该字体。
归档时间: |
|
查看次数: |
995 次 |
最近记录: |