From 23638a3b3a417629dcad058ef61145809901fdc4 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 19 Dec 2022 12:36:29 +0100 Subject: [PATCH] LibGfx/OpenType: Add spec links to classes representing OpenType tables --- Userland/Libraries/LibGfx/Font/OpenType/Cmap.h | 2 ++ Userland/Libraries/LibGfx/Font/OpenType/Glyf.h | 4 ++++ Userland/Libraries/LibGfx/Font/OpenType/Tables.h | 14 ++++++++++++++ 3 files changed, 20 insertions(+) diff --git a/Userland/Libraries/LibGfx/Font/OpenType/Cmap.h b/Userland/Libraries/LibGfx/Font/OpenType/Cmap.h index fd3203e5ab..7f29b0d9a8 100644 --- a/Userland/Libraries/LibGfx/Font/OpenType/Cmap.h +++ b/Userland/Libraries/LibGfx/Font/OpenType/Cmap.h @@ -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 { diff --git a/Userland/Libraries/LibGfx/Font/OpenType/Glyf.h b/Userland/Libraries/LibGfx/Font/OpenType/Glyf.h index 00385a894d..80dbebb805 100644 --- a/Userland/Libraries/LibGfx/Font/OpenType/Glyf.h +++ b/Userland/Libraries/LibGfx/Font/OpenType/Glyf.h @@ -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 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 { diff --git a/Userland/Libraries/LibGfx/Font/OpenType/Tables.h b/Userland/Libraries/LibGfx/Font/OpenType/Tables.h index 0d40cd25f2..eabd18b48a 100644 --- a/Userland/Libraries/LibGfx/Font/OpenType/Tables.h +++ b/Userland/Libraries/LibGfx/Font/OpenType/Tables.h @@ -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 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 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 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 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 from_slice(ReadonlyBytes);