fixes #1703 surrogate pairs character support in animated text
diff --git a/player/js/utils/text/TextProperty.js b/player/js/utils/text/TextProperty.js
index 16bc6e8..85b0051 100644
--- a/player/js/utils/text/TextProperty.js
+++ b/player/js/utils/text/TextProperty.js
@@ -140,11 +140,23 @@
var combinedCharacters = FontManager.getCombinedCharacterCodes();
var charactersArray = [];
var i = 0, len = text.length;
+ var charCode;
while (i < len) {
- if (combinedCharacters.indexOf(text.charCodeAt(i)) !== -1) {
+ charCode = text.charCodeAt(i)
+ if (combinedCharacters.indexOf(charCode) !== -1) {
charactersArray[charactersArray.length - 1] += text.charAt(i);
} else {
- charactersArray.push(text.charAt(i));
+ if (charCode >= 0xD800 && charCode <= 0xDBFF) {
+ charCode = text.charCodeAt(i + 1);
+ if (charCode >= 0xDC00 && charCode <= 0xDFFF) {
+ charactersArray.push(text.substr(i, 2));
+ ++i;
+ } else {
+ charactersArray.push(text.charAt(i));
+ }
+ } else {
+ charactersArray.push(text.charAt(i));
+ }
}
i += 1;
}