- Timestamp:
- 03/14/09 17:12:51 (4 years ago)
- Location:
- lang/ruby/aqtk-ruby/trunk/aqtk
- Files:
-
- 2 removed
- 2 modified
-
AqLicense.txt (deleted)
-
bin (deleted)
-
ext/kakasi.c (modified) (4 diffs)
-
lib/i386-mswin32/aqtk.so (modified) (previous)
Legend:
- Unmodified
- Added
- Removed
-
lang/ruby/aqtk-ruby/trunk/aqtk/ext/kakasi.c
r31181 r31184 172 172 } 173 173 174 static VALUE rb_aqtk_kakasi_wakati(VALUE self, VALUE v_str) { 175 VALUE v_retval; 176 char *kakasi_argv[] = { "kakasi", "-w" }; 177 char *retval; 178 VALUE eval_argv[] = { rb_str_new2("gsub(/��\b/s, '��.gsub(' ', '')") }; 179 180 Check_Type(v_str, T_STRING); 181 182 if (kakasi_getopt_argv(2, kakasi_argv) != 0) { 183 kakasi_close_kanwadict(); 184 rb_raise(rb_eAquesTalk_Kakasi_Error, "Init kakasi failed"); 185 } 186 187 retval = kakasi_do(RSTRING_PTR(v_str)); 188 v_retval = rb_str_buf_new2(retval); 189 190 if (*retval) { 191 kakasi_free(retval); 192 } 193 194 kakasi_close_kanwadict(); 195 v_retval = rb_obj_instance_eval(1, eval_argv, v_retval); 196 197 return v_retval; 198 } 199 174 200 static VALUE rb_aqtk_kakasi_kakasi(VALUE self, VALUE v_str) { 175 201 VALUE v_opt, v_retval; … … 258 284 259 285 static VALUE rb_aqtk_kakasi_convert_number(VALUE self, VALUE v_str) { 260 VALUE eval_argv[] = { rb_str_new2("gsub(/\\d+/ ) {|m| \"<NUM VAL=#{m}>\" }") };286 VALUE eval_argv[] = { rb_str_new2("gsub(/\\d+/s) {|m| \"<NUM VAL=#{m}>\" }") }; 261 287 return rb_obj_instance_eval(1, eval_argv, v_str); 262 288 } … … 264 290 static VALUE rb_aqtk_kakasi_filter(VALUE self, VALUE v_str) { 265 291 v_str = rb_funcall(self, rb_intern("convert_charcode"), 1, v_str); 292 v_str = rb_funcall(self, rb_intern("wakati"), 1, v_str); 266 293 v_str = rb_funcall(self, rb_intern("kakasi"), 1, v_str); 267 294 v_str = rb_funcall(self, rb_intern("normalize"), 1, v_str); … … 277 304 rb_define_method(rb_cAquesTalk_Kakasi, "initialize", rb_aqtk_kakasi_initialize, -1); 278 305 rb_define_private_method(rb_cAquesTalk_Kakasi, "convert_charcode", rb_aqtk_kakasi_convert_charcode, 1); 306 rb_define_private_method(rb_cAquesTalk_Kakasi, "wakati", rb_aqtk_kakasi_wakati, 1); 279 307 rb_define_private_method(rb_cAquesTalk_Kakasi, "kakasi", rb_aqtk_kakasi_kakasi, 1); 280 308 rb_define_private_method(rb_cAquesTalk_Kakasi, "normalize", rb_aqtk_kakasi_normalize, 1);
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)