Embedding font in app

Hi,
I'm using LTC Bodoni (via TypeKit) on my website and now I'm working on my digital portfolio: basically HTMl5+CSS, packed with Baker Framework to be published on Apple Store.
I would use the font with @font-face.
I'm wondering if the licence of Bauer Bodoni allows this kind of use.
I want ot be sure before buying the font...
On Bauer Bodoni webpage (http://store2.adobe.com/cfusion/store/html/index.cfm?store=OLS-IT&event=displayFontPackage &code=1294) Embedding licence is set to Editable for this font: so I could embed the font in a digital document and "the embedded font can then be used by the recipient of the electronic document to view, print and further edit or modify the text and structure of the document in which it is embedded."
Using a font inside an app is a little bit different: my final file is not a real document, it's an app. But the recipient (final user) will not be able to modify the document or use the font in no way, because it will be embedded inside the app.
Does someone have any idea?
Does licence cover use inside app or not?
Thanks!
maurizio

ilpiac,
You may try a search for embedding font in this forum and in other forums, such as these:
http://forums.adobe.com/community/design_development/printdesign?view=discussions
http://forums.adobe.com/community/design_development/design?view=discussions
http://forums.adobe.com/community/design_development/webdesign?view=discussions
You may also narrow the search to Dov Isaacs, or hope that he will see and post in this thread (soon).

Similar Messages

  • Fonts not embedding for iOS app in App Store

    Hi all,
    I'm having an issue using embedded fonts. Currently, I use 6 or so font files throughout my app. These fonts all display properly in the AIR simulator, as well as developer builds installed on the actual device. The problem comes about when I make actual builds for the App Store. The only thing I'm changing is the provisioning file and certificate, and yet none of these fonts display correctly. It looks like it's defaulting to Arial or something, like when you set embedAsCFF incorrectly.
    I'm currently waiting on a build to be approved where I can switch between two versions of the fonts, one as embedAsCFF=true, the other as embedAsCFF=false.
    Because the stock SDK wasn't working, I'm using Apache Flex 4.11 SDK, with AIR 13 beta and I'm SURE that I installed the Font Embedding tools with the SDK. I just realized while writing this post that Flex 4.12 is now available, so I'll try to download and make a build with that.
    Does anyone have any idea why these fonts would be missing when going from the developer build to the App Store build? The intensely frusterating thing about this is that everything will work in the test builds, and a week later when my update makes it to the app store it isn't working and I have to wait another week to try to fix it.

    Don't worry it's not your device.  A lot of people using IO5 are having this problem for the past 6 hours.  Apple should address it soon.  If you need to search for apps you can either google the name of app in Safari and click on the link.  This should open the app in the App Store.  Other work around is if you have a program like AppShopper it will let you do a search that opens the App in the App Store. 

  • Embedded fonts not displaying in Preview.app

    I occasionally get PDF documents with embedded fonts in them. They look fine in Adobe Acrobat, but opening them in Preview.app makes the system fall back to some ugly default font.
    I keep a copy of Acrobat reader laying around pretty much only so I can open these files. This behavior is consistent across computers and has been occurring on OSX for ages. I can provide an example PDF is anyone who knows about these things would like to take a look at it.
    Any thoughts on the matter?

    Check out this thread:
    http://discussions.apple.com/click.jspa?searchID=4541194&messageID=5729015

  • Unable to load embedded fonts in TlF / FlowLeafElement

    dears,
    I use TextFlowUtil.importFromString and FlowLeafElement to make each some text have its own style, every some words have diffirent color, fontFamily, fontSize....etc
    that is done here in the text attribute in this xml tag, and TextFlowUtil.importFromString and FlowLeafElement make taht perfect:
    <TextArea text="&lt;div direction=&quot;rtl&quot;&gt;&#xD;&#xA;  &lt;p textAlign=&quot;right&quot;&gt;&#xD;&#xA;    &lt;span fontFamily=&quot;ttf&quot; fontSize=&quot;16&quot; color=&quot;#FFE000E0&quot; &gt;Welcome to Android Training. Here you'll find a collection of classes that aim to help you build great apps for &lt;/span&gt;&#xD;&#xA;    &lt;span fontFamily=&quot;Arial&quot; fontSize=&quot;16&quot; color=&quot;#FFE000E0&quot; &gt;Android, using best practices in a variety of framework topics.&lt;/span&gt;&#xD;&#xA;  &lt;/p&gt;&#xD;&#xA;  &lt;p&gt;&lt;/p&gt;&#xD;&#xA;  &lt;p textAlign=&quot;right&quot;&gt;&#xD;&#xA;    &lt;span fontFamily=&quot;Arial&quot; fontSize=&quot;16&quot; color=&quot;#FFE00000&quot;&gt;Each class explains the steps required to solve a problem or implement a feature using code snippets and &lt;/span&gt;&#xD;&#xA;    &lt;span fontFamily=&quot;Arial&quot; fontSize=&quot;16&quot; color=&quot;#FFE00000&quot;&gt;sample code for you to use in your apps.&lt;/span&gt;&#xD;&#xA;  &lt;/p&gt;&#xD;&#xA;  &lt;p&gt;&lt;/p&gt;&#xD;&#xA;  &lt;p textAlign=&quot;right&quot;&gt;&#xD;&#xA;    &lt;span fontFamily=&quot;Arial&quot; fontSize=&quot;16&quot; color=&quot;#FF00E000&quot;&gt;What you see now is just the beginning. We plan to add many more classes, expand and refine existing &lt;/span&gt;&#xD;&#xA;    &lt;span fontFamily=&quot;Arial&quot; fontSize=&quot;16&quot; color=&quot;#FF00E000&quot;&gt;classes, and build Training Courses that help you enhance your apps using objective-oriented collections of &lt;/span&gt;&#xD;&#xA;    &lt;span fontFamily=&quot;Arial&quot; fontSize=&quot;16&quot; color=&quot;#FF00E000&quot;&gt;classes.&lt;/span&gt;&#xD;&#xA;  &lt;/p&gt;&#xD;&#xA;&lt;/div&gt;" direction="rtl" styleName=".textAreaTitle" editable="false" selectable="true" scrollable="false" mainReferance="UI.Components.Basics.TextArea" />
    The problem is that i need to embed fonts, by this fontFamily=&quot;Arial&quot; you can set font name which you want, but if i set font name which is embedded it won't work, like : fontFamily=&quot;ttf&quot;
    the embedded code is :
    [Embed(source='/Resources/majallab.ttf',fontName='ttf',mimeType='application/x-font',embed AsCFF='true')]
                                            var font1:Class; //This is only used to compile the code
    I use Flex SDK 4.5,
    what can i do ?
    Thank you in advance,
    amt

    To use embedded fonts in a Flex component, the fontFamily for the component needs to be set to an embedded font that is in the same SWF as the other embedded fonts in the TextFlow.  See my blog for more details
    Alex Harui
    Flex SDK Team
    Adobe Systems, Inc.
    http://blogs.adobe.com/aharui

  • Module not unloading if embedded font was ever used

    So, I have a test app that uses modules with the font embeded. Using ModuleManager I am able to load up the module. Once I call   IModuleInfo.factory.create(), I am then able to setStyle("fontFamily", "BPDiet") and the font does show up. The issue I am now having is that once I have used a font from a module, even if my TextArea is no longer using it (I even tried removing the textArea, and replacing it with a new one), the module will not unload.
    I read through this "What We Know About Unloading Modules" and I think I am not leaving any references around.They are loaded using the load() defaults. There is no code (that is used) in the module. The modules are not being added to the display, so they never receive focus.
    Note that I am unable to run the profiler as suggested in the article as I don't have the premium Flash Builder 4. <grrr>
    Note that the first module that is loaded, I can never get to unload, even if I never used the font embedded in it, but all subsequent modules will unload, if I do not use the embedded font. I can live with the first one being pinned as long as I can unload the others that are not in use.
    Here is the code from one of my modules:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx">
        <fx:Script>
            <![CDATA[
                import spark.components.TextArea;
                [Embed(source='assets/BPDiet.otf',
                        fontName='BPDiet',
                           mimeType='application/x-font')]
                public static var BPDietNormal:Class;
                public function GetSampleTextArea():TextArea {
                    var SampleTextArea:TextArea = new TextArea();
                    SampleTextArea.text = "Test BPDiet please!";
                    SampleTextArea.setStyle("fontFamily", 'BPDiet');
                    return SampleTextArea;           
            ]]>
        </fx:Script>
    </mx:Module>
    And here is the App that is loading and using the modules:
    <?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"
                   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="400" minHeight="400">
        <fx:Script>
            <![CDATA[
                import mx.collections.ArrayCollection;
                import mx.core.UIComponent;
                import mx.events.FlexEvent;
                import mx.events.ModuleEvent;
                import mx.managers.SystemManager;
                import mx.modules.IModule;
                import mx.modules.IModuleInfo;
                import mx.modules.Module;
                import mx.modules.ModuleManager;
                import spark.components.TextArea;
                private var _ta:TextArea = null;
                protected var _moduleInfo:IModuleInfo;
                private function LoadFontTextArea(fontSwf:String):void {
                    status.text = "Loading the font pack";
                    _moduleInfo = ModuleManager.getModule(fontSwf);
                    // add some listeners
                    _moduleInfo.addEventListener(ModuleEvent.READY, onModuleReady);
                    _moduleInfo.addEventListener(ModuleEvent.ERROR, moduleLoadErrorHandler);
                    _moduleInfo.addEventListener(ModuleEvent.UNLOAD, moduleUnloadHandler);
                    _moduleInfo.load();
                private function onModuleReady(event:ModuleEvent):void {
                    status.text = "The font pack swf Ready \n" + event.module.url;
                    //All I had todo was create the module, then I could access the embeded font by name
                    var fontMod:* = event.module.factory.create();
                    //_ta = fontMod.GetSampleTextArea();
                    //panelToStuff.addElement(_ta);
                    fontMod = null;
                    //fontNameForSample = event.module.url.replace(".swf", "");
                private function moduleLoadErrorHandler(event:ModuleEvent):void {
                    status.text = "Font Module Load Error. \n" +
                        event.module.url + "\n"+ event.errorText;
                private function moduleUnloadHandler(event:ModuleEvent):void {
                    status.text = "Font Module Unload Event. \n" + event.module.url;
                private function fontChangedHandler():void {
                    unloadCurrentFont();
                    LoadFontTextArea(String(availFonts.selectedItem));
                private function unloadCurrentFont():void {
                    if (_ta != null) {
                        panelToStuff.removeElement(_ta);
                        _ta = null;
                    panelToStuff.removeElement(sampleTextArea);
                    sampleTextArea = null;
                    sampleTextArea = new TextArea();
                    sampleTextArea.id = "sampleTextArea";
                    sampleTextArea.text = "Some text for your viewing pleasure. " + colorForBK.toString(16);
                    panelToStuff.addElement(sampleTextArea);               
                    if (_moduleInfo != null)
                        _moduleInfo.release();
                        //_moduleInfo.unload();
                        _moduleInfo = null;
                    System.gc();
                private function DoNonImportantWork():void {
                    colorForBK -= 0xFAA;
                    if (colorForBK < 0x0) colorForBK = 0xFFFFFF;
                    var foo:* = {prop1: "yea" + colorForBK.toString(), prop2:"boo" + colorForBK.toString()};
                    var hmm:String = foo.prop1 + " " + foo.prop2;
                    regedFonts = new ArrayCollection(Font.enumerateFonts(false));
                [Bindable]
                private var colorForBK:int = 0xFFFFFF;
                [Bindable]
                private var fonts:ArrayCollection =
                    new ArrayCollection(new Array("AlexandriaFLF.swf", "BPDiet.swf", "ChanpagneFont.swf", "KidsFont.swf"));
                [Bindable]
                private var regedFonts:ArrayCollection;
                [Bindable]
                private var fontNameForSample:String = "";
            ]]>
        </fx:Script>
        <s:VGroup id="panelToStuff">
            <s:HGroup>
                <s:Label id="status" text="status area" backgroundColor="{colorForBK}"/>
                <s:VGroup>
                    <s:DropDownList id="availFonts" dataProvider="{fonts}" change="fontChangedHandler()" />
                    <s:Button label="UnLoad" enabled="true" click="unloadCurrentFont()"/>
                    <s:Button label="doSome" enabled="true" click="DoNonImportantWork()"/>
                </s:VGroup>
            </s:HGroup>
            <s:HGroup>
                <s:Button click="fontNameForSample = 'BPDiet';" label="BPDiet"/>
                <s:Button click="fontNameForSample = 'Champagne';" label="Champagne"/>
                <s:Button click="fontNameForSample = 'Kids';" label="Kids"/>
            </s:HGroup>
            <s:Label text="{regedFonts.length} reg'ed"/>
            <s:TextArea id="sampleTextArea" fontFamily="{fontNameForSample}" text="Some Sample text for your viewing"/>
        </s:VGroup>
    </s:Application>
    A couple things to note; I am calling System.rc() in the unloadCurrentFont() method just to speed up seeing the SWF unload in the debug console. The DoNonImportantWork() is there to just cause some events to happen and to create some objects that will need to be GC'ed. It also let me know that the fonts are not getting registered in Font.
    I'm going to have 30 fonts (and more, that designer is busy) that I will need to be able to dynamically load, but right now, loading them with CSS style modules blows up after about 15 because style modules register the font so I cannot unload the CSS swf.

    To help eliminate the question of whether the TextArea is being held by something else, I have removed it from the MXML, and now programatically create it. That did not help.
    So, I got the trial version of Flash Builder 4 installed on another machine in the office so that I can use the profiler. (The profiler is pretty cool by the way).
    After a lot of profiing, I found four paths to the module's FlexModuleFactory.
    Two of those paths go to EmbeddedFontRegistry, whose data is static. I could get into it and remove font entry and free up the moduleFactory from there. This is a hack, that entry in/on EmbeddedFontRegistry.font should have been cleaned up by the code removing the fontFamily from the TextArea. (Note that EmbeddedFontRegistry is marked [ExcludeClass], which I assume means I should not really be messing with it.
    The other two I cannot get to as they are anonymous. They also don't appear to be referenced, as the Object References shows them both as GC root objects. Here is a screen shot:
    I did a search through the sdk code and 'fbs' only shows up as a parameter on the init function of various Marshal support classes, but is not used in the init()
    Anyway, these references to the FlexModuleFactory do not get held if I do not use the embeded font in the module.
    Here is the updated code:
    <?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"
                   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="400" minHeight="400">
        <fx:Script>
            <![CDATA[
                import mx.collections.ArrayCollection;
                import mx.core.EmbeddedFont;
                import mx.core.EmbeddedFontRegistry;
                import mx.core.IEmbeddedFontRegistry;
                import mx.core.UIComponent;
                import mx.events.FlexEvent;
                import mx.events.ModuleEvent;
                import mx.managers.SystemManager;
                import mx.modules.IModule;
                import mx.modules.IModuleInfo;
                import mx.modules.Module;
                import mx.modules.ModuleManager;
                import spark.components.TextArea;
                private var _ta:TextArea = null;
                protected var _moduleInfo:IModuleInfo;
                private function LoadFontTextArea(fontSwf:String):void {
                    status.text = "Loading the font pack";
                    _moduleInfo = ModuleManager.getModule(fontSwf);
                    // add some listeners
                    _moduleInfo.addEventListener(ModuleEvent.READY, onModuleReady);
                    _moduleInfo.addEventListener(ModuleEvent.ERROR, moduleLoadErrorHandler);
                    _moduleInfo.addEventListener(ModuleEvent.UNLOAD, moduleUnloadHandler);
                    _moduleInfo.load();
                private function onModuleReady(event:ModuleEvent):void {
                    status.text = "The font pack swf Ready \n" + event.module.url;
                    //All I had todo was create the module, then I could access the embeded font by name
                    var fontMod:* = event.module.factory.create();
                    fontMod = null;
                private function moduleLoadErrorHandler(event:ModuleEvent):void {
                    status.text = "Font Module Load Error. \n" +
                        event.module.url + "\n"+ event.errorText;
                private function moduleUnloadHandler(event:ModuleEvent):void {
                    status.text = "Font Module Unload Event. \n" + event.module.url;
                private function fontChangedHandler():void {
                    unloadCurrentFont();
                    LoadFontTextArea(String(availFonts.selectedItem));
                private function unloadCurrentFont():void {
                    if (_ta != null && _moduleInfo != null) {
                        var fontName:String = _ta.getStyle("fontFamily");
                        _ta.setStyle("fontFamily", "");
                        _ta.validateProperties();
                        if (_ta.textDisplay) {
                            _ta.textDisplay.validateProperties();
                        panelToStuff.removeElement(_ta);               
                        _ta = null;
                        //This I should not have to do, but the framework is not doing it
                        var embFontReg:IEmbeddedFontRegistry = EmbeddedFontRegistry.getInstance();
                        var embFonts:Array = embFontReg.getFonts();
                        for each (var curEmbFont:EmbeddedFont in embFonts){
                            if (curEmbFont.fontName == fontName){
                                embFontReg.deregisterFont(curEmbFont, _moduleInfo.factory);
                    if (_moduleInfo != null)
                        _moduleInfo.unload();
                        _moduleInfo = null;
                    System.gc();
                private function AddTA():void {
                    _ta = new TextArea();
                    _ta.text = "Some text for your viewing pleasure. " + colorForBK.toString(16);
                    panelToStuff.addElement(_ta);
                private function DoNonImportantWork():void {
                    colorForBK -= 0xFAA;
                    if (colorForBK < 0x0) colorForBK = 0xFFFFFF;
                    var foo:* = {prop1: "yea" + colorForBK.toString(), prop2:"boo" + colorForBK.toString()};
                    var hmm:String = foo.prop1 + " " + foo.prop2;
                [Bindable]
                private var colorForBK:int = 0xFFFFFF;
                [Bindable]
                private var fonts:ArrayCollection =
                    new ArrayCollection(new Array("AlexandriaFLF.swf", "BPDiet.swf", "ChanpagneFont.swf", "KidsFont.swf"));
            ]]>
        </fx:Script>
        <s:VGroup id="panelToStuff">
            <s:HGroup>
                <s:Label id="status" text="status area" backgroundColor="{colorForBK}"/>
                <s:VGroup>
                    <s:DropDownList id="availFonts" dataProvider="{fonts}" change="fontChangedHandler()" />
                    <s:Button label="UnLoad" enabled="true" click="unloadCurrentFont()"/>
                    <s:Button label="AddTA" enabled="true" click="AddTA()"/>
                    <s:Button label="doSome" enabled="true" click="DoNonImportantWork()"/>
                </s:VGroup>
            </s:HGroup>
            <s:Button click="_ta.setStyle('fontFamily', 'BPDiet');" label="BPDiet"/>
        </s:VGroup>
    </s:Application>
    I really think I've reached the end of what I can do. This really seems like a bug.

  • Embedding fonts in document

    I work for a Printing Display company. Illustrator CS3 allows you to embedd subset fonts only with permission bits available. The problem I'm having is some of our big customers do not want to send copies of the fonts they paid for. They save the file as a PDF with the fonts embedded so that they will view and print from either Acrobat or Reader. If I open the file in Illustrator I get a "Font missing" warning. What is the work around for this? The reason I need to open these files in a Graphics App is because we need to use our templates in order to edit colors and bleeds and such. Without the fonts it's pretty much useless. We could tell the customer to just outline all text but this is a hassle for all kinds of reasons. Would appreciate any help. Thanks.

    Paul,
    When you open a PDF in Illy, all text is made Live Type, using the same font. If it is not accessible on your machine, Illy substitutes another font based on her best guess for a best match.
    The option of having embedded fonts outlined and thereby turned into non (textwise) editable vector objects, very useful in many cases without need for modifying wording, has long been wished. I am afraid this wish has not been met yet; maybe it will happen in CS5, or later, or never.
    Those PDFs without issues only hold fonts that you have.
    I thought I remembered that there was a cunning roundabout way of obtaining this, and here it is, at least for versions from CS2 on:
    1) File>New to open a new blank document;
    2) File>Place the PDF, ticking the Link option;
    3) Object>Flatten Transparency, ticking Convert All Text to Outlines option if applicable (flattening causes outlining at least in 10).

  • Cannot extract the embedded font arial.Some char might not be displayed

    Hi Folks,
                  Our requirement is to generate the customer account statement for a set of cusomters during a particular period.
                         we  use a script to generate the statement and convert it to pdf.This pdf is then stored in the application server and retrived using cg3y transaction.The transaction allows the statement to be generated for multiple customers and company code.
    the problem that we face is that the first customer account statement is generated properly the rest of the statements are not displayed properly.When we open the customer account statement we get the error 'Cannot extract the embedded font arial.Some characters might not be displayed properly'.All the Headings that we of the font BOLD ARIAL were not displayed.
    This error does not occur for the first pdf file generated.(say we have 3 customers  for the 1st customer pdf is proper however for the next two error'.
                         When I checked the application server I found that the first file has font subtype as Type1 and then rest of the files have font subtype as Truetype.
    This is working fine.I downloaded the file to pc using cg3y.the pdf looks fine.                   
    Directory:  /home/nwfound/n_us_cas
    Name:       0010798791US13122009.PDF
    %PDF-1.3#
    2 0 obj#
    /WinAnsiEncoding#
    endobj#
    3 0 obj#
    <<#
    %Devtype SAPWIN   Font COURIER  normal Lang EN#
    /Type /Font#
    /Subtype /Type1#                       ****see here font subtype is type1
    /BaseFont /Courier#
    /Name /F001#
    /Encoding 2 0 R#
    >>#
    endobj#
    4 0 obj#
    <<#
    /Filter 5 0 R#
    /Length 6 0 R#
    /Length1 352224#
    >>#
    stream#
    This one is not working fine.Gives an error 'Cannot extract the embedded font arial.Some characters might not be displayed properly when downloaded to pc using cg3y.The heading that were of font ARIAL BOLD were not displayed.
    Directory:  /home/nwfound/n_us_cas
    Name:       0010000105US13062010.PDF
    %PDF-1.3#
    2 0 obj#
    /WinAnsiEncoding#
    endobj#
    3 0 obj#
    <<#
    %Devtype SAPWIN   Font COURIER  normal Lang EN#
    /Type /Font#
    /Subtype /TrueType#                - see here the subtype is True type.How can i change this?
    /BaseFont /Courier#
    /Name /F001#
    /Encoding 2 0 R#
    >>#
    endobj#
    4 0 obj#
    <<#
    /Filter 5 0 R#
    /Length 6 0 R#
    /Length1 352224#
    >>#
    I have to change the tont subtype to Type1 as in my first cust. statement.Is there a way to this???????
    There can be no problem with the code cause the account statement generated for first customer is perfect.
    Any suggestions will be appreciated.
    IF hotfdata[] IS NOT INITIAL.
    *Convert otf data to pdf lines.
        CALL FUNCTION 'CONVERT_OTF'
          EXPORTING
            format                = 'PDF'
          IMPORTING
            bin_filesize          = l_size
          TABLES
            otf                   = hotfdata
            lines                 = li_pdf_output
          EXCEPTIONS
            err_max_linewidth     = 1
            err_format            = 2
            err_conv_not_possible = 3
            err_bad_otf           = 4
            OTHERS                = 5.
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    *clear hotfdata otherwise next empty cust acc. statement may have
    *this data.
        REFRESH:hotfdata.
        CLEAR   hotfdata.
    *If account statement is generated then set w_flag to generate email.
        w_flag = 'X'.
    *The converted pdf lines are of char132 format.
    *They have to be converted to char255 format.
        LOOP AT li_pdf_output INTO lwa_pdf_output.
          TRANSLATE lwa_pdf_output USING ' ~'.
          CONCATENATE l_gd_buffer lwa_pdf_output INTO l_gd_buffer.
          CLEAR lwa_pdf_output.
        ENDLOOP.
        TRANSLATE l_gd_buffer USING '~ '.
        REFRESH li_mess_att.
        DO.
          li_mess_att = l_gd_buffer.
          APPEND li_mess_att.
          SHIFT l_gd_buffer LEFT BY 255 PLACES.
          IF l_gd_buffer IS INITIAL.
            EXIT.
          ENDIF.
        ENDDO.
        CLEAR   x_objcont.
        REFRESH x_objcont.
        LOOP AT li_mess_att.
          x_objcont = li_mess_att.
          APPEND x_objcont.
        ENDLOOP.
    *application file name
        CONCATENATE po_filun kna1-kunnr save_bukrs datum02+4(2)
                      datum02(4) lc_pdf INTO l_filename.
        CONDENSE l_filename NO-GAPS.
        CONCATENATE file l_filename INTO file.
        CONDENSE file NO-GAPS.
    *Transer pdf data to app. server.
        "data len type i.
        OPEN DATASET file FOR OUTPUT IN BINARY MODE.
        LOOP AT x_objcont.
          TRANSFER x_objcont TO file.
        ENDLOOP.
        CLOSE DATASET file.
      ELSE.
        REFRESH:hotfdata.
        CLEAR   hotfdata.
      ENDIF.

    Hi,
    this can be related to the compression of the PDF file.
    You can turn off the FlateDecode compression again via report RSTXPDF3 as described in Note #843480. It is a little confusing. The option 'FLATE_COMPR_OFF' needs to be set to 'On' to turn off the FlateDecode compression.
    To set this please run as follows:
    se38 -> RSTXPDF3 -> enter 'FLATE_COMPR_OFF' in the 'Name' field -> Select 'Change Settings' radio button
    You will get a pop-up 'Do not use flat compression'.
    Select the 'on' button.
    After this check if the PDF is created correctly.
    regards,
    Aidan

  • Embedded fonts not working in Air for ios

    hi
    am building an ActionScript mobile project 4.6 for ios and want to use embedded fonts for my app.
    we are using the swf method for embedding the fonts , after loading the xml and even got the embedded resourses from swf , the output is not showing the exact font used , instread it is displaying one of default ios fonts in place of it...
    here is the code of my embedded fonts and we are using TLF for text output:
    ....inside my loaded swf: -
    package
        import flash.display.Sprite;
    import flashx.textLayout.compose.ISWFContext;
    public class Slide1 extends Sprite implements ISWFContext
            [Embed(source="C:/WINDOWS/FONTS/ariblk.TTF", fontName="Arial Black", embedAsCFF = "true", unicodeRange="U+0041,U+0072,U+0069,U+0061,U+006C,U+0020,U+0062,U+006F,U+0064", mimeType="application/x-font")]
            public function callInContext(fn:Function, thisArg:Object, argsArray:Array, returns:Boolean=true):*
                  if (returns)
                          return fn.apply(thisArg, argsArray);
                  fn.apply(thisArg, argsArray);
    please help asap!
    thanks

    hi
    am building an ActionScript mobile project 4.6 for ios and want to use embedded fonts for my app.
    we are using the swf method for embedding the fonts , after loading the xml and even got the embedded resourses from swf , the output is not showing the exact font used , instread it is displaying one of default ios fonts in place of it...
    here is the code of my embedded fonts and we are using TLF for text output:
    ....inside my loaded swf: -
    package
        import flash.display.Sprite;
    import flashx.textLayout.compose.ISWFContext;
    public class Slide1 extends Sprite implements ISWFContext
            [Embed(source="C:/WINDOWS/FONTS/ariblk.TTF", fontName="Arial Black", embedAsCFF = "true", unicodeRange="U+0041,U+0072,U+0069,U+0061,U+006C,U+0020,U+0062,U+006F,U+0064", mimeType="application/x-font")]
            public function callInContext(fn:Function, thisArg:Object, argsArray:Array, returns:Boolean=true):*
                  if (returns)
                          return fn.apply(thisArg, argsArray);
                  fn.apply(thisArg, argsArray);
    please help asap!
    thanks

  • Embedded fonts display differently in mx and spark

    Hi there,
    My apologies if this is an known issue but I have not been able to find any posts describing this problem. As the title of the discussion describes the problem I see is that when embedding the same font for spark and mx components they display differently to the point of making the application look sloppy. I created a small app to illustrate the problem:
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application
        minWidth="955" minHeight="600"
        xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/mx">
        <fx:Declarations>
            <!-- Place non-visual elements (e.g., services, value objects) here -->
        </fx:Declarations>
        <fx:Style>
    @namespace s "library://ns.adobe.com/flex/spark";
    @namespace mx "library://ns.adobe.com/flex/mx";
    @font-face
    src:url("arial.ttf");
    fontFamily: arialCFF;
    embedAsCFF: true;
    @font-face {
    src:url("arial.ttf");
    fontFamily: arialNoCFF;
    embedAsCFF: false;
    advancedAntiAliasing: false;
    s|Label
    fontFamily: arialCFF;
    fontSize: 20px;
    mx|Label
    fontFamily: arialNoCFF;
    fontSize: 20px;
    </fx:Style>
        <s:layout>
            <s:VerticalLayout
                paddingLeft="10"
                paddingTop="10"/>
        </s:layout>
        <s:Label text="This is a label that uses spark"/>
        <mx:Label text="This is a label that uses mx"/>
    </s:Application>
    I used the Arial.ttf font I found in my mac, though I have also tried with courier new and even the myriad web pro provided with an example in the SDK. Also I have tried with SDKs 4.1, 4.5 and 4.5.1. I have played with the value of advancedAniAliasing as well. Regardless of the combination I will still see differences such as this:
    Is this a known issue? Any solutions at hand?
    Thanks in advance for the help!!

    Hi there,
    Thanks for the quick reply. I was able to make fonts display correctly after hacking the display of some components (mx.controls.FormItem for example) however I did notice a whole buch of runtime warnings that showed up as a result of the workaround such as:
    warning: incompatible embedded font 'arialCFFFont' specified for mx.core::UITextFormat. This component requires that the embedded font be declared with embedAsCFF=false.
    TextFieldAutomationHelper:captureSelection() - 'selectionBeginIndex' is not implemented in FTETextField.
    And in some cases for components I do not even use:
    warning: incompatible embedded font 'arialCFFFont' specified for mx.controls::TextInput (TextInput1967) . This component requires that the embedded font be declared with embedAsCFF=false.
    Any ideas on how to avoid this noise or do we have to live with this?

  • Resource Bundles and Embedded fonts - best practice

    Hello,
    I am in digging into creating a localized app and I would
    like to use embedded fonts.
    Ideally, I would like to have two locales (for example), each
    with a different embedded font and/or unicode range.
    For example, how do I set up my localized app so that EN uses
    Arial (Latin Range), and JP uses Arial Unicode MS with Japanese
    Kanji unicode range ?
    Note that I do know how to embed fonts with different ranges,
    I just don't know how to properly embed them into resource bundles
    and access them easily in style sheets.
    Thanks!
    -Daniel

    Hello!
    This is a very pertinent question, however as many things in life there is no one size fits all here.
    We basically recommend, as best practice, to allocate for each specific context only the estimated needed resources. These values should always come from a previous study on the network patterns/load.
    To accomodate for growth and scalability it is strongly advised to initially keep as many resources reserved as possible and allocate the unused resources as needed. To accomplish this goal, you should created a reserved resource class, as you did already, with a guarantee of 20 to 40 percent of all ACE resources and configure a virtual context solely with the purpose of ensuring that these resources are reserved.
    As you might already know ACE protects resources in use, this means that when decreasing a context's resources, the resources must be unused before then can be reused by other context. Although it is possible to decrease the resource allocations in real time, it typically requires additional overhead to clear any used resources before reducing them.
    Based on the traffic patterns, number of connections, throughput, concurrent SSL connections , etc, for each of the sites you will be deploying you will have a better idea on what might be the estimated needed resources and then assign them to each of the contexts. Thus this is something that greatly depends on customer's network environment.
    Hope this helps to clarify your doubts.

  • AIR 3.0 mx:HTML embedded fonts in external swf - silent craziness

    The recent upgrade to AIR 3.0 has hosed our application.  We rely heavily on an mx:HTML control to render the UI of our application using javascript and HTML templates.  Everything has been working great in production for months, until Adobe released AIR 3.0 last week.  We use embedded fonts in our application that our defined in an external .swf (loaded at runtime).  The HTML control loads a .css file that references the name of our embedded font "ArialEmbedded" and it all worked great.  But now, with 3.0 it does not respect anything in the external .swf.  We get the default Times New Roman font in all of our content, and the app crashes with reliability (in debug mode and release mode) without any exceptions being thrown.
    Using the Windows Debugger, I have been able to track it down to this call consistently - Webkit!cairo_pattern_get_type with an Access Violation erros - c0000005 . 
    After some Googling, it seems webkit uses Cairo for the graphics rendering portion of the library, and in this case it is trying to render a specific color.
    1) I've tried forcing the moduleLoader on the HTML control to use the moduleLoader of the parent Spark component - to no avail.
    2) Did something change with style management and loading external .swf files?
    3) Any other help?  At this point, I have no idea where to begin.  When it crashes, usually during the rendering of items in a grid the AIR process will grab about 2GB of RAM all at once and then stop working with the windows process stopped working dialog.
    Thanks for any help,
    Steve

    Hi,
    Could you please open a new bug report on this over at bugbase.adobe.com? Please include sample media, code, project or app to help us reproduce the issue. Finally, once the bug has been added, would you mind posting back with the URL so that others affected can add their votes and comments?
    Thanks,
    Jian
    Adobe Flash Runtime team

  • Using embedded fonts

    Hi,
    I've embedded font into an SWF in the following manner:
    package resources.fonts
    import flash.display.Sprite;
    public class _Arial extends Sprite
    [Embed(source='c:/windows/fonts/Arial.ttf',
    fontName='_Arial')]
    public static var _Arial:Class;
    Now when I try to load it in my AIR app, I get "IFlexAsset
    could not be found" error when the file gets loaded. Any
    ideas?

    @Flex, thanks. I have tried, and succeeded in making swf containers for fonts in various ways including using the fontswf app but they never seem to be used after I have loaded them in the main application. I have asked a couple of questions here:
    http://stackoverflow.com/questions/12846752/embedded-font-flash-text-engine There doesn't seem to be any error message, the font just 'silently' isn't used. Do you think that it just isn't possible? The documentation I've been able to dig up all seems to indicate that it should be; including the sentence I quote above.

  • Embedding fonts in Air

    I know that the release notes say specifically "Currently, using an external font in a style sheet, via the @font-face declaration is not supported", but I am totally confused as to what this actually means. Is there any way to build an HTML Air application that uses custom fonts without using @font-face?  What really surprises me is that adl has no problem with embedding fonts via @font-face; but the compiled application simply can't. I have gotten Cufon to work in my application, but it really slows things down and I'm hoping that there is some other way to do this.

    Very true...  rendering TFs to bitmaps is faster than rendering TFs directly, even with cacheAsBitmap enabled on the text fields. 
    However, cacheAsBitmap helps prevent memory overruns in some cases, as there are hooks in Flash to garbage collect cached bitmaps early, when they are no longer needed (I believe: even setting visible to false on a TF with CAB will cause the bitmap to be garbage collected -- someone might correct me on that).
    This more "active" garbage collection can make the difference sometimes, in GPU mode especially, if you are scolling lots of text fields.  In one of my apps, scrolling many bitmaps (rendered TFs) would eventually cause a crash (memory overrun), while scrolling the TFs with CAB enabled was fine.  I also had code to set visible to false on objects whose bounds were no longer within the visible stage area.
    Note:  in the code above, unless "snapshot" or a container thereof is scaled, there is no need to use cacheAsBitmap on a Bitmap (you'd be using twice as much memory for nothing).

  • Problem embedding fonts with ButtonSkin class with SDK 4.5.1

    Hi,
    I've an external style file calling into main mobile application which has codes something like these:
    @font-face {
              src: url("../fonts/TektonPro-BoldCond.otf");
      fontFamily: TektonProBCnd;
      embedAsCFF: false;
    .buttonStyle {
      embedFonts: true;
      fontFamily: TektonProBCnd;
      fontSize: 24;
      skin: ClassReference(null);
    .text_listMediumText {
      fontFamily: TektonProBCnd;
      fontSize: 24;
              color:                               #666666;
    In my application the embedding font styles working properly when directly bind with any component with 'styleName' property (i.e. text_listMediumText). I've also one button something like this:
    <s:Button label="CONNECT" skinClass="actionScripts.ui.SketchButtonSkin" click="onConnect()"/>
    And the skin class is as follows:
    public class SketchButtonSkin extends ButtonSkin
      //  PRIVATE VARIABLES
                         * CONSTRUCTOR
                        public function SketchButtonSkin()
                                  super();
                                  width = 268;
                                  height = 50;
      //  OVERRIDDEN API
      // Override this function to prvent the button from drawing a background
                        override protected function drawBackground(unscaledWidth:Number,
                                                                                                                               unscaledHeight:Number):void{
      override protected function
                                  labelDisplay_valueCommitHandler(event:FlexEvent):void
                                  labelDisplay.setStyle( "fontSize", 20 );
                   labelDisplay.setStyle("fontFamily","TektonProBCnd"); // or, labelDisplay.styleDeclaration = styleManager.getStyleDeclaration(".buttonStyle");
    But I not ever could embed the font with this buttonSkin class. Any help please (?)

    Try linking a Scroller into your app.

  • Using an Embedded Font in another .swf

    I am encountering a situation with font embedding that hopefully someone out there will know the solution to. This is a slightly boiled-down version of the problem but all the pertinent details are included. Without further ado, here's the situation:
    TLDR Version:  If I have a font embedded and registered with Font.registerFont(), and I attempt to use that font in a .swf that was compiled from an .fla in Flash CS5 that so much as MENTIONS that font, it fails.
    Longer Description:
    The Goal: Embed fonts in 1 .swf, use those fonts in many .swfs. Simple.
    Fonts.swf
    I have 3 .swf files. The first is called Fonts.swf. This was created in Flash CS5. It contains an embedded font( Franklin Gothic Demi ) with characters a-z, A-Z, numerals, and punctuation, etc. Regular, not bold. The font is exported for actionscript and the class is FranklinGothicDemi.
    On the main timeline of Fonts.swf is the code:
    Font.registerFont( FranklinGothicDemi ).
    Application.swf
    The second .swf is Application.swf. The following code snippet is from Application.as:
    [Embed(source="Fonts.swf")]
    private static var EmbeddedFonts:Class;
    initFonts()
    var embedFont:EmbeddedFonts = new EmbeddedFonts();
    embedFont.addEventListener( Event.COMPLETE, function( e:Event ){ traceEmbeddedFonts(); } );
    When traceEmbeddedFonts is called, it verifies that Franklin Gothic Demi is in fact registered.
    UserInterface.swf
    The third .swf file is UserInterface.swf. Fonts are NOT embedded in this file. They are not supposed to be. The project has many .swf files and they should all be using the fonts embedded in Fonts.swf.
    On the main timeline of UserInterface, it calls it's own version of traceEmbeddedFonts(), which again confirms that Franklin Gothic Demi is embedded.
    Inside UserInterface is a TextField we'll call mMainTextField, with some text, say "Main Menu". The font is "Franklin Gothic Demi", the anti-alias style is 'use device fonts.' I have tried other anti-alias styles as well.
    As it turns out, UserInterface.swf is 'embedding' Franklin Gothic Demi, with a character set of a big fat 0 characters. This is taking precedence over the Franklin Gothic Demi font embedded from Fonts.swf. I can side-step this problem by setting mMainTextField to use some other Font while publishing and then using actionscript to change it back to Franklin Gothic Demi when the project is running, but that's not a solution that is friendly to the artists.
    In essence, the question is simple: Why is Flash Embedding and Registering fonts with character sets of size 0, despite the fact that nowhere in UserInterface.swf is there a request to embed fonts, and how do I prevent it from doing so?
    If anyone who sees this has already encountered and solved this problem and shares the solution with me, you will be my favorite person .
    Thanks!
    -J

    You know, I think its just a bug inside Flash Builder Burrito. When I run my app through the emulator it doesn't display correctly but when I run it on my phone it works as it should.

Maybe you are looking for