w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

ftobjs.h File Reference
#include <freetype/ftrender.h>
#include <freetype/ftsizes.h>
#include <freetype/ftlcdfil.h>
#include <freetype/internal/ftmemory.h>
#include <freetype/internal/ftgloadr.h>
#include <freetype/internal/ftdrv.h>
#include <freetype/internal/autohint.h>
#include <freetype/internal/ftserv.h>
#include <freetype/internal/ftcalc.h>
#include "compiler-macros.h"
Include dependency graph for ftobjs.h:

Go to the source code of this file.

Classes

struct  FT_CMapRec_
 
struct  FT_CMap_ClassRec_
 
struct  FT_Face_InternalRec_
 
struct  FT_Slot_InternalRec_
 
struct  FT_Size_InternalRec_
 
struct  FT_ModuleRec_
 
struct  FT_RendererRec_
 
struct  FT_DriverRec_
 
struct  FT_LibraryRec_
 

Macros

#define TRUE   1
 
#define FALSE   0
 
#define NULL   (void*)0
 
#define FT_MIN(a, b)   ( (a) < (b) ? (a) : (b) )
 
#define FT_MAX(a, b)   ( (a) > (b) ? (a) : (b) )
 
#define FT_ABS(a)   ( (a) < 0 ? -(a) : (a) )
 
#define FT_HYPOT(x, y)
 
#define FT_PAD_FLOOR(x, n)   ( (x) & ~FT_TYPEOF( x )( (n) - 1 ) )
 
#define FT_PAD_ROUND(x, n)   FT_PAD_FLOOR( (x) + (n) / 2, n )
 
#define FT_PAD_CEIL(x, n)   FT_PAD_FLOOR( (x) + (n) - 1, n )
 
#define FT_PIX_FLOOR(x)   ( (x) & ~FT_TYPEOF( x )63 )
 
#define FT_PIX_ROUND(x)   FT_PIX_FLOOR( (x) + 32 )
 
#define FT_PIX_CEIL(x)   FT_PIX_FLOOR( (x) + 63 )
 
#define FT_PAD_ROUND_LONG(x, n)
 
#define FT_PAD_CEIL_LONG(x, n)
 
#define FT_PIX_ROUND_LONG(x)   FT_PIX_FLOOR( ADD_LONG( (x), 32 ) )
 
#define FT_PIX_CEIL_LONG(x)   FT_PIX_FLOOR( ADD_LONG( (x), 63 ) )
 
#define FT_PAD_ROUND_INT32(x, n)
 
#define FT_PAD_CEIL_INT32(x, n)
 
#define FT_PIX_ROUND_INT32(x)   FT_PIX_FLOOR( ADD_INT32( (x), 32 ) )
 
#define FT_PIX_CEIL_INT32(x)   FT_PIX_FLOOR( ADD_INT32( (x), 63 ) )
 
#define ft_isdigit(x)   ( ( (unsigned)(x) - '0' ) < 10U )
 
#define ft_isxdigit(x)
 
#define ft_isupper(x)   ( ( (unsigned)(x) - 'A' ) < 26U )
 
#define ft_islower(x)   ( ( (unsigned)(x) - 'a' ) < 26U )
 
#define ft_isalpha(x)   ( ft_isupper( x ) || ft_islower( x ) )
 
#define ft_isalnum(x)   ( ft_isdigit( x ) || ft_isalpha( x ) )
 
#define FT_CMAP(x)   ( (FT_CMap)( x ) )
 
#define FT_CMAP_PLATFORM_ID(x)   FT_CMAP( x )->charmap.platform_id
 
#define FT_CMAP_ENCODING_ID(x)   FT_CMAP( x )->charmap.encoding_id
 
#define FT_CMAP_ENCODING(x)   FT_CMAP( x )->charmap.encoding
 
#define FT_CMAP_FACE(x)   FT_CMAP( x )->charmap.face
 
#define FT_DECLARE_CMAP_CLASS(class_)    FT_CALLBACK_TABLE const FT_CMap_ClassRec class_;
 
#define FT_DEFINE_CMAP_CLASS( class_, size_, init_, done_, char_index_, char_next_, char_var_index_, char_var_default_, variant_list_, charvariant_list_, variantchar_list_)
 
#define FT_GLYPH_OWN_BITMAP   0x1U
 
#define FT_MODULE(x)   ( (FT_Module)(x) )
 
#define FT_MODULE_CLASS(x)   FT_MODULE( x )->clazz
 
#define FT_MODULE_LIBRARY(x)   FT_MODULE( x )->library
 
#define FT_MODULE_MEMORY(x)   FT_MODULE( x )->memory
 
#define FT_MODULE_IS_DRIVER(x)
 
#define FT_MODULE_IS_RENDERER(x)
 
#define FT_MODULE_IS_HINTER(x)
 
#define FT_MODULE_IS_STYLER(x)
 
#define FT_DRIVER_IS_SCALABLE(x)
 
#define FT_DRIVER_USES_OUTLINES(x)
 
#define FT_DRIVER_HAS_HINTER(x)
 
#define FT_DRIVER_HINTS_LIGHTLY(x)
 
#define FT_FACE(x)   ( (FT_Face)(x) )
 
#define FT_SIZE(x)   ( (FT_Size)(x) )
 
#define FT_SLOT(x)   ( (FT_GlyphSlot)(x) )
 
#define FT_FACE_DRIVER(x)   FT_FACE( x )->driver
 
#define FT_FACE_LIBRARY(x)   FT_FACE_DRIVER( x )->root.library
 
#define FT_FACE_MEMORY(x)   FT_FACE( x )->memory
 
#define FT_FACE_STREAM(x)   FT_FACE( x )->stream
 
#define FT_SIZE_FACE(x)   FT_SIZE( x )->face
 
#define FT_SLOT_FACE(x)   FT_SLOT( x )->face
 
#define FT_FACE_SLOT(x)   FT_FACE( x )->glyph
 
#define FT_FACE_SIZE(x)   FT_FACE( x )->size
 
#define FT_REQUEST_WIDTH(req)
 
#define FT_REQUEST_HEIGHT(req)
 
#define FT_RENDERER(x)   ( (FT_Renderer)(x) )
 
#define FT_GLYPH(x)   ( (FT_Glyph)(x) )
 
#define FT_BITMAP_GLYPH(x)   ( (FT_BitmapGlyph)(x) )
 
