]> git.donarmstrong.com Git - lilypond.git/blobdiff - po/lilypond.pot
Merge remote-tracking branch 'origin/release/unstable' into HEAD
[lilypond.git] / po / lilypond.pot
index c2da03f5a1223ce234304a0de44c79308a399382..b67b6d57147b99ae7040ae154ea70944c68f80f6 100644 (file)
@@ -6,13 +6,14 @@
 #, fuzzy
 msgid ""
 msgstr ""
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: lilypond 2.19.44\n"
+"Project-Id-Version: lilypond 2.19.53\n"
 "Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu."
 "lilypond.bugs\n"
 "Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu."
 "lilypond.bugs\n"
-"POT-Creation-Date: 2016-06-21 12:56+0100\n"
+"POT-Creation-Date: 2016-12-17 13:40+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -28,6 +29,7 @@ msgid "Output function not implemented"
 msgstr ""
 
 #: book_latex.py:174
 msgstr ""
 
 #: book_latex.py:174
+#, python-brace-format
 msgid "cannot find \\begin{document} in LaTeX document"
 msgstr ""
 
 msgid "cannot find \\begin{document} in LaTeX document"
 msgstr ""
 
@@ -785,6 +787,14 @@ msgid ""
 "point."
 msgstr ""
 
 "point."
 msgstr ""
 
+#: convertrules.py:3918
+msgid "Previously the \"id\" grob property (string) was used for SVG output."
+msgstr ""
+
+#: convertrules.py:3919
+msgid "Now \"output-attributes\" (association list) is used instead."
+msgstr ""
+
 #: fontextract.py:25
 #, python-format
 msgid "Scanning %s"
 #: fontextract.py:25
 #, python-format
 msgid "Scanning %s"
@@ -915,7 +925,7 @@ msgstr ""
 msgid "Encountered unprocessed marker %s\n"
 msgstr ""
 
 msgid "Encountered unprocessed marker %s\n"
 msgstr ""
 
-#: abc2ly.py:1389 convert-ly.py:85 lilypond-book.py:122 midi2ly.py:1046
+#: abc2ly.py:1389 convert-ly.py:85 lilypond-book.py:122 midi2ly.py:1052
 #, python-format
 msgid "%s [OPTION]... FILE"
 msgstr ""
 #, python-format
 msgid "%s [OPTION]... FILE"
 msgstr ""
@@ -928,16 +938,16 @@ msgid ""
 msgstr ""
 
 #: abc2ly.py:1398 convert-ly.py:92 etf2ly.py:1208 lilypond-book.py:231
 msgstr ""
 
 #: abc2ly.py:1398 convert-ly.py:92 etf2ly.py:1208 lilypond-book.py:231
-#: midi2ly.py:1097 musicxml2ly.py:2766 main.cc:184
+#: midi2ly.py:1103 musicxml2ly.py:2774 main.cc:184
 msgid "show version number and exit"
 msgstr ""
 
 #: abc2ly.py:1401 convert-ly.py:96 etf2ly.py:1204 lilypond-book.py:140
 msgid "show version number and exit"
 msgstr ""
 
 #: abc2ly.py:1401 convert-ly.py:96 etf2ly.py:1204 lilypond-book.py:140
-#: midi2ly.py:1064 musicxml2ly.py:2747 main.cc:163
+#: midi2ly.py:1070 musicxml2ly.py:2755 main.cc:163
 msgid "show this help and exit"
 msgstr ""
 
 msgid "show this help and exit"
 msgstr ""
 
-#: abc2ly.py:1404 etf2ly.py:1209 midi2ly.py:1073
+#: abc2ly.py:1404 etf2ly.py:1209 midi2ly.py:1079
 msgid "write output to FILE"
 msgstr ""
 
 msgid "write output to FILE"
 msgstr ""
 
@@ -958,7 +968,7 @@ msgstr ""
 #. or if there is a LilyPond users list or forum in your language
 #. "Report bugs in English via %s or in YOUR_LANG via URI"
 #: abc2ly.py:1416 convert-ly.py:157 etf2ly.py:1218 lilypond-book.py:258
 #. or if there is a LilyPond users list or forum in your language
 #. "Report bugs in English via %s or in YOUR_LANG via URI"
 #: abc2ly.py:1416 convert-ly.py:157 etf2ly.py:1218 lilypond-book.py:258
-#: midi2ly.py:1109 musicxml2ly.py:2909 main.cc:318
+#: midi2ly.py:1115 musicxml2ly.py:2917 main.cc:318
 #, c-format, python-format
 msgid "Report bugs via %s"
 msgstr ""
 #, c-format, python-format
 msgid "Report bugs via %s"
 msgstr ""
@@ -1002,14 +1012,14 @@ msgstr ""
 msgid "edit in place"
 msgstr ""
 
 msgid "edit in place"
 msgstr ""
 
-#: convert-ly.py:109 lilypond-book.py:179 musicxml2ly.py:2803
+#: convert-ly.py:109 lilypond-book.py:179 musicxml2ly.py:2811
 msgid ""
 "Print log messages according to LOGLEVEL (NONE, ERROR, WARNING, PROGRESS "
 "(default), DEBUG)"
 msgstr ""
 
 #: convert-ly.py:111 lilypond-book.py:163 lilypond-book.py:181
 msgid ""
 "Print log messages according to LOGLEVEL (NONE, ERROR, WARNING, PROGRESS "
 "(default), DEBUG)"
 msgstr ""
 
 #: convert-ly.py:111 lilypond-book.py:163 lilypond-book.py:181
-#: musicxml2ly.py:2805 main.cc:177
+#: musicxml2ly.py:2813 main.cc:177
 msgid "LOGLEVEL"
 msgstr ""
 
 msgid "LOGLEVEL"
 msgstr ""
 
@@ -1040,7 +1050,7 @@ msgstr ""
 msgid "make a numbered backup [default: filename.ext~]"
 msgstr ""
 
 msgid "make a numbered backup [default: filename.ext~]"
 msgstr ""
 
-#: convert-ly.py:152 etf2ly.py:1212 lilypond-book.py:234 midi2ly.py:1098
+#: convert-ly.py:152 etf2ly.py:1212 lilypond-book.py:234 midi2ly.py:1104
 #: main.cc:186
 msgid "show warranty and copyright"
 msgstr ""
 #: main.cc:186
 msgid "show warranty and copyright"
 msgstr ""
@@ -1099,7 +1109,7 @@ msgid ""
 "file.\n"
 msgstr ""
 
 "file.\n"
 msgstr ""
 
-#: etf2ly.py:1210 midi2ly.py:1069 midi2ly.py:1074 musicxml2ly.py:2859
+#: etf2ly.py:1210 midi2ly.py:1075 midi2ly.py:1080 musicxml2ly.py:2867
 #: main.cc:169 main.cc:181
 msgid "FILE"
 msgstr ""
 #: main.cc:169 main.cc:181
 msgid "FILE"
 msgstr ""
@@ -1206,7 +1216,7 @@ msgstr ""
 msgid "write snippet output files with the same base name as their source file"
 msgstr ""
 
 msgid "write snippet output files with the same base name as their source file"
 msgstr ""
 
-#: lilypond-book.py:223 midi2ly.py:1092 musicxml2ly.py:2772
+#: lilypond-book.py:223 midi2ly.py:1098 musicxml2ly.py:2780
 msgid "be verbose"
 msgstr ""
 
 msgid "be verbose"
 msgstr ""
 
@@ -1308,7 +1318,7 @@ msgstr ""
 msgid "warning: "
 msgstr ""
 
 msgid "warning: "
 msgstr ""
 
-#: midi2ly.py:92 midi2ly.py:1126
+#: midi2ly.py:92 midi2ly.py:1132
 msgid "error: "
 msgstr ""
 
 msgid "error: "
 msgstr ""
 
@@ -1316,85 +1326,85 @@ msgstr ""
 msgid "Exiting... "
 msgstr ""
 
 msgid "Exiting... "
 msgstr ""
 
-#: midi2ly.py:834
+#: midi2ly.py:840
 msgid "found more than 5 voices on a staff, expect bad output"
 msgstr ""
 
 msgid "found more than 5 voices on a staff, expect bad output"
 msgstr ""
 
