[#40528] [Feature #2833] 絵文字エンコーディングの提案 — Kenta Murata <redmine@...>

Feature #2833: 絵文字エンコーディングの提案

32 messages 2010/03/02
[#40530] Re: [Feature #2833] 絵文字エンコーディングの提案 — Yukihiro Matsumoto <matz@...> 2010/03/02

まつもと ゆきひろです

[#40597] Re: [ruby-list:46898] 重複組合せは組込みにならないのでしょうか? — "KISHIMOTO, Makoto" <[email protected]>

きしもとです

17 messages 2010/03/12
[#40598] Re: [ruby-list:46898] 重複組合せは組込みにならないのでしょうか? — Yukihiro Matsumoto <matz@...> 2010/03/12

まつもと ゆきひろです

[#40601] Re: [ruby-list:46898] 重複組合せは組込みにならないのでしょうか? — Yusuke ENDOH <mame@...> 2010/03/12

遠藤です。

[#40608] Re: 組込みの重複順列・重複組合せ — "KISHIMOTO, Makoto" <[email protected]> 2010/03/13

> 同様に、repeated_permutation/combination のデフォルト引数にも反対

[#40610] Re: 組込みの重複順列・重複組合せ — Yukihiro Matsumoto <matz@...> 2010/03/13

まつもと ゆきひろです

[#40641] [Bug #2965] method `===' called on hidden T_STRING object (NotImplementedError) — Kenta Murata <redmine@...>

Bug #2965: method `===' called on hidden T_STRING object (NotImplementedError)

12 messages 2010/03/15

[#40649] [Feature #2968] 数値の正負を返すメソッド — Yui NARUSE <redmine@...>

Feature #2968: 数値の正負を返すメソッド

17 messages 2010/03/15

[#40650] [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — Yui NARUSE <redmine@...>

Feature #2969: String#to_f が -h.hhh±pd を解釈できるように

38 messages 2010/03/15
[#40728] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — Tadayoshi Funaba <tadf@...> 2010/03/22

質問ですが、この形式は入力だけでなく、なんらかの方法で出力でも利用でき

[#40732] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — "NARUSE, Yui" <naruse@...> 2010/03/22

成瀬です。

[#40736] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — Tadayoshi Funaba <tadf@...> 2010/03/23

> String#to_f は従来から指数表記を許していたので、

[#40738] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — "NARUSE, Yui" <naruse@...> 2010/03/23

成瀬です。

[#40745] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — Tadayoshi Funaba <tadf@...> 2010/03/24

> to_i がデフォルトで prefix を見ないのは、0377 のような、

[#40747] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — "NARUSE, Yui" <naruse@...> 2010/03/24

成瀬です。

[#40749] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — Tadayoshi Funaba <tadf@...> 2010/03/24

> 先のパッチの対象関数が ruby_strtod である通り、

[#40759] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — "NARUSE, Yui" <naruse@...> 2010/03/25

成瀬です。

[#40762] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — Tadayoshi Funaba <tadf@...> 2010/03/25

> strtod(3) の解釈対象に含まれていない 2 進や 8 進を否定することが、

[#40763] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — "NARUSE, Yui" <naruse@...> 2010/03/25

(2010/03/26 3:05), Tadayoshi Funaba wrote:

[#40764] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — Tadayoshi Funaba <tadf@...> 2010/03/25

> なぜ同じなのでしょう。

[#40782] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — "NARUSE, Yui" <naruse@...> 2010/03/26

(2010/03/26 4:02), Tadayoshi Funaba wrote:

[#40786] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — KOSAKI Motohiro <kosaki.motohiro@...> 2010/03/27

>> strtod(3) を参考にしたり、影響されたりすることは普通にあるとは思います

[#40788] Re: [Feature #2969] String#to_f が -h.hhh±pd を解釈できるように — "NARUSE, Yui" <naruse@...> 2010/03/27

(2010/03/27 18:19), KOSAKI Motohiro wrote:

[#40695] keiju, please check tickets assigned to you — Yusuke ENDOH <mame@...>

いしつかさん

15 messages 2010/03/18

[#40779] [Feature #3018] UNINITIALIZED_VAR() マクロの導入 — Motohiro KOSAKI <redmine@...>

Feature #3018: UNINITIALIZED_VAR() マクロの導入

12 messages 2010/03/26

[#40805] Improvement of Fiber switching cost with system dependent way — SASADA Koichi <ko1@...>

 ささだです.

10 messages 2010/03/28

[ruby-dev:40533] Re: [Feature #2833] 絵文字エンコーディングの提案

From: Kenta Murata <muraken@...>
Date: 2010-03-02 17:23:06 UTC
List: ruby-dev #40533
=1B$B$`$i$?$G$9!#=1B(B

On 2010/03/02, at 23:12, Yukihiro Matsumoto wrote:

> |=1B$B3(J8;z$KBP1~$7$?%(%s%3!<%G%#%s%0$r<BAu$7$^$7$?!#=1B(B
> |=1B$B$3$l$i$r=1B(B 1.9.2 =1B$B$N%j%j!<%9A0$K=1B(B trunk =
=1B$B$K%^!<%8$9$k$3$H$rDs0F$7$^$9!#=1B(B
> |redmine =1B$B$N%A%1%C%H$K%Q%C%A$rE:IU$7$^$7$?!#=1B(B
> |
> |=1B$B$3$N%Q%C%A$O0J2<$N%(%s%3!<%G%#%s%0$r<BAu$7$F$$$^$9!#=1B(B
>=20
> =1B$B%(%s%3!<%G%#%s%0$rDI2C$9$k$3$H$KH?BP$7$^$;$s!#=1B(B

=1B$B$"$j$,$H$&$4$6$$$^$9!#=1B(B

> |=1B$B$=3D$7$F!"$3$l$i$N%(%s%3!<%G%#%s%04V$K$*$1$k=1B(B fallback =
=1B$B$J$7$N=1B(B
> |=1B$BAj8_JQ49$r9T$&$?$a$N=1B(B transcoder =1B$B$b<BAu$7$F$$$^$9!#=1B(B
> |
> |fallback =
=1B$B$H$O!"JQ49@h%(%s%3!<%G%#%s%0$KBP1~3(J8;z$,B8:_$7$J$$>l9g$K!"=1B(B
> |=1B$B$?$H$($P=1B(B "[=1B$B0pJf=1B(B]" =
=1B$B$N$h$&$J%F%-%9%H$XJQ49$9$k=3DhM}$r$$$$$^$9!#=1B(B
> |=1B$B<BMQ>e=1B(B fallback =
=1B$B=3DhM}$r%+%9%?%^%$%:2DG=3D$J5!9=3D$,I,MW$G$O$"$j$^$9$,!"=1B(B
> |=1B$B8=3D:_$N9=3D@.$G$b=1B(B Encoding::Converter#primitive_convert =
=1B$B$rMQ$$$FBP1~2DG=3D$G$9!#=1B(B
>=20
> =
=1B$B$3$N=1B(Bfallback=1B$B$"$j=1B(B/=1B$B$J$7$NJQ49$K$D$$$F$b$&>/$72r@b$7=
$F$$$?$@$1=1B(B
> =1B$B$^$;$s$+!)=1B(B

=1B$B8=3D:_$N<BAu$G$O!"Nc$($P=1B(B DoCoMo =
=1B$BMQ%(%s%3!<%G%#%s%0$N$_$GDj5A$5$l$F$$$k=1B(B
=1B$B3(J8;z$r4^$`J8;zNs$r=1B(B KDDI =
=1B$BMQ%(%s%3!<%G%#%s%0$XJQ49$7$h$&$H$9$k$H!"=1B(B
KDDI =1B$BMQ%(%s%3!<%G%#%s%0$GL$Dj5A$NJ8;z$G=1B(B =
Encoding::UndefinedConversionError
=1B$B$,H/@8$9$k$h$&$K$7$F$$$^$9!#=1B(B
=1B$B$3$l$,!"=1B(Bfallback =1B$B$J$7$NJQ49$G$9!#=1B(B

fallback =1B$B$"$j$N>l9g$O!"Nc$($P=1B(B DoCoMo =
=1B$B$@$1$GDj5A$5$l$F$$$k=1B(B "\u{E6AD}" (=1B$B$U$/$m$N3(J8;z=1B(B)
=1B$B$r=1B(B KDDI =1B$B$d=1B(B SoftBank =
=1B$BMQ$N%(%s%3!<%G%#%s%0$XJQ49$9$k$H$-$K!"=1B(B
=1B$BBe$o$j$N3(J8;z$GBeBX$5$;$?$j=1B(B "[=1B$B$U$/$m=1B(B]" =
=1B$B$N$h$&$J%F%-%9%H$GCV$-49$($?$j$7$^$9!#=1B(B

=1B$B$3$NCV49K!B'$O=1B(B emoji4unicode [email protected]*$G$"$k=1B(B
http://www.unicode.org/~scherer/emoji4unicode/snapshot/full.html
=1B$B$3$NI=3D$GDj5A$5$l$F$$$k$b$N$,0lHLE*$J$s$@$H;W$C$F$$$^$9!#=1B(B
=1B$B$3$l$,0lHLE*$G$"$k$H$$$&9M$($O;d$N?dB,$J$N$G!"=1B(B
=
=1B$B<B:]$N$H$3$m$O7HBS%"%W%j%1!<%7%g%s$N3+H/7P83$r$*;}$A$NJ}!9$K;G$$$?$$$=
G$9!#=1B(B

=1B$B0J2<$N$h$&$J=1B(B fallback =
=1B$B$D$-$N%3%s%P!<%?$rI8=3D`$GDs6!$7$F$*$1$P!"=1B(B
=1B$B8D!9$N%K!<%:$K$D$$$F$O=1B(B fallback =1B$BJQ49I=3D$r=1B(B gem =
=1B$B$GG[I[$7$F$b$i$&$@$1=1B(B
=1B$B:Q$`$+$b$7$l$^$;$s!#=1B(B

# lib/encoding/fallbacking_converter.rb
class Encoding
  class FallbackingConverter < Converter
    def initialize(senc, denc, ftab, *opts)
      super(senc, denc, *opts)
      unless ftab.respond_to? :[]
        raise TypeError, "fallback table should have [] method"
      end
      @fallback_table =3D ftab
    end

    def fallbacking_convert(src)
      senc =3D self.source_encoding
      dst =3D ''
      while true
        case self.primitive_convert(src, dst)
        when :invalid_byte_sequence
          raise InvalidByteSequenceError
        when :undefined_conversion
          undef_char =3D self.primitive_errinfo[3].force_encoding(senc)
          if fallback =3D @fallback_table[undef_char]
            self.insert_output(fallback)
          else
            raise UndefinedConversionError
          end
        else
          break
        end
      end
      return dst
    end
  end
end

# =1B$B;HMQNc$H$7$F$N%F%9%H%1!<%9=1B(B
class TestFallback < Test::Unit::TestCase
  def setup
    @utf8_docomo =3D utf8_docomo("\u{E6AD}")
    @utf8_fallbacked_kddi =3D utf8_kddi("[\u{3075}\u{304f}\u{308d}]") # =
[=1B$B$U$/$m=1B(B]
    @converter =3D Encoding::FallbackingConverter.new(
      "UTF8-DoCoMo", "UTF8-KDDI",
      @utf8_docomo =3D> @utf8_fallbacked_kddi
    )
  end

  def test_fallbacking_convert_for_non_emoji
    assert_equal utf8_kddi("\u{3075}"), =
@converter.fallbacking_convert(utf8_docomo("\u{3075}"))
  end

  def test_fallbacking_convert_for_emoji
    assert_equal @utf8_fallbacked_kddi, =
@converter.fallbacking_convert(@utf8_docomo)
  end
end

--
Kenta Murata
OpenPGP FP =3D FA26 35D7 4F98 3498 0810 E0D5 F213 966F E9EB 0BCC

=1B$BK\$r=3Dq$-$^$7$?=1B(B!!
=1B$B!X=1B(BRuby =1B$B5U0z$-%l%7%T!Y=1B(B =
http://www.amazon.co.jp/dp/4798119881/mrkn-22

E-mail: [email protected]
twitter: http://twitter.com/mrkn/
blog: http://d.hatena.ne.jp/mrkn/


In This Thread