Project

General

Profile

Actions

Backport #6380

closed

正規表現検索で大文字/小文字の対応がおかしいものがある

Added by 5.5 (5 5) almost 12 years ago. Updated almost 12 years ago.

Status:
Rejected
[ruby-dev:45594]

Description

=begin
Unicode のコードチャート

  • http://www.unicode.org/charts/PDF/U0180.pdf
  • http://www.unicode.org/charts/PDF/U0250.pdf
    によれば,
  • U+0241 LATIN CAPITAL LETTER GLOTTAL STOP
  • U+0242 LATIN SMALL LETTER GLOTTAL STOP
    が大文字/小文字の関係にあり,
  • U+0294 LATIN LETTER GLOTTAL STOP
    は「caseless」です。しかし,正規表現検索で i オプションを使うと,U+0241 と U+0294 が大文字/小文字の関係にあるかのような動作になります。

a="\u{241}" # => "Ɂ"
b="\u{242}" # => "ɂ"
c="\u{294}" # => "ʔ"
str=a+b+c

puts str.gsub(/#{a}/i, "-") # => nil
puts str.gsub(/#{b}/i, "-") # => nil
puts str.gsub(/#{c}/i, "-") # => nil

>> -ɂ-

>> Ɂ-ʔ

>> -ɂ-

=end

Actions #1

Updated by mame (Yusuke Endoh) almost 12 years ago

  • Status changed from Open to Assigned
  • Assignee set to naruse (Yui NARUSE)
Actions #2

Updated by naruse (Yui NARUSE) almost 12 years ago

  • Tracker changed from Bug to Backport
  • Project changed from Ruby master to Backport193
  • Category deleted (M17N)
  • Target version deleted (1.9.3)

Updated by naruse (Yui NARUSE) almost 12 years ago

  • Status changed from Assigned to Closed

とりあえずその文字だけ消しておきました。
trunk では鬼雲経由ですでに修正済みです。

Updated by k_takata (Ken Takata) almost 12 years ago

Unicode 4.1.0では U+0241 と U+0294 が対応していたようです。
http://ftp.unicode.org/Public/4.1.0/ucd/CaseFolding.txt
その後、Unicode 5.0で、現在と同じ U+0241 と U+0242 の対応になったようです。
(このことから鬼車5.9.2はUnicode 4.1.0をベースにしているものと思われます。)

Ruby 1.9.3は、Unicodeプロパティ名はUnicode 6.0に対応していますが、大文字小文字の対応は鬼車5.9.2のままのUnicode 4.1.0ベースというところがちょっと気になるところではあります。

Updated by naruse (Yui NARUSE) almost 12 years ago

  • Status changed from Closed to Rejected

k_takata (Ken Takata) wrote:

Unicode 4.1.0では U+0241 と U+0294 が対応していたようです。
http://ftp.unicode.org/Public/4.1.0/ucd/CaseFolding.txt
その後、Unicode 5.0で、現在と同じ U+0241 と U+0242 の対応になったようです。
(このことから鬼車5.9.2はUnicode 4.1.0をベースにしているものと思われます。)

Ruby 1.9.3は、Unicodeプロパティ名はUnicode 6.0に対応していますが、大文字小文字の対応は鬼車5.9.2のままのUnicode 4.1.0ベースというところがちょっと気になるところではあります。

おぉ、なるほど。
じゃあ 1.9.3 では現状で仕様ですかね。
2.0 では k_takata さんの鬼雲のおかげで直ってますし。

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0