WPCubed GmbH
Wordprocessing and PDF components 

WPTools Development History

 

*******************************************

************ WPTOOLS 9 History ************

********** http://www.wpcubed.com *********

**** Copyright (C) 2024 J. Ziersch and ****

**** WPCubed GmbH, Munich, Germany ********

******* https://www.wpcubed.com ***********

*******************************************

* - = bug fix

* + = new feature

* * = changed, expanded feature

FMX - affects only WPTools FMX

*******************************************

* IMPORTANT: Please edit file WPINC.INC to

* activate WPREPORTER, WPSPELL, wPDF and

* PNGImage support!

* Delphi 2009 and later has inbuilt PNGImage

*******************************************

* THE MANUAL (PDF) AND REFERENCE (HLP,CHM)

* ARE PROVIDED AS SEPERATE DOWNLOADS!

*******************************************

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

WPTools Standard does *not* support Delphi 6 and Delphi 10 Seattle anymore.

If you still use this compiler please upgrade to the PRO version with full source.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Support Delphi 12: The depreciated alias type name PTParagraph used by 2 event handlers has been

renamed to TParagraph to fix a problem with Delphi 12. For the same reason PTTextObj is now consistently

used as TWPTextObj

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

+ new global variable in unit WPIOReadRTF:  wpRTFReadLimitParDepth

 Assign 10 or a higher value to make it possible to load documents with too deep table nesting which would

 break the editor otherwise.

 

*** WPTools 9.3.9.1  - 30.4.2024 ***

* fix in RTF reader for better style loading

* fix in RTF reader for better section support

* support line colors for text boxes (premium)

* new API: TParagraph.InsertNewObjectPair to create a hyperlink or mergefield in low level code

* improved Stream undo method

- fixed image output for PDF

+ wpPrintSectionPageNrForPage in ViewOptionsEx2 to print section page nr

- some fixes in uses clause for Delphi 12 support

+ TWPRichText.UndoSaveState  / UndoRestoreState can be used to encapsulate extensive changes to the text

  to be able to restore as a whole.

 

*** WPTools 9.3.9.0  - 29.2.2024 ***

* several enhancements in XML support unit (WPXmlInt.pas)

+ The WPT reader will map the style names to existing styles when text is inserted uing the -OnlyBody format string

* better saving of column format in  DocX Format (requires Premium and DocX License)

* better saving and loading highlight color DocX Format (requires DocX License)

+ rudementary loading and saving of TableOfContents in DocX Format(requires DocX License)

 
 

*** WPTools 9.3.8.2  - 13.12.2023 ***

- 2 source code units were UTF8-ified by a misconfiguration of the system. This has been fixed.

 

*** WPTools 9.3.8.1  - 11.12.2023 ***

+ much faster mail merge (when working with large inserted texts)

+ some improvements to WPReporter

+ faster object handling wptools

- improved UNDO routine when using wpcoUndoModeIsSaveAsStream in ClipboardOptionsEx

+ new online API: https://www.wpcubed.com/manuals/rtf_vcl_delphi/index.htm  

 (It was created using a new WPTools based program called documentARRAY)

- fix for problem that a background color with index 0 was coped and pasted as black background

* new line and tab characters were sometimes removed by XML Interface. This has been fixed.

+ optimized API CodeLocate

 

*** WPTools 9.3.8.0  - 17.11.2023 ***

+ Added Support for Delphi 12 -Athens

+ methods UndoSaveState / UndoRestoreState in TWPRichText to quickly create a snapshot and

- Fix problems with borders not beeing drawn after a row break

+ wpDisableDirectIMEInEditor in EditOptionsEx3: Disable the new code which handles emoji input. This can help to fix issues with tablet input.

+ improved function TWPRTFDataBlock.ApplyConditionals

* may additions and fixes in the unit WPXMLInt which implemenets the XML Interface / Tree

* some small but important fixes for editing and rendering.

* some performance optimations when working with objects

 
 

*** WPTools 9.3.7.1  - 20.8.2023 ***

