chrome.fontSettings

الوصف

استخدِم واجهة برمجة التطبيقات chrome.fontSettings لإدارة إعدادات الخطوط في Chrome.

الأذونات

fontSettings

لاستخدام Font Settings API، يجب الإفصاح عن الإذن "fontSettings" في بيان الإضافة. على سبيل المثال:

{
  "name": "My Font Settings Extension",
  "description": "Customize your fonts",
  "version": "0.2",
  "permissions": [
    "fontSettings"
  ],
  ...
}

المفاهيم وطريقة الاستخدام

يسمح Chrome لبعض إعدادات الخطوط بالاعتماد على مجموعات خطوط عامة معيّنة وملفات برمجية لغوية معيّنة. على سبيل المثال، قد يختلف الخط المستخدَم للغة الصينية المبسّطة بخط sans serif عن الخط المستخدَم للغة اليابانية بخط serif.

تستند مجموعات الخطوط العامة المتوافقة مع Chrome إلى مجموعات الخطوط العامة لتنسيق CSS ويتم إدراجها ضمن GenericReference. عندما تحدّد صفحة ويب مجموعة خطوط عامة، يختار Chrome الخط استنادًا إلى الإعداد المقابل. إذا لم يتم تحديد مجموعة خطوط عامة، يستخدم Chrome الإعداد الخاص بمجموعة الخطوط العامة "العادية".

عندما تحدّد صفحة ويب لغة معيّنة، يختار Chrome الخط استنادًا إلى إعدادات ملف برمجي للغة المعنيّة. في حال عدم تحديد لغة، يستخدم Chrome الإعداد الخاص بالنصوص البرمجية التلقائية أو العامة.

يتم تحديد النصوص البرمجية للّغات المتوافقة باستخدام رمز النص البرمجي ISO 15924 ويتم إدراجها ضمن ScriptCode. من الناحية الفنية، لا تعتمد إعدادات Chrome بشكل صارم على النص البرمجي، بل تعتمد أيضًا على اللغة. على سبيل المثال، يختار Chrome خط النص السيريلي (رمز النص البرمجي ISO 15924‏ "Cyrl") عندما تحدّد صفحة الويب اللغة الروسية، ولا يستخدم هذا الخط للنص السيريلي فقط، بل يستخدمه أيضًا لكل ما يشمله الخط، مثل اللاتينية.

أمثلة

تحصل التعليمة البرمجية التالية على الخط العادي للغة العربية.

chrome.fontSettings.getFont(
  { genericFamily: 'standard', script: 'Arab' },
  function(details) { console.log(details.fontId); }
);

يضبط المقتطف التالي الخط غير المزوّد بزخارف للغة اليابانية.

chrome.fontSettings.setFont(
  { genericFamily: 'sansserif', script: 'Jpan', fontId: 'MS PGothic' }
);

لتجربة واجهة برمجة التطبيقات هذه، ثبِّت مثال fontSettings API من مستودع chrome-extension-samples.

الأنواع

FontName

يمثّل اسم خط.

أماكن إقامة

  • displayName

    سلسلة

    الاسم المعروض للخط

  • fontId

    سلسلة

    معرّف الخط

GenericFamily

مجموعة خطوط عامة في CSS

Enum

"standard"

"sansserif"

"serif"

"fixed"

"cursive"

"fantasy"

"math"

LevelOfControl

أحد الخيارَين التاليَين: not\_controllable: لا يمكن التحكّم فيه من خلال أي إضافة controlled\_by\_other\_extensions: يتم التحكّم فيه من خلال إضافات ذات أولوية أعلى controllable\_by\_this\_extension: يمكن التحكّم فيه من خلال هذه الإضافة controlled\_by\_this\_extension: يتم التحكّم فيه من خلال هذه الإضافة

Enum

"not_controllable"

"controlled_by_other_extensions"

"controllable_by_this_extension"

"controlled_by_this_extension"

ScriptCode

رمز نص برمجي وفقًا لمعيار ISO 15924 يُشار إلى النص البرمجي التلقائي أو الشامل برمز النص البرمجي "Zyyy".

Enum

"Afak"

"عربي"

"Armi"

"Armn"

"Avst"

"Bali"

"Bamu"

"Bass"

