LibWeb/CSS: Parse font-[feature,variation]-settings descriptors

This commit is contained in:
Sam Atkins 2024-10-01 11:02:05 +01:00 committed by Sam Atkins
commit e43f3e4808
Notes: github-actions[bot] 2024-10-02 15:37:32 +00:00
5 changed files with 102 additions and 3 deletions

View file

@ -8,6 +8,7 @@
#pragma once
#include <AK/FlyString.h>
#include <AK/HashMap.h>
#include <LibGfx/Font/UnicodeRange.h>
#include <LibURL/URL.h>
#include <LibWeb/CSS/Enums.h>
@ -23,15 +24,17 @@ public:
Optional<FlyString> format;
};
ParsedFontFace(FlyString font_family, Optional<int> weight, Optional<int> slope, Optional<int> width, Vector<Source> sources, Vector<Gfx::UnicodeRange> unicode_ranges, Optional<Percentage> ascent_override, Optional<Percentage> descent_override, Optional<Percentage> line_gap_override, FontDisplay font_display, Optional<FlyString> font_named_instance, Optional<FlyString> font_language_override);
ParsedFontFace(FlyString font_family, Optional<int> weight, Optional<int> slope, Optional<int> width, Vector<Source> sources, Vector<Gfx::UnicodeRange> unicode_ranges, Optional<Percentage> ascent_override, Optional<Percentage> descent_override, Optional<Percentage> line_gap_override, FontDisplay font_display, Optional<FlyString> font_named_instance, Optional<FlyString> font_language_override, Optional<OrderedHashMap<FlyString, i64>> font_feature_settings, Optional<OrderedHashMap<FlyString, double>> font_variation_settings);
~ParsedFontFace() = default;
Optional<Percentage> ascent_override() const { return m_ascent_override; }
Optional<Percentage> descent_override() const { return m_descent_override; }
FontDisplay font_display() const { return m_font_display; }
FlyString font_family() const { return m_font_family; }
Optional<OrderedHashMap<FlyString, i64>> font_feature_settings() const { return m_font_feature_settings; }
Optional<FlyString> font_language_override() const { return m_font_language_override; }
Optional<FlyString> font_named_instance() const { return m_font_named_instance; }
Optional<OrderedHashMap<FlyString, double>> font_variation_settings() const { return m_font_variation_settings; }
Optional<int> slope() const { return m_slope; }
Optional<int> weight() const { return m_weight; }
Optional<int> width() const { return m_width; }
@ -52,6 +55,8 @@ private:
Optional<Percentage> m_line_gap_override;
FontDisplay m_font_display;
Optional<FlyString> m_font_language_override;
Optional<OrderedHashMap<FlyString, i64>> m_font_feature_settings;
Optional<OrderedHashMap<FlyString, double>> m_font_variation_settings;
};
}