chrome.fontSettings

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[]>

فهرستی از قلم‌های موجود در سیستم را دریافت می‌کند.

پارامترها

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به‌صورت زیر است:

    (results: FontName[]) => void

بازگشتی‌ها

  • 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

        شماره

        اندازه قلم به پیکسل.