delta encoding of upper/lower/title makes a glorious return (#12736)
diff --git a/Tools/unicode/makeunicodedata.py b/Tools/unicode/makeunicodedata.py
index 0795d9e..17edc3c 100644
--- a/Tools/unicode/makeunicodedata.py
+++ b/Tools/unicode/makeunicodedata.py
@@ -443,6 +443,13 @@
             if sc is None:
                 if upper == lower == title:
                     upper = lower = title = 0
+                else:
+                    upper = upper - char
+                    lower = lower - char
+                    title = title - char
+                    assert (abs(upper) <= 2147483647 and
+                            abs(lower) <= 2147483647 and
+                            abs(title) <= 2147483647)
             else:
                 # This happens either when some character maps to more than one
                 # character in uppercase, lowercase, or titlecase or the