sync with upstream (comments and Wyschnegradski)
authormirabilos <tg@debian.org>
Thu, 29 Oct 2020 09:03:07 +0000 (10:03 +0100)
committermirabilos <mirabilos@evolvis.org>
Thu, 29 Oct 2020 09:03:07 +0000 (10:03 +0100)
debian/changelog
debian/patches/experiments/smufl-fixes.diff

index ed365b0..e5409eb 100644 (file)
@@ -1,3 +1,9 @@
+musescore3 (3.2.3+dfsg1-8) unstable; urgency=medium
+
+  * Sync SMuFL update to upstream
+
+ -- Thorsten Glaser <tg@mirbsd.de>  Thu, 29 Oct 2020 10:02:21 +0100
+
 musescore3 (3.2.3+dfsg1-7) unstable; urgency=medium
 
   * Address QA warning in AppData
index 43b9658..bdd66b8 100644 (file)
@@ -88756,10 +88756,41 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
 +}
 --- /dev/null
 +++ b/fonttools/.gitignore
-@@ -0,0 +1 @@
+@@ -0,0 +1,3 @@
++dos2unix.exe
++jq.exe
 +smufl2sym-out-*
 --- /dev/null
-+++ b/fonttools/smufl2sym-in-trans.jsn
++++ b/fonttools/smufl2sym-cmd-SymId.jq
+@@ -0,0 +1,5 @@
++"      " +
++(keys_unsorted[] |
++      sub("^4string"; "fourString") |
++      sub("^6string"; "sixString")
++) + ","
+--- /dev/null
++++ b/fonttools/smufl2sym-cmd-debug.jq
+@@ -0,0 +1,2 @@
++def pad(s; len): s | until(length >= len; . + " ");
++to_entries | (map(.key | length) | max + 2) as $maxlen | .[] | (pad(.key; $maxlen) + .value.description)
+--- /dev/null
++++ b/fonttools/smufl2sym-cmd-symNames.jq
+@@ -0,0 +1,3 @@
++"      \"" +
++(keys_unsorted[] | gsub("\""; "\\\"")) +
++"\","
+--- /dev/null
++++ b/fonttools/smufl2sym-cmd-symUserNames.jq
+@@ -0,0 +1,7 @@
++to_entries[] | [
++      "      ",
++      if (.key | in($tr[0])) then "QT_TRANSLATE_NOOP(\"symUserNames\", \"" else "\"" end,
++      (.value.description | gsub("\""; "\\\"")),
++      if (.key | startswith("accidentalWyschnegradsky")) then " (Wyschnegradsky)" else "" end,
++      if (.key | in($tr[0])) then "\")," else "\"," end
++] | join("")
+--- /dev/null
++++ b/fonttools/smufl2sym-in-trans.json
 @@ -0,0 +1,221 @@
 +{
 +  "accdnCombDot": null,
@@ -88983,8 +89014,42 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
 +  "wiggleVibratoLargeSlowest": null
 +}
 --- /dev/null
++++ b/fonttools/smufl2sym.bat
+@@ -0,0 +1,31 @@
++@echo off
++
++REM You need JQ for Windows from: https://stedolan.github.io/jq/download/
++REM
++REM Rename jq-win64.exe or jq-win32.exe to jq.exe and place it either in
++REM the %PATH% or in the fonttools directory in the MuseScore tree.
++
++REM You need DOS2UNIX for Windows from: https://waterlan.home.xs4all.nl/dos2unix.html
++REM
++REM Extract bin\dos2unix.exe off dos2unix-*-win64.zip or dos2unix-*-win32.zip
++REM and place it either in the %PATH% or in the fonttools directory.
++
++cd /d "%~dp0"
++
++jq -f smufl2sym-cmd-debug.jq -r <..\fonts\smufl\glyphnames.json >smufl2sym-out-debug
++
++echo       // SMuFL standard symbol IDs {{{>smufl2sym-out-sym.h-SymId
++jq -f smufl2sym-cmd-SymId.jq -r <..\fonts\smufl\glyphnames.json >>smufl2sym-out-sym.h-SymId
++echo       // SMuFL standard symbol IDs }}}>>smufl2sym-out-sym.h-SymId
++
++echo       // SMuFL standard symbol names {{{>smufl2sym-out-sym.cpp-symNames
++jq -f smufl2sym-cmd-symNames.jq -r <..\fonts\smufl\glyphnames.json >>smufl2sym-out-sym.cpp-symNames
++echo       // SMuFL standard symbol names }}}>>smufl2sym-out-sym.cpp-symNames
++
++echo       // SMuFL standard symbol user names {{{>smufl2sym-out-sym.cpp-symUserNames
++jq -f smufl2sym-cmd-symUserNames.jq --slurpfile tr smufl2sym-in-trans.json -r <..\fonts\smufl\glyphnames.json >>smufl2sym-out-sym.cpp-symUserNames
++echo       // SMuFL standard symbol user names }}}>>smufl2sym-out-sym.cpp-symUserNames
++
++dos2unix smufl2sym-out-debug smufl2sym-out-sym.cpp-symNames smufl2sym-out-sym.cpp-symUserNames smufl2sym-out-sym.h-SymId
++
++echo All done!
+--- /dev/null
 +++ b/fonttools/smufl2sym.sh
