Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [sf::Event] touche unicode  (Lu 3524 fois)

0 Membres et 1 Invité sur ce sujet

Samuel Proulx

  • Full Member
  • ***
  • Messages: 118
    • Voir le profil
[sf::Event] touche unicode
« le: Août 26, 2012, 07:05:08 pm »
Bonjour à tous et à toutes :)

On peut obtenir la valeur unicode (UTF-32) du caractère qui a été saisie. Existe-t-il déjà une table faisant la conversion de cette valeur vers le caractère en le retournant via un sf::String (étant donné que les sf::String peuvent contenir n'importe quel valeur unicode (UTF-8)) ?

Merci et bonne journée ! :)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : [sf::Event] touche unicode
« Réponse #1 le: Août 26, 2012, 08:01:02 pm »
sf::String utilise de l'UTF-32, donc tu peux ajouter ton caractère UTF-32 directement à un sf::String. Pas besoin de conversion.
Laurent Gomila - SFML developer

Samuel Proulx

  • Full Member
  • ***
  • Messages: 118
    • Voir le profil
Re : [sf::Event] touche unicode
« Réponse #2 le: Août 26, 2012, 08:51:47 pm »
Ah ! Ingénieux la surcharge String = Uint32  :D

Samuel Proulx

  • Full Member
  • ***
  • Messages: 118
    • Voir le profil
Re : [sf::Event] touche unicode
« Réponse #3 le: Août 28, 2012, 11:50:20 pm »
Bon, j'ai un petit problème maintenant : si j'appuie sur backspace, ça ajoute le caractère dans mon string (TextEntered...)

Dois-je dresser une liste des caractères tel que BackSpace qui ne doivent pas être ajouté dans le String et qui, dans certains cas comme BackSpace, doivent effectuer une action spéciale ? (actuellement, j'utilisais KeyEvent pour capter avec le Keyboard::Key code; les touches afin d'effectuer une action spéciale tel qu'effacer le dernier caractère du String.

Merci et bonne journée :)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : [sf::Event] touche unicode
« Réponse #4 le: Août 29, 2012, 08:22:54 am »
Oui, il faut filtrer les caractères non imprimables. Heureusement il n'y en a pas beaucoup :)

Et il vaut mieux garder KeyPressed pour gérer ces touches spéciales comme il faut.
Laurent Gomila - SFML developer

Samuel Proulx

  • Full Member
  • ***
  • Messages: 118
    • Voir le profil
Re : [sf::Event] touche unicode
« Réponse #5 le: Août 29, 2012, 05:04:41 pm »
Autre problème : certains caractères s'affichent comme des petit carré avec un point d'interrogation (caractère non reconnu).

J'ai tout d'abord pensé que le problème venait de mon code ou de la SFML, mais après réflection, je me suis dit que ça devait venir du fait que ma police ne supporte pas ces caractères.

Existe-t-il une police style calibri ou largeur fixe qui contient tous les caractères unicode ? Par exemple, je sais que Calibri ne supporte pas les caractères hébreu, mais supporte les caractères arabe.

Merci et bonne journée :)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : [sf::Event] touche unicode
« Réponse #6 le: Août 29, 2012, 05:16:44 pm »
Tu ne trouveras aucune police qui gère tous les caractères Unicode (il y en a plus de 100 000). Il faut cibler les plages que tu souhaites supporter, et fouiller un peu pour trouver la police qui convient.
Laurent Gomila - SFML developer

Samuel Proulx

  • Full Member
  • ***
  • Messages: 118
    • Voir le profil
Re : [sf::Event] touche unicode
« Réponse #7 le: Août 29, 2012, 05:30:31 pm »
Ah excuse-moi, je me suis un peu mal exprimé. En fait, j'ai besoin d'une police supportant les 4000 premiers caractères (ou presque tous).

Avec Chrome, seul deux tables que je ne connais pas de nom d'ailleurs ne sont pas supporté. J'ignore la police utilisé : http://fr.wikipedia.org/wiki/Table_des_caract%C3%A8res_Unicode_(0000-0FFF)

 

anything