9#include "font_family_id.hpp"
10#include "font_grapheme_id.hpp"
11#include "font_glyph_ids.hpp"
12#include "elusive_icon.hpp"
13#include "ttauri_icon.hpp"
16#include "../subsystem.hpp"
47 void register_elusive_icon_font(
URL url)
52 void register_ttauri_icon_font(
URL url)
100 [[nodiscard]]
font const &
find_font(
std::string_view family_name, font_weight weight,
bool italic) const noexcept;
114 tt_axiom(_elusive_icon_font);
120 tt_axiom(_ttauri_icon_font);
125 font
const *_elusive_icon_font =
nullptr;
126 font
const *_ttauri_icon_font =
nullptr;
174 void create_family_name_fallback_chain() noexcept;
virtual tt::glyph_id find_glyph(char32_t c) const noexcept=0
Get the glyph for a code-point.
font_book keeps track of multiple fonts.
Definition font_book.hpp:30
font const & find_font(font_family_id family_id, font_variant variant) const noexcept
Find a font closest to the variant.
font_family_id find_family(std::string_view family_name) const noexcept
Find font family id.
font_glyph_ids find_glyph(font const &font, grapheme grapheme) const noexcept
Find a glyph using the given code-point.
font_family_id register_family(std::string_view family_name) noexcept
Register font family id.
font & register_font(URL url, bool post_process=true)
Register a font.
void post_process() noexcept
Post process font_book Should be called after a set of register_font() calls This calculates font fal...
Definition font_glyph_ids.hpp:80
A font variant is one of 16 different fonts that can be part of a family.
Definition font_variant.hpp:16
Definition grapheme.hpp:21