2011-01-31 1 views
3

J'ai récemment converti un projet Flex3 AIR en Flex4, donc il utilise maintenant Flex4.1 sdk et <s:WindowedApplication>. C'est un grand projet et après avoir minutieusement mis à jour tous les bits de code essentiels pour travailler avec Flex4, il compile maintenant.L'élément Spark à l'intérieur du composant mx ne restitue pas la police incorporée

La plupart des composants du projet sont détruits sur plusieurs générations à partir d'un composant basé sur mx, donc je n'ai pas encore mis à jour cette étincelle en raison de la charge de travail. Le problème que je rencontre est que je n'arrive pas à faire fonctionner la police intégrée pour les composants d'étincelles que j'ajoute maintenant à mes composants mx. Par exemple, j'ai édité l'un de mes composants (basés sur mx) et ajouté quelques éléments à celui-ci. Ma police incorporée doit avoir embedAsCFF = false pour que cela fonctionne pour mes composants mx. Donc, pour obtenir ce aussi Embed étincelle, je devrais pouvoir simplement l'intégrer à nouveau avec embedAsCFF = true comme indiqué ci-dessous:

@font-face 
{ 
    src: url("assets/fonts/MyriadWebPro.ttf"); 
    font-family: mainWithCFF; 
    font-style: normal; 
    font-weight: normal; 
    font-anti-alias-type: "advanced"; 
    embedAsCFF: true; 
} 

s|Label{ 
    font-family: mainWithCFF; 
} 

J'ai essayé un exemple de base de ce que Adobe fournit et cet exemple fonctionne très bien, mais dans mon projet complexe, ça ne marche pas. Je ne reçois aucune erreur, mais à la place du composant spark utilisant MyriadWebPro, il est par défaut à Times.

Je me demande si c'est parce que mon composant est basé sur mx plutôt que sur les étincelles. Peut-être que cela ne fonctionne que si vous utilisez un composant mx à l'intérieur d'un composant spark? Si oui, est-ce que quelqu'un sait d'une solution au problème où vous avez un composant mx et voulez avoir une étincelle Label à l'intérieur de cela?

Répondre

3

Si votre composant est MX (Halo), vous voulez que embedAsCFF soit faux.

Pour les composants Spark, vous intégrez AsCFF: true. En outre, je ne suis pas sûr que votre Anti Aliasing avancé est correct.

Spark Exemple:

 
@font-face 
{ 
    font-family: "Myriad Web Pro"; 
    src: url("./assets/fonts/MyriadWebPro.ttf"); 
    font-weight: normal; 
    embedAsCFF: true; /* Spark */ 
    advancedAntiAliasing: true; 
    unicodeRange: 
     U+0041-U+005A, /* Upper-Case [A..Z] */ 
     U+0061-U+007A, /* Lower-Case a-z */ 
     U+0030-U+003F, /* Numbers [0..9] */ 
     U+0020-U+002F, /* Space + Punctuation [ !"#$%&'()*+,-./ ] */ 
     U+003A-U+0040; /* Special Chars [ :;[email protected] ] */ 
} 

MX Halo Exemple:

 
@font-face 
{ 
    font-family: "Myriad Web Pro"; 
    src: url("./assets/fonts/MyriadWebPro.ttf"); 
    font-weight: normal; 
    embedAsCFF: false; /* Halo */ 
    advancedAntiAliasing: true; 
    unicodeRange: 
     U+0041-U+005A, /* Upper-Case [A..Z] */ 
     U+0061-U+007A, /* Lower-Case a-z */ 
     U+0030-U+003F, /* Numbers [0..9] */ 
     U+0020-U+002F, /* Space + Punctuation [ !"#$%&'()*+,-./ ] */ 
     U+003A-U+0040; /* Special Chars [ :;[email protected] ] */ 
} 
+0

Merci! C'était très utile! –

Questions connexes