chrome.fontSettings

refresh date: 2026-09-25 robots: noindex

Mô tả

Sử 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 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"
  ],
  ...
}

Bộ 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ữ 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 mà Chrome hỗ trợ dựa trên bộ phông chữ chung CSS và được liệt kê trong tài liệu tham khảo API bên dưới. 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 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 tài liệu tham khảo API bên dưới. 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 tiêu chuẩn 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 tập lệnh Kirin mà còn cho mọi thứ mà phông chữ này hỗ trợ, chẳng hạn như tiếng 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 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

"chuẩn"

"sansserif"

"serif"

"cố định"

"chữ thảo"

"fantasy"

"math"

LevelOfControl

Một trong các trạng thái sau của not\_controllable: không thể do tiện ích 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"

"Tiếng Ả Rập"

"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"

"Egyp"

"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()

Promise
chrome.fontSettings.clearDefaultFixedFontSize(
  details?: object,
  callback?: function,
)
: Promise<void>

Xoá cỡ 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 dùng.

  • callback

    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ên

    Chỉ Manifest V3 trở lên mới hỗ trợ Promise, các nền tảng khác cần sử dụng lệnh gọi lại.

clearDefaultFontSize()

Promise
chrome.fontSettings.clearDefaultFontSize(
  details?: object,
  callback?: function,
)
: Promise<void>

Xoá cỡ 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 dùng.

  • callback

    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ên

    Chỉ Manifest V3 trở lên mới hỗ trợ Promise, các nền tảng khác cần sử dụng lệnh gọi lại.

clearFont()

Promise
chrome.fontSettings.clearFont(
  details: object,
  callback?: function,
)
: 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à bạn cần xoá phông chữ.

    • 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ữ kịch bản chung sẽ bị xoá.

  • callback

    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ên

    Chỉ Manifest V3 trở lên mới hỗ trợ Promise, các nền tảng khác cần sử dụng lệnh gọi lại.

clearMinimumFontSize()

Promise
chrome.fontSettings.clearMinimumFontSize(
  details?: object,
  callback?: function,
)
: 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 dùng.

  • callback

    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ên

    Chỉ Manifest V3 trở lên mới hỗ trợ Promise, các nền tảng khác cần sử dụng lệnh gọi lại.

getDefaultFixedFontSize()

Promise
chrome.fontSettings.getDefaultFixedFontSize(
  details?: object,
  callback?: function,
)
: 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 dùng.

  • callback

    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ố

        Cỡ chữ tính bằng pixel.

Giá trị trả về

  • Promise<object>

    Chrome 96 trở lên

    Chỉ Manifest V3 trở lên mới hỗ trợ Promise, các nền tảng khác cần sử dụng lệnh gọi lại.

getDefaultFontSize()

Promise
chrome.fontSettings.getDefaultFontSize(
  details?: object,
  callback?: function,
)
: Promise<object>

Lấy cỡ 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 dùng.

  • callback

    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ố

        Cỡ chữ tính bằng pixel.

Giá trị trả về

  • Promise<object>

    Chrome 96 trở lên

    Chỉ Manifest V3 trở lên mới hỗ trợ Promise, các nền tảng khác cần sử dụng lệnh gọi lại.

getFont()

Promise
chrome.fontSettings.getFont(
  details: object,
  callback?: function,
)
: 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 nên truy xuất phông chữ. Nếu bạn bỏ qua, 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.

  • callback

    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ị ưu tiên mã nhận dạng phông chữ theo nghĩa đen, đây có thể là mã nhận dạng của phông chữ mà hệ thống phân giải giá trị ưu tiên. Do đó, fontId có thể khác với phông chữ được truyền đến setFont, 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ên

    Chỉ Manifest V3 trở lên mới hỗ trợ Promise, các nền tảng khác cần sử dụng lệnh gọi lại.

getFontList()

Promise
chrome.fontSettings.getFontList(
  callback?: function,
)
: Promise<FontName[]>

Lấy danh sách phông chữ trên hệ thống.

Thông số

  • callback

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (results: FontName[]) => void

Giá trị trả về

  • Promise<FontName[]>

    Chrome 96 trở lên

    Chỉ Manifest V3 trở lên mới hỗ trợ Promise, các nền tảng khác cần sử dụng lệnh gọi lại.

getMinimumFontSize()

Promise
chrome.fontSettings.getMinimumFontSize(
  details?: object,
  callback?: function,
)
: 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 dùng.

  • callback

    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ố

        Cỡ chữ tính bằng pixel.

Giá trị trả về

  • Promise<object>

    Chrome 96 trở lên

    Chỉ Manifest V3 trở lên mới hỗ trợ Promise, các nền tảng khác cần sử dụng lệnh gọi lại.

setDefaultFixedFontSize()

Promise
chrome.fontSettings.setDefaultFixedFontSize(
  details: object,
  callback?: function,
)
: 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.

  • callback

    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ên

    Chỉ Manifest V3 trở lên mới hỗ trợ Promise, các nền tảng khác cần sử dụng lệnh gọi lại.

setDefaultFontSize()

Promise
chrome.fontSettings.setDefaultFontSize(
  details: object,
  callback?: function,
)
: 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.

  • callback

    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ên

    Chỉ Manifest V3 trở lên mới hỗ trợ Promise, các nền tảng khác cần sử dụng lệnh gọi lại.

setFont()

Promise
chrome.fontSettings.setFont(
  details: object,
  callback?: function,
)
: 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, chế độ cài đặt phông chữ cho tập lệnh chung (mã tập lệnh "Zyyy") sẽ được đặt.

  • callback

    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ên

    Chỉ Manifest V3 trở lên mới hỗ trợ Promise, các nền tảng khác cần sử dụng lệnh gọi lại.

setMinimumFontSize()

Promise
chrome.fontSettings.setMinimumFontSize(
  details: object,
  callback?: function,
)
: 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.

  • callback

    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ên

    Chỉ Manifest V3 trở lên mới hỗ trợ Promise, 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,
)

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,
)

Được kích hoạt 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.