泰文Unicode編碼表及排版規則

前言:泰文Unicode編碼表及排版規則

泰文 Unicode字符表 泰文符號

字符數量統計: 128 Unicode編碼範圍:0E00—0E7F代碼點

泰文是一個Unicode塊,包含泰文、Lanna Tai和Pali語言的字符。依據泰文工業標準620-2533。

範圍

U+0E00…U+0E7F (128 代碼位)
已經分配:87代碼位
暫未使用:41個保留位

Unicode字符表

泰文Unicode字符表
字符錶鏈接:http://www.52unicode.com/thai-zifu

排版規則

一、字母編碼

這裏只介紹泰文的Unicode編碼。Unicode編碼爲雙字節,前面爲高字節,後面爲低字節,這裏都用十六進制表示。如0E00表示一個空格,0E爲高字節,00爲低字節。

泰文編碼和字母的對照關係如下:
編碼段: 0E00-0E16,0E17-0E2D,0E2E-0E30
泰文字符:กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะ
編碼段: 0E31-0E3A
泰文字符:
ัา ำ ี ึ ื ุ ู ฺ
編碼段: 0E3F-0E46
泰文字符:฿ เ แ โ ใ ไ ๅ ๆ
編碼段: 0E47-0E4E
泰文字符: ็ ่ ้ ๊ ๋ ์ ํ ๎
編碼段: 0E4F-0E5B
泰文字符:๏๐๑๒๓๔๕๖๗๘๙๚๛

二、拼寫規則

泰語是一種拼音文字。有元音,輔音和聲調。

2.1. 元音

元音有單元音和複元音之分,複元音是由兩個或三個單元音組成的。單元音可以位於輔音的上下左右各側(說明:下面的槓“_”表示輔音的位置)。

規則①:在輔音右邊的單元音
字符: -า -ะ -อ
例子: กา จะ ดอ

規則②:在輔音左邊的單元音
字符: เ- แ- โ- เ-าะ เ-ะ แ-ะ โ-ะ เ-อ แ-อ
例子:เก แจ โอ แตะ โดะ

規則③:在輔音上邊的單元音
字符: -ิ -ี -ึ -ื
例子: ดีษืฉึ

規則④:在輔音下邊的單元音
字符: -ุ -ู
例子: กุมู

2.2 輔音

單輔音有中輔音,高輔音,低輔音,塞音,擦音等之分。它們與長元音和短元音相拼時,能夠影響或決定聲調。複輔音是由多個單輔音組成的。

單輔音:กจดตฎฏบปอขคฆฉชฌผพภฝฟถฐทธฑฒสศษซหฮงนมยญวรลฬ

規則①:有輔音字母อ 字母和元音字母อ 外形相同,只能靠其位置進行區分。
例子: ออ

規則②:有輔音字符ปฝฟ,上面加元音或聲調時,元音或聲調字符要略微向左移一些。
例子:ปิป๊ฟีฝื่

2.3 聲調

泰文中有5個聲調,只有第一聲不用標出來。
聲調:    

規則①:聲調加在輔音的右上方。
例子:ก่า

規則②:輔音上有元音,再加聲調符號時,聲調符號要加在元音上。
例子:อื่ทึ๊

2.4 尾音

尾音: -ง -น -ม -ำ -ก -ด -บ

規則①:元音字母-ะ 後有尾音時。要把-ะ寫成-ั,放在輔音和尾音之間的上方。
例子: 如กะง 要寫成กัง

規則②:元音字母เ-ะ 和แ-ะ 後有尾音時,把-ะ 寫成-็,放在輔音和尾音之間的上方。
例子: 如เตะม 寫成เต็ม

規則③:元音字母โ-ะ 後有尾音時,โ-ะ省略不寫成。
例子: 如โตะม 寫成ตม

規則④:複元音-ัว 後有尾音時,要將去-ั掉。
例子: 如จัวน 寫成จวน

規則⑤: -ำ 和-ัม 讀音相同,詞義不同。
例子: 如จกำ和กัม

2.5 數字

泰文有自己的數字符(0-9)。
數字字符:๐๑๒๓๔๕๖๗๘๙

2.6 其他

