public final static int FT_SIZE_REQUEST_TYPE_NOMINAL = 0;
public final static int FT_SIZE_REQUEST_TYPE_REAL_DIM = 1;
public final static int FT_SIZE_REQUEST_TYPE_BBOX = 2;
public final static int FT_SIZE_REQUEST_TYPE_CELL = 3;
public final static int FT_SIZE_REQUEST_TYPE_SCALES = 4;
public final static int FT_SIZE_REQUEST_TYPE_MAX = 5;
/* ===================================================================== * FT_LOAD_XXX * * @description: * A list of bit-field constants used with @FT_Load_Glyph to indicate * what kind of operations to perform during glyph loading. * * @values: * FT_LOAD_DEFAULT :: * Corresponding to~0, this value is used as the default glyph load * operation. In this case, the following happens: * * 1. FreeType looks for a bitmap for the glyph corresponding to the * face's current size. If one is found, the function returns. * The bitmap data can be accessed from the glyph slot (see note * below). * * 2. If no embedded bitmap is searched or found, FreeType looks for a * scalable outline. If one is found, it is loaded from the font * file, scaled to device pixels, then `hinted' to the pixel grid * in order to optimize it. The outline data can be accessed from * the glyph slot (see note below). * * Note that by default, the glyph loader doesn't render outlines into * bitmaps. The following flags are used to modify this default * behaviour to more specific and useful cases. * * FT_LOAD_NO_SCALE :: * Don't scale the loaded outline glyph but keep it in font units. * * This flag implies @FT_LOAD_NO_HINTING and @FT_LOAD_NO_BITMAP, and * unsets @FT_LOAD_RENDER. * * If the font is `tricky' (see @FT_FACE_FLAG_TRICKY for more), using * FT_LOAD_NO_SCALE usually yields meaningless outlines because the * subglyphs must be scaled and positioned with hinting instructions. * This can be solved by loading the font without FT_LOAD_NO_SCALE and * setting the character size to `font->units_per_EM'. * * FT_LOAD_NO_HINTING :: * Disable hinting. This generally generates `blurrier' bitmap glyphs * when the glyph are rendered in any of the anti-aliased modes. See * also the note below. * * This flag is implied by @FT_LOAD_NO_SCALE. * * FT_LOAD_RENDER :: * Call @FT_Render_Glyph after the glyph is loaded. By default, the * glyph is rendered in @FT_RENDER_MODE_NORMAL mode. This can be * overridden by @FT_LOAD_TARGET_XXX or @FT_LOAD_MONOCHROME. * * This flag is unset by @FT_LOAD_NO_SCALE. * * FT_LOAD_NO_BITMAP :: * Ignore bitmap strikes when loading. Bitmap-only fonts ignore this * flag. * * @FT_LOAD_NO_SCALE always sets this flag. * * FT_LOAD_VERTICAL_LAYOUT :: * Load the glyph for vertical text layout. In particular, the * `advance' value in the @FT_GlyphSlotRec structure is set to the * `vertAdvance' value of the `metrics' field. * * In case @FT_HAS_VERTICAL doesn't return true, you shouldn't use * this flag currently. Reason is that in this case vertical metrics * get synthesized, and those values are not always consistent across * various font formats. * * FT_LOAD_FORCE_AUTOHINT :: * Indicates that the auto-hinter is preferred over the font's native * hinter. See also the note below. * * FT_LOAD_CROP_BITMAP :: * Indicates that the font driver should crop the loaded bitmap glyph * (i.e., remove all space around its black bits). Not all drivers * implement this. * * FT_LOAD_PEDANTIC :: * Indicates that the font driver should perform pedantic verifications * during glyph loading. This is mostly used to detect broken glyphs * in fonts. By default, FreeType tries to handle broken fonts also. * * In particular, errors from the TrueType bytecode engine are not * passed to the application if this flag is not set; this might * result in partially hinted or distorted glyphs in case a glyph's * bytecode is buggy. * * FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH :: * Ignored. Deprecated. * * FT_LOAD_NO_RECURSE :: * This flag is only used internally. It merely indicates that the * font driver should not load composite glyphs recursively. Instead, * it should set the `num_subglyph' and `subglyphs' values of the * glyph slot accordingly, and set `glyph->format' to * @FT_GLYPH_FORMAT_COMPOSITE. * * The description of sub-glyphs is not available to client * applications for now. * * This flag implies @FT_LOAD_NO_SCALE and @FT_LOAD_IGNORE_TRANSFORM. * * FT_LOAD_IGNORE_TRANSFORM :: * Indicates that the transform matrix set by @FT_Set_Transform should * be ignored. * * 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. * * Note that this has no effect on the hinting algorithm used. You * should rather use @FT_LOAD_TARGET_MONO so that the * monochrome-optimized hinting algorithm is used. * * FT_LOAD_LINEAR_DESIGN :: * Indicates that the `linearHoriAdvance' and `linearVertAdvance' * fields of @FT_GlyphSlotRec should be kept in font units. See * @FT_GlyphSlotRec for details. * * FT_LOAD_NO_AUTOHINT :: * Disable auto-hinter. See also the note below. * * FT_LOAD_COLOR :: * This flag is used to request loading of color embedded-bitmap * images. The resulting color bitmaps, if available, will have the * @FT_PIXEL_MODE_BGRA format. When the flag is not used and color * bitmaps are found, they will be converted to 256-level gray * bitmaps transparently. Those bitmaps will be in the * @FT_PIXEL_MODE_GRAY format. * * @note: * By default, hinting is enabled and the font's native hinter (see * @FT_FACE_FLAG_HINTER) is preferred over the auto-hinter. You can * disable hinting by setting @FT_LOAD_NO_HINTING or change the * precedence by setting @FT_LOAD_FORCE_AUTOHINT. You can also set * @FT_LOAD_NO_AUTOHINT in case you don't want the auto-hinter to be * used at all. * * See the description of @FT_FACE_FLAG_TRICKY for a special exception * (affecting only a handful of Asian fonts). * * Besides deciding which hinter to use, you can also decide which * hinting algorithm to use. See @FT_LOAD_TARGET_XXX for details. * * Note that the auto-hinter needs a valid Unicode cmap (either a native * one or synthesized by FreeType) for producing correct results. If a * font provides an incorrect mapping (for example, assigning the * character code U+005A, LATIN CAPITAL LETTER Z, to a glyph depicting a * mathematical integral sign), the auto-hinter might produce useless * results. * * ===================================================================== */ public final static long FT_LOAD_DEFAULT = 0x0; public final static long FT_LOAD_NO_SCALE = (1L << 0 ); public final static long FT_LOAD_NO_HINTING = (1L << 1); public final static long FT_LOAD_RENDER = (1L << 2); public final static long FT_LOAD_NO_BITMAP = (1L << 3); public final static long FT_LOAD_VERTICAL_LAYOUT = (1L << 4); public final static long FT_LOAD_FORCE_AUTOHINT = (1L << 5); public final static long FT_LOAD_CROP_BITMAP = (1L << 6); public final static long FT_LOAD_PEDANTIC = (1L << 7); public final static long FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH = (1L << 9); public final static long FT_LOAD_NO_RECURSE = (1L << 10); public final static long FT_LOAD_IGNORE_TRANSFORM = (1L << 11); public final static long FT_LOAD_MONOCHROME = (1L << 12); public final static long FT_LOAD_LINEAR_DESIGN = (1L << 13); public final static long FT_LOAD_NO_AUTOHINT = (1L << 15); /* Bits 16..19 are used by `FT_LOAD_TARGET_' */ public final static long FT_LOAD_COLOR = (1L << 20); /* used longernally only by certain font drivers! */ public final static long FT_LOAD_ADVANCE_ONLY = (1L << 8); public final static long FT_LOAD_SBITS_ONLY = (1L << 14); public final static long FT_FACE_FLAG_SCALABLE = (1L << 0); public final static long FT_FACE_FLAG_FIXED_SIZES = (1L << 1); public final static long FT_FACE_FLAG_FIXED_WIDTH = (1L << 2); public final static long FT_FACE_FLAG_SFNT = (1L << 3); public final static long FT_FACE_FLAG_HORIZONTAL = (1L << 4); public final static long FT_FACE_FLAG_VERTICAL = (1L << 5); public final static long FT_FACE_FLAG_KERNING = (1L << 6); public final static long FT_FACE_FLAG_FAST_GLYPHS = (1L << 7); public final static long FT_FACE_FLAG_MULTIPLE_MASTERS = (1L << 8); public final static long FT_FACE_FLAG_GLYPH_NAMES = (1L << 9); public final static long FT_FACE_FLAG_EXTERNAL_STREAM = (1L << 10); public final static long FT_FACE_FLAG_HINTER = (1L << 11); public final static long FT_FACE_FLAG_CID_KEYED = (1L << 12); public final static long FT_FACE_FLAG_TRICKY = (1L << 13);}