From 83b9d5c682b21d88133f24da0f94dd56bd79e687 Mon Sep 17 00:00:00 2001
From: 单军华
Date: Thu, 19 Jul 2018 13:38:55 +0800
Subject: [PATCH] change
---
screendisplay/Pods/EaseUI/EaseUI/EMUIKit/Util/Emoji/EaseEmotionEscape.m | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 168 insertions(+), 0 deletions(-)
diff --git a/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/Util/Emoji/EaseEmotionEscape.m b/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/Util/Emoji/EaseEmotionEscape.m
new file mode 100755
index 0000000..7b00a96
--- /dev/null
+++ b/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/Util/Emoji/EaseEmotionEscape.m
@@ -0,0 +1,168 @@
+/************************************************************
+ * * Hyphenate CONFIDENTIAL
+ * __________________
+ * Copyright (C) 2016 Hyphenate Inc. All rights reserved.
+ *
+ * NOTICE: All information contained herein is, and remains
+ * the property of Hyphenate Inc.
+ * Dissemination of this information or reproduction of this material
+ * is strictly forbidden unless prior written permission is obtained
+ * from Hyphenate Inc.
+ */
+
+#import "EaseEmotionEscape.h"
+
+#define RGBCOLOR(r,g,b) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:1]
+#define kEmotionTopMargin -3.0f
+
+@implementation EMTextAttachment
+//I want my emoticon has the same size with line's height
+- (CGRect)attachmentBoundsForTextContainer:(NSTextContainer *)textContainer proposedLineFragment:(CGRect)lineFrag glyphPosition:(CGPoint)position characterIndex:(NSUInteger)charIndex NS_AVAILABLE_IOS(7_0)
+{
+ return CGRectMake( 0, kEmotionTopMargin, lineFrag.size.height, lineFrag.size.height);
+}
+
+@end
+
+@interface EaseEmotionEscape ()
+{
+ NSString *_urlPattern;
+ NSDictionary *_dict;
+}
+
+@end
+
+@implementation EaseEmotionEscape
+
+static EaseEmotionEscape *_sharedInstance = nil;
+
++ (EaseEmotionEscape *)sharedInstance
+{
+ if (_sharedInstance == nil)
+ {
+ @synchronized(self) {
+ _sharedInstance = [[EaseEmotionEscape alloc] init];
+ }
+ }
+ return _sharedInstance;
+}
+
++ (NSMutableAttributedString *) attributtedStringFromText:(NSString *) aInputText
+{
+ return nil;
+}
+
++ (NSAttributedString *) attStringFromTextForChatting:(NSString *) aInputText
+{
+ return nil;
+}
+
++ (NSAttributedString *) attStringFromTextForInputView:(NSString *) aInputText
+{
+ return nil;
+}
+
+- (NSMutableAttributedString *) attributtedStringFromText:(NSString *) aInputText
+{
+ if (_urlPattern == nil || _urlPattern.length == 0) {
+ NSMutableAttributedString * string = [[ NSMutableAttributedString alloc ] initWithString:aInputText attributes:nil ];
+ return string;
+ }
+ NSString *urlPattern = _urlPattern;
+ NSError *error = nil;
+ NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:urlPattern options:NSRegularExpressionCaseInsensitive error:&error ];
+
+ NSArray* matches = [regex matchesInString:aInputText options:NSMatchingReportCompletion range:NSMakeRange(0, [aInputText length])];
+ NSMutableAttributedString * string = [[ NSMutableAttributedString alloc ] initWithString:aInputText attributes:nil ];
+
+ for (NSTextCheckingResult *match in [matches reverseObjectEnumerator]) {
+ NSRange matchRange = [match range];
+ NSString *subStr = [aInputText substringWithRange:matchRange];
+
+ EMTextAttachment * textAttachment = [[EMTextAttachment alloc ] initWithData:nil ofType:nil];
+ textAttachment.imageName = subStr;
+ UIImage * emojiImage;
+ NSString *emojiName = @"";
+ if (_dict) {
+ emojiName = [_dict objectForKey:subStr];
+ }
+
+ if (emojiName == nil || emojiName.length == 0) {
+ emojiName = subStr;
+ }
+
+ emojiImage = [UIImage imageNamed:emojiName];
+
+ NSAttributedString * textAttachmentString;
+ if (emojiImage) {
+ textAttachment.image = emojiImage ;
+ textAttachmentString = [NSAttributedString attributedStringWithAttachment:textAttachment];
+ }else{
+ NSString *str = [self getEmojiTextByKey:subStr];
+ if (str != nil) {
+ str = [NSString stringWithFormat:@"[%@]", str];
+ textAttachmentString = [[NSAttributedString alloc] initWithString:str];
+ }else {
+ textAttachmentString = [[NSAttributedString alloc] initWithString:@"[������]"];
+ }
+ }
+
+ if (textAttachment != nil) {
+ [string deleteCharactersInRange:matchRange];
+ [string insertAttributedString:textAttachmentString atIndex:matchRange.location];
+ }
+ }
+
+ return string;
+}
+
+- (NSAttributedString *) attStringFromTextForChatting:(NSString *) aInputText textFont:(UIFont*)font
+{
+ NSMutableAttributedString * string = [self attributtedStringFromText:aInputText];
+// NSMutableParagraphStyle * paragraphStyle = [[NSMutableParagraphStyle alloc] init];
+// paragraphStyle.lineSpacing = 0.0;
+// [string addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [string length])];
+ if (font) {
+ [string addAttribute:NSFontAttributeName value:font range:NSMakeRange(0, string.length)];
+ }
+ return string;
+}
+
+- (NSAttributedString *) attStringFromTextForInputView:(NSString *) aInputText textFont:(UIFont*)font
+{
+ NSMutableAttributedString * string = [self attributtedStringFromText:aInputText];
+// NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
+// paragraphStyle.lineSpacing = 0.0;
+// [string addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, string.length)];
+ if (font) {
+ [string addAttribute:NSFontAttributeName value:font range:NSMakeRange(0, string.length)];
+ }
+ return string;
+}
+
+- (NSString*) getEmojiTextByKey:(NSString*) aKey
+{
+ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
+ NSString *plistPaht = [paths objectAtIndex:0];
+ NSString *fileName = [plistPaht stringByAppendingPathComponent:@"EmotionTextMapList.plist"];
+ NSMutableDictionary *emojiKeyValue = [[NSMutableDictionary alloc] initWithContentsOfFile: fileName];
+ return [emojiKeyValue objectForKey:aKey];
+ // NSLog(@"write data is :%@",writeData);
+}
+
+- (NSString*) getEmojiImageNameByKey:(NSString*) aKey
+{
+ return nil;
+}
+
+- (void) setEaseEmotionEscapePattern:(NSString *)pattern
+{
+ _urlPattern = pattern;
+}
+
+- (void) setEaseEmotionEscapeDictionary:(NSDictionary*)dict
+{
+ _dict = dict;
+}
+
+@end
\ No newline at end of file
--
Gitblit v1.8.0