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

# Mám vlastní písmo, které bych chtěl načíst do dokumentu. Jak to mohu udělat?

## Úvod

Tento článek ukazuje, jak nainstalovat vlastní fonty pro sazbu textu vašeho dokumentu — nezabývá se fonty pro sazbu matematiky. Pod pojmem „vlastní font“ rozumíme takový, který není k dispozici na serverech Overleafu, včetně komerčních fontů vyžadujících licenci nebo volně použitelných fontů, které nejsou distribuovány s TeX Live ani součástí naší linuxové instalace.

* **Poznámka**: Tento článek se zabývá běžnými technologiemi fontů, ale neprobírá specializovaná řešení založená na TeXu, jako jsou [Metafont](https://en.wikipedia.org/wiki/Metafont) a [virtuální fonty](https://texfaq.org/FAQ-virtualfonts).

## Kde mám začít?

Sázecí řešení založená na LaTeXu fungují v kontextu starších technologií. Během více než čtyř desetiletí vývoje kompilátorů LaTeXu a formátů fontů vznikl ekosystém, který zahrnuje směs starších i nových technologií. V důsledku toho skutečný proces instalace a konfigurace vlastních fontů pro použití v LaTeXu závisí na těchto dvou faktorech:

1. Typ (formát) fontu/fontů, které chcete nainstalovat:

* starší [PostScript Type 1](https://en.wikipedia.org/wiki/PostScript_fonts#Type_1) nebo [TrueType](https://en.wikipedia.org/wiki/TrueType) fonty, nebo
* moderní [OpenType](https://en.wikipedia.org/wiki/OpenType) fonty.

3. Který kompilátor LaTeXu se používá ke kompilaci vašeho projektu/projektů na Overleafu:
   * pdfLaTeX, nebo
   * XeLaTeX nebo LuaLaTeX

Přeskočit na sekci odpovídající vámi zvolenému kompilátoru:

* [Použití vlastních fontů s pdfLaTeXem](#using-custom-fonts-with-pdflatex)
* [Použití vlastních fontů s XeLaTeXem a LuaLaTeXem](#using-custom-fonts-with-xelatex-and-lualatex)

## Použití vlastních fontů s pdfLaTeXem

Zde je shrnutí toho, co budete muset udělat — v závislosti na složitosti vašeho nastavení vlastních fontů:

1. Pro každý soubor fontu (`.ttf`, `.otf` nebo `.pfb`), budete potřebovat mít (nebo vytvořit!) vhodnou metriku TeX fontu (`.tfm`) a případně i soubor s kódováním (`.enc`).
2. pdfLaTeX musí vědět, jak vložit fonty dokumentu do výsledného souboru PDF. K tomu čte soubor mapování fontů (`pdftex.map`), který budete muset aktualizovat o údaje o vašem vlastním fontu. Na Overleafu to provedete pomocí jednoho z těchto příkazů:

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

4. Budete potřebovat soubor s popisem fontu (`.fd`), který LaTeXu říká, jak používat nové soubory fontů.

Toto jsou hlavní typy souborů, které budete potřebovat:

* **`.tfm`** (metrika fontu TeX): tyto kompaktní binární soubory neobsahují žádná data popisující vizuální vzhled tvarů znaků, pouze rozměry znaků a fontová „metadata“, která mohou enginy TeXu použít ke svým základním sázecím úlohám. Metriky fontů TeXu pro matematické fonty obsahují navíc data, která textové fonty nepotřebují; konkrétně několik parametrů „rozestupu“ používaných pro sazbu matematiky.
* **`.fd`** (popis fontu): tyto soubory obsahují příkazy LaTeXu potřebné ke konfiguraci a přípravě vašeho fontu pro použití v LaTeXu. Příkazy povolené uvnitř `.fd` soubory a `.fd` konvence pojmenování souborů jsou popsány v dokumentu [Výběr fontů v LaTeXu2ε](https://texdoc.org/serve/fntguide/1).
* **`.map`** (mapa fontů): soubory mapování propojují název souborů metrik fontů TeXu s fyzickým souborem fontu obsahujícím data potřebná k vykreslení tvarů znaků (glyfů). Každý font známý pdfTeXu je popsán na samostatném řádku souboru mapování pomocí přesně definované syntaxe. Úplné podrobnosti viz oddíl 5 v [Uživatelská příručka pdfTeXu](http://mirrors.ctan.org/systems/doc/pdftex/manual/pdftex-a.pdf).
* **`.enc`** (kódování): je-li potřeba, tento typ souboru definuje mapování mezi kódy znaků ve vašem textu LaTeXu a odpovídajícími tvary znaků (glyfy) obsaženými v souboru fontu.

### Příklad vlastního fontu TrueType

Overleaf Galley obsahuje projekt, který [ukazuje instalaci vlastního fontu TrueType](https://www.overleaf.com/latex/examples/example-using-a-custom-truetype-font/yndxyzgbhpjv)—font PostScript Type 1 by použil podobné nastavení. Kompiluje se pomocí pdfLaTeXu, XeLaTeXu i LuaLaTeXu a vytváří následující výstup:

![Obrázek znázorňující sazbu na Overleafu pomocí vlastního fontu](/files/8ae69b123e433a3bc4faf78746eedcfeb6f8d86f)

#### Poznámky k ukázkovému projektu

* Používá následující `\pdfmapline` příkazu:

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

který propojuje soubor metriky fontu TeXu nazvaný `delphine` s fyzickým souborem fontu nazvaným `Delphine.ttf`.

* První `<` znak instruuje pdfTeX, aby font TrueType vytvořil podmnožinu; tj., *částečně* vloží tento font do výsledného souboru PDF. Vytváření podmnožin fontů vede k menším souborům PDF, protože obsahují pouze data o tvarech znaků potřebná k zobrazení znaků přítomných v dokumentu.
* Druhý `<` znak předchází názvu souboru s vektorovým kódováním, `T1-WGL4.enc`, používaný k mapování kódů znaků ve vašem textu na data o tvarech znaků (glyfy) v souboru fontu — data o tvarech znaků jsou potřebná k vykreslení (nakreslení) znaku.
* LuaLaTeX vyžaduje další konfigurační krok, protože `\pdfmapline` generuje **Undefined control sequence** chybu kvůli změnám v tom, jak LuaTeX zachází s určitými backendovými příkazy — oddíl 3 [Referenční příručka LuaTeXu](http://mirrors.ctan.org/systems/doc/luatex/luatex.pdf). Balíček `\ifLuaTeX` příkaz, poskytovaný balíčkem `iftex` balíčku se používá ke zjištění přítomnosti LuaTeXu; je-li zjištěn, `\pdfmapline` je definováno:

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

### Použití více fontů nebo komerčních fontů

K souborům poskytovaným komerčními dodavateli fontů a kolekcím volně použitelných fontů můžete v projektu na Overleafu vytvořit složky a uspořádat soubory fontů podle jejich typu (`.tfm`, `.pfb`, `.ttf` atd.). Dobrým vzorem pro pojmenování a organizaci složek je [TeX Directory Structure (TDS)](https://www.tug.org/tds/tds.pdf), která byla navržena jako osvědčený „plán“ pro správu sbírky souborů souvisejících s TeXem.

Když máte složky projektu připravené, musíte dále vytvořit tzv. [`latexmcrc` souboru](/latex/cs/clanky-do-hloubky/28-how-to-use-latexmkrc-with-overleaf.md) obsahující pokyny, které kompilátoru LaTeXu říkají, aby hledal soubory v těchto složkách. Ve výchozím nastavení kompilátory nevědí, že tyto složky existují, a soubory v nich nenajdou.

#### Příklad projektu na Overleafu

Ukázka z galerie Overleafu [Použití složek ke správě vlastních souborů fontů](https://www.overleaf.com/latex/templates/example-using-folders-to-manage-custom-font-files/qvqgnpjxvqzd) používá složky a `latexmkrc` soubor k instalaci vlastního fontu TrueType. Obsahuje strukturu složek zobrazenou na tomto obrázku:

![Organizace složek projektu na Overleafu](/files/1cf83c3d4d90e5ba7ae60b37e3233f64f7af6814)

a `latexmkrc` soubor obsahující následující řádky, které nastavují za běhu [proměnné prostředí](https://en.wikipedia.org/wiki/Environment_variable) které kompilátoru LaTeXu říkají, aby hledal soubory v našich složkách projektu:

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

Pokud vás zajímá, které soubory obvykle patří do které složky, podívejte se na [tento článek](/latex/cs/clanky-do-hloubky/06-an-introduction-to-kpathsea-and-how-tex-engines-search-for-files.md#table-listing-kpathsea-config-variables).

## Použití vlastních fontů s XeLaTeXem a LuaLaTeXem

### Použití fontů PostScript Type 1

Chcete-li používat starší fonty PostScript Type 1 s XeLaTeXem a LuaLaTeXem, můžete se řídit [pokyny pro pdfLaTeX](#using-custom-fonts-with-pdflatex), takže zde tyto podrobnosti nebudeme opakovat.

### Použití fontů OpenType

XeLaTeX a LuaLaTeX poskytují rozsáhlou podporu pro pokročilou sazbu pomocí fontů OpenType — variant TrueType i PostScript — protože jejich základní enginy TeXu, XeTeX a LuaHBTeX, mají nativní (vestavěné) schopnosti zpracovávat technologie fontů OpenType, které pdfTeX nemá.

* **Poznámka**: LuaLaTeX, prostřednictvím svého základního enginu TeXu (LuaHBTeX), má ze všech enginů TeXu nejvyspělejší schopnosti práce s fonty; jejich rozbor však přesahuje rozsah tohoto článku — více informací najdete v oddílech 6 a 12 [Referenční příručka LuaTeXu](https://ctan.org/pkg/luatex?lang=en).

Chcete-li používat fonty OpenType s XeLaTeXem a LuaLaTeXem, musíte načíst [`fontspec`](https://ctan.org/pkg/fontspec?lang=en), výkonný a na funkce bohatý balíček, který poskytuje rozhraní k pokročilým sázecím možnostem fontů OpenType.

* **Poznámka**: Nemusíte používat `\usepackage[T1]{fontenc}` (nebo `\usepackage[utf8]{inputenc}`) při používání fontů OpenType s XeLaTeXem nebo LuaLaTeXem.

### Příklad: představení fontspec

Proces je jednoduchý, protože není vyžadována žádná instalace fontů — není potřeba `.tfm`, `enc` nebo `.map` soubory a psaní definic fontů (`.fd`) patří minulosti! Je to takto jednoduché:

1. Přidejte do preambule dokumentu následující řádek:

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

3. Vyberte ikonu pro nahrání souboru (![UploadIcon.png](/files/af9b0e9e7fec872789a7e63fe264ced82beb77b8)), která se nachází nad seznamem souborů.
4. Přetáhněte font/fonty do modálního okna pro nahrání nebo je vyberte z počítače a přidejte je do svého projektu na Overleafu.
5. Použijte jeden z `fontspec` accents `\set*xxx*font` příkazů ke konfiguraci a aktivaci fontu/fontů.

Vynikající `fontspec` dokumentace balíčku nabízí spoustu příkladů, které si můžete prozkoumat, proto zde zůstaneme u jednoduchého postupu, abychom vám pomohli začít. Předpokládejme například, že nahrajete soubor fontu s názvem `CrimsonText-Regular.ttf`; po načtení `fontspec` můžete nastavit hlavní textový font dokumentu zápisem

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

Můžete také použít zápis jako

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

Můžete také deklarovat novou rodinu fontů pro použití v libovolných situacích:

```latex
\newfontfamily{\crimson}{CrimsonText}
[Extension = .ttf, UprightFont = *-Regular, ...]
{\crimson Tento text používá font CrimsonText}
```

#### Zdroje

* Ta [`fontspec` dokumentace balíčku](http://mirrors.ctan.org/macros/unicodetex/latex/fontspec/fontspec.pdf) stojí za přečtení — nejenže poskytuje řadu užitečných příkladů, ale také obsahuje spoustu užitečných základních informací o fontech OpenType.
* Stránka nápovědy Overleafu o [XeLaTeX](/latex/cs/pisma/03-xelatex.md) obsahuje [podrobný příklad](/latex/cs/pisma/03-xelatex.md#using-fonts-not-installed-on-overleaf27s-servers-google-fonts-example) ukazující, jak stáhnout fonty OpenType od Googlu a nakonfigurovat je pomocí `fontspec`.

**Ukázkové projekty**

Overleaf Galley má ukázkové projekty, které předvádějí použití fontů OpenType s XeLaTeXem nebo LuaLaTeXem — můžete je otevřít a přepínat kompilátor mezi LuaLaTeXem a XeLaTeXem:

* [Použití fontů Google s XeLaTeXem](https://www.overleaf.com/latex/templates/using-google-fonts-with-xelatex/xxkpcgfttjvd)
* [Použití fontů STIX2 OpenType s LuaLaTeXem nebo XeLaTeXem](https://www.overleaf.com/latex/templates/using-the-stix2-opentype-fonts-with-lualatex-or-xelatex/hdfvhzqmhnpx)

Následující grafika kombinuje výstup vytvořený těmito projekty:

![Ukázkové projekty na Overleafu používající fonty OpenType](/files/2e1c84d461b6152ac8e750d2b3fd26f69e870d05)

## Základy fontů a kompilátorů LaTeXu

### Přípony souborů fontů

Níže uvedená tabulka uvádí přípony souborů používané k označení různých typů (formátů) souborů fontů:

|                                                                                                               |                    |
| ------------------------------------------------------------------------------------------------------------- | ------------------ |
| **Typ fontu**                                                                                                 | **Přípona**        |
| [PostScript Type 1](https://en.wikipedia.org/wiki/PostScript_fonts#Type_1)$$\displaystyle{}^{\mathbf\*}$$     | `.pfb`             |
| [TrueType](https://en.wikipedia.org/wiki/TrueType)                                                            | `.ttf`             |
| [Kolekce TrueType](https://learn.microsoft.com/en-us/typography/opentype/otspec150/otff#truetype-collections) | `.ttc`             |
| [OpenType](https://learn.microsoft.com/en-us/typography/opentype/)                                            | `.otf` nebo `.ttf` |

$$\displaystyle{}^{\mathbf\*}$$ V lednu 2023 všechny autorské aplikace společnosti Adobe [ukončily podporu staršího formátu fontů Type 1](https://helpx.adobe.com/uk/fonts/kb/postscript-type-1-fonts-end-of-support.html).

Fonty OpenType existují ve dvou „variantách“, často nazývaných „příchutě“: v příchuti PostScript a v příchuti TrueType; tato označení odrážejí data a mechanismy použité k reprezentaci tvarů znaků (glyfů), které obsahují. Proto mají fonty OpenType dvě přípony souborů: `.otf` nebo `.ttf` které podle *konvence*, znamenají:

* `*filename*.otf` je font OpenType v příchuti PostScript
* `*filename*.ttf` je font OpenType v příchuti TrueType

Například pdfTeX předpokládá, že přípona `.otf` označuje font OpenType v příchuti PostScript.

* **Poznámka**: `.ttc` přípona se používá pouze pro kolekce fontů TrueType.

### O příponě souboru .ttf

Vzhledem k souboru fontu s `.ttf` touto příponou může jít buď o:

* starší (ne-OpenType) font TrueType, nebo
* font OpenType obsahující data TrueType plus dodatečné funkce poskytované OpenTypem.

Určit, zda daný `.ttf` soubor fontu je OpenType nebo prostý TrueType, může být obtížné a vyžaduje, aby aplikace prozkoumaly/vyšetřily vnitřní datové struktury fontu. Další podrobnosti viz [tato diskuze (vlákno)](https://typedrawers.com/discussion/2945/determine-whether-a-font-file-is-opentype-format-or-truetype-format) nebo tento [článek Microsoftu](https://learn.microsoft.com/en-us/typography/opentype/#why-is-my-opentype-font-listed-as-a-truetype-font-by-my-application).

### Formáty fontů a kompilátory LaTeXu

Následující tabulka shrnuje (běžné) formáty fontů podporované třemi kompilátory LaTeXu (přesněji řečeno jejich základními enginy TeXu):

|                |                         |                                                         |                                                        |                                            |
| -------------- | ----------------------- | ------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------ |
| **Kompilátor** | **PostScript (Type 1)** | **TrueType (prostý**$$\displaystyle{}^{\mathbf†}$$**)** | **OpenType (TrueType)**$$\displaystyle{}^{\mathbf\*}$$ | **OpenType (PostScript)**                  |
| pdfLaTeX       | Ano                     | Ano                                                     | Omezená$$\displaystyle{}^{\mathbf{\*\*}}$$             | Omezená$$\displaystyle{}^{\mathbf{\*\*}}$$ |
| XeLaTeX        | Ano                     | Ano                                                     | Ano                                                    | Ano                                        |
| LuaLaTeX       | Ano                     | Ano                                                     | Ano                                                    | Ano                                        |

$$\displaystyle{}^{\mathbf†}$$Pod pojmem „prostý“ rozumíme font TrueType, který neobsahuje dodatečná data (tabulky) definovaná specifikací OpenType, a postrádá tak pokročilejší sázecí funkce fontů OpenType v příchuti TrueType.

$$\displaystyle{}^{\mathbf\*}$$pdfTeX poskytuje omezenou podporu pro [Kolekce TrueType](https://learn.microsoft.com/en-us/typography/opentype/otspec150/otff#truetype-collections) (přípona `.ttc`) — bude číst pouze data pro první font obsažený v kolekci.

$$\displaystyle{}^{\mathbf{\*\*}}$$„Omezená“ podpora OpenType v pdfTeXu znamená:

* nepodporuje pokročilé sázecí funkce obsažené ve fontech OpenType;
* bude vytvářet podmnožiny fontů OpenType v příchuti TrueType, nikoli však fontů OpenType v příchuti PostScript, které musí být vloženy celé. Absence vytváření podmnožin fontů vede k větším souborům PDF a vyvolává licenční problémy s komerčními fonty, které obvykle úplné vložení zakazují;
* nemůže využít více než 256 znaků na font, zatímco jednotlivé fonty OpenType podporují desítky tisíc;
* vyžaduje vytvoření metrik fontů TeXu a dalších doprovodných souborů (vyžadovaných LaTeXem) — postupy, které přesahují rozsah tohoto článku (viz [Další čtení](#further-reading) pro odkazy na popisy těchto postupů).

## Další čtení

* [Jak OpenType funguje](https://simoncozens.github.io/fonts-and-layout/opentype.html) (od Simona Cozense).
* [Zjistit, zda je soubor fontu formátu OpenType nebo TrueType](https://typedrawers.com/discussion/2945/determine-whether-a-font-file-is-opentype-format-or-truetype-format)—rozprava o obtížnosti určení, zda daný `.ttf` je prostý TrueType nebo OpenType v příchuti TrueType.
* [Podrobnější pohled na fonty TrueType a pdfTeX](https://tug.org/TUGboat/tb30-1/tb94thanh.pdf)—článek v TUGboat napsaný [Hàn Thế Thành](https://tug.org/interviews/thanh.html), tvůrcem [pdfTeX](https://www.tug.org/applications/pdftex/).
* [A Directory Structure for TeX Files](https://tug.org/tds/tds.html), standardní hierarchie složek/adresářů pro organizaci souborů souvisejících s TeXem.
* [Instalace a použití fontů OpenType v LaTeXu](https://www.tug.org/TUGboat/tb27-2/tb87owens.pdf)—článek v TUGboat vysvětlující, jak připravit fonty OpenType pro použití s pdfTeXem.
* [Jak používat fonty TrueType s PdfTeXem pomocí otftotfm?](https://tex.stackexchange.com/questions/52819/how-do-i-use-truetype-fonts-with-pdftex-using-otftotfm/52902#52902)—vlákno na tex.stackexchange obsahující podrobný příklad.

### Poznámka k „fontovým válkám“...

V 80. a 90. letech probíhaly takzvané „fontové války“, kdy dva konkurenční formáty fontů, PostScript Type 1 (od Adobe) a TrueType (vytvořený společností Apple, licencovaný společnosti Microsoft), bojovaly o nadvládu — o získání srdcí a myslí všech uživatelů, zejména designérů a typografů. Nakonec se [formát fontů OpenType](https://learn.microsoft.com/en-us/typography/opentype) objevil (v roce 1997) jako hybridní řešení, které zahrnovalo a rozšiřovalo fontové technologie Adobe i Apple. OpenType staví na původním formátu souborů TrueType, aby umožnil pokročilé sázecí možnosti a lepší podporu Unicode prostřednictvím fontů obsahujících více než 65 000 tvarů znaků (glyfů).


---

# 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/cs/otazky-a-odpovedi/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.