+ new EditOptionsEx3 wpDisableDirectIMEInEditor which favours pen inpout over multi char emojies

+ RTF Reader now also reads HEX data after \bin

+ RTF Reader can now read and apply character styles with the format option "-ApplyCharStyles"

- fix in format routine which caused wrong handling of header table rows in rare cases

- fix a possible enless loop in format routine in rare cases with fields.

 

*** WPTools 9.3.7.0  - 28.7.2023 ***

* the variable WPLocalizeLoadForms was moved to unit WPRTEPlatform

++ Support for theming has been much improved. Please check out the new demo "Dark Mode"

++ Support for automatic and manual scling of TWPRichText, ruler and Toolbar

++ much enhance toolbar and ruler update routine to enable dynamic switching of themes

+ enhance cursor control in editor

+ enhanced dialogs to support automatic scaling

* text can be temporarily hidden or highlighted using the casfFlag Hidden:

   WPRichText1.SelectedTextAttr.SetCAFSStyle( cafsHiddenText, 0 );

   WPRichText1.HiddenTextAttr.Hidden := true

+ conditional text objects

* enhanced merge function creates a bookmark pair around the inserted text

* wpCenterPaintPages in ViewOptions now works much better for multi column page layout

* PLEASE NOTE that the method TParagragraph.DeleteParagraph deletes

 also children paragraphs (always documented to do so)

+++ much enhanced WPReporter: Show your own captions, undo template edit, custom string propertries in bands

Use the mail merge flag mmStartNewPageBefore to create a new page before the paragraph

+ enhanced universal XML class in WPXMLInt

+ WPTools Premium: new method in unit WPRTEPlatform

 TWPStringBuilder.AppendWithVariables can merge contents into tokens, i.e <variable>

- fix of several smaller glitches

- fix of problem when exporting text to PDF in PDF/A mode with wPDF

 

*** WPTools 9.3.6.5  - 10.5.2023 ***

+ wpKeepTogetherMergedRows in FormatOptionsEx3 (makes sure merged rows will

  orce a page break to make sure all text can be rendered )

+ TWPRichText.SetParStyle makes it easy to assign and change style properties to current paragraph.

* change in WPTREader to load umlauts from TWPTextObj parfams property

* fix to better handle large images in reformat

* fix to avoid image export problem with PDF export

- fix some issues connected to text deletion and repaint

 
 

*** WPTools 9.3.6.4  - 25.3.2023 ***

+ ActiveText.AppendParList appens paragraphs from TStrist or TStrings.Objects, very useful for reporting

+ TParagraph.MoveChildrenBelow moves the children of a paragraph after this paragraph

- improvement to avoid wrong cursor positions in tables in last row on page

- fix problem with image export zo PDF when multiple imagesxx were used on the same page

- some improvements in mail merge code

 
 

*** WPTools 9.3.6.3  - 29.1.2023 ***

* New VCL Demo of WPTools

- improved WPSpell 2 (included with WPTools 9.3 Premium)

- range check fix in format routine

- fix in HTML writing code

- Contents in OnMailMergeGetExt let you specify the option string to loaded formatted text: LoadFromatString

 

*** WPTools 9.3.6.0  - 9.12.2022 ***

- fix problem: PDF export aout of invisible or dynamic editor missed images

 

*** WPTools 9.3.5.4  - 8.12.2022 ***

* change in HTML and XML reading class to early strip "" from parameter values in tags

- fix rare range check error when a footnote was pushed to next page

- fix problem when loading last paragraph style. basestyle was not loaded.

+ TableNormalizeColCount - powerful procedure which addjust the column count in one or all tables

 so all rows have same column count. It can also create colspan cells so the formatting only slightly changes.

+ StringList "Extra" in TParagraph if compile symbol PAR_HAS_EXTRA is defined (requires WPTools PRO)

- fix problem with export of bitmap to PDF (with wPDF)

 

*** WPTools 9.3.5.3  - 14.11.2022 ***

* optimized the metrhod BeginUpdate/EndUpdate to avoid incompatibilities with previos version of WPTools

* better table formating code

 

