Sceenshot of text ふりかんじ with 振り漢字 as ruby.
Furikanji demo

This add-on adds support for furikanji and slightly changes the way kanji and readings are parsed.

This add-on is for use with the desktop client only. Using features of this add-on with mobile clients or AnkiWeb may result in suboptimal layout.

Furikanji

The template furikanji uses a standard reading field to render kanji above the kana.

To use this, put {{furikanji:Field name}} instead of {{furigana:Field name}} in the template.

Text: 起きなよいい加減お with
きなよいいかげん as ruby and 起[お]きなよいい 加減[かげん], with
square brackets.
On AnkiWeb, the furikanji don’t work.

As the furikanji rendering is done on the fly by the desktop client, it does not work with AnkiWeb, AnkiDroid or AnkiMobile. There the text is rendered as it is seen in the edit screen, with the square brackets.

Furikanji and AnkiDroid

Text: 起きなよい
い加減おwith きなよいいかげん as ruby and きなよいいかげん with 起きな
よいい加減お as ruby. The kanji of the ruby are marked in orange.
AnkiDroid can be patched to use furikanji.

Daring spirits can try to merge my option-furikanji branch into their AnkiDroid source. It contains the equivalent of this code in the FuriganaFilters.java file and adds furikanji to AnkiDroid.

This may not work with Android versions < 3.0

CSS classes

Text that uses the now four templates furigana, furikanji, kana and kanji gets appropriate CSS classes. The ruby elements have the additional classes furigana and furikanji; the kana and kanji texts get wrapped in spans with classes kana and kanji.

See the complex classes page for examples on how to use these classes.

Furigana, kanji and reading templates

The {{furigana:Field NN}}, {{kanji:Field NN}} and {{kana:Field NN}} templates have been modified. The standard templates use ASCII spaces ( ) and > characters to determine the beginning of the kanji text. The modified version treats only characters in the word character class as ruby base.

This means that commas, newlines, CJK spaces &c. can be used as separators between kanji and other, preceding text.

Limitations

  • Leading kana are not automatically separated. For example the reading for お釣り must still be written with an ASCII space or other separator between the and the : お 釣[つ]り.
  • This mechanism only work with Python version 2.7.
  • As the other functions, this works only on the desktop client.