mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 09:47:35 +00:00
LibGfx/OpenType: Add spec links to classes representing OpenType tables
This commit is contained in:
parent
f982400063
commit
23638a3b3a
3 changed files with 20 additions and 0 deletions
|
@ -11,6 +11,8 @@
|
||||||
|
|
||||||
namespace OpenType {
|
namespace OpenType {
|
||||||
|
|
||||||
|
// https://learn.microsoft.com/en-us/typography/opentype/spec/cmap
|
||||||
|
// cmap — Character to Glyph Index Mapping Table
|
||||||
class Cmap {
|
class Cmap {
|
||||||
public:
|
public:
|
||||||
class Subtable {
|
class Subtable {
|
||||||
|
|
|
@ -16,6 +16,8 @@
|
||||||
|
|
||||||
namespace OpenType {
|
namespace OpenType {
|
||||||
|
|
||||||
|
// https://learn.microsoft.com/en-us/typography/opentype/spec/loca
|
||||||
|
// loca: Index to Location
|
||||||
class Loca {
|
class Loca {
|
||||||
public:
|
public:
|
||||||
static Optional<Loca> from_slice(ReadonlyBytes, u32 num_glyphs, IndexToLocFormat);
|
static Optional<Loca> from_slice(ReadonlyBytes, u32 num_glyphs, IndexToLocFormat);
|
||||||
|
@ -34,6 +36,8 @@ private:
|
||||||
IndexToLocFormat m_index_to_loc_format;
|
IndexToLocFormat m_index_to_loc_format;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// https://learn.microsoft.com/en-us/typography/opentype/spec/glyf
|
||||||
|
// glyf: Glyph Data
|
||||||
class Glyf {
|
class Glyf {
|
||||||
public:
|
public:
|
||||||
class Glyph {
|
class Glyph {
|
||||||
|
|
|
@ -19,6 +19,8 @@ enum class IndexToLocFormat {
|
||||||
Offset32,
|
Offset32,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// https://learn.microsoft.com/en-us/typography/opentype/spec/head
|
||||||
|
// head: Font Header Table
|
||||||
class Head {
|
class Head {
|
||||||
public:
|
public:
|
||||||
static Optional<Head> from_slice(ReadonlyBytes);
|
static Optional<Head> from_slice(ReadonlyBytes);
|
||||||
|
@ -54,6 +56,8 @@ private:
|
||||||
ReadonlyBytes m_slice;
|
ReadonlyBytes m_slice;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// https://learn.microsoft.com/en-us/typography/opentype/spec/hhea
|
||||||
|
// hhea - Horizontal Header Table
|
||||||
class Hhea {
|
class Hhea {
|
||||||
public:
|
public:
|
||||||
static Optional<Hhea> from_slice(ReadonlyBytes);
|
static Optional<Hhea> from_slice(ReadonlyBytes);
|
||||||
|
@ -83,6 +87,8 @@ private:
|
||||||
ReadonlyBytes m_slice;
|
ReadonlyBytes m_slice;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// https://learn.microsoft.com/en-us/typography/opentype/spec/maxp
|
||||||
|
// Maxp: Maximum Profile
|
||||||
class Maxp {
|
class Maxp {
|
||||||
public:
|
public:
|
||||||
static Optional<Maxp> from_slice(ReadonlyBytes);
|
static Optional<Maxp> from_slice(ReadonlyBytes);
|
||||||
|
@ -109,6 +115,8 @@ struct GlyphHorizontalMetrics {
|
||||||
i16 left_side_bearing;
|
i16 left_side_bearing;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// https://learn.microsoft.com/en-us/typography/opentype/spec/hmtx
|
||||||
|
// hmtx: Horizontal Metrics Table
|
||||||
class Hmtx {
|
class Hmtx {
|
||||||
public:
|
public:
|
||||||
static Optional<Hmtx> from_slice(ReadonlyBytes, u32 num_glyphs, u32 number_of_h_metrics);
|
static Optional<Hmtx> from_slice(ReadonlyBytes, u32 num_glyphs, u32 number_of_h_metrics);
|
||||||
|
@ -132,6 +140,8 @@ private:
|
||||||
u32 m_number_of_h_metrics { 0 };
|
u32 m_number_of_h_metrics { 0 };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// https://learn.microsoft.com/en-us/typography/opentype/spec/os2
|
||||||
|
// OS/2: OS/2 and Windows Metrics Table
|
||||||
class OS2 {
|
class OS2 {
|
||||||
public:
|
public:
|
||||||
enum class Offsets {
|
enum class Offsets {
|
||||||
|
@ -158,6 +168,8 @@ private:
|
||||||
ReadonlyBytes m_slice;
|
ReadonlyBytes m_slice;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// https://learn.microsoft.com/en-us/typography/opentype/spec/name
|
||||||
|
// name: Naming Table
|
||||||
class Name {
|
class Name {
|
||||||
public:
|
public:
|
||||||
enum class Platform {
|
enum class Platform {
|
||||||
|
@ -205,6 +217,8 @@ private:
|
||||||
ReadonlyBytes m_slice;
|
ReadonlyBytes m_slice;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// https://learn.microsoft.com/en-us/typography/opentype/spec/kern
|
||||||
|
// kern - Kerning
|
||||||
class Kern {
|
class Kern {
|
||||||
public:
|
public:
|
||||||
static ErrorOr<Kern> from_slice(ReadonlyBytes);
|
static ErrorOr<Kern> from_slice(ReadonlyBytes);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue