when_exe 0.4.0 → 0.4.1
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.
- checksums.yaml +4 -4
 - data/README.md +333 -212
 - data/bin/make_ttl.rb +37 -0
 - data/bin/make_ttl.rb.config +9 -0
 - data/lib/when_exe.rb +923 -925
 - data/lib/when_exe/calendarnote.rb +9 -5
 - data/lib/when_exe/coordinates.rb +2437 -2446
 - data/lib/when_exe/inspect.rb +1480 -1408
 - data/lib/when_exe/linkeddata.rb +574 -0
 - data/lib/when_exe/locales/akt.rb +177 -176
 - data/lib/when_exe/locales/locale.rb +751 -751
 - data/lib/when_exe/mini_application.rb +307 -307
 - data/lib/when_exe/parts/resource.rb +1115 -1103
 - data/lib/when_exe/region/chinese/epochs.rb +6 -5
 - data/lib/when_exe/region/christian.rb +831 -829
 - data/lib/when_exe/region/japanese.rb +93 -93
 - data/lib/when_exe/region/japanese/notes.rb +1510 -1495
 - data/lib/when_exe/region/japanese/residues.rb +13 -13
 - data/lib/when_exe/tmposition.rb +2307 -2273
 - data/lib/when_exe/tmreference.rb +1744 -1734
 - data/lib/when_exe/version.rb +2 -2
 - data/link_to_online_documents +1 -1
 - data/test/scripts/3.ext.rb +6 -6
 - data/test/scripts/3.rb +6 -6
 - data/test/test.rb +76 -75
 - data/test/test/icalendar.rb +883 -879
 - data/test/test/linkeddata.rb +224 -0
 - data/test/test/region/m17n.rb +193 -193
 - data/when_exe.gemspec +3 -2
 - metadata +13 -6
 
| 
         @@ -1,93 +1,93 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # -*- coding: utf-8 -*-
         
     | 
| 
       2 
     | 
    
         
            -
            =begin
         
     | 
| 
       3 
     | 
    
         
            -
              Copyright (C) 2011- 
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
              You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
         
     | 
| 
       6 
     | 
    
         
            -
            =end
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
            module When
         
     | 
| 
       9 
     | 
    
         
            -
              class BasicTypes::M17n
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
                Japanese = [self, [
         
     | 
| 
       12 
     | 
    
         
            -
                  "locale:[=en:, ja=ja:, alias=ja:]",
         
     | 
| 
       13 
     | 
    
         
            -
                  "names:[Japanese=]",
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
                  # Remarks
         
     | 
| 
       16 
     | 
    
         
            -
                  "[based on Research Project 22520700=http://suchowan.at.webry.info/201401/article_25.html," +
         
     | 
| 
       17 
     | 
    
         
            -
                   "典拠 - 科研22520700=]",
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
                  [self,
         
     | 
| 
       20 
     | 
    
         
            -
                    "names:[Month, 月=ja:%%<月_(暦)>]",
         
     | 
| 
       21 
     | 
    
         
            -
                    "[Month 1=,  *正月=ja:%%<1月_(旧暦)>,    睦月  ]",
         
     | 
| 
       22 
     | 
    
         
            -
                    "[Month 2=,  *二月=ja:%%<2月_(旧暦)>,    如月  ]",
         
     | 
| 
       23 
     | 
    
         
            -
                    "[Month 3=,  *三月=ja:%%<3月_(旧暦)>,    弥生  ]",
         
     | 
| 
       24 
     | 
    
         
            -
                    "[Month 4=,  *四月=ja:%%<4月_(旧暦)>,    卯月  ]",
         
     | 
| 
       25 
     | 
    
         
            -
                    "[Month 5=,  *五月=ja:%%<5月_(旧暦)>,    皐月  ]",
         
     | 
| 
       26 
     | 
    
         
            -
                    "[Month 6=,  *六月=ja:%%<6月_(旧暦)>,    水無月]",
         
     | 
| 
       27 
     | 
    
         
            -
                    "[Month 7=,  *七月=ja:%%<7月_(旧暦)>,    文月  ]",
         
     | 
| 
       28 
     | 
    
         
            -
                    "[Month 8=,  *八月=ja:%%<8月_(旧暦)>,    葉月  ]",
         
     | 
| 
       29 
     | 
    
         
            -
                    "[Month 9=,  *九月=ja:%%<9月_(旧暦)>,    長月  ]",
         
     | 
| 
       30 
     | 
    
         
            -
                    "[Month 10=, *十月=ja:%%<10月_(旧暦)>,   神無月]",
         
     | 
| 
       31 
     | 
    
         
            -
                    "[Month 11=, *十一月=ja:%%<11月_(旧暦)>, 霜月  ]",
         
     | 
| 
       32 
     | 
    
         
            -
                    "[Month 12=, *十二月=ja:%%< 
     | 
| 
       33 
     | 
    
         
            -
                  ],
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
                  [self,
         
     | 
| 
       36 
     | 
    
         
            -
                    "names:[The_Tale_of_Genji, *源氏物語]",
         
     | 
| 
       37 
     | 
    
         
            -
                    "[Kiritsubo=,        *桐壺]",
         
     | 
| 
       38 
     | 
    
         
            -
                    "[Hahakigi=,         *帚木=ja:%%<帚木_(源氏物語)>]",
         
     | 
| 
       39 
     | 
    
         
            -
                    "[Utsusemi=,         *空蝉=ja:%%<空蝉_(源氏物語)>]",
         
     | 
| 
       40 
     | 
    
         
            -
                    "[Yūgao=,            *夕顔=ja:%%<夕顔_(源氏物語)>]",
         
     | 
| 
       41 
     | 
    
         
            -
                    "[Wakamurasaki=,     *若紫]",
         
     | 
| 
       42 
     | 
    
         
            -
                    "[Suetsumuhana,      *末摘花=ja:%%<末摘花_(源氏物語)>]",
         
     | 
| 
       43 
     | 
    
         
            -
                    "[Momiji no Ga=,     *紅葉賀]",
         
     | 
| 
       44 
     | 
    
         
            -
                    "[Hana no En=,       *花宴]",
         
     | 
| 
       45 
     | 
    
         
            -
                    "[Aoi=,              *葵=ja:%%<葵_(源氏物語)>]",
         
     | 
| 
       46 
     | 
    
         
            -
                    "[Sakaki=,           *賢木]",
         
     | 
| 
       47 
     | 
    
         
            -
                    "[Hana Chiru Sato=,  *花散里]",
         
     | 
| 
       48 
     | 
    
         
            -
                    "[Suma=,             *須磨=ja:%%<須磨_(源氏物語)>]",
         
     | 
| 
       49 
     | 
    
         
            -
                    "[Akashi=,           *明石=ja:%%<明石_(源氏物語)>]",
         
     | 
| 
       50 
     | 
    
         
            -
                    "[Miotsukushi=,      *澪標=ja:%%<澪標_(源氏物語)>]",
         
     | 
| 
       51 
     | 
    
         
            -
                    "[Yomogiu=,          *蓬生]",
         
     | 
| 
       52 
     | 
    
         
            -
                    "[Sekiya=,           *関屋=ja:%%<関屋_(源氏物語)>]",
         
     | 
| 
       53 
     | 
    
         
            -
                    "[E Awase=,          *絵合]",
         
     | 
| 
       54 
     | 
    
         
            -
                    "[Matsukaze=,        *松風=ja:%%<松風_(源氏物語)>]",
         
     | 
| 
       55 
     | 
    
         
            -
                    "[Usugumo=,          *薄雲]",
         
     | 
| 
       56 
     | 
    
         
            -
                    "[Asagao=,           *朝顔=ja:%%<朝顔_(源氏物語)>]",
         
     | 
| 
       57 
     | 
    
         
            -
                    "[Otome=,            *少女=ja:%%<少女_(源氏物語)>]",
         
     | 
| 
       58 
     | 
    
         
            -
                    "[Tamakazura=,       *玉鬘=ja:%%<玉鬘_(源氏物語)>]",
         
     | 
| 
       59 
     | 
    
         
            -
                    "[Hatsune=,          *初音=ja:%%<初音_(源氏物語)>]",
         
     | 
| 
       60 
     | 
    
         
            -
                    "[Kochō=,            *胡蝶=ja:%%<胡蝶_(源氏物語)>]",
         
     | 
| 
       61 
     | 
    
         
            -
                    "[Hotaru=,           *蛍=ja:%%<蛍_(源氏物語)>]",
         
     | 
| 
       62 
     | 
    
         
            -
                    "[Tokonatsu=,        *常夏]",
         
     | 
| 
       63 
     | 
    
         
            -
                    "[Kagaribi=,         *篝火]",
         
     | 
| 
       64 
     | 
    
         
            -
                    "[Nowaki=,           *野分=ja:%%<野分_(源氏物語)>]",
         
     | 
| 
       65 
     | 
    
         
            -
                    "[Miyuki=,           *行幸=ja:%%<行幸_(源氏物語)>]",
         
     | 
| 
       66 
     | 
    
         
            -
                    "[Fujibakama=,       *藤袴]",
         
     | 
| 
       67 
     | 
    
         
            -
                    "[Makibashira=,      *真木柱]",
         
     | 
| 
       68 
     | 
    
         
            -
                    "[Mume ga E=,        *梅枝]",
         
     | 
| 
       69 
     | 
    
         
            -
                    "[Fuji no Uraba=,    *藤裏葉]",
         
     | 
| 
       70 
     | 
    
         
            -
                    "[Wakana=,           *若菜=ja:%%<若菜_(源氏物語)>]",
         
     | 
| 
       71 
     | 
    
         
            -
                    "[Kashiwagi=,        *柏木=ja:%%<柏木_(源氏物語)>]",
         
     | 
| 
       72 
     | 
    
         
            -
                    "[Yokobue=,          *横笛=ja:%%<横笛_(源氏物語)>]",
         
     | 
| 
       73 
     | 
    
         
            -
                    "[Suzumushi=,        *鈴虫]",
         
     | 
| 
       74 
     | 
    
         
            -
                    "[Yūgiri=,           *夕霧=ja:%%<夕霧_(源氏物語)>]",
         
     | 
| 
       75 
     | 
    
         
            -
                    "[Minori=,           *御法]",
         
     | 
| 
       76 
     | 
    
         
            -
                    "[Maboroshi=,        *幻=ja:%%<幻_(源氏物語)>]",
         
     | 
| 
       77 
     | 
    
         
            -
                    "[Niō Miya=,         *匂宮]",
         
     | 
| 
       78 
     | 
    
         
            -
                    "[Kōbai=,            *紅梅=ja:%%<紅梅_(源氏物語)>]",
         
     | 
| 
       79 
     | 
    
         
            -
                    "[Takekawa=,         *竹河]",
         
     | 
| 
       80 
     | 
    
         
            -
                    "[Hashihime=,        *橋姫=ja:%%<橋姫_(源氏物語)>]",
         
     | 
| 
       81 
     | 
    
         
            -
                    "[Shī ga Moto=,      *椎本]",
         
     | 
| 
       82 
     | 
    
         
            -
                    "[Agemaki=,          *総角=ja:%%<総角_(源氏物語)>]",
         
     | 
| 
       83 
     | 
    
         
            -
                    "[Sawarabi=,         *早蕨]",
         
     | 
| 
       84 
     | 
    
         
            -
                    "[Yadorigi=,         *宿木]",
         
     | 
| 
       85 
     | 
    
         
            -
                    "[Azumaya=,          *東屋]",
         
     | 
| 
       86 
     | 
    
         
            -
                    "[Ukifune,           *浮舟=ja:%%<浮舟_(源氏物語)>]",
         
     | 
| 
       87 
     | 
    
         
            -
                    "[Kagerō=,           *蜻蛉=ja:%%<蜻蛉_(源氏物語)>]",
         
     | 
| 
       88 
     | 
    
         
            -
                    "[Tenarai=,          *手習]",
         
     | 
| 
       89 
     | 
    
         
            -
                    "[Yume no Ukihashi=, *夢浮橋]"
         
     | 
| 
       90 
     | 
    
         
            -
                  ]
         
     | 
| 
       91 
     | 
    
         
            -
                ]]
         
     | 
| 
       92 
     | 
    
         
            -
              end
         
     | 
| 
       93 
     | 
    
         
            -
            end
         
     | 
| 
      
 1 
     | 
    
         
            +
            # -*- coding: utf-8 -*-
         
     | 
| 
      
 2 
     | 
    
         
            +
            =begin
         
     | 
| 
      
 3 
     | 
    
         
            +
              Copyright (C) 2011-2015 Takashi SUGA
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
         
     | 
| 
      
 6 
     | 
    
         
            +
            =end
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            module When
         
     | 
| 
      
 9 
     | 
    
         
            +
              class BasicTypes::M17n
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                Japanese = [self, [
         
     | 
| 
      
 12 
     | 
    
         
            +
                  "locale:[=en:, ja=ja:, alias=ja:]",
         
     | 
| 
      
 13 
     | 
    
         
            +
                  "names:[Japanese=]",
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                  # Remarks
         
     | 
| 
      
 16 
     | 
    
         
            +
                  "[based on Research Project 22520700=http://suchowan.at.webry.info/201401/article_25.html," +
         
     | 
| 
      
 17 
     | 
    
         
            +
                   "典拠 - 科研22520700=]",
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                  [self,
         
     | 
| 
      
 20 
     | 
    
         
            +
                    "names:[Month, 月=ja:%%<月_(暦)>]",
         
     | 
| 
      
 21 
     | 
    
         
            +
                    "[Month 1=,  *正月=ja:%%<1月_(旧暦)>,    睦月  ]",
         
     | 
| 
      
 22 
     | 
    
         
            +
                    "[Month 2=,  *二月=ja:%%<2月_(旧暦)>,    如月  ]",
         
     | 
| 
      
 23 
     | 
    
         
            +
                    "[Month 3=,  *三月=ja:%%<3月_(旧暦)>,    弥生  ]",
         
     | 
| 
      
 24 
     | 
    
         
            +
                    "[Month 4=,  *四月=ja:%%<4月_(旧暦)>,    卯月  ]",
         
     | 
| 
      
 25 
     | 
    
         
            +
                    "[Month 5=,  *五月=ja:%%<5月_(旧暦)>,    皐月  ]",
         
     | 
| 
      
 26 
     | 
    
         
            +
                    "[Month 6=,  *六月=ja:%%<6月_(旧暦)>,    水無月]",
         
     | 
| 
      
 27 
     | 
    
         
            +
                    "[Month 7=,  *七月=ja:%%<7月_(旧暦)>,    文月  ]",
         
     | 
| 
      
 28 
     | 
    
         
            +
                    "[Month 8=,  *八月=ja:%%<8月_(旧暦)>,    葉月  ]",
         
     | 
| 
      
 29 
     | 
    
         
            +
                    "[Month 9=,  *九月=ja:%%<9月_(旧暦)>,    長月  ]",
         
     | 
| 
      
 30 
     | 
    
         
            +
                    "[Month 10=, *十月=ja:%%<10月_(旧暦)>,   神無月]",
         
     | 
| 
      
 31 
     | 
    
         
            +
                    "[Month 11=, *十一月=ja:%%<11月_(旧暦)>, 霜月  ]",
         
     | 
| 
      
 32 
     | 
    
         
            +
                    "[Month 12=, *十二月=ja:%%<12月_(旧暦)>, 師走  ]"
         
     | 
| 
      
 33 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                  [self,
         
     | 
| 
      
 36 
     | 
    
         
            +
                    "names:[The_Tale_of_Genji, *源氏物語]",
         
     | 
| 
      
 37 
     | 
    
         
            +
                    "[Kiritsubo=,        *桐壺]",
         
     | 
| 
      
 38 
     | 
    
         
            +
                    "[Hahakigi=,         *帚木=ja:%%<帚木_(源氏物語)>]",
         
     | 
| 
      
 39 
     | 
    
         
            +
                    "[Utsusemi=,         *空蝉=ja:%%<空蝉_(源氏物語)>]",
         
     | 
| 
      
 40 
     | 
    
         
            +
                    "[Yūgao=,            *夕顔=ja:%%<夕顔_(源氏物語)>]",
         
     | 
| 
      
 41 
     | 
    
         
            +
                    "[Wakamurasaki=,     *若紫]",
         
     | 
| 
      
 42 
     | 
    
         
            +
                    "[Suetsumuhana,      *末摘花=ja:%%<末摘花_(源氏物語)>]",
         
     | 
| 
      
 43 
     | 
    
         
            +
                    "[Momiji no Ga=,     *紅葉賀]",
         
     | 
| 
      
 44 
     | 
    
         
            +
                    "[Hana no En=,       *花宴]",
         
     | 
| 
      
 45 
     | 
    
         
            +
                    "[Aoi=,              *葵=ja:%%<葵_(源氏物語)>]",
         
     | 
| 
      
 46 
     | 
    
         
            +
                    "[Sakaki=,           *賢木]",
         
     | 
| 
      
 47 
     | 
    
         
            +
                    "[Hana Chiru Sato=,  *花散里]",
         
     | 
| 
      
 48 
     | 
    
         
            +
                    "[Suma=,             *須磨=ja:%%<須磨_(源氏物語)>]",
         
     | 
| 
      
 49 
     | 
    
         
            +
                    "[Akashi=,           *明石=ja:%%<明石_(源氏物語)>]",
         
     | 
| 
      
 50 
     | 
    
         
            +
                    "[Miotsukushi=,      *澪標=ja:%%<澪標_(源氏物語)>]",
         
     | 
| 
      
 51 
     | 
    
         
            +
                    "[Yomogiu=,          *蓬生]",
         
     | 
| 
      
 52 
     | 
    
         
            +
                    "[Sekiya=,           *関屋=ja:%%<関屋_(源氏物語)>]",
         
     | 
| 
      
 53 
     | 
    
         
            +
                    "[E Awase=,          *絵合]",
         
     | 
| 
      
 54 
     | 
    
         
            +
                    "[Matsukaze=,        *松風=ja:%%<松風_(源氏物語)>]",
         
     | 
| 
      
 55 
     | 
    
         
            +
                    "[Usugumo=,          *薄雲]",
         
     | 
| 
      
 56 
     | 
    
         
            +
                    "[Asagao=,           *朝顔=ja:%%<朝顔_(源氏物語)>]",
         
     | 
| 
      
 57 
     | 
    
         
            +
                    "[Otome=,            *少女=ja:%%<少女_(源氏物語)>]",
         
     | 
| 
      
 58 
     | 
    
         
            +
                    "[Tamakazura=,       *玉鬘=ja:%%<玉鬘_(源氏物語)>]",
         
     | 
| 
      
 59 
     | 
    
         
            +
                    "[Hatsune=,          *初音=ja:%%<初音_(源氏物語)>]",
         
     | 
| 
      
 60 
     | 
    
         
            +
                    "[Kochō=,            *胡蝶=ja:%%<胡蝶_(源氏物語)>]",
         
     | 
| 
      
 61 
     | 
    
         
            +
                    "[Hotaru=,           *蛍=ja:%%<蛍_(源氏物語)>]",
         
     | 
| 
      
 62 
     | 
    
         
            +
                    "[Tokonatsu=,        *常夏]",
         
     | 
| 
      
 63 
     | 
    
         
            +
                    "[Kagaribi=,         *篝火]",
         
     | 
| 
      
 64 
     | 
    
         
            +
                    "[Nowaki=,           *野分=ja:%%<野分_(源氏物語)>]",
         
     | 
| 
      
 65 
     | 
    
         
            +
                    "[Miyuki=,           *行幸=ja:%%<行幸_(源氏物語)>]",
         
     | 
| 
      
 66 
     | 
    
         
            +
                    "[Fujibakama=,       *藤袴]",
         
     | 
| 
      
 67 
     | 
    
         
            +
                    "[Makibashira=,      *真木柱]",
         
     | 
| 
      
 68 
     | 
    
         
            +
                    "[Mume ga E=,        *梅枝]",
         
     | 
| 
      
 69 
     | 
    
         
            +
                    "[Fuji no Uraba=,    *藤裏葉]",
         
     | 
| 
      
 70 
     | 
    
         
            +
                    "[Wakana=,           *若菜=ja:%%<若菜_(源氏物語)>]",
         
     | 
| 
      
 71 
     | 
    
         
            +
                    "[Kashiwagi=,        *柏木=ja:%%<柏木_(源氏物語)>]",
         
     | 
| 
      
 72 
     | 
    
         
            +
                    "[Yokobue=,          *横笛=ja:%%<横笛_(源氏物語)>]",
         
     | 
| 
      
 73 
     | 
    
         
            +
                    "[Suzumushi=,        *鈴虫]",
         
     | 
| 
      
 74 
     | 
    
         
            +
                    "[Yūgiri=,           *夕霧=ja:%%<夕霧_(源氏物語)>]",
         
     | 
| 
      
 75 
     | 
    
         
            +
                    "[Minori=,           *御法]",
         
     | 
| 
      
 76 
     | 
    
         
            +
                    "[Maboroshi=,        *幻=ja:%%<幻_(源氏物語)>]",
         
     | 
| 
      
 77 
     | 
    
         
            +
                    "[Niō Miya=,         *匂宮]",
         
     | 
| 
      
 78 
     | 
    
         
            +
                    "[Kōbai=,            *紅梅=ja:%%<紅梅_(源氏物語)>]",
         
     | 
| 
      
 79 
     | 
    
         
            +
                    "[Takekawa=,         *竹河]",
         
     | 
| 
      
 80 
     | 
    
         
            +
                    "[Hashihime=,        *橋姫=ja:%%<橋姫_(源氏物語)>]",
         
     | 
| 
      
 81 
     | 
    
         
            +
                    "[Shī ga Moto=,      *椎本]",
         
     | 
| 
      
 82 
     | 
    
         
            +
                    "[Agemaki=,          *総角=ja:%%<総角_(源氏物語)>]",
         
     | 
| 
      
 83 
     | 
    
         
            +
                    "[Sawarabi=,         *早蕨]",
         
     | 
| 
      
 84 
     | 
    
         
            +
                    "[Yadorigi=,         *宿木]",
         
     | 
| 
      
 85 
     | 
    
         
            +
                    "[Azumaya=,          *東屋]",
         
     | 
| 
      
 86 
     | 
    
         
            +
                    "[Ukifune,           *浮舟=ja:%%<浮舟_(源氏物語)>]",
         
     | 
| 
      
 87 
     | 
    
         
            +
                    "[Kagerō=,           *蜻蛉=ja:%%<蜻蛉_(源氏物語)>]",
         
     | 
| 
      
 88 
     | 
    
         
            +
                    "[Tenarai=,          *手習]",
         
     | 
| 
      
 89 
     | 
    
         
            +
                    "[Yume no Ukihashi=, *夢浮橋]"
         
     | 
| 
      
 90 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 91 
     | 
    
         
            +
                ]]
         
     | 
| 
      
 92 
     | 
    
         
            +
              end
         
     | 
| 
      
 93 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -1,1495 +1,1510 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # -*- coding: utf-8 -*-
         
     | 
| 
       2 
     | 
    
         
            -
            =begin
         
     | 
| 
       3 
     | 
    
         
            -
              Copyright (C) 2012- 
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
              You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
         
     | 
| 
       6 
     | 
    
         
            -
            =end
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
            require 'when_exe/ephemeris/notes'
         
     | 
| 
       9 
     | 
    
         
            -
            require 'when_exe/region/japanese/residues'
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
            class When::CalendarNote
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
              #
         
     | 
| 
       14 
     | 
    
         
            -
              # 日本暦注
         
     | 
| 
       15 
     | 
    
         
            -
              #
         
     | 
| 
       16 
     | 
    
         
            -
              class Japanese < self
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
                autoload :Eclipse, 'when_exe/region/japanese/eclipses'
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
                #
         
     | 
| 
       21 
     | 
    
         
            -
                # 日本暦注が使用する暦法
         
     | 
| 
       22 
     | 
    
         
            -
                #
         
     | 
| 
       23 
     | 
    
         
            -
                # @private
         
     | 
| 
       24 
     | 
    
         
            -
                class Cal4Note
         
     | 
| 
       25 
     | 
    
         
            -
                  def initialize(calendar, solar)
         
     | 
| 
       26 
     | 
    
         
            -
                    @calendar = calendar
         
     | 
| 
       27 
     | 
    
         
            -
                    @solar    = solar
         
     | 
| 
       28 
     | 
    
         
            -
                  end
         
     | 
| 
       29 
     | 
    
         
            -
                end
         
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
                #
         
     | 
| 
       32 
     | 
    
         
            -
                # 日本暦注の要素
         
     | 
| 
       33 
     | 
    
         
            -
                #
         
     | 
| 
       34 
     | 
    
         
            -
                # @private
         
     | 
| 
       35 
     | 
    
         
            -
                class Note < When::CalendarNote::NoteElement
         
     | 
| 
       36 
     | 
    
         
            -
                end
         
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
                #
         
     | 
| 
       39 
     | 
    
         
            -
                # 日本暦注の要素
         
     | 
| 
       40 
     | 
    
         
            -
                #
         
     | 
| 
       41 
     | 
    
         
            -
                Notes = [When::BasicTypes::M17n, [
         
     | 
| 
       42 
     | 
    
         
            -
                  "locale:[=ja:, en=en:]",
         
     | 
| 
       43 
     | 
    
         
            -
                  "names:[日本暦注=]",
         
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
                  # 年の暦注 ----------------------------
         
     | 
| 
       46 
     | 
    
         
            -
                  [When::BasicTypes::M17n,
         
     | 
| 
       47 
     | 
    
         
            -
                    "names:[ 
     | 
| 
       48 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[干支]",       'position:共通'],                               #  0: 干支
         
     | 
| 
       49 
     | 
    
         
            -
                  # [Note, 0xFFFF, "label:[干=ja:%%<十干>]",
         
     | 
| 
       50 
     | 
    
         
            -
                  #                                   'position:共通'],                                  #     干
         
     | 
| 
       51 
     | 
    
         
            -
                  # [Note, 0xFFFF, "label:[支=ja:%%<十二支>]",
         
     | 
| 
       52 
     | 
    
         
            -
                  #                                   'position:共通'],                                  #     支
         
     | 
| 
       53 
     | 
    
         
            -
                    [Note, 0x3800, "label:[廿八宿=ja:%%<二十八宿>]",
         
     | 
| 
       54 
     | 
    
         
            -
                                                         'position:共通'],                               #  1: 廿八宿
         
     | 
| 
       55 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[大歳壇=]",    'position:暦序'],                               #  2: 干支
         
     | 
| 
       56 
     | 
    
         
            -
                    [Note, 0xC000, "label:[九星]",       'position:民間'],                               #  3: 九星
         
     | 
| 
       57 
     | 
    
         
            -
                    [Note, 0xFFFC, "label:[納音]",       'position:暦序',   'suffix:是'],                #  4: 干支
         
     | 
| 
       58 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[大歳=ja:%%<太歳神>]",
         
     | 
| 
       59 
     | 
    
         
            -
                                                         'position:暦序',   'suffix:在'],                #  5: 干支
         
     | 
| 
       60 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[大將軍=ja:%%<大将軍_(方位神)>]",
         
     | 
| 
       61 
     | 
    
         
            -
                                                         'position:暦序',   'suffix:在'],                #  6: 支
         
     | 
| 
       62 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[大陰=ja:%%<太陰神>]",
         
     | 
| 
       63 
     | 
    
         
            -
                                                         'position:暦序',   'suffix:在'],                #  7: 支
         
     | 
| 
       64 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[歳徳=ja:%%<歳徳神>]",
         
     | 
| 
       65 
     | 
    
         
            -
                                                         'position:暦序',   'suffix:在'],                #  8: 干
         
     | 
| 
       66 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[歳刑=ja:%%<歳刑神>]",
         
     | 
| 
       67 
     | 
    
         
            -
                                                         'position:暦序',   'suffix:在'],                #  9: 支
         
     | 
| 
       68 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[歳破=ja:%%<歳破神>]",
         
     | 
| 
       69 
     | 
    
         
            -
                                                         'position:暦序',   'suffix:在'],                # 10: 支
         
     | 
| 
       70 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[歳煞=ja:%%<歳殺神>]",
         
     | 
| 
       71 
     | 
    
         
            -
                                                         'position:暦序',   'suffix:在'],                # 11: 支
         
     | 
| 
       72 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[黄幡=ja:%%<黄幡神>]",
         
     | 
| 
       73 
     | 
    
         
            -
                                                         'position:暦序',   'suffix:在'],                # 12: 支
         
     | 
| 
       74 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[豹尾=ja:%%<豹尾神>]",
         
     | 
| 
       75 
     | 
    
         
            -
                                                         'position:暦序',   'suffix:在'],                # 13: 支
         
     | 
| 
       76 
     | 
    
         
            -
                    [Note, 0x0003, "label:[天道=]",      'position:暦序',   'suffix:-'],                 # 14: 支
         
     | 
| 
       77 
     | 
    
         
            -
                    [Note, 0x0003, "label:[人道=]",      'position:暦序',   'suffix:-'],                 # 15: 支
         
     | 
| 
       78 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[歳次=]",      'position:暦序',   'suffix:-'],                 # 16: 支
         
     | 
| 
       79 
     | 
    
         
            -
                    [Note, 0xF800, "label:[金神]",       'position:仮名暦', 'suffix:在'],                # 17: 干
         
     | 
| 
       80 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[大小]",       'position:暦序']                                # 18: 朔閏表
         
     | 
| 
       81 
     | 
    
         
            -
                  ],
         
     | 
| 
       82 
     | 
    
         
            -
             
     | 
| 
       83 
     | 
    
         
            -
                  # 月の暦注 ----------------------------
         
     | 
| 
       84 
     | 
    
         
            -
                  [When::BasicTypes::M17n,
         
     | 
| 
       85 
     | 
    
         
            -
                    "names:[ 
     | 
| 
       86 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[月名=ja:%%<月_(暦)>#%.<日本の和風月名>, Month]",
         
     | 
| 
       87 
     | 
    
         
            -
                                                         'position:月建'],                               #  0: 月の和名
         
     | 
| 
       88 
     | 
    
         
            -
                  # [Note, 0xFFFF, "label:[干支]",       'position:共通'],                               #     干支
         
     | 
| 
       89 
     | 
    
         
            -
                  # [Note, 0xFFFF, "label:[干=ja:%%<十干>]",
         
     | 
| 
       90 
     | 
    
         
            -
                  #                                           'position:共通'],                          #     干
         
     | 
| 
       91 
     | 
    
         
            -
                  # [Note, 0xFFFF, "label:[支=ja:%%<十二支>]",
         
     | 
| 
       92 
     | 
    
         
            -
                  #                                           'position:共通'],                          #     支
         
     | 
| 
       93 
     | 
    
         
            -
                    [Note, 0xF800, "label:[廿八宿=ja:%%<二十八宿>]",
         
     | 
| 
       94 
     | 
    
         
            -
                                                         'position:共通'],                               #  1: 廿八宿
         
     | 
| 
       95 
     | 
    
         
            -
                    [Note, 0xFFFC, "label:[月建=]",      'position:月建',   'suffix:-' ],                #  2: 年の十干と暦月
         
     | 
| 
       96 
     | 
    
         
            -
                    [Note, 0xC000, "label:[九星]",       'position:民間'],                               #  3: 九星
         
     | 
| 
       97 
     | 
    
         
            -
                    [Note, 0x0003, "label:[天氣=]",      'position:月建',   'suffix:-' ],                #  4: 暦月
         
     | 
| 
       98 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[天道=]",      'position:月建',   'suffix:-' ],                #  5: 暦月
         
     | 
| 
       99 
     | 
    
         
            -
                    [Note, 0x0003, "label:[人道=]",      'position:月建',   'suffix:-' ],                #  6: 暦月
         
     | 
| 
       100 
     | 
    
         
            -
                    [Note, 0x0003, "label:[月破=]",      'position:月建',   'suffix:在'],                #  7: 暦月
         
     | 
| 
       101 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[天徳=]",      'position:月建',   'suffix:在'],                #  8: 暦月
         
     | 
| 
       102 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[月煞=]",      'position:月建',   'suffix:在'],                #  9: 暦月
         
     | 
| 
       103 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[用時=]",      'position:月建',   'suffix:-' ],                # 10: 暦月
         
     | 
| 
       104 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[月徳=]",      'position:月建',   'suffix:在'],                # 11: 暦月
         
     | 
| 
       105 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[月徳合=]",    'position:月建',   'suffix:在'],                # 12: 暦月
         
     | 
| 
       106 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[月空=]",      'position:月建',   'suffix:在'],                # 13: 暦月
         
     | 
| 
       107 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[三鏡=]",      'position:月建',   'suffix:-' ],                # 14: 暦月
         
     | 
| 
       108 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[土府=]",      'position:月建',   'suffix:在'],                # 15: 暦月
         
     | 
| 
       109 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[土公=ja:%%<土公神>]",
         
     | 
| 
       110 
     | 
    
         
            -
                                                         'position:月建',   'suffix:在'],                # 16: 暦月
         
     | 
| 
       111 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[大小]",       'position:月建']                                # 17: 朔閏表
         
     | 
| 
       112 
     | 
    
         
            -
                  ],
         
     | 
| 
       113 
     | 
    
         
            -
             
     | 
| 
       114 
     | 
    
         
            -
                  # 日の暦注 ----------------------------
         
     | 
| 
       115 
     | 
    
         
            -
                  [When::BasicTypes::M17n,
         
     | 
| 
       116 
     | 
    
         
            -
                    "names:[ 
     | 
| 
       117 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[干支]",       'position:共通'],                               #  0: 干支
         
     | 
| 
       118 
     | 
    
         
            -
                  # [Note, 0x, "label:[干=ja:%%<十干>]",
         
     | 
| 
       119 
     | 
    
         
            -
                  #                                           'position:共通'],                          #     干
         
     | 
| 
       120 
     | 
    
         
            -
                  # [Note, 0x, "label:[支=ja:%%<十二支>]",
         
     | 
| 
       121 
     | 
    
         
            -
                  #                                           'position:共通'],                          #     支
         
     | 
| 
       122 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[納音]",       'position:共通',   'suffix:是'],                #  1: 干支
         
     | 
| 
       123 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[十二直]",     'position:共通'],                               #  2: 支 節月
         
     | 
| 
       124 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[七曜]",       'position:共通'],                               #  3: 七曜
         
     | 
| 
       125 
     | 
    
         
            -
                    [Note, 0xF800, "label:[廿八宿=ja:%%<二十八宿>]",
         
     | 
| 
       126 
     | 
    
         
            -
                                                         'position:共通'],                               #  4: 廿八宿
         
     | 
| 
       127 
     | 
    
         
            -
                    [Note, 0x07F8, "label:[廿七宿=ja:%%<二十八宿>]",
         
     | 
| 
       128 
     | 
    
         
            -
                                                         'position:共通'],                               #  5: 暦月 暦日
         
     | 
| 
       129 
     | 
    
         
            -
                    [Note, 0xC000, "label:[九星]",       'position:民間'],                               #  6: 九星
         
     | 
| 
       130 
     | 
    
         
            -
                    [Note, 0x8000, "label:[六曜]",       'position:民間'],                               #  7: 暦月 暦日
         
     | 
| 
       131 
     | 
    
         
            -
                    [Note, 0xE000, "label:[祝祭日]",     'position:祝祭日'],                             #  8: 暦月 暦日 (七曜)
         
     | 
| 
       132 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[廿四節気=ja:%%<二十四節気>]",
         
     | 
| 
       133 
     | 
    
         
            -
                                                         'position:時候'],                               #  9: 太陽黄経
         
     | 
| 
       134 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[節中=]",      'position:時候'],                               # 10: 太陽黄経
         
     | 
| 
       135 
     | 
    
         
            -
                    [Note, 0xFFFC, "label:[七十二候]",   'position:時候'],                               # 11: 太陽黄経
         
     | 
| 
       136 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[六十卦=]",    'position:時候'],                               # 12: 太陽黄経
         
     | 
| 
       137 
     | 
    
         
            -
                    [Note, 0xF800, "label:[節分]",       'position:雑節'],                               # 13: 立春からの日数
         
     | 
| 
       138 
     | 
    
         
            -
                    [Note, 0xF800, "label:[初午]",       'position:雑節'],                               # 14: 支 節月 or 暦月
         
     | 
| 
       139 
     | 
    
         
            -
                    [Note, 0xF800, "label:[八十八夜]",   'position:雑節'],                               # 15: 立春からの日数
         
     | 
| 
       140 
     | 
    
         
            -
                    [Note, 0xF800, "label:[入梅]",       'position:雑節'],                               # 16: 干 太陽黄経
         
     | 
| 
       141 
     | 
    
         
            -
                    [Note, 0xF800, "label:[半夏生]",     'position:雑節'],                               # 17: 干 太陽黄経
         
     | 
| 
       142 
     | 
    
         
            -
                    [Note, 0xF800, "label:[二百十日]",   'position:雑節'],                               # 18: 立春からの日数
         
     | 
| 
       143 
     | 
    
         
            -
                    [Note, 0xF800, "label:[二百廿日=ja:%%<二百二十日>]", 'position:雑節'],               # 19: 立春からの日数
         
     | 
| 
       144 
     | 
    
         
            -
             
     | 
| 
       145 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[大禍=ja:%%<暦注下段>#%.<大禍日>]",
         
     | 
| 
       146 
     | 
    
         
            -
                                                         'position:上段 上段 欄外 欄外', 'suffix:日'],   # 20: 支 節月
         
     | 
| 
       147 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[滅門=ja:%%<暦注下段>#%.<滅門日>]",
         
     | 
| 
       148 
     | 
    
         
            -
                                                         'position:上段 上段 欄外 欄外', 'suffix:日'],   # 21: 支 節月
         
     | 
| 
       149 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[狼藉=ja:%%<暦注下段>#%.<狼藉日>]",
         
     | 
| 
       150 
     | 
    
         
            -
                                                         'position:上段 上段 欄外 欄外', 'suffix:日'],   # 22: 支 節月
         
     | 
| 
       151 
     | 
    
         
            -
             
     | 
| 
       152 
     | 
    
         
            -
                    [Note, 0x07F8, "label:[甘露=]",      'position:上段 上段 上段 上段', 'suffix:日'],   # 23: 七曜 廿七宿
         
     | 
| 
       153 
     | 
    
         
            -
                    [Note, 0x07F8, "label:[金剛峯=]",    'position:上段 上段 上段 上段'],                # 24: 七曜 廿七宿
         
     | 
| 
       154 
     | 
    
         
            -
                    [Note, 0x07F8, "label:[羅刹=]",      'position:上段 上段 上段 上段'],                # 25: 七曜 廿七宿
         
     | 
| 
       155 
     | 
    
         
            -
             
     | 
| 
       156 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[大將軍=ja:%%<大将軍_(方位神)>]",
         
     | 
| 
       157 
     | 
    
         
            -
                                                         'position:上段 上段 上段 上段',   'suffix:-'],  # 26: 干支 節年
         
     | 
| 
       158 
     | 
    
         
            -
                    [Note, 0xFFFC, "label:[天一=ja:%%<天一神>]",
         
     | 
| 
       159 
     | 
    
         
            -
                                                         'position:上段 上段 上段 上段',   'suffix:-'],  # 27: 干支
         
     | 
| 
       160 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[土公=ja:%%<土公神>]",
         
     | 
| 
       161 
     | 
    
         
            -
                                                         'position:上段 上段 上段 上段',   'suffix:-'],  # 28: 干支
         
     | 
| 
       162 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[歳下食=ja:%%<暦注下段>#%.<歳下食>]",
         
     | 
| 
       163 
     | 
    
         
            -
                                                         'position:上段 上段 上段 上段'],                # 29: 干支 節年
         
     | 
