refresh date: 2026-09-25 robots: noindex
شرح
از 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 هستند و در مرجع میانای برنامهسازی کاربردی زیر فهرست شدهاند. وقتی صفحه وبی خانواده قلم عمومی را مشخص میکند، Chrome قلم را براساس تنظیم مربوطه انتخاب میکند. اگر خانواده قلم عمومی مشخص نشده باشد، Chrome از تنظیمات خانواده قلم عمومی «استاندارد» استفاده میکند.
وقتی صفحه وبی زبانی را مشخص میکند، Chrome قلم را براساس تنظیمات مربوط به نویسه زبان مربوطه انتخاب میکند. اگر زبانی مشخص نشده باشد، Chrome از تنظیمات پیشفرض، یا خط جهانی استفاده میکند.
نویسههای زبان پشتیبانیشده با کد نویسه ISO 15924 مشخص شدهاند و در مرجع میانای برنامهسازی کاربردی زیر فهرست شدهاند. ازنظر فنی، تنظیمات Chrome دقیقاً براساس نویسه نیست بلکه به زبان هم بستگی دارد. برای مثال، وقتی صفحه وبی زبان روسی را مشخص میکند، Chrome قلم سیریلیک (کد نویسه ISO 15924 «Cyrl») را انتخاب میکند و از این قلم نه فقط برای نویسه سیریلیک بلکه برای هر چیزی که قلم پوشش میدهد (مثل لاتین) استفاده میکند.
مثالها
کد زیر قلم استاندارد عربی را دریافت میکند.
chrome.fontSettings.getFont(
{ genericFamily: 'standard', script: 'Arab' },
function(details) { console.log(details.fontId); }
);
قطعه کد بعدی قلم سنسریف را برای زبان ژاپنی تنظیم میکند.
chrome.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()
chrome.fontSettings.clearDefaultFixedFontSize(
details?: object,
callback?: function,
): Promise<void>
اندازه قلم ثابت پیشفرض تنظیمشده توسط این افزونه را (درصورت وجود) پاک میکند.
پارامترها
-
جزئیات
شیء اختیاری
فعلاً از این پارامتر استفاده نمیشود.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ به بالاPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
callback?: function,
): Promise<void>
اندازه قلم پیشفرض تنظیمشده توسط این افزونه را (درصورت وجود) پاک میکند.
پارامترها
-
جزئیات
شیء اختیاری
فعلاً از این پارامتر استفاده نمیشود.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ به بالاPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
clearFont()
chrome.fontSettings.clearFont(
details: object,
callback?: function,
): Promise<void>
قلم تنظیمشده توسط این افزونه را (درصورت وجود) پاک میکند.
پارامترها
-
جزئیات
شیء
-
genericFamily
خانواده قلم عمومی که قلم باید برای آن پاک شود.
-
دستورگان
ScriptCode اختیاری
متنی که قلم آن باید پاک شود. اگر حذف شود، تنظیم قلم دستورگان جهانی پاک میشود.
-
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ به بالاPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
callback?: function,
): Promise<void>
حداقل اندازه قلم تنظیمشده توسط این افزونه را (درصورت وجود) پاک میکند.
پارامترها
-
جزئیات
شیء اختیاری
فعلاً از این پارامتر استفاده نمیشود.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ به بالاPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
callback?: function,
): Promise<object>
اندازه پیشفرض قلمهای با عرض ثابت را دریافت میکند.
پارامترها
-
جزئیات
شیء اختیاری
فعلاً از این پارامتر استفاده نمیشود.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
levelOfControl
سطح کنترلی که این افزونه بر تنظیم دارد.
-
pixelSize
شماره
اندازه قلم به پیکسل.
-
-
بازگشتیها
-
Promise<object>
Chrome نسخه ۹۶ به بالاPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
callback?: function,
): Promise<object>
اندازه قلم پیشفرض را دریافت میکند.
پارامترها
-
جزئیات
شیء اختیاری
فعلاً از این پارامتر استفاده نمیشود.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
levelOfControl
سطح کنترلی که این افزونه بر تنظیم دارد.
-
pixelSize
شماره
اندازه قلم به پیکسل.
-
-
بازگشتیها
-
Promise<object>
Chrome نسخه ۹۶ به بالاPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
getFont()
chrome.fontSettings.getFont(
details: object,
callback?: function,
): Promise<object>
قلم را برای نویسه و خانواده قلم عمومی دادهشده دریافت میکند.
پارامترها
-
جزئیات
شیء
-
genericFamily
خانواده قلم عمومی که قلم باید برای آن بازیابی شود.
-
دستورگان
ScriptCode اختیاری
نوشتاری که قلم باید برای آن بازیابی شود. اگر حذف شود، تنظیم قلم برای دستورگان جهانی (کد دستورگان «Zyyy») بازیابی میشود.
-
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
fontId
رشته
شناسه قلم. این شناسه ممکن است بهجای مقدار ترجیحی شناسه قلم تحتاللفظی، شناسه قلمی باشد که سیستم مقدار ترجیحی را به آن تبدیل میکند. بنابراین،
fontIdمیتواند با قلمی که بهsetFontارسال شده است متفاوت باشد، مثلاً اگر قلم در سیستم دردسترس نباشد. رشته خالی نشاندهنده بازگشت به تنظیمات قلم نوشتار جهانی است. -
levelOfControl
سطح کنترلی که این افزونه بر تنظیم دارد.
-
-
بازگشتیها
-
Promise<object>
Chrome نسخه ۹۶ به بالاPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
getFontList()
chrome.fontSettings.getFontList(
callback?: function,
): Promise<FontName[]>
فهرستی از قلمهای موجود در سیستم را دریافت میکند.
پارامترها
بازگشتیها
-
Promise<FontName[]>
Chrome نسخه ۹۶ به بالاPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
callback?: function,
): Promise<object>
حداقل اندازه قلم را دریافت میکند.
پارامترها
-
جزئیات
شیء اختیاری
فعلاً از این پارامتر استفاده نمیشود.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
levelOfControl
سطح کنترلی که این افزونه بر تنظیم دارد.
-
pixelSize
شماره
اندازه قلم به پیکسل.
-
-
بازگشتیها
-
Promise<object>
Chrome نسخه ۹۶ به بالاPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
callback?: function,
): Promise<void>
اندازه پیشفرض را برای قلمهای با عرض ثابت تنظیم میکند.
پارامترها
-
جزئیات
شیء
-
pixelSize
شماره
اندازه قلم به پیکسل.
-
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ به بالاPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
callback?: function,
): Promise<void>
اندازه قلم پیشفرض را تنظیم میکند.
پارامترها
-
جزئیات
شیء
-
pixelSize
شماره
اندازه قلم به پیکسل.
-
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ به بالاPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
setFont()
chrome.fontSettings.setFont(
details: object,
callback?: function,
): Promise<void>
قلم را برای نویسه و خانواده قلم عمومی دادهشده تنظیم میکند.
پارامترها
-
جزئیات
شیء
-
fontId
رشته
شناسه قلم. رشته خالی یعنی بازگشت به تنظیمات قلم دستورگان جهانی.
-
genericFamily
خانواده قلم عمومی که قلم باید برای آن تنظیم شود.
-
دستورگان
ScriptCode اختیاری
کد نویسهای که قلم باید برای آن تنظیم شود. اگر حذف شود، تنظیم قلم برای نویسههای جهانی (کد نویسه «Zyyy») تنظیم میشود.
-
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ به بالاPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
callback?: function,
): Promise<void>
حداقل اندازه قلم را تنظیم میکند.
پارامترها
-
جزئیات
شیء
-
pixelSize
شماره
اندازه قلم به پیکسل.
-
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ به بالاPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
رویدادها
onDefaultFixedFontSizeChanged
chrome.fontSettings.onDefaultFixedFontSizeChanged.addListener(
callback: function,
)
وقتی تنظیم اندازه قلم ثابت پیشفرض تغییر میکند، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
levelOfControl
سطح کنترلی که این افزونه بر تنظیم دارد.
-
pixelSize
شماره
اندازه قلم به پیکسل.
-
-
onDefaultFontSizeChanged
chrome.fontSettings.onDefaultFontSizeChanged.addListener(
callback: function,
)
وقتی تنظیم اندازه قلم پیشفرض تغییر میکند، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
levelOfControl
سطح کنترلی که این افزونه بر تنظیم دارد.
-
pixelSize
شماره
اندازه قلم به پیکسل.
-
-
onFontChanged
chrome.fontSettings.onFontChanged.addListener(
callback: function,
)
وقتی تنظیم قلم تغییر میکند، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
fontId
رشته
شناسه قلم. شرح را به زبان
getFontببینید. -
genericFamily
خانواده قلم عمومی که تنظیمات قلم آن تغییر کرده است.
-
levelOfControl
سطح کنترلی که این افزونه بر تنظیم دارد.
-
دستورگان
ScriptCode اختیاری
کد نویسهای که تنظیم قلم آن تغییر کرده است.
-
-
onMinimumFontSizeChanged
chrome.fontSettings.onMinimumFontSizeChanged.addListener(
callback: function,
)
وقتی تنظیم حداقل اندازه قلم تغییر میکند، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
levelOfControl
سطح کنترلی که این افزونه بر تنظیم دارد.
-
pixelSize
شماره
اندازه قلم به پیکسل.
-
-