Unicode 그래펨 경계
HPDFUnicodeTextBoundary는 체크인된 Grapheme_Cluster_Break, Indic_Conjunct_Break, Extended_Pictographic 속성으로 Unicode 17.0.0 기본 확장 그래펨 클러스터를 구현합니다
이식 가능한 Pascal 구현은 GUI나 세그멘테이션 DLL 없이 조합 기호, 한글, 인도 계열 링커 시퀀스, emoji ZWJ 시퀀스, 짝 지은 지역 인디케이터를 다룹니다
오프셋은 0부터 시작하는 UTF-16 코드 단위로 세며 텍스트 시작과 끝을 모두 포함합니다. 빈 텍스트는 단일 오프셋 0을 반환합니다
입력에는 짝 지은 UTF-16 서러게이트가 들어 있어야 하고 호출자는 최대 1048576까지의 양의 코드 단위 예산을 공급합니다. 기본값은 65535입니다
취소는 할당 전과 scalar를 소비하는 동안, 빈 입력도 포함해 검사됩니다
리치 필드 래핑
여러 줄로 래핑되는 리치 필드의 너무 넓은 단어는 온전한 확장 그래펨 클러스터에서 나뉘고 선택한 폰트·자간으로 측정됩니다
각 조각은 원본 V·RV 값, 실제 Unicode 매핑, 문단 정렬을 유지합니다. 사각형보다 넓은 분리 불가 클러스터는 온전히 남고 잘립니다
조각 폭은 셰이핑 뒤에 검사됩니다. 따로 셰이핑하면 넓어지는 접합 형태도 포함이며, 나눌 수 있는 넘침은 온전한 클러스터에서 다시 갈라집니다
복합 스크립트 그리기는 계속 HarfBuzz와 FriBidi를 씁니다. 그래펨 세그멘테이션은 글리프 셰이핑이나 문단 양방향 레이아웃을 공급하지 않습니다
기본 Unicode 행바꿈 기회는 같은 이식 가능한 유닛으로 쓸 수 있습니다. 스타일 경계를 넘나드는 단어 래핑과 혼합 스타일 문단 bidi는 별도 진행 대상입니다
적합성
HotPDFUnicodeGraphemeTests와 Tests/Linux/resources로 Tests/Linux/Run-UnicodeGraphemeAcceptance.sh 또는 Windows 이식 가능 테스트 러너를 실행하세요
테스트는 공식 Unicode 17 GraphemeBreakTest 사례 766개를 모두 소비하고 UTF-16 단위로 발표된 모든 경계를 비교합니다
Build-UnicodeTextBoundaryTables.py는 기존 고정 UCD 데이터에서 컴파일된 범위 테이블을 결정론적으로 재구축합니다