-#: midi2ly.py:1034
+#: midi2ly.py:1040
 #, python-format
 msgid "%s output to `%s'..."
 msgstr ""
 
 #, python-format
 msgid "%s output to `%s'..."
 msgstr ""
 
-#: midi2ly.py:1047
+#: midi2ly.py:1053
 #, python-format
 msgid "Convert %s to LilyPond input.\n"
 msgstr ""
 
 #, python-format
 msgid "Convert %s to LilyPond input.\n"
 msgstr ""
 
-#: midi2ly.py:1052
+#: midi2ly.py:1058
 msgid "print absolute pitches"
 msgstr ""
 
 msgid "print absolute pitches"
 msgstr ""
 
-#: midi2ly.py:1054 midi2ly.py:1082
+#: midi2ly.py:1060 midi2ly.py:1088
 msgid "DUR"
 msgstr ""
 
 msgid "DUR"
 msgstr ""
 
-#: midi2ly.py:1055
+#: midi2ly.py:1061
 msgid "quantise note durations on DUR"
 msgstr ""
 
 msgid "quantise note durations on DUR"
 msgstr ""
 
-#: midi2ly.py:1058
+#: midi2ly.py:1064
 msgid "debug printing"
 msgstr ""
 
 msgid "debug printing"
 msgstr ""
 
-#: midi2ly.py:1061
+#: midi2ly.py:1067
 msgid "print explicit durations"
 msgstr ""
 
 msgid "print explicit durations"
 msgstr ""
 
-#: midi2ly.py:1066
+#: midi2ly.py:1072
 msgid "prepend FILE to output"
 msgstr ""
 
 msgid "prepend FILE to output"
 msgstr ""
 
-#: midi2ly.py:1070
+#: midi2ly.py:1076
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr ""
 
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr ""
 
-#: midi2ly.py:1071
+#: midi2ly.py:1077
 msgid "ALT[:MINOR]"
 msgstr ""
 
 msgid "ALT[:MINOR]"
 msgstr ""
 
-#: midi2ly.py:1076
+#: midi2ly.py:1082
 msgid "preview of first 4 bars"
 msgstr ""
 
 msgid "preview of first 4 bars"
 msgstr ""
 
-#: midi2ly.py:1080
+#: midi2ly.py:1086
 msgid "suppress progress messages and warnings about excess voices"
 msgstr ""
 
 msgid "suppress progress messages and warnings about excess voices"
 msgstr ""
 
-#: midi2ly.py:1081
+#: midi2ly.py:1087
 msgid "quantise note starts on DUR"
 msgstr ""
 
 msgid "quantise note starts on DUR"
 msgstr ""
 
-#: midi2ly.py:1085
+#: midi2ly.py:1091
 msgid "use s instead of r for rests"
 msgstr ""
 
 msgid "use s instead of r for rests"
 msgstr ""
 
-#: midi2ly.py:1087
+#: midi2ly.py:1093
 msgid "DUR*NUM/DEN"
 msgstr ""
 
 msgid "DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:1090
+#: midi2ly.py:1096
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr ""
 
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:1100
+#: midi2ly.py:1106
 msgid "treat every text as a lyric"
 msgstr ""
 
 msgid "treat every text as a lyric"
 msgstr ""
 
-#: midi2ly.py:1103
+#: midi2ly.py:1109
 msgid "Examples"
 msgstr ""
 
 msgid "Examples"
 msgstr ""
 
-#: midi2ly.py:1127
+#: midi2ly.py:1133
 msgid "no files specified on command line."
 msgstr ""
 
 msgid "no files specified on command line."
 msgstr ""
 
@@ -1450,204 +1460,210 @@ msgstr ""
 msgid "Negative skip %s (from position %s to %s)"
 msgstr ""
 
 msgid "Negative skip %s (from position %s to %s)"
 msgstr ""
 
-#: musicxml2ly.py:2237
+#: musicxml2ly.py:2245
 #, python-format
 msgid "Negative skip found: from %s to %s, difference is %s"
 msgstr ""
 
 #, python-format
 msgid "Negative skip found: from %s to %s, difference is %s"
 msgstr ""
 
-#: musicxml2ly.py:2338
+#: musicxml2ly.py:2346
 #, python-format
 msgid "unexpected %s; expected %s or %s or %s"
 msgstr ""
 
 #, python-format
 msgid "unexpected %s; expected %s or %s or %s"
 msgstr ""
 
-#: musicxml2ly.py:2467
+#: musicxml2ly.py:2475
 msgid "Encountered closing slur, but no slur is open"
 msgstr ""
 
 msgid "Encountered closing slur, but no slur is open"
 msgstr ""
 
-#: musicxml2ly.py:2470
+#: musicxml2ly.py:2478
 msgid "Cannot have two simultaneous (closing) slurs"
 msgstr ""
 
 msgid "Cannot have two simultaneous (closing) slurs"
 msgstr ""
 
-#: musicxml2ly.py:2479
+#: musicxml2ly.py:2487
 msgid "Cannot have a slur inside another slur"
 msgstr ""
 
 msgid "Cannot have a slur inside another slur"
 msgstr ""
 
-#: musicxml2ly.py:2482
+#: musicxml2ly.py:2490
 msgid "Cannot have two simultaneous slurs"
 msgstr ""
 
 msgid "Cannot have two simultaneous slurs"
 msgstr ""
 
-#: musicxml2ly.py:2608
+#: musicxml2ly.py:2616
 #, python-format
 msgid "cannot simultaneously have more than one mode: %s"
 msgstr ""
 
 #, python-format
 msgid "cannot simultaneously have more than one mode: %s"
 msgstr ""
 
-#: musicxml2ly.py:2727
+#: musicxml2ly.py:2735
 msgid "Converting to LilyPond expressions..."
 msgstr ""
 
 msgid "Converting to LilyPond expressions..."
 msgstr ""
 
-#: musicxml2ly.py:2739
+#: musicxml2ly.py:2747
 msgid "musicxml2ly [OPTION]... FILE.xml"
 msgstr ""
 
 msgid "musicxml2ly [OPTION]... FILE.xml"
 msgstr ""
 
-#: musicxml2ly.py:2741
+#: musicxml2ly.py:2749
 msgid ""
 "Convert MusicXML from FILE.xml to LilyPond input.\n"
 "If the given filename is -, musicxml2ly reads from the command line.\n"
 msgstr ""
 
 msgid ""
 "Convert MusicXML from FILE.xml to LilyPond input.\n"
 "If the given filename is -, musicxml2ly reads from the command line.\n"
 msgstr ""
 
-#: musicxml2ly.py:2751
+#: musicxml2ly.py:2759
+#, python-format
 msgid ""
 "Copyright (c) 2005--2016 by\n"
 "    Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
 "    Jan Nieuwenhuizen <janneke@gnu.org> and\n"
 "    Reinhold Kainhofer <reinhold@kainhofer.com>\n"
 "    Patrick L. Schmidt <pls@philomelos.net>\n"
 msgid ""
 "Copyright (c) 2005--2016 by\n"
 "    Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
 "    Jan Nieuwenhuizen <janneke@gnu.org> and\n"
 "    Reinhold Kainhofer <reinhold@kainhofer.com>\n"
 "    Patrick L. Schmidt <pls@philomelos.net>\n"
+"\n"
+"This program is free software.  It is covered by the GNU General Public\n"
+"License and you are welcome to change it and/or distribute copies of it\n"
+"under certain conditions.  Invoke as `%s --warranty' for more\n"
+"information."
 msgstr ""
 
 msgstr ""
 
-#: musicxml2ly.py:2778
+#: musicxml2ly.py:2786
 msgid "use lxml.etree; uses less memory and cpu time"
 msgstr ""
 
 msgid "use lxml.etree; uses less memory and cpu time"
 msgstr ""
 
-#: musicxml2ly.py:2784
+#: musicxml2ly.py:2792
 msgid "input file is a zip-compressed MusicXML file"
 msgstr ""
 
 msgid "input file is a zip-compressed MusicXML file"
 msgstr ""
 
