Version 4.8 Delphi 12 support. New htide unit - installed Delphi versions, Library paths, PAS and DCU parsing, etc. New demo (/Sample Projects/graph) - Unit dependency viewer. Video: https://youtu.be/ec0pOy2uY4w Compiled demo: https://delphihtmlcomponents.com/graph.zip Cairo canvas support on Linux and Windows for Delphi and Lazarus. Canvas supports precise text rendering so PDF and other documents converted by HTML Office library now can be properly displayed on Linux. PDF export on Linux via Cairo. Reports library now supports Lazarus Big upgrade of SQL framework: perform SQL queries on CSV and text files, JSON, XML, Excel, Outlook, SQL scripts and other sources. Video: https://www.youtube.com/watch?v=IzV9jZe6ksQ Compiled demo: https://delphihtmlcomponents.com/sqltest.zip Manual: https://delphihtmlcomponents.com/sql/ What it can do: * Convert to/from CSV, JSON, XML, HTML, Excel, SQL script. * Upload files/objects to database * Export data from database * Check data consistency * Display data/objects in DB-aware controls, HtPanel, StringGrid, VirtualTreeview, ControlList * Extend database capabilities (f.e. use Pivot in Firebird). * Serialize and deserialize objects * Reduce calls to REST server by using already loaded data. Supported data sources: * CSV file * JSON file * JSON string * XML file * HTML file * Text file with fixed size fields * SQL script * ZIP archive * XLS/XLSX Excel sheet (requires HTML Office Library). * Outlook PST/OST file (requires HTML Office Library). * TList * TObjectList * Any class with IEnumerable or GetEnumerator support * TDataset * array of T * SQL Query Custom sources can be added by implementing IDMDatasource interface. Supported dialects: * SQL 92 * Oracle * MS SQL Server * Firebird * MySQL * PostrgesSQL * SQLite * ElevateDB Result can be exported to * CSV * XML * JSON * SQL script * TDataset * TStringList * TObjectList * SQL table * HTML (plain table or using template) * Array of variant * Binary file * or any other format, using custom processing of result data. Version 4.7 Core Precise text rendering and measurement on all windows canvases: now text has the same layouot in GDI, GDI+, DX and Skia canvases on screen and printer and doesn't depend on scaling. Skia canvas for VCL. PDF export using Skia canvas - works from any canvas, not only Skia OpenGL canvas - useful for fast rendering of very large SVG (don't use as default canvas - it requires window handle). GDI canvas: improved graphics rendering speed. CSS var() support. function htmlpars.GetHTMLEncoding - determine codepage of HTML (TBytes). function for converting stylesheet to dark theme - TCSSStyleSheet.LighttoDark Support for UTF8 encoded inline SVG images. Optimized SVG paths seialization (smaller size) Optimized drawing of large SVG Support for individual glyph positioning in SVG text (DX attribute). THtCustomPath: CurveTo record now do not have initial point, all curves are defined by 3 points. HtPanel/Editor: support for horizontal mouse wheel HtPanel/Editor: Smooth scrolling in both direction HtPanel/Editor: Fast zoom in / zoom out in OpenGL canvas. Library now contains fastest native blur implementation (10-50 times faster than other). See htcanvas.FastBlur() Fast Base64Encode function (5-10 times faster than standard): htutils.Base64EncodeNoLF() THtBitmapData bitness conversion and masking methods are optimized using SIMD, f.e. Convert24to32. TSVGElement has GetStats methods for retrieving number of primitives, points, etc. Added support for system colors from CSS 4 color module: canvas, canvastext, field, fieldtext, etc. Bitmap images are now supported in GDI+, DX and Skia canvases. FontAwesome is upgraded to version 6.4. Now it contains regular (fa) and solid (fa-solid) icons. Support for CSS variables. Optimized displaying of documents containing many SVG images - like converted PDF documents (2000+ pages). Support for outlined and filled text (SVG). Support for relative image paths ('.\..') Improved flexbox layout. THtImageConverter now have CanvasClass propery - used in HTMLtoPNG conversion. HtPanel: OnScroll event New core classes documentation - /docs/HTML Library.chm/pdf Editor Words suggestions/prediction while typing - see Words prediction section in Editor manual. New icons in context toolbar. Context and selection toolbars has acrylic background. All toolbars (selection, spellcheck) can be closed by pressing Esc. Add/edit image button in context toolbar Copy image button in selection toolbar Print preview button in context toolbar Add Symbol button in context toolbar. Spellcheck button in context toolbar. Windows ISpell implementation - htspellwin unit. Simply add it to uses list for spellcheking and word correction. Inline word correction - click on misspelled word to see suggestions. Windows spellecher is also used for autocorrection, suggection selection is based on Levenshtein distance. Cancelled autocorrections are remembered - words are added to exceptions list. Inline image cropping - use shift + resize handles Reports New preview window for VCL and FMX (OSX, Linux) - float toolbar, smooth scroll and zoom, page selection and reorder, text search, text editing and moving. Preview window store its maximized/normal state and position for normal state even when maximized. Scripter Support for var parameters of all types. Fixed repeat - until bug. Default indexed properties now workind for object proprties, f.e. property Strings: TStringList; Obj.Strings[i] := 'test'; Script can have own debugger instance Version 4.6 Core 1. Faster parsing and style calculation 2. SAX XML parser class with special text extration mode. 3. THtLabel now allows text change in click events. 4. CSS serialization (modified CSS StyleSheet can be saved back) 5. Direct PDF export on all platforms including Linux (when using Office library) 6. Document sections (custom header, footer, page size and orientation for each section). 7. Support for different page sizes in print preview (each page can have own size) 8. System theme colors support (Windows, OSX), f.e. background: window) with ability to use custom theme color callback. 9. Converting HTML to paged payout SVG (print preview can be viewed from browser) 10. Zoom from Cursor mode in HtPanel/Editor. 11. New TElement.InsertHTML method. 12. CSS outline propety support. 13. CSS focus-within pseudoclass support. 14. CSS marker pseudoclass support. 15. CSS list-style-position property. 16. Added w-resize and h-resize for CSS cursor. 17. THtDocument now can be used from threads (Special parameter in constructor for use separate font collection). 18. Workaround for FMX bug: rectangle and rounded rectangle with large pen width incorrectly drawn on Android. 19. New HtPanel properties: MinScale, MaxScale Editor 1. Support for style attribute inside MathML elements. 2. New editor option: eoDisableBlockJoinOnPaste - do not join pasted blocks with current 3. New editor option: eoPasteTextBlockAsPara - convert text blocks divided by blank lines to para. 4. eoClearPastedFormatting now removes span elements wuthout attributes. 5. New editor method: PasteTextfromClipboard - paste plain text only. Reports and Scripts 1. Chart now supports style attribute in chart element. 2. Reports library now supports Lazarus (including print preview) 3. Scripter: support for calling chained indexed properties, f.e. Obj[i][k]. Fixed: 1. GDI canvas drawing issues. 2. text-decoration:inherit 3. Issue in RTF import: missed symbols after unicode symbols. 4. Editor body position is changed after using text/background color combo. 5. Spaces after escaped symbols in CSS was not ignored 6. AV in editor after adding table column 7. More than 100 minor issues. Version 4.5 Whats's new 1. RAD Studio 11 Alexandria support. 2. New THtMarkdownPanel component for displaying Markdown documents. 3. Improved Markdown support (tables, links, etc.) 4. Improved rending or large SVG images 5. Improved Flex support. 6. Improved handling of incorrect markup (tag order). 7. Added THtPanel.OnShowResizeHint event. 8. Added THtDocument.EmbedAllImages method for embedding images into document. 9. Added THtPanel.Script property for storing common scripts. 10. Added PrintScale parameter to Print method for scaling pages. 11. Added SplitBlocktoRoot method for splitting nested blocks (f.e. citation in emails). 12. Support for disablet attribute in inputs. 13. Added HighlightCheckedNodes property in THtVirtualXMLTree. 14. Improved scrolling of page with many input controls. 15. Added PNG encoding of pasted images for FMX. 16. New Editor event OnSurrogatePair. This event is called on second (low surrogate) char and when it returns true, default char processing is skipped. 17. SVG: added support for preserveAspectRatio with values none, meet and slice. 18. Faster rendering of large break-all blocks. 19. Support for type="number" in inputs. 20. Added Remove method to JQuery. 21. Addes support for attr!=value selector 22. Added support for summary and details elements. 23. DOCX to HTML conversion is now supported in Delphi 5 - 7. Fixed. 1. Activating editor context toolbar makes editor black. 2. Incorrect shadow rendering 3. Mouse handling in SVG elements. 4. Text color is not applied to links. 5. AV in FastReport component. 6. Flow index out of range error. 7. Handling of relative image paths (../) 8. Rendering of def elements. 9. Access to record fields in script. 10. PDF export on Android. 11. Text shadow in FMX. 12. List index out of bound when drawing table. 13. Passing char parameters to script functions. 14. Tabstop was enabled for embedded scrollbars. 15. Incorrect caret position when clicking at left of text. 16. Automatic list numbering. 17. Various DPI issues. 18. Incorerct table width in some cases. 19. Select control get out of sync when scrolling document. 20. nbsp is encoded in numeric format. 21. Incorrect list mark position when using padding for list item. 22. Incorrect positon of SVG inside flex container. 23. Handling of line breaks inside textarea. 24. Spellchecking now allows apostrophes and numbers inside word 25. Triple click for selecting para. 26. Emoji input on iOS. 27. Some fonts (like Futura) was not visible in GDI, GDI+ canvaces. 28. DX canvas not work on Windows Server 2008 before R2. 29. Font size set in vw units is not updated on resiz. 30. @page is not handled when located inside @media print section. 31. Line-through is not printed in PDF. 32. EOutOfResources when printing lagrge block with shadow. 33. Incorrect scrollbars position in block with paddings 34. Support of custom fonts in GDI+ 35. Nested CSS counters not work as expected. 36. Pasting of some bitmaps (f.e. created by Windows Snipping Tool) failed. 37. Ligatures do not works in DX canvas. 38. Embedded SVG+XML image causes AV. 39. Table add combo shows blank drop down. Version 4.4 Core 1. Flex support. Supported properties: display: flex flex-direction justify-content align-items align-self flex-basis flex-grow flex-shrink flex-wrap flex 2. CSS letter-spacing support for FMX/Windows canvas. 3. FontAwesome is upgraded to version 5.6. 4. CSS only-of-type pseudoclass sypport. 5. CSS clip-path support. 6. CSS break-after support. 7. Custom fonts support for FMX canvas (Windows and Linux). 8. Special class for registering CSS extensions (f.e hints, fontawesome): TCSSExtension. Extension is registered using set of key classes which triggers using of this extension when found in document. 9. Faster shadows in DX and FMX canvaces. 10. Faster text rendering on FMX/Windows canvas. 11. Faster elements resize. 12. Smooth scolling of FMX Panel/Editor. 13. New global canvas class selector: HtUIDefaultCanvasClass: used by UI controls (Checkbox, Radio, Button, Listbox, etc.). By default is set to GDI. 14. HTML rendering (THtDocument.Draw) can now be used in threads. Use second parameter in constructor. 15. Added workaround for bug in VMWare v.16 which leads to blue screen when using DX canvas. https://communities.vmware.com/t5/VMware-Workstation-Pro/Accelerate-3d-Graphics-causing-VMWare-to-hang-freeze-When/td-p/2314398 16. Faster rendering on DX canvas. 17. FMX.HtPanel.ScreenshotMode property for faster UI transitions. 18. Improved text rendering on GDI canvas. 19. HtMetafile class for all platforms with ability to save/load from stream/file. 20. Support for WOFF fonts (when using Office library). 21. QuirksModeSelector property: force quirks mode or doctype mode for document. Editor 1. Improved RTF and DOCX import. 2. FMX: speedbutton descendants with editor actions - TextStyle, TextCase, Equation, Columns, FormatPainter, Footnote. (fmx.hteditbuttons unit). 3. Support for pasting EMF/WMF as SVG on all platforms (when using Office library). Reports/SQL 1. SQLite support in SQL library. Version 4.3 New New context sensitive toolbar at editor bottom (eoContextToolbar option). Image selection toolbar. New image resize handles Subscript and superscript actions for selection and context toolbars. Link action for selection and context toolbars. Wider Edit link dialog, + Target field. 40% faster style and layout calculation Support for inlined truetype fonts (@font-face... data:font/truetype;base64) Support for CSS tab-stop decimal CSS tab-interval property CSS word-spacing property CSS letter-spacing property (DX canvas) Improved RTF import RTF is set as preffered format when pasting from clipboard Linux: support for copy/paste formatted HTML and paste RTF Selection toolbar font list is now expandable. Blended selection Magnifier when selecting text on Android and iOS Improved IME handling on Android Improved image resizing on mobiles Improved text selection on mobiles Added autodetection of file:// links Added eoPasteTextAsPara property to Editor.Options Checkboxes support in DOCX import. Local links navigation (Click in HtPanel, Ctrl+Click in Editor) Advanced charts (gradients and more: see Charts 2 section in Reports demo). THtMetroItem: added CustomHTML property (rendered after description). Improved drawing of table cells spanned across several pages. Fixed Core MathML elements do not use style color. CSS attribute selectors works incorrectly Baclground is clipped when using native Android canvas Inline images vertical align sometimes is incorrect FMX: incorrect text measurement in Delphi 10.4 Incorrect behavior of THtLabel.Autosize property DX canvas: better compatibility when using from DLL/BPL Font color is ignored in SVG text CSS calc() leads to AV Incorrect elements positions when using native iOS canvas. AV when using margin:0% Image with 100% widh inside table has incorrent size. Embedded control size is not changes on resizing Layer is already pushed error when using DX canvas Range check error when setting image index to -1 for HtMetroPanel Blurry images when using DX canvas Lineheigth is applied incorrectly to list items BackgroundSize is calculated incorrectly Improved float blocks layout on paged media Improved stacking context / z-index handling. Editor Selection toolbar is not shown on secong monitor. FMX: caret is not visible when using black theme and transparent background Text style is applied to br elements when using soft breaks Text style changed before typing is not applied on mobiles Incorrect position of add column marks for right aligned table Reports OnGetParam is not called in charts Fastreport FMX: error when printing Scripts FreeandNil do not destroy object immediately Email Incorrect parsing of multiple attachments Version 4.1 New Core Completely new CSS subsystem - faster and less memory. MathML support. Compatibility with Lazarus 2+. FMX: Hints support. Animated GIFs for FMX (all platforms) and VCL Delphi 5+. CSS columns support. CSS tabs support. Improved recovering of incorrect tag order. Added :only-of-type selector DX canvas: added support for rotated arcs in paths. THtImageListSource now works with ImageList on data module. Editor Format painter button. Clear formatting button. Columns button Math equation editor. Adding ability to combine two adjacent lists by pressing Del DOCX import: added support for math equations. Footnotes Reports/SQL FastReport FMX component ReportBuilder component SQL: ConvertWheretoJoins now can reorder tables. Compatibility with VTV 6.7 Fixed Core Value none was processed incorrectly for max-width/max-height Incorrect document position when using native iOS canvas and non-zero offset. Incorrect processing of multiple fonts in font-family. Incorrect layout when absolute element has inline containing block. SVG: correct processing path 'a' command with sibling flags with no divider. GDI canvas issue when SVG use clip path. FMX: fixed SVG elements position when using viewbox Vertical placement of inline blocks Artifacts when using native Android canvas on some resolutions. Editor DOCX import: fixed superscript style 'Pop from empty editor stack' error. AV when deleting selection Eempty list item cannot be deleted. Style is not applied to selected cells when selection is reverced (from bottom to top) Delimiter is added to first word causing incorrect spell checking AV when pressing space at endf of line after changing text style Selection is incorrect after applying text transform Reports/Scripter Scripter: AV when registering class having same name as record helper. Scripter: incorrect call to parent method when using inherited property. Wrong target in script drag events. FastReport: HTML is exported to PDF as image Version 4.0 What's new HCL/Core Much faster drawing, style calculation and text selection, especially for very large documents New THtDocument.FormattedHTML method. Improved CSS animations support. Improved lines/borders rendering on HDPI screens and scaled documents. Improved text rendering on GDI+ canvas. Added SourceURL to HTML clipboard header Added THtDocument.SavetoStreamANSIEncoded. Workaround for Windows/OSX bug with double quote symbol in Times/italic fonts. Infinite support for CSS animations All image lists now changed to TCustomImageList to support VirtualImageList. New THtDocument.ConvertAttributestoStyle method for converting HTML attributes into inline CSS style. Added CSS text-decoration-style property Added CSS cursor: help Added SVG stroke-linejoin and stroke-linecap support. Incorrect font size values are now ignored Added column width parameter to InsertCol Improved quirks/normal mode support Editor Much faster text selection, caret positioning and text input New customizable selection toolbar (popup) for both VCL and FMX Improved RTF import Improved print preview window scrolling and zoom Added Active=false mode for fast editing of very large documents (1000+ pages) Better support for pasting HTML from clipboard in non-unicode Delphi Added RTF pasting from clipboard when HTML is not available. Added OnPrepareImage param to DocXtoHTML and RTFStringtoHTML Added support for WMF-JPEG conversion on RTF/DOCX import for Delphi 7-2009 New OnURLDetected event - fired when URL is detected in document. New eoEnterSoftBreak option for swapping Enter and Shift+Enter behavior. Improved Outlook compatibility. New eoHighlightCurrentBlock and eoShowSelectionToolbar options. Reports Added startangle parameter for pie charts Added direction="cw/ccw" parameter for pie charts Reports: added x-order attribute for arranging x-values in stacked charts. Email Email library now available for all platforms. Added SelectFolder method for selecting IMAP folders. Scripter Added FreeandNil procedure Calling Free() for object variable will clear variable. Script: added record helpers from IOUtils unit: TDirectory, TFile, TPath. SQL SELECT INTO support. New TSQLInsertQuery, TSQLUpdateQuery classes. DECODE column now returns correct data type based on values. WITH .. AS support for Oracle dialect. Support for PIVOT operator Added HasFetchLimit and FetchLimit functions. Support for ElevateDB SQL dialect New ConvertWheretoJoins method Fixed HCL/Core AV on empty SVG element. Exception ETFontGlyphManagerException on Linux platform (FMXLinix). C++ Builder IDE error when creating implementation for OnPrepareImageEx event (containing TArray) Fixed z-order for absolute :after element Applying CSS background-image: none do not reset image. Fixed scrollbars issues on High DPI Percent values not work for transform: translate List index out of bounds for some tables when generating paged layout. AV on print/preview when using clip path. Table border is not drawn on paged media when cell is empty. Last line is not visible when using overlow-x without overflow-y. Control elements has incorrect height after creation D2DERR_WRONG_RESOURCE_DOMAIN error. Range check error when mouse is out of panel/editor. Incorrect page size when using on HDPI screens and page size is set explicitly. AV in SVG file with empty text Visual artefacts for borders with large radius Fixed THtDocument.SavetoStream method. HtHints: hint is activated when hovering hidden hint. Fixed SVG viewbox issue. Fixed HDPI issues in ListBox and HtVirtualTreeView SVG path opacity issues. Matrix calculation in iOS native canvas Unknown CSS @ sections now skipped Borders with large radius Editor Caret is in undefined position after Ctrl+End Del works for non-editable (contentediable:false) blocks. Fixed import RTF documents in Korean language. Alignment not applied to nested blocks Range check when moving image AV on spellchecking Reports Range check error in QRCode generator. Incorrect position of page count label in print preview Scripter Ansi string parameter is converted to unicode before passing. Version 3.9 HCL/Core Added support for TVirtualImageList Improved rendeing of images and text (align to pixel) HtPanel: added AllowScaling property. SVG: added support for "use" element. Added support for external SVG images Improved RTL support Automatic detection of RTL blocks Virtual image source for image lists on other forms, f.e. src="_forms/DataModule1/ImageList2/5" Improved emoji symbols support for VCL and FMX. Improved resize hint Added TCSSStyleSheet.GetAllClasses/GetAllIds Improved SVG rendering Added OnElementEnter/Exit event for HtPanel Added THtDocument.LoadfromStream Added THtDocument.ElementsFromPoint method returning all elements located at specified point. Empty attributes with no value now preserves their format Added support for ForeignObject tag which allows use of HTML blocks inside SVG. FMX: improved text baseline calculation Scripter: added support for list of values in case statement: case a of 1,2,3: Editor/Reports Fast Report component with visual editor and page split support (included in bundle). Added TDBHTMLEditor.UseOuterHTML property Added TDBHTMLEditor.NewDocumentTemplate Editor:Column widths are not preserved when copy/paste part of a table SQL Optimized schema loading queries for Oracle. Added TSQLSelectQuery.ChangeRowLimit class function. Added TSQLSelectQuery.AddJoin function Fixed HTML entities are not encoded on serialization HTML copy/paste support for OSX and iOS Incorrect rendering when table row has different rowspans Inline table has wrong position SVG with 100% width and height has incorrect size Page divider is not shown for tables with page-break-before: always Block inside RTL block has wrong position Page number is truncated non-existed external font file leads to error. p should be splited when adding table into it. Cast error when selection contains part of a table noscript tag breaks head section S-curves parsing in SVG Reports: fixed Invalid cursor position error when using MS SQL Server. HighDPI fixes for controls Version 3.8 What's new HCL/Core RAD Studio 10.3 Rio support. DX canvas is now supported for all Delphi versions from 7 and for Lazarus. Added THtPanel.LoadfromResource method Added virtual image source for resources, example: TagObject is passed to print document when calling HtPanel.Print Added support for latest SynPDF versions Added support for images defined in CSS content property. Shadow implementation using DirectX filter. Added inset shadows support Identical images included only once in PDF Imroved compatibility with DevEx toolbars Added THtDocument.SavetoLocalFile: save document including external stylesheets and images to local drive Added THtDocument.LastPageHeight - returning height of last page. DX canvas is added into packages. Scripter: added support for exit(Result) Scripter: Added object parameter class checking when calling methods Scripter: added AddWatchExpression and ClearWatch into debigger frame Scripter: translation to JS Editor RTF import is completely rewritten. Added HeaderRows parameter into Editor.AddTable method. Reports Resizable charts Interactive charts: change type, 3d, stack, labels, selected series via GUI. QR Codes support Bubble charts Added backdground attribute into DATAPACKET field Added HSBtoRGBColor script function. Added stack support for line series. Mail: added method to automatically attach all embedded and external images to email: function THtMailMessage.AddHTMLPart(const HTML: string; AttachEmbeddedImages: boolean = false; AttachExternalImages: boolean = false; RefDocument: THtDocument = nil): integer; SQL Added IsParentCorrelated and IsSelfCorrelated functions Added error for queres having aggregate and correlated columns but no GROUP BY Added TSQLSelectQuery.ReplaceFrom method for replacing whole from section. Fixed HCL/Core HtPanel: hint is not reset on reload In non-unicode Delphi and ANSI mode entities like € are not displayed correctly FMX: fixed incorrect vertical postition for some fonts. Fixed incorrect line height calculation FMX: Stack overflow when using AutoHeight. font size="+2" causes very small font International characters in CSS class name. Text inside control element was displayed. Comment between body and first para breaks margin collapsing SVG: fixed Hittest for circle and text elements. GIF rendering in DX canvas SVG: Hit test for non-filled objects Table rendering with fixed layout vertical-align for inline images. RoundRect in GDI+ canvas. Lazarus: unicode support Scripter: Error when calling object methods returning string in x64 mode. Scripter: fixed method calling with ansi string parameters Scripter: fixed issue with constant values between MaxInt and MaxDWord treated as Int64 insteadt of cardinal Editor Command+ combination not work in OSX Images can be moved in readonly mode Setting font size in editor using percent units. Error when deleting last row in table Reports Wrong margins in page setup dialog Version 3.7 What's new in version 3.7 Core New layout engine with fast nested tables calculation. Full text alignment (text-align: justify) Internal support for RTL lanuages (VCL/FMX) Lazarus support (Windows, Linux) Support for text-decoration-color and text-decoration-line CSS first-of-type pseudo selector CSS transform: rotate-x CSS pointer-events property. Fixed: incorrect attribute value when attibute ends with / and is not quoted. HtPanel: added PreservePositionOnHTMLChange property Native OSX canvas: fast and precise text rendering, animated GIFs UTF32 (emoji) symbols support in HTML UTF32 (emoji) symbols support in CSS VCL: Fixed THtPanel horizontal scrollbar issue. VCL: Fixed print/print preview text distortion in remote desktop sessions. Incorrect curves drawing in SVG FMX: Incorrect scale when saving to PDF in OSX. SVG: boorder is not visible for rounded rectangle Support for colored symbols (emojis) in DirectX canvas. Added imageindex attribute to HTML popup menu items. Fixed issue with "Component named .. already exists" when using named popup menu items Fixed "No color table defined" error for GIF images in GDI canvas. FMX: HCL components inside rotated layouyt has incorrect clipping. VCL: incorrect horizontal scrollbar position in overflow elements in non-HDPI applicaion running on HDPI screen. SVG: added stroke-dasharray and stroke-dashoffset properties. Images not loaded from sites with incorrect or missing SSL sertificates. NBSP was replaced with space when copying to clipboard. PDF export now supports links and anchors (DirectX and OSX canvases). New pring preview subsystem not based on metafiles (DX and OSX canvases). Editor Wavy lines on mispelled words. DevExpress spellchecker support. FMXLinix: GetFontList returns empty list. Current style is applied to last line only when Enter is pressed several times Non-breaking space added to empty para by editor is now invisible. VCL: Pages in print preview has incorrect size in non-HDPI applicaion running on HDPI screen. Support for (free) Hunspell spellchecker Fixed: HtLabel not affected by font changing VCL: Added Replace dialog. VCL: WM_SETFOCUS/WM_KILLFOCUS was not processed correctly. CSS contenteditable property Reports Fixed issue with parent context in templates {{..parentcontextvar}} Added format for template variables {{STARTDATE(dd.mm.yyyy)}} Scripter Remote script debugger Comment prior to function declaration stored as function description. Local variables of widestring type was not initialized. Consecutive chars (#13#10) causes compilation error. Cannot assign nil to event property. Error when calling function having more than 16 parameters. Version 3.63 Major 1. FMXLinux support for HCL, Editor and Reports http://fmxlinux.com/tlist.html 2. DirectX canvas (VCL). 3. Native iOS canvas 4. Export to PDF on iOS 5. New VCL controls - THtSpeedButton,THtPopupMenu, THtComboListBox. 6. Print preview frame for Delphi 6 - 2010. 7. Print preview frame for FMX. All/Core 1. Added .selected class to ThListBox selected item so now style for elements inside selected item can be defined separately: 2. Improved parsing and style calculation speed (espetially for Delphi 5 - 2010) by using new dictionaries class. 3. Custom color conversion event - f.e. document can be displayed in B/W colors. 4. Added THtDocument.AllImagesLoaded function 5. Added THtPanel.OnAfterImageLoaded event 6. Added THtPanel.OnImageLoadFailed event 7. Added THtPanel.SetDPI method. 8. Added THtDocument.AfterControlCreated event 9. Added Emoji support for FMX canvas 10. Various enhancement in SVG support 11. Added FMX.THtPanel.ScrollY method. 12. Added support for enumeration properties in element. 13. Changed embedded control propeties now are saved when using InnerHTML/OuterHTML 14. Added codepage into THtDocument.SaveFileAnsi method. 15. Added THtDocument.SavetoFileANSIEncoded (all unicode symbols are saved in &#... format). 16. Added support for nested SVG images 17. Added THtListBox.OnGetImage event 18. Improved @media queries support. 19. List items now converted into plain text with "* " 20. Added support for body leftmargin, topmargin, marginwidth, marginheight attributes. 21. Improved support for incorrect tag order. F.e. now now is treated as 22. Better customization of input (edit) element on FMX via CSS - background, border. 23. Added TElement.Focus method - set focus to element. Editor 1. Better HighDPI support for Editor controls (ColorCombo, AddTableCombo, BorderCombo, TableBorderCombo) 2. Added OnKeyUp event. 3. Added TDOCXConverter.ParseStream / ConvertStream methods. 4. Added TRTFParser.OnPrepareImage event for converting not-HTML images (like WMF) 5. Improved RTF import. 6. Added THtTemplateStorage.Clear method. 7. Column width is displayed while resizing table column. 8. THtTableDeleteRow now can delete sevral (selected) rows Reports 1. DATAPACKET now can have several DETAIL packets 2. Added required and required-message attributes to report objects for checking that required parameters was passed to report. 3. Templates are now processed before datapackets, this allows using datapackets inside sections for master-detail relation. Example: {{#customers}} .... where cust_id={{CUST_ID}} {{/customers}} 4. New template functions = formatmoney, formatdate, eq Reports/Charts 1. Added minx, maxx, miny, maxy Series attributes 2. Added reverse-x reverse-y Series attibutes for reversing axes direction. 3. Added Series order attribute for arranging series values. 4. Added SQL filter attribute for filtering series values. 5. Added Series maxcount attribute to limit series values count. Scripter 1. Added "unit/uses" support 2. Added typed array support (f.e. a: array of integer) in function/method parameters. 3. Added typed array support in variable declaration. 4. Added record support for field/property/method result 5. Added soAutoFreeComponents to Script.Options 6. Generic handlers can process properties and class methods including constructor 7. New function registered with the same name replaces previous. 8. Added function call stack for debugging or getting current function name in magic function. 9. Significant speed improvement when calling methods via RTTI 10. Added support for widestring type. 11. Added support for variant type parameters. 12. Added support for "set of" parameters. 13. Added typecast for classes - TSomeClass(SomeExpression) 14. Added ExceptionStack property - call stack when exception was raised. 15. Added support for exception re-raising inside except end block. Bugfixes All/Core 1. HighDPI support for installer 2. Document.Surface.G.GetFont sometimes return nil when using GDI+ canvas. 3. Memory leak in THtImage 4. Issue with documents containing lot of nested tables (>20) 5. AdaptiveZoom not work as expected on mobiles 6. Memory leak in TIFrameElement.LoadImage 7. Non-escaped & in attibute breaks layout. 8. Missed # before hex color causes overflow error. 9. Table cell align attribute affects text align of nested elements. 10. CSS background center position. 11. Wrong meta tag content when using OuterHTML 12. TableElement.InsertRow doesn't work for first row 13. Range check when CSS color contains spaces, f.e. border-color: LightGrey Light Grey Grey Grey 14. AV when installing packages into Delphi 6. 15. overflow-x scrollbar has incorrect width. 16. Changes to THtLabel font are not displayed immediately. 17. Abstract Error in Delphi 6. 18. Delphi 5-2007 in WIDESTRINGS mode: backspace works incorrectly when deleting unicode symbols. 19. Delphi 5-2007 in WIDESTRINGS mode: Unicode text is copied to clipboard as ANSI 20. FMX: AV when HtPanel/Editor is placed on tab with transition effect. 21. Chinese text is copied into clipboard incorrectly 22. 'initial' value support for CSS line-height propeprty 23. CSS word-break: break-all support for chinese text. 24. SaveFileAnsi not preserve original codepage. 25. HTML Title located before charset is decoded incorrectly. 26. Event proparation is not stopped (unlike browsers do) when clicking link ( element) 27. SetAttribute('class') not triggers StyleChanged method. 28. TTableElement.AsCSV - values contains spaces before numbers and are treated as text by Excel. 29. Table columns are resized after first repaint. 30. GDI canvas: some unicode symbols are dislayed incorrectly. 31. Incorrect table border size in print preview when using GDI canvas 32. Printing is not cancelled when print driver displays dialog (f.e. XPS) and user press cancel. 33. Dynamically created HtListBox not works as expected. 34. Text is displayed with ellipsis even whent there is enough space 35. GDI canvas - text is displayed at incorrect position after zoom 36. Table with colgroup has incorrect column widths at first paint. 37. Table header is shifted in print preview when using GDI+ canvas. 38. Table with border="1" attribute has border around table. 39. FMX/NextGen: textarea is not destroyed with HtPanmel/Editor 40. DoGetUrl has checks for ':' on iOS/Android platforms. 41. FiletoStr not work correctly on NEXTGEN platforms. 42. FMX: Setting value for input element has no effect when calling before first paing. 43. Artefacts (pixelization) when scrolling zoomed panel. 44. CSS zoom works incorrect when using percents. Editor 1. Cut/Copy not work as expected on Android 2. "Auto" not works in editor color dialog. 3. Some editor actions are not disabled when editor is in read-only mode 4. THtDBHtmlEditor - caret jumps to start when pressing key in editor which is in browse mode. 5. On iOS keyboard is shown after zoom 6. Caret not placed correctly after zoom. 7. FMX/OSX pasted image is not shown. 8. FMX/OSX setting Editor.WantTabs leads to catching all form Tab events. 9. FMX: Selection is cleared when editor get focus. 10. Ctrl+C is catched by unfocused editor 11. Text after a table jumps iside the table after pressing DEL button at the end 12. Pressing , , un-bold the text 13. THtFileOpen action doesn't trigger edit mode for dataset linked to TDBHtmlEditor 14. AV in TDBHtmlEditor.BeginEditing when editor is created at runtime 15. FMX: Shift+enter moves cursor down, but after typing it is moved up. 16. Space is removed at line end after applying text style (f.e. bold) 17. Converting text inside table cell into list works incorrectly 18. AV on HtAddictCheckEditor 19. Various issues when Editor is used inside DLL 20. FMX: AV when entering text after "select all" 21. Undo not working for first word autocapitalization 22. On Delphi 2007-2010 + Polish keyboard layout, AltGR + 2 set header level instead of displaying @ symbol, becase of bug in VCL IsAltGRPressed function. 23. FMX AV when editor is destroyed. 24. FMX memory leak (TCaret). 25. AV when deleting selection which contans table and text below/above 26. TDOCXConverter - images with relative path ('../') are not processed. 27. Setting WordCorrection to false doesn't affect first word capitalization. 28. FMX/Android: On GBoard keyboard enter not works as expected. Reports 1. Images sometimes are encoded incorrectly into base64 format. 2. 3d value is ignored by pie chart 3. Axes names not shown for single series. Scripter 1. Invalid class typecast on iOS simulator. 2. Invalid class typecast in NextGen when calling methods returning object via Objectnvoke (possible bug in RTL) 3. Declaration of several variables of the same type causes error. Version 3.62 Major 1. FMXLinux support for HCL, Editor and Reports http://fmxlinux.com/tlist.html 2. DirectX canvas (VCL). 3. Native iOS canvas 4. Export to PDF on iOS 5. New VCL controls - THtSpeedButton,THtPopupMenu, THtComboListBox. 6. Print preview frame for Delphi 6 - 2010. 7. Print preview frame for FMX. All/Core 1. Added .selected class to ThListBox selected item so now style for elements inside selected item can be defined separately: 2. Improved parsing and style calculation speed (espetially for Delphi 5 - 2010) by using new dictionaries class. 3. Custom color conversion event - f.e. document can be displayed in B/W colors. 4. Added THtDocument.AllImagesLoaded function 5. Added THtPanel.OnAfterImageLoaded event 6. Added THtPanel.OnImageLoadFailed event 7. Added THtPanel.SetDPI method. 8. Added THtDocument.AfterControlCreated event 9. Added Emoji support for FMX canvas 10. Various enhancement in SVG support 11. Added FMX.THtPanel.ScrollY method. 12. Added support for enumeration properties in element. 13. Changed embedded control propeties now are saved when using InnerHTML/OuterHTML 14. Added codepage into THtDocument.SaveFileAnsi method. 15. Added THtDocument.SavetoFileANSIEncoded (all unicode symbols are saved in &#... format). 16. Added support for nested SVG images 17. Added THtListBox.OnGetImage event 18. Improved @media queries support. 19. List items now converted into plain text with "* " 20. Added support for body leftmargin, topmargin, marginwidth, marginheight attributes. 21. Improved support for incorrect tag order. F.e. now now is treated as 22. Better customization of input (edit) element on FMX via CSS - background, border. 23. Added TElement.Focus method - set focus to element. Editor 1. Better HighDPI support for Editor controls (ColorCombo, AddTableCombo, BorderCombo, TableBorderCombo) 2. Added OnKeyUp event. 3. Added TDOCXConverter.ParseStream / ConvertStream methods. 4. Added TRTFParser.OnPrepareImage event for converting not-HTML images (like WMF) 5. Improved RTF import. 6. Added THtTemplateStorage.Clear method. 7. Column width is displayed while resizing table column. 8. THtTableDeleteRow now can delete sevral (selected) rows Reports 1. DATAPACKET now can have several DETAIL packets 2. Added required and required-message attributes to report objects for checking that required parameters was passed to report. 3. Templates are now processed before datapackets, this allows using datapackets inside sections for master-detail relation. Example: {{#customers}} .... where cust_id={{CUST_ID}} {{/customers}} 4. New template functions = formatmoney, formatdate, eq Reports/Charts 1. Added minx, maxx, miny, maxy Series attributes 2. Added reverse-x reverse-y Series attibutes for reversing axes direction. 3. Added Series order attribute for arranging series values. 4. Added SQL filter attribute for filtering series values. 5. Added Series maxcount attribute to limit series values count. Scripter 1. Added "unit/uses" support 2. Added typed array support (f.e. a: array of integer) in function/method parameters. 3. Added typed array support in variable declaration. 4. Added record support for field/property/method result 5. Added soAutoFreeComponents to Script.Options 6. Generic handlers can process properties and class methods including constructor 7. New function registered with the same name replaces previous. 8. Added function call stack for debugging or getting current function name in magic function. 9. Significant speed improvement when calling methods via RTTI 10. Added support for widestring type. 11. Added support for variant type parameters. 12. Added support for "set of" parameters. 13. Added typecast for classes - TSomeClass(SomeExpression) 14. Added ExceptionStack property - call stack when exception was raised. 15. Added support for exception re-raising inside except end block. Bugfixes All/Core 1. HighDPI support for installer 2. Document.Surface.G.GetFont sometimes return nil when using GDI+ canvas. 3. Memory leak in THtImage 4. Issue with documents containing lot of nested tables (>20) 5. AdaptiveZoom not work as expected on mobiles 6. Memory leak in TIFrameElement.LoadImage 7. Non-escaped & in attibute breaks layout. 8. Missed # before hex color causes overflow error. 9. Table cell align attribute affects text align of nested elements. 10. CSS background center position. 11. Wrong meta tag content when using OuterHTML 12. TableElement.InsertRow doesn't work for first row 13. Range check when CSS color contains spaces, f.e. border-color: LightGrey Light Grey Grey Grey 14. AV when installing packages into Delphi 6. 15. overflow-x scrollbar has incorrect width. 16. Changes to THtLabel font are not displayed immediately. 17. Abstract Error in Delphi 6. 18. Delphi 5-2007 in WIDESTRINGS mode: backspace works incorrectly when deleting unicode symbols. 19. Delphi 5-2007 in WIDESTRINGS mode: Unicode text is copied to clipboard as ANSI 20. FMX: AV when HtPanel/Editor is placed on tab with transition effect. 21. Chinese text is copied into clipboard incorrectly 22. 'initial' value support for CSS line-height propeprty 23. CSS word-break: break-all support for chinese text. 24. SaveFileAnsi not preserve original codepage. 25. HTML Title located before charset is decoded incorrectly. 26. Event proparation is not stopped (unlike browsers do) when clicking link ( element) 27. SetAttribute('class') not triggers StyleChanged method. 28. TTableElement.AsCSV - values contains spaces before numbers and are treated as text by Excel. 29. Table columns are resized after first repaint. 30. GDI canvas: some unicode symbols are dislayed incorrectly. 31. Incorrect table border size in print preview when using GDI canvas 32. Printing is not cancelled when print driver displays dialog (f.e. XPS) and user press cancel. 33. Dynamically created HtListBox not works as expected. 34. Text is displayed with ellipsis even whent there is enough space 35. GDI canvas - text is displayed at incorrect position after zoom 36. Table with colgroup has incorrect column widths at first paint. 37. Table header is shifted in print preview when using GDI+ canvas. 38. Table with border="1" attribute has border around table. 39. FMX/NextGen: textarea is not destroyed with HtPanmel/Editor 40. DoGetUrl has checks for ':' on iOS/Android platforms. 41. FiletoStr not work correctly on NEXTGEN platforms. 42. FMX: Setting value for input element has no effect when calling before first paing. 43. Artefacts (pixelization) when scrolling zoomed panel. 44. CSS zoom works incorrect when using percents. Editor 1. Cut/Copy not work as expected on Android 2. "Auto" not works in editor color dialog. 3. Some editor actions are not disabled when editor is in read-only mode 4. THtDBHtmlEditor - caret jumps to start when pressing key in editor which is in browse mode. 5. On iOS keyboard is shown after zoom 6. Caret not placed correctly after zoom. 7. FMX/OSX pasted image is not shown. 8. FMX/OSX setting Editor.WantTabs leads to catching all form Tab events. 9. FMX: Selection is cleared when editor get focus. 10. Ctrl+C is catched by unfocused editor 11. Text after a table jumps iside the table after pressing DEL button at the end 12. Pressing , , un-bold the text 13. THtFileOpen action doesn't trigger edit mode for dataset linked to TDBHtmlEditor 14. AV in TDBHtmlEditor.BeginEditing when editor is created at runtime 15. FMX: Shift+enter moves cursor down, but after typing it is moved up. 16. Space is removed at line end after applying text style (f.e. bold) 17. Converting text inside table cell into list works incorrectly 18. AV on HtAddictCheckEditor 19. Various issues when Editor is used inside DLL 20. FMX: AV when entering text after "select all" 21. Undo not working for first word autocapitalization 22. On Delphi 2007-2010 + Polish keyboard layout, AltGR + 2 set header level instead of displaying @ symbol, becase of bug in VCL IsAltGRPressed function. 23. FMX AV when editor is destroyed. 24. FMX memory leak (TCaret). 25. AV when deleting selection which contans table and text below/above 26. TDOCXConverter - images with relative path ('../') are not processed. 27. Setting WordCorrection to false doesn't affect first word capitalization. 28. FMX/Android: On GBoard keyboard enter not works as expected. Reports 1. Images sometimes are encoded incorrectly into base64 format. 2. 3d value is ignored by pie chart 3. Axes names not shown for single series. Scripter 1. Invalid class typecast on iOS simulator. 2. Invalid class typecast in NextGen when calling methods returning object via Objectnvoke (possible bug in RTL) 3. Declaration of several variables of the same type causes error. Version 3.61 Email library (included in bundle HEL+HRL) CSS content value: counter(pagecount) Page is ajusted by Footer and Header height (printing). New THtListBox properties: SelectedTextColor and SelectedBGColor. CSS border-radius supports two dimensions: border-radius: 10px / 5px; Removed 192px limit for THtComboBox height. Change tracking in HTML Editor. New editor options eoEmbedPastedStyles - include styles from pasted HTML into document styles. eoClearPastedFormatting - remove inline formatting from pasted HTML code. Scripts Support for +=, -=, *=, /= assignments. "in" operator supports enumerated objects (if s in L then ... where L is TStringList) "for in " has optional "index" variable: for s in L index k do ... Script Loop variable declaration: for var k:integer := 1 to 100 do Ternary operator: k := if a = 0 then 1 else 2; case operator in expressions: k := case t of 1:2; 1+1: 2+3; else 4 end; Binary numbers - %1110001 Version 3.6 New powerful cross-platform scripting engine: Main features: Extremely fast parsing and compilation. Using Delphi methods and properties via RTTI (2010+). Easy registration of Delphi functions (no need for special intermediate functions, just pass function address and description). Anonymous functions. for .. in .. statement. DLL functions. Ordinal types helpers Using script functions as Delphi event handlers. Debugging and logging support. Profiling Set of and array parameters. Asynchronous and delayed execution HTML documents integration (JQuery $ operator) Scripter Manual Examples of using scripts in reports (compiled demo) 2. Faster styles calculation 3. THtDocument.SavetoPDFStream method. 4. TElement.OuterHTML property. 5. TNodeList now supports subset of JQuery methods: AddClass RemoveClass ToggleClass property Attr property html property css Example: Document.JQuery('#mainlist li').addClass('highlight'); Document.JQuery('#mydiv').html := 'My div text'; 6. Added support for all windows-* charsets. 7. Added support for CSS visibility, table-layout properties. 8. Added support for IFrame element 9. Added THtDocument.HighlightTextColor property 10. Added class function THtDocument.HTMLtoPDF 11. Added function THtDocument.FindText - performs text search in document. 12. Added THtDocument.AfterImageLoaded event. 13. Added THtDocument.OnAnimationEnd event. 14. Added THtDocument.AfterControlCreated event. 15. New TElement (DOM) properties - ScrollLeft, ScrollTop. 16. Added support for select and textarea in FMX. 16. Added support for input types: radio and date. 17. Added support for input: required attribute - CSS pseudoselectors valid and invalid are set. 18. Instant support for Font Awesome. Just add htfontawesome to uses list and use FA CSS classes. For example . In VCL there is no need to install font into systrem, it will be loaded from resource. 19. Popup menu can be defined in HTML for any element (with inheritance). Example: 20. New THtPanel method: ScrollSelectionIntoView. 21. New THtPanel method: Print - print current document. 22. New THtPanel method: FindDialog - execute text find dialog. 23. Instant support for element sorting (similarly to JQuery.Sortable). Just add sortable class to any container to allow elements sorting. Linked list (to move elements between containers) are also supported. HTML Report Library 1. Added Script section to DATAPACKET. 2. Added report-objects element - create report objects inside report from SQL, expression or script. 3. Side-by-side bars chart. 4. Box-and-whiskers charts. 5. Area charts. 6. Expressions support in chart series attributes - x, y, hint. 7. New component - THtReportPanel. 8. Record filters in DATAPACKET and CHART. HTML Editor Library 1. iOS and Android support. 2. DefaultParaTag property - determine which tag will be added when user press Enter. 3. New options - eoEmbedDropperImages, eoEmbedPastedImages - turn on embedding of dropped or pasted images. 4. New sample Chat application. 5. Improved table area selection. 6. Merge table cells method. 7. Inplace adding of table column/row. 8. Live text styles preview for HtFontCombo, HtFontSizeCombo, HtTextColorCombo, HtBackgroundCombo. 9. "Fixed columns" checkbox in AddTable Combo. 10. New Event - OnPrepareClipboardImage. 11. New demo for iOS and Android.