22.6.7. 日曆製作 (二)[20101029]

將 365 天排列成一直線條完成後,不免會想是否可以用可變印紋套版的方式來製作一般的月曆?

於是收集坊間各種大小月曆、行事曆、日曆,來檢閱月曆的構成,與可變印紋最大的不同是:每個月的第一天都在不一樣的位置,而且排列的方式很多樣,不談一個日期內的排列,光是縱向排列的最右行是周六或周日的不同,也有是加放周數的,至於橫向排列有四(閏年的二月,而且一號在第一格時)、五(大多數情形)、六行(每年只有一兩個)的,也有最後第六列併入第五或是第一列的。

在分析檢視的過程中,發現同一公司製作的日曆排法幾乎一樣(還有一些公司們都一樣,連錯的地方也一樣),有些大小不同的編輯竟會發生日期資料不一致的現象,從設計單調抄襲不一致的錯誤可以推論大部分的日、月曆之製作都是靠昂貴、辛苦與易錯的人工作業完稿;在少量多樣的風潮下,快速而低成本的日、月曆的電腦自動完稿變成值得開發的一塊。

分析的結果是:每個月最少 28 天,最多 31 天,標準的月曆表列每周七天,第一天的可能位置由第一格到第七格開始,所以一個月的基本日期格子是 37 個,37 個字的關係只有其前後順序,與大小、位置、旋轉、...無關,通常的排列方式如下圖:

以 37 個格子設想月曆的排列之後(以下將這個結構稱為月排列),每個月一號不同起始的問題就豁然而解,因為只要把連續月份的看成很多連續的月排列之組合,換月時也是依序由左而右放入日期資料,不同的是跳到下一個月排列的第一列而已。

進一步思考月排列的涵義,其實它只是定義個日期的位置與大小,何嘗不可以有旋轉角度或是形變?所以除上述的規矩形外,也可能是:

 

或是排列成一條(曲)線的 37 個格子。

在概念上月排列的格子只有標示位置功能,完稿後就不存在,真正完稿的東西還要定義每一個格子內的組成,也就是一個基本日期內要顯示的東西,以下稱為基本日樣版,例如:

 

基本日樣版也可以是:

 

基本日樣版只定義一個日子內要顯示的各資料之預設色彩、相對位置與相對大小,自動完稿時將這個基本日樣版填入資料庫資料後,根據月排列內指定的格子之定義來縮放、旋轉與形變置入;上述的例子中對應到月曆資料庫的有四項資料(日、農曆日、節日、底色)與相關的變化色彩資料(周末、周日、放假日、初二與十六、...對前四項文字或底色的色彩變化),所以可以滿足各種月曆形式的一次完稿。

由於一年內只有少數幾個月份會拉到第六列,設計上可能會影響十二個月份的排列美觀問題,當不想要有第六列時設計的處理方式有二:

  • 將多出的一、二日放置於第一列同行的位置(因為若要放時該位置不可能會有資料),這個的製作很簡單,只要將月排列內的第 36、37 格子分別與 1、2 格子重疊位置即可
  • 將多出的一、二日與第五列同行的日分享,也就是讓第 36、37 格子分別與 29、30 格子分享相同位置,為了提供完全任意設計共用的排列與解決這種設計的自動完稿,所以當需要這樣的設計時,要另外製作基本雙日樣版,當計算發現需要分享共用時,系統自動會在 29、30 格子改用基本雙日樣版,並分別填入兩日的資料

基本雙日樣版的例子如:

 

最後考慮月曆上可能還有的月份、周數等相關資料將之一起定義入月排列可以有的元件,配合前一篇所述的日曆資料產生器產生的個性化資料,套入各種月排列基本日樣版基本雙日樣版,按下自動完稿製作,幾分鐘內便可產生各式以前手工完稿難以想像的月曆。

因此,設計 M 個月排列與 N 個基本日樣版,就能提供 M*N 個可能的設計給任何自訂的日月曆資料使用,讓多樣性設計之自動完稿變得可行。

在沒有調整顯示節日與沒有美工設計下,為測試各項功能與效能,花了幾小時做了各式各樣的日月曆,有些一次製作十年份資料完稿,變化性與速度驗證了個性化的日月曆之可行性,以下是一些試做的檔案例子:12月月曆.pdf12月月曆+月資料.pdf月曆特效.pdf線條式月曆A.pdf線條式月曆B.pdf曲線式月曆A.pdf曲線式月曆B.pdf多頁同時製作.pdf2009-2018月日曆.pdf(6MB)2009-2018年度計劃表.pdf(5MB)2009-2018週曆.pdf(30MB)2009-2018簡單月曆.pdf(4MB)




 進入留言討論區

counter
Idea associations
Table of contents