Re: [flexcoders] Manual TextFlow + Embedded Font not supported?
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=embeddedCFFspanSome 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
Re: [flexcoders] Manual TextFlow + Embedded Font not supported?
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=embeddedCFFspanSome 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
Re: [flexcoders] Manual TextFlow + Embedded Font not supported?
Which version do want it to work in? On 10/26/11 1:44 PM, Baz 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 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 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 xmlns:mx=library://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=embeddedCFFspanSome 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
Re: [flexcoders] Manual TextFlow + Embedded Font not supported?
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 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 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 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 xmlns:mx=library://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=embeddedCFFspanSome 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
Re: [flexcoders] Manual TextFlow + Embedded Font not supported?
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=embeddedCFFspanSome 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.
Re: [flexcoders] Manual TextFlow + Embedded Font not supported?
Hey Alex, I'm using TLF 1.1 Build 604 that I think comes bundled with 4.1 - you? Baz On Wed, Oct 26, 2011 at 9:42 PM, Alex Harui aha...@adobe.com wrote: ** 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=embeddedCFFspanSome 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
Re: [flexcoders] Manual TextFlow + Embedded Font not supported?
Yeah, same for me. Which player version? On 10/26/11 10:06 PM, Baz li...@thinkloop.com wrote: Hey Alex, I'm using TLF 1.1 Build 604 that I think comes bundled with 4.1 - you? Baz On Wed, Oct 26, 2011 at 9:42 PM, Alex Harui aha...@adobe.com wrote: 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 http://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 http://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 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 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 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 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 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 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 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=embeddedCFFspanSome content/span/p; protected function application1_initializeHandler(event:FlexEvent):void { var textFlow:TextFlow = TextFlowUtil.importFromXML(embeddedFontMarkup);
Re: [flexcoders] Manual TextFlow + Embedded Font not supported?
Version 10.3.183.10 - u? :) So what exactly worked for you, the initial app I pasted or the one I provided a link for later? Thanks, Baz
Re: [flexcoders] Manual TextFlow + Embedded Font not supported?
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=embeddedCFFspanSome 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
Re: [flexcoders] Manual TextFlow + Embedded Font not supported?
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=embeddedCFFspanSome 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