		= Saikan Kanji Dictionary for Psion 3a/3c =
		     Copyright (C) 1996 Jamie Packer


INTRODUCTION
------------

Saikan is a Japanese kanji character dictionary. It allows characters to be
found by a number of different lookup methods and displays their readings
(pronunciation), meanings and other information. It is intended as a
reference for those who know, or are studying, Japanese. It currently
supports the 6,355 kanji in the JIS X0208-1990 character set.

Note: this is not a Japanese dictionary; most Japanese words are written
using two or more kanji characters (or sometimes with none) -- those words
will not be found in this dictionary.

This program is freeware -- no charge is made for using it. However, if you
find it useful, please register with me and I will inform you of new
releases and any other developments.

The program and data files are free but they are NOT in the public domain.
You may make copies this program and data files for redistribution, etc.
These copies must be complete and unaltered, in particular this document and
the file KANJIDIC.DOC MUST be included complete and unaltered. No charge may
be made for this program and data other than reasonable costs of media.

See the section `References And Copyright' for more details of copyright, etc.



USING SAIKAN
------------

General
-------

All functions are available via menus or one or more `hot-keys'. Where there
are alternative hot-keys for a function, these are shown in the menu.

Some of the information in this document is available as help from within
the program (if the file saikan.hlp is installed).

