JWPce 1.5/JWPxp 1.61 – Japanese Text Editor and Dictionary – Download Link And Instructions

You can download JWPce here and JWPxp here. It was originally written by Glenn Rosenthal, forked by by M.I.J.E.T., and can be used by translation service providers in their work.

JWPce is a free Japanese Word Processor that I wrote. JWPce is distributed under the GNU General Public License, which means that within certain restrictions you are free to obtain, use and pass on the program. Since I wrote the program and this is my web page, this is as close to an official support site that you are going to find.

Contents


The GNU General Public License
What does this all mean?

A description of the GNU General Public License is shown below, taken directly from the license document. Your distribution kit should contain a copy of GNU General Public License in the file: GNUGPL.TXT (straight text).
GNU GENERAL PUBLIC LICENSE

Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place – Suite 330, Boston, MA 02111-1307, USA

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software–to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation’s software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

Also, for each author’s protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors’ reputations.

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone’s free use or not licensed at all.

The precise terms and conditions for copying, distribution and modification follow.

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The “Program”, below, refers to any such program or work, and a “work based on the Program” means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term “modification”.) Each licensee is addressed as “you”.

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program’s source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.

b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients’ exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.

This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and “any later version”, you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
All this basically means that you are free to get a copy of the program if you want, including the full source code.Whenever a specific copyright notice conflicts with the GNU General Public License, the specific copyright provision(s) will take precedence over the GNU General Public License.


Disclaimers
The legal stuff, or you get what you pay for.

Because this program is free software, it 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. This means that if you lose millions of dollars because you used the program, tough. So there!


Acknowledgements
Thanks, to those who have had a hand in this project.

