Hi Akshay,
Thanks for your response. Happy to open an issue for lines and will do that now.
On the curent issue, it appears that there is still an issue that emerges with shorten when a single word extends beyond the confines of the label.size. When this happens, the text does not shorten but rather spills over beyond the label's borders and cannot be seen. If there is a very long word that doesn't fit followed by a space and more words, the shorten function will wrap to a second line even and the top of the first line and the bottom of the second line will not be visible.
Here's an example use case and also how to replicate. Imagine you have a UI that contains people's faces and you want to put a label on each face containing the person's name. If the canvas is 125 wide by 25 tall and the font is 22, the name John of course works just fine. With shorten=True, 'John Smith' also works fine as it is shortened appropriately. However, if the name is 'Michaelangelo', the shorten attribute doesn't work and the 'M' and 'o' are partically hidden from view instead of something like 'Michaelan..." all fitting inside the label which is what I had expected.
Sample .kv file for this example:
FloatLayout:
id: name_layout
size_hint: 1, None
height: 25
canvas:
Color:
rgba: 0,0,0,.65
Rectangle:
pos: self.pos
size: self.size
Label:
id: name_label
size_hint: 1, 1
text_size: self.size
shorten: True
valign: 'middle'
halign: 'center'
color: (1, 1, 1, 1)
font_size: 22
text: ''
If the height had been 50 and the text was "Michaelangelo Smith", what you would see is the text actually wrap to a second line but 'M' and 'o' still obscured and the top half of Michaelangelo hidden from view and the bottom half of "Smith" hidden from view.
Are there some other options that we could consider for how text is handled inside labels?