X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=python%2Fconvertrules.py;h=88ae549d0bc8bcce3158c77573d291fb8f529ba9;hb=ba824abf873d98c5afa9f8236beb85929cec0c03;hp=6bb1101fe7f4578684b4dfbe608ced322b248876;hpb=0492cdc59a5e61c3f4b3e6086b8c21db3d255b81;p=lilypond.git diff --git a/python/convertrules.py b/python/convertrules.py index 6bb1101fe7..88ae549d0b 100644 --- a/python/convertrules.py +++ b/python/convertrules.py @@ -93,7 +93,7 @@ conversions.append (( def conv(str): if re.search ('\\\\header', str): error_file.write ('\n') - error_file.write (NOT_SMART % "new \\header format") + error_file.write (NOT_SMART % _ ("new \\header format")) error_file.write ('\n') return str @@ -127,7 +127,7 @@ conversions.append (((1,0,5), conv, 'ChoireStaff -> ChoirStaff')) def conv(str): if re.search ('[a-zA-Z]+ = *\\translator',str): error_file.write ('\n') - error_file.write (NOT_SMART % "\\translator syntax") + error_file.write (NOT_SMART % _ ("\\translator syntax")) error_file.write ('\n') # raise FatalConversionError () return str @@ -378,7 +378,7 @@ def conv (str): "\\\\musicalpitch #'(\\1)", str) if re.search ('\\\\notenames',str): error_file.write ('\n') - error_file.write (NOT_SMART % "new \\notenames format") + error_file.write (NOT_SMART % _ ("new \\notenames format")) error_file.write ('\n') return str @@ -398,7 +398,7 @@ conversions.append (((1,3,39), conv, '\\key A ; ->\\key a;')) def conv (str): if re.search ('\\[:',str): error_file.write ('\n') - error_file.write (NOT_SMART % "new tremolo format") + error_file.write (NOT_SMART % _ ("new tremolo format")) error_file.write ('\n') return str @@ -425,7 +425,7 @@ conversions.append (((1,3,49), conv, def conv (str): if re.search ('\\\\keysignature', str): error_file.write ('\n') - error_file.write (NOT_SMART % "new tremolo format") + error_file.write (NOT_SMART % _ ("new tremolo format")) error_file.write ('\n') return str @@ -538,7 +538,7 @@ def conv (str): str = re.sub ('ChordNames*', 'ChordNames', str) if re.search ('\\\\textscript "[^"]* *"[^"]*"', str): error_file.write ('\n') - error_file.write (NOT_SMART % "new \\textscript markup text") + error_file.write (NOT_SMART % _ ("new \\textscript markup text")) error_file.write ('\n') str = re.sub ('\\textscript +("[^"]*")', '\\textscript #\\1', str) @@ -604,24 +604,25 @@ def conv (str): return str conversions.append (((1,3,113), conv, 'LyricVoice -> LyricsVoice')) +def regularize_id (str): + s = '' + lastx = '' + for x in str: + if x == '_': + lastx = x + continue + elif x in string.digits: + x = chr(ord (x) - ord ('0') +ord ('A')) + elif x not in string.letters: + x = 'x' + elif x in string.lowercase and lastx == '_': + x = string.upper (x) + s = s + x + lastx = x + return s def conv (str): - def regularize_id (str): - s = '' - lastx = '' - for x in str: - if x == '_': - lastx = x - continue - elif x in string.digits: - x = chr(ord (x) - ord ('0') +ord ('A')) - elif x not in string.letters: - x = 'x' - elif x in string.lowercase and lastx == '_': - x = string.upper (x) - s = s + x - lastx = x - return s + def regularize_dollar_reference (match): return regularize_id (match.group (1)) @@ -1157,7 +1158,7 @@ conversions.append (((1,7,23), conv,"barNonAuto -> automaticBars")) def conv(str): if re.search( r'-(start|stop)Cluster', str): error_file.write ('\n') - error_file.write (NOT_SMART % "Cluster syntax") + error_file.write (NOT_SMART % _ ("cluster syntax")) error_file.write ('\n') error_file.write (UPDATE_MANUALLY) error_file.write ('\n') @@ -2314,6 +2315,15 @@ conversions.append (((2, 3, 24), conv, '''regularize other identifiers.''')) +def conv (str): + str = re.sub ('petrucci_c1', 'petrucci-c1', str) + str = re.sub ('1style', 'single-digit', str) + return str + +conversions.append (((2, 3, 25), + conv, + '''petrucci_c1 -> petrucci-c1, 1style -> single-digit''')) + def conv (str): return str @@ -2469,7 +2479,7 @@ def conv (str): if re.search ("(override-|revert-)auto-beam-setting", str)\ or re.search ("autoBeamSettings", str): error_file.write ('\n') - error_file.write (NOT_SMART % "auto beam settings") + error_file.write (NOT_SMART % _ ("auto beam settings")) error_file.write ('\n') error_file.write (''' Auto beam settings must now specify each interesting moment in a measure @@ -2923,7 +2933,9 @@ def conv (str): sub_acc_name, str) str = re.sub (r"(KeySignature|Accidental[A-Za-z]*)\s*#'style\s*=\s*#'([a-z]+)", r"\1 #'glyph-name-alist = #alteration-\2-glyph-name-alist", str) - + ## FIXME: standard vs default, alteration-FOO vs FOO-alteration + str = str.replace ('alteration-default-glyph-name-alist', + 'standard-alteration-glyph-name-alist') return str conversions.append (((2, 11, 6), conv, """Rename accidental glyphs, use glyph-name-alist.""")) @@ -2944,3 +2956,81 @@ conversions.append (((2, 11, 10), conv, """allowBeamBreak -> Beam #'breakable = addquote -> addQuote """)) + +def conv (str): + str = re.sub (r'\(layout-set-staff-size \(\*\s*([0-9.]+)\s*(pt|mm|cm)\)\)', + r'(layout-set-absolute-staff-size (* \1 \2))', str) + return str + +conversions.append (((2, 11, 11), conv, """layout-set-staff-size -> layout-set-absolute-staff-size""")) + + +def conv (str): + str = re.sub (r"\\override\s*([a-zA-Z.]+)\s*#'arrow\s*=\s*##t", + r"\\override \1 #'bound-details #'right #'arrow = ##t", + str) + + if re.search ('edge-text', str): + error_file.write (NOT_SMART % _ ("edge-text settings for TextSpanner.")) + error_file.write (_ ("Use\n\n%s") % + "\t\\override TextSpanner #'bound-details #'right #'text = \n" + "\t\\override TextSpanner #'bound-details #'left #'text = \n") + + + return str + +conversions.append (((2, 11, 13), conv, """#'arrow = ##t -> #'bound-details #'right #'arrow = ##t""")) + +def conv (str): + def sub_edge_height (m): + s = '' + for (var, h) in [('left', m.group (3)), + ('right', m.group (4))]: + + if h and float (h): + once = m.group(1) + if not once: + once = '' + + s += (r"%s \override %s #'bound-details #'%s #'text = \markup { \draw-line #'(0 . %s) }" + % (once, m.group (2), var, h)) + + s += '\n' + + return s + + + str = re.sub (r"(\\once)?\s*\\override\s*([a-zA-Z.]+)\s*#'edge-height\s*=\s*#'\(([0-9.-]+)\s+[.]\s+([0-9.-]+)\)", + sub_edge_height, str) + return str + +conversions.append (((2, 11, 15), conv, """#'edge-height -> #'bound-details #'right/left #'text = ...""")) + +def conv (str): + str = re.sub (r"\\override\s*([a-zA-Z.]+)\s*#'break-align-symbol\s*=\s*#'([a-z-]+)", + r"\\override \1 #'break-align-symbols = #'(\2)", str) + return str + +conversions.append (((2, 11, 23), conv, """#'break-align-symbol -> #'break-align-symbols""")) + +def conv (str): + str = re.sub (r"scripts\.caesura", + r"scripts.caesura.curved", str) + + if re.search ('dash-fraction', str): + error_file.write (NOT_SMART % _ ("all settings related to dashed lines.\n")) + error_file.write (_ ("Use \\override ... #'style = #'line for solid lines and\n")) + error_file.write (_ ("\t\\override ... #'style = #'dashed-line for dashed lines.")) + + return str + +conversions.append (((2, 11, 35), conv, """scripts.caesura -> scripts.caesura.curved. Use #'style not #'dash-fraction to select solid/dashed lines.""")) + +def conv (str): + str = re.sub (r"setEasyHeads", r"easyHeadsOn", str) + str = re.sub (r"fatText", r"textLengthOn", str) + str = re.sub (r"emptyText", r"textLengthOff", str) + return str + +conversions.append (((2, 11, 38), conv, """\\setEasyHeads -> \\easyHeadsOn, \\fatText -> \\textLengthOn, +\\emptyText -> \\textLengthOff"""))