geek space web solutions

embedFonts et styleSheet - Intégrer des polices à votre Flash

Mercredi, 04 Août 2010 10:32
as3 embedFonts styleSheet font police as2
Il y a beaucoup de choses à dire sur l'intégration des polices dans Flash car il y a beaucoup de manières de les intégrer. Cet article parle des polices intégrées et de l'utilisation de styles css.

J'ai essayé d'intégrer une police spécifique appelée "Jiffy" pour mon menu...

Petites choses à savoir :
Lorsqu'on veut utiliser une police autre que Verdana, Arial et compagnie dans le Flash, il faut faire en sorte que la police "exotique" s'intègre dans le Flash lors de la compilation, pour cela il existe plusieurs manières :

1er cas : Sans utiliser d'ActionScript
Si l'on crée un simple champ de texte TextField (à l'ancienne) côté graphique dans le fla, si l'on définit ce champ comme statique, il intégrera sans soucis la police exotique lors de la compilation, ce champ ne posera aucun problème par la suite.
Par contre si vous devez le définir comme dynamique ou saisissable, vous devez utiliser le bouton "Intégrations de caractères" pour vous assurer que les caractères de la police exotique soient intégrés...

2ème cas : En utilisant de l'ActionScript
Si l'on crée le champ texte TextField par programmation, si on ne veut avoir aucun problème il faut se débrouiller pour que la police soit entièrement ou partiellement intégrée dans le swf lors de la compilation. Pour cela il existe plusieurs façons de faire, au final vous risquez d'avoir besoin de définir la propriété embedFonts du champ de texte sur true... (Le embedFonts=true est obligatoire si vous voulez appliquer une rotation au TextField, même si la police que vous utilisez est une Arial...)


Ordre des instructions
J'attire l'attention dans cet article sur l'ordre des instructions pour définir un champ de texte en ActionScript. Dans l'exemple de code ci-dessous, je n'obtenais jamais l'affichage de mon texte avec la police exotique. La raison est qu'il faut définir le styleSheet après avoir définit la police (TextFormat).

Le code ci-dessous est en AS2 :
var txtFormat:TextFormat = new TextFormat();
txtFormat.font = "Jiffy";
txtFormat.size = 25;

titre_mc.titre_txt.autoSize = true;
titre_mc.titre_txt.selectable = false;
titre_mc.titre_txt.multiline = false;
titre_mc.titre_txt.wordWrap = false;
titre_mc.titre_txt.html = true;
//J'ai dû déplacer la ligne ci-dessous pour résoudre mon problème :
//titre_mc.titre_txt.styleSheet = css_menu_secondaire;
titre_mc.titre_txt.htmlText = "<a href='#'>"+leTexte+"</a>";

titre_mc.titre_txt.embedFonts = true;
titre_mc.titre_txt.setTextFormat(txtFormat);

titre_mc.titre_txt.styleSheet = css_menu_secondaire;

//Comme la police est intégrée avec embedFonts, nous pouvons faire une rotation du champ de texte :
titre_mc.titre_txt._rotation = -5;
 

Ajouter un Commentaire


Code de sécurité
Rafraîchir

Sections

Éditeur de fichier XML en ligne


"XML Manager" est un éditeur sécurisé permettant d'administrer en ligne un fichier XML.
Il fournit des fonctions avancées de recadrage et de redimensionnement des images...

Sondages

Pensez-vous que le HTML5 puisse complètement remplacer Flash ?
 
Seriez-vous intéressé par un éditeur d'XML en ligne ?
 

Paypal

paypal

Code du plugin Joomla AutoSEO 1.2 par www.geek-space.fr