HPDFShapeHeadlessTextStyledSpan
function HPDFShapeHeadlessTextStyledSpan(const Context: UnicodeString;
FirstUnit, UnitCount: Integer; const Order: THPDFHeadlessTextOrder;
const FontBytes: SysUtils.TBytes; MaximumGlyphs: Integer;
CancellationToken: THPDFCancellationToken;
CharacterAdvance, WordAdvance: Double;
CSSLetterSpacing, CSSWordSpacing: Boolean): THPDFHeadlessShapedGlyphs;
HPDFHeadlessShaping içinde bildirilen bu fonksiyon, bir UTF-16 span'ını eksiksiz çevreleyen bağlamıyla ve çoktan çözülmüş görsel sırasıyla, verilen HarfBuzz ve FriBidi runtime'ı ve yazı tipi baytlarıyla şekillendirir
FirstUnit, sıfır tabanlı bir UTF-16 offset'tir ve UnitCount istenen span'ı seçer; çağıranlar uyumlu sıra verisi ve pozitif bir MaximumGlyphs bütçesi sağlamalıdır
CharacterAdvance ve WordAdvance, PDF punto yerine normalize edilmiş 1000-font-unit ilerlemeler kullanır; çağırmadan önce punto spacing'i punto * 1000 / fontSize ile dönüştürün
Ham ilerlemeler sonlu olmalı ve mutlak değerleri en fazla 1000000000000000 olmalıdır; desteklenen minimum pozitif yazı tipi boyutunda native punto bütçesine izin verir; appearance builder'ları kendi ayrı yazılmış ve hesaplanmış punto sınırlarını uygular
CSSLetterSpacing, tipografik-birim tracking'i ve isteğe bağlı-ligatür işlemeyi sağlar; CSSWordSpacing, sınırlı spacing profilini izleyerek SPACE ve NBSP cluster'ları çevresinde yarım spacing sağlar; ayırıcı işaretler dâhil
Döndürülen glyph ilerlemeleri ve offset'leri istenen spacing'i içerir; SpacingAdvance katkısını kaydederken TypographicUnit, CursiveUnit ve WordSeparator, zengin fiziksel-satır bestecisi için sınır metadata'sı sağlar
Cancellation, sınıflandırma ve shaping sırasında denetlenir ve glyph-bütçesi veya hatalı-girdi hataları mevcut shaping exception sözleşmesini kullanır; bu fonksiyon ne PDF yayınlar ne de çağıranın yazı tipi baytlarına veya token'ına sahiptir
Mevcut shaping giriş noktaları önceki semantiklerini korur; Pascal ve C++Builder tüketicilerini eşleşen public glyph kaydı ve üretilmiş header'larla yeniden kurun