option A, sort of. I want all the text to fill all of the available space the widget takes up on the screen, so both width and height. So your math is a bit simplistic, since it only takes into consideration height, but yes, that is the general idea.
Using your math, I ran into some problems:
* .spacing doesn't exist, and .padding is a list property.
so from your example, I came up with this:
self.card.font_size = self.card.height - (self.card._line_spacing + self.card.padding_y)
Which seems to work about as well as what I was doing before. same problems tho:
* Scrolling causes problems, it only shows a few characters, once you get past what the screen can display.
* this ONLY takes into consideration the height, and I need to handle the width as well (since scrolling is a bad idea for me).
But I'm not really worried about the algorithm part, I'm worried about using all these ._ variables, and not having access to things like:
* How to turn off Scrolling.
* How to get the current font_size.
* line_spacing being forced to the value 2, even when I don't want it.
* text_width seemingly calculating incorrectly.
With Love,
Tara