Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Tyler_Smith
Streaming Star

Re: Font antialiasing?

The parent has several children that all need to scale in unison with an Animation. It would be a last resort to try.
Tyler Smith
0 Kudos
TheEndless
Channel Surfer

Re: Font antialiasing?

FWIW, I ran into a similar issue, and this is the response I got back from Roku when inquiring about it...
In general, scaling text is a very bad idea, as it will get very blocky. The string is rendered using glyph bitmaps based on just the font size, then the resulting bitmap representation of the string is scaled up or down. You’ll get very ugly text if you add any scale in the transformation matrix above it.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
EnTerr
Roku Guru

Re: Font antialiasing?

Sounds like "it is what it is".

Bonus thought: is there something about the way scaling is done? Akin to ifTextureRequest.setScaleMode, the trade-off speed vs beauty.
0 Kudos
squirreltown
Roku Guru

Re: Font antialiasing?

Set the font size larger so it's normally scaled down, which should be less of an issue and then the "scale up" is actually the native size?
Kinetics Screensavers
0 Kudos
Tyler_Smith
Streaming Star

Re: Font antialiasing?

"squirreltown" wrote:
Set the font size larger so it's normally scaled down, which should be less of an issue and then the "scale up" is actually the native size?


This still looks bad on screen
Tyler Smith
0 Kudos
TheEndless
Channel Surfer

Re: Font antialiasing?

"Tyler Smith" wrote:
"squirreltown" wrote:
Set the font size larger so it's normally scaled down, which should be less of an issue and then the "scale up" is actually the native size?

This still looks bad on screen

I abandoned the whole idea of scaling and switched to active and inactive states for my issue, but... Could you move the label outside of the scaled group, and update the font size based on observing the "scale" field on the group that you're scaling?
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
EnTerr
Roku Guru

Re: Font antialiasing?

I bet it's a bitmap scaling, i.e. everything is rendered to a bitmap first and scale factor is applied only at the very end when plastered on screen. It will work good for fleeting animations but not for static image on screen that needs crisp edges (like font).

I have to say i am confused about <font/> and font= though!
"RTFM is vague" wrote:
Nodes that use fonts include a field that stores a Font node. The font to use is specified by creating a Font node, and setting its uri and size fields.
Well which one is it - in B/S parlance there is the attribute `label@font` and `label.font`. One is a string, the other can be a list of elements - what happens if both are present or <font/> is repeated? Hopefully not "kaboom"
0 Kudos
Tyler_Smith
Streaming Star

Re: Font antialiasing?

"EnTerr" wrote:
I bet it's a bitmap scaling, i.e. everything is rendered to a bitmap first and scale factor is applied only at the very end when plastered on screen. It will work good for fleeting animations but not for static image on screen that needs crisp edges (like font).


That is exactly what is happening. So, we finally decided that we're passing on scaling the item.
Tyler Smith
0 Kudos
Need Assistance?
Welcome to the Roku Community! Feel free to search our Community for answers or post your question to get help.

Become a Roku Streaming Expert!

Share your expertise, help fellow streamers, and unlock exclusive rewards as part of the Roku Community. Learn more.