增加多国语言切换字体逻辑
authorhcj <1224667075@qq.com>
Mon, 9 Sep 2024 07:06:14 +0000 (15:06 +0800)
committerhcj <1224667075@qq.com>
Mon, 9 Sep 2024 07:06:14 +0000 (15:06 +0800)
14 files changed:
code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp
code/sdk/application/wearable/fd230app/nativeui/languagecode/LanguageInit.cpp
code/sdk/application/wearable/fd230app/nativeui/languagecode/include/LanguageSwitchView.h
code/sdk/application/wearable/fd230app/nativeui/languagecode/src/LanguageSwitchPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/languagecode/src/LanguageSwitchView.cpp
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/AGRA.TTF [deleted file]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/AGRA_TH.ttf [deleted file]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/Anuphan-VariableFont_wght.ttf [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/Championship.ttf [deleted file]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/HarmonyOS_Sans_Naskh_Arabic_Regular.ttf [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/Rubik-VariableFont_wght.ttf [deleted file]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/hindi.ttf [new file with mode: 0644]
code/sdk/middleware/services/gui/uikit/utils/interfaces/innerkits/graphic_config.h

index f713b58..b9ffded 100644 (file)
@@ -459,24 +459,14 @@ namespace OHOS
         // ConfigModel::GetInstance()->Init();
         // 初始化语言
         GraphicStartUp::InitFontEngine(MEM_POOL_UI_FONT, MEM_POOL_UI_FONT_SIZE, OHOS::VECTOR_FONT_DIR, HARMONYOS_VECTOR_FONT_FILENAME);
+        //GraphicStartUp::InitFontEngine(MEM_POOL_UI_FONT, MEM_POOL_UI_FONT_SIZE, OHOS::NEW_FONT_DIR, HARMONYOS_VECTOR_ARABIC_FILENAME);
         GraphicStartUp::InitFontEngine(MEM_POOL_UI_FONT, MEM_POOL_UI_FONT_SIZE, OHOS::NEW_FONT_DIR, GILROY_BOLD_FONT);       // 注册字体
         GraphicStartUp::InitFontEngine(MEM_POOL_UI_FONT, MEM_POOL_UI_FONT_SIZE, OHOS::NEW_FONT_DIR, AUDIOWIDE_REGULAR_FONT); // 注册字体
 
-        GraphicStartUp::InitFontEngine(MEM_POOL_UI_FONT, MEM_POOL_UI_FONT_SIZE, OHOS::NEW_FONT_DIR, KOREA_FONT); // 注册字体 //韩语
-#if 0
-        GraphicStartUp::InitFontEngine(MEM_POOL_UI_FONT, MEM_POOL_UI_FONT_SIZE, OHOS::NEW_FONT_DIR, HINDI_FONT);    // 注册字体 //印地语
-        // GraphicStartUp::InitFontEngine(MEM_POOL_UI_FONT, MEM_POOL_UI_FONT_SIZE, OHOS::NEW_FONT_DIR, THAI_FONT);    // 注册字体 //泰语
-        GraphicStartUp::InitFontEngine(MEM_POOL_UI_FONT, MEM_POOL_UI_FONT_SIZE, OHOS::NEW_FONT_DIR, PERSIAN_FONT);    // 注册字体 //波斯语
-        GraphicStartUp::InitFontEngine(MEM_POOL_UI_FONT, MEM_POOL_UI_FONT_SIZE, OHOS::NEW_FONT_DIR, ARABIC_FONT);    // 注册字体 //阿拉伯语
-        GraphicStartUp::InitFontEngine(MEM_POOL_UI_FONT, MEM_POOL_UI_FONT_SIZE, OHOS::NEW_FONT_DIR, HEBREW_FONT);    // 注册字体 //希伯来语
         
-
-        GraphicStartUp::InitFontEngine(MEM_POOL_UI_FONT, MEM_POOL_UI_FONT_SIZE, OHOS::NEW_FONT_DIR, SHEEPING_CATS_FONT);        // 注册字体
-        GraphicStartUp::InitFontEngine(MEM_POOL_UI_FONT, MEM_POOL_UI_FONT_SIZE, OHOS::NEW_FONT_DIR, GILROY_REGULAR_FONT);       // 注册字体
-#endif
         // 默认设置全局字体为HarmonyOSFont,其他时候根据语言选择字体名字
         set_current_global_font_name(HARMONYOS_VECTOR_FONT_FILENAME);
-
+    
         WEARABLE_LOGI(WEARABLE_LOG_MODULE_LAUNCHER_FWK, "NativeLauncher::InitNativeLauncher  fontname %s", DEFAULT_VECTOR_FONT_FILENAME);
         /* -------------------------------------------------------------------------- */
         // 从语言json配置里面读取语言包
index d53c602..74ccf20 100644 (file)
@@ -17,6 +17,8 @@
 #include <NativeAbility.h>
 #include "AppViewIDs.h"
 #include "languagecode/include/LanguageSwitchModel.h"
+#include "common/graphic_startup.h"
+
 namespace OHOS
 {
     // 初始化 languages 数组
@@ -39,19 +41,29 @@ namespace OHOS
         {ID, "id", "Bahasa Indonesia", "印尼语",HARMONYOS_VECTOR_FONT_FILENAME},
         {MS, "ms", "Bahasa Melayu", "马来语",HARMONYOS_VECTOR_FONT_FILENAME},
         {PL, "pl", "Polski", "波兰语",HARMONYOS_VECTOR_FONT_FILENAME},
-        {TH, "th", "ไทย", "泰语",HARMONYOS_VECTOR_FONT_FILENAME},//THAI_FONT
+        {TH, "th", "ไทย", "泰语",ANUPHAN_FONT},//THAI_FONT
         {VI, "vi", "Tiếng Việt", "越南语",HARMONYOS_VECTOR_FONT_FILENAME},
         {FI, "fi", "Suomi", "芬兰语",HARMONYOS_VECTOR_FONT_FILENAME},
         {RO, "ro", "Română", "罗马尼亚语",HARMONYOS_VECTOR_FONT_FILENAME},
         {TR, "tr", "Türkçe", "土耳其语",HARMONYOS_VECTOR_FONT_FILENAME},
-        {FA, "fa", "فارسی", "波斯语",PERSIAN_FONT},
-        {AR, "ar", "العربية", "阿拉伯语",ARABIC_FONT},
+        {FA, "fa", "فارسی", "波斯语",HARMONYOS_VECTOR_ARABIC_FILENAME},
+        {AR, "ar", "العربية", "阿拉伯语",HARMONYOS_VECTOR_ARABIC_FILENAME},
         {HE, "he", "עברית", "希伯来语",HEBREW_FONT},
         {UK, "uk", "Українська", "乌克兰语",HARMONYOS_VECTOR_FONT_FILENAME},
         {SV, "sv", "Svenska", "瑞典语",HARMONYOS_VECTOR_FONT_FILENAME},
         {UZ, "uz", "O‘zbek", "乌兹别克语",HARMONYOS_VECTOR_FONT_FILENAME},
         {AZ, "az", "Azərbaycan dili", "阿塞拜疆语",HARMONYOS_VECTOR_FONT_FILENAME},
     };
+    
+    //稀有语言单独字库,此列需要重新加载字体
+    // struct Language uncommon_languages[] = 
+    // {
+    //     {KO, "ko", "한국어", "韩语",KOREA_FONT},
+    //     {HI, "hi", "हिन्दी", "印地语",HINDI_FONT_TTF},
+    //     {TH, "th", "ไทย", "泰语",ANUPHAN_FONT},//THAI_FONT
+    //     {HE, "he", "עברית", "希伯来语",HEBREW_FONT},
+    // };
+
 
   
     // static const uint8_t langcount = 2;
@@ -114,17 +126,44 @@ namespace OHOS
         // 波斯语(Persian,也称为法尔斯语)
         // 乌尔都语(Urdu)
         // 阿拉米语(Aramaic)
-        char* fontname=get_current_global_font_name();
-        if (memcpy_s(fontname,strlen(fontname),PERSIAN_FONT,strlen(PERSIAN_FONT)) == 0)
-            return 1;
-        else if (memcpy_s(fontname,strlen(fontname),ARABIC_FONT,strlen(ARABIC_FONT)) == 0)
-            return 1;
-        else if (memcpy_s(fontname,strlen(fontname),HEBREW_FONT,strlen(HEBREW_FONT)) == 0)
-            return 1;
-        else  
-            return 0;        
+        // char* fontname=get_current_global_font_name();
+        // if (memcpy_s(fontname,strlen(fontname),PERSIAN_FONT,strlen(PERSIAN_FONT)) == 0)
+        //     return 1;
+        // else if (memcpy_s(fontname,strlen(fontname),ARABIC_FONT,strlen(ARABIC_FONT)) == 0)
+        //     return 1;
+        // else if (memcpy_s(fontname,strlen(fontname),HEBREW_FONT,strlen(HEBREW_FONT)) == 0)
+        //     return 1;
+        // else  
+        return 0;        
     }
 
+    const char* get_language_font(uint8_t id)
+    {
+        for(int i=0;i<(sizeof( languages)/sizeof(languages[0]));i++)
+        {
+            if(languages[i].languageid==id)
+            {
+                return languages[i].fontname;
+            }
+        }
+        return NULL;
+    }
+
+    bool is_load_languages(uint8_t id)
+    {
+        for(int i=0;i<(sizeof( languages)/sizeof(languages[0]));i++)
+        {
+            if(languages[i].languageid==id)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s",languages[i].fontname);
+                if(strcmp(languages[i].fontname,get_current_global_font_name())!=0 && (strcmp(languages[i].fontname,HARMONYOS_VECTOR_FONT_FILENAME)!=0))
+                return true;
+                else
+                return false;
+            }
+        }
+        return false;
+    }
 
     language::language()
     {
@@ -153,6 +192,13 @@ namespace OHOS
             FontGlobalManager::GetInstance()->RegisterLanguageInfo(resFiles, MAX_LANGUAGE, 0);
         #else
         int thelanguage = ConfigModel::GetInstance()->GetLanguage();
+        if(is_load_languages(thelanguage))
+        {
+            GraphicStartUp::InitFontEngine(MEM_POOL_UI_FONT, MEM_POOL_UI_FONT_SIZE, OHOS::NEW_FONT_DIR,  get_language_font(thelanguage)); // 注册字体 
+            set_current_global_font_name(get_language_font(thelanguage));
+        }
+      
+
         if(ConfigModel::GetInstance()->GetisFirstTimeStart() == true)
         {
             /**
index b35757c..51d15f3 100644 (file)
@@ -14,7 +14,7 @@
 #include "components/ui_label_ext.h"
 #include "components/ui_list.h"
 #include "languagecode/include/LanguageSwitchListAdapter.h"
-
+#include "string"
 namespace OHOS
 {
     class LanguageSwitchPresenter;
@@ -32,6 +32,18 @@ namespace OHOS
         void OnStop() override;
         void AddLanguageItemToList(const Language &item);
         UIList *GetLanguageList(void);
+        void InithintView();
+        void show_hint_group(std::string code,bool data);
+
+        std::string get_hint_id_code()
+        {
+            return hint_id_code;
+        }
+
+        UIButton *GetLanguagebutton_cancel(void);
+
+        
+        UIButton *GetLanguagebutton_ensure(void);
 
     private:
         bool LanguageSwitchScrollViewInit(void);
@@ -39,6 +51,12 @@ namespace OHOS
         bool LanguageSwitchListViewInit(void);
         void LanguageSwitchViewInit(void);
         void ClearAll(void);
+        UIViewGroup *group{nullptr};
+        UIButton *button_cancel{nullptr};
+        UIButton *button_ensure{nullptr};
+        UILabel *LanguageSwitchViewhintLabel{nullptr};               // "语言"
+        std::string hint_id_code;
+
         UIScrollView *LanguageSwitchScrollView{nullptr};
         UILabelExt *LanguageSwitchViewTitleLabel{nullptr};               // "语言"
         UIList *LanguageList{nullptr};                                   // 语言列表
index d7e89d3..451f59c 100644 (file)
@@ -16,6 +16,7 @@
 #include "ConfigModel.h"
 #include "settings/include/SettingModel.h"
 #include "bleService.h"
+#include "broadcast_feature.h"
 namespace OHOS
 {
     extern Language languages[];
@@ -93,13 +94,36 @@ namespace OHOS
 
     bool LanguageSwitchPresenter::OnClick(UIView &view, const ClickEvent &event)
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RespiratoryTrainingPresenter::OnClick");
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RespiratoryTrainingPresenter::OnClick");
 
+        UNUSED(event);
+        const char *lastLanguageCode = p_LanguageSwitchModel->GetLastLanguageCode();
+        UILabelButtonExt *p_UILabelButtonExt = dynamic_cast<UILabelButtonExt *>(&view);
+        char *id = const_cast<char *>(p_UILabelButtonExt->GetViewId());
+        language *g_planguage = language::GetInstance();
+
+    
         /* -------------------------------------------------------------------------- */
-        if (ConfigModel::GetInstance()->GetisFirstTimeStart() == true)
+        if(strcmp(view.GetViewId() ,"BUTTON_CHECK_OK")==0)
+        {
+            uint8_t power_buf[2]={0};
+            power_buf[0]=3;
+            std::string Hint_ID= LanguageSwitchView::GetInstance()->get_hint_id_code();
+
+            g_planguage->ChangeLanguage(Hint_ID);
+
+            CustomEventPublish(TOPIC_EVENT_DEVICE_BIND,power_buf,2);
+            return true;
+        }
+        else if(strcmp(view.GetViewId(), "BUTTON_CHECK_NO")==0)
         {
-            NativeAbility::GetInstance().EnterSlice(VIEW_WATCH_QR_CODE);
+
+
+            LanguageSwitchView::GetInstance()->show_hint_group("",false);
+
+            return true;
         }
+        
         // if (ConfigModel::GetInstance()->GetisFirstTimeStart() == true && SettingModel::GetInstance().GetPhoneConnectStatus() == false)
         // {
         //     NativeAbility::GetInstance().EnterSlice(VIEW_WATCH_QR_CODE);
@@ -116,16 +140,13 @@ namespace OHOS
         // }
         /* -------------------------------------------------------------------------- */
 
-        UNUSED(event);
-        const char *lastLanguageCode = p_LanguageSwitchModel->GetLastLanguageCode();
-        UILabelButtonExt *p_UILabelButtonExt = dynamic_cast<UILabelButtonExt *>(&view);
-        char *id = const_cast<char *>(p_UILabelButtonExt->GetViewId());
-        language *g_planguage = language::GetInstance();
+        
 
         if (p_UILabelButtonExt != nullptr)
         {
             char *currentLanguageCode = id;
             p_LanguageSwitchModel->SetCurLanguageCode(currentLanguageCode); // 设置新的当前语言Code
+
         }
         else
         {
@@ -141,15 +162,27 @@ namespace OHOS
         }
         else
         {
-            g_planguage->ChangeLanguage(p_LanguageSwitchModel->GetCurLanguageCode());
-            m_labelext->SetTextId(STR_LANGUAGE_SELECTION);
-            m_labelext->ForceResetText(); // 强制刷新
-
-            p_UILabelButtonExt->SetImageSrc(PNG_CHECKBOX_ON_IMAGE, PNG_CHECKBOX_ON_IMAGE);
-            p_UILabelButtonExt->Invalidate();
-            LanguageSwitchView::GetInstance()->GetLanguageList()->RefreshList();
-            // 更新上一个语言ID
-            p_LanguageSwitchModel->SetLastLanguageCode(p_LanguageSwitchModel->GetCurLanguageCode());
+
+            LanguageId currentLanguageId = LanguageManager::GetInstance().GetLanguageIdByCode(id);
+            if(is_load_languages(currentLanguageId))
+            {
+                LanguageSwitchView::GetInstance()->show_hint_group(id,true);
+            }
+            else
+            {
+                g_planguage->ChangeLanguage(p_LanguageSwitchModel->GetCurLanguageCode());
+                m_labelext->SetTextId(STR_LANGUAGE_SELECTION);
+                m_labelext->ForceResetText(); // 强制刷新
+
+                p_UILabelButtonExt->SetImageSrc(PNG_CHECKBOX_ON_IMAGE, PNG_CHECKBOX_ON_IMAGE);
+                p_UILabelButtonExt->Invalidate();
+                LanguageSwitchView::GetInstance()->GetLanguageList()->RefreshList();
+                // 更新上一个语言ID
+                p_LanguageSwitchModel->SetLastLanguageCode(p_LanguageSwitchModel->GetCurLanguageCode());
+               
+
+            }
+           
         }
         return true;
     }
index 9f86091..58e906b 100644 (file)
@@ -1,6 +1,7 @@
 #include "languagecode/include/LanguageSwitchView.h"
 #include "languagecode/include/LanguageSwitchPresenter.h"
 #include "wearable_log.h"
+#include "UiConfig.h"
 namespace OHOS
 {
 
@@ -73,6 +74,20 @@ namespace OHOS
 
             delete LanguageSwitchScrollView;
             LanguageSwitchScrollView = nullptr;
+
+            if(group)
+            {
+                group->RemoveAll();
+
+                delete button_cancel;
+                button_cancel = nullptr;
+
+                delete button_ensure;
+                button_ensure = nullptr;
+
+                delete LanguageSwitchViewhintLabel;
+                LanguageSwitchViewhintLabel = nullptr;
+            }
         }
     }
 
