星期二 十二月 25, 2007
星期二 十二月 25, 2007
TTX 官方网站只提供了Windows和Mac平台的二进制程序,因此如果想在Solaris上使用 TTX 需要自己编译和安装,好在过程也非常简单。
TTX 是使用 python 写的,并且需要使用一个 Numerical python 模块。可以从 http://sourceforge.net/projects/numpy 下载该模块。下载后进入源代码目录,运行“python setup.py install”。需要注意的是需要在 PATH 中有cc编译器。
去 http://www.letterror.com/code/ttx/index.html 下载最新的 TTX 版本,然后进入源代码目录,运行“python setup.py install”。这样就安装上 TTX 了。
需要注意的一点是 TTX 使用的是老的 Numberic 模块名字,而最新的模块名字是 numpy,因此需要修改文件/usr/lib/python2.4/site-packages/FontTools/fontTools/ttLib/sfnt.py
, 将其中的 "import Numeric" 修改为 "import numpy".
TTX 的使用非常简单,可以查看帮助信息。举一个简单的例子:
转储 TrueType 字体的 CMap 表的信息:ttx -t cmap truetype_file
星期日 六月 03, 2007
Ienup Sung has posted one blog(http://blogs.sun.com/is/entry/secure_utf_8) about Secure UTF-8 sequence, very useful. And below table is copied from his blog directly.
| Unicode
Scalar Values in Binary |
Hex
Min |
Hex
Max |
1st Byte | 2nd Byte | 3rd Byte | 4th Byte |
|---|---|---|---|---|---|---|
| 00000000 00000000 0xxxxxxx | U+0000 | U+007F | 00..7F | |||
| 00000000 00000yyy yyxxxxxx | U+0080 | U+07FF | C2..DF | 80..BF |
||
| 00000000 zzzzyyyy yyxxxxxx | U+0800 | U+0FFF | E0 | A0..BF | 80..BF | |
| U+1000 |
U+CFFF |
E1..EC |
80..BF | 80..BF | ||
| U+D000 |
U+D7FF |
ED |
80..9F | 80..BF | ||
| U+D800 |
U+DFFF |
ill-formed |
||||
| U+E000 |
U+FFFF |
EE..EF |
80..BF | 80..BF | ||
| 000uuuuu zzzzyyyy yyxxxxxx | U+10000 | U+3FFFF | F0 | 90..BF | 80..BF | 80..BF |
| U+40000 |
U+FFFFF |
F1..F3 |
80..BF | 80..BF | 80..BF | |
| U+100000 |
U+10FFFF |
F4 |
80..8F | 80..BF | 80..BF | |
星期六 五月 19, 2007
近来由于项目的需要,需要看一下Windows上的编码转换情况,本打算自己写个小程序来测以下,结果google了半天也没有发现好的例子,只是有WideCharToMultiByte, MultiByteToWideChar的API,鉴于已经 n 年没有写Windows的程序了(怎么编译都忘了),而且时间也不充足,所以还是想偷懒找个现成的工具。于是首先想到了功能极为强大的 UltraEdit, 结果UltraEdit果然没有让我失望,它提供了任意 code page 和 Unicode, UTF-8 之间的转换,而且不用修改系统的 code page. 下面简单介绍一下.(UltraEdit可以从http://www.ultraedit.com/免费下载试用45天,目前的最新版本是 v13.00a)
有一点需要注意:如何显示转换的结果?