mcu_hi3321_watch/tjd/ui/common/TjdUiMultiLanguageExt.h
2025-05-26 20:15:20 +08:00

106 lines
3.0 KiB
C++

/*----------------------------------------------------------------------------
* 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