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 Font Settings API, 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 dùng cho tiếng Trung giản thể không chân có thể khác với phông chữ được dùng cho tiếng Nhật có chân.
Các bộ phông chữ chung được Chrome hỗ trợ dựa trên bộ phông chữ chung CSS và được liệt kê trong phần 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ẽ dùng chế độ cài đặt cho bộ phông chữ chung "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 chữ viết được hỗ trợ cho ngôn ngữ được chỉ định bằng mã chữ viết ISO 15924 và được liệt kê trong ScriptCode
. Về mặt kỹ thuật, chế độ cài đặt Chrome không hoàn toàn theo 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 "Cyrl" theo ISO 15924) 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ữ đó hỗ trợ, chẳng hạn như chữ Latinh.
Ví dụ
Đoạn mã sau đây 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ề fontSettings API trong 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"
"fixed"
"cursive"
"fantasy"
"math"
LevelOfControl
Một trong các trạng thái sau của not\_controllable
: không thể do tiện ích nào kiểm soát controlled\_by\_other\_extensions
: do các tiện ích có mức độ ưu tiên cao hơn kiểm soát controllable\_by\_this\_extension
: có thể do tiện ích này kiểm soát controlled\_by\_this\_extension
: do tiện ích này kiểm soát
Enum
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"
ScriptCode
Mã tập lệnh theo tiêu chuẩn 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"
"Arab"
"Armi"
"Armn"
"Avst"
"Bali"
"Bamu"
"Bass"
"Batk"
"Beng"
"Blis"
"Bopo"
"Brah"
"Brai"
"Bugi"
"Buhd"
"Cakm"
"Cans"
"Cari"
"Cham"
"Cher"
"Cirt"
"Copt"
"Cprt"
"Cyrl"
"Cyrs"
"Deva"
"Dsrt"
"Dupl"
"Egyd"
"Egyh"
"Ai Cập"
"Elba"
"Ethi"
"Geor"
"Geok"
"Glag"
"Goth"
"Gran"
"Grek"
"Gujr"
"Guru"
"Hang"
"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"
"Mend"
"Merc"
"Mero"
"Mlym"
"Moon"
"Mong"
"Mroo"
"Mtei"
"Mymr"
"Narb"
"Nbat"
"Nkgb"
"Nkoo"
"Nshu"
"Ogam"
"Olck"
"Orkh"
"Orya"
"Osma"
"Palm"
"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"
"Talu"
"Taml"
"Tang"
"Tavt"
"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,
): Promise<void>
Xoá kích thước phông chữ cố định mặc định do tiện ích này đặt (nếu có).
Thông số
- chi tiết
đối tượng không bắt buộc
Tham số này hiện không được sử dụng.
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
): Promise<void>
Xoá kích thước phông chữ mặc định do tiện ích này đặt (nếu có).
Thông số
- chi tiết
đối tượng không bắt buộc
Tham số này hiện không được sử dụng.
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
clearFont()
chrome.fontSettings.clearFont(
details: object,
): Promise<void>
Xoá phông chữ do tiện ích này đặt (nếu có).
Thông 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à bạn 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á.
-
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
): Promise<void>
Xoá cỡ chữ tối thiểu do tiện ích này đặt (nếu có).
Thông số
- chi tiết
đối tượng không bắt buộc
Tham số này hiện không được sử dụng.
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
): Promise<object>
Lấy kích thước mặc định cho phông chữ có chiều rộng cố định.
Thông số
- chi tiết
đối tượng không bắt buộc
Tham số này hiện không được sử dụng.
Giá trị trả về
-
Promise<object>
Chrome 96 trở lên
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
): Promise<object>
Lấy kích thước phông chữ mặc định.
Thông số
- chi tiết
đối tượng không bắt buộc
Tham số này hiện không được sử dụng.
Giá trị trả về
-
Promise<object>
Chrome 96 trở lên
getFont()
chrome.fontSettings.getFont(
details: object,
): Promise<object>
Lấy phông chữ cho một tập lệnh và bộ phông chữ chung nhất định.
Thông số
- chi tiết
đối tượng
- genericFamily
Bộ phông chữ chung mà phông chữ sẽ được truy xuất.
- tập lệnh
ScriptCode không bắt buộc
Tập lệnh mà bạn cần truy xuấ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ầu (mã tập lệnh "Zyyy") sẽ được truy xuất.
-
Giá trị trả về
-
Promise<object>
Chrome 96 trở lên
getFontList()
chrome.fontSettings.getFontList(): Promise<FontName[]>
Lấy danh sách phông chữ trên hệ thống.
Giá trị trả về
-
Promise<FontName[]>
Chrome 96 trở lên
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
): Promise<object>
Lấy cỡ chữ tối thiểu.
Thông số
- chi tiết
đối tượng không bắt buộc
Tham số này hiện không được sử dụng.
Giá trị trả về
-
Promise<object>
Chrome 96 trở lên
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
): Promise<void>
Đặt kích thước mặc định cho phông chữ có chiều rộng cố định.
Thông số
- chi tiết
đối tượng
- pixelSize
số
Cỡ chữ tính bằng pixel.
-
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
): Promise<void>
Đặt cỡ chữ mặc định.
Thông số
- chi tiết
đối tượng
- pixelSize
số
Cỡ chữ tính bằng pixel.
-
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
setFont()
chrome.fontSettings.setFont(
details: object,
): Promise<void>
Đặt phông chữ cho một tập lệnh và bộ phông chữ chung nhất định.
Thông 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ã kịch bản mà phông chữ sẽ được đặt. 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ầu (mã tập lệnh "Zyyy") sẽ được đặt.
-
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
): Promise<void>
Đặt cỡ chữ tối thiểu.
Thông số
- chi tiết
đối tượng
- pixelSize
số
Cỡ chữ tính bằng pixel.
-
Giá trị trả về
-
Promise<void>
Chrome 96 trở lên
Sự kiện
onDefaultFixedFontSizeChanged
chrome.fontSettings.onDefaultFixedFontSizeChanged.addListener(
callback: function,
)
Sự kiện này xảy ra khi chế độ cài đặt cỡ chữ cố định mặc định thay đổi.
Thông số
- callback
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ố
Cỡ chữ tính bằng pixel.
-
-
onDefaultFontSizeChanged
chrome.fontSettings.onDefaultFontSizeChanged.addListener(
callback: function,
)
Sự kiện này xảy ra khi chế độ cài đặt cỡ chữ mặc định thay đổi.
Thông số
- callback
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ố
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.
Thông số
- callback
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 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ã kịch bản mà chế độ cài đặt phông chữ đã thay đổi.
-
-
onMinimumFontSizeChanged
chrome.fontSettings.onMinimumFontSizeChanged.addListener(
callback: function,
)
Sự kiện này xảy ra khi chế độ cài đặt cỡ chữ tối thiểu thay đổi.
Thông số
- callback
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ố
Cỡ chữ tính bằng pixel.
-
-