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، وهي مُدرَجة في مرجع واجهة برمجة التطبيقات أدناه. عندما تحدّد صفحة ويب مجموعة خطوط عامة، يختار Chrome الخط استنادًا إلى الإعدادات المناسبة. في حال عدم تحديد مجموعة خطوط عامة، يستخدم Chrome إعدادات مجموعة الخطوط العامة "العادية".

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

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

أمثلة

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

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

تضبط المقتطفة التالية خط sans-serif للغة اليابانية.

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"

"خيال"

"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

"آفاق"

"Arab"

"Armi"

"Armn"

"Avst"

"Bali"

"Bamu"

"Bass"

"Batk"

"Beng"

"Blis"

"Bopo"

"Brah"

"Brai"

"Bugi"

"Buhd"

"Cakm"

"علب"

"Cari"

"Cham"

"Cher"

"Cirt"

"Copt"

"Cprt"

"Cyrl"

"Cyrs"

"Deva"

"Dsrt"

"Dupl"

"Egyd"

"Egyh"

"Egyp"

"Elba"

"Ethi"

"Geor"

"Geok"

"Glag"

"Goth"

"Gran"

"Grek"

"Gujr"

"Guru"

"Hang"

"Hani"

"Hano"

"Hans"

"Hant"

"Hebr"

"Hluw"

"Hmng"

"Hung"

"Inds"

"Ital"

"Java"

"Jpan"

"Jurc"

"كالي"

"Khar"

"Khmr"

"Khoj"

"Knda"

"Kpel"

"Kthi"

"Lana"

"Laoo"

"Latf"

"Latg"

"Latn"

"Lepc"

"Limb"

"Lina"

"Linb"

"Lisu"

"Loma"

"Lyci"

"Lydi"

"Mand"

"Mani"

"Maya"

"Mend"

"Merc"

"Mero"

"Mlym"

"Moon"

"Mong"

"Mroo"

"Mtei"

"Mymr"

"Narb"

"Nbat"

"Nkgb"

"Nkoo"

"Nshu"

"أوغام"

"Olck"

"Orkh"

"Orya"

"Osma"

"Palm"

"Perm"

"Phag"

"Phli"

"Phlp"

"Phlv"

"Phnx"

"Plrd"

"Prti"

"Rjng"

"Roro"

"Runr"

"Samr"

"Sara"

"Sarb"

"Saur"

"Sgnw"

"Shaw"

"Shrd"

"Sind"

"Sinh"

"Sora"

"Sund"

"Sylo"

"Syrc"

"Syre"

"Syrj"

"Syrn"

"Tagb"

"Takr"

"قصة"

"Talu"

"Taml"

"Tang"

"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,
)
: Promise<void>

يزيل حجم الخط الثابت التلقائي الذي يحدّده هذا الامتداد، إذا كان هناك أي حجم خط ثابت.

المعلمات

  • التفاصيل

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

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

  • callback

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

clearDefaultFontSize()

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

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

المعلمات

  • التفاصيل

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

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

  • callback

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

clearFont()

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

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

المعلمات

  • التفاصيل

    عنصر

    • genericFamily

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

    • نص برمجي

      ScriptCode اختياري

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

  • callback

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

clearMinimumFontSize()

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

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

المعلمات

  • التفاصيل

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

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

  • callback

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

getDefaultFixedFontSize()

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

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

المعلمات

  • التفاصيل

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

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

  • callback

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

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

    (details: object) => void

    • التفاصيل

      عنصر

      • levelOfControl

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

      • pixelSize

        الرقم

        حجم الخط بالبكسل

المرتجعات

  • Promise<object>

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

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

getDefaultFontSize()

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

تعرض هذه السمة حجم الخط التلقائي.

المعلمات

  • التفاصيل

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

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

  • callback

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

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

    (details: object) => void

    • التفاصيل

      عنصر

      • levelOfControl

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

      • pixelSize

        الرقم

        حجم الخط بالبكسل

المرتجعات

  • Promise<object>

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

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

getFont()

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

تعرض هذه الطريقة الخط لنص معيّن ومجموعة خطوط عامة.

المعلمات

  • التفاصيل

    عنصر

    • genericFamily

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

    • نص برمجي

      ScriptCode اختياري

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

  • callback

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

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

    (details: object) => void

    • التفاصيل

      عنصر

      • fontId

        سلسلة

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

      • levelOfControl

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

المرتجعات

  • Promise<object>

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

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

getFontList()

الوعد
chrome.fontSettings.getFontList(
  callback?: function,
)
: Promise<FontName[]>

تعرض هذه السمة قائمة بالخطوط المتوفرة على النظام.

المعلمات

  • callback

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

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

    (results: FontName[]) => void

المرتجعات

  • Promise<FontName[]>

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

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

getMinimumFontSize()

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

تعرض هذه السمة الحد الأدنى لحجم الخط.

المعلمات

  • التفاصيل

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

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

  • callback

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

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

    (details: object) => void

    • التفاصيل

      عنصر

      • levelOfControl

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

      • pixelSize

        الرقم

        حجم الخط بالبكسل

المرتجعات

  • Promise<object>

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

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

setDefaultFixedFontSize()

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

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

المعلمات

  • التفاصيل

    عنصر

    • pixelSize

      الرقم

      حجم الخط بالبكسل

  • callback

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

setDefaultFontSize()

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

تضبط هذه السمة حجم الخط التلقائي.

المعلمات

  • التفاصيل

    عنصر

    • pixelSize

      الرقم

      حجم الخط بالبكسل

  • callback

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

setFont()

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

تضبط هذه السمة الخط لنص معيّن ومجموعة خطوط عامة.

المعلمات

  • التفاصيل

    عنصر

    • fontId

      سلسلة

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

    • genericFamily

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

    • نص برمجي

      ScriptCode اختياري

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

  • callback

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

setMinimumFontSize()

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

تضبط هذه السمة الحد الأدنى لحجم الخط.

المعلمات

  • التفاصيل

    عنصر

    • pixelSize

      الرقم

      حجم الخط بالبكسل

  • callback

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

الفعاليات

onDefaultFixedFontSizeChanged

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

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

المعلمات

  • callback

    دالة

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

    (details: object) => void

    • التفاصيل

      عنصر

      • levelOfControl

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

      • pixelSize

        الرقم

        حجم الخط بالبكسل

onDefaultFontSizeChanged

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

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

المعلمات

  • callback

    دالة

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

    (details: object) => void

    • التفاصيل

      عنصر

      • levelOfControl

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

      • pixelSize

        الرقم

        حجم الخط بالبكسل

onFontChanged

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

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

المعلمات

  • callback

    دالة

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

    (details: object) => void

    • التفاصيل

      عنصر

      • fontId

        سلسلة

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

      • genericFamily

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

      • levelOfControl

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

      • نص برمجي

        ScriptCode اختياري

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

onMinimumFontSizeChanged

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

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

المعلمات

  • callback

    دالة

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

    (details: object) => void

    • التفاصيل

      عنصر

      • levelOfControl

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

      • pixelSize

        الرقم

        حجم الخط بالبكسل