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
-~----------~----~----~----~------~----~------~--~---

Reply via email to