_skyfly

我不要在IT中迷失方向

SVG使用体会

这些天来研究XML的各类应用。前天花了近一天的时间来研究SVG图形文件格式。发现这个规范的确很好,如果研究好了,以后就应用在项目上,应该很酷的。

不过试验的时候,老是中文无法显示,搞得我灰头灰脸的。都怀疑我是不是弱智了。

按以前处理xml文件的经验,我先把语言编码加入SVG。呵呵,这里犯了一个错误,因此我的xmlWriter认为不是良好格式文档。原来是顺序声明错误啦。
<?xml version="1.0" standalone="no" encodeing="GB2312" ?>,能看出来哪儿错了吗,原来应当写成
<?xml version="1.0" encodeing="GB2312" standalone="no" ?>,晕,没细看标准的代价,害得我在网上查来查去。

但是这样还是不能显示中文,再晕~~~~~~~~~~,再去网上查~~~~~~~~,哈哈,原来有人也遇到过这个问题哟,网上牛人蛮多呀,前辈哟,看看eureka的心得(http://www.ee-studio.com/drupal/node/447/print):

好多SVG编辑器都有不能正常支持中文,后来自己手工创建SVG文件,却也不能在浏览器插件里正常显示。还以为是插件问题(如adobe svg viewer和corel svg viewer等),象我用inkscape,就能很好的处理中文,但却不能在浏览器里正常显示!不知为什么,还真以为插件问题。查看svg viewer的技术规范,都说是支持utf-8的,那是什么问题呢?难道是文字编码问题,后来几经测试,用各种编码及encoding头,还是不对劲。

后来我好不容易总算琢磨出问题所在,原来你必须给中文加上中文字体。看来adbobe svg viewer和corel svg viewer缺省都没有带支持某种中文字体的,不象inkscape,能正常显示中文。因此,在这种情况下,给中文加上某种字体的样式,就可以正常显示而不是一些框框了,包括从W3C来的一些SVG中文幻灯片,给它加上中文某中字体的样式才行!

不过我用的编辑器里,webdraw 和 xstudio还是不支持中文的!不能很好的处理,只有inkscape,能很好的支持中文。但它不带有原生的SVG代码编辑,其xml editor是对节点进行编辑的,不能对原文件进行编辑。呵呵,事物总是不断发展吧。

哈哈,这不正是我要的吗,试试去喽。感谢eureka!

posted on 2005-10-10 09:54 龙井2008 阅读(1613) 评论(2)  编辑 收藏 引用 所属分类: 工作感言

评论

# re: SVG使用体会 2006-07-07 22:50 guest

如何“给它加上中文某中字体的样式”?你的意思是,encoding还是用UTF-8,但是加上中文字体样式?

我现在用Imagemagick将SVG转换成JPG,如果在SVG中指定encoding="GB2312",而且SVG文件中有中文,则转换时说"Unsupported encoding GB2312。能否直接用GB2312呢?

谢谢  回复  更多评论   

# re: SVG使用体会 2006-07-11 10:47 龙井2008

是的,encoding还是用UTF-8,形如:
<text transform="matrix(1 0 0 1 304.3062 28.1558)" font-family="'SimSun'" font-size="6.25">地址: 南京市珠江路517号东方大厦8楼 </text>
  回复  更多评论   

只有注册用户登录后才能发表评论。