#define FT_OUTLINE_GLYPH(x)   ( (FT_OutlineGlyph)(x) )
 
#define FT_DRIVER(x)   ( (FT_Driver)(x) )
 
#define FT_DRIVER_CLASS(x)   FT_DRIVER( x )->clazz
 
#define FT_DEFINE_OUTLINE_FUNCS( class_, move_to_, line_to_, conic_to_, cubic_to_, shift_, delta_)
 
#define FT_DEFINE_RASTER_FUNCS( class_, glyph_format_, raster_new_, raster_reset_, raster_set_mode_, raster_render_, raster_done_)
 
#define FT_DECLARE_GLYPH(class_)    FT_CALLBACK_TABLE const FT_Glyph_Class class_;
 
#define FT_DEFINE_GLYPH( class_, size_, format_, init_, done_, copy_, transform_, bbox_, prepare_)
 
#define FT_DECLARE_RENDERER(class_)    FT_EXPORT_VAR( const FT_Renderer_Class ) class_;
 
#define FT_DEFINE_RENDERER( class_, flags_, size_, name_, version_, requires_, interface_, init_, done_, get_interface_, glyph_format_, render_glyph_, transform_glyph_, get_glyph_cbox_, set_mode_, raster_class_)
 
#define FT_DECLARE_MODULE(class_)
 
#define FT_DEFINE_ROOT_MODULE( flags_, size_, name_, version_, requires_, interface_, init_, done_, get_interface_)
 
#define FT_DEFINE_MODULE( class_, flags_, size_, name_, version_, requires_, interface_, init_, done_, get_interface_)
 

Typedefs

typedef struct FT_CMapRec_FT_CMap
 
typedef const struct FT_CMap_ClassRec_FT_CMap_Class
 
typedef struct FT_CMapRec_ FT_CMapRec
 
typedef FT_Error(* FT_CMap_InitFunc) (FT_CMap cmap, FT_Pointer init_data)
 
typedef void(* FT_CMap_DoneFunc) (FT_CMap cmap)
 
typedef FT_UInt(* FT_CMap_CharIndexFunc) (FT_CMap cmap, FT_UInt32 char_code)
 
typedef FT_UInt(* FT_CMap_CharNextFunc) (FT_CMap cmap, FT_UInt32 *achar_code)
 
typedef FT_UInt(* FT_CMap_CharVarIndexFunc) (FT_CMap cmap, FT_CMap unicode_cmap, FT_UInt32 char_code, FT_UInt32 variant_selector)
 
typedef FT_Int(* FT_CMap_CharVarIsDefaultFunc) (FT_CMap cmap, FT_UInt32 char_code, FT_UInt32 variant_selector)
 
typedef FT_UInt32 *(* FT_CMap_VariantListFunc) (FT_CMap cmap, FT_Memory mem)
 
typedef FT_UInt32 *(* FT_CMap_CharVariantListFunc) (FT_CMap cmap, FT_Memory mem, FT_UInt32 char_code)
 
typedef FT_UInt32 *(* FT_CMap_VariantCharListFunc) (FT_CMap cmap, FT_Memory mem, FT_UInt32 variant_selector)
 
typedef struct FT_CMap_ClassRec_ FT_CMap_ClassRec
 
typedef struct FT_Face_InternalRec_ FT_Face_InternalRec
 
typedef struct FT_Slot_InternalRec_ FT_GlyphSlot_InternalRec
 
typedef struct FT_Size_InternalRec_ FT_Size_InternalRec
 
typedef struct FT_ModuleRec_ FT_ModuleRec
 
typedef struct FT_RendererRec_ FT_RendererRec
 
typedef struct FT_DriverRec_ FT_DriverRec
 
typedef struct FT_LibraryRec_ FT_LibraryRec
 
typedef const char *(* FT_Face_GetPostscriptNameFunc) (FT_Face face)
 
typedef FT_Error(* FT_Face_GetGlyphNameFunc) (FT_Face face, FT_UInt glyph_index, FT_Pointer buffer, FT_UInt buffer_max)
 
typedef FT_UInt(* FT_Face_GetGlyphNameIndexFunc) (FT_Face face, const FT_String *glyph_name)
 

Functions

FT_Error FT_CMap_New (FT_CMap_Class clazz, FT_Pointer init_data, FT_CharMap charmap, FT_CMap *acmap)
 
void FT_CMap_Done (FT_CMap cmap)
 
void ft_lcd_padding (FT_BBox *cbox, FT_GlyphSlot slot, FT_Render_Mode mode)
 
const voidFT_Get_Module_Interface (FT_Library library, const char *mod_name)
 
FT_Pointer ft_module_get_service (FT_Module module, const char *service_id, FT_Bool global)
 
FT_Error FT_New_GlyphSlot (FT_Face face, FT_GlyphSlot *aslot)
 
void FT_Done_GlyphSlot (FT_GlyphSlot slot)
 
void FT_Select_Metrics (FT_Face face, FT_ULong strike_index)
 
void FT_Request_Metrics (FT_Face face, FT_Size_Request req)
 
FT_Error FT_Match_Size (FT_Face face, FT_Size_Request req, FT_Bool ignore_width, FT_ULong *size_index)
 
void ft_synthesize_vertical_metrics (FT_Glyph_Metrics *metrics, FT_Pos advance)
 
void ft_glyphslot_free_bitmap (FT_GlyphSlot slot)
 
FT_Bool ft_glyphslot_preset_bitmap (FT_GlyphSlot slot, FT_Render_Mode mode, const FT_Vector *origin)
 
FT_Error ft_glyphslot_alloc_bitmap (FT_GlyphSlot slot, FT_ULong size)
 
void ft_glyphslot_set_bitmap (FT_GlyphSlot slot, FT_Byte *buffer)
 
FT_Renderer FT_Lookup_Renderer (FT_Library library, FT_Glyph_Format format, FT_ListNode *node)
 
FT_Error FT_Render_Glyph_Internal (FT_Library library, FT_GlyphSlot slot, FT_Render_Mode render_mode)
 
FT_Memory FT_New_Memory (void)
 
void FT_Done_Memory (FT_Memory memory)
 

Variables

FT_Raster_Funcs ft_default_raster
 

Macro Definition Documentation

◆ FALSE

#define FALSE   0

Definition at line 57 of file ftobjs.h.

◆ FT_ABS

