الوصف
يمكنك استخدام واجهة برمجة التطبيقات 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 الخط السيريلي (رمز النص البرمجي "Cyrl" وفقًا لمعيار ISO 15924) عندما تحدّد صفحة الويب اللغة الروسية، ويستخدم هذا الخط ليس فقط للنص السيريلي ولكن لكل ما يغطيه الخط، مثل اللاتينية.
أمثلة
يحصل الرمز التالي على الخط العادي للغة العربية.
browser.fontSettings.getFont(
{ genericFamily: 'standard', script: 'Arab' },
function(details) { console.log(details.fontId); }
);
يضبط المقتطف التالي خط sans-serif للغة اليابانية.
browser.fontSettings.setFont(
{ genericFamily: 'sansserif', script: 'Jpan', fontId: 'MS PGothic' }
);
لتجربة واجهة برمجة التطبيقات هذه، يمكنك تثبيت مثال على واجهة برمجة التطبيقات fontSettings من مستودع 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
"آفاق"
"Arab"
"Aran"
"Armi"
"Armn"
"Avst"
"بالي"
"Bamu"
"صوت جهير"
"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"
"تعليق"
"هاني"
"Hano"
"Hans"
"Hant"
"Hebr"
"Hluw"
"Hmng"
"Hung"
"Inds"
"Ital"
"Java"
"Jpan"
"Jurc"
"Kali"
"Khar"
"Khmr"
"Khoj"
"Knda"
"Kpel"
"Kthi"
"لانا"
"Laoo"
"Latf"
"Latg"
"Latn"
"Lepc"
"Limb"
"لينا"
"Linb"
"ليسو"
"Loma"
"Lyci"
"Lydi"
"Mand"
"Mani"
"Maya"
"Mend"
"Merc"
"Mero"
"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"
"سمر"
"سارة"
"سرب"
"Saur"
"Sgnw"
"Shaw"
"Shrd"
"Sind"
"Sinh"
"Sora"
"Sund"
"Sylo"
"Syrc"
"Syre"
"Syrj"
"Syrn"
"Tagb"
"Takr"
"Tale"
"Talu"
"Taml"
"Tang"
"Tavt"
"Telu"
"Teng"
"Tfng"
"Tglg"
"ثاء"
"التايلاندية"
"Tibt"
"Tirh"
"Ugar"
"Vaii"
"Visp"
"Wara"
"Wole"
"Xpeo"
"Xsux"
"Yiii"
"Zmth"
"Zsym"
"Zyyy"
الطُرق
clearDefaultFixedFontSize()
chrome.fontSettings.clearDefaultFixedFontSize(
details?: object,
): Promise<void>
يؤدي هذا الإجراء إلى محو حجم الخط الثابت التلقائي الذي تم ضبطه من خلال هذه الإضافة، إن وُجد.
المعلمات
-
التفاصيل
object اختياري
هذه المَعلمة غير مستخدَمة حاليًا.
المرتجعات
-
وعد<فراغ>
الإصدار 96 من Chrome أو الإصدارات الأحدث
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
): Promise<void>
لمحو حجم الخط التلقائي الذي تم ضبطه من خلال هذه الإضافة، إن وُجد.
المعلمات
-
التفاصيل
object اختياري
هذه المَعلمة غير مستخدَمة حاليًا.
المرتجعات
-
وعد<فراغ>
الإصدار 96 من Chrome أو الإصدارات الأحدث
clearFont()
chrome.fontSettings.clearFont(
details: object,
): Promise<void>
لمحو الخط الذي تم ضبطه من خلال هذه الإضافة، إن وُجد.
المعلمات
-
التفاصيل
عنصر
-
genericFamily
مجموعة الخطوط العامة التي يجب محو الخط لها
-
نص برمجي
ScriptCode اختيارية
النص الذي يجب محو الخط الخاص به. في حال حذفها، يتم محو إعدادات خط النص العام.
-
المرتجعات
-
وعد<فراغ>
الإصدار 96 من Chrome أو الإصدارات الأحدث
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
): Promise<void>
يؤدي هذا الإجراء إلى محو الحد الأدنى لحجم الخط الذي تم ضبطه من خلال هذه الإضافة، إن وُجد.
المعلمات
-
التفاصيل
object اختياري
هذه المَعلمة غير مستخدَمة حاليًا.
المرتجعات
-
وعد<فراغ>
الإصدار 96 من Chrome أو الإصدارات الأحدث
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
): Promise<object>
للحصول على الحجم التلقائي للخطوط ذات العرض الثابت
المعلمات
-
التفاصيل
object اختياري
هذه المَعلمة غير مستخدَمة حاليًا.
المرتجعات
-
وعد<كائن>
الإصدار 96 من Chrome أو الإصدارات الأحدث
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
): Promise<object>
للحصول على حجم الخط التلقائي
المعلمات
-
التفاصيل
object اختياري
هذه المَعلمة غير مستخدَمة حاليًا.
المرتجعات
-
وعد<كائن>
الإصدار 96 من Chrome أو الإصدارات الأحدث
getFont()
chrome.fontSettings.getFont(
details: object,
): Promise<object>
للحصول على الخط الخاص بنص معيّن ومجموعة خطوط عامة
المعلمات
-
التفاصيل
عنصر
-
genericFamily
مجموعة الخطوط العامة التي يجب استرداد الخط لها
-
نص برمجي
ScriptCode اختيارية
النص الذي يجب استرداد الخط له في حال حذف هذه السمة، يتم استرداد إعدادات الخط للنص البرمجي العام (رمز النص البرمجي "Zyyy").
-
المرتجعات
-
وعد<كائن>
الإصدار 96 من Chrome أو الإصدارات الأحدث
getFontList()
chrome.fontSettings.getFontList(): Promise<FontName[]>
تتيح الحصول على قائمة بالخطوط على النظام.
المرتجعات
-
Promise<FontName[]>
الإصدار 96 من Chrome أو الإصدارات الأحدث
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
): Promise<object>
للحصول على الحد الأدنى لحجم الخط
المعلمات
-
التفاصيل
object اختياري
هذه المَعلمة غير مستخدَمة حاليًا.
المرتجعات
-
وعد<كائن>
الإصدار 96 من Chrome أو الإصدارات الأحدث
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
): Promise<void>
يحدّد هذا الإعداد الحجم التلقائي للخطوط الثابتة العرض.
المعلمات
-
التفاصيل
عنصر
-
pixelSize
الرقم
حجم الخط بالبكسل
-
المرتجعات
-
وعد<فراغ>
الإصدار 96 من Chrome أو الإصدارات الأحدث
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
): Promise<void>
لضبط حجم الخط التلقائي
المعلمات
-
التفاصيل
عنصر
-
pixelSize
الرقم
حجم الخط بالبكسل
-
المرتجعات
-
وعد<فراغ>
الإصدار 96 من Chrome أو الإصدارات الأحدث
setFont()
chrome.fontSettings.setFont(
details: object,
): Promise<void>
لضبط الخط لنص معيّن ومجموعة خطوط عامة
المعلمات
-
التفاصيل
عنصر
-
fontId
سلسلة
رقم تعريف الخط تعني السلسلة الفارغة الرجوع إلى إعداد خط النص البرمجي العام.
-
genericFamily
مجموعة الخطوط العامة التي يجب ضبط الخط لها
-
نص برمجي
ScriptCode اختيارية
رمز النص البرمجي الذي يجب ضبط الخط عليه. في حال حذف هذه السمة، يتم ضبط إعدادات الخط للنص العام (رمز النص "Zyyy").
-
المرتجعات
-
وعد<فراغ>
الإصدار 96 من Chrome أو الإصدارات الأحدث
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
): Promise<void>
يضبط هذا الإعداد الحدّ الأدنى لحجم الخط.
المعلمات
-
التفاصيل
عنصر
-
pixelSize
الرقم
حجم الخط بالبكسل
-
المرتجعات
-
وعد<فراغ>
الإصدار 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
الرقم
حجم الخط بالبكسل
-
-