Add/Remove descriptors when appropriate

This commit is contained in:
Gregory John Casamento 2020-03-13 03:14:42 -04:00
parent 1f04167c7d
commit 369e45ebe2

View file

@ -601,22 +601,35 @@ static NSLock *_fontCollectionLock = nil;
- (void) setExclusionDescriptors: (NSArray *)exclusionDescriptors
{
NSMutableArray *qd = [[self queryDescriptors] mutableCopy];
[qd removeObjectsInArray: [self exclusionDescriptors]];
[self setQueryDescriptors: [NSArray arrayWithArray: qd]];
[_fontCollectionDictionary setObject: [exclusionDescriptors mutableCopy]
forKey: @"NSFontExclusionDescriptorAttributes"];
}
- (void) addQueryForDescriptors: (NSArray *)descriptors
{
NSMutableArray *arr = [[self queryDescriptors] mutableCopy];
NSMutableArray *ed = [[self exclusionDescriptors] mutableCopy];
[ed removeObjectsInArray: arr];
[arr addObjectsFromArray: descriptors];
[self setQueryDescriptors: arr];
[self setExclusionDescriptors: [NSArray arrayWithArray: ed]];
}
- (void) removeQueryForDescriptors: (NSArray *)descriptors
{
NSMutableArray *arr = [[self queryDescriptors] mutableCopy];
NSMutableArray *ed = [[self exclusionDescriptors] mutableCopy];
[ed addObjectsFromArray: descriptors];
[arr removeObjectsInArray: descriptors];
[self setQueryDescriptors: arr];
[self setExclusionDescriptors: [NSArray arrayWithArray: ed]];
}
@end