> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/vi/cau-hoi-and-tra-loi/58-i-have-a-custom-font-i-d-like-to-load-to-my-document.-how-can-i-do-this.md).

# Tôi có một phông chữ tùy chỉnh muốn tải vào tài liệu của mình. Làm thế nào để làm điều này?

## Giới thiệu

Bài viết này cho thấy cách cài đặt phông chữ tùy chỉnh để dàn trang văn bản của tài liệu của bạn—bài viết này không đề cập đến phông chữ dùng để dàn trang toán học. Theo “phông chữ tùy chỉnh”, chúng tôi muốn nói đến những phông chữ không có sẵn trên các máy chủ của Overleaf, bao gồm cả phông chữ thương mại cần giấy phép hoặc các phông chữ miễn phí không được phân phối cùng TeX Live hay không được bao gồm trong bản cài đặt Linux của chúng tôi.

* **Lưu ý**: Bài viết này đề cập đến các công nghệ phông chữ phổ biến nhưng không thảo luận các giải pháp chuyên biệt dựa trên TeX như [Metafont](https://en.wikipedia.org/wiki/Metafont) và [phông chữ ảo](https://texfaq.org/FAQ-virtualfonts).

## Tôi nên bắt đầu từ đâu?

Các giải pháp dàn trang dựa trên LaTeX hoạt động trong bối cảnh kế thừa. Trong hơn bốn thập kỷ, quá trình phát triển các trình biên dịch LaTeX và các định dạng phông chữ đã tạo ra một hệ sinh thái gồm sự pha trộn giữa các công nghệ cũ và mới. Vì vậy, quy trình thực tế để cài đặt và cấu hình phông chữ tùy chỉnh để dùng với LaTeX phụ thuộc vào hai yếu tố sau:

1. Loại (định dạng) của bất kỳ phông chữ nào bạn muốn cài đặt:

* kế thừa [PostScript Type 1](https://en.wikipedia.org/wiki/PostScript_fonts#Type_1) hoặc [TrueType](https://en.wikipedia.org/wiki/TrueType) phông chữ, hoặc
* hiện đại [OpenType](https://en.wikipedia.org/wiki/OpenType) phông chữ.

3. Trình biên dịch LaTeX nào được dùng để biên dịch (các) dự án Overleaf của bạn:
   * pdfLaTeX, hoặc
   * XeLaTeX hoặc LuaLaTeX

Chuyển đến mục phù hợp với trình biên dịch bạn muốn dùng:

* [Sử dụng phông chữ tùy chỉnh với pdfLaTeX](#using-custom-fonts-with-pdflatex)
* [Sử dụng phông chữ tùy chỉnh với XeLaTeX và LuaLaTeX](#using-custom-fonts-with-xelatex-and-lualatex)

## Sử dụng phông chữ tùy chỉnh với pdfLaTeX

Sau đây là tóm tắt những gì bạn sẽ cần làm—tùy theo mức độ phức tạp của thiết lập phông chữ tùy chỉnh của bạn:

1. Đối với mỗi tệp phông chữ (`.ttf`, `.otf` hoặc `.pfb`), bạn sẽ cần có (hoặc tạo ra!) một tệp số liệu phông chữ TeX thích hợp (`.tfm`), và, có thể, một tệp mã hóa (`.enc`).
2. pdfLaTeX phải biết cách nhúng phông chữ của tài liệu vào tệp PDF cuối cùng. Để làm điều đó, nó đọc một tệp ánh xạ phông chữ (`pdftex.map`), và bạn sẽ cần cập nhật tệp này với thông tin chi tiết về phông chữ tùy chỉnh của mình. Trên Overleaf, bạn thực hiện việc đó bằng một trong các lệnh sau:

* `\pdfmapfile{...}`
* `\pdfmapline{...}`

4. Bạn sẽ cần một tệp mô tả phông chữ (`.fd`) cho LaTeX biết cách sử dụng các tệp phông chữ mới.

Đây là các loại tệp chính mà bạn sẽ cần:

* **`.tfm`** (số liệu phông chữ TeX): các tệp nhị phân nhỏ gọn này không chứa dữ liệu mô tả hình dạng hiển thị của ký tự, mà chỉ chứa kích thước ký tự và siêu dữ liệu phông chữ mà các bộ máy TeX có thể dùng để thực hiện các tác vụ dàn trang cốt lõi của chúng. Số liệu phông chữ TeX cho phông toán chứa thêm dữ liệu mà phông chỉ dùng cho văn bản không cần; cụ thể là, chúng có một số tham số “khoảng cách” dùng để dàn trang toán học.
* **`.fd`** (mô tả phông chữ): các tệp này chứa các lệnh LaTeX cần để cấu hình và chuẩn bị phông chữ của bạn để dùng với LaTeX. Các lệnh được phép bên trong các tệp `.fd` và `.fd` quy ước đặt tên tệp, được mô tả trong tài liệu [lựa chọn phông chữ LaTeX2ε](https://texdoc.org/serve/fntguide/1).
* **`.map`** (bản đồ phông chữ): các tệp bản đồ liên kết tên của các tệp số liệu phông chữ TeX với tệp phông chữ vật lý chứa dữ liệu cần để vẽ hình dạng ký tự (glyph). Mỗi phông chữ mà pdfTeX biết đến được mô tả trên một dòng của tệp bản đồ, sử dụng một cú pháp được xác định rõ. Để biết đầy đủ chi tiết, xem Mục 5 của [Sổ tay người dùng pdfTeX](http://mirrors.ctan.org/systems/doc/pdftex/manual/pdftex-a.pdf).
* **`.enc`** (mã hóa): nếu cần, loại tệp này xác định ánh xạ giữa các mã ký tự trong văn bản LaTeX của bạn và các hình dạng ký tự (glyph) tương ứng nằm trong tệp phông chữ.

### Ví dụ phông chữ TrueType tùy chỉnh

Overleaf Galley chứa một dự án [minh họa việc cài đặt một phông chữ TrueType tùy chỉnh](https://www.overleaf.com/latex/examples/example-using-a-custom-truetype-font/yndxyzgbhpjv)—một phông chữ PostScript Type 1 sẽ dùng thiết lập tương tự. Nó biên dịch được với pdfLaTeX, XeLaTeX và LuaLaTeX và cho ra đầu ra sau:

![Hình ảnh cho thấy Overleaf dàn trang bằng một phông chữ tùy chỉnh](/files/33a5c6f9ca825e64ad8beef8f633cafc5f98cd30)

#### Ghi chú về dự án ví dụ

* Nó sử dụng lệnh `\pdfmapline` lệnh:

```latex
\pdfmapline{+delphine < Delphine.ttf <T1-WGL4.enc}
```

và liên kết một tệp số liệu phông chữ TeX có tên `delphine` với tệp phông chữ vật lý có tên `Delphine.ttf`.

* Ký tự `<` đầu tiên chỉ thị cho pdfTeX rút gọn phông TrueType; tức là, *một phần* nhúng phông chữ này vào tệp PDF cuối cùng. Việc rút gọn phông sẽ tạo ra các tệp PDF nhỏ hơn vì chúng chỉ chứa dữ liệu hình dạng ký tự cần để hiển thị các ký tự có trong tài liệu.
* Ký tự `<` thứ hai đứng trước tên của một tệp véc-tơ mã hóa, `T1-WGL4.enc`, được dùng để ánh xạ từ mã ký tự trong văn bản của bạn sang dữ liệu hình dạng ký tự (glyph) bên trong tệp phông chữ—dữ liệu hình dạng ký tự là cần thiết để kết xuất (vẽ) ký tự.
* LuaLaTeX cần một bước cấu hình bổ sung vì `\pdfmapline` tạo ra một lỗi do những thay đổi trong cách LuaTeX xử lý một số lệnh backend nhất định—Mục 3 của **Chuỗi điều khiển không được định nghĩa** gói [Sổ tay tham khảo LuaTeX](http://mirrors.ctan.org/systems/doc/luatex/luatex.pdf). Gói `\ifLuaTeX` lệnh, do `iftex` được dùng để kiểm tra LuaTeX; nếu được phát hiện, `\pdfmapline` được định nghĩa:

```latex
\ifLuaTeX
\protected\def\pdfmapline {\pdfextension mapline }
\fi
```

### Sử dụng nhiều phông chữ hoặc phông chữ thương mại

Để quản lý các tệp do các nhà cung cấp phông chữ thương mại và các bộ sưu tập phông chữ miễn phí cung cấp, bạn có thể tạo các thư mục trong dự án Overleaf của mình để tổ chức các tệp phông chữ theo loại của chúng (`.tfm`, `.pfb`, `.ttf` v.v.). Một mô hình tốt để đặt tên và tổ chức các thư mục của bạn là [Cấu trúc thư mục TeX (TDS)](https://www.tug.org/tds/tds.pdf), vốn được thiết kế như một “bản mẫu” thực hành tốt nhất để quản lý một bộ sưu tập các tệp liên quan đến TeX.

Khi đã có các thư mục dự án, bước tiếp theo là tạo một tệp gọi là [`latexmcrc` tệp có thể chỉnh sửa](/latex/vi/bai-viet-chuyen-sau/28-how-to-use-latexmkrc-with-overleaf.md) chứa các chỉ dẫn cho trình biên dịch LaTeX tìm tệp trong những thư mục đó. Theo mặc định, các trình biên dịch không biết những thư mục này tồn tại và sẽ không tìm thấy các tệp nằm trong đó.

#### Ví dụ dự án Overleaf

Ví dụ trong Overleaf Gallery [Sử dụng thư mục để quản lý các tệp phông chữ tùy chỉnh](https://www.overleaf.com/latex/templates/example-using-folders-to-manage-custom-font-files/qvqgnpjxvqzd) sử dụng các thư mục và một `latexmkrc` tệp để cài đặt một phông chữ TrueType tùy chỉnh. Nó chứa một cấu trúc thư mục như trong hình này:

![Tổ chức các thư mục dự án trên Overleaf](/files/a6047bf7b61d06a96181743246e7c7e66ae18d85)

và một `latexmkrc` tệp chứa các dòng sau, thiết lập các [biến môi trường](https://en.wikipedia.org/wiki/Environment_variable) thời gian chạy,

```perl
$ENV{'TEXINPUTS'}='myfonts/tex//:' . $ENV{'TEXINPUTS'};
$ENV{'T1FONTS'}='myfonts/fonts/type1//:' . $ENV{'T1FONTS'};
$ENV{'AFMFONTS'}='myfonts/fonts/afm//:' . $ENV{'AFMFONTS'};
$ENV{'TEXFONTMAPS'}='myfonts/fonts/map//:' . $ENV{'TEXFONTMAPS'};
$ENV{'TFMFONTS'}='myfonts/fonts/tfm//:' . $ENV{'TFMFONTS'};
$ENV{'TTFONTS'}='myfonts/fonts/ttf//:' . $ENV{'TTFONTS'};
$ENV{'VFFONTS'}='myfonts/fonts/vf//:' . $ENV{'VFFONTS'};
$ENV{'ENCFONTS'}='myfonts/fonts/enc//:' . $ENV{'ENCFONTS'};
```

Nếu bạn đang tự hỏi thường thì tệp nào sẽ nằm trong thư mục nào, hãy xem [bài viết này](/latex/vi/bai-viet-chuyen-sau/06-an-introduction-to-kpathsea-and-how-tex-engines-search-for-files.md#table-listing-kpathsea-config-variables).

## Sử dụng phông chữ tùy chỉnh với XeLaTeX và LuaLaTeX

### Sử dụng phông chữ PostScript Type 1

Để dùng các phông chữ PostScript Type 1 kế thừa với XeLaTeX và LuaLaTeX, bạn có thể làm theo [các hướng dẫn cho pdfLaTeX](#using-custom-fonts-with-pdflatex), vì vậy chúng tôi sẽ không lặp lại các chi tiết đó ở đây.

### Sử dụng phông chữ OpenType

XeLaTeX và LuaLaTeX cung cấp hỗ trợ rộng rãi cho việc dàn trang nâng cao bằng phông chữ OpenType—cả biến thể TrueType và PostScript—vì các bộ máy TeX nền tảng của chúng, XeTeX và LuaHBTeX, có khả năng gốc (tích hợp sẵn) để xử lý các công nghệ phông chữ OpenType, điều mà pdfTeX không có.

* **Lưu ý**: LuaLaTeX, thông qua bộ máy TeX nền tảng của nó (LuaHBTeX), có khả năng xử lý phông chữ tinh vi nhất trong tất cả các bộ máy TeX; tuy nhiên, việc thảo luận chi tiết về điều này vượt ra ngoài phạm vi của bài viết này—để biết thêm thông tin, xem các mục 6 và 12 của [Sổ tay tham khảo LuaTeX](https://ctan.org/pkg/luatex?lang=en).

Để dùng phông chữ OpenType với XeLaTeX và LuaLaTeX, bạn cần nạp [`fontspec`](https://ctan.org/pkg/fontspec?lang=en), một gói mạnh mẽ và giàu tính năng, cung cấp giao diện cho các khả năng dàn trang nâng cao của phông chữ OpenType.

* **Lưu ý**: Bạn không cần sử dụng `\usepackage[T1]{fontenc}` (hoặc `\usepackage[utf8]{inputenc}`) khi dùng phông chữ OpenType với XeLaTeX hoặc LuaLaTeX.

### Ví dụ: giới thiệu fontspec

Quá trình này rất đơn giản vì không cần cài đặt phông chữ—không cần `.tfm`, `enc` hoặc `.map` các tệp và việc viết định nghĩa phông chữ (`.fd`) đã thuộc về lịch sử! Nó đơn giản như sau:

1. Thêm dòng sau vào phần mở đầu tài liệu của bạn:

```latex
\usepackage{fontspec}
```

3. Chọn biểu tượng tải tệp lên (![UploadIcon.png](/files/ffbb79573c03318d5269b2a8f54d5e4a1d5c6efa)), nằm phía trên danh sách tệp.
4. Kéo và thả (các) phông chữ vào hộp thoại tải lên, hoặc chọn chúng từ máy tính của bạn, để thêm (các) phông chữ vào dự án Overleaf của bạn.
5. Dùng một trong các lệnh `fontspec` gói `\set*xxx*font` để cấu hình và kích hoạt (các) phông chữ.

Phần tài liệu `fontspec` rất đáng đọc—nó không chỉ cung cấp rất nhiều ví dụ hữu ích mà còn chứa nhiều thông tin nền hữu ích về phông chữ OpenType. Vì vậy, ở đây chúng tôi sẽ giữ cho đơn giản để giúp bạn bắt đầu. Ví dụ, giả sử bạn tải lên một tệp phông chữ có tên `CrimsonText-Regular.ttf`; sau khi nạp `fontspec` bạn có thể đặt phông chữ văn bản chính của tài liệu bằng cách viết

```latex
\setmainfont{CrimsonText-Regular.ttf}
```

Bạn cũng có thể viết cú pháp như

```latex
\setmainfont{CrimsonText}[
Extension = .ttf,
UprightFont = *-Regular,
...]
```

Bạn cũng có thể khai báo một họ phông chữ mới để dùng trong những tình huống tùy ý:

```latex
\newfontfamily{\crimson}{CrimsonText}
[Extension = .ttf, UprightFont = *-Regular, ...]
{\crimson Văn bản này sử dụng phông chữ CrimsonText}
```

#### Tài nguyên

* Tính năng [`fontspec` tài liệu gói](http://mirrors.ctan.org/macros/unicodetex/latex/fontspec/fontspec.pdf) là phần bắt buộc phải đọc—nó không chỉ cung cấp nhiều ví dụ hữu ích mà còn chứa rất nhiều thông tin nền hữu ích về phông chữ OpenType.
* Trang trợ giúp Overleaf về [XeLaTeX](/latex/vi/phong-chu/03-xelatex.md) có một [ví dụ chi tiết](/latex/vi/phong-chu/03-xelatex.md#using-fonts-not-installed-on-overleaf27s-servers-google-fonts-example) cho thấy cách tải phông chữ OpenType từ Google và cấu hình chúng với `fontspec`.

**Các dự án mẫu**

Overleaf Galley có các dự án ví dụ minh họa việc dùng phông chữ OpenType với XeLaTeX hoặc LuaLaTeX—bạn có thể mở chúng và chuyển trình biên dịch giữa LuaLaTeX và XeLaTeX:

* [Dùng phông chữ Google với XeLaTeX](https://www.overleaf.com/latex/templates/using-google-fonts-with-xelatex/xxkpcgfttjvd)
* [Dùng phông chữ OpenType STIX2 với LuaLaTeX hoặc XeLaTeX](https://www.overleaf.com/latex/templates/using-the-stix2-opentype-fonts-with-lualatex-or-xelatex/hdfvhzqmhnpx)

Đồ họa tiếp theo kết hợp đầu ra do các dự án này tạo ra:

![Các dự án mẫu Overleaf dùng phông chữ Opentype](/files/4b83880fd7d46d917f52511fae9c10f954ad0599)

## Kiến thức cơ bản về phông chữ và trình biên dịch LaTeX

### Phần mở rộng tệp phông chữ

Bảng dưới đây liệt kê các phần mở rộng tệp được dùng để chỉ ra các loại (định dạng) khác nhau của tệp phông chữ:

|                                                                                                                |                    |
| -------------------------------------------------------------------------------------------------------------- | ------------------ |
| **Loại phông chữ**                                                                                             | **Phần mở rộng**   |
| [PostScript Type 1](https://en.wikipedia.org/wiki/PostScript_fonts#Type_1)$$\displaystyle{}^{\mathbf\*}$$      | `.pfb`             |
| [TrueType](https://en.wikipedia.org/wiki/TrueType)                                                             | `.ttf`             |
| [Bộ phông TrueType](https://learn.microsoft.com/en-us/typography/opentype/otspec150/otff#truetype-collections) | `.ttc`             |
| [OpenType](https://learn.microsoft.com/en-us/typography/opentype/)                                             | `.otf` hoặc `.ttf` |

$$\displaystyle{}^{\mathbf\*}$$ Vào tháng 1 năm 2023, tất cả các ứng dụng soạn thảo của Adobe [đã chấm dứt hỗ trợ định dạng phông chữ Type 1 kế thừa](https://helpx.adobe.com/uk/fonts/kb/postscript-type-1-fonts-end-of-support.html).

Phông chữ OpenType tồn tại ở hai “biến thể”, thường gọi là “hương vị”: hương vị PostScript và hương vị TrueType, những tên gọi phản ánh dữ liệu và cơ chế được dùng để biểu diễn các hình dạng ký tự (glyph) mà chúng chứa. Đó là lý do phông chữ OpenType có hai phần mở rộng tệp: `.otf` hoặc `.ttf` mà, theo *quy ước*, hàm ý:

* `*filename*.otf` là một phông chữ OpenType hương vị PostScript
* `*filename*.ttf` là một phông chữ OpenType hương vị TrueType

Ví dụ, pdfTeX giả định phần mở rộng `.otf` chỉ ra một phông chữ OpenType hương vị PostScript.

* **Lưu ý**: tệp `.ttc` phần mở rộng chỉ được dùng cho các Bộ phông TrueType.

### Về phần mở rộng tệp .ttf

Với một tệp phông chữ có phần mở rộng `.ttf` , nó có thể là một trong hai:

* một phông TrueType cũ hơn (không phải OpenType), hoặc
* một phông chữ OpenType chứa dữ liệu TrueType cùng các tính năng bổ sung do OpenType cung cấp.

Việc xác định liệu một `.ttf` tệp phông chữ là OpenType hay TrueType thuần có thể khá khó, đòi hỏi các ứng dụng phải dò xét/tìm hiểu các cấu trúc dữ liệu bên trong của phông chữ. Để biết thêm chi tiết, xem [cuộc thảo luận này (chuỗi thảo luận)](https://typedrawers.com/discussion/2945/determine-whether-a-font-file-is-opentype-format-or-truetype-format) hoặc [bài viết của Microsoft](https://learn.microsoft.com/en-us/typography/opentype/#why-is-my-opentype-font-listed-as-a-truetype-font-by-my-application).

### Định dạng phông chữ và các trình biên dịch LaTeX

Bảng sau đây tóm tắt các định dạng phông chữ (phổ biến) được ba trình biên dịch LaTeX hỗ trợ (nói chính xác hơn là được các bộ máy TeX nền tảng hỗ trợ):

|                  |                         |                                                        |                                                        |                                            |
| ---------------- | ----------------------- | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------ |
| **Bộ biên dịch** | **PostScript (Type 1)** | **TrueType (thuần**$$\displaystyle{}^{\mathbf†}$$**)** | **OpenType (TrueType)**$$\displaystyle{}^{\mathbf\*}$$ | **OpenType (PostScript)**                  |
| pdfLaTeX         | Có                      | Có                                                     | Hạn chế$$\displaystyle{}^{\mathbf{\*\*}}$$             | Hạn chế$$\displaystyle{}^{\mathbf{\*\*}}$$ |
| XeLaTeX          | Có                      | Có                                                     | Có                                                     | Có                                         |
| LuaLaTeX         | Có                      | Có                                                     | Có                                                     | Có                                         |

$$\displaystyle{}^{\mathbf†}$$Theo “thuần”, chúng tôi muốn nói đến một phông TrueType không chứa dữ liệu bổ sung (các bảng) do đặc tả OpenType định nghĩa, nên thiếu các tính năng dàn trang nâng cao hơn của các phông chữ OpenType hương vị TrueType.

$$\displaystyle{}^{\mathbf\*}$$pdfTeX cung cấp hỗ trợ hạn chế cho [Bộ phông TrueType](https://learn.microsoft.com/en-us/typography/opentype/otspec150/otff#truetype-collections) (phần mở rộng `.ttc`)—nó sẽ chỉ đọc dữ liệu của phông chữ đầu tiên có trong bộ phông.

$$\displaystyle{}^{\mathbf{\*\*}}$$Ý nghĩa của hỗ trợ OpenType “Hạn chế” của pdfTeX là:

* nó không hỗ trợ các tính năng dàn trang nâng cao có trong phông chữ OpenType;
* nó sẽ rút gọn các phông chữ OpenType hương vị TrueType nhưng không rút gọn các phông chữ OpenType hương vị PostScript, vốn phải được nhúng đầy đủ. Việc không rút gọn phông tạo ra các tệp PDF lớn hơn và gây ra vấn đề cấp phép với phông chữ thương mại, vốn thường cấm nhúng đầy đủ;
* nó không thể sử dụng quá 256 ký tự cho mỗi phông, trong khi từng phông chữ OpenType riêng lẻ hỗ trợ hàng chục nghìn ký tự;
* nó đòi hỏi phải tạo ra số liệu phông chữ TeX và các tệp phụ trợ khác (cần cho LaTeX)—những quy trình nằm ngoài phạm vi của bài viết này (xem [Đọc thêm](#further-reading) để có liên kết đến mô tả các quy trình đó).

## Đọc thêm

* [Cách OpenType hoạt động](https://simoncozens.github.io/fonts-and-layout/opentype.html) (bởi Simon Cozens).
* [Xác định xem một tệp phông chữ là định dạng OpenType hay định dạng TrueType](https://typedrawers.com/discussion/2945/determine-whether-a-font-file-is-opentype-format-or-truetype-format)—một cuộc thảo luận về sự khó khăn trong việc xác định liệu một `.ttf` là TrueType thuần hay OpenType hương vị TrueType.
* [Cái nhìn kỹ hơn về phông chữ TrueType và pdfTeX](https://tug.org/TUGboat/tb30-1/tb94thanh.pdf)—một bài báo TUGboat do [Hàn Thế Thành](https://tug.org/interviews/thanh.html), tác giả của [pdfTeX](https://www.tug.org/applications/pdftex/).
* [Cấu trúc thư mục cho các tệp TeX](https://tug.org/tds/tds.html), một hệ thống phân cấp thư mục/thư mục tiêu chuẩn để tổ chức các tệp liên quan đến TeX.
* [Việc cài đặt và sử dụng phông chữ OpenType trong LaTeX](https://www.tug.org/TUGboat/tb27-2/tb87owens.pdf)—một bài báo TUGboat giải thích cách chuẩn bị phông chữ OpenType để dùng với pdfLaTeX.
* [Làm thế nào để dùng phông chữ TrueType với PdfTeX bằng otftotfm?](https://tex.stackexchange.com/questions/52819/how-do-i-use-truetype-fonts-with-pdftex-using-otftotfm/52902#52902)—một chuỗi thảo luận trên tex.stackexchange có ví dụ chi tiết.

### Một ghi chú về “cuộc chiến phông chữ”...

Những năm 1980 và 1990 chứng kiến cái gọi là “cuộc chiến phông chữ” khi hai định dạng phông cạnh tranh, PostScript Type 1 (từ Adobe) và TrueType (do Apple tạo ra, được cấp phép cho Microsoft), tranh giành ưu thế—to giành lấy trái tim và khối óc của mọi người dùng, đặc biệt là các nhà thiết kế và chuyên gia sắp chữ. Cuối cùng, [định dạng phông chữ OpenType](https://learn.microsoft.com/en-us/typography/opentype) đã xuất hiện (vào năm 1997) như một giải pháp lai, bao gồm và mở rộng các công nghệ phông chữ của Adobe và Apple. OpenType xây dựng trên định dạng tệp TrueType gốc để cho phép các khả năng dàn trang nâng cao và hỗ trợ Unicode tốt hơn thông qua các phông chữ chứa hơn 65.000 hình dạng ký tự (glyph).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/vi/cau-hoi-and-tra-loi/58-i-have-a-custom-font-i-d-like-to-load-to-my-document.-how-can-i-do-this.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