#define FT_ABS (   a)    ( (a) < 0 ? -(a) : (a) )

Definition at line 73 of file ftobjs.h.

◆ FT_BITMAP_GLYPH

#define FT_BITMAP_GLYPH (   x)    ( (FT_BitmapGlyph)(x) )

Definition at line 737 of file ftobjs.h.

◆ FT_CMAP

#define FT_CMAP (   x)    ( (FT_CMap)( x ) )

Definition at line 157 of file ftobjs.h.

◆ FT_CMAP_ENCODING

#define FT_CMAP_ENCODING (   x)    FT_CMAP( x )->charmap.encoding

Definition at line 162 of file ftobjs.h.

◆ FT_CMAP_ENCODING_ID

#define FT_CMAP_ENCODING_ID (   x)    FT_CMAP( x )->charmap.encoding_id

Definition at line 161 of file ftobjs.h.

◆ FT_CMAP_FACE

#define FT_CMAP_FACE (   x)    FT_CMAP( x )->charmap.face

Definition at line 163 of file ftobjs.h.

◆ FT_CMAP_PLATFORM_ID

#define FT_CMAP_PLATFORM_ID (   x)    FT_CMAP( x )->charmap.platform_id

Definition at line 160 of file ftobjs.h.

◆ FT_DECLARE_CMAP_CLASS

#define FT_DECLARE_CMAP_CLASS (   class_)     FT_CALLBACK_TABLE const FT_CMap_ClassRec class_;

Definition at line 229 of file ftobjs.h.

◆ FT_DECLARE_GLYPH

#define FT_DECLARE_GLYPH (   class_)     FT_CALLBACK_TABLE const FT_Glyph_Class class_;

@macro: FT_DEFINE_GLYPH

@description: The struct will be allocated in the global scope (or the scope where the macro is used).

Definition at line 1060 of file ftobjs.h.

◆ FT_DECLARE_MODULE

#define FT_DECLARE_MODULE (   class_)
Value:
FT_CALLBACK_TABLE \
const FT_Module_Class class_;

@macro: FT_DECLARE_MODULE

@description: Used to create a forward declaration of a FT_Module_Class struct instance.

@macro: FT_DEFINE_MODULE

@description: Used to initialize an instance of an FT_Module_Class struct.

The struct will be allocated in the global scope (or the scope where the macro is used).

@macro: FT_DEFINE_ROOT_MODULE

@description: Used to initialize an instance of an FT_Module_Class struct inside another struct that contains it or in a function that initializes that containing struct.

Definition at line 1174 of file ftobjs.h.

◆ FT_DECLARE_RENDERER

#define FT_DECLARE_RENDERER (   class_)     FT_EXPORT_VAR( const FT_Renderer_Class ) class_;

@macro: FT_DECLARE_RENDERER

@description: Used to create a forward declaration of a FT_Renderer_Class struct instance.

@macro: FT_DEFINE_RENDERER

@description: Used to initialize an instance of FT_Renderer_Class struct.

The struct will be allocated in the global scope (or the scope where the macro is used).

Definition at line 1105 of file ftobjs.h.

◆ FT_DEFINE_CMAP_CLASS

#define FT_DEFINE_CMAP_CLASS (   class_,
  size_,
  init_,
  done_,
  char_index_,
  char_next_,
  char_var_index_,
  char_var_default_,
  variant_list_,
  charvariant_list_,
  variantchar_list_ 
)
Value:
FT_CALLBACK_TABLE_DEF \
const FT_CMap_ClassRec class_ = \
{ \
size_, \
init_, \
done_, \
char_index_, \
char_next_, \
char_var_index_, \
char_var_default_, \
variant_list_, \
charvariant_list_, \
variantchar_list_ \
};

Definition at line 232 of file ftobjs.h.

◆ FT_DEFINE_GLYPH

#define FT_DEFINE_GLYPH (   class_,
  size_,
  format_,
  init_,
  done_,
  copy_,
  transform_,
  bbox_,
  prepare_ 
)
Value:
FT_CALLBACK_TABLE_DEF \
const FT_Glyph_Class class_ = \
{ \
size_, \
format_, \
init_, \
done_, \
copy_, \
transform_, \
bbox_, \
prepare_ \
};
typedefFT_BEGIN_HEADER struct FT_Glyph_Class_ FT_Glyph_Class
Definition: ftglyph.h:69

Definition at line 1063 of file ftobjs.h.

◆ FT_DEFINE_MODULE

#define FT_DEFINE_MODULE (   class_,
  flags_,
  size_,
  name_,
  version_,
  requires_,
  interface_,
  init_,
  done_,
  get_interface_ 
)
Value:
FT_CALLBACK_TABLE_DEF \
const FT_Module_Class class_ = \
{ \
flags_, \
size_, \
\
name_, \
version_, \
requires_, \
\
interface_, \
\
init_, \
done_, \
get_interface_, \
};

Definition at line 1203 of file ftobjs.h.

◆ FT_DEFINE_OUTLINE_FUNCS

#define FT_DEFINE_OUTLINE_FUNCS (   class_,
  move_to_,
  line_to_,
  conic_to_,
  cubic_to_,
  shift_,
  delta_ 
)
Value:
static const FT_Outline_Funcs class_ = \
{ \
move_to_, \
line_to_, \
conic_to_, \
cubic_to_, \
shift_, \
delta_ \
};

@macro: FT_DEFINE_OUTLINE_FUNCS

@description: Used to initialize an instance of FT_Outline_Funcs struct. The struct will be allocated in the global scope (or the scope where the macro is used).

Definition at line 1002 of file ftobjs.h.

◆ FT_DEFINE_RASTER_FUNCS

#define FT_DEFINE_RASTER_FUNCS (   class_,
  glyph_format_,
  raster_new_,
  raster_reset_,
  raster_set_mode_,
  raster_render_,
  raster_done_ 
)
Value:
const FT_Raster_Funcs class_ = \
{ \
glyph_format_, \
raster_new_, \
raster_reset_, \
raster_set_mode_, \
raster_render_, \
raster_done_ \
};

@macro: FT_DEFINE_RASTER_FUNCS

@description: Used to initialize an instance of FT_Raster_Funcs struct. The struct will be allocated in the global scope (or the scope where the macro is used).

Definition at line 1031 of file ftobjs.h.

◆ FT_DEFINE_RENDERER

