2018年11月22日 星期四

Mint17不正常關機的處理方式

  前一陣子由於開機時間過長(每次都只用待命[暫停]),最後就當機了,只好長按電源關機。再開機時,不知為什麼,Mint17就無法正常進入了(無法開啟網路連線,fat32硬碟的區塊不正常吧!);必需先到另一個Ubuntu系統用一陣子,再回到Mint17才能正常進入。

  昨天突然想到了解決的方法了,測試結果,OK:

  重新開機時,進入Recovery模式,讓它用dpkg整理一遍(若卡住一段時間,就按電源一下,會繼續整理),再重新開機,結果就正常囉!

2018年10月19日 星期五

安全返家的方法--Line及GPS定位的使用

  這兩天在網路上亂翻,發現大陸有女子因深夜搭計程車(打車)返家被殺害,於是想到發個文,告訴大家注意安全的方法。
  
  現時最方便、最好用的方法就是利用手機,加上:
(一)Line:方法是
  1. 將一堆家人、親朋、好友等加入同一個群組(現在一般都有了,還沒有一群人在同一群組的人有空趕快加)。
  2. 當遇到下列情況時,打開手機 + Line + 群組,並按下Line拍照功能:
    (1)叫(或招)計程車來時,先對著車牌(前面或後面)拍照傳給群組中;
    (2)打開副駕駛座的車門,對著司機微笑說:拍個照作留念,然後傳到群組;
    (3)若有共乘的人,當然也給他拍個照留念,傳給群組
    【若做了以上步驟,我想司機即使有不良企圖,也會多加考慮吧!還沒犯案就留下線索了。】
  3. 若發現計程車所走的路不對,要對路旁比較突出的地標拍照傳給群組;當然不要慌張,即時打110報案。
  4. 若能加上以下第(二)項就更好了---當然一定要加的啦!
(二)Google地圖定位:方法是(參考{手機定位保命要訣})(Android裝置的位置資訊說明)
  1. 手機設定啟用【位置】---通常當你開啟Google地圖時,若你關閉這項功能,就會詢問你要不要打開[平時耗電不多,除非有必要,不要關了它]【以下每種機型方式不同,若不懂,則請人家幫忙設定,以後就不要去停用它:進入「設定」選項,開啟「位置與安全性」中的「使用無線網路」及「使用 GPS 衛星定位」】
  2. 開啟Google地圖,點一下左上方{搜尋}字樣左側那三條線(選單符號),選【位置資訊分享】,繼續依步驟設定即可。[趁有空自己練習一下並測試看看,以免要用時不會用]
  3. 這個功能若正常,則你的親友可以隨時追踪你的位置,【承(一)】那就不管車子開到哪裡,你人所在的位置,都有人知道了。當然,若你發出求救訊號(SOS)給群組,警察可以依此找到你。(即使你關閉螢幕,它也會在背景中運作)
  4. 這個功能不只是搭計程車用啊!只要你外出遊玩、探險、騎單車到處逛、到比較少人到的地方、比較可能發生危險的地方、露營,就必須開啟此功能,以免發生意外,有個三長兩短,大家可以找到你、救你。(你可以找一本書叫《127小時》來看看[也有電影版哩],就知道為什麼它可以救你一命了)
  註:若你想(或喜歡)到處遊逛、登山,最好買顆行動電源(別忘了,出門前充飽電☺),以免手機沒電了,要照相、開GPS也沒用。

2018年10月7日 星期日

Ubuntu中轉換及閱讀各種電子書格式【Calibre】及繁簡轉

  如果你的電子書閱讀器用的是常用的閱讀格式,如epub、mobi、azw3、pdf、txt等,那麼你只要擁有其中的任一種格式,就可在各種格式中相互轉換,也可以作簡體字轉正體字後來閱讀。
 
★一、使用Calibre 排版方式不變,只是將簡體書轉為正體書{2018/10/18:用下方的方法更新到最新版後,用簡、正體轉換的外掛,可以用選項順便轉為直排了};可以在不同的電子書間轉換格式】
  1.到【軟體管理員】安裝Calibre【註:為跨平台軟體】
  2.直接開啟電子書,再點選書籍進行轉換。
  3.轉換的方法請參考 【使用 Calibre 一次完成簡體書到正體書之轉換】或【蜂的教學網-使用Calibre完成簡體到正體書之轉換】網頁。

 ★【簡、正體轉換的外掛只能用於EPUB及AZW兩類檔案(但不能互轉),若是其他類檔案,須用以下方法自己先轉為EPUB檔,要直排再用外掛轉一次。】

 ★★2018/11/01補:安裝了Calibre最新版後,再安裝(簡、正體轉換的外掛)後,不用開啟Calibre,直接在EPUB及AZW兩類檔案上按右鍵→open with→E-book Editor,再執行外掛即可。(但不能互轉)

  ★2018/10/18補:由網路上找到更新(或安裝)的方法,點Linux進去,選取下一行
$
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin 
複製,貼到終端機,執行後就更新到最新版了。
   ★在最新版中可找到電子書簡、正體轉換的外掛(Traditional<->Simplified Chinese Converter)
     ,安裝後參考上方兩個網頁的方法:加入書籍→點選書籍→編輯書籍(紫色圖示)→點選上方功能表
     中的  Plugins ,可以看到簡轉正的外掛,選取後,參考上方3.的網頁的設定,最後按確定,馬上就
     可以轉好了,再按儲存圖示,就完成轉換了,不用下方的編碼轉換(當然海峽兩岸所用的名詞不同,
    好像是不會幫忙轉換,所以轉換時比以下的方法快)。

#################
 ※簡體轉正體編碼下載(SC-TC01.csr) 【修改自使用 Calibre 一次完成簡體書到正體書之轉換網頁】
   ★2018/10/18補:利用網路上簡體字、正體字對照表,我自己另做了一份編碼(ISC2TCall.csr),有空會慢慢補正(有些字用的是異體字),又海峽兩岸所用的名詞有些不同。

♠使用自已動手的方法,無法直接轉為直排,必需在轉好以後用【E-book Editor】修改,比較麻煩,好處是有些名詞會較正確。方法如下:
★將副檔名改為zip,解壓縮後:
1.首先打開css檔案(可能在Styles資料夾內,也許不止一個),找html的段落,

html {
  aaa: bbb;
  ccc: ddd;
  ...
}
在其中加上:

writing-mode: vertical-rl;
-webkit-writing-mode: vertical-rl;
-epub-writing-mode: vertical-rl;

※如果都沒有html的段落的話,就直接插入

html {
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -epub-writing-mode: vertical-rl;
}

2.第二個要改的地方是content.opf檔案。在其中找到<spine標記,加入 page-progression-direction="rtl"。改好後的樣子長得像

<spine aaa="bbb" ccc="ddd" page-progression-direction="rtl">
註:rtl表由右向左,ltr表由左向右
{參考(打不溜滴的世界)}
##############################

 ※若轉完後目錄也要變為正體,則在轉好後,快按2下開啟下方的 toc.ncx文件,將其全選→剪下→貼到MadEdit或其他文字軟體轉為正體字→貼回原處→儲存即可。
  
★二、若要電子書簡體轉正體直排EPUB,也可以進入天火藏書排版系統,依網頁上操作即可在不同格式間轉換,依個人經驗,轉為直式EPUB較好。【若有圖形或【註】的小圖,則轉為直式PDF會產生混亂,故不建議轉為直式PDF檔

★閱讀直排書:
  (1)若用Calibre 的 E-Book Viewer來看,會排列不正確(字未左轉90度)
  (2)用FBReader來讀就正確了(但是是橫排)
  (3)在火狐瀏覽器,安裝 QiuReader 附加件,可正常閱讀,但不完美?
  (4)若傳到平板或手機中用【Reasily】app【靜讀天下】app閱讀就是正確的直排了。
 
★三、使用 ebook-conver 這個指令【它是Calibre附屬的命令,用終端機指令操作,最簡易】
  用 ebook-conver 這個指令來轉換,例:
1.將epub轉txt:$ ebook-convert aa.epub output.txt
2.將mobi轉txt:$ ebook-convert aa.mobi output.txt
3.將epub轉pdf:$ ebook-convert aa.epub output.pdf
【若簡體書,轉為txt後可用MadEdit轉為正體書,但圖不見了;若轉為pdf則只能閱讀,不能轉為正體,但圖位正確】
  
★四、另外,epub是網頁壓縮檔,若將副檔名改為zip,解壓縮後即是一個個的網頁,可用瀏覽器開啟,更改後再儲存。【適用於將超大電子書分開成幾冊後再壓縮為zip→改副檔名為epub→轉檔為幾本較小的書,便利開啟閱讀】

★五、使用以下網頁( Online-Convert.com )也可以轉換各種電子書格式,使用方法見【線上電子書轉檔工具(支援 EPUB、MOBI、PDF 等)】(英文網頁,當然不能轉字體囉,和用指令轉換一樣)
  
  你也可以參考以下網頁:
