├── .gitignore ├── Example ├── StringEmojize.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcuserdata │ │ └── Kyle.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ ├── StringEmojize.xcscheme │ │ └── xcschememanagement.plist ├── StringEmojize │ ├── AppDelegate.swift │ ├── Base.lproj │ │ ├── LaunchScreen.xib │ │ └── Main.storyboard │ ├── EmojiCodes.swift │ ├── Images.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Info.plist │ ├── StringEmojize.swift │ └── ViewController.swift └── StringEmojizeTests │ ├── Info.plist │ └── StringEmojizeTests.swift ├── LICENSE ├── README.md ├── StringEmojize.podspec └── StringEmojize ├── EmojiCodes.swift └── StringEmojize.swift /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | build/ 4 | *.pbxuser 5 | !default.pbxuser 6 | *.mode1v3 7 | !default.mode1v3 8 | *.mode2v3 9 | !default.mode2v3 10 | *.perspectivev3 11 | !default.perspectivev3 12 | xcuserdata 13 | *.xccheckout 14 | *.moved-aside 15 | DerivedData 16 | *.hmap 17 | *.ipa 18 | *.xcuserstate 19 | 20 | # CocoaPods 21 | # 22 | # We recommend against adding the Pods directory to your .gitignore. However 23 | # you should judge for yourself, the pros and cons are mentioned at: 24 | # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control 25 | # 26 | # Pods/ 27 | -------------------------------------------------------------------------------- /Example/StringEmojize.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 273745731A89B7F400E11B02 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 273745721A89B7F400E11B02 /* AppDelegate.swift */; }; 11 | 273745751A89B7F400E11B02 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 273745741A89B7F400E11B02 /* ViewController.swift */; }; 12 | 273745781A89B7F400E11B02 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 273745761A89B7F400E11B02 /* Main.storyboard */; }; 13 | 2737457A1A89B7F400E11B02 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 273745791A89B7F400E11B02 /* Images.xcassets */; }; 14 | 2737457D1A89B7F400E11B02 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2737457B1A89B7F400E11B02 /* LaunchScreen.xib */; }; 15 | 273745891A89B7F400E11B02 /* StringEmojizeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 273745881A89B7F400E11B02 /* StringEmojizeTests.swift */; }; 16 | 273745941A89B81900E11B02 /* EmojiCodes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 273745931A89B81900E11B02 /* EmojiCodes.swift */; }; 17 | 2793B6121A89BC1500460EDF /* StringEmojize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2793B6111A89BC1500460EDF /* StringEmojize.swift */; }; 18 | /* End PBXBuildFile section */ 19 | 20 | /* Begin PBXContainerItemProxy section */ 21 | 273745831A89B7F400E11B02 /* PBXContainerItemProxy */ = { 22 | isa = PBXContainerItemProxy; 23 | containerPortal = 273745651A89B7F400E11B02 /* Project object */; 24 | proxyType = 1; 25 | remoteGlobalIDString = 2737456C1A89B7F400E11B02; 26 | remoteInfo = StringEmojize; 27 | }; 28 | /* End PBXContainerItemProxy section */ 29 | 30 | /* Begin PBXFileReference section */ 31 | 2737456D1A89B7F400E11B02 /* StringEmojize.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StringEmojize.app; sourceTree = BUILT_PRODUCTS_DIR; }; 32 | 273745711A89B7F400E11B02 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 33 | 273745721A89B7F400E11B02 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 34 | 273745741A89B7F400E11B02 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; 35 | 273745771A89B7F400E11B02 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 36 | 273745791A89B7F400E11B02 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 37 | 2737457C1A89B7F400E11B02 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; 38 | 273745821A89B7F400E11B02 /* StringEmojizeTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StringEmojizeTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 39 | 273745871A89B7F400E11B02 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 40 | 273745881A89B7F400E11B02 /* StringEmojizeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringEmojizeTests.swift; sourceTree = ""; }; 41 | 273745931A89B81900E11B02 /* EmojiCodes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EmojiCodes.swift; sourceTree = ""; }; 42 | 2793B6111A89BC1500460EDF /* StringEmojize.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StringEmojize.swift; sourceTree = ""; }; 43 | /* End PBXFileReference section */ 44 | 45 | /* Begin PBXFrameworksBuildPhase section */ 46 | 2737456A1A89B7F400E11B02 /* Frameworks */ = { 47 | isa = PBXFrameworksBuildPhase; 48 | buildActionMask = 2147483647; 49 | files = ( 50 | ); 51 | runOnlyForDeploymentPostprocessing = 0; 52 | }; 53 | 2737457F1A89B7F400E11B02 /* Frameworks */ = { 54 | isa = PBXFrameworksBuildPhase; 55 | buildActionMask = 2147483647; 56 | files = ( 57 | ); 58 | runOnlyForDeploymentPostprocessing = 0; 59 | }; 60 | /* End PBXFrameworksBuildPhase section */ 61 | 62 | /* Begin PBXGroup section */ 63 | 273745641A89B7F400E11B02 = { 64 | isa = PBXGroup; 65 | children = ( 66 | 2737456F1A89B7F400E11B02 /* StringEmojize */, 67 | 273745851A89B7F400E11B02 /* StringEmojizeTests */, 68 | 2737456E1A89B7F400E11B02 /* Products */, 69 | ); 70 | sourceTree = ""; 71 | }; 72 | 2737456E1A89B7F400E11B02 /* Products */ = { 73 | isa = PBXGroup; 74 | children = ( 75 | 2737456D1A89B7F400E11B02 /* StringEmojize.app */, 76 | 273745821A89B7F400E11B02 /* StringEmojizeTests.xctest */, 77 | ); 78 | name = Products; 79 | sourceTree = ""; 80 | }; 81 | 2737456F1A89B7F400E11B02 /* StringEmojize */ = { 82 | isa = PBXGroup; 83 | children = ( 84 | 273745921A89B80500E11B02 /* StringEmojize */, 85 | 273745721A89B7F400E11B02 /* AppDelegate.swift */, 86 | 273745741A89B7F400E11B02 /* ViewController.swift */, 87 | 273745761A89B7F400E11B02 /* Main.storyboard */, 88 | 273745791A89B7F400E11B02 /* Images.xcassets */, 89 | 2737457B1A89B7F400E11B02 /* LaunchScreen.xib */, 90 | 273745701A89B7F400E11B02 /* Supporting Files */, 91 | ); 92 | path = StringEmojize; 93 | sourceTree = ""; 94 | }; 95 | 273745701A89B7F400E11B02 /* Supporting Files */ = { 96 | isa = PBXGroup; 97 | children = ( 98 | 273745711A89B7F400E11B02 /* Info.plist */, 99 | ); 100 | name = "Supporting Files"; 101 | sourceTree = ""; 102 | }; 103 | 273745851A89B7F400E11B02 /* StringEmojizeTests */ = { 104 | isa = PBXGroup; 105 | children = ( 106 | 273745881A89B7F400E11B02 /* StringEmojizeTests.swift */, 107 | 273745861A89B7F400E11B02 /* Supporting Files */, 108 | ); 109 | path = StringEmojizeTests; 110 | sourceTree = ""; 111 | }; 112 | 273745861A89B7F400E11B02 /* Supporting Files */ = { 113 | isa = PBXGroup; 114 | children = ( 115 | 273745871A89B7F400E11B02 /* Info.plist */, 116 | ); 117 | name = "Supporting Files"; 118 | sourceTree = ""; 119 | }; 120 | 273745921A89B80500E11B02 /* StringEmojize */ = { 121 | isa = PBXGroup; 122 | children = ( 123 | 273745931A89B81900E11B02 /* EmojiCodes.swift */, 124 | 2793B6111A89BC1500460EDF /* StringEmojize.swift */, 125 | ); 126 | name = StringEmojize; 127 | sourceTree = ""; 128 | }; 129 | /* End PBXGroup section */ 130 | 131 | /* Begin PBXNativeTarget section */ 132 | 2737456C1A89B7F400E11B02 /* StringEmojize */ = { 133 | isa = PBXNativeTarget; 134 | buildConfigurationList = 2737458C1A89B7F400E11B02 /* Build configuration list for PBXNativeTarget "StringEmojize" */; 135 | buildPhases = ( 136 | 273745691A89B7F400E11B02 /* Sources */, 137 | 2737456A1A89B7F400E11B02 /* Frameworks */, 138 | 2737456B1A89B7F400E11B02 /* Resources */, 139 | ); 140 | buildRules = ( 141 | ); 142 | dependencies = ( 143 | ); 144 | name = StringEmojize; 145 | productName = StringEmojize; 146 | productReference = 2737456D1A89B7F400E11B02 /* StringEmojize.app */; 147 | productType = "com.apple.product-type.application"; 148 | }; 149 | 273745811A89B7F400E11B02 /* StringEmojizeTests */ = { 150 | isa = PBXNativeTarget; 151 | buildConfigurationList = 2737458F1A89B7F400E11B02 /* Build configuration list for PBXNativeTarget "StringEmojizeTests" */; 152 | buildPhases = ( 153 | 2737457E1A89B7F400E11B02 /* Sources */, 154 | 2737457F1A89B7F400E11B02 /* Frameworks */, 155 | 273745801A89B7F400E11B02 /* Resources */, 156 | ); 157 | buildRules = ( 158 | ); 159 | dependencies = ( 160 | 273745841A89B7F400E11B02 /* PBXTargetDependency */, 161 | ); 162 | name = StringEmojizeTests; 163 | productName = StringEmojizeTests; 164 | productReference = 273745821A89B7F400E11B02 /* StringEmojizeTests.xctest */; 165 | productType = "com.apple.product-type.bundle.unit-test"; 166 | }; 167 | /* End PBXNativeTarget section */ 168 | 169 | /* Begin PBXProject section */ 170 | 273745651A89B7F400E11B02 /* Project object */ = { 171 | isa = PBXProject; 172 | attributes = { 173 | LastUpgradeCheck = 0610; 174 | ORGANIZATIONNAME = "Kyle Frost"; 175 | TargetAttributes = { 176 | 2737456C1A89B7F400E11B02 = { 177 | CreatedOnToolsVersion = 6.1.1; 178 | DevelopmentTeam = 34UZ7Y2KSW; 179 | }; 180 | 273745811A89B7F400E11B02 = { 181 | CreatedOnToolsVersion = 6.1.1; 182 | TestTargetID = 2737456C1A89B7F400E11B02; 183 | }; 184 | }; 185 | }; 186 | buildConfigurationList = 273745681A89B7F400E11B02 /* Build configuration list for PBXProject "StringEmojize" */; 187 | compatibilityVersion = "Xcode 3.2"; 188 | developmentRegion = English; 189 | hasScannedForEncodings = 0; 190 | knownRegions = ( 191 | en, 192 | Base, 193 | ); 194 | mainGroup = 273745641A89B7F400E11B02; 195 | productRefGroup = 2737456E1A89B7F400E11B02 /* Products */; 196 | projectDirPath = ""; 197 | projectRoot = ""; 198 | targets = ( 199 | 2737456C1A89B7F400E11B02 /* StringEmojize */, 200 | 273745811A89B7F400E11B02 /* StringEmojizeTests */, 201 | ); 202 | }; 203 | /* End PBXProject section */ 204 | 205 | /* Begin PBXResourcesBuildPhase section */ 206 | 2737456B1A89B7F400E11B02 /* Resources */ = { 207 | isa = PBXResourcesBuildPhase; 208 | buildActionMask = 2147483647; 209 | files = ( 210 | 273745781A89B7F400E11B02 /* Main.storyboard in Resources */, 211 | 2737457D1A89B7F400E11B02 /* LaunchScreen.xib in Resources */, 212 | 2737457A1A89B7F400E11B02 /* Images.xcassets in Resources */, 213 | ); 214 | runOnlyForDeploymentPostprocessing = 0; 215 | }; 216 | 273745801A89B7F400E11B02 /* Resources */ = { 217 | isa = PBXResourcesBuildPhase; 218 | buildActionMask = 2147483647; 219 | files = ( 220 | ); 221 | runOnlyForDeploymentPostprocessing = 0; 222 | }; 223 | /* End PBXResourcesBuildPhase section */ 224 | 225 | /* Begin PBXSourcesBuildPhase section */ 226 | 273745691A89B7F400E11B02 /* Sources */ = { 227 | isa = PBXSourcesBuildPhase; 228 | buildActionMask = 2147483647; 229 | files = ( 230 | 2793B6121A89BC1500460EDF /* StringEmojize.swift in Sources */, 231 | 273745941A89B81900E11B02 /* EmojiCodes.swift in Sources */, 232 | 273745751A89B7F400E11B02 /* ViewController.swift in Sources */, 233 | 273745731A89B7F400E11B02 /* AppDelegate.swift in Sources */, 234 | ); 235 | runOnlyForDeploymentPostprocessing = 0; 236 | }; 237 | 2737457E1A89B7F400E11B02 /* Sources */ = { 238 | isa = PBXSourcesBuildPhase; 239 | buildActionMask = 2147483647; 240 | files = ( 241 | 273745891A89B7F400E11B02 /* StringEmojizeTests.swift in Sources */, 242 | ); 243 | runOnlyForDeploymentPostprocessing = 0; 244 | }; 245 | /* End PBXSourcesBuildPhase section */ 246 | 247 | /* Begin PBXTargetDependency section */ 248 | 273745841A89B7F400E11B02 /* PBXTargetDependency */ = { 249 | isa = PBXTargetDependency; 250 | target = 2737456C1A89B7F400E11B02 /* StringEmojize */; 251 | targetProxy = 273745831A89B7F400E11B02 /* PBXContainerItemProxy */; 252 | }; 253 | /* End PBXTargetDependency section */ 254 | 255 | /* Begin PBXVariantGroup section */ 256 | 273745761A89B7F400E11B02 /* Main.storyboard */ = { 257 | isa = PBXVariantGroup; 258 | children = ( 259 | 273745771A89B7F400E11B02 /* Base */, 260 | ); 261 | name = Main.storyboard; 262 | sourceTree = ""; 263 | }; 264 | 2737457B1A89B7F400E11B02 /* LaunchScreen.xib */ = { 265 | isa = PBXVariantGroup; 266 | children = ( 267 | 2737457C1A89B7F400E11B02 /* Base */, 268 | ); 269 | name = LaunchScreen.xib; 270 | sourceTree = ""; 271 | }; 272 | /* End PBXVariantGroup section */ 273 | 274 | /* Begin XCBuildConfiguration section */ 275 | 2737458A1A89B7F400E11B02 /* Debug */ = { 276 | isa = XCBuildConfiguration; 277 | buildSettings = { 278 | ALWAYS_SEARCH_USER_PATHS = NO; 279 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 280 | CLANG_CXX_LIBRARY = "libc++"; 281 | CLANG_ENABLE_MODULES = YES; 282 | CLANG_ENABLE_OBJC_ARC = YES; 283 | CLANG_WARN_BOOL_CONVERSION = YES; 284 | CLANG_WARN_CONSTANT_CONVERSION = YES; 285 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 286 | CLANG_WARN_EMPTY_BODY = YES; 287 | CLANG_WARN_ENUM_CONVERSION = YES; 288 | CLANG_WARN_INT_CONVERSION = YES; 289 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 290 | CLANG_WARN_UNREACHABLE_CODE = YES; 291 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 292 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 293 | COPY_PHASE_STRIP = NO; 294 | ENABLE_STRICT_OBJC_MSGSEND = YES; 295 | GCC_C_LANGUAGE_STANDARD = gnu99; 296 | GCC_DYNAMIC_NO_PIC = NO; 297 | GCC_OPTIMIZATION_LEVEL = 0; 298 | GCC_PREPROCESSOR_DEFINITIONS = ( 299 | "DEBUG=1", 300 | "$(inherited)", 301 | ); 302 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 303 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 304 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 305 | GCC_WARN_UNDECLARED_SELECTOR = YES; 306 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 307 | GCC_WARN_UNUSED_FUNCTION = YES; 308 | GCC_WARN_UNUSED_VARIABLE = YES; 309 | IPHONEOS_DEPLOYMENT_TARGET = 8.1; 310 | MTL_ENABLE_DEBUG_INFO = YES; 311 | ONLY_ACTIVE_ARCH = YES; 312 | SDKROOT = iphoneos; 313 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 314 | }; 315 | name = Debug; 316 | }; 317 | 2737458B1A89B7F400E11B02 /* Release */ = { 318 | isa = XCBuildConfiguration; 319 | buildSettings = { 320 | ALWAYS_SEARCH_USER_PATHS = NO; 321 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 322 | CLANG_CXX_LIBRARY = "libc++"; 323 | CLANG_ENABLE_MODULES = YES; 324 | CLANG_ENABLE_OBJC_ARC = YES; 325 | CLANG_WARN_BOOL_CONVERSION = YES; 326 | CLANG_WARN_CONSTANT_CONVERSION = YES; 327 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 328 | CLANG_WARN_EMPTY_BODY = YES; 329 | CLANG_WARN_ENUM_CONVERSION = YES; 330 | CLANG_WARN_INT_CONVERSION = YES; 331 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 332 | CLANG_WARN_UNREACHABLE_CODE = YES; 333 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 334 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 335 | COPY_PHASE_STRIP = YES; 336 | ENABLE_NS_ASSERTIONS = NO; 337 | ENABLE_STRICT_OBJC_MSGSEND = YES; 338 | GCC_C_LANGUAGE_STANDARD = gnu99; 339 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 340 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 341 | GCC_WARN_UNDECLARED_SELECTOR = YES; 342 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 343 | GCC_WARN_UNUSED_FUNCTION = YES; 344 | GCC_WARN_UNUSED_VARIABLE = YES; 345 | IPHONEOS_DEPLOYMENT_TARGET = 8.1; 346 | MTL_ENABLE_DEBUG_INFO = NO; 347 | SDKROOT = iphoneos; 348 | VALIDATE_PRODUCT = YES; 349 | }; 350 | name = Release; 351 | }; 352 | 2737458D1A89B7F400E11B02 /* Debug */ = { 353 | isa = XCBuildConfiguration; 354 | buildSettings = { 355 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 356 | CODE_SIGN_IDENTITY = "iPhone Developer"; 357 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 358 | INFOPLIST_FILE = StringEmojize/Info.plist; 359 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 360 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 361 | PRODUCT_NAME = "$(TARGET_NAME)"; 362 | PROVISIONING_PROFILE = ""; 363 | }; 364 | name = Debug; 365 | }; 366 | 2737458E1A89B7F400E11B02 /* Release */ = { 367 | isa = XCBuildConfiguration; 368 | buildSettings = { 369 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 370 | CODE_SIGN_IDENTITY = "iPhone Developer"; 371 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 372 | INFOPLIST_FILE = StringEmojize/Info.plist; 373 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 374 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 375 | PRODUCT_NAME = "$(TARGET_NAME)"; 376 | PROVISIONING_PROFILE = ""; 377 | }; 378 | name = Release; 379 | }; 380 | 273745901A89B7F400E11B02 /* Debug */ = { 381 | isa = XCBuildConfiguration; 382 | buildSettings = { 383 | BUNDLE_LOADER = "$(TEST_HOST)"; 384 | FRAMEWORK_SEARCH_PATHS = ( 385 | "$(SDKROOT)/Developer/Library/Frameworks", 386 | "$(inherited)", 387 | ); 388 | GCC_PREPROCESSOR_DEFINITIONS = ( 389 | "DEBUG=1", 390 | "$(inherited)", 391 | ); 392 | INFOPLIST_FILE = StringEmojizeTests/Info.plist; 393 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 394 | PRODUCT_NAME = "$(TARGET_NAME)"; 395 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/StringEmojize.app/StringEmojize"; 396 | }; 397 | name = Debug; 398 | }; 399 | 273745911A89B7F400E11B02 /* Release */ = { 400 | isa = XCBuildConfiguration; 401 | buildSettings = { 402 | BUNDLE_LOADER = "$(TEST_HOST)"; 403 | FRAMEWORK_SEARCH_PATHS = ( 404 | "$(SDKROOT)/Developer/Library/Frameworks", 405 | "$(inherited)", 406 | ); 407 | INFOPLIST_FILE = StringEmojizeTests/Info.plist; 408 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 409 | PRODUCT_NAME = "$(TARGET_NAME)"; 410 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/StringEmojize.app/StringEmojize"; 411 | }; 412 | name = Release; 413 | }; 414 | /* End XCBuildConfiguration section */ 415 | 416 | /* Begin XCConfigurationList section */ 417 | 273745681A89B7F400E11B02 /* Build configuration list for PBXProject "StringEmojize" */ = { 418 | isa = XCConfigurationList; 419 | buildConfigurations = ( 420 | 2737458A1A89B7F400E11B02 /* Debug */, 421 | 2737458B1A89B7F400E11B02 /* Release */, 422 | ); 423 | defaultConfigurationIsVisible = 0; 424 | defaultConfigurationName = Release; 425 | }; 426 | 2737458C1A89B7F400E11B02 /* Build configuration list for PBXNativeTarget "StringEmojize" */ = { 427 | isa = XCConfigurationList; 428 | buildConfigurations = ( 429 | 2737458D1A89B7F400E11B02 /* Debug */, 430 | 2737458E1A89B7F400E11B02 /* Release */, 431 | ); 432 | defaultConfigurationIsVisible = 0; 433 | defaultConfigurationName = Release; 434 | }; 435 | 2737458F1A89B7F400E11B02 /* Build configuration list for PBXNativeTarget "StringEmojizeTests" */ = { 436 | isa = XCConfigurationList; 437 | buildConfigurations = ( 438 | 273745901A89B7F400E11B02 /* Debug */, 439 | 273745911A89B7F400E11B02 /* Release */, 440 | ); 441 | defaultConfigurationIsVisible = 0; 442 | defaultConfigurationName = Release; 443 | }; 444 | /* End XCConfigurationList section */ 445 | }; 446 | rootObject = 273745651A89B7F400E11B02 /* Project object */; 447 | } 448 | -------------------------------------------------------------------------------- /Example/StringEmojize.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Example/StringEmojize.xcodeproj/xcuserdata/Kyle.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /Example/StringEmojize.xcodeproj/xcuserdata/Kyle.xcuserdatad/xcschemes/StringEmojize.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 29 | 35 | 36 | 37 | 38 | 39 | 44 | 45 | 47 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 65 | 66 | 75 | 76 | 82 | 83 | 84 | 85 | 86 | 87 | 93 | 94 | 100 | 101 | 102 | 103 | 105 | 106 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /Example/StringEmojize.xcodeproj/xcuserdata/Kyle.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | StringEmojize.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2737456C1A89B7F400E11B02 16 | 17 | primary 18 | 19 | 20 | 273745811A89B7F400E11B02 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Example/StringEmojize/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // StringEmojize 4 | // 5 | // Created by Kyle Frost on 2/9/15. 6 | // Copyright (c) 2015 Kyle Frost. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | 14 | var window: UIWindow? 15 | 16 | 17 | func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 18 | // Override point for customization after application launch. 19 | return true 20 | } 21 | 22 | func applicationWillResignActive(application: UIApplication) { 23 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 24 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 25 | } 26 | 27 | func applicationDidEnterBackground(application: UIApplication) { 28 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 29 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 30 | } 31 | 32 | func applicationWillEnterForeground(application: UIApplication) { 33 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 34 | } 35 | 36 | func applicationDidBecomeActive(application: UIApplication) { 37 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 38 | } 39 | 40 | func applicationWillTerminate(application: UIApplication) { 41 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 42 | } 43 | 44 | 45 | } 46 | 47 | -------------------------------------------------------------------------------- /Example/StringEmojize/Base.lproj/LaunchScreen.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 20 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /Example/StringEmojize/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 38 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /Example/StringEmojize/EmojiCodes.swift: -------------------------------------------------------------------------------- 1 | // 2 | // EmojiCodes.swift 3 | // StringEmojize 4 | // 5 | // Created by Kyle Frost on 2/9/15. 6 | // Copyright (c) 2015 Kyle Frost. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | let EMOJI_HASH: [String: String] = [ 12 | ":+1:" : "\u{1F44D}", 13 | ":-1:" : "\u{1F44E}", 14 | ":100:" : "\u{1F4AF}", 15 | ":1234:" : "\u{1F522}", 16 | ":8ball:" : "\u{1F3B1}", 17 | ":a:" : "\u{1F170}", 18 | ":ab:" : "\u{1F18E}", 19 | ":abc:" : "\u{1F524}", 20 | ":abcd:" : "\u{1F521}", 21 | ":accept:" : "\u{1F251}", 22 | ":aerial_tramway:" : "\u{1F6A1}", 23 | ":airplane:" : "\u{02708}", 24 | ":alarm_clock:" : "\u{023F0}", 25 | ":alien:" : "\u{1F47D}", 26 | ":ambulance:" : "\u{1F691}", 27 | ":anchor:" : "\u{02693}", 28 | ":angel:" : "\u{1F47C}", 29 | ":anger:" : "\u{1F4A2}", 30 | ":angry:" : "\u{1F620}", 31 | ":anguished:" : "\u{1F627}", 32 | ":ant:" : "\u{1F41C}", 33 | ":apple:" : "\u{1F34E}", 34 | ":aquarius:" : "\u{02652}", 35 | ":aries:" : "\u{02648}", 36 | ":arrow_backward:" : "\u{025C0}", 37 | ":arrow_double_down:" : "\u{023EC}", 38 | ":arrow_double_up:" : "\u{023EB}", 39 | ":arrow_down:" : "\u{02B07}", 40 | ":arrow_down_small:" : "\u{1F53D}", 41 | ":arrow_forward:" : "\u{025B6}", 42 | ":arrow_heading_down:" : "\u{02935}", 43 | ":arrow_heading_up:" : "\u{02934}", 44 | ":arrow_left:" : "\u{02B05}", 45 | ":arrow_lower_left:" : "\u{02199}", 46 | ":arrow_lower_right:" : "\u{02198}", 47 | ":arrow_right:" : "\u{027A1}", 48 | ":arrow_right_hook:" : "\u{021AA}", 49 | ":arrow_up:" : "\u{02B06}", 50 | ":arrow_up_down:" : "\u{02195}", 51 | ":arrow_up_small:" : "\u{1F53C}", 52 | ":arrow_upper_left:" : "\u{02196}", 53 | ":arrow_upper_right:" : "\u{02197}", 54 | ":arrows_clockwise:" : "\u{1F503}", 55 | ":arrows_counterclockwise:" : "\u{1F504}", 56 | ":art:" : "\u{1F3A8}", 57 | ":articulated_lorry:" : "\u{1F69B}", 58 | ":astonished:" : "\u{1F632}", 59 | ":athletic_shoe:" : "\u{1F45F}", 60 | ":atm:" : "\u{1F3E7}", 61 | ":b:" : "\u{1F171}", 62 | ":baby:" : "\u{1F476}", 63 | ":baby_bottle:" : "\u{1F37C}", 64 | ":baby_chick:" : "\u{1F424}", 65 | ":baby_symbol:" : "\u{1F6BC}", 66 | ":back:" : "\u{1F519}", 67 | ":baggage_claim:" : "\u{1F6C4}", 68 | ":balloon:" : "\u{1F388}", 69 | ":ballot_box_with_check:" : "\u{02611}", 70 | ":bamboo:" : "\u{1F38D}", 71 | ":banana:" : "\u{1F34C}", 72 | ":bangbang:" : "\u{0203C}", 73 | ":bank:" : "\u{1F3E6}", 74 | ":bar_chart:" : "\u{1F4CA}", 75 | ":barber:" : "\u{1F488}", 76 | ":baseball:" : "\u{026BE}", 77 | ":basketball:" : "\u{1F3C0}", 78 | ":bath:" : "\u{1F6C0}", 79 | ":bathtub:" : "\u{1F6C1}", 80 | ":battery:" : "\u{1F50B}", 81 | ":bear:" : "\u{1F43B}", 82 | ":bee:" : "\u{1F41D}", 83 | ":beer:" : "\u{1F37A}", 84 | ":beers:" : "\u{1F37B}", 85 | ":beetle:" : "\u{1F41E}", 86 | ":beginner:" : "\u{1F530}", 87 | ":bell:" : "\u{1F514}", 88 | ":bento:" : "\u{1F371}", 89 | ":bicyclist:" : "\u{1F6B4}", 90 | ":bike:" : "\u{1F6B2}", 91 | ":bikini:" : "\u{1F459}", 92 | ":bird:" : "\u{1F426}", 93 | ":birthday:" : "\u{1F382}", 94 | ":black_circle:" : "\u{026AB}", 95 | ":black_joker:" : "\u{1F0CF}", 96 | ":black_large_square:" : "\u{02B1B}", 97 | ":black_medium_small_square:" : "\u{025FE}", 98 | ":black_medium_square:" : "\u{025FC}", 99 | ":black_nib:" : "\u{02712}", 100 | ":black_small_square:" : "\u{025AA}", 101 | ":black_square_button:" : "\u{1F532}", 102 | ":blossom:" : "\u{1F33C}", 103 | ":blowfish:" : "\u{1F421}", 104 | ":blue_book:" : "\u{1F4D8}", 105 | ":blue_car:" : "\u{1F699}", 106 | ":blue_heart:" : "\u{1F499}", 107 | ":blush:" : "\u{1F60A}", 108 | ":boar:" : "\u{1F417}", 109 | ":boat:" : "\u{026F5}", 110 | ":bomb:" : "\u{1F4A3}", 111 | ":book:" : "\u{1F4D6}", 112 | ":bookmark:" : "\u{1F516}", 113 | ":bookmark_tabs:" : "\u{1F4D1}", 114 | ":books:" : "\u{1F4DA}", 115 | ":boom:" : "\u{1F4A5}", 116 | ":boot:" : "\u{1F462}", 117 | ":bouquet:" : "\u{1F490}", 118 | ":bow:" : "\u{1F647}", 119 | ":bowling:" : "\u{1F3B3}", 120 | ":boy:" : "\u{1F466}", 121 | ":bread:" : "\u{1F35E}", 122 | ":bride_with_veil:" : "\u{1F470}", 123 | ":bridge_at_night:" : "\u{1F309}", 124 | ":briefcase:" : "\u{1F4BC}", 125 | ":broken_heart:" : "\u{1F494}", 126 | ":bug:" : "\u{1F41B}", 127 | ":bulb:" : "\u{1F4A1}", 128 | ":bullettrain_front:" : "\u{1F685}", 129 | ":bullettrain_side:" : "\u{1F684}", 130 | ":bus:" : "\u{1F68C}", 131 | ":busstop:" : "\u{1F68F}", 132 | ":bust_in_silhouette:" : "\u{1F464}", 133 | ":busts_in_silhouette:" : "\u{1F465}", 134 | ":cactus:" : "\u{1F335}", 135 | ":cake:" : "\u{1F370}", 136 | ":calendar:" : "\u{1F4C6}", 137 | ":calling:" : "\u{1F4F2}", 138 | ":camel:" : "\u{1F42B}", 139 | ":camera:" : "\u{1F4F7}", 140 | ":cancer:" : "\u{0264B}", 141 | ":candy:" : "\u{1F36C}", 142 | ":capital_abcd:" : "\u{1F520}", 143 | ":capricorn:" : "\u{02651}", 144 | ":car:" : "\u{1F697}", 145 | ":card_index:" : "\u{1F4C7}", 146 | ":carousel_horse:" : "\u{1F3A0}", 147 | ":cat:" : "\u{1F431}", 148 | ":cat2:" : "\u{1F408}", 149 | ":cd:" : "\u{1F4BF}", 150 | ":chart:" : "\u{1F4B9}", 151 | ":chart_with_downwards_trend:" : "\u{1F4C9}", 152 | ":chart_with_upwards_trend:" : "\u{1F4C8}", 153 | ":checkered_flag:" : "\u{1F3C1}", 154 | ":cherries:" : "\u{1F352}", 155 | ":cherry_blossom:" : "\u{1F338}", 156 | ":chestnut:" : "\u{1F330}", 157 | ":chicken:" : "\u{1F414}", 158 | ":children_crossing:" : "\u{1F6B8}", 159 | ":chocolate_bar:" : "\u{1F36B}", 160 | ":christmas_tree:" : "\u{1F384}", 161 | ":church:" : "\u{026EA}", 162 | ":cinema:" : "\u{1F3A6}", 163 | ":circus_tent:" : "\u{1F3AA}", 164 | ":city_sunrise:" : "\u{1F307}", 165 | ":city_sunset:" : "\u{1F306}", 166 | ":cl:" : "\u{1F191}", 167 | ":clap:" : "\u{1F44F}", 168 | ":clapper:" : "\u{1F3AC}", 169 | ":clipboard:" : "\u{1F4CB}", 170 | ":clock1:" : "\u{1F550}", 171 | ":clock10:" : "\u{1F559}", 172 | ":clock1030:" : "\u{1F565}", 173 | ":clock11:" : "\u{1F55A}", 174 | ":clock1130:" : "\u{1F566}", 175 | ":clock12:" : "\u{1F55B}", 176 | ":clock1230:" : "\u{1F567}", 177 | ":clock130:" : "\u{1F55C}", 178 | ":clock2:" : "\u{1F551}", 179 | ":clock230:" : "\u{1F55D}", 180 | ":clock3:" : "\u{1F552}", 181 | ":clock330:" : "\u{1F55E}", 182 | ":clock4:" : "\u{1F553}", 183 | ":clock430:" : "\u{1F55F}", 184 | ":clock5:" : "\u{1F554}", 185 | ":clock530:" : "\u{1F560}", 186 | ":clock6:" : "\u{1F555}", 187 | ":clock630:" : "\u{1F561}", 188 | ":clock7:" : "\u{1F556}", 189 | ":clock730:" : "\u{1F562}", 190 | ":clock8:" : "\u{1F557}", 191 | ":clock830:" : "\u{1F563}", 192 | ":clock9:" : "\u{1F558}", 193 | ":clock930:" : "\u{1F564}", 194 | ":closed_book:" : "\u{1F4D5}", 195 | ":closed_lock_with_key:" : "\u{1F510}", 196 | ":closed_umbrella:" : "\u{1F302}", 197 | ":cloud:" : "\u{02601}", 198 | ":clubs:" : "\u{02663}", 199 | ":cocktail:" : "\u{1F378}", 200 | ":coffee:" : "\u{02615}", 201 | ":cold_sweat:" : "\u{1F630}", 202 | ":collision:" : "\u{1F4A5}", 203 | ":computer:" : "\u{1F4BB}", 204 | ":confetti_ball:" : "\u{1F38A}", 205 | ":confounded:" : "\u{1F616}", 206 | ":confused:" : "\u{1F615}", 207 | ":congratulations:" : "\u{03297}", 208 | ":construction:" : "\u{1F6A7}", 209 | ":construction_worker:" : "\u{1F477}", 210 | ":convenience_store:" : "\u{1F3EA}", 211 | ":cookie:" : "\u{1F36A}", 212 | ":cool:" : "\u{1F192}", 213 | ":cop:" : "\u{1F46E}", 214 | ":copyright:" : "\u{A9}", 215 | ":corn:" : "\u{1F33D}", 216 | ":couple:" : "\u{1F46B}", 217 | ":couple_with_heart:" : "\u{1F491}", 218 | ":couplekiss:" : "\u{1F48F}", 219 | ":cow:" : "\u{1F42E}", 220 | ":cow2:" : "\u{1F404}", 221 | ":credit_card:" : "\u{1F4B3}", 222 | ":crescent_moon:" : "\u{1F319}", 223 | ":crocodile:" : "\u{1F40A}", 224 | ":crossed_flags:" : "\u{1F38C}", 225 | ":crown:" : "\u{1F451}", 226 | ":cry:" : "\u{1F622}", 227 | ":crying_cat_face:" : "\u{1F63F}", 228 | ":crystal_ball:" : "\u{1F52E}", 229 | ":cupid:" : "\u{1F498}", 230 | ":curly_loop:" : "\u{027B0}", 231 | ":currency_exchange:" : "\u{1F4B1}", 232 | ":curry:" : "\u{1F35B}", 233 | ":custard:" : "\u{1F36E}", 234 | ":customs:" : "\u{1F6C3}", 235 | ":cyclone:" : "\u{1F300}", 236 | ":dancer:" : "\u{1F483}", 237 | ":dancers:" : "\u{1F46F}", 238 | ":dango:" : "\u{1F361}", 239 | ":dart:" : "\u{1F3AF}", 240 | ":dash:" : "\u{1F4A8}", 241 | ":date:" : "\u{1F4C5}", 242 | ":deciduous_tree:" : "\u{1F333}", 243 | ":department_store:" : "\u{1F3EC}", 244 | ":diamond_shape_with_a_dot_inside:" : "\u{1F4A0}", 245 | ":diamonds:" : "\u{02666}", 246 | ":disappointed:" : "\u{1F61E}", 247 | ":disappointed_relieved:" : "\u{1F625}", 248 | ":dizzy:" : "\u{1F4AB}", 249 | ":dizzy_face:" : "\u{1F635}", 250 | ":do_not_litter:" : "\u{1F6AF}", 251 | ":dog:" : "\u{1F436}", 252 | ":dog2:" : "\u{1F415}", 253 | ":dollar:" : "\u{1F4B5}", 254 | ":dolls:" : "\u{1F38E}", 255 | ":dolphin:" : "\u{1F42C}", 256 | ":door:" : "\u{1F6AA}", 257 | ":doughnut:" : "\u{1F369}", 258 | ":dragon:" : "\u{1F409}", 259 | ":dragon_face:" : "\u{1F432}", 260 | ":dress:" : "\u{1F457}", 261 | ":dromedary_camel:" : "\u{1F42A}", 262 | ":droplet:" : "\u{1F4A7}", 263 | ":dvd:" : "\u{1F4C0}", 264 | ":e-mail:" : "\u{1F4E7}", 265 | ":ear:" : "\u{1F442}", 266 | ":ear_of_rice:" : "\u{1F33E}", 267 | ":earth_africa:" : "\u{1F30D}", 268 | ":earth_americas:" : "\u{1F30E}", 269 | ":earth_asia:" : "\u{1F30F}", 270 | ":egg:" : "\u{1F373}", 271 | ":eggplant:" : "\u{1F346}", 272 | ":eight_pointed_black_star:" : "\u{02734}", 273 | ":eight_spoked_asterisk:" : "\u{02733}", 274 | ":electric_plug:" : "\u{1F50C}", 275 | ":elephant:" : "\u{1F418}", 276 | ":email:" : "\u{02709}", 277 | ":end:" : "\u{1F51A}", 278 | ":envelope:" : "\u{02709}", 279 | ":envelope_with_arrow:" : "\u{1F4E9}", 280 | ":euro:" : "\u{1F4B6}", 281 | ":european_castle:" : "\u{1F3F0}", 282 | ":european_post_office:" : "\u{1F3E4}", 283 | ":evergreen_tree:" : "\u{1F332}", 284 | ":exclamation:" : "\u{02757}", 285 | ":expressionless:" : "\u{1F611}", 286 | ":eyeglasses:" : "\u{1F453}", 287 | ":eyes:" : "\u{1F440}", 288 | ":facepunch:" : "\u{1F44A}", 289 | ":factory:" : "\u{1F3ED}", 290 | ":fallen_leaf:" : "\u{1F342}", 291 | ":family:" : "\u{1F46A}", 292 | ":fast_forward:" : "\u{023E9}", 293 | ":fax:" : "\u{1F4E0}", 294 | ":fearful:" : "\u{1F628}", 295 | ":feet:" : "\u{1F43E}", 296 | ":ferris_wheel:" : "\u{1F3A1}", 297 | ":file_folder:" : "\u{1F4C1}", 298 | ":fire:" : "\u{1F525}", 299 | ":fire_engine:" : "\u{1F692}", 300 | ":fireworks:" : "\u{1F386}", 301 | ":first_quarter_moon:" : "\u{1F313}", 302 | ":first_quarter_moon_with_face:" : "\u{1F31B}", 303 | ":fish:" : "\u{1F41F}", 304 | ":fish_cake:" : "\u{1F365}", 305 | ":fishing_pole_and_fish:" : "\u{1F3A3}", 306 | ":fist:" : "\u{0270A}", 307 | ":flags:" : "\u{1F38F}", 308 | ":flashlight:" : "\u{1F526}", 309 | ":flipper:" : "\u{1F42C}", 310 | ":floppy_disk:" : "\u{1F4BE}", 311 | ":flower_playing_cards:" : "\u{1F3B4}", 312 | ":flushed:" : "\u{1F633}", 313 | ":foggy:" : "\u{1F301}", 314 | ":football:" : "\u{1F3C8}", 315 | ":footprints:" : "\u{1F463}", 316 | ":fork_and_knife:" : "\u{1F374}", 317 | ":fountain:" : "\u{026F2}", 318 | ":four_leaf_clover:" : "\u{1F340}", 319 | ":free:" : "\u{1F193}", 320 | ":fried_shrimp:" : "\u{1F364}", 321 | ":fries:" : "\u{1F35F}", 322 | ":frog:" : "\u{1F438}", 323 | ":frowning:" : "\u{1F626}", 324 | ":fuelpump:" : "\u{026FD}", 325 | ":full_moon:" : "\u{1F315}", 326 | ":full_moon_with_face:" : "\u{1F31D}", 327 | ":game_die:" : "\u{1F3B2}", 328 | ":gem:" : "\u{1F48E}", 329 | ":gemini:" : "\u{0264A}", 330 | ":ghost:" : "\u{1F47B}", 331 | ":gift:" : "\u{1F381}", 332 | ":gift_heart:" : "\u{1F49D}", 333 | ":girl:" : "\u{1F467}", 334 | ":globe_with_meridians:" : "\u{1F310}", 335 | ":goat:" : "\u{1F410}", 336 | ":golf:" : "\u{026F3}", 337 | ":grapes:" : "\u{1F347}", 338 | ":green_apple:" : "\u{1F34F}", 339 | ":green_book:" : "\u{1F4D7}", 340 | ":green_heart:" : "\u{1F49A}", 341 | ":grey_exclamation:" : "\u{02755}", 342 | ":grey_question:" : "\u{02754}", 343 | ":grimacing:" : "\u{1F62C}", 344 | ":grin:" : "\u{1F601}", 345 | ":grinning:" : "\u{1F600}", 346 | ":guardsman:" : "\u{1F482}", 347 | ":guitar:" : "\u{1F3B8}", 348 | ":gun:" : "\u{1F52B}", 349 | ":haircut:" : "\u{1F487}", 350 | ":hamburger:" : "\u{1F354}", 351 | ":hammer:" : "\u{1F528}", 352 | ":hamster:" : "\u{1F439}", 353 | ":hand:" : "\u{0270B}", 354 | ":handbag:" : "\u{1F45C}", 355 | ":hankey:" : "\u{1F4A9}", 356 | ":hatched_chick:" : "\u{1F425}", 357 | ":hatching_chick:" : "\u{1F423}", 358 | ":headphones:" : "\u{1F3A7}", 359 | ":hear_no_evil:" : "\u{1F649}", 360 | ":heart:" : "\u{02764}", 361 | ":heart_decoration:" : "\u{1F49F}", 362 | ":heart_eyes:" : "\u{1F60D}", 363 | ":heart_eyes_cat:" : "\u{1F63B}", 364 | ":heartbeat:" : "\u{1F493}", 365 | ":heartpulse:" : "\u{1F497}", 366 | ":hearts:" : "\u{02665}", 367 | ":heavy_check_mark:" : "\u{02714}", 368 | ":heavy_division_sign:" : "\u{02797}", 369 | ":heavy_dollar_sign:" : "\u{1F4B2}", 370 | ":heavy_exclamation_mark:" : "\u{02757}", 371 | ":heavy_minus_sign:" : "\u{02796}", 372 | ":heavy_multiplication_x:" : "\u{02716}", 373 | ":heavy_plus_sign:" : "\u{02795}", 374 | ":helicopter:" : "\u{1F681}", 375 | ":herb:" : "\u{1F33F}", 376 | ":hibiscus:" : "\u{1F33A}", 377 | ":high_brightness:" : "\u{1F506}", 378 | ":high_heel:" : "\u{1F460}", 379 | ":hocho:" : "\u{1F52A}", 380 | ":honey_pot:" : "\u{1F36F}", 381 | ":honeybee:" : "\u{1F41D}", 382 | ":horse:" : "\u{1F434}", 383 | ":horse_racing:" : "\u{1F3C7}", 384 | ":hospital:" : "\u{1F3E5}", 385 | ":hotel:" : "\u{1F3E8}", 386 | ":hotsprings:" : "\u{02668}", 387 | ":hourglass:" : "\u{0231B}", 388 | ":hourglass_flowing_sand:" : "\u{023F3}", 389 | ":house:" : "\u{1F3E0}", 390 | ":house_with_garden:" : "\u{1F3E1}", 391 | ":hushed:" : "\u{1F62F}", 392 | ":ice_cream:" : "\u{1F368}", 393 | ":icecream:" : "\u{1F366}", 394 | ":id:" : "\u{1F194}", 395 | ":ideograph_advantage:" : "\u{1F250}", 396 | ":imp:" : "\u{1F47F}", 397 | ":inbox_tray:" : "\u{1F4E5}", 398 | ":incoming_envelope:" : "\u{1F4E8}", 399 | ":information_desk_person:" : "\u{1F481}", 400 | ":information_source:" : "\u{02139}", 401 | ":innocent:" : "\u{1F607}", 402 | ":interrobang:" : "\u{02049}", 403 | ":iphone:" : "\u{1F4F1}", 404 | ":izakaya_lantern:" : "\u{1F3EE}", 405 | ":jack_o_lantern:" : "\u{1F383}", 406 | ":japan:" : "\u{1F5FE}", 407 | ":japanese_castle:" : "\u{1F3EF}", 408 | ":japanese_goblin:" : "\u{1F47A}", 409 | ":japanese_ogre:" : "\u{1F479}", 410 | ":jeans:" : "\u{1F456}", 411 | ":joy:" : "\u{1F602}", 412 | ":joy_cat:" : "\u{1F639}", 413 | ":key:" : "\u{1F511}", 414 | ":keycap_ten:" : "\u{1F51F}", 415 | ":kimono:" : "\u{1F458}", 416 | ":kiss:" : "\u{1F48B}", 417 | ":kissing:" : "\u{1F617}", 418 | ":kissing_cat:" : "\u{1F63D}", 419 | ":kissing_closed_eyes:" : "\u{1F61A}", 420 | ":kissing_heart:" : "\u{1F618}", 421 | ":kissing_smiling_eyes:" : "\u{1F619}", 422 | ":koala:" : "\u{1F428}", 423 | ":koko:" : "\u{1F201}", 424 | ":lantern:" : "\u{1F3EE}", 425 | ":large_blue_circle:" : "\u{1F535}", 426 | ":large_blue_diamond:" : "\u{1F537}", 427 | ":large_orange_diamond:" : "\u{1F536}", 428 | ":last_quarter_moon:" : "\u{1F317}", 429 | ":last_quarter_moon_with_face:" : "\u{1F31C}", 430 | ":laughing:" : "\u{1F606}", 431 | ":leaves:" : "\u{1F343}", 432 | ":ledger:" : "\u{1F4D2}", 433 | ":left_luggage:" : "\u{1F6C5}", 434 | ":left_right_arrow:" : "\u{02194}", 435 | ":leftwards_arrow_with_hook:" : "\u{021A9}", 436 | ":lemon:" : "\u{1F34B}", 437 | ":leo:" : "\u{0264C}", 438 | ":leopard:" : "\u{1F406}", 439 | ":libra:" : "\u{0264E}", 440 | ":light_rail:" : "\u{1F688}", 441 | ":link:" : "\u{1F517}", 442 | ":lips:" : "\u{1F444}", 443 | ":lipstick:" : "\u{1F484}", 444 | ":lock:" : "\u{1F512}", 445 | ":lock_with_ink_pen:" : "\u{1F50F}", 446 | ":lollipop:" : "\u{1F36D}", 447 | ":loop:" : "\u{027BF}", 448 | ":loudspeaker:" : "\u{1F4E2}", 449 | ":love_hotel:" : "\u{1F3E9}", 450 | ":love_letter:" : "\u{1F48C}", 451 | ":low_brightness:" : "\u{1F505}", 452 | ":m:" : "\u{024C2}", 453 | ":mag:" : "\u{1F50D}", 454 | ":mag_right:" : "\u{1F50E}", 455 | ":mahjong:" : "\u{1F004}", 456 | ":mailbox:" : "\u{1F4EB}", 457 | ":mailbox_closed:" : "\u{1F4EA}", 458 | ":mailbox_with_mail:" : "\u{1F4EC}", 459 | ":mailbox_with_no_mail:" : "\u{1F4ED}", 460 | ":man:" : "\u{1F468}", 461 | ":man_with_gua_pi_mao:" : "\u{1F472}", 462 | ":man_with_turban:" : "\u{1F473}", 463 | ":mans_shoe:" : "\u{1F45E}", 464 | ":maple_leaf:" : "\u{1F341}", 465 | ":mask:" : "\u{1F637}", 466 | ":massage:" : "\u{1F486}", 467 | ":meat_on_bone:" : "\u{1F356}", 468 | ":mega:" : "\u{1F4E3}", 469 | ":melon:" : "\u{1F348}", 470 | ":memo:" : "\u{1F4DD}", 471 | ":mens:" : "\u{1F6B9}", 472 | ":metro:" : "\u{1F687}", 473 | ":microphone:" : "\u{1F3A4}", 474 | ":microscope:" : "\u{1F52C}", 475 | ":milky_way:" : "\u{1F30C}", 476 | ":minibus:" : "\u{1F690}", 477 | ":minidisc:" : "\u{1F4BD}", 478 | ":mobile_phone_off:" : "\u{1F4F4}", 479 | ":money_with_wings:" : "\u{1F4B8}", 480 | ":moneybag:" : "\u{1F4B0}", 481 | ":monkey:" : "\u{1F412}", 482 | ":monkey_face:" : "\u{1F435}", 483 | ":monorail:" : "\u{1F69D}", 484 | ":moon:" : "\u{1F314}", 485 | ":mortar_board:" : "\u{1F393}", 486 | ":mount_fuji:" : "\u{1F5FB}", 487 | ":mountain_bicyclist:" : "\u{1F6B5}", 488 | ":mountain_cableway:" : "\u{1F6A0}", 489 | ":mountain_railway:" : "\u{1F69E}", 490 | ":mouse:" : "\u{1F42D}", 491 | ":mouse2:" : "\u{1F401}", 492 | ":movie_camera:" : "\u{1F3A5}", 493 | ":moyai:" : "\u{1F5FF}", 494 | ":muscle:" : "\u{1F4AA}", 495 | ":mushroom:" : "\u{1F344}", 496 | ":musical_keyboard:" : "\u{1F3B9}", 497 | ":musical_note:" : "\u{1F3B5}", 498 | ":musical_score:" : "\u{1F3BC}", 499 | ":mute:" : "\u{1F507}", 500 | ":nail_care:" : "\u{1F485}", 501 | ":name_badge:" : "\u{1F4DB}", 502 | ":necktie:" : "\u{1F454}", 503 | ":negative_squared_cross_mark:" : "\u{0274E}", 504 | ":neutral_face:" : "\u{1F610}", 505 | ":new:" : "\u{1F195}", 506 | ":new_moon:" : "\u{1F311}", 507 | ":new_moon_with_face:" : "\u{1F31A}", 508 | ":newspaper:" : "\u{1F4F0}", 509 | ":ng:" : "\u{1F196}", 510 | ":no_bell:" : "\u{1F515}", 511 | ":no_bicycles:" : "\u{1F6B3}", 512 | ":no_entry:" : "\u{026D4}", 513 | ":no_entry_sign:" : "\u{1F6AB}", 514 | ":no_good:" : "\u{1F645}", 515 | ":no_mobile_phones:" : "\u{1F4F5}", 516 | ":no_mouth:" : "\u{1F636}", 517 | ":no_pedestrians:" : "\u{1F6B7}", 518 | ":no_smoking:" : "\u{1F6AD}", 519 | ":non-potable_water:" : "\u{1F6B1}", 520 | ":nose:" : "\u{1F443}", 521 | ":notebook:" : "\u{1F4D3}", 522 | ":notebook_with_decorative_cover:" : "\u{1F4D4}", 523 | ":notes:" : "\u{1F3B6}", 524 | ":nut_and_bolt:" : "\u{1F529}", 525 | ":o:" : "\u{02B55}", 526 | ":o2:" : "\u{1F17E}", 527 | ":ocean:" : "\u{1F30A}", 528 | ":octopus:" : "\u{1F419}", 529 | ":oden:" : "\u{1F362}", 530 | ":office:" : "\u{1F3E2}", 531 | ":ok:" : "\u{1F197}", 532 | ":ok_hand:" : "\u{1F44C}", 533 | ":ok_woman:" : "\u{1F646}", 534 | ":older_man:" : "\u{1F474}", 535 | ":older_woman:" : "\u{1F475}", 536 | ":on:" : "\u{1F51B}", 537 | ":oncoming_automobile:" : "\u{1F698}", 538 | ":oncoming_bus:" : "\u{1F68D}", 539 | ":oncoming_police_car:" : "\u{1F694}", 540 | ":oncoming_taxi:" : "\u{1F696}", 541 | ":open_book:" : "\u{1F4D6}", 542 | ":open_file_folder:" : "\u{1F4C2}", 543 | ":open_hands:" : "\u{1F450}", 544 | ":open_mouth:" : "\u{1F62E}", 545 | ":ophiuchus:" : "\u{026CE}", 546 | ":orange_book:" : "\u{1F4D9}", 547 | ":outbox_tray:" : "\u{1F4E4}", 548 | ":ox:" : "\u{1F402}", 549 | ":package:" : "\u{1F4E6}", 550 | ":page_facing_up:" : "\u{1F4C4}", 551 | ":page_with_curl:" : "\u{1F4C3}", 552 | ":pager:" : "\u{1F4DF}", 553 | ":palm_tree:" : "\u{1F334}", 554 | ":panda_face:" : "\u{1F43C}", 555 | ":paperclip:" : "\u{1F4CE}", 556 | ":parking:" : "\u{1F17F}", 557 | ":part_alternation_mark:" : "\u{0303D}", 558 | ":partly_sunny:" : "\u{026C5}", 559 | ":passport_control:" : "\u{1F6C2}", 560 | ":paw_prints:" : "\u{1F43E}", 561 | ":peach:" : "\u{1F351}", 562 | ":pear:" : "\u{1F350}", 563 | ":pencil:" : "\u{1F4DD}", 564 | ":pencil2:" : "\u{0270F}", 565 | ":penguin:" : "\u{1F427}", 566 | ":pensive:" : "\u{1F614}", 567 | ":performing_arts:" : "\u{1F3AD}", 568 | ":persevere:" : "\u{1F623}", 569 | ":person_frowning:" : "\u{1F64D}", 570 | ":person_with_blond_hair:" : "\u{1F471}", 571 | ":person_with_pouting_face:" : "\u{1F64E}", 572 | ":phone:" : "\u{0260E}", 573 | ":pig:" : "\u{1F437}", 574 | ":pig2:" : "\u{1F416}", 575 | ":pig_nose:" : "\u{1F43D}", 576 | ":pill:" : "\u{1F48A}", 577 | ":pineapple:" : "\u{1F34D}", 578 | ":pisces:" : "\u{02653}", 579 | ":pizza:" : "\u{1F355}", 580 | ":point_down:" : "\u{1F447}", 581 | ":point_left:" : "\u{1F448}", 582 | ":point_right:" : "\u{1F449}", 583 | ":point_up:" : "\u{0261D}", 584 | ":point_up_2:" : "\u{1F446}", 585 | ":police_car:" : "\u{1F693}", 586 | ":poodle:" : "\u{1F429}", 587 | ":poop:" : "\u{1F4A9}", 588 | ":post_office:" : "\u{1F3E3}", 589 | ":postal_horn:" : "\u{1F4EF}", 590 | ":postbox:" : "\u{1F4EE}", 591 | ":potable_water:" : "\u{1F6B0}", 592 | ":pouch:" : "\u{1F45D}", 593 | ":poultry_leg:" : "\u{1F357}", 594 | ":pound:" : "\u{1F4B7}", 595 | ":pouting_cat:" : "\u{1F63E}", 596 | ":pray:" : "\u{1F64F}", 597 | ":princess:" : "\u{1F478}", 598 | ":punch:" : "\u{1F44A}", 599 | ":purple_heart:" : "\u{1F49C}", 600 | ":purse:" : "\u{1F45B}", 601 | ":pushpin:" : "\u{1F4CC}", 602 | ":put_litter_in_its_place:" : "\u{1F6AE}", 603 | ":question:" : "\u{02753}", 604 | ":rabbit:" : "\u{1F430}", 605 | ":rabbit2:" : "\u{1F407}", 606 | ":racehorse:" : "\u{1F40E}", 607 | ":radio:" : "\u{1F4FB}", 608 | ":radio_button:" : "\u{1F518}", 609 | ":rage:" : "\u{1F621}", 610 | ":railway_car:" : "\u{1F683}", 611 | ":rainbow:" : "\u{1F308}", 612 | ":raised_hand:" : "\u{0270B}", 613 | ":raised_hands:" : "\u{1F64C}", 614 | ":raising_hand:" : "\u{1F64B}", 615 | ":ram:" : "\u{1F40F}", 616 | ":ramen:" : "\u{1F35C}", 617 | ":rat:" : "\u{1F400}", 618 | ":recycle:" : "\u{0267B}", 619 | ":red_car:" : "\u{1F697}", 620 | ":red_circle:" : "\u{1F534}", 621 | ":registered:" : "\u{AE}", 622 | ":relaxed:" : "\u{0263A}", 623 | ":relieved:" : "\u{1F60C}", 624 | ":repeat:" : "\u{1F501}", 625 | ":repeat_one:" : "\u{1F502}", 626 | ":restroom:" : "\u{1F6BB}", 627 | ":revolving_hearts:" : "\u{1F49E}", 628 | ":rewind:" : "\u{023EA}", 629 | ":ribbon:" : "\u{1F380}", 630 | ":rice:" : "\u{1F35A}", 631 | ":rice_ball:" : "\u{1F359}", 632 | ":rice_cracker:" : "\u{1F358}", 633 | ":rice_scene:" : "\u{1F391}", 634 | ":ring:" : "\u{1F48D}", 635 | ":rocket:" : "\u{1F680}", 636 | ":roller_coaster:" : "\u{1F3A2}", 637 | ":rooster:" : "\u{1F413}", 638 | ":rose:" : "\u{1F339}", 639 | ":rotating_light:" : "\u{1F6A8}", 640 | ":round_pushpin:" : "\u{1F4CD}", 641 | ":rowboat:" : "\u{1F6A3}", 642 | ":rugby_football:" : "\u{1F3C9}", 643 | ":runner:" : "\u{1F3C3}", 644 | ":running:" : "\u{1F3C3}", 645 | ":running_shirt_with_sash:" : "\u{1F3BD}", 646 | ":sa:" : "\u{1F202}", 647 | ":sagittarius:" : "\u{02650}", 648 | ":sailboat:" : "\u{026F5}", 649 | ":sake:" : "\u{1F376}", 650 | ":sandal:" : "\u{1F461}", 651 | ":santa:" : "\u{1F385}", 652 | ":satellite:" : "\u{1F4E1}", 653 | ":satisfied:" : "\u{1F606}", 654 | ":saxophone:" : "\u{1F3B7}", 655 | ":school:" : "\u{1F3EB}", 656 | ":school_satchel:" : "\u{1F392}", 657 | ":scissors:" : "\u{02702}", 658 | ":scorpius:" : "\u{0264F}", 659 | ":scream:" : "\u{1F631}", 660 | ":scream_cat:" : "\u{1F640}", 661 | ":scroll:" : "\u{1F4DC}", 662 | ":seat:" : "\u{1F4BA}", 663 | ":secret:" : "\u{03299}", 664 | ":see_no_evil:" : "\u{1F648}", 665 | ":seedling:" : "\u{1F331}", 666 | ":shaved_ice:" : "\u{1F367}", 667 | ":sheep:" : "\u{1F411}", 668 | ":shell:" : "\u{1F41A}", 669 | ":ship:" : "\u{1F6A2}", 670 | ":shirt:" : "\u{1F455}", 671 | ":shit:" : "\u{1F4A9}", 672 | ":shoe:" : "\u{1F45E}", 673 | ":shower:" : "\u{1F6BF}", 674 | ":signal_strength:" : "\u{1F4F6}", 675 | ":six_pointed_star:" : "\u{1F52F}", 676 | ":ski:" : "\u{1F3BF}", 677 | ":skull:" : "\u{1F480}", 678 | ":sleeping:" : "\u{1F634}", 679 | ":sleepy:" : "\u{1F62A}", 680 | ":slot_machine:" : "\u{1F3B0}", 681 | ":small_blue_diamond:" : "\u{1F539}", 682 | ":small_orange_diamond:" : "\u{1F538}", 683 | ":small_red_triangle:" : "\u{1F53A}", 684 | ":small_red_triangle_down:" : "\u{1F53B}", 685 | ":smile:" : "\u{1F604}", 686 | ":smile_cat:" : "\u{1F638}", 687 | ":smiley:" : "\u{1F603}", 688 | ":smiley_cat:" : "\u{1F63A}", 689 | ":smiling_imp:" : "\u{1F608}", 690 | ":smirk:" : "\u{1F60F}", 691 | ":smirk_cat:" : "\u{1F63C}", 692 | ":smoking:" : "\u{1F6AC}", 693 | ":snail:" : "\u{1F40C}", 694 | ":snake:" : "\u{1F40D}", 695 | ":snowboarder:" : "\u{1F3C2}", 696 | ":snowflake:" : "\u{02744}", 697 | ":snowman:" : "\u{026C4}", 698 | ":sob:" : "\u{1F62D}", 699 | ":soccer:" : "\u{026BD}", 700 | ":soon:" : "\u{1F51C}", 701 | ":sos:" : "\u{1F198}", 702 | ":sound:" : "\u{1F509}", 703 | ":space_invader:" : "\u{1F47E}", 704 | ":spades:" : "\u{02660}", 705 | ":spaghetti:" : "\u{1F35D}", 706 | ":sparkle:" : "\u{02747}", 707 | ":sparkler:" : "\u{1F387}", 708 | ":sparkles:" : "\u{02728}", 709 | ":sparkling_heart:" : "\u{1F496}", 710 | ":speak_no_evil:" : "\u{1F64A}", 711 | ":speaker:" : "\u{1F50A}", 712 | ":speech_balloon:" : "\u{1F4AC}", 713 | ":speedboat:" : "\u{1F6A4}", 714 | ":star:" : "\u{02B50}", 715 | ":star2:" : "\u{1F31F}", 716 | ":stars:" : "\u{1F303}", 717 | ":station:" : "\u{1F689}", 718 | ":statue_of_liberty:" : "\u{1F5FD}", 719 | ":steam_locomotive:" : "\u{1F682}", 720 | ":stew:" : "\u{1F372}", 721 | ":straight_ruler:" : "\u{1F4CF}", 722 | ":strawberry:" : "\u{1F353}", 723 | ":stuck_out_tongue:" : "\u{1F61B}", 724 | ":stuck_out_tongue_closed_eyes:" : "\u{1F61D}", 725 | ":stuck_out_tongue_winking_eye:" : "\u{1F61C}", 726 | ":sun_with_face:" : "\u{1F31E}", 727 | ":sunflower:" : "\u{1F33B}", 728 | ":sunglasses:" : "\u{1F60E}", 729 | ":sunny:" : "\u{02600}", 730 | ":sunrise:" : "\u{1F305}", 731 | ":sunrise_over_mountains:" : "\u{1F304}", 732 | ":surfer:" : "\u{1F3C4}", 733 | ":sushi:" : "\u{1F363}", 734 | ":suspension_railway:" : "\u{1F69F}", 735 | ":sweat:" : "\u{1F613}", 736 | ":sweat_drops:" : "\u{1F4A6}", 737 | ":sweat_smile:" : "\u{1F605}", 738 | ":sweet_potato:" : "\u{1F360}", 739 | ":swimmer:" : "\u{1F3CA}", 740 | ":symbols:" : "\u{1F523}", 741 | ":syringe:" : "\u{1F489}", 742 | ":tada:" : "\u{1F389}", 743 | ":tanabata_tree:" : "\u{1F38B}", 744 | ":tangerine:" : "\u{1F34A}", 745 | ":taurus:" : "\u{02649}", 746 | ":taxi:" : "\u{1F695}", 747 | ":tea:" : "\u{1F375}", 748 | ":telephone:" : "\u{0260E}", 749 | ":telephone_receiver:" : "\u{1F4DE}", 750 | ":telescope:" : "\u{1F52D}", 751 | ":tennis:" : "\u{1F3BE}", 752 | ":tent:" : "\u{026FA}", 753 | ":thought_balloon:" : "\u{1F4AD}", 754 | ":thumbsdown:" : "\u{1F44E}", 755 | ":thumbsup:" : "\u{1F44D}", 756 | ":ticket:" : "\u{1F3AB}", 757 | ":tiger:" : "\u{1F42F}", 758 | ":tiger2:" : "\u{1F405}", 759 | ":tired_face:" : "\u{1F62B}", 760 | ":tm:" : "\u{02122}", 761 | ":toilet:" : "\u{1F6BD}", 762 | ":tokyo_tower:" : "\u{1F5FC}", 763 | ":tomato:" : "\u{1F345}", 764 | ":tongue:" : "\u{1F445}", 765 | ":top:" : "\u{1F51D}", 766 | ":tophat:" : "\u{1F3A9}", 767 | ":tractor:" : "\u{1F69C}", 768 | ":traffic_light:" : "\u{1F6A5}", 769 | ":train:" : "\u{1F683}", 770 | ":train2:" : "\u{1F686}", 771 | ":tram:" : "\u{1F68A}", 772 | ":triangular_flag_on_post:" : "\u{1F6A9}", 773 | ":triangular_ruler:" : "\u{1F4D0}", 774 | ":trident:" : "\u{1F531}", 775 | ":triumph:" : "\u{1F624}", 776 | ":trolleybus:" : "\u{1F68E}", 777 | ":trophy:" : "\u{1F3C6}", 778 | ":tropical_drink:" : "\u{1F379}", 779 | ":tropical_fish:" : "\u{1F420}", 780 | ":truck:" : "\u{1F69A}", 781 | ":trumpet:" : "\u{1F3BA}", 782 | ":tshirt:" : "\u{1F455}", 783 | ":tulip:" : "\u{1F337}", 784 | ":turtle:" : "\u{1F422}", 785 | ":tv:" : "\u{1F4FA}", 786 | ":twisted_rightwards_arrows:" : "\u{1F500}", 787 | ":two_hearts:" : "\u{1F495}", 788 | ":two_men_holding_hands:" : "\u{1F46C}", 789 | ":two_women_holding_hands:" : "\u{1F46D}", 790 | ":u5272:" : "\u{1F239}", 791 | ":u5408:" : "\u{1F234}", 792 | ":u55b6:" : "\u{1F23A}", 793 | ":u6307:" : "\u{1F22F}", 794 | ":u6708:" : "\u{1F237}", 795 | ":u6709:" : "\u{1F236}", 796 | ":u6e80:" : "\u{1F235}", 797 | ":u7121:" : "\u{1F21A}", 798 | ":u7533:" : "\u{1F238}", 799 | ":u7981:" : "\u{1F232}", 800 | ":u7a7a:" : "\u{1F233}", 801 | ":umbrella:" : "\u{02614}", 802 | ":unamused:" : "\u{1F612}", 803 | ":underage:" : "\u{1F51E}", 804 | ":unlock:" : "\u{1F513}", 805 | ":up:" : "\u{1F199}", 806 | ":v:" : "\u{0270C}", 807 | ":vertical_traffic_light:" : "\u{1F6A6}", 808 | ":vhs:" : "\u{1F4FC}", 809 | ":vibration_mode:" : "\u{1F4F3}", 810 | ":video_camera:" : "\u{1F4F9}", 811 | ":video_game:" : "\u{1F3AE}", 812 | ":violin:" : "\u{1F3BB}", 813 | ":virgo:" : "\u{0264D}", 814 | ":volcano:" : "\u{1F30B}", 815 | ":vs:" : "\u{1F19A}", 816 | ":walking:" : "\u{1F6B6}", 817 | ":waning_crescent_moon:" : "\u{1F318}", 818 | ":waning_gibbous_moon:" : "\u{1F316}", 819 | ":warning:" : "\u{026A0}", 820 | ":watch:" : "\u{0231A}", 821 | ":water_buffalo:" : "\u{1F403}", 822 | ":watermelon:" : "\u{1F349}", 823 | ":wave:" : "\u{1F44B}", 824 | ":wavy_dash:" : "\u{03030}", 825 | ":waxing_crescent_moon:" : "\u{1F312}", 826 | ":waxing_gibbous_moon:" : "\u{1F314}", 827 | ":wc:" : "\u{1F6BE}", 828 | ":weary:" : "\u{1F629}", 829 | ":wedding:" : "\u{1F492}", 830 | ":whale:" : "\u{1F433}", 831 | ":whale2:" : "\u{1F40B}", 832 | ":wheelchair:" : "\u{0267F}", 833 | ":white_check_mark:" : "\u{02705}", 834 | ":white_circle:" : "\u{026AA}", 835 | ":white_flower:" : "\u{1F4AE}", 836 | ":white_large_square:" : "\u{02B1C}", 837 | ":white_medium_small_square:" : "\u{025FD}", 838 | ":white_medium_square:" : "\u{025FB}", 839 | ":white_small_square:" : "\u{025AB}", 840 | ":white_square_button:" : "\u{1F533}", 841 | ":wind_chime:" : "\u{1F390}", 842 | ":wine_glass:" : "\u{1F377}", 843 | ":wink:" : "\u{1F609}", 844 | ":wolf:" : "\u{1F43A}", 845 | ":woman:" : "\u{1F469}", 846 | ":womans_clothes:" : "\u{1F45A}", 847 | ":womans_hat:" : "\u{1F452}", 848 | ":womens:" : "\u{1F6BA}", 849 | ":worried:" : "\u{1F61F}", 850 | ":wrench:" : "\u{1F527}", 851 | ":x:" : "\u{0274C}", 852 | ":yellow_heart:" : "\u{1F49B}", 853 | ":yen:" : "\u{1F4B4}", 854 | ":yum:" : "\u{1F60B}", 855 | ":zap:" : "\u{026A1}", 856 | ":zzz:" : "\u{1F4A4}" 857 | ] -------------------------------------------------------------------------------- /Example/StringEmojize/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /Example/StringEmojize/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | com.kylefrost.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /Example/StringEmojize/StringEmojize.swift: -------------------------------------------------------------------------------- 1 | // 2 | // StringEmojize.swift 3 | // StringEmojize 4 | // 5 | // Created by Kyle Frost on 2/9/15. 6 | // Copyright (c) 2015 Kyle Frost. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension String { 12 | 13 | func emojizedString() -> String { 14 | return self.emojizedStringWithString(self) 15 | } 16 | 17 | func emojizedStringWithString(text: String) -> String { 18 | var onceToken: dispatch_once_t = 0 19 | var regex = NSRegularExpression() 20 | 21 | dispatch_once(&onceToken) { 22 | regex = NSRegularExpression(pattern: "(:[a-z0-9-+_]+:)", options: .CaseInsensitive, error:nil)! 23 | } 24 | 25 | var resultText = text 26 | let matchingRange = NSMakeRange(0, resultText.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)) 27 | regex.enumerateMatchesInString(resultText, options: .ReportCompletion, range: matchingRange, usingBlock: { 28 | (result: NSTextCheckingResult!, flags: NSMatchingFlags, stop: UnsafeMutablePointer) -> Void in 29 | if ((result != nil) && (result.resultType == .RegularExpression)) { 30 | let range = result.range 31 | if (range.location != NSNotFound) { 32 | var code = (text as NSString).substringWithRange(range) 33 | var unicode = self.emojiAliases(code) 34 | if !unicode.isEmpty { 35 | resultText = resultText.stringByReplacingOccurrencesOfString(code, withString:unicode, options: nil, range: nil) 36 | } 37 | } 38 | } 39 | }) 40 | 41 | return resultText 42 | } 43 | 44 | func emojiAliases(key: String) -> String { 45 | //var myDict = Dictionary() 46 | var value: String = "" 47 | var onceToken: dispatch_once_t = 0 48 | dispatch_once(&onceToken) { 49 | value = EMOJI_HASH[key]! 50 | } 51 | 52 | return value 53 | } 54 | } -------------------------------------------------------------------------------- /Example/StringEmojize/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // StringEmojize 4 | // 5 | // Created by Kyle Frost on 2/9/15. 6 | // Copyright (c) 2015 Kyle Frost. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | 13 | @IBOutlet weak var textField: UITextField! 14 | @IBOutlet weak var showLabel: UILabel! 15 | 16 | override func viewDidLoad() { 17 | super.viewDidLoad() 18 | // Do any additional setup after loading the view, typically from a nib. 19 | } 20 | 21 | @IBAction func convertButton(sender: UIButton) { 22 | 23 | var myString = textField.text 24 | showLabel.text = myString.emojizedString() 25 | } 26 | } 27 | 28 | -------------------------------------------------------------------------------- /Example/StringEmojizeTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | com.kylefrost.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /Example/StringEmojizeTests/StringEmojizeTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // StringEmojizeTests.swift 3 | // StringEmojizeTests 4 | // 5 | // Created by Kyle Frost on 2/9/15. 6 | // Copyright (c) 2015 Kyle Frost. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import XCTest 11 | 12 | class StringEmojizeTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | XCTAssert(true, "Pass") 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock() { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Kyle Frost 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # StringEmojize 2 | ####Extension of Swift's String to convert [Emoji Cheat Sheet](http://www.emoji-cheat-sheet.com/) codes into their Unicode equivalent. 3 | 4 | ## Getting Started 5 | 6 | Simply add the StringEmojize folder at the root of this repo to your project. Swift doesn't require you to import the files (see below for CocoaPods). 7 | 8 | ```swift 9 | var emojiCodeString = "This string has an Emoji :+1:" 10 | println(emojiCodeString.emojizedString()) 11 | ``` 12 | 13 | *If you are installing with CocoaPods, you will need to import* 14 | ```swift 15 | import StringEmojize 16 | ``` 17 | 18 | --- 19 | 20 | ## Methods 21 | 22 | ```swift 23 | public func emojizedString() -> String 24 | public func emojizedStringWithString(text: String) -> String 25 | ``` 26 | 27 | --- 28 | 29 | ## Support 30 | StringEmojize has only been tested on Xcode 6.1.1 with iOS 8, however any iOS device supporting Swift should be able to run it (but, that is untested). 31 | 32 | --- 33 | 34 | ## License and Credits 35 | 36 | License: See [LICENSE](LICENSE). 37 | 38 | Original idea from [diy/NSStringEmojize](https://github.com/diy/NSStringEmojize) for converting Objective-C NSString's to Emojis. 39 | -------------------------------------------------------------------------------- /StringEmojize.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | s.name = 'StringEmojize' 3 | s.version = '0.1.1' 4 | s.license = 'MIT' 5 | s.summary = 'Extension of Swift\'s String to convert Emoji Cheat Sheet codes into their Unicode equivalent.' 6 | s.homepage = 'https://github.com/kylefrost/StringEmojize' 7 | s.authors = {'Kyle Frost' => 'kyle@kylefrost.me'} 8 | s.source = { :git => 'https://github.com/kylefrost/StringEmojize.git', :tag => 'v0.1.1' } 9 | s.platform = :ios, '8.0' 10 | s.source_files = 'StringEmojize' 11 | s.requires_arc = true 12 | 13 | s.framework = 'UIKit' 14 | end 15 | -------------------------------------------------------------------------------- /StringEmojize/EmojiCodes.swift: -------------------------------------------------------------------------------- 1 | // 2 | // EmojiCodes.swift 3 | // StringEmojize 4 | // 5 | // Created by Kyle Frost on 2/9/15. 6 | // Copyright (c) 2015 Kyle Frost. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | let EMOJI_HASH: [String: String] = [ 12 | ":+1:" : "\u{1F44D}", 13 | ":-1:" : "\u{1F44E}", 14 | ":100:" : "\u{1F4AF}", 15 | ":1234:" : "\u{1F522}", 16 | ":8ball:" : "\u{1F3B1}", 17 | ":a:" : "\u{1F170}", 18 | ":ab:" : "\u{1F18E}", 19 | ":abc:" : "\u{1F524}", 20 | ":abcd:" : "\u{1F521}", 21 | ":accept:" : "\u{1F251}", 22 | ":aerial_tramway:" : "\u{1F6A1}", 23 | ":airplane:" : "\u{02708}", 24 | ":alarm_clock:" : "\u{023F0}", 25 | ":alien:" : "\u{1F47D}", 26 | ":ambulance:" : "\u{1F691}", 27 | ":anchor:" : "\u{02693}", 28 | ":angel:" : "\u{1F47C}", 29 | ":anger:" : "\u{1F4A2}", 30 | ":angry:" : "\u{1F620}", 31 | ":anguished:" : "\u{1F627}", 32 | ":ant:" : "\u{1F41C}", 33 | ":apple:" : "\u{1F34E}", 34 | ":aquarius:" : "\u{02652}", 35 | ":aries:" : "\u{02648}", 36 | ":arrow_backward:" : "\u{025C0}", 37 | ":arrow_double_down:" : "\u{023EC}", 38 | ":arrow_double_up:" : "\u{023EB}", 39 | ":arrow_down:" : "\u{02B07}", 40 | ":arrow_down_small:" : "\u{1F53D}", 41 | ":arrow_forward:" : "\u{025B6}", 42 | ":arrow_heading_down:" : "\u{02935}", 43 | ":arrow_heading_up:" : "\u{02934}", 44 | ":arrow_left:" : "\u{02B05}", 45 | ":arrow_lower_left:" : "\u{02199}", 46 | ":arrow_lower_right:" : "\u{02198}", 47 | ":arrow_right:" : "\u{027A1}", 48 | ":arrow_right_hook:" : "\u{021AA}", 49 | ":arrow_up:" : "\u{02B06}", 50 | ":arrow_up_down:" : "\u{02195}", 51 | ":arrow_up_small:" : "\u{1F53C}", 52 | ":arrow_upper_left:" : "\u{02196}", 53 | ":arrow_upper_right:" : "\u{02197}", 54 | ":arrows_clockwise:" : "\u{1F503}", 55 | ":arrows_counterclockwise:" : "\u{1F504}", 56 | ":art:" : "\u{1F3A8}", 57 | ":articulated_lorry:" : "\u{1F69B}", 58 | ":astonished:" : "\u{1F632}", 59 | ":athletic_shoe:" : "\u{1F45F}", 60 | ":atm:" : "\u{1F3E7}", 61 | ":b:" : "\u{1F171}", 62 | ":baby:" : "\u{1F476}", 63 | ":baby_bottle:" : "\u{1F37C}", 64 | ":baby_chick:" : "\u{1F424}", 65 | ":baby_symbol:" : "\u{1F6BC}", 66 | ":back:" : "\u{1F519}", 67 | ":baggage_claim:" : "\u{1F6C4}", 68 | ":balloon:" : "\u{1F388}", 69 | ":ballot_box_with_check:" : "\u{02611}", 70 | ":bamboo:" : "\u{1F38D}", 71 | ":banana:" : "\u{1F34C}", 72 | ":bangbang:" : "\u{0203C}", 73 | ":bank:" : "\u{1F3E6}", 74 | ":bar_chart:" : "\u{1F4CA}", 75 | ":barber:" : "\u{1F488}", 76 | ":baseball:" : "\u{026BE}", 77 | ":basketball:" : "\u{1F3C0}", 78 | ":bath:" : "\u{1F6C0}", 79 | ":bathtub:" : "\u{1F6C1}", 80 | ":battery:" : "\u{1F50B}", 81 | ":bear:" : "\u{1F43B}", 82 | ":bee:" : "\u{1F41D}", 83 | ":beer:" : "\u{1F37A}", 84 | ":beers:" : "\u{1F37B}", 85 | ":beetle:" : "\u{1F41E}", 86 | ":beginner:" : "\u{1F530}", 87 | ":bell:" : "\u{1F514}", 88 | ":bento:" : "\u{1F371}", 89 | ":bicyclist:" : "\u{1F6B4}", 90 | ":bike:" : "\u{1F6B2}", 91 | ":bikini:" : "\u{1F459}", 92 | ":bird:" : "\u{1F426}", 93 | ":birthday:" : "\u{1F382}", 94 | ":black_circle:" : "\u{026AB}", 95 | ":black_joker:" : "\u{1F0CF}", 96 | ":black_large_square:" : "\u{02B1B}", 97 | ":black_medium_small_square:" : "\u{025FE}", 98 | ":black_medium_square:" : "\u{025FC}", 99 | ":black_nib:" : "\u{02712}", 100 | ":black_small_square:" : "\u{025AA}", 101 | ":black_square_button:" : "\u{1F532}", 102 | ":blossom:" : "\u{1F33C}", 103 | ":blowfish:" : "\u{1F421}", 104 | ":blue_book:" : "\u{1F4D8}", 105 | ":blue_car:" : "\u{1F699}", 106 | ":blue_heart:" : "\u{1F499}", 107 | ":blush:" : "\u{1F60A}", 108 | ":boar:" : "\u{1F417}", 109 | ":boat:" : "\u{026F5}", 110 | ":bomb:" : "\u{1F4A3}", 111 | ":book:" : "\u{1F4D6}", 112 | ":bookmark:" : "\u{1F516}", 113 | ":bookmark_tabs:" : "\u{1F4D1}", 114 | ":books:" : "\u{1F4DA}", 115 | ":boom:" : "\u{1F4A5}", 116 | ":boot:" : "\u{1F462}", 117 | ":bouquet:" : "\u{1F490}", 118 | ":bow:" : "\u{1F647}", 119 | ":bowling:" : "\u{1F3B3}", 120 | ":boy:" : "\u{1F466}", 121 | ":bread:" : "\u{1F35E}", 122 | ":bride_with_veil:" : "\u{1F470}", 123 | ":bridge_at_night:" : "\u{1F309}", 124 | ":briefcase:" : "\u{1F4BC}", 125 | ":broken_heart:" : "\u{1F494}", 126 | ":bug:" : "\u{1F41B}", 127 | ":bulb:" : "\u{1F4A1}", 128 | ":bullettrain_front:" : "\u{1F685}", 129 | ":bullettrain_side:" : "\u{1F684}", 130 | ":bus:" : "\u{1F68C}", 131 | ":busstop:" : "\u{1F68F}", 132 | ":bust_in_silhouette:" : "\u{1F464}", 133 | ":busts_in_silhouette:" : "\u{1F465}", 134 | ":cactus:" : "\u{1F335}", 135 | ":cake:" : "\u{1F370}", 136 | ":calendar:" : "\u{1F4C6}", 137 | ":calling:" : "\u{1F4F2}", 138 | ":camel:" : "\u{1F42B}", 139 | ":camera:" : "\u{1F4F7}", 140 | ":cancer:" : "\u{0264B}", 141 | ":candy:" : "\u{1F36C}", 142 | ":capital_abcd:" : "\u{1F520}", 143 | ":capricorn:" : "\u{02651}", 144 | ":car:" : "\u{1F697}", 145 | ":card_index:" : "\u{1F4C7}", 146 | ":carousel_horse:" : "\u{1F3A0}", 147 | ":cat:" : "\u{1F431}", 148 | ":cat2:" : "\u{1F408}", 149 | ":cd:" : "\u{1F4BF}", 150 | ":chart:" : "\u{1F4B9}", 151 | ":chart_with_downwards_trend:" : "\u{1F4C9}", 152 | ":chart_with_upwards_trend:" : "\u{1F4C8}", 153 | ":checkered_flag:" : "\u{1F3C1}", 154 | ":cherries:" : "\u{1F352}", 155 | ":cherry_blossom:" : "\u{1F338}", 156 | ":chestnut:" : "\u{1F330}", 157 | ":chicken:" : "\u{1F414}", 158 | ":children_crossing:" : "\u{1F6B8}", 159 | ":chocolate_bar:" : "\u{1F36B}", 160 | ":christmas_tree:" : "\u{1F384}", 161 | ":church:" : "\u{026EA}", 162 | ":cinema:" : "\u{1F3A6}", 163 | ":circus_tent:" : "\u{1F3AA}", 164 | ":city_sunrise:" : "\u{1F307}", 165 | ":city_sunset:" : "\u{1F306}", 166 | ":cl:" : "\u{1F191}", 167 | ":clap:" : "\u{1F44F}", 168 | ":clapper:" : "\u{1F3AC}", 169 | ":clipboard:" : "\u{1F4CB}", 170 | ":clock1:" : "\u{1F550}", 171 | ":clock10:" : "\u{1F559}", 172 | ":clock1030:" : "\u{1F565}", 173 | ":clock11:" : "\u{1F55A}", 174 | ":clock1130:" : "\u{1F566}", 175 | ":clock12:" : "\u{1F55B}", 176 | ":clock1230:" : "\u{1F567}", 177 | ":clock130:" : "\u{1F55C}", 178 | ":clock2:" : "\u{1F551}", 179 | ":clock230:" : "\u{1F55D}", 180 | ":clock3:" : "\u{1F552}", 181 | ":clock330:" : "\u{1F55E}", 182 | ":clock4:" : "\u{1F553}", 183 | ":clock430:" : "\u{1F55F}", 184 | ":clock5:" : "\u{1F554}", 185 | ":clock530:" : "\u{1F560}", 186 | ":clock6:" : "\u{1F555}", 187 | ":clock630:" : "\u{1F561}", 188 | ":clock7:" : "\u{1F556}", 189 | ":clock730:" : "\u{1F562}", 190 | ":clock8:" : "\u{1F557}", 191 | ":clock830:" : "\u{1F563}", 192 | ":clock9:" : "\u{1F558}", 193 | ":clock930:" : "\u{1F564}", 194 | ":closed_book:" : "\u{1F4D5}", 195 | ":closed_lock_with_key:" : "\u{1F510}", 196 | ":closed_umbrella:" : "\u{1F302}", 197 | ":cloud:" : "\u{02601}", 198 | ":clubs:" : "\u{02663}", 199 | ":cocktail:" : "\u{1F378}", 200 | ":coffee:" : "\u{02615}", 201 | ":cold_sweat:" : "\u{1F630}", 202 | ":collision:" : "\u{1F4A5}", 203 | ":computer:" : "\u{1F4BB}", 204 | ":confetti_ball:" : "\u{1F38A}", 205 | ":confounded:" : "\u{1F616}", 206 | ":confused:" : "\u{1F615}", 207 | ":congratulations:" : "\u{03297}", 208 | ":construction:" : "\u{1F6A7}", 209 | ":construction_worker:" : "\u{1F477}", 210 | ":convenience_store:" : "\u{1F3EA}", 211 | ":cookie:" : "\u{1F36A}", 212 | ":cool:" : "\u{1F192}", 213 | ":cop:" : "\u{1F46E}", 214 | ":copyright:" : "\u{A9}", 215 | ":corn:" : "\u{1F33D}", 216 | ":couple:" : "\u{1F46B}", 217 | ":couple_with_heart:" : "\u{1F491}", 218 | ":couplekiss:" : "\u{1F48F}", 219 | ":cow:" : "\u{1F42E}", 220 | ":cow2:" : "\u{1F404}", 221 | ":credit_card:" : "\u{1F4B3}", 222 | ":crescent_moon:" : "\u{1F319}", 223 | ":crocodile:" : "\u{1F40A}", 224 | ":crossed_flags:" : "\u{1F38C}", 225 | ":crown:" : "\u{1F451}", 226 | ":cry:" : "\u{1F622}", 227 | ":crying_cat_face:" : "\u{1F63F}", 228 | ":crystal_ball:" : "\u{1F52E}", 229 | ":cupid:" : "\u{1F498}", 230 | ":curly_loop:" : "\u{027B0}", 231 | ":currency_exchange:" : "\u{1F4B1}", 232 | ":curry:" : "\u{1F35B}", 233 | ":custard:" : "\u{1F36E}", 234 | ":customs:" : "\u{1F6C3}", 235 | ":cyclone:" : "\u{1F300}", 236 | ":dancer:" : "\u{1F483}", 237 | ":dancers:" : "\u{1F46F}", 238 | ":dango:" : "\u{1F361}", 239 | ":dart:" : "\u{1F3AF}", 240 | ":dash:" : "\u{1F4A8}", 241 | ":date:" : "\u{1F4C5}", 242 | ":deciduous_tree:" : "\u{1F333}", 243 | ":department_store:" : "\u{1F3EC}", 244 | ":diamond_shape_with_a_dot_inside:" : "\u{1F4A0}", 245 | ":diamonds:" : "\u{02666}", 246 | ":disappointed:" : "\u{1F61E}", 247 | ":disappointed_relieved:" : "\u{1F625}", 248 | ":dizzy:" : "\u{1F4AB}", 249 | ":dizzy_face:" : "\u{1F635}", 250 | ":do_not_litter:" : "\u{1F6AF}", 251 | ":dog:" : "\u{1F436}", 252 | ":dog2:" : "\u{1F415}", 253 | ":dollar:" : "\u{1F4B5}", 254 | ":dolls:" : "\u{1F38E}", 255 | ":dolphin:" : "\u{1F42C}", 256 | ":door:" : "\u{1F6AA}", 257 | ":doughnut:" : "\u{1F369}", 258 | ":dragon:" : "\u{1F409}", 259 | ":dragon_face:" : "\u{1F432}", 260 | ":dress:" : "\u{1F457}", 261 | ":dromedary_camel:" : "\u{1F42A}", 262 | ":droplet:" : "\u{1F4A7}", 263 | ":dvd:" : "\u{1F4C0}", 264 | ":e-mail:" : "\u{1F4E7}", 265 | ":ear:" : "\u{1F442}", 266 | ":ear_of_rice:" : "\u{1F33E}", 267 | ":earth_africa:" : "\u{1F30D}", 268 | ":earth_americas:" : "\u{1F30E}", 269 | ":earth_asia:" : "\u{1F30F}", 270 | ":egg:" : "\u{1F373}", 271 | ":eggplant:" : "\u{1F346}", 272 | ":eight_pointed_black_star:" : "\u{02734}", 273 | ":eight_spoked_asterisk:" : "\u{02733}", 274 | ":electric_plug:" : "\u{1F50C}", 275 | ":elephant:" : "\u{1F418}", 276 | ":email:" : "\u{02709}", 277 | ":end:" : "\u{1F51A}", 278 | ":envelope:" : "\u{02709}", 279 | ":envelope_with_arrow:" : "\u{1F4E9}", 280 | ":euro:" : "\u{1F4B6}", 281 | ":european_castle:" : "\u{1F3F0}", 282 | ":european_post_office:" : "\u{1F3E4}", 283 | ":evergreen_tree:" : "\u{1F332}", 284 | ":exclamation:" : "\u{02757}", 285 | ":expressionless:" : "\u{1F611}", 286 | ":eyeglasses:" : "\u{1F453}", 287 | ":eyes:" : "\u{1F440}", 288 | ":facepunch:" : "\u{1F44A}", 289 | ":factory:" : "\u{1F3ED}", 290 | ":fallen_leaf:" : "\u{1F342}", 291 | ":family:" : "\u{1F46A}", 292 | ":fast_forward:" : "\u{023E9}", 293 | ":fax:" : "\u{1F4E0}", 294 | ":fearful:" : "\u{1F628}", 295 | ":feet:" : "\u{1F43E}", 296 | ":ferris_wheel:" : "\u{1F3A1}", 297 | ":file_folder:" : "\u{1F4C1}", 298 | ":fire:" : "\u{1F525}", 299 | ":fire_engine:" : "\u{1F692}", 300 | ":fireworks:" : "\u{1F386}", 301 | ":first_quarter_moon:" : "\u{1F313}", 302 | ":first_quarter_moon_with_face:" : "\u{1F31B}", 303 | ":fish:" : "\u{1F41F}", 304 | ":fish_cake:" : "\u{1F365}", 305 | ":fishing_pole_and_fish:" : "\u{1F3A3}", 306 | ":fist:" : "\u{0270A}", 307 | ":flags:" : "\u{1F38F}", 308 | ":flashlight:" : "\u{1F526}", 309 | ":flipper:" : "\u{1F42C}", 310 | ":floppy_disk:" : "\u{1F4BE}", 311 | ":flower_playing_cards:" : "\u{1F3B4}", 312 | ":flushed:" : "\u{1F633}", 313 | ":foggy:" : "\u{1F301}", 314 | ":football:" : "\u{1F3C8}", 315 | ":footprints:" : "\u{1F463}", 316 | ":fork_and_knife:" : "\u{1F374}", 317 | ":fountain:" : "\u{026F2}", 318 | ":four_leaf_clover:" : "\u{1F340}", 319 | ":free:" : "\u{1F193}", 320 | ":fried_shrimp:" : "\u{1F364}", 321 | ":fries:" : "\u{1F35F}", 322 | ":frog:" : "\u{1F438}", 323 | ":frowning:" : "\u{1F626}", 324 | ":fuelpump:" : "\u{026FD}", 325 | ":full_moon:" : "\u{1F315}", 326 | ":full_moon_with_face:" : "\u{1F31D}", 327 | ":game_die:" : "\u{1F3B2}", 328 | ":gem:" : "\u{1F48E}", 329 | ":gemini:" : "\u{0264A}", 330 | ":ghost:" : "\u{1F47B}", 331 | ":gift:" : "\u{1F381}", 332 | ":gift_heart:" : "\u{1F49D}", 333 | ":girl:" : "\u{1F467}", 334 | ":globe_with_meridians:" : "\u{1F310}", 335 | ":goat:" : "\u{1F410}", 336 | ":golf:" : "\u{026F3}", 337 | ":grapes:" : "\u{1F347}", 338 | ":green_apple:" : "\u{1F34F}", 339 | ":green_book:" : "\u{1F4D7}", 340 | ":green_heart:" : "\u{1F49A}", 341 | ":grey_exclamation:" : "\u{02755}", 342 | ":grey_question:" : "\u{02754}", 343 | ":grimacing:" : "\u{1F62C}", 344 | ":grin:" : "\u{1F601}", 345 | ":grinning:" : "\u{1F600}", 346 | ":guardsman:" : "\u{1F482}", 347 | ":guitar:" : "\u{1F3B8}", 348 | ":gun:" : "\u{1F52B}", 349 | ":haircut:" : "\u{1F487}", 350 | ":hamburger:" : "\u{1F354}", 351 | ":hammer:" : "\u{1F528}", 352 | ":hamster:" : "\u{1F439}", 353 | ":hand:" : "\u{0270B}", 354 | ":handbag:" : "\u{1F45C}", 355 | ":hankey:" : "\u{1F4A9}", 356 | ":hatched_chick:" : "\u{1F425}", 357 | ":hatching_chick:" : "\u{1F423}", 358 | ":headphones:" : "\u{1F3A7}", 359 | ":hear_no_evil:" : "\u{1F649}", 360 | ":heart:" : "\u{02764}", 361 | ":heart_decoration:" : "\u{1F49F}", 362 | ":heart_eyes:" : "\u{1F60D}", 363 | ":heart_eyes_cat:" : "\u{1F63B}", 364 | ":heartbeat:" : "\u{1F493}", 365 | ":heartpulse:" : "\u{1F497}", 366 | ":hearts:" : "\u{02665}", 367 | ":heavy_check_mark:" : "\u{02714}", 368 | ":heavy_division_sign:" : "\u{02797}", 369 | ":heavy_dollar_sign:" : "\u{1F4B2}", 370 | ":heavy_exclamation_mark:" : "\u{02757}", 371 | ":heavy_minus_sign:" : "\u{02796}", 372 | ":heavy_multiplication_x:" : "\u{02716}", 373 | ":heavy_plus_sign:" : "\u{02795}", 374 | ":helicopter:" : "\u{1F681}", 375 | ":herb:" : "\u{1F33F}", 376 | ":hibiscus:" : "\u{1F33A}", 377 | ":high_brightness:" : "\u{1F506}", 378 | ":high_heel:" : "\u{1F460}", 379 | ":hocho:" : "\u{1F52A}", 380 | ":honey_pot:" : "\u{1F36F}", 381 | ":honeybee:" : "\u{1F41D}", 382 | ":horse:" : "\u{1F434}", 383 | ":horse_racing:" : "\u{1F3C7}", 384 | ":hospital:" : "\u{1F3E5}", 385 | ":hotel:" : "\u{1F3E8}", 386 | ":hotsprings:" : "\u{02668}", 387 | ":hourglass:" : "\u{0231B}", 388 | ":hourglass_flowing_sand:" : "\u{023F3}", 389 | ":house:" : "\u{1F3E0}", 390 | ":house_with_garden:" : "\u{1F3E1}", 391 | ":hushed:" : "\u{1F62F}", 392 | ":ice_cream:" : "\u{1F368}", 393 | ":icecream:" : "\u{1F366}", 394 | ":id:" : "\u{1F194}", 395 | ":ideograph_advantage:" : "\u{1F250}", 396 | ":imp:" : "\u{1F47F}", 397 | ":inbox_tray:" : "\u{1F4E5}", 398 | ":incoming_envelope:" : "\u{1F4E8}", 399 | ":information_desk_person:" : "\u{1F481}", 400 | ":information_source:" : "\u{02139}", 401 | ":innocent:" : "\u{1F607}", 402 | ":interrobang:" : "\u{02049}", 403 | ":iphone:" : "\u{1F4F1}", 404 | ":izakaya_lantern:" : "\u{1F3EE}", 405 | ":jack_o_lantern:" : "\u{1F383}", 406 | ":japan:" : "\u{1F5FE}", 407 | ":japanese_castle:" : "\u{1F3EF}", 408 | ":japanese_goblin:" : "\u{1F47A}", 409 | ":japanese_ogre:" : "\u{1F479}", 410 | ":jeans:" : "\u{1F456}", 411 | ":joy:" : "\u{1F602}", 412 | ":joy_cat:" : "\u{1F639}", 413 | ":key:" : "\u{1F511}", 414 | ":keycap_ten:" : "\u{1F51F}", 415 | ":kimono:" : "\u{1F458}", 416 | ":kiss:" : "\u{1F48B}", 417 | ":kissing:" : "\u{1F617}", 418 | ":kissing_cat:" : "\u{1F63D}", 419 | ":kissing_closed_eyes:" : "\u{1F61A}", 420 | ":kissing_heart:" : "\u{1F618}", 421 | ":kissing_smiling_eyes:" : "\u{1F619}", 422 | ":koala:" : "\u{1F428}", 423 | ":koko:" : "\u{1F201}", 424 | ":lantern:" : "\u{1F3EE}", 425 | ":large_blue_circle:" : "\u{1F535}", 426 | ":large_blue_diamond:" : "\u{1F537}", 427 | ":large_orange_diamond:" : "\u{1F536}", 428 | ":last_quarter_moon:" : "\u{1F317}", 429 | ":last_quarter_moon_with_face:" : "\u{1F31C}", 430 | ":laughing:" : "\u{1F606}", 431 | ":leaves:" : "\u{1F343}", 432 | ":ledger:" : "\u{1F4D2}", 433 | ":left_luggage:" : "\u{1F6C5}", 434 | ":left_right_arrow:" : "\u{02194}", 435 | ":leftwards_arrow_with_hook:" : "\u{021A9}", 436 | ":lemon:" : "\u{1F34B}", 437 | ":leo:" : "\u{0264C}", 438 | ":leopard:" : "\u{1F406}", 439 | ":libra:" : "\u{0264E}", 440 | ":light_rail:" : "\u{1F688}", 441 | ":link:" : "\u{1F517}", 442 | ":lips:" : "\u{1F444}", 443 | ":lipstick:" : "\u{1F484}", 444 | ":lock:" : "\u{1F512}", 445 | ":lock_with_ink_pen:" : "\u{1F50F}", 446 | ":lollipop:" : "\u{1F36D}", 447 | ":loop:" : "\u{027BF}", 448 | ":loudspeaker:" : "\u{1F4E2}", 449 | ":love_hotel:" : "\u{1F3E9}", 450 | ":love_letter:" : "\u{1F48C}", 451 | ":low_brightness:" : "\u{1F505}", 452 | ":m:" : "\u{024C2}", 453 | ":mag:" : "\u{1F50D}", 454 | ":mag_right:" : "\u{1F50E}", 455 | ":mahjong:" : "\u{1F004}", 456 | ":mailbox:" : "\u{1F4EB}", 457 | ":mailbox_closed:" : "\u{1F4EA}", 458 | ":mailbox_with_mail:" : "\u{1F4EC}", 459 | ":mailbox_with_no_mail:" : "\u{1F4ED}", 460 | ":man:" : "\u{1F468}", 461 | ":man_with_gua_pi_mao:" : "\u{1F472}", 462 | ":man_with_turban:" : "\u{1F473}", 463 | ":mans_shoe:" : "\u{1F45E}", 464 | ":maple_leaf:" : "\u{1F341}", 465 | ":mask:" : "\u{1F637}", 466 | ":massage:" : "\u{1F486}", 467 | ":meat_on_bone:" : "\u{1F356}", 468 | ":mega:" : "\u{1F4E3}", 469 | ":melon:" : "\u{1F348}", 470 | ":memo:" : "\u{1F4DD}", 471 | ":mens:" : "\u{1F6B9}", 472 | ":metro:" : "\u{1F687}", 473 | ":microphone:" : "\u{1F3A4}", 474 | ":microscope:" : "\u{1F52C}", 475 | ":milky_way:" : "\u{1F30C}", 476 | ":minibus:" : "\u{1F690}", 477 | ":minidisc:" : "\u{1F4BD}", 478 | ":mobile_phone_off:" : "\u{1F4F4}", 479 | ":money_with_wings:" : "\u{1F4B8}", 480 | ":moneybag:" : "\u{1F4B0}", 481 | ":monkey:" : "\u{1F412}", 482 | ":monkey_face:" : "\u{1F435}", 483 | ":monorail:" : "\u{1F69D}", 484 | ":moon:" : "\u{1F314}", 485 | ":mortar_board:" : "\u{1F393}", 486 | ":mount_fuji:" : "\u{1F5FB}", 487 | ":mountain_bicyclist:" : "\u{1F6B5}", 488 | ":mountain_cableway:" : "\u{1F6A0}", 489 | ":mountain_railway:" : "\u{1F69E}", 490 | ":mouse:" : "\u{1F42D}", 491 | ":mouse2:" : "\u{1F401}", 492 | ":movie_camera:" : "\u{1F3A5}", 493 | ":moyai:" : "\u{1F5FF}", 494 | ":muscle:" : "\u{1F4AA}", 495 | ":mushroom:" : "\u{1F344}", 496 | ":musical_keyboard:" : "\u{1F3B9}", 497 | ":musical_note:" : "\u{1F3B5}", 498 | ":musical_score:" : "\u{1F3BC}", 499 | ":mute:" : "\u{1F507}", 500 | ":nail_care:" : "\u{1F485}", 501 | ":name_badge:" : "\u{1F4DB}", 502 | ":necktie:" : "\u{1F454}", 503 | ":negative_squared_cross_mark:" : "\u{0274E}", 504 | ":neutral_face:" : "\u{1F610}", 505 | ":new:" : "\u{1F195}", 506 | ":new_moon:" : "\u{1F311}", 507 | ":new_moon_with_face:" : "\u{1F31A}", 508 | ":newspaper:" : "\u{1F4F0}", 509 | ":ng:" : "\u{1F196}", 510 | ":no_bell:" : "\u{1F515}", 511 | ":no_bicycles:" : "\u{1F6B3}", 512 | ":no_entry:" : "\u{026D4}", 513 | ":no_entry_sign:" : "\u{1F6AB}", 514 | ":no_good:" : "\u{1F645}", 515 | ":no_mobile_phones:" : "\u{1F4F5}", 516 | ":no_mouth:" : "\u{1F636}", 517 | ":no_pedestrians:" : "\u{1F6B7}", 518 | ":no_smoking:" : "\u{1F6AD}", 519 | ":non-potable_water:" : "\u{1F6B1}", 520 | ":nose:" : "\u{1F443}", 521 | ":notebook:" : "\u{1F4D3}", 522 | ":notebook_with_decorative_cover:" : "\u{1F4D4}", 523 | ":notes:" : "\u{1F3B6}", 524 | ":nut_and_bolt:" : "\u{1F529}", 525 | ":o:" : "\u{02B55}", 526 | ":o2:" : "\u{1F17E}", 527 | ":ocean:" : "\u{1F30A}", 528 | ":octopus:" : "\u{1F419}", 529 | ":oden:" : "\u{1F362}", 530 | ":office:" : "\u{1F3E2}", 531 | ":ok:" : "\u{1F197}", 532 | ":ok_hand:" : "\u{1F44C}", 533 | ":ok_woman:" : "\u{1F646}", 534 | ":older_man:" : "\u{1F474}", 535 | ":older_woman:" : "\u{1F475}", 536 | ":on:" : "\u{1F51B}", 537 | ":oncoming_automobile:" : "\u{1F698}", 538 | ":oncoming_bus:" : "\u{1F68D}", 539 | ":oncoming_police_car:" : "\u{1F694}", 540 | ":oncoming_taxi:" : "\u{1F696}", 541 | ":open_book:" : "\u{1F4D6}", 542 | ":open_file_folder:" : "\u{1F4C2}", 543 | ":open_hands:" : "\u{1F450}", 544 | ":open_mouth:" : "\u{1F62E}", 545 | ":ophiuchus:" : "\u{026CE}", 546 | ":orange_book:" : "\u{1F4D9}", 547 | ":outbox_tray:" : "\u{1F4E4}", 548 | ":ox:" : "\u{1F402}", 549 | ":package:" : "\u{1F4E6}", 550 | ":page_facing_up:" : "\u{1F4C4}", 551 | ":page_with_curl:" : "\u{1F4C3}", 552 | ":pager:" : "\u{1F4DF}", 553 | ":palm_tree:" : "\u{1F334}", 554 | ":panda_face:" : "\u{1F43C}", 555 | ":paperclip:" : "\u{1F4CE}", 556 | ":parking:" : "\u{1F17F}", 557 | ":part_alternation_mark:" : "\u{0303D}", 558 | ":partly_sunny:" : "\u{026C5}", 559 | ":passport_control:" : "\u{1F6C2}", 560 | ":paw_prints:" : "\u{1F43E}", 561 | ":peach:" : "\u{1F351}", 562 | ":pear:" : "\u{1F350}", 563 | ":pencil:" : "\u{1F4DD}", 564 | ":pencil2:" : "\u{0270F}", 565 | ":penguin:" : "\u{1F427}", 566 | ":pensive:" : "\u{1F614}", 567 | ":performing_arts:" : "\u{1F3AD}", 568 | ":persevere:" : "\u{1F623}", 569 | ":person_frowning:" : "\u{1F64D}", 570 | ":person_with_blond_hair:" : "\u{1F471}", 571 | ":person_with_pouting_face:" : "\u{1F64E}", 572 | ":phone:" : "\u{0260E}", 573 | ":pig:" : "\u{1F437}", 574 | ":pig2:" : "\u{1F416}", 575 | ":pig_nose:" : "\u{1F43D}", 576 | ":pill:" : "\u{1F48A}", 577 | ":pineapple:" : "\u{1F34D}", 578 | ":pisces:" : "\u{02653}", 579 | ":pizza:" : "\u{1F355}", 580 | ":point_down:" : "\u{1F447}", 581 | ":point_left:" : "\u{1F448}", 582 | ":point_right:" : "\u{1F449}", 583 | ":point_up:" : "\u{0261D}", 584 | ":point_up_2:" : "\u{1F446}", 585 | ":police_car:" : "\u{1F693}", 586 | ":poodle:" : "\u{1F429}", 587 | ":poop:" : "\u{1F4A9}", 588 | ":post_office:" : "\u{1F3E3}", 589 | ":postal_horn:" : "\u{1F4EF}", 590 | ":postbox:" : "\u{1F4EE}", 591 | ":potable_water:" : "\u{1F6B0}", 592 | ":pouch:" : "\u{1F45D}", 593 | ":poultry_leg:" : "\u{1F357}", 594 | ":pound:" : "\u{1F4B7}", 595 | ":pouting_cat:" : "\u{1F63E}", 596 | ":pray:" : "\u{1F64F}", 597 | ":princess:" : "\u{1F478}", 598 | ":punch:" : "\u{1F44A}", 599 | ":purple_heart:" : "\u{1F49C}", 600 | ":purse:" : "\u{1F45B}", 601 | ":pushpin:" : "\u{1F4CC}", 602 | ":put_litter_in_its_place:" : "\u{1F6AE}", 603 | ":question:" : "\u{02753}", 604 | ":rabbit:" : "\u{1F430}", 605 | ":rabbit2:" : "\u{1F407}", 606 | ":racehorse:" : "\u{1F40E}", 607 | ":radio:" : "\u{1F4FB}", 608 | ":radio_button:" : "\u{1F518}", 609 | ":rage:" : "\u{1F621}", 610 | ":railway_car:" : "\u{1F683}", 611 | ":rainbow:" : "\u{1F308}", 612 | ":raised_hand:" : "\u{0270B}", 613 | ":raised_hands:" : "\u{1F64C}", 614 | ":raising_hand:" : "\u{1F64B}", 615 | ":ram:" : "\u{1F40F}", 616 | ":ramen:" : "\u{1F35C}", 617 | ":rat:" : "\u{1F400}", 618 | ":recycle:" : "\u{0267B}", 619 | ":red_car:" : "\u{1F697}", 620 | ":red_circle:" : "\u{1F534}", 621 | ":registered:" : "\u{AE}", 622 | ":relaxed:" : "\u{0263A}", 623 | ":relieved:" : "\u{1F60C}", 624 | ":repeat:" : "\u{1F501}", 625 | ":repeat_one:" : "\u{1F502}", 626 | ":restroom:" : "\u{1F6BB}", 627 | ":revolving_hearts:" : "\u{1F49E}", 628 | ":rewind:" : "\u{023EA}", 629 | ":ribbon:" : "\u{1F380}", 630 | ":rice:" : "\u{1F35A}", 631 | ":rice_ball:" : "\u{1F359}", 632 | ":rice_cracker:" : "\u{1F358}", 633 | ":rice_scene:" : "\u{1F391}", 634 | ":ring:" : "\u{1F48D}", 635 | ":rocket:" : "\u{1F680}", 636 | ":roller_coaster:" : "\u{1F3A2}", 637 | ":rooster:" : "\u{1F413}", 638 | ":rose:" : "\u{1F339}", 639 | ":rotating_light:" : "\u{1F6A8}", 640 | ":round_pushpin:" : "\u{1F4CD}", 641 | ":rowboat:" : "\u{1F6A3}", 642 | ":rugby_football:" : "\u{1F3C9}", 643 | ":runner:" : "\u{1F3C3}", 644 | ":running:" : "\u{1F3C3}", 645 | ":running_shirt_with_sash:" : "\u{1F3BD}", 646 | ":sa:" : "\u{1F202}", 647 | ":sagittarius:" : "\u{02650}", 648 | ":sailboat:" : "\u{026F5}", 649 | ":sake:" : "\u{1F376}", 650 | ":sandal:" : "\u{1F461}", 651 | ":santa:" : "\u{1F385}", 652 | ":satellite:" : "\u{1F4E1}", 653 | ":satisfied:" : "\u{1F606}", 654 | ":saxophone:" : "\u{1F3B7}", 655 | ":school:" : "\u{1F3EB}", 656 | ":school_satchel:" : "\u{1F392}", 657 | ":scissors:" : "\u{02702}", 658 | ":scorpius:" : "\u{0264F}", 659 | ":scream:" : "\u{1F631}", 660 | ":scream_cat:" : "\u{1F640}", 661 | ":scroll:" : "\u{1F4DC}", 662 | ":seat:" : "\u{1F4BA}", 663 | ":secret:" : "\u{03299}", 664 | ":see_no_evil:" : "\u{1F648}", 665 | ":seedling:" : "\u{1F331}", 666 | ":shaved_ice:" : "\u{1F367}", 667 | ":sheep:" : "\u{1F411}", 668 | ":shell:" : "\u{1F41A}", 669 | ":ship:" : "\u{1F6A2}", 670 | ":shirt:" : "\u{1F455}", 671 | ":shit:" : "\u{1F4A9}", 672 | ":shoe:" : "\u{1F45E}", 673 | ":shower:" : "\u{1F6BF}", 674 | ":signal_strength:" : "\u{1F4F6}", 675 | ":six_pointed_star:" : "\u{1F52F}", 676 | ":ski:" : "\u{1F3BF}", 677 | ":skull:" : "\u{1F480}", 678 | ":sleeping:" : "\u{1F634}", 679 | ":sleepy:" : "\u{1F62A}", 680 | ":slot_machine:" : "\u{1F3B0}", 681 | ":small_blue_diamond:" : "\u{1F539}", 682 | ":small_orange_diamond:" : "\u{1F538}", 683 | ":small_red_triangle:" : "\u{1F53A}", 684 | ":small_red_triangle_down:" : "\u{1F53B}", 685 | ":smile:" : "\u{1F604}", 686 | ":smile_cat:" : "\u{1F638}", 687 | ":smiley:" : "\u{1F603}", 688 | ":smiley_cat:" : "\u{1F63A}", 689 | ":smiling_imp:" : "\u{1F608}", 690 | ":smirk:" : "\u{1F60F}", 691 | ":smirk_cat:" : "\u{1F63C}", 692 | ":smoking:" : "\u{1F6AC}", 693 | ":snail:" : "\u{1F40C}", 694 | ":snake:" : "\u{1F40D}", 695 | ":snowboarder:" : "\u{1F3C2}", 696 | ":snowflake:" : "\u{02744}", 697 | ":snowman:" : "\u{026C4}", 698 | ":sob:" : "\u{1F62D}", 699 | ":soccer:" : "\u{026BD}", 700 | ":soon:" : "\u{1F51C}", 701 | ":sos:" : "\u{1F198}", 702 | ":sound:" : "\u{1F509}", 703 | ":space_invader:" : "\u{1F47E}", 704 | ":spades:" : "\u{02660}", 705 | ":spaghetti:" : "\u{1F35D}", 706 | ":sparkle:" : "\u{02747}", 707 | ":sparkler:" : "\u{1F387}", 708 | ":sparkles:" : "\u{02728}", 709 | ":sparkling_heart:" : "\u{1F496}", 710 | ":speak_no_evil:" : "\u{1F64A}", 711 | ":speaker:" : "\u{1F50A}", 712 | ":speech_balloon:" : "\u{1F4AC}", 713 | ":speedboat:" : "\u{1F6A4}", 714 | ":star:" : "\u{02B50}", 715 | ":star2:" : "\u{1F31F}", 716 | ":stars:" : "\u{1F303}", 717 | ":station:" : "\u{1F689}", 718 | ":statue_of_liberty:" : "\u{1F5FD}", 719 | ":steam_locomotive:" : "\u{1F682}", 720 | ":stew:" : "\u{1F372}", 721 | ":straight_ruler:" : "\u{1F4CF}", 722 | ":strawberry:" : "\u{1F353}", 723 | ":stuck_out_tongue:" : "\u{1F61B}", 724 | ":stuck_out_tongue_closed_eyes:" : "\u{1F61D}", 725 | ":stuck_out_tongue_winking_eye:" : "\u{1F61C}", 726 | ":sun_with_face:" : "\u{1F31E}", 727 | ":sunflower:" : "\u{1F33B}", 728 | ":sunglasses:" : "\u{1F60E}", 729 | ":sunny:" : "\u{02600}", 730 | ":sunrise:" : "\u{1F305}", 731 | ":sunrise_over_mountains:" : "\u{1F304}", 732 | ":surfer:" : "\u{1F3C4}", 733 | ":sushi:" : "\u{1F363}", 734 | ":suspension_railway:" : "\u{1F69F}", 735 | ":sweat:" : "\u{1F613}", 736 | ":sweat_drops:" : "\u{1F4A6}", 737 | ":sweat_smile:" : "\u{1F605}", 738 | ":sweet_potato:" : "\u{1F360}", 739 | ":swimmer:" : "\u{1F3CA}", 740 | ":symbols:" : "\u{1F523}", 741 | ":syringe:" : "\u{1F489}", 742 | ":tada:" : "\u{1F389}", 743 | ":tanabata_tree:" : "\u{1F38B}", 744 | ":tangerine:" : "\u{1F34A}", 745 | ":taurus:" : "\u{02649}", 746 | ":taxi:" : "\u{1F695}", 747 | ":tea:" : "\u{1F375}", 748 | ":telephone:" : "\u{0260E}", 749 | ":telephone_receiver:" : "\u{1F4DE}", 750 | ":telescope:" : "\u{1F52D}", 751 | ":tennis:" : "\u{1F3BE}", 752 | ":tent:" : "\u{026FA}", 753 | ":thought_balloon:" : "\u{1F4AD}", 754 | ":thumbsdown:" : "\u{1F44E}", 755 | ":thumbsup:" : "\u{1F44D}", 756 | ":ticket:" : "\u{1F3AB}", 757 | ":tiger:" : "\u{1F42F}", 758 | ":tiger2:" : "\u{1F405}", 759 | ":tired_face:" : "\u{1F62B}", 760 | ":tm:" : "\u{02122}", 761 | ":toilet:" : "\u{1F6BD}", 762 | ":tokyo_tower:" : "\u{1F5FC}", 763 | ":tomato:" : "\u{1F345}", 764 | ":tongue:" : "\u{1F445}", 765 | ":top:" : "\u{1F51D}", 766 | ":tophat:" : "\u{1F3A9}", 767 | ":tractor:" : "\u{1F69C}", 768 | ":traffic_light:" : "\u{1F6A5}", 769 | ":train:" : "\u{1F683}", 770 | ":train2:" : "\u{1F686}", 771 | ":tram:" : "\u{1F68A}", 772 | ":triangular_flag_on_post:" : "\u{1F6A9}", 773 | ":triangular_ruler:" : "\u{1F4D0}", 774 | ":trident:" : "\u{1F531}", 775 | ":triumph:" : "\u{1F624}", 776 | ":trolleybus:" : "\u{1F68E}", 777 | ":trophy:" : "\u{1F3C6}", 778 | ":tropical_drink:" : "\u{1F379}", 779 | ":tropical_fish:" : "\u{1F420}", 780 | ":truck:" : "\u{1F69A}", 781 | ":trumpet:" : "\u{1F3BA}", 782 | ":tshirt:" : "\u{1F455}", 783 | ":tulip:" : "\u{1F337}", 784 | ":turtle:" : "\u{1F422}", 785 | ":tv:" : "\u{1F4FA}", 786 | ":twisted_rightwards_arrows:" : "\u{1F500}", 787 | ":two_hearts:" : "\u{1F495}", 788 | ":two_men_holding_hands:" : "\u{1F46C}", 789 | ":two_women_holding_hands:" : "\u{1F46D}", 790 | ":u5272:" : "\u{1F239}", 791 | ":u5408:" : "\u{1F234}", 792 | ":u55b6:" : "\u{1F23A}", 793 | ":u6307:" : "\u{1F22F}", 794 | ":u6708:" : "\u{1F237}", 795 | ":u6709:" : "\u{1F236}", 796 | ":u6e80:" : "\u{1F235}", 797 | ":u7121:" : "\u{1F21A}", 798 | ":u7533:" : "\u{1F238}", 799 | ":u7981:" : "\u{1F232}", 800 | ":u7a7a:" : "\u{1F233}", 801 | ":umbrella:" : "\u{02614}", 802 | ":unamused:" : "\u{1F612}", 803 | ":underage:" : "\u{1F51E}", 804 | ":unlock:" : "\u{1F513}", 805 | ":up:" : "\u{1F199}", 806 | ":v:" : "\u{0270C}", 807 | ":vertical_traffic_light:" : "\u{1F6A6}", 808 | ":vhs:" : "\u{1F4FC}", 809 | ":vibration_mode:" : "\u{1F4F3}", 810 | ":video_camera:" : "\u{1F4F9}", 811 | ":video_game:" : "\u{1F3AE}", 812 | ":violin:" : "\u{1F3BB}", 813 | ":virgo:" : "\u{0264D}", 814 | ":volcano:" : "\u{1F30B}", 815 | ":vs:" : "\u{1F19A}", 816 | ":walking:" : "\u{1F6B6}", 817 | ":waning_crescent_moon:" : "\u{1F318}", 818 | ":waning_gibbous_moon:" : "\u{1F316}", 819 | ":warning:" : "\u{026A0}", 820 | ":watch:" : "\u{0231A}", 821 | ":water_buffalo:" : "\u{1F403}", 822 | ":watermelon:" : "\u{1F349}", 823 | ":wave:" : "\u{1F44B}", 824 | ":wavy_dash:" : "\u{03030}", 825 | ":waxing_crescent_moon:" : "\u{1F312}", 826 | ":waxing_gibbous_moon:" : "\u{1F314}", 827 | ":wc:" : "\u{1F6BE}", 828 | ":weary:" : "\u{1F629}", 829 | ":wedding:" : "\u{1F492}", 830 | ":whale:" : "\u{1F433}", 831 | ":whale2:" : "\u{1F40B}", 832 | ":wheelchair:" : "\u{0267F}", 833 | ":white_check_mark:" : "\u{02705}", 834 | ":white_circle:" : "\u{026AA}", 835 | ":white_flower:" : "\u{1F4AE}", 836 | ":white_large_square:" : "\u{02B1C}", 837 | ":white_medium_small_square:" : "\u{025FD}", 838 | ":white_medium_square:" : "\u{025FB}", 839 | ":white_small_square:" : "\u{025AB}", 840 | ":white_square_button:" : "\u{1F533}", 841 | ":wind_chime:" : "\u{1F390}", 842 | ":wine_glass:" : "\u{1F377}", 843 | ":wink:" : "\u{1F609}", 844 | ":wolf:" : "\u{1F43A}", 845 | ":woman:" : "\u{1F469}", 846 | ":womans_clothes:" : "\u{1F45A}", 847 | ":womans_hat:" : "\u{1F452}", 848 | ":womens:" : "\u{1F6BA}", 849 | ":worried:" : "\u{1F61F}", 850 | ":wrench:" : "\u{1F527}", 851 | ":x:" : "\u{0274C}", 852 | ":yellow_heart:" : "\u{1F49B}", 853 | ":yen:" : "\u{1F4B4}", 854 | ":yum:" : "\u{1F60B}", 855 | ":zap:" : "\u{026A1}", 856 | ":zzz:" : "\u{1F4A4}" 857 | ] -------------------------------------------------------------------------------- /StringEmojize/StringEmojize.swift: -------------------------------------------------------------------------------- 1 | // 2 | // StringEmojize.swift 3 | // StringEmojize 4 | // 5 | // Created by Kyle Frost on 2/9/15. 6 | // Copyright (c) 2015 Kyle Frost. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension String { 12 | 13 | public func emojizedString() -> String { 14 | return self.emojizedStringWithString(self) 15 | } 16 | 17 | public func emojizedStringWithString(text: String) -> String { 18 | var onceToken: dispatch_once_t = 0 19 | var regex = NSRegularExpression() 20 | 21 | dispatch_once(&onceToken) { 22 | regex = NSRegularExpression(pattern: "(:[a-z0-9-+_]+:)", options: .CaseInsensitive, error:nil)! 23 | } 24 | 25 | var resultText = text 26 | let matchingRange = NSMakeRange(0, resultText.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)) 27 | regex.enumerateMatchesInString(resultText, options: .ReportCompletion, range: matchingRange, usingBlock: { 28 | (result: NSTextCheckingResult!, flags: NSMatchingFlags, stop: UnsafeMutablePointer) -> Void in 29 | if ((result != nil) && (result.resultType == .RegularExpression)) { 30 | let range = result.range 31 | if (range.location != NSNotFound) { 32 | var code = (text as NSString).substringWithRange(range) 33 | var unicode = self.emojiAliases(code) 34 | if !unicode.isEmpty { 35 | resultText = resultText.stringByReplacingOccurrencesOfString(code, withString:unicode, options: nil, range: nil) 36 | } 37 | } 38 | } 39 | }) 40 | 41 | return resultText 42 | } 43 | 44 | func emojiAliases(key: String) -> String { 45 | //var myDict = Dictionary() 46 | var value: String = "" 47 | var onceToken: dispatch_once_t = 0 48 | dispatch_once(&onceToken) { 49 | value = EMOJI_HASH[key]! 50 | } 51 | 52 | return value 53 | } 54 | } 55 | --------------------------------------------------------------------------------