/*---------------------------------------------------------------------------- * Copyright (c) TJD Technologies Co., Ltd. 2024. All rights reserved. * * Description: * * Author: huangshuyi * * Create: 2024-6 *--------------------------------------------------------------------------*/ #ifndef TJDUI_MULTI_LANGUAGE_EXT_H #define TJDUI_MULTI_LANGUAGE_EXT_H #include "TjdUiMultiLanguage.h" #include "font/font_global_manager.h" #include "font/ui_font.h" #include "font/ui_multi_font_manager.h" #include "fs_user_common.h" #define TJD_FONT_SIZE_100 100 #define TJD_FONT_SIZE_76 76 #define TJD_FONT_SIZE_70 70 #define TJD_FONT_SIZE_56 56 #define TJD_FONT_SIZE_50 50 #define TJD_FONT_SIZE_48 48 #define TJD_FONT_SIZE_42 42 #define TJD_FONT_SIZE_40 40 #define TJD_FONT_SIZE_38 38 #define TJD_FONT_SIZE_36 36 #define TJD_FONT_SIZE_34 34 #define TJD_FONT_SIZE_30 30 #define TJD_FONT_SIZE_28 28 #define TJD_FONT_SIZE_27 27 #define TJD_FONT_SIZE_26 26 #define TJD_FONT_SIZE_24 24 #define TJD_FONT_SIZE_22 22 #define TJD_FONT_SIZE_20 20 #define TJD_FONT_SIZE_18 18 #define TJD_FONT_SIZE_16 16 #define TJD_FONT_SIZE_14 14 #define TJD_FONT_SIZE_12 12 #define TJD_FONT_SIZE_10 10 #define TJD_LANGUAGE_PATH TJD_FS_DIR_RES "/" #define TJD_VECTOR_FONT_DIR TJD_FS_DIR_RES "/" #define TJD_VECTOR_FONT_FILENAME "PingFangMedium.TTF" #define TJD_DIN_MEDIUM_FONT_FILENAME "din_medium.ttf" #define TJD_D_DIN_PRO_MEDIUM_FONT_FILENAME "d_din_pro_medium.ttf" #define TJD_D_DIN_PRO_REGULAR_FONT_FILENAME "d_din_pro_regular.ttf" #define SOURCE_VECTOR_FONT_FILENAME "HarmonyOS_Sans_Naskh_Arabic_Light.ttf" namespace TJD { class TjdUiMultiLanguageExt { public: TjdUiMultiLanguageExt(const TjdUiMultiLanguageExt &) = delete; TjdUiMultiLanguageExt &operator=(const TjdUiMultiLanguageExt &) = delete; TjdUiMultiLanguageExt() {} virtual ~TjdUiMultiLanguageExt() {} static bool RegisterLanguage(void); static bool RegisterFont(void); static void SetCurrentLanguage(language_enum id) { // id = LANGUAGE_Arabic; TjdUiLanguageId langId = TransferLanguage(id); OHOS::FontGlobalManager::GetInstance()->SetCurrentLangId(langId); currentLanguage_ = langId; } static TjdUiLanguageId TransferLanguage(language_enum id) { TjdUiLanguageId langId; switch (id) { case LANGUAGE_ENGLISH: langId = LANGUAGE_ID_EN; break; case LANGUAGE_CHINESE: langId = LANGUAGE_ID_CHS; break; // case LANGUAGE_ARABIC: // langId = LANGUAGE_ID_ARABIC; // break; default: langId = LANGUAGE_ID_CHS; break; } return langId; } static TjdUiLanguageId GetCurrentLanguage(void) { return currentLanguage_; } static bool IsSpecialLanguage(void) { if (currentLanguage_ == LANGUAGE_ID_ARABIC) { return true; } return false; } private: static TjdUiLanguageId currentLanguage_; }; } // namespace TJD #endif