Impression des nombres>=1000
Impression des nombres>=1000
Le séparateur des milliers qui s'affiche sur mon écran de façon bizarre (un petit rectangle contenant FFFD) bloque l'impression: l'impression s'arrête sur la ligne précédant celle où il y a ce séparateur.
Re: Impression des nombres>=1000
Gestinux, comme Free Pascal, prend le séparateur des milliers défini par le système d'exploitation.
Par ailleurs Gestinux affiche toujours dans le jeu de caractères UTF-8. Cela fonctionne bien ainsi avec la majorité des systèmes d'exploitation récents UBUNTU, MAC-OS ou Windows qui sont par défaut en UTF-8.
Je parie que ton système définit le séparateur des milliers comme un blanc insécable, dans un jeu de caractères différent d'UTF-8, qui n'est donc pas affiché correctement.
A part prévoir un paramétrage pour utiliser d'autres jeux de caractères en affichage, ou arriver à trouver quel est le jeu de caractère de l'utilisateur, ce qui serait compliqué, lourd et peu portable, pour tenir compte de très peu de cas en voie de disparition, je ne vois pas comment on peut éviter d'afficher de l'UTF-8
La solution est de définir un autre séparateur de milliers, tel que le point ou la virgule qui ont la même représentation dans les jeux de caractères courants, ou de supprimer ce séparateur en lui donnant la valeur d'un caractère nul, chr(0). Cela peut être fait dans un script de lancement pour ne pas impacter les autres logiciels.
NB : ce problème se produit avec toutes les versions de Gestinux, donc le sujet est à ranger dans l'aide à l'utilisation.
Par ailleurs Gestinux affiche toujours dans le jeu de caractères UTF-8. Cela fonctionne bien ainsi avec la majorité des systèmes d'exploitation récents UBUNTU, MAC-OS ou Windows qui sont par défaut en UTF-8.
Je parie que ton système définit le séparateur des milliers comme un blanc insécable, dans un jeu de caractères différent d'UTF-8, qui n'est donc pas affiché correctement.
A part prévoir un paramétrage pour utiliser d'autres jeux de caractères en affichage, ou arriver à trouver quel est le jeu de caractère de l'utilisateur, ce qui serait compliqué, lourd et peu portable, pour tenir compte de très peu de cas en voie de disparition, je ne vois pas comment on peut éviter d'afficher de l'UTF-8
La solution est de définir un autre séparateur de milliers, tel que le point ou la virgule qui ont la même représentation dans les jeux de caractères courants, ou de supprimer ce séparateur en lui donnant la valeur d'un caractère nul, chr(0). Cela peut être fait dans un script de lancement pour ne pas impacter les autres logiciels.
NB : ce problème se produit avec toutes les versions de Gestinux, donc le sujet est à ranger dans l'aide à l'utilisation.
Cordialement,
Tintinux
Tintinux
Re: Impression des nombres>=1000
J'ai ça dans mon système Slackware:
~$ locale -k LC_NUMERIC
decimal_point=","
thousands_sep=" "
grouping=3
numeric-decimal-point-wc=44
numeric-thousands-sep-wc=8239
numeric-codeset="UTF-8"
~$
On dirait pourtant que le séparateur des milliers est un espace simple.
Après étude attentive, le séparateur des milliers est le caractère Unicode <U202F> (8239 en décimal) qui est effectivement une espace fine insécable. Je vais essayer de changer ça!
~$ locale -k LC_NUMERIC
decimal_point=","
thousands_sep=" "
grouping=3
numeric-decimal-point-wc=44
numeric-thousands-sep-wc=8239
numeric-codeset="UTF-8"
~$
On dirait pourtant que le séparateur des milliers est un espace simple.
Après étude attentive, le séparateur des milliers est le caractère Unicode <U202F> (8239 en décimal) qui est effectivement une espace fine insécable. Je vais essayer de changer ça!
Re: Impression des nombres>=1000
J'ai remplacé l'espace insécable par un point et ça marche:
~$ locale -k LC_NUMERIC
decimal_point=","
thousands_sep="."
grouping=3
numeric-decimal-point-wc=44
numeric-thousands-sep-wc=46
numeric-codeset="UTF-8"
~$
~$ locale -k LC_NUMERIC
decimal_point=","
thousands_sep="."
grouping=3
numeric-decimal-point-wc=44
numeric-thousands-sep-wc=46
numeric-codeset="UTF-8"
~$
Re: Impression des nombres>=1000
Bonjour
J'arrive un peu tard, mais je crois qu'il faut préciser comment faire.
Sur les lignes commençant par thousand separator et mon_thousands_sep, mettre "." ou " " à la place du code de l'espace insécable "<UC2A0>"
Puis
Dans cette dernière commande, il faut se déplacer avec la touche <TAB> et confirmer avec <ENTREE>.
Pour moi c'est bien un problème de certaines distribution LINUX, et pas de Gestinux ou FreePascal qui utilisent bien les possibilités théoriques du système.
J'arrive un peu tard, mais je crois qu'il faut préciser comment faire.
Code: Select all
sudo gedit /usr/share/i18n/locales/fr_FR
Puis
Code: Select all
sudo dpkg-reconfigure locales
Pour moi c'est bien un problème de certaines distribution LINUX, et pas de Gestinux ou FreePascal qui utilisent bien les possibilités théoriques du système.
Re: Impression des nombres>=1000
Bonjour et merci pour ces infos. Avec votre aide, j'ai pu enfin résoudre mon problème. Cela fait maintenant quelque temps que je cherche une solution. Heureusement que je me suis inscrit sur le forum.gastounet wrote: ↑14 Mar 2022, 10:52 Bonjour
J'arrive un peu tard, mais je crois qu'il faut préciser comment faire.
Sur les lignes commençant par thousand separator et mon_thousands_sep, mettre "." ou " " à la place du code de l'espace insécable "<UC2A0>"Code: Select all
sudo gedit /usr/share/i18n/locales/fr_FR
Puis
Dans cette dernière commande, il faut se déplacer avec la touche <TAB> et confirmer avec <ENTREE>.Code: Select all
sudo dpkg-reconfigure locales
Pour moi c'est bien un problème de certaines distribution LINUX, et pas de Gestinux ou FreePascal qui utilisent bien les possibilités théoriques du système.