# Adobe® SVG Viewer for Macintosh

## 修訂聲明

### 版本 2.0 (Build 55, 2001 年 3 月 14 日)

## 目錄

- 關于 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 互動、動畫、或濾鏡效果。

## 提示和建議

- 「樣式」屬性 (或使用實體參照的樣式屬性) 比內嵌樣式表的渲染速度更快。
- 在`filter`元素的 `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︰

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

   這個問題是因為 JavaScript 在回應 onclick 事件并開始執行程式檔的同時，它還回應您按過的連結，從而中斷 JavaScript 重新載入目前頁面。只要按以下所示修改編碼，就可以解決這個問題︰

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

5. 如果 JavaScript 事件處理程式包含錯誤，任何后繼 JavaScript 將無法執行。這是由于 Netscape 處理由增效模組執行程式檔的程式錯誤所致。
6. 限于 Netscape 程式檔，您不能從 SVG 事件處理程式變更其他頁框的 URL。
7. 限于 Netscape 程式檔引擎，從 SVG 事件處理程式呼叫 `alert()` 函數可能無法執行，而且可能會進一步造成后繼 JavaScript 無法執行。任何 Netscape 模式視窗，包括安全性權限視窗，均有類似問題。這個程式錯誤在 Netscape 4.75 上似乎有所改進，但不适用于 Windows 98。
8. 只要 Netscape 牽涉到使用 JavaScript 的增效模組就會有程式錯誤。如果您利用此類增效模組載入頁面，然后停用 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 中的程式錯誤，在 SVG 區域中按滑鼠右鍵無法顯示上下文功能表。但事實上您已經獲取到該功能表。

## 修訂歷史

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

- 元素和屬性︰
  - 增加了對以下元素的支援︰`altGlyph`、`altGlyphDef`、`font`、`font-face`、`glyph`、`glyphRef`、`hkern`、`missing-glyph`、`mpath`、`pattern`、和 `vkern`。
  - 增加了對「SVG Presentation 屬性」的支援。
  - 完成了對 `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` 內容所取代。
  - 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` 物件新的非標准支援。這种方法沒有參數，也不返回結果。呼叫這种方法可以釋放以前從結构樹中刪除的「節點」物件。如果程式檔執行的作業導致從結构樹中刪除節點，只要程式檔對于被刪除 (已返回) 的節點沒有其它用處，程式檔即可呼叫 SVG 文件的 `garbageCollect`。一旦被呼叫，如果參照的節點在 `garbageCollect` 被呼叫時不是檔案的組成部分，訪問其方法時程式檔的參照均會失敗。這只是 Netscape 瀏覽器的优勢，因為 Netscape 的 LiveConnect 沒有提供弱參照支援。對于簡便的跨平台支援，在 Internet Explorer 下可以這么做，但不會起任何作用。
- 其它變更
  - 為了与最新的 Candidate Recommendation 規范草案保持一致，對 `userSpace` 單元的支援已放棄。
  - 增加了對用戶樣式表的支援。SVG Viewer 尋找被稱為 `SVG-User-Styles.css` 的檔案時遵循的搜索策略如下︰

    作業系統 | 已搜索的路徑
    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. 系統檔案夾:預置
    2. 啟動磁碟:文件
    Macintosh OS 9.x (單使用者) |
    1. 系統檔案夾:預置
    2. 系統檔案夾:使用者:<user>
    3. 啟動磁碟:文件
    Macintosh OS 9.x (多使用者) |
    1. 啟動磁碟:使用者:<user>:預置
    2. 啟動磁碟:文件

  - 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 圖像的支援。
  - 記憶體使用优化。
  - 增加了對動畫路徑的支援。

## 聯絡資訊

要報告程式錯誤和/或反饋，請蒞臨 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 在美國和/或其它國家的商標。所有其它商標是各自所有者的資產。