432 {
439
440
441
443 {
446 }
447
448
453 {
456 }
457
458
460 {
462 slot->internal->flags &= ~FT_GLYPH_OWN_BITMAP;
463 }
464
466 {
469 }
470
473
474
477
479
480 x_shift = 64 * -
slot->bitmap_left;
481 y_shift = 64 * -
slot->bitmap_top;
484 else
486
488 {
491 }
492
493
494 if ( x_shift || y_shift )
496
499 {
502 else
503 {
505
506
510
512 }
513 }
514 else
515 {
520
521#ifdef FT_CONFIG_OPTION_SUBPIXEL_RENDERING
522
523
524 {
526 FT_Bitmap_LcdFilterFunc lcd_filter_func;
527
528
529
530 if (
slot->face &&
slot->face->internal->lcd_filter_func )
531 {
532 lcd_weights =
slot->face->internal->lcd_weights;
533 lcd_filter_func =
slot->face->internal->lcd_filter_func;
534 }
535 else
536 {
537 lcd_weights =
slot->library->lcd_weights;
538 lcd_filter_func =
slot->library->lcd_filter_func;
539 }
540
541 if ( lcd_filter_func )
542 lcd_filter_func(
bitmap, lcd_weights );
543 }
544
545#endif
546
547 }
548
551 {
552
553 slot->format = FT_GLYPH_FORMAT_BITMAP;
554 }
556 {
558 slot->internal->flags &= ~FT_GLYPH_OWN_BITMAP;
559 }
560
561 if ( x_shift || y_shift )
563
565 }
#define FT_OUTLINE_OVERLAP
#define FT_ALLOC_MULT(ptr, count, item_size)
ft_glyphslot_preset_bitmap(FT_GlyphSlot slot, FT_Render_Mode mode, const FT_Vector *origin)
#define FT_GLYPH_OWN_BITMAP
static FT_Error ft_smooth_raster_lcdv(FT_Renderer render, FT_Outline *outline, FT_Bitmap *bitmap)
static FT_Error ft_smooth_raster_overlap(FT_Renderer render, FT_Outline *outline, FT_Bitmap *bitmap)
static FT_Error ft_smooth_raster_lcd(FT_Renderer render, FT_Outline *outline, FT_Bitmap *bitmap)
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
static char memory[1024 *256]