好讀首頁 世紀百強 | 隨身智囊 | 歷史煙雲 | 武俠小說 | 懸疑小說
言情小說 | 奇幻小說 | 小說園地 | 有聲書籍 | 好讀新聞

好讀製書程式 mPDB 2.2 周劍輝

免費 mPDB22.zip [下載] 2010/7/2 (436K) 2010/7/7

1) 請先在PC或隨身碟上建一個 mPDB 目錄。
2) 將下載的 mPDB22.zip 解壓縮至 mPDB 目錄。
3) 解出的檔案只有兩個:mPDB.exe 及 錯別字.txt。
4) mPDB.exe 立馬可用,沒有其他囉唆的安裝程式。

mPDB 2.2 主要新增功能:使用 Unicode

  • mPDB 2.1 使用Big5碼,輸入Unicode會變成?,本版不會。
  • 任何語系的Windows都能使用本版。
  • 修改了設定檔的使用介面。
  • 若您熟悉2.1版,使用本版很容易,這裡不再重複說明。
  • 新手請先參看mPDB 2.1的說明。
  • 原PDB檔是使用Big5碼,本版新增uPDB檔,是使用Unicode規格。
  • [轉成PDB檔]預設是uPDB檔,您也可選擇產生PDB檔。
  • 本版可讀PDB及uPDB檔。
  • 使用本版擷取出的文字檔是Unicode規格。

過渡期的痛苦

  • mPDB 2.2 產生的uPDB檔,目前只有mPDB 2.2能顯示。
  • 若您製作的書是純Big5碼,仍可以使用mPDB 2.1製作。
  • 若您製作的書含Unicode,最好使用mPDB 2.2製作,才不會缺字。
  • 目前幾乎所有的作業系統都支援Unicode,好讀網站的新書更新,2010/7/1起,都會使用本版產生的PDB檔及uPDB檔。
  • 當本版穩定後,會先改寫好讀網頁版及PC版,讀uPDB檔。
  • 當全面Unicode化之後,唯一的痛苦是Palm機種,因不支援Unicode,將無法閱讀uPDB檔。目前還想不出較好的解決方法,屆時再說吧。

新版 uPDB (Unicode) 及 PDB (Big5) 檔規格

機子及作業系統越來越多,我不可能逐一撰寫閱讀軟體,因而特將uPDB及PDB檔詳細規格公布如下,方便有興趣、有時間、能寫程式的讀友,為新機種撰寫閱讀軟體。
  1. PDB是源自Palm作業系統的一個單一檔案,簡易資料庫。
  2. 每一個PDB檔含N筆不定長度的資料(record)。
  3. PDB檔最前面當然要有個Header,定義本資料庫的特性。
  4. 因資料長度非固定,無法計算位置。所以Header之後,是各筆資料所在的位置,可以用來讀資料及計算每筆資料的長度。
  5. 之後,就是一筆一筆的資料,沒什麼大學問可言。

  6. 檔案的前78個bytes,是Header[0..77]:
    • Header[0..34]舊版是放書名,新版是放作者。可以不理。
    • Header[35]是2,舊版是1。可以不理。
    • Header[36..43]是為Palm而加的兩個日期,可以不理。
    • Header[44..59]都是0。可以不理。
    • Header[60..63]是"BOOK"。可以不理。
    • Header[64..67]是判別的關鍵,PDB是"MTIT",uPDB是"MTIU"。
    • Header[68..75]都是0。可以不理。
    • Header[76..77]是record數 = N (章數) 加2 (目錄及書籤)。

  7. 每筆資料的起始位置及屬性,依Palm的規格是8個bytes,前4個bytes是位置,後4個bytes是0。一共有 (N+2) * 8 bytes。

  8. 第一筆資料定義書的屬性,是8個空白字元、書名、章數及目錄:
    • (PDB檔)
      8個空白btyes,可以不理;
      之後接書名是Big5碼,後接三個ESC(即27);
      之後接章數(ASCII string),後接一個ESC;
      之後接目錄,各章之標題是以ESC分隔。
    • (uPDB檔)
      8個空白btyes,可以不理;
      之後接書名是Unicode碼,後接三個ESC(即27,0);
      之後接章數(ASCII string),後接一個ESC (27, 0);
      之後接目錄,各章之標題是以CR(13,0) NL(10,0) 分隔。

  9. 再來是N筆資料,每筆是一章的內容,PDB檔是Big5碼(是null-terminated string,最後一個byte是0),uPDB檔是Unicode碼。

  10. 第N+2筆資料是書籤,預設是-1。可以不理。

撰寫好讀閱讀軟體

因為一次只顯示一章,我是自updb/pdb檔抓該章排版。仔細說是:
  1. 將第n章內容讀入一個string (我是用C)。
  2. 計算共有幾頁,儲存每頁的第一個字的位置 (瞬間計算)。
  3. 要顯示第k頁,則從該頁的第一個字開始排到該頁的最後一個字。
  4. 全部是即時計算,即使使用Palm速度也快到沒感覺。