*** WPTools 9.3.5.2  - 12.11.2022 ***

- Fix in table cell resizing.

+ wpfClipNoWrapParagraph in FormatOptionsEx3. Cells or Paragraphs which use WPAT_NoWrap to disable the word wrap

 are now clipped at the right side. Chercacters after the end of the paragraph rectangle are not printed.

 Use with care, since this will cause text to not be displayed. Not compatible to right or center alignment!

+ New in FormatOptionsEx3 - if all are set the editor will reset the numbering in an empte new paragraph, even

 if the numbering was defined in the paragraph style

 wpCopyNumberSettingsFromStyleToParagraphs  // This happens when assigning a style FIRST

 wpCopyNumberSettingsFromStyleOnEnter  // This happens when assigning a style and ENTER at end of paragraph

 wpDisableNumberPropsInStyles  // Do not use number props in style for formatting and display

+ The RTF reader now reads the shpz parameter for positioned images and reorders the anchors at the start of a paragraph.

- fix of possible exception in Refresh after a Clear has been performed.

- improvement for image rendering in header

 

*** WPTools 9.3.4  - 3.11.2022 ***

- /trwWidth5000 now ignored since it just means 100% rows width

* improvement to RTF Writer flag "-NoNumberProps"

* improved cursor positioning for paragraphs which split to next page

* improvement to PDF/A export reagarding images in header/footer

 

*** WPTools 9.3.3  - 14.10.2022 ***

+ wpfDisableAllNestedObjectStyles in FormatOptionsEx2 for speed optimation

* ignore unnecessary page breakes when writing RTF

* improved PDF/A tag writing with wPDF

 

*** WPTools 9.3.2  - 19.9.2022 ***

+ with PDF export over-text images are now printed in the order of their anchors in the text and not grouped after the page content

+ more streamlined logic of WPReporter:

  ++ the header/footer bands inside groups now can use the "between" row setting. It was ignored before.

     To get the old behavior back $define the symbol IGNOREBETWEEN in file WPINC.INC

  ++ enhanced performace. If you experience slow reporting please first check your code. For

     example even logging code can introduce a preformance drop doe to slow TMemo or TListbox conmponents

  -- Under some circumstance footer bands were not used, i.e. after a group which was was hidden. This has been fixed.

  ++ added Options to WPReporter

       wpAllUndoOperationAsStream,  // Stores text in template in a stream

       wpProcessGroupHeadersInAutoOrder, // Data groups first print all header

       wpProcessAllBandsInNaturalOrder // Process the header and footers in the order they are used in the template

+ improved editing of templates

+ the global variable wpDrawCurlyLinePixelWidth can be used to customize the misspell curly underline

* enhanced undo/redo stability

* many fixes and improvements in editor

* change in RTF reader for better loading of tables

 
 

*** WPTools 9.3.1  - 24.7.2022 ***

+ new format string -dontwriteopengroups to not save püen groups in SaveSelection

+ new property ClipboardOptionsEx

    wpcoDontCopyParentGroupParagraphs  to not copy the outer grops of select text

+ when PDF is exported with wPDF you can actiovate the tag <figure> using the $define TAGGEDPDF in WPObj_Image

+ function TWPRTFDataBlock.AppendParList  

- several improvements to stability, esspecially Undo/Redo

 
 

*** WPTools 9.3.0  - 23.6.2022 ***

+ WPTools Premium now includes spellcheck with

 engine for WPSpell and HunSpell dictionaries (requires hunspell DLL)

+ auto tab after bullet. This can be diable using FotrmatOptionEx3: wpfDisableAutoTabForNumbers

- fix problem with images loaded from HTML in aligned cells

- improve width/height loading of images from html

+ wptblAlignWithinCurrentIndents for TableAdd

+ par.AGetDef() will return the default if par=nil

+ the XML interface now also reads CDATA elements

- fix copy&paste problem of RTF text into empty table cells

* improved DocX loading. Loads styles and images in difficult files

* improvement KeepN support for table rows (activate also wpfDontBreakTableRows)

