스칼라 필드의 공급 패밀리 폴백
일반 텍스트 필드, comb 셀, 선택 항목 표시 라벨, 체크박스와 라디오 마크, 비밀번호 마스크, 네이티브 푸시버튼 캡션도 스칼라 폼 메타데이터를 바꾸지 않고 리치 텍스트와 같은 명시적 공급 폰트 패밀리를 쓸 수 있습니다
하나에서 최대 열여섯 개의 서로 다른 설정 라벨과 regular TrueType 프로그램을 공급한 뒤 FallbackFontFamilies를 켜면 됩니다. 선택은 완전한 그래핌을 커버하며 설치된 시스템 폰트는 쓰지 않습니다
기존의 평문 줄바꿈, 간격, 셰이핑, bidi, 클리핑, 회전, 자동 크기 조정, 선택된 리스트 행, export-state 동작은 그대로 동작합니다. 혼합 comb 필드는 원래 스칼라 셀 제약을 유지하며 원래 comb 프로파일이 거부하는 복잡한 셰이핑은 받지 않습니다
혼합 평문 appearance에는 자식 Forms와 임베드된 실제 폰트가 여러 개 들어갈 수 있으므로, 고정된 일곱 객체 appearance를 가정하지 말고 반환된 객체 수를 소비하세요
Windows JSON 및 콜백 전송
{
"schemaVersion": 1,
"type": "forms.fill",
"fontFamilies": ["Primary", "Serif", "Sans"],
"fallbackFontFamilies": true,
"fields": [
{"name": "Plain", "value": "A\u03a9"},
{"name": "Check", "value": "Yes"}
]
}
Windows 잡에서는 설정된 각 패밀리의 regular 폰트 파일을 기존 fonts 객체로 공급합니다. hpdf_document_execute_json_v1에서는 실제 regular 프로그램을 기존 버전 지정 폰트 콜백과 IO 확장으로 반환합니다
명시적 이름 지정 폴백은 순수 스칼라 채우기를 혼합 타입화된 run과 같은 인증된 후보 트랜잭션으로 통과시킵니다. 스칼라 전용 연산은 regular 후보 페이스를 요청하고 typedRichText=false에 scalarFamilyProfile="supplied-regular-fonts-v1"을 반환합니다
FDF와 XFDF 스칼라 임포트는 텍스트, 선택 항목, 체크박스, 라디오 버튼에 같은 공급 패밀리 경로를 씁니다. 푸시버튼 캡션은 네이티브 캡션 API를 쓰며 스칼라 버튼 export 상태로 임포트되지 않습니다
Windows 스칼라 same-value 임포트와 채우기는 기존 값 전용 no-op 계약을 유지하며 읽기 전용 필드를 포함해 커밋된 정확한 바이트를 보존합니다. 새 폰트나 색 구성을 기존 AP와 비교하지 않으므로 명시적 appearance 재구성이 필요하면 네이티브 패밀리 세터를 쓰세요
원래 타입화된 리치 run은 기존 스타일·appearance 비교를 그대로 유지합니다. 스칼라 폴백을 추가해도 타입화된 크기나 색을 양자화하지 않고 작성된 RV를 바꾸지 않습니다
PDF 콜백과 결과 콜백이 둘 다 성공해야 컨텍스트 갱신이 보입니다. 스티키 폰트·IO 오류, 취소, 예산, 암호화 인증, 서명 정책은 커밋된 그래프와 원자적 파일 출력을 보존합니다
해제된 단일 선택 항목은 /V null과 빈 인덱스 배열을 저장합니다. 명시적으로 선택된 빈 export 옵션은 /V ()와 실제 인덱스를 유지하므로 반복된 해제와 빈 값 선택은 계속 구분됩니다
선택된 인덱스도 빈 export 옵션도 없는 레거시 빈 선택 항목은 값 전용 no-op으로 인식할 수 있습니다. 실제 선택된 빈 export를 가진 읽기 전용 선택 항목은 해제할 수 없습니다
네이티브 Linux JSON 및 콜백 전송
Linux 버전 지정 연산은 같은 순서의 fontFamilies와 fallbackFontFamilies 옵션을 받습니다. regular 프로그램은 연산의 Fontconfig 환경으로 리졸브되어 네이티브 패밀리 appearance API로 공급됩니다
스칼라 텍스트, comb 셀, 선택 항목 라벨, 체크박스와 라디오 마크, 비밀번호 마스크, 파일 선택 필드, 명시적 푸시버튼 캡션은 실제 완전한 그래핌 커버리지를 씁니다. 스칼라 FDF/XFDF 임포트는 작성된 리치 텍스트 플래그나 RV를 추가하지 않고 regular 후보를 로드합니다
리치 전용 임포트는 모든 패밀리의 regular 페이스를 요청하는 대신 실제 필요한 스타일 조합을 유지하며, 스칼라와 리치 혼합 임포트는 스칼라 필드가 필요한 regular 후보만 추가합니다
Linux 콜백 임포트는 반복 해제와 same-value no-op에 대해 커밋된 정확한 바이트를 보존합니다. 인증된 AES R5/R6, P1/P2/P3, FieldMDP 정책과 취소, 발행 실패 시 이전 커밋 문서를 유지합니다
새로 빌드한 네이티브 ABI 라이브러리마다 Tests/Linux/Run-ScalarFontFallbackChecks.sh LIBRARY FIXTURES FONTS OUTPUT을 실행하세요. Tests/Linux/HeadlessScalarFontFallback.en-us.md가 진짜 서명된 입력, 격리된 세 폰트 카탈로그, 독립적인 글리프/CMS 검사를 설명합니다
컨포먼스 체크 재현
공개 Windows 러너는 명시적 소스, 출력, 폰트, 스칼라 픽스처, 해제 픽스처, 진짜 서명 정책 디렉터리를 받습니다. 이전 비공개 증명 디렉터리를 조용히 소비하는 일은 없습니다
Tests/Linux/Build-HeadlessTypedFormFixtures.py로 초기 네 필드 문서를 생성한 뒤, 그 mixed.pdf를 스칼라와 해제 픽스처 생산자에 넘기세요
python Tests/CABI/BuildScalarFixtures.py work/typed/mixed.pdf work/scalar
python Tests/CABI/BuildScalarClearFixtures.py work/scalar/scalar.pdf work/clear
primary-0.ttf, DejaVuSerifCondensed.ttf, DejaVuSans.ttf라는 이름의 진짜 regular 프로그램을 공급하세요. 리그레션 픽스처 생산자 Tests/Linux/Build-HeadlessRichFontListFixtures.py는 호출자가 준 DejaVu 폰트 디렉터리에서 결정론적 Primary 서브셋과 열두 개의 실제 스타일 프로그램 전부를 준비합니다
Tests/Linux/Run-HeadlessTypedFormTests-Windows.ps1과 필수 인증서/키 신원 디렉터리로 실제 P1, P2, P3, FieldMDP 문서를 생성하세요. 출력에는 p1-signed.pdf, p2-signed.pdf, p3-signed.pdf, lock-signed.pdf가 포함됩니다
Tests/CABI/RunScalarClearNative.ps1 -SourceDirectory Lib -OutputDirectory work/native `
-FontDirectory work/fonts -FixtureDirectory work/scalar `
-ClearFixtureDirectory work/clear -PolicyDirectory work/signed
Tests/CABI/RunScalarClearABI.ps1 -SourceDirectory Lib -OutputDirectory work/abi `
-FontDirectory work/fonts -FixtureDirectory work/scalar `
-ClearFixtureDirectory work/clear -PolicyDirectory work/signed `
-LegacyFixtureDirectory work/typed -LegacyFontDirectory work/legacy-fonts
레거시 리그레션 파라미터는 Run-WindowsTypedFormChecks.ps1이 쓰는 기존 Windows 타입화 폼 픽스처와 폰트 디렉터리를 받습니다. 새 스칼라 체크는 임베드된 실제 프로그램, CID 맵, 폼 값, 유지된 서명 ByteRanges도 독립적으로 검사합니다
Windows DLL no-op은 두 콜백이 성공한 뒤에도 커밋된 정확한 바이트를 보존합니다. 네이티브 트랜잭션 API는 의미적 no-op에 대해 변경된 필드 0개를 보고하면서 기존 준비된 리비전 발행 동작을 유지합니다
FDF는 빈 선택 배열과 선택된 빈 export 문자열을 구분합니다. 기존 XFDF 빈 값 관례는 대상 옵션 리스트 기준으로 해석되며, 빈 export 옵션 문서마다 무손실 구분을 보장하지는 않습니다