## New information

The Mif2Go User's Guide is a perpetual work-in-progress, largely unreviewed.This section identifies substantive additions and corrections since prior editions. Corrections are shown in red.

May 15, 2013 version 4.1, update 55

Getting started with Mif2Go:

• Copy m2rbook.dll and m2gframe.dll to the correct Plugins directory. These files are located in %OMSYSHOME%\m2g\plugin in your distribution, and they must be copied to your FrameMaker \fminit\Plugins directory; see §1.3.3.2 Finish installing Mif2Go.

Converting a book or document:

• Access the Mif2Go Configuration Manager from the Choose Project dialog. New button; see §3.3 Creating a Mif2Go conversion project.

Editing configuration files:

• Edit settings with the Mif2Go Configuration Manager. New tool, accessible from the Choose Project dialog; see §4.2 Editing files with the Configuration Manager.

• Use relative path settings with care! Relativity of some path settings has changed, notably those listed in Table 4-1; see §4.5 Specifying file paths in configuration settings.

• A relative path specified for [Automation]CopyAfterFrom is relative to the project directory (correction). Not to the wrap directory; see §4.5 Specifying file paths in configuration settings.

• A relative path specified for [Setup]TemplateFileName is relative to the location of the configuration file in which the setting occurs (correction). Not to the source directory; see §4.5 Specifying file paths in configuration settings.

Setting basic conversion options:

• One setting for output file extension. Use [Setup]FileSuffix for all output types; see §5.1.1 Checking output type and file extension. Though still recognized, the following are deprecated in favor of [Setup]FileSuffix, which overrides them in any event:

WordperfectSuffix

WordSuffix

XMLSuffix

HTMLSuffix

• Turn off warnings about uncatalogued formats. New setting ShowUndefinedFormats, on by default; see §5.2 Logging conversion events.

• Identify and use Structured FrameMaker attributes. New settings IDAttrName and IDRefAttrName, new section [AttributeMarkers]; see §5.8 Converting structured documents.

Converting to print RTF:

• Double any backslashes in included RTF code. And double them again in a macro; see §6.15 Including RTF code for Word output.

• Remove unwanted empty paragraphs at end of topics. New setting FrameEndPara; see §6.10.9 Omitting content from RTF output.

Producing on-line Help:

• TopicAlias marker s for context-sensitive help. Instead of hypertext newlink markers. New custom marker type TopicAlias; see §7.10.2 Specifying CSH mappings.

Generating Microsoft HTML Help:

• Specify binary TOC or index for HTML Help. Newly documented settings BinaryTOC and BinaryIndex; see §9.9.2 Choosing whether to generate binary contents or index.

• Exclude selected topics from FTS for HTML Help. An inelegant hack via new custom marker Search; see §9.11 Providing full-text search (FTS) for HTML Help.

• Generate a CSH map file. New settings MakeCshMapFile, CshMapFileNumStart, and CshMapFileNumIncrement; see §9.12.3 Specifying and generating a map file for CSH links.

Generating OmniHelp:

• Make compound terms searchable in OmniHelp. Newly documented setting CompoundWordChars; see §10.10.3 Making compound terms searchable.

• Exclude content from full-text search. New custom marker Search; see §10.10.7 Excluding content from being searched.

Converting to HTML/XHTML:

• Show FrameMaker condition indicators in HTML output. New section [ConditionOptions]; new settings UseConditionalFlagging, CSSFlagsFile, WriteFlagsFile, and ReferenceFlagsFile. See §13.10.3 Displaying condition indicators in HTML with CSS.

• Prevent adjacent HTML <pre> elements from merging. New setting MergePre; see §13.6.5 Preventing adjacent <pre> elements from merging.

Converting to DITA XML:

• Wrap anchored images in <fig> as an exception. Newly documented HTML format property Figure; see §15.7.2 Specifying what to include in a <fig> wrapper.

• Keep selected topics out of the TOC. New marker type DITANoTOC; see §15.9.6 Omitting a DITA topic from the TOC.

• CSH targets via TopicAlias markers are included by default. New setting UseTopicAlias; see §15.14 Including CSH targets in DITA XML.

Configuring DITA maps:

• Omit id attribute from chapter maps. New setting UseMapID; see §16.2.1.6 Specifying the ID for a ditamap.