"Batk"

"Beng"

"Blis"

"Bopo"

"Brah"

"Brai"

"Bugi"

"Buhd"

"Cakm"

"علب"

"كاري"

"شام"

"شير"

"Cirt"

"Copt"

"Cprt"

"Cyrl"

"Cyrs"

"Deva"

"Dsrt"

"Dupl"

"Egyd"

"Egyh"

"Egyp"

"Elba"

"Ethi"

"جور"

"Geok"

"Glag"

"Goth"

"Gran"

"Grek"

"Gujr"

"Guru"

"إنهاء المكالمة"

"هاني"

"Hano"

"Hans"

"Hant"

"Hebr"

"Hluw"

"Hmng"

"هنغ"

"Inds"

"Ital"

"Java"

"Jpan"

"Jurc"

"كالي"

"Khar"

"Khmr"

"Khoj"

"Knda"

"Kpel"

"Kthi"

"لانا"

"Laoo"

"Latf"

"Latg"

"Latn"

"Lepc"

"Limb"

"لينا"

"لينب"

"Lisu"

"Loma"

"Lyci"

"Lydi"

"Mand"

"مان"

"Maya"

"إصلاح"

"Merc"

"ميرو"

"Mlym"

"Moon"

"Mong"

"Mroo"

"Mtei"

"Mymr"

"Narb"

"Nbat"

"Nkgb"

"Nkoo"

"Nshu"

"Ogam"

"Olck"

"Orkh"

"Orya"

"Osma"

"Palm"

"Perm"

"Phag"

"Phli"

"Phlp"

"Phlv"

"Phnx"

"Plrd"

"Prti"

"Rjng"

"Roro"

"Runr"

"سامر"

"سارة"

"Sarb"

"Saur"

"Sgnw"

"Shaw"

"Shrd"

"Sind"

"Sinh"

"Sora"

"Sund"

"Sylo"

"Syrc"

"Syre"

"Syrj"

"Syrn"

"Tagb"

"Takr"

"Tale"

"Talu"

"Taml"

"تانغ"

"Tavt"

"Telu"

"Teng"

"Tfng"

"Tglg"

"Thaa"

"Thai"

"Tibt"

"Tirh"

"Ugar"

"Vaii"

"Visp"

"Wara"

"Wole"

"Xpeo"

"Xsux"

"Yiii"

"Zmth"

"Zsym"

"Zyyy"

الطُرق

clearDefaultFixedFontSize()

الوعد
chrome.fontSettings.clearDefaultFixedFontSize(
  details?: object,
  callback?: function,
)

تمحو هذه القيمة حجم الخط الثابت التلقائي الذي ضبطته هذه الإضافة، إن وُجد.

المعلمات

  • التفاصيل

    العنصر اختياري

    هذه المَعلمة غير مستخدَمة حاليًا.

  • ردّ الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    Chrome 96 والإصدارات الأحدث

    تتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.

clearDefaultFontSize()

الوعد
chrome.fontSettings.clearDefaultFontSize(
  details?: object,
  callback?: function,
)

تمحو هذه السمة حجم الخط التلقائي الذي ضبطته هذه الإضافة، إن توفّر.

المعلمات

  • التفاصيل

    العنصر اختياري

    هذه المَعلمة غير مستخدَمة حاليًا.

  • ردّ الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    Chrome 96 والإصدارات الأحدث

    تتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.

clearFont()

الوعد
chrome.fontSettings.clearFont(
  details: object,
  callback?: function,
)

تمحو هذه القيمة الخط الذي ضبطته هذه الإضافة، إن توفّر.

المعلمات

  • التفاصيل

    عنصر

    • genericFamily

      مجموعة الخطوط العامة التي يجب محو الخط منها

    • نص برمجي

      ScriptCode اختياري

      النص الذي يجب محو الخط منه في حال حذفها، يتم محو إعداد خط النص البرمجي العام.

  • ردّ الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    Chrome 96 والإصدارات الأحدث

    تتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.

clearMinimumFontSize()

الوعد
chrome.fontSettings.clearMinimumFontSize(
  details?: object,
  callback?: function,
)

تمحو هذه القيمة الحد الأدنى لحجم الخط الذي ضبطته هذه الإضافة، إن وُجد.

