Bonsoir,
Je viens de reprendre sous Linux le développement d'un jeu arrêté il y a ... ouh là là très longtemps, 2 ou 3 ans au moins :-) Ca fonctionnait sous DOS et Windows, c'est dire !
Je ne connaissait pas encore Linux, mais j'avais eu la bonne idée de mouliner tout ça avec gcc et allegro, ce qui fait qu'il n'y a pas grand chose à reprendre .. mis à part un truc : tous les caractères accentués sont transformés dans le source, testé avec kwrite et vim.
Comme je ne souhaite pas casser la portabilité du jeu, y a-t-il une astuce pour garder des accents lisisbles que ce soit (au moins) sous Windows ou Linux ? Je veux dire à la fois dans le source (commentaires) et dans les chaînes de caractères affichées.
Merci d'avance :-)
# moi je ferais ca :
Posté par TImaniac (site web personnel) . Évalué à 5.
# Encodage caractère
Posté par JJD . Évalué à 5.
Le programme n'aurait-il pas été développé sous DOS (plutôt que Windows) ?
Dans ce cas, il y a de grandes chances que les caractères soient codés en CodePage 850 (autrement appelé OEM).
Si la retro-compatibilité avec DOS ne te gène pas trop, tu devrait essayé de convertir tout ça en latin1 (ISO8859-1) quit doit parfaitement s'afficher aussi bien sous Unix/Linux que sous Windows.
Pour la conversion, tu peux par exemple utiliser "iconv"
Un simple test sur un des fichiers source devrait te permettre de savoir si c'est bien ce que je te raconte.
A+
JJD
[^] # Re: Encodage caractère
Posté par Cyberdivad . Évalué à 2.
En effet, j'ai commencé sous DOS, puis adapté pour qu'il se compile sous Windows également.
iconv -f CP850 -t ISO8859-1
Bingo ! Les accents sont revenus :-) J'essayerais de lire le fichier sous Windows demain pour voir si ça passe également. Bon, il y a encore quelques caractères qu'iconv n'aime pas mais je peux me passer de ceux-là.
Effectivement, la compatibilité DOS, je m'en tamponne un peu maintenant : je ne crois pas que ce système soit toujours d'actualité pour une plate forme de jeu.
Merci pour ton aide :-)
[^] # Re: Encodage caractère
Posté par Christophe Fergeau . Évalué à 4.
Et passe en chinois, russe ou ce que tu veux, et pouf, plus d'accents...
Le seul moyen de gérer ça convenablement c'est de passer en UTF-8 (ou tout autre encodage unicode), mais ça oblige à utiliser des éditeurs supportant l'UTF-8 par derrière.
[^] # Re: Encodage caractère
Posté par jmf . Évalué à 3.
Tout baigne !
[^] # Re: Encodage caractère
Posté par Cyberdivad . Évalué à 1.
Sinon, j'ai bien compris qu'il vaut mieux utiliser utf8. Il faudra vraiment que j'essaye une compil sous windows avec différents encodages. Qu'il faille télécharger un éditeur utf8 sous cet OS je m'en tamponne un peu (y a gvim au moins), mais il faut que gcc parvienne à lire le source sur toutes les plateformes :-)
[^] # Re: Encodage caractère
Posté par Miair Patreau . Évalué à 1.
Ce qui peut poser problème, c'est l'environnement dans lequel sera exécuté le programme : il s'attend à ce que le programme lui demande d'afficher ses textes en quel encodage ?
[^] # Re: Encodage caractère
Posté par Obsidian . Évalué à 0.
Je crois cependant que la meilleure manière d'assurer la portabilité vers toutes les langues du monde, si c'est bien ton objectif, ou en tous cas leur majorité est encore de coder tes chaînes en Unicode sur 16 bits par caractère. Il me semble, mais c'est à vérifier, que les compilateurs de chez Bill font cela par défaut (un xxd sur les fichiers générés montrent des caractères codés sur deux octets).
Par contre, si tu souhaites te cantonner, et c'est déjà beaucoup, aux langues latines, alors l'ISO-8859-15 avec son symbole euro est aujourd'hui l'encodage de référence pour tout le monde.
[^] # Re: Encodage caractère
Posté par Miair Patreau . Évalué à 2.
Je suis même pas sûr qu'il existe une obscure option permettant à gcc de gérer ça...
[^] # Re: Encodage caractère
Posté par GCN (site web personnel) . Évalué à 0.
[^] # Re: Encodage caractère
Posté par Christophe Fergeau . Évalué à 2.
[^] # Re: Encodage caractère
Posté par ecyrbe . Évalué à 1.
pour plus d'informations :
http://www.unicode.org(...)
http://www.cl.cam.ac.uk/~mgk25/unicode.html(...)
[^] # Re: Encodage caractère
Posté par Miair Patreau . Évalué à 1.
À la rigueur, ça a du sens en rangeant les textes du programme dans un fichier de ressources à part, mais voilà, quoi.
[^] # Re: Encodage caractère
Posté par Miair Patreau . Évalué à 1.
[^] # Re: Encodage caractère
Posté par Christophe Fergeau . Évalué à 2.
Je t'ai moinsé parce que j'avais bien compris ce que tu disais la première fois, et que là ça avait pas grand chose àf aire dans la discussion ton commentaire.
Et je remoinse parce que tu chiales parce que tu t'es pris des - Ca te fait au moins une personne sur qui te défouler pour te venger...
[^] # Re: Encodage caractère
Posté par Miair Patreau . Évalué à 0.
Tant qu'à faire, j'aime savoir pourquoi on est noté "inutile" quand ça me paraît pas évident, et là, il se trouve que je l'ai su.
Et je n'ai aucune intention de "me défouler." C'est pas si immature de demander, pas vrai ? De toute façon, tout cet arbre, à part sa racine, est inutile.
[^] # Re: Encodage caractère
Posté par Christophe Fergeau . Évalué à 2.
Vu les spécimens divers et variés qui traînent sur linuxfr, vaut mieux renoncer à essayer de déceler un comportement cohérent au sein des plussages et moinsages anonymes.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.