#define FT_DEFINE_RENDERER (   class_,
  flags_,
  size_,
  name_,
  version_,
  requires_,
  interface_,
  init_,
  done_,
  get_interface_,
  glyph_format_,
  render_glyph_,
  transform_glyph_,
  get_glyph_cbox_,
  set_mode_,
  raster_class_ 
)
Value:
FT_CALLBACK_TABLE_DEF \
const FT_Renderer_Class class_ = \
{ \
FT_DEFINE_ROOT_MODULE( flags_, \
size_, \
name_, \
version_, \
requires_, \
interface_, \
init_, \
done_, \
get_interface_ ) \
glyph_format_, \
\
render_glyph_, \
transform_glyph_, \
get_glyph_cbox_, \
set_mode_, \
\
raster_class_ \
};
set set set set set set set set set set set set set set set set set set set set *set set set macro pixldst op &r &cond WK op &r &cond WK op &r &cond WK else op &m &cond &ia op &r &cond WK else op &m &cond &ia elseif elseif else error unsupported base if elseif elseif else error unsupported unaligned pixldst unaligned endm macro pixst base base else pixldst base endif endm macro PF base if bpp PF set rept prefetch_distance PF set OFFSET endr endif endm macro preload_leading_step2 base if bpp ifc DST PF PF else if bpp lsl PF PF lsl PF PF lsl PF PF PF else PF lsl PF lsl PF lsl PF endif SIZE macro preload_middle scratch_holds_offset if bpp else PF PF endif endif endif endm macro preload_trailing base if bpp if bpp *pix_per_block PF PF lsl PF PF PF PF PF else PF lsl PF lsl PF PF PF PF PF base if bpp if narrow_case &&bpp<=dst_w_bpp) PF bic, WK0, base, #31 PF pld,[WK0] PF add, WK1, base, X, LSL #bpp_shift PF sub, WK1, WK1, #1 PF bic, WK1, WK1, #31 PF cmp, WK1, WK0 PF beq, 90f PF pld,[WK1]90:.else PF bic, WK0, base, #31 PF pld,[WK0] PF add, WK1, base, X, lsl #bpp_shift PF sub, WK1, WK1, #1 PF bic, WK1, WK1, #31 PF cmp, WK1, WK0 PF beq, 92f91:PF add, WK0, WK0, #32 PF cmp, WK0, WK1 PF pld,[WK0] PF bne, 91b92:.endif .endif.endm.macro conditional_process1_helper cond, process_head, process_tail, numbytes, firstreg, unaligned_src, unaligned_mask, decrementx process_head cond, numbytes, firstreg, unaligned_src, unaligned_mask, 0 .if decrementx sub &cond X, X, #8 *numbytes/dst_w_bpp .endif process_tail cond, numbytes, firstreg .if !((flags) &FLAG_PROCESS_DOES_STORE) pixst cond, numbytes, firstreg, DST .endif.endm.macro conditional_process1 cond, process_head, process_tail, numbytes, firstreg, unaligned_src, unaligned_mask, decrementx .if(flags) &FLAG_BRANCH_OVER .ifc cond, mi bpl 100f .endif .ifc cond, cs bcc 100f .endif .ifc cond, ne beq 100f .endif conditional_process1_helper, process_head, process_tail, numbytes, firstreg, unaligned_src, unaligned_mask, decrementx100:.else conditional_process1_helper cond, process_head, process_tail, numbytes, firstreg, unaligned_src, unaligned_mask, decrementx .endif.endm.macro conditional_process2 test, cond1, cond2, process_head, process_tail, numbytes1, numbytes2, firstreg1, firstreg2, unaligned_src, unaligned_mask, decrementx .if(flags) &(FLAG_DST_READWRITE|FLAG_BRANCH_OVER|FLAG_PROCESS_CORRUPTS_PSR|FLAG_PROCESS_DOES_STORE) test conditional_process1 cond1, process_head, process_tail, numbytes1, firstreg1, unaligned_src, unaligned_mask, decrementx .if(flags) &FLAG_PROCESS_CORRUPTS_PSR test .endif conditional_process1 cond2, process_head, process_tail, numbytes2, firstreg2, unaligned_src, unaligned_mask, decrementx .else test process_head cond1, numbytes1, firstreg1, unaligned_src, unaligned_mask, 0 process_head cond2, numbytes2, firstreg2, unaligned_src, unaligned_mask, 0 .if decrementx sub &cond1 X, X, #8 *numbytes1/dst_w_bpp sub &cond2 X, X, #8 *numbytes2/dst_w_bpp .endif process_tail cond1, numbytes1, firstreg1 process_tail cond2, numbytes2, firstreg2 pixst cond1, numbytes1, firstreg1, DST pixst cond2, numbytes2, firstreg2, DST .endif.endm.macro test_bits_1_0_ptr .if(flags) &FLAG_PROCESS_CORRUPTS_WK0 movs SCRATCH, X, lsl #32-1 .else movs SCRATCH, WK0, lsl #32-1 .endif.endm.macro test_bits_3_2_ptr .if(flags) &FLAG_PROCESS_CORRUPTS_WK0 movs SCRATCH, X, lsl #32-3 .else movs SCRATCH, WK0, lsl #32-3 .endif.endm.macro leading_15bytes process_head, process_tail .set DECREMENT_X, 1 .if(flags) &FLAG_PROCESS_CORRUPTS_WK0 .set DECREMENT_X, 0 sub X, X, WK0, lsr #dst_bpp_shift str X,[sp, #LINE_SAVED_REG_COUNT *4] mov X, WK0 .endif .if dst_w_bpp==8 conditional_process2 test_bits_1_0_ptr, mi, cs, process_head, process_tail, 1, 2, 1, 2, 1, 1, DECREMENT_X .elseif dst_w_bpp==16 test_bits_1_0_ptr conditional_process1 cs, process_head, process_tail, 2, 2, 1, 1, DECREMENT_X .endif conditional_process2 test_bits_3_2_ptr, mi, cs, process_head, process_tail, 4, 8, 1, 2, 1, 1, DECREMENT_X .if(flags) &FLAG_PROCESS_CORRUPTS_WK0 ldr X,[sp, #LINE_SAVED_REG_COUNT *4] .endif.endm.macro test_bits_3_2_pix movs SCRATCH, X, lsl #dst_bpp_shift+32-3.endm.macro test_bits_1_0_pix .if dst_w_bpp==8 movs SCRATCH, X, lsl #dst_bpp_shift+32-1 .else movs SCRATCH, X, lsr #1 .endif.endm.macro trailing_15bytes process_head, process_tail, unaligned_src, unaligned_mask conditional_process2 test_bits_3_2_pix, cs, mi, process_head, process_tail, 8, 4, 0, 2, unaligned_src, unaligned_mask, 0 .if dst_w_bpp==16 test_bits_1_0_pix conditional_process1 cs, process_head, process_tail, 2, 0, unaligned_src, unaligned_mask, 0 .elseif dst_w_bpp==8 conditional_process2 test_bits_1_0_pix, cs, mi, process_head, process_tail, 2, 1, 0, 1, unaligned_src, unaligned_mask, 0 .endif.endm.macro wide_case_inner_loop process_head, process_tail, unaligned_src, unaligned_mask, dst_alignment110:.set SUBBLOCK, 0 .rept pix_per_block *dst_w_bpp/128 process_head, 16, 0, unaligned_src, unaligned_mask, 1 .if(src_bpp > 0) &&(mask_bpp==0) &&((flags) &FLAG_PROCESS_PRESERVES_SCRATCH) preload_middle src_bpp, SRC, 1 .elseif(src_bpp==0) &&(mask_bpp > 0) &&((flags) &FLAG_PROCESS_PRESERVES_SCRATCH) preload_middle mask_bpp, MASK, 1 .else preload_middle src_bpp, SRC, 0 preload_middle mask_bpp, MASK, 0 .endif .if(dst_r_bpp > 0) &&((SUBBLOCK % 2)==0) &&(((flags) &FLAG_NO_PRELOAD_DST)==0) PF pld,[DST, #32 *prefetch_distance - dst_alignment] .endif process_tail, 16, 0 .if !((flags) &FLAG_PROCESS_DOES_STORE) pixst, 16, 0, DST .endif .set SUBBLOCK, SUBBLOCK+1 .endr subs X, X, #pix_per_block bhs 110b.endm.macro wide_case_inner_loop_and_trailing_pixels process_head, process_tail, process_inner_loop, exit_label, unaligned_src, unaligned_mask .if dst_r_bpp > tst bne process_inner_loop DST_PRELOAD_BIAS endif preload_trailing SRC preload_trailing MASK DST endif add medium_case_inner_loop_and_trailing_pixels unaligned_mask endm macro medium_case_inner_loop_and_trailing_pixels DST endif subs bhs tst beq exit_label trailing_15bytes unaligned_mask endm macro narrow_case_inner_loop_and_trailing_pixels unaligned_mask tst conditional_process1 trailing_15bytes unaligned_mask endm macro switch_on_alignment exit_label if bne endif if bne endif action if endif if bne endif action if endif endif endm macro end_of_line last_one if vars_spilled word LINE_SAVED_REGS endif subs if vars_spilled endif endif add STRIDE_D if src_bpp add STRIDE_S endif if mask_bpp add STRIDE_M endif if restore_x mov ORIG_W endif bhs loop_label ifc if vars_spilled b else b endif else flags_

