106 lines
3.0 KiB
C++
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 |