cheshirekow  v0.1.0
types.h File Reference
#include <ft2build.h>
#include <cstring>
#include <cstddef>
#include <sigc++/sigc++.h>

Go to the source code of this file.

Classes

struct  freetype::EncTag< x1, x2, x3, x4 >
 template used to replace the FT_ENC_TAG macro: converts four-letter tags into an unsigned long type More...
 
struct  freetype::ImageTag< x1, x2, x3, x4 >
 template used to replace the FT_IMAGE_TAG macro: converts four-letter tags into an unsigned long type More...
 
struct  freetype::load_target::LoadTarget< x >
 

Namespaces

 freetype
 root namespace for freetype
 
 freetype::curve_tag
 A list of constants used to describe curve tags.
 
 freetype::encoding
 An enumeration used to specify character sets supported by charmaps. Used in the FT_Select_Charmap API function.
 
 freetype::faceflag
 A list of bit flags used in the ‘face_flags’ field of the FT_FaceRec structure. They inform client applications of properties of the corresponding face.
 
 freetype::fstype
 A list of bit flags used in the ‘fsType’ field of the OS/2 table in a TrueType or OpenType font and the ‘FSType’ entry in a PostScript font.
 
 freetype::glyphformat
 namespace wrapper for GlyphFormat enumeration
 
 freetype::kerning_mode
 An enumeration used to specify which kerning values to return in FT_Get_Kerning.
 
 freetype::load
 A list of bit-field constants used with FT_Load_Glyph to indicate what kind of operations to perform during glyph loading.
 
 freetype::load_target
 A list of values that are used to select a specific hinting algorithm to use by the hinter. You should OR one of these values to your ‘load_flags’ when calling FT_Load_Glyph.
 
 freetype::pixelmode
 namespace wrapper for PixelMode enumeration
 
 freetype::render_mode
 An enumeration type that lists the render modes supported by FreeType 2.
 
 freetype::size_request_type
 namespace wrapper for SizeRequestType
 
 freetype::styleflag
 A list of bit-flags used to indicate the style of a given face. These are used in the ‘style_flags’ field of FT_FaceRec.
 
 freetype::subglyph_flag
 A list of constants used to describe subglyphs. Please refer to the TrueType specification for the meaning of the various flags.
 

Typedefs

typedef sigc::slot< void *, long > freetype::AllocFunc_t
 a function used to allocate bytes from memory More...
 
typedef FT_Bool freetype::Bool
 used for simple booleans, 1=true, 0=false More...
 
typedef FT_Bool freetype::Bool_t
 used for simple booleans, 1=true, 0=false More...
 
typedef FT_Byte freetype::Byte
 simple typedef unsigned char More...
 
typedef FT_Byte freetype::Byte_t
 simple typedef unsigned char More...
 
typedef FT_Bytes freetype::Bytes
 a typedef for constant memory area More...
 
typedef FT_Bytes freetype::Bytes_t
 a typedef for constant memory area More...
 
typedef FT_Char freetype::Char
 simple typedef for signed char More...
 
typedef FT_Char freetype::Char_t
 simple typedef for signed char More...
 
typedef encoding::Encoding freetype::Encoding
 
typedef FT_Error freetype::Error
 FreeType error code, a value of 0 is always interpreted as a successful operation. More...
 
typedef FT_Error freetype::Error_t
 FreeType error code, a value of 0 is always interpreted as a successful operation. More...
 
typedef FT_F26Dot6 freetype::F26Dot6
 signed 26.6 fixed float type used for vectoral pixel coordinates More...
 
typedef FT_F26Dot6 freetype::F26Dot6_t
 signed 26.6 fixed float type used for vectoral pixel coordinates More...
 
typedef FT_F2Dot14 freetype::F2Dot14
 signed 2.14 fixed float type used for unit vectors More...
 
typedef FT_F2Dot14 freetype::F2Dot14_t
 signed 2.14 fixed float type used for unit vectors More...
 
typedef FT_Fixed freetype::Fixed
 Used to store 16.16 fixed float values, like scaling values or matrix coefficients. More...
 
typedef FT_Fixed freetype::Fixed_t
 Used to store 16.16 fixed float values, like scaling values or matrix coefficients. More...
 
typedef sigc::slot< void, void * > freetype::FreeFunc_t
 a function used to release a given block of memory More...
 
typedef FT_FWord freetype::FWord
 signed 16bit integer used to store distance in original font units More...
 
