diff options
author | Linus Groh <mail@linusgroh.de> | 2023-01-11 20:30:30 +0000 |
---|---|---|
committer | Linus Groh <mail@linusgroh.de> | 2023-01-11 20:54:49 +0000 |
commit | c5cadca542feaae9687525e752c4c8e26258f404 (patch) | |
tree | 808c58980cbef5e86a13b9c01ad6497c48e45756 /Userland | |
parent | eed63e817422ef6582607df93d29577607202bde (diff) | |
download | serenity-c5cadca542feaae9687525e752c4c8e26258f404.zip |
LibCore: Add StandardPaths::font_directories()
This provides a list of well-known directories containing font files,
e.g. for use with Gfx::FontDatabase::load_all_fonts_from_path().
Diffstat (limited to 'Userland')
-rw-r--r-- | Userland/Libraries/LibCore/StandardPaths.cpp | 19 | ||||
-rw-r--r-- | Userland/Libraries/LibCore/StandardPaths.h | 2 |
2 files changed, 21 insertions, 0 deletions
diff --git a/Userland/Libraries/LibCore/StandardPaths.cpp b/Userland/Libraries/LibCore/StandardPaths.cpp index da3cdc1563..41755490e6 100644 --- a/Userland/Libraries/LibCore/StandardPaths.cpp +++ b/Userland/Libraries/LibCore/StandardPaths.cpp @@ -1,5 +1,6 @@ /* * Copyright (c) 2020, Andreas Kling <kling@serenityos.org> + * Copyright (c) 2023, Linus Groh <linusg@serenityos.org> * * SPDX-License-Identifier: BSD-2-Clause */ @@ -7,6 +8,7 @@ #include <AK/DeprecatedString.h> #include <AK/LexicalPath.h> #include <AK/Platform.h> +#include <AK/String.h> #include <AK/StringBuilder.h> #include <LibCore/SessionManagement.h> #include <LibCore/StandardPaths.h> @@ -110,4 +112,21 @@ DeprecatedString StandardPaths::tempfile_directory() return "/tmp"; } +ErrorOr<Vector<String>> StandardPaths::font_directories() +{ + return Vector { { +#if defined(AK_OS_SERENITY) + TRY(String::from_utf8("/res/fonts"sv)), +#elif defined(AK_OS_MACOS) + TRY(String::from_utf8("/System/Library/Fonts"sv)), + TRY(String::from_utf8("/Library/Fonts"sv)), + TRY(String::formatted("{}/Library/Fonts"sv, home_directory())), +#else + TRY(String::from_utf8("/usr/share/fonts"sv)), + TRY(String::from_utf8("/usr/local/share/fonts"sv)), + TRY(String::formatted("{}/.local/share/fonts"sv, home_directory())), +#endif + } }; +} + } diff --git a/Userland/Libraries/LibCore/StandardPaths.h b/Userland/Libraries/LibCore/StandardPaths.h index ac6dd2b485..470438c62d 100644 --- a/Userland/Libraries/LibCore/StandardPaths.h +++ b/Userland/Libraries/LibCore/StandardPaths.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2020, Andreas Kling <kling@serenityos.org> + * Copyright (c) 2023, Linus Groh <linusg@serenityos.org> * * SPDX-License-Identifier: BSD-2-Clause */ @@ -21,6 +22,7 @@ public: static DeprecatedString config_directory(); static DeprecatedString data_directory(); static ErrorOr<DeprecatedString> runtime_directory(); + static ErrorOr<Vector<String>> font_directories(); }; } |