Verilen Zengin Metin Yazı Tipi Fallback'i
Eksik zengin metin glyph'lerini, HPDFBuildHeadlessRichTextFamilyAppearance'a veya SetRichTextFieldValueWithFamilies'a verilen ailelerden çözmek için THPDFHeadlessTextAppearanceOptions.FallbackFontFamilies'yi True yapın
Varsayılan False'tur; her yazılmış ailenin ve stilin katı seçimini koruyarak; tek-yazı tipi metin builder'ı, diğer aileleri aramaz
Options:= THPDFHeadlessTextAppearanceOptions.Default;
Options.FallbackFontFamilies:= True;
Document.SetRichTextFieldValueWithFamilies(FieldIndex, Runs, Families, Options);
Seçim ve shaping
Resolver, bitişik yazılmış stil run'ları boyunca ve her paragraf içindeki boş run dikişlerinde eksiksiz Unicode 17 genişletilmiş grapheme sınırlarını kullanır; bir aile kararı, asla bir surrogate çiftini, birleşen diziyi, varyasyon dizisini veya birleştirme cluster'ını bölmez
İlk etkilenen run, FontFamilyCandidates sağladığında bildirilen sırası önceliklidir ve her yapılandırılmış aday, eksiksiz grapheme'in her stilli bölümünü kapsamalıdır; hiçbiri uygun değilse aşağıdaki mevcut seçili-aile ve verilen-dizi fallback kuralları uygulanır
Seçili programlar eksiksiz grapheme'i kapsıyorsa, yazılmış aileleri kullanımda kalır; aksi hâlde resolver önce ilk etkilenen run'ın ailesini dener, ardından dizi sırasıyla verilen aileleri; eksiksiz grapheme'in her stilli bölümünü karşılık gelen gerçek regular, bold, italic veya bold-italic programıyla kapsayan tek bir aileyi seçer
Eksik stil programları aday olarak atlanır; incelenmesi gereken hatalı bir program ise typed geçersiz-yazı-tipi hatası üretir; layout ve shaping kontrolleri, görünür cmap glyph'leri gerektirmez; hiçbir verilen ailenin kapsamadığı bir grapheme haMissingGlyph üretir
Mevcut bağlamsal shaping, çift yönlü sıralama, çapraz-stil işaret yerleşimi, sarmalama, açık paragraf sonları ve widget döndürmesi, çözülmüş appearance run'larına uygulanır
Değerler ve transaction'lar
Fallback run'lar, yalnızca appearance hazırlığı sırasında var olur; çağıranın run'ları değişmeden kalır ve belge, orijinal düz değeri ve yazılmış zengin markup'ı V ve RV'de saklar
Typed punto boyutları ve RGB bileşenleri, serileştirilmiş zengin değerden yeniden kurulmadan doğrudan appearance layout'una geçer; onun kanonik metin gösterimi kendi hassasiyetine sahiptir
Aile-duyarlı FDF ve XFDF import'ları, aynı option'ı kabul eder ve mevcut değiştirilemez-kaynak, imza, güvenlik, semantik no-op ve yayın sözleşmelerini korur
Sınırlar ve bağımlılıklar
Toplam MaxFontBytes sınırı, fallback sırasında incelenen her aile/stil programını sayar; sonunda gömülmeyen geçerli adaylar dâhil; appearance, yalnızca seçilen stilleri gömer
Mevcut UTF-16 girdi, glyph, nesne ve bayt bütçeleri yürürlükte kalır ve çözümleme, en fazla 4096 stilli run üretebilir; cancellation, yazı tipi seçimi ve scalar kapsamı sırasında da, layout ve yayın sırasında da denetlenir
Karmaşık shaping, mevcut HarfBuzz ve FriBidi bağımlılıklarını korur; fallback, yalnızca verilen yazı tipi baytlarını kullanır; örtük sistem yazı tipi keşfi, genel alias'lar, indirilen yazı tipleri veya indirilen style sheet'ler olmadan; açık sıralı yazı tipi aday listeleri, desteklenen inline CSS aile sırasını korur
Native aile API'leri bu option'ı açığa çıkarır; Linux adlandırılmış-aile JSON'u, aynı opt-in bayrağını kabul eder ve gerçek aday programlarını hazırlar; Windows callback fallback yüklemesi ayrı iş olarak kalır
Kabul
Altı native derleyici hedefi, 30 kaydedilmiş PDF üzerinde 199 denetim ve bağımsız1098 değer, gömülü-yazı-tipi, glyph, shaping, hassasiyet, satır ve görünür-piksel denetimi geçirir; gerçek subset ve tam yazı tipi programları, tüm dört stili, çapraz-stil combining işaretlerini, Arapça birleştirmeyi, İbraniceyi, supplementary birleştiricileri, sıralı aile adaylarını, AES R5/R6'yı, FDF/XFDF'yi, typed bütçeleri ve nihai checkpoint dâhil sekiz seçili cancellation checkpoint'ini kapsar
Taze C++Builder interface'leri her iki mimariyi derler; gerçek yayımlanmış eksik-glyph kanıtı ve başarılı gerçek birincil/yedek/birincil widget glyph kanıtı ayrıca korunur