1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 19:37:35 +00:00

LibGfx/OpenType: Add spec links to classes representing OpenType tables

This commit is contained in:
Andreas Kling 2022-12-19 12:36:29 +01:00
parent f982400063
commit 23638a3b3a
3 changed files with 20 additions and 0 deletions

View file

@ -11,6 +11,8 @@
namespace OpenType {
// https://learn.microsoft.com/en-us/typography/opentype/spec/cmap
// cmap — Character to Glyph Index Mapping Table
class Cmap {
public:
class Subtable {

View file

@ -16,6 +16,8 @@
namespace OpenType {
// https://learn.microsoft.com/en-us/typography/opentype/spec/loca
// loca: Index to Location
class Loca {
public:
static Optional<Loca> from_slice(ReadonlyBytes, u32 num_glyphs, IndexToLocFormat);
@ -34,6 +36,8 @@ private:
IndexToLocFormat m_index_to_loc_format;
};
// https://learn.microsoft.com/en-us/typography/opentype/spec/glyf
// glyf: Glyph Data
class Glyf {
public:
class Glyph {

View file

@ -19,6 +19,8 @@ enum class IndexToLocFormat {
Offset32,
};
// https://learn.microsoft.com/en-us/typography/opentype/spec/head
// head: Font Header Table
class Head {
public:
static Optional<Head> from_slice(ReadonlyBytes);
@ -54,6 +56,8 @@ private:
ReadonlyBytes m_slice;
};
// https://learn.microsoft.com/en-us/typography/opentype/spec/hhea
// hhea - Horizontal Header Table
class Hhea {
public:
static Optional<Hhea> from_slice(ReadonlyBytes);
@ -83,6 +87,8 @@ private:
ReadonlyBytes m_slice;
};
// https://learn.microsoft.com/en-us/typography/opentype/spec/maxp
// Maxp: Maximum Profile
class Maxp {
public:
static Optional<Maxp> from_slice(ReadonlyBytes);
@ -109,6 +115,8 @@ struct GlyphHorizontalMetrics {
i16 left_side_bearing;
};
// https://learn.microsoft.com/en-us/typography/opentype/spec/hmtx
// hmtx: Horizontal Metrics Table
class Hmtx {
public:
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 };
};
// https://learn.microsoft.com/en-us/typography/opentype/spec/os2
// OS/2: OS/2 and Windows Metrics Table
class OS2 {
public:
enum class Offsets {
@ -158,6 +168,8 @@ private:
ReadonlyBytes m_slice;
};
// https://learn.microsoft.com/en-us/typography/opentype/spec/name
// name: Naming Table
class Name {
public:
enum class Platform {
@ -205,6 +217,8 @@ private:
ReadonlyBytes m_slice;
};
// https://learn.microsoft.com/en-us/typography/opentype/spec/kern
// kern - Kerning
class Kern {
public:
static ErrorOr<Kern> from_slice(ReadonlyBytes);