# Adobe® SVG Viewer for Windows

## 发布说明

### Version 2.0 (Build 55, 3/14/01)

## Contents

- 关于 SVG Viewer
- 系统要求
- 如何安装 SVG Viewer
- 如何复制 Netscape 增效工具到其它浏览器
- 如何在您的网页浏览器中查看 SVG 文件
- 如何将作品转换入 SVG
- 提示和建议
- 已知的问题
- 修订历史
- 联系信息
- 版权通知
- 关于 Adobe 对 SVG 支持的详细资料

## 关于 SVG Viewer

Adobe SVG Viewer 支持 2000 年 11 月 2 日发布的 Candidate Recommendation SVG 规范草案中的大部分功能。请记住该规范仍在发展中，并且将继续完善直至成为被推荐的规范。

## 如何安装 SVG Viewer

1. 安装前，请关闭所有用旧版本增效工具来查看 SVG 的应用程序。
2. 运行安装器。最新发布的安装器可以从 http://www.adobe.com/svg/viewer/install下载。.

## 如何复制 Netscape 增效工具到其它浏览器

如果您安装的是另一份 Netscape 增效工具支持的 Netscape 或 Internet Explorer，您可以复制以下文件到您的增效工具文件夹，从而可以直接从该浏览器查看 SVG：

- NPSVGVw.dll
- SVGView.dll
- SVGViewer.zip

## 如何在您的网页浏览器中查看 SVG 文件

只要您安装了 Adobe SVG Viewer，您就可以在任何受支持的网页浏览器中查看从 Illustrator 导出的 SVG 文件。

## 如何将作品转换入 SVG

您可以从 Illustrator 9 导出 SVG。您可以在 Illustrator 中创建自己的作品，将其作为 SVG 导出，然后在为其添加 JavaScript 交互操作、动画、或滤镜效果。

## 提示和建议

- “样式”属性（或使用实体引用的样式属性）比内嵌样式表的渲染速度更快。
- 在`滤镜`元素的 `x`、`y`、`宽度`和`高度` 等属性使用紧凑的百分比，这样可以尽可能地缩小滤镜需要计算的区域。这极大地提高了图形的显示速度。
- 您通过对传递进来的`evt`对象调用`getTarget`函数即可从 SVG 时间处理程序恢复 SVG 文件对象。例如：

        // Retrieve the SVG document object:
        var directTarget = evt.getTarget();
        var svgDocument;
        if( directTarget.getNodeType() != 9 )  // if not DOCUMENT_NODE
          svgDocument = directTarget.getOwnerDocument();
        else
          svgDocument = directTarget;

## 系统要求

- Windows 95、98、2000、或 NT 4.0
- Netscape Netscape Navigator 或 Communicator 4.0 至 4.75，或 Internet Explorer 4.0 或更新版本。不支持 Netscape 6。
- 13 MB 硬盘空间
- 建议 32 MB内存

## SVG Viewer 中已知的问题

### 所有浏览器

1. 靠近 SVG 图形边缘的元素可能无法接受鼠标移出事件。

### Internet Explorer

1. 您必须安装 Internet Explorer 4 或更新版本才能在其它应用程序（如 Microsoft Office）中使用 SVG Viewer 就象是使用 ActiveX 控制一样。
2. 如果您打开多个包含指向同一 SVG 文件链接的窗口，而 SVG 文件是以 HTML 的 <embed> 标签嵌入的，那么您在打印其中一个窗口时，它会受到其它窗口中 DOM 变化的影响。这是由于 Internet Explorer 的功能限制所致。
3. 由于 Internet Explorer 的限制，您不可能从在 SVG 文件中定义的脚本来查看其它窗口的属性。
4. Windows 版的 Internet Explorer 不支持使用 Adobe SVG Netscape 增效工具。

### Netscape

1. Netscape 4.x 增效工具不能执行 `onunload`脚本，因为当时增效工具会接收到从 Netscape 发出的提示：增效工具正在卸载，增效工具的脚本环境已被关闭。
2. 利用增效工具打印时，Netscape 6.0 会报错，而且打印不出嵌入的内容。Netscape 将报告两个增效工具错误警告。忽略这些警告将使 Netscape 打印 HTML 页面时用空白区域取代 SVG 内容。
3. 离开网页时，Netscape 会经常先卸载 Adobe SVG Viewer 增效工具，然后再结束 HTML 中所有运行的脚本。因此，您在编写检查脚本时必须特别小心，侃侃从 HTML 中 JavaScript 脚本的 `setTimeout` 或 `setInterval`调用结果访问 SVG DOM 之前增效工具是否已载入。
4. 由于 Netscape 的设计原因，请避免使用含有以下表单的 HTML:Due to design limitations of Netscape, avoid using HTML with the following form:

         <a href="#" onclick="myScriptWhichModifiesSVG()">

   问题是 JavaScript 在回应 onclick 事件并开始执行脚本的同时还回应您已点按链接的事实，从而中断将 JavaScript 装入当前页。只要按以下所示改写编码，这个问题就可以得到解决：

         <a href="javascript:myScriptWhichModifiesSVG()">