Creating HTML links:

• Tell Mif2Go to leave link text case alone. Although its internal default value is No, MakeFileHrefsLower is set to Yes in system file d2htm_config.ini, which is referenced for every HTML output type. If you want Mif2Go to leave case alone in hypertext links, you must explicitly set MakeFileHrefsLower to No in a project or local configuration file; see §19.2.6 Forcing link text to lowercase.

Mapping text formats to HTML/XML:

• Assign HTML tags in new configuration sections. [ParaTags] and [CharTags] replace [ParaStyles] and [CharStyles], respectively; see:

§21.3.1 Assigning HTML tags and attributes to paragraph formats

§21.4 Mapping character formats

• Distinguish paragraph (block) from character (inline) format properties. New sections [HTMLParaStyles] and [HTMLCharStyles] supersede [HTMLStyles], which is still honored; see §21.5 Assigning properties to text formats.

• Exclude size attribute from font tags. Newly documented setting UseFontSize; see §21.7.6 Excluding face and size attributes from font tags.

Setting up CSS for HTML:

• Omit element tags from CSS selectors. New setting SelectorIncludesTag; see §22.7.10 Omitting tags from CSS selectors.

• HTML table rows are now wrapped in groups by default. Reversed setting HeadFootBodyTags; see §24.3.2.4 Wrapping table row groups.

Working with macros:

• Distinguish between paragraph and character code inclusions. New sections:

Old section | New for paragraph formats | New for character formats
[StyleCodeAfter] | [ParaStyleCodeAfter] | [CharStyleCodeAfter]
[StyleCodeBefore] | [ParaStyleCodeBefore] | [CharStyleCodeBefore]
[StyleCodeEnd] | [ParaStyleCodeEnd] | [CharStyleCodeEnd]
[StyleCodeReplace] | [ParaStyleCodeReplace] | [CharStyleCodeReplace]
[StyleCodeStart] | [ParaStyleCodeStart] | [CharStyleCodeStart]

The old sections are deprecated, but still honored; see §28.9.3 Surrounding or replacing text with code or macros.

Working with FrameMaker markers:

• Replace marker content with code. New section [MarkerTypeCodeReplace]; see §29.7.2 Surrounding marker content with code.

• No need to remap TopicAlias markers for CSH. No longer required, and not advised for DITA output; see §29.3.2 Understanding when to remap marker types.

Converting via runfm:

• ”Save As PDF” via runfm. New command-line option -pdfsave can avoid printer issues and TimeSavers issues; see §36.4.3.3 Configuring PDF output: runfm -pdfsave option.

May 1, 2012, version 4.0, update 54

Getting started with Mif2Go:

• No “quick start” this time! Omni Systems has massively reorganized the Mif2Go distribution; see §1.3.1 Set up a framework for Omni Systems applications.

• System-wide configuration file. Specify in one place any settings that apply to all projects; see §1.3.6 Establish system-wide configuration settings.

• All Mif2Go executables are now referenced from the new Omni Systems directory structure, not from the Windows system directory. See §1.4.2 Update your Mif2Go installation.

Planning a conversion project:

• Produce a single output file from a FrameMaker book. You really need a script to do this right; see §2.5.6 Producing a single output file from a FrameMaker book.

Editing configuration files:

• New names for project configuration files! Each is now named for its output type; see §5.1.1 Checking output type and file extension.

• Keep at least one line of header text. Each configuration file must start with a header line; see §4.4 Understanding the rules for configuration settings.

• No more than one space after a key=value equals sign. Do not try to line up values vertically with extra spaces after the equals (before is usually OK, though not always); see §4.4 Understanding the rules for configuration settings.

• Comment out entire configuration sections with a single semicolon. New tip; see §4.7 Commenting out configuration sections.

• Append log files to a history file. New setting HistoryFileName; see §5.2 Logging conversion events.

• ObjectIDs change on show/hide conditional text. Always! So use carefully; see §5.3.2 Working with FrameMaker ObjectIDs.

• Condition show/hide settings might not work in FrameMaker 10+. Go back to importing FrameMaker templates instead; see §5.4.1 Applying condition Show/Hide settings.

• Include a suffix in generated equation file names. New setting EqSuffix; see §5.9.4 Providing a file-name suffix for equations.

