Actually what Alex mentioned is correct too - I need to change the linkage
to "merged into codes well as upgrade to 4.5.1.

Baz



On Wed, Oct 26, 2011 at 1:40 PM, Baz <li...@thinkloop.com> wrote:

> My examples work in Flex 4.5.1, and monkey patching is not straightforward
> based on my Googling. Looks like no way out without upgrading.
>
> Baz
>
>
> On Tue, Oct 25, 2011 at 12:37 PM, Baz <li...@thinkloop.com> wrote:
>
>> Hey Alex,
>>
>> I tried changing "Framework Linkage" to "Merged into Code" as well as
>> checking/unchecking "use local debug runtimes..." without much effect. I'm
>> reading your blog and piecing out what might apply to me. It's pretty
>> advanced stuff. The thing is the font is there - if I specify it directly in
>> RichEditableText it shows up. What is the container doing to TextFlow that I
>> am not, and how can I mimic that. I've introspected almost every property
>> and function of TextFlow, FlowComposer, ContainerController, TextFlowLine
>> and TextLine (I've been on this for many days now :). Judging by the output
>> of textFlowLine.getTextLine().textBlock.dump(), TLF is just not
>> aware/registering the font until after the container is rendered.
>>
>> If you are curious to see it work and fail side-by-side in a simplified
>> compilable app, check out: http://dl.dropbox.com/u/480077/FlexTestTLF.zip
>>
>> If you run it, you will notice 4 RichEditableTextContainers. The first two
>> use device fonts (Courier and Arial), and they are interpreted correctly.
>> The trace of the dump() in the console shows this nicely. The third box, in
>> red, is the problem. This box tries to employ an embeded font before the
>> container is rendered, and if you look at the trace, it's not accepting the
>> font and instead using the default Times New Roman. The fourth box is
>> exactly the same as the third box, but solves the problem by applying the
>> truncation at updateComplete, rather than on initialize. The trace shows the
>> font to be correct as well.
>>
>>  Do you think all this is related to contexts and multiple swfs as you
>> describe in your blog?
>>
>> Thanks!
>>
>>
>> What do you make of this? Is there a way to mimic what happens to textFlow
>> on updateComplete but inside initialize?
>>
>> On Tue, Oct 25, 2011 at 10:02 AM, Alex Harui <aha...@adobe.com> wrote:
>>
>>> **
>>>
>>>
>>> See the embedded font post on my blog.  The control  needs to have the
>>> right SWF context.  Does it work if you turn off RSLs?
>>>
>>>
>>>
>>> On 10/25/11 3:01 AM, "Baz" <li...@thinkloop.com> wrote:
>>>
>>>
>>>
>>>
>>>
>>>
>>> Hello,
>>>
>>> Anyone have any idea why the embedded font in the following basic
>>> application does not show up?
>>>
>>> <?xml version="1.0" encoding="utf-8"?>
>>>
>>> <s:Application
>>>
>>>           xmlns:fx="http://ns.adobe.com/mxml/2009";
>>>
>>>           xmlns:s="library://ns.adobe.com/flex/spark <
>>> http://ns.adobe.com/flex/spark> "
>>>
>>>           xmlns:mx="library://ns.adobe.com/flex/mx <
>>> http://ns.adobe.com/flex/mx> "
>>>
>>>           creationComplete="application1_initializeHandler(event)"
>>>
>>>           minWidth="955" minHeight="600">
>>>
>>>
>>>
>>>           <fx:Script>
>>>
>>>                     <![CDATA[
>>>
>>>                               import flash.text.engine.FontLookup;
>>>
>>>                               import flashx.textLayout.elements.TextFlow;
>>>
>>>                               import mx.events.FlexEvent;
>>>
>>>                               import spark.utils.TextFlowUtil;
>>>
>>>
>>>
>>>                               [Embed(source="ZemkeHandITCTT.ttf",
>>> fontFamily="zem", embedAsCFF="true", fontWeight="normal",
>>> mimeType="application/x-font")]
>>>
>>>                               public const zem_embed_class:Class;
>>>
>>>
>>>
>>>                               protected var embeddedFontMarkup:XML =  <p
>>> fontFamily="zem" fontLookup="embeddedCFF"><span>Some content</span></p>;
>>>
>>>
>>>
>>>                               protected function
>>> application1_initializeHandler(event:FlexEvent):void          {
>>>
>>>                                         var textFlow:TextFlow =
>>> TextFlowUtil.importFromXML(embeddedFontMarkup);
>>>
>>>                                         textFlow.fontFamily = 'zem';
>>>
>>>                                         textFlow.fontLookup =
>>> FontLookup.EMBEDDED_CFF;
>>>
>>>                                         one.textFlow = textFlow;
>>>
>>>                               }
>>>
>>>                     ]]>
>>>
>>>           </fx:Script>
>>>
>>>
>>>
>>>           <s:RichEditableText id="one" width="500" height="204"
>>> renderingMode="cff" fontLookup="embeddedCFF" />
>>>
>>> </s:Application>
>>>
>>>
>>>
>>> I know the font works because if I specify *any* embedded font directly
>>> in the RichEditableText, the specified embedded fonts shows up.
>>>
>>>
>>>
>>> Thanks,
>>>
>>> Baz
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Alex Harui
>>> Flex SDK Team
>>> Adobe System, Inc.
>>> http://blogs.adobe.com/aharui
>>>
>>>  
>>>
>>
>>
>

Reply via email to