freetype
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft] bitmap buffer length


From: samaram s
Subject: Re: [ft] bitmap buffer length
Date: Thu, 25 Feb 2010 20:50:36 -0500

The pitch is positive when the bitmap has a ‘down’ flow,
and negative when it has an ‘up’ flow.
 
 rows * pitch
 
When i multiply a negative pitch i will get a negative number of bytes right?? or my assumption is wrong?
 
I would like to read the bitmap->buffer,

for

(i=0; i < size ; i++)

printf(

"%.2x ",slot->bitmap.buffer[i]);
if size = rows*pitch,
I got the following data for unicode val 0x40 (which represents @)
 
I got pitch as 4.
 
Font Data:00 07 fc 00 00 00 00 3f ff 80 00 00 00 ff ff e0 00 00 03 f0 01 f0 00 0
0 07 c0 00 78 00 00 0f 00 00 3c 00 00 0e 00 00 1e 00 00 1c 07 c3 8e 00 00 3c 0f
f3 87 00 00 38 3f ff 87 00 00 70 3c 1f 03 00 00
 
so, 4 bytes represents one row. I got bit map width as 22 ,does it mean the glyph data is actually in 3 bytes(22/8)  and the otherbyte is for padding?
 
Thanks,
Sam
 
 

 
On Thu, Feb 25, 2010 at 12:07 PM, Werner LEMBERG <address@hidden> wrote:

> size = ((bitmap->width + 7) / 8) * bitmap->rows;
>
> // ((bitmap->width + 7) / 8) is the number of bytes for bitmap->width bits

This is not necessarily correct.  Especially on Windows, the pitch
might be a multiple of 4.  I suggest to always use the `pitch' field.


    Werner


reply via email to

[Prev in Thread] Current Thread [Next in Thread]