diff options
author | tnn <tnn> | 2008-07-14 03:55:29 +0000 |
---|---|---|
committer | tnn <tnn> | 2008-07-14 03:55:29 +0000 |
commit | ba80d0f67c99355d0e6a8b2260fcf87c0852cece (patch) | |
tree | 7134ef69525866ecaaaf19cb6d6d789bed5ca3f9 /graphics | |
parent | bedbc4d965b44269b25ec31b9d217ffb6d157b8b (diff) | |
download | pkgsrc-ba80d0f67c99355d0e6a8b2260fcf87c0852cece.tar.gz |
Update to freetype2-2.3.7.
This is a bugfix release for the 2.3 series which provides some important
fixes for bugs which were introduced in version 2.3.6. Additionally, native
bytecode hinting for TrueType fonts has been improved.
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/freetype2/Makefile | 5 | ||||
-rw-r--r-- | graphics/freetype2/distinfo | 9 | ||||
-rw-r--r-- | graphics/freetype2/patches/patch-aa | 240 |
3 files changed, 6 insertions, 248 deletions
diff --git a/graphics/freetype2/Makefile b/graphics/freetype2/Makefile index 7f0ba057616..85ac51b57ce 100644 --- a/graphics/freetype2/Makefile +++ b/graphics/freetype2/Makefile @@ -1,8 +1,7 @@ -# $NetBSD: Makefile,v 1.65 2008/07/08 15:44:36 drochner Exp $ +# $NetBSD: Makefile,v 1.66 2008/07/14 03:55:29 tnn Exp $ -DISTNAME= freetype-2.3.6 +DISTNAME= freetype-2.3.7 PKGNAME= ${DISTNAME:S/-/2-/} -PKGREVISION= 1 CATEGORIES= graphics MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=freetype/} \ ftp://ring.aist.go.jp/pub/graphics/freetype/freetype2/ diff --git a/graphics/freetype2/distinfo b/graphics/freetype2/distinfo index c3475985d1d..a01a27f9386 100644 --- a/graphics/freetype2/distinfo +++ b/graphics/freetype2/distinfo @@ -1,6 +1,5 @@ -$NetBSD: distinfo,v 1.27 2008/07/08 15:44:36 drochner Exp $ +$NetBSD: distinfo,v 1.28 2008/07/14 03:55:29 tnn Exp $ -SHA1 (freetype-2.3.6.tar.bz2) = 611bae913e8a593449a4dc60e0bf3300abc4f974 -RMD160 (freetype-2.3.6.tar.bz2) = 8047e734804191856a941e19f6acf82047099d66 -Size (freetype-2.3.6.tar.bz2) = 1305717 bytes -SHA1 (patch-aa) = 4876eb28e5c5ffc9db98220f9046c639f1538bb7 +SHA1 (freetype-2.3.7.tar.bz2) = f16f849d6e739ce8842008586af36371a32ac064 +RMD160 (freetype-2.3.7.tar.bz2) = 7333507c5f42d451bf0541f007fe44165f090418 +Size (freetype-2.3.7.tar.bz2) = 1310542 bytes diff --git a/graphics/freetype2/patches/patch-aa b/graphics/freetype2/patches/patch-aa deleted file mode 100644 index 29864959fef..00000000000 --- a/graphics/freetype2/patches/patch-aa +++ /dev/null @@ -1,240 +0,0 @@ -$NetBSD: patch-aa,v 1.13 2008/07/08 15:44:36 drochner Exp $ - ---- src/cff/cffobjs.c.orig 2008-05-13 10:30:21.000000000 +0200 -+++ src/cff/cffobjs.c -@@ -534,6 +534,111 @@ - goto Bad_Format; - } - -+ if ( !dict->units_per_em ) -+ dict->units_per_em = pure_cff ? 1000 : face->root.units_per_EM; -+ -+ /* Normalize the font matrix so that `matrix->xx' is 1; the */ -+ /* scaling is done with `units_per_em' then (at this point, */ -+ /* it already contains the scaling factor, but without */ -+ /* normalization of the matrix). */ -+ /* */ -+ /* Note that the offsets must be expressed in integer font */ -+ /* units. */ -+ -+ { -+ FT_Matrix* matrix = &dict->font_matrix; -+ FT_Vector* offset = &dict->font_offset; -+ FT_ULong* upm = &dict->units_per_em; -+ FT_Fixed temp = FT_ABS( matrix->yy ); -+ -+ -+ if ( temp != 0x10000L ) -+ { -+ *upm = FT_DivFix( *upm, temp ); -+ -+ matrix->xx = FT_DivFix( matrix->xx, temp ); -+ matrix->yx = FT_DivFix( matrix->yx, temp ); -+ matrix->xy = FT_DivFix( matrix->xy, temp ); -+ matrix->yy = FT_DivFix( matrix->yy, temp ); -+ offset->x = FT_DivFix( offset->x, temp ); -+ offset->y = FT_DivFix( offset->y, temp ); -+ } -+ -+ offset->x >>= 16; -+ offset->y >>= 16; -+ } -+ -+ for ( i = cff->num_subfonts; i > 0; i-- ) -+ { -+ CFF_FontRecDict sub = &cff->subfonts[i - 1]->font_dict; -+ CFF_FontRecDict top = &cff->top_font.font_dict; -+ -+ FT_Matrix* matrix; -+ FT_Vector* offset; -+ FT_ULong* upm; -+ FT_Fixed temp; -+ -+ -+ if ( sub->units_per_em ) -+ { -+ FT_Int scaling; -+ -+ -+ if ( top->units_per_em > 1 && sub->units_per_em > 1 ) -+ scaling = FT_MIN( top->units_per_em, sub->units_per_em ); -+ else -+ scaling = 1; -+ -+ FT_Matrix_Multiply_Scaled( &top->font_matrix, -+ &sub->font_matrix, -+ scaling ); -+ FT_Vector_Transform_Scaled( &sub->font_offset, -+ &top->font_matrix, -+ scaling ); -+ -+ sub->units_per_em = FT_MulDiv( sub->units_per_em, -+ top->units_per_em, -+ scaling ); -+ } -+ else -+ { -+ sub->font_matrix = top->font_matrix; -+ sub->font_offset = top->font_offset; -+ -+ sub->units_per_em = top->units_per_em; -+ } -+ -+ matrix = &sub->font_matrix; -+ offset = &sub->font_offset; -+ upm = &sub->units_per_em; -+ temp = FT_ABS( matrix->yy ); -+ -+ if ( temp != 0x10000L ) -+ { -+ *upm = FT_DivFix( *upm, temp ); -+ -+ /* if *upm is larger than 100*1000 we divide by 1000 -- */ -+ /* this can happen if e.g. there is no top-font FontMatrix */ -+ /* and the subfont FontMatrix already contains the complete */ -+ /* scaling for the subfont (see section 5.11 of the PLRM) */ -+ -+ /* 100 is a heuristic value */ -+ -+ if ( *upm > 100L * 1000L ) -+ *upm = ( *upm + 500 ) / 1000; -+ -+ matrix->xx = FT_DivFix( matrix->xx, temp ); -+ matrix->yx = FT_DivFix( matrix->yx, temp ); -+ matrix->xy = FT_DivFix( matrix->xy, temp ); -+ matrix->yy = FT_DivFix( matrix->yy, temp ); -+ offset->x = FT_DivFix( offset->x, temp ); -+ offset->y = FT_DivFix( offset->y, temp ); -+ } -+ -+ offset->x >>= 16; -+ offset->y >>= 16; -+ } -+ - if ( pure_cff ) - { - char* style_name = NULL; -@@ -554,8 +659,6 @@ - cffface->bbox.xMax = ( dict->font_bbox.xMax + 0xFFFFU ) >> 16; - cffface->bbox.yMax = ( dict->font_bbox.yMax + 0xFFFFU ) >> 16; - -- if ( !dict->units_per_em ) -- dict->units_per_em = 1000; - - cffface->units_per_EM = dict->units_per_em; - -@@ -711,114 +814,8 @@ - - cffface->style_flags = flags; - } -- else -- { -- if ( !dict->units_per_em ) -- dict->units_per_em = face->root.units_per_EM; -- } -- -- /* Normalize the font matrix so that `matrix->xx' is 1; the */ -- /* scaling is done with `units_per_em' then (at this point, */ -- /* it already contains the scaling factor, but without */ -- /* normalization of the matrix). */ -- /* */ -- /* Note that the offsets must be expressed in integer font */ -- /* units. */ -- -- { -- FT_Matrix* matrix = &dict->font_matrix; -- FT_Vector* offset = &dict->font_offset; -- FT_ULong* upm = &dict->units_per_em; -- FT_Fixed temp = FT_ABS( matrix->yy ); -- -- -- if ( temp != 0x10000L ) -- { -- *upm = FT_DivFix( *upm, temp ); -- -- matrix->xx = FT_DivFix( matrix->xx, temp ); -- matrix->yx = FT_DivFix( matrix->yx, temp ); -- matrix->xy = FT_DivFix( matrix->xy, temp ); -- matrix->yy = FT_DivFix( matrix->yy, temp ); -- offset->x = FT_DivFix( offset->x, temp ); -- offset->y = FT_DivFix( offset->y, temp ); -- } -- -- offset->x >>= 16; -- offset->y >>= 16; -- } -- -- for ( i = cff->num_subfonts; i > 0; i-- ) -- { -- CFF_FontRecDict sub = &cff->subfonts[i - 1]->font_dict; -- CFF_FontRecDict top = &cff->top_font.font_dict; -- -- FT_Matrix* matrix; -- FT_Vector* offset; -- FT_ULong* upm; -- FT_Fixed temp; - - -- if ( sub->units_per_em ) -- { -- FT_Int scaling; -- -- -- if ( top->units_per_em > 1 && sub->units_per_em > 1 ) -- scaling = FT_MIN( top->units_per_em, sub->units_per_em ); -- else -- scaling = 1; -- -- FT_Matrix_Multiply_Scaled( &top->font_matrix, -- &sub->font_matrix, -- scaling ); -- FT_Vector_Transform_Scaled( &sub->font_offset, -- &top->font_matrix, -- scaling ); -- -- sub->units_per_em = FT_MulDiv( sub->units_per_em, -- top->units_per_em, -- scaling ); -- } -- else -- { -- sub->font_matrix = top->font_matrix; -- sub->font_offset = top->font_offset; -- -- sub->units_per_em = top->units_per_em; -- } -- -- matrix = &sub->font_matrix; -- offset = &sub->font_offset; -- upm = &sub->units_per_em; -- temp = FT_ABS( matrix->yy ); -- -- if ( temp != 0x10000L ) -- { -- *upm = FT_DivFix( *upm, temp ); -- -- /* if *upm is larger than 100*1000 we divide by 1000 -- */ -- /* this can happen if e.g. there is no top-font FontMatrix */ -- /* and the subfont FontMatrix already contains the complete */ -- /* scaling for the subfont (see section 5.11 of the PLRM) */ -- -- /* 100 is a heuristic value */ -- -- if ( *upm > 100L * 1000L ) -- *upm = ( *upm + 500 ) / 1000; -- -- matrix->xx = FT_DivFix( matrix->xx, temp ); -- matrix->yx = FT_DivFix( matrix->yx, temp ); -- matrix->xy = FT_DivFix( matrix->xy, temp ); -- matrix->yy = FT_DivFix( matrix->yy, temp ); -- offset->x = FT_DivFix( offset->x, temp ); -- offset->y = FT_DivFix( offset->y, temp ); -- } -- -- offset->x >>= 16; -- offset->y >>= 16; -- } -- - #ifndef FT_CONFIG_OPTION_NO_GLYPH_NAMES - /* CID-keyed CFF fonts don't have glyph names -- the SFNT loader */ - /* has unset this flag because of the 3.0 `post' table. */ |