SetStructElemWritingMode
PDF có gắn thẻ, Khả năng tiếp cận
Mô tả
Đặt attribute /WritingMode (owner Layout) lên structure element đang mở trên tag stack. Chế độ viết khai báo hướng viết chính của chữ trong phần tử và ảnh hưởng cách công nghệ hỗ trợ diễn giải thứ tự đọc. Tương đương với việc gọi AddTagAttribute với Owner=Layout, Name=WritingMode và tên chế độ làm giá trị
Cú pháp
Delphi
Function TPDFlib.SetStructElemWritingMode(Const WritingMode: WideString): Integer;
ActiveX
Function PDFlib::SetStructElemWritingMode(WritingMode As String) As Long
DLL
int DLSetStructElemWritingMode(int InstanceID, const wchar_t * WritingMode);
Tham số
| WritingMode | Hướng viết của phần tử. Phải là một trong các giá trị phân biệt chữ hoa chữ thường sau: LrTb – trái sang phải, trên xuống dưới (mặc định; Latin, Cyrillic, Hy Lạp và hầu hết chữ viết) RlTb – phải sang trái, trên xuống dưới (Ả Rập, Do Thái) TbRl – trên xuống dưới, phải sang trái (văn bản CJK dọc truyền thống) |
|---|
Giá trị trả về
Trả về 1 khi thành công. Trả về 0 nếu không có tài liệu nào đang mở hoặc tag stack hiện không còn tag nào đang mở
Ghi chú
Gọi hàm này sau BeginTag hoặc BeginTagEx và trước EndTag. Thuộc tính /WritingMode được định nghĩa trong ISO 32000-1 §14.8.5.4.2 (chủ sở hữu thuộc tính Layout, Bảng 340).
Khi tài liệu dùng nhất quán một hướng viết xuyên suốt, không cần đặt /WritingMode trên mọi phần tử – mặc định LrTb áp dụng khi thiếu thuộc tính. Hãy đặt thuộc tính tường minh trên các phần tử cấp khối có hướng viết khác với nội dung xung quanh, ví dụ một trích dẫn tiếng Do Thái lồng trong đoạn văn tiếng Anh.
PDF/UA-1 (ISO 14289-1 §7.2) yêu cầu ngôn ngữ tự nhiên của mọi đoạn văn bản phải xác định được một cách rõ ràng. /WritingMode bổ sung cho thuộc tính /Lang (SetStructElemLang): /Lang khai báo văn bản dùng ngôn ngữ nào, còn /WritingMode khai báo hướng viết vật lý mà công nghệ hỗ trợ nên dùng khi trình bày.
Ví dụ
// Arabic paragraph — right-to-left writing direction
PDFlib.BeginTagEx('P', '', '', 'ar-SA');
PDFlib.SetStructElemWritingMode('RlTb');
PDFlib.DrawText('...Arabic text...', 450, 700);
PDFlib.EndTag;
// Vertical CJK heading
PDFlib.BeginTagEx('H1', '', '', 'zh-TW');
PDFlib.SetStructElemWritingMode('TbRl');
PDFlib.DrawText('...CJK vertical text...', 500, 700);
PDFlib.EndTag;Xem thêm
SetStructElemBBox, SetStructElemLang, AddTagAttribute, BeginTag, EndTag