[base] Fix bitmap emboldening.
Bug introduced after release 2.8. * src/base/ftbitmap.c (ft_bitmap_assure_buffer): We use `FT_QALLOC_MULT', which doesn't zero out the buffer. Adjust the bitmap copying code to take care of this fact.
This commit is contained in:
parent
c2e2a8e5d9
commit
3b88576ba0
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2018-04-22 Alexei Podtelezhnikov <apodtele@gmail.com>
|
||||
|
||||
[base] Fix bitmap emboldening.
|
||||
|
||||
Bug introduced after release 2.8.
|
||||
|
||||
* src/base/ftbitmap.c (ft_bitmap_assure_buffer): We use
|
||||
`FT_QALLOC_MULT', which doesn't zero out the buffer. Adjust the
|
||||
bitmap copying code to take care of this fact.
|
||||
|
||||
2018-04-22 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
Another fix for handling invalid format 2 cmaps.
|
||||
|
|
|
@ -237,7 +237,7 @@
|
|||
unsigned char* out = buffer;
|
||||
|
||||
unsigned char* limit = bitmap->buffer + pitch * bitmap->rows;
|
||||
unsigned int delta = new_pitch - pitch;
|
||||
unsigned int delta = new_pitch - len;
|
||||
|
||||
|
||||
FT_MEM_ZERO( out, new_pitch * ypixels );
|
||||
|
@ -247,8 +247,10 @@
|
|||
{
|
||||
FT_MEM_COPY( out, in, len );
|
||||
in += pitch;
|
||||
out += pitch;
|
||||
out += len;
|
||||
|
||||
/* we use FT_QALLOC_MULT, which doesn't zero out the buffer; */
|
||||
/* consequently, we have to manually zero out the remaining bytes */
|
||||
FT_MEM_ZERO( out, delta );
|
||||
out += delta;
|
||||
}
|
||||
|
@ -261,14 +263,14 @@
|
|||
unsigned char* out = buffer;
|
||||
|
||||
unsigned char* limit = bitmap->buffer + pitch * bitmap->rows;
|
||||
unsigned int delta = new_pitch - pitch;
|
||||
unsigned int delta = new_pitch - len;
|
||||
|
||||
|
||||
while ( in < limit )
|
||||
{
|
||||
FT_MEM_COPY( out, in, len );
|
||||
in += pitch;
|
||||
out += pitch;
|
||||
out += len;
|
||||
|
||||
FT_MEM_ZERO( out, delta );
|
||||
out += delta;
|
||||
|
|
Loading…
Reference in New Issue