Corel® SVG Viewer - Technical Specification


Contents


1. Introduction

2. SVG Elements
3. Properties and Attributes
4. DOM 2 Interfaces Supported
5. SVG DOM Interfaces Supported
6. Global APIs
7. DOM 2 Mouse Events

 


8. DOM 2 Mutation Events
9. Document Events
10. Event Flows
11. Custom Extensions
12. Dynamic Updating Capability

13. Other Features
14. Features to Come


1. Introduction


Corel SVG Viewer is a Scalable Vector Graphics (SVG) Browser Plug-in that parses, processes, and displays SVG graphics on desktop and Tablet PCs. Corel SVG Viewer combines a high level of compliance to the W3C Recommended Scalable Vector Graphics (SVG) 1.1 Specification and provides high-quality graphics rendering.

The Corel Viewer supports multiple line resolutions to effectively render the wide variety of graphics used in enterprise applications. You can specify accurate, light, or heavy rendering so that very thin lines (less than one pixel) will appear as intended on the user's screen.

This powerful rendering capability, combined with support for real-time events, makes the Corel SVG Viewer the natural choice for your enterprise application development.

 


2. SVG Elements


Corel SVG Viewer supports the following SVG elements:

Element
Notes
<a>  
<altGlyph>  
<altGlyphDef>  
<altGlyphItem>  
<circle>  
<clipPath>  
<cursor>  
<defs>  
<desc>  
<ellipse>  
<feBlend>  
<fecolorMatrix>  
<feComposite>  
<feFlood>  
<feGaussianBlur>  
<feMerge>  
<feMergeNode>  
<feOffset>  
<feTurbulence>  
<filter>  
<font>  
<font-face>  
<font-face-format>  
<font-face-name>  
<font-face-src>  
<font-face-uri>  
<g>  
<glyph>  
<glyphRef>  
<image>  
<line>  
<lineargradient>  
<marker>  
<mask>  
<metadata>  
<missing-glyph>  
<path>  
<polygon>  
<polyline>  
<radialGradient>  
<rect>  
<script>  
<stop>  
<style>  
<svg>  
<switch>  
<symbol>  
<text>  
<textPath>  
<title>  
<tref>  
<tspan>  
<use>  

 


3. Properties and Attributes


Corel SVG Viewer supports the following Properties and Attributes:

Element
Notes
baseline-shift  
class  
clip  
clip-path  
clip-rule  
ClipPathUnits  
color  
color-interpolation  
color-interpolation-filters  
cursor  
cx  
cy  
d  
direction  
display  
dx  
dy  
enable-background  
fecolorMatrix  
feComposite  
fill  
fill-opacity  
fill-rule  
filter  
filterRes  
filterUnits  
flood-color  
flood-opacity  
font-family  
font-size  
font-stretch  
font-style  
font-variant  
font-weight  
fx  
fy  
glyph-name  
glyphRef  
glyph-orientation-horizontal  
glyph-orientation-vertical  
gradient-transform  
gradientUnits  
height  
horiz-adv-x  
horiz-origin-y  
in  
in2  
k1  
k2  
k3  
k4  
kerning  
lengthAdjust  
letter-spacing  
marker-end  
marker-mid  
marker-start  
markerHeight  
markerUnits  
markerWidth  
mask  
method  
maskContentUnits  
maskUnits  
mode  
numOctaves  
offset  
onerror  
operator  
orient  
onclick  
onload  
onmousedown  
onmousemove  
onmouseout  
onmouseover  
onmouseup  
onresize  
onscroll  
onzoom  
opacity  
overflow  
overline-position  
overline-thickness  
pointer-events  
points  
preserveAspectRatio  
primitiveUnits  
r  
refx  
refy  
requiredExtensions none supported
requiredFeatures only true for exact match of "org.w3c.svg" and "org.w3c.svg.static", "events", "mouseevents", "mutationevents"
result  
rotate  
rx  
ry  
seed  
spreadMethod  
startOffset  
stdDeviation  
stitchTiles  
stop-color  
stop-opacity  
strikethrough-position  
strikethrough-thickness  
stroke-dasharray  
stroke-dashoffset  
stroke  
stroke-linecap  
stroke-linejoin  
stroke-miterlimit  
stroke-opacity  
stroke-width  
style  
systemLanguage matches primary language of user's current locale
target  
text-anchor  
text-decoration  
textLength  
transform  
type  
underline-position  
underline-thickness  
unicode  
unicode-bidi  
unicode-range  
units-per-em  
values  
vert-adv-y  
viewBox  
visibility  
width  
word-spacing  
writing-mode  
x  
x-height  
x1  
x2  
xlink:href  
xml:base  
xml:space  
xmlns  
y  
y1  
y2  

 



4. DOM 2 Interfaces Supported


Corel SVG Viewer supports the following DOM 2 Interfaces:

DOM Implementation

hasFeature

only true for exact match of "org.w3c.svg", "org.w3c.svg.static", "events", "mouseevents", mutationevents"

DOMNode

nodeValue

parentNode

childNodes

firstChild

lastChild

previousSibling

nextSibling

attributes

ownerDocument

insertBefore

replaceChild

removeChild

appendChild

hasChildNodes

DOMNodeList

length

item

DOMNamedNodeMap
getNamedItem

getNamedItemNS

setNamedItem

setNamedItemNS

item

length

