XCalendar 互換の CGI/PostScript カレンダー

Copyright (C) 1999-2001 Taiji Yamada, Jun Takahashi and Shunsuke Horai

[Back] [English Page]


xcalendar-j.cgi

X11 のカレンダーで予定が書き込める XCalendar ですが、職場の XCalendar の予定データを家から確認したりしたいものです。そこで、ブラウザから閲覧できるように、XCalendar のデータの閲覧が可能なカレンダー表示の CGI スクリプト xcalendar.cgi を作成しました。CGI スクリプトは Perl5 で書かれています。日本語の表示の為に外部コマンドとして nkf が必要になる場合があります。

また、日本語が表示可能なスクリプトコマンドは xcalendar-j.cgi で、英語でカレンダーを表示するスクリプトコマンドは xcalendar.cgi となっています。これらは実体は同じもので、自分自身の名前で言語が変わるようになっています。


xcalendar-j.cgi スクリーンショット

xcalendar.cgi はデフォルトで今月のカレンダーを表示し、今日の予定データが存在すれば、予定データの内容も併せて表示します。'>' リンクで次の月、'<' リンクで前の月のカレンダーを表示します。リンクがある日付は、その日の XCalendar のデータが存在することを示しています。そこを閲覧すると、その日の予定データを表示します。

但し、安全の為に、そのまま xcalendar(-j).cgi をブラウズ可能なディレクトリにインストールしただけでは、XCalendar のデータは表示されません。xcalendar(-j).cgi をインストールするディレクトリを ~/public_html/private/ として、以下の、シンボリックリンクとパーミッションの変更の作業が必要になります。

% cd ~/public_html/private
% ls
xcalendar-j.cgi@ xcalendar.cgi*
% ln -s ~/Calendar .
% chmod go+rx ~/Calendar
もし、他人に自分の予定データを見られたりしたくない人は、インストールするディレクトリ、この場合 ~/public_html/private/.htaccess ファイルの設定を適切に行うなどする必要があります。もし、ウェブサーバの .htaccess ファイルによる制限では不十分であると考える人は、上記のシンボリックリンクとパーミッションの変更は行うべきではありませんし、予定データの表示は諦めて下さい。

[2000/5/12 追記] バージョン 0.999 から xcalendar-j.cgi は、

に対応しました。[2000/8/3 追記] J-SkyWeb では COLSPAN が使えないようなので、修正しました。また、i-mode で<TABLE>の表示が出来ない端末にも対応しました。吉田 成人さん、御協力有難うございました。

また、ウェブサーバを HDML 対応にするには、Apache などの場合、以下のような .htaccess を置けばいいのだと思います。

AddType         text/x-hdml     .hdml
AddType         image/bmp       .bmp
但し xcalendar-j.cgi では、2行目は必ずしも必須ではありません。

xcalendar.pl

xcalendar.pl はカレンダーを PostScript 形式で出力します。環境変数 LANG が 'ja' などの場合に、日本語 PostScript での出力が可能になります。

このスクリプトの利点は、「国民祝祭日」だけでなく自分の「所属機関の休日」のデータを参照して、これらが既に記入されているカレンダーが印刷できるということにあります。さらに、システム手帳サイズ(バイブル、ミニ、ポケット)への印刷をサポートしているので、自分で穴を空けさえすれば、そのままシステム手帳用のカレンダーとして使えます。

2000年のカレンダーの実行例をいくつかあげておきますので、詳細は `-help' を読んでお使い下さい。祝祭日、休日のデータ作成については、オリジナル xcalendar(1) のマニュアル及び、拙作の XCalendar の休日ファイル拡張パッチについてのサイトを御覧下さい。

実行例

2000年のカレンダー、A4、カラー
% xcalendar.pl -paper=a4 -color 2000 | lp

2000年のカレンダー、A4、横向き、白黒
% xcalendar.pl -paper=a4 -landscale -mono 2000 | lp

2000年のカレンダー、ポケットサイズ [76x126(mm)]、カラー
% xcalendar.pl -paper=pocket -color 2000 | lp

2000年のカレンダー、バイブルサイズ [95x170(mm)]を見開きで、カラー、切り取り線付き
% xcalendar.pl -paper=bible2 -fold=saddle -cutline -color 2000 | lp

2000年のカレンダー、ミニサイズ [80x126(mm)]を見開きで、切り取り線、折り込み線付き、白黒
% xcalendar.pl -paper=mini2 -fold=saddle -cutline -foldline -mono 2000 | lp


作者の環境での1999年カレンダー

配布

上記の xcalendar.cgi および xcalendar.pl は、実体は同じスクリプトです。自分自身の名前で用途が変わるようになっています。CGI での利用時のセキュリティには留意して作成しておりますが、御利用者は、スクリプトの設置場所、パーミッション、アクセス制限には十分気を付けて下さい。

参考文献

日本語 PostScript 出力において、以下を参考にさせて頂きました。ここにお礼を申し上げます。
  1. katayama@rd.nacsis.ac.jp, ``fixeucfont,'' sh script, 6/11 1998.

ToDo

  1. 予定データをエディット出来るようにする。かつ、セキュリティには最大限配慮する。
  2. 直接 PDF を吐けるようにする。
  3. 英語、日本語以外のカレンダーも印刷出来るように。

このサイトに関するご意見ご要望は taiji@aihara.co.jp までお願いします。

Copyright (C) 1999-2001 Taiji Yamada, All rights reserved.