Lost more than an hour to the medical test, so stayed a bit late working on D2009 port and Mariage code.
More progress porting my code to D2009:
- Ported the Preferences unit and dialog box, in the process creating a Transformer replace sequence that does most of the work on PAS and DFM files.
- Built a test app for Preferences, and tested it.
- Built a universal test app for all my libraries; as each is ported, it'll be added to the universal app, and be tested automatically.
- Tested Unicode (with Japanese) in GUI translation system. Works great.
- Tested the same thing, along with Preferences, in Wine -- again, it works a treat!
I've also, finally, downloaded and built the Help file updates, so I have a working help file. Not that it's much use, in practice.
We all had to go and get medical tests around noon. Took an hour and 15 minutes all told.
Added a new "Petits romans" menu item, resulting in a contents page for the novels. Then started hacking more seriously at the prose display, both the page-based and continuous modes. I came across a validation problem, caused by <div> elements ending up inside <h2> tags due to TEI <fw> tags appearing inside <head>s in the HTML source. I've added some testing for this kind of condition in the XSLT, so that <span>s are used in this kind of context, with the class attribute invoking CSS which displays them as blocks anyway, so that the rendering is not affected; the result is that the XHTML validates, but the page still looks right.
I also came across a slightly thorny problem worth blogging. Paragraphs in the novels have text-indent settings, specified in the XML and passed into the CSS. When block-display elements such as <fw> tags, resulting in page numbers, occur within the paragraph (as they almost always do), the block element inherits the text-indent setting from the parent, and so indents its text. This is avoided by specifically setting the text-indent value to zero on the classes of these block elements.
Finally, I tweaked the right margin of the continuous-view texts so that there's enough space for the note popup to appear. This makes the lines shorter anyway, which makes reading easier.
I still don't have a definitive solution to the hyphens indicating word-breaks across lines, which should be eliminated in the continuous view. Still thinking about that one.
TG has got through the full text of the first volume of Amboise, and is now working on the forme works etc., so I added it into the database to see what it would look like. As a result, I made a few changes to the text itself (mainly rearranging bits of the front matter, which is longer and more complex than the front matter in volume 2), and also revised some of the rendering code to get more consistent results.
I think we might now consider the possibility of placing images of the figures on the site, and weaving them into the text, instead of just rendering the descriptions we currently have. We could capture the figures from the original PDFs, on a white background.
For the live CityStats, I'd forgotten to comment out the Philadelphia data options in the dropdown for the original query system. Fixed that. Also checked usage of the wizard: not much going on, at the moment, just a trickle of completed queries.
Working with the Mariage students, and then got intrigued by exciting progress with Delphi 2009.
Ported the translation code, which again proved a little simpler than expected; the test application is working like a charm. The only unexpected thing was that although I thought I'd be looking for properties which were tkString (previously tkWideString), it turns out that I needed tkUString; presumably the TypInfo.pas unit is not quite as "Unicode-everywhere" as the rest of the VCL and RTL. My guess is that this is a result of its hooking into Windows fairly closely, so being dependent on Windows types rather than Delphi types, so tkString has some specific relationship to a Windows string type.