5. 如果 JavaScript 事件处理程序包含错误，任何后续的 JavaScript 将无法执行。这是由于 Netscape 用增效工具处理被执行的脚本中的 bug 所致。
6. 由于 Netscape 脚本所限，您不能从 SVG 事件处理程序更改其它帧的 URL。
7. 由于 Netscape 脚本引擎所限，从 SVG 事件处理程序中调用 `alert()` 函数可能无法执行，而且可能会进一步造成后续 JavaScript 无法执行。任何 Netscape 情态窗口包括安全性权限窗口，均会发生类似问题。这个 bug 在 Netscape 4.75 上似乎有所改进，但不适用于 Windows 98。
8. 只要 Netscape 牵涉到适用 JavaScript 的增效工具就会有 bug。如果您利用此类增效工具载入页面，然后停用 Java 并退出浏览器，Netscape 将立即死机。
9. Netscape 并非总是允许您从 SVG 脚本中访问 `document.embeds[]`数组。要解决这个问题，请适用 `document.mySVG`，其中 `mySVG` 就是内嵌对象的名称。
10. Netscape 4.x 增效工具执行脚本的错误不会显示在 JavaScript 控制台窗口中。
11. 增效工具每执行一次脚本，Netscape 4.x 就会漏卸一定量的内存。
12. 如果您以连按方式启动 Netscape 4.x 来载入包含 LiveConnect 增效工具内容的网页，您关闭网页时会导致死机。
13. 如果您在包含增效工具（如 Adobe SVG Viewer）的网页上使用 Netscape 中的“打印预览”， Netscape 将死机。由于相似的原因，当您准备使用 Acrobat Distiller 打印包含增效工具的页面时，Netscape 也会死机。
14. 如果您使用 Netscape 4.0x 在两个窗口中查看同一 SVG 文件，而该文件对窗口对象采用的是 global JavaScript 函数，JavaScript 有时在第二个窗口中不能初始化。解决办法是升级到 Netscape 的更新版本。
15. 由于 Netscape 6 中的 bug，在 SVG 区域中单击鼠标右键无法显示上下文菜单。但事实上您已经获取到该菜单。

## 修订历史

### Adobe SVG Viewer 1.0 版后的更改

- 元素和属性：
  - 增加了对以下元素的支持：`altGlyph`、`altGlyphDef`、`font`、`font-face`、`glyph`、`glyphRef`、`hkern`、`missing-glyph`、`mpath`、`pattern`、和 `vkern`。
  - 增加了对“SVG 展示属性”的支持。
  - 完成了对 `symbol` 元素的 `use` 元素使用的支持。
  - 增加了对渐变 `spreadMethod` 属性的支持。
  - 增加了对滤镜效果新属性 `primitiveUnits` 的支持。
  - 增加了对 `feComponentTransfer` 的“离散”模式的支持。
- CSS 属性：
  - 增加了对以下 CSS 属性的支持： `alignment-baseline`、`color-interpolation`、`direction`、`dominant-baseline`、`flood-color`、`flood-opacity`、`kerning`、`lighting-color`、`pointer-events`、和 `unicode-bidi`。对 `pointer-events` 属性的支持不包括对光栅化元素透明度的支持。
  - 增加了对 `font-variant` 属性的支持，但仅限应用到 SVG 字体。
  - 删除了对 `baseline-identifier` 属性的支持，该属性在最新的规范中已被 `alignment-baseline` 属性所取代。
  - 更改了从 `even-odd` 到 `non-zero` 的属性 `clip-rule` 和 `fill-rule` 的预设值。
  - SVG 最新的 Candidate Recommendation 规范草案更改了处理 CSS 单元的方式。现在 CSS 单元被转换到用户空间发生在语法分析时，而不是象以前在显示时转换。这一点明显改变了“缩放”命令的工作方式。
