2024年1月25日 星期四

華航哩程價值及聯名卡回饋比率

最近比較常飛回台灣,因為航班時間華航比較適合,所以大多選擇華航。
辦了他們跟中國信託銀行合作的聯名卡,發現購票優惠僅限台灣出發,重點是針對購票方式比較了一下,辦卡購買沒有便宜多少,不如從澳洲以澳幣計價買來回票,幸好當時是選擇了免年費的商務御璽卡。



鑒於刷卡回饋以哩程為主,於是想計算一下回饋比率,以華航官網的聯名卡兌換活動來看,大洋洲來回機票要使用104,500點,約價值31,350元,也就是一個哩程可以值0.3元。



搭配信用卡官網哩程兌換說明,官網買機票每消費15元換一哩:



我們知道卡片的回饋比率是1/30或1/15,乘上價值0.3,也就是說平常消費約1%、官網買票約2%的消費回饋,海外消費或外幣購票還要扣1.5%手續費,這個卡實在不是太有吸引力啊。

2024年1月21日 星期日

台胞證大頭照片排版設定(使用PhotoCap)

現在智慧型手機很方便,有許多優秀的證件照APP可以輕鬆去背、修容、調色,整理出不錯的大頭照,我試用了「證件照應用」和「身份證照片和護照照片 - 人像裁剪」這二款,使用起來都很方便。

但是因為都用手指頭來調整大小,有時排版印出來的照片不見得完全符合尺寸。最近要辦台胞證,就是因為最後沖洗出來的照片不符合尺寸,只好還是開電腦用PhotoCap排。

依中國國家移民管理局、出入境證件相片照相指引之規定,紙質相片尺寸33*48mm,有效區域30*40mm。



300DPI 的 6*4 inch = 1800*1200 Pixel、
每一個mm=1/25.4*300=11.811pxl
寬33mm=33/25.4*300=389.764pxl
高48mm=48/25.4*300=566.929pxl

修改預設模板排列成四欄二列置中八張,每張照片設定390*567pxl,周圍留白維持原設定+8,二端留邊相應調整後,計算出以下數據:
橫排四張加留邊留白,X軸排列方式:88+8+390+8+8+390+8+8+390+8+8+390+8+88=1800pxl
縱排二張加留邊留白,Y軸排列方式:17+8+567+8+8+567+8+17=1200pxl

所以我們新模板的照片物件屬性設定中調整:
上排座標:(96:25)、(502:25)、(908:25)、(1314:25)。
下排座標:(96:608)、(502:608)、(908:608)、(1314:608)。

整體版型設定好了以後,要依照規定設置參考線,調出來的大頭照尺寸才會正確。

參考線(橫):
單張照片尺寸扣掉有效範圍之高度:48-40=8mm,依照範例圖決定上邊距抓3下邊距抓5mm。
相片有效高度40內頭頂離上緣1-3,取中值2,加上邊距3:3+2=5mm=59.055pxl。
※計算得到上排照片頭頂對齊位置在:17+8+59=84pxl。
相片有效高度40內眼睛區域離上緣,成人14-22、兒童14-26。有效範圍離上邊距3須加上,3+14=17mm=200.787pxl、3+22=25mm=295.276pxl、3+26=29mm=342.520pxl。
※計算得到上排照片眼睛區域開始位置在:17+8+201=226pxl。
※計算得到上排照片眼睛區域成人結束位置在:17+8+295=320pxl。
※計算得到上排照片眼睛區域兒童結束位置在:17+8+343=368pxl。
相片有效高度40內頭部高度30-34頭頂離上緣1-3取中值2,加上邊距3:3+2+30=35mm=413.386pxl、3+2+34=39mm=460.630pxl。
※計算得到上排照片下巴對齊開始位置在:17+8+414=439pxl
※計算得到上排照片下巴對齊結束位置在:17+8+461=486pxl
上下排照片留白間距8+8,再加上排照片高度567,故下排位置為上排位置加上583。
※計算得到下排照片頭頂對齊位置在:17+8+567+8+8+59=667pxl。
※計算得到下排照片眼睛區域開始位置在:17+8+567+8+8+201=809pxl。
※計算得到下排照片眼睛區域成人結束位置在:17+8+567+8+8+295=903pxl。
※計算得到下排照片眼睛區域兒童結束位置在:17+8+567+8+8+343=951pxl。
※計算得到下排照片下巴對齊開始位置在:17+8+567+8+8+414=1022pxl。
※計算得到下排照片下巴對齊結束位置在:17+8+567+8+8+461=1069pxl。
由此得知參考線應放置在Y軸:84、226、320、368、439、486、667、809、903、951、1022、1069pxl共十二處。

