AH Formatter MathML fonts on Linux

Inasmuch as AH Formatter supports MathML 3.0 but on Linux ships with a minimal font-config.xml file, if you are formatting non-trivial MathML on Linux, then you’ll probably need to add some mathematical fonts to your font-config.xml.

identity-matrixIf x2y2 counts as trivial because you could do it with “ordinary” fonts, then non-trivial would include anything requiring “stretchy” characters, such as the identity matrix example from the MathML 3.0 spec that is shown on the right rendered without and with mathematical fonts. AH Formatter on Linux uses the STIX fonts by default, so the simplest way to get your MathML rendering correctly is to make sure that the STIX fonts are installed and that AH Formatter will use them. Continue reading

VMware guest screensaver on Linux host

Inasmuch as it’s annoying when the VMware guest’s screensaver controls screen blanking only up until your mouse strays off the guest’s window and then the host’s screensaver kicks in and blanks the screen again, you can add this to /etc/vmware/config on a Linux host:

mks.fullscreen.allowScreenSaver = "yes"
mks.windowed.allowScreenSaver = "yes"
mks.x.screenSaverTimeout = 590

From Setting Linux Host Screensaver Options in the Workstation Global Configuration File, mks.fullscreen.allowScreenSaver and mks.windowed.allowScreenSaver enable the host screensaver in full screen and windowed modes, respectively, and a mks.x.screenSaverTimeout of 590 seconds sets VMware to ‘ungrab’ the keyboard and mouse shortly before the host screensaver kicks in after 10 minutes of inactivity.

No more competing screensavers, but after VMware ‘ungrabs’ the keyboard and mouse, you do need to click the mouse in the VMware guest’s window so it will ‘grab’ them again, and you can then use the guest as normal.

Validating XSL-FO

Inasmuch as it’s something that people ask for, I demoed in the DemoJam at XML Prague that I’d been working on a Relax NG schema and Schematron rules for validating XSL-FO. Most of both the schema and the Schematron were generated directly from the XML source for the XSL 1.1 Recommendation. Additionally, the Schematron used a parser written in XSLT for handling the XSL-FO expression language, so the Schematron could evaluate property values rather than just matching on property value strings.

Relax NG and Schematron validation in oXygen

There was also an oXygen add-on framework in the works, and, naturally, the schema and Schematron also covered Antenna House extensions.

If you look at the screenshot, you’ll see:

  • Schematron error for the interrelated <axf:document-info> elements.
  • No error for ‘column-count="-1 - -2"‘ because the value evaluates as a positive integer.
  • oXygen ‘tooltip’ information for fo:block extracted from the XML for the XSL 1.1 Recommendation.
  • The ‘neutral’ and ‘out-of-line’ formatting objects, as well as the XSL 1.1 ‘point’ fo:change-bar-begin and fo:change-bar-end formatting objects that can appear anywhere inside a fo:flow, are available where they are allowed.
  • Schematron error for the invalid font-size value.

Dots in a @name?

Inasmuch as I’m now with Antenna House, I’ve been changing over to new usernames for Skype, etc. That seemed straightforward enough when I picked tgraham.antenna for Skype, but then I found that GitHub doesn’t allow “.” in usernames, so on GitHub, I’m tgraham-antenna. Which has left me wondering, what are the allowed non-alphabetic characters in the networks of interest? Continue reading

Antenna House

Inasmuch as I like their products, I like their people, and they have strengths in XSL-FO, CSS, and EPUB, I’m pleased to join Antenna House as Senior Architect, XML Division.

I am still based in Ireland, and I am still available for consulting, but now it’s as part of my work with Antenna House. In fact, we already have a couple of projects lined up, including prospective work from a company that wasn’t with Mentea.

This blog remains (and, who knows, might even become active), and the resources at http://www.mentea.net/resources.html remain available, but going forward, I am representing Antenna House.