Converting to print RTF:

• Specify a Windows code page for print RTF output. New setting CodePage; see §6.2.4 Specifying the default output language and code page.

• Keep trailing tabs in Word output. New setting TrailingTabs; see §6.8.3 Altering tab behavior for Word output.

• Produce .doc or .docx files via Word macro and a SystemEndCommand. See §6.17.1 Supporting more than one version of Word.

Producing on-line Help:

• Produce index meta elements for Microsoft Help Viewer. New setting UseHVIndex, new custom marker type HVIndex; see §7.5.2 Preparing index entries for Microsoft Help Viewer.

• Provide a sort order for Japanese index entries. Most likely you will need help; see §7.5.9.5 Defining Japanese index sort order.

Generating WinHelp:

• Get WinHelp viewers from Microsoft. And so must every user; see §8.1 Obtaining tools for WinHelp

• Tell Mif2Go where to find the WinHelp compiler. Previously undocumented setting Compiler; see §8.2.13 Compiling a WinHelp project.

• Specify copyright and date for WinHelp Version Information. Previously undocumented settings HelpCopyright and HelpCopyDate; see §8.2.13 Compiling a WinHelp project.

• Insert a separator between text and footnotes in WinHelp. New setting FootnoteSeparator; see §8.3.7 Converting footnotes.

• Specify table width when you use column-width percentages for WinHelp. New setting TblFullWidth; see §8.5.2 Adjusting table appearance.

Generating Microsoft HTML Help:

• Omit code-page mapping for uncompiled HTML Help. New setting UseCodePage; see §9.3.6 Deciding whether to compile HTML Help.

• Generate Asian or Cyrillic HTML Help. New code-page DLLs; see §9.13 Generating HTML Help in non-Western languages.

• Fixed spaces become ideographs for Japanese HTML Help. Or you can map them to something else; see §9.13 Generating HTML Help in non-Western languages.

• Tell Mif2Go where to find the HTML Help compiler. New setting Compiler; see §9.14.1 Directing Mif2Go to run the HTML Help compiler.

• Compile HTML Help in a different locale. Use command-line utility SBAppLocale; see §9.14.3 Compiling in a different language.

Generating OmniHelp:

• .Include relative paths in OmniHelp subprojects to be merged. See §10.12.2 Listing and mapping OmniHelp subprojects.

Generating JavaHelp or Oracle Help:

• Specify options for Oracle Help in their own eponymous section. New section [OracleHelpOptions]; for example, see §11.3.7.2 Letting Mif2Go set up the directory structure and copy files.

• Add type attribute to list tags for JavaHelp and Oracle Help. New CSS setting UseListTypeAttribute; see:

§11.3.9 Coping with JavaHelp / Oracle Help viewer limitations

§21.12.2.7 Including or excluding the type list attribute.

Converting to HTML/XHTML:

• For ePub, XHTML output can provide input to Calibre. See §13.1 Deciding which type of output to produce.

• For HTML 5 output, set DOCTYPE as appropriate. See §13.4.1 Specifying HTML/XML version, DOCTYPE, and DTD.

• Omit generator information from HTML output (not advisable). Previously undocumented setting [HtmlOptions]GeneratorTag=None; see §13.4.4 Including or omitting HTML/XML generator information.

• Generate XHTML for Confluence 4.x. New settings Confluence, ConfluenceLinks, and ConfluenceLink*; see §13.12 Generating XHTML for Confluence 4.x.

• Supply hover text for terms and acronyms in HTML. New format property GlossTitle, new sections [GlossTitles]and [GlossFiles]; see §13.11 Providing hover text for terms in HTML.

• Turn on UseSpacers explicitly to indent tables and figures! Important if your output relies on this setting, because the default value has been changed to No. See:

§23.6.3 Indenting images

§24.5.1 Indenting tables.

Converting to generic XML:

• Keep Shift+Enter line breaks. New setting UseXMLbr; see §14.4.5 Configuring forced returns for XML.

Converting to DITA XML:

• Map formats to elements depending on topic type. New functionality in [DITAAliases], new predefined macro variable $$_ditastart; see §15.4.3.8 Mapping paragraph format aliases algorithmically.

• Replace change bars or overlines with tags for DITA XML output. When UseTypographicElements=Yes, you get <chbar> and <over> elements, respectively; see §15.4.4.2 Including typographic elements in addition to mapped formats.

