mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-11 22:31:52 +09:00
chinese IME almost done
This commit is contained in:
9070
assets/keylayout/cj5-sc.han
Normal file
9070
assets/keylayout/cj5-sc.han
Normal file
File diff suppressed because it is too large
Load Diff
14362
assets/keylayout/cj5-tc.han
Normal file
14362
assets/keylayout/cj5-tc.han
Normal file
File diff suppressed because it is too large
Load Diff
@@ -453,5 +453,6 @@ return Object.freeze({"n":"두벌식 표준","states":states,"c":"CuriousTo\uA75
|
||||
return ret
|
||||
},
|
||||
"reset":()=>{ reset() },
|
||||
"composing":()=>(states.code!=0)
|
||||
"composing":()=>(states.code!=0),
|
||||
"maxCandidates":()=>1
|
||||
})
|
||||
@@ -474,5 +474,6 @@ return Object.freeze({"n":"세벌식 3-90","states":states,"c":"CuriousTo\uA75Bv
|
||||
return ret
|
||||
},
|
||||
"reset":()=>{ reset() },
|
||||
"composing":()=>(states.code!=0)
|
||||
"composing":()=>(states.code!=0),
|
||||
"maxCandidates":()=>1
|
||||
})
|
||||
@@ -498,5 +498,6 @@ return Object.freeze({"n":"신세벌식 P2","states":states,"c":"CuriousTo\uA75B
|
||||
return ret
|
||||
},
|
||||
"reset":()=>{ reset() },
|
||||
"composing":()=>(states.code!=0)
|
||||
"composing":()=>(states.code!=0),
|
||||
"maxCandidates":()=>1
|
||||
})
|
||||
313
assets/keylayout/zh_tw_cangjie5.ime
Normal file
313
assets/keylayout/zh_tw_cangjie5.ime
Normal file
@@ -0,0 +1,313 @@
|
||||
let states = {"keylayouts":[[""],[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
["0",")"],
|
||||
["1","!"],
|
||||
["2","@"],
|
||||
["3","#"],
|
||||
["4","$"],
|
||||
["5","%"],
|
||||
["6","^"],
|
||||
["7","&"],
|
||||
["8","*"],
|
||||
["9","("],
|
||||
["*"],
|
||||
["#"],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
["a","A"],
|
||||
["b","B"],
|
||||
["c","C"],
|
||||
["d","D"],
|
||||
["e","E"],
|
||||
["f","F"],
|
||||
["g","G"],
|
||||
["h","H"],
|
||||
["i","I"],
|
||||
["j","J"],
|
||||
["k","K"],
|
||||
["l","L"],
|
||||
["m","M"],
|
||||
["n","N"],
|
||||
["o","O"],
|
||||
["p","P"],
|
||||
["q","Q"],
|
||||
["r","R"],
|
||||
["s","S"],
|
||||
["t","T"],
|
||||
["u","U"],
|
||||
["v","V"],
|
||||
["w","W"],
|
||||
["x","X"],
|
||||
["y","Y"],
|
||||
["z","Z"],
|
||||
[",","<"],
|
||||
[".",">"],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[" "],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
["\n"],
|
||||
["\x08"],
|
||||
["`","~"],
|
||||
["-","_"],
|
||||
["=","+"],
|
||||
["[","{"],
|
||||
["]","}"],
|
||||
["\\","|"],
|
||||
[";",":"],
|
||||
["'",'"'],
|
||||
["/","?"],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
["0"],
|
||||
["1"],
|
||||
["2"],
|
||||
["3"],
|
||||
["4"],
|
||||
["5"],
|
||||
["6"],
|
||||
["7"],
|
||||
["8"],
|
||||
["9"],
|
||||
["/"],
|
||||
["*"],
|
||||
["-"],
|
||||
["+"],
|
||||
["."],
|
||||
["."],
|
||||
["\n"],
|
||||
["="],
|
||||
["("],
|
||||
[")"],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined],
|
||||
[undefined]
|
||||
],
|
||||
"dict":IMEProvider.requestDictionary("cj5-tc.han"),
|
||||
"code":0, //0: not composing, 1: composing (has candidates), 2: composing (no candidates)
|
||||
"buf":"",
|
||||
"candidates":""/*comma-separated values*/}
|
||||
let reset = () => {
|
||||
states.code = 0
|
||||
states.buf = ""
|
||||
states.candidates = ""
|
||||
}
|
||||
//let bufDebugStringify = (buf) => [0,1,2].map(i => (buf[i] == undefined) ? "·" : `\\u${buf[i].codePointAt(0).toString(16).toUpperCase()}`).join(' ')
|
||||
let bufDebugStringify = (buf) => [0,1,2].map(i => (buf[i] == undefined) ? "·" : `${buf[i]}`).join(' ')
|
||||
return Object.freeze({"n":"五倉正體 Qwerty","states":states,"c":"CuriousTo\uA75Bvald, 倉頡之友 。馬來西亞 http://www.chinesecj.com",
|
||||
// return: [displayed output, composed output]
|
||||
"accept":(headkey,shiftin,altgrin)=>{
|
||||
let layer = 1*shiftin// + 2*altgrin
|
||||
|
||||
let cjkey = states.keylayouts[headkey][layer]
|
||||
let cjkeyAsc = cjkey.codePointAt(0)
|
||||
|
||||
if (states.code == 1 && 48 <= cjkeyAsc && cjkeyAsc <= 57) {
|
||||
let raw = ''+states.buf
|
||||
let selection = states.candidates.split(',')[cjkeyAsc - 49]
|
||||
reset()
|
||||
return ['', selection || raw]
|
||||
}
|
||||
else if (97 <= cjkeyAsc && cjkeyAsc <= 122 || cjkeyAsc == 42) {
|
||||
states.buf += cjkey
|
||||
|
||||
states.candidates = states.dict.get(states.buf) // comma-separated values
|
||||
states.code = 1 + (states.candidates.length == 0)
|
||||
|
||||
console.log(`cangjie in, buf: ${states.buf}, candidates: ${states.candidates}`)
|
||||
|
||||
return [`${states.buf},${states.candidates}`, '']
|
||||
}
|
||||
else {
|
||||
states.code = 0
|
||||
return ['', ''+states.buf+cjkey]
|
||||
}
|
||||
|
||||
return ['', cjkey]
|
||||
},
|
||||
"backspace":()=>{
|
||||
|
||||
|
||||
return ''
|
||||
},
|
||||
"end":()=>{
|
||||
// console.log(`end composing`)
|
||||
let ret = ''+states.buf
|
||||
reset()
|
||||
return ret
|
||||
},
|
||||
"reset":()=>{ reset() },
|
||||
"composing":()=>(states.code!=0),
|
||||
"maxCandidates":()=>10
|
||||
})
|
||||
Reference in New Issue
Block a user