參考線(豎):
單張照片尺寸扣掉有效範圍之寬度:33-30=3mm,依照範例圖決定置中即各照片390/2=195pxl處。
臉部寬度要求16-24mm,即離195中線左12mm(142pxl)、左8mm(94pxl)、右8mm(94pxl)、右12mm(142pxl)處。
也就是各照片的195-142=53pxl、195-94=101pxl、195+94=289pxl、195+142=337pxl處。
※計算得到第一欄照片臉部區域左側開始位置在:88+8+53=149pxl。
※計算得到第一欄照片臉部區域左側結束位置在:88+8+101=197pxl。
※計算得到第一欄照片臉部區域右側開始位置在:88+8+289=385pxl。
※計算得到第一欄照片臉部區域右側結束位置在:88+8+337=433pxl。
每欄照片留白間距8+8,再加左側照片寬度390,故位置為左排位置加上406。
※計算得到第二欄照片臉部區域左側開始位置在:88+8+390+8+8+53=555pxl。
※計算得到第二欄照片臉部區域左側結束位置在:88+8+390+8+8+101=603pxl。
※計算得到第二欄照片臉部區域右側開始位置在:88+8+390+8+8+289=791pxl。
※計算得到第二欄照片臉部區域右側結束位置在:88+8+390+8+8+337=839pxl。
※計算得到第三欄照片臉部區域左側開始位置在:88+8+390+8+8+390+8+8+53=961pxl。
※計算得到第三欄照片臉部區域左側結束位置在:88+8+390+8+8+390+8+8+101=1009pxl。
※計算得到第三欄照片臉部區域右側開始位置在:88+8+390+8+8+390+8+8+289=1197pxl。
※計算得到第三欄照片臉部區域右側結束位置在:88+8+390+8+8+390+8+8+337=1245pxl。
※計算得到第四欄照片臉部區域左側開始位置在:88+8+390+8+8+390+8+8+390+8+8+53=1367pxl。
※計算得到第四欄照片臉部區域左側結束位置在:88+8+390+8+8+390+8+8+390+8+8+101=1415pxl。
※計算得到第四欄照片臉部區域右側開始位置在:88+8+390+8+8+390+8+8+390+8+8+289=1603pxl。
※計算得到第四欄照片臉部區域右側結束位置在:88+8+390+8+8+390+8+8+390+8+8+337=1651pxl。
由此得知參考線應放置在X軸:149、197、385、433、555、603、791、839、961、1009、1197、1245、1367、1415、1603、1651pxl共十六處。



排版整理好的照片,拿去附近有「相片立可得」自助式機台的超商,使用藍芽或LINE傳到機台操作幾下,只花幾塊錢證件照就搞定,當場就可取件。

2023年10月2日 星期一

Kindle 電子紙閱讀器新手指南

這篇是基礎概念,現實生活中我身邊有不只一位需要,故整理在此。

選擇 Kindle 的原因在於它使用電子墨水(E Ink)和電子紙技術,耗電非常低,顯示時不像一般平板顯示器會發光,需在日光下或開燈使用,閱讀體驗更接近實體書本,比較不容易造成眼睛疲勞。

使用 Kindle 首先要有 Amazon 帳戶。
如果居住地有亞馬遜商城,比如說日本、澳洲,瀏覽器直接搜尋Amazon,通常第一跟第二個會是亞馬遜美國總站,跟當地亞馬遜分站,我們優先選擇當地分站。若在美國或是當地沒有亞馬遜(比如說在台灣),則一律建議上美國官網。

註冊申請帳戶,流程不外乎填入真實姓名地址電話郵箱等,認證完成後可以開始購物,此時居住地有亞馬遜商城的,可以直接購買,若身處其他地區,有時需要加國際運費,或者也可以選擇以其他方式購買,此處略過購買細節。

Kindle 產品線有數個選擇,目前只推薦 Kindle Paperwhite 與 Kindle Oasis ,螢幕解析度300ppi,達到印刷品水準。Oasis有實體翻頁按鍵,握持手感也比較舒適,是較佳的選項。

拿到閱讀器後,首先連接WiFi ,連上網後以之前註冊的亞馬遜帳戶登入,此帳戶決定你使用那個地區的亞馬遜書店,各國書店內容與價格幣值各異。閱讀器登入後,即可在裝置內的書店購買電子書籍,開始閱讀。

