引自http://www.chinasvg.com/svg/about-svg/svg-chinese-garbled-steps-and-methods.html
好多SVG编
辑器都有不能正常支持中文,后来自己手工创建SVG文件,却也不能在浏览器插件里正常显示。还以为是插件问题(如adobe svg
viewer和corel svg
viewer等),象我用inkscape,就能很好的处理中文,但却不能在浏览器里正常显示!不知为什么,还真以为插件问题。查看svg
viewer的技术规范,都说是支持utf-8的,那是什么问题呢?难道是文字编码问题,后来几经测试,用各种编码及encoding头,还是不对劲。
后来我好不容易总算琢磨出问题所在,原来你必须给中文加上中文字体。看来adbobe svg viewer和corel svg
viewer缺省都没有带支持某种中文字体的,不象inkscape,能正常显示中文。因此,在这种情况下,给中文加上某种字体的样式,就可以正常显示而
不是一些框框了,包括从W3C来的一些SVG中文幻灯片,给它加上中文某中字体的样式才行!
以上两段引用了eureka 的blog文章,他说得没错,造成SVG的中文乱码问题,主要是由于在SVG中对中文字体的定义有误造成的。那怎样才能彻底解决SVG中文乱码问题呢?下面是解决SVG中文乱码的步骤及方法:
1 首先要将SVG文件保存成UTF-8的编码格式。
操作:UltraEdit file->convisions->ASCII to UTF-8
2 要在svgviewer中显示中文字体,需要将中文字体名称进行“国际化”,
即将汉字字体名称改为英文名称,如将“宋体”改为“Simsun",“黑体”改为"Simhei"等,下面是部分字体对照列表:
English Name
|
Localized Name |
SimSun |
宋体 |
SimHei |
黑体 |
FangSong_GB2312 |
仿宋_GB2312 |
KaiTi_GB2312 |
楷体_GB2312 |
YouYuan
|
幼圆 |
STSong |
华文宋体 |
STZhongsong |
华文中宋 |
STKaiti |
华文楷体 |
STFangsong |
华文仿宋 |
STXihei |
华文细黑 |
STLiti |
华文隶书 |
STXingkai |
华文行楷 |
STXinwei |
华文新魏 |
STHupo |
华文琥珀 |
STCaiyun |
华文彩云 |
FZYaoTi |
方正姚体简体 |
FZShuTi |
方正舒体简体 |
LiSu |
隶书 |
3 SVG文件应该像下面这种格式编写:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg width="400" height="400"
xmlns="http://www.w3.org/2000/svg">
<desc>sdfasdf</desc>
<rect x="1" y="1" width="350" height="350"
fill="none" stroke="blue" />
<text style="fill:black;" font-size="30" font-family="SimSun" x="100" y="100" width="200" height="30">
显示的是中文
</text>
</svg>
4 你还应该特别注意上面示例中的第一行代码
<?xml version="1.0" encoding="UTF-8"?>
这行代码是说这个SVG文件是UTF-8编码来定义的。
如果是Illustrator中制作的SVG怎样解决编码问题?那可以参见"怎样对Illustrator制作的SVG进行优化"
,文章介绍了Illustrator保存SVG时,我们对保存的选项进行调节,来控制SVG的编码、字体类型、字体子集、是否压缩格式以及生成适用于不同设备(如手机)的SVG文件。
(THE END)
分享到:
相关推荐
通过以上步骤,我们应该能够在ASP.NET环境中成功解决Highcharts导出图片时的中文乱码问题。在实际操作中,可能还需要根据具体的应用环境和需求进行微调。记住,关键在于理解和控制数据在服务器与客户端之间的编码...
通过以上步骤,你应该能够成功解决JFreeChart在Linux环境下的中文乱码问题。如果问题依然存在,可能需要进一步检查你的代码中是否有其他地方使用了错误的编码,或者尝试更新JFreeChart到最新版本,看是否已经修复了...
在Linux环境下使用Highcharts生成图表时,可能会遇到一个常见的...通过以上步骤,大部分情况下都能解决Highcharts在Linux下保存图片时的乱码问题。如果问题依然存在,可能需要进一步检查具体环境,或者寻求社区的帮助。
`libqrencode`就是这样一款开源、纯C编写的二维码生成框架,它为开发者提供了便捷的API接口,可以方便地集成到各种应用程序中,解决了生成中文二维码时可能出现的乱码问题。 1. **libqrencode简介** `libqrencode`...
解决此类问题的方法包括检查字体设置是否支持中文字符集,以及确保数据源的编码与BIEE环境一致。 **2. 图形中“上”字、“名”字和“作”字的链接错误** - **解决办法**:此类问题可能是由于图表中的超链接配置不...
这种方法虽然繁琐,但能有效解决在报表中使用SVG图像的问题。需要注意的是,在修补过程中可能会遇到中文字符显示异常和XML校验错误,这些问题同样可以通过修改源码来解决。 ### 解决中文显示问题 在处理中文报表时...
6. **导入/导出**:支持多种格式的导入和导出,如SVG、PNG、PDF等,方便与他人共享和协作。 7. **打印和演示**:用户可以直接打印流程图,或者制作成幻灯片进行演示,方便在会议或课堂上展示。 在实际应用中,...
首先,我们需要了解在Altium Designer中添加文字的基本步骤。在设计界面中,选择“Tools”菜单,然后选择“Place”下的“Text”选项,或者直接使用快捷键“T”,即可进入文本编辑模式。此时,你可以点击工作区放置...
本压缩包中的源代码提供了在C#中实现QRCode生成的解决方案,特别针对中文乱码问题进行了优化。 首先,我们需要理解二维码的基本原理。QRCode(Quick Response Code,快速响应码)是由日本Denso Wave公司于1994年...
阿里巴巴矢量图标库,通常称为Iconfont,提供了丰富的图标资源,支持多种格式,包括SVG、Webfont、CSS等。下面我们将详细探讨如何在项目中集成和使用这些图标。 首先,我们需要了解`iconfont.css`和`iconfont.js`这...
解决中文乱码问题** 在JFreeChart 1.0.13版本中,由于编码设置的原因,可能会出现中文乱码问题。解决这个问题通常需要以下步骤: 1. 确保你的数据源(如CSV或数据库)使用正确的字符编码,通常是UTF-8。 2. 在...
解决方法是在服务器上安装必要的中文字体,或者在jGraphX的渲染过程中指定可用的中文字体。 总的来说,实现这个功能需要对前端的mxGraph和后端的jGraphX有深入的理解,以及处理XML和图片转换的技巧。解决上述问题...
根据给定的信息,我们可以推断出这是一篇与“动态汉字显示”相关的文章或文档。虽然提供的内容看起来像是乱码或者特殊字符,并没有直接提供关于动态汉字显示的具体信息,但结合标题、描述以及标签,我们可以围绕这个...
- **目标受众**:面向中文用户,尤其适合初学者和有一定Java基础的开发者。 - **学习资源**:教程鼓励读者通过官方帮助中心获取更详尽的信息,并强调了持续更新的重要性。此外,还提供了GitHub仓库供用户参与改进...
因此,使用这个修改过的jar包,可以避免在生成PDF时出现乱码或者中文字符不完整的情况。 为了使用这些库,你需要在你的项目中引入相应的jar文件。在提供的压缩包文件列表中,虽然没有具体的文件名,但通常会包含...
由于提供的文件内容中包含了大量无法理解的乱码和非标准字符,无法直接从中提取有价值的信息。为了完成任务,我将基于标题和描述提供的信息,结合我所掌握的知识,来详细说明如何在Canvas中使用D3.js。 首先需要...
在处理中文文本时,由于字体支持的问题,可能会遇到显示不全或者乱码的情况,因此需要进行相应的配置。 在Windows系统中,由于系统通常内置了对中文字符的支持,配置相对简单。但仍然需要注意以下几点: 1. **字体...
"同时解决了报表统计的中文乱码!"这一描述意味着JFreeChart在处理非英文字符时表现出良好的兼容性。在处理中文或者其他多语言环境下的数据时,JFreeChart能够正确地显示和输出文本,避免了常见的编码问题,这对于在...
5. 渲染到图像:调用`Renderer`的`renderToImage`方法,将文档渲染为图像。 6. 保存图像:使用`ImageIO`类将生成的图像保存到本地文件。 **3. 示例代码** ```java import org.cssbox.render.*; public class ...
此外,Aspose.CAD还支持其他功能,如转换为其他格式(如SVG、PNG等),调整输出质量和尺寸,以及进行一些基本的CAD操作。对于企业级开发,购买Aspose.CAD的商业许可证是必要的,以确保合法使用并获得官方技术支持。 ...