chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【AWTK使用經(jīng)驗(yàn)】如何在AWTK顯示阿拉伯文本

ZLG致遠(yuǎn)電子 ? 2024-09-12 08:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

AWTK是基于C語言開發(fā)的跨平臺GUI框架。AWTK使用經(jīng)驗(yàn)系列文章將介紹開發(fā)AWTK過程中一些常見問題與解決方案,例如:如何播放視頻或攝像頭畫面?如何播放序列幀動畫?這些都會在系列文章進(jìn)行解答。

本篇文章將簡單介紹阿拉伯文本相關(guān)整形與排序規(guī)則,接著介紹在AWStudio設(shè)置阿拉伯語言翻譯的步驟。


阿拉伯文本整形規(guī)則

一般GUI顯示英文或者中文時(shí),內(nèi)存中存儲的字符串和我們?nèi)搜劭吹降淖址且粯拥?;但是阿拉伯文本比較特殊,內(nèi)存中的字符串需要經(jīng)過幾個(gè)步驟處理(主要是整形與文本方向排序),最終才形成成我們?nèi)搜劭吹降淖址?br />關(guān)于阿拉伯文本整形可以分為5種,下面將簡單介紹這幾種類型的整形。1、字母位置不同,如在開頭或結(jié)尾可能會導(dǎo)致不一樣的變形:0ff2a2cc-709b-11ef-bb4b-92fbcf53809c.png

圖1字母位置變形(Shaper)

2、字母會受到前后字母影響而變形,如下圖兩個(gè)字符會結(jié)合形成第三個(gè)字符:

0ffbc280-709b-11ef-bb4b-92fbcf53809c.png?

圖2連寫變形(Ligature)

3、元音符號和字母會有組合的特性,如下圖,一個(gè)字母與一個(gè)元音符號會有位移結(jié)合的變形:

100ad536-709b-11ef-bb4b-92fbcf53809c.png?

圖3元音符號變形(Diacritics)

4、有時(shí)候?yàn)榱嗣烙^的視覺效果會將字母延長湊成一整行的長度,這種是字母延長變形:

10208700-709b-11ef-bb4b-92fbcf53809c.png?

圖4字母延長變形(Kashida)

5、字母之間插入連接符號會影響變形:

102bbad0-709b-11ef-bb4b-92fbcf53809c.png?

圖5字母插入連接符號變形(Tatwell)

阿拉伯文本雙向排序

Unicode不同類型字符的方向?qū)傩?/strong>

Unicode字符可以分為強(qiáng)字符、弱字符和中性字符,不同類型的字符具有不同的方向性特征:

1、強(qiáng)字符:英文、漢字、阿拉伯字母等,它們方向性都是確定的,比如英文屬于從左到右的LTR字符,阿拉伯屬于從右到左的RTL字符,它們可能影響前后字符的方向性;

2、弱字符:數(shù)字和數(shù)字相關(guān)的符號,它們方向性是確定的,但是對前后字符不會產(chǎn)生影響;

3、中性字符:大部分標(biāo)點(diǎn)符號和空格,它們方向是不確定的,由上下文bidi屬性決定其方向。

AWTK支持阿拉伯文本的哪些規(guī)則

由于阿拉伯文本整形規(guī)則和排序規(guī)則比較復(fù)雜,AWTK內(nèi)部調(diào)用了bidi算法對阿拉伯文本進(jìn)行排序并做簡單的變形,bidi算法支持文本雙向排序算法,在整形規(guī)則上暫時(shí)只支持字母位置變形和連寫變形,不支持元音符號變形。

如何在AWTK使用阿拉伯語言

如果想在AWTK正確使用阿拉伯語言,可以參考以下步驟:

下載阿拉伯語言字庫

AWStudio新建工程的默認(rèn)字庫是不支持顯示阿拉伯文本的,因此需要先找到支持阿拉伯文本字庫文件。字庫文件可以在相關(guān)字體下載網(wǎng)站搜索并下載,或者從awtk資源目錄拷貝自帶的阿拉伯語言字庫文件:

