Ajout d'un texte avec symboles ou accents
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Be nice to others! Read the FreeCAD code of conduct!
Ajout d'un texte avec symboles ou accents
Bonjour,
Sous Linux, y a t-il un moyen pour ajouter un texte qui contient des symboles ou lettres accentuées ?
J'ai aussi essayé en passant par la console python Draft.makeText("mon texte ààèè,FreeCAD.Vector(1,1,0))
et en essayant les fonctions d'encodings de charset, sans résultat.
Merci
OS: Ubuntu 12.04.4 LTS
Word size: 64-bit
Version: 0.14.3702 (Git)
Branch: releases/FreeCAD-0-14
Hash: b3368125c63289ec8ce9faec2b2ae4c78d436406
Python version: 2.7.3
Qt version: 4.8.1
Coin version: 3.1.3
SoQt version: 1.5.0
OCC version: 6.7.0
Sous Linux, y a t-il un moyen pour ajouter un texte qui contient des symboles ou lettres accentuées ?
J'ai aussi essayé en passant par la console python Draft.makeText("mon texte ààèè,FreeCAD.Vector(1,1,0))
et en essayant les fonctions d'encodings de charset, sans résultat.
Merci
OS: Ubuntu 12.04.4 LTS
Word size: 64-bit
Version: 0.14.3702 (Git)
Branch: releases/FreeCAD-0-14
Hash: b3368125c63289ec8ce9faec2b2ae4c78d436406
Python version: 2.7.3
Qt version: 4.8.1
Coin version: 3.1.3
SoQt version: 1.5.0
OCC version: 6.7.0
Re: Ajout d'un texte avec symboles ou accents
Salut francis75,
Ce problème pouurait être lié au problème des cotes de diamètre car ces dernière ajoute le signe diamètre dans le texte.
Essaye de changer la police de caractère, soit dans les propriétés de l'objet lui même soit dans les préférences de l'atelier Draft.
C'est peut etre la police utilsé par défaut par le systme d'exploitation qui pose problème...
Ce problème pouurait être lié au problème des cotes de diamètre car ces dernière ajoute le signe diamètre dans le texte.
Essaye de changer la police de caractère, soit dans les propriétés de l'objet lui même soit dans les préférences de l'atelier Draft.
C'est peut etre la police utilsé par défaut par le systme d'exploitation qui pose problème...
Formations - Assistance - Développement : https://freecad-france.com
Re: Ajout d'un texte avec symboles ou accents
Bonjour
même chose dans Windows n'affiche pas les accentués et conserve toujours la même police même si je la change dans les préférences ou dans les propriétés même en redémarrant FreeCAD.
pourtant la nouvelle police est visible dans "Propriété > Vue" et le caractère "é" est bien visible dans "Propriétés > Données > Label Text"
avec Python, pour les caractères unicodes il faut ajouter "u" devant la chaîne
ce code donne une erreur
ce code est le bon (mais n'affiche pas le caractère)
vous pouvez uiliser plusieurs lignes (les accentués pour l'exemple...pour le moment)
OS: Windows Vista
Word size: 32-bit
Version: 0.14.3700 (Git)
Branch: releases/FreeCAD-0-14
Hash: 32f5aae0a64333ec8d5d160dbc46e690510c8fe1
Python version: 2.6.2
Qt version: 4.5.2
Coin version: 3.1.0
SoQt version: 1.4.1
OCC version: 6.5.1
mario
même chose dans Windows n'affiche pas les accentués et conserve toujours la même police même si je la change dans les préférences ou dans les propriétés même en redémarrant FreeCAD.
pourtant la nouvelle police est visible dans "Propriété > Vue" et le caractère "é" est bien visible dans "Propriétés > Données > Label Text"
avec Python, pour les caractères unicodes il faut ajouter "u" devant la chaîne
ce code donne une erreur
Code: Select all
Draft.makeText(["é"],point=FreeCAD.Vector(0.0,0.0,0.0))
Code: Select all
Draft.makeText([u"é"],point=FreeCAD.Vector(0.0,0.0,0.0))
Code: Select all
Draft.makeText([u"é","A","B","C",u"à"],point=FreeCAD.Vector(0.0,0.0,0.0))
Word size: 32-bit
Version: 0.14.3700 (Git)
Branch: releases/FreeCAD-0-14
Hash: 32f5aae0a64333ec8d5d160dbc46e690510c8fe1
Python version: 2.6.2
Qt version: 4.5.2
Coin version: 3.1.0
SoQt version: 1.4.1
OCC version: 6.5.1
mario
Maybe you need a special feature, go into Macros_recipes and Code_snippets, Topological_data_scripting.
My macros on Gist.github here complete macros Wiki and forum.
My macros on Gist.github here complete macros Wiki and forum.
Re: Ajout d'un texte avec symboles ou accents
Bonjour,mario52 wrote:vous pouvez uiliser plusieurs lignes (les accentués pour l'exemple...pour le moment)Code: Select all
Draft.makeText([u"é"],point=FreeCAD.Vector(0.0,0.0,0.0))
marioCode: Select all
Draft.makeText([u"é","A","B","C",u"à"],point=FreeCAD.Vector(0.0,0.0,0.0))
c'est curieux mais ça marche sur l'un de mes deux Ubuntu 12.04 uniquement. Les deux sont à jour. L'un est en 32 bits (fonctionnne) ,l'autre en 64.
L'erreur :
>>> Draft.makeText([u"é","A","B","C",u"à"],point=FreeCAD.Vector(0.0,0.0,0.0))
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/lib/freecad/Mod/Draft/Draft.py", line 889, in makeText
textbuffer.append(l.decode("utf8").encode('latin1'))
File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
>>>
J'ai fait d'autres essais en Python, sans mieux.
Re: Ajout d'un texte avec symboles ou accents
Code: Select all
Draft.makeText([u"\xe9","A","B","C",u"\xe0"])
Draft.makeText(["é".decode('utf-8'),"A","B","C","à".decode('utf-8')])
Draft.makeText(["é","A","B","C","à"])
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.15.4089 +2 (Git)
Branch: (detached from ickby/quarter)
Hash: ee521e56e3de29cda00182b41435688a2715fef9
Python version: 2.7.5
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.7.0
Re: Ajout d'un texte avec symboles ou accents
bonjour
File "/usr/lib/freecad/Mod/Draft/Draft.py", line 889, in makeText
textbuffer.append(l.decode("utf8").encode('latin1'))
chez moi à cet endroit il y a
si vous voulez essayer mon Draft.y vous pouvez le télécharger dans cette discussion ici (il est zippé) et renommez votre original pour le récupérer
j'ai ajouté en début de la macro (deuxième position)
je tape dans la console
et j'obtiens :
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Program Files\FreeCAD 0.14\Mod\Draft\Draft.py", line 894, in makeText
if not screen: obj.ViewObject.DisplayMode="World"
Exception: FreeCAD exception thrown (type must be int or str, not unicode)
>>>
Vue rapport
Unhandled Base::Exception caught in GUIApplication::notify.
The error message is: 'ascii' codec can't decode byte 0xc3 in position 2: ordinal not in range(128)
Unhandled Base::Exception caught in GUIApplication::notify.
The error message is: 'ascii' codec can't decode byte 0xc3 in position 2: ordinal not in range(128)
Exception (Tue Sep 30 19:48:54 2014): type must be int or str, not unicode
hi shoogen
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Program Files\FreeCAD 0.14\Mod\Draft\Draft.py", line 894, in makeText
if not screen: obj.ViewObject.DisplayMode="World"
Exception: FreeCAD exception thrown (type must be int or str, not unicode)
and View report :
Exception (Tue Sep 30 19:46:52 2014): type must be int or str, not unicode
________________________________________________________
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Program Files\FreeCAD 0.14\Mod\Draft\Draft.py", line 890, in makeText
textbuffer.append(l.encode('latin1'))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)
________________________________________________________
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Program Files\FreeCAD 0.14\Mod\Draft\Draft.py", line 894, in makeText
if not screen: obj.ViewObject.DisplayMode="World"
Exception: FreeCAD exception thrown (type must be int or str, not unicode)
and View report
Exception (Tue Sep 30 20:13:56 2014): type must be int or str, not unicode
le test est complet !
mario
File "/usr/lib/freecad/Mod/Draft/Draft.py", line 889, in makeText
textbuffer.append(l.decode("utf8").encode('latin1'))
chez moi à cet endroit il y a
Code: Select all
textbuffer.append(l.encode('latin1'))
j'ai ajouté en début de la macro (deuxième position)
Code: Select all
from __future__ import unicode_literals
Code: Select all
>>> Draft.makeText([u"AAééèèBBààCC"],point=FreeCAD.Vector(0.0,0.0,0.0))
File "<input>", line 1, in <module>
File "C:\Program Files\FreeCAD 0.14\Mod\Draft\Draft.py", line 894, in makeText
if not screen: obj.ViewObject.DisplayMode="World"
Exception: FreeCAD exception thrown (type must be int or str, not unicode)
>>>
Vue rapport
Unhandled Base::Exception caught in GUIApplication::notify.
The error message is: 'ascii' codec can't decode byte 0xc3 in position 2: ordinal not in range(128)
Unhandled Base::Exception caught in GUIApplication::notify.
The error message is: 'ascii' codec can't decode byte 0xc3 in position 2: ordinal not in range(128)
Exception (Tue Sep 30 19:48:54 2014): type must be int or str, not unicode
hi shoogen
Code: Select all
>>> import Draft
>>> Draft.makeText(["é".decode('utf-8'),"A","B","C","à".decode('utf-8')])
File "<input>", line 1, in <module>
File "C:\Program Files\FreeCAD 0.14\Mod\Draft\Draft.py", line 894, in makeText
if not screen: obj.ViewObject.DisplayMode="World"
Exception: FreeCAD exception thrown (type must be int or str, not unicode)
and View report :
Exception (Tue Sep 30 19:46:52 2014): type must be int or str, not unicode
________________________________________________________
Code: Select all
>>> Draft.makeText(["é","A","B","C","à"])
File "<input>", line 1, in <module>
File "C:\Program Files\FreeCAD 0.14\Mod\Draft\Draft.py", line 890, in makeText
textbuffer.append(l.encode('latin1'))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)
________________________________________________________
Code: Select all
Draft.makeText([u"\xe9","A","B","C",u"\xe0"])
File "<input>", line 1, in <module>
File "C:\Program Files\FreeCAD 0.14\Mod\Draft\Draft.py", line 894, in makeText
if not screen: obj.ViewObject.DisplayMode="World"
Exception: FreeCAD exception thrown (type must be int or str, not unicode)
and View report
Exception (Tue Sep 30 20:13:56 2014): type must be int or str, not unicode
le test est complet !
mario
Maybe you need a special feature, go into Macros_recipes and Code_snippets, Topological_data_scripting.
My macros on Gist.github here complete macros Wiki and forum.
My macros on Gist.github here complete macros Wiki and forum.