In addition to the navigational mode of browsing, any specific character can be looked up by its English meaning, various Japanese pronounciations, its JIS or other index, or by specifying one or more standard 'radicals' (elements) of the character. The database, which consists of over 2000 characters and their meanings, composition and usage examples, is represented with Lisp-style linked lists.
There are two implementations of this software
This was all coded at 1989, when I certainly had never heard of HTML or Web, and I had only a dim inkling of the hypertext in general.
Unfortunately, this version is nowadays very much obsolete, and I am not even sure whether I have any working set of the sources left.
For this I just recoded in Lisp some C modules of the old MS-DOS version and added few C and Lisp modules for handling the HTTP protocol which is needed when communicating directly with the client browsers.
The database is essentially the same one as used in the old MS-DOS version, being built of nested Lisp lists and expressions. The main task of Kanji Server is at the starting time (right after the boot) to build convenient, RAM-based indices of this data, and then respond to the queries sent by the clients.
For each received valid request Kanji Server will dynamically generate a HTML-page with a standard layout but its contents reflecting the requested entry.
Currently only a limited form of keyword queries, and queries by the index number are implemented in this version.
The 7802 kanji and other characters of the JIS levels 1 and 2 are all collected in the GIF-format (with 24x24 pixel font) into a single huge file of about 900,000 bytes. The <IMG SRC> tags of HTML pages generated by Kanji Server have hyperlinks to a small cgi-script having as its argument the JIS-index of the required character. This script will then extract the character's GIF file out of that huge file, and send it to the client's browser, just like there had been a normal <IMG SRC> reference to an ordinary GIF file.