คำอธิบาย
ใช้ 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<object>
Chrome 96 ขึ้นไปPromise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
callback?: function,
)
รับขนาดแบบอักษรเริ่มต้น
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์ไม่บังคับ
ไม่ได้ใช้งานพารามิเตอร์นี้อยู่ในขณะนี้
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
levelOfControl
ระดับการควบคุมที่ส่วนขยายนี้มีในการตั้งค่า
-
pixelSize
ตัวเลข
ขนาดแบบอักษรในหน่วยพิกเซล
-
-
การคืนสินค้า
-
Promise<object>
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<object>
Chrome 96 ขึ้นไปPromise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback
getFontList()
chrome.fontSettings.getFontList(
callback?: function,
)
รับรายการแบบอักษรในระบบ
พารามิเตอร์
การคืนสินค้า
-
Promise<FontName[]>
Chrome 96 ขึ้นไปPromise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
callback?: function,
)
รับขนาดแบบอักษรขั้นต่ำ
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์ไม่บังคับ
ไม่ได้ใช้งานพารามิเตอร์นี้อยู่ในขณะนี้
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
levelOfControl
ระดับการควบคุมที่ส่วนขยายนี้มีในการตั้งค่า
-
pixelSize
ตัวเลข
ขนาดแบบอักษรในหน่วยพิกเซล
-
-
การคืนสินค้า
-
Promise<object>
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
ตัวเลข
ขนาดแบบอักษรในหน่วยพิกเซล
-
-