最近有国内新客户抱怨我们产品显示的原理图太不专业了,在原理图上使用宋体GB2312设计好中文图表,经过几次缩放时,表格内的文字居然会跑到表格外边,更要命的是打印出来的文档也存在同样的问题. 我研究了一下,原来又是Windows GDI Text APIs的一个大坑! 问题详细描述 用Tcl/tk script可以很容易地重现这个问题.如下图,第一行文字使用的Arial字体rendering by GDI APIs, 第二行文字使用的是OF Helvetica字体rendering by Free…
在实践中,有一些小的陷阱和障碍可能阻止你使用一般的TrueType字体. 第一个,必须要有一个有效的字体文件.在Finder中双击该.ttf文件,应该会打开Font Book app,显示一个象形符号的字母表.如果没有显示或发生错误,则改字体很可能是损坏的或者不是正确的字体格式. 接下来你要考虑的是字体名不一定和该字体文件的名字一致.字体有3个名字: 字体文件的名字 字体族的名字(family name) 字体的名字 为了使用SpriteBuilder,字体名字和字体文件的名字(除去文件扩展)应…
TrueType字体通常包含在单个TrueType字体文件中,其文件后缀为.TTF. OpenType字体是以类似于TrueType字体的格式编码的POSTSCRIPT字体.OPENTYPE字体使用.OTF文件后缀.OPENTYPE还允许把多个OPENTYPE字体组合在一个文件中以利于数据共享.这些字体被称为TrueType字体集(TrueType collection),其文件后缀为.TTC.        TrueType字体用machintosh的轮廓字体资源的格式编码,有一个唯一的标记名…
Tcl Tk Introduction eryar@163.com 摘要Abstract:Tcl/Tck脚本可以很容易实现用户自定义的命令,方便的创建图形化的用户界面GUI,所以Tcl和Tk的应用领域几乎覆盖了图形和工程应用的全部范围,包括计算机辅助设计.软件开发.测试.仪器控制.科学可视化及多媒体方面.即可以使用Tcl/Tk实现AVEVA中的PML类似的功能,允许用户自己编写简单程序实现程序的二次开发. 关键字Key Words:AVEVA, PDMS, PML, Tcl/Tk, Script…
 FreeWrap可以把TCL/TK的脚本和二进制文件打包成应用程序,FreeWrap将所有的文件组合成一个单独的可执行文件.     FreeWrap的原理是把脚本和tcl/tk解释器和库文件都打包在一个文件当中,做成一个可执行程序.生成的可执行文件实际上是一个压缩包,里面包含有需要使用的所有内容.不同的版本对应不同的tcl/tk版本,由于原始的tcl/tk版本只包括一些基本的库,所以如果需要使用更多的库,需要额外添加到文件中,还需要注意添加的方法和调用的顺序,如果是二进制的库就更麻烦了,需要…
  读了阮一峰的蒙特卡罗方法入门,用概率统计的方式求解棘手的数学问题还挺有意思的,尤其是利用正方形和它的内切圆之间的面积关系来建模求解圆周率的方法精巧又简单,比投针实验好理解也好实现多了.建模可不是Matlab或者MAST/VHDL语言的专利,既然tcl/tk脚本也有内置的随机数产成函数rand(),那么我用tcl/tk建模计算圆周率也应该不在话下. 建模思想 正方形内部有一个相切的圆,它们的面积之比是π/4. 在这个正方形内部,随机产生足够多的点,计算它们与中心点的距离,从而判断是否落在圆的内…
正常情况下最新的ruby都是不带tcl/tk选项编译的,所以我们在运行tcl/tk代码时都会发生找不到tk库的错误.解决办法很简单只要以tcl/tk选项编译ruby即可. 这里以ubuntu 15.04为例,前提是先安装rvm:如果不用rvm也可以,不过要自己下载源代码回来编译,不如一步到位用rvm省事. 首先到ActiveTcl官网下载tcl: http://www.activestate.com/activetcl/downloads 注意不要选择最新的8.6.x,因为可能兼容性有问题,需要…
我记得在老早在OS X10.8下使用ruby1.9.x的时候只要到下载安装ActiveTcl8.5,没怎么配置就运行tk好好的.但是近日想重新执行下tk代码,发现在require 'tk'的时候就报错鸟!现在用的是ruby2.1.3版本.上网搜了一下,1.9.x之后的版本默认不再将tcl/tk支持编译到ruby里面,so如果你想用则必须重新编译ruby!我勒个去!就不能做成个gem吗?但在多种外围尝试无果的的情况下只有一条路,就是重新编译ruby了... 到ruby官网下载最新的ruby2.1.…
TrueType采用几何学中二次B样条曲线及直线来描述字体的外形轮廓,其特点是:TrueType既可以作打印字体,又可以用作屏幕显示:由于它是由指令对字形进行描述,因此它与分辨率无关,输出时总是按照打印机的分辨率输出.无论放大或缩小,字符总是光滑的,不会有锯齿出现.但相对PostScript字体来说,其质量要差一些.特别是在文字太小时,就表现得不是很清楚.   OpenType也叫Type 2字体,是由Microsoft和Adobe公司开发的另外一种字体格式.它也是一种轮廓字体,比TrueTyp…
0x01 TrueType 字体 TTF 字体是 Apple 和 Microsoft 两家公司共同推出的字体格式,现在已经广泛的运用于 Windows 操作系统,其中 PDF 文档也可以嵌入 TTF 字体,该漏洞的成因是由于在运行 TTF - glyf 表中的图元指令时没有对传入的数据做严格的过滤,导致整数溢出,经过利用之后可以执行任意代码 这个就是 POC 文件当中嵌入的 TTF 字体文件,经过 PdfStreamDumper 提取过后,可用工具查看 分析环境:Windows 7 + Adod…