المعلمات

  • التفاصيل

    العنصر اختياري

    هذه المَعلمة غير مستخدَمة حاليًا.

  • ردّ الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    Chrome 96 والإصدارات الأحدث

    تتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.

getDefaultFixedFontSize()

الوعد
chrome.fontSettings.getDefaultFixedFontSize(
  details?: object,
  callback?: function,
)

تحصل على الحجم التلقائي للخطوط ذات العرض الثابت.

المعلمات

  • التفاصيل

    العنصر اختياري

    هذه المَعلمة غير مستخدَمة حاليًا.

  • ردّ الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (details: object) => void

    • التفاصيل

      عنصر

      • levelOfControl

        مستوى التحكّم الذي تمارسه هذه الإضافة في الإعداد

      • pixelSize

        الرقم

        حجم الخط بوحدات البكسل

المرتجعات

  • Promise<object>

    Chrome 96 والإصدارات الأحدث

    تتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.

getDefaultFontSize()

الوعد
chrome.fontSettings.getDefaultFontSize(
  details?: object,
  callback?: function,
)

الحصول على حجم الخط التلقائي

المعلمات

  • التفاصيل

    العنصر اختياري

    هذه المَعلمة غير مستخدَمة حاليًا.

  • ردّ الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (details: object) => void

    • التفاصيل

      عنصر

      • levelOfControl

        مستوى التحكّم الذي تمارسه هذه الإضافة في الإعداد

      • pixelSize

        الرقم

        حجم الخط بوحدات البكسل

المرتجعات

  • Promise<object>

    Chrome 96 والإصدارات الأحدث

    تتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.

getFont()

الوعد
chrome.fontSettings.getFont(
  details: object,
  callback?: function,
)

تحصل هذه الدالة على خط نص برمجي معيّن ومجموعة خطوط عامة.

المعلمات

  • التفاصيل

    عنصر

    • genericFamily

      مجموعة الخطوط العامة التي يجب استرداد الخط لها.

    • نص برمجي

      ScriptCode اختياري

      النص البرمجي الذي يجب استرداد الخط له. في حال حذف هذه السمة، يتم استرداد إعدادات الخط للنص البرمجي الشامل (رمز النص البرمجي "Zyyy").

  • ردّ الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (details: object) => void

    • التفاصيل

      عنصر

      • fontId

        سلسلة

        معرّف الخط بدلاً من قيمة الإعداد المفضّل لرقم تعريف الخط، قد يكون هذا هو رقم تعريف الخط الذي يحلّ النظام قيمة الإعداد المفضّل فيه. وبالتالي، يمكن أن يختلف fontId عن الخط الذي تم تمريره إلى setFont، على سبيل المثال، إذا لم يكن الخط متوفّرًا على النظام. تشير السلسلة الفارغة إلى الرجوع إلى إعداد خط النص البرمجي العام.

      • levelOfControl

        مستوى التحكّم الذي تمارسه هذه الإضافة في الإعداد

المرتجعات

  • Promise<object>

    Chrome 96 والإصدارات الأحدث

    تتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.

getFontList()

الوعد
chrome.fontSettings.getFontList(
  callback?: function,
)

الحصول على قائمة بالخطوط على النظام

المعلمات

  • ردّ الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (results: FontName[]) => void

المرتجعات

  • Promise<FontName[]>

    Chrome 96 والإصدارات الأحدث

    تتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.

getMinimumFontSize()

الوعد
chrome.fontSettings.getMinimumFontSize(
  details?: object,
  callback?: function,
)

الحصول على الحد الأدنى لحجم الخط

المعلمات

  • التفاصيل

    العنصر اختياري

    هذه المَعلمة غير مستخدَمة حاليًا.

  • ردّ الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (details: object) => void

    • التفاصيل

      عنصر

      • levelOfControl

        مستوى التحكّم الذي تمارسه هذه الإضافة في الإعداد

      • pixelSize

        الرقم

        حجم الخط بوحدات البكسل

المرتجعات

  • Promise<object>

    Chrome 96 والإصدارات الأحدث

    تتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.

setDefaultFixedFontSize()

الوعد
chrome.fontSettings.setDefaultFixedFontSize(
  details: object,
  callback?: function,
)

