Forums Développement Multimédia

Aller au contenu

Support d'Unicode dans les zone Texte

CMS Silex

10 réponses à ce sujet

#1

  • Guests

Posté 06 July 2009 - 16:19 PM

Bonjour,

Je découvre Silex et je rencontre une petite difficulté pour afficher les caractères vietnamiens sous Unicode.

Je crée, par exemple, une nouvelle zone texte puis je colle le mot Vi?t Nam dans le champ label de la zone. A l'affichage de la page, le caractère E est filtré et on n'a plus que Vit Nam à la place.

Je constate, pourtant, bien que le mot a été correctement sauvé en rappellant le champ label et qu'il est bien sauvé tel quel dans le fichier xml de la page.

Cela n'est pas un problème dans flash qui support bien le format Unicode uft8. Mais cela semble spécifique aux zones textes dans Silex. D'autant plus que si je tape le même mot dans le texte d'un bouton menu, il apparait bien dans Silex.

Est-il possible de supprimer ce filtrage des zones textes ?

Je vous remercie pour votre aide et bravo pour le travail déjà accompli.

Cordialement

Tam

Encodage de la page : utf8
Gabarit standard : minimal.swf

#2 _lex

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 1016 messages

Posté 06 July 2009 - 19:33 PM

Salut!
En fait tout dépend de la police que tu utilises. Les alphabets complexes ne sont pas par défaut dans silex mais tu peux les mettre. Pour cela, ajoutes ta police dans un gabarit layer_skin (un tuto ici)
Tiens nous au courant, on pourrait mettre quelques polices asiatiques dans silex par défaut
lex.

PS : tu auras besoin de Flash pour ajouter des polices

#3 Żabojad

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 114 messages

Posté 11 January 2010 - 15:25 PM

Bonjour,

Je rencontre le même problème avec les caractères polonais.

J'ai suivi le tuto pour ajouter une police. La police est bien ajoutée sous Silex mais les textes n'affichent toujours pas les caractères polonais...

Y a-t-il un réglage particulier, non décrit dans le tuto, à effectuer dans flash lors de la création du nouveau gabarit ?

Merci d'avance.

?abojad

#4 _lex

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 1016 messages

Posté 11 January 2010 - 16:09 PM

juste pour etre sur :
- la propriete "inclure les polices" de ton champs de texte est bien cochée
- tu as bien appliqué la police au texte en le sélectionnant dans l'éditeur de texte ?

#5 Żabojad

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 114 messages

Posté 11 January 2010 - 16:31 PM

lexa a écrit:juste pour etre sur :
- la propriete "inclure les polices" de ton champs de texte est bien cochée
- tu as bien appliqué la police au texte en le sélectionnant dans l'éditeur de texte ?


Oui aux deux points. Ma police apparaît bien dans la liste des polices disponibles lorsque j'édite mon texte et c'est bien elle que j'utilise pour le texte.

Il n'y a pas un paramètre dans flash pour préciser que l'on veut exporter tous les caractères utf-8 pour cette police ? Le problème est peut-être là ?

#6 _lex

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 1016 messages

Posté 11 January 2010 - 19:43 PM

non, tout est en UTF8 dans flash...
par contre c'est peut etre la police qui n'a pas les bon caracteres
tu utilises quoi comme police?

#7 Żabojad

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 114 messages

Posté 11 January 2010 - 20:34 PM

J'utilise du arial. Mais lorsque j'écris en arial dans flash, j'ai bien tous les caractères polonais : ??????ó?

J'ai ce problème dans Silex seulement avec les zones de texte classiques. J'ai essayé de contourner le problème en utilisant à la place des SingleLineIO ayant pour action :

Code: Tout sélectionner
onLoad TXT_firma.value=((<TEXTFORMAT LEADING="2"><div width="500px" ALIGN="JUSTIFY"><FONT FACE="arial" SIZE="14" COLOR="#000000" LETTERSPACING="0" KERNING="0">Firma istnieje od 1991 roku. Specjalizuje si? w kompleksowym budowaniu hal metod? lekkiej, no?nej konstrukcj stalowej, ocynkowanej lub zabezpieczonej antykorozyjnie farbami i obudowanej p?ytami wastwowymi.</FONT></div></TEXTFORMAT>))


Ca fonctionne à l'exception près que ça ne gère pas le justify (et j'en ai justement besoin).

Les zones de textes en revanche, gèrent le justify, mais pas les caractères polonais comme : ? ?

On peut voir le résultat des deux interprétations du même texte sur cette page.

#8 _lex

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 1016 messages

Posté 13 January 2010 - 17:11 PM

en effet je vois ca...

