diff --git a/icu4c/source/tools/escapesrc/escapesrc.cpp b/icu4c/source/tools/escapesrc/escapesrc.cpp index 6f97be4e9a4..ab240383e89 100644 --- a/icu4c/source/tools/escapesrc/escapesrc.cpp +++ b/icu4c/source/tools/escapesrc/escapesrc.cpp @@ -251,6 +251,9 @@ bool fixAt(std::string &linestr, size_t pos) { int32_t trail = U8_COUNT_TRAIL_BYTES(linestr[pos]); for(size_t pos2 = pos+1; trail>0; pos2++,trail--) { linestr[pos2] = cp1047_to_8859(linestr[pos2]); + if(linestr[pos2] == 0x0A) { + linestr[pos2] = 0x85; // NL is ambiguous here + } } #endif diff --git a/icu4c/source/tools/escapesrc/expect-simple.cpp b/icu4c/source/tools/escapesrc/expect-simple.cpp index 3770bfba7ec..a6019a8d403 100644 --- a/icu4c/source/tools/escapesrc/expect-simple.cpp +++ b/icu4c/source/tools/escapesrc/expect-simple.cpp @@ -4,6 +4,7 @@ u"sa\u0127\u0127a"; u'\u6587'; u"\U000219F2"; +u"\u039C\u03C5\u03C3\u03C4\u03AE\u03C1\u03B9\u03BF"; u"sa\u0127\u0127a"; u'\u6587'; u"\U000219F2"; diff --git a/icu4c/source/tools/escapesrc/test-simple.cpp b/icu4c/source/tools/escapesrc/test-simple.cpp index b2fc953e475..b03f28f7067 100644 --- a/icu4c/source/tools/escapesrc/test-simple.cpp +++ b/icu4c/source/tools/escapesrc/test-simple.cpp @@ -4,6 +4,7 @@ u"saħħa"; u'文'; u"𡧲"; +u"Μυστήριο"; u"saħħa"; u'文'; u"𡧲";