Version 5.9.1

Compatibility with older versions

The development of the speedata Publisher has one big “mantra”: existing setups must work with newer versions of the speedata Publisher without change. So you can always upgrade to the latest version without having to fear that you need to change your layout file.

New features are introduced via new XML tags or attributes. Existing layout files simply ignore them and continue to work.

Removed in version 6.0

Since version 5, the XPath parser lxpath and the font loader harfbuzz are the defaults. The older variants (luxor and fontforge) have been removed in version 6.0. Selecting them (via the xpath or fontloader key in the configuration file, the attribute mode="fontforge" on <LoadFontfile> or the attribute require on <Layout>) results in an error.

Also removed in version 6.0:

  • Type 1 fonts (.pfb): they could only be loaded with the fontforge font loader. Please convert them to OpenType.
  • The command line options --extra-xml and --prepend-xml (configuration keys extraxml and prependxml): use XInclude instead to split the layout into several files.

Migrating from luxor and fontforge

If your layout still uses one of the old variants:

  • luxor: Run the layout with lxpath and fix the reported errors. Calculations with units (e.g. "2cm + 12mm") do not conform to the XPath specification and can be expressed with the function sd:dimexpr().
  • fontforge: Remove the fontloader key from the configuration file and the attribute mode="fontforge" on <LoadFontfile>; fonts are then loaded with harfbuzz. Virtual fonts are no longer supported. Type 1 fonts (.pfb) should be converted to OpenType.

Setting requirements in the layout file

The require attribute on the <Layout> command can be used to ensure that a specific configuration is active. This is useful when layout files are exchanged between different installations:

<Layout
    xmlns="urn:speedata.de:2009/publisher/en"
    xmlns:sd="urn:speedata:2009/publisher/functions/en"
    require="lxpath,harfbuzz">

The available options are:

Key Description
lxpath The XPath parser lxpath (always active, accepted for compatibility).
harfbuzz The font loader harfbuzz (always active, accepted for compatibility).
luxor The old XPath parser (removed in version 6.0, raises an error).
fontforge The old font loader (removed in version 6.0, raises an error).