Visualization Library 2.0.0-b5

A lightweight C++ OpenGL middleware for 2D/3D graphics

VL     Star     Watch     Fork     Issue

[Download] [Tutorials] [All Classes] [Grouped Classes]
Classes | Macros | Typedefs | Functions
cffgload.h File Reference
#include <ft2build.h>
#include "cffobjs.h"

Go to the source code of this file.

Classes

struct  CFF_Builder_
 
struct  CFF_Decoder_Zone_
 
struct  CFF_Decoder_
 

Macros

#define CFF_MAX_OPERANDS   48
 
#define CFF_MAX_SUBRS_CALLS   32
 
#define CFF_MAX_TRANS_ELEMENTS   32
 

Typedefs

typedef struct CFF_Builder_ CFF_Builder
 
typedef struct CFF_Decoder_Zone_ CFF_Decoder_Zone
 
typedef struct CFF_Decoder_ CFF_Decoder
 

Functions

 cff_check_points (CFF_Builder *builder, FT_Int count)
 
 cff_builder_add_point (CFF_Builder *builder, FT_Pos x, FT_Pos y, FT_Byte flag)
 
 cff_builder_add_point1 (CFF_Builder *builder, FT_Pos x, FT_Pos y)
 
 cff_builder_start_point (CFF_Builder *builder, FT_Pos x, FT_Pos y)
 
 cff_builder_close_contour (CFF_Builder *builder)
 
 cff_lookup_glyph_by_stdcharcode (CFF_Font cff, FT_Int charcode)
 
 cff_get_glyph_data (TT_Face face, FT_UInt glyph_index, FT_Byte **pointer, FT_ULong *length)
 
 cff_free_glyph_data (TT_Face face, FT_Byte **pointer, FT_ULong length)
 
 cff_decoder_init (CFF_Decoder *decoder, TT_Face face, CFF_Size size, CFF_GlyphSlot slot, FT_Bool hinting, FT_Render_Mode hint_mode)
 
 cff_decoder_prepare (CFF_Decoder *decoder, CFF_Size size, FT_UInt glyph_index)
 
 cff_decoder_parse_charstrings (CFF_Decoder *decoder, FT_Byte *charstring_base, FT_ULong charstring_len)
 
 cff_slot_load (CFF_GlyphSlot glyph, CFF_Size size, FT_UInt glyph_index, FT_Int32 load_flags)
 

Macro Definition Documentation

◆ CFF_MAX_OPERANDS

#define CFF_MAX_OPERANDS   48

Definition at line 31 of file cffgload.h.

Referenced by cff_decoder_parse_charstrings().

◆ CFF_MAX_SUBRS_CALLS

#define CFF_MAX_SUBRS_CALLS   32

Definition at line 32 of file cffgload.h.

◆ CFF_MAX_TRANS_ELEMENTS

#define CFF_MAX_TRANS_ELEMENTS   32

Definition at line 33 of file cffgload.h.

Typedef Documentation

◆ CFF_Builder

typedef struct CFF_Builder_ CFF_Builder

◆ CFF_Decoder

typedef struct CFF_Decoder_ CFF_Decoder

◆ CFF_Decoder_Zone

Function Documentation

◆ cff_builder_add_point()

cff_builder_add_point ( CFF_Builder builder,
FT_Pos  x,
FT_Pos  y,
FT_Byte  flag 
)

◆ cff_builder_add_point1()

cff_builder_add_point1 ( CFF_Builder builder,
FT_Pos  x,
FT_Pos  y 
)

Definition at line 514 of file cffgload.c.

References cff_builder_add_point(), cff_check_points(), and error.

◆ cff_builder_close_contour()

cff_builder_close_contour ( CFF_Builder builder)

◆ cff_builder_start_point()

cff_builder_start_point ( CFF_Builder builder,
FT_Pos  x,
FT_Pos  y 
)

Definition at line 559 of file cffgload.c.

References error, FT_Err_Ok, and CFF_Builder_::path_begun.

◆ cff_check_points()

