Serenity Operating System
1/*
2 * Copyright (c) 2022, Andreas Kling <kling@serenityos.org>
3 *
4 * SPDX-License-Identifier: BSD-2-Clause
5 */
6
7#include "FontPluginSerenity.h"
8#include <AK/DeprecatedString.h>
9#include <LibGfx/Font/FontDatabase.h>
10
11namespace Web::Platform {
12
13FontPluginSerenity::FontPluginSerenity()
14{
15 // NOTE: These will eventually get replaced by system defaults.
16 Gfx::FontDatabase::set_default_font_query("Katica 10 400 0");
17 Gfx::FontDatabase::set_fixed_width_font_query("Csilla 10 400 0");
18}
19
20FontPluginSerenity::~FontPluginSerenity() = default;
21
22Gfx::Font& FontPluginSerenity::default_font()
23{
24 return Gfx::FontDatabase::default_font();
25}
26
27Gfx::Font& FontPluginSerenity::default_fixed_width_font()
28{
29 return Gfx::FontDatabase::default_fixed_width_font();
30}
31
32DeprecatedString FontPluginSerenity::generic_font_name(GenericFont generic_font)
33{
34 // FIXME: Make these configurable at the browser settings level. Fall back to system defaults.
35 switch (generic_font) {
36 case GenericFont::SansSerif:
37 case GenericFont::UiSansSerif:
38 case GenericFont::Cursive:
39 case GenericFont::UiRounded:
40 return default_font().family();
41 case GenericFont::Monospace:
42 case GenericFont::UiMonospace:
43 return default_fixed_width_font().family();
44 case GenericFont::Serif:
45 case GenericFont::UiSerif:
46 return "Roman";
47 case GenericFont::Fantasy:
48 return "Comic Book";
49 case GenericFont::__Count:
50 VERIFY_NOT_REACHED();
51 }
52 VERIFY_NOT_REACHED();
53}
54
55}