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

Re: [pygame] freetype + unusual font format: What am I doing wrong?



Perhaps it'd be a good idea to contact the maintainers of freetype.
Westley Martínez
EPC Treasurer
(562) 343-0403
westley.fb@xxxxxxxxx


On Mon, Oct 7, 2013 at 10:32 PM, Lenard Lindstrom <len-l@xxxxxxxxx> wrote:
> I looked at the BDF code in freetype2, and then ran a debugger on
> pygame.freetype to confirm. In freetype2, when only a "SIZE" record in a BDF
> file, the width, in pixels-per-em, is calculated as (height * 2 / 3) [1],
> which may not be the point size given in the "SIZE" record. For c64.dbf this
> is (8 * 2 / 3) = 5. The width is used as the font size. This is a quirk of
> the freetype library. I see no easy work-around.
>
> Lenard Lindstrom
>
> [1] bdfdrivr.c:438, see
> http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/src/bdf/bdfdrivr.c?id=VER-2-5-0-1#n438
>
> On 13-10-06 02:44 PM, Lenard Lindstrom wrote:
>>
>> Okay, setting the resolution to 45 corrects the sizes:
>>
>> pygame.freetype.init(resolution=45)
>>
>> Python 2.7.3
>> pygame 1.9.2a0
>> pygame.freetype 2.4.10
>> radon.bdf 12
>> radon.bdf 13
>> radon-wide.bdf 12
>> radon-wide.bdf 13
>> c64.bdf 8
>> c64d.bdf 16
>>
>> I don't know why this is the case. Explicit bitmap font support is not
>> built into the freetype module, so is untested.  It is something I intended,
>> but have not got around too. Sorry.
>>
>> Lenard Lindstrom.
>>
>> On 13-10-05 03:07 PM, Lenard Lindstrom wrote:
>>>
>>>
> [snip]
>>>
>>> The freetype version of pygame.font.init() is just
>>> pygame.freetype.init(). It takes a 'resolution' keyword argument that sets
>>> the default pitch used in rendering. I suppose setting the pitch to the
>>> screen resolution, in pixels per inch, makes the point size equal pixel
>>> size. The pygame.freetype.Font type allows pitch to be set individually for
>>> each Font instance. It is this pitch twiddling which allows
>>> pygame.freetype.Font to mimic how pygame.font.Font handles the default
>>> Pygame font, which is scaled differently from other fonts.
>>>
>>>
>>> On 13-10-05 01:48 PM, Jason Marshall wrote:
>>>>
>>>> Maybe my understanding of size is wrong...
>>>> http://www.freetype.org/freetype2/docs/ft2faq.html#other-size
>>>>
>>>> ------------------------------------------------------------------------
>>>> *From:* Jason Marshall <jmm0@xxxxxxxxx>
>>>> *To:* "pygame-users@xxxxxxxx" <pygame-users@xxxxxxxx>
>>>> *Sent:* Saturday, October 5, 2013 2:41 PM
>>>> *Subject:* Re: [pygame] freetype + unusual font format: What am I doing
>>>> wrong?
>>>>
>>>> Lenard,
>>>>
>>>> Sorry, updating to pygame-1.9.2a0-12de2da43ecb.win32-py3.3.msi didn't
>>>> help.
>>>>
>>>> By passing a different (wrong) size, I was able to get freetype to
>>>> render some fonts but not others. I made a webpage with the only
>>>> documentation that I have found, some demo code that can render from some
>>>> BDF fonts, and a screenshot:
>>>> http://www.marshallworkshop.com/pygame/freetype-bug/
>>>>
>>>> I suspect that there's a mistake in the documentation for instantiating
>>>> the pygame.freetype.Font class. If I follow the documentation and pass it
>>>> the font name, style and size, I get an error.  If I just pass only the font
>>>> name and a certain (wrong) size, it sometimes renders.
>>>>
>>>> Jason
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>
>