[ 
https://issues.apache.org/jira/browse/FLEX-19794?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17331789#comment-17331789
 ] 

keerthana pothula commented on FLEX-19794:
------------------------------------------

Thanks for the answers for [Embedded systems 
|https://takeoffprojects.com/embedded-systems-projects]symbols using in 
apache...

> incorrect embedding of fonts associated with embedded symbols
> -------------------------------------------------------------
>
>                 Key: FLEX-19794
>                 URL: https://issues.apache.org/jira/browse/FLEX-19794
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: Embedded Fonts
>    Affects Versions: Adobe Flex SDK 3.0 (Release)
>         Environment: Affected OS(s): All OS Platforms
> Affected OS(s): All OS Platforms
> Language Found: English
>            Reporter: Adobe JIRA
>            Assignee: Adobe JIRA
>            Priority: Minor
>
> Anyone who used multiple swf's as source for symbols that are embedded in as3 
> probably has encountered this issue at least once.
> This could also be component: 'Embedded Asset Transcoding', since it is about 
> transcoding, but then again, it is also about embedding fonts
> Steps to reproduce:
> 1. investigate attached demo project and note the following:
> - abc.fla has one symbol in the library named 'AbcText', inside that symbol 
> is a text field, with the Palatino font embedded, only the letters 'abc'
> - def.fla has one symbol in the library names 'DefText', inside that symbol 
> is a text field with the Palatino font embedded, only the letters 'cdef' 
> (note the extra c)
> - both these symbols have been placed on the stage, you can investigate the 
> swf's and see the letters
> 2. The Abc.as and Def.as classes in the project each embed a symbol from a swf
> 3. font_issue.as just places Abc and Def on the display list.
>  
>  Actual Results:
>  
> The 'Abc' texfield only shows 'c'
> The 'Def' textfield shows 'def'
>  
>  Expected Results:
>  
> The 'Abc' textfield should show 'abc'
>  
>  Workaround (if any):
>  
>  The workaround is embedding the complete needed characterset on _every_ 
> textfield in for all symbols that will be embedded. If you forget one the 
> possibility of it breaking is very high.
> What happens:
> It is clear what is happening:
> Abc.as and Def.as are treated as separate CompilationUnits - for each the 
> embedded text is transcoded.
> When both are added to the same movie (and incidentally also the same frame) 
> there will be two 'DefineFont3' tags that have a different FontID (refering 
> to the names as specified in swf_file_format_spec_v10.pdf) but share the 
> FontName. This will confuse the player -- most probably only the last 
> encountered DefineFont3 for a certain name/bold/italic combination is used by 
> the player -- resulting in the other embedded fonts being ignored and some 
> characters not being shown.
> Because of the issue in the player as described above one could say it is 
> actully a _player_ issue. This might be the case (I cannot find anything in 
> the swf spec that talks about how often a DefineFont3 may appear per font. 
> But: since this issue also results in embedding the same font twice in an swf 
> I would say it has to be fixed at the flex compiler level.
> Workaround at java compiler code level: If you change the method 
> decodeDefineFont2And3 in TagDecoder.java to make t.fontName (around line 782 
> in the current svn checkout of the trunk) unique for every call (I added a 
> static number that gets increased every call) the resulting swf _will_ show 
> all fonts -- however, this will just prevent the issue at the player level, 
> and not address the double-embedded fonts (which is quite bad if you include 
> a big character range)
> Solution: at some stage in the compile process the DefineFont3 tags from the 
> different CompilationUnits need to be merged to one, but I have not found a 
> good spot for that yet.
> I can provide more info/explanations/code if needed.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to