SVG页面处理程序草案

作者:Eureka 撰稿时间:2005-03-12

SVG文档编写之应用程序选择:

大的应用软件:大公司Adobe及Corel都在他们的产品中加入SVG支持。可以用他们的产品生成SVG文件,但这些文件都不是原生文件,产生大量垃圾代码,所以我也不采用。

这里有W3C的执行页面:http://www.w3.org/Graphics/SVG/SVG-Implementations.htm8 但都比较老,只有一个是2003年前的,其它都在2003年以前的,今年都已经2005年了。有个在http://www.svgi.org/的列表现在还没出来。

其中好多都是基于java的,这些我现在也暂时没在用。对于服务器端的,也没在用。

我的选择是,原生的,原代码可编辑的,支持更多标准的。

 

我当前选用的SVG编辑器及浏览器选择

  • 基于windows的 jasc webDraw:现已属于Corel旗下,希望他们早日推出支持中文(utf-8)以及支持象corel svg viewer 一样能引用外部文件的原生编辑器,那就更爽了。
  • 基于Linux但可用在windows下的Inkscape,现在已经0.41版本了。这也是当前非常好的一个SVG编辑器了,继承和发扬了sodipodi,能显示中文。
  • Xstudio 比webdraw功能强,感觉能象dreamweaver一样使用原码,但也不能很好的支持中文。如果出现中文会转成代码,并且显示中文还有问题。
  • 文本编辑器UltraEdit ,支持utf-8。
  • Adobe svg viewer及Corel svg viewer,后者支持引用外部文件,非常有意思。
  • firefox能支持原生SVG的浏览。

处理软件选择问题

当前没有一个象dreamweaver编辑HTML一样优秀的编辑器来编辑SVG文件。象inkscape有xml editor,并且支持中文输入,但不是直接更改原码的。Webdraw不支持中文,不支持utf-8,它会自动格式化你的原代码,例如对齐,去掉一些代码,加入一些代码,如去掉小数后的零,加入doctype等,但基本上是原生的编辑器。

也就是说,一个SVG文件,如果用inkscape编辑,则会按inkscape的原码组织规则进行组织。如果用webdraw进行编辑,则会按webdraw的规则对原码进行处理。如果使用xstudio,看上去还可以,能显示原码,但还是会更改utf-8代码的,导至中文的显示为乱码!虽然两者都native,不象大软件一样本来就不是用来做SVG的。但对中文不支持是比较讨厌的事情。不过大家都不支持use外部文件的。xstudio我还没找到它的确解,试用30天并且还有一个印记在编辑器上不舒服,(已经花了大量时间给它了!还是没找到破解,它的好处就是象dreamweaver一样很原生,我是希望用),后来看看虽然可用30天,并且30天过后改一下日期还可以用。所以暂时还可以用一用。

关于中文,inkscape和xstudio是支持utf-8的,inkscape能把中文放在原文件里,而xstudio则会把中文转换为unicode,但转换后显示出来的就不是原来的中文了(!)。所以如果中文文档,则经过它们编辑后都会面目全非。并且两个浏览器都不能显示中文。

可惜的事,说是挺强大的xstudio,处理起defs里的东西还是不对,显示出来一踏湖涂!真搞不懂怎么回事了,并且在webdraw里都能正常显示的东西都不能正常显示!

 

折衷的处理过程标准:

本来要参考svg basic 和svg tiny的,以便以后能在手机和其它设备上使用。考虑到这个进程实在还有一段时间,就暂不考虑了。还是以实用为主,需要处理的话以后再说吧。(不去考虑得太多,说不定以后又有更好的编辑器和转换器等等)

编辑器:记事本,ultraedit, webdraw, inkscape,xstudio

浏览器:inkscape aobe svg viewer, corel svg view.

可用用inkscape处理路径,由图形生成路径的功能挺好用。

xstudio处理svg文件

svg viewer查看原文件,并把它拷到ultraedit里,这样就可以看到汉字而不是unicode码了,呵呵。

webdraw不支持中文暂靠一边。

用viewer来生成图片再截屏制作成其它文件(可惜屏幕总没有足够大)。

也可用imagemagick, webdraw, inkscape导出其它图片, 不过总有有些问题。

本站SVG tidy设置:(按字母顺序)

本站的SVG编写风格和照html编写标准进行。只改动ouput-xml input-xml output-xml选项。详细说明亦参照html编写标准

alt-text: "e"
bare: no
char-encoding:raw
clean: yes
css-prefix: ee
doctype:strict
drop-font-tags: yes
drop-proprietary-attributes: yes
fix-uri:no
indent:yes
indent-attributes:no
indent-cdata: yes
indent-spaces: 2
input-encoding:raw
input-xml: yes
join-classes:yes
join-styles:yes
logical-emphasis:yes
output-xml:yes
punctuation-wrap:no
quote-marks:no
quote-nbsp:yes
tidy-mark:no
vertical-space:yes
word-2000:yes
wrap:0
wrap-php:no

该标准将将output-xml改为output-xhtml,把input-xml改为no则可用在xhtml文档的格式化。

XHTML1.1   CSS   CC   CC中文   直接打印   易易工作室   易网