The creation of JWPce is directly or indirectly the result of contributions from several people and professional translators. I would like to take the time to thank them for their efforts, because without them, JWPce would never have been created!

  • The development team that led to JWP and the databases used in JWPce include:
  • Stephen Chung Who performed a wonderful job in creating JWP, and whom I have shamelessly borrowed from, including the basic layout of this manual.
    • Jim Breen of Australia supplied the Japanese-English dictionary used in JWPce. He also completed the ‘Kanji Info’ database by putting together the works of several people, including his own. This forms the basis of JWPce’s character Information feature.
  • The professors and staff at UCLA whom I learned Japanese from:
    • Professors Masako Ogawa-Douglas, Shoichi Iwasaki, Seiji Lippit, and Michele Marra.
    • Teaching Assistants: B. Baird, Michael Dankert, J. Essertier, Tetsuo Harada, Kyoko Ito, Masako Tamanaha, Hidemi Sugi, and Rinko Shibuya.
    • Special thanks to Dr. Masako Ogawa-Douglas, who encouraged me to release JWPce in its early stages.

  • What is JWPce and what can it do for me?
    Please read this to get an idea of what is going on!

    I enjoy learning Japanese. Over a year ago I discovered a freeware Japanese word processor called JWP, which I found immensely useful in learning Japanese. It included a wonderful online dictionary, a kanji lookup by radical and a number other really useful features. This program is inspired by JWP, however, JWPce is a rewrite of the code starting from scratch. During the creation of JWPce I added a number of features designed to assist me in learning Japanese, you may find these same features to be useful. Additionally, JWPce contains a number of features to make it easier for me to read native Japanese text (in electron or print media), you may also find these features to be useful.

    Historical Development

    I wanted to be able to read Japanese text when traveling. However, for me to read a native Japanese text requires that I have access to both a Japanese dictionary and a kanji dictionary. Carrying these around is a nuisance and tends to prohibit casual reading. By using JWP’s online dictionary and kanji lookup facilities, I could read a Japanese text much easier than by using a paper dictionary, but I still would have to carry a portable computer (and on top of that my portable only lasts for about one hour on battery power).

    In 1997 I became aware of Windows CE machines. These are small computers (usually under a pound in weight) that run the Windows CE operating system (which is mostly like Windows 95/98/NT). I thought that if JWP could be ported (a computer term for moving a program to another system) to such a machine, I would be able to read Japanese text using the small machine (imagine a Japanese (English dictionary and kanji dictionary under a pound), and have my e-mail connection at the same time. Unfortunately, however, early Windows CE machines did not have sufficient memory to run JWP and thus the project stalled. In early 1998 Windows CE 2.0 machines were scheduled to be released. Two of these new models were available with 24MB and 32MBmemory, which is more than sufficient to run JWP, and the project was on again.

    I had first intended simply to port JWP to Windows CE. However, examination of the code revealed that this was not a practical proposition. Instead, I decided to rewrite the code, and this is the result of that effort. It is important to keep in mind that JWPce was originally intended to run on Windows CE machines, which have limited screen and memory resources. As a result, several features of the original JWP were adapted to use less memory and work on smaller displays.

    How Things Actually Turned Out

    As things turned out, the scope of the JWPce project has increased. When I wrote JWPce I left out many features in JWP that I did not use, in order to reduce the code size. In addition, many features that I would have liked to have in JWP but that were not there were added to JWPce. The end result is that JWPce is a different program from JWP and has a different feature set. The answer to which one you should use is whichever you like better, or use them both. Personally I use JWPce, but then, since I wrote it, it works the way I want it to. (Actually, at this point I would suggest that anyone still using JWP switch to using JWPce. This is primarily because JWPce supports many more features that JWP and is much more stable on 32-bit operating systems.)


    JWPce Online Manual
    Everything you could possibly want to know

    The JWPce manual can now be accessed online. You can review features, and checkup on how to use the features.


    The manual is included in the downloadable package.



    JWPce Features
    A Brief List of Special Features

    JWPce has many special features. The main ones are:

    • Online Dictionary: JWPce uses Jim Breen’s Japanese-English dictionary. This dictionary allows the user to translate both to and from Japanese, using either kanji or kana. JWPce’s dictionary features are highly expanded, the program allows searching of Jim Breen’s EDICT (general word dictionary), and ENAMDIC (a name dictionary containing over 168k Japanese names), as well as a number of other Japanese(English dictionaries. Additionally, a user dictionary is supported for words that you cannot find in the online dictionaries or to support other languages, for example if you translate into French.
    • Radical Lookup: JWPce has the ability to lookup kanji by stroke number, and by identifying any number of radicals contained within the kanji. Thus if you can identify two or more radicals within the kanji, you can search for all kanji containing all of those radicals.
    • Many Different Kanji Lookup Systems: JWPce contains no less than nine kanji lookup systems.
    • Kanji Information: JWPce has the ability to provide a large amount of information on any kanji character, including meanings, on-yomi, kun-yomi, etc.
    • Auto-detect Clipboard: When importing from the clipboard JWPce can automatically detect the clipboard format. This makes reading Japanese web pages much easier.
    • Unicode Support: JWPce supports Unicode both in files and on the clipboard. As Unicode applications become more dominant, this feature will become even more useful. (Current Unicode applications include Internet Explorer 4.x/5.x, Word, Netscape 4.x, and all native Windows CE applications.)
    • Color Kanji: JWPce can display kanji in a list you generate in a different color. This allows you to color either the kanji that you don’t know or the kanji that you do know.
    • Advanced Search: JWPce has expanded search capabilities that allow searching over multiple files.
    • Kanji Counting: JWPce can identify the most common kanji in a file. This list is useful for students who want to identity common kanji to learn.
    • Regular Actions: JWPce has a very regular approach to user interactions. This allows you to call up the kanji information box from any location, or call up the radical lookup dialog box from any edit box.
    • Multiple Selections: JWPce allows multiple selection to be used in almost every location. This includes the Open File… dialog box, the dictionary dialog box, the Character Information dialog box, etc. Selection of multiple items is supported wherever it makes sense.
    • Highly Configurable: Although JWPce is not configurable in all the ways JWP was, in many ways it is more configurable. Look through the Utilities/Options… dialog box for the major options. (Note that dictionary search options cannot be set there, use the Utilities/Dictionary… dialog box to set these).
    • User Conveniences: JWPce has many user conveniences built into the interface, including remembering where your window is located, reloading files you were previously working on, etc.
    • Network Configuration: JWPce can be installed on a network where, each user is assigned a location to store his or her personal configuration.

    Relationship between JWP and JWPce
    Similar but different programs

    JWPce was inspired by the original JWP program. There is still a lot of compatibility between the programs, but I consider the JWP program to be obsolete at this point and would only use it if I was working on a Windows 3.x system.


    Installation Requirements
    What do I need to get it running?

    JWPce requires a PC computer system running Windows 95/98/ME/NT/2000/XP/Vista/7/8/10. Windows 3.x is not supported (I suggest that you consider upgrading). The amount of memory required by the program depends primarily on the fonts and dictionaries installed. With minimum font and dictionary installation, JWPce requires less than 8MB of disk space. A full install using all of the standard bitmapped fonts, dictionaries, and the manuals, requires approximately 19MB of disk space. If you install TrueType fonts, the space requirements depend on the fonts you install (TrueType fonts are not distributed with JWPce, unless someone wants to donate a public-domain Japanese TrueType font). Similarly, if you install a number of supplemental dictionaries, the space requirements will depend on exactly which supplemental dictionaries you install.


    Installation Instructions
    How to I get it working?

    Installation of JWPce is very simple:

    1. Obtain the distribution .zip files: One way or another obtain the distribution .zip files. Depending on where you obtained your distribution copy you may have different numbers of zip files. Some of the JWPce distribution files are also available as a self-extracting executable (.exe file).
    2. Generate a directory: Make a directory that will be your installation directory. If you are installing over a previous version of JWPce or JWP you can simply use your existing directory.
    3. Decompress the .zip files: Decompress the .zip files into your installation directory. If you are using the self-extracting archives (.exe files), you can decompress the file by double clicking on it! If you are installing over an older version of JWPce or over JWP you can safely overwrite any files. At this point you can delete the .zip files, as they are no longer necessary. NOTE: Currently it is a requirement that essentially all the JWPce support files are located in the same directory as the executable (jwpce.exe).
    4. Run the Program: Run the executable program “jwpce.exe”. This will automatically complete the installation, and prompt you for any information needed. Since Explorer does not normally show the file extensions, you should look for a file named “jwpce”, with the kanji KAN from KANJI as an icon.

    What if I already have JWP?

    If you already have JWP, you can install JWPce in the same directory. For the most part they use the same files, so you will not have to duplicate files. Where they don’t use the same files, the files have different names, so they will not interfere with each other.


    Tip: My recommendation would be to upgrade completely to JWPce. At this point JWPce has many more features than JWP had, is smaller, faster, and more stable on 32-bit operating systems.


    The only real problem is in whether or not to allow JWPce to take over the associations for the file extensions. These associations determine what program will be started when you double click on a file of the type (.jwp, .jis, .euc, etc.). Unfortunately, both programs use the same file extensions, so you will have to decide which one should handle the associations.

    JWPce uses newer versions of EDICT and ENAMDICT (which was part of EDICT in JWP 1.31). The newer files can be used by JWP; and JWPce can use the older dictionary files, but doing so will disable some of its features. In particular, if you use the wrong dictionary version with one of the programs, that program will not be able to block name entries. The best choice is to use the newer dictionaries, then you can either add or not add ENAMDICT to JWP’s dictionary list to get the best searching options.

    If you have been using JWP, a few things will not be converted to JWPce. These include the following:

    • Options: JWPce options are somewhat different than those of JWP, and the method of storing the option settings is completely different. Thus, JWPce will not even attempt to read your JWP settings.
    • User Conversion Cache: When you convert kana to kanji, JWP and JWPce attempt to remember the choices you made for the kanji conversions. Although both programs store the choices in a conversion cache, they store the cache in very different ways. JWP uses a straightforward storage method, while JWPce uses a selective storage algorithm that allows it to effectively store a larger number of conversions in a smaller file. Since it is relatively painless to reselect your favorite kana-to-kanji conversions, JWPce does not attempt to read the JWP conversions file.
    • User kana-to-kanji conversions: JWP and JWPce allow you to specify custom kana-to-kanji conversions (since the Wnn dictionary cannot possibly contain all the conversions you might want). JWPce stores conversions in exactly the same format as the Wnn dictionary does, which allows me to use the same search engine for both the Wnn dictionary and the user conversion dictionary. JWP uses a slightly different format for its conversion file. This difference will require one to re-enter custom kana-to-kanji conversions. If this presents too much of a problem contact me and I will attempt to provide a utility program that will perform the conversion for you.
    • Glossary: JWPce does not implement the glossary feature of JWP. I did not use this feature because a number of bugs in it tended to crash the program. A similar feature can be generated by defining a custom kana-to-kanji conversion based on your mnemonic. You can then treat your string as a kana-to-kanji conversion.

    Updating JWPce
    What to do when things change (hopefully improve).

    If you are installing an updated version of JWPce, you can either get an updated package or install a complete version of JWPce over your existing version.

    Update packages are smaller and faster to download and install. If you get an update package, please check the instructions, since the update versions now require that you have at lease a certain version of JWPce to update from. This was done to keep the size of the update versions small.

    Reinstalling JWPce over your existing version has some advantages too. In particular you will get the newest copy of the main dictionaries. These are not included in the update packages, because this would defeat the purpose of the updates.

    Because there have been internal changes in the versions of JWPce I am now distributing a small program called UPDATE.EXE with each version of JWPce. This program will check your version of JWPce and update any necessary files to the current version. You run this program by simply double clicking on it. After you have run UPDATE.EXE you can simply delete the program, as it will no longer be necessary. You can run UPDATE.EXE as often as you like, it will not hurt any of the files.

    Windows CE Updates

    I have not generated a version of UPDATE.EXE for each of the Windows CE versions. I believe that most people who are using the CE versions also have a version on their desktop. You can simply copy the updated files from your desktop to your CE machine. Also the next section contains a list of things that have changed from version to version so you can see what UPDATE.EXE would be doing.

    Update History

    This section contains a history of major file changes in the various versions of JWPce. If you are updating from an older version of JWPce you can see what files have been modified.

    Version 1.33:

    Due to changes in the kana->kanji conversion system, the files WNN.DCT and WNN.IDX have been replaced with the files WNN.DAT and WNN.DIX. Additionally, the format of the user kana->knaji conversion file (USER.CNV) has changed to match the format used by WNN.DAT. UPDATE.EXE will update the format USER.CNV, as well as offer to delete the obsolete files.

    Version 1.42:

    Due to changes in the configuration file project files saved from earlier versions are not compatible with version 1.42.


    Network Installation
    How to get this working on a network.


    WARNING! This section deals with technical issues related to setting up JWPce to be run over a shared network, or for a single user to run multiple configurations. If this does not fit your configuration or you are uncomfortable with such issues, simply skip this section.


    JWPce was originally designed as a single user program. The program originally stored all information about the user configuration in the same directory as the executable. This is efficient, but makes the program difficult to use in a network configuration, where many different users may be using the program at the same time. In such a case multiple users would end up saving their configurations on top of each other and no one would be happy. Since JWPce is being used in academic situations over networks (something I never envisioned when I started the project), support for network configurations has become more important.


    WARNING! Network configurations are not supported on Windows CE versions.


    JWPce allows a command line argument to specify the directory for user configuration files. Normally JWPce will attempt to read all files from the user’s directory, but if a configuration file is missing, it will read the file from the default directory (where the program is located). This allows the default configuration to be used to initialize all configurations. When writing, JWPce will always attempt to write user configuration information into the user directory, and will never write back into the default directory.

    The command line argument to specify the user directory location is:

            (+|-)user_directory
    

    If the plus (+) option is used all error checking will remain active. This should be the normal configuration. If the minus (-) option is used errors will not be reported when writing user configuration files. Note: Using the minus option does not have any effect on user data files, where all error reporting remains active!

    Generally the minus option should not be used, but it has some advantages in special situations. For example, if you do not want users to save their configuration files then you could use this option and provide an invalid directory for the user_directory. This will prevent the user form saving configurations and prevent generation of error messages. Another special situation might be if the users save their configurations on a floppy disk, but you want the program to run quietly when no disk is in the machine. In such a case you could use the configuration option:

            -a:\
    

    All JWPce features will work even when the user cannot save configuration information, however, any changes the user makes to the configuration will not be preserved from session to session.

    Files Affected

    Following is a list of the files that JWPce considers to be user configuration files. These are simply files that may change as the user works with JWPce but that are not actual data files:

    colkanji.lstKanji list used by the color-kanji feature.
    jwpce.cfgJWPce configuration file, this will be generated when you run JWPce.
    jwpce.dicJWPce dictionary configuration file. This file contains information about supplemental dictionaries you have installed (translated versions or other).
    jwpce_lang.dllLanguage interface (localization) file.
    user.cnvUser kana->kanji conversions.
    user.dctUser dictionary.
    user.selHolds user selections for kana->kanji conversions.

    Setup Procedure

    The following section describes the things you need to think about and steps you need to take when installing JWPce on a network.

    1. Install JWPce: Install JWPce as normal on the server system.
    2. Set Default Configuration: Set up a default JWPce configuration on the server. At a minimum simply run JWPce, which will generate a jwpce.cfg file that will become the base configuration for the users. If this is not done, every new user (or users who forgot their disk) will get the message about being unable to load the configuration file, using default values.
    3. Install Supplemental Dictionaries: If you are going to install any of the supplemental dictionaries, you should do this now. This will set up a base dictionary search that the users can use.
    4. Do not generate a user dictionary: Generally you may NOT want to provide a common user dictionary. This is because if the user adds something to this dictionary, the entire dictionary will get copied into the user configuration directory. Additionally, once the user generates his or her own user dictionary, they will not be able to use any changes to the central dictionary that you may make (assuming this is an educational situation).
    5. If you want to provide a central dictionary: If you want to provide a central dictionary that all users can access, and that dictionary was generated as a user dictionary, you can simply rename the user.dct file to any other name and add it to the supplemental dictionaries list using the Searched Dictionaries dialog box. (Remember that the user dictionary is not indexed.)
    6. Setup User Executable: You will then need to modify the user executable command line to run JWPce with the correct command line arguments for your network. You may actually need to set up a script file of some kind to fetch the location of the user’s directory and pass that information to JWPce. For a very simple setup, where the user is expected to store the configuration files on a floppy disk, you can modify the typical executable line from
              JWPce.exe
      

      to

              JWPce.exe +a:\
      

    Windows CE Versions of JWPce
    What is different? What do I do? How do I do it?


    WARNING! This section deals with running the Windows CE version of JWPce. If this does not fit your situation, or you just don’t care about Windows CE simply skip this section.


    JWPce can run on Windows CE platforms. This section deals with specific issues related to running JWPce in such an environment. If you are using a PPC (Palm PC, then you may also want to look at the following section on PPC’s.

    Implementation Decisions

    Generally Windows CE versions of JWPce are almost identical to the Windows 95/98/ME/NT/2000/XP version. However, a number of decisions were made when implementing JWPce on Windows CE platforms:

    • The BITMAP clipboard format is not supported.
    • Clipboard formats TEXT and OEMTEXT are not supported (just UNICODETEXT). These formats are not supported by most other Windows CE programs.
    • Support for half-width katakana has been dropped. I have not yet encountered a file using this and removing it saves some code space.
    • Multi-file selects are not supported. Windows CE does not support this feature.
    • Printing is not supported in Windows CE. This may be added at some later date.
    • Some items were removed from the Edit menu, because the menu was too long for the Windows CE display. The removed items are Insert page break, and the mode settings.
    • Network startup options are not supported in Windows CE. The user cannot edit the command line arguments that are passed to a program.
    • Some visual changes were made because of the types of buttons or controls supported by Windows CE.

    Requirements

    Windows CE versions of JWPce are designed to operate on HPCs (Handheld Personal Computers) and PPCs (Palm Personal Computers) running the Windows CE operating system. The program has been developed and tested under Window CE version 2.0. I have not specifically excluded Windows CE versions earlier than 2.0, but I have not tested the program under any of these versions, and would expect that it will NOT work correctly.

    Versions 1.40B (and beyond) read system parameters that are not supported on some early versions of Windows CE. I have generated versions of the code the use fixed directory locations for compatibility with older systems. This is not a perfect fix, since the fixed locations vary depending on the CE implementation, but I am just supporting the western system configuration.

    Every attempt has been made to keep dialog boxes small enough so that 480×240 displays will be acceptable. There are a few dialog boxes that will have to be shifted for people using the smaller display (most notably the Radical Lookup dialog box, which is clearly 640×240).

    My Windows CE machines are a Jornada 729, an Everex Freestyle, and a Casio E-700J. I have extensively tested JWPce using these systems without any problems.

    The complete installation of JWPce with dictionaries and lookup tables but no help files takes about 8.5 MB of storage (not counting the storage compression used by Windows CE). Various files can be deleted to save space, if that is necessary (see below). JWPce will run on a machine with 8 MB of RAM (less if some of the files are removed). Here are my personal recommendations for system configurations:

    MemoryConfiguration
    8MBInstall program in main memory and all dictionaries on flash card. Install only the required basic F16X16.F00 font.
    16MBInstall JWPce in memory. If your main application is JWPce you can install EDICT in main memory. Otherwise, install EDICT on a flash card. By moving EDICT to flash card you can save enough space to install additional fonts.
    32MBInstall JWPce, fonts, and EDICT in main memory. Install ENAMDICT and other dictionaries on flash card.
    64+MBYou can easily install all of JWPce, fonts, and dictionary in main memory. If you later need the memory back, you can move some of the dictionary files to a flash card.

    Installation Instructions

    Currently there is no installer service for JWPce under Windows CE. I will eventually generate one, but this is a low priority. Until then the following steps can be used to install JWPce on a Windows CE machine:

    1. Obtain the distribution .zip files: One way or another obtain the distribution .zip files – the number of files will depend on where you obtain them.
    2. Make a temporary directory: Create a temporary directory on your desktop machine (such as c:\temp-wince).
    3. Decompress the .zip files: Decompress the .zip files into your temporary directory. Generally it is better first to decompress any general files and then to decompress files that are specific to your processor. At this point you can delete the .zip files as they are no longer necessary.
    4. Make an installation directory: Create a program directory on your Windows CE machine, e.g. \Program Files\JWPce.
    5. Copy the files: Copy the desired files from the temporary directory on your desktop machine to the installation directory on your Windows CE machine. You can now delete the temporary directory (and its contents) on your desktop machine, as it is no longer necessary.
    6. Run the Program: Run the executable program “jwpce.exe”. This program will automatically complete the installation, and prompt you for any information needed, just like the Windows 95/98/ME/NT/2000/XP/Vista/7/8/10version.

    Installing Help

    Normal Windows CE help is implemented using the Pocket Help program, and help information is stored in a reduced form of HTML format. Unfortunately using Pocket Help, requires that most of the help files reside in the Windows\System directory. One of the problems with HTML formatted files, is that all Japanese text must be stored as small images in separate files* (in total, there are around 130 files in the help system).

    I do not like the idea of dumping 130 or so files into the Windows\System directory so JWPce implements it’s help using Pocket Internet Explorer. This has a number of advantages: First, this allows the full range of HTML to be used in the help system**. Second, this allows me to place the help files in any location. There are also a few disadvantages: Pocket Internet Explorer opens files slower than Pocket Help. Overall, I believe this is the best solution.

    The following steps can be used to install help on a Windows CE system:

    1. Obtain the distribution zip files: One way or another obtain the distribution .zip files – the number of files will depend on where you obtain them.
    2. Make a temporary directory: Create a temporary directory on your desktop machine (such as c:\temp-help).
    3. Decompress the .zip files: Decompress the .zip file(s) into your temporary directory. At this point you can delete the .zip files, as they are no longer necessary.
    4. Make an installation directory: Create a help directory on your Windows CE machine. The directory must be named help, and must be a sub-directory of wherever you installed JWPce. For example, if you installed JWPce in \Program Files\JWPce you must install help in the directory \Program Files\JWPce\help.
    5. Copy the files: Copy the desired files from the temporary directory on your desktop machine to the help directory on your Windows CE machine. You can now delete the temporary directory (and its contents) on your desktop machine, as it is no longer necessary.

    Compatibility Issues

    This section deals with compatibility issues between the Windows CE versions of JWPce and the Windows 95/98/ME/NT/2000/XP/Vista/7/8/10 versions.

    Generally all files used by JWPce are directly compatible between Windows CE and Windows 95/98/ME/NT/2000/XP/Vista/7/8/10 versions. The following files, however, cannot be directly moved from one system to the other:

    • jwpce.exe: Executable files cannot be moved from one system to another.
    • JWPce.hlp: This is a Windows 95/98/ME/NT/2000/XP/Vista/7/8/10 help file and it will not function on Windows CE machines.
    • jfc.cfg: JWPce configuration files in Windows CE are slightly different from those in Windows 95/98/ME/NT/2000/XP. Using a configuration file on the wrong system will cause JWPce to reinitialize the configuration to the default values.
    • jwpce.dic: Dictionary configuration files cannot be moved. The one on Windows CE is in UNICODE format, and the one on Windows 95/98/ME/NT/2000/XP is in ASCII format.

    All other files can be freely moved between the systems without any translation.


    * Because help must work on all system I cannot assume a Japanese display system is present.** Excluding the HTML tags that are not correctly implemented in Pocket Internet Explorer.


    PocketPC/PPC Windows CE Versions of JWPce
    It’s small, but what else is it?


    WARNING! The next section deals with running a Windows CE version of JWPce on a PPC (palm personal computer). If this does not fit your situation, or you just don’t care about Windows CE simply skip this section.


    JWPce is able to run on PocketPC / PPC Windows CE platforms, however, do to some severe limitations Microsoft has placed on the PPC versions Windows CE, these versions have some special issues.

    Implementation Decisions

    Generally Windows CE PPC versions of JWPce are almost identical to the Windows CE version, however, a number of decisions had to be made when implementing JWPce on Windows CE PPC platforms.Specific to PPC’s:

        1. Since there is no file management system on the PPC’s, a delete command has been added. In addition, backup files are not created by default, since they are difficult to delete.
        2. Open file dialog on the PPC’s does not support multiple file types, so the default file type has been changed to JWPce native (.jce).
        3. True Type fonts are not supported on PPC’s, thus JWPce will allow the use of bitmapped fonts.
        4. Remember that the open and close dialog boxes will only look for files located in subdirectores or the \My Documents directory. This limits were supplemental dictionaries and other things can be located.
        5. Due to screen space limitations, many labels had to be abbreviated.
        6. Due to screen limitations, some information was dropped from the Character Information dialog.
        7. Because determining which programs are running, and changing the active program is difficult JWPce will only allow one version of the program to run. If you attempt to start a second version, the current version will simply be brought to the foreground.
        8. I did not adhere to Microsoft’s nonsense idea that PPC programs not allow the user to exit. JWPce has a close box and an exit item on the menu.

    General Windows CE:

      1. The BITMAP clipboard format is not supported.
      2. Clipboard formats TEXT and OEMTEXT are not supported (just UNICODETEXT). These formats are not supported by most other programs.
      3. Support for half-width katakana has been dropped. I have not yet encountered a file using this and it saves some code space.
      4. Multi-file selects are not supported. Windows CE does not support this feature.
      5. Printing is not supported in Windows CE. This may be added at some later date.
      6. Some items were removed from the Edit menu, because the menu was too long for Windows CE display. The removed items are Insert page break, and the mode settings.
      7. Network startup options are not supported in Windows CE. The user cannot edit the command line arguments that are passed to a program.
      8. Some visual changes because of types of buttons or controls supported by Windows CE.
      9. Currently TrueType Japanese fonts are not supported on Windows CE machines. The PPC machines do not have a TrueType engine, and HPC machines doe not support glyph addressing, which is used by JWPce. (At some future date, TrueType font support will be reexamined, especially for the HPC machines.)

    Installation Requirements

    Windows CE version 2.0 and higher should work with the PPC versions of JWPce. I have not specifically excluded Windows CE versions earlier than 2.0, but I have not tested the program under any of these versions, and would expect that it will NOT work correctly.Versions 1.40B (and beyond) read system parameters that are not supported on some early versions of Windows CE. I have generated versions of the code the use fixed directory locations for compatibility with older systems. This is not a perfect fix, since the fixed locations vary depending on the CE implementation, but I am just supporting the western system configuration.

    The complete installation of JWPce with dictionaries, and lookup tables takes about 8.5 MB of storage (not counting the storage compression used by Windows CE). Various files can be deleted to save space if that is of significance (see below). JWPce will run on a machine with 8 MB of RAM (less if some of the files are removed).

    MemoryConfiguration
    8MBInstall program in main memory and all dictionaries on flash card. Install only the required basic F16X16.F00 font.
    16MBInstall JWPce in memory. If your main application is JWPce you can install EDICT in main memory. Otherwise, install EDICT on a flash card. By moving EDICT to flash card you can save enough space to install additional fonts.
    32MBInstall JWPce, fonts, and EDICT in main memory. Install ENAMDICT and other dictionaries on flash card.
    64+MBYou can easily install all of JWPce, fonts, and dictionary in main memory. If you later need the memory back, you can move some of the dictionary files to a flash card.

    Installation Instructions

    Currently there is no installer for JWPce under Windows CE. I will eventually generate one, but this is a low priority. Until then, the following steps can be used to install JWPce on a Windows CE PPC machine. Due to the absence of any type of file manager on the PPC versions of Windows CE, you will have to attach JWPce to the Start Menu [HT1]by hand to run the program. Do not worry, the steps are very straightforward.

    1. Obtain the distribution .zip files: One way or another obtain the distribution .zip files – the number of files will depend on where you obtain them.
    2. Make a temporary directory: Create a temporary directory on your desktop machine (such as c:\temp-wince).
    3. Decompress the .zip files: Decompress the .zip files into your temporary directory. Generally it is better first to decompress any general files and then to decompress files that are specific to your processor. At this point you can delete the .zip files, as they are no longer necessary.
    4. Make an installation directory: Create a program directory on your Windows CE machine, e.g. \Program Files\JWPce.
    5. Copy the files: Copy the desired files from the temporary directory on your desktop machine to the installation directory on your Windows CE machine. You can now delete the temporary directory (and its contents) on your desktop machine, as it is no longer necessary.

    The next steps depend on which version of the Windows CE you have!

    If you have Windows CE 3.0 or a PocketPC system:

    1. Run the Program: On your PPC machine there should now be a link to JWPce in the programs menu. Activate this link. The program will automatically complete the installation, and prompt you for any necessary information, just like the Windows XP version.
    2. Done! You are done.

    If you have an older Windows CE device (from before the PocketPC), you probably don�t have a file explorer, so you will need to link JWPce into the Start Menu before you can run the program.

    1. Select the Program: Now you will need to generate a link in the start menu so you can execute the program. Find the file JWPce.exe on the PPC device (since you just copied the files, I am assuming that you are exploring your PPC), and click on it once.
    2. Copy the Program: Select Copy from the Edit menu on Explorer.
    3. Change Directories: Change the Explorer directory to /Windows/Start Menu/Programs.
    4. Make the Shortcut: Choose Paste Shortcut from the Edit menu on Explorer. If you would like a shorter name in your start menu, you can edit the name from “shortcut to JWPce.exe” to “JWPce”, or whatever you like
    5. Run the Program: On your PPC machine there should now be a link to JWPce in the programs menu. Activate this link. The program will automatically complete the installation, and prompt you for any necessary information, just like the Windows 95/98/ME/NT/2000/XP version.
    6. Done! You are done.

    Installing Help

    Normal Windows CE help is implemented using the Pocket Help program, and help information is stored in a reduced form of HTML format. Unfortunately using Pocket Help, requires that most of the help files reside in the Windows\System directory. One of the problems with HTML formatted files, is that all Japanese text must be stored as small images in separate files* (in total, there are around 130 files in the help system).

    I do not like the idea of dumping 130 or so files into the Windows\System directory so JWPce implements it’s help using Pocket Internet Explorer. This has a number of advantages: First, this allows the full range of HTML to be used in the help system**. Second, this allows me to place the help files in any location. There are also a few disadvantages: Pocket Internet Explorer opens files slower than Pocket Help. Overall, I believe this is the best solution.

    The following steps can be used to install help on a Windows CE system:

    1. Obtain the distribution zip files: One way or another obtain the distribution .zip files – the number of files will depend on where you obtain them.
    2. Make a temporary directory: Create a temporary directory on your desktop machine (such as c:\temp-help).
    3. Decompress the .zip files: Decompress the .zip file(s) into your temporary directory. At this point you can delete the .zip files, as they are no longer necessary.
    4. Make an installation directory: Create a help directory on your Windows CE machine. The directory must be named help, and must be a sub-directory of wherever you installed JWPce. For example, if you installed JWPce in \Program Files\JWPce you must install help in the directory \Program Files\JWPce\help.
    5. Copy the files: Copy the desired files from the temporary directory on your desktop machine to the help directory on your Windows CE machine. You can now delete the temporary directory (and its contents) on your desktop machine, as it is no longer necessary.

    Compatibility Issues

    This section deals with compatibility issues between the Windows CE versions of JWPce and the Windows 95/98/ME/NT/2000/XP versions.

    Generally all files used by JWPce are directly compatible between Windows CE and Windows 95/98/ME/NT/2000/XP versions. The following files, however, cannot be directly moved from one system to the other:

    • jwpce.exe: Executable files cannot be moved from one system to another.
    • JWPce.hlp: This is a Windows 95/98/ME/NT/2000/XP help file and it will not function on Windows CE machines.
    • jfc.cfg: JWPce configuration files in Windows CE are slightly different from those in Windows 95/98/ME/NT/2000/XP. Using a configuration file on the wrong system will cause JWPce to reinitialize the configuration to the default values.
    • jwpce.dic: Dictionary configuration files cannot be moved. The one on Windows CE is in UNICODE format, and the one on Windows 95/98/ME/NT/2000/XP is in ASCII format.

    All other files can be freely moved between the systems without any translation.


    * Because help must work on all system I cannot assume a Japanese display system is present.** Excluding the HTML tags that are not correctly implemented in Pocket Internet Explorer.


    International Support
    Does it speak My Language?

    The appearance of JWPce’s interface can be changed by the use of a language or localization file (JWPCE_LANG.DLL). These files can replace virtually all the text strings used by the program, as well as menus and dialog boxes. This system was designed to allow creation of alternative interface modules in different languages.

    If a language support file is available for a language you are interested in, you can simply copy the support file to the same location as JWPCE.EXE. During startup JWPce will detect the language file and switch interfaces. There is an internal check to make sure the language support file matches the version of JWPce you are using.

    Currently JWPce supports only one interface language at a time. Further the language is set when JWPce starts. At a later date, support for switching interface languages on the fly may be implemented.

    If you are interested in translating JWPce’s interface to another language please contact me or obtain the translation kit (jwpcetra.zip). This kit contains instructions, notes and tools used to generate a translation file. (Please don’t underestimate the amount of effort that this will take, JWPce contains around 300 message strings, 50 dialog boxes, a two menus containing nearly 100 items. Most of these will require translation. This is not even considering the manual, help, or adjustments necessary for Windows CE PPCs and HPCs.) Well if I haven’t managed to scare you off and you are interested in helping with translations please continue.


    JWPce – Technical Information
    More information than you really want to know.

    This routine (writing a web page after programming, should be section, techno-humor) has answers to a number of technical questions related to JWPce. Some of the information gets very technical.

    Style

    I am not a Windows programmer (this is my first Windows program with an interface), and thus have bent the Windows programming style conventions somewhat. The most dominant of this is the multi-file single-window interface. This interface is one that I like since I always maximize child windows when working, which is essentially what this does, but this requires much less code. This model also translates to the Windows CE environment better.

    Why C++

    JWPce is written in C++, instead of C. Generally C can be more efficient than C++, but C++ makes it easier to reuse code. In the construction of JWPce, a number of precautions were taken to make the code very efficient. In particular, JWPce avoids use of the stream classes, because they include large amounts of code. Additionally, the C file system is not used. All system services that can be moved to system calls have been done so.

    Also I wanted to write a C++ program (normally, I program in C).

    Why no Foundation Class?

    There are a number of reasons for this. First and foremost is that the foundation class tends to make for large code, and I wanted very small code. Additionally, I have little experience with the foundation class and wanted to bend the Windows programming styles conventions, so I did not use the foundation class.

    Why limited use of the Registry?

    JWPce does not use the registry to store the configuration. Instead the user configuration information is stored in a binary file “JWPCE.CFG”, located in the same directory as the executable code. There are potentially a number of advantages to this — having different configurations for executables stored in different locations, etc. All of these reasons are wrong. I had considered a number of alternatives for storing the configuration.

    I rejected using the registry, for a number of reasons. Registry usage is different in Window 95/98/ME/NT/2000/XP and Windows CE. I don’t like the registry, it is fragile (gets messed up easily). The user can edit it, but not easily — A relatively inexperienced user can potentially edit an INI file, but finding and editing keys in the registry is scary, and difficult for most users, but some of them can, so you really need to check return values, but the user cannot change them. This is the worst of all worlds.

    I rejected using an INI file (although I may change to one later), because the user can modify the value in the INI file, so a lot of code is necessary to check the values obtained form the INI file to make sure they make sense. Additionally, translating the internal representation of variables into text representation requires lots of code, for little return.

    In the end, I decided on a binary file format, because it is small, easy to program, easy to protect using a magic number, and if the user wants to get rid of the configuration they just simply can delete the configuration file (JWPce will rebuild it with the default values). Additionally, since the file is binary it is small, and access is controlled, because users will not try to edit it, so values within are relatively reliable.

    Why the restricted file locations?

    JWP allowed users to place the support files in virtually any location the user wanted, however, JWPce requires most of the support files to be in the same directory as the main program.

    Simply, I didn’t think the added code was a good trade-off against the gained functionality of this feature. In JWP, this features can cause problems, if the user moves the program, because JWP does not always realize this has happened and correct the connections to the actual file locations. Further, the 19MB required for a full install is relatively modest by modern standards and should not represent a problem. Finally, JWPce file access is provided though a standard class function, thus if allowing the user to locate files at any location it can easily be added to the program at a later date.

    Further, as was originally intended JWPce lets you move the dictionary files (which are the largest part of the system), and supplemental font files to any location on your system. Given this arrangement, I will probably continue to restrict all other support files to the same directory as the executable.

    Why the keyboard layout?

    JWPce uses a fixed keyboard layout that is somewhat different from that used by JWP’s default. The choice of a fixed layout had to do with producing a small code size for the Windows CE environment. An added concern was to have a keyboard mapping that worked under Windows 95/98/ME/NT/2000/XP and Windows CE. This means that all actions must have a non-function key mapping (can also have a function key mapping), because Windows CE machines do not have function keys! I have included all key mappings in the menu shortcuts for commands with multiple key mappings (for example the dictionary lookup is either F6 or Ctrl+D).

    Additionally, JWPce uses a trick to reduce the amount of coding necessary. In reality, a Japanese edit box is simply a file that is one line long, thus the same code is used for edit controls and for editing files. Some commands, however, do not make sense in the context of an edit box. JWPce implements these commands through menu controls, thus they are not available in an edit box automatically, and commands that do make sense in an edit box are implemented though the keyboard control with the menu command (if there is one) simply invoking the keyboard command. This could easily be revised to allow for configurable keyboard at some later date.

    As for where the actual key assignments came from, well…, er…, um…, for the most part, there a cross between the JWP defaults, conventional Windows defaults, and my personal (well, when you do the programming you get the make the choices) JWP configuration.


    Recent Changes to JWPce
    Okay… So what actually did change.

    This section contains a short overview of changes in the most recent versions of JWPxp/JWPce. For a full list of changes see the CHANGES.TXT file.

    Documented Extant Issues:

    There are thousands of spelling errors in the comments. No, that’s not an exaggeration.
    I generally avoid correcting them unless I need to edit code on the line they are on.
    Inaccuracies in the comments is a similar problem I’m loath to confront. There are also
    errors in other nonfunctional aspects of the code such as formatting inconsistencies and
    extraneous whitespace. All these should normally be left alone to simplify analysis.
    In short, please resist the temptation to clean up the source code. Fortunately, nearly
    all the symbols are spelled properly.

    Support for ANSI, WinCE, etc. may be broken. Be cautious if attempting to build
    a non-Unicode, non-Win32 release. Localization impacts are unknown.

    It is still possible to save files with file extensions that do not match the file format.
    While the Save As routine will correct certain unambiguous cases, the remainder of the time
    a mismatch will pass through the system unimpeded. You might not even realize that a file’s
    contents are formatted differently than purported by its file extension. In the worst
    possible case, you will get ‘mojibake’ when you reopen the file. This is not likely to
    occur in normal operation, however.

    There is a conflict between the caret height and the selection height, which is
    inaesthetic when a selection ends with a blank line. Increasing the caret height
    is also inaesthetic.

    Configuration changes resulting from a reset to the defaults will not always take effect
    right away. For example, the find/replace options will not update until the dialog is opened,
    therefore Ctrl-N will keep using the previous settings immediately after a configuration reset.

    Most kanji lists will mark but not select the first entry when generated. This makes certain
    operations (mostly clipboard-related) impossible until the first line is manually selected
    (by pressing Up, for example). This behavior may be intentional, as it is less distracting
    and makes the list easier to read.

    During kanji conversion, ichidans and i-adjectives will convert with any trailing hiragana.
    Presumably this is done because there are too many possible affixes. One negative consequence
    of this is the seemingly weird conversion candidates that sometimes appear. For example,
    typing “Netsu” followed by F2 will give you the expected kanji and the stem of ‘neru’ with
    a nonsensical okurigana. In fact, the ‘neru’ stem will show up for any two-kana conversion
    beginning with ‘ne’. I’m not sure there is a good solution befitting such a simple system.

    The small form of vowels will be accepted as u/ku/gu verb okurigana in kanji conversions.
    This appears to be intentional and doesn’t seem like it would cause problems in practice.

    There are a small number of characters which do not appear in some of the included fonts.
    For example, kanji glyphs 7421-7424 are not present in the larger fonts, and many Page 22
    symbols aren’t in the 16×16 font. The 24×24 font seems to be the most complete. The upshot
    of this is that you may see black rectangles or even garbage in certain parts of the program,
    dependent on the font configuration.

    Buffered dictionary support was never actually implemented. Such dictionaries function
    like “memory” dictionaries. Side note: the option to keep a memory dictionary open
    effectively means it is kept in memory. Otherwise it will be reloaded on every search.

    Ctrl-Left/Right/W are still a little bit inconsistent, but not in ways that are likely cause
    difficulties for anyone. Some of the same quirks occur in well-known commercial programs.
    One oddity I am not changing is that mixing contiguous hiragana and katakana kurikaeshi
    may cause them to be treated as a single unit, but such usage is not valid anyway so it is
    perfectly acceptable to identify them as a group of punctuation/miscellaneous characters.

    Attempting to convert ‘aru’ will present a candidate without a glyph in the default font.
    The character looks like YO in other fonts, but is actually the “there exists” symbol.
    There exist other conversions with similar behavior, like ‘subete’.

    Integrated help does not function on Windows NT versions 6.0 and greater (Vista or later).

    Assigning a font larger than 16×16 to certain font types can cause problems ranging from
    minor to comical.

    Find/Next won’t match a string at the cursor’s current position. This behavior is desirable
    or at least harmless in most circumstances. The only time it could be unexpected is when
    text is selected from left to right such that the cursor ends up on the right side of the
    selection and the left side of a matching search term.

    Methods in the Paragraph class (and possibly others) do not check the file type and adjust the
    font accordingly like other parts of the program do. See the JWP_FONT macro. Impacts unknown.
    I don’t want to risk changing this until an attributable problem is discovered.

    It is possible to construct dictionary pattern searches that will cause the advanced search
    to end prematurely as compared to a non-pattern search. This is because pattern search strings
    are divided into up to three parts, the first of which (the prefix) is not included in the
    actual searches. So advanced searches with patterns will end after the last kanji is truncated.
    It might be possible to fix this by converting the remaining prefix to a non-pattern search.

    Dictionary filtering doesn’t work as intended for many entries. The code seems to expect
    that every gloss is tagged, which is not the case, at least not in modern EDICT.

    I believe the biggest bottleneck regarding huge files is find_pos() as used in view_check().
    Some sort of caching strategy might further reduce the problem.

    When using MS IME, the composition window caret will occasionally briefly appear at its
    previous location when starting a new composition. I’ve seen identical behavior in other
    programs that similarly use (presumably) “IME-unaware” editing controls. I have not found
    a workaround for this distracting behavior. Going “IME-aware” to fix this is a big job.

    Half-width katakana (and a few symbols) are non-reversibly converted to full-width.

    No attempt is made to compose (semi-)voiced half-width katakana in Unicode-encoded text.

    The manual (also used for online help) is outdated and contains inaccuracies, omissions, etc.

    In the 48×48 font, REI (as in reiyuu) appears like REI (as in dorei).

    There are other issues in my notes that haven’t been formally written up yet.

    1.60->1.61:

    Note: Henceforth I won’t be segregating bug fixes and other changes. From now on, you cannot
    assume that the bugs noted in this change log were bugs in the original; many will be my fault.

    The clipboard auto-detection algorithm was reverted as it was causing more problems than it
    fixed. Instead it now excuses certain unconvertible Unicode characters instead of rejecting
    the entire thing. Please report any other commonly used characters that derail auto detection.

    Clipboard-exported text no longer has a final carriage return / line feed combination added.

    Unicode-encoded half-width katakana are now converted to full-width instead of rejected.
    Although this is “lossy”, it’s the same way S-JIS/EUC handle these characters already.

    Majuscule ‘M’ can also be used now for mb/mp/mm kana input. Furthermore, the apostrophe
    character (‘) now works for ‘m’ (of either case) just like it does for ‘n’.

    An optimization was removed from view_check() as it was found to not be redundant after all.

    Control-C in Japanese list controls now works even if the entry is not highlighted.
    This is the same way Control-E/R have always worked.

    The insert-to-file operation (for Japanese list controls) no longer activates the cursor
    in the main file after the text has been inserted. This was a distracting side effect.

    Fixed some bugs regarding how the last few bytes of a file are handled.

    Improved Control-Up/Down to move the cursor if it scrolls off the screen.

    Control-Up/Down no longer function for kanji conversion. If this inconveniences anyone,
    please report it and I will make it a configurable feature.

    The radical.dat file was updated, improving the quality of many results in Radical Lookup.
    This is an ongoing process, so further refinements to this file will probably not be noted.

    1.50->1.60:

    Program renamed due to major compatibility changes, file format changes, new authorship, etc.
    A few remnants of the previous name still remain.

    This program no longer supports non-NT versions of Windows.

    This program was converted to Unicode. This has several benefits such as IME support and the
    ability to handle file names/paths written in Unicode. One of the negative impacts is that
    old project files will be rejected since they would have to be one-way converted to be read.

    The format of the primary configuration file has changed. The configuration settings are now in
    a text-based format for easier upgrades, while the history data and recent files are stored in
    a separate binary file with Unicode support. Old (v1.50) configuration files will be converted
    automatically and then rewritten in the new format (under a new name), although most of the
    history records will be discarded.

    Similarly, the dictionaries file has a new name, uses Unicode, and gets automatically upgraded.

    The main configuration file will no longer get written out when the program exits unless
    options changed during execution or you invoke the command to explicitly save settings.
    A side effect of this is that new options or non-functional textual rearrangements (as from
    a new version of the program) will not appear in the configuration file until such conditions
    are met.

    Improved speed when working with huge files. Not perfect but you can open EDICT now.

    A few additional kana input conversions (ca, dji, mm, etc.) are now available.

    User conversions are now stricter.

    Quadrupled the allowed size of dictionary entries (for suru, tsukeru, kakeru, etc.)

    It is now possible to search for the JASCII sequence ” ???” to detect the EDICT version.

    Single-kana searches are now possible. Due to the significant amount of time they take,
    advanced mode will not attempt searches on the last remaining kana (when applicable)
    although it will still try a small number of affixes in such cases (such as mi->miru).
    In addition, “Begin With” and “End With” will be temporarily forced on.

    Kana-only searches now accept an asterisk at the end. This is not a true pattern search,
    merely temporarily disabling the “End With” requirement as well as “Advanced” mode.
    The reverse is not implemented, as withholding the “Begin With” requirement does not work
    with indexed dictionaries (EDICT), making it of very limited use.

    Advanced searches with “End With” disabled will treat “Show All” as being disabled regardless
    of its actual state. Otherwise you tend to get hundreds of useless results.

    Advanced searches will no longer stop truncating the search string when a search pattern
    symbol is reached, with some exceptions. This is similar to how non-pattern advanced
    searches behave, and some safeguards have been added to keep the extra results down.
    If this new behavior yields an unacceptable number of matches, disabling the “Show All”
    option may be preferable.

    Advanced searches will now abort at the point where a non-terminal asterisk pattern emerges
    during truncation. This tends to eliminate a large number of duplicate and extraneous results.

    Advanced searches will be temporarily disabled if there is a ‘]’ pattern in the string.
    Furthermore, anything to the right of the pattern will be ignored during the search.

    Advanced searches will no longer attempt to deconjugate pattern symbols (by adding -ru / -i).

    The i-adjective mode for advanced searches was changed to catch stems written in kana.

    If set, the Advanced Search option “Show All” was effectively overriding “Always Search”,
    rendering it useless. Now advanced searches will never be started if there are matches
    and “Always Search” is off, regardless of the state of “Show All”.

    If the “Reload Previous Files” option is not set, the session files will not be recorded.

    Enter/Return will now paste text if the dictionary results list is in focus.
    Afterward, focus will move to the edit control, which shouldn’t be an issue
    since you can select multiple lines to be inserted at once. If that behavior
    is undesirable, Alt-I can be used to paste selected lines instead.

    Enter/Return will now paste the selection from a kanji list if the list is in focus.

    Save As will now attempt to pick a file format based on the user-supplied file extension
    if it conflicts with the selected filter. Extensions in the following list will override
    the filter file type: jce, jwp, euc, sjs, jis, old, nec, jfc, jcp. Any other extension,
    or lack thereof, will cause the file to be saved in the format corresponding to the filter
    selected in the save dialog, which is typically set to the proprietary JWPce format.
    Do not rely on this feature when attempting to save files in one of the Unicode formats!

    The Insert to File command will now add a line feed after the inserted text as long as
    the “Insert on New Lines” option is enabled (the default) and at least one full line is
    selected. This is historically different behavior in most situations, but seems much more
    useful generally. The old behavior is still available if you disable “Insert on New Lines”,
    albeit with differences when inserting multiple dictionary entries simultaneously.

    There are fewer clipboard warning messages now.

    You can now use Ctrl-E or -R to copy, respectively, the current dictionary headword
    or its reading. Ctrl-R will copy the headword if no reading was detected.

    Ctrl-W can now be used to select the first part of the active line in lists,
    such as the dictionary results. It operates differently than the usual Ctrl-W.

    The ‘#’ symbol is now available in pattern searches to match a single kanji or the kanji
    repetition mark. It often produces better results than the ‘?’ pattern when you want to
    exclude kana and other non-kanji characters at a particular place in the search pattern.

    Alt-X and Ctrl-F4 now work in most list and edit controls as well as a few other places.
    Alt-F4 still works everywhere and is therefore preferable to Ctrl-F4.

    Brace matching is now available. Activate with control and ‘}’. If the cursor is not currently
    on a brace, it will be moved to a brace on the current line instead. Shift can be used to
    highlight things during the process, although it’s probably not exceedingly useful.

    Ctrl-Left/Right were rewritten to be a little more intelligent when recognizing words.
    Furthermore, Ctrl-Left will always stop at the beginning of lines now.

    Ctrl-W in the main editor was rewritten to correct several deficiencies.

    Ctrl-Shift-W will select the entirety of the current line.

    Input handling for [AIUEO] works a bit better. Now they will only start a kanji conversion
    if followed by a lower-case letter, as per the documentation. Previously certain input
    patterns could start a likely unintended kanji conversion following capitalized vowels.

    The main kana/kanji conversion dictionary is now loaded entirely into memory at startup.

    Kanji conversion will now offer matching stems of ichidan verbs and i-adjectives.
    Due to the pruning of duplicates, this rarely causes a major increase in the
    number of candidates, and makes the system a bit more versatile. The largest
    increase I found was with ‘atsu’ which went from one candidate to five,
    adding four forms of atsui. Usually it was zero or one additional candidates.

    Attempting a dictionary search with one already in progress will now halt the active search.

    Focus will now return to the edit control after unfruitful or aborted dictionary searches.
    Executing a blank dictionary search will also move focus back to the edit control.

    Tightened up the requirements for matching the tags used for dictionary entry filtering.
    A tag must start with ‘(‘ but previously the preceding character could be anything,
    which caused problems on a few entries, viz. those with glosses ending in “(s)” which
    also happens to be the surname tag. This was corrected by requiring tags to immediately
    follow one of the following characters: space, slash, comma, or right parenthesis.
    Only the first two are actually required for EDICT, as far as I can tell.

    The default dictionary list now marks EDICT as not containing names. Technically it does
    contain a few non-personal names, but they are not marked as such (in modern EDICT)
    so they cannot be distinguished from other entries anyway.

    Results for “name-less” dictionaries are now produced more quickly as long as no filters
    other than names are active.

    The “advanced” marker line will be removed when sorting, since it becomes meaningless.

    Duplicates will be pruned after a sort is initiated as long as the dictionary search
    is complete. (It is possible, albeit not very useful, to sort before the search has ended.)

    Sorting of dictionary search results has been greatly enhanced. Each press of the Sort button
    (or activation of its keyboard shortcut) will cycle through a series of sorting algorithms.
    Holding Shift will cause the algorithms to be traversed backwards. The Control key will
    cause the sorting order of the current algorithm to be reversed. You have to use the button
    for that last one because the Control key seems to inhibit the keyboard shortcuts.

    Radical Lookup will now display the component radicals for a kanji if one is selected when
    the dialog is opened. Auto-search will not occur in this case, although you simply need to
    press Enter to get the same effect. Only the first character in the selection is operable.

    F5 / Ctrl-L (Radical Lookup) now work in list controls (e.g. dictionary search results),
    giving you the opportunity to conveniently examine the radicals used in a particular kanji.
    If you don’t want the first kanji on the selected line, single-click the desired kanji first.

    Tweaked the tab-stop order on a few dialogs.

    When an edit control loses focus, the text will now be deselected (removing any highlighting).

    The Revert (Alt-R) command is now always available. Thus it can now be used with unnamed files.
    There wasn’t really any reason why one shouldn’t be able to discard all changes to such files.

    Shift will now cause the kanji conversion key commands (F2, Ctrl-<, etc.) to finalize the current conversion and deselect it. Ctrl-Enter can also be used, but only in edit controls.F3 is now "overloaded". Normally it is used for kanji conversion, but if the program infers that you intended to repeat a previous search, it will perform that operation instead. This is intended as a convenience for people who are used to the behavior of other programs, but could cause new users to assume that F3 is used exclusively for searching, which is false. The "canonical" keys for this operation are Ctrl-N and F9. (Or Ctrl-F and F8 for new searches.)F3 is also equivalent to F9 for search operations within a list.The font selection was reworked such that it should now list more TrueType fonts with the default settings. You probably won't need to use "Show All Fonts" anymore, which normally includes many unusable selections.TrueType fonts without a suitable stand-in for missing glyphs will no longer be opened. You will get a fallback font instead.Installation can now optionally be done for all users if the user has the necessary privileges. By default, installation now only affects the current user.The file-name extension for project files has been changed to .jpr since the file format has changed and the older format (.jcp) is no longer readable.Most of the registry key names have changed. Any instance of JWPce in a key name is now JWPxp. One use for this is associating certain types, viz. older project files (.jcp), with JWPce. Be warned that, for installations, the old JWPce typically needs to be run as an administrator.Tweaked several of the handlers for scroll bars.Shift-RMB can now be used in most places to get Character Information (along with Shift-LMB, Ctrl-I, etc.) Previously it was only used as an alternative to Shift-LMB for list boxes.Ctrl-S is now a deprecated method for starting a search. Use Ctrl-F or F8 instead.Ctrl-Shift-Z is now an alternative for Ctrl-Y (redo).Ctrl-M can be used to toggle the Japanese IME on or off, if available. Be aware that ^M also means "determine all" while input is being processed by IME Standard.The Character Info defaults were changed slightly. (Sorry, Andrew...) If you do not like the new order, you can reconfigure it manually in the Options dialog under the Misc tab by selecting Setup. If your old configuration file (jwpce.cfg) was imported, your previous settings will be in effect already, but you can get the new arrangement by selecting Default in the Setup dialog. Doing so will not affect any other settings.Reading Lookup will now set the input mode to whatever is most appropriate when you change the search type. For example, it will switch to ASCII input when you select Pinyin.Shift-Backspace and Shift-Delete will, if nothing is selected, delete from the current position to the beginning/end of the line respectively. If there is selected text, both operations will cut the selected text to the clipboard like Shift-Delete originally did.Pending kana are now output before a paste operation since that's likely what the user wanted.Toggling Caps Lock will also push out any pending ambiguous kana (AIUEONn) now.Starting an inline kanji conversion will now break the undo chain of accumulated changes. On the other hand, deleting partial input will no longer break any chains.Undo chains are no longer broken for certain harmless operations like opening the Character Information window - as long as you don't insert any text, that is.Greek and Cyrillic character names are now displayed in their Character Information dialogs.Horizontal scroll bars for kanji lists now scroll approximately a full page instead of half.Page Up / Page Down can now be used to navigate kanji lists.The delete key will now remove unwanted history entries. Multiple lines can be selected.Certain lists (dictionary results, history) now behave more like Explorer. Support for discontiguous selections is now available by using Ctrl-Up/-Down to navigate without modifying the current selection and Ctrl-Space to toggle the selection state of the current line. These features don't apply to the lists in the user dictionary/conversions, where Ctrl-Up and Ctrl-Down are used to reorder the current line.As above, the Ctrl key can also be used with other list navigation keys. One useful side effect of this is that one can use Ctrl with Page Up / Page Down to scan through multi-page lists (namely the dictionary results) without the distracting highlighted line.You will no longer be bugged about saving when closing a blank, modified, unnamed file.You now get a warning dialog if you select the Default Options menu item.So-called "contingent" searches are now available. This experimental feature, if enabled and all the conditions are met, adds another search stage between normal and advanced searches wherein the search parameters are temporarily adjusted to try to find matches of reasonable quality. Specifically, it requires the original search to be "closed" - i.e. the Begin/End With check boxes are set - and no matches to have been found. Certain advanced search settings will also preclude a contingent search, so either disable advanced searches or make sure "Show All" is enabled. It works by opening up the search (limited by heuristics) and trying simple transformations like removing honorific prefixes. The goal is to save you the time and effort of trying subsequent open-ended searches when you come up with nothing initially, so it would be of limited use outside of closed searches.The contingent search feature can be enabled manually for a given search by holding Shift when starting a search (with either the mouse or keyboard). At the moment, the only way to make the effect persistent is by editing the configuration file directly. Be aware that manually invoked contingent searches are even more "open" than the always-active feature enabled via the configuration file.Bugs fixed:The Select All operation wouldn't work on text beginning with a blank paragraph.Tsu is now handled properly as a godan, fixing bugs in advanced searches and user conversion.Advanced searches weren't performing all possible deconjugations for a trailing kana 'i'.Enter wasn't causing the Reading Lookup to perform a search anymore (code regression).Inline kanji conversion was converting later than necessary in most cases.Inline kanji conversion was allowing some invalid characters.It was possible to open the same file twice on startup without warning.Fixed the "out of memory" error when attempting a blank search.Fixed certain crashes when performing a dictionary search or sorting the results.Command line arguments now get the original working dir. Fixes relative command-line paths.Fixed a bug that could cause invalid reads when moving "up" in empty history buffers.You needed to press Down twice to get the history list for search/replace but not dictionary.A temporary file will no longer be left behind when attempting to write to a read-only file.Fixed a bug causing certain malformed dictionary entries to print garbage.Fixed missing/extraneous results on subsequent advanced searches after a pattern search.Fixed a bug in kanji lists where kanji info could return the wrong character.Fixed a bug where kanji list carets "float" when scrolling with the scrollbar or mouse wheel.Obviated several extraneous carets in kanji lists.The Bushu/Stroke dialog was inadvertently starting a text selection.Fixed all the text-selection bugs I could find. They were legion.Fixed a problem when horizontally scrolling lines containing tabs and ASCII. See hadvance().Edit controls will now only accept the first non-blank line from the clipboard.Prevented crashes when pasting blank lines into Radical Lookup and Character Info.Removed the stray square from Character Info. It was an erroneous resource item.Fixed several potential crashes when exiting the program with certain dialogs active.Eliminated an unnecessary redraw for Ctrl-Z if there was nothing to undo.Ctrl-Y could get out of whack sometimes if executed beyond what was available to be undone.It should no longer be possible to paste nothing over something.Shift-Backspace would move the cursor left without deleting anything if nothing was selected.The JIS Table icon contained an S written backwards.The program was not cleaning up properly with the CONVERT_ACCESS_MEMORY option in use.Fixed a crash when closing a history list with the cache size set to zero.Project files were being written out badly malformed. I guess nobody was using them in the end?Dictionary searches were not filtering out personal names properly.Certain glosses/entries were erroneously removed if name filtering was enabled (e.g. joban).Fixed a crash/hang when quitting during a dictionary search. WM_QUIT was getting eaten.Dialog shortcuts, such as Alt-S for Search, were not working during dictionary searches.Joining two lines and then undoing the action could leave extraneous text in many cases.The "Restore Window Position" checkbox could get disabled unnecessarily.Adjusted the kanji-bar dialogs for compatibility with the 24x24 font.Undoing a line feed placed at the end of a line was putting the cursor in the wrong place.Ctrl-X/Shift-Delete now complete an in-progress kanji conversion instead of leaving it hanging."Vertical" mode for the clipboard font was ineffectual if "Automatic Selection" was enabled.ASCII characters on the last line of a clipboard bitmap could get cut off in some cases.Horizontally oriented clipboard fonts were getting cut off due to a bug in line_start().Vertically oriented clipboard bitmap fonts were also susceptible, albeit for different reasons.TrueType font rendering had its own faults indirectly affecting clipboard bitmap generation.Incompatible TrueType fonts could cause the program to crash.Converted many SetFocus() calls to SetDialogFocus(), fixing a few minor UI errors.Scrolling a kanji list with the mouse wouldn't work properly if the list was very large.The Reading & Index drop-downs were interfering with search results as well as clearing them.The Reading Lookup drop-down could show unintended types if data availability changed.Reading Lookup wasn't showing all possible look-up types under certain (common) circumstances.The cursor location was usually wrong when undoing Enter/Return.The tab key now affects kanji conversions in a more consistent manner.Holding shift while Ctrl-Tabbing (insert tabs into edit controls) caused weird selections.Fixed an unbelievable number of bugs related to interrupted kanji conversions.Fixed a few bugs caused by not clearing selected text prior to kanji insertions.It is now more difficult to accidentally insert the deletion character.Backspace was not undoing to the correct position.History list behavior was cleaned up. Some oddities remain for historical reasons.Erroneous dictionary searches are now handled a bit better.Pressing Ctrl-Down at the end of a "single-select list" (e.g. user conversion) caused a crash.Auto-detect clipboard import now always accepts Unicode format, even with translation errors.Certain (non-JIS) Greek Unicode characters were getting converted to null characters.

    • Version 1.50 Maintenance Update and PocketPC version.Bug Fixes: Fixed text selection bug. Fixed initializing bug in the Index Lookup. Small corrections to several dialog boxes. Corrected bug in the Insert to New Line feature. Fixed control bug in the Bushu/Stroke lookup. Fixed size alloction bug in the JIS Table. Fixed dictionary handling bug in PPC/PocketPC versions. Fixed bug in Character Information on ARM processors.

      True PocketPC Version: A true PocketPC version (instead of using the PPC version) has been generated. This version conforms to most of the norms of PocketPC software. The Exit menu item does still truly close the program. A number of dialog boxes were converted to full screen. Standard PocketPC control of the SIP is implemented. New menu and tool bar systems have implemented for the PocketPC.

      Improvements: The PocketPC and PPC versions now abbreviate file names to fit the display. PocketPC and PPC versions have a simple (non-3D) style that works better. Reformatted the Count Kanji summary for the PocketPC/PPC systems.

      Character Information and Index Lookup: The following information has been added to the Character Information dialog, the Configure Character Information dialog, and the Index Lookup dialog:

      • “A Guide To Reading and Writing Japanese” edited by Florence Sakade.
      • The Tuttle Kanji Cards, compiled by Alexander Kask.
      • “The Kanji Way to Japanese Language Power” by Dale Crowley.
      • “Kanji in Context” by Nishiguchi and Kono.
      • “Japanese For Busy People” vols I-III, published by the AJLT.
      • “Kodansha Compact Kanji Guide”.

    • Version 1.42 Help, Manual, Full Version.Improvements: Manual and help. Added Ctrl+^ to toggle the input mode. Removed option to delete conversion (I didn�t like it). Added option to remove the kanji bar.

      Character Information: Single click on the big kanji will not longer insert the character. Corrected problems with cached kanji information. Added option to select blank when configuring Character Information. When selecting Character Information for kana, JWPce will display possible romaji for the kana.

      Utilities: Improved WINFO to be very fast, and removed obsolete files. Handling of iku verb has been improved. JINDEX utility is provided to index UTF-8 and EUC dictionaries.

      Bug Fixes: Fixed sort feature in the dictionary. Fixed font problem in JIS table. Fixed formatting error in UTF-8 dictionaries (“/” is now orrectly turned into “, “). Corrected tab order in Are You Sure? dialog. Fixed possible crash error in the dictionary. When selecting text and moving over the top of the file, the selected text will not drop to the bottom of the file. CE color selector dialog shows current color correctly. Fixed bug in auto-cycling in the dictionary, i was not working correctly. Fixed bug in Margins page of the Layout dialog. Dictionary searches now operate correctly in Mixed dictionaries. JWPce will now generally auto-configure Mixed dictionaries.


    • Version 1.41B Bug fixes, interface improvements, and new features.Bug Fixes: IME support now works as in version 1.34. Adjustable dialog boxes can be minimized. Multiple message dialog boxes are no longer displayed by the search functions. Restore window placement no longer makes the window one pixel bigger. Fixed bug in editing the user dictionary and the user conversions list. Fixed bug in EDIT_list class. Corrected for slight different in XP mouse messages. The Big font and the Printer font were reversed, making it hard to set either correctly. This has been fixed. Resizable dialog boxes now recognize when only one dimension is bigger than the default. Display bug in Japanese list controls has been fixed. Font list on the options dialog is now correctly a drop list (no edit).

      Dictionary: Sort option has been added to the user dictionary and the main dictionary. Instability in dictionary system and problem on some XP systems has been fixed. An option (Mark) has been added to separate advanced dictionary search matches from direct matches. If you use this option with the Sort Priority option priority direct matches will be sorted to the first section, and priority advanced matches will be sorted to the second section. Dynamic controls have been added to the dictionary dialog. This means if you increase the size of the dialog you can access additional controls that were previously only on the dictionary options dialog. This is only available in Windows, and HPC systems, not PPCs (no room to expand). Added exception to dictionary for ???? (JASCII). This is not treated as a pattern, but rather search for directly. This can be used to get the ID marker from most (but not all) dictionaries.

      Character Information: You can insert the kanji from the character information dialog box by double clicking on the big kanji. Character information dialog box size is now restored as with other adjustable dialog boxes. Corrected error in shift-JIS display for ASCII characters. Expanding the character information dialog now shows additional information. In fact, you can display all the information (except cross-reference data) on the first dialog box if you make it big enough. The order of the information in the Character Information system can be adjusted by the user (with the exception of the bushu). The setup dialog can be accessed via the Misc page of the Options Dialog or via the Unities/Setup Char Info… dialog box. The dialog allows you to change the order of the information in any way you want, but the layout of the dialog boxes make some arrangements unreasonable. Windows CE systems all display PinYin codes correctly. Background color for bushu characters changed for PPC systems to match the white used by PocketPCs. Windows CE system no longer use edit boxes to display text in the Character Information system. This was required because Windows CE does not support the tab character in edit boxes required for formatting. The main loss is you cannot select the text and copy it to the clipboard. Character Information now uses the last character marker in the KANJINFO.DAT file. This allows information for a few additional characters, and supports future changes.

      Clipboard: Corrected clipboard processing, particularly with importing from Outlook. UNICODETEXT format now works correctly for importing and exporting text. This is the preferred clipboard format. Changed default clipboard format back to shift-JIS. Since UNICODETEXT format is now working correctly, JWPce will communicate with most UNICODE programs correctly without setting the UNICODE format.

      Enhancements: Added keyboard shortcuts to list search functions: Ctrl+F, Ctrl+S, and F8 = search. Ctrl+N and F9 = find next. Sort option has been added to the user conversion dialog box. Improved install for JWPce project files. Added install for JFC files. These files are not associated with JWPce, but if you right-click on them you can select edit and launch JWPce. Added ctrl+shift+A to select all in lists. Added Ctrl+I to access character information in lists, and in the JIS table. Word right and left have been enhanced to be faster and not show the cursor moving. Changed the way TrueType fonts are loaded this provides better support for full UNICODE fonts such as (Arial Unicode MS). Added dialog to tell number of changes made in an unconditional search and replace. Font size for IME is now fixed to match text size. Drop-down lists for font selection now use the system font allow correct display of Japanese font names (at least on Japanese systems). Mouse selection works better. Hitting return with a kana->kanji conversion active, does the conversion. I would like to improve on this in the next version. By popular demand, list box outline is solid again. Changed the spin controls on Radical, Bushu, and Bushu/Stroke Lookup dialog boxes to skip impossible stroke counts. For example, if you have an 11 stroke radical(s) selected, the sequence would be 0, 11, 12, … 29, 30, 0. Note 1-10 are skipped because these cannot lead to any results.

      Input System: Added input conversions for dzu, dsu, tha, thi, the, tho, thu, dha, dhi, dhe, dho, and dhu. The WINFO utility has been enhanced to accept data in the EDICT format. The main kana->kanji conversion database has been augmented by extracting all the priority entries from EDICT. This has resulted in 6766 additional entries for a total of 37601 unmerged and 25481 merged entries (319kB and 116kB). The previous conversion database had 30835 unmerged entries or 21210 unmerged entries (254kB and 105kB). I have also created a large kana->kanji database that contains all the entries in EDICT (entries that do not have kanji are automatically removed by WINFO). This large database has 100703 unmerged entries or 71131 merged entires (1,068kB and 206kB). Actually, I think this is actually overkill, but some people want it. Using the new WINFO, you could process the entire ENAMDICT and then include all names in the conversion. Just remember WINFO runs slow.

      Windows CE: Fixed some layout issues on PPCs. Also continued change to a lighter layout system. Added PPC option to change up/down buttons from moving a line to moving a page. This makes using JWPce as a file reader more convenient. Popup menu can be open by holding down the pointer (or left mouse button) for a period of time. This is really a PocketPC interface convention, but I have included it in the HPC and normal Windows version, to keep just one code set. Re-enabled scroll bar in the Radical Lookup.


    • Version 1.40B Dictionary upgrade, and interface improvements.Bug fixes: Asking for character information with no characters selected (end of line) will not crash. The : character is no longer rotated in printing. Color system has been completely redone. JWPce will correctly respond to changes in the system colors. This includes the main windows. The rendering system has been updated to allow such things as rendering white text on a black background. UNICODETEXT clipboard format now works correctly. Fixed small bug in the JWPce file write. This would cause the file to be corrupted if a zero was written to the file. Normally there should not be a zero in the file data, but it is possible to get one pasted in from the clipboard. I have also removed most of the ways to get a zero pasted into a file.

      Minor bug fixes: Text selection (shift+cursor) works correctly after doing a kanji conversion (i.e. does not include the conversion). Fixed bug in sometimes updating the configuration files. Conversion commands ctrl+up and ctrl+down work now in Japanese edit boxes just as in the main window.

      Interface changes: Small icons are provided. The project files have their own icon now. You can now disable the auto-scroll. There is also an option to control the speed of the auto-scroll, and the size of the auto-scroll regions has been reduced. Fixed small color display problems on Windows XP, due to changes in some of the system colors. Active Japanese list controls have a dotted line around them in Windows. Vertical scroll bars now support large files. All scroll bar math is done at 32 bits for the list boxes and for the main window. Faster vertical positioning makes it now possible to move through EDICT using the scroll bar.

      Wheel Mouse: Wheel mouse support is now added. Generally this results in a scroll through the display. Pressing shift will scroll by page. Pressing control in the main window will scroll through the open files. Note, if you have the wheel mouse set to scroll by page, you will always get scroll by page.

      IME: Combinations such as mtcha are supported (it is no longer necessary to enter maccha). Added conversions for jya, jyu, and jyo. The Del key will delete kana during a conversion, but after the conversion it will go to deleting the character to the right, not the kanji. The old operation can be restored using an option on the advanced page. Logic error preventing verbs such as machigau from being converted has been fixed. Kana converter now processes mb and mp combinations a nb and np. This allows the popular romanization of newspaper to be entered as shinbun or now as shimbun.

      File system: File extensions are now used to determine file types. If you open a file with an unknown extension, the older method will be used. If you want to open a file using a type different than the extension, you must specify the type. .jwp, .jwc, and .jcp file type are always recognized because these are binary files with ID markers. The following are the file extensions used:

      • .jfc — JFC file type (preferred UTF-8, but could also be EUC).
      • .euc — EUC
      • .sjs — shift-JIS
      • .jis — JIS
      • .nec — NEC JIS
      • .old — Old JIS
      • .utf — UTF format file, with convert to UTF-7 or UTF-8. Preference for UTF-8.

      Font System: A major restructuring of the font handling. JWPce supports many different fonts for different tasks. The basic fonts are:

      • system font — Basic font used only for static Japanese text
      • edit font — Used for Japanese edit controls
      • list font — Used for Japanese list controls
      • bar font — Used for kanji bars
      • file font — Used to display your file
      • big font — Font used to display large kanji in the Info screen
      • jis font — Used only for the JIS table (16×16 required)
      • clip font — Font used to render bitmaps on the clipboard
      • print font — Font used for printing.

      Using automatic fonts, the bar, and list fonts are inherited from the edit font. The clip, print, and big fonts are inherited from the file font. All other fonts are inherited from the system font. Selecting a vertical clipboard font will allow vertical text to be copied to the clipboard.Clipboard: Selecting a vertical clipboard font will allow vertical text to be copied to the clipboard. Default clipboard export format is now UNICODE. This format is more common than shift-JIS in the Windows world. Big bug fixed in the UNICODETEXT format. Do to a bug this format has not been working correctly at all!. I suggest you keep this enabled, it allows JWPce to exchange data with UNICODE programs.

      Find and Replace: Over optimize error fixed in the find command. This would not find capitalized characters if you input a lower case search string. The Find Next command has been changed. If you attempt to do a Next before doing a search JWPce will automatically go into the search command. Previously you would have gotten an error message. The Search and Search and Replace dialog boxes now normally stay on the screen and can be used to search again. This action can be controlled by using the “Keep Search Dialogs Open” option on the Advanced page of the Options dialog. You can now search in the User Conversions list, or in the User dictionary list or in any Japanese list. This search finds entries containing the search string. The search can be accessed using the ctrl-F and ctrl-N keys. Note the search for most lists can only be accessed using these keys.

      Kanji/Character Information: 50. KINFO.EXE now accepts UTF-8 files. This crates a KANJINFO.DAT file that contains a UTF-8 data for the meanings. This is supported by JWPce and allows the kanji data to be translated into other languages. The kanji information system has been updated to use the most recent version of KNAJIDIC. This includes entries for the following new references, which have also been added to the Index Lookup:

      • P.G. O’Neill’s Essential Kanji (ISBN 0-8348-0222-8).
      • Jack Halpern in his Kanji Learners Dictionary, published by Kodansha in 1999
      • Father Joseph De Roo, and published in his book “2001 Kanji.� This includes the De Roo cross-reference codes.

      Color Kanji: Major restructuring of the Color Kanji interface:

      • Kanji list is now stored in EUC code not JIS code so you can open the list in JWPce.
      • Kanji/Color Kanji/Make Kanji List — Make a kanji list, replacing the old list.
      • Kanji/Color Kanji/Append to Kanji List — Appends to the current kanji list.
      • Kanji/Color Kanji/Add/Remove Kanji — Opens a small dialog box. You can add or remove kanji by entering them into this dialog box.
      • Kanji/Color Kanji/View Kanji List — Opens a JWPce file and fills it with all the kanji on the kanji list.
      • Kanji/Color Kanji/Clear Kanji List — Clears the entire kanji list.
      • Color kanji operations are now much faster.

      History: JWPce now keeps track of the last several dictionary searches, as well as text searches, and replace string. You can control the size of the history buffers from the Advanced Options page. The history is smart and will attempt to avoid duplicating the same entry more than once. The history data is saved in the configuration file so you will have the same history resorted when the program restarts. The default 300 buffer will store about 30 lines of text.

      The history can be used in the following way. In the Japanese edit control you can use the up key to move further into the back of the history. The down key will move you toward the more recent history. If you move down past all history elements JWPce will open a small window containing all the history elements, and you can select one. You can also access the history list by clicking the small “v” button to the right of the edit control.

      Resizable Dialog Boxes: The size of many of JWPce’s dialog boxes can now be changed on the fly. These dialog boxes are indicates by a wider drag border that can be used to change the size of the dialog. The mouse pointer will also turn into a sizing arrow when held at the edge of the dialog box. These dialog boxes also have a maximize control. These are:

      • Character Information
      • More Character Information
      • Count Kanji
      • User Kana to Kanji Conversions
      • Dictionary
      • User Dictionary
      • History list

      With the exception of the Character Information, More character Information, and history dialog boxes, JWPce will normally member the size and position you last placed the dialog box and use these to open the dialog box next time. If you reduce the size of the dialog box back to the minimum, the dialog box placement will again be determined by the system. The size memory was not implemented for the Character Information dialog boxes because; generally these are already big enough. The main reason for changing the size is to see all of the information for a single kanji at one time. There are only a small number of kanji that really require this. Further, Character Information dialog boxes can be open from several locations so this was a problem.

      While changing the size of a dialog box JWPce reformats the information in the dialog box to fit the new size. If you are dealing with a dialog box with a lot of information, this can take some time, so please be patient.

      CE does not support dragging the boarders of windows, but you can maximize these dialog boxes. This does not buy a lot for PPCs, but does buy some for HPCs.

      Dictionary: Auto-cycling has been added to the dictionary. This means it is not longer necessary to select the �Word to Lookup� text box to start a new search. Just start typing and JWPce will automatically jump to the input box. Clipboard tracking no longer hangs up other programs for dictionary search errors. These errors no longer result in a beep either. Spaces are quietly ignored in the beginning of a dictionary search. There is an option to treat JASCII as ASCII. Closing the user dictionary dialog box correctly transfers control to the parent window. There is an option to sort priority results to the beginning of the results list.

      You may now search the dictionary for verbs such as “to read”, “to swim”, etc. This will reduce the number of false matches.

      Pattern searches are now supported in the dictionary. Note *? Will match one or more characters. To use the pattern search, you must have at least one kanji in your string. This limit is based on the current index system and may be changed later. The patterns supported are:

      • * — Matches any number of characters including zero.
      • ? — Matches any one character.
      • [ — Matches only the beginning of the word.
      • ] — Matches only the end of the word.

      There is a option for ASCII searches to look for full entries instead of just full words. For example, if you search for “car”, without the begin and end flags you will get a large number of results. If you include the begin and end flags you will get less entries, but still some odd ones “car chase”, “car horn”, “Sweetish car brand”. If you select Full ASCII Entry on the dictionary options, you will get just 3 entries. EDICT is really a Japanese->English dictionary this may help in going the other way.

      Processing of all searched dictionaries has been completely rewritten. All searched dictionaries are now shown in the list, including the basic USER, CLASSICAL, EDICT, and ENAMDICT. This allows the order of all searched dictionaries to be changed. Your old supplemental dictionaries will have to be added back in. The location of any of the dictionaries as well as the name can be changed. Dictionary paths using localized characters are supported on all machines (i.e. Japanese flash cards). A much larger number of dictionary options are now supported:

      —— Basic —–
      nameName of dictionary
      fileActual file for the dictionary.
      edit controlJapanese text control contains the meaning for the first entry in the dictionary. For many dictionaries, the first entry contains the dictionary version and description.
      refreshUpdate the Japanese text control.
      —— Format —–
      EUCEUC format, or classic EDICT format.
      UTF-8UTF-8 format
      MixedOld JWPce format. For simple ASCII meanings, this is the same as EUC, however, this format allows extended ASCII in the meaning. This is mixed, because the kana and kanji are in EUC, and the meaning is in extended ASCII.
      —— Type —–
      IndexedDictionary has a index and is searched using the index.
      MemoryDictionary has no index and is loaded into memory and searched in memory.
      BufferedSimilar to a memory search, but is searched using a memory buffer instead of loading the entire dictionary into memory. This is slower than memory, but more suitable for large dictionaries.
      —— Names —–
      No NamesDictionary does not have names.
      Has NamesDictionary does have names.
      Only NamesDictionary has only names.
      —– Check Boxes —–
      Search this DictionarySearch this dictionary.
      Quiet handling of errorsDon’t report errors. You should not use this flag, It is meant for default dictionaries to suppress errors if ENAMEDICT and CLASSICAL are not installed.
      Keep dictionary openKeeps dictionary open for faster searching, but can use more memory and resources.
      Classical dictionaryThis is a classical formatted dictionary for classical Japanese. This has a slightly different searching algorithm.
      User dictionaryThis is the user dictionary, you cannot change this flag.

      Localization files can specify a string IDS_DICT_LANGUAGE. If this string is set to any value that does not begin with ‘.’, if this is defined, it specifies a localization dictionary that is searched before all other dictionaries. The characteristics of this dictionary are: UTF-8, Search, Quiet, Use an index if present. (See below for more details on this.)

      Windows CE: Windows CE programs will now install using the correct folder locations on Japanese machines.locations (including on Japanese machines). Small icons are now provided. Fixed duplicated shortcut in the HPC menu. Position of the kanji bar at the top of the screen for CE is now corrected. PPC machines now save backup copies by default. This was disabled because early CE machines had no file explorer or viewer. PocketPC machines all have a file explorer. ARM/StrongARM PPC machines should have control over the input panel. I don’t have an ARM machine to test this on, and it is a bit difficult to add, but I think it should work. Eventually I will create a PocketPC version. Special version was generated for older Windows CE devices that do not support system requests for directory locations. Windows CE versions are now compiled with eMbedded Visual C++. This appears to have resulted in a smaller size executable.



    About TrueType Fonts
    Copyright and other problems

    JWPce now supports TrueType fonts. Using TrueType fonts has a number of advantages. First the fonts are scaleable to virtually any point size without loss of resolution (this makes the printout and the large kanji in the Character Information dialog box look very nice).

    TrueType fonts, however, also have some disadvantages. Unlike the bitmapped fonts, they are not optimized for a display at a specific size and often are difficult to read if displayed in a small size. Additionally, the fonts are larger than the bitmapped fonts for the small size. A typical TrueType font is 4-5 MB, where the k16x16.f00 font is only 220 kB.

    The other problem with TrueType fonts is an issue of copyright. I currently do not have access to a TrueType font of which I can freely give away. I can, however, point out where you can get several (three at this time) different TrueType fonts that will work with JWPce.

    Microsoft has made two TrueType fonts available with the Japanese support kit for Office (on the Office CD for Office 97, downloadable for Office 95), and the Japanese support kit for Internet Explorer. These fonts are MS Gothic, which is a serif font similar to Arial, and MS Mincho, which has a more classic look.