Pourquoi un caractère aboie dispositifs Telugu d'Apple

Pourquoi un caractère aboie dispositifs Telugu d'Apple
Index

Apple a été d'avoir quelques mois buggy. Maintenant, nous avons une erreur nouvelle et grave dans le texte rendu fonctionnalité sur les iPhones. Le défaut est causé par un seul caractère en telugu qui peut faire un iPhone dans une boucle commençant par incassables recevoir uniquement une notification contenant le caractère. Analysons pourquoi un seul caractère peut causer des problèmes importants avec iOS.

Note: Il y a une correction de l'erreur dans la dernière version Telugu iOS (11.2.6) . Si le personnage a bloqué Telugu votre application ou appareil, restaurer votre iPhone via iTunes et mise à niveau vers la dernière version d'iOS. Si votre iPhone est bloqué dans une boucle de démarrage, vous pouvez avoir à mettre dans l'état Appareil de mise à jour du micrologiciel (DFU) iTunes pour le reconnaître. Une fois terminé, restaurer l'appareil de la dernière copie de sauvegarde que vous avez créé.

Qu'est-ce que Telugu?

Telugu est parlé et écrit dans certaines régions de l'Inde, en particulier dans les Etats de l'Andhra Pradesh, Telangana et la ville de la langue Yanaon. Comme beaucoup de langues basées sur des scripts tels que l'arabe et d'autres brahmicos scripts, Telugu utilise certaines particularités du jeu de caractères Unicode pour afficher leurs caractères sur un écran d'ordinateur.

Alors que la plupart des lettres latines sont représentés par un seul point de code Unicode compatibilité ASCII 8 bits (lettre A existe dans le point de code Unicode U + 0041, qui est représenté en binaire par 01000001 ), les langues écrites avec des lettres alphabétiques ou non latins se combinent souvent plus d'un point de code Unicode pour représenter leurs caractères.

Cela est particulièrement vrai dans le cas des langues telles que le telugu, combinant versions des lettres de langues en groupes. Contrairement à ligatures anglais Stylistic, la connexion entre chaque lettre est linguistiquement Telugu importante. Pour accueillir ce, Unicode comprend un système complexe de caractères attachés, représentés chacun par son propre code de point à l'autre.

Compte tenu du grand nombre de points de code Unicode, cela peut créer une variété presque infinie. Ces points se combinent pour donner un caractère lisible. Ainsi, Unicode n'a pas besoin d'un point de code Unicode pour chaque mot Telugu possible. Au lieu de cela, Telugu Unicode combine les consonnes, les voyelles et diacritiques ( « virama ») pour créer des mots représenté par un personnage unique. Cela vaut également pour d'autres langues avec des règles orthographiques pour ligatures, telles que l'arabe.

Quelles sont les causes de choc?

Le problème semble être lié à la largeur du zéro non-Joiner (ZWNJ) au point de code U + 200C. La ZWNJ demande que deux caractères adjacents peuvent être affichés sans leur ligature typique. Anglais un ZWNJ empêche les personnages? Ils imprimés en utilisant la connexion de ligature standard, au lieu de séparer chaque f. Mais lorsqu'il est combiné avec un ensemble spécifique de quatre points de code Telugu (qui doivent tous être combinés en un seul groupe), pour une raison quelconque iOS ne peut pas afficher correctement le résultat.

Certains ont émis l'hypothèse que la source d'Apple San Francisco ne peut pas montrer le caractère, tandis que d'autres ont dit que le processus de rendu spécifique qui utilise Apple est à blâmer . Quelle que soit la cause exacte, la tentative de rendre le caractère provoque une chute spectaculaire de ce qui est rendu, des messages WhatsApp et Tremplin. points de code Unicode qui composent le caractère ( « gya » qui signifie « connaissance ») sont ci-dessous:

  • U + 0C1C ja ()
  • U + 0C4D une marque virama ou diacritique ()
  • U + 0C1E Nya ()
  • U + 200C transparente zero-width
  • aa U + 0C3E ()

Mais nous ne pouvons même pas blâmer Zero Width non-Joiner (ZWNJ) seul. Il est également utilisé dans emoji sécurité familiale (??????) sans aucun problème. Il semble être une combinaison spécifique de certains points de code spécifique et le ZWNJ. Ajoutant l'insulte à l'injure, il semble que ZWNJ n'a pas d'effet particulier sur le rendu de ce groupe Telugu ou ne devrait pas être même en premier.

D'autres problèmes d'écriture brahmique

Cependant, la langue Telugu n'est pas le seul à avoir ce problème. Bengali et devanagari, Unicode en utilisant de même pour leurs écritures brahmicas, ont le même problème. Manish Goregaokar écrit une entrée de blog rapide et détaillé qui permet de résoudre le cas précis tombent plus:

Toute séquence dans Devanagari, bengali et le télougou, où:

1. consonante2 est le suffixe obligatoire (PSTF / Vt)

2. consonante1 est pas une lettre de reformuladora

3. Le glyphe voyelle a deux composants

Conclusion: Pourquoi n'a pas été capturé par Apple

?

Pour comprendre comment il a obtenu ce bogue, vous devez vous mettre à la place d'Apple. Bien sûr, cette combinaison de caractères est pas un mot super obscure dans la langue Telugu. Mais l'iPhone inclut le support pour des dizaines de langues. Il y a littéralement des milliers de millions de combinaisons possibles en Unicode. Avec tant de variété, des tests importants pour détecter les erreurs avant qu'une version Unicode ferait des mises à jour logicielles régulières étaient pratiquement impossible.

Cependant, l'erreur ne devrait pas avoir causé tant de dégâts. Les téléphones ne doivent pas être bloqués en fonction du contenu d'un message texte. Alors que le recul est 20/20 semble certainement de rendre le caractère comme une marque de question aurait été préférable de planter le trampoline (?).

Maintenant que tu as fini de lire Pourquoi un caractère aboie dispositifs Telugu d'Apple, nous t'invitons à explorer davantage la catégorie Mac. Tu y trouveras d'autres articles intéressants qui élargiront tes connaissances et te tiendront informé. Ne cesse pas de lire et de découvrir plus!

Go up