1.calibre:跨平台的多功能電子書軟體
2. [分享] calibre 使用心得〔閱讀新聞〕
3. 在Ubuntu中閱讀epub電子書
4. 現在用 Google Docs 也能排版轉檔 EPUB 電子書了!
5.在 Ubuntu Linux 中安裝與使用 Cool Reader 3 電子書閱讀軟體 

祝您 閱讀愉快!

2018年10月4日 星期四

安裝了Linux Mint 17.2、Linux Mint 18.1和Xubuntu16.4

  之前用Ubuntu12.04LTS的Mint版(Linux Mint 13-Xfce),感覺上一直都很順利,都用了好幾年了,系統也已經不支援更新了。直到最近比較有空,就想說安裝新版來試試。
 
  陸續安裝了幾個版本試用(這幾天都熬夜到清晨),Linux Mint 17.2-Xfce、Linux Mint 18.2-Xfce、Linux Mint 18.1-Xfce、Lubuntu 16.04、Xubuntu 16.04等,也試一下64位元版(老電腦當然不行囉),同時測試安裝Lubuntu 16.04在USB上。原來決定留使用Linux Mint 17.2(源自Ubuntu 14.04LTS)和Xubuntu16.4LTS【改為Linux Mint 18.1(源自Ubuntu 16.04LTS)】兩個系統,連之前已有的WindowsXP(預留著可能有不時之需,雖然一年開不到一、兩次),就有三個可用的系統了。
 
  有關這次重新安裝系統有心得:
1. Lubuntu雖然是輕量版,所需資源較少,但對硬體的支援好像也相對減少。理論上開機、操作上應該較快。實際上,即使安裝在有九年前的老電腦上(我現在在使用的),開機、開啟套件時,都需要相當長的時間(開機竟要長達4分鐘^^|||),安裝在USB上就更不用說了,最後當然砍掉裝其他系統。
  
2. 先安裝了Linux Mint 17.2-Xfce,跑起來蠻順的,想說再安裝Linux Mint 18.2-Xfce(Ubuntu 16.04LTS),可以有更長的支援期限,可能是老電腦的關係,後者用起來總是有點卡卡的,勉強可用(MadEdit開新檔會關閉;後來在Linux Mint 18.1-Xfce裝新版的就可用了),於是先換成Lubuntu 16.04試試,再換成Xubuntu16.4LTS[bug,睡眠(暫停)後喚換醒,網路就連不上],再換成Linux Mint 18.1-Xfce才定下來。
  
3. 原來是想用Xubuntu16.4LTS的,但裝好後,只要睡眠(暫停)後喚醒,網路就連不上,所以雖然花了不少時間安裝設定好了,查不到網路解決的方法,所以只好放棄,重新安裝Linux Mint 18.1-Xfce,以下修改為Linux Mint 18.1-Xfce安裝後設定的敘述:
Linux Mint 18.1-Xfce暫停再喚醒,沒有不能連上網路的情形。

(一)首先當然是更新sudo apt-get update、sudo apt-get upgrade(發覺每次安裝完後,只要以上面的方法全部自動更新後,系統就開始明顯變慢)。可以直接開啟【系統】/更新管理員,變更、更新來源後,選擇標示1、2、3(安全性)的更新就好,重開機使它生效。

※註為了copy硬碟其他分割區的資料,每次開機進入Linux Mint時,先到【附屬應用】/磁碟(可用右鍵加到桌面)中掛載各分割區,在需要用到時,可節省好多時間。
  

(二)設定面板在下方面板按右鍵→[面板]/面板偏好設定,[項目]加入〈工作區切換器〉,然後到【設定值】/[工作區]增加個數;加入〈系統負載監視〉、〈螢幕快照〉、〈動作按鈕〉。調整到適當位置。


(三)安裝hime輸入法+自作的倉頡碼,以便輸入中文:
(1)到synaptic安裝hime(不要用指令安裝,否則會少裝套件,不能使用),所有套件都安裝,否則不能用。
(2)copy自作的倉頡碼cj5.gtab
 (a) 打開終端機(Ctrl + Alt + T),用以下命令複製到 /usr/share/hime/table中$  sudo cp cj5.gtab /usr/share/hime/table
 (3)設定語言(在設定值/語語)的輸入法為hime後,重新啟用hime:打開終端機,複製/貼上 pkill hime(最保險的方法是登出再登入)

(四)設定火狐瀏覽器
 (1)先登入gmail,啟用gmail及網路硬碟。
 (2)登入帳號設定同步。
 (3)新的火狐的[收藏庫]中有〈擷圖〉功能,好用,不必再裝擷圖套件了。
 (3)安裝護眼、擋廣告的附加元件。(不要裝太多附加元件,火狐會變慢,而且資源吃的比較重。)

(五)安裝Dropbox
 (1) 由網頁登入Dropbox→ 點用戶圖形/安裝。
 (2)【透過指令以[斷頭]方式安裝:開啟終端機貼上{
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -}
和{ ~/.dropbox-dist/dropboxd}即可依指示進行。
 

(六)搬尋下載安裝新版XnViewMadEdit,舊版已不適用。至於pdf檢視器Foxit Reader可用文件檢視器即可,不用安裝了。

(七)到synaptic安裝好用的Orage行事曆試用一下,還不錯用,也可以匯出資料,然後到其他系統(Linux Mint 17.2-Xfce)中再安裝一個,匯入資料,方便提醒該辦的事。
 (1)到【系統】/[軟體管理員]搜尋安裝,設定行事曆出現的桌面,加入行事等。
 (2)到【辦公],在[Orage行事曆]按右鍵,新增到面板上,再調位置。(在日期上快按二下加入事件)
 (3)到【設定值】,在[Orage偏好設定]→右鍵→新增到桌面。若登出再登入時沒出現在面板中,則按一下此偏好設定即可。(在行事曆視窗,調整在視突顯示日數;將行事曆下緣向下拉,則可見事件。)
 (4)可設定出現在每一桌面上,若嫌礙眼,點一下關閉即消失,要看再點一下面板上的圖示。


(八)在Linux Mint 18.1-Xfce中和Linux Mint 17.2-Xfce一樣,右鍵即可以root開啟資料夾,不必在終端機使用sudo su -/ nautilus以root開啟。


(九)在【設定值】中,有〔電源管理員〕可設定按下電源鍵、睡眠(暫停)鍵的動作。
   

安裝字型:(因已有AR PL和Google的noto字型,可免安裝全字庫字型了)


※※※※※※※※※※※※※※※※※※※※※※※※
※買了兩支USB2.0(16G)來測試安裝,並分別用WinXP的製作Live USB軟體製作可開機USB[Unetbootin等]和使用Linux Mint的USB映像檔寫入程式製作開機碟套件(Unetbootin在Linux也能用)後者要快許多(若已下載iso檔,不到一、兩分鐘),只是不能儲存改變,可用來試用、安裝、救援。當然,USB2.0安裝來作為系統也太慢了。
 
剛接到Dropbox郵件,說從10月15日起,不再支援Ubuntu 13.10 及以下版本,那麼剛好,才裝了較新的系統哩,真是即時啊!

2018年8月28日 星期二

胡適譯〈一件美術品〉

一件美術品--俄國.契訶夫著,胡適譯



  Anton Chekov 生於一八六〇年,死於一九〇四年。他是一個窮人家的兒子,曾學醫學,但不曾掛牌行醫。他的天才極高,有人說他「渾身都是一個美術家。」他的著作很多,最擅長的是戲劇和短篇小說。他的戲劇,有「鴻鵠之歌」,「求婚」,「伊凡諾夫」,「海鷗」,「三姊妹」,「櫻桃園」等等。他所做的短篇小說有三百多篇,人稱他做「俄羅斯的莫泊三【註:莫泊桑】」。這一篇是從英文重譯的。
