Changeset 119

Show
Ignore:
Timestamp:
12/19/07 10:28:05 (1 year ago)
Author:
tal
Message:
The cleanup method now converts to ints when possible. This eliminates unnecessary floats from being stored.
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • packages/fontMath/trunk/Lib/fontMath/mathKerning.py

    r118 r119  
    358358        >>> obj = MathKerning(kerning, groups) / 2 
    359359        >>> sorted(obj.items()) 
    360         [(('@C', '@C'), 4), (('B', 'B'), 2), (('C2', '@C'), 0)] 
     360        [(('@C', '@C'), 2), (('B', 'B'), 2), (('C2', '@C'), 0)] 
    361361        """ 
    362362        k = self._processMathTwo(value, div) 
     
    378378        >>> obj = 2 / MathKerning(kerning, groups) 
    379379        >>> sorted(obj.items()) 
    380         [(('@C', '@C'), 4), (('B', 'B'), 2), (('C2', '@C'), 0)] 
     380        [(('@C', '@C'), 2), (('B', 'B'), 2), (('C2', '@C'), 0)] 
    381381        """ 
    382382        k = self._processMathTwo(value, div) 
     
    408408        ...     ("C", "@C") : 0, 
    409409        ...     ("@C", "@C") : 1, 
     410        ...     ("D", "D") : 1.0, 
     411        ...     ("E", "E") : 1.2, 
    410412        ... } 
    411413        >>> groups = { 
     
    415417        >>> obj.cleanup() 
    416418        >>> sorted(obj.items()) 
    417         [(('@C', '@C'), 1), (('B', 'B'), 1), (('C', '@C'), 0)
     419        [(('@C', '@C'), 1), (('B', 'B'), 1), (('C', '@C'), 0), (('D', 'D'), 1), (('E', 'E'), 1.2)
    418420        """ 
    419421        for (left, right), v in self._kerning.items(): 
     422            if int(v) == v: 
     423                v = int(v) 
     424                self._kerning[left, right] = v 
    420425            if v == 0: 
    421426                leftType, rightType = self.guessPairType((left, right))