1
0
Fork 0
forked from Mirrors/gomuks

web/emoji: add regional indicators

This commit is contained in:
Tulir Asokan 2024-11-08 12:13:30 +01:00
parent 67f9bc348b
commit 85817ea999
2 changed files with 258 additions and 0 deletions

View file

@ -18310,6 +18310,240 @@
"flaggbwls",
"wales"
]
},
{
"u": "🇦",
"c": 3,
"t": "Regional Indicator A",
"n": "regional_indicator_a",
"s": [
"regionalindicatora"
]
},
{
"u": "🇧",
"c": 3,
"t": "Regional Indicator B",
"n": "regional_indicator_b",
"s": [
"regionalindicatorb"
]
},
{
"u": "🇨",
"c": 3,
"t": "Regional Indicator C",
"n": "regional_indicator_c",
"s": [
"regionalindicatorc"
]
},
{
"u": "🇩",
"c": 3,
"t": "Regional Indicator D",
"n": "regional_indicator_d",
"s": [
"regionalindicatord"
]
},
{
"u": "🇪",
"c": 3,
"t": "Regional Indicator E",
"n": "regional_indicator_e",
"s": [
"regionalindicatore"
]
},
{
"u": "🇫",
"c": 3,
"t": "Regional Indicator F",
"n": "regional_indicator_f",
"s": [
"regionalindicatorf"
]
},
{
"u": "🇬",
"c": 3,
"t": "Regional Indicator G",
"n": "regional_indicator_g",
"s": [
"regionalindicatorg"
]
},
{
"u": "🇭",
"c": 3,
"t": "Regional Indicator H",
"n": "regional_indicator_h",
"s": [
"regionalindicatorh"
]
},
{
"u": "🇮",
"c": 3,
"t": "Regional Indicator I",
"n": "regional_indicator_i",
"s": [
"regionalindicatori"
]
},
{
"u": "🇯",
"c": 3,
"t": "Regional Indicator J",
"n": "regional_indicator_j",
"s": [
"regionalindicatorj"
]
},
{
"u": "🇰",
"c": 3,
"t": "Regional Indicator K",
"n": "regional_indicator_k",
"s": [
"regionalindicatork"
]
},
{
"u": "🇱",
"c": 3,
"t": "Regional Indicator L",
"n": "regional_indicator_l",
"s": [
"regionalindicatorl"
]
},
{
"u": "🇲",
"c": 3,
"t": "Regional Indicator M",
"n": "regional_indicator_m",
"s": [
"regionalindicatorm"
]
},
{
"u": "🇳",
"c": 3,
"t": "Regional Indicator N",
"n": "regional_indicator_n",
"s": [
"regionalindicatorn"
]
},
{
"u": "🇴",
"c": 3,
"t": "Regional Indicator O",
"n": "regional_indicator_o",
"s": [
"regionalindicatoro"
]
},
{
"u": "🇵",
"c": 3,
"t": "Regional Indicator P",
"n": "regional_indicator_p",
"s": [
"regionalindicatorp"
]
},
{
"u": "🇶",
"c": 3,
"t": "Regional Indicator Q",
"n": "regional_indicator_q",
"s": [
"regionalindicatorq"
]
},
{
"u": "🇷",
"c": 3,
"t": "Regional Indicator R",
"n": "regional_indicator_r",
"s": [
"regionalindicatorr"
]
},
{
"u": "🇸",
"c": 3,
"t": "Regional Indicator S",
"n": "regional_indicator_s",
"s": [
"regionalindicators"
]
},
{
"u": "🇹",
"c": 3,
"t": "Regional Indicator T",
"n": "regional_indicator_t",
"s": [
"regionalindicatort"
]
},
{
"u": "🇺",
"c": 3,
"t": "Regional Indicator U",
"n": "regional_indicator_u",
"s": [
"regionalindicatoru"
]
},
{
"u": "🇻",
"c": 3,
"t": "Regional Indicator V",
"n": "regional_indicator_v",
"s": [
"regionalindicatorv"
]
},
{
"u": "🇼",
"c": 3,
"t": "Regional Indicator W",
"n": "regional_indicator_w",
"s": [
"regionalindicatorw"
]
},
{
"u": "🇽",
"c": 3,
"t": "Regional Indicator X",
"n": "regional_indicator_x",
"s": [
"regionalindicatorx"
]
},
{
"u": "🇾",
"c": 3,
"t": "Regional Indicator Y",
"n": "regional_indicator_y",
"s": [
"regionalindicatory"
]
},
{
"u": "🇿",
"c": 3,
"t": "Regional Indicator Z",
"n": "regional_indicator_z",
"s": [
"regionalindicatorz"
]
}
],
"c": [

View file

@ -149,6 +149,26 @@ func (s *stringOrArray) UnmarshalJSON(data []byte) error {
return json.Unmarshal(data, (*[]string)(s))
}
var maxSortOrder int
func regionalIndicators(yield func(Emoji) bool) {
const regionalIndicatorA = 0x1F1E6
const regionalIndicatorZ = 0x1F1FF
for x := regionalIndicatorA; x <= regionalIndicatorZ; x++ {
shortcode := fmt.Sprintf("regional_indicator_%c", x-regionalIndicatorA+'a')
emoji := Emoji{
Unified: fmt.Sprintf("%X", x),
ShortName: shortcode,
ShortNames: []string{shortcode},
Category: "Flags",
SortOrder: maxSortOrder + x - regionalIndicatorA,
}
if !yield(emoji) {
return
}
}
}
func main() {
var emojis []Emoji
resp := exerrors.Must(http.Get("https://raw.githubusercontent.com/iamcal/emoji-data/master/emoji.json"))
@ -158,6 +178,10 @@ func main() {
slices.SortFunc(emojis, func(a, b Emoji) int {
return a.SortOrder - b.SortOrder
})
maxSortOrder = emojis[len(emojis)-1].SortOrder
for emoji := range regionalIndicators {
emojis = append(emojis, emoji)
}
data := &outputData{
Emojis: make([]*outputEmoji, len(emojis)),