contrib/fugounashi
scripts to support RTK and Japanese sentences in anki
contents
#kore core2k+core6k complete, enhanced and sorted by kanji
#xxfurigana plugin to control furigana display
#scanki smart.fm converter for anki
#cranki convert readings for anki
#kanji-graph graph kanji occurrences in sorted sentences
#kanji-count report cumulative new kanji use in a collection of sentences
#kanji-occurrences find occurrences in a collection of sentences
#kanji-sort sort lines by kanji
#kanji-freq report kanji frequency distribution
#kanji-info RTK name and number and vocab indexed by kanji
#kanji-vocab JLPT, core2k and ko2001 vocab arranged by kanji
#lookup-sentences looks up a gloss for each word in a sentence
#ankitty a curses-based review-only anki client for embedded unix devices
#grid add a drawing grid to kanji as a writing aid
#heisighelper plugin and script to lookup rtk kanji
#revtkrip make an offline mirror of stories from RevTK
#heisig-page mapping of heisig number to RTK 4ed page number
#errata combines RTK 4ed pdf with errata pdf
#overwrite-fields plugin to overwrite existing fields with data from an external file
kore
core2k+core6k complete, enhanced and sorted by kanji
- smart.fm Japanese core 2000 and core 6000 vocab linked with corresponding sentences
- complete 6000 vocab items with 6000 sentences together in 6000 records
- can be made into connected spaced vocab and sentence cards, used to customise formatting, or used to migrate between vocab and sentence cards
- kana-only and furigana readings
enabled furigana display by installing #xxfurigana
- sentence dictionary lookup
- local and remote sound
- 5999 vocab sound tags (5990 unique)
- 6000 sentence sound tags (5928 unique)
for local sound download the vocab and sentences or use your existing files from the smart.fm plugin
- import file has sound-local fields replaced with anki's munged filenames for compatibility with existing media packages and plugin downloads
- use the remote sound field to stream from smart.fm
- vocab, sentence and list ids and per list and overall indices
- for cross-referencing with smart.fm
- sort indices for sorting on sentence-expression by kanji in rtkliteko2001+rtk+frequency, rtk+frequency, ko2001+frequency, and frequency orders
- by default sorted in rtkliteko2001+rtk+frequency order
sort on index column before importing to change sort order (unix users can use sort -n, windows users can use a spreadsheet)
- highest kanji number and new required kanji progression for each sort order
- highest kanji number needed for that sentence corresponds to rtk frame number when sorted by rtk and ko2001 kanji number when sorted by ko2001
- new kanji required lists new kanji compared with previous sentences
- highlighting of vocab item within sentence and vocab parts-of-speech
import into anki with File -> Import...
anki has difficulty with large decks of many fields, so you may wish to extract only those fields you require before importing (unix users can use cut, windows users can use a spreadsheet)
if you include many fields you may need to use this workaround
- set the "Sort as numbers" option on the index fields when creating your model
download import file: kore.txt
Fields |
||
number |
name |
example |
1 |
vocab-expression |
嗅ぐ |
2 |
vocab-kana |
かぐ |
3 |
vocab-meaning |
smell, sniff |
4 |
vocab-sound-remote |
[sound:http://assets3.smart.fm/assets/legacy/JLL/audio/Int/JW03341A.mp3] |
5 |
vocab-sound-local |
[sound:JLL-audio-Int-JW03341A.mp3] |
6 |
vocab-pos |
Verb |
7 |
vocab-id |
439323 |
8 |
sentence-expression |
犬がお皿の匂いをクンクン<b>嗅いでいる</b>ね。 |
9 |
sentence-kana |
いぬ が おさら の におい を くんくん <b>かいで いる</b> ね |
10 |
sentence-meaning |
The dog sniffed at the smell on the plate. |
11 |
sentence-sound-remote |
[sound:http://assets3.smart.fm/assets/legacy/JLL/audio/Int/JS03341A.mp3] |
12 |
sentence-sound-local |
[sound:JLL-audio-Int-JS03341A.mp3] |
13 |
sentence-id |
277649 |
14 |
list |
24631 |
15 |
list-index |
246 |
16 |
index |
3746 |
17 |
sentence-lookup |
犬 【いぬ】 (n) (1) dog (Canis (lupus) familiaris); (2) snoop (i.e. a detective, a spy, etc.); (n-pref) (3) counterfeit; inferior; useless; wasteful; (P); EP <br>お皿 【おさら】 (n) (See 皿) plate; dish; ED <br>匂い 【におい】 (n) (1) odour; odor; scent; smell; stench; (2) aura; whiff; smacks of ...; sense; flavour; flavor; (P); EP <br>クンクン (n,adv,vs) (on-mim) sniff; ED <br>Possible inflected verb or adjective: (te-form)<br>嗅ぐ 【かぐ】 (v5g,vt) to sniff; to smell; (P); EP <br> |
18 |
vocab-furigana |
嗅[か]ぐ |
19 |
sentence-furigana |
犬[いぬ]がお 皿[さら]の 匂[にお]いをクンクン<b> 嗅[か]いでいる</b>ね。 |
20 |
rtk-index |
6000 |
21 |
rtk-kanji |
4541 嗅 |
22 |
ko2001-index |
5974 |
23 |
ko2001-kanji |
3534 嗅 |
24 |
freq-index |
5887 |
25 |
freq-kanji |
1534 嗅 |
26 |
rtkliteko2001-index |
6000 |
27 |
rtkliteko2001-kanji |
5753 嗅 |
sample template:
1 <span style="font-size: larger;"><span style="font-size: larger;">%(vocab-expression)s: %(sentence-expression)s</span></span>
1 <span style="font-size: larger;"><span style="font-size: larger;"><!--fon-->%(vocab-furigana)s: %(sentence-furigana)s</span></span>
2 %(vocab-meaning)s: %(sentence-meaning)s<!--foff-->
3
4 <span style="font-size: smaller;">%(sentence-lookup)s<span>
5
6 %(rtkliteko2001-index)s %(rtkliteko2001-kanji)s %(vocab-sound-local)s %(sentence-sound-local)s
original import file generated with the following:
kore-1.3.sh kore-dic.txt kore-fix.txt
also requires #scanki #cranki #lookup-sentences #kanji-sort #kanji-freq #kanji-count
xxfurigana
plugin to control furigana display
allows furigana to be displayed for any field, allows control over kanji/reading display, and permits html formatting to be used in readings
add the following HTML comments to the card template (can be used in combinations):
<!--fon-->
- show kanji with furigana reading
<!--ftip-->
- show readings in a tooltip
<!--fbigtip-->
- show readings in a big tooltip
<!--fnokanji-->
- show the reading only
<!--fnofuri-->
- show the kanji only
<!--foff-->
- do nothing
xfurigna plugin by Victor Suba, modified to remove loss of space characters and constant highlighting and to add tooltip display
download from within anki
scanki
smart.fm converter for anki
downloads lists from smart.fm and converts to text
sample lists files:
core2k-lists.txt core6k-lists.txt ko2001-lists.txt
Usage: scanki [OPTION] < LISTSFILE -s download sound -v include vocab only (no sentences) LISTSFILE: smart.fm list ids, 1 per line Examples: $ ./scanki [-v] < ./core2k-lists.txt > ./core2k.txt $ mkdir core2k.media; cd core2k.media; ../scanki -s [-v] < ../core2k-lists.txt
Fields |
|||
number |
number (-v) |
name |
example |
1 |
1 |
vocab-expression |
嗅ぐ |
2 |
2 |
vocab-kana |
かぐ |
3 |
3 |
vocab-meaning |
smell, sniff |
4 |
4 |
vocab-sound-remote |
[sound:http://assets3.smart.fm/assets/legacy/JLL/audio/Int/JW03341A.mp3] |
5 |
5 |
vocab-sound-local |
[sound:JLL-audio-Int-JW03341A.mp3] |
6 |
6 |
vocab-pos |
Verb |
7 |
7 |
vocab-id |
439323 |
8 |
|
sentence-expression |
犬がお皿の匂いをクンクン<b>嗅いでいる</b>ね。 |
9 |
|
sentence-kana |
いぬ が おさら の におい を くんくん <b>かいで いる</b> ね |
10 |
|
sentence-meaning |
The dog sniffed at the smell on the plate. |
11 |
|
sentence-sound-remote |
[sound:http://assets3.smart.fm/assets/legacy/JLL/audio/Int/JS03341A.mp3] |
12 |
|
sentence-sound-local |
[sound:JLL-audio-Int-JS03341A.mp3] |
13 |
|
sentence-id |
277649 |
14 |
8 |
list |
24631 |
15 |
9 |
list-index |
246 |
16 |
10 |
index |
3746 |
compared with the smart.fm import plugin:
- multiple lists can be downloaded in a single operation
- vocab items and sentences are together in the same fact, so can be made into spaced cards or used to customise formatting, or used to change between vocab and sentence cards
kana reading is preserved (use #cranki to add furigana readings with much less manual editing)
includes sentence <b> tags, vocab parts-of-speech, remote sound links, list id and per-list and overall indices
- doesn't exclude entries with non-unique kanji fields but with unique combinations of other fields
see #kore for more example usage
requires xmlstarlet
cranki
convert readings for anki
combines kana-only reading and mixed kanji/kana expression into new furigana reading field
usage: cranki --kanji KANJIFIELD --kana KANAFIELD [ --dic DICFILE ] < INFILE > OUTFILE KANJIFIELD: field number (starting from 0) of field in INFILE containing kanji expression KANAFIELD: field number (starting from 0) of field in INFILE containing corresponding kana expression DICFILE: optional reading examples used to disambiguate multiple matches INFILE: tab separated OUTFILE: has new furigana reading field appended example: cranki --kanji 0 --kana 1 --dic dic.txt < in.txt > out.txt missing fields and unmatchable lines are reported to stderr and marked in the output multiple matches are reported to stderr and multiple options are marked and included in output
contains extra logic for smart.fm: handles missing punctuation in kana field, skips unmatchable <b> tags, and uses spaces in kana field to disambiguate multiple matches
import into existing deck with #overwrite-fields
see #kore for more example usage
kanji-graph
graph kanji occurrences in sorted sentences
requires #kanji-count #kanji-occurrences #kanji-sort #kanji-freq
kanji-count
report cumulative new kanji use in a collection of sentences
kanji-occurrences
find first and remaining kanji occurrences in a collection of sentences
kanji-sort
given a kanji list sort the input according to the furthest position in the list of all the kanji in a designated field of the input
sample kanji orders:
kanji-rtk.txt kanji-rtk3.txt kanji-ko2001-1.2.txt kanji-rtkliteko2001.txt
kanji-freq
report kanji frequency distribution in the specified field of the input
kanji-info
RTK name and number and vocab from #kanji-vocab indexed by kanji for use with ankitty
you can also include your stories and other info from your RTK deck by rebuilding with the following script
requires #cranki and #kanji-freq
kanji-vocab
JLPT, core2k and ko2001 vocab arranged by kanji. Can be used to provide Japanese prompts for (most of) RTK. Covers 1998 kanji (1760/2042 RTK1, 201/964 RTK3, 37 extra).
Contains three tab-separated fields: kanji, vocab, and prompt. Vocab contains words from JLPT, core2k and ko2001 preceded by combinations of '4', '3', '2', '1', 'c' or 'k', in anki furigana reading format. Prompt is the same as vocab but with the target kanji obscured.
import into your deck with the #overwrite-fields plugin if deck is in use, otherwise into a new deck
enable furigana in question or other fields using the #xxfurigana plugin
lookup-sentences
looks up a gloss for each word in a sentence using the WWWJDIC Text Word Translation service (docs)
export deck, run through the script, import back into your deck with the #overwrite-fields plugin if deck is in use, otherwise into a new deck
the only argument is the expression field number, output has definition field appended
ankitty
ankitty is a curses-based review-only anki client for embedded unix devices
grid
add a drawing grid to kanji as a writing aid
download the revtk kanji-drawing-grid.gif into the media directory and add the following to the card template
heisighelper
plugin and script to lookup rtk kanji in dictionary, offline copy of revtk, or page in a rtk pdf
plugin broken by current anki release
heisighelper-1.3.sh heisighelper-1.3.py
revtkrip
make an offline mirror of stories from RevTK
heisig-page
mapping of heisig number to RTK 4ed page number
import into your deck with the #overwrite-fields plugin if deck is in use, otherwise into a new deck
errata
combines RTK 4ed pdf with errata pdf
errata-install-1.2.sh errata-map-1.3.txt
overwrite fields
plugin to overwrite existing fields with data from an external file
download from within anki
See the useage example though note that as it is now downloaded with the built-in plugin downloader you can ignore the instructions on downloading and converting line terminators, and also note that when anki starts it loads the current deck, then enables plugins, so you need to close the current deck and then open it again for the plugin to activate.






a minimal deck named "kore lite" containing only list, vocab-expression, vocab-meaning, vocab-furigana, vocab-sound-local, sentence-expression, sentence-meaning, sentence-furigana, sentence-sound-local and sorted on freq-index is available for download within anki