awtk/design/default/fonts/trado.ttf導(dǎo)入阿拉伯語言字庫到工程準(zhǔn)備好字庫文件后,可以使用AWStudio將字庫文件導(dǎo)入到自己的項(xiàng)目工程。在AWStudio資源瀏覽器選擇“字體”,點(diǎn)擊右上角加號選擇字庫文件并導(dǎo)入。10415ce6-709b-11ef-bb4b-92fbcf53809c.png?

圖6使用AWStudio導(dǎo)入字庫文件

在AWStudio設(shè)置阿拉伯語言翻譯文本

AWStudio支持給工程設(shè)置多國語言翻譯并實(shí)時(shí)切換的功能,點(diǎn)擊AWStudio上方菜單欄的“翻譯”按鈕進(jìn)入多語言翻譯設(shè)置頁面,頁面操作步驟如下:1、點(diǎn)擊界面右下角添加語言按鈕;2、在對話框選擇要添加的語言、國家或地區(qū),比如阿拉伯語言選擇“Arabic”;3、點(diǎn)擊對話框確定按鈕;4、在對應(yīng)語言框輸入翻譯后的文本內(nèi)容。(如果顯示異??赡苁亲煮w缺失,可以在添加語言對話框點(diǎn)擊“導(dǎo)入字體”添加字庫文件

1053ccaa-709b-11ef-bb4b-92fbcf53809c.png

圖7使用AWStudio添加阿拉伯語言翻譯

最后在AWStudio給控件text屬性設(shè)置原始文本,并且開啟翻譯選項(xiàng),之后該控件就會根據(jù)程序當(dāng)前語言翻譯進(jìn)行翻譯。

10602540-709b-11ef-bb4b-92fbcf53809c.png

阿拉伯語言方向性問題

由于阿拉伯書寫習(xí)慣是從右到左,在切換語言后同樣需要遵循這個(gè)習(xí)慣。AWTK內(nèi)置的bidi算法可以自動處理阿拉伯文本排序,也可以手動定義bidi屬性(默認(rèn)為auto),如強(qiáng)制設(shè)置RTL排序。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7632

    瀏覽量

    141822
  • awtk
    +關(guān)注

    關(guān)注

    0

    文章

    50

    瀏覽量

    390
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    AWTK使用經(jīng)驗(yàn)】如何響應(yīng)物理按鍵

    AWTK是基于C語言開發(fā)的跨平臺GUI框架?!?b class='flag-5'>AWTK使用經(jīng)驗(yàn)》系列文章將介紹開發(fā)AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設(shè)計(jì)自定義進(jìn)度條?這些都會在系列文章
    的頭像 發(fā)表于 06-06 08:25 ?1176次閱讀
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經(jīng)驗(yàn)</b>】如何響應(yīng)物理按鍵

    AWTK使用經(jīng)驗(yàn)】如何更換AWTK SDK與渲染模式

    AWTK是基于C語言開發(fā)的跨平臺GUI框架?!?b class='flag-5'>AWTK使用經(jīng)驗(yàn)》系列文章將介紹開發(fā)AWTK過程中一些常見問題與解決方案,例如:如何播放攝像頭畫面?如何更換
    的頭像 發(fā)表于 08-01 08:25 ?1559次閱讀
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經(jīng)驗(yàn)</b>】如何更換<b class='flag-5'>AWTK</b> SDK與渲染模式

    VEE對象是否支持阿拉伯字符?

    同時(shí)顯示英語和阿拉伯語(或其他非拉丁字符集)嗎? TIA Mike Watts 以上來自于谷歌翻譯 以下為原文Hi All, Anyone know if VEE objects support
    發(fā)表于 04-02 06:17

    請問怎么在mplab x v3.26中保存阿拉伯字符串?

    大家好!我想在我的代碼中保存一個(gè)阿拉伯字符串。我該怎么辦?我可以在mplab x編輯器中編寫阿拉伯字符串,但當(dāng)我保存項(xiàng)目并退出mplab x時(shí),通過重新打開mplab x中的項(xiàng)目,阿拉伯字符串
    發(fā)表于 08-28 08:22

    什么是AWTK?AWTK有哪些主要特色?

    什么是AWTK?AWTK有哪些主要特色?
    發(fā)表于 06-16 06:43

    介紹AWTK

    ZLG 開源 GUI 引擎 AWTK 1.6 發(fā)布一、介紹AWTK全稱 Toolkit AnyWhere,是ZLG開發(fā)的開源 GUI 引擎,旨在為嵌入式系統(tǒng)、WEB、各種小程序、手機(jī)和 PC 打造
    發(fā)表于 08-20 08:09

    AWTK的寓意

    一、介紹AWTK全稱Toolkit AnyWhere,是ZLG開發(fā)的開源GUI引擎,旨在為嵌入式系統(tǒng)、WEB、各種小程序、手機(jī)和PC打造的通用GUI引擎,為用戶提供一個(gè)功能強(qiáng)大、高效可靠、簡單易用
    發(fā)表于 08-20 08:12

    介紹AWTK

    ZLG開源GUI引擎AWTK發(fā)布1.1版本一、介紹AWTK全稱Toolkit AnyWhere,是ZLG開發(fā)的開源GUI引擎,旨在為嵌入式系統(tǒng)、WEB、各種小程序、手機(jī)和PC打造的通用GUI引擎,為
    發(fā)表于 08-20 08:18

    AWTK-MVVM是什么?其功能有哪些

    AWTK-MVVM是一套為AWTK用C語言開發(fā),并支持各種腳本語言的MVVM框架,實(shí)現(xiàn)了數(shù)據(jù)綁定、命令綁定和窗口導(dǎo)航等基本功能,使用AWTK-MVVM開發(fā)應(yīng)用程序,無需學(xué)習(xí)AWTK本身
    發(fā)表于 12-15 06:07

    是否有其他字體支持更好的阿拉伯語文本?

    我有一個(gè)問題,要在屏幕上顯示阿拉伯語文本。目前我使用的字體是 Janna LT Regular。孤立的字母似乎不是問題。但是如果我想寫更長的文本/單詞,那么我會在屏幕上看到很多“?”是否有其他字體支持更好的
    發(fā)表于 01-12 08:41

    HC8218 阿拉伯電話本來電顯示電話芯片

    HC8218 阿拉伯電話本來電顯示電話芯片 來電顯示:FSK & DTMF兼容英文/阿拉伯文/波斯文三種語言菜單及電話簿輸入;電話簿輸入可采用
    發(fā)表于 01-15 09:44 ?1265次閱讀

    AWTK使用經(jīng)驗(yàn)】如何設(shè)計(jì)立體電池進(jìn)度條?

    AWTK是基于C語言開發(fā)的跨平臺GUI框架。《AWTK使用經(jīng)驗(yàn)》系列文章將介紹開發(fā)AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設(shè)計(jì)自定義進(jìn)度條?這些都會在系列文章
    的頭像 發(fā)表于 04-18 08:25 ?788次閱讀
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經(jīng)驗(yàn)</b>】如何設(shè)計(jì)立體電池進(jìn)度條?

    AWTK使用經(jīng)驗(yàn)】加載和釋放外部圖片

    AWTK是基于C語言開發(fā)的跨平臺GUI框架?!?b class='flag-5'>AWTK使用經(jīng)驗(yàn)》系列文章將介紹開發(fā)AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設(shè)計(jì)自定義進(jìn)度條?這些都會在系列文章
    的頭像 發(fā)表于 04-26 08:25 ?885次閱讀
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經(jīng)驗(yàn)</b>】加載和釋放外部圖片

    AWTK使用經(jīng)驗(yàn)】如何播放視頻或攝像頭畫面

    AWTK是基于C語言開發(fā)的跨平臺GUI框架?!?b class='flag-5'>AWTK使用經(jīng)驗(yàn)》系列文章將介紹開發(fā)AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設(shè)計(jì)自定義進(jìn)度條?這些都會在系列文章
    的頭像 發(fā)表于 07-04 08:25 ?1517次閱讀
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經(jīng)驗(yàn)</b>】如何播放視頻或攝像頭畫面

    AWTK使用經(jīng)驗(yàn)】如何實(shí)現(xiàn)序列幀動畫

    AWTK是基于C語言開發(fā)的跨平臺GUI框架。《AWTK使用經(jīng)驗(yàn)》系列文章將介紹開發(fā)AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設(shè)計(jì)自定義進(jìn)度條?這些都會在系列文章
    的頭像 發(fā)表于 07-18 08:25 ?862次閱讀
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經(jīng)驗(yàn)</b>】如何實(shí)現(xiàn)序列幀動畫