+ Support for DIP changes when moving a window:

 call WPRichText.UpdateMonitorDPI;

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 
 

*** WPTools 9.2.3 - 11.2.2022 ***

- fix a possible AV in the unit WPRTEDefs which could happen when character attributes were assigned

 

*** WPTools 9.2.2 - 28.1.2022 ***

- fix problem with right indent in ruler and normal layout mode

 

*** WPTools 9.2.1 - 30.12.2021 ***

* Formatting takes ) and ] after text to the next line

* Optimation to make RTF to be loaded faster

* (much) Faster deletion of text in large paragraphs

 

*** WPTools 9.2.009' - 25.10.2021 ***

- fix in ClearTextBetween method

 

*** WPTools 9.2.009 - 16.10.2021 ***

+ wpHidePageFrames in ViewOptionsEx2 to hide frames which may be defined in the loaded RTF data

* improved editing of bookmarks, esspecially bookmark protection and open/close consistency preservation

* avoid calling object destrcutor if moved to a new line by pressing enter

 

*** WPTools 9.2.008 - 6.10.2021 ***

+ Support for Delphi 11 - Alexandria

 

*** WPTools 9.2.007 - 11.9.2021 ***

- the AfterCompleteWordEvent did not work after a . when wpAutoDetectHyperlinks  was used

- when overwriting selected text the char attribute of the first selected character is beeing used.

+ Use wpOverwriteTextUseAttrAtInsertionPoint in EditOptionsEx2 to always reset the char attribute

+ Use wpDontInheritAttributeBeforeSpace in EditOptionsEx2 to not inherit the character attribute used before a space character

 
 

*** WPTools 9.2.006 - 28.8.2021 ***

* WPTools tries to no separate - and numbers. This can be switched off in PRO version with compiler symbol DONTKEEPMINUSWITHNUMBER

 In case there is text (no number or space) before the - it will now break the line

- fix format problem when typing in paragraph with images

+ optional parameter to WPRichText.ParStyles.LoadFromFile to load CSS stylesheets instead of lists in WPCSS format

+ better word wrap in reformat for ' and numbers

+ improved indention when activation bullets and numbers

- fix in HTML reader to add space after <div>

+ new format string option -WritePXValues makes the HTML writer write Pixel instead of Inch Values.

 Please note the pixel values are calculated on a basis of fixed resolution which is 96 by default.

 

*** WPTools 9.2.005 - 18.5.2021 ***

* improved redo support

* improved undo after load from stream / paste from clipboard

 

*** WPTools 9.2.004 - 7.5.2021 ***

- added unit WPRTEFormatH to PRO and Premium setup

* improved message handling in WPCtrMemo.pas

- fixed NODB switch in package source

 

*** WPTools 9.2.003' - 21.4.2021 ***

* in WPUtil: moved  DestBitmap := bit; one line up to fix WPImage Problem

 

*** WPTools 9.2.003 - 8.4.2021 ***

+ Option in RTF reader -callrequesthttpimage enables call of event OnRequestHTTPImage

+ Many additions to the XML Interface to better support XMP data (see wpXMLInt.pas)

* HTML export now embeds BMP and WMF as PNG - although using smale width(height matching to

 size of object in text. This also works for images which have been embedded using the GDI++

 support in TWPObjImage

- fix problem when saving EMF embedded into HTML as JPEG compressed images

- fix in DocX reader to un-inherit character styles in paragraphs to text

+ function LockRichtext : Boolean; - Check wethere a scrolling opertaion takes place at this moment

 

*** WPTools 9.2.002 - 15.1.2021 ***

+ new demo G) Technology\ResizeDynamic

- improvment for calculation of size of image in table cell

- fix resource problem in WPEval

- improvment for moving objects with touch

- fix selection markers in normal layout mode

 

*** WPTools 9.2.001 - 24.12.2020 ***

- fix problem with installation

 

*** WPTools 9.2.001 - 13.12.2020 ***

+  Images can now be alignbed to the bottom of a line. Use ViewOptionsEx2: wpAlignAllImagesToLinebottom

