chrome.fontSettings

تاریخ به‌روزرسانی: 2026-09-25 ربات‌ها: noindex

توضیحات

برای مدیریت تنظیمات فونت کروم از API مربوط به chrome.fontSettings استفاده کنید.

مجوزها

fontSettings

مانیفست

برای استفاده از API تنظیمات فونت، باید مجوز "fontSettings" را در فایل manifest افزونه تعریف کنید. برای مثال:

{
  "name": "My Font Settings Extension",
  "description": "Customize your fonts",
  "version": "0.2",
  "permissions": [
    "fontSettings"
  ],
  ...
}

خانواده‌ها و اسکریپت‌های فونت عمومی

کروم اجازه می‌دهد برخی از تنظیمات فونت به خانواده‌های فونت عمومی و اسکریپت‌های زبان خاصی بستگی داشته باشند. برای مثال، فونت مورد استفاده برای چینی ساده‌شده‌ی بدون سریف ممکن است با فونت مورد استفاده برای ژاپنی سریف متفاوت باشد.

خانواده‌های فونت عمومی پشتیبانی شده توسط کروم بر اساس خانواده‌های فونت عمومی CSS هستند و در مرجع API زیر فهرست شده‌اند. وقتی یک صفحه وب یک خانواده فونت عمومی را مشخص می‌کند، کروم فونت را بر اساس تنظیمات مربوطه انتخاب می‌کند. اگر هیچ خانواده فونت عمومی مشخص نشده باشد، کروم از تنظیمات مربوط به خانواده فونت عمومی "استاندارد" استفاده می‌کند.

وقتی یک صفحه وب زبانی را مشخص می‌کند، کروم فونت را بر اساس تنظیمات مربوط به اسکریپت زبان مربوطه انتخاب می‌کند. اگر هیچ زبانی مشخص نشده باشد، کروم از تنظیمات اسکریپت پیش‌فرض یا سراسری استفاده می‌کند.

اسکریپت‌های زبان‌های پشتیبانی‌شده توسط کد اسکریپت ISO 15924 مشخص شده‌اند و در مرجع API زیر فهرست شده‌اند. از نظر فنی، تنظیمات کروم صرفاً برای هر اسکریپت نیستند، بلکه به زبان نیز بستگی دارند. برای مثال، کروم فونت سیریلیک (کد اسکریپت 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' }
);

برای امتحان کردن این API، نمونه‌ی fontSettings API را از مخزن chrome-extension-samples نصب کنید.

انواع

FontName

نشان دهنده نام فونت است.

خواص

  • نام نمایش

    رشته

    نام نمایشی فونت.

  • فونت آی دی

    رشته

    شناسه فونت.

GenericFamily

یک خانواده فونت عمومی CSS.

شمارشی

"استاندارد"

"سانسریف"

"سریف"

"ثابت"

"خط تحریری"

"خیال"

"ریاضی"

LevelOfControl

یکی از موارد زیر: not\_controllable : توسط هیچ افزونه‌ای قابل کنترل نیست controlled\_by\_other\_extensions : توسط افزونه‌هایی با اولویت بالاتر controllable\_by\_this\_extension : می‌تواند توسط این افزونه کنترل شود controlled\_by\_this\_extension : توسط این افزونه کنترل می‌شود

شمارشی

"غیر_قابل_کنترل"

"کنترل‌شده توسط افزونه‌های دیگر"

"قابل کنترل توسط این افزونه"

"کنترل‌شده توسط این افزونه"

ScriptCode

یک کد اسکریپت ISO 15924. اسکریپت پیش‌فرض یا سراسری با کد اسکریپت "Zyyy" نمایش داده می‌شود.

شمارشی

«آفاق»

«عرب»

«آرمی»

«آرمن»

«اوست»

«بالی»

«بامو»

"صدای بم"

"باتک"

«بنگ»

«بلیس»

«بوپو»

"براه"

"برای"

"بوگی"

«بود»

"چاکم"

"قوطی‌ها"

«کاری»

«چام»

«شر»

"سیرت"

«قبطی»

"سی پی آر تی"

«سیرل»

«سایر»

«دیوا»

