Вход

Просмотр полной версии : Embed китайского языка в текстовом поле.


Anton Riot
03.11.2016, 00:48
Есть текстовое поле с модным шрифтом BrushType, этот шрифт поддерживает китайские иероглифы:
https://i.gyazo.com/05c779acd2e1f40cb801307f4434ac22.png
В нём внедрены соответствующие символы (кроме галочек, для верности, та же фраза написано прямо во "включить след. символы":
https://i.gyazo.com/31a743d7e40ff25877c5fad803b65aed.png
В коде пытаюсь написать в поле всё ту же фразу:
https://i.gyazo.com/759f83ec6e5a2913160da920fee61bbd.png

Но получаю долбаные кавычки:
https://i.gyazo.com/3b1db57f59c26a4bd99640294fbb5383.png

Wtf? Какие есть тонкости работы с иероглифами?

Добавлено через 4 минуты
Собсно это сферическая ситуация в вакууме, а проблема появилось в приложении: там в текстовое поле писалась строка из файла. То есть проблема вряд ли в том, что в редакторе кода Flash CS какая-то другая кодировка этих долбаных иероглифов

Добавлено через 14 минут
Ладно, я ерунду спросил, пойду лучше спать. Не помню, как тут удалять посты. Всем 再见.

Bletraut
03.11.2016, 18:28
Может быть это связано с компиляцией, возможно, юникод не поддерживается. Я писал иероглифы так

tf.text = "\u518D \u89C1"

Извращение, конечно, но работало.

caseyryan
03.11.2016, 19:07
возможно, юникод не поддерживается.
Как раз юникод-то и работает. У меня никогда не было проблем с китайским. Я просто собирал библиотеку swc с нужным мне шрифтом, присваивал ему класс, потом в коде вызывал Font.registerFont(тут класс шрифта); и все скегда работало без каких-либо танцев с бубном

Bletraut
04.11.2016, 15:43
Как раз юникод-то и работает. У меня никогда не было проблем с китайским. Я просто собирал библиотеку swc с нужным мне шрифтом, присваивал ему класс, потом в коде вызывал Font.registerFont(тут класс шрифта); и все скегда работало без каких-либо танцев с бубном

А код ты во флеше писал и компилировал там же?

caseyryan
04.11.2016, 15:55
Нет, код я писал в классе, в проекте, к которому подключена библиотека со шрифтом.
Прикрепил либу со шрифтом Arial во вложение. Для регистрации просто где-то в коде нужно написать один раз Font.registerFont(Arial);

После этого можно в TextFormat указывать параметром название шрифта new TextFormat("Arial");
Не помню только внедрял ли я китайский именно в этот шрифт (по-моему да), но с китайским все точно так же