*  Images in lines with no other text bwere aligned to the top. This has been made more consistent and they

  are alignbed to the baseline. To get the old behavior back set the global variable WPAlignAllObjectToBase := false.

+++ WPTools now comes with SVG support

  + HTML files can now be loaded with linked SVG images.

    to activate this mode define the compiler symbol SUPPORTSVG in WPINC.INC

  + new component TWPSvgImage which is a TGraphic control which to display a SVG file

  + new component TWPSvgGDIRenderComponent to render SVG data to a Canvas

    The source code for the SVG rendering is provided also iun standard edition!

+++ Improved hirarchical format algorith - implemented in WPRTEFormatH.pas

+++ The HTML reader can now load HTML files with the html nested structure kept intact. This requires the WPRTEFormatH algorithm to render

 

+  Touch can now be used to move an image

+  The dialogs now have a property "RestorePosition". If this is ture (or the global variable WPAllDialogsRestorePosition)

  the position will be restored when they are opened the next time in the same instance of an application.

 

*  improved UNDO support

*  improved cursor control

*  some improvements to editor

 

*** WPTools 9.2.000 - 5.11.2020 ***

+ TWPRichText.EnumText to enumerate all characters and/or text objects

+ TParagraph.CharAtIs(p,c) to quickly check for a certain character at a certain position (also handles invalid values for p)

+ [...] in Color drop down selector to add custom color

+ TWPFormatOptionsEx3

wpfDisableScaleImagesToTableCells   // if false - Adjust an image in a table cell to the macimum width

wpfOnImageScaleUseMaximumRowHeight  // if true - Adjust an image in a table cell to the maximum height

* enhanced HTML loaded (UTF8 href and src)

+ improvement to HTML writing

    - table background

    - line-height

    - unicode entities

+ wpTokenToTextObjects flag in procdure ReplaceTokens

* improved readonly handling

- improve TParagraph.DeleteParagraphKeepChildren

+ EditOptionsEx2 wpNeverMoveTextToUndoButCopy - useful if you need TWPTextObj.OnDestroy after an object was deleted

* Ruler for better functionality in normal layout mode

* improvement with cursor position after UNDO

* improvement undo handling with table actions

* Some text formatting fixes

*** several enhancements in the RTF engine and object rendering

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++ Lauch of WPTools 9.2 (with support until 31.12.2021)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

*** WPTools 9.1.900 - 3.8.2020 ***

* Modification in reader to load image objects cosistently

* some fixed in RTF engine

 

*** WPTools 9.1.820 - 21.7.2020 ***

+ ppProtectSelectedTextToo protected selected text UNLESS the whole text is selected. With the new

 ppProtectSelectedWholeTextToo you can also protect text if the uses presses Ctrl+A to select all text

+ RTFDataBlock.IsEmpty( IgnoreWhiteSpace : Boolean = false; IgnoreEmptyPars : Boolean = false )  function checks for a text which consists of white space only

- fix right border after table split in last cell of row

* FIX in DocX units

* FIX nested table loading in RTF

 

*** WPTools 9.1.801 - 20.6.2020 ***

- restored functionality of TParagraph.ParentParentTable

+ new property TParagraph.IsNestedTable

- fix broken undo for table operation

- small fix in SymbolDialogEx

* don't separate numebrs at decimal characters

 

*** WPTools 9.1.800 - 17.6.2020 ***

+ Support for Delphi 10.4 Syndey

* the concept of the "Default Actions" has been slightly modified to avoid frequent installation problems:

 The image lists are now created in code and filled from a resource file. This reduces the size of the DFM file.

+ AddToImagelistFromResource utility function since ImageList.ResourceLoad does not work correctly

- bookmarks were not closed correctly when document was ending with a table

- AllowMultiView was not working

- fix problem with image in cell when par uses right alignment

+ when writing tagged PDF file (PDF/A) wptools can add tags for each element. Certain validators

 are not prepaired to find table/tr/td tags so it is not possible to set a flag

  WPRichText.Memo._WPDFOnlyWriteP := true to only write the "P" tag.