※※※
  亞歷山大(名)史茂洛夫(姓)是他母親的「獨子」。這一天,他手裏拿著一件用報紙包著的東西,他臉上笑嘻嘻的,走進葛雷柯醫生的待診室。葛醫生喊道:「好孩子,你好嗎?有什麽好事說給我聽?」

  那少年人有許多話一時說不出來,答道:「先生,我母親叫我致意問候你。你知道她所生只有我一個孩子。你救活了我的性命,你的醫道真──我們真不知道怎樣感謝你!」

  葛醫生高興得很,說道:「好孩子,你不要這樣說。那是我應該做的事。做醫生的都應該這樣做」。

  那少年道:「我母親只生了我一個兒子。我們是窮苦人家,沒有什麽東西可以重重的報答你的恩德。我們心裏始終過意不去。我的母親,──先生,他所生只我一子,──我的母親有一件最心愛的小銅像,請你賞收了,總算我們一點小意思。這是一件古銅的雕刻,是一件美術品。」

  葛醫生正要開口說:「我的好孩子……」

  那少年一面打開紙包,一面說:「先生,你千萬不要推辭。你要不肯收,我母親和我便都不快活了。這是一件小寶貝,──一件難得的古董,──我的父親是一個收賣古董的,他死後我們母子接著做這生意。這件古董是我們留在家裏做我父親的一種紀念品。」

  那一重重的紙包已解開了,那少年恭恭敬敬把他的禮物擺在桌上,原來是一支雕刻很精緻的古銅插燭台。雕刻的是兩個裸體的美人,那種嬌癡斌媚的神氣,別說我不敢描寫,簡直是描寫不出。那兩個美人笑容裏很帶著一點蕩意,好像她們若沒有掮住燭台的職務,真要跳下地來大大的玩一回了!

  葛醫生把這禮物細細看了一會,搔著自己頭髮,微微咳嗽,說道:「一件好東西,這是不用說的。但是,你知道,──我怎樣說好呢?這是不很方便的。裸體的女人!──這是不合禮法的。」

  那少年問道:「爲──爲什麽?」

  葛醫生道:「老實說罷,你想我怎麽好把這種東西擺在我的桌上呢?這可不把我一家都引壞了嗎?」那少年很不高興,說道:「先生,這真是我想不到的。你的美術思想也算怪了!你看,是一件美術品!這多好看!工夫何等精緻!對著它真可敎人心裏快活,真可敎人掉下眼淚來。你看這多活動!你看這空氣!──這神氣!」

  葛醫生打斷他的話,說道:「我很懂得這個,我的孩子。但是你知道我是有家眷的人,家裏有小孩子。還有一個丈母。這裏常有女太太們來看病。」

  那少年道:「你要用平常人的眼光看上去,那自然不同了。但是我請你不要學那平常的人。你要是不肯收,我母親和我心裏都很難受。我母親只有我一個兒子。你救了我的命。我們求你賞收了這件我們最心愛的東西。可惜一對燭台,只有這一支了,還有那一支竟找不到。」葛醫生沒有法子,只好說道:「多謝你,好孩子,請你替我多謝你的母視。我同你沒有道理可辯。不過你也應該想想我家裏的小孩子和女太太們。但是我同你辯論是沒有用的。」

  那少年見他有意肯收了,高興得很,說道:「先生,是的,你同我辯論是沒有用的。我替你擺在這裏,和你這個東洋瓷瓶平排。可惜還有那一支找不到了。可惜!」

  送禮的少年走了後,葛醫生對著這件不歡迎的禮物,手抓頭髮,心裏盤算道:「這件東西可真不壞,這是不消說得的。把它丟出去,未免可惜了。但是我家裏是留不得的。這事倒有點難辦。還是送給誰呢?」

  他想了一會,想著了烏柯夫大律師。這位大律師是葛醫生的老同學,現在聲名一天大似一天,近來又替葛醫生贏了一件小小的訴訟案。

  葛醫生心裏想:「得了!他看老朋友的面上,不要我的律師費,我正該送他一件禮物。況且他又是一個沒有家眷的人,很愛這些玩意兒。 」

  葛醫生主意打定,把那古銅燭台包好,上了馬車,到烏柯夫大律師家裏來。剛巧他的朋友在家,葛醫生高興得很,說道:「你瞧,老朋友。上回承你的情,不肯收我的費,我今天特地帶了一件小小的禮物來謝你,你務必賞收了。你瞧,這東西多好!」

  那位大律師瞧見燭台,高興極了,喊道:「再好也沒有了!真好工夫!這樣精緻!你從什麼地方找著這件小寶貝?」他說到這裏,忽然回過頭來對他朋友說道:「但是,你知道我這裏不能擺這樣一件東西。我不能收下。」

  葛醫生睜著眼睛問道:「爲什麽?」

  大律師說:「你知道我母親常來這裏,還有許多請我辦案的人來。我留這東西,還有臉見我的佣人嗎?還是請你帶了回去。」

  葛醫生失望得很,大聲喊道:「決不。你千萬不要推辭。你看這件東西的雕刻工夫!你瞧這神氣!我不許你推辭。你要不肯收,就是瞧不起我了。」

  葛醫生說完了話,忙著跑出大門。他坐在馬車裏,搓著手,心裏很高興,──總算完了一件心事。

  烏柯夫大律師嘴裏咕嚕道:「怎麽好?」他細細看這禮物,心裏盤算如何辦法。

  「這東西真好!但是我可不能收下,丟了它又太可惜,還是做個人情,送給別人罷。但是送給誰呢?……有了!一點也不錯,我拿它去送給那位喜劇名家夏虛京。他是一個古董收藏家。今天晚上又是他五十歲的生日。」

  這天晚上,那支古銅燭台,包得好好的,由一個送信的送到夏虛京的上裝室裏。這一晚,他這房間裏來了一大群男人,都是來看這件禮物的。大家喝采叫好,一房間裏都是聲浪,就像一群馬叫。戲園的女戲子聽見了,也來敲門。夏虛京隔著門叫道:「我的好姑娘,妳不能進來,我的衣服還沒有穿好。」

  散戲的時候,夏虛京聳著兩隻肩膊說道:「這件寶貝東西,我怎麽辦呢?我要帶回家去,我的女房東是不答應的。還有女戲子常常來看我。這又不是一張照片,可以藏在抽屜裏。」

  他背後替他理髮的人聽他自言自語,也替他打算,忍不住問道:「你爲什麽不賣了它呢?我家隔壁的一個老婦人專做古董的生意,他一定肯出很好的價錢問你買這個。這個老婦人姓史茂洛夫,這城裏人都認得她。」

  夏虛京就依了他的主意。
※※※
  過了兩天,葛醫生正在他的書房裏,嘴裏啣著烟斗,心裏想著一件醫學上的問題,忽然房門開了,前天送禮物的少年,亞歷山大.史茂洛夫走了進來。

  那少年滿臉都是喜色,高興得很,得意得很,手裏拿著一件東西;用報紙包裹著。他忙著說道:「先生,你想我怎樣快活?運氣真好!巧得很,我母親居然買到你那對燭台的另一支了。你這一對現在全了。母親高興得了不得。她所生只有我一個兒子,你救了我的命。」

  他快活得手都顫了,滿心的感激,他把包裹解開,把那支古銅燭台擺在葛醫生的面前。

  葛醫生張開口,要想說句話,但是說不出,──他沒有說什麽。
※※※
註:契訶夫著,胡適先生譯〈一件美術品〉,內容有趣,分享給愛讀書的您。 

胡適譯〈柏林之圍〉

〈柏林之圍〉--法國.都德著,胡適譯


  「柏林之圍」者,巴黎之圍也。一八七〇年至一八七一年,普法之戰。法人屢戰皆敗。西丹【註:色當】之役,法軍全軍解甲。巴黎聞報,遂宣告民主,誓以死守。普軍圍巴黎凡閱四月始陷。此篇寫圍城中事,而處處追敍拿破崙大帝盛時威烈。盛衰對照,以慰新敗之法人,而重勵其愛國之心。其辭哀惋,令人不忍卒讀。

  此篇與都德之〈最後一課〉,皆敍普法之戰。二篇皆不朽之作,法童無不習之。重譯外國文字亦不知凡幾。余二年前曾譯〈最後一課〉。今德法又開戰矣。勝負之數,尚未可逆。巴黎之圍歟?

  巴黎之圍歟?吾譯此篇,有以也夫。

    民國三年八月二十五日記於美洲旅次。