-#: musicxml2ly.py:2790
+#: musicxml2ly.py:2798
 msgid "convert pitches in relative mode (default)"
 msgstr ""
 
 msgid "convert pitches in relative mode (default)"
 msgstr ""
 
-#: musicxml2ly.py:2795
+#: musicxml2ly.py:2803
 msgid "convert pitches in absolute mode"
 msgstr ""
 
 msgid "convert pitches in absolute mode"
 msgstr ""
 
-#: musicxml2ly.py:2798
+#: musicxml2ly.py:2806
 msgid "LANG"
 msgstr ""
 
 msgid "LANG"
 msgstr ""
 
-#: musicxml2ly.py:2800
+#: musicxml2ly.py:2808
 msgid "use LANG for pitch names, e.g. 'deutsch' for note names in German"
 msgstr ""
 
 msgid "use LANG for pitch names, e.g. 'deutsch' for note names in German"
 msgstr ""
 
-#: musicxml2ly.py:2814
+#: musicxml2ly.py:2822
 msgid "do not convert directions (^, _ or -) for articulations, dynamics, etc."
 msgstr ""
 
 msgid "do not convert directions (^, _ or -) for articulations, dynamics, etc."
 msgstr ""
 
-#: musicxml2ly.py:2820
+#: musicxml2ly.py:2828
 msgid "do not convert exact vertical positions of rests"
 msgstr ""
 
 msgid "do not convert exact vertical positions of rests"
 msgstr ""
 
-#: musicxml2ly.py:2826
+#: musicxml2ly.py:2834
 msgid "ignore system breaks"
 msgstr ""
 
 msgid "ignore system breaks"
 msgstr ""
 
-#: musicxml2ly.py:2832
+#: musicxml2ly.py:2840
 msgid "ignore page breaks"
 msgstr ""
 
 msgid "ignore page breaks"
 msgstr ""
 
-#: musicxml2ly.py:2838
+#: musicxml2ly.py:2846
 msgid "ignore page margins"
 msgstr ""
 
 msgid "ignore page margins"
 msgstr ""
 
-#: musicxml2ly.py:2844
+#: musicxml2ly.py:2852
 msgid ""
 "do not convert the exact page layout and breaks (shortcut for \"--nsb --npb "
 "--npm\" options)"
 msgstr ""
 
 msgid ""
 "do not convert the exact page layout and breaks (shortcut for \"--nsb --npb "
 "--npm\" options)"
 msgstr ""
 
-#: musicxml2ly.py:2850
+#: musicxml2ly.py:2858
 msgid ""
 "ignore stem directions from MusicXML, use lilypond's automatic stemming "
 "instead"
 msgstr ""
 
 msgid ""
 "ignore stem directions from MusicXML, use lilypond's automatic stemming "
 "instead"
 msgstr ""
 
-#: musicxml2ly.py:2856
+#: musicxml2ly.py:2864
 msgid ""
 "do not convert beaming information, use lilypond's automatic beaming instead"
 msgstr ""
 
 msgid ""
 "do not convert beaming information, use lilypond's automatic beaming instead"
 msgstr ""
 
-#: musicxml2ly.py:2864
+#: musicxml2ly.py:2872
 msgid "set output filename to FILE, stdout if -"
 msgstr ""
 
 msgid "set output filename to FILE, stdout if -"
 msgstr ""
 
-#: musicxml2ly.py:2870
+#: musicxml2ly.py:2878
 msgid "activate midi-block in .ly file"
 msgstr ""
 
 msgid "activate midi-block in .ly file"
 msgstr ""
 
-#: musicxml2ly.py:2874
+#: musicxml2ly.py:2882
 msgid "TOPITCH"
 msgstr ""
 
 msgid "TOPITCH"
 msgstr ""
 
-#: musicxml2ly.py:2877
+#: musicxml2ly.py:2885
 msgid "set pitch to transpose by the interval between pitch 'c' and TOPITCH"
 msgstr ""
 
 msgid "set pitch to transpose by the interval between pitch 'c' and TOPITCH"
 msgstr ""
 
-#: musicxml2ly.py:2881
+#: musicxml2ly.py:2889
 msgid "BEATS/BEATTYPE"
 msgstr ""
 
 msgid "BEATS/BEATTYPE"
 msgstr ""
 
-#: musicxml2ly.py:2884
+#: musicxml2ly.py:2892
 msgid ""
 "change the length|duration of notes as a function of a given time signature "
 "to make the score look faster or slower, (eg. '4/4' or '2/2')"
 msgstr ""
 
 msgid ""
 "change the length|duration of notes as a function of a given time signature "
 "to make the score look faster or slower, (eg. '4/4' or '2/2')"
 msgstr ""
 
-#: musicxml2ly.py:2888
+#: musicxml2ly.py:2896
 msgid "TABCLEFNAME"
 msgstr ""
 
 msgid "TABCLEFNAME"
 msgstr ""
 
-#: musicxml2ly.py:2891
+#: musicxml2ly.py:2899
 msgid "switch between two versions of tab clefs (\"tab\" and \"moderntab\")"
 msgstr ""
 
 msgid "switch between two versions of tab clefs (\"tab\" and \"moderntab\")"
 msgstr ""
 
-#: musicxml2ly.py:2895
+#: musicxml2ly.py:2903
 msgid "t[rue]/f[alse]"
 msgstr ""
 
 msgid "t[rue]/f[alse]"
 msgstr ""
 
-#: musicxml2ly.py:2898
+#: musicxml2ly.py:2906
 msgid ""
 msgid ""
-"deactivate string number stencil with --string-numbers f[alse]. Default is t"
-"[rue]"
+"deactivate string number stencil with --string-numbers f[alse]. Default is "
+"t[rue]"
 msgstr ""
 
 msgstr ""
 
-#: musicxml2ly.py:2905
+#: musicxml2ly.py:2913
 msgid ""
 "converts '<frame>' events to a separate FretBoards voice instead of markups"
 msgstr ""
 
 msgid ""
 "converts '<frame>' events to a separate FretBoards voice instead of markups"
 msgstr ""
 
-#: musicxml2ly.py:2979
+#: musicxml2ly.py:2987
 #, python-format
 msgid "unknown part in part-list: %s"
 msgstr ""
 
 #, python-format
 msgid "unknown part in part-list: %s"
 msgstr ""
 
-#: musicxml2ly.py:3069
+#: musicxml2ly.py:3077
 msgid "Input is compressed, extracting raw MusicXML data from stdin"
 msgstr ""
 
 msgid "Input is compressed, extracting raw MusicXML data from stdin"
 msgstr ""
 
-#: musicxml2ly.py:3082
+#: musicxml2ly.py:3090
 #, python-format
 msgid "Input file %s is compressed, extracting raw MusicXML data"
 msgstr ""
 
 #, python-format
 msgid "Input file %s is compressed, extracting raw MusicXML data"
 msgstr ""
 
-#: musicxml2ly.py:3112
+#: musicxml2ly.py:3120
 msgid "Reading MusicXML from Standard input ..."
 msgstr ""
 
 msgid "Reading MusicXML from Standard input ..."
 msgstr ""
 
-#: musicxml2ly.py:3114
+#: musicxml2ly.py:3122
 #, python-format
 msgid "Reading MusicXML from %s ..."
 msgstr ""
 
 #, python-format
 msgid "Reading MusicXML from %s ..."
 msgstr ""
 
-#: musicxml2ly.py:3146
+#: musicxml2ly.py:3154
 #, python-format
 msgid "Output to `%s'"
 msgstr ""
 
 #, python-format
 msgid "Output to `%s'"
 msgstr ""
 
-#: musicxml2ly.py:3172
+#: musicxml2ly.py:3180
 #, python-format
 msgid "Converting to current version (%s) notations ..."
 msgstr ""
 
 #, python-format
 msgid "Converting to current version (%s) notations ..."
 msgstr ""
 
-#: musicxml2ly.py:3246
+#: musicxml2ly.py:3254
 #, python-format
 msgid "Unable to find input file %s"
 msgstr ""
 #, python-format
 msgid "Unable to find input file %s"
 msgstr ""
