資訊

於 Windows 10 讓 Rust 專案使用 Cairo 和 Harfbuzz函式庫

Cargo.toml 中的 Dependencies 插入如(版本請依最新版而定):

[dependencies]
harfbuzz_rs = "1.2.0"
cairo-rs = "0.14.1"
glib = "0.14.2"

安裝 MSYS2,用該程式的終端機安裝下列程式:

pacman -Sy mingw-w64-i686-cairo mingw-w64-i686-glib2 mingw-w64-i686-harfbuzz

Windows 10 的控制台的「系統>進階系統設定」的「環境變數」的 Path(路徑)附加

C:\msys64\usr\bin</pre>

在編譯命令列中 Powershell 加入這句

$env:PKG_CONFIG_PATH+="C:\msys64\mingw32\lib\pkgconfig"

cargo build 應該就沒問題了。

Clochur 玩具語言直譯器以及編輯器0.0.1發佈

(最新更新:2021-07-10)

介紹

這個軟體是一個玩具語言的直譯器以及編輯器,使用者可以在以PyQt5的Qscintilla函式庫撰寫的編輯器中,使用一種以方括號[]區隔語法邊界的類似LISP的語言,透過用Python3寫的直譯器轉換成SILE排版引擎(類似LaTeX)能夠讀得懂的XML語言,再用SILE轉換成.pdf。

雖然講得有點複雜,總之就是一個可以從LISP產出 pdf 的玩具語言和編輯器。但是不可能像LaTeX和SILE那麼齊全就是了,就算有巨集擴展。

論小說平台去中心化的可能性

(首於2021-04-24張貼在Episode.cc)

  最近本站(註:Episode.cc)某個事件,雖然站長表示已暫時撤掉針對使用內容過多而收費的政策,但已經引起許多作者的爭論。有些人認為文手是文學網站的資產,是吸引這個站發展人氣的原因,不應該本站成長了,就因伺服器不堪負荷而拿作者開刀。但是也有些人認為,為了維護這個站點的未來營運,收營運費是合理的。

愛爾蘭語的動詞變化產生器 demo

做了一個愛爾蘭語變化的產生器,是規則動詞(第一類動詞和第二類動詞)的變化產生器,不含動名詞和過去分詞。也是 TypeScript 的練習。

語言特性

(最新更新:2021-02-08)
有關之前想做一個程式語言玩具語言的打算,現在想想,如果要實現程式語言本體的話,可能會比較複雜。但是假設先實做語言特性或是編譯器特性的話,至少這樣的目標比較簡單。未來如果有時間要實做新的語言,可能也會比較好做,至少有個參考。

不然我這邊先列一下語言特性相關的 script 好了。

解決 Linux Mint 19 中 Firefox 顯示點陣字體時出現短豎線的問題

免責聲明:以下僅供參考,本文作者不為使用者執行以下內容之後果負擔任何責任。
感謝 zhangboyang-id 提供 patch。

最近更新到 Linux Mint 19(Ubuntu 18.04 的衍生版本),發現到顯示點陣字形的時候,字之間會有|豎線,查了一下,中國那邊的論壇傳出了災情(火狐中國相關討論Ubuntu-cn 相關討論)。雖然有人在 Launchpad 提交了 bug 的 patch,但好像 Ubuntu 還沒有接受更新。唯一的 workaround 就是用 apt source 把原碼抓下來自己改,然後再重新編譯成 package 覆蓋系統的新版本。

在 Linux 將 PDF 彩色轉成黑白

(最近更新:2019-03-10,修正指令的錯誤)

免責聲明:以下僅供參考,本文作者不為使用者執行以下內容之後果負擔任何責任。

最近因為下載過著作權保護的愛爾蘭語相關著作古籍,這些書籍是黑白印刷的,但是因為紙張泛黃,和黑白相比,並太不適宜閱讀,轉成灰階對比度較低,更難閱讀。若是列印供紙本閱讀的話,當然希望能夠用黑白列印就好了。所以就有如標體所述,將這種彩色 PDF 轉成黑白的需求。

偵測 Linux 筆記型電腦電量 ê 程式

(上尾更新 tī:2019-11-11)

實在 tsih-tsài 袂牢電腦無通知直接斷電 ê 情形,tshiau 過 ê 足 tsē 資料 mā 無法度解決。

姑不而將,家己寫一个 shell script。

必要 ê 套件:

  • upower
  • zenity
  • sh

將 hit 个 shell script khǹg 好,chmod u+x system-autodetect-battery-and-hibernate.sh。

Koh 用 crontab -e 指令,加每 x 分鐘執行這个程式 ê routine。以「每 3 分鐘執行囥佇 /opt/ ê system-autodetect-battery-and-hibernate.sh」做例:

0-59/3 * * * * export DISPLAY=:0 && /opt/system-autodetect-battery-and-hibernate.sh

向望 tse 有效。

遞迴下降分析器的簡介

以下內容僅為非資訊專業者所寫的心得,不保證內容正確性。
(最近更新:2019-07-22)

語法樹

就算沒有學過編譯器的人我想很多都知道,編譯器是把一種語言的程式翻譯成另一種語言者的工具。在轉成其他語言之前,需要將這個語言轉換成一棵樹狀結構 (抽象語法樹,abstract syntax tree),來分析被編譯的程式內容是什麼。大概就像我們在翻譯一門語言的內容前,可以先將它轉換成語法樹。