|
@@ -32,6 +32,54 @@ class KMPDFConvertManager: NSObject {
|
|
|
return array
|
|
|
}()
|
|
|
|
|
|
+ private var _languages_asc: [COCRLanguage] = []
|
|
|
+ var languages_asc: [COCRLanguage] {
|
|
|
+ get {
|
|
|
+ if (!self._languages_asc.isEmpty) {
|
|
|
+ return self._languages_asc
|
|
|
+ }
|
|
|
+
|
|
|
+ self._languages_asc = self.getOCRLanguages(sortMode: .ascending)
|
|
|
+ return self._languages_asc
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private var _languages_desc: [COCRLanguage] = []
|
|
|
+ var languages_desc: [COCRLanguage] {
|
|
|
+ get {
|
|
|
+ if (!self._languages_desc.isEmpty) {
|
|
|
+ return self._languages_desc
|
|
|
+ }
|
|
|
+
|
|
|
+ self._languages_desc = self.getOCRLanguages(sortMode: .descending)
|
|
|
+ return self._languages_desc
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private var _languages_asc_strings: [String] = []
|
|
|
+ var languages_asc_strings: [String] {
|
|
|
+ get {
|
|
|
+ if (!self._languages_asc_strings.isEmpty) {
|
|
|
+ return self._languages_asc_strings
|
|
|
+ }
|
|
|
+
|
|
|
+ self._languages_asc_strings = self.getOCRLanguageStrings(sortMode: .ascending)
|
|
|
+ return self._languages_asc_strings
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private var _languages_desc_strings: [String] = []
|
|
|
+ var languages_desc_strings: [String] {
|
|
|
+ get {
|
|
|
+ if (!self._languages_desc_strings.isEmpty) {
|
|
|
+ return self._languages_desc_strings
|
|
|
+ }
|
|
|
+
|
|
|
+ self._languages_desc_strings = self.getOCRLanguageStrings(sortMode: .descending)
|
|
|
+ return self._languages_desc_strings
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
override init() {
|
|
|
super.init()
|
|
|
|
|
@@ -367,6 +415,33 @@ class KMPDFConvertManager: NSObject {
|
|
|
// }
|
|
|
}
|
|
|
|
|
|
+extension KMPDFConvertManager {
|
|
|
+ func getOCRLanguages(sortMode: KMSortMode = .none) -> [COCRLanguage] {
|
|
|
+ if (sortMode == .none) {
|
|
|
+ return self.ocrLanguages
|
|
|
+ }
|
|
|
+
|
|
|
+ let result = self.ocrLanguages.sorted {[unowned self] lan1, lan2 in
|
|
|
+ if self.ocrLanguageString(ocrLanguage: lan1) > self.ocrLanguageString(ocrLanguage: lan2) {
|
|
|
+ return sortMode != .ascending
|
|
|
+ }
|
|
|
+ return sortMode == .ascending
|
|
|
+ }
|
|
|
+
|
|
|
+ return result
|
|
|
+ }
|
|
|
+
|
|
|
+ func getOCRLanguageStrings(sortMode: KMSortMode = .none) -> [String] {
|
|
|
+ let ocrLanguages = self.getOCRLanguages(sortMode: sortMode)
|
|
|
+
|
|
|
+ var array: [String] = []
|
|
|
+ for ocrLanguage in ocrLanguages {
|
|
|
+ array.append(self.ocrLanguageString(ocrLanguage: ocrLanguage))
|
|
|
+ }
|
|
|
+ return array
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
/*
|
|
|
return [.chinese, .chineseTraditional, .english, .japanese, .korean,
|
|
|
// // Latin
|