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 }? }