Katıştırılmış Yazı Tipleri
Yazı tipi eklemek, belgeyi ve içerdiği yazı tiplerini başka bir bilgisayara iletim için bir dosyaya paketleme tekniğidir. Yazı tipi eklemek, iletilen dosyada belirtilen bir yazı tipinin dosyayı alan bilgisayarda bulunacağını garanti eder. Ancak çoğu yazı tipi aynı anda yalnızca bir bilgisayara lisanslandığından, tüm yazı tipleri bilgisayardan bilgisayara taşınamayabilir. Yalnızca TrueType ve OpenType yazı tipleri eklenebilir.
Uygulamalar, belgeye yalnızca kullanıcı tarafından istendiğinde yazı tipi eklemelidir. Bir uygulama, katıştırılmış yazı tipleri içeren belgelerle birlikte dağıtılamaz veya uygulamanın kendisi eklenmiş yazı tipi içeremez. Bir uygulama bir yazı tipini herhangi bir biçimde dağıttıysa, yazı tipinin sahibinin mülkiyet hakları kabul edilmelidir.
Eklemeye izin verilmeyen yazı tiplerini eklemek veya yazı tiplerini ekleme konusunda aşağıdaki yönergeleri gözlemlememek, yazı tipi satıcısının mülkiyet haklarının veya kullanıcı lisans sözleşmesinin ihlali olabilir. Bir yazı tipinin lisansı, hedef bilgisayarda bir yazı tipinin yüklenmesi ve kullanılması için yalnızca okuma/yazma izni verebilir. Veya lisans salt okunur izin verebilir. Salt okunur izin, belgenin hedef bilgisayar tarafından görüntülenmesini ve yazdırılmasını (ancak değiştirilmemesini) sağlar; salt okunur katıştırılmış yazı tipleri içeren belgeler salt okunur durumdadır. Salt okunur ekli yazı tipleri belgeden kaldırılmayabilir ve hedef bilgisayara yüklenmeyebilir.
Uygulama, GetOutlineTextMetrics işlevini çağırarak ve OUTLINETEXTMETRIC yapısının otmfsType üyesini inceleyerek lisans durumunu belirleyebilir. otmfsType bit 1 ayarlanırsa, yazı tipi için eklemeye izin verilmez. Bit 1 temizse, yazı tipi eklenebilir. Bit 2 ayarlanırsa, ekleme salt okunurdur.
TrueType yazı tipi eklemek için, bir uygulama yazı tipi dosyasını okumak için getfontdataişlevini kullanabilir. GetFontData'nin dwTable ve dwOffset parametrelerini 0L olarak, cbData parametresini de 1L olarak, uygulamanın yazı tipi dosyasının tamamını baştan okumasını sağlar.
Karakter genişliğine ve yazı tipi verilerinin bulunduğu yere bağlı olarak OpenType yazı tiplerini eklemek için çeşitli işlevler kullanılabilir. Bir cihaz bağlamında bulunan bir OpenType Unicode yazı tipini eklemek için, bir uygulama TTEmbedFontkullanabilir. Bir cihaz bağlamında bulunan bir OpenType UCS-4 yazı tipini eklemek için, bir uygulama TTEmbedFontExkullanabilir. Bir yazı tipi dosyasında bulunan bir OpenType Unicode yazı tipini eklemek için, bir uygulama TTEmbedFontFromFilekullanabilir. OpenType yazı tipi ekleme hakkında ek bilgi için bkz. Yazı Tipi Ekleme Başvurusu.
Bir uygulama yazı tipi verilerini aldıktan sonra, geçerli herhangi bir biçimi kullanarak verileri belgeyle birlikte depolayabilir. Uygulamaların çoğu belgede, eklenmiş yazı tiplerini ve eklemenin okuma/yazma veya salt okunur olup olmadığını listeleyerek bir yazı tipi dizini oluşturur. Bir uygulama, yazı tipini tanımlamak için OUTLINETEXTMETRIC yapısının otmpStyleName ve otmFamilyName üyelerini kullanabilir.
Katıştırılmış yazı tipi için salt okunur bit ayarlandıysa, uygulamaların yazı tipi verilerini belgeyle birlikte depolamadan önce şifrelemesi gerekir. Şifreleme yönteminin karmaşık olması gerekmez; örneğin, yazı tipi verilerini uygulama tanımlı bir sabitle birleştirmek için XOR işlecini kullanmak yeterli ve hızlıdır.