HPDFShapeHeadlessTextOrderedSpan Function

단락에서 파생한 embedding 수준, 스크립트, 시각 위치를 사용해 완전한 물리 줄을 기준으로 선택된 스타일 구간을 shaping합니다

function HPDFShapeHeadlessTextOrderedSpan(const Context: UnicodeString;
  FirstUnit, UnitCount: Integer; const Order: THPDFHeadlessTextOrder;
  const FontBytes: SysUtils.TBytes; MaximumGlyphs: Integer;
  CancellationToken: THPDFCancellationToken;
  CharacterAdvance: Double = 0; WordAdvance: Double = 0): THPDFHeadlessShapedGlyphs;

Order는 완전한 물리 줄 Context의 모든 UTF-16 유닛을 덮어야 합니다. HPDFResolveHeadlessTextLineOrder나 HPDFReorderHeadlessTextLine에서 얻으십시오

FirstUnit과 UnitCount는 물리 줄 안의 완전한 scalar를 고릅니다. 실제 HarfBuzz 버퍼는 주변 줄 텍스트를 받고, 방향과 스크립트는 해석된 단락 순서에서 옵니다

반환된 글리프의 소스 오프셋은 선택된 스타일 구간 기준입니다. 글리프 ID, 진행 폭, 오프셋은 실제 임베딩 폰트와 1000단위/em 배율을 사용합니다

이 함수는 길이가 맞는 배열, 고유한 scalar 시각 순위, embedding 수준, surrogate 일관성, 유한한 간격, 글리프 한도, cancellation을 검증합니다. 깨진 order는 조용히 단독 방향 탐지로 폴백하지 않습니다

문자 간격은 Unicode 방향 제어 문자만 있는 클러스터를 제외하고 shaping된 클러스터마다 한 번 적용됩니다. 단어 간격은 공백 클러스터에 적용되며, 호출자는 원본 논리 값과 스타일 텍스트를 시각 글리프 순서와 별도로 유지합니다