Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Not
Bu konu başlığında, ScriptShape hakkındaki tüm açıklamalar ScriptShapeOpenTypeiçin de geçerlidir.
Bir dizedeki bazı karakterler yazı tipinde desteklenmiyorsa veya uygulama yazı tipi tarafından desteklenmeyen karmaşık bir betik kullanıyorsa, metin görüntüleme sırasında uygulamanızın yazı tipi geri dönüşünü kullanması gerekir. Metin için düzen işlemi sırasında, uygulama ScriptShape işlevini çağırdığında yazı tipi geri dönüş gereksinimi algılanır. Metin görüntüleme hakkında bilgi için bkz. Uniscribeile Metin Görüntüleme.
Desteklenmeyen Karakterler için Yazı Tipi Geri Dönüş Gereksinimini Belirleme
Dizedeki karakterlerden bazıları istenen yazı tipinde desteklenmiyorsa, scriptshapeuygulama çağrısı başarılı olur. Ancak, uygulamanın eksik gliflerin varlığı için glif çıkış arabelleği taraması gerekir. Eksik karakterin glif dizini, ScriptGetFontPropertiesçağrılarak belirli bir yazı tipi için belirlenebilir. Belirli bir karakter kullanılamıyorsa, uygulamanın bir karakter için farklı bir yazı tipine geri dönmesi veya kullanılabilir bir karakter olmadığını belirten bir grafik simgesi işlemesi gerekir.
Desteklenmeyen Karmaşık Betikler için Yazı Tipi Geri Dönüş Gereksinimini Belirleme
Bir uygulamanın görüntülemeyi tercih ettiği yazı tipi, metnin gerektirdiği karmaşık bir betiği desteklemeyebilir. Bu durumda, ScriptShape uygulama çağrısı E_SCRIPT_NOT_IN_FONT hata koduyla başarısız olur.
Geri Dönüş Yazı Tipi Atama
Yazı tipi geri dönüş gerekli olduğunu belirledikten sonra, uygulamanın bir geri dönüş yazı tipi ataması gerekir. Uygulama aşağıdaki teknikleri deneyebilir:
- Her bir yazı tipi için, kabul edilebilir bir dönüş alınana kadar yazı tipi listesindeki ScriptShape fonksiyonunu çağırın.
- Hiçbir yazı tipinin başarılı olmayacağı belirlenene kadar, listedeki her yazı tipiyle ScriptShape çağırabilirsiniz. Eğer hata kodu sürekli E_SCRIPT_NOT_IN_FONT ise, karmaşık betikler yazı tipleri tarafından desteklenmiyor. Kullanılabilir karakter olmadığını belirten bir grafik simgesi oluşturun veya betiği tanımsız (betik işleme yok) olarak yeniden belirtin ve yeniden başlatın. Betiği tanımsız olarak ayarlamak için SCRIPT_ANALYSIS yapısının eScript üyesini SCRIPT_UNDEFINED olarak ayarlayın.
- Hiçbir yazı tipinin başarılı olmayacağı belirlenene kadar, listedeki her yazı tipiyle ScriptShape çağırabilirsiniz. Hata kodu bazı karakterlerin eksik gliflerle eşlendiğini gösteriyorsa, dizeyi daha küçük aralıklara bölün. Daha fazla karakterin işlenebilmesi için alt bölümlere farklı yazı tipleri atanabilir.
Glif Bilgileri Oluşturma
Uygulama, ScriptShapeçağrılarında başarılı olan bir yazı tipi atadıktan sonra, ScriptShapeçıktısından karakter ilerleme genişliği ve iki boyutlu uzaklık bilgileri oluşturmak için ScriptPlace çağrısı yapabilir. Yazı tipi bu çağrılarda başarılı olmalıdır. ScriptPlace çağrısında bir yazı tipi hatası, ScriptShape çağrısı başarılı olduktan sonra bozuk bir yazı tipini gösterir.
İlgili konular