• Give every DITA element that can accommodate it an ID. New setting SetElementIDs; see §15.4.6.2 Including an id attribute in every element.

• Specify attributes for the root element of a topic. New section [DITATopicRootAttrs], new marker type DITATopicRootAttrs; see §15.4.6.3 Specifying attribute values for the root element of a topic.

• Include an outputclass attribute in the DITA XML root element. New marker type DITATopicOutputclass; see §15.4.6.6 Providing outputclass attributes for all elements.

• Avoid constructing invalid ancestries. New setting UseCommonNames; see §15.5.6 Avoiding invalid ancestries.

• Configure nested lists for DITA XML. See §15.5.8 Configuring nested lists.

• Use relative or absolute table widths in DITA XML. New setting TableColsRelative; see §15.6.5.3 Specifying relative vs. absolute widths for table columns.

• Give table footer rows an @outputclass of their own. New settings UseTableFooterClass, TableFooterClass; see §15.6.2 Marking table footer rows for future reference.

• Specify placement of figure titles for DITA. New setting FigureTitleStartsFigure; see §15.7.2 Specifying what to include in a <fig> wrapper.

• Omit size attributes from images for DITA. Newly applicable setting [Graphics]GraphScale; see §15.7.3 Omitting size attributes from images for DITA output.

• Include MathFullForm equation objects in <alt> text. New setting MathFullForm; see §15.7.5 Including MathFullForm equations in <alt> elements.

• Include FrameMaker DPI values in <image> attributes. New setting UseOtherpropsDPI; see §15.7.6 Including the original image DPI as an attribute.

• Rename DITA topic files to make the file names readable. FrameScript method; see §15.8.3.2 Renaming DITA topic files with FrameScript.

• Specify an outputclass attribute for cross-reference wrappers. New settings XrefWrapClass, FootnoteWrapClass, and IndexWrapClass; see §15.10.2 Specifying an outputclass for cross-reference wrappers.

Configuring DITA maps:

• Adjust map levels for missing heading levels. See §16.2.3 Accounting for missing topic levels.

• Include DITA bookmap <appendix> elements in <part>. New setting AllowPartAppendix; see §16.3.4 Extending <part> to include <appendix>.

• Exclude book-level reltable from a bookmap. New setting MapBookRelTable; see §16.3.6 Excluding the book-level reltable from a bookmap.

• Include multiple TOCs, indexes, other booklist items in a bookmap. New sections [IndexMarkerOutputClass], [DITABookmapOutputclasses]; see §16.4.3 Including multiple booklist components of the same type.

• Accommodate placeholders for extra bookmap elements. New sections [BookmapElementBefore], [BookmapElementAfter]; see §16.4.7 Including placeholders for additional bookmap elements.

Converting to DocBook XML:

• Allow multiple images in a figure element for DocBook. Newly applicable setting MultiImageFigures; see §17.7.1 Deciding what to include in a figure element.

• Include additional content in figure elements for DocBook. Newly applicable setting CloseFigAfterImage; see §17.7.1 Deciding what to include in a figure element.

• Specify placement of figure titles for DocBook. New setting FigureTitleStartsFigure; see §17.7.1 Deciding what to include in a figure element.

• Omit size attributes from images for DocBook. Newly applicable setting [Graphics]GraphScale; see §17.7.3 Omitting size attributes from images for DocBook.

Splitting and extracting files:

• Insert space or a separator between HTML topics in a single output file. New [Inserts] keyword TopicBreak; see:

§18.5.2 Assigning code to [Inserts] keywords for splits and extracts

§28.9.2 Invoking macros at predetermined points in output.

Creating HTML links:

• Replace spaces in links with hyphens or underscores. Instead of only alphanumerics for XrefSpaceChar or HyperSpaceChar; see §19.2.5 Replacing problem characters in links.

Mapping text formats to HTML/XML:

• Prevent line breaks and preserve leading spaces at the paragraph format level. New [HTMLParaStyles] format property NoWrap; see §21.3.6 Stripping paragraph properties.

• Font tags are now excluded from HTML output by default. The default values for NoFonts and NoSymbolFont have been reversed; see:

§21.7.4 Including or excluding font tags

