CandidateNode // Add data of Hanin Keyboard Symbols for query.
This commit is contained in:
parent
84ea8de1d2
commit
86b85b9c83
|
@ -398,3 +398,87 @@ extension CandidateNode {
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MARK: - Hanin Symbol Support (except Ctrl+3 menu).
|
||||||
|
|
||||||
|
public extension CandidateNode {
|
||||||
|
static func queryHaninKeyboardSymbols(char key: String) -> CandidateNode? {
|
||||||
|
guard let rawData = Self.mapHaninKeyboardSymbols[key] else { return nil }
|
||||||
|
return CandidateNode(name: key, symbols: rawData)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ref: https://github.com/vChewing/vChewing-macOS/wiki/HaninFormatSpec
|
||||||
|
static let mapHaninKeyboardSymbols: [String: [String]] = [
|
||||||
|
" ": [" "],
|
||||||
|
"(": ["(", "﹙", "︵", "○", "●", "9"],
|
||||||
|
")": [")", "﹚", "︶", "○", "●", "0"],
|
||||||
|
"+": ["+", "﹢", "♀", "♂", "⊕", "±", "┼"],
|
||||||
|
",": [",", "﹐", "、", "﹑", "ㄝ"],
|
||||||
|
"-": [
|
||||||
|
"-", "ㄦ", "﹍", "‾", " ̄", "÷", "±", "√", "═",
|
||||||
|
"≡", "⊥", "–", "—", "╴", "▔", "─", "△", "▲",
|
||||||
|
],
|
||||||
|
".": ["。", ".", "﹒", "‧", "·", "ㄡ", "÷", "≒", "∵", "∴", "☉", "…", "‥"],
|
||||||
|
"/": ["/", "∕", "ㄥ", "╱", "≠", "¢", "?", "﹖"],
|
||||||
|
"0": ["0", ")", "ㄢ", "﹚", "︶", "○", "Ⅹ"],
|
||||||
|
"1": ["1", "!", "ㄅ", "Ⅰ"],
|
||||||
|
"2": ["2", "@", "ㄉ", "﹫", "Ⅱ"],
|
||||||
|
"3": ["3", "#", "ˇ", "﹟", "Ⅲ"],
|
||||||
|
"4": ["4", "$", "ˋ", "﹩", "∫", "∮", "§"],
|
||||||
|
"5": ["5", "%", "ㄓ", "﹪", "Ⅴ", "Λ"],
|
||||||
|
"6": ["6", "↑", "ˊ", "︿", "︽", "Ⅵ"],
|
||||||
|
"7": ["7", "&", "˙", "Ⅶ", "﹠"],
|
||||||
|
"8": ["8", "*", "ㄚ", "※", "☆", "★", "﹡"],
|
||||||
|
"9": ["9", "(", "ㄞ", "﹙", "︵", "●", "Ⅸ"],
|
||||||
|
":": [":", ";", "ㄤ", "︰", "﹕"],
|
||||||
|
";": [";", "ㄤ", "﹔", ":", "︰", "﹕"],
|
||||||
|
"<": [
|
||||||
|
"<", ",", "﹐", "﹑", "ㄝ", "﹤", "〈", "≦", "←",
|
||||||
|
"∠", "《", "︽", "︿", "↖", "◣", "◤", "Δ", "┌", "╭",
|
||||||
|
"╔", "╒", "╓", "∟", "↙", "└", "╰", "╚", "╘", "╙",
|
||||||
|
],
|
||||||
|
">": [
|
||||||
|
">", "。", ".", "‧", "﹒", "ㄡ", "÷", "≒",
|
||||||
|
"∵", "∴", "☉", "…", "‥", "﹥", "〉", "≧",
|
||||||
|
"→", "》", "︾", "┘", "╯", "╝", "╛", "╜",
|
||||||
|
"↘", "↗", "﹀", "⊿", "┤", "╣", "╡", "╢", "◢", "◥",
|
||||||
|
],
|
||||||
|
"=": ["﹦", "=", "═", "≦", "≧", "≠", "≒"],
|
||||||
|
"?": ["?", "﹖"],
|
||||||
|
"a": ["A", "a", "ㄇ", "Α", "日", "α"],
|
||||||
|
"b": ["B", "b", "ㄖ", "Β", "月", "β"],
|
||||||
|
"c": ["C", "c", "ㄏ", "℃", "Γ", "℅", "金"],
|
||||||
|
"d": ["D", "d", "ㄎ", "Δ", "δ", "木"],
|
||||||
|
"e": ["E", "e", "ㄍ", "ε", "Ε", "水"],
|
||||||
|
"f": ["F", "f", "ㄑ", "火", "℉"],
|
||||||
|
"g": ["G", "g", "ㄕ", "土"],
|
||||||
|
"h": ["H", "h", "ㄘ", "Η", "竹"],
|
||||||
|
"i": ["I", "i", "ㄛ", "Ι", "ι", "戈"],
|
||||||
|
"j": ["J", "j", "ㄨ", "十"],
|
||||||
|
"k": ["K", "k", "ㄜ", "Κ", "κ", "大"],
|
||||||
|
"l": ["L", "l", "ㄠ", "Γ", "㏒", "㏑", "λ", "中"],
|
||||||
|
"m": ["M", "m", "ㄩ", "Ο", "Μ", "Σ", "一"],
|
||||||
|
"n": ["N", "n", "ㄙ", "Ν", "弓", "η"],
|
||||||
|
"o": ["O", "o", "ㄟ", "○", "●", "◎", "㊣", "Θ", "Ο", "Φ", "θ", "ο", "φ", "人"],
|
||||||
|
"p": ["P", "p", "ㄣ", "π", "Ρ", "心"],
|
||||||
|
"q": ["Q", "q", "ㄆ", "手"],
|
||||||
|
"r": ["R", "r", "ㄐ", "γ", "ρ", "口"],
|
||||||
|
"s": ["S", "s", "ㄋ", "∫", "∮", "σ", "尸"],
|
||||||
|
"t": ["T", "t", "ㄔ", "Τ", "Υ", "廿"],
|
||||||
|
"u": ["U", "u", "ㄧ", "∪", "∩", "Π", "Ψ", "μ", "ψ", "山"],
|
||||||
|
"v": ["V", "v", "ㄒ", "∪", "∩", "↓", "┴", "╩", "╧", "╨", "ν", "υ", "女"],
|
||||||
|
"w": ["W", "w", "ㄊ", "Ω", "ω", "田"],
|
||||||
|
"x": ["X", "x", "ㄌ", "×", "╳", "Χ", "χ", "ξ"],
|
||||||
|
"y": ["Y", "y", "ㄗ", "卜", "¥"],
|
||||||
|
"z": ["Ζ", "z", "ㄈ", "τ"],
|
||||||
|
"[": ["【", "﹝", "︻", "『", "﹃", "「", "﹁", "〔", "︹"],
|
||||||
|
"\"": ["“", "”", "〝", "〞", "〃"],
|
||||||
|
"\'": ["、", "﹑", "‘", "’"],
|
||||||
|
"]": ["】", "︼", "』", "﹄", "」", "﹂", "〕", "︺", "﹞", "□", "■"],
|
||||||
|
"_": ["_", "ˍ"],
|
||||||
|
"`": ["‵", "′"],
|
||||||
|
"{": ["{", "︷", "﹛"],
|
||||||
|
"}": ["}", "︸", "﹜"],
|
||||||
|
"~": ["~", "︴", "﹋"],
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue