M doc/fonts.md => doc/fonts.md +8 -6
@@ 19,18 19,20 @@ Short example:
```
{
"info" : {
- "default_font_name" : "dejavu_sans_bold_27",
- "default_font_type_name" : "dejavu_sans"
+ "fallback_font" : "dejavu_sans_bold_27",
+ "default_font": "gt_pressura_bold_27",
+ "default_font_family" : "gt_pressura"
},
"style": {
- "mediumboldtitle": "dejavu_sans/dejavu_sans_bold_27.mpf",
+ "small": "gt_pressura/gt_pressura_regular_24.mpf",
...
}
}
```
-There are two values in `info` part:
-- `default_font_name` - fallback font in case of inability to load specified font
-- `default_font_type_name` - default font family name used in methods which specify only size and weight of a font
+There are three obligatory values in `info` part:
+- `fallback_font` - fallback font used when specified font is unable to display some glyphs
+- `default_font` - default font used in case of inability to load specified font
+- `default_font_family` - default font family name used in methods which specify only size and weight of a font
Every key in `style` part defines font type to be used in fonts list in MuditaOS, which later can be used in `FontManager::getFont` method (ie `getFont("supersizemelight")`)
M module-gui/gui/core/Font.cpp => module-gui/gui/core/Font.cpp +2 -2
@@ 19,7 19,7 @@ namespace gui
}
Font::Font(unsigned int size, Weight weight)
- : Font(FontManager::getInstance().getDefaultFontTypeName(), size, weight)
+ : Font(FontManager::getInstance().getDefaultFontFamilyName(), size, weight)
{}
Font::Font(RawFont *rawfont)
@@ 62,7 62,7 @@ namespace gui
void Font::setFont(unsigned int size, Weight weight)
{
- setFont((FontManager::getInstance().getDefaultFontTypeName()), size, weight);
+ setFont((FontManager::getInstance().getDefaultFontFamilyName()), size, weight);
}
void Font::setSize(unsigned int new_size)
M module-gui/gui/core/FontManager.cpp => module-gui/gui/core/FontManager.cpp +14 -15
@@ 121,10 121,11 @@ namespace gui
throw std::invalid_argument("Can't parse the file!");
}
- auto fontmapObjects = fontmapJson.object_items();
- const auto infoJson = fontmapObjects["info"];
- defaultFontName = infoJson["default_font_name"].string_value();
- defaultFontTypeName = infoJson["default_font_type_name"].string_value();
+ auto fontmapObjects = fontmapJson.object_items();
+ const auto infoJson = fontmapObjects["info"];
+ fallbackFontName = infoJson["fallback_font"].string_value();
+ defaultFontFamilyName = infoJson["default_font_family"].string_value();
+ defaultFontName = infoJson["default_font"].string_value();
const auto styleJson = fontmapObjects["style"];
std::map<std::string, std::string> fontFiles;
@@ 152,11 153,13 @@ namespace gui
{
loadFonts(baseDirectory);
- auto fallback_font = find(getFontName(defaultFontName));
- if (fallback_font != nullptr) {
- for (auto font : fonts) {
- font->setFallbackFont(fallback_font);
- }
+ auto fallback_font = find(fallbackFontName);
+ if (not fallback_font) {
+ return false;
+ }
+
+ for (auto &font : fonts) {
+ font->setFallbackFont(fallback_font);
}
initialized = true;
return initialized;
@@ 219,13 222,9 @@ namespace gui
return getFont(defaultFontName);
}
- auto FontManager::getDefaultFontName() const -> std::string
- {
- return defaultFontName;
- }
- auto FontManager::getDefaultFontTypeName() const -> std::string
+ auto FontManager::getDefaultFontFamilyName() const -> std::string
{
- return defaultFontTypeName;
+ return defaultFontFamilyName;
}
auto FontManager::find(std::string_view name) const -> RawFont *
M module-gui/gui/core/FontManager.hpp => module-gui/gui/core/FontManager.hpp +3 -3
@@ 54,12 54,12 @@ namespace gui
return initialized;
}
[[nodiscard]] auto getFontName(const std::string &font) const -> std::string;
- [[nodiscard]] auto getDefaultFontName() const -> std::string;
- [[nodiscard]] auto getDefaultFontTypeName() const -> std::string;
+ [[nodiscard]] auto getDefaultFontFamilyName() const -> std::string;
private:
+ std::string fallbackFontName{};
+ std::string defaultFontFamilyName{};
std::string defaultFontName{};
- std::string defaultFontTypeName{};
[[nodiscard]] auto find(std::string_view name) const -> RawFont *;
};
M products/BellHybrid/CMakeLists.txt => products/BellHybrid/CMakeLists.txt +2 -2
@@ 108,14 108,14 @@ download_asset_release_json(json-common-target
${CMAKE_CURRENT_SOURCE_DIR}/assets/assets_common.json
${CMAKE_BINARY_DIR}/sysroot/sys/current/
MuditaOSPublicAssets
- 0.0.4
+ 0.0.7
${MUDITA_CACHE_DIR}
)
download_asset_release_json(json-community-target
${CMAKE_CURRENT_SOURCE_DIR}/assets/assets_community.json
${CMAKE_BINARY_DIR}/sysroot/sys/current/
MuditaOSPublicAssets
- 0.0.4
+ 0.0.7
${MUDITA_CACHE_DIR}
)
download_asset_json(json-rt1051-target
M products/PurePhone/CMakeLists.txt => products/PurePhone/CMakeLists.txt +2 -2
@@ 134,14 134,14 @@ download_asset_release_json(json-common-target
${CMAKE_CURRENT_SOURCE_DIR}/assets/assets_common.json
${CMAKE_BINARY_DIR}/sysroot/sys/current/
MuditaOSPublicAssets
- 0.0.5
+ 0.0.7
${MUDITA_CACHE_DIR}
)
download_asset_release_json(json-community-target
${CMAKE_CURRENT_SOURCE_DIR}/assets/assets_community.json
${CMAKE_BINARY_DIR}/sysroot/sys/current/
MuditaOSPublicAssets
- 0.0.5
+ 0.0.7
${MUDITA_CACHE_DIR}
)
download_asset_json(json-rt1051-target