FontPluginSerenity.cpp 1.5 KB

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