web-dev-qa-db-fra.com

Pourquoi les mots sont mélangés lorsque j'insère des mots anglais dans n'importe quel texte arabe / ourdou / persan sur le bloc-notes ou MS Word?

Je peux écrire l'arabe/l'ourdou/le persan sur MS Word ou le bloc-notes très bien, mais chaque fois que j'insère un mot ou un numéro anglais, la séquence est juste perturbée et semble que tous les mots ont été mélangés dans la phrase.

Regardez l'exemple ci-dessous:

یہ ایک مثال ہے اردو کی ...

Maintenant, j'ai inséré un mot anglais et il est devenu:

 یہ ایک مثال ہےWord  اردو کی ...

Vous pouvez donc voir que presque tous les mots ont été mélangés ... quelle est la solution à cela?

26
Arfeen

Par exemple:

باللغة العربية "clavier" انا أريد أن أعرف الكلمة

  1. Terminez de taper le mot arabe et ajoutez un espace après (cet espace sépare le texte incorporé du texte arabe à sa droite).
  2. Insérez le caractère spécial U + 200F (pour rendre l'espace précédent un caractère arabe). Le nom du personnage est "Marque de droite à gauche".
  3. Insérez le caractère spécial U + 202A (pour commencer l'incorporation de gauche à droite). Le nom du personnage est "Intégration de gauche à droite".
  4. Insérez un autre espace (pour séparer le texte incorporé du texte arabe qui continuera à sa gauche).
  5. Changez le clavier pour par ex. Anglais et tapez le mot de gauche à droite.
  6. Insérez le caractère spécial U + 202C (pour restaurer l'état bidirectionnel à ce qu'il était avant l'incorporation de gauche à droite). Le nom du personnage est "Mise en forme directionnelle Pop".
  7. Changez le clavier et continuez d'écrire en arabe.

Si vous travaillez dans Microsoft Office ou Open Office, les "caractères spéciaux" se trouvent sous "insérer" [Insérer -> symboles -> autres symboles -> caractères spéciaux dans MS 2013]. Faites défiler jusqu'à ce que vous trouviez le caractère avec le numéro Unicode approprié et si le numéro Unicode n'apparaît pas dans votre version de MS Word, sélectionnez-le par son nom [comme indiqué ci-dessus].

Vous pouvez également ajouter le caractère en écrivant son unicode puis en le sélectionnant et en appuyant sur Alt + X - mais cela peut être déroutant car il a besoin d'un changement constant entre l'arabe et l'anglais.

Tous les caractères spéciaux impliqués dans cette petite manœuvre sont des caractères invisibles (leur travail consiste simplement à changer la direction du texte), alors ne soyez pas surpris s'il semble que vous n'insérez rien.

Faites attention à sélectionner l'option RTL dans le ruban lorsque la majorité de votre paragraphe est RTL et conservez-la sélectionnée [comme indiqué dans l'image de cette réponse https://stackoverflow.com/a/46050171/8558867 =].

13
Elliot Bannister

C'est acceptable; ils ne sont pas mélangés: vous les voyez en mode de rendu LTR.

Vous avez juste besoin de les faire de droite à gauche. Dans le Bloc-notes ou Word, appuyez à droite Ctrl + Maj pour faire leur direction de droite à gauche et ça ira. (C'est comme avoir <p dir="rtl">...</p> en HTML).

Les caractères de contrôle LRE et RLE (0x202A et 0x202B) ainsi que LRM et RLM (0x200E et 0x200F) doivent être appliqués à l'ensemble du paragraphe, c'est-à-dire qu'ils doivent apparaître au début de la séquence. Certains widgets d'affichage de texte de certaines plates-formes peuvent cependant supprimer ces caractères de contrôle, en particulier les plates-formes plus anciennes (antérieures à 2000) ou celles qui ne prennent pas correctement en charge l'algorithme bidirectionnel Unicode. Les OS et programmes plus récents devraient convenir; essayez avec le Bloc-notes Windows par exemple.

Personnellement, je recommande d'utiliser les moyens de la plate-forme pour créer le texte RTL et d'éviter les caractères de contrôle spéciaux car ils sont invisibles et peuvent entraîner des résultats surprenants s'ils deviennent incontrôlables. Donc, vous feriez mieux d'utiliser l'API de Word pour créer le texte RTL, ou si votre sortie est HTML, mettez-les dans <div dir="rtl">...</div> Mots clés. Pour un fichier texte brut, l'utilisateur doit appuyer manuellement sur les touches Ctrl + Maj.

7
Hossein
  1. Avant de commencer à taper en arabe/persan, assurez-vous d'avoir choisi le bouton "Droite à gauche". Ce bouton se trouve sur l'onglet Paragraphe juste à gauche du bouton de tri AZ. Sélectionnez également le bouton "Aligner le texte à droite" qui se trouve dans l'onglet Paragraphe à gauche du bouton Justifier.

  2. Commencez à taper votre langue

  3. Avant de mettre un mot anglais mettez un espace puis sélectionnez ALT + MAJ gauche et tapez votre mot anglais

  4. Une fois vos mots anglais terminés, sélectionnez ALT + MAJ droit, puis mettez un espace et continuez à taper votre langue

J'espère que cela t'aides

7
Abbas

Sélectionnez le paragraphe (par exemple en utilisant un triple clic) et utilisez le bouton pour la direction de droite à gauche (¶ ◀) dans la section Paragraphe du volet Démarrer.

Comme l'explique la réponse de Hossein, le problème est la directionnalité du paragraphe. Il change de gauche à droite lorsque vous insérez une lettre latine, et vous devez corriger cela manuellement.

4
Jukka K. Korpela

Modifier: cela a été écrit comme une réponse de clarification à la première réponse ici, j'ai ensuite modifié la première réponse et ajouté les notes importantes que j'ai écrites ici [la modification doit encore être approuvée cependant].


J'ai pu corriger mon texte en suivant les étapes de la première réponse ici. Si quelqu'un rencontre des problèmes en suivant les étapes, permettez-moi de clarifier certaines choses:

Si vous saisissez un mot anglais dans un texte arabe, assurez-vous que l'option RTL dans le ruban est sélectionnée [entourée en rouge dans la figure suivante]:

screenshot

Gardez-le sélectionné tout au long du paragraphe, quelle que soit la langue que vous utilisez [tant que la majorité du paragraphe est écrit dans une langue RTL comme l'arabe ou l'hébreu].

Où trouver les caractères spéciaux et comment les insérer:

Vous pouvez écrire l'unicode du caractère puis le sélectionner et appuyer sur "Alt + X". Cependant, cela peut être un peu déroutant en raison de la nécessité de basculer entre l'anglais et l'arabe pour écrire les codes, donc la meilleure chose à faire est de les entrer `` manuellement '' en insérant leurs noms.

Vous pouvez le faire en allant dans Insertion -> Symbole -> Autres symboles -> Caractères spéciaux [faites défiler vers le bas]. Sélectionnez ensuite le nom des caractères que vous devez utiliser au lieu de son unicode.

Les noms des caractères que vous devrez utiliser [comme spécifié dans la première réponse ici] sont:

  • "Marque de droite à gauche": U + 200F.
  • "Incorporation de gauche à droite": U + 202A.
  • "Formatage directionnel Pop": U + 202C.

Comme l'indique la première réponse, rien n'apparaîtra à l'écran car il s'agit d'un caractère non imprimable, il est donc normal que vous ayez l'impression que rien ne s'est produit lors de l'insertion.

Si vous devez le faire dans l'autre sens, c'est-à-dire insérer un mot hébreu ou arabe dans un texte anglais, inversez simplement l'utilisation d'unicodes - Ou suivez les étapes du lien suivant: https: // superuser.com/a/1247476/767967

Si vous voulez en savoir plus sur ce que font les caractères spéciaux et ce que signifie faire votre paragraphe LTR ou RTL, visitez le lien suivant: http://dotancohen.com/howto/rtl_right_to_left.html#Directionality =

3
Ghadir

Vous devez ajouter un caractère Unicode RLE invisible au début de la ligne [^] . C'est: 0x202B hex = 8235 décimal ou EMBEDDING DE DROITE À GAUCHE (RLE). C'est nécessaire pour le Bloc-notes, mais MS-Word est capable de le gérer. vous devez aligner correctement votre texte.

Comment entrer RLE: http://www.fileformat.info/tip/Microsoft/enter_unicode.htm

2
VahidN

Dans le traitement de texte, vous avez une direction de texte principale qui est de gauche à droite ou de droite à gauche (ou de haut en bas, mais ignorons cela :-), et vous avez une direction de texte pour les caractères individuels, qui également être de gauche à droite ou de droite à gauche.

Le traitement de texte divise le texte en morceaux de chaînes avec le même ordre de caractères, puis affiche ces morceaux selon l'ordre de texte principal.

Il semble que votre ordre de texte principal ait été de gauche à droite. Tant que tout votre texte est arabe, il n'y a qu'un seul morceau avec du texte arabe. Vous voyez déjà qu'il est affiché aligné à gauche et non aligné à droite car l'ordre du texte est de gauche à droite. Les caractères sont affichés de droite à gauche car c'est ainsi que l'arabe est affiché.

Lorsque vous avez inséré du texte latin, vous aviez trois morceaux: arabe, latin, arabe. Ces trois morceaux sont affichés de gauche à droite car il s'agit de l'ordre de texte principal. Ce serait bien pour un texte qui est principalement latin (comme "Les mots arabes pour chien et vache sont ... et ..."). Pour le texte qui est principalement arabe avec le mot latin occasionnel, vous devez changer l'ordre du texte principal en "de droite à gauche".

0
gnasher729

Suivez simplement ceci:

  • Copiez et collez le texte arabe depuis Word ou un document texte vers Adobe Illustrator.
  • Enregistrez le document illustrateur au format .EPS.
  • Ouvrez l'indesign et placez le document .EPS à l'endroit souhaité.

Étant donné que l'indesign ne peut pas gérer seul le problème du texte arabe, cette méthode aidera de nombreux concepteurs.

0
Dileesha Amarasena