chrome.fontSettings

refresh date: 2026-09-25 robots: noindex

คำอธิบาย

ใช้ chrome.fontSettings API เพื่อจัดการการตั้งค่าแบบอักษรของ Chrome

สิทธิ์

fontSettings

ไฟล์ Manifest

หากต้องการใช้ Font Settings API คุณต้องประกาศสิทธิ์ "fontSettings" ในไฟล์ Manifest ของส่วนขยาย เช่น

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

ชุดแบบอักษรและสคริปต์ทั่วไป

Chrome อนุญาตให้การตั้งค่าแบบอักษรบางอย่างขึ้นอยู่กับชุดแบบอักษรทั่วไปและสคริปต์ภาษาบางอย่าง เช่น แบบอักษรที่ใช้สำหรับภาษาจีนตัวย่อแบบ Sans-Serif อาจแตกต่างจากแบบอักษรที่ใช้สำหรับภาษาญี่ปุ่นแบบ Serif

ชุดแบบอักษรทั่วไปที่ Chrome รองรับจะอิงตามชุดแบบอักษรทั่วไปของ CSS และแสดงอยู่ในเอกสารอ้างอิง API ด้านล่าง เมื่อหน้าเว็บระบุชุดแบบอักษรทั่วไป Chrome จะเลือกแบบอักษรตามการตั้งค่าที่เกี่ยวข้อง หากไม่ได้ระบุชุดแบบอักษรทั่วไป Chrome จะใช้การตั้งค่าสำหรับชุดแบบอักษรทั่วไป "มาตรฐาน"

เมื่อหน้าเว็บระบุภาษา Chrome จะเลือกแบบอักษรตามการตั้งค่าสำหรับสคริปต์ภาษาที่เกี่ยวข้อง หากไม่ได้ระบุภาษา Chrome จะใช้การตั้งค่าสำหรับสคริปต์เริ่มต้นหรือสคริปต์ส่วนกลาง