typedef FT_FWord freetype::FWord_t
 signed 16bit integer used to store distance in original font units More...
 
typedef sigc::slot< void, void * > freetype::GenericFinalizer_t
 Describe a function used to destroy the ‘client’ data of any FreeType object. See the description of the FT_Generic type for details of usage. More...
 
typedef glyphformat::GlyphFormat freetype::GlyphFormat
 
typedef FT_Int freetype::Int
 typedef for int More...
 
typedef FT_Int16 freetype::Int16
 typedef for 16bit integer More...
 
typedef FT_Int16 freetype::Int16_t
 typedef for 16bit integer More...
 
typedef FT_Int32 freetype::Int32
 typedef for 32bit signed int More...
 
typedef FT_Int32 freetype::Int32_t
 typedef for 32bit signed int More...
 
typedef FT_Int freetype::Int_t
 typedef for int More...
 
typedef FT_Long freetype::Long
 simple typedef for signed long More...
 
typedef FT_Long freetype::Long_t
 simple typedef for signed long More...
 
typedef FT_Offset freetype::Offset
 the largest unsigned integer type used to express a file size or position or a memory block size More...
 
typedef FT_Offset freetype::Offset_t
 the largest unsigned integer type used to express a file size or position or a memory block size More...
 
typedef FT_Pointer freetype::Pointer
 simple typedef for typeless ptr More...
 
typedef FT_Pointer freetype::Pointer_t
 simple typedef for typeless ptr More...
 
typedef FT_Pos freetype::Pos
 used to store vectoral coordinates. depending on the context these represent distances in integer font units, or 16.16, or 26.6 fixed float pixel coords More...
 
typedef FT_Pos freetype::Pos_t
 used to store vectoral coordinates. depending on the context these represent distances in integer font units, or 16.16, or 26.6 fixed float pixel coords More...
 
typedef FT_PtrDist freetype::PtrDist
 the largest signed integer type used to express a distance between two pointers More...
 
typedef FT_PtrDist freetype::PtrDist_t
 the largest signed integer type used to express a distance between two pointers More...
 
typedef sigc::slot< void
*, long, long, void * > 
freetype::ReallocFunc_t
 a function used to re-allocate a given block of memory More...
 
typedef FT_Short freetype::Short
 simlpe typedef for signed short More...
 
typedef FT_Short freetype::Short_t
 simlpe typedef for signed short More...
 
typedef
size_request_type::SizeRequestType 
freetype::SizeRequestType
 
typedef FT_String freetype::String
 simple typedef for char More...
 
typedef FT_String freetype::String_t
 simple typedef for char More...
 
typedef FT_Tag freetype::Tag
 typedef for 32bit tags (as used in the SFNT format) More...
 
typedef FT_Tag freetype::Tag_t
 typedef for 32bit tags (as used in the SFNT format) More...
 
typedef FT_UFWord freetype::UFWord
 unsigned 16bit integer used to store distance in original font units More...
 
typedef FT_UFWord freetype::UFWord_t
 unsigned 16bit integer used to store distance in original font units More...
 
typedef FT_UInt freetype::UInt
 typedef for unsigned int More...
 
typedef FT_UInt16 freetype::UInt16
 typedef for 16bit unsigned int More...
 
typedef FT_UInt16 freetype::UInt16_t
 typedef for 16bit unsigned int More...
 
typedef FT_UInt32 freetype::UInt32
 typedef for 32bit unsigned int More...
 
typedef FT_UInt32 freetype::UInt32_t
 typedef for 32bit unsigned int More...
 
typedef FT_UInt freetype::UInt_t
 typedef for unsigned int More...
 
typedef FT_ULong freetype::ULong
 simple typedef for unsigned long More...
 
typedef FT_ULong freetype::ULong_t
 simple typedef for unsigned long More...
 
typedef FT_UShort freetype::UShort
 simple typedef for unsigned short More...
 
typedef FT_UShort freetype::UShort_t
 simple typedef for unsigned short More...
 

Enumerations

