شرح
از chrome.fontSettings API برای مدیریت تنظیمات قلم Chrome استفاده کنید.
اجازهها
fontSettingsبرای استفاده از Font Settings API، باید اجازه "fontSettings" را در مانیفست
افزونه اعلام کنید. برای مثال:
{
"name": "My Font Settings Extension",
"description": "Customize your fonts",
"version": "0.2",
"permissions": [
"fontSettings"
],
...
}
مفاهیم و کاربرد
Chrome اجازه میدهد برخیاز تنظیمات قلم به خانوادههای قلم عمومی و نویسههای زبانی خاصی وابسته باشند. برای مثال، قلمی که برای چینی سادهشده سنسریف استفاده میشود ممکن است با قلمی که برای ژاپنی سریف استفاده میشود متفاوت باشد.
خانوادههای قلم عمومی که Chrome پشتیبانی میکند براساس خانوادههای قلم عمومی CSS هستند و
در GenericReference فهرست شدهاند. وقتی صفحه وب خانواده قلم عمومی را مشخص میکند، Chrome قلم را براساس تنظیم مربوطه انتخاب میکند. اگر خانواده قلم عمومی مشخص نشده باشد، Chrome از
تنظیمات خانواده قلم عمومی «استاندارد» استفاده میکند.
وقتی صفحه وب زبانی را مشخص میکند، Chrome قلم را براساس تنظیمات مربوط به نویسه زبان مربوطه انتخاب میکند. اگر زبانی مشخص نشده باشد، Chrome از تنظیمات پیشفرض، یا خط جهانی استفاده میکند.
نویسههای زبان پشتیبانیشده با کد نویسه ISO 15924 مشخص شدهاند و در
ScriptCode فهرست شدهاند. ازنظر فنی، تنظیمات Chrome دقیقاً براساس نویسه نیست بلکه به زبان هم بستگی دارد. برای مثال، وقتی صفحه وب زبان روسی را مشخص میکند، Chrome قلم سیریلیک (کد نویسه ISO 15924 «Cyrl») را انتخاب میکند و از این قلم نه فقط برای نویسه سیریلیک بلکه برای هر چیزی که قلم پوشش میدهد، مثل لاتین، استفاده میکند.
مثالها
کد زیر قلم استاندارد عربی را دریافت میکند.
browser.fontSettings.getFont(
{ genericFamily: 'standard', script: 'Arab' },
function(details) { console.log(details.fontId); }
);
قطعه کد بعدی قلم سنسریف را برای زبان ژاپنی تنظیم میکند.
browser.fontSettings.setFont(
{ genericFamily: 'sansserif', script: 'Jpan', fontId: 'MS PGothic' }
);
برای امتحان کردن این API، نمونه fontSettings API را از مخزن chrome-extension-samples نصب کنید.
انواع
FontName
نشاندهنده نام قلم است.
مشخصات
-
displayName
رشته
نام نمایشی قلم.
-
fontId
رشته
شناسه قلم.
GenericFamily
خانواده قلم عمومی CSS.
شمارشی
"standard"
"sansserif"
«serif»
«ثابت»
«cursive»
«fantasy»
"math"
LevelOfControl
یکی از
not\_controllable: نمیتواند توسط هیچ افزونهای کنترل شود
controlled\_by\_other\_extensions: توسط افزونههایی با اولویت بالاتر کنترل میشود
controllable\_by\_this\_extension: میتواند توسط این افزونه کنترل شود
controlled\_by\_this\_extension: توسط این افزونه کنترل میشود
شمارشی
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"
ScriptCode
کد دستورگان ISO 15924. خط پیشفرض یا جهانی با کد خط «Zyyy» نشان داده میشود.
شمارشی
«Afak»
«عرب»
«آران»
«Armi»
«Armn»
«Avst»
«بالی»
«بامو»
«بم»
«Batk»
«بنگ»
«Blis»
«Bopo»
«Brah»
"Brai"
«Bugi»
«Buhd»
«Cakm»
«قوطی»
«Cari»
«Cham»
«Cher»
«Cirt»
«کپی کردن»
"Cprt"
"Cyrl"
«Cyrs»
«Deva»
«Dsrt»
«Dupl»
«Egyd»
"Egyh"
"Egyp"
«Elba»
«Ethi»
"Geor"
«Geok»
«Glag»
«گوتیک»
«Gran»
«Grek»
«Gujr»
«Guru»
«Hang»
«هانی»
«Hano»
«Hans»
«Hant»
"Hebr"
«Hluw»
«Hmng»
«Hung»
«Inds»
"Ital"
«Java»
"Jpan"
«Jurc»
«Kali»
«Khar»
«Khmr»
«Khoj»
«Knda»
«Kpel»
«Kthi»
«Lana»
«Laoo»
«Latf»
"Latg"
«Latn»
«Lepc»
«اندام»
«Lina»
«Linb»
«لیسو»
«لوما»
«Lyci»
«Lydi»
«Mand»
«مانی»
«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»
«رورو»
«Runr»
«Samr»
«سارا»
«سرب»
«Saur»
"Sgnw"
«Shaw»
«Shrd»
«سند»
«Sinh»
«Sora»
«Sund»
«Sylo»
«Syrc»
«Syre»
«Syrj»
«Syrn»
"Tagb"
«Takr»
«Tale»
«Talu»
«تامیل»
«Tang»
«Tavt»
«Telu»
«Teng»
«Tfng»
"Tglg"
«Thaa»
«تایلندی»
«Tibt»
«Tirh»
«Ugar»
«Vaii»
"Visp"
«Wara»
«Wole»
«Xpeo»
"Xsux"
«Yiii»
«Zmth»
"Zsym"
«Zyyy»
روشها
clearDefaultFixedFontSize()
browser.fontSettings.clearDefaultFixedFontSize(
details?: object,
): Promise<void>
اندازه قلم ثابت پیشفرض تنظیمشده توسط این افزونه را (درصورت وجود) پاک میکند.
پارامترها
-
جزئیات
شیء اختیاری
فعلاً از این پارامتر استفاده نمیشود.
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸
clearDefaultFontSize()
browser.fontSettings.clearDefaultFontSize(
details?: object,
): Promise<void>
اندازه قلم پیشفرض تنظیمشده توسط این افزونه را (درصورت وجود) پاک میکند.
پارامترها
-
جزئیات
شیء اختیاری
فعلاً از این پارامتر استفاده نمیشود.
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸
clearFont()
browser.fontSettings.clearFont(
details: object,
): Promise<void>
قلم تنظیمشده توسط این افزونه را (درصورت وجود) پاک میکند.
پارامترها
-
جزئیات
شیء
-
genericFamily
خانواده قلم عمومی که قلم باید برای آن پاک شود.
-
دستورگان
ScriptCode اختیاری
متنی که قلم آن باید پاک شود. اگر حذف شود، تنظیم قلم دستورگان جهانی پاک میشود.
-
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸
clearMinimumFontSize()
browser.fontSettings.clearMinimumFontSize(
details?: object,
): Promise<void>
حداقل اندازه قلم تنظیمشده توسط این افزونه را (درصورت وجود) پاک میکند.
پارامترها
-
جزئیات
شیء اختیاری
فعلاً از این پارامتر استفاده نمیشود.
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸
getDefaultFixedFontSize()
browser.fontSettings.getDefaultFixedFontSize(
details?: object,
): Promise<object>
اندازه پیشفرض قلمهای با عرض ثابت را دریافت میکند.
پارامترها
-
جزئیات
شیء اختیاری
فعلاً از این پارامتر استفاده نمیشود.
بازگشتیها
-
Promise<object>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸
getDefaultFontSize()
browser.fontSettings.getDefaultFontSize(
details?: object,
): Promise<object>
اندازه قلم پیشفرض را دریافت میکند.
پارامترها
-
جزئیات
شیء اختیاری
فعلاً از این پارامتر استفاده نمیشود.
بازگشتیها
-
Promise<object>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸
getFont()
browser.fontSettings.getFont(
details: object,
): Promise<object>
قلم را برای نویسه و خانواده قلم عمومی دادهشده دریافت میکند.
پارامترها
-
جزئیات
شیء
-
genericFamily
خانواده قلم عمومی که قلم باید برای آن بازیابی شود.
-
دستورگان
ScriptCode اختیاری
نوشتاری که قلم باید برای آن بازیابی شود. اگر حذف شود، تنظیم قلم برای دستورگان جهانی (کد دستورگان «Zyyy») بازیابی میشود.
-
بازگشتیها
-
Promise<object>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸
getFontList()
browser.fontSettings.getFontList(): Promise<FontName[]>
فهرستی از قلمهای موجود در سیستم را دریافت میکند.
بازگشتیها
-
Promise<FontName[]>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸
getMinimumFontSize()
browser.fontSettings.getMinimumFontSize(
details?: object,
): Promise<object>
حداقل اندازه قلم را دریافت میکند.
پارامترها
-
جزئیات
شیء اختیاری
فعلاً از این پارامتر استفاده نمیشود.
بازگشتیها
-
Promise<object>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸
setDefaultFixedFontSize()
browser.fontSettings.setDefaultFixedFontSize(
details: object,
): Promise<void>
اندازه پیشفرض را برای قلمهای با عرض ثابت تنظیم میکند.
پارامترها
-
جزئیات
شیء
-
pixelSize
شماره
اندازه قلم به پیکسل.
-
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸
setDefaultFontSize()
browser.fontSettings.setDefaultFontSize(
details: object,
): Promise<void>
اندازه قلم پیشفرض را تنظیم میکند.
پارامترها
-
جزئیات
شیء
-
pixelSize
شماره
اندازه قلم به پیکسل.
-
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸
setFont()
browser.fontSettings.setFont(
details: object,
): Promise<void>
قلم را برای نویسه و خانواده قلم عمومی دادهشده تنظیم میکند.
پارامترها
-
جزئیات
شیء
-
fontId
رشته
شناسه قلم. رشته خالی یعنی بازگشت به تنظیمات قلم دستورگان جهانی.
-
genericFamily
خانواده قلم عمومی که قلم باید برای آن تنظیم شود.
-
دستورگان
ScriptCode اختیاری
کد نویسهای که قلم باید برای آن تنظیم شود. اگر حذف شود، تنظیم قلم برای نویسههای جهانی (کد نویسه «Zyyy») تنظیم میشود.
-
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸
setMinimumFontSize()
browser.fontSettings.setMinimumFontSize(
details: object,
): Promise<void>
حداقل اندازه قلم را تنظیم میکند.
پارامترها
-
جزئیات
شیء
-
pixelSize
شماره
اندازه قلم به پیکسل.
-
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸
رویدادها
onDefaultFixedFontSizeChanged
browser.fontSettings.onDefaultFixedFontSizeChanged.addListener(
callback: function,
)
وقتی تنظیم اندازه قلم ثابت پیشفرض تغییر میکند، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
levelOfControl
سطح کنترلی که این افزونه بر تنظیم دارد.
-
pixelSize
شماره
اندازه قلم به پیکسل.
-
-
onDefaultFontSizeChanged
browser.fontSettings.onDefaultFontSizeChanged.addListener(
callback: function,
)
وقتی تنظیم اندازه قلم پیشفرض تغییر میکند، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
levelOfControl
سطح کنترلی که این افزونه بر تنظیم دارد.
-
pixelSize
شماره
اندازه قلم به پیکسل.
-
-
onFontChanged
browser.fontSettings.onFontChanged.addListener(
callback: function,
)
وقتی تنظیم قلم تغییر میکند، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
fontId
رشته
شناسه قلم. شرح را به زبان
getFontببینید. -
genericFamily
خانواده قلم عمومی که تنظیمات قلم آن تغییر کرده است.
-
levelOfControl
سطح کنترلی که این افزونه بر تنظیم دارد.
-
دستورگان
ScriptCode اختیاری
کد نویسهای که تنظیم قلم آن تغییر کرده است.
-
-
onMinimumFontSizeChanged
browser.fontSettings.onMinimumFontSizeChanged.addListener(
callback: function,
)
وقتی تنظیم حداقل اندازه قلم تغییر میکند، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
levelOfControl
سطح کنترلی که این افزونه بر تنظیم دارد.
-
pixelSize
شماره
اندازه قلم به پیکسل.
-
-