quanliking 发表于 2006-7-11 21:49:20

winxp 和 vista 中的 simsun.ttc 比较

无意中发现 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:

>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.
共有六个字号的点阵,ppem 分别为 12, 14, 16(flags=1) 和 18,15,13(flags=0).

simsun.tcc in vista:

>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.

共三种 ppem 12, 14, 16 (flags=0)

相比 xp 少了 ppem 18, 15 , 13三种大小 bitmap font.
通过观察 simsun.ttc in vista 更像 simsun18030.ttc
下面是 simsun18030.ttc 用 sbit32 查看的结果:

>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.

我想 vista 中的 simsun.ttc 应该是搭配 vista 中的 simsun18030 和 simsunB.ttc 使用的,搭配后两种字体后可以完整支持到 ExtB.

vista 字体可以从下面链接下载,有兴趣可以比较玩玩:
http://wyx.nbtvu.net.cn/jmm/index3.htm#05

fox_eagle2003 发表于 2006-7-12 10:01:37

谢谢提供 :P
页: [1]
查看完整版本: winxp 和 vista 中的 simsun.ttc 比较