精華區beta Liu 關於我們 聯絡資訊
說到這個相關字詞,我先把我目前研究的心得,做個筆記好了 ^^" * * * * 首先當然先從 Windows API 下手 我查過包含 MSDN 在內,不少 API 的文件,完全都沒有提到相關的 API 於是,我決定直接看一般 *.ime 會引用哪些 API(當然是從外部去看) 經過過濾後(就是把已經知道或是看名字就知道是什麼用的都刪去) 推測應該是 uniime.dll 裡的 UniSearchPhrasePrediction 這個函數最有可能 於是,再用這個函數名字去 Google,去 MSDN(名詞當動詞用 ^^) 發現完全找不到這個 API 的資料 所以目前除了知道函數名字(也不確定就真的是這個) 其它都還是謎(比方說完全不知道參數的格式) 所以,不知道有沒有人有這方面的研究 ^^" * * * * 既然 API 這條路行不通 那就改成直接從紀錄檔讀取算了 於是,目前查到 Windows 把相關字詞記錄在 lcphrase.tbl 和 lcptr.tbl 兩個檔中 其中 lcphrase.tbl 存的就是詞組(比方說:般 直 些 時 定... 這樣) 這部份其實很好懂 至於 lcptr.tbl 存的想必就是 lcphrase.tbl 的 hash index 的對照 (就是從「一」這個字對照到上面幾個字的開始處和結尾處) 不過這部份的對照方式我目前應該是沒有時間去研究它 所以,也是期待有心人把它分析出來 ^^" 不過我猜 lcptr.tbl 和其它 Windows 內建的輸入法所用的格式應該是相同的 (比方說注音也有個 phonptr.tbl 這個檔) * * * * 心得報告結束 ^^" -- ╭═╮ ╭═╮ ║▌║ ╭═╮╭╮║▌╭═╮╭═══╮ ║▌║ ║▌║║║║▌ ╮║▌╭╮║ ║˙╰═╮║˙╰╯║║˙╭╮║║˙╰╯╯ ╰═══╯╰═══╯╰═╯╰╯╰═══╯ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.67.54.192