RichView 1.9.8

=====================================================
COMPATIBILITY ISSUES:
- HTML tag names, color constants, CSS names are saved in lower case
- SaveHTMLEx does not use the following attributes for cells and tables any more:
  bordercolor, bordercolorlight, bordercolordark, background, bgcolor.
  CSS style is used instead. These attributes are not standard.
- table layout algorithm: when there is not enough space for columns having
  widths specified in pixels, they are decreased proportionally
  (previously, only rightmost columns were decreased)
- table grid is not shown in readonly editors any more
=====================================================

1.9.8
impr: Ctrl+Up and Ctrl+Down scroll the document down/up instead of moving caret.
impr: Ctrl+Left, Ctrl+Right, Ctrl+Delete take Delimiters into account.
fix: in db components
chg: rvoFastFormatting is included in Options by default (it affects existing projects
  where TRichView has default value of Options)
chg: support for C++Builder 1 and 3 is dropped (actually, it did not work since 1.9.3 or
   even before)

1.9.7 BETA
impr: much faster reformatting! (thanks to Rob Schoenaker)
  It's faster by 50-100%.
  If you include rvoFastFormatting in Options, it will be faster up to 400%!
  (works only under WinNT/2k/XP; 
   if this option is included, formatting procedure use a lot of system resources, 
   but they are released immediately after finishing formatting). 
   Highly recommended to try.
   This option can also be applied to TRVPrint (RVPrint.rv.Options) and
   TRVReportHelper (RVReportHelper.RichView.Options).
new: new options for TRichView.BackgroundStyle: bsTopLeft, bsTopRight, bsBottomLeft,
  bsBottomRight (define the position of background bitmap).
new: TRichView.LoadFromStream - loads data from the Stream autodetecting its format
  (RVF/RTF/text). The last parameter (IsTextUnicode) specifies is the text Unicode.
  It can be one of:
  rvynaNo - read text as ANSI
  rvynaYes - read text as Unicode
  rvynaAuto - autodetects ANSI/Unicode (false detection is very possible)
impr: table.VisibleBorders is saved to HTML and RTF
fixes

1.9.6 BETA

new: TJvGIFImage (from Project JEDI's JVCL, http://jvcl.sourceforge.net) animation.
  To enable it, include RVJvGifAnimate in your project. More info: see in v1.9.5
impr: rvespAlt (see TRVExtraItemStrProperty type) property can be applied
  to bullets and hotspots
new: Hint: String property for table cells (unlike item hints, they cannot
  be altered by OnItemHint event)
impr: you can define which characters to show in ShowSpecialCharacters mode.
  They are listed in RVVisibleSpecialCharacters (global variable in RVStyle.pas)
  It's a set of (rvscSpace, rvscNBSP, rvscParagraph, rvscSoftHyphen).
  By default, it lists all the options.
impr: you can allow saving explicit page breaks in text files/streams.
  Set the global variable RichViewSavePageBreaksInText (from CRVData.pas) to True.
new: the following Windows messages are processed by TRichView: 
  EM_GETSEL, EM_SETSEL, EM_GETTEXTRANGE, WM_GETTEXTLENGTH, WM_GETTEXT, WM_SETTEXT.
  If you do not need these messages, you can define RVDONOTUSELINEARPOSITIONS in RV_Defs.inc.
  It slightly reduces exe-file size.
new: ability to delete unused styles even if they are used by several documents.
  New methods: 
  MarkStylesInUse(data) - marks all styles used in RichView.
  DeleteMarkedStyles(data) - the first call deletes the marked styles from RVStyle.
    All calls adjust references to styles in documents.
  See Examples.txt.
fix: in editing and RTF export

1.9.5 BETA
new: ANIMATION: direct support for animated images.
  New property: AnimationMode:
  - rvaniDisabled: all animation is completely disabled.
    If images are added/updated in this mode, they cannot be
    animated (even if different mode is set later). 
    This mode saves system resources.
  - rvaniManualStart (default): animation starts when calling
    StartAnimation and stops when calling StopAnimation.
  - rvaniOnFormat: animation starts when calling Format and
    stops when calling Clear. StartAnimation and StopAnimation
    work as well.
  rvaniManualStart is set by default because rvaniOnFormat
  may cause problems in some existing applications.
  Animation must be stopped when you call viewer-style
  methods like DeleteItems. If you simply load and edit
  documents, set this mode to rvaniOnFormat.
  Supported animations:
  1) TGifImage by Anders Melander.
    http://www.torry.net/vcl/graphics/gif/gifimage.exe (original)
    http://www.trichview.com/resources/thirdparty/gifimage.zip (update)
    Include RVGifAnimate.pas in your project to enable this animation.
  2)TBitmap. Bitmap is sliced into frames (rvepImageWidth x rvepImageHeight)
  arranged in rows and columns. Animation is enabled if you set nonzero
  rvepAnimationInterval in positive value (animation delay in 1/100 of second)
  See the help file on TRVExtraItemProperty type about rvep*** values.
  Known problems: such bitmaps are still printed and exported stretched
  instead of exporting one frame.
  Note: unlike drawing/saving/loading of images, there is no standard
  graphic methods for animation. Because of this, a special
  wrapping code is required for supporting each new animation type.
  You can post your requiest for new animation types in newsgroups or
  svt@trichview.com.
