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