Clyton Revision History Version 7.1 (January 10th, 2012) * Minor interface improvements. * When an HTML view control is hidden, it will no longer use system resources. * The character set specified in the MIME header is now subordinate to the character set specified in the HTML code. Normally the two are identical, as they should be, but in case of a discrepancy, the HTML code will take priority. * The default "Base64 encoded body" penalty was reduced from 90 to 10. * Clyton can now cope with the situation where AOL occasionally mis-reports the size of an email when using IMAP4. * Fixed: when replying to an email, some characters in the original email may not appear correctly in the reply. * Fixed: certain characters were not appearing correctly in emails that use UTF-8 encoding. Version 7.0 (November 7th, 2011) * Added the "Search Mode" field to the bottom of the Search Messages window. This can be set to one of the following: "Fast but inaccurate", "Slow but accurate, including attachments", and "Slow but accurate, excluding attachments". Previously, searches always used the "Fast but inaccurate" mode. The new modes will fully decode each email before searching them. * The Attachment Viewer now renders and resizes images much faster. The user may now hold down the mouse button on the zoom icons. Zooming in an image too far will no longer result in the image becoming stretched. * Added the ability to forward a phishing email to www.antiphishing.org. Right click on the offending email in the Messages Table and choose "Report Phishing". * Added support for Internationalized Domain Names (IDN), such as Bücher.ch, in compliance with RFC-3490. * Added to the "Import Messages" tool the ability to import .EML and .MSG files from the hard drive. * Added a "marching ants" effect to menus, drawer tabs, tree controls, listbox controls. Numerous other interface improvements. * Added the autorespond() G-Merge function. This allows the Incoming Script to selectively send an auto-reply to certain incoming emails. * Added to the HTML editor's character map window the ability to filter out certain unicode subsets. Numerous other minor improvements. * Added to the Compose window the ability to change the Content-Type of an attachment. * Added to the View Message tool the ability to hide or reposition the toolbar. Click on the window's caption icon in the upper left corner, then make a selection from the "Toolbar position" sub-menu. * Added the ability to add a spam penalty to emails for having excessively long hyperlinks. * Added the "OriginalMIME" variable to the Forward/Reply templates. This variable holds the complete email in MIME format. * Added hotkeys to the View Message window. Also, this window now has its own help file chapter. * Added a "Ban Text" option to the From: header's context menu. * Added a "Receive" option to the tree context menu for Mailboxes. * Added a "Send All" option to the tree context menu for outboxes. * Added a "Help" button to the "Export/Import Settings" and "Encrypt/Decrypt All" windows. * Added the "Duplicate Row" tool to the Spam Clauses Table's context menu. * Improved support for headers in alternate character sets. * The "Message Color" sub-menu now shows the color of each option. * The user may now double click on a contact in the Contacts List to compose an email to them. * The Compose window's "Word Wrap" feature now works properly with UTF-8 encoding. Previously, each UTF-8 character counted as 2 or 3 characters towards the line length. * Added a graphical banner across the top of the "Add Contact" and "Spam Check" windows. * The Compose window's "Delete" button on the Attachments tab will now delete all selected attachments instead of just the row with focus. * The "Open Attachment" tool will no longer report an error if the filename contains a slash, backslash, or colon. * The "Export Settings" tool can now be aborted during the "Gathering Files..." stage. * The "Recompose" tool will now automatically start at the HTML Body tab if an HTML body is present. * The "Find Related" table now supports unicode characters in the From, To, and Subject headers. * When a header is encoded because it contains extended ASCII characters, and no character set is specified, instead of using the Western European character set by default, the user's localization settings are obeyed. * When converting HTML to text, a
tag is now converted to 2 line-breaks instead of 1. * When a receive error occurs, no more receive operations will be performed until the error message window is closed. * The Compose window's Paste Attachment tool will no longer prompt for the file type if the user specifies a filename with a supported extension. * All UTF-7 and UTF-8 conversion now takes the system codepage into account instead of assuming the Western European codepage. * The Contact List now supports the Delete hotkey. * The "Add Spam Clause" tool no longer refuses to add a clause that contains a domain in the Trusted Domains list. * Whitespace is now removed between separate encoded sections of a header, per RFC-1522 section 6.2. * Improved how "Add Contact" parses the contact name. * The Signature template no longer refers to the "Script" font, as this font is too ugly. * Fixed: when pasting emails into a Messages Table, the message count was not updating. * Fixed: after redirecting an email, and the "Delete original email" box is checked, the old email would remain visible even though the next email is selected in the Messages Table. * Fixed: the tray context menu was not responding to keystrokes, and not disappearing when the user clicks away (since 6.0). * Fixed: the HTML editor's "Document Color" tool was not undoable. * Fixed: the "Export Settings" tool could leave files in the temporary directory if an error occurred. * Fixed: the "Penalize Symbols" feature was failing to decode the subject header before calculating the percentage of symbols, which could cause this penalty to be incorrectly applied. * Fixed: the "Receive" progress meter was sometimes moving slightly backwards due to a rounding error. * Fixed: the misdirected hyperlink penalty was being applied even if the only difference was the presence of "www.". * Fixed: the "Exclude From Spam Checking" Mailbox property was not being saved. * Fixed: when composing a text email, the text body was not initially receiving focus. * Fixed: on the Compose window, toggling the "Character Set:" checkbox was failing to immediately update the character set used by the Text/HTML Body. * Fixed: the Compose window's Paste Attachment tool was failing to convert 32-bit images to GIF. * Fixed: the character set of the From header could affect the appearance of the To and Subject as they appear in the Messages Table. * Fixed: the HTML editor's "Paste Plain Text" tool was not working right for multiline text. Also, this tool will now convert spaces at the beginning of a line to non-breakable spaces. * Fixed: the spam engine was incorrectly penalizing links that contain a reference to an anchor (e.g. "http://foo.com#bar"). * Fixed: three templates were still referring to FriendlyName instead of the new SignatureName variable. * Fixed: the Mass Mail tool was ignoring the "Word Wrap", "Importance", and "Sensitivity" options. Also, when canceling the Preview Window, upon returning to the Compose window, the "Importance" and "Sensitivity" settings were being lost. * Fixed: a window caption icon could have a flawed appearance on Aero (since 6.0). * Fixed: if a hyperlink containing carriage returns was present, the email would appear completely empty. * Fixed: after switching from the HTML editor's Edit tab to another tab and then back, the editor would no longer respond to keystrokes (since 6.0). * Fixed: the BCC header was not working (since 6.0). Version 6.0 (May 13th, 2011) * Major interface improvements, too many to list. Added support for Aero Glass (Vista/2008/7). Improved appearance, layout, margins, skins. * Added the "Zip Attachments" option to the Compose window. * Numerous improvements to the "Add Mailbox" wizard. The POP3 and SMTP server name is auto-detected for over 40 of the most common domains. * Added the "Test Incoming Server" and "Test Outgoing Server" tools to the Mailbox Properties window. * Added a new Mailbox field: Signature Name. This now appears at the bottom of a newly composed email instead of the Mailbox's Friendly Name. Please note that your current Signature template will still refer to the Friendly Name unless you load the default template. * Added the "List Properties" tool to the HTML editor. * Added a new window to the Mass Mail tool. It informs the user what SMTP server will be used, and offers to test it. * Added a graphical banner across the top of various tools. * Added the "Reply-To" header to the Mass Mail tool's Preview Window. * Added Enlarge/Shrink buttons to the attachment viewer when viewing an image. * Added support for pasting unicode into the HTML editor's Raw editbox. Added support for pasting unicode with the "Paste Plain Text" tool in the WYSIWYG HTML editor. * Added file_archive(), str_chop_after(), and str_chop_at() G-Merge functions. * Added the ability to disable the Shred Email tool's confirmation window. When shredding a single email, the From, Subject, and Date headers are mentioned. Added a help button. * Added the "SpamScore" variable for the Incoming Script. You can assign a value to this variable to affect the email's spam score. * Added to the help file an example of how to implement a random quotation at the bottom of the signature. * Added the "Type" column to the Attachments table. * Added the ability to change the left/right indent in the HTML editor's "Text Format" tool. * Added support for mailto: hyperlinks that canonicalize the @ character. * The Address Book, Compose window, and Mailbox Properties now use a row of buttons instead of a set of tabs. * The default templates no longer use an internal style sheet. This fixes the problem with some other email clients showing the text "body { margin: .3em }" at the top of the email. * The tree no longer draws the collapse box if the branch has no children. * The Compose Window now allows files to be dropped on the Attachments tab itself, not just the table. * The receive and send progress is now shown behind the Receive All/Send All toolbar icon. * The receive progress meter will now reflect the progress within an individual email download. * The port number fields on the Add Mailbox wizard and the Mailbox Properties window now have a drop-down list of common port numbers. * After dragging and dropping messages out of a folder, the tree will now return to the original folder. * When editing the Signature template in the WYSIWYG editor, the and tags are now automatically removed. * When "Register Default Client" is set to Always, the user is no longer informed when Clyton makes itself the default client. * The "Refresh All Tables" tool now uses a single progress window for the duration of the operation. Also, it is now careful to wait until the worker threads are idle before starting. * The default Reply template will now detect when the email has no Date header, and refrain from displaying "In response to your message on 0--0000 -1:-1:-1a". * The "Find Contact" tool will now display a popup window when the text cannot be found. * The "Register As Default Client" tool will now report an error when Clyton is running on a USB drive. * Updated the SSL module (minor security improvements and bug fixes). * The "Add Curse" tool will now report if the text became a new curse, or if it was already cursed. * The escape key will no longer close the Mailbox Properties window. * Improved Content-Type auto-detection from the attachment filename extension. * Redesigned the first-time greeting window. * Fixed: spell checking was not working right on the HTML editor's "Raw" tab. * Fixed: the loopback IP address (127.0.0.1) is no longer checked for blacklisting. * Fixed: the Mass Mail tool was not recognizing the following variables: FullName1, FullName2, FullName3, FullName4 * Fixed: the Mass Mail tool was creating a temporary file that was not being deleted. * Fixed: the Mass Mail tool was not including a To: header. * Fixed: after selecting a new contact, the "Copy" and "Compose" buttons next to the contact's email address were sometimes remaining disabled. * Fixed: after creating a new Mailbox, the tree was not being redrawn. * Fixed: rare crash on exit. * Fixed: the "Created" column of the Messages Table was not taking the timezone bias into account. * Fixed: the messages table was reporting times between 12:00 and 12:59 as AM instead of PM. * Fixed: mail server auto-detection was failing when a domain has more than one mail server. * Fixed: the Redirect tool will no longer send additional emails to the addresses in the CC: header. * Fixed: a certain type of maliciously crafted email could potentially cause a stack overflow. Version 5.0 (December 10th, 2010) * Previously, the "Export Settings" tool was only capable of exporting the global settings. It can now export the Address Book, the Mailboxes, and emails into a single compressed Zip file. This makes it very easy to transfer Clyton to a new computer, and to make backups. * Clyton will now launch much faster when there are a large number of emails. * Added the "Find Related" tool to the View Email tool. This will find all emails that are related to the current email, specifically replies and the email that was replied to. * Added support for opening .EML and .MSG files (via the shell or command line) and editing them in the standard "Compose Email" window. * Added support for copying an image file in Windows Explorer and pasting it into the HTML editor. * Added the ability to change the quarantine period. Previously this was fixed at 24 hours. * Added the "Sensitivity" field to the Compose window's Options tab. * Added the "Trash Day" tool. * Added the "Undo Last Deletion" tool. * Added the "Refresh All Tables" tool. * Added the incoming_is_autoresponse() G-Merge function, which will detect if the received email is an auto-response. * Added the incoming_is_hard_bounce() G-Merge function, which will detect if the received email is a "hard" bounce-back (such as when the email account doesn't exist). * Added the incoming_is_soft_bounce() G-Merge function, which will detect if the received email is a "soft" bounce-back (such as when the email account is full). * Added the "Color" variable to the Incoming Script. This can be used to automatically colorize certain messages (as they appear in the Messages Table). * Added a high resolution shell icon for Vista/2008/7. * Added the "Pad Controls" option to the Window menu. Unchecking this box will eliminate the margin that is around the splitters. * Added the "Speak" tool to all editboxes. * Added the "Favorites" tab to the help file. * Added the "Balloon help disabled" option to the toolbar's context menu. * Added the "Preview" button to the Compose Window's Character Set field. * Added the "Customize Toolbar" option to the Tools menu. * Added a help file chapter on the Tools menu. Added a "Help" option to the bottom of the Tools menu. * Added the "Load Default Curses" context option to the Curses field. * Clyton now appears on the "Set Your Default Programs" and "Set Program Access and Computer Defaults" lists (Windows 7). * The Default skin now conforms with the appearance of Windows 7. The original default skin has been renamed "Experience". * If the "Register Default Client" tool fails, it will now offer to restart Clyton with admin rights. * When replying, the reply will now include the original "References:" header, with the original email's "Message-ID:" header appended to it. This ensures that the reply is recognized as being part of a thread. * Clicking an "Abort" button on the Mailboxes branch will now abort the entire "Receive All" or "Send All" operation. * The "Register Default Client" tool will no longer report that Clyton is already registered. There is no harm in re-registering. * The [[disregard]] statement can now be used to stop the processing of the Incoming Script. * Improved the appearance of the help file. The inter-character spacing is now calculated better. * Improved performance when an email is added to a folder that already contains a large number of emails. * Improved the performance of the "Refresh Table" tool. * Numerous improvements to the "Check For Update" tool. * Ten seconds after the computer resumes from power saving mode, Clyton will now perform a Receive All operation. * The Send Feedback and Report Exception features now use HTTP to deliver the information to Gammadyne. The old SMTP method is only used as a fallback if HTTP fails. This is necessary because some ISP's only allow SMTP to their own mail servers. * When a DNS record doesn't exist, Clyton will no longer attempt to fetch the record again for 1 hour. This resovles a scenario that can greatly slow down the spam-checking thread. * The "Redirect" tool now supports auto-completion. * When an IP address is checked for blacklisting, an X-Spam-Clause header will now be created even if the IP is not blacklisted. * Fixed: improved detection of when Clyton is running from a USB flash drive. * Fixed inability to handle a semi-colon in an attachment filename. * Fixed: shift-clicking on the Compose, Receive, and Delete buttons was not working. * Fixed: possible failure to perform DNS blacklisting checks on some emails. * Fixed: hiding and unhiding the "New" column of the Messages Table was only working for the Inbox. * Fixed some minor incompatibility issues with Vista/2008/7. * Fixed: possible crash when closing Clyton if the "Choose Template" window was aborted earlier. * Fixed: the "Register Default Client" tool was failing on Vista/2008/7. Version 4.0 (June 9th, 2010) * Huge performance improvement with the Receive/Send/Spam background threads. * Added support for displaying unicode headers. * Added support for pasting images directly into the HTML editor. * Added the "Text Format" tool to the HTML editor. * Added the "Auto-Smiley" feature to the HTML editor. This will automatically convert typed text such as ":)" into a smiley face. * Added support for copy & paste of email files within the Messages Table. * Added support for pasting unicode into headers in the Compose Window. * Added the Find/Replace tool to the HTML editor. * Added the "Copy" button to the Attachment Viewer window. This will copy an attachment to the clipboard. * Added to the HTML editor support for moving a table row up (Ctrl+Shift+U) or down (Ctrl+Shift+D). * Added the "Reply To Text With Text" option to the Settings branch. * Added the "Next" and "Previous" icons to the View Email window. All other buttons have been replaced with icons. * Added the "Launch At Startup" option to the Settings branch. * Added the "Importance" field to the Compose window's Options tab. * Added the "Load Default Value" context option to the Spam Clauses table. * Added the "Exclude From Spam Checking" mailbox property. * Added the "Insert non-breakable space" and "Insert non-breakable dash" tools to the HTML editor. * Added the "Validate HTML" tool to the Raw tab of the HTML editor. This will check for compliance with the HTML standard, and report any problems in a popup window. * Added to the Compose window's "Paste Attachment" tool support for pasting entire directories. * Added more tools to the HTML editor's toolbar, although most are hidden by default. * The Compose window should now open faster. * Improved the default Signature template. * The spam engine will now check tags for illegal hyperlinks. * After using the Trust Sender tool, and messages are recovered from the Spam folder, the messages table is now re-sorted. * Reorganized the Settings branch. * Improved the installer's appearance. * Fixed: on the Mass Mail Preview Window, when the Recipient List has focus, selecting a new recipient will no longer allow the HTML body to steal focus. * Fixed: attachment filenames were not always being decoded. Attachment filenames are no longer converted to lower case. * Fixed: changes to the list of restricted attachments were not being obeyed. * Fixed: rare crash in the trust_address() function. * Fixed: crash if the user clicks the "Compose" button in the Address Book when no contact is selected. Version 3.1 (February 9th, 2010) * Added the largest() and smallest() G-Merge functions. * In trial mode, SSL/TLS is now permitted because GMail requires it. * If the user checks the "Read" box in the Messages Table, it will no longer be automatically unchecked seconds later. * For attachments, the Content-Disposition filename will now take precedence over the Content-Type name. * Private and loopback IP addresses are no longer tested for blacklisting. * Fixed: when spell checking an HTML email, the "Auto-Position" mode was not always working correctly. * Fixed: changing the name of a mailbox was causing the mailbox to become locked until Clyton restarts. * Fixed: after unchecking "Use DomainKeys" or "Use DKIM", these features would still be used until Clyton is restarted. * Fixed: very rarely, a bug could cause an editbox to only accept certain characters (e.g. letters or digits) (since 3.0). Version 3.0 (December 1st, 2009) * Added support for running Clyton from a USB flash drive. * Added to the HTML editor support for smiley faces. * Added the ability to sign outgoing email with a DKIM signature. Mail servers and clients can use this to verify the sender's identity and the message's integrity. * A large number of icons have been replaced or improved. * Added to the spam filter support for verifying DKIM signatures. * Added the "Table Properties" tool to the HTML editor. * Added to the Attachment Viewer buttons for opening and saving each attachment. * Added a search facility to the Address Book. * Added the "Prefers Text Email" Address Book Contact field. * Added a "Delete" button to the Compose window's "Add Recipient" tool. * Added the "Font Size" option to the context menu of the Messages Table. * Added support for HTML tables that specify a background image. * Added the "Send on Ctrl+Enter" option to the window menu of the Compose window (click on the window caption icon). * Added the option to control whether or not Auto-Attachments are included with replies. * When sending an email, certain problematic characters (including spaces) are now automatically removed from HTML image filenames. This ensures that the image will appear properly in most other email clients. * In the Mass Mail tool, if the user clicks Abort on the Preview Window, or if a G-Merge error occurs, the user is taken back to the Compose window instead of aborting the entire operation. * The "Strip Scripts" feature now also strips event attributes from every HTML tag (such as onmouseover). * The "Received" and "Created" columns of the Messages Table no longer use military time, unless this is the regional preference. * Added the "Search Previous" tool to the context menu for the Messages Table. The hotkey is Ctrl+F9. * Holding down the Ctrl key while clicking the Search/Next button (at the bottom of the Messages Table) will now cause the search to reverse direction. * Numerous improvements to the "New Mailbox" wizard. The server configurations are automatically set for gmail.com and yahoo.com. The port numbers can now be specified. * The installer now adds a Windows Firewall exception for Clyton. * When replying to an HTML email with images, the images will now appear correctly on the Preview and Edit tabs of the Compose Reply window. * Updated the SSL module. * Clicking a hyperlink in an email or in the Preview tab of the Compose window will now open the hyperlink in an external browser. * Minor improvements to the default templates. The user is now prompted to confirm the deletion of templates. * Clyton is now more tolerant of certain DNS server errors when validating a DomainKeys header. * Fixed: the "Find Sender In Contacts" tool was not looking in the contact's secondary email address. * Fixed: HTML images would not appear if the Content-Type header did not specify "image" as the primary type. * Fixed: HTML images would not appear if Outlook appends an "@" sign and hexadecimal digits to the end of the image filename. * Fixed: rare crash in the "Save Email" tool. Version 2.1 (June 8th, 2009) * Added to the HTML editor a tool for setting the entire document's background color. * Added to the HTML editor the option to disable automatic URL detection. * Added the csv_append(), file_fetch_line(), mime_delete_headers() functions. * Added support for Windows 95. * When "Delete Messages From Server" is unchecked, Clyton can now detect old emails without downloading the entire email. * Numerous skin improvements. * Updated the SSL module. * The installer and uninstaller will now automatically close the main window and help file. * The "To" column of the Messages Table will now list the name of more than one recipient, if present. * Function keys will now work when an embedded HTML window has focus. * Fixed: the "Failed to determine size of email" error when using IMAP4. * Fixed: the embedded Internet Explorer window used to display HTML was not always remaining hidden in some rare circumstances. * Fixed: graphics that cover the entire HTML background should now appear correctly. * Fixed: deleting a message could sometimes cause the current row to be reset to the first row. Version 2.0 (March 9th, 2009) * Added to the HTML editor the "Insert Symbol" tool (Ctrl+N). This will display a character map of all unicode characters. Double click on a character to insert it into the document. Alternatively, type four hex digits and press Ctrl+\ to generate a unicode character. * Added the ability to customize the order and visibility of the toolbar icons. Right click on the toolbar and choose "Customize". * Added the "Penalize illegal links" option to the Spam branch. * Added support for displaying unicode characters in text bodies that are encoded in UTF-7 and UTF-8. * Added the ability to change the font used to display an email's text body. * Added the "Add trusted address" tool to the Client menu. * Added the "Shred Old Messages" option. * Added to the Incoming Script the ability to mark a message as read by assigning TRUE to the variable named "Read". * Added to the Incoming Script the ability to prevent an email from being tested for spam by assigning FALSE to the variable named "SpamCheck". * Added the "Header Exists" and "Link Extension" options to the Where column of the Spam Clauses table. * Added a secondary email address for Address Book contacts. * Added the convert_to_utf8(), equals_any(), equals_any_i(), str_reduce(), switchi() G-Merge functions. * Added the mw_xxx() G-Merge functions for displaying simple popup message windows. * Added a number of extensions to the Restricted Attachments. * Added the ability to manually reorder the messages table. The hotkeys are Alt+Up and Alt+Down. Please note this only works if the table is unsorted. * Added a "Copy" button for the Address Book contact's email address. * When replying to an HTML email, the reply will now automatically contain all files that are embedded with the original email's HTML body. * The "Penalize Bad Date: Header" feature now also penalizes email that is dated more than 7 days in the future or 30 days in the past. * The headers on the Compose window will no longer put quotes around an Address Book contact's name. This improves the auto-complete feature. * The Compose/Template tool will now properly prepare the new email for forwards and replies if an existing email is selected. * When a mailbox directory is moved or deleted, upon launching Clyton, the user is now given the choice of specifying the new location of the mailbox, or discarding it from the list of mailboxes. * The options on the "Tree Options" and "Branch Options" submenus are now saved. * Inline attachments are now listed in the Attachments table as long as a filename is specified. * Clyton's main executable is now digitally signed. * Numerous interface improvements. * Numerous improvements to the installer. * Previously, the HTML spell checker would start at the caret position and stop at the end. Now, upon reaching the end, it will start over at the beginning. * For mailto: hyperlinks, the "force-plain-text" parameter is now obeyed. * The "Trust Media" option no longer applies to the Spam, Quarantine, and Trash folders. * The "Penalize Symbols" spam filter no longer considers digits as symbols. * The progress window for the Search tool will now display the current mailbox, folder, and message index. * For Received: headers, IP addresses enclosed in parenthesis are now detected, even though this is technically invalid syntax. * Messages no longer incur a spam penalty for a Base-64 encoded body if the body is an attachment. * Fixed: rare glitch in header labels after deleting an email. * Fixed: emails that were deleted outside of Clyton could fail to be removed from the Messages Table during the shutdown cleanup phase. * Fixed: possible fatal error if all mailbox folders are moved to a different location. * Fixed: possible crash if the user clicks on an email that loads slowly, then closes Clyton before the email finishes loading. Version 1.4 (September 22nd, 2008) * The help file's Search feature will now highlight all occurrences of the keyword. * The mouse wheel will now scroll HTML even if input focus is elsewhere. * The installer is now digitally signed. * Fixed: the HTML tag that records the caret position is now removed from outgoing emails. Some email client's HTML->text conversion would insert the word "CARET" into the text. * Fixed: when editing an attachment on the Compose window, the "Size" column of the table was not being updated, and bare linefeeds were being used instead of carriage return/linefeed pairs. * Fixed: several problems that could cause a long period of 100% CPU usage (when opening a very large email). Version 1.3 (August 5th, 2008) * Balloon help has been totally revamped. The balloon help text for each control has been evaluated and improved. * Added the "Secure authentication" Mailbox property. This changes prior behavior - previously secure authentication was always used, however this new setting is unchecked by default. Some servers cannot reject secure authentication gracefully. * Added to the HTML editor support for unicode characters. * Added support for HTML