"دسر"

"دوپل"

«ایگید»

"ایگی"

«مصر»

«البا»

«اتی»

«جور»

«گئوک»

"گلگ"

«گوت»

"گران"

"یونانی"

«گجر»

"گورو"

«آویزان»

«هانی»

«هانو»

«هانس»

«هانت»

«هبر»

"هلو"

"هَنگ"

"آویزان"

"ایندها"

«ایتال»

«جاوا»

«ژاپن»

"جورک"

«کالی»

«خار»

«خمر»

«خوج»

"کندا"

«کپل»

«کتی»

«لانا»

«لائو»

«لطف»

"لاتگ"

«لاتن»

«لپک»

"اندام"

«لینا»

"لینب"

«لیسو»

«لوما»

"لیسی"

«لیدی»

«مند»

«مانی»

«مایا»

"اصلاح"

«مرک»

«مرو»

"ملیم"

«ماه»

«مونگ»

"مرو"

"متی"

«میمِر»

"نارب"

«نبات»

"ان کی جی بی"

«نکو»

"نشو"

«اوگام»

"اولک"

«اورخ»

«اوریا»

«اوسما»

«نخل»

"پرم"

«فاگ»

«فلی»

«فلپ»

"پهلو"

«فنکس»

"پلرد"

"پرتی"

"رجنگ"

«رورو»

"رانر"

«سمر»

«سارا»

«سرب»

«سئور»

"اسگنو"

«شاو»

"خرد"

«سند»

«سین»

«سورا»

"سان"

«سیلو»

«سیرک»

«سیر»

«سیرج»

«سیرن»

"برچسب"

«تکر»

«قصه»

«تالو»

«تامل»

«تانگ»

"تات"

«تلو»

«تنگ»

"تفنگ"

"تگلگ"

"تا"

«تایلندی»

«تبت»

«تیره»

«اوگار»

«وای»

«ویسپ»

«وارا»

«ول»

«اکسپو»

"کسوکس"

"یییی"

"زمت"

"زیم"

"زییی"

روش‌ها

clearDefaultFixedFontSize()

وعده
chrome.fontSettings.clearDefaultFixedFontSize(
  details?: object,
  callback?: function,
)
: Promise<void>

اندازه فونت ثابت پیش‌فرض تنظیم‌شده توسط این افزونه را، در صورت وجود، پاک می‌کند.

پارامترها

  • جزئیات

    شیء اختیاری

    این پارامتر در حال حاضر بلااستفاده است.

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    () => void

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

    Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

clearDefaultFontSize()

وعده
chrome.fontSettings.clearDefaultFontSize(
  details?: object,
  callback?: function,
)
: Promise<void>

اندازه فونت پیش‌فرض تنظیم‌شده توسط این افزونه را، در صورت وجود، پاک می‌کند.

پارامترها

  • جزئیات

    شیء اختیاری

    این پارامتر در حال حاضر بلااستفاده است.

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    () => void

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

    Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

clearFont()

وعده
chrome.fontSettings.clearFont(
  details: object,
  callback?: function,
)
: Promise<void>

فونت تنظیم‌شده توسط این افزونه را، در صورت وجود، پاک می‌کند.

پارامترها

  • جزئیات

    شیء

    • عمومیخانواده

      خانواده فونت عمومی که فونت آن باید پاک شود.

    • اسکریپت

      کد اسکریپت اختیاری

      اسکریپتی که فونت آن باید پاک شود. در صورت حذف، تنظیمات فونت اسکریپت سراسری پاک می‌شود.

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    () => void

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

    Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

clearMinimumFontSize()

وعده
chrome.fontSettings.clearMinimumFontSize(
  details?: object,
  callback?: function,
)
: Promise<void>

حداقل اندازه فونت تعیین‌شده توسط این افزونه را، در صورت وجود، پاک می‌کند.

پارامترها

  • جزئیات

    شیء اختیاری

    این پارامتر در حال حاضر بلااستفاده است.

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    () => void

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

    Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

getDefaultFixedFontSize()

وعده
chrome.fontSettings.getDefaultFixedFontSize(
  details?: object,
  callback?: function,
)
: Promise<object>

