PDA

View Full Version : Vizard with non-latin language


dan12345
05-26-2008, 12:53 AM
Hello -
I wanted to add hebrew text in vizard, and wasn't able to...
Is there any way to enable it? If not, we would be very very
happy if in future versions it might be supported....

farshizzo
05-27-2008, 11:53 PM
Have you tried setting the encoding of your script to UTF-8? (File -> Encoding -> UTF-8). Once this is set, you should be able to add hebrew text in your script. This won't work if you are adding text through the stage though.

dan12345
05-29-2008, 04:17 AM
i actually have tried changing the encoding, which allowed me adding
hebrew to the script itself, but i wasn't able to add a textnode with
hebrew letters, that will be shown in the VR. ( the script compiled, but
letters which were not hebrew were shown on the screen )
Is this supposed to be possible?

farshizzo
05-29-2008, 10:05 AM
I installed hebrew on my computer and ran the following script and it displayed the attached image. Is the text in the image real hebrew?# coding: UTF-8
import viz
viz.go()

text = viz.addText('קראטוןםפשדגכעיחלךזסבהנמצ',viz.SCREEN, pos=(0.5,0.5,0),align=viz.TEXT_CENTER_CENTER)

dan12345
06-01-2008, 05:59 AM
The text in the image is real hebrew indeed, but when i run your code
on my computer (after copy pasting) i still don't get the right characters...
The computer does work with hebrew in general...
any ideas why?

farshizzo
06-02-2008, 07:45 PM
What characters show up? Other than enabling UTF-8 encoding from the file menu, you shouldn't have to do anything else.

farshizzo
06-04-2008, 02:08 PM
Another problem might be that the arial font on your system does not support hebrew. Vizards default font is arial.ttf. Try changing the font of the text object to something that supports hebrew. You can set the font using the following sample code:text.font('font.ttf')

dan12345
06-05-2008, 03:36 AM
Nope, still doesn't work... how do i add pictures to forum messages? i wanted to add
a jpeg of the result, but couldn't find how to do it.... after changing the text using text.font('some hebrew font.ttf'), nothing changed....

farshizzo
06-05-2008, 12:03 PM
The last thing I can think of is to manually set the encoding of the text object to UTF8:text.setEncoding(viz.ENCODING_UTF8)Vizard will check for a UTF8 BOM in your main script and automatically enable UTF8 encoding, so manually setting the encoding is not usually necessary, but its worth a shot.

You can attach images to a post by clicking the "Manage attachments" button when replying.

dan12345
06-09-2008, 10:42 PM
it worked :)
thanks a bunch

dan12345
07-10-2008, 12:05 AM
when using the code written before - it reverses the order of the letters ( which can also be seen in the jpg you attached )

i tried fixing this using method such as

aa = array.array('c', chars)
aa.reverse()
newa = aa.tostring()

or

temp = list(string)
temp.reverse()
newString = string.join(temp, '')

but for some reason this scrambled the hebrew, and adding a text with the new strings led to strange results...

any solution?
thanks
dan

farshizzo
07-10-2008, 10:36 AM
Here is some sample code that will reverse an utf8 string:# coding: UTF-8
import viz
viz.go()

def reverse_hebrew(s):
u = unicode(s,'utf8')
u = u[::-1]
return u.encode('utf8')

text = viz.addText(reverse_hebrew('קראטוןםפשדגכעיחלךזסבהנ מצ'),viz.SCREEN,pos=(0.5,0.5,0),align=viz.TEXT_CEN TER_CENTER)

luakt
09-01-2008, 01:23 AM
Can we get the avatar to speak Mandarin (Chinese language)?

dan12345
02-18-2009, 05:46 AM
Hi - I used to be able to write hebrew letters in vizard, but now i cannot anymore. ( maybe not supported in the new version? )
How can i fix this?
Even when i try to run the .py file not through the vizard environment
( so i could write hebrew letters, did it in notepad )
Vizard doesn't show the hebrew letters properly
( in the same way that it used to, with the solutions in this thread )
Thanks,
dan