การเขียนแนวตั้ง CJK ผ่าน Connect
การเขียนแนวตั้ง CJK ผ่าน Connect
หัวข้อที่มีชื่อว่า “การเขียนแนวตั้ง CJK ผ่าน Connect”ภาพรวมโดยสังเขป
หัวข้อที่มีชื่อว่า “ภาพรวมโดยสังเขป”สูตรนี้ฝัง CIDFont สำหรับภาษาจีน ญี่ปุ่น และเกาหลี (CJK) พร้อมเมตริกการเขียนแนวตั้งผ่านทรานสปอร์ตของ Connect เอนจินจะสร้างรายการเมตริกแนวตั้งของ PDF 2.0 (/W2 ต่อกลีฟ และ /DW2 เป็นค่าเริ่มต้น) ในพจนานุกรม CIDFont และเรนเดอร์เป็นชุดกลีฟเรียงจากบนลงล่าง การฝังฟอนต์ CJK อยู่ใน ระดับ Enterprise เครื่องมือฟอนต์ CJK จะถูกตรวจพบผ่านการตรวจสอบ class_exists() และจะลงทะเบียนเฉพาะเมื่อติดตั้ง nextpdf/premium ควบคู่กับเซิร์ฟเวอร์ เอนจินจะสร้างเมตริกแนวตั้งเฉพาะเมื่อการเข้ารหัส CID ที่ใช้งานอยู่เป็นการเข้ารหัส Identity แนวตั้งเท่านั้น การเขียนแนวนอนไม่ได้รับผลกระทบ
การติดตั้ง
หัวข้อที่มีชื่อว่า “การติดตั้ง”composer require nextpdf/serverยืนยันว่าเครื่องมือฟอนต์ CJK ระดับ Enterprise พร้อมใช้งานโดยเรียก tools/list ดู /connect/tool-catalog/
ภาพรวมเชิงแนวคิด
หัวข้อที่มีชื่อว่า “ภาพรวมเชิงแนวคิด”CIDFont ในโหมดการเขียนแนวตั้งใช้เมตริกแนวตั้ง /W2 (ต่อกลีฟ) และ /DW2 (ค่าเริ่มต้น) (ISO 32000-2 §9.7) CMap เป็นตัวกำหนดว่าจะใช้โหมดการเขียนแนวนอนหรือแนวตั้ง (ISO 32000-2 §9.7) โหมดการเขียนแนวตั้งจะเปลี่ยนการเลื่อนของกลีฟไปยังแกนแนวตั้ง (ISO 32000-2 §9.7) เมื่อลงทะเบียนฟอนต์แล้ว ไปป์ไลน์จะแยกอ่านตารางเมตริกแนวตั้งของฟอนต์ และจะสร้างรายการในพจนานุกรมก็ต่อเมื่อเลือกการเข้ารหัส CID แนวตั้งแล้วเท่านั้น
ส่วนต่อประสาน API
หัวข้อที่มีชื่อว่า “ส่วนต่อประสาน API”ตรวจสอบชื่อเครื่องมือจากรีจิสทรีที่กำลังใช้งานด้วย tools/list แคตาล็อกที่ใช้อ้างอิงคือ /connect/tool-catalog/ สูตรนี้จึงไม่ระบุจำนวนเครื่องมือซ้ำ
ตัวอย่างโค้ด — เริ่มต้นอย่างรวดเร็ว
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — เริ่มต้นอย่างรวดเร็ว”สร้างเอกสาร ลงทะเบียนฟอนต์ CJK แล้วเลือกการเข้ารหัสแนวตั้ง:
{ "jsonrpc": "2.0", "id": 5, "method": "tools/call", "params": { "name": "add_cjk_font", "arguments": { "document_id": "<id>", "family": "NotoSansCJKjp", "source": "/usr/share/fonts/opentype/noto/NotoSansCJKjp-Regular.otf", "subset": true } }}ตัวอย่างโค้ด — การใช้งานจริง
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — การใช้งานจริง”เลือกการเข้ารหัสแนวตั้ง ตั้งค่าฟอนต์ เขียนข้อความแนวตั้ง จากนั้นส่งออกและตรวจสอบพจนานุกรม CIDFont:
{ "jsonrpc": "2.0", "id": 7, "method": "tools/call", "params": { "name": "set_cid_encoding", "arguments": { "document_id": "<id>", "font_key": "NotoSansCJKjp", "encoding": "/Identity-V" } }}พจนานุกรม CIDFont ของผลลัพธ์จะมี /W2 และ /DW2 ซอร์สเดียวกันนี้จะละเว้นทั้งสองรายการเมื่อเรนเดอร์ด้วยการเข้ารหัสแนวนอน เกตการเข้ารหัสเป็นความแตกต่างเพียงอย่างเดียว จึงทำให้โปรไฟล์การทำซ้ำแบบ structural ถูกต้องในกรณีนี้
กรณีขอบเขตและข้อควรระวัง
หัวข้อที่มีชื่อว่า “กรณีขอบเขตและข้อควรระวัง”- ฟอนต์ไม่มีตารางเมตริกแนวตั้ง เครื่องมือฟอนต์จะรายงานคำเตือน เลือกฟอนต์ CJK ที่มีตารางเหล่านี้ ฟอนต์ที่มีเฉพาะอักษรละตินจะไม่มีตารางดังกล่าว
- การเลือกการเข้ารหัสแนวตั้งบนฟอนต์ที่ไม่มีเมตริกแนวตั้ง เป็นข้อผิดพลาด ให้กลับไปใช้การเข้ารหัสแนวนอนหรือเลือกฟอนต์อื่น
- การร้องขอข้อความแนวตั้งขณะที่ใช้การเข้ารหัสแนวนอนอยู่ เป็นข้อผิดพลาด เลือกการเข้ารหัสแนวตั้งก่อนปล่อยข้อความแนวตั้งครั้งแรก
- การสลับการเข้ารหัสหลังจากปล่อยข้อความครั้งแรก จะถูกปฏิเสธพร้อมข้อผิดพลาด frozen-encoding หลังจากลงทะเบียนฟอนต์แล้ว ให้กำหนดการเข้ารหัสทันที
- ไม่มีเครื่องมือ หากไม่มี
nextpdf/premiumเครื่องมือฟอนต์ CJK ระดับ Enterprise จะไม่ถูกลงทะเบียน และการเรียกใช้งานจะล้มเหลวพร้อมข้อผิดพลาด unknown-tool
ประสิทธิภาพ
หัวข้อที่มีชื่อว่า “ประสิทธิภาพ”งบประมาณใน front-matter เป็นเพดานระดับเอกสาร การทำซับเซ็ตจำกัดขนาดของอาเรย์เมตริกต่อกลีฟ ปิดการทำซับเซ็ตเฉพาะเมื่อข้อความแนวตั้งต้องใช้กลีฟที่การทำซับเซ็ตจะตัดออก
หมายเหตุด้านความปลอดภัย
หัวข้อที่มีชื่อว่า “หมายเหตุด้านความปลอดภัย”ไม่มีหมายเหตุเพิ่มเติมนอกเหนือจากแนวทางทั่วไปเกี่ยวกับทรานสปอร์ตของ Connect
ความสอดคล้อง
หัวข้อที่มีชื่อว่า “ความสอดคล้อง”| ข้อกล่าวอ้าง | ข้อกำหนด | รหัสอ้างอิง (reference_id) |
|---|---|---|
CIDFont แนวตั้งใช้ /W2 และ /DW2 เป็นเมตริก | ISO 32000-2 §9.7 | |
| CMap เป็นตัวกำหนดโหมดการเขียนแนวนอนหรือแนวตั้ง | ISO 32000-2 §9.7 | |
| โหมดการเขียนแนวตั้งเลื่อนกลีฟไปตามแกนแนวตั้ง | ISO 32000-2 §9.7 |
การสร้างรายการเมตริกแนวตั้งเป็นการนำข้อกำหนดที่อ้างถึงไปใช้ ไม่ใช่ข้อกล่าวอ้างว่าครอบคลุมความสอดคล้องทั้งหมด ตัวตรวจสอบเป็นผู้ตัดสินว่าเอกสารโดยรวมสอดคล้องหรือไม่
บริบทเชิงพาณิชย์
หัวข้อที่มีชื่อว่า “บริบทเชิงพาณิชย์”การฝังฟอนต์ CJK อยู่ในระดับ Enterprise เครื่องมือฟอนต์ CJK จะลงทะเบียนเฉพาะเมื่อติดตั้ง nextpdf/premium ควบคู่กับเซิร์ฟเวอร์
รายละเอียดเฉพาะของ Connect
หัวข้อที่มีชื่อว่า “รายละเอียดเฉพาะของ Connect”ความพร้อมใช้งานของทรานสปอร์ต (MCP / REST / gRPC)
หัวข้อที่มีชื่อว่า “ความพร้อมใช้งานของทรานสปอร์ต (MCP / REST / gRPC)”เรียกใช้ด้วยรูปแบบเดียวกันผ่าน MCP tools/call เอนด์พอยต์เครื่องมือ REST และบริการ gRPC ช่องทางทั้งสามส่งต่อไปยังตัวดำเนินการเครื่องมือร่วมเดียวกัน
ระดับความเสี่ยง HITL
หัวข้อที่มีชื่อว่า “ระดับความเสี่ยง HITL”การลงทะเบียนฟอนต์ การเลือกการเข้ารหัส และการปล่อยข้อความอยู่ในระดับ caution การส่งออกต้องได้รับการอนุมัติเมื่อเขียนไฟล์ ส่วนโหมด base64 ไม่ต้อง ดู /connect/hitl-risk-tiers/
ซอง JSON ของเกตการยืนยัน
หัวข้อที่มีชื่อว่า “ซอง JSON ของเกตการยืนยัน”เมื่อเส้นทางการส่งออกแบบเขียนไฟล์ถูกป้องกันด้วยเกต เกตจะส่งคืนซอง challenge และโทเค็นใช้ครั้งเดียวที่ผูกกับชื่อเครื่องมือ nonce และ TTL 300 วินาที เรียกใช้อีกครั้งด้วย arguments._confirmation_token ดู /connect/hitl-risk-tiers/
ดูเพิ่มเติม
หัวข้อที่มีชื่อว่า “ดูเพิ่มเติม”- /cookbook/connect/font-typography/ — พื้นฐานของข้อความแนวนอนและการเลือกฟอนต์
- /cookbook/connect/conformance-mode/ — ข้อความ CJK แนวตั้งยังคงต้องมีการแท็กสำหรับ PDF/UA-2
- /connect/tool-catalog/ — การคำนวณชุดเครื่องมือตามระดับต่างๆ
- /connect/hitl-risk-tiers/ — แบบจำลองความเสี่ยงและเกต