Definition at line 1108 of file ftobjs.h.

◆ FT_DEFINE_ROOT_MODULE

#define FT_DEFINE_ROOT_MODULE (   flags_,
  size_,
  name_,
  version_,
  requires_,
  interface_,
  init_,
  done_,
  get_interface_ 
)
Value:
{ \
flags_, \
size_, \
\
name_, \
version_, \
requires_, \
\
interface_, \
\
init_, \
done_, \
get_interface_, \
},

Definition at line 1178 of file ftobjs.h.

◆ FT_DRIVER

#define FT_DRIVER (   x)    ( (FT_Driver)(x) )

Definition at line 769 of file ftobjs.h.

◆ FT_DRIVER_CLASS

#define FT_DRIVER_CLASS (   x)    FT_DRIVER( x )->clazz

Definition at line 772 of file ftobjs.h.

◆ FT_DRIVER_HAS_HINTER

#define FT_DRIVER_HAS_HINTER (   x)
Value:
( FT_MODULE_CLASS( x )->module_flags & \
FT_MODULE_DRIVER_HAS_HINTER )
#define FT_MODULE_CLASS(x)
Definition: ftobjs.h:510
float x
Definition: cordic.py:15

Definition at line 533 of file ftobjs.h.

◆ FT_DRIVER_HINTS_LIGHTLY

#define FT_DRIVER_HINTS_LIGHTLY (   x)
Value:
( FT_MODULE_CLASS( x )->module_flags & \
FT_MODULE_DRIVER_HINTS_LIGHTLY )

Definition at line 536 of file ftobjs.h.

◆ FT_DRIVER_IS_SCALABLE

#define FT_DRIVER_IS_SCALABLE (   x)
Value:
( FT_MODULE_CLASS( x )->module_flags & \
FT_MODULE_DRIVER_SCALABLE )

Definition at line 527 of file ftobjs.h.

◆ FT_DRIVER_USES_OUTLINES

#define FT_DRIVER_USES_OUTLINES (   x)
Value:
!( FT_MODULE_CLASS( x )->module_flags & \
FT_MODULE_DRIVER_NO_OUTLINES )

Definition at line 530 of file ftobjs.h.

◆ FT_FACE

#define FT_FACE (   x)    ( (FT_Face)(x) )

Definition at line 597 of file ftobjs.h.

◆ FT_FACE_DRIVER

#define FT_FACE_DRIVER (   x)    FT_FACE( x )->driver

Definition at line 601 of file ftobjs.h.

◆ FT_FACE_LIBRARY

#define FT_FACE_LIBRARY (   x)    FT_FACE_DRIVER( x )->root.library

Definition at line 602 of file ftobjs.h.

◆ FT_FACE_MEMORY

#define FT_FACE_MEMORY (   x)    FT_FACE( x )->memory

Definition at line 603 of file ftobjs.h.

◆ FT_FACE_SIZE

#define FT_FACE_SIZE (   x)    FT_FACE( x )->size

Definition at line 610 of file ftobjs.h.

◆ FT_FACE_SLOT

#define FT_FACE_SLOT (   x)    FT_FACE( x )->glyph

Definition at line 609 of file ftobjs.h.

◆ FT_FACE_STREAM

#define FT_FACE_STREAM (   x)    FT_FACE( x )->stream