From any point in the program it is possible to go back to the previous
search step (use `Previous menu' option or the Escape key) or back to the
startup  display and main menu (`Main menu' option).

The key combination Psion-Ctrl-K will bring Saikan to the front if it is
running in the background.


Kanji Lookup
------------

There are 8 lookup methods available from the main menu. These are:

	By Radical: characters containing one or more selected radicals 
	can be found

	By Stroke Count: all kanji with stroke counts within a specified
	range are found

	By Reading: all characters with a given reading are found

	By Meaning: the characters with a given meaning will be found

	By Index: finds the character with a specified `dictionary
	index' 

	By Code: the character with the specified ASCII, JIS or EUC code 
	is found

	JIS Table: the entire JIS table can be displayed to find characters

	Memory: a previously found character can be recalled

In most cases the search can be further refined by specifying a range of
stroke counts for the target kanji. The meaning and use of the different
searches are described in more detail in the following sections.

When the search finds a single character the "kanji information" screen is
displayed. The kanji information display is described in more detail below.
Some of the search methods may find several kanji that match the search
criteria -- in this case the list of matching kanji is displayed for
selection. Any of these can be selected for detailed information display.

Kanji selection works in a similar way to radical selection, described
below.


Search By Radical
-----------------

Radical lookup allows kanji to be found using any of their constituent
radicals (not just the radical the kanji is traditionally listed under).
Basically, you select one or more radicals and initiate a search. All the
kanji containing the specified radicals are found and displayed. At any time
while you are selecting radicals, you can set the stroke count range of the
kanji you want to find.


Radical Selection

The radicals are organized in ten pages by stroke count (page 10 has the
radicals with ten or more strokes). The radicals displayed are the 214
classical radicals along with some of their variant forms.

The cursor keys are used to move around the displayed radicals and between
pages. In addition to simply moving the cursor, the following functions are
available:

	Key		Function
	------------------------------
	Page Up		Go to previous page of radicals
	Page Down  	Go to next page of radicals
	Home		Move to start of line
	End		Move to end of line
	Ctrl-Left	Move left by 5 characters
	Ctrl-Right	Move right by 5 characters
	Ctrl-Up		Move to first row of characters
	Ctrl-Down	Move to last row of characters

The displayed page can also be changed by typing the corresponding digit (1
to 9, or 0 for page 10) or via a menu option. 

At the bottom of the radical selection display a status window gives some
information about the currently highlighted character.

Radicals added added to the "selected" list using the `Space' key. The list
of selected radicals is displayed at the top of the screen. When all the
desired radicals have been selected initiate a search by pressing `Enter'.

Characters can be removed from the list of selected radicals by pressing the
Delete key. This brings up a dialog box which allows you to delete any or
all of the kanji in the list.


Search By Stroke Count 
----------------------

Enter the minimum and maximum number of strokes in the characters you want
to find. (This search method is fairly slow.)


Search By Reading
-----------------

Enter the reading you want to find and the type(s) of readings to be
searched. The default is to search both `on' and `kun' readings -- i.e. to
search the more common readings. You can also choose to search any one of
the `on', `kun' or `nanori' readings, or all types of reading. By default
the search looks for readings beginning with the specified string. This can
be changed with the Set Preferences menu option.


Entering search strings

Readings are entered in Roman letters. Input is accepted in any of the
common romanization schemes (nihonshiki, kunreishiki or Hepburn) as well as
some variants (e.g. using `L' for `R'). The Check button on the dialog can
be used to check the input string for acceptability; this will display as
much of the string that can be transliterated -- the string will be
truncated at the point an error is found.

Note that, because readings are stored internally as kana, readings must consist
of complete syllables. For example, it is not possible to search for "mik*" to
find any of "mika", "miki", "miku", etc. The string will be truncated after all
the complete syllables have been converted to kana (i.e. before the "k").


Search By Meaning
-----------------

Enter a string to search for in the meanings field of the kanji database.
The string searching is very simple in this version and you will need to use
wildcards or abbreviations to find words with related meanings -- e.g.
searching for `beaut*' will find `beauty', `beautiful', etc. By default the
search looks for meanings beginning with the specified string. This can be
changed with the Set Preferences menu option.


Search By Index
---------------

This method will match a single, unique character with the specified index
value. Currently only the Nelson dictionary index is supported. See the
References section for more information on the Nelson dictionary.


Search By Code
--------------

This method will also find a single character. Enter the value of the code
in the dialog. The format can be either a hexadecimal number, a decimal
number or the pair of ASCII characters that make up a two byte character
(these are the characters that are typically seen if Japanese text is
displayed on a device which does not support Japanese character codes). The
only encoding currently supported is JIS/EUC -- although character codes
less than 255 ($FF) are assumed to be ASCII. A simple dialog is used to
display limited information about non-kanji character codes.


JIS Table
---------

This function first displays a dialog which allows you to choose the subset
of the JIS character table to be displayed. That subset of the table is then
displayed with one row of the table per page. Kanji can be selected for
detailed information display.


Display memory
--------------

This option will display the information for a character which was
previously found and stored in the memory. See the description below in the
`Kanji information menu' section.


Kanji Selection
---------------

When a search finds more than a single character the results of the search
are displayed for browsing. The full kanji information can be displayed for
any of the characters in the list.

Kanji selection works in a similar way to radical selection (see Search By
Radical above) and, in particular, the cursor keys have the same function.
The Space key is used to display the full kanji information for the selected
character.

At the bottom of the kanji selection display a status window gives some
information about the currently highlighted character. 


Kanji Information Display
-------------------------

The kanji information display is the end result of a successful search. It
shows an enlarged version of the character and all the available information
about it.

The following information is displayed:

	o   The number of strokes in the character.

	o   JIS and EUC codes (in hexadecimal) and the ASCII representation
	    of the two byte character code.
	    
	o   The JIS "level" -- this is 1 for frequently used characters, 2 for
	    less common characters.

	o   The radical (as used in Nelson). This is followed by the
	    "classical" radical that the character is found under, if this is
	    different.

	o   The readings of the character:
		- onyomi in upper case (or katakana)
		- kunyomi in lower case (or hiragana)
		- nanori in italics (or hiragana)

	    The Hepburn romanization system is used in the kanji display. In
	    the readings, a hyphen is used to indicate prefixes and suffixes.
	    A dot is used to separate the kanji reading from the okurigana
	    (see Glossary). Syllabic `n' followed by a vowel is distinguished
	    from the n+vowel syllables by a single quote after the n.

	o   The meanings associated with the character.

	o   The index in the Nelson dictionary.
	
	o   Cross references to related kanji.


Kanji Information Menu
----------------------

The kanji information menu has the following functions

Previous/Next in list

This option displays the information for the previous or next kanji in the
list of matched characters. The presence of kanji before or after the one
currently displayed is indicated by small arrows at the top or bottom of the
display. Note that although the JIS and dictionary index searches will only
match a single kanji, this function will still work -- going to the next or
previous JIS code or index value.

Redraw

This can be used to redisplay the current information -- this is mainly
useful if the Preferences dialogue is used to change the information
displayed.

Radical information

The radical information option displays information on the kanji which is
the radical for the currently displayed character.

Cross reference

This option goes to the display for the cross reference shown at the bottom
of the screen (if there is one). If there are two cross references (JIS and
Nelson) then you have the choice of which to display.

Display Memory

This option will display the information for a character stored in the kanji
memory.

Back

This option returns from the radical information, cross reference or memory
display to the character originally displayed.

Store in memory

This will store the currently displayed character in the programs memory.
Currently only one character at a time can be stored. If the memory is not
empty then a dialog asks whether to overwrite the current contents or not.


Setting Preferences
-------------------

The Set Preferences option allows you to: 

	Enable/disable the Psion-Ctrl-K hot-key

	Select which readings are shown in the kanji information display
	
	Choose the display of readings in Roman or Kana

	Whether to include JIS Level 2 kanji in the search results
	
	Control whether searches for meanings and readings should match
	anywhere, or only at the beginning of a word


Note that if display of readings in kana is selected, the program will turn
off the display of nanori readings. This is because some characters have
more readings than will comfortably fit on the display. You can use the
preferences dialog to re-enable the nanori readings if you wish.

Kana display isn't very good anyway, because of the font size.


REFERENCES AND COPYRIGHT
------------------------

Saikan
------

Kanji dictionary program copyright (c) 1996, 1997 Jamie Packer

	This program is distributed in the hope that it will be useful but
	without any warranty; without even the implied warranty of
	`merchantability' or `fitness for a particular purpose'.

	The copyright holders will not be liable for any damages, including
	any general, special, incidental or consequential damages of any kind
	arising out of the delivery, performance or use of the software.

Having said that, this is a pretty straight forward OPL program so it
shouldn't cause any problems. If you have any difficulty running this
software on your machine please contact me.


Kanjidic
--------

This program is actually a front end for the `kanjidic' kanji data file
produced by Jim Breen (jwb@dgs.monash.edu.au). The full kanjidic is a text
file approximately 900 KBytes in size. A subset of the information has been
extracted, compressed and converted to Psion data file format for use on the
Psion. See the Implementation section below for more information.

For more information on the contents, format and, most importantly, the
copyright of the original kanjidic file, see the file kanjdic.doc included
with this distribution. For information on this and other related data and
software have a look at Jim Breen's web page:

	http://www.rdt.monash.edu.au/~jwb/japanese.html

or the Monash `Nihongo' archive:

	ftp://ftp.monash.edu.au/pub/nihongo.


Radical Lookup
--------------

This was inspired by the radical lookup method in JWP, an excellent *free*
Japanese word processor for Microsoft Windows produced by Stephen Chung (JWP
is available from the Monash ftp site). The original idea, the necessary
data files and many useful ideas came from Michael Raine. If you spot any
errors or omissions please contact him directly at michael-raine@uiowa.edu.


Nelson Dictionary
-----------------

`The modern reader's Japanese-English character dictionary' by Andrew
Nathaniel Nelson, published by Tuttle & Co (ISBN 0-80480-408-7).

There are now a number of other kanji dictionaries available. These use
various lookup and indexing methods. Several of the most popular ones are
referenced in the full kanjidic file. But Nelson is the one I have and so
that is the one this software supports. Others could easily be added at the
cost of using more disk space.


IMPLEMENTATION AND FUTURE DEVELOPMENTS
--------------------------------------

This program is written in OPL with the invaluable assistance of the OPP
preprocessor (see http://ourworld.compuserve.com/homepages/andyc). A small
machine code subroutine is used to speed up the kanji display functions.
Most of the searches simply use the OPL data file search function
`findfield'. This is slower than I would like -- but it was simple.

The database file for the kanji dictionary file contains the following
fields:

	kanji%		JIS code of the character
	bushu$		comma separated list of radical numbers
	strokes%	the number of strokes
	nelson%		the nelson index number
	imi$		list of meanings (comma separated)
	xjis$		list of JIS cross references
	xnelson$	list of Nelson cross refs
	on$		}
	kun$		} list of readings of each type
	nanori$		}

