blob: 94f5b7fa31213fa83d9f44921d53a785d86cb5a9 [file] [log] [blame]
default namespace = "http://www.w3.org/2000/svg"
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
##
## SVG 1.1 Basic Font Module
## file: svg-basic-font.rng
##
## This is SVG, a language for describing two-dimensional graphics in XML.
## Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
##
## Modifications Copyright 2007 Mozilla Foundation
##
## $Id$
##
##
## Basic Font
##
## font, font-face, glyph, missing-glyph, hkern, vkern, font-face-src,
## font-face-uri, font-face-name
##
## This module declares markup to provide support for template.
##
##
## SVG.Font.class
##
[ xml:lang = "en" ]
grammar {
SVG.Font.extra.class = notAllowed
SVG.Font.class |= font | font-face | SVG.Font.extra.class
a:documentation [ "\x{a}" ~ " font: Font Element\x{a}" ~ " " ]
SVG.font.content =
SVG.Description.class*,
font-face,
missing-glyph,
(glyph | hkern | vkern)*
font = element font { attlist.font, SVG.font.content }
attlist.font &=
SVG.Core.attrib,
SVG.Style.attrib,
SVG.Presentation.attrib,
SVG.External.attrib,
attribute horiz-origin-x { Number.datatype }?,
attribute horiz-origin-y { Number.datatype }?,
attribute horiz-adv-x { Number.datatype },
attribute vert-origin-x { Number.datatype }?,
attribute vert-origin-y { Number.datatype }?,
attribute vert-adv-y { Number.datatype }?
a:documentation [
"\x{a}" ~
" font-face: Font Face Element\x{a}" ~
" "
]
SVG.font-face.extra.class = notAllowed
SVG.font-face.content =
SVG.Description.class*,
font-face-src?,
SVG.font-face.extra.class
font-face =
element font-face { attlist.font-face, SVG.font-face.content }
attlist.font-face &=
SVG.Core.attrib,
attribute font-family { text }?,
attribute font-style { text }?,
attribute font-variant { text }?,
attribute font-weight { text }?,
attribute font-stretch { text }?,
attribute font-size { text }?,
attribute unicode-range { text }?,
attribute units-per-em { Number.datatype }?,
attribute panose-1 { text }?,
attribute stemv { Number.datatype }?,
attribute stemh { Number.datatype }?,
attribute slope { Number.datatype }?,
attribute cap-height { Number.datatype }?,
attribute x-height { Number.datatype }?,
attribute accent-height { Number.datatype }?,
attribute ascent { Number.datatype }?,
attribute descent { Number.datatype }?,
attribute widths { text }?,
attribute bbox { text }?,
attribute ideographic { Number.datatype }?,
attribute alphabetic { Number.datatype }?,
attribute mathematical { Number.datatype }?,
attribute hanging { Number.datatype }?,
attribute v-ideographic { Number.datatype }?,
attribute v-alphabetic { Number.datatype }?,
attribute v-mathematical { Number.datatype }?,
attribute v-hanging { Number.datatype }?,
attribute underline-position { Number.datatype }?,
attribute underline-thickness { Number.datatype }?,
attribute strikethrough-position { Number.datatype }?,
attribute strikethrough-thickness { Number.datatype }?,
attribute overline-position { Number.datatype }?,
attribute overline-thickness { Number.datatype }?
a:documentation [ "\x{a}" ~ " glyph: Glyph Element\x{a}" ~ " " ]
SVG.glyph.class = notAllowed
SVG.glyph.content = SVG.Description.class* | SVG.glyph.class*
glyph = element glyph { attlist.glyph, SVG.glyph.content }
attlist.glyph &=
SVG.Core.attrib,
SVG.Style.attrib,
SVG.Presentation.attrib,
attribute unicode { text }?,
attribute glyph-name { text }?,
attribute d { PathData.datatype }?,
attribute orientation { text }?,
attribute arabic-form { text }?,
attribute lang { LanguageCodes.datatype }?,
attribute horiz-adv-x { Number.datatype }?,
attribute vert-origin-x { Number.datatype }?,
attribute vert-origin-y { Number.datatype }?,
attribute vert-adv-y { Number.datatype }?
a:documentation [
"\x{a}" ~
" missing-glyph: Missing Glyph Element\x{a}" ~
" "
]
SVG.missing-glyph.class = notAllowed
SVG.missing-glyph.content =
SVG.Description.class* | SVG.missing-glyph.class*
missing-glyph =
element missing-glyph {
attlist.missing-glyph, SVG.missing-glyph.content
}
attlist.missing-glyph &=
SVG.Core.attrib,
SVG.Style.attrib,
SVG.Presentation.attrib,
attribute d { PathData.datatype }?,
attribute horiz-adv-x { Number.datatype }?,
attribute vert-origin-x { Number.datatype }?,
attribute vert-origin-y { Number.datatype }?,
attribute vert-adv-y { Number.datatype }?
a:documentation [
"\x{a}" ~
" hkern: Horizontal Kerning Element\x{a}" ~
" "
]
SVG.hkern.content = empty
hkern = element hkern { attlist.hkern, SVG.hkern.content }
attlist.hkern &=
SVG.Core.attrib,
attribute u1 { text }?,
attribute g1 { text }?,
attribute u2 { text }?,
attribute g2 { text }?,
attribute k { Number.datatype }
a:documentation [
"\x{a}" ~
" vkern: Vertical Kerning Element\x{a}" ~
" "
]
SVG.vkern.content = empty
vkern = element vkern { attlist.vkern, SVG.vkern.content }
attlist.vkern &=
SVG.Core.attrib,
attribute u1 { text }?,
attribute g1 { text }?,
attribute u2 { text }?,
attribute g2 { text }?,
attribute k { Number.datatype }
a:documentation [
"\x{a}" ~
" font-face-src: Font Face Source Element\x{a}" ~
" "
]
SVG.font-face-src.content = (font-face-uri | font-face-name)+
font-face-src =
element font-face-src {
attlist.font-face-src, SVG.font-face-src.content
}
attlist.font-face-src &= SVG.Core.attrib
a:documentation [
"\x{a}" ~
" font-face-uri: Font Face URI Element\x{a}" ~
" "
]
SVG.font-face-uri.content = empty
font-face-uri =
element font-face-uri {
attlist.font-face-uri, SVG.font-face-uri.content
}
attlist.font-face-uri &= SVG.Core.attrib, SVG.XLinkRequired.attrib
a:documentation [
"\x{a}" ~
" font-face-name: Font Face Name Element\x{a}" ~
" "
]
SVG.font-face-name.content = empty
font-face-name =
element font-face-name {
attlist.font-face-name, SVG.font-face-name.content
}
attlist.font-face-name &=
SVG.Core.attrib,
attribute name { text }?
}