For me, the font looks right although the console reports Times New Roman.  
Which version of TLF are you using?


On 10/26/11 5:41 PM, "Baz" <li...@thinkloop.com> wrote:






We're on 4.1.

Cheers,
Baz


On Wed, Oct 26, 2011 at 2:56 PM, Alex Harui <aha...@adobe.com> wrote:





Which version do want it to work in?




On 10/26/11 1:44 PM, "Baz" <li...@thinkloop.com <http://li...@thinkloop.com> > 
wrote:






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 
<http://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 
<http://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 
<http://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 <http://li...@thinkloop.com>  
<http://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>  <http://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> 
 <http://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