Tamilisch alle Charaktercodierung

Tamilisch alle Charaktercodierung (Tace16) ist ein 16-Bit Unicode-basierend Zeichenkodierschema zum Tamilische Sprache.[1][2]

Tastaturtreiber und Schriftarten

Der Tastaturtreiber für dieses Codierungsschema ist in verfügbar Tamilische virtuelle Universität Webseite[3] kostenlos.[4] Es verwendet Tamil99 und tamilische Schreibmaschine Tastaturlayouts, die von der Regierung von Tamil Nadu zugelassen werden und die Eingabe -Tastenanschläge auf seine entsprechenden Zeichen des TACE16 -Schemas abbilden.[2] Um die Dateien zu lesen, die mit dem TACE16 -Schema erstellt werden, sind die entsprechenden Unicode -Tamil -Schriftarten für dieses Codierungsschema auch auf derselben Website verfügbar.[3][4] Diese Schriftarten haben nicht nur die Zuordnung von Glyphen für Zeichen des TACE16 -Formats, sondern auch für die vorliegende Unicode -Codierung für beide ASCII und Tamilische Charaktere, damit sie rückwärtskompatibilität für das Lesen vorhandener Dateien bereitstellen können, die mithilfe von Verwendung erstellt werden Präsentieren Sie das Unicode -Codierungsschema für die tamilische Sprache.

Zeichensatz

Alle Zeichen dieses Codierungsschemas befinden sich in der Privatnutzungsbereich des Grundlegende mehrsprachige Ebene von Unicode's Universeller Charakter -Set.

Tamil All Character Codierung (TACE16) Zeichensatz
Konsonanten →
Vokale
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 அமாவாசை இரண்டுமா கை ஙை சை ஞை டை ணை தை நை பை மை யை ரை லை வை ழை ளை றை னை
EIN கார்த்திகை மும்மா கொ ஙொ சொ ஞொ டொ ணொ தொ நொ பொ மொ யொ ரொ லொ வொ ழொ ளொ றொ னொ
B ராஜ நாலுமா கோ ஙோ சோ ஞோ டோ ணோ தோ நோ போ மோ யோ ரோ லோ வோ ழோ ளோ றோ னோ
C முந்திரி கௌ ஙௌ சௌ ஞௌ டௌ ணௌ தௌ நௌ பௌ மௌ யௌ ரௌ லௌ வௌ ழௌ ளௌ றௌ னௌ
D அரைக்காணி
E காணி
F முக்காணி
Notiz:
Neu hinzugefügt. Nicht in unicode_v6.3 vorhanden.
Für Forschungen zugewiesen (NLP)
Für zukünftigen Gebrauch

Analyse von TACE16 gegenüber dem gegenwärtigen Unicode -Standard für tamilische Sprache

Analyse von TACE16 über Präsentieren Sie den Unicode -Standard für die tamilische Sprache:

Probleme mit dem vorliegenden Unicode für tamilische Sprache

