مثال توضيحي: تقوم ميرا بإعداد تقرير لمجلس الإدارة باستخدام حزمة LibreOffice Flatpak، وتحتاج إلى استخدام خط مرخص يُسمى "Northstar Sans" مُقدم من فريق التصميم الخاص بها. الاسم والحالة افتراضيان. تقوم ميرا بتثبيت الخط في مجلد الخطوط الخاص بها، ثم تُحدّث ذاكرة التخزين المؤقت للخطوط، وتُعيد تشغيل LibreOffice. يُبقي هذا الخط متاحًا لتطبيقاتها دون تغيير حزمة Flatpak أو منح LibreOffice صلاحيات وصول واسعة إلى مجلدها الرئيسي.
توضح وثائق تكامل سطح المكتب الحالية لـ Flatpak سبب نجاح هذه الطريقة: $XDG_DATA_HOME/fontsيتم عرض خطوط النظام المضيف داخل بيئة الحماية (sandbox) في المسار المحدد /run/host/user-fonts. كما يعرض Flatpak أيضًا مجلدات خطوط النظام. وتشير وثائقه إلى أن ملفات تكوين خطوط النظام المضيف غير متاحة، لذا قد لا يتم نقل قواعد الخطوط الخاصة بالنظام. راجع وثائق Flatpak Fonts الرسمية . ينطبق الإجراء الموضح أدناه على معرّف تطبيق Flathub LibreOffice org.libreoffice.LibreOffice.
قم بتثبيت الخط لحساب المستخدم الخاص بك
تحقق أولاً من ترخيص الخط، واستخدم فقط الملفات المصرح لك بتثبيتها. إذا وصل الخط في ملف مضغوط (ZIP)، فاستخرجه وابحث عن ملفات الخط الأصلية. تشمل تنسيقات الخطوط الشائعة على سطح المكتب OpenType .otfوTrueType .ttf. لا تنسخ الملف المضغوط نفسه إلى مجلد الخطوط.
يمكن لبرنامج Mira تثبيت الخط دون الحاجة إلى صلاحيات المسؤول. عادةً ما يكون مسار الخطوط لكل مستخدم هو `/` ~/.local/share/fonts، وهو ما يعادل $XDG_DATA_HOME/fontsالمسار المستخدم عند استخدام مسار بيانات XDG القياسي. تشير وثائق Flatpak إلى ضرورة تجنب استخدام ~/.fontsالمسار القديم.
- قم بإنشاء مجلد خطوط المستخدم إذا لم يكن موجودًا بالفعل:
mkdir -p "$HOME/.local/share/fonts"
- انسخ ملفات الخطوط المعتمدة إلى هذا المجلد. استبدل اسم الملف النموذجي باسم الخط الذي استلمته فعلياً:
cp "$HOME/Downloads/NorthstarSans-Regular.otf" "$HOME/.local/share/fonts/"
إذا كانت حزمة الخطوط تتضمن ملفات منفصلة للخطوط العادية، والغامقة، والمائلة، والغامقة المائلة، فقم بتثبيت كل نوع مطلوب. احتفظ بأسماء الملفات الأصلية قدر الإمكان؛ ولا تقم بتغيير أسماء ملفات الخطوط لتقليد عائلة أو وزن مختلف. بالنسبة للعائلات المتعددة، أنشئ مجلدات فرعية للحفاظ على تنظيم المجلد.
قم بتحديث ذاكرة التخزين المؤقت للخطوط
يقوم برنامج Fontconfig بإنشاء ذاكرة تخزين مؤقتة لتمكين التطبيقات من العثور على الخطوط المثبتة. في العديد من أنظمة لينكس، fc-cacheيتم توفير هذه الذاكرة من خلال حزمة fontconfig الخاصة بالنظام المضيف. قم بتحديث ذاكرة التخزين المؤقتة لدليل المستخدم الخاص بك.
fc-cache -f "$HOME/.local/share/fonts"
يُجبر هذا -fالخيار على فحص الدليل المحدد. إذا أبلغت نافذة الأوامر fc-cacheبعدم العثور عليه، فقم بتثبيت أدوات fontconfig من خلال مدير حزم توزيعة لينكس الخاصة بك، أو استخدم أداة إدارة الخطوط لتحديث معلومات الخطوط. تختلف أسماء الحزم والأدوات الرسومية باختلاف التوزيعة.
للتأكد من أن برنامج fontconfig الخاص بالبرنامج المضيف يتعرف على عائلة الخطوط، قم بتشغيل ما يلي:
fc-list | grep -i "Northstar Sans"
استبدل الاسم باسم عائلة الخطوط كما هو موضح من قِبل ناشر الخط. يُعدّ التطابق الناجح مؤشرًا مفيدًا، ولكنه لا يُثبت أن LibreOffice قد حدّث قائمة الخطوط الخاصة به بعد.
أعد تشغيل LibreOffice Flatpak
احفظ المستندات المفتوحة وأغلق جميع نوافذ LibreOffice. أعد تشغيل Flatpak من قائمة التطبيقات أو قم بتشغيله من سطر الأوامر.
flatpak run org.libreoffice.LibreOffice
قد يكون برنامج LibreOffice قد قرأ قائمة الخطوط عند بدء تشغيله، لذا فإن تثبيت خط جديد أثناء بقاء برنامج Writer مفتوحًا قد يُبقي القائمة القديمة ظاهرة. في مثال ميرا، تنتظر حتى يتم إغلاق البرنامج بالكامل، ثم تُعيد تشغيل Writer. إذا لم يظهر الخط بعد، فأعد تشغيل جلسة سطح المكتب فقط بعد إجراء الفحوصات البسيطة المذكورة أدناه؛ فإعادة تشغيل النظام بالكامل ليست عادةً الخطوة الأولى لحل المشكلة.
تأكد من نوع الخط داخل برنامج LibreOffice
افتح برنامج Writer، وانقر على مربع "نوع الخط" في شريط أدوات التنسيق، واكتب اسم نوع الخط بدقة. يمكنك أيضًا فتح قائمة الخطوط والبحث عنه أبجديًا. أنشئ سطرًا تجريبيًا قصيرًا، وطبّق الخط الجديد، وتأكد من ظهور الأحرف كما هو متوقع. جرّب النمطين العادي والغامق بشكل منفصل إذا كانت الحزمة توفر أكثر من نمط.
للتأكد عمليًا، تفتح ميرا نسخة من نموذج تقريرها، وتُطبّق خط Northstar Sans على عنوان وفقرة، ثم تحفظ نسخة تجريبية، وتغلق المستند، وتعيد فتحه. هذا مجرد مثال توضيحي، وليس تقريرًا لاختبار حقيقي. الهدف هو التأكد من ظهور الخط في القائمة، ومن بقاء النمط المطلوب مُطبقًا بعد إعادة فتح المستند.
لماذا يُفضّل استخدام مسار خط Flatpak القياسي؟
صُممت Flatpak لعزل التطبيقات، لكنها تُتيح الوصول إلى الخطوط المُضيفة عبر مسارات مُحددة. يُتيح ربط المستخدم بالخطوط، كما هو موثق، $XDG_DATA_HOME/fontsإمكانية اكتشاف الخطوط دون منح تطبيقات المكتب صلاحية الوصول إلى نظام الملفات المُضيف بالكامل. --filesystem=hostلا حاجة لتجاوزات واسعة النطاق في سير العمل القياسي هذا، وهو ما يمنح صلاحيات وصول أوسع بكثير مما يتطلبه تثبيت الخطوط.
يقوم Flatpak بربط الخطوط من /usr/share/fontsمجلدات مختلفة /run/host/fonts، ومن /usr/local/share/fontsمجلدات أخرى /run/host/local-fonts، ومن مجلد خطوط بيانات المستخدم إلى مجلد آخر /run/host/user-fonts. يغطي هذا عمليات التثبيت الشائعة على مستوى النظام وعلى مستوى كل مستخدم، مع العلم أن مشكلات التغليف أو وقت التشغيل أو المشكلات الخاصة بالجهاز المضيف قد تؤثر على بعض الإعدادات الفردية. لا يتم عرض ملفات تكوين الخطوط (fontconfig) الخاصة بالجهاز المضيف في بيئة الحماية؛ فهي منفصلة عن ملفات الخطوط نفسها.
حل مشكلة الخط المفقود
- تحقق من الدليل الفعلي: شغّل الأمر
printf '%s\n' "${XDG_DATA_HOME:-$HOME/.local/share}/fonts". إذا XDG_DATA_HOMEتم تعيينه إلى موقع غير قياسي، فضع الخط ضمن fontsدليله الفرعي بدلاً من افتراض ذلك ~/.local/share/fonts.
- تحقق من نوع الملف واستخراجه: تأكد من أن المجلد يحتوي على ملفات قابلة للاستخدام
.otfأو .ttfملفات خطوط، وليس فقط ملف أرشيف أو ملف PDF للمعاينة أو وثيقة ترخيص.
- تحقق من اسم عائلة الخط: لا تتطابق أسماء ملفات الخطوط دائمًا مع اسم العائلة المعروض في LibreOffice. استخدم
fc-listأداة fontconfig لفحص الأسماء التي يكتشفها البرنامج.
- قم بتحديث البرنامج وإعادة تشغيله: أعد تشغيله
fc-cache -fللمجلد الصحيح، ثم أغلق LibreOffice تمامًا وأعد فتحه. يمكن للنوافذ الموجودة الاحتفاظ بقائمة الخطوط السابقة.
- تأكد من مُعرّف Flatpak: إذا تم تثبيت LibreOffice من مصدر مختلف أو باستخدام مُعرّف تطبيق آخر،
flatpak run org.libreoffice.LibreOfficeفقد لا يتم تشغيل تلك النسخة. تحقق من التطبيق المُثبّت flatpak listواستخدم المُعرّف المُوضّح لتثبيتك.
- اختبر تطبيقًا آخر: إذا لم تتمكن قائمة الخطوط في النظام المضيف من رؤية الخط، فقم بإصلاح تثبيت النظام المضيف أولًا. إذا تمكنت أدوات النظام المضيف من رؤيته ولكن Flatpak لم يتعرف عليه، فتحقق من إعدادات وقت تشغيل Flatpak وتكوين الحزمة، ثم راجع سجل المشكلات الخاص بحزمة Flatpak مع ذكر مُعرّف التطبيق وتفاصيل وقت التشغيل.
قد يظهر خط معين على جهازك، ولكنه قد يكون مستخدمًا على جهاز شخص آخر. عادةً ما تشير المستندات إلى عائلات الخطوط بالاسم، وهذا لا يضمن بالضرورة أن يكون الخط نفسه مثبتًا لدى جميع المستلمين. إذا كان المستلم بحاجة إلى نسخة مرئية مطابقة تمامًا ولا يحتاج إلى تعديل النص، فقم بتصدير ملف PDF وافحصه قبل مشاركته. أما إذا كان لا بد من إبقاء الملف قابلاً للتعديل، فنسّق مع المستلمين بشأن توفر الخط وتراخيصه.
ما يمكن توقعه بعد التثبيت
النتيجة المفيدة واضحة: تظهر عائلة الخطوط الجديدة في مُحدِّد الخطوط في LibreOffice، وتُطبَّق على النص، وتبقى مُحدَّدة عند إعادة فتح المستند. إذا لم يحدث ذلك، فتحقق من مسار بيانات المستخدم وملف الخط قبل تغيير أذونات بيئة الحماية. يغطي تعيين Flatpak القياسي موقع الخط المعتاد لكل مستخدم؛ أما قواعد fontconfig المُخصَّصة، ومسارات XDG غير المعتادة، وحزمة LibreOffice البديلة، وقيود ترخيص الخطوط، فقد تتطلب معالجة منفصلة.
يصبح تقرير ميرا الافتراضي جاهزًا بمجرد ظهور خط Northstar Sans في برنامج Writer واحتفاظ النسخة التجريبية المحفوظة بالتنسيق المطلوب. بالنسبة للمستخدمين الآخرين، تُميّز نفس عمليات التحقق بين فقدان خط النظام الأساسي ومشكلة تحديث التطبيق أو مشكلة في التغليف دون إضعاف بيئة Flatpak المعزولة دون داعٍ.