[MEI-L] symbol/symbolDef

TW zupftom at googlemail.com
Mon Mar 19 11:20:17 CET 2012


2012/3/18 Roland, Perry (pdr4h) <pdr4h at eservices.virginia.edu>:
> Hi, Thomas,
>
> The <symbolDef> element is intended to allow the inclusion of arbitrary symbols/signs.  Using <symbolDef>, one can say how a symbol should be drawn in terms of its graphic components; that is, text, curves, and lines. After defining the symbol's coordinate space (using @ulx, @uly, @lrx, and @lry), the <anchoredText>, <curve>, and <line> elements (with appropriate x, y, x2, and y2 attributes) can be used to construct the symbol.
>
> The <symbol> element can then be used to make reference to this user-defined sign.
>
> For example, one could define a new sign within <scoreDef> --
>
> <scoreDef>
>  <symbolTable>
>    <symbolDef xml:id="mySign" ulx="0" uly="0" lrx="20" lry="20">
>      <line x="10" y="0" x2="10" y2="10"/>
>      <line x="10" y="10" x2="20" y2="10"/>
>      <line x="20" y="10" x2="20" y2="20"/>
>    </symbolDef>
>  </symbolTable>
> </scoreDef>
>
> then later in the document data invoke this symbol --
>
> <measure>
>  <staff n="1">
>    <layer>
>      <note xml:id="n1" .../>
>        ...
>    </layer>
>  </staff>
>  <symbol ref="mySign"/>
> </measure>
>
> <symbolDef> may contain references to other <symbol> elements.  If a line of a certain length and style is a common component, it can be defined once and re-used.
>
> The symbol can be placed relative to elements in the notation (using some combination of ho, vo , and to attributes) --
>
> <symbol startid="n1" ho="5"/>
>
> (This example indicates the symbol is placed at the same vertical position as, but 5 half-step units above, n1.)
>
> <symbol> and <symbolDef> cannot be used to point to a feature in a facsimile image because they have no @facs attribute.  This was done purposefully in order to encourage the use of elements of the notation; that is, <note>, <chord>, <staff>, etc., for this purpose.
>
> <annot> can be used to record commentary on symbols just as it can with other elements of notation.  It's technically possible make a <symbolDef> element a target (using @plist), but I think <symbol> is the proper target.  In other words, <symbol> is a generic placeholder for an "unknown" notational sign.  <symbolDef> is "just" the instructions for drawing it.
>

I see, so the module is meant for rendering purposes only.  Then
<symbol> inside <symbolDef> is intended for "composite" symbols,
right?  <curve> and <line> elements would obviously describe the
strokes to create a symbol.  I think I can make up some examples for
the guidelines.  But for defining decent symbols, <curve> and <line>
seem pretty crude to me, especially because they can only describe
lines and not filled areas.

I'll think about this.

Thomas



More information about the mei-l mailing list