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