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