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); }
);

تضبط المقتطفة التالية خط 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,
)
: Promise<void>

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

المعلمات

  • التفاصيل

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

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

المرتجعات

  • Promise<void>

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

clearDefaultFontSize()

chrome.fontSettings.clearDefaultFontSize(
  details?: object,
)
: Promise<void>

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

المعلمات

  • التفاصيل

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

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

المرتجعات

  • Promise<void>

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

clearFont()

chrome.fontSettings.clearFont(
  details: object,
)
: Promise<void>

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

المعلمات

  • التفاصيل

    عنصر

    • genericFamily

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

    • نص برمجي

      ScriptCode اختياري

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

المرتجعات

  • Promise<void>

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

clearMinimumFontSize()

chrome.fontSettings.clearMinimumFontSize(
  details?: object,
)
: Promise<void>

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

المعلمات

  • التفاصيل

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

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

المرتجعات

  • Promise<void>

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

getDefaultFixedFontSize()

chrome.fontSettings.getDefaultFixedFontSize(
  details?: object,
)
: Promise<object>

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

المعلمات

  • التفاصيل

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

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

المرتجعات

  • Promise<object>

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

getDefaultFontSize()

chrome.fontSettings.getDefaultFontSize(
  details?: object,
)
: Promise<object>

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

المعلمات

  • التفاصيل

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

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

المرتجعات

  • Promise<object>

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

getFont()

chrome.fontSettings.getFont(
  details: object,
)
: Promise<object>

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

المعلمات

  • التفاصيل

    عنصر

    • genericFamily

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

    • نص برمجي

      ScriptCode اختياري

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

المرتجعات

  • Promise<object>

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

getFontList()

chrome.fontSettings.getFontList(): Promise<FontName[]>

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

المرتجعات

  • Promise<FontName[]>

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

getMinimumFontSize()

chrome.fontSettings.getMinimumFontSize(
  details?: object,
)
: Promise<object>

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

المعلمات

  • التفاصيل

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

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

المرتجعات

  • Promise<object>

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

setDefaultFixedFontSize()

chrome.fontSettings.setDefaultFixedFontSize(
  details: object,
)
: Promise<void>

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

المعلمات

  • التفاصيل

    عنصر

    • pixelSize

      الرقم

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

المرتجعات

  • Promise<void>

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

setDefaultFontSize()

chrome.fontSettings.setDefaultFontSize(
  details: object,
)
: Promise<void>

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

المعلمات

  • التفاصيل

    عنصر

    • pixelSize

      الرقم

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

المرتجعات

  • Promise<void>

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

setFont()

chrome.fontSettings.setFont(
  details: object,
)
: Promise<void>

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

المعلمات

  • التفاصيل

    عنصر

    • fontId

      سلسلة

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

    • genericFamily

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

    • نص برمجي

      ScriptCode اختياري

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

المرتجعات

  • Promise<void>

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

setMinimumFontSize()

chrome.fontSettings.setMinimumFontSize(
  details: object,
)
: Promise<void>

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

المعلمات

  • التفاصيل

    عنصر

    • pixelSize

      الرقم

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

المرتجعات

  • Promise<void>

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

الفعاليات

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

        الرقم

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