[quote]Just had a look at this - there’s no actual bug involved. It’s just happening because the algorithm that tries to find line-break positions is deciding that the word “d’evenements” is too long, and is splitting it. It’s just a freak case because of your particular sentence structure, and where the long word happens to be positioned within the label, and the fact that you disabled the horizontal scaling.
There’s nothing actually wrong with the algorithm, but looking at it again, the tolerance for word-length is probably a bit conservative, so I’ve tweaked the number slightly to make it look a bit further for whitespace before giving up, which will probably avoid edge-cases like this one.[/quote]
Thanks for the explanation and the correction
Anyway, I’m not really understanding why you have chosen a kind of arbitrary tolerance on word-length (if I have understood well what you have said).
For me, your algorithm should always look for a white space to create a new line, with only one exception. This exception may be a word, alone, which uses the whole line for itself, and which is of course too long to be displayed fully on this line.
For me again, with two very long words, in a very large label, which may be displayed fully if they were each taken alone, the new line should be between these two long words, and not in the middle of the last long word. This way, there is no more arbitrary tolerance which is not dependent on the width of the label, and any text with an actual meaning using words with any length, in a large enough label, will always be displayed “correctly”.
Your algorithm (the way I have understood what you said) (the = represents the label width)
Before the algorithm
After the algorithm (tolerance equals says 20 characters)
My point of view :
Before the algorithm
After the algorithm
I’m afraid about having the same problem happening again in the future with a normal word being too long again.
What do you think about my point of view ?
I imagine the ideal way to do the work for a typography specialist would be to consider hyphenation, but this is dependent on language and of a dictionnary content, so this is a wrong idea for me to try going there :mrgreen:
Anyway, your solution may do the trick, and I think the chances for the issue I have been reporting to happen again are under 0.00001 %