feat(app): furigana in rich text

Text within a line can carry its reading now (`ruby` on the text's
attributes, `かんじ` on `漢字`), word by word, in lessons, example
sentences, notes and cards alike. Shown, the reading sits above the text,
smaller and centred, the text level with the line around it; while
editing, the text is dotted underneath and the caret moves through it as
text, as with formulas. The format bar's Furigana asks for the reading of
the text selected, starting from the one it has, and takes it away.

An Anki field's `<ruby>` keeps its reading as furigana now, each base its
own, instead of "漢(かん)"; Anki's `漢字[かんじ]` stays as written, as
telling it apart from other brackets is guesswork. The Markdown export
writes furigana as HTML's `<ruby>漢字<rt>かんじ</rt></ruby>`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-09 01:51:28 +02:00
commit 30dde3b8fa
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -661,6 +661,12 @@
"formatUnderline": "Underline",
"formatSuperscript": "Superscript",
"formatSubscript": "Subscript",
"formatRuby": "Furigana (a reading above the text)",
"rubyTitle": "Furigana",
"rubyReading": "Reading",
"rubyReadingHint": "In kana, e.g. かんじ",
"rubySave": "Save",
"rubyRemove": "Remove",
"vocabularyReading": "Reading",
"vocabularyReadingHint": "Kana reading",
"vocabularyMeanings": "Meanings",