cff_check_points ( CFF_Builder builder,
FT_Int  count 
)

Definition at line 469 of file cffgload.c.

References FT_GLYPHLOADER_CHECK_POINTS, FT_LOCAL_DEF, and CFF_Builder_::loader.

Referenced by cff_builder_add_point1().

◆ cff_decoder_init()

cff_decoder_init ( CFF_Decoder decoder,
TT_Face  face,
CFF_Size  size,
CFF_GlyphSlot  slot,
FT_Bool  hinting,
FT_Render_Mode  hint_mode 
)

Definition at line 379 of file cffgload.c.

References cff, FT_Generic_::data, TT_FaceRec_::extra, and FT_MEM_ZERO.

Referenced by cff_slot_load().

◆ cff_decoder_parse_charstrings()

cff_decoder_parse_charstrings ( CFF_Decoder decoder,
FT_Byte charstring_base,
FT_ULong  charstring_len 
)

Definition at line 898 of file cffgload.c.

References CFF_Decoder_Zone_::base, CFF_Decoder_::builder, CFF_Decoder_::cff, CFF_MAX_OPERANDS, cff_op_abs, cff_op_add, cff_op_and, cff_op_blend, cff_op_callgsubr, cff_op_callothersubr, cff_op_callsubr, cff_op_closepath, cff_op_cntrmask, cff_op_div, cff_op_dotsection, cff_op_drop, cff_op_dup, cff_op_endchar, cff_op_eq, cff_op_exch, cff_op_flex, cff_op_flex1, cff_op_get, cff_op_hflex, cff_op_hflex1, cff_op_hhcurveto, cff_op_hintmask, cff_op_hlineto, cff_op_hmoveto, cff_op_hsbw, cff_op_hstem, cff_op_hstemhm, cff_op_hvcurveto, cff_op_ifelse, cff_op_index, cff_op_load, cff_op_mul, cff_op_neg, cff_op_not, cff_op_or, cff_op_pop, cff_op_put, cff_op_random, cff_op_rcurveline, cff_op_return, cff_op_rlinecurve, cff_op_rlineto, cff_op_rmoveto, cff_op_roll, cff_op_rrcurveto, cff_op_sbw, cff_op_seac, cff_op_setcurrentpoint, cff_op_sqrt, cff_op_store, cff_op_sub, cff_op_unknown, cff_op_vhcurveto, cff_op_vlineto, cff_op_vmoveto, cff_op_vstem, cff_op_vstemhm, cff_op_vvcurveto, CFF_FontRecDictRec_::charstring_type, CFF_Decoder_Zone_::cursor, error, CFF_SubFontRec_::font_dict, FT_Err_Ok, FT_Pos, FT_TRACE4, FT_ULONG_MAX, T2_Hints_FuncsRec_::hints, CFF_Builder_::hints_funcs, if(), CFF_Decoder_Zone_::limit, CFF_Decoder_::num_hints, T2_Hints_FuncsRec_::open, CFF_Builder_::path_begun, CFF_Builder_::pos_x, CFF_Builder_::pos_y, CFF_Decoder_::read_width, CFF_Decoder_::stack, CFF_Decoder_::top, CFF_FontRec_::top_font, CFF_Decoder_::zone, and CFF_Decoder_::zones.

Referenced by cff_slot_load().

◆ cff_decoder_prepare()

cff_decoder_prepare ( CFF_Decoder decoder,
CFF_Size  size,
FT_UInt  glyph_index 
)

◆ cff_free_glyph_data()

cff_free_glyph_data ( TT_Face  face,
FT_Byte **  pointer,
FT_ULong  length 
)

◆ cff_get_glyph_data()

cff_get_glyph_data ( TT_Face  face,
FT_UInt  glyph_index,
FT_Byte **  pointer,
FT_ULong length 
)

◆ cff_lookup_glyph_by_stdcharcode()

cff_lookup_glyph_by_stdcharcode ( CFF_Font  cff,
FT_Int  charcode 
)

