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.
Files changed (194) hide show
  1. data/bin/irb.rc +1 -0
  2. data/bin/locales.rb +8 -6
  3. data/bin/when.rb +1 -1
  4. data/lib/when_exe.rb +231 -146
  5. data/lib/when_exe/basictypes.rb +108 -18
  6. data/lib/when_exe/calendarnote.rb +263 -116
  7. data/lib/when_exe/calendartypes.rb +413 -22
  8. data/lib/when_exe/coordinates.rb +58 -36
  9. data/lib/when_exe/core/compatibility.rb +8 -6
  10. data/lib/when_exe/core/extension.rb +40 -15
  11. data/lib/when_exe/ephemeris.rb +20 -19
  12. data/lib/when_exe/{region → ephemeris}/moon.rb +4 -4
  13. data/lib/when_exe/{region/ephemeric_notes.rb → ephemeris/notes.rb} +25 -6
  14. data/lib/when_exe/{region → ephemeris}/planets.rb +0 -0
  15. data/lib/when_exe/{region → ephemeris}/sun.rb +7 -3
  16. data/lib/when_exe/{region → ephemeris}/v50.rb +0 -0
  17. data/lib/when_exe/googlecalendar.rb +2 -2
  18. data/lib/when_exe/icalendar.rb +3 -3
  19. data/lib/when_exe/inspect.rb +130 -70
  20. data/lib/when_exe/locales/af.rb +2 -2
  21. data/lib/when_exe/locales/akt.rb +176 -0
  22. data/lib/when_exe/locales/ar.rb +2 -2
  23. data/lib/when_exe/locales/{locales.rb → autoload.rb} +6 -2
  24. data/lib/when_exe/locales/az.rb +2 -2
  25. data/lib/when_exe/locales/bg.rb +2 -2
  26. data/lib/when_exe/locales/bn.rb +2 -2
  27. data/lib/when_exe/locales/bs.rb +2 -2
  28. data/lib/when_exe/locales/ca.rb +2 -2
  29. data/lib/when_exe/locales/cs.rb +2 -2
  30. data/lib/when_exe/locales/cy.rb +2 -2
  31. data/lib/when_exe/locales/da.rb +2 -2
  32. data/lib/when_exe/locales/de.rb +2 -2
  33. data/lib/when_exe/locales/de_AT.rb +2 -2
  34. data/lib/when_exe/locales/de_CH.rb +2 -2
  35. data/lib/when_exe/locales/el.rb +2 -2
  36. data/lib/when_exe/locales/en.rb +2 -2
  37. data/lib/when_exe/locales/en_AU.rb +2 -2
  38. data/lib/when_exe/locales/en_CA.rb +2 -2
  39. data/lib/when_exe/locales/en_GB.rb +2 -2
  40. data/lib/when_exe/locales/en_IE.rb +2 -2
  41. data/lib/when_exe/locales/en_IN.rb +3 -3
  42. data/lib/when_exe/locales/en_NZ.rb +2 -2
  43. data/lib/when_exe/locales/en_US.rb +2 -2
  44. data/lib/when_exe/locales/en_ZA.rb +88 -0
  45. data/lib/when_exe/locales/encoding_conversion.rb +126 -0
  46. data/lib/when_exe/locales/eo.rb +2 -2
  47. data/lib/when_exe/locales/es.rb +2 -2
  48. data/lib/when_exe/locales/es_419.rb +2 -2
  49. data/lib/when_exe/locales/es_AR.rb +2 -2
  50. data/lib/when_exe/locales/es_CL.rb +2 -2
  51. data/lib/when_exe/locales/es_CO.rb +2 -2
  52. data/lib/when_exe/locales/es_CR.rb +2 -2
  53. data/lib/when_exe/locales/es_EC.rb +2 -2
  54. data/lib/when_exe/locales/es_MX.rb +2 -2
  55. data/lib/when_exe/locales/es_PA.rb +2 -2
  56. data/lib/when_exe/locales/es_PE.rb +2 -2
  57. data/lib/when_exe/locales/es_US.rb +84 -0
  58. data/lib/when_exe/locales/es_VE.rb +2 -2
  59. data/lib/when_exe/locales/et.rb +2 -2
  60. data/lib/when_exe/locales/eu.rb +2 -2
  61. data/lib/when_exe/locales/fa.rb +2 -2
  62. data/lib/when_exe/locales/fi.rb +3 -3
  63. data/lib/when_exe/locales/fr.rb +2 -2
  64. data/lib/when_exe/locales/fr_CA.rb +2 -2
  65. data/lib/when_exe/locales/fr_CH.rb +2 -2
  66. data/lib/when_exe/locales/gl.rb +2 -2
  67. data/lib/when_exe/locales/he.rb +3 -3
  68. data/lib/when_exe/locales/hi.rb +2 -2
  69. data/lib/when_exe/locales/hi_IN.rb +2 -2
  70. data/lib/when_exe/locales/hr.rb +2 -2
  71. data/lib/when_exe/locales/hu.rb +6 -5
  72. data/lib/when_exe/locales/iast.rb +90 -0
  73. data/lib/when_exe/locales/id.rb +2 -2
  74. data/lib/when_exe/locales/is.rb +2 -2
  75. data/lib/when_exe/locales/it.rb +2 -2
  76. data/lib/when_exe/locales/it_CH.rb +2 -2
  77. data/lib/when_exe/locales/ja.rb +2 -2
  78. data/lib/when_exe/locales/kn.rb +2 -2
  79. data/lib/when_exe/locales/ko.rb +2 -2
  80. data/lib/when_exe/locales/links.rb +3 -3
  81. data/lib/when_exe/locales/lo.rb +2 -2
  82. data/lib/when_exe/{parts → locales}/locale.rb +77 -49
  83. data/lib/when_exe/locales/lt.rb +6 -2
  84. data/lib/when_exe/locales/lv.rb +2 -2
  85. data/lib/when_exe/locales/mk.rb +2 -2
  86. data/lib/when_exe/locales/mn.rb +2 -2
  87. data/lib/when_exe/locales/ms.rb +2 -2
  88. data/lib/when_exe/locales/nb.rb +2 -2
  89. data/lib/when_exe/locales/ne.rb +2 -2
  90. data/lib/when_exe/locales/nl.rb +2 -2
  91. data/lib/when_exe/locales/nn.rb +2 -2
  92. data/lib/when_exe/locales/or.rb +2 -2
  93. data/lib/when_exe/locales/pl.rb +2 -2
  94. data/lib/when_exe/locales/pt.rb +2 -2
  95. data/lib/when_exe/locales/pt_BR.rb +2 -2
  96. data/lib/when_exe/locales/rm.rb +2 -2
  97. data/lib/when_exe/locales/ro.rb +2 -2
  98. data/lib/when_exe/locales/ru.rb +2 -2
  99. data/lib/when_exe/locales/sk.rb +2 -2
  100. data/lib/when_exe/locales/sl.rb +2 -2
  101. data/lib/when_exe/locales/sr.rb +2 -2
  102. data/lib/when_exe/locales/sv.rb +2 -2
  103. data/lib/when_exe/locales/sw.rb +2 -2
  104. data/lib/when_exe/locales/ta.rb +95 -0
  105. data/lib/when_exe/locales/th.rb +2 -2
  106. data/lib/when_exe/locales/tl.rb +3 -3
  107. data/lib/when_exe/locales/tr.rb +2 -2
  108. data/lib/when_exe/locales/transliteration_table.rb +62 -0
  109. data/lib/when_exe/locales/uk.rb +15 -15
  110. data/lib/when_exe/locales/ur.rb +2 -2
  111. data/lib/when_exe/locales/uz.rb +2 -2
  112. data/lib/when_exe/locales/vi.rb +2 -2
  113. data/lib/when_exe/locales/wo.rb +2 -2
  114. data/lib/when_exe/locales/zh_CN.rb +2 -2
  115. data/lib/when_exe/locales/zh_HK.rb +15 -15
  116. data/lib/when_exe/locales/zh_TW.rb +2 -2
  117. data/lib/when_exe/locales/zh_YUE.rb +77 -0
  118. data/lib/when_exe/mini_application.rb +22 -12
  119. data/lib/when_exe/parts/geometric_complex.rb +16 -1
  120. data/lib/when_exe/parts/method_cash.rb +184 -238
  121. data/lib/when_exe/parts/resource.rb +65 -16
  122. data/lib/when_exe/region/armenian.rb +56 -0
  123. data/lib/when_exe/region/bahai.rb +13 -13
  124. data/lib/when_exe/region/balinese.rb +33 -35
  125. data/lib/when_exe/region/chinese.rb +82 -78
  126. data/lib/when_exe/region/{chinese_calendar.rb → chinese/calendars.rb} +59 -40
  127. data/lib/when_exe/region/{chinese_epoch.rb → chinese/epochs.rb} +3 -4
  128. data/lib/when_exe/region/{chinese_twin.rb → chinese/twins.rb} +48 -51
  129. data/lib/when_exe/region/christian.rb +236 -127
  130. data/lib/when_exe/region/coptic.rb +9 -10
  131. data/lib/when_exe/region/dee.rb +48 -0
  132. data/lib/when_exe/region/discordian.rb +225 -0
  133. data/lib/when_exe/region/far_east.rb +2 -6
  134. data/lib/when_exe/region/french.rb +7 -17
  135. data/lib/when_exe/region/geologicalage.rb +0 -1
  136. data/lib/when_exe/region/goddess.rb +58 -0
  137. data/lib/when_exe/region/indian.rb +323 -231
  138. data/lib/when_exe/region/iranian.rb +159 -22
  139. data/lib/when_exe/region/islamic.rb +7 -9
  140. data/lib/when_exe/region/japanese.rb +14 -803
  141. data/lib/when_exe/region/japanese/calendars.rb +397 -0
  142. data/lib/when_exe/region/japanese/epochs.rb +426 -0
  143. data/lib/when_exe/region/{nihon_shoki.rb → japanese/nihon_shoki.rb} +0 -2
  144. data/lib/when_exe/region/{japanese_notes.rb → japanese/notes.rb} +179 -150
  145. data/lib/when_exe/region/japanese/residues.rb +1306 -0
  146. data/lib/when_exe/region/{japanese_twin.rb → japanese/twins.rb} +12 -15
  147. data/lib/when_exe/region/javanese.rb +16 -14
  148. data/lib/when_exe/region/jewish.rb +8 -9
  149. data/lib/when_exe/region/korean.rb +146 -35
  150. data/lib/when_exe/region/m17n.rb +8 -10
  151. data/lib/when_exe/region/martian.rb +44 -16
  152. data/lib/when_exe/region/mayan.rb +12 -10
  153. data/lib/when_exe/region/pope.rb +0 -1
  154. data/lib/when_exe/region/residue.rb +4 -5
  155. data/lib/when_exe/region/roman.rb +20 -24
  156. data/lib/when_exe/region/ryukyu.rb +3 -4
  157. data/lib/when_exe/region/shire.rb +97 -94
  158. data/lib/when_exe/region/symmetry.rb +50 -0
  159. data/lib/when_exe/region/thai.rb +164 -56
  160. data/lib/when_exe/region/tibetan.rb +86 -86
  161. data/lib/when_exe/region/vietnamese.rb +9 -12
  162. data/lib/when_exe/region/weekdate.rb +80 -0
  163. data/lib/when_exe/region/world.rb +65 -70
  164. data/lib/when_exe/region/yerm.rb +98 -0
  165. data/lib/when_exe/region/zoroastrian.rb +203 -0
  166. data/lib/when_exe/timestandard.rb +4 -4
  167. data/lib/when_exe/tmobjects.rb +1 -3
  168. data/lib/when_exe/tmposition.rb +13 -12
  169. data/lib/when_exe/tmreference.rb +11 -10
  170. data/lib/when_exe/version.rb +1 -1
  171. data/link_to_online_documents +3 -3
  172. data/test/examples/Residue.m17n +1 -1
  173. data/test/examples/Terms.m17n +1 -1
  174. data/test/test.rb +2 -1
  175. data/test/test/basictypes.rb +18 -2
  176. data/test/test/calendarnote.rb +1 -1
  177. data/test/test/calendartypes.rb +1 -1
  178. data/test/test/coordinates.rb +7 -7
  179. data/test/test/{region → ephemeris}/moon.rb +0 -0
  180. data/test/test/{region → ephemeris}/planets.rb +0 -0
  181. data/test/test/{region → ephemeris}/sun.rb +0 -0
  182. data/test/test/parts.rb +8 -13
  183. data/test/test/region/christian.rb +245 -0
  184. data/test/test/region/french.rb +16 -16
  185. data/test/test/region/iran.rb +34 -34
  186. data/test/test/region/japanese.rb +6 -4
  187. data/test/test/region/m17n.rb +8 -7
  188. data/test/test/region/mayan.rb +12 -12
  189. data/test/test/region/residue.rb +20 -4
  190. data/test/test/region/thai.rb +25 -3
  191. data/test/test/region/yerm.rb +146 -0
  192. metadata +39 -20
  193. data/lib/when_exe/region/japanese_residues.rb +0 -1212
  194. data/test/test/region/civil.rb +0 -124
