Damián M. González
2013-Jan-19 22:00 UTC
[fxruby-users] Troubles with FXTextField encoding
Hello Jeroen, people. I''m having troubles with the encoding. First of all, I''ll tell you that in the app that am developing am using ??????? characters. I''ve realized that when the user write some of those characters and the app take it for work with it, later I come with troubles, that''s because the string taked from the #FXTextField has ascii-8bit encoding, and as you can see here: http://www.sciencebuddies.org/science-fair-projects/project_ideas/CompSci_ASCII_Table.shtml the characters ??????? doesn''t exist. So I''ve tried to change the encoding of the #FXTextField to UTF-8 but I didn''t found the right Constant: http://rubydoc.info/gems/fxruby/frames , am I missing it? is somewhere hidding? nevermind. This is a little worse: I''ve tried to change the encoding as I said to another one, not UTF-8(because I didn''t find it) but to CP850, so I did something like this: #...tf = FXTextField.new(parent, 10)tf.font=(app, FXFont.new(app, "Segoe UI,90,normal,5,0,#{FONTENCODING_CP850},0"))#checking the encoding..puts tf.encoding#=> 850 Seems to work, but it doesn''t. When I enter text in the #FXTextField, press enter and ask for the encoding, ascii-8bit appears, not cp850... tf.connect(SEL_COMMAND) do |sender, selector, data| puts data.encoding #=> <Encoding:ASCII-8BIT>end So I really don''t know what happen when the user enter any of ???????,... I''m getting strange errors when I handle those writed strings. Do any of you have some advice about this? will be thankfull to hear them. Is this a bug? Thanks for your time. P.D.: By the way I''m using FXRuby 1.6.25, Windows 7 Proffesional 64 bits, Ruby 1.9.3p327 (2012-11-10) [i386-mingw32]. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/fxruby-users/attachments/20130119/2093d421/attachment.html>
Damián M. González
2013-Feb-14 11:39 UTC
[fxruby-users] Troubles with FXTextField encoding
Does anybody can help me with this? Thank you guys. From: gonzalezdamianm at hotmail.com To: fxruby-users at rubyforge.org; foxgui-users at lists.sourceforge.net Subject: Troubles with FXTextField encoding Date: Sat, 19 Jan 2013 19:00:12 -0300 Hello Jeroen, people. I''m having troubles with the encoding. First of all, I''ll tell you that in the app that am developing am using ??????? characters. I''ve realized that when the user write some of those characters and the app take it for work with it, later I come with troubles, that''s because the string taked from the #FXTextField has ascii-8bit encoding, and as you can see here: http://www.sciencebuddies.org/science-fair-projects/project_ideas/CompSci_ASCII_Table.shtml the characters ??????? doesn''t exist. So I''ve tried to change the encoding of the #FXTextField to UTF-8 but I didn''t found the right Constant: http://rubydoc.info/gems/fxruby/frames , am I missing it? is somewhere hidding? nevermind. This is a little worse: I''ve tried to change the encoding as I said to another one, not UTF-8(because I didn''t find it) but to CP850, so I did something like this: #...tf = FXTextField.new(parent, 10)tf.font=(app, FXFont.new(app, "Segoe UI,90,normal,5,0,#{FONTENCODING_CP850},0"))#checking the encoding..puts tf.encoding#=> 850 Seems to work, but it doesn''t. When I enter text in the #FXTextField, press enter and ask for the encoding, ascii-8bit appears, not cp850... tf.connect(SEL_COMMAND) do |sender, selector, data| puts data.encoding #=> <Encoding:ASCII-8BIT>end So I really don''t know what happen when the user enter any of ???????,... I''m getting strange errors when I handle those writed strings. Do any of you have some advice about this? will be thankfull to hear them. Is this a bug? Thanks for your time. P.D.: By the way I''m using FXRuby 1.6.25, Windows 7 Proffesional 64 bits, Ruby 1.9.3p327 (2012-11-10) [i386-mingw32]. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/fxruby-users/attachments/20130214/e72cda5d/attachment.html>
Damián M. González
2013-Feb-14 12:09 UTC
[fxruby-users] Troubles with FXTextField encoding
Perhaps if anybody can respond me again this old question I can solution this problem: ashraf01 wrote Oct 09, 2007; 11:54am How could I take unicode characters(Chinese, Japanese etc) as Input using FXTextField.I am using WindowsXp & also setting Language options from the control panel.I am very new in this environment. Could anybody help plz.......... the only response was: At the moment i doubt this is not possible. FOX does not support the input methods API at the moment. It is solved now? Here is a little refresh of the problem: If I generate strings inside the source code it gets the utf-8 encoding as expected, but at the moment of re-assing a string to a variable doing it by the user in a #FXTextField, the string becomes one with ascii-8bit encoding. So this is a big trouble for me because Windows use CP1252 encoding in their box titles and Ruby raises an error when I try to convert ascii-8bit into CP1252, even if I try to convert it into utf-8 encoding. If I try to show up the string as it is now(with ascii-8bit encoding) in a title in a #FXDialogBox I get strange characters. The fact is I don''t know how the encoding works in the internals of Fox, how the encoding works in an #FXTextField. There are rare things, for example: entering "?" in a FXTextField, that value will be showed in a cell in a #FXTable, it shows it correctly "?", when I show up that string in a title of a FXDialoBox I get strange characters, not "?"; entering "?" in a #FXTextField, that value will be showed as an item in a #FXListBox and a #FXLabel, in both it shows "?", is not the same, it''s downcased. So that''s why I can''t comprhend the problem, is a strange behaviour. The solution? Meaby establish UTF-8 as encoding of any text typed in a #FXTextField, but I don''t know how. I didn''t found documentation about it. Meaby I can find another solution if knows how the internals works about the encoding. Thanks for your time, I''ll will appreciate your help.From: gonzalezdamianm at hotmail.com To: fxruby-users at rubyforge.org; foxgui-users at lists.sourceforge.net Subject: RE: Troubles with FXTextField encoding Date: Thu, 14 Feb 2013 08:39:40 -0300 Does anybody can help me with this? Thank you guys. From: gonzalezdamianm at hotmail.com To: fxruby-users at rubyforge.org; foxgui-users at lists.sourceforge.net Subject: Troubles with FXTextField encoding Date: Sat, 19 Jan 2013 19:00:12 -0300 Hello Jeroen, people. I''m having troubles with the encoding. First of all, I''ll tell you that in the app that am developing am using ??????? characters. I''ve realized that when the user write some of those characters and the app take it for work with it, later I come with troubles, that''s because the string taked from the #FXTextField has ascii-8bit encoding, and as you can see here: http://www.sciencebuddies.org/science-fair-projects/project_ideas/CompSci_ASCII_Table.shtml the characters ??????? doesn''t exist. So I''ve tried to change the encoding of the #FXTextField to UTF-8 but I didn''t found the right Constant: http://rubydoc.info/gems/fxruby/frames , am I missing it? is somewhere hidding? nevermind. This is a little worse: I''ve tried to change the encoding as I said to another one, not UTF-8(because I didn''t find it) but to CP850, so I did something like this: #...tf = FXTextField.new(parent, 10)tf.font=(app, FXFont.new(app, "Segoe UI,90,normal,5,0,#{FONTENCODING_CP850},0"))#checking the encoding..puts tf.encoding#=> 850 Seems to work, but it doesn''t. When I enter text in the #FXTextField, press enter and ask for the encoding, ascii-8bit appears, not cp850... tf.connect(SEL_COMMAND) do |sender, selector, data| puts data.encoding #=> <Encoding:ASCII-8BIT>end So I really don''t know what happen when the user enter any of ???????,... I''m getting strange errors when I handle those writed strings. Do any of you have some advice about this? will be thankfull to hear them. Is this a bug? Thanks for your time. P.D.: By the way I''m using FXRuby 1.6.25, Windows 7 Proffesional 64 bits, Ruby 1.9.3p327 (2012-11-10) [i386-mingw32]. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/fxruby-users/attachments/20130214/76cda586/attachment-0001.html>
Damián M. González
2013-Feb-15 02:32 UTC
[fxruby-users] [Foxgui-users] Troubles with FXTextField encoding
> Date: Thu, 14 Feb 2013 09:14:02 -0600 > From: jeroen at fox-toolkit.com > To: gonzalezdamianm at hotmail.com > CC: fxruby-users at rubyforge.org; foxgui-users at lists.sourceforge.net > Subject: Re: [Foxgui-users] Troubles with FXTextField encoding > > On Thu, 14 Feb 2013 08:39:40 -0300 > Dami?n M. Gonz?lez <gonzalezdamianm at hotmail.com> wrote: > > > > Hello Jeroen, people. I''m having troubles with the encoding. First of all, I''ll tell you that in the app that am developing am using ??????? characters. I''ve realized that when the user write some of those characters and the app take it for work with it, later I come with troubles, that''s because the string taked from the #FXTextField has ascii-8bit encoding, and as you can see here: http://www.sciencebuddies.org/science-fair-projects/project_ideas/CompSci_ASCII_Table.shtml the characters ??????? doesn''t exist. So I''ve tried to change the encoding of the #FXTextField to UTF-8 but I didn''t found the right Constant: http://rubydoc.info/gems/fxruby/frames , am I missing it? is somewhere hidding? nevermind. This is a little worse: I''ve tried to change the encoding as I said to another one, not UTF-8(because I didn''t find it) but to CP850, so I did something like this: > > #...tf = FXTextField.new(parent, 10)tf.font=(app, FXFont.new(app, "Segoe UI,90,normal,5,0,#{FONTENCODING_CP850},0"))#checking the encoding..puts tf.encoding#=> 850 > > Seems to work, but it doesn''t. When I enter text in the #FXTextField, press enter and ask for the encoding, ascii-8bit appears, not cp850... > > tf.connect(SEL_COMMAND) do |sender, selector, data| puts data.encoding #=> <Encoding:ASCII-8BIT>end > > So I really don''t know what happen when the user enter any of ???????,... I''m getting strange errors when I handle those writed strings. Do any of you have some advice about this? will be thankfull to hear them. Is this a bug? Thanks for your time. > > P.D.: By the way I''m using FXRuby 1.6.25, Windows 7 Proffesional 64 bits, Ruby 1.9.3p327 (2012-11-10) [i386-mingw32]. > > I can''t speak for Ruby, but FOX should support UTF-8. > > For all this to work, ensure that your FOX library is compiled with -DUNICODE=1 > otherwise the interface to Win32 won''t support unicode. > > > > > > > -- JVZ > > > > +----------------------------------------------------------------------------+ > | Copyright (C) 09:10 02/14/2013 Jeroen van der Zijp. All Rights Reserved. | > +----------------------------------------------------------------------------+Thank you Jeroen for answer. Sadly seems that there''s no maintainer of the framework for Ruby, and I don''t know how to check if the gem we(the users of Ruby) download is compiled with -DUNICODE=1, Ruby is my first language and I''m kind of noob related to C++. I''m in middle of a project, hope to get some answer about if FXRuby is compiled with that option, if not if it can be fixed, etc. Does anybody knows that? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/fxruby-users/attachments/20130214/7a9a138f/attachment.html>
Lars Kanis
2013-Feb-16 09:03 UTC
[fxruby-users] [Foxgui-users] Troubles with FXTextField encoding
Hi Dami?n, sorry for responding so late. It is a spare time project for me and I don''t know the fox toolkit that good, so I''ll have to try things out or look at the sources. Moreover I''m quite lazy in answering user questions, generally. Regarding your string encoding issue: FXRuby uses UTF-8 encoding for all text strings since version 1.6.0. However the strings were not properly marked as UTF-8 in Ruby-1.9. That is obviously a bug. You could set the encoding of a string by hand per String#force_encoding(''UTF-8''). Please try out the new fxruby version 1.6.26.pre1 I just released. It should now properly return UTF-8 strings for all text returning methods. Some advices for unicode handling in fxruby: You should not use any encodings but UTF-8 when interacting with fxruby. FXRuby will not check or convert other encodings but will consider everything as UTF-8. You moreover should mark all your *.rb files with a header line like this: # encoding: utf-8 Then even Chinese characters should be no problem. There are also some test cases in the test suite of fxruby for unicode handling. Regarding the font encoding: I guess FONTENCODING_UNICODE should be the suitable encoding for FXFont, but I didn''t tried it out. Hope that helps. Regards, Lars Am 15.02.2013 03:32, schrieb Dami?n M. Gonz?lez:> > > Hello Jeroen, people. I''m having troubles with the encoding. First > of all, I''ll tell you that in the app that am developing am using > ??????? characters. I''ve realized that when the user write some of > those characters and the app take it for work with it, later I come > with troubles, that''s because the string taked from the #FXTextField > has ascii-8bit encoding, and as you can see here: > http://www.sciencebuddies.org/science-fair-projects/project_ideas/CompSci_ASCII_Table.shtml > the characters ??????? doesn''t exist. So I''ve tried to change the > encoding of the #FXTextField to UTF-8 but I didn''t found the right > Constant: http://rubydoc.info/gems/fxruby/frames , am I missing it? is > somewhere hidding? nevermind. This is a little worse: I''ve tried to > change the encoding as I said to another one, not UTF-8(because I > didn''t find it) but to CP850, so I did something like this: > > > #...tf = FXTextField.new(parent, 10)tf.font=(app, FXFont.new(app, > "Segoe UI,90,normal,5,0,#{FONTENCODING_CP850},0"))#checking the > encoding..puts tf.encoding#=> 850 > > > Seems to work, but it doesn''t. When I enter text in the > #FXTextField, press enter and ask for the encoding, ascii-8bit > appears, not cp850... > > > tf.connect(SEL_COMMAND) do |sender, selector, data| puts > data.encoding #=> <Encoding:ASCII-8BIT>end > > > So I really don''t know what happen when the user enter any of > ???????,... I''m getting strange errors when I handle those writed > strings. Do any of you have some advice about this? will be thankfull > to hear them. Is this a bug? Thanks for your time. > > > P.D.: By the way I''m using FXRuby 1.6.25, Windows 7 Proffesional > 64 bits, Ruby 1.9.3p327 (2012-11-10) [i386-mingw32]. > > > > I can''t speak for Ruby, but FOX should support UTF-8. > > > > For all this to work, ensure that your FOX library is compiled with > -DUNICODE=1 > > otherwise the interface to Win32 won''t support unicode. > > > > > > > > > > > > > > -- JVZ > > > > > > > > > +----------------------------------------------------------------------------+ > > | Copyright (C) 09:10 02/14/2013 Jeroen van der Zijp. All Rights > Reserved. | > > > +----------------------------------------------------------------------------+ > > Thank you Jeroen for answer. Sadly seems that there''s no maintainer > of the framework for Ruby, and I don''t know how to check if the gem > we(the users of Ruby) download is compiled with -DUNICODE=1, Ruby is > my first language and I''m kind of noob related to C++. I''m in middle > of a project, hope to get some answer about if FXRuby is compiled with > that option, if not if it can be fixed, etc. Does anybody knows that? > > > _______________________________________________ > fxruby-users mailing list > fxruby-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/fxruby-users-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/fxruby-users/attachments/20130216/d67af5a9/attachment.html>
Damián M. González
2013-Feb-16 12:58 UTC
[fxruby-users] [Foxgui-users] Troubles with FXTextField encoding
Hi Lars, thanks for answer, I understand the facts. I''ve tried before the solution you propose without success, Ruby raises an error when you try to convert(encode(Encoding::UTF_8)), or point(force_encoding(Encoding::UTF_8)) ascii-8bit to UTF-8 for some reason. Now I''ve tried the pre-release of the 1.6.26 and works as a love, this problem was scaring me but not anymore. For what I know the FONTENCODING_DEFAULT setted by default for all the Fonts points to FONTENCODING_UNICODE, in words are the same, no necessity to change it for me in anywhere. I use every Ruby file with #encoding: utf-8 up above. Thank you so much for resolve this and to JVZ for respond the call. Regards. Dami?n-IgorJorobus. Date: Sat, 16 Feb 2013 10:03:59 +0100 From: lars at greiz-reinsdorf.de To: fxruby-users at rubyforge.org CC: gonzalezdamianm at hotmail.com; foxgui-users at lists.sourceforge.net Subject: Re: [fxruby-users] [Foxgui-users] Troubles with FXTextField encoding Hi Dami?n, sorry for responding so late. It is a spare time project for me and I don''t know the fox toolkit that good, so I''ll have to try things out or look at the sources. Moreover I''m quite lazy in answering user questions, generally. Regarding your string encoding issue: FXRuby uses UTF-8 encoding for all text strings since version 1.6.0. However the strings were not properly marked as UTF-8 in Ruby-1.9. That is obviously a bug. You could set the encoding of a string by hand per String#force_encoding(''UTF-8''). Please try out the new fxruby version 1.6.26.pre1 I just released. It should now properly return UTF-8 strings for all text returning methods. Some advices for unicode handling in fxruby: You should not use any encodings but UTF-8 when interacting with fxruby. FXRuby will not check or convert other encodings but will consider everything as UTF-8. You moreover should mark all your *.rb files with a header line like this: # encoding: utf-8 Then even Chinese characters should be no problem. There are also some test cases in the test suite of fxruby for unicode handling. Regarding the font encoding: I guess FONTENCODING_UNICODE should be the suitable encoding for FXFont, but I didn''t tried it out. Hope that helps. Regards, Lars Am 15.02.2013 03:32, schrieb Dami?n M. Gonz?lez: > > Hello Jeroen, people. I''m having troubles with the encoding. First of all, I''ll tell you that in the app that am developing am using ??????? characters. I''ve realized that when the user write some of those characters and the app take it for work with it, later I come with troubles, that''s because the string taked from the #FXTextField has ascii-8bit encoding, and as you can see here: http://www.sciencebuddies.org/science-fair-projects/project_ideas/CompSci_ASCII_Table.shtml the characters ??????? doesn''t exist. So I''ve tried to change the encoding of the #FXTextField to UTF-8 but I didn''t found the right Constant: http://rubydoc.info/gems/fxruby/frames , am I missing it? is somewhere hidding? nevermind. This is a little worse: I''ve tried to change the encoding as I said to another one, not UTF-8(because I didn''t find it) but to CP850, so I did something like this: > > #...tf = FXTextField.new(parent, 10)tf.font=(app, FXFont.new(app, "Segoe UI,90,normal,5,0,#{FONTENCODING_CP850},0"))#checking the encoding..puts tf.encoding#=> 850 > > Seems to work, but it doesn''t. When I enter text in the #FXTextField, press enter and ask for the encoding, ascii-8bit appears, not cp850... > > tf.connect(SEL_COMMAND) do |sender, selector, data| puts data.encoding #=> <Encoding:ASCII-8BIT>end > > So I really don''t know what happen when the user enter any of ???????,... I''m getting strange errors when I handle those writed strings. Do any of you have some advice about this? will be thankfull to hear them. Is this a bug? Thanks for your time. > > P.D.: By the way I''m using FXRuby 1.6.25, Windows 7 Proffesional 64 bits, Ruby 1.9.3p327 (2012-11-10) [i386-mingw32]. > > I can''t speak for Ruby, but FOX should support UTF-8. > > For all this to work, ensure that your FOX library is compiled with -DUNICODE=1 > otherwise the interface to Win32 won''t support unicode. > > > > > > > -- JVZ > > > > +----------------------------------------------------------------------------+ > | Copyright (C) 09:10 02/14/2013 Jeroen van der Zijp. All Rights Reserved. | > +----------------------------------------------------------------------------+ Thank you Jeroen for answer. Sadly seems that there''s no maintainer of the framework for Ruby, and I don''t know how to check if the gem we(the users of Ruby) download is compiled with -DUNICODE=1, Ruby is my first language and I''m kind of noob related to C++. I''m in middle of a project, hope to get some answer about if FXRuby is compiled with that option, if not if it can be fixed, etc. Does anybody knows that? _______________________________________________ fxruby-users mailing list fxruby-users at rubyforge.org http://rubyforge.org/mailman/listinfo/fxruby-users -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/fxruby-users/attachments/20130216/b0f6f6fe/attachment-0001.html>
Lars Kanis
2013-Feb-16 18:00 UTC
[fxruby-users] [Foxgui-users] Troubles with FXTextField encoding
Hi Dami?n> Now I''ve tried the pre-release of the 1.6.26 and works as a love, > this problem was scaring me but not anymore. >Sounds good. I''ll release 1.6.26 soon. Regards, Lars -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/fxruby-users/attachments/20130216/521cb54c/attachment.html>