@@ -156,6 +171,101 @@ namespace OHOS
         }
     }
 
+    void LanguageSwitchView::show_hint_group(std::string code,bool data)
+    {
+        group->SetVisible(data);
+        RootView::GetInstance()->Invalidate();
+        if(data)
+        {
+            hint_id_code=code;
+        }
+        return;
+    }
+
+    UIButton *LanguageSwitchView::GetLanguagebutton_cancel(void)
+    {
+        return button_cancel;
+    }
+
+
+    UIButton *LanguageSwitchView::GetLanguagebutton_ensure(void)
+    {
+        return button_ensure;
+    }
+
+    //Take effect after restart
+    void LanguageSwitchView::InithintView()
+    {
+
+        group = new UIViewGroup();
+        if(group==nullptr)
+        {
+            return;
+        }
+        group->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+        group->SetTouchable(true);
+        group->SetDraggable(true);
+        group->SetOnDragListener(presenter_);
+
+
+        if (LanguageSwitchViewhintLabel == nullptr) {
+        LanguageSwitchViewhintLabel = new UILabel();
+        }
+        LanguageSwitchViewhintLabel->SetPosition(47, 194);         // widget's left position and top position
+        LanguageSwitchViewhintLabel->Resize(370, 60);          // widget's width and height
+        LanguageSwitchViewhintLabel->SetViewId("label1");// Set style
+        LanguageSwitchViewhintLabel->SetStyle(STYLE_TEXT_FONT, 30);
+
+        LanguageSwitchViewhintLabel->SetText("Take effect after restart");
+        LanguageSwitchViewhintLabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
+        LanguageSwitchViewhintLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+        LanguageSwitchViewhintLabel->SetRollSpeed(0);
+        LanguageSwitchViewhintLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+
+        group->Add(LanguageSwitchViewhintLabel);
+        LanguageSwitchViewhintLabel->SetVisible(true);
+
+
+
+        button_cancel = new UIButton();
+        if (button_cancel == nullptr)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemShutdown::new button_cancel fail!");
+            return ;
+        }
+        button_cancel->SetPosition(97, 299, 130, 130);
+        button_cancel->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
+        button_cancel->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
+        button_cancel->SetImagePosition(15, 15);
+        button_cancel->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff191919, UIButton::PRESSED);
+        button_cancel->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);
+        button_cancel->SetImageSrc(PNG_SYSTEM_CHECK_OFF_IMAGE, PNG_SYSTEM_CHECK_OFF_IMAGE);
+        button_cancel->SetViewId("BUTTON_CHECK_NO");
+        group->Add(button_cancel);
+        /* ------------------------ button_ensure ----------------------- */
+        button_ensure = new UIButton();
+        if (button_ensure == nullptr)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemShutdown::new button_ensure fail!");
+            return ;
+        }
+        button_ensure->SetPosition(240, 299, 130, 130);
+        button_ensure->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
+        button_ensure->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
+        button_ensure->SetImagePosition(15, 15);
+        button_ensure->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff191919, UIButton::PRESSED);
+        button_ensure->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);
+        button_ensure->SetImageSrc(PNG_SYSTEM_CHECK_ON_IMAGE, PNG_SYSTEM_CHECK_ON_IMAGE);
+        button_ensure->SetViewId("BUTTON_CHECK_OK");
+        group->Add(button_ensure);
+
+        button_cancel->SetOnClickListener(presenter_);
+        button_ensure->SetOnClickListener(presenter_);
+        group->SetVisible(false);
+
+    }
+
+
     void LanguageSwitchView::OnStart()
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "LanguageSwitchView::OnStart");
@@ -167,6 +277,7 @@ namespace OHOS
         container_->SetOnDragListener(presenter_);
 
         LanguageSwitchViewInit();
