Posté le 18/04/2021 16:08
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 104 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 18/04/2021 16:16 | #
C'est encodé en fontcharacter cette histoire ? 😩
Je sais plus où est la doc, mais Cake avait fait un bon boulot sur le sujet : https://forge.touhey.org/casio/fontcharacter.git
Citer : Posté le 18/04/2021 16:29 | #
Est-ce que tu peux préciser les différences que tu observes ? Ça pourrait être FONTCHARACTER mais ça me paraît douteux.
Citer : Posté le 18/04/2021 20:31 | #
En considérant le code suivant :
Je l'ai transféré sur mon PC et mon éditeur de texte (micro) l'a interprété comme ça :
_ClrVram
_ClrScreen
1->A
A=1=>Text @1,1,"Petit haiku _#E601_ lire"
Text @30,1,"Dans la vieille mare //"
Text @48,1,"une grenouille saute//"
Text @66,1,"le bruit de l'eau"
_DispVram
Getkey1
Les slashs sont doublés et l'accent a été remplacé par _#E601_
J'ai ensuite rajouté la ligne de code suivante sur mon PC :
Après le transfert, le fichier apparaît totalement désordonné :
Là j'ai remplacé automatiquement les ?? par un retour à la ligne et tout est redevenu normal :
De retour sur le PC, j'ai rajouté un "è_é" à la fin de la ligne de texte, ce qui donne ceci :
Et ça a rajouté à la place des caractères japonais :
Citer : Posté le 18/04/2021 21:24 | #
Hmm ça a vraiment l'air d'être un truc custom. J'ai regardé dans la version du manuel que j'ai traduite mais je n'ai pas trouvé de mention de ce système. Comment est-ce que tu as fait pour lire et écrire le fichier texte ?
Je suis pas super optimiste du coup c'est pas juste une histoire d'encodage.
Citer : Posté le 18/04/2021 22:45 | #
Pour convertir un .g3m en .txt il suffit d'appuyer sur [F6][F1](>txt) depuis l'écran principal de C.Basic.
Dans l'éditeur de C.Basic, les -> sont convertis en →, => en ⇒etc. lors de l'enregistrement.
Citer : Posté le 19/04/2021 10:40 | #
J'ai fait quelques tests pour voir, les accents commencent à partir du caractère #E601. Voici la liste que j'ai pu faire :
#E601 à
#E602 á
#E603 â
#E604 ã
#E605 ä
#E606 å
#E607 æ
#E608 ç
#E609 è
#E60A é
#E60B ê
#E60C ë
#E60D ì
#E60E í
#E60F î
#E610 ï
#E611 un symbole bizarre
#E612 ñ
#E613 ò
#E614 ó
#E615 ô
#E616 õ
#E617 ö
#E618 ø
#E619 ù
#E61A ú
#E61B û
#E61C ý
#E61D þ
#E61E ß
#E61F ÿ
#E620 un a avec une vague
#E621 ą
#E622 ć
#E623 un c accent circonflexe inversé
#E624 œ
#E625 un d avec une sorte de '
#E626 ę
#E627 e accent circonflexe inversé
#E628 un l barré
#E629 n accent aigu
#E62A n accent circonflexe inversé
#E62B o avec deux accents aigu
#E62C r accent circonflexe inversé
#E62D s accent aigu
#E62E s accent circonflexe inversé
#E62F un t'
#E630 u avec un rond au dessus
#E631 un u avec deux accents aigu
#E632 un z accent aigu
#E633 un z avec un point au dessus
#E634 un z accent circonflexe inversé
#E635 blank
#E636 blank
…
C'est tout pour les accents. Après on commence avec l'alphabet grec puis ce qui semble être du cyrillique et enfin les symboles de casio (les flèches, carrés etc).
En marquant directement les valeurs dans le fichier texte, le symbole est correctement associé. Cette liste peut donc servir pour transformer un texte automatiquement
(Et de toute façon, vous pouvez pas dire le contraire)
MultipliCasio
RDM Calculs
Back Mirror
A Switch To The Top C
Citer : Posté le 19/04/2021 10:43 | #
C'est pareil que FONTCHARACTER sur cette section donc : https://bible.planet-casio.com/common/casio/sdk_manuals/Character%20Set.pdf
Ce que je ne comprends pas c'est pourquoi les fins de ligne (\r?) et d'où sortent les katakana.
Citer : Posté le 20/04/2021 16:26 | #
J'ai pas plus de détail, mais de ce que j'ai vu, C.basic converti automatiquement certaines suites de caractères en symbole (
Genre pi) lors de la première lecture.
En plus de ça, les commentaires en basic sont indiqués par l'apostrophe. Et C.basic ne remplace pas les valeurs dans un commentaire... Je ne sais pas si on peut désactiver les ', donc en attendant j'ai préféré les supprimer.
Donc avec ça :
"é":"#E60A","ê":"#E60B","ë":"#E60C","î":"#E60F","ï":"#E610","ô":"#E615","ö":"#E617",\
"ø":"#E618","ù":"#E619","û":"#E61B","œ":"#E624"}
infile = open("fichier.txt","r")
for ligne in infile.readlines():
for key in value.keys():
ligne = ligne.replace(key,value.get(key)).replace("'"," ")
print(ligne)
infile.close()
Ce n'est pas suffisant pour réussir à avoir un texte propre...
Donc j'ai bien peur que tu doives faire le texte à la main... (ou au moins corriger les erreurs )
Je vais tester plus de choses ce soir pour voir.
(oui j'ai vraiment envie de voir Heartache sortir )
(Et de toute façon, vous pouvez pas dire le contraire)
MultipliCasio
RDM Calculs
Back Mirror
A Switch To The Top C
Citer : Posté le 20/04/2021 19:11 | #
Merci beaucoup !
Au pire BIDE marche toujours, tant pis
Je n'arrive juste pas à le lancer actuellement mais comme je change bientôt de distro je cherche pas à savoir pourquoi.
Citer : Posté le 27/04/2021 00:41 | #
Ah oui au passage j'ai continué mes recherches sur ça.
Il semblerait que C.basic utilise la forme _#value_ dans les chaînes de caractère ou commentaire. Et utilise la forme sans "_" dans le reste des cas.
Ici vu que Masséna souhaite incruster les accents dans des chaînes de caractère, nous devons rajouter les underscores pour que ça fonctionne correctement. Seulement, dans son exemple, Masséna souhaite ajouter cette chaîne :
Qui donne un magnifique :
Et ça, C.basic aime pas. Il y a une répétition d'underscore (qu'il doit utiliser comme un caractère spécial), ce qui amène à ne pas représenter le dernier accent. Pour ça, j'ai remarqué qu'en entourant l'underscore par deux underscores ( ), ça marchait correctement. Ce qui nous donne au final cette traduction :
Les fonctions C.basic (d'après Masséna) commencent toujours par un underscore suivi d'une majuscule.
Donc hop un petit coup de python et c'est bon
"é":"#E60A","ê":"#E60B","ë":"#E60C","î":"#E60F","ï":"#E610","ô":"#E615","ö":"#E617",\
"ø":"#E618","ù":"#E619","û":"#E61B","œ":"#E624"}
infile = open("in.txt","r")
outfile = open("out.txt","w")
for ligne in infile.readlines():
i=0
while i < len(ligne)-1:
if ligne[i] == '_' and not ligne[i+1].isupper():
ligne = (lambda string,place: string[:place] + "__" + string[place:])(ligne,i)
i+=2
i+=1
ligne = ligne.replace('/',"//")
for key in value.keys():
ligne = ligne.replace(key,(f"_{value.get(key)}_"))
outfile.write(ligne)
infile.close()
outfile.close()
Ce qui nous donne au final :
_ClrVram
_ClrScreen
1->A
A=1=>Text @1,1,"Petit haiku _#E601_ lire"
Text @30,1,"Dans la vieille mare"
Text @48,1,"une grenouille saute//"
Text @66,1,"le bruit de l'eau//"
Text @94,1,"Sympa, n'est-ce pas ? _#E609_____#E60A_"
_DispVram
Getkey1
En testant, le fichier est correctement converti et peut être envoyé sans problème sur la calculatrice. Cependant j'ai remarqué plusieurs choses :
1- C.basic effectue les modifications sur les accents seulement dans les fichiers texte et non dans les fichiers g3m. Ainsi, un fichier .txt converti reste intact.
2- C.basic semble effectuer ces modifications lors de l'écriture du fichier. Ainsi, lors du transfert les caractères underscore (comme pour è_é) sont bien en place. Mais si vous modifiez le txt directement sur la calculatrice, lors de la prochaine écriture, C.basic va convertir cet underscore en un caractère vide.
En gros, vous ne pouvez pas modifier un txt sur calculatrice sans causer de problème sur vos underscores.
3- Pour éviter le oneline et les ??, garde un fichier .txt directement dans ta calculatrice et modifie-le directement dans la calculatrice depuis ton ordinateur. Je sais pas pourquoi mais ça évite ce problème
La version que je t'avais donné en MP est moins intéressante que celle là. Notamment pour les / et un bug pour les lignes avec une fonction commençant par un _ et possédant un autre underscore plus loin
Donc voilà qui devrait t'aider à finir Heartache plus vite
(Et de toute façon, vous pouvez pas dire le contraire)
MultipliCasio
RDM Calculs
Back Mirror
A Switch To The Top C