diff --git a/src/engraving/dom/textbase.cpp b/src/engraving/dom/textbase.cpp index 76fe87440cf8b..da8761735a1fd 100644 --- a/src/engraving/dom/textbase.cpp +++ b/src/engraving/dom/textbase.cpp @@ -888,8 +888,6 @@ Font TextFragment::font(const TextBase* t) const || t->textStyleType() == TextStyleType::HARP_PEDAL_DIAGRAM || t->textStyleType() == TextStyleType::TUPLET || t->textStyleType() == TextStyleType::PEDAL - || t->textStyleType() == TextStyleType::REPEAT_LEFT - || t->textStyleType() == TextStyleType::REPEAT_RIGHT ) { std::string fontName = engravingFonts()->fontByName(t->style().styleSt(Sid::musicalSymbolFont).toStdString())->family(); family = String::fromStdString(fontName); diff --git a/src/engraving/rw/read410/tread.cpp b/src/engraving/rw/read410/tread.cpp index 1e00243749a03..ef678977cd07b 100644 --- a/src/engraving/rw/read410/tread.cpp +++ b/src/engraving/rw/read410/tread.cpp @@ -1875,6 +1875,11 @@ void TRead::read(Marker* m, XmlReader& e, ReadContext& ctx) e.unknown(); } } + const bool needsAdjustMarkerSize = m->score()->mscVersion() == 440 && m->score()->mscoreVersion() != u"4.4.3" && !ctx.pasteMode(); + const bool isDefualtSize = m->score()->style().styleD(Sid::repeatLeftFontSize) == 11.0; + if (m->textStyleType() == TextStyleType::REPEAT_LEFT && needsAdjustMarkerSize && isDefualtSize) { + m->setSize(18.0); + } m->setMarkerType(mt); } diff --git a/src/engraving/style/styledef.cpp b/src/engraving/style/styledef.cpp index bae4cc3939c5b..f22d6bd30abcf 100644 --- a/src/engraving/style/styledef.cpp +++ b/src/engraving/style/styledef.cpp @@ -1194,8 +1194,6 @@ const std::array StyleDef::styleValue styleDef(repeatLeftFrameFgColor, PropertyValue::fromValue(Color::BLACK)), styleDef(repeatLeftFrameBgColor, PropertyValue::fromValue(Color::transparent)), - styleDef(repeatsMusicalSymbolsScale, 1.0), // percentage of the standard size - styleDef(repeatRightFontFace, "Edwin"), styleDef(repeatRightFontSize, 11.0), styleDef(repeatRightLineSpacing, 1.0), diff --git a/src/engraving/style/styledef.h b/src/engraving/style/styledef.h index dcc97cba4bf31..fa393c47ee6e2 100644 --- a/src/engraving/style/styledef.h +++ b/src/engraving/style/styledef.h @@ -1206,8 +1206,6 @@ enum class Sid { repeatLeftFrameFgColor, repeatLeftFrameBgColor, - repeatsMusicalSymbolsScale, - repeatRightFontFace, repeatRightFontSize, repeatRightLineSpacing, diff --git a/src/engraving/style/textstyle.cpp b/src/engraving/style/textstyle.cpp index 9289304accc68..3d34908b947c7 100644 --- a/src/engraving/style/textstyle.cpp +++ b/src/engraving/style/textstyle.cpp @@ -672,7 +672,6 @@ const TextStyle repeatLeftTextStyle { { { TextStylePropertyType::FrameRound, Sid::repeatLeftFrameRound, Pid::FRAME_ROUND }, { TextStylePropertyType::FrameBorderColor, Sid::repeatLeftFrameFgColor, Pid::FRAME_FG_COLOR }, { TextStylePropertyType::FrameFillColor, Sid::repeatLeftFrameBgColor, Pid::FRAME_BG_COLOR }, - { TextStylePropertyType::MusicalSymbolsScale, Sid::repeatsMusicalSymbolsScale, Pid::MUSICAL_SYMBOLS_SCALE }, } }; const TextStyle repeatRightTextStyle { { @@ -690,7 +689,6 @@ const TextStyle repeatRightTextStyle { { { TextStylePropertyType::FrameRound, Sid::repeatRightFrameRound, Pid::FRAME_ROUND }, { TextStylePropertyType::FrameBorderColor, Sid::repeatRightFrameFgColor, Pid::FRAME_FG_COLOR }, { TextStylePropertyType::FrameFillColor, Sid::repeatRightFrameBgColor, Pid::FRAME_BG_COLOR }, - { TextStylePropertyType::MusicalSymbolsScale, Sid::repeatsMusicalSymbolsScale, Pid::MUSICAL_SYMBOLS_SCALE }, } }; const TextStyle frameTextStyle { { diff --git a/src/palette/internal/palettecell.cpp b/src/palette/internal/palettecell.cpp index c60239aa8a061..92f0f65cef8a4 100644 --- a/src/palette/internal/palettecell.cpp +++ b/src/palette/internal/palettecell.cpp @@ -240,7 +240,6 @@ bool PaletteCell::read(XmlReader& e, bool pasteMode) } else { rw::RWRegister::reader()->readItem(element.get(), e); PaletteCompat::migrateOldPaletteItemIfNeeded(element, gpaletteScore); - element->styleChanged(); if (element->type() == ElementType::ACTION_ICON) { ActionIcon* icon = toActionIcon(element.get()); diff --git a/src/palette/internal/palettecompat.cpp b/src/palette/internal/palettecompat.cpp index dd9538349ba7c..2fd31ce49d0d5 100644 --- a/src/palette/internal/palettecompat.cpp +++ b/src/palette/internal/palettecompat.cpp @@ -24,6 +24,7 @@ #include "palettecompat.h" +#include "dom/marker.h" #include "engraving/rw/compat/compatutils.h" #include "engraving/dom/actionicon.h" @@ -62,6 +63,7 @@ void PaletteCompat::migrateOldPaletteItemIfNeeded(ElementPtr& element, Score* pa bool isOldOrnament = ornamentIds.find(toArticulation(item)->symId()) != ornamentIds.end(); if (!isOldOrnament) { + element->styleChanged(); return; } @@ -69,10 +71,7 @@ void PaletteCompat::migrateOldPaletteItemIfNeeded(ElementPtr& element, Score* pa Ornament* newOrnament = Factory::createOrnament((ChordRest*)(paletteScore->dummy()->chord())); newOrnament->setSymId(oldOrnament->symId()); element.reset(newOrnament); - return; - } - - if (item->isStaffText() && toStaffText(item)->textStyleType() == TextStyleType::EXPRESSION) { + } else if (item->isStaffText() && toStaffText(item)->textStyleType() == TextStyleType::EXPRESSION) { StaffText* oldExpression = toStaffText(item); Expression* newExpression = Factory::createExpression(paletteScore->dummy()->segment()); if (oldExpression->xmlText() == "Expression") { @@ -81,10 +80,7 @@ void PaletteCompat::migrateOldPaletteItemIfNeeded(ElementPtr& element, Score* pa newExpression->setXmlText(oldExpression->xmlText()); } element.reset(newExpression); - return; - } - - if (item->isPedal()) { + } else if (item->isPedal()) { Pedal* newPedal = Factory::createPedal(paletteScore->dummy()); Pedal* oldPedal = toPedal(item); @@ -98,7 +94,22 @@ void PaletteCompat::migrateOldPaletteItemIfNeeded(ElementPtr& element, Score* pa newPedal->setEndText(newPedal->propertyDefault(Pid::END_TEXT).value()); element.reset(newPedal); - return; + } + + element->styleChanged(); + + // from 4.4.3 markers have a font size which is not the default, so this must be reset after calling style changed + if (item->isMarker() && toMarker(item)->size() == 11) { + Marker* oldMarker = toMarker(item); + if (oldMarker->size() != 11 || oldMarker->textStyleType() != TextStyleType::REPEAT_LEFT) { + return; + } + Marker* newMarker = Factory::createMarker(paletteScore->dummy()); + newMarker->setMarkerType(oldMarker->markerType()); + newMarker->setSize(18); + newMarker->setPropertyFlags(Pid::FONT_SIZE, PropertyFlags::UNSTYLED); + + element.reset(newMarker); } } diff --git a/src/palette/internal/palettecreator.cpp b/src/palette/internal/palettecreator.cpp index bc236fbc8bd7b..dbd0c1bb35c77 100644 --- a/src/palette/internal/palettecreator.cpp +++ b/src/palette/internal/palettecreator.cpp @@ -437,6 +437,10 @@ PalettePtr PaletteCreator::newRepeatsPalette(bool defaultPalette) auto mk = makeElement(gpaletteScore); mk->setMarkerType(markerType); mk->styleChanged(); + if (mk->textStyleType() == TextStyleType::REPEAT_LEFT) { + mk->setSize(18.0); + mk->setPropertyFlags(Pid::FONT_SIZE, PropertyFlags::UNSTYLED); + } sp->appendElement(mk, TConv::userName(markerType)); }