Haciendo referencia a mi anterior tip de embeber fuentes, ahora pasaremos a listar las fuentes que tenemos instaladas en el sistema y, por separado, las fuentes que tenemos embebidas. Nos valdremos del componente ComboBox para poder tenerlo ordenado.
Para eso utilizamos el método enumerateFonts de la clase Font, que nos pide como parámetro un Boolean, que de estar en true, nos lista las fuentes del sistema y las embebidas, y de estar en false, nos muestra sólo las embebidas.
Abrimos flash y colocamos el siguiente código:
Código :
var allFonts:Array = Font.enumerateFonts(true);
Código :
for (var i in allFonts) {
trace( (allFonts[i] as Font).fontName );
}
Código :
var allFonts:Array = Font.enumerateFonts(true);
for (var i in allFonts) {
comboFont.addItem({label:(allFonts[i] as Font).fontName, data:i} );
}
Código :
comboFont.addEventListener(Event.CHANGE, cambiarFuentesSistema);
function cambiarFuentesSistema(event:Event):void {
cambiarFuente(ComboBox(event.target).selectedItem.label, false);
}
Código :
function cambiarFuente(fuente:String, embed:Boolean):void{
txt_fmt.font=fuente;
campo.autoSize=TextFieldAutoSize.CENTER;
campo.defaultTextFormat=txt_fmt;
campo.embedFonts=embed;
campo.text="esta es una prueba";
if(embed)
campo.rotation = 45;
else
campo.rotation = 0;
}
Código :
var embeddedFonts:Array = Font.enumerateFonts(false);
embeddedFonts.sortOn(Font2, Array.CASEINSENSITIVE);
for (i in embeddedFonts) {
trace((embeddedFonts[i] as Font).fontName)
}
Código :
import fl.events.*;
campo.x = 100;
campo.y = 50;
campo.selectable=false;
//
var txt_fmt:TextFormat=new TextFormat();
txt_fmt.size=24;
//
//
//Fuentes del sistema
var allFonts:Array = Font.enumerateFonts(true);
for (var i in allFonts) {
comboFont.addItem({label:(allFonts[i] as Font).fontName, data:i} );
}
//
//
//Fuentes embebidas
var embeddedFonts:Array = Font.enumerateFonts(false);
for (i in embeddedFonts) {
comboFont2.addItem({label:(embeddedFonts[i] as Font).fontName, data:i} );
}
//
//
//listener
comboFont.addEventListener(Event.CHANGE, cambiarFuentesSistema);
comboFont2.addEventListener(Event.CHANGE, cambiarFuentesEmbebidas);
//
//
//
function cambiarFuentesSistema(event:Event):void {
cambiarFuente(ComboBox(event.target).selectedItem.label, false);
}
function cambiarFuentesEmbebidas(event:Event):void {
cambiarFuente(ComboBox(event.target).selectedItem.label, true);
}
function cambiarFuente(fuente:String, embed:Boolean):void{
txt_fmt.font=fuente;
campo.autoSize=TextFieldAutoSize.CENTER;
campo.defaultTextFormat=txt_fmt;
campo.embedFonts=embed;
campo.text="esta es una prueba";
if(embed)
campo.rotation = 45;
else
campo.rotation = 0;
}