1 #import <Foundation/NSOrthography.h>
2 #import <Foundation/NSRaise.h>
3 #import <Foundation/NSArray.h>
4 #import <Foundation/NSDictionary.h>
6 @implementation NSOrthography
8 +orthographyWithDominantScript:(NSString *)script languageMap:(NSDictionary *)languageMap {
9 return [[[self alloc] initWithDominantScript:script languageMap:languageMap] autorelease];
12 -initWithDominantScript:(NSString *)script languageMap:(NSDictionary *)languageMap {
13 _dominantScript=[script copy];
14 _languageMap=[languageMap copy];
19 [_dominantScript release];
20 [_languageMap release];
24 -(NSDictionary *)languageMap {
28 -(NSArray *)allLanguages {
29 NSMutableArray *result=[NSMutableArray array];
31 for(NSArray *entry in [_languageMap allValues])
32 [result addObjectsFromArray: entry];
37 -(NSArray *)allScripts {
38 return [_languageMap allKeys];
41 -(NSString *)dominantLanguage {
42 NSArray *languages=[_languageMap objectForKey:[self dominantScript]];
44 return [languages count]?[languages objectAtIndex:0]:nil;
47 -(NSString *)dominantScript {
48 return _dominantScript;
51 -(NSString *)dominantLanguageForScript:(NSString *)script {
52 NSArray *languages=[_languageMap objectForKey:[self dominantScript]];
54 return [languages count]?[languages objectAtIndex:0]:nil;
57 -(NSArray *)languagesForScript:(NSString *)script {
58 return [_languageMap objectForKey:script];