| Previous Next | Contents |
leaf.table.List/Spread cell shading switched to start at lower left. Otherwise vml output fails to shade the cells correctly!
leaf.table.Font preserves cell colouring on a change of font!
VMLTest cover function to demonstrate formatting any of the NewLeaf test reports as VML for viewing in IE5. Try VMLTest 'SalesRep' for an example. Hard to know whether this is worth it ... the fixed papersize will need changing to the Rain approach where the paper is computed as the bounding-box of the completed tables. This is a major change and unlikely to happen quickly! For the moment it is mainly just to ensure that the VML filter is up to the job of rendering anything NewLeaf can build!
leaf.wrap_txt possibility of a loop when wrapping a very short word (2 letters) into a very narrow space (e.g. in a column heading). Fixed
leaf.find_htm now is quite specific in only regarding < followed by one of /bBiIsS as a valid opening tag and > preceeded by bBiIsSpP. This makes it unnecessary to protect things like x<12 except in extreme circumstances when the > notation will still be required.
leaf.metric allows for wider text where it is spanned by <b>bold</b> tags. Uses a constant factor based on the Times metrics for simplicity and speed. This fixes the occasional overrun where a high proportion of bold text in a line could fool the text-wrapping algorithm. Possibly we should check for italic too, but this is not a severe problem as it is on average narrower, so the worst that can happen is a little white space at the end of the line
leaf.makeptx eliminates lines which are all blank as well as checking for empties.
leaf.Bookmark logs a pending bookmark which is output at the next call to Place or Flow. Currently only shows in the viewer in the Jump to page dialogue which will show a dropdown of sorted bookmarks if there are any. Also used to build the contents tree in PDF documents.
PostScrp.GetPhraseBook adds translatability to viewer. Phrase table is maintained in external .PHB file (with Notepad) and pulled in by the application developer or by the application at initialisation time.
PostScrp.SetRegPath this is where viewer values are read from and saved to. If this is set to null, then no settings will be saved in the registry.
leaf.table.Colour should use a standard subfunction to map names to colour values. Fixed.
leaf.table.headtable places bookmark just above table, unless it has a heading, in which case the heading gets the bookmark.
leaf.table.bust was making a different judgement on available space from the long-stop check in titlegrid. Could result in headings getting unstuck from their grids (approx 1:50 chance) fixed.
leaf.parse_htm complete internal rewrite as the logic was getting too complex to extend safely. Now supports <code> <font> and <sub> tags with correct metrics. Also works correctly with fit to page tables which use htm tags in table cells.
leaf.Tabrack simple tab support added. Tabs default to every 1, and can be set in points, e.g. leaf.Tabrack 96 ¯200 220. Negative tabs are right-aligned. To skip to the next tab, embed AV[10] or the string <tab> in the input to leaf.Flow. Note that leaf.Place does not process HTML tags, so does not notice tabs. All tabs are relative to the left edge of the current frame and disregard indents.
leaf.Richtext Run vector of WordPad richtext into frame. Note that this is quite specific to the old style RTF used by the RichEdit control, and is not a general RTF parser! It may cope with Word-style RTF one day! For the moment only a subset of RTF tags are handled.
leaf.Emphasis supports various extra formatting, underline and strikethrough for now bordered/shadowed and shaded will follow. The underlined option also works as an HTML tag in leaf.Flow 'Here is <u>underlined</u> text'.