summaryrefslogtreecommitdiff
path: root/platform/darwin/src/NSString+MGLAdditions.m
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin/src/NSString+MGLAdditions.m')
-rw-r--r--platform/darwin/src/NSString+MGLAdditions.m19
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)