Native FreeText default appearance'ları

Native FreeText fallback, sınırlı default-appearance durumunu üretilmiş metne, layout'a, otomatik sığdırmaya ve süslemelere uygular

Verilen bir normal appearance, FreeText default appearance'ı ve rich text'ten üretime göre önceliklidir

Default-appearance operator'leri

Operator'lerFallback davranışı
TfOrijinal yazı tipi kaynağını ve metin boyutunu seçer; sıfır boyut sınırlı otomatik sığdırma ister
g rg kMetin dolgu rengini gri, RGB veya CMYK olarak başlatır
Tc Tw TzKarakter aralığını, kelime aralığını ve yatay metin ölçeğini boyamaya ve layout ölçümlerine uygular
Ts TLMetin yükseltisini ve açık taban çizgisi ayrımını uygular; sıfır veya negatif leading dâhil
TmEn fazla bir matris kabul eder; lineer kısmı üretilmiş metni dönüştürür, yerleşimi ise anotasyon layout'u belirler
TrSıfırdan yediye glyph boya ve metin kırpma modlarını seçer
G RG K w J j M dMetin ve üretilmiş süslemeler için stroke rengini, genişliği, cap'ı, join'i, miter'i ve dash durumunu başlatır

Matris translation operanda doğrulanır ama FreeText'in anotasyon dikdörtgeni içindeki yerleşimini değiştirmez

Yatay ölçek sıfır veya negatif olabilir; yükselti, aralık ve lineer matris dönüştürülmüş glyph, advance ve süsleme geometrisine katılır

Bu sınırlı bir default-appearance profilidir, genel bir PDF content-stream yorumlayıcısı değildir; desteklenmeyen operator'ler, geçersiz operand sayıları, bozuk değerler ve yinelenen metin matrisleri bir rendering hatası üretir

Stroke renk bileşenleri sıfır ile bir arasında olmalı, cap ve join değerleri sıfırdan ikiye tamsayı olmalı, genişlik negatif olmamalı ve miter limit en az bir olmalıdır

Bir dash array en fazla 256 negatif olmayan sonlu değer içerebilir ve boş olmayan bir array pozitif bir değer içermelidir; boş array solid stroke'ları seçer, tek sayılı array yinelenir ve faz negatif olmamalıdır

Layout, kaydırma ve yerleşim

FreeText hizalama, sol, orta veya sağ yerleşim için görünür advance'leri kullanır; kodlanmış sondaki boşluklar ve onların kaynak eşlemeleri, üretilmiş stream o parçaları koruduğunda mevcut kalır

Kelime sınırı kaydırma ve sert paragraf sonları ayrı ele alınır; kırılmayan boşluk, sıradan bir ASCII yumuşak ayırıcıya dönüşmez

Orijinal ham-yazı-tipi yolu, sınırlı boşluk ve tire kaydırma kurallarını korur; bu kabul kümesi her Unicode satır kırma, çift yönlü veya karmaşık shaping durumunu kapsamaz

Fiziksel anotasyon dikdörtgeni, kök Form sınırları ve iç kırprma sabit kalır; geçici alt Form sınırları tam ata ve yerleşim zincirini hesaba katar

Glyph boyama ve metin kırpma

TrGlyph boyamaKırpma katkısı
0DolguYok
1StrokeYok
2Dolgu ve strokeYok
3Glyph boyama yokYok
4DolguGlyph dış hatları
5StrokeGlyph dış hatları
6Dolgu ve strokeGlyph dış hatları
7Glyph boyama yokGlyph dış hatları

Dörtten yediye modlar, tek bir metin nesnesinde üretilmiş run'lar boyunca glyph dış hatlarını biriktirir; biriktirilmiş metin kırpması, o metin nesnesinden sonra üretilen alt çizgi ve üstü çizili süslemelere uygulanır

Kırpma, genişletilmiş stroke silüeti yerine glyph dış hatlarını kullanır; boyama durumu her run'a özgü kalır ve kapsayan graphics-state kapsamı kırpmanın ömrünü sınırlar

Başlangıç DA stroke durumu, kök süsleme kapsamında olduğu gibi metin kapsamlarında da uygulanır; run başına geçersiz kılmalar ve graphics-state save/restore anlamlarını korur

Dört pozitif kırpma durumu, el yazısı iki-run appearance'ları, pozitif kırpılmış süslemeler ve glyph birleşimi dışındaki beyaz örneklerle ayrı bir kabul kapısıdır

Bu kapı ayrıca backend metin kırpmasını test etmek için açık-appearance dikdörtgen-dolgu tanığı kullanır; tanık, eksik-appearance üretiminin dikdörtgen dolgusu saldığını iddia etmez

Bağımsız pozitif Tr4 ile Tr7 okuyucu doğrulaması, dört sonlu iki-run durumunu resmi MuPDF 1.28.5 ve Poppler ile geçti; her iki glyph iç kısmı, kırpılmış süslemeler ve glyph birleşimi dışındaki beyaz örnekler dâhil

