There are a couple things that strike me as counterintuitive in
font.GlyphString.get_break_index. I'd like to know your rationale for
these:
- If no valid break index is found, the original from_index is
returned. Why? Wouldn't it be better to return None (easier to tell
from a valid index) or the length of the text (a sane default if the
whole text fits the width)?
- If text[from_index:] actually fits in the given width, I still get
the index of the beginning of the last word. Why? If it fits, I don't
want to break it at all. I could check the width beforehand, but
get_subwidth doesn't handle line breaks. I think the latter could be
fixed by just changing the last line in the body:
def get_break_index(self, from_index, width):
"""<docstring omitted>"""
to_index = from_index
if from_index >= len(self.text):
return from_index
if from_index:
width += self.cumulative_advance[from_index-1]
for i, (c, w) in enumerate(
zip(self.text[from_index:],
self.cumulative_advance[from_index:])):
if w > width:
return to_index
if c == '\n':
return i + from_index + 1
elif c in u'\u0020\u200b':
to_index = i + from_index + 1
return to_index
so it returns len(self.text) instead.
Am I missing something?
Esteban.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"pyglet-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/pyglet-users?hl=en
-~----------~----~----~----~------~----~------~--~---