* changed type of WPToUnicodeW from WideChar to Word to fix unexpected codepage conversion

- improvement of base64 decoder for embedded images in HTML

- fix rare case in which RTF writer did not write corrrect line spacing

- fix for HTML reader - ignore unit img width/height

+ compiler symbol {$DEFINE CTRLTAB_EDITFIELDMOVE} // ON: Ctrl+Tab moves backwards in form, otherwise Shift+Tab

+ Forms can use a global font / size

+ wpUseAttributeEvenIfSingleParagraph

+ TWPRTFDataBlock.RtfText.LoadFromFile now implemented

+ event RTFData.OnReacalcText (must be assigned in code to allow custom recalculation of fields and cells)

+ new component TWPRTFBalloonHint to shae a RTF formatted hint. (Assign the string to propetrty "Text")

* some improvements to TWPPaintEngine

* check for font 'Segoe UI Emoji' to enable color emoji printing

+ The TWPSelectedTextAttrInterface now has a propetry CharAttr to quickly read and assign CharAttr index values.

* disable Ctrl+Enter in header/footer (cannot create new page there)

** WPTools FMX - several improvements

 

*** WPTools 9.1.020 - 2.3.2020 ***

+ new event OnDrawUnderline. This powerful event makes it possible to customize background and underline of

 hyperlinks, i.e to draw a background for hyperlinks, record the position

 of hyperlinks on the canvas. Since this event is triggered for all kind of underlines, it can also be

 used to dynamically change the underline color.

- the WPT loader didn't handle NumStyle=0 as undefined like WPTools 7

- fix problem with DeleteHyperlink

* improvements in colspan handling

* changed the way grid lines are painted to avoid deletion of the previously painted borders

 

*** WPTools 9.1.019 - 19.1.2020 ***

* GetSelectionAsString was ignoring TextSaveFomat property

+ The save format string '-alwaysembed' now works consistently to embed images in WPT, RTF and HTM format

 usage:  s := WPRichText1.AsANSIString('HTML-alwaysembed,-nobinary');

 

*** WPTools 9.1.018 - 9.12.2019 ***

* Save EURO Sign in RTF code with selected codepage 1252 in old way as '80

- fix format problem while typing in center/right aligned text when soft line break was used.

- fix wrong cursor position when soft line breaks were used.

* improved column resizing

* improved ruler

- TParagraph.AMerge sometimes cleared tabstops

 
 

*** WPTools 9.1.017 - 25.11.2019 ***

* AppendAsSection: use wpDontSetPageBreak to avoid page break

* update preview in ParagraphPropDialog

* LayoutPageGap now also supports left and right margin lines (see ViewOptions)

* improvement to DocX reader

 

*** WPTools 9.1.016 - 25.10.2019 ***

- fix problem with Overflow in MulDiv

- fix problem with Ruler.Heigh was not persistent

 

*** WPTools 9.1.015 - 21.10.2019 ***

+ wpDontDrawLineForSoftPageBreak in ViewOptionsEx

* improved UTF8 handling in XML Interface TWPXMLTree

- IncIndent was not active for numbered lists

- improve display of "normal" layout in vertical ruler

 

>>>> NO MORE BLURRY ICONS WITH ANY RESOLUTION

    WITHOUT THE USE OF MULTIRES-BITMAPS:

    integrated SVG render engine for toolbar and ruler images (WPSvgLight)

    requires Delphi XE2 and later.

    For general SVG support and more options and tools,

    please get our optimized product WPSVGPro. (Available in 11/2019)

 

*** WPTools 9.1.012 - 8.10.2019 ***

+ TWPTextObj.SelectEmbeddedText

* fix problem with TWPTextObj.StartTag / EndTag

* changes to use generics

* DocX reader now show the cause of an reading error.

 
 

*** WPTools 9.1.011 - 22.9.2019 ***

FMX+ add support for double click

FMX- fix update of toolbutton state

* removed abstract ancestor of TWPCustomAttrDlg and replaced with interface

* make sure the OnChange is triggered after object and table resize

