forked from minhngoc25a/freetype2
* src/autohint/ahtypes.h, src/autohint/ahhint.c, src/pshinter/pshalgo3.h,
src/pshinter/pshalgo3.c: implemented the FT_RENDER_MODE_LIGHT hinting mode in the auto and postscript hinters
This commit is contained in:
parent
6453a819e8
commit
265799a933
|
@ -1,3 +1,9 @@
|
||||||
|
2003-01-08 Owen Taylor <owen@redhat.com>
|
||||||
|
|
||||||
|
* src/autohint/ahtypes.h, src/autohint/ahhint.c, src/pshinter/pshalgo3.h,
|
||||||
|
src/pshinter/pshalgo3.c: implemented the FT_RENDER_MODE_LIGHT hinting
|
||||||
|
mode in the auto and postscript hinters
|
||||||
|
|
||||||
2003-01-08 David Turner <david@freetype.org>
|
2003-01-08 David Turner <david@freetype.org>
|
||||||
|
|
||||||
* src/base/ftobjs.c (find_unicode_charmap): fixed the error code
|
* src/base/ftobjs.c (find_unicode_charmap): fixed the error code
|
||||||
|
|
|
@ -104,8 +104,12 @@
|
||||||
sign = 1;
|
sign = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ( vertical && !hinter->do_vert_snapping ) ||
|
if ( !hinter->do_stem_adjust )
|
||||||
( !vertical && !hinter->do_horz_snapping ) )
|
{
|
||||||
|
/* leave stem widths unchanged */
|
||||||
|
}
|
||||||
|
else if ( ( vertical && !hinter->do_vert_snapping ) ||
|
||||||
|
( !vertical && !hinter->do_horz_snapping ) )
|
||||||
{
|
{
|
||||||
/* smooth hinting process, very lightly quantize the stem width */
|
/* smooth hinting process, very lightly quantize the stem width */
|
||||||
/* */
|
/* */
|
||||||
|
@ -1427,6 +1431,8 @@
|
||||||
hinter->do_vert_snapping = FT_BOOL( hint_mode == FT_RENDER_MODE_MONO ||
|
hinter->do_vert_snapping = FT_BOOL( hint_mode == FT_RENDER_MODE_MONO ||
|
||||||
hint_mode == FT_RENDER_MODE_LCD_V );
|
hint_mode == FT_RENDER_MODE_LCD_V );
|
||||||
|
|
||||||
|
hinter->do_stem_adjust = FT_BOOL( hint_mode != FT_RENDER_MODE_LIGHT );
|
||||||
|
|
||||||
#if 1
|
#if 1
|
||||||
load_flags = FT_LOAD_NO_SCALE
|
load_flags = FT_LOAD_NO_SCALE
|
||||||
| FT_LOAD_IGNORE_TRANSFORM ;
|
| FT_LOAD_IGNORE_TRANSFORM ;
|
||||||
|
|
|
@ -496,6 +496,7 @@ FT_BEGIN_HEADER
|
||||||
FT_Bool do_vert_hints; /* disable Y hinting */
|
FT_Bool do_vert_hints; /* disable Y hinting */
|
||||||
FT_Bool do_horz_snapping; /* disable X stem size snapping */
|
FT_Bool do_horz_snapping; /* disable X stem size snapping */
|
||||||
FT_Bool do_vert_snapping; /* disable Y stem size snapping */
|
FT_Bool do_vert_snapping; /* disable Y stem size snapping */
|
||||||
|
FT_Bool do_stem_adjust; /* disable light stem snapping */
|
||||||
|
|
||||||
} AH_HinterRec, *AH_Hinter;
|
} AH_HinterRec, *AH_Hinter;
|
||||||
|
|
||||||
|
|
|
@ -516,17 +516,20 @@
|
||||||
hint->cur_pos = pos;
|
hint->cur_pos = pos;
|
||||||
hint->cur_len = fit_len;
|
hint->cur_len = fit_len;
|
||||||
|
|
||||||
if ( len <= 64 )
|
if ( glyph->do_stem_adjust )
|
||||||
{
|
{
|
||||||
/* the stem is less than one pixel, we will center it */
|
if ( len <= 64 )
|
||||||
/* around the nearest pixel center */
|
{
|
||||||
/* */
|
/* the stem is less than one pixel, we will center it */
|
||||||
pos = ( pos + ( (len >> 1) & -64 ) );
|
/* around the nearest pixel center */
|
||||||
len = 64;
|
/* */
|
||||||
}
|
pos = ( pos + ( (len >> 1) & -64 ) );
|
||||||
else
|
len = 64;
|
||||||
{
|
}
|
||||||
len = psh3_dimension_quantize_len( dim, len, 0 );
|
else
|
||||||
|
{
|
||||||
|
len = psh3_dimension_quantize_len( dim, len, 0 );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* now that we have a good hinted stem width, try to position */
|
/* now that we have a good hinted stem width, try to position */
|
||||||
|
@ -1720,6 +1723,8 @@
|
||||||
glyph->do_vert_snapping = FT_BOOL( hint_mode == FT_RENDER_MODE_MONO ||
|
glyph->do_vert_snapping = FT_BOOL( hint_mode == FT_RENDER_MODE_MONO ||
|
||||||
hint_mode == FT_RENDER_MODE_LCD_V );
|
hint_mode == FT_RENDER_MODE_LCD_V );
|
||||||
|
|
||||||
|
glyph->do_stem_adjust = FT_BOOL( hint_mode != FT_RENDER_MODE_LIGHT );
|
||||||
|
|
||||||
for ( dimension = 0; dimension < 2; dimension++ )
|
for ( dimension = 0; dimension < 2; dimension++ )
|
||||||
{
|
{
|
||||||
/* load outline coordinates into glyph */
|
/* load outline coordinates into glyph */
|
||||||
|
|
|
@ -221,6 +221,7 @@ FT_BEGIN_HEADER
|
||||||
FT_Bool do_vert_hints;
|
FT_Bool do_vert_hints;
|
||||||
FT_Bool do_horz_snapping;
|
FT_Bool do_horz_snapping;
|
||||||
FT_Bool do_vert_snapping;
|
FT_Bool do_vert_snapping;
|
||||||
|
FT_Bool do_stem_adjust;
|
||||||
|
|
||||||
} PSH3_GlyphRec, *PSH3_Glyph;
|
} PSH3_GlyphRec, *PSH3_Glyph;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue