Project

General

Profile

Actions

Feature #12877

closed

windows-1255とUnicode間の変換テーブルがWindowsの実装と一致しない

Added by emk (Masatoshi Kimura) about 8 years ago. Updated about 8 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-dev:49850]

Description

○再現手順
ruby -e 'printf("%#x\n", 0xCA.chr("windows-1255").encode("UTF-8").ord)'

○実際の結果
-e:1:in encode': "\xCA" to UTF-8 in conversion from Windows-1255 to UTF-8 (Encoding::UndefinedConversionError) from -e:1:in '

○期待した結果
0x5ba

○補足説明
最近MicrosoftはMSDN上のコードページの参照サイト[1]を削除して、unicode.orgの"best fit"マッピングへのリンク[2]に置き換えました。このマッピングには0xCA→U+05BAが含まれています。また実際のWindowsの実装もそうなっています。

GNU libiconv[3]とWHATWG Encoding Standard[4]とGeckoの実装[5]は、すでに追随しました。Blinkも追随する予定です[6]。

[1] http://www.microsoft.com/globaldev/reference/cphome.mspx
[2] ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/
[3] http://git.savannah.gnu.org/gitweb/?p=libiconv.git;a=commitdiff;h=500b967b8f4bcb2bd656c293c5412dc611c5720b
[4] https://github.com/whatwg/encoding/commit/e32a57b886bdb7514f385da3805e606e6faed54f
[5] https://hg.mozilla.org/mozilla-central/rev/49861f351092
[6] https://github.com/whatwg/encoding/issues/73#issuecomment-255800186

Updated by nobu (Nobuyoshi Nakada) about 8 years ago

  • Tracker changed from Bug to Feature
  • Subject changed from windows-1255とUnicode間の変換テーブルがWindowsの実装と一致しない to Windowsのwindows-1255とUnicode間の変換テーブルが変更された
Actions #2

Updated by nobu (Nobuyoshi Nakada) about 8 years ago

  • Status changed from Open to Closed

Applied in changeset r56516.


Update windows-1255 table

  • enc/trans/windows-1255-tbl.rb: update mapping from 0xCA to
    U+05BA. [Feature #12877]

Updated by emk (Masatoshi Kimura) about 8 years ago

0xCA→U+05BAのマッピングは少なくともWindows 2000から存在するので、変更されたわけではないです(それ以前のOSはいつの間にかVMwareでゲストにファイルを送り込むことができなくなっていて、確認できませんでした)。

U+05BAが追加されたのはUnicode 5.0 (2006年)なのに、なぜそれよりはるか前からマッピングが存在するのかは謎ですが。

Updated by emk (Masatoshi Kimura) about 8 years ago

  • Subject changed from Windowsのwindows-1255とUnicode間の変換テーブルが変更された to windows-1255とUnicode間の変換テーブルがWindowsの実装と一致しない

その後VMにファイルを送り込むことに成功しました。IE4がインストールされていないWindows NT 4.0でも、windows-1255のマッピングテーブルはWindows 10と同じでした。というわけで題名を戻します。

東アジア言語版のWin9xはRTL言語をサポートしていないため[1]、Win9xについては結局確認できませんでした。

[1] https://msdn.microsoft.com/ja-jp/library/cc389892.aspx

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0