2017-01-02 7 views
1

Я работаю над программным обеспечением C#, он генерирует некоторые тексты в праве на левый язык (персидский). Я использую ниже код:пространство в языках справа налево в текстовом файле C#

s += char.ConvertFromUtf32(32); 

добавить пробел между словами и в конце всей процедуры, я сохранить файл DOC. Хотя сохраненный текст выглядит хорошо, но пространство не является символом справа налево пространство и сделать некоторые проблемы, такие как плохое помещенного dots.like картины:

bad placed dots

я могу это исправить, заменив все пробелы в сохраненном файле с изменением языка клавиатуры на фарси, а затем введите пробел. что делает й пример, как показано ниже:

changing the keyboard language to farsi and then type space

Я извлек персидский пространство полукокса, используя следующий код, который 32.

char[] arr=s.ToCharArray();  

и пространство полукокс 32. так, пожалуйста, помогите мне, как я могу это исправить.

+0

Я не вижу никакой разницы. С чем вам нужна помощь? – Prajwal

+0

место точки. Я только что изменил пространство после точки, и точка будет корректно визуально. – FarZad

+0

Звучит как классический вопрос справа налево. Есть ли, или вы можете добавить знак справа налево? https://en.wikipedia.org/wiki/Right-to-left_mark См. Также http://stackoverflow.com/questions/22290449/java-code-reads-utf-8-text-incorrectly – shiri

ответ

0

Фактически, я нашел ответ. Я использовал Spire.Doc для упрощения процесса создания текстовых файлов, добавив, что эта строка кода сделает ее полностью правильной.
TextRange tr = paragraph.AppendText("Spire.Doc"); tr.CharacterFormat.Bidi = true;
Thnx u ребята за вашу помощь.

 Смежные вопросы

  • Нет связанных вопросов^_^