Initial revision
[old-projects.git] / ekit / com / hexidec / ekit / README
CommitLineData
c2da4d40
JL
1==========================
2Ekit README
3==========================
4
5Ekit v0.9g (C)2000-2003 Howard Kistler/hexidec codex
6App/Applet for editing and saving HTML in a Java text component.
7
8
9ABOUT
10--------------------------
11
12Ekit is a program & applet that uses the Java 2 libraries to create an HTML
13editor. The Ekit standalone also allows for HTML to be loaded and saved, as
14well as serialized and saved as an RTF. It is currently an advanced beta,
15and most features work fine.
16
17Updates to this and other hexidec codex projects can be found here:
18
19http://www.hexidec.com/
20
21Please feel free to share any enhancements or bug reports with me at:
22
23hexidec@telepath.com
24
25
26ABOUT LICENSE
27--------------------------
28
29Ekit was originally distributed under the GPL license. However, it was brought
30to my attention that the GPL license is not suited for programs that link to
31non-GPL libraries, such as Ekit does by linking to the Sun Swing library.
32Hence, I have changed the licensing on Ekit to the LGPL, which is more
33appropriate. This should not impact any Ekit users adversely, as anyone who
34was using it before under the GPL can still do so without any conflicts under
35the LGPL. In addition, this opens up Ekit for use with more projects which
36might contain some proprietary libraries of their own as well. It is my
37intention through this change to make Ekit conform better to open source
38licensing and to make Ekit more available and accessible to developers and
39users, and I think by switching to the LGPL all of these criteria are thus met.
40
41I am aware that releasing a product under the GPL is supposed to be an
42"irreversible" process. However, as this product was in violation of the
43stricter terms of the GPL, this reassignment to LGPL is not a change so much
44as a correction of licensing.
45
46
47REQUIREMENTS
48--------------------------
49
50Ekit requires the following software:
51 - Java 2 (Sun JDK 1.3 or later, or compatible variant)
52 - Swing Library (standard with Java 2)
53
54EkitApplet requires the following software:
55 - Browser with Java Plug-in 1.3 or later
56
57Sun JDK Standard Edition Homepage : http://java.sun.com/j2se/
58Sun JDK 1.3 available here : http://java.sun.com/j2se/1.3/
59Sun JDK 1.4 available here : http://java.sun.com/j2se/1.4/
60
61
62FILES
63--------------------------
64
65These are the base class source files:
66
67EkitCore.java - Source for the core Ekit functionality
68Ekit.java - Source for Ekit application shell
69EkitApplet.java - Source for EkitApplet shell
70
71EkitCore is replaced by one of these two core files during compilation:
72
73EkitCore_Basic.java - The standard Ekit core.
74EkitCore_Spell.java - The core plus supports for the Jazzy spellchecker.
75
76The "action" subdirectory contains these action class sources:
77
78CustomAction.java - Special situation actions (like anchor insertion)
79FormatAction.java - General text format actions (like subscript)
80ListAutomationAction.java - Bulleted/Numbered List creation actions
81StylesAction.java - CSS Style actions
82
83The "component" subdirectory contains these component class sources:
84
85ExtendedHTMLDocument.java - HTMLDocument with custom functionality
86ExtendedHTMLEditorKit.java - HTMLEditorKit with custom functionality
87FileDialog.java - Dialog for loading files from server
88FontSelectorDialog.java - Dialog for applying system fonts to text
89HTMLUtilities.java - Special utility functions
90ImageDialog - Dialog for loading images from server
91ImageFileChooser.java - Image selector dialog
92ImageFileChooserPreview.java - Image preview rendering panel
93JButtonNoFocus.java - JButton that does not obtain focus
94JComboBoxNoFocus.java - JComboBox that does not obtain focus
95JToggleButtonNoFocus.java - JToggleButton that does not obtain focus
96MutableFilter.java - Filetype dialog filter
97PropertiesDialog.java - Generic parameter request dialog
98RelativeImageView.java - HTML Image rendering component
99SearchDialog.java - Find/Replace dialog
100SimpleInfoDialog.java - Basic message dialog
101TableInputDialog.java - Table specification input dialog
102UserInputAnchorDialog.java - Custom anchor input dialog
103UserInputDialog.java - Custom data input dialog
104
105 There is also a copy of the TaggingDriverServlet.java source within the
106 "materials" folder. You may use this on your server for server-based file
107 and image loading.
108
109The "icons" subdirectory contains these custom icons for the ToolBar:
110
111AnchorHK.gif - "Make Anchor" ToolBar Icon
112BoldHK.gif - "Bold Text" ToolBar Icon
113ClearFormatHK.gif - "Clear Format Action" ToolBar Icon
114CopyHK.gif - "Copy Action" ToolBar Icon
115CutHK.gif - "Cut Action" ToolBar Icon
116ItalicHK.gif - "Italicise Text" ToolBar Icon
117NewHK.gif - "New Document" ToolBar Icon
118OListHK.gif - "Ordered List" ToolBar Icon
119OpenHK.gif - "Open Document" ToolBar Icon
120PasteHK.gif - "Paste Action" ToolBar Icon
121SaveHK.gif - "Save Document" ToolBar Icon
122SourceHK.gif - "View Source" ToolBar Icon
123StrikeHK.gif - "Strike Text" ToolBar Icon
124SubHK.gif - "Subscript Text" ToolBar Icon
125SuperHK.gif - "Superscript Text" ToolBar Icon
126UListHK.gif - "Unordered List" ToolBar Icon
127UnderlineHK.gif - "Underline Text" ToolBar Icon
128
129 The "HK" suffix merely designates that they are my designs. You can replace
130 these images with your own icons if you wish.
131
132The "com/hexidec/util" directory contains these standard hexidec codex tools:
133
134Base64Codec.java - Base64 encoding/decoding class
135Translatrix.java - Translation resource handler class
136
137These are the ancillary files that are included with the standard Ekit
138source distribution:
139
140ekit.manifest - Jar manifest file for ekit.jar
141MakeEkit.csh - Script to (re)build the ekit.jar file (Unix/MacOSX)
142MakeEkitApplet.csh - Script to (re)build the ekitapplet.jar file (Unix/MacOSX)
143MakeEkit.bat - Batch file to (re)build the ekit.jar file (Windows)
144MakeEkitApplet.bat - Batch file to (re)build the ekitapplet.jar file (Windows)
145MakeEkit.ant - XML file to (re)build the ekit.jar file using Ant
146MakeEkitApplet.ant - XML file to (re)build the ekitapplet.jar file using Ant
147ekit.css - Default CSS Stylesheet for Ekit documents
148EkitAppletDemo.html - Example web page for displaying Ekit applet
149RunEkit.csh - Script for launching Ekit (Unix/MacOSX)
150RunEkit.bat - Batch file for launching Ekit (Windows)
151README - This document
152materials/LGPL - Copy of the Lesser GNU Public License
153
154The distribution also contains these pre-compiled Ekit JARs:
155
156Basic Version
157
158 ekit.jar
159 ekitapplet.jar
160
161Spellcheck Version
162
163 ekitspell.jar
164 ekitappletspell.jar
165
166NOTE : If you want to use the spellcheck versions, move or delete the basic
167versions and rename the spellcheck versions to the basic names. So, for
168example, ekitspell.jar should be renamed ekit.jar.
169
170
171JAZZY SOURCES
172--------------------------
173
174Ekit optionally incorporates a modified subset of the Jazzy open source
175spellchecker. The root folder of the Jazzy classes is "com/swabunga/spell".
176You will find the following subdirectories and sources there. (See the README
177file under the "swabunga" directory for more information.)
178
179The "engine" subdirectory contains the basic mechanics of the spellchecker.
180
181Configuration.java
182DoubleMeta.java
183EditDistance.java
184GenericTransformator.java
185PropertyConfiguration.java
186SpellDictionary.java
187Transformator.java
188Word.java
189configuration.properties
190
191The "dictionary" subdirectory beneath "engine" houses the available
192dictionary files. Currently there is only an English dictionary included.
193
194english - English dictionary file
195
196The "event" sudirectory contains the various event classes and functional
197methods for the spellchecker.
198
199BasicSpellCheckEvent.java
200DocumentWordTokenizer.java
201SpellCheckEvent.java
202SpellCheckListener.java
203SpellChecker.java
204StringWordTokenizer.java
205WordTokenizer.java
206
207The "swing" subdirectory contains the GUI components and message lists.
208
209JSpellDialog.java
210JSpellForm.java
211messages.properties
212messages_sv.properties
213
214
215COMPILATION (OPTIONAL)
216--------------------------
217
218If you modify the included .java files, or need to recreate the .class files,
219use the following commands within the "source" directory to build them. All
220commands assume you are at the top of the source tree (the directory containing
221the "com" directory). All commands listed are one-line commands as well, though
222some are broken to multiple lines in this file due to length. Also note that
223the backslash ("\") character should be replaced by the appropriate path
224separator for your operating system if it is different.
225
226Unix or Mac OS X users may run the MakeEkit.csh and MakeEkitApplet.csh scripts
227from a terminal window. Remember to preface them with "./" when running from
228within the code directory.
229
230Windows users may double-click the MakeEkit.bat and MakeEkitApplet.bat batch
231files, or execute them from the command line.
232
233Both sets of batch files take an optional command line argument. You can enter
234"basic" after the batch file to compile the standard Ekit classes, or enter
235"spell" after the batch file to build in the Jazzy spellchecker classes.
236
237For example, here is a standard build of EkitApplet on Unix:
238
239 MakeEkitApplet.csh
240
241 or
242
243 MakeEkitApplet.csh basic
244
245Here is an example of building Ekit with spellchecking on Windows:
246
247 MakeEkit.bat spell
248
249Apache Ant (http://jakarta.apache.org/ant/) users may use the included .ant XML
250files to compile and build the Ekit jar files with Ant.
251
252You may manually compile Ekit with the following command:
253
254 Unix/MacOSX javac com/hexidec/ekit/Ekit.java
255 Windows javac com\hexidec\ekit\Ekit.java
256 Apache Ant ant -buildfile MakeEkit.ant
257
258You may manually compile EkitApplet with the following command:
259
260 Unix/MacOSX javac com/hexidec/ekit/EkitApplet.java
261 Windows javac com\hexidec\ekit\EkitApplet.java
262 Apache Ant ant -buildfile MakeEkitApplet.ant
263
264Ekit takes no special arguments during compile. The above command assumes your
265Java development environment is configured according to minimal standards and
266can locate the relevant Java core files properly.
267
268View the .csh or .bat files for the proper syntax to manually create the jar
269files under your OS.
270
271
272EXECUTION (APP)
273--------------------------
274
275All users with properly configured systems will be able to launch Ekit by
276double-clicking on the "ekit.jar" file. Unix/MacOSX users may lanuch Ekit with
277the "RunEkit.csh" script. Windows users may launch Ekit by double-clicking the
278batch file "RunEkit.bat".
279
280You may manually execute Ekit from the command line with the following command
281from within the directory containing the ekit.jar file:
282
283 java -jar ekit.jar com.hexidec.ekit.Ekit
284 [-t/T] [-s/S] [-m/M] [-x/X] [-d/D]
285 [-fHTMLfile] [-cCSSfile] [-rRawHTML] [-lLangcode]
286
287Note that your CLASSPATH settings should include the "current directory"
288specifier "." for this to work.
289
290The [optional] command line arguments are:
291
292 -t/-T : Show/Hide the ToolBar (Show by default)
293 -s/-S : Show/Hide the Source window (Hide by default)
294 -m/-M : Show/Omit Menu icons (Show by default)
295 -x/-X : Exclusive Edit Mode On/Off (On by default)
296 -b/-B : Document is/isn't Base64 encoded (Isn't by default)
297 -d/-D : Show/Hide the Debug menu (Hide by default)
298 -f : Load the HTML document specified by HTMLfile
299 -c : Load the CSS stylesheet specified by CSSfile
300 -r : Load the raw HTML string specified by RawHTML
301 -l : Start Ekit in the language specified by Langcode*
302
303[* Langcode is a combination of the 2-letter language and country codes, in the
304format "xx_XX", where xx is the language code and XX is the country code. For
305example, the Langcode for English/United States is "en_US", English/United
306Kingdom is "en_UK", and German/Germany is "de_DE". Note that there must be
307a matching "LanguageResources_xx_XX.properties" file in the com/hexidec/ekit
308directory for the language you want to use. Missing language files, and
309existing language files that may be missing words in use, will take words from
310the "LanguageResources.properties" file, which contains default words in
311"en_US" encoding marked with a trailing asterisk.]
312
313So, for example, to start Ekit with the ToolBar hidden, the Source window
314showing, and pre-load it with the "Home.html" document and "Styles.css"
315stylesheet, you would enter:
316
317 java -jar ekit.jar com.hexidec.ekit.Ekit -T -s -fHome.html -cStyles.css
318
319To start Ekit with a short example HTML document written as a raw string, you
320could enter:
321
322 java -jar ekit.jar com.hexidec.ekit.Ekit -r"<HTML><BODY>This is a <B>test
323 </B></BODY></HTML>"
324
325To start Ekit with the Italian/Italy language file:
326
327 java -jar ekit.jar com.hexidec.ekit.Ekit -lit_IT
328
329Note that you shouldn't have to specify the language setting if you want Ekit
330to run in your native language, provided there is an appropriate language file
331in the com/hexidec/ekit directory and your Java environment is configured to
332use your language by default.
333
334
335EXECUTION (APPLET)
336--------------------------
337
338Embed the Ekit applet in a web page and view in an appropriate browser.
339The jar file should be included in the directory with the web page and
340it should also be "visible" to the web server.
341
342The included "EkitAppletDemo.html" page contains the code necessary to
343view the applet properly. You may use this as the basis for including
344Ekit in your own web pages.
345
346
347COMMAND SUMMARY
348--------------------------
349
350File Menu
351
352 New Document - Create new document (clear current one if exists).
353 Open Document - Load an HTML document into the editor.
354 Open Stylesheet - Load CSS stylesheet and apply it to the current document.
355 Open Base64 Document - Load a Base64 encoded document into the editor.
356 Save - Save the current document (prompts for filename if new document).
357 Save As - Save the document with the name specified in the file chooser.
358 Save Body - Save the document after deleting the HEAD element.
359 Save RTF - Save the document in Rich Text Format (RTF).
360 Save Base64 - Save the document in Base64 encoding.
361 Serialize - Save the document in the default Java serialization form.
362 Read From Ser - Load a serialized document into the editor.
363 Exit - Close the app (you will lose any unsaved work).
364
365Edit Menu
366
367 Cut - Remove the selected text and place it in the clipboard.
368 Copy - Place a copy of the selected text in the clipboard.
369 Paste - Place the contents of clipboard into the document at the current
370 cursor position.
371 Undo - Undo the previous action (some may not be undoable).
372 Redo - Redo the last undone action (some may not be redoable).
373 Select All - Select all the text in the editor.
374 Select Paragraph - Select the paragraph at the current cursor postion.
375 Select Line - Select the line at the current cursor postion.
376 Select Word - Select the word at the current cursor postion.
377
378View Menu
379
380 Toolbar - Toggles display of the ToolBar.
381 Source - Toggles display of the Source window, where the HTML can be
382 observed and directly manipulated.
383
384Font Menu
385
386 Bold - Bold the selected text.
387 Italic - Italicise the selected text.
388 Underline - Underline the selected text.
389 Strike-through - Strike through the selected text.
390 Big - Increase the font size of the selected text.
391 Small - Decrease the font size of the selected text.
392 Superscript - Change the selected text to superscripted text.
393 Subscript - Change the selected text to subscripted text.
394 Monospaced - Render the select text in the Monospaced font.
395 Sans-serif - Render the select text in the Sans-serif font.
396 Serif - Render the select text in the Serif font.
397 Color Submenu
398 Aqua - Color the selected text aqua.
399 Black - Color the selected text black.
400 Blue - Color the selected text blue.
401 Fuschia - Color the selected text fuschia.
402 Gray - Color the selected text gray.
403 Green - Color the selected text green.
404 Lime - Color the selected text lime.
405 Maroon - Color the selected text maroon.
406 Navy - Color the selected text navy.
407 Olive - Color the selected text olive.
408 Purple - Color the selected text purple.
409 Red - Color the selected text red.
410 Silver - Color the selected text silver.
411 Teal - Color the selected text teal.
412 White - Color the selected text white.
413 Yellow - Color the selected text yellow.
414
415Format Menu
416
417 Align Submenu
418 Align Left - Left align the selected text (may include unselected text
419 that is part of the element)
420 Align Center - Center align the selected text (same proviso as Left)
421 Align Right - Right align the selected text (same proviso as Left)
422 Align Justified - Justify the selected text (same proviso as Left)
423 Heading Submenu
424 Heading 1 - Render the selected text in the HTML <H1> style.
425 Heading 2 - Render the selected text in the HTML <H2> style.
426 Heading 3 - Render the selected text in the HTML <H3> style.
427 Heading 4 - Render the selected text in the HTML <H4> style.
428 Heading 5 - Render the selected text in the HTML <H5> style.
429 Heading 6 - Render the selected text in the HTML <H6> style.
430 Unordered List - Convert the selected text to an unordered (bulleted)
431 list. New list items are created at each paragraph mark in the text.
432 Ordered List - Convert the selected text to an ordered (numeric)
433 list. New list items are created at each paragraph mark in the text.
434 List Item - Convert the selected text to a list item (will create an
435 enclosing unordered list if not part of a defined list).
436 Blockquote - Place the selected text inside BLOCKQUOTE tags.
437 Pre - Place the selected text inside PRE (preformat) tags.
438 Span - Place the selected text inside SPAN tags.
439 Clear Format - Remove markup from elements.
440
441Insert Menu
442
443 Anchor - Convert the selected text to a hyperlink after specifying the URL
444 in the pop-up dialog
445 Break - Insert an HTML break <BR> element
446 Nonbreaking Space - Inst an HTML non-breaking space (&nbsp;) metacharacter
447 Horizontal Rule - Insert an HTML horizontal rule <HR> element
448 Insert Local Image - Insert an image from file chooser pop-up
449 Insert Image From Server - Insert an image from server (requires server
450 image app to be runnning)
451
452Table Menu
453
454 Table - Insert a table based on settings in pop-up
455 Insert Row - Insert a row in the current table
456 Insert Column - Insert a column in the current table
457 Delete Row - Delete a row in the current table
458 Delete Column - Delete a column in the current table
459
460Forms Menu
461
462 Insert Form - Add the surrounding FORM tags for an HTML form
463 Text Field - Insert an HTML Text Field <INPUT TYPE="text">
464 Text Area - Insert an HTML Text Area <TEXTAREA></TEXTAREA>
465 Checkbox - Insert an HTML Checkbox <INPUT TYPE="checkbox">
466 Text Field - Insert an HTML Radio Button <INPUT TYPE="radio">
467 Button - Insert an HTML Button <INPUT TYPE="button"> (NON-RENDERING!)
468 Submit Button - Insert an HTML Submit Button <INPUT TYPE="submit">
469 Resest Button - Insert an HTML Reset Button <INPUT TYPE="reset">
470
471Help Menu
472
473 About - Displays the Ekit About information dialog
474
475Debug Menu
476
477 Describe Doc - Describe the document nodes to the console window
478 Describe CSS - Describe the stylesheet properties to the console window
479 What Tags? - List the node tags applied to the element under the cursor
480
481
482VERSION HISTORY
483--------------------------
484
4850.1 (08/08/2000)
486 - initial creation
4870.2 (08/24/2000)
488 - added tag attribute management
489 - added anchors
490 - cleaned up menu actions
4910.3 (08/30/2000)
492 - added appName & currentFile
493 - added Save menu item
494 - added updateTitle method
495 - changed to only empty constructor
496 - added refreshOnUpdate() optional refresh code
4970.4 (08/31/2000)
498 - added table insertion (experimental)
499 - added image insertion (experimental)
5000.45 (09/05/2000)
501 - added list formatting
502 - added break insertion
503 - added horizontal rule insertion
504 - added purgeUndos() convenience method for resetting the UndoManager
505 - changed "load" commands to "open" commands
506 (more in line with current application conventions)
507 - merged some menus so that they no longer build an explicit JMenuItem
508 (sacrifices some readability for object allocation improvements)
5090.5 (09/18/2000)
510 - added CSS support
511 - moved calls to JFileChooser to a reusable method
512 - moved "debug" types of functions to their own menu
513 - renamed the "Styles" menu "Format", so as not to be confused with
514 StyleSheet Styles
5150.6 (09/29/2000)
516 - added optional ToolBar
517 - added table row, table cell, and table-within-table insertion
518 - vastly improved break & horizontal rule insertion
519 - allow pre-loading of HTML document and CSS stylesheet from command line
520 - centralized exception handling
521 - fixed getFileFromChooser method to correctly display OPEN/SAVE dialogs
522 - now exists as a JAR file
5230.7 (11/03/2000)
524 - added Source window for viewing/editing HTML tags
525 - added Shift-Return insertion of BR tags
5260.8 (05/05/2001)
527 - added JButtonNoFocus inner class to keep toolbar buttons from taking
528 focus from editor canvas
529 - added JToggleButtonNoFocus inner class for toolbar elements that indicate
530 toggle-state features (such as View Source)
5310.9 (01/06/2002)
532 - added mnemonics for menu items (this also removed need for KeyListener)
533 - added View menu
534 - added Help menu
535 - added table settings dialog
536 - added Internationalization capabilities
537 - added language files for Italian, German, Spanish, Portuguese, and
538 Slovenian
539 - fixed lack of repaint after cancelling "Open Stylesheet"
540 - Debug menu now optional, defaults to OFF
541 - moved View Source and Edit Mode to new View menu
5420.9a (02/02/2002)
543 - added image rendering & image selector
544 - image types supported : JPEG, GIF, & PNG
545 - added fix for dealing with HTML character encoding issue
5460.9b (03/08/2002)
547 - added CSS style selector
548 - added more standard HTML tags : STRONG, EM, BLOCKQUOTE, PRE, and TT
5490.9c (03/23/2002)
550 - added Search menu and Find/Replace functions
551 - added auto-bulleted lists
552 - added warning dialog for actions that fail
553 - split-pane divider now remembers its position
554 - changed and consolidated some menus
555 - altered "Save Body" method to work more as expected
5560.9d (09/24/2002)
557 - added language files for French and Norwegian
558 - broke out inner classes to separate component classes
559 - added EkitCallback class to allow easier access by shared components
560 - much improved Anchor handling and formatting
561 - changes to get app to work on JDK 1.4
5620.9e (10/26/2002)
563 - Ekit split into core (EkitCore) and shell (Ekit, EkitApplet) classes
564 - added language files for Finnish and Dutch
565 - added support for HTML forms and form elements
566 - added <STRIKE> tag support
567 - font familes and <HR> insertion now through inherent editor actions
568 - "Insert Table Row" now inserts the correct number of cells
569 - added generic PropertiesDialog
570 - SimpleInfoDialog auto-centers and allows different dialog types
571 - added calls to build semi-custom menus and toolbars
572 - removed EkitCallback (obsolesced by EkitCore)
573 - Change of license to LGPL (see ABOUT LICENSE section)
5740.9f (11/25/2002)
575 - optional integration of Jazzy spellchecker
576 - addition of font selector
577 - greater menu customization
5780.9g (5/5/2003)
579 - can load and save documents in Base64 encoded format
580 - bulleted lists now create new entries upon hitting ENTER
581 - added color picker to font selector
582 - support for access to the System Clipboard
583 - support for loading images from server via servlet
584 - added dispose() method to core
585 - added more insert and delete options for tables
586 - tables now have their own menu and better functionality
587 - fixed problem with IMG tag SRC URLs containing spaces
588 - fixed the getDocumentBody error where the contents did not reflect
589 the current document
590 - fixed the known memory/resource leaks caused by the SpellChecker
591 - added language files for Spanish (Mexican), Hungarian and Chinese
592
593NOTE: The following items work in Ekit but not yet in EkitApplet, due to the
594applet security model:
595
596 - Insert Image (Images referenced via a URL should work, though)
597 - Copy & Paste from system clipboard
598 - Access of local files
599
600We are looking into ways to make these features available. The probable
601solution will be to obtain a security certificate.
602
603
604CONTRIBUTORS
605--------------------------
606
607Thanks to the many people who have downloaded and used Ekit, as well as
608providing valuable feedback. The following people have made additional
609contributions to Ekit. (List in is chronological order of contribution.)
610
611Yaodong Liu (yaodongliu@yahoo.com)
612 - CSS Support Code
613 - HTML Insertion Support Code
614Gyoergy Magoss (GYOERGY.MAGOSS@bhf-bank.com)
615 - Table Support Code
616Oliver Moser (omoser@dkf.de)
617 - HTML Insertion Support Code
618Michael Goldberg (MGoldberg@yet2.com)
619 - README Support
620Cecile Rostaing (cecile.rostaing@free.fr)
621 - Feature Suggestions
622Thomas Gauweiler (gauweiler@fzi.de)
623 - EkitAppletDemo2.html & ShowAppletOutput.php demo files
624Frits Jalvingh (jal@grimor.com)
625 - Correct image rendering and character encoding support
626 - CSS Styles Selector
627 - Original ExtendedHTMLEditorKit & RelativeImageView classes
628 - Original ImageFileChooser & ImageFileChooserPreview classes
629Ruud Noordermeer (ruud.noordermeer@back2front.nl)
630 - Fix for split-pane rendering issue in EkitApplet
631Mindaugas Idzelis (aim4min@users.sourceforge.net)
632 - Provided the excellent Jazzy spellchecker
633Raymond Penners (dotsphinx@users.sourceforge.net)
634 - Fix for IMG tag SRC URLs containing spaces
635Steve Birmingham (steve.birmingham@c3bgroup.com)
636 - Server image support classes and methods
637 - Color picker code in font dialog
638 - Numerous bug fixes, including the dispose() for the SpellChecker
639Rafael Cieplinski (cieplinski@web.de)
640 - Better auto-bulleting function
641 - Improved table handling
642 - Original HTMLUtilities class
643Nico Mack (nico.mack@mmp.lu)
644 - System clipboard access code
645 - Other bug fixes
646
647
648TRANSLATIONS
649--------------------------
650
651Thanks also to the people who volunteered to translate Ekit into their
652languages. The following people have made translations available.
653(List in is chronological order of contribution. Any current errors in the
654language files are most likely do to my own attempts to add new terms to them,
655and I appreciate receiving any corrections.)
656
657Nick Schwendener (nschwendener@vtxnet.ch)
658 - Italian
659 LanguageResources_it_CH.properties
660 LanguageResources_it_IT.properties
661Gyoergy Magoss (GYOERGY.MAGOSS@bhf-bank.com)
662 - German
663 LanguageResources_de_DE.properties
664Jesus Escanero (jescanero@yahoo.es)
665 - Spanish
666 LanguageResources_es_ES.properties
667Fernando Luiz (responsavel2@hotmail.com)
668 - Portuguese
669 LanguageResources_pt_BR.properties
670 LanguageResources_pt_PT.properties
671Jernej Vicic (jernej@activetools.si)
672 - Slovenian
673 LanguageResources_sl_SI.properties
674Gerald Estadieu (gerald.estadieu@cem-macau.com)
675 - French
676 LanguageResources_fr_FR.properties
677Anders Bjorvand (anders@kommunion.no)
678 - Norwegian
679 LanguageResources_no_NO.properties
680Vesa Kotilainen (vesa.kotilainen@sonera.com)
681 - Finnish
682 LanguageResources_fi_FI.properties
683Mark de Haan (mark@starwave.nl)
684 - Dutch
685 LanguageResources_nl_NL.properties
686Samuel Dmaz
687 - Spanish (Mexican)
688 LanguageResources_es_MX.properties
689Tamás Érdfalvi (devnull@eagent.hu)
690 - Hungarian
691 LanguageResources_hu_HU.properties
692Yang Yu (yangyu@users.sourceforge.net)
693 - Chinese
694 LanguageResources_zh_CN.properties