الوصف
استخدِم واجهة برمجة التطبيقات 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
الرقم
حجم الخط بالبكسل
-
-