@@ -1762,6 +1778,33 @@ msgstr ""
 msgid "no heads for arpeggio found?"
 msgstr ""
 
 msgid "no heads for arpeggio found?"
 msgstr ""
 
+#: audio-item.cc:139
+#, c-format
+msgid "end moment (%s) < start moment (%s)"
+msgstr ""
+
+#: audio-item.cc:153
+#, c-format
+msgid "invalid start volume: %f"
+msgstr ""
+
+#: audio-item.cc:159
+#, c-format
+msgid "invalid target volume: %f"
+msgstr ""
+
+#: audio-item.cc:174
+#, c-format
+msgid ""
+"asked to compute volume at %f for dynamic span of duration %f starting at %s"
+msgstr ""
+
+#: audio-item.cc:182
+#, c-format
+msgid ""
+"asked to compute volume at +%f for dynamic span of duration %f starting at %s"
+msgstr ""
+
 #: axis-group-engraver.cc:154
 msgid "Axis_group_engraver: vertical group already has a parent"
 msgstr ""
 #: axis-group-engraver.cc:154
 msgid "Axis_group_engraver: vertical group already has a parent"
 msgstr ""
@@ -1933,7 +1976,7 @@ msgid ""
 "defaulting to hairpin."
 msgstr ""
 
 "defaulting to hairpin."
 msgstr ""
 
-#: dynamic-engraver.cc:231 slur-proto-engraver.cc:159
+#: dynamic-engraver.cc:231 slur-engraver.cc:185
 #, c-format
 msgid "unterminated %s"
 msgstr ""
 #, c-format
 msgid "unterminated %s"
 msgstr ""
@@ -2011,10 +2054,15 @@ msgstr ""
 msgid "failed redirecting stderr to `%s'"
 msgstr ""
 
 msgid "failed redirecting stderr to `%s'"
 msgstr ""
 
-#: general-scheme.cc:482 output-ps.scm:48
+#: general-scheme.cc:482
 msgid "Found infinity or nan in output.  Substituting 0.0"
 msgstr ""
 
 msgid "Found infinity or nan in output.  Substituting 0.0"
 msgstr ""
 
+#: general-scheme.cc:623
+#, c-format
+msgid "g_spawn_sync failed (%d): %s: %s"
+msgstr ""
+
 #: glissando-engraver.cc:157
 msgid "unterminated glissando"
 msgstr ""
 #: glissando-engraver.cc:157
 msgid "unterminated glissando"
 msgstr ""
@@ -2067,7 +2115,7 @@ msgstr ""
 msgid "%d: %s"
 msgstr ""
 
 msgid "%d: %s"
 msgstr ""
 
-#: grob.cc:486
+#: grob.cc:489
 #, c-format
 msgid "ignored infinite %s-offset"
 msgstr ""
 #, c-format
 msgid "ignored infinite %s-offset"
 msgstr ""
@@ -2110,6 +2158,11 @@ msgstr ""
 msgid "position unknown"
 msgstr ""
 
 msgid "position unknown"
 msgstr ""
 
+#: keep-alive-together-engraver.cc:93
+#, c-format
+msgid "unknown remove-layer value `%s'"
+msgstr ""
+
 #: key-engraver.cc:197
 msgid "Incomplete keyAlterationOrder for key signature"
 msgstr ""
 #: key-engraver.cc:197
 msgid "Incomplete keyAlterationOrder for key signature"
 msgstr ""
@@ -2504,17 +2557,17 @@ msgstr ""
 msgid "unexpected case fall-through"
 msgstr ""
 
 msgid "unexpected case fall-through"
 msgstr ""
 
-#: midi-control-function-performer.cc:107 staff-performer.cc:159
+#: midi-cc-announcer.cc:99
 #, c-format
 msgid "ignoring out-of-range value change for MIDI property `%s'"
 msgstr ""
 
 #, c-format
 msgid "ignoring out-of-range value change for MIDI property `%s'"
 msgstr ""
 
-#: midi-item.cc:93
+#: midi-item.cc:91
 #, c-format
 msgid "no such MIDI instrument: `%s'"
 msgstr ""
 
 #, c-format
 msgid "no such MIDI instrument: `%s'"
 msgstr ""
 
-#: midi-item.cc:179
+#: midi-item.cc:177
 msgid "Time signature with more than 255 beats.  Truncating"
 msgstr ""
 
 msgid "Time signature with more than 255 beats.  Truncating"
 msgstr ""
 
@@ -2528,7 +2581,8 @@ msgstr ""
 msgid "cannot write to file: `%s'"
 msgstr ""
 
 msgid "cannot write to file: `%s'"
 msgstr ""
 
-#: minimal-page-breaking.cc:40 paper-score.cc:116
+#. LINE BREAKING
+#: minimal-page-breaking.cc:40 one-page-breaking.cc:72 paper-score.cc:116
 msgid "Calculating line breaks..."
 msgstr ""
 
 msgid "Calculating line breaks..."
 msgstr ""
 
@@ -2541,7 +2595,7 @@ msgid ""
 "usable-duration-logs must be a non-empty list.  Falling back to whole rests."
 msgstr ""
 
 "usable-duration-logs must be a non-empty list.  Falling back to whole rests."
 msgstr ""
 
-#: music.cc:150
+#: music.cc:154
 #, c-format
 msgid "octave check failed; expected \"%s\", found: \"%s\""
 msgstr ""
 #, c-format
 msgid "octave check failed; expected \"%s\", found: \"%s\""
 msgstr ""
@@ -2550,11 +2604,11 @@ msgstr ""
 msgid "cannot add text scripts to individual note heads"
 msgstr ""
 
 msgid "cannot add text scripts to individual note heads"
 msgstr ""
 
-#: new-fingering-engraver.cc:269
+#: new-fingering-engraver.cc:267
 msgid "no placement found for fingerings"
 msgstr ""
 
 msgid "no placement found for fingerings"
 msgstr ""
 
-#: new-fingering-engraver.cc:270
+#: new-fingering-engraver.cc:268
 msgid "placing below"
 msgstr ""
 
 msgid "placing below"
 msgstr ""
 
@@ -2575,46 +2629,103 @@ msgstr ""
 msgid "NoteEvent without pitch"
 msgstr ""
 
 msgid "NoteEvent without pitch"
 msgstr ""
 
-#: open-type-font-scheme.cc:148 pfb-scheme.cc:62 ttf.cc:512 ttf.cc:562
+#. PAGE BREAKING
+#: one-page-breaking.cc:78 optimal-page-breaking.cc:114
+msgid "Fitting music on 1 page..."
+msgstr ""
+
+#: open-type-font-scheme.cc:149 open-type-font-scheme.cc:195
+#: open-type-font-scheme.cc:241 pfb-scheme.cc:60 ttf.cc:512 ttf.cc:561
 msgid "font index must be non-negative, using index 0"
 msgstr ""
 
 msgid "font index must be non-negative, using index 0"
 msgstr ""
 
-#: open-type-font-scheme.cc:162 pfb-scheme.cc:77 ttf.cc:480 ttf.cc:528
+#: open-type-font-scheme.cc:163 open-type-font-scheme.cc:209
+#: open-type-font-scheme.cc:289 pfb-scheme.cc:75 ttf.cc:480 ttf.cc:528
 #, c-format
 msgid "font index %d too large for font `%s', using index 0"
 msgstr ""
 
 #, c-format
 msgid "font index %d too large for font `%s', using index 0"
 msgstr ""
 
-#: open-type-font.cc:45
+#: open-type-font-scheme.cc:251
+#, c-format
+msgid "cannot open font filename `%s'"
+msgstr ""
+
+#: open-type-font-scheme.cc:261 open-type-font-scheme.cc:277
+#: open-type-font-scheme.cc:300 open-type-font-scheme.cc:320
+#: open-type-font-scheme.cc:338 open-type-font-scheme.cc:354
+#, c-format
+msgid "cannot read %s of `%s'"
+msgstr ""
+
+#: open-type-font-scheme.cc:376
+#, c-format
+msgid "font `%s' index %d does not have `CFF' table"
+msgstr ""
+
+#: open-type-font.cc:54
 #, c-format
 msgid "cannot allocate %lu bytes"
 msgstr ""
 
 #, c-format
 msgid "cannot allocate %lu bytes"
 msgstr ""
 
