Документация Engee

Шрифты

Страница в процессе перевода.

В Makie для поддержки шрифтов используется пакет FreeType.jl, поэтому большинство загружаемых им шрифтов также должны поддерживаться в Makie. Шрифты можно выбирать различными способами.

Строка

При передаче строки String в качестве шрифта она может разрешаться либо в имя файла шрифта, либо в название самого шрифта (семейство шрифтов плюс стиль) или его часть. При сопоставлении с названием шрифта регистр символов не учитывается и допускаются частичные совпадения.

font_by_path = "/some/path/to/a/font_file.ttf"
font_by_name = "TeX Gyre Heros Makie"

Чтобы узнать, в какой именно шрифт разрешилась строка, выполните Makie.to_font(the_string):

using Makie
Makie.to_font("Blackchancery")

Символ

Символ Symbol разрешается путем его поиска в атрибуте fonts элемента text. В теме по умолчанию заданы следующие шрифты.

using Makie
Makie.theme(:fonts)

Поэтому выбрать шрифт из этого набора можно, например, так: font = :bold_italic. Преимущество этого способа в том, что шрифты можно устанавливать, не прописывая их жестко в каждом месте использования text, а на верхнем уровне.

Изменять или добавлять ключи в наборе шрифтов можно с помощью set_theme!, with_theme, update_theme! или путем их передачи в конструктор Figure. Вот пример:

using CairoMakie
f = Figure(fontsize = 24, fonts = (; regular = "Dejavu", weird = "Blackchancery"))
Axis(f[1, 1], title = "A title", xlabel = "An x label", xlabelfont = :weird)

f
4e25a6d

Эмодзи и цветные шрифты

В настоящее время Makie не поддерживает отображение эмодзи. Это связано с реализацией отрисовки текста в GLMakie и WGLMakie, которая опирается на поля расстояний со знаком, которые можно использовать для отрисовки только монохромных глифов, но не произвольных растровых изображений.

Разноцветные шрифты, как в проекте color fonts, в настоящее время не поддерживаются. Цветной текст поддерживается посредством форматированного текста. Если вы хотите использовать эмодзи в качестве маркеров рассеяния, можно воспользоваться изображениями (потребуется найти подходящие изображения самостоятельно; в Makie нельзя легко извлечь эмодзи из шрифтов).