- fix problem with Emoji dialog to require 2 returns to add icon after search

- improve Emoji width calculation

* SetZoomMode now resets double page view if user selects FullWidth or FullPage

+ TextCursor.InsideSelection makes it easy to check if the cursor is currently located within a selection.

* several changes to make release of WPTools for FireMonkey possible

* DocX writer - fix image problem

 

*** WPTools 9.1.010 - 5.9.2019 ***

- improve D2D draw so all Emoji are now drawn correctly

* draw cache for emoji when the same are used in a row

- fHasShadingType in RTF reader - load RTF from Excell

- skip ansi char in emoji dialog

- emoji dialog closed after each symbol

* some enhancements to API and fixes for older Delphi versions

 

*** WPTools 9.1.004 - 27.7.2019 ***

+ TWPRTFEngineBasis.Assign(Source) to copy text and special text attributes

+ support for ViewOptionsEx wpDontClearPageBackground in RTFLabel

+ RTFLabel  now has CPPosition property

+ RTFLabel now supports different LayoutModes

+ RTFLabel paints page frame in Transparent mode

+ RTFLabel has new event: OnMeasureTextPage

+ RTFLabel has new properties:

   HighLightColor

   HighLightCellShading

   HighLightTextColor

   TextColor

   XOffset

   YOffset

   XBetween

   YBetween

 

*** WPTools 9.1.003' - 18.7.2019 ***

- fix minor installation issue

+ TWPTableProducer now has a property editor to navigate block and column templates.

+ The TWPTableProducer can now sum values in selected columns

- Emoji painting did not respect paragraph and page color

+ experimental mapping of "blonde female person" to just "female person" since

 the blone woman is not displayed by Windows. Activate this mode

 with WPRichText1.Memo._EnableEmojiMapping := true.

- fix some UTF8 characters which got into some of the source units.

- fix problem with Self.ClassType.Create as ... which requires new compiler

* some improvements to support dark theme better

 

*** WPTools 9.1.002 - 16.7.2019 ***

+ Support for combined emoji, such as families

+ function InputSymbol can now be used with a unicode string to insert one or more emoji

+ The UNICODE text writer now also writes the unicodes for symbols

+ Emoji Dialog now directly inserts the glyphs. (This mode is activated by $DEFINE DIRECT_IME)

 

*** WPTools 9.1.001 - 13.7.2019 ***

 

++ support for emoticons with skin tone modifier

++ support for Windows Insert Emoticon Dialog (Windows Keys + '.')

+ Load Emoji from DocX files

+ Save Emoji to DocX

* Improvements to position of IME Editor

++ Saving and loading of emoticons in RTF and HTML in compatible way

* update SymbolDialogEx - show much more emojis

* improvementto Emoji reading from RTF - detect more emojis

* improvement to SYMBOL writing - Emojis will now be saved as dual unicodes

- fix to unicode writing: write high unicodes as negative numbers

- ParentParentTable was called in CombineCellsVertHorz insetad of ParentTable

- fixed some references to System.ImageList (thanks to Delphi IDE to add it all the time)

- fixed problem with CombineCell procedure

- fix loading color from DocX styles (rgb instead og bgr)

- improved button display in case PNGImage was not loaded.

- fixed issue with Delphi 5 - compiler did not handle * command

- fixed an issue with C++Builder, use of reserved name for variable

* updated description on how to install in C++Builder

+ added C++Builder package project under "Demos/H) C++\Package" (see readme)

 

*** WPTools 9.1.000 - 9.7.2019 ***

 

A) General

 

* updated and revised manual

* new sample code

* many code improvements, stability and handling enhancements

 

B) Installation

 

* we gave up the separation in runtime (RT) and design time (DS) packages to simplify the installation

  because the dependency to the RT package caused some trouble in the past.

  If you work with a WPTools 8 package, you can compile it with WPTools 9. Just make sure the compiler symbol

  WP9 is defined.

 

B) GUI improvements

 

++ we provide all new glyphs are various resolutions and with the PRO version the SVG vector source

