คำอธิบาย
ใช้ chrome.fontSettings
API เพื่อจัดการการตั้งค่าแบบอักษรของ Chrome
สิทธิ์
fontSettings
หา��ต้องการใช้ API การตั้งค่าแบบอักษร คุณต้องประกาศสิทธิ์ "fontSettings"
ในไฟล์ Manifest ส่วนขยาย เช่น
{
"name": "My Font Settings Extension",
"description": "Customize your fonts",
"version": "0.2",
"permissions": [
"fontSettings"
],
...
}
แนวคิดและการใช้งาน
Chrome อนุญาตให้การตั้งค่าแบบอักษรบางรายการขึ้นอยู่กับชุดแบบอักษรและสคริปต์ภาษาทั่วไปบางประเภท ตัวอย่างเช่น แบบอักษรที่ใช้สำหรับ sans-serif จีนตัวย่ออาจแตกต่างจากแบบอักษรที่ใช้สำหรับ serif ภาษาญี่ปุ่น
ชุดแบบอักษรทั่วไปที่ Chrome รองรับจะอิงตามชุดแบบอักษรทั่วไปของ CSS และจะแสดงอยู่ในส่วน GenericReference
เมื่อหน้าเว็บระบุชุดแบบอักษรทั่วไป Chrome จะเลือกแบบอักษรตามการตั้งค่าที่สอดคล้องกัน หากไม่ได้ระบุชุดแบบอักษรทั่วไป Chrome จะใช้การตั้งค่าสำหรับชุดแบบอักษรทั่วไป "มาตรฐาน"
เมื่อหน้าเว็บระบุภาษา Chrome จะเลือกแบบอักษรตามการตั้งค่าสำหรับสคริปต์ภาษาที่เกี่ยวข้อง หากไม่ได้ระบุภาษาไว้ Chrome จะใช้การตั้งค่าสำหรับสคริปต์เริ่มต้นหรือสคริปต์ส่วนกลาง
สคริปต์ภาษาที่รองรับจะระบุโดยรหัสสคริปต์ ISO 15924 และแสดงอยู่ใน ScriptCode
โดยทางเทคนิคแล้ว การตั้งค่า 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
string
ชื่อที่แสดงของแบบอักษร
-
fontId
string
รหัสแบบอักษร
GenericFamily
ชุดแบบอักษรทั่วไปของ CSS
ค่าแจกแจง
"sansserif"
"serif"
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"
ค่าแจกแจง
"Armi"
"Avst"
"Bugi"
"Buhd"
"Cari"
"Cirt"
"Copt"
"Cprt"
"Dsrt"
"Geor"
"Hluw"
"Inds"
"Khmr"
"Kpel"
"Latf"
"Lepc"
"Linb"
"Mero"
"Mlym"
"Mroo"
"Mtei"
"Mymr"
"Nbat"
"Nkgb"
"Nkoo"
"Ogam"
"Olck"
"Orkh"
"Perm"
"Phlp"
"Phlv"
"Phnx"
"Plrd"
"Prti"
"Rjng"
"Samr"
"Sarb"
"Sgnw"
"Shrd"
"Taml"
"Tavt"
"Tfng"
"Tglg"
"Tibt"
"Xpeo"
"Xsux"
"Zmth"
"Zsym"
"Zyyy"
วิธีการ
clearDefaultFixedFontSize()
chrome.fontSettings.clearDefaultFixedFontSize(
details?: object,
callback?: function,
)
ล้างขนาดแบบอักษรเริ่มต้นคงที่ซึ่งกำหนดโดยส่วนขยายนี้ (หากมี)
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์ ไม่บังคับ
ยังไม่ได้ใช้พารามิเตอร์นี้
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไปManifest V3 ขึ้นไปรอง��ับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
callback?: function,
)
ล้างขนาดแบบอักษรเริ่มต้นที่กำหนดโดยส่วนขยายนี้ (หากมี)
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์ ไม่บังคับ
ยังไม่ได้ใช้พารามิเตอร์นี้
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไปManifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
clearFont()
chrome.fontSettings.clearFont(
details: object,
callback?: function,
)
ล้างแบบอักษรที่ส่วนขยายนี้กำหนดไว้ หากมี
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์
-
genericFamily
ชุดแบบอักษรทั่วไปที่ควรล้างแบบอักษร
-
แบบตัวเขียน
ScriptCode ไม่บังคับ
สคริปต์ที่ควรล้างแบบอักษร หากไม่ระบุ ระบบจะล้างการตั้งค่าแบบอักษรของสคริปต์ส่วนกลาง
-
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไปManifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
callback?: function,
)
ล้างขนาดแบบอักษรขั้นต่ำที่ส่วนขยายนี้กำหนดไว้ หากมี
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์ ไม่บังคับ
ยังไม่ได้ใช้พารามิเตอร์นี้
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไปManifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
callback?: function,
)
รับขนาดเริ่มต้นสำหรับแบบอักษรความกว้างคงที่
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์ ไม่บังคับ
ยังไม่ได้ใช้พารามิเตอร์นี้
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
levelOfControl
ระดับการควบคุมส่วนขยายนี้เหน��อการตั้งค่า
-
pixelSize
ตัวเลข
ขนาดแบบอักษรในหน่วยพิกเซล
-
-
การคืนสินค้า
-
Promise<object>
Chrome 96 ขึ้นไปManifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
callback?: function,
)
รับขนาดแบบอักษรเริ่มต้น
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์ ไม่บังคับ
ยังไม่ได้ใช้พารามิเตอร์นี้
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
levelOfControl
ระดับการควบคุมส่วนขยายนี้เหนือการตั้งค่า
-
pixelSize
ตัวเลข
ขนาดแบบอักษรในหน่วยพิกเซล
-
-
การคืนสินค้า
-
Promise<object>
Chrome 96 ขึ้นไปManifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
getFont()
chrome.fontSettings.getFont(
details: object,
callback?: function,
)
รับแบบอักษรสำหรับสคริปต์ที่กำหนดและชุดแบบอักษรทั่วไป
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์
-
genericFamily
ชุดแบบอักษรทั่วไปที่ควรเรียกแบบอักษร
-
แบบตัวเขียน
ScriptCode ไม่บังคับ
สคริปต์ที่ควรเรียกแบบอักษร หากไม่ระบุ ระบบจะเรียกการตั้งค่าแบบอักษรสำหรับสคริปต์ส่วนกลาง (โค้ดสคริปต์ "Zyyy")
-
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
fontId
string
รหัสแบบอักษร ค่านี้อาจเป็นรหัสของแบบอักษรที่ระบบแก้ไขค่ากําหนดดังกล่าว แทนที่จะเป็นค่ากําหนดรหัสแบบอักษรตามตัวอักษร ดังนั้น
fontId
จึงอาจแตกต่างจากแบบอักษรที่ส่งไปยังsetFont
ในกรณีที่แบบอักษรนั้นใช้ไม่ได้ในระบบ สตริงว่างหมายถึงการสำรองการตั้งค่าแบบอักษรสคริปต์ส่วนกลาง -
levelOfControl
ระดับการควบคุมส่วนขยายนี้เหนือการตั้งค่า
-
-
การคืนสินค้า
-
Promise<object>
Chrome 96 ขึ้นไปManifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
getFontList()
chrome.fontSettings.getFontList(
callback?: function,
)
รับรายการแบบอักษรในระบบ
พารามิเตอร์
การคืนสินค้า
-
Promise<FontName[]>
Chrome 96 ขึ้นไปManifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
callback?: function,
)
รับขนาดแบบอัก��รขั้นต่ำ
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์ ไม่บังคับ
ยังไม่ได้ใช้พารามิเตอร์นี้
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
levelOfControl
ระดับการควบคุมส่วนขยายนี้เหนือการตั้งค่า
-
pixelSize
ตัวเลข
ขนาดแบบอักษรในหน่วยพิกเซล
-
-
การคืนสินค้า
-
Promise<object>
Chrome 96 ขึ้นไปManifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
callback?: function,
)
ตั้งค่าขนาดเริ่มต้นสำหรับแบบอักษรความกว้างคงที่
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์
-
pixelSize
ตัวเลข
ขนาดแบบอักษรในหน่วยพิกเซล
-
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไปManifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
callback?: function,
)
ตั้งค่าขนาดแบบอักษรเริ่มต้น
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์
-
pixelSize
ตัวเลข
ขนาดแบบอักษรในหน่วยพิกเซล
-
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไปManifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
setFont()
chrome.fontSettings.setFont(
details: object,
callback?: function,
)
ตั้งค่าแบบอักษรสำหรับสคริปต์ที่กำหนดและชุดแบบอักษรทั่วไป
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์
-
fontId
string
รหัสแบบอักษร สตริงว่างหมายถึงกลับไปใช้การตั้งค่าแบบอักษรสคริปต์ส่วนกลาง
-
genericFamily
ชุดแบบอักษรทั่วไปที่ควรตั้งค่าแบบอักษร
-
แบบตัวเขียน
ScriptCode ไม่บังคับ
รหัสสคริปต์ที่ควรตั้งค่าแบบอักษร หากไม่ระบุ ระบบจะตั้งค่าแบบอักษรสำหรับสคริปต์ส่วนกลาง (รหัสสคริปต์ "Zyyy")
-
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไปManifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อคว��มเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
callback?: function,
)
ตั้งค่าขนาดแบบอักษรขั้นต่ำ
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์
-
pixelSize
ตัวเลข
ขนาดแบบอักษรในหน่วยพิกเซล
-
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 96 ขึ้นไปManifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
กิจกรรม
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
string
รหัสแบบอักษร ดูคำอธิบายในภาษ��
getFont
-
genericFamily
ชุดแบบอักษรทั่วไปที่มีการเปลี่ยนแปลงการตั้งค่าแบบอักษร
-
levelOfControl
ระดับการควบคุมส่วนขยายนี้เหนือการตั้งค่า
-
แบบตัวเขียน
ScriptCode ไม่บังคับ
รหัสสคริปต์ที่มีการเปลี่ยนแปลงการตั้งค่าแบบอักษร
-
-
onMinimumFontSizeChanged
chrome.fontSettings.onMinimumFontSizeChanged.addListener(
callback: function,
)
เริ่มทำงานเมื่อมีการเปลี่ยนแปลงการตั้งค่าขนาดแบบอักษรขั้นต่ำ
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
levelOfControl
ระดับการควบคุมส่วนขยายนี้เหนือการตั้งค่า
-
pixelSize
ตัวเลข
ข��าดแบบอักษรในหน่วยพิกเซล
-
-