Here's an interesting post on the topic:
http://forum.starling-framework.org/topic/using-the-flash-text-engine-to-render-text

On Mar 30, 2014, at 8:55 PM, Maurice Amsellem wrote:

> This is already the technique used in many places:
> - TextInput / TextArea:  when the text is not in edit mode, displays a bitmap 
> cache, to ensure smooth scrolling
> - List item renderers (when cacheAsBitmap is set to true, which is the 
> default on mobile,  the whole item renderer is cached as a bitmap).
> 
> But even with that technique, displaying long texts in Lists/ DataGrids using 
> spark Label instead of TextField (which is I think the idea) was very slow.  
> Maybe because of the renderer recycling.
> 
> It may be worth experimenting more...
> 
> Maurice 
> 
> -----Message d'origine-----
> De : Harbs [mailto:harbs.li...@gmail.com] 
> Envoyé : dimanche 30 mars 2014 19:19
> À : dev@flex.apache.org
> Objet : Re: RTL support in mobile apps
> 
> Has anyone explored creating "cached" TLF? Rather than re-composing the text 
> every time it's displayed, the composition could be cached as an image and 
> that would be used rather than the live text. Of course, for this to work, 
> something would have to set a flag to indicate that the text reeds to be 
> "recached" when the content is changed.
> 
> On Mar 29, 2014, at 9:30 PM, Maurice Amsellem wrote:
> 
>> Ok, managed to get the font embedded in the mobile app, but still does not 
>> display correctly.
>> 
>> So I leave it for now, until someone gets a genius idea...
>> 
>> Maurice
>> 
>> -----Message d'origine-----
>> De : Maurice Amsellem [mailto:maurice.amsel...@systar.com]
>> Envoyé : samedi 29 mars 2014 18:57
>> À : dev@flex.apache.org
>> Objet : RE: RTL support in mobile apps
>> 
>> Is this the right way to do it ?
>> 
>> http://help.adobe.com/en_US/flex/mobileapps/WS19f279b149e7481c6a9f4512
>> 12b87fe7e87-8000.html
>> 
>> Maurice
>> 
>> -----Message d'origine-----
>> De : Maurice Amsellem [mailto:maurice.amsel...@systar.com]
>> Envoyé : samedi 29 mars 2014 18:54
>> À : dev@flex.apache.org
>> Objet : RE: RTL support in mobile apps
>> 
>> Thanks Om,
>> 
>> That's what I am trying now (embedding the font).
>> 
>> Maurice
>> 
>> -----Message d'origine-----
>> De : omup...@gmail.com [mailto:omup...@gmail.com] De la part de 
>> OmPrakash Muppirala Envoyé : samedi 29 mars 2014 18:50 À : 
>> dev@flex.apache.org Objet : RE: RTL support in mobile apps
>> 
>> Might be the font.  Did you try embedding the font?
>> 
>> Thanks,
>> Om
>> On Mar 29, 2014 6:43 AM, "Maurice Amsellem" 
>> <maurice.amsel...@systar.com>
>> wrote:
>> 
>>> Hi,  I have completed  RTL management on mobile skins.
>>> 
>>> The idea was that all default mobile skins (based on 
>>> StyleableTextField and ScrollableStageText) display correctly when 
>>> using RTL text
>>> (Arabic/Hebrew) and layoutDirection set to RTL.
>>> So I changed StyleableTextField to correct it's matrix and textAlign 
>>> and it works!!
>>> 
>>> Well, almost :-(
>>> 
>>> I tested it on ADL with default skins => OK:
>>> https://www.dropbox.com/s/ee61mpazlgyloof/ADL_RTL_OK.png
>>> 
>>> However, when the same application run on Android or iOS device, the 
>>> letter order is not inverted as it should be.
>>> https://www.dropbox.com/s/rfme0g60xxkne87/android_rtl_ko.png
>>> 
>>> See for example the word in Arabic in the action bar title on both 
>>> screenshots.
>>> 
>>> I don't understand this difference.
>>> This is not "stage" iOS or Android component (such as StageText), 
>>> which could have a different behavior on ALD and device.
>>> It's plain AIR rendering.
>>> So why is it OK on ADL , and KO on the device?
>>> Very frustrating...
>>> 
>>> Could it be because of the font used , that wouldn't be the same on 
>>> ALD
>>> (Windows) and device?
>>> Or is it an AIR "bug" because RTL is not supposed to work, although 
>>> it does..
>>> 
>>> Maurice
>>> 
>>> -----Message d'origine-----
>>> De : Maurice Amsellem [mailto:maurice.amsel...@systar.com]
>>> Envoyé : lundi 24 mars 2014 22:36
>>> À : dev@flex.apache.org
>>> Objet : RE: RTL support in mobile apps
>>> 
>>>> I assume this was a release version and not a debug version?
>>> Damn,  I fell in the trap again. Thanks for reminding me.
>>> I have re-done the tests with release packaging, almost same results:
>>> 21- 25 FPS for TextField
>>> 1 ~ 4 for spark Label.
>>> 
>>> 
>>>> Either way, I don't think TLF will get out to 25fps.
>>> Yes, 15 would have been fine.  but 4 fps is really too bad.
>>> 
>>>> I'd suggest doing a simple test to see if TextField really can do 
>>>> RTL
>>> (text starting from the right edge) or just knows how to place 
>>> characters in a string based on some positioning information.
>>> Yes, that was my intention. Crossing fingers that it works.
>>> 
>>> Thanks
>>> 
>>> Maurice
>>> 
>>> -----Message d'origine-----
>>> De : Alex Harui [mailto:aha...@adobe.com] Envoyé : lundi 24 mars 2014
>>> 21:56 À : dev@flex.apache.org Objet : Re: RTL support in mobile apps
>>> 
>>> I assume this was a release version and not a debug version?
>>> 
>>> Either way, I don't think TLF will get out to 25fps.  I'd suggest 
>>> doing a simple test to see if TextField really can do RTL (text 
>>> starting from the right edge) or just knows how to place characters 
>>> in a string based on some positioning information.
>>> 
>>> -Alex
>>> 
>>> On 3/24/14 1:46 PM, "Maurice Amsellem" <maurice.amsel...@systar.com>
>>> wrote:
>>> 
>>>> I just did a quick test to compare TLF and TextField on mobile.
>>>> Basically, replaced StyleableTextField cell renderer on MobileGrid 
>>>> by spark Label-based renderer.
>>>> 
>>>> Test results:
>>>> - iPad 3 (retina)
>>>> - "slow" iOS packaging , GPU rendering
>>>> - Mobile grid with 4 columns of text, and 200 rows
>>>> 
>>>> StyleableTextField => 25 fps when scrolling Spark Label => 1 to 3 
>>>> fps when scrolling ( UI is very slow, almost frozen).
>>>> 
>>>> So of course mobile grid displays a lot of text, including 
>>>> multi-line, but that's where performance is needed, not on button and 
>>>> titles, IMO.
>>>> I could also have used TextLine, but it does not support multi-line, 
>>>> which TextField does, so it's not equivalent.
>>>> 
>>>> So for me, spark Label is not good enough on mobile, even on recent 
>>>> devices.
>>>> I will explore the other track (RTL using TextField).
>>>> 
>>>> What do you think?
>>>> 
>>>> Maurice
>>>> 
>>>> -----Message d'origine-----
>>>> De : Maurice Amsellem [mailto:maurice.amsel...@systar.com]
>>>> Envoyé : lundi 24 mars 2014 11:19
>>>> À : dev@flex.apache.org
>>>> Objet : RE: RTL support in mobile apps
>>>> 
>>>> Hi Carlos,
>>>> 
>>>> 1) It's not proven yet that TLF is "fast enough" on mobile, 
>>>> especially when there are lots of text to display, such as in lists of 
>>>> datagrid.
>>>> Plus I have discovered that the "old" TextField is actually capable 
>>>> to display RTL , but the Flex positioning is broken, so the text 
>>>> does not appear (probably because it was not supposed to work that way).
>>>> So IMO, the question is still open, and I won't rush into replacing 
>>>> TextField by TLF on mobile.
>>>> It would be probably much simpler to fix the layout.
>>>> 
>>>>> Right now we need to deal in different ways with TextInput in 
>>>>> mobile and browser and this defeat the "code once run everywhere".
>>>> What do you mean?  From the SDK developer standpoint, or from the 
>>>> end-user developer stand point ?
>>>> From the SDK standpoint, the difference is only on the skin, the 'host'
>>>> component is the same.
>>>> From the end-user developer, you must use TextInput in both cases, 
>>>> so where's the difference ?
>>>> The behavior is different, but that's inherent to mobile vs desktop (eg.
>>>> you don't have softkeyboard or restricted keyboards on desktop).
>>>> 
>>>> Please explain
>>>> 
>>>> Maurice
>>>> -----Message d'origine-----
>>>> De : carlos.rov...@gmail.com [mailto:carlos.rov...@gmail.com] De la 
>>>> part de Carlos Rovira Envoyé : lundi 24 mars 2014 10:54 À :
>>>> dev@flex.apache.org Objet : Re: RTL support in mobile apps
>>>> 
>>>> Hi,
>>>> 
>>>> if there are plans to introduce TLF on mobile TextInput this will 
>>>> change my priorities about change the internals of MaskedTextInput 
>>>> component and will only make it to preserve slot positions.
>>>> 
>>>> IMO, if now TLF give us a good performance in mobile this days it 
>>>> will be very useful to make it happen since this will be more 
>>>> aligned to the Flex philosophy. Right now we need to deal in 
>>>> different ways with TextInput in mobile and browser and this defeat 
>>>> the "code once run
>>> everywhere".
>>>> 
>>>> So +1 to TLF support on mobile is performance is good! :)
>>>> 
>>>> Please let me know if that's are the plans.
>>>> 
>>>> Thanks!
>>>> 
>>>> Carlos
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 2014-03-23 21:08 GMT+01:00 Maurice Amsellem 
>>>> <maurice.amsel...@systar.com
>>>> :
>>>> 
>>>>> Found a number of tickets on this topic:
>>>>> 
>>>>> https://issues.apache.org/jira/browse/FLEX-26365  (closed as
>>>>> "later")
>>>>> https://issues.apache.org/jira/browse/FLEX-34145 (closed)
>>>>> https://issues.apache.org/jira/browse/FLEX-34181 (In progress)
>>>>> https://issues.apache.org/jira/browse/FLEX-33750 (open)
>>>>> https://issues.apache.org/jira/browse/FLEX-28107 (later)
>>>>> https://issues.apache.org/jira/browse/FLEX-28103 (later)
>>>>> https://issues.apache.org/jira/browse/FLEX-26169 (later)
>>>>> https://issues.apache.org/jira/browse/FLEX-24502 (later)
>>>>> 
>>>>> Maurice
>>>>> 
>>>>> 
>>>>> -----Message d'origine-----
>>>>> De : Maurice Amsellem [mailto:maurice.amsel...@systar.com]
>>>>> Envoyé : samedi 22 mars 2014 01:14
>>>>> À : dev@flex.apache.org
>>>>> Objet : RE: RTL support in mobile apps
>>>>> 
>>>>> Yes, that might me the answer: so I need to "cancel" the flipping 
>>>>> like I did for StageText (and like is done in spark Label).
>>>>> I will try this tomorrow.
>>>>> 
>>>>> Still does not explain why TextField accepts bidi text now ?
>>>>> 
>>>>> Maurice
>>>>> 
>>>>> -----Message d'origine-----
>>>>> De : Alex Harui [mailto:aha...@adobe.com] Envoyé : samedi 22 mars
>>>>> 2014
>>>>> 01:09 À : dev@flex.apache.org Objet : Re: RTL support in mobile 
>>>>> apps
>>>>> 
>>>>> Again, I was not highly involved in this code, but IIRC, the 
>>>>> TextLines are never flipped, so if you choose a flipped 
>>>>> layoutDirection the TextLines are re-flipped.  But if you start 
>>>>> flipping TextFields without embedded text they go blank.
>>>>> 
>>>>> Does that explain what you're seeing?
>>>>> 
>>>>> -Alex
>>>>> 
>>>>> On 3/21/14 5:00 PM, "Maurice Amsellem" 
>>>>> <maurice.amsel...@systar.com>
>>>>> wrote:
>>>>> 
>>>>>> Thanks Alex.  That was also my understanding.
>>>>>> 
>>>>>> Regarding TextInput / TextArea, there is no issue with regard to 
>>>>>> RTL in using StageText ( embedded in StyleableStageText or
>>>>> ScrollableStageText) .
>>>>>> 
>>>>>> Now something strange that gets me puzzled.
>>>>>> 
>>>>>> I did some experiments with mobile components that use TextField 
>>>>>> (actually StyleableTextField) and I managed to displayed 
>>>>>> Arabic/Hebrew (list , titles and nav bar)
>>>>>> 
>>>>>> https://www.dropbox.com/s/4e4untcp3f4jeb2/List_arabic_LTR.png
>>>>>> 
>>>>>> But this works only if the surrounding View or the application 
>>>>>> layoutDirection is set to "ltr".
>>>>>> And indeed, you notice that the text is RTL but the layout is 
>>>>>> still
>>>>> LTR.
>>>>>> 
>>>>>> Now, if I set layoutDirection to RTL either at the Application or 
>>>>>> View , then everything disappears:
>>>>>> 
>>>>>> https://www.dropbox.com/s/jzu1veecjm64m51/list_Arabic_RTL.png
>>>>>> 
>>>>>> 
>>>>>> I thought that layoutDirection = RTL was "merely" applying a 
>>>>>> mirroring transform to the display.
>>>>>> 
>>>>>> I am confused.
>>>>>> 
>>>>>> Maurice
>>>>>> 
>>>>>> -----Message d'origine-----
>>>>>> De : Alex Harui [mailto:aha...@adobe.com] Envoyé : samedi 22 mars
>>>>>> 2014
>>>>>> 00:44 À : dev@flex.apache.org Objet : Re: RTL support in mobile 
>>>>>> apps
>>>>>> 
>>>>>> I wasn't on the mobile components team (I did some mobile work but 
>>>>>> mostly worked on other SDK stuff), but fundamentally, if there's a 
>>>>>> TextField involved, then there is no RTL support.  You need 
>>>>>> TextLines for RTL.  You may be able to swap in the "desktop" skins 
>>>>>> for TextInput/TextArea and pay the performance and memory hit to 
>>>>>> get RTL text, but then I'm not sure how well StageText will work 
>>>>>> with that, if at all.  Essentially, the mobile team traded off RTL 
>>>>>> support for better performance.  Now, that was several years ago 
>>>>>> and phones and tablets are faster, so it might be worth revisiting 
>>>>>> that
>>> decision.
>>>>>> 
>>>>>> -Alex
>>>>>> 
>>>>>> On 3/21/14 3:41 PM, "Maurice Amsellem" 
>>>>>> <maurice.amsel...@systar.com>
>>>>>> wrote:
>>>>>> 
>>>>>>> Hi Team,
>>>>>>> 
>>>>>>> Ori Segal has reported a problem in TextInput default skin with 
>>>>>>> RTL (Hebrew, arabic) layout.
>>>>>>> I have fixed this problem.
>>>>>>> 
>>>>>>> Now he has reported a problem in TextInput "prompt" text not 
>>>>>>> being displayed in RTL.
>>>>>>> 
>>>>>>> So I did a small test: set layoutDirection="rtl" to a sample 
>>>>>>> mobile app (with buttons, mobilegrid, etc..) and almost every 
>>>>>>> text
>>>>> disappeared.
>>>>>>> 
>>>>>>> The only texts that seem to be displayed correctly are:
>>>>>>> - TextInput / TextArea with the default text (that is using 
>>>>>>> native
>>>>>>> StageText)
>>>>>>> - spark Label, that is using TextLine (and the new FTE/TLF engine).
>>>>>>> Everything else, that uses the mobile-optimized 
>>>>>>> StyleableTextField, will not display RTL (apparently because it's 
>>>>>>> based on the old TextField engine).
>>>>>>> 
>>>>>>> Reading the articles below, it seems clear enough that RTL is NOT 
>>>>>>> supported on AIR mobile (with a few exceptions):
>>>>>>> 
>>>>>>> http://sourceforge.net/adobe/flexsdk/wiki/Mobile%20Text%20Compone
>>>>>>> nt
>>>>>>> s
>>>>>>> /
>>>>>>> http://help.adobe.com/en_US/flex/using/WS02f7d8d4857b1677-165a04e
>>>>>>> 11
>>>>>>> 2
>>>>>>> 69
>>>>>>> 5
>>>>>>> 1a2
>>>>>>> d98-7ffe.html
>>>>>>> http://help.adobe.com/en_US/flex/using/WS02f7d8d4857b1677-165a04e
>>>>>>> 11
>>>>>>> 2
>>>>>>> 69
>>>>>>> 5
>>>>>>> 1a2
>>>>>>> d98-7ffd.html
>>>>>>> 
>>>>>>> Alex, as you seem to have been involved in that, do you confirm?
>>>>>>> 
>>>>>>> Something else:
>>>>>>> The first article says:
>>>>>>> " Primarily for performance reasons and support for native 
>>>>>>> predictive text input and editing, mobile will use 
>>>>>>> TextField-based text in all critical areas. This is expected to 
>>>>>>> be a short-term solution until a performant version of FTE arrives on 
>>>>>>> mobile."
>>>>>>> 
>>>>>>> So has FTE been optimized for mobile since the article was 
>>>>>>> written , for example in AIR 4.0?
>>>>>>> 
>>>>>>> 
>>>>>>> Thanks
>>>>>>> 
>>>>>>> Maurice
>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> --
>>>> Carlos Rovira
>>>> Director de Tecnología
>>>> M: +34 607 22 60 05
>>>> F:  +34 912 94 80 80
>>>> http://www.codeoscopic.com
>>>> http://www.directwriter.es
>>>> http://www.avant2.es
>>> 
>>> 
> 

Reply via email to