Mô tả
Sử dụng API chrome.fontSettings
để quản lý 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 của 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ữ nhất định. Ví dụ: phông chữ dùng cho tiếng Trung giản thể không chân chữ có thể khác với phông chữ dùng cho tiếng Nhật có chân chữ.
Các bộ phông chữ chung mà Chrome hỗ trợ dựa trên các bộ phông chữ chung 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 bạn không chỉ định bộ phông chữ chung, 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 cho tập lệnh ngôn ngữ tương ứng. Nếu bạn không chỉ định ngôn ngữ, 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 bằng mã tập lệnh ISO 15924 và được liệt kê trong ScriptCode
. Về mặt kỹ thuật, chế độ cài đặt Chrome không chỉ dành riêng cho mỗi 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ữ Kirin (mã tập lệnh ISO 15924 "Cyrl") khi một trang web chỉ định ngôn ngữ Nga và sử dụng phông chữ này không chỉ cho chữ Kirin mà còn cho mọi thứ mà phông chữ bao gồm, chẳng hạn như chữ Latinh.
Ví dụ
Đoạn mã sau đây sẽ lấy phông chữ 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 fontSettings từ kho lưu trữ chrome-extension-samples.
Loại
FontName
Biểu thị tên phông chữ.
Thuộc tính
-
Tên hiển thị
chuỗi
Tên hiển thị của phông chữ.
-
fontId
chuỗi
Mã phông chữ.
GenericFamily
Một bộ phông chữ chung của CSS.
Enum
"standard"
"sansserif"
"serif"
"đã khắc phục"
"cursive"
"fantasy"
"toán học"
LevelOfControl
Một trong các giá trị sau: not\_controllable
: không thể được điều khiển bởi bất kỳ tiện ích nào controlled\_by\_other\_extensions
: được điều khiển bởi các tiện ích có mức độ ưu tiên cao hơn controllable\_by\_this\_extension
: có thể được điều khiển bởi tiện ích này controlled\_by\_this\_extension
: được điều khiển bởi tiện ích này
Enum
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"
ScriptCode
Mã tập lệnh ISO 15924. Tập lệnh mặc định hoặc tập lệnh toàn cục được biểu thị bằng mã tập lệnh "Zyyy".
Enum
"Afak"
"Ả Rập"
"Armi"
"Armn"
"Avst"
"Bali"
"Bamu"
"Bass"
"Batk"
"Beng"
"Blis"
"Bopo"
"Brah"
"Brai"
"Bugi"
"Buhd"
"Cakm"
"Cans" (Hộp)
"Cari"
"Cham"
"Cher"
"Cirt"
"Copt"
"Cprt"
"Cyrl"
"Cyrs"
"Deva"
"Dsrt"
"Dupl"
"Egyd"
"Egyh"
"Egyp"
"Elba"
"Ethi"
"Geor"
"Geok"
"Glag"
"Goth"
"Gran"
"Grek"
"Gujr"
"Guru"
"Treo"
"Hani"
"Hano"
"Hans"
"Hant"
"Hebr"
"Hluw"
"Hmng"
"Hung"
"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"
"Sửa"
"Merc"
"Mero"
"Mlym"
"Trăng"
"Mong"
"Mroo"
"Mtei"
"Mymr"
"Narb"
"Nbat"
"Nkgb"
"Nkoo"
"Nshu"
"Ogam"
"Olck"
"Orkh"
"Orya"
"Osma"
"Palm"
"Quyền"
"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"
"Tiếng Thái"
"Tibet"
"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á kích thước phông 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
Thông số này hiện không được sử dụng.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Tệp kê khai V3 trở lên, nhưng lệnh gọi lại được cung cấp để đảm bảo 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ẽ 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
Thông số này hiện không được sử dụng.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Tệp kê khai V3 trở lên, nhưng lệnh gọi lại được cung cấp để đảm bảo 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ẽ 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 muố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ạn bỏ qua thuộc tính này, chế độ cài đặt phông chữ tập lệnh chung sẽ bị xoá.
-
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Tệp kê khai V3 trở lên, nhưng lệnh gọi lại được cung cấp để đảm bảo 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ẽ 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á cỡ chữ tối thiểu do tiện ích này đặt (nếu có).
Tham số
-
chi tiết
đối tượng không bắt buộc
Thông số này hiện không được sử dụng.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Tệp kê khai V3 trở lên, nhưng lệnh gọi lại được cung cấp để đảm bảo 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ẽ 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
Thông số này hiện không được sử dụng.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
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.
-
pixelSize
số
Kích thước phông chữ tính bằng pixel.
-
-
Giá trị trả về
-
Promise<object>
Chrome 96 trở lênLời hứa được hỗ trợ trong Tệp kê khai V3 trở lên, nhưng lệnh gọi lại được cung cấp để đảm bảo 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ẽ 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,
)
Lấy kích thước phông chữ mặc định.
Tham số
-
chi tiết
đối tượng không bắt buộc
Thông số này hiện không được sử dụng.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
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.
-
pixelSize
số
Kích thước phông chữ tính bằng pixel.
-
-
Giá trị trả về
-
Promise<object>
Chrome 96 trở lênLời hứa được hỗ trợ trong Tệp kê khai V3 trở lên, nhưng lệnh gọi lại được cung cấp để đảm bảo 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ẽ 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à bạn muốn truy xuất phông chữ.
-
tập lệnh
ScriptCode không bắt buộc
Tập lệnh cần truy xuất phông chữ. Nếu bạn bỏ qua thuộc tính này, thì chế độ cài đặt phông chữ cho tập lệnh toàn cục (mã tập lệnh "Zyyy") sẽ được truy xuất.
-
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:(details: object) => void
-
chi tiết
đối tượng
-
fontId
chuỗi
Mã phông chữ. Thay vì giá trị tuỳ chọn mã phông chữ theo nghĩa đen, đây có thể là mã của phông chữ mà hệ thống phân giải giá trị tuỳ chọn. Vì vậy,
fontId
có thể khác với phông chữ được truyền đếnsetFont
, chẳng hạn như nếu phông chữ không có trên hệ thống. Chuỗi trống biểu thị việc quay lại chế độ cài đặt phông chữ tập lệnh chung. -
levelOfControl
Mức độ kiểm soát của tiện ích này đối với chế độ cài đặt.
-
-
Giá trị trả về
-
Promise<object>
Chrome 96 trở lênLời hứa được hỗ trợ trong Tệp kê khai V3 trở lên, nhưng lệnh gọi lại được cung cấp để đảm bảo 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ẽ 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 Tệp kê khai V3 trở lên, nhưng lệnh gọi lại được cung cấp để đảm bảo 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ẽ 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,
)
Lấy cỡ chữ tối thiểu.
Tham số
-
chi tiết
đối tượng không bắt buộc
Thông số này hiện không được sử dụng.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
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.
-
pixelSize
số
Kích thước phông chữ tính bằng pixel.
-
-
Giá trị trả về
-
Promise<object>
Chrome 96 trở lênLời hứa được hỗ trợ trong Tệp kê khai V3 trở lên, nhưng lệnh gọi lại được cung cấp để đảm bảo 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ẽ 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
số
Kích thước phông chữ tính bằng pixel.
-
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Tệp kê khai V3 trở lên, nhưng lệnh gọi lại được cung cấp để đảm bảo 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ẽ 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
số
Kích thước phông chữ tính bằng pixel.
-
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Tệp kê khai V3 trở lên, nhưng lệnh gọi lại được cung cấp để đảm bảo 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ẽ 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
chuỗi
Mã phông chữ. Chuỗi trống có nghĩa là quay lại chế độ cài đặt phông chữ tập lệnh chung.
-
genericFamily
Bộ phông chữ chung mà bạn nên đặt phông chữ.
-
tập lệnh
ScriptCode không bắt buộc
Mã tập lệnh cần đặt phông chữ. Nếu bạn bỏ qua thuộc tính này, chế độ cài đặt phông chữ cho tập lệnh toàn cục (mã tập lệnh "Zyyy") sẽ được đặt.
-
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Tệp kê khai V3 trở lên, nhưng lệnh gọi lại được cung cấp để đảm bảo 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ẽ 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
số
Kích thước phông chữ tính bằng pixel.
-
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Tệp kê khai V3 trở lên, nhưng lệnh gọi lại được cung cấp để đảm bảo 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ẽ 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 kích thước phông chữ cố định mặc định thay đổi.
Tham số
-
lệnh gọi lại
hàm
Tham số
callback
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.
-
pixelSize
số
Kích thước phông chữ tính bằng pixel.
-
-
onDefaultFontSizeChanged
chrome.fontSettings.onDefaultFontSizeChanged.addListener(
callback: function,
)
Được kích hoạt khi chế độ cài đặt kích thước phông chữ mặc định thay đổi.
Tham số
-
lệnh gọi lại
hàm
Tham số
callback
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.
-
pixelSize
số
Kích thước phông chữ tính bằng pixel.
-
-
onFontChanged
chrome.fontSettings.onFontChanged.addListener(
callback: function,
)
Được kích hoạt khi chế độ cài đặt phông chữ thay đổi.
Tham số
-
lệnh gọi lại
hàm
Tham số
callback
có dạng như sau:(details: object) => void
-
chi tiết
đối tượng
-
fontId
chuỗi
Mã phông chữ. Xem nội dung mô tả trong
getFont
. -
genericFamily
Bộ phông chữ chung đã thay đổi chế độ cài đặt phông chữ.
-
levelOfControl
Mức độ kiểm soát của tiện ích này đối với chế độ cài đặt.
-
tập lệnh
ScriptCode không bắt buộc
Mã tập lệnh có chế độ cài đặt phông chữ đã thay đổi.
-
-
onMinimumFontSizeChanged
chrome.fontSettings.onMinimumFontSizeChanged.addListener(
callback: function,
)
Được kích hoạt khi chế độ cài đặt cỡ chữ tối thiểu thay đổi.
Tham số
-
lệnh gọi lại
hàm
Tham số
callback
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.
-
pixelSize
số
Kích thước phông chữ tính bằng pixel.
-
-