-#: open-type-font.cc:49
+#: open-type-font.cc:58
 #, c-format
 msgid "cannot load font table: %s"
 msgstr ""
 
 #, c-format
 msgid "cannot load font table: %s"
 msgstr ""
 
-#: open-type-font.cc:54
+#: open-type-font.cc:63
 #, c-format
 msgid "FreeType error: %s"
 msgstr ""
 
 #, c-format
 msgid "FreeType error: %s"
 msgstr ""
 
-#: open-type-font.cc:115
+#: open-type-font.cc:124
 #, c-format
 msgid "unsupported font format: %s"
 msgstr ""
 
 #, c-format
 msgid "unsupported font format: %s"
 msgstr ""
 
-#: open-type-font.cc:117
+#: open-type-font.cc:126
 #, c-format
 msgid "error reading font file %s: %s"
 msgstr ""
 
 #, c-format
 msgid "error reading font file %s: %s"
 msgstr ""
 
-#: open-type-font.cc:192
+#: open-type-font.cc:141
+msgid "cannot get postscript name"
+msgstr ""
+
+#: open-type-font.cc:153
+#, c-format
+msgid "cannot get font %s format"
+msgstr ""
+
+#: open-type-font.cc:176
+#, c-format
+msgid "cannot read CFF %s: %s"
+msgstr ""
+
+#. FreeType 2.6 and 2.6.1 cannot get PS name from pure-CFF.
+#. (FreeType 2.5.5 and earlier does not have this issue.
+#. FreeType 2.6.2+ has this bug fixed.)
+#. So we need direct parsing of the 'CFF' table, in this case.
+#: open-type-font.cc:193
+#, c-format
+msgid "Directly parsing 'CFF' table of font %s."
+msgstr ""
+
+#: open-type-font.cc:232
+#, c-format
+msgid "cannot get font %s CFF name"
+msgstr ""
+
+#: open-type-font.cc:237
+#, c-format
+msgid "Replace font name from %s to %s."
+msgstr ""
+
+#: open-type-font.cc:321
 #, c-format
 msgid "FT_Get_Glyph_Name () Freetype error: %s"
 msgstr ""
 
 #, c-format
 msgid "FT_Get_Glyph_Name () Freetype error: %s"
 msgstr ""
 
-#: open-type-font.cc:340 pango-font.cc:258
+#: open-type-font.cc:469 pango-font.cc:261
 #, c-format
 msgid "FT_Get_Glyph_Name () error: %s"
 msgstr ""
 #, c-format
 msgid "FT_Get_Glyph_Name () error: %s"
 msgstr ""
@@ -2630,10 +2741,6 @@ msgid ""
 "systems-per-page"
 msgstr ""
 
 "systems-per-page"
 msgstr ""
 
-#: optimal-page-breaking.cc:114
-msgid "Fitting music on 1 page..."
-msgstr ""
-
 #: optimal-page-breaking.cc:116
 #, c-format
 msgid "Fitting music on %d pages..."
 #: optimal-page-breaking.cc:116
 #, c-format
 msgid "Fitting music on %d pages..."
@@ -2745,24 +2852,24 @@ msgstr ""
 msgid "\tprevious break: %d"
 msgstr ""
 
 msgid "\tprevious break: %d"
 msgstr ""
 
-#: pango-font.cc:247
+#: pango-font.cc:250
 #, c-format
 msgid "no glyph for character U+%0X in font `%s'"
 msgstr ""
 
 #, c-format
 msgid "no glyph for character U+%0X in font `%s'"
 msgstr ""
 
-#: pango-font.cc:274
+#: pango-font.cc:277
 #, c-format
 msgid ""
 "Glyph has no name, but font supports glyph naming.\n"
 "Skipping glyph U+%0X, file %s"
 msgstr ""
 
 #, c-format
 msgid ""
 "Glyph has no name, but font supports glyph naming.\n"
 "Skipping glyph U+%0X, file %s"
 msgstr ""
 
-#: pango-font.cc:324
+#: pango-font.cc:327
 #, c-format
 msgid "no PostScript font name for font `%s'"
 msgstr ""
 
 #, c-format
 msgid "no PostScript font name for font `%s'"
 msgstr ""
 
-#: pango-font.cc:374
+#: pango-font.cc:377
 msgid "FreeType face has no PostScript font name"
 msgstr ""
 
 msgid "FreeType face has no PostScript font name"
 msgstr ""
 
@@ -2776,7 +2883,7 @@ msgstr ""
 msgid "program option -dpreview not supported by backend `%s'"
 msgstr ""
 
 msgid "program option -dpreview not supported by backend `%s'"
 msgstr ""
 
-#: paper-column-engraver.cc:261
+#: paper-column-engraver.cc:273
 msgid ""
 "forced break was overridden by some other event, should you be using bar "
 "checks?"
 msgid ""
 "forced break was overridden by some other event, should you be using bar "
 "checks?"
@@ -2818,6 +2925,18 @@ msgstr ""
 msgid "MIDI output to `%s'..."
 msgstr ""
 
 msgid "MIDI output to `%s'..."
 msgstr ""
 
+#: pfb.cc:45
+msgid "Segment header of the Type 1 (PFB) font is broken."
+msgstr ""
+
+#: pfb.cc:59
+msgid "Segment length of the Type 1 (PFB) font is too long."
+msgstr ""
+
+#: pfb.cc:86
+msgid "Segment type of the Type 1 (PFB) font is unknown."
+msgstr ""
+
 #: piano-pedal-engraver.cc:276
 #, c-format
 msgid "expect 3 strings for piano pedals, found: %ld"
 #: piano-pedal-engraver.cc:276
 #, c-format
 msgid "expect 3 strings for piano pedals, found: %ld"
@@ -2978,24 +3097,24 @@ msgstr ""
 msgid "direction must not be CENTER in ly:skyline-pair::skyline"
 msgstr ""
 
 msgid "direction must not be CENTER in ly:skyline-pair::skyline"
 msgstr ""
 
-#: slur-proto-engraver.cc:60
+#: slur-engraver.cc:121
 #, c-format
 msgid "direction of %s invalid: %d"
 msgstr ""
 
 #. We already have an old slur, so give a warning
 #. and completely ignore the new slur.
 #, c-format
 msgid "direction of %s invalid: %d"
 msgstr ""
 
 #. We already have an old slur, so give a warning
 #. and completely ignore the new slur.
-#: slur-proto-engraver.cc:213
+#: slur-engraver.cc:238
 #, c-format
 msgid "already have %s"
 msgstr ""
 
 #, c-format
 msgid "already have %s"
 msgstr ""
 
-#: slur-proto-engraver.cc:230
+#: slur-engraver.cc:255
 #, c-format
 msgid "%s without a cause"
 msgstr ""
 
 #, c-format
 msgid "%s without a cause"
 msgstr ""
 
-#: slur-proto-engraver.cc:297
+#: slur-engraver.cc:320
 #, c-format
 msgid "cannot end %s"
 msgstr ""
 #, c-format
 msgid "cannot end %s"
 msgstr ""
@@ -3010,11 +3129,11 @@ msgstr ""
 msgid "expected to read %d characters, got %d"
 msgstr ""
 
 msgid "expected to read %d characters, got %d"
 msgstr ""
 
-#: staff-performer.cc:307
+#: staff-performer.cc:273
 msgid "MIDI channel wrapped around"
 msgstr ""
 
 msgid "MIDI channel wrapped around"
 msgstr ""
 
-#: staff-performer.cc:308
+#: staff-performer.cc:274
 msgid "remapping modulo 16"
 msgstr ""
 
 msgid "remapping modulo 16"
 msgstr ""
 
@@ -3046,7 +3165,7 @@ msgid "Grob count %d"
 msgstr ""
 
 #. TODO: Also print the arguments of the markup!
 msgstr ""
 
 #. TODO: Also print the arguments of the markup!