亞馬遜公司推出Kindle閱讀器,並且賣得不是非常貴,主要是希望大家執行以上步驟,多多在他們書店消費,然而設備功能還可以做更多事。

系統設定裡可以選擇中文介面,可惜現階段只有簡體中文,輸入部分倒是有注音輸入法可以使用。

畢竟是美國起家的書店,英文書佔大宗,官方有英漢字典在閱讀器按一按就可以使用,功能上覺得已經夠用,若不足可以網路上搜尋,有更詳盡或其他語言的字典可選。

閱讀器內建許多英文字型,中文字型則有黑體、圓體、楷體、明體。前幾年開始,Kindle 閱讀介面已支持使用自訂字型。以隨機附的傳輸線連結電腦,在儲存空間內最底層建立fonts資料夾,然後把喜歡的字型檔案複製進去。可以參考我整理的原俠正楷字型,介於楷體和明體的感覺、工整易讀,另外附加了簡體自動正體顯示,以及橫書閱讀轉呈現為直書版面功能。

Kindle 閱讀器尺寸與漫畫書差不多,其實也很適合看漫畫,電子漫畫書官方書店有賣,也有一些網路上其他的資源,在此不深入說明。

管理電子書內容,推薦使用功能非常詳盡的Calibre軟體。

關於電子商品的所有權保護,主流是DRM技術,這個一直是有爭議的,網路上其實也有解除的DeDRM方式,建議只使用在自己已經購買的書籍,做永久保存。

2023年8月1日 星期二

原俠正楷 GuanKiapTsingKhai ,增加方便的偽直排字型,免轉正免簡轉繁直接閱讀

上個月更新了自己整理的「原俠正楷」字型後,已經能夠以動態辭彙,對應處理一簡對多繁的自動選字,算是能夠方便閱讀簡體字文章了。

這次一方面因應網友的要求,一方面自己有時也想要直讀,於是把偽直排給補上了。這次依然以芫荽為主體(最新1.002版),輔以霞鶩文楷輕便版(最新1.300版)來補全缺字,以自己整理的動態詞庫彙整選字,再添加上直排化處理,總算是初步完成功能;原俠運行了第一次小周天。

之前 Klee One 剛釋出時,作為電子書閱讀者的我,想說不知道這麼好看的字型,何時有人弄成可以方便拿來看書多好。沒想到網路上強力大佬有的狂補字(霞鶩),有的精校對(芫荽),二年多時間已頗為完備,真是太感謝了。對於字型毫無概念的我,藉由摸索試錯加上網友提攜,竟也整理出自己想要的簡轉繁及偽直排功能,希望大家用得上的話也不吝指教~

  • 「原俠正楷」標準無印原版,保留原始正體及簡體字共存,標點置中引號不置換。
  • 「原俠正楷-S」置換引號,並正體化大部分的簡字,遇到一簡對多繁的字保留不處理。
  • 「原俠正楷-T」承上,並使用單一常用正體字取代一對多的簡體字。
  • 「原俠正楷-W」利用常用詞彙庫對比自動選字,盡量顯示正確字體。
  • 「原俠正楷-TW」除了能自動選字,同時也轉換為台灣習慣用語。
  • 「原俠正楷-?-90」以上各字型的對應偽直排字型,方便直書閱讀。



已知問題:使用於特定排版文件如圖文固定位置、多字型混排,或個別開放型閱讀器(如Boox)內建的書庫App(如neoreader),有時自動選字的W跟TW版會發生疊字、或部份顯示原簡字的狀況。這時建議使用T版,或以標準版搭配App之簡轉繁功能使用。

到畫面右側的 Releases 欄位,點擊 V1.12 - (2023/07/31) 進入最新版下載頁面。

2023年7月27日 星期四

以 FontForge 免費開源軟體 修改字型

首先到 FontForge 官網「https://fontforge.org/」,或他們 GitHub 專頁「https://github.com/fontforge/fontforge/」,下載最新版安裝檔,目前最新版是「20230101」版。

安裝好後,若要更改 FontForge 的介面語言,需到安裝目錄,通常在「C:\Program Files (x86)\FontForgeBuilds\」,找到 fontforge.bat 這個檔案,按右鍵編輯,找到「::set LANGUAGE=en 」,在下方新增一行「set LANGUAGE=zh_TW」,儲存之後再開啟程式就變成繁體中文了。使用時盡量以系統管理員身分執行,我是直接在捷徑按右鍵,選內容 -> 相容性,勾選「以系統管理員的身分執行此程式」。執行軟體會要求開啟或新建字型,必須確定檔案位置才會開始匯入,然後進入字型預覽窗格。

