This is a discussion on Incorporare fonts nell' SWF con Flash CS3 within the Articoli e tutorials forums, part of the Flash CS3 e Actionscript 3.0 category; Sviluppando con Adobe Flash, spesso ci capita di voler utilizzare delle fonts per i nostri testi che non fanno parte ...
Sviluppando con Adobe Flash, spesso ci capita di voler utilizzare delle fonts per i nostri testi che non fanno parte del sistema operativo e quindi non possiamo avere la certezza che l' utente abbia nella sua macchina la font da noi utilizzata.
Soprattutto se sono delle pixel-fonts.
Una soluzione a questo dilemma è incorporare le fonts nell' SWF.
Vediamo come...
Come al solito creo un FLA e lo salvo con nome ' fonts.fla ' .
Creo la Document Class, un file AS che salvo con nome ' Fonts.as ' .
Quello che scrivo nella classe Fonts:
Code:
package
{
import flash.display.MovieClip;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFieldAutoSize;
public class Fonts extends MovieClip
{
private const testo:String='Lorem ipsum dolor sit amet,consectetuer adipiscing elit.\n'+
'Aliquam ac felis. Pellentesque varius adipiscing ligula.'+
'Duis porttitor, libero ut fringilla pellentesque,\n'+
'nunc nisl hendrerit tellus, nec dignissim mauris pede at risus\n'+
'nunc nisl hendrerit tellus, nec dignissim mauris pede at risus.';
private var field:TextField;
public function Fonts()
{
createField();
}
private function createField():void
{
field=new TextField();
field.autoSize=TextFieldAutoSize.LEFT;
field.defaultTextFormat=getFormat();
field.text=testo;
addChild(field);
}
private function getFormat():TextFormat
{
var format:TextFormat=new TextFormat();
format.font='FFF Aquarius';
format.color=0x333333;
format.size=8;
return format;
}
}
}
Risultato:
Questa classe non fa altro che creare un campo di testo, assegnargli un formato e del testo.
Ora torno sul mio FLA e creo un campo di testo dinamico senza alcun testo.
Con il campo di testo selezionato, gli assegno la font che preferisco e poi clicco il tasto 'embed' come da foto quì sotto:
nella finestra che si apre posso scegliere i sets di caratteri che voglio utilizzare.
In questo modo abbiamo la certezza che in fase di pubblicazione il nostro SWF avrà al suo interno tutti i caratteri della font che voglio utilizzare per la mia applicazione. Il campo di testo rimane vuoto per cui consiglio di renderlo non selezionabile così che non si vede per niente e tenerlo appena al di fuori dello stage.
Se invece volessi creare ' a mano ' i miei campi di testo e scrivere il testo che devono contenere, basta fare un' operazione molto simile alla precedente e cioè, mantenendo selezionato il campo di testo (sempre dinamico) e aprendo la finestrella con la lista dei sets di caratteri, clicco il bottone ' auto fill ' e Flash esporterà nell' SWF solo i caratteri contenuti nel campo di testo.
addChild(field); non crea un campo di testo ma aggiunge il campo di testo allo stage in modo che sia visibile.
Se non vedi niente è perchè probabilmente non hai incorporato le fonts come spiega il tutorials.
ciao. Io ho fatto tutto quello che dici, ma non va. Uso il carattere: Typenoksidi, ma facendo l'incorpora (nella versione di flash in intaliano) non mi si vede il testo...mentre senza incorpora si vede, ma se non hai i font vedi quelli di default. Che fare?
se mi faceste un esempio mi fareste un piacere. Io ho del testo dinamico che prendo da un foglio xml in cui ci sono anche dei tag xml. Se ho il font installato senza incorporare nulla funziona...se non ce l'ho senza incorporare nulla mi fa vedere il testo in ariel altrimenti se incorporo i caratteri non mi mostra il testo.