段落之間有個空白分行,排版時我是減半空白行的寬度,比較好看。網頁版較難處理,只好暫時 (很久了),先將空白分行拿掉。實體書多半無空白分行,省紙張,螢幕排版則多加半行,不致密密麻麻,眼睛比較舒適。



Windows 7 英文版上的含日文及簡體中文的預覽示範畫面

好讀首頁 有關好讀 讀友需知 聯絡好讀

搜尋好讀 - Google

按這裡去用 Microsoft Bing 來搜尋好讀
好讀第23年了
有好讀真好,有你也真好。但不知遍及各地的你,究竟有多少。若你從未或很久沒贊助過好讀,請按這裡,贊助好讀也讓我們知道你的鼓勵與支持。

2023/01/28 墨沙
几年前知道的好读,资源很好,感谢分享。

2023/01/28 Deborah Chang
感謝好讀團隊的無私付出,使我從這個網站閱讀了許多好書。

2023/01/27 劉小珍
看到好讀又重新啟動,非常開心,感謝各位接手的管理人,讓這網站能繼續造福大眾。

2023/01/27 孟絲
謝謝好讀網再度和大家見面!懷念周博士,感謝游女士和熱心的團隊,再度讓好讀網和大家見面。願這樣傑出的網站永遠長存。

2023/01/27 逍遥
时不时过来看看,终于发现又恢复了,心中的感觉实在难以描述,感谢。

2023/01/13 空空
謝謝你們對於書本的熱情與付出,希望以後可以盡一份心力。再次感謝你們,讓我可以閒暇之餘透過手機閱讀書籍。

2023/01/12 Sean Hsieh
不記得跟隨好讀多少年了,是從使用Palm OS 時代就開始的。非常感激周先生及很多周圍大眾的努力。這幾年本來曾一直不死心的蒐尋有無可能有人可以接手,本來已經放棄,今天想進來照找以前看過的幾本書,竟發現本網站已復活了,心情好興奮也感激。太謝謝了!

2023/01/10 Tsun
來好讀數年了,一開始便得知運作中止了,一直都感到很可惜,早一陣子來找書的時候發現重新運作了,內心非常高興,感謝各方人士的付出!

2023/01/06 Karen
感謝好讀網, 感謝各位有心人的付出 :)

2023/01/03 maslow
許多年前接觸到周博士建構的好讀網站,也用製書軟體製成幾本書回饋,至今仍找不到如mPDB般好用的製書器;謝謝新團隊讓好讀滿血復活,希望團隊能堅持下去,我也會貢獻一己之力,加油~

2022/12/30 PC.Chang
認識好讀超過十年,直式閱讀的喜悅和各式典藏的驚喜,陪伴我度過數不清的時光,由衷深深慶幸與感激。感謝好讀的存在,感謝周先生和游女士的創辦和近二十載的經營,感謝羅先生願意接下經營的火炬,感謝無數讀友的製書和校書豐富著這片天地。願好讀長久。

2022/12/29 来自大陆的一只鱼
今日摸鱼,无聊到想用公司电脑看书,受到豆瓣指引发现了好读,这真是一个神奇又伟大的网站。再次感谢好读和好读的建设者们。

2022/12/28 Mentaikouni
購入電子書閱讀器後想在網上多找些資訊,咕狗帶我來這邊發現了很多我小時候喜歡看的書!最愛的福爾摩斯探案全集馬上下載,讓我重溫兒時閱讀的樂趣,真是感謝好讀!五星推爆!!!!!

2022/12/24 chu
21年初发现好读这个宝藏电子书网站,如今正处22年尾我惊喜地发现好读继续更新了!很感谢好读让我读到许多各类书籍,也很开心我可以在好读的陪伴下读着书迎来2023年!新的一年希望好读、站长、各位书友和我越来越好!新年快乐!

2022/12/15 Lydia
今天抱著懷念的心情點了一直在書籤裡的《好讀》,網站連接的有點久,一度以為是不是真的要向好讀道別了...沒想到迎來的是全新的《好讀2》,真的是太激動了!謝謝好讀的回來...我永遠也忘不了那時候中文電子書還是很難取得的時候,我從好讀上看了多少的書!

2022/12/12 Andy
昨天無意在google上搜索繁體直排書,看到有人推薦好讀。訪問後驚為天人。沒想到在紛紛擾擾的現世中,還有這樣的網站。非常感謝。雖然我是第一次訪問,但是已經深深的愛上這裡。昨晚下載了很多心儀的書籍,很多已經讀過,但是一直都在苦苦搜索優質的繁體直排。支持網站繼續辦下去,希望更多的人支持。

2022/12/12 Winnie
謝謝周先生能創立好讀這個網站,也謝謝編輯和站長在周先生逝世後,繼續維持網站的經營。人生能有多幸運能在如此海量資訊的網路上遇見好讀!

2022/12/10 Yu Poon Nung
好讀已經五年未有更新,今日得見好讀重新啟航,真令人喜出望外。希望有更多讀者喜愛好讀,支持好讀。

>> 更多