请问如何将微软的某一种TrueType字体,比如Times New Roman字体中的点阵信息提取出来,在屏幕上放大显示?如何显示ClearType字体?

解决方案 »

  1.   

    直接TextOut呀!TrueType字体是矢量字体,存放的不是点阵信息,你可以选择合适大小的字体,TextOut到一个DC上根据DC上每一个点的颜色来处理文字,还有一种方法可以得到文字的位图CDC::GetGlyphOutline ,不过使用起来很复杂,没有TextOut好用
      

  2.   

    对呀。我就是要获得文字的位图,然后作其他的用途。请教这个CDC::GetGlyphOutline具体怎么用呢?或者,如何由矢量信息产生我自己的文字位图呢?不知道该矢量信息->位图的算法是如何的?矢量信息到系统哪里去读取?另外,我很疑惑ClearType字体也是矢量字体?
      

  3.   

    那你可以先创建一个内存DC,然后再给内存DC选择进入一个合适大小的位图,然后再往这个内存DC上面TextOut一个文字,然后把内存DC的原来位图替换回来,会返回一个位图,这个位图就是你要使用的。
    万不得已不要使用CDC::GetGlyphOutline,我这有个例子,很长,太耗费代码了。如果有问题的话我明天再帮你看看
      

  4.   

    在csdn文档中搜索“文件格式”有TrueType字体格式的文档说明。点阵信息都在里面。