HPDFPrepareHeadlessRichTextLineBoxes
function HPDFPrepareHeadlessRichTextLineBoxes(
const Runs: THPDFHeadlessRichTextRuns; MaximumRuns: Integer;
CancellationToken: THPDFCancellationToken = nil): THPDFHeadlessRichTextRuns;
명시적 리치 줄 높이에 필요한 메트릭 전용 문단 스트럿을 담은 별도의 run 시퀀스를 반환합니다. 호출자의 작성 run 레코드는 수정하지 않습니다
MaximumRuns는 1 이상 4096 이하여야 하고 삽입된 스트럿을 포함합니다. 그 용량을 넘으면 haLimitExceeded를 가진 EHPDFHeadlessAppearanceError를 일으킵니다
명시적 높이를 가진 문단은 명시적 스트럿이 없으면 첫 작성 run에서 복사한 스트럿을 받습니다. 레거시 첫 높이는 normal이 되고, 다른 레거시 자식 높이는 형제 인자를 상속하지 않고 normal로 남습니다
기존 IsParagraphStrut run은 자기 문단의 첫 빈 run이어야 하고 레거시가 아닌 높이를 운반해야 합니다. 잘못된 메트릭 run 배치는 haInvalidOptions를 일으킵니다
ParagraphBreakBefore는 삽입된 스트럿으로 이동해 평문 텍스트가 정확히 원본 문단 경계를 유지합니다. 전부 레거시인 문단은 기존 run 시퀀스와 값을 보존합니다
폰트 플래너는 준비된 시퀀스에서 비어 있지 않은 모든 run과 모든 IsParagraphStrut run을 포함해야 합니다. 빈 스트럿도 실제 공급 페이스와 스타일 메트릭이 필요하기 때문입니다
선택적 취소 토큰은 준비 중 폴링되어 EHPDFOperationCancelled를 전파합니다. 이 함수는 파일 접근, 폰트 로딩, PDF 발행, 콜백 커밋을 하지 않습니다
준비는 자기 제한 문단 구조를 검증합니다. 일반적인 Unicode, 색, 크기, 폰트 프로그램, 객체 예산 검증은 리치 직렬화기와 appearance 빌더에 남습니다