diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2021-04-13 20:32:24 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-13 20:32:24 -0400 | 
| commit | 609d4fe3347f87290a428e2ba1192acb991b2e38 (patch) | |
| tree | 57a37b970bc5564ab7a958aa695b5351aecdb793 /ext/js | |
| parent | bbf47865ffa616128543396c97aa861d8a423a36 (diff) | |
Replace furigana with reading (#1614)
* Use "reading" instead of "furigana" for reading distribution
* Update tests
Diffstat (limited to 'ext/js')
| -rw-r--r-- | ext/js/background/backend.js | 12 | ||||
| -rw-r--r-- | ext/js/data/anki-note-data-creator.js | 6 | ||||
| -rw-r--r-- | ext/js/display/display-generator.js | 6 | ||||
| -rw-r--r-- | ext/js/language/japanese-util.js | 10 | ||||
| -rw-r--r-- | ext/js/templates/template-renderer.js | 16 | 
5 files changed, 27 insertions, 23 deletions
| diff --git a/ext/js/background/backend.js b/ext/js/background/backend.js index 21b18e99..84ff2c0d 100644 --- a/ext/js/background/backend.js +++ b/ext/js/background/backend.js @@ -1066,9 +1066,9 @@ class Backend {                  const {headwords: [{term, reading}]} = dictionaryEntries[0];                  const source = text.substring(i, i + originalTextLength);                  const textSegments = []; -                for (const {text: text2, furigana} of jp.distributeFuriganaInflected(term, reading, source)) { -                    const reading2 = jp.convertReading(text2, furigana, readingMode); -                    textSegments.push({text: text2, reading: reading2}); +                for (const {text: text2, reading: reading2} of jp.distributeFuriganaInflected(term, reading, source)) { +                    const reading3 = jp.convertReading(text2, reading2, readingMode); +                    textSegments.push({text: text2, reading: reading3});                  }                  results.push(textSegments);                  i += originalTextLength; @@ -1102,13 +1102,13 @@ class Backend {              for (const line of lines) {                  for (const {term, reading, source} of line) {                      const termParts = []; -                    for (const {text: text2, furigana} of jp.distributeFuriganaInflected( +                    for (const {text: text2, reading: reading2} of jp.distributeFuriganaInflected(                          term.length > 0 ? term : source,                          jp.convertKatakanaToHiragana(reading),                          source                      )) { -                        const reading2 = jp.convertReading(text2, furigana, readingMode); -                        termParts.push({text: text2, reading: reading2}); +                        const reading3 = jp.convertReading(text2, reading2, readingMode); +                        termParts.push({text: text2, reading: reading3});                      }                      result.push(termParts);                  } diff --git a/ext/js/data/anki-note-data-creator.js b/ext/js/data/anki-note-data-creator.js index 1c32c4b4..e3ff2ca0 100644 --- a/ext/js/data/anki-note-data-creator.js +++ b/ext/js/data/anki-note-data-creator.js @@ -596,6 +596,10 @@ class AnkiNoteDataCreator {      }      _getTermHeadwordFuriganaSegments(term, reading) { -        return this._japaneseUtil.distributeFurigana(term, reading); +        const result = []; +        for (const {text, reading: reading2} of this._japaneseUtil.distributeFurigana(term, reading)) { +            result.push({text, furigana: reading2}); +        } +        return result;      }  } diff --git a/ext/js/display/display-generator.js b/ext/js/display/display-generator.js index 61c93b4a..9a90502e 100644 --- a/ext/js/display/display-generator.js +++ b/ext/js/display/display-generator.js @@ -715,13 +715,13 @@ class DisplayGenerator {      _appendFurigana(container, term, reading, addText) {          container.lang = 'ja';          const segments = this._japaneseUtil.distributeFurigana(term, reading); -        for (const {text, furigana} of segments) { -            if (furigana) { +        for (const {text, reading: reading2} of segments) { +            if (reading2) {                  const ruby = document.createElement('ruby');                  const rt = document.createElement('rt');                  addText(ruby, text);                  ruby.appendChild(rt); -                rt.appendChild(document.createTextNode(furigana)); +                rt.appendChild(document.createTextNode(reading2));                  container.appendChild(ruby);              } else {                  addText(container, text); diff --git a/ext/js/language/japanese-util.js b/ext/js/language/japanese-util.js index 4d5e8092..8780c24c 100644 --- a/ext/js/language/japanese-util.js +++ b/ext/js/language/japanese-util.js @@ -507,7 +507,7 @@ const JapaneseUtil = (() => {              if (stemLength < source.length) {                  const remainder = source.substring(stemLength);                  const segmentCount = segments.length; -                if (segmentCount > 0 && segments[segmentCount - 1].furigana.length === 0) { +                if (segmentCount > 0 && segments[segmentCount - 1].reading.length === 0) {                      // Append to the last segment if it has an empty reading                      segments[segmentCount - 1].text += remainder;                  } else { @@ -554,8 +554,8 @@ const JapaneseUtil = (() => {          // Private -        _createFuriganaSegment(text, furigana) { -            return {text, furigana}; +        _createFuriganaSegment(text, reading) { +            return {text, reading};          }          _segmentizeFurigana(reading, readingNormalized, groups, groupsStart) { @@ -600,8 +600,8 @@ const JapaneseUtil = (() => {                              // More than one way to segmentize the tail; mark as ambiguous                              return null;                          } -                        const furigana = reading.substring(0, i); -                        segments.unshift(this._createFuriganaSegment(text, furigana)); +                        const segmentReading = reading.substring(0, i); +                        segments.unshift(this._createFuriganaSegment(text, segmentReading));                          result = segments;                      }                      // There is only one way to segmentize the last non-kana group diff --git a/ext/js/templates/template-renderer.js b/ext/js/templates/template-renderer.js index ed9cc41c..9bb7a414 100644 --- a/ext/js/templates/template-renderer.js +++ b/ext/js/templates/template-renderer.js @@ -177,11 +177,11 @@ class TemplateRenderer {          const segs = this._japaneseUtil.distributeFurigana(expression, reading);          let result = ''; -        for (const seg of segs) { -            if (seg.furigana.length > 0) { -                result += `<ruby>${seg.text}<rt>${seg.furigana}</rt></ruby>`; +        for (const {text, reading: reading2} of segs) { +            if (reading2.length > 0) { +                result += `<ruby>${text}<rt>${reading2}</rt></ruby>`;              } else { -                result += seg.text; +                result += text;              }          } @@ -193,12 +193,12 @@ class TemplateRenderer {          const segs = this._japaneseUtil.distributeFurigana(expression, reading);          let result = ''; -        for (const seg of segs) { -            if (seg.furigana.length > 0) { +        for (const {text, reading: reading2} of segs) { +            if (reading2.length > 0) {                  if (result.length > 0) { result += ' '; } -                result += `${seg.text}[${seg.furigana}]`; +                result += `${text}[${reading2}]`;              } else { -                result += seg.text; +                result += text;              }          } |