chrome.fontSettings

คำอธิบาย

ใช้ 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 อาจแตกต่างจากแบบอักษร ซึ่งใช้สำหรับภาษาญี่ปุ่น

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

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

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

ค่าแจกแจง

"มาตรฐาน"

"sansserif"

"serif"

"แก้ไขแล้ว"

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

"อาหรับ"

"Armi"

"แขน"

"Avst"

"บาหลี"

"บามุ"

"เบส"

"แบตช์"

"เบง"

"Blis"

"Bopo"

"บรา"

"Brai"

"บูกิ"

"Buhd"

"กก"

"กระป๋อง"

"คารี"

"แชม"

"แชร์"

"แวดวง"

"Copt"

"Cprt"

"Cyrl"

"Cyrs"

"เดว่า"

"Dsrt"

"ทำซ้ำ"

"Egyd"

"Egyh"

"Egyp"

"Elba"

"เอธิ"

"Geor"

"จีโอ"

"Glag"

"กอธ"

"แกรน"

"กรีก"

"Gujr"

"กูรู"

"ฮัง"

"ฮานี"

"ฮาโน"

"Hans"

"ฮัน"

"Hebr"

"Hluw"

"อืม"

"ฮังการี"

"Inds"

"อิตาลี"

"Java"

"Jpan"

"Jurc"

"กาลี"

"คาร์"

"Khmr"

"โคจ"

"Knda"

"Kpel"

"Kthi"

"ลาน่า"

"Laoo"

"Latf"

"ล่าช้า"

"Latn"

"Lepc"

"แขนขา"

"Lina"

"Linb"

"ลีซู"

"โลมา"

"Lyci"

"สิทธิ"

"ต้อง"

"มานิ"

"มายา"

"แก้ไข"

"Merc"

"เมโร"

"Mlym"

"ดวงจันทร์"

"Mong"

"Mroo"

"Mtei"

"Mymr"

"Narb"

"Nbat"

"Nkgb"

"Nkoo"

"Nshu"

"Ogam"

"Olck"

"ออร์ค"

"Orya"

"ออสมา"

"ปาล์ม"

"ถาวร"

"Phag"

"Phli"

"Phlp"

"Phlv"

"Phnx"

"Plrd"

"Prti"

"Rjng"

"Roro"

"Runr"

"Samr"

"ซารา"

"Sarb"

"เสาร์"

"Sgnw"

"ชอว์"

"Shrd"

"Sind"

"ซินห์"

"โซรา"

"Sund"

"Sylo"

"ซีร์"

"ไซร์"

"ซีเรีย"

"Syrn"

"Tagb"

"ตะกร้า"

"Tale"

"ทาลู"

"Taml"

"ถัง"

"Tavt"

"เทลู"

"Teng"

"Tfng"

"Tglg"

"ภาษาไทย"

"ไทย"

"Tibt"

"ติกา"

"Ugar"

"Vaii"

"Visp"

"วารา"

"Wole"

"Xpeo"

"Xsux"

"ยี่"

"Zmth"

"Zsym"

"ปปปป"

เมธอด

clearDefaultFixedFontSize()

สัญญา
chrome.fontSettings.clearDefaultFixedFontSize(
  details?: object,
  callback?: function,
)

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

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์ไม่บังคับ

    ไม่ได้ใช้งานพารามิเตอร์นี้อยู่ในขณะนี้

  • Callback

    ไม่บังคับ

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

    () => void

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

  • คำสัญญา<โมฆะ>

    Chrome 96 ขึ้นไป

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

clearDefaultFontSize()

สัญญา
chrome.fontSettings.clearDefaultFontSize(
  details?: object,
  callback?: function,
)

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

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์ไม่บังคับ

    ไม่ได้ใช้งานพารามิเตอร์นี้อยู่ในขณะนี้

  • Callback

    ไม่บังคับ

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

    () => void

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

  • คำสัญญา<โมฆะ>

    Chrome 96 ขึ้นไป

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

clearFont()

สัญญา
chrome.fontSettings.clearFont(
  details: object,
  callback?: function,
)

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

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์

    • genericFamily

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

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

      ScriptCode ไม่บังคับ

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

  • Callback

    ไม่บังคับ

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

    () => void

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

  • คำสัญญา<โมฆะ>

    Chrome 96 ขึ้นไป

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

clearMinimumFontSize()