data/bin/irb.rc CHANGED
@@ -3,3 +3,4 @@ require 'when_exe'
3
3
  require 'when_exe/core/extension'
4
4
  require 'when_exe/mini_application'
5
5
  include When
6
+ IRB.conf[:EVAL_HISTORY] = 100
@@ -19,8 +19,8 @@ HEADER = <<HEADER
19
19
  You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
20
20
  =end
21
21
 
22
- module When::BasicTypes
23
- class M17n
22
+ module When
23
+ module Locale
24
24
  HEADER
25
25
 
26
26
  if "1".respond_to?(:force_encoding)
@@ -42,7 +42,7 @@ site.get('/svenfuchs/rails-i18n/tree/master/rails/locale').body.scan(/>([^> ]+?)
42
42
  locale = source.read
43
43
  end
44
44
  rescue Errno::ENOENT
45
- http = Net::HTTP.new('raw.github.com', '443')
45
+ http = Net::HTTP.new('raw.githubusercontent.com', '443')
46
46
  http.use_ssl = true
47
47
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
48
48
  sleep(1)
@@ -59,12 +59,13 @@ site.get('/svenfuchs/rails-i18n/tree/master/rails/locale').body.scan(/>([^> ]+?)
59
59
  yamls[code.sub(/-/,'_')] = {'date'=>yaml[code]['date'], 'time'=>yaml[code]['time'], 'datetime'=>yaml[code]['datetime']}
60
60
  end
61
61
 
62
- open("locales/locales/locales.rb", 'w') do |script|
62
+ open("locales/locales/autoload.rb", 'w') do |script|
63
63
  script.puts HEADER
64
64
  yamls.each_key do |key|
65
65
  script.puts " autoload :Locale_%-8s 'when_exe/locales/%s'" % [key + ',', key]
66
66
  end
67
- script.puts " end\nend"
67
+ script.puts " end"
68
+ script.puts "end"
68
69
  end
69
70
 
70
71
  yamls.each_pair do |key, value|
@@ -73,6 +74,7 @@ yamls.each_pair do |key, value|
73
74
  script.puts "\n # from https://raw.github.com/svenfuchs/rails-i18n/master/rails/locale/#{key.sub(/_/,'-')}.yml"
74
75
  script.puts "\n Locale_#{key} ="
75
76
  script.write(value.pretty_inspect)
76
- script.puts " end\nend"
77
+ script.puts " end"
78
+ script.puts "end"
77
79
  end
78
80
  end
@@ -13,4 +13,4 @@ args = ARGV.map {|arg| arg.encode('UTF-8')}
13
13
  config = When.config
14
14
  server, port = config['?']
15
15
  result = !port || !Object.const_defined?(:JSON) ? When.free_conv(*args) : args == [] ? When.server(port) : When.client(server, port, args.join(' '))
16
- pp When::Parts::Locale.translate(result, config['!']) if result
16
+ pp When::Locale.translate(result, config['!']) if result
@@ -55,6 +55,7 @@ module When
55
55
  # @option options [When::Coordinates::Spatial] :location デフォルトの空間位置
56
56
  # @option options [When::TM::IntervalLength] :until V::Event::Enumerator の until
57
57
  # @option options [Hash{String=>String}] :alias Locale の読替パターン ({ 読替前のlocale=>読替後のlocale })
58
+ # @option options [String] :namespaces 名前空間定義の省略時に名前空間生成に用いる書式
58
59
  # @option options [Hash{String=>String}] :unification 漢字の包摂パターン ({ 包摂前の文字列=>包摂後の文字列 })
59
60
  # @option options [Array<String>] :order CalendarEra の検索順序 ([ IRI of When::TM::CalendarEra ])
60
61
  # @option options [Hash{String=>Array, String}] :format strftime で用いる記号の定義 ({ 記号=>[ 書式,項目名 ] or 記号列 })
@@ -77,7 +78,7 @@ module When
77
78
  @multi_thread = options[:multi_thread]
78
79
  Parts::MethodCash._setup_(options)
79
80
  Parts::Resource._setup_(options)
80
- Parts::Locale._setup_(options)
81
+ Locale._setup_(options)
81
82
  Coordinates::Spatial._setup_(options[:location])
82
83
  TM::CalendarEra._setup_(options[:order])
83
84
  TM::Calendar._setup_
@@ -97,7 +98,7 @@ module When
97
98
  {:multi_thread => @multi_thread}.
98
99
  update(Parts::MethodCash._setup_info).
99
100
  update(Parts::Resource._setup_info).
100
- update(Parts::Locale._setup_info).
101
+ update(Locale._setup_info).
101
102
  update(Coordinates::Spatial._setup_info).
102
103
  update(TM::CalendarEra._setup_info).
103
104
  update(TM::Clock._setup_info).
@@ -105,6 +106,36 @@ module When
105
106
  update(V::Event._setup_info).
106
107
  update(TimeStandard._setup_info)
107
108
  end
109
+
110
+ #
111
+ # When 直下に定数として定義する時法・暦法(明示的的追加)
112
+ #
113
+ # @private
114
+ def _define_common_calendar_types(list=%w(UTC Gregorian Julian Civil))
115
+ list.each do |calendar|
116
+ resource = Parts::Resource._instance(calendar, '_c:')
117
+ Parts::Resource.synchronize do
118
+ Parts::Resource::ConstList << calendar
119
+ const_set(calendar, resource)
120
+ end
121
+ end
122
+ end
123
+
124
+ alias :_const_missing :const_missing
125
+
126
+ #
127
+ # When 直下に定数として定義する時法・暦法など(暗黙的追加)
128
+ #
129
+ def const_missing(constant)
130
+ iri = Parts::Resource._abbreviation_to_iri(constant)
131
+ return _const_missing(constant) unless iri
132
+ resource = Parts::Resource._instance(iri)
133
+ return const_get(constant) if const_defined?(constant)
134
+ Parts::Resource.synchronize do
135
+ Parts::Resource::ConstList << constant
136
+ const_set(constant, resource)
137
+ end
138
+ end
108
139
  end
109
140
 
110
141
  #
@@ -118,16 +149,15 @@ module When
118
149
  RootDir = File.dirname(__FILE__).sub(/\/[^\/]*$/,'')
119
150
 
120
151
  require 'when_exe/version'
152
+ require 'when_exe/locales/locale'
153
+ require 'when_exe/locales/autoload'
121
154
  require 'when_exe/parts/enumerator'
122
- require 'when_exe/parts/locale'
123
155
  require 'when_exe/parts/resource'
124
156
  require 'when_exe/parts/geometric_complex'
125
157
  require 'when_exe/parts/timezone'
126
- require 'when_exe/parts/method_cash'
127
158
  require 'when_exe/core/compatibility'
128
159
  require 'when_exe/basictypes'
129
160
  require 'when_exe/ephemeris'
130
- require 'when_exe/tmduration'
131
161
  require 'when_exe/coordinates'
132
162
  require 'when_exe/icalendar'
133
163
  require 'when_exe/tmobjects'
@@ -136,21 +166,22 @@ module When
136
166
  require 'when_exe/tmreference'
137
167
  require 'when_exe/calendartypes'
138
168
  require 'when_exe/calendarnote'
139
- require 'when_exe/locales/locales'
140
169
  require 'when_exe/region/m17n'
141
170
  require 'when_exe/region/residue'
142
- require 'when_exe/region/christian'
143
171
  require 'when_exe/inspect'
144
172
 
145
173
  #
146
174
  # Module Constants
147
175
  #
148
176
 
149
- DurationP1D = TM::PeriodDuration.new([0,0,1])
150
- DurationP1W = TM::PeriodDuration.new([0,0,7])
151
- DurationP1M = TM::PeriodDuration.new([0,1,0])
152
- DurationP1Y = TM::PeriodDuration.new([1,0,0])
153
- TimeValue = TM::IndeterminateValue
177
+ PT1S = TM::PeriodDuration.new(nil,[0,0,0,1])
178
+ PT1M = TM::PeriodDuration.new(nil,[0,0,1,0])
179
+ PT1H = TM::PeriodDuration.new(nil,[0,1,0,0])
180
+ P1D = TM::PeriodDuration.new([0,0,1])
181
+ P1W = TM::PeriodDuration.new([0,0,7])
182
+ P1M = TM::PeriodDuration.new([0,1,0])
183
+ P1Y = TM::PeriodDuration.new([1,0,0])
184
+ TimeValue = TM::IndeterminateValue
154
185
 
155
186
  PlusInfinity = TM::TemporalPosition.new({:indeterminated_position=>TimeValue::Max})
156
187
  MinusInfinity = TM::TemporalPosition.new({:indeterminated_position=>TimeValue::Min})
@@ -160,57 +191,90 @@ module When
160
191
  EUCJP = '.eucJP'
161
192
 
162
193
  class BasicTypes::M17n
163
- autoload :JapaneseTerms, 'when_exe/region/japanese'
164
- autoload :ChineseTerms, 'when_exe/region/chinese'
165
- autoload :YiTerms, 'when_exe/region/chinese'
166
- autoload :TibetanTerms, 'when_exe/region/tibetan'
167
- autoload :ThaiTerms, 'when_exe/region/thai'
168
- autoload :BalineseTerms, 'when_exe/region/balinese'
169
- autoload :JavaneseTerms, 'when_exe/region/javanese'
170
- autoload :IndianTerms, 'when_exe/region/indian'
171
- autoload :IranianTerms, 'when_exe/region/iranian'
172
- autoload :IslamicTerms, 'when_exe/region/islamic'
173
- autoload :JewishTerms, 'when_exe/region/jewish'
174
- autoload :RomanTerms, 'when_exe/region/roman'
175
- autoload :CopticTerms, 'when_exe/region/coptic'
176
- autoload :FrenchTerms, 'when_exe/region/french'
177
- autoload :WorldTerms, 'when_exe/region/world'
178
- autoload :ShireTerms, 'when_exe/region/shire'
179
- autoload :MartianTerms, 'when_exe/region/martian'
180
- autoload :WikipediaLinks, 'when_exe/locales/links'
194
+ autoload :Japanese, 'when_exe/region/japanese'
195
+ autoload :Chinese, 'when_exe/region/chinese'
196
+ autoload :Yi, 'when_exe/region/chinese'
197
+ autoload :Tibetan, 'when_exe/region/tibetan'
198
+ autoload :Thai, 'when_exe/region/thai'
199
+ autoload :Balinese, 'when_exe/region/balinese'
200
+ autoload :Javanese, 'when_exe/region/javanese'
201
+ autoload :Indian, 'when_exe/region/indian'
202
+ autoload :Iranian, 'when_exe/region/iranian'
203
+ autoload :Islamic, 'when_exe/region/islamic'
204
+ autoload :Jewish, 'when_exe/region/jewish'
205
+ autoload :Armenian, 'when_exe/region/Armenian'
206
+ autoload :Roman, 'when_exe/region/roman'
207
+ autoload :Coptic, 'when_exe/region/coptic'
208
+ autoload :French, 'when_exe/region/french'
209
+ autoload :World, 'when_exe/region/world'
210
+ autoload :Shire, 'when_exe/region/shire'
211
+ autoload :Yerm, 'when_exe/region/yerm'
212
+ autoload :Martian, 'when_exe/region/martian'
213
+ autoload :WeekDate, 'when_exe/region/weekdate'
214
+ end
215
+
216
+ module Locale
217
+ autoload :WikipediaLinks, 'when_exe/locales/links'
218
+ autoload :IAST, 'when_exe/locales/iast'
219
+ autoload :IASTR, 'when_exe/locales/iast'
220
+ autoload :AKT, 'when_exe/locales/akt'
181
221
  end
182
222
 
183
223
  module CalendarTypes
184
- autoload :Japanese, 'when_exe/region/japanese'
185
- autoload :JapaneseTwin, 'when_exe/region/japanese_twin'
186
- autoload :ChineseTwin, 'when_exe/region/chinese_twin'
187
- autoload :ChineseSolar, 'when_exe/region/chinese'
188
- autoload :ChineseLuniSolar, 'when_exe/region/chinese'
189
- autoload :Yi, 'when_exe/region/chinese'
190
- autoload :Tibetan, 'when_exe/region/tibetan'
191
- autoload :ThaiB, 'when_exe/region/thai'
192
- autoload :ThaiC, 'when_exe/region/thai'
193
- autoload :Tenganan, 'when_exe/region/balinese'
194
- autoload :Pranatamangsa, 'when_exe/region/javanese'
195
- autoload :IndianNationalSolar, 'when_exe/region/indian'
196
- autoload :HinduSolar, 'when_exe/region/indian'
197
- autoload :HinduLuniSolar, 'when_exe/region/indian'
198
- autoload :SolarHejri, 'when_exe/region/iranian'
199
- autoload :Bahai, 'when_exe/region/bahai'
200
- autoload :TabularIslamic, 'when_exe/region/islamic'
201
- autoload :EphemerisBasedIslamic, 'when_exe/region/islamic'
202
- autoload :Jewish, 'when_exe/region/jewish'
203
- autoload :Coptic, 'when_exe/region/coptic'
204
- autoload :JulianA, 'when_exe/region/roman'
205
- autoload :JulianB, 'when_exe/region/roman'
206
- autoload :JulianC, 'when_exe/region/roman'
207
- autoload :Roman, 'when_exe/region/roman'
208
- autoload :FrenchRepublican, 'when_exe/region/french'
209
- autoload :World, 'when_exe/region/world'
210
- autoload :LongCount, 'when_exe/region/mayan'
211
- autoload :Shire, 'when_exe/region/shire'
212
- autoload :ShireG, 'when_exe/region/shire'
213
- autoload :Darian, 'when_exe/region/martian'
224
+ autoload :Japanese, 'when_exe/region/japanese/calendars'
225
+ autoload :JapaneseTwin, 'when_exe/region/japanese/twins'
226
+ autoload :ChineseTwin, 'when_exe/region/chinese/twins'
227
+ autoload :ChineseSolar, 'when_exe/region/chinese'
228
+ autoload :ChineseLuniSolar, 'when_exe/region/chinese'
229
+ autoload :Yi, 'when_exe/region/chinese'
230
+ autoload :Korean, 'when_exe/region/korean'
231
+ autoload :Tibetan, 'when_exe/region/tibetan'
232
+ autoload :Thai, 'when_exe/region/thai'
233
+ autoload :ThaiP, 'when_exe/region/thai'
234
+ autoload :ThaiC, 'when_exe/region/thai'
235
+ autoload :ThaiT, 'when_exe/region/thai'
236
+ autoload :Tenganan, 'when_exe/region/balinese'
237
+ autoload :Pranatamangsa, 'when_exe/region/javanese'
238
+ autoload :IndianNationalSolar, 'when_exe/region/indian'
239
+ autoload :Nanakshahi, 'when_exe/region/indian'
240
+ autoload :RevisedBengali, 'when_exe/region/indian'
241
+ autoload :HinduLuniSolar, 'when_exe/region/indian'
242
+ autoload :HinduSolar, 'when_exe/region/indian'
243
+ autoload :Jalali, 'when_exe/region/iranian'
244
+ autoload :TableBasedJalali, 'when_exe/region/iranian'
245
+ autoload :Borji, 'when_exe/region/iranian'
246
+ autoload :TableBasedBorji, 'when_exe/region/iranian'
247
+ autoload :SolarHijri, 'when_exe/region/iranian'
248
+ autoload :SolarHijriAlgorithmic, 'when_exe/region/iranian'
249
+ autoload :Zoroastrian, 'when_exe/region/zoroastrian'
250
+ autoload :Qadimi, 'when_exe/region/zoroastrian'
251
+ autoload :Shahanshahi, 'when_exe/region/zoroastrian'
252
+ autoload :Fasli, 'when_exe/region/zoroastrian'
253
+ autoload :Bahai, 'when_exe/region/bahai'
254
+ autoload :TabularIslamic, 'when_exe/region/islamic'
255
+ autoload :EphemerisBasedIslamic, 'when_exe/region/islamic'
256
+ autoload :Jewish, 'when_exe/region/jewish'
257
+ autoload :Armenian, 'when_exe/region/armenian'
258
+ autoload :Coptic, 'when_exe/region/coptic'
259
+ autoload :JulianA, 'when_exe/region/roman'
260
+ autoload :JulianB, 'when_exe/region/roman'
261
+ autoload :JulianC, 'when_exe/region/roman'
262
+ autoload :Roman, 'when_exe/region/roman'
263
+ autoload :Gregorian, 'when_exe/region/christian'
264
+ autoload :FrenchRepublican, 'when_exe/region/french'
265
+ autoload :World, 'when_exe/region/world'
266
+ autoload :LongCount, 'when_exe/region/mayan'
267
+ autoload :Discordian, 'when_exe/region/discordian'
268
+ autoload :Shire, 'when_exe/region/shire'
269
+ autoload :ShireG, 'when_exe/region/shire'
270
+ autoload :Sym454, 'when_exe/region/symmetry'
271
+ autoload :Sym010, 'when_exe/region/symmetry'
272
+ autoload :Yerm, 'when_exe/region/yerm'
273
+ autoload :Dee, 'when_exe/region/dee'
274
+ autoload :DeeCecil, 'when_exe/region/dee'
275
+ autoload :Goddess, 'when_exe/region/goddess'
276
+ autoload :Darian, 'when_exe/region/martian'
277
+ autoload :WeekDate, 'when_exe/region/weekdate'
214
278
 
215
279
  _time_systems = {
216
280
  'LMT' => nil, # Local Mean Time
@@ -225,99 +289,97 @@ module When
225
289
  end
226
290
 
227
291
  class CalendarNote
228
- autoload :SolarTerms, 'when_exe/region/ephemeric_notes'
229
- autoload :LunarPhases, 'when_exe/region/ephemeric_notes'
230
- autoload :EphemericNote, 'when_exe/region/ephemeric_notes'
231
- autoload :JapaneseNote, 'when_exe/region/japanese_notes'
232
- autoload :BalineseNote, 'when_exe/region/balinese'
233
- autoload :RomanNote, 'when_exe/region/roman'
234
- autoload :WorldWeek, 'when_exe/region/world'
235
- autoload :ShireWeek, 'when_exe/region/shire'
236
-
237
- DefaultNotes = [['_m:CalendarTerms::Month'], ['CommonResidue::Week']]
238
- JulianDayNotes = [['CommonResidue::Week', 'CommonResidue::干支']]
239
- BahaiNotes = [['Bahai::YearName'], ['_m:BahaiTerms::Month'], ['CommonResidue::Week']]
240
- JavaneseNotes = [['Javanese::Windu'], ['_m:CalendarTerms::Month'],
241
- ['Javanese::Pasaran', 'Javanese::Paringkelan', 'Javanese::Week', 'Javanese::Wuku']]
242
- ChineseNotes = [['CommonResidue::干支'], ['_m:CalendarTerms::Month'], ['CommonResidue::Week', 'CommonResidue::干支']]
243
- TibetanNotes = [['Tibetan::干支'], ['_m:CalendarTerms::Month'], ['CommonResidue::Week']]
244
- YiNotes = [['Yi::YearName'], ['_m:CalendarTerms::Month'], ['CommonResidue::Week']]
245
- MayanNotes = [{},['Mayan#{?Epoch=Epoch}::Trecena', 'Mayan#{?Epoch=Epoch}::Tzolk\'in',
246
- 'Mayan#{?Epoch=Epoch}::Lords_of_the_Night', 'Mayan#{?Epoch=Epoch}::Haab\'']]
292
+ autoload :SolarTerms, 'when_exe/ephemeris/notes'
293
+ autoload :LunarPhases, 'when_exe/ephemeris/notes'
294
+ autoload :Ephemeris, 'when_exe/ephemeris/notes'
295
+ autoload :Japanese, 'when_exe/region/japanese/notes'
296
+ autoload :Yis, 'when_exe/region/chinese'
297
+ autoload :Balinese, 'when_exe/region/balinese'
298
+ autoload :Javanese, 'when_exe/region/javanese'
299
+ autoload :Tibetan, 'when_exe/region/tibetan'
300
+ autoload :Bahai, 'when_exe/region/bahai'
301
+ autoload :Roman, 'when_exe/region/roman'
302
+ autoload :Mayan, 'when_exe/region/mayan'
303
+ autoload :Discordian, 'when_exe/region/discordian'
304
+ # autoload :Yerm, 'when_exe/region/yerm'
305
+ autoload :WorldWeek, 'when_exe/region/world'
306
+ autoload :ShireWeek, 'when_exe/region/shire'
307
+
308
+ Default = [['_m:Calendar::Month'], ['Common::Week']]
309
+ JulianDay = [['Common::Week', 'Common::干支']]
310
+ Chinese = [['Common::干支'], ['_m:Calendar::Month'], ['Common::Week', 'Common::干支']]
247
311
  end
248
312
 
249
313
  module Coordinates
250
- autoload :Tibetan, 'when_exe/region/tibetan'
251
- autoload :Yi, 'when_exe/region/chinese'
252
- autoload :Javanese, 'when_exe/region/javanese'
253
- autoload :IndianCities, 'when_exe/region/indian'
254
- autoload :Bahai, 'when_exe/region/bahai'
255
- autoload :Roman, 'when_exe/region/roman'
256
- autoload :Mayan, 'when_exe/region/mayan'
314
+ autoload :Tibetan, 'when_exe/region/tibetan'
315
+ autoload :Yi, 'when_exe/region/chinese'
316
+ autoload :Javanese, 'when_exe/region/javanese'
317
+ autoload :Indian, 'when_exe/region/indian'
318
+ autoload :Iranian, 'when_exe/region/iranian'
319
+ autoload :Bahai, 'when_exe/region/bahai'
320
+ autoload :Roman, 'when_exe/region/roman'
321
+ autoload :Mayan, 'when_exe/region/mayan'
257
322
 
258
323
  # default index for day coordinate
259
- DefaultDayIndex = Coordinates::Index.new
324
+ DefaultDayIndex = Index.new
260
325
 
261
326
  # default indices for date coordinates
262
327
  DefaultDateIndices = [
263
- Coordinates::Index.new({:unit=>12}),
328
+ Index.new(When::Parts::Resource._instance('_m:Calendar::Month'), {:unit =>12}),
264
329
  DefaultDayIndex
265
330
  ]
266
331
 
267
332
  # default indices for time coordinates
268
333
  DefaultTimeIndices = [
269
- Coordinates::Index.new({:base=>0, :unit=>24}),
270
- Coordinates::Index.new({:base=>0, :unit=>60}),
271
- Coordinates::Index.new({:base=>0, :unit=>60})
334
+ Index.new({:base=>0, :unit=>24}),
335
+ Index.new({:base=>0, :unit=>60}),
336
+ Index.new({:base=>0, :unit=>60})
272
337
  ]
273
338
  end
274
339
 
275
340
  module TM
276
341
  class OrdinalReferenceSystem
277
- autoload :GeologicalAge, 'when_exe/region/geologicalage'
342
+ autoload :GeologicalAge, 'when_exe/region/geologicalage'
278
343
  end
279
344
 
280
345
  class CalendarEra
281
- autoload :Japanese, 'when_exe/region/japanese'
282
- autoload :JapanesePrimeMinister, 'when_exe/region/japanese'
283
- autoload :NihonKoki, 'when_exe/region/nihon_shoki'
284
- autoload :NihonShoki, 'when_exe/region/nihon_shoki'
285
- autoload :JapaneseSolarSeries, 'when_exe/region/japanese_twin'
286
- autoload :JapaneseLuniSolarSeries, 'when_exe/region/japanese_twin'
287
- autoload :Chinese, 'when_exe/region/chinese_epoch'
288
- autoload :ChineseSolarSeries, 'when_exe/region/chinese_twin'
289
- autoload :ChineseLuniSolarSeries, 'when_exe/region/chinese_twin'
290
- autoload :Ryukyu, 'when_exe/region/ryukyu'
291
- autoload :Korean, 'when_exe/region/korean'
292
- autoload :Vietnamese, 'when_exe/region/vietnamese'
293
- autoload :Manchurian, 'when_exe/region/far_east'
294
- autoload :Rouran, 'when_exe/region/far_east'
295
- autoload :Gaochang, 'when_exe/region/far_east'
296
- autoload :Yunnan, 'when_exe/region/far_east'
297
- # autoload :Tibetan, 'when_exe/region/tibetan'
298
- autoload :BalineseLuniSolar, 'when_exe/region/balinese'
299
- autoload :JavaneseLunar, 'when_exe/region/javanese'
300
- autoload :IndianNationalSolar, 'when_exe/region/indian'
301
- autoload :Iranian, 'when_exe/region/iranian'
302
- autoload :Hijra, 'when_exe/region/islamic'
303
- autoload :Jewish, 'when_exe/region/jewish'
304
- autoload :Roman, 'when_exe/region/roman'
305
- autoload :Julian, 'when_exe/region/roman'
306
- autoload :Pope, 'when_exe/region/pope'
307
- autoload :Byzantine, 'when_exe/region/christian'
308
- autoload :French, 'when_exe/region/french'
309
- autoload :World, 'when_exe/region/world'
310
- autoload :LongCount, 'when_exe/region/mayan'
346
+ autoload :Japanese, 'when_exe/region/japanese/epochs'
347
+ autoload :JapanesePrimeMinister, 'when_exe/region/japanese/epochs'
348
+ autoload :NihonKoki, 'when_exe/region/japanese/nihon_shoki'
349
+ autoload :NihonShoki, 'when_exe/region/japanese/nihon_shoki'
350
+ autoload :JapaneseSolar, 'when_exe/region/japanese/twins'
351
+ autoload :JapaneseLuniSolar, 'when_exe/region/japanese/twins'
352
+ autoload :Chinese, 'when_exe/region/chinese/epochs'
353
+ autoload :ChineseSolar, 'when_exe/region/chinese/twins'
354
+ autoload :ChineseLuniSolar, 'when_exe/region/chinese/twins'
355
+ autoload :Ryukyu, 'when_exe/region/ryukyu'
356
+ autoload :Korean, 'when_exe/region/korean'
357
+ autoload :Vietnamese, 'when_exe/region/vietnamese'
358
+ autoload :Manchurian, 'when_exe/region/far_east'
359
+ autoload :Rouran, 'when_exe/region/far_east'
360
+ autoload :Gaochang, 'when_exe/region/far_east'
361
+ autoload :Yunnan, 'when_exe/region/far_east'
362
+ # autoload :Tibetan, 'when_exe/region/tibetan'
363
+ autoload :BalineseLuniSolar, 'when_exe/region/balinese'
364
+ autoload :JavaneseLunar, 'when_exe/region/javanese'
365
+ autoload :Iranian, 'when_exe/region/iranian'
366
+ autoload :Hijra, 'when_exe/region/islamic'
367
+ autoload :Jewish, 'when_exe/region/jewish'
368
+ autoload :Roman, 'when_exe/region/roman'
369
+ autoload :Julian, 'when_exe/region/roman'
370
+ autoload :Pope, 'when_exe/region/pope'
371
+ autoload :Byzantine, 'when_exe/region/christian'
372
+ autoload :LongCount, 'when_exe/region/mayan'
311
373
 
312
374
  # Defualt search path for Epochs and Eras
313
375
  DefaultEpochs = ['Common', 'ModernJapanese',
314
- 'IndianNationalSolar', 'Iranian', 'Hijra', 'Jewish',
315
- 'Roman', 'Byzantine', 'French', 'World', 'LongCount',
376
+ 'Hijra', 'Jewish', 'Iranian',
377
+ 'Roman', 'Byzantine', 'LongCount',
316
378
  'BalineseLuniSolar', 'JavaneseLunar',
317
379
  'Japanese', 'JapanesePrimeMinister', 'NihonKoki', 'NihonShoki',
318
380
  'Chinese', 'Ryukyu', 'Vietnamese', 'Korean',
319
- 'JapaneseSolarSeries', 'JapaneseLuniSolarSeries',
320
- 'ChineseSolarSeries', 'ChineseLuniSolarSeries',
381
+ 'JapaneseSolar', 'JapaneseLuniSolar',
382
+ 'ChineseSolar', 'ChineseLuniSolar',
321
383
  'Manchurian', 'Rouran', 'Gaochang', 'Yunnan', # 'Tibetan',
322
384
  'Pope' ]
323
385
 
@@ -333,7 +395,6 @@ module When
333
395
 
334
396
  # Common Era
335
397
  Common = [{}, self, [
336
- 'namespace:[en=http://en.wikipedia.org/wiki/]',
337
398
  'area:Common#{?Reform=Reform}',
338
399
  ['[BeforeCommonEra=en:BCE_(disambiguation),*alias:BCE]0.1.1'],
339
400
  ['[CommonEra=en:Common_Era,*alias:CE]1.1.1', 'Calendar Epoch', '01-01-01^Julian'],
@@ -342,9 +403,8 @@ module When
342
403
 
343
404
  # Modern Japanese Eras after the calendar reform to the Gregorian Calendar
344
405
  ModernJapanese = [self, [
345
- 'namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]',
346
406
  'area:[ModernJapanese]',
347
- ['[M=,alias:明=ja:明治]6.01.01', '@CR', '1873-01-01^Gregorian?note=DefaultNotes'],
407
+ ['[M=,alias:明=ja:明治]6.01.01', '@CR', '1873-01-01^Gregorian?note=Default'],
348
408
  ['[T=,alias:大=ja:大正]1.07.30', '@A', '1912-07-30'],
349
409
  ['[S=,alias:昭=ja:昭和]1.12.25', '@A', '1926-12-25'],
350
410
  ['[H=,alias:平=ja:平成]1.01.08', '@A', '1989-01-08']
@@ -379,7 +439,7 @@ module When
379
439
  when /^today$/i ; today(options)
380
440
  when /^now$/i ; now(options)
381
441
  when /[\n\r]+/ ; when?(specification.split(/[\n\r]+/), options)
382
- when String ; TM::TemporalPosition._instance(specification, options)
442
+ when String ; TM::TemporalPosition._instance(EncodingConversion.to_internal_encoding(specification), options)
383
443
  when Numeric ; TM::JulianDate.new(+specification, TM::TemporalPosition._options(options))
384
444
  else ; Calendar(options[:frame] || 'Gregorian').jul_trans(specification, options)
385
445
  end
@@ -410,7 +470,13 @@ module When
410
470
  options = TM::TemporalPosition._options(options)
411
471
  options[:frame] ||= 'Gregorian'
412
472
  options[:frame] = Resource(options[:frame], '_c:') if options[:frame].kind_of?(String)
413
- options[:era_name] = args.shift if args[0].kind_of?(String) || args[0].kind_of?(Array)
473
+ case args[0]
474
+ when String
475
+ options[:era_name] = EncodingConversion.to_internal_encoding(args.shift)
476
+ when Array
477
+ options[:era_name] = args.shift
478
+ options[:era_name][0] = EncodingConversion.to_internal_encoding(options[:era_name][0])
479
+ end
414
480
 
415
481
  # 時間位置の生成
416
482
  date = Array.new(options[:frame].indices.length+1) {args.shift}
@@ -441,6 +507,9 @@ module When
441
507
  return position
442
508
  end
443
509
 
510
+ alias :tm_pos :TemporalPosition
511
+ module_function :tm_pos
512
+
444
513
  # 指定日時に対応する When::TM::TemporalPosition の生成
445
514
  # (When::TM::DateAndTime of specified Time)
446
515
  #
@@ -549,12 +618,12 @@ module When
549
618
 
550
619
  # When::CalendarNote の生成/参照
551
620
  #
552
- # @param [String] notes 暦注リストを表す文字列
621
+ # @param [String] note 暦注リストを表す文字列
553
622
  #
554
- # @return [When::CalendarNote] notes に対応する When::CalendarNote オブジェクト
623
+ # @return [When::CalendarNote] note に対応する When::CalendarNote オブジェクト
555
624
  #
556
- def CalendarNote(notes)
557
- Parts::Resource._instance(notes, '_n:')
625
+ def CalendarNote(note)
626
+ Parts::Resource._instance(note, '_n:')
558
627
  end
559
628
 
560
629
  # When::TM::CalendarEra の生成/参照
@@ -598,7 +667,7 @@ module When
598
667
  def Clock(clock)
599
668
  case clock
600
669
  when Parts::Timezone::Base ; return clock
601
- when 'Z', 0 ; return utc
670
+ when 'Z', 0 ; return UTC
602
671
  when Numeric ; return Parts::Resource._instance("_tm:Clock?label=" + TM::Clock.to_hms(clock))
603
672
  when /^#{CalendarTypes::TimeSystems}/ ; return Parts::Resource._instance('_c:' + clock)
604
673
  when String ;
@@ -614,14 +683,6 @@ module When
614
683
  Parts::Resource._instance(iri)
615
684
  end
616
685
 
617
- # When::CalendarTypes::UTC の生成/参照
618
- #
619
- # @return [When::CalendarTypes::UTC]
620
- #
621
- def utc
622
- Parts::Resource._instance("_c:UTC")
623
- end
624
-
625
686
  # When::Coordinates::Spatial の生成/参照
626
687
  #
627
688
  # @overload Location(location)
@@ -722,6 +783,7 @@ module When
722
783
  when Array ; BasicTypes::M17n.new(source, namespace, locale, options)
723
784
  when BasicTypes::M17n ; source
724
785
  when String
786
+ source = EncodingConversion.to_internal_encoding(source)
725
787
  return self[$1] if source =~ /^\s*\[((\.{1,2}|::)+[^\]]+)\]/ && self.kind_of?(When::Parts::Resource)
726
788
  return Parts::Resource[$1] if source =~ /^\s*\[::([^\]]+)\]/
727
789
  BasicTypes::M17n.new(source, namespace, locale, options)
@@ -734,7 +796,7 @@ module When
734
796
  # @param [String] title Wikipedia の項目名
735
797
  # @param [Hash] options 以下の通り
736
798
  # @option options [String] :locale Wikipedia の言語(デフォルト 'en' - 英語)
737
- # @option options [Numeric, nil] :interval Wikipedia サイトへのアクセス制御(デフォルト When::Parts::Locale.wikipedia_interval)
799
+ # @option options [Numeric, nil] :interval Wikipedia サイトへのアクセス制御(デフォルト When::Locale.wikipedia_interval)
738
800
  # @option options [Object] :その他 キャッシュファイルへの追加書き出し要素
739
801
  #
740
802
  # @return [When::BasicTypes::M17n] 項目に対応する多言語対応文字列
@@ -744,9 +806,10 @@ module When
744
806
  #
745
807
  def Wikipedia(title, options={})
746
808
  locale = options.delete(:locale) || 'en'
809
+ title = EncodingConversion.to_internal_encoding(title)
747
810
  entry, query = title.split('?', 2)
748
811
  url = "http://#{locale}.wikipedia.org/wiki/#{URI.encode(entry).gsub(' ', '_')}"
749
- Parts::Locale.send(:wikipedia_object, url, options) unless options.empty?
812
+ Locale.send(:wikipedia_object, url, options) unless options.empty?
750
813
  url += '?' + query if query
751
814
  object = Parts::Resource._instance(url)
752
815
  object.kind_of?(BasicTypes::M17n) ? object : object.label
@@ -764,6 +827,24 @@ module When
764
827
  end
765
828
  alias :IRI :Resource
766
829
 
830
+ # When::Coordinates::Index の生成
831
+ #
832
+ # @overload Index(terms=nil, name='Month', options)
833
+ # @param [String] terms trunk の用語空間名
834
+ # @param [String] name trunk の要素配列名
835
+ # @param [Hash] options
836
+ # @option options [Array] :trunk 幹の要素(省略時は使用しない)
837
+ # @option options [Hash] :branch 枝の要素(省略時は使用しない)
838
+ # @option options [Integer] :unit 要素の数(省略時は不定)
839
+ # @option options [Integer] :base 要素の最初の添え字(0 or 1(デフォルト))
840
+ # @option options [Integer] :shift 幹の要素のローテート数(省略時はローテートしない)
841
+ #
842
+ # @return [When::Coordinates::Index]
843
+ #
844
+ def Index(*args)
845
+ Coordinates::Index.new(*args)
846
+ end
847
+
767
848
  # When::Coordinates::Pair の生成
768
849
  #
769
850
  # @param [Numeric, String] trunk 幹の要素
@@ -775,4 +856,8 @@ module When
775
856
  def Pair(trunk, branch=nil)
776
857
  Coordinates::Pair._force_pair(trunk, branch)
777
858
  end
859
+
860
+ # When 直下に定数として時法・暦法を定義する
861
+ _define_common_calendar_types
862
+
778
863
  end