//
//  CFFCharStrings.h
//  GSFontTools
//
//  Created by Georg Seifert on 29.07.11.
//  Copyright 2011 schriftgestaltung.de. All rights reserved.
//

#import <GSFontTools/CFFVersion.h>
#import <GSFontTools/TTFont.h>  // For `GlyphSet` protocol.

@class CFFGlobalSubrsIndex;
@class CFFPrivateDict;
@class CFFFDSelect;
@class CFFFDArrayIndex;
@class GSFileData;
@class OTOrderedDictionary;

NS_ASSUME_NONNULL_BEGIN

@interface CFFCharStrings : NSObject <GlyphSet>

@property (nonatomic, strong) OTOrderedDictionary *charStrings;

- (instancetype)initWithFile:(nullable GSFileData *)file
		   charset:(nullable NSArray *)charset
	   globalSubrs:(nullable CFFGlobalSubrsIndex *)globalSubrs
	   privateDict:(nullable CFFPrivateDict *)privateDict
		  fdSelect:(nullable CFFFDSelect *)fdSelect
		   fdArray:(nullable CFFFDArrayIndex *)fdArray
		   version:(CFFVersion)version;

- (id)glyphForName:(NSString *)name;

- (int)selectorForName:(NSString *)name;

- (id)allValues;

@end

NS_ASSUME_NONNULL_END
