Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
141 stars 2 forks source link

Support for variable fonts #1502

Open 5H4D0W-X opened 8 months ago

5H4D0W-X commented 8 months ago

Is your feature request related to a problem? Please describe.

modern fonts often have axes that change the appearance of the font, such as boldness (as an alternative to shipping several different versions for weight and "italic-ness"). A simple example is Rubik which includes a binary axis for italics and a continuous slider for weight. A much more extreme example is Roboto Flex. Resonite does not support variable fonts, locking users to separate font files for each weight category (and using the "incorrect" automatic italics that simply skew the existing characters).

Describe the solution you'd like

A new VariableFontRenderer and accompanying UIX Text component that provides sliders for font variables, like to the blendshape sliders on the SkinnedMeshRenderer.

Describe alternatives you've considered

custom systems using meshes with blendshapes, but that's ridiculous and not compatible with UIX

Additional Context

it would be great if there was full opentype support to allow fonts like Linefont to work, but variable fonts are a great start

Requesters

ShadowX (@ shdw_x)

Frooxius commented 8 months ago

I don't understand why do you want us to add a new component for this, rather than extending existing font renderer?

5H4D0W-X commented 8 months ago

If it's possible to keep it as one component, that would be great. I assumed that there might be necessary changes that would somehow be incompatible with the existing font renderer

shiftyscales commented 8 months ago

This is why in our reporting requirements we request users to focus on the broader picture of the issue rather than suggesting a particular implementation/solution to their issue, @5H4D0W-X.

It's best not to assume anything- and just be as clear as possible about what your issue is.