Definition at line 604 of file ftobjs.h.

◆ FT_GLYPH

#define FT_GLYPH (   x)    ( (FT_Glyph)(x) )

Definition at line 736 of file ftobjs.h.

◆ FT_GLYPH_OWN_BITMAP

#define FT_GLYPH_OWN_BITMAP   0x1U

Definition at line 421 of file ftobjs.h.

◆ FT_HYPOT

#define FT_HYPOT (   x,
  y 
)
Value:
( x = FT_ABS( x ), \
y = FT_ABS( y ), \
x > y ? x + ( 3 * y >> 3 ) \
: y + ( 3 * x >> 3 ) )
#define FT_ABS(a)
Definition: ftobjs.h:73
kerning y
Definition: ttdriver.c:212

Definition at line 80 of file ftobjs.h.

◆ ft_isalnum

#define ft_isalnum (   x)    ( ft_isdigit( x ) || ft_isalpha( x ) )

Definition at line 127 of file ftobjs.h.

◆ ft_isalpha

#define ft_isalpha (   x)    ( ft_isupper( x ) || ft_islower( x ) )

Definition at line 126 of file ftobjs.h.

◆ ft_isdigit

#define ft_isdigit (   x)    ( ( (unsigned)(x) - '0' ) < 10U )

Definition at line 116 of file ftobjs.h.

◆ ft_islower

#define ft_islower (   x)    ( ( (unsigned)(x) - 'a' ) < 26U )

Definition at line 124 of file ftobjs.h.

◆ ft_isupper

#define ft_isupper (   x)    ( ( (unsigned)(x) - 'A' ) < 26U )

Definition at line 123 of file ftobjs.h.

◆ ft_isxdigit

#define ft_isxdigit (   x)
Value:
( ( (unsigned)(x) - '0' ) < 10U || \
( (unsigned)(x) - 'a' ) < 6U || \
( (unsigned)(x) - 'A' ) < 6U )

Definition at line 118 of file ftobjs.h.

◆ FT_MAX

#define FT_MAX (   a,
  b 
)    ( (a) > (b) ? (a) : (b) )

Definition at line 71 of file ftobjs.h.

◆ FT_MIN

#define FT_MIN (   a,
  b 
)    ( (a) < (b) ? (a) : (b) )

The min and max functions missing in C. As usual, be careful not to write things like FT_MIN( a++, b++ ) to avoid side effects.

Definition at line 70 of file ftobjs.h.

◆ FT_MODULE

#define FT_MODULE (   x)    ( (FT_Module)(x) )

Definition at line 508 of file ftobjs.h.

◆ FT_MODULE_CLASS

#define FT_MODULE_CLASS (   x)    FT_MODULE( x )->clazz

Definition at line 510 of file ftobjs.h.

◆ FT_MODULE_IS_DRIVER

#define FT_MODULE_IS_DRIVER (   x)
Value:
( FT_MODULE_CLASS( x )->module_flags & \
FT_MODULE_FONT_DRIVER )

Definition at line 515 of file ftobjs.h.

◆ FT_MODULE_IS_HINTER

#define FT_MODULE_IS_HINTER (   x)
Value:
( FT_MODULE_CLASS( x )->module_flags & \
FT_MODULE_HINTER )

Definition at line 521 of file ftobjs.h.

◆ FT_MODULE_IS_RENDERER

#define FT_MODULE_IS_RENDERER (   x)
Value:
( FT_MODULE_CLASS( x )->module_flags & \
FT_MODULE_RENDERER )

Definition at line 518 of file ftobjs.h.

◆ FT_MODULE_IS_STYLER

#define FT_MODULE_IS_STYLER (   x)
Value:
( FT_MODULE_CLASS( x )->module_flags & \
FT_MODULE_STYLER )

Definition at line 524 of file ftobjs.h.

◆ FT_MODULE_LIBRARY

#define FT_MODULE_LIBRARY (   x)    FT_MODULE( x )->library

Definition at line 511 of file ftobjs.h.

◆ FT_MODULE_MEMORY

#define FT_MODULE_MEMORY (   x)    FT_MODULE( x )->memory

Definition at line 512 of file ftobjs.h.

◆ FT_OUTLINE_GLYPH

#define FT_OUTLINE_GLYPH (   x)    ( (FT_OutlineGlyph)(x) )

Definition at line 738 of file ftobjs.h.

◆ FT_PAD_CEIL

#define FT_PAD_CEIL (   x,
  n 
)    FT_PAD_FLOOR( (x) + (n) - 1, n )

Definition at line 89 of file ftobjs.h.

◆ FT_PAD_CEIL_INT32

#define FT_PAD_CEIL_INT32 (   x,
  n 
)
Value:
FT_PAD_FLOOR( ADD_INT32( (x), (n) - 1 ), \
n )
#define n
Definition: t4ht.c:1290
#define ADD_INT32(a, b)
Definition: ftcalc.h:481
#define FT_PAD_FLOOR(x, n)
Definition: ftobjs.h:87

Definition at line 106 of file ftobjs.h.

◆ FT_PAD_CEIL_LONG

#define FT_PAD_CEIL_LONG (   x,
  n 
)
Value:
FT_PAD_FLOOR( ADD_LONG( (x), (n) - 1 ), \
n )
#define ADD_LONG(a, b)
Definition: ftcalc.h:472

Definition at line 99 of file ftobjs.h.

◆ FT_PAD_FLOOR

#define FT_PAD_FLOOR (   x,
  n 
)    ( (x) & ~FT_TYPEOF( x )( (n) - 1 ) )

Definition at line 87 of file ftobjs.h.

◆ FT_PAD_ROUND

#define FT_PAD_ROUND (   x,
  n 
)    FT_PAD_FLOOR( (x) + (n) / 2, n )

Definition at line 88 of file ftobjs.h.

◆ FT_PAD_ROUND_INT32

#define FT_PAD_ROUND_INT32 (   x,
  n 
)
Value:
FT_PAD_FLOOR( ADD_INT32( (x), (n) / 2 ), \
n )

Definition at line 104 of file ftobjs.h.

◆ FT_PAD_ROUND_LONG

#define FT_PAD_ROUND_LONG (   x,
  n 
)
Value:
FT_PAD_FLOOR( ADD_LONG( (x), (n) / 2 ), \
n )

Definition at line 97 of file ftobjs.h.

