Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consolidate all font usage into a style sheet #5027

Closed
mkruselj opened this issue Sep 8, 2021 · 2 comments
Closed

Consolidate all font usage into a style sheet #5027

mkruselj opened this issue Sep 8, 2021 · 2 comments
Labels
Code Refactoring General code refactoring and cleanup issues like names, unused variables, warnings, fixme Feature Request New feature request Skinning Engine Issues related to Surge's skin engine
Milestone

Comments

@mkruselj
Copy link
Collaborator

mkruselj commented Sep 8, 2021

So that we have a clear tree of what is used where at which size and which weight etc. Basically deprecate getLatoAtSize() and create a namespace with font definitions, much like what we do for colors in SkinColors.cpp and so on.

@mkruselj mkruselj added Feature Request New feature request Code Refactoring General code refactoring and cleanup issues like names, unused variables, warnings, fixme Skinning Engine Issues related to Surge's skin engine Before Beta If these are open we can't really call ourselves beta labels Sep 8, 2021
@mkruselj mkruselj added this to the Surge XT 1.0 milestone Sep 8, 2021
baconpaul added a commit to baconpaul/surge that referenced this issue Sep 8, 2021
Move towards fully skinnable fonts by introducing a parallel
to colors for a font style sheet and start using it, but don't
force its use yet. Put this forward to see if we want to do this.

Addresses surge-synthesizer#5027
@baconpaul
Copy link
Collaborator

OK @mkruselj #5032 is a first pull request that creates the data structures and uses them in two spots. I am not going to merge it but I am happy for it to be merged if you want to work on this

Basically from that PR there are three steps

  1. Walk over the rest of the code replacing the uses of getFontManager and so on with skin->getFont(new object)
  2. Once that is done, make the interior of the RuntimeFont.h private with a skin friend, which will force everyone to the new API
  3. Once that is done, make the skin engine able to populate non defaults. We will also want to be able to partially override in the skin engine (that is replace "Lato" with "Comic Sans" everywhere without specifying each font, but that's easy if you follow this pattern and don't specify Lato anywhere in the model other than as a default signifier).

We can do 3 in parallel with 1 and 2, but it is only useful if 1 and 2 are done.

So read the diff and if you want to get the other 100 odd spots in the code then we can do this for XT1

baconpaul added a commit to baconpaul/surge that referenced this issue Sep 8, 2021
Move towards fully skinnable fonts by introducing a parallel
to colors for a font style sheet and start using it, but don't
force its use yet. Put this forward to see if we want to do this.

Addresses surge-synthesizer#5027
baconpaul added a commit to baconpaul/surge that referenced this issue Sep 11, 2021
Move towards fully skinnable fonts by introducing a parallel
to colors for a font style sheet and start using it, but don't
force its use yet. Put this forward to see if we want to do this.

Addresses surge-synthesizer#5027
baconpaul added a commit that referenced this issue Sep 11, 2021
Move towards fully skinnable fonts by introducing a parallel
to colors for a font style sheet and start using it, but don't
force its use yet. Put this forward to see if we want to do this.

Addresses #5027
@baconpaul baconpaul removed the Before Beta If these are open we can't really call ourselves beta label Sep 11, 2021
@mkruselj
Copy link
Collaborator Author

This is now basically sorted out in the Figma wireframe for XT2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Code Refactoring General code refactoring and cleanup issues like names, unused variables, warnings, fixme Feature Request New feature request Skinning Engine Issues related to Surge's skin engine
Projects
None yet
Development

No branches or pull requests

2 participants