Developers

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
OG_OTT
Visitor

roFontRegistry

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

Tags (1)
0 Kudos
2 REPLIES 2
RokuKC
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:
https://sdkdocs.roku.com/display/sdkdoc/Font

I'm not making any recommendation, but I have the impression that some people have used Label nodes along with https://sdkdocs.roku.com/display/sdkdoc ... undingRect to figure out other layout metrics.
Tags (1)
0 Kudos
OG_OTT
Visitor

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()
     InitWidget()
end sub
     
sub InitWidget()
     townLabel = m.top.findNode("TownName")
     townLabel.font.size = 80
     townLabelRect = townLabel.BoundingRect()
     
     stateLabel = m.top.findNode("StateName")
     stateLabel.font.size = 40
     stateLabel.translation = [0, townLabelRect.height+5]
end sub
Tags (1)
0 Kudos
Community is Being Upgraded!

We’re upgrading Roku Community to bring you a faster, more mobile-friendly experience. You may notice limited functionality or read-only access during this time. Read more here.

Planned Downtime:
Community will be unavailable for up to 24–48 hours during the upgrade window during the week of May 19th and you may notice reduced functionality. In the meantime, for additional assistance, visit our Support Site.

We're sorry for this disruption — we’re excited to share what’s next!