-#: text-interface.cc:139
+#: text-interface.cc:140
 #, c-format
 msgid "Markup depth exceeds maximal value of %d; Markup: %s"
 msgstr ""
 #, c-format
 msgid "Markup depth exceeds maximal value of %d; Markup: %s"
 msgstr ""
@@ -3163,119 +3282,119 @@ msgstr ""
 msgid "giving up"
 msgstr ""
 
 msgid "giving up"
 msgstr ""
 
-#: parser.yy:479 parser.yy:969 parser.yy:1050 parser.yy:1270
+#: parser.yy:482 parser.yy:649 parser.yy:988 parser.yy:1069 parser.yy:1305
 msgid "bad expression type"
 msgstr ""
 
 msgid "bad expression type"
 msgstr ""
 
-#: parser.yy:881 parser.yy:1478 parser.yy:1523
+#: parser.yy:901 parser.yy:1508 parser.yy:1570
 msgid "not a context mod"
 msgstr ""
 
 msgid "not a context mod"
 msgstr ""
 
-#: parser.yy:1076
+#: parser.yy:982 parser.yy:1061 parser.yy:1213
+msgid "need \\paper for paper block"
+msgstr ""
+
+#: parser.yy:1095
 msgid "Missing music in \\score"
 msgstr ""
 
 msgid "Missing music in \\score"
 msgstr ""
 
-#: parser.yy:1113
+#: parser.yy:1132
 msgid "\\paper cannot be used in \\score, use \\layout instead"
 msgstr ""
 
 msgid "\\paper cannot be used in \\score, use \\layout instead"
 msgstr ""
 
-#: parser.yy:1148
+#: parser.yy:1183
 msgid "Spurious expression in \\score"
 msgstr ""
 
 msgid "Spurious expression in \\score"
 msgstr ""
 
-#: parser.yy:1178
-msgid "need \\paper for paper block"
-msgstr ""
-
-#: parser.yy:1352
+#: parser.yy:1387
 msgid "music expected"
 msgstr ""
 
 msgid "music expected"
 msgstr ""
 
-#: parser.yy:1362 parser.yy:1396
+#: parser.yy:1397 parser.yy:1431
 msgid "unexpected post-event"
 msgstr ""
 
 msgid "unexpected post-event"
 msgstr ""
 
-#: parser.yy:1404
+#: parser.yy:1439
 msgid "Ignoring non-music expression"
 msgstr ""
 
 msgid "Ignoring non-music expression"
 msgstr ""
 
-#: parser.yy:1719 parser.yy:1738
+#: parser.yy:1749 parser.yy:1768
 msgid "not a key"
 msgstr ""
 
 msgid "not a key"
 msgstr ""
 
-#: parser.yy:2602 parser.yy:2720 parser.yy:2733 parser.yy:2742
+#: parser.yy:2628 parser.yy:2746 parser.yy:2759 parser.yy:2768
 msgid "bad grob property path"
 msgstr ""
 
 msgid "bad grob property path"
 msgstr ""
 
-#: parser.yy:2700
+#: parser.yy:2726
 msgid "only \\consists and \\remove take non-string argument."
 msgstr ""
 
 msgid "only \\consists and \\remove take non-string argument."
 msgstr ""
 
-#: parser.yy:2761
+#: parser.yy:2787
 msgid "bad context property path"
 msgstr ""
 
 msgid "bad context property path"
 msgstr ""
 
-#: parser.yy:2846
+#: parser.yy:2872
 msgid "markup expected"
 msgstr ""
 
 msgid "markup expected"
 msgstr ""
 
-#: parser.yy:2858
+#: parser.yy:2884
 msgid "simple string expected"
 msgstr ""
 
 msgid "simple string expected"
 msgstr ""
 
-#: parser.yy:2875
+#: parser.yy:2901
 msgid "symbol expected"
 msgstr ""
 
 msgid "symbol expected"
 msgstr ""
 
-#: parser.yy:3019
+#: parser.yy:3041
 msgid "not a rhythmic event"
 msgstr ""
 
 msgid "not a rhythmic event"
 msgstr ""
 
-#: parser.yy:3069
+#: parser.yy:3091
 msgid "post-event expected"
 msgstr ""
 
 msgid "post-event expected"
 msgstr ""
 
-#: parser.yy:3078 parser.yy:3083
+#: parser.yy:3100 parser.yy:3105
 msgid "have to be in Lyric mode for lyrics"
 msgstr ""
 
 msgid "have to be in Lyric mode for lyrics"
 msgstr ""
 
-#: parser.yy:3159
+#: parser.yy:3181
 msgid "expecting string or post-event as script definition"
 msgstr ""
 
 msgid "expecting string or post-event as script definition"
 msgstr ""
 
-#: parser.yy:3263
+#: parser.yy:3285
 msgid "not an articulation"
 msgstr ""
 
 msgid "not an articulation"
 msgstr ""
 
-#: parser.yy:3329 parser.yy:3381
+#: parser.yy:3351 parser.yy:3403
 msgid "not a duration"
 msgstr ""
 
 msgid "not a duration"
 msgstr ""
 
-#: parser.yy:3402
+#: parser.yy:3424
 msgid "bass number expected"
 msgstr ""
 
 msgid "bass number expected"
 msgstr ""
 
-#: parser.yy:3494
+#: parser.yy:3516
 msgid "have to be in Note mode for notes"
 msgstr ""
 
 msgid "have to be in Note mode for notes"
 msgstr ""
 
-#: parser.yy:3533
+#: parser.yy:3555
 msgid "have to be in Chord mode for chords"
 msgstr ""
 
 msgid "have to be in Chord mode for chords"
 msgstr ""
 
-#: parser.yy:3576
+#: parser.yy:3598
 msgid "markup outside of text script or \\lyricmode"
 msgstr ""
 
 msgid "markup outside of text script or \\lyricmode"
 msgstr ""
 
-#: parser.yy:3581
+#: parser.yy:3603
 msgid "unrecognized string, not in text script or \\lyricmode"
 msgstr ""
 
 msgid "unrecognized string, not in text script or \\lyricmode"
 msgstr ""
 
-#: parser.yy:3733 parser.yy:3742
+#: parser.yy:3755 parser.yy:3764
 msgid "not an unsigned integer"
 msgstr ""
 
 msgid "not an unsigned integer"
 msgstr ""
 
-#: parser.yy:3829
+#: parser.yy:3851
 msgid "not a markup"
 msgstr ""
 
 msgid "not a markup"
 msgstr ""
 
@@ -3492,27 +3611,27 @@ msgstr ""
 msgid "defaulting to ~S pt"
 msgstr ""
 
 msgid "defaulting to ~S pt"
 msgstr ""
 
-#: define-markup-commands.scm:3857
+#: define-markup-commands.scm:3858
 #, scheme-format
 msgid "not a valid duration string: ~a"
 msgstr ""
 
 #, scheme-format
 msgid "not a valid duration string: ~a"
 msgstr ""
 
-#: define-markup-commands.scm:4070
+#: define-markup-commands.scm:4071
 #, scheme-format
 msgid "not a valid duration string: ~a - ignoring"
 msgstr ""
 
 #, scheme-format
 msgid "not a valid duration string: ~a - ignoring"
 msgstr ""
 
-#: define-music-types.scm:798
+#: define-music-types.scm:796
 #, scheme-format
 msgid "symbol expected: ~S"
 msgstr ""
 
 #, scheme-format
 msgid "symbol expected: ~S"
 msgstr ""
 
-#: define-music-types.scm:801
+#: define-music-types.scm:799
 #, scheme-format
 msgid "cannot find music object: ~S"
 msgstr ""
 
 #, scheme-format
 msgid "cannot find music object: ~S"
 msgstr ""
 
-#: define-music-types.scm:821
+#: define-music-types.scm:819
 #, scheme-format
 msgid "bad make-music argument: ~S"
 msgstr ""
 #, scheme-format
 msgid "bad make-music argument: ~S"
 msgstr ""
@@ -3546,27 +3665,27 @@ msgstr ""
 msgid "unknown Grob interface: ~S"
 msgstr ""
 
 msgid "unknown Grob interface: ~S"
 msgstr ""
 
