GSFont Class Reference
Inherits from | NSObject |
Conforms to | GSContainerProtocol GSUserDataProtocol NSCoding NSCopying |
Declared in | GSFont.h |
Overview
This class defines the font object.
Font info properties, that have a user interface, have proper accessors, eveything else is stored in the custom parameters
Tasks
Other Methods
– propertyListValueFormat:
unitsPerEm
versionMajor
versionMinor
date
tempData
– setTempData:forKey:
– tempDataForKey:
disablesNiceNames
disablesAutomaticAlignment
keepAlternatesTogether
Creating and Initializing a GSFont object
Glyphs
glyphs
allGlyphs
– countOfGlyphs
– glyphAtIndex:
– indexOfGlyph:
– resetCache
– glyphForName:
– glyphNamesForWildcard:error:
– glyphNames
– glyphForUnicode:
– glyphForUnicodes:
– newGlyphWithName:changeName:
– saveNameForGlyph:
– saveNameForName:
– glyphForId:
– keepsGlyphs:
– hasGlyphs:
– filterKeepGlyphs:
– filterGlyphs:
– glyphForCharacter:
– characterForGlyph:
– addGlyph:
– addGlyphsFromArray:
– removeGlyph:
– removeGlyphs:
– sortGlyphs
– sortKerning
– sortMetrics
– panose
Masters
fontMasters
– countOfFontMasters
– fontMasterAtIndex:
– fontMasterForId:
– insertFontMaster:atIndex:
– addFontMaster:
– removeFontMaster:
– removeFontMasterAtIndex:
– updateMetrics
Instances
instances
– countOfInstances
– objectInInstancesAtIndex:
– insertObject:inInstancesAtIndex:
– addInstance:
– removeObjectFromInstancesAtIndex:
– generateInstance:error:
Kerning
kerningLTR
kerningVertical
– compressKerningForDirection:
– kerningForFontMasterID:LeftKey:RightKey:direction:
– setKerningForFontMasterID:LeftKey:RightKey:Value:direction:
– removeKerningForFontMasterID:LeftKey:RightKey:direction:
Features
features
– countOfFeatures
– indexOfFeature:
– objectInFeaturesAtIndex:
– insertObject:inFeaturesAtIndex:
– removeObjectFromFeaturesAtIndex:
– addFeature:
– featureForTag:
Classes
classes
– countOfClasses
– classForTag:
– addClass:
– insertObject:inClassesAtIndex:
– removeObjectFromClassesAtIndex:
– removeClass:
– replaceObjectInClassesAtIndex:withObject:
– addClassFromCode:
FeaturePrefixes
featurePrefixes
– addFeaturePrefix:
– countOfFeaturePrefixes
– featurePrefixForTag:
– insertObject:inFeaturePrefixesAtIndex:
– removeFeaturePrefix:
– charStringFromDisplayString:
– disableUpdateInterface
– stopUpdateInterface
– enableUpdateInterface
– isUpdateInterfaceEnabled
gridMain
gridSubDivision
– gridLength
– compileTempFontError:
tempOTFFont
– setProperty:value:languageTag:
parent
allTags
fontName
axes
– countOfAxes
– objectInAxesAtIndex:
– indexOfObjectInAxes:
– addAxis:
– insertObject:inAxesAtIndex:
– removeObjectFromAxes:
– removeObjectFromAxesAtIndex:
properties
– countOfProperties
– objectInPropertiesAtIndex:
– indexOfObjectInProperties:
– addProperty:
– insertObject:inPropertiesAtIndex:
– removeObjectFromProperties:
– removeObjectFromPropertiesAtIndex:
customParameters
customParameters
– countOfCustomParameters
– customValueForKey:
– customParameterForKey:
– setCustomValue:forKey:
– removeObjectFromCustomParametersForKey:
note
UserData
Properties
customParameters
The customParameters. A list of customParameters objects
@property (nonatomic, strong)
NSMutableArray<GSCustomParameter*> *customParameters
disablesAutomaticAlignment
Disables automatic alignment of components
@property (nonatomic) BOOL disablesAutomaticAlignment
disablesNiceNames
disablesNiceNames
@property BOOL disablesNiceNames
Discussion
This is to prevent the automatic glyph name substitution. Set it to YES before you do big changes. Make sure to disable it after you are finished.
featurePrefixes
An array of GSClass objects that contain additional lookups
@property (nonatomic, strong) NSMutableArray
*featurePrefixes
fontMasters
An array of GSFontMaster objects
@property (strong, nonatomic) NSArray<GSFontMaster*>
*fontMasters
gridMain
The size of the grid.
@property (nonatomic, assign) NSUInteger gridMain
Discussion
If it is 0
, all values are stored as floats.
1
and above will ALWAYS round the coordinates.
See Also
gridSubDivision
The subdivision of the grid.
@property (nonatomic, assign) NSUInteger
gridSubDivision
Discussion
Divides the grid.
See Also
instances
An array of GSInstance objects. This define export settings for interpolation and naming.
@property (strong, nonatomic) NSArray<GSInstance*>
*instances
keepAlternatesTogether
Keeps alternated glyphs next to the base glyph
@property (nonatomic) BOOL keepAlternatesTogether
kerningLTR
the Kerning of the Font
@property (strong, nonatomic) MGOrderedDictionary
*kerningLTR
Discussion
1) A Dict for each FontMaster (FontMaster id as key) 2) The Dict contains an entry for each glyph (the glyphID or GroupName (@MMK_L_XXX) is used as key) 3) These entries hold the values: glyphID or GroupName (@MMK_R_XXX) as key, kerning as value.
kerningVertical
the vertical Kerning of the Font
@property (strong, nonatomic) MGOrderedDictionary
*kerningVertical
Discussion
1) A Dict for each FontMaster (FontMaster id as key) 2) The Dict contains an entry for each glyph (the glyphID or GroupName (@MMK_L_XXX) is used as key) 3) These entries hold the values: glyphID or GroupName (@MMK_R_XXX) as key, kerning as value.
parent
The receiver’s implementation of undoManager
returns the parent’s undo manager. It is only used for font info
and for adding/removing glyphs.
Each glyph has its own undo manager (see [GSGlyph
undoManager]
).
@property (nullable, nonatomic, weak) GSDocument
*parent
Discussion
Note: The receiver’s implementation of
undoManager
returns the parent’s undo manager. It
is only used for font info and for adding/removing glyphs. Each glyph has its own undo
manager (see [GSGlyph
undoManager]
).
properties
The properties.
@property (nonatomic, strong)
NSMutableArray<GSFontInfoProperty*> *properties
tempData
a dictionary that stores data. It will not be written to disk.
@property (nonatomic, strong, nullable) NSDictionary
*tempData
tempOTFFont
The path to the temp font
@property (nonatomic, strong, nullable) NSString
*tempOTFFont
Discussion
This font contains no outlines and no kerning but the full GSUB table. It is used for the feature preview in edit view.
userData
Place to store data.
@property (strong, nonatomic, nullable) NSDictionary
*userData
Discussion
Here it is possible to store something. Please use a unique key. The objects should be able to serialize to a plist. If they are not, they should return all infos to store in description (as String).
Instance Methods
addClassFromCode:
Convient method to add a class with the Text
- (void)addClassFromCode:(NSString *)text
Parameters
- text
-
the class in FDK syntax, e.g. “@myClass = [A B];”
addFeaturePrefix:
Adds the Prefix to the font
- (void)addFeaturePrefix:(GSClass *)thePrefix
Parameters
- thePrefix
-
the prefix
addFontMaster:
Adds the fontMaster to the font
- (void)addFontMaster:(GSFontMaster
*)fontMaster
Parameters
- fontMaster
-
The master to add.
addGlyph:
Adds the Glyph object to the font.
- (void)addGlyph:(GSGlyph *)glyph
Parameters
- glyph
-
A GSGlyph object.
addGlyphsFromArray:
Adds the Glyphs object to the font.
- (void)addGlyphsFromArray:(NSArray<GSGlyph*>
*)glyphs
Parameters
- glyphs
-
A NSArray of GSGlyph objects.
addInstance:
Adds the Instance to the font
- (void)addInstance:(GSInstance *)instance
Parameters
- instance
-
The Instance to add to the font.
addProperty:
Adds the property
- (void)addProperty:(GSFontInfoProperty
*)property
Parameters
- property
-
the object to be added
charStringFromDisplayString:
Converts a string that contains slash seperated glyph names in a regular unicode string
- (NSString *)charStringFromDisplayString:(NSString
*)string
Parameters
- string
-
A String containing slash seperated glyph names
Return Value
A UTF-16 string. For it will assigne a cached PUA codes for unencoded glyphs
characterForGlyph:
Returns a UTF32Char for the glyph.
- (UTF32Char)characterForGlyph:(GSGlyph
*)glyph
Parameters
- glyph
-
a GSGlyph object
Return Value
a UTF32Char
Discussion
It uses the unicode to find the char value. For unencoded glyphs it returns a cached PUA value.
See Also
classForTag:
Returns the class with the name.
- (nullable GSClass *)classForTag:(NSString
*)tag
Parameters
- tag
-
The class name.
compileTempFontError:
Recalculates the temp font.
- (BOOL)compileTempFontError:(out NSError
**)error
Parameters
- error
-
if there is a problem, it returns an NSError object (by reference) that contains details.
Return Value
YES if successfull, NO, if not.
Discussion
Call it, if you changed something like the glyph set or the features and need to make sure the temp font is up to date. This is usually done automatically.
See Also
compressKerningForDirection:
Compresses the kerning
-
(void)compressKerningForDirection:(GSWritingDirection)direction
Discussion
if a GSGlyph has a Kerning Group and Direct Kerning, the Kerning is changed to Class Kerning.
countOfFeatures
The count of the features
- (NSUInteger)countOfFeatures
Return Value
The number of features in the Font.
countOfFontMasters
The count of masters in the font.
- (NSInteger)countOfFontMasters
Return Value
The number of layers currently in the font.
countOfInstances
The count of the Instances
- (NSUInteger)countOfInstances
Return Value
The number of Instances currently in the Font.
customParameterForKey:
The customParameters where name == Key
- (GSCustomParameter *)customParameterForKey:(NSString
*)key
customValueForKey:
The value of the customParameters where name == Key
- (id)customValueForKey:(NSString *)key
disableUpdateInterface
Delayes redrawing and updates.
- (void)disableUpdateInterface
Discussion
Will record the changes and update once in enableUpdateInterface
.
If you don’t need updates, use stopUpdateInterface
Warning: Always call enableUpdateInterface afterwards
See Also
enableUpdateInterface
Reanables redrawing and updates.
- (void)enableUpdateInterface
Discussion
This only has an effect if disableUpdateInterface was called before
featureForTag:
Returns the feature with the name or tag.
- (nullable GSFeature *)featureForTag:(NSString
*)tag
Parameters
- tag
-
The feature tag (like “smcp”)
featurePrefixForTag:
Returns the Prefix with the name.
- (nullable GSClass *)featurePrefixForTag:(NSString
*)tag
Parameters
- tag
-
The prefix name.
filterGlyphs:
Returns all glyph names that are present and set to export
- (NSArray *_Nullable)filterGlyphs:(NSArray<NSString*>
*)glyphNames
Parameters
- glyphNames
-
A array of glyph names
Return Value
A list of all glyphs that are in the font
filterKeepGlyphs:
Returns all glyph names that are present and set to export
- (NSArray
*_Nullable)filterKeepGlyphs:(NSArray<NSString*>
*)glyphNames
Parameters
- glyphNames
-
A array of glyph names
Return Value
A list of exporting glyphs
See Also
fontMasterAtIndex:
The master located at index
- (nullable GSFontMaster
*)fontMasterAtIndex:(NSInteger)index
Parameters
- index
-
An index
Return Value
A GSFontMaster instance or nil if index is out of bounds
fontMasterForId:
Returns the fontmaster with this id
- (nullable GSFontMaster *)fontMasterForId:(nullable NSString
*)id
Parameters
- id
-
The ID of the font master. This is supposed to be a Unique id
Return Value
A GSFontMaster instance.
generateInstance:error:
Generates an instance
- (nullable GSFont *)generateInstance:(GSInstance
*)instance error:(out NSError **)error
Parameters
- instance
-
The Instance to use for interpolation.
- error
-
if there is a problem, it returns an NSError object (by reference) that contains details.
Return Value
The interpolated font, or nil if something went wrong.
Discussion
It returns a new GSFont object with one master interpolated all glyphs/layers according to the settings in Instance.
glyphAtIndex:
The glyph object located at index.
- (nullable GSGlyph
*)glyphAtIndex:(NSInteger)index
Parameters
- index
-
An index within the bounds of the the glyphs array.
Return Value
a GSGlyph object.
Discussion
Checks for valid index and returns nil if index is to high.
glyphForCharacter:
Returns the glyph with the chars unicode.
- (nullable GSGlyph
*)glyphForCharacter:(UTF32Char)aChar
Parameters
- aChar
-
A (unicode) char.
Return Value
a GSGlyph object
See Also
glyphForId:
Returns the GSGlyph with this ID.
- (GSGlyph *)glyphForId:(NSString *)ID
Parameters
- ID
-
the ID of the glyph.
Return Value
a GSGlyph object.
Discussion
Warning: This is a bit slow.
glyphForName:
Returns the GSGlyph with this name.
- (nullable GSGlyph *)glyphForName:(NSString
*)name
Parameters
- name
-
the name of the glyph.
Return Value
a GSGlyph object.
Discussion
Warning: This is a bit slow.
glyphForUnicode:
Returns the GSGlyph with this this Unicode.
- (nullable GSGlyph *)glyphForUnicode:(NSString
*)unicode
Parameters
- unicode
-
the unicode as a hex string (‘004C’)
Return Value
a GSGlyph object or nil if not found.
See Also
-
- resetCache If you changed some @property glyphs and this method returns wrong results, call - resetCache
glyphForUnicodes:
Returns the GSGlyph with this this Unicode.
- (nullable GSGlyph *)glyphForUnicodes:(NSOrderedSet
*)unicodes
Parameters
- unicodes
-
a list of unicodes as hex strings (‘004C’)
Return Value
a GSGlyph object or nil if not found.
See Also
-
- resetCache If you changed some @property glyphs and this method returns wrong results, call - resetCache
glyphNamesForWildcard:error:
A list of glyph names matching query
- (nullable NSArray *)glyphNamesForWildcard:(NSString
*)query error:(NSError *__autoreleasing
*)error
Parameters
- query
-
This can be a name containing wildcards (“a.*”) or a query (“script=arabic”)
- error
-
if something goes wrong, it contains an error on return
Return Value
a list of glyph names or nil
gridLength
The effective grid width.
- (CGFloat)gridLength
Return Value
The effective size of the grid
Discussion
Calculated by Grid / Subdivision
hasGlyphs:
Returns a Boolean value if the font contains the glyphs
- (BOOL)hasGlyphs:(NSArray<NSString*>
*)glyphNames
Parameters
- glyphNames
-
A array of glyph names
Return Value
YES if all glyphs are in the font.
indexOfFeature:
Returns the index of feature in features
- (NSUInteger)indexOfFeature:(GSFeature
*)feature
Parameters
- feature
-
the object
Return Value
the index of the object
indexOfGlyph:
Returns the index of the glyph.
- (NSInteger)indexOfGlyph:(GSGlyph *)glyph
Parameters
- glyph
-
The Glyph you are looking for
Return Value
The Index of the glyph or NSNotFound if not found
indexOfObjectInAxes:
Returns the index of axis in axes
- (NSUInteger)indexOfObjectInAxes:(GSAxis
*)axis
Parameters
- axis
-
the object
Return Value
the index of the object
indexOfObjectInProperties:
Returns the index of property in properties
- (NSUInteger)indexOfObjectInProperties:(GSFontInfoProperty
*)property
Parameters
- property
-
the object
Return Value
the index of the object
initWithDict:error:
initializes a font with a dictionary loaded from a pList.
- (instancetype)initWithDict:(NSDictionary
*)fontDict error:(out NSError **)error
Parameters
- fontDict
-
A dictionary
initWithURL:error:
Initializes a font with the contents of the location specified by a given URL.
- (instancetype)initWithURL:(NSURL *)fileURL
error:(NSError **)outError
Parameters
- fileURL
-
the location of the file
- outError
-
If there is a error it contains an NSError object
Return Value
the GSFont object or nil
insertFontMaster:atIndex:
Inserts the FontMaster at Index
- (void)insertFontMaster:(GSFontMaster *)fontMaster
atIndex:(NSUInteger)index
Parameters
- fontMaster
-
The master to add to the font
- index
-
The index to insert FontMaster.
insertObject:inAxesAtIndex:
Inserts the axis at index into axes
- (void)insertObject:(GSAxis *)axis
inAxesAtIndex:(NSUInteger)idx
Parameters
- axis
-
The object to insert
- idx
-
The index
insertObject:inClassesAtIndex:
Insert the Class at theIndex in the font
- (void)insertObject:(GSClass *)aClass
inClassesAtIndex:(NSUInteger)index
Parameters
- aClass
-
the class
- index
-
the index
insertObject:inFeaturePrefixesAtIndex:
Insert the Prefix at theIndex in the font
- (void)insertObject:(id)thePrefix
inFeaturePrefixesAtIndex:(NSUInteger)index
Parameters
- thePrefix
-
the prefix
- index
-
the index
insertObject:inFeaturesAtIndex:
Inserts the Feature at theIndex
- (void)insertObject:(GSFeature *)feature
inFeaturesAtIndex:(NSUInteger)idx
insertObject:inInstancesAtIndex:
Inserts the instance at Index
- (void)insertObject:(GSInstance *)instance
inInstancesAtIndex:(NSUInteger)index
Parameters
- instance
-
The instance to insert.
- index
-
The index at what to insert the instance.
insertObject:inPropertiesAtIndex:
Inserts the property at index into properties
- (void)insertObject:(GSFontInfoProperty *)property
inPropertiesAtIndex:(NSUInteger)idx
Parameters
- property
-
The object to insert
- idx
-
The index
isUpdateInterfaceEnabled
Check if the updating is enabled
- (BOOL)isUpdateInterfaceEnabled
Return Value
NO if disableUpdateInterface was called
keepsGlyphs:
Tests if all the glyphs are present and set to export
- (BOOL)keepsGlyphs:(NSArray<NSString*>
*)glyphNames
Parameters
- glyphNames
-
A array of glyph names
Return Value
YES if all glyphs will end up in a exported font.
kerningForFontMasterID:LeftKey:RightKey:direction:
Returns a kerning value
- (CGFloat)kerningForFontMasterID:(id)fontMasterID
LeftKey:(id)leftKey RightKey:(id)rightKey
direction:(GSWritingDirection)direction
Parameters
- fontMasterID
-
The Master id
- leftKey
-
either a glyph id or a glyph group (@MM_L_XXX)
- rightKey
-
either a glyph id or a glyph group (@MM_R_XXX)
Return Value
the kerning value
newGlyphWithName:changeName:
Adds a new glyph with this glyphName to the font
- (GSGlyph *)newGlyphWithName:(NSString *)glyphName
changeName:(BOOL)changeName
Parameters
- glyphName
-
The new glyph name
- changeName
-
If changeName is yes, the glyphName will be converted to nice-name, otherwise not.
Return Value
The new glyph.
objectInAxesAtIndex:
Returns object at idx in axes
- (GSAxis
*)objectInAxesAtIndex:(NSUInteger)idx
Parameters
- idx
-
The index
Return Value
the object at index
objectInFeaturesAtIndex:
The feature at index
- (nullable GSFeature
*)objectInFeaturesAtIndex:(NSUInteger)idx
Parameters
- idx
-
The index of the feature
Return Value
The feature located at theIndex.
objectInInstancesAtIndex:
The Instance at index
- (nullable GSInstance
*)objectInInstancesAtIndex:(NSUInteger)index
Parameters
- index
-
The index of the instance.
Return Value
The Instance located at index.
objectInPropertiesAtIndex:
Returns object at idx in properties
- (GSFontInfoProperty
*)objectInPropertiesAtIndex:(NSUInteger)idx
Parameters
- idx
-
The index
Return Value
the object at index
propertyListValueFormat:
Returns the content of the object to store it in pList.
- (NSDictionary
*)propertyListValueFormat:(GSFormatVersion)format
Parameters
- format
-
the version of the dict
Discussion
This is used to store the data in the .glyphs file.
removeClass:
Removes the class from the font
- (void)removeClass:(GSClass *)aClass
Parameters
- aClass
-
the class
removeFeaturePrefix:
Remove the Prefix at theIndex from the font
- (void)removeFeaturePrefix:(GSClass
*)thePrefix
Parameters
- thePrefix
-
the prefix
removeFontMaster:
Removes the fontMaster from the font
- (void)removeFontMaster:(GSFontMaster
*)fontMaster
Parameters
- fontMaster
-
The master to remove.
removeFontMasterAtIndex:
Removes the fontmaster with this id
-
(void)removeFontMasterAtIndex:(NSInteger)index
Parameters
- index
-
The index of the FontMaster to remove.
removeGlyph:
Removes the Glyph from the font
- (void)removeGlyph:(GSGlyph *)glyph
Parameters
- glyph
-
A GSGlyph to remove from the font.
removeGlyphs:
Removes the Glyphs from the font
- (void)removeGlyphs:(NSArray<GSGlyph*>
*)glyphs
Parameters
- glyphs
-
A NSArray of GSGlyph to remove from the font.
removeKerningForFontMasterID:LeftKey:RightKey:direction:
removes a kerning value
- (void)removeKerningForFontMasterID:(NSString
*)fontMasterID LeftKey:(NSString *)leftKey
RightKey:(NSString *)rightKey
direction:(GSWritingDirection)direction
Parameters
- fontMasterID
-
The Master id
- leftKey
-
either a glyph id or a glyph group (@MM_L_XXX)
- rightKey
-
either a glyph id or a glyph group (@MM_R_XXX)
removeObjectFromAxes:
Removes the axis
- (void)removeObjectFromAxes:(GSAxis *)axis
Parameters
- axis
-
the object to be removed
removeObjectFromAxesAtIndex:
Removes the axis at idx
-
(void)removeObjectFromAxesAtIndex:(NSUInteger)idx
Parameters
- idx
-
The index
removeObjectFromClassesAtIndex:
Remove the class at theIndex from the font
-
(void)removeObjectFromClassesAtIndex:(NSUInteger)index
Parameters
- index
-
the index
removeObjectFromCustomParametersForKey:
Removes the first paramter with then Name
- (void)removeObjectFromCustomParametersForKey:(NSString
*)key
Parameters
- key
-
The name
removeObjectFromFeaturesAtIndex:
Removes the Feature at theIndex
-
(void)removeObjectFromFeaturesAtIndex:(NSUInteger)idx
removeObjectFromInstancesAtIndex:
Removes the Instance at Index.
-
(void)removeObjectFromInstancesAtIndex:(NSUInteger)index
Parameters
- index
-
The of the Instance to be removed.
removeObjectFromProperties:
Removes the property
- (void)removeObjectFromProperties:(GSFontInfoProperty
*)property
Parameters
- property
-
the object to be removed
removeObjectFromPropertiesAtIndex:
Removes the property at idx
-
(void)removeObjectFromPropertiesAtIndex:(NSUInteger)idx
Parameters
- idx
-
The index
removeUserDataForKey:
Removed the object with this key.
- (void)removeUserDataForKey:(NSString *)key
Parameters
- key
-
The key to remove
replaceObjectInClassesAtIndex:withObject:
Replaces the the class a theIndex with Class
-
(void)replaceObjectInClassesAtIndex:(NSUInteger)index
withObject:(GSClass *)aClass
Parameters
- index
-
the index
- aClass
-
the class
resetCache
If you changed the glyphs array yourself, call that method to reset some chances.
- (void)resetCache
saveNameForGlyph:
Calculates a names that is unique for the font
- (NSString *)saveNameForGlyph:(GSGlyph
*)glyph
Parameters
- glyph
-
The Glyph
Return Value
The glyph name with a .0XX suffix if the name is already in use by another glyph
saveNameForName:
Calculates a names that is unique for the font
- (NSString *)saveNameForName:(NSString
*)glyphName
Parameters
- glyphName
-
The glyph name
Return Value
The glyph name with a .0XX suffix if the name is already in use by another glyph
setCustomValue:forKey:
Set the value for key
- (void)setCustomValue:(id)value forKey:(NSString
*)key
Parameters
- value
-
The value to add
- key
-
The name of the paramter
Discussion
It will look for an existing paramter with the name an overwrite its value, or adds a new parameter
setKerningForFontMasterID:LeftKey:RightKey:Value:direction:
adds a kerning value
- (void)setKerningForFontMasterID:(id)fontMasterID
LeftKey:(id)leftKey RightKey:(id)rightKey
Value:(CGFloat)value
direction:(GSWritingDirection)direction
Parameters
- fontMasterID
-
The Master id
- leftKey
-
either a glyph id or a glyph group (@MM_L_XXX)
- rightKey
-
either a glyph id or a glyph group (@MM_R_XXX)
- value
-
the kerning value
setProperty:value:languageTag:
Adds a new font info value to the array specified by
key
or updates an existing one.
- (void)setProperty:(NSString *)name
value:(id)value languageTag:(nullable NSString
*)languageTag
Parameters
- name
-
The key whose plural form specifies an array property of
GSFontInfoValue
objects on the receiver.
- value
-
The actual value to be added.
- languageTag
-
The language under which the the value should be stored. Defaults to
English
if nil is passed.
setTempData:forKey:
Adds key/value to tempData. Pass nil as value to remove previous set data
- (void)setTempData:(nullable id)value
forKey:(nonnull NSString *)key
Parameters
- value
-
and object or nil
- key
-
the key
setUserData:forKey:
Adds something to the fonts userData.
- (void)setUserData:(nullable id)value
forKey:(nonnull NSString *)key
Parameters
- value
-
The object should be able to serialize to a plist. If they are not, they should return all infos to store in description (as String).
- key
-
Please use an uniqe key that gives some indecation who put it there (e.g. prefix it with your name or project).
Discussion
This also triggers undo/document dirty state.
stopUpdateInterface
Disable redrawing and updates completly.
- (void)stopUpdateInterface
Discussion
Changes will not trigger an update. Only use this calefully and call enableUpdateInterface if you need future updates.
Warning: Always call enableUpdateInterface afterwards
See Also
tempDataForKey:
return value for key in tempData
- (nullable id)tempDataForKey:(nonnull NSString
*)key
Parameters
- key
-
the key
Return Value
a value or nil
updateMetrics
Recalculate the LSB and RSB for all glyph
- (void)updateMetrics
Discussion
This will not apply the metrics keys.
userDataForKey:
convenience accessor to get to the content of the userData dict
- (NSObject *_Nullable)userDataForKey:(NSString
*)key
Parameters
- key
-
the key
Return Value
the data stored with key