ReactOS 0.4.16-dev-2354-g16de117
ttsubpix.h
Go to the documentation of this file.
1/****************************************************************************
2 *
3 * ttsubpix.h
4 *
5 * TrueType Subpixel Hinting.
6 *
7 * Copyright (C) 2010-2020 by
8 * David Turner, Robert Wilhelm, and Werner Lemberg.
9 *
10 * This file is part of the FreeType project, and may only be used,
11 * modified, and distributed under the terms of the FreeType project
12 * license, LICENSE.TXT. By continuing to use, modify, or distribute
13 * this file you indicate that you have read the license and
14 * understand and accept it fully.
15 *
16 */
17
18
19#ifndef TTSUBPIX_H_
20#define TTSUBPIX_H_
21
22#include "ttobjs.h"
23#include "ttinterp.h"
24
25
27
28
29#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
30
31 /**************************************************************************
32 *
33 * ID flags to identify special functions at FDEF and runtime.
34 *
35 */
36#define SPH_FDEF_INLINE_DELTA_1 0x0000001
37#define SPH_FDEF_INLINE_DELTA_2 0x0000002
38#define SPH_FDEF_DIAGONAL_STROKE 0x0000004
39#define SPH_FDEF_VACUFORM_ROUND_1 0x0000008
40#define SPH_FDEF_TTFAUTOHINT_1 0x0000010
41#define SPH_FDEF_SPACING_1 0x0000020
42#define SPH_FDEF_SPACING_2 0x0000040
43#define SPH_FDEF_TYPEMAN_STROKES 0x0000080
44#define SPH_FDEF_TYPEMAN_DIAGENDCTRL 0x0000100
45
46
47 /**************************************************************************
48 *
49 * Tweak flags that are set for each glyph by the below rules.
50 *
51 */
52#define SPH_TWEAK_ALLOW_X_DMOVE 0x0000001UL
53#define SPH_TWEAK_ALWAYS_DO_DELTAP 0x0000002UL
54#define SPH_TWEAK_ALWAYS_SKIP_DELTAP 0x0000004UL
55#define SPH_TWEAK_COURIER_NEW_2_HACK 0x0000008UL
56#define SPH_TWEAK_DEEMBOLDEN 0x0000010UL
57#define SPH_TWEAK_DO_SHPIX 0x0000020UL
58#define SPH_TWEAK_EMBOLDEN 0x0000040UL
59#define SPH_TWEAK_MIAP_HACK 0x0000080UL
60#define SPH_TWEAK_NORMAL_ROUND 0x0000100UL
61#define SPH_TWEAK_NO_ALIGNRP_AFTER_IUP 0x0000200UL
62#define SPH_TWEAK_NO_CALL_AFTER_IUP 0x0000400UL
63#define SPH_TWEAK_NO_DELTAP_AFTER_IUP 0x0000800UL
64#define SPH_TWEAK_PIXEL_HINTING 0x0001000UL
65#define SPH_TWEAK_RASTERIZER_35 0x0002000UL
66#define SPH_TWEAK_ROUND_NONPIXEL_Y_MOVES 0x0004000UL
67#define SPH_TWEAK_SKIP_IUP 0x0008000UL
68#define SPH_TWEAK_SKIP_NONPIXEL_Y_MOVES 0x0010000UL
69#define SPH_TWEAK_SKIP_OFFPIXEL_Y_MOVES 0x0020000UL
70#define SPH_TWEAK_TIMES_NEW_ROMAN_HACK 0x0040000UL
71#define SPH_TWEAK_SKIP_NONPIXEL_Y_MOVES_DELTAP 0x0080000UL
72
73
75 sph_test_tweak( TT_Face face,
76 const FT_String* family,
77 FT_UInt ppem,
78 const FT_String* style,
79 FT_UInt glyph_index,
80 const SPH_TweakRule* rule,
81 FT_UInt num_rules );
82
84 sph_test_tweak_x_scaling( TT_Face face,
85 const FT_String* family,
86 FT_UInt ppem,
87 const FT_String* style,
88 FT_UInt glyph_index );
89
90 FT_LOCAL( void )
91 sph_set_tweaks( TT_Loader loader,
92 FT_UInt glyph_index );
93
94
95 /* These macros are defined absent a method for setting them */
96#define SPH_OPTION_BITMAP_WIDTHS FALSE
97#define SPH_OPTION_SET_SUBPIXEL TRUE
98#define SPH_OPTION_SET_GRAYSCALE FALSE
99#define SPH_OPTION_SET_COMPATIBLE_WIDTHS FALSE
100#define SPH_OPTION_SET_RASTERIZER_VERSION 38
101
102#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
103
104
106
107#endif /* TTSUBPIX_H_ */
108
109
110/* END */
Arabic default style
Definition: afstyles.h:94
#define FT_LOCAL(x)
#define FT_END_HEADER
Definition: ftheader.h:57
#define FT_BEGIN_HEADER
Definition: ftheader.h:37
FT_BEGIN_HEADER typedef unsigned char FT_Bool
Definition: fttypes.h:108
char FT_String
Definition: fttypes.h:187
unsigned int FT_UInt
Definition: fttypes.h:231
GLenum GLuint GLint GLenum face
Definition: glext.h:7025