Sounds like you're overthinking. One field for "full name" and another for "how you want to be addressed" is way simpler than the "rules" you list above. And also consider that you've only listed rule for two cases (and your rules are wrong, or at best incomplete), and have left out the hundreds of other rules for other languages and cultures.