> 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/overleaf-learn-latex-pt/perguntas-e-respostas/58-i-have-a-custom-font-i-d-like-to-load-to-my-document.-how-can-i-do-this.md).

# Tenho um tipo de letra personalizado que gostaria de carregar no meu documento. Como posso fazer isto?

## Introdução

Este artigo mostra como instalar tipos de letra personalizados para compor o texto do seu documento — não aborda tipos de letra para compor matemática. Por “tipo de letra personalizado”, entendemos um que não esteja disponível nos servidores do Overleaf, incluindo tipos de letra comerciais que exigem licença ou tipos de letra de uso gratuito que não sejam distribuídos com o TeX Live ou incluídos na nossa instalação Linux.

* **Nota**: Este artigo aborda tecnologias de tipos de letra convencionais, mas não discute soluções especializadas baseadas em TeX, tais como [Metafont](https://en.wikipedia.org/wiki/Metafont) e [tipos de letra virtuais](https://texfaq.org/FAQ-virtualfonts).

## Por onde começo?

As soluções de composição tipográfica baseadas em LaTeX operam no contexto do legado. Ao longo de mais de quatro décadas, o desenvolvimento dos compiladores LaTeX e dos formatos de tipos de letra produziu um ecossistema que combina tecnologias antigas e novas. Como resultado, o processo real de instalar e configurar tipos de letra personalizados para uso com LaTeX depende destes dois fatores:

1. O tipo (formato) de qualquer tipo de letra que pretenda instalar:

* legado [PostScript Type 1](https://en.wikipedia.org/wiki/PostScript_fonts#Type_1) ou [TrueType](https://en.wikipedia.org/wiki/TrueType) tipos de letra, ou
* moderno [OpenType](https://en.wikipedia.org/wiki/OpenType) tipos de letra.

3. Qual compilador LaTeX é usado para compilar o(s) seu(s) projeto(s) Overleaf:
   * pdfLaTeX, ou
   * XeLaTeX ou LuaLaTeX

Vá para a secção que cobre o compilador da sua preferência:

* [Usar tipos de letra personalizados com pdfLaTeX](#using-custom-fonts-with-pdflatex)
* [Usar tipos de letra personalizados com XeLaTeX e LuaLaTeX](#using-custom-fonts-with-xelatex-and-lualatex)

## Usar tipos de letra personalizados com pdfLaTeX

Aqui está um resumo do que terá de fazer — dependendo da complexidade da sua configuração de tipos de letra personalizados:

1. Para cada ficheiro de tipo de letra (`.ttf`, `.otf` ou `.pfb`), terá de ter (ou gerar!) uma métrica de fonte TeX adequada (`.tfm`) e, talvez, um ficheiro de codificação (`.enc`).
2. ). O pdfLaTeX tem de saber como incorporar os tipos de letra do documento no ficheiro PDF final. Para isso, lê um ficheiro de mapa de fontes (`pdftex.map`), que terá de atualizar com detalhes do seu tipo de letra personalizado. No Overleaf, faz isso usando um destes comandos:

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

4. Vai precisar de um ficheiro de descrição de fonte (`.fd`) que diga ao LaTeX como usar os novos ficheiros de tipos de letra.

Estes são os principais tipos de ficheiro de que irá precisar:

* **`.tfm`** (métrica de fonte TeX): estes ficheiros binários compactos não contêm quaisquer dados que descrevam o aspeto visual das formas dos caracteres, apenas dimensões dos caracteres e “metadados” da fonte que os motores TeX podem usar para executar as suas tarefas essenciais de composição tipográfica. As métricas de fonte TeX para tipos de letra matemáticos contêm dados adicionais não necessários para tipos de letra apenas de texto; em particular, têm vários parâmetros de “espaçamento” usados para compor matemática.
* **`.fd`** (descrição de fonte): estes ficheiros contêm comandos LaTeX necessários para configurar e preparar o seu tipo de letra para uso com LaTeX. Os comandos permitidos dentro de `.fd` ficheiros, e a `.fd` convenção de nomes de ficheiros, são descritos no documento [Seleção de fontes LaTeX2ε](https://texdoc.org/serve/fntguide/1).
* **`.map`** (mapa de fontes): os ficheiros de mapa associam o nome dos ficheiros de métricas de fontes TeX com o ficheiro de tipo de letra físico que contém os dados necessários para desenhar as formas dos caracteres (glifos). Cada tipo de letra conhecido pelo pdfTeX é descrito numa única linha do ficheiro de mapa, usando uma sintaxe bem definida. Para detalhes completos, consulte a Secção 5 do [Manual do utilizador do pdfTeX](http://mirrors.ctan.org/systems/doc/pdftex/manual/pdftex-a.pdf).
* **`.enc`** (codificação): se necessário, este tipo de ficheiro define o mapeamento entre os códigos de caracteres no seu texto LaTeX e as formas dos caracteres correspondentes (glifos) contidas no ficheiro de tipo de letra.

### Exemplo de tipo de letra TrueType personalizado

A Galeria do Overleaf contém um projeto que [demonstra a instalação de um tipo de letra TrueType personalizado](https://www.overleaf.com/latex/examples/example-using-a-custom-truetype-font/yndxyzgbhpjv)—um tipo de letra PostScript Type 1 usaria uma configuração semelhante. Compila com pdfLaTeX, XeLaTeX e LuaLaTeX e produz o seguinte resultado:

![Imagem mostrando composição tipográfica do Overleaf usando um tipo de letra personalizado](/files/12ece872166c6f2a11d2e1daa2001bc6c4cc9020)

#### Notas sobre o projeto de exemplo

* Usa o seguinte `\pdfmapline` comando:

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

que associa um ficheiro de métrica de fonte TeX chamado `delphine` ao ficheiro de tipo de letra físico chamado `Delphine.ttf`.

* O primeiro `<` carácter instrui o pdfTeX a subdividir o tipo de letra TrueType; ou seja, a *parcialmente* incorporar este tipo de letra no ficheiro PDF final. A subdivisão de um tipo de letra produz ficheiros PDF menores porque estes contêm apenas os dados das formas dos caracteres necessários para exibir os caracteres presentes no documento.
* O segundo `<` carácter precede o nome de um ficheiro de vetor de codificação, `T1-WGL4.enc`, usado para mapear os códigos de caracteres no seu texto para dados das formas dos caracteres (glifos) dentro do ficheiro de tipo de letra — os dados das formas dos caracteres são necessários para renderizar (desenhar) o carácter.
* O LuaLaTeX requer uma etapa de configuração adicional porque `\pdfmapline` gera um **Sequência de controlo indefinida** erro devido a alterações no tratamento que o LuaTeX faz de certos comandos de backend — a Secção 3 do [Manual de Referência do LuaTeX](http://mirrors.ctan.org/systems/doc/luatex/luatex.pdf). O `\ifLuaTeX` comando, disponibilizado pelo `iftex` pacote é usado para testar o LuaTeX; se for detetado, `\pdfmapline` é definida:

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

### Usar vários tipos de letra ou tipos de letra comerciais

Para gerir ficheiros fornecidos por fornecedores comerciais de tipos de letra e coleções de tipos de letra de uso gratuito, pode criar pastas no seu projeto Overleaf para organizar os ficheiros de tipos de letra de acordo com o respetivo tipo (`.tfm`, `.pfb`, `.ttf` etc.). Um bom modelo para nomear e organizar as suas pastas é a [Estrutura de Diretórios do TeX (TDS)](https://www.tug.org/tds/tds.pdf), que foi concebida como um “guia” de boas práticas para gerir uma coleção de ficheiros relacionados com TeX.

Com as pastas do projeto criadas, precisa agora de criar um chamado [`latexmcrc` editável](/latex/overleaf-learn-latex-pt/artigos-aprofundados/28-how-to-use-latexmkrc-with-overleaf.md) que contenha instruções a dizer ao compilador LaTeX para procurar ficheiros nessas pastas. Por predefinição, os compiladores não sabem que essas pastas existem e não encontrarão os ficheiros que elas contêm.

#### Exemplo de projeto Overleaf

O exemplo da Galeria do Overleaf [Usar Pastas para Gerir Ficheiros de Tipos de Letra Personalizados](https://www.overleaf.com/latex/templates/example-using-folders-to-manage-custom-font-files/qvqgnpjxvqzd) usa pastas e um `latexmkrc` ficheiro para instalar um tipo de letra TrueType personalizado. Contém uma estrutura de pastas mostrada nesta imagem:

![Organizar pastas de projeto no Overleaf](/files/8b69ed97ef33c81d8513f02d681c5b86e4090e0c)

uma `latexmkrc` ficheiro contendo as seguintes linhas, que definem variáveis de ambiente em tempo de execução [variáveis de ambiente](https://en.wikipedia.org/wiki/Environment_variable) a dizer ao compilador LaTeX para procurar ficheiros nas pastas do nosso projeto:

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

Se estiver a perguntar-se que ficheiros costumam ir para que pasta, dê uma vista de olhos em [este artigo](/latex/overleaf-learn-latex-pt/artigos-aprofundados/06-an-introduction-to-kpathsea-and-how-tex-engines-search-for-files.md#table-listing-kpathsea-config-variables).

## Usar tipos de letra personalizados com XeLaTeX e LuaLaTeX

### Usar tipos de letra PostScript Type 1

Para usar tipos de letra PostScript Type 1 legados com XeLaTeX e LuaLaTeX, pode seguir as [orientações para pdfLaTeX](#using-custom-fonts-with-pdflatex), por isso não repetiremos esses detalhes aqui.

### Usar tipos de letra OpenType

O XeLaTeX e o LuaLaTeX fornecem suporte extensivo para composição tipográfica avançada usando tipos de letra OpenType — variedades TrueType e PostScript — porque os seus motores TeX subjacentes, XeTeX e LuaHBTeX, têm capacidades nativas (integradas) para processar tecnologias de tipos de letra OpenType, algo que o pdfTeX não tem.

* **Nota**: O LuaLaTeX, através do seu motor TeX subjacente (LuaHBTeX), tem as capacidades mais sofisticadas de gestão de tipos de letra entre todos os motores TeX; no entanto, discutir estas capacidades está fora do âmbito deste artigo — para mais informações, consulte as secções 6 e 12 do [Manual de Referência do LuaTeX](https://ctan.org/pkg/luatex?lang=en).

Para usar tipos de letra OpenType com XeLaTeX e LuaLaTeX, precisa de carregar [`fontspec`](https://ctan.org/pkg/fontspec?lang=en), um pacote poderoso e rico em funcionalidades que fornece uma interface para as capacidades avançadas de composição tipográfica dos tipos de letra OpenType.

* **Nota**: Não precisa de usar `\usepackage[T1]{fontenc}` (ou `\usepackage[utf8]{inputenc}`) quando usar tipos de letra OpenType com XeLaTeX ou LuaLaTeX.

### Exemplo: introduzindo fontspec

O processo é simples porque não é necessária instalação de tipos de letra — não há necessidade de `.tfm`, `enc` ou `.map` ficheiros e escrever definições de tipos de letra (`.fd`) ficou para a história! É tão simples como isto:

1. Adicione a seguinte linha ao preâmbulo do seu documento:

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

3. Selecione o ícone de carregamento de ficheiros (![UploadIcon.png](/files/c9bc063cfdf23f0794f721b1a4c408a29b473339)), localizado acima da lista de ficheiros.
4. Arraste e largue o(s) tipo(s) de letra no modal de carregamento, ou selecione-os no seu computador, para adicionar o(s) tipo(s) de letra ao seu projeto Overleaf.
5. Use um dos `fontspec` pacote `\set*xxx*font` comandos para configurar e ativar o(s) tipo(s) de letra.

A excelente `fontspec` documentação do pacote fornece uma grande quantidade de exemplos que pode explorar, por isso, aqui, manter-nos-emos simples para o ajudar a começar. Por exemplo, suponha que carrega um ficheiro de tipo de letra chamado `CrimsonText-Regular.ttf`; depois de carregar `fontspec` pode definir o tipo de letra principal do texto do documento escrevendo

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

Também pode escrever sintaxe como

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

Também pode declarar uma nova família de tipos de letra para usar em situações arbitrárias:

```latex
\newfontfamily{\crimson}{CrimsonText}
[Extension = .ttf, UprightFont = *-Regular, ...]
{\crimson Este texto usa o tipo de letra CrimsonText}
```

#### Recursos

* O [`fontspec` documentação do pacote](http://mirrors.ctan.org/macros/unicodetex/latex/fontspec/fontspec.pdf) é leitura obrigatória — não só fornece inúmeros exemplos úteis, como também contém muita informação de contexto útil sobre tipos de letra OpenType.
* A página de ajuda do Overleaf sobre [XeLaTeX](/latex/overleaf-learn-latex-pt/fontes/03-xelatex.md) contém um [exemplo detalhado](/latex/overleaf-learn-latex-pt/fontes/03-xelatex.md#using-fonts-not-installed-on-overleaf27s-servers-google-fonts-example) a mostrar como descarregar tipos de letra OpenType do Google e configurá-los com `fontspec`.

**Projetos de exemplo**

A Galeria do Overleaf tem projetos de exemplo que demonstram o uso de tipos de letra OpenType com XeLaTeX ou LuaLaTeX — pode abrir estes projetos e alternar o compilador entre LuaLaTeX e XeLaTeX:

* [Usar tipos de letra Google com XeLaTeX](https://www.overleaf.com/latex/templates/using-google-fonts-with-xelatex/xxkpcgfttjvd)
* [Usar os tipos de letra OpenType STIX2 com LuaLaTeX ou XeLaTeX](https://www.overleaf.com/latex/templates/using-the-stix2-opentype-fonts-with-lualatex-or-xelatex/hdfvhzqmhnpx)

O gráfico seguinte combina o resultado produzido por estes projetos:

![Projetos de exemplo do Overleaf usando tipos de letra OpenType](/files/e258a872e1a6c54f313353c5f60657616c4ca61a)

## Noções básicas de tipos de letra e compiladores LaTeX

### Extensões de ficheiros de tipos de letra

A tabela abaixo lista extensões de ficheiros usadas para indicar diferentes tipos (formatos) de ficheiros de tipos de letra:

|                                                                                                                |                  |
| -------------------------------------------------------------------------------------------------------------- | ---------------- |
| **Tipo de letra**                                                                                              | **Extensão**     |
| [PostScript Type 1](https://en.wikipedia.org/wiki/PostScript_fonts#Type_1)$$\displaystyle{}^{\mathbf\*}$$      | `.pfb`           |
| [TrueType](https://en.wikipedia.org/wiki/TrueType)                                                             | `.ttf`           |
| [Coleções TrueType](https://learn.microsoft.com/en-us/typography/opentype/otspec150/otff#truetype-collections) | `.ttc`           |
| [OpenType](https://learn.microsoft.com/en-us/typography/opentype/)                                             | `.otf` ou `.ttf` |

$$\displaystyle{}^{\mathbf\*}$$ Em janeiro de 2023, todas as aplicações de autoria da Adobe [deixaram de suportar o formato de tipo de letra Type 1 legado](https://helpx.adobe.com/uk/fonts/kb/postscript-type-1-fonts-end-of-support.html).

Os tipos de letra OpenType existem em duas “variedades”, muitas vezes chamadas “sabores”: sabor PostScript e sabor TrueType, nomes que refletem os dados e os mecanismos usados para representar as formas dos caracteres (glifos) que contêm. É por isso que os tipos de letra OpenType têm duas extensões de ficheiro: `.otf` ou `.ttf` que, por *convenção*, implicam:

* `*filename*.otf` é um tipo de letra OpenType de sabor PostScript
* `*filename*.ttf` é um tipo de letra OpenType de sabor TrueType

Por exemplo, o pdfTeX assume que a extensão `.otf` indica um tipo de letra OpenType de sabor PostScript.

* **Nota**: o `.ttc` a extensão é usada apenas para Coleções de Tipos de Letra TrueType.

### Sobre a extensão de ficheiro .ttf

Dado um ficheiro de tipo de letra com uma `.ttf` extensão, pode ser:

* um tipo de letra TrueType mais antigo (não OpenType), ou
* um tipo de letra OpenType que contém dados TrueType mais as funcionalidades extra fornecidas pelo OpenType.

Determinar se um dado `.ttf` ficheiro de tipo de letra é OpenType ou TrueType simples pode ser complicado, exigindo que as aplicações inspecionem/investiguem as estruturas internas de dados do tipo de letra. Para mais detalhes, consulte [esta discussão (thread)](https://typedrawers.com/discussion/2945/determine-whether-a-font-file-is-opentype-format-or-truetype-format) ou este [artigo da Microsoft](https://learn.microsoft.com/en-us/typography/opentype/#why-is-my-opentype-font-listed-as-a-truetype-font-by-my-application).

### Formatos de tipos de letra e compiladores LaTeX

A tabela seguinte resume os formatos de tipos de letra (convencionais) suportados por três compiladores LaTeX (em sentido estrito, suportados pelos motores TeX subjacentes):

|                |                         |                                                          |                                                        |                                             |
| -------------- | ----------------------- | -------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------- |
| **Compilador** | **PostScript (Type 1)** | **TrueType (simples**$$\displaystyle{}^{\mathbf†}$$**)** | **OpenType (TrueType)**$$\displaystyle{}^{\mathbf\*}$$ | **OpenType (PostScript)**                   |
| pdfLaTeX       | Sim                     | Sim                                                      | Limitado$$\displaystyle{}^{\mathbf{\*\*}}$$            | Limitado$$\displaystyle{}^{\mathbf{\*\*}}$$ |
| XeLaTeX        | Sim                     | Sim                                                      | Sim                                                    | Sim                                         |
| LuaLaTeX       | Sim                     | Sim                                                      | Sim                                                    | Sim                                         |

$$\displaystyle{}^{\mathbf†}$$Por “simples”, queremos dizer um tipo de letra TrueType que não contém os dados adicionais (tabelas) definidos pela especificação OpenType, e assim carece das funcionalidades de composição tipográfica mais avançadas dos tipos de letra OpenType de sabor TrueType.

$$\displaystyle{}^{\mathbf\*}$$O pdfTeX fornece suporte limitado para [Coleções TrueType](https://learn.microsoft.com/en-us/typography/opentype/otspec150/otff#truetype-collections) (extensão `.ttc`) — apenas lerá dados para o primeiro tipo de letra contido na coleção.

$$\displaystyle{}^{\mathbf{\*\*}}$$O suporte “Limitado” do pdfTeX para OpenType significa:

* não suporta as funcionalidades avançadas de composição tipográfica contidas em tipos de letra OpenType;
* subdividirá tipos de letra OpenType de sabor TrueType, mas não tipos de letra OpenType de sabor PostScript, que têm de ser totalmente incorporados. A ausência de subdivisão de tipos de letra produz ficheiros PDF maiores e levanta problemas de licenciamento com tipos de letra comerciais, que normalmente proíbem a incorporação total;
* não consegue utilizar mais de 256 caracteres por tipo de letra, ao passo que tipos de letra OpenType individuais suportam dezenas de milhares;
* requer a produção de métricas de fonte TeX e outros ficheiros auxiliares (necessários pelo LaTeX) — processos que estão fora do âmbito deste artigo (consulte [Leitura adicional](#further-reading) para ligações para descrições desses processos).

## Leitura adicional

* [Como funciona o OpenType](https://simoncozens.github.io/fonts-and-layout/opentype.html) (por Simon Cozens).
* [Determine se um ficheiro de tipo de letra é do formato OpenType ou do formato TrueType](https://typedrawers.com/discussion/2945/determine-whether-a-font-file-is-opentype-format-or-truetype-format)—uma discussão sobre a dificuldade de determinar se um dado `.ttf` é TrueType simples ou OpenType de sabor TrueType.
* [Uma análise mais detalhada dos tipos de letra TrueType e do pdfTeX](https://tug.org/TUGboat/tb30-1/tb94thanh.pdf)—um artigo da TUGboat escrito por [Hàn Thế Thành](https://tug.org/interviews/thanh.html), o criador de [pdfTeX](https://www.tug.org/applications/pdftex/).
* [Uma Estrutura de Diretórios para Ficheiros TeX](https://tug.org/tds/tds.html), uma hierarquia padrão de pastas/diretórios para organizar ficheiros relacionados com TeX.
* [A instalação e utilização de tipos de letra OpenType no LaTeX](https://www.tug.org/TUGboat/tb27-2/tb87owens.pdf)—um artigo da TUGboat que explica como preparar tipos de letra OpenType para uso com pdfLaTeX.
* [Como uso tipos de letra TrueType com o PdfTeX usando otftotfm?](https://tex.stackexchange.com/questions/52819/how-do-i-use-truetype-fonts-with-pdftex-using-otftotfm/52902#52902)—um thread do tex.stackexchange que contém um exemplo detalhado.

### Uma nota sobre as “guerras dos tipos de letra”...

As décadas de 1980 e 1990 viram as chamadas “guerras dos tipos de letra”, quando dois formatos de tipos de letra concorrentes, PostScript Type 1 (da Adobe) e TrueType (criado pela Apple, licenciado à Microsoft), lutaram pela supremacia — para conquistar o coração e a mente de todos os utilizadores, especialmente designers e tipógrafos. Eventualmente, o formato de tipos de letra OpenType emergiu (em 1997) como uma solução híbrida, englobando e estendendo as tecnologias de tipos de letra da Adobe e da Apple. O OpenType baseia-se no formato de ficheiro TrueType original para permitir capacidades avançadas de composição tipográfica e melhor suporte Unicode através de tipos de letra que contêm mais de 65 000 formas de caracteres (glifos). [OpenType](https://learn.microsoft.com/en-us/typography/opentype) emergiu (em 1997) como uma solução híbrida, englobando e estendendo as tecnologias de tipos de letra da Adobe e da Apple. O OpenType baseia-se no formato de ficheiro TrueType original para permitir capacidades avançadas de composição tipográfica e melhor suporte Unicode através de tipos de letra que contêm mais de 65 000 formas de caracteres (glifos).


---

# 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/overleaf-learn-latex-pt/perguntas-e-respostas/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.
