diff options
-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. */ |