enum  freetype::encoding::Encoding {
  freetype::encoding::NONE = EncTag<0,0,0,0>::value, freetype::encoding::MS_SYMBOL = EncTag<'s','y','m','b'>::value, freetype::encoding::UNICODE = EncTag<'u','n','i','c'>::value, freetype::encoding::SJIS = EncTag<'s','j','i','s'>::value,
  freetype::encoding::GB2312 = EncTag<'g','b',' ',' '>::value, freetype::encoding::BIG5 = EncTag<'b','i','g','5'>::value, freetype::encoding::WANSUNG = EncTag<'w','a','n','s'>::value, freetype::encoding::JOHAB = EncTag<'j','o','h','a'>::value,
  freetype::encoding::ADOBE_STANDARD = EncTag<'A','D','O','B'>::value, freetype::encoding::ADOBE_EXPERT = EncTag<'A','D','B','E'>::value, freetype::encoding::ADOBE_CUSTOM = EncTag<'A','D','B','C'>::value, freetype::encoding::ADOBE_LATIN_1 = EncTag<'l','a','t','1'>::value,
  freetype::encoding::OLD_LATIN_2 = EncTag<'l','a','t','2'>::value, freetype::encoding::APPLE_ROMAN = EncTag<'a', 'r', 'm', 'n'>::value
}
 An enumeration used to specify character sets supported by charmaps. Used in the FT_Select_Charmap API function. More...
 
enum  freetype::glyphformat::GlyphFormat {
  freetype::glyphformat::NONE = ImageTag<0,0,0,0>::value, freetype::glyphformat::COMPOSITE = ImageTag<'c','o','m','p'>::value, freetype::glyphformat::BITMAP = ImageTag<'b','i','t','s'>::value, freetype::glyphformat::OUTLINE = ImageTag<'o','u','t','l'>::value,
  freetype::glyphformat::PLOTTER = ImageTag<'p','l','o','t'>::value
}
 An enumeration type used to describe the format of a given glyph image. More...
 
enum  freetype::kerning_mode::KerningMode { freetype::kerning_mode::DEFAULT = 0, freetype::kerning_mode::UNFITTED, freetype::kerning_mode::UNSCALED }
 
enum  freetype::pixelmode::PixelMode {
  freetype::pixelmode::NONE = 0, freetype::pixelmode::MONO, freetype::pixelmode::GRAY, freetype::pixelmode::GRAY2,
  freetype::pixelmode::GRAY4, freetype::pixelmode::LCD, freetype::pixelmode::LCD_V, freetype::pixelmode::MAX
}
 An enumeration type used to describe the format of pixels in a given bitmap. More...
 
enum  freetype::render_mode::RenderMode {
  freetype::render_mode::NORMAL = 0, freetype::render_mode::LIGHT, freetype::render_mode::MONO, freetype::render_mode::LCD,
  freetype::render_mode::LCD_V, freetype::render_mode::MAX
}
 An enumeration type that lists the render modes supported by FreeType 2. More...
 
enum  freetype::size_request_type::SizeRequestType {
  freetype::size_request_type::NOMINAL, freetype::size_request_type::REAL_DIM, freetype::size_request_type::BBOX, freetype::size_request_type::CELL,
  freetype::size_request_type::SCALES, freetype::size_request_type::MAX
}
 An enumeration type that lists the supported size request types. More...
 

Variables

const UInt32_t freetype::subglyph_flag::_2X2 = 0x80
 
const UInt32_t freetype::subglyph_flag::ARGS_ARE_WORDS = 1
 
const UInt32_t freetype::subglyph_flag::ARGS_ARE_XY_VALUES = 2
 
const UShort_t freetype::fstype::BITMAP_EMBEDDING_ONLY = 0x0200
 If this bit is set, only bitmaps contained in the font may be embedded; no outline data may be embedded. If there are no bitmaps available in the font, then the font is unembeddable. More...
 
const UInt_t freetype::styleflag::BOLD = ( 1 << 1 )
 Indicates that a given face is bold. More...
 
const ULong_t freetype::faceflag::CID_KEYED = ( 1L << 12 )
 Set if the font is CID-keyed. In that case, the font is not accessed by glyph indices but by CID values. For subsetted CID-keyed fonts this has the consequence that not all index values are a valid argument to FT_Load_Glyph. Only the CID values for which corresponding glyphs in the subsetted font exist make FT_Load_Glyph return successfully; in all other cases you get an ‘FT_Err_Invalid_Argument’ error. More...
 
const UInt freetype::curve_tag::CONIC = FT_CURVE_TAG_CONIC
 
const UInt_t freetype::load::CROP_BITMAP = FT_LOAD_CROP_BITMAP
 Indicates that the font driver should crop the loaded bitmap glyph (i.e., remove all space around its black bits). More...
 
