Hello :)

En fait en cherchant un peu on se rend compte que c'est un soucis (même un
bug  ou oubli de Adobe ??)

http://www.adobe.com/devnet/flash/quickstart/embedding_fonts/ (lire les
commentaires)

En gros la seule vraie solution est de passer par le MXMLC.exe pour compiler
avec les bons glyphes... mince :( Faudrait que Adobe fixe cela dans Flash
CS5 !

Pour ceux qui veulent tester en AS3 par exemple :

Font.registerFont( Arial ) ;

var fonts:Array = Font.enumerateFonts() ;

var font:Font = fonts[1] as Font ;

trace(font.hasGlyphs("Θ") ) ;

var field:TextField = new TextField() ;

field.autoSize = "left" ;

field.embedFonts = true ;
field.defaultTextFormat = new TextFormat("Arial", 12 ) ;
field.text = "alpha:ΘΓΔΖφχ" ;

addChild( field ) ;

Avec Arial le nom de ma classe dans la bibliotèque... suffit de virer le
embedFonts = true en embedFonts = false pour voir que pourtant tout est ok..
seul le problème de glyphe cause vraiment problème car on reste en latin1
lors de la compilation.

EKA+ :)


Le 7 décembre 2009 14:50, Cedric Muller <[email protected]> a écrit :

>
> Hello,
>
> Je n'arrive pas à répondre concrètement à ta question, par contre
> j'ai été confronté au même problème lorsqu'on m'a demandé de faire un
> site en 7 langues, dont l'arabe, le russe, le coréen, le chinois :)
>
> Je n'ai pas réussi à obtenir quelque chose de correct avec ma
> technique du FLA vide et de la font intégrée à la Bibliothèque
> (Library), mais si je me souviens bien c'était principalement lié à
> la langue arabe, étant lue de droite à gauche.
>
> Bref, j'ai solutionné mon problème en utilisant le textlayout
> framework, basé sur le nouveau textEngine du Flash Player 10. (Le
> text layout framework reste optionnel, tu pourrais très bien te
> lancer directement en utilisant le nouveau text engine).
>
> <http://labs.adobe.com/technologies/textlayout/>
>
> Niveau préparation, rien ne change, ne serait-ce que je n'ai plus
> besoin de créer mon FLA vide, tout se faisant de manière ultime
> depuis Flex Builder, en une petite classe:
>
> package com.mybidoom.fonts
> {
>        import flash.text.Font;
>
>        public class AFont extends Font
>        {
>                [Embed(source="/path/to/fonts/AFont.ttf",
> fontFamily="AFont",
> cff="true")]
>
>                public static const NAME:String = "AFont";
>
>                public function AFont()
>                {
>                        super();
>                }
>        }
> }
>
>
> ensuite, tu pointes sur AFont.NAME pour utiliser la font au niveau du
> texte:
>
> private function createTextLine(someText:String):void
> {
>        var bounds:Rectangle = new Rectangle(10, 10, this.width,
> this.height);
>
>        var paragraphFormat:ParagraphFormat = new ParagraphFormat();
>        paragraphFormat.direction = Direction.LTR;
>
>        var characterFormat:CharacterFormat = new CharacterFormat();
>        characterFormat.fontSize = 18;
>        characterFormat.fontFamily = AFont.NAME;
>        characterFormat.fontLookup =
> flash.text.engine.FontLookup.EMBEDDED_CFF;
>        characterFormat.renderingMode = flash.text.engine.RenderingMode.CFF;
>
>        TextLineFactory.createTextLinesFromString(addTextLineToContainer,
> someText, bounds, characterFormat, paragraphFormat);
> }
>
> private function addTextLineToContainer
> (textLine:flash.text.engine.TextLine):void
> {
>        this.addChild(textLine);
> }
>
>
> createTextLine("FCNG is a nice place for the week-end!");
>
>
> J'espère que cela puisse aider :)
>
> ++
> Cedric
>
> >
> > Bonjour à tous,
> >
> > Je rencontre un soucis avec l'inclusion de glyphes dans flash,
> > voici ce qui me tarabusque :) :
> >
> > 1 - créer un fla vide
> > 2 - créer un symbole de police dans la library (y mettre de l'Arial ou
> > autre police gérant l'unicode)
> > 3 - mettre exporter pour actionscript dans le panneau linkage
> > 4 - créer un champs de texte dynamique sur la scène, le paramétrer
> > avec l'identifiant de la police crée et intégrer les caractères (un
> > embed all sera même plus parlant pour démontrer le problème)
> > 5 - copier coller des caractères grecs dans le (en provenance de la
> > table des caractères de windows par exemple)
> > 6 - compiler le swf
> >
> > Le résultat est un champs de texte vide ou du moins ne comportant pas
> > les caractères grecs (si l'on mets des caractères "classiques" ceux-ci
> > sont par contre bien exportés). En générant un rapport de taille on
> > voit en effet que le compilo n'a pas inclus la plage de caractères
> > demandés.
> >
> > Ce comportement ne se produit pas lorsqu'il n'y a pas d'export coché
> > dans le panneau linkage.
> > J'ai pu testé et reproduire ce comportement sous flash 8 et sous flash
> > CS3 (sur fichiers de type AS2 et AS3).
> >
> > Mon hypothèse serait que flash dans ce cas précis à l'air de se baser
> > sur le codepage du système pour les inclusions ?? toutefois je ne peux
> > pas le vérifier de mon poste du boulot n'ayant pas les droits
> > d'admin :
> > (
> >
> > Je me demandais si quelqu'un d'autre avait pu rencontrer ce problème
> > voire le solutionner :)
> >
> > François.
> > >
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "FCNG" de 
Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/fcng?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à