remainingCharacterCount returns signed integer so it can be negative.