Shrink the emoji table by merging adjacent ranges
diff --git a/src/gen-emoji-table.py b/src/gen-emoji-table.py
index 278e0b2..9afe747 100755
--- a/src/gen-emoji-table.py
+++ b/src/gen-emoji-table.py
@@ -12,7 +12,7 @@
 f = open(sys.argv[1])
 header = [f.readline () for _ in range(10)]
 
-sets = OrderedDict()
+ranges = OrderedDict()
 for line in f.readlines():
 	line = line.strip()
 	if not line or line[0] == '#':
@@ -25,9 +25,12 @@
 	else:
 		start = end = rang[0]
 
-	if typ not in sets:
-		sets[typ] = set()
-	sets[typ].add((start, end))
+	if typ not in ranges:
+		ranges[typ] = []
+	if ranges[typ] and ranges[typ][-1][1] == start - 1:
+		ranges[typ][-1] = (ranges[typ][-1][0], end)
+	else:
+		ranges[typ].append((start, end))
 
 
 
@@ -49,7 +52,7 @@
 print ('#include "hb-unicode.hh"')
 print ()
 
-for typ,s in sets.items():
+for typ,s in ranges.items():
 	if typ != "Extended_Pictographic": continue
 	print()
 	print("static const struct hb_unicode_range_t _hb_unicode_emoji_%s_table[] =" % typ)