KanjiDesktop is a frontend tool for the kanji database provided by Jim Breen. More spesifically , it uses the access database version of the actual database provided by Jim Breen. You can use it to select a random or specified kanji and output it as a gif file or an xml file. You can use the resulting gif file as a wallpaper. You can go one step further and use the xml file and an appropriate xsl file to produce an html file as you desire. You can use the resulting html file as your wallpaper. It's up to you when to run the KanjiDesktop to alter the contents of your wallpaper.
Here are the requirements :
You should have java runtime environment to run KanjiDesktop.
You can download Access Kanji database from here. Access KanjiDict. You can obtain a more recent version from Nihongo Ftp Archive
If you want to make use of xml file outputted by KanjiDesktop you should have a xsl transformation utility. One that I use is the free tool provided by Microsoft named msxsl.Msxsl tool requires that you install msxml 4.0 or above to your computer. Recent Internet Explorer versions comes with the proper xml support so you don't need to download msxml components.
For the image outputting to work you should have the Ms Mincho font installed on your system. If you activate the support for Japanese in Windows XP and Windows 2000 you should have this font installed in your system. Otherwise you should separately download and install "Ms Mincho" and other freely provided fonts from Microsoft.
Program runs from the command line so you should supply some parameters to make it work. Here is the description of each parameter.
Note : Each parameter declaration starts with an opening bracket and ends with a closing bracket. In the brackets the first keyword is the parameter name , the second and so on is the value/values regarding that parameter.
I'll describe each parameter with an example around the kanji
To select only the kanji with its Decimal JisCode (17716) and get the gif image with a width of 800 pixels.
[codetype jisdec] [index 17716] [kanjidb c:\kanjidb\kanjidic_access.mdb] [outputimage c:\kanji.gif 800]
To select only the kanji with its HexaDecimal JisCode (4534) and get the gif image with a width of 800 pixels.
[codetype jishex] [index 4534] [kanjidb c:\kanjidb\kanjidic_access.mdb] [outputimage c:\kanji.gif 800]
you can also select the kanjis by their decimal unicode and hexadecimal unicode indexes. you should supply the parameter [codetype unicodedec] and [codetype unicodehex] respectively and set the index parameter accordingly.
Here is the real useful future of the program , you can select the kanjis by their stroke counts , grades and bushu (radical) values.
For ex. kanji is a Grade 3 kanji , has 13 strokes and its bushu value is 167 (metal)
For all of the selects that can return more than one kanji codetype random is used. Let's assume that in all our selects we found the kanji . Here are the example parameters of the selects. (note that index parameter is not used for random selects , instead we have grade,strokecount and bushu parameters each can be used on its own or combined with the other two.
here we select only from the 3. grade kanjis , first value of the parameter is the minimum grade , and the latter is maximum grade.
[codetype random] [grade 3 3] [kanjidb c:\kanjidb\kanjidic_access.mdb] [outputimage c:\kanji.gif 800]
we select from the list of kanjis that have strokecount between 10 and 15.
[codetype random] [strokecount 10 15] [kanjidb c:\kanjidb\kanjidic_access.mdb] [outputimage c:\kanji.gif 800]
here the mix of two examples above
[codetype random] [grade 2 4] [strokecount 10 15] [kanjidb c:\kanjidb\kanjidic_access.mdb] [outputimage c:\kanji.gif 800]
now bushu comes handy , if we want to get a random kanji from the kanjis that has `metal` bushu in them. we use something like
[codetype random] [bushu 167] [kanjidb c:\kanjidb\kanjidic_access.mdb] [outputimage c:\kanji.gif 800]
167 is the index of the bushu `metal`.Here you can find a bushu list in xml. Bushu List.
As mentioned earlier , you can output an xml file containing the kanji's details. for the last example...
[codetype random] [bushu 167] [kanjidb c:\kanjidb\kanjidic_access.mdb] [outputxml c:\kanji.xml]
You can use the extra parameter xsldeclare to specify the xsl file to be used in the transformation.
[codetype random] [bushu 167] [kanjidb c:\kanjidb\kanjidic_access.mdb] [outputxml c:\kanji.xml] [xsldeclare kanji.xsl]
With above `xsldeclare` parameter set following declaration is put into the xml file.
<?xml:stylesheet type="text/xsl" href="kanji.xsl" ?>
The most important parameter is of course kanjidb , in all above example i set it to the fullpath of my kanjidic access database. You can set it according to your installation of this file.
Assuming that java executable is in your path , you should use the below syntax to launch the KanjiDesktop
java -classpath c:\KanjiDesktop.jar com.irduco.deskkanji.KanjiLookup <parameter list>
Here the <parameter list> is the combination of parameters as explained earlier.
Here are the downloads for this application.
Jar file of the application. KanjiDesktop.jar
Sample Xsl file to transform the xml file produced by KanjiDesktop XslSample.zip
And here are some examples at work.
For Kanji , tetsu.gif , tetsu.xml
For Kanji , kane.gif , kane.xml
For Kanji , sen.gif , sen.xml
Sorry for the awkward parameter stuff and silly implementation I didn't have much time to code a better one.
I just wanted to share something I made for my own use and tried to make it a bit more flexible. Still comments and suggestions for improvements are appreciated. I'm sure Kanji enthusiasts will like this program. Makes your idle time in the office useful.