◆ FT_PIX_CEIL

#define FT_PIX_CEIL (   x)    FT_PIX_FLOOR( (x) + 63 )

Definition at line 93 of file ftobjs.h.

◆ FT_PIX_CEIL_INT32

#define FT_PIX_CEIL_INT32 (   x)    FT_PIX_FLOOR( ADD_INT32( (x), 63 ) )

Definition at line 109 of file ftobjs.h.

◆ FT_PIX_CEIL_LONG

#define FT_PIX_CEIL_LONG (   x)    FT_PIX_FLOOR( ADD_LONG( (x), 63 ) )

Definition at line 102 of file ftobjs.h.

◆ FT_PIX_FLOOR

#define FT_PIX_FLOOR (   x)    ( (x) & ~FT_TYPEOF( x )63 )

Definition at line 91 of file ftobjs.h.

◆ FT_PIX_ROUND

#define FT_PIX_ROUND (   x)    FT_PIX_FLOOR( (x) + 32 )

Definition at line 92 of file ftobjs.h.

◆ FT_PIX_ROUND_INT32

#define FT_PIX_ROUND_INT32 (   x)    FT_PIX_FLOOR( ADD_INT32( (x), 32 ) )

Definition at line 108 of file ftobjs.h.

◆ FT_PIX_ROUND_LONG

#define FT_PIX_ROUND_LONG (   x)    FT_PIX_FLOOR( ADD_LONG( (x), 32 ) )

Definition at line 101 of file ftobjs.h.

◆ FT_RENDERER

#define FT_RENDERER (   x)    ( (FT_Renderer)(x) )

Definition at line 735 of file ftobjs.h.

◆ FT_REQUEST_HEIGHT

#define FT_REQUEST_HEIGHT (   req)
Value:
( (req)->vertResolution \
? ( (req)->height * (FT_Pos)(req)->vertResolution + 36 ) / 72 \
: (req)->height )
FT_BEGIN_HEADER typedef signed long FT_Pos
Definition: ftimage.h:57

Definition at line 663 of file ftobjs.h.

◆ FT_REQUEST_WIDTH

#define FT_REQUEST_WIDTH (   req)
Value:
( (req)->horiResolution \
? ( (req)->width * (FT_Pos)(req)->horiResolution + 36 ) / 72 \
: (req)->width )

Definition at line 658 of file ftobjs.h.

◆ FT_SIZE

#define FT_SIZE (   x)    ( (FT_Size)(x) )

Definition at line 598 of file ftobjs.h.

◆ FT_SIZE_FACE

#define FT_SIZE_FACE (   x)    FT_SIZE( x )->face

Definition at line 606 of file ftobjs.h.

◆ FT_SLOT

#define FT_SLOT (   x)    ( (FT_GlyphSlot)(x) )

Definition at line 599 of file ftobjs.h.

◆ FT_SLOT_FACE

#define FT_SLOT_FACE (   x)    FT_SLOT( x )->face

Definition at line 607 of file ftobjs.h.

◆ NULL

#define NULL   (void*)0

Definition at line 61 of file ftobjs.h.

◆ TRUE

#define TRUE   1

ftobjs.h

The FreeType private base classes (specification).

Copyright (C) 1996-2020 by David Turner, Robert Wilhelm, and Werner Lemberg.

This file is part of the FreeType project, and may only be used, modified, and distributed under the terms of the FreeType project license, LICENSE.TXT. By continuing to use, modify, or distribute this file you indicate that you have read the license and understand and accept it fully. This file contains the definition of all internal FreeType classes. Some generic definitions.

Definition at line 53 of file ftobjs.h.

Typedef Documentation

◆ FT_CMap

typedef struct FT_CMapRec_* FT_CMap

Definition at line 143 of file ftobjs.h.

◆ FT_CMap_CharIndexFunc

typedef FT_UInt(* FT_CMap_CharIndexFunc) (FT_CMap cmap, FT_UInt32 char_code)

Definition at line 174 of file ftobjs.h.

◆ FT_CMap_CharNextFunc

typedef FT_UInt(* FT_CMap_CharNextFunc) (FT_CMap cmap, FT_UInt32 *achar_code)

Definition at line 178 of file ftobjs.h.

◆ FT_CMap_CharVariantListFunc

typedef FT_UInt32*(* FT_CMap_CharVariantListFunc) (FT_CMap cmap, FT_Memory mem, FT_UInt32 char_code)

Definition at line 197 of file ftobjs.h.

◆ FT_CMap_CharVarIndexFunc

typedef FT_UInt(* FT_CMap_CharVarIndexFunc) (FT_CMap cmap, FT_CMap unicode_cmap, FT_UInt32 char_code, FT_UInt32 variant_selector)

Definition at line 182 of file ftobjs.h.

◆ FT_CMap_CharVarIsDefaultFunc

typedef FT_Int(* FT_CMap_CharVarIsDefaultFunc) (FT_CMap cmap, FT_UInt32 char_code, FT_UInt32 variant_selector)

Definition at line 188 of file ftobjs.h.

◆ FT_CMap_Class

Definition at line 146 of file ftobjs.h.

◆ FT_CMap_ClassRec

◆ FT_CMap_DoneFunc

typedef void(* FT_CMap_DoneFunc) (FT_CMap cmap)

Definition at line 171 of file ftobjs.h.

◆ FT_CMap_InitFunc

typedef FT_Error(* FT_CMap_InitFunc) (FT_CMap cmap, FT_Pointer init_data)

Definition at line 167 of file ftobjs.h.

◆ FT_CMap_VariantCharListFunc

typedef FT_UInt32*(* FT_CMap_VariantCharListFunc) (FT_CMap cmap, FT_Memory mem, FT_UInt32 variant_selector)

Definition at line 202 of file ftobjs.h.

◆ FT_CMap_VariantListFunc

typedef FT_UInt32*(* FT_CMap_VariantListFunc) (FT_CMap cmap, FT_Memory mem)

Definition at line 193 of file ftobjs.h.

◆ FT_CMapRec

typedef struct FT_CMapRec_ FT_CMapRec

◆ FT_DriverRec

typedef struct FT_DriverRec_ FT_DriverRec

◆ FT_Face_GetGlyphNameFunc

typedef FT_Error(* FT_Face_GetGlyphNameFunc) (FT_Face face, FT_UInt glyph_index, FT_Pointer buffer, FT_UInt buffer_max)

