Name Change

  • Advanced Print Publisher becomes PTC Arbortext Layout Developer
  • Layout Developer more accurately describes the role of the application within the Arbortext product suite
  • There are no changes to the scope of the application, licensing or pricing structure

Interface

  • New main Toolbar
    • More modern look and feel
    • Most common development tasks represented
    • Icon system updated to take PNG icons with inactive and mouse over highlighting
  • New Menu System
    • Reorganised to make development easier
    • Tools grouped more consistently – similar to FOM structure
    • Old redundant items removed
    • Application and document configuration dialogues improved
  • (Old menus and toolbars are still available – there’s an application preference)
  • Dynamic blue/left bar
    • Customise the lists shown in Page and Text modes
    • Associate actions (scripts) with each list item when clicked
    • Add icons and formatting to list items

OpenType Font Feature Table Support

  • Turn on OpenType word shaping in styles (fStyle).
  • Turn on/off individual feature tables within the OpenType font to access the different features (small caps, discretionary ligatures, fractions, different numbering styles etc)
  • Turn on/off different script and language within the OpenType font to access different feature tables
  • OpenType word shaping will produce different line endings and word shaping!
  • Shipped add-on library with some tools:
    • View glyphs within a font
    • View feature tables within a font

MathJax Library

  • Add-on libraries have been extended to allow JavaScript config files and an FOM fLibrary object to represent the library
  • Layout Developer ships with a version of the MathJax JavaScript library and some custom code to use it
  • Function to create SVG from MathML or TeX
  • Use that SVG as you wish

Debugger Enhancements

  • New interface for context control streams
    • Create new contexts, grouped by name
    • Associate tags or JavaScript
      • Tags from a drop-down list
      • JavaScript using code editor
  • Interface for page sequence control streams
    • Create new rules
      • Single, repeat and repeat alternatives
    • Select layout to use from drop-down list of Layer Groups
    • Set conditions using descriptions rather than numbers
  • Interface for stored objects
    • Open .jo tags
    • Edit the object structure and properties
    • Store the objects in the template

Template Events

  • Associate code with template events
    • When mode has changes – to facilitate updating the blue bar
    • When the tag in the edit bar has changed
    • When the page number has changed
    • When selected frames and layers have changed
    • When the template is opened, saved and closed

3D Folder

  • The 3D folder has been tidied up. New demo and templates files are provided.
  • A samples folder has been provided with some examples of new features. We will be adding to this.
  • Don’t forget that the FOM documentation PDF can be built using the files in the FOM sub-folder

Documentation for these features is provided in the New Features PDF. Samples for some may also be found in the Samples folder.

The release notes have this to say about fixes and other minor additions:

  • Upgraded ICU to version 64. Preserving ICU 52 to maintain support for sidxcoll files.
  • Upgraded PNG importer to fix multiple issues
  • Upgraded PDFlib and PStill libraries
  • Added -nostrictjs command line parameter to disable strict mode
  • Added ctrl+left click in page mode, to select any frame regardless of what layer it is on
  • Added ‘ttop *’ to open the stream that contained the last JS error raised in the yellow bar, and ‘ttop #’ to jump to specified line number
  • Added support for JavaScript to ALD Libraries
  • Added ability to customise left (blue) bar menus
  • Added new JavaScript startup file (startup.js)
  • Added new draw level flags
  • Updated yellow bar to make JavaScript tags more readable
  • Changed tprint defaults to ‘Print All’ instead of ‘Print Current Page’
  • Added new FOM template events
  • Fixed issue with scripts jumping over labels when lines in the script are over 3000 characters long (SPR 8237284)
  • Fixed issue with duplicate text field names in PDF Forms (SPR 8245257)
  • Obey the viewport and viewbox when importing SVGs. Setting ‘Fit Size’ to 0 in the SVG import options will use the viewbox size instead of the specified width and height. (SPR 8088202)
  • Fixed issue using the JS File object with unicode characters (SPR 6990809)
  • Fixed issue using the JS File object when the directory includes files that clash with existing properties or methods (SPR 8495255)
  • Fixed issue where conflict between hyphenationAtColumnBreak and widows + orphans property causes formatting to stop (SPR 7763356)
  • Fixed opacity in named colours when used on rules and backgrounds (SPR 8255465)
  • Disabling ‘Reposition Anchors’ in tformat will preserve all existing page sequence copied pages so they can no longer be changed or created, ensuring that the anchor frames are maintained. (SPR 8106973)
  • Fixed issue where page sequence initial page number can get applied multiple times. (SPR 8106973)
  • Enabled support for the ‘@’ symbol in FOM table column widths (SPR 2812768)
  • Fixed issue where minimum table cell height is calculated incorrectly if cell padding is used (SPR 8469098)
  • Added properties to set horizontal and vertical offsets for math blocks (SPR 8200502)

The FOM release notes say this:

  • Added fApplication.noStrictJS property.
  • Added fContextCondition.insertBefore(), insertAfter(), and remove() methods.
  • Added fPageSequenceItem.insertBefore(), insertAfter(), and remove() methods.
  • Added fPageSequenceCondition.insertBefore(), insertAfter(), and remove() methods.
  • Added fFormatting.outputGlyphs() method.
  • Added fStyle.typeface property.
  • Added fStyle.useOpenType, openTypeScript, openTypeLanguage, and openTypeFeatures properties.
  • Added fTypeface.OpenTypeScripts, OpenTypeLanguages, and OpenTypeFeatures constant groups.
  • Added fTypeface.openTypeFeatures property.
  • Added fTypeface.hasOpenTypeFeature() method.
  • Added fLibraries and fLibrary objects.
  • Added fApplication.libraryPath and libraries properties.
  • Added libraries global property.
  • Added fContextMatch.elementName property.
  • Added fDrawLevel.currentLayer and blockGuideLevel properties.
  • Renamed fGradientColor.type property to gradientType, preventing clash with fControl.type property on fGradientColor objects.
  • Added fContent.saveNamespace method.
  • Added fApplication.getString(), setString(), runString(), and loadStrings() methods.
  • Added fLeftBar and fLeftBarItem objects.
  • Added fTemplate.leftBar property.
  • Added fTemplate.editBarStream property.
  • Added fStream.sendToEditBar() method.
  • Added fTemplatePreferencesToolbars object.
  • Added fTemplatePreferences.toolbars property.
  • Added fFormatting.BREAK_FRAME and END_FRAME constants.
  • Added fStyle.fontNonLatin property.
  • Added fParagraph.showMissingGlyphs property.
  • Added fTemplateEvents object.
  • Added fTemplate.events property.
  • Added fdFrame.isSelected property.