- DOM:
  - 除开 `keyEvent` 界面，现在 Viewer 的 DOM Level 2 支持与 DOM 2 的 Candidate Release 规范保持一致，因为规范没有规定该界面。对该界面的支持依旧遵循在 1999 年 9 月发布的 DOM 2 规范草案的规定。
  - 增加了对 `SVGRect` 界面的支持。
  - 增加了对 `SVGPoint` 界面的支持，但不包括方法 `matrixTransform`。
  - 增加了对 `SVGTextContentElement` 界面的支持，但不包括 `getTextLength` 和 `getLengthAdjust` 属性。
  - 增加了对 `SVGDocument` 界面中 `rootElement`、`getRootElement`、`currentScale`、`getCurrentScale`、`setCurrentScale`、`currentTranslate`、`getCurrentTranslate`、和 `setCurrentTranslate`的支持。
  - 增加了对 `Element` 界面上的 DOM2 方法 `hasAttribute` 及 `hasAttributeNS`的支持。
  - 增加了对被称为 `garbageCollect` 的 `Document` 对象新的非标准方法的支持。这种方法没有参数，也不返回结果。调用这种方法可以释放以前从结构树中删除的“节点”对象。如果脚本执行的操作导致从结构树中删除节点，只要脚本对于被删除（或被返回）的节点没有其它用处，脚本即可调用文件上的 `garbageCollect`。一旦被调用，如果引用的节点在 `garbageCollect` 被调用时不是文件的组成部分，访问其方法时引用均会失败。这只是 Netscape 浏览器的优势，因为 Netscape 的 LiveConnect 没有提供弱引用支持。对于简便的跨平台支持，这种调用在 Internet Explorer 下可以进行，但在其它平台上不会起任何作用。
- 其它更改
  - 为了与最新的 Candidate Recommendation 规范草案保持一致，对 `userSpace` 单元的支持已放弃。
  - 增加了对用户样式表的支持。SVG Viewer 寻找被称为 `SVG-User-Styles.css` 的文件时遵循的搜索策略如下：

    Operating System | Paths Searched
    Windows 2000 |
    1. My Documents
    2. \Documents And Settings\<user>\Application Data
    3. \Documents And Settings\<user>\Local Settings\Application Data
    4. \Documents And Settings\All Users\Application Data
    Windows 98 |
    1. My Documents
    Windows NT |
    1. \WINNT\Profiles\<user>\Personal
    2. \WINNT\Profiles\<user>\Application Data
    Macintosh OS 8.x |
    1. System Folder:Preferences
    2. Startup Volume:Documents
    Macintosh OS 9.x (single-user) |
    1. System Folder:Preferences
    2. System Folder:Users:<user>
    3. Startup Volume:Documents
    Macintosh OS 9.x (multi-user) |
    1. Startup Volume:Users:<user>:Preferences
    2. Startup Volume:Documents

  - Adobe SVG Viewer 现在有自己的内建色彩管理支持。该支持将试图为您的显示器确定合适的设备说明文件。如果您的计算机已安装有色彩管理软件并选定了监控器说明文件，那么 Viewer 也会采用该说明文件。如果您没有安装色彩管理，或者您已将其停用，Viewer 将寻找您系统中的 Adobe Monitor Settings 说明文件。这个文件是由 Adobe Gamma 工具（随其它 Adobe 产品安装）创建的，并且通常都和同一宿主系统的其它颜色说明文件保存在同一目录下。如果找不到任何合适的设备说明文件，Viewer 将恢复到标准的 sRGB 说明文件并以此进行渲染。
  - Netscape 增效工具现在支持从 Java 代理程序访问 DOM。
  - ActiveX 控制现在支持非 JavaScript（如 Visual Basic）事件处理程序。
  - Windows 2000 兼容性修改。
  - 增加了利用键盘摇拍 SVG 图形的方式。如果卷轴锁定已打开，方向箭头即可摇拍有焦点的图形。
  - 有关同一 SVG 文件中多重同步动画的性能改善。包含较小但分布广泛的动画的 SVG 文件在目前版本下的显示一般要比 1.0 版快。
  - Mac 增效工具性能改善。
  - 改善了对垂直文字的支持。
  - 增加了对双方向文字的支持。
  - 一般性能优化。
  - 修改了 `feImage` 来处理 `use` 等元素。
  - 更新了对 PNC 图像的支持。
  - 内存使用优化。
  - 增加了对动画路径的支持。

## 联系信息

要报告 bug 和/或反馈，请光临 Adobe.com 上的 SVG Zone。

## 版权通知

© 版权所有 1998-2001 by Adobe Systems Incorporated。保留所有权利。

Adobe 和 Illustrator 是 Adobe Systems Incorporated 的商标。Windows 和 Windows NT 是 Microsoft Corporation 在美国和/或其它国家的注册商标。Mac OS 和 TrueType 是 Apple Computer, Inc 在美国和/或其它国家的商标。所有其它商标是各自所有者的资产。