اندازه پیش‌فرض را برای فونت‌های با عرض ثابت برمی‌گرداند.

پارامترها

  • جزئیات

    شیء اختیاری

    این پارامتر در حال حاضر بلااستفاده است.

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    (details: object) => void

    • جزئیات

      شیء

      • سطح کنترل

        سطح کنترلی که این افزونه بر تنظیمات دارد.

      • پیکسل‌هااندازه

        شماره

        اندازه فونت بر حسب پیکسل.

بازگشت‌ها

  • قول دادن<object>

    کروم ۹۶+

    Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

getDefaultFontSize()

وعده
chrome.fontSettings.getDefaultFontSize(
  details?: object,
  callback?: function,
)
: Promise<object>

اندازه فونت پیش‌فرض را دریافت می‌کند.

پارامترها

  • جزئیات

    شیء اختیاری

    این پارامتر در حال حاضر بلااستفاده است.

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    (details: object) => void

    • جزئیات

      شیء

      • سطح کنترل

        سطح کنترلی که این افزونه بر تنظیمات دارد.

      • پیکسل‌هااندازه

        شماره

        اندازه فونت بر حسب پیکسل.

بازگشت‌ها

  • قول دادن<object>

    کروم ۹۶+

    Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

getFont()

وعده
chrome.fontSettings.getFont(
  details: object,
  callback?: function,
)
: Promise<object>

فونت مربوط به یک اسکریپت و خانواده فونت عمومی مشخص را دریافت می‌کند.

پارامترها

  • جزئیات

    شیء

    • عمومیخانواده

      خانواده فونت عمومی که فونت باید برای آن بازیابی شود.

    • اسکریپت

      کد اسکریپت اختیاری

      اسکریپتی که فونت باید برای آن بازیابی شود. در صورت حذف، تنظیمات فونت برای اسکریپت سراسری (کد اسکریپت "Zyyy") بازیابی می‌شود.

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    (details: object) => void

    • جزئیات

      شیء

      • فونت آی دی

        رشته

        شناسه فونت. این شناسه می‌تواند به جای مقدار ترجیحی شناسه فونت، شناسه فونتی باشد که سیستم مقدار ترجیحی را به آن تبدیل می‌کند. بنابراین، fontId می‌تواند با فونتی که به setFont ارسال می‌شود متفاوت باشد، اگر، برای مثال، فونت در سیستم موجود نباشد. رشته خالی نشان‌دهنده بازگشت به تنظیمات فونت اسکریپت سراسری است.

      • سطح کنترل

        سطح کنترلی که این افزونه بر تنظیمات دارد.

بازگشت‌ها

  • قول دادن<object>

    کروم ۹۶+

    Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

getFontList()

وعده
chrome.fontSettings.getFontList(
  callback?: function,
)
: Promise<FontName[]>

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

پارامترها

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    (results: FontName[]) => void

بازگشت‌ها

  • قول بده< نام فونت []>

    کروم ۹۶+

    Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

getMinimumFontSize()

وعده
chrome.fontSettings.getMinimumFontSize(
  details?: object,
  callback?: function,
)
: Promise<object>

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

پارامترها

  • جزئیات

    شیء اختیاری

    این پارامتر در حال حاضر بلااستفاده است.

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    (details: object) => void

    • جزئیات

      شیء

      • سطح کنترل

        سطح کنترلی که این افزونه بر تنظیمات دارد.

      • پیکسل‌هااندازه

        شماره

        اندازه فونت بر حسب پیکسل.

بازگشت‌ها

  • قول دادن<object>

    کروم ۹۶+

    Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

setDefaultFixedFontSize()

وعده
chrome.fontSettings.setDefaultFixedFontSize(
  details: object,
  callback?: function,
)
: Promise<void>

اندازه پیش‌فرض را برای فونت‌های با عرض ثابت تنظیم می‌کند.

پارامترها

  • جزئیات

    شیء

    • پیکسل‌هااندازه

      شماره

      اندازه فونت بر حسب پیکسل.

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    () => void

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

    Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

setDefaultFontSize()

وعده
chrome.fontSettings.setDefaultFontSize(
  details: object,
  callback?: function,
)
: Promise<void>

