Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.03.2012, 17:15
olexandr вне форума Посмотреть профиль Отправить личное сообщение для olexandr Посетить домашнюю страницу olexandr Найти все сообщения от olexandr
  № 1  
Ответить с цитированием
olexandr
 
Аватар для olexandr

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
По умолчанию Как создать Input-поле для иврита?

Всем привет!

В одном проекте поднадобилось сделать поле ввода. Сделал его по старинке, но поскольку приложение для израильского заказчика, то возникла проблема, что символы иврита вводятся в обратном порядке.
Погуглил эту проблему, в частности на этом форуме и выяснил, что ввод справа налево поддерживается только в классах flash.text.engine.* . В принципе, использовать эти классы не проблема - посмотрел хелп, вроде все достаточно понятно. Но не увидел, в классах пакета flash.text.engine ни одного упоминания о type == input.

Поскольку, раньше ни с этим пакетом, ни с ивритом не сталкивался, то немного в растерянности, куда копать дальше?

Если у кого-то есть пример input-поля для иврита, буду премного благодарен.
__________________
сайт, vk

Старый 18.03.2012, 17:40
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 2  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Во FlashIDE класс TLFTextField.
Во Flex framework все компоненты spark поддерживают TLF.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 18.03.2012, 18:45
olexandr вне форума Посмотреть профиль Отправить личное сообщение для olexandr Посетить домашнюю страницу olexandr Найти все сообщения от olexandr
  № 3  
Ответить с цитированием
olexandr
 
Аватар для olexandr

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
Спасибо, уже что-то начинает получаться.
Дальше, такие проблемы:

1.
Код AS3:
var _format:TextLayoutFormat = new TextLayoutFormat();
_format.direction = Direction.RTL;
Но печатаемые буквы все так же появляются справа, единственное отличие, что курсор мерцает не в конце строки, а в начале. Я так понимаю, символы должны появляться слева? Или для кириллицы FP будет автоматически печатать по методу LTR?

2. При использовании TLFTextField, что нужно впихнуть в stage.focus, чтобы можно было сразу печатать?
Я посмотрел, что у TLFTextField достаточно сложная внутрення структура и прямой ссылки непосредственно на TextField нету.
__________________
сайт, vk

Старый 18.03.2012, 18:53
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 4  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
1. У TLFTextField есть собственный direction.
2. Ниразу им не пользовался.
Цитата:
и прямой ссылки непосредственно на TextField нету.
Там вообще TextField не используется.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 18.03.2012, 19:04
olexandr вне форума Посмотреть профиль Отправить личное сообщение для olexandr Посетить домашнюю страницу olexandr Найти все сообщения от olexandr
  № 5  
Ответить с цитированием
olexandr
 
Аватар для olexandr

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
1. При использовании TextLayoutFormat, direction у TLFTextField перезаписывается.

2. Про TextField само собой, я имел ввиду какой-либо аналог, который можно передать в stage.focus.
У меня получилось добраться только до TextLine, наследника DisplayObjectContainer.

Ок, спасибо за помощь - подождем, может быть, кто-то еще что либо подскажет.


p.s. Сегодня закончил с этим проектом. Остановился на таком варианте (если кому понадобится):

Код AS3:
private function textDownHandler(e:MouseEvent):void {
    _textLabel = new TLFTextField();
    _textLabel.autoSize = TextFieldAutoSize.LEFT;
    _textLabel.multiline = true;
    _textLabel.type = TextFieldType.INPUT;
    _textLabel.selectable = true;
    _textLabel.border = true;
    _textLabel.embedFonts = true;
    _textLabel.setSelection(0, 0);
    _textLabel.addEventListener(FocusEvent.FOCUS_OUT, textUpHandler);
 
    var _format:TextLayoutFormat = new TextLayoutFormat();
    _format.fontLookup = FontLookup.EMBEDDED_CFF;
    _format.direction = Direction.RTL;
 
    var _flow:TextFlow = _textLabel.textFlow;
    _flow.hostFormat = _format;
    _flow.flowComposer.updateAllControllers();
 
    addChild(_textLabel);
 
    _flow.interactionManager.setFocus();
}
 
private function textUpHandler(e:FocusEvent):void {
    _textLabel.removeEventListener(FocusEvent.FOCUS_OUT, textUpHandler);
 
    if (_textLabel.text) {
        _textLabel.type = TextFieldType.DYNAMIC;
        _textLabel.selectable = false;
        _textLabel.border = false;
    } else {
        removeChild(_textLabel);
    }
 
    _textLabel = null;
}
__________________
сайт, vk


Последний раз редактировалось olexandr; 20.03.2012 в 00:22.
Создать новую тему Ответ Часовой пояс GMT +4, время: 05:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
fp10 , hebrew , input
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 05:41.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.