++ much enhanced WPImageList. It now also supportes vertical and horizontally arranged gylphs.

  Using the property editor (doubleclick) multiple files can be loaded into the Images collection.

  Also supported now are overlay rectangles for colors.

++ improved InsertSymbol dialog

* The WPTools property editor now also supports the dark

  style in the Delphi IDE ($define DARKTHEME in package options)

* Using the global variable WPDrawRectWithBitmap_bitmap the shading can be customized (BMP or PNG)

+ improved glyph drawing code for TWPToolButtons

+ ViewOptionsEx2: wpNoBlueRectsAroundHeaderFooterWhileEditing

+ ViewOptionsEx2: wpNoBlueRectsAroundTextboxWhileEditing

+ ViewOptionsEx2: wpPaintSymbolTextObjectsUsingD2D (for Emoji)

+ EditOptionsEx2: wpDontEnterHeaderOnClick

+ EditOptionsEx2: wpDontEnterFooterOnClick

- improvement of auto hyperlink creation

 

+++ included GLYPH files

 

C) API

+ TParagraph.SetText now returns the paragraph itself for nested assignments

+ TParagraph.Append (3 overloads) now return the paragraph itself for nested assignments

+ TParagraph.SetProperty(WPAT_Code: Byte; Value: Integer) : TParagraph;

+ function InputTextbox

+ GotoBody - to leave editing a layer, such as text box

+ new colspan parameter in TParagraph.AppendNewCell

      function TParagraph.AppendNewCell(DontCopyStyle: Boolean = FALSE;colspan:Integer = 1): TParagraph;

+ TWPRTFDataBlock.LoadFromString

* TWPRTFDataBlock.LoadFromStream now also has FormatString paramater

+ function GetSelStartEnd

 

+++ many improvements to make API more intuitive.

 

D) TableProducer

+ improved data access code

+ easier creation of template in code (for scripted creation)

+ new sample application

+ property AutoSelectEditMode in TWPBlockTemplateDB

 

E) SYMBOLS

+ support for chars>$FFFF

+ support for Emoji painting

+ improved HTML reading and writing

+ improved RTF reading and writing

++ function InputSymbol

 

F) Formatting

 

* Usually vertical alignment only works in cells which are not separated by a page break.

 Now vertical bottom alignment in table rows which span 2 pages is supported if the larger cell(s)

 are positioned left to the aligned cell and if the aligned cell only contains one paragraph.

 

+ FormatOptionsEx2: wpfAutomaticHeaderOnEachPage;

+ FormatOptionsEx2: wpfNeverLookForInheritedHeaderFooterInSections

+ TWPPagePropertyRange: wpraOnGivenPageNr

 

- Improvement in selection inherited section header/footer

 
 

G) Property Grids

++ AppendPropertyGrid

++ AppendPropertyRow

++ checkbox inplace editors

 

H) Compatibility enhancements

 

+ copy HTML format to clipboard - this makes it possible to paste formatted text inside Chrome

  Requires activation in property ClipboardOptions: wpcoAlsoCopyHTML

+ RTF reader converts many Emoji codes to Symbols

* the HTML reader now reads 'target' property of links

* improved compatibility when saving RTF with nested tables

* improved RTF reading when loading section properties

 
 

**** CHANGED BEHAVIOUR ****

 

* TWPToolBar.DrawOptions now defaults to [wptPaintThemed]

 

* TParagraph.ParentParentTable returns nil if not in a nested table

 

* SelectionAsString does not modify DefaultFont anymore

 

* Clicks on TextObjects are ignored if they are inside a hyperlink and

 OneClickHyperlink = true and object selection was not activated in EditOptions

 

* InsertGraphic sets the property StreamName if InsertLink=true. (Previously this property was set to

  '' if the image could be loaded right away with the OnRequestImage event)

 

* ViewOptionsEx - wppNoBlueRectsAroundFootnotesWhileEditing now only works for footnotes as intended.

 

* when loading RTF with nested table empty paragraphs after a nested table will be ignored

 (can be switched off with $define DONT_IGNORE_PAR_AFTER_NESTED_TABLE)