peux tu essayer ta commande avec un champs de texte a la place d un textio
Code: Tout sélectionner
onLoad TXT_firma2.TEXT=((<TEXTFORMAT LEADING="2"><div width="500px" ALIGN="JUSTIFY"><FONT FACE="arial" SIZE="14" COLOR="#000000" LETTERSPACING="0" KERNING="0">Firma istnieje od 1991 roku. Specjalizuje si? w kompleksowym budowaniu hal metod? lekkiej, no?nej konstrukcj stalowej, ocynkowanej lub zabezpieczonej antykorozyjnie farbami i obudowanej p?ytami wastwowymi.</FONT></div></TEXTFORMAT>))


peux tu essayer avec la police "_sans"?

et aussi en décochant "polices inclues" de ton champs de texte

#9 Żabojad

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 114 messages

Posté 17 January 2010 - 21:29 PM

Salut lexa,

Merci pour ta réponse.

Désolé de répondre un peu tard, je travaillais sur autre chose...

Alors, dans l'ordre :

lexa a écrit:peux tu essayer ta commande avec un champs de texte a la place d un textio
Code: Tout sélectionner
onLoad TXT_firma2.TEXT=((<TEXTFORMAT LEADING="2"><div width="500px" ALIGN="JUSTIFY"><FONT FACE="arial" SIZE="14" COLOR="#000000" LETTERSPACING="0" KERNING="0">Firma istnieje od 1991 roku. Specjalizuje si? w kompleksowym budowaniu hal metod? lekkiej, no?nej konstrukcj stalowej, ocynkowanej lub zabezpieczonej antykorozyjnie farbami i obudowanej p?ytami wastwowymi.</FONT></div></TEXTFORMAT>))



J'ai essayé, mais bizarrement cette action ne change pas le contenu du champ de texte du tout... Pourtant, la propriété "TXT" existe bien pour les champs de texte selon la doc de l'API Silex. Étrange...

lexa a écrit:peux tu essayer avec la police "_sans"?

J'ai essayé juste au cas où mais je pense que le premier point est bloquant pour la suite...

lexa a écrit:et aussi en décochant "polices inclues" de ton champs de texte

Idem, pas de résultat à cause du premier point...

Tu as une idée ? Je crois qu'on vient de lever un second lièvre ^^...

#10 Żabojad

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 114 messages

Posté 21 January 2010 - 13:29 PM

Salut,

Je n'ai toujours pas trouvé de résolution au problème mais voici ce j'ai trouvé en faisant quelques tests :

lexa a écrit:peux tu essayer ta commande avec un champs de texte a la place d un textio
Code: Tout sélectionner
onLoad TXT_firma2.TEXT=((<TEXTFORMAT LEADING="2"><div width="500px" ALIGN="JUSTIFY"><FONT FACE="arial" SIZE="14" COLOR="#000000" LETTERSPACING="0" KERNING="0">Firma istnieje od 1991 roku. Specjalizuje si? w kompleksowym budowaniu hal metod? lekkiej, no?nej konstrukcj stalowej, ocynkowanej lub zabezpieczonej antykorozyjnie farbami i obudowanej p?ytami wastwowymi.</FONT></div></TEXTFORMAT>))



Le champ de texte change bien de valeur avec la propriété TEXT, mais pas sur l'événement onLoad. Il semble en effet que sa propriété TEXT s'initialise automatiquement à partir entre autres du contenu de la propriété htmlText après le dispatch de l'événement onLoad, ce qui fait que tout ce qu'on code dans une action sur le onLoad du champ de texte est ensuite écrasé.


lexa a écrit:peux tu essayer avec la police "_sans"?

Même avec cette police, les caractères polonais ne s'affichent pas.

lexa a écrit:et aussi en décochant "polices inclues" de ton champs de texte

En décochant seulement "polices inclues", on a toujours le problème. Par contre, en décochant "polices inclues" et "html?", les caractères polonais s'affichent. Problème : Les balises html ne sont plus interprétées et on ne peut plus centrer le texte ni choisir sa police...

Je continue ma recherche d'un workaround. Si quelqu'un a une idée, n'hésitez pas :) !

#11 Żabojad

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 114 messages

Posté 21 January 2010 - 19:08 PM

Hello,

Bon, pour clore le sujet, voici ce qui marche :

- Décocher "polices inclues..."

- Laisser cocher "html?"

- Initialiser le champ de texte normalement (via la propriété "label")...

Problème :

- On ne peut pas inclure de police au layout => voir ce topic et ce bug, ce qui nous oblige à choisir une police standard.

Ouaaa, j'ai bien ramé... Et pour pas grand chose... Y a des jours comme ça...

A+

?abojad



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)