Fix rangeShift calculations for count=0 in sfnt, cmap, and kern
diff --git a/Lib/fontTools/ttLib/sfnt.py b/Lib/fontTools/ttLib/sfnt.py
index c6bc93a..95679e9 100644
--- a/Lib/fontTools/ttLib/sfnt.py
+++ b/Lib/fontTools/ttLib/sfnt.py
@@ -483,7 +483,7 @@
 	exponent = maxPowerOfTwo(n)
 	searchRange = (2 ** exponent) * 16
 	entrySelector = exponent
-	rangeShift = n * 16 - searchRange
+	rangeShift = max(0, n * 16 - searchRange)
 	return searchRange, entrySelector, rangeShift