◆ cff_slot_load()

cff_slot_load ( CFF_GlyphSlot  glyph,
CFF_Size  size,
FT_UInt  glyph_index,
FT_Int32  load_flags 
)

Definition at line 2598 of file cffgload.c.

References TT_HoriHeader_::Ascender, FT_GlyphSlotRec_::bitmap, FT_GlyphSlotRec_::bitmap_left, FT_GlyphSlotRec_::bitmap_top, CFF_Decoder_::builder, cf2_decoder_parse_charstrings(), cff_charset_cid_to_gindex(), cff_decoder_init(), cff_decoder_parse_charstrings(), cff_decoder_prepare(), cff_fd_select_get(), cff_free_glyph_data(), cff_get_glyph_data(), CFF_FontRec_::charset, CFF_FontRec_::charstrings_index, CFF_FontRecDictRec_::cid_registry, CFF_CharsetRec_::cids, FT_GlyphSlotRec_::control_data, FT_GlyphSlotRec_::control_len, FT_Generic_::data, TT_HoriHeader_::Descender, driver, error, TT_FaceRec_::extra, FT_SizeRec_::face, FT_GlyphSlotRec_::face, FALSE, CFF_FontRec_::fd_select, CFF_SubFontRec_::font_dict, CFF_FontRecDictRec_::font_matrix, CFF_FontRecDictRec_::font_offset, FT_GlyphSlotRec_::format, FT_Bool, FT_BOOL, FT_CFF_HINTING_ADOBE, FT_CFF_HINTING_FREETYPE, FT_ERR_EQ, FT_FACE_DRIVER, FT_GLYPH_FORMAT_OUTLINE, FT_LOAD_ADVANCE_ONLY, FT_LOAD_NO_BITMAP, FT_LOAD_NO_HINTING, FT_LOAD_NO_RECURSE, FT_LOAD_NO_SCALE, FT_LOAD_SBITS_ONLY, FT_LOAD_TARGET_MODE, FT_LOAD_VERTICAL_LAYOUT, FT_MulDiv(), FT_Pos, FT_THROW(), TT_SBit_MetricsRec_::height, CFF_GlyphSlotRec_::hint, TT_SBit_MetricsRec_::horiAdvance, TT_SBit_MetricsRec_::horiBearingX, TT_SBit_MetricsRec_::horiBearingY, TT_FaceRec_::horizontal, FT_FaceRec_::internal, FT_GlyphSlotRec_::linearHoriAdvance, FT_GlyphSlotRec_::linearVertAdvance, TT_VertHeader_::long_metrics, FT_SizeRec_::metrics, FT_GlyphSlotRec_::metrics, FT_Outline_::n_contours, FT_Outline_::n_points, CFF_Builder_::no_recurse, CFF_FontRec_::num_glyphs, CFF_FontRec_::num_subfonts, TT_VertHeader_::number_Of_VMetrics, TT_FaceRec_::os2, FT_GlyphSlotRec_::outline, CFF_SizeRec_::root, CFF_GlyphSlotRec_::root, TT_FaceRec_::root, CFF_GlyphSlotRec_::scaled, TT_FaceRec_::sfnt, FT_FaceRec_::stream, CFF_SizeRec_::strike_index, TT_OS2_::sTypoAscender, TT_OS2_::sTypoDescender, CFF_FontRec_::subfonts, CFF_FontRec_::top_font, TRUE, CFF_FontRecDictRec_::units_per_em, TT_OS2_::version, TT_SBit_MetricsRec_::vertAdvance, TT_SBit_MetricsRec_::vertBearingX, TT_SBit_MetricsRec_::vertBearingY, TT_FaceRec_::vertical, TT_FaceRec_::vertical_info, TT_SBit_MetricsRec_::width, CFF_Decoder_::width_only, CFF_GlyphSlotRec_::x_scale, FT_Size_Metrics_::x_scale, CFF_GlyphSlotRec_::y_scale, and FT_Size_Metrics_::y_scale.

Referenced by cff_glyph_load().