> 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/id/pertanyaan-and-jawaban/58-i-have-a-custom-font-i-d-like-to-load-to-my-document.-how-can-i-do-this.md).

# Saya memiliki font kustom yang ingin saya muat ke dokumen saya. Bagaimana cara melakukannya?

## Pendahuluan

Artikel ini menunjukkan cara memasang font kustom untuk menata teks dokumen Anda—artikel ini tidak membahas font untuk menata matematika. Dengan “font kustom”, yang kami maksud adalah font yang tidak tersedia di server Overleaf, termasuk font komersial yang memerlukan lisensi atau font gratis yang tidak didistribusikan bersama TeX Live atau disertakan dalam instalasi Linux kami.

* **Catatan**: Artikel ini membahas teknologi font arus utama tetapi tidak membahas solusi khusus berbasis TeX seperti [Metafont](https://en.wikipedia.org/wiki/Metafont) dan [font virtual](https://texfaq.org/FAQ-virtualfonts).

## Dari mana saya mulai?

Solusi penataan huruf berbasis LaTeX beroperasi dalam konteks sistem lawas. Selama lebih dari empat dekade, pengembangan compiler LaTeX dan format font telah menghasilkan sebuah ekosistem yang memadukan teknologi lama dan baru. Akibatnya, proses sebenarnya untuk memasang dan mengonfigurasi font kustom untuk digunakan dengan LaTeX bergantung pada dua faktor ini:

1. Jenis (format) dari font apa pun yang ingin Anda pasang:

* lawas [PostScript Type 1](https://en.wikipedia.org/wiki/PostScript_fonts#Type_1) atau [TrueType](https://en.wikipedia.org/wiki/TrueType) font, atau
* modern [OpenType](https://en.wikipedia.org/wiki/OpenType) font.

3. Compiler LaTeX mana yang digunakan untuk mengompilasi proyek Overleaf Anda:
   * pdfLaTeX, atau
   * XeLaTeX atau LuaLaTeX

Langsung ke bagian yang membahas compiler pilihan Anda:

* [Menggunakan font kustom dengan pdfLaTeX](#using-custom-fonts-with-pdflatex)
* [Menggunakan font kustom dengan XeLaTeX dan LuaLaTeX](#using-custom-fonts-with-xelatex-and-lualatex)

## Menggunakan font kustom dengan pdfLaTeX

Berikut ringkasan tentang apa yang perlu Anda lakukan—bergantung pada kompleksitas pengaturan font kustom Anda:

1. Untuk setiap file font (`.ttf`, `.otf` atau `.pfb`), Anda perlu memiliki (atau menghasilkan!) metrik font TeX yang sesuai (`.tfm` ) dan, mungkin, file encoding (`.enc`).
2. pdfLaTeX harus mengetahui cara menyematkan font dokumen ke dalam file PDF akhir. Untuk melakukannya, ia membaca file peta font (`pdftex.map`), yang perlu Anda perbarui dengan detail font kustom Anda. Di Overleaf, Anda melakukannya dengan menggunakan salah satu perintah ini:

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

4. Anda memerlukan file deskripsi font (`.fd`) yang memberi tahu LaTeX cara menggunakan file font baru.

Berikut adalah jenis file utama yang Anda perlukan:

* **`.tfm`** (Metrik font TeX): file biner ringkas ini tidak berisi data apa pun yang menjelaskan tampilan visual bentuk karakter, hanya dimensi karakter dan “metadata” font yang dapat digunakan mesin TeX untuk menjalankan tugas penataan huruf inti mereka. Metrik font TeX untuk font matematika berisi data tambahan yang tidak diperlukan oleh font teks saja; khususnya, file ini memiliki beberapa parameter “spasi” yang digunakan untuk menata matematika.
* **`.fd`** (deskripsi font): file-file ini berisi perintah LaTeX yang diperlukan untuk mengonfigurasi dan menyiapkan font Anda agar dapat digunakan dengan LaTeX. Perintah yang diizinkan di dalam `.fd` file, dan `.fd` konvensi penamaan file, dijelaskan dalam dokumen [pemilihan font LaTeX2ε](https://texdoc.org/serve/fntguide/1).
* **`.map`** (peta font): file map menautkan nama file metrik font TeX dengan file font fisik yang berisi data yang diperlukan untuk menggambar bentuk karakter (glyph). Setiap font yang dikenal oleh pdfTeX dijelaskan pada satu baris file map, menggunakan sintaks yang terdefinisi dengan baik. Untuk detail lengkap, lihat Bagian 5 dari [Panduan pengguna pdfTeX](http://mirrors.ctan.org/systems/doc/pdftex/manual/pdftex-a.pdf).
* **`.enc`** (encoding): jika diperlukan, jenis file ini mendefinisikan pemetaan antara kode karakter di dalam teks LaTeX Anda dan bentuk karakter (glyph) yang sesuai yang terdapat di dalam file font.

### Contoh font TrueType kustom

Overleaf Galley berisi sebuah proyek yang [mendemonstrasikan pemasangan font TrueType kustom](https://www.overleaf.com/latex/examples/example-using-a-custom-truetype-font/yndxyzgbhpjv)—font PostScript Type 1 akan menggunakan pengaturan serupa. Proyek ini dikompilasi dengan pdfLaTeX, XeLaTeX, dan LuaLaTeX dan menghasilkan keluaran berikut:

![Gambar yang menunjukkan penataan huruf Overleaf menggunakan font kustom](/files/82d7cef5ed5b9bd704fc86edb30c51d15f2ca525)

#### Catatan tentang proyek contoh

* Proyek ini menggunakan `\pdfmapline` perintah:

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

yang menautkan file metrik font TeX bernama `delphine` ke file font fisik bernama `Delphine.ttf`.

* Yang pertama `<` karakter tersebut menginstruksikan pdfTeX untuk melakukan subset pada font TrueType; yaitu, *sebagian* menyematkan font ini ke dalam file PDF akhir. Melakukan subset pada font menghasilkan file PDF yang lebih kecil karena hanya berisi data bentuk karakter yang diperlukan untuk menampilkan karakter yang ada di dokumen.
* Yang kedua `<` karakter mendahului nama file vektor encoding, `T1-WGL4.enc` , digunakan untuk memetakan kode karakter dalam teks Anda ke data bentuk karakter (glyph) di dalam file font—data bentuk karakter diperlukan untuk merender (menggambar) karakter.
* LuaLaTeX memerlukan langkah konfigurasi tambahan karena `\pdfmapline` menghasilkan sebuah **Rangkaian kontrol tak terdefinisi** kesalahan akibat perubahan dalam penanganan perintah backend tertentu oleh LuaTeX—Bagian 3 dari [Manual Referensi LuaTeX](http://mirrors.ctan.org/systems/doc/luatex/luatex.pdf). Paket `\ifLuaTeX` perintah, yang disediakan oleh `iftex` paket, digunakan untuk menguji keberadaan LuaTeX; jika terdeteksi, `\pdfmapline` ditetapkan:

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

### Menggunakan beberapa font atau font komersial

Untuk mengelola file yang disediakan oleh vendor font komersial dan koleksi font gratis, Anda dapat membuat folder di proyek Overleaf Anda untuk mengorganisasi file font berdasarkan jenisnya (`.tfm`, `.pfb`, `.ttf` dll.). Model yang baik untuk memberi nama dan mengorganisasi folder Anda adalah [TeX Directory Structure (TDS)](https://www.tug.org/tds/tds.pdf) , yang dirancang sebagai “cetak biru” praktik terbaik untuk mengelola kumpulan file terkait TeX.

Setelah folder proyek tersedia, Anda berikutnya perlu membuat yang disebut [`latexmcrc` yang dapat diedit](/latex/id/artikel-mendalam/28-how-to-use-latexmkrc-with-overleaf.md) yang berisi instruksi untuk memberi tahu compiler LaTeX agar mencari file di folder-folder tersebut. Secara default, compiler tidak mengetahui bahwa folder-folder itu ada dan tidak akan menemukan file yang ada di dalamnya.

#### Contoh proyek Overleaf

Contoh Overleaf Gallery [Menggunakan Folder untuk Mengelola File Font Kustom](https://www.overleaf.com/latex/templates/example-using-folders-to-manage-custom-font-files/qvqgnpjxvqzd) menggunakan folder dan sebuah `latexmkrc` file untuk memasang font TrueType kustom. Proyek ini berisi struktur folder yang ditunjukkan pada gambar ini:

![Mengorganisasi folder proyek di Overleaf](/files/18a4d5fc109e2e9d2a0e45c6a0022720ce45516c)

hanyalah sebuah `latexmkrc` file yang berisi baris-baris berikut, yang mengatur runtime [variabel lingkungan](https://en.wikipedia.org/wiki/Environment_variable) yang memberi tahu compiler LaTeX untuk mencari file di folder proyek kami:

```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'};
```

Jika Anda bertanya-tanya file mana yang biasanya masuk ke folder yang mana, lihatlah [artikel ini](/latex/id/artikel-mendalam/06-an-introduction-to-kpathsea-and-how-tex-engines-search-for-files.md#table-listing-kpathsea-config-variables).

## Menggunakan font kustom dengan XeLaTeX dan LuaLaTeX

### Menggunakan font PostScript Type 1

Untuk menggunakan font PostScript Type 1 lawas dengan XeLaTeX dan LuaLaTeX, Anda dapat mengikuti [pedoman untuk pdfLaTeX](#using-custom-fonts-with-pdflatex), jadi kami tidak akan mengulang detail tersebut di sini.

### Menggunakan font OpenType

XeLaTeX dan LuaLaTeX menyediakan dukungan luas untuk penataan huruf lanjutan menggunakan font OpenType—varian TrueType dan PostScript—karena mesin TeX yang mendasarinya, XeTeX dan LuaHBTeX, memiliki kemampuan asli (bawaan) untuk memproses teknologi font OpenType, yang tidak dimiliki pdfTeX.

* **Catatan**: LuaLaTeX, melalui mesin TeX yang mendasarinya (LuaHBTeX), memiliki kemampuan penanganan font paling canggih dari semua mesin TeX; namun, pembahasan ini berada di luar cakupan artikel ini—untuk informasi lebih lanjut, lihat bagian 6 dan 12 dari [Manual Referensi LuaTeX](https://ctan.org/pkg/luatex?lang=en).

Untuk menggunakan font OpenType dengan XeLaTeX dan LuaLaTeX, Anda perlu memuat [`fontspec`](https://ctan.org/pkg/fontspec?lang=en), paket yang kuat dan kaya fitur yang menyediakan antarmuka ke kemampuan penataan huruf lanjutan dari font OpenType.

* **Catatan**: Anda tidak perlu menggunakan `\usepackage[T1]{fontenc}` (atau `\usepackage[utf8]{inputenc}`) saat menggunakan font OpenType dengan XeLaTeX atau LuaLaTeX.

### Contoh: memperkenalkan fontspec

Prosesnya sederhana karena tidak diperlukan pemasangan font—tidak perlu `.tfm`, `enc` atau `.map` file dan menulis definisi font (`.fd`) telah menjadi sejarah! Sederhananya seperti ini:

1. Tambahkan baris berikut ke pembukaan dokumen Anda:

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

3. Pilih ikon unggah file (![UploadIcon.png](/files/77f19e216f86d409e4c5620f1da401500424fe9e)), yang terletak di atas daftar file.
4. Seret dan jatuhkan font ke dalam modal unggah, atau pilih dari komputer Anda, untuk menambahkan font ke proyek Overleaf Anda.
5. Gunakan salah satu `fontspec` ke preambel dokumen Anda (seperti disarankan `\set*xxx*font` perintah untuk mengonfigurasi dan mengaktifkan font.

Yang sangat baik `fontspec` dokumentasi paket menyediakan banyak contoh yang dapat Anda jelajahi, jadi di sini kami akan membuatnya tetap sederhana agar Anda bisa memulai. Misalnya, bayangkan Anda mengunggah file font bernama `CrimsonText-Regular.ttf`; setelah memuat `fontspec` Anda dapat menetapkan font teks utama dokumen dengan menulis

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

Anda juga dapat menulis sintaks seperti

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

Anda juga dapat mendeklarasikan keluarga font baru untuk digunakan dalam situasi apa pun:

```latex
\newfontfamily{\crimson}{CrimsonText}
[Extension = .ttf, UprightFont = *-Regular, ...]
{\crimson Teks ini menggunakan font CrimsonText}
```

#### Sumber daya

* Fitur [`fontspec` dokumentasi paket](http://mirrors.ctan.org/macros/unicodetex/latex/fontspec/fontspec.pdf) wajib dibaca—bukan hanya menyediakan banyak contoh yang membantu, tetapi juga berisi banyak informasi latar belakang yang berguna tentang font OpenType.
* Halaman bantuan Overleaf tentang [XeLaTeX](/latex/id/font/03-xelatex.md) berisi sebuah [contoh rinci](/latex/id/font/03-xelatex.md#using-fonts-not-installed-on-overleaf27s-servers-google-fonts-example) yang menunjukkan cara mengunduh font OpenType dari Google dan mengonfigurasinya dengan `fontspec`.

**Proyek contoh**

Overleaf Galley memiliki proyek contoh yang mendemonstrasikan penggunaan font OpenType dengan XeLaTeX atau LuaLaTeX—Anda dapat membuka ini dan mengganti compiler antara LuaLaTeX dan XeLaTeX:

* [Menggunakan font Google dengan XeLaTeX](https://www.overleaf.com/latex/templates/using-google-fonts-with-xelatex/xxkpcgfttjvd)
* [Menggunakan font OpenType STIX2 dengan LuaLaTeX atau XeLaTeX](https://www.overleaf.com/latex/templates/using-the-stix2-opentype-fonts-with-lualatex-or-xelatex/hdfvhzqmhnpx)

Grafik berikut menggabungkan keluaran yang dihasilkan oleh proyek-proyek ini:

![Contoh proyek Overleaf yang menggunakan font OpenType](/files/af7e16e97335f96708d1f37a2c959c498d072cec)

## Dasar-dasar font dan compiler LaTeX

### Ekstensi file font

Tabel di bawah ini mencantumkan ekstensi file yang digunakan untuk menunjukkan berbagai jenis (format) file font:

|                                                                                                               |                    |
| ------------------------------------------------------------------------------------------------------------- | ------------------ |
| **Jenis font**                                                                                                | **Ekstensi**       |
| [PostScript Type 1](https://en.wikipedia.org/wiki/PostScript_fonts#Type_1)$$\displaystyle{}^{\mathbf\*}$$     | `.pfb`             |
| [TrueType](https://en.wikipedia.org/wiki/TrueType)                                                            | `.ttf`             |
| [Koleksi TrueType](https://learn.microsoft.com/en-us/typography/opentype/otspec150/otff#truetype-collections) | `.ttc`             |
| [OpenType](https://learn.microsoft.com/en-us/typography/opentype/)                                            | `.otf` atau `.ttf` |

$$\displaystyle{}^{\mathbf\*}$$ Pada Januari 2023, semua aplikasi pembuatan dari Adobe [menghentikan dukungan terhadap format font Type 1 lawas](https://helpx.adobe.com/uk/fonts/kb/postscript-type-1-fonts-end-of-support.html).

Font OpenType ada dalam dua “varian”, yang sering disebut “rasa”: varian PostScript dan varian TrueType, yaitu nama-nama yang mencerminkan data dan mekanisme yang digunakan untuk merepresentasikan bentuk karakter (glyph) yang dikandungnya. Itulah sebabnya font OpenType memiliki dua ekstensi file: `.otf` atau `.ttf` yang, menurut *konvensi*, menyiratkan:

* `*filename*.otf` adalah font OpenType varian PostScript
* `*filename*.ttf` adalah font OpenType varian TrueType

Misalnya, pdfTeX mengasumsikan bahwa ekstensi `.otf` menunjukkan font OpenType varian PostScript.

* **Catatan**: `.ttc` ekstensi ini hanya digunakan untuk Koleksi Font TrueType.

### Tentang ekstensi file .ttf

Jika sebuah file font memiliki sebuah `.ttf` ekstensi, itu bisa jadi salah satu dari berikut:

* font TrueType yang lebih lama (non-OpenType), atau
* font OpenType yang berisi data TrueType plus fitur tambahan yang disediakan oleh OpenType.

Menentukan apakah sebuah `.ttf` file font adalah OpenType atau TrueType biasa bisa jadi rumit, sehingga aplikasi perlu memeriksa/menyelidiki struktur data internal font. Untuk detail lebih lanjut, lihat [diskusi ini (thread)](https://typedrawers.com/discussion/2945/determine-whether-a-font-file-is-opentype-format-or-truetype-format) atau ini [artikel Microsoft](https://learn.microsoft.com/en-us/typography/opentype/#why-is-my-opentype-font-listed-as-a-truetype-font-by-my-application).

### Format font dan compiler LaTeX

Tabel berikut merangkum format font (arus utama) yang didukung oleh tiga compiler LaTeX (secara ketat, didukung oleh mesin TeX yang mendasarinya):

|              |                         |                                                        |                                                        |                                             |
| ------------ | ----------------------- | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------- |
| **Compiler** | **PostScript (Type 1)** | **TrueType (biasa**$$\displaystyle{}^{\mathbf†}$$**)** | **OpenType (TrueType)**$$\displaystyle{}^{\mathbf\*}$$ | **OpenType (PostScript)**                   |
| pdfLaTeX     | Ya                      | Ya                                                     | Terbatas$$\displaystyle{}^{\mathbf{\*\*}}$$            | Terbatas$$\displaystyle{}^{\mathbf{\*\*}}$$ |
| XeLaTeX      | Ya                      | Ya                                                     | Ya                                                     | Ya                                          |
| LuaLaTeX     | Ya                      | Ya                                                     | Ya                                                     | Ya                                          |

$$\displaystyle{}^{\mathbf†}$$Dengan “biasa”, yang kami maksud adalah font TrueType yang tidak berisi data tambahan (tabel) yang ditentukan oleh spesifikasi OpenType, sehingga tidak memiliki fitur penataan huruf yang lebih canggih dari font OpenType varian TrueType.

$$\displaystyle{}^{\mathbf\*}$$pdfTeX menyediakan dukungan terbatas untuk [Koleksi TrueType](https://learn.microsoft.com/en-us/typography/opentype/otspec150/otff#truetype-collections) (ekstensi `.ttc`)—ia hanya akan membaca data untuk font pertama yang terdapat dalam koleksi.

$$\displaystyle{}^{\mathbf{\*\*}}$$Dukungan OpenType “Terbatas” dari pdfTeX berarti:

* ia tidak mendukung fitur penataan huruf lanjutan yang terdapat dalam font OpenType;
* ia akan melakukan subset pada font OpenType varian TrueType tetapi tidak pada font OpenType varian PostScript yang harus disematkan sepenuhnya. Tidak adanya subset font menghasilkan file PDF yang lebih besar dan menimbulkan masalah lisensi dengan font komersial, yang biasanya melarang penyematan penuh;
* ia tidak dapat menggunakan lebih dari 256 karakter per font, sedangkan font OpenType individual mendukung puluhan ribu;
* ia memerlukan pembuatan metrik font TeX dan file pendukung lainnya (yang diperlukan oleh LaTeX)—proses yang berada di luar cakupan artikel ini (lihat [Bacaan lanjutan](#further-reading) untuk tautan ke deskripsi proses-proses tersebut).

## Bacaan lanjutan

* [Cara Kerja OpenType](https://simoncozens.github.io/fonts-and-layout/opentype.html) (oleh Simon Cozens).
* [Tentukan apakah sebuah file font berformat OpenType atau berformat TrueType](https://typedrawers.com/discussion/2945/determine-whether-a-font-file-is-opentype-format-or-truetype-format)—pembahasan tentang sulitnya menentukan apakah sebuah `.ttf` adalah TrueType biasa atau OpenType varian TrueType.
* [Tinjauan lebih dekat pada font TrueType dan pdfTeX](https://tug.org/TUGboat/tb30-1/tb94thanh.pdf)—sebuah makalah TUGboat yang ditulis oleh [Hàn Thế Thành](https://tug.org/interviews/thanh.html), pencipta [pdfTeX](https://www.tug.org/applications/pdftex/).
* [Struktur Direktori untuk File TeX](https://tug.org/tds/tds.html), hierarki folder/direktori standar untuk mengorganisasi file terkait TeX.
* [Pemasangan dan penggunaan font OpenType di LaTeX](https://www.tug.org/TUGboat/tb27-2/tb87owens.pdf)—sebuah makalah TUGboat yang menjelaskan cara menyiapkan font OpenType untuk digunakan dengan pdfLaTeX.
* [Bagaimana cara menggunakan font TrueType dengan PdfTeX menggunakan otftotfm?](https://tex.stackexchange.com/questions/52819/how-do-i-use-truetype-fonts-with-pdftex-using-otftotfm/52902#52902)—sebuah thread tex.stackexchange yang berisi contoh rinci.

### Catatan tentang “perang font”...

Dekade 1980-an dan 1990-an menyaksikan apa yang disebut “perang font” saat dua format font yang bersaing, PostScript Type 1 (dari Adobe) dan TrueType (dibuat oleh Apple, dilisensikan ke Microsoft), bertarung untuk supremasi—untuk merebut hati dan pikiran semua pengguna, terutama desainer dan tipografer. Pada akhirnya, [format font OpenType](https://learn.microsoft.com/en-us/typography/opentype) muncul (pada 1997) sebagai solusi hibrida, yang mencakup dan memperluas teknologi font Adobe dan Apple. OpenType dibangun di atas format file TrueType asli untuk memungkinkan kemampuan penataan huruf lanjutan dan dukungan Unicode yang lebih baik melalui font yang berisi lebih dari 65.000 bentuk karakter (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/id/pertanyaan-and-jawaban/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.
