RKerning¶
Usage¶
# robofab manual
# Kerning object
# usage examples
f = CurrentFont()
print f.kerning
# getting a value from the kerning dictionary
print f.kerning[('V', 'A')]
print f.kerning[('T', 'X')]
print f.kerning.keys()
< RKerning for Mailer-Regular >
-123
None
[('X', 'emdash'),
('K', 'v'),
('two', 'perthousand'),
('guilsinglleft', 'a'),
... etc.]
Description¶
RKerning
is a dictionary of kerning values. RFont
makes a RKerning
object when it is created and makes available as aFont.kerning
attribute. The keys are tuples of the glyphs listed by their names: ('T', 'e')
, ('V', 'A')
etc. None
is returned if the pair does not exist, rather than raising an IndexError
. The parent of a kerning object is usually a Font.
Methods¶
-
add
(value)¶
Add value to all kerning pairs.
-
asDict
()¶
Return the object as a plain dictionary.
-
clear
()¶
Clear all the kerning (why would you want to do that?).
-
combine
(kerningDicts, overwriteExisting=True)¶
Combine two or more kerning dictionaries. Overwrite exsisting duplicate pairs if overwriteExisting=True
.
-
eliminate
(leftGlyphsToEliminate=None, rightGlyphsToEliminate=None, analyzeOnly=False)¶
Eliminate pairs containing a left glyph that is in the leftGlyphsToEliminate
list or a right glyph that is in the rightGlyphsToELiminate
list. sideGlyphsToEliminate can be a string: 'a'
or list: ['a', 'b']
. analyzeOnly
will not remove pairs. it will return a count of all pairs that would be removed.
-
explodeClasses
(leftClassDict=None, rightClassDict=None, analyzeOnly=False)¶
Turn class kerns into real kerning pairs. Classes should be defined in dicts: {'O':['C', 'G', 'Q'], 'H':['B', 'D', 'E', 'F', 'I']}
. analyzeOnly
will not remove pairs. it will return a count of all pairs that would be added.
-
get
(aPair)¶
Get a value. Return None
if the pair does not exist.
-
getAverage
()¶
Return average of all kerning pairs.
-
getExtremes
()¶
Return the lowest and highest kerning values.
-
getLeft
(glyphName)¶
Return a list of kerns with glyphName
as left character.
-
getRight
(glyphName)¶
Return a list of kerns with glyphName
as right character.
-
has_key
(pair)¶
Returns True if it has the pair.
-
implodeClasses
(leftClassDict=None, rightClassDict=None, analyzeOnly=False)¶
Condense the number of kerning pairs by applying classes. This will eliminate all pairs containg the classed glyphs leaving pairs that contain the key glyphs behind. analyzeOnly
will not remove pairs. It will return a count of all pairs that would be removed.
-
importAFM
(path, clearExisting=True)¶
Import kerning pairs from an AFM file. clearExisting=True
will clear all exising kerning.
-
interpolate
(sourceDictOne, sourceDictTwo, value, clearExisting=True)¶
Interpolate the kerning between sourceDictOne
and sourceDictTwo
. clearExisting
will clear existing kerning first.
-
items
()¶
Return a list of (pair, value)
tuples.
-
keys
()¶
Returns a lust of available pairs.
-
minimize
(minimum=10)¶
Eliminate pairs with value less than minimum.
-
occurrenceCount
(glyphsToCount)¶
Return a dict with glyphs as keys and the number of occurances of that glyph in the kerning pairs as the value glyphsToCount
can be a string: 'a'
or list: ['a', 'b']
-
remove
(pair)¶
Remove a kerning pair.
-
round
(multiple=10)¶
Round the kerning pair values to increments of multiple.
-
scale
(value)¶
Scale all kernng pairs by value.
-
swapNames
(swapTable)¶
Change glyph names in all kerning pairs based on swapTable
:
swapTable = {'BeforeName':'AfterName', }
-
update
(kerningDict)¶
Replace kerning data with the data in the given kerningDict
.
-
values
()¶
Return a list of kerning values.