Ignore:
Timestamp:
02/23/08 19:40:07 (5 years ago)
Author:
erik
Message:

Reimplements the maximum items for the bluesvalues. New copy() method fo the FL flavored psHints object.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/robofab/Lib/robofab/objects/objectsFL.py

    r41 r42  
    115115                self._object = font.naked() 
    116116                self._masterIndex = impliedMasterIndex 
     117         
     118        def copy(self): 
     119                from robofab.objects.objectsRF import PostScriptFontHintValues as _PostScriptFontHintValues 
     120                return _PostScriptFontHintValues(data=self.asDict()) 
    117121                         
    118122        def _getBlueFuzz(self): 
     
    165169                        return self._asPairs(self._object.blue_values[self._masterIndex]) 
    166170        def _setBlueValues(self, values): 
    167                 # FL says max 13 elements for this attribute 
    168171                values = self._flattenPairs(values) 
    169                 self._object.blue_values_num = min(self._attrs['blueValues']['max'], len(values)) 
     172                self._object.blue_values_num = min(self._attributeNames['blueValues']['max']*2, len(values)) 
    170173                for i in range(self._object.blue_values_num): 
    171174                        self._object.blue_values[self._masterIndex][i] = values[i] 
     
    174177                        return self._asPairs(self._object.other_blues[self._masterIndex]) 
    175178        def _setOtherBlues(self, values): 
    176                 # FL says max 9 elements for this attribute 
    177179                values = self._flattenPairs(values) 
    178                 self._object.other_blues_num = min(self._attrs['otherBlues']['max'], len(values)) 
     180                self._object.other_blues_num = min(self._attributeNames['otherBlues']['max']*2, len(values)) 
    179181                for i in range(self._object.other_blues_num): 
    180182                        self._object.other_blues[self._masterIndex][i] = values[i] 
     
    183185                        return self._asPairs(self._object.family_blues[self._masterIndex]) 
    184186        def _setFamilyBlues(self, values): 
    185                 # FL says max 13 elements for this attribute 
    186187                values = self._flattenPairs(values) 
    187                 self._object.family_blues_num = min(self._attrs['familyBlues']['max'], len(values)) 
     188                self._object.family_blues_num = min(self._attributeNames['familyBlues']['max']*2, len(values)) 
    188189                for i in range(self._object.family_blues_num): 
    189190                        self._object.family_blues[self._masterIndex][i] = values[i] 
     
    192193                        return self._asPairs(self._object.family_other_blues[self._masterIndex]) 
    193194        def _setFamilyOtherBlues(self, values): 
    194                 # FL says max 9 elements for this attribute 
    195195                values = self._flattenPairs(values) 
    196                 self._object.family_other_blues_num = min(self._attrs['familyOtherBlues']['max'], len(values)) 
     196                self._object.family_other_blues_num = min(self._attributeNames['familyOtherBlues']['max']*2, len(values)) 
    197197                for i in range(self._object.family_other_blues_num): 
    198198                        self._object.family_other_blues[self._masterIndex][i] = values[i] 
     
    201201                        return list(self._object.stem_snap_v[self._masterIndex]) 
    202202        def _setVStems(self, values): 
    203                 # FL says max 11 elements for this attribute 
    204                 self._object.stem_snap_v_num = min(self._attrs['vStems']['max'], len(values)) 
     203                self._object.stem_snap_v_num = min(self._attributeNames['vStems']['max'], len(values)) 
    205204                for i in range(self._object.stem_snap_v_num): 
    206205                        self._object.stem_snap_v[self._masterIndex][i] = values[i] 
     
    209208                        return list(self._object.stem_snap_h[self._masterIndex]) 
    210209        def _setHStems(self, values): 
    211                 # FL says max 11 elements for this attribute 
    212                 self._object.stem_snap_h_num = min(self._attrs['hStems']['max'], len(values)) 
     210                self._object.stem_snap_h_num = min(self._attributeNames['hStems']['max'], len(values)) 
    213211                for i in range(self._object.stem_snap_h_num): 
    214212                        self._object.stem_snap_h[self._masterIndex][i] = values[i] 
     
    224222        vStems = property(_getVStems, _setVStems, doc="postscript hints: vertical stem values") 
    225223        hStems = property(_getHStems, _setHStems, doc="postscript hints: horizontal stem values") 
     224         
     225                 
    226226 
    227227def getPostScriptHintDataFromLib(aFont, fontLib): 
Note: See TracChangeset for help on using the changeset viewer.