diff options
Diffstat (limited to 'ext/js/language')
| -rw-r--r-- | ext/js/language/japanese-util.js | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/ext/js/language/japanese-util.js b/ext/js/language/japanese-util.js index aa1e3f00..cade393b 100644 --- a/ext/js/language/japanese-util.js +++ b/ext/js/language/japanese-util.js @@ -475,13 +475,15 @@ const JapaneseUtil = (() => {              // Check if source is derived from the reading instead of the expression              const readingStemLength = this._getStemLength(readingNormalized, sourceNormalized); -            if (readingStemLength > stemLength) { +            if (readingStemLength > 0 && readingStemLength >= stemLength) {                  mainText = reading;                  stemLength = readingStemLength; +                reading = `${source.substring(0, stemLength)}${reading.substring(stemLength)}`;              }              const segments = [];              if (stemLength > 0) { +                mainText = `${source.substring(0, stemLength)}${mainText.substring(stemLength)}`;                  const segments2 = this.distributeFurigana(mainText, reading);                  let consumed = 0;                  for (const segment of segments2) { |