-@@ -0,0 +1,58 @@
+@@ -0,0 +1,36 @@
 +#!/bin/sh
 +
 +set -e
@@ -88994,75 +89059,57 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
 +export LC_ALL
 +cd "$(dirname "$0")"
 +
-+<../fonts/smufl/glyphnames.json jq -r '
-+      to_entries[] | (.key + "\ 1" + .value.description)
-+' | column -ts'\ 1' >smufl2sym-out-debug
++jq -f smufl2sym-cmd-debug.jq \
++    -r <../fonts/smufl/glyphnames.json \
++    >smufl2sym-out-debug
 +
 +{
-+echo '      noSym,'
-+echo
-+echo '      // SMuFL standard symbol IDs {{{'
-+<../fonts/smufl/glyphnames.json jq -r '
-+      "      " +
-+      (keys_unsorted[] |
-+              sub("^4string"; "fourString") |
-+              sub("^6string"; "sixString")
-+      ) + ","
-+'
-+echo '      // SMuFL standard symbol IDs }}}'
-+echo
++      echo '      // SMuFL standard symbol IDs {{{'
++      jq -f smufl2sym-cmd-SymId.jq \
++          -r <../fonts/smufl/glyphnames.json
++      echo '      // SMuFL standard symbol IDs }}}'
 +} >smufl2sym-out-sym.h-SymId
 +
 +{
-+echo '      "noSym",'
-+echo
-+echo '      // SMuFL standard symbol IDs {{{'
-+<../fonts/smufl/glyphnames.json jq -r '
-+      "      \"" +
-+      (keys_unsorted[] | gsub("\""; "\\\"")) +
-+      "\","
-+'
-+echo '      // SMuFL standard symbol IDs }}}'
-+echo
++      echo '      // SMuFL standard symbol names {{{'
++      jq -f smufl2sym-cmd-symNames.jq \
++          -r <../fonts/smufl/glyphnames.json
++      echo '      // SMuFL standard symbol names }}}'
 +} >smufl2sym-out-sym.cpp-symNames
 +
 +{
-+echo '      QT_TRANSLATE_NOOP("symUserNames", "No symbol"),'
-+echo
-+echo '      // SMuFL standard symbol IDs {{{'
-+<../fonts/smufl/glyphnames.json jq \
-+    --slurpfile tr smufl2sym-in-trans.jsn \
-+    -r '
-+      to_entries[] | [
-+              "      ",
-+              if (.key | in($tr[0])) then "QT_TRANSLATE_NOOP(\"symUserNames\", \"" else "\"" end,
-+              (.value.description | gsub("\""; "\\\"")),
-+              if (.key | in($tr[0])) then "\")," else "\"," end
-+      ] | join("")
-+'
-+echo '      // SMuFL standard symbol IDs }}}'
-+echo
++      echo '      // SMuFL standard symbol user names {{{'
++      jq -f smufl2sym-cmd-symUserNames.jq \
++          --slurpfile tr smufl2sym-in-trans.json \
++          -r <../fonts/smufl/glyphnames.json
++      echo '      // SMuFL standard symbol user names }}}'
 +} >smufl2sym-out-sym.cpp-symUserNames
++
++echo 'All done!'
 --- a/libmscore/sym.cpp
 +++ b/libmscore/sym.cpp
