718萌典松前松:動態組字技術討論
討論議題
- 上個月維基年會和中文社群的進展報告(測試 wiki 站與Live demo)
- 技術簡介
- 分為組字server端與MW的插件端,
- 準則「先求顯示既有unicode無解缺字,再求美」
Taiwania Justo Shao-dian Jhang未來是否會邀請如 justfont 等字形製作團體或公司去修飾字體?
他們是傳統靜態組合的技術,動態組字的是靠演算法自動運算
有些偏旁原本字體可能沒有:⿺最後一筆要拉長、⿰左部件需變體、…
GlyphWiki 上有一些專門用來作偏旁的變形字(宋/明體)。
- 線上討論:維基社群等跳坑加入協作的方式,劃分為組字server、MW插件端,甚至可能加上瀏覽器插件(有人想作的話)
- 組字server:
- 黑體支援
- 包圍、半包圍部件的回報機制
期待! 有些字由目前的字組出來尚不美觀。
宋體似乎支援度最高,有些組件用楷體無法輸出,會變成半宋半楷。
關於美觀,就是先求有,再求美。因為目的是要在維基文庫能顯示出可交換的缺字。而缺字的自動演算法,其實相當於電腦自動寫毛筆字
既然都open source,大家就照自己的想法發issue,讓(大家去搶)工程師決定先做哪一個。
每個人的需求都不一樣,shoichi想要先能用,但楊翔希望做出來就漂亮,馬上展示給別人,沒有一定誰好誰壞
我會幫忙先讓思源黑體能支援,因為黑體是維基網誌最高比例用到的字型,動態組字能組出黑體,比較好融入原來傳統靜態組字的黑體字型
蓋 http://j.mp/字造者 類似 意傳. 的網站,讓人參與,跳出回報對話窗。越多參與,越能周全回報。
回報內容公開,依熱門度解issue。
Q:有沒有辦法在造字的網址上回報?最直接key在網址後面。
你說直接在 意傳 或其他網站上做個按鈕之類的?按鈕之後再自動post去表單
是的,在造字過程中有問題回報。
建立結構化的回報機制。
如:"變體"方式。部件理想的組合比例。
http://j.mp/ctaiwanr 這邊有搜集部件,簡體部件似乎不支援?
網頁顯示不出來@@
好像沒問題了!! 之前有部碰到框框字。只是字型沒有楷體:



