zoukankan      html  css  js  c++  java
  • 泰文排版规则

    转自: 泰文排版规则

     百度文档:http://wenku.baidu.com/view/19574a03de80d4d8d15a4f0c.html###

    unicode 泰文对应编码规则:http://www.unicode.org/charts/PDF/U0E00.pdf

    1.字母编码

    这里只介绍泰文的Unicode编码。Unicode编码为双字节,前面为高字节,后面为低字节,这里都用十六进制表示。如0E00表示一个空格,0E为高字节,00为低字节。
    泰文编码和字母的对照关系如下:

    编码段: 0E00-0E16,0E17-0E2D,0E2E-0E30
    泰文字符:กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะ
    编码段: 0E31-0E3A
    泰文字符: 

      ัา ำ ี ึ ื ุ ู ฺ
    编码段: 0E3F-0E46
    泰文字符:฿ เ แ โ ใ ไ ๅ ๆ
    编码段: 0E47-0E4E
    泰文字符:   ็ ่ ้ ๊ ๋ ์ํ ๎
    编码段: 0E4F-0E5B
    泰文字符:๏๐๑๒๓๔๕๖๗๘๙๚๛

    2.拼写规则
    泰语是一种拼音文字。有元音,辅音和声调。

    a)元音
    元音有单元音和复元音之分,复元音是由两个或三个单元音组成的。单元音可以位于辅音的上下左右各侧。(说明:下面的杠“-”表示辅音的位置。)


    规则①:在辅音右边的单元音
    字符: -า -ะ -อ
    例子: กา จะ ดอ

    规则②:在辅音左边的单元音
    字符: เ- แ- โ- เ-าะ เ-ะ แ-ะ โ-ะ เ-อ แ-อ
    例子:เก แจ โอ แตะ โดะ

    规则③:在辅音上边的单元音
    字符: -ิ -ี -ึ -ื
    例子: ดีษืฉึ

    规则④:在辅音下边的单元音
    字符: -ุ -ู
    例子: กุมู

    规则⑤:复元音
    字符: เ-ีย เ-ือ -ัว -าย -ัย ไ- ใ- -ุย โ-ย -อย เ-ย -าว เ-า -ิว เ-ว แ-วเ-ียว เ-ือย -วย
    例子: เปีย ได๊ แจ๋ว เดือย

    b)辅音
    单辅音有中辅音,高辅音,低辅音,塞音,擦音等之分。它们与长元音和短元音相拼时,能够影响或决定声调。复辅音是由多个单辅音组成的。

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

    规则①:有辅音字母อ 字母和元音字母อ 外形相同,只能靠其位置进行区分。
    例子: ออ

    规则②:有辅音字符ปฝฟ,上面加元音或声调时,元音或声调字符要略微向左移一些。
    例子:ปิป๊ฟีฝื่

    c)声调
    泰文中有5个声调,只有第一声不用标出来。
    声调:    

    规则①:声调加在辅音的右上方。
    例子:ก่า

    规则②:辅音上有元音,再加声调符号时,声调符号要加在元音上。
    例子:อื่ทึ๊

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

    规则①:元音字母-ะ 后有尾音时。要把-ะ写成-ั,放在辅音和尾音之间的上方。
    例子: 如กะง 要写成กัง

    规则②:元音字母เ-ะ 和แ-ะ 后有尾音时,把-ะ 写成-็,放在辅音和尾音之间的上方。
    例子: 如เตะม 写成เต็ม

    规则③:元音字母โ-ะ 后有尾音时,โ-ะ省略不写成。
    例子: 如โตะม 写成ตม

    规则④:复元音-ัว 后有尾音时,要将去-ั掉。
    例子: 如จัวน 写成จวน

    规则⑤: -ำ 和-ัม 读音相同,词义不同。
    例子: 如จกำ和กัม

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

    f)其他
    其他符号ฤฦๅ ์(不发音符号)ๆ(重复符号)ฯ(简略符号)

    3.处理方式
    根据上述的拼写规则,可以把所有字符形象的分为如下几类:
    1.鞋子字符。它可以叠加在主体字符的下面,就像给主体字符穿的鞋子一样。
    2.主体字符。它上面可以叠加帽子字符,下面可以叠加鞋子字符,就像给它带上帽子,穿上鞋子一样。
    3.帽子字符。它可以叠加在主体字符的下面,就像给主体字符带上帽子一样。
    4.声调字符。它是一个词语的声调,必须叠放在主体字符或帽子字符上面。
    5.独立字符。它是不可以穿鞋子,不可以带帽子,也不可以加声调的一类字符。
    6.标点符号。它是用来断句的标点符号,和其他语言中的标点符号的功能一样。
    下面是类型,编码,字符之间的对照关系。
    a)鞋子
    编码段:0E38-0E39
    字符:   ุ ู

    b)主体
    编码段:0E01-0E10,0E11-0E1F,0E20-0E2E,0E32
    字符:กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮ า

    c)帽子
    编码段:0E31, 0E47,0E33-0E37,0E4C-0E4E
    字符:   ั ็ ำ ิ ี ึ ื์ ํ ๎

    d)声调
    编码段:0E48-0E4B
    字符:    

    e)独立
    编码段:0E2F,0E30,0E3A,0E40-0E46,0E5A-0E5B
    字符: ฯะ ฺ เ แ โ ใ ไ ๅ ๆ๚๛

    f)标点
    编码段:0E00,0E3F,0E4F-0E59
    字符: ฿ ๏๐๑๒๓๔๕๖๗๘๙

    g)其他
    编码段:0E3B-0E3E,0E5B-0E7F

    补充说明:
    1.如果用①②③④⑤⑥分别表示鞋子字符,主体字符,帽子字符,声调字符,独立字符和标点符号。
    则可能出现的组合情况有:①②,①②③,①②④,①②③④,②③,②④,②③④,⑤和⑥。

    2.①和③之间没有②的时候,③需要往下移动一点。

    3.②的编码是0E1B,0E1D,0E1F时,③或④或③④,最好向左移动一点。

    4.②的编码是0E0D或0E10,而①的编码是0E38 或0E39时,②的下部不画,用①来代替。
    转自: 山不在高,有金则名。
    非常感谢 高金山先生的无私奉献! 
    ============================================================================
     
    大家看了这份文档后,是否觉得有些复杂?
    给大家一个肯定的答案,要实现泰文其实是非常简单的,就看你的字库格式是怎样的?
     
    为了应对这种特殊情况(泰文),请按以下方法处理:
    记录一个字符的有效显示数据(像素)的基本信息,如:宽,高,左右偏移,上下偏移(有基线的概念)等。
    例如: "รี่",它分别由如下三个字符(内码)组成。
     
    STARTCHAR 00C3  // 'ร'
    ENCODING 195
    DWIDTH 12 0     //字宽为12像素(含字间距)
    BBX 9 13 1 0    //有效像素宽度为9,高度为13. (正数)向右偏移1个像素开始显示。
    BITMAP
    3F80
    7F80
    C000
    FE00
    FF00
    8380
    0180
    0180
    0180
    0780
    0980
    0980
    0700
    ENDCHAR
     
    STARTCHAR 00D5  // 'ี'
    ENCODING 213
    DWIDTH 0 0       // 字宽为0 
    BBX 9 5 -12 15    //有效像素宽度为9,高度为5,(负数)向左偏移12个像素,(正数)向上偏移15个像素
    BITMAP
    0080
    3C80
    4380
    8180
    FF80
    ENDCHAR
     
    STARTCHAR 00E8  // '่'
    ENCODING 232
    DWIDTH 0 0
    BBX 1 4 -4 21  //有效像素宽度为1,高度为4,(负数)向左偏移4个像素,(正数)向上偏移21个像素
    BITMAP
    80
    80
    80
    80
    ENDCHAR
    图文详解:
  • 相关阅读:
    Speex for Android
    反射(高大上)、类的内置方法
    hashlib摘要算法模块,logging日志,configparser配置文件模块
    抽象类,接口类,封装,property,classmetod,statimethod
    面对对象三大特征:继承 多态(鸭子类型)(面试题)
    面向对象命名空间及组合(面试题)
    初始面向对象
    模块与包
    常用模块
    列表表达式,生成器表达式,
  • 原文地址:https://www.cnblogs.com/slysky/p/6102358.html
Copyright © 2011-2022 走看看