主題: iPad繁體輸入討論
顯示結果從 21 到 30 共計 42 條
-
05-20-2010 #21
你先把增加定義選項的方式公佈一下吧
我還沒辦法開啟選項
原生鍵盤圖檔在Other.artwork之類的樣子...
因為他的大小比iPhone的大20幾MB
還有Cydia有個iPad希伯來文輸入法安裝(要7.99)
不知道可不可以拿來研究
-
05-20-2010 #22
-
05-20-2010 #23
對了,忘記告訴你,你有沒有發現你一直研究注音,但是我一直研究手寫?
因為我覺得注音太難弄了,你根本不知道iPad裡面有沒有注音的定義檔案,
甚至連注音的鍵盤圖案到底存不存在都是一個問題,
拼音跟手寫的話因為確定有簡體,所以只要改辨識問題就可以了,比較起來簡單了許多
-
05-20-2010 #24
感謝皮樂前輩的提醒。
注音部分,我在OS 3.1.3的artwork中並沒有看到任何注音鍵盤
因此我猜想他是拿空白鍵盤在把***貼上去的。
至於定義檔,則是在/System/Library/Frameworks/UIKit.framework裡面
Chinese-Keys.kbstar檔案。
摘錄部分內容:
Zhuyin-Letter-B isa Key :
{
RepresentedString: "*"
DisplayString: "*"
DisplayType: String
InteractionType: String-Popup
}
Zhuyin-Letter-P isa Key :
{
RepresentedString: "*"
DisplayString: "*"
DisplayType: String
InteractionType: String-Popup
}
Zhuyin-Letter-M isa Key :
{
RepresentedString: "*"
DisplayString: "*"
DisplayType: String
InteractionType: String-Popup
}
之前有提到過,OS 3.2的UIKit.framework沒有.kbstar檔,也沒有.keyboard檔。
.kbstar檔定義了各種不同語言的特殊符號(ex:韓文就是一堆韓文字)
.keyboard檔則定義了鍵盤按鍵顯示在iPhone/iPod Touch上的排列組合方式
由於這兩個OS版本差很大,很多部分我都是用猜的,慢慢try…
覺得iPad被搞的太亂時,我就整個重刷。
言歸正傳,今天下午研究的詳細過程整理如下:
改鍵盤的方法:
在/User/Library/Preferences裡面
有一個隱藏檔,叫做.GlobalPreferences.plist
把它用BBEdit打開
找到<key>AppleKeyboards</key>
在<array>與</array>之間,插入以下xml標籤
<string>zh_Hant-HWR*sw=HWR</string>
<string>zh_Hant-Zhuyin*sw=Zhuyin</string>
這樣就可以在鍵盤那邊,看到注音跟手寫的按鈕了
之所以想要這樣修改的原因是,在3.1.3裡面的同一個檔案
裡面是這樣定義的:
<key>AppleKeyboards</key>
<array>
<string>en_US</string>
<string>zh_Hans-Pinyin</string>
<string>zh_Hant-HWR</string>
<string>zh_Hant-Zhuyin</string>
</array>
因此我才想試著直接修改OS 3.2上面的這個檔案
現在解釋一下我的想法:
原本在這個檔案中,是這樣寫的…
<key>AppleKeyboards</key>
<array>
<string>en_US*hw=US;sw=QWERTY</string>
<string>zh_Hans-HWR*sw=HWR</string>
</array>
這就是英文鍵盤配置跟簡中手寫鍵盤配置
也就是說,在iPad裡面的 [設定->一般->鍵盤->國際鍵盤]
可以看到"英文"跟"中文(簡體)手寫輸入" 這兩個鍵盤
接著說明標籤內的字串定義
<string>en_US*hw=US;sw=QWERTY</string>
在上面這行xml標籤中,可以看到
en_US 代表英文鍵盤,也就是英文輸入法
hw=US 這是硬體鍵盤配置,使用US
sw=QWERTY是軟體鍵盤配置,使用QWERTY
我們可以在Pad裡面 [設定->一般->鍵盤->國際鍵盤->英文] 中
看到軟體鍵盤配置與硬體鍵盤配置。
現在說明鍵盤配置的部份(也就是現在卡住的地方):
在/System/Library/Frameworks/UIKit.framework裡面
有一個InputModeProperties.plist檔案
用BBEdit打開後,我們可以看到這裡定義了硬體鍵盤與軟體鍵盤的部份。
當然這個檔案在3.1.3也有,只是有一點點不一樣而已。
以下是此檔案的部份內容:
<key>zh_Hans-HWR</key>
<dict>
<key>SWLayouts</key>
<array>
<string>HWR</string>
</array>
</dict>
<key>zh_Hans-Pinyin</key>
<dict>
<key>HWLayouts</key>
<array>
<string>US</string>
<string>French</string>
<string>German</string>
</array>
<key>Hardware</key>
<dict>
<key>Layout</key>
<string>US</string>
<key>USBCountry</key>
<integer>254</integer>
</dict>
<key>SWLayouts</key>
<array>
<string>Pinyin</string>
<string>AZERTY</string>
</array>
</dict>
<key>zh_Hant-HWR</key>
<dict>
<key>SWLayouts</key>
<array>
<string>HWR</string>
</array>
</dict>
<key>zh_Hant-Pinyin</key>
<dict>
<key>HWLayouts</key>
<array>
<string>US</string>
<string>French</string>
<string>German</string>
</array>
<key>SWLayouts</key>
<array>
<string>Pinyin</string>
<string>AZERTY</string>
</array>
</dict>
<key>zh_Hant-Zhuyin</key>
<dict>
<key>SWLayouts</key>
<array>
<string>Zhuyin</string>
</array>
</dict>
其中,SWLayouts代表軟體鍵盤;HWLayouts則為硬體鍵盤。
<key>Hardware</key>後面的<dict></dict>標籤中,定義了硬體鍵盤的形式。
在這邊可以看到,手寫部分(HWR)沒有軟體鍵盤的設置。
而且繁體中文手寫是預設存在這個檔案中的!(注音也是預設存在這個檔案中)
今天下午我把os 3.1.3跟3.2比對後,發現這兩個版本的UIKit.framework資料夾內容差異很大。
另外,xml tag的定義方式也有一點不同。
os 3.2多了硬體的部份。
因此我在/User/Library/Preferences/.GlobalPreferences.plist裡面才會那樣改。
目前是卡在這個瓶頸。
另外皮樂前輩提到的Other.artwork檔案,我解不開。
java -jar iPhoneShop-1.3.jar ARTWORK ./Other.artwork export ./other/
Exception in thread "main" java.lang.IllegalArgumentException: Unsupported artwork type
at ee.rumba.iPhoneShop.artwork.Artwork.<init>(Artwork.java:202)
at ee.rumba.iPhoneShop.artwork.Main.main(Main.java:40)
at ee.rumba.iPhoneShop.iPhoneShop.main(Unknown Source)
不過我將3.1.3解開後,發現都是跟鍵盤無關的圖檔。
以上,感謝前輩們的收看<(_ _)>
-
05-20-2010 #25
感謝你的分享,
我有看到.GlobalPreferences.plist的檔案
但是那不是真正開啟吧...
我記得你在設定裏面刪除掉那些自己改出來的鍵盤之後
好像就不能在重新增加了。
(也就是這個討論串我一開始說的2:直接改/User/Library/Preferences/.GlobalPreferences.plist
把zh-Hans改成zh-Hant的話,在設定會出現鍵盤選項,但是無法設定跟實際使用
我想現在我們要找到的問題點,是讓iPad直接在設定裏面出現繁體輸入選項(不是改.GlobalPreferences.plist)
因為設定裏面出現繁體輸入選項,就代表系統已經定義到輸入法了
-
05-20-2010 #26
了解,那我繼續來找看看。
現在我想從系統的其他地方著手。
因為鍵盤定義似乎都已經在UIKit.framework定義好了,只差在系統的某個地方沒把它打開而已。
至於在哪個地方,這就是我們所正在尋找的目標。
-
05-20-2010 #27
-
05-20-2010 #28
根據專家表示:
我認為 iPad 所使用的 3.2 OS 基本上與目前正在測試階段的 OS 4.0 基本上有相當多的共通性,在輸入法的呼叫跟檔案結構也幾乎是如此。但是因為某些因素(我個人是認為注音部份尚未完成),Apple 在 iPad 異於過往,把輸入法開啓的選項關閉寫入於程式碼之內,而介面的部份則跟以往一樣,可以輕易的開啓。這表示當強行寫入於鍵盤開啓設定之中,系統並不會正常去讀取對應的鍵盤(甚至不辨識)。這部份徒增研究的難度,也是讓我花時間去研究並覺得樂趣所在。
目前使用的方式並不是原生系統使用方式,雖然已經可以正常使用手寫輸入,但是仍有一兩個討厭的小東西需要修正(如果大家像我們一樣不介意的話,哈),由於都是運用上班外時間(加上 Bluefox 最近參加了 Inside 撰寫團隊,又報名了 PMP 課程),希望能夠在週末完成 Beta 3 的修改吧。OS 3.2/4.0 很明顯的強化了辨識引擎,辨識度已經較 3.1.3 以前的版本正常很多。
引用自:
http://bluefox.com.tw/2010/05/20/%E5...3%95/#more-652
iAcces的部份的話,很多人說6月會發,但是我怎麼都沒聽到...
結論:似乎沒有我們想像的簡單搞定。
我還是等iAcces比較實際。(更重要的是我沒有iPad。)此篇文章於 05-20-2010 21:22 被 Hiraku 編輯。
-
05-20-2010 #29
-
05-20-2010 #30
收到通知後聲音變小聲
6 天前 進 iPhone 疑難雜症發問區