[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] Monospaced fonts are meant to be mono-spaced, right?



The letters may be different lengths.  However, the letters should be
spaced equally.  For example,"i" will be shorter than "w" but "hit"
and "hot" should be the same length.

On Mon, May 14, 2012 at 5:25 AM, Sam Bull <sam.hacking@xxxxxxxx> wrote:
> Before I go and file a bug against Ubuntu, can somebody confirm I'm not
> being stupid.
>
> For my input boxes, the cursor position depends on a monospaced font.
> This means I check the length of a rendered letter ("e") using the font,
> and then set the cursor position as a multiple of this length.
>
> This worked fine before, but in Ubuntu 12.04, it no longer seems to be
> monospaced. Getting the length of the character "e" on my system gives
> me 9 pixels, but it seems that some characters, such as "h", are 10
> pixels, which starts offsetting my cursor position and messing up my
> input box.
>
> The line I use to load the font is:
>        pygame.font.SysFont("FreeMono, Monospace", 16)
>
> That should definitely return a monospaced font, right?
>
> And, the line used for getting the width is:
>        mono_font.render("e", False, (0,0,0)).get_size()[0]
>
> Is this a bug, or am I doing something stupid?
>