PALMisLIFE 討論區

標題: [分享] epub中文電子書設定 (B&N nook; SONY PSR...) [列印本頁]

作者: ychao    時間: 2010-8-2 00:01
標題: [分享] epub中文電子書設定 (B&N nook; SONY PSR...)
本文最後由 ychao 於 2010-8-5 18:02 編輯

(草稿修改中)
話說小酒蟲兄分享了一篇nook中文電子書閱讀的勸敗文。小弟剛好前些時候也入手了一台,這裡就跟大家分享一下設定的方法。

B&N nook的作業系統跟其他競爭對手的電子書一樣,也是採用Linux的系統。不過不同的一點,B&N nook是採用的是不是自行修改的Linux,目前智慧型手機相當熱門的Google Android系統。因為其開放的特性,在root方法公開之後,已經有許多愛好者自行開發的軟體出現了。詳細可以參考 nookDev wiki http://nookdevs.com/Main_Page

不過這篇的重點,是在不需要root的情況下,讓nook也可以正常顯示epub電子書的中文。

其實因為Android原本就已經是採用unicode多國語系的系統,同時系統也已經內建有一套 Google Droid 字型涵蓋了大部分的中日韓字集。所以其實不論是選單,書籍資料,還是內建的瀏覽器都可以正常的顯示中文。可是內建電子書Reader的預設字型,卻只有英文的部份。所以我們要做的,就是在epub電子書檔中強制指定有支援中文的字型。