| 
       164 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[忌遠行=]",    'position:上段 上段 上段 上段'],                # 30: 支 節月
         
     | 
| 
       165 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[忌夜行=]",    'position:上段 上段 上段 上段'],                # 31: 支 節月
         
     | 
| 
       166 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[下食時=ja:%%<暦注下段>#%.<時下食>]",
         
     | 
| 
       167 
     | 
    
         
            -
                                                         'position:上段 上段 上段 上段',   'suffix:-'],  # 32: 支 節月 貞享暦で一部廃止
         
     | 
| 
       168 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[天間=]",      'position:上段 上段 上段 中段上'],              # 33: 干支 節月
         
     | 
| 
       169 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[不視病=]",    'position:上段 上段 上段 上段'],                # 34: 干
         
     | 
| 
       170 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[不問疾=]",    'position:上段 上段 上段 上段'],                # 35: 干
         
     | 
| 
       171 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[不弔人=]",    'position:上段 上段 上段 上段'],                # 36: 支
         
     | 
| 
       172 
     | 
    
         
            -
                    [Note, 0xFFFC, "label:[彼岸]",       'position:仮名暦'],                             # 37: 太陽黄経
         
     | 
| 
       173 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[社=ja:%%<社日>]",
         
     | 
| 
       174 
     | 
    
         
            -
                                                         'position:中段 中段 中段 中段', 'suffix:日'],   # 38: 干 太陽黄経
         
     | 
| 
       175 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[三伏]",       'position:中段 中段 中段 中段'],                # 39: 干 太陽黄経
         
     | 
| 
       176 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[除手足甲=]",  'position:中段 中段 中段 中段'],                # 40: 晦(除手足甲)、支(片方のみ), 没滅凶会日×
         
     | 
| 
       177 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[沐浴=]",      'position:中段 中段 中段 中段'],                # 41: 支 没滅凶会日×
         
     | 
| 
       178 
     | 
    
         
            -
                    [Note, 0x3FFD, "label:[臘=ja:%%<臘日>]",
         
     | 
| 
       179 
     | 
    
         
            -
                                                         'position:中段 中段 中段 中段', 'suffix:日'],   # 42: 支 太陽黄経
         
     | 
| 
       180 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[伐=]",        'position:中段 中段 中段 中段上', 'suffix:日'], # 43: 干支
         
     | 
| 
       181 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[五墓=ja:%%<暦注下段>#%.<五墓日>]",
         
     | 
| 
       182 
     | 
    
         
            -
                                                         'position:中段 中段 中段 中段下', 'suffix:日'], # 44: 干支
         
     | 
| 
       183 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[六蛇=]",      'position:中段 中段 中段 中段上'],              # 45: 干支 節月
         
     | 
| 
       184 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[七鳥=]",      'position:中段 中段 中段 中段上'],              # 46: 干支 節月
         
     | 
| 
       185 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[八龍=]",      'position:中段 中段 中段 中段上'],              # 47: 干支 節月
         
     | 
| 
       186 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[九虎=]",      'position:中段 中段 中段 中段上'],              # 48: 干支 節月
         
     | 
| 
       187 
     | 
    
         
            -
                    [Note, 0x07FF, "label:[没=ja:%%<没日>]",
         
     | 
| 
       188 
     | 
    
         
            -
                                                         'position:中段 中段 中段 中段', 'suffix:日'],   # 49: 太陽黄経
         
     | 
| 
       189 
     | 
    
         
            -
                    [Note, 0xFFF8, "label:[日食]",       'position:中段 中段 中段 中段'],                # 50: 日食表
         
     | 
| 
       190 
     | 
    
         
            -
                    [Note, 0x07FC, "label:[滅=ja:%%<滅日>]",
         
     | 
| 
       191 
     | 
    
         
            -
                                                         'position:中段 中段 中段 中段', 'suffix:日'],   # 51: 月の位相
         
     | 
| 
       192 
     | 
    
         
            -
                    [Note, 0xFFF8, "label:[月食]",       'position:中段 中段 中段 中段'],                # 52: 月食表
         
     | 
| 
       193 
     | 
    
         
            -
                    [Note, 0xC7FD, "label:[月相]",       'position:中段 中段 中段 中段'],                # 53: 月の位相
         
     | 
| 
       194 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[土用事=ja:%%<土用>]",
         
     | 
| 
       195 
     | 
    
         
            -
                                                         'position:中段 中段 中段 中段'],                # 54: 太陽黄経
         
     | 
| 
       196 
     | 
    
         
            -
                    [Note, 0x3FF0, "label:[伏龍=]",      'position:上段 上段 下段 下段', 'suffix:在'],   # 55: 太陽黄経
         
     | 
| 
       197 
     | 
    
         
            -
             
     | 
| 
       198 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[凶会=ja:%%<暦注下段>#%.<凶会日>]",
         
     | 
| 
       199 
     | 
    
         
            -
                                                         'position:下段 下段 下段 下段', 'suffix:日'],   # 56: 干支 節月(宣明暦以前)/暦月(貞享暦以降)
         
     | 
| 
       200 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[大小歳=]",    'position:下段 下段 下段 下段'],                # 57: 干支 節月
         
     | 
| 
       201 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[歳徳=ja:%%<歳徳神>]",
         
     | 
| 
       202 
     | 
    
         
            -
                                                         'position:下段 下段 下段 下段'],                # 58: 干 節年 凶会日× ~合も
         
     | 
| 
       203 
     | 
    
         
            -
                    [Note, 0x0003, "label:[天倉=]",      'position:古注'],                               # 59: 干支 節月
         
     | 
| 
       204 
     | 
    
         
            -
                  # [Note, 0x0003, "label:[天李=]",      'position:古注'],                               #     干支 節月?
         
     | 
| 
       205 
     | 
    
         
            -
                    [Note, 0x37FF, "label:[天恩=ja:%%<暦注下段>#%.<天恩日>]",
         
     | 
| 
       206 
     | 
    
         
            -
                                                         'position:下段 下段 下段 下段', 'suffix:日'],   # 60: 干支 節月 凶会日×
         
     | 
| 
       207 
     | 
    
         
            -
                    [Note, 0xFFFF, "label:[天赦=ja:%%<暦注下段>#%.<天赦日>]",
         
     | 
| 
       208 
     | 
    
         
            -
                                                         'position:下段 下段 下段 下段'],                # 61: 干支 節月
         
     | 
| 
       209 
     | 
    
         
            -
                    [Note, 0x37FF, "label:[母倉=ja:%%<暦注下段>#%.<母倉日>]",
         
     | 
| 
       210 
     | 
    
         
            -
                                                         'position:下段 下段 下段 下段', 'suffix:日'],   # 62: 支 節月 凶会日×
         
     | 
| 
       211 
     | 
    
         
            -
                    [Note, 0x37FC, "label:[月徳=]",      'position:下段 下段 下段 下段'],                # 63: 干 節月 凶会日× ~合も
         
     | 
| 
       212 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[九坎=]",      'position:下段 下段 下段 下段'],                # 64: 支 節月
         
     | 
| 
       213 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[歸忌=ja:%%<暦注下段>#%.<帰忌日>]",
         
     | 
| 
       214 
     | 
    
         
            -
                                                         'position:下段 下段 下段 下段', 'suffix:日'],   # 65: 支 節月
         
     | 
| 
       215 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[血忌=ja:%%<暦注下段>#%.<血忌日>]",
         
     | 
| 
       216 
     | 
    
         
            -
                                                         'position:下段 下段 下段 下段', 'suffix:日'],   # 66: 支 節月
         
     | 
| 
       217 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[無翹=]",      'position:下段 下段 下段 下段'],                # 67: 支 節月
         
     | 
| 
       218 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[厭=]",        'position:下段 下段 下段 下段'],                # 68: 支 節月
         
     | 
| 
       219 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[重=ja:%%<暦注下段>#%.<重日>]",
         
     | 
| 
       220 
     | 
    
         
            -
                                                         'position:下段 下段 下段 下段', 'suffix:日'],   # 69: 支
         
     | 
| 
       221 
     | 
    
         
            -
                    [Note, 0x3FFD, "label:[復=ja:%%<暦注下段>#%.<復日>]",
         
     | 
| 
       222 
     | 
    
         
            -
                                                         'position:下段 下段 下段 下段', 'suffix:日'],   # 70: 干 節月
         
     | 
| 
       223 
     | 
    
         
            -
                    [Note, 0x3FFC, "label:[月煞=]",      'position:下段 下段 下段 下段'],                # 71: 支 節月
         
     | 
| 
       224 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[往亡=ja:%%<暦注下段>#%.<往亡日>]",
         
     | 
| 
       225 
     | 
    
         
            -
                                                         'position:下段 下段 下段 下段', 'suffix:日'],   # 72: 太陽黄経
         
     | 
| 
       226 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[日遊=ja:%%<日遊神>]",
         
     | 
| 
       227 
     | 
    
         
            -
                                                         'position:最下段', 'suffix:在'],                # 73: 干支
         
     | 
| 
       228 
     | 
    
         
            -
                    [Note, 0x07FF, "label:[人神配当=]",  'position:最下段孟月', 'suffix:-'],             # 74: 暦日
         
     | 
| 
       229 
     | 
    
         
            -
             
     | 
| 
       230 
     | 
    
         
            -
                    [Note, 0x3E00, "label:[受死=ja:%%<暦注下段>#%.<受死日>]",
         
     | 
| 
       231 
     | 
    
         
            -
                                                         'position:仮名暦', 'suffix:日'],                # 75: 支 節月
         
     | 
| 
       232 
     | 
    
         
            -
                    [Note, 0xFFF0, "label:[八專]",       'position:仮名暦'],                             # 76: 干支
         
     | 
| 
       233 
     | 
    
         
            -
                    [Note, 0x3E00, "label:[八專間日=ja:%%<八専>]",
         
     | 
| 
       234 
     | 
    
         
            -
                                                         'position:仮名暦'],                             # 77: 干支
         
     | 
| 
       235 
     | 
    
         
            -
                    [Note, 0xC000, "label:[金神間日=ja:%%<金神>#%.<金神の遊行・間日>]",
         
     | 
| 
       236 
     | 
    
         
            -
                                                         'position:仮名暦'],                             # 78: 支 節月
         
     | 
| 
       237 
     | 
    
         
            -
                    [Note, 0xC000, "label:[金神遊行=ja:%%<金神>#%.<金神の遊行・間日>]",
         
     | 
| 
       238 
     | 
    
         
            -
                                                         'position:仮名暦'],                             # 79: 支 節月
         
     | 
| 
       239 
     | 
    
         
            -
                    [Note, 0x3FF0, "label:[天火=ja:%%<暦注下段>#%.<天火日>]",
         
     | 
| 
       240 
     | 
    
         
            -
                                                         'position:仮名暦', 'suffix:日'],                # 80: 支 節月
         
     | 
| 
       241 
     | 
    
         
            -
                    [Note, 0x3FF0, "label:[地火=ja:%%<暦注下段>#%.<地火日>]",
         
     | 
| 
       242 
     | 
    
         
            -
                                                         'position:仮名暦', 'suffix:日'],                # 81: 支 節月
         
     | 
| 
       243 
     | 
    
         
            -
                    [Note, 0x3800, "label:[人火=]",      'position:仮名暦'],                             # 82: 支 節月
         
     | 
| 
       244 
     | 
    
         
            -
                    [Note, 0x3800, "label:[雷火=]",      'position:仮名暦'],                             # 83: 支 節月
         
     | 
| 
       245 
     | 
    
         
            -
                    [Note, 0x3FF0, "label:[赤舌=ja:%%<赤舌日>]",
         
     | 
| 
       246 
     | 
    
         
            -
                                                         'position:仮名暦', 'suffix:日'],                # 84: 暦月 暦日
         
     | 
| 
       247 
     | 
    
         
            -
                    [Note, 0x3E00, "label:[十死=ja:%%<暦注下段>#%.<十死日>]",
         
     | 
| 
       248 
     | 
    
         
            -
                                                         'position:仮名暦', 'suffix:日'],                # 85: 支 節月
         
     | 
| 
       249 
     | 
    
         
            -
                    [Note, 0x3E00, "label:[道虚=]",      'position:仮名暦', 'suffix:日'],                # 86: 暦日
         
     | 
| 
       250 
     | 
    
         
            -
                    [Note, 0x3E00, "label:[大明=ja:%%<暦注下段>#%.<大明日>]",
         
     | 
| 
       251 
     | 
    
         
            -
                                                         'position:仮名暦', 'suffix:日'],                # 87: 干支
         
     | 
| 
       252 
     | 
    
         
            -
                    [Note, 0x0600, "label:[大赤=ja:%%<赤口日>]",
         
     | 
| 
       253 
     | 
    
         
            -
                                                         'position:仮名暦', 'suffix:日'],                # 88: 暦月 暦日
         
     | 
| 
       254 
     | 
    
         
            -
                    [Note, 0xF800, "label:[甲子待=ja:%%<甲子>]",
         
     | 
| 
       255 
     | 
    
         
            -
                                                         'position:仮名暦'],                             # 89: 干支
         
     | 
| 
       256 
     | 
    
         
            -
                    [Note, 0xC000, "label:[己巳]",       'position:仮名暦'],                             # 90: 干支
         
     | 
| 
       257 
     | 
    
         
            -
                    [Note, 0xF800, "label:[庚申待]",     'position:仮名暦'],                             # 91: 干支
         
     | 
| 
       258 
     | 
    
         
            -
                    [Note, 0x3800, "label:[犯土]",       'position:仮名暦'],                             # 92: 干支
         
     | 
| 
       259 
     | 
    
         
            -
                    [Note, 0xF800, "label:[十方暮]",     'position:仮名暦'],                             # 93: 干支
         
     | 
| 
       260 
     | 
    
         
            -
                    [Note, 0xF800, "label:[一粒万倍=ja:%%<一粒万倍日>]",
         
     | 
| 
       261 
     | 
    
         
            -
                                                         'position:仮名暦', 'suffix:日'],                # 94: 支 節月
         
     | 
| 
       262 
     | 
    
         
            -
                    [Note, 0x3800, "label:[天福=]",      'position:仮名暦'],                             # 95: 支 節月
         
     | 
| 
       263 
     | 
    
         
            -
                    [Note, 0x3800, "label:[地福=]",      'position:仮名暦'],                             # 96: 支 節月
         
     | 
| 
       264 
     | 
    
         
            -
                    [Note, 0x3800, "label:[地五福=]",    'position:仮名暦'],                             # 97: 支 節月
         
     | 
| 
       265 
     | 
    
         
            -
                    [Note, 0xB800, "label:[三隣亡]",     'position:仮名暦'],                             # 98: 支 節月
         
     | 
| 
       266 
     | 
    
         
            -
                    [Note, 0xF800, "label:[不成就=ja:%%<不成就日>]",
         
     | 
| 
       267 
     | 
    
         
            -
                                                         'position:仮名暦', 'suffix:日'],                # 99: 暦月 暦日/晦日
         
     | 
| 
       268 
     | 
    
         
            -
                    [Note, 0x3800, "label:[鬼宿]",       'position:仮名暦'],                             #100: 廿八宿
         
     | 
| 
       269 
     | 
    
         
            -
                    [Note, 0x3800, "label:[金性=]",      'position:仮名暦'],                             #101: 支 節月 支 節年
         
     | 
| 
       270 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[三寶吉=http://kotobank.jp/word/%%<三宝吉日>]",
         
     | 
| 
       271 
     | 
    
         
            -
                                                         'position:上段 上段 上段 上段'],                #102: 干支 節月
         
     | 
| 
       272 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[神吉=ja:%%<暦注下段>#%.<神吉日>]",
         
     | 
| 
       273 
     | 
    
         
            -
                                                         'position:上段 上段 中段 中段上', 'suffix:日'], #103: 干支 節月
         
     | 
| 
       274 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[雑事吉=]",    'position:雑事吉'],                             #104: 干支 節月
         
     | 
| 
       275 
     | 
    
         
            -
                    [Note, 0x3FFF, "label:[小字注=]",    'position:下段小字 下段小字 下段小字 下段小字'],#105: 干支 節月
         
     | 
| 
       276 
     | 
    
         
            -
                  ]
         
     | 
| 
       277 
     | 
    
         
            -
                ]]
         
     | 
| 
       278 
     | 
    
         
            -
             
     | 
| 
       279 
     | 
    
         
            -
                #
         
     | 
| 
       280 
     | 
    
         
            -
                # 日本暦注の時代変遷
         
     | 
| 
       281 
     | 
    
         
            -
                #
         
     | 
| 
       282 
     | 
    
         
            -
                # @private
         
     | 
| 
       283 
     | 
    
         
            -
                NoteTypes = (2...When::TM::CalendarEra::JapaneseSolar[2].size).to_a.map {|i|
         
     | 
| 
       284 
     | 
    
         
            -
                  calendars =
         
     | 
| 
       285 
     | 
    
         
            -
                    [When::TM::CalendarEra::JapaneseLuniSolar[2][i][2],
         
     | 
| 
       286 
     | 
    
         
            -
                     When::TM::CalendarEra::JapaneseSolar[2][i][2]].map {|epoch|
         
     | 
| 
       287 
     | 
    
         
            -
                      epoch =~ /\A(-?\d+)-(\d+)-(\d+)\^(.+)\z/
         
     | 
| 
       288 
     | 
    
         
            -
                      $4
         
     | 
| 
       289 
     | 
    
         
            -
                    }
         
     | 
| 
       290 
     | 
    
         
            -
                  [$2 == '01' ? $1.to_i : $1.to_i+1, Cal4Note.new(*calendars)]
         
     | 
| 
       291 
     | 
    
         
            -
                }.reverse
         
     | 
| 
       292 
     | 
    
         
            -
             
     | 
| 
       293 
     | 
    
         
            -
                # @private
         
     | 
| 
       294 
     | 
    
         
            -
                NoteRange = [
         
     | 
| 
       295 
     | 
    
         
            -
                  # 開始 具注暦 七十二候        index mask
         
     | 
| 
       296 
     | 
    
         
            -
                  [-660,    0,      0], # ~ 696  0 : 0001
         
     | 
| 
       297 
     | 
    
         
            -
                  [ 697,    0,      0], # ~ 763  1 : 0002
         
     | 
| 
       298 
     | 
    
         
            -
                  [ 764,    0,      2], # ~ 800  2 : 0004
         
     | 
| 
       299 
     | 
    
         
            -
                  [ 801,    0,      2], # ~ 900  3 : 0008
         
     | 
| 
       300 
     | 
    
         
            -
                  [ 901,    0,      2], # ~1003  4 : 0010
         
     | 
| 
       301 
     | 
    
         
            -
                  [1004,    1,      2], # ~1047  5 : 0020
         
     | 
| 
       302 
     | 
    
         
            -
                  [1048,    1,      2], # ~1100  6 : 0040
         
     | 
| 
       303 
     | 
    
         
            -
                  [1101,    1,      2], # ~1184  7 : 0080
         
     | 
| 
       304 
     | 
    
         
            -
                  [1185,    2,      2], # ~1300  8 : 0100
         
     | 
| 
       305 
     | 
    
         
            -
                  [1301,    2,      2], # ~1337  9 : 0200
         
     | 
| 
       306 
     | 
    
         
            -
                  [1338,    3,      2], # ~1684 10 : 0400
         
     | 
| 
       307 
     | 
    
         
            -
                  [1685,    3,      3], # ~1754 11 : 0800
         
     | 
| 
       308 
     | 
    
         
            -
                  [1755,    3,      4], # ~1867 12 : 1000
         
     | 
| 
       309 
     | 
    
         
            -
                  [1868,    3,      4], # ~1872 13 : 2000
         
     | 
| 
       310 
     | 
    
         
            -
                  [1873,    3,      4], # ~1873 14 : 4000
         
     | 
| 
       311 
     | 
    
         
            -
                  [1874,    3,      5]  # ~     15 : 8000
         
     | 
| 
       312 
     | 
    
         
            -
                ]
         
     | 
| 
       313 
     | 
    
         
            -
             
     | 
| 
       314 
     | 
    
         
            -
                # @private
         
     | 
| 
       315 
     | 
    
         
            -
                NoteFocused = (0...NoteRange.size).to_a.map {|range|
         
     | 
| 
       316 
     | 
    
         
            -
                  (2..4).to_a.map {|cord|
         
     | 
| 
       317 
     | 
    
         
            -
                    notes = Notes[1][cord]
         
     | 
| 
       318 
     | 
    
         
            -
                    (2...notes.size).to_a.inject([]) {|focused,note|
         
     | 
| 
       319 
     | 
    
         
            -
                      focused << notes[note][2][/\[.+?[=\]]/][1..-2] if notes[note][1][range] == 1
         
     | 
| 
       320 
     | 
    
         
            -
                      focused
         
     | 
| 
       321 
     | 
    
         
            -
                    }
         
     | 
| 
       322 
     | 
    
         
            -
                  }
         
     | 
| 
       323 
     | 
    
         
            -
                }
         
     | 
| 
       324 
     | 
    
         
            -
             
     | 
| 
       325 
     | 
    
         
            -
                #
         
     | 
| 
       326 
     | 
    
         
            -
                # 月の大小
         
     | 
| 
       327 
     | 
    
         
            -
                #
         
     | 
| 
       328 
     | 
    
         
            -
                # @private
         
     | 
| 
       329 
     | 
    
         
            -
                MonthPattern = {
         
     | 
| 
       330 
     | 
    
         
            -
                   29 => '小',
         
     | 
| 
       331 
     | 
    
         
            -
                   30 => '大',
         
     | 
| 
       332 
     | 
    
         
            -
                  -28 => '平',
         
     | 
| 
       333 
     | 
    
         
            -
                  -29 => '閏',
         
     | 
| 
       334 
     | 
    
         
            -
                  -30 => '小',
         
     | 
| 
       335 
     | 
    
         
            -
                  -31 => '大'
         
     | 
| 
       336 
     | 
    
         
            -
                }
         
     | 
| 
       337 
     | 
    
         
            -
             
     | 
| 
       338 
     | 
    
         
            -
                #
         
     | 
| 
       339 
     | 
    
         
            -
                # 日本暦注に対応するインデックス(整数値)
         
     | 
| 
       340 
     | 
    
         
            -
                #
         
     | 
| 
       341 
     | 
    
         
            -
                # @private
         
     | 
| 
       342 
     | 
    
         
            -
                module Index
         
     | 
| 
       343 
     | 
    
         
            -
                  # @private
         
     | 
| 
       344 
     | 
    
         
            -
                  [[2,'Y'], [3,'M'], [4,'D']].map {|cord|
         
     | 
| 
       345 
     | 
    
         
            -
                    index, initial = cord
         
     | 
| 
       346 
     | 
    
         
            -
                    notes = Notes[1][index]
         
     | 
| 
       347 
     | 
    
         
            -
                    (notes.size-2).times {|no|
         
     | 
| 
       348 
     | 
    
         
            -
                      name = initial + notes[no+2][2][/\[.+?[=\]]/][1..-2]
         
     | 
| 
       349 
     | 
    
         
            -
                      mask = 'M' + name
         
     | 
| 
       350 
     | 
    
         
            -
                      const_set(name, no)
         
     | 
| 
       351 
     | 
    
         
            -
                      const_set(mask, 1<<no)
         
     | 
| 
       352 
     | 
    
         
            -
                    }
         
     | 
| 
       353 
     | 
    
         
            -
                  }
         
     | 
| 
       354 
     | 
    
         
            -
                end
         
     | 
| 
       355 
     | 
    
         
            -
             
     | 
| 
       356 
     | 
    
         
            -
                #
         
     | 
| 
       357 
     | 
    
         
            -
                # 日本暦注が使用する暦法
         
     | 
| 
       358 
     | 
    
         
            -
                #
         
     | 
| 
       359 
     | 
    
         
            -
                # @private
         
     | 
| 
       360 
     | 
    
         
            -
                class Cal4Note
         
     | 
| 
       361 
     | 
    
         
            -
                  attr_reader :calendar, :solar
         
     | 
| 
       362 
     | 
    
         
            -
             
     | 
| 
       363 
     | 
    
         
            -
                  def l_calendar
         
     | 