後面沒有組件的話就不影響
對呀,楷體字體的部件比較少
目前我把zh-tw看得到的部首都回報囉。還有其它的可用的部件嗎?
目前是回在iissue,然後有人commit上去,主機就可以更新了
也可以弄個google form收集 http://j.mp/ctaiwanl
ethercal/google sheets
有哪些部件可以用,要看字體有沒有那個部件,所以加其他字體(黑體)需要看他部件有多少
是的
缺部件的字形,也可以自己畫? XDXD
- 包圍、半包圍部件的實作問題
我三部五時看到時事就會創作一些字,碰到問題會回報。想開個網站邀請有興趣的鄉民來造字,也有回報介面。
- 原碼文件英文翻譯(基金會工程師 code review)
加在javadoc上就好了
shoich: 不是javadoc,是做英文版的README
丞宏:我們要先整理程式到有辦法review吧
他們已經在review了
- MW插件端:
- 改用mw的機制來cache圖片,不再直接呼叫組字server
- 字型變換語法
- 字體大小變換語法
有被呼叫過的字若存在資料庫,或許可減輕負擔。
這個承宏的server已經是這樣作的,不過在維基端這邊,應該還會作一層cache
目前png, svg的輸出大小似乎為固定?
對目前對目前是固定的
若能加上大小語法,使用上更靈活。
當初沒這個參數好像是我程式有一些限制,可能沒有這麼好改,不過可以現在發在issue上
喔不,這是我們在MW插件這邊的課題,就是<ids size=50>一類的設計,基本上 server png傳出來圖片是夠大的,是我這邊要給ids標籤加上方便排版用的語法
- 其他語法?
有沒有辦法自定義念法,如果使用者為這個字命名了一個念法,或是本身此字就有固定念法,能夠在輸入語法上做一些調整。
類似,但我覺得可以從伺服器端就能夠讓使用者定義念法,經過一定的審核機制後列入,並且在 MediaWiki 的輸入介面或別的網站的輸入介面中,由念法選擇自定義造字。這會大量減少輸入組字指令的時間。
可以寫在線上編輯器,再自己複製過去XD chrome外掛做得到嗎?其實我用fx耶
- 輔助輸入的extension
組字符號的輸入替代方案,也就是可以直接用鍵盤key得出來的符號能替代
可以寫個chrome外掛,ctrl+q就跳出`⿰`、ctrl+w就跳出`⿱`之類的
這不夠泛用,我應該會用WM的template 替代,例如{{ids|a}}=`⿰` {{ids|b}}=`⿱`
詳細程式修改
- 檔案/函式/變數命名
我個人較希望用漢字檔名,用英文檔名門檻傷懸
問題就是不是所有的server都良好支援漢字 >_<,但函式、變數就可以用漢字了,雖然我們現在只有對Linux的氾JAVA AP server考慮,但是在Windows上,這種檔名字字碼的問題更複雜,英文檔名可以降低未來其他人佈署上的難題,漢字組建server未來被運用的範圍就越廣。
可以麻煩把遇到的log貼在issue 上嗎?windows可以執行程式呀,不懂你指的是什麼?只要用英文檔名,一定和內容變數不一致,會提高其他開發者的門檻。這種服務只要我們兩個都能佈署,其他人不太會出問題,而且一般人有可能就弄前端,後端就接我們的。這麼多issue,一定要先降開發的成本。所以我覺得首先要降低「開發」的成本,「佈署」只要文件整理一下,就可以輕鬆許多
可是現在是中文檔名佈署進維基基金會的server就是全部變亂碼
可以貼log來看嗎?
我得找舊版的來佈署進去看看。其實log我用說的也可以,有兩個,一個是 ???????.class not found 另一個是 /XXX/XXX/OOO.ttf cannot found
直接用新的gradle來試吧?不然我改一個給你
好,你改一個全部是中文檔名的給我,或者幾個關鍵原碼、字型檔換成中文檔名
佈署是沒有問題,問題是跑起來,就會出現那些錯誤
用ecilpse→team→fetch from upstream,再team->switch branch→other→remote→origin/漢字檔名→create branch
看到了,不過可以直接會醉明顯改程式的入口嗎?因為你是用三元素的那一個,程式的入口那個Servlet會最明顯
程式入口沒改沒差吧XDD 我只要裡面可以換就好了
我說的是 IDSrendServlet.java
不過也沒差,測三元素組合就知道
log再麻煩你直接貼在pull request,那邊比較好看長資訊
好
謝謝嘍!!!!
測完了,已經把錯誤訊息回復回去了。
會後討論
上面要做的事情這麼多,以現在的狀況來說,只能先挑幾項事情來做。我今天在想,其實大家想要這個專案目的似乎不太一樣
我如果有誤解請糾正我
1. 對楊翔來說,需要的是展示成果,所以會希望後端每個組出來的字都漂亮,才有辦法給別人看
2. 對shoichi來說,需要在wiki上能正常使用/顯示,所以著重在wiki上佈署和前端
3. 對我來說,希望專案能一直發展下去,所以我著重在檔名變數名、javadoc、試驗、…
4. 不知道還有沒有其他人有別的需求
到時7/23萌典松我應該沒什麼時間(itaigi 要拼上線 XDD)
如果有需要的後端工作就先貼到github上吧,我可以先估工作量。不過後端程式目前還有點亂,可能以前端的工作為主會比較好一些