From: Kouhei S. <ko...@co...> - 2006-12-01 14:00:36
|
須藤です. GLibのUnicode Manipulationのセクションの関数(具体的には g_ucs4_to_utf8())を使いたいので,ここのセクションの関数を Ruby/GLib2に実装してもよいでしょうか? もし,なにか実装していない理由があるのであれば,Uconvで代用 できるのでRuby/GLib2に実装するのはやめます. |
From: Masao M. <mu...@hi...> - 2006-12-01 14:22:17
|
むとうです。 On Fri, 01 Dec 2006 23:00:28 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > GLibのUnicode Manipulationのセクションの関数(具体的には > g_ucs4_to_utf8())を使いたいので,ここのセクションの関数を > Ruby/GLib2に実装してもよいでしょうか? はい。 > もし,なにか実装していない理由があるのであれば,Uconvで代用 > できるのでRuby/GLib2に実装するのはやめます. いや、特に理由はないです。よろしくお願いします。 Ruby/GLib2は案外実装が難しいんで後手後手になってます(苦笑)。 |
From: Kouhei S. <ko...@co...> - 2006-12-01 14:45:54
|
須藤です. In <200...@hi...> "Re: [ruby-gnome2-devel-ja] Unicode Manipulation" on Fri, 1 Dec 2006 23:22:08 +0900, Masao Mutoh <mu...@hi...> wrote: > > GLibのUnicode Manipulationのセクションの関数(具体的には > > g_ucs4_to_utf8())を使いたいので,ここのセクションの関数を > > Ruby/GLib2に実装してもよいでしょうか? > > はい。 わかりました. では,ちょこちょこ実装していきます. |
From: Masao M. <mu...@hi...> - 2006-12-09 16:16:47
|
むとうです。 On Sat, 09 Dec 2006 20:33:27 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > In <200...@co...> > "Re: [ruby-gnome2-devel-ja] Unicode Manipulation" on Fri, 01 Dec 2006 23:45:42 +0900 (JST), > Kouhei Sutou <ko...@co...> wrote: > > > > > GLibのUnicode Manipulationのセクションの関数(具体的には > > > > g_ucs4_to_utf8())を使いたいので,ここのセクションの関数を > > > > Ruby/GLib2に実装してもよいでしょうか? > > > > > > はい。 > > > > わかりました. > > では,ちょこちょこ実装していきます. > > やりました. > テストとドキュメントも更新しておきました. > > GLib::Unicode::*やGLib::UnicodeBreak::*などを > GLib::UNICODE_*, GLib::UNICODE_BREAK_*としても定義しましたが, > これらは定義しなかった方がよかったでしょうか.もしそうなら直 それもそうなんですけど、メソッドの定義って 以下のような感じじゃないんでしたっけ? g_unichar_foo => GLib::Unichar.foo g_unicode_foo => GLib::Unicode.foo g_utf8_foo => GLib::Utf8.foo GLibトップレベルで、文字操作関連がやたらと 増えるのがちょっと抵抗があるのですが・・・。 #それぞれをClassに定義するのはさすがにやりすぎな気がしますので #Moduleのままで良いとは思うのですが。 |
From: Masao M. <mu...@hi...> - 2006-12-10 06:20:08
|
むとうです。 On Sun, 10 Dec 2006 13:07:24 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > In <200...@hi...> > "Re: [ruby-gnome2-devel-ja] Unicode Manipulation" on Sun, 10 Dec 2006 01:16:29 +0900, > Masao Mutoh <mu...@hi...> wrote: > > > > GLib::Unicode::*やGLib::UnicodeBreak::*などを > > > GLib::UNICODE_*, GLib::UNICODE_BREAK_*としても定義しましたが, > > > これらは定義しなかった方がよかったでしょうか.もしそうなら直 > > > > それもそうなんですけど > > GLib::UNICODE_*などは削除しました. > > > それもそうなんですけど、メソッドの定義って > > 以下のような感じじゃないんでしたっけ? > > > > g_unichar_foo => GLib::Unichar.foo > > g_unicode_foo => GLib::Unicode.foo > > g_utf8_foo => GLib::Utf8.foo > > > > GLibトップレベルで、文字操作関連がやたらと > > 増えるのがちょっと抵抗があるのですが・・・。 > > GLib.utf8_validateがあったのでそれに従いました.あと, > GLib::UnicodeのようにG_DEF_CLASSしたものに > rb_define_singleton_methodするのに抵抗があったというのもあり > ます. 今回の実装を追加することでGLib.utf8_validateはDeprecatedにしましょう。 > 以下のように修正しました. > > GLib.unichar_* -> GLib::UniChar.* > GLib.unicode_* -> GLib::Unicode.* > GLib.utf8_* -> GLib::UTF8.* > GLib.utf16_* -> GLib::UTF16.* > GLib.ucs4_* -> GLib::UCS4.* > > Unicharは気持ち悪かったのでUniCharにしました.UniCharはCocoa > などでも使われているようです. > Utf8, Utf16, Ucs4は気持ち悪かったので大文字にしました. > > UnicharやUtf8の方がよいのであれば,面倒かとは思いますが修正 > してやってください. いや、まぁ、そこは特にこだわりは無いので須藤さんの案のままで良いです。 > > #それぞれをClassに定義するのはさすがにやりすぎな気がしますので > > #Moduleのままで良いとは思うのですが。 > > GLib::UnicodeはClassのままで他はModuleにしました. うーん、これは気持ち悪いですね。 何が気持ち悪いかというと、GLib::Unicodeがイニシャライズされた実体が Unicodeの1キャラクタを示す(あるいはStringを示す)ものではなく、 単なるGLib::Enumであるところです。 おっと、良く見るとGLib::Unicodeに定義している定数ってGUnicodeTypeですね。 これはRuby-GNOME2的に宣言するとGLib::Unicode::TypeというGLib::Enumに なりますよね? ちょっとGLib::Enum周りの宣言の仕方が他(Ruby/GTK等)と異なるので そこはあわせていただければと思います。 まとめますと、以下のようにするのが良いかと思いますがどうでしょうか。 ・GLib::Unicode -> Moduleとして定義。UTF8などと同様にこちらに関数を持たせる。 ・GLib::Unicode::Type -> g_unicode_type_get_type()のGEnum GLib::Unicode::CONTROL等も定義。(Ruby/GTK等と同じ方法) ・GLib::UnicodeBreak -> GLib::Unicode::BreakType #元のenumがType付きですよね。 GLib::Unicode::BREAK_* も定義。(Ruby/GTK等と同じ方法) ・GLib::UnicodeScript -> GLib::Unicode::Script GLib::Unicode::SCRIPT_* も定義。(Ruby/GTK等と同じ方法) #これ、G_TYPE_UNICODE_SCRIPT_TYPEとなっていますが、 #G_TYPE_UNICODE_SCRIPTってこと(_TYPEは無い)はないですか? #通常、G_TYPE_の後はその構造体/Enum等の名称がそのままくるはずなのですが・・・。 #(まだ、2.14.0試していません。) |
From: Kouhei S. <ko...@co...> - 2006-12-10 07:45:21
|
須藤です. In <200...@hi...> "Re: [ruby-gnome2-devel-ja] Unicode Manipulation" on Sun, 10 Dec 2006 15:19:57 +0900, Masao Mutoh <mu...@hi...> wrote: > 今回の実装を追加することでGLib.utf8_validateはDeprecatedにしましょう。 warningを出すようにしておきました. > おっと、良く見るとGLib::Unicodeに定義している定数ってGUnicodeTypeですね。 > これはRuby-GNOME2的に宣言するとGLib::Unicode::TypeというGLib::Enumに > なりますよね? あ,そうですね.私のミスです.すいません. > まとめますと、以下のようにするのが良いかと思いますがどうでしょうか。 > > ・GLib::Unicode -> Moduleとして定義。UTF8などと同様にこちらに関数を持たせる。 > ・GLib::Unicode::Type -> g_unicode_type_get_type()のGEnum > GLib::Unicode::CONTROL等も定義。(Ruby/GTK等と同じ方法) > ・GLib::UnicodeBreak -> GLib::Unicode::BreakType #元のenumがType付きですよね。 > GLib::Unicode::BREAK_* も定義。(Ruby/GTK等と同じ方法) > ・GLib::UnicodeScript -> GLib::Unicode::Script > GLib::Unicode::SCRIPT_* も定義。(Ruby/GTK等と同じ方法) > #これ、G_TYPE_UNICODE_SCRIPT_TYPEとなっていますが、 > #G_TYPE_UNICODE_SCRIPTってこと(_TYPEは無い)はないですか? > #通常、G_TYPE_の後はその構造体/Enum等の名称がそのままくるはずなのですが・・・。 > #(まだ、2.14.0試していません。) そうしました. Scriptは私も2.14では試していなくて気付きませんでした. それも修正しました. |
From: Kouhei S. <ko...@co...> - 2006-12-10 04:07:32
|
須藤です. In <200...@hi...> "Re: [ruby-gnome2-devel-ja] Unicode Manipulation" on Sun, 10 Dec 2006 01:16:29 +0900, Masao Mutoh <mu...@hi...> wrote: > > GLib::Unicode::*やGLib::UnicodeBreak::*などを > > GLib::UNICODE_*, GLib::UNICODE_BREAK_*としても定義しましたが, > > これらは定義しなかった方がよかったでしょうか.もしそうなら直 > > それもそうなんですけど GLib::UNICODE_*などは削除しました. > それもそうなんですけど、メソッドの定義って > 以下のような感じじゃないんでしたっけ? > > g_unichar_foo => GLib::Unichar.foo > g_unicode_foo => GLib::Unicode.foo > g_utf8_foo => GLib::Utf8.foo > > GLibトップレベルで、文字操作関連がやたらと > 増えるのがちょっと抵抗があるのですが・・・。 GLib.utf8_validateがあったのでそれに従いました.あと, GLib::UnicodeのようにG_DEF_CLASSしたものに rb_define_singleton_methodするのに抵抗があったというのもあり ます. 以下のように修正しました. GLib.unichar_* -> GLib::UniChar.* GLib.unicode_* -> GLib::Unicode.* GLib.utf8_* -> GLib::UTF8.* GLib.utf16_* -> GLib::UTF16.* GLib.ucs4_* -> GLib::UCS4.* Unicharは気持ち悪かったのでUniCharにしました.UniCharはCocoa などでも使われているようです. Utf8, Utf16, Ucs4は気持ち悪かったので大文字にしました. UnicharやUtf8の方がよいのであれば,面倒かとは思いますが修正 してやってください. > #それぞれをClassに定義するのはさすがにやりすぎな気がしますので > #Moduleのままで良いとは思うのですが。 GLib::UnicodeはClassのままで他はModuleにしました. |
From: Kouhei S. <ko...@co...> - 2006-12-09 11:33:34
|
須藤です. In <200...@co...> "Re: [ruby-gnome2-devel-ja] Unicode Manipulation" on Fri, 01 Dec 2006 23:45:42 +0900 (JST), Kouhei Sutou <ko...@co...> wrote: > > > GLibのUnicode Manipulationのセクションの関数(具体的には > > > g_ucs4_to_utf8())を使いたいので,ここのセクションの関数を > > > Ruby/GLib2に実装してもよいでしょうか? > > > > はい。 > > わかりました. > では,ちょこちょこ実装していきます. やりました. テストとドキュメントも更新しておきました. GLib::Unicode::*やGLib::UnicodeBreak::*などを GLib::UNICODE_*, GLib::UNICODE_BREAK_*としても定義しましたが, これらは定義しなかった方がよかったでしょうか.もしそうなら直 してしまってください. |