主選單按「元件→字型資訊」(Ctrl+Shift+F) 出現視窗後,在名稱頁修改字型名稱、字重、版本等資訊。在一般頁設定字型的Em尺寸、上下緣、底線位置及高度。之後的每一頁都有相關設定可以修改。

主選單按「檢視→前往」(Ctrl+Shift+>) 出現視窗後,輸入要去的位置,比如說直排標點的開頭位
置「U+FE10」。

主選單按「元件→變換」(Ctrl+\) 出現視窗後,可以指定變化方式,例如旋轉逆時針90度、位移XY軸各多少值、還有歪斜神縮等等。

主選單按「檔案→執行命令稿」(Ctrl+.) 開啟指令視窗,可以貼上指令碼,下方可指定使用 Python 或 FF 語法。


情境一,直式標點沒有上下左右置中,使用已經置中的橫式標點字圖來取代:
U+FE10←(,)U+FF0C
U+FE11←(、)U+3001
U+FE12←(。)U+3002
U+FE13←(:)U+FF1A
U+FE14←(;)U+FF1B
U+FE15←(!)U+FF01
U+FE16←(?)U+FF1F
這幾個字逐個去找字圖複製貼上,不如使用以下 Script 即所謂命令稿來批次執行:
================ 直式標點取代之FF語法 ================
Reencode("unicode4")
Select(0uFF0C)
Copy()
Select(0uFE10)
Paste()
Select(0u3001)
Copy()
Select(0uFE11)
Paste()
Select(0u3002)
Copy()
Select(0uFE12)
Paste()
Select(0uFF1A)
Copy()
Select(0uFE13)
Paste()
Select(0uFF1B)
Copy()
Select(0uFE14)
Paste()
Select(0uFF01)
Copy()
Select(0uFE15)
Paste()
Select(0uFF1F)
Copy()
Select(0uFE16)
Paste()
================ 直式標點取代之FF語法 ================


情境二,以台灣慣用的「」取代中國習用的“”引號:
「 (U+300C) → “ (U+201C)
」 (U+300D) → ” (U+201D)
『 (U+300E) → ‘ (U+2018)
』 (U+300F) → ’ (U+2019)
「(U+300C) → 〝 (U+301D)
」(U+300D) → 〞 (U+301E)
可使用以下 Script 來批次執行:
================ 引號取代之FF語法 ================
Reencode("unicode4")
Select(0u300C)
Copy()
Select(0u201C)
Paste()
Select(0u300D)
Copy()
Select(0u201D)
Paste()
Select(0u300E)
Copy()
Select(0u2018)
Paste()
Select(0u300F)
Copy()
Select(0u2019)
Paste()
Select(0u300C)
Copy()
Select(0u301D)
Paste()
Select(0u300D)
Copy()
Select(0u301E)
Paste()
================ 引號取代之FF語法 ================
以上二段指令之 Copy() 可以改成 CopyReference() 語法,就會採用連結字圖而非複製取代方式,照理說檔案會變小,但是相容性適用性比較不能確保,一般還是直接改掉比較安全可靠。


情境三,將0u2030以後的所有非標號非拉丁文字逆時針旋轉90度,製作偽直排字型:
================ 非拉丁文字改方向之FF語法 ================
SelectAll()
SelectFewer(0u0,0u202F)
SelectFewer(0u3008,0u3011)
SelectFewer(0u3014,0u301F)
SelectFewer(0uFE63)
SelectFewer(0uFE66)
SelectFewer(0uFF08,0uFF09)
SelectFewer(0uFF0D)
SelectFewer(0uFF1C,0uFF1E)
SelectFewer(0uFF3B)
SelectFewer(0uFF3D)
SelectFewer(0uFF5B)
SelectFewer(0uFF5D,0uFF60)
SelectFewer(0uFF62,0uFF63)
SelectFewer(0x110b4d,0x110b7c)
SelectFewer(0x110b81,0x110b86)
SelectFewer(0x110db5,0x110db8)
SelectFewer(0x110dd4)
SelectFewer(0x110df3,0x110df4)
Rotate(90,0,0)
Move(880,-120)
================ 非拉丁文字改方向之FF語法 ================
文字轉向的位置偏移量各字型不同,主要以字型資訊裡設定的字體位置來微調。
上述語法也可以只做到選擇,轉向與移動按「元件→變換」(Ctrl+\)以圖形化介面做操作。




