Тамильская кодировка всех символов - Tamil All Character Encoding
Эта статья содержит контент, который написан как Реклама.Июнь 2016) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Тамильская кодировка всех символов (TACE16) является 16-битным Unicode -основан схема кодировки символов за Тамильский язык.[1][2]
Драйверы клавиатуры и шрифты
Драйвер клавиатуры для этой схемы кодирования доступен в Тамильский виртуальный университет интернет сайт[3] бесплатно.[4] Оно использует Тамильский99 и тамильская пишущая машинка раскладки клавиатуры, которые одобрены правительством штата Тамил Наду, и сопоставляет вводимые нажатия клавиш с соответствующими символами схемы TACE16.[2] Для чтения файлов, созданных с использованием схемы TACE16, соответствующие тамильские шрифты Unicode для этой схемы кодирования также доступны на том же веб-сайте.[3][4] Эти шрифты не только имеют отображение глифов для символов формата TACE16, но также имеют отображение глифов для текущая кодировка Unicode для обоих ASCII и Тамильские персонажи, чтобы обеспечить обратную совместимость для чтения существующих файлов, созданных с использованием представить схему кодирования Unicode для тамильского языка.
Набор символов
Все символы этой схемы кодирования расположены в территория частного использования из Базовая многоязычная плоскость из Unicode с Универсальный набор символов.
Согласные → Гласные ↓ | E10 | E18 | E1A | E1F | E20 | E21 | E22 | E23 | E24 | E25 | E26 | E27 | E28 | E29 | E2A | E2B | E2C | E2D | E2E | E2F | E30 | E31 | E32 | E33 | E34 | E35 | E36 | E37 | E38 | E39 | E3A | E3B | E3C | E3D | E3E | E3F |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | ௳ | ௦ | அரைக்கால் | ் | க் | ங் | ச் | ஞ் | ட் | ண் | த் | ந் | ப் | ம் | ய் | ர் | ல் | வ் | ழ் | ள் | ற் | ன் | ஜ் | ஶ் | ஷ் | ஸ் | ஹ் | க்ஷ் | ||||||||
1 | ௴ | ௧ | கால் | அ | க | ங | ச | ஞ | ட | ண | த | ந | ப | ம | ய | ர | ல | வ | ழ | ள | ற | ன | ஜ | ஶ | ஷ | ஸ | ஹ | க்ஷ | ||||||||
2 | ௵ | ௨ | அரை | ா | ஆ | கா | ஙா | சா | ஞா | டா | ணா | தா | நா | பா | மா | யா | ரா | லா | வா | ழா | ளா | றா | னா | ஜா | ஶா | ஷா | ஸா | ஹா | க்ஷா | |||||||
3 | ௶ | ௩ | முக்கால் | ி | இ | கி | ஙி | சி | ஞி | டி | ணி | தி | நி | பி | மி | யி | ரி | லி | வி | ழி | ளி | றி | னி | ஜி | ஶி | ஷி | ஸி | ஹி | க்ஷி | |||||||
4 | ௷ | ௪ | அரைவீசம் | ீ | ஈ | கீ | ஙீ | சீ | ஞீ | டீ | ணீ | தீ | நீ | பீ | மீ | யீ | ரீ | லீ | வீ | ழீ | ளீ | றீ | னீ | ஜீ | ஶீ | ஷீ | ஸீ | ஹீ | க்ஷீ | |||||||
5 | ௸ | ௫ | வீசம் | ு | உ | கு | ஙு | சு | ஞு | டு | ணு | து | நு | பு | மு | யு | ரு | லு | வு | ழு | ளு | று | னு | ஜு | ஶு | ஷு | ஸு | ஹு | க்ஷு | |||||||
6 | ௹ | ௬ | மூவீசம் | ூ | ஊ | கூ | ஙூ | சூ | ஞூ | டூ | ணூ | தூ | நூ | பூ | மூ | யூ | ரூ | லூ | வூ | ழூ | ளூ | றூ | னூ | ஜூ | ஶூ | ஷூ | ஸூ | ஹூ | க்ஷூ | |||||||
7 | ௺ | ௭ | அரைமா | ெ | எ | கெ | ஙெ | செ | ஞெ | டெ | ணெ | தெ | நெ | பெ | மெ | யெ | ரெ | லெ | வெ | ழெ | ளெ | றெ | னெ | ஜெ | ஶெ | ஷெ | ஸெ | ஹெ | க்ஷெ | |||||||
8 | பௌர்ணமி | ௮ | ஒருமா | ே | ஏ | கே | ஙே | சே | ஞே | டே | ணே | தே | நே | பே | மே | யே | ரே | லே | வே | ழே | ளே | றே | னே | ஜே | ஶே | ஷே | ஸே | ஹே | க்ஷே | |||||||
9 | அமாவாசை | ௯ | இரண்டுமா | ை | ஐ | கை | ஙை | சை | ஞை | டை | ணை | தை | நை | பை | மை | யை | ரை | லை | வை | ழை | ளை | றை | னை | ஜை | ஶை | ஷை | ஸை | ஹை | க்ஷை | |||||||
А | கார்த்திகை | ௰ | மும்மா | ொ | ஒ | கொ | ஙொ | சொ | ஞொ | டொ | ணொ | தொ | நொ | பொ | மொ | யொ | ரொ | லொ | வொ | ழொ | ளொ | றொ | னொ | ஜொ | ஶொ | ஷொ | ஸொ | ஹொ | க்ஷொ | |||||||
B | ராஜ | ௱ | நாலுமா | ோ | ஓ | கோ | ஙோ | சோ | ஞோ | டோ | ணோ | தோ | நோ | போ | மோ | யோ | ரோ | லோ | வோ | ழோ | ளோ | றோ | னோ | ஜோ | ஶோ | ஷோ | ஸோ | ஹோ | க்ஷோ | |||||||
C | ௐ | ௲ | முந்திரி | ௌ | ஔ | கௌ | ஙௌ | சௌ | ஞௌ | டௌ | ணௌ | தௌ | நௌ | பௌ | மௌ | யௌ | ரௌ | லௌ | வௌ | ழௌ | ளௌ | றௌ | னௌ | ஜௌ | ஶௌ | ஷௌ | ஸௌ | ஹௌ | க்ஷௌ | |||||||
D | அரைக்காணி | ஃ | ஸ்ரீ | |||||||||||||||||||||||||||||||||
E | காணி | |||||||||||||||||||||||||||||||||||
F | முக்காணி |
Примечание: | |
---|---|
Недавно добавлено. Отсутствует в Unicode_v6.3. | |
Выделено на исследования (НЛП) | |
Для будущего использования |
Анализ TACE16 по сравнению со стандартом Unicode для тамильского языка
В нейтралитет этого раздела оспаривается.Январь 2015) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Анализ TACE16 завершен представить стандарт Unicode для тамильского языка:
Проблемы с нынешним Unicode для тамильского языка
В представить стандарт Unicode для тамильского языка считается неадекватным для эффективного и результативного использования тамильского языка в компьютерах по следующим причинам:[1]
- Код Unicode тамильский имеет позиции кода только для 31 из 247 тамильских символов. Эти 31 символ включают 12 гласных, 18 агара-уирмей, один айтам, не считая пяти грантха агара-уирмей, которые также имеют кодовое пространство в Unicode Tamil. Остальные тамильские символы должны быть обработаны с помощью отдельного программного обеспечения. Только 10% тамильских символов предоставлены кодовым пространством в тамильском языке Present Unicode. 90% тамильских символов, которые используются в общем текстовом обмене, не имеют кодового пространства.
- Уир-мейцы, оставшиеся без внимания в настоящем Юникод тамильский - простые символы, такие же, как A, B, C, D - символы английского языка. Uyir-meys не являются ни глифами, ни лигатурами, ни конъюнктивными символами, как предполагается в Unicode. ka, kA, ki, kI и т. д. - символы тамильского языка.
- В любом простом тамильском тексте гласные согласные (uyir-meys) составляют от 64 до 70%; Гласные (уир) составляют от 5 до 6%, а согласные (мейс) - от 25 до 30%. Разбиение часто встречающихся букв, таких как гласные и согласные, на глифы крайне неэффективно.
- Этот тип кодирования, который требует, чтобы механизм рендеринга реализовал символ во время вычислений, не подходит для таких приложений, как разработка системного программного обеспечения на тамильском языке, поиск и сортировка и обработка естественного языка (NLP) на тамильском языке. Он требует дополнительного времени и места, что делает вычисления процесс крайне неэффективен. Для таких приложений требуется реализация Level-1, где все символы языка имеют кодовые позиции в кодировке, например, английский язык.
- Эта кодировка основана на ISCII (1988) и, следовательно, символы не находятся в естественном порядке последовательности. Для их упорядочения в естественном порядке последовательности требуется сложный алгоритм сопоставления.
- Он использует несколько кодовых точек для отображения отдельных символов. Множественные точки кода приводят к уязвимостям безопасности, неоднозначным комбинациям и требуют использования нормализации.
- Простой подсчет букв, сортировка, поиск неэффективны
- Требуются скрытые символы типа ZWJ / ZWNJ.
- Таблица исключений необходима для предотвращения недопустимых комбинаций кодовых точек.
- Индийский блок Unicode построен на огромной, сложной, подверженной ошибкам конструкции, основанной на кодировке, которая НЕ рассчитана на долгую жизнь.
- Самая первая кодовая точка гласит: «Тамильский знак Анусвара - не используется на тамильском».
- Предполагаемое сопоставление было таким же, как у Деванагари - неправильно использует неоднозначную кодировку для отображения одного и того же символа.
- Он кодирует 23 гласных-согласных (23 согласных + Ü) и называет их согласными, что противоречит тамильской грамматике.
- Неестественное преобразование речи в текст / преобразование текста в речь.
- Неэффективен для хранения, передачи и поиска (например, чтение и запись файлов, Интернет и т. Д.).
- Сложная обработка тормозит развитие.
- Требуется нормализация для сравнения строк.
- Последовательность символов может соответствовать одному глифу, то есть ச + ெ◌ + ◌ா = ெசா. Персонажи - это не графемы. Согласно Unicode ெசா - это графема; но ச, ெ◌, ◌ா - символы.
- Требуется динамическая композиция - текстовый элемент, закодированный как последовательность базового символа, за которым следует одна или несколько объединяющих меток.
- Есть два метода воспроизведения гласных согласных. Это приводит к неоднозначности при отображении символов.
- В присутствует Unicode неэффективен для синтаксического анализа. Например, имя திருவள்ளுவர் выглядит так, как будто оно должно состоять из семи букв. Однако, согласно Unicode, это имя состоит из двенадцати символов: த ◌ி ர ◌ு வ ள ◌் ள ◌ு வ ர ◌
- Чтобы правильно подсчитать буквы в этом имени, опытный разработчик должен был написать сложную программу и представить ее как технический документ на конференции по вычислительной технике на тамильском языке. Для сравнения: подсчет букв в английском слове - это упражнение, оставленное начинающему программисту. Такие проблемы возникают из-за того, что простой сценарий, такой как тамильский, обрабатывается Unicode как сложный. Например в библиотеке Python открытый тамильский,[5] который использует текущий стандарт Unicode для тамильского языка, для подсчета количества тамильских букв в данном тексте функция tamil.utf8.get_letters сначала используется для синтаксического анализа текста в списке, а затем возвращает длину списка как количество букв.[6] Этот тип сложной логики программирования или дополнительный дополнительный уровень требований к структуре необходим, когда простой сценарий, такой как тамильский, рассматривается как сложный сценарий.
- Стандартная политика Unicode заключается в кодировании только символов, а не глифов. Тем не мение,[7] потому что Юникод тамильский стандарт включает гласные знаки как объединяющие символы. Эти знаки, которые не имеют значения для тамильского читателя, будут отображаться как есть механизмами формирования символов, которые обнаруживают пустое пространство между ними и основным символом. Таким образом, Unicode вводит пунктирный круг как тамильский символ.
- Юникод тамильский не полностью поддерживается на многих платформах, прежде всего потому, что тамильский язык рассматривается как сложный сценарий, требующий сложной обработки.
- Поскольку все вышеупомянутые неэффективности потребляют дополнительные циклы обработки процессора для машины, чем необходимо, это увеличит общее потребление энергии (электричество) в течение всего срока службы машиной, которая обрабатывает Unicode Tamil. Например, при обработке одного тамильского символа kI (கீ) он должен обрабатывать модификаторы как согласных, так и гласных, что удваивает потребление циклов обработки процессором.
Анализ TACE16 по Unicode Tamil
Следующие данные обеспечивают сравнение анализа текущего Кодировка Unicode для тамильского языка против TACE16 по электронному управлению и просмотру:[1]
- TACE16 эффективнее Юникод тамильский примерно на 5,46–11,94% в случае приложения для хранения данных.
- TACE16 эффективнее Юникод тамильский примерно на 18,69–22,99 процента в случае данных индекса сортировки.
- TACE16 эффективнее Юникод тамильский примерно на 25,39%, когда все данные на тамильском языке. Последовательность сопоставления по умолчанию (двоичная) при использовании значений кодового пространства в новом TACE16 не соответствует порядку тамильского словаря. Некоторые из уир-мей (Agara-uyirmeys) имеют приоритет перед гласными и другими уйирмейцами в Новом TACE16, гласные и агарауир-мей находятся в блоке 0B80 - 0B8F, а другие уир-мейсы находятся в диапазоне с 08:00 до 08FF. По этой причине сортировка данных Unicode выглядит лучше, чем данные TACE16.
- TACE16 быстрее сортирует Юникод тамильский примерно на 0,31–16,96 процента.
- Создание индекса для данных TACE16 на 36,7% быстрее, чем для Unicode.
- Для полного ключевого поиска по индексированным полям TACE16 показал лучшие результаты, чем Юникод тамильский до 24,07%. В случае неиндексированных полей TACE16 также работал лучше, чем Юникод тамильский до 20,9%.
- Рендеринг статических тамильских данных прошел нормально с TACE16.
Преимущества TACE16 над Unicode Tamil
Схема кодировки символов TACE16 не только решает все проблемы с настоящим. Стандарт кодирования Unicode за Тамильский язык которые упомянуты выше, но также обеспечивают дополнительное преимущество перед значительными улучшениями производительности как во времени обработки, так и во времени обработки, которые являются основными факторами, влияющими на эффективное и быстрое выполнение любой компьютерной программы. Эта система имеет следующие дополнительные преимущества:[1]
- Кодировка является универсальной, поскольку она включает в себя все символы, которые встречаются в общем обмене тамильским текстом.
- Сопоставление выполняется последовательно в соответствии со значением кода.
- Кодировка однозначная.
- Любая данная кодовая точка всегда представляет один и тот же символ.
- Здесь нет двусмысленности, как в современный Unicode тамильский.
У кодировки тамильского Unicode было так много проблем, что кто-то сделал следующее предложение по перекодировке тамильского языка.[8] Это было отклонено Unicode, который сказал, что перекодирование будет вредным, и не было убедительных доказательств того, что кодирование Unicode Tamil является плохим.[9]
Эта система имеет следующие преимущества для компьютерного программирования:
- Базовый дизайн программного обеспечения для размещения тамильских символов и их обработка упрощены.
- Сортировка и поиск очень просты.
- Для машины TACE16 требует меньше циклов обработки процессора (который, в свою очередь, потребляет меньше электроэнергии), чем Юникод тамильский. По сути, TACE16 экологичнее, чем Юникод тамильский.
- TACE16 позволяет программировать на основе тамильской грамматики, что не очень просто в Юникод тамильский (требуется дополнительная разработка фреймворка).
- Кодировка очень эффективна для анализа. Путем простой арифметической операции символы могут быть проанализированы. В компьютерном программировании второй метод очень эффективен с точки зрения производительности при работе с большим набором символов. Кроме того, эти методы следуют основной тамильской грамматике, которая Согласный + гласный = гласный-согласный (UyirMei) что не следует в Юникод тамильский.
Способ 1 (простыми арифметическими операциями): க் + இ знак равно கி E210 (க்) + E203 (இ) - E200 (постоянный) = E213 (கி)Способ 2: க் (E210) + இ (E203) = கி (E213) E210 (க்) | (E203 (இ) & 000F (постоянный)) = E213 (கி)
- Очень эффективно разделить символ гласного-согласного (UyirMei) на соответствующий ему гласный и согласный. Это очень эффективно с точки зрения производительности при работе с большими данными.
/ * Чтобы получить гласную * / E213 (கி) & 'F20F (Постоянный)' = E203 (இ) / * Чтобы получить согласную * / E213 (கி) & 'FFF0(Постоянный)' = E210 (க்)
- Очень эффективно определить, является ли символ гласным, согласным, гласным и согласным (UyirMei) или числами.
/ * | - Побитовое ИЛИ * & - Побитовое И *! - Побитовое НЕ * ^ - Побитовое исключающее ИЛИ * || - Условное ИЛИ * && - Условное И */ c = то TACE16 кодирование за а Тамильский персонаж / * Чтобы проверить, является ли символ гласным * / / * Метод 1 * / ((c >= E201) && (c <= E20C)) == истинный // => Гласная / * Метод 2 - Если позиции кода E200, E20E, E20F не используются ни для каких других целей * / (((c & 'E20F (Постоянный)')==c) && (c != E20D)) == истинный // => Гласная ((!((c & 'E20F (Постоянный)')^c)) && (c != E20D)) == истинный // => Гласная / * Чтобы проверить, является ли символ согласным или гласным (UyirMei) * / Икс = (c & '000F (Постоянный)') // Если c - гласная или гласная-согласная, то x = уникальный номер для каждой гласной, начиная с 1 (((c >= E210) && (c <= E38C)) && (Икс == 0)) == истинный // => Согласный (((c >= E210) && (c <= E38C)) && ((Икс >= 1) && (Икс <= 12))) == истинный // => Гласный-согласный (UyirMei) / * Чтобы проверить, является ли символ тамильским числом * / / * Метод 1 * / ((c >= E180) && (c <= E18C)) == истинный // => Тамильский номер / * Метод 2 * / // Если позиции кода E18D-E18F не используются ни для каких других целей (c & 'E18F (Постоянный)') == c // => Тамильский номер (!((c & 'E18F (Постоянный)')^c)) == истинный // => Тамильский номер // Если позиции кода E18D-E18F используются для каких-либо других целей, то можно использовать метод 1 или ниже * / ((!((c & 'E18F (Постоянный)')^c)) && ((c & '000F (Постоянный)') <= 12)) == истинный // => Тамильский номер
- Преобразовать числа в Тамильские числа (новый формат тамильских чисел) и наоборот (то же, что и Юникод тамильский ).
/ * Для преобразования числа в новый формат тамильского числа и наоборот достаточно прямого преобразования цифры в цифру * / / * Для преобразования числа в новый формат тамильского числа * / п = Один цифра номер (0-9) / * Метод 1 * / (п & 'E18F (Постоянный)') // => Тамильский номер / * Метод 2 * / (п | 'E180 (Постоянный)') // => Тамильский номер / * Для преобразования нового формата тамильского числа в число * / c = Один цифра Тамильский номер персонаж(௦-௯) (c & '000F (Постоянный)') // => Число
Альтернативные претензии
Открытый тамильский
В открытый тамильский проект[10] предоставляет множество общих операций, например для извлечения букв из строки в кодировке Unicode UTF-8, сортировки, поиска и т. д. Несмотря на то, что проект заявляет о соответствии уровня 1 обработки тамильского текста без использования TACE16, проект по-прежнему написан поверх дополнительной логики программирования, которая необходима в настоящее время Стандарт Unicode для тамильского языка.
#! / usr / bin / env pythonимпорт кодекиимпорт tamil.utf8 в качестве utf8с кодеки.открыто('сингл', 'w', кодирование='utf-8') в качестве ff: буквы = utf8.get_letters(ты"கூவிளம் என்பது என்ன சீர்") за письмо в буквы: ff.записывать(письмо) Распечатать(письмо) ff.записывать(' ')ff.Закрыть()
генерирует вывод, вывод: கூ வி ள ம் எ ன் ப து எ ன் ன சீ ர்
Смотрите также
- TSCII (Тамильский скрипт для обмена информацией)
- AnyTaFont2UTF8 Проект с открытым исходным кодом для всех символов тамильского кодирования / отображения шрифтов.
Рекомендации
- ^ а б c d Отчет об окончательных рекомендациях рабочей группы по TACE16
- ^ а б Тендерный документ правительства Тамил Наду на разработку тамильских шрифтов и драйвера тамильской клавиатуры для 16-битных кодировок (Unicode и TACE16)
- ^ а б http://www.tamilvu.org/tkbd/index.htm
- ^ а б Распоряжение правительства Тамил Наду (G.O.), Драйверы для клавиатуры и шрифты
- ^ https://github.com/arcturusannamalai/open-tamil открытый тамильский
- ^ https://ezhillang.wordpress.com/2014/01/26/open-tamil-text-processing-%E0%AE%89%E0%AE%B0%E0%AF%88-%E0%AE%AA% E0% AE% 95% E0% AF% 81% E0% AE% AA% E0% AF% 8D% E0% AE% AA% E0% AE% BE% E0% AE% AF% E0% AF% 8D% E0% AE% B5% E0% AF% 81 / tamil.utf8.get_letters
- ^ https://ezhillang.wordpress.com/2014/01/26/open-tamil-text-processing-%E0%AE%89%E0%AE%B0%E0%AF%88-%E0%AE%AA% E0% AE% 95% E0% AF% 81% E0% AE% AA% E0% AF% 8D% E0% AE% AA% E0% AE% BE% E0% AE% AF% E0% AF% 8D% E0% AE% B5% E0% AF% 81 /
- ^ https://www.unicode.org/L2/L2012/12033-tamil-presentation.pdf
- ^ http://unicode.org/alloc/nonapprovals.html
- ^ https://pypi.org/project/Open-Tamil/ открытый тамильский проект