CharacterData
data
substringData
appendData
insertData
deleteData
length
replaceData
Attribute
name
ownerElement
value
Element
tagName
getAttribute
setAttribute
setAttributeNS
setAttributeNodeNS
removeAttribute
getAttributeNode
getAttributeNodeNS
setAtributeNode
removeAttributeNode
getElementsByTagName
getAttributeNS
removeAttributeNS
getElementsByTagNamesNS
hasAttribute
Text
splitText
Comment
 
CDATASection
 
DocumentType
 
Notation
 
Entity
 
EntityReference
 
ProcessingInstruction
 
DocumentFragment
 
Document
implementation
documentElement
createElement
createDocumentFragment
createTextNode
createAttribute
getElementsByTagName
createElementNS
createAttributeNS
getElementsByTagNameNS
getElementByID
Event
CurrentTarget
type
target
eventPhase
bubbles
cancelable
stopPropagation
EventTarget
addEventListener
removeEventListener
MouseEvent
screenX
screenY
clientX
clientY
relateTarget
KeyEvent (currently compatible with Adobe KeyEvent; may be replaced with an alternate interface in a future release)
screenX
screenY
clientX
clientY
ctrlKey
shiftKey
charCode
keyCode
MutationEvent
relatedNode
prevValue
newValue
attrName
attrChange



5. SVG DOM Interfaces Supported


Corel SVG Viewer supports the following SVG DOM Interfaces:

SVGElement
getElementbyId
id
ownerSVGElement
currentScale
currentTranslate
createSVGPoint
createSVGMatrix
SVGLocatable
getBBox
getCTM (returns transform to nearest viewport)
getTransformToElement
SVGPoint
x
y
matrixTransform
SVGMatrix
a
b
c
d
e
f
multiply
inverse
translate
scale
scaleNonUniform
rotate
rotateFromVector
flipX
flipY
skewX
skewY



6. Global APIs


Corel SVG Viewer supports the following Global APIs:
(currently compatible with Adobe; may be replaced with alternate standard APIs in a future release)

alert()
getURL()
parseXML()
postURL()
printNode()
innerWidth()
innerHeight()
setSrc()
getSVGViewerVersion()



7. DOM 2 Mouse Events


Corel SVG Viewer supports the following DOM 2 Mouse Events:

Mouse Event
Notes
mousedown Keyboard status not implemented.
mouseup Keyboard status not implemented.
mouseover Keyboard status not implemented.
mousemove Keyboard status not implemented.
mouseout Keyboard status not implemented.
mouseclick Keyboard status not implemented.



8. DOM 2 Mutation Events


Corel SVG Viewer supports the following DOM 2 Mutation events:

UI Event
Notes
DOM NodeInserted  
DOM NodeRemoved  
DOM CharacterDataModified  
DOM AttrModified  
DOMSubtreeModified  
DOMNodeRemovedFromDocument  
DOMNodeInsertedIntoDocument  



9. Document Events


Corel SVG Viewer supports the following Document events:

UI Event
Notes
SVG Onload  
SVG Unload  
SVG Resize  
SVG Scroll  
SVG Zoom  



10. Event Flows


Corel SVG Viewer supports the following Event Flows:

Event Flows
Notes
bubbling  
capturing  
canceling Works to stop propagation but does not prevent default actions

 



11. Custom Extension


Corel SVG Viewer supports commonly used W3C extensions to the SVG specification to support legacy SVG content.
These are not part of the SVG specification. These are recommended for use only when there are no alternatives for your application development because there is no guarantee that your applications will work in all available viewers on the market.

The get and set extensions for the following objects are supported:

Extension
Notes
CDATASection
 
CharacterData  
Comment  
   
Document  
DocumentFragment  
DocumentType  
DOMImplementation  
   
Element  
Entity  
EntityReference  
NamedNodeMap  
   
Node  
NodeList  
Notation  
ProcessingInstruction  
Text  
   
Entity  
EntityReference  
NamedNodeMap  
Node  
NodeList  
   
Notation  
ProcessingInstruction  
Text  
DocumentEvent  
ErrorEvent  
Event  
EventListener  
EventTarget  
KeyEvent  
MouseEvent  
MutationEvent  

For example, for Node getters and setters the following are available:

Node.getNodeName
Node.getParentNode
Node.getChildNodes
Node.getFirstChild
Node.getLastChild
Node.getOwnerDocument

For a complete listing consult the Document Object Model (DOM) Level 2 Core Specification

http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/

 



12. Dynamic Updating Capability


To support Internet applications that update automatically for real-time-like applications the following methods have been implemented:

setTimeout
clearTimeout
setInterval
clearInterval

These can be accessed programatically via client-side javascript. Corel will be releasing pre-built dSVG to rapidly build applications with this capability in the next release of Corel Smart Graphics Studio.

 

 


13. Other Features


Corel SVG Viewer supports the following features:

MIME Type image/svg+xml
Unicode Encoding UTF-7, UTF-8, UTF-16, UCS2, UCS4, ISO-8859-1, us-ascii, Shift-JIS
Raster Image Formats .png, .jpeg
Compression gzip
Image Encoding Base64
Zooming unlimited
Unit Support pixels, inches, centimeters, point, millimeter, pica, em, ex
International text including bidirectional vertical text and ligatures text



14. Features to Come


Corel SVG viewer will contain and support the following features:

full script support
filter effects
text selecting
text searching
text copying
text pasting
animation
patterns
printing