اندازه فونت پیش‌فرض را تنظیم می‌کند.

پارامترها

  • جزئیات

    شیء

    • پیکسل‌هااندازه

      شماره

      اندازه فونت بر حسب پیکسل.

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    () => void

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

    Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

setFont()

وعده
chrome.fontSettings.setFont(
  details: object,
  callback?: function,
)
: Promise<void>

فونت را برای یک اسکریپت و خانواده فونت عمومی مشخص تنظیم می‌کند.

پارامترها

  • جزئیات

    شیء

    • فونت آی دی

      رشته

      شناسه فونت. رشته خالی به معنای بازگشت به تنظیمات فونت اسکریپت سراسری است.

    • عمومیخانواده

      خانواده فونت عمومی که فونت باید برای آن تنظیم شود.

    • اسکریپت

      کد اسکریپت اختیاری

      کد اسکریپتی که فونت باید روی آن تنظیم شود. در صورت حذف، تنظیمات فونت برای اسکریپت سراسری (کد اسکریپت "Zyyy") تنظیم می‌شود.

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    () => void

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

    Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

setMinimumFontSize()

وعده
chrome.fontSettings.setMinimumFontSize(
  details: object,
  callback?: function,
)
: Promise<void>

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

پارامترها

  • جزئیات

    شیء

    • پیکسل‌هااندازه

      شماره

      اندازه فونت بر حسب پیکسل.

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    () => void

بازگشت‌ها

  • قول<void>

    کروم ۹۶+

    Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

رویدادها

onDefaultFixedFontSizeChanged

chrome.fontSettings.onDefaultFixedFontSizeChanged.addListener(
  callback: function,
)

وقتی تنظیم اندازه فونت ثابت پیش‌فرض تغییر کند، اجرا می‌شود.

پارامترها

  • تماس برگشتی

    تابع

    پارامتر callback به شکل زیر است:

    (details: object) => void

    • جزئیات

      شیء

      • سطح کنترل

        سطح کنترلی که این افزونه بر تنظیمات دارد.

      • پیکسل‌هااندازه

        شماره

        اندازه فونت بر حسب پیکسل.

onDefaultFontSizeChanged

chrome.fontSettings.onDefaultFontSizeChanged.addListener(
  callback: function,
)

وقتی تنظیم اندازه فونت پیش‌فرض تغییر کند، اجرا می‌شود.

پارامترها

  • تماس برگشتی

    تابع

    پارامتر callback به شکل زیر است:

    (details: object) => void

    • جزئیات

      شیء

      • سطح کنترل

        سطح کنترلی که این افزونه بر تنظیمات دارد.

      • پیکسل‌هااندازه

        شماره

        اندازه فونت بر حسب پیکسل.

onFontChanged

chrome.fontSettings.onFontChanged.addListener(
  callback: function,
)

هنگامی که تنظیمات فونت تغییر می‌کند، اجرا می‌شود.

پارامترها

  • تماس برگشتی

    تابع

    پارامتر callback به شکل زیر است:

    (details: object) => void

    • جزئیات

      شیء

      • فونت آی دی

        رشته

        شناسه فونت. توضیحات را در getFont ببینید.

      • عمومیخانواده

        خانواده فونت عمومی که تنظیمات فونت برای آن تغییر کرده است.

      • سطح کنترل

        سطح کنترلی که این افزونه بر تنظیمات دارد.

      • اسکریپت

        کد اسکریپت اختیاری

        کد اسکریپتی که تنظیمات فونت آن تغییر کرده است.

onMinimumFontSizeChanged

chrome.fontSettings.onMinimumFontSizeChanged.addListener(
  callback: function,
)

وقتی تنظیم حداقل اندازه فونت تغییر کند، اجرا می‌شود.

پارامترها

  • تماس برگشتی

    تابع

    پارامتر callback به شکل زیر است:

    (details: object) => void

    • جزئیات

      شیء

      • سطح کنترل

        سطح کنترلی که این افزونه بر تنظیمات دارد.

      • پیکسل‌هااندازه

        شماره

        اندازه فونت بر حسب پیکسل.