สคริปต์ภาษาที่รองรับจะระบุด้วยรหัสสคริปต์ ISO 15924 และแสดงอยู่ในเอกสารอ้างอิง API ด้านล่าง ในทางเทคนิคแล้ว การตั้งค่า Chrome ไม่ได้ขึ้นอยู่กับสคริปต์อย่างเคร่งครัด แต่ขึ้นอยู่กับภาษาด้วย เช่น Chrome จะเลือกแบบอักษรสำหรับอักษรซีริลลิก (รหัสสคริปต์ 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

แสดงชื่อแบบอักษร

พร็อพเพอร์ตี้

  • displayName

    สตริง

    ชื่อที่แสดงของแบบอักษร

  • fontId

    สตริง

    รหัสแบบอักษร

GenericFamily

ชุดแบบอักษรทั่วไปของ CSS

ค่าแจกแจง

"standard"

"sansserif"

"serif"

"fixed"

"cursive"

"แฟนตาซี"

"คณิตศาสตร์"

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"

"อาหรับ"

"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"

"กูรู"

"Hang"

"Hani"

"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"

"Limb"

"Lina"

"Linb"

"Lisu"

"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"

"Samr"

"Sara"

"Sarb"

"Saur"

"Sgnw"

"Shaw"

"Shrd"

"Sind"

"Sinh"

"Sora"

"Sund"

"Sylo"

"Syrc"

"Syre"

"Syrj"

"Syrn"

"Tagb"

"Takr"

"Tale"

"Talu"

"Taml"

"Tang"

"Tavt"

"Telu"

"Teng"

"Tfng"

"Tglg"

"Thaa"

"ไทย"

"Tibt"

"Tirh"

"Ugar"

"Vaii"

"Visp"

"Wara"

"Wole"

"Xpeo"

"Xsux"

"Yiii"

"Zmth"

"Zsym"

"Zyyy"

เมธอด

clearDefaultFixedFontSize()

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

ล้างขนาดแบบอักษรคงที่เริ่มต้นที่ตั้งค่าโดยส่วนขยายนี้ (หากมี)

พารามิเตอร์

  • รายละเอียด

    object ไม่บังคับ

    ปัจจุบันพารามิเตอร์นี้ไม่ได้ใช้งาน

  • callback

    function ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    () => void

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

    ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

clearDefaultFontSize()

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

ล้างขนาดแบบอักษรเริ่มต้นที่ตั้งค่าโดยส่วนขยายนี้ (หากมี)

พารามิเตอร์

  • รายละเอียด

    object ไม่บังคับ

    ปัจจุบันพารามิเตอร์นี้ไม่ได้ใช้งาน

  • callback

    function ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    () => void

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

    ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

clearFont()

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

ล้างแบบอักษรที่ตั้งค่าโดยส่วนขยายนี้ (หากมี)

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์

    • genericFamily

      ชุดแบบอักษรทั่วไปที่ควรล้างแบบอักษร

    • แบบตัวเขียน

      ScriptCode ไม่บังคับ

      สคริปต์ที่ควรล้างแบบอักษร หากละเว้น ระบบจะล้างการตั้งค่าแบบอักษรของสคริปต์ส่วนกลาง

  • callback

    function ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    () => void

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

    ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

clearMinimumFontSize()

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

ล้างขนาดแบบอักษรขั้นต่ำที่ตั้งค่าโดยส่วนขยายนี้ (หากมี)

พารามิเตอร์

  • รายละเอียด

    object ไม่บังคับ

    ปัจจุบันพารามิเตอร์นี้ไม่ได้ใช้งาน

  • callback

    function ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    () => void

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

    ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

getDefaultFixedFontSize()

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

รับขนาดเริ่มต้นสำหรับแบบอักษรที่มีความกว้างคงที่

พารามิเตอร์

  • รายละเอียด

    object ไม่บังคับ

    ปัจจุบันพารามิเตอร์นี้ไม่ได้ใช้งาน

  • callback

    function ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (details: object) => void

    • รายละเอียด

      ออบเจ็กต์

      • levelOfControl

        ระดับการควบคุมที่ส่วนขยายนี้มีเหนือการตั้งค่า

      • pixelSize

        ตัวเลข

        ขนาดแบบอักษรในหน่วยพิกเซล

การคืนสินค้า

  • Promise<object>

    Chrome 96 ขึ้นไป

    ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

getDefaultFontSize()

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

รับขนาดแบบอักษรเริ่มต้น

พารามิเตอร์

  • รายละเอียด

    object ไม่บังคับ

    ปัจจุบันพารามิเตอร์นี้ไม่ได้ใช้งาน

  • callback

    function ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (details: object) => void

    • รายละเอียด

      ออบเจ็กต์

      • levelOfControl

        ระดับการควบคุมที่ส่วนขยายนี้มีเหนือการตั้งค่า

      • pixelSize

        ตัวเลข

        ขนาดแบบอักษรในหน่วยพิกเซล

การคืนสินค้า

  • Promise<object>

    Chrome 96 ขึ้นไป

    ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

getFont()

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

รับแบบอักษรสำหรับสคริปต์และชุดแบบอักษรทั่วไปที่ระบุ

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์

    • genericFamily

      ชุดแบบอักษรทั่วไปที่ควรดึงข้อมูลแบบอักษร

    • แบบตัวเขียน

      ScriptCode ไม่บังคับ

      สคริปต์ที่ควรดึงแบบอักษรมาใช้ หากไม่ระบุ ระบบจะดึงการตั้งค่าแบบอักษรสำหรับสคริปต์ส่วนกลาง (รหัสสคริปต์ "Zyyy")

  • callback

    function ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (details: object) => void

    • รายละเอียด

      ออบเจ็กต์

      • fontId

        สตริง

        รหัสแบบอักษร ค่านี้อาจเป็นรหัสของแบบอักษรที่ระบบแปลงค่ากำหนดเป็นค่ากำหนดรหัสแบบอักษรตามตัวอักษร ดังนั้น fontId อาจแตกต่างจากแบบอักษรที่ส่งไปยัง setFont เช่น หากแบบอักษรไม่พร้อมใช้งานในระบบ สตริงว่างเปล่าหมายถึงการเปลี่ยนกลับไปใช้การตั้งค่าแบบอักษรของสคริปต์ส่วนกลาง

      • levelOfControl

        ระดับการควบคุมที่ส่วนขยายนี้มีเหนือการตั้งค่า

การคืนสินค้า

  • Promise<object>

    Chrome 96 ขึ้นไป

    ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

getFontList()

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

รับรายการแบบอักษรในระบบ

พารามิเตอร์

  • callback

    function ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (results: FontName[]) => void

การคืนสินค้า

  • Promise<FontName[]>

    Chrome 96 ขึ้นไป

    ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

getMinimumFontSize()

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

รับขนาดแบบอักษรขั้นต่ำ

พารามิเตอร์

  • รายละเอียด

    object ไม่บังคับ

    ปัจจุบันพารามิเตอร์นี้ไม่ได้ใช้งาน

  • callback

    function ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (details: object) => void

    • รายละเอียด

      ออบเจ็กต์

      • levelOfControl

        ระดับการควบคุมที่ส่วนขยายนี้มีเหนือการตั้งค่า

      • pixelSize

        ตัวเลข

        ขนาดแบบอักษรในหน่วยพิกเซล

การคืนสินค้า

  • Promise<object>

    Chrome 96 ขึ้นไป

    ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

setDefaultFixedFontSize()

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

กำหนดขนาดเริ่มต้นสำหรับแบบอักษรที่มีความกว้างคงที่

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์

    • pixelSize

      ตัวเลข

      ขนาดแบบอักษรในหน่วยพิกเซล

  • callback

    function ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    () => void

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

    ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

setDefaultFontSize()

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

กำหนดขนาดแบบอักษรเริ่มต้น

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์

    • pixelSize

      ตัวเลข

      ขนาดแบบอักษรในหน่วยพิกเซล

  • callback

    function ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    () => void

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

    ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

setFont()

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

ตั้งค่าแบบอักษรสำหรับสคริปต์และชุดแบบอักษรทั่วไปที่ระบุ

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์

    • fontId

      สตริง

      รหัสแบบอักษร สตริงว่างหมายถึงการเปลี่ยนกลับไปใช้การตั้งค่าแบบอักษรสคริปต์ส่วนกลาง

    • genericFamily

      ชุดแบบอักษรทั่วไปที่ควรตั้งค่าแบบอักษร

    • แบบตัวเขียน

      ScriptCode ไม่บังคับ

      โค้ดสคริปต์ที่ควรตั้งค่าแบบอักษร หากละเว้น ระบบจะตั้งค่าแบบอักษรสำหรับสคริปต์ส่วนกลาง (รหัสสคริปต์ "Zyyy")

  • callback

    function ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    () => void

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

    ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

setMinimumFontSize()

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

กำหนดขนาดแบบอักษรขั้นต่ำ

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์

    • pixelSize

      ตัวเลข

      ขนาดแบบอักษรในหน่วยพิกเซล

  • callback

    function ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    () => void

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

    ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

กิจกรรม

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

        ตัวเลข

        ขนาดแบบอักษรในหน่วยพิกเซล