| 
       364 
     | 
    
         
            -
                    @l_calendar ||= When.Calendar(@calendar.kind_of?(String) ? @calendar.sub(/#\{\?.+?\}/, '') : @calendar)
         
     | 
| 
       365 
     | 
    
         
            -
                  end
         
     | 
| 
       366 
     | 
    
         
            -
             
     | 
| 
       367 
     | 
    
         
            -
                  def s_calendar
         
     | 
| 
       368 
     | 
    
         
            -
                    @s_calendar ||= When.Calendar(@solar.kind_of?(String) ? @solar.sub(/#\{\?.+?\}/, '?Clock=THS') : @solar)
         
     | 
| 
       369 
     | 
    
         
            -
                  end
         
     | 
| 
       370 
     | 
    
         
            -
             
     | 
| 
       371 
     | 
    
         
            -
                  def l_phases
         
     | 
| 
       372 
     | 
    
         
            -
                    @l_phases   ||= Japanese::LunarPhases.new('formula'=>l_calendar.formula[-1])
         
     | 
| 
       373 
     | 
    
         
            -
                  end
         
     | 
| 
       374 
     | 
    
         
            -
             
     | 
| 
       375 
     | 
    
         
            -
                  def s_terms
         
     | 
| 
       376 
     | 
    
         
            -
                    @s_terms    ||= Japanese::SolarTerms.new('formula'=>s_calendar.formula[0])
         
     | 
| 
       377 
     | 
    
         
            -
                  end
         
     | 
| 
       378 
     | 
    
         
            -
             
     | 
| 
       379 
     | 
    
         
            -
                  def s_terms2
         
     | 
| 
       380 
     | 
    
         
            -
                    @s_terms2   ||= @l_calendar.iri =~ /JapaneseTwin(.*?)::天保暦/ ?
         
     | 
| 
       381 
     | 
    
         
            -
                      Japanese::SolarTermsRevised.new('formula'=>s_calendar.formula[0]) : s_terms
         
     | 
| 
       382 
     | 
    
         
            -
                  end
         
     | 
| 
       383 
     | 
    
         
            -
             
     | 
| 
       384 
     | 
    
         
            -
                  def doyo
         
     | 
| 
       385 
     | 
    
         
            -
                    @doyo       ||= (s_calendar.doyo ? s_calendar.doyo * 360.0 / s_calendar.formula[0].year_length : 0)
         
     | 
| 
       386 
     | 
    
         
            -
                  end
         
     | 
| 
       387 
     | 
    
         
            -
                end
         
     | 
| 
       388 
     | 
    
         
            -
             
     | 
| 
       389 
     | 
    
         
            -
                #
         
     | 
| 
       390 
     | 
    
         
            -
                #  日本暦注用の Notes の要素のための内部クラス
         
     | 
| 
       391 
     | 
    
         
            -
                #
         
     | 
| 
       392 
     | 
    
         
            -
                # @private
         
     | 
| 
       393 
     | 
    
         
            -
                class Note
         
     | 
| 
       394 
     | 
    
         
            -
             
     | 
| 
       395 
     | 
    
         
            -
                  attr_reader :label, :position, :suffix
         
     | 
| 
       396 
     | 
    
         
            -
             
     | 
| 
       397 
     | 
    
         
            -
                  def to_note_hash(note, dates=nil)
         
     | 
| 
       398 
     | 
    
         
            -
                    {
         
     | 
| 
       399 
     | 
    
         
            -
                      :note      => self,
         
     | 
| 
       400 
     | 
    
         
            -
                      :value     => case @suffix
         
     | 
| 
       401 
     | 
    
         
            -
                                    when '是' ; [@label + '是-', note[/.\z/]]
         
     | 
| 
       402 
     | 
    
         
            -
                                    when '在' ; [@label + '在-', note]
         
     | 
| 
       403 
     | 
    
         
            -
                                    when '-'  ; [@label + '-',   note]
         
     | 
| 
       404 
     | 
    
         
            -
                                    else      ; note
         
     | 
| 
       405 
     | 
    
         
            -
                                    end,
         
     | 
| 
       406 
     | 
    
         
            -
                      :position => @position[@position.size == 1 ? 0 : dates.index_g]
         
     | 
| 
       407 
     | 
    
         
            -
                    }
         
     | 
| 
       408 
     | 
    
         
            -
                  end
         
     | 
| 
       409 
     | 
    
         
            -
             
     | 
| 
       410 
     | 
    
         
            -
                  private
         
     | 
| 
       411 
     | 
    
         
            -
                  # オブジェクトの正規化
         
     | 
| 
       412 
     | 
    
         
            -
                  #
         
     | 
| 
       413 
     | 
    
         
            -
                  def _normalize(args=[], options={})
         
     | 
| 
       414 
     | 
    
         
            -
                    @position = @position.split(/ /)
         
     | 
| 
       415 
     | 
    
         
            -
                  end
         
     | 
| 
       416 
     | 
    
         
            -
                end
         
     | 
| 
       417 
     | 
    
         
            -
             
     | 
| 
       418 
     | 
    
         
            -
                #
         
     | 
| 
       419 
     | 
    
         
            -
                #  日本暦注計算に必要となる暦日や暦法をまとめた内部クラス
         
     | 
| 
       420 
     | 
    
         
            -
                #
         
     | 
| 
       421 
     | 
    
         
            -
                # @private
         
     | 
| 
       422 
     | 
    
         
            -
                class Dates
         
     | 
| 
       423 
     | 
    
         
            -
             
     | 
| 
       424 
     | 
    
         
            -
                  attr_reader :year, :precision, :cal4note, :range, :index_g, :index_s, :o_date, :l_date, :m_date, :s_date
         
     | 
| 
       425 
     | 
    
         
            -
             
     | 
| 
       426 
     | 
    
         
            -
                  # 初期設定
         
     | 
| 
       427 
     | 
    
         
            -
                  def initialize(date, year=date.most_significant_coordinate, precision=date.precision, cal4note=nil)
         
     | 
| 
       428 
     | 
    
         
            -
             
     | 
| 
       429 
     | 
    
         
            -
                    # 暦注パターン
         
     | 
| 
       430 
     | 
    
         
            -
                    if cal4note
         
     | 
| 
       431 
     | 
    
         
            -
                      # 年代による判定
         
     | 
| 
       432 
     | 
    
         
            -
                      (1...NoteRange.size).to_a.reverse.each do |i|
         
     | 
| 
       433 
     | 
    
         
            -
                        if year >= NoteRange[i][0]
         
     | 
| 
       434 
     | 
    
         
            -
                          @range = i
         
     | 
| 
       435 
     | 
    
         
            -
                          break
         
     | 
| 
       436 
     | 
    
         
            -
                        end
         
     | 
| 
       437 
     | 
    
         
            -
                      end
         
     | 
| 
       438 
     | 
    
         
            -
                      @range ||= 0
         
     | 
| 
       439 
     | 
    
         
            -
                    else
         
     | 
| 
       440 
     | 
    
         
            -
                      # 暦法による判定
         
     | 
| 
       441 
     | 
    
         
            -
                      cal4note = Cal4Note.new(date.frame, date.frame.twin)
         
     | 
| 
       442 
     | 
    
         
            -
                      @range =
         
     | 
| 
       443 
     | 
    
         
            -
                        case cal4note.l_calendar.formula[-1]
         
     | 
| 
       444 
     | 
    
         
            -
                        when When::Ephemeris::ChineseTrueLunation::JujiMethods ; 11 # 江戸時代の暦
         
     | 
| 
       445 
     | 
    
         
            -
                        when When::Ephemeris::ChineseTrueLunation
         
     | 
| 
       446 
     | 
    
         
            -
                          date.frame.twin =~ /戊寅|麟徳/ ? 1 : 10 # 唐代定朔暦(儀鳳暦 or 宣明暦)
         
     | 
| 
       447 
     | 
    
         
            -
                        when When::Ephemeris::MeanLunation   ;  0 # 唐代以前平朔暦(元嘉暦)
         
     | 
| 
       448 
     | 
    
         
            -
                        else                                 ; 15 # 現代の旧暦
         
     | 
| 
       449 
     | 
    
         
            -
                        end
         
     | 
| 
       450 
     | 
    
         
            -
                    end
         
     | 
| 
       451 
     | 
    
         
            -
             
     | 
| 
       452 
     | 
    
         
            -
                    # 具注暦の配置
         
     | 
| 
       453 
     | 
    
         
            -
                    @index_g = NoteRange[@range][1]
         
     | 
| 
       454 
     | 
    
         
            -
             
     | 
| 
       455 
     | 
    
         
            -
                    # 七十二候
         
     | 
| 
       456 
     | 
    
         
            -
                    @index_s = NoteRange[@range][2]
         
     | 
| 
       457 
     | 
    
         
            -
             
     | 
| 
       458 
     | 
    
         
            -
                    # その他の属性
         
     | 
| 
       459 
     | 
    
         
            -
                    @year      = year
         
     | 
| 
       460 
     | 
    
         
            -
                    @precision = precision
         
     | 
| 
       461 
     | 
    
         
            -
                    @cal4note  = cal4note
         
     | 
| 
       462 
     | 
    
         
            -
                    @o_date    = date
         
     | 
| 
       463 
     | 
    
         
            -
                    @l_date    = @cal4note.l_calendar ^ date
         
     | 
| 
       464 
     | 
    
         
            -
                    @m_date    = date.frame.kind_of?(When::CalendarTypes::Christian) ? @l_date : @o_date
         
     | 
| 
       465 
     | 
    
         
            -
                    @s_date    = @cal4note.s_calendar ^ date
         
     | 
| 
       466 
     | 
    
         
            -
                  end
         
     | 
| 
       467 
     | 
    
         
            -
                end
         
     | 
| 
       468 
     | 
    
         
            -
             
     | 
| 
       469 
     | 
    
         
            -
                NoteMethods = [:year_notes, :month_notes, :day_notes]
         
     | 
| 
       470 
     | 
    
         
            -
             
     | 
| 
       471 
     | 
    
         
            -
                # 暦注の計算
         
     | 
| 
       472 
     | 
    
         
            -
                #
         
     | 
| 
       473 
     | 
    
         
            -
                # @param [When::TM::TemporalPosition] date 暦注を計算する日時
         
     | 
| 
       474 
     | 
    
         
            -
                #   (date が When::TM::TemporalPosition でない場合、When::TM::TemporalPosition に変換して使用する)
         
     | 
| 
       475 
     | 
    
         
            -
                # @param [Hash] options
         
     | 
| 
       476 
     | 
    
         
            -
                # @option options [Hash] :conditions 日本暦注固有の計算条件
         
     | 
| 
       477 
     | 
    
         
            -
                #   :n27 通常月の廿七宿配当 *0:本月本説, 1:本月異説, 2:閏月本説, 3:閏月異説, 4:閏月本説(元)
         
     | 
| 
       478 
     | 
    
         
            -
                #   :i27 閏月の廿七宿配当   同上
         
     | 
| 
       479 
     | 
    
         
            -
                #   :sai *false,'0':日本暦日総覧説 , true:wagoyomi.net説
         
     | 
| 
       480 
     | 
    
         
            -
                #   :shoyo *false:出力せず, true:暦定数が有理数の場合に出力
         
     | 
| 
       481 
     | 
    
         
            -
                #   :solar_eclipse -1:計算を行わない, *0:すべて出力, 1:夜日食は出力しない, 3:夜日食に加え南半球で主に見える日食も出力しない
         
     | 
| 
       482 
     | 
    
         
            -
                #   :lunar_eclipse -1:計算を行わない, *0:すべて出力, 1:昼月食は出力しない, 3:昼月食に加え半影月食も出力しない
         
     | 
| 
       483 
     | 
    
         
            -
                #   :kana *false:具注暦用の計算, true:江戸仮名暦用の計算
         
     | 
| 
       484 
     | 
    
         
            -
                #   (* がデフォルト)
         
     | 
| 
       485 
     | 
    
         
            -
                #
         
     | 
| 
       486 
     | 
    
         
            -
                # @note :indices, :notes およびその他のキー => {When::CalendarNote#notes} を参照
         
     | 
| 
       487 
     | 
    
         
            -
                #
         
     | 
| 
       488 
     | 
    
         
            -
                # @return [Hash]               :notes が String の場合
         
     | 
| 
       489 
     | 
    
         
            -
                # @return [Array<Hash>]        上記に該当せず、:indices が Integer の場合
         
     | 
| 
       490 
     | 
    
         
            -
                # @return [Array<Array<Hash>>] 上記のいずれにも該当しない場合
         
     | 
| 
       491 
     | 
    
         
            -
                # @note return 値の [Hash] の要素は下記の通り
         
     | 
| 
       492 
     | 
    
         
            -
                #
         
     | 
| 
       493 
     | 
    
         
            -
                #   :note     => 暦注要素 (When::CalendarTypes::Japanese::Note)
         
     | 
| 
       494 
     | 
    
         
            -
                #
         
     | 
| 
       495 
     | 
    
         
            -
                #   :value    => 暦注の値 (String or When::BasicTypes::M17n または、その Array)
         
     | 
| 
       496 
     | 
    
         
            -
                #
         
     | 
| 
       497 
     | 
    
         
            -
                #   :position => 具注暦でのその暦注の配置場所(String)
         
     | 
| 
       498 
     | 
    
         
            -
                #
         
     | 
| 
       499 
     | 
    
         
            -
                def notes(date, options={})
         
     | 
| 
       500 
     | 
    
         
            -
                  dates, indices, notes, persistence, conditions, options = _parse_note(date, options)
         
     | 
| 
       501 
     | 
    
         
            -
                  NotesContainer.register(indices.map {|i|
         
     | 
| 
       502 
     | 
    
         
            -
                    next [] unless i <= dates.precision
         
     | 
| 
       503 
     | 
    
         
            -
                    send(NoteMethods[i-1], dates, notes[i-1], conditions)
         
     | 
| 
       504 
     | 
    
         
            -
                  }, persistence, date.to_i)
         
     | 
| 
       505 
     | 
    
         
            -
                end
         
     | 
| 
       506 
     | 
    
         
            -
             
     | 
| 
       507 
     | 
    
         
            -
                # 太陽の位置 => 日時
         
     | 
| 
       508 
     | 
    
         
            -
                #
         
     | 
| 
       509 
     | 
    
         
            -
                # @param [When::TM::TemporalPosition] date 探す基準とする日時
         
     | 
| 
       510 
     | 
    
         
            -
                # @param [Array<Numeric>] parameter 太陽の位置の分子と分母( num, den)
         
     | 
| 
       511 
     | 
    
         
            -
                #
         
     | 
| 
       512 
     | 
    
         
            -
                #   num 分子 (デフォルト   0 : 基準日時直後の春分)
         
     | 
| 
       513 
     | 
    
         
            -
                #
         
     | 
| 
       514 
     | 
    
         
            -
                #   den 分母 (デフォルト 360 : 検索範囲の長さ)
         
     | 
| 
       515 
     | 
    
         
            -
                #
         
     | 
| 
       516 
     | 
    
         
            -
                # @param [String] parameter   太陽の位置の分子と分母("#{ num }/#{ den }" の形式, デフォルト 0(春分))
         
     | 
| 
       517 
     | 
    
         
            -
                # @param [Integer] precision  取得したい時間位置の分解能(デフォルト date の分解能)
         
     | 
| 
       518 
     | 
    
         
            -
                #
         
     | 
| 
       519 
     | 
    
         
            -
                # @return [When::TM::CalDate] date またはその直後に太陽の位置が指定の値になる日時
         
     | 
| 
       520 
     | 
    
         
            -
                #
         
     | 
| 
       521 
     | 
    
         
            -
                def term(date, parameter=nil, precision=date.precision)
         
     | 
| 
       522 
     | 
    
         
            -
                  dates  = _to_date_for_note(date)
         
     | 
| 
       523 
     | 
    
         
            -
                  result = dates.cal4note.s_terms.term(date, parameter)
         
     | 
| 
       524 
     | 
    
         
            -
                  patch  = SolarTerms::Patch[result.to_i]
         
     | 
| 
       525 
     | 
    
         
            -
                  return result unless patch
         
     | 
| 
       526 
     | 
    
         
            -
                  num, den  = parameter.kind_of?(String) ? parameter.split('/', 2) : parameter
         
     | 
| 
       527 
     | 
    
         
            -
                  num  = (num ||   0).to_f
         
     | 
| 
       528 
     | 
    
         
            -
                  den  = (den || 360).to_f
         
     | 
| 
       529 
     | 
    
         
            -
                  diff = (num - patch[0] + 1) % den - 1
         
     | 
| 
       530 
     | 
    
         
            -
                  return result if diff == 0
         
     | 
| 
       531 
     | 
    
         
            -
                  patched = result + When::P1D * diff
         
     | 
| 
       532 
     | 
    
         
            -
                  result.cal_date[0..-2] = patched.cal_date[0..-2]
         
     | 
| 
       533 
     | 
    
         
            -
                  result.cal_date[-1]    = When::Coordinates::Pair.new(patched.cal_date[-1], -diff)
         
     | 
| 
       534 
     | 
    
         
            -
                  result
         
     | 
| 
       535 
     | 
    
         
            -
                end
         
     | 
| 
       536 
     | 
    
         
            -
             
     | 
| 
       537 
     | 
    
         
            -
                # 月の位相 => 日時
         
     | 
| 
       538 
     | 
    
         
            -
                #
         
     | 
| 
       539 
     | 
    
         
            -
                # @param [When::TM::TemporalPosition] date 探す基準とする日時
         
     | 
| 
       540 
     | 
    
         
            -
                # @param [Array<Numeric>] parameter 月の位相の分子と分母( num, den)
         
     | 
| 
       541 
     | 
    
         
            -
                #
         
     | 
| 
       542 
     | 
    
         
            -
                #   num 分子 (デフォルト  0 : 基準日時直後の朔)
         
     | 
| 
       543 
     | 
    
         
            -
                #
         
     | 
| 
       544 
     | 
    
         
            -
                #   den 分母 (デフォルト 30 : 検索範囲の長さ)
         
     | 
| 
       545 
     | 
    
         
            -
                #
         
     | 
| 
       546 
     | 
    
         
            -
                # @param [String] parameter   月の位相の分子と分母("#{ num }/#{ den }" の形式, デフォルト 0(朔))
         
     | 
| 
       547 
     | 
    
         
            -
                # @param [Integer] precision  取得したい時間位置の分解能(デフォルト date の分解能)
         
     | 
| 
       548 
     | 
    
         
            -
                #
         
     | 
| 
       549 
     | 
    
         
            -
                # @return [When::TM::CalDate] date またはその直後に月の位相が指定の値になる日時
         
     | 
| 
       550 
     | 
    
         
            -
                #
         
     | 
| 
       551 
     | 
    
         
            -
                def phase(date, parameter=nil, precision=date.precision)
         
     | 
| 
       552 
     | 
    
         
            -
                  dates  = _to_date_for_note(date)
         
     | 
| 
       553 
     | 
    
         
            -
                  note   = dates.cal4note.l_phases
         
     | 
| 
       554 
     | 
    
         
            -
                  result = note.phase(date, parameter)
         
     | 
| 
       555 
     | 
    
         
            -
                  return result if dates.o_date.frame.kind_of?(When::CalendarTypes::Christian)
         
     | 
| 
       556 
     | 
    
         
            -
             
     | 
| 
       557 
     | 
    
         
            -
                  time   = note.phase(date, parameter, When::SYSTEM)
         
     | 
| 
       558 
     | 
    
         
            -
                  cn     = note.formula.time_to_cn(time) % 1
         
     | 
| 
       559 
     | 
    
         
            -
                  case cn
         
     | 
| 
       560 
     | 
    
         
            -
                  when 0..0.0001, 0.9999..1 # 朔
         
     | 
| 
       561 
     | 
    
         
            -
                    return result if result.cal_date[-1] == 1
         
     | 
| 
       562 
     | 
    
         
            -
                    diff = result.cal_date[-1] < 15 ? -1 : +1
         
     | 
| 
       563 
     | 
    
         
            -
                  when 0.2..0.8             # 弦、望
         
     | 
| 
       564 
     | 
    
         
            -
                    return result unless note.formula.kind_of?(When::Ephemeris::ChineseTrueLunation)
         
     | 
| 
       565 
     | 
    
         
            -
                    return result if time.clk_time.universal_time >= When::TM::Duration::DAY/4 # 午前6時以降
         
     | 
| 
       566 
     | 
    
         
            -
                    diff = -1
         
     | 
| 
       567 
     | 
    
         
            -
                  else                      # その他
         
     | 
| 
       568 
     | 
    
         
            -
                    return result
         
     | 
| 
       569 
     | 
    
         
            -
                  end
         
     | 
| 
       570 
     | 
    
         
            -
             
     | 
| 
       571 
     | 
    
         
            -
                  patched = result + When::P1D * diff
         
     | 
| 
       572 
     | 
    
         
            -
                  result.cal_date[0..-2] = patched.cal_date[0..-2]
         
     | 
| 
       573 
     | 
    
         
            -
                  result.cal_date[-1]    = When::Coordinates::Pair.new(patched.cal_date[-1], -diff)
         
     | 
| 
       574 
     | 
    
         
            -
                  result
         
     | 
| 
       575 
     | 
    
         
            -
                end
         
     | 
| 
       576 
     | 
    
         
            -
             
     | 
| 
       577 
     | 
    
         
            -
                private
         
     | 
| 
       578 
     | 
    
         
            -
             
     | 
| 
       579 
     | 
    
         
            -
                # オブジェクトの正規化
         
     | 
| 
       580 
     | 
    
         
            -
                def _normalize(args=[], options={})
         
     | 
| 
       581 
     | 
    
         
            -
                  @prime ||= [%w(干支), %w(月名), %w(七曜 干支 六曜 廿四節気 祝祭日)]
         
     | 
| 
       582 
     | 
    
         
            -
                  super
         
     | 
| 
       583 
     | 
    
         
            -
                end
         
     | 
| 
       584 
     | 
    
         
            -
             
     | 
| 
       585 
     | 
    
         
            -
                # 年の暦注
         
     | 
| 
       586 
     | 
    
         
            -
                def year_notes(dates, notes, conditions={})
         
     | 
| 
       587 
     | 
    
         
            -
                  _note_values(dates, notes, _all_keys[-3], _elements[-3]) do |dates, focused_notes, notes_hash|
         
     | 
| 
       588 
     | 
    
         
            -
             
     | 
| 
       589 
     | 
    
         
            -
                    focused_notes[0..-1] = focused_notes & NoteFocused[dates.range][-3]
         
     | 
| 
       590 
     | 
    
         
            -
                    root = When.Resource('_co:Common')
         
     | 
| 
       591 
     | 
    
         
            -
             
     | 
| 
       592 
     | 
    
         
            -
                    # 干支
         
     | 
| 
       593 
     | 
    
         
            -
                    residue = (dates.precision < When::DAY ? dates.o_date : dates.s_date).most_significant_coordinate - 4
         
     | 
| 
       594 
     | 
    
         
            -
                    notes_hash['干支']   = root['干支'][residue % 60]
         
     | 
| 
       595 
     | 
    
         
            -
                    notes_hash['干']     = root['干'  ][residue % 10]
         
     | 
| 
       596 
     | 
    
         
            -
                    notes_hash['支']     = root['支'  ][residue % 12]
         
     | 
| 
       597 
     | 
    
         
            -
             
     | 
| 
       598 
     | 
    
         
            -
                    # 廿八宿
         
     | 
| 
       599 
     | 
    
         
            -
                    notes_hash['廿八宿'] ||= root['宿'][(residue+18) % 28]
         
     | 
| 
       600 
     | 
    
         
            -
             
     | 
| 
       601 
     | 
    
         
            -
                    # 九星
         
     | 
| 
       602 
     | 
    
         
            -
                    notes_hash['九星'] ||= root['九星'][When::Coordinates::Kyusei.year(residue)]
         
     | 
| 
       603 
     | 
    
         
            -
             
     | 
| 
       604 
     | 
    
         
            -
                    # 大小
         
     | 
| 
       605 
     | 
    
         
            -
                    unless notes_hash['大小']
         
     | 
| 
       606 
     | 
    
         
            -
                      year  = dates.o_date.floor(When::YEAR)
         
     | 
| 
       607 
     | 
    
         
            -
                      month = year.floor(When::MONTH)
         
     | 
| 
       608 
     | 
    
         
            -
                      pattern = ''
         
     | 
| 
       609 
     | 
    
         
            -
                      while year == month
         
     | 
| 
       610 
     | 
    
         
            -
                        length   = month.length(When::MONTH)
         
     | 
| 
       611 
     | 
    
         
            -
                        length   = -length if dates.o_date.frame.kind_of?(When::CalendarTypes::Christian) # 太陽暦
         
     | 
| 
       612 
     | 
    
         
            -
                        pattern += '閏' if month[When::MONTH] * 0 == 1
         
     | 
| 
       613 
     | 
    
         
            -
                        pattern += MonthPattern[length] || '改'
         
     | 
| 
       614 
     | 
    
         
            -
                        month   += When::P1M
         
     | 
| 
       615 
     | 
    
         
            -
                      end
         
     | 
| 
       616 
     | 
    
         
            -
                      notes_hash['大小'] = "#{pattern}(#{year.length(When::YEAR)})"
         
     | 
| 
       617 
     | 
    
         
            -
                    end
         
     | 
| 
       618 
     | 
    
         
            -
             
     | 
| 
       619 
     | 
    
         
            -
                    # その他
         
     | 
| 
       620 
     | 
    
         
            -
                    [notes_hash['干支'], notes_hash['干'], notes_hash['支']].each do |note|
         
     | 
| 
       621 
     | 
    
         
            -
                      note._year_notes(notes_hash, dates, conditions)
         
     | 
| 
       622 
     | 
    
         
            -
                    end
         
     | 
| 
       623 
     | 
    
         
            -
                    notes_hash
         
     | 
| 
       624 
     | 
    
         
            -
                  end
         
     | 
| 
       625 
     | 
    
         
            -
                end
         
     | 
| 
       626 
     | 
    
         
            -
             
     | 
| 
       627 
     | 
    
         
            -
                # 月の暦注
         
     | 
| 
       628 
     | 
    
         
            -
                def month_notes(dates, notes, conditions={})
         
     | 
| 
       629 
     | 
    
         
            -
                  _note_values(dates, notes, _all_keys[-2], _elements[-2]) do |dates, focused_notes, notes_hash|
         
     | 
| 
       630 
     | 
    
         
            -
             
     | 
| 
       631 
     | 
    
         
            -
                    focused_notes[0..-1] = focused_notes & NoteFocused[dates.range][-2]
         
     | 
| 
       632 
     | 
    
         
            -
                    root = When.Resource('_co:Common')
         
     | 
| 
       633 
     | 
    
         
            -
             
     | 
| 
       634 
     | 
    
         
            -
                    # 干支
         
     | 
| 
       635 
     | 
    
         
            -
                    residue = month_stem_branch(dates.precision < When::DAY ? dates.o_date : dates.m_date)
         
     | 
| 
       636 
     | 
    
         
            -
                    notes_hash['干支']   = root['干支'][residue % 60]
         
     | 
| 
       637 
     | 
    
         
            -
                    notes_hash['干']     = root['干'  ][residue % 10]
         
     | 
| 
       638 
     | 
    
         
            -
                    notes_hash['支']     = root['支'  ][residue % 12]
         
     | 
| 
       639 
     | 
    
         
            -
             
     | 
| 
       640 
     | 
    
         
            -
                    # 廿八宿
         
     | 
| 
       641 
     | 
    
         
            -
                    notes_hash['廿八宿'] ||= root['宿'][(residue+6) % 28]
         
     | 
| 
       642 
     | 
    
         
            -
             
     | 
| 
       643 
     | 
    
         
            -
                    # 九星
         
     | 
| 
       644 
     | 
    
         
            -
                    notes_hash['九星'] ||= root['九星'][When::Coordinates::Kyusei.month(
         
     | 
| 
       645 
     | 
    
         
            -
                              month_stem_branch(dates.precision < When::DAY ? dates.o_date : dates.s_date))]
         
     | 
| 
       646 
     | 
    
         
            -
             
     | 
| 
       647 
     | 
    
         
            -
                    # 大小
         
     | 
| 
       648 
     | 
    
         
            -
                    unless notes_hash['大小']
         
     | 
| 
       649 
     | 
    
         
            -
                      length = dates.o_date.length(When::MONTH)
         
     | 
| 
       650 
     | 
    
         
            -
                      length = -length if dates.o_date.frame.kind_of?(When::CalendarTypes::Christian) # 太陽暦
         
     | 
| 
       651 
     | 
    
         
            -
                      notes_hash['大小'] = "#{dates.o_date[When::MONTH]*0==1 ? '閏' : ''}#{MonthPattern[length] || '改'}(#{length.abs})"
         
     | 
| 
       652 
     | 
    
         
            -
                    end
         
     | 
| 
       653 
     | 
    
         
            -
             
     | 
| 
       654 
     | 
    
         
            -
                    # その他
         
     | 
| 
       655 
     | 
    
         
            -
                    [notes_hash['干支'], notes_hash['干'], notes_hash['支'], JapaneseLuniSolarNote].each do |note|
         
     | 
| 
       656 
     | 
    
         
            -
                      note._month_notes(notes_hash, dates, conditions)
         
     | 
| 
       657 
     | 
    
         
            -
                    end
         
     | 
| 
       658 
     | 
    
         
            -
                    notes_hash
         
     | 
| 
       659 
     | 
    
         
            -
                  end
         
     | 
| 
       660 
     | 
    
         
            -
                end
         
     | 
| 
       661 
     | 
    
         
            -
             
     | 
| 
       662 
     | 
    
         
            -
                # 日の暦注
         
     | 
| 
       663 
     | 
    
         
            -
                def day_notes(dates, notes, conditions={})
         
     | 
| 
       664 
     | 
    
         
            -
                  _note_values(dates, notes, _all_keys[-1], _elements[-1]) do |dates, focused_notes, notes_hash|
         
     | 
| 
       665 
     | 
    
         
            -
             
     | 
| 
       666 
     | 
    
         
            -
                    focused_notes[0..-1] = focused_notes & NoteFocused[dates.range][-1]
         
     | 
| 
       667 
     | 
    
         
            -
                    root = When.Resource('_co:Common')
         
     | 
| 
       668 
     | 
    
         
            -
             
     | 
| 
       669 
     | 
    
         
            -
                    # 干支
         
     | 
| 
       670 
     | 
    
         
            -
                    residue = dates.s_date.to_i-11
         
     | 
| 
       671 
     | 
    
         
            -
                    notes_hash['干支']     = root['干支'][residue % 60]
         
     | 
| 
       672 
     | 
    
         
            -
                    notes_hash['干']       = root['干'  ][residue % 10]
         
     | 
| 
       673 
     | 
    
         
            -
                    notes_hash['支']       = root['支'  ][residue % 12]
         
     | 
| 
       674 
     | 
    
         
            -
             
     | 
| 
       675 
     | 
    
         
            -
                    # その他
         
     | 
| 
       676 
     | 
    
         
            -
                    [SolarTerms, LunarPhases, notes_hash['干支'], notes_hash['干'], notes_hash['支'],
         
     | 
| 
       677 
     | 
    
         
            -
                     JapaneseLuniSolarNote, JapaneseSolarNote].each do |note|
         
     | 
| 
       678 
     | 
    
         
            -
                      note._day_notes(notes_hash, dates, conditions)
         
     | 
| 
       679 
     | 
    
         
            -
                    end
         
     | 
| 
       680 
     | 
    
         
            -
             
     | 
| 
       681 
     | 
    
         
            -
                    # 七曜
         
     | 
| 
       682 
     | 
    
         
            -
                    notes_hash['七曜']   ||= root['Week'][dates.s_date.to_i % 7]
         
     | 
| 
       683 
     | 
    
         
            -
             
     | 
| 
       684 
     | 
    
         
            -
                    # 廿七宿
         
     | 
| 
       685 
     | 
    
         
            -
                    notes_hash['廿七宿']   = _residue27(notes_hash['廿七宿'], root)
         
     | 
| 
       686 
     | 
    
         
            -
             
     | 
| 
       687 
     | 
    
         
            -
                    # 廿八宿 / 鬼宿
         
     | 
| 
       688 
     | 
    
         
            -
                    notes_hash['廿八宿'] ||= root['宿'][(dates.s_date.to_i+11) % 28]
         
     | 
| 
       689 
     | 
    
         
            -
                    notes_hash['鬼宿']   ||= /鬼/ =~ notes_hash['廿八宿'].to_s ? '鬼宿' : nil
         
     | 
| 
       690 
     | 
    
         
            -
             
     | 
| 
       691 
     | 
    
         
            -
                    # 九星
         
     | 
| 
       692 
     | 
    
         
            -
                    notes_hash['九星']   ||= root['九星'][When::Coordinates::Kyusei.day(dates.s_date, dates.cal4note.s_terms)]
         
     | 
| 
       693 
     | 
    
         
            -
             
     | 
| 
       694 
     | 
    
         
            -
                    notes_hash
         
     | 
| 
       695 
     | 
    
         
            -
                  end
         
     | 
| 
       696 
     | 
    
         
            -
                end
         
     | 
| 
       697 
     | 
    
         
            -
             
     | 
| 
       698 
     | 
    
         
            -
                #
         
     | 
| 
       699 
     | 
    
         
            -
                # 日本暦日情報オブジェクトの生成
         
     | 
| 
       700 
     | 
    
         
            -
                #
         
     | 
| 
       701 
     | 
    
         
            -
                # @note 対となる太陽暦のある太陰太陽暦はそのまま(太陰太陽暦,太陽暦)の対
         
     | 
| 
       702 
     | 
    
         
            -
                #       そうでなければ、採用する対を年代により選択する
         
     | 
| 
       703 
     | 
    
         
            -
                #
         
     | 
| 
       704 
     | 
    
         
            -
                def _to_date_for_note(date)
         
     | 
| 
       705 
     | 
    
         
            -
                  if date.frame.kind_of?(When::CalendarTypes::ChineseLuniSolar)
         
     | 
| 
       706 
     | 
    
         
            -
                    return Dates.new(date) if date.frame.twin
         
     | 
| 
       707 
     | 
    
         
            -
                    o_date = date
         
     | 
| 
       708 
     | 
    
         
            -
                  else
         
     | 
| 
       709 
     | 
    
         
            -
                    o_date = self.class._to_japanese_date(date)
         
     | 
| 
       710 
     | 
    
         
            -
                    return nil unless o_date
         
     | 
| 
       711 
     | 
    
         
            -
                  end
         
     | 
| 
       712 
     | 
    
         
            -
                  year = o_date.most_significant_coordinate
         
     | 
| 
       713 
     | 
    
         
            -
                  NoteTypes.each do |line|
         
     | 
| 
       714 
     | 
    
         
            -
                    return Dates.new(o_date, year, date.precision, line[1]) if year >= line[0]
         
     | 
| 
       715 
     | 
    
         
            -
                  end
         
     | 
| 
       716 
     | 
    
         
            -
                  nil
         
     | 
| 
       717 
     | 
    
         
            -
                end
         
     | 
| 
       718 
     | 
    
         
            -
             
     | 
| 
       719 
     | 
    
         
            -
                #
         
     | 
| 
       720 
     | 
    
         
            -
                # 任意の暦を日本年号付暦日に変換
         
     | 
| 
       721 
     | 
    
         
            -
                #
         
     | 
| 
       722 
     | 
    
         
            -
                 
     | 
| 
       723 
     | 
    
         
            -
             
     | 
| 
       724 
     | 
    
         
            -
             
     | 
| 
       725 
     | 
    
         
            -
             
     | 
| 
       726 
     | 
    
         
            -
             
     | 
| 
       727 
     | 
    
         
            -
                   
     | 
| 
       728 
     | 
    
         
            -
             
     | 
| 
       729 
     | 
    
         
            -
             
     | 
| 
       730 
     | 
    
         
            -
             
     | 
| 
       731 
     | 
    
         
            -
             
     | 
| 
       732 
     | 
    
         
            -
                 
     | 
| 
       733 
     | 
    
         
            -
             
     | 
| 
       734 
     | 
    
         
            -
             
     | 
| 
       735 
     | 
    
         
            -
             
     | 
| 
       736 
     | 
    
         
            -
                 
     | 
| 
       737 
     | 
    
         
            -
             
     | 
| 
       738 
     | 
    
         
            -
                #
         
     | 
| 
       739 
     | 
    
         
            -
                #  
     | 
| 
       740 
     | 
    
         
            -
                #
         
     | 
| 
       741 
     | 
    
         
            -
                def  
     | 
| 
       742 
     | 
    
         
            -
                  date. 
     | 
| 
       743 
     | 
    
         
            -
             
     | 
| 
       744 
     | 
    
         
            -
             
     | 
| 
       745 
     | 
    
         
            -
             
     | 
| 
       746 
     | 
    
         
            -
             
     | 
| 
       747 
     | 
    
         
            -
             
     | 
| 
       748 
     | 
    
         
            -
             
     | 
| 
       749 
     | 
    
         
            -
             
     | 
| 
       750 
     | 
    
         
            -
             
     | 
| 
       751 
     | 
    
         
            -
             
     | 
| 
       752 
     | 
    
         
            -
             
     | 
| 
       753 
     | 
    
         
            -
                # 
     | 
| 
       754 
     | 
    
         
            -
                #
         
     | 
| 
       755 
     | 
    
         
            -
                 
     | 
| 
       756 
     | 
    
         
            -
             
     | 
| 
       757 
     | 
    
         
            -
                  [ 
     | 
| 
       758 
     | 
    
         
            -
             
     | 
| 
       759 
     | 
    
         
            -
             
     | 
| 
       760 
     | 
    
         
            -
             
     | 
| 
       761 
     | 
    
         
            -
             
     | 
| 
       762 
     | 
    
         
            -
             
     | 
| 
       763 
     | 
    
         
            -
             
     | 
| 
       764 
     | 
    
         
            -
             
     | 
| 
       765 
     | 
    
         
            -
             
     | 
| 
       766 
     | 
    
         
            -
             
     | 
| 
       767 
     | 
    
         
            -
             
     | 
| 
       768 
     | 
    
         
            -
             
     | 
| 
       769 
     | 
    
         
            -
             
     | 
| 
       770 
     | 
    
         
            -
             
     | 
| 
       771 
     | 
    
         
            -
                  [  
     | 
| 
       772 
     | 
    
         
            -
                  [  
     | 
| 
       773 
     | 
    
         
            -
                  [  
     | 
| 
       774 
     | 
    
         
            -
                  [  
     | 
| 
       775 
     | 
    
         
            -
                  [  
     | 
| 
       776 
     | 
    
         
            -
                  [  
     | 
| 
       777 
     | 
    
         
            -
                  [  
     | 
| 
       778 
     | 
    
         
            -
                  [  
     | 
| 
       779 
     | 
    
         
            -
                  [  
     | 
| 
       780 
     | 
    
         
            -
                  [  
     | 
| 
       781 
     | 
    
         
            -
                  [  
     | 
| 
       782 
     | 
    
         
            -
                  [  
     | 
| 
       783 
     | 
    
         
            -
                  [  
     | 
| 
       784 
     | 
    
         
            -
                  [  
     | 
| 
       785 
     | 
    
         
            -
                  [  
     | 
| 
       786 
     | 
    
         
            -
                  [  
     | 
| 
       787 
     | 
    
         
            -
                  [ 
     | 
| 
       788 
     | 
    
         
            -
                  [ 
     | 
| 
       789 
     | 
    
         
            -
                  [ 
     | 
| 
       790 
     | 
    
         
            -
                  [ 
     | 
| 
       791 
     | 
    
         
            -
                  [ 
     | 
| 
       792 
     | 
    
         
            -
                  [ 
     | 
| 
       793 
     | 
    
         
            -
                  [ 
     | 
| 
       794 
     | 
    
         
            -
                  [ 
     | 
| 
       795 
     | 
    
         
            -
                  [11 
     | 
| 
       796 
     | 
    
         
            -
                  [ 
     | 
| 
       797 
     | 
    
         
            -
                  [ 
     | 
| 
       798 
     | 
    
         
            -
                  [ 
     | 
| 
       799 
     | 
    
         
            -
             
     | 
| 
       800 
     | 
    
         
            -
             
     | 
| 
       801 
     | 
    
         
            -
             
     | 
| 
       802 
     | 
    
         
            -
             
     | 
| 
       803 
     | 
    
         
            -
             
     | 
| 
       804 
     | 
    
         
            -
             
     | 
| 
       805 
     | 
    
         
            -
             
     | 
| 
       806 
     | 
    
         
            -
                   
     | 
| 
       807 
     | 
    
         
            -
                   
     | 
| 
       808 
     | 
    
         
            -
                   
     | 
| 
       809 
     | 
    
         
            -
             
     | 
| 
       810 
     | 
    
         
            -
             
     | 
| 
       811 
     | 
    
         
            -
             
     | 
| 
       812 
     | 
    
         
            -
             
     | 
| 
       813 
     | 
    
         
            -
             
     | 
| 
       814 
     | 
    
         
            -
             
     | 
| 
       815 
     | 
    
         
            -
             
     | 
| 
       816 
     | 
    
         
            -
             
     | 
| 
       817 
     | 
    
         
            -
             
     | 
| 
       818 
     | 
    
         
            -
             
     | 
| 
       819 
     | 
    
         
            -
             
     | 
| 
       820 
     | 
    
         
            -
             
     | 
| 
       821 
     | 
    
         
            -
             
     | 
| 
       822 
     | 
    
         
            -
             
     | 
| 
       823 
     | 
    
         
            -
             
     | 
| 
       824 
     | 
    
         
            -
                     
     | 
| 
       825 
     | 
    
         
            -
             
     | 
| 
       826 
     | 
    
         
            -
                     
     | 
| 
       827 
     | 
    
         
            -
             
     | 
| 
       828 
     | 
    
         
            -
             
     | 
| 
       829 
     | 
    
         
            -
                     
     | 
| 
       830 
     | 
    
         
            -
                     
     | 
| 
       831 
     | 
    
         
            -
             
     | 
| 
       832 
     | 
    
         
            -
             
     | 
| 
       833 
     | 
    
         
            -
             
     | 
| 
       834 
     | 
    
         
            -
             
     | 
| 
       835 
     | 
    
         
            -
                       
     | 
| 
       836 
     | 
    
         
            -
             
     | 
| 
       837 
     | 
    
         
            -
             
     | 
| 
       838 
     | 
    
         
            -
             
     | 
| 
       839 
     | 
    
         
            -
             
     | 
| 
       840 
     | 
    
         
            -
             
     | 
| 
       841 
     | 
    
         
            -
             
     | 
| 
       842 
     | 
    
         
            -
             
     | 
| 
       843 
     | 
    
         
            -
             
     | 
| 
       844 
     | 
    
         
            -
             
     | 
| 
       845 
     | 
    
         
            -
                     
     | 
| 
       846 
     | 
    
         
            -
             
     | 
| 
       847 
     | 
    
         
            -
             
     | 
| 
       848 
     | 
    
         
            -
                     
     | 
| 
       849 
     | 
    
         
            -
                     
     | 
| 
       850 
     | 
    
         
            -
             
     | 
| 
       851 
     | 
    
         
            -
             
     | 
| 
       852 
     | 
    
         
            -
                     
     | 
| 
       853 
     | 
    
         
            -
                     
     | 
| 
       854 
     | 
    
         
            -
             
     | 
| 
       855 
     | 
    
         
            -
             
     | 
| 
       856 
     | 
    
         
            -
             
     | 
| 
       857 
     | 
    
         
            -
             
     | 
| 
       858 
     | 
    
         
            -
             
     | 
| 
       859 
     | 
    
         
            -
             
     | 
| 
       860 
     | 
    
         
            -
             
     | 
| 
       861 
     | 
    
         
            -
                     
     | 
| 
       862 
     | 
    
         
            -
             
     | 
| 
       863 
     | 
    
         
            -
             
     | 
| 
       864 
     | 
    
         
            -
                     
     | 
| 
       865 
     | 
    
         
            -
             
     | 
| 
       866 
     | 
    
         
            -
             
     | 
| 
       867 
     | 
    
         
            -
             
     | 
| 
       868 
     | 
    
         
            -
             
     | 
| 
       869 
     | 
    
         
            -
                     
     | 
| 
       870 
     | 
    
         
            -
             
     | 
| 
       871 
     | 
    
         
            -
             
     | 
| 
       872 
     | 
    
         
            -
             
     | 
| 
       873 
     | 
    
         
            -
             
     | 
| 
       874 
     | 
    
         
            -
                       
     | 
| 
       875 
     | 
    
         
            -
             
     | 
| 
       876 
     | 
    
         
            -
                     
     | 
| 
       877 
     | 
    
         
            -
             
     | 
| 
       878 
     | 
    
         
            -
             
     | 
| 
       879 
     | 
    
         
            -
             
     | 
| 
       880 
     | 
    
         
            -
             
     | 
| 
       881 
     | 
    
         
            -
             
     | 
| 
       882 
     | 
    
         
            -
             
     | 
| 
       883 
     | 
    
         
            -
             
     | 
| 
       884 
     | 
    
         
            -
             
     | 
| 
       885 
     | 
    
         
            -
             
     | 
| 
       886 
     | 
    
         
            -
             
     | 
| 
       887 
     | 
    
         
            -
             
     | 
| 
       888 
     | 
    
         
            -
             
     | 
| 
       889 
     | 
    
         
            -
             
     | 
| 
       890 
     | 
    
         
            -
             
     | 
| 
       891 
     | 
    
         
            -
             
     | 
| 
       892 
     | 
    
         
            -
                   
     | 
| 
       893 
     | 
    
         
            -
                 
     | 
| 
       894 
     | 
    
         
            -
             
     | 
| 
       895 
     | 
    
         
            -
             
     | 
| 
       896 
     | 
    
         
            -
             
     | 
| 
       897 
     | 
    
         
            -
             
     | 
| 
       898 
     | 
    
         
            -
             
     | 
| 
       899 
     | 
    
         
            -
             
     | 
| 
       900 
     | 
    
         
            -
             
     | 
| 
       901 
     | 
    
         
            -
             
     | 
| 
       902 
     | 
    
         
            -
             
     | 
| 
       903 
     | 
    
         
            -
                   
     | 
| 
       904 
     | 
    
         
            -
             
     | 
| 
       905 
     | 
    
         
            -
             
     | 
| 
       906 
     | 
    
         
            -
             
     | 
| 
       907 
     | 
    
         
            -
             
     | 
| 
       908 
     | 
    
         
            -
             
     | 
| 
       909 
     | 
    
         
            -
             
     | 
| 
       910 
     | 
    
         
            -
             
     | 
| 
       911 
     | 
    
         
            -
                 
     | 
| 
       912 
     | 
    
         
            -
             
     | 
| 
       913 
     | 
    
         
            -
                 
     | 
| 
       914 
     | 
    
         
            -
             
     | 
| 
       915 
     | 
    
         
            -
             
     | 
| 
       916 
     | 
    
         
            -
             
     | 
| 
       917 
     | 
    
         
            -
             
     | 
| 
       918 
     | 
    
         
            -
             
     | 
| 
       919 
     | 
    
         
            -
                 
     | 
| 
       920 
     | 
    
         
            -
             
     | 
| 
       921 
     | 
    
         
            -
             
     | 
| 
       922 
     | 
    
         
            -
             
     | 
| 
       923 
     | 
    
         
            -
             
     | 
| 
       924 
     | 
    
         
            -
             
     | 
| 
       925 
     | 
    
         
            -
             
     | 
| 
       926 
     | 
    
         
            -
             
     | 
| 
       927 
     | 
    
         
            -
             
     | 
| 
       928 
     | 
    
         
            -
             
     | 
| 
       929 
     | 
    
         
            -
                   
     | 
| 
       930 
     | 
    
         
            -
                  [' 
     | 
| 
       931 
     | 
    
         
            -
             
     | 
| 
       932 
     | 
    
         
            -
             
     | 
| 
       933 
     | 
    
         
            -
             
     | 
| 
       934 
     | 
    
         
            -
             
     | 
| 
       935 
     | 
    
         
            -
             
     | 
| 
       936 
     | 
    
         
            -
             
     | 
| 
       937 
     | 
    
         
            -
                   
     | 
| 
       938 
     | 
    
         
            -
                   
     | 
| 
       939 
     | 
    
         
            -
                   
     | 
| 
       940 
     | 
    
         
            -
             
     | 
| 
       941 
     | 
    
         
            -
                  notes[' 
     | 
| 
       942 
     | 
    
         
            -
             
     | 
| 
       943 
     | 
    
         
            -
             
     | 
| 
       944 
     | 
    
         
            -
                   
     | 
| 
       945 
     | 
    
         
            -
                   
     | 
| 
       946 
     | 
    
         
            -
             
     | 
| 
       947 
     | 
    
         
            -
                   
     | 
| 
       948 
     | 
    
         
            -
             
     | 
| 
       949 
     | 
    
         
            -
                   
     | 
| 
       950 
     | 
    
         
            -
             
     | 
| 
       951 
     | 
    
         
            -
                   
     | 
| 
       952 
     | 
    
         
            -
                  notes[' 
     | 
| 
       953 
     | 
    
         
            -
                  notes[' 
     | 
| 
       954 
     | 
    
         
            -
                  notes[' 
     | 
| 
       955 
     | 
    
         
            -
                  notes[' 
     | 
| 
       956 
     | 
    
         
            -
                  notes
         
     | 
| 
       957 
     | 
    
         
            -
             
     | 
| 
       958 
     | 
    
         
            -
             
     | 
| 
       959 
     | 
    
         
            -
             
     | 
| 
       960 
     | 
    
         
            -
             
     | 
| 
       961 
     | 
    
         
            -
               
     | 
| 
       962 
     | 
    
         
            -
             
     | 
| 
       963 
     | 
    
         
            -
             
     | 
| 
       964 
     | 
    
         
            -
             
     | 
| 
       965 
     | 
    
         
            -
             
     | 
| 
       966 
     | 
    
         
            -
             
     | 
| 
       967 
     | 
    
         
            -
             
     | 
| 
       968 
     | 
    
         
            -
                   
     | 
| 
       969 
     | 
    
         
            -
             
     | 
| 
       970 
     | 
    
         
            -
             
     | 
| 
       971 
     | 
    
         
            -
                   
     | 
| 
       972 
     | 
    
         
            -
             
     | 
| 
       973 
     | 
    
         
            -
             
     | 
| 
       974 
     | 
    
         
            -
             
     | 
| 
       975 
     | 
    
         
            -
             
     | 
| 
       976 
     | 
    
         
            -
             
     | 
| 
       977 
     | 
    
         
            -
             
     | 
| 
       978 
     | 
    
         
            -
             
     | 
| 
       979 
     | 
    
         
            -
             
     | 
| 
       980 
     | 
    
         
            -
             
     | 
| 
       981 
     | 
    
         
            -
             
     | 
| 
       982 
     | 
    
         
            -
             
     | 
| 
       983 
     | 
    
         
            -
             
     | 
| 
       984 
     | 
    
         
            -
             
     | 
| 
       985 
     | 
    
         
            -
             
     | 
| 
       986 
     | 
    
         
            -
             
     | 
| 
       987 
     | 
    
         
            -
             
     | 
| 
       988 
     | 
    
         
            -
             
     | 
| 
       989 
     | 
    
         
            -
             
     | 
| 
       990 
     | 
    
         
            -
             
     | 
| 
       991 
     | 
    
         
            -
             
     | 
| 
       992 
     | 
    
         
            -
             
     | 
| 
       993 
     | 
    
         
            -
             
     | 
| 
       994 
     | 
    
         
            -
                     
     | 
| 
       995 
     | 
    
         
            -
             
     | 
| 
       996 
     | 
    
         
            -
             
     | 
| 
       997 
     | 
    
         
            -
             
     | 
| 
       998 
     | 
    
         
            -
             
     | 
| 
       999 
     | 
    
         
            -
             
     | 
| 
       1000 
     | 
    
         
            -
             
     | 
| 
       1001 
     | 
    
         
            -
             
     | 
| 
       1002 
     | 
    
         
            -
             
     | 
| 
       1003 
     | 
    
         
            -
             
     | 
| 
       1004 
     | 
    
         
            -
             
     | 
| 
       1005 
     | 
    
         
            -
             
     | 
| 
       1006 
     | 
    
         
            -
             
     | 
| 
       1007 
     | 
    
         
            -
             
     | 
| 
       1008 
     | 
    
         
            -
             
     | 
| 
       1009 
     | 
    
         
            -
             
     | 
| 
       1010 
     | 
    
         
            -
             
     | 
| 
       1011 
     | 
    
         
            -
             
     | 
| 
       1012 
     | 
    
         
            -
             
     | 
| 
       1013 
     | 
    
         
            -
                       
     | 
| 
       1014 
     | 
    
         
            -
             
     | 
| 
       1015 
     | 
    
         
            -
             
     | 
| 
       1016 
     | 
    
         
            -
             
     | 
| 
       1017 
     | 
    
         
            -
             
     | 
| 
       1018 
     | 
    
         
            -
             
     | 
| 
       1019 
     | 
    
         
            -
             
     | 
| 
       1020 
     | 
    
         
            -
             
     | 
| 
       1021 
     | 
    
         
            -
             
     | 
| 
       1022 
     | 
    
         
            -
             
     | 
| 
       1023 
     | 
    
         
            -
             
     | 
| 
       1024 
     | 
    
         
            -
             
     | 
| 
       1025 
     | 
    
         
            -
             
     | 
| 
       1026 
     | 
    
         
            -
                       
     | 
| 
       1027 
     | 
    
         
            -
             
     | 
| 
       1028 
     | 
    
         
            -
             
     | 
| 
       1029 
     | 
    
         
            -
             
     | 
| 
       1030 
     | 
    
         
            -
             
     | 
| 
       1031 
     | 
    
         
            -
             
     | 
| 
       1032 
     | 
    
         
            -
             
     | 
| 
       1033 
     | 
    
         
            -
             
     | 
| 
       1034 
     | 
    
         
            -
             
     | 
| 
       1035 
     | 
    
         
            -
             
     | 
| 
       1036 
     | 
    
         
            -
             
     | 
| 
       1037 
     | 
    
         
            -
             
     | 
| 
       1038 
     | 
    
         
            -
             
     | 
| 
       1039 
     | 
    
         
            -
                       
     | 
| 
       1040 
     | 
    
         
            -
                     
     | 
| 
       1041 
     | 
    
         
            -
             
     | 
| 
       1042 
     | 
    
         
            -
             
     | 
| 
       1043 
     | 
    
         
            -
             
     | 
| 
       1044 
     | 
    
         
            -
             
     | 
| 
       1045 
     | 
    
         
            -
             
     | 
| 
       1046 
     | 
    
         
            -
               
     | 
| 
       1047 
     | 
    
         
            -
             
     | 
| 
       1048 
     | 
    
         
            -
             
     | 
| 
       1049 
     | 
    
         
            -
             
     | 
| 
       1050 
     | 
    
         
            -
             
     | 
| 
       1051 
     | 
    
         
            -
               
     | 
| 
       1052 
     | 
    
         
            -
             
     | 
| 
       1053 
     | 
    
         
            -
             
     | 
| 
       1054 
     | 
    
         
            -
             
     | 
| 
       1055 
     | 
    
         
            -
             
     | 
| 
       1056 
     | 
    
         
            -
             
     | 
| 
       1057 
     | 
    
         
            -
                   
     | 
| 
       1058 
     | 
    
         
            -
             
     | 
| 
       1059 
     | 
    
         
            -
             
     | 
| 
       1060 
     | 
    
         
            -
                 
     | 
| 
       1061 
     | 
    
         
            -
             
     | 
| 
       1062 
     | 
    
         
            -
             
     | 
| 
       1063 
     | 
    
         
            -
             
     | 
| 
       1064 
     | 
    
         
            -
             
     | 
| 
       1065 
     | 
    
         
            -
             
     | 
| 
       1066 
     | 
    
         
            -
             
     | 
| 
       1067 
     | 
    
         
            -
             
     | 
| 
       1068 
     | 
    
         
            -
             
     | 
| 
       1069 
     | 
    
         
            -
             
     | 
| 
       1070 
     | 
    
         
            -
             
     | 
| 
       1071 
     | 
    
         
            -
                   
     | 
| 
       1072 
     | 
    
         
            -
                   
     | 
| 
       1073 
     | 
    
         
            -
                   
     | 
| 
       1074 
     | 
    
         
            -
             
     | 
| 
       1075 
     | 
    
         
            -
             
     | 
| 
       1076 
     | 
    
         
            -
             
     | 
| 
       1077 
     | 
    
         
            -
                  # 
     | 
| 
       1078 
     | 
    
         
            -
                  ' 
     | 
| 
       1079 
     | 
    
         
            -
                  ' 
     | 
| 
       1080 
     | 
    
         
            -
                  ' 
     | 
| 
       1081 
     | 
    
         
            -
                  ' 
     | 
| 
       1082 
     | 
    
         
            -
                  ' 
     | 
| 
       1083 
     | 
    
         
            -
                  ' 
     | 
| 
       1084 
     | 
    
         
            -
                  ' 
     | 
| 
       1085 
     | 
    
         
            -
                  ' 
     | 
| 
       1086 
     | 
    
         
            -
                  ' 
     | 
| 
       1087 
     | 
    
         
            -
                  ' 
     | 
| 
       1088 
     | 
    
         
            -
                  ' 
     | 
| 
       1089 
     | 
    
         
            -
             
     | 
| 
       1090 
     | 
    
         
            -
             
     | 
| 
       1091 
     | 
    
         
            -
             
     | 
| 
       1092 
     | 
    
         
            -
             
     | 
| 
       1093 
     | 
    
         
            -
                  #  
     | 
| 
       1094 
     | 
    
         
            -
                  #  
     | 
| 
       1095 
     | 
    
         
            -
             
     | 
| 
       1096 
     | 
    
         
            -
             
     | 
| 
       1097 
     | 
    
         
            -
             
     | 
| 
       1098 
     | 
    
         
            -
             
     | 
| 
       1099 
     | 
    
         
            -
             
     | 
| 
       1100 
     | 
    
         
            -
             
     | 
| 
       1101 
     | 
    
         
            -
             
     | 
| 
       1102 
     | 
    
         
            -
                  #  
     | 
| 
       1103 
     | 
    
         
            -
             
     | 
| 
       1104 
     | 
    
         
            -
             
     | 
| 
       1105 
     | 
    
         
            -
             
     | 
| 
       1106 
     | 
    
         
            -
             
     | 
| 
       1107 
     | 
    
         
            -
             
     | 
| 
       1108 
     | 
    
         
            -
                    
     | 
| 
       1109 
     | 
    
         
            -
             
     | 
| 
       1110 
     | 
    
         
            -
             
     | 
| 
       1111 
     | 
    
         
            -
                   %w( 
     | 
| 
       1112 
     | 
    
         
            -
                   %w( 
     | 
| 
       1113 
     | 
    
         
            -
                   %w( 
     | 
| 
       1114 
     | 
    
         
            -
                   %w( 
     | 
| 
       1115 
     | 
    
         
            -
                   %w( 
     | 
| 
       1116 
     | 
    
         
            -
             
     | 
| 
       1117 
     | 
    
         
            -
             
     | 
| 
       1118 
     | 
    
         
            -
             
     | 
| 
       1119 
     | 
    
         
            -
                   %w( 
     | 
| 
       1120 
     | 
    
         
            -
                   %w( 
     | 
| 
       1121 
     | 
    
         
            -
                   %w( 
     | 
| 
       1122 
     | 
    
         
            -
                   %w( 
     | 
| 
       1123 
     | 
    
         
            -
                   %w( 
     | 
| 
       1124 
     | 
    
         
            -
             
     | 
| 
       1125 
     | 
    
         
            -
             
     | 
| 
       1126 
     | 
    
         
            -
             
     | 
| 
       1127 
     | 
    
         
            -
                   %w( 
     | 
| 
       1128 
     | 
    
         
            -
                   %w( 
     | 
| 
       1129 
     | 
    
         
            -
                   %w( 
     | 
| 
       1130 
     | 
    
         
            -
                   %w( 
     | 
| 
       1131 
     | 
    
         
            -
                   %w( 
     | 
| 
       1132 
     | 
    
         
            -
             
     | 
| 
       1133 
     | 
    
         
            -
             
     | 
| 
       1134 
     | 
    
         
            -
             
     | 
| 
       1135 
     | 
    
         
            -
                   %w( 
     | 
| 
       1136 
     | 
    
         
            -
                   %w( 
     | 
| 
       1137 
     | 
    
         
            -
                   %w( 
     | 
| 
       1138 
     | 
    
         
            -
                   %w( 
     | 
| 
       1139 
     | 
    
         
            -
                   %w( 
     | 
| 
       1140 
     | 
    
         
            -
             
     | 
| 
       1141 
     | 
    
         
            -
             
     | 
| 
       1142 
     | 
    
         
            -
             
     | 
| 
       1143 
     | 
    
         
            -
                   %w( 
     | 
| 
       1144 
     | 
    
         
            -
                   %w( 
     | 
| 
       1145 
     | 
    
         
            -
                   %w( 
     | 
| 
       1146 
     | 
    
         
            -
                   %w( 
     | 
| 
       1147 
     | 
    
         
            -
                   %w( 
     | 
| 
       1148 
     | 
    
         
            -
             
     | 
| 
       1149 
     | 
    
         
            -
             
     | 
| 
       1150 
     | 
    
         
            -
             
     | 
| 
       1151 
     | 
    
         
            -
                   %w( 
     | 
| 
       1152 
     | 
    
         
            -
                   %w( 
     | 
| 
       1153 
     | 
    
         
            -
                   %w( 
     | 
| 
       1154 
     | 
    
         
            -
                   %w( 
     | 
| 
       1155 
     | 
    
         
            -
                   %w( 
     | 
| 
       1156 
     | 
    
         
            -
             
     | 
| 
       1157 
     | 
    
         
            -
             
     | 
| 
       1158 
     | 
    
         
            -
             
     | 
| 
       1159 
     | 
    
         
            -
                   %w( 
     | 
| 
       1160 
     | 
    
         
            -
                   %w( 
     | 
| 
       1161 
     | 
    
         
            -
                   %w( 
     | 
| 
       1162 
     | 
    
         
            -
                   %w( 
     | 
| 
       1163 
     | 
    
         
            -
                   %w( 
     | 
| 
       1164 
     | 
    
         
            -
             
     | 
| 
       1165 
     | 
    
         
            -
             
     | 
| 
       1166 
     | 
    
         
            -
             
     | 
| 
       1167 
     | 
    
         
            -
                   %w( 
     | 
| 
       1168 
     | 
    
         
            -
                   %w( 
     | 
| 
       1169 
     | 
    
         
            -
                   %w( 
     | 
| 
       1170 
     | 
    
         
            -
                   %w( 
     | 
| 
       1171 
     | 
    
         
            -
                   %w( 
     | 
| 
       1172 
     | 
    
         
            -
             
     | 
| 
       1173 
     | 
    
         
            -
             
     | 
| 
       1174 
     | 
    
         
            -
             
     | 
| 
       1175 
     | 
    
         
            -
                   %w( 
     | 
| 
       1176 
     | 
    
         
            -
                   %w( 
     | 
| 
       1177 
     | 
    
         
            -
                   %w( 
     | 
| 
       1178 
     | 
    
         
            -
                   %w( 
     | 
| 
       1179 
     | 
    
         
            -
                   %w( 
     | 
| 
       1180 
     | 
    
         
            -
             
     | 
| 
       1181 
     | 
    
         
            -
             
     | 
| 
       1182 
     | 
    
         
            -
             
     | 
| 
       1183 
     | 
    
         
            -
                   %w( 
     | 
| 
       1184 
     | 
    
         
            -
                   %w( 
     | 
| 
       1185 
     | 
    
         
            -
                   %w( 
     | 
| 
       1186 
     | 
    
         
            -
                   %w( 
     | 
| 
       1187 
     | 
    
         
            -
                   %w( 
     | 
| 
       1188 
     | 
    
         
            -
             
     | 
| 
       1189 
     | 
    
         
            -
             
     | 
| 
       1190 
     | 
    
         
            -
             
     | 
| 
       1191 
     | 
    
         
            -
             
     | 
| 
       1192 
     | 
    
         
            -
             
     | 
| 
       1193 
     | 
    
         
            -
             
     | 
| 
       1194 
     | 
    
         
            -
             
     | 
| 
       1195 
     | 
    
         
            -
             
     | 
| 
       1196 
     | 
    
         
            -
             
     | 
| 
       1197 
     | 
    
         
            -
                   
     | 
| 
       1198 
     | 
    
         
            -
             
     | 
| 
       1199 
     | 
    
         
            -
             
     | 
| 
       1200 
     | 
    
         
            -
             
     | 
| 
       1201 
     | 
    
         
            -
             
     | 
| 
       1202 
     | 
    
         
            -
             
     | 
| 
       1203 
     | 
    
         
            -
             
     | 
| 
       1204 
     | 
    
         
            -
             
     | 
| 
       1205 
     | 
    
         
            -
             
     | 
| 
       1206 
     | 
    
         
            -
             
     | 
| 
       1207 
     | 
    
         
            -
             
     | 
| 
       1208 
     | 
    
         
            -
             
     | 
| 
       1209 
     | 
    
         
            -
                   
     | 
| 
       1210 
     | 
    
         
            -
                   
     | 
| 
       1211 
     | 
    
         
            -
             
     | 
| 
       1212 
     | 
    
         
            -
                   
     | 
| 
       1213 
     | 
    
         
            -
                   
     | 
| 
       1214 
     | 
    
         
            -
             
     | 
| 
       1215 
     | 
    
         
            -
                   
     | 
| 
       1216 
     | 
    
         
            -
                   
     | 
| 
       1217 
     | 
    
         
            -
                   
     | 
| 
       1218 
     | 
    
         
            -
                   
     | 
| 
       1219 
     | 
    
         
            -
             
     | 
| 
       1220 
     | 
    
         
            -
                   
     | 
| 
       1221 
     | 
    
         
            -
                   
     | 
| 
       1222 
     | 
    
         
            -
             
     | 
| 
       1223 
     | 
    
         
            -
                   
     | 
| 
       1224 
     | 
    
         
            -
                   
     | 
| 
       1225 
     | 
    
         
            -
                   
     | 
| 
       1226 
     | 
    
         
            -
             
     | 
| 
       1227 
     | 
    
         
            -
             
     | 
| 
       1228 
     | 
    
         
            -
                   
     | 
| 
       1229 
     | 
    
         
            -
                   
     | 
| 
       1230 
     | 
    
         
            -
             
     | 
| 
       1231 
     | 
    
         
            -
                   
     | 
| 
       1232 
     | 
    
         
            -
                   
     | 
| 
       1233 
     | 
    
         
            -
             
     | 
| 
       1234 
     | 
    
         
            -
                   
     | 
| 
       1235 
     | 
    
         
            -
                   
     | 
| 
       1236 
     | 
    
         
            -
             
     | 
| 
       1237 
     | 
    
         
            -
             
     | 
| 
       1238 
     | 
    
         
            -
             
     | 
| 
       1239 
     | 
    
         
            -
                  #  
     | 
| 
       1240 
     | 
    
         
            -
                   
     | 
| 
       1241 
     | 
    
         
            -
                   
     | 
| 
       1242 
     | 
    
         
            -
             
     | 
| 
       1243 
     | 
    
         
            -
                  #  
     | 
| 
       1244 
     | 
    
         
            -
                  #  
     | 
| 
       1245 
     | 
    
         
            -
             
     | 
| 
       1246 
     | 
    
         
            -
             
     | 
| 
       1247 
     | 
    
         
            -
             
     | 
| 
       1248 
     | 
    
         
            -
             
     | 
| 
       1249 
     | 
    
         
            -
             
     | 
| 
       1250 
     | 
    
         
            -
             
     | 
| 
       1251 
     | 
    
         
            -
             
     | 
| 
       1252 
     | 
    
         
            -
             
     | 
| 
       1253 
     | 
    
         
            -
             
     | 
| 
       1254 
     | 
    
         
            -
             
     | 
| 
       1255 
     | 
    
         
            -
             
     | 
| 
       1256 
     | 
    
         
            -
             
     | 
| 
       1257 
     | 
    
         
            -
             
     | 
| 
       1258 
     | 
    
         
            -
             
     | 
| 
       1259 
     | 
    
         
            -
             
     | 
| 
       1260 
     | 
    
         
            -
             
     | 
| 
       1261 
     | 
    
         
            -
             
     | 
| 
       1262 
     | 
    
         
            -
             
     | 
| 
       1263 
     | 
    
         
            -
             
     | 
| 
       1264 
     | 
    
         
            -
             
     | 
| 
       1265 
     | 
    
         
            -
             
     | 
| 
       1266 
     | 
    
         
            -
             
     | 
| 
       1267 
     | 
    
         
            -
             
     | 
| 
       1268 
     | 
    
         
            -
             
     | 
| 
       1269 
     | 
    
         
            -
             
     | 
| 
       1270 
     | 
    
         
            -
             
     | 
| 
       1271 
     | 
    
         
            -
             
     | 
| 
       1272 
     | 
    
         
            -
                     
     | 
| 
       1273 
     | 
    
         
            -
             
     | 
| 
       1274 
     | 
    
         
            -
             
     | 
| 
       1275 
     | 
    
         
            -
             
     | 
| 
       1276 
     | 
    
         
            -
             
     | 
| 
       1277 
     | 
    
         
            -
             
     | 
| 
       1278 
     | 
    
         
            -
             
     | 
| 
       1279 
     | 
    
         
            -
                         
     | 
| 
       1280 
     | 
    
         
            -
             
     | 
| 
       1281 
     | 
    
         
            -
                        notes[' 
     | 
| 
       1282 
     | 
    
         
            -
                       
     | 
| 
       1283 
     | 
    
         
            -
             
     | 
| 
       1284 
     | 
    
         
            -
             
     | 
| 
       1285 
     | 
    
         
            -
             
     | 
| 
       1286 
     | 
    
         
            -
             
     | 
| 
       1287 
     | 
    
         
            -
                     
     | 
| 
       1288 
     | 
    
         
            -
             
     | 
| 
       1289 
     | 
    
         
            -
             
     | 
| 
       1290 
     | 
    
         
            -
             
     | 
| 
       1291 
     | 
    
         
            -
             
     | 
| 
       1292 
     | 
    
         
            -
             
     | 
| 
       1293 
     | 
    
         
            -
                       
     | 
| 
       1294 
     | 
    
         
            -
             
     | 
| 
       1295 
     | 
    
         
            -
             
     | 
| 
       1296 
     | 
    
         
            -
             
     | 
| 
       1297 
     | 
    
         
            -
             
     | 
| 
       1298 
     | 
    
         
            -
             
     | 
| 
       1299 
     | 
    
         
            -
             
     | 
| 
       1300 
     | 
    
         
            -
             
     | 
| 
       1301 
     | 
    
         
            -
             
     | 
| 
       1302 
     | 
    
         
            -
             
     | 
| 
       1303 
     | 
    
         
            -
             
     | 
| 
       1304 
     | 
    
         
            -
             
     | 
| 
       1305 
     | 
    
         
            -
             
     | 
| 
       1306 
     | 
    
         
            -
             
     | 
| 
       1307 
     | 
    
         
            -
             
     | 
| 
       1308 
     | 
    
         
            -
             
     | 
| 
       1309 
     | 
    
         
            -
             
     | 
| 
       1310 
     | 
    
         
            -
             
     | 
| 
       1311 
     | 
    
         
            -
             
     | 
| 
       1312 
     | 
    
         
            -
             
     | 
| 
       1313 
     | 
    
         
            -
             
     | 
| 
       1314 
     | 
    
         
            -
             
     | 
| 
       1315 
     | 
    
         
            -
             
     | 
| 
       1316 
     | 
    
         
            -
             
     | 
| 
       1317 
     | 
    
         
            -
             
     | 
| 
       1318 
     | 
    
         
            -
             
     | 
| 
       1319 
     | 
    
         
            -
             
     | 
| 
       1320 
     | 
    
         
            -
             
     | 
| 
       1321 
     | 
    
         
            -
             
     | 
| 
       1322 
     | 
    
         
            -
             
     | 
| 
       1323 
     | 
    
         
            -
             
     | 
| 
       1324 
     | 
    
         
            -
             
     | 
| 
       1325 
     | 
    
         
            -
             
     | 
| 
       1326 
     | 
    
         
            -
             
     | 
| 
       1327 
     | 
    
         
            -
             
     | 
| 
       1328 
     | 
    
         
            -
             
     | 
| 
       1329 
     | 
    
         
            -
             
     | 
| 
       1330 
     | 
    
         
            -
                           
     | 
| 
       1331 
     | 
    
         
            -
             
     | 
| 
       1332 
     | 
    
         
            -
             
     | 
| 
       1333 
     | 
    
         
            -
             
     | 
| 
       1334 
     | 
    
         
            -
             
     | 
| 
       1335 
     | 
    
         
            -
                     
     | 
| 
       1336 
     | 
    
         
            -
             
     | 
| 
       1337 
     | 
    
         
            -
                    #  
     | 
| 
       1338 
     | 
    
         
            -
                    #
         
     | 
| 
       1339 
     | 
    
         
            -
                     
     | 
| 
       1340 
     | 
    
         
            -
             
     | 
| 
       1341 
     | 
    
         
            -
             
     | 
| 
       1342 
     | 
    
         
            -
             
     | 
| 
       1343 
     | 
    
         
            -
             
     | 
| 
       1344 
     | 
    
         
            -
             
     | 
| 
       1345 
     | 
    
         
            -
             
     | 
| 
       1346 
     | 
    
         
            -
             
     | 
| 
       1347 
     | 
    
         
            -
             
     | 
| 
       1348 
     | 
    
         
            -
             
     | 
| 
       1349 
     | 
    
         
            -
                       
     | 
| 
       1350 
     | 
    
         
            -
             
     | 
| 
       1351 
     | 
    
         
            -
             
     | 
| 
       1352 
     | 
    
         
            -
                     
     | 
| 
       1353 
     | 
    
         
            -
             
     | 
| 
       1354 
     | 
    
         
            -
                    #  
     | 
| 
       1355 
     | 
    
         
            -
                     
     | 
| 
       1356 
     | 
    
         
            -
             
     | 
| 
       1357 
     | 
    
         
            -
             
     | 
| 
       1358 
     | 
    
         
            -
             
     | 
| 
       1359 
     | 
    
         
            -
             
     | 
| 
       1360 
     | 
    
         
            -
             
     | 
| 
       1361 
     | 
    
         
            -
             
     | 
| 
       1362 
     | 
    
         
            -
             
     | 
| 
       1363 
     | 
    
         
            -
             
     | 
| 
       1364 
     | 
    
         
            -
             
     | 
| 
       1365 
     | 
    
         
            -
             
     | 
| 
       1366 
     | 
    
         
            -
             
     | 
| 
       1367 
     | 
    
         
            -
             
     | 
| 
       1368 
     | 
    
         
            -
             
     | 
| 
       1369 
     | 
    
         
            -
             
     | 
| 
       1370 
     | 
    
         
            -
             
     | 
| 
       1371 
     | 
    
         
            -
             
     | 
| 
       1372 
     | 
    
         
            -
             
     | 
| 
       1373 
     | 
    
         
            -
                         
     | 
| 
       1374 
     | 
    
         
            -
                       
     | 
| 
       1375 
     | 
    
         
            -
             
     | 
| 
       1376 
     | 
    
         
            -
             
     | 
| 
       1377 
     | 
    
         
            -
             
     | 
| 
       1378 
     | 
    
         
            -
             
     | 
| 
       1379 
     | 
    
         
            -
             
     | 
| 
       1380 
     | 
    
         
            -
             
     | 
| 
       1381 
     | 
    
         
            -
             
     | 
| 
       1382 
     | 
    
         
            -
             
     | 
| 
       1383 
     | 
    
         
            -
             
     | 
| 
       1384 
     | 
    
         
            -
             
     | 
| 
       1385 
     | 
    
         
            -
             
     | 
| 
       1386 
     | 
    
         
            -
             
     | 
| 
       1387 
     | 
    
         
            -
             
     | 
| 
       1388 
     | 
    
         
            -
             
     | 
| 
       1389 
     | 
    
         
            -
                       
     | 
| 
       1390 
     | 
    
         
            -
                       
     | 
| 
       1391 
     | 
    
         
            -
             
     | 
| 
       1392 
     | 
    
         
            -
             
     | 
| 
       1393 
     | 
    
         
            -
             
     | 
| 
       1394 
     | 
    
         
            -
             
     | 
| 
       1395 
     | 
    
         
            -
             
     | 
| 
       1396 
     | 
    
         
            -
             
     | 
| 
       1397 
     | 
    
         
            -
             
     | 
| 
       1398 
     | 
    
         
            -
             
     | 
| 
       1399 
     | 
    
         
            -
             
     | 
| 
       1400 
     | 
    
         
            -
             
     | 
| 
       1401 
     | 
    
         
            -
                     
     | 
| 
       1402 
     | 
    
         
            -
             
     | 
| 
       1403 
     | 
    
         
            -
                     
     | 
| 
       1404 
     | 
    
         
            -
             
     | 
| 
       1405 
     | 
    
         
            -
             
     | 
| 
       1406 
     | 
    
         
            -
             
     | 
| 
       1407 
     | 
    
         
            -
             
     | 
| 
       1408 
     | 
    
         
            -
             
     | 
| 
       1409 
     | 
    
         
            -
             
     | 
| 
       1410 
     | 
    
         
            -
             
     | 
| 
       1411 
     | 
    
         
            -
             
     | 
| 
       1412 
     | 
    
         
            -
             
     | 
| 
       1413 
     | 
    
         
            -
             
     | 
| 
       1414 
     | 
    
         
            -
             
     | 
| 
       1415 
     | 
    
         
            -
             
     | 
| 
       1416 
     | 
    
         
            -
             
     | 
| 
       1417 
     | 
    
         
            -
             
     | 
| 
       1418 
     | 
    
         
            -
                     
     | 
| 
       1419 
     | 
    
         
            -
             
     | 
| 
       1420 
     | 
    
         
            -
             
     | 
| 
       1421 
     | 
    
         
            -
             
     | 
| 
       1422 
     | 
    
         
            -
             
     | 
| 
       1423 
     | 
    
         
            -
                     
     | 
| 
       1424 
     | 
    
         
            -
             
     | 
| 
       1425 
     | 
    
         
            -
             
     | 
| 
       1426 
     | 
    
         
            -
             
     | 
| 
       1427 
     | 
    
         
            -
             
     | 
| 
       1428 
     | 
    
         
            -
             
     | 
| 
       1429 
     | 
    
         
            -
             
     | 
| 
       1430 
     | 
    
         
            -
                     
     | 
| 
       1431 
     | 
    
         
            -
             
     | 
| 
       1432 
     | 
    
         
            -
             
     | 
| 
       1433 
     | 
    
         
            -
             
     | 
| 
       1434 
     | 
    
         
            -
             
     | 
| 
       1435 
     | 
    
         
            -
             
     | 
| 
       1436 
     | 
    
         
            -
             
     | 
| 
       1437 
     | 
    
         
            -
             
     | 
| 
       1438 
     | 
    
         
            -
             
     | 
| 
       1439 
     | 
    
         
            -
             
     | 
| 
       1440 
     | 
    
         
            -
             
     | 
| 
       1441 
     | 
    
         
            -
             
     | 
| 
       1442 
     | 
    
         
            -
             
     | 
| 
       1443 
     | 
    
         
            -
             
     | 
| 
       1444 
     | 
    
         
            -
             
     | 
| 
       1445 
     | 
    
         
            -
                    notes
         
     | 
| 
       1446 
     | 
    
         
            -
             
     | 
| 
       1447 
     | 
    
         
            -
             
     | 
| 
       1448 
     | 
    
         
            -
             
     | 
| 
       1449 
     | 
    
         
            -
             
     | 
| 
       1450 
     | 
    
         
            -
             
     | 
| 
       1451 
     | 
    
         
            -
              #  
     | 
| 
       1452 
     | 
    
         
            -
              #
         
     | 
| 
       1453 
     | 
    
         
            -
             
     | 
| 
       1454 
     | 
    
         
            -
             
     | 
| 
       1455 
     | 
    
         
            -
             
     | 
| 
       1456 
     | 
    
         
            -
             
     | 
| 
       1457 
     | 
    
         
            -
             
     | 
| 
       1458 
     | 
    
         
            -
             
     | 
| 
       1459 
     | 
    
         
            -
             
     | 
| 
       1460 
     | 
    
         
            -
             
     | 
| 
       1461 
     | 
    
         
            -
             
     | 
| 
       1462 
     | 
    
         
            -
                 
     | 
| 
       1463 
     | 
    
         
            -
             
     | 
| 
       1464 
     | 
    
         
            -
             
     | 
| 
       1465 
     | 
    
         
            -
             
     | 
| 
       1466 
     | 
    
         
            -
             
     | 
| 
       1467 
     | 
    
         
            -
             
     | 
| 
       1468 
     | 
    
         
            -
             
     | 
| 
       1469 
     | 
    
         
            -
             
     | 
| 
       1470 
     | 
    
         
            -
             
     | 
| 
       1471 
     | 
    
         
            -
             
     | 
| 
       1472 
     | 
    
         
            -
             
     | 
| 
       1473 
     | 
    
         
            -
             
     | 
| 
       1474 
     | 
    
         
            -
                 
     | 
| 
       1475 
     | 
    
         
            -
             
     | 
| 
       1476 
     | 
    
         
            -
                #
         
     | 
| 
       1477 
     | 
    
         
            -
                # 
     | 
| 
       1478 
     | 
    
         
            -
                #
         
     | 
| 
       1479 
     | 
    
         
            -
                # 
     | 
| 
       1480 
     | 
    
         
            -
                 
     | 
| 
       1481 
     | 
    
         
            -
             
     | 
| 
       1482 
     | 
    
         
            -
             
     | 
| 
       1483 
     | 
    
         
            -
             
     | 
| 
       1484 
     | 
    
         
            -
             
     | 
| 
       1485 
     | 
    
         
            -
             
     | 
| 
       1486 
     | 
    
         
            -
             
     | 
| 
       1487 
     | 
    
         
            -
             
     | 
| 
       1488 
     | 
    
         
            -
             
     | 
| 
       1489 
     | 
    
         
            -
             
     | 
| 
       1490 
     | 
    
         
            -
             
     | 
| 
       1491 
     | 
    
         
            -
             
     | 
| 
       1492 
     | 
    
         
            -
             
     | 
| 
       1493 
     | 
    
         
            -
                 
     | 
| 
       1494 
     | 
    
         
            -
             
     | 
| 
       1495 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            # -*- coding: utf-8 -*-
         
     | 
| 
      
 2 
     | 
    
         
            +
            =begin
         
     | 
| 
      
 3 
     | 
    
         
            +
              Copyright (C) 2012-2015 Takashi SUGA
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
         
     | 
| 
      
 6 
     | 
    
         
            +
            =end
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            require 'when_exe/ephemeris/notes'
         
     | 
| 
      
 9 
     | 
    
         
            +
            require 'when_exe/region/japanese/residues'
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            class When::CalendarNote
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
              #
         
     | 
| 
      
 14 
     | 
    
         
            +
              # 日本暦注
         
     | 
| 
      
 15 
     | 
    
         
            +
              #
         
     | 
| 
      
 16 
     | 
    
         
            +
              class Japanese < self
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                autoload :Eclipse, 'when_exe/region/japanese/eclipses'
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                #
         
     | 
| 
      
 21 
     | 
    
         
            +
                # 日本暦注が使用する暦法
         
     | 
| 
      
 22 
     | 
    
         
            +
                #
         
     | 
| 
      
 23 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 24 
     | 
    
         
            +
                class Cal4Note
         
     | 
| 
      
 25 
     | 
    
         
            +
                  def initialize(calendar, solar)
         
     | 
| 
      
 26 
     | 
    
         
            +
                    @calendar = calendar
         
     | 
| 
      
 27 
     | 
    
         
            +
                    @solar    = solar
         
     | 
| 
      
 28 
     | 
    
         
            +
                  end
         
     | 
| 
      
 29 
     | 
    
         
            +
                end
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                #
         
     | 
| 
      
 32 
     | 
    
         
            +
                # 日本暦注の要素
         
     | 
| 
      
 33 
     | 
    
         
            +
                #
         
     | 
| 
      
 34 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 35 
     | 
    
         
            +
                class Note < When::CalendarNote::NoteElement
         
     | 
| 
      
 36 
     | 
    
         
            +
                end
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                #
         
     | 
| 
      
 39 
     | 
    
         
            +
                # 日本暦注の要素
         
     | 
| 
      
 40 
     | 
    
         
            +
                #
         
     | 
| 
      
 41 
     | 
    
         
            +
                Notes = [When::BasicTypes::M17n, [
         
     | 
| 
      
 42 
     | 
    
         
            +
                  "locale:[=ja:, en=en:]",
         
     | 
| 
      
 43 
     | 
    
         
            +
                  "names:[日本暦注=]",
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
                  # 年の暦注 ----------------------------
         
     | 
| 
      
 46 
     | 
    
         
            +
                  [When::BasicTypes::M17n,
         
     | 
| 
      
 47 
     | 
    
         
            +
                    "names:[年, YearNote]",
         
     | 
| 
      
 48 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[干支]",       'position:共通'],                               #  0: 干支
         
     | 
| 
      
 49 
     | 
    
         
            +
                  # [Note, 0xFFFF, "label:[干=ja:%%<十干>]",
         
     | 
| 
      
 50 
     | 
    
         
            +
                  #                                   'position:共通'],                                  #     干
         
     | 
| 
      
 51 
     | 
    
         
            +
                  # [Note, 0xFFFF, "label:[支=ja:%%<十二支>]",
         
     | 
| 
      
 52 
     | 
    
         
            +
                  #                                   'position:共通'],                                  #     支
         
     | 
| 
      
 53 
     | 
    
         
            +
                    [Note, 0x3800, "label:[廿八宿=ja:%%<二十八宿>]",
         
     | 
| 
      
 54 
     | 
    
         
            +
                                                         'position:共通'],                               #  1: 廿八宿
         
     | 
| 
      
 55 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[大歳壇=]",    'position:暦序'],                               #  2: 干支
         
     | 
| 
      
 56 
     | 
    
         
            +
                    [Note, 0xC000, "label:[九星]",       'position:民間'],                               #  3: 九星
         
     | 
| 
      
 57 
     | 
    
         
            +
                    [Note, 0xFFFC, "label:[納音]",       'position:暦序',   'suffix:是'],                #  4: 干支
         
     | 
| 
      
 58 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[大歳=ja:%%<太歳神>]",
         
     | 
| 
      
 59 
     | 
    
         
            +
                                                         'position:暦序',   'suffix:在'],                #  5: 干支
         
     | 
| 
      
 60 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[大將軍=ja:%%<大将軍_(方位神)>]",
         
     | 
| 
      
 61 
     | 
    
         
            +
                                                         'position:暦序',   'suffix:在'],                #  6: 支
         
     | 
| 
      
 62 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[大陰=ja:%%<太陰神>]",
         
     | 
| 
      
 63 
     | 
    
         
            +
                                                         'position:暦序',   'suffix:在'],                #  7: 支
         
     | 
| 
      
 64 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[歳徳=ja:%%<歳徳神>]",
         
     | 
| 
      
 65 
     | 
    
         
            +
                                                         'position:暦序',   'suffix:在'],                #  8: 干
         
     | 
| 
      
 66 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[歳刑=ja:%%<歳刑神>]",
         
     | 
| 
      
 67 
     | 
    
         
            +
                                                         'position:暦序',   'suffix:在'],                #  9: 支
         
     | 
| 
      
 68 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[歳破=ja:%%<歳破神>]",
         
     | 
| 
      
 69 
     | 
    
         
            +
                                                         'position:暦序',   'suffix:在'],                # 10: 支
         
     | 
| 
      
 70 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[歳煞=ja:%%<歳殺神>]",
         
     | 
| 
      
 71 
     | 
    
         
            +
                                                         'position:暦序',   'suffix:在'],                # 11: 支
         
     | 
| 
      
 72 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[黄幡=ja:%%<黄幡神>]",
         
     | 
| 
      
 73 
     | 
    
         
            +
                                                         'position:暦序',   'suffix:在'],                # 12: 支
         
     | 
| 
      
 74 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[豹尾=ja:%%<豹尾神>]",
         
     | 
| 
      
 75 
     | 
    
         
            +
                                                         'position:暦序',   'suffix:在'],                # 13: 支
         
     | 
| 
      
 76 
     | 
    
         
            +
                    [Note, 0x0003, "label:[天道=]",      'position:暦序',   'suffix:-'],                 # 14: 支
         
     | 
| 
      
 77 
     | 
    
         
            +
                    [Note, 0x0003, "label:[人道=]",      'position:暦序',   'suffix:-'],                 # 15: 支
         
     | 
| 
      
 78 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[歳次=]",      'position:暦序',   'suffix:-'],                 # 16: 支
         
     | 
| 
      
 79 
     | 
    
         
            +
                    [Note, 0xF800, "label:[金神]",       'position:仮名暦', 'suffix:在'],                # 17: 干
         
     | 
| 
      
 80 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[大小]",       'position:暦序']                                # 18: 朔閏表
         
     | 
| 
      
 81 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 82 
     | 
    
         
            +
             
     | 
| 
      
 83 
     | 
    
         
            +
                  # 月の暦注 ----------------------------
         
     | 
| 
      
 84 
     | 
    
         
            +
                  [When::BasicTypes::M17n,
         
     | 
| 
      
 85 
     | 
    
         
            +
                    "names:[月, MonthNote]",
         
     | 
| 
      
 86 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[月名=ja:%%<月_(暦)>#%.<日本の和風月名>, Month]",
         
     | 
| 
      
 87 
     | 
    
         
            +
                                                         'position:月建'],                               #  0: 月の和名
         
     | 
| 
      
 88 
     | 
    
         
            +
                  # [Note, 0xFFFF, "label:[干支]",       'position:共通'],                               #     干支
         
     | 
| 
      
 89 
     | 
    
         
            +
                  # [Note, 0xFFFF, "label:[干=ja:%%<十干>]",
         
     | 
| 
      
 90 
     | 
    
         
            +
                  #                                           'position:共通'],                          #     干
         
     | 
| 
      
 91 
     | 
    
         
            +
                  # [Note, 0xFFFF, "label:[支=ja:%%<十二支>]",
         
     | 
| 
      
 92 
     | 
    
         
            +
                  #                                           'position:共通'],                          #     支
         
     | 
| 
      
 93 
     | 
    
         
            +
                    [Note, 0xF800, "label:[廿八宿=ja:%%<二十八宿>]",
         
     | 
| 
      
 94 
     | 
    
         
            +
                                                         'position:共通'],                               #  1: 廿八宿
         
     | 
| 
      
 95 
     | 
    
         
            +
                    [Note, 0xFFFC, "label:[月建=]",      'position:月建',   'suffix:-' ],                #  2: 年の十干と暦月
         
     | 
| 
      
 96 
     | 
    
         
            +
                    [Note, 0xC000, "label:[九星]",       'position:民間'],                               #  3: 九星
         
     | 
| 
      
 97 
     | 
    
         
            +
                    [Note, 0x0003, "label:[天氣=]",      'position:月建',   'suffix:-' ],                #  4: 暦月
         
     | 
| 
      
 98 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[天道=]",      'position:月建',   'suffix:-' ],                #  5: 暦月
         
     | 
| 
      
 99 
     | 
    
         
            +
                    [Note, 0x0003, "label:[人道=]",      'position:月建',   'suffix:-' ],                #  6: 暦月
         
     | 
| 
      
 100 
     | 
    
         
            +
                    [Note, 0x0003, "label:[月破=]",      'position:月建',   'suffix:在'],                #  7: 暦月
         
     | 
| 
      
 101 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[天徳=]",      'position:月建',   'suffix:在'],                #  8: 暦月
         
     | 
| 
      
 102 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[月煞=]",      'position:月建',   'suffix:在'],                #  9: 暦月
         
     | 
| 
      
 103 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[用時=]",      'position:月建',   'suffix:-' ],                # 10: 暦月
         
     | 
| 
      
 104 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[月徳=]",      'position:月建',   'suffix:在'],                # 11: 暦月
         
     | 
| 
      
 105 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[月徳合=]",    'position:月建',   'suffix:在'],                # 12: 暦月
         
     | 
| 
      
 106 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[月空=]",      'position:月建',   'suffix:在'],                # 13: 暦月
         
     | 
| 
      
 107 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[三鏡=]",      'position:月建',   'suffix:-' ],                # 14: 暦月
         
     | 
| 
      
 108 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[土府=]",      'position:月建',   'suffix:在'],                # 15: 暦月
         
     | 
| 
      
 109 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[土公=ja:%%<土公神>]",
         
     | 
| 
      
 110 
     | 
    
         
            +
                                                         'position:月建',   'suffix:在'],                # 16: 暦月
         
     | 
| 
      
 111 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[大小]",       'position:月建']                                # 17: 朔閏表
         
     | 
| 
      
 112 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 113 
     | 
    
         
            +
             
     | 
| 
      
 114 
     | 
    
         
            +
                  # 日の暦注 ----------------------------
         
     | 
| 
      
 115 
     | 
    
         
            +
                  [When::BasicTypes::M17n,
         
     | 
| 
      
 116 
     | 
    
         
            +
                    "names:[日, DayNote]",
         
     | 
| 
      
 117 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[干支]",       'position:共通'],                               #  0: 干支
         
     | 
| 
      
 118 
     | 
    
         
            +
                  # [Note, 0x, "label:[干=ja:%%<十干>]",
         
     | 
| 
      
 119 
     | 
    
         
            +
                  #                                           'position:共通'],                          #     干
         
     | 
| 
      
 120 
     | 
    
         
            +
                  # [Note, 0x, "label:[支=ja:%%<十二支>]",
         
     | 
| 
      
 121 
     | 
    
         
            +
                  #                                           'position:共通'],                          #     支
         
     | 
| 
      
 122 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[納音]",       'position:共通',   'suffix:是'],                #  1: 干支
         
     | 
| 
      
 123 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[十二直]",     'position:共通'],                               #  2: 支 節月
         
     | 
| 
      
 124 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[七曜]",       'position:共通'],                               #  3: 七曜
         
     | 
| 
      
 125 
     | 
    
         
            +
                    [Note, 0xF800, "label:[廿八宿=ja:%%<二十八宿>]",
         
     | 
| 
      
 126 
     | 
    
         
            +
                                                         'position:共通'],                               #  4: 廿八宿
         
     | 
| 
      
 127 
     | 
    
         
            +
                    [Note, 0x07F8, "label:[廿七宿=ja:%%<二十八宿>]",
         
     | 
| 
      
 128 
     | 
    
         
            +
                                                         'position:共通'],                               #  5: 暦月 暦日
         
     | 
| 
      
 129 
     | 
    
         
            +
                    [Note, 0xC000, "label:[九星]",       'position:民間'],                               #  6: 九星
         
     | 
| 
      
 130 
     | 
    
         
            +
                    [Note, 0x8000, "label:[六曜]",       'position:民間'],                               #  7: 暦月 暦日
         
     | 
| 
      
 131 
     | 
    
         
            +
                    [Note, 0xE000, "label:[祝祭日]",     'position:祝祭日'],                             #  8: 暦月 暦日 (七曜)
         
     | 
| 
      
 132 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[廿四節気=ja:%%<二十四節気>]",
         
     | 
| 
      
 133 
     | 
    
         
            +
                                                         'position:時候'],                               #  9: 太陽黄経
         
     | 
| 
      
 134 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[節中=]",      'position:時候'],                               # 10: 太陽黄経
         
     | 
| 
      
 135 
     | 
    
         
            +
                    [Note, 0xFFFC, "label:[七十二候]",   'position:時候'],                               # 11: 太陽黄経
         
     | 
| 
      
 136 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[六十卦=]",    'position:時候'],                               # 12: 太陽黄経
         
     | 
| 
      
 137 
     | 
    
         
            +
                    [Note, 0xF800, "label:[節分]",       'position:雑節'],                               # 13: 立春からの日数
         
     | 
| 
      
 138 
     | 
    
         
            +
                    [Note, 0xF800, "label:[初午]",       'position:雑節'],                               # 14: 支 節月 or 暦月
         
     | 
| 
      
 139 
     | 
    
         
            +
                    [Note, 0xF800, "label:[八十八夜]",   'position:雑節'],                               # 15: 立春からの日数
         
     | 
| 
      
 140 
     | 
    
         
            +
                    [Note, 0xF800, "label:[入梅]",       'position:雑節'],                               # 16: 干 太陽黄経
         
     | 
| 
      
 141 
     | 
    
         
            +
                    [Note, 0xF800, "label:[半夏生]",     'position:雑節'],                               # 17: 干 太陽黄経
         
     | 
| 
      
 142 
     | 
    
         
            +
                    [Note, 0xF800, "label:[二百十日]",   'position:雑節'],                               # 18: 立春からの日数
         
     | 
| 
      
 143 
     | 
    
         
            +
                    [Note, 0xF800, "label:[二百廿日=ja:%%<二百二十日>]", 'position:雑節'],               # 19: 立春からの日数
         
     | 
| 
      
 144 
     | 
    
         
            +
             
     | 
| 
      
 145 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[大禍=ja:%%<暦注下段>#%.<大禍日>]",
         
     | 
| 
      
 146 
     | 
    
         
            +
                                                         'position:上段 上段 欄外 欄外', 'suffix:日'],   # 20: 支 節月
         
     | 
| 
      
 147 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[滅門=ja:%%<暦注下段>#%.<滅門日>]",
         
     | 
| 
      
 148 
     | 
    
         
            +
                                                         'position:上段 上段 欄外 欄外', 'suffix:日'],   # 21: 支 節月
         
     | 
| 
      
 149 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[狼藉=ja:%%<暦注下段>#%.<狼藉日>]",
         
     | 
| 
      
 150 
     | 
    
         
            +
                                                         'position:上段 上段 欄外 欄外', 'suffix:日'],   # 22: 支 節月
         
     | 
| 
      
 151 
     | 
    
         
            +
             
     | 
| 
      
 152 
     | 
    
         
            +
                    [Note, 0x07F8, "label:[甘露=]",      'position:上段 上段 上段 上段', 'suffix:日'],   # 23: 七曜 廿七宿
         
     | 
| 
      
 153 
     | 
    
         
            +
                    [Note, 0x07F8, "label:[金剛峯=]",    'position:上段 上段 上段 上段'],                # 24: 七曜 廿七宿
         
     | 
| 
      
 154 
     | 
    
         
            +
                    [Note, 0x07F8, "label:[羅刹=]",      'position:上段 上段 上段 上段'],                # 25: 七曜 廿七宿
         
     | 
| 
      
 155 
     | 
    
         
            +
             
     | 
| 
      
 156 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[大將軍=ja:%%<大将軍_(方位神)>]",
         
     | 
| 
      
 157 
     | 
    
         
            +
                                                         'position:上段 上段 上段 上段',   'suffix:-'],  # 26: 干支 節年
         
     | 
| 
      
 158 
     | 
    
         
            +
                    [Note, 0xFFFC, "label:[天一=ja:%%<天一神>]",
         
     | 
| 
      
 159 
     | 
    
         
            +
                                                         'position:上段 上段 上段 上段',   'suffix:-'],  # 27: 干支
         
     | 
| 
      
 160 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[土公=ja:%%<土公神>]",
         
     | 
| 
      
 161 
     | 
    
         
            +
                                                         'position:上段 上段 上段 上段',   'suffix:-'],  # 28: 干支
         
     | 
| 
      
 162 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[歳下食=ja:%%<暦注下段>#%.<歳下食>]",
         
     | 
| 
      
 163 
     | 
    
         
            +
                                                         'position:上段 上段 上段 上段'],                # 29: 干支 節年
         
     | 
| 
      
 164 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[忌遠行=]",    'position:上段 上段 上段 上段'],                # 30: 支 節月
         
     | 
| 
      
 165 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[忌夜行=]",    'position:上段 上段 上段 上段'],                # 31: 支 節月
         
     | 
| 
      
 166 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[下食時=ja:%%<暦注下段>#%.<時下食>]",
         
     | 
| 
      
 167 
     | 
    
         
            +
                                                         'position:上段 上段 上段 上段',   'suffix:-'],  # 32: 支 節月 貞享暦で一部廃止
         
     | 
| 
      
 168 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[天間=]",      'position:上段 上段 上段 中段上'],              # 33: 干支 節月
         
     | 
| 
      
 169 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[不視病=]",    'position:上段 上段 上段 上段'],                # 34: 干
         
     | 
| 
      
 170 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[不問疾=]",    'position:上段 上段 上段 上段'],                # 35: 干
         
     | 
| 
      
 171 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[不弔人=]",    'position:上段 上段 上段 上段'],                # 36: 支
         
     | 
| 
      
 172 
     | 
    
         
            +
                    [Note, 0xFFFC, "label:[彼岸]",       'position:仮名暦'],                             # 37: 太陽黄経
         
     | 
| 
      
 173 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[社=ja:%%<社日>]",
         
     | 
| 
      
 174 
     | 
    
         
            +
                                                         'position:中段 中段 中段 中段', 'suffix:日'],   # 38: 干 太陽黄経
         
     | 
| 
      
 175 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[三伏]",       'position:中段 中段 中段 中段'],                # 39: 干 太陽黄経
         
     | 
| 
      
 176 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[除手足甲=]",  'position:中段 中段 中段 中段'],                # 40: 晦(除手足甲)、支(片方のみ), 没滅凶会日×
         
     | 
| 
      
 177 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[沐浴=]",      'position:中段 中段 中段 中段'],                # 41: 支 没滅凶会日×
         
     | 
| 
      
 178 
     | 
    
         
            +
                    [Note, 0x3FFD, "label:[臘=ja:%%<臘日>]",
         
     | 
| 
      
 179 
     | 
    
         
            +
                                                         'position:中段 中段 中段 中段', 'suffix:日'],   # 42: 支 太陽黄経
         
     | 
| 
      
 180 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[伐=]",        'position:中段 中段 中段 中段上', 'suffix:日'], # 43: 干支
         
     | 
| 
      
 181 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[五墓=ja:%%<暦注下段>#%.<五墓日>]",
         
     | 
| 
      
 182 
     | 
    
         
            +
                                                         'position:中段 中段 中段 中段下', 'suffix:日'], # 44: 干支
         
     | 
| 
      
 183 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[六蛇=]",      'position:中段 中段 中段 中段上'],              # 45: 干支 節月
         
     | 
| 
      
 184 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[七鳥=]",      'position:中段 中段 中段 中段上'],              # 46: 干支 節月
         
     | 
| 
      
 185 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[八龍=]",      'position:中段 中段 中段 中段上'],              # 47: 干支 節月
         
     | 
| 
      
 186 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[九虎=]",      'position:中段 中段 中段 中段上'],              # 48: 干支 節月
         
     | 
| 
      
 187 
     | 
    
         
            +
                    [Note, 0x07FF, "label:[没=ja:%%<没日>]",
         
     | 
| 
      
 188 
     | 
    
         
            +
                                                         'position:中段 中段 中段 中段', 'suffix:日'],   # 49: 太陽黄経
         
     | 
| 
      
 189 
     | 
    
         
            +
                    [Note, 0xFFF8, "label:[日食]",       'position:中段 中段 中段 中段'],                # 50: 日食表
         
     | 
| 
      
 190 
     | 
    
         
            +
                    [Note, 0x07FC, "label:[滅=ja:%%<滅日>]",
         
     | 
| 
      
 191 
     | 
    
         
            +
                                                         'position:中段 中段 中段 中段', 'suffix:日'],   # 51: 月の位相
         
     | 
| 
      
 192 
     | 
    
         
            +
                    [Note, 0xFFF8, "label:[月食]",       'position:中段 中段 中段 中段'],                # 52: 月食表
         
     | 
| 
      
 193 
     | 
    
         
            +
                    [Note, 0xC7FD, "label:[月相]",       'position:中段 中段 中段 中段'],                # 53: 月の位相
         
     | 
| 
      
 194 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[土用事=ja:%%<土用>]",
         
     | 
| 
      
 195 
     | 
    
         
            +
                                                         'position:中段 中段 中段 中段'],                # 54: 太陽黄経
         
     | 
| 
      
 196 
     | 
    
         
            +
                    [Note, 0x3FF0, "label:[伏龍=]",      'position:上段 上段 下段 下段', 'suffix:在'],   # 55: 太陽黄経
         
     | 
| 
      
 197 
     | 
    
         
            +
             
     | 
| 
      
 198 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[凶会=ja:%%<暦注下段>#%.<凶会日>]",
         
     | 
| 
      
 199 
     | 
    
         
            +
                                                         'position:下段 下段 下段 下段', 'suffix:日'],   # 56: 干支 節月(宣明暦以前)/暦月(貞享暦以降)
         
     | 
| 
      
 200 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[大小歳=]",    'position:下段 下段 下段 下段'],                # 57: 干支 節月
         
     | 
| 
      
 201 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[歳徳=ja:%%<歳徳神>]",
         
     | 
| 
      
 202 
     | 
    
         
            +
                                                         'position:下段 下段 下段 下段'],                # 58: 干 節年 凶会日× ~合も
         
     | 
| 
      
 203 
     | 
    
         
            +
                    [Note, 0x0003, "label:[天倉=]",      'position:古注'],                               # 59: 干支 節月
         
     | 
| 
      
 204 
     | 
    
         
            +
                  # [Note, 0x0003, "label:[天李=]",      'position:古注'],                               #     干支 節月?
         
     | 
| 
      
 205 
     | 
    
         
            +
                    [Note, 0x37FF, "label:[天恩=ja:%%<暦注下段>#%.<天恩日>]",
         
     | 
| 
      
 206 
     | 
    
         
            +
                                                         'position:下段 下段 下段 下段', 'suffix:日'],   # 60: 干支 節月 凶会日×
         
     | 
| 
      
 207 
     | 
    
         
            +
                    [Note, 0xFFFF, "label:[天赦=ja:%%<暦注下段>#%.<天赦日>]",
         
     | 
| 
      
 208 
     | 
    
         
            +
                                                         'position:下段 下段 下段 下段'],                # 61: 干支 節月
         
     | 
| 
      
 209 
     | 
    
         
            +
                    [Note, 0x37FF, "label:[母倉=ja:%%<暦注下段>#%.<母倉日>]",
         
     | 
| 
      
 210 
     | 
    
         
            +
                                                         'position:下段 下段 下段 下段', 'suffix:日'],   # 62: 支 節月 凶会日×
         
     | 
| 
      
 211 
     | 
    
         
            +
                    [Note, 0x37FC, "label:[月徳=]",      'position:下段 下段 下段 下段'],                # 63: 干 節月 凶会日× ~合も
         
     | 
| 
      
 212 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[九坎=]",      'position:下段 下段 下段 下段'],                # 64: 支 節月
         
     | 
| 
      
 213 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[歸忌=ja:%%<暦注下段>#%.<帰忌日>]",
         
     | 
| 
      
 214 
     | 
    
         
            +
                                                         'position:下段 下段 下段 下段', 'suffix:日'],   # 65: 支 節月
         
     | 
| 
      
 215 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[血忌=ja:%%<暦注下段>#%.<血忌日>]",
         
     | 
| 
      
 216 
     | 
    
         
            +
                                                         'position:下段 下段 下段 下段', 'suffix:日'],   # 66: 支 節月
         
     | 
| 
      
 217 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[無翹=]",      'position:下段 下段 下段 下段'],                # 67: 支 節月
         
     | 
| 
      
 218 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[厭=]",        'position:下段 下段 下段 下段'],                # 68: 支 節月
         
     | 
| 
      
 219 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[重=ja:%%<暦注下段>#%.<重日>]",
         
     | 
| 
      
 220 
     | 
    
         
            +
                                                         'position:下段 下段 下段 下段', 'suffix:日'],   # 69: 支
         
     | 
| 
      
 221 
     | 
    
         
            +
                    [Note, 0x3FFD, "label:[復=ja:%%<暦注下段>#%.<復日>]",
         
     | 
| 
      
 222 
     | 
    
         
            +
                                                         'position:下段 下段 下段 下段', 'suffix:日'],   # 70: 干 節月
         
     | 
| 
      
 223 
     | 
    
         
            +
                    [Note, 0x3FFC, "label:[月煞=]",      'position:下段 下段 下段 下段'],                # 71: 支 節月
         
     | 
| 
      
 224 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[往亡=ja:%%<暦注下段>#%.<往亡日>]",
         
     | 
| 
      
 225 
     | 
    
         
            +
                                                         'position:下段 下段 下段 下段', 'suffix:日'],   # 72: 太陽黄経
         
     | 
| 
      
 226 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[日遊=ja:%%<日遊神>]",
         
     | 
| 
      
 227 
     | 
    
         
            +
                                                         'position:最下段', 'suffix:在'],                # 73: 干支
         
     | 
| 
      
 228 
     | 
    
         
            +
                    [Note, 0x07FF, "label:[人神配当=]",  'position:最下段孟月', 'suffix:-'],             # 74: 暦日
         
     | 
| 
      
 229 
     | 
    
         
            +
             
     | 
| 
      
 230 
     | 
    
         
            +
                    [Note, 0x3E00, "label:[受死=ja:%%<暦注下段>#%.<受死日>]",
         
     | 
| 
      
 231 
     | 
    
         
            +
                                                         'position:仮名暦', 'suffix:日'],                # 75: 支 節月
         
     | 
| 
      
 232 
     | 
    
         
            +
                    [Note, 0xFFF0, "label:[八專]",       'position:仮名暦'],                             # 76: 干支
         
     | 
| 
      
 233 
     | 
    
         
            +
                    [Note, 0x3E00, "label:[八專間日=ja:%%<八専>]",
         
     | 
| 
      
 234 
     | 
    
         
            +
                                                         'position:仮名暦'],                             # 77: 干支
         
     | 
| 
      
 235 
     | 
    
         
            +
                    [Note, 0xC000, "label:[金神間日=ja:%%<金神>#%.<金神の遊行・間日>]",
         
     | 
| 
      
 236 
     | 
    
         
            +
                                                         'position:仮名暦'],                             # 78: 支 節月
         
     | 
| 
      
 237 
     | 
    
         
            +
                    [Note, 0xC000, "label:[金神遊行=ja:%%<金神>#%.<金神の遊行・間日>]",
         
     | 
| 
      
 238 
     | 
    
         
            +
                                                         'position:仮名暦'],                             # 79: 支 節月
         
     | 
| 
      
 239 
     | 
    
         
            +
                    [Note, 0x3FF0, "label:[天火=ja:%%<暦注下段>#%.<天火日>]",
         
     | 
| 
      
 240 
     | 
    
         
            +
                                                         'position:仮名暦', 'suffix:日'],                # 80: 支 節月
         
     | 
| 
      
 241 
     | 
    
         
            +
                    [Note, 0x3FF0, "label:[地火=ja:%%<暦注下段>#%.<地火日>]",
         
     | 
| 
      
 242 
     | 
    
         
            +
                                                         'position:仮名暦', 'suffix:日'],                # 81: 支 節月
         
     | 
| 
      
 243 
     | 
    
         
            +
                    [Note, 0x3800, "label:[人火=]",      'position:仮名暦'],                             # 82: 支 節月
         
     | 
| 
      
 244 
     | 
    
         
            +
                    [Note, 0x3800, "label:[雷火=]",      'position:仮名暦'],                             # 83: 支 節月
         
     | 
| 
      
 245 
     | 
    
         
            +
                    [Note, 0x3FF0, "label:[赤舌=ja:%%<赤舌日>]",
         
     | 
| 
      
 246 
     | 
    
         
            +
                                                         'position:仮名暦', 'suffix:日'],                # 84: 暦月 暦日
         
     | 
| 
      
 247 
     | 
    
         
            +
                    [Note, 0x3E00, "label:[十死=ja:%%<暦注下段>#%.<十死日>]",
         
     | 
| 
      
 248 
     | 
    
         
            +
                                                         'position:仮名暦', 'suffix:日'],                # 85: 支 節月
         
     | 
| 
      
 249 
     | 
    
         
            +
                    [Note, 0x3E00, "label:[道虚=]",      'position:仮名暦', 'suffix:日'],                # 86: 暦日
         
     | 
| 
      
 250 
     | 
    
         
            +
                    [Note, 0x3E00, "label:[大明=ja:%%<暦注下段>#%.<大明日>]",
         
     | 
| 
      
 251 
     | 
    
         
            +
                                                         'position:仮名暦', 'suffix:日'],                # 87: 干支
         
     | 
| 
      
 252 
     | 
    
         
            +
                    [Note, 0x0600, "label:[大赤=ja:%%<赤口日>]",
         
     | 
| 
      
 253 
     | 
    
         
            +
                                                         'position:仮名暦', 'suffix:日'],                # 88: 暦月 暦日
         
     | 
| 
      
 254 
     | 
    
         
            +
                    [Note, 0xF800, "label:[甲子待=ja:%%<甲子>]",
         
     | 
| 
      
 255 
     | 
    
         
            +
                                                         'position:仮名暦'],                             # 89: 干支
         
     | 
| 
      
 256 
     | 
    
         
            +
                    [Note, 0xC000, "label:[己巳]",       'position:仮名暦'],                             # 90: 干支
         
     | 
| 
      
 257 
     | 
    
         
            +
                    [Note, 0xF800, "label:[庚申待]",     'position:仮名暦'],                             # 91: 干支
         
     | 
| 
      
 258 
     | 
    
         
            +
                    [Note, 0x3800, "label:[犯土]",       'position:仮名暦'],                             # 92: 干支
         
     | 
| 
      
 259 
     | 
    
         
            +
                    [Note, 0xF800, "label:[十方暮]",     'position:仮名暦'],                             # 93: 干支
         
     | 
| 
      
 260 
     | 
    
         
            +
                    [Note, 0xF800, "label:[一粒万倍=ja:%%<一粒万倍日>]",
         
     | 
| 
      
 261 
     | 
    
         
            +
                                                         'position:仮名暦', 'suffix:日'],                # 94: 支 節月
         
     | 
| 
      
 262 
     | 
    
         
            +
                    [Note, 0x3800, "label:[天福=]",      'position:仮名暦'],                             # 95: 支 節月
         
     | 
| 
      
 263 
     | 
    
         
            +
                    [Note, 0x3800, "label:[地福=]",      'position:仮名暦'],                             # 96: 支 節月
         
     | 
| 
      
 264 
     | 
    
         
            +
                    [Note, 0x3800, "label:[地五福=]",    'position:仮名暦'],                             # 97: 支 節月
         
     | 
| 
      
 265 
     | 
    
         
            +
                    [Note, 0xB800, "label:[三隣亡]",     'position:仮名暦'],                             # 98: 支 節月
         
     | 
| 
      
 266 
     | 
    
         
            +
                    [Note, 0xF800, "label:[不成就=ja:%%<不成就日>]",
         
     | 
| 
      
 267 
     | 
    
         
            +
                                                         'position:仮名暦', 'suffix:日'],                # 99: 暦月 暦日/晦日
         
     | 
| 
      
 268 
     | 
    
         
            +
                    [Note, 0x3800, "label:[鬼宿]",       'position:仮名暦'],                             #100: 廿八宿
         
     | 
| 
      
 269 
     | 
    
         
            +
                    [Note, 0x3800, "label:[金性=]",      'position:仮名暦'],                             #101: 支 節月 支 節年
         
     | 
| 
      
 270 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[三寶吉=http://kotobank.jp/word/%%<三宝吉日>]",
         
     | 
| 
      
 271 
     | 
    
         
            +
                                                         'position:上段 上段 上段 上段'],                #102: 干支 節月
         
     | 
| 
      
 272 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[神吉=ja:%%<暦注下段>#%.<神吉日>]",
         
     | 
| 
      
 273 
     | 
    
         
            +
                                                         'position:上段 上段 中段 中段上', 'suffix:日'], #103: 干支 節月
         
     | 
| 
      
 274 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[雑事吉=]",    'position:雑事吉'],                             #104: 干支 節月
         
     | 
| 
      
 275 
     | 
    
         
            +
                    [Note, 0x3FFF, "label:[小字注=]",    'position:下段小字 下段小字 下段小字 下段小字'],#105: 干支 節月
         
     | 
| 
      
 276 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 277 
     | 
    
         
            +
                ]]
         
     | 
| 
      
 278 
     | 
    
         
            +
             
     | 
| 
      
 279 
     | 
    
         
            +
                #
         
     | 
| 
      
 280 
     | 
    
         
            +
                # 日本暦注の時代変遷
         
     | 
| 
      
 281 
     | 
    
         
            +
                #
         
     | 
| 
      
 282 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 283 
     | 
    
         
            +
                NoteTypes = (2...When::TM::CalendarEra::JapaneseSolar[2].size).to_a.map {|i|
         
     | 
| 
      
 284 
     | 
    
         
            +
                  calendars =
         
     | 
| 
      
 285 
     | 
    
         
            +
                    [When::TM::CalendarEra::JapaneseLuniSolar[2][i][2],
         
     | 
| 
      
 286 
     | 
    
         
            +
                     When::TM::CalendarEra::JapaneseSolar[2][i][2]].map {|epoch|
         
     | 
| 
      
 287 
     | 
    
         
            +
                      epoch =~ /\A(-?\d+)-(\d+)-(\d+)\^(.+)\z/
         
     | 
| 
      
 288 
     | 
    
         
            +
                      $4
         
     | 
| 
      
 289 
     | 
    
         
            +
                    }
         
     | 
| 
      
 290 
     | 
    
         
            +
                  [$2 == '01' ? $1.to_i : $1.to_i+1, Cal4Note.new(*calendars)]
         
     | 
| 
      
 291 
     | 
    
         
            +
                }.reverse
         
     | 
| 
      
 292 
     | 
    
         
            +
             
     | 
| 
      
 293 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 294 
     | 
    
         
            +
                NoteRange = [
         
     | 
| 
      
 295 
     | 
    
         
            +
                  # 開始 具注暦 七十二候        index mask
         
     | 
| 
      
 296 
     | 
    
         
            +
                  [-660,    0,      0], # ~ 696  0 : 0001
         
     | 
| 
      
 297 
     | 
    
         
            +
                  [ 697,    0,      0], # ~ 763  1 : 0002
         
     | 
| 
      
 298 
     | 
    
         
            +
                  [ 764,    0,      2], # ~ 800  2 : 0004
         
     | 
| 
      
 299 
     | 
    
         
            +
                  [ 801,    0,      2], # ~ 900  3 : 0008
         
     | 
| 
      
 300 
     | 
    
         
            +
                  [ 901,    0,      2], # ~1003  4 : 0010
         
     | 
| 
      
 301 
     | 
    
         
            +
                  [1004,    1,      2], # ~1047  5 : 0020
         
     | 
| 
      
 302 
     | 
    
         
            +
                  [1048,    1,      2], # ~1100  6 : 0040
         
     | 
| 
      
 303 
     | 
    
         
            +
                  [1101,    1,      2], # ~1184  7 : 0080
         
     | 
| 
      
 304 
     | 
    
         
            +
                  [1185,    2,      2], # ~1300  8 : 0100
         
     | 
| 
      
 305 
     | 
    
         
            +
                  [1301,    2,      2], # ~1337  9 : 0200
         
     | 
| 
      
 306 
     | 
    
         
            +
                  [1338,    3,      2], # ~1684 10 : 0400
         
     | 
| 
      
 307 
     | 
    
         
            +
                  [1685,    3,      3], # ~1754 11 : 0800
         
     | 
| 
      
 308 
     | 
    
         
            +
                  [1755,    3,      4], # ~1867 12 : 1000
         
     | 
| 
      
 309 
     | 
    
         
            +
                  [1868,    3,      4], # ~1872 13 : 2000
         
     | 
| 
      
 310 
     | 
    
         
            +
                  [1873,    3,      4], # ~1873 14 : 4000
         
     | 
| 
      
 311 
     | 
    
         
            +
                  [1874,    3,      5]  # ~     15 : 8000
         
     | 
| 
      
 312 
     | 
    
         
            +
                ]
         
     | 
| 
      
 313 
     | 
    
         
            +
             
     | 
| 
      
 314 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 315 
     | 
    
         
            +
                NoteFocused = (0...NoteRange.size).to_a.map {|range|
         
     | 
| 
      
 316 
     | 
    
         
            +
                  (2..4).to_a.map {|cord|
         
     | 
| 
      
 317 
     | 
    
         
            +
                    notes = Notes[1][cord]
         
     | 
| 
      
 318 
     | 
    
         
            +
                    (2...notes.size).to_a.inject([]) {|focused,note|
         
     | 
| 
      
 319 
     | 
    
         
            +
                      focused << notes[note][2][/\[.+?[=\]]/][1..-2] if notes[note][1][range] == 1
         
     | 
| 
      
 320 
     | 
    
         
            +
                      focused
         
     | 
| 
      
 321 
     | 
    
         
            +
                    }
         
     | 
| 
      
 322 
     | 
    
         
            +
                  }
         
     | 
| 
      
 323 
     | 
    
         
            +
                }
         
     | 
| 
      
 324 
     | 
    
         
            +
             
     | 
| 
      
 325 
     | 
    
         
            +
                #
         
     | 
| 
      
 326 
     | 
    
         
            +
                # 月の大小
         
     | 
| 
      
 327 
     | 
    
         
            +
                #
         
     | 
| 
      
 328 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 329 
     | 
    
         
            +
                MonthPattern = {
         
     | 
| 
      
 330 
     | 
    
         
            +
                   29 => '小',
         
     | 
| 
      
 331 
     | 
    
         
            +
                   30 => '大',
         
     | 
| 
      
 332 
     | 
    
         
            +
                  -28 => '平',
         
     | 
| 
      
 333 
     | 
    
         
            +
                  -29 => '閏',
         
     | 
| 
      
 334 
     | 
    
         
            +
                  -30 => '小',
         
     | 
| 
      
 335 
     | 
    
         
            +
                  -31 => '大'
         
     | 
| 
      
 336 
     | 
    
         
            +
                }
         
     | 
| 
      
 337 
     | 
    
         
            +
             
     | 
| 
      
 338 
     | 
    
         
            +
                #
         
     | 
| 
      
 339 
     | 
    
         
            +
                # 日本暦注に対応するインデックス(整数値)
         
     | 
| 
      
 340 
     | 
    
         
            +
                #
         
     | 
| 
      
 341 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 342 
     | 
    
         
            +
                module Index
         
     | 
| 
      
 343 
     | 
    
         
            +
                  # @private
         
     | 
| 
      
 344 
     | 
    
         
            +
                  [[2,'Y'], [3,'M'], [4,'D']].map {|cord|
         
     | 
| 
      
 345 
     | 
    
         
            +
                    index, initial = cord
         
     | 
| 
      
 346 
     | 
    
         
            +
                    notes = Notes[1][index]
         
     | 
| 
      
 347 
     | 
    
         
            +
                    (notes.size-2).times {|no|
         
     | 
| 
      
 348 
     | 
    
         
            +
                      name = initial + notes[no+2][2][/\[.+?[=\]]/][1..-2]
         
     | 
| 
      
 349 
     | 
    
         
            +
                      mask = 'M' + name
         
     | 
| 
      
 350 
     | 
    
         
            +
                      const_set(name, no)
         
     | 
| 
      
 351 
     | 
    
         
            +
                      const_set(mask, 1<<no)
         
     | 
| 
      
 352 
     | 
    
         
            +
                    }
         
     | 
| 
      
 353 
     | 
    
         
            +
                  }
         
     | 
| 
      
 354 
     | 
    
         
            +
                end
         
     | 
| 
      
 355 
     | 
    
         
            +
             
     | 
| 
      
 356 
     | 
    
         
            +
                #
         
     | 
| 
      
 357 
     | 
    
         
            +
                # 日本暦注が使用する暦法
         
     | 
| 
      
 358 
     | 
    
         
            +
                #
         
     | 
| 
      
 359 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 360 
     | 
    
         
            +
                class Cal4Note
         
     | 
| 
      
 361 
     | 
    
         
            +
                  attr_reader :calendar, :solar
         
     | 
| 
      
 362 
     | 
    
         
            +
             
     | 
| 
      
 363 
     | 
    
         
            +
                  def l_calendar
         
     | 
| 
      
 364 
     | 
    
         
            +
                    @l_calendar ||= When.Calendar(@calendar.kind_of?(String) ? @calendar.sub(/#\{\?.+?\}/, '') : @calendar)
         
     | 
| 
      
 365 
     | 
    
         
            +
                  end
         
     | 
| 
      
 366 
     | 
    
         
            +
             
     | 
| 
      
 367 
     | 
    
         
            +
                  def s_calendar
         
     | 
| 
      
 368 
     | 
    
         
            +
                    @s_calendar ||= When.Calendar(@solar.kind_of?(String) ? @solar.sub(/#\{\?.+?\}/, '?Clock=THS') : @solar)
         
     | 
| 
      
 369 
     | 
    
         
            +
                  end
         
     | 
| 
      
 370 
     | 
    
         
            +
             
     | 
| 
      
 371 
     | 
    
         
            +
                  def l_phases
         
     | 
| 
      
 372 
     | 
    
         
            +
                    @l_phases   ||= Japanese::LunarPhases.new('formula'=>l_calendar.formula[-1])
         
     | 
| 
      
 373 
     | 
    
         
            +
                  end
         
     | 
| 
      
 374 
     | 
    
         
            +
             
     | 
| 
      
 375 
     | 
    
         
            +
                  def s_terms
         
     | 
| 
      
 376 
     | 
    
         
            +
                    @s_terms    ||= Japanese::SolarTerms.new('formula'=>s_calendar.formula[0])
         
     | 
| 
      
 377 
     | 
    
         
            +
                  end
         
     | 
| 
      
 378 
     | 
    
         
            +
             
     | 
| 
      
 379 
     | 
    
         
            +
                  def s_terms2
         
     | 
| 
      
 380 
     | 
    
         
            +
                    @s_terms2   ||= @l_calendar.iri =~ /JapaneseTwin(.*?)::天保暦/ ?
         
     | 
| 
      
 381 
     | 
    
         
            +
                      Japanese::SolarTermsRevised.new('formula'=>s_calendar.formula[0]) : s_terms
         
     | 
| 
      
 382 
     | 
    
         
            +
                  end
         
     | 
| 
      
 383 
     | 
    
         
            +
             
     | 
| 
      
 384 
     | 
    
         
            +
                  def doyo
         
     | 
| 
      
 385 
     | 
    
         
            +
                    @doyo       ||= (s_calendar.doyo ? s_calendar.doyo * 360.0 / s_calendar.formula[0].year_length : 0)
         
     | 
| 
      
 386 
     | 
    
         
            +
                  end
         
     | 
| 
      
 387 
     | 
    
         
            +
                end
         
     | 
| 
      
 388 
     | 
    
         
            +
             
     | 
| 
      
 389 
     | 
    
         
            +
                #
         
     | 
| 
      
 390 
     | 
    
         
            +
                #  日本暦注用の Notes の要素のための内部クラス
         
     | 
| 
      
 391 
     | 
    
         
            +
                #
         
     | 
| 
      
 392 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 393 
     | 
    
         
            +
                class Note
         
     | 
| 
      
 394 
     | 
    
         
            +
             
     | 
| 
      
 395 
     | 
    
         
            +
                  attr_reader :label, :position, :suffix
         
     | 
| 
      
 396 
     | 
    
         
            +
             
     | 
| 
      
 397 
     | 
    
         
            +
                  def to_note_hash(note, dates=nil)
         
     | 
| 
      
 398 
     | 
    
         
            +
                    {
         
     | 
| 
      
 399 
     | 
    
         
            +
                      :note      => self,
         
     | 
| 
      
 400 
     | 
    
         
            +
                      :value     => case @suffix
         
     | 
| 
      
 401 
     | 
    
         
            +
                                    when '是' ; [@label + '是-', note[/.\z/]]
         
     | 
| 
      
 402 
     | 
    
         
            +
                                    when '在' ; [@label + '在-', note]
         
     | 
| 
      
 403 
     | 
    
         
            +
                                    when '-'  ; [@label + '-',   note]
         
     | 
| 
      
 404 
     | 
    
         
            +
                                    else      ; note
         
     | 
| 
      
 405 
     | 
    
         
            +
                                    end,
         
     | 
| 
      
 406 
     | 
    
         
            +
                      :position => @position[@position.size == 1 ? 0 : dates.index_g]
         
     | 
| 
      
 407 
     | 
    
         
            +
                    }
         
     | 
| 
      
 408 
     | 
    
         
            +
                  end
         
     | 
| 
      
 409 
     | 
    
         
            +
             
     | 
| 
      
 410 
     | 
    
         
            +
                  private
         
     | 
| 
      
 411 
     | 
    
         
            +
                  # オブジェクトの正規化
         
     | 
| 
      
 412 
     | 
    
         
            +
                  #
         
     | 
| 
      
 413 
     | 
    
         
            +
                  def _normalize(args=[], options={})
         
     | 
| 
      
 414 
     | 
    
         
            +
                    @position = @position.split(/ /)
         
     | 
| 
      
 415 
     | 
    
         
            +
                  end
         
     | 
| 
      
 416 
     | 
    
         
            +
                end
         
     | 
| 
      
 417 
     | 
    
         
            +
             
     | 
| 
      
 418 
     | 
    
         
            +
                #
         
     | 
| 
      
 419 
     | 
    
         
            +
                #  日本暦注計算に必要となる暦日や暦法をまとめた内部クラス
         
     | 
| 
      
 420 
     | 
    
         
            +
                #
         
     | 
| 
      
 421 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 422 
     | 
    
         
            +
                class Dates
         
     | 
| 
      
 423 
     | 
    
         
            +
             
     | 
| 
      
 424 
     | 
    
         
            +
                  attr_reader :year, :precision, :cal4note, :range, :index_g, :index_s, :o_date, :l_date, :m_date, :s_date
         
     | 
| 
      
 425 
     | 
    
         
            +
             
     | 
| 
      
 426 
     | 
    
         
            +
                  # 初期設定
         
     | 
| 
      
 427 
     | 
    
         
            +
                  def initialize(date, year=date.most_significant_coordinate, precision=date.precision, cal4note=nil)
         
     | 
| 
      
 428 
     | 
    
         
            +
             
     | 
| 
      
 429 
     | 
    
         
            +
                    # 暦注パターン
         
     | 
| 
      
 430 
     | 
    
         
            +
                    if cal4note
         
     | 
| 
      
 431 
     | 
    
         
            +
                      # 年代による判定
         
     | 
| 
      
 432 
     | 
    
         
            +
                      (1...NoteRange.size).to_a.reverse.each do |i|
         
     | 
| 
      
 433 
     | 
    
         
            +
                        if year >= NoteRange[i][0]
         
     | 
| 
      
 434 
     | 
    
         
            +
                          @range = i
         
     | 
| 
      
 435 
     | 
    
         
            +
                          break
         
     | 
| 
      
 436 
     | 
    
         
            +
                        end
         
     | 
| 
      
 437 
     | 
    
         
            +
                      end
         
     | 
| 
      
 438 
     | 
    
         
            +
                      @range ||= 0
         
     | 
| 
      
 439 
     | 
    
         
            +
                    else
         
     | 
| 
      
 440 
     | 
    
         
            +
                      # 暦法による判定
         
     | 
| 
      
 441 
     | 
    
         
            +
                      cal4note = Cal4Note.new(date.frame, date.frame.twin)
         
     | 
| 
      
 442 
     | 
    
         
            +
                      @range =
         
     | 
| 
      
 443 
     | 
    
         
            +
                        case cal4note.l_calendar.formula[-1]
         
     | 
| 
      
 444 
     | 
    
         
            +
                        when When::Ephemeris::ChineseTrueLunation::JujiMethods ; 11 # 江戸時代の暦
         
     | 
| 
      
 445 
     | 
    
         
            +
                        when When::Ephemeris::ChineseTrueLunation
         
     | 
| 
      
 446 
     | 
    
         
            +
                          date.frame.twin =~ /戊寅|麟徳/ ? 1 : 10 # 唐代定朔暦(儀鳳暦 or 宣明暦)
         
     | 
| 
      
 447 
     | 
    
         
            +
                        when When::Ephemeris::MeanLunation   ;  0 # 唐代以前平朔暦(元嘉暦)
         
     | 
| 
      
 448 
     | 
    
         
            +
                        else                                 ; 15 # 現代の旧暦
         
     | 
| 
      
 449 
     | 
    
         
            +
                        end
         
     | 
| 
      
 450 
     | 
    
         
            +
                    end
         
     | 
| 
      
 451 
     | 
    
         
            +
             
     | 
| 
      
 452 
     | 
    
         
            +
                    # 具注暦の配置
         
     | 
| 
      
 453 
     | 
    
         
            +
                    @index_g = NoteRange[@range][1]
         
     | 
| 
      
 454 
     | 
    
         
            +
             
     | 
| 
      
 455 
     | 
    
         
            +
                    # 七十二候
         
     | 
| 
      
 456 
     | 
    
         
            +
                    @index_s = NoteRange[@range][2]
         
     | 
| 
      
 457 
     | 
    
         
            +
             
     | 
| 
      
 458 
     | 
    
         
            +
                    # その他の属性
         
     | 
| 
      
 459 
     | 
    
         
            +
                    @year      = year
         
     | 
| 
      
 460 
     | 
    
         
            +
                    @precision = precision
         
     | 
| 
      
 461 
     | 
    
         
            +
                    @cal4note  = cal4note
         
     | 
| 
      
 462 
     | 
    
         
            +
                    @o_date    = date
         
     | 
| 
      
 463 
     | 
    
         
            +
                    @l_date    = @cal4note.l_calendar ^ date
         
     | 
| 
      
 464 
     | 
    
         
            +
                    @m_date    = date.frame.kind_of?(When::CalendarTypes::Christian) ? @l_date : @o_date
         
     | 
| 
      
 465 
     | 
    
         
            +
                    @s_date    = @cal4note.s_calendar ^ date
         
     | 
| 
      
 466 
     | 
    
         
            +
                  end
         
     | 
| 
      
 467 
     | 
    
         
            +
                end
         
     | 
| 
      
 468 
     | 
    
         
            +
             
     | 
| 
      
 469 
     | 
    
         
            +
                NoteMethods = [:year_notes, :month_notes, :day_notes]
         
     | 
| 
      
 470 
     | 
    
         
            +
             
     | 
| 
      
 471 
     | 
    
         
            +
                # 暦注の計算
         
     | 
| 
      
 472 
     | 
    
         
            +
                #
         
     | 
| 
      
 473 
     | 
    
         
            +
                # @param [When::TM::TemporalPosition] date 暦注を計算する日時
         
     | 
| 
      
 474 
     | 
    
         
            +
                #   (date が When::TM::TemporalPosition でない場合、When::TM::TemporalPosition に変換して使用する)
         
     | 
| 
      
 475 
     | 
    
         
            +
                # @param [Hash] options
         
     | 
| 
      
 476 
     | 
    
         
            +
                # @option options [Hash] :conditions 日本暦注固有の計算条件
         
     | 
| 
      
 477 
     | 
    
         
            +
                #   :n27 通常月の廿七宿配当 *0:本月本説, 1:本月異説, 2:閏月本説, 3:閏月異説, 4:閏月本説(元)
         
     | 
| 
      
 478 
     | 
    
         
            +
                #   :i27 閏月の廿七宿配当   同上
         
     | 
| 
      
 479 
     | 
    
         
            +
                #   :sai *false,'0':日本暦日総覧説 , true:wagoyomi.net説
         
     | 
| 
      
 480 
     | 
    
         
            +
                #   :shoyo *false:出力せず, true:暦定数が有理数の場合に出力
         
     | 
| 
      
 481 
     | 
    
         
            +
                #   :solar_eclipse -1:計算を行わない, *0:すべて出力, 1:夜日食は出力しない, 3:夜日食に加え南半球で主に見える日食も出力しない
         
     | 
| 
      
 482 
     | 
    
         
            +
                #   :lunar_eclipse -1:計算を行わない, *0:すべて出力, 1:昼月食は出力しない, 3:昼月食に加え半影月食も出力しない
         
     | 
| 
      
 483 
     | 
    
         
            +
                #   :kana *false:具注暦用の計算, true:江戸仮名暦用の計算
         
     | 
| 
      
 484 
     | 
    
         
            +
                #   (* がデフォルト)
         
     | 
| 
      
 485 
     | 
    
         
            +
                #
         
     | 
| 
      
 486 
     | 
    
         
            +
                # @note :indices, :notes およびその他のキー => {When::CalendarNote#notes} を参照
         
     | 
| 
      
 487 
     | 
    
         
            +
                #
         
     | 
| 
      
 488 
     | 
    
         
            +
                # @return [Hash]               :notes が String の場合
         
     | 
| 
      
 489 
     | 
    
         
            +
                # @return [Array<Hash>]        上記に該当せず、:indices が Integer の場合
         
     | 
| 
      
 490 
     | 
    
         
            +
                # @return [Array<Array<Hash>>] 上記のいずれにも該当しない場合
         
     | 
| 
      
 491 
     | 
    
         
            +
                # @note return 値の [Hash] の要素は下記の通り
         
     | 
| 
      
 492 
     | 
    
         
            +
                #
         
     | 
| 
      
 493 
     | 
    
         
            +
                #   :note     => 暦注要素 (When::CalendarTypes::Japanese::Note)
         
     | 
| 
      
 494 
     | 
    
         
            +
                #
         
     | 
| 
      
 495 
     | 
    
         
            +
                #   :value    => 暦注の値 (String or When::BasicTypes::M17n または、その Array)
         
     | 
| 
      
 496 
     | 
    
         
            +
                #
         
     | 
| 
      
 497 
     | 
    
         
            +
                #   :position => 具注暦でのその暦注の配置場所(String)
         
     | 
| 
      
 498 
     | 
    
         
            +
                #
         
     | 
| 
      
 499 
     | 
    
         
            +
                def notes(date, options={})
         
     | 
| 
      
 500 
     | 
    
         
            +
                  dates, indices, notes, persistence, conditions, options = _parse_note(date, options)
         
     | 
| 
      
 501 
     | 
    
         
            +
                  NotesContainer.register(indices.map {|i|
         
     | 
| 
      
 502 
     | 
    
         
            +
                    next [] unless i <= dates.precision
         
     | 
| 
      
 503 
     | 
    
         
            +
                    send(NoteMethods[i-1], dates, notes[i-1], conditions)
         
     | 
| 
      
 504 
     | 
    
         
            +
                  }, persistence, date.to_i)
         
     | 
| 
      
 505 
     | 
    
         
            +
                end
         
     | 
| 
      
 506 
     | 
    
         
            +
             
     | 
| 
      
 507 
     | 
    
         
            +
                # 太陽の位置 => 日時
         
     | 
| 
      
 508 
     | 
    
         
            +
                #
         
     | 
| 
      
 509 
     | 
    
         
            +
                # @param [When::TM::TemporalPosition] date 探す基準とする日時
         
     | 
| 
      
 510 
     | 
    
         
            +
                # @param [Array<Numeric>] parameter 太陽の位置の分子と分母( num, den)
         
     | 
| 
      
 511 
     | 
    
         
            +
                #
         
     | 
| 
      
 512 
     | 
    
         
            +
                #   num 分子 (デフォルト   0 : 基準日時直後の春分)
         
     | 
| 
      
 513 
     | 
    
         
            +
                #
         
     | 
| 
      
 514 
     | 
    
         
            +
                #   den 分母 (デフォルト 360 : 検索範囲の長さ)
         
     | 
| 
      
 515 
     | 
    
         
            +
                #
         
     | 
| 
      
 516 
     | 
    
         
            +
                # @param [String] parameter   太陽の位置の分子と分母("#{ num }/#{ den }" の形式, デフォルト 0(春分))
         
     | 
| 
      
 517 
     | 
    
         
            +
                # @param [Integer] precision  取得したい時間位置の分解能(デフォルト date の分解能)
         
     | 
| 
      
 518 
     | 
    
         
            +
                #
         
     | 
| 
      
 519 
     | 
    
         
            +
                # @return [When::TM::CalDate] date またはその直後に太陽の位置が指定の値になる日時
         
     | 
| 
      
 520 
     | 
    
         
            +
                #
         
     | 
| 
      
 521 
     | 
    
         
            +
                def term(date, parameter=nil, precision=date.precision)
         
     | 
| 
      
 522 
     | 
    
         
            +
                  dates  = _to_date_for_note(date)
         
     | 
| 
      
 523 
     | 
    
         
            +
                  result = dates.cal4note.s_terms.term(date, parameter)
         
     | 
| 
      
 524 
     | 
    
         
            +
                  patch  = SolarTerms::Patch[result.to_i]
         
     | 
| 
      
 525 
     | 
    
         
            +
                  return result unless patch
         
     | 
| 
      
 526 
     | 
    
         
            +
                  num, den  = parameter.kind_of?(String) ? parameter.split('/', 2) : parameter
         
     | 
| 
      
 527 
     | 
    
         
            +
                  num  = (num ||   0).to_f
         
     | 
| 
      
 528 
     | 
    
         
            +
                  den  = (den || 360).to_f
         
     | 
| 
      
 529 
     | 
    
         
            +
                  diff = (num - patch[0] + 1) % den - 1
         
     | 
| 
      
 530 
     | 
    
         
            +
                  return result if diff == 0
         
     | 
| 
      
 531 
     | 
    
         
            +
                  patched = result + When::P1D * diff
         
     | 
| 
      
 532 
     | 
    
         
            +
                  result.cal_date[0..-2] = patched.cal_date[0..-2]
         
     | 
| 
      
 533 
     | 
    
         
            +
                  result.cal_date[-1]    = When::Coordinates::Pair.new(patched.cal_date[-1], -diff)
         
     | 
| 
      
 534 
     | 
    
         
            +
                  result
         
     | 
| 
      
 535 
     | 
    
         
            +
                end
         
     | 
| 
      
 536 
     | 
    
         
            +
             
     | 
| 
      
 537 
     | 
    
         
            +
                # 月の位相 => 日時
         
     | 
| 
      
 538 
     | 
    
         
            +
                #
         
     | 
| 
      
 539 
     | 
    
         
            +
                # @param [When::TM::TemporalPosition] date 探す基準とする日時
         
     | 
| 
      
 540 
     | 
    
         
            +
                # @param [Array<Numeric>] parameter 月の位相の分子と分母( num, den)
         
     | 
| 
      
 541 
     | 
    
         
            +
                #
         
     | 
| 
      
 542 
     | 
    
         
            +
                #   num 分子 (デフォルト  0 : 基準日時直後の朔)
         
     | 
| 
      
 543 
     | 
    
         
            +
                #
         
     | 
| 
      
 544 
     | 
    
         
            +
                #   den 分母 (デフォルト 30 : 検索範囲の長さ)
         
     | 
| 
      
 545 
     | 
    
         
            +
                #
         
     | 
| 
      
 546 
     | 
    
         
            +
                # @param [String] parameter   月の位相の分子と分母("#{ num }/#{ den }" の形式, デフォルト 0(朔))
         
     | 
| 
      
 547 
     | 
    
         
            +
                # @param [Integer] precision  取得したい時間位置の分解能(デフォルト date の分解能)
         
     | 
| 
      
 548 
     | 
    
         
            +
                #
         
     | 
| 
      
 549 
     | 
    
         
            +
                # @return [When::TM::CalDate] date またはその直後に月の位相が指定の値になる日時
         
     | 
| 
      
 550 
     | 
    
         
            +
                #
         
     | 
| 
      
 551 
     | 
    
         
            +
                def phase(date, parameter=nil, precision=date.precision)
         
     | 
| 
      
 552 
     | 
    
         
            +
                  dates  = _to_date_for_note(date)
         
     | 
| 
      
 553 
     | 
    
         
            +
                  note   = dates.cal4note.l_phases
         
     | 
| 
      
 554 
     | 
    
         
            +
                  result = note.phase(date, parameter)
         
     | 
| 
      
 555 
     | 
    
         
            +
                  return result if dates.o_date.frame.kind_of?(When::CalendarTypes::Christian)
         
     | 
| 
      
 556 
     | 
    
         
            +
             
     | 
| 
      
 557 
     | 
    
         
            +
                  time   = note.phase(date, parameter, When::SYSTEM)
         
     | 
| 
      
 558 
     | 
    
         
            +
                  cn     = note.formula.time_to_cn(time) % 1
         
     | 
| 
      
 559 
     | 
    
         
            +
                  case cn
         
     | 
| 
      
 560 
     | 
    
         
            +
                  when 0..0.0001, 0.9999..1 # 朔
         
     | 
| 
      
 561 
     | 
    
         
            +
                    return result if result.cal_date[-1] == 1
         
     | 
| 
      
 562 
     | 
    
         
            +
                    diff = result.cal_date[-1] < 15 ? -1 : +1
         
     | 
| 
      
 563 
     | 
    
         
            +
                  when 0.2..0.8             # 弦、望
         
     | 
| 
      
 564 
     | 
    
         
            +
                    return result unless note.formula.kind_of?(When::Ephemeris::ChineseTrueLunation)
         
     | 
| 
      
 565 
     | 
    
         
            +
                    return result if time.clk_time.universal_time >= When::TM::Duration::DAY/4 # 午前6時以降
         
     | 
| 
      
 566 
     | 
    
         
            +
                    diff = -1
         
     | 
| 
      
 567 
     | 
    
         
            +
                  else                      # その他
         
     | 
| 
      
 568 
     | 
    
         
            +
                    return result
         
     | 
| 
      
 569 
     | 
    
         
            +
                  end
         
     | 
| 
      
 570 
     | 
    
         
            +
             
     | 
| 
      
 571 
     | 
    
         
            +
                  patched = result + When::P1D * diff
         
     | 
| 
      
 572 
     | 
    
         
            +
                  result.cal_date[0..-2] = patched.cal_date[0..-2]
         
     | 
| 
      
 573 
     | 
    
         
            +
                  result.cal_date[-1]    = When::Coordinates::Pair.new(patched.cal_date[-1], -diff)
         
     | 
| 
      
 574 
     | 
    
         
            +
                  result
         
     | 
| 
      
 575 
     | 
    
         
            +
                end
         
     | 
| 
      
 576 
     | 
    
         
            +
             
     | 
| 
      
 577 
     | 
    
         
            +
                private
         
     | 
| 
      
 578 
     | 
    
         
            +
             
     | 
| 
      
 579 
     | 
    
         
            +
                # オブジェクトの正規化
         
     | 
| 
      
 580 
     | 
    
         
            +
                def _normalize(args=[], options={})
         
     | 
| 
      
 581 
     | 
    
         
            +
                  @prime ||= [%w(干支), %w(月名), %w(七曜 干支 六曜 廿四節気 祝祭日)]
         
     | 
| 
      
 582 
     | 
    
         
            +
                  super
         
     | 
| 
      
 583 
     | 
    
         
            +
                end
         
     | 
| 
      
 584 
     | 
    
         
            +
             
     | 
| 
      
 585 
     | 
    
         
            +
                # 年の暦注
         
     | 
| 
      
 586 
     | 
    
         
            +
                def year_notes(dates, notes, conditions={})
         
     | 
| 
      
 587 
     | 
    
         
            +
                  _note_values(dates, notes, _all_keys[-3], _elements[-3]) do |dates, focused_notes, notes_hash|
         
     | 
| 
      
 588 
     | 
    
         
            +
             
     | 
| 
      
 589 
     | 
    
         
            +
                    focused_notes[0..-1] = focused_notes & NoteFocused[dates.range][-3]
         
     | 
| 
      
 590 
     | 
    
         
            +
                    root = When.Resource('_co:Common')
         
     | 
| 
      
 591 
     | 
    
         
            +
             
     | 
| 
      
 592 
     | 
    
         
            +
                    # 干支
         
     | 
| 
      
 593 
     | 
    
         
            +
                    residue = (dates.precision < When::DAY ? dates.o_date : dates.s_date).most_significant_coordinate - 4
         
     | 
| 
      
 594 
     | 
    
         
            +
                    notes_hash['干支']   = root['干支'][residue % 60]
         
     | 
| 
      
 595 
     | 
    
         
            +
                    notes_hash['干']     = root['干'  ][residue % 10]
         
     | 
| 
      
 596 
     | 
    
         
            +
                    notes_hash['支']     = root['支'  ][residue % 12]
         
     | 
| 
      
 597 
     | 
    
         
            +
             
     | 
| 
      
 598 
     | 
    
         
            +
                    # 廿八宿
         
     | 
| 
      
 599 
     | 
    
         
            +
                    notes_hash['廿八宿'] ||= root['宿'][(residue+18) % 28]
         
     | 
| 
      
 600 
     | 
    
         
            +
             
     | 
| 
      
 601 
     | 
    
         
            +
                    # 九星
         
     | 
| 
      
 602 
     | 
    
         
            +
                    notes_hash['九星'] ||= root['九星'][When::Coordinates::Kyusei.year(residue)]
         
     | 
| 
      
 603 
     | 
    
         
            +
             
     | 
| 
      
 604 
     | 
    
         
            +
                    # 大小
         
     | 
| 
      
 605 
     | 
    
         
            +
                    unless notes_hash['大小']
         
     | 
| 
      
 606 
     | 
    
         
            +
                      year  = dates.o_date.floor(When::YEAR)
         
     | 
| 
      
 607 
     | 
    
         
            +
                      month = year.floor(When::MONTH)
         
     | 
| 
      
 608 
     | 
    
         
            +
                      pattern = ''
         
     | 
| 
      
 609 
     | 
    
         
            +
                      while year == month
         
     | 
| 
      
 610 
     | 
    
         
            +
                        length   = month.length(When::MONTH)
         
     | 
| 
      
 611 
     | 
    
         
            +
                        length   = -length if dates.o_date.frame.kind_of?(When::CalendarTypes::Christian) # 太陽暦
         
     | 
| 
      
 612 
     | 
    
         
            +
                        pattern += '閏' if month[When::MONTH] * 0 == 1
         
     | 
| 
      
 613 
     | 
    
         
            +
                        pattern += MonthPattern[length] || '改'
         
     | 
| 
      
 614 
     | 
    
         
            +
                        month   += When::P1M
         
     | 
| 
      
 615 
     | 
    
         
            +
                      end
         
     | 
| 
      
 616 
     | 
    
         
            +
                      notes_hash['大小'] = "#{pattern}(#{year.length(When::YEAR)})"
         
     | 
| 
      
 617 
     | 
    
         
            +
                    end
         
     | 
| 
      
 618 
     | 
    
         
            +
             
     | 
| 
      
 619 
     | 
    
         
            +
                    # その他
         
     | 
| 
      
 620 
     | 
    
         
            +
                    [notes_hash['干支'], notes_hash['干'], notes_hash['支']].each do |note|
         
     | 
| 
      
 621 
     | 
    
         
            +
                      note._year_notes(notes_hash, dates, conditions)
         
     | 
| 
      
 622 
     | 
    
         
            +
                    end
         
     | 
| 
      
 623 
     | 
    
         
            +
                    notes_hash
         
     | 
| 
      
 624 
     | 
    
         
            +
                  end
         
     | 
| 
      
 625 
     | 
    
         
            +
                end
         
     | 
| 
      
 626 
     | 
    
         
            +
             
     | 
| 
      
 627 
     | 
    
         
            +
                # 月の暦注
         
     | 
| 
      
 628 
     | 
    
         
            +
                def month_notes(dates, notes, conditions={})
         
     | 
| 
      
 629 
     | 
    
         
            +
                  _note_values(dates, notes, _all_keys[-2], _elements[-2]) do |dates, focused_notes, notes_hash|
         
     | 
| 
      
 630 
     | 
    
         
            +
             
     | 
| 
      
 631 
     | 
    
         
            +
                    focused_notes[0..-1] = focused_notes & NoteFocused[dates.range][-2]
         
     | 
| 
      
 632 
     | 
    
         
            +
                    root = When.Resource('_co:Common')
         
     | 
| 
      
 633 
     | 
    
         
            +
             
     | 
| 
      
 634 
     | 
    
         
            +
                    # 干支
         
     | 
| 
      
 635 
     | 
    
         
            +
                    residue = month_stem_branch(dates.precision < When::DAY ? dates.o_date : dates.m_date)
         
     | 
| 
      
 636 
     | 
    
         
            +
                    notes_hash['干支']   = root['干支'][residue % 60]
         
     | 
| 
      
 637 
     | 
    
         
            +
                    notes_hash['干']     = root['干'  ][residue % 10]
         
     | 
| 
      
 638 
     | 
    
         
            +
                    notes_hash['支']     = root['支'  ][residue % 12]
         
     | 
| 
      
 639 
     | 
    
         
            +
             
     | 
| 
      
 640 
     | 
    
         
            +
                    # 廿八宿
         
     | 
| 
      
 641 
     | 
    
         
            +
                    notes_hash['廿八宿'] ||= root['宿'][(residue+6) % 28]
         
     | 
| 
      
 642 
     | 
    
         
            +
             
     | 
| 
      
 643 
     | 
    
         
            +
                    # 九星
         
     | 
| 
      
 644 
     | 
    
         
            +
                    notes_hash['九星'] ||= root['九星'][When::Coordinates::Kyusei.month(
         
     | 
| 
      
 645 
     | 
    
         
            +
                              month_stem_branch(dates.precision < When::DAY ? dates.o_date : dates.s_date))]
         
     | 
| 
      
 646 
     | 
    
         
            +
             
     | 
| 
      
 647 
     | 
    
         
            +
                    # 大小
         
     | 
| 
      
 648 
     | 
    
         
            +
                    unless notes_hash['大小']
         
     | 
| 
      
 649 
     | 
    
         
            +
                      length = dates.o_date.length(When::MONTH)
         
     | 
| 
      
 650 
     | 
    
         
            +
                      length = -length if dates.o_date.frame.kind_of?(When::CalendarTypes::Christian) # 太陽暦
         
     | 
| 
      
 651 
     | 
    
         
            +
                      notes_hash['大小'] = "#{dates.o_date[When::MONTH]*0==1 ? '閏' : ''}#{MonthPattern[length] || '改'}(#{length.abs})"
         
     | 
| 
      
 652 
     | 
    
         
            +
                    end
         
     | 
| 
      
 653 
     | 
    
         
            +
             
     | 
| 
      
 654 
     | 
    
         
            +
                    # その他
         
     | 
| 
      
 655 
     | 
    
         
            +
                    [notes_hash['干支'], notes_hash['干'], notes_hash['支'], JapaneseLuniSolarNote].each do |note|
         
     | 
| 
      
 656 
     | 
    
         
            +
                      note._month_notes(notes_hash, dates, conditions)
         
     | 
| 
      
 657 
     | 
    
         
            +
                    end
         
     | 
| 
      
 658 
     | 
    
         
            +
                    notes_hash
         
     | 
| 
      
 659 
     | 
    
         
            +
                  end
         
     | 
| 
      
 660 
     | 
    
         
            +
                end
         
     | 
| 
      
 661 
     | 
    
         
            +
             
     | 
| 
      
 662 
     | 
    
         
            +
                # 日の暦注
         
     | 
| 
      
 663 
     | 
    
         
            +
                def day_notes(dates, notes, conditions={})
         
     | 
| 
      
 664 
     | 
    
         
            +
                  _note_values(dates, notes, _all_keys[-1], _elements[-1]) do |dates, focused_notes, notes_hash|
         
     | 
| 
      
 665 
     | 
    
         
            +
             
     | 
| 
      
 666 
     | 
    
         
            +
                    focused_notes[0..-1] = focused_notes & NoteFocused[dates.range][-1]
         
     | 
| 
      
 667 
     | 
    
         
            +
                    root = When.Resource('_co:Common')
         
     | 
| 
      
 668 
     | 
    
         
            +
             
     | 
| 
      
 669 
     | 
    
         
            +
                    # 干支
         
     | 
| 
      
 670 
     | 
    
         
            +
                    residue = dates.s_date.to_i-11
         
     | 
| 
      
 671 
     | 
    
         
            +
                    notes_hash['干支']     = root['干支'][residue % 60]
         
     | 
| 
      
 672 
     | 
    
         
            +
                    notes_hash['干']       = root['干'  ][residue % 10]
         
     | 
| 
      
 673 
     | 
    
         
            +
                    notes_hash['支']       = root['支'  ][residue % 12]
         
     | 
| 
      
 674 
     | 
    
         
            +
             
     | 
| 
      
 675 
     | 
    
         
            +
                    # その他
         
     | 
| 
      
 676 
     | 
    
         
            +
                    [SolarTerms, LunarPhases, notes_hash['干支'], notes_hash['干'], notes_hash['支'],
         
     | 
| 
      
 677 
     | 
    
         
            +
                     JapaneseLuniSolarNote, JapaneseSolarNote].each do |note|
         
     | 
| 
      
 678 
     | 
    
         
            +
                      note._day_notes(notes_hash, dates, conditions)
         
     | 
| 
      
 679 
     | 
    
         
            +
                    end
         
     | 
| 
      
 680 
     | 
    
         
            +
             
     | 
| 
      
 681 
     | 
    
         
            +
                    # 七曜
         
     | 
| 
      
 682 
     | 
    
         
            +
                    notes_hash['七曜']   ||= root['Week'][dates.s_date.to_i % 7]
         
     | 
| 
      
 683 
     | 
    
         
            +
             
     | 
| 
      
 684 
     | 
    
         
            +
                    # 廿七宿
         
     | 
| 
      
 685 
     | 
    
         
            +
                    notes_hash['廿七宿']   = _residue27(notes_hash['廿七宿'], root)
         
     | 
| 
      
 686 
     | 
    
         
            +
             
     | 
| 
      
 687 
     | 
    
         
            +
                    # 廿八宿 / 鬼宿
         
     | 
| 
      
 688 
     | 
    
         
            +
                    notes_hash['廿八宿'] ||= root['宿'][(dates.s_date.to_i+11) % 28]
         
     | 
| 
      
 689 
     | 
    
         
            +
                    notes_hash['鬼宿']   ||= /鬼/ =~ notes_hash['廿八宿'].to_s ? '鬼宿' : nil
         
     | 
| 
      
 690 
     | 
    
         
            +
             
     | 
| 
      
 691 
     | 
    
         
            +
                    # 九星
         
     | 
| 
      
 692 
     | 
    
         
            +
                    notes_hash['九星']   ||= root['九星'][When::Coordinates::Kyusei.day(dates.s_date, dates.cal4note.s_terms)]
         
     | 
| 
      
 693 
     | 
    
         
            +
             
     | 
| 
      
 694 
     | 
    
         
            +
                    notes_hash
         
     | 
| 
      
 695 
     | 
    
         
            +
                  end
         
     | 
| 
      
 696 
     | 
    
         
            +
                end
         
     | 
| 
      
 697 
     | 
    
         
            +
             
     | 
| 
      
 698 
     | 
    
         
            +
                #
         
     | 
| 
      
 699 
     | 
    
         
            +
                # 日本暦日情報オブジェクトの生成
         
     | 
| 
      
 700 
     | 
    
         
            +
                #
         
     | 
| 
      
 701 
     | 
    
         
            +
                # @note 対となる太陽暦のある太陰太陽暦はそのまま(太陰太陽暦,太陽暦)の対
         
     | 
| 
      
 702 
     | 
    
         
            +
                #       そうでなければ、採用する対を年代により選択する
         
     | 
| 
      
 703 
     | 
    
         
            +
                #
         
     | 
| 
      
 704 
     | 
    
         
            +
                def _to_date_for_note(date)
         
     | 
| 
      
 705 
     | 
    
         
            +
                  if date.frame.kind_of?(When::CalendarTypes::ChineseLuniSolar)
         
     | 
| 
      
 706 
     | 
    
         
            +
                    return Dates.new(date) if date.frame.twin
         
     | 
| 
      
 707 
     | 
    
         
            +
                    o_date = date
         
     | 
| 
      
 708 
     | 
    
         
            +
                  else
         
     | 
| 
      
 709 
     | 
    
         
            +
                    o_date = self.class._to_japanese_date(date)
         
     | 
| 
      
 710 
     | 
    
         
            +
                    return nil unless o_date
         
     | 
| 
      
 711 
     | 
    
         
            +
                  end
         
     | 
| 
      
 712 
     | 
    
         
            +
                  year = o_date.most_significant_coordinate
         
     | 
| 
      
 713 
     | 
    
         
            +
                  NoteTypes.each do |line|
         
     | 
| 
      
 714 
     | 
    
         
            +
                    return Dates.new(o_date, year, date.precision, line[1]) if year >= line[0]
         
     | 
| 
      
 715 
     | 
    
         
            +
                  end
         
     | 
| 
      
 716 
     | 
    
         
            +
                  nil
         
     | 
| 
      
 717 
     | 
    
         
            +
                end
         
     | 
| 
      
 718 
     | 
    
         
            +
             
     | 
| 
      
 719 
     | 
    
         
            +
                #
         
     | 
| 
      
 720 
     | 
    
         
            +
                # 任意の暦を日本年号付暦日に変換
         
     | 
| 
      
 721 
     | 
    
         
            +
                #
         
     | 
| 
      
 722 
     | 
    
         
            +
                # @param When::TM::CalDate] date 変換元日付
         
     | 
| 
      
 723 
     | 
    
         
            +
                #
         
     | 
| 
      
 724 
     | 
    
         
            +
                # @return [When::TM::CalDate] 変換結果
         
     | 
| 
      
 725 
     | 
    
         
            +
                #
         
     | 
| 
      
 726 
     | 
    
         
            +
                def self._to_japanese_date(date)
         
     | 
| 
      
 727 
     | 
    
         
            +
                  return date if is_japanese_date?(date)
         
     | 
| 
      
 728 
     | 
    
         
            +
                  (date^ When.era(:area=>'日本')).each do |list|
         
     | 
| 
      
 729 
     | 
    
         
            +
                    return list[0] if list[0]
         
     | 
| 
      
 730 
     | 
    
         
            +
                  end
         
     | 
| 
      
 731 
     | 
    
         
            +
                  nil
         
     | 
| 
      
 732 
     | 
    
         
            +
                end
         
     | 
| 
      
 733 
     | 
    
         
            +
             
     | 
| 
      
 734 
     | 
    
         
            +
                #
         
     | 
| 
      
 735 
     | 
    
         
            +
                # 日本年号付暦日か?
         
     | 
| 
      
 736 
     | 
    
         
            +
                #
         
     | 
| 
      
 737 
     | 
    
         
            +
                # @param When::TM::CalDate] date 確認する日付
         
     | 
| 
      
 738 
     | 
    
         
            +
                #
         
     | 
| 
      
 739 
     | 
    
         
            +
                # @return [Boolean] true YES / false NO
         
     | 
| 
      
 740 
     | 
    
         
            +
                #
         
     | 
| 
      
 741 
     | 
    
         
            +
                def self.is_japanese_date?(date)
         
     | 
| 
      
 742 
     | 
    
         
            +
                  date._attr[:query] && date._attr[:query]['area'].to_s =~ /日本/
         
     | 
| 
      
 743 
     | 
    
         
            +
                end
         
     | 
| 
      
 744 
     | 
    
         
            +
             
     | 
| 
      
 745 
     | 
    
         
            +
                #
         
     | 
| 
      
 746 
     | 
    
         
            +
                # 廿七宿を Resudue 化
         
     | 
| 
      
 747 
     | 
    
         
            +
                #
         
     | 
| 
      
 748 
     | 
    
         
            +
                def _residue27(index, root)
         
     | 
| 
      
 749 
     | 
    
         
            +
                  return index unless index.kind_of?(Integer)
         
     | 
| 
      
 750 
     | 
    
         
            +
                  root['宿'][index]
         
     | 
| 
      
 751 
     | 
    
         
            +
                end
         
     | 
| 
      
 752 
     | 
    
         
            +
             
     | 
| 
      
 753 
     | 
    
         
            +
                #
         
     | 
| 
      
 754 
     | 
    
         
            +
                # 月の干支
         
     | 
| 
      
 755 
     | 
    
         
            +
                #
         
     | 
| 
      
 756 
     | 
    
         
            +
                def month_stem_branch(date)
         
     | 
| 
      
 757 
     | 
    
         
            +
                  date.most_significant_coordinate*12+(date.cal_date[1] * 1) +
         
     | 
| 
      
 758 
     | 
    
         
            +
                 (date.frame.kind_of?(When::CalendarTypes::Christian) ? 12 : 13)
         
     | 
| 
      
 759 
     | 
    
         
            +
                end
         
     | 
| 
      
 760 
     | 
    
         
            +
              end
         
     | 
| 
      
 761 
     | 
    
         
            +
             
     | 
| 
      
 762 
     | 
    
         
            +
              #
         
     | 
| 
      
 763 
     | 
    
         
            +
              # 太陽暦の暦注・祝祭日
         
     | 
| 
      
 764 
     | 
    
         
            +
              #
         
     | 
| 
      
 765 
     | 
    
         
            +
              class JapaneseSolarNote < self
         
     | 
| 
      
 766 
     | 
    
         
            +
             
     | 
| 
      
 767 
     | 
    
         
            +
                #
         
     | 
| 
      
 768 
     | 
    
         
            +
                # 祝祭日一覧
         
     | 
| 
      
 769 
     | 
    
         
            +
                #
         
     | 
| 
      
 770 
     | 
    
         
            +
                NotesList = {
         
     | 
| 
      
 771 
     | 
    
         
            +
                  [ 1, 1] => [[1868..1872, '元旦'], [1874..1948, '四方拝'], [1949..2100, '元日']],
         
     | 
| 
      
 772 
     | 
    
         
            +
                  [ 1, 3] => [[1874..1948, '元始祭']],
         
     | 
| 
      
 773 
     | 
    
         
            +
                  [ 1, 5] => [[1874..1948, '新年宴会']],
         
     | 
| 
      
 774 
     | 
    
         
            +
                  [ 1,-2] => [[2000..2100, '成人の日']],
         
     | 
| 
      
 775 
     | 
    
         
            +
                  [ 1,15] => [[1868..1872, '小正月'], [1949..1999, '成人の日']],
         
     | 
| 
      
 776 
     | 
    
         
            +
                  [ 1,29] => [[1873..1873, '神武天皇即位日']],
         
     | 
| 
      
 777 
     | 
    
         
            +
                  [ 1,30] => [[1874..1912, '孝明天皇祭']],
         
     | 
| 
      
 778 
     | 
    
         
            +
                  [ 2,11] => [[1874..1948, '紀元節'], [1967..2100, '建国記念の日']],
         
     | 
| 
      
 779 
     | 
    
         
            +
                  [ 2,24] => [[1989..1989, '昭和天皇の大喪の礼']],
         
     | 
| 
      
 780 
     | 
    
         
            +
                  [ 3, 3] => [[1868..1872, '弥生節句']],
         
     | 
| 
      
 781 
     | 
    
         
            +
                  [ 3, 0] => [[1879..1948, '春季皇霊祭'], [1949..2100, '春分の日']],
         
     | 
| 
      
 782 
     | 
    
         
            +
                  [ 4, 3] => [[1874..1948, '神武天皇祭']],
         
     | 
| 
      
 783 
     | 
    
         
            +
                  [ 4,10] => [[1959..1959, '皇太子明仁親王の結婚の儀']],
         
     | 
| 
      
 784 
     | 
    
         
            +
                  [ 4,29] => [[1927..1948, '天長節'], [1949..1988, '天皇誕生日'], [1989..2006, 'みどりの日'], [2007..2100, '昭和の日']],
         
     | 
| 
      
 785 
     | 
    
         
            +
                  [ 5, 3] => [[1949..2100, '憲法記念日']],
         
     | 
| 
      
 786 
     | 
    
         
            +
                  [ 5, 4] => [[2007..2100, 'みどりの日']],
         
     | 
| 
      
 787 
     | 
    
         
            +
                  [ 5, 5] => [[1868..1872, '端午節句'], [1949..2100, 'こどもの日']],
         
     | 
| 
      
 788 
     | 
    
         
            +
                  [ 6, 9] => [[1993..1993, '皇太子徳仁親王の結婚の儀']],
         
     | 
| 
      
 789 
     | 
    
         
            +
                  [ 7, 7] => [[1868..1872, '七夕節句']],
         
     | 
| 
      
 790 
     | 
    
         
            +
                  [ 7,15] => [[1868..1872, 'お盆']],
         
     | 
| 
      
 791 
     | 
    
         
            +
                  [ 7,20] => [[1996..2002, '海の日']],
         
     | 
| 
      
 792 
     | 
    
         
            +
                  [ 7,-3] => [[2003..2100, '海の日']],
         
     | 
| 
      
 793 
     | 
    
         
            +
                  [ 7,30] => [[1913..1926, '明治天皇祭']],
         
     | 
| 
      
 794 
     | 
    
         
            +
                  [ 8, 1] => [[1868..1872, '田実節句']],
         
     | 
| 
      
 795 
     | 
    
         
            +
                  [ 8,11] => [[2016..2100, '山の日']],
         
     | 
| 
      
 796 
     | 
    
         
            +
                  [ 8,31] => [[1913..1926, '天長節']],
         
     | 
| 
      
 797 
     | 
    
         
            +
                  [ 9, 9] => [[1868..1872, '重陽節句']],
         
     | 
| 
      
 798 
     | 
    
         
            +
                  [ 9,15] => [[1966..2002, '敬老の日']],
         
     | 
| 
      
 799 
     | 
    
         
            +
                  [ 9,-3] => [[2003..2100, '敬老の日']],
         
     | 
| 
      
 800 
     | 
    
         
            +
                  [ 9,17] => [[1874..1878, '神嘗祭']],
         
     | 
| 
      
 801 
     | 
    
         
            +
                  [ 9, 0] => [[1878..1947, '秋季皇霊祭'], [1948..2100, '秋分の日']],
         
     | 
| 
      
 802 
     | 
    
         
            +
                  [10,10] => [[1966..1999, '体育の日']],
         
     | 
| 
      
 803 
     | 
    
         
            +
                  [10,-2] => [[2000..2100, '体育の日']],
         
     | 
| 
      
 804 
     | 
    
         
            +
                  [10,17] => [[1879..1947, '神嘗祭']],
         
     | 
| 
      
 805 
     | 
    
         
            +
                  [10,31] => [[1913..1926, '天長節祝日']],
         
     | 
| 
      
 806 
     | 
    
         
            +
                  [11, 3] => [[1873..1911, '天長節'], [1927..1947, '明治節'], [1948..2100, '文化の日']],
         
     | 
| 
      
 807 
     | 
    
         
            +
                  [11,10] => [[1915..1915, '即位の礼'], [1928..1928, '即位の礼']],
         
     | 
| 
      
 808 
     | 
    
         
            +
                  [11,12] => [[1990..1990, '即位の礼正殿の儀']],
         
     | 
| 
      
 809 
     | 
    
         
            +
                  [11,14] => [[1915..1915, '大嘗祭'], [1928..1928, '大嘗祭']],
         
     | 
| 
      
 810 
     | 
    
         
            +
                  [11,16] => [[1915..1915, '大饗第1日'], [1928..1928, '大饗第1日']],
         
     | 
| 
      
 811 
     | 
    
         
            +
                  [11,23] => [[1873..1947, '新嘗祭'], [1948..2100, '勤労感謝の日']],
         
     | 
| 
      
 812 
     | 
    
         
            +
                  [12,23] => [[1989..2100, '天皇誕生日']],
         
     | 
| 
      
 813 
     | 
    
         
            +
                  [12,25] => [[1927..1947, '大正天皇祭']]
         
     | 
| 
      
 814 
     | 
    
         
            +
                }
         
     | 
| 
      
 815 
     | 
    
         
            +
             
     | 
| 
      
 816 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 817 
     | 
    
         
            +
                Long = {3=>0, 9=>180}
         
     | 
| 
      
 818 
     | 
    
         
            +
             
     | 
| 
      
 819 
     | 
    
         
            +
                class << self
         
     | 
| 
      
 820 
     | 
    
         
            +
             
     | 
| 
      
 821 
     | 
    
         
            +
                  # 日の暦注 - 祝祭日の計算
         
     | 
| 
      
 822 
     | 
    
         
            +
                  # @private
         
     | 
| 
      
 823 
     | 
    
         
            +
                  def _day_notes(notes, dates, conditions={})
         
     | 
| 
      
 824 
     | 
    
         
            +
                    # 明治維新以降の実暦日のみ扱う
         
     | 
| 
      
 825 
     | 
    
         
            +
                    return notes if dates.o_date.frame.kind_of?(When::CalendarTypes::ChineseLuniSolar)
         
     | 
| 
      
 826 
     | 
    
         
            +
                    year = dates.o_date.most_significant_coordinate
         
     | 
| 
      
 827 
     | 
    
         
            +
                    return notes unless year >= 1868
         
     | 
| 
      
 828 
     | 
    
         
            +
             
     | 
| 
      
 829 
     | 
    
         
            +
                    # 春分の日と秋分の日を祝祭日に加える
         
     | 
| 
      
 830 
     | 
    
         
            +
                    long = Long[dates.o_date.cal_date[1]] if year >= 1878
         
     | 
| 
      
 831 
     | 
    
         
            +
                    if long
         
     | 
| 
      
 832 
     | 
    
         
            +
                      date = When.when?(dates.o_date.to_cal_date.to_s,
         
     | 
| 
      
 833 
     | 
    
         
            +
                               {:frame=>dates.o_date.frame,
         
     | 
| 
      
 834 
     | 
    
         
            +
                                :clock=>dates.s_date.frame.time_basis})
         
     | 
| 
      
 835 
     | 
    
         
            +
                      term = dates.cal4note.s_terms.term(date.floor(When::MONTH,
         
     | 
| 
      
 836 
     | 
    
         
            +
                                                                    When::DAY), [long,360]).cal_date[1..2]
         
     | 
| 
      
 837 
     | 
    
         
            +
                      list = NotesList.dup
         
     | 
| 
      
 838 
     | 
    
         
            +
                      list[term] = list[[term[0],0]]
         
     | 
| 
      
 839 
     | 
    
         
            +
                    else
         
     | 
| 
      
 840 
     | 
    
         
            +
                      list = NotesList
         
     | 
| 
      
 841 
     | 
    
         
            +
                    end
         
     | 
| 
      
 842 
     | 
    
         
            +
             
     | 
| 
      
 843 
     | 
    
         
            +
                    # 「国民の休日」制定以前
         
     | 
| 
      
 844 
     | 
    
         
            +
                    notes['祝祭日'] ||= _holiday(list, dates.o_date, '振替休日')
         
     | 
| 
      
 845 
     | 
    
         
            +
                    return notes if notes['祝祭日'] || year < 1988
         
     | 
| 
      
 846 
     | 
    
         
            +
             
     | 
| 
      
 847 
     | 
    
         
            +
                    # 「国民の休日」制定以後
         
     | 
| 
      
 848 
     | 
    
         
            +
                    duration = When.Duration('P1D')
         
     | 
| 
      
 849 
     | 
    
         
            +
                    [duration, -duration].each do |d|
         
     | 
| 
      
 850 
     | 
    
         
            +
                      return notes unless _holiday(list, dates.o_date + d)
         
     | 
| 
      
 851 
     | 
    
         
            +
                    end
         
     | 
| 
      
 852 
     | 
    
         
            +
                    notes['祝祭日'] = '国民の休日'
         
     | 
| 
      
 853 
     | 
    
         
            +
                    return notes
         
     | 
| 
      
 854 
     | 
    
         
            +
                  end
         
     | 
| 
      
 855 
     | 
    
         
            +
             
     | 
| 
      
 856 
     | 
    
         
            +
                  private
         
     | 
| 
      
 857 
     | 
    
         
            +
             
     | 
| 
      
 858 
     | 
    
         
            +
                  # 振替休日とハッピーマンデーを考慮した祝祭日
         
     | 
| 
      
 859 
     | 
    
         
            +
                  def _holiday(list, date, alternate=nil)
         
     | 
| 
      
 860 
     | 
    
         
            +
                    y    = date.most_significant_coordinate
         
     | 
| 
      
 861 
     | 
    
         
            +
                    m, d = date.cal_date[1..2]
         
     | 
| 
      
 862 
     | 
    
         
            +
             
     | 
| 
      
 863 
     | 
    
         
            +
                    # 「振替休日」制定以前
         
     | 
| 
      
 864 
     | 
    
         
            +
                    note = _note(list, y, m, d)
         
     | 
| 
      
 865 
     | 
    
         
            +
                    return note if note || y < 1973
         
     | 
| 
      
 866 
     | 
    
         
            +
             
     | 
| 
      
 867 
     | 
    
         
            +
                    # 「振替休日」制定以降
         
     | 
| 
      
 868 
     | 
    
         
            +
                    case date.to_i % 7
         
     | 
| 
      
 869 
     | 
    
         
            +
                    when 0 # 月曜
         
     | 
| 
      
 870 
     | 
    
         
            +
                      # 振替休日
         
     | 
| 
      
 871 
     | 
    
         
            +
                      note = _note(list, y, m, d-1)
         
     | 
| 
      
 872 
     | 
    
         
            +
                      return alternate if note
         
     | 
| 
      
 873 
     | 
    
         
            +
                      # ハッピーマンデー
         
     | 
| 
      
 874 
     | 
    
         
            +
                      note = _note(list, y, m, -((d-1)/7 + 1))
         
     | 
| 
      
 875 
     | 
    
         
            +
                      return note if note
         
     | 
| 
      
 876 
     | 
    
         
            +
                    when 1,2 # 火曜・水曜
         
     | 
| 
      
 877 
     | 
    
         
            +
                      # 振替休日
         
     | 
| 
      
 878 
     | 
    
         
            +
                      return alternate if y >= 2007 && m == 5 && d == 6
         
     | 
| 
      
 879 
     | 
    
         
            +
                    end
         
     | 
| 
      
 880 
     | 
    
         
            +
                  end
         
     | 
| 
      
 881 
     | 
    
         
            +
             
     | 
| 
      
 882 
     | 
    
         
            +
                  # 振替休日とハッピーマンデーを考慮しない祝祭日
         
     | 
| 
      
 883 
     | 
    
         
            +
                  def _note(list, year, month, day)
         
     | 
| 
      
 884 
     | 
    
         
            +
                    return nil if day == 0
         
     | 
| 
      
 885 
     | 
    
         
            +
                    year = [year, 2100].min
         
     | 
| 
      
 886 
     | 
    
         
            +
                    note = list[[month,day]]
         
     | 
| 
      
 887 
     | 
    
         
            +
                    return nil unless note
         
     | 
| 
      
 888 
     | 
    
         
            +
                    note.each do |range|
         
     | 
| 
      
 889 
     | 
    
         
            +
                      return range[1] if range[0].include?(year)
         
     | 
| 
      
 890 
     | 
    
         
            +
                    end
         
     | 
| 
      
 891 
     | 
    
         
            +
                    return nil
         
     | 
| 
      
 892 
     | 
    
         
            +
                  end
         
     | 
| 
      
 893 
     | 
    
         
            +
                end
         
     | 
| 
      
 894 
     | 
    
         
            +
              end
         
     | 
| 
      
 895 
     | 
    
         
            +
             
     | 
| 
      
 896 
     | 
    
         
            +
              #
         
     | 
| 
      
 897 
     | 
    
         
            +
              # 太陰太陽暦の暦注
         
     | 
| 
      
 898 
     | 
    
         
            +
              #
         
     | 
| 
      
 899 
     | 
    
         
            +
              class JapaneseLuniSolarNote < self
         
     | 
| 
      
 900 
     | 
    
         
            +
             
     | 
| 
      
 901 
     | 
    
         
            +
                # 変換表 月日→27宿
         
     | 
| 
      
 902 
     | 
    
         
            +
                StarMansions    = [                                 #              正  2  3  4  5  6  7  8  9  10  11  12  
         
     | 
| 
      
 903 
     | 
    
         
            +
                  [11, 13, 15, 17, 19, 21, 24,  0,  2,  4,  7,  9], # 0 : 本月本説 室12奎14胃16畢18參20鬼22張25角00氐02心04斗07虛10
         
     | 
| 
      
 904 
     | 
    
         
            +
                  [ 5,  3,  1, 25, 23, 21, 19, 16, 14, 11,  8,  7], # 1 : 本月異説 尾05房03亢01翼26星24鬼22參20昴17婁15室12女09斗07
         
     | 
| 
      
 905 
     | 
    
         
            +
                  [14, 16, 18, 20, 22, 24,  0,  3,  5,  7, 10, 12], # 2 : 閏月本説 婁15昴17觜19井21柳23張25角00房03尾05斗07危11壁13
         
     | 
| 
      
 906 
     | 
    
         
            +
                  [12, 14, 16, 18, 19, 21, 24,  0,  2,  5,  8, 10], # 3 : 閏月異説 壁13婁15昴17觜19參20鬼22張25角00氐02尾05女09危11
         
     | 
| 
      
 907 
     | 
    
         
            +
                  [14, 16, 18, 23, 22, 24,  0,  3,  5,  7,  8, 12]  # 4 : 閏月本説(元)        (星24)                      (女09)
         
     | 
| 
      
 908 
     | 
    
         
            +
                ]
         
     | 
| 
      
 909 
     | 
    
         
            +
             
     | 
| 
      
 910 
     | 
    
         
            +
                # 変換表 27宿→28宿
         
     | 
| 
      
 911 
     | 
    
         
            +
                StarMansionIndex = (0..7).to_a + (9..27).to_a
         
     | 
| 
      
 912 
     | 
    
         
            +
             
     | 
| 
      
 913 
     | 
    
         
            +
                # 七曜と27宿で決まる暦注
         
     | 
| 
      
 914 
     | 
    
         
            +
                WeekDepended = {
         
     | 
| 
      
 915 
     | 
    
         
            +
                             # 日  月  火  水  木  金  土
         
     | 
| 
      
 916 
     | 
    
         
            +
                  '甘露'   => [26, 17,  5, 22, 21,  3, 23],  # 軫27 畢18 尾05 柳23 鬼22 房03 星24
         
     | 
| 
      
 917 
     | 
    
         
            +
                  '金剛峯' => [ 5,  8, 12, 16, 20, 24,  1],  # 尾05 女09 壁13 昴17 井21 張25 亢01
         
     | 
| 
      
 918 
     | 
    
         
            +
                  '羅刹'   => [15, 21, 25, 19,  2, 13, 22]   # 胃16 鬼22 翼26 参20 氐02 奎14 柳23
         
     | 
| 
      
 919 
     | 
    
         
            +
                }
         
     | 
| 
      
 920 
     | 
    
         
            +
             
     | 
| 
      
 921 
     | 
    
         
            +
                # 人神配当
         
     | 
| 
      
 922 
     | 
    
         
            +
                HumanBody = %w(足大指 外踝 股内 腰   口     手     内踝   腕   尻 腰背
         
     | 
| 
      
 923 
     | 
    
         
            +
                               鼻柱   髪際 牙歯 胃管 遍身   胸     気街   股内 足 踝
         
     | 
| 
      
 924 
     | 
    
         
            +
                               足小指 足踝及胸、目下 肝及足 手陽明 足陽明 胸   膝 陰   膝晊 足跌)
         
     | 
| 
      
 925 
     | 
    
         
            +
             
     | 
| 
      
 926 
     | 
    
         
            +
                # 月の暦注
         
     | 
| 
      
 927 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 928 
     | 
    
         
            +
                def self._month_notes(notes, dates, conditions={})
         
     | 
| 
      
 929 
     | 
    
         
            +
                  # 月名
         
     | 
| 
      
 930 
     | 
    
         
            +
                  notes['月名'] ||= dates.o_date.name('month')
         
     | 
| 
      
 931 
     | 
    
         
            +
                end
         
     | 
| 
      
 932 
     | 
    
         
            +
             
     | 
| 
      
 933 
     | 
    
         
            +
                # 日の暦注
         
     | 
| 
      
 934 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 935 
     | 
    
         
            +
                def self._day_notes(notes, dates, conditions={})
         
     | 
| 
      
 936 
     | 
    
         
            +
             
     | 
| 
      
 937 
     | 
    
         
            +
                  # 廿七宿
         
     | 
| 
      
 938 
     | 
    
         
            +
                  m, l = [1,0].map {|f| dates.m_date.cal_date[1] * f}
         
     | 
| 
      
 939 
     | 
    
         
            +
                  d    = (StarMansions[l==1 ? (conditions[:i27]||0) :
         
     | 
| 
      
 940 
     | 
    
         
            +
                                              (conditions[:n27]||0)][m-1] + dates.m_date.cal_date[2] - 1) % 27
         
     | 
| 
      
 941 
     | 
    
         
            +
                  notes['廿七宿'] ||= StarMansionIndex[d]
         
     | 
| 
      
 942 
     | 
    
         
            +
             
     | 
| 
      
 943 
     | 
    
         
            +
                  # 甘露 / 金剛峯 / 羅刹
         
     | 
| 
      
 944 
     | 
    
         
            +
                  w    = (dates.m_date.to_i + 1) % 7
         
     | 
| 
      
 945 
     | 
    
         
            +
                  ['甘露', '金剛峯', '羅刹'].each do |c|
         
     | 
| 
      
 946 
     | 
    
         
            +
                    notes[c] = c if d == WeekDepended[c][w]
         
     | 
| 
      
 947 
     | 
    
         
            +
                  end
         
     | 
| 
      
 948 
     | 
    
         
            +
             
     | 
| 
      
 949 
     | 
    
         
            +
                  # 三寶吉・神吉・雑事吉・小字注 (凶会日は表引きの時点で抑制済み)
         
     | 
| 
      
 950 
     | 
    
         
            +
                  notes['神吉']   = notes['雑事吉'] = notes['三寶吉'] = notes['小字注'] = nil if notes['没'] || notes['滅']
         
     | 
| 
      
 951 
     | 
    
         
            +
                  notes['神吉']   = notes['雑事吉'] = nil if notes['往亡']
         
     | 
| 
      
 952 
     | 
    
         
            +
                  notes['神吉']   = notes['三寶吉'] = nil if notes['月食']
         
     | 
| 
      
 953 
     | 
    
         
            +
                  notes['小字注'] = nil  if notes['日食'] || notes['月食']
         
     | 
| 
      
 954 
     | 
    
         
            +
                  notes['小字注'] = nil  if notes['九坎'] && dates.range==5 # 11世紀後半
         
     | 
| 
      
 955 
     | 
    
         
            +
                  notes['三寶吉'] = nil  if notes['羅刹']
         
     | 
| 
      
 956 
     | 
    
         
            +
                  notes['三寶吉'] = notes['甘露'] ? '三寶吉' : nil if /\+/ =~ notes['三寶吉'].to_s
         
     | 
| 
      
 957 
     | 
    
         
            +
                  notes['三寶吉'] = '三吉' if notes['三寶吉'] && dates.range >= 8 # 鎌倉以降
         
     | 
| 
      
 958 
     | 
    
         
            +
             
     | 
| 
      
 959 
     | 
    
         
            +
                  # 除手足甲 & 道虚・人神配当
         
     | 
| 
      
 960 
     | 
    
         
            +
                  y,m0,d0 = dates.m_date.cal_date
         
     | 
| 
      
 961 
     | 
    
         
            +
                  misoka  = m0 != (dates.m_date + When.Duration('P1D')).cal_date[1] if d0 == 29
         
     | 
| 
      
 962 
     | 
    
         
            +
                  notes['除手足甲'] = '除手足甲' if ([6,16,30].include?(d0) || misoka) && !(conditions[:kana] || notes['没'] || notes['滅'] || notes['凶会'])
         
     | 
| 
      
 963 
     | 
    
         
            +
                  notes['道虚']     = '道虚'     if d0 % 6 == 0 || misoka
         
     | 
| 
      
 964 
     | 
    
         
            +
                  notes['人神配当'] = HumanBody[d0-1]
         
     | 
| 
      
 965 
     | 
    
         
            +
             
     | 
| 
      
 966 
     | 
    
         
            +
                  # 仮名暦
         
     | 
| 
      
 967 
     | 
    
         
            +
                  notes['赤舌'  ] ||= d0 == (m * 5 - 3) % 6 + 1 ? '赤舌' : nil
         
     | 
| 
      
 968 
     | 
    
         
            +
                  notes['大赤'  ] ||= d0 % 8 == (m * 7 - 3) % 8 ? '大赤' : nil
         
     | 
| 
      
 969 
     | 
    
         
            +
                  notes['不成就'] ||= d0 % 8 == [6,3,2,1,4,5][m % 6] || (misoka && m % 6 == 0) ? '不成就' : nil # 『現代こよみ読み解き事典』 for 不成就日
         
     | 
| 
      
 970 
     | 
    
         
            +
                  notes['六曜'  ] ||= When::RokuyoWeek.rokuyo_value(m, d0)
         
     | 
| 
      
 971 
     | 
    
         
            +
                  notes
         
     | 
| 
      
 972 
     | 
    
         
            +
                end
         
     | 
| 
      
 973 
     | 
    
         
            +
              end
         
     | 
| 
      
 974 
     | 
    
         
            +
             
     | 
| 
      
 975 
     | 
    
         
            +
              #
         
     | 
| 
      
 976 
     | 
    
         
            +
              # 月の位相による暦注
         
     | 
| 
      
 977 
     | 
    
         
            +
              #
         
     | 
| 
      
 978 
     | 
    
         
            +
              class Japanese::LunarPhases < LunarPhases
         
     | 
| 
      
 979 
     | 
    
         
            +
             
     | 
| 
      
 980 
     | 
    
         
            +
                # 日の暦注
         
     | 
| 
      
 981 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 982 
     | 
    
         
            +
                def self._day_notes(notes, dates, conditions={})
         
     | 
| 
      
 983 
     | 
    
         
            +
                  date = When.when?(dates.o_date.to_cal_date.to_s,
         
     | 
| 
      
 984 
     | 
    
         
            +
                           {:frame=>dates.o_date.frame,
         
     | 
| 
      
 985 
     | 
    
         
            +
                            :clock=>dates.l_date.frame.time_basis})
         
     | 
| 
      
 986 
     | 
    
         
            +
                  phase, metsu = dates.cal4note.l_phases.position(date)
         
     | 
| 
      
 987 
     | 
    
         
            +
             
     | 
| 
      
 988 
     | 
    
         
            +
                  # 滅
         
     | 
| 
      
 989 
     | 
    
         
            +
                  notes['滅'] =  metsu == 2 && dates.range < 11 ? '滅' : nil
         
     | 
| 
      
 990 
     | 
    
         
            +
             
     | 
| 
      
 991 
     | 
    
         
            +
                  # 月相
         
     | 
| 
      
 992 
     | 
    
         
            +
                  unless notes['月相']
         
     | 
| 
      
 993 
     | 
    
         
            +
                    # イベントの判定
         
     | 
| 
      
 994 
     | 
    
         
            +
                    formula = dates.cal4note.l_phases.formula
         
     | 
| 
      
 995 
     | 
    
         
            +
                    clock   = formula.kind_of?(When::Ephemeris::ChineseTrueLunation) &&
         
     | 
| 
      
 996 
     | 
    
         
            +
                      (5..25).include?(dates.l_date.cal_date[2]) ?
         
     | 
| 
      
 997 
     | 
    
         
            +
                        When.Clock(-21600) :               # 唐代暦法の望弦は午前6時を日の境界とする
         
     | 
| 
      
 998 
     | 
    
         
            +
                        dates.l_date.frame._time_basis[-1] # その他(進朔も考慮した時刻)
         
     | 
| 
      
 999 
     | 
    
         
            +
                    odate   = When.when?(dates.o_date.to_cal_date.to_s, {:frame=>dates.o_date.frame, :clock=>clock})
         
     | 
| 
      
 1000 
     | 
    
         
            +
                    phases  = formula.phase_range(odate)
         
     | 
| 
      
 1001 
     | 
    
         
            +
                    thitis  = phases.map {|phase| (phase % 1) * 30.0}
         
     | 
| 
      
 1002 
     | 
    
         
            +
                    note    = if thitis[0] >= thitis[1]
         
     | 
| 
      
 1003 
     | 
    
         
            +
                      dates.o_date.frame.kind_of?(When::CalendarTypes::Christian) || conditions[:shoyo] ? '朔' : nil
         
     | 
| 
      
 1004 
     | 
    
         
            +
                    else
         
     | 
| 
      
 1005 
     | 
    
         
            +
                      range = thitis[0]...thitis[1]
         
     | 
| 
      
 1006 
     | 
    
         
            +
                      range.include?( 7.5) ? '上弦' :
         
     | 
| 
      
 1007 
     | 
    
         
            +
                      range.include?(15.0) ? '望'   :
         
     | 
| 
      
 1008 
     | 
    
         
            +
                      range.include?(22.5) ? '下弦' : nil
         
     | 
| 
      
 1009 
     | 
    
         
            +
                    end
         
     | 
| 
      
 1010 
     | 
    
         
            +
             
     | 
| 
      
 1011 
     | 
    
         
            +
                    # 結果の反映
         
     | 
| 
      
 1012 
     | 
    
         
            +
                    if conditions[:shoyo]
         
     | 
| 
      
 1013 
     | 
    
         
            +
                      # :shoyo が true ならイベント時刻も返す
         
     | 
| 
      
 1014 
     | 
    
         
            +
                      notes['月相'] = if note
         
     | 
| 
      
 1015 
     | 
    
         
            +
                        etime = formula._to_seed_type(formula.cn_to_time((phases[1] * 4).floor / 4.0), odate)
         
     | 
| 
      
 1016 
     | 
    
         
            +
                        if formula.respond_to?(:lunation_length) && formula.lunation_length.kind_of?(Rational)
         
     | 
| 
      
 1017 
     | 
    
         
            +
                          shoyo  =  etime.clk_time.universal_time
         
     | 
| 
      
 1018 
     | 
    
         
            +
                          shoyo +=  When::TM::Duration::DAY if (0...clock.universal_time).include?(shoyo)
         
     | 
| 
      
 1019 
     | 
    
         
            +
                          shoyo  = (shoyo  / When::TM::Duration::DAY * formula.denominator * 1000 + 0.5).floor / 1000.0
         
     | 
| 
      
 1020 
     | 
    
         
            +
                          shoyo  =  shoyo.to_i if shoyo == shoyo.to_i
         
     | 
| 
      
 1021 
     | 
    
         
            +
                          "#{note}(#{shoyo}/#{formula.denominator})"
         
     | 
| 
      
 1022 
     | 
    
         
            +
                        else
         
     | 
| 
      
 1023 
     | 
    
         
            +
                          etime.events = [note]
         
     | 
| 
      
 1024 
     | 
    
         
            +
                          etime
         
     | 
| 
      
 1025 
     | 
    
         
            +
                        end
         
     | 
| 
      
 1026 
     | 
    
         
            +
                      else
         
     | 
| 
      
 1027 
     | 
    
         
            +
                        nil
         
     | 
| 
      
 1028 
     | 
    
         
            +
                      end
         
     | 
| 
      
 1029 
     | 
    
         
            +
                    else
         
     | 
| 
      
 1030 
     | 
    
         
            +
                      # :shoyo が false ならイベン名のみ返す
         
     | 
| 
      
 1031 
     | 
    
         
            +
                      notes['月相'] = note
         
     | 
| 
      
 1032 
     | 
    
         
            +
                    end
         
     | 
| 
      
 1033 
     | 
    
         
            +
                  end
         
     | 
| 
      
 1034 
     | 
    
         
            +
             
     | 
| 
      
 1035 
     | 
    
         
            +
                  # 月食
         
     | 
| 
      
 1036 
     | 
    
         
            +
                  unless notes['月食'] && notes['神吉'] && notes['三寶吉'] && notes['小字注']
         
     | 
| 
      
 1037 
     | 
    
         
            +
                    level = (conditions[:lunar_eclipse]||0).to_i
         
     | 
| 
      
 1038 
     | 
    
         
            +
                    if level == -1
         
     | 
| 
      
 1039 
     | 
    
         
            +
                      note = nil
         
     | 
| 
      
 1040 
     | 
    
         
            +
                    else
         
     | 
| 
      
 1041 
     | 
    
         
            +
                      key  = dates.m_date.to_s[/\(.+\z/]
         
     | 
| 
      
 1042 
     | 
    
         
            +
                      if key
         
     | 
| 
      
 1043 
     | 
    
         
            +
                        note, = Japanese::Eclipse::Eclipses[key.gsub(/[()]/,'')]
         
     | 
| 
      
 1044 
     | 
    
         
            +
                      elsif dates.o_date.location &&
         
     | 
| 
      
 1045 
     | 
    
         
            +
                            dates.o_date.frame.kind_of?(When::CalendarTypes::Christian)
         
     | 
| 
      
 1046 
     | 
    
         
            +
                        info  = dates.o_date.location.lunar_eclipse(date..date)
         
     | 
| 
      
 1047 
     | 
    
         
            +
                        note  = '月' + Japanese::Eclipse.eclipse_summary(info[0]) unless info.empty?
         
     | 
| 
      
 1048 
     | 
    
         
            +
                      end
         
     | 
| 
      
 1049 
     | 
    
         
            +
                      if note
         
     | 
| 
      
 1050 
     | 
    
         
            +
                        note.sub!(/\*.*\z/, '')
         
     | 
| 
      
 1051 
     | 
    
         
            +
                        note  = nil unless /月/ =~ note
         
     | 
| 
      
 1052 
     | 
    
         
            +
                        note  = nil if level[0] == 1 && /昼/  =~ note
         
     | 
| 
      
 1053 
     | 
    
         
            +
                        note  = nil if level[1] == 1 && /^\(/ =~ note
         
     | 
| 
      
 1054 
     | 
    
         
            +
                      end
         
     | 
| 
      
 1055 
     | 
    
         
            +
                    end
         
     | 
| 
      
 1056 
     | 
    
         
            +
                    notes['月食'] = note
         
     | 
| 
      
 1057 
     | 
    
         
            +
                  end
         
     | 
| 
      
 1058 
     | 
    
         
            +
             
     | 
| 
      
 1059 
     | 
    
         
            +
                  notes
         
     | 
| 
      
 1060 
     | 
    
         
            +
                end
         
     | 
| 
      
 1061 
     | 
    
         
            +
              end
         
     | 
| 
      
 1062 
     | 
    
         
            +
             
     | 
| 
      
 1063 
     | 
    
         
            +
              #
         
     | 
| 
      
 1064 
     | 
    
         
            +
              # 太陽黄経による暦注
         
     | 
| 
      
 1065 
     | 
    
         
            +
              #
         
     | 
| 
      
 1066 
     | 
    
         
            +
              class Japanese::SolarTerms < SolarTerms
         
     | 
| 
      
 1067 
     | 
    
         
            +
             
     | 
| 
      
 1068 
     | 
    
         
            +
                Notes12 = %w(正月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月)
         
     | 
| 
      
 1069 
     | 
    
         
            +
             
     | 
| 
      
 1070 
     | 
    
         
            +
                Notes10 = [
         
     | 
| 
      
 1071 
     | 
    
         
            +
                  %w(初伏 初伏),
         
     | 
| 
      
 1072 
     | 
    
         
            +
                  %w(仲伏 中伏),
         
     | 
| 
      
 1073 
     | 
    
         
            +
                  %w(後伏 末伏)]
         
     | 
| 
      
 1074 
     | 
    
         
            +
             
     | 
| 
      
 1075 
     | 
    
         
            +
                Notes60_A = [
         
     | 
| 
      
 1076 
     | 
    
         
            +
                  #  +0      
         
     | 
| 
      
 1077 
     | 
    
         
            +
                  '侯小過外', # 315 : 正月
         
     | 
| 
      
 1078 
     | 
    
         
            +
                  '侯需外',   # 345 : 二月
         
     | 
| 
      
 1079 
     | 
    
         
            +
                  '侯豫外',   #  15 : 三月
         
     | 
| 
      
 1080 
     | 
    
         
            +
                  '侯旅外',   #  45 : 四月
         
     | 
| 
      
 1081 
     | 
    
         
            +
                  '侯大有外', #  75 : 五月
         
     | 
| 
      
 1082 
     | 
    
         
            +
                  '侯鼎外',   # 105 : 六月
         
     | 
| 
      
 1083 
     | 
    
         
            +
                  '侯恆外',   # 135 : 七月
         
     | 
| 
      
 1084 
     | 
    
         
            +
                  '侯巽外',   # 165 : 八月
         
     | 
| 
      
 1085 
     | 
    
         
            +
                  '侯歸妹外', # 195 : 九月
         
     | 
| 
      
 1086 
     | 
    
         
            +
                  '侯艮外',   # 225 : 十月
         
     | 
| 
      
 1087 
     | 
    
         
            +
                  '侯未濟外', # 255 : 十一月
         
     | 
| 
      
 1088 
     | 
    
         
            +
                  '侯屯外'    # 285 : 十二月
         
     | 
| 
      
 1089 
     | 
    
         
            +
                ]
         
     | 
| 
      
 1090 
     | 
    
         
            +
             
     | 
| 
      
 1091 
     | 
    
         
            +
                Notes60_B = [
         
     | 
| 
      
 1092 
     | 
    
         
            +
                  #  +3          +9       +15       +21       +27
         
     | 
| 
      
 1093 
     | 
    
         
            +
                  '大夫蒙',   '卿益',   '公漸',   '辟泰',   '侯需内',   # 315 : 正月
         
     | 
| 
      
 1094 
     | 
    
         
            +
                  '大夫随',   '卿晋',   '公解',   '辟大壯', '侯豫内',   # 345 : 二月
         
     | 
| 
      
 1095 
     | 
    
         
            +
                  '大夫訟',   '卿蠱',   '公革',   '辟夬',   '侯旅内',   #  15 : 三月
         
     | 
| 
      
 1096 
     | 
    
         
            +
                  '大夫師',   '卿比',   '公小畜', '辟乾',   '侯大有内', #  45 : 四月
         
     | 
| 
      
 1097 
     | 
    
         
            +
                  '大夫家人', '卿井',   '公咸',   '辟姤',   '侯鼎内',   #  75 : 五月
         
     | 
| 
      
 1098 
     | 
    
         
            +
                  '大夫豊',   '卿渙',   '公履',   '辟遯',   '侯恆内',   # 105 : 六月
         
     | 
| 
      
 1099 
     | 
    
         
            +
                  '大夫節',   '卿同人', '公損',   '辟否',   '侯巽内',   # 135 : 七月
         
     | 
| 
      
 1100 
     | 
    
         
            +
                  '大夫萃',   '卿大畜', '公賁',   '辟観',   '侯歸妹内', # 165 : 八月
         
     | 
| 
      
 1101 
     | 
    
         
            +
                  '大夫無妄', '卿明夷', '公困',   '辟剥',   '侯艮内',   # 195 : 九月
         
     | 
| 
      
 1102 
     | 
    
         
            +
                  '大夫既濟', '卿噬嗑', '公大過', '辟坤',   '侯未濟内', # 225 : 十月
         
     | 
| 
      
 1103 
     | 
    
         
            +
                  '大不蹇',   '卿頤',   '公中孚', '辟復',   '侯屯内',   # 255 : 十一月
         
     | 
| 
      
 1104 
     | 
    
         
            +
                  '大夫謙',   '卿睽',   '公升',   '辟臨',   '侯小過内'  # 285 : 十二月
         
     | 
| 
      
 1105 
     | 
    
         
            +
                ]
         
     | 
| 
      
 1106 
     | 
    
         
            +
             
     | 
| 
      
 1107 
     | 
    
         
            +
                Notes72 = [
         
     | 
| 
      
 1108 
     | 
    
         
            +
                  # 儀鳳暦         宣明暦(中国)       宣明暦            貞享暦   宝暦暦・寛政暦 略本暦
         
     | 
| 
      
 1109 
     | 
    
         
            +
                  # 315 : 正月
         
     | 
| 
      
 1110 
     | 
    
         
            +
                   %w(雞始乳       東風解凍          東風解凍          東風解凍     東風解凍   東風解凍),
         
     | 
| 
      
 1111 
     | 
    
         
            +
                   %w(東風解凍     蟄始振            蟄虫始振          梅花乃芳     黄鶯睍睆   黄鶯睍睆),
         
     | 
| 
      
 1112 
     | 
    
         
            +
                   %w(蟄蟲始振     魚上氷            魚上氷            魚上氷       魚上氷     魚上氷),
         
     | 
| 
      
 1113 
     | 
    
         
            +
                   %w(魚上冰       獺祭魚            獺祭魚            土脈潤起     土脈潤起   土脉潤起),
         
     | 
| 
      
 1114 
     | 
    
         
            +
                   %w(獺祭魚       鴻雁来            鴻雁来            霞彩碧空     霞始靆     霞始靆),
         
     | 
| 
      
 1115 
     | 
    
         
            +
                   %w(鴻雁來       草木萌動          草木萌動          草木萌動     草木萌動   草木萌動),
         
     | 
| 
      
 1116 
     | 
    
         
            +
             
     | 
| 
      
 1117 
     | 
    
         
            +
                  # 345 : 二月
         
     | 
| 
      
 1118 
     | 
    
         
            +
                   %w(始雨水       桃始華            桃始華            蟄虫啓戸     蟄虫啓戸   蟄虫啓戸),
         
     | 
| 
      
 1119 
     | 
    
         
            +
                   %w(桃始花       倉庚鳴            倉庚鳴            寒雨間熟     桃始笑     桃始笑),
         
     | 
| 
      
 1120 
     | 
    
         
            +
                   %w(倉庚鳴       鷹化爲鳩          鷹化爲鳩          菜虫化蝶     菜虫化蝶   菜虫化蝶),
         
     | 
| 
      
 1121 
     | 
    
         
            +
                   %w(鷹化爲鳩     玄鳥至            玄鳥至            雀始巣       雀始巣     雀始巣),
         
     | 
| 
      
 1122 
     | 
    
         
            +
                   %w(玄鳥至       雷乃發聲          雷乃發聲          雷乃発声     桜始開     桜始開),
         
     | 
| 
      
 1123 
     | 
    
         
            +
                   %w(雷始發聲     始電              始電              桜始開桃始笑 雷乃発声   雷乃発声),
         
     | 
| 
      
 1124 
     | 
    
         
            +
             
     | 
| 
      
 1125 
     | 
    
         
            +
                  #  15 : 三月
         
     | 
| 
      
 1126 
     | 
    
         
            +
                   %w(始雷         桐始華            桐始華            玄鳥至       玄鳥至     玄鳥至),
         
     | 
| 
      
 1127 
     | 
    
         
            +
                   %w(蟄蟲咸動     田鼠化爲鴑        田鼠化爲鴑        鴻雁北       鴻雁北     鴻雁北),
         
     | 
| 
      
 1128 
     | 
    
         
            +
                   %w(蟄蟲啓戸     虹始見            虹始見            虹始見       虹始見     虹始見),
         
     | 
| 
      
 1129 
     | 
    
         
            +
                   %w(桐始華       萍始生            萍始生            葭始生       葭始生     葭始生),
         
     | 
| 
      
 1130 
     | 
    
         
            +
                   %w(田鼠化爲鴑   鳴鳩拂其羽        鳴鳩拂其羽        牡丹華       霜止出苗   霜止出苗),
         
     | 
| 
      
 1131 
     | 
    
         
            +
                   %w(虹始見       戴勝降于桑        戴勝降于桑        霜止出苗     牡丹華     牡丹華),
         
     | 
| 
      
 1132 
     | 
    
         
            +
             
     | 
| 
      
 1133 
     | 
    
         
            +
                  #  45 : 四月
         
     | 
| 
      
 1134 
     | 
    
         
            +
                   %w(萍始生       螻蟈鳴            螻蟈鳴            鵑始鳴       鼃始鳴     鼃始鳴),
         
     | 
| 
      
 1135 
     | 
    
         
            +
                   %w(戴勝降于桑   蚯蚓出            蚯蚓出            蚯蚓出       蚯蚓出     蚯蚓出),
         
     | 
| 
      
 1136 
     | 
    
         
            +
                   %w(螻蟈鳴       王瓜生            王瓜生            竹笋生       竹笋生     竹笋生),
         
     | 
| 
      
 1137 
     | 
    
         
            +
                   %w(蚯蚓出       苦菜秀            苦菜秀            蚕起食桑     蚕起食桑   蚕起食桑),
         
     | 
| 
      
 1138 
     | 
    
         
            +
                   %w(王瓜生       靡草死            靡草死            紅花栄       紅花栄     紅花栄),
         
     | 
| 
      
 1139 
     | 
    
         
            +
                   %w(苦菜秀       小暑至            小暑至            麦秋至       麦秋至     麦秋至),
         
     | 
| 
      
 1140 
     | 
    
         
            +
                      
         
     | 
| 
      
 1141 
     | 
    
         
            +
                  #  75 : 五月
         
     | 
| 
      
 1142 
     | 
    
         
            +
                   %w(靡草死       螳蜋生            螳蜋生            螳螂生       螳螂生     螳螂生),
         
     | 
| 
      
 1143 
     | 
    
         
            +
                   %w(小暑至       鵙始鳴            鵙始鳴            腐草為螢     腐草為螢   腐草為螢),
         
     | 
| 
      
 1144 
     | 
    
         
            +
                   %w(螳螂生       反舌無聲          反舌無聲          梅始黄       梅子黄     梅子黄),
         
     | 
| 
      
 1145 
     | 
    
         
            +
                   %w(鵙始鳴       鹿角解            鹿角解            乃東枯       乃東枯     乃東枯),
         
     | 
| 
      
 1146 
     | 
    
         
            +
                   %w(反舌無聲     蜩始鳴            蜩始鳴            分龍雨       菖蒲華     菖蒲華),
         
     | 
| 
      
 1147 
     | 
    
         
            +
                   %w(鹿角解       半夏生            半夏生            半夏生       半夏生     半夏生),
         
     | 
| 
      
 1148 
     | 
    
         
            +
             
     | 
| 
      
 1149 
     | 
    
         
            +
                  # 105 : 六月
         
     | 
| 
      
 1150 
     | 
    
         
            +
                   %w(蟬始鳴       温風至            温風至            温風至       温風至     温風至),
         
     | 
| 
      
 1151 
     | 
    
         
            +
                   %w(半夏生       蟋蟀居壁          蟋蟀居壁          蓮始華       蓮始華     蓮始開),
         
     | 
| 
      
 1152 
     | 
    
         
            +
                   %w(木槿榮       鷹乃學習          鷹乃學習          鷹乃学習     鷹乃学習   鷹乃学習),
         
     | 
| 
      
 1153 
     | 
    
         
            +
                   %w(温風至       腐草爲螢          腐草爲螢          桐始結花     桐始結花   桐始結花),
         
     | 
| 
      
 1154 
     | 
    
         
            +
                   %w(蟋蟀居壁     土潤溽暑          土潤溽暑          土潤溽暑     土潤溽暑   土潤溽暑),
         
     | 
| 
      
 1155 
     | 
    
         
            +
                   %w(鷹乃學習     大雨時行          大雨時行          大雨時行     大雨時行   大雨時行),
         
     | 
| 
      
 1156 
     | 
    
         
            +
             
     | 
| 
      
 1157 
     | 
    
         
            +
                  # 135 : 七月
         
     | 
| 
      
 1158 
     | 
    
         
            +
                   %w(腐草爲螢     涼風至            涼風至            涼風至       涼風至     涼風至),
         
     | 
| 
      
 1159 
     | 
    
         
            +
                   %w(土潤溽暑     白露降            白露降            山沢浮雲     寒蝉鳴     寒蝉鳴),
         
     | 
| 
      
 1160 
     | 
    
         
            +
                   %w(涼風至       寒蟬鳴            寒蟬鳴            霧色已成     蒙霧升降   蒙霧升降),
         
     | 
| 
      
 1161 
     | 
    
         
            +
                   %w(白露降       鷹乃祭鳥          鷹乃祭鳥          寒蝉鳴       綿柎開     綿柎開),
         
     | 
| 
      
 1162 
     | 
    
         
            +
                   %w(寒蟬鳴       天地始肅          天地始肅          天地始粛     天地始粛   天地始粛),
         
     | 
| 
      
 1163 
     | 
    
         
            +
                   %w(鷹祭鳥       禾乃登            禾乃登            禾乃登       禾乃登     禾乃登),
         
     | 
| 
      
 1164 
     | 
    
         
            +
             
     | 
| 
      
 1165 
     | 
    
         
            +
                  # 165 : 八月
         
     | 
| 
      
 1166 
     | 
    
         
            +
                   %w(天地始肅     鴻雁来            鴻雁来            草露白       草露白     草露白),
         
     | 
| 
      
 1167 
     | 
    
         
            +
                   %w(暴風至       玄鳥歸            玄鳥歸            鶺鴒鳴       鶺鴒鳴     鶺鴒鳴),
         
     | 
| 
      
 1168 
     | 
    
         
            +
                   %w(鴻雁來       群鳥養羞          群鳥養羞          玄鳥去       玄鳥去     玄鳥去),
         
     | 
| 
      
 1169 
     | 
    
         
            +
                   %w(玄鳥歸       雷乃收聲          雷乃收聲          鴻雁来       雷乃収声   雷乃収声),
         
     | 
| 
      
 1170 
     | 
    
         
            +
                   %w(羣鳥養羞     蟄蟲坏戸          蟄蟲坏戸          蟄虫坏戸     蟄虫坏戸   蟄虫坏戸),
         
     | 
| 
      
 1171 
     | 
    
         
            +
                   %w(雷始收聲     水始涸            水始涸            水始涸       水始涸     水始涸),
         
     | 
| 
      
 1172 
     | 
    
         
            +
             
     | 
| 
      
 1173 
     | 
    
         
            +
                  # 195 : 九月
         
     | 
| 
      
 1174 
     | 
    
         
            +
                   %w(蟄蟲坏戸     鴻雁來賓          鴻雁來賓          棗栗零       鴻雁来     鴻雁来),
         
     | 
| 
      
 1175 
     | 
    
         
            +
                   %w(陰氣方盛     雀入大水爲蛤      雀入大水爲蛤      蟋蟀在戸     菊花開     菊花開),
         
     | 
| 
      
 1176 
     | 
    
         
            +
                   %w(陽氣始衰     菊有黄花          菊有黄花          菊花開       蟋蟀在戸   蟋蟀在戸),
         
     | 
| 
      
 1177 
     | 
    
         
            +
                   %w(水始涸       豺乃祭獸          豺乃祭獸          霜始降       霜始降     霜始降),
         
     | 
| 
      
 1178 
     | 
    
         
            +
                   %w(鴻雁來賓     草木黄落          草木黄落          蔦楓紅葉     霎時施     霎時施),
         
     | 
| 
      
 1179 
     | 
    
         
            +
                   %w(雀入水爲蛤   蟄蟲咸俯          蟄蟲咸俯          鶯雛鳴       楓蔦黄     楓蔦黄),
         
     | 
| 
      
 1180 
     | 
    
         
            +
             
     | 
| 
      
 1181 
     | 
    
         
            +
                  # 225 : 十月
         
     | 
| 
      
 1182 
     | 
    
         
            +
                   %w(菊有黄花     水始冰            水始冰            山茶始開     山茶始開   山茶始開),
         
     | 
| 
      
 1183 
     | 
    
         
            +
                   %w(豺祭獣       地始凍            地始凍            地始凍       地始凍     地始凍),
         
     | 
| 
      
 1184 
     | 
    
         
            +
                   %w(水始冰       野雞入大水爲蜃    野雞入大水爲蜃    霎乃降       金盞香     金盞香),
         
     | 
| 
      
 1185 
     | 
    
         
            +
                   %w(地始凍       虹藏不見          虹藏不見          虹蔵不見     虹蔵不見   虹蔵不見),
         
     | 
| 
      
 1186 
     | 
    
         
            +
                   %w(野雞入水爲蜃 天氣上騰地氣下降  天氣上騰地氣下降  樹葉咸落     朔風払葉   朔風払葉),
         
     | 
| 
      
 1187 
     | 
    
         
            +
                   %w(虹藏不見     閉塞而成冬        閉塞而成冬        橘始黄       橘始黄     橘始黄),
         
     | 
| 
      
 1188 
     | 
    
         
            +
             
     | 
| 
      
 1189 
     | 
    
         
            +
                  # 255 : 十一月
         
     | 
| 
      
 1190 
     | 
    
         
            +
                   %w(冰益壯       鶡鳥不鳴          鶡鳥不鳴          閉塞成冬     閉塞成冬   閉塞成冬),
         
     | 
| 
      
 1191 
     | 
    
         
            +
                   %w(地始坼       虎始交            虎始交            熊蟄穴       熊蟄穴     熊蟄穴),
         
     | 
| 
      
 1192 
     | 
    
         
            +
                   %w(鶡鳥不鳴     茘挺生            茘挺生            水仙開       鱖魚群     鱖魚群),
         
     | 
| 
      
 1193 
     | 
    
         
            +
                   %w(虎始交       蚯蚓結            蚯蚓結            乃東生       乃東生     乃東生),
         
     | 
| 
      
 1194 
     | 
    
         
            +
                   %w(芒始生       麋角解            麋角解            麋角解       麋角解     麋角解),
         
     | 
| 
      
 1195 
     | 
    
         
            +
                   %w(茘挺生       水泉動            水泉動            雪下出麦     雪下出麦   雪下出麦),
         
     | 
| 
      
 1196 
     | 
    
         
            +
             
     | 
| 
      
 1197 
     | 
    
         
            +
                  # 285 : 十二月
         
     | 
| 
      
 1198 
     | 
    
         
            +
                   %w(蚯蚓結       雁北郷            雁北郷            芹乃栄       芹乃栄     芹乃栄),
         
     | 
| 
      
 1199 
     | 
    
         
            +
                   %w(麋角解       鵲始巣            鵲始巣            風気乃行     水泉動     水泉動),
         
     | 
| 
      
 1200 
     | 
    
         
            +
                   %w(水泉動       野雞始鴝          野雞始鴝          雉始雊       雉始雊     雉始雊),
         
     | 
| 
      
 1201 
     | 
    
         
            +
                   %w(雁北郷       雞始乳            雞始乳            款冬華       款冬華     款冬華),
         
     | 
| 
      
 1202 
     | 
    
         
            +
                   %w(鵲始巣       鷙鳥厲疾          鷙鳥厲疾          水沢腹堅     水沢腹堅   水沢腹堅),
         
     | 
| 
      
 1203 
     | 
    
         
            +
                   %w(雉始雊       水澤腹堅          水澤腹堅          鶏始乳       鶏始乳     鶏始乳)
         
     | 
| 
      
 1204 
     | 
    
         
            +
                ]
         
     | 
| 
      
 1205 
     | 
    
         
            +
             
     | 
| 
      
 1206 
     | 
    
         
            +
                # 計算結果の修正
         
     | 
| 
      
 1207 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 1208 
     | 
    
         
            +
                Patch = {
         
     | 
| 
      
 1209 
     | 
    
         
            +
                  2039054 => [149.0, 1], # 貞観12(0870).07.17 [149.0, 0] 没
         
     | 
| 
      
 1210 
     | 
    
         
            +
                  2039055 => [150.0, 0], # 貞観12(0870).07.18 [150.0, 1] 処暑
         
     | 
| 
      
 1211 
     | 
    
         
            +
             
     | 
| 
      
 1212 
     | 
    
         
            +
                  2107233 => [ 29.0, 1], # 天喜05(1057).03.10 [ 29.0, 0] 没
         
     | 
| 
      
 1213 
     | 
    
         
            +
                  2107234 => [ 30.0, 0], # 天喜05(1057).03.11 [ 30.0, 1] 穀雨
         
     | 
| 
      
 1214 
     | 
    
         
            +
             
     | 
| 
      
 1215 
     | 
    
         
            +
                  2160437 => [269.0, 0], # 建仁02(1202).10=29 [270.0, 1] 冬至
         
     | 
| 
      
 1216 
     | 
    
         
            +
                  2160438 => [270.0, 1], # 建仁02(1202).11.01 [271.0, 1]
         
     | 
| 
      
 1217 
     | 
    
         
            +
                  2160439 => [271.0, 1], # 建仁02(1202).11.02 [272.0, 1]
         
     | 
| 
      
 1218 
     | 
    
         
            +
                  2160440 => [272.0, 1], # 建仁02(1202).11.03 [272.0, 0] 没
         
     | 
| 
      
 1219 
     | 
    
         
            +
             
     | 
| 
      
 1220 
     | 
    
         
            +
                  2175412 => [269.0, 1], # 寛元01(1243).11.03 [269.0, 0] 没
         
     | 
| 
      
 1221 
     | 
    
         
            +
                  2175413 => [270.0, 0], # 寛元01(1243).11.04 [270.0, 1] 冬至
         
     | 
| 
      
 1222 
     | 
    
         
            +
             
     | 
| 
      
 1223 
     | 
    
         
            +
                  2189200 => [179.0, 0], # 弘安04(1281).07=30 [180.0, 1] 秋分
         
     | 
| 
      
 1224 
     | 
    
         
            +
                  2189201 => [180.0, 1], # 弘安04(1281).08.01 [181.0, 1]
         
     | 
| 
      
 1225 
     | 
    
         
            +
                  2189202 => [181.0, 1], # 弘安04(1281).08.02 [181.0, 0] 没
         
     | 
| 
      
 1226 
     | 
    
         
            +
             
     | 
| 
      
 1227 
     | 
    
         
            +
                  2243577 => [136.0, 0], # 永享02(1430).07.11 [136.0, 1] (立秋の翌日)
         
     | 
| 
      
 1228 
     | 
    
         
            +
                  2243578 => [136.0, 1], # 永享02(1430).07.12 [137.0, 1]
         
     | 
| 
      
 1229 
     | 
    
         
            +
                  2243579 => [137.0, 1], # 永享02(1430).07.13 [138.0, 1]
         
     | 
| 
      
 1230 
     | 
    
         
            +
                  2243580 => [138.0, 1], # 永享02(1430).07.14 [139.0, 1]
         
     | 
| 
      
 1231 
     | 
    
         
            +
                  2243581 => [139.0, 1], # 永享02(1430).07.15 [140.0, 1]
         
     | 
| 
      
 1232 
     | 
    
         
            +
                  2243582 => [140.0, 1], # 永享02(1430).07.16 [141.0, 1]
         
     | 
| 
      
 1233 
     | 
    
         
            +
                  2243583 => [141.0, 1], # 永享02(1430).07.17 [142.0, 1]
         
     | 
| 
      
 1234 
     | 
    
         
            +
                  2243584 => [142.0, 1], # 永享02(1430).07.18 [143.0, 1]
         
     | 
| 
      
 1235 
     | 
    
         
            +
                  2243585 => [143.0, 1], # 永享02(1430).07.19 [144.0, 1]
         
     | 
| 
      
 1236 
     | 
    
         
            +
                  2243586 => [144.0, 1], # 永享02(1430).07.20 [145.0, 1]
         
     | 
| 
      
 1237 
     | 
    
         
            +
                  2243587 => [145.0, 1], # 永享02(1430).07.21 [146.0, 1]
         
     | 
| 
      
 1238 
     | 
    
         
            +
                  2243588 => [146.0, 1], # 永享02(1430).07.22 [147.0, 1]
         
     | 
| 
      
 1239 
     | 
    
         
            +
                  2243589 => [147.0, 1], # 永享02(1430).07.23 [148.0, 1]
         
     | 
| 
      
 1240 
     | 
    
         
            +
                  2243590 => [148.0, 1], # 永享02(1430).07.24 [149.0, 1]
         
     | 
| 
      
 1241 
     | 
    
         
            +
                  2243591 => [149.0, 1], # 永享02(1430).07.25 [149.0, 0] 没 (処暑の前日)
         
     | 
| 
      
 1242 
     | 
    
         
            +
             
     | 
| 
      
 1243 
     | 
    
         
            +
                  2311770 => [ 29.0, 1], # 元和03(1617).03.18 [ 29.0, 0] 没
         
     | 
| 
      
 1244 
     | 
    
         
            +
                  2311771 => [ 30.0, 0], # 元和03(1617).03.19 [ 30.0, 1] 穀雨
         
     | 
| 
      
 1245 
     | 
    
         
            +
             
     | 
| 
      
 1246 
     | 
    
         
            +
                  2396062 => [314.0, 0], # 弘化04(1847).12.30 [315.0, 1] 立春 (計算誤差の補正)
         
     | 
| 
      
 1247 
     | 
    
         
            +
                  2396063 => [315.0, 1], # 弘化05(1848).01.01 [315.0, 0] 没
         
     | 
| 
      
 1248 
     | 
    
         
            +
             
     | 
| 
      
 1249 
     | 
    
         
            +
                  2397583 => [ 15.0, 1], # 嘉永05(1852).02=15 [ 14.0, 0] 没
         
     | 
| 
      
 1250 
     | 
    
         
            +
                  2397584 => [ 16.0, 0]  # 嘉永05(1852).02=16 [ 15.0, 1] 清明 (計算誤差の補正)
         
     | 
| 
      
 1251 
     | 
    
         
            +
                }
         
     | 
| 
      
 1252 
     | 
    
         
            +
             
     | 
| 
      
 1253 
     | 
    
         
            +
                class << self
         
     | 
| 
      
 1254 
     | 
    
         
            +
                  # テスト用の属性
         
     | 
| 
      
 1255 
     | 
    
         
            +
                  attr_writer :patch
         
     | 
| 
      
 1256 
     | 
    
         
            +
                  private :patch=
         
     | 
| 
      
 1257 
     | 
    
         
            +
             
     | 
| 
      
 1258 
     | 
    
         
            +
                  # 日の暦注
         
     | 
| 
      
 1259 
     | 
    
         
            +
                  # @private
         
     | 
| 
      
 1260 
     | 
    
         
            +
                  def _day_notes(notes, dates, conditions={})
         
     | 
| 
      
 1261 
     | 
    
         
            +
                    date  = When.when?(dates.o_date.to_cal_date.to_s,
         
     | 
| 
      
 1262 
     | 
    
         
            +
                              {:frame=>dates.o_date.frame,
         
     | 
| 
      
 1263 
     | 
    
         
            +
                               :clock=>dates.s_date.frame._time_basis[0]})
         
     | 
| 
      
 1264 
     | 
    
         
            +
                    patch = (@patch || Patch)[date.to_i] unless dates.o_date.frame.respond_to?(:twin) &&
         
     | 
| 
      
 1265 
     | 
    
         
            +
                                                                dates.o_date.frame.twin
         
     | 
| 
      
 1266 
     | 
    
         
            +
                    longitude, motsu = patch ? patch : dates.cal4note.s_terms.position(date)
         
     | 
| 
      
 1267 
     | 
    
         
            +
             
     | 
| 
      
 1268 
     | 
    
         
            +
                    # 三伏 - 庚
         
     | 
| 
      
 1269 
     | 
    
         
            +
                    #
         
     | 
| 
      
 1270 
     | 
    
         
            +
                    # 初 : 夏至から 20..29
         
     | 
| 
      
 1271 
     | 
    
         
            +
                    # 仲 : 夏至から 30..39
         
     | 
| 
      
 1272 
     | 
    
         
            +
                    # 後 : 立秋から  0..9 
         
     | 
| 
      
 1273 
     | 
    
         
            +
                    if !notes['三伏'] && notes['干'].remainder == 6 # 庚
         
     | 
| 
      
 1274 
     | 
    
         
            +
                      index = dates.range >= 11 ? 1 : 0
         
     | 
| 
      
 1275 
     | 
    
         
            +
                      if 109 <= longitude && longitude <= 129      # 夏至から
         
     | 
| 
      
 1276 
     | 
    
         
            +
                        term = dates.cal4note.s_terms.term(date, [-270,360])
         
     | 
| 
      
 1277 
     | 
    
         
            +
                        diff = dates.s_date.to_i - term.to_i
         
     | 
| 
      
 1278 
     | 
    
         
            +
                        notes['三伏'] = Notes10[0][index] if 20 <= diff && diff <= 29
         
     | 
| 
      
 1279 
     | 
    
         
            +
                        notes['三伏'] = Notes10[1][index] if 30 <= diff && diff <= 39
         
     | 
| 
      
 1280 
     | 
    
         
            +
                      elsif longitude == 135                     # 立秋
         
     | 
| 
      
 1281 
     | 
    
         
            +
                        notes['三伏'] = Notes10[2][index]
         
     | 
| 
      
 1282 
     | 
    
         
            +
                      elsif 136 <= longitude && longitude <= 144 # 立秋から
         
     | 
| 
      
 1283 
     | 
    
         
            +
                        term = dates.cal4note.s_terms.term(date, [-225,360])
         
     | 
| 
      
 1284 
     | 
    
         
            +
                        diff = dates.s_date.to_i - term.to_i
         
     | 
| 
      
 1285 
     | 
    
         
            +
                        notes['三伏'] = Notes10[2][index] if 0 < diff && diff <= 9
         
     | 
| 
      
 1286 
     | 
    
         
            +
                      end
         
     | 
| 
      
 1287 
     | 
    
         
            +
                    end
         
     | 
| 
      
 1288 
     | 
    
         
            +
             
     | 
| 
      
 1289 
     | 
    
         
            +
                    # 社 - 戊
         
     | 
| 
      
 1290 
     | 
    
         
            +
                    #
         
     | 
| 
      
 1291 
     | 
    
         
            +
                    # 春秋分から -5..4
         
     | 
| 
      
 1292 
     | 
    
         
            +
                    if !notes['社'] && notes['干'].remainder == 4 # 戊
         
     | 
| 
      
 1293 
     | 
    
         
            +
                      if (longitude + 5) % 180 < 10 # 春秋分の近傍
         
     | 
| 
      
 1294 
     | 
    
         
            +
                        term = dates.cal4note.s_terms.term(date - When.Duration('P5D'), [0,180])
         
     | 
| 
      
 1295 
     | 
    
         
            +
                        diff = dates.s_date.to_i - term.to_i
         
     | 
| 
      
 1296 
     | 
    
         
            +
                        notes['社'] = '社' if -5 <= diff && diff <= 4
         
     | 
| 
      
 1297 
     | 
    
         
            +
                      end
         
     | 
| 
      
 1298 
     | 
    
         
            +
                    end
         
     | 
| 
      
 1299 
     | 
    
         
            +
             
     | 
| 
      
 1300 
     | 
    
         
            +
                    # 臘 - 辰
         
     | 
| 
      
 1301 
     | 
    
         
            +
                    #
         
     | 
| 
      
 1302 
     | 
    
         
            +
                    # 大寒から -6..5
         
     | 
| 
      
 1303 
     | 
    
         
            +
                    if !notes['臘'] && notes['支'].remainder == 4 # 辰
         
     | 
| 
      
 1304 
     | 
    
         
            +
                      if (longitude - 339) % 360 < 12 # 大寒の近傍
         
     | 
| 
      
 1305 
     | 
    
         
            +
                        term = dates.cal4note.s_terms.term(date - When.Duration('P6D'), [345,360])
         
     | 
| 
      
 1306 
     | 
    
         
            +
                        diff = dates.s_date.to_i - term.to_i
         
     | 
| 
      
 1307 
     | 
    
         
            +
                        notes['臘'] = '臘' if -6 <= diff && diff <= 5
         
     | 
| 
      
 1308 
     | 
    
         
            +
                      end
         
     | 
| 
      
 1309 
     | 
    
         
            +
                    end
         
     | 
| 
      
 1310 
     | 
    
         
            +
             
     | 
| 
      
 1311 
     | 
    
         
            +
                    # 土用事
         
     | 
| 
      
 1312 
     | 
    
         
            +
                    unless notes['土用事']
         
     | 
| 
      
 1313 
     | 
    
         
            +
                      _longitude, _motsu = dates.cal4note.s_terms2.instance_of?(self) && dates.cal4note.doyo == 0 ? [longitude, motsu] :
         
     | 
| 
      
 1314 
     | 
    
         
            +
                                           dates.cal4note.s_terms2.position(date, -dates.cal4note.doyo)
         
     | 
| 
      
 1315 
     | 
    
         
            +
                      if _motsu != 0 && _longitude % 90 == 27
         
     | 
| 
      
 1316 
     | 
    
         
            +
                        notes['土用事'] =
         
     | 
| 
      
 1317 
     | 
    
         
            +
                          begin
         
     | 
| 
      
 1318 
     | 
    
         
            +
                            event_name =
         
     | 
| 
      
 1319 
     | 
    
         
            +
                              case dates.range
         
     | 
| 
      
 1320 
     | 
    
         
            +
                              when 0     ; '土用'   # 元嘉暦以前
         
     | 
| 
      
 1321 
     | 
    
         
            +
                              when 1     ; '土王'   # 麟徳暦
         
     | 
| 
      
 1322 
     | 
    
         
            +
                              when 2..10 ; '土用事' # 大衍暦~宣明暦
         
     | 
| 
      
 1323 
     | 
    
         
            +
                              else       ; '土用入' # 貞享暦以降
         
     | 
| 
      
 1324 
     | 
    
         
            +
                              end
         
     | 
| 
      
 1325 
     | 
    
         
            +
                            if conditions[:shoyo]
         
     | 
| 
      
 1326 
     | 
    
         
            +
                              dates.cal4note.s_terms2.event_time(date, event_name, [27-dates.cal4note.doyo, 90])
         
     | 
| 
      
 1327 
     | 
    
         
            +
                            else
         
     | 
| 
      
 1328 
     | 
    
         
            +
                              event_name
         
     | 
| 
      
 1329 
     | 
    
         
            +
                            end
         
     | 
| 
      
 1330 
     | 
    
         
            +
                          end
         
     | 
| 
      
 1331 
     | 
    
         
            +
                      end
         
     | 
| 
      
 1332 
     | 
    
         
            +
                    end
         
     | 
| 
      
 1333 
     | 
    
         
            +
             
     | 
| 
      
 1334 
     | 
    
         
            +
                    # 入梅 - 壬
         
     | 
| 
      
 1335 
     | 
    
         
            +
                    #
         
     | 
| 
      
 1336 
     | 
    
         
            +
                    # 貞享2(1685)~ 芒種から 1..10 日の壬の日
         
     | 
| 
      
 1337 
     | 
    
         
            +
                    # 元文5(1740)~ 芒種から 0..9  日の壬の日
         
     | 
| 
      
 1338 
     | 
    
         
            +
                    # 明治9(1876)~ 太陽黄経80度
         
     | 
| 
      
 1339 
     | 
    
         
            +
                    unless notes['入梅']
         
     | 
| 
      
 1340 
     | 
    
         
            +
                      if dates.year >= 1876
         
     | 
| 
      
 1341 
     | 
    
         
            +
                        notes['入梅'] = '入梅' if longitude == 80 && motsu == 1
         
     | 
| 
      
 1342 
     | 
    
         
            +
                      elsif notes['干'].remainder == 8 # 壬
         
     | 
| 
      
 1343 
     | 
    
         
            +
                        if (longitude - 75) % 360 <= 10 # 芒種の近傍
         
     | 
| 
      
 1344 
     | 
    
         
            +
                          term  = dates.cal4note.s_terms.term(date - When.Duration('P11D'), [75,360])
         
     | 
| 
      
 1345 
     | 
    
         
            +
                          diff  = dates.s_date.to_i - term.to_i
         
     | 
| 
      
 1346 
     | 
    
         
            +
                          diff += 1 if dates.year >= 1740
         
     | 
| 
      
 1347 
     | 
    
         
            +
                          notes['入梅'] = '入梅' if dates.range >= 11 && 1 <= diff && diff <= 10
         
     | 
| 
      
 1348 
     | 
    
         
            +
                        end
         
     | 
| 
      
 1349 
     | 
    
         
            +
                      end
         
     | 
| 
      
 1350 
     | 
    
         
            +
                    end
         
     | 
| 
      
 1351 
     | 
    
         
            +
             
     | 
| 
      
 1352 
     | 
    
         
            +
                    # 半夏生
         
     | 
| 
      
 1353 
     | 
    
         
            +
                    #
         
     | 
| 
      
 1354 
     | 
    
         
            +
                    # 太陽黄経100度
         
     | 
| 
      
 1355 
     | 
    
         
            +
                    notes['半夏生'] ||= '半夏生' if longitude == 100 && motsu == 1
         
     | 
| 
      
 1356 
     | 
    
         
            +
             
     | 
| 
      
 1357 
     | 
    
         
            +
                    # 立春を起算日とする雑節
         
     | 
| 
      
 1358 
     | 
    
         
            +
                    #
         
     | 
| 
      
 1359 
     | 
    
         
            +
                    unless notes['節分'] && notes['八十八夜'] && notes['二百十日'] && notes['二百廿日']
         
     | 
| 
      
 1360 
     | 
    
         
            +
                      term = dates.cal4note.s_terms.term(date + When.Duration('P3D'), [-45,360])
         
     | 
| 
      
 1361 
     | 
    
         
            +
                      case dates.s_date.to_i - term.to_i
         
     | 
| 
      
 1362 
     | 
    
         
            +
                      when  -1 ; notes['節分']     ||= '節分'
         
     | 
| 
      
 1363 
     | 
    
         
            +
                      when  87 ; notes['八十八夜'] ||= '八十八夜'
         
     | 
| 
      
 1364 
     | 
    
         
            +
                      when 209 ; notes['二百十日'] ||= '二百十日'
         
     | 
| 
      
 1365 
     | 
    
         
            +
                      when 219 ; notes['二百廿日'] ||= '二百廿日'
         
     | 
| 
      
 1366 
     | 
    
         
            +
                      end
         
     | 
| 
      
 1367 
     | 
    
         
            +
                    end
         
     | 
| 
      
 1368 
     | 
    
         
            +
             
     | 
| 
      
 1369 
     | 
    
         
            +
                    # 日食
         
     | 
| 
      
 1370 
     | 
    
         
            +
                    unless notes['日食'] && notes['小字注']
         
     | 
| 
      
 1371 
     | 
    
         
            +
                      level = (conditions[:solar_eclipse]||0).to_i
         
     | 
| 
      
 1372 
     | 
    
         
            +
                      if level == -1
         
     | 
| 
      
 1373 
     | 
    
         
            +
                        note = nil
         
     | 
| 
      
 1374 
     | 
    
         
            +
                      else
         
     | 
| 
      
 1375 
     | 
    
         
            +
                        key  = dates.m_date.to_s[/\(.+\z/]
         
     | 
| 
      
 1376 
     | 
    
         
            +
                        if key
         
     | 
| 
      
 1377 
     | 
    
         
            +
                          note, = Japanese::Eclipse::Eclipses[key.gsub(/[()]/,'')]
         
     | 
| 
      
 1378 
     | 
    
         
            +
                        elsif dates.o_date.location &&
         
     | 
| 
      
 1379 
     | 
    
         
            +
                              dates.o_date.frame.kind_of?(When::CalendarTypes::Christian)
         
     | 
| 
      
 1380 
     | 
    
         
            +
                          info  = dates.o_date.location.solar_eclipse(date..date)
         
     | 
| 
      
 1381 
     | 
    
         
            +
                          note  = '日' + Japanese::Eclipse.eclipse_summary(info[0]) unless info.empty?
         
     | 
| 
      
 1382 
     | 
    
         
            +
                        end
         
     | 
| 
      
 1383 
     | 
    
         
            +
                        if note
         
     | 
| 
      
 1384 
     | 
    
         
            +
                          note.sub!(/\*.*\z/, '')
         
     | 
| 
      
 1385 
     | 
    
         
            +
                          note  = nil unless /日/ =~ note
         
     | 
| 
      
 1386 
     | 
    
         
            +
                          note  = nil if level[0] == 1 && /夜/  =~ note
         
     | 
| 
      
 1387 
     | 
    
         
            +
                          note  = nil if level[1] == 1 && /^\(/ =~ note
         
     | 
| 
      
 1388 
     | 
    
         
            +
                        end
         
     | 
| 
      
 1389 
     | 
    
         
            +
                      end
         
     | 
| 
      
 1390 
     | 
    
         
            +
                      notes['日食'] = note
         
     | 
| 
      
 1391 
     | 
    
         
            +
                    end
         
     | 
| 
      
 1392 
     | 
    
         
            +
             
     | 
| 
      
 1393 
     | 
    
         
            +
                    # 没
         
     | 
| 
      
 1394 
     | 
    
         
            +
                    if motsu == 0
         
     | 
| 
      
 1395 
     | 
    
         
            +
                      notes['没'] = dates.range < 11 ? '没' : nil
         
     | 
| 
      
 1396 
     | 
    
         
            +
                      return notes unless patch
         
     | 
| 
      
 1397 
     | 
    
         
            +
                    else
         
     | 
| 
      
 1398 
     | 
    
         
            +
                      notes['没'] = nil
         
     | 
| 
      
 1399 
     | 
    
         
            +
                    end
         
     | 
| 
      
 1400 
     | 
    
         
            +
             
     | 
| 
      
 1401 
     | 
    
         
            +
                    # 廿四節気
         
     | 
| 
      
 1402 
     | 
    
         
            +
                    div, mod = longitude.divmod(15)
         
     | 
| 
      
 1403 
     | 
    
         
            +
                    if mod == 0
         
     | 
| 
      
 1404 
     | 
    
         
            +
                      note = (div - 21) % 24
         
     | 
| 
      
 1405 
     | 
    
         
            +
                      div, mod = note.divmod(2)
         
     | 
| 
      
 1406 
     | 
    
         
            +
                      notes['節中']     ||= Notes12[div] + %w(節 中)[mod]
         
     | 
| 
      
 1407 
     | 
    
         
            +
                      notes['廿四節気'] ||= 
         
     | 
| 
      
 1408 
     | 
    
         
            +
                        begin
         
     | 
| 
      
 1409 
     | 
    
         
            +
                          residue = When.Resource(dates.range == 1 ? '_co:Common?V=0618' : '_co:Common')['二十四節気::*'][(note-3) % 24]
         
     | 
| 
      
 1410 
     | 
    
         
            +
                          if conditions[:shoyo]
         
     | 
| 
      
 1411 
     | 
    
         
            +
                            dates.cal4note.s_terms.event_time(date, residue.label, [0,15])
         
     | 
| 
      
 1412 
     | 
    
         
            +
                          else
         
     | 
| 
      
 1413 
     | 
    
         
            +
                            residue
         
     | 
| 
      
 1414 
     | 
    
         
            +
                          end
         
     | 
| 
      
 1415 
     | 
    
         
            +
                        end
         
     | 
| 
      
 1416 
     | 
    
         
            +
                    end
         
     | 
| 
      
 1417 
     | 
    
         
            +
             
     | 
| 
      
 1418 
     | 
    
         
            +
                    # 七十二候
         
     | 
| 
      
 1419 
     | 
    
         
            +
                    div, mod = longitude.divmod(5)
         
     | 
| 
      
 1420 
     | 
    
         
            +
                    notes['七十二候'] ||= mod == 0  ? Notes72[(div - 63) % 72][dates.index_s]  : nil
         
     | 
| 
      
 1421 
     | 
    
         
            +
             
     | 
| 
      
 1422 
     | 
    
         
            +
                    # 往亡
         
     | 
| 
      
 1423 
     | 
    
         
            +
                    unless notes['往亡'] && notes['神吉'] && notes['雑事吉']
         
     | 
| 
      
 1424 
     | 
    
         
            +
                      month    = dates.s_date.cal_date[-2] - 1
         
     | 
| 
      
 1425 
     | 
    
         
            +
                      day      = dates.s_date.cal_date[-1] - 1
         
     | 
| 
      
 1426 
     | 
    
         
            +
                      div, mod = month.divmod(3)
         
     | 
| 
      
 1427 
     | 
    
         
            +
                      deg      = (div+7)*(mod+1) + month * 30 + 314
         
     | 
| 
      
 1428 
     | 
    
         
            +
                      notes['往亡'] = (dates.range < 11 ? (deg - longitude) % 360 == 0  :               # 没を含まない
         
     | 
| 
      
 1429 
     | 
    
         
            +
                                                          (deg - 315      ) %  30 == day)? '往亡' : nil # 没を含む
         
     | 
| 
      
 1430 
     | 
    
         
            +
                    end
         
     | 
| 
      
 1431 
     | 
    
         
            +
             
     | 
| 
      
 1432 
     | 
    
         
            +
                    # 伏龍
         
     | 
| 
      
 1433 
     | 
    
         
            +
                    notes['伏龍']     ||= {
         
     | 
| 
      
 1434 
     | 
    
         
            +
                      315 => '庭内去堂',  15 => '門内百日', 115 => '東垣六十日',
         
     | 
| 
      
 1435 
     | 
    
         
            +
                      175 => '四隅百日', 275 => '竈内四十日'
         
     | 
| 
      
 1436 
     | 
    
         
            +
                    }[longitude]
         
     | 
| 
      
 1437 
     | 
    
         
            +
             
     | 
| 
      
 1438 
     | 
    
         
            +
                    # 六十卦
         
     | 
| 
      
 1439 
     | 
    
         
            +
                    div, mod = longitude.divmod(30)
         
     | 
| 
      
 1440 
     | 
    
         
            +
                    notes['六十卦']   ||= mod == 15 ? Notes60_A[(div - 10) % 12] : nil
         
     | 
| 
      
 1441 
     | 
    
         
            +
                    div, mod = longitude.divmod(6)
         
     | 
| 
      
 1442 
     | 
    
         
            +
                    notes['六十卦']   ||= mod == 0  ? Notes60_B[(div - 53) % 60] : nil
         
     | 
| 
      
 1443 
     | 
    
         
            +
             
     | 
| 
      
 1444 
     | 
    
         
            +
                    # 彼岸
         
     | 
| 
      
 1445 
     | 
    
         
            +
                    unless notes['彼岸']
         
     | 
| 
      
 1446 
     | 
    
         
            +
                      if dates.range < 11
         
     | 
| 
      
 1447 
     | 
    
         
            +
                        notes['彼岸'] = '彼岸' if longitude % 180 == 2 # 宣明暦以前(没を除いて3日後)
         
     | 
| 
      
 1448 
     | 
    
         
            +
                      else
         
     | 
| 
      
 1449 
     | 
    
         
            +
                        term = dates.cal4note.s_terms.term(date - When.Duration('P7D'), [0,180]) # 近傍の春秋分
         
     | 
| 
      
 1450 
     | 
    
         
            +
                        case dates.s_date.to_i - term.to_i
         
     | 
| 
      
 1451 
     | 
    
         
            +
                        when  2 ; notes['彼岸'] = '彼岸' if dates.range == 11 # 貞享暦(没を含めて3日後)
         
     | 
| 
      
 1452 
     | 
    
         
            +
                        when -5 ; notes['彼岸'] = '彼岸' if longitude >  180 && (1755...1844).include?(dates.year) # 宝暦暦・寛政暦(春-6日前))
         
     | 
| 
      
 1453 
     | 
    
         
            +
                        when -1 ; notes['彼岸'] = '彼岸' if longitude <= 180 && (1755...1844).include?(dates.year) # 宝暦暦・寛政暦(秋-2日前)
         
     | 
| 
      
 1454 
     | 
    
         
            +
                        when -3 ; notes['彼岸'] = '彼岸' if dates.year >= 1844 # 天保暦以降(秋-4日前)
         
     | 
| 
      
 1455 
     | 
    
         
            +
                        end
         
     | 
| 
      
 1456 
     | 
    
         
            +
                      end
         
     | 
| 
      
 1457 
     | 
    
         
            +
                      notes['彼岸'] = nil unless notes['彼岸'] == '彼岸'
         
     | 
| 
      
 1458 
     | 
    
         
            +
                    end
         
     | 
| 
      
 1459 
     | 
    
         
            +
             
     | 
| 
      
 1460 
     | 
    
         
            +
                    notes
         
     | 
| 
      
 1461 
     | 
    
         
            +
                  end
         
     | 
| 
      
 1462 
     | 
    
         
            +
                end
         
     | 
| 
      
 1463 
     | 
    
         
            +
              end
         
     | 
| 
      
 1464 
     | 
    
         
            +
             
     | 
| 
      
 1465 
     | 
    
         
            +
              #
         
     | 
| 
      
 1466 
     | 
    
         
            +
              # 太陽黄経による暦注
         
     | 
| 
      
 1467 
     | 
    
         
            +
              #
         
     | 
| 
      
 1468 
     | 
    
         
            +
              class Japanese::SolarTermsRevised < Japanese::SolarTerms
         
     | 
| 
      
 1469 
     | 
    
         
            +
             
     | 
| 
      
 1470 
     | 
    
         
            +
                # 土用策
         
     | 
| 
      
 1471 
     | 
    
         
            +
                DoyoShift = When::TM::PeriodDuration.new([0,0,12.1747411317])
         
     | 
| 
      
 1472 
     | 
    
         
            +
             
     | 
| 
      
 1473 
     | 
    
         
            +
                # 日付に対応する座標
         
     | 
| 
      
 1474 
     | 
    
         
            +
                #
         
     | 
| 
      
 1475 
     | 
    
         
            +
                # @param [When::TM::TemporalPosition] date 日付
         
     | 
| 
      
 1476 
     | 
    
         
            +
                # @param [Numeric] delta 周期の補正(土用の時刻の補正に使用,デフォルト 0)
         
     | 
| 
      
 1477 
     | 
    
         
            +
                #
         
     | 
| 
      
 1478 
     | 
    
         
            +
                # @return [Array<Integer>] Array< Integer, 0 or 1 or 2 >
         
     | 
| 
      
 1479 
     | 
    
         
            +
                #
         
     | 
| 
      
 1480 
     | 
    
         
            +
                #   [Integer]     対応する座標
         
     | 
| 
      
 1481 
     | 
    
         
            +
                #
         
     | 
| 
      
 1482 
     | 
    
         
            +
                #   [0 or 1 or 2] 座標の進み(0 なら 没, 2 なら滅)
         
     | 
| 
      
 1483 
     | 
    
         
            +
                #
         
     | 
| 
      
 1484 
     | 
    
         
            +
                def position(date, delta=0)
         
     | 
| 
      
 1485 
     | 
    
         
            +
                  return super if date.most_significant_coordinate >= 1869
         
     | 
| 
      
 1486 
     | 
    
         
            +
                  date   = date.floor
         
     | 
| 
      
 1487 
     | 
    
         
            +
                  p0, p1 = [date, date.succ].map {|d| (30.0 * @formula.time_to_cn(d-DoyoShift) - @margin + 12).floor}
         
     | 
| 
      
 1488 
     | 
    
         
            +
                  [p1 % @den, p1 - p0]
         
     | 
| 
      
 1489 
     | 
    
         
            +
                end
         
     | 
| 
      
 1490 
     | 
    
         
            +
             
     | 
| 
      
 1491 
     | 
    
         
            +
                #
         
     | 
| 
      
 1492 
     | 
    
         
            +
                # イベント日付(時刻付)
         
     | 
| 
      
 1493 
     | 
    
         
            +
                #
         
     | 
| 
      
 1494 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 1495 
     | 
    
         
            +
                def event_time(date, event_name, event)
         
     | 
| 
      
 1496 
     | 
    
         
            +
                  return super if date.most_significant_coordinate >= 1869
         
     | 
| 
      
 1497 
     | 
    
         
            +
                  etime = term(date + When.Duration('P3D'), [-15,30], When::SYSTEM) + DoyoShift
         
     | 
| 
      
 1498 
     | 
    
         
            +
                  if formula.respond_to?(:year_length) && formula.denominator && formula.denominator < 100000
         
     | 
| 
      
 1499 
     | 
    
         
            +
                    fraction  =  etime.clk_time.local_time
         
     | 
| 
      
 1500 
     | 
    
         
            +
                    fraction +=  When::TM::Duration::DAY * (etime.to_i - date.to_i)
         
     | 
| 
      
 1501 
     | 
    
         
            +
                    fraction  = (fraction  / When::TM::Duration::DAY * formula.denominator * 1000 + 0.5).floor / 1000.0
         
     | 
| 
      
 1502 
     | 
    
         
            +
                    fraction  =  fraction.to_i if fraction == fraction.to_i
         
     | 
| 
      
 1503 
     | 
    
         
            +
                    event_name + "(#{fraction}/#{formula.denominator})"
         
     | 
| 
      
 1504 
     | 
    
         
            +
                  else
         
     | 
| 
      
 1505 
     | 
    
         
            +
                    etime.events = [event_name]
         
     | 
| 
      
 1506 
     | 
    
         
            +
                    etime
         
     | 
| 
      
 1507 
     | 
    
         
            +
                  end
         
     | 
| 
      
 1508 
     | 
    
         
            +
                end
         
     | 
| 
      
 1509 
     | 
    
         
            +
              end
         
     | 
| 
      
 1510 
     | 
    
         
            +
            end
         
     |