2017-09-12 5 views
0

Je saisis le texte arabe via Unicode dans une zone Richtext et tout semble correct. Les chiffres ci-dessous sont tels qu'ils devraient ressembler à l'exemple Texte à gauche et chiffres à droite. La boîte est la taille exacte, donc je ne suis pas inquiet d'avoir à droite ou à gauche de l'écran. Image et Unicode est inférieureRichtextbox saisie de l'arabe via Unicode

Image of what I need

FE9E FE98 FEB8 FEC6 FEEB 0020 0660 0662 0664 0668

J'essaie ensuite de le copier dans une autre boîte richtext et le texte flips autour et des changements premier et le dernier caractère qui n'est pas ce que je veux et les chiffres se déplacent à gauche du texte à nouveau pas ce que je veux. Je veux copier octet pour byte.

J'ai trouvé quelque chose sur la marque gauche et droite et essayé mais ça ne marche pas

rchtxbx_bottom.SelectionFont = new System.Drawing.Font("San Serif", 20); 
     rchtxbx_bottom.AppendText("Copied string = " + rchtxbx_top.Text + "\r"); 

     rchtxbx_bottom.SelectionFont = new System.Drawing.Font("San Serif", 20); 
     rchtxbx_bottom.AppendText("Right to Left Mark = \u200F" + rchtxbx_top.Text + "\u202C\r"); 

     rchtxbx_bottom.SelectionFont = new System.Drawing.Font("San Serif", 20); 
     rchtxbx_bottom.AppendText("Left to Right Mark = \u200E" + rchtxbx_top.Text + "\u202C\r"); 

     rchtxbx_bottom.SelectionFont = new System.Drawing.Font("San Serif", 20); 
     rchtxbx_bottom.AppendText("ForceLTR string = " + ForceLTR(rchtxbx_top.Text) + "\r"); 

J'ai aussi essayé droite à gauche dans la zone de texte menu Propriétés. Qu'est-ce que je reçois est Result

Des idées de comment je peux contourner ce problème?

Répondre

0

J'ai finalement résolu le problème en créant une fonction qui vérifie chaque Char en Unicode. Si c'est de la page FE alors j'ajoute \ u202C après comme indiqué ci-dessous.

string us = string.Format("\uFE9E\u202C\uFE98\u202C\uFEB8\u202C\uFEC6\u202C\uFEEB\u202C\u0020\u0660\u0662\u0664\u0668 Aa1");