MuseScore/fonts/fonts_tablature.xml
Maurizio M. Gavioli 8e0aeaa579 TAB: Support for input and display of bass string notations
Supports 'standard' configuration for bass string notations in historic tablatures (lutes and other plucked instruments, as well as viols), both of the French and of the Italian style. This should fill the last 'big hole' in historic TAB support.

Bass strings (or bourdons) are extra strings in addition to the 6 'standard' strings, which are not represented by tab lines and were indicated by other typograhic devices in historic sources. Among the innumerable variations shown in sources, this implementation supports the following styles, chosen to be general enough to suit the majority of cases, without requiring new parameters in the TAB style dialogue box:

- French: the first 4 bass courses are indicated by a fret mark in the 'seventh' TAB position (below bottom string) with 0, 1, 2 or 3 slashes prefixed; other bass courses are indicated, also in the 'seventh' TAB position, by the string number (from 4 on) and cannot contain a fret mark (as they didn't in historic sources).
- Italian: the first 2 bass courses are indicated by a fret mark in the 'seventh' TAB position (abover top string) with 1 or 2 'ledger lines' underneath; other bass courses are indicated, also in the 'seventh' TAB position, by the string number (from 9 on) and cannot contain a fret mark (as they didn't in historic sources). Rhythm marks above these indication are raised to leave room for them.

Both styles do not blindly assume that French style is top-to-bottom and Italian is 'upside-down' -- as historic sources are -- but adapt to the actual string order of the TAB. The choice between the two styles depends on the TAB using numbers or letters for the fret marks.

The implementation does not try to detect if the TAB is really of a historic style and applies either bass string notation whenever more strings are used than there are TAB lines. If this proves unsuitable to modern usage, some better heuristics can probably be found.

For a discussion and some screen shots, see: https://musescore.org/en/node/67261

**Note entry**

During TAB note entry, if the instruments has more strings than the TAB has lines, the string cursor can be moved outside of the TAB body, one position below for 'top-to-bottom' TAB's and one position above for 'upside-down' TAB's.

Further up or down movements add, to the 'blue cursor rectangle', markers indicating which is the actual target string (the cursor does not actually move), equal to the marks a note in that string will receive (slashes, ledger lines or string ordinal, according to the style and the string); during input the user will then receive the same info as when reading entered notes.

Other Notes:

- the `InputStatus::_string` variable, holding the current target TAB string in TAB note entry, changed meaning from the __visual__ string index to the __physical__ string index: this allows a better containment of the peculiarities of the individual TAB styles within the `StaffStyle` class, leaving other classes somehow freer of concern about TAB visual order and other peculiarities. As this variable is only used with TAB's, this change should not affect other functions.

- Some calculation for rhythm symbols have been moved from `TabDurationSymbol::draw()` to `TabDurationSymbol::layout()`, hopefully speeding up the drawing process.

- In fonts for historic styles, '10' has been replaced by 'X' both in fret numbers and in string ordinals, as this is more common in historic sources. Currently, this is not configurable; an additional style parameter could be added in future, if there will be enough request for it.
2015-08-17 10:52:05 +02:00

280 lines
11 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<museScore version="1.0">
<fretFont>
<family>FreeSans</family>
<displayName>MuseScore Tab Sans</displayName>
<defaultPitch>9</defaultPitch>
<defaultYOffset>0.0</defaultYOffset>
<fret value="0" letter="0">0</fret>
<fret value="1" letter="0">1</fret>
<fret value="2" letter="0">2</fret>
<fret value="3" letter="0">3</fret>
<fret value="4" letter="0">4</fret>
<fret value="5" letter="0">5</fret>
<fret value="6" letter="0">6</fret>
<fret value="7" letter="0">7</fret>
<fret value="8" letter="0">8</fret>
<fret value="9" letter="0">9</fret>
<fret value="10" letter="0">10</fret>
<fret value="11" letter="0">11</fret>
<fret value="12" letter="0">12</fret>
<fret value="13" letter="0">13</fret>
<fret value="14" letter="0">14</fret>
<fret value="15" letter="0">15</fret>
<fret value="16" letter="0">16</fret>
<fret value="17" letter="0">17</fret>
<fret value="18" letter="0">18</fret>
<fret value="19" letter="0">19</fret>
<fret value="20" letter="0">20</fret>
<fret value="21" letter="0">21</fret>
<fret value="22" letter="0">22</fret>
<fret value="23" letter="0">23</fret>
<fret value="24" letter="0">24</fret>
<fret value="0" letter="1">a</fret>
<fret value="1" letter="1">b</fret>
<fret value="2" letter="1">c</fret>
<fret value="3" letter="1">d</fret>
<fret value="4" letter="1">e</fret>
<fret value="5" letter="1">f</fret>
<fret value="6" letter="1">g</fret>
<fret value="7" letter="1">h</fret>
<fret value="8" letter="1">i</fret>
<fret value="9" letter="1">k</fret>
<fret value="10" letter="1">l</fret>
<fret value="11" letter="1">m</fret>
<fret value="12" letter="1">n</fret>
<fret value="13" letter="1">o</fret>
<fret value="14" letter="1">p</fret>
<fret value="15" letter="1">q</fret>
<fret value="16" letter="1">r</fret>
<mark value="x">X</mark>
<mark value="ghost">×</mark>
<mark value="slash" number="1">/</mark>
<mark value="slash" number="2">//</mark>
<mark value="slash" number="3">///</mark>
<mark value="slash" number="4">////</mark>
<mark value="slash" number="5">/////</mark>
</fretFont>
<fretFont>
<family>FreeSerif</family>
<displayName>MuseScore Tab Serif</displayName>
<defaultPitch>9</defaultPitch>
<defaultYOffset>0.0</defaultYOffset>
<fret value="0" letter="0">0</fret>
<fret value="1" letter="0">1</fret>
<fret value="2" letter="0">2</fret>
<fret value="3" letter="0">3</fret>
<fret value="4" letter="0">4</fret>
<fret value="5" letter="0">5</fret>
<fret value="6" letter="0">6</fret>
<fret value="7" letter="0">7</fret>
<fret value="8" letter="0">8</fret>
<fret value="9" letter="0">9</fret>
<fret value="10" letter="0">10</fret>
<fret value="11" letter="0">11</fret>
<fret value="12" letter="0">12</fret>
<fret value="13" letter="0">13</fret>
<fret value="14" letter="0">14</fret>
<fret value="15" letter="0">15</fret>
<fret value="16" letter="0">16</fret>
<fret value="17" letter="0">17</fret>
<fret value="18" letter="0">18</fret>
<fret value="19" letter="0">19</fret>
<fret value="20" letter="0">20</fret>
<fret value="21" letter="0">21</fret>
<fret value="22" letter="0">22</fret>
<fret value="23" letter="0">23</fret>
<fret value="24" letter="0">24</fret>
<fret value="0" letter="1">a</fret>
<fret value="1" letter="1">b</fret>
<fret value="2" letter="1">c</fret>
<fret value="3" letter="1">d</fret>
<fret value="4" letter="1">e</fret>
<fret value="5" letter="1">f</fret>
<fret value="6" letter="1">g</fret>
<fret value="7" letter="1">h</fret>
<fret value="8" letter="1">i</fret>
<fret value="9" letter="1">k</fret>
<fret value="10" letter="1">l</fret>
<fret value="11" letter="1">m</fret>
<fret value="12" letter="1">n</fret>
<fret value="13" letter="1">o</fret>
<fret value="14" letter="1">p</fret>
<fret value="15" letter="1">q</fret>
<fret value="16" letter="1">r</fret>
<mark value="x">X</mark>
<mark value="ghost">×</mark>
<mark value="slash" number="1">/</mark>
<mark value="slash" number="2">//</mark>
<mark value="slash" number="3">///</mark>
<mark value="slash" number="4">////</mark>
<mark value="slash" number="5">/////</mark>
</fretFont>
<fretFont>
<family>MScoreTabulature</family>
<displayName>MuseScore Tab Renaiss</displayName>
<defaultPitch>10</defaultPitch>
<defaultYOffset>0</defaultYOffset>
<fret value="0" letter="0">0</fret>
<fret value="1" letter="0">1</fret>
<fret value="2" letter="0">2</fret>
<fret value="3" letter="0">3</fret>
<fret value="4" letter="0">4</fret>
<fret value="5" letter="0">5</fret>
<fret value="6" letter="0">6</fret>
<fret value="7" letter="0">7</fret>
<fret value="8" letter="0">8</fret>
<fret value="9" letter="0">9</fret>
<fret value="10" letter="0">:</fret>
<fret value="11" letter="0">11</fret>
<fret value="12" letter="0">12</fret>
<fret value="13" letter="0">13</fret>
<fret value="14" letter="0">14</fret>
<fret value="15" letter="0">15</fret>
<fret value="16" letter="0">16</fret>
<fret value="17" letter="0">17</fret>
<fret value="18" letter="0">18</fret>
<fret value="19" letter="0">19</fret>
<fret value="20" letter="0">20</fret>
<fret value="21" letter="0">21</fret>
<fret value="22" letter="0">22</fret>
<fret value="23" letter="0">23</fret>
<fret value="24" letter="0">24</fret>
<fret value="0" letter="1">A</fret>
<fret value="1" letter="1">B</fret>
<fret value="2" letter="1">C</fret>
<fret value="3" letter="1">D</fret>
<fret value="4" letter="1">E</fret>
<fret value="5" letter="1">F</fret>
<fret value="6" letter="1">G</fret>
<fret value="7" letter="1">H</fret>
<fret value="8" letter="1">I</fret>
<fret value="9" letter="1">K</fret>
<fret value="10" letter="1">L</fret>
<fret value="11" letter="1">M</fret>
<fret value="12" letter="1">N</fret>
<fret value="13" letter="1">O</fret>
<fret value="14" letter="1">P</fret>
<fret value="15" letter="1">Q</fret>
<fret value="16" letter="1">R</fret>
<mark value="x">:</mark>
<mark value="ghost">×</mark>
<mark value="slash" number="1">V</mark>
<mark value="slash" number="2">W</mark>
<mark value="slash" number="3">X</mark>
<mark value="slash" number="4">Y</mark>
<mark value="slash" number="5">Z</mark>
</fretFont>
<fretFont>
<family>MScoreTabulature</family>
<displayName>MuseScore Tab Late Renaiss</displayName>
<defaultPitch>10</defaultPitch>
<defaultYOffset>0</defaultYOffset>
<fret value="0" letter="0">0</fret>
<fret value="1" letter="0">1</fret>
<fret value="2" letter="0">2</fret>
<fret value="3" letter="0">3</fret>
<fret value="4" letter="0">4</fret>
<fret value="5" letter="0">5</fret>
<fret value="6" letter="0">6</fret>
<fret value="7" letter="0">7</fret>
<fret value="8" letter="0">8</fret>
<fret value="9" letter="0">9</fret>
<fret value="10" letter="0">:</fret>
<fret value="11" letter="0">11</fret>
<fret value="12" letter="0">12</fret>
<fret value="13" letter="0">13</fret>
<fret value="14" letter="0">14</fret>
<fret value="15" letter="0">15</fret>
<fret value="16" letter="0">16</fret>
<fret value="17" letter="0">17</fret>
<fret value="18" letter="0">18</fret>
<fret value="19" letter="0">19</fret>
<fret value="20" letter="0">20</fret>
<fret value="21" letter="0">21</fret>
<fret value="22" letter="0">22</fret>
<fret value="23" letter="0">23</fret>
<fret value="24" letter="0">24</fret>
<fret value="0" letter="1">a</fret>
<fret value="1" letter="1">b</fret>
<fret value="2" letter="1">c</fret>
<fret value="3" letter="1">d</fret>
<fret value="4" letter="1">e</fret>
<fret value="5" letter="1">f</fret>
<fret value="6" letter="1">g</fret>
<fret value="7" letter="1">h</fret>
<fret value="8" letter="1">i</fret>
<fret value="9" letter="1">k</fret>
<fret value="10" letter="1">l</fret>
<fret value="11" letter="1">m</fret>
<fret value="12" letter="1">n</fret>
<fret value="13" letter="1">o</fret>
<fret value="14" letter="1">p</fret>
<fret value="15" letter="1">q</fret>
<fret value="16" letter="1">r</fret>
<mark value="x">:</mark>
<mark value="ghost">×</mark>
<mark value="slash" number="1">V</mark>
<mark value="slash" number="2">W</mark>
<mark value="slash" number="3">X</mark>
<mark value="slash" number="4">Y</mark>
<mark value="slash" number="5">Z</mark>
</fretFont>
<durationFont>
<family>MScoreTabulature</family>
<displayName>MuseScore Tab Modern</displayName>
<defaultPitch>15</defaultPitch>
<defaultYOffset>0</defaultYOffset>
<duration value="longa">Ƞ</duration>
<duration value="brevis">ȡ</duration>
<duration value="semibrevis">Ȣ</duration>
<duration value="minima">ȣ</duration>
<duration value="semiminima">Ȥ</duration>
<duration value="fusa">ȥ</duration>
<duration value="semifusa">Ȧ</duration>
<duration value="32">ȧ</duration>
<duration value="64">Ȩ</duration>
<duration value="128">ȩ</duration>
<duration value="256">Ȫ</duration>
<duration value="dot">Ȭ</duration>
</durationFont>
<durationFont>
<family>MScoreTabulature</family>
<displayName>MuseScore Tab Italian</displayName>
<defaultPitch>15</defaultPitch>
<defaultYOffset>0</defaultYOffset>
<duration value="longa">Ȁ</duration>
<duration value="brevis">ȁ</duration>
<duration value="semibrevis">Ȃ</duration>
<duration value="minima">ȃ</duration>
<duration value="semiminima">Ȅ</duration>
<duration value="fusa">ȅ</duration>
<duration value="semifusa">Ȇ</duration>
<duration value="32">ȇ</duration>
<duration value="64">Ȉ</duration>
<duration value="128">ȉ</duration>
<duration value="256">Ȋ</duration>
<duration value="dot">Ȍ</duration>
</durationFont>
<durationFont>
<family>MScoreTabulature</family>
<displayName>MuseScore Tab French</displayName>
<defaultPitch>15</defaultPitch>
<defaultYOffset>0</defaultYOffset>
<duration value="longa">Ȑ</duration>
<duration value="brevis">ȑ</duration>
<duration value="semibrevis">Ȓ</duration>
<duration value="minima">ȓ</duration>
<duration value="semiminima">Ȕ</duration>
<duration value="fusa">ȕ</duration>
<duration value="semifusa">Ȗ</duration>
<duration value="32">ȗ</duration>
<duration value="64">Ș</duration>
<duration value="128">ș</duration>
<duration value="256">Ț</duration>
<duration value="dot">Ȝ</duration>
</durationFont>
</museScore>