251 |
|
|
252 |
|
|
253 |
FT_BASE_DEF( void ) |
FT_BASE_DEF( void ) |
254 |
|
ft_glyphslot_grid_fit_metrics( FT_GlyphSlot slot ) |
255 |
|
{ |
256 |
|
FT_Pos tmp; |
257 |
|
|
258 |
|
|
259 |
|
tmp = FT_PIX_CEIL( slot->metrics.horiBearingX + slot->metrics.width ); |
260 |
|
slot->metrics.horiBearingX = FT_PIX_FLOOR( slot->metrics.horiBearingX ); |
261 |
|
slot->metrics.width = tmp - slot->metrics.horiBearingX; |
262 |
|
|
263 |
|
tmp = FT_PIX_FLOOR( slot->metrics.horiBearingY - slot->metrics.height ); |
264 |
|
slot->metrics.horiBearingY = FT_PIX_CEIL( slot->metrics.horiBearingY ); |
265 |
|
slot->metrics.height = slot->metrics.horiBearingY - tmp; |
266 |
|
|
267 |
|
slot->metrics.horiAdvance = FT_PIX_ROUND( slot->metrics.horiAdvance ); |
268 |
|
|
269 |
|
slot->metrics.vertBearingX = FT_PIX_FLOOR( slot->metrics.vertBearingX ); |
270 |
|
/* note that vertBearinY should be floor'ed */ |
271 |
|
slot->metrics.vertBearingY = FT_PIX_FLOOR( slot->metrics.vertBearingY ); |
272 |
|
slot->metrics.vertAdvance = FT_PIX_ROUND( slot->metrics.vertAdvance ); |
273 |
|
} |
274 |
|
|
275 |
|
|
276 |
|
FT_BASE_DEF( void ) |
277 |
ft_glyphslot_set_bitmap( FT_GlyphSlot slot, |
ft_glyphslot_set_bitmap( FT_GlyphSlot slot, |
278 |
FT_Byte* buffer ) |
FT_Byte* buffer ) |
279 |
{ |
{ |