Два представления арабского шрифта в юникоде
Я работаю над приложением с арабским текстом и обнаружил, что всегда есть два способа написать один и тот же текст на арабском языке. Я не могу понять, почему это происходит, и как я могу преобразовать кого-либо из них в другой, чтобы разработать согласованный пользовательский интерфейс.
Вот пример арабской фразы.
اللّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وَآلِ مُحَمَّدٍ
اَﻟﻠّﻬُﻢﱠ ﺻَﻞﱢ ﻋَﻠﻰ ﻣُﺤَﻤﱠﺪٍ وَ ﺁلِ ﻣُﺤَﻤﱠﺪٍ
Я вижу, что в предварительном просмотре все выглядит одинаково, но я хочу достичь того же результата.
Вот как я могу различить эти два в заметках
1 ответ
Они выглядят по-разному в моем браузере, и получение кодовых баллов Unicode для каждого дает мне в порядке размещения
U+627 U+644 U+644 U+651 U+647 U+64F U+645 U+651 U+64E U+20 U+635 U+64E U+644 U+651 U+650 U+20 U+639 U+64E U+644 U+64E U+649 U+20 U+645 U+64F U+62D U+64E U+645 U+651 U+64E U+62F U+64D U+20 U+648 U+64E U+622 U+644 U+650 U+20 U+645 U+64F U+62D U+64E U+645 U+651 U+64E U+62F U+64D
U+627 U+64E U+FEDF U+FEE0 U+651 U+FEEC U+64F U+FEE2 U+FC60 U+20 U+FEBB U+64E U+FEDE U+FC62 U+20 U+FECB U+64E U+FEE0 U+FEF0 U+20 U+FEE3 U+64F U+FEA4 U+64E U+FEE4 U+FC60 U+FEAA U+64D U+20 U+648 U+64E U+20 U+FE81 U+644 U+650 U+20 U+FEE3 U+64F U+FEA4 U+64E U+FEE4 U+FC60 U+FEAA U+64D
Проверка этих первых трех букв в первой строке - ALEF, LAM, LAM, а вторая строка - ALEF, FATHA, LAM INITIAL FORM.
Что странно, потому что начальная форма не должна быть в середине слова. Похоже, ваши данные не правильно очищены. Я не знаю, кроме проверки каждой буквы, способа исправить это.