※※※
  余等與衞醫士過凱旋門大街,徘徊於鎗彈所穿之頹垣破壁間,憑弔巴黎被圍時之往跡。余等行近拿破崙帝凱旋門,衞醫士忽不進,而指凱旋門附近諸屋之一,謂余等曰,「君等見彼嚴扃之四窗乎?去年八月初旬,巴黎消息已惡矣。當此危急之時,余忽被招至彼屋,診視一神經顛狂之症。病者朱屋大佐,嘗爲拿破崙部下軍官,老矣,而餘勇未衰,愛國之心尤熱。當普法之戰之始,大佐自鄉間來僦【註:租賃。】居此屋,以屋有樓,可望見凱旋門也。君等知彼僦屋之意乎?傷哉此老!其意蓋欲俟法人大勝後,可憑闌下觀法軍凱旋之盛儀也。一日晨餐已,將起,忽得維生堡之敗耗【譯註:一八七〇年八月四日】,遂倒於座,若受椎擊。余往診視時,大佐手足僵直,幾疑已死。其人頎長,軀幹偉大,齒佳,白髮鬈然,八十歲矣,貌乃類六十以下。其孫女,好女子也,跪其側而泣,哀傷動人。此女之祖若父皆軍人,父隨麥馬洪大將軍【註:麥克馬洪】出征,今對茲僵臥之老人,遙念軍中老父,宜其哀也。余竭力慰藉之,然殊少希望。病者所患爲半邊風,八十老人當之,罕能免於死者。大佐一臥三日,不省人事,而雷舒賀墳之消息至矣。【譯註:八月六日,麥馬洪以三萬六千人,砲百三十尊,與普軍九萬六千人,砲三百四十尊戰,大敗。】君等皆知此消息之初至,人皆以爲我軍大捷,普軍死者二萬,普皇子爲俘。此大捷之來全國歡聲雷動。而此鼓舞之歡聲,乃能起此風──老人之沉疴。余第三日往視時,大佐目已能視,舌已能動,喃喃語曰:「大…捷!大…捷!」余亦和之曰:「誠大捷也」。因語以道路所傳此役死傷俘虜之數。大佐聞之,貌益揚,目益張。及予退出,遇其孫女於戶外,容色若死灰。余執其手,語之曰:「勿再哭。若祖父有起色矣」。女乃語予以雷舒賀墳之確耗,麥馬洪力竭退走,我軍大敗矣。余與女相對無語。女蓋念其父,余則但念其祖,若老人聞此敗耗,必死無疑。然則奈何?將聽其沉湎於此起死神丹之中耶?是誑之也。女含淚曰:「決矣。余非誑老人不可」。語已,收淚強笑,入侍其祖。余與女之紿【註:欺騙】老人也,初尙易易,以老人病中易欺也。及老人病日瘥,則吾二人之事日益不易。老人之望消息甚殷,我軍進兵之一舉一動,老人皆欲知之。故女日必坐牀頭,讀其假造之軍中新聞,手持普魯士地圖,筆畫我軍進取之道。巴遜大將軍趣柏林也,滑煞大將軍進巴維亞也,麥馬洪大將軍佔領巴羅的海上諸省也。女不曉軍事,每乞助於余。余亦未親疆場,但盡吾力告之。餘則老人親助之。老人嘗隨拿破崙皇帝數次征服德意志,故知其地理甚詳,余與女所假造,不如老人之精警合軍事方略也。老人每以小針指地圖,大呼云:「汝乃不知我軍所志何在耶?彼等已至此,將向此折而東矣。」其後余與女亦循老人所料告之,謂我軍果至某地,果向某地折而東矣,老人益大喜。

  佔地也,戰勝也,追奔逐北也,而老人望捷之心,終不可饜。余每日至老人所,輒聞新捷。余入門,未及開言,女每奔入室告余曰:「我軍取梅陽矣。」余亦和之曰:「然,余今晨已聞之」。有時女自戶外遙告余。老人則大笑曰:「我進取矣進取矣。七日之內可抵柏林矣!」

  余與女皆知普軍日迫,且近巴黎。余與女議,令老人去巴黎,顧終不敢發。蓋一出巴黎,則道上所見,皆足令老人生疑。且老人病體猶弱,一聞確耗,病或轉劇,故終留巴黎。

  巴黎被圍之第一日,余至老人所,道上但見深閉之門,城下微聞守禦之聲,余心酸楚不已。既至,老人顏色甚喜,謂余曰:「城已被圍矣!」余大駭,問曰:「大佐已知之耶?」女在側,急答曰:「然,此大好消息。柏林城已被圍矣。」女語時,手弄針線不輟,若無事然。嗟夫,老人又何從而生疑耶?老人病後重聽,不能聞城外砲聲,又不得見門外慘淡之【色】,巴黎老人臥處所可望見者僅有凱旋門之一角。而室中陳列,無非第一帝國【譯註:自一八〇四至一八一四拿帝盛時,是爲第一帝國。】之遺物,往烈之餘澤也。壁上則名將鬚眉,戰場風景,羅馬王襁褓之圖也。【譯註:拿帝幼子生時即封爲羅馬之王。】架上則奪歸之旗幟,表勳之金牌也,又有聖希列拿【註:聖赫勒拿】島【譯註:位於西非沿岸,拿帝囚幽死之島。】之崖石,玻盒盛之。又有美人之像,鬈髮盛服,衣黃色之裙,羊腿之袖,半尺之帶,令人想見拿帝朝之妝束焉。傷哉,此拿破崙大帝之大佐!凡此諸物,其足以欺此老人勝吾輩之妄語多矣。老人畢生居此往烈之天地之中,此往烈之天地,乃日使老人夢想柏林之捷矣。

  自圍城之日始,軍事進行日事簡易。柏林之陷,指顧間事耳!老人時或不適,則女必假爲其父軍中來書,就枕邊讀之。其時女父自西丹之敗,已爲普軍俘虜。【譯註:九月二日,法軍大敗,明日,舉軍解甲爲虜,降者九萬人,大將三十二人。】女明知其父遠羈敵國,又不得不強作歡欣之詞。書恆不長。然軍中之人,安能瑣瑣作長書?有時女心悽絕,不能復作書,則數十日不作一字。老人盼書心切,余等懼其疑慮,則塞上書又至矣。書中道軍行方略,本屬僞造,多不可解。然老人能曲爲之解。女誦書時,老人靜聽,時點首微笑,間插一二語,褒貶書中方略。有時老人答書,其言多可稱。老人揚聲口授,而女書之。略云:「吾兒勿忘,兒乃法蘭西國民。待勝國之民宜寬大,其人大可憐,勿過摧折之」書末諄諄訓以軍人道德,有時亦及政事。議和之前,法人宜作何舉動?老人於此,頗無定見,謂宜鄭重出之,但索兵費足矣,勿貪其土地;法人終不能令德意志變作法蘭西也。老人口授書時,聲亮而重,辭意又碻【註:同「確」。】厚懇摯,愛國之心,盎然言外,聞者安能無動?

  當是時,圍城方急。嗟夫,吾所言非圍柏林之城也。時巴黎方苦寒。【譯註:巴黎之圍始一八七〇年九月二十一日,至明年五月二十八日始陷。】普人日夜以砲攻城,城中疫癘大起,糧食復乏。余與女百計營謀,老人得無匱乏之慮。雖城破之日,老人猶有鮮肉及白麵包供餐。余與女久不得白麵包矣。老人坐床上談笑飲食,白巾圍領下。女坐其側,色如死灰,久不出門故也。女手助老人進食,食已,進杯,老人就女手中飲之。餐已,老人神往,則遙望窗外冬景,雪飛打窗,老人時時念及朔方寒天,則數數爲余等道莫斯科敗歸時【譯註:拿帝征俄,大敗而歸。】,軍中絕糧,但食冷餅馬肉耳。老人曰:「小女子,若安知馬肉之味耶?」

  嗟夫,老人誤矣。兩月以來,女安所得肉,但有馬肉耳。

  老人病日有起色,前此麻木之官能,今皆漸復。余等欺誑之計,日益不易。一日,老人忽聞梅鹿門外之砲聲,遽側耳聽之。余等不得已,紿以巴遜大將軍已破柏林。門外砲聲,乃巴黎「殘廢軍人院」所發,以慶此大捷也。又一日,老人令移病榻近窗下,老人外視,見街心國家衛隊出發,老人問曰:「此何兵也?」繼又自語曰:「何委靡乃爾!何委靡乃爾!」余等方幸老人不致深詰,惟私語此後益不可疏,忽然不幸余等防範終未能周密也。

  城破之夜,余至其家。女迎語余曰:「彼等明日整隊入城矣」。女語時,老人室門未掩。余事後思之,是夜老人容色異常,疑女語已爲所聞。然余等所言,乃指普軍,老人則以爲法軍凱旋也。老人夢魂所縈想者,乃欲見麥馬洪大將軍奏凱歸來,嚴軍入城,城中士女,擲花奏樂迎之,老人之子,騎馬隨大將軍之後,而老人戎服立窗上,遙對百戰之國徽而致敬禮焉。

  傷哉,朱屋大佐也。老人心中殆以爲余等欲阻之,不令與觀凱旋大典,故雖聞女語,佯爲未聞。明日,普軍整隊入城之時而彼樓上之窗忽悄然自闢,老人戎服介冑立窗上矣!亦不知何種願力,何種生氣,乃能使老人一旦離牀,又能不假人助而盛服戎裝若此!

  老人既出,見街心寂然,窗戶都深閉,巴黎之荒冷,乃如大疫之城。雖處處插旗,然非國旗也,乃白色之旗,十字麗焉。又無人出迎凱旋之軍,何也?老人方自怪詫,幾疑昨夜誤聽矣。

  嗟夫,老人未嘗誤聽也。凱旋門外,黑影簇簇成陣,迎朝日而來。冑上之纓見矣!耶拉之鼓聲作矣!【譯註:耶拉,德國地名。】凱旋門下,許伯「凱旋之樂」大奏。【譯註:許伯,德國大樂家,名聞世界。】與普魯士軍隊步伐之聲相和。

  凱旋門街深寂之中,忽聞大聲呼曰:「上馬!上馬!普魯士人至矣!」

  普軍先行之四人,聞聲仰視,乃見窗一魁偉老人,雙臂高舞,四肢顫動,頹然而仆。朱屋大佐此時真死矣。
※※※
註:今日,翻譯西方文章、小說都是用白話文,很難見到譯成文言文的,找到一篇胡適先生譯的文言文短篇小說,分享給愛讀書的您。

2018年8月27日 星期一

