泰文的是单个字符组成,但又有上下标。两个单词之间没有明显的分隔符,不象英文和中文。

一般处理的方法为字典法。

因此处理之前要点准备好字典,^_^,这是不好办!

到网上找呀找,找到这个两个的开源代码:

http://www.links.nectec.or.th/~yai/software.html

http://thaigate.nii.ac.jp/files/ttex.html

一个C++代码,,前者Swath是比较完善的代码,并且提供两种算法:.1

1MaxWordSeg 最多单词匹配

2LongWordSeg 最长单词匹配

ttex是个比较简单的项目,并且是C代码的。

嘻嘻,我就用了ttex.

Ttex的算法很简单,也是最长单词匹配

 

While(ostring)

{

If(n=findword(ostring))

       Ostring++;

Else

       Jump1Char(ostring);

       //麻烦一点的就是在字典中找不到时的处理

      

}

代码处理的结果是给个单词加上分隔符,我的要求是换行。

就把主函数封装一下,当达到一行的最大长度就退出。

 

//split thai max length. add by yrui 20050428

//which 主从机

//in 需匹配的字符串

//width 匹配的最大象素宽度

//return 最适合width的字节长度

int Split_Thai(int which,unsigned char *in,int width)

{

记得字符超过了一行还要退回来哟。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