const UInt freetype::curve_tag::CUBIC = FT_CURVE_TAG_CUBIC
 
const UInt_t freetype::load::DEFAULT = FT_LOAD_DEFAULT
 Corresponding to 0, this value is used as the default glyph load operation. More...
 
const UInt freetype::curve_tag::DROPOUT_MASK = 0xE0
 
const UInt freetype::curve_tag::DROPOUT_SHIFT = 5
 
const UShort_t freetype::fstype::EDITABLE_EMBEDDING = 0x0008
 If this bit is set, the font may be embedded but must only be installed temporarily on other systems. In contrast to Preview & Print fonts, documents containing editable fonts may be opened for reading, editing is permitted, and changes may be saved. More...
 
const ULong_t freetype::faceflag::EXTERNAL_STREAM = ( 1L << 10 )
 Used internally by FreeType to indicate that a face's stream was provided by the client application and should not be destroyed when FT_Done_Face is called. Don't read or test this flag. More...
 
const ULong_t freetype::faceflag::FAST_GLYPHS = ( 1L << 7 )
 THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT. More...
 
const ULong_t freetype::faceflag::FIXED_SIZES = ( 1L << 1 )
 Indicates that the face contains bitmap strikes. See also the ‘num_fixed_sizes’ and ‘available_sizes’ fields of FT_FaceRec. More...
 
const ULong_t freetype::faceflag::FIXED_WIDTH = ( 1L << 2 )
 Indicates that the face contains fixed-width characters (like Courier, Lucido, MonoType, etc.). More...
 
const UInt_t freetype::load::FORCE_AUTOHINT = FT_LOAD_FORCE_AUTOHINT
 Indicates that the auto-hinter is preferred over the font's native hinter. More...
 
const ULong_t freetype::faceflag::GLYPH_NAMES = ( 1L << 9 )
 Indicates that the font contains glyph names that can be retrieved through FT_Get_Glyph_Name. Note that some TrueType fonts contain broken glyph name tables. Use the function FT_Has_PS_Glyph_Names when needed. More...
 
const ULong_t freetype::faceflag::HINTER = ( 1L << 11 )
 Set if the font driver has a hinting machine of its own. For example, with TrueType fonts, it makes sense to use data from the SFNT ‘gasp’ table only if the native TrueType hinting engine (with the bytecode interpreter) is available and active. More...
 
const ULong_t freetype::faceflag::HORIZONTAL = ( 1L << 4 )
 Indicates that the face contains horizontal glyph metrics. This should be set for all common formats. More...
 
const UInt_t freetype::load::IGNORE_TRANSFORM = FT_LOAD_IGNORE_TRANSFORM
 Indicates that the transform matrix set by FT_Set_Transform should be ignored. More...
 
const UShort_t freetype::fstype::INSTALLABLE_EMBEDDING = 0x0000
 Fonts with no fsType bit set may be embedded and permanently installed on the remote system by an application. More...
 
const UInt_t freetype::styleflag::ITALIC = ( 1 << 0 )
 Indicates that a given face style is italic or oblique. More...
 
const ULong_t freetype::faceflag::KERNING = ( 1L << 6 )
 Indicates that the face contains kerning information. If set, the kerning distance can be retrieved through the function FT_Get_Kerning. Otherwise the function always return the vector (0,0). Note that FreeType doesn't handle kerning data from the ‘GPOS’ table (as present in some OpenType fonts). More...
 
const Int32_t freetype::load_target::LCD = LoadTarget< render_mode::LCD >::value
 A variant of FT_LOAD_TARGET_NORMAL optimized for horizontally decimated LCD displays. More...
 
const Int32_t freetype::load_target::LCD_V = LoadTarget< render_mode::LCD_V >::value
 A variant of FT_LOAD_TARGET_NORMAL optimized for vertically decimated LCD displays. More...
 
const Int32_t freetype::load_target::LIGHT = LoadTarget< render_mode::LIGHT >::value
 A lighter hinting algorithm for non-monochrome modes. More...
 
const UInt_t freetype::load::LINEAR_DESIGN = FT_LOAD_LINEAR_DESIGN
 Indicates that the ‘linearHoriAdvance’ and ‘linearVertAdvance’ fields of FT_GlyphSlotRec should be kept in font units. More...
 
const unsigned int freetype::MAJOR
 
