Можно ли добавить неразрывный пробел в CreateJS? - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь добавить неразрывный пробел при использовании CreateJS (или EaselJS). Но это не работает. Например: я не хочу разрыв строки между "текстом" и "!"Пример:

this.copy_01 = new cjs.Text("This is a text\u00A0!", "bold 60px 'Times New Roman'", "#FFFFFF");

\u00A0 обычно работает в JavaScript. Но теперь он добавляет только пробел, но не неразрывный пробел.

Кто-нибудь знает, возможно ли добавить неразрывный пробел в CreateJS?

Ответы [ 2 ]

0 голосов
/ 11 октября 2019

Я сейчас пытаюсь обойти. Кажется, работает для меня, но я не очень доволен этим.

function nonBreak(textObj) {
    var origString = textObj.text; 
    var compStr = origString.replace(/(.|[\r\n])*?<nbr>.*?($|\s)/, "");
    compStr = origString.replace(compStr, ""); 
    compStr1 = compStr.replace(/<nbr>/, " "); 
    compStr2 = compStr.replace(/<nbr>/, "\n"); 
    textObj.text = compStr1;
    var sizeStr1 = textObj.getMetrics().height;
    textObj.text = compStr2;
    sizeStr2 = textObj.getMetrics().height;
    textObj.text = origString;

    if (sizeStr1 == sizeStr2) {
        newString1 = origString.replace(/\s?[^ ]*<nbr>.*/, "");
        newString2 = origString.replace(newString1 + " ", "");
        newString1 = newString1 + "\n";
        newString2 = newString2.replace(/<nbr>/, " ");
        newString = newString1 + newString2;
        textObj.text = newString;
    } else {
        newString = origString.replace(/<nbr>/, " ");
        textObj.text = newString;
    }

}




var origString = this.copy_01.text;
var textCopy = this.copy_01;
var countBR = origString.match(/<nbr>/g);
if (countBR !== null) {
    for (i = 0; i < countBR.length; i++) {

        if (countBR[i] == "<nbr>") {
            nonBreak(textCopy);
        }

    }

}

0 голосов
/ 10 октября 2019

Перенос строки в EaselJS вручную реализован в Canvas, поэтому он не следует набору правил JavaScript. Вы должны были бы вручную добавить поддержку для этого. Извините!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...