Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Level 8


Does `roFontRegistry` work with RSG?  Do I have a typo or is there a better way than below?  

     font_registry = CreateObject("roFontRegistry")
     font = font_registry.GetDefaultFont()
     fontRegistry = CreateObject("roFontRegistry")
     townFont = fontRegistry.GetDefaultFont()
     townFont.size = 80
     lineHeight = townFont.GetOneLineHeight()


Current Function:
005:  sub InitWidget()
006:      font_registry = CreateObject("roFontRegistry")
007:*     font = font_registry.GetDefaultFont()
008:      fontRegistry = CreateObject("roFontRegistry") 
009:      townFont = fontRegistry.GetDefaultFont()
010:      townFont.size = 80
011:      _lineHeight = townFont.GetOneLineHeight()
'Dot' Operator attempted with invalid BrightScript Component or interface reference. (runtime error &hec) in pkg:/components/widgets/LocationWidget.brs(7)
007:     font = font_registry.GetDefaultFont()

0 Kudos
Roku Employee
Roku Employee

Re: roFontRegistry

"OG_OTT" wrote:
Does `roFontRegistry` work with RSG?  Do I have a typo or is there a better way than below?  

It seems that you can only use roFontRegistry from the Main function or in a RSG Task node.

I don't know for myself whether you can get metrics from that that will work perfectly for RSG.

RSG has:

I'm not making any recommendation, but I have the impression that some people have used Label nodes along with ... undingRect to figure out other layout metrics.
0 Kudos
Level 8

Re: roFontRegistry

Thank you.  The `BoundingRect()` idea did work for my purposes!

To future reviews of this thread, the below snippet shows setting of my primary label and I get `BoundingRect` so I can get the height to place an element just beneath it - this worked for me:  

sub init()
end sub
sub InitWidget()
     townLabel ="TownName")
     townLabel.font.size = 80
     townLabelRect = townLabel.BoundingRect()
     stateLabel ="StateName")
     stateLabel.font.size = 40
     stateLabel.translation = [0, townLabelRect.height+5]
end sub
0 Kudos