祝日データの追加についてどこかに書いてあるかと思い込んでいたら,
令和対応データがどこにもないようなので,念の為まとめておきます。
とは言っても,複数箇所の書き換えが必要なため,現時点で使用している
Yushi版高速カレンダーの和生拡張版をそのまま貼り付けておくだけです。
版としては,当掲示板の #505 v1.06w (2005年改正祝日法対応版)
及び konno さんの今日のテーマ #6955 v1.08w (山の日対応)の次に
当たりますが,設定データ追加だけなので識別子(m)の付与にとどめます。
===== Calendar.def ===== v1.08wm : by Yushi / fixed wanama ζ゜ ;
(R)
Yushi さんのモノクロ版カレンダー拡張版
(オリジナル 旧FGALDC MES(16)#01496)
★▼など修正箇所
2003年「海,敬老の日」第3月曜対応
「9月飛石4連」見落とし(- ^;ゞ 法3条3項関連
2005年「5月4連振替」対応 法3条2項関連
「9月飛石4連」
2016年「山の日」新設対応 改正祝日法 (五輪特措無視)
2020年「天皇誕生日」(令和元年は5月開始のため2019年はなし) (m)
* M
1 ^\ "Calendar"
(s>3)?.#]
b10+t500+l0+pn..-27,
&06 &Sm(b,r,19)
b.19=-1, i36, (15){ b.i---, }
ax$2a00, &i($21)
t..3=y=cx, t.5=m=dx>>8, d=dx&$ff,
w-, x+, U-, N=d, k='>', ;★
; k-=32, ;;☆ {} → []
; r$a000!=vp..1, ;;ifn 98
; aa2+10*r, ;2←98 #if DOSV 12, ;;☆日曜色:赤
aa12+10*r, ;2←98 #if DOSV 12, ;;☆日曜色:赤
; ai[=3+10*r, ;3 13, ;;☆祝日色:紫
; af[=4/2*r, ;4 2, ;;☆当日印:緑
(ks&1)?>C ;★
:A c-, b.16=24+w*44, ; メニュー幅
:B y[, m[=m+c-w, &02 &03
; &Sp(b+36+c*22," %4d 年 %2d 月 ",y,m)
; r"janfebmaraprmayjunjulaugsepoctnovdec", ;★
; r"JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC", ;★
r"JanFebMarAprMayJunJulAugSepOctNovDec", ;★
&Sp(b+36+c*22," %4d 年 %2d 月 %3s ",y,m,r+m*3-3)
t..1=128*w,
p=di=b+82+c*64-w*40,
dx-, (w && c<2)?{ dx+, &Sc(b+56+c*22," ") } ;★" "→"〜"
g65+t..1, ;★アイテム幅
bx=t, &07 &04 ;&05 ;;▼&05特別日
(x)?a" 日 月 火 水 木 金 土 ", ;★
?a" 月 火 水 木 金 土 日 ", ;★
&Sc(b+57+c*22+44*w,a) ;★
(y-t..3 || m-t.5)??{
e=d, &01 e.0=k-2, e.9=k, ;★当日
e.8='f',(a%7)? e.-1='f', ;;☆行頭 [ af 色
(a%7 || c<1)?? e.-2='f', ;;☆
}
(U && c==w)?{ e=N, &01 e.3='s', } ;★日付カーソル
m],y], (w && c++<3)?>B
&m("[↑↓]年 [←→]月 [CR]幅変 [RLUP/DN]10年 $
[BS]今月 [TAB]出力 [INS]入力 [DEL]日印") ;★
&Le(l,vp+118) &Le(vp+118,vp+110) &Le(vp+110,l) ;コマンドのすり替え
wl[=6, rr[=b, &* rr], wl], &d
&Le(vp+110,vp+118) &Le(vp+118,l)
(r+1)??{
; af], ai], ;&m("") ;☆色 ★メッセージ
&m("") &d ;メッセージラインの再表示(m)
. }
(r&$FF+$100)>!{
(#s) { m-=1+w*2,&02 }; 月--,★3ヵ月表示時-=3
(#d) { m+=1+w*2,&02 }; 月++,★ +=3
(#38) y-=10, ; 10年-★
(#37) y+=10, ; 10年+★
(#a) y--, ; 年--,
(#f) y++, ; 年++,
(256) w!, ; 表示幅変更
(#h) >H ; 今月★
(#v) >C ; 入力★
(#21) >E ; 出力★
(#n) x!, ; 日/月スタート★
(#g) U!, ; 日付カーソルスイッチ★
(#<) { N--, >u } ; 左へ★
(#>) { N++, >u } ; 右へ★
(#39) { N-=7,>u } ; 上へ★
(#40) { N+=7,>u } ; 下へ★
; (#X) >x ; #79:\[ESC]★
} >A
;:x ;af],ai],
; >09 ;★
:u &03 (N>t.1)?N=1, (N<1)?N=t.1, >A ;★
:C &g("西暦(1583-)") ; グレゴリオ暦を採用した年(1582/10/15 以降)
(r+1)??>A (r+2)??{ c=t..3, >D }
(r<100)?r+=2000, ;★1900
(r<1583)?{ &b(4) >C }
c=r,
:D &g("月 (1-12)")
(r+1)??>A (r+2)??{ y=c, m=t.5, >A }
(r<1 || r>12)?{ &b(4) >C }
y=c, m=r,>A
:E (U)?{ &08 >A } ;★
(s || mr==$80)?{ &b(2) >A }
Je[-, mi[-, El+, p36+b, c7,
&s #n &?(" %s",p) #m
:F &Sn(p) p+=r+1,
:G &SF(p,'$') (a=r)?{
(a.2=='i')?{ a.8='>', ;★祝日出力
(a.-1=='>')?a.-1='_', ?a.-1='<', } ;★連休
(a.8==k)?a.-1=a.8=32, ;★当日削除
a.0-, &?("%s",p) p=a+3, >G }
&?("%s",p) #m
(c--)? >F
&d mi], Je], #g >A ;★出力月表示
:H y=t..3, m=t.5,>A
1: a=t.0+e-1, e=p+(a/7)*g+(a%7)*9, ;★開始/日付位置
2: (m<1) ?{ m+=12, y--, }
(m>12)?{ m%=12, y++, }
3: ; t.0=曜日 t.1=日数
r" $(1F,1C,1F,1E,1F,1E,1F,1F,1E,1F,1E,1F)",
(y%4 || y%100==0 && y%400)?r.2=28, ?r.2=29, ;★N.YAMA
t.1=r.m, y[,m[, (m<3)?{ y--, m+=12, }
t.0=(y+ y/4+ y/400+ (m*13+8)/5+ x- y/100)%7, ;★+ x-
m],y],
4: p+=w*128, ;★以下修正(4:)
e=p, ;;☆土日着色
:a (e.58-'・')? e.57='a'+x, ;;☆(土曜 ab 限)
(e.(49-x*45)-'・')? e.(48-x*45)='b'-x, ;;☆
e+=g, ((e-p)/g<6)? >a ;;☆
(y<2000 || m-1 && m-10)??{ ;幸月曜 2000(成人,体育)
e=p+(2-(t.0<1+x))*g+9*x, e.3='i', } ;+x,*x:日/月スタート
(y<2003 || m-7 && m-9)??{ ;幸月曜 2003(海,敬老)
o=e=p+(3-(t.0<1+x))*g+9*x, e.3='i', } ;第3
&> ;;☆祝日
; r.14=20^e>>4, r.42=23^e&$f, ;;☆春秋分調整 1.06w
; r.14=20^e>>4, r.46=23^e&$f, ;;☆春秋分調整 1.08w
;151125//r.42→4bite◇◇山の日分
r.18=20^e>>4, r.50=23^e&$f, ;;☆春秋分調整 1.08wm
;200123//r.14,r.46→4bytes◇◇令和天皇誕生日分
:A (r.1>m)?.
e=r.2, r[, &01 r],
(r.0<y-1899 && r.1==m
&& (r.3==0 || r.3>y-1900) )?{ ;終了年 r.3
e.3='i',
(y<1973 || y==1973 && m<4)??{ ;振替制 1973.4
(x && a%7==0)? e.12='i', ;日から
(x || a%7-6)?? e.(g-51)='i', } ;月から
(y<2006 || m-5)??{ ;法3条2項2007◆◆
(x &&(a==8 || a==9))? e.12='i', ;日/月スタート◆◆
(x ||(a-7&&a-8))?? e.(g-53)='i',}; ◆◆
(y<2003 || m-9 || o.21-'i')?? o.12='i', ;法3条3項2003◆◆
;日付行, e:書込アドレス,a:数字開始位置◆◆
}
r+=4, >A
4: ; 固定祝日テーブル (開始年,月,日,廃止年 1900年起点) ★変更
; 49-0101- 49-0115~100 67-0211- 春分.14- ↓
; 49-0101- 49-0115~100 67-0211- 2020~0223~ 春分.18- (m)
; 48-0429- 49-0503- 86-0504- 49-0505-
; 96-0720~103 116-0811- 66-0915~103 秋分.42- ↓★2016山の日
; 96-0720~103 116-0811- 66-0915~103 秋分.50- (m)
; 66-1010~100 48-1103- 48-1123- 89-1223-
&> e=r.(y-1948),
(3+$)."$(31,01,01,00,31,01,0f,64,43,02,0b,00,78,02,17,00,31,03,14,fb)$
$(31,04,1d,00,31,05,03,00,56,05,04,00,31,05,05,00)$
$(60,07,14,67,74,08,0b,00,42,09,0f,67,30,09,17,fb)$
$(42,0a,0a,64,30,0b,03,00,30,0b,17,00,59,0c,17,77)",
4: ; 春分・秋分差分テーブル(1948-2150) ★追加
(3+$). "$(10,10,10)$
$(1f,10,10,10,1f,10,10,10,1f,00,10,10,1f,00,10,10,1f,00,10,10)$
$(1f,00,10,10,1f,00,10,10,1f,00,10,10,10,00,10,10,10,00,10,10)$
$(10,00,00,10,10,00,00,10,10,00,00,10,10,00,00,10,10,00,00,10)$
$(10,01,00,10,10,01,00,10,10,01,00,10,10,01,00,00,10,01,00,00)$
$(10,01,00,00,10,01,00,00,10,01,00,00,10,01,01,00,10,01,01,00)$
$(10,01,01,00,10,01,01,00,00,01,01,00,00,01,01,00,00,01,01,00)$
$(00,01,01,00,00,01,01,01,00,01,01,01,00,01,01,01,00,01,01,01)$
$(00,71,01,01,00,71,01,01,00,00,10,10,1f,00,10,10,1f,00,10,10)$
$(10,00,10,10,10,00,10,10,10,00,10,10,10,00,00,10,10,00,00,10)$
$(10,00,00,10,10,00,00,10,10,01,00,10,10,01,00,10,10,01,00,10)"
;5: ; 特別日とテーブル(祝日重複の場合祝日出力せず);▼追加
; &> :r (r.1>m)?. e=r.2, r[, &01 r],
; (r.0<y-1899 && r.1==m)?e.3='m', r+=4, >r
;5: (3+$)."$(48,03,0b,00)", ;サンプル
6: (2+$)."$(a,0,ff,ff,0)!01(r)$(0,e1,6,0,0,7)" ; &34+!01h
7: &i(3+$)."$
$(B1,01,EB,19,FE,C1,8A,C1,32,E4,B5,07,F6,F5,80,FC)$
$(01,75,11,B0,20,80,FA,00,75,02,32,C0,AA,03,7F,02)$
$(B8,20,00,AA,B0,24,AA,B8,61,6E,AB,8A,C1,2A,07,3A)$
$(47,01,77,04,3C,01,79,06,B8,a5,a5,AB,EB,10,32,E4)$
$(50,B5,0A,F6,F5,E8,16,00,8A,C4,E8,11,00,58,B0,24)$
$(AA,B8,61,6E,AB,B0,20,AA,80,F9,2B,72,A7,C3,04,30)$
$(AA,C3)"
;8: a"calendar.lst", ;★
; &So(wa+146,a) (r)?{ &>.}
; &s #O &?("%s%s",pi,a) #m #^ ;calendar.lst オープン
; mp[, ps[=pa, #F &?("%2d月%02d日",m,N) #m
; #c (r)?>z #b
;:r #c (r)??>r #x #B
;:z ps],mp], &d mb-,
8: m[,y[, (m<3)?{ m+=12, y--, } #n ;★日付出力
r"日月火水木金土"+
2*((y +y/4 +y/400 +(m*13+8)/5 +N -y/100)%7),
&?("%d年%2d月%2d日(%2s)",y],m],N,r) #]
;9: (wa)??. ss2, (s)>?{ #E . >a #H .} ;暦ソフト連動
; a"b:\tl\when\WhenHV /wged", ;★WhenHV とサンプル
;:a &?("%s %d %02d %02d",a,y,m,N) #m
; a"b:\tl\today\TODAY -aP", ;★TODAY の場合
:a &?("%s %d%02d%02d",a,y,m,N) #m
; #[ (wn)?#X #_ ky-,
; mp[, ps[=pa, #F &?(a) #m #r #z ps],mp],
; ;#b #_ #e #y #X #i ;取り込み
; &d
*
===== used y,m,d,w,c,p,t,b,l,i,a,e &+ aa,g,k,x,U,N,o