Karmaşık Betik İşleme

Aşağıda, ince tipografi efektlerini veya karmaşık betikleri desteklemek için metin görüntüleme ve ilgili işleme seçenekleri verilmiştir:

  • Metin işlevleri
  • Düzenleme kontrolleri
  • Zengin düzenleme denetimleri
  • Uniscribe

Seçtiğiniz seçenekler aşağıdaki faktörlere bağlıdır:

  • Metin veya betik türü.
  • Uygulama modeli, örneğin metin düzeni ve uygulama tarafından satır kesme işleminin işlenmesi.
  • Mevcut bir uygulamanın güncelleştirilerek yeni bir uygulamanın oluşturulmasına karşı.

Genel olarak, nispeten basit betik işlemesi yapabilen bir uygulama, karmaşık betikleri işlemek için herhangi bir seçeneği belirleyebilir. Ancak, karmaşık betik işlemenin en kapsamlı denetimi için Uniscribe önerilir.

Metin İşlevlerini Kullanarak Karmaşık Betik İşleme

Çoğunlukla düz metin, yani aynı yazı biçimi, kalınlık, renk vb. kullanan metinleri kullanan uygulamalar, TextOut, ExtTextOut, TabbedTextOut, DrawTextve GetTextExtentExPointgibi standart metin işlevlerini kullanarak geleneksel olarak metin ve ölçülen satır uzunluklarına sahiptir. Bu işlevler karmaşık betikler ve ince tipografi efektleri için işlemeyi destekler. Daha fazla bilgi için bkz. Yazı Tipleri ve Metin.

Genel olarak, standart metin desteği karmaşık betikleri işleyen uygulamalar için saydamdır. Ancak, ince tipografiyi destekleyen ve karmaşık betikleri işleyen uygulamalar yazarken izlenecek bazı belirli kuralları bilmeniz gerekir:

  • Uygulamanızın, karakterleri bir arabelleğe kaydetmesi ve metin satırının tamamını tek seferde görüntülemesi gerekir; bu, örneğin, kullanıcı her karakteri yazdığında ExtTextOutçağrılması yerine tercih edilmelidir. Bu mekanizma, gelişmiş metin şekillendirme modüllerinin bağlamı kullanarak glifleri yeniden sıralamasını ve oluşturmasını sağlar.
  • Bir karakterin genişliği bağlama göre değişebileceğinden uygulama, önbelleğe alınan karakter genişliklerinden satır uzunluklarını hesaplama yerine çizgi uzunluğunu belirlemek için GetTextExtentExPointkullanmalıdır.
  • Uygulamanın isteğe bağlı olarak sağdan sola okuma sırası ve sağ hizalama desteği eklemesi gerekir.
  • Karmaşık betikler veya ince tipografi için gereken yeniden sıralama ve bağlamsal işleme, basit betikler için temel metin görüntüsü üzerinde işlemede önemli bir artış gerektirir. Bu nedenle, performans sorunlarını önlemek için uygulamanızın sonuçları görüntülemeden ve denetimi kullanıcıya döndürmeden önce büyük miktarda metni işlememesi gerekir.

Düzenleme Kontrollerini Kullanarak Karmaşık Yazı İşleme

Standart Windows düzenleme denetimleri, çok dilli metinleri ve karmaşık betikleri destekleyecek şekilde genişletildi. Genişletilmiş destek giriş ve görüntülemenin yanı sıra karakter kümeleri üzerinde doğru imleç hareketini (örneğin Tay dili ve Devanagari betiklerinde) içerir. Daha fazla bilgi için bkz. Denetimleri Düzenleme.

Gelişmiş Metin Düzenleyiciler Kullanarak Karmaşık Betik İşleme

Rich Edit 3.0, metin düzeni uygulamalarını belirli betiklerin karmaşıklıklarından yalıtmak için Uniscribe'den yararlanan daha üst düzey bir arabirim koleksiyonudur. Rich Edit, birincil amacı metin düzeni olmasa bile uygulamaların karmaşık metinleri görüntülemesinin en basit yoludur. Zengin Düzenleme, zengin Unicode çok dilli metnin ve basit düz metnin hızlı ve çok yönlü bir şekilde düzenlenmesini sağlar. Kapsamlı ileti ve COM arabirimleri, metin düzenleme, biçimlendirme, satır sonu, basit tablo düzeni, dikey metin düzeni, çift yönlü metin düzeni, Hint ve Tay desteği, Microsoft Word gibi bir düzenleme kullanıcı arabirimi ve Metin Nesne Modeli arabirimleri içerir.

Zengin Düzenleme arabirimleriyle birlikte, uygulamalar satırları otomatik olarak ayrıştırmak, şekillendirmek, konumlandırmak ve kesmek için Zengin Düzenleme TextOut işlevini kullanabilir. Daha fazla bilgi için, Zengin Düzenleme Denetimleri'a bakın.

Uniscribe Kullanarak Karmaşık Betik İşleme

Uniscribe, ince tipografi efektleri ve karmaşık betikler içeren metinlerin işlenmesi için en kapsamlı desteği sağlar. Arapça, Devanagari ve Tay dili gibi betiklerde bulunan karmaşık kuralları destekler. Sağdan sola yazılan betikleri, örneğin Arapça ve İbranice'yi işler ve farklı betiklerin bir arada kullanılmasını destekler. Uniscribe, ince tipografi efektlerini denetlemek için uygulamalar tarafından kullanılabilecek OpenType yazı tipi özelliklerini de kullanıma sunar. Daha fazla bilgi için bkz. Karmaşık Betikleri İşleme.

Uniscribe Hakkında

karmaşık betikleri işleme