Арабский текст в as3 - PullRequest
       21

Арабский текст в as3

9 голосов
/ 11 января 2011

Как отобразить арабский текст справа налево с помощью as3?

Ответы [ 7 ]

9 голосов
/ 10 июня 2011

Этот код поможет вам:

import flash.text.AntiAliasType;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.external.*
import fl.text.TLFTextField;
import flash.text.TextFormat;

import flashx.textLayout.formats.TextLayoutFormat;
import flashx.textLayout.elements.TextFlow;


var arabicTextField:TLFTextField = new TLFTextField();
arabicTextField.antiAliasType = AntiAliasType.ADVANCED;
arabicTextField.mouseEnabled = false;
arabicTextField.selectable = false;

arabicTextField.direction = flashx.textLayout.formats.Direction.RTL;

var fmt:TextFormat = new TextFormat();
fmt.color = 0xFFFFFF;
fmt.font = "arialArabic"
arabicTextField.embedFonts = false;
arabicTextField.defaultTextFormat = fmt;
arabicTextField.setTextFormat(fmt);
2 голосов
/ 21 октября 2013

Я знаю, что это старая тема.Но все же самый полезный фрагмент для RTL Text.Спасибо, Эллен.

Позвольте мне добавить некоторые примеры кодирования для iOS в Flash Builder 4.7 во времена CC:

Flash Builder не поставляется с TLFTextField и его поддерживающими классами, необходимыми для отображения арабского языка.и другие языки RTL на iOS.

Между CS6 и CC Adobe даже исключила эти классы из Flash Professional.Возможно, потому что стандартный класс TextField был улучшен.

Тем не менее, на iOS RTL и арабские лигатуры не будут работать из коробки.Если вы используете класс TextField, AirSimulator из FlashBuilder будет отображаться правильно.Нет, если вы используете тот же код на iOS.

StageText и его оболочка NativeText будут отображаться правильно, но у них есть недостатки для статического текста.

Возможно, вы подумаете о повторном введении TLFTextField.Вот как вы можете это сделать:

  • Установить Flash Professional CS6 (!) Из Creative Cloud
  • В подпапке «libs» папки программы вы найдете два SWC, которые содержатклассы, необходимые для использования TLFTextField: TLFRuntime.swc & textLayout.swc
  • Скопируйте SWC в свой ProjectFolder и включите его в Flash Builder, открыв свойства вашего проекта -> Путь сборки ActionScript -> Путь к библиотеке -> Добавить SWC(или Добавить SWC-папку)

Это должно заставить код Эллен работать на FlashBuilder 4.7 для iOS с Air SDK 3.9

Возможно, вы ожидаете, что стандартный TextField отображает арабский и другие языки RTLправильно в будущих выпусках Air.

2 голосов
/ 11 января 2011

Text Layout Framework может обрабатывать текст справа налево.

1 голос
/ 05 сентября 2012

попробуйте добавить текстовый формат с правильным выравниванием по правому краю

var txtFormat:TextFormat = new TextFormat();
txtFormat.align = "right";
1 голос
/ 11 января 2011

Кроме того, вам, вероятно, потребуется включить шрифты, которые вы используете в своей библиотеке

0 голосов
/ 14 июня 2012

Если вы не против флексической среды, она теперь включает в себя приличную библиотеку интернационализации, которая должна позволить вам сделать это легко.Вот достойное место для начала http://devgirl.org/2011/03/15/flex-4-localization/

0 голосов
/ 18 мая 2011

У меня также был успех с FlarabySWF - это стоит немного денег (не много), но на самом деле это работает довольно хорошо в моем опыте.

...