[前言]
如同上一篇說的..首先必須要感謝的是iAcces
沒有iAcces就沒有方便好用的中文輸人法
沒有iAcces就沒有手寫輸入法....
沒有iAcces就沒有我所習慣的大易輸入法..
雖然小弟不是iAcces團隊的成員..
但是為了感謝iAcces專案..小弟也希望能努力為iAcces團隊及可樂羊兄盡一己之力
廢話不多說..這篇已經打第二次了...
昨天打了半天..結果電腦突然當機...努力都成泡影..
難過得要死.....幾度想放棄..想想還是繼續努力好了..哈
特別感謝可樂羊兄出面解決小弟的疑惑
[更新進度]
2008/07/23 發表
2008/07/25 編輯內容及修改至雜項完
[說在前頭]
1.小弟非iAcces團隊成員.對於iAcces的設定檔格是是以自己的認知觀察得到的..
所以本教學並非出自iAcces團隊..如果有誤.還請可樂羊兄指教..
如果可樂羊兄還沒能來得及糾正小弟..還請發現錯誤的夥伴要罵針對我...
不要咒罵無辜的iAcces團隊及可樂羊兄喔...
2.正因為前面的原因..小弟無權去阻止iAcces團隊去更改輸入法的格式..
所以本教學也許在iAcces某次更新就會變成無效文章..或是哪裡有問題..
小弟也會用最快的速度來改正..假使不小心小弟沒來得及改正..也請過我一馬吧XD
[教學開始]
一、認識iAcces的輸入法之組成
首先.在iPhone上.一個輸入法的組成..很顯而易見的是由三種東西來組成..
而iAcc很貼心的將這三個各別分成三個資料夾.分別是
1.輸入法的字根 ( Library/iAcces/ime/ )
很清楚的..電腦上的輸入法.也是靠著字根來拼中文字的.注音符號也是字根的一種.
在iAcces裡.字根所對應的文字.是不限定一個字的.也就是說.要輸入一個詞也是辦得到的..
在整個輸入法當中.最困難的應該就是這部份...中華文化博大精深.文字有上萬個.
要一個不漏的把所有的文字都包含進去...花的時間不是一點點而已..
所以能找到資源就變成是輸入法最大的課題了...
2.輸入法的鍵盤 ( Library/iAcces/images )
在電腦上.鍵盤是屬於一個硬體.按鍵有100個以上.所以能輸入的字根也就很多了..
而在iPhone上.能夠拿來輸入的.只有螢幕一個硬體..而要在這有限的螢幕上.
讓多達幾十個字根.可以用來輸入中文.靠得只有鍵盤的圖片..
一個設計好的鍵盤圖片.可以讓使用者方便輸入..相對的.要讓使用者方便輸入..
一些按了按鍵做什麼反應的圖片.也都非常的重要.這些都是放在這個資料夾中..
3.鍵盤字根的對應設定 ( Library/iAcces/ini )
試想.每個輸入法擁有的字根數量都不一樣.而圖片也沒辦法寫入任何資訊..
要如何讓iAcces知道.我按下鍵盤圖片後.我按到的是哪個字根.以及它要做什麼反應
這都不是由程式可以達到的.當然.要也行.但是這對系統的負荷相對的也會變重..
而鍵盤設計者在設計時.要遵循的規範必定也會變多.為此.不如省掉麻煩.用設定檔來設定
這些設定檔..完完全全都是放在這個資料夾中...
在這資料夾中.其實包含的不只有輸入法的鍵盤字根對應設定...
其中還包含著兩個很重要的檔案..也就是iAcces的基本設定檔直向根橫向.
這個在這部份不介紹.將會在下面一個章節做介紹..
以上的詳細設定.會在之後的章節一併做介紹...
二、認識設定檔
iAcces的設定檔.簡單來介紹.只有兩大類..
一種就是上面所說的鍵盤字根的對應設定..
而另一個就是整個iAcces中最重要最重要的設定檔.
而這個設定檔裡面所定義的就是現在我的iAcces裡面共有幾個輸入法.分別是哪些..
還有iAcces裡面.用到的圖片有哪些.分別是哪些圖片...
再來就是iAcces裡面.用到的英文及數字/符號的鍵盤是哪個圖片.
而這設定檔一共有兩個.分別是
1.Library/iAcces/ini/kb_define_base.ini
2.Library/iAcces/ini/kb_define_base_landscape.ini
顯而易見的.他就是鍵盤對應的基礎.一個是直向的..一個是橫向的.
這部份是不能改名字的.請務必要注意.(其它都可以.只要跟設定檔內所標明的一樣就好)
三、主要設定檔內容介紹
看了前兩節枯燥乏味的.接下來這部份就是重點了.要來介紹各項設定檔的內容了..
1.主要基本設定.
這部份就是整個設定的主要精神所在..他在[general]這個下面
打開設定檔後.會看到像這樣的格式
代碼:
[general] no_of_input_methods=4 ← 這個所代表的就是現在一共有幾個輸入法 (上限為20個) no_of_images=296 ← 這個所代表的是現在一共用了多少圖片 (上限為300個) no_of_123_keys=39 ← 這個所代表的是現在 數字/符號 鍵盤一共用了幾個按鍵 (上限為50個) no_of_ABC_keys=26 ← 這個所代表的是現在 英文 鍵盤一共用了幾個照片 (上限為50個) keyboard_base_123_image_no=113 ← 這個所代表的是 數字/符號 鍵盤用了哪個圖片 keyboard_base_ABC_image_no=102 ← 這個所代表的是 英文 鍵盤用了哪個圖片
整個iAcces的設定檔都是用這個方式.要記得很清楚喔..
想要找哪個圖片.就先去看圖片名稱.再去看在此設定檔裡他是編號多少.也就是輸入那個編號了
2.輸入法定義
這部份非常的簡單.就是每個輸入法.他的設定檔檔名是什麼
代碼:
[input_method_1] definition_file=kb_define_phonetict.ini [input_method_2] definition_file=kb_define_phonetics.ini [input_method_3] definition_file=kb_define_dayit.ini [input_method_4] definition_file=kb_define_hwt.ini
而流水號到幾號.就必須跟上面的no_of_input_method的數字相等
3.圖片定義
這部份跟上面一樣.也是非常的簡單...就是如同以下的格式.
每個圖片.他的檔名是什麼...
代碼:
[image_1] png_file=Kb_abc_wide.png [image_2] png_file=kb_123_wide.png [image_3] png_file=earth_wide.png [image_4] png_file=space_abc_wide.png ... [image_295] png_file=kb_dayi.png [image_296] png_file=ime_dayi.png
流水號到幾號就必須跟上面的no_of_images的數字相等..
接下來的鍵盤設定..因為很多地方跟各別輸入法的大同小異..就待會另一個章節再一起介紹
四、各別輸入法設定.
各別輸入法就是在上一章節中.在input_method_#所定義的檔名..
雖然沒有硬性規定..但是以容易辨認來說...我都是依循iAcces來做...
以注音輸入法為例來說...
kb_define_phonetict.ini
這個檔名..一共可分為三個部份
1. kb_define : 鍵盤定義的意思
2. phonetic : 輸入法的英文名.此例為注音
3. T : 通常不是T就是S.袋表的是繁體(T)或是簡體(S)
a.一般定義
一樣也是由[general]開始的基本設定
代碼:
[general] display_name=大易 繁體 ← 指的是在設定中顯示的名稱 no_of_ime_keys=40 ← 本輸入法一共有幾個按鍵 (上限為50個) keyboard_base_image_no=295 ← 本輸入法用的鍵盤圖片是哪一個 dictionary_file=dayi.dat ← 本輸入法用的字根表是哪個檔案 related_word_dictionary_file=related_words.dat ← 本輸入法用的聯想字庫是哪個檔案 ===========下列選項將在下個版本取消 ============ support_clicked_key=Y ← 是否支援"已按鍵特效" support_clicked_count=Y ← 是否支援"顯示按鍵次數" support_disabled_key=Y ← 是否支援"非有效按鍵特效" show_typed_code_area=Y ← 是否支援"顯示已按鍵" =======================================
如果是否支援XXXX是N的話..則在選擇輸入法那裡..這幾個特效都沒辦法打開..
b.一些雜項設定
.[typed_code_area]
本設定指的是已按下之字根..假設"顯示已按鍵"設為開啟.才會有作用...
用以決定要不要將已按之按鍵顯示在畫面上讓使用者知道自己打了什麼.
可以設定是要以文字方式顯示..還是以圖片模式顯示 (感謝可樂羊指正)
代碼:
image_no=141 ← 看到這裡應該很清楚這是什麼了吧..就是這個是用哪個圖片 image_x=16 ← 該圖片顯示在畫面的哪裡 X 軸 image_y=152 ← 該圖片顯示在畫面的哪裡 Y 軸 chars_area_x=0 ← 輸入的文字出現在該圖片的哪裡 (X軸) chars_area_y=0 ← 輸入的文字出現在該圖片的哪裡 (Y軸) chars_area_w=110 ← 輸入文字的區域有多寬.一般來說就是設圖片的寬度 (width) chars_area_h=32 ← 輸入文字的區域有多高.一般來說就是設圖片的高度 (height) 1st_char_x=6 ← 第一個字根的位置 (X軸) 1st_char_y=5 ← 第一個字根的位置 (Y軸) char_hspacing=1 ← 每個字根之間的間隔 char_vspacing=0 ← 每個字根之間的垂直間隔 mode=1 ← 控制顯示已輸入字根為圖片(mode=0) 或是文字 (mode=1) ============= 當 mode=1 (文字模式) 時以此為標準================ font_size=18 ← 顯示的字根文字大小 font_color_r=255 ← 顯示的字根文字顏色 (red) font_color_g=255 ← 顯示的字根文字顏色 (green) font_color_b=255 ← 顯示的字根文字顏色 (blue) ime_key_1_text=言 ← 顯示在此區域的文字 (若按下ime_key_1.要在此顯示什麼字) ime_key_2_text=牛 ← 顯示在此區域的文字 (若按下ime_key_2.要在此顯示什麼字) ... ime_key_39_text=舟 ← 顯示在此區域的文字 (若按下ime_key_39.要在此顯示什麼字) ime_key_40_text=竹 ← 顯示在此區域的文字 (若按下ime_key_40.要在此顯示什麼字) ==================================================== ============= 當 mode=0 (圖片模式) 時以此為標準================ ime_key_1_image_no=206 ← 顯示在此區域的圖片 (按下ime_key_1時顯示什麼圖) ime_key_2_image_no=207 ← 顯示在此區域的圖片 (按下ime_key_2時顯示什麼圖) ime_key_3_image_no=208 ← 顯示在此區域的圖片 (按下ime_key_3時顯示什麼圖) ime_key_4_image_no=209 ← 顯示在此區域的圖片 (按下ime_key_4時顯示什麼圖) ime_key_5_image_no=210 ← 顯示在此區域的圖片 (按下ime_key_5時顯示什麼圖) ime_key_6_image_no=101 ← 顯示在此區域的圖片 (按下ime_key_6時顯示什麼圖) ====================================================
指的是侯選字區域.當輸入一個字根組合後..會有一個區塊顯示侯選字區域..
以及選了字之後的動作...包含侯選區上選了字的箭頭.及畫面上大文字的顯示..
皆是在這裡設定
代碼:
image_no=134 ← 我相信不用再多說了.就是哪張圖. image_x=0 ← 位置 (X軸) image_y=200 ← 位置(Y軸) font_size=22 ← 顯示在侯區域的文字呎吋 font_color_r=255 ← 顯示在侯區域的文字顏色 (RED) font_color_g=255 ← 顯示在侯區域的文字顏色 (GREEN) font_color_b=255 ← 顯示在侯區域的文字顏色 (BLUE) char_width=24 ← 指的是每個侯選字的寬度 char_height=44 ← 指的是每個侯選字的高度 chars_area_x=0 ← 侯選字區域從圖片的哪裡開始 (X軸) chars_area_y=0 ← 侯選字區域從圖片的哪裡開始 (Y軸) chars_area_w=224 ← 侯選字區域寬度 (width) chars_area_h=44 ← 侯選字區域高度 (height) 1st_char_x=10 ← 第一個侯選字的位置 (X軸) ,就是設定文字的啟始定位點 1st_char_y=9 ← 第一個侯選字的位置 (Y軸) ,就是設定文字的啟始定位點 char_hspacing=12 ← 每個文字之間的水平間隔 char_vspacing=10 ← 每個文字之間的垂直間隔 onclick_image_no=214 ← 目前按到的侯選字位置的指示圖 (beta2是倒三角箭頭) onclick_image_ofs_x=0 ← 指示圖位置 (X軸) onclick_image_ofs_y=-8 ← 指示圖位置 (Y軸) next_prev_gesture_sensitivity=15 ← 未知.試不出來.Q_Q clicked_image_no=213 ← 讓你知道目前按到的侯選字的背景圖 clicked_image_x=0 ← 侯選字背景圖的位置(X軸) clicked_image_y=0 ← 侯選字背景圖的位置(Y軸) clicked_word_font_x=0 ← 目前按到的侯選字的文字區域位置 (X軸) clicked_word_font_y=0 ← 目前按到的侯選字的文字區域位置 (Y軸) clicked_word_font_w=320 ← 讓你知道目前按到的侯選字區位寬度 (width) clicked_word_font_h=200 ← 讓你知道目前按到的侯選字區位高度 (height) clicked_word_font_size=80 ← 目前所選侯選字之字體呎吋 clicked_word_font_color_r=255 ← 目前所選侯選字之字體顏色 (RED) clicked_word_font_color_g=255 ← 目前所選侯選字之字體顏色 (GREEN) clicked_word_font_color_b=255 ← 目前所選侯選字之字體顏色 (BLUE) clicked_word_font_style=2 ← 不確定 (應該是字體樣式.但是我試只有0跟2兩種)
.[ime_word_selection_prev_page]
.[ime_word_selection_next_page]
這三個擺一起介紹是因為此三個內容都相近..功能也差不多..
出現的屬性也都相同..所以擺一起介紹
簡單來說..就是侯選區旁的三個按鍵 分別是取消、上一頁、下一頁
取消指的也就是放棄這次所打的字..重新打過..
上一頁及下一頁就是侯選字在上限以上.會出現多頁.這時侯就用這個來換頁
代碼:
touch_x=224 ← 按鍵的啟始位置(X軸) 指的就是按哪裡他會觸動此項定義按鍵 touch_y=0 ← 按鍵的啟始位置(Y軸) 也可以說是iAcces用來感應你按到哪個鍵的感應區 touch_w=32 ← 按鍵的寬度 (width) touch_h=44 ← 按鍵的寬度 (height) image_no=135 ← 此按鍵有作用時是哪個圖片 image_x=224 ← 此按鍵顯示的位置 (X軸) image_y=0 ← 此按鍵顯示的位置 (Y軸) pressed_image_no=136 ← 此按鍵按下去之後顯示哪張圖
c.各別按鍵定義
介紹完雜項按鍵後..就是要介紹各別按鍵了...
其實在各別按鍵中..大多都大同小異...了解一些規則後其實你自己也會推..
各別按鍵基本上分為三大類.
分別是
1.ABC_keys
2.123_keys
3.ime_keys
另外還有一類是special_keys..在這裡就讓我們先來介紹這類
這一類的話其實就是除了輸入法按鍵外的其它按鍵
此種按鍵是上面三大類都有出現的...
他的規則就是special_keys + 上面的三大類 + 他專屬的按鍵名..
像是
special_keys_ABC_return
special_keys_123_backspace
special_keys_ime_spacebar
special_keys_123_earth
special_keys_ime_return
...等等
而他專屬的按鍵名有下列幾種..
1.spacebar
2.earth
3.return
4.backspace
5.ABC
6.123
7.chin
8.cancel
9.change
10.change_ime
[未完待續]
iOS 12 正式開放更新(集中討論)
30 分鐘前 進 iPhone 疑難雜症發問區