feat: promote uppercased characters and refine document

This commit is contained in:
ensan
2023-09-15 13:19:04 +09:00
parent e64e5f6ddc
commit 4e6fbe17e3
2 changed files with 12 additions and 11 deletions

View File

@ -176,10 +176,9 @@ ComposingText(
変換候補の並び順の決定はとても難しい問題です。azooKeyではおおよそ以下のようになっています。`Converter.swift`が並び順を決めていますが、とても複雑な実装になっているため、改善したいと思っています。
```
最初の5件: 完全一致または予測変換(ただし最低1つは完全一致
最初の5件: 完全一致または予測変換またはローマ字英語変換ただし上位3件までに最低1つは完全一致が含まれる
そこから5件: 文節単位変換
そこからn件: 付加的な変換(全部ひらがな、全部カタカナなど
そこから: 前方一致で長い順・高評価順に辞書データを表示
そこから: 全部ひらがな、全部カタカナ、全部大文字などの変換と前方一致で長い順・高評価順に辞書データを表示5番目あたりでUnicode変換、西暦和暦変換、メアド変換、装飾文字などの特殊変換を挿入する
```
## ライブ変換

View File

@ -1,6 +1,6 @@
//
// Converter.swift
// Kana2KajiProject
// KanaKanjiConverter.swift
// AzooKeyKanaKanjiConverter
//
// Created by ensan on 2020/09/03.
// Copyright © 2020 ensan. All rights reserved.
@ -430,9 +430,6 @@ import SwiftUtils
// 5
let clause_candidates = self.getUniqueCandidate(clauseCandidates, seenCandidates: seenCandidate).min(count: 5, sortedBy: {$0.value > $1.value})
seenCandidate.formUnion(clause_candidates.map {$0.text})
//
let wise_candidates: [Candidate] = self.getWiseCandidate(inputData, options: options)
seenCandidate.formUnion(wise_candidates.map {$0.text})
//
let dicCandidates: [Candidate] = result.nodes[0]
@ -449,12 +446,18 @@ import SwiftUtils
let additionalCandidates: [Candidate] = self.getAdditionalCandidate(inputData, options: options)
//
let word_candidates: [Candidate] = self.getUniqueCandidate(dicCandidates.chained(additionalCandidates), seenCandidates: seenCandidate)
var word_candidates: [Candidate] = self.getUniqueCandidate(dicCandidates.chained(additionalCandidates), seenCandidates: seenCandidate)
.sorted {
let count0 = $0.correspondingCount
let count1 = $1.correspondingCount
return count0 == count1 ? $0.value > $1.value : count0 > count1
}
seenCandidate.formUnion(word_candidates.map {$0.text})
//
let wise_candidates: [Candidate] = self.getUniqueCandidate(self.getWiseCandidate(inputData, options: options), seenCandidates: seenCandidate)
// wise_candidates
word_candidates.insert(contentsOf: wise_candidates, at: min(5, word_candidates.endIndex))
var result = Array(full_candidate)
@ -473,7 +476,6 @@ import SwiftUtils
}
result.append(contentsOf: clause_candidates)
result.append(contentsOf: wise_candidates)
result.append(contentsOf: word_candidates)
result.mutatingForeach { item in