关于qt如何显示svg矢量图片中的中文

本文讲述了在Ubuntu系统下,使用Qt显示SVG矢量图时遇到的中文显示问题。通过排查字体库、尝试不同解决方案,最终发现是SVG文件中缺少字体格式声明,通过删除XML文件中的字体格式信息,让Qt自动选择默认字体,成功解决了SVG中文显示问题。
摘要由CSDN通过智能技术生成

  今天终于拿到svg格式的矢量图,之前使用开发板最多只能输出1024*768分辨率的图像,而显示器是1920*1080的分辨率,显示起来非常不清楚,于是想到用矢量图。

可是矢量图到手之后,简直就是噩梦的开始。

  首先是windows下用ie打开之后出现乱码,接着用svg插件搞定。然后在虚拟机上在redhat系统下用qt编码,问题出现了,无法显示图片中的文字(包括中文和英文)。当时真是第一次遇到这种情况,奇了怪了。后来经过前辈工程师的指点,原来svg图片是用xml语言描述的,于是用文本编辑器打开,查看源代码,发现其字体格式为“微软雅黑”。我的redhat下没有微软雅黑,怪不得无法显示,先不管,上板子,然后把微软雅黑的字体库拷贝到板子上,结果试了很多路径,都没有任何效果(板子是ubuntu系统,字体路径为/usr/share/fonts/truetype,可惜没有用,后来又想到也许是qt库的问题,但是找了半天找不到qt的字库存放目录,ubuntu下没有在嵌入式平台的fonts目录)。于是想到在windows下是否可行,结果证明在windows下,qt可以完美运行svg图片并且显示中文。

这下我们又陷入了沉思。。。到底是神马原因呢?于是开始到网上找为ubunu换字体的方法,试过清空字体缓存的办法,也试过在文件上直接点击“install font”,但是依然都没用。我都快斯巴达了。。。。

  下班前总结出一个结论,那就是既然无法在ubuntu上安装svg需要的字库,那么就找到ubuntu的中文字库,然后改svg代码。抱着这样的希望,俺下班回家了。

  回家之后,正

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值