تخطَّ إلى المحتوى

الكتابة العمودية لـ CJK من خلال Connect

الكتابة العمودية لـ ⁨CJK⁩ من خلال ⁨Connect⁩

قسم بعنوان «الكتابة العمودية لـ ⁨CJK⁩ من خلال ⁨Connect⁩»

تضمِّن هذه الوصفة خط ⁨CIDFont⁩ صينيًا ويابانيًا وكوريًا (⁨CJK⁩) مع مقاييس الكتابة العمودية من خلال وسائط نقل ⁨Connect.⁩ يُصدِر المحرك مدخلات المقاييس العمودية في ⁨PDF 2.0⁩ (/W2 لكل محرف و/DW2 الافتراضي) داخل قاموس ⁨CIDFont⁩، ويعرض المحارف متراكبة من الأعلى إلى الأسفل. يندرج تضمين خطوط ⁨CJK⁩ ضمن فئة ⁨Enterprise⁩. تُكتشَف أدوات خطوط ⁨CJK⁩ عبر فحوص class_exists()، ولا تُسجَّل إلا عند تثبيت nextpdf/premium إلى جانب الخادم. لا يُصدِر المحرك المقاييس العمودية إلا عندما يكون ترميز ⁨CID⁩ النشط هو ترميز ⁨Identity⁩ العمودي. لا تتأثر التتابعات الأفقية.

Terminal window
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⁩ العمودي.

تحقّق من أسماء الأدوات بمقارنتها بالسجل قيد التشغيل عبر 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 إلى جانب الخادم.

توفر وسائط النقل (⁨MCP⁩ / ⁨REST⁩ / ⁨gRPC⁩)

قسم بعنوان «توفر وسائط النقل (⁨MCP⁩ / ⁨REST⁩ / ⁨gRPC⁩)»

استدعِ هذا بالطريقة نفسها عبر ⁨MCP⁩ tools/call، ونقطة نهاية أداة ⁨REST⁩، وخدمة ⁨gRPC.⁩ تمر الثلاثة كلها عبر مُنفِّذ الأدوات المشترك.

تسجيل الخط واختيار الترميز وإصدار النص عمليات من مستوى التحذير. يتطلب الإخراج موافقة عندما يكتب ملفًا، بينما لا يتطلبها وضع ⁨base64.⁩ راجع /⁨connect/hitl-risk-tiers/.⁩

عندما يكون مسار إخراج كتابة الملف مُبوَّبًا، تُعيد البوابة غلاف تحدٍّ ورمزًا أحادي الاستخدام مرتبطًا باسم الأداة، وقيمة ⁨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/⁩ — نموذج المخاطر والبوابة.