+        InithintView();
         SetKeyActListener();
     }
 
@@ -177,6 +288,7 @@ namespace OHOS
         container_->Add(LanguageSwitchScrollView);
         LanguageList->SetAdapter(p_LanguageSwitchListAdapter);
         LanguageSwitchScrollView->Add(LanguageList);
+        container_->Add(group);
         Draw();
     }
 
index ed1afed..7027031 100644 (file)
@@ -3848,10 +3848,11 @@ static void GetWatchStatusCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *t
 \r
     //0空闲状态 9 usb状态 10 运动训练状态\r
      uint8_t watchStatus = 0;\r
+     \r
     if(uapi_dev_runtime_get_train_status())\r
     watchStatus=10;\r
    \r
-    value[17] = 0;\r
+    value[17] = watchStatus;\r
     value[18] = Calculate_CRC(value,18);\r
     sendBleData(value,19);\r
 }\r
@@ -5368,6 +5369,13 @@ void Send_Sleep_Bin_Data(uint8_t day, uint16_t num)
     printf("Send_Sleep_Bin_Data file_size : %d \r\n",file_size);\r
 \r
     data=(char *)malloc(file_size);\r
+   \r
+    if(data==NULL)\r
+    {\r
+        return;\r
+    }\r
+    memset(data,0,file_size);\r
+\r
     data[0]=sleep_count;\r
 \r
     if(data==NULL)\r
