2009-09-01 6 views
1

Nous avons une application basée sur les infirmières C (fonctionne sur la plupart des saveurs d'Unix, mais nous préférons RHEL). Nous avons un support Unicode, mais maintenant nous devons fournir une version hébraïque de l'application. Quelqu'un connaît-il un processus que nous pourrions suivre pour convertir le programme? Il récupère et stocke principalement des données d'Oracle, qui peuvent prendre en charge l'hébreu, il ne devrait donc pas y avoir de problème. Ce n'est vraiment que l'affichage du texte qui pose problème.Support hébreu dans une application Cncurses

+0

Si vous avez les données et votre application a le support Unicode quel est le problème? Imprimez-le. – jbcreix

+0

J'éprouvais des difficultés à déterminer si ncurses rendrait les données de droite à gauche (et n'importe quelle entrée de l'utilisateur de la même manière), ou s'il imprimerait les glyphes hébreux, mais dans l'ordre de gauche à droite. –

+0

Non, ce ne sera pas. Vous devriez vérifier si leur terminal (émulateur) fera le travail, ou les tourner vous-même. – jbcreix

Répondre

1

Il est important de savoir quel terminal ils utilisent car cela définit comment vous devez écrire le code. Certains terminaux prennent en charge BiDi (c'est-à-dire un texte bidirectionnel). Cela signifie qu'ils retournent automatiquement le texte hébreu/arabe à l'envers.

Il a ses propres problèmes, vous pouvez vérifier à quoi ressemblerait votre application en utilisant mlterm. Fondamentalement, il inverse les lignes qui contiennent du texte hébreu tout en conservant ce qui est interprété comme caractères LTR anglais. Un caractère hébreu imprimé à 10,70 apparaîtra dans 10,10. Vous pouvez utiliser Unicode LTR RTL pour essayer de forcer la direction pour les choses qui cassent votre mise en forme, mais au moins sur mlterm pendant qu'ils travaillent, ils impriment des caractères parasites. Toutefois, s'ils utilisent des terminaux ordinaires avec un support Unicode, vous devez lancer les caractères vous-même. Alors bien sûr, s'il est exécuté sur des terminaux bidirectionnels, le texte sera à nouveau à l'envers et le format sera perdu.

+0

Merci - Je pense que nous guiderons notre client vers les terminaux qui le font automatiquement. Il semble que le mastic soit capable de cela aussi. –

Questions connexes