MuseScore/libmscore/sym.h

2040 lines
57 KiB
C++

//=============================================================================
// MuseScore
// Music Composition & Notation
//
// Copyright (C) 2002-2011 Werner Schweer
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2
// as published by the Free Software Foundation and appearing in
// the file LICENCE.GPL
//=============================================================================
#ifndef __SYM_H__
#define __SYM_H__
#include "config.h"
class QPainter;
namespace Ms {
class TextStyle;
//---------------------------------------------------------
// SymId
// must be in sync with symNames
//---------------------------------------------------------
enum class SymId {
// SMuFL standard symbol ID's
noSym,
fourStringTabClef,
sixStringTabClef,
accSagittal1119LargeDiesisDown,
accSagittal1119LargeDiesisUp,
accSagittal1119MediumDiesisDown,
accSagittal1119MediumDiesisUp,
accSagittal1149CommaDown,
accSagittal1149CommaUp,
accSagittal11LargeDiesisDown,
accSagittal11LargeDiesisUp,
accSagittal11MediumDiesisDown,
accSagittal11MediumDiesisUp,
accSagittal143CommaDown,
accSagittal143CommaUp,
accSagittal17CommaDown,
accSagittal17CommaUp,
accSagittal17KleismaDown,
accSagittal17KleismaUp,
accSagittal19CommaDown,
accSagittal19CommaUp,
accSagittal19SchismaDown,
accSagittal19SchismaUp,
accSagittal23CommaDown,
accSagittal23CommaUp,
accSagittal23SmallDiesisDown,
accSagittal23SmallDiesisUp,
accSagittal25SmallDiesisDown,
accSagittal25SmallDiesisUp,
accSagittal35LargeDiesisUp,
accSagittal35LargeDiesusDown,
accSagittal35MediumDiesisDown,
accSagittal35MediumDiesisUp,
accSagittal49LargeDiesisDown,
accSagittal49LargeDiesisUp,
accSagittal49MediumDiesisDown,
accSagittal49MediumDiesisUp,
accSagittal49SmallDiesisDown,
accSagittal49SmallDiesisUp,
accSagittal511SmallDiesisDown,
accSagittal511SmallDiesisUp,
accSagittal513LargeDiesisDown,
accSagittal513LargeDiesisUp,
accSagittal513MediumDiesisDown,
accSagittal513MediumDiesisUp,
accSagittal519CommaDown,
accSagittal519CommaUp,
accSagittal523SmallDiesisDown,
accSagittal523SmallDiesisUp,
accSagittal549MediumDiesisDown,
accSagittal549MediumDiesisUp,
accSagittal55CommaDown,
accSagittal55CommaUp,
accSagittal57KleismaDown,
accSagittal57KleismaUp,
accSagittal5CommaDown,
accSagittal5CommaUp,
accSagittal711CommaDown,
accSagittal711CommaUp,
accSagittal711KleismaDown,
accSagittal711KleismaUp,
accSagittal719CommaDown,
accSagittal719CommaUp,
accSagittal7CommaDown,
accSagittal7CommaUp,
accSagittalAcute,
accSagittalDoubleFlat1149CUp,
accSagittalDoubleFlat143CUp,
accSagittalDoubleFlat17CUp,
accSagittalDoubleFlat17kUp,
accSagittalDoubleFlat19CUp,
accSagittalDoubleFlat19sUp,
accSagittalDoubleFlat23CUp,
accSagittalDoubleFlat23SUp,
accSagittalDoubleFlat25SUp,
accSagittalDoubleFlat2ApotomesDown,
accSagittalDoubleFlat49SUp,
accSagittalDoubleFlat511SUp,
accSagittalDoubleFlat519CUp,
accSagittalDoubleFlat523SUp,
accSagittalDoubleFlat55CUp,
accSagittalDoubleFlat57kUp,
accSagittalDoubleFlat5CUp,
accSagittalDoubleFlat711CUp,
accSagittalDoubleFlat711kUp,
accSagittalDoubleFlat719CUp,
accSagittalDoubleFlat7CUp,
accSagittalDoubleSharp1149CDown,
accSagittalDoubleSharp143CDown,
accSagittalDoubleSharp17CDown,
accSagittalDoubleSharp17kDown,
accSagittalDoubleSharp19CDown,
accSagittalDoubleSharp19sDown,
accSagittalDoubleSharp23CDown,
accSagittalDoubleSharp23SDown,
accSagittalDoubleSharp25SDown,
accSagittalDoubleSharp2ApotomesUp,
accSagittalDoubleSharp49SDown,
accSagittalDoubleSharp511SDown,
accSagittalDoubleSharp519CDown,
accSagittalDoubleSharp523SDown,
accSagittalDoubleSharp55CDown,
accSagittalDoubleSharp57kDown,
accSagittalDoubleSharp5CDown,
accSagittalDoubleSharp711CDown,
accSagittalDoubleSharp711kDown,
accSagittalDoubleSharp719CDown,
accSagittalDoubleSharp7CDown,
accSagittalFlat1119LDown,
accSagittalFlat1119MDown,
accSagittalFlat1149CDown,
accSagittalFlat1149CUp,
accSagittalFlat11LDown,
accSagittalFlat11MDown,
accSagittalFlat143CDown,
accSagittalFlat143CUp,
accSagittalFlat17CDown,
accSagittalFlat17CUp,
accSagittalFlat17kDown,
accSagittalFlat17kUp,
accSagittalFlat19CDown,
accSagittalFlat19CUp,
accSagittalFlat19sDown,
accSagittalFlat19sUp,
accSagittalFlat23CDown,
accSagittalFlat23CUp,
accSagittalFlat23SDown,
accSagittalFlat23SUp,
accSagittalFlat25SDown,
accSagittalFlat25SUp,
accSagittalFlat35LDown,
accSagittalFlat35MDown,
accSagittalFlat49LDown,
accSagittalFlat49MDown,
accSagittalFlat49SDown,
accSagittalFlat49SUp,
accSagittalFlat511SDown,
accSagittalFlat511SUp,
accSagittalFlat513LDown,
accSagittalFlat513MDown,
accSagittalFlat519CDown,
accSagittalFlat519CUp,
accSagittalFlat523SDown,
accSagittalFlat523SUp,
accSagittalFlat549MDown,
accSagittalFlat55CDown,
accSagittalFlat55CUp,
accSagittalFlat57kDown,
accSagittalFlat57kUp,
accSagittalFlat5CDown,
accSagittalFlat5CUp,
accSagittalFlat711CDown,
accSagittalFlat711CUp,
accSagittalFlat711kDown,
accSagittalFlat711kUp,
accSagittalFlat719CDown,
accSagittalFlat719CUp,
accSagittalFlat7CDown,
accSagittalFlat7CUp,
accSagittalFlatApotomeDown,
accSagittalGrave,
accSagittalLargeDoubleSharp,
accSagittalNarrowReversedFlat,
accSagittalNarrowReversedFlatAndFlat,
accSagittalShaftDown,
accSagittalShaftUp,
accSagittalSharp1119LUp,
accSagittalSharp1119MUp,
accSagittalSharp1149CDown,
accSagittalSharp1149CUp,
accSagittalSharp11LUp,
accSagittalSharp11MUp,
accSagittalSharp143CDown,
accSagittalSharp143CUp,
accSagittalSharp17CDown,
accSagittalSharp17CUp,
accSagittalSharp17kDown,
accSagittalSharp17kUp,
accSagittalSharp19CDown,
accSagittalSharp19CUp,
accSagittalSharp19sDown,
accSagittalSharp19sUp,
accSagittalSharp23CDown,
accSagittalSharp23CUp,
accSagittalSharp23SDown,
accSagittalSharp23SUp,
accSagittalSharp25SDown,
accSagittalSharp25SUp,
accSagittalSharp35LUp,
accSagittalSharp35MUp,
accSagittalSharp49LUp,
accSagittalSharp49MUp,
accSagittalSharp49SDown,
accSagittalSharp49SUp,
accSagittalSharp511SDown,
accSagittalSharp513LUp,
accSagittalSharp513MUp,
accSagittalSharp519CDown,
accSagittalSharp519CUp,
accSagittalSharp523SDown,
accSagittalSharp523SUp,
accSagittalSharp549MUp,
accSagittalSharp55CDown,
accSagittalSharp55CUp,
accSagittalSharp57kDown,
accSagittalSharp57kUp,
accSagittalSharp5CDown,
accSagittalSharp5CUp,
accSagittalSharp611SUp,
accSagittalSharp711CDown,
accSagittalSharp711CUp,
accSagittalSharp711kDown,
accSagittalSharp711kUp,
accSagittalSharp719CDown,
accSagittalSharp719CUp,
accSagittalSharp7CDown,
accSagittalSharp7CUp,
accSagittalSharpApotomeUp,
accSagittalUnused1,
accSagittalUnused2,
accSagittalUnused3,
accSagittalUnused4,
accSagittalWilsonMinus,
accSagittalWilsonPlus,
accdnCombDot,
accdnCombLH2RanksEmpty,
accdnCombLH3RanksEmptySquare,
accdnCombRH3RanksEmpty,
accdnCombRH4RanksEmpty,
accdnLH2Ranks16Round,
accdnLH2Ranks8Plus16Round,
accdnLH2Ranks8Round,
accdnLH2RanksFullMasterRound,
accdnLH2RanksMasterPlus16Round,
accdnLH2RanksMasterRound,
accdnLH3Ranks2Plus8Square,
accdnLH3Ranks2Square,
accdnLH3Ranks8Square,
accdnLH3RanksDouble8Square,
accdnLH3RanksTuttiSquare,
accdnRH3RanksAccordion,
accdnRH3RanksAuthenticMusette,
accdnRH3RanksBandoneon,
accdnRH3RanksBassoon,
accdnRH3RanksClarinet,
accdnRH3RanksHarmonium,
accdnRH3RanksImitationMusette,
accdnRH3RanksLowerTremolo8,
accdnRH3RanksMaster,
accdnRH3RanksOboe,
accdnRH3RanksOrgan,
accdnRH3RanksPiccolo,
accdnRH3RanksUpperTremolo8,
accdnRH3RanksViolin,
accdnRH4RanksAlto,
accdnRH4RanksBassAlto,
accdnRH4RanksMaster,
accdnRH4RanksSoftBass,
accdnRH4RanksSoftTenor,
accdnRH4RanksSoprano,
accdnRH4RanksTenor,
accidental1CommaFlat,
accidental1CommaSharp,
accidental2CommaFlat,
accidental2CommaSharp,
accidental3CommaFlat,
accidental3CommaSharp,
accidental4CommaFlat,
accidental5CommaSharp,
accidentalArrowDown,
accidentalArrowUp,
accidentalBakiyeFlat,
accidentalBakiyeSharp,
accidentalBuyukMucennebFlat,
accidentalBuyukMucennebSharp,
accidentalCombiningCloseCurlyBrace,
accidentalCombiningLower17Schisma,
accidentalCombiningLower19Schisma,
accidentalCombiningLower23Limit29LimitComma,
accidentalCombiningLower31Schisma,
accidentalCombiningOpenCurlyBrace,
accidentalCombiningRaise17Schisma,
accidentalCombiningRaise19Schisma,
accidentalCombiningRaise23Limit29LimitComma,
accidentalCombiningRaise31Schisma,
accidentalDoubleFlat,
accidentalDoubleFlatArrowDown,
accidentalDoubleFlatArrowUp,
accidentalDoubleFlatEqualTempered,
accidentalDoubleFlatInverted,
accidentalDoubleFlatOneArrowDown,
accidentalDoubleFlatOneArrowUp,
accidentalDoubleFlatReversed,
accidentalDoubleFlatThreeArrowsDown,
accidentalDoubleFlatThreeArrowsUp,
accidentalDoubleFlatTwoArrowsDown,
accidentalDoubleFlatTwoArrowsUp,
accidentalDoubleSharp,
accidentalDoubleSharpArrowDown,
accidentalDoubleSharpArrowUp,
accidentalDoubleSharpEqualTempered,
accidentalDoubleSharpOneArrowDown,
accidentalDoubleSharpOneArrowUp,
accidentalDoubleSharpThreeArrowsDown,
accidentalDoubleSharpThreeArrowsUp,
accidentalDoubleSharpTwoArrowsDown,
accidentalDoubleSharpTwoArrowsUp,
accidentalFilledReversedFlatAndFlat,
accidentalFilledReversedFlatAndFlatArrowDown,
accidentalFilledReversedFlatAndFlatArrowUp,
accidentalFilledReversedFlatArrowDown,
accidentalFilledReversedFlatArrowUp,
accidentalFlat,
accidentalFlatEqualTempered,
accidentalFlatInverted,
accidentalFlatOneArrowDown,
accidentalFlatOneArrowUp,
accidentalFlatThreeArrowsDown,
accidentalFlatThreeArrowsUp,
accidentalFlatTwoArrowsDown,
accidentalFlatTwoArrowsUp,
accidentalHalfSharpArrowDown,
accidentalHalfSharpArrowUp,
accidentalJohnston13,
accidentalJohnston31,
accidentalJohnstonDown,
accidentalJohnstonEl,
accidentalJohnstonMinus,
accidentalJohnstonPlus,
accidentalJohnstonSeven,
accidentalJohnstonUp,
accidentalKomaFlat,
accidentalKomaSharp,
accidentalKoron,
accidentalKucukMucennebFlat,
accidentalKucukMucennebSharp,
accidentalLowerOneSeptimalComma,
accidentalLowerOneTridecimalQuartertone,
accidentalLowerOneUndecimalQuartertone,
accidentalLowerTwoSeptimalCommas,
accidentalManeriSims12Down,
accidentalManeriSims12Up,
accidentalManeriSims4Down,
accidentalManeriSims4Up,
accidentalManeriSims6Down,
accidentalManeriSims6Up,
accidentalNatural,
accidentalNaturalEqualTempered,
accidentalNaturalFlat,
accidentalNaturalOneArrowDown,
accidentalNaturalOneArrowUp,
accidentalNaturalReversed,
accidentalNaturalSharp,
accidentalNaturalThreeArrowsDown,
accidentalNaturalThreeArrowsUp,
accidentalNaturalTwoArrowsDown,
accidentalNaturalTwoArrowsUp,
accidentalOneAndAHalfSharpsArrowDown,
accidentalOneAndAHalfSharpsArrowUp,
accidentalQuarterFlat3,
accidentalQuarterFlat4,
accidentalQuarterFlat5,
accidentalQuarterFlatArrowUp,
accidentalQuarterFlatNaturalArrowDown,
accidentalQuarterFlatTartini,
accidentalQuarterSharp3,
accidentalQuarterSharp4,
accidentalQuarterSharpArrowDown,
accidentalQuarterSharpNaturalArrowUp,
accidentalQuarterSharpOneStroke,
accidentalQuarterSharpTwoStrokes,
accidentalQuarterSharpWiggle,
accidentalRaiseOneSeptimalComma,
accidentalRaiseOneTridecimalQuartertone,
accidentalRaiseOneUndecimalQuartertone,
accidentalRaiseTwoSeptimalCommas,
accidentalReversedFlatAndFlatArrowDown,
accidentalReversedFlatAndFlatArrowUp,
accidentalReversedFlatArrowDown,
accidentalReversedFlatArrowUp,
accidentalSharp,
accidentalSharpEqualTempered,
accidentalSharpOneArrowDown,
accidentalSharpOneArrowUp,
accidentalSharpReversed,
accidentalSharpSharp,
accidentalSharpThreeArrowsDown,
accidentalSharpThreeArrowsUp,
accidentalSharpTwoArrowsDown,
accidentalSharpTwoArrowsUp,
accidentalSori,
accidentalThreeQuartersFlat2,
accidentalThreeQuartersFlatArrowDown,
accidentalThreeQuartersFlatCouper,
accidentalThreeQuartersFlatGrisey,
accidentalThreeQuartersFlatTartini,
accidentalThreeQuartersSharp2,
accidentalThreeQuartersSharpArrowUp,
accidentalThreeQuartersSharpThreeStrokes,
accidentalTripleFlat,
accidentalTripleSharp,
accidentalXenakisOneThirdSharp,
accidentalXenakisTwoThirdsSharp,
analyticsEndStimme,
analyticsHauptstimme,
analyticsInversion1,
analyticsNebenstimme,
analyticsStartStimme,
analyticsTheme,
analyticsTheme1,
analyticsThemeInversion,
analyticsThemeRetrograde,
analyticsThemeRetrogradeInversion,
arpeggiatoDown,
arpeggiatoUp,
arrowBlackDown,
arrowBlackDownLeft,
arrowBlackDownRight,
arrowBlackLeft,
arrowBlackRight,
arrowBlackUp,
arrowBlackUpLeft,
arrowBlackUpRight,
arrowWhiteDown,
arrowWhiteDownLeft,
arrowWhiteDownRight,
arrowWhiteLeft,
arrowWhiteRight,
arrowWhiteUp,
arrowWhiteUpLeft,
arrowWhiteUpRight,
arrowheadBlackDown,
arrowheadBlackDownLeft,
arrowheadBlackDownRight,
arrowheadBlackLeft,
arrowheadBlackRight,
arrowheadBlackUp,
arrowheadBlackUpLeft,
arrowheadBlackUpRight,
arrowheadWhiteDown,
arrowheadWhiteDownLeft,
arrowheadWhiteDownRight,
arrowheadWhiteLeft,
arrowheadWhiteRight,
arrowheadWhiteUp,
arrowheadWhiteUpLeft,
arrowheadWhiteUpRight,
articAccent,
articAccentStaccatoAbove,
articAccentStaccatoBelow,
articLaissezVibrerAbove,
articLaissezVibrerBelow,
articMarcatoAbove,
articMarcatoBelow,
articMarcatoStaccatoAbove,
articMarcatoStaccatoBelow,
articStaccatissimoAbove,
articStaccatissimoBelow,
articStaccatissimoStrokeAbove,
articStaccatissimoStrokeBelow,
articStaccatissimoWedgeAbove,
articStaccatissimoWedgeBelow,
articStaccato,
articStressAbove,
articStressBelow,
articTenuto,
articTenutoSlurAbove,
articTenutoSlurBelow,
articUnstressAbove,
articUnstressBelow,
augmentationDot,
barlineDashed,
barlineDotted,
barlineDouble,
barlineFinal,
barlineHeavy,
barlineHeavyHeavy,
barlineReverseFinal,
barlineShort,
barlineSingle,
barlineTick,
brace,
bracket,
bracketBottom,
bracketTop,
brassBend,
brassDoitLong,
brassDoitMedium,
brassDoitShort,
brassFallLipLong,
brassFallLipMedium,
brassFallLipShort,
brassFallRoughLong,
brassFallRoughMedium,
brassFallRoughShort,
brassFallSmoothLong,
brassFallSmoothMedium,
brassFallSmoothShort,
brassFlip,
brassHarmonMuteClosed,
brassHarmonMuteStemHalfLeft,
brassHarmonMuteStemHalfRight,
brassHarmonMuteStemOpen,
brassJazzTurn,
brassLiftLong,
brassLiftMedium,
brassLiftShort,
brassMuteClosed,
brassMuteHalfClosed,
brassMuteOpen,
brassPlop,
brassScoop,
brassSmear,
breathMark,
breathMarkSalzedo,
bridgeClef,
buzzRoll,
cClef,
cClef8vb,
cClefArrowDown,
cClefArrowUp,
cClefCombining,
cClefReversed,
cClefTriangular,
cClefTriangularToFClef,
caesura,
caesuraShort,
caesuraThick,
chantAccentusAbove,
chantAccentusBelow,
chantAugmentum,
chantCaesura,
chantCirculusAbove,
chantCirculusBelow,
chantClivis2nd,
chantClivis3rd,
chantClivis4th,
chantClivis5th,
chantConnectingLineAsc2nd,
chantConnectingLineAsc3rd,
chantConnectingLineAsc4th,
chantConnectingLineAsc5th,
chantCustosStemDown,
chantCustosStemUp,
chantDivisioFinalis,
chantDivisioMaior,
chantDivisioMaxima,
chantDivisioMinima,
chantEpisema,
chantIctusAbove,
chantIctusBelow,
chantLiquescentAscLower,
chantLiquescentAscUpper,
chantLiquescentDescLower,
chantLiquescentDescUpper,
chantOriscusAscending,
chantOriscusDescending,
chantPodatus2nd,
chantPodatus3rd,
chantPodatus4th,
chantPodatus5th,
chantPorrectus2nd,
chantPorrectus3rd,
chantPorrectus4th,
chantPorrectus5th,
chantPunctum,
chantPunctumCavum,
chantPunctumInclinatum,
chantPunctumLinea,
chantPunctumLineaCavum,
chantPunctumVirga,
chantQuilisma,
chantSemicirculusAbove,
chantSemicirculusBelow,
chantStaff,
chantStaffNarrow,
chantStaffWide,
chantVirgula,
coda,
codaSquare,
conductorBeat2Compound,
conductorBeat2Simple,
conductorBeat3Compound,
conductorBeat3Simple,
conductorBeat4Compound,
conductorBeat4Simple,
conductorLeftBeat,
conductorRightBeat,
conductorStrongBeat,
conductorWeakBeat,
controlBeginBeam,
controlBeginPhrase,
controlBeginSlur,
controlBeginTie,
controlEndBeam,
controlEndPhrase,
controlEndSlur,
controlEndTie,
csymAugmented,
csymDiminished,
csymHalfDiminished,
csymMajorSeventh,
csymMinor,
daCapo,
dalSegno,
daseianExcellentes1,
daseianExcellentes2,
daseianExcellentes3,
daseianExcellentes4,
daseianFinales1,
daseianFinales2,
daseianFinales3,
daseianFinales4,
daseianGraves1,
daseianGraves2,
daseianGraves3,
daseianGraves4,
daseianResidua1,
daseianResidua2,
daseianSuperiores1,
daseianSuperiores2,
daseianSuperiores3,
daseianSuperiores4,
doubleTongueAbove,
doubleTongueBelow,
dynamicCrescendoHairpin,
dynamicDiminuendoHairpin,
dynamicFF,
dynamicFFF,
dynamicFFFF,
dynamicFFFFF,
dynamicFFFFFF,
dynamicForte,
dynamicFortePiano,
dynamicForzando,
dynamicMF,
dynamicMP,
dynamicMezzo,
dynamicNiente,
dynamicNienteForHairpin,
dynamicPF,
dynamicPP,
dynamicPPP,
dynamicPPPP,
dynamicPPPPP,
dynamicPPPPPP,
dynamicPiano,
dynamicRinforzando,
dynamicRinforzando1,
dynamicRinforzando2,
dynamicSforzando,
dynamicSforzando1,
dynamicSforzandoPianissimo,
dynamicSforzandoPiano,
dynamicSforzato,
dynamicSforzatoFF,
dynamicZ,
elecLoop,
elecLoudspeaker,
elecMIDIController0,
elecMIDIController100,
elecMIDIController20,
elecMIDIController40,
elecMIDIController60,
elecMIDIController80,
elecMIDIIn,
elecMIDIOut,
elecMicrophone,
elecPause,
elecPlay,
elecSkipBackwards,
elecSkipForwards,
elecStop,
elecVolumeLevel0,
elecVolumeLevel100,
elecVolumeLevel20,
elecVolumeLevel40,
elecVolumeLevel60,
elecVolumeLevel80,
fClef,
fClef15ma,
fClef15mb,
fClef8va,
fClef8vb,
fClefArrowDown,
fClefArrowUp,
fClefReversed,
fClefTriangular,
fClefTriangularToCClef,
fClefUpsideDown,
fermataAbove,
fermataBelow,
fermataLongAbove,
fermataLongBelow,
fermataLongHenzeAbove,
fermataLongHenzeBelow,
fermataShortAbove,
fermataShortBelow,
fermataShortHenzeAbove,
fermataShortHenzeBelow,
fermataVeryLongAbove,
fermataVeryLongBelow,
fermataVeryShortAbove,
fermataVeryShortBelow,
figbass0,
figbass1,
figbass2,
figbass2Raised,
figbass3,
figbass4,
figbass4Raised,
figbass5,
figbass5Raised1,
figbass5Raised2,
figbass5Raised3,
figbass6,
figbass6Raised,
figbass7,
figbass7Raised,
figbass8,
figbass9,
figbass9Raised,
figbassBracketLeft,
figbassBracketRight,
figbassCombiningLowering,
figbassCombiningRaising,
figbassDoubleFlat,
figbassDoubleSharp,
figbassFlat,
figbassNatural,
figbassParensLeft,
figbassParensRight,
figbassPlus,
figbassSharp,
flag1024thDown,
flag1024thUp,
flag128thDown,
flag128thUp,
flag16thDown,
flag16thUp,
flag256thDown,
flag256thUp,
flag32ndDown,
flag32ndUp,
flag512thDown,
flag512thUp,
flag64thDown,
flag64thUp,
flag8thDown,
flag8thUp,
flagInternalDown,
flagInternalUp,
// flags1024thDownStraight,
// flags1024thUpStraight,
fretboard3String,
fretboard3StringNut,
fretboard4String,
fretboard4StringNut,
fretboard5String,
fretboard5StringNut,
fretboard6String,
fretboard6StringNut,
fretboardFilledCircle,
fretboardO,
fretboardX,
functionAngleLeft,
functionAngleRight,
functionBracketLeft,
functionBracketRight,
functionDD,
functionDLower,
functionDUpper,
functionEight,
functionFive,
functionFour,
functionGLower,
functionGUpper,
functionGreaterThan,
functionLessThan,
functionMinus,
functionNLower,
functionNUpper,
functionNine,
functionOne,
functionPLower,
functionPUpper,
functionParensLeft,
functionParensRight,
functionPlus,
functionRepetition1,
functionRepetition2,
functionRing,
functionSLower,
functionSSLower,
functionSSUpper,
functionSUpper,
functionSeven,
functionSix,
functionSlashedDD,
functionTLower,
functionTUpper,
functionThree,
functionTwo,
functionVLower,
functionVUpper,
functionZero,
gClef,
gClef15ma,
gClef15mb,
gClef8va,
gClef8vb,
gClef8vbCclef,
gClef8vbOld,
gClef8vbSquare,
gClefArrowDown,
gClefArrowUp,
gClefLigatedNumberAbove,
gClefLigatedNumberBelow,
gClefReversed,
gClefUpsideDown,
glissandoDown,
glissandoUp,
graceNoteAcciaccaturaStemDown,
graceNoteAcciaccaturaStemUp,
graceNoteAppoggiaturaStemDown,
graceNoteAppoggiaturaStemUp,
graceNoteSlashStemDown,
graceNoteSlashStemUp,
guitarClosePedal,
guitarGolpe,
guitarHalfOpenPedal,
guitarLeftHandTapping,
guitarOpenPedal,
guitarRightHandTapping,
guitarShake,
guitarString0,
guitarString1,
guitarString2,
guitarString3,
guitarString4,
guitarString5,
guitarString6,
guitarString7,
guitarString8,
guitarString9,
guitarVibratoBarDip,
guitarVibratoBarScoop,
guitarVibratoStroke,
guitarWideVibratoStroke,
handbellsBelltree,
handbellsDamp3,
handbellsEcho1,
handbellsEcho2,
handbellsGyro,
handbellsHandMartellato,
handbellsMalletBellOnTable,
handbellsMalletBellSuspended,
handbellsMalletLft,
handbellsMartellato,
handbellsMartellatoLift,
handbellsMutedMartellato,
handbellsPluckLift,
handbellsSwing,
handbellsSwingDown,
handbellsSwingUp,
harpMetalRod,
harpPedalCentered,
harpPedalDivider,
harpPedalLowered,
harpPedalRaised,
harpSalzedoFluidicSoundsLeft,
harpSalzedoFluidicSoundsRight,
harpSalzedoMetallicSounds,
harpSalzedoMuffleTotally,
harpSalzedoOboicFlux,
harpSalzedoPlayUpperEnd,
harpSalzedoSlideWithSuppleness,
harpSalzedoTamTamSounds,
harpSalzedoThunderEffect,
harpSalzedoTimpanicSounds,
harpSalzedoWhistlingSounds,
harpStringNoiseStem,
harpTuningKey,
harpTuningKeyGlissando,
harpTuningKeyHandle,
harpTuningKeyShank,
keyboardLeftPedalPictogram,
keyboardMiddlePedalPictogram,
keyboardPedalHalf,
keyboardPedalHalf2,
keyboardPedalHalf3,
keyboardPedalHeel1,
keyboardPedalHeel2,
keyboardPedalP,
keyboardPedalPed,
keyboardPedalS,
keyboardPedalSost,
keyboardPedalToe1,
keyboardPedalToe2,
keyboardPedalUp,
keyboardPedalUpNotch,
keyboardPedalUpSpecial,
keyboardPluckInside,
keyboardRightPedalPictogram,
leftRepeat,
leftRepeatSmall,
medRenFlatHardB,
medRenFlatSoftB,
medRenFlatWithDot,
medRenLiquescenceCMN,
medRenNatural,
medRenNaturalWithCross,
medRenPlicaCMN,
medRenSharpCroix,
mensuralAlterationSign,
mensuralBlackBrevis,
mensuralBlackBrevisVoid,
mensuralBlackDragma,
mensuralBlackLonga,
mensuralBlackMaxima,
mensuralBlackMinima,
mensuralBlackMinimaVoid,
mensuralBlackSemibrevis,
mensuralBlackSemibrevisCaudata,
mensuralBlackSemibrevisOblique,
mensuralBlackSemibrevisVoid,
mensuralBlackSemiminima,
mensuralCclef,
mensuralCclefGregorian,
mensuralCclefPetrucci,
mensuralColorationEndRound,
mensuralColorationEndSquare,
mensuralColorationStartRound,
mensuralColorationStartSquare,
mensuralCombStemDiagonal,
mensuralCombStemDown,
mensuralCombStemDownFlagExtended,
mensuralCombStemDownFlagFlared,
mensuralCombStemDownFlagFusa,
mensuralCombStemDownFlagLeft,
mensuralCombStemDownFlagRight,
mensuralCombStemDownFlagSemiminima,
mensuralCombStemUp,
mensuralCombStemUpFlagExtended,
mensuralCombStemUpFlagFlared,
mensuralCombStemUpFlagFusa,
mensuralCombStemUpFlagLeft,
mensuralCombStemUpFlagRight,
mensuralCombStemUpFlagSemiminima,
mensuralCustosCheckmark,
mensuralCustosDown,
mensuralCustosTurn,
mensuralCustosUp,
mensuralFClefAncient,
mensuralFclef,
mensuralFclefGregorian,
mensuralFclefPetrucci,
mensuralGclef,
mensuralGclefPetrucci,
mensuralModusImperfectumVert,
mensuralModusPerfectumVert,
mensuralNoteheadLongaBlack,
mensuralNoteheadLongaBlackVoid,
mensuralNoteheadLongaVoid,
mensuralNoteheadMaximaBlack,
mensuralNoteheadMaximaBlackVoid,
mensuralNoteheadMaximaVoid,
mensuralNoteheadSemibrevisBlack,
mensuralNoteheadSemibrevisBlackVoid,
mensuralNoteheadSemibrevisBlackVoidInverted,
mensuralNoteheadSemibrevisVoid,
mensuralProlation1, // temp. pref.prol. perf.
mensuralProlation10, // temp. imp. prol. imp. dimin. rev.
mensuralProlation11, // temp. imp. prol. perf.rev.
mensuralProlation2, // temp. perf.prol. imp.
mensuralProlation3, // temp. perf.prol. imp. dimin.
mensuralProlation4, // temp. perf.prol. perf.dimin
mensuralProlation5, // temp. imp. prol. perf.
mensuralProlation6, // temp. imp. prol. imp.
mensuralProlation7, // temp. imp. prol. imp. rev.
mensuralProlation8, // temp. imp. prol. perf.dimin
mensuralProlation9, // temp. imp. prol. imp. dimin
mensuralProlationCombiningDot,
mensuralProlationCombiningDotVoid,
mensuralProlationCombiningStroke,
mensuralProlationCombiningThreeDots,
mensuralProlationCombiningThreeDotsTri,
mensuralProlationCombiningTwoDots,
mensuralProportion1,
mensuralProportion2,
mensuralProportion3,
mensuralProportion4,
mensuralProportionMajor,
mensuralProportionMinor,
mensuralRestBrevis,
mensuralRestFusa,
mensuralRestLongaImperfecta,
mensuralRestLongaPerfecta,
mensuralRestMaxima,
mensuralRestMinima,
mensuralRestSemibrevis,
mensuralRestSemifusa,
mensuralRestSemiminima,
mensuralSignum,
mensuralTempusImperfectumHoriz,
mensuralTempusPerfectumHoriz,
mensuralWhiteBrevis,
mensuralWhiteFusa,
mensuralWhiteLonga,
mensuralWhiteMaxima,
mensuralWhiteMinima,
mensuralWhiteSemiminima,
miscDoNotCopy,
miscDoNotPhotocopy,
miscEyeglasses,
miscStaffDivideArrowDown,
miscStaffDivideArrowUp,
miscStaffDivideArrowUpDown,
miscSwish,
note1024thDown,
note1024thUp,
note128thDown,
note128thUp,
note16thDown,
note16thUp,
note256thDown,
note256thUp,
note32ndDown,
note32ndUp,
note512thDown,
note512thUp,
note64thDown,
note64thUp,
noteABlack,
noteAFlatBlack,
noteAFlatHalf,
noteAFlatWhole,
noteAHalf,
noteASharpBlack,
noteASharpHalf,
noteASharpWhole,
noteAWhole,
noteBBlack,
noteBFlatBlack,
noteBFlatHalf,
noteBFlatWhole,
noteBHalf,
noteBSharpBlack,
noteBSharpHalf,
noteBSharpWhole,
noteBWhole,
noteCBlack,
noteCFlatBlack,
noteCFlatHalf,
noteCFlatWhole,
noteCHalf,
noteCSharpBlack,
noteCSharpHalf,
noteCSharpWhole,
noteCWhole,
noteDBlack,
noteDFlatBlack,
noteDFlatHalf,
noteDFlatWhole,
noteDHalf,
noteDSharpBlack,
noteDSharpHalf,
noteDSharpWhole,
noteDWhole,
noteDoBlack,
noteDoHalf,
noteDoWhole,
noteDoubleWhole,
noteDoubleWholeSquare,
noteEBlack,
noteEFlatBlack,
noteEFlatHalf,
noteEFlatWhole,
noteEHalf,
noteESharpBlack,
noteESharpHalf,
noteESharpWhole,
noteEWhole,
note8thDown,
note8thUp,
noteEmptyBlack,
noteEmptyHalf,
noteEmptyWhole,
noteFBlack,
noteFFlatBlack,
noteFFlatHalf,
noteFFlatWhole,
noteFHalf,
noteFSharpBlack,
noteFSharpHalf,
noteFSharpWhole,
noteFWhole,
noteFaBlack,
noteFaHalf,
noteFaWhole,
noteGBlack,
noteGFlatBlack,
noteGFlatHalf,
noteGFlatWhole,
noteGHalf,
noteGSharpBlack,
noteGSharpHalf,
noteGSharpWhole,
noteGWhole,
noteHBlack,
noteHHalf,
noteHSharpBlack,
noteHSharpHalf,
noteHSharpWhole,
noteHWhole,
noteHalfDown,
noteHalfUp,
noteLaBlack,
noteLaHalf,
noteLaWhole,
noteMiBlack,
noteMiHalf,
noteMiWhole,
noteQuarterDown,
noteQuarterUp,
noteReBlack,
noteReHalf,
noteReWhole,
noteShapeDiamondBlack,
noteShapeDiamondWhite,
noteShapeMoonBlack,
noteShapeMoonWhite,
noteShapeRoundBlack,
noteShapeRoundWhite,
noteShapeSquareBlack,
noteShapeSquareWhite,
noteShapeTriangleLeftBlack,
noteShapeTriangleLeftWhite,
noteShapeTriangleRightBlack,
noteShapeTriangleRightWhite,
noteShapeTriangleRoundBlack,
noteShapeTriangleRoundWhite,
noteShapeTriangleUpBlack,
noteShapeTriangleUpWhite,
noteSiBlack,
noteSiHalf,
noteSiWhole,
noteSoBlack,
noteSoHalf,
noteSoWhole,
noteTiBlack,
noteTiHalf,
noteTiWhole,
noteWhole,
noteheadBlack,
noteheadCircleSlash,
noteheadCircleX,
noteheadCircleXDoubleWhole,
noteheadCircleXHalf,
noteheadCircleXWhole,
noteheadCircledBlack,
noteheadCircledDoubleWhole,
noteheadCircledHalf,
noteheadCircledWhole,
noteheadClusterDoubleWhole2nd,
noteheadClusterDoubleWhole3rd,
noteheadClusterDoubleWholeBottom,
noteheadClusterDoubleWholeMiddle,
noteheadClusterDoubleWholeTop,
noteheadClusterHalf2nd,
noteheadClusterHalf3rd,
noteheadClusterHalfBottom,
noteheadClusterHalfMiddle,
noteheadClusterHalfTop,
noteheadClusterQuarter2nd,
noteheadClusterQuarter3rd,
noteheadClusterQuarterBottom,
noteheadClusterQuarterMiddle,
noteheadClusterQuarterTop,
noteheadClusterRoundBlack,
noteheadClusterRoundWhite,
noteheadClusterSquareBlack,
noteheadClusterSquareWhite,
noteheadClusterWhole2nd,
noteheadClusterWhole3rd,
noteheadClusterWholeBottom,
noteheadClusterWholeMiddle,
noteheadClusterWholeTop,
noteheadDiamondBlack,
noteheadDiamondBlackOld,
noteheadDiamondClusterBlack2nd,
noteheadDiamondClusterBlack3rd,
noteheadDiamondClusterBlackBottom,
noteheadDiamondClusterBlackMiddle,
noteheadDiamondClusterBlackTop,
noteheadDiamondClusterWhite2nd,
noteheadDiamondClusterWhite3rd,
noteheadDiamondClusterWhiteBottom,
noteheadDiamondClusterWhiteMiddle,
noteheadDiamondClusterWhiteTop,
noteheadDiamondDoubleWhole,
noteheadDiamondDoubleWholeOld,
noteheadDiamondHalf,
noteheadDiamondHalfFilled,
noteheadDiamondHalfOld,
noteheadDiamondWhole,
noteheadDiamondWholeOld,
noteheadDoubleWhole,
noteheadDoubleWholeSquare,
noteheadDoubleWholeWithX,
noteheadHalf,
noteheadHalfWithX,
noteheadHeavyX,
noteheadHeavyXHat,
noteheadLargeArrowDownBlack,
noteheadLargeArrowDownDoubleWhole,
noteheadLargeArrowDownHalf,
noteheadLargeArrowDownWhole,
noteheadLargeArrowUpBlack,
noteheadLargeArrowUpDoubleWhole,
noteheadLargeArrowUpHalf,
noteheadLargeArrowUpWhole,
noteheadMoonBlack,
noteheadMoonWhite,
noteheadNull,
noteheadParenthesis,
noteheadParenthesisLeft,
noteheadParenthesisRight,
noteheadPlusBlack,
noteheadPlusDoubleWhole,
noteheadPlusHalf,
noteheadPlusWhole,
noteheadRoundBlack,
noteheadRoundBlackLarge,
noteheadRoundBlackSlashed,
noteheadRoundBlackSlashedLarge,
noteheadRoundWhite,
noteheadRoundWhiteLarge,
noteheadRoundWhiteSlashed,
noteheadRoundWhiteSlashedLarge,
noteheadRoundWhiteWithDot,
noteheadRoundWhiteWithDotLarge,
noteheadSlashDiamondWhite,
noteheadSlashHorizontalEnds,
noteheadSlashHorizontalEndsMuted,
noteheadSlashVerticalEnds,
noteheadSlashVerticalEndsMuted,
noteheadSlashVerticalEndsSmall,
noteheadSlashWhite,
noteheadSlashWhiteMuted,
noteheadSlashX,
noteheadSlashedBlack1,
noteheadSlashedBlack2,
noteheadSlashedDoubleWhole1,
noteheadSlashedDoubleWhole2,
noteheadSlashedHalf1,
noteheadSlashedHalf2,
noteheadSlashedWhole1,
noteheadSlashedWhole2,
noteheadSquareBlack,
noteheadSquareBlackLarge,
noteheadSquareBlackWhite,
noteheadSquareWhite,
noteheadTriangleDownBlack,
noteheadTriangleDownDoubleWhole,
noteheadTriangleDownHalf,
noteheadTriangleDownWhite,
noteheadTriangleDownWhole,
noteheadTriangleLeftBlack,
noteheadTriangleLeftWhite,
noteheadTriangleRightBlack,
noteheadTriangleRightWhite,
noteheadTriangleRoundDownBlack,
noteheadTriangleRoundDownWhite,
noteheadTriangleUpBlack,
noteheadTriangleUpDoubleWhole,
noteheadTriangleUpHalf,
noteheadTriangleUpRightBlack,
noteheadTriangleUpRightWhite,
noteheadTriangleUpWhite,
noteheadTriangleUpWhole,
noteheadVoidWithX,
noteheadWhole,
noteheadWholeWithX,
noteheadXBlack,
noteheadXDoubleWhole,
noteheadXHalf,
noteheadXOrnate,
noteheadXWhole,
ornamentBottomLeftConcaveStroke,
ornamentBottomLeftConcaveStrokeLarge,
ornamentBottomLeftConvexStroke,
ornamentBottomRightConcaveStroke,
ornamentBottomRightConvexStroke,
ornamentComma,
ornamentDoubleObliqueLinesAfterNote,
ornamentDoubleObliqueLinesBeforeNote,
ornamentDownCurve,
ornamentHaydn,
ornamentHighLeftConcaveStroke,
ornamentHighLeftConvexStroke,
ornamentHighRightConcaveStroke,
ornamentHighRightConvexStroke,
ornamentHookAfterNote,
ornamentHookBeforeNote,
ornamentLeftFacingHalfCircle,
ornamentLeftFacingHook,
ornamentLeftPlus,
ornamentLeftShakeT,
ornamentLeftVerticalStroke,
ornamentLeftVerticalStrokeWithCross,
ornamentLowLeftConcaveStroke,
ornamentLowLeftConvexStroke,
ornamentLowRightConcaveStroke,
ornamentLowRightConvexStroke,
ornamentMiddleVerticalStroke,
ornamentMordent,
ornamentMordentInverted,
ornamentObliqueLineAfterNote,
ornamentObliqueLineBeforeNote,
ornamentObliqueLineHorizAfterNote,
ornamentObliqueLineHorizBeforeNote,
ornamentOriscus,
ornamentPortDeVoixV,
ornamentPrecompAppoggTrill,
ornamentPrecompAppoggTrillSuffix,
ornamentPrecompDescendingSlide,
ornamentPrecompPortDeVoixMordent,
ornamentPrecompSlide,
ornamentPrecompSlideTrillBach,
ornamentPrecompSlideTrillDAnglebert,
ornamentPrecompSlideTrillMarpurg,
ornamentPrecompSlideTrillMuffat,
ornamentPrecompSlideTrillSuffixMuffat,
ornamentPrecompTrillSuffixDandrieu,
ornamentPrecompTurnTrillBach,
ornamentPrecompTurnTrillDAnglebert,
ornamentQuilisma,
ornamentRightFacingHalfCircle,
ornamentRightFacingHook,
ornamentRightVerticalStroke,
ornamentSchleifer,
ornamentShake3,
ornamentShakeMuffat1,
ornamentShortObliqueLineAfterNote,
ornamentShortObliqueLineBeforeNote,
ornamentTopLeftConcaveStroke,
ornamentTopLeftConvexStroke,
ornamentTopRightConcaveStroke,
ornamentTopRightConvexStroke,
ornamentTremblement,
ornamentTrill,
ornamentTurn,
ornamentTurnInverted,
ornamentTurnSlash,
ornamentTurnUp,
ornamentTurnUpS,
ornamentUpCurve,
ornamentVerticalLine,
ornamentZigZagLineNoRightEnd,
ornamentZigZagLineWithRightEnd,
ottava,
ottavaAlta,
ottavaBassa,
ottavaBassaBa,
pendereckiTremolo,
pictAlmglocken,
pictAnvil,
pictBassDrum,
pictBassDrumOnSide,
pictBeaterBow,
pictBeaterBrassMalletsDown,
pictBeaterBrassMalletsUp,
pictBeaterDoubleBassDrumDown,
pictBeaterDoubleBassDrumUp,
pictBeaterFinger,
pictBeaterFingernails,
pictBeaterFist,
pictBeaterGuiroScraper,
pictBeaterHammer,
pictBeaterHand,
pictBeaterHardBassDrumDown,
pictBeaterHardBassDrumUp,
pictBeaterHardGlockenspielDown,
pictBeaterHardGlockenspielLeft,
pictBeaterHardGlockenspielRight,
pictBeaterHardGlockenspielUp,
pictBeaterHardTimpaniDown,
pictBeaterHardTimpaniLeft,
pictBeaterHardTimpaniRight,
pictBeaterHardTimpaniUp,
pictBeaterHardXylophoneDown,
pictBeaterHardXylophoneLeft,
pictBeaterHardXylophoneRight,
pictBeaterHardXylophoneUp,
pictBeaterHardYarnDown,
pictBeaterHardYarnLeft,
pictBeaterHardYarnRight,
pictBeaterHardYarnUp,
pictBeaterJazzSticksDown,
pictBeaterJazzSticksUp,
pictBeaterKnittingNeedle,
pictBeaterMallet,
pictBeaterMediumBassDrumDown,
pictBeaterMediumBassDrumUp,
pictBeaterMediumTimpaniDown,
pictBeaterMediumTimpaniLeft,
pictBeaterMediumTimpaniRight,
pictBeaterMediumTimpaniUp,
pictBeaterMediumXylophoneDown,
pictBeaterMediumXylophoneLeft,
pictBeaterMediumXylophoneRight,
pictBeaterMediumXylophoneUp,
pictBeaterMediumYarnDown,
pictBeaterMediumYarnLeft,
pictBeaterMediumYarnRight,
pictBeaterMediumYarnUp,
pictBeaterMetalHammer,
pictBeaterSnareSticksDown,
pictBeaterSnareSticksUp,
pictBeaterSoftBassDrumDown,
pictBeaterSoftBassDrumUp,
pictBeaterSoftGlockenspielDown,
pictBeaterSoftGlockenspielLeft,
pictBeaterSoftGlockenspielRight,
pictBeaterSoftGlockenspielUp,
pictBeaterSoftTimpaniDown,
pictBeaterSoftTimpaniLeft,
pictBeaterSoftTimpaniRight,
pictBeaterSoftTimpaniUp,
pictBeaterSoftXylophone,
pictBeaterSoftXylophoneDown,
pictBeaterSoftXylophoneLeft,
pictBeaterSoftXylophoneRight,
pictBeaterSoftXylophoneUp,
pictBeaterSoftYarnDown,
pictBeaterSoftYarnLeft,
pictBeaterSoftYarnRight,
pictBeaterSoftYarnUp,
pictBeaterSpoonWoodenMallet,
pictBeaterSuperballDown,
pictBeaterSuperballLeft,
pictBeaterSuperballRight,
pictBeaterSuperballUp,
pictBeaterTriangleDown,
pictBeaterTriangleUp,
pictBeaterWireBrushesDown,
pictBeaterWireBrushesUp,
pictBeaterWoodTimpaniDown,
pictBeaterWoodTimpaniLeft,
pictBeaterWoodTimpaniRight,
pictBeaterWoodTimpaniUp,
pictBeaterWoodXylophoneDown,
pictBeaterWoodXylophoneLeft,
pictBeaterWoodXylophoneRight,
pictBeaterWoodXylophoneUp,
pictBell,
pictBellOfCymbal,
pictBellPlate,
pictBirdWhistle,
pictBoardClapper,
pictBongos,
pictBrakeDrum,
pictCabasa,
pictCannon,
pictCarHorn,
pictCastanets,
pictCenter1,
pictCenter2,
pictCenter3,
pictChimes,
pictChineseCymbal,
pictChokeCymbal,
pictClaves,
pictCoins,
pictConga,
pictCowBell,
pictCrashCymbals,
pictCrotales,
pictCymbalTongs,
pictDamp1,
pictDamp2,
pictDamp3,
pictDamp4,
pictDrumStick,
pictDuckCall,
pictEdgeOfCymbal,
pictEmptyTrap,
pictFingerCymbals,
pictFlexatone,
pictFootballRatchet,
pictGlsp,
pictGlspSmithBrindle,
pictGobletDrum,
pictGong,
pictGongWithButton,
pictGuiro,
pictGumHardDown,
pictGumHardLeft,
pictGumHardRight,
pictGumHardUp,
pictGumMediumDown,
pictGumMediumLeft,
pictGumMediumRight,
pictGumMediumUp,
pictGumSoftDown,
pictGumSoftLeft,
pictGumSoftRight,
pictGumSoftUp,
pictHalfOpen1,
pictHalfOpen2,
pictHandbell,
pictHiHat,
pictHiHatOnStand,
pictKlaxonHorn,
pictLeftHandCircle,
pictLionsRoar,
pictLogDrum,
pictMar,
pictMarSmithBrindle,
pictMaraca,
pictMaracas,
pictMegaphone,
pictNormalPosition,
pictOnRim,
pictOpen,
pictOpenRimShot,
pictPistolShot,
pictPoliceWhistle,
pictRainstick,
pictRatchet,
pictRightHandSquare,
pictRim1,
pictRim2,
pictRim3,
pictRimShotOnStem,
pictSandpaperBlocks,
pictScrapeAroundRim,
pictScrapeCenterToEdge,
pictScrapeEdgeToCenter,
pictSiren,
pictSistrum,
pictSizzleCymbal,
pictSleighBell,
pictSlideBrushOnGong,
pictSlideWhistle,
pictSlitDrum,
pictSnareDrum,
pictSnareDrumMilitary,
pictSnareDrumSnaresOff,
pictStickShot,
pictSuperball,
pictSuspendedCymbal,
pictTabla,
pictTamTam,
pictTamTamWithBeater,
pictTambourine,
pictTempleBlocks,
pictTenorDrum,
pictThundersheet,
pictTimbales,
pictTimpani,
pictTomTom,
pictTriangle,
pictTubularBells,
pictVib,
pictVibSmithBrindle,
pictVibraslap,
pictVietnameseHat,
pictWhip,
pictWindChimesGlass,
pictWindMachine,
pictWindWhistle,
pictWoodBlock,
pictWoundHardDown,
pictWoundHardLeft,
pictWoundHardRight,
pictWoundHardUp,
pictWoundSoftDown,
pictWoundSoftLeft,
pictWoundSoftRight,
pictWoundSoftUp,
pictXyl,
pictXylSmithBrindle,
pluckedBuzzPizzicato,
pluckedDamp,
pluckedDampAll,
pluckedDampOnStem,
pluckedFingernailFlick,
pluckedLeftHandPizzicato,
pluckedPlectrum,
pluckedSnapPizzicatoAbove,
pluckedSnapPizzicatoBelow,
pluckedWithFingernails,
quindicesima,
quindicesimaAlta,
quindicesimaBassa,
repeat1Bar,
repeat2Bars,
repeat4Bars,
repeatDot,
repeatDots,
rest1024th,
rest128th,
rest16th,
rest256th,
rest32nd,
rest512th,
rest64th,
rest8th,
restDoubleWhole,
restHBar,
restHBarLeft,
restHBarRight,
restHalf,
restLonga,
restQuarter,
restQuarterOld,
restWhole,
reversedBrace,
reversedBracketBottom,
reversedBracketTop,
rightRepeat,
rightRepeatSmall,
segno,
segnoSerpent1,
segnoSerpent2,
semipitchedPercussionClef1,
semipitchedPercussionClef2,
splitBarDivider,
staff1Line,
staff1LineNarrow,
staff1LineWide,
staff2Lines,
staff2LinesNarrow,
staff2LinesWide,
staff3Lines,
staff3LinesNarrow,
staff3LinesWide,
staff4Lines,
staff4LinesNarrow,
staff4LinesWide,
staff5Lines,
staff5LinesNarrow,
staff5LinesWide,
staff6Lines,
staff6LinesNarrow,
staff6LinesWide,
staffPosLower1,
staffPosLower2,
staffPosLower3,
staffPosLower4,
staffPosLower5,
staffPosLower6,
staffPosLower7,
staffPosLower8,
staffPosRaise1,
staffPosRaise2,
staffPosRaise3,
staffPosRaise4,
staffPosRaise5,
staffPosRaise6,
staffPosRaise7,
staffPosRaise8,
stem,
stemBowOnBridge,
stemBowOnTailpiece,
stemBuzzRoll,
stemDamp,
stemHarpStringNoise,
stemMultiphonicsBlack,
stemMultiphonicsBlackWhite,
stemMultiphonicsWhite,
stemPendereckiTremolo,
stemRimShot,
stemSprechgesang,
stemSulPonticello,
stemSussurando,
stemSwished,
stemVibratoPulse,
stringsBowBehindBridge,
stringsBowOnBridge,
stringsBowOnTailpiece,
stringsChangeBowDirection,
stringsDownBow,
stringsFouette,
stringsHalfHarmonic,
stringsHarmonic,
stringsJeteAbove,
stringsJeteBelow,
stringsMuteOff,
stringsMuteOn,
stringsOverpressureDownBow,
stringsOverpressureNoDirection,
stringsOverpressurePossibileDownBow,
stringsOverpressurePossibileUpBow,
stringsOverpressureUpBow,
stringsThumbPosition,
stringsUpBow,
stringsVibratoPulse,
systemDivider,
systemDividerExtraLong,
systemDividerLong,
textAugmentationDot,
textBlackNoteFrac16thLongStem,
textBlackNoteFrac16thShortStem,
textBlackNoteFrac32ndLongStem,
textBlackNoteFrac8thLongStem,
textBlackNoteFrac8thShortStem,
textBlackNoteLongStem,
textBlackNoteShortStem,
textCont16thBeamLongStem,
textCont16thBeamShortStem,
textCont32ndBeamLongStem,
textCont8thBeamLongStem,
textCont8thBeamShortStem,
textTie,
textTuplet3LongStem,
textTuplet3ShortStem,
textTupletBracketEndLongStem,
textTupletBracketEndShortStem,
textTupletBracketStartLongStem,
textTupletBracketStartShortStem,
timeSig0,
timeSig1,
timeSig2,
timeSig3,
timeSig4,
timeSig5,
timeSig6,
timeSig7,
timeSig8,
timeSig9,
timeSigCombDenominator,
timeSigCombNumerator,
timeSigComma,
timeSigCommon,
timeSigCutCommon,
timeSigEquals,
timeSigFractionHalf,
timeSigFractionOneThird,
timeSigFractionQuarter,
timeSigFractionThreeQuarters,
timeSigFractionTwoThirds,
timeSigFractionalSlash,
timeSigMinus,
timeSigMultiply,
timeSigOpenPenderecki,
timeSigParensLeft,
timeSigParensLeftSmall,
timeSigParensRight,
timeSigParensRightSmall,
timeSigPlus,
timeSigPlusSmall,
timeSigX,
tremolo1,
tremolo2,
tremolo3,
tremolo4,
tremolo5,
tremoloFingered1,
tremoloFingered2,
tremoloFingered3,
tremoloFingered4,
tremoloFingered5,
tripleTongueAbove,
tripleTongueBelow,
tuplet0,
tuplet1,
tuplet2,
tuplet3,
tuplet4,
tuplet5,
tuplet6,
tuplet7,
tuplet8,
tuplet9,
tupletColon,
unmeasuredTremolo,
unmeasuredTremoloSimple,
unpitchedPercussionClef1,
unpitchedPercussionClef2,
ventiduesima,
ventiduesimaAlta,
ventiduesimaBassa,
vocalBreathMark,
vocalMouthClosed,
vocalMouthOpen,
vocalMouthPursed,
vocalMouthSlightlyOpen,
vocalMouthWideOpen,
vocalSprechgesang,
vocalsSussurando,
wiggleArpeggiatoDown,
wiggleArpeggiatoDownArrow,
wiggleArpeggiatoDownSwash,
wiggleArpeggiatoUp,
wiggleArpeggiatoUpArrow,
wiggleArpeggiatoUpSwash,
wiggleCircular,
wiggleCircularConstant,
wiggleCircularEnd,
wiggleCircularLarge,
wiggleCircularLarger,
wiggleCircularLargerStill,
wiggleCircularLargest,
wiggleCircularSmall,
wiggleCircularStart,
wiggleGlissando,
wiggleGlissandoGroup1,
wiggleGlissandoGroup2,
wiggleGlissandoGroup3,
wiggleSawtooth,
wiggleSquaretooth,
wiggleTrill,
wiggleTrillFast,
wiggleTrillFaster,
wiggleTrillFasterStill,
wiggleTrillFastest,
wiggleTrillSlow,
wiggleTrillSlower,
wiggleTrillSlowerStill,
wiggleTrillSlowest,
wiggleVIbratoLargestSlower,
wiggleVIbratoMediumSlower,
wiggleVibrato,
wiggleVibratoLargeFast,
wiggleVibratoLargeFaster,
wiggleVibratoLargeFasterStill,
wiggleVibratoLargeFastest,
wiggleVibratoLargeSlow,
wiggleVibratoLargeSlower,
wiggleVibratoLargeSlowest,
wiggleVibratoLargestFast,
wiggleVibratoLargestFaster,
wiggleVibratoLargestFasterStill,
wiggleVibratoLargestFastest,
wiggleVibratoLargestSlow,
wiggleVibratoLargestSlowest,
wiggleVibratoMediumFast,
wiggleVibratoMediumFaster,
wiggleVibratoMediumFasterStill,
wiggleVibratoMediumFastest,
wiggleVibratoMediumSlow,
wiggleVibratoMediumSlowest,
wiggleVibratoSmallFast,
wiggleVibratoSmallFaster,
wiggleVibratoSmallFasterStill,
wiggleVibratoSmallFastest,
wiggleVibratoSmallSlow,
wiggleVibratoSmallSlower,
wiggleVibratoSmallSlowest,
wiggleVibratoSmallestFast,
wiggleVibratoSmallestFaster,
wiggleVibratoSmallestFasterStill,
wiggleVibratoSmallestFastest,
wiggleVibratoSmallestSlow,
wiggleVibratoSmallestSlower,
wiggleVibratoSmallestSlowest,
wiggleVibratoStart,
wiggleVibratoWide,
wiggleWavy,
windClosedHole,
windFlatEmbouchure,
windHalfClosedHole1,
windHalfClosedHole2,
windHalfClosedHole3,
windLessRelaxedEmbouchure,
windLessTightEmbouchure,
windMultiphonicsBlackStem,
windMultiphonicsBlackWhiteStem,
windMultiphonicsWhiteStem,
windOpenHole,
windReedPositionIn,
windReedPositionNormal,
windReedPositionOut,
windRelaxedEmbouchure,
windSharpEmbouchure,
windStrongAirPressure,
windThreeQuartersClosedHole,
windTightEmbouchure,
windTrillKey,
windVeryTightEmbouchure,
windWeakAirPressure,
// EXTENSIONS
// SMuFL stylistic alternates which we need to access directly
noteheadDoubleWholeAlt, // double whole with double side bars
sixStringTabClefSerif, // TAB clef in script style
// MuseScore local symbols, precomposed symbols to mimic some emmentaler glyphs
ornamentPrallMordent,
ornamentUpPrall,
ornamentUpMordent,
ornamentPrallDown,
ornamentDownPrall,
ornamentDownMordent,
ornamentPrallUp,
ornamentLinePrall,
// additional symbols
noteLongaUp,
noteLongaDown,
noteLongaSquareUp,
noteLongaSquareDown,
// END OF TABLE
lastSym
};
//---------------------------------------------------------
// Sym
//---------------------------------------------------------
class Sym {
QString _string;
QPointF _attach;
qreal _width; // cached width
QRectF _bbox; // cached bbbox
public:
Sym() { }
const QString& string() const { return _string; }
void setString(const QString& s) { _string = s; }
bool isValid() const { return !_string.isEmpty(); }
QPointF attach() const { return _attach; }
void setAttach(const QPointF& r) { _attach = r; }
void setWidth(qreal val) { _width = val; }
qreal width() const { return _width; }
void setBbox(QRectF val) { _bbox = val; }
QRectF bbox() const { return _bbox; }
static SymId name2id(const QString& s) { return lnhash.value(s, SymId::noSym); } // return noSym if not found
static SymId oldName2id(const QString s) { return lonhash.value(s, SymId::noSym);}
static const char* id2name(SymId id);
static QString id2userName(SymId id) { return symUserNames[int(id)]; }
static SymId userName2id(const QString& s) { int val = symUserNames.indexOf(s);
return (val == -1) ? SymId::noSym : (SymId)(val); }
static QVector<const char*> symNames;
static QVector<QString> symUserNames;
static QHash<QString, SymId> lnhash;
static QHash<QString, SymId> lonhash;
};
//---------------------------------------------------------
// ScoreFont
//---------------------------------------------------------
class ScoreFont {
QFont _font;
QFontMetricsF* _fm = 0;
QVector<Sym> _symbols;
QString _name;
QString _family;
QString _fontPath;
QString _filename;
bool loaded = false;
static QVector<ScoreFont> _scoreFonts;
const Sym& sym(SymId id) const { return _symbols[int(id)]; }
void load();
public:
ScoreFont() {}
ScoreFont(const char* n, const char* f, const char* p, const char* fn)
: _name(n), _family(f), _fontPath(p), _filename(fn) {
_symbols = QVector<Sym>(int(SymId::lastSym) + 1);
}
const QString& name() const { return _name; }
static ScoreFont* fontFactory(QString);
static ScoreFont* fallbackFont();
static const QVector<ScoreFont>& scoreFonts() { return _scoreFonts; }
const QFont& font() const { return _font; }
const QString& toString(SymId id) const { return _symbols[int(id)].string(); }
void draw(SymId id, QPainter* painter, qreal mag, const QPointF& pos = QPointF()) const;
void draw(const QString&, QPainter*, qreal mag, const QPointF& pos = QPointF()) const;
void draw(SymId id, QPainter* painter, qreal mag, const QPointF& pos, int n) const;
QString symToHtml(SymId, int leftMargin=0, const TextStyle* ts = 0, qreal sp=10.0);
QString symToHtml(SymId, SymId, int leftMargin=0);
QPixmap sym2pixmap(SymId id, qreal mag);
qreal height(SymId id, qreal mag) const { return _fm->tightBoundingRect(toString(id)).height() * mag; }
qreal width(SymId id, qreal mag) const { return _symbols[int(id)].width() * mag; }
qreal width(const QString& s, qreal mag) const { return _fm->width(s) * mag; }
const QRectF bbox(SymId id, qreal mag) const;
const QRectF bbox(const QString& s, qreal mag) const;
QPointF attach(SymId id, qreal mag) const { return _symbols[int(id)].attach() * mag; }
bool isValid(SymId id) const { return _symbols[int(id)].isValid(); }
const QString& family() const { return _family; }
};
extern void initScoreFonts();
} // namespace Ms
#endif