XFA Zengin Metin Property Override'ları
exData draw'larının native düzleştirilmesi, güncel dataset occurrence'ı için yazı tipi ve paragraf özniteliklerini çözer; genel JavaScript veya FormCalc olaylarıyla oluşturulan override'lar dâhil
const label = xfa.resolveNode("main.row[1].label");
label.font.typeface = "Helvetica";
label.font.size = "18pt";
label.font.weight = "bold";
label.font.posture = "italic";
label.font.underline = "1";
label.font.fill.color.value = "0,128,255";
label.para.hAlign = "right";
label.para.spaceAbove = "3pt";
label.para.lineHeight = "30pt";
const span = label.value.exData.body.p.span;
span.setAttribute("color:#FFFF00", "style");
span.value = "Updated text";
Yazı tipi ve paragraf çözümü
Typeface, boyut, ağırlık, duruş, alt çizgi ve yazı tipi dolgu rengi, zengin metin run stilini etkin instance özniteliklerinden ve desteklenen schema varsayılanlarından başlatır
Metin ölçüm callback'i, etkin typeface'i, boyutu, bold ve italic bayraklarını alır; böylece ölçüm ve üretilen run stilleri aynı instance değerlerini kullanır
Windows PDF üreticisi, mantıksal Courier, Helvetica ve Times ailelerini, ölçüm ve draw çıktısı sırasında tutarlı biçimde Courier New, Arial ve Times New Roman'a çözer; Windows, mantıksal adı kurulu bir yüz olarak açığa çıkarmadığında niyetlenen aileyi korur
Paragraf hAlign, marginLeft, marginRight, textIndent, spaceAbove, spaceBelow ve lineHeight, run yerleşimini etkiler; lineHeight, satır adımını metninin gerektirdiği yüksekliğin altına indiremez
Tanınan inline CSS, kalıtsal yazı tipi veya paragraf değerlerini geçersiz kılar; yalnızca bir paragraf margin'ini değiştiren bir bildirim, diğer kalıtsal margin'i korur
Inline run'lar, farklı yazı tipi boyutları boyunca ortak bir metin baseline'ı paylaşır ve bitişik paragraf spacing, önceki spaceBelow ile sonraki spaceAbove'un maksimumunu kullanır; bkz. Zengin Metin Paragraf Geometrisi
Inline içerik ve kalıcılık
Bildirilen XHTML property node'larındaki etkin stil ve href öznitelikleri, zengin metin işlemeye katılır ve etkin scalar metin override'ları, karşılık gelen yaprak içeriğini değiştirir
Bir öznitelik override'ı oluşturmak, metnini silmek yerine o node'un template scalar içeriğini korur; açık boş bir scalar değer, çevreleyen içeriği koruyarak yaprak run'ını çıkarır
Legacy yalnızca-öznitelik form node'ları, template metnini devralmaya devam eder; açık boş bir CDATA içerik node'u, serileştirmeden sonra scalar temizleme ile atlanan gövde arasındaki ayrımı korur
Override'lar, native form packet'inde kalıcıdır, tekrarlanan occurrence'lar boyunca bağımsız kalır ve XDP kaydetme ve reload'u yaşar; başarısız olaylar, tam önceki native belgeyi geri yükler
Kapsam
Bu davranış, zengin metin sarmalama pipeline'ına ve onun tanınan CSS bildirimlerine uygulanır; ek CSS property'leri, eksiksiz widget zengin metin editing'i ve eksik property node'larının örtük oluşturması ayrı hedefler olarak devam eder
Yazı tipi alt çizgi etkinleştirmesi, güncel run renderer'ı kullanır; eksiksiz çift-satır ve ek metin-süsleme geometrisi ayrı rendering hedefleri olarak kalır
İlgili API'ler
Native XFA Property DOM, Schema Varsayılanları, HPDFXFAResolveFormInstanceProperty ve ApplyXFAAsAcroForm