有没有办法在文本节点中使用 TTF?我看到有一个 setTypo 方法,但它只得到一个字体系列字符串,比如 Arial。我应该在 CSS 中创建一个新的字体系列并使用这个吗?
预先感谢您的帮助。
正如你所说,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,使用字体,使用加载器类,...)。
干杯。格温。