完成編輯以後,主選單按「檔案→產生字型」(Ctrl+Shift+G) ,這邊我儲存成TrueType格式。網路上大部分人建議下方的「儲存之前進行驗證」不要勾選,不然會花很多時間。

2023年6月9日 星期五

原俠正楷 GuanKiapTsingKhai ,現在簡轉繁也能自動轉成正確的字了

去年七月發布了自己整理的「原俠正楷」字型後,雖然有簡單的轉繁體功能,已經能夠方便閱讀簡體字文章,但未能很好解決簡體多字共用,一簡對多繁造成無法精確轉換的問題,總覺得還是要能做到動態辭彙對應處理才算完整。

前幾天芫荽字型改為正式版,霞鶩文楷前陣子也有改版,藉著這個機會,整理了新版字型及辭彙庫,終於將「原俠正楷」升級到有自動選字的新版本了。

話說繁媛明朝的作者,新加坡Ayaka小姐真神人也,怎麼這麼天才想到利用OpenType字型,字圖對應的方法實現多對多替換。當年看到還以為大佬也是大叔,沒想到才24歲!多謝她的理論與實踐做為榜樣,現在我也弄好了,以後看簡體書換字型就好不需要轉檔真開心。

「我发现皇后后面的头发很干燥,她说干什么不干你事」,
這種句子可以自動正確轉換成:
「我發現皇后後面的頭髮很乾燥,她說幹什麼不干你事」。
這樣不是很好嗎?!

「原俠正楷」

有需要的朋友們快來下載吧!

2023年5月30日 星期二

以 mklink 指令建立 Hard link, Junction, 或 Symbolic Link

現在使用的 Windows11 版本,不知為何無法安裝以前常用的圖形化工具:Link Shell Extension ,只好回來使用微軟內建的 mklink 指令。


官方的指令說明寫得不清不楚:

建立符號連結。

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      建立目錄符號連結。預設是檔案符號連結。
        /H      建立永久連結而不是符號連結。
        /J      建立目錄連接。
        Link    指定新符號連結名稱。
        Target  指定新連結參照的路徑 (相對或絕對)。


這樣寫太過語焉不詳,實際上這個指令的效果是:
  • 不加選項: 用於建立檔案的 Symbolic Link.
  • /D選項: 用於建立目錄的 Symbolic Link.
  • /H選項: 用於建立檔案的 Hardlink.
  • /J選項: 用於建立目錄的 Junction.

Hardlink, Junction, 與 Symbolic Link 都是連接到儲存裝置上面,實際資料的額外連結方式,類似捷徑但功能更完整,比如說可以複製移動。

Hardlink 是直接多一個分身但指向同一實體,會被視為獨立存在,可以改名字任意搬移或是刪除,不影響其他分身。直到刪掉最後一個分身,就等於全部整個刪除了。這很方便,但因為Hard Link指向的是每個NTFS磁碟區獨佔的檔案配置資訊,所以Hard Link無法跨磁碟區跟檔案系統。也就是說C槽資料只能增加Hardlink在C槽,不能在D槽。

相對於 Hardlink,Junction 與 Symbolic Link 屬於 Soft link,比較有彈性可以跨磁區,有點像捷徑,主體[標的]不能改名,刪除或移動[連結]時,[標的]不受影響。
Junction 的連結與標的只能是資料夾,必需是本機的本地檔案系統,且會儲存絕對路徑,主體搬家分身就失效。
Symbolic Link 的連結與標的可以是檔案或資料夾,可以在本機也可以在網路其他地方,可以儲存相對路徑,主體搬家分身可以不失效。可以視為 Junction 的進階版本,唯一缺點是建立時必須有管理員權限。


以上總結下來,日常主要以 Symbolic Link 為主,具體使用方式:

建立 [D:\Temp] 連結目錄,指向本機不同磁碟 [C:\Users\Tony\AppData\Local\Temp]
mklink /d D:\temp C:\Users\Tony\AppData\Local\Temp

建立 [D:\filelog.bak] 連結檔,指向網路位置檔案 [\\192.168.1.100\system.log]
mklink D:\filelog.bak \\192.168.1.100\system.log

做好的 Symbolic Link 要搬移、改名、刪除都可以任意處理。