لضبط الحجم التلقائي للخطوط ذات العرض الثابت

المعلمات

  • التفاصيل

    عنصر

    • pixelSize

      الرقم

      حجم الخط بوحدات البكسل

  • ردّ الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    Chrome 96 والإصدارات الأحدث

    تتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.

setDefaultFontSize()

الوعد
chrome.fontSettings.setDefaultFontSize(
  details: object,
  callback?: function,
)

لضبط حجم الخط التلقائي

المعلمات

  • التفاصيل

    عنصر

    • pixelSize

      الرقم

      حجم الخط بوحدات البكسل

  • ردّ الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    Chrome 96 والإصدارات الأحدث

    تتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.

setFont()

الوعد
chrome.fontSettings.setFont(
  details: object,
  callback?: function,
)

لضبط الخط لنص معيّن ومجموعة خطوط عامة

المعلمات

  • التفاصيل

    عنصر

    • fontId

      سلسلة

      معرّف الخط تعني السلسلة الفارغة الرجوع إلى إعداد خط النص البرمجي العام.

    • genericFamily

      مجموعة الخطوط العامة التي يجب ضبط الخط لها

    • نص برمجي

      ScriptCode اختياري

      رمز النص البرمجي الذي يجب ضبط الخط عليه في حال حذف هذه السمة، يتم ضبط إعدادات الخط للنص البرمجي الشامل (رمز النص البرمجي "Zyyy").

  • ردّ الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    Chrome 96 والإصدارات الأحدث

    تتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.

setMinimumFontSize()

الوعد
chrome.fontSettings.setMinimumFontSize(
  details: object,
  callback?: function,
)

لضبط الحد الأدنى لحجم الخط

المعلمات

  • التفاصيل

    عنصر

    • pixelSize

      الرقم

      حجم الخط بوحدات البكسل

  • ردّ الاتصال

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    Chrome 96 والإصدارات الأحدث

    تتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.

الفعاليات

onDefaultFixedFontSizeChanged

chrome.fontSettings.onDefaultFixedFontSizeChanged.addListener(
  callback: function,
)

يتم تشغيله عند تغيير الإعداد التلقائي لحجم الخط الثابت.

المعلمات

  • ردّ الاتصال

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (details: object) => void

    • التفاصيل

      عنصر

      • levelOfControl

        مستوى التحكّم الذي تمارسه هذه الإضافة في الإعداد

      • pixelSize

        الرقم

        حجم الخط بوحدات البكسل

onDefaultFontSizeChanged

chrome.fontSettings.onDefaultFontSizeChanged.addListener(
  callback: function,
)

يتم تشغيله عند تغيير إعداد حجم الخط التلقائي.

المعلمات

  • ردّ الاتصال

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (details: object) => void

    • التفاصيل

      عنصر

      • levelOfControl

        مستوى التحكّم الذي تمارسه هذه الإضافة في الإعداد

      • pixelSize

        الرقم

        حجم الخط بوحدات البكسل

onFontChanged

chrome.fontSettings.onFontChanged.addListener(
  callback: function,
)

يتم تشغيله عند تغيير إعدادات الخط.

المعلمات

  • ردّ الاتصال

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (details: object) => void

    • التفاصيل

      عنصر

      • fontId

        سلسلة

        معرّف الخط يمكنك الاطّلاع على الوصف في getFont.

      • genericFamily

        مجموعة الخطوط العامة التي تم تغيير إعدادات الخط فيها

      • levelOfControl

        مستوى التحكّم الذي تمارسه هذه الإضافة في الإعداد

      • نص برمجي

        ScriptCode اختياري

        رمز النص البرمجي الذي تغيّرت إعدادات الخط له.

onMinimumFontSizeChanged

chrome.fontSettings.onMinimumFontSizeChanged.addListener(
  callback: function,
)

يتم تشغيله عند تغيير الحد الأدنى لإعداد حجم الخط.

المعلمات

  • ردّ الاتصال

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (details: object) => void

    • التفاصيل

      عنصر

      • levelOfControl

        مستوى التحكّم الذي تمارسه هذه الإضافة في الإعداد

      • pixelSize

        الرقم

        حجم الخط بوحدات البكسل