Mô tả
Dùng API chrome.fontSettings
để quản lý chế độ cài đặt phông chữ của Chrome.
Quyền
fontSettings
Tệp kê khai
Để sử dụng Font Settings API, bạn phải khai báo chế độ cài đặt "fontSettings" quyền trong tiện ích tệp kê khai. Ví dụ:
{
"name": "My Font Settings Extension",
"description": "Customize your fonts",
"version": "0.2",
"permissions": [
"fontSettings"
],
...
}
Họ phông chữ và tập lệnh chung
Chrome cho phép một số chế độ cài đặt phông chữ phụ thuộc vào một số họ phông chữ và ngôn ngữ chung nhất định các tập lệnh. 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ữ được sử dụng cho tiếng Nhật serif.
Bộ phông chữ chung mà Chrome hỗ trợ dựa trên bộ phông chữ chung của CSS và như được nêu trong tài liệu tham khảo API bên dưới. Khi trang web chỉ định 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 có bộ phông chữ chung nào được chỉ định, Chrome sẽ sử dụng cho "tiêu chuẩn" bộ phông chữ chung chung.
Khi 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 ngôn ngữ không được chỉ định, Chrome sẽ sử dụng cài đặt này làm ngôn ngữ mặc định, hoặc tập lệnh toàn cục.
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 API tham khảo bên dưới. Về mặt kỹ thuật, cài đặt 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ữ Kirin (mã tập lệnh ISO 15924 "Cyrl") khi trang web chỉ rõ tiế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ữ che phủ, chẳng hạn như chữ Latinh.
Ví dụ
Mã sau đây lấy 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 sẽ đặ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 chrome-extension-samples kho lưu trữ.
Loại
FontName
Đại diện cho tên phông chữ.
Thuộc tính
-
Tên hiển thị
string
Tên hiển thị của phông chữ.
-
fontId
string
ID phông chữ.
GenericFamily
Bộ phông chữ chung CSS.
Enum
"tiêu chuẩn"
"sansserif"
"serif"
"đã khắc phục"
"ghi chú"
"giả tưởng"
"math"
LevelOfControl
Một trong số
not\_controllable
: không được bất kỳ tiện ích nào kiểm soát
controlled\_by\_other\_extensions
: được kiểm soát bởi 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
: được kiểm soát 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ầu được biểu thị bằng mã tập lệnh "Zyyy".
Enum
"Afak"
"Tiếng Ả Rập"
"Armi"
"Armn"
"Avst"
"Bali"
"Tiếng Bamu"
"Bass"
"Batk"
"Tiếng Beng"
"Blis"
"Bopo"
"Brah"
"Brai"
"Bugi"
"Buhd"
"Cakm"
"Lon"
"Cari"
"Cham"
"Cher"
"Cirt"
"Copt"
"Cprt"
"Vòng tròn"
"Cyrs"
"Deva"
"Dsrt"
"Dupl"
"Egyd"
"Egyh"
"Egyp"
"Elba"
"Tiếng Ethi"
"Geor"
"Geok"
"Glag"
"Goth"
"Gran"
"Tiếng Hy Lạp"
"Gujr"
"Chuyên gia"
"Treo"
"Hani"
"Hà Nội"
"Hans"
"Hant"
"Tiếng Hebr"
"Hluw"
"Hmng"
"Hung"
"Inds"
"Ital"
"Java"
"Jpan"
"Jurc"
"Tiếng Kali"
"Khar"
"Khmr"
"Khoj"
"Knda"
"Kpel"
"Tiếng Kthi"
"Lana"
"Laoo"
"Latf"
"Latg"
"Latn"
"Lepc"
"Limb"
"Lina"
"Linb"
"Lisu"
"Loma"
"Lyci"
"Lydi"
"Mand"
"Mani"
"Người Maya"
"Mend"
"Merc"
"Mero"
"Mlym"
"Mặt trăng"
"Mông"
"Mroo"
"Tiếng Mtei"
"Mymr"
"Narb"
"Nbat"
"Nkgb"
"Nkoo"
"Nshu"
"Ogam"
"Olck"
"Orkh"
"Orya"
"Osma"
"Cây cọ"
"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"
"Tiếng Talu"
"Taml"
"Tang"
"Tavt"
"Tiếng Telu"
"Teng"
"Tfng"
"Tglg"
"Thaa"
"Tiếng Thái"
"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á 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
Tham số này hiện chưa được sử 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ề
-
Lời hứa<vô hiệu>
Chrome 96 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
callback?: function,
)
Xoá cỡ 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 chưa được sử 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ề
-
Lời hứa<vô hiệu>
Chrome 96 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng 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à phông chữ cần được xoá.
-
tập lệnh
ScriptCode không bắt buộc
Tập lệnh mà phông chữ cần bị xoá. Nếu bạn bỏ qua, chế độ cài đặt phông chữ của tập lệnh chung 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ề
-
Lời hứa<vô hiệu>
Chrome 96 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng 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 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 chưa được sử 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ề
-
Lời hứa<vô hiệu>
Chrome 96 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng 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 chưa được sử 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.
-
pixelSize
số
Cỡ chữ tính bằng pixel.
-
-
Giá trị trả về
-
Promise<object>
Chrome 96 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng 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
Tham số này hiện chưa được sử 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.
-
pixelSize
số
Cỡ chữ tính bằng pixel.
-
-
Giá trị trả về
-
Promise<object>
Chrome 96 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng 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
ID phông chữ. Thay vì giá trị tuỳ chọn mã phông chữ bằng chữ, giá trị này có thể là mã 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
, 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ị tính năng dự phòng cho chế độ cài đặt phông chữ của 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 chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng 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 chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
callback?: function,
)
Lấy 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 chưa được sử 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.
-
pixelSize
số
Cỡ chữ tính bằng pixel.
-
-
Giá trị trả về
-
Promise<object>
Chrome 96 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng 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ố
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ề
-
Lời hứa<vô hiệu>
Chrome 96 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng 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ố
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ề
-
Lời hứa<vô hiệu>
Chrome 96 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng 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
ID phông chữ. Chuỗi trống có nghĩa là dự phòng cho chế độ cài đặt phông chữ của 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 mà phông chữ phải được đặt. Nếu bỏ qua, chế độ 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ề
-
Lời hứa<vô hiệu>
Chrome 96 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng 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ố
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ề
-
Lời hứa<vô hiệu>
Chrome 96 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng 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.
-
pixelSize
số
Cỡ chữ tính bằng pixel.
-
-
onDefaultFontSizeChanged
chrome.fontSettings.onDefaultFontSizeChanged.addListener(
callback: function,
)
Được kích hoạt khi chế độ cài đặt cỡ 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.
-
pixelSize
số
Cỡ 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ố
-
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
ID 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.
-
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ố
-
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.
-
pixelSize
số
Cỡ chữ tính bằng pixel.
-
-