Das Präsentieren Sie den Unicode -Standard für Tamilisch wird aufgrund der effizienten und effektiven Nutzung von Tamilen in Computern aus folgenden Gründen als nicht angemessen angesehen:[1]

  1. Unicode -Code Tamil hat Codepositionen nur für 31 von 247 Tamilen Zeichen. Zu diesen 31 Zeichen gehören 12 Vokale, 18 Agara-Uyirmey, einen Aytham, ohne fünf Grantha Agara-Uyirme, die auch Code-Raum in Unicode Tamil zur Verfügung stellen. Die anderen tamilischen Zeichen müssen mit einer separaten Software gerendert werden. Nur 10% der tamilischen Zeichen erhalten im vorliegenden Unicode Tamilen Coderaum. 90% der tamilischen Zeichen, die im allgemeinen Texttausch verwendet werden, erhält keinen Coderaum.
  2. Die uyir-meys, die in der Gegenwart ausgelassen werden Unicode Tamil sind einfache Charaktere, genau wie A, B, C, D sind Charaktere für Englisch. Uyir-meys sind weder Glyphen noch Ligaturen oder konjunkten Zeichen, wie in Unicode angenommen. Ka, Ka, Ki, Ki usw. sind Charaktere von Tamil.
  3. In jedem einfachen tamilischen Text bilden Vokalkonsonanten (uyir-meys) 64 bis 70%; Vokale (Uyir) bilden 5 bis 6% und Konsonanten (MEYS) 25 bis 30%. Es ist sehr ineffizient, Hochfrequenzbuchstaben wie Vokalkonsonanten in Glyphen zu zerlegen.
  4. Diese Art der Codierung, die eine Rendering -Engine erfordert, um ein Charakter während des Berechnens zu realisieren, eignet sich nicht für Anwendungen wie System -Softwareentwicklungen in Tamil, Such- und Sortier- und natürliche Sprachverarbeitung (NLP) in Tamil. Es verbraucht zusätzliche Zeit und Platz, wodurch der Computerprozess stark ineffizient ist. Für solche Anwendungen ist die Implementierung der Stufe 1, bei der alle Zeichen einer Sprache in der Codierung wie Englisch Codepositionen haben.
  5. Diese Codierung basiert auf Iscii (1988) und deshalb sind die Charaktere nicht in der natürlichen Reihenfolge der Sequenz. Es erfordert einen komplexen Kollationsalgorithmus, um sie in der natürlichen Reihenfolge der Sequenz zu arrangieren.
  6. Es verwendet mehrere Codepunkte, um einzelne Zeichen zu rendern. Mehrere Codepunkte führen zu Sicherheitslücken, mehrdeutigen Kombinationen und erfordern die Normalisierung.
  7. Einfache Zählbriefe, Sortieren, Suche sind ineffizient.
  8. Es erfordert versteckte Zeichen vom Typ Zwj/Zwnj.
  9. Es benötigt eine Ausnahme -Tabelle, um illegale Kombinationen von Codepunkten zu verhindern.
  10. Der Unicode-Indic-Block basiert auf einem enormen, komplexen, fehleranfälligen Gebäude, das auf einer Codierung basiert, die nicht für die Dauer gebaut wird.
  11. In der ersten Codespitze heißt es "Tamil Sign Anusvara - nicht in Tamilisch verwendet".
  12. Angenommen, die Zusammenfassung war dasselbe wie Devanagari - verwendet fälschlicherweise mehrdeutige Codierung, um denselben Charakter zu rendern.
  13. Es codiert 23 Vokalkonsonanten (23 Konsonanten + ü) und nennt sie als Konsonanten gegen tamilische Grammatik.
  14. Unnatürlich für Sprache zu Text/Text zur Sprache.
  15. Ineffizient, um zu speichern, zu übertragen und abzurufen (z. B. Lesen und Schreiben von Dateien, Internet usw.).
  16. Komplexe Verarbeitung behindert die Entwicklung.
  17. Benötigen Sie eine Normalisierung für den String -Vergleich.
  18. Eine Sequenz von Zeichen kann einer einzelnen Glyphen entsprechen, dh ச + ெ◌ + ◌ா = ெசா. Zeichen sind keine Grapheme. Nach Unicode ெசா ist ெசா ein Graphem; Aber ச, ெ◌, ◌ா sind Charaktere.
  19. Benötigt eine dynamische Komposition - ein Textelement, das als Abfolge eines Basiszeichens kodiert wird, gefolgt von einem oder mehreren kombinierten Markierungen.
  20. Es gibt zwei Methoden, um die Vokalkonsonanten zu rendern. Dies führt zu Unklarheiten beim Rendern von Charakteren.
  21. Das gegenwärtige Unicode ist nicht effizient zum Parsen. Zum Beispiel sieht der Name திருவள்ளுவர் so aus, als ob er sieben Buchstaben haben sollte. Laut Unicode hat dieser Name jedoch zwölf Zeichen: த ◌ி ர வ ள ◌் ள ◌ு வ ர ர ◌
  22. Um die Briefe in diesem Namen ordnungsgemäß zu zählen, musste ein erfahrener Entwickler ein komplexes Programm schreiben und als technisches Papier in einer tamilischen Computing -Konferenz präsentieren. Zum Vergleichen ist das Zählen von Buchstaben in einem englischen Wort eine Übung, die einem Anfängerprogrammierer überlassen wurde. Solche Probleme werden ausgelöst, da ein einfaches Skript wie Tamil von Unicode als komplexes Skript behandelt wird. Zum Beispiel in der Python -Bibliothek Open-Tamil,[5] Dies verwendet den vorhandenen Unicode -Standard für Tamilisch, um die Anzahl der tamilischen Buchstaben im angegebenen Text zu zählen, die Funktion tamil.utf8.get_letters wird zuerst verwendet, um den Text in eine Liste zu analysieren und dann die Länge der Liste als Anzahl der Buchstaben zurückzugeben.[6] Diese Art der komplexen Programmierlogik oder zusätzliche zusätzliche Schicht von Framework -Anforderungen ist erforderlich, wenn ein einfaches Skript wie Tamil als komplexes Skript behandelt wird.
  23. Die Unicode -Standard -Richtlinie besteht darin, nur Zeichen und nicht Glyphen zu codieren. Jedoch,[7] Weil Unicode Tamil Standard Enthält die Vokalzeichen als Kombination von Charakteren. Diese Zeichen, die für einen tamilischen Leser keine Bedeutung haben, würden ebenso angezeigt, wie es durch charakterförmige Motoren, die einen leeren Raum zwischen ihnen und einem Basischarakter erkennen. Somit führt Unicode den gepunkteten Kreis als tamilischem Charakter ein.
  24. Unicode Tamil wird in vielen Plattformen vor allem nicht vollständig unterstützt, weil Tamil als komplexes Skript behandelt wird, das eine komplexe Verarbeitung erfordert.
  25. Da alle oben genannten Ineffizienzen für eine Maschine mehr Verarbeitungszyklen eines Prozessors verbrauchen als benötigt, erhöht dies die Gesamtnutzung der Lebensdauer (Elektrizität) durch eine Maschine, die Unicode Tamil verarbeitet. Bei der Verarbeitung eines einzelnen tamilischen Ki (கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ கீ) muss er sowohl konsonanten als auch vokal verarbeiten

