Deprecated:  The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
#!/usr/bin/env ruby
# coding: utf-8
#---------------------------------------------------------------
#
#	p3cal: png/pdf/ps calendar renderer
#
#---------------------------------------------------------------
if(ARGV.size == 0)
	abort(< 'cal', :type => 'pdf' })	# png/pdf/ps
win.clear; win.box('|', '-')					# cls
((target_month || 1)..(target_month || 12)).each {|month|
	# 曜日描画
	wcols	= [     2,  0,  0,  0,  0,  0,  1,  2]
	#wdays	= %w! Sun Mon Tue Wed Thu Fri Sat Hol!
	wdays	= %w!  日  月  火  水  木  金  土  祝!
	row = 64; rstep = 80; 7.times {|wday|
		ps = { :font_family => 'Osaka', :font_weight => 400, :font_size => 20, :layout_width => 128, :layout_alignment => 'center', :get_size => true }
		win.text(wday * 128 + 64, row, wdays[wday], wcols[wday], ps); ps.delete(:get_size)
		win.text(wday * 128 + 64, row, wdays[wday], wcols[wday], ps)
	}
	# 日付描画
	start = Time.local(target_year, month); count = start.dup
	row += rstep; while(start.month == count.month)
		holyday = holydays[count.strftime('%Y%m%d')]
		ps = { :font_family => 'Osaka', :font_weight => 400, :font_size => 36, :layout_width => 128, :layout_alignment => 'left',   :get_size => true }
		win.text(count.wday * 128 +  64, row, count.day.to_s, wcols[holyday ? 7 : count.wday], ps); ps.delete(:get_size)
		win.text(count.wday * 128 +  64, row, count.day.to_s, wcols[holyday ? 7 : count.wday], ps)
		win.line(count.wday * 128 +  60, row, count.wday * 128 + 180, row         - 4, 0)
		win.line(count.wday * 128 +  60, row, count.wday * 128 +  64, row + rstep - 4, 0)
		count.wday == 6 and row += rstep
		count += 24 * 60 * 60
	end
	# ページ生成(pdf/ps)
	win.refresh
}
win.getch
win.close
__END__