有閱讀習慣嗎?國家圖書館等有大量電子書可借喔!

  你若和我一樣,有讀書的習慣,以閱讀來消磨時間,而且也習慣用電腦或平板來看書,那麼可以帶身分證附近的圖書館註冊(可用悠遊卡等註冊,當借書證),除了可以在當地的各個圖書館借紙本書之外,也可用帳號、密碼(申請時會給)借全縣的電子書,蠻方便的。
 
  除了本縣的電子書外,有些縣市的圖書館網路上可註冊電子書;還有「國家圖書館」、「國立公共資訊圖書館」可註冊借閱電子書。
 
  以上各圖書館的電子書,除了可在桌機網頁上看、可在網頁上借閱,再到平板、手機app上看,方便又好用。
【app有國資館的iLib Reader、國家圖書館的NCL ReaderHDHyReadudn讀書吧iRead eBook臺灣雲端書庫等可用】

※經試借結果,同一所圖書館在不同的閱讀app中,所能借的書不一定相同(通常不同),所以可以在
 
  若你喜歡看書,又喜歡將電子書帶著走,就去註冊吧,上萬本書等著你來看。
 
  當然,「好讀網站」上的書,雖然已不再更新,但數千本的電子書還是可以下載到桌機、平板、手機上來看。不要忘了。
 
  暑期、假日如何消磨時間,打開手機、平板、電腦,看看電子書吧,省錢又可增長知識,吸收精神食糧,何樂不為!(當然,也要注意眼睛休息,別傷了眼力)

2018年8月25日 星期六

火狐(Firefox)瀏覽網頁時螢幕太亮(眼睛易疲勞)嗎?--解決辦法

  在瀏覽網頁時,由於桌上螢幕不能(或不易)調整到適當的亮度,以致當網頁畫面是白色時,就顯得太過刺眼,不僅眼睛容易疲勞,而且傷害視力。
 
  現在在附加元件中有一款套件(Dark View)可以讓你自己調整亮度,現在就到[工具]/[附加元件]/[擴充套件],搜尋[Dark View]安裝吧!

  安裝好以後, 點開(Dark View)的偏好設定,設定適合的亮度吧。
  
  記得每當瀏覽網頁時,覺得螢幕太亮或太暗時,就調整一下。(用鍵盤[Alt]+[,]變亮;[Alt]+[.]變暗;[Alt]+[x]開或關套件。)

2018年5月6日 星期日

用Libreoffice writer巨集方便整理文章

為了用LibreOffice writer整理OCR後的文章內容,到網路上(Ask LibreOffice 互助問答)詢問和搜尋,加上自己實作和推想,得到了整理文書的好用巨集,紀錄在這兒,讓有用到的人可以參考。

1.直接將「Hledat」內的字串,取代為「Nahradit」的字串: (來自Lio ooo社團
----------------
Sub Najdi_Nahrad()
    Dim oDoc,oText,oVC,oStart,oEnd,oFind,FandR
    oDoc = ThisComponent : oText = oDoc.Text
    oVC = oDoc.CurrentController.getViewCursor
        Hledat = Array("0","1", "2","3" ,"4", "5" ,"6" ,"7", "8","仿佛","却", "Search", "Value")
        Nahradit = Array("〇","一", "二", "三", "四", "五", "六", "七", "八","彷彿","卻", "hledat", "Hodnota")
        Pocet = 0
       While Pocet <= uBound(Hledat)
          oStart = oText.createTextCursorByRange(oVC.Start)
          If Not oVC.isCollapsed then oEnd = oText.createTextCursorByRange(oVC.End)
             FandR = oDoc.createReplaceDescriptor
             With FandR
                .SearchString = Hledat(Pocet)
                .ReplaceString = Nahradit(Pocet)
                .SearchWords = false
             End With
          If isEmpty(oEnd) then 'Do whole document.
               oDoc.replaceAll(FandR)
          Else
               Do
                   oFind = oDoc.FindNext(oStart.End,FandR)
                   If isNull(oFind) then Exit Do
                   If oText.compareRegionEnds(oFind,oEnd) < 0 then Exit Do
                   oFind.setString(FandR.ReplaceString)
                   oFind = oDoc.FindNext(oFind.End,FandR)
              Loop
          EndIf
       Pocet = Pocet + 1
        Wend     
End Sub
---------------
2.回到文章最前面,即〔按[Ctrl+Home〕
----------------
sub Ctrlhome1
rem -----------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem -----------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem -----------------------------------
dispatcher.executeDispatch(document, ".uno:GoToStartOfDoc", "", 0, Array())
end sub
----------------
3.找「args1(11).Value = "? "」字串
---------------
sub no01
rem -----------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem -----------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem -----------------------------------
dim args1(21) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SearchItem.StyleFamily"
args1(0).Value = 2
args1(1).Name = "SearchItem.CellType"
args1(1).Value = 0
args1(2).Name = "SearchItem.RowDirection"
args1(2).Value = true
args1(9).Name = "SearchItem.AlgorithmType"
args1(9).Value = 0
args1(10).Name = "SearchItem.SearchFlags"
args1(10).Value = 0
args1(11).Name = "SearchItem.SearchString"
args1(11).Value = "? "
args1(12).Name = "SearchItem.ReplaceString"
args1(12).Value = ""
args1(13).Name = "SearchItem.Locale"
args1(13).Value = 255
args1(14).Name = "SearchItem.ChangedChars"
args1(14).Value = 2
args1(15).Name = "SearchItem.DeletedChars"
args1(15).Value = 2
args1(16).Name = "SearchItem.InsertedChars"
args1(16).Value = 2
args1(17).Name = "SearchItem.TransliterateFlags"
args1(17).Value = 256
args1(18).Name = "SearchItem.Command"
args1(18).Value = 0
args1(19).Name = "SearchItem.SearchFormatted"
args1(19).Value = false
args1(20).Name = "SearchItem.AlgorithmType2"
args1(20).Value = 1
args1(21).Name = "Quiet"
args1(21).Value = true

dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
end sub
--------------
4.執行上一個動作(如3.),再新增段落
---------------
sub fixz0
rem -----------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem -----------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem -----------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Quiet"
args1(0).Value = true

dispatcher.executeDispatch(document, ".uno:RepeatSearch", "", 0, args1())

rem -----------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Count"
args2(0).Value = 1
args2(1).Name = "Select"
args2(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args2())

rem -----------------------------------
dispatcher.executeDispatch(document, ".uno:InsertPara", "", 0, Array())

rem -----------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Quiet"
args4(0).Value = true

dispatcher.executeDispatch(document, ".uno:RepeatSearch", "", 0, args4())

rem -----------------------------------
dim args5(1) as new com.sun.star.beans.PropertyValue
args5(0).Name = "Count"
args5(0).Value = 1
args5(1).Name = "Select"
args5(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args5())

rem -----------------------------------
dispatcher.executeDispatch(document, ".uno:InsertPara", "", 0, Array())
end sub
-------------------
5.刪除全文中的半型空白和全型空白
-------------------
sub bit20
rem -----------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem -----------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem -----------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Count"
args1(0).Value = 1
args1(1).Name = "Select"
args1(1).Value = true

dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args1())

rem -----------------------------------
dim args2(21) as new com.sun.star.beans.PropertyValue
args2(0).Name = "SearchItem.StyleFamily"
args2(0).Value = 2
args2(1).Name = "SearchItem.CellType"
args2(1).Value = 0
args2(2).Name = "SearchItem.RowDirection"
args2(2).Value = true
args2(9).Name = "SearchItem.AlgorithmType"
args2(9).Value = 0
args2(10).Name = "SearchItem.SearchFlags"
args2(10).Value = 65536
args2(11).Name = "SearchItem.SearchString"
args2(11).Value = " "
args2(12).Name = "SearchItem.ReplaceString"
args2(12).Value = ""
args2(13).Name = "SearchItem.Locale"
args2(13).Value = 255
args2(14).Name = "SearchItem.ChangedChars"
args2(14).Value = 2
args2(15).Name = "SearchItem.DeletedChars"
args2(15).Value = 2
args2(16).Name = "SearchItem.InsertedChars"
args2(16).Value = 2
args2(17).Name = "SearchItem.TransliterateFlags"
args2(17).Value = 1280
args2(18).Name = "SearchItem.Command"
args2(18).Value = 3
args2(19).Name = "SearchItem.SearchFormatted"
args2(19).Value = false
args2(20).Name = "SearchItem.AlgorithmType2"
args2(20).Value = 1
args2(21).Name = "Quiet"
args2(21).Value = true

dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args2())

end sub
----------------------
6.將所有半型改為全型
---------------------
sub word2bit1   '全部改為全型
rem -----------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem -----------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem -----------------------------------
dispatcher.executeDispatch(document, ".uno:GoToStartOfDoc", "", 0, Array())

rem -----------------------------------
dispatcher.executeDispatch(document, ".uno:SelectAll", "", 0, Array())

rem -----------------------------------
dispatcher.executeDispatch(document, ".uno:ChangeCaseToFullWidth", "", 0, Array())

