请选择 进入手机版 | 继续访问电脑版

大富翁Delphi开发技术网站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 488|回复: 4

[未解决] xe10.2 文本控件中文标点无法正常显示

  [复制链接]

6

主题

20

帖子

108

积分

注册会员

Rank: 2

积分
108
发表于 2017-6-12 23:15:47 | 显示全部楼层 |阅读模式
开发交流
支持版本: Delphi XE10 
资源分类: 控件 

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
文本控件中文标点无法正常显示,如label edit memo  button等显示文本的地方,中文标点在安卓下不能正常显示,显示的是白色的字符,字符是对的,就是颜色不对,文字显示正常
转载请保留当前帖子的链接:http://www.dfwlt.com/forum.php?mod=viewthread&tid=2375 谢谢!

搜索简单,分享不易,且分享且珍惜,您难道不想分享下您的心得?如果觉得本文章好的话,您可以在我们网站上注册,然后发布您的好的心得,让大家共同进步,谢谢!

最新添加

回复

使用道具 举报

0

主题

2

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2017-10-13 19:13:35 | 显示全部楼层

回帖奖励 +1

我也发现有这个问题,可以将此BUG提交便于下步修正
回复 支持 反对

使用道具 举报

0

主题

4

帖子

42

积分

新手上路

Rank: 1

积分
42
发表于 2017-10-29 14:17:27 | 显示全部楼层
本帖最后由 z_y_b 于 2017-10-29 18:34 编辑

提供一个不完美的解决方法:
找到FMX.TextLayout.GPU.pas这个文件,Copy到任何一个FMX工程目录下,打开这个文件,在645行找到这个procedure TTextLayoutNG.DoDrawLayout(const ACanvas: TCanvas);
函数,然后添加一个变量:lchar:UCS4Char;
在712行,即for K := 0 to LRun.Chars.Count - 1 do   
begin
之后加入:
lchar:=LRun.Chars[k];
在743行,即
ColoredGlyph := TFontGlyphStyle.ColorGlyph in Rec.Glyph.Style;
这行之后插入如下代码:
if (lchar>$3000) and (lchar<$3021) the   
ColoredGlyph:=False;
编译后将FMX.TextLayout.GPU.dcu和FMX.TextLayout.GPU.o文件分别Copy到相应lib目录下,覆盖原文件。这个方法不够完美,但可以解决这个问题。






FMX.TextLayout.GPU.zip

10.39 KB, 下载次数: 0

修改后的源码

回复 支持 反对

使用道具 举报

0

主题

4

帖子

42

积分

新手上路

Rank: 1

积分
42
发表于 2017-10-29 14:20:03 | 显示全部楼层
http://www.cnblogs.com/onechen/这个博客提供了思路,不敢独享。
回复 支持 反对

使用道具 举报

6

主题

20

帖子

108

积分

注册会员

Rank: 2

积分
108
 楼主| 发表于 2017-11-29 10:57:55 | 显示全部楼层
z_y_b 发表于 2017-10-29 14:17
提供一个不完美的解决方法:
找到FMX.TextLayout.GPU.pas这个文件,Copy到任何一个FMX工程目录下,打开这 ...

很久没来,才看到,感谢分享,已解决,用了龟山的文件,原理和你的一样
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

申请友链|Archiver|手机版|小黑屋|大富翁Delphi开发技术网站 ( 苏ICP备12065705号-4

GMT+8, 2017-12-13 17:18 , Processed in 0.107841 second(s), 36 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表