Search code examples
c#unicodeinternationalizationbidi

How do I find a Unicode character's bidirectional character type in C#?


Is there any way I can find a Unicode character's bidirectional character type in C#?

I want to look through the characters in a string and decide if they are all strong LTR, strong RTL, a mixture of strong LTR and neutral, etc.


Solution

  • System.Globalization.CharUnicodeInfo.GetBidiCategory(ch) is your friend.

    The problem is that the function is internal. This MichKap (RIP) blog post shows you how to call it using reflection.