pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/graphics/freetype2 Update to freetype2-2.3.7.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/719e989260ad
branches:  trunk
changeset: 544369:719e989260ad
user:      tnn <tnn%pkgsrc.org@localhost>
date:      Mon Jul 14 03:55:29 2008 +0000

description:
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:

 graphics/freetype2/Makefile         |    5 +-
 graphics/freetype2/distinfo         |    9 +-
 graphics/freetype2/patches/patch-aa |  240 ------------------------------------
 3 files changed, 6 insertions(+), 248 deletions(-)

diffs (272 lines):

diff -r 982e546c9be9 -r 719e989260ad graphics/freetype2/Makefile
--- a/graphics/freetype2/Makefile       Mon Jul 14 03:54:32 2008 +0000
+++ b/graphics/freetype2/Makefile       Mon Jul 14 03:55:29 2008 +0000
@@ -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 -r 982e546c9be9 -r 719e989260ad graphics/freetype2/distinfo
--- a/graphics/freetype2/distinfo       Mon Jul 14 03:54:32 2008 +0000
+++ b/graphics/freetype2/distinfo       Mon Jul 14 03:55:29 2008 +0000
@@ -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 -r 982e546c9be9 -r 719e989260ad graphics/freetype2/patches/patch-aa
--- a/graphics/freetype2/patches/patch-aa       Mon Jul 14 03:54:32 2008 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -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.          */



Home | Main Index | Thread Index | Old Index