-#: documentation-lib.scm:62
+#: documentation-lib.scm:61
 #, scheme-format
 msgid "Processing ~S..."
 msgstr ""
 
 #, scheme-format
 msgid "Processing ~S..."
 msgstr ""
 
-#: documentation-lib.scm:178
+#: documentation-lib.scm:177
 #, scheme-format
 msgid "Writing ~S..."
 msgstr ""
 
 #, scheme-format
 msgid "Writing ~S..."
 msgstr ""
 
-#: documentation-lib.scm:190
+#: documentation-lib.scm:189
 #, scheme-format
 msgid "cannot find description for property `~S' (~S)"
 msgstr ""
 
 #, scheme-format
 msgid "cannot find description for property `~S' (~S)"
 msgstr ""
 
-#: documentation-lib.scm:211
+#: documentation-lib.scm:210
 #, scheme-format
 msgid "cannot find description for property ~S (~S)"
 msgstr ""
 
 #, scheme-format
 msgid "cannot find description for property ~S (~S)"
 msgstr ""
 
-#: flag-styles.scm:155
+#: flag-styles.scm:154
 #, scheme-format
 msgid "flag stroke `~a' or `~a' not found"
 msgstr ""
 #, scheme-format
 msgid "flag stroke `~a' or `~a' not found"
 msgstr ""
@@ -3576,27 +3695,89 @@ msgstr ""
 msgid "Writing ~a..."
 msgstr ""
 
 msgid "Writing ~a..."
 msgstr ""
 
-#: framework-ps.scm:286
+#: framework-ps.scm:265
+#, scheme-format
+msgid "CFF font `~a' already embedded, skipping."
+msgstr ""
+
+#: framework-ps.scm:268
+#, scheme-format
+msgid ""
+"Different CFF fonts which have the same name `~a' has been detected. The "
+"font cannot be embedded."
+msgstr ""
+
+#: framework-ps.scm:272
+#, scheme-format
+msgid "Embedding CFF font `~a'."
+msgstr ""
+
+#: framework-ps.scm:277
+msgid "Initializing embedded CFF font list."
+msgstr ""
+
+#: framework-ps.scm:331
+#, scheme-format
+msgid ""
+"Font ~a cannot be loaded via Ghostscript because its font-index (~a) is not "
+"zero."
+msgstr ""
+
+#: framework-ps.scm:337
+#, scheme-format
+msgid ""
+"Font ~a cannot be loaded via Ghostscript because it is an OpenType/CFF "
+"Collection (OTC) font."
+msgstr ""
+
+#: framework-ps.scm:343
+#, scheme-format
+msgid ""
+"Font ~a cannot be used via Ghostscript because it is a TrueType font that "
+"does not have glyph names."
+msgstr ""
+
+#: framework-ps.scm:365
 #, scheme-format
 msgid "cannot embed ~S=~S"
 msgstr ""
 
 #, scheme-format
 msgid "cannot embed ~S=~S"
 msgstr ""
 
-#: framework-ps.scm:329
+#: framework-ps.scm:408
 #, scheme-format
 msgid "cannot extract file matching ~a from ~a"
 msgstr ""
 
 #, scheme-format
 msgid "cannot extract file matching ~a from ~a"
 msgstr ""
 
-#: framework-ps.scm:346
+#: framework-ps.scm:427
 #, scheme-format
 msgid "do not know how to embed ~S=~S"
 msgstr ""
 
 #, scheme-format
 msgid "do not know how to embed ~S=~S"
 msgstr ""
 
-#: framework-ps.scm:371
+#: framework-ps.scm:452
 #, scheme-format
 msgid "do not know how to embed font ~s ~s ~s"
 msgstr ""
 
 #, scheme-format
 msgid "do not know how to embed font ~s ~s ~s"
 msgstr ""
 
-#: framework-ps.scm:753
+#: framework-ps.scm:517
+#, scheme-format
+msgid "Font file `~a' already exists, skipping."
+msgstr ""
+
+#: framework-ps.scm:527
+#, scheme-format
+msgid "Exporting font file `~a'."
+msgstr ""
+
+#: framework-ps.scm:543
+#, scheme-format
+msgid "Font export directory `~a' already exists."
+msgstr ""
+
+#: framework-ps.scm:546
+#, scheme-format
+msgid "Making font export directory `~a'."
+msgstr ""
+
+#: framework-ps.scm:892
 msgid ""
 "\n"
 "The PostScript backend does not support the\n"
 msgid ""
 "\n"
 "The PostScript backend does not support the\n"
@@ -3645,19 +3826,19 @@ msgstr ""
 msgid "Music unsuitable for output-def"
 msgstr ""
 
 msgid "Music unsuitable for output-def"
 msgstr ""
 
-#: lily-library.scm:920
+#: lily-library.scm:900
 msgid ""
 "Find the index between @var{start} and @var{end} (an integer)\n"
 "which produces the closest match to @var{target-val} if\n"
 "applied to function @var{getter}."
 msgstr ""
 
 msgid ""
 "Find the index between @var{start} and @var{end} (an integer)\n"
 "which produces the closest match to @var{target-val} if\n"
 "applied to function @var{getter}."
 msgstr ""
 
-#: lily-library.scm:1014
+#: lily-library.scm:994
 #, scheme-format
 msgid "unknown unit: ~S"
 msgstr ""
 
 #, scheme-format
 msgid "unknown unit: ~S"
 msgstr ""
 
-#: lily-library.scm:1039
+#: lily-library.scm:1019
 #, scheme-format
 msgid "no \\version statement found, please add~afor future compatibility"
 msgstr ""
 #, scheme-format
 msgid "no \\version statement found, please add~afor future compatibility"
 msgstr ""
@@ -3670,50 +3851,50 @@ msgstr ""
 msgid "define-session used after session start"
 msgstr ""
 
 msgid "define-session used after session start"
 msgstr ""
 
-#: lily.scm:444
+#: lily.scm:450
 msgid "Using (ice-9 curried-definitions) module\n"
 msgstr ""
 
 msgid "Using (ice-9 curried-definitions) module\n"
 msgstr ""
 
-#: lily.scm:447
+#: lily.scm:453
 msgid "Guile 1.8\n"
 msgstr ""
 
 msgid "Guile 1.8\n"
 msgstr ""
 
-#: lily.scm:504
+#: lily.scm:510
 #, scheme-format
 msgid "cannot find: ~A"
 msgstr ""
 
 #, scheme-format
 msgid "cannot find: ~A"
 msgstr ""
 
-#: lily.scm:934
+#: lily.scm:940
 msgid "Success: compilation successfully completed"
 msgstr ""
 
 msgid "Success: compilation successfully completed"
 msgstr ""
 
-#: lily.scm:935
+#: lily.scm:941
 msgid "Compilation completed with warnings or errors"
 msgstr ""
 
 msgid "Compilation completed with warnings or errors"
 msgstr ""
 
-#: lily.scm:996
+#: lily.scm:1002
 #, scheme-format
 msgid "job ~a terminated with signal: ~a"
 msgstr ""
 
 #, scheme-format
 msgid "job ~a terminated with signal: ~a"
 msgstr ""
 
-#: lily.scm:999
+#: lily.scm:1005
 #, scheme-format
 msgid ""
 "logfile ~a (exit ~a):\n"
 "~a"
 msgstr ""
 
 #, scheme-format
 msgid ""
 "logfile ~a (exit ~a):\n"
 "~a"
 msgstr ""
 
-#: lily.scm:1021 lily.scm:1110
+#: lily.scm:1027 lily.scm:1116
 #, scheme-format
 msgid "failed files: ~S"
 msgstr ""
 
 #, scheme-format
 msgid "failed files: ~S"
 msgstr ""
 
-#: lily.scm:1101
+#: lily.scm:1107
 #, scheme-format
 msgid "Redirecting output to ~a..."
 msgstr ""
 
 #, scheme-format
 msgid "Redirecting output to ~a..."
 msgstr ""
 
