DrawShapedText

텍스트

설명

PDFlibPas의 "텍스트" 주제 아래에 있는 DrawShapedText를 설명합니다. API 이름, 매개변수, 클래스 이름, 파일 이름 및 리터럴은 Delphi 라이브러리 및 DLL 진입점에 표시된 대로 정확하게 유지됩니다

함수를 호출하기 전에 구문, 매개변수 및 반환 값을 검토하십시오

구문

Delphi

Function TPDFlib.DrawShapedText(XPos, YPos: Double; Const FontName: WideString; Size: Double; Const Text: WideString; Options: Integer): Integer;

매개변수

XPos/YPos는 페이지 단위로 텍스트 위치를 지정합니다. FontName은 설치된 폰트 면의 이름을 지정합니다 (예: Arial). Size는 포인트 단위의 텍스트 크기입니다. Text는 셰이핑하여 그릴 문자열입니다. Options 비트 0은 오른쪽에서 왼쪽 기본 단락 방향을 선택합니다; 아랍어 또는 히브리어 텍스트에 설정하십시오

반환값

성공 시 1을 반환합니다; 셰이핑 엔진을 사용할 수 없거나, 폰트 면이 설치되지 않았거나, Text가 비어 있을 때는 0을 반환합니다

주의사항

텍스트는 그리기 전에 시스템 셰이핑 엔진으로 셰이핑되므로 아랍어 글자는 단어 초기, 중간, 최종 또는 독립 형태를 올바르게 취하고, lam-alef와 같은 필수 합자가 적용되며, 오른쪽에서 왼쪽 방향의 런이 올바른 시각적 순서로 출력됩니다. 셰이핑된 글리프는 글리프 인덱스를 통해 동반 Type0 (Identity-H) 폰트로 기록되므로, 자체 문자 코드가 없는 형태도 올바르게 렌더링됩니다. 동반 폰트는 폰트 면당 하나씩 생성되어 동일 문서 내의 이후 호출에서 재사용됩니다. 문서가 저장될 때 내장된 폰트 프로그램은 문서에서 표시하는 글리프만으로 서브셋화되며, 실제 글리프별 너비와 각 셰이핑된 글리프를 소스 문자로 역변환하는 ToUnicode 맵이 포함됩니다 — 따라서 출력에서 복사하거나 추출된 텍스트는 합자를 포함한 원래 문자열을 반환합니다. 위치 지정은 정확합니다: 셰이핑 엔진에서 각 글리프 어드밴스가 콘텐츠 스트림에 기록되므로 인쇄된 레이아웃은 GetShapedTextWidth의 셰이핑 측정값과 일치합니다