const unsigned int freetype::MINOR
 
const Int32_t freetype::load_target::MONO = LoadTarget< render_mode::MONO >::value
 Strong hinting algorithm that should only be used for monochrome output. The result is probably unpleasant if the glyph is rendered in non-monochrome modes. More...
 
const UInt_t freetype::load::MONOCHROME = FT_LOAD_MONOCHROME
 This flag is used with FT_LOAD_RENDER to indicate that you want to render an outline glyph to a 1-bit monochrome bitmap glyph, with 8 pixels packed into each byte of the bitmap data. More...
 
const ULong_t freetype::faceflag::MULTIPLE_MASTERS = ( 1L << 8 )
 Indicates that the font contains multiple masters and is capable of interpolating between them. See the multiple-masters specific API for details. More...
 
const UInt_t freetype::load::NO_AUTOHINT = FT_LOAD_NO_AUTOHINT
 Disable auto-hinter. More...
 
const UInt_t freetype::load::NO_BITMAP = FT_LOAD_NO_BITMAP
 Ignore bitmap strikes when loading. Bitmap-only fonts ignore this flag. More...
 
const UInt_t freetype::load::NO_HINTING = FT_LOAD_NO_HINTING
 Disable hinting. More...
 
const UInt_t freetype::load::NO_RECURSE = FT_LOAD_NO_RECURSE
 This flag is only used internally. More...
 
const UInt_t freetype::load::NO_SCALE = FT_LOAD_NO_SCALE
 Don't scale the outline glyph loaded, but keep it in font units. More...
 
const UShort_t freetype::fstype::NO_SUBSETTING = 0x0100
 If this bit is set, the font may not be subsetted prior to embedding. More...
 
const Int32_t freetype::load_target::NORMAL = LoadTarget< render_mode::NORMAL>::value
 This corresponds to the default hinting algorithm, optimized for standard gray-level rendering. For monochrome output, use FT_LOAD_TARGET_MONO instead. More...
 
const UInt freetype::curve_tag::ON = FT_CURVE_TAG_ON
 
const unsigned int freetype::PATCH
 
const UInt_t freetype::load::PEDANTIC = FT_LOAD_PEDANTIC
 Indicates that the font driver should perform pedantic verifications during glyph loading. More...
 
const UShort_t freetype::fstype::PREVIEW_AND_PRINT_EMBEDDING = 0x0004
 If this bit is set, the font may be embedded and temporarily loaded on the remote system. Documents containing Preview & Print fonts must be opened ‘read-only’; no edits can be applied to the document. More...
 
const UInt_t freetype::load::RENDER = FT_LOAD_RENDER
 Call FT_Render_Glyph after the glyph is loaded. More...
 
const UShort_t freetype::fstype::RESTRICTED_LICENSE_EMBEDDING = 0x0002
 Fonts that have only this bit set must not be modified, embedded or exchanged in any manner without first obtaining permission of the font software copyright owner. More...
 
const UInt32_t freetype::subglyph_flag::ROUND_XY_TO_GRID = 4
 
const ULong_t freetype::faceflag::SCALABLE = ( 1L << 0 )
 Indicates that the face contains outline glyphs. This doesn't prevent bitmap strikes, i.e., a face can have both this and and FT_FACE_FLAG_FIXED_SIZES set. More...
 
const UInt32_t freetype::subglyph_flag::SCALE = 8
 
const ULong_t freetype::faceflag::SFNT = ( 1L << 3 )
 Indicates that the face uses the ‘sfnt’ storage scheme. For now, this means TrueType and OpenType. More...
 
const ULong_t freetype::faceflag::TRICKY = ( 1L << 13 )
 Set if the font is ‘tricky’, this is, it always needs the font format's native hinting engine to get a reasonable result. A typical example is the Chinese font ‘mingli.ttf’ which uses TrueType bytecode instructions to move and scale all of its subglyphs. More...
 
const UInt32_t freetype::subglyph_flag::USE_MY_METRICS = 0x200
 
const ULong_t freetype::faceflag::VERTICAL = ( 1L << 5 )
 Indicates that the face contains vertical glyph metrics. This is only available in some formats, not all of them. More...
 
const UInt_t freetype::load::VERTICAL_LAYOUT = FT_LOAD_VERTICAL_LAYOUT
 Load the glyph for vertical text layout. More...
 
const UInt32_t freetype::subglyph_flag::XY_SCALE = 0x40