Fonts 访问Mono.com矩阵?

Fonts 访问Mono.com矩阵?,fonts,mono,osx-lion,cairo,Fonts,Mono,Osx Lion,Cairo,我正试图为我正在从事的一个项目编写一个字体导出器。为了正常工作,我需要获得每个字形的适当宽度。字体位图是以用户指定的比例生成的,例如CairoContet.SetFontSize 当我尝试访问CairoContext.FontMatrix以缩放范围时,我得到以下SIGSEGV: Stacktrace: Native stacktrace: 0 mono 0x000b6ea9 mono + 745129 1

我正试图为我正在从事的一个项目编写一个字体导出器。为了正常工作,我需要获得每个字形的适当宽度。字体位图是以用户指定的比例生成的,例如CairoContet.SetFontSize

当我尝试访问CairoContext.FontMatrix以缩放范围时,我得到以下SIGSEGV:

Stacktrace:


Native stacktrace:

    0   mono                                0x000b6ea9 mono + 745129
    1   mono                                0x00006e0e mono + 24078
    2   libsystem_c.dylib                   0x949e259b _sigtramp + 43
    3   ???                                 0xffffffff 0x0 + 4294967295
    4   mono                                0x000b4e32 mono + 736818
    5   mono                                0x000b7ac4 mono + 748228
    6   mono                                0x000b8e18 mono + 753176
    7   mono                                0x00107a02 mono + 1075714
    8   ???                                 0x0035e2c1 0x0 + 3531457
    9   ???                                 0x003d9a18 0x0 + 4037144
    10  ???                                 0x0a20deb0 0x0 + 169926320

Debug info from gdb:

/tmp/mono-gdb-commands.ulVxAb:1: Error in sourced command file:
unable to debug self

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================
这是触发FontMatrix的代码,但通常任何获取FontMatrix的尝试都会导致相同的错误:

cr.FontMatrix.TransformDistance(ref xAdvance,ref yAdvance);
是否有其他/更好的方法来衡量预付款?我自己不会做数学,因为
我不知道SetFontSize集合的确切比例因子是多少,因为它是如何工作的。它设置了em四元组的大小。

我应该补充一点,这是在OSX上。我看代码,我猜cairo_font_set_matrix希望传入一个预先分配的内存块来放入矩阵,但绑定后它将变为Null。