rem -----------------------------------
dispatcher.executeDispatch(document, ".uno:GoToStartOfDoc", "", 0, Array())
end sub
 -------------------
7.除了「sString 」中的字串外,刪除段落(將下一段文字接到前段)
  參考LibreOffice正體中文使用者社團 → pastebin - Miscellany - post number 3992044
----------------
sub Main003
  Dim oCurrentController As Variant
  Dim oViewCursor As Variant
  Dim oText As Variant
  Dim oObj1 As Variant
  Dim oObj2 As Boolean
  Dim oObj3 As Boolean
  Dim sString As String

  oCurrentController = ThisComponent.getCurrentController()
  oViewCursor = oCurrentController.getViewCursor()
  oText = oViewCursor.getText()
 
  oObj1 = oText.createTextCursorByRange(oViewCursor)
  oObj1.gotoEndOfParagraph(False)
  oObj1.goLeft(1, True)
 
  sString = oObj1.getString()
  oObj1.collapseToEnd()
  oObj1.gotoEndOfParagraph(False)
  oViewCursor.gotoRange(oObj1, False)
    document   = oCurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")   

  if sString = "。" or sString ="?" or sString ="." or sString ="…"  or sString ="!" or sString ="x" or sString ="」"  or sString =":"  or sString ="★"  or sString ="※" then
    rem -----------------------------------
      dispatcher.executeDispatch(document, ".uno:GoToNextPara", "", 0, Array())

  else
    dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
   
  end if
 
end sub
-----------------------8.重複執行巨集(Main003)三次
----------------
Sub my_Procedure()
    Call Main003
    Call Main003
    Call Main003
 End Sub
-----------------
9.將以上各巨集全部合成一個巨集,由前向後執行
---------------
Sub fi2pro_all()
    Call  fire01 '取代文字

Call Ctrlhome1 '回到最前面
    Call no01       '找到"? "   
        Call find_xz       '新增段落,並重複執行

Call Ctrlhome1 '回到最前面
    Call no02      '找到"」 "
   
        Call find_xz       '新增段落,並重複執行
                Call find_xz       '新增段落,並重複執行
Call Ctrlhome1 '回到最前面
    Call no03      '找到": "
   
        Call find_xz        '新增段落,並重複執行
Call Ctrlhome1 '回到最前面
    Call no04      '找到"。 "
 
        Call find_xz       '新增段落,並重複執行
                Call find_xz      '新增段落,並重複執行

Call Ctrlhome1 '回到最前面
    Call no05      '找到"! "
 
        Call find_xz       '新增段落,並重複執行

Call Ctrlhome1 '回到最前面
    Call no06      '找到"』 "則換一段
 
        Call find_xz       '新增段落,並重複執行
               
Call Ctrlhome1 '回到最前面
Call bit20        '刪去空白(包括全型半型)
Call word2bit1          '全部改為全型符號
Call Ctrlhome1       
Call my_Procedure        '接斷行 
    end sub
--------------

2018年5月5日 星期六

用手機測量血壓、血糖和作計步器

你可能不知道,帶著手機就可以隨時測量血壓血糖值和作為計步器等。實在是方便哩!
前兩天看BBC,有關醫學、健康的節目,其中有談到用手機測量血壓,因為我有「家傳」的高血壓,於是到Google Play商店找測量血壓的app,果然有欸!(若要更準確的測量值,可以到一般儀器測量,然後和手機app校準個兩、三次即可)【可能準確性有待改進,有些app已移除
  
如果你有健康方便需要測量的身體狀況,不妨到 play商店去找找看有什麼app可用。
  
計步器app,將手機帶在身上就可以用來測量一天走了多少步,或散步、慢跑、快走時走了多少步,很方便喔!
  
有什麼想法,三不五時到Play 商店找找看有沒有app可用,倒是給生活帶來許多方便哩!

2018年5月3日 星期四

申請發票手機條碼載具--自動幫你對獎又環保

每次買東西開發票,臺灣一年估計就需要印掉五萬棵樹的紙張。所以去申請電子發票手機條碼載具吧!好處多多:
  
1.環保;
2.自動幫你對獎,中獎後還通知你;
3.設定帳號,獎金自動匯入,連領獎手續都省了。
 真是方便啊!

※如何申請呢!
1.到「財政部電子發票整合服務平台」,點雲端發票申請
2.輸入手機號碼Email ,再點擊「我要申請」即可。(若沒手機,可找家人中任何一支手機;若沒Email,可到google申請一個mail信箱)

※如何使用和設定銀行帳號等,請參考下面這一篇的詳細說明:
如何申請及使用電子發票手機條碼載具?

※接下來,若你想用手機app:
1.在下載之後,直接用「電子信箱帳號」及「手機驗證碼」登入,就可以開始使用。
2.買東西時,向結帳人員說:「我有載具」,然後點app中你的專屬條碼讓他掃一下,發票對獎號碼就歸戶了,開獎時,就自動幫你對獎了。
2.另外,app也可自動掃描已開的統一發票或手動輸入號碼等資料,等開獎時,手機會自動幫你對獎,超方便的。

就醬,趕快動個手吧!環保又方便!

2018年3月27日 星期二

Ubuntu變慢了,檢查正在執行的程序(程式)或軟體

用了一段時間(或開啟一些軟體)後,總會感覺桌機的效率下降了。到底是什麼程序或軟體佔用了cpu,在背景運作,要查它們:

1.開啟終端機:安裝、使用 xfce4-taskmanager 即可查到,可知道佔用cpu的百分比。


 ※※※※※※
另外:開啟終端機〈參考Ubuntu變慢的研究
1.使用 gnome-system-monitor (系統監控)
看看軟體(程序)佔用的cpu、記憶體。


2.運行下面這條命令(字型)
sudo fc-cache -fv 2>&1 | grep failed | cut -f1 -d":" | xargs -i sudo touch {} && sudo fc-cache -fv

3.刪除不完整的軟體包
sudo apt-get autoclean

4.刪除系統不再使用的孤立軟體(及其配件)
sudo deborphan | xargs sudo apt-get -y remove --purge 
 
sudo apt-get autoremove

5.關閉不必要的開機自啟動軟件
(系統)設定值/[Startup Programs]→檢查並刪去不需要開機自動啟動的軟體

6.可用[系統工具]/[Task Manager]關閉不用的程序


2018年3月25日 星期日

Ubuntu中批次修圖的好工具──XnView

最近接到的掃描圖檔,開啟後,覺得有些頁面太暗了(應該是用灰階格式掃的),看起來眼睛較吃力。於是到網路上查查是否有批次處理圖檔(頁面調亮)的工具,就找到有人推薦以前曾安裝過的XnView。

★下載XnView新版
※※※※※※
★或直接安裝

For 32 bit
sudo apt-get install gdebi

wget http://download.xnview.com/XnViewMP-linux.deb

sudo gdebi XnViewMP-linux.deb
  
For 64 bit
sudo apt-get install gdebi

wget http://download.xnview.com/XnViewMP-linux-x64.deb

sudo gdebi XnViewMP-linux-x64.deb
※※※※※※
raw、jpg……等圖檔或已製作成的pdf,都可匯入加以批次處理:
1.建立資料夾(OCR01)
2.圖或pdf檔copy至OCR01
3.開啟XnView
4.點選OCR01中要轉換的檔案(一個或多個)→工具/批次轉換

