Qt字库的移植(使其很好的显示中文)一.docx

Qt字库的移植(使其很好的显示中文)一.docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Qt字库的移植(使其很好的显示中文)一

Qt字库的移植(使其很好的显示中文) 一 qt字库的移植(使其很好的显示中文)1 如何定制字库(移植字库)需要将至少两个文件赋值到....lib/font目录下1. fontdir 文件。这个是应用程序寻找当前系统中最合适自己需要的字库的索引;2,需要的字体库文件,一般是多个。具体移植那一个,看你使用的字库是什么了,。比如我现在的系统我就是移植的wenquanyi_12pt.bdf就可以了,当然这个比较大。你也可以用小点的。我的flash比较大呵呵,懒得折腾。在程序中需要这样设置:QTextCodec::setCodecForTr(QTextCodec::codecForName(quot;utf8quot;));QTextCodec::setCodecForCStrings(QTextCodec::codecForName(quot;utf8quot;));设置使用utf-8编码也就是unicode编码了,这样在tr和string的都是unicode的编码了,根据字库的索引就能对应相应的字符了。然后设置字体://字体设置QFont font(quot;wenquanyiquot;,12,QFont::Bold); //使用wenquanyi字体this-gt;setFont(font);//这样就设置了字体了,中文一般使用wenquanyi字体就可以了。很好的。基础知识介绍:字符编码1、字符必须编码后才能被计算机处理。计算机使用的缺省编码方式就是计算机的内码。早期的计算机使用7位的ASCII编码,为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。在这些编码中,中文和英文可以统一的处理,区分中文编码的方法是高字节的最高位为不为0。GB内码的存储方式始终都是big endian,即高位在前。2、Unicode是一种字符编码方法,它是由国际组织设计,可以容纳全世界所有语言文字的编码方案。Unicode的学名是quot;Universal Multiple-Octet Coded CharacterSetquot;,简称为UCS。UCS可以看作是quot;Unicode Character Setquot;的缩写。Unicode与GB码不兼容,只与ASCII兼容。UCS规定了怎么用多个字节表示各种文字。怎样传输这些编码,是由UTF(Unicode transforation format)规范规定的。常见的UTF规范包括UTF-8(就是以8位为单元对UCS进行编码)、UT F-7、UTF-16。UTF-*和Unicode是同类,就是在编码方式上不同。首先UTF编码后的大小是不一定,不像Unicode编码后的大小是一样的。字体库:一般认为,一个汉字的编码就对应着这样的字形,这还是错误的。内码对于字库来说,只是查找字形的索引。如果换成另一个编码标准的字体,同一个字符串就会呈现不同的字形,也就是乱码。随着GUI的发展,字库逐渐转向TTF.TTF字库的编码标准没有UTF8的由于工作需要把ttf字体转换成qpf字体,牵扯到了qt的makeqpf工具的使用方法先简单说一下qt的字体支持Qte可以支持以下四种形态的字体格式TrueType (TTF)、Postscript Type(PFA/PFB)、Bitmap Distribution Format fonts(BDF)、Qt Prerendered Font(QPF)Qt中不同字体是用Unicode来处理、转换因为Unic ode(UTF16或者UTF8)最适合在任何人之间传递信息,至于TrueType(不知道是什么东西,先唬着amp;#61514;)的支援,目前Qte采用的是FreeType2 Livrary来显示字体,可充分享受无段式anti-aliased显示。经过下午的查证:Truetype是由AppleComputer公司和Microsoft公司联合提出的一种新型数学字形描述技术。他用数学函数描述字体轮廓外形,含有字形构造、颜色填充、数字描述函数、流程条件控制、珊格处理控制、附加提示控制等指令。TrueType采用几何学中二次B样条曲线及直线来描述字体的外形轮廓,其特点是:TrueType即可以作打印字体又可以做屏幕显示;由于它是由指令对字形进行描述,因此它与分辨率无关,输出时总是按照打印机的分辨率输出。无论放大或缩小,字符总是光滑的,不会有锯齿出现。但相对PostScript字体来说,其质量要差一些,特别是在文字太小时,就表现得不是很清楚简单一下:truetype,字体就是可以不变形放大的字体,标准的字体大约有三种。*.fon 、*.ttf、*.ttc,你所问的就是*.tt

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档