when_exe 0.3.5 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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['伏龍'] ||= {
|