LMCassette // Remove "shouldStartReading" and "isOV".

This commit is contained in:
ShikiSuen 2022-10-19 13:13:51 +08:00
parent 4e124e6aac
commit 007928ea6f
1 changed files with 6 additions and 17 deletions

View File

@ -55,16 +55,9 @@ extension vChewingLM {
} }
let lineReader = try LineReader(file: fileHandle) let lineReader = try LineReader(file: fileHandle)
var theMaxKeyLength = 1 var theMaxKeyLength = 1
var isOV = false
var shouldStartReading = false
var loadingKeys = false var loadingKeys = false
var loadingCharDefinitions = false var loadingCharDefinitions = false
for (_, strLine) in lineReader.enumerated() { for (_, strLine) in lineReader.enumerated() {
if !shouldStartReading, strLine.contains("%gen_inp") || strLine.contains("%ename ") {
isOV = strLine.contains("%gen_inp")
shouldStartReading = true
}
guard shouldStartReading else { continue }
if !loadingKeys, strLine.contains("%keyname begin") { loadingKeys = true } if !loadingKeys, strLine.contains("%keyname begin") { loadingKeys = true }
if loadingKeys, strLine.contains("%keyname end") { loadingKeys = false } if loadingKeys, strLine.contains("%keyname end") { loadingKeys = false }
if !loadingCharDefinitions, strLine.contains("%chardef begin") { loadingCharDefinitions = true } if !loadingCharDefinitions, strLine.contains("%chardef begin") { loadingCharDefinitions = true }
@ -80,18 +73,14 @@ extension vChewingLM {
} }
guard !loadingKeys, !loadingCharDefinitions else { continue } guard !loadingKeys, !loadingCharDefinitions else { continue }
if nameENG.isEmpty, strLine.contains("%ename ") { if nameENG.isEmpty, strLine.contains("%ename ") {
if isOV { for neta in cells[1].components(separatedBy: ";") {
nameENG = String(cells[1]) let subNetaGroup = neta.components(separatedBy: ":")
} else { if subNetaGroup.count == 2, subNetaGroup[1].contains("en") {
for neta in cells[1].components(separatedBy: ";") { nameENG = String(subNetaGroup[0])
let subNetaGroup = neta.components(separatedBy: ":") break
if subNetaGroup.count == 2, subNetaGroup[1].contains("en") {
nameENG = String(subNetaGroup[0])
break
}
} }
if nameENG.isEmpty { nameENG = String(cells[1]) }
} }
if nameENG.isEmpty { nameENG = String(cells[1]) }
} }
if nameCJK.isEmpty, strLine.contains("%cname ") { nameCJK = String(cells[1]) } if nameCJK.isEmpty, strLine.contains("%cname ") { nameCJK = String(cells[1]) }
if selectionKeys.isEmpty, strLine.contains("%selkey ") { if selectionKeys.isEmpty, strLine.contains("%selkey ") {