2016-09-29 11 views
1

Так я печатающие этот арабский текст («Первая партия Вторая партия»): لطرف الأول الطرف الثانىпечати арабские символы добавляет небольшие визуальные различия и вставляет дополнительные символы Юникода

Иногда он печатает так: لطرف الأول الطرف الثانى

'оригинал' текст преобразуется в юникод читает: \ u0644 \ u0637 \ u0631 \ u0641 \ u0627 \ u0644 \ u0623 \ u0648 \ u0644 \ u0627 \ u0644 \ u0637 \ u0631 \ u0641 \ u0627 \ u0644 \ u062b \ u0627 \ u0646 \ u0649

Данные в задании на печать r EADS: \ ufedf \ u0637 \ u0631 \ u0641 \ u0627 \ ufef7 \ u0648 \ u0644 \ u0627 \ ufedf \ u0637 \ u0631 \ u0641 \ u0627 \ ufedf \ ufe9b \ ufe8e \ ufee7 \ ufef0

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

Есть также небольшие различия визуально: Visually detectable differences Спасибо всем!

+0

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

ответ

1

Типизация для арабского языка отличается от римских сценариев, особенно в том, как она обрабатывает лигатуры и оправдание. Чтобы поместить это в контекст, рассмотрим английский, который содержит несколько лигатур для наборов набора, таких как ff, fi и ffi, которые обычно отображаются как одиночные символы в выводе.

Ниже представлены три символа ffi, отображаемые как один символ лигатуры (\ uFB03).

Three characters ffi rendered as a single character ligature.

Вот статья о лигатур в целом.

https://en.wikipedia.org/wiki/Typographic_ligature

Для оправдания, римские сценарии, как правило, вставить пробелы или дефис (а также Кернинг). С арабским считается более приятным растягивать ширину штрихов с помощью «kashidas», дополнительных символов, которые вызывают появление растяжки.

В целом число символов Юникода, используемых в тексте набора текста, может быть больше или меньше, чем исходный текст.

Вот несколько ссылок на арабский язык, если вы заинтересованы.

https://www.tug.org/tugboat/tb27-2/tb87benatia.pdf

https://design.tutsplus.com/tutorials/creative-arabic-calligraphy-kashida-tajim-and-tashkil--cms-23240

+0

Привет, Джоэл, спасибо за этот пост и очень интересные ссылки. Это очень ценится. – DanielFrins

+0

Привет, Джоэл, увидев, что у вас есть опыт с этим, есть ли у вас опыт в том, чтобы вставить это в регулярное выражение? – DanielFrins

+0

Не уверен, что вы хотите, чтобы выражения reg для вас делали. Похоже, это, наверное, отдельный вопрос. Кроме того, я ответил на ваш вопрос выше? Если да, примите ответ (не такой, как выдержка). Если нет, уточните свой вопрос, на что еще нужно ответить. Thx –