Definition at line 935 of file ftobjs.h.

◆ FT_Face_GetGlyphNameIndexFunc

typedef FT_UInt(* FT_Face_GetGlyphNameIndexFunc) (FT_Face face, const FT_String *glyph_name)

Definition at line 941 of file ftobjs.h.

◆ FT_Face_GetPostscriptNameFunc

typedef const char*(* FT_Face_GetPostscriptNameFunc) (FT_Face face)

Definition at line 932 of file ftobjs.h.

◆ FT_Face_InternalRec

◆ FT_GlyphSlot_InternalRec

◆ FT_LibraryRec

typedef struct FT_LibraryRec_ FT_LibraryRec

◆ FT_ModuleRec

typedef struct FT_ModuleRec_ FT_ModuleRec

◆ FT_RendererRec

◆ FT_Size_InternalRec

Function Documentation

◆ FT_CMap_Done()

◆ FT_CMap_New()

◆ FT_Done_GlyphSlot()

void FT_Done_GlyphSlot ( FT_GlyphSlot  slot)

@function: FT_Done_GlyphSlot

@description: Destroys a given glyph slot. Remember however that all slots are automatically destroyed with its parent. Using this function is not always mandatory.

@input: slot :: A handle to a target glyph slot.

Definition at line 648 of file ftobjs.c.

References cur, FT_FREE, ft_glyphslot_done(), FT_ModuleRec_::memory, NULL, prev, FT_DriverRec_::root, and slot.

Referenced by T42_GlyphSlot_Done().

◆ FT_Done_Memory()

void FT_Done_Memory ( FT_Memory  memory)

@function: FT_Done_Memory

@description: Discards memory manager.

@input: memory :: A handle to the memory manager.

Definition at line 515 of file ftsystem.c.

◆ FT_Get_Module_Interface()

const void* FT_Get_Module_Interface ( FT_Library  library,
const char *  mod_name 
)

@function: FT_Get_Module_Interface

@description: Finds a module and returns its specific interface as a typeless pointer.

@input: library :: A handle to the library object.

module_name :: The module's name (as an ASCII string).

Returns
: A module-specific interface if available, 0 otherwise.
Note
: You should better be familiar with FreeType internals to know which module to look for, and what its interface is :-)

Definition at line 5012 of file ftobjs.c.

References FT_Get_Module(), and library.

Referenced by cff_face_init(), cff_parser_run(), cid_face_init(), sfnt_init_face(), T1_Face_Init(), T42_Face_Init(), and tt_face_init().

◆ ft_glyphslot_alloc_bitmap()

FT_Error ft_glyphslot_alloc_bitmap ( FT_GlyphSlot  slot,
FT_ULong  size 
)

Definition at line 514 of file ftobjs.c.

References error, FT_ALLOC, FT_FACE_MEMORY, FT_FREE, FT_GLYPH_OWN_BITMAP, size, slot, and void.

Referenced by PCF_Glyph_Load().

◆ ft_glyphslot_free_bitmap()

void ft_glyphslot_free_bitmap ( FT_GlyphSlot  slot)

Definition at line 325 of file ftobjs.c.

References FT_FACE_MEMORY, FT_FREE, FT_GLYPH_OWN_BITMAP, NULL, and slot.

Referenced by t42_glyphslot_clear().

◆ ft_glyphslot_preset_bitmap()

◆ ft_glyphslot_set_bitmap()

void ft_glyphslot_set_bitmap ( FT_GlyphSlot  slot,
FT_Byte buffer 
)

Definition at line 502 of file ftobjs.c.

References buffer, FT_ASSERT, FT_GLYPH_OWN_BITMAP, ft_glyphslot_free_bitmap(), and slot.

Referenced by BDF_Glyph_Load().

◆ ft_lcd_padding()

void ft_lcd_padding ( FT_BBox cbox,
FT_GlyphSlot  slot,
FT_Render_Mode  mode 
)

ftlcdfil.c

FreeType API for color filtering of subpixel bitmap glyphs (body).

Copyright (C) 2006-2020 by David Turner, Robert Wilhelm, and Werner Lemberg.

This file is part of the FreeType project, and may only be used, modified, and distributed under the terms of the FreeType project license, LICENSE.TXT. By continuing to use, modify, or distribute this file you indicate that you have read the license and understand and accept it fully.

Definition at line 372 of file ftlcdfil.c.

References FT_MAX, FT_MIN, FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V, mode, slot, sub, cordic::x, and y.

Referenced by ft_glyphslot_preset_bitmap().

◆ FT_Lookup_Renderer()

◆ FT_Match_Size()

◆ ft_module_get_service()

FT_Pointer ft_module_get_service ( FT_Module  module,
const char *  service_id,
FT_Bool  global 
)

◆ FT_New_GlyphSlot()

FT_Error FT_New_GlyphSlot ( FT_Face  face,
FT_GlyphSlot aslot 
)

@function: FT_New_GlyphSlot

@description: It is sometimes useful to have more than one glyph slot for a given face object. This function is used to create additional slots. All of them are automatically discarded when the face is destroyed.

@input: face :: A handle to a parent face object.

@output: aslot :: A handle to a new glyph slot object.

Returns
: FreeType error code. 0 means success.

Definition at line 595 of file ftobjs.c.

References FT_DriverRec_::clazz, FT_FaceRec_::driver, error, Exit(), face, FT_ALLOC, FT_FREE, ft_glyphslot_done(), ft_glyphslot_init(), FT_THROW, FT_TRACE4, FT_FaceRec_::glyph, FT_ModuleRec_::memory, NULL, FT_DriverRec_::root, slot, and FT_Driver_ClassRec_::slot_object_size.

Referenced by T42_GlyphSlot_Init().

◆ FT_New_Memory()

FT_Memory FT_New_Memory ( void  )

@function: FT_New_Memory

@description: Creates a new memory object.

Returns
: A pointer to the new memory object. 0 in case of error.

Definition at line 475 of file ftsystem.c.

◆ FT_Render_Glyph_Internal()

◆ FT_Request_Metrics()

◆ FT_Select_Metrics()

◆ ft_synthesize_vertical_metrics()

void ft_synthesize_vertical_metrics ( FT_Glyph_Metrics metrics,
FT_Pos  advance 
)

Variable Documentation

◆ ft_default_raster

FT_Raster_Funcs ft_default_raster
extern