1 Commits
0.1.1 ... 0.1.2

2 changed files with 28 additions and 25 deletions

View File

@@ -21,14 +21,15 @@ public class AppleEmojiCategory: Codable, Hashable {
public enum Name: String, CaseIterable, Codable { public enum Name: String, CaseIterable, Codable {
case flags = "flags" case frequentlyUsed = "frequentlyUsed"
case activity = "activity" case smileysAndPeople = "smileysAndPeople"
case objects = "objects"
case travelAndPlaces = "travelAndPlaces"
case symbols = "symbols"
case animalsAndNature = "animalsAndNature" case animalsAndNature = "animalsAndNature"
case foodAndDrink = "foodAndDrink" case foodAndDrink = "foodAndDrink"
case smileysAndPeople = "smileysAndPeople" case activity = "activity"
case travelAndPlaces = "travelAndPlaces"
case objects = "objects"
case symbols = "symbols"
case flags = "flags"
public static var orderedCases: [Name] { public static var orderedCases: [Name] {
return allCases.sorted(by: { $0.order < $1.order }) return allCases.sorted(by: { $0.order < $1.order })
@@ -36,22 +37,24 @@ public class AppleEmojiCategory: Codable, Hashable {
public var order: Int { public var order: Int {
switch self { switch self {
case .flags: case .frequentlyUsed:
return 8 return 0
case .activity: case .smileysAndPeople:
return 4 return 1
case .objects:
return 6
case .travelAndPlaces:
return 5
case .symbols:
return 7
case .animalsAndNature: case .animalsAndNature:
return 2 return 2
case .foodAndDrink: case .foodAndDrink:
return 3 return 3
case .smileysAndPeople: case .activity:
return 1 return 4
case .travelAndPlaces:
return 5
case .objects:
return 6
case .symbols:
return 7
case .flags:
return 8
} }
} }

View File

@@ -92,13 +92,7 @@ public enum EmojiManager {
if isNeutralEmoji(for: $0.key) { if isNeutralEmoji(for: $0.key) {
supportedEmojis[$0.key] = $0.value supportedEmojis[$0.key] = $0.value
} else if showAllVariations { } else if showAllVariations {
var unqualifiedNeutralEmoji = unqualifiedNeutralEmoji(for: $0.key) let unqualifiedNeutralEmoji = unqualifiedNeutralEmoji(for: $0.key)
let unicodeScalars = unqualifiedNeutralEmoji.unicodeScalars.map { $0.value }
if let actualUnqualifiedNeutralScalar = emojiSpecialMapping[unicodeScalars],
let actualUnqualifiedNeutralEmoji = uint32ToEmoji(actualUnqualifiedNeutralScalar) {
unqualifiedNeutralEmoji = String(actualUnqualifiedNeutralEmoji)
}
if let variationsForEmoji = variations[unqualifiedNeutralEmoji] { if let variationsForEmoji = variations[unqualifiedNeutralEmoji] {
variations[unqualifiedNeutralEmoji] = variationsForEmoji + [$0.value] variations[unqualifiedNeutralEmoji] = variationsForEmoji + [$0.value]
@@ -166,6 +160,12 @@ public enum EmojiManager {
} }
} }
let unicodeScalars = unqualifiedEmoji.unicodeScalars.map { $0.value }
if let actualUnqualifiedNeutralScalar = emojiSpecialMapping[unicodeScalars],
let actualUnqualifiedNeutralEmoji = uint32ToEmoji(actualUnqualifiedNeutralScalar) {
return String(actualUnqualifiedNeutralEmoji)
}
return unqualifiedEmoji return unqualifiedEmoji
} }
} }