Analyse von TACE16 über Unicode Tamil

Die folgenden Daten liefern den Vergleich der Analyse des Stroms Unicode -Codierung für tamilische Sprache VS TACE16 über E-Governance und Browsing:[1]

  1. TACE16 ist effizient über Unicode Tamil Um etwa 5,46 bis 11,94 Prozent bei der Datenspeicheranwendung.
  2. TACE16 ist effizient über Unicode Tamil Um 18,69 bis 22,99 Prozent bei Sortierindexdaten.
  3. TACE16 ist effizient über Unicode Tamil Um 25,39%, wenn die gesamten Daten von Tamilisch sind. Die Standardkollationssequenz folgte (binär), während die Verwendung der Code-Raum-Werte im neuen TACE16 nicht gemäß der tamilischen Wörterbuchreihenfolge entspricht. Einige der Uyir-Meys (Agara-Uyirmeys) haben Vorrang vor Vokalen und anderen Uyirmeys im neuen TACE16, den Vokalen und Agarauyir-Meys, die sich im Block 0B80-0B8F befinden, und die anderen Uyir-Meys sind im 0800 bis 08ff. Aus diesem Grund sieht das Sortieren von Unicode -Daten besser aus als TACE16 -Daten.
  4. TACE16 sortiert schneller über Unicode Tamil von ca. 0,31 bis 16,96 Prozent.
  5. Die Indexerstellung auf TACE16 -Daten ist um 36,7% schneller als Unicode.
  6. Für die vollständige Schlüsselsuche auf indizierten Feldern hat TACE16 besser als Unicode Tamil bis zu 24,07%. Im Falle von nicht indizierten Feldern hat TACE16 auch besser abgewickelt als Unicode Tamil bis zu 20,9%.
  7. Die Darstellung statischer tamilischer Daten war mit TACE16 in Ordnung.

Vorteile von TACE16 gegenüber Unicode Tamil

Das TACE16-Charakter-Kodierungsschema überwindet nicht nur alle Probleme mit der Gegenwart Unicode -Codierungsstandard zum Tamilische Sprache die oben erwähnt werden, bieten aber auch wichtige Leistungsverbesserungen sowohl in der Verarbeitungszeit als auch in der Verarbeitungsraum. Dieses System hat die folgenden zusätzlichen Vorteile:[1]

  1. Die Codierung ist universell, da sie alle Zeichen umfasst, die im allgemeinen tamilischen Textaustausch gefunden werden.
  2. Die Zusammenfassung entspricht dem Codewert.
  3. Die Codierung ist eindeutig.
  4. Jeder gegebene Codepunkt repräsentiert immer das gleiche Zeichen.
  5. Es gibt keine Unklarheit wie in der vorliegende Unicode Tamil.

