Sub InsertZeroWidthSpaces(Text As String) As String
Dim sb As StringBuilder
sb.Initialize
For i = 0 To Text.Length - 1
Dim ch As String = Text.CharAt(i)
sb.Append(ch)
' Nur bei japanischen Zeichen einen Zero-Width Space einfügen
If IsCJKCharacter(ch) Then sb.Append(" ")
Next
Return sb.ToString
End Sub
Sub IsCJKCharacter(ch As String) As Boolean
Dim code As Int = Asc(ch)
Return (code >= 0x4E00 And code <= 0x9FFF) Or _ ' Chinesisch & Kanji
(code >= 0x3040 And code <= 0x30FF) Or _ ' Hiragana
(code >= 0x31F0 And code <= 0x31FF) Or _ ' Katakana-Erweiterung
(code >= 0x3400 And code <= 0x4DBF) Or _ ' Seltene Kanji
(code >= 0x20000 And code <= 0x2A6DF) ' Erweiterte Kanji
End Sub