SystemFonts هي حزمة تحدد موقع الخطوط المثبتة. ويستخدم المكتبات الأصلية للنظام على Mac (Coretext) و Linux (FontConfig) ، ويستخدم Freetype لتحليل الخطوط في السجل على Windows.
يتوفر SystemFonts من Cran باستخدام install.packages('systemfonts') . ومع ذلك ، لا يزال قيد التطوير ويمكنك تثبيت إصدار التطوير باستخدام DevTools.
# install.packages('devtools')
devtools :: install_github( ' r-lib/systemfonts ' )الاستخدام الرئيسي لهذه الحزمة هو تحديد موقع ملفات الخطوط بناءً على الأسرة والأناقة:
library( systemfonts )
match_fonts( ' Avenir ' , italic = TRUE )
# > path index features
# > 1 /System/Library/Fonts/Avenir.ttc 1تقوم هذه الوظيفة بإرجاع المسار إلى الملف الذي يحمل الخط ، وكذلك الفهرس القائم على 0 للخط في الملف.
من الممكن أيضًا الحصول على بيانات. إطار جميع الخطوط المتاحة:
system_fonts()
# > # A tibble: 843 × 9
# > path index name family style weight width italic monospace
# > <chr> <int> <chr> <chr> <chr> <ord> <ord> <lgl> <lgl>
# > 1 /System/Library/Fonts… 2 Rock… Rockw… Bold bold norm… FALSE FALSE
# > 2 /Users/thomas/Library… 0 Open… Open … Ligh… normal norm… TRUE FALSE
# > 3 /Users/thomas/Library… 0 Open… Open … Semi… semib… semi… TRUE FALSE
# > 4 /System/Library/Fonts… 0 Note… Notew… Light normal norm… FALSE FALSE
# > 5 /System/Library/Fonts… 1 Deva… Devan… Bold bold norm… FALSE FALSE
# > 6 /System/Library/Fonts… 0 Kann… Kanna… Regu… normal norm… FALSE FALSE
# > 7 /System/Library/Fonts… 0 Verd… Verda… Bold bold norm… FALSE FALSE
# > 8 /System/Library/Fonts… 8 Aria… Arial… Light light norm… FALSE FALSE
# > 9 /Users/thomas/Library… 0 Open… Open … Medi… medium norm… TRUE FALSE
# > 10 /System/Library/Fonts… 10 Appl… Apple… Thin thin norm… FALSE FALSE
# > # ℹ 833 more rows علاوة على ذلك ، يمكنك الاستعلام عن معلومات إضافية حول الخطوط والمواد الحربية المحددة ، إذا كان ذلك ذا أهمية باستخدام وظائف font_info() و glyph_info() .
على الرغم من أن الحصول على هذه المعلومات في R أمر رائع ، فإن الاستخدام المقصود هو في الغالب من خلال التعليمات البرمجية المترجمة بحيث يمكن للأجهزة الرسومية تحديد موقع ملفات الخطوط ذات الصلة بسهولة وما إلى ذلك.
من أجل استخدام وظائف من SystemFonts في C (++) ، يجب أن تدرج الحزمة الخاصة بك SystemFonts في حقل LinkingTo في ملف DESCRIPTION . بمجرد الانتهاء من ذلك ، يمكنك الآن #include <systemfonts.h> في الكود الخاص بك واستخدام وظائف المقدمة. ابحث في ملف inst/include/systemfonts.h للتعرف على واجهة برمجة تطبيقات C.
سيحاول SystemFonts دائمًا العثور على خط لك ، حتى لو لم يكن هناك أي اسم أو أسلوب عائلي معين. كيف يحل هذا هو محدد للنظام ويجب عدم الاعتماد عليه ، ولكن من المتوقع أن يتم إرجاع ملف خط صالح دائمًا بغض النظر عن الإدخال.
توجد بعض الأسماء المستعارة الخاصة التي تتصرف بشكل متوقع ولكن تعتمد على النظام:
"" و "sans" يعيدون Helvetica على Mac ، Arial على Windows ، وخط Sans-Serif الافتراضي على Linux ( Dejavu sans على Ubuntu)"serif" يعود على Mac ، Times New Roman on Windows ، وخط Serif الافتراضي على Linux ( Dejavu Serif على Ubuntu)"mono" Return Courier على Mac و Courier New On Windows و Mono Font الافتراضي على Linux ( Dejavu Mono على Ubuntu)"emoji" إرجاع Apple Color Emoji على Mac و Segoe UI Emoji على Windows وخط Emoji الافتراضي على Linux ( Noto Color on Ubuntu) يرجى ملاحظة أن مشروع "SystemFonts" يتم إصداره باستخدام مدونة سلوك مساهم. من خلال المساهمة في هذا المشروع ، فإنك توافق على الالتزام بشروطه.