40struct FontMatchStatus;
43class FontSelectPattern;
48class PhysicalFontFamily;
53class FontSelectPattern;
66 :
mpBlob(pBlob ? pBlob : hb_blob_get_empty())
84 size_t size()
const {
return hb_blob_get_length(
mpBlob); }
86 const uint8_t*
data()
const
88 return reinterpret_cast<const uint8_t*
>(hb_blob_get_data(
mpBlob,
nullptr));
104typedef enum : hb_ot_name_id_t {
174 bool IsColorFont()
const {
return HasColorLayers() || HasColorBitmaps(); }
176 bool HasColorLayers()
const;
177 std::vector<ColorLayer> GetGlyphColorLayers(
sal_GlyphId)
const;
179 const std::vector<ColorPalette>& GetColorPalettes()
const;
181 bool HasColorBitmaps()
const;
184 OString GetGlyphName(
sal_GlyphId,
bool =
false)
const;
186 uint32_t
UnitsPerEm()
const {
return hb_face_get_upem(GetHbFace()); }
191 virtual hb_face_t* GetHbFace()
const;
198 virtual const std::vector<hb_variation_t>& GetVariations(
const LogicalFontInstance&)
const;
210 hb_font_t* GetHbUnscaledFont()
const;
abstract base class for physical font faces
virtual hb_blob_t * GetHbTable(hb_tag_t) const
virtual rtl::Reference< LogicalFontInstance > CreateFontInstance(const vcl::font::FontSelectPattern &) const =0
uint32_t UnitsPerEm() const
OUString GetName(NameID aNameID) const
hb_font_t * mpHbUnscaledFont
std::optional< std::vector< ColorPalette > > mxColorPalettes
virtual sal_IntPtr GetFontId() const =0
std::optional< vcl::FontCapabilities > mxFontCapabilities
std::optional< std::vector< hb_variation_t > > mxVariations
virtual OUString GetName() const override
#define VCL_PLUGIN_PUBLIC
A PhysicalFontFaceCollection is created by a PhysicalFontCollection and becomes invalid when original...
std::vector< Color > ColorPalette
@ NAME_ID_TYPOGRAPHIC_FAMILY
@ NAME_ID_LIGHT_BACKGROUND
@ NAME_ID_CID_FINDFONT_NAME
@ NAME_ID_TYPOGRAPHIC_SUBFAMILY
@ NAME_ID_POSTSCRIPT_NAME
@ NAME_ID_DARK_BACKGROUND
@ NAME_ID_VARIATIONS_PS_PREFIX
const OUString * mpTargetStyleName
RawFontData(const RawFontData &rOther)
const uint8_t * data() const
RawFontData & operator=(const RawFontData &rOther)
RawFontData(hb_blob_t *pBlob=nullptr)