SVG

SVG ist die Abkürzung für „Scalable Vector Graphics“. Es handelt sich dabei um ein Bildformat, das auf Vektoren basiert und in XML definiert wird. SVG gehört, wie u. a. auch XML, HTML und CSS, zu den vom World Wide Web Consortium (W3C) entwickelten Standards und wird heute von den meisten Browsern unterstützt. Der große Vorteil von SVG ist, dass die Grafiken beliebig gezoomt werden können, ohne an Qualität zu verlieren. SVG kann in jedem Text-Editor geschrieben werden und kann beispielsweise ganz leicht in HTML und XML eingebettet werden. Innerhalb des SVG können etwa Breite und Höhe sowie Farben und Formen einer gewünschten Grafik angegeben und definiert werden.
Im Projekt werden sogenannte svg:path-Elemente genutzt, um mit ihnen farbliche Markierungen und Hervorhebungen in den vom Beethoven-Haus bereitgestellten Faksimiles anzeigen zu können.

Beethovens Werkstatt nutzt hochauflösende Scans des Beethoven-Hauses Bonn, in denen sämtliche Eintragungen auf der Ebene der einzelnen Strichführungen zur Zeit mithilfe eines Grafik-Tablets nachgezeichnet und dann über Adobe Photoshop und Adobe Illustrator als SVG-Dateien exportiert werden. Diese aus kryptisch anmutenden umfangreichen Bezeichnern bestehenden svg:path-Elemente werden dann in den entsprechenden MEI-Dateien im <facsimile>-Bereich hinterlegt. Aus der Musikcodierung der gleichen Datei, welche die Inhalte des Faksimiles beschreibt, werden dann ausgehend von den einzelnen Bestandteilen (z. B. eines Bogens) die entsprechenden SVG-Pfade verlinkt. Dies geschieht über ein @facs-Attribut am entsprechenden MEI-Element, welches auf das @id-Attribut des svg:path-Elements verweist. (In SVG wird nicht @xml:id genutzt, sondern @id. Die Funktion bleibt sonst gleich.) Das folgende Beispiel zeigt einen Ausschnitt aus einem Faksimile (Beethoven, Op. 59,3 Seite 19) sowie einen Auschnitt aus einer Werkstatt-Codierung des markierten Bogens (mit verkürzten Zeilen). Im Faksimilebereich der MEI-Datei ist ein SVG-path-Element für diesen Bogen hinterlegt. An entsprechender Stelle, wo der Bogen codiert ist, wird mittels @facs genau die id der shape referenziert.

Bogen

Ludwig van Beethoven: Op. 59,3 Seite 19 des Autographs BH 62 (Beethoven-Haus Bonn)

<mei>
 <meiHead>
  ...
 </meiHead>
 <music>
  <faksimile>
   <surface xml:id="surface-id" n="19“>    
    <graphic target="path/to/image" xml:id="graphic-id" type="facsimile" width="8512" height="6192"/>
    <zone xml:id="zone-id" type="measure" ulx="3439" uly="677" lrx="4690" lry="1949"/>
    <svg:svg>
     <svg:path id="shape_269ed697-7bb6-43de-82c0-4b31626ef5d7" opacity="0.4" fill="#7abb5a" fill-opacity="0.7" 
      d="M787.92,435.12 c0.257,0.04,0.227,0.016,0.36,0.12c0.17,0.197,0.208,0.203,0.12,0.36c-0.306,1.11-1.415, 
      1.581-2.28,2.16 c-1.03,0.688-2.079,1.598-3.12,2.28c-0.379,0.248-0.813,0.242-1.2,0.48c-1.853,1.139-3.886,
      3.12 c-0.6,0.08-1.2,0.16-1.8,0.24c-2.042,0.592-5.158,1.222-7.68,0.6c-0.8-0.04-1.601-0.08-2.4-0.12c-1.6-0.442-3 
     .514-0.682-5.04-1.32 c-0.441-0.185-0.978-0.557-1.44-0.72c-0.52-0.12-1.04-0.24-1.56-0.36c-0.383-0.161-0.9-0.579-1. 
     32-0.72 c-0.84-0.08-1.68-0.16-2.52-0.24c-0.686-0.178-1.479-0.539-2.04-0.72c-0.654-0.212-1.887,0.109-2.4,0.24 
     0.285-2.157,0.139-3.24,0.48c-1.256,0.396-2.793,1.111-3.84,1.8c-0.661,0.436-1.239,1.648-2.04,1.8c0-0.04,0-0.02/>
     ...
     </svg:svg>
   </surface>
  </faksimile>
 <body>
  <mdiv>
   <score>  
    …
    <slur xml:id="bd9ad0022-d470-4de0-a05d-bd2b09fbf076" facs="#shape_269ed697-7bb6-43de-82c0-4b31626ef5d7" staff="3" 
    tstamp="1" tstamp2="0m+3" curvedir="above"/> ... </music> </mei>
    …
    </score>
   </mdiv>
  </body>
 </music>
</mei>

 

Die id im svg:path-Element ist eine Kombination aus Buchstaben und Zahlen, welche einmalig im Dokument auftritt und es somit ermöglicht, von anderer Stelle eindeutig darauf zu referenzieren. Das Attribut „fill“ legt die Füllfarbe für ein Objekt (in diesem Fall für den Bogen) fest. Das „fill-opacity-Attribut“ bestimmt die Durchsichtigkeit (Transparenz) einer Füllfarbe. Das Attribut „d“ erwartet als Wert einen alphanumerischen Wert, wobei die Buchstaben jeweils den Verlauf des Pfades festlegen und die Zahlen die notwendigen Koordinaten-, Winkel- oder sonstige Angaben für den entsprechenden „Verlaufsbuchstaben“ bestimmen.

                                                                                                                                                                               Version 1.0.4