-#: lily.scm:1120
+#: lily.scm:1126
 #, scheme-format
 msgid "Invoking `~a'...\n"
 msgstr ""
 #, scheme-format
 msgid "Invoking `~a'...\n"
 msgstr ""
@@ -3767,101 +3948,105 @@ msgstr ""
 msgid "negative replication count; ignoring"
 msgstr ""
 
 msgid "negative replication count; ignoring"
 msgstr ""
 
-#: music-functions.scm:319
+#: modal-transforms.scm:287
+msgid "Dangling tie in \\retrograde"
+msgstr ""
+
+#: music-functions.scm:321
 #, scheme-format
 msgid "invalid tremolo repeat count: ~a"
 msgstr ""
 
 #, scheme-format
 msgid "invalid tremolo repeat count: ~a"
 msgstr ""
 
-#: music-functions.scm:348
+#: music-functions.scm:350
 #, scheme-format
 msgid "unknown repeat type `~S': must be volta, unfold, percent, or tremolo"
 msgstr ""
 
 #, scheme-format
 msgid "unknown repeat type `~S': must be volta, unfold, percent, or tremolo"
 msgstr ""
 
-#: music-functions.scm:352
+#: music-functions.scm:354
 msgid "More alternatives than repeats.  Junking excess alternatives"
 msgstr ""
 
 msgid "More alternatives than repeats.  Junking excess alternatives"
 msgstr ""
 
-#: music-functions.scm:487
+#: music-functions.scm:506
 #, scheme-format
 msgid "bad grob property path ~a"
 msgstr ""
 
 #, scheme-format
 msgid "bad grob property path ~a"
 msgstr ""
 
-#: music-functions.scm:511
+#: music-functions.scm:530
 #, scheme-format
 msgid "bad context property ~a"
 msgstr ""
 
 #, scheme-format
 msgid "bad context property ~a"
 msgstr ""
 
-#: music-functions.scm:534
+#: music-functions.scm:553
 #, scheme-format
 msgid "bad music property ~a"
 msgstr ""
 
 #, scheme-format
 msgid "bad music property ~a"
 msgstr ""
 
-#: music-functions.scm:842
+#: music-functions.scm:861
 msgid "Bad chord repetition"
 msgstr ""
 
 msgid "Bad chord repetition"
 msgstr ""
 
-#: music-functions.scm:947
+#: music-functions.scm:966
 #, scheme-format
 msgid "music expected: ~S"
 msgstr ""
 
 #, scheme-format
 msgid "music expected: ~S"
 msgstr ""
 
-#: music-functions.scm:1297
+#: music-functions.scm:1316
 #, scheme-format
 msgid "cannot find quoted music: `~S'"
 msgstr ""
 
 #, scheme-format
 msgid "cannot find quoted music: `~S'"
 msgstr ""
 
-#: music-functions.scm:1434
+#: music-functions.scm:1453
 msgid "Add @var{octave-shift} to the octave of @var{pitch}."
 msgstr ""
 
 msgid "Add @var{octave-shift} to the octave of @var{pitch}."
 msgstr ""
 
-#: music-functions.scm:1497
+#: music-functions.scm:1516
 #, scheme-format
 msgid "Unknown octaveness type: ~S "
 msgstr ""
 
 #, scheme-format
 msgid "Unknown octaveness type: ~S "
 msgstr ""
 
-#: music-functions.scm:1498
+#: music-functions.scm:1517
 msgid "Defaulting to 'any-octave."
 msgstr ""
 
 msgid "Defaulting to 'any-octave."
 msgstr ""
 
-#: music-functions.scm:1872
+#: music-functions.scm:1891
 #, scheme-format
 msgid "unknown accidental style: ~S"
 msgstr ""
 
 #, scheme-format
 msgid "unknown accidental style: ~S"
 msgstr ""
 
-#: music-functions.scm:2097
+#: music-functions.scm:2116
 msgid "Missing duration"
 msgstr ""
 
 msgid "Missing duration"
 msgstr ""
 
-#: music-functions.scm:2633
+#: music-functions.scm:2637
 #, scheme-format
 msgid "not a symbol list: ~a"
 msgstr ""
 
 #, scheme-format
 msgid "not a symbol list: ~a"
 msgstr ""
 
-#: music-functions.scm:2636
+#: music-functions.scm:2640
 #, scheme-format
 msgid "conflicting tag group ~a"
 msgstr ""
 
 #, scheme-format
 msgid "conflicting tag group ~a"
 msgstr ""
 
-#: output-ps.scm:290 output-svg.scm:539
+#: output-ps.scm:271 output-svg.scm:544
 #, scheme-format
 msgid "unknown line-cap-style: ~S"
 msgstr ""
 
 #, scheme-format
 msgid "unknown line-cap-style: ~S"
 msgstr ""
 
-#: output-ps.scm:295 output-svg.scm:545
+#: output-ps.scm:276 output-svg.scm:550
 #, scheme-format
 msgid "unknown line-join-style: ~S"
 msgstr ""
 
 #, scheme-format
 msgid "unknown line-join-style: ~S"
 msgstr ""
 
-#: output-svg.scm:148
+#: output-svg.scm:153
 #, scheme-format
 msgid "cannot decypher Pango description: ~a"
 msgstr ""
 
 #, scheme-format
 msgid "cannot decypher Pango description: ~a"
 msgstr ""
 
-#: output-svg.scm:228
+#: output-svg.scm:233
 msgid "Glyph must have a unicode value"
 msgstr ""
 
 msgid "Glyph must have a unicode value"
 msgstr ""
 
-#: output-svg.scm:280 output-svg.scm:290
+#: output-svg.scm:285 output-svg.scm:295
 #, scheme-format
 msgid "cannot find SVG font ~S"
 msgstr ""
 #, scheme-format
 msgid "cannot find SVG font ~S"
 msgstr ""
@@ -3905,12 +4090,12 @@ msgstr ""
 msgid "quoted music `~a' is empty"
 msgstr ""
 
 msgid "quoted music `~a' is empty"
 msgstr ""
 
-#: ps-to-png.scm:72 ps-to-png.scm:75
+#: ps-to-png.scm:74 ps-to-png.scm:77
 #, scheme-format
 msgid "Copying `~a' to `~a'..."
 msgstr ""
 
 #, scheme-format
 msgid "Copying `~a' to `~a'..."
 msgstr ""
 
-#: ps-to-png.scm:77 ps-to-png.scm:79
+#: ps-to-png.scm:79 ps-to-png.scm:81
 #, scheme-format
 msgid "Deleting `~a'..."
 msgstr ""
 #, scheme-format
 msgid "Deleting `~a'..."
 msgstr ""
@@ -3935,25 +4120,25 @@ msgstr ""
 msgid "No open string for pitch ~a"
 msgstr ""
 
 msgid "No open string for pitch ~a"
 msgstr ""
 
-#: translation-functions.scm:442 translation-functions.scm:454
+#: translation-functions.scm:450 translation-functions.scm:462
 #, scheme-format
 msgid "Requested string for pitch requires negative fret: string ~a pitch ~a"
 msgstr ""
 
 #, scheme-format
 msgid "Requested string for pitch requires negative fret: string ~a pitch ~a"
 msgstr ""
 
-#: translation-functions.scm:445
+#: translation-functions.scm:453
 msgid "Ignoring string request and recalculating."
 msgstr ""
 
 msgid "Ignoring string request and recalculating."
 msgstr ""
 
-#: translation-functions.scm:457
+#: translation-functions.scm:465
 msgid "Ignoring note in tablature."
 msgstr ""
 
 msgid "Ignoring note in tablature."
 msgstr ""
 
-#: translation-functions.scm:482
+#: translation-functions.scm:490
 #, scheme-format
 msgid "No string for pitch ~a (given frets ~a)"
 msgstr ""
 
 #, scheme-format
 msgid "No string for pitch ~a (given frets ~a)"
 msgstr ""
 
-#: translation-functions.scm:598
+#: translation-functions.scm:606
 #, scheme-format
 msgid ""
 "No label for fret ~a (on string ~a);\n"
 #, scheme-format
 msgid ""
 "No label for fret ~a (on string ~a);\n"