在Roku中更改默认字体roFontRegistry

时间:2015-05-29 06:44:04

标签: fonts roku brightscript

我创建了一个包含roImageCanvas的页面,我正在尝试用另一个更改其默认字体。我的代码是我的代码,但这不起作用。请帮我解决此错误。提前谢谢。

 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()

2 个答案:

答案 0 :(得分:1)

首先,对于roImageCanvas,您应该使用roFontRegistry.Get()而不是roFontRegistry.GetFont()。 GetFont()用于roScreen。

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

答案 1 :(得分:1)

使用

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

Insted of

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