array30 icon indicating copy to clipboard operation
array30 copied to clipboard

space_style 設為 2 的理由是?

Open hungte opened this issue 5 months ago • 3 comments

想請問一下最近在比較 CIN 表格時,發現 GCIN 原生的表格通常是設定 space_style 為 4, GCIN 自己對 space_style 的說明也是行列跟倉頡設為 4、簡易才設為 2 (4 跟 2 的差異主要是打滿組字長度 [行列30原始為4鍵,雖然現在很多表格有5鍵或更多的詞鍵])。 印象中原始行列的設定也是打滿不主動上字、一定要按空白。

可以問一下老刀版的表格幾乎都是設 2 的原因嗎?

hungte avatar Aug 30 '25 16:08 hungte

可能是為了與某些 CIN1 輸入法相容。我看老刀給 CIN2 用的表格裡面刪掉了這一行。

ShikiSuen avatar Oct 09 '25 18:10 ShikiSuen

  1. 我個人認為,設為 2 才是符合行列輸入法規格書的定義。
  2. 依據「行列30」規格書,漢字拆碼長度雖為 4 鍵,但因配合罕用字加 i (8^) 的慣例,應視為第五鍵來處理。

gontera avatar Oct 25 '25 07:10 gontera

根據 gcin 的定義,

  • 2: GTAB_space_auto_first_full: 「按滿按空白送出第一字」。
  • 4: GTAB_space_auto_first_nofull: 「按滿按空白不送出第一字」。

根據2017版的行列30規格書

【按第四個字根鍵】

  如果User接下來繼續按第四個字根鍵,那麼就將剛好符合這四鍵的字找出,先
顯示在輸入法視窗,讓User「預視」及「預選」。
  當User按了 [Space],處理同前所述。

【按第五個字根鍵】
 
  目前各系統都支援Unicode Extension,這些大字集的行列編碼最長為五碼(最
後一碼固定為[I]鍵),所以如果User接下來繼續按第五個字根鍵,那麼就將剛好
符合這五鍵的字找出,先顯示在螢幕下方讓User「預視」及「預選」。
  按五個鍵之後,如果按 [Space],處理同前述。

可以看出不管是四鍵還是五鍵,行列的設計都是等按SPACE(變換)才會送出。 雖然「預選」稍微有點接近送出,不過以GCIN的「送出」是跑出編輯區來看,五鍵沒按空白仍然不算送出。

hungte avatar Oct 28 '25 03:10 hungte

行列輸入法最早是在「倚天中文系統」中實現。當時的行列輸入法是按滿四鍵自動送字,比較接近 %space_style 2 的呈現方式,我製作的 .cin 也將這個呈現方式保留下來。

gontera avatar Nov 18 '25 15:11 gontera