Skip to content

Releases: groverlynn/squirrel

UI improvement v0.18.0u

24 May 01:37
Compare
Choose a tag to compare

包括下述UI改進:

  1. 修正直式輸入面板的排版(採用NSTextView),直立(upright)的寬字符和側臥(sideways)的窄字符均能對齊基線。Emoji在橫式和直式下均不會產生基線跳躍。(MacOS 12及以後的版本採用新的textkit 2API,對部分罕用字符的支援度高於MacOS 11及以前的系統使用的textkit。)
  2. 修正輸入面板與遊標之間的相對位置:
  • 輸入面板相應邊界或輸入面板內的輸入遊標對齊App內的文字輸入遊標。
  • 輸入面板和App的文字輸入的上下邊界之間均保持一定距離以避免遮擋,特別修正了輸入面板位於App文字輸入位置以上時未留足空間而導致遮擋的bug。
  • 新增支援App內文字直式輸入時(sweep vertical)輸入面板的智能定位,輸入面板爲橫式或直式均適用。
  • 新增允許滑鼠臨時性拖拽輸入面板,可以查看被輸入面板遮擋的內容。輸入面板會在下一輪輸入(清空當前輸入或確認上屏後)或面板超出屏幕邊界時回到默認的位置。
  1. 候選項線性(linear)排列模式下只在選項之前或之後換行/列,確保同一選項不分屬兩行/列,除非單一選項長度超過上限。修改行間距(line-spacing)實現方式以避免出現高亮多邊形摺疊、並且橫式各行上下居中/直式各欄左右居中。
  2. 修改native方案配色以更接近系統顏色,其中選項標籤和高亮選項背景色採用預設(accent)顏色。
  3. 選項標籤默認採用全寬(full-width)的1234567890。其中第十項改用以反應實際按鍵。直式模式下全寬數字保持直立,更利閱讀。修改後選項標籤部分確保等寬,無需設置專門字型。同時,標籤的缺省字型則改爲數字等寬(monospaced digit)的系統字型。當然,用戶仍可以自選字型、自定選項標籤字符。自選字型優先使用數字等寬(monospaced)或字母數字半寬(half-width)(若字型支援)。
  4. 輸入面板邊框(border)厚度遵從用戶設定,區分上下邊界的邊框高度(height)和左右邊界的邊框寬度(width)。
  5. 新增頁碼及翻頁提示(◃⃝/◂⃝及▸⃝/▹⃝,空心代表盡頭,無法繼續翻頁)。線性(linear)模式位於末行行尾,堆疊(stacked)模式獨佔末行),用戶可以知曉當前是否爲第一頁(尤其在回翻時),以免不慎繼續使用,向前翻頁觸發上屏。翻頁提示符亦是翻頁鍵,支援滑鼠和觸控板直接點選翻頁,terminal等APP攔截鍵盤方向鍵時也可以點選面板上按鈕。選項開關:style/show_paging
  6. 半透明(磨砂)參數translucency修改爲程度,取值爲0到1之間,0爲不透明,1爲完全透明(與alpha相反/互補)。無需另外設置半透明的背景色(back_colorpreedit_back_color)。註:背景顏色的alpha通道、輸入面板的alpha值、輸入面板的translucency值互相獨立且效果疊加。因半透明效果會混合系統的淺色或暗黑模式,所以輸入面板的配色也必須使用相應的淺色或深色,否則會呈現並非半透明的效果。如果選用的背景色與淺色/暗黑模式衝突,會自動替換所有顏色爲其亮度(Lab*色彩空間之luminance)上的補色。
  7. 支援滑鼠和觸控板直接點選候選項。主鍵/單指上屏,次鍵/雙指刪除自造詞或歸零詞頻(相當於高亮該候選項然後執行shift+Fn+delete)。開啓翻頁提示(show_paing)時支援滑鼠和觸控板主鍵/單指點選翻頁提示來翻頁,次鍵/雙指分別相當於HomeEnd。主鍵/單指點選輸入編碼區的⌫退格,次鍵/雙指點選相當於esc
  8. 若直接點選輸入編碼區域,可直接將輸入遊標(I-Beam或caret)移動至所點選的位置(inline模式前提條件是host app不攔截滑鼠事件)。注意:如果所選位置屬於已選詞部分,選詞會被打散,效果完全等同於用鍵盤方向鍵移動遊標至該處。
  9. 支援背景使用圖片(設置項:back_image,默認路徑為~/Library/Rime),此時半透明(磨砂)參數translucency代表背景色(back_colorpreedit_back_color)遮擋背景圖片的程度,0爲背景色徹底遮擋背景圖片,1爲無背景色/只顯示背景圖片 。
  10. 新增候選項線性排列模式linear的子模式:表格式排列tabular。表格模式中,候選項盡可能地居左對齊,高亮區域覆蓋候選項所在的整個單元格。表格式默認模仿系統輸入法卷軸式展開,同時顯示5頁(至多50個)候選詞。右鍵/輔助按鈕點按展開收起按鈕可鎖定。
  11. 新增設置:行長line_length(橫排時爲候選框每行寬度,直排時爲候選框每行高度,單位爲point)。當取值爲正數時,文字框長度即固定不變,選項不足一行時留空補足該長度(tabled表格式排版時,以單元格為單位向下取整,單元格寬度為2/4/6/8…個漢字寬)。另外,line兩端額外留有半個漢字寬的padding(不計入line_length中),避免文字被圓角切割。
  12. 修正了選項標籤字符不帶強書寫方向(strong writing direction)時(比如符號)選項中的由右至左書寫字符導致整個選項書寫方向改爲由右至左的bug。修正後選項整體保持由左至右的書寫方向,由右至左書寫的字符串則由右至左嵌套其中。
  13. markdownhtml<tag>語法對候選項套用加粗**__)、斜體*_)、下劃線(<u>)、刪除線~~)、上標(^)、下標~)等樣式,以及ruby注音(Unicode範式:U+FFF9文字U+FFFAㄨㄣˊ ㄗˋU+FFFB,注音部分以空格斷字;三個定位符號可使用UTF8編碼輸入,比如U+FFF9即是\xEF\xBF\xB9)。相關的設定項為candidate_formatcomment_format
  14. 暗黑模式(Dark Appearance)不跟隨系統,而是跟隨調用輸入法的App界面。如系統暗黑模式但文檔背景白色,則輸入法也使用淺色配色(前提是分別設置了color_schemecolor_scheme_dark,或使用color_scheme: native,或啓用半透明磨砂效果/translucency為正數)。
  15. 選單switches可控制樣式style(會覆蓋當前color_scheme的相應設定)。既可以是單獨控制樣式的switch,也可以附屬於其他switch之上。相關的設定項為方案的style/<option_name>。典型應用場景:根據繁簡選擇相應字型。
    假定switches中有一組繁簡轉換選項options: [ zh_TW, zh_HK, zh_Hans ],則style中設定如左:
