|
无意中发现 winxp 自带的 simsun.ttc 和 vista 带的 simsun.ttc 版本有所不同。下面是不同之处:
1。大小不同
simsun.ttc in xp : 10.0 MB (10,500,792 字节)
simsun.ttc in vista : 10.9 MB (11,519,752 字节)
vista 中的大一些。
2。版本号不同
simsun.ttc in vista 在 xp 下用字体查看器看和 xp 自带的 simsun.ttc 显示完全一样,都为 1995 的 3.03 版。这里的信息是错误的。我在 Debian 下用 fontforge 看,显示为 2001 的 3.05 版。
3。内嵌的 bitmap 字体字号不同
下面是win 下 sbit32 查看的结果:
simsun.ttc in xp:
[code:1]
>SBIT32.EXE -v -i SimSun.ttf
EBLC information
version=2.000000
indexSubTableArrayOffset: 0x00000128
indexTablesSize: 0x000000a0
numberOfIndexSubTables: 0x00000005
colorRef: 0x00000000
startGlyphIndex: 0x0062
endGlyphIndex: 0x55df
ppemX: 12
ppemY: 12
bitDepth: 1
flags: 1
indexSubTableArrayOffset: 0x000001c8
indexTablesSize: 0x000000a0
numberOfIndexSubTables: 0x00000005
colorRef: 0x00000000
startGlyphIndex: 0x0062
endGlyphIndex: 0x55df
ppemX: 14
ppemY: 14
bitDepth: 1
flags: 1
indexSubTableArrayOffset: 0x00000268
indexTablesSize: 0x000000a0
numberOfIndexSubTables: 0x00000005
colorRef: 0x00000000
startGlyphIndex: 0x0062
endGlyphIndex: 0x55df
ppemX: 16
ppemY: 16
bitDepth: 1
flags: 1
indexSubTableArrayOffset: 0x00000308
indexTablesSize: 0x000000a0
numberOfIndexSubTables: 0x00000005
colorRef: 0x00000000
startGlyphIndex: 0x0062
endGlyphIndex: 0x55df
ppemX: 18
ppemY: 18
bitDepth: 1
flags: 0
indexSubTableArrayOffset: 0x000003a8
indexTablesSize: 0x000000a0
numberOfIndexSubTables: 0x00000005
colorRef: 0x00000000
startGlyphIndex: 0x0062
endGlyphIndex: 0x55df
ppemX: 15
ppemY: 15
bitDepth: 1
flags: 0
indexSubTableArrayOffset: 0x00000448
indexTablesSize: 0x000000a0
numberOfIndexSubTables: 0x00000005
colorRef: 0x00000000
startGlyphIndex: 0x0062
endGlyphIndex: 0x55df
ppemX: 13
ppemY: 13
bitDepth: 1
flags: 0
EBDT information
version=2.000000
length=0x00376746 bytes
EBSC information
not present.[/code:1]
共有六个字号的点阵,ppem 分别为 12, 14, 16(flags=1) 和 18,15,13(flags=0).
simsun.tcc in vista:
[code:1]
>SBIT32.EXE -i -v simsun.ttf
EBLC information
version=2.000000
indexSubTableArrayOffset: 0x00000098
indexTablesSize: 0x00000808
numberOfIndexSubTables: 0x00000008
colorRef: 0x00000000
startGlyphIndex: 0x0062
endGlyphIndex: 0x7059
ppemX: 12
ppemY: 12
bitDepth: 1
flags: 0
indexSubTableArrayOffset: 0x000008a0
indexTablesSize: 0x00000530
numberOfIndexSubTables: 0x00000006
colorRef: 0x00000000
startGlyphIndex: 0x0062
endGlyphIndex: 0x7059
ppemX: 14
ppemY: 14
bitDepth: 1
flags: 0
indexSubTableArrayOffset: 0x00000dd0
indexTablesSize: 0x00015008
numberOfIndexSubTables: 0x00000004
colorRef: 0x00000000
startGlyphIndex: 0x0062
endGlyphIndex: 0x7059
ppemX: 16
ppemY: 16
bitDepth: 1
flags: 0
EBDT information
version=2.000000
length=0x00236d39 bytes
EBSC information
not present.
[/code:1]
共三种 ppem 12, 14, 16 (flags=0)
相比 xp 少了 ppem 18, 15 , 13 三种大小 bitmap font.
通过观察 simsun.ttc in vista 更像 simsun18030.ttc
下面是 simsun18030.ttc 用 sbit32 查看的结果:
[code:1]
>SBIT32.EXE -v -i SimSun18030.ttf
EBLC information
version=2.000000
indexSubTableArrayOffset: 0x00000098
indexTablesSize: 0x00000808
numberOfIndexSubTables: 0x00000008
colorRef: 0x00000000
startGlyphIndex: 0x0062
endGlyphIndex: 0x7059
ppemX: 12
ppemY: 12
bitDepth: 1
flags: 0
indexSubTableArrayOffset: 0x000008a0
indexTablesSize: 0x00000530
numberOfIndexSubTables: 0x00000006
colorRef: 0x00000000
startGlyphIndex: 0x0062
endGlyphIndex: 0x7059
ppemX: 14
ppemY: 14
bitDepth: 1
flags: 0
indexSubTableArrayOffset: 0x00000dd0
indexTablesSize: 0x00015008
numberOfIndexSubTables: 0x00000004
colorRef: 0x00000000
startGlyphIndex: 0x0062
endGlyphIndex: 0x7059
ppemX: 16
ppemY: 16
bitDepth: 1
flags: 0
EBDT information
version=2.000000
length=0x00236d39 bytes
EBSC information
not present.[/code:1]
我想 vista 中的 simsun.ttc 应该是搭配 vista 中的 simsun18030 和 simsunB.ttc 使用的,搭配后两种字体后可以完整支持到 ExtB.
vista 字体可以从下面链接下载,有兴趣可以比较玩玩:
http://wyx.nbtvu.net.cn/jmm/index3.htm#05 |
|