สัญญา
chrome.fontSettings.clearMinimumFontSize(
  details?: object,
  callback?: function,
)

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

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์ไม่บังคับ

    ไม่ได้ใช้งานพารามิเตอร์นี้อยู่ในขณะนี้

  • Callback

    ไม่บังคับ

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

    () => void

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

  • คำสัญญา<โมฆะ>

    Chrome 96 ขึ้นไป

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

getDefaultFixedFontSize()

สัญญา
chrome.fontSettings.getDefaultFixedFontSize(
  details?: object,
  callback?: function,
)

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

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์ไม่บังคับ

    ไม่ได้ใช้งานพารามิเตอร์นี้อยู่ในขณะนี้

  • Callback

    ไม่บังคับ

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

    (details: object) => void

    • รายละเอียด

      ออบเจ็กต์

      • levelOfControl

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

      • pixelSize

        ตัวเลข

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

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

  • Promise&lt;object&gt;

    Chrome 96 ขึ้นไป

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

getDefaultFontSize()

สัญญา
chrome.fontSettings.getDefaultFontSize(
  details?: object,
  callback?: function,
)

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

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์ไม่บังคับ

    ไม่ได้ใช้งานพารามิเตอร์นี้อยู่ในขณะนี้

  • Callback

    ไม่บังคับ

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

    (details: object) => void

    • รายละเอียด

      ออบเจ็กต์

      • levelOfControl

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

      • pixelSize

        ตัวเลข

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

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

  • Promise&lt;object&gt;

    Chrome 96 ขึ้นไป

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

getFont()

สัญญา
chrome.fontSettings.getFont(
  details: object,
  callback?: function,
)

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

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์

    • genericFamily

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

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

      ScriptCode ไม่บังคับ

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

  • Callback

    ไม่บังคับ

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

    (details: object) => void

    • รายละเอียด

      ออบเจ็กต์

      • fontId

        สตริง

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

      • levelOfControl

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

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

  • Promise&lt;object&gt;

    Chrome 96 ขึ้นไป

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

getFontList()

สัญญา
chrome.fontSettings.getFontList(
  callback?: function,
)

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

พารามิเตอร์

  • Callback

    ไม่บังคับ

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

    (results: FontName[]) => void

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

  • Promise&lt;FontName[]&gt;

    Chrome 96 ขึ้นไป

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

getMinimumFontSize()

สัญญา
chrome.fontSettings.getMinimumFontSize(
  details?: object,
  callback?: function,
)

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

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์ไม่บังคับ

    ไม่ได้ใช้งานพารามิเตอร์นี้อยู่ในขณะนี้

  • Callback

    ไม่บังคับ

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

    (details: object) => void

    • รายละเอียด

      ออบเจ็กต์

      • levelOfControl

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

      • pixelSize

        ตัวเลข

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

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

  • Promise&lt;object&gt;

    Chrome 96 ขึ้นไป

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

setDefaultFixedFontSize()

สัญญา
chrome.fontSettings.setDefaultFixedFontSize(
  details: object,
  callback?: function,
)

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

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์

    • pixelSize

      ตัวเลข

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

  • Callback

    ไม่บังคับ

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

    () => void

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

  • คำสัญญา<โมฆะ>

    Chrome 96 ขึ้นไป

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

setDefaultFontSize()

สัญญา
chrome.fontSettings.setDefaultFontSize(
  details: object,
  callback?: function,
)

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

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์

    • pixelSize

      ตัวเลข

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

  • Callback

    ไม่บังคับ

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

    () => void

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

  • คำสัญญา<โมฆะ>

    Chrome 96 ขึ้นไป

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

setFont()

สัญญา
chrome.fontSettings.setFont(
  details: object,
  callback?: function,
)

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

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์

    • fontId

      สตริง

      รหัสแบบอักษร สตริงว่างหมายถึงการสำรองการตั้งค่าแบบอักษรของสคริปต์ส่วนกลาง

    • genericFamily

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

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

      ScriptCode ไม่บังคับ

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

  • Callback

    ไม่บังคับ

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

    () => void

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

  • คำสัญญา<โมฆะ>

    Chrome 96 ขึ้นไป

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

setMinimumFontSize()

สัญญา
chrome.fontSettings.setMinimumFontSize(
  details: object,
  callback?: function,
)

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

พารามิเตอร์

  • รายละเอียด

    ออบเจ็กต์

    • pixelSize

      ตัวเลข

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

  • Callback

    ไม่บังคับ

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

    () => 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

        ตัวเลข

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