الكتابة العمودية لـ 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 يتضمن هذه الجداول؛ فالخط اللاتيني وحده لا يحتوي على أيٍّ منها.
- اختيار الترميز العمودي على خط بلا مقاييس عمودية خطأ. ارجع إلى الترميز الأفقي أو اختر خطًا آخر.
- طلب نص عمودي بينما الترميز الأفقي نشط خطأ. اختر الترميز العمودي قبل أول إصدار لنص عمودي.
- قلب الترميز بعد أول إصدار للنص يُرفض مع خطأ ترميز مجمَّد. عيّن الترميز فور تسجيلك الخط.
- الأداة غائبة. من دون
nextpdf/premium، لا تُسجَّل أدوات خطوط CJK في فئة Enterprise، ويفشل الاستدعاء مع خطأ أداة غير معروفة.
الأداء
قسم بعنوان «الأداء»ميزانية البيانات الوصفية في الواجهة الأمامية سقف توثيقي. يحدُّ التجزيء الفرعي من حجم مصفوفة المقاييس لكل محرف. لا تُعطِّل التجزيء الفرعي إلا عندما يحتاج تتابع عمودي إلى محارف قد يُسقِطها التجزيء الفرعي.
ملاحظات أمنية
قسم بعنوان «ملاحظات أمنية»لا توجد ملاحظات إضافية تتجاوز الإرشادات العامة لوسيط نقل 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»تسجيل الخط واختيار الترميز وإصدار النص عمليات من مستوى التحذير. يتطلب الإخراج موافقة عندما يكتب ملفًا، بينما لا يتطلبها وضع base64. راجع /connect/hitl-risk-tiers/.
غلاف JSON لبوابة التأكيد
قسم بعنوان «غلاف JSON لبوابة التأكيد»عندما يكون مسار إخراج كتابة الملف مُبوَّبًا، تُعيد البوابة غلاف تحدٍّ ورمزًا أحادي الاستخدام مرتبطًا باسم الأداة، وقيمة 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/ — نموذج المخاطر والبوابة.