zh_TW:
  font_face: "PingFangTC-Regular"
  comment_font_face: "PingFangTC-Light"
zh_HK:
  font_face: "PingFangHK-Regular"
  comment_font_face: "PingFangHK-Light"
zh_Hans:
  font_face: "PingFangSC-Regular"
  comment_font_face: "PingFangSC-Light"

上述所有UI改善均無需提高最低系統要求,保持最低支援macOS 10.15(最低支援MacOS 10.6,需配合librime 1.8.5-)。一圖以蔽之:
Screenshot 2023-06-30 at 00 25 07

背景圖片
Screenshot 2023-06-30 at 02 34 46

固定行長(本例為200 pt)
Screenshot 2023-07-05 at 03 29 12

tabular表格式排列
Screenshot 2024-03-09 at 08 22 58

所有依賴combining marks的合成字符均能夠正確顯示(註:多數合成字母和數學符號有專門的碼位,所以已被unicode官方建議不要使用,例如不建議使用U+0061U+0304 | ā,而應使用U+0101 | ā)。
Screenshot 2023-06-29 at 20 05 43 (2)

此外,這個PR沒有 rime#749 新引入的諸多bug:

  • 候選高亮框和翻頁高亮框相當於按鈕,整個高亮框100%可點選,沒有高亮框和滑鼠點選區域錯位的問題。
  • 輸入面板不會在每個輸入動作(包括且尤其是翻頁選詞)之後發生上下左右隨機一個方向1px的晃動。在開啓remember_size之後,進一步確保輸入面板左上角(豎排右上角)錨定,最大程度杜絕輸入面板不停跳躍的毛病。
  • 所有UI參數嚴格遵守用戶設定,不會隨意增減行高、字間距等。狀態調整提示方塊不帶任何行間距和段間距,不會有惱人且無法消除的留白。
  • 線性模式下不會優先在空格處換行,所以不會有左首對不齊或者末尾多出來一行空白的問題
  • 移動滑鼠可以有效控制候選項的高亮區域,不會在滑鼠離開面板後強行回彈到初始高亮選項,也不會有同時使用滑鼠和鍵盤導致輸入法崩潰的問題。
  • 用滑鼠/觸控板選詞或換頁不會有明顯卡頓,更不會出現高亮框或翻頁明顯滯後跟不上滑鼠的問題。
  • 鎖定列高,不會因爲系統自動替換字體(如emoji)而導致列高變化晃動。
  • 改善內存管理,降低內存使用。特效全開的情況下,高峯內存使用也僅30MB(intel集顯芯片所佔內存可能需要翻倍)。

Extended Functionalities v0.18.0e

24 May 01:38
Compare
Choose a tag to compare

This version, backed with librime v1.11.2-e, compromises extensions including: