> 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/uk/shrifti/03-xelatex.md).

# Підтримка сучасних шрифтів з XƎLaTeX

## Вступ

[XeTeX](https://tug.org/xetex/) є механізмом верстки, що походить від оригінального ПЗ TeX Дональда Кнута. Однак, на відміну від оригінальної програми Кнута, XeTeX нативно читає (як вхідні дані) текст Unicode, кодуваний UTF-8, і за допомогою вбудованого [HarfBuzz](https://harfbuzz.github.io/) механізму розстановки гліфів, підтримує сучасні формати шрифтів, такі як [OpenType (OTF)](https://docs.microsoft.com/en-us/typography/opentype/) та [технологія шрифтів SIL Graphite](https://scripts.sil.org/cms/scripts/page.php?site_id=projects\&item_id=graphite_home). Відповідний LaTeX [компілятор](/latex/uk/inshi-temi/08-choosing-a-latex-compiler.md) на Overleaf називається `xelatex`. Усім, хто хоче краще зрозуміти еволюцію різних рушіїв TeX, може бути цікаво прочитати статтю Overleaf [Що в імені: посібник із численних різновидів TeX](/latex/uk/dokladni-statti/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md).

## Основи: Times New Roman

Times New Roman — це часто використовуваний шрифт, і ось приклад його використання на Overleaf через компілятор XeLaTeX. У цьому прикладі шрифт документа встановлюється за допомогою `\usemainfont{Times New Roman}`, де команда `\usemainfont{...}` надається пакетом `fontspec`.

```latex
\documentclass[12pt]{article}
\usepackage{fontspec}

\setmainfont{Times New Roman}
\title{Sample font document}
\author{Overleaf}
\date{\today}

\begin{document}
\maketitle

Це \textit{приклад} документа, скомпільованого
за допомогою \textbf{XeLaTeX}. Також має працювати й LuaLaTeX.

\end{document}
```

[Відкритий приклад Times New Roman із використанням XeLaTeX в Overleaf](https://www.overleaf.com/docs?engine=xelatex\&snip_name=Times+New+Roman+%28via+XeLaTeX%29\&snip=%5Cdocumentclass%5B12pt%5D%7Barticle%7D%0A%5Cusepackage%7Bfontspec%7D%0A+%0A%5Csetmainfont%7BTimes+New+Roman%7D%0A%5Ctitle%7BSample+font+document%7D%0A%5Cauthor%7BOverleaf%7D%0A%5Cdate%7B%5Ctoday%7D%0A+++%0A%5Cbegin%7Bdocument%7D%0A%5Cmaketitle%0A+++++%0AThis+is+an+%5Ctextit%7Bexample%7D+of+a+document+compiled+%0Awith+%5Ctextbf%7BXeLaTeX%7D.+LuaLaTeX+should+also+work+too.%0A%0A%5Cend%7Bdocument%7D)

Цей приклад дає такий результат:

![XeLaTeXOverleaf.png](/files/36e2b16bff594d462f80f98cee5b635af180462a)

Ви також можете [використати LuaLaTeX, щоб запустити той самий код](https://www.overleaf.com/docs?engine=lualatex\&snip_name=Times+New+Roman+%28via+LuaLaTeX%29\&snip=%5Cdocumentclass%5B12pt%5D%7Barticle%7D%0A%5Cusepackage%7Bfontspec%7D%0A+%0A%5Csetmainfont%7BTimes+New+Roman%7D%0A%5Ctitle%7BSample+font+document%7D%0A%5Cauthor%7BOverleaf%7D%0A%5Cdate%7B%5Ctoday%7D%0A+++%0A%5Cbegin%7Bdocument%7D%0A%5Cmaketitle%0A+++++%0AThis+is+an+%5Ctextit%7Bexample%7D+of+a+document+compiled+%0Awith+%5Ctextbf%7BLuaLaTeX%7D.%0A%0A%5Cend%7Bdocument%7D) .

## Налаштування шрифтів для різних елементів LaTeX

Різні елементи документа LaTeX форматуються різними шрифтами; наприклад, у `verbatim` середовищі текст відображається шрифтом машинописного стилю. Для кожного контексту можна задати різні стилі шрифтів:

```latex
\documentclass[12pt]{article}
\usepackage{fontspec}

%-----------------------------------------------------------------------
\setmainfont{Times New Roman}
\setsansfont{Arial}
\setmonofont[Color={0019D4}]{Courier New}
%-----------------------------------------------------------------------

\title{Sample font document}
\author{Overleaf}
\date{\today}
\begin{document}

\maketitle

Це \textit{приклад} документа, скомпільованого за допомогою
\textbf{XeLaTeX}. Якщо вам потрібно написати якийсь код, ви можете
використати середовище \texttt{verbatim}:

    \begin{verbatim}
    Зазвичай це середовище використовується для відображення коду,
    тож ось проста програма мовою C.

    #include <stdio.h>
    #define NUMYAYS 10

    int main()
    {
        int i;
        for (i = 0; i <= NUMYAYS; i++)
        {
            printf("Yay! Overleaf is Awesome!\n");
        }
        return 0;
    }
    \end{verbatim}
    {\sffamily Це зразок тексту в \textbf{гарнітурі без зарубок}}

\end{document}
```

[Щоб побачити результат, відкрийте цей приклад XeLaTeX на Overleaf](https://www.overleaf.com/docs?engine=xelatex\&snip_name=Document+formatted+with+different+fonts\&snip=%5Cdocumentclass%5B12pt%5D%7Barticle%7D%0A%5Cusepackage%7Bfontspec%7D%0A%0A%25-----------------------------------------------------------------------%0A%5Csetmainfont%7BTimes+New+Roman%7D%0A%5Csetsansfont%7BArial%7D%0A%5Csetmonofont%5BColor%3D%7B0019D4%7D%5D%7BCourier+New%7D%0A%25-----------------------------------------------------------------------%0A%0A%5Ctitle%7BSample+font+document%7D%0A%5Cauthor%7BOverleaf%7D%0A%5Cdate%7B%5Ctoday%7D%0A%5Cbegin%7Bdocument%7D%0A++++%0A%5Cmaketitle%0A+++++%0AThis+an+%5Ctextit%7Bexample%7D+of+document+compiled+with+the++%0A%5Ctextbf%7BXeLaTeX%7D+compiler.+If+you+have+to+write+some+code+you+can+%0Ause+the+%5Ctexttt%7Bverbatim%7D+environment%3A%0A%0A++++%5Cbegin%7Bverbatim%7D%0A++++Usually+this+environment+is+used+to+display+code%2C+%0A++++so+here%27s+a+simple+C+program.%0A%0A++++%23include+%3Cstdio.h%3E%0A++++%23define+NUMYAYS+10%0A++++++%0A++++int+main%28%29%0A++++%7B%0A++++++++int+i%3B+++%0A++++++++for+%28i+%3D+0%3B+i+%3C%3D+NUMYAYS%3B+i%2B%2B%29+%0A++++++++%7B%0A++++++++++++printf%28%22Yay%21+Overleaf+is+Awesome%21%5Cn%22%29%3B%0A++++++++%7D%0A++++++++return+0%3B%0A++++%7D%0A++++%5Cend%7Bverbatim%7D%0A++++%7B%5Csffamily+This+is+a+sample+text+in+%5Ctextbf%7BSans+Serif+Font+Typeface%7D%7D%0A+++++++%0A%5Cend%7Bdocument%7D)

У попередньому прикладі використовуються три різні шрифти, а наступні рядки визначають елементи, які використовуватимуть ці шрифти:

**\setmainfont{Times New Roman}**

Це звичайний шрифт, який використовується в більшій частині документа, у прикладі — Times New Roman.

**\setsansfont{Arial}**

Елементи, які потребують шрифту без зарубок, явно оголошені за допомогою \ssfamily у прикладі, будуть набрані шрифтом Arial.

**\setmonofont{Courier New}**

Усе, що має бути відформатоване моноширинним (подібним до машинописного) шрифтом, використовуватиме шрифт Courier New. У цій команді є додатковий необов’язковий параметр у фігурних дужках:

**Color={0019D4}**

Це задає колір тексту, використовуючи значення Color= у шістнадцятковому HTML-форматі. Вибіркове й обережне використання кольору тексту може бути корисним під час підготовки презентації.

## Шрифти в Overleaf

Є [велика кількість шрифтів, встановлених в Overleaf](/latex/uk/zapitannya-ta-vidpovidi/85-which-otf-or-ttf-fonts-are-supported-via-fontspec.md) які ви можете використовувати у своєму проєкті, найпростіше — через `fontspec`. Наведені нижче приклади показують використання шрифтів, вбудованих у сервери Overleaf, таких як Google Noto, разом зі шрифтами, які вам потрібно завантажити з [Google Fonts](https://fonts.google.com/).

### Шрифти, встановлені на серверах Overleaf: шрифти Google Noto

Оскільки [TeX Live](https://www.tug.org/texlive/)— який використовується Overleaf, — містить [шрифти Google Noto](https://www.google.com/get/noto/) ви можете використовувати їх через `fontspec` пакет, у проєктах Overleaf, скомпільованих за допомогою компіляторів XeLaTeX або LuaLaTeX. Ось приклад проєкту, який використовує [`noto` accents](https://ctan.org/pkg/noto?lang=en) для налаштування документа для верстки з сімействами шрифтів NotoSerif, NotoSans і NotoSansMono. Документацію щодо `noto` пакета можна знайти у його [файлі readme на CTAN](http://mirrors.ctan.org/fonts/noto/README).

```latex
\documentclass{article}
\usepackage{xcolor}
\usepackage{noto}
\usepackage{hyperref}
\title{Using Google Noto fonts}
\author{Overleaf}
\date{April 2021}

\begin{document}

\maketitle

\section{Вступ}
Цей приклад проєкту використовує пакет \href{https://ctan.org/pkg/noto?lang=en}{\color{blue}\texttt{noto}} для верстки вашого документа за допомогою шрифтів Noto від Google\footnote{\url{https://www.google.com/get/noto/}}:
\begin{itemize}
\item \verb|\textbf{bold}| створює \textbf{bold}
\item \verb|\textit{italic}| створює \textit{italic}
\item \verb|\textbf{\textit{bold italic}}| створює \textbf{\textit{bold italic}}
\item \verb|\emph{emphasis}| створює \emph{emphasis}
\item \verb|\textbf{\emph{bold italic}}| створює \textbf{\emph{bold italic}}
\end{itemize}

\subsection{Моноширинні шрифти}
Ви можете використовувати моноширинні шрифти Noto для моноширинного тексту \texttt{regular} і \texttt{\textbf{bold}}.

\subsection{Шрифти без зарубок}
Ось деякий \textsf{текст набрано шрифтом без зарубок} разом із \textbf{\textsf{текст набрано жирним шрифтом без зарубок}}.

\section{Додаткове читання}
Документацію для пакета \texttt{noto} можна знайти у його \href{http://mirrors.ctan.org/fonts/noto/README}{\color{blue}\texttt{readme} файлі на CTAN}.

\end{document}
```

[Відкрийте цей приклад XeLaTeX на Overleaf, щоб дослідити шрифти Noto](https://www.overleaf.com/docs?engine=xelatex\&snip_name=Using+Google+Noto+fonts\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bxcolor%7D%0A%5Cusepackage%7Bnoto%7D%0A%5Cusepackage%7Bhyperref%7D%0A%5Ctitle%7BUsing+Google+Noto+fonts%7D%0A%5Cauthor%7BOverleaf%7D%0A%5Cdate%7BApril+2021%7D%0A%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cmaketitle%0A%0A%5Csection%7BIntroduction%7D%0AThis+example+project+uses+the+%5Chref%7Bhttps%3A%2F%2Fctan.org%2Fpkg%2Fnoto%3Flang%3Den%7D%7B%5Ccolor%7Bblue%7D%5Ctexttt%7Bnoto%7D%7D+package+to+typeset+your+document+using+Google%27s+Noto+fonts%5Cfootnote%7B%5Curl%7Bhttps%3A%2F%2Fwww.google.com%2Fget%2Fnoto%2F%7D%7D%3A%0A%5Cbegin%7Bitemize%7D%0A%5Citem+%5Cverb%7C%5Ctextbf%7Bbold%7D%7C+produces+%5Ctextbf%7Bbold%7D%0A%5Citem+%5Cverb%7C%5Ctextit%7Bitalic%7D%7C+produces+%5Ctextit%7Bitalic%7D%0A%5Citem+%5Cverb%7C%5Ctextbf%7B%5Ctextit%7Bbold+italic%7D%7D%7C+produces+%5Ctextbf%7B%5Ctextit%7Bbold+italic%7D%7D%0A%5Citem+%5Cverb%7C%5Cemph%7Bemphasis%7D%7C+produces+%5Cemph%7Bemphasis%7D%0A%5Citem+%5Cverb%7C%5Ctextbf%7B%5Cemph%7Bbold+italic%7D%7D%7C+produces+%5Ctextbf%7B%5Cemph%7Bbold+italic%7D%7D%0A%5Cend%7Bitemize%7D%0A%0A%5Csubsection%7BMonospaced+fonts%7D%0AYou+can+use+Noto%27s+monospaced+fonts+for+%5Ctexttt%7Bregular%7D+and+%5Ctexttt%7B%5Ctextbf%7Bbold%7D%7D+monospaced+text.%0A%0A%5Csubsection%7BSans+serif+fonts%7D%0AHere+is+some+%5Ctextsf%7Btext+is+typeset+in+a+sans+serif+font%7D+together+with+%5Ctextbf%7B%5Ctextsf%7Btext+typeset+in+bold+sans+serif%7D%7D.%0A%0A%5Csection%7BFurther+reading%7D%0ADocumentation+for+the+%5Ctexttt%7Bnoto%7D+package+can+be+found+in+its+%5Chref%7Bhttp%3A%2F%2Fmirrors.ctan.org%2Ffonts%2Fnoto%2FREADME%7D%7B%5Ccolor%7Bblue%7D%5Ctexttt%7Breadme%7D+file+on+CTAN%7D.%0A%0A%5Cend%7Bdocument%7D)

![Використання шрифтів Google Noto для верстки документа LaTeX](/files/12808a9867061528df798d51e0caa51346d4e43c)

### Використання шрифтів, не встановлених на серверах Overleaf: приклад Google Fonts

Щоб використовувати шрифти OpenType, які не встановлені на серверах Overleaf, спочатку потрібно завантажити файли шрифтів у ваш проєкт Overleaf — за умови, що ліцензії на шрифти це дозволяють. Після завантаження шрифтів OpenType встановіть для компілятора проєкту XƎLaTeX (або LuaLaTeX) і використовуйте `fontspec` щоб налаштувати ваші шрифти.

Наведений нижче приклад проєкту показує, як створювати папки, завантажувати шрифти та налаштовувати їх за допомогою `fontspec`. Для нашого прикладу ми використаємо такий добір шрифтів із [Google Fonts](https://fonts.google.com/):

* Шрифт із зарубками: [Brygada1918](https://fonts.google.com/specimen/Brygada+1918)
* Шрифт без зарубок: [Asap](https://fonts.google.com/specimen/Asap)
* Моноширинний шрифт: [JetBrains Mono](https://fonts.google.com/specimen/JetBrains+Mono)

Примітка: Ми не стверджуємо, що цей приклад пропонує типографічно гармонійне поєднання шрифтових стилів; він лише показує, як завантажувати, налаштовувати та використовувати шрифти на ваш вибір.

Для кожної гарнітури вам потрібно завантажити сімейство шрифтів із Google Fonts:

![GoogleDownload.png](/files/ba82db856603daee1b66f444fa8b431a5375e686)

Примітка: Деякі шрифти Google доступні як "статичні" шрифти OpenType та так звані "змінні" шрифти OpenType. Якщо завантажений ZIP-файл має папку під назвою "static", слід завантажити шрифти саме з цієї папки, а не версії зі змінним шрифтом:

![OpenTypeStatic.png](/files/3912a64dea29ea1c7fd9e25d51f6ab0e3d76e36a)

Далі вам потрібно завантажити файли шрифтів у ваш проєкт, але оскільки сімейства шрифтів містять кілька файлів шрифтів, ви можете створити окремі папки проєкту Overleaf для їх зберігання — по одній папці на кожне сімейство шрифтів. Наступне відео показує, як це зробити. Пізніше нам потрібно буде вказати XƎLaTeX, де знайти шрифти вашого проєкту, — оскільки вони не встановлені наперед на серверах Overleaf.

{% embed url="<https://videos.ctfassets.net/nrgyaltdicpt/4lQFkZ1Ni1FHFdHJUJSNH4/4aee7c5bafeb021a6f21b4637d0fe6ec/UploadingGoogleFonts.mp4>" %}

### Налаштування fontspec для використання шрифтів

Після завантаження файлів сімейств шрифтів у папки проєкту Overleaf ми можемо налаштувати їх для використання через `fontspec`. У наступному коді LaTeX зверніть увагу, як ми використали `Path` параметр `fontspec` щоб повідомити

```latex
\setmainfont{Brygada1918}[
    Path=./BrygadaFontFiles/,
    Extension = .ttf,
    UprightFont=*-Regular,
    BoldFont=*-Bold,
    ItalicFont=*-Italic,
    BoldItalicFont=*-BoldItalic
    ]

\setsansfont{Asap}[
    Path=./AsapFontFiles/,
    Scale=0.9,
    Extension = .ttf,
    UprightFont=*-Regular,
    BoldFont=*-Bold,
    ItalicFont=*-Italic,
    BoldItalicFont=*-BoldItalic
    ]

\setmonofont{JetBrainsMono}[
    Path=./JetbrainsFontFiles/,
    Scale=0.85,
    Extension = .ttf,
    UprightFont=*-Regular,
    BoldFont=*-Bold,
    ItalicFont=*-Italic,
    BoldItalicFont=*-BoldItalic
    ]
```

![FontSpecPathUpdated.png](/files/761f42024ae9525249048b460cd72c5c8034353a)

[Відкрити демонстрацію XeLaTeX і Google Fonts на Overleaf](https://www.overleaf.com/project/new/template/31226?id=835225587\&templateName=XeLaTeX+font+demo+with+Google+Fonts\&latexEngine=xelatex\&texImage=texlive-full%3A2022.1\&mainFile=)

Функція [`fontspec` accents](https://ctan.org/pkg/fontspec?lang=en) надає безліч можливостей для налаштування шрифтів OpenType для використання з LuaLaTeX або XƎLaTeX — його [чудова документація](http://mirrors.ctan.org/macros/unicodetex/latex/fontspec/fontspec.pdf) містить численні приклади, які ви можете досліджувати, щоб точно налаштувати оформлення й верстку ваших документів.

## Додаткове читання

Докладніше див.:

* [Жирний, курсив і підкреслення](/latex/uk/osnovi-latex/03-bold-italics-and-underlining.md)
* [Розміри, гарнітури та стилі шрифтів](/latex/uk/shrifti/01-font-sizes-families-and-styles.md)
* [Гарнітури шрифтів](/latex/uk/shrifti/02-font-typefaces.md)
* [Форматування абзаців](/latex/uk/formatuvannya/04-articles-how-to-change-paragraph-spacing-in-latex.md)
* [Перенесення рядків і порожні пробіли](/latex/uk/formatuvannya/05-line-breaks-and-blank-spaces.md)
* [Вирівнювання тексту](/latex/uk/formatuvannya/06-text-alignment.md)
* [Кілька колонок](/latex/uk/formatuvannya/09-multiple-columns.md)
* [Керування у великому проєкті](/latex/uk/struktura-dokumenta/07-management-in-a-large-project.md)
* [Багатофайлові проєкти LaTeX](/latex/uk/struktura-dokumenta/08-multi-file-latex-projects.md)
* [Підтримка міжнародних мов](/latex/uk/movi/03-international-language-support.md)
* [Вибір компілятора LaTeX](/latex/uk/inshi-temi/08-choosing-a-latex-compiler.md)
* [Список шрифтів OTF і TTF, установлених в Overleaf](/latex/uk/zapitannya-ta-vidpovidi/85-which-otf-or-ttf-fonts-are-supported-via-fontspec.md)
* [колекція шрифтів Google](http://www.google.com/fonts/)
* [`fontspec` посібник із пакета](http://tug.ctan.org/tex-archive/macros/latex/contrib/fontspec/fontspec.pdf)


---

# 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/uk/shrifti/03-xelatex.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.