§21.7.5 Managing font tags for symbol fonts

• Replace change bars or overlines with tags for HTML/XML output. Use new “pseudo tag” names chbar and over; see §21.8.2 Choosing how to treat typographic elements.

Setting up CSS for HTML:

• Replace spaces in CSS class names with hyphens or underscores. Instead of only alphanumerics as a value for ClassSpaceChar; see §22.7.1 Understanding CSS class name restrictions.

• Flag alternate-language glyphs with CSS classes. New setting UseCharRangeClasses, new section [CharacterRangeClasses]; see §22.7.6 Assigning CSS classes based on Unicode character ranges.

Including graphics in HTML:

• HTML image indent spacer default has been reversed. If you rely on this deprecated technique, you must explicitly set UseSpacers=Yes; see §23.6.3 Indenting images.

• Omit empty alt attribute values from HTML output. New setting AllowEmptyAlt; see §23.8 Providing (or omitting) alternate text for images.

Converting tables to HTML:

• HTML table indent spacer default is reversed. If you rely on this deprecated technique, you must explicitly set UseSpacers=Yes; see §24.5.1 Indenting tables.

• Strip HTML code from selected tables. With configuration macros or Config markers; see:

§24.6.4 Turning processing on and off around selected tables

§24.7.2 Removing table-specific tags from selected tables.

Working with macros:

• Add a visible trailing space to a macro. New convention “\~” for trailing spaces; see §28.1.1.3 Escaping special characters in macro definitions.

• Predefined macro variables for project name and path. New variable $$_prjname; also, variable $$_prjpath can now be used in macros as well as in system commands. See Table 28-3.

• More ways to manipulate strings. New macro expression operators lower, upper, and replace with; see Table 28-4 Operators for HTML macro expressions.

• Pass a parameter to a macro, and capture its value. New predefined macro variable $$_macroparam; see §28.7 Passing a parameter to a macro.

Working with FrameMaker markers:

• Treat marker content as plain text for XML output. New marker property type Text; see §29.7.3 Processing marker content as text for XML/HTML/XHTML.

Working with templates:

• Configuration templates play a major role now. New [Templates] section with new settings Document, Configs, and Macros; see §30.1 Working with configuration templates.

• [FDK]ConfigTemplate is deprecated in favor of [Templates]Configs. Replace all instances of the former; see §30.2 Referencing configuration files and templates.

• Include one or more templates for document-specific settings. New setting [Templates]Document; see §30.3 Including document-specific configuration files.

Working with graphics:

• Extract embedded graphics imported from Word. Without knowing their formats; see §31.2.7 Exporting embedded graphics imported from Word.

Automating Mif2Go conversions:

• System-command keywords have new names, new configuration section:

Old | New
[BookFileCommands] | [Automation]
BookStartCommand | SystemStartCommand
BookWrapCommand | SystemWrapCommand
BookEndCommand | SystemEndCommand
FileStartCommand | SystemStartCommand
FileWrapCommand | SystemWrapCommand
FileEndCommand | SystemEndCommand

See §34.4.1 Specifying system commands.

• Whip FrameMaker variables into shape for use in file names. Whack spaces and punctuation with macros; see §34.8.4.2 Including FrameMaker variables in output file names.

• Use variable <$$_objectid> in file names. To guarantee uniqueness, if you are determined to name output files yourself; see §34.8.4.5 Specifying a file-name prefix or suffix.

Producing deliverable results:

• Copy ancillary files before and after conversion. New [Automation] settings CopyBeforeFrom, CopyBeforeFiles, CopyAfterFrom, CopyAfterFiles; see:

§35.5 Gathering additional files before converting

§35.6.6 Listing extracurricular files to put in the wrap directory.

• Default value of WrapPath is now .\_wrap, relative to the project directory; see §35.6.1 Specifying a wrap directory.

• Gather referenced graphics files for distribution. New setting CopyOriginalGraphics; see §35.7.1 Copying referenced graphics to a distribution directory.

• Default value of ShipPath is now ..\..\_ship, relative to the project directory; see §35.12.1 Specifying a shipping directory for deliverables.

Converting via runfm:

• Log in as administrator before you set up runfm. Because you must write to the Windows Registry; see §36.2 Setting up FrameMaker for unattended operation.

| Availability |  | Colophon |