Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
font_resolver.hpp File Reference
#include "pulp/canvas/font_options.hpp"
#include <cstdint>
#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::canvas::CssFontFamily
 One entry of a CSS font-family list, as written. More...
struct  pulp::canvas::FallbackTraceStep
struct  pulp::canvas::SynthesisTrace
struct  pulp::canvas::ResolvedFont
class  pulp::canvas::FontResolver

Namespaces

namespace  pulp
namespace  pulp::canvas

Enumerations

enum class  pulp::canvas::FallbackOrigin : std::uint8_t {
  pulp::canvas::ScopeView , pulp::canvas::ScopePlugin , pulp::canvas::ScopeGlobal , pulp::canvas::Bundled ,
  pulp::canvas::Platform , pulp::canvas::PlatformChar , pulp::canvas::Synthetic , pulp::canvas::NotFound
}
 Which step of the cascade produced the resolved typeface. More...

Functions

std::string pulp::canvas::platform_family_for_css_generic (const std::string &css_family)
 The platform family a CSS generic family keyword stands for, matching the browser's defaults on this platform, or empty when css_family is not a generic keyword or the platform's font matcher resolves it on its own.
void pulp::canvas::set_css_generic_family_override (const std::string &keyword, const std::string &family)
 Map the generic keyword to family instead of the platform default, or restore the built-in mapping when family is empty.
CssFontFamily pulp::canvas::parse_css_font_family (std::string_view entry)
 Parse one font-family list entry: trim whitespace, then strip one matching pair of single or double quotes and record that there was one.
std::vector< std::string > pulp::canvas::split_css_font_family_list (std::string_view list)
 Split a font-family list on commas into trimmed entries, each KEPT with its quotes, dropping empty ones.
bool pulp::canvas::paragraph_fakes_missing_font_styles (std::string_view css_font_family, int weight, int slant)
 Whether SkParagraph may fake the bold or oblique the matched face lacks, for text in css_font_family at weight and slant.
std::string pulp::canvas::platform_family_for_css_family (std::string_view entry)
 The family name to ask a font matcher for, for one list entry (quotes allowed): the platform family an unquoted generic keyword stands for, otherwise the entry's name without its quotes.
bool pulp::canvas::platform_face_is_family (std::string_view platform_family, std::string_view actual_family)
 Whether a face that reports actual_family is the family a matcher was asked for as platform_family, rather than the default face a matcher hands back on a miss.
const char * pulp::canvas::to_string (FallbackOrigin) noexcept
std::string pulp::canvas::resolved_face_identity (const std::string &css_font_family, float weight, FontSlant slant=FontSlant::Normal)
 The output of a resolver call.