If you have any ideas for using this file, let me know as I can provide the
Perl script used to generate it from the original. Note that I may change the
format in future to add new features.

My next project is to use the EDICT data file (also maintained by Jim Breen)
to implement a Japanese-English dictionary for the Psion. And then link or
combine the two applications. But don't hold your breath...

I have a number of ideas for further improvements to Saikan. Currently these
are lower priority than getting an interface to the edict dictionary running
(although Saikan is a good testing ground for some of the techniques).


If you find this application useful you may be interested in other Japanese
applications for the Psion: in this case you will want to have a look at the
"Japanese on the Psion" web pages: 

	http://www.gingko.demon.co.uk/


GLOSSARY
--------

BUSHU

See "radical"

CLASSICAL RADICAL

The radical that the character is traditionally found under in Chinese and
Japanese dictionaries.

EUC

Extended Unix Code. A two byte encoding for Japanese characters. Uses the
most significant bit to distinguish between ASCII encoding and EUC.

For more information on Japanese encoding methods see `Understanding
Japanese information processing' by Ken Lunde, published by O'Reilly &
Associates (ISBN 1-56592-043-0).

JIS

Japanese Industrial Standard. Used to refer to the JIS standard for encoding
characters in 16 bits (JIS X 0208-1990) which uses escape sequences to
switch between character encodings.

KUN READING (kunyomi)

A native Japanese reading of a kanji.

NANORI

Kanji readings defined for use in names.

OKURIGANA

The grammatical endings of words added after the kanji in hiragana. For
example, when the verb taberu (to eat) is written, the first part of the
word, which doesn't change, (ta) is written with the kanji meaning food/eat
while the rest of the word, which changes according to grammatical function
(-eru = present tense, -eta = past tense, etc) is written with hiragana, In
this dictionary, the okurigana is separated from the stem of the verb with a
dot: `ta.beru'.

ON READING (onyomi)

Readings of kanji derived from original Chinese pronunciations.

RADICAL (bushu)

The 214 basic building blocks of kanji. Traditionally, dictionaries
organised each kanji under a single radical. Now many other indexing schemes
have been invented. Electronic dictionaries (like this one) allow characters
to be found using any of the component radicals.

ROMANIZATION

There are three main ways of writing Japanese using Roman letters. These are
Hepburn, kunreishiki and nihonshiki. Hepburn is used throughout this program
(although all three forms are accepted on input). 

The Hepburn or hyoujun (standard) romanization most closely matches English
pronunciation. However this has the disadvantage that there is not a unique
representation for every kana. For example the kana `si' and `ti' are
transliterated as `shi' and `chi', but the voiced versions (`si"' and `ti"')
both become `ji' under this scheme.

The kunreishiki romanization is fairly regular but doesn't correspond to
normal pronunciation of English characters.

Nihonshiki provides a one-to-one mapping between kana and romanization. The
disadvantage is that the use of Roman letters is not very intuitive for
English speakers.

                    = Jamie Packer (29/5/97) =
                    =  jamie@bristol.st.com  =
                = http://www.gingko.demon.co.uk/ =
                -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
