0

有没有办法在文本节点中使用 TTF?我看到有一个 setTypo 方法,但它只得到一个字体系列字符串,比如 Arial。我应该在 CSS 中创建一个新的字体系列并使用这个吗?

预先感谢您的帮助。

4

1 回答 1

1

正如你所说,cgSceneGraph 提供的文本扩展将接受一个字体系列字符串。我们可以用这样一个新特性来扩展节点,但是对于一个小的 ROI 来说它会很复杂。

一个好的和简单的解决方案是使用 CSS 创建一个字体系列,然后在 CGSGNodeText 上使用它:

@font-custom {
    font-family: customNameForTheFont;
    src: url(myFolderWithFonts/font.ttf); 
} 

TTF 字体适用于所有符合 CSS3 的浏览器。如果一个奇异的框架接受 Canvas 但不接受 TTF 字体,请不要忘记声明 EOT 字体(您可以在网络上找到转换器):

@font-custom {
    font-family: customNameForTheFont;
    src: url(myFolderWithFonts/font.eot); 
} 

并在您的应用程序中声明字体:

myTextNode.setTypo("customNameForTheFont");

请记住,错字是异步加载的。您可以通过预加载字体来避免可能出现的问题(使用带有内联样式的 div,使用字体,使用加载器类,...)。

干杯。格温。

于 2013-02-20T10:47:35.770 回答