summaryrefslogtreecommitdiff
path: root/third_party/freetype-py/freetype/ft_enums/ft_load_flags.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/freetype-py/freetype/ft_enums/ft_load_flags.py')
-rw-r--r--third_party/freetype-py/freetype/ft_enums/ft_load_flags.py154
1 files changed, 154 insertions, 0 deletions
diff --git a/third_party/freetype-py/freetype/ft_enums/ft_load_flags.py b/third_party/freetype-py/freetype/ft_enums/ft_load_flags.py
new file mode 100644
index 0000000..ad79b7b
--- /dev/null
+++ b/third_party/freetype-py/freetype/ft_enums/ft_load_flags.py
@@ -0,0 +1,154 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# -----------------------------------------------------------------------------
+#
+# FreeType high-level python API - Copyright 2011-2012 Nicolas P. Rougier
+# Distributed under the terms of the new BSD license.
+#
+# -----------------------------------------------------------------------------
+"""
+A list of bit-field constants used with FT_Load_Glyph to indicate what kind
+of operations to perform during glyph loading.
+
+
+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 outline glyph loaded, but keep it in font units.
+
+ This flag implies FT_LOAD_NO_HINTING and FT_LOAD_NO_BITMAP, and unsets
+ FT_LOAD_RENDER.
+
+
+FT_LOAD_NO_HINTING
+
+ Disable hinting. This generally generates 'blurrier' bitmap glyph when the
+ glyph is 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. Don't use it as it is problematic
+ currently.
+
+
+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.
+
+
+FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH
+
+ Indicates that the font driver should ignore the global advance width defined
+ in the font. By default, that value is used as the advance width for all
+ glyphs when the face has FT_FACE_FLAG_FIXED_WIDTH set.
+
+ This flag exists for historical reasons (to support buggy CJK fonts).
+
+
+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_FLAGS = { 'FT_LOAD_DEFAULT' : 0x0,
+ 'FT_LOAD_NO_SCALE' : 0x1,
+ 'FT_LOAD_NO_HINTING' : 0x2,
+ 'FT_LOAD_RENDER' : 0x4,
+ 'FT_LOAD_NO_BITMAP' : 0x8,
+ 'FT_LOAD_VERTICAL_LAYOUT' : 0x10,
+ 'FT_LOAD_FORCE_AUTOHINT' : 0x20,
+ 'FT_LOAD_CROP_BITMAP' : 0x40,
+ 'FT_LOAD_PEDANTIC' : 0x80,
+ 'FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH' : 0x200,
+ 'FT_LOAD_NO_RECURSE' : 0x400,
+ 'FT_LOAD_IGNORE_TRANSFORM' : 0x800,
+ 'FT_LOAD_MONOCHROME' : 0x1000,
+ 'FT_LOAD_LINEAR_DESIGN' : 0x2000,
+ 'FT_LOAD_NO_AUTOHINT' : 0x8000 }
+globals().update(FT_LOAD_FLAGS)