Die Unicode Tamil Coding hatte viele Probleme und es gab einen Vorschlag, Tamil zu recodieren.[8] Dies wurde von Unicode abgelehnt, der sagte, dass die Recodierung schädlich sein würde und es keine überzeugenden Beweise dafür gab, dass Unicode Tamil Coding schlecht ist.[9]

Dieses System hat die folgenden Vorteile für die Computerprogrammierung:

  • Software für tamilische Zeichen und ihre Verarbeitung ist vereinfacht.
  • Sortieren und Suchen sind sehr einfach.
  • Für eine Maschine nimmt TACE16 weniger CPU -Zyklen (und verwendet daher weniger Strom) als Unicode Tamil.
  • TACE16 ermöglicht das Programmieren auf der Grundlage der tamilischen Grammatik, was nicht sehr einfach ist Unicode Tamil (braucht zusätzliche Rahmenentwicklung).
  • Die Codierung ist sehr effizient analysiert. Durch einfache arithmetische Operation können die Zeichen analysiert werden. Bei der Computerprogrammierung ist die zweite Methode in Bezug auf die Leistung über einen großen Zeichensatz sehr effizient. Außerdem folgen diese Methoden der grundlegenden tamilischen Grammatik, die Konsonant+Vokal = Vokal-Konsonant (uyirmei) Welches wird nicht befolgt in Unicode Tamil.
Methode 1 (durch einfache arithmetische Operationen):  க் + இ = கி e210 (க்) + e203 (இ) - E200 (konstant) = E213 (கி)Methode 2:  க் (e210) + இ (e203) = கி (e213) e210 (க்) | (E203 (இ) & 000f (konstant)) = E213 (கி)
  • Es ist sehr effizient, einen Vokal-konsonanten (uyirmei) -Charakter in seinen entsprechenden Vokal und Konsonanten zu unterteilen. Dies ist in Bezug auf die Leistung über große Daten sehr effizient.
      / * Um Vokal zu bekommen */  E213 (ி) & 'F20f (Konstante)' = E203 ()  / * Um Konsonant zu bekommen */  E213 (ி) & 'Fff0 (Konstante)' = E210 () 
  • Es ist sehr effizient zu finden, ob ein Charakter Vokal oder Konsonant oder Vokal-Konsonant (Uyirmei) oder Zahlen ist.
      /* | - bitweise oder    * & - bitweise und    *! - bitweise nicht    * ^ - bitweise xor    * ||- bedingt oder    * &&- bedingt und    */  c = das Tace16 Codierung zum a Tamilisch Charakter  / * Um zu prüfen, ob ein Zeichen Vokal */ist  /* Methode 1 */  ((c > = E201) && (c <= E20c)) == Stimmt // => Vokal  /* Methode 2 - Wenn Codepositionen E200, E20E, E20F nicht für einen anderen Zweck verwendet werden*/  ((((c & 'E20f (Konstante)')==c) && (c ! = E20d)) == Stimmt // => Vokal  ((!((c & 'E20f (Konstante)')^c)) && (c ! = E20d)) == Stimmt // => Vokal  / * Um zu überprüfen, ob ein Zeichen konsonant oder vokalkonsonant ist (uyirmei) *///////////  x = (c & '000F (Konstante)') // Wenn C Vokal oder Vokalkonsonant ist, dann ist x = eindeutige Zahl für jeden Vokal ab 1  ((((c > = E210) && (c <= E38C)) && (x == 0)) == Stimmt // => Konsonant  ((((c > = E210) && (c <= E38C)) && ((x > = 1) && (x <= 12))) == Stimmt // => Vokalkonsonant (Uyirmei)  / * Um zu überprüfen, ob ein Zeichen tamilische Nummer ist */  /* Methode 1 */  ((c > = E180) && (c <= E18C)) == Stimmt // => Tamilische Zahl  /* Methode 2*/  // Wenn Codepositionen e18d-e18f für einen anderen Zweck nicht verwendet werden  (c & 'E18f (Konstante)') == c // => Tamilische Zahl  (!((c & 'E18f (Konstante)')^c)) == Stimmt // => Tamilische Zahl  // Wenn Codepositionen e18d-e18f für einen anderen Zweck verwendet werden, kann entweder die Methode 1 oder die folgende Methode verwendet werden*/  ((!((c & 'E18f (Konstante)')^c)) && ((c & '000F (Konstante)') <= 12)) == Stimmt // => Tamilische Zahl 
  • Es ist sehr einfach, Zahlen in die Konvertierung zu konvertieren Tamilische Zahlen (neues Tamil -Zahlenformat) und umgekehrt (gleiche wie Unicode Tamil).
      /* Um eine Zahl in ein neues Format der tamilischen Zahl zu konvertieren und umgekehrt, reicht die direkte Ziffer -Ziffern -Konvertierung aus. */  / * Um eine Nummer in ein neues Format der tamilischen Nummer zu konvertieren *///  n = Single Ziffer Nummer (0-9)  /* Methode 1 */  (n & 'E18f (Konstante)') // => Tamilische Zahl  / * Methode 2 */  (n | 'E180 (Konstante)') // => Tamilische Zahl  / * Um ein neues Format der tamilischen Nummer in eine Nummer zu konvertieren *////  c = Single Ziffer Tamilisch Nummer Charakter(-)  (c & '000F (Konstante)') // => Zahl 

