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:
parent
add1c76842
commit
30dde3b8fa
1 changed files with 410 additions and 10 deletions
|
|
@ -3610,6 +3610,42 @@ abstract class AppLocalizations {
|
|||
/// **'Subscript'**
|
||||
String get formatSubscript;
|
||||
|
||||
/// No description provided for @formatRuby.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Furigana (a reading above the text)'**
|
||||
String get formatRuby;
|
||||
|
||||
/// No description provided for @rubyTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Furigana'**
|
||||
String get rubyTitle;
|
||||
|
||||
/// No description provided for @rubyReading.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Reading'**
|
||||
String get rubyReading;
|
||||
|
||||
/// No description provided for @rubyReadingHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'In kana, e.g. かんじ'**
|
||||
String get rubyReadingHint;
|
||||
|
||||
/// No description provided for @rubySave.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Save'**
|
||||
String get rubySave;
|
||||
|
||||
/// No description provided for @rubyRemove.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Remove'**
|
||||
String get rubyRemove;
|
||||
|
||||
/// No description provided for @vocabularyReading.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
|
|||
Loading…
Reference in a new issue