Comunidad de diseño web y desarrollo en internet online

Referenciar una fuente con ApplicationDomain

Citar            
MensajeEscrito el 26 May 2008 09:59 am
Hola!
Tengo una dudap con el tema de cargar y crear clases creadas dinámicamente. Vereis, he usado Application Domain para cargar todos los recursos gráficos de la web y poder llamarlos luego dinámicamente. Con esto había pensado en crear un swf contenedor de todas las fuentes que voy a usar en el proyecto, el problema es que cuando la referencio :

...

Código :

var _font:Class = library.fontsSwf.getDefinition("Arial") as Class;
var fuente:Font = new _font ();
formato.font = fuente

...
Con esto me dice que "formato.font=" espera un string, y cuando le pongo "fuente" como string pasa completamente de mi. Sin embargo si juego con la fuente en el propio swf y le pongo
formato.font="Arial" , siendo "arial" el nombre "font:" en las propiedades de la fuente, entonces si que funciona :S
Alguién podría decirme como puedo referenciar fuentes usando el applicationDomain o donde falla lo que estoy haciendo, voy ya un poco perdido.

Un saludo y gracias a todos!

Editado por eldervaz

Por Kaneda5034

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 26 May 2008 03:33 pm
Vale, yo de nuevo, finalmente encontré la solución al problema. Por si a alguien le sirve de ayuda en adelante ahi va.
En el Swf en el que adjuntamos las fuentes debemos referenciarlas con Font.RegisterFont:
/*
import flash.text.Font;
Font.registerFont(FuturaBold);
*/
Despues de esto, en la clase que cargue el swf y dentro del listener Event.COMPLETE el siguiente código:
/*
var info:LoaderInfo = event.currentTarget as LoaderInfo;
var loader:Loader = info.content as Loader;
var embeddedFonts:Array = Font.enumerateFonts(false);
for(var i:Number = 0; i < embeddedFonts.length; i++){
var item:Font = embeddedFonts[i];
trace(\"[\" + i + \"] name:\" + item.fontName + \", style: \" + item.fontStyle + \", type: \" + item.fontType);
}
*/
Con esto, si haceis del Array \"embeddedFonts\" una public static var podeis referenciar la fuente desde donde querais con :
clase.embeddedFonts[numero de Fuente embebida].fontName

Nada, espero que sirva de algo, un saludo y gracias

Por Kaneda5034

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 16 Oct 2009 11:29 am
Ya sé que el post es muy antiguo, pero muchas gracias por compartirlo. Me ha sido realmente muy útil eso de que para cargar una fuente de un swf externo hay que poner en el primer fotograma:
Font.registerFont(NombreFuente);
Gracias.

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 16 Oct 2009 11:32 am
De nada :) !! Es un tema muy poco documentado, por alguna razón.
La verdad es que llevaba ya años sin entrar en Cristalab y acabo de recibir el email de aviso :)

Clau,

www.whydontwetry.com

Por Kaneda5034

11 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 16 Oct 2009 12:39 pm
Pues ya te digo que me ha venido de perlas. Estoy haciendo una app en la que puedes elegir una fuente en chino de 3 posibles (que ocupan 5, 7 y 9 Mb una vez embebidas en su correspondiente swf), así que no veas el peso que me quito de encima, tanto a la hora de publicar y poder ver el efecto con la fuente ya incorporada (y no la de sistema), como a la hora de no tener que usar el resto de fuentes. Y sí, la documentación del CS4 se queda un poco escasa en ciertos temas, y en la web sólo había encontrado un ejemplo para Flex.
Muchísimas gracias ;)

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.