rem: FT_Pos     width )
add: FT_Pos     width, AH_Edge_Flags base_flags, AH_Edge_Flags stem_flags )
context:   ah_compute_stem_width( AH_Hinter  hinter,                         int        vertical,                         FT_Pos     width )  {    AH_Globals  globals = &hinter->globals->scaled;    FT_Pos      dist    = width;    FT_Int      sign    = 0;    if ( dist < 0 )    {      dist = -width;      sign = 1;    }    if ( (  vertical && !hinter->do_vert_snapping ) ||         ( !vertical && !hinter->do_horz_snapping ) )    {      /* smooth hinting process, very lightly quantize the stem width */      /*                                                              */      if ( dist < 64 )        dist = 64;      {        FT_Pos  delta = dist - globals->stds[vertical];        if ( delta < 0 )          delta = -delta;        if ( delta < 40 )        {          dist = globals->stds[vertical];          if ( dist < 48 )            dist = 48;        }        if ( dist < 3 * 64 )        {          delta = ( dist & 63 );          dist &= -64;          if ( delta < 10 )            dist += delta;          else if ( delta < 32 )            dist += 10;          else if ( delta < 54 )            dist += 54;          else            dist += delta;        }        else          dist = ( dist + 32 ) & -64;      }    }    else    {      /* strong hinting process, snap the stem width to integer pixels */      /*                                                               */      if ( vertical )      {        dist = ah_snap_width( globals->heights, globals->num_heights, dist );        /* in the case of vertical hinting, always round */        /* the stem heights to integer pixels            */        if ( dist >= 64 )          dist = ( dist + 16 ) & -64;        else          dist = 64;      }      else      {        dist = ah_snap_width( globals->widths,  globals->num_widths, dist );        if ( hinter->flags & AH_HINTER_MONOCHROME )        {          /* monochrome horizontal hinting: snap widths to integer pixels */          /* with a different threshold                                   */          if ( dist < 64 )            dist = 64;          else            dist = ( dist + 32 ) & -64;        }        else        {          /* for horizontal anti-aliased hinting, we adopt a more subtle */          /* approach: we strengthen small stems, round stems whose size */          /* is between 1 and 2 pixels to an integer, otherwise nothing  */          if ( dist < 48 )            dist = ( dist + 64 ) >> 1;          else if ( dist < 128 )            dist = ( dist + 22 ) & -64;          else            /* XXX: round otherwise, prevent color fringes in LCD mode */            dist = ( dist + 32 ) & -64;        }      }    }    if ( sign )      dist = -dist;    return dist;  }