diff options
Diffstat (limited to 'platform/darwin/src/NSString+MGLAdditions.m')
-rw-r--r-- | platform/darwin/src/NSString+MGLAdditions.m | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/platform/darwin/src/NSString+MGLAdditions.m b/platform/darwin/src/NSString+MGLAdditions.m index cde4bddcc3..8c9bbe3e21 100644 --- a/platform/darwin/src/NSString+MGLAdditions.m +++ b/platform/darwin/src/NSString+MGLAdditions.m @@ -41,6 +41,25 @@ return string; } +- (NSString *)mgl_stringByTransliteratingIntoScript:(NSString *)script { + if (@available(iOS 9.0, *)) { + NSMutableString *string = self.mutableCopy; + NSStringTransform transform; + if ([script isEqualToString:@"Latn"]) { + transform = NSStringTransformToLatin; + } else if ([script isEqualToString:@"Hans"]) { + // No transform available. + } else if ([script isEqualToString:@"Cyrl"]) { + transform = @"Any-Latin; Latin-Cyrillic"; + } else if ([script isEqualToString:@"Arab"]) { + transform = @"Any-Latin; Latin-Arabic"; + } + return transform ? [string stringByApplyingTransform:transform reverse:NO] : string; + } else { + return self; + } +} + @end @implementation NSAttributedString (MGLAdditions) |