@@ -5414,6 +5422,7 @@ void Send_Sleep_Bin_Data(uint8_t day, uint16_t num)
 \r
             ble_data_type type_={0x01,0x4b,file_size,pack,pack_id};\r
             send_big_data(type_,data+offset,num);\r
+           \r
             //send_big_data(1,data+offset,num,file_size,pack_id,pack,0x4b,1);\r
             offset+=num;\r
         }\r
@@ -5424,6 +5433,12 @@ void Send_Sleep_Bin_Data(uint8_t day, uint16_t num)
             //#endif\r
             ble_data_type type_={0x01,0x4b,file_size,pack,pack_id};\r
             send_big_data(type_,data+offset,surplus_len);\r
+             printf("开始\r\n");\r
+            for(int i=0;i<surplus_len;i++)\r
+            {\r
+                printf("%02X ",(uint8_t)data[i]);\r
+            }\r
+            printf("结束\r\n");\r
 \r
             //send_big_data(1,data+offset,surplus_len,file_size,pack_id,pack,0x4b,1);\r
             break;\r
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/AGRA.TTF b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/AGRA.TTF
deleted file mode 100644 (file)
index bb5e441..0000000
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/AGRA.TTF and /dev/null differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/AGRA_TH.ttf b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/AGRA_TH.ttf
deleted file mode 100644 (file)
index 66ac05c..0000000
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/AGRA_TH.ttf and /dev/null differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/Anuphan-VariableFont_wght.ttf b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/Anuphan-VariableFont_wght.ttf
new file mode 100644 (file)
index 0000000..ffa363f
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/Anuphan-VariableFont_wght.ttf differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/Championship.ttf b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/Championship.ttf
deleted file mode 100644 (file)
index b96f3be..0000000
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/Championship.ttf and /dev/null differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/HarmonyOS_Sans_Naskh_Arabic_Regular.ttf b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/HarmonyOS_Sans_Naskh_Arabic_Regular.ttf
new file mode 100644 (file)
index 0000000..01e01c5
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/HarmonyOS_Sans_Naskh_Arabic_Regular.ttf differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/Rubik-VariableFont_wght.ttf b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/Rubik-VariableFont_wght.ttf
deleted file mode 100644 (file)
index bbab349..0000000
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/Rubik-VariableFont_wght.ttf and /dev/null differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/hindi.ttf b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/hindi.ttf
new file mode 100644 (file)
index 0000000..14479c1
Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font_library/hindi.ttf differ
index 8e96721..9d65c36 100755 (executable)
@@ -508,12 +508,12 @@ namespace OHOS {
 #define GILROY_MEDIUM_FONT                "Gilroy_Medium.ttf"
 #define SHEEPING_CATS_FONT                "Sheeping_Cats.ttf"
 #define AUDIOWIDE_REGULAR_FONT            "Audiowide_Regular.ttf"
+//多国语言字体
 #define KOREA_FONT                        "Orbit-Regular.ttf" //韩语
-#define HINDI_FONT                        "AGRA_TH.ttf"    //印地语
-#define THAI_FONT                         "KartriderThaiOTFMedium.ttf"  //泰语
-#define PERSIAN_FONT                      "Championship.ttf" //波斯语
-#define ARABIC_FONT                       "Rubik-VariableFont_wght.ttf"//阿拉伯语
+#define HINDI_FONT                        "hindi.ttf"    //印地语
 #define HEBREW_FONT                       "Handjet.ttf"//希伯来语
+#define HARMONYOS_VECTOR_ARABIC_FILENAME     "HarmonyOS_Sans_Naskh_Arabic_Regular.ttf"//阿拉伯语
+#define ANUPHAN_FONT                         "Anuphan-VariableFont_wght.ttf"//泰语
 
 #else
 #if ENABLE_VECTOR_FONT
@@ -540,6 +540,10 @@ int set_current_global_font_name(const char* fontname);
 */
 int get_current_font_direction(void);
 
+const char* get_language_font(uint8_t id);
+
+bool is_load_languages(uint8_t id);
+
 #define DEFAULT_VECTOR_FONT_FILENAME     get_current_global_font_name()
 
 /* resources path. */