From 5751063c63829754d954830bac0f8ce18c019d68 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 3 Feb 2019 01:42:34 +0100 Subject: [PATCH] Load the default font from disk in the kernel as well. --- SharedGraphics/Font.cpp | 25 +- SharedGraphics/Liza8x10.h | 1051 ------------------------------------- 2 files changed, 17 insertions(+), 1059 deletions(-) delete mode 100644 SharedGraphics/Liza8x10.h diff --git a/SharedGraphics/Font.cpp b/SharedGraphics/Font.cpp index bc146b97fb..78318dac80 100644 --- a/SharedGraphics/Font.cpp +++ b/SharedGraphics/Font.cpp @@ -1,10 +1,13 @@ #include "Font.h" -#include "Peanut8x10.h" -#include "Liza8x10.h" #include #include #include +#ifdef KERNEL +#include +#include +#endif + #ifdef USERLAND #include #include @@ -13,8 +16,6 @@ #include #endif -#define DEFAULT_FONT_NAME Liza8x10 - static const byte error_glyph_width = 8; static const byte error_glyph_height = 10; static constexpr const char* error_glyph { @@ -39,13 +40,21 @@ void Font::initialize() Font& Font::default_font() { + static const char* default_font_path = "/res/fonts/Liza8x10.font"; if (!s_default_font) { #ifdef USERLAND - s_default_font = Font::load_from_file("/res/fonts/Liza8x10.font").leak_ref(); + s_default_font = Font::load_from_file(default_font_path).leak_ref(); ASSERT(s_default_font); #else - - s_default_font = adopt(*new Font(DEFAULT_FONT_NAME::name, DEFAULT_FONT_NAME::glyphs, DEFAULT_FONT_NAME::glyph_width, DEFAULT_FONT_NAME::glyph_height, DEFAULT_FONT_NAME::first_glyph, DEFAULT_FONT_NAME::last_glyph)).leak_ref(); + int error; + auto descriptor = VFS::the().open(default_font_path, error, 0, 0, *VFS::the().root_inode()); + if (!descriptor) { + kprintf("Failed to open default font (%s)\n", default_font_path); + ASSERT_NOT_REACHED(); + } + auto buffer = descriptor->read_entire_file(*current); + ASSERT(buffer); + s_default_font = Font::load_from_memory(buffer.pointer()).leak_ref(); #endif } return *s_default_font; @@ -92,7 +101,6 @@ Font::~Font() { } -#ifdef USERLAND struct FontFileHeader { char magic[4]; byte glyph_width; @@ -135,6 +143,7 @@ RetainPtr Font::load_from_memory(const byte* data) return adopt(*new Font(String(header.name), new_glyphs, header.glyph_width, header.glyph_height, 0, 255)); } +#ifdef USERLAND RetainPtr Font::load_from_file(const String& path) { int fd = open(path.characters(), O_RDONLY, 0644); diff --git a/SharedGraphics/Liza8x10.h b/SharedGraphics/Liza8x10.h deleted file mode 100644 index ba3cee22ba..0000000000 --- a/SharedGraphics/Liza8x10.h +++ /dev/null @@ -1,1051 +0,0 @@ -#pragma once - -namespace Liza8x10 { - -static constexpr char name[64] = "Old Liza"; - -static constexpr char first_glyph = '!'; -static constexpr char last_glyph = '~'; -static constexpr byte glyph_width = 8; -static constexpr byte glyph_height = 10; - -static constexpr const char* glyphs[] { - - " ## " - " ## " - " ## " - " ## " - " ## " - " ## " - " " - " ## " - " ## " - " ", - - " ## ## " - " ## ## " - " # # " - " " - " " - " " - " " - " " - " " - " ", - - " " - " # # " - " # # " - " ###### " - " # # " - " # # " - " # # " - " ###### " - " # # " - " # # ", - - " " - " # " - " #### " - " # # # " - " # # " - " #### " - " # # " - " # # # " - " #### " - " # ", - - " " - " ## # " - " ## ## " - " ## " - " ## " - " ## " - " ## ## " - " # ## " - " " - " ", - - " " - " ## " - " # # " - " # # " - " ### " - " # # " - " # # #" - " # ## " - " ### #" - " ", - - " ## " - " ## " - " # " - " " - " " - " " - " " - " " - " " - " ", - - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " ", - - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " ", - - " " - " " - " " - " # " - " ##### " - " # " - " # # " - " " - " " - " ", - - " " - " " - " " - " # " - " # " - " ##### " - " # " - " # " - " " - " ", - - " " - " " - " " - " " - " " - " " - " " - " ## " - " ## " - " ", - - " " - " " - " " - " " - " " - " ##### " - " " - " " - " " - " ", - - " " - " " - " " - " " - " " - " " - " " - " ## " - " ## " - " ", - - " " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " ", - - " #### " - " # ## " - " # # # " - " # # # " - " # # # " - " # # # " - " ## # " - " ## # " - " #### " - " ", - - " # " - " ## " - " # # " - " # " - " # " - " # " - " # " - " # " - " # " - " ", - - " #### " - " # # " - " # # " - " # " - " # " - " # " - " # " - " # " - " ###### " - " ", - - " ###### " - " # " - " # " - " # " - " #### " - " # " - " # " - " # # " - " #### " - " ", - - " # " - " ## " - " # # " - " # # " - " # # " - " ###### " - " # " - " # " - " # " - " ", - - " ###### " - " # " - " # " - " # " - " ##### " - " # " - " # " - " # # " - " #### " - " ", - - " ## " - " ## " - " # " - " # " - " ##### " - " # # " - " # # " - " # # " - " #### " - " ", - - " ###### " - " # # " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " ", - - " #### " - " # # " - " # # " - " # # " - " #### " - " # # " - " # # " - " # # " - " #### " - " ", - - " #### " - " # # " - " # # " - " # # " - " ##### " - " # " - " # " - " ## " - " ## " - " ", - - " " - " " - " " - " ## " - " ## " - " " - " ## " - " ## " - " " - " ", - - " " - " " - " " - " ## " - " ## " - " " - " ## " - " ## " - " " - " ", - - " " - " " - " ## " - " # " - " # " - " # " - " # " - " # " - " ## " - " ", - - " " - " " - " " - " ###### " - " " - " ###### " - " " - " " - " " - " ", - - " " - " " - " ## " - " # " - " # " - " # " - " # " - " # " - " ## " - " ", - - " #### " - " # # " - " # # " - " # " - " # " - " ## " - " " - " ## " - " ## " - " ", - - " #### " - " # # " - " # # " - " # ### " - " # # # " - " # # # " - " # ### " - " # " - " #### " - " ", - - " ## " - " # # " - " # # " - " # # " - " ###### " - " # # " - " # # " - " # # " - " # # " - " ", - - " ##### " - " # # " - " # # " - " # # " - " ##### " - " # # " - " # # " - " # # " - " ##### " - " ", - - " ### " - " # # " - " # " - " # " - " # " - " # " - " # " - " # # " - " ### " - " ", - - " #### " - " # # " - " # # " - " # # " - " # # " - " # # " - " # # " - " # # " - " #### " - " ", - - " ###### " - " # " - " # " - " # " - " ##### " - " # " - " # " - " # " - " ###### " - " ", - - " ###### " - " # " - " # " - " # " - " #### " - " # " - " # " - " # " - " # " - " ", - - " ### " - " # # " - " # " - " # " - " # ## " - " # # " - " # # " - " # # " - " ### " - " ", - - " # # " - " # # " - " # # " - " # # " - " ###### " - " # # " - " # # " - " # # " - " # # " - " ", - - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " ", - - " #### " - " # " - " # " - " # " - " # " - " # " - " # " - " # # " - " ### " - " ", - - " # # " - " # # " - " # # " - " # # " - " ### " - " # # " - " # # " - " # # " - " # # " - " ", - - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " ###### " - " ", - - " # # " - " ## ## " - " # ## # " - " # # " - " # # " - " # # " - " # # " - " # # " - " # # " - " ", - - " # # " - " # # " - " ## # " - " # # # " - " # # # " - " # ## " - " # # " - " # # " - " # # " - " ", - - " ### " - " # # " - " # #" - " # #" - " # #" - " # #" - " # #" - " # # " - " ### " - " ", - - " ##### " - " # # " - " # # " - " ##### " - " # " - " # " - " # " - " # " - " # " - " ", - - " ### " - " # # " - " # #" - " # #" - " # #" - " # #" - " # # #" - " # # " - " ### #" - " ", - - " #### " - " # # " - " # # " - " # # " - " #### " - " # # " - " # # " - " # # " - " # #" - " ", - - " ## " - " # # " - " # # " - " # " - " ## " - " # " - " # # " - " # # " - " ## " - " ", - - "####### " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " ", - - " # # " - " # # " - " # # " - " # # " - " # # " - " # # " - " # # " - " # # " - " ## " - " ", - - " # # " - " # # " - " # # " - " # # " - " # # " - " # # " - " # # " - " # " - " # " - " ", - - " # # " - " # # " - " # # " - " # # " - " # # " - " # # " - " # ## # " - " ## ## " - " # # " - " ", - - "# # " - " # # " - " # # " - " # # " - " # " - " # # " - " # # " - " # # " - "# # " - " ", - - "# # " - " # # " - " # # " - " # # " - " # " - " # " - " # " - " # " - " # " - " ", - - " ###### " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " ###### " - " ", - - " #### " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " #### " - " ", - - " " - " # " - " ## " - " ## " - " ## " - " ## " - " ## " - " # " - " " - " ", - - " #### " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " #### " - " ", - - " # " - " # # " - " # # " - " " - " " - " " - " " - " " - " " - " ", - - " " - " " - " " - " " - " " - " " - " " - " " - " ###### " - " ", - - " ## " - " ## " - " " - " " - " " - " " - " " - " " - " " - " ", - - " " - " " - " " - " #### " - " # " - " ##### " - " # # " - " # # " - " ##### " - " ", - - " # " - " # " - " # " - " #### " - " # # " - " # # " - " # # " - " # # " - " #### " - " ", - - " " - " " - " " - " #### " - " # # " - " # " - " # " - " # # " - " #### " - " ", - - " # " - " # " - " # " - " #### " - " # # " - " # # " - " # # " - " # # " - " #### " - " ", - - " " - " " - " " - " #### " - " # # " - " ###### " - " # " - " # # " - " #### " - " ", - - " " - " ### " - " # " - " #### " - " # " - " # " - " # " - " # " - " # " - " ", - - " " - " " - " " - " ##### " - " # # " - " # # " - " # # " - " ##### " - " # " - " #### ", - - " # " - " # " - " # " - " #### " - " # # " - " # # " - " # # " - " # # " - " # # " - " ", - - " " - " # " - " " - " # " - " # " - " # " - " # " - " # " - " # " - " ", - - " " - " # " - " " - " # " - " # " - " # " - " # " - " # " - " # " - " ## ", - - " # " - " # " - " # " - " # # " - " # # " - " ### " - " # # " - " # # " - " # # " - " ", - - " ## " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " ", - - " " - " " - " " - " ## ## " - " # # #" - " # # #" - " # # #" - " # #" - " # #" - " ", - - " " - " " - " " - " #### " - " # # " - " # # " - " # # " - " # # " - " # # " - " ", - - " " - " " - " " - " #### " - " # # " - " # # " - " # # " - " # # " - " #### " - " ", - - " " - " " - " " - " #### " - " # # " - " # # " - " # # " - " #### " - " # " - " # ", - - " " - " " - " " - " #### " - " # # " - " # # " - " # # " - " #### " - " # " - " # ", - - " " - " " - " " - " ##### " - " # # " - " # " - " # " - " # " - " # " - " ", - - " " - " " - " " - " #### " - " # # " - " ## " - " ## " - " # # " - " #### " - " ", - - " " - " # " - " # " - " ##### " - " # " - " # " - " # " - " # " - " ### " - " ", - - " " - " " - " " - " # # " - " # # " - " # # " - " # # " - " # # " - " #### " - " ", - - " " - " " - " " - " # #" - " # #" - " # #" - " # # " - " # # " - " # " - " ", - - " " - " " - " " - " # # #" - " # # #" - " # # #" - " # # #" - " # # #" - " ## ## " - " ", - - - " " - " " - " " - " ## ## " - " # # " - " ## " - " ## " - " # # " - " ## ## " - " ", - - " " - " " - " " - " # # " - " # # " - " # # " - " # # " - " #### " - " # " - " #### ", - - " " - " " - " " - " ###### " - " # " - " # " - " # " - " # " - " ###### " - " ", - - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " ", - - " " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " ", - - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " # " - " ", - - " " - " " - " " - " " - " ## # " - " # ## " - " " - " " - " " - " ", -}; - -} -