diff --git a/lib/tasks/emojis.rake b/lib/tasks/emojis.rake
index 70919fbdb1b..0e7921ffc99 100644
--- a/lib/tasks/emojis.rake
+++ b/lib/tasks/emojis.rake
@@ -1,5 +1,35 @@
# frozen_string_literal: true
+def gen_border(codepoint)
+ input = Rails.root.join('public', 'emoji', "#{codepoint}.svg")
+ dest = Rails.root.join('public', 'emoji', "#{codepoint}_border.svg")
+ doc = File.open(input) { |f| Nokogiri::XML(f) }
+ svg = doc.at_css('svg')
+ if svg.key?('viewBox')
+ view_box = svg['viewBox'].split(' ').map(&:to_i)
+ view_box[0] -= 2
+ view_box[1] -= 2
+ view_box[2] += 4
+ view_box[3] += 4
+ svg['viewBox'] = view_box.join(' ')
+ end
+ g = Nokogiri::XML::Node.new 'g', doc
+ doc.css('svg > *').each do |elem|
+ border_elem = elem.dup
+
+ border_elem.delete('fill')
+
+ border_elem['stroke'] = 'white'
+ border_elem['stroke-linejoin'] = 'round'
+ border_elem['stroke-width'] = '4px'
+
+ g.add_child(border_elem)
+ end
+ svg.prepend_child(g)
+ File.write(dest, doc.to_xml)
+ puts "Wrote bordered #{codepoint}.svg to #{dest}!"
+end
+
def codepoints_to_filename(codepoints)
codepoints.downcase.gsub(/\A[0]+/, '').tr(' ', '-')
end
@@ -23,8 +53,10 @@ namespace :emojis do
HTTP.get(source).to_s.split("\n").each do |line|
next if line.start_with? '#'
+
parts = line.split(';').map(&:strip)
next if parts.size < 2
+
codes << [parts[0], parts[1].start_with?('fully-qualified')]
end
@@ -55,4 +87,16 @@ namespace :emojis do
File.write(dest, Oj.dump(map))
puts "Wrote emojo to destination! (#{dest})"
end
+
+ desc 'Generate emoji variants with white borders'
+ task :generate_borders do
+ src = Rails.root.join('app', 'javascript', 'mastodon', 'features', 'emoji', 'emoji_map.json')
+ emojis = 'đąđâĢđ¤âŦâŧī¸âžâŧī¸âī¸âĒī¸đŖđŗđˇđ¸âŖī¸đļī¸â´ī¸đđââī¸đŊī¸đŗđĻđđĒđŗī¸đšī¸đđī¸đī¸đââī¸đ¤đđĨđŧâ ī¸đŠđĻđŧđšđŽđđ´đŊâžđâī¸đ¨đī¸đđĨđģđâââ¸ī¸đŠī¸đđđđ§ī¸đđđđđđâ ī¸đ¨ī¸đđđŦđđđŗī¸âĒâŦâŊâģī¸âĢī¸'
+
+ map = Oj.load(File.read(src))
+
+ emojis.each_grapheme_cluster do |emoji|
+ gen_border map[emoji]
+ end
+ end
end
diff --git a/public/emoji/1f327_border.svg b/public/emoji/1f327_border.svg
new file mode 100644
index 00000000000..3298c8f872a
--- /dev/null
+++ b/public/emoji/1f327_border.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/public/emoji/1f328_border.svg b/public/emoji/1f328_border.svg
new file mode 100644
index 00000000000..254dc90de1d
--- /dev/null
+++ b/public/emoji/1f328_border.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/public/emoji/1f329_border.svg b/public/emoji/1f329_border.svg
new file mode 100644
index 00000000000..05c662ac420
--- /dev/null
+++ b/public/emoji/1f329_border.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/public/emoji/1f359_border.svg b/public/emoji/1f359_border.svg
new file mode 100644
index 00000000000..6541681d843
--- /dev/null
+++ b/public/emoji/1f359_border.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/public/emoji/1f35a_border.svg b/public/emoji/1f35a_border.svg
new file mode 100644
index 00000000000..d6621c59043
--- /dev/null
+++ b/public/emoji/1f35a_border.svg
@@ -0,0 +1,13 @@
+
+
diff --git a/public/emoji/1f365_border.svg b/public/emoji/1f365_border.svg
new file mode 100644
index 00000000000..278cebd4303
--- /dev/null
+++ b/public/emoji/1f365_border.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/public/emoji/1f373_border.svg b/public/emoji/1f373_border.svg
new file mode 100644
index 00000000000..56b1ef9e664
--- /dev/null
+++ b/public/emoji/1f373_border.svg
@@ -0,0 +1,13 @@
+
+
diff --git a/public/emoji/1f393_border.svg b/public/emoji/1f393_border.svg
new file mode 100644
index 00000000000..1af6e6fdb9b
--- /dev/null
+++ b/public/emoji/1f393_border.svg
@@ -0,0 +1,19 @@
+
+
diff --git a/public/emoji/1f3a4_border.svg b/public/emoji/1f3a4_border.svg
new file mode 100644
index 00000000000..78f546247f5
--- /dev/null
+++ b/public/emoji/1f3a4_border.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/public/emoji/1f3a5_border.svg b/public/emoji/1f3a5_border.svg
new file mode 100644
index 00000000000..cb4415635d3
--- /dev/null
+++ b/public/emoji/1f3a5_border.svg
@@ -0,0 +1,21 @@
+
+
diff --git a/public/emoji/1f3a9_border.svg b/public/emoji/1f3a9_border.svg
new file mode 100644
index 00000000000..87671f0eed8
--- /dev/null
+++ b/public/emoji/1f3a9_border.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/public/emoji/1f3ae_border.svg b/public/emoji/1f3ae_border.svg
new file mode 100644
index 00000000000..4a17797b1d2
--- /dev/null
+++ b/public/emoji/1f3ae_border.svg
@@ -0,0 +1,35 @@
+
+
diff --git a/public/emoji/1f3b1_border.svg b/public/emoji/1f3b1_border.svg
new file mode 100644
index 00000000000..59dc9e819e6
--- /dev/null
+++ b/public/emoji/1f3b1_border.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/public/emoji/1f3b3_border.svg b/public/emoji/1f3b3_border.svg
new file mode 100644
index 00000000000..71daa085ff4
--- /dev/null
+++ b/public/emoji/1f3b3_border.svg
@@ -0,0 +1,21 @@
+
+
diff --git a/public/emoji/1f3bc_border.svg b/public/emoji/1f3bc_border.svg
new file mode 100644
index 00000000000..f7aafddac5a
--- /dev/null
+++ b/public/emoji/1f3bc_border.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/public/emoji/1f3d0_border.svg b/public/emoji/1f3d0_border.svg
new file mode 100644
index 00000000000..c1804f2cb81
--- /dev/null
+++ b/public/emoji/1f3d0_border.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/public/emoji/1f3f3_border.svg b/public/emoji/1f3f3_border.svg
new file mode 100644
index 00000000000..e7d03583bc3
--- /dev/null
+++ b/public/emoji/1f3f3_border.svg
@@ -0,0 +1,15 @@
+
+
diff --git a/public/emoji/1f3f4_border.svg b/public/emoji/1f3f4_border.svg
new file mode 100644
index 00000000000..7251ad7127f
--- /dev/null
+++ b/public/emoji/1f3f4_border.svg
@@ -0,0 +1,15 @@
+
+
diff --git a/public/emoji/1f403_border.svg b/public/emoji/1f403_border.svg
new file mode 100644
index 00000000000..ed788427a99
--- /dev/null
+++ b/public/emoji/1f403_border.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/public/emoji/1f40f_border.svg b/public/emoji/1f40f_border.svg
new file mode 100644
index 00000000000..fb4bbcfb384
--- /dev/null
+++ b/public/emoji/1f40f_border.svg
@@ -0,0 +1,23 @@
+
+
diff --git a/public/emoji/1f410_border.svg b/public/emoji/1f410_border.svg
new file mode 100644
index 00000000000..7a36382b5f6
--- /dev/null
+++ b/public/emoji/1f410_border.svg
@@ -0,0 +1,15 @@
+
+
diff --git a/public/emoji/1f411_border.svg b/public/emoji/1f411_border.svg
new file mode 100644
index 00000000000..dc4ddeb0877
--- /dev/null
+++ b/public/emoji/1f411_border.svg
@@ -0,0 +1,13 @@
+
+
diff --git a/public/emoji/1f413_border.svg b/public/emoji/1f413_border.svg
new file mode 100644
index 00000000000..3391490dff0
--- /dev/null
+++ b/public/emoji/1f413_border.svg
@@ -0,0 +1,13 @@
+
+
diff --git a/public/emoji/1f414_border.svg b/public/emoji/1f414_border.svg
new file mode 100644
index 00000000000..ad54bd1b8d7
--- /dev/null
+++ b/public/emoji/1f414_border.svg
@@ -0,0 +1,19 @@
+
+
diff --git a/public/emoji/1f41c_border.svg b/public/emoji/1f41c_border.svg
new file mode 100644
index 00000000000..929f7482a77
--- /dev/null
+++ b/public/emoji/1f41c_border.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/public/emoji/1f440_border.svg b/public/emoji/1f440_border.svg
new file mode 100644
index 00000000000..f25c3ca4036
--- /dev/null
+++ b/public/emoji/1f440_border.svg
@@ -0,0 +1,25 @@
+
+
diff --git a/public/emoji/1f464_border.svg b/public/emoji/1f464_border.svg
new file mode 100644
index 00000000000..c7393d6bd0e
--- /dev/null
+++ b/public/emoji/1f464_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/1f465_border.svg b/public/emoji/1f465_border.svg
new file mode 100644
index 00000000000..cc3732c4e5f
--- /dev/null
+++ b/public/emoji/1f465_border.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/public/emoji/1f47b_border.svg b/public/emoji/1f47b_border.svg
new file mode 100644
index 00000000000..80ac0121517
--- /dev/null
+++ b/public/emoji/1f47b_border.svg
@@ -0,0 +1,15 @@
+
+
diff --git a/public/emoji/1f47d_border.svg b/public/emoji/1f47d_border.svg
new file mode 100644
index 00000000000..e1d4a54d747
--- /dev/null
+++ b/public/emoji/1f47d_border.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/public/emoji/1f480_border.svg b/public/emoji/1f480_border.svg
new file mode 100644
index 00000000000..8546f7b00eb
--- /dev/null
+++ b/public/emoji/1f480_border.svg
@@ -0,0 +1,13 @@
+
+
diff --git a/public/emoji/1f482-1f3fb-200d-2640-fe0f_border.svg b/public/emoji/1f482-1f3fb-200d-2640-fe0f_border.svg
new file mode 100644
index 00000000000..7c7ff79495d
--- /dev/null
+++ b/public/emoji/1f482-1f3fb-200d-2640-fe0f_border.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/public/emoji/1f482-1f3fb-200d-2642-fe0f_border.svg b/public/emoji/1f482-1f3fb-200d-2642-fe0f_border.svg
new file mode 100644
index 00000000000..e601eae228f
--- /dev/null
+++ b/public/emoji/1f482-1f3fb-200d-2642-fe0f_border.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/public/emoji/1f482-1f3fb_border.svg b/public/emoji/1f482-1f3fb_border.svg
new file mode 100644
index 00000000000..98d0250869d
--- /dev/null
+++ b/public/emoji/1f482-1f3fb_border.svg
@@ -0,0 +1,31 @@
+
+
diff --git a/public/emoji/1f482-1f3fc-200d-2640-fe0f_border.svg b/public/emoji/1f482-1f3fc-200d-2640-fe0f_border.svg
new file mode 100644
index 00000000000..4542fbc40e1
--- /dev/null
+++ b/public/emoji/1f482-1f3fc-200d-2640-fe0f_border.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/public/emoji/1f482-1f3fc-200d-2642-fe0f_border.svg b/public/emoji/1f482-1f3fc-200d-2642-fe0f_border.svg
new file mode 100644
index 00000000000..e4cf683759e
--- /dev/null
+++ b/public/emoji/1f482-1f3fc-200d-2642-fe0f_border.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/public/emoji/1f482-1f3fc_border.svg b/public/emoji/1f482-1f3fc_border.svg
new file mode 100644
index 00000000000..279f34362db
--- /dev/null
+++ b/public/emoji/1f482-1f3fc_border.svg
@@ -0,0 +1,31 @@
+
+
diff --git a/public/emoji/1f482-1f3fd-200d-2640-fe0f_border.svg b/public/emoji/1f482-1f3fd-200d-2640-fe0f_border.svg
new file mode 100644
index 00000000000..d93566dccdb
--- /dev/null
+++ b/public/emoji/1f482-1f3fd-200d-2640-fe0f_border.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/public/emoji/1f482-1f3fd-200d-2642-fe0f_border.svg b/public/emoji/1f482-1f3fd-200d-2642-fe0f_border.svg
new file mode 100644
index 00000000000..bd4270dd31a
--- /dev/null
+++ b/public/emoji/1f482-1f3fd-200d-2642-fe0f_border.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/public/emoji/1f482-1f3fd_border.svg b/public/emoji/1f482-1f3fd_border.svg
new file mode 100644
index 00000000000..1d40871a679
--- /dev/null
+++ b/public/emoji/1f482-1f3fd_border.svg
@@ -0,0 +1,31 @@
+
+
diff --git a/public/emoji/1f482-1f3fe-200d-2640-fe0f_border.svg b/public/emoji/1f482-1f3fe-200d-2640-fe0f_border.svg
new file mode 100644
index 00000000000..1f590fa5e20
--- /dev/null
+++ b/public/emoji/1f482-1f3fe-200d-2640-fe0f_border.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/public/emoji/1f482-1f3fe-200d-2642-fe0f_border.svg b/public/emoji/1f482-1f3fe-200d-2642-fe0f_border.svg
new file mode 100644
index 00000000000..b74e4930c82
--- /dev/null
+++ b/public/emoji/1f482-1f3fe-200d-2642-fe0f_border.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/public/emoji/1f482-1f3fe_border.svg b/public/emoji/1f482-1f3fe_border.svg
new file mode 100644
index 00000000000..0024c77f8ef
--- /dev/null
+++ b/public/emoji/1f482-1f3fe_border.svg
@@ -0,0 +1,31 @@
+
+
diff --git a/public/emoji/1f482-1f3ff-200d-2640-fe0f_border.svg b/public/emoji/1f482-1f3ff-200d-2640-fe0f_border.svg
new file mode 100644
index 00000000000..e426d8efac9
--- /dev/null
+++ b/public/emoji/1f482-1f3ff-200d-2640-fe0f_border.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/public/emoji/1f482-1f3ff-200d-2642-fe0f_border.svg b/public/emoji/1f482-1f3ff-200d-2642-fe0f_border.svg
new file mode 100644
index 00000000000..3c4515c0f9b
--- /dev/null
+++ b/public/emoji/1f482-1f3ff-200d-2642-fe0f_border.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/public/emoji/1f482-1f3ff_border.svg b/public/emoji/1f482-1f3ff_border.svg
new file mode 100644
index 00000000000..0183693a936
--- /dev/null
+++ b/public/emoji/1f482-1f3ff_border.svg
@@ -0,0 +1,31 @@
+
+
diff --git a/public/emoji/1f482-200d-2640-fe0f_border.svg b/public/emoji/1f482-200d-2640-fe0f_border.svg
new file mode 100644
index 00000000000..480318a6ea9
--- /dev/null
+++ b/public/emoji/1f482-200d-2640-fe0f_border.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/public/emoji/1f482-200d-2642-fe0f_border.svg b/public/emoji/1f482-200d-2642-fe0f_border.svg
new file mode 100644
index 00000000000..5c68070a75c
--- /dev/null
+++ b/public/emoji/1f482-200d-2642-fe0f_border.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/public/emoji/1f482_border.svg b/public/emoji/1f482_border.svg
new file mode 100644
index 00000000000..f4da528fb48
--- /dev/null
+++ b/public/emoji/1f482_border.svg
@@ -0,0 +1,31 @@
+
+
diff --git a/public/emoji/1f4a3_border.svg b/public/emoji/1f4a3_border.svg
new file mode 100644
index 00000000000..aac8f4443d6
--- /dev/null
+++ b/public/emoji/1f4a3_border.svg
@@ -0,0 +1,15 @@
+
+
diff --git a/public/emoji/1f4a8_border.svg b/public/emoji/1f4a8_border.svg
new file mode 100644
index 00000000000..c20a5cb3b2d
--- /dev/null
+++ b/public/emoji/1f4a8_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/1f4ac_border.svg b/public/emoji/1f4ac_border.svg
new file mode 100644
index 00000000000..3d71232f92b
--- /dev/null
+++ b/public/emoji/1f4ac_border.svg
@@ -0,0 +1,13 @@
+
+
diff --git a/public/emoji/1f4ad_border.svg b/public/emoji/1f4ad_border.svg
new file mode 100644
index 00000000000..c887a7126bf
--- /dev/null
+++ b/public/emoji/1f4ad_border.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/public/emoji/1f4b1_border.svg b/public/emoji/1f4b1_border.svg
new file mode 100644
index 00000000000..f5ef5e849b0
--- /dev/null
+++ b/public/emoji/1f4b1_border.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/public/emoji/1f4b2_border.svg b/public/emoji/1f4b2_border.svg
new file mode 100644
index 00000000000..3bfe777e4b5
--- /dev/null
+++ b/public/emoji/1f4b2_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/1f4c3_border.svg b/public/emoji/1f4c3_border.svg
new file mode 100644
index 00000000000..9e7b562417a
--- /dev/null
+++ b/public/emoji/1f4c3_border.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/public/emoji/1f4de_border.svg b/public/emoji/1f4de_border.svg
new file mode 100644
index 00000000000..2a8044d9610
--- /dev/null
+++ b/public/emoji/1f4de_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/1f4f7_border.svg b/public/emoji/1f4f7_border.svg
new file mode 100644
index 00000000000..60421f91247
--- /dev/null
+++ b/public/emoji/1f4f7_border.svg
@@ -0,0 +1,19 @@
+
+
diff --git a/public/emoji/1f4f8_border.svg b/public/emoji/1f4f8_border.svg
new file mode 100644
index 00000000000..6bb518f5499
--- /dev/null
+++ b/public/emoji/1f4f8_border.svg
@@ -0,0 +1,19 @@
+
+
diff --git a/public/emoji/1f4f9_border.svg b/public/emoji/1f4f9_border.svg
new file mode 100644
index 00000000000..8adae2f151e
--- /dev/null
+++ b/public/emoji/1f4f9_border.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/public/emoji/1f4fc_border.svg b/public/emoji/1f4fc_border.svg
new file mode 100644
index 00000000000..8b60814287d
--- /dev/null
+++ b/public/emoji/1f4fc_border.svg
@@ -0,0 +1,23 @@
+
+
diff --git a/public/emoji/1f4fd_border.svg b/public/emoji/1f4fd_border.svg
new file mode 100644
index 00000000000..3b2050bae45
--- /dev/null
+++ b/public/emoji/1f4fd_border.svg
@@ -0,0 +1,13 @@
+
+
diff --git a/public/emoji/1f507_border.svg b/public/emoji/1f507_border.svg
new file mode 100644
index 00000000000..cd02481bd03
--- /dev/null
+++ b/public/emoji/1f507_border.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/public/emoji/1f508_border.svg b/public/emoji/1f508_border.svg
new file mode 100644
index 00000000000..c920d89dc36
--- /dev/null
+++ b/public/emoji/1f508_border.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/public/emoji/1f509_border.svg b/public/emoji/1f509_border.svg
new file mode 100644
index 00000000000..6881edb3075
--- /dev/null
+++ b/public/emoji/1f509_border.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/public/emoji/1f50a_border.svg b/public/emoji/1f50a_border.svg
new file mode 100644
index 00000000000..549811b6943
--- /dev/null
+++ b/public/emoji/1f50a_border.svg
@@ -0,0 +1,15 @@
+
+
diff --git a/public/emoji/1f50c_border.svg b/public/emoji/1f50c_border.svg
new file mode 100644
index 00000000000..6e37ecd63f7
--- /dev/null
+++ b/public/emoji/1f50c_border.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/public/emoji/1f519_border.svg b/public/emoji/1f519_border.svg
new file mode 100644
index 00000000000..801bafb8b16
--- /dev/null
+++ b/public/emoji/1f519_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/1f51a_border.svg b/public/emoji/1f51a_border.svg
new file mode 100644
index 00000000000..057cf982051
--- /dev/null
+++ b/public/emoji/1f51a_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/1f51b_border.svg b/public/emoji/1f51b_border.svg
new file mode 100644
index 00000000000..ccc8ed09920
--- /dev/null
+++ b/public/emoji/1f51b_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/1f51c_border.svg b/public/emoji/1f51c_border.svg
new file mode 100644
index 00000000000..3552cfa65be
--- /dev/null
+++ b/public/emoji/1f51c_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/1f51d_border.svg b/public/emoji/1f51d_border.svg
new file mode 100644
index 00000000000..a81b553f800
--- /dev/null
+++ b/public/emoji/1f51d_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/1f52a_border.svg b/public/emoji/1f52a_border.svg
new file mode 100644
index 00000000000..0a9bdeab6ef
--- /dev/null
+++ b/public/emoji/1f52a_border.svg
@@ -0,0 +1,15 @@
+
+
diff --git a/public/emoji/1f54a_border.svg b/public/emoji/1f54a_border.svg
new file mode 100644
index 00000000000..895872f3ec2
--- /dev/null
+++ b/public/emoji/1f54a_border.svg
@@ -0,0 +1,15 @@
+
+
diff --git a/public/emoji/1f54b_border.svg b/public/emoji/1f54b_border.svg
new file mode 100644
index 00000000000..5f6d6f202a6
--- /dev/null
+++ b/public/emoji/1f54b_border.svg
@@ -0,0 +1,19 @@
+
+
diff --git a/public/emoji/1f573_border.svg b/public/emoji/1f573_border.svg
new file mode 100644
index 00000000000..7a8cf732ea5
--- /dev/null
+++ b/public/emoji/1f573_border.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/public/emoji/1f576_border.svg b/public/emoji/1f576_border.svg
new file mode 100644
index 00000000000..4ad1315ef51
--- /dev/null
+++ b/public/emoji/1f576_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/1f577_border.svg b/public/emoji/1f577_border.svg
new file mode 100644
index 00000000000..bf3b8c7eb28
--- /dev/null
+++ b/public/emoji/1f577_border.svg
@@ -0,0 +1,25 @@
+
+
diff --git a/public/emoji/1f579_border.svg b/public/emoji/1f579_border.svg
new file mode 100644
index 00000000000..f71237315bf
--- /dev/null
+++ b/public/emoji/1f579_border.svg
@@ -0,0 +1,19 @@
+
+
diff --git a/public/emoji/1f58a_border.svg b/public/emoji/1f58a_border.svg
new file mode 100644
index 00000000000..42a31253491
--- /dev/null
+++ b/public/emoji/1f58a_border.svg
@@ -0,0 +1,17 @@
+
+
diff --git a/public/emoji/1f58b_border.svg b/public/emoji/1f58b_border.svg
new file mode 100644
index 00000000000..f0a6459caee
--- /dev/null
+++ b/public/emoji/1f58b_border.svg
@@ -0,0 +1,13 @@
+
+
diff --git a/public/emoji/1f5a4_border.svg b/public/emoji/1f5a4_border.svg
new file mode 100644
index 00000000000..63aa792ce5d
--- /dev/null
+++ b/public/emoji/1f5a4_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/1f5e3_border.svg b/public/emoji/1f5e3_border.svg
new file mode 100644
index 00000000000..8920fb23911
--- /dev/null
+++ b/public/emoji/1f5e3_border.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/public/emoji/1f983_border.svg b/public/emoji/1f983_border.svg
new file mode 100644
index 00000000000..ccd557b04e3
--- /dev/null
+++ b/public/emoji/1f983_border.svg
@@ -0,0 +1,19 @@
+
+
diff --git a/public/emoji/1f98d_border.svg b/public/emoji/1f98d_border.svg
new file mode 100644
index 00000000000..1f022a9ba52
--- /dev/null
+++ b/public/emoji/1f98d_border.svg
@@ -0,0 +1,23 @@
+
+
diff --git a/public/emoji/2122_border.svg b/public/emoji/2122_border.svg
new file mode 100644
index 00000000000..f0fbee1b135
--- /dev/null
+++ b/public/emoji/2122_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/25aa_border.svg b/public/emoji/25aa_border.svg
new file mode 100644
index 00000000000..220eb43458b
--- /dev/null
+++ b/public/emoji/25aa_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/25ab_border.svg b/public/emoji/25ab_border.svg
new file mode 100644
index 00000000000..b51e1a9cce8
--- /dev/null
+++ b/public/emoji/25ab_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/25fb_border.svg b/public/emoji/25fb_border.svg
new file mode 100644
index 00000000000..24c48e17ac4
--- /dev/null
+++ b/public/emoji/25fb_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/25fc_border.svg b/public/emoji/25fc_border.svg
new file mode 100644
index 00000000000..345e972edbe
--- /dev/null
+++ b/public/emoji/25fc_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/25fd_border.svg b/public/emoji/25fd_border.svg
new file mode 100644
index 00000000000..ec727867459
--- /dev/null
+++ b/public/emoji/25fd_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/25fe_border.svg b/public/emoji/25fe_border.svg
new file mode 100644
index 00000000000..775bb6718f4
--- /dev/null
+++ b/public/emoji/25fe_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/2601_border.svg b/public/emoji/2601_border.svg
new file mode 100644
index 00000000000..6ab20d73728
--- /dev/null
+++ b/public/emoji/2601_border.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/public/emoji/2620_border.svg b/public/emoji/2620_border.svg
new file mode 100644
index 00000000000..8878828be62
--- /dev/null
+++ b/public/emoji/2620_border.svg
@@ -0,0 +1,13 @@
+
+
diff --git a/public/emoji/2660_border.svg b/public/emoji/2660_border.svg
new file mode 100644
index 00000000000..3ce65b4ebfd
--- /dev/null
+++ b/public/emoji/2660_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/2663_border.svg b/public/emoji/2663_border.svg
new file mode 100644
index 00000000000..3fcf5c75ebd
--- /dev/null
+++ b/public/emoji/2663_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/26aa_border.svg b/public/emoji/26aa_border.svg
new file mode 100644
index 00000000000..d2cac5cad11
--- /dev/null
+++ b/public/emoji/26aa_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/26ab_border.svg b/public/emoji/26ab_border.svg
new file mode 100644
index 00000000000..617df74935b
--- /dev/null
+++ b/public/emoji/26ab_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/26be_border.svg b/public/emoji/26be_border.svg
new file mode 100644
index 00000000000..25954deac42
--- /dev/null
+++ b/public/emoji/26be_border.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/public/emoji/26f8_border.svg b/public/emoji/26f8_border.svg
new file mode 100644
index 00000000000..0df7ff2ff64
--- /dev/null
+++ b/public/emoji/26f8_border.svg
@@ -0,0 +1,15 @@
+
+
diff --git a/public/emoji/2712_border.svg b/public/emoji/2712_border.svg
new file mode 100644
index 00000000000..6e9e1c0193a
--- /dev/null
+++ b/public/emoji/2712_border.svg
@@ -0,0 +1,13 @@
+
+
diff --git a/public/emoji/2714_border.svg b/public/emoji/2714_border.svg
new file mode 100644
index 00000000000..a90dd10eb0d
--- /dev/null
+++ b/public/emoji/2714_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/2716_border.svg b/public/emoji/2716_border.svg
new file mode 100644
index 00000000000..d5701be650d
--- /dev/null
+++ b/public/emoji/2716_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/2734_border.svg b/public/emoji/2734_border.svg
new file mode 100644
index 00000000000..c74c6a5117c
--- /dev/null
+++ b/public/emoji/2734_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/2754_border.svg b/public/emoji/2754_border.svg
new file mode 100644
index 00000000000..1d6c4ecda17
--- /dev/null
+++ b/public/emoji/2754_border.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/public/emoji/2755_border.svg b/public/emoji/2755_border.svg
new file mode 100644
index 00000000000..65ec57082a7
--- /dev/null
+++ b/public/emoji/2755_border.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/public/emoji/2795_border.svg b/public/emoji/2795_border.svg
new file mode 100644
index 00000000000..14c2cf69b5d
--- /dev/null
+++ b/public/emoji/2795_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/2796_border.svg b/public/emoji/2796_border.svg
new file mode 100644
index 00000000000..6ee64cae285
--- /dev/null
+++ b/public/emoji/2796_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/2797_border.svg b/public/emoji/2797_border.svg
new file mode 100644
index 00000000000..0bbf13ba26e
--- /dev/null
+++ b/public/emoji/2797_border.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/public/emoji/27b0_border.svg b/public/emoji/27b0_border.svg
new file mode 100644
index 00000000000..dec79f5c6e6
--- /dev/null
+++ b/public/emoji/27b0_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/2b1b_border.svg b/public/emoji/2b1b_border.svg
new file mode 100644
index 00000000000..b622c351084
--- /dev/null
+++ b/public/emoji/2b1b_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/2b1c_border.svg b/public/emoji/2b1c_border.svg
new file mode 100644
index 00000000000..c633cc3de87
--- /dev/null
+++ b/public/emoji/2b1c_border.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/public/emoji/3030_border.svg b/public/emoji/3030_border.svg
new file mode 100644
index 00000000000..635214d1565
--- /dev/null
+++ b/public/emoji/3030_border.svg
@@ -0,0 +1,7 @@
+
+