Question

D'après ce que je peux dire sur l'API Google Fonts, ces polices sont censées être accessibles par JavaScript / CSS. Existe-t-il un moyen de les charger dynamiquement pour une application Flash sans avoir à les télécharger localement sur le serveur?

Mise à jour: Je me suis donc penché un peu plus sur ce sujet, et voici quelques réflexions sur la façon de procéder. Aucun d'eux ne fonctionne, mais j'ai l'impression qu'ils sont sur la bonne voie. Juste pour référence future ...

Lorsque vous choisissez une police à utiliser dans l'API Google, vous recevez un lien vers une feuille de style CSS générée en fonction de vos préférences:

<link href='http://fonts.googleapis.com/css?family=Kranky' rel='stylesheet' type='text/css'>

J'ai d'abord essayé d'utiliser uniquement l'URL href dans mon <fx:Style source=.../>, mais ActionScript l'a rejeté (je ne sais pas si c'était parce qu'il n'était pas local, ou il s'est rendu compte qu'il ne se terminait pas par .css).

Après cet échec, j'ai copié le lien dans mon navigateur et récupéré manuellement le CSS, en le collant dans des balises <fx:Style> comme vous le feriez avec n'importe quel autre CSS. Encore une fois, ActionScript n'a pas aimé cela car il n'a pas pu localiser localement l'URL.

Je soupçonne que certaines de ces précautions sont en place en raison de l'ensemble du bit «bac à sable de sécurité» que Flash applique. Quelqu'un qui a plus de prouesses ActionScript pourra peut-être l'utiliser pour résoudre le problème, mais je ne sais pas si cela peut être résolu.

Était-ce utile?

La solution

Vous pouvez charger des polices dynamiques INTO flash / actionscript au moment de l'exécution. Voici un bon exemple de celui-ci: http://developer.yahoo.com /flash/articles/runtime-fonts-as3.html

En gros, cela revient à utiliser une classe Loader et un Font.registerFont();

Le problème est que le CSS fourni par Google fournit un fichier WOFF (Web Open Font) et je ne pense pas que Flash puisse encore intégrer ce type de police.

Cependant, les polices Google sont téléchargeables et facilement intégrables dans vos applications Flex / Flash. Allez simplement à la police que vous voulez sur le site de Google et cliquez sur "télécharger". À partir de là, vous pouvez extraire un fichier TTF et l'intégrer directement dans votre application Flash.

Vous pouvez le faire en actionscript comme ceci:

[Embed(source="theFontYouDownloaded.ttf",  fontName = "someFont",  mimeType = "application/x-font")]
private var someFont:Class;

D'après mon expérience, vous devez parfois jouer avec ce type MIME pour le faire fonctionner correctement.

Puisque vous semblez utiliser Flex, vous pouvez simplement utiliser une feuille de style Flex comme ceci:

@font-face
{
src:            url("fonts/someFont.ttf");
fontFamily:     someFont;
font-weight:    normal; 
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top