kanjidraw 0.2.3

Creator: bradpython12

Last updated:

Add to Cart

Description:

kanjidraw 0.2.3

kanjidraw - handwritten kanji recognition
kanjidraw is a simple Python library + GUI for matching (the strokes
of a) handwritten kanji against its database.
You can use the GUI to draw and subsequently select a kanji from the
list of probable matches, which will then be copied to the clipboard.
The database is based on KanjiVG and the algorithms are based on the
Kanji draw Android app.
Demo
Jiten Japanese Dictionary
uses kanjidraw with a
JavaScript frontend.
Requirements

Python >= 3.5 (w/ Tk support for the GUI).

Debian/Ubuntu
$ apt install python3-tk

Installing
Using pip
$ pip install kanjidraw

NB: depending on your system you may need to use e.g. pip3 --user
instead of just pip.
From git
NB: this installs the latest development version, not the latest
release.
$ git clone https://github.com/obfusk/kanjidraw.git
$ cd kanjidraw
$ pip install -e .

NB: you may need to add e.g. ~/.local/bin to your $PATH in order
to run kanjidraw.
To update to the latest development version:
$ cd kanjidraw
$ git pull --rebase

Examples
Kanji Input on Linux
kanjidraw-paste
Opens kanjidraw to select one (--oneshot) or multiple
(--multiple) kanji, and afterwards pastes the selected kanji in the
active window. Requires xclip and xdotool.
#!/bin/bash
set -e
pid="$( xdotool getactivewindow getwindowpid )"
pids() { xdotool search --classname "$1" getwindowpid %@; }
if pids urxvt | grep -q "^$pid$"; then
key=ctrl+alt+v
elif pids terminal | grep -q "^$pid$"; then
key=ctrl+shift+v
else
key=ctrl+v
fi
kanjidraw -s "$@" | tr -d '\n' | xclip -i -selection clipboard
xdotool key --delay 250 "$key"

i3 config
Keybindings for i3. Creating custom keybindings for kanjidraw-paste --oneshot and/or kanjidraw-paste --multiple should work similarly
with other window managers and desktop environments.
for_window [title="Kanji Draw"] floating enable
bindsym $mod+Control+k exec --no-startup-id kanjidraw-paste --oneshot
bindsym $mod+Control+m exec --no-startup-id kanjidraw-paste --multiple

Miscellaneous
GUI Options
$ kanjidraw --help
usage: kanjidraw [-h] [-s] [-o | -m] [-d] [--version]

optional arguments:
-h, --help show this help message and exit
-s, --stdout print kanji to stdout instead of copying to clipboard
-o, --oneshot quit after one kanji
-m, --multiple queue kanji and copy/print after pressing 'c' or quitting
-d, --dark use dark theme
--version show program's version number and exit

Additional keybindings: q to quit, <esc> to go back.
Enabling Dark Mode
$ export KANJIDRAW_DARK=1

Disabling the Grid
$ export KANJIDRAW_NOGRID=1

License
Code
© Felix C. Stegerman

KanjiVG (stroke data)
© Ulrich Apel

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.