-@@ -50,6 +50,8 @@ std::array<uint, size_t(SymId::lastSym)+
+@@ -50,6 +50,12 @@ std::array<uint, size_t(SymId::lastSym)+
  QHash<QString, SymId> Sym::lnhash;
  const std::array<const char*, int(SymId::lastSym)+1> Sym::symNames = { {
        "noSym",
 +
-+      // SMuFL standard symbol IDs {{{
++      // DO NOT edit the SMuFL standard symbol names (see below) manually!
++      // They are generated from fonttools/smufl2sym.{bat,sh} and then
++      // copied into this file!
++
++      // SMuFL standard symbol names {{{
        "4stringTabClef",
        "6stringTabClef",
        "accSagittal11LargeDiesisDown",
-@@ -2644,6 +2646,7 @@ const std::array<const char*, int(SymId:
+@@ -2644,6 +2650,7 @@ const std::array<const char*, int(SymId:
        "windTrillKey",
        "windVeryTightEmbouchure",
        "windWeakAirPressure",
-+      // SMuFL standard symbol IDs }}}
++      // SMuFL standard symbol names }}}
  
  //    EXTENSIONS
  //    SMuFL stylistic alternates which we need to access directly
-@@ -2659,7 +2662,7 @@ const std::array<const char*, int(SymId:
+@@ -2659,7 +2666,7 @@ const std::array<const char*, int(SymId:
        "braceLarge",
        "braceLarger",
  
@@ -89071,12 +89118,17 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
  
        "ornamentPrallMordent",       // ornamentPrecompTrillWithMordent ?
        "ornamentUpPrall",            // ornamentPrecompSlideTrillDAnglebert ?
-@@ -2681,12 +2684,14 @@ const std::array<const char*, int(SymId:
+@@ -2681,12 +2688,19 @@ const std::array<const char*, int(SymId:
  
  const std::array<const char*, int(SymId::lastSym)+1> Sym::symUserNames = { {
        QT_TRANSLATE_NOOP("symUserNames", "No symbol"),
 +
-+      // SMuFL standard symbol IDs {{{
++      // DO NOT edit the SMuFL standard symbol user names (see below) manually!
++      // They are generated from fonttools/smufl2sym.{bat,sh} and then
++      // copied into this file! Edit fonttools/smufl2sym-in-trans.json
++      // to make more strings translatable!
++
++      // SMuFL standard symbol user names {{{
        "4-string tab clef",
        "6-string tab clef",
 -      "11 large diesis down, 3\u00b0 down [46 EDO]",
@@ -89090,7 +89142,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        "11:19 large diesis down",
        "11:19 large diesis up, (11:19L, apotome less 11:19M)",
        "11:19 medium diesis down",
-@@ -2703,26 +2708,26 @@ const std::array<const char*, int(SymId:
+@@ -2703,26 +2717,26 @@ const std::array<const char*, int(SymId:
        "19 comma up, (19C)",
        "19 schisma down",
        "19 schisma up, (19s)",
@@ -89129,7 +89181,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        "5:11 small diesis down",
        "5:11 small diesis up, (5:11S, ~7:13S, ~11:17S, 5:7k plus 7:11C)",
        "5:13 large diesis down",
-@@ -2731,16 +2736,16 @@ const std::array<const char*, int(SymId:
+@@ -2731,16 +2745,16 @@ const std::array<const char*, int(SymId:
        "5:13 medium diesis up, (5:13M, ~37M, 5C plus 13C)",
        "5:19 comma down, 1/20-tone down",
        "5:19 comma up, (5:19C, 5C plus 19s), 1/20-tone up",
@@ -89153,7 +89205,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        "7:11 kleisma down",
        "7:11 kleisma up, (7:11k, ~29k)",
        "7:19 comma down",
-@@ -2753,18 +2758,18 @@ const std::array<const char*, int(SymId:
+@@ -2753,18 +2767,18 @@ const std::array<const char*, int(SymId:
        "Double flat 17k-up",
        "Double flat 19C-up",
        "Double flat 19s-up",
@@ -89179,7 +89231,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        "Double flat 7:11k-up",
        "Double flat 7:19C-up",
        "Double sharp, (2 apotomes up)[almost all EDOs], whole-tone up",
-@@ -2774,23 +2779,23 @@ const std::array<const char*, int(SymId:
+@@ -2774,23 +2788,23 @@ const std::array<const char*, int(SymId:
        "Double sharp 17k-down",
        "Double sharp 19C-down",
        "Double sharp 19s-down",
@@ -89212,7 +89264,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        "Flat 11:19L-down",
        "Flat 11:19M-down",
        "Flat 11:49C-down",
-@@ -2805,37 +2810,37 @@ const std::array<const char*, int(SymId:
+@@ -2805,37 +2819,37 @@ const std::array<const char*, int(SymId:
        "Flat 19C-up",
        "Flat 19s-down",
        "Flat 19s-up",
@@ -89266,7 +89318,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        "Flat 7:11k-down",
        "Flat 7:11k-up",
        "Flat 7:19C-down",
-@@ -2844,8 +2849,8 @@ const std::array<const char*, int(SymId:
+@@ -2844,8 +2858,8 @@ const std::array<const char*, int(SymId:
        "Shaft down, (natural for use with only diacritics down)",
        "Shaft up, (natural for use with only diacritics up)",
        "Sharp, (apotome up)[almost all EDOs], 1/2-tone up",
@@ -89277,7 +89329,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        "Sharp 11:19L-up",
        "Sharp 11:19M-up",
        "Sharp 11:49C-down",
-@@ -2860,37 +2865,37 @@ const std::array<const char*, int(SymId:
+@@ -2860,37 +2874,37 @@ const std::array<const char*, int(SymId:
        "Sharp 19C-up",
        "Sharp 19s-down",
        "Sharp 19s-up",
@@ -89331,7 +89383,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        "Sharp 7:11k-down",
        "Sharp 7:11k-up",
        "Sharp 7:19C-down",
-@@ -2920,7 +2925,7 @@ const std::array<const char*, int(SymId:
+@@ -2920,7 +2934,7 @@ const std::array<const char*, int(SymId:
        QT_TRANSLATE_NOOP("symUserNames", "Push"),
        QT_TRANSLATE_NOOP("symUserNames", "Right hand, 3 ranks, 8' stop + upper tremolo 8' stop + 16' stop (accordion)"),
        QT_TRANSLATE_NOOP("symUserNames", "Right hand, 3 ranks, lower tremolo 8' stop + 8' stop + upper tremolo 8' stop (authentic musette)"),
@@ -89340,7 +89392,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        QT_TRANSLATE_NOOP("symUserNames", "Right hand, 3 ranks, 16' stop (bassoon)"),
        QT_TRANSLATE_NOOP("symUserNames", "Right hand, 3 ranks, 8' stop (clarinet)"),
        QT_TRANSLATE_NOOP("symUserNames", "Right hand, 3 ranks, lower tremolo 8' stop + 8' stop + upper tremolo 8' stop + 16' stop"),
-@@ -2969,10 +2974,8 @@ const std::array<const char*, int(SymId:
+@@ -2969,10 +2983,8 @@ const std::array<const char*, int(SymId:
        "Bakiye (sharp)",
        "Accidental bracket, left",
        "Accidental bracket, right",
@@ -89353,7 +89405,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        "Combining close curly brace",
        "Combining lower by one 17-limit schisma",
        "Combining lower by one 19-limit schisma",
-@@ -3044,9 +3047,8 @@ const std::array<const char*, int(SymId:
+@@ -3044,9 +3056,8 @@ const std::array<const char*, int(SymId:
        "Koma (flat)",
        "Koma (sharp)",
        QT_TRANSLATE_NOOP("symUserNames", "Koron (quarter tone flat)"),
@@ -89365,7 +89417,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        "Large double sharp",
        QT_TRANSLATE_NOOP("symUserNames", "Lower by one septimal comma"),
        QT_TRANSLATE_NOOP("symUserNames", "Lower by one tridecimal quartertone"),
-@@ -3129,7 +3131,7 @@ const std::array<const char*, int(SymId:
+@@ -3129,7 +3140,7 @@ const std::array<const char*, int(SymId:
        "1/6 tone high",
        QT_TRANSLATE_NOOP("symUserNames", "Sori (quarter tone sharp)"),
        "Byzantine-style Bakiye flat (Tavener)",
@@ -89374,7 +89426,58 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        "Arabic three-quarter-tones flat",
        QT_TRANSLATE_NOOP("symUserNames", "Three-quarter-tones flat"),
        QT_TRANSLATE_NOOP("symUserNames", "Three-quarter-tones flat"),
-@@ -3269,8 +3271,8 @@ const std::array<const char*, int(SymId:
+@@ -3149,28 +3160,28 @@ const std::array<const char*, int(SymId:
+       "Two-third-tones sharp (Ferneyhough)",
+       "Wilson minus (5 comma down)",
+       "Wilson plus (5 comma up)",
+-      "5/6 tone flat",
+-      "5/6 tone sharp",
+-      "11/12 tone flat",
+-      "11/12 tone sharp",
+-      "1/12 tone flat",
+-      "1/12 tone sharp",
+-      "1/6 tone flat",
+-      "1/6 tone sharp",
+-      "1/4 tone flat",
+-      "1/4 tone sharp",
+-      "1/3 tone flat",
+-      "1/3 tone sharp",
+-      "5/12 tone flat",
+-      "5/12 tone sharp",
+-      "1/2 tone flat",
+-      "1/2 tone sharp",
+-      "7/12 tone flat",
+-      "7/12 tone sharp",
+-      "2/3 tone flat",
+-      "2/3 tone sharp",
+-      "3/4 tone flat",
+-      "3/4 tone sharp",
++      "5/6 tone flat (Wyschnegradsky)",
++      "5/6 tone sharp (Wyschnegradsky)",
++      "11/12 tone flat (Wyschnegradsky)",
++      "11/12 tone sharp (Wyschnegradsky)",
++      "1/12 tone flat (Wyschnegradsky)",
++      "1/12 tone sharp (Wyschnegradsky)",
++      "1/6 tone flat (Wyschnegradsky)",
++      "1/6 tone sharp (Wyschnegradsky)",
++      "1/4 tone flat (Wyschnegradsky)",
++      "1/4 tone sharp (Wyschnegradsky)",
++      "1/3 tone flat (Wyschnegradsky)",
++      "1/3 tone sharp (Wyschnegradsky)",
++      "5/12 tone flat (Wyschnegradsky)",
++      "5/12 tone sharp (Wyschnegradsky)",
++      "1/2 tone flat (Wyschnegradsky)",
++      "1/2 tone sharp (Wyschnegradsky)",
++      "7/12 tone flat (Wyschnegradsky)",
++      "7/12 tone sharp (Wyschnegradsky)",
++      "2/3 tone flat (Wyschnegradsky)",
++      "2/3 tone sharp (Wyschnegradsky)",
++      "3/4 tone flat (Wyschnegradsky)",
++      "3/4 tone sharp (Wyschnegradsky)",
+       "One-third-tone sharp (Xenakis)",
+       "Two-third-tones sharp (Xenakis)",
+       "Choralmelodie (Berg)",
+@@ -3269,8 +3280,8 @@ const std::array<const char*, int(SymId:
        QT_TRANSLATE_NOOP("symUserNames", "Tenuto-accent above"),
        QT_TRANSLATE_NOOP("symUserNames", "Tenuto-accent below"),
        QT_TRANSLATE_NOOP("symUserNames", "Tenuto below"),
@@ -89385,7 +89488,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        QT_TRANSLATE_NOOP("symUserNames", "Unstress above"),
        QT_TRANSLATE_NOOP("symUserNames", "Unstress below"),
        "Augmentation dot",
-@@ -3764,8 +3766,8 @@ const std::array<const char*, int(SymId:
+@@ -3764,8 +3775,8 @@ const std::array<const char*, int(SymId:
        "Grace note stem up",
        "Slash for stem down grace note",
        "Slash for stem up grace note",
@@ -89396,7 +89499,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        "Closed wah/volume pedal",
        QT_TRANSLATE_NOOP("symUserNames", "Fade in"),
        QT_TRANSLATE_NOOP("symUserNames", "Fade out"),
-@@ -3998,7 +4000,7 @@ const std::array<const char*, int(SymId:
+@@ -3998,7 +4009,7 @@ const std::array<const char*, int(SymId:
        "Very slow indication (de Narvaez)",
        "Triple time indication",
        "Single-finger tremolo or mordent",
@@ -89405,7 +89508,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        "Lute tablature staff, 6 courses",
        "Lute tablature staff, 6 courses (narrow)",
        "Lute tablature staff, 6 courses (wide)",
-@@ -4557,7 +4559,7 @@ const std::array<const char*, int(SymId:
+@@ -4557,7 +4568,7 @@ const std::array<const char*, int(SymId:
        "Oblique straight line tilted NW-SE",
        "Oblique straight line tilted SW-NE",
        "Oriscus",
@@ -89414,7 +89517,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        "Port de voix",
        "Supported appoggiatura trill",
        "Supported appoggiatura trill with two-note suffix",
-@@ -4572,7 +4574,7 @@ const std::array<const char*, int(SymId:
+@@ -4572,7 +4583,7 @@ const std::array<const char*, int(SymId:
        "Inverted mordent with upper prefix",
        "Mordent with release",
        QT_TRANSLATE_NOOP("symUserNames", "Mordent with upper prefix"),
@@ -89423,7 +89526,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        QT_TRANSLATE_NOOP("symUserNames", "Slide"),
        "Slide-trill with two-note suffix (J.S. Bach)",
        "Slide-trill (D'Anglebert)",
-@@ -4598,7 +4600,7 @@ const std::array<const char*, int(SymId:
+@@ -4598,7 +4609,7 @@ const std::array<const char*, int(SymId:
        "Ornament top right concave stroke",
        "Ornament top right convex stroke",
        QT_TRANSLATE_NOOP("symUserNames", "Tremblement"),
@@ -89432,7 +89535,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        QT_TRANSLATE_NOOP("symUserNames", "Trill"),
        QT_TRANSLATE_NOOP("symUserNames", "Turn"),
        QT_TRANSLATE_NOOP("symUserNames", "Inverted turn"),
-@@ -4938,10 +4940,10 @@ const std::array<const char*, int(SymId:
+@@ -4938,10 +4949,10 @@ const std::array<const char*, int(SymId:
        "Reversed bracket bottom",
        "Reversed bracket top",
        "Right repeat sign within bar",
@@ -89447,7 +89550,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        "Segno",
        "Segno (serpent)",
        "Segno (serpent with vertical lines)",
-@@ -5023,11 +5025,11 @@ const std::array<const char*, int(SymId:
+@@ -5023,11 +5034,11 @@ const std::array<const char*, int(SymId:
        "Change bow direction, indeterminate",
        QT_TRANSLATE_NOOP("symUserNames", "Down bow"),
        "Turned down bow",
@@ -89462,7 +89565,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        "Mute off",
        "Mute on",
        "Overpressure, down bow",
-@@ -5109,11 +5111,11 @@ const std::array<const char*, int(SymId:
+@@ -5109,11 +5120,11 @@ const std::array<const char*, int(SymId:
        "Reversed cut time",
        "Turned cut time",
        "Time signature equals",
@@ -89479,15 +89582,15 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        "Time signature fraction slash",
        "Time signature minus",
        "Time signature multiply",
-@@ -5278,6 +5280,7 @@ const std::array<const char*, int(SymId:
+@@ -5278,6 +5289,7 @@ const std::array<const char*, int(SymId:
        "Trill key",
        "Very tight embouchure",
        "Very relaxed embouchure / weak air-pressure",
-+      // SMuFL standard symbol IDs }}}
++      // SMuFL standard symbol user names }}}
  
  //    EXTENSIONS
  //    SMuFL stylistic alternates which we need to access directly
-@@ -5293,7 +5296,7 @@ const std::array<const char*, int(SymId:
+@@ -5293,7 +5305,7 @@ const std::array<const char*, int(SymId:
        "Large brace",
        "Larger brace",
  
@@ -89498,20 +89601,23 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
        QT_TRANSLATE_NOOP("symUserNames", "Up prall"),
 --- a/libmscore/sym.h
 +++ b/libmscore/sym.h
-@@ -28,10 +28,9 @@ enum class Sid;
+@@ -28,10 +28,13 @@ enum class Sid;
  //---------------------------------------------------------
  
  enum class SymId {
--
++      noSym,
 -      // SMuFL standard symbol ID's
--
-       noSym,
-+
++      // DO NOT edit the SMuFL standard symbol IDs (see below) manually!
++      // They are generated from fonttools/smufl2sym.{bat,sh} and then
++      // copied into this file!
+-      noSym,
 +      // SMuFL standard symbol IDs {{{
        fourStringTabClef,
        sixStringTabClef,
        accSagittal11LargeDiesisDown,
-@@ -2626,6 +2625,7 @@ enum class SymId {
+@@ -2626,6 +2629,7 @@ enum class SymId {
        windTrillKey,
        windVeryTightEmbouchure,
        windWeakAirPressure,
@@ -89519,7 +89625,7 @@ Forwarded: https://github.com/musescore/MuseScore/pull/6742
  
  //    EXTENSIONS
  //    SMuFL stylistic alternates which we need to access directly
-@@ -2641,7 +2641,7 @@ enum class SymId {
+@@ -2641,7 +2645,7 @@ enum class SymId {
        braceLarge,
        braceLarger,