Nội dung mô tả
Dùng API chrome.fontSettings
để quản lý các chế độ cài đặt phông chữ của Chrome.
Quyền
fontSettings
Để sử dụng API Cài đặt phông chữ, bạn phải khai báo quyền "fontSettings"
trong tệp kê khai tiện ích. Ví dụ:
{
"name": "My Font Settings Extension",
"description": "Customize your fonts",
"version": "0.2",
"permissions": [
"fontSettings"
],
...
}
Khái niệm và cách sử dụng
Chrome cho phép một số chế độ cài đặt phông chữ phụ thuộc vào một số bộ phông chữ chung và tập lệnh ngôn ngữ. Ví dụ: phông chữ được sử dụng cho tiếng Trung giản thể Sans Serif có thể khác với phông chữ dùng cho tiếng Nhật serif.
Các bộ phông chữ chung mà Chrome hỗ trợ dựa trên các bộ phông chữ chung của CSS và được liệt kê trong GenericReference
. Khi một trang web chỉ định một bộ phông chữ chung, Chrome sẽ chọn phông chữ dựa trên chế độ cài đặt tương ứng. Nếu không chỉ định bộ phông chữ chung nào, thì Chrome sẽ sử dụng chế độ cài đặt cho bộ phông chữ chung "tiêu chuẩn".
Khi một trang web chỉ định một ngôn ngữ, Chrome sẽ chọn phông chữ dựa trên chế độ cài đặt của tập lệnh ngôn ngữ tương ứng. Nếu không có ngôn ngữ nào được chỉ định, Chrome sẽ sử dụng chế độ cài đặt cho tập lệnh mặc định hoặc tập lệnh chung.
Các tập lệnh ngôn ngữ được hỗ trợ được chỉ định theo mã tập lệnh ISO 15924 và được liệt kê trong
ScriptCode
. Về mặt kỹ thuật, các chế độ cài đặt của Chrome không hoàn toàn theo từng tập lệnh mà còn phụ thuộc vào ngôn ngữ. Ví dụ: Chrome chọn phông chữ cho chữ Chữ Kirin (mã tập lệnh ISO 15924 "Cyrl") khi trang web chỉ định ngôn ngữ tiếng Nga và sử dụng phông chữ này không chỉ cho chữ viết Kirin mà còn cho mọi chi tiết che phông chữ, chẳng hạn như chữ Latinh.
Ví dụ
Mã sau đây có phông chữ tiêu chuẩn cho tiếng Ả Rập.
chrome.fontSettings.getFont(
{ genericFamily: 'standard', script: 'Arab' },
function(details) { console.log(details.fontId); }
);
Đoạn mã tiếp theo đặt phông chữ Sans-serif cho tiếng Nhật.
chrome.fontSettings.setFont(
{ genericFamily: 'sansserif', script: 'Jpan', fontId: 'MS PGothic' }
);
Để dùng thử API này, hãy cài đặt ví dụ về API phông chữ trong kho lưu trữ chrome-extension-samples.
Loại
FontName
Đại diện cho tên phông chữ.
Thuộc tính
-
displayName
string
Tên hiển thị của phông chữ.
-
fontId
string
Mã phông chữ.
GenericFamily
Bộ phông chữ chung của CSS.
Liệt kê
"sansserif"
"serif"
LevelOfControl
Một trong not\_controllable
: không thể do bất kỳ tiện ích nào kiểm soát
controlled\_by\_other\_extensions
: được kiểm soát bằng các tiện ích có mức ưu tiên cao hơn
controllable\_by\_this\_extension
: có thể được kiểm soát bằng tiện ích này
controlled\_by\_this\_extension
: do tiện ích này kiểm soát
Liệt kê
"not_controllable"
"controllable_by_this_extension"
ScriptCode
Mã tập lệnh ISO 15924. Tập lệnh mặc định hoặc tập lệnh chung được biểu thị bằng mã tập lệnh "Zyyy".
Liệt kê
"Afak"
"Armi"
"Avst"
"Bali"
"Bamu"
"Bass"
"Batk"
"Beng"
"Blis"
"Bopo"
"Brah"
"Brai"
"Buhd"
"Cakm"
"Cari"
"Cham"
"Cher"
"Cprt"
"Cyrs"
"Deva"
"Dsrt"
"Dupl"
"Egyd"
"Egyh"
"Egyp"
"Elba"
"Geor"
"Geok"
"Glag"
"Goth"
"Gujr"
"Hang"
"Hani"
"Hano"
"Hans"
"Hant"
"Hebr"
"Hluw"
"Hmng"
"Hung"
"Inds"
"Ital"
"Java"
"Jpan"
"Jurc"
"Kali"
"Khar"
"Khmr"
"Khoj"
"Knda"
"Kpel"
"Kthi"
"Lana"
"Latf"
"Latg"
"Latn"
"Lepc"
"Lina"
"Linb"
"Lisu"
"Loma"
"Lyci"
"Lydi"
"Mand"
"Mani"
"Maya"
"Mend"
"Merc"
"Mero"
"Mlym"
"Mong"
"Mroo"
"Mtei"
"Mymr"
"Narb"
"Nbat"
"Nkgb"
"Nkoo"
"Nshu"
"Ogam"
"Olck"
"Orkh"
"Orya"
"Osma"
"Phag"
"Phli"
"Phlp"
"Phlv"
"Phnx"
"Plrd"
"Prti"
"Rjng"
"Roro"
"Samr"
"Sara"
"Sarb"
"Saur"
"Sgnw"
"Shaw"
"Shrd"
"Sind"
"Sinh"
"Sora"
"Sund"
"Sylo"
"Syrc"
"Syre"
"Syrj"
"Syrn"
"Tagb"
"Takr"
"Tale"
"Talu"
"Taml"
"Tang"
"Tavt"
"Teng"
"Tfng"
"Tglg"
"Thaa"
"Tibt"
"Tirh"
"Ugar"
"Vaii"
"Visp"
"Wara"
"Wole"
"Xpeo"
"Xsux"
"Yiii"
"Zmth"
"Zsym"
"Zyyy"
Phương thức
clearDefaultFixedFontSize()
chrome.fontSettings.clearDefaultFixedFontSize(
details?: object,
callback?: function,
)
Xoá cỡ chữ cố định mặc định do tiện ích này đặt, nếu có.
Tham số
-
chi tiết
đối tượng không bắt buộc
Tham số này hiện không được dùng.
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
callback?: function,
)
Xoá kích thước phông chữ mặc định do tiện ích này đặt, nếu có.
Tham số
-
chi tiết
đối tượng không bắt buộc
Tham số này hiện không được dùng.
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
clearFont()
chrome.fontSettings.clearFont(
details: object,
callback?: function,
)
Xoá phông chữ do tiện ích này đặt, nếu có.
Tham số
-
chi tiết
đối tượng
-
genericFamily
Bộ phông chữ chung mà bạn cần xoá phông chữ.
-
tập lệnh
ScriptCode không bắt buộc
Tập lệnh cần xoá phông chữ. Nếu bị bỏ qua, chế độ cài đặt phông chữ chung của tập lệnh sẽ bị xoá.
-
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
callback?: function,
)
Xoá kích thước phông chữ tối thiểu mà tiện ích này đặt, nếu có.
Tham số
-
chi tiết
đối tượng không bắt buộc
Tham số này hiện không được dùng.
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
callback?: function,
)
Lấy kích thước mặc định cho phông chữ có chiều rộng cố định.
Tham số
-
chi tiết
đối tượng không bắt buộc
Tham số này hiện không được dùng.
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:(details: object) => void
-
chi tiết
đối tượng
-
levelOfControl
Mức độ kiểm soát của tiện ích này đối với chế độ cài đặt này.
-
pixelSize
number
Cỡ chữ tính bằng pixel.
-
-
Giá trị trả về
-
Promise<object>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
callback?: function,
)
Nhận cỡ chữ mặc định.
Tham số
-
chi tiết
đối tượng không bắt buộc
Tham số này hiện không được dùng.
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:(details: object) => void
-
chi tiết
đối tượng
-
levelOfControl
Mức độ kiểm soát của tiện ích này đối với chế độ cài đặt này.
-
pixelSize
number
Cỡ chữ tính bằng pixel.
-
-
Giá trị trả về
-
Promise<object>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
getFont()
chrome.fontSettings.getFont(
details: object,
callback?: function,
)
Lấy phông chữ cho một tập lệnh nhất định và bộ phông chữ chung.
Tham số
-
chi tiết
đối tượng
-
genericFamily
Bộ phông chữ chung mà phông chữ cần được truy xuất.
-
tập lệnh
ScriptCode không bắt buộc
Tập lệnh mà phông chữ cần được truy xuất. Nếu bị bỏ qua, cài đặt phông chữ cho tập lệnh chung (mã tập lệnh "Zyyy") sẽ được truy xuất.
-
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:(details: object) => void
-
chi tiết
đối tượng
-
fontId
string
Mã phông chữ. Thay vì giá trị tuỳ chọn mã nhận dạng phông chữ cố định, đây có thể là mã nhận dạng của phông chữ mà hệ thống phân giải giá trị lựa chọn ưu tiên. Vì vậy,
fontId
có thể khác với phông chữ được truyền đếnsetFont
, trong trường hợp phông chữ không có sẵn trên hệ thống. Chuỗi trống biểu thị chế độ dự phòng cho chế độ cài đặt phông chữ của tập lệnh toàn cục. -
levelOfControl
Mức độ kiểm soát của tiện ích này đối với chế độ cài đặt này.
-
-
Giá trị trả về
-
Promise<object>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
getFontList()
chrome.fontSettings.getFontList(
callback?: function,
)
Lấy danh sách phông chữ trên hệ thống.
Tham số
Giá trị trả về
-
Promise<FontName[]>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
callback?: function,
)
Có kích thước phông chữ tối thiểu.
Tham số
-
chi tiết
đối tượng không bắt buộc
Tham số này hiện không được dùng.
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:(details: object) => void
-
chi tiết
đối tượng
-
levelOfControl
Mức độ kiểm soát của tiện ích này đối với chế độ cài đặt này.
-
pixelSize
number
Cỡ chữ tính bằng pixel.
-
-
Giá trị trả về
-
Promise<object>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
callback?: function,
)
Đặt kích thước mặc định cho phông chữ có chiều rộng cố định.
Tham số
-
chi tiết
đối tượng
-
pixelSize
number
Cỡ chữ tính bằng pixel.
-
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
callback?: function,
)
Đặt cỡ chữ mặc định.
Tham số
-
chi tiết
đối tượng
-
pixelSize
number
Cỡ chữ tính bằng pixel.
-
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
setFont()
chrome.fontSettings.setFont(
details: object,
callback?: function,
)
Đặt phông chữ cho một tập lệnh nhất định và bộ phông chữ chung.
Tham số
-
chi tiết
đối tượng
-
fontId
string
Mã phông chữ. Chuỗi trống có nghĩa là chuyển dự phòng sang chế độ cài đặt phông chữ chung của tập lệnh.
-
genericFamily
Bộ phông chữ chung mà bạn cần đặt phông chữ.
-
tập lệnh
ScriptCode không bắt buộc
Mã tập lệnh cho phông chữ cần được đặt. Nếu bị bỏ qua, cài đặt phông chữ cho tập lệnh chung (mã tập lệnh "Zyyy") sẽ được đặt.
-
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
callback?: function,
)
Đặt cỡ chữ tối thiểu.
Tham số
-
chi tiết
đối tượng
-
pixelSize
number
Cỡ chữ tính bằng pixel.
-
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
Sự kiện
onDefaultFixedFontSizeChanged
chrome.fontSettings.onDefaultFixedFontSizeChanged.addListener(
callback: function,
)
Được kích hoạt khi chế độ cài đặt cỡ chữ cố định mặc định thay đổi.
Tham số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(details: object) => void
-
chi tiết
đối tượng
-
levelOfControl
Mức độ kiểm soát của tiện ích này đối với chế độ cài đặt này.
-
pixelSize
number
Cỡ chữ tính bằng pixel.
-
-
onDefaultFontSizeChanged
chrome.fontSettings.onDefaultFontSizeChanged.addListener(
callback: function,
)
Được kích hoạt khi cài đặt kích thước phông chữ mặc định thay đổi.
Tham số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(details: object) => void
-
chi tiết
đối tượng
-
levelOfControl
Mức độ kiểm soát của tiện ích này đối với chế độ cài đặt này.
-
pixelSize
number
Cỡ chữ tính bằng pixel.
-
-
onFontChanged
chrome.fontSettings.onFontChanged.addListener(
callback: function,
)
Được kích hoạt khi cài đặt phông chữ thay đổi.
Tham số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(details: object) => void
-
chi tiết
đối tượng
-
fontId
string
Mã phông chữ. Xem nội dung mô tả bằng
getFont
. -
genericFamily
Bộ phông chữ chung mà chế độ cài đặt phông chữ đã thay đổi.
-
levelOfControl
Mức độ kiểm soát của tiện ích này đối với chế độ cài đặt này.
-
tập lệnh
ScriptCode không bắt buộc
Mã tập lệnh mà chế độ cài đặt phông chữ đã thay đổi.
-
-
onMinimumFontSizeChanged
chrome.fontSettings.onMinimumFontSizeChanged.addListener(
callback: function,
)
Được kích hoạt khi cài đặt kích thước phông chữ tối thiểu thay đổi.
Tham số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(details: object) => void
-
chi tiết
đối tượng
-
levelOfControl
Mức độ kiểm soát của tiện ích này đối với chế độ cài đặt này.
-
pixelSize
number
Cỡ chữ tính bằng pixel.
-
-