Makale Özeti

Bu makalede Silverlight içerisinde Glyphs kontrolünü kullanarak platform bağımsız olarak sunucu tarafına yerleştirdiğimiz fontların istemcide kullanımına değiniyoruz.

Makale

Daha önceki yazılarımda Silverlight 1.0 ile beraber sunucu tarafına yerleştirilen font dosyalarının istemcide "yükleme bağımsız" ve "platform bağımsız" olarak nasıl kullanılabileceğinden bahsetmiştim. Bunlara ek olarak daha kolay bir kullanım ile özellikle farklı font dosyalarındaki belirli görselleri gösterme amacıyla kullanabileceğiniz bir de Glyphs kontrolümüz bulunuyor.

Örneğimizde meşhur Webdings font serisinden bir font kullanarak istediğimiz bir görselin gösterilmesini sağlayacağız. Bunun için herhangi bir JavaScript kodu yazmamız gerekmiyor.

<Canvas

  xmlns="http://schemas.microsoft.com/client/2007"

  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

  Width="300" Height="300"

  Background="White"

  x:Name="Page"

  >

  <Glyphs Width="147" Height="93" Canvas.Left="29" Canvas.Top="76" Fill="#FF000000"

  FontRenderingEmSize="72" Indices="134" FontUri="webdings.ttf"/>

</Canvas>

Yukarıdaki XAML kodu içerisinde özellikle koyu yazılı bölgeye dikkat etmekte fayda var. Webdings.ttf dosyası Silverlight tarafından otomatik olarak sunucudan indirilerek font içerisindeki karakter tablosundan 134. karakter alınarak ekranda gösterilecektir.

Glyphs ile font dosyasından alınan vektörel görsel.
Glyphs ile font dosyasından alınan vektörel görsel.

Fontlardan tek tek görsel almanın yanı sıra isterseniz Glyphs kontrolünü belirli bir yazı bir font ile göstermek için de kullanabilirsiniz. Bu noktada benim tercihim yazının başında belirttiğim ve daha önceki yazılarımdaki teknik olacaktır fakat bu tekniğin avantajı herhangi bir JavaScript kodu yazmıyor olmak olarak da değerlendirilebilir :)

<Canvas

  xmlns="http://schemas.microsoft.com/client/2007"

  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

  Width="300" Height="300"

  Background="White"

  x:Name="Page"

  >

  <Glyphs Width="147" Height="93" Canvas.Left="29" Canvas.Top="76"

  UnicodeString="Selamlar" Fill="#FF000000" FontRenderingEmSize="72"

  FontUri="webdings.ttf"/>

</Canvas>

Bu sefer farklı olarak Indices tanımlamasını yapmak yerine doğrudan göstermek istediğimiz karakterleri UnicodeString parametresine aktarıyoruz.

Hepinize kolay gelsin.

Daron Yöndem
MCT, MCPD, MCITP, MCTS, MCSD, MCAD
MCDBA, MCP, ACP, ICSD
http://daron.yondem.com