Pakiet flash.text package zawiera liczne klasy języka ActionScript 3.0 służące do sterowania właściwościami wyświetlanego tekstu, w tym osadzonymi czcionkami, wygładzaniem, kanałem alfa i innymi ustawieniami. Skorowidz języka ActionScript 3.0 zawiera szczegółowe opisy tych klas i właściwości, w tym również klas CSMSettings, Font i TextRenderer.
Korzystnie z czcionek osadzonych
Gdy dla obiektu TextField w aplikacji zostanie określony konkretna czcionka, odtwarzacz Flash Player lub środowisko AIR poszukuje czcionki urządzenia (czcionki rezydującej na komputerze użytkownika) o tej samej nazwie. Jeśli taka czcionka nie zostanie znaleziona w systemie lub użytkownik dysponuje nieco inną wersją czcionki o danej nazwie, wyświetlany tekst może wyglądać inaczej niż zakładał autor aplikacji. Domyślnie tekst jest wyświetlany przy użyciu czcionki Times Roman.
Aby mieć pewność, że użytkownik będzie widział właściwą czcionkę, można ją osadzić w pliku SWF aplikacji. Korzystanie z czcionek osadzonych przynosi szereg korzyści:
-
Znaki czcionki osadzonej są wygładzane, przez co ich krawędzie są gładsze (dotyczy to zwłaszcza znaków o większym rozmiarze).
-
Tekst zapisany czcionką osadzoną można obracać.
-
Tekst zapisany czcionką osadzoną może być przezroczysty lub półprzezroczysty.
-
Do czcionek osadzonych można stosować styl CSS
kerning
.
Największym ograniczeniem związanym z użyciem czcionek osadzonych jest wzrost objętości pliku aplikacji (a tym samym ilości danych do pobrania, jeśli aplikacja jest pobierana przez użytkowników z sieci).
Dokładna metoda osadzania czcionki w pliku SWF aplikacji różni się w zależności od posiadanego środowiska programistycznego.
Po osadzeniu czcionki można spowodować, aby była ona używana w obiekcie TextField:
-
Właściwości
embedFonts
obiektu TextField należy przypisać wartość
true
.
-
Należy utworzyć obiekt TextFormat, przypisać jego właściwości
fontFamily
nazwę czcionki osadzonej, po czym zastosować obiekt TextFormat do obiektu TextField. Określając czcionkę osadzoną, należy właściwości
fontFamily
przypisać jedną nazwę. Właściwość ta nie może zawierać listy nazw czcionek rozdzielonych przecinkami.
-
Jeśli do określania czcionek pól tekstowych lub składników używane są style CSS, należy właściwości CSS
font-family
przypisać nazwę osadzonej czcionki. W przypadku określania czcionki osadzonej właściwość
font-family
musi zawierać pojedynczą nazwę, a nie listę nazw.
Osadzanie czcionki w programie Flash
Narzędzie programu Flash Professional umożliwia osadzenie niemal dowolnej czcionki zainstalowanej w systemie, w tym czcionek TrueType i czcionek postscriptowych Type 1.
Istnieje wiele sposobów osadzania czcionek w aplikacji, między innymi:
-
Określenie właściwości font i style obiektu TextField na stole montażowym i kliknięcie pola wyboru Osadź czcionki.
-
Utworzenie symbolu czcionki i odwołanie się do niego.
-
Utworzenie i użycie biblioteki wspólnej czasu wykonywania zawierającej osadzone symbole czcionek.
Szczegółowe informacje o sposobie osadzania czcionek w aplikacjach zawiera sekcja „Czcionki osadzone dla dynamicznych lub wejściowych pól tekstowych” w podręczniku
Korzystanie z programu Flash
.
Osadzanie czcionek w środowisku Flex
Istnieje wiele sposobów osadzania czcionek w aplikacji Flex, między innymi:
-
Użycie znacznika metadanych
[Embed]
w skrypcie.
-
Użycie deklaracji stylu
@font-face
.
-
Utworzenie klasy czcionki i osadzenie jej za pomocą znacznika
[Embed]
.
Bezpośrednio w aplikacji Flex można osadzać tylko czcionki TrueType. Czcionki w innych formatach, takie jak czcionki postscriptowe Type 1, należy najpierw osadzić w pliku SWF za pomocą programu Flash Professional, a następnie użyć takiego pliku SWF w aplikacji Flex. Szczegółowe informacje na temat używania czcionek osadzonych z plików SWF w aplikacji Flex zawiera sekcja „Osadzanie czcionek z plików SWF” w podręczniku
Korzystanie z programu Flex 4
.
Sterowanie wyostrzeniem, grubością i wygładzaniem
Domyślnie parametry wyświetlania tekstu, takie jak wyostrzenie, grubość i wygładzanie, są dobierane przez program Flash Player lub środowisku AIR odpowiednio do wielkości, zmian kolorów i zmiennego tła tekstu. W niektórych przypadkach, gdy tekst jest bardzo mały lub bardzo duży bądź jest wyświetlany na różnych nietypowych tłach, celowe może być bezpośrednie sterowanie tymi ustawieniami. Klasa
flash.text.TextRenderer
oraz klasy z nią powiązane, takie jak CSMSettings, umożliwiają przesłonięcie ustawień dobranych przez program Flash Player lub środowisko AIR. Klasy te pozwalają na precyzyjne sterowanie jakością renderowania tekstu osadzonego. Więcej informacji na temat czcionek osadzonych zawiera sekcja
Korzystnie z czcionek osadzonych
.
Uwaga:
Aby możliwe było ustawianie wyostrzania, grubości lub właściwości gridFitType bądź używanie metody
TextRenderer.setAdvancedAntiAliasingTable()
, właściwość
flash.text.TextField
.antiAliasType musi mieć wartość
AntiAliasType.ADVANCED
.
Poniższy przykład ilustruje zastosowanie właściwości CSM i formatowania do tekstu wyświetlanego czcionką osadzoną o nazwie
myFont
. Gdy użytkownik kliknie wyświetlony tekst, program Flash Player lub środowisko Adobe AIR zastosuje niestandardowe ustawienia:
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);
}
|
|
|