I had some difficulties in understanding this line. At first, I thought you have "+ 1" by mistake (thinking that you copies this line of code from somewhere else and forgot to remove this part). Later, your comment above this line helped me to realize that your are reverting the exact action done by the caller. So instead of having to know what the caller has done and having to revert the same action here, why don't we make the following changes.

- Return a boolean in this function to indicate whether we actually adjust the font size or not. 
- Update the caller code to check the return value of this function call and update the preference only on success.
- Also add an upper bound check here to fix issues #2640 and #994.
- Finally, check the font size value read from the preference. We can be 100% sure that we always get the correct font size value from the preference. Update the preference with default font size if restoring font size from preference is failing.