在 Roku 中更改默认字体 roFontRegistry

Change default font roFontRegistry in Roku

我用 roImageCanvas 创建了一个页面,我正在尝试用另一个更改它的默认字体 one.bellow 是我的代码,但这不会 work.Please 帮助我解决这个问题 error.thanks提前。

 canvas = CreateObject("roImageCanvas")    
 port = CreateObject("roMessagePort")
 canvas.SetMessagePort(port)
 items = []

FontInterface=CreateObject("roFontRegistry") 'create global font access
Fontinterface.Register("pkg:/source/Univers.ttf")
Font=FontInterface.GetFont("Univers",36,false,false)
FontSmall=FontInterface.GetFont("Univers",15,false,false)


items.Push({
Text: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s"
TextAttrs:{ font: Font, color: "#a0a0a0"}
TargetRect: {x: 200, y: 75, w: 300, h: 500}
})

items.Push({
Text: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s"
TextAttrs:{ font: FontSmall, color: "#a0a0a0"}
TargetRect: {x: 600, y: 75, w: 300, h: 500}
})

canvas.SetLayer(0, { Color: "#00ff00", CompositionMode: "Source" })
canvas.SetLayer(1, items)
canvas.Show()

首先,对于 roImageCanvas,您应该使用 roFontRegistry.Get() instead of roFontRegistry.GetFont()。 GetFont() 用于 roScreen。

其次,您确定字体系列实际上是 "Univers"?注册字体后,您可以调用 roFontRegistry.GetFamilies() 获取已注册字体系列名称的列表。

使用

Font=FontInterface.Get("Univers",36,false,false)
FontSmall=FontInterface.Get("Univers",15,false,false)

而不是

Font=FontInterface.GetFont("Univers",36,false,false)
FontSmall=FontInterface.GetFont("Univers",15,false,false)