/
943.txt
143 lines (106 loc) · 5.56 KB
/
943.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
[1]
[[CLDR]] / [[ICU]] は[[和暦]]に対応しています。
[2]
[[Mac OS X]] / [[iOS]]、 [[Chrome]]、 [[Firefox]] など多くのソフトウェアが [[ICU]]
を組み込んでいます。
[29]
つまり広く使われているのですが、困ったことにひどく低品質です。
* 元号コード
[4]
独自の[[元号コード]]を使っています。
[SEE[ [[CLDR元号コード]] ]]
* 古代の元号
[20]
古代の初期の[[元号]]の扱いはそもそも非常に難しいです。
[SEE[ [[日本古代の日時]] ]]
[21]
[[元号]]制定前は[[天皇疑似元号]]を使って表す慣習がありますが、
それに対応していません。
[[大化]]以前はすべて[[大化]]になり、
[[大宝]]までの空白期は直前の[[元号]]の[[延長年号]]になります
[SRC[>>30, >>18]]。
;; [22] これが悪い、というわけでもありませんが、
[[西暦和暦誤認バグ]]で[[大化]]が出てくるのはこの仕様のためです。
[23]
なぜか[[白鳳]]の一種に対応しています。
これが当時実在した[[元号]]でないことは[[昭和時代]]初期くらいから定説になっているのですが、
[[平成時代]]初期頃まで一般の[[元号一覧]]に掲載されていることがありました。
[SEE[ [[日本古代の日時]], [[白鳳]] ]]
その亡霊がなぜか未だ生き残っているようです。
* 不具合
[3]
なにかと壊れています。
[6]
[[西暦和暦誤認バグ]]:
[[iOSアプリ]]で多く報告されているバグ。
不具合の原因は[[アプリ]]側と考えられますが、
ライブラリーの設計に起因する問題と思われます。
[[CLDR]] / [[ICU]] の仕様に問題があるのか、
[[Apple]] の提供するライブラリーの仕様に問題があるのかは要検討。
** 暦法の不具合
[5]
本来の[[和暦]]は明治5年までを[[旧暦]]としなければなりませんが、
[[ICU]] は[[旧暦]]に対応していません。
[17]
[[明治改暦]]以前がなぜか[[イタリア式ユリウスグレゴリオ暦]]になってしまいます。
[SRC[>>30, >>18]]
[REFS[
- [30] [CSECTION[[[toLocaleString]]]]
]REFS]
** 改元の不具合
[12]
[[日本南北朝時代の元号]]の扱いがおかしいです。
なぜか[[南朝]]と[[北朝]]が混じっています [SRC[>>30, >>14, >>18]]。
一部足りていない[[元号]]もあります。
[15]
[[明治改暦]]以前の[[改元日]]が間違っています。遅くても[TIME[平成30(2018)年][2018]]には不具合として認知されているはずです
[SRC[>>16, >>13, >>14]]
が、
放置されています。
[19]
その他[[年数]]がおかしいなど謎挙動が発生することがあります。
[SRC[>>14, >>18, >>24]]
[REFS[
-
[16]
[CITE@ja['''['''ICU-20024''']''' Start date for the Meiji era is wrong for the Japanese Calendar - [[Unicode Consortium]]]], [TIME[2022-08-23T08:44:58.000Z]] <https://unicode-org.atlassian.net/browse/ICU-20024>
-
[13]
[CITE@ja['''['''CLDR-11375''']''' Start date for the Meiji era is wrong for the Japanese Calendar - [[Unicode Consortium]]]], [TIME[2022-08-23T08:44:32.000Z]] <https://unicode-org.atlassian.net/browse/CLDR-11375>
-
[14]
[CITE@ja['''['''CLDR-11400''']''' Deprecate Japanese era data before Meiji - [[Unicode Consortium]]]], [TIME[2022-08-23T08:40:00.000Z]] <https://unicode-org.atlassian.net/browse/CLDR-11400>
-
[18] [CITE@ja[Intl.DateTimeFormat による明治以前の和暦の扱い - [[Qiita]]]], [TIME[2022-08-21T05:40:39.000Z]] <https://qiita.com/nue_of_k/items/ea3dae4a1be9ad6ac953>
-
[24]
[CITE@en[大化の改新が二回起こる件について(蘇我入鹿は二度死ぬ) · [[GitHub]]]], [TIME[2022-08-23T09:04:29.000Z]] <https://gist.github.com/tadd/cb4276e57fbf21fa4dd3bba453c4285e>
]REFS]
[HISTORY[
[27]
[[永仁]] ([TIME[y~1119]]) の[[改元日]]が
[CODE[1293-8-55]]
になっているという[[不具合]]が長年発見されずにいました。
[SRC[>>26]]
[28]
正しくは[TIME[旧暦の西暦1293年8月5日][kyuureki:1293-08-05]]。
[REFS[
-
[26]
[CITE@ja['''['''CLDR-11399''']''' Broken Japanese era data - [[Unicode Consortium]]]], [TIME[2022-08-23T09:11:57.000Z]] <https://unicode-org.atlassian.net/browse/CLDR-11399>
]REFS]
]HISTORY]
* 関連
[25]
[[CLDR]] / [[ICU]] は便利ではあるのですけど、
[WEAK[(少なくても[[日時処理]]については、)]]
[[日本]]に限らず全体的に低品質な印象があります。
[[CLDR]] / [[ICU]] はまともでもそれを使う[[アプリケーション]]側の配慮が不十分なケースもあります。
[SEE[ [[CLDR]], [[ICU]], [[toLocaleString]] ]]
* 歴史
-[10] [CITE@ja['''['''CLDR-707''']''' Add supplemental data with date ranges for calendars - Unicode Consortium]], [TIME[2022-08-23T08:13:03.000Z]] <https://unicode-org.atlassian.net/browse/CLDR-707>
-[9] [CITE@en[CLDR-707 supplemental cal data]], [[srl295]], [TIME[2007-07-24 23:53:32 +09:00]], [TIME[2022-08-23T08:12:31.000Z]] <https://github.com/unicode-org/cldr/commit/b6192c03>
[11] どこから引っ張ってきたデータなのか何も情報がない...
-[8] [CITE@ja['''['''ICU-1869''']''' Japanese Calendar eras - Unicode Consortium]], [TIME[2022-08-23T08:11:39.000Z]] <https://unicode-org.atlassian.net/browse/ICU-1869>
-[7] [CITE@ja['''['''ICU-6842''']''' ambiguous era values in japanese calendar - Unicode Consortium]], [TIME[2022-08-23T08:10:52.000Z]] <https://unicode-org.atlassian.net/browse/ICU-6842>
* メモ