Gelişmiş metin oluşturma

Flash Player 9 ve üstü, Adobe AIR 1.0 ve üstü

ActionScript 3.0, flash.text package ile, gömülü fontlar, kenar yumuşatma ayarları, alfa kanal denetimi ve diğer belirli ayarlar da dahil olmak üzere, görüntülenen metnin özelliklerini denetlemek için çeşitli sınıflar sağlar. ActionScript 3.0 Başvurusu, CSMSettings, Font ve TextRenderer sınıfları da dahil olmak üzere, bu sınıfların ve özelliklerin ayrıntılı açıklamalarını sağlar.

Gömülü fontları kullanma

Uygulamanızdaki TextField için belirli bir font belirttiğinizde, Flash Player veya AIR aynı ada sahip bir aygıt fontu (kullanıcının bilgisayarında bulunan bir font) arar. Söz konusu fontu sistemde bulamazsa veya kullanıcı bu fontun aynı ada sahip olan biraz farklı bir sürümüne sahipse, metin görüntüsü amaçladığınızdan çok farklı görünebilir. Varsayılan olarak, metin Times Roman fontunda görünür.

Kullanıcının tam olarak doğru fontu gördüğünden emin olmak için, söz konusu fontu uygulama SWF dosyanıza gömebilirsiniz. Gömülü fontlar birkaç açıdan faydalıdır:

  • Gömülü font karakterlerine, özellikle büyük metinlerde kenarlarının daha yumuşak görünmesini sağlayacak şekilde kenar yumuşatma uygulanmıştır.

  • Gömülü font kullanan metni döndürebilirsiniz.

  • Gömülü font metni, saydam veya yarı saydam yapılabilir.

  • Gömülü fontlarla kerning CSS stilini kullanabilirsiniz.

Gömülü fontları kullanmanın getirdiği en büyük sınırlama, uygulamanızın dosya boyutunu veya indirme boyutunu artırmasıdır.

Uygulama SWF dosyanıza bir font dosyası gömmeye yönelik tam yöntem, geliştirme ortamınıza göre değişiklik gösterir.

Bir fontu gömdükten sonra, TextField öğesinin doğru gömülü fontu kullandığından şu şekilde emin olabilirsiniz:

  • TextField öğesinin embedFonts özelliğini true değerine ayarlayın.

  • Bir TextFormat nesnesi oluşturun, fontFamily özelliğini gömülü fontun adına ayarlayın ve TextFormat nesnesini TextField öğesine uygulayın. Gömülü bir font belirtirken, fontFamily özelliği yalnızca tek bir as içermelidir; birden çok font adı içeren virgül sınırlı bir liste kullanamaz.

  • TextField öğeleri veya bileşenler için font ayarlamak üzere CSS stilleri kullanılıyorsa, font-family CSS özelliğini gömülü fontun adına ayarlayın. Bir gömülü font belirtmek istiyorsanız, font-family özelliği bir ad listesi değil, tek bir ad içermelidir.

Flash'ta font gömme

Flash Professional, TrueType fontları ve Type 1 Postscript fontları dahil olmak üzere, neredeyse sisteminize yüklediğiniz tüm fontlardan herhangi birini gömmenize izin verir.

Bir uygulamaya, aşağıdaki yöntemler de dahil olmak üzere birçok şekilde font gömebilirsiniz:

  • Sahne Alanı'nda bir TextField öğesinin font ve stil özelliklerini ayarlama ve Gömülü Fontlar onay kutusunu tıklatma

  • Bir font sembolü oluşturma ve buna başvurma

  • Gömülü font sembolleri içeren bir çalışma zamanı paylaşımlı kütüphane oluşturup kullanma

Uygulamalara font gömme hakkında daha fazla ayrıntı için, Flash'ı Kullanma bölümündeki "Dinamik metin alanları ve girdi metni alanları için gömülü fontlar" konusuna bakın.

Flex'te font gömme

Bir Flex uygulamasına, aşağıdaki yöntemler de dahil olmak üzere birçok şekilde font gömebilirsiniz:

  • Bir komut dosyasında [Embed] meta veri etiketini kullanma

  • @font-face stil bildirimini kullanma

  • Font için bir sınıf kurun ve gömmek için [Embed] etiketini kullanın.

Bir Flex uygulamasına yalnızca TrueType fontlarını doğrudan gömebilirsiniz. Type 1 Postscript fontları gibi diğer biçimlerdeki fontlar, ilk olarak Flash Professional kullanılarak bir SWF dosyasına gömülebilir ve daha sonra bu SWF dosyası, Flex uygulamanızda kullanılabilir. Flex'te SWF dosyalarından gömülü font kullanma hakkında daha fazla ayrıntı için, Flex 4'ü kullanma bölümündeki "SWF dosyalarından font gömme" başlığına bakın.

Keskinliği, kalınlığı ve yumuşatmayı denetleme

Varsayılan olarak Flash Player veya AIR, keskinlik, kalınlık ve kenar yumuşatma gibi metin görüntüsü denetimlerinin ayarlarını, metin yeniden boyutlandırıldığında, renk değiştirdiğinde veya çeşitli arka planlar üzerinde görüntülendiğinde belirler. Çok küçük veya çok büyük metinle çalıştığınız ya da metinle çeşitli arka planlar üzerinde çalıştığınız durumlar gibi bazı durumlarda, bu ayarlar üzerindeki denetiminizi korumak isteyebilirsiniz. flash.text.TextRenderer sınıfını ve CSMSettings sınıfı gibi ilişkili sınıflarını kullanarak, Flash Player veya AIR ayarlarınızı geçersiz kılabilirsiniz. Bu sınıflar size, gömülü metnin oluşturma kalitesi üzerinde kesin denetim sunar. Gömülü fontlar hakkında daha fazla bilgi için, Gömülü fontları kullanma konusuna bakın.

Not: flash.text.TextField .antiAliasType özelliği, keskinliği, kalınlığı veya gridFitType özelliğini ayarlayabilmeniz ya da TextRenderer.setAdvancedAntiAliasingTable() yöntemini kullanabilmeniz için AntiAliasType.ADVANCED değerine sahip olmalıdır.

Aşağıdaki örnek, myFont adında gömülü bir fontu kullanarak görüntülenen metne sürekli kontur modülasyonu (CSM) özellikleri ve formatlaması uygular. Kullanıcı görüntülenen metni tıklattığında, Flash Player veya Adobe AIR özel ayarlar uygular:

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); 
}