2016年4月12日 星期二

有關「Scratch2中文積木預設字型過小」的學習過程

一開始的嘗試:2016 年4月6日 16:29

---------------------------------

【對Scratch2積木預設字型過小的執著】

一直對Scratch2中文積木字型過小很在意,網路上能找到的方法,就是按住shift鍵,再用滑鼠點地球,把字型變大,這個動作無法記錄,每次都要做,再加上如果要教學生的話,就變得很麻煩。
放假這幾天,身邊有3本git與github的中文書,有空就看看,讀到fork那部份時想想,來fork什麼好呢?就來fork scratch-flash好了。
一fork下來,就用盡各種方法來找字型的那個code,好不容易找到了:
可是action script!很久以前有看過書,但語法完全沒概念。但是由於對這個缺點的執著,就來試試!先試試看怎麼建立swf檔,經過了許多失敗.........終於找到一個可以build swf檔的方法了,都快哭出來了:
好不容易build成功,但是把swf換到scratch2的目錄,發現出來的有些不同,有些多媒體檔無法加入,但是不管,那個地球的圖示還在,可以測試就好了。
第一個事情就是要把相關的變數印出來,可是…找不到方法,也沒有console、也叫不出物件(語法架構不熟),Action Script真的是不熟,試了網路上的方法就是印不出來,本來就放棄,但是就是因為執著,再試試吧,在找code的過程,發現一件事,就是有人幫簡體字做好大字型的程式了:
雖然有點失望(os:怎不幫繁中也做一下),不過經過我反覆測試發現,切換成簡體字的,並不能把積木字體變大,奇怪,為什麼呢?本來想放棄,但是因為「執著」,再拚拚看。 後來就隨手試,最後終於找到原因了,因為以離線版為例,翻譯的資料夾(locale)有繁體有2個po檔(zh_TW.po , zh-tw.po),簡體有2個(zh_CN.po, zh-cn.po),原來的程式只有放進簡中的zh_CN,但應該是另一個,所以我就把fork下來的程式的array改成簡中繁中4個po檔都包括,經過build後,在我的電腦上成功,順便把字型調大一些(應是12)。改好的程式如下:
那改好的程式怎麼交給原來的scratch-flash,這個github的書有講到,修改後,可以發出一個pull request ,請求原作者將修改併到原來的專,我的pull request如下:
雖然寫到這,網站上的自動build測試不知為什麼失敗了,而且也不知原來的團隊會不會接受這個修正,但是以過程來說,是一個學習git與github的歷程,也稍稍體會一下什麼是程式社交功能。(雖然也2行code,就花了一天的時間)。
希望這個修改可以併到Scratch裡面,可以幫助像我一樣對字型過小很「執著」的人,有學過Action Script的人,也可以幫我看看有沒有問題:
註:這篇文的裡標題是「我不是處女座,可是我很執著」

---------------------
過了5天,沒有回應,可能是說明太簡略,於是再寫一篇詳細的說明:
說明問題、影響與解決方法,並有圖片清楚說明
https://github.com/LLK/scratch-flash/issues/1073

----------------------
在清楚的說明後,不到1天內,就得到了正面回應:

-----------------------------------
修改程式合併:







沒有留言:

張貼留言