5.設定:若pdf圖像不清楚,〔載入格式設定/增加解析度〕
6.輸出:
 (1)[多頁檔仍轉為多頁檔〕打鉤。
 (2)設定輸出資料夾位置(可在原資料夾)。
7.動作:以下任一選項或組合,先用少數檔案測試看結果如何,再批次處理
 (1)自動對比+(過濾)銳化82
 (2)(對映)(調整:例:亮度16/對比52/γ值1.84)
 (3)色階(黑30/白160)
 (4)(過濾)減少雜訊


2018年3月2日 星期五

Linux(Ubuntu)中從實體書(pdf)製作電子書及txt文件合併

友人掃描了實體書(雙頁掃描)要製成電子書,我從網路上搜集了資料,最後列出了各個步驟,紀錄下來,以便日後參考:

一、建book資料夾→將掃描檔剪下貼到book中→檔名改為a-all.pdf
 
二.pdf裁切出上、下頁輸出為ppm(需測試)
 [大本書]
(1)上頁: pdftoppm  -x 60 -y 50 -W 1060 -H 710 a-all.pdf up
★建目錄 up 存所有up檔
(2)下頁: pdftoppm -x 60 -y 850 -W 1060 -H 730 a-all.pdf dn
※※※※※※※※※
  [小本書]
(1)上頁: pdftoppm -x 260 -y 150 -W 2000 -H 1500 a-all.pdf up
★建目錄 up 存所有up檔
(2)下頁: pdftoppm -x 230 -y 1920 -W 2060 -H 1500 a-all.pdf dn
【註】若加入 -jpeg 條件則會輸出jpeg圖,但輸出時間較長,檔案較大。
★★xxx

※※※※※※※※※

★若要輸出PNG檔

  則:pdftoppm -png -x 60 -y 50 -W 1060 -H 710 a-all.pdf up

★若要輸出jpeg檔

  則:pdftoppm -jpeg -x 60 -y 50 -W 1060 -H 710 a-all.pdf up

★一般內定解析度為150,若要指定解析度(如300DPI)用-r係數

  則:pdftoppm -r 300 -x 60 -y 50 -W 1060 -H 710 a-all.pdf up

 
三.改檔名,以便合併pdf時,依頁數順序合併:
(1)到up中:(合併時,1-1.ppm在1.ppm之前)
rename -v s/.ppm/-1.ppm/ *
(即在原檔名後加上 -1,合併時順序會在前面)
若橫式書本,左右頁相反,則改dn的檔名
=============
(2)在up中
rename -v s/up/dn/ *(改為檔名都是dn開頭)

★★xxx
四.Copy dn中檔案至up中,並將原a-all.pdf留下,以便合併

★★xxx
五.在up中,合併
(1)每個pdf檔60頁,傳到Google硬碟辨識用
convert dn-00*.ppm dn-01*.ppm dn-02*.ppm dn-03*.ppm dn-04*.ppm a-0004.pdf

convert dn-05*.ppm dn-06*.ppm dn-07*.ppm dn-08*.ppm dn-09*.ppm a-0509.pdf


【註】2022/12/07此轉換已失效,需執行以下2行,才能使用:
(1)
$ sudo nano /etc/ImageMagick-6/policy.xml  (或從檔案找etc)
(2)找到<policy domain="coder" rights="none" pattern="PDF" />改為<policy domain="coder" rights="read|write" pattern="PDF" />

【註】形成pdf後要打開來看看頁數是否符合
【註】辨識:在Google硬碟→右鍵→以Google文件開啟→辨識完,全選copy到純文字文件軟體
==============

(2)在up中,壓縮後(作單頁辨識用
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=a-0004new.pdf a-0004.pdf
(所得的單頁pdf比原檔小很多)
【註】形成pdf後要打開來看看總頁數是否符合

(注意:轉換成的 Google 文件,大小上限則是 50 MB。)
=============
(3)在up中,合併為全檔(作單頁校稿用
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=a-allnew.pdf a-*.pdf
(所得的單頁pdf比原檔小很多)
【註】形成pdf後要打開來看看總頁數是否符合

★★xxx
六.將辨識好的書本文字檔進行閱讀校正,貼到電子書製作軟體中,製成電子書。
七.將電子書丟入平板中以電子書閱讀軟體閱讀;檔案小又方便。

●●●●●●●●●●

八.若辨識出來的多個文字檔合併為一個文字檔

 cat 01.txt 02.txt.... > all.txt

cat *.txt > all.txt   (要先將1~9的檔名前加上0,否則順序會錯誤)

★★★★★

九.要將docx檔轉換成pdf格式:

 libreoffice --invisible --convert-to pdf *.docx

★★★★★

十.將多個pdf檔合併成一個pdf檔,且是文字檔:

pdfunite 1*.pdf out1.pdf

pdfunite *.pdf out.pdf
★★★★★
pdftk用來拆開、合併pdf檔,使用方法:
⑴將兩個PDF文檔合併為一個新的PDF:
pdftk 1.pdf 2.pdf cat output 0102.pdf
  
⑵如果合併資料夾中的所有pdf:
pdftk *.pdf cat output all.pdf
  
⑶從文檔中刪除頁面,例如第5~19頁,並且必須使用-end指示文檔的結尾:
pdftk 01.pdf cat 1-4 20-end output 01-1.pdf
  
⑷逐頁拆分PDF文檔:
pdftk 01.pdf burst

●●●●●
★pdfseparate命令的使用:
⑴從01.pdf中提取10~15頁──未合併,並且檔名用001標示
pdfseparate -f 10 -l 15 01.pdf %03d.pdf
  
合併資料夾中所有pdf檔
pdfunite a-* all.pdf
♠♠♠♠♠
將 png 轉 jpg
ls -1 *.png|xargs -n 1 bash -c 'convert "$0" "${0%.png}.jpg"'

將 jpg 轉 png 
ls -1 *.jpg|xargs -n 1 bash -c 'convert "$0" "${0%.jpg}.png"'

2018年2月26日 星期一

Linux(Ubuntu)中pdf的拆解、合併、壓縮

由於看到友人傳來的pdf檔太大,在彼此間共享不方便,於是在網路上搜尋pdf檔案壓縮的方法,將有關pdf的拆解、合併、壓縮整理如下:

一、pdf的拆解
1.(1)使用pdftoppm將pdf拆解為一張張ppmjpeg、png、tiff
   #  pdftoppm [options] [PDF-file] [PPM-file-prefix]
 ※例 pdftoppm a.pdf a (將a.pdf拆為一張張ppm圖檔)
 ※ [options]:-f 起始頁 -l 終止頁 -r (DPI) [png/jpeg/tiff]
     (-r:內定150DPI)
   ※Help:pdftoppm -h

   (2)一次掃2頁的圖,將pdf每頁裁切為2頁(先單頁後雙頁)ppm
    例: pdftoppm -jpeg -x 60 -y 80 -W 640 -H 360 input.pdf output
      (裁切一個寬度為 640 像素、高度為 360 像素的區域,此區域距離左邊界 60 像素、距離上邊界 80 像素)
   例:單頁:pdftoppm -x 200 -y 130 -W 2050 -H 700 abc.pdf up 
       雙頁:pdftoppm -x 230 -y 1550 -W 2050 -H 700 abc.pdf dn

   ★注意:每本書掃描的大小可能不同,需測試(輸出幾頁暫停[Ctrl+C])。
    (安裝xdotool,# xdotool getmouselocation,再求滑鼠座標差,可得到各座標大約數值)

★參考:Linux將PDF轉為圖片檔的指令教學與範例 (說明詳盡)
==============
2.(1)使用 ImageMagick 將 PDF 檔拆解為一張張 JPG 圖片檔
 例:(1)# convert input.pdf output.jpeg (預設72DPI)
      (2)# convert -density 300 input.pdf -quality 90 output.jpg
  (-density=dpi值;-quality=圖片壓縮層級)
 ※輸出其他格式的圖檔,就直接更改輸出檔名的副檔名即可(如png)。

  (2)只抽取部分頁面:頁碼從 0 開始算起
    # convert -density 300 input.pdf[4] -quality 90 output.jpg(只有第5頁)

    # convert -density 300 input.pdf[0-2] -quality 90 output.jpg(只抽取前三頁)
 (3)加上 -trim 讓 ImageMagick 自動把白邊去除
   # convert -density 300 input.pdf -quality 90 -trim output.jpg
(ImageMagick 去除白邊的方法是以最角落的像素顏色為準,凡是跟最角落像素的顏色相同的邊緣就自動去除,如果想要放寬判斷邊緣的標準,可以使用 -fuzz 來指定放寬的門檻值[-fuzz distance{%}]。)
(4)若要將轉出來的圖片進行裁切,可以加上 -extract 參數:
例:# convert -density 300 -extract 960x540+180+220 input.pdf output.jpg
(寬960像素、高540像素的區域;距左邊界180像素、距上邊界220像素)

★參考:Linux將PDF轉為圖片檔的指令教學與範例 (說明詳盡)
★參考:用ImageMagic將PDF轉成高品質圖
==============
3.用pdftocairo將pdf拆解為一張張jpegpng(或壓縮為另一個pdf檔)
   # pdftocairo [options] <PDF-file> [<output-file>]
  ※例:
 (1)pdftocairo -jpeg a-1.pdf a-1 (將a-1.pdf拆為a-1-01.jpg、a-1-02.jpg……)
 (2)pdftocairo -jpeg -f 3 -l 5 a-1.pdf a-1(將a-1.pdf分離出第3頁到第5頁為a-1-03.jpg、a-1-04.jpg、a-1-05.jpg)
※要看參數用法: pdftocairo -h
※拆為jpeg較快,檔案較小;拆為png很慢,檔案很大。
※ [options]=png/jpeg/pdf/ps/eps/svg
※參數 [-r]為解析度,內定為150PPI
參考網站:Ubuntu Manpage: pdftocairo
=============
4.使用 GhostScript 將pdf轉為一張張 jpg或png
  (1)將 PDF 檔轉為 JPG 圖片檔
# gs -dNOPAUSE -dBATCH -sDEVICE=jpeg -r300 -sOutputFile='page-d.jpg' fnli.pdf

  (2)將 PDF 檔轉為支援透明度的 PNG 圖片檔
# gs -dNOPAUSE -dBATCH -sDEVICE=pngalpha -r300 -sOutputFile='page-d.png' fnli.pdf
★參考:Linux將PDF轉為圖片檔的指令教學與範例 
=============
5.(1)用pdfimages擷取pdf中所含有的圖片(有文字有圖片者可用)
 # pdfimages -all input.pdf output
   (預設也是會將圖片儲存成 ppm,而加上 -all 可以原始格式儲存)
  (2)# pdfimages -list input.pdf
       (僅列出pdf中圖片清單)

  (3)若要讓圖片檔名加上頁碼
    # pdfimages -all -p input.pdf output

★★xxx★★xxx★★xxx
二、pdf的合併:
1.將多頁ppm合併(會壓縮為6/10)為一個pdf

  # convert <ppm-file> <output-file>
  例:convert a-0?.ppm a-1?.ppm a-0.pdf (將a-0及a-1開頭的所有ppm,依檔案名稱順序壓縮、合併成一個pdf檔)
【註】合併前若要改檔名以符合順序:
批次改檔名:
  # rename  s/檔名的原始字串/新的檔案字串/  要變更的檔案類型
例:
(1)把所有檔案名稱中有 xyz 的部份都改成 aaa
   # rename -v s/xyz/aaa/ *
(加上 -n 先預覽執行結果,確定後再執行;加上 -v 是把檔案都列出來;加上 -w 來覆寫現有檔案)
(2)更換副檔名:
  例:把 .html 置換成 .txt,其它不變。
  # rename -v s/\.html$/\.txt/ *html
 參考:Ubuntu用指令大量更改檔案名稱
==============
2.若不壓縮,將兩個以上pdf合併成一個pdf
 (1)安裝pdftk: # sudo aptitude install pdftk
 (2)pdftk <1.pdf> <2.pdf>……cat output <output-file>
 (3)例:
  ㊀pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf (1、2、3三個pdf合成一個pdf)
  ㊁pdftk *.pdf cat output all.pdf (目錄內所有pdf合成一個pdf)
==============
3.將一個pdf中的某幾頁分離出來合併成一個pdf
   # pdftk A=a.pdf cat A3-5 output dd.pdf (將a.pdf中取第3到5頁合成一個dd.pdf) 

  #例:pdftk A=a-all.pdf cat A1-5 output 0105.pdf (將a-all.pdf中取第1到5頁合成一個0105.pdf)
==============
4.在不同pdf檔中取出各頁合併成一個pdf
   # pdftk A=a0.pdf B=a1.pdf cat A1-2 B1-3 A8 output ABC.pdf (在a0中取1~2頁,在a1中取1~3頁,在a0中取第8頁;將以上各頁依序合併成ABC.pdf)
★★xxx★★xxx★★xxx
三、pdf的壓縮+合併

1.用Ghostscript(若出現未安裝,可到synaptic安裝)
   # gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf


※-dPDFSETTINGS 變數有四種:(原始檔105.4Mb)
(1)/screen (檔案最小(6.3Mb)[和/ebook同][72dpi],壓縮時間長,最不清楚)

(2)/ebook (檔案最小(6.3Mb)[和/screen同],壓縮時間長,最不清楚)
(3)/printer (檔案第二大(10.2Mb),壓縮時間最短,第二清楚) --首選
(4)/prepress  (默認;檔案最大(18.1Mb),壓縮時間第二長,最清楚)

※若不用[-dPDFSETTINGS]參數,可用以下代替:(自行測試)
-dDownsampleColorImages=true \
-dDownsampleGrayImages=true \
-dDownsampleMonoImages=true \
-dColorImageResolution=72 \
-dGrayImageResolution=72 \
-dMonoImageResolution=72 \
 ※※※※※※
★例:若要將多個pdf壓縮並合併為一個pdf檔,則可如下:
 # gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=a-012T.pdf a-0.pdf a-1.pdf a-2.pdf  (將a-0、a-1、a-2pdf檔壓縮並合併為較小檔案a-012T.pdf)
=============
 2.將多頁ppm壓縮(6/10))並合併為一個pdf
  # convert <ppm-file> <output-file>
  ※例:convert a-0*.ppm a-1*.ppm a-0.pdf (將a-0及a-1開頭的所有ppm,依檔案名稱順序壓縮、合併成一個pdf檔)
=============
3.將pdf壓縮為另一個pdf
   # pdftocairo -pdf <PDF-file> [<output-file>]

參考:linux-優化pdf
參考資訊:Linux下pdf的編輯

2018年2月1日 星期四

不用辨識軟體--超大文字掃描圖形檔(pdf)中文辨識(OCR)攻略--pdf大檔的拆解、合併及壓縮

  曾經寫過〔辨識--好用的手機APP Google Translate;及網頁Google文件〕這篇文章介紹一點辨識的方法。但若pdf的檔案太大就不能傳到google硬碟辨識了(轉換 Google 文件,大小上限則是 50 MB。)。
  今天接到幾百Mb(有的有1Gb)的檔案,當然是不行囉!
  先是用手機拍照→google翻譯的辨識方法,但有些操作不便(要換頁、拍照、辨識後轉貼寄出),而且速度又慢,於是想辦法解決它。最後終於找到了解決的方法☺


1.安裝imagemagick:
  #sudo apt-get install imagemagick
2.將圖形pdf轉ppm
  #pdftoppm a.pdf a (將a.pdf拆為一張張ppm圖檔)
3.將多頁ppm轉pdf
  #convert a-0?.ppm a-1?.ppm a-0.pdf (將a-0及a-1開頭的所有ppm,依檔案名稱順序合併成一個pdf檔)
4.將大pdf檔壓縮為小檔案(安裝Ghostscript)
  # gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=a-0T.pdf a-0.pdf (將a-0.pdf檔壓縮為較小檔案a-0T.pdf)

5.將轉好的pdf檔傳到Google硬碟。
6.傳上去後,按右鍵,選擇使用google文件開啟,等一下了就幫你辨識好了。
7.按[Ctrl+A]全選,複製貼到文字檔,OK
======
附註1:若是pdf本來就是文字格式轉成的,那麼直接轉換即可
  #pdftotext a.pdf a.txt
======
附註2:網路上有人介安裝tesseract辨識軟體,經測試結果,英文沒問題,中文則不管橫式或直式都不行(橫式中文效果稍好,但還是不行),方法如下:
1.安裝:
  #sudo apt-get install gocr
  #sudo apt-get install tesseract-ocr
  #sudo apt-get install libtiff-tools
2.安裝tesseract-ocr後,到synaptic安裝語言包
(或到官網上下載中文語言包,比如繁體的就是chi_tra(簡體chi_sim),然後加入到一個環境變量中
  #sudo mv chi_tra.traineddata /usr/local/share/tessdata
  #export TESSDATA_PREFIX=/usr/local/share/
3.執行辨識
  #tesseract a1.ppm a1.txt -l chi_tra
(若發生錯誤訊息,則登出再登入,即可執行)

2018年1月31日 星期三

完全解決--你的電腦網頁、文書、電子郵件……還會缺字嗎?還有框框字嗎?

  近日看電子書時,發現書中有靈提(應該是靈𤟥(左犭右是)【你的桌機可能看不到這個字】)的名詞,就試著要糾錯,可是我的桌機竟也打不出「𤟥」這個字,到(http://www.unicode.org/cgi-bin/GetUnihanData.pl?codepoint=247E5)這個網頁上查到的是框框字。
 
  為了解決這個字,到網頁上尋找含有最多字的字型檔;以前曾接觸過【中文全字庫】,也下載安裝了其中的楷字,但沒有出現這個字。於是再到這個網站去瀏覽,發現有加了一些Unicode的字,重新下載全字庫字型→移除舊字型→安裝【全字庫正楷體】及【全字庫正宋體】→重新開機→將系統字型設定為【全字庫正楷體】。【𤟥】字跑出來了,其他一些網頁上的框框字也都出現了--因為它共有108018個字呢!(資料在這裡

  如何下載及安裝中文全字庫:
1.到(政府資料開放平台CNS11643中文標準交換碼全字庫(簡稱全字庫)網頁,點(資料資源)【ZIP】,就會跳出下載頁面(因為有數種資料,共有約252Mb),所以慢慢讓它去下載吧!
2.下載後解壓縮,可以看到(Open_Data)這個資料夾內,有(Fonts)資料夾,內有8個檔,打開其中的說明檔.txt,就可知道了。
3.(若已曾安裝同一字型檔需先移除)在楷體中的3個檔都快按2下→安裝,就會安裝好字型檔。
4.重新載入字型檔(sudo fc-cache -f -v),設定系統字型、網頁字型等。→此步驟若不會,直接重開機再設定字型較快。
5.登出再登入或重開機,設定字型就成功了。
  除非又有新字出現(在臺、中、日、韓、越、新等這些使用中文字型的國家三不五時就會發現有新字〔古書、姓氏等〕未列入,於是又有新字要增加了),否則你的電腦就再不會出現框框字了。

  另外一提,雖然Google和Adobe共同推出了【思源字型(下載頁)】(搜尋CJK找到字型下載)希望網頁上沒有框框字,不過我下載安裝後,「𤟥」這個字依然出不來。不過它的字也不少,一般來講也夠多了!(每個字型有65535字)--電腦玩物有介紹下載及使用方法。