Шрифты
|
Страница в процессе перевода. |
В 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
Эмодзи и цветные шрифты
В настоящее время Makie не поддерживает отображение эмодзи. Это связано с реализацией отрисовки текста в GLMakie и WGLMakie, которая опирается на поля расстояний со знаком, которые можно использовать для отрисовки только монохромных глифов, но не произвольных растровых изображений.
Разноцветные шрифты, как в проекте color fonts, в настоящее время не поддерживаются. Цветной текст поддерживается посредством форматированного текста. Если вы хотите использовать эмодзи в качестве маркеров рассеяния, можно воспользоваться изображениями (потребуется найти подходящие изображения самостоятельно; в Makie нельзя легко извлечь эмодзи из шрифтов).