From d41059ee0ba6717a0673b29a739a75ebd8c8add5 Mon Sep 17 00:00:00 2001 From: wareya Date: Wed, 13 Feb 2019 14:38:19 -0500 Subject: [PATCH] improve epwing fallback priority logic --- background-script.js | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/background-script.js b/background-script.js index 5a0d3b3..ac6e1a3 100644 --- a/background-script.js +++ b/background-script.js @@ -723,21 +723,28 @@ function add_epwing_info(lookups, other_settings) let spellings = [lookup.text, foundtext]; for(let spelling of entry.k_ele) spellings.push(spelling.keb); - let core_readings = [foundtext, entry.r_ele[0].reb]; - console.log(core_readings); + let core_readings_a = [lookup.text, foundtext]; + let core_readings_b = [entry.r_ele[0].reb]; let readings = []; for(let reading of entry.r_ele) readings.push(reading.reb); // try exact matches - let possibilities = epwing_lookup_kanji(spellings, core_readings, false); + let possibilities = epwing_lookup_kanji(spellings, core_readings_a, false); + if(possibilities.length == 0) + possibilities = epwing_lookup_kanji(spellings, core_readings_b, false); if(possibilities.length == 0) possibilities = epwing_lookup_kanji(spellings, readings, false); // try inexact matches - if(possibilities.length == 0 && !other_settings.strict_epwing) - possibilities = epwing_lookup_kanji(spellings, core_readings, true); - if(possibilities.length == 0 && !other_settings.strict_epwing) - possibilities = epwing_lookup_kanji(spellings, readings, true); + if(!other_settings.strict_epwing) + { + if(possibilities.length == 0) + possibilities = epwing_lookup_kanji(spellings, core_readings_a, true); + if(possibilities.length == 0) + possibilities = epwing_lookup_kanji(spellings, core_readings_b, true); + if(possibilities.length == 0) + possibilities = epwing_lookup_kanji(spellings, readings, true); + } if(possibilities.length > 0) epwing_data = copy(epwing[possibilities[0]]);