Alternative Ansprüche

Open-Tamil

Das Open-Tamil-Projekt[10] Bietet viele der gemeinsamen Operationen, z. So extrahieren Sie Buchstaben aus der UTF-8-codierten Zeichenfolge von UNICODE, Sortieren, Suchen usw. Auch wenn das Projekt die Einhaltung der tamilischen Textverarbeitung ohne TACE-Textverarbeitung beansprucht, ist das Projekt dennoch über die zusätzliche Programmierlogik geschrieben, die für die vorliegende Unicode benötigt wird Standard für Tamil.

#!/usr/bin/env python importieren Codecs importieren tamil.utf8 wie UTF8 mit Codecs.offen("Singl", 'W', Codierung='UTF-8') wie ff:  Briefe = UTF8.get_letters(u"கூவிளம் என்பது என்ன சீர்")  zum Buchstabe in Briefe:  ff.schreiben(Buchstabe)  drucken(Buchstabe)  ff.schreiben('' ') ff.nah dran() 

erzeugt die Ausgabe, Ausgang: கூ வி ள ம் ன் ப து எ ன் ன சீ ர் ர்

Siehe auch

  • Tscii (Tamilischer Skriptcode für den Informationsaustausch)
  • Anytafont2UTF8 Ein Open -Source -Projekt für alle tamilischen Codierungs-/Schriftart -Mapping -Zeichen.

Verweise

  1. ^ a b c d Bericht über die endgültigen Empfehlungen der Task Force auf TACE16
  2. ^ a b Tamil Nadu-Regierung für die Entwicklung von Tamil-Schriftarten und Tamil-Tastaturfahrer für 16-Bit-Codierungen (Unicode und TACE16)
  3. ^ a b "தமிழ் எழுத்துருக்கள் | தமிழ் இணையக் கல்விக்கழகம் கல்விக்கழகம் Tamil Virtual Academy".
  4. ^ a b Tamil Nadu Regierung der Regierung (G.O.), Tastaturtreiber und Schriftarten
  5. ^ https://github.com/arcturusannamalai/open-tamil Open-Tamil
  6. ^ https://ezhillang.wordpress.com/2014/01/26/open-tamil-text-processing-%E0%AE%89%E0%AE%B0%E0%AF%88-%E0%AA%AIN E0%ae%95%e0%af%81%e0%ae%aa%e0%af%8d%e0%ae%aa%e0%AE%E0%AE%AF%E0%AF%8D%E0% AE%B5%E0%AF%81/ tamil.utf8.get_letters
  7. ^ https://ezhillang.wordpress.com/2014/01/26/open-tamil-text-processing-%E0%AE%89%E0%AE%B0%E0%AF%88-%E0%AA%AIN E0%ae%95%e0%af%81%e0%ae%aa%e0%af%8d%e0%ae%aa%e0%AE%E0%AE%AF%E0%AF%8D%E0% AE%B5%E0%AF%81/
  8. ^ https://www.unicode.org/l2/l2012/12033-tamil-presentation.pdf[Bare URL PDF]
  9. ^ "Archiv für Nichtgenachrichtigungen".
  10. ^ https://pypi.org/project/open-tamil/ Open-Tamil-Projekt