其他符號ฤฦๅ ์(不發音符號)ๆ(重複符號)ฯ(簡略符號)

三、處理方式

根據上述的拼寫規則,可以把所有字符形象的分爲如下幾類:

  1. 鞋子字符。它可以疊加在主體字符的下面,就像給主體字符穿的鞋子一樣。
  2. 主體字符。它上面可以疊加帽子字符,下面可以疊加鞋子字符,就像給它帶上帽子,穿上鞋子一樣。
  3. 帽子字符。它可以疊加在主體字符的下面,就像給主體字符帶上帽子一樣。
  4. 聲調字符。它是一個詞語的聲調,必須疊放在主體字符或帽子字符上面。
  5. 獨立字符。它是不可以穿鞋子,不可以帶帽子,也不可以加聲調的一類字符。
  6. 標點符號。它是用來斷句的標點符號,和其他語言中的標點符號的功能一樣。

下面是類型,編碼,字符之間的對照關係。

  1. 鞋子
    編碼段:0E38-0E39
    字符: ุ ู
  2. 主體
    編碼段:0E01-0E10,0E11-0E1F,0E20-0E2E,0E32
    字符:กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮ า
  3. 帽子
    編碼段:0E31, 0E47,0E33-0E37,0E4C-0E4E
    字符: ั ็ ำ ิ ี ึ ื ์ ํ ๎
  4. 聲調
    編碼段:0E48-0E4B
    字符:    
  5. 獨立
    編碼段:0E2F,0E30,0E3A,0E40-0E46,0E5A-0E5B
    字符: ฯะ ฺ เ แ โ ใ ไ ๅ ๆ๚๛
  6. 標點
    編碼段:0E00,0E3F,0E4F-0E59
    字符: ฿ ๏๐๑๒๓๔๕๖๗๘๙
  7. 其他
    編碼段:0E3B-0E3E,0E5B-0E7F

補充說明:

  1. 如果用①②③④⑤⑥分別表示鞋子字符,主體字符,帽子字符,聲調字符,獨立字符和標點符號。
    則可能出現的組合情況有:①②,①②③,①②④,①②③④,②③,②④,②③④,⑤和⑥。
  2. ①和③之間沒有②的時候,③需要往下移動一點。
  3. ②的編碼是0E1B,0E1D,0E1F時,③或④或③④,最好向左移動一點。

代碼編寫

//泰文 上下標字符 unicode

static int ThaiSup_Subs[] = {0x0e31, 0x0e33, 0x0e34, 0x0e35, 0x0e36, 0x0e37, 0x0e38, 0x0e39, 0x0e47, 0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c, 0x0e4d, 0x0e4e};

//泰文編碼範圍0E00-0E3a,0E3f-0E5b

bool isThai(int subunicode)
{
	//泰文編碼範圍0E00-0E3a,0E3f-0E5b,
	if (((subunicode>0x0e00) && (subunicode<0x0e3a)) ||
		((subunicode>0x0e3f) && (subunicode<0x0e5b))){
		return  true;
	}
	else {
		return false;
	}
}

UTF-8 (Unicode)

  • u4e00-u9fa5 (中文)
  • x3130-x318F (韓文)
  • xAC00-xD7A3 (韓文)
  • u0800-u4e00 (日文)
    實際上發現:
    除了u4e00-u9fa5 (中文)之外,還有(0x3400, 0x4DB5)也是。

GB18030在GB13000.1的20902個漢字的基礎上增加了CJK擴展A的6582個漢字(Unicode碼0x3400-0x4db5),一共收錄了27484個漢字。對應的utf8也進行了相應增加。

參考鏈接:
Unicode字符表:https://www.52unicode.com/

漢字字符集編碼查詢:https://www.qqxiuzi.cn/bianma/zifuji.php

泰文排版規則:http://blog.sina.com.cn/s/blog_5d8cc6410100s2ux.html

Unicode百度百科:https://baike.baidu.com/item/Unicode/750500?fr=aladdin

LED點陣顯示:

泰文入庫問題:

泰文拆分問題:https://blog.csdn.net/cbbbc/article/details/47022337

完整的CJK Unicode範圍:https://blog.csdn.net/loseblue/article/details/2436578

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章