From fc93474b9af7d8abd2badc12a057ec489790d538 Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Mon, 11 Apr 2016 10:21:11 +0200 Subject: [PATCH] Characters with decompositions starting with # do not decompose any more. --- lib/libZRCola/src/translate.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/libZRCola/src/translate.cpp b/lib/libZRCola/src/translate.cpp index ae00ef8..d43579f 100644 --- a/lib/libZRCola/src/translate.cpp +++ b/lib/libZRCola/src/translate.cpp @@ -131,11 +131,18 @@ void ZRCOLA_API ZRCola::translation_db::Decompose(_In_z_count_(inputMax) const w else if (decompSrc < c) l = m + 1; else { // Character found. - output.append(trans.str, trans.str_len); - i++; - if (map) { - // Mapping changed. - map->push_back(ZRCola::mapping(i, output.length())); + if (trans.str_len && trans.str[0] != L'#') { + // Append decomposed sequence. + output.append(trans.str, trans.str_len); + i++; + if (map) { + // Mapping changed. + map->push_back(ZRCola::mapping(i, output.length())); + } + } else { + // Character is inhibited to decompose. + output += c; + i++; } break; }