cheshirekow  v0.1.0
types.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 Josh Bialkowski (jbialk@mit.edu)
3  *
4  * This file is part of cppfreetype.
5  *
6  * cppfreetype is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * cppfreetype is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with cppfreetype. If not, see <http://www.gnu.org/licenses/>.
18  */
27 #ifndef CPPFREETYPE_TYPES_H_
28 #define CPPFREETYPE_TYPES_H_
29 
30 #include <ft2build.h>
31 #include FT_FREETYPE_H
32 
33 #include <cstring>
34 #include <cstddef>
35 #include <sigc++/sigc++.h>
36 
38 namespace freetype
39 {
40 
41 
42 extern const unsigned int MAJOR;
43 extern const unsigned int MINOR;
44 extern const unsigned int PATCH;
45 
46 typedef FT_Byte Byte_t;
47 typedef FT_Bytes Bytes_t;
48 typedef FT_Char Char_t;
49 typedef FT_Int Int_t;
50 typedef FT_UInt UInt_t;
51 typedef FT_Int16 Int16_t;
52 typedef FT_UInt16 UInt16_t;
53 typedef FT_Int32 Int32_t;
54 typedef FT_UInt32 UInt32_t;
55 typedef FT_Short Short_t;
56 typedef FT_UShort UShort_t;
57 typedef FT_Long Long_t;
58 typedef FT_ULong ULong_t;
59 typedef FT_Bool Bool_t;
60 typedef FT_Offset Offset_t;
62 typedef FT_PtrDist PtrDist_t;
65 typedef FT_String String_t;
68 typedef FT_Tag Tag_t;
69 typedef FT_Error Error_t;
71 typedef FT_Fixed Fixed_t;
74 typedef FT_Pointer Pointer_t;
77 typedef FT_Pos Pos_t;
78 typedef FT_FWord FWord_t;
83 typedef FT_UFWord UFWord_t;
86 typedef FT_F2Dot14 F2Dot14_t;
89 typedef FT_F26Dot6 F26Dot6_t;
91 
93 typedef FT_Byte Byte;
94 typedef FT_Bytes Bytes;
95 typedef FT_Char Char;
96 typedef FT_Int Int;
97 typedef FT_UInt UInt;
98 typedef FT_Int16 Int16;
99 typedef FT_UInt16 UInt16;
100 typedef FT_Int32 Int32;
101 typedef FT_UInt32 UInt32;
102 typedef FT_Short Short;
103 typedef FT_UShort UShort;
104 typedef FT_Long Long;
105 typedef FT_ULong ULong;
106 typedef FT_Bool Bool;
107 typedef FT_Offset Offset;
109 typedef FT_PtrDist PtrDist;
112 typedef FT_String String;
115 typedef FT_Tag Tag;
116 typedef FT_Error Error;
118 typedef FT_Fixed Fixed;
121 typedef FT_Pointer Pointer;
124 typedef FT_Pos Pos;
125 typedef FT_FWord FWord;
130 typedef FT_UFWord UFWord;
133 typedef FT_F2Dot14 F2Dot14;
136 typedef FT_F26Dot6 F26Dot6;
138 
140 
142 
145 namespace pixelmode
146 {
149 
154  {
155  NONE = 0,
157  GRAY,
161  GRAY2,
166  GRAY4,
170  LCD,
174  LCD_V,
178  MAX
182  };
183 
184 }
185 
188 
197 template < ULong_t x1, ULong_t x2, ULong_t x3, ULong_t x4 >
198 struct ImageTag
199 {
200  static const ULong_t value =
201  ( (ULong_t) x1 << 24 )
202  | ( (ULong_t) x2 << 16 )
203  | ( (ULong_t) x3 << 8 )
204  | ( (ULong_t) x4 << 0 );
205 };
206 
208 
211 namespace glyphformat
212 {
215 
221  {
224 
229 
234 
240 
247  };
248 }
249 
251 
254 
258 typedef sigc::slot<void,void*> GenericFinalizer_t;
259 
260 
262 
266 typedef sigc::slot<void*,long> AllocFunc_t;
267 
269 
273 typedef sigc::slot<void,void*> FreeFunc_t;
274 
276 
287 typedef sigc::slot<void*,long,long,void*> ReallocFunc_t;
288 
289 
290 
294 namespace faceflag
295 {
299  const ULong_t SCALABLE = ( 1L << 0 );
300 
303  const ULong_t FIXED_SIZES = ( 1L << 1 );
304 
307  const ULong_t FIXED_WIDTH = ( 1L << 2 );
308 
311  const ULong_t SFNT = ( 1L << 3 );
312 
315  const ULong_t HORIZONTAL = ( 1L << 4 );
316 
319  const ULong_t VERTICAL = ( 1L << 5 );
320 
326  const ULong_t KERNING = ( 1L << 6 );
327 
329  const ULong_t FAST_GLYPHS = ( 1L << 7 );
330 
334  const ULong_t MULTIPLE_MASTERS = ( 1L << 8 );
335 
340  const ULong_t GLYPH_NAMES = ( 1L << 9 );
341 
345  const ULong_t EXTERNAL_STREAM = ( 1L << 10 );
346 
351  const ULong_t HINTER = ( 1L << 11 );
352 
363  const ULong_t CID_KEYED = ( 1L << 12 );
364 
378  const ULong_t TRICKY = ( 1L << 13 );
379 }
380 
381 
384 
390 namespace styleflag
391 {
393  const UInt_t ITALIC = ( 1 << 0 );
394 
396  const UInt_t BOLD = ( 1 << 1 );
397 
398 
399 }
400 
401 
404 namespace load
405 {
407 
444  const UInt_t DEFAULT = FT_LOAD_DEFAULT;
445 
447 
451  const UInt_t NO_SCALE = FT_LOAD_NO_SCALE;
452 
454 
461  const UInt_t NO_HINTING = FT_LOAD_NO_HINTING;
462 
464  /*
465  * By default, the glyph is rendered in FT_RENDER_MODE_NORMAL mode. This
466  * can be overridden by FT_LOAD_TARGET_XXX or FT_LOAD_MONOCHROME.
467  *
468  * This flag is unset by FT_LOAD_NO_SCALE.
469  */
470  const UInt_t RENDER = FT_LOAD_RENDER;
471 
473  /*
474  * FT_LOAD_NO_SCALE always sets this flag.
475  */
476  const UInt_t NO_BITMAP = FT_LOAD_NO_BITMAP;
477 
479  /*
480  * Don't use it as it is problematic currently.
481  */
482  const UInt_t VERTICAL_LAYOUT = FT_LOAD_VERTICAL_LAYOUT;
483 
486  /*
487  * See also the note below.
488  */
489  const UInt_t FORCE_AUTOHINT = FT_LOAD_FORCE_AUTOHINT;
490 
493  /*
494  * Not all drivers implement this.
495  */
496  const UInt_t CROP_BITMAP = FT_LOAD_CROP_BITMAP;
497 
500  /*
501  * This is mostly used to detect broken glyphs in fonts. By default,
502  * FreeType tries to handle broken fonts also.
503  *
504  * In particular, errors from the TrueType bytecode engine are not passed
505  * to the application if this flag is not set; this might result in
506  * partially hinted or distorted glyphs in case a glyph's bytecode is
507  * buggy.
508  */
509  const UInt_t PEDANTIC = FT_LOAD_PEDANTIC;
510 
512  /*
513  * It merely indicates that the font driver should not load composite
514  * glyphs recursively. Instead, it should set the ‘num_subglyph’ and
515  * ‘subglyphs’ values of the glyph slot accordingly, and set
516  * ‘glyph->format’ to FT_GLYPH_FORMAT_COMPOSITE.
517  *
518  * The description of sub-glyphs is not available to client applications
519  * for now.
520  *
521  * This flag implies FT_LOAD_NO_SCALE and FT_LOAD_IGNORE_TRANSFORM.
522  */
523  const UInt_t NO_RECURSE = FT_LOAD_NO_RECURSE;
524 
527  /*
528  *
529  */
530  const UInt_t IGNORE_TRANSFORM = FT_LOAD_IGNORE_TRANSFORM;
531 
535  /*
536  * Note that this has no effect on the hinting algorithm used. You should
537  * rather use FT_LOAD_TARGET_MONO so that the monochrome-optimized
538  * hinting algorithm is used.
539  */
540  const UInt_t MONOCHROME = FT_LOAD_MONOCHROME;
541 
544  /*
545  * See FT_GlyphSlotRec for details.
546  */
547  const UInt_t LINEAR_DESIGN = FT_LOAD_LINEAR_DESIGN;
548 
550  /*
551  * See also the note below.
552  */
553  const UInt_t NO_AUTOHINT = FT_LOAD_NO_AUTOHINT;
554 }
555 
556 
558 
561 namespace render_mode
562 {
564 
584  {
587  NORMAL = 0,
588 
594 
597 
603 
609 
612  };
613 }
614 
618 
639 namespace load_target
640 {
641  template < Int32_t x >
642  struct LoadTarget
643  {
644  static const Int32_t value = (x & 15) << 16;
645  };
646 
651 
653 
660 
665 
669 
673 }
674 
675 
676 
679 
682 namespace kerning_mode
683 {
685  {
688 
691 
694  };
695 }
696 
697 
700 
709 template < ULong_t x1, ULong_t x2, ULong_t x3, ULong_t x4 >
710 struct EncTag
711 {
712  static const ULong_t value =
713  ( (ULong_t) x1 << 24 )
714  | ( (ULong_t) x2 << 16 )
715  | ( (ULong_t) x3 << 8 )
716  | ( (ULong_t) x4 << 0 );
717 };
718 
719 
722 
725 namespace encoding
726 {
729 
772  enum Encoding
773  {
776 
779  /*
780  * For more information, see ‘http://www.ceviz.net/symbol.htm’.
781  */
783 
785  /*
786  * This value covers all versions of the Unicode repertoire,
787  * including ASCII and Latin-1. Most fonts include a Unicode charmap,
788  * but not all of them.
789  *
790  * For example, if you want to access Unicode value U+1F028 (and the
791  * font contains it), use value 0x1F028 as the input value for
792  * FT_Get_Char_Index.
793  */
795 
797  /*
798  * More info at at
799  * ‘http://langsupport.japanreference.com/encoding.shtml’.
800  * See note on multi-byte encodings below.
801  */
803 
806  /*
807  *
808  */
810 
813  /*
814  *
815  */
817 
819  /*
820  * For more information see
821  * ‘http://www.microsoft.com/typography/unicode/949.txt’.
822  */
824 
827  /*
828  * This character set includes all possible Hangeul character
829  * combinations.
830  */
832 
835 
839 
842  /*
843  * It is limited to 256 character codes.
844  */
846 
849  /*
850  * It is limited to 256 character codes.
851  */
853 
856  /*
857  * It is limited to 256 character codes.
858  */
860 
864 
866  /*
867  * Many TrueType and OpenType fonts contain a charmap for this
868  * encoding, since older versions of Mac OS are able to use it
869  */
871  };
872 }
873 
875 
876 
879 namespace subglyph_flag
880 {
884  const UInt32_t SCALE = 8;
885  const UInt32_t XY_SCALE = 0x40;
886  const UInt32_t _2X2 = 0x80;
887  const UInt32_t USE_MY_METRICS = 0x200;
888 }
889 
890 
892 namespace curve_tag
893 {
894  const UInt ON = FT_CURVE_TAG_ON;
895  const UInt CONIC = FT_CURVE_TAG_CONIC;
896  const UInt CUBIC = FT_CURVE_TAG_CUBIC;
897 
898  const UInt DROPOUT_MASK = 0xE0;
899  const UInt DROPOUT_SHIFT = 5;
900 }
901 
902 
905 
917 namespace fstype
918 {
922 
927 
932 
937  const UShort_t EDITABLE_EMBEDDING = 0x0008;
938 
940  const UShort_t NO_SUBSETTING = 0x0100;
941 
946 }
947 
949 
952 namespace size_request_type
953 {
955 
963  {
965  REAL_DIM,
967  BBOX,
970  CELL,
973  SCALES,
981  };
982 }
983 
985 
986 
987 
988 }
989 
990 
991 
992 
993 
994 
995 
996 
997 
998 
999 
1000 
1001 
1002 
1003 #endif // CPPFREETYPE_H_
Return scaled but un-grid-fitted kerning distances.
Definition: types.h:690
Encoding
An enumeration used to specify character sets supported by charmaps. Used in the FT_Select_Charmap AP...
Definition: types.h:772
FT_String String_t
simple typedef for char
Definition: types.h:67
SizeRequestType
An enumeration type that lists the supported size request types.
Definition: types.h:962
A monochrome bitmap, using 1 bit per pixel. Note that pixels are stored in most-significant order (MS...
Definition: types.h:156
const Int32_t NORMAL
This corresponds to the default hinting algorithm, optimized for standard gray-level rendering...
Definition: types.h:650
const ULong_t FIXED_SIZES
Indicates that the face contains bitmap strikes. See also the ‘num_fixed_sizes’ and ‘available_sizes’...
Definition: types.h:303
The Korean standard character set (KS C 5601-1992), which corresponds to MS Windows code page 1361...
Definition: types.h:831
const UInt_t VERTICAL_LAYOUT
Load the glyph for vertical text layout.
Definition: types.h:482
const UInt_t IGNORE_TRANSFORM
Indicates that the transform matrix set by FT_Set_Transform should be ignored.
Definition: types.h:530
FT_Bytes Bytes_t
a typedef for constant memory area
Definition: types.h:47
const UInt ON
Definition: types.h:894
FT_PtrDist PtrDist_t
the largest signed integer type used to express a distance between two pointers
Definition: types.h:64
const ULong_t KERNING
Indicates that the face contains kerning information. If set, the kerning distance can be retrieved t...
Definition: types.h:326
FT_Pointer Pointer
simple typedef for typeless ptr
Definition: types.h:123
const ULong_t CID_KEYED
Set if the font is CID-keyed. In that case, the font is not accessed by glyph indices but by CID valu...
Definition: types.h:363
Corresponds to the Adobe Standard encoding, as found in Type 1, CFF, and OpenType/CFF fonts...
Definition: types.h:838
PixelMode
An enumeration type used to describe the format of pixels in a given bitmap.
Definition: types.h:153
const UInt32_t ARGS_ARE_XY_VALUES
Definition: types.h:882
FT_PtrDist PtrDist
the largest signed integer type used to express a distance between two pointers
Definition: types.h:111
const UInt32_t SCALE
Definition: types.h:884
const UInt_t BOLD
Indicates that a given face is bold.
Definition: types.h:396
const UInt_t NO_BITMAP
Ignore bitmap strikes when loading. Bitmap-only fonts ignore this flag.
Definition: types.h:476
const ULong_t FAST_GLYPHS
THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT.
Definition: types.h:329
const UShort_t INSTALLABLE_EMBEDDING
Fonts with no fsType bit set may be embedded and permanently installed on the remote system by an app...
Definition: types.h:921
const UInt_t RENDER
Call FT_Render_Glyph after the glyph is loaded.
Definition: types.h:470
const UInt32_t XY_SCALE
Definition: types.h:885
GlyphFormat
An enumeration type used to describe the format of a given glyph image.
Definition: types.h:220
FT_FWord FWord_t
signed 16bit integer used to store distance in original font units
Definition: types.h:82
FT_ULong ULong
simple typedef for unsigned long
Definition: types.h:105
FT_Long Long
simple typedef for signed long
Definition: types.h:104
const Int32_t LCD_V
A variant of FT_LOAD_TARGET_NORMAL optimized for vertically decimated LCD displays.
Definition: types.h:672
const UShort_t RESTRICTED_LICENSE_EMBEDDING
Fonts that have only this bit set must not be modified, embedded or exchanged in any manner without f...
Definition: types.h:926
const ULong_t HORIZONTAL
Indicates that the face contains horizontal glyph metrics. This should be set for all common formats...
Definition: types.h:315
FT_F2Dot14 F2Dot14
signed 2.14 fixed float type used for unit vectors
Definition: types.h:135
FT_Tag Tag
typedef for 32bit tags (as used in the SFNT format)
Definition: types.h:115
FT_FWord FWord
signed 16bit integer used to store distance in original font units
Definition: types.h:129
const unsigned int MAJOR
Definition: common.h:48
An 8-bit bitmap, generally used to represent anti-aliased glyph images. Each pixel is stored in one b...
Definition: types.h:160
const UShort_t NO_SUBSETTING
If this bit is set, the font may not be subsetted prior to embedding.
Definition: types.h:940
const UInt_t CROP_BITMAP
Indicates that the font driver should crop the loaded bitmap glyph (i.e., remove all space around its...
Definition: types.h:496
sigc::slot< void *, long > AllocFunc_t
a function used to allocate bytes from memory
Definition: types.h:266
static const ULong_t value
Definition: types.h:712
The font bounding box. The width and height of the ‘bbox’ field of FT_FaceRec are used to determine t...
Definition: types.h:969
Corresponds to the 8-bit Apple roman encoding.
Definition: types.h:870
FT_String String
simple typedef for char
Definition: types.h:114
const UInt DROPOUT_MASK
Definition: types.h:898
Corresponds to the Adobe Expert encoding, as found in Type 1, CFF, and OpenType/CFF fonts...
Definition: types.h:845
FT_Char Char
simple typedef for signed char
Definition: types.h:95
sigc::slot< void, void * > GenericFinalizer_t
Describe a function used to destroy the ‘client’ data of any FreeType object. See the description of ...
Definition: types.h:258
const UShort_t BITMAP_EMBEDDING_ONLY
If this bit is set, only bitmaps contained in the font may be embedded; no outline data may be embedd...
Definition: types.h:945
FT_Error Error
FreeType error code, a value of 0 is always interpreted as a successful operation.
Definition: types.h:117
A 4-bit per pixel bitmap, representing embedded anti-aliased bitmaps in font files according to the O...
Definition: types.h:169
FT_Error Error_t
FreeType error code, a value of 0 is always interpreted as a successful operation.
Definition: types.h:70
const UInt32_t _2X2
Definition: types.h:886
FT_Byte Byte_t
simple typedef unsigned char
Definition: types.h:46
FT_F2Dot14 F2Dot14_t
signed 2.14 fixed float type used for unit vectors
Definition: types.h:88
const UInt32_t ROUND_XY_TO_GRID
Definition: types.h:883
FT_Pos Pos_t
used to store vectoral coordinates. depending on the context these represent distances in integer fon...
Definition: types.h:77
FT_F26Dot6 F26Dot6_t
signed 26.6 fixed float type used for vectoral pixel coordinates
Definition: types.h:90
FT_UInt16 UInt16_t
typedef for 16bit unsigned int
Definition: types.h:52
FT_Pointer Pointer_t
simple typedef for typeless ptr
Definition: types.h:76
static const Int32_t value
Definition: types.h:644
Corresponds to the Microsoft Symbol encoding, used to encode mathematical symbols in the 32...
Definition: types.h:782
This is the default render mode; it corresponds to 8-bit anti-aliased bitmaps.
Definition: types.h:587
const UInt_t FORCE_AUTOHINT
Indicates that the auto-hinter is preferred over the font's native hinter.
Definition: types.h:489
FT_Char Char_t
simple typedef for signed char
Definition: types.h:48
The nominal size. The ‘units_per_EM’ field of FT_FaceRec is used to determine both scaling values...
Definition: types.h:964
An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on LCD displays; the...
Definition: types.h:173
An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on rotated LCD displ...
Definition: types.h:177
Return the kerning vector in original font units.
Definition: types.h:693
const UInt32_t USE_MY_METRICS
Definition: types.h:887
const UInt_t LINEAR_DESIGN
Indicates that the ‘linearHoriAdvance’ and ‘linearVertAdvance’ fields of FT_GlyphSlotRec should be ke...
Definition: types.h:547
FT_Bytes Bytes
a typedef for constant memory area
Definition: types.h:94
FT_Offset Offset_t
the largest unsigned integer type used to express a file size or position or a memory block size ...
Definition: types.h:61
RenderMode
An enumeration type that lists the render modes supported by FreeType 2.
Definition: types.h:583
FT_UInt UInt
typedef for unsigned int
Definition: types.h:97
FT_Byte Byte
simple typedef unsigned char
Definition: types.h:93
const Int32_t LIGHT
A lighter hinting algorithm for non-monochrome modes.
Definition: types.h:659
The encoding value 0 is reserved.
Definition: types.h:775
sigc::slot< void *, long, long, void * > ReallocFunc_t
a function used to re-allocate a given block of memory
Definition: types.h:287
const UInt CUBIC
Definition: types.h:896
used for iterating over enum
Definition: types.h:181
const ULong_t HINTER
Set if the font driver has a hinting machine of its own. For example, with TrueType fonts...
Definition: types.h:351
const ULong_t SCALABLE
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.
Definition: types.h:299
const UInt_t NO_SCALE
Don't scale the outline glyph loaded, but keep it in font units.
Definition: types.h:451
Corresponds to the Korean encoding system known as Wansung.
Definition: types.h:823
const UInt_t ITALIC
Indicates that a given face style is italic or oblique.
Definition: types.h:393
Corresponds to the Unicode character set.
Definition: types.h:794
const UInt_t NO_HINTING
Disable hinting.
Definition: types.h:461
const ULong_t VERTICAL
Indicates that the face contains vertical glyph metrics. This is only available in some formats...
Definition: types.h:319
const unsigned int PATCH
const ULong_t FIXED_WIDTH
Indicates that the face contains fixed-width characters (like Courier, Lucido, MonoType, etc.).
Definition: types.h:307
const UInt_t NO_AUTOHINT
Disable auto-hinter.
Definition: types.h:553
const ULong_t EXTERNAL_STREAM
Used internally by FreeType to indicate that a face's stream was provided by the client application a...
Definition: types.h:345
FT_F26Dot6 F26Dot6
signed 26.6 fixed float type used for vectoral pixel coordinates
Definition: types.h:137
FT_Fixed Fixed_t
Used to store 16.16 fixed float values, like scaling values or matrix coefficients.
Definition: types.h:73
FT_Int16 Int16
typedef for 16bit integer
Definition: types.h:98
FT_Tag Tag_t
typedef for 32bit tags (as used in the SFNT format)
Definition: types.h:68
Return scaled and grid-fitted kerning distances (value is 0).
Definition: types.h:687
const UInt_t NO_RECURSE
This flag is only used internally.
Definition: types.h:523
FT_UInt UInt_t
typedef for unsigned int
Definition: types.h:50
Corresponds to an encoding system for Traditional Chinese as used in Taiwan and Hong Kong...
Definition: types.h:816
A 2-bit per pixel bitmap, used to represent embedded anti-aliased bitmaps in font files according to ...
Definition: types.h:165
size_request_type::SizeRequestType SizeRequestType
Definition: types.h:984
FT_UShort UShort
simple typedef for unsigned short
Definition: types.h:103
FT_ULong ULong_t
simple typedef for unsigned long
Definition: types.h:58
const ULong_t TRICKY
Set if the font is ‘tricky’, this is, it always needs the font format's native hinting engine to get ...
Definition: types.h:378
The ‘max_advance_width’ field of FT_FaceRec is used to determine the horizontal scaling value; the ve...
Definition: types.h:972
FT_Int32 Int32_t
typedef for 32bit signed int
Definition: types.h:53
const unsigned int MINOR
Definition: common.h:49
The glyph image is a bitmap, and can be described as an FT_Bitmap. You generally need to access the ‘...
Definition: types.h:233
The glyph image is a composite of several other images. This format is only used with FT_LOAD_NO_RECU...
Definition: types.h:228
This mode corresponds to 1-bit bitmaps (with 2 levels of opacity).
Definition: types.h:596
Corresponds to Japanese SJIS encoding.
Definition: types.h:802
const UInt CONIC
Definition: types.h:895
const ULong_t MULTIPLE_MASTERS
Indicates that the font contains multiple masters and is capable of interpolating between them...
Definition: types.h:334
FT_Int16 Int16_t
typedef for 16bit integer
Definition: types.h:51
Corresponds to a Latin-1 encoding as defined in a Type 1 PostScript font.
Definition: types.h:859
FT_Fixed Fixed
Used to store 16.16 fixed float values, like scaling values or matrix coefficients.
Definition: types.h:120
Specify the scaling values directly.
Definition: types.h:979
FT_UFWord UFWord_t
unsigned 16bit integer used to store distance in original font units
Definition: types.h:85
FT_UInt16 UInt16
typedef for 16bit unsigned int
Definition: types.h:99
This mode corresponds to horizontal RGB and BGR sub-pixel displays like LCD screens. It produces 8-bit bitmaps that are 3 times the width of the original glyph outline in pixels, and which use the FT_PIXEL_MODE_LCD mode.
Definition: types.h:602
This is equivalent to FT_RENDER_MODE_NORMAL. It is only defined as a separate value because render mo...
Definition: types.h:593
const Int32_t LCD
A variant of FT_LOAD_TARGET_NORMAL optimized for horizontally decimated LCD displays.
Definition: types.h:668
This value is deprecated and was never used nor reported by FreeType. Don't use or test for it...
Definition: types.h:863
FT_Short Short
simlpe typedef for signed short
Definition: types.h:102
Corresponds to a custom encoding, as found in Type 1, CFF, and OpenType/CFF fonts.
Definition: types.h:852
const UInt32_t ARGS_ARE_WORDS
Definition: types.h:881
FT_UInt32 UInt32
typedef for 32bit unsigned int
Definition: types.h:101
const ULong_t SFNT
Indicates that the face uses the ‘sfnt’ storage scheme. For now, this means TrueType and OpenType...
Definition: types.h:311
The glyph image is a vectorial outline made of line segments and Bézier arcs; it can be described as ...
Definition: types.h:239
const UInt DROPOUT_SHIFT
Definition: types.h:899
const ULong_t GLYPH_NAMES
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.
Definition: types.h:340
FT_Long Long_t
simple typedef for signed long
Definition: types.h:57
FT_Offset Offset
the largest unsigned integer type used to express a file size or position or a memory block size ...
Definition: types.h:108
const UInt_t MONOCHROME
This flag is used with FT_LOAD_RENDER to indicate that you want to render an outline glyph to a 1-bit...
Definition: types.h:540
The value 0 is reserved.
Definition: types.h:223
FT_Pos Pos
used to store vectoral coordinates. depending on the context these represent distances in integer fon...
Definition: types.h:124
The glyph image is a vectorial path with no inside and outside contours. Some Type 1 fonts...
Definition: types.h:246
const UInt_t PEDANTIC
Indicates that the font driver should perform pedantic verifications during glyph loading...
Definition: types.h:509
FT_UInt32 UInt32_t
typedef for 32bit unsigned int
Definition: types.h:54
This mode corresponds to vertical RGB and BGR sub-pixel displays (like PDA screens, rotated LCD displays, etc.). It produces 8-bit bitmaps that are 3 times the height of the original glyph outline in pixels and use the FT_PIXEL_MODE_LCD_V mode.
Definition: types.h:608
const Int32_t MONO
Strong hinting algorithm that should only be used for monochrome output. The result is probably unple...
Definition: types.h:664
FT_Bool Bool_t
used for simple booleans, 1=true, 0=false
Definition: types.h:59
static const ULong_t value
Definition: types.h:200
sigc::slot< void, void * > FreeFunc_t
a function used to release a given block of memory
Definition: types.h:273
glyphformat::GlyphFormat GlyphFormat
Definition: types.h:250
FT_Short Short_t
simlpe typedef for signed short
Definition: types.h:55
const UInt_t DEFAULT
Corresponding to 0, this value is used as the default glyph load operation.
Definition: types.h:444
FT_Bool Bool
used for simple booleans, 1=true, 0=false
Definition: types.h:106
template used to replace the FT_ENC_TAG macro: converts four-letter tags into an unsigned long type ...
Definition: types.h:710
const UShort_t PREVIEW_AND_PRINT_EMBEDDING
If this bit is set, the font may be embedded and temporarily loaded on the remote system...
Definition: types.h:931
FT_UShort UShort_t
simple typedef for unsigned short
Definition: types.h:56
const UShort_t EDITABLE_EMBEDDING
If this bit is set, the font may be embedded but must only be installed temporarily on other systems...
Definition: types.h:937
encoding::Encoding Encoding
Definition: types.h:874
FT_Int Int
typedef for int
Definition: types.h:96
template used to replace the FT_IMAGE_TAG macro: converts four-letter tags into an unsigned long type...
Definition: types.h:198
The real dimension. The sum of the the ‘ascender’ and (minus of) the ‘descender’ fields of FT_FaceRec...
Definition: types.h:966
FT_Int32 Int32
typedef for 32bit signed int
Definition: types.h:100
FT_UFWord UFWord
unsigned 16bit integer used to store distance in original font units
Definition: types.h:132
Corresponds to an encoding system for Simplified Chinese as used used in mainland China...
Definition: types.h:809
FT_Int Int_t
typedef for int
Definition: types.h:49