泰文的是单个字符组成,但又有上下标。两个单词之间没有明显的分隔符,不象英文和中文。
一般处理的方法为字典法。
因此处理之前要点准备好字典,^_^,这是不好办!
到网上找呀找,找到这个两个的开源代码:
http://www.links.nectec.or.th/~yai/software.html
http://thaigate.nii.ac.jp/files/ttex.html
一个C++代码,,前者Swath是比较完善的代码,并且提供两种算法:.1
1.MaxWordSeg 最多单词匹配
2.LongWordSeg 最长单词匹配
而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)
{
}
记得字符超过了一行还要退回来哟。