mirror of
https://gitlab.freedesktop.org/freetype/freetype.git
synced 2026-05-07 12:18:02 +02:00
Merge branch 'tt_face_colr_blend_layer' into 'master'
Fix tt_face_colr_blend_layer for FT_PIXEL_MODE_MONO source. See merge request freetype/freetype!424
This commit is contained in:
commit
d09212127b
1 changed files with 8 additions and 2 deletions
|
|
@ -1862,7 +1862,11 @@
|
|||
alpha = face->palette[color_index].alpha;
|
||||
}
|
||||
|
||||
/* XXX Convert if srcSlot.bitmap is not grey? */
|
||||
/* Reject pixel modes other than GRAY/MONO. */
|
||||
if ( srcSlot->bitmap.pixel_mode != FT_PIXEL_MODE_GRAY &&
|
||||
srcSlot->bitmap.pixel_mode != FT_PIXEL_MODE_MONO )
|
||||
return FT_Err_Invalid_Glyph_Format;
|
||||
|
||||
src = srcSlot->bitmap.buffer;
|
||||
dst = dstSlot->bitmap.buffer +
|
||||
dstSlot->bitmap.pitch * ( dstSlot->bitmap_top - srcSlot->bitmap_top ) +
|
||||
|
|
@ -1872,7 +1876,9 @@
|
|||
{
|
||||
for ( x = 0; x < srcSlot->bitmap.width; x++ )
|
||||
{
|
||||
int aa = src[x];
|
||||
int aa = srcSlot->bitmap.pixel_mode == FT_PIXEL_MODE_MONO
|
||||
? ( src[x >> 3] & ( 0x80 >> ( x & 7 ) ) ) ? 255 : 0
|
||||
: src[x];
|
||||
int fa = alpha * aa / 255;
|
||||
|
||||
int fb = b * fa / 255;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue