]> git.pld-linux.org Git - packages/freetype.git/commitdiff
- this patch seems to be dead; there is no such patch for 2.1.3, now (over
authorwrobell <wrobell@pld-linux.org>
Tue, 17 Dec 2002 16:38:27 +0000 (16:38 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
  a month after 2.1.3 release)

Changed files:
    freetype2-slighthint.patch -> 1.2

freetype2-slighthint.patch [deleted file]

diff --git a/freetype2-slighthint.patch b/freetype2-slighthint.patch
deleted file mode 100644 (file)
index a742218..0000000
+++ /dev/null
@@ -1,448 +0,0 @@
---- freetype-2.1.2/src/base/ftobjs.c.slighthint        Sat Jun 15 21:14:16 2002
-+++ freetype-2.1.2/src/base/ftobjs.c   Wed Jul  3 16:40:03 2002
-@@ -380,6 +380,22 @@
-   }
-+  /* documentation is in freetype.h */
-+
-+  FT_EXPORT_DEF( void )
-+  FT_Set_Hint_Flags( FT_Face     face,
-+                     FT_ULong    flags )
-+  {
-+    FT_Face_Internal  internal;
-+
-+    if ( !face )
-+      return;
-+
-+    internal = face->internal;
-+
-+    internal->hint_flags = (FT_UInt)flags;
-+  }
-+
-   static FT_Renderer
-   ft_lookup_glyph_renderer( FT_GlyphSlot  slot );
---- freetype-2.1.2/src/psaux/t1decode.c.slighthint     Wed May 22 00:53:25 2002
-+++ freetype-2.1.2/src/psaux/t1decode.c        Wed Jul  3 17:35:04 2002
-@@ -752,7 +752,8 @@
-             /* apply hints to the loaded glyph outline now */
-             hinter->apply( hinter->hints,
-                            builder->current,
--                           (PSH_Globals)builder->hints_globals );
-+                           (PSH_Globals)builder->hints_globals,
-+                         decoder->hint_flags );
-           }
-           /* add current outline to the glyph slot */
-@@ -1147,10 +1148,13 @@
-     decoder->num_glyphs     = face->num_glyphs;
-     decoder->glyph_names    = glyph_names;
-     decoder->blend          = blend;
-+    decoder->hint_flags     = face->internal->hint_flags;
-     decoder->parse_callback = parse_callback;
-     decoder->funcs          = t1_decoder_funcs;
-+    
-+
-     return 0;
-   }
---- freetype-2.1.2/src/pshinter/pshalgo1.c.slighthint  Fri Apr 12 05:31:46 2002
-+++ freetype-2.1.2/src/pshinter/pshalgo1.c     Wed Jul  3 16:40:03 2002
-@@ -744,7 +744,8 @@
-   FT_Error
-   ps1_hints_apply( PS_Hints     ps_hints,
-                    FT_Outline*  outline,
--                   PSH_Globals  globals )
-+                   PSH_Globals  globals,
-+                 FT_ULong     hint_flags )
-   {
-     PSH1_Hint_TableRec  hints;
-     FT_Error            error = 0;
---- freetype-2.1.2/src/pshinter/pshalgo1.h.slighthint  Tue Dec  4 20:22:05 2001
-+++ freetype-2.1.2/src/pshinter/pshalgo1.h     Wed Jul  3 16:40:03 2002
-@@ -88,7 +88,8 @@
-   extern FT_Error
-   ps1_hints_apply( PS_Hints     ps_hints,
-                    FT_Outline*  outline,
--                   PSH_Globals  globals );
-+                   PSH_Globals  globals,
-+                 FT_ULong     hint_flags );
- #ifdef DEBUG_HINTER
---- freetype-2.1.2/src/pshinter/pshalgo2.c.slighthint  Wed Jul  3 16:40:03 2002
-+++ freetype-2.1.2/src/pshinter/pshalgo2.c     Wed Jul  3 18:08:53 2002
-@@ -352,10 +352,29 @@
- #endif
-+static FT_Fixed
-+  psh2_hint_snap_stem_side_delta ( FT_Fixed pos,
-+                                 FT_Fixed len )
-+  {
-+    FT_Fixed delta1 = ( ( pos + 32 ) & -64 ) - pos;
-+    FT_Fixed delta2 = ( ( pos + len + 32 ) & -64  ) - pos - len;
-+            
-+    if ( ABS( delta1 ) <= ABS( delta2 ) )
-+    {
-+      return delta1;
-+    }
-+    else
-+    {
-+      return delta2;
-+    }
-+  }
-+
-+
-   static void
-   psh2_hint_align( PSH2_Hint    hint,
-                    PSH_Globals  globals,
--                   FT_Int       dimension )
-+                   FT_Int       dimension,
-+                 FT_ULong     hint_flags )
-   {
-     PSH_Dimension  dim   = &globals->dimension[dimension];
-     FT_Fixed       scale = dim->scale_mult;
-@@ -372,16 +391,33 @@
-       PSH_AlignmentRec  align;
-+      if ( ( dimension == 0 && ( hint_flags & FT_HINT_NO_VSTEM_ALIGN ) != 0 ) ||
-+         ( dimension == 1 && ( hint_flags & FT_HINT_NO_HSTEM_ALIGN ) != 0 ) )
-+      {
-+      hint->cur_pos = pos;
-+      hint->cur_len = len;
-+
-+      psh2_hint_set_fitted( hint );
--      /* compute fitted width/height */
--      fit_len = 0;
--      if ( hint->org_len )
--      {
--        fit_len = psh_dimension_snap_width( dim, hint->org_len );
--        if ( fit_len < 64 )
--          fit_len = 64;
--        else
--          fit_len = ( fit_len + 32 ) & -64;
-+      return;
-+      }
-+    
-+      if ( ( hint_flags & FT_HINT_NO_INTEGER_STEM ) == 0 )
-+      {
-+      /* compute fitted width/height */
-+      fit_len = 0;
-+      if ( hint->org_len )
-+      {
-+        fit_len = psh_dimension_snap_width( dim, hint->org_len );
-+        if ( fit_len < 64 )
-+          fit_len = 64;
-+        else
-+            fit_len = ( fit_len + 32 ) & -64;
-+      }
-+      }
-+      else
-+      {
-+      fit_len = len;
-       }
-       hint->cur_len = fit_len;
-@@ -427,7 +463,7 @@
-             /* ensure that parent is already fitted */
-             if ( !psh2_hint_is_fitted( parent ) )
--              psh2_hint_align( parent, globals, dimension );
-+              psh2_hint_align( parent, globals, dimension, hint_flags );
-             par_org_center = parent->org_pos + ( parent->org_len / 2);
-             par_cur_center = parent->cur_pos + ( parent->cur_len / 2);
-@@ -443,22 +479,105 @@
-             pos = par_cur_center + cur_delta - ( len >> 1 );
-           }
--          /* normal processing */
--          if ( ( fit_len / 64 ) & 1 )
--          {
--            /* odd number of pixels */
--            fit_center = ( ( pos + ( len >> 1 ) ) & -64 ) + 32;
--          }
--          else
--          {
--            /* even number of pixels */
--            fit_center = ( pos + ( len >> 1 ) + 32 ) & -64;
--          }
--
--          hint->cur_pos = fit_center - ( fit_len >> 1 );
--        }
-+        if ( ( hint_flags & FT_HINT_NO_INTEGER_STEM ) == 0 )
-+        {
-+          /* normal processing */
-+          if ( ( fit_len / 64 ) & 1 )
-+            {
-+            /* odd number of pixels */
-+            fit_center = ( ( pos + ( len >> 1 ) ) & -64 ) + 32;
-+            }
-+          else
-+          {
-+            /* even number of pixels */
-+              fit_center = ( pos + ( len >> 1 ) + 32 ) & -64;
-+          }
-+
-+          hint->cur_pos = fit_center - ( fit_len >> 1 );
-+        }
-+        else
-+        {
-+          /* Stems less than one pixel wide are easy - we want to
-+           * make them as dark as possible, so they must fall within
-+           * one pixel. If the stem is split between two pixels
-+           * then snap the edge that is nearer to the pixel boundary
-+           * to the pixel boundary
-+           */
-+          if (len <= 64)
-+          {
-+            if ( ( pos + len + 63 ) / 64  != pos / 64 + 1 )
-+              pos += psh2_hint_snap_stem_side_delta ( pos, len );
-+          }
-+          /* Position stems other to minimize the amount of mid-grays.
-+           * There are, in general, two positions that do this,
-+           * illustrated as A) and B) below.
-+           *
-+           *   +                   +                   +                   +
-+           *
-+           * A)             |--------------------------------|
-+           * B)   |--------------------------------|
-+           * C)       |--------------------------------|
-+           *
-+           * Position A) (split the excess stem equally) should be better
-+           * for stems of width N + f where f < 0.5
-+           *
-+           * Position B) (split the deficiency equally) should be better
-+           * for stems of width N + f where f > 0.5
-+           *
-+           * It turns out though that minimizing the total number of lit
-+           * pixels is also important, so position C), with one edge
-+           * aligned with a pixel boundary is actually preferable
-+           * to A). There are also more possibile positions for C) than
-+           * for A) or B), so it involves less distortion of the overall
-+           * character shape.
-+           */
-+          else
-+          {
-+            FT_Fixed frac_len = len & 63;
-+            FT_Fixed center = pos + ( len >> 1 );
-+
-+            FT_Fixed delta_a, delta_b;
-+
-+            if ( ( len / 64 ) & 1 )
-+            {
-+              delta_a = ( center & -64 ) + 32 - center;
-+              delta_b = ( ( center + 32 ) & - 64 ) - center;
-+            }
-+            else
-+            {
-+              delta_a = ( ( center + 32 ) & - 64 ) - center;
-+              delta_b = ( center & -64 ) + 32 - center;
-+            }
-+
-+            /* We choose between B) and C) above based on the amount
-+             * of fractinal stem width; for small amounts, choose
-+             * C) always, for large amounts, B) always, and inbetween,
-+             * pick whichever one involves less stem movement.
-+             */
-+            if (frac_len < 32)
-+            {
-+              pos += psh2_hint_snap_stem_side_delta ( pos, len );
-+            }
-+            else if (frac_len < 48)
-+            {
-+              FT_Fixed side_delta = psh2_hint_snap_stem_side_delta ( pos, len );
-+                
-+              if ( ABS( side_delta ) < ABS( delta_b ) )
-+                pos += side_delta;
-+              else
-+                pos += delta_b;
-+            }
-+            else
-+            {
-+              pos += delta_b;
-+            }
-+          }
-+
-+          hint->cur_pos = pos;
-+        }
-+      }
-       }
--
-+      
-       psh2_hint_set_fitted( hint );
- #ifdef DEBUG_HINTER
-@@ -472,7 +591,8 @@
-   static void
-   psh2_hint_table_align_hints( PSH2_Hint_Table  table,
-                                PSH_Globals      globals,
--                               FT_Int           dimension )
-+                               FT_Int           dimension,
-+                             FT_ULong         hint_flags )
-   {
-     PSH2_Hint      hint;
-     FT_UInt        count;
-@@ -500,7 +620,7 @@
-     count = table->max_hints;
-     for ( ; count > 0; count--, hint++ )
--      psh2_hint_align( hint, globals, dimension );
-+      psh2_hint_align( hint, globals, dimension, hint_flags );
-   }
-@@ -1494,7 +1614,8 @@
-   FT_Error
-   ps2_hints_apply( PS_Hints     ps_hints,
-                    FT_Outline*  outline,
--                   PSH_Globals  globals )
-+                   PSH_Globals  globals,
-+                 FT_ULong     hint_flags )
-   {
-     PSH2_GlyphRec  glyphrec;
-     PSH2_Glyph     glyph = &glyphrec;
-@@ -1532,7 +1653,8 @@
-       /* compute aligned stem/hints positions */
-       psh2_hint_table_align_hints( &glyph->hint_tables[dimension],
-                                    glyph->globals,
--                                   dimension );
-+                                   dimension,
-+                                 hint_flags );
-       /* find strong points, align them, then interpolate others */
-       psh2_glyph_find_strong_points( glyph, dimension );
---- freetype-2.1.2/src/pshinter/pshalgo2.h.slighthint  Tue Dec  4 20:22:05 2001
-+++ freetype-2.1.2/src/pshinter/pshalgo2.h     Wed Jul  3 16:40:03 2002
-@@ -190,7 +190,8 @@
-   extern FT_Error
-   ps2_hints_apply( PS_Hints     ps_hints,
-                    FT_Outline*  outline,
--                   PSH_Globals  globals );
-+                   PSH_Globals  globals,
-+                 FT_ULong     hint_flags );
- FT_END_HEADER
---- freetype-2.1.2/include/freetype/internal/ftobjs.h.slighthint       Mon Jun 10 19:03:35 2002
-+++ freetype-2.1.2/include/freetype/internal/ftobjs.h  Wed Jul  3 16:40:03 2002
-@@ -302,6 +302,8 @@
-     FT_Vector    transform_delta;
-     FT_Int       transform_flags;
-+    FT_UInt      hint_flags;
-+
-     const char*  postscript_name;
-   } FT_Face_InternalRec;
---- freetype-2.1.2/include/freetype/internal/pshints.h.slighthint      Sat Mar 30 08:16:33 2002
-+++ freetype-2.1.2/include/freetype/internal/pshints.h Wed Jul  3 16:40:03 2002
-@@ -280,7 +280,8 @@
-   typedef FT_Error
-   (*T1_Hints_ApplyFunc)( T1_Hints     hints,
-                          FT_Outline*  outline,
--                         PSH_Globals  globals );
-+                         PSH_Globals  globals,
-+                       FT_ULong     hint_flags );
-   /*************************************************************************/
---- freetype-2.1.2/include/freetype/internal/psaux.h.slighthint        Fri Mar 29 18:23:28 2002
-+++ freetype-2.1.2/include/freetype/internal/psaux.h   Wed Jul  3 16:40:03 2002
-@@ -644,6 +644,7 @@
-     FT_Vector            flex_vectors[7];
-     PS_Blend             blend;       /* for multiple master support */
-+    FT_ULong             hint_flags;
-     T1_Decoder_Callback  parse_callback;
-     T1_Decoder_FuncsRec  funcs;
---- freetype-2.1.2/include/freetype/freetype.h.slighthint      Sun Jun 23 06:57:31 2002
-+++ freetype-2.1.2/include/freetype/freetype.h Wed Jul  3 16:40:03 2002
-@@ -121,6 +121,12 @@
-   /*    FT_Set_Char_Size                                                   */
-   /*    FT_Set_Pixel_Sizes                                                 */
-   /*    FT_Set_Transform                                                   */
-+  /*    FT_Set_Hint_Flags                                                  */
-+  /*                                                                       */
-+  /*    FT_HINT_NO_INTEGER_STEM                                            */
-+  /*    FT_HINT_NO_HSTEM_ALIGN                                             */
-+  /*    FT_HINT_NO_VSTEM_ALIGN                                             */
-+  /*                                                                       */
-   /*    FT_Load_Glyph                                                      */
-   /*    FT_Get_Char_Index                                                  */
-   /*    FT_Get_Name_Index                                                  */
-@@ -2181,9 +2187,67 @@
-                     FT_Matrix*  matrix,
-                     FT_Vector*  delta );
-+  
-+  /*************************************************************************/
-+  /*                                                                       */
-+  /* <Function>                                                            */
-+  /*    FT_Set_Hint_Flags                                                  */
-+  /*                                                                       */
-+  /* <Description>                                                         */
-+  /*    A function used to set a number of flags that are used to control  */
-+  /*    the hinting process when glyphs are loaded.                        */
-+  /*                                                                       */
-+  /* <InOut>                                                               */
-+  /*    face   :: A handle to the source face object.                      */
-+  /*                                                                       */
-+  /* <Input>                                                               */
-+  /*    flags  :: A set of bit flags that control the hinting process      */
-+  /*              see the FT_HINT_XXX constants for details.               */
-+  /*                                                                       */
-+  /* <Note>                                                                */
-+  /*    The interpretation of the flags depends on the hinter module in    */
-+  /*    use. Not all modules will support all flags                        */
-+  /*                                                                       */
-+  FT_EXPORT( void )
-+  FT_Set_Hint_Flags( FT_Face     face,
-+                     FT_ULong    hint_flags );
-+  
-+
-+  /*************************************************************************/
-+  /*                                                                       */
-+  /* <Constant>                                                            */
-+  /*    FT_HINT_NO_INTEGER_STEM                                            */
-+  /*                                                                       */
-+  /* <Description>                                                         */
-+  /*    A bit-field constant, used with FT_Set_Hint_Flags() to to suppress */
-+  /*    snapping of stem widths to integer values                          */
-+  /*                                                                       */
-+#define FT_HINT_NO_INTEGER_STEM 1
-+
-+  /*************************************************************************/
-+  /*                                                                       */
-+  /* <Constant>                                                            */
-+  /*    FT_HINT_NO_HSTEM_ALIGN                                             */
-+  /*                                                                       */
-+  /* <Description>                                                         */
-+  /*    A bit-field constant, used with FT_Set_Hint_Flags() to to suppress */
-+  /*    alignment of horizontal stems with the pixel grid.                 */
-+  /*                                                                       */
-+#define FT_HINT_NO_HSTEM_ALIGN 2
-   /*************************************************************************/
-   /*                                                                       */
-+  /* <Constant>                                                            */
-+  /*    FT_HINT_NO_VSTEM_ALIGN                                             */
-+  /*                                                                       */
-+  /* <Description>                                                         */
-+  /*    A bit-field constant, used with FT_Set_Hint_Flags() to to suppress */
-+  /*    alignment of vertical stems with the pixel grid                    */
-+  /*                                                                       */
-+#define FT_HINT_NO_VSTEM_ALIGN 4
-+  
-+  /*************************************************************************/
-+  /*                                                                       */
-   /* <Enum>                                                                */
-   /*    FT_Render_Mode                                                     */
-   /*                                                                       */
This page took 0.294701 seconds and 4 git commands to generate.