簡單說明一下epub格式,其實就是以zip壓縮的多個xml檔與圖形檔,同時在有支援的閱讀器還可以內嵌ttf字型。不過既然nook已經內建好字型了,我們只需要修改css檔來改用Droid字型。 http://nookdevs.com/Font_Changes

  1. @font-face {
  2. font-family: "DroidFont", serif, sans-serif, sans, mono, monospace;
  3. font-weight: normal;
  4. font-style: normal;
  5. src: url(res:///system/fonts/DroidSansFallback.ttf);
  6. }
  7. @font-face {
  8. font-family: "DroidFont", serif, sans-serif, sans, mono, monospace;
  9. font-weight: bold;
  10. font-style: normal;
  11. src: url(res:///system/fonts/DroidSansFallback.ttf);
  12. }
  13. @font-face {
  14. font-family: "DroidFont", serif, sans-serif, sans, mono, monospace;
  15. font-weight: normal;
  16. font-style: italic;
  17. src: url(res:///system/fonts/DroidSansFallback.ttf);
  18. }
  19. @font-face {
  20. font-family: "DroidFont", serif, sans-serif, sans, mono, monospace;
  21. font-weight: bold;
  22. font-style: italic;
  23. src: url(res:///system/fonts/DroidSansFallback.ttf);
  24. }
  25. body {
  26.    margin-left: 5pt;
  27.    margin-right: 5pt;
  28.    font-family: 'DroidFont', serif;
  29.    line-height: 1.2;
  30. }
複製代碼
其實xml衍生自html,所以如果是熟悉網頁編輯的網友,應該很容易就知道上面的語法。像我們一般使用者來說,只要在轉檔的時候,把上面那一段內容,加到附加css的部份就可以了。這些可以用一些電子書轉檔或編輯工具,如 calibre 或是 sigil 都可以無痛修改。當然,您要直接把epub給unzip解開,用文字編輯器修也是可以的。

(加入小酒蟲兄分享的建議設定)
作者: ychao    時間: 2010-8-2 00:28
本文最後由 ychao 於 2010-8-5 18:35 編輯

由於內建的Google Droid字型,有一大部份都是採用對岸的寫法,最明顯的就是口天吳,還有左右相反的骨字旁,還有出頭的。詳細的差異可以參考LGJ的blog:http://blog.bs2.to/post/EdwardLee/11884
解決的方法一則是修改替換掉系統字型(需要root),或是改指到其他的目錄來使用非系統字型。所以上面res的部份,原先是指到nook系統中的字型目錄下,在沒有root的情況下我們可以用內建SD卡的空間。我們在nook的USB隨身碟模式下,新建一個叫fonts的子目錄,然後放進我們想用的字型OOOXXX。那css檔的寫法就改成這樣:

  1.         src: url(res:///system/media/sdcard/fonts/OOOXXX.ttf);
複製代碼
這裡 /system/media/sdcard 就是nook內建SD卡的路徑。經過小弟試驗的結果,其實字型名稱font family並不重要,重點是指到對的路徑上,同時ttc格式的字型檔案似乎是不支援的。(單純改檔名無效)

如果拿到epub檔是,已經有修改過給其他電子書指定字型的話,那只要搜尋 res: 的字串,把字型路徑改成nook系統的就可以了。

建議使用Sigi,打開epub檔l可以一次搜尋所有的字串進行代換。

這裡放幾張不同字型效果的抓圖:

Google Droid Font


cwTeX 楷書


cwTeX  仿宋




(PiL編輯遇到問題,不曉得是不是太長,還是其他的原因,只好分成兩篇了。)
作者: 小酒蟲    時間: 2010-8-2 02:59
可以參考我之前提到的:「Hi! PDA:nook txt lrf 轉不內嵌字體 epub 方法」,這樣就會在每次轉檔時自動處理了。
作者: 小酒蟲    時間: 2010-8-4 04:02
查到一段更新資料
查了一下 EPUB 文件中的 css 文件,除了 serif 和 sans-serif 之外,還用到了 sans 和 monospace 等字體。因此把樓主提供的代碼中的 4 行

font-family: "DroidFont", serif, sans-serif;

均替換為

font-family: "DroidFont", serif, sans, sans-serif, monospace;

重新進行轉換之後問題就解決了。

作者: ychao    時間: 2010-8-4 04:22
本文最後由 ychao 於 2010-8-6 06:53 編輯

感謝小酒蟲兄的分享,畢竟產生epub檔的編輯器有很多。css中宣告使用的字型名稱不統一的話,就只好全列出來比較保險。

另外強調一點:

已經有修改過給其他電子書(ex. SONY PRS)指定字型的話,那只要搜尋 res: 的字串,把字型路徑改成nook系統的就可以了。


最上面的主題文章已經動不了了,每次編輯完送出都發生sql error。可以的話麻煩管理員或站長修一下。 (已解決)
作者: 小酒蟲    時間: 2010-8-6 15:45
其實 nook 破解後就可以丟新字型檔進去替換原有的 DroidSansFallback.ttf,只不過 nook 對我而言是休閒看書的東西,就不想花時間在「改機」或「強化」了。
作者: ychao    時間: 2010-8-10 01:36
其實 nook 破解後就可以丟新字型檔進去替換原有的 DroidSansFallback.ttf,只不過 nook 對我而言是休閒看書 ...
小酒蟲 發表於 2010-8-6 15:45

當然青菜蘿蔔各有所好,這篇只是留給想惡搞hack的人參考用,覆蓋DroidSansFallBack.ttf一次只能用一種字,放新的字型進去就可以更有彈性。畢竟對我來說,目前還沒有找到單一字型是我覺得可以完美顯示所有語系的。
作者: 小酒蟲    時間: 2010-8-10 01:57
本文最後由 小酒蟲 於 2010-8-9 12:55 編輯

大部份中文字型檔在刻字時不會去考慮非中文的問題,因為大部份人多半都只會看普通的中、英文文件,但這時就更能突顯 nook 能自由指定並安裝各式字型的優勢了。
作者: Davidman    時間: 2010-8-20 14:02
希望B&N不要因為在iPhone & iPad有開發軟體之後,就忘了繼續開發新款的NOOK...
作者: 小酒蟲    時間: 2010-8-20 17:14
前提是它沒倒...
作者: Davidman    時間: 2010-8-23 15:01
以內容業者來說,載具只是平台的一種,重點是內容授權可以受到保障而且賺到錢,所以B&N會出iOS閱讀軟體就不會意外了...
作者: 小酒蟲    時間: 2010-8-23 17:11
所以只想以白牌機削價搶市場根本不可能。




歡迎光臨 PALMisLIFE 討論區 (http://pil.tw/) Powered by Discuz! X2.5