fix: RTF export

1.9.3 BETA
impr: support for the word joiner Unicode character (code $2060).
  This character is invisible and it disallows line breaking
  before and after it. A speciall support is required because
  almost no font has a glyph for this character.
  Note: it works propely only if inserted in the middle of a
  text item.
chg: if image was not returned in OnRVFPictureNeeded event, this event
  is called second time with the value of rvespImageFileName property
  in the Name parameter (if value of this property was stored for
  this item).
fix: keep-with-next option did not work for paragraphs before tables 
  (if tables were printed on several pages)
test: if you set RichViewShowGhostSpaces variable to True, spaces hidden between
  lines will be shown in rvoShowSpecialCharacters is in TRichView.Options

1.9.2.1 BETA
fix: in table.VisibleBorders implementation
chg: table grid is not shown in readonly editors any more
  More exactly, it is shown using global variable RichViewTableGridStyle2 (default value: psClear).
  The same pen style is used for drawing table grid in viewer.
  For editors, RichViewTableGridStyle variable is used (default value: psDot)

1.9.2 BETA
new: packages for Delphi 2005 (Win32): RVPkgD9 and RVDBPkgD9.
new: table.VisibleBorders property having the same meaning as cell.VisibleBorders.
   Direct assignment to this property cannot be undone/redone, use table.SetTableVisibleBorders
   for that
new: TRichViewEdit events: OnOleDragEnter, OnOleDragOver, OnOleDragLeave, OnOleDrop.
  These events are called when user drags and drops data in the given RichViewEdit.
  These events are related to OLE d&d used by TRichView (VCL d&d events - OnDragOver,
  OnDragDrop - are called when dragging Delphi component over TRichViewEdit. VCL d&d
  is not processed by TRichViewEdit itself)
  OnOleDragEnter - user drags the mouse into the editor. Indicates whether a drop 
  can be accepted, and, if so, the effect of the drop.
  OnOleDragOver - user moves the mouse over the editor. Called only if the dragging
  was accepted in OnOleDragEnter.
  OnOleDragLeave - user drags the cursor out of the editor or cancels the current d&d operation.
  OnOleDrop - the user completes the d&d operation into the editor. Allows you to insert
  data in your own format.
  Parameters of these events:
  DataObject: IDataObject - dragged data (IDataObject is declared in ActiveX unit);
  Shift: TShiftState - keyboard state;
  PossibleDropEffects: TRVOleDropEffects - a list of allowed operations, set of
   rvdeCopy, rvdeMove, rvdeLink.
  DropEffect - on input, a d&d operation which editor would choose by default.
   On output: For OnOleDragEnter and OnOleDragOver, the operation that you want to
     do with the dragged data (one of PossibleDropEffects, or rvdeNone if you
     do not want to accept it).
     For OnOleDrop, the operation that you have performed (one of PossibleDropEffects, 
     or rvdeNone if you cancelled the insertion). If it is rvdeMove, it instructs
     to delete the dragged object from its source location. This value is
     used only if you set DoDefault=False, otherwise the editor does the default
     processing. If you insert some data in RichViewEdit in this event, they are
     automatically selected afterwards.
  Limitation: when dragging from the same editor, it decides by itself
    whether it should move or copy data, and it ignores DropEffect returned by OnOleDrop.
new: rvtoNoCellSelect option for TRVTableItemInfo.Options.
  If included, multicell selection by mouse is not allowed (remove also
  rvtoRowSelect, rvtoColSelect to disallow making multicell selection completely).
fix: fixes and tweaks in table layout algorithm.
fix: sometimes a wrong code page was chosen for the conversion when applying
  Unicode style to non-Unicode text.

1.9.1.8
new: TRichView.RTFReadProperties.StoreImagesFileNames: Boolean (default False).
  If you set it to True, filenames of external RTF images will be stored in
  rvespImageFileName item property of read images, and you will be able to use
  them when storing HTML.
fixes

1.9.1.7
new: loading and saving PNG images in RTF.
  To enable this feature, call the procedure RV_RegisterPngGraphic
  for the class representing PNG image. For example, if you use
  PngObject (http://pngdelphi.sourceforge.net/), call
  RV_RegisterPngGraphic(TPngObject);
fixes

1.9.1
new: rvsoXHTML option for SaveHTMLEx (ignored by SaveHTML).
  If set, output is XHTML.
new: rvsoUTF8 option for SaveHTML and SaveHTML.
  If set, HTML/XHTML file has UTF-8 encoding
  Pros and cons:
  pro: if you use Unicode, this option generates much more compact files
    (for non-Western languages)
  pro: if you do not use Unicode but use text of different charsets, 
    this option allows saving multilingual HTML (was not possible before)
  con: if you do not use Unicode this option may generate files of larger
    size (for non-Western languages). So the only case when it's not very good - 
    if your document is not Unicode and all text is of the same charset.
  con: RvHtmlImporter does not support UTF-8 yet
fix: minor fixes
