Aracılığıyla paylaş


Karakter Genişlikleri

Uygulamaların, metin dizelerini sayfaya veya sütun genişliklerine sığdırma gibi görevleri gerçekleştirdiklerinde karakter genişliği verilerini alması gerekir. Bir uygulamanın karakter genişliği verilerini almak için kullanabileceği dört işlev vardır. Bu işlevlerden ikisi karakter ilerleme genişliğini alır ve bu işlevlerden ikisi gerçek karakter genişliği verilerini alır.

Bir uygulama, bir metin dizesindeki tek tek karakterlerin veya simgelerin ilerleme genişliğini almak için GetCharWidth32 ve GetCharWidthFloat işlevlerini kullanabilir. İlerleme genişliği, bir video ekranındaki imlecin veya yazıcıdaki yazdırma kafasının bir metin dizesinde sonraki karakteri yazdırmadan önce ilerlemesi gereken uzaklıktır. GetCharWidth32işlevi, ilerleme genişliğini tamsayı değeri olarak döndürür. Daha fazla duyarlık gerekiyorsa, uygulama kesirli ileri genişlik değerlerini almak için GetCharWidthFloatişlevinikullanabilir.

Bir uygulama GetCharABCWidths ve GetCharABCWidthsFloatişlevlerinikullanarak gerçek karakter genişliği verilerini alabilir. GetCharABCWidthsFloat işlevi tüm yazı tipleriyle çalışır. GetCharABCWidths işlevi yalnızca TrueType ve OpenType yazı tipleriyle çalışır. TrueType ve OpenType yazı tipleri hakkında daha fazla bilgi için bkz. Raster, Vector, TrueType ve OpenType Yazı Tipleri.

Aşağıdaki çizimde karakter genişliğinin üç bileşeni gösterilmektedir:

bitişik iki karakterin aralıklarını, b aralıklarını ve c aralıklarını gösteren çizim

A aralığı, karakteri yerleştirmeden önce geçerli konuma eklenecek genişliktir. B aralığı, karakterin kendisinin genişliğidir. C aralığı, karakterin sağındaki boşlukdur. Toplam ilerleme genişliği, A+B+C toplamı hesaplanarak belirlenir. Karakter hücresi, yazı tipindeki her karakteri veya simgeyi çevreleyen hayali bir dikdörtgendir. Karakterler karakter hücresinin üzerinde veya altında olabileceğinden, A ve C artışlarının her ikisi de negatif bir sayı olabilir.