The latest version of this document can be found in CLex Document
CLex is a multilingual dictionary/spelling check engine for Macintosh. With CLex you can lookup a word from within any application by pressing Command-ENTER or click at a button of the floating window. The spelling can be checked as you type. That is, you have a single spelling check program no matter you are writing in a word processor or chatting on-line. The floating window is accessible everywhere and lets you turn on/off auto-spelling check and have access to a notebook. You can have more than one spelling dictionaries installed and can arrage the order of them by drag & drop within the list of installed dictionaries. You may also turn on or off a particular dictionary by setting up a spell-check configuration. This is useful if you have to write (or chat) in different language or in different context. A statistical pre-processing can be introduced to 'guess' a most propabable dictionary against which the word should be checked. CLex also supports the basic commands of network dictionary protocal DICT (RFC 2229), so you have access to many freely available dictionaries on the Internet as well. You need Power Mac to use CLex. The functions of CLex include:
While starting up, CLex checks the files in its starting folder and loads every dictionary file it can find there. A NetDictionary configuration is a file which is saved earlier in the starting folder.
A screen shot of CLex is shown below. When CLex is running, you can turn on balloon help and point your cursor to each button of the CLex window. The function of CLex's menubar should be self-explanatory.
A screen shot of CLex operating in Flash Card mode is shown below. The Flash Card functions like your paper card stack for learning a foreign language. A card from the stack is chosen randomly according to a particular probability distribution. The key is first shown then the definition. You can click on "I Forgot!" (or press ENTER) to increase the probability of being flashed of this entry. If you click on "I Remember" (or press ESC), the probability will be decreased. If autoflash option is turned off, you can advance the flashing by mouse click or by pressing any key other than ENTER or ESC.
A memo book is in effect a bookmarks collection corresponding to a particular dictionary. You can put an entry into the memo book by pressing the "A.Memo" button when looking up a word. When the memo is turned on, only the entries in the memo book will be shown or flashed. If you want to keep a collection of your vocabulary from different dictionary (especially those from dictionaries on the Internet), you should use notebook in the floating window instead. The learning model is the same for memo book and notebook. While you can not change the content of an entry in the memo book, you can edit the content your notebook.
The hotkeys of CLex is Command-Enter (look up the selected text or switch back to the starting application) and Option-Command-Enter (toggle floating window).
There are two utilities coming with CLex -- index and mySort. You should prepare your data in a plain-text file, in which each record is in a line and the definition(s) of the entry is(are) delimited by <TAB>. An entry can have up to three definition fields, each of which can be either phonetics or definition in different language. This is sometimes necessary so that the definition can be shown in the correct format.
Once you have a raw data file for your dictionary, you should keep it sorted according to the script of the dictionary. On Macintosh each language (more precisely a language in a region, German in Switzerland, e.g.) has its own 'Intl' resources to sort the order of texts. You can use another application which is WorldScript savvy to sort the raw data according to the language/region of the dictionary. Or you can use the enclosed mySort utility. mySort is a primitive application to "filter" the text (sort). The built-in look-up routine in CLex is case-insensitive for Roman script and case-sensitive for other scripts (Japanese, Traditional Chinese, etc.). You should specify the font name for the corresponding script if it is not in Roman script. This can be easily done by giving the -f[FONTNAME] argument. The default sort behavior is case-sensitive, so you have to give the argument -i to switch the case-insensitive mode. The use of mySort is shown in the following figure. Please be patient when "mySort" sorts your raw data.
Once you have a sorted raw data file, you can make your own dictionary using the included "index" utility. You will be asked about the raw data file name and the dictionary name (which will appear in CLex's menu). There is really nothing difficult here. After running "index", you can copy or move the resulting .dat and .ind files to the CLex folder. You can delete the raw data file and the scratch file. They are not needed by CLex. Next time you start CLex, the new dictionary will appear in the menu bar. Please don't forget to specify the font and other preference for your new dictionary. This is crucial if the entry-script is not Roman because CLex can only figure out the sort script by the associated font.
CLex also supports a set of basic format directives. These directives look like the labels in SGML. Your definitions can include these directives. The first character in the definition field should be "<". At the present time, the following labels are supported:
So the following code
<B>This</B> is a <I>test</I> sentence.should look like
This is a test sentence.
The raw data for a spelling dictionary is the same, except that you don't need a definition field (won't harm if you have, so you can use the same raw data for definition dictionary and spelling check dictionary). Run the "index" program with "-S" argument. You will be guided through the process. It would take a little bit time to sort the raw data and calculate statistics, so please be patient.
There is a Gutenberg project for Webster 1913 dictionary. You need some tricks to transform the marked-up text to the raw data which conforms to CLex' index utility. It is not very difficult is you know a little bit about Perl (it's highly recommended to learn it, if you don't :-) ). Dict.Org runs a dictionary server which implements DICT (RFC 2229), including Web1913 and other dictionaries. There are also several notices on their site about freely available plain-text dictionary files.
There are also other Japanese dictionaries data which can be found in The Monash Nihongo ftp Archive. Unfortunately, you will be needing some tricks to translate them as well. Use Perl, of course.
I regret to say this, but CLex is such program that might be categorized as "Memory Hog". This is because CLex uses a lot of memory to keep the morphology analysis and spelling check fast enough for online application. So if you find CLex is behaving strangely (beeps when it shouldn't), try to allocate more memory to CLex in the Finder. The needed memory increases when you have more dictionaries.
CLex is a $29 (or DM 50.00) shareware. An unregistered CLex has all the functions as a registered one, except that you will be reminded to register. Please send cash in US$ or in DM to the following address,
Joseph Chen
Beltgens Garten 14
D-20537 Hamburg
Germany
You can also use Kagi to register this software.
The program's archives may be distributed freely by non-profit organizations as long as they are unchanged. Commercial organizations who want to distribute the archives must first obtain a written permission from Joseph Chen. AOL and CompuServe are excluded from this commercial limitation and may distribute these archives freely on line.PLEASE NOTE THAT THESE SOFTWARES ARE STILL IN TESTING
PHASE, USE THEM AT YOU OWN RISK.
USE OF THIS PRODUCT, IMPLIES THAT YOU WILL HOLD JOSEPH CHEN HARMLESS TO ANY DAMAGES CAUSED BY THE PERFORMANCE OF THIS PRODUCT. YOU ALSO AGREE THAT JOSEPH CHEN CANNOT BE HELD LIABLE FOR ANY OTHER DAMAGES YOU MAY INCUR BY THE USE OF THIS PRODUCT. JOSEPH CHEN PROVIDES NO WARRANTY, EXPRESSED OR IMPLIED, OF THIS PRODUCT, INCLUDING ITS MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON INFRINGEMENT.
CLex is written by Joseph Chen. Please e-mail me for bug report and/or suggestions.