when_exe 0.3.5 → 0.3.6
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/irb.rc +1 -0
- data/bin/locales.rb +8 -6
- data/bin/when.rb +1 -1
- data/lib/when_exe.rb +231 -146
- data/lib/when_exe/basictypes.rb +108 -18
- data/lib/when_exe/calendarnote.rb +263 -116
- data/lib/when_exe/calendartypes.rb +413 -22
- data/lib/when_exe/coordinates.rb +58 -36
- data/lib/when_exe/core/compatibility.rb +8 -6
- data/lib/when_exe/core/extension.rb +40 -15
- data/lib/when_exe/ephemeris.rb +20 -19
- data/lib/when_exe/{region → ephemeris}/moon.rb +4 -4
- data/lib/when_exe/{region/ephemeric_notes.rb → ephemeris/notes.rb} +25 -6
- data/lib/when_exe/{region → ephemeris}/planets.rb +0 -0
- data/lib/when_exe/{region → ephemeris}/sun.rb +7 -3
- data/lib/when_exe/{region → ephemeris}/v50.rb +0 -0
- data/lib/when_exe/googlecalendar.rb +2 -2
- data/lib/when_exe/icalendar.rb +3 -3
- data/lib/when_exe/inspect.rb +130 -70
- data/lib/when_exe/locales/af.rb +2 -2
- data/lib/when_exe/locales/akt.rb +176 -0
- data/lib/when_exe/locales/ar.rb +2 -2
- data/lib/when_exe/locales/{locales.rb → autoload.rb} +6 -2
- data/lib/when_exe/locales/az.rb +2 -2
- data/lib/when_exe/locales/bg.rb +2 -2
- data/lib/when_exe/locales/bn.rb +2 -2
- data/lib/when_exe/locales/bs.rb +2 -2
- data/lib/when_exe/locales/ca.rb +2 -2
- data/lib/when_exe/locales/cs.rb +2 -2
- data/lib/when_exe/locales/cy.rb +2 -2
- data/lib/when_exe/locales/da.rb +2 -2
- data/lib/when_exe/locales/de.rb +2 -2
- data/lib/when_exe/locales/de_AT.rb +2 -2
- data/lib/when_exe/locales/de_CH.rb +2 -2
- data/lib/when_exe/locales/el.rb +2 -2
- data/lib/when_exe/locales/en.rb +2 -2
- data/lib/when_exe/locales/en_AU.rb +2 -2
- data/lib/when_exe/locales/en_CA.rb +2 -2
- data/lib/when_exe/locales/en_GB.rb +2 -2
- data/lib/when_exe/locales/en_IE.rb +2 -2
- data/lib/when_exe/locales/en_IN.rb +3 -3
- data/lib/when_exe/locales/en_NZ.rb +2 -2
- data/lib/when_exe/locales/en_US.rb +2 -2
- data/lib/when_exe/locales/en_ZA.rb +88 -0
- data/lib/when_exe/locales/encoding_conversion.rb +126 -0
- data/lib/when_exe/locales/eo.rb +2 -2
- data/lib/when_exe/locales/es.rb +2 -2
- data/lib/when_exe/locales/es_419.rb +2 -2
- data/lib/when_exe/locales/es_AR.rb +2 -2
- data/lib/when_exe/locales/es_CL.rb +2 -2
- data/lib/when_exe/locales/es_CO.rb +2 -2
- data/lib/when_exe/locales/es_CR.rb +2 -2
- data/lib/when_exe/locales/es_EC.rb +2 -2
- data/lib/when_exe/locales/es_MX.rb +2 -2
- data/lib/when_exe/locales/es_PA.rb +2 -2
- data/lib/when_exe/locales/es_PE.rb +2 -2
- data/lib/when_exe/locales/es_US.rb +84 -0
- data/lib/when_exe/locales/es_VE.rb +2 -2
- data/lib/when_exe/locales/et.rb +2 -2
- data/lib/when_exe/locales/eu.rb +2 -2
- data/lib/when_exe/locales/fa.rb +2 -2
- data/lib/when_exe/locales/fi.rb +3 -3
- data/lib/when_exe/locales/fr.rb +2 -2
- data/lib/when_exe/locales/fr_CA.rb +2 -2
- data/lib/when_exe/locales/fr_CH.rb +2 -2
- data/lib/when_exe/locales/gl.rb +2 -2
- data/lib/when_exe/locales/he.rb +3 -3
- data/lib/when_exe/locales/hi.rb +2 -2
- data/lib/when_exe/locales/hi_IN.rb +2 -2
- data/lib/when_exe/locales/hr.rb +2 -2
- data/lib/when_exe/locales/hu.rb +6 -5
- data/lib/when_exe/locales/iast.rb +90 -0
- data/lib/when_exe/locales/id.rb +2 -2
- data/lib/when_exe/locales/is.rb +2 -2
- data/lib/when_exe/locales/it.rb +2 -2
- data/lib/when_exe/locales/it_CH.rb +2 -2
- data/lib/when_exe/locales/ja.rb +2 -2
- data/lib/when_exe/locales/kn.rb +2 -2
- data/lib/when_exe/locales/ko.rb +2 -2
- data/lib/when_exe/locales/links.rb +3 -3
- data/lib/when_exe/locales/lo.rb +2 -2
- data/lib/when_exe/{parts → locales}/locale.rb +77 -49
- data/lib/when_exe/locales/lt.rb +6 -2
- data/lib/when_exe/locales/lv.rb +2 -2
- data/lib/when_exe/locales/mk.rb +2 -2
- data/lib/when_exe/locales/mn.rb +2 -2
- data/lib/when_exe/locales/ms.rb +2 -2
- data/lib/when_exe/locales/nb.rb +2 -2
- data/lib/when_exe/locales/ne.rb +2 -2
- data/lib/when_exe/locales/nl.rb +2 -2
- data/lib/when_exe/locales/nn.rb +2 -2
- data/lib/when_exe/locales/or.rb +2 -2
- data/lib/when_exe/locales/pl.rb +2 -2
- data/lib/when_exe/locales/pt.rb +2 -2
- data/lib/when_exe/locales/pt_BR.rb +2 -2
- data/lib/when_exe/locales/rm.rb +2 -2
- data/lib/when_exe/locales/ro.rb +2 -2
- data/lib/when_exe/locales/ru.rb +2 -2
- data/lib/when_exe/locales/sk.rb +2 -2
- data/lib/when_exe/locales/sl.rb +2 -2
- data/lib/when_exe/locales/sr.rb +2 -2
- data/lib/when_exe/locales/sv.rb +2 -2
- data/lib/when_exe/locales/sw.rb +2 -2
- data/lib/when_exe/locales/ta.rb +95 -0
- data/lib/when_exe/locales/th.rb +2 -2
- data/lib/when_exe/locales/tl.rb +3 -3
- data/lib/when_exe/locales/tr.rb +2 -2
- data/lib/when_exe/locales/transliteration_table.rb +62 -0
- data/lib/when_exe/locales/uk.rb +15 -15
- data/lib/when_exe/locales/ur.rb +2 -2
- data/lib/when_exe/locales/uz.rb +2 -2
- data/lib/when_exe/locales/vi.rb +2 -2
- data/lib/when_exe/locales/wo.rb +2 -2
- data/lib/when_exe/locales/zh_CN.rb +2 -2
- data/lib/when_exe/locales/zh_HK.rb +15 -15
- data/lib/when_exe/locales/zh_TW.rb +2 -2
- data/lib/when_exe/locales/zh_YUE.rb +77 -0
- data/lib/when_exe/mini_application.rb +22 -12
- data/lib/when_exe/parts/geometric_complex.rb +16 -1
- data/lib/when_exe/parts/method_cash.rb +184 -238
- data/lib/when_exe/parts/resource.rb +65 -16
- data/lib/when_exe/region/armenian.rb +56 -0
- data/lib/when_exe/region/bahai.rb +13 -13
- data/lib/when_exe/region/balinese.rb +33 -35
- data/lib/when_exe/region/chinese.rb +82 -78
- data/lib/when_exe/region/{chinese_calendar.rb → chinese/calendars.rb} +59 -40
- data/lib/when_exe/region/{chinese_epoch.rb → chinese/epochs.rb} +3 -4
- data/lib/when_exe/region/{chinese_twin.rb → chinese/twins.rb} +48 -51
- data/lib/when_exe/region/christian.rb +236 -127
- data/lib/when_exe/region/coptic.rb +9 -10
- data/lib/when_exe/region/dee.rb +48 -0
- data/lib/when_exe/region/discordian.rb +225 -0
- data/lib/when_exe/region/far_east.rb +2 -6
- data/lib/when_exe/region/french.rb +7 -17
- data/lib/when_exe/region/geologicalage.rb +0 -1
- data/lib/when_exe/region/goddess.rb +58 -0
- data/lib/when_exe/region/indian.rb +323 -231
- data/lib/when_exe/region/iranian.rb +159 -22
- data/lib/when_exe/region/islamic.rb +7 -9
- data/lib/when_exe/region/japanese.rb +14 -803
- data/lib/when_exe/region/japanese/calendars.rb +397 -0
- data/lib/when_exe/region/japanese/epochs.rb +426 -0
- data/lib/when_exe/region/{nihon_shoki.rb → japanese/nihon_shoki.rb} +0 -2
- data/lib/when_exe/region/{japanese_notes.rb → japanese/notes.rb} +179 -150
- data/lib/when_exe/region/japanese/residues.rb +1306 -0
- data/lib/when_exe/region/{japanese_twin.rb → japanese/twins.rb} +12 -15
- data/lib/when_exe/region/javanese.rb +16 -14
- data/lib/when_exe/region/jewish.rb +8 -9
- data/lib/when_exe/region/korean.rb +146 -35
- data/lib/when_exe/region/m17n.rb +8 -10
- data/lib/when_exe/region/martian.rb +44 -16
- data/lib/when_exe/region/mayan.rb +12 -10
- data/lib/when_exe/region/pope.rb +0 -1
- data/lib/when_exe/region/residue.rb +4 -5
- data/lib/when_exe/region/roman.rb +20 -24
- data/lib/when_exe/region/ryukyu.rb +3 -4
- data/lib/when_exe/region/shire.rb +97 -94
- data/lib/when_exe/region/symmetry.rb +50 -0
- data/lib/when_exe/region/thai.rb +164 -56
- data/lib/when_exe/region/tibetan.rb +86 -86
- data/lib/when_exe/region/vietnamese.rb +9 -12
- data/lib/when_exe/region/weekdate.rb +80 -0
- data/lib/when_exe/region/world.rb +65 -70
- data/lib/when_exe/region/yerm.rb +98 -0
- data/lib/when_exe/region/zoroastrian.rb +203 -0
- data/lib/when_exe/timestandard.rb +4 -4
- data/lib/when_exe/tmobjects.rb +1 -3
- data/lib/when_exe/tmposition.rb +13 -12
- data/lib/when_exe/tmreference.rb +11 -10
- data/lib/when_exe/version.rb +1 -1
- data/link_to_online_documents +3 -3
- data/test/examples/Residue.m17n +1 -1
- data/test/examples/Terms.m17n +1 -1
- data/test/test.rb +2 -1
- data/test/test/basictypes.rb +18 -2
- data/test/test/calendarnote.rb +1 -1
- data/test/test/calendartypes.rb +1 -1
- data/test/test/coordinates.rb +7 -7
- data/test/test/{region → ephemeris}/moon.rb +0 -0
- data/test/test/{region → ephemeris}/planets.rb +0 -0
- data/test/test/{region → ephemeris}/sun.rb +0 -0
- data/test/test/parts.rb +8 -13
- data/test/test/region/christian.rb +245 -0
- data/test/test/region/french.rb +16 -16
- data/test/test/region/iran.rb +34 -34
- data/test/test/region/japanese.rb +6 -4
- data/test/test/region/m17n.rb +8 -7
- data/test/test/region/mayan.rb +12 -12
- data/test/test/region/residue.rb +20 -4
- data/test/test/region/thai.rb +25 -3
- data/test/test/region/yerm.rb +146 -0
- metadata +39 -20
- data/lib/when_exe/region/japanese_residues.rb +0 -1212
- data/test/test/region/civil.rb +0 -124
@@ -11,7 +11,6 @@ class When::TM::CalendarEra
|
|
11
11
|
# 皇紀
|
12
12
|
#
|
13
13
|
NihonKoki = [self, [
|
14
|
-
"namespace:[ja=http://ja.wikipedia.org/wiki/, en=http://en.wikipedia.org/wiki/]",
|
15
14
|
"locale:[=ja:, en=en:, alias]",
|
16
15
|
"area:[日本]",
|
17
16
|
["[皇紀]1", "@A", "-659-01-01^JapaneseTwin::平朔儀鳳暦"],
|
@@ -24,7 +23,6 @@ class When::TM::CalendarEra
|
|
24
23
|
# 日本書紀暦日
|
25
24
|
#
|
26
25
|
NihonShoki = [self, [
|
27
|
-
"namespace:[ja=http://ja.wikipedia.org/wiki/, en=http://en.wikipedia.org/wiki/]",
|
28
26
|
"locale:[=ja:, en=en:, alias]",
|
29
27
|
"period:[(日本書紀)=ja:%%<日本書紀>, (Nihon_Shoki)=en:Nihon_Shoki]",
|
30
28
|
["[神武]1", "@A", "name=[神武];-659-01-01^JapaneseTwin::平朔儀鳳暦"],
|
@@ -5,15 +5,15 @@
|
|
5
5
|
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
6
6
|
=end
|
7
7
|
|
8
|
-
require 'when_exe/
|
9
|
-
require 'when_exe/region/
|
8
|
+
require 'when_exe/ephemeris/notes'
|
9
|
+
require 'when_exe/region/japanese/residues'
|
10
10
|
|
11
11
|
class When::CalendarNote
|
12
12
|
|
13
13
|
#
|
14
14
|
# 日本暦注
|
15
15
|
#
|
16
|
-
class
|
16
|
+
class Japanese < self
|
17
17
|
|
18
18
|
#
|
19
19
|
# 日本暦注が使用する暦法
|
@@ -36,8 +36,7 @@ class When::CalendarNote
|
|
36
36
|
#
|
37
37
|
# 日本暦注の要素
|
38
38
|
#
|
39
|
-
|
40
|
-
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
39
|
+
Notes = [When::BasicTypes::M17n, [
|
41
40
|
"locale:[=ja:, en=en:]",
|
42
41
|
"names:[日本暦注]",
|
43
42
|
|
@@ -137,139 +136,141 @@ class When::CalendarNote
|
|
137
136
|
[Note, 0xF800, "label:[初午]", 'position:雑節'], # 14: 支 節月 or 暦月
|
138
137
|
[Note, 0xF800, "label:[八十八夜]", 'position:雑節'], # 15: 立春からの日数
|
139
138
|
[Note, 0xF800, "label:[入梅]", 'position:雑節'], # 16: 干 太陽黄経
|
140
|
-
[Note, 0xF800, "label:[
|
141
|
-
[Note, 0xF800, "label:[
|
139
|
+
[Note, 0xF800, "label:[半夏生]", 'position:雑節'], # 17: 干 太陽黄経
|
140
|
+
[Note, 0xF800, "label:[二百十日]", 'position:雑節'], # 18: 立春からの日数
|
141
|
+
[Note, 0xF800, "label:[二百廿日]", 'position:雑節'], # 19: 立春からの日数
|
142
142
|
|
143
143
|
[Note, 0x3FFC, "label:[大禍=ja:%%<暦注下段>#%.<大禍日>]",
|
144
|
-
'position:上段 上段 欄外 欄外', 'suffix:日'], # 19: 支 節月
|
145
|
-
[Note, 0x3FFC, "label:[滅門=ja:%%<暦注下段>#%.<滅門日>]",
|
146
144
|
'position:上段 上段 欄外 欄外', 'suffix:日'], # 20: 支 節月
|
147
|
-
[Note, 0x3FFC, "label:[
|
145
|
+
[Note, 0x3FFC, "label:[滅門=ja:%%<暦注下段>#%.<滅門日>]",
|
148
146
|
'position:上段 上段 欄外 欄外', 'suffix:日'], # 21: 支 節月
|
147
|
+
[Note, 0x3FFC, "label:[狼藉=ja:%%<暦注下段>#%.<狼藉日>]",
|
148
|
+
'position:上段 上段 欄外 欄外', 'suffix:日'], # 22: 支 節月
|
149
149
|
|
150
|
-
[Note, 0x07F8, "label:[甘露=]", 'position:上段 上段 上段 上段', 'suffix:日'], #
|
151
|
-
[Note, 0x07F8, "label:[金剛峯=]", 'position:上段 上段 上段 上段'], #
|
152
|
-
[Note, 0x07F8, "label:[羅刹=]", 'position:上段 上段 上段 上段'], #
|
150
|
+
[Note, 0x07F8, "label:[甘露=]", 'position:上段 上段 上段 上段', 'suffix:日'], # 23: 七曜 廿七宿
|
151
|
+
[Note, 0x07F8, "label:[金剛峯=]", 'position:上段 上段 上段 上段'], # 24: 七曜 廿七宿
|
152
|
+
[Note, 0x07F8, "label:[羅刹=]", 'position:上段 上段 上段 上段'], # 25: 七曜 廿七宿
|
153
153
|
|
154
154
|
[Note, 0x3FFC, "label:[大將軍=ja:%%<大将軍_(方位神)>]",
|
155
|
-
'position:上段 上段 上段 上段', 'suffix:-'], #
|
155
|
+
'position:上段 上段 上段 上段', 'suffix:-'], # 26: 干支 節年
|
156
156
|
[Note, 0xFFFC, "label:[天一=ja:%%<天一神>]",
|
157
|
-
'position:上段 上段 上段 上段', 'suffix:-'], # 26: 干支
|
158
|
-
[Note, 0x3FFC, "label:[土公=ja:%%<土公神>]",
|
159
157
|
'position:上段 上段 上段 上段', 'suffix:-'], # 27: 干支
|
158
|
+
[Note, 0x3FFC, "label:[土公=ja:%%<土公神>]",
|
159
|
+
'position:上段 上段 上段 上段', 'suffix:-'], # 28: 干支
|
160
160
|
[Note, 0x3FFC, "label:[歳下食=ja:%%<暦注下段>#%.<歳下食>]",
|
161
|
-
'position:上段 上段 上段 上段'], #
|
162
|
-
[Note, 0x3FFC, "label:[忌遠行=]", 'position:上段 上段 上段 上段'], #
|
163
|
-
[Note, 0x3FFC, "label:[忌夜行=]", 'position:上段 上段 上段 上段'], #
|
161
|
+
'position:上段 上段 上段 上段'], # 29: 干支 節年
|
162
|
+
[Note, 0x3FFC, "label:[忌遠行=]", 'position:上段 上段 上段 上段'], # 30: 支 節月
|
163
|
+
[Note, 0x3FFC, "label:[忌夜行=]", 'position:上段 上段 上段 上段'], # 31: 支 節月
|
164
164
|
[Note, 0x3FFC, "label:[下食時=ja:%%<暦注下段>#%.<時下食>]",
|
165
|
-
'position:上段 上段 上段 上段', 'suffix:-'], #
|
166
|
-
[Note, 0x3FFC, "label:[天間=]", 'position:上段 上段 上段 中段上'], #
|
167
|
-
[Note, 0x3FFC, "label:[不視病=]", 'position:上段 上段 上段 上段'], #
|
168
|
-
[Note, 0x3FFC, "label:[不問疾=]", 'position:上段 上段 上段 上段'], #
|
169
|
-
[Note, 0x3FFC, "label:[不弔人=]", 'position:上段 上段 上段 上段'], #
|
170
|
-
[Note, 0xFFFC, "label:[彼岸]", 'position:仮名暦'], #
|
165
|
+
'position:上段 上段 上段 上段', 'suffix:-'], # 32: 支 節月 貞享暦で一部廃止
|
166
|
+
[Note, 0x3FFC, "label:[天間=]", 'position:上段 上段 上段 中段上'], # 33: 干支 節月
|
167
|
+
[Note, 0x3FFC, "label:[不視病=]", 'position:上段 上段 上段 上段'], # 34: 干
|
168
|
+
[Note, 0x3FFC, "label:[不問疾=]", 'position:上段 上段 上段 上段'], # 35: 干
|
169
|
+
[Note, 0x3FFC, "label:[不弔人=]", 'position:上段 上段 上段 上段'], # 36: 支
|
170
|
+
[Note, 0xFFFC, "label:[彼岸]", 'position:仮名暦'], # 37: 太陽黄経
|
171
171
|
[Note, 0xFFFF, "label:[社=ja:%%<社日>]",
|
172
|
-
'position:中段 中段 中段 中段', 'suffix:日'], #
|
173
|
-
[Note, 0xFFFF, "label:[三伏]", 'position:中段 中段 中段 中段'], #
|
174
|
-
[Note, 0x3FFC, "label:[除手足甲=]", 'position:中段 中段 中段 中段'], #
|
175
|
-
[Note, 0x3FFC, "label:[沐浴=]", 'position:中段 中段 中段 中段'], #
|
172
|
+
'position:中段 中段 中段 中段', 'suffix:日'], # 38: 干 太陽黄経
|
173
|
+
[Note, 0xFFFF, "label:[三伏]", 'position:中段 中段 中段 中段'], # 39: 干 太陽黄経
|
174
|
+
[Note, 0x3FFC, "label:[除手足甲=]", 'position:中段 中段 中段 中段'], # 40: 晦(除手足甲)、支(片方のみ), 没滅凶会日×
|
175
|
+
[Note, 0x3FFC, "label:[沐浴=]", 'position:中段 中段 中段 中段'], # 41: 支 没滅凶会日×
|
176
176
|
[Note, 0x3FFD, "label:[臘=ja:%%<臘日>]",
|
177
|
-
'position:中段 中段 中段 中段', 'suffix:日'], #
|
178
|
-
[Note, 0x3FFC, "label:[伐=]", 'position:中段 中段 中段 中段上', 'suffix:日'], #
|
177
|
+
'position:中段 中段 中段 中段', 'suffix:日'], # 42: 支 太陽黄経
|
178
|
+
[Note, 0x3FFC, "label:[伐=]", 'position:中段 中段 中段 中段上', 'suffix:日'], # 43: 干支
|
179
179
|
[Note, 0x3FFC, "label:[五墓=ja:%%<暦注下段>#%.<五墓日>]",
|
180
|
-
'position:中段 中段 中段 中段下', 'suffix:日'], #
|
181
|
-
[Note, 0x3FFC, "label:[六蛇=]", 'position:中段 中段 中段 中段上'], #
|
182
|
-
[Note, 0x3FFC, "label:[七鳥=]", 'position:中段 中段 中段 中段上'], #
|
183
|
-
[Note, 0x3FFC, "label:[八龍=]", 'position:中段 中段 中段 中段上'], #
|
184
|
-
[Note, 0x3FFC, "label:[九虎=]", 'position:中段 中段 中段 中段上'], #
|
180
|
+
'position:中段 中段 中段 中段下', 'suffix:日'], # 44: 干支
|
181
|
+
[Note, 0x3FFC, "label:[六蛇=]", 'position:中段 中段 中段 中段上'], # 45: 干支 節月
|
182
|
+
[Note, 0x3FFC, "label:[七鳥=]", 'position:中段 中段 中段 中段上'], # 46: 干支 節月
|
183
|
+
[Note, 0x3FFC, "label:[八龍=]", 'position:中段 中段 中段 中段上'], # 47: 干支 節月
|
184
|
+
[Note, 0x3FFC, "label:[九虎=]", 'position:中段 中段 中段 中段上'], # 48: 干支 節月
|
185
185
|
[Note, 0x07FF, "label:[没=ja:%%<没日>]",
|
186
|
-
'position:中段 中段 中段 中段', 'suffix:日'], #
|
187
|
-
[Note, 0xFFF8, "label:[日食]", 'position:中段 中段 中段 中段'], #
|
186
|
+
'position:中段 中段 中段 中段', 'suffix:日'], # 49: 太陽黄経
|
187
|
+
[Note, 0xFFF8, "label:[日食]", 'position:中段 中段 中段 中段'], # 50: 日食表
|
188
188
|
[Note, 0x07FC, "label:[滅=ja:%%<滅日]",
|
189
|
-
'position:中段 中段 中段 中段', 'suffix:日'], #
|
190
|
-
[Note, 0xFFF8, "label:[月食]", 'position:中段 中段 中段 中段'], #
|
191
|
-
[Note, 0xC7FD, "label:[月相]", 'position:中段 中段 中段 中段'], #
|
189
|
+
'position:中段 中段 中段 中段', 'suffix:日'], # 51: 月の位相
|
190
|
+
[Note, 0xFFF8, "label:[月食]", 'position:中段 中段 中段 中段'], # 52: 月食表
|
191
|
+
[Note, 0xC7FD, "label:[月相]", 'position:中段 中段 中段 中段'], # 53: 月の位相
|
192
192
|
[Note, 0xFFFF, "label:[土用事=ja:%%<土用>]",
|
193
|
-
'position:中段 中段 中段 中段'], #
|
194
|
-
[Note, 0x3FF0, "label:[伏龍=]", 'position:上段 上段 下段 下段', 'suffix:在'], #
|
193
|
+
'position:中段 中段 中段 中段'], # 54: 太陽黄経
|
194
|
+
[Note, 0x3FF0, "label:[伏龍=]", 'position:上段 上段 下段 下段', 'suffix:在'], # 55: 太陽黄経
|
195
195
|
|
196
196
|
[Note, 0x3FFF, "label:[凶会=ja:%%<暦注下段>#%.<凶会日>]",
|
197
|
-
'position:下段 下段 下段 下段', 'suffix:日'], #
|
198
|
-
[Note, 0x3FFF, "label:[大小歳=]", 'position:下段 下段 下段 下段'], #
|
197
|
+
'position:下段 下段 下段 下段', 'suffix:日'], # 56: 干支 節月(宣明暦以前)/暦月(貞享暦以降)
|
198
|
+
[Note, 0x3FFF, "label:[大小歳=]", 'position:下段 下段 下段 下段'], # 57: 干支 節月
|
199
199
|
[Note, 0x3FFC, "label:[歳徳=ja:%%<歳徳神>]",
|
200
|
-
'position:下段 下段 下段 下段'], #
|
201
|
-
[Note, 0x0003, "label:[天倉=]", 'position:古注'], #
|
200
|
+
'position:下段 下段 下段 下段'], # 58: 干 節年 凶会日× ~合も
|
201
|
+
[Note, 0x0003, "label:[天倉=]", 'position:古注'], # 59: 干支 節月
|
202
202
|
# [Note, 0x0003, "label:[天李=]", 'position:古注'], # 干支 節月?
|
203
203
|
[Note, 0x37FF, "label:[天恩=ja:%%<暦注下段>#%.<天恩日>]",
|
204
|
-
'position:下段 下段 下段 下段', 'suffix:日'], #
|
204
|
+
'position:下段 下段 下段 下段', 'suffix:日'], # 60: 干支 節月 凶会日×
|
205
205
|
[Note, 0xFFFF, "label:[天赦=ja:%%<暦注下段>#%.<天赦日>]",
|
206
|
-
'position:下段 下段 下段 下段'], #
|
206
|
+
'position:下段 下段 下段 下段'], # 61: 干支 節月
|
207
207
|
[Note, 0x37FF, "label:[母倉=ja:%%<暦注下段>#%.<母倉日>]",
|
208
|
-
'position:下段 下段 下段 下段', 'suffix:日'], #
|
209
|
-
[Note, 0x37FC, "label:[月徳=]", 'position:下段 下段 下段 下段'], #
|
210
|
-
[Note, 0x3FFF, "label:[九坎=]", 'position:下段 下段 下段 下段'], #
|
208
|
+
'position:下段 下段 下段 下段', 'suffix:日'], # 62: 支 節月 凶会日×
|
209
|
+
[Note, 0x37FC, "label:[月徳=]", 'position:下段 下段 下段 下段'], # 63: 干 節月 凶会日× ~合も
|
210
|
+
[Note, 0x3FFF, "label:[九坎=]", 'position:下段 下段 下段 下段'], # 64: 支 節月
|
211
211
|
[Note, 0x3FFF, "label:[歸忌=ja:%%<暦注下段>#%.<帰忌日>]",
|
212
|
-
'position:下段 下段 下段 下段', 'suffix:日'], # 64: 支 節月
|
213
|
-
[Note, 0x3FFF, "label:[血忌=ja:%%<暦注下段>#%.<血忌日>]",
|
214
212
|
'position:下段 下段 下段 下段', 'suffix:日'], # 65: 支 節月
|
215
|
-
[Note,
|
216
|
-
|
213
|
+
[Note, 0x3FFF, "label:[血忌=ja:%%<暦注下段>#%.<血忌日>]",
|
214
|
+
'position:下段 下段 下段 下段', 'suffix:日'], # 66: 支 節月
|
215
|
+
[Note, 0x3FFC, "label:[無翹=]", 'position:下段 下段 下段 下段'], # 67: 支 節月
|
216
|
+
[Note, 0x3FFF, "label:[厭=]", 'position:下段 下段 下段 下段'], # 68: 支 節月
|
217
217
|
[Note, 0x3FFC, "label:[重=ja:%%<暦注下段>#%.<重日>]",
|
218
|
-
'position:下段 下段 下段 下段', 'suffix:日'], #
|
218
|
+
'position:下段 下段 下段 下段', 'suffix:日'], # 69: 支
|
219
219
|
[Note, 0x3FFD, "label:[復=ja:%%<暦注下段>#%.<復日>]",
|
220
|
-
'position:下段 下段 下段 下段', 'suffix:日'], #
|
221
|
-
[Note, 0x3FFC, "label:[月煞=]", 'position:下段 下段 下段 下段'], #
|
220
|
+
'position:下段 下段 下段 下段', 'suffix:日'], # 70: 干 節月
|
221
|
+
[Note, 0x3FFC, "label:[月煞=]", 'position:下段 下段 下段 下段'], # 71: 支 節月
|
222
222
|
[Note, 0x3FFF, "label:[往亡=ja:%%<暦注下段>#%.<往亡日>]",
|
223
|
-
'position:下段 下段 下段 下段', 'suffix:日'], #
|
223
|
+
'position:下段 下段 下段 下段', 'suffix:日'], # 72: 太陽黄経
|
224
224
|
[Note, 0x3FFF, "label:[日遊=ja:%%<日遊神>]",
|
225
|
-
'position:最下段', 'suffix:在'], #
|
226
|
-
[Note, 0x07FF, "label:[人神配当=]", 'position:最下段孟月', 'suffix:-'], #
|
225
|
+
'position:最下段', 'suffix:在'], # 73: 干支
|
226
|
+
[Note, 0x07FF, "label:[人神配当=]", 'position:最下段孟月', 'suffix:-'], # 74: 暦日
|
227
227
|
|
228
228
|
[Note, 0x3E00, "label:[受死=ja:%%<暦注下段>#%.<受死日>]",
|
229
|
-
'position:仮名暦', 'suffix:日'], #
|
230
|
-
[Note, 0xFFF0, "label:[八專]", 'position:仮名暦'], #
|
229
|
+
'position:仮名暦', 'suffix:日'], # 75: 支 節月
|
230
|
+
[Note, 0xFFF0, "label:[八專]", 'position:仮名暦'], # 76: 干支
|
231
231
|
[Note, 0x3E00, "label:[八專間日=ja:%%<八専>]",
|
232
|
-
'position:仮名暦'], #
|
232
|
+
'position:仮名暦'], # 77: 干支
|
233
233
|
[Note, 0xC000, "label:[金神間日=ja:%%<金神>#%.<金神の遊行・間日>]",
|
234
|
-
'position:仮名暦'], # 77: 支 節月
|
235
|
-
[Note, 0xC000, "label:[金神遊行=ja:%%<金神>#%.<金神の遊行・間日>]",
|
236
234
|
'position:仮名暦'], # 78: 支 節月
|
235
|
+
[Note, 0xC000, "label:[金神遊行=ja:%%<金神>#%.<金神の遊行・間日>]",
|
236
|
+
'position:仮名暦'], # 79: 支 節月
|
237
237
|
[Note, 0x3FF0, "label:[天火=ja:%%<暦注下段>#%.<天火日>]",
|
238
|
-
'position:仮名暦', 'suffix:日'], # 79: 支 節月
|
239
|
-
[Note, 0x3FF0, "label:[地火=ja:%%<暦注下段>#%.<地火日>]",
|
240
238
|
'position:仮名暦', 'suffix:日'], # 80: 支 節月
|
241
|
-
[Note,
|
242
|
-
|
239
|
+
[Note, 0x3FF0, "label:[地火=ja:%%<暦注下段>#%.<地火日>]",
|
240
|
+
'position:仮名暦', 'suffix:日'], # 81: 支 節月
|
241
|
+
[Note, 0x3800, "label:[人火=]", 'position:仮名暦'], # 82: 支 節月
|
242
|
+
[Note, 0x3800, "label:[雷火=]", 'position:仮名暦'], # 83: 支 節月
|
243
243
|
[Note, 0x3FF0, "label:[赤舌=ja:%%<赤舌日>]",
|
244
|
-
'position:仮名暦', 'suffix:日'], #
|
244
|
+
'position:仮名暦', 'suffix:日'], # 84: 暦月 暦日
|
245
245
|
[Note, 0x3E00, "label:[十死=ja:%%<暦注下段>#%.<十死日>]",
|
246
|
-
'position:仮名暦', 'suffix:日'], #
|
247
|
-
[Note, 0x3E00, "label:[道虚=]", 'position:仮名暦', 'suffix:日'], #
|
246
|
+
'position:仮名暦', 'suffix:日'], # 85: 支 節月
|
247
|
+
[Note, 0x3E00, "label:[道虚=]", 'position:仮名暦', 'suffix:日'], # 86: 暦日
|
248
248
|
[Note, 0x3E00, "label:[大明=ja:%%<暦注下段>#%.<大明日>]",
|
249
|
-
'position:仮名暦', 'suffix:日'], #
|
249
|
+
'position:仮名暦', 'suffix:日'], # 87: 干支
|
250
250
|
[Note, 0x0600, "label:[大赤=ja:%%<赤口日>]",
|
251
|
-
'position:仮名暦', 'suffix:日'], #
|
251
|
+
'position:仮名暦', 'suffix:日'], # 88: 暦月 暦日
|
252
252
|
[Note, 0xF800, "label:[甲子待=ja:%%<甲子>]",
|
253
|
-
'position:仮名暦'], #
|
254
|
-
[Note, 0xC000, "label:[己巳]", 'position:仮名暦'], #
|
255
|
-
[Note, 0xF800, "label:[庚申待]", 'position:仮名暦'], #
|
256
|
-
[Note, 0x3800, "label:[犯土]", 'position:仮名暦'], #
|
257
|
-
[Note, 0xF800, "label:[十方暮]", 'position:仮名暦'], #
|
253
|
+
'position:仮名暦'], # 89: 干支
|
254
|
+
[Note, 0xC000, "label:[己巳]", 'position:仮名暦'], # 90: 干支
|
255
|
+
[Note, 0xF800, "label:[庚申待]", 'position:仮名暦'], # 91: 干支
|
256
|
+
[Note, 0x3800, "label:[犯土]", 'position:仮名暦'], # 92: 干支
|
257
|
+
[Note, 0xF800, "label:[十方暮]", 'position:仮名暦'], # 93: 干支
|
258
258
|
[Note, 0xF800, "label:[一粒万倍=ja:%%<一粒万倍日>]",
|
259
|
-
'position:仮名暦', 'suffix:日'], #
|
260
|
-
[Note, 0x3800, "label:[天福=]", 'position:仮名暦'], #
|
261
|
-
[Note, 0x3800, "label:[地福=]", 'position:仮名暦'], #
|
262
|
-
[Note, 0x3800, "label:[地五福=]", 'position:仮名暦'], #
|
263
|
-
[Note, 0xB800, "label:[三隣亡]", 'position:仮名暦'], #
|
259
|
+
'position:仮名暦', 'suffix:日'], # 94: 支 節月
|
260
|
+
[Note, 0x3800, "label:[天福=]", 'position:仮名暦'], # 95: 支 節月
|
261
|
+
[Note, 0x3800, "label:[地福=]", 'position:仮名暦'], # 96: 支 節月
|
262
|
+
[Note, 0x3800, "label:[地五福=]", 'position:仮名暦'], # 97: 支 節月
|
263
|
+
[Note, 0xB800, "label:[三隣亡]", 'position:仮名暦'], # 98: 支 節月
|
264
264
|
[Note, 0xF800, "label:[不成就=ja:%%<不成就日>]",
|
265
|
-
'position:仮名暦', 'suffix:日'], #
|
265
|
+
'position:仮名暦', 'suffix:日'], # 99: 暦月 暦日/晦日
|
266
|
+
[Note, 0x3800, "label:[鬼宿]", 'position:仮名暦'], #100: 廿八宿
|
267
|
+
[Note, 0x3800, "label:[金性=]", 'position:仮名暦'], #101: 支 節月 支 節年
|
266
268
|
[Note, 0x3FFF, "label:[三寶吉=ja:%%<三宝吉>]",
|
267
|
-
'position:上段 上段 上段 上段'], #
|
269
|
+
'position:上段 上段 上段 上段'], #102: 干支 節月
|
268
270
|
[Note, 0x3FFF, "label:[神吉=ja:%%<暦注下段>#%.<神日>]",
|
269
|
-
'position:上段 上段 中段 中段上', 'suffix:日'], #
|
270
|
-
[Note, 0x3FFF, "label:[雑事吉=]", 'position:雑事吉'], #
|
271
|
-
[Note,
|
272
|
-
[Note, 0x3800, "label:[鬼宿]", 'position:仮名暦'], #103: 廿八宿
|
271
|
+
'position:上段 上段 中段 中段上', 'suffix:日'], #103: 干支 節月
|
272
|
+
[Note, 0x3FFF, "label:[雑事吉=]", 'position:雑事吉'], #104: 干支 節月
|
273
|
+
[Note, 0x3FFF, "label:[小字注=]", 'position:下段小字 下段小字 下段小字 下段小字'],#105: 干支 節月
|
273
274
|
]
|
274
275
|
]]
|
275
276
|
|
@@ -277,10 +278,10 @@ class When::CalendarNote
|
|
277
278
|
# 日本暦注の時代変遷
|
278
279
|
#
|
279
280
|
# @private
|
280
|
-
NoteTypes = (
|
281
|
+
NoteTypes = (2...When::TM::CalendarEra::JapaneseSolar[1].size).to_a.map {|i|
|
281
282
|
calendars =
|
282
|
-
[When::TM::CalendarEra::
|
283
|
-
When::TM::CalendarEra::
|
283
|
+
[When::TM::CalendarEra::JapaneseLuniSolar[1][i][2],
|
284
|
+
When::TM::CalendarEra::JapaneseSolar[1][i][2]].map {|epoch|
|
284
285
|
epoch =~ /^(-?\d+)-(\d+)-(\d+)\^(.+)$/
|
285
286
|
$4
|
286
287
|
}
|
@@ -310,8 +311,8 @@ class When::CalendarNote
|
|
310
311
|
|
311
312
|
# @private
|
312
313
|
NoteFocused = (0...NoteRange.size).to_a.map {|range|
|
313
|
-
(
|
314
|
-
notes =
|
314
|
+
(2..4).to_a.map {|cord|
|
315
|
+
notes = Notes[1][cord]
|
315
316
|
(2...notes.size).to_a.inject([]) {|focused,note|
|
316
317
|
focused << notes[note][2][/\[.+?[=\]]/][1..-2] if notes[note][1][range] == 1
|
317
318
|
focused
|
@@ -332,6 +333,24 @@ class When::CalendarNote
|
|
332
333
|
-31 => '大'
|
333
334
|
}
|
334
335
|
|
336
|
+
#
|
337
|
+
# 日本暦注に対応するインデックス(整数値)
|
338
|
+
#
|
339
|
+
# @private
|
340
|
+
module Index
|
341
|
+
# @private
|
342
|
+
[[2,'Y'], [3,'M'], [4,'D']].map {|cord|
|
343
|
+
index, initial = cord
|
344
|
+
notes = Notes[1][index]
|
345
|
+
(notes.size-2).times {|no|
|
346
|
+
name = initial + notes[no+2][2][/\[.+?[=\]]/][1..-2]
|
347
|
+
mask = 'M' + name
|
348
|
+
const_set(name, no)
|
349
|
+
const_set(mask, 1<<no)
|
350
|
+
}
|
351
|
+
}
|
352
|
+
end
|
353
|
+
|
335
354
|
#
|
336
355
|
# 日本暦注が使用する暦法
|
337
356
|
#
|
@@ -348,11 +367,11 @@ class When::CalendarNote
|
|
348
367
|
end
|
349
368
|
|
350
369
|
def l_phases
|
351
|
-
@l_phases ||=
|
370
|
+
@l_phases ||= Japanese::LunarPhases.new('formula'=>l_calendar.formula[-1])
|
352
371
|
end
|
353
372
|
|
354
373
|
def s_terms
|
355
|
-
@s_terms ||=
|
374
|
+
@s_terms ||= Japanese::SolarTerms.new('formula'=>s_calendar.formula[0])
|
356
375
|
end
|
357
376
|
|
358
377
|
def doyo
|
@@ -361,7 +380,7 @@ class When::CalendarNote
|
|
361
380
|
end
|
362
381
|
|
363
382
|
#
|
364
|
-
# 日本暦注用の
|
383
|
+
# 日本暦注用の Notes の要素のための内部クラス
|
365
384
|
#
|
366
385
|
# @private
|
367
386
|
class Note
|
@@ -453,13 +472,13 @@ class When::CalendarNote
|
|
453
472
|
# @return [Array<Hash>] 上記に該当せず、:indices が Integer の場合
|
454
473
|
# @return [Array<Array<Hash>>] 上記のいずれにも該当しない場合
|
455
474
|
# @note return 値の [Hash] の要素は下記の通り
|
456
|
-
# :note => 暦注要素 (When::CalendarTypes::
|
475
|
+
# :note => 暦注要素 (When::CalendarTypes::Japanese::Note)
|
457
476
|
# :value => 暦注の値 (String or When::BasicTypes::M17n または、その Array)
|
458
477
|
# :position => 具注暦でのその暦注の配置場所(String)
|
459
478
|
#
|
460
479
|
def notes(date, options={})
|
461
480
|
dates, indices, notes, persistence, conditions, options = _parse_note(date, options)
|
462
|
-
|
481
|
+
NotesContainer.register(indices.map {|i|
|
463
482
|
next [] unless i <= dates.precision
|
464
483
|
send(NoteMethods[i-1], dates, notes[i-1], conditions)
|
465
484
|
}, persistence, date.to_i)
|
@@ -474,13 +493,12 @@ class When::CalendarNote
|
|
474
493
|
#
|
475
494
|
# den 分母 (デフォルト 360 : 検索範囲の長さ)
|
476
495
|
#
|
477
|
-
# @param [String] parameter 太陽の位置の分子と分母("#{ num }/#{ den }"
|
496
|
+
# @param [String] parameter 太陽の位置の分子と分母("#{ num }/#{ den }" の形式, デフォルト 0(春分))
|
478
497
|
# @param [Integer] precision 取得したい時間位置の分解能(デフォルト date の分解能)
|
479
|
-
# @param [When::TM::Calendar] frame 暦法(ダミー)
|
480
498
|
#
|
481
499
|
# @return [When::TM::CalDate] date またはその直後に太陽の位置が指定の値になる日時
|
482
500
|
#
|
483
|
-
def term(date, parameter=nil, precision=date.precision
|
501
|
+
def term(date, parameter=nil, precision=date.precision)
|
484
502
|
dates = _to_date_for_note(date)
|
485
503
|
result = dates.cal4note.s_terms.term(date, parameter)
|
486
504
|
patch = SolarTerms::Patch[result.to_i]
|
@@ -490,7 +508,7 @@ class When::CalendarNote
|
|
490
508
|
den = (den || 360).to_f
|
491
509
|
diff = (num - patch[0] + 1) % den - 1
|
492
510
|
return result if diff == 0
|
493
|
-
patched = result + When::
|
511
|
+
patched = result + When::P1D * diff
|
494
512
|
result.cal_date[0..-2] = patched.cal_date[0..-2]
|
495
513
|
result.cal_date[-1] = When::Coordinates::Pair.new(patched.cal_date[-1], -diff)
|
496
514
|
result
|
@@ -505,34 +523,32 @@ class When::CalendarNote
|
|
505
523
|
#
|
506
524
|
# den 分母 (デフォルト 30 : 検索範囲の長さ)
|
507
525
|
#
|
508
|
-
# @param [String] parameter 月の位相の分子と分母("#{ num }/#{ den }"
|
526
|
+
# @param [String] parameter 月の位相の分子と分母("#{ num }/#{ den }" の形式, デフォルト 0(朔))
|
509
527
|
# @param [Integer] precision 取得したい時間位置の分解能(デフォルト date の分解能)
|
510
|
-
# @param [When::TM::Calendar] frame 暦法(ダミー)
|
511
528
|
#
|
512
529
|
# @return [When::TM::CalDate] date またはその直後に月の位相が指定の値になる日時
|
513
530
|
#
|
514
|
-
def phase(date, parameter=nil, precision=date.precision
|
531
|
+
def phase(date, parameter=nil, precision=date.precision)
|
515
532
|
dates = _to_date_for_note(date)
|
516
533
|
note = dates.cal4note.l_phases
|
517
534
|
result = note.phase(date, parameter)
|
518
535
|
return result if dates.o_date.frame.kind_of?(When::CalendarTypes::Christian)
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
when 0 # 朔
|
536
|
+
|
537
|
+
time = note.phase(date, parameter, When::SYSTEM)
|
538
|
+
cn = note.formula.time_to_cn(time) % 1
|
539
|
+
case cn
|
540
|
+
when 0..0.0001, 0.9999..1 # 朔
|
525
541
|
return result if result.cal_date[-1] == 1
|
526
542
|
diff = result.cal_date[-1] < 15 ? -1 : +1
|
527
|
-
when
|
543
|
+
when 0.2..0.8 # 弦、望
|
528
544
|
return result unless note.formula.kind_of?(When::Ephemeris::ChineseTrueLunation)
|
529
|
-
time = result.kind_of?(When::TM::DateAndTime) ? result : note.phase(date, [num,den], When::SYSTEM)
|
530
545
|
return result if time.clk_time.universal_time >= When::TM::Duration::DAY/4 # 午前6時以降
|
531
546
|
diff = -1
|
532
|
-
else
|
547
|
+
else # その他
|
533
548
|
return result
|
534
549
|
end
|
535
|
-
|
550
|
+
|
551
|
+
patched = result + When::P1D * diff
|
536
552
|
result.cal_date[0..-2] = patched.cal_date[0..-2]
|
537
553
|
result.cal_date[-1] = When::Coordinates::Pair.new(patched.cal_date[-1], -diff)
|
538
554
|
result
|
@@ -551,7 +567,7 @@ class When::CalendarNote
|
|
551
567
|
_note_values(dates, notes, _all_keys[-3], _elements[-3]) do |dates, focused_notes, notes_hash|
|
552
568
|
|
553
569
|
focused_notes[0..-1] = focused_notes & NoteFocused[dates.range][-3]
|
554
|
-
root = When.Resource('_co:
|
570
|
+
root = When.Resource('_co:Common')
|
555
571
|
|
556
572
|
# 干支
|
557
573
|
residue = (dates.precision < When::DAY ? dates.o_date : dates.s_date).most_significant_coordinate - 4
|
@@ -575,7 +591,7 @@ class When::CalendarNote
|
|
575
591
|
length = -length if dates.o_date.frame.kind_of?(When::CalendarTypes::Christian) # 太陽暦
|
576
592
|
pattern += '閏' if month[When::MONTH] * 0 == 1
|
577
593
|
pattern += MonthPattern[length] || '改'
|
578
|
-
month += When::
|
594
|
+
month += When::P1M
|
579
595
|
end
|
580
596
|
notes_hash['大小'] = "#{pattern}(#{year.length(When::YEAR)})"
|
581
597
|
end
|
@@ -593,7 +609,7 @@ class When::CalendarNote
|
|
593
609
|
_note_values(dates, notes, _all_keys[-2], _elements[-2]) do |dates, focused_notes, notes_hash|
|
594
610
|
|
595
611
|
focused_notes[0..-1] = focused_notes & NoteFocused[dates.range][-2]
|
596
|
-
root = When.Resource('_co:
|
612
|
+
root = When.Resource('_co:Common')
|
597
613
|
|
598
614
|
# 干支
|
599
615
|
residue = month_stem_branch(dates.precision < When::DAY ? dates.o_date : dates.m_date)
|
@@ -628,7 +644,7 @@ class When::CalendarNote
|
|
628
644
|
_note_values(dates, notes, _all_keys[-1], _elements[-1]) do |dates, focused_notes, notes_hash|
|
629
645
|
|
630
646
|
focused_notes[0..-1] = focused_notes & NoteFocused[dates.range][-1]
|
631
|
-
root = When.Resource('_co:
|
647
|
+
root = When.Resource('_co:Common')
|
632
648
|
|
633
649
|
# 干支
|
634
650
|
residue = dates.s_date.to_i-11
|
@@ -741,6 +757,7 @@ class When::CalendarNote
|
|
741
757
|
[ 7,-3] => [[2003..2100, '海の日']],
|
742
758
|
[ 7,30] => [[1913..1926, '明治天皇祭']],
|
743
759
|
[ 8, 1] => [[1868..1872, '田実節句']],
|
760
|
+
[ 8,11] => [[2016..2100, '山の日']],
|
744
761
|
[ 8,31] => [[1913..1926, '天長節']],
|
745
762
|
[ 9, 9] => [[1868..1872, '重陽節句']],
|
746
763
|
[ 9,15] => [[1966..2002, '敬老の日']],
|
@@ -872,7 +889,7 @@ class When::CalendarNote
|
|
872
889
|
足小指 足踝及胸、目下 肝及足 手陽明 足陽明 胸 膝 陰 膝晊 足跌)
|
873
890
|
|
874
891
|
# 六曜
|
875
|
-
Rokuyo = When.Resource('_m:
|
892
|
+
Rokuyo = When.Resource('_m:Japanese::六曜')
|
876
893
|
|
877
894
|
# 月の暦注
|
878
895
|
# @private
|
@@ -907,7 +924,7 @@ class When::CalendarNote
|
|
907
924
|
# 除手足甲 & 道虚・人神配当
|
908
925
|
y,m0,d0 = dates.m_date.cal_date
|
909
926
|
misoka = m0 != (dates.m_date + When.Duration('P1D')).cal_date[1] if d0 == 29
|
910
|
-
notes['除手足甲'] = '除手足甲' if ([6,16,30].include?(d0) || misoka) && !(notes['没'] || notes['滅'] || notes['凶会'])
|
927
|
+
notes['除手足甲'] = '除手足甲' if ([6,16,30].include?(d0) || misoka) && !(conditions[:kana] || notes['没'] || notes['滅'] || notes['凶会'])
|
911
928
|
notes['道虚'] = '道虚' if d0 % 6 == 0 || misoka
|
912
929
|
notes['人神配当'] = HumanBody[d0-1]
|
913
930
|
|
@@ -923,7 +940,7 @@ class When::CalendarNote
|
|
923
940
|
#
|
924
941
|
# 月の位相による暦注
|
925
942
|
#
|
926
|
-
class
|
943
|
+
class Japanese::LunarPhases < LunarPhases
|
927
944
|
|
928
945
|
# 日の暦注
|
929
946
|
# @private
|
@@ -989,7 +1006,7 @@ class When::CalendarNote
|
|
989
1006
|
#
|
990
1007
|
# 太陽黄経による暦注
|
991
1008
|
#
|
992
|
-
class
|
1009
|
+
class Japanese::SolarTerms < SolarTerms
|
993
1010
|
|
994
1011
|
Notes12 = %w(正月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月)
|
995
1012
|
|
@@ -1167,7 +1184,13 @@ class When::CalendarNote
|
|
1167
1184
|
2243591 => [149.0, 1], # 永享02(1430).07.25 [149.0, 0] 没 (処暑の前日)
|
1168
1185
|
|
1169
1186
|
2311770 => [ 29.0, 1], # 元和03(1617).03.18 [ 29.0, 0] 没
|
1170
|
-
2311771 => [ 30.0, 0]
|
1187
|
+
2311771 => [ 30.0, 0], # 元和03(1617).03.19 [ 30.0, 1] 穀雨
|
1188
|
+
|
1189
|
+
2396062 => [314.0, 0], # 弘化04(1847).12.30 [315.0, 1] 立春 (計算誤差の補正)
|
1190
|
+
2396063 => [315.0, 1], # 弘化05(1848).01.01 [315.0, 0] 没
|
1191
|
+
|
1192
|
+
2397583 => [ 15.0, 1], # 嘉永05(1852).02=15 [ 14.0, 0] 没
|
1193
|
+
2397584 => [ 16.0, 0] # 嘉永05(1852).02=16 [ 15.0, 1] 清明 (計算誤差の補正)
|
1171
1194
|
}
|
1172
1195
|
|
1173
1196
|
class << self
|
@@ -1234,11 +1257,19 @@ class When::CalendarNote
|
|
1234
1257
|
[longitude, motsu]
|
1235
1258
|
if _motsu != 0 && _longitude % 90 == 27
|
1236
1259
|
notes['土用事'] =
|
1237
|
-
|
1238
|
-
|
1239
|
-
|
1240
|
-
|
1241
|
-
|
1260
|
+
begin
|
1261
|
+
event_name =
|
1262
|
+
case dates.range
|
1263
|
+
when 0 ; '土用' # 元嘉暦以前
|
1264
|
+
when 1 ; '土王' # 麟徳暦
|
1265
|
+
when 2..10 ; '土用事' # 大衍暦~宣明暦
|
1266
|
+
else ; '土用入' # 貞享暦以降
|
1267
|
+
end
|
1268
|
+
if conditions[:shoyo]
|
1269
|
+
dates.cal4note.s_terms.event_time(date, event_name, [27-(dates.cal4note.doyo||0), 90])
|
1270
|
+
else
|
1271
|
+
event_name
|
1272
|
+
end
|
1242
1273
|
end
|
1243
1274
|
end
|
1244
1275
|
end
|
@@ -1261,6 +1292,11 @@ class When::CalendarNote
|
|
1261
1292
|
end
|
1262
1293
|
end
|
1263
1294
|
|
1295
|
+
# 半夏生
|
1296
|
+
#
|
1297
|
+
# 太陽黄経100度
|
1298
|
+
notes['半夏生'] ||= '半夏生' if longitude == 100 && motsu == 1
|
1299
|
+
|
1264
1300
|
# 立春を起算日とする雑節
|
1265
1301
|
#
|
1266
1302
|
unless notes['節分'] && notes['八十八夜'] && notes['二百十日'] && notes['二百廿日']
|
@@ -1292,21 +1328,9 @@ class When::CalendarNote
|
|
1292
1328
|
notes['節中'] ||= Notes12[div] + %w(節 中)[mod]
|
1293
1329
|
notes['廿四節気'] ||=
|
1294
1330
|
begin
|
1295
|
-
|
1296
|
-
residue = root['二十四節気::*'][(note-3) % 24]
|
1331
|
+
residue = When.Resource(dates.range == 1 ? '_co:Common?V=0618' : '_co:Common')['二十四節気::*'][(note-3) % 24]
|
1297
1332
|
if conditions[:shoyo]
|
1298
|
-
|
1299
|
-
etime = dates.cal4note.s_terms.term(date - When.Duration('P3D'), [0,15], When::SYSTEM)
|
1300
|
-
if formula.respond_to?(:year_length) && formula.denominator
|
1301
|
-
shoyo = etime.clk_time.universal_time
|
1302
|
-
shoyo += When::TM::Duration::DAY * (etime.to_i - date.to_i)
|
1303
|
-
shoyo = (shoyo / When::TM::Duration::DAY * formula.denominator * 1000 + 0.5).floor / 1000.0
|
1304
|
-
shoyo = shoyo.to_i if shoyo == shoyo.to_i
|
1305
|
-
residue.label + "(#{shoyo}/#{formula.denominator})"
|
1306
|
-
else
|
1307
|
-
etime.events = [residue.label]
|
1308
|
-
etime
|
1309
|
-
end
|
1333
|
+
dates.cal4note.s_terms.event_time(date, residue.label, [0,15])
|
1310
1334
|
else
|
1311
1335
|
residue
|
1312
1336
|
end
|
@@ -1318,9 +1342,14 @@ class When::CalendarNote
|
|
1318
1342
|
notes['七十二候'] ||= mod == 0 ? Notes72[(div - 63) % 72][dates.index_s] : nil
|
1319
1343
|
|
1320
1344
|
# 往亡
|
1321
|
-
|
1322
|
-
|
1323
|
-
|
1345
|
+
unless notes['往亡'] && notes['神吉']
|
1346
|
+
month = dates.s_date.cal_date[-2] - 1
|
1347
|
+
day = dates.s_date.cal_date[-1] - 1
|
1348
|
+
div, mod = month.divmod(3)
|
1349
|
+
deg = (div+7)*(mod+1) + month * 30 + 314
|
1350
|
+
notes['往亡'] = (dates.range < 11 ? (deg - longitude) % 360 == 0 : # 没を含まない
|
1351
|
+
(deg - 315 ) % 30 == day)? '往亡' : nil # 没を含む
|
1352
|
+
end
|
1324
1353
|
|
1325
1354
|
# 伏龍
|
1326
1355
|
notes['伏龍'] ||= {
|