このページの本文へ

前へ 1 2 次へ

Windows Info 第171回

Windows 10の令和対応パッチによる変更点を詳しく見る

2019年05月05日 10時00分更新

文● 塩田紳二 編集● ASCII編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

個別の変更点を詳しく見ていく

 まずは「1」だが、これはWin32のNLS(National Language Support)関連のAPIにおける問題点。ただし、この構造体や関連のAPIなどを使っていないアプリケーションは無関係である。構造体とは、APIなどに引き渡すデータ構造で、日時を表現したこの構造体を使って、ローカル時間などを得るために利用するが、これらはすべて廃止予定であり、かつWindows Vistaから実装されたAPIなので、あまり影響はないと思われる。ただしマイクロソフトのWindows関連のソフトウェアで使われている確率が高いと考えられる。

 また「4つ以上の日本語の元号を処理できない」とは、マイクロソフトが以前言っていた「和暦 (われき) がハードコードされたモジュール」(新元号に関するマイクロソフト製品別対応、https://www.microsoft.com/ja-jp/mscorp/newera/default.aspx)の部分だと考えられる(ほかにもあるかもだが)。この構造体では年号を数字で指定し、これをAPI側が解釈するのだが、API内部で元号はレジストリを読むのではなく、1~4の数字をそのまま明治、大正、昭和、平成と解釈するようになっていたのであろう。つまり、令和を表す5を指定しても、解釈できない作りになっていたのだと思われる。

 「2」は、本連載でも以前紹介したレジストリキー「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras」のことである。

 「3」は、アップデートをかける前にいろいろな条件で試してみたが、現象を発生させることができなかった。DateTimePickerは、XAMLコントロールの1つで、WPFやUWPで使われるGUI部品(コントロール)。カレンダーコントロールなどを使って、日時をユーザーに指定してもらうためのものだ。カレンダーコントロールの和暦対応がうまく動いていなかったのだと思われる。

 「4」は、5月1日になって元号が切り替わる瞬間の動作の問題のようだ。Windowsの標準アプリを含め、一般にアプリケーションでは、起動時に読み込んだシステムの設定状態のうち、頻繁に変わりそうもないものについては、動作中の設定値の変化を調べないことが多い。元号に関しても、数十年に一回という頻度なので、普通は起動時に設定を読めば、問題ないはず。ただその数十年に一回で問題が発生するのかもしれない。次回の改元のときに正しく動作することを期待しよう。

 「5」は、「令和」合字のフォントパターンである。ざっと、標準添付の日本語フォントで合字をだしてみたが、ちゃんと定義されているようだ。全部、代替フォントなのかとおもったら、一部はちゃんとデザインが違う。

標準の日本語フォントと令和合字の表示。よく見ると令のひとやねの部分やその下の横棒の長さ、和のくちへんなどに違いが見える

 「6」も合字関連で、MS-IMEが「れいわ」の読みで正しく合字を候補として表示するかどうか、IMEパッドの文字コード表で令和合字を表示できるといったことだ。なお、Windows付属の文字コード表でも正しく表示されていた。

MS-IMEのIMEパッドや文字コードアプリなどは正しく令和合字とコードを表示できる

 「7」も、筆者の環境では現象を確認できなかった。しかし、ここも「カレンダーコントロール」を使っているようなので、「3」と同じ原因の問題であろう。

 「8」の「代替フォント」(フォールバックフォント)とは、指定されたフォントに文字の形(グリフ)が定義されていない場合に、他のフォントファイルから持ってきて代用するグリフのことだ。Windowsのフォントファイルには、すべての文字のグリフが定義されているわけではなく、一部の文字のグリフしか含まれていない。

 たとえば、絵文字はすべてのフォントファイルに含まれているわけではないが、Windowsでは、どのフォントを指定しても、絵文字を表示させることができる。これが「代替フォント」という機能だ。今回のパッチでは、令和合字を含まないフォントファイルのために、令和合字を代替フォントとして登録したのだと思われる。

 「9」は、簡単にいうと「令和」を「れいわ」として読み上げることだ。パッチ適用前には「令和」は「よしかず」(誰かの名前?)と読み上げていた。パッチを適用するとちゃんと「れいわ」と読み上げてくれる。

 このほか、ちょっと気になったのが、令和合字のUnicode正規化処理だ。令和パッチのあと検証してみたが、令和合字は正規化できなかった。

パッチを当てても令和合字は「令和」の2文字には正規化できなかった

 .NET Frameworkには、Unicode文字を正規化する関数として文字列オブジェクトに「Normalize」というメソッドがある。マイクロソフトのドキュメントによれば、「.NETは、Unicode規格で定義されている4つの正規化形式(C、D、KC、およびKD)をサポートしています(.NET supports the four normalization forms (C, D, KC, and KD) that are defined by the Unicode standard)」と以下のページに記載がある。

●String.Normalize Method
 https://docs.microsoft.com/en-us/dotnet/api/system.string.normalize?view=netframework-4.8

 つまり、Normalizeメソッドは、Unicodeのルール通りに正規化するわけだ。しかし、今回の令和パッチでは、この動作を確認することはできなかった。以前この連載で示したように、平成合字は「平成」の2文字に正規化される。これについてはマイクロソフトのサイトに以下の記述があった。

漢字による元号のフルネームは、漢字合字による元号の名称に正規化できます。その逆も同様です。たとえば、平成の元号を表現する2文字はそれに相当する「平成合字」に変換されます。その逆も同様です。ただし、マイクロソフトは、新元号の正規化機能をサポートするための更新プログラムをリリースしません。

漢字による元号のフル ネームと漢字合字による元号の名称は、日本の文化固有の比較を示す場合でも、文字列の比較時に異なる文字列として処理されます。 これは仕様によるものであり、マイクロソフトは、日本の新元号に関するこの動作を変更しません。

●日本の元号変更に関する Windows の更新プログラムについて - KB4469068
 https://support.microsoft.com/ja-jp/help/4469068/summary-of-new-japanese-era-updates-kb4469068

 これをそのまま受け取るとすると、マイクロソフトは、令和合字を「令和」の2文字にする「正規化」をサポートしないことになる。実際の開発者に話を聞くに、そもそもNormalizeメソッドは以前から、Unicode正規化にちゃんと対応していないので信用してないとのこと。

 となると、上記の説明は「WindowsはUnicode正規化にはもう対応しないよ」という、事実上の公式宣言なのか。だったら、ドキュメントを書き換えておいてほしかった(時間を無駄にしました)。

前へ 1 2 次へ

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,413
2
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥7,313
3
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,899
4
CIO フラットスパイラルケーブル CtoC (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps 形状記憶 iPhone 17 / 16 / 15 Macbook Pro/Air/iPad用/ノートパソコン Galaxy Google Pixel Android (ライトブラック, 1.5m)
CIO フラットスパイラルケーブル CtoC (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps 形状記憶 iPhone 17 / 16 / 15 Macbook Pro/Air/iPad用/ノートパソコン Galaxy Google Pixel Android (ライトブラック, 1.5m)
¥2,290
5
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
6
Anker Zolo USB-C & USB-C ケーブル (240W, 高耐久ナイロン) 1.8m ブラック iPhone 17 / 16 / 15 Galaxy iPad Pro MacBook Pro/Air 各種対応
Anker Zolo USB-C & USB-C ケーブル (240W, 高耐久ナイロン) 1.8m ブラック iPhone 17 / 16 / 15 Galaxy iPad Pro MacBook Pro/Air 各種対応
¥1,590
7
Anker Nano Charging Station (7-in-1, 100W, 巻取り式 USB-C ケーブル) (USBタップ 電源タップ) 【PSE技術基準適合】MacBook iPad iPhone Galaxy Android ブラック
Anker Nano Charging Station (7-in-1, 100W, 巻取り式 USB-C ケーブル) (USBタップ 電源タップ) 【PSE技術基準適合】MacBook iPad iPhone Galaxy Android ブラック
¥9,990
8
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
9
Verbatim バーベイタム 1回録画用 ブルーレイディスク BD-R 25GB 50枚+3枚増量パック インクジェットプリンタ対応 ホワイト 片面1層 1-6倍速
Verbatim バーベイタム 1回録画用 ブルーレイディスク BD-R 25GB 50枚+3枚増量パック インクジェットプリンタ対応 ホワイト 片面1層 1-6倍速
¥2,480
10
ソニー ゲーミングイヤホン INZONE Buds:WF-G700N Fnatic監修/ワイヤレス / 低遅延2.4GHzワイヤレス接続 USBType-Cトランシーバー同梱/LE Audio対応/アクティブノイズキャンセリング/立体音響 / 最大約24時間バッテリー / 急速充電/マイク付き / PS5 スマホ PC Switch グラスパープル
ソニー ゲーミングイヤホン INZONE Buds:WF-G700N Fnatic監修/ワイヤレス / 低遅延2.4GHzワイヤレス接続 USBType-Cトランシーバー同梱/LE Audio対応/アクティブノイズキャンセリング/立体音響 / 最大約24時間バッテリー / 急速充電/マイク付き / PS5 スマホ PC Switch グラスパープル
¥20,800

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン