2

我正在尝试找出是否可以在 Silverlight 中使用Embedded Open Type (.eot) 文件。我发现一个较旧的帖子说他们不能,但它已经有几年历史了,鉴于 SL 的发展速度有多快,我不确定这是否已经改变。

如果是这样,它们将如何使用?作为<Glyph/>对象还是...?

4

2 回答 2

3

不,这是因为 Silverlight(如 Flash)将自己视为“应用程序”,而不是“文档”。关于字体嵌入与链接网络字体这个主题有很多玩笑。Silverlight 在实际“链接”的地方错误地使用了“嵌入”一词。

不过,就像任何好的技术一样,也有可能对 EOT 文件进行逆向工程——这些安全人员使用 IE 进行了逆向工程:对嵌入式 OpenType 解压缩进行逆向工程。我认为这不会是非法的,因为压缩/解压缩是在http://www.w3.org/Submission/2008/SUBM-MTX-20080305/上提交给 W3C 的(尽管它可能会使字体代工厂有点生气)。或者也许你可以看看这个 ttf-to-eot 转换器并做相反的事情:http ://code.google.com/p/ttf2eot/

无论如何,如果你想走这条路,你还有很多工作要做。

于 2010-08-01T01:58:12.447 回答
2

我不这么认为。不过,您可以在 Silverilght 应用程序中嵌入 true type fonts 字体。Expression Blend 很容易做到,只需选择一种字体,然后勾选“嵌入”框。您当然需要确保满足您在应用程序中嵌入的字体的任何字体许可要求。

字体通过名为“BlendEmbeddedFont”的自定义构建操作作为压缩资源嵌入到您的 dll 中,然后在您的应用程序中像这样引用:

<TextBlock Text="TextBlock" FontFamily="/SilverlightApplication12;component/Fonts/Fonts.zip#Segoe UI" />
于 2010-07-31T08:07:49.953 回答