Ayrı clip-only test revizyonu, değişmemiş sayfa-uzayı tanık noktalarından tam piksel hücreleri seçmek için Scale4 kullanır; orijinal renk eşiklerini korur ve normal rendering'i Scale1'de bırakır

MuPDF 1.28.2, aynı metin nesnesinde bir renk değişikliği sonraki bir run'dan önce bir run'ı boşalttığında kırpma-sınırı uyumluluk sorunu yaşar; önceki run biriktirilmiş kırpma sınırlarından çıkarılabilir

Resmi MuPDF 1.28.5 CLI ve bağımsız sabitlenmiş Poppler bu değişmemiş appearance'ları kabul etti; okuyucu sürümleri ve sonlu pozitif kontroller, her rendering pipeline'i için bir garanti olmaktan ayrı kalır

Otomatik sığdırma

Sıfır DA yazı tipi boyutu, başlangıç üretilmiş layout'undan sınırlı bir küçültme ve iyileştirme araması başlatır; yalnızca dönüştürülmemiş satır yüksekliği yerine dönüştürülmüş glyph yolları, advance'ler ve süslemeler kullanır

Stroke genişletmesi, kesikli kare-cap köşelerin ve miter join'lerin ihtiyatlı dönüştürülmüş desteğini içerir

Arama, yerleşik Cairo ve FreeType yol kuantalamasını korur; matematiksel olarak en büyük ideal yazı tipi boyutunu veya okuyucular arasında özdeş hinting vaat etmez

Sınırlı arama en küçük denemesine ulaşmadan önce hiçbir deneme sığmazsa, fiziksel kırprma yayımlamayı yine sınırlar; çok uzun içeriğin tamamen görünür kalacağı garanti edilmez

Orijinal yazı tipleri ve kaynak sınırları

Orijinal gömülü Type1C, CIDFontType0C ve çıplak Type1 fallback zaten destekleniyor; tam OpenType CFF ve CFF2 default-instance appearance yolları belgelenmiş eşleme ve gömme kurallarını korur

Bağımsız ham CFF2 stream'leri ve varsayılan olmayan varyasyon koordinatlarının seçimi, yayımlanan CFF2 yolunun dışında kalır

Token, nesne, çalışma belleği, işlem, çözülmüş veri ve çıktı sınırları ayrıştırmaya, geçici kaynaklara, sığdırmaya ve yayımlamaya uygulanır; sınırlı iş sırasında cancellation yoklanır

Başarısızlık kaynak graf'i korur ve aynı belge içinde kurtarmaya izin verir; bir sınıra ulaşmak kısmen üretilmiş bir appearance'ı başarılı bir sonuca dönüştürmez

Tekrarlanabilir kabul ve kalan sınırlar

Genel suite, varlıkları ve eksiksiz arşiv manifestosuyla dağıtılan Tests/Linux/AnnotationDefaultAppearance/RunAnnotationDefaultAppearance.py'dir

Normal modu, maksimum kanal farkı ikide 45 aday/el-yazısı-AP çifti, yedi orijinal limit grubu ve epsilon 1e-6'da bağımsız orijinal-AP sürekli geometrisi çalıştırır

Pozitif orijinal-AP okuyucu render'ları ve bilinen dikey piksel hücre gözlemleri sürekli geometriden ayrı kaydedilir; ne çift eşitliği ne de o sonlu gözlemler keyfi üretilmiş aday geometrisini veya keyfi dönüştürülmüş raster zarflarını kanıtlar

Sonlu-AP modu, korunan altı açık-appearance afin ve dash kontrolünü denetler; normal kabulü, üretilmiş aday kontrollerini veya limit testlerini değiştirmez

Korunan 45 üretilmiş appearance, epsilon 1e-6'da bağımsız sürekli geometriyi geçti; onların 90 sabitlenmiş MuPDF ve Poppler okuyucu görseli, tüm 3,168,000 piksel hücresinde maksimum kanal farkı sıfır, atlanan görsel yok ve dışlanan hücre yokla bağımsız bir tam-görsel modelini de geçti

O sonlu model, beklenen glyph'leri, dönüşümleri, kırpmayı, stroke'ları ve kompozisyonu orijinal el yazısı appearance'larından ve yazı tipi dış hatlarından türetir, her okuyucunun sabitlenmiş FreeType çekirdeğini kullanır; beklenen pikselleri gözlemlenen görsellerden öğrenmez

Orijinal maksimum kanal farkı iki olarak ve mürekkep eşiği 245 olarak kalır; bu geçişler korunan korpusu ve sabitlenmiş pipeline'ları kapsar, keyfi yazı tiplerini, tüm renderer derlemelerini veya matematiksel olarak en büyük sığdırılmış boyutun kanıtını değil

Linux ve Windows FPC hedefleri FPC 3.3.1 veya üstünü gerektirir; Windows FPC ayrıca doğrulanmış özel bir NoGUI bağımlılık derlemesi kullanır ve masaüstü-okuyucu başlatması yoktur

İlgili konular: anotasyon fallback'i, anotasyon süslemeleri, rich text run spacing'i, orijinal ham-yazı-tipi appearance'ları ve OpenType CFF2 default-instance appearance'ları