O ActionScript 3.0 apresenta uma variedade de classes no pacote flash.text para controlar as propriedades do texto exibido, incluindo fontes incorporadas, configurações de suavização de serrilhado, controle de canal alfa e outras configurações específicas. A Referência do ActionScript 3.0 apresenta descrições detalhadas das classes e propriedades, incluindo as classes CSMSettings, Font e TextRenderer.
Uso de fontes incorporadas
Quando você especificar uma fonte específica para um TextField no aplicativo, o Flash Player ou AIR procurará uma fonte de dispositivo (uma fonte que reside no computador do usuário) com o mesmo nome. Se essa fonte não for localizada no sistema ou se o usuário tiver uma versão ligeiramente diferente de uma fonte com esse nome, a aparência da exibição do texto poderá ser bem diferente do que se pretende. Por padrão, o texto aparece em uma fonte Times Roman.
Para ter certeza de que o usuário verá exatamente a fonte correta, incorpore a fonte no arquivo SWF do aplicativo. As fontes incorporadas têm um número de benefícios:
-
Os caracteres de fonte incorporada têm suavização de serrilhado, o que faz com que as bordas sejam exibidas com mais suavidade, especialmente em um texto maior.
-
É possível girar texto que use fontes incorporadas.
-
Texto com fonte incorporada pode ser transparente ou semitransparente.
-
É possível usar o estilo CSS
kerning
com fontes incorporadas.
A maior limitação ao uso de fontes incorporadas é que elas aumentam o tamanho do arquivo ou do download do aplicativo.
O método exato a ser usado para incorporar um arquivo fonte no arquivo SWF do aplicativo varia de acordo com o ambiente de desenvolvimento.
Depois de incorporar uma fonte, é possível verificar se um TextField utilizará a fonte incorporada correta:
-
Defina a propriedade
embedFonts
do TextField como
true
.
-
Crie um objeto TextFormat, defina a propriedade
fontFamily
como o nome da fonte incorporada e aplique o objeto TextFormat ao TextField. Quando você especificar uma fonte incorporada, a propriedade
fontFamily
deverá conter apenas um único nome, e não poderá usar uma lista delimitada por vírgulas de vários nomes de fonte.
-
Se estiver usando os estilos CSS para definir fontes para os TextFields ou componentes, defina a propriedade das CSS
font-family
para o nome da fonte incorporada. A propriedade
font-family
deverá conter um único nome, não uma lista de nomes, se você desejar especificar uma fonte incorporada.
Incorporação de uma fonte no Flash
O Flash Professional permite que você incorpore qualquer fonte que possua ao sistema, incluindo as fontes True Type e Postscript Tipo 1.
É possível incorporar fontes em um aplicativo de muitos modos, incluindo:
-
Configurando as propriedades da fonte e do estilo de um TextField no Palco e clicando na caixa de seleção Fontes incorporadas
-
Criando e fazendo referência a um símbolo de fonte
-
Criando e usando uma biblioteca compartilhada de tempo de execução que contém símbolos de fonte incorporada
Para obter detalhes adicionais sobre como incorporar fontes em aplicativos, consulte "Fontes incorporadas para campos de texto dinâmicos ou de entrada" em
Uso do Flash
.
Incorporação de uma fonte no Flex
É possível incorporar fontes em um aplicativo Flex de muitos modos, incluindo:
-
Usar a tag de metadados
[Embed]
em um script
-
Usar a declaração de estilo
@font-face
-
Estabeleça uma classe para a fonte e utilize a tag
[Embed]
para integrá-la.
Apenas fontes True Type podem ser diretamente incorporadas em um aplicativo Flex. Para fontes em outros formatos (como Postscript Tipo 1), é possível incorporá-las, primeiro, em um arquivo SWF e, depois, usando o Flash Professional, usar tal arquivo no seu aplicativo Flex. Para obter detalhes sobre como usar fontes incorporadas dos arquivos SWF no Flex, consulte "Incorporação de fontes de arquivos SWF" em
Uso do Flex 4
.
Controle de nitidez, espessura e suavização de serrilhado
Por padrão, o Flash Player ou AIR determina as configurações dos controles de exibição de texto como nitidez, espessura e suavização de serrilhado à medida que o texto é redimensionado, muda de cor ou exibido em diversos fundos. Em alguns casos (por exemplo, quando se tem um texto muito pequeno, muito grande ou uma diversidade de fundos exclusivos), talvez você queira manter controle sobre essas configurações. É possível substituir as configurações do Flash Player ou AIR usando a classe
flash.text.TextRenderer
e suas classes associadas, como a classe CSMSettings. Essas classes concedem controle preciso sobre a renderização da qualidade do texto incorporado. Para obter informações adicionais sobre fontes incorporadas, consulte
Uso de fontes incorporadas
Nota:
A propriedade
flash.text.TextField
.antiAliasType deve ter o valor
AntiAliasType.ADVANCED
para configurar a nitidez, espessura ou propriedade gridFitType, ou usar o método
TextRenderer.setAdvancedAntiAliasingTable()
.
O exemplo a seguir aplica-se às propriedades e formatação da CSM (modulação de traçado contínuo) personalizadas para o texto exibido usando uma fonte incorporada denominada
myFont
. Quando o usuário clicar no texto exibido, o Flash Player ou o Adobe AIR aplicará as configurações personalizadas.
var format:TextFormat = new TextFormat();
format.color = 0x336699;
format.size = 48;
format.font = "myFont";
var myText:TextField = new TextField();
myText.embedFonts = true;
myText.autoSize = TextFieldAutoSize.LEFT;
myText.antiAliasType = AntiAliasType.ADVANCED;
myText.defaultTextFormat = format;
myText.selectable = false;
myText.mouseEnabled = true;
myText.text = "Hello World";
addChild(myText);
myText.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:Event):void
{
var myAntiAliasSettings = new CSMSettings(48, 0.8, -0.8);
var myAliasTable:Array = new Array(myAntiAliasSettings);
TextRenderer.setAdvancedAntiAliasingTable("myFont", FontStyle.ITALIC, TextColorType.DARK_COLOR, myAliasTable);
}
|
|
|