คำอธิบาย
ใช้ 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 อนุญาตให้การตั้งค่าแบบอักษรบางอย่างขึ้นอยู่กับตระกูลแบบอักษรทั่วไปและสคริปต์ภาษา บางอย่าง เช่น แบบอักษรที่ใช้สำหรับภาษาจีนตัวย่อแบบไม่มีเชิงอาจแตกต่างจากแบบอักษรที่ใช้สำหรับภาษาญี่ปุ่นแบบมีเชิง
ชุดแบบอักษรทั่วไปที่ Chrome รองรับจะอิงตามชุดแบบอักษรทั่วไปของ CSS และแสดงอยู่ในข้อมูลอ้างอิง API ด้านล่าง เมื่อหน้าเว็บระบุชุดแบบอักษรทั่วไป Chrome จะเลือก แบบอักษรตามการตั้งค่าที่เกี่ยวข้อง หากไม่ได้ระบุชุดแบบอักษรทั่วไป Chrome จะใช้การตั้งค่าสำหรับชุดแบบอักษรทั่วไป "มาตรฐาน"
เมื่อหน้าเว็บระบุภาษา Chrome จะเลือกแบบอักษรตามการตั้งค่าสำหรับ สคริปต์ภาษาที่เกี่ยวข้อง หากไม่ได้ระบุภาษา Chrome จะใช้การตั้งค่าสำหรับสคริปต์เริ่มต้น หรือสคริปต์ส่วนกลาง
สคริปต์ภาษาที่รองรับจะระบุโดยรหัสสคริปต์ ISO 15924 และแสดงอยู่ในข้อมูลอ้างอิง API ด้านล่าง ในทางเทคนิคแล้ว การตั้งค่า Chrome ไม่ได้ขึ้นอยู่กับสคริปต์เท่านั้น แต่ยังขึ้นอยู่กับ ภาษาด้วย ตัวอย่างเช่น Chrome จะเลือกแบบอักษรสำหรับซีริลลิก (รหัสสคริปต์ "Cyrl" ของ ISO 15924) เมื่อหน้าเว็บระบุภาษารัสเซีย และจะใช้แบบอักษรนี้ไม่เพียงแต่สำหรับสคริปต์ซีริลลิกเท่านั้น แต่ยังใช้กับทุกอย่างที่แบบอักษรครอบคลุม เช่น ละติน
ตัวอย่าง
โค้ดต่อไปนี้จะรับแบบอักษรมาตรฐานสำหรับภาษาอาหรับ
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 นี้ ให้ติดตั้งตัวอย่าง API ของ fontSettings จากที่เก็บ chrome-extension-samples
ประเภท
FontName
แสดงชื่อแบบอักษร
พร็อพเพอร์ตี้
-
displayName
สตริง
ชื่อที่แสดงของแบบอักษร
-
fontId
สตริง
รหัสแบบอักษร
GenericFamily
ชุดแบบอักษรทั่วไปของ CSS
ค่าแจกแจง
"standard"
"sansserif"
"serif"
"fixed"
"cursive"
"แฟนตาซี"
"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"
"บาหลี"
"Bamu"
"Bass"
"Batk"
"Beng"
"Blis"
"Bopo"
"Brah"
"Brai"
"Bugi"
"Buhd"
"Cakm"
"กระป๋อง"
"Cari"
"Cham"
"Cher"
"Cirt"
"Copt"
"Cprt"
"Cyrl"
"Cyrs"
"Deva"
"Dsrt"
"Dupl"
"Egyd"
"Egyh"
"อียิปต์"
"Elba"
"Ethi"
"Geor"
"Geok"
"Glag"
"โกธิค"
"Gran"
"Grek"
"Gujr"
"กูรู"
"Hang"
"Hani"
"Hano"
"ฮันส์"
"Hant"
"Hebr"
"Hluw"
"Hmng"
"หิว"
"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"
"ดวงจันทร์"
"มอง"
"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()
chrome.fontSettings.clearDefaultFixedFontSize(
details?: object,
callback?: function,
): Promise<void>
ล้างขนาดแบบอักษรคงที่เริ่มต้นที่ส่วนขยายนี้ตั้งค่าไว้ (หากมี)
พารามิเตอร์
-
รายละเอียด
object ไม่บังคับ
ปัจจุบันพารามิเตอร์นี้ไม่ได้ใช้งาน
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
callback?: function,
): Promise<void>
ล้างขนาดแบบอักษรเริ่มต้นที่ส่วนขยายนี้ตั้งค่าไว้ (หากมี)
พารามิเตอร์
-
รายละเอียด
object ไม่บังคับ
ปัจจุบันพารามิเตอร์นี้ไม่ได้ใช้งาน
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
clearFont()
chrome.fontSettings.clearFont(
details: object,
callback?: function,
): Promise<void>
ล้างแบบอักษรที่ส่วนขยายนี้ตั้งค่าไว้ (หากมี)
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์
-
genericFamily
ชุดแบบอักษรทั่วไปที่ควรล้างแบบอักษร
-
แบบตัวเขียน
ScriptCode ไม่บังคับ
สคริปต์ที่ควรล้างแบบอักษร หากไม่ระบุ ระบบจะล้างการตั้งค่าแบบอักษรของสคริปต์ส่วนกลาง
-
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
callback?: function,
): Promise<void>
ล้างขนาดแบบอักษรขั้นต่ำที่ส่วนขยายนี้ตั้งไว้ (หากมี)
พารามิเตอร์
-
รายละเอียด
object ไม่บังคับ
ปัจจุบันพารามิเตอร์นี้ไม่ได้ใช้งาน
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
callback?: function,
): Promise<object>
รับขนาดเริ่มต้นสำหรับแบบอักษรความกว้างคงที่
พารามิเตอร์
-
รายละเอียด
object ไม่บังคับ
ปัจจุบันพารามิเตอร์นี้ไม่ได้ใช้งาน
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
levelOfControl
ระดับการควบคุมที่ส่วนขยายนี้มีในการตั้งค่า
-
pixelSize
ตัวเลข
ขนาดแบบอักษรในหน่วยพิกเซล
-
-
การคืนสินค้า
-
Promise<object>
Chrome 96 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
callback?: function,
): Promise<object>
รับขนาดแบบอักษรเริ่มต้น
พารามิเตอร์
-
รายละเอียด
object ไม่บังคับ
ปัจจุบันพารามิเตอร์นี้ไม่ได้ใช้งาน
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
levelOfControl
ระดับการควบคุมที่ส่วนขยายนี้มีในการตั้งค่า
-
pixelSize
ตัวเลข
ขนาดแบบอักษรในหน่วยพิกเซล
-
-
การคืนสินค้า
-
Promise<object>
Chrome 96 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
getFont()
chrome.fontSettings.getFont(
details: object,
callback?: function,
): Promise<object>
รับแบบอักษรสำหรับสคริปต์และชุดแบบอักษรทั่วไปที่ระบุ
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์
-
genericFamily
ชุดแบบอักษรทั่วไปที่ควรดึงแบบอักษรมา
-
แบบตัวเขียน
ScriptCode ไม่บังคับ
สคริปต์ที่ควรดึงแบบอักษร หากไม่ระบุ ระบบจะดึงการตั้งค่าแบบอักษรสำหรับสคริปต์ส่วนกลาง (รหัสสคริปต์ "Zyyy")
-
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
fontId
สตริง
รหัสแบบอักษร ค่านี้อาจเป็นรหัสของแบบอักษรที่ระบบแปลงค่ากำหนดเป็นรหัสนี้ แทนที่จะเป็นค่ากำหนดรหัสแบบอักษรที่แท้จริง ดังนั้น
fontId
จึงอาจแตกต่างจากแบบอักษรที่ส่งไปยังsetFont
หากแบบอักษรนั้นไม่พร้อมใช้งานในระบบ เป็นต้น สตริงว่างเปล่าหมายถึงการย้อนกลับไปใช้การตั้งค่าแบบอักษรของสคริปต์ส่วนกลาง -
levelOfControl
ระดับการควบคุมที่ส่วนขยายนี้มีในการตั้งค่า
-
-
การคืนสินค้า
-
Promise<object>
Chrome 96 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
getFontList()
chrome.fontSettings.getFontList(
callback?: function,
): Promise<FontName[]>
รับรายการแบบอักษรในระบบ
พารามิเตอร์
การคืนสินค้า
-
Promise<FontName[]>
Chrome 96 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
callback?: function,
): Promise<object>
รับขนาดแบบอักษรขั้นต่ำ
พารามิเตอร์
-
รายละเอียด
object ไม่บังคับ
ปัจจุบันพารามิเตอร์นี้ไม่ได้ใช้งาน
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
levelOfControl
ระดับการควบคุมที่ส่วนขยายนี้มีในการตั้งค่า
-
pixelSize
ตัวเลข
ขนาดแบบอักษรในหน่วยพิกเซล
-
-
การคืนสินค้า
-
Promise<object>
Chrome 96 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
callback?: function,
): Promise<void>
กำหนดขนาดเริ่มต้นสำหรับแบบอักษรที่มีความกว้างคงที่
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์
-
pixelSize
ตัวเลข
ขนาดแบบอักษรในหน่วยพิกเซล
-
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
callback?: function,
): Promise<void>
ตั้งค่าขนาดแบบอักษรเริ่มต้น
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์
-
pixelSize
ตัวเลข
ขนาดแบบอักษรในหน่วยพิกเซล
-
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
setFont()
chrome.fontSettings.setFont(
details: object,
callback?: function,
): Promise<void>
กำหนดแบบอักษรสำหรับสคริปต์และชุดแบบอักษรทั่วไป
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์
-
fontId
สตริง
รหัสแบบอักษร สตริงว่างหมายถึงการกลับไปใช้การตั้งค่าแบบอักษรของสคริปต์ส่วนกลาง
-
genericFamily
ชุดแบบอักษรทั่วไปที่ควรตั้งค่าแบบอักษร
-
แบบตัวเขียน
ScriptCode ไม่บังคับ
รหัสสคริปต์ที่ควรตั้งค่าแบบอักษร หากไม่ระบุ ระบบจะตั้งค่าแบบอักษรสำหรับสคริปต์ส่วนกลาง (รหัสสคริปต์ "Zyyy")
-
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
callback?: function,
): Promise<void>
กำหนดขนาดแบบอักษรขั้นต่ำ
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์
-
pixelSize
ตัวเลข
ขนาดแบบอักษรในหน่วยพิกเซล
-
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
กิจกรรม
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
ตัวเลข
ขนาดแบบอักษรในหน่วยพิกเซล
-
-