Donner SVG 0.8.0
0.8.0 ยท ebf353960.8.0 main
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
FontCatalogTypes.h File Reference
#include <cstddef>
#include <cstdint>
#include <functional>
#include <memory>
#include <ostream>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
#include "donner/svg/core/FontStretch.h"
#include "donner/svg/core/FontStyle.h"
Include dependency graph for FontCatalogTypes.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  donner::svg::FontFamilyInfo
 One entry in the font catalog: a family name plus how it was discovered and classified. More...
struct  donner::svg::FontFaceRequest
 Which face inside a family a font-family lookup wants, taken from the element's computed CSS font properties. More...
struct  donner::svg::FontFaceAvailability
 Nonblocking metadata for a face. Empty contentId preserves legacy synchronous providers. More...
struct  donner::svg::FontFaceDependency
 Copyable dependency record suitable for handing off before a temporary document is destroyed. More...
class  donner::svg::FontFaceLoadReservation
 A reservation stays alive through the provider copy, decoder, and transfer into retained data. More...
struct  donner::svg::FontFaceAdmission
 Nonblocking admission result. Synchronous custom providers need no reservation by default. More...
class  donner::svg::FontFamilyProvider
 Interface implemented by each font source (embedded, system) and by the aggregate FontCatalog. More...
class  donner::svg::ScopedFontLoadInterruption
 Lets the calling thread abandon provider font loads that are no longer wanted. More...

Namespaces

namespace  donner
 Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css.
namespace  donner::svg
 Donner SVG library, which can load, manipulate and render SVG files.

Enumerations

enum class  donner::svg::FontSource {
  donner::svg::Bundled ,
  donner::svg::System
}
 Where a font family in the FontCatalog originates. More...
enum class  donner::svg::FontCategory {
  SansSerif ,
  Serif ,
  Monospace ,
  Display ,
  Handwriting ,
  Unknown
}
 Coarse style bucket for a font family, used to give the picker variety and (later) to inform generic-family fallback. More...
enum class  donner::svg::FontFileFormat {
  Unknown ,
  Sfnt ,
  Woff2
}
 Encoded file format, independently of transport and consumer decoding state.
enum class  donner::svg::FontAssetState {
  Unavailable ,
  Absent ,
  Queued ,
  Fetching ,
  Ready ,
  Failed
}
 Availability of encoded bytes. Looking this up never starts a request.
enum class  donner::svg::FontFaceLoadState {
  WaitingForBytes ,
  WaitingForAdmission ,
  Resolving ,
  Loaded ,
  Failed
}
 State of one consumer's resolution, distinct from the availability of shared encoded bytes.
enum class  donner::svg::FontFaceWaitReason {
  None ,
  SharedDecodeSlot ,
  RetainedBudget
}
 What can make a deferred face eligible again. Consumer budgets are independent of the shared catalog decode slot; releasing another consumer's slot cannot repair retained-byte pressure.

Functions

std::ostream & donner::svg::operator<< (std::ostream &os, const FontFaceRequest &request)
 Ostream output operator, so test failures print the requested face instead of an opaque struct.
std::ostream & donner::svg::operator<< (std::ostream &os, const FontFaceAvailability &availability)
 Diagnostic output for dependency-bearing test failures and application logs.
std::ostream & donner::svg::operator<< (std::ostream &os, const FontFaceDependency &dependency)
 Print a dependency for diagnostic output.

Class Documentation

◆ donner::svg::FontFaceAdmission

struct donner::svg::FontFaceAdmission

Nonblocking admission result. Synchronous custom providers need no reservation by default.

Class Members
unique_ptr< FontFaceLoadReservation > reservation
FontFaceLoadState state = FontFaceLoadState::Resolving
FontFaceWaitReason waitReason = FontFaceWaitReason::None