Renderização avançada de textoFlash Player 9 e posterior, Adobe AIR 1.0 e posterior 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 incorporadasQuando 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. 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:
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:
Incorporação de uma fonte no FlashO 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:
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:
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 serrilhadoPor 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); } |
![]() |