Adobe FRAMEMAKER 6.0 Manual
Adobe FRAMEMAKER 6.0 Manual

Adobe FRAMEMAKER 6.0 Manual

Mif reference
Table of Contents

Advertisement

Quick Links

Adobe
®
FrameMaker
6.0
®
MIF Reference Online Manual

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the FRAMEMAKER 6.0 and is the answer not in the manual?

Questions and answers

Summary of Contents for Adobe FRAMEMAKER 6.0

  • Page 1 Adobe ® FrameMaker ® MIF Reference Online Manual...
  • Page 2 Adobe, the Adobe logo, Acrobat, Acrobat Reader, Adobe Type Manager, ATM, Display PostScript, Distiller, Exchange, Frame, FrameMaker, FrameViewer, InstantView, and PostScript are trademarks of Adobe Systems Incorporated. Apple, PowerBook, QuickTime, Mac, Macintosh and Power Macintosh are trademarks of Apple Computer, Inc., registered in the United States and other countries.
  • Page 3: Table Of Contents

    Contents Introduction Why use MIF? ..........6 Using this manual .
  • Page 4 Pages ............109 Graphic objects and graphic frames .
  • Page 5 MIF Messages General form for MIF messages ........253 List of MIF messages .
  • Page 6: Introduction

    Introduction MIF (Maker Interchange Format) is a group of ASCII statements that create an easily parsed, readable text ® file of all the text, graphics, formatting, and layout constructs that most FrameMaker products (with the ® exception of FrameReader ) understand. Because MIF is an alternative representation of a FrameMaker document, it allows FrameMaker products and other applications to exchange information while preserving graphics, document content, and format.
  • Page 7: Overview Of Mif Statements

    ADOBE FRAMEMAKER 6.0 Introduction Your FrameMaker product may not include all of the features described in this manual. For example, some statements appear in all MIF files but are only applicable for structured documents created with FrameMaker+SGML. Contact your FrameMaker local customer service representative for information about other FrameMaker products.
  • Page 8 ADOBE FRAMEMAKER 6.0 Introduction How MIF statements represent documents FrameMaker products represent document components as objects. Different types of objects represent different components in a FrameMaker document. For example, a paragraph is considered an object; a paragraph format is considered a formatting object. The graphic objects that you create by using the Tools palette are yet another type of object.
  • Page 9 ADOBE FRAMEMAKER 6.0 Introduction Although you can rely on the MIF interpreter to provide defaults, the exact properties and objects provided may vary depending on your FrameMaker product’s configuration. The MIF interpreter uses default objects and properties that are specified in setup files and in templates. In UNIX® versions, these templates are and .
  • Page 10: Mif Statement Syntax

    ADOBE FRAMEMAKER 6.0 Introduction How a FrameMaker product identifies MIF files A MIF file must be identified by a or statement at the beginning of the file; otherwise a FrameMaker product simply reads the file as a text file. All other statements are optional; that is, a valid MIF file can contain only the statement.
  • Page 11 ADOBE FRAMEMAKER 6.0 Introduction MIF data items There are several general types of data items in a MIF statement. This manual uses the following terms and symbols to identify data items. This term or symbol Means Left quotation mark ( ` ), zero or more standard ASCII characters, and a straight quotation mark string (' ).
  • Page 12 ADOBE FRAMEMAKER 6.0 Introduction Unit values You can specify the unit of measurement for most dimension data items. The following table lists the units of measurement that a FrameMaker product supports and their notation in MIF.Dimension data types can Measurement unit...
  • Page 13 ADOBE FRAMEMAKER 6.0 Introduction Character set in strings MIF string data uses the FrameMaker character set (see the Quick Reference for your FrameMaker product). MIF strings must begin with a left quotation mark (ASCII character code ) and end with a straight quotation mark (ASCII character code ).
  • Page 14 ADOBE FRAMEMAKER 6.0 Introduction Code Meaning Up one level in the file tree When you specify a device-independent pathname in a MIF string, you must precede any right angle brackets (>) with backslashes (\), as shown in the syntax above.
  • Page 15 ADOBE FRAMEMAKER 6.0 Introduction...
  • Page 16: Using Mif Statements

    Using MIF Statements MIF statements can completely describe any FrameMaker document, no matter how complex. As a result, you often need many MIF statements to describe a document. To learn how to use MIF statements, it helps to begin with some simple examples. This chapter introduces you to MIF, beginning with a simple MIF example file with only a few lines of text.
  • Page 17 ADOBE FRAMEMAKER 6.0 Using MIF Statements If you use a FrameMaker product to edit a MIF file, you must prevent it from interpreting MIF statements when you open the file by holding down a modifier key and clicking Open in the Open dialog box.
  • Page 18: Creating A Simple Mif File For Framemaker

    ADOBE FRAMEMAKER 6.0 Using MIF Statements The following suggestions may be helpful when you are working with MIF statements: Edit a MIF file generated by a FrameMaker product. • You can edit a MIF file generated by a FrameMaker product or copy a group of statements from a MIF file into your file and then edit the statements.
  • Page 19 ADOBE FRAMEMAKER 6.0 Using MIF Statements The most accurate source of information about MIF files is a MIF file generated by a FrameMaker product. MIF files generated by a FrameMaker product can be very lengthy because a FrameMaker product repeats information and provides default objects and formats for all documents.
  • Page 20 ADOBE FRAMEMAKER 6.0 Using MIF Statements In a FrameMaker document, you store paragraph formats in a Paragraph Catalog and assign a tag (name) to the format. You can then apply the same format to many paragraphs by assigning the format tag to the paragraphs.
  • Page 21 ADOBE FRAMEMAKER 6.0 Using MIF Statements Suppose you have created a paragraph format for a numbered list item with Basic properties defined as follows in the Paragraph Designer. The following table shows the corresponding MIF statements: In MIF file In Paragraph Designer <PgfTag `Numbered'>...
  • Page 22 ADOBE FRAMEMAKER 6.0 Using MIF Statements In MIF file In Paragraph Designer <PgfUseNextTag No > Turn off Next ¶ Tag feature <PgfNextTag `'> Next ¶ Tag name (none) The Default Font properties are defined as follows in the Paragraph Designer.
  • Page 23 ADOBE FRAMEMAKER 6.0 Using MIF Statements In MIF file In Paragraph Designer <FOverline No > Overline <FStrike No > Strikethrough <FChangeBar No > Change Bar <FPosition FNormal > Superscript/Subscript <FCase FAsTyped > Capitalization <FPairKern Yes > Pair Kern <FTsume No>...
  • Page 24 ADOBE FRAMEMAKER 6.0 Using MIF Statements The Numbering properties are defined as follows in the Paragraph Designer. The following table shows the corresponding MIF statements: In MIF file In Paragraph Designer <PgfAutoNum Yes > Turn on Autonumber <PgfNumFormat `<n+\>.\\t' >...
  • Page 25 ADOBE FRAMEMAKER 6.0 Using MIF Statements The Advanced properties are defined as follows in the Paragraph Designer. The following table shows the corresponding MIF statements: In MIF file In Paragraph Designer <PgfHyphenate Yes > Automatic Hyphenation (on) <HyphenMaxLines 2> Max. # Adjacent <HyphenMinWord 5>...
  • Page 26 ADOBE FRAMEMAKER 6.0 Using MIF Statements The Table Cell properties are defined as follows in the Paragraph Designer. The following table shows the corresponding MIF statements: In MIF file In Paragraph Designer <PgfCellAlignment Top > Cell Vertical Alignment <PgfCellMargins 0.0 pt 0.0 pt Cell Margins 0.0 pt 0.0 pt>...
  • Page 27 ADOBE FRAMEMAKER 6.0 Using MIF Statements <MIFFile 6.00> # Hand generated <PgfCatalog <Pgf <PgfTag `1Heading'> <PgfUseNextTag Yes > <PgfNextTag `Body'> <PgfAlignment Left > <PgfFIndent 0.0"> <PgfLIndent 0.0"> <PgfRIndent 0.0"> > # end of Pgf > # end of PgfCatalog If you open pgfcat.mif in a FrameMaker product, you’ll see that the Paragraph Catalog contains a single paragraph format called 1Heading.
  • Page 28 ADOBE FRAMEMAKER 6.0 Using MIF Statements <Para <PgfTag `1Heading'> <Pgf <PgfAlignment Center> > # end of Pgf <ParaLine <String `This line is centered.'> > # end of ParaLine > # end of Para To locally define a paragraph format, include a complete Pgf statement within the Para statement: <Para...
  • Page 29 ADOBE FRAMEMAKER 6.0 Using MIF Statements <Para <Pgf <PgfTag `Body'> <PgfFont <FWeight `Bold'> > # end of PgfFont > # end of Pgf <ParaLine <String `First paragraph in document.'> > # end of ParaLine > # end of Para <Para <ParaLine...
  • Page 30: Creating And Applying Character Formats

    ADOBE FRAMEMAKER 6.0 Using MIF Statements Tips The following hints may help you minimize the MIF statements for paragraph formats: If possible, use the formats in the default Paragraph Catalog (don’t supply a PgfCatalog statement). If • you know the names of the default paragraph formats, you can tag paragraphs with the PgfTag statement.
  • Page 31 ADOBE FRAMEMAKER 6.0 Using MIF Statements <MIFFile 6.00> #Hand generated <FontCatalog <Font <FTag `Emphasis'> <FAngle `Italic'> > # end of Font > # end of FontCatalog <Para <PgfTag `Body'> <ParaLine <String `You can format characters within a paragraph by '>...
  • Page 32: Creating And Formatting Tables

    ADOBE FRAMEMAKER 6.0 Using MIF Statements Creating and formatting tables You can create tables in FrameMaker documents, edit them, and apply table formats to them. Tables can have heading rows, body rows, and footing rows. Each row consists of table cells that contain the actual contents of the table.
  • Page 33 ADOBE FRAMEMAKER 6.0 Using MIF Statements <Tbl <TblID > # A unique ID for the table <TblFormat > # The table format <TblNumColumns > # Number of columns in this table--required <TblColumnWidth > # Column width, one for each column <TblH...
  • Page 34 ADOBE FRAMEMAKER 6.0 Using MIF Statements <MIFFile 6.00> <Tbls <Tbl <TblID 1> # ID for this table <TblTag `Format A'> # Applies format from Table Catalog <TblNumColumns 2> # Number of columns in this table <TblColumnWidth 2.0"> # Width of first column <TblColumnWidth...
  • Page 35 ADOBE FRAMEMAKER 6.0 Using MIF Statements <ParaLine <String `Brazil Santos'> > > # end of Para > # end of CellContent > # end of Cell <Cell # Second cell in row <CellContent <Para <PgfTag `CellBody'> <ParaLine <String `$455.00'> >...
  • Page 36 ADOBE FRAMEMAKER 6.0 Using MIF Statements <Para <ParaLine <String `Coffee prices '> <ATbl 1> <String `for January'> > # end of ParaLine > # end of Para Note that the ATbl statement appears outside the String statement. A ParaLine statement usually consists of String statements that contain text interspersed with statements for table anchors, frame anchors, markers, and cross-references.
  • Page 37 ADOBE FRAMEMAKER 6.0 Using MIF Statements Straddle cells The contents of a straddle cell cross cell borders as if there were a single cell. You can straddle cells horizon- tally or vertically. The following table includes a heading row that straddles two columns: The MIF code for the straddle cell includes a CellColumns statement that specifies the number of columns that the cell crosses.
  • Page 38 ADOBE FRAMEMAKER 6.0 Using MIF Statements The paragraph format of the first paragraph in the title (if there is one) • The paragraph format of the topmost paragraph in the heading, body, and footing cell of each column • For example, you could change the format of the previous table to include shaded rows and a different...
  • Page 39 ADOBE FRAMEMAKER 6.0 Using MIF Statements <TblXFill 15> # No fill for alternate rows. <TblXColor `Black'> # Color for alternate rows. <TblAltShadePeriod 1> <TblLRuling `Thin'> # Use thin left outside rule. <TblBRuling `Thin'> # Use thin bottom outside rule. <TblRRuling `Thin'>...
  • Page 40 ADOBE FRAMEMAKER 6.0 Using MIF Statements As with the Paragraph Catalog, if your MIF file does not provide a Table Catalog, the MIF interpreter supplies a default catalog and formats. If you do provide a Table Catalog, your defined table formats supercede those in the default Table Catalog.
  • Page 41: Specifying Page Layout

    ADOBE FRAMEMAKER 6.0 Using MIF Statements Creating default paragraph formats for new tables You can use the TblFormat and TblColumn statements to define default paragraph formats for the columns in new tables. These default formats do not affect tables that are defined within the MIF file; they only affect tables that the user inserts after the MIF file has been opened in a FrameMaker product.
  • Page 42 ADOBE FRAMEMAKER 6.0 Using MIF Statements Body pages contain the text and graphics that form the content of the document. Master pages control the layout of body pages. Each body page is associated with one master page, which specifies the number, size, and placement of the page’s text frames and the page background, such as headers, footers, and graphics.
  • Page 43 ADOBE FRAMEMAKER 6.0 Using MIF Statements <MIFFile 6.00> # Hand generated <TextFlow # All document text is in this text flow. <TFTag `A'> # Make this a tagged text flow. <TFAutoConnect Yes> # Automatically connect text frames. <Para <ParaLine <String `This paragraph appears on a body page within a'>...
  • Page 44 ADOBE FRAMEMAKER 6.0 Using MIF Statements Creating a single-sided custom layout If the document that you’re importing needs a custom master page, you must specify a custom page layout. For example, a document might need a master page for background graphics.
  • Page 45 ADOBE FRAMEMAKER 6.0 Using MIF Statements <Page <PageType BodyPage> <PageBackground `Default'> <TextRect <ID 2> # This text frame has a unique ID. # The body page dimensions match those of the master page. <ShapeRect 2" 1" 5" 7.5"> <TRNumColumns 1>...
  • Page 46 ADOBE FRAMEMAKER 6.0 Using MIF Statements <TextFlow <TFTag `A'> <TFAutoConnect Yes> <Para <TextRectID 2> <PgfTag `Body'> <ParaLine <String `This appears on a body page within a text flow'> <String ` tagged A.'> > # end of ParaLine > # end of Para >...
  • Page 47: Creating Markers

    ADOBE FRAMEMAKER 6.0 Using MIF Statements Other master page layouts that you’ve defined are not lost when the interpreter reads a MIF file. The user can still apply these page layouts to individual body pages. For an example of a MIF file with a first page layout, see the sample file frstpage.mif.
  • Page 48: Creating Cross-References

    ADOBE FRAMEMAKER 6.0 Using MIF Statements Creating cross-references In a FrameMaker document, you can create cross-references that are automatically updated. A cross- reference can refer to an entire paragraph or to a particular word or phrase in a paragraph. The text to which a cross-reference points is called the reference source;...
  • Page 49 ADOBE FRAMEMAKER 6.0 Using MIF Statements <Para <PgfTag `Heading'> <ParaLine <Marker <MType 9> # Identifies this as a cross-reference <MText `34126: Heading: My Heading'> # Cross-reference source > # end of Marker <String `My Heading'> > # end of ParaLine >...
  • Page 50: Creating Variables

    ADOBE FRAMEMAKER 6.0 Using MIF Statements <XRef <XRefName `Page'> <XRefSrcText `34126: Heading: My Heading'> <XRefSrcFile `'> > # end of XRef <String `page'> # The text that appears in the document; <Char HardSpace > # in this case, a page number followed a <String `1'>...
  • Page 51 ADOBE FRAMEMAKER 6.0 Using MIF Statements The variable name must be unique; case and spaces are significant. For a user variable, the variable definition can contain only text and character formats; you can provide any character format defined in the Character Catalog. The following example applies the default character format Emphasis to a variable: <VariableFormat...
  • Page 52: Creating Conditional Text

    ADOBE FRAMEMAKER 6.0 Using MIF Statements The VariableName string must match the name of a variable format defined in the VariableFormats statement. Variables are subject to the following restrictions: You cannot place any variable in a tagged text flow on a master page.
  • Page 53 ADOBE FRAMEMAKER 6.0 Using MIF Statements To mark conditional and unconditional passages within document text, use Conditional and UnCondi- tional statements as shown in the following example: <Para <ParaLine <String `Our company makes a full line of '> # Unconditional text <Conditional...
  • Page 54 ADOBE FRAMEMAKER 6.0 Using MIF Statements How a FrameMaker product writes a conditional document If you are converting a MIF file that was generated by a FrameMaker product, you need to understand how a FrameMaker product writes a file that contains hidden conditional text.
  • Page 55: Including Template Files

    ADOBE FRAMEMAKER 6.0 Using MIF Statements <Marker <MType 10> # This marker shows the beginning of hidden text. # Its ID matches the marker ID in the body text flow. <MText `-88793'> <MCurrPage 0> > # end of Marker <Conditional <InCondition `Winter'>...
  • Page 56 ADOBE FRAMEMAKER 6.0 Using MIF Statements Creating the template Create the template document in a FrameMaker product. Define the paragraph and character formats, table formats, variable and cross-reference formats, master pages, and any other formatting and page layout information that your document needs. Generally, a template contains some sample lines that illus- trate each format in the document.
  • Page 57 ADOBE FRAMEMAKER 6.0 Using MIF Statements <TextFlow <Notes > # end of Notes <Para <Unique 45157> <PgfTag `MyFormat'> <ParaLine <TextRectID 7> <String `A single line of text.'> > > # end of Para > # end of TextFlow Delete the entire text flow.
  • Page 58: Setting View Only Document Options

    ADOBE FRAMEMAKER 6.0 Using MIF Statements Setting View Only document options You can use MIF statements to control the display of View Only documents. A View Only document is a locked FrameMaker hypertext document that a user can open, read, and print but not edit. You can use MIF statements to control the appearance and behavior of the document window and to control the behavior of cross-references in locked documents.
  • Page 59 ADOBE FRAMEMAKER 6.0 Using MIF Statements <DViewOnlyWinPalette Yes> A palette window is a command window, such as the Equations palette, that exhibits special platform- dependent behavior. In UNIX versions of FrameMaker products, a palette window can only be dismissed; it cannot be closed to an icon. In Macintosh versions, a palette always remains in front of the active window.
  • Page 60: Applications Of Mif

    ADOBE FRAMEMAKER 6.0 Using MIF Statements To disable a command, you must supply the hex code, called an fcode, that internally represents that command in a FrameMaker product. For example, you can disable printing, copying, and unlocking the document by supplying the following statements: <DViewOnlyNoOp 0x313>...
  • Page 61 ADOBE FRAMEMAKER 6.0 Using MIF Statements Modifying documents You can use MIF to perform custom document processing. For example, you can create a program or write a series of text editor macros to search for and change paragraph tags in a MIF file. You can also edit a MIF book file to easily add or change document names in a book.
  • Page 62 ADOBE FRAMEMAKER 6.0 Using MIF Statements Minimizing MIF statements The following tips may help you minimize the number of MIF statements that your filter needs to generate: If you are not concerned about controlling the format of a document, use the default formats that a •...
  • Page 63: Debugging Mif Files

    ADOBE FRAMEMAKER 6.0 Using MIF Statements Optional control programs allow you to tightly integrate the database and the FrameMaker product. • Some database publishing applications are controlled entirely from the database system or through hypertext commands embedded in a FrameMaker document. More complicated applications may require an external control program, such as a C program that issues queries and selects a FrameMaker document template.
  • Page 64: Other Application Tools

    ADOBE FRAMEMAKER 6.0 Using MIF Statements If your MIF statements are syntactically correct but cause unexpected results in the document, check for mismatched ID numbers and check the placement of statements. Many MIF statements are position- dependent and can cause errors if they appear in the wrong place in a file. For example, an ATbl statement that comes before its corresponding Tbl statement causes an error.
  • Page 65: Where To Go From Here

    ADOBE FRAMEMAKER 6.0 Using MIF Statements Where to go from here This chapter has given you a start at working with MIF files. You can use the information in this chapter as guidelines for working with similar MIF statements. Once you have experimented with basic MIF files, you can learn about other MIF statements by creating small FrameMaker documents that contain a specific feature and saving these documents as MIF files.
  • Page 66: Mif Document Statements

    MIF Document Statements This chapter describes the structure of MIF document files and the MIF statements they can contain. Most MIF statements are listed in the order that they appear in a MIF file, as described in the following section. If you are looking for information about a particular statement, use this manual’s statement index to locate it.
  • Page 67 ADOBE FRAMEMAKER 6.0 MIF Document Statements Statement Description TblCatalog Describes table formats. The TblCatalog statement contains TblFormat statements that define the properties and tag for each table format. Views Describes color views for the document. The Views statement contains View state- ments that define which colors are visible in each color view.
  • Page 68: Miffile Statement

    For example, a MIF file saved in version 6.0 of FrameMaker begins with the following line: <MIFFile 6.00> # Generated by FrameMaker 6.0 MIF is compatible across versions, so a MIF interpreter can parse any MIF file. The results may sometimes differ from your intentions if a MIF file describes features that are not included in the FrameMaker product that reads the MIF file.
  • Page 69 ADOBE FRAMEMAKER 6.0 MIF Document Statements CharUnits statement The CharUnits statement specifies the default units for measuring font size and line spacing. This is to accommodate the Japanese “Q” units of measurement. This statement can appear anywhere at the top level or within any statement.
  • Page 70: Macro Statements

    ADOBE FRAMEMAKER 6.0 MIF Document Statements Because Comment statements can be nested within one another, the MIF interpreter examines all characters following an angle bracket until it finds the corresponding angle bracket that ends the comment. <Comment - The following statements define the paragraph formats>...
  • Page 71: Conditional Text

    ADOBE FRAMEMAKER 6.0 MIF Document Statements include statement The include statement reads information from other files. It is similar to an #include statement in a C program. When the MIF interpreter reads a MIF file, it replaces the include statement with the contents of the included file.
  • Page 72 ADOBE FRAMEMAKER 6.0 MIF Document Statements Syntax <ConditionCatalog <Condition…> Defines a condition tag (see “Condition statement,” next) <Condition…> Additional statements as needed … > End of ConditionCatalog statement Condition statement The Condition statement defines the state of a condition tag and its condition indicators, which control how conditional text is displayed in the document window.
  • Page 73: Paragraph Formats

    ADOBE FRAMEMAKER 6.0 MIF Document Statements Syntax <Conditional Begin conditional text <InCondition tagstring> Specifies condition tag from Condition Catalog <InCondition tagstring> Additional statements as needed … > End of Conditional statement <Unconditional> Returns to unconditional state Paragraph formats A paragraph format is defined in a Pgf statement. Paragraph formats can be defined locally or stored in the Paragraph Catalog, which is defined by a PgfCatalog statement.
  • Page 74 ADOBE FRAMEMAKER 6.0 MIF Document Statements Syntax Basic properties <Pgf Begin paragraph format <PgfTag tagstring> Paragraph tag name <PgfUseNextTag boolean> Turns on following paragraph tag feature <PgfNextTag tagstring> Tag name of following paragraph <PgfFIndent dimension> First line left margin, measured from left side of current text column <PgfFIndentRelative boolean>...
  • Page 75 ADOBE FRAMEMAKER 6.0 MIF Document Statements <TSDecimalChar integer> Align decimal tab around a character by ASCII value; in UNIX versions, type man ascii in a UNIX window for a list of characters and their cor- responding ASCII values > End of TabStop statement <TabStop…>...
  • Page 76 ADOBE FRAMEMAKER 6.0 MIF Document Statements <HyphenMinWord integer> Minimum length of a hyphenated word <PgfLetterSpace boolean> Spread characters to fill line <PgfMinWordSpace integer> Minimum word spacing (as a percentage of a standard space in the paragraph’s default font) <PgfOptWordSpace integer>...
  • Page 77 ADOBE FRAMEMAKER 6.0 MIF Document Statements <PgfCellMargins L T R B> Cell margins for first paragraph in a cell <PgfCellLMarginFixed boolean> Yes means left cell margin is added to TblCellMargins; No means left cell margin overrides TblCellMargins <PgfCellTMarginFixed boolean> Yes means top cell margin is added to TblCellMargins; No means top cell margin overrides TblCellMargins <PgfCellRMarginFixed boolean>...
  • Page 78: Character Formats

    ADOBE FRAMEMAKER 6.0 MIF Document Statements Locked paragraphs and text insets The PgfLocked statement does not correspond to any setting in the Paragraph Designer. The statement is used for text insets that retain formatting information from the source document. If the <PgfLocked Yes> statement appears in a specific paragraph, that paragraph is part of a text inset that retains formatting information from the source document.
  • Page 79 ADOBE FRAMEMAKER 6.0 MIF Document Statements Syntax <PgfFont|Font <FTag tagstring> Character format tag name Font name <FFamily string> Name of font family <FAngle string> Name of angle, such as Oblique <FWeight string> Name of weight, such as Bold <FVar string>...
  • Page 80 ADOBE FRAMEMAKER 6.0 MIF Document Statements <FColor tagstring> Font color (see “ColorCatalog statement” on page 94) <FSeparation integer> Font color; no longer used, but written out by FrameMaker products for backward-compatibility (see “Color statements” on page 264) <FStretch percent> The amount to stretch or compress the font, where 100% means no...
  • Page 81 ADOBE FRAMEMAKER 6.0 MIF Document Statements <FPlain boolean> Used only by filters <FBold boolean> Used only by filters <FItalic boolean> Used only by filters Miscellaneous information <FLocked boolean> Yes means the font is part of a text inset that obtains its formatting properties from the source document >...
  • Page 82 ADOBE FRAMEMAKER 6.0 MIF Document Statements Font name When a PgfFont or Font statement includes all of the family, angle, weight, and variation properties, a FrameMaker product identifies the font in one or more of the following ways: The statement FPlatformName specifies a font name that uniquely identifies the font on a specific •...
  • Page 83: Tables

    ADOBE FRAMEMAKER 6.0 MIF Document Statements The Macintosh platform name has the following syntax: Macintosh: <FPlatformName M. > Platform designator FontName Macintosh Resource Manager font name (for more information, see your Macintosh documenta- tion) StyleFlags Macintosh font styles; use one or more of the following flags:...
  • Page 84 ADOBE FRAMEMAKER 6.0 MIF Document Statements In a MIF file, all document tables are contained in one Tbls statement. Each table instance is contained in a Tbl statement. The ATbl statement specifies where each table instance appears in the text flow.
  • Page 85 ADOBE FRAMEMAKER 6.0 MIF Document Statements <TblPlacement keyword> Vertical placement of table within text column keyword can be one of: Anywhere Float ColumnTop PageTop LPageTop RPageTop <TblBlockSize integer> Widow/orphan rows for body rows <TblCellMargins L T R B> Left, top, right, bottom default cell margins <TblTitlePlacement keyword>...
  • Page 86 ADOBE FRAMEMAKER 6.0 MIF Document Statements Shading properties <TblHFFill integer> Default fill pattern for table heading and footing (see page 113) <TblHFColor tagstring> Default color for table heading and footing (see page 94) <TblHFSeparation integer> Default color for table heading and footing; no longer used, but written out by FrameMaker products for backward-compatibility (see “Color...
  • Page 87 ADOBE FRAMEMAKER 6.0 MIF Document Statements <PgfTag tagstring> Applies format from Paragraph Catalog <Pgf…> Overrides Paragraph Catalog format as needed (see page 73) > End of TblColumnBody statement <TblColumnF Default paragraph format for the column’s footing cells in new tables Applies format from Paragraph Catalog <PgfTag...
  • Page 88 ADOBE FRAMEMAKER 6.0 MIF Document Statements Locked tables and text insets The TblLocked statement does not correspond to any setting in the Table Designer. The statement is for text insets that retain formatting information from the source document. If the <TblLocked Yes> statement appears in a specific table, that table is part of a text inset that retains formatting information from the source document.
  • Page 89 ADOBE FRAMEMAKER 6.0 MIF Document Statements <TblColumnWidth dimension> Width of first column <TblColumnWidth dimension> Width of second column … Width of remaining columns as needed <EqualizeWidths Makes specified columns the same width as the widest column (for fil- ters only, see page 92) <TblColumnNum integer>...
  • Page 90 ADOBE FRAMEMAKER 6.0 MIF Document Statements Usage The table column statements specify the actual width of the table instance columns. They override the column widths specified in the TblFormat statement. Row statement A Row statement contains a list of cells. It also includes row properties as needed. The statement must appear in a Tbl statement.
  • Page 91 ADOBE FRAMEMAKER 6.0 MIF Document Statements Cell statement A Cell statement specifies a cell’s contents. It also includes format, straddle, and rotation information as needed. The statement must appear in a Row statement. Syntax <Cell <CellFill integer> Fill pattern for cell, 0–15 (see page 113) <CellColor tagstring>...
  • Page 92 ADOBE FRAMEMAKER 6.0 MIF Document Statements Determining table width When a FrameMaker product writes MIF files, it uses TblColumnWidth in the Tbl statement to specify column width. However, filters that generate MIF files can use other statements to determine the table width.
  • Page 93: Color

    ADOBE FRAMEMAKER 6.0 MIF Document Statements RulingCatalog statement The RulingCatalog statement defines the contents of the Ruling Catalog, which describes ruling styles for tables. A document can have only one RulingCatalog statement, which must appear at the top level in the order given in “MIF file layout”...
  • Page 94 ADOBE FRAMEMAKER 6.0 MIF Document Statements You can define a color as a tint of an existing color. Tints are colors that are mixed with white. A tint is expressed by the percentage of the base color that is printed or displayed. A tint of 100% is equivalent to the pure base color, and a tint of 0% is equivalent to no color at all.
  • Page 95 ADOBE FRAMEMAKER 6.0 MIF Document Statements Syntax <Color <ColorTag tagstring> Color tag name <ColorCyan percentage> Percentage of cyan (0–100) <ColorMagenta percentage> Percentage of magenta (0–100) <ColorYellow percentage> Percentage of yellow (0–100) <ColorBlack percentage> Percentage of black (0–100) <ColorLibraryFamilyName string> Color library name <ColorLibraryInkName string>...
  • Page 96: Variables

    ADOBE FRAMEMAKER 6.0 MIF Document Statements Views statement The Views statement contains the color views for the document. A document can have only one Views statement, which must appear at the top level in the order given in “MIF file layout” on page 66.
  • Page 97: Cross-References

    ADOBE FRAMEMAKER 6.0 MIF Document Statements Each VariableFormat statement supplies a variable name and its definition. The statement must appear in a VariableFormats statement. Syntax <VariableFormats <VariableFormat <VariableName tagstring> Name of variable <VariableDef string> Variable definition > End of VariableFormat statement <VariableFormat…>...
  • Page 98: Global Document Properties

    ADOBE FRAMEMAKER 6.0 MIF Document Statements The XRefFormat statement supplies a cross-reference format name and its definition. The statement must appear in an XRefFormats statement. Syntax <XRefFormats <XRefFormat <XRefName string> Cross-reference name <XRefDef string> Cross-reference definition > End of XRefFormat statement <XRefFormat…>...
  • Page 99 ADOBE FRAMEMAKER 6.0 MIF Document Statements PDF Document Info For version 6.0 and later, the FrameMaker product stores PDF Document Info in the document file. The FrameMaker product automatically supplies values for Creator, Creation Date and Modification Data; these Document Info fields do not appear in MIF. Via the user interface, a user can specify values for Author, Title, Subject, and Keywords;...
  • Page 100 ADOBE FRAMEMAKER 6.0 MIF Document Statements Syntax <Document Document properties <DNextUnique ID> Refers to the next object with a <Unique ID> statement; generated by a FrameMaker product and should not be used by filters Window properties <DViewRect X Y W H>...
  • Page 101 ADOBE FRAMEMAKER 6.0 MIF Document Statements Chapter numbering <ChapterNumStart integer> Starting chapter number <ChapterNumStyle keyword> Style of chapter numbering keyword can be one of: Arabic UCRoman LCRoman UCAlpha LCAlpha KanjiNumeric ZenArabic ZenUCAlpha ZenLCAlpha Kanjikazu BusinessKazu Custom <ChapterNumText string> When ChapterNumStyle is set to Custom, this is the string to use <ChapterNumComputeMethod keyword>...
  • Page 102 ADOBE FRAMEMAKER 6.0 MIF Document Statements <DParity keyword> Specifies whether first page is left or right page keyword can be one of: FirstLeft FirstRight <DPageRounding keyword> Method for removing blank pages or modifying total page count before saving or printing...
  • Page 103 ADOBE FRAMEMAKER 6.0 MIF Document Statements <DFNoteComputeMethod keyword> Footnote numbering keyword can be one of: Continue (continue numbering from previous component in book) Restart (restart numbering) <DFNoteAnchorPos keyword> Placement of document footnote number in text keyword can be one of:...
  • Page 104 ADOBE FRAMEMAKER 6.0 MIF Document Statements Document view properties <DGridOn boolean> Turns on page grid upon opening <DPageGrid dimension> Spacing of page grid <DSnapGrid dimension> Spacing of snap grid <DSnapRotation degrees> Angle of rotation snap <DRulersOn boolean> Turns on rulers upon opening <DFullRulers boolean>...
  • Page 105 ADOBE FRAMEMAKER 6.0 MIF Document Statements <DViewOnlyWinPalette boolean> Yes makes window behave as command palette window in View Only document Document default language <DLanguage keyword> Hyphenation and spell-checking language for text lines; for allowed key- words, see PgfLanguage on page 76 Color printing <DNoPrintSepColor tagstring>...
  • Page 106 ADOBE FRAMEMAKER 6.0 MIF Document Statements <DPDFBookmarks boolean> Yes indicates that the FrameMaker product will create PDF bookmarks when you save as PDF <DPDFAllNamedDestinations boolean> Yes indicates that the FrameMaker product will create named destinations for all paragraphs and elements in the document; this style of marking cre- ates larger PDF files <DPDFDestsMarked boolean>...
  • Page 107 ADOBE FRAMEMAKER 6.0 MIF Document Statements Math properties For more information, see “MIF Equation Statements.” Structure properties For more information, see “MIF Statements for Structured Documents and Books.” Miscellaneous properties <DMagicMarker integer> Type number of the marker used to represent a delete mark <DMagicMarker integer>...
  • Page 108 ADOBE FRAMEMAKER 6.0 MIF Document Statements An autonumber format includes a series label to identify the type of autonumber series and one or more counters. The InitialAutoNums statement initializes the counters so that series that continue across files in a book are numbered correctly. Any statement that increments the counter value starts from the initial setting.
  • Page 109: Pages

    ADOBE FRAMEMAKER 6.0 MIF Document Statements Pages Pages in a MIF file are defined by a Page statement. A FrameMaker document can have four types of pages: Body pages contain the document’s text and graphics. • Master pages control the appearance of body pages.
  • Page 110 ADOBE FRAMEMAKER 6.0 MIF Document Statements <Frame…> Graphic frames on the page (see the section “Graphic objects and graphic frames” on page 111) Graphic object statements Objects on the page (see the section “Graphic objects and graphic frames” on page 111) Filter statements <HeaderL string>...
  • Page 111: Graphic Objects And Graphic Frames

    ADOBE FRAMEMAKER 6.0 MIF Document Statements Graphic objects and graphic frames In a FrameMaker document, graphic objects can appear directly on a page or within a graphic frame. The following objects are considered graphic objects: Anchored and unanchored frames •...
  • Page 112 ADOBE FRAMEMAKER 6.0 MIF Document Statements Syntax <ID ID> Object ID number <GroupID ID> ID of parent group object <Unique ID> ID, persistent across sessions, assigned when a FrameMaker product generates a MIF file; used by the FDK client and should not be used by filters <Pen integer>...
  • Page 113 ADOBE FRAMEMAKER 6.0 MIF Document Statements Usage The ID substatement is necessary only if other objects refer to the object. For example, anchored frames, groups, and linked text frames require ID substatements. The GroupID statement is necessary only if the object belongs to a set of grouped objects (Group statement).
  • Page 114 ADOBE FRAMEMAKER 6.0 MIF Document Statements A FrameMaker product rotates objects as follows: Polygons, polylines, and Bezier curves are rotated around the center of the • edge mass. Text lines are rotated around the TLOrigin point. • Arcs are rotated around the center of the bounding rectangle of the arc, not the bounding rectangle of •...
  • Page 115 ADOBE FRAMEMAKER 6.0 MIF Document Statements For example, if the <RunaroundGap 12.0> statement appears, all objects after that statement have a 12.0 point gap from text that flows around them. If this is the only RunaroundGap statement in the MIF file, all objects before that statement have a 6.0 point gap (the default gap value) from the text that flows around...
  • Page 116 ADOBE FRAMEMAKER 6.0 MIF Document Statements Syntax <Arc Generic object statements Information common to all objects (see page 111) <HeadCap keyword> Type of head cap for lines and arcs keyword can be one of: ArrowHead Butt Round Square <TailCap keyword>...
  • Page 117 ADOBE FRAMEMAKER 6.0 MIF Document Statements Syntax <ArrowStyle <TipAngle integer> Arrowhead tip angle in degrees <BaseAngle integer> Arrowhead base angle in degrees <Length dimension> Arrowhead length <HeadType keyword> Arrowhead type keyword can be one of: Stick Hollow Filled <ScaleHead boolean>...
  • Page 118 ADOBE FRAMEMAKER 6.0 MIF Document Statements Syntax <Frame Generic object statements Information common to all objects (see page 111) <ShapeRect L T W H> Position and size of object, before rotation, in page or graphic frame coordinates <FrameType keyword> Whether graphic frame is anchored, and if anchored, the position of...
  • Page 119 ADOBE FRAMEMAKER 6.0 MIF Document Statements A Frame statement that is contained within an AFrames statement defines an anchored frame. Any other Frame statement defines an unanchored frame. The assumed value for FrameType is NotAnchored. For anchored frames, an AFrame statement that refers to the frame ID indicates where the anchored frame appears within the text flow (see “ParaLine statement”...
  • Page 120 ADOBE FRAMEMAKER 6.0 MIF Document Statements Alignment of anchored frames If a graphic frame is anchored within a text column or text frame, the AnchorAlign statement specifies the alignment of the anchored frame. Unless anchored at the insertion point of the cursor, the graphic frame can be aligned in one of the following ways.
  • Page 121 ADOBE FRAMEMAKER 6.0 MIF Document Statements If the imported graphic is copied into the document, the data describing the graphic is recorded within • the ImportObject statement. The description of a graphic in a given format is called a facet.
  • Page 122 ADOBE FRAMEMAKER 6.0 MIF Document Statements <ImportObUpdater string> Identifies the imported graphic as a Macintosh subscriber or an embedded Windows OLE object (for a description of the syntax of the string, see “Methods of importing graphics” on page 123) >...
  • Page 123 ADOBE FRAMEMAKER 6.0 MIF Document Statements FrameMaker products don’t use internal TIFF dpi information for sizing Size and scale of TIFF graphics: purposes because not all TIFF files contain that information and because it may be incorrect. FrameMaker products allow users to set the dpi manually when importing the TIFF file. Once the graphic is imported, FrameMaker products display the dpi information in the Object Properties dialog box.
  • Page 124 ADOBE FRAMEMAKER 6.0 MIF Document Statements If the imported graphic is a Macintosh subscriber, the subscriber is specified by the `MacSub- scriber.ISID.ModDate.pathname' string in the ImportObUpdater statement. The fields in this string are explained below: ISID is an internal section ID plus 65536 (1000 hex).
  • Page 125 `XTND' External XTND filters Note that this is not a comprehensive list of codes. Codes may be added to this list by Adobe or by devel- opers at your site. format_id is a code specifying the format that the filter translates. The code is a string of four characters.
  • Page 126 `G4IM' CCITT Group 4 to Image Note that this is not a comprehensive list of codes. Codes may be added to this list by Adobe or by devel- opers at your site. platform is a code specifying the platform on which the filter was run. The code is a string of four characters.
  • Page 127: Math Statement

    ADOBE FRAMEMAKER 6.0 MIF Document Statements More information about imported graphics For additional information on imported graphics, consult one of the following sources: For instructions about modifying an application to create graphic insets for FrameMaker documents, see • the FDK Programmer's Guide.
  • Page 128 ADOBE FRAMEMAKER 6.0 MIF Document Statements Syntax <PolyLine Generic object statements Information common to all objects (see page 111) <HeadCap keyword> Type of head cap for lines and arcs keyword can be one of: ArrowHead Butt Round Square <TailCap keyword>...
  • Page 129 ADOBE FRAMEMAKER 6.0 MIF Document Statements Syntax <Rectangle Generic object statements Information common to all objects (see page 111) <ShapeRect L T W H> Position and size of object, before rotation, in page or graphic frame coordinates <Smoothed boolean> Yes smooths angles to rounded curves >...
  • Page 130 ADOBE FRAMEMAKER 6.0 MIF Document Statements Syntax <TextLine Generic object statements Information common to all objects (see page 111) <TLOrigin X Y> Alignment point origin <TLAlignment keyword> Alignment keyword can be one of: Center Left Right <TLLanguage keyword> Spell checking and hyphenation language for text line; for list of allowed keywords, see PgfLanguage on page 76 <Char integer>...
  • Page 131 ADOBE FRAMEMAKER 6.0 MIF Document Statements Syntax <TextRect Generic object statements Information common to all objects (see page 111) <ShapeRect L T W H> Position and size of object, before rotation, in page or graphic frame coordinates <TRNext integer> ID of next text frame in flow <TRNumColumns integer>...
  • Page 132: Text Flows

    ADOBE FRAMEMAKER 6.0 MIF Document Statements Text flows Text flows contain the actual text of a FrameMaker document. In a MIF file, text flows are contained in TextFlow statements. Typically, the TextFlow statement consists of a list of embedded Para statements that contain paragraphs, special characters, table and graphic frame anchors, and graphic objects.
  • Page 133 ADOBE FRAMEMAKER 6.0 MIF Document Statements To divert the flow into a new, unlinked text frame, there must be a TextRectID statement in the first ParaLine statement of the new TextFlow statement (see page 134). The TextRectID statement resets the current text frame definition so subsequent text is placed within the identified text frame;...
  • Page 134 ADOBE FRAMEMAKER 6.0 MIF Document Statements Syntax <Para <Unique ID> ID, persistent across sessions, assigned when a FrameMaker product generates a MIF file; used by the FDK client and should not be used by filters <PgfTag tagstring> Applies format from Paragraph Catalog <Pgf…>...
  • Page 135 ADOBE FRAMEMAKER 6.0 MIF Document Statements Syntax <ParaLine <ElementBegin …> See “MIF Statements for Structured Documents and Books.” <TextRectID ID> Where the following text goes <SpclHyphenation boolean> Hyphenation of a word at the end of a line causes the word to be spelled differently, as with German hyphenation <Font…>...
  • Page 136 ADOBE FRAMEMAKER 6.0 MIF Document Statements If the <VariableLocked No> statement appears in a specific variable, that variable is not part of a text inset or is part of a text inset that reads formatting information from the current document. The variable is affected by global formatting performed on the document.
  • Page 137 ADOBE FRAMEMAKER 6.0 MIF Document Statements For a list of character codes, see the Quick Reference for your FrameMaker product. Use the Char statement for a small set of predefined special characters. Character name Description HardSpace Nonbreaking space SoftHyphen Soft hyphen...
  • Page 138 ADOBE FRAMEMAKER 6.0 MIF Document Statements For version 5.5 of MIF and later, markers are identified by their names. If you open an earlier version MIF file that uses markers of type 11 through type 25, the document will show those marker numbers as the marker names.
  • Page 139 ADOBE FRAMEMAKER 6.0 MIF Document Statements In UNIX versions, you can change the default marker names. For more information, see the online manual, Customizing FrameMaker Products. XRef statement The XRef statement marks a cross-reference in text. It must appear in a ParaLine statement.
  • Page 140: Text Insets (Text Imported By Reference)

    ADOBE FRAMEMAKER 6.0 MIF Document Statements The XRefLocked statement is used for text insets that retain formatting information from the source document. If the <XRefLocked Yes> statement appears in a specific cross-reference, that cross-reference is part of a text inset that retains formatting information from the source document. The cross-reference is not affected by global formatting performed on the document.
  • Page 141 ADOBE FRAMEMAKER 6.0 MIF Document Statements Syntax <TextInset <Unique num> Unique ID number assigned by the FrameMaker product <TiName string> Specifies a name for the text inset that may be assigned by an FDK cli- ent or by this statement in a MIF file; FrameMaker products do not automatically assign a name for the text inset <TiSrcFile pathname>...
  • Page 142 ADOBE FRAMEMAKER 6.0 MIF Document Statements update the text inset when changes are made to the original file.
  • Page 143 ADOBE FRAMEMAKER 6.0 MIF Document Statements There are several different types of text insets. The type of the text inset is identified and described by a substatement: Text created and maintained by an FDK client is described by the TiApiClient substatement. For infor- •...
  • Page 144 `XTND' External XTND filters Note that this is not a comprehensive list of codes. Codes may be added to this list by Adobe or by devel- opers at your site. format_id is a code specifying the format that the filter translates. The code is a string of four characters.
  • Page 145 `TXRM' Text Roman 8 Note that this is not a comprehensive list of codes. Codes may be added to this list by Adobe or by devel- opers at your site. platform is a code specifying the platform on which the filter was run. The code is a string of four characters.
  • Page 146 ADOBE FRAMEMAKER 6.0 MIF Document Statements If the FDK client requires additional information, the client can store the information in the TiClientData substatement. For example, if the FDK client queries a database for text, the SQL query can be stored in the TiClientData substatement.
  • Page 147 ADOBE FRAMEMAKER 6.0 MIF Document Statements Text imported from another document can obtain formatting information from the original document (if the TiFormatting statement is set to TiSource) or from the current document (if the TiFormatting statement is set to TiEnclosing): If the imported text flow is reformatted to use the current document’s formats, the TiFormatRemoveO-...
  • Page 148 ADOBE FRAMEMAKER 6.0 MIF Document Statements <TiTblIsByRow boolean> Yes specifies that each paragraph in the imported text is converted to a row of table cells; No specifies that each paragraph in the imported text is converted to a table cell <TiTblNumCols num>...
  • Page 149: Publishers

    ADOBE FRAMEMAKER 6.0 MIF Document Statements If the TiTblNumHdrRows substatement is not set to 0, the table has header rows. If the TiTblHeader- sEmpty substatement is set to No, these rows are filled with imported text. Publishers Macintosh versions of FrameMaker products support text and graphics Publish and Subscribe, which allows applications to share information dynamically between FrameMaker documents.
  • Page 150: Mif Book File Statements

    MIF Book File Statements MIF book file overview The following table lists the main statements in a MIF book file in the order that a FrameMaker product writes them. You should follow the same order that a FrameMaker product uses, with the exception of the macro statements and control statements, which can appear anywhere at the top level of a file.
  • Page 151: Mif Book File Identification Line

    ADOBE FRAMEMAKER 6.0 MIF Book File Statements MIF book file identification line The MIF book file identification line must be the first line of the file with no leading white space. Syntax <Book version> # comment The version argument indicates the version number of the MIF language used in the file, and comment is a comment showing the name and version number of the program that generated the file.
  • Page 152 ADOBE FRAMEMAKER 6.0 MIF Book File Statements Syntax <PDFBookInfo Specifies the information that appears in the Document Info dic- tionary when you save the book as PDF Each Document Info entry consists of one Key statement fol- lowed by at least one Value statement.
  • Page 153 ADOBE FRAMEMAKER 6.0 MIF Book File Statements Syntax <BDisplayText keyword> The type of text to display next to component icons in the book win- dow; keyword can be one of: AsFilename; displays the filename of the book component in the book window AsText;...
  • Page 154 ADOBE FRAMEMAKER 6.0 MIF Book File Statements Book component pagination and numbering properties <StartPageSide keyword> The page side on which to start keyword can be one of: ReadFromFile (default) NextAvailableSide StartLeftSide StartRightSide Volume numbering <VolumeNumStart integer> Starting volume number <VolumeNumStyle keyword>...
  • Page 155 ADOBE FRAMEMAKER 6.0 MIF Book File Statements <ChapterNumComputeMethod keyword> Chapter numbering keyword can be one of: StartNumbering (restart numbering) ContinueNumbering (continue numbering from previous compo- nent) UseSameNumbering (use the same numbering as previous compo- nent) ReadFromFile (use numbering set for the component’s document) Page numbering <ContPageNum boolean>...
  • Page 156 ADOBE FRAMEMAKER 6.0 MIF Book File Statements <BFNoteNumStyle keyword> Style of footnote numbering keyword can be one of: Arabic UCRoman LCRoman UCAlpha LCAlpha KanjiNumeric ZenArabic ZenUCAlpha ZenLCAlpha Kanjikazu BusinessKazu Custom <BFNoteLabels string> When BFNoteNumStyle is set to Custom, this is the string to use <BFNoteComputeMethod keyword>...
  • Page 157 ADOBE FRAMEMAKER 6.0 MIF Book File Statements <DefaultPrint boolean> Yes adds file to Print scroll list in Print Files in Book dialog box (file is printed); saved for compatibility with versions earlier than 6.0 <DefaultApply boolean> Yes adds file to Update scroll list in the Import Formats dialog box (file is updated);...
  • Page 158 ADOBE FRAMEMAKER 6.0 MIF Book File Statements BookXRef statement The BookXRef statement defines the cross-reference formats for the book. Syntax <BookXRef <XRefDef string> Cross-reference format definition <XRefSrcText string> Text for which to search <XRefSrcIsElem boolean> Yes means the source of the cross-reference is an element from a structured document <XRefSrcFile pathname>...
  • Page 159 ADOBE FRAMEMAKER 6.0 MIF Book File Statements...
  • Page 160: Mif Statements For Structured Documents And Books

    MIF Statements for Structured Documents and Books This chapter describes the MIF statements that define structured documents created with FrameMaker+SGML. For more information about creating and editing structured documents, see the FrameMaker+SGML User Guide. Structural element definitions A structured document created in FrameMaker+SGML is divided into logical units called structural elements.
  • Page 161 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books Syntax <ElementDefCatalog Begin Element Catalog <ElementDef…> Defines an element (see “ElementDef statement,” next) <ElementDef…> Additional statements as needed … > End of statement ElementDef statement The ElementDef statement creates an element definition, which specifies an element’s tag name, content rules, and optional format rules.
  • Page 162 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books <EDInclusions List of included elements <Inclusion > Tag of included element <Inclusion > Additional statements as needed … > End of statement <EDAlsoInsert List of elements that are automatically inserted in a container element when the element is initially added <AlsoInsert...
  • Page 163: Attribute Definitions

    ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books Content rules The content rule for a container element consists of the following statements: A required <EDObject EDContainer> statement specifies the element type. • A required EDGeneralRule statement specifies what the element can contain and in what order the •...
  • Page 164 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books <EDAttrType > Attribute type can be one of: : a value from a list of choices : a signed whole number (optionally restricted to a range of values) : one or more integers (optionally restricted to a range of val-...
  • Page 165: Format Rules

    ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books Format rules Format rules allow the template builder to specify the format of an element in specific circumstances. A format rule can be either a context rule or a level rule.
  • Page 166 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books Syntax <EDTextFormatRules Any combination of level and context format rules <LevelFormatRule…> A level format rule (see “LevelFormatRule statement” on page 169) <ContextFormatRule…> A context format rule (see “ContextFormatRule statement” on page 168) <ContextFormatRule…>...
  • Page 167 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books Syntax <EDPrefixRules Begin prefix rules (any combination of level and context format rules) <LevelFormatRule…> A level format rule (see “LevelFormatRule statement” on page 169) <ContextFormatRule…> A context format rule (see “ContextFormatRule statement” on page 168) <ContextFormatRule…>...
  • Page 168 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books Syntax <EDStartElementRules Begin start element rules (any combination of level and context format rules) <LevelFormatRule…> A level format rule (see “LevelFormatRule statement” on page 169) <ContextFormatRule…> A context format rule (see “ContextFormatRule statement” on page 168) <ContextFormatRule…>...
  • Page 169 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books Syntax <ContextFormatRule Begin context format rule <If…> An If clause (see “If, ElseIf, and Else statements” on page 170) <ElseIf…> An ElseIf clause (see “If, ElseIf, and Else statements” on page 170) <ElseIf…>...
  • Page 170 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books If, ElseIf, and Else statements If, ElseIf, and Else statements specify clauses within ContextFormatRule and LevelFormatRule statements. In a ContextFormatRule statement, they specify a context and one or more statements that define how to change formatting when the context applies.
  • Page 171 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books <Level < Additional formatting statements as needed … > End of statement <Else An optional Else clause < Additional formatting statements as needed … > End of statement Formatting statements If, ElseIf, and Else statements can use the following statements to specify an element’s formatting:...
  • Page 172: Format Change Lists

    ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books Each If, ElseIf, and Else statement can include only one of the following formatting statements: FormatTag • FmtChangeList • FmtChangeListTag • ContextFormatRule • LevelFormatRule • Format change lists A format change list specifies how a paragraph format changes when a format rule clause applies. A change list can specify a change to just a single paragraph property, or it can specify changes to a long list of properties.
  • Page 173 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books If a FmtChangeList statement defines a named change list, it must include an FclTag statement specifying its name. In addition, it must contain one statement for each paragraph format property it changes. For example, if a named change list changes only the first indent by a relative value, it contains only FclTag and PgfFIndentChange statements.
  • Page 174 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books <PgfNumTabs Number of tabs in a paragraph. To clear all the tabs in a paragraph, specify <TabStop Begin definition of tab stop; the following property statements can appear in any order, but must appear within a statement <TSX dimension>...
  • Page 175 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books Default font style <FUnderlining > Turns on underlining and specifies underlining style can be one of: <FOverline > Turns on overline style <FStrike > Turns on strikethrough style <FChangeBar >...
  • Page 176 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books Pagination properties <PgfPlacement > Vertical placement of paragraph in text column can be one of: <PgfPlacementStyle > Placement of side heads, run-in heads, and paragraphs that straddle text columns can be one of: <PgfRunInDefaultPunct string>...
  • Page 177 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books <PgfLanguage > Language to use for spelling and hyphenation can be one of: <PgfTopSeparator > Name of reference frame (from reference page) to put above para- graph <PgfTopSepAtIndent > if the position of the frame specified by the statement is at the current left indent <PgfTopSepOffset...
  • Page 178: Elements

    ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books <PgfCellTMarginFixed > means the top cell margin is fixed <PgfCellRMarginFixed > means the right cell margin is fixed <PgfCellBMarginFixed > means the bottom cell margin is fixed > End of statement.
  • Page 179 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books > End of statement <ElementEnd > End of specified element Usage FrameMaker+SGML writes out the tagstring value in an ElementEnd statement for use by filters. Your application does not need to supply the tagstring value when it writes MIF files.If the interpreter reads unbalanced ElementBegin and ElementEnd statements, it ignores superfluous element ends and closes all open elements at the end of a TextFlow statement.
  • Page 180: Preference Settings For Structured Documents

    ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books <Collapsed No > <SpecialCase No > > # end of ElementBegin <String `Light rail lures commuters away from rush hour traffic.'> # Again, note that both the Item and Bulletlist elements end # before the end of the Para and ParaLine statements.
  • Page 181 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books <DAttributeDisplay > Default attribute display setting for document can be one of: : display all attributes : display required and specified attributes : don’t display attributes <DAttrEditor > When Edit Attributes dialog box appears for new elements...
  • Page 182 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books <ETag > Tag of sibling element following ancestor element <Attributes …> > > End of statement > End of statement <DFCLMaximums Upper change list limits. Format change lists cannot increment prop- erties beyond these values <PgfFIndent...
  • Page 183: Text In Structured Documents

    ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books <PgfCellTMargin > Minimum top cell margin for first paragraph in a cell <PgfCellRMargin > Minimum right cell margin for first paragraph in a cell > End of statement > End of...
  • Page 184 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books Syntax <ElementDefCatalog Begin Element Catalog <ElementDef…> Element definitions (defined on page 161) <ElementDef…> Additional statements as needed … > End of statement Usage The book file inherits the Element Catalog from the document used to generate the book file or from a document given as the source for the Import>Element Definitions command.
  • Page 185 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books <BAttrEditor > When Edit Attributes dialog box appears for new elements can be one of: : never : always : when it is required <BUseInitStructure > means FrameMaker+SGML inserts initial structure for new ele- ments <BSGMLAppName...
  • Page 186 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books <FDW > Minimum character spread allowed in book <TSX dimension> Minimum horizontal position of tab stop <PgfCellLMargin > Minimum left cell margin for first paragraph in a cell <PgfCellBMargin >...
  • Page 187: Mif Messages

    ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books MIF Messages Invalid context specification: parameter. There is a syntax error in an <EDContextSpec> statement in an element definition. EDContainerType has an invalid value. An <EDContainerType> statement uses an invalid value.
  • Page 188 ADOBE FRAMEMAKER 6.0 MIF Statements for Structured Documents and Books Bad general rule for element definition: Syntax Error. A general rule is invalid. Bad general rule for element definition: Connector (, or | or &) expected. A general rule is invalid.
  • Page 189: Mif Equation Statements

    MIF Equation Statements This chapter describes the MIF statements that define equations. Use it as a reference when you write filters for translating documents that include equations. For more information about creating and editing equations, see your FrameMaker product user’s manual. Document statement In addition to document preferences (see “Document statement”...
  • Page 190 ADOBE FRAMEMAKER 6.0 MIF Equation Statements <DMathShowCustom boolean> Specifies whether to show all math elements or only custom elements in Insert Math Element dialog box <DMathFunctions tagstring> Font for functions <DMathNumbers tagstring> Font for numbers <DMathVariables tagstring> Font for variables <DMathStrings tagstring>...
  • Page 191 ADOBE FRAMEMAKER 6.0 MIF Equation Statements <DMathOpPositionB integer> Position of second operand <DMathOpPositionC integer> Position of third operand > End of DMathNew statement > End of DMathCatalog statement Usage You can define new math elements or redefine math elements that appear on the Equations palette. To create a custom math element, add the element’s name and type to the DMathCatalog statement.
  • Page 192 ADOBE FRAMEMAKER 6.0 MIF Equation Statements <Font <FTag `'> <FFamily `MathematicalPi'> <FVar `Six'> <FWeight `Regular'> > # end of Font <String `R'> > # end of TextLine > # end of Frame > # end of Page To insert the new element in an equation, use the char expression (see page 198) and the element’s name in a MathFullForm statement as shown in the following equation: <MathFullForm `equal[in[forall[char[x]],...
  • Page 193 ADOBE FRAMEMAKER 6.0 MIF Equation Statements Redefine the appearance of the element in a reference frame as follows: <Page # Create a named reference page. <PageType ReferencePage > <PageTag `FrameMath1'> # Create a named, unanchored frame. <Frame <FrameType NotAnchored >...
  • Page 194: Math Statement

    ADOBE FRAMEMAKER 6.0 MIF Equation Statements Math statement A Math statement describes an equation within a document. It can appear at the top level or within a Page or Frame statement. Syntax <Math Generic object statements Information common to all objects (see page 111) <Angle integer>...
  • Page 195: Mathfullform Statement

    ADOBE FRAMEMAKER 6.0 MIF Equation Statements MathFullForm statement The MathFullForm statement consists of a string containing a series of expressions that define the mathe- matical structure of an equation. Each expression defines a component of the equation and can be nested within other expressions.
  • Page 196 ADOBE FRAMEMAKER 6.0 MIF Equation Statements Formatting codes are enclosed within asterisk (*) delimiters. If an expression doesn’t contain formatting codes, it cannot contain asterisks. Formatting codes consist of a pair of flags enclosing a numeric value or string, except for boolean flags, which are a single flag. For example, the following expression contains formatting codes that select a display format and a boolean flag to set a manual line break point: <MathFullForm `id[(*i2i*)char[x]]'>...
  • Page 197 ADOBE FRAMEMAKER 6.0 MIF Equation Statements When expressions have multiple display formats, there is one default format. Additional formats are numbered. For example, the id expression has three display formats. Example MathFullForm statement <MathFullForm `id[char[x]]'> <MathFullForm `id[(*i1i*)char[x]]'> <MathFullForm `id[(*i2i*)char[x]]'> Atomic expressions Atomic expressions are expressions that don’t take other expressions as operands.
  • Page 198 ADOBE FRAMEMAKER 6.0 MIF Equation Statements char char describes a character. Example MathFullForm statement <MathFullForm `char[x]'> The char expression can contain one of the letters a through z, one of the letters A through Z, a custom math element, or one of the character names shown in the following table.
  • Page 199 ADOBE FRAMEMAKER 6.0 MIF Equation Statements Example MathFullForm statement <MathFullForm `char[omega]'> <MathFullForm `char[Omega]'> <MathFullForm `char[phi]'> <MathFullForm `char[Phi]'> <MathFullForm `char[pi]'> <MathFullForm `char[Pi]' > <MathFullForm `char[pprime]'> <MathFullForm `char[prime]'> <MathFullForm `char[psi]'> <MathFullForm `char[Psi]'> <MathFullForm `char[Re]'> <MathFullForm `char[rho]'> <MathFullForm `char[sigma]'> <MathFullForm `char[Sigma]'> <MathFullForm `char[tau]'>...
  • Page 200 ADOBE FRAMEMAKER 6.0 MIF Equation Statements Using char for custom math elements The char expression can contain a custom math element by using the following syntax: <MathFullForm `char[(*T" "T*)New]'> where ElementName is the name of the reference frame that contains the custom element.
  • Page 201 ADOBE FRAMEMAKER 6.0 MIF Equation Statements The diacritical expression places diacritical marks around multiple operands and describes two additional diacritical marks. The diacritical expression describes the same marks that the char expression describes, but it can take multiple operands. In addition, the diacritical expression describes two forms of diacritical mark not described by the char expression.
  • Page 202 ADOBE FRAMEMAKER 6.0 MIF Equation Statements Example MathFullForm statement <MathFullForm `acosh[char[x]]'> acosh <MathFullForm `acot[char[x]]'> acot <MathFullForm `acoth[char[x]]'> acoth <MathFullForm `acsc[char[x]]'> acsc <MathFullForm `acsch[char[x]]'> acsch <MathFullForm `angle[char[x]]'> <MathFullForm `arg[char[x]]'> <MathFullForm `asec[char[x]]'> asec <MathFullForm `asech[char[x]]'> asech <MathFullForm `asin[char[x]]'> asin <MathFullForm `asinh[char[x]]'> asinh <MathFullForm `ast[char[x]]'>...
  • Page 203 ADOBE FRAMEMAKER 6.0 MIF Equation Statements Example MathFullForm statement <MathFullForm `diff[char[x]]'> <MathFullForm `diver[char[x]]'> <MathFullForm `downbrace[char[x]]'> <MathFullForm `exp[char[x]]'> <MathFullForm `exists[char[x]]'> <MathFullForm `fact[char[x]]'> <MathFullForm `floor[char[x]]'> <MathFullForm `forall[char[x]]'> <MathFullForm `id[char[x]]'> <MathFullForm `id[(*i1i*)char[x]]'> <MathFullForm `id[(*i2i*)char[x]]'> <MathFullForm `imag[char[x]]'> imag x ñ <MathFullForm `ket[char[x]]'> <MathFullForm `lap[char[x]]'>...
  • Page 204 ADOBE FRAMEMAKER 6.0 MIF Equation Statements Example MathFullForm statement <MathFullForm `rparen[(*i2i*)char[x]]'> <MathFullForm `sec[char[x]]'> <MathFullForm `sech[char[x]]'> sech <MathFullForm `semicolon[char[x]]'> <MathFullForm `sgn[char[x]]'> <MathFullForm `sin[char[x]]'> <MathFullForm `sinh[char[x]]'> sinh <MathFullForm `tan[char[x]]'> <MathFullForm `tanh[char[x]]'> tanh <MathFullForm `therefore[char[x]]'> <MathFullForm `ucomma[char[x]]'> <MathFullForm `uequal[char[x]]'> <MathFullForm `upbrace[char[x]]'> <MathFullForm `var[char[x]]'>...
  • Page 205 ADOBE FRAMEMAKER 6.0 MIF Equation Statements Example MathFullForm statement <MathFullForm `function[oppartial[char[x]],char[x]]'> <MathFullForm `function[optotal[char[x]],char[x]]'> <MathFullForm `inprod[char[x],char[x]]'> ( , ) <MathFullForm `lim[char[x],char[x]]'> <MathFullForm `over[char[x],char[x]]'> <MathFullForm `power[char[x],char[x]]'> <MathFullForm `sn[char[x],char[x]]'> <MathFullForm `sn[(*i1i*)char[x],char[x]]'> function a. Partial and full differentials are a special case of N-ary operators N-ary operators have two or more operand expressions.
  • Page 206 ADOBE FRAMEMAKER 6.0 MIF Equation Statements Example MathFullForm statement <MathFullForm `equal[char[x],char[x]]'> <MathFullForm `equiv[char[x],char[x]]'> <MathFullForm `geq[char[x],char[x]]'> <MathFullForm `gg[char[x],char[x]]'> » <MathFullForm `greaterthan[char[x],char[x]]'> <MathFullForm `in[char[x],char[x]]'> à <MathFullForm `jotdot[char[x],char[x]]'> <MathFullForm `leftarrow[char[x],char[x]]'> <MathFullForm `Leftarrow[char[x],char[x]]'> <MathFullForm `leq[char[x],char[x]]'> <MathFullForm `lessthan[char[x],char[x]]'> <MathFullForm `list[char[x],char[x]]'> <MathFullForm `ll[char[x],char[x]]'> « <MathFullForm `lrarrow[char[x],char[x]]'>...
  • Page 207 ADOBE FRAMEMAKER 6.0 MIF Equation Statements Example MathFullForm statement <MathFullForm `subset[char[x],char[x]]'> <MathFullForm `subseteq[char[x],char[x]]'> <MathFullForm `supset[char[x],char[x]]'> <MathFullForm `supseteq[char[x],char[x]]'> <MathFullForm `times[char[x],char[x]]'> <MathFullForm `vee[char[x],char[x]]'> <MathFullForm `wedge[char[x],char[x]]'> Large operators Large operator expressions have one primary operand. In addition, they can have one or two range operands.
  • Page 208 ADOBE FRAMEMAKER 6.0 MIF Equation Statements Sums, products, and integrals have three display formats. The formats are the same for all of these operators; as an example, the following table shows the display formats for an integral with three operands.
  • Page 209 ADOBE FRAMEMAKER 6.0 MIF Equation Statements Example MathFullForm statement <MathFullForm `substitution[char[x],char[x],char[x]]'> page 205 Indexes There are three expressions for describing indexes: indexes, chem, and tensor. indexes: The indexes expression describes any number of subscripts and superscripts. The first operand is the number of superscripts and the second operand is the number of subscripts.
  • Page 210 ADOBE FRAMEMAKER 6.0 MIF Equation Statements Example MathFullForm statement <MathFullForm `chem[1,0,1,1,char[x],num[1,"1"],num[2,"2"], num[3,"3"]]'> <MathFullForm `chem[1,1,1,1,char[x],num[1,"1"],num[2,"2"], num[3,"3"],num[4,"4"]]'> tensor: The tensor expression represents specially formatted tensor notation. The first operand describes the position of the tensor indexes; subsequent operands define the indexes. The leftmost tensor index corresponds to the least significant bit of the first operand in binary format;...
  • Page 211 ADOBE FRAMEMAKER 6.0 MIF Equation Statements Example MathFullForm statement <MathFullForm `matrix[3,2,num[1,"1"],num[2,"2"],num[3,"3"], num[4,"4"],num[5,"5"],num[6,"6"]]'> Custom operators The following expressions allow you to use custom operators that have been defined on a math reference page: Expression Definition newinfix[x,y] Inserts custom infix operator newprefix[x]...
  • Page 212 ADOBE FRAMEMAKER 6.0 MIF Equation Statements You would use the following MathFullForm statement: <MathFullForm `asin[(*T"Inverse Sine"T*) ]'> where the string "Inverse Sine" is the name given to the frame on the reference page. Sample equations The following examples show MathFullForm statements for complete equations.
  • Page 213: Mif Asian Text Processing Statements

    MIF Asian Text Processing Statements This chapter describes the MIF statements used to express Asian text in a document. It includes character encoding statements, combined Asian and Western fonts, Kumihan tables, and rubi text. Asian Character Encoding Western text in a MIF file is written out as 7-bit ASCII. However, 7-bit encoding is insufficient for Asian text.
  • Page 214: Combined Fonts

    ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements To determine which encoding was used, each MIF file that contains Chinese text must include a MIFEn- coding statement near the beginning of the file. It must appear before any Chinese text in the file. The string value in the MIFEncoding statement is the Chinese spelling of the word “Chinese”.
  • Page 215 ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements CombinedFontCatalog statement Combined fonts are defined for the document in the CombinedFontCatalog statement. For each combined font, there is a CombinedFontDefn statement that specifies the combined font name and identifies the Asian and the Roman component fonts. Note that the combined font catalog must precede the first PgfFont and Font statements in the document.
  • Page 216 ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements Example The following is an example of a combined font catalog: <CombinedFontCatalog <CombinedFontDefn <CombinedFontName `MyCombinedFont'> <CombinedFontBaseFamily `Osaka'> <CombinedFontWesternFamily `Times'> <CombinedFontWesternSize 75.0%> <CombinedFontWesternShift 0.0%> <CombinedFontBaseEncoding `JISX0208.ShiftJIS'> <CombinedFontAllowBaseFamilyBoldedAndObliqued Yes> > # end of CombinedFontDefn >...
  • Page 217: Kumihan Tables

    ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements … > End of the PgfFont statement Example The following is an example of a combined font in a Para statement: <Para <Unique 996885> <PgfTag `Body'> <ParaLine <Font <FTag `'> <FPlatformName `M.Osaka.P'>...
  • Page 218 ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements Understanding Kumihan tables Kumihan tables specify line composition rules by assigning characters to various classes, and then speci- fying four tables of rules that apply to the characters of each class. The CharClass statement assigns each character to one of 25 classes. For example, the BegParentheses class and the EndParentheses class are defined by the following MIF statements, and they contain the characters shown in the statement.
  • Page 219 ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements Writing Kumihan tables as MIF FrameMaker only writes out Kumihan tables in MIF when you are running FrameMaker on Asian system software. If you are running on an Asian system, when you save a document as MIF, the Kumihan tables are written out as part of the document.
  • Page 220 ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements Kumihan statement The Kumihan statement defines a set of Kumihan tables. A document can have one set of tables for each of the four supported Asian languages. Syntax <Kumihan Defines a Kumihan table <KLanguage keyword>...
  • Page 221 ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements Column Posi- MIF Statement tion Description <PeriodComma chars> Punctuation that is not centered <NonSeparableChar chars> Characters that cannot have line breaks between them <PrecedingSymbol chars> Characters such as currency symbols (¥ or $) <SucceedingSymbol chars>...
  • Page 222 ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements Any character that is not assigned to a class is automatically assigned to the <Others> class. When speci- fying classes, you should not assign any characters to <Others>. In fact, it is not necessary to include a MIF statement for <Others>.
  • Page 223 ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements Usage The SqueezeHorizontal and SqueezeVertical statements include 25 numerical values, one for each character class. The values are separated by a space. An example of a squeeze table statement is: <SqueezeTable <SqueezeHorizontal...
  • Page 224 ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements <BaseCharWithSuper numerals> <BaseCharWithRubi numerals> <Numeral numerals> <UnitSymbol numerals> <RomanSpace numerals> <RomanChar numerals> <ParenBeginWariChu numerals> <ParenEndWariChu numerals> <Spare1 numerals> <Spare2 numerals> <Spare3 numerals> <Spare4 numerals> <Spare5 numerals> <LineBeginEndnumerals> > End of SpreadTable statement...
  • Page 225 ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements Usage Each statement row in the spread table includes 26 numerical values, one for each character class, and an added value for the characters at the beginning or the end of a line. The values are separated by a space. An example of a spread table is: <SpreadTable...
  • Page 226 ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements <Hiragana numerals> <Others> <BaseCharWithSuper numerals> <BaseCharWithRubi numerals> <Numeral numerals> <UnitSymbol numerals> <RomanSpace numerals> <RomanChar numerals> <ParenBeginWariChu numerals> <ParenEndWariChu numerals> <Spare1 numerals> <Spare2 numerals> <Spare3 numerals> <Spare4 numerals> <Spare5 numerals> > End of LineBreakTable statement...
  • Page 227 ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements In the preceding example, a line break can occur between a character in the EndParentheses class and a character in the NonSeparableChar class because the value 0 (Line break is allowed) is in the seventh position, which is the column position for the NonSeparableChar class of characters.
  • Page 228: Rubi Text

    ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements <Spare3 numerals> <Spare4 numerals> <Spare5 numerals> > End of ExtraSpaceTable statement The possible values for numerals are: Usage Each statement row in the extra space table includes 25 numerical values, one for each character class. The values are separated by a space.
  • Page 229 ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements Document statement In addition to document preferences (see “Document statement” on page 98), the MIF Document statement describes standard formats for rubi text. The rubi formatting substatements correspond to settings in the Rubi Properties dialog box.
  • Page 230 ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements Example <Document . . . <DRubiSize 50%> <DRubiOverhang Yes> <DRubiAlignAtBounds Yes> <DWideSpaceForJapanese Proportional> <DNarrowSpaceForJapanese Proportional> <DWideSpaceForOther Narrow> <DNarrowSpaceForOther Narrow> . . . > # end of Document RubiCompositeBegin statement The RubiCompositeBegin statement is always matched with a RubiCompositeEnd statement. Between them are the contents of the rubi composite;...
  • Page 231 ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements Example - unstructured <Paraline <String ` kumihan '> . . . <RubiCompositeBegin <String ` '> <RubiTextBegin <String ` '> <RubiTextEnd > <RubiCompositeEnd > > # end of ParaLine Example - structured <Paraline <String ‘Some text ’>...
  • Page 232 ADOBE FRAMEMAKER 6.0 MIF Asian Text Processing Statements...
  • Page 233: Text Example

    Examples The examples in this appendix show how to describe text and graphics in MIF files. (The current examples are valid only for unstructured documents.) You can import the MIF file into an existing FrameMaker template, or you can open the MIF file as a FrameMaker document. In either case, if you save the resulting document in MIF format, you will create a complete description of the document—not just the text or graphics.
  • Page 234 ADOBE FRAMEMAKER 6.0 Examples <MIFFile 6.00> # Identifies this as a MIF file. # The macros below are used only for the second paragraph of text, # to illustrate how they can ease the process of MIF generation. define(pr,`<Para ) define(ep,`>...
  • Page 235: Bar Chart Example

    ADOBE FRAMEMAKER 6.0 Examples # Second paragraph of text.Macros defined earlier are used here. # This paragraph inherits the format of the previous one, since # there’s no PgfTag or Pgf statement to override it. ln `You can write programs that convert graphics or documents' en ln `into a MIF file and then import the MIF file into a FrameMaker' en ln `document with the graphics and document formats intact.' en...
  • Page 236 ADOBE FRAMEMAKER 6.0 Examples Shares'> > # end of TextLine # Boxes for Brand F and Brand I legends. <Rectangle <GroupID 1> <Fill 1> <ShapeRect 1.36" 0.33" 0.38" 0.13"> > <Rectangle <GroupID 1> <Fill 4> <ShapeRect 1.36" 0.54" 0.38" 0.13">...
  • Page 237 ADOBE FRAMEMAKER 6.0 Examples > <TextLine <GroupID 1> <TLOrigin 1.58" 2.51"> <TLAlignment Center> <String ` 1987 '> > <TextLine <GroupID 1> <TLOrigin 2.08" 2.51"> <TLAlignment Center> <String ` 1988 '> > <TextLine <GroupID 1> <TLOrigin 2.58" 2.51"> <TLAlignment Center> <String ` 1989 '>...
  • Page 238: Pie Chart Example

    ADOBE FRAMEMAKER 6.0 Examples > <Rectangle <GroupID 1> <ShapeRect 2.10" 1.22" 0.13" 1.13"> > <Rectangle <GroupID 1> <ShapeRect 2.60" 0.85" 0.13" 1.50"> > # Define the group for all the objects to make the chart easier to # manipulate after it's imported into a FrameMaker document.
  • Page 239: Custom Dashed Lines

    ADOBE FRAMEMAKER 6.0 Examples > # Continue clockwise around the chart. <Arc <Fill 5> <GroupID 1> <ArcRect 12 11 144 144 > <ArcTheta 58> <ArcDTheta 77> > <Arc <Fill 2> <GroupID 1> <ArcRect 12 11 144 144 > <ArcTheta 135> <ArcDTheta 108>...
  • Page 240 ADOBE FRAMEMAKER 6.0 Examples <PolyLine <DashedPattern <DashedStyle Dashed> <NumSegments 2> <DashSegment 0.5pt> <DashSegment 20pt> > # end of DashedPattern # The polyline inherits round head caps and tail caps from # the previous PolyLine statement. <NumPoints 2> <Point 1.0" 2">...
  • Page 241: Table Examples

    ADOBE FRAMEMAKER 6.0 Examples <NumPoints 2> <Point 1.0" 4"> <Point 7.5" 4"> > # end PolyLine # This one is a really dense dotted line. <PolyLine <DashedPattern <DashedStyle Dashed> <DashSegment 1pt> <DashSegment 1pt> > # This polyline also inherits the butt cap and tail style # from the previous PolyLine statement.
  • Page 242 ADOBE FRAMEMAKER 6.0 Examples <MIFFile 6.00> # Generated by StockWatcher; identifies this as a # MIF file. <Tbls <Tbl <TblID 1> # This table’s ID is 1. <TblFormat <TblTag `Format A'> # Forces a lookup in the Table Catalog # with the following exceptions: <TblColumn...
  • Page 243 ADOBE FRAMEMAKER 6.0 Examples <TblTitleContent <Para <PgfTag `TableTitle'> # Forces lookup in Paragraph Catalog. <ParaLine <String `StockWatch'> > # end of ParaLine > # end of Para > # end of TblTitleContent > # end of TblTitle <TblH # The heading.
  • Page 244 ADOBE FRAMEMAKER 6.0 Examples <ParaLine <String `Streck Metals'>>>> > # end of Cell <Cell <CellContent <Para <PgfTag `CellBody'> # Forces lookup in Paragraph Catalog. <ParaLine <String `$27.25'>>>> > # end of Cell <Cell <CellContent <Para <PgfTag `CellBody'> # Forces lookup in Paragraph Catalog.
  • Page 245: Database Publishing

    ADOBE FRAMEMAKER 6.0 Examples <MIFFile 6.00> <VariableFormats <VariableFormat <VariableName `90 Revenue'> <VariableDef `2,342,165'> > <VariableFormat <VariableName `91 Revenue'> <VariableDef `3,145,365'> > > When you import the MIF file into the document that contains the table, a FrameMaker product updates the variables in the table.
  • Page 246 ADOBE FRAMEMAKER 6.0 Examples When the sales representative clicks Publish, a database procedure scans the database, retrieves the requested information, and writes a MIF file that contains all of the information in a fully formatted document. The final document looks like this: The data from the database is published as a FrameMaker table.
  • Page 247 ADOBE FRAMEMAKER 6.0 Examples When the document has the appearance you want, save it as a MIF file. Edit the MIF file to create a MIF template that you can include in your generated MIF file (see “Including template files” on page 55). The MIF template used for this example is in the sample file coffee.mif.
  • Page 248 ADOBE FRAMEMAKER 6.0 Examples...
  • Page 249 ADOBE FRAMEMAKER 6.0 Examples...
  • Page 250 ADOBE FRAMEMAKER 6.0 Examples Creating several tables The previous example illustrates how to use a database to create one table instance. Both the Tbls and the TextFlow statements are written to a single text file. This approach, however, is limited to this simple case.
  • Page 251 ADOBE FRAMEMAKER 6.0 Examples If you are using 4th Dimension, the procedure should have the following statements: As you process the records, you write the table data to the second include file by referring to the vTbls variable in a SEND PACKET command. For example: The main MIF file would have the following components: <MIFFile 6.00>...
  • Page 252 ADOBE FRAMEMAKER 6.0 Examples...
  • Page 253: Mif Messages

    MIF Messages When the MIF interpreter reads a MIF file, it might detect errors such as unexpected character sequences. In UNIX versions, the MIF interpreter displays messages in a console window. In the Macintosh and Windows versions, you must turn on Show File Translation Errors in the Preferences dialog box to display messages in a window (a console window in the Windows version).
  • Page 254 ADOBE FRAMEMAKER 6.0 MIF Messages This message Means Cannot find text frame ID n. The text frame ID specified in a TextRectID statement has no corresponding defined text frame. Cannot open filename. Make sure that the file exists and that you have read access to it;...
  • Page 255 ADOBE FRAMEMAKER 6.0 MIF Messages This message Means Object ignored; must come before <TextFlow> statements. All object statements must come before the first TextFlow state- ment in a MIF file. PDF Document Info key has incorrect syntax or is too long: The value supplied for the Key statement was incorrect.
  • Page 256 ADOBE FRAMEMAKER 6.0 MIF Messages This message Means WARNING: Circular text flow was found and cut. The MIF file defined a set of linked text frames resulting in a circular text flow. (The last text frame in the flow is linked to the first or to one in the middle.) The MIF interpreter attempted to solve the...
  • Page 257: Mif Compatibility

    MIF Compatibility MIF files are compatible across versions. However, some MIF statements have changed in version 5.5 of the FrameMaker products. This appendix lists the MIF statements that are new or have changed in version 5.5 and describes how these statements are treated when an earlier version reads a MIF 5.5 file. The appendix also lists changes between versions 5 and 4, and between versions 4 and 3 of the FrameMaker products.
  • Page 258: Changes Between Version 5 And 5.5

    ADOBE FRAMEMAKER 6.0 MIF Compatibility Book Components Book components store numbering properties to use when generating a book. The following table shows the new MIF statements for managing different types of numbering: Volume Chapter Page Footnote Table Footnote VolumeNumStart ChapterNumStart...
  • Page 259 ADOBE FRAMEMAKER 6.0 MIF Compatibility Document statements The DPageNumStyle and DFNoteNumStyle statements have new keywords to express Japanese footnote numbering formats. The new keywords are ZenLCAlpha, ZenUCAlpha, KanjiNumeric, KanjiKazu, and BusinessKazu. DTrapwiseCompatibility is a new statement that determines whether generated PostScript will be optimized for the TrapWise application.
  • Page 260: Changes Between Versions 4 And 5

    ADOBE FRAMEMAKER 6.0 MIF Compatibility Graphic object statements If the Overprint statement is not present in a graphic object, the overprint setting for the object’s color is assumed. ObTint applies a tint to whatever color is assigned to the object. If the object’s color already has a tint, the two tint values are added together.
  • Page 261 Document statements In version 5, the DAcrobatBookmarksIncludeTagNames statement has been added under the Document statement to support the conversion of paragraph tags to bookmarks in Adobe Acrobat. By default, this statement is set to No. Another new statement, DGenerateAcrobatInfo, sets print options to the required states for generating Acrobat information.
  • Page 262 ADOBE FRAMEMAKER 6.0 MIF Compatibility In version 5, if a FrameMaker product finds the DMaxInterLine and DMaxInterPgf statements in a 4.00 document, the FrameMaker product applies these settings to all flows in the document. Text frame and text flow statements Version 5 introduces text frames, which are composed of any number of text columns separated by a standard gap.
  • Page 263 ADOBE FRAMEMAKER 6.0 MIF Compatibility As a result, the following changes to 4.00 MIF have been made: The FrameType statement now supports the additional keywords Inside, Outside, and RunIntoPara- • graph. The AnchorAlign statement now supports the additional keywords Inside and Outside.
  • Page 264: Changes Between Versions 3 And 4

    ADOBE FRAMEMAKER 6.0 MIF Compatibility FrameVector graphic format In version 5, a new internal graphic format, FrameVector, is supported for imported vector graphics. The specifications for this facet are described in , “FrameVector Facet Format.” Changes between versions 3 and 4 This section describes the changes to MIF syntax between versions 3 and 4 of the FrameMaker products.
  • Page 265 ADOBE FRAMEMAKER 6.0 MIF Compatibility MIF 3.00 MIF 4.00 <DChBarSeparation integer> <DChBarColor string> Separation values refer to the reserved, default colors that appear in the Color pop-up menu in the FrameMaker Tools palette. This value Corresponds to this color <Separation 0>...
  • Page 266 ADOBE FRAMEMAKER 6.0 MIF Compatibility MIF 3.00 MIF 4.00 <FDoubleUnderline boolean> <FUnderlining FDouble> <FNumericUnderline boolean> <FUnderlining FNumeric> <FSupScript boolean> <FPosition FSuperscript> <FSubScript boolean> <FPosition FSubscript> If your application only reads or writes files for version 4 or later versions of FrameMaker, use only the 4.00 statements.
  • Page 267 ADOBE FRAMEMAKER 6.0 MIF Compatibility Document statements The following changes have been made to Document statements. MIF 3.00 MIF 4.00 <DCollateSeparations boolean> <DNoPrintSepColor> and <DPrintProcessColor> In addition, the Document statement has a number of new property statements that set options for View Only documents (see page 104), set options for structured documents, and define custom math operators (see page 190).
  • Page 268 ADOBE FRAMEMAKER 6.0 MIF Compatibility...
  • Page 269: Facet Formats For Graphics

    Facet Formats for Graphics When you copy a graphic into a FrameMaker document, the FrameMaker document stores the graphic data in one or more facets. Each facet contains data in a specific graphic format. FrameMaker products use facets to display and print graphics. In UNIX versions of FrameMaker products, you can associate a graphic application with a FrameMaker product through the FrameMaker API or through the FrameServer interface.
  • Page 270: Basic Facet Format

    ADOBE FRAMEMAKER 6.0 Facet Formats for Graphics Native platform facet (QuickDraw PICT, WMF) • FrameVector • FrameImage • TIFF • Other bitmap facets • All versions of FrameMaker products recognize EPSI (with DCS Cyan, DCS Magenta, DCS Yellow, and DCS Black for color separations), TIFF, FrameImage, and FrameVector facets. Macintosh versions of FrameMaker products also recognize QuickDraw PICT and QuickTime facets.
  • Page 271 ADOBE FRAMEMAKER 6.0 Facet Formats for Graphics Facet data The remaining lines contain the facet data. Each line begins with an ampersand (&). The end of the data for a facet is marked by the beginning of a new facet. Thus, a line with a new facet name signals the end of the previous facet data.
  • Page 272: Graphic Insets (Unix Versions)

    ADOBE FRAMEMAKER 6.0 Facet Formats for Graphics Metric data Metric data describes a graphic in terms of units of measurement. The following table shows the abbrevi- ations used to denote units within a facet. Units Abbreviation Centimeters Ciceros cicero, cc...
  • Page 273 ADOBE FRAMEMAKER 6.0 Facet Formats for Graphics To edit an external graphic inset from a FrameMaker product, users must open the FrameMaker product document, select the graphic inset, and choose the Graphic Inset command from the Special menu. The FrameMaker product passes the external graphic inset filename to your application and instructs your application to edit the graphic inset.
  • Page 274 ADOBE FRAMEMAKER 6.0 Facet Formats for Graphics A MIF ImportObEditor statement names the main editor for application-specific facets in the graphic inset file. A MIF ImportObFileDI statement specifies the device-independent pathname for the graphic inset file. For more information on device-independent pathnames, see the section “Device-independent pathnames”...
  • Page 275 ADOBE FRAMEMAKER 6.0 Facet Formats for Graphics <MIFFile 6.00> <ImportObject <ImportObEditor inset_editor_name> <ImportObFile `2.0 internal inset’> =facet_name &data_type &facet_data =facet_name &data_type &facet_data =EndInset > Because the graphic inset is stored in the FrameMaker product document, the file does not have an Impor- tObFileDI statement.
  • Page 276 ADOBE FRAMEMAKER 6.0 Facet Formats for Graphics The following illustration shows the relationship between your application, the FrameMaker product document, and a graphic inset file with a local application-specific facet.
  • Page 277 ADOBE FRAMEMAKER 6.0 Facet Formats for Graphics Remote application-specific facets A remote application-specific facet contains the pathname or database key for an existing data file or database. Since application-specific data is normally duplicated in a separate application file, remote facets conserve file space.
  • Page 278: General Rules For Reading And Writing Facets

    ADOBE FRAMEMAKER 6.0 Facet Formats for Graphics Example of graphic inset file The following example is the external graphic inset file generated by the fmbitmap program, which is shipped with the UNIX version of the FDK. The graphic inset file is named /tmp/default.fi. The application-specific facet for this graphic inset (the file generated by the fmbitmap program) is stored in a remote facet in the file /tmp/default.
  • Page 279 ADOBE FRAMEMAKER 6.0 Facet Formats for Graphics Facet data in hexadecimal must contain valid hexadecimal digits only (0-9, A-F) and cannot contain backslash (\) characters. When you write a facet containing hexadecimal data, do not write newline characters (\r or \n) at the end of the lines.
  • Page 280: Epsi Facet Format

    EPSI Facet Format EPSI is an interchange standard developed by Adobe Systems Incorporated. You can obtain a complete specification of the EPSI format from Adobe Systems Incorporated. Imported graphics can contain graphic data in EPSI format. This data is called the EPSI facet of the graphic.
  • Page 281 ADOBE FRAMEMAKER 6.0 EPSI Facet Format <ImportObject <BRect 0 0 0.25" 0.25"> <Pen 15> <Fill 15> <ImportObFile `2.0 internal inset'> =EPSI &%v &%!PS-Adobe-2.0 EPSF-2.0\n &%%BoundingBox: 0 0 18 18\n &%%Pages: 0\n &%%Creator: contr2\n &%%CreationDate: Tue Apr 25 16:09:56 1989\n &%%EndComments\n &%%BeginPreview: 18 18 1 18\n...
  • Page 282: Frameimage Facet Format

    FrameImage Facet Format FrameImage is a format for bitmap graphics that is recognized by FrameMaker products on all platforms. The specification of the FrameImage format is documented in this appendix. Imported graphics can contain graphic data in FrameImage format. This data is called the FrameImage facet of the graphic.
  • Page 283 ADOBE FRAMEMAKER 6.0 FrameImage Facet Format Header The header describes properties of the imported graphic. These properties are described by eight 32-bit integer values, such as the values shown in the following example: &59a66a95 &00000040 &00000040 &00000001 &00000000 &00000001 &00000000 &00000000...
  • Page 284: Color Map

    ADOBE FRAMEMAKER 6.0 FrameImage Facet Format struct rasterfile { IntTras_magic;/* magic number */ IntTras_width;/* width (pixels) of image */ IntTras_height;/* height (pixels) of image */ IntTras_depth;/* depth (1, 8, or 24 bits) of pixel */ IntTras_length;/* length (bytes) of image */ IntTras_type;/* type of file;...
  • Page 285: Differences Between Monochrome And Color

    ADOBE FRAMEMAKER 6.0 FrameImage Facet Format The color map defines 256 colors. Each color contains a red, green, and blue level of intensity. The values of the first red byte, first green byte, and first blue byte define the first color in the map; the values of the second red, green, and blue bytes define the second color, and so forth.
  • Page 286 ADOBE FRAMEMAKER 6.0 FrameImage Facet Format Property Value ras_maplength An example of the header for a monochrome graphic is shown below: &59a66a95 &00000040 &00000040 &00000001 &00000000 &00000001 &00000000 &00000000 A monochrome graphic has no color map. Each data byte represents eight pixels, and the most significant bit is the leftmost pixel.
  • Page 287: Sample Unencoded Frameimage Facet

    ADOBE FRAMEMAKER 6.0 FrameImage Facet Format Sample unencoded FrameImage facet The sample FrameImage facet in this section describes the following illustration. Note that no color map is included in the description, because the graphic is in black and white. =FrameImage &%v...
  • Page 288: Sample Encoded Frameimage Facet

    ADOBE FRAMEMAKER 6.0 FrameImage Facet Format Sample encoded FrameImage facet The sample FrameImage facet in this section describes the same illustration. Note that no color map is included in the description, because the graphic is in black and white. Unlike the previous file, this graphic file is in encoded format.
  • Page 289 ADOBE FRAMEMAKER 6.0 FrameImage Facet Format 03FF 000001 03FF 000001 03FF 000001 03FF 000001 03FF 000001 03FF 000001 07FF dInset...
  • Page 290: Framevector Facet Format

    FrameVector Facet Format FrameVector is a format for vector graphics that is recognized by FrameMaker products on all platforms. The specification of the FrameVector format is documented in this appendix. Imported graphics can contain graphic data in FrameVector format. This data is called the FrameVector facet of the graphic.
  • Page 291 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Definition • The definition op codes specify the version of the FrameVector graphic and any global information used in the graphic, such as colors. Any definitions used by the style and object op codes must be specified before these op codes.
  • Page 292 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Op code Description of op code Location 0x29 Smoothed 0x2A Font name 0x2B Font size 0x2C Font style 0x2D Font color 0x2E Font weight 0x2F Font angle 0x30 Font variation 0x31 Font horizontal kerning...
  • Page 293 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Data types used in specifications The following table lists the data types used for the specifications in this appendix. Type Definition byte unsigned 8-bit integer short unsigned 16-bit integer long signed 32-bit integer unsigned long...
  • Page 294 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Bounding rectangle (0x02) Specification by data type: Metric, metric, metric, metric Description of data: Position of graphic (metric, metric) Width of graphic (metric) Height of graphic (metric) Size of data in bytes: Example: 02 00000010 00000000 00000000 020A0000 00BD0000...
  • Page 295 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Example: 03 0000001B 00 0B 53 61 67 65 20 47 72 65 65 6E 00 00280000 00410000 00330000 for a color named Sage Green with the following specifications: red = 40% (0028) green = 65% (0041)
  • Page 296 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Dashed line style (0x06) Specification by data type: Short, metric, ... , metric Description of data: Number of dash segments (short) Length of dash segments in points (metric, ..., metric) Size of data in bytes:...
  • Page 297 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Size of data in bytes: Default value: Example: 20 00000004 00500000 for the rotation angle of 80° Pen pattern (0x21) Specification by data type: Byte Description of data: Index to pen patterns (see “Values for Pen and Fill statements” on page 113)
  • Page 298 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Color (0x24) Specification by data type: String Description of data: Name of color tag Size of data in bytes: Variable Default value: Black Example: 24 00000006 00 06 42 6C 61 63 6B 00...
  • Page 299 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Example: 27 00000001 00 for arrow style Tail cap style (0x28) Specification by data type: Byte Description of data: Style of tail cap or line end (0:arrow, 1:butt, 2:round, 3:square) Size of data in bytes:...
  • Page 300 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Font size (0x2B) Specification by data type: Metric Description of data: Point size of font Size of data in bytes: Default value: default font size Example: 2B 00000004 000C0000 for a 12 point font...
  • Page 301 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Example: 03 0000001B 00 0B 53 61 67 65 20 47 72 65 65 6E 00 for a font in the color Sage Green Font weight (0x2E) Specification by data type: String Description of data:...
  • Page 302 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Example: 31 00000004 00008000 for a font kerning of 50% of an em to the right (0.50) 31 00000004 FFFF8000 for a font kerning of 50% of an em to the left (-0.50) Font vertical kerning (0x32)
  • Page 303 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Example: 80 00000010 01320000 00240000 007E0000 007E0000 for an ellipse with the following specifications: x position = 306 points (0132) y position = 36 points (0024) width = 126 points (007E) height = 126 points (007E)
  • Page 304 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Note: When smoothed style is on, this object becomes a Bezier curve. Rectangle (0x83) Specification by data type: Rectangle Description of data: Position and size of rectangle in points Size of data in bytes:...
  • Page 305 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Example: 85 00000018 00490000 00270000 007C0000 008C0000 00000000 005A0000 for an arc with the following specifications: x position = 73 points (0049) y position = 39 points (0027) width = 124 points (007C) height = 140 points (008C) start angle = 0°...
  • Page 306 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Beginning of text line (0x87) Specification by data type: Point, byte Description of data: Baseline origin of the text line in points (point) Text line alignment (byte — 0:left, 1:center, 2:right) Size of data in bytes:...
  • Page 307 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Example: 8A 00000010 00670000 004F0000 00130000 003C0000 for a clipping rectangle with the following specifications: x position = 103 points (0067) y position = 79 points (004F) width = 19 points (0013) height = 60 points (003C) Note: Clipping rectangles are unique to the FrameVector format.
  • Page 308: Sample Framevector Facet

    ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Sample FrameVector facet The sample FrameVector facet in this section describes the following illustration: This illustration is composed of the following graphic objects: A rectangle with no border and a gray fill • A polygon defined by three points, a black border, and no fill •...
  • Page 309 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format &220000000104 The rotation angle is 0°. • &200000000400000000 The position of the rectangle is (122 points, 82 points). • &8300000010007A000000520000 The size of the rectangle is 192 points by 25 points. • 00C0000000190000 Specification of the polygon The polygon in this example has the following specifications: The pen pattern is solid (00).
  • Page 310 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format &2A0000000C00000A\xHelvetica\x00 The text line uses a 9-point font. • &2B0000000400090000 The font variation is Regular. • &300000000A0008526567756C617200 The font angle is Regular. • &2F0000000A0008526567756C617200 The font weight is Regular. • &2E0000000A0008526567756C617200 The font word spread value is 50%.
  • Page 311 ADOBE FRAMEMAKER 6.0 FrameVector Facet Format Specification of the arc The arc in this example has the following specifications: The fill pattern of the arc is none (0F). • &22000000010F The style of the head cap of the arc is square.
  • Page 312 Index Symbols approx 205 BegParentheses 220 # (number sign) 69 ArcDTheta 116 BElementCatalogScope 184 &%i 121 ArcRect 116 BFCLMaximums 185 &%m 121 ArcTheta 116 BFCLMinimums 185 &%v 121 arg 202 BFNoteLabels string> 156 &\x 121 ArrowStyle BFNoteNumComputeMethod 156 ' (straight quotation mark) 11 in Arc 116 BFNoteNumStartNum 155 <...
  • Page 313 bullet 204 change bars, properties 103 ColorMagenta 95 BUseInitStructure 185 chapter numbering ColorOverprint 95 BViewOnly 152 in a book 154 ColorTag 95 BViewOnlyNoOp 152 ChapterNumCompute ColorTint 95 Method 101, 155 BViewOnlyWinBorders 152 ColorTintBaseColor 95 ChapterNumStart 101, 154 BViewOnlyWinMenubar 152 ColorYellow 95 ChapterNumStyle 101, 154 BViewOnlyWinPopup 152 ColumnGap 110...
  • Page 314 cosh 202 DColumnGap 100 diacritical 201 cot 202 DColumns 100 Dictionary 108 coth 202 DCurrentView 104 diff 203 CountElement 169 DCustomElementList 180 DInclusions 181 CountElements 169 DDisplayOverrides 102 div 204 Cropped 118 DefaultApply 157 diver 203 cross 204 DefaultDerive 157 DLanguage 105 cross-references 139 DefaultPrint 157...
  • Page 315 DMathSmallLevel1 189 DPagePointStyle 101 DTwoSides 101 DMathSmallLevel2 189 DPageRounding 102 dummy 201 DMathSmallLevel3 189 DPageScrolling 104 DUpdateDataLinksOnOpen 261 DMathSmallSigma 189 DPageSize 100 DUpdateTextInsetsOnOpen 105 DMathSmallVert 189 DParity 102 DUpdateXRefsOnOpen 105 DMathStrings 190 DPDFAllNamedDestinations 106 DUseInitStructure 181 DMathVariables 190 DPDFBookmarks 106 DViewOnly 104 DMaxInterLine 261 DPDFDestsMarked 106...
  • Page 316 EDPrefixRules 167 optional operands in 208 fill pattern EDStartElementRules 168 rotation 194 default for body cells 86 EDSuffixRules 162 samples of 195, 212 default for heading/footing rows 86 EDTag 161, 180, 184 size 194 for cells 91 EDTextFormatRules 166 strings in 197 for exception columns in a table 86 EDTSuffixRules 167 unary operators in 201...
  • Page 317 FormatTag 171 generic object data 111 HyphenMinSuffix 75, 176 FOutline 80, 175 geq 206 HyphenMinWord 76, 176 FOverline 80, 175 gg 206 FPairKern 80, 175 GIF files, imported 122 FPlain 81 grad 208 FPlatformName 79, 174 graphic frames in Frame 113 FPosition 80, 175 type 118 in Group 120...
  • Page 318 inprod 205 MIFEncoding statement MacEdition 149, 263 int 207 Chinese 213 MacPaint files IsTextRange 171 Japanese 213 imported 122 Korean 214 macros 70 MIFFile 68 margins jotdot 206 minus 203 cell 85 MoveTabs 174 page, defaults 100 mp 203 Marker 137 ket 203 MText 138 in ParaLine 135...
  • Page 319 paragraphs in a table 85 paragraph format properties Page 109 table footnotes in a document 103 alignment 74 page layouts 41–47 volumes in a book 154 alignment in cells 76 default 42 volumes in a document 100 default font 75 double-sided 46 numbers in equations 197 keep with next paragraph 75...
  • Page 320 PgfAutoNum 75, 176 PgfOptWordSpace 76, 176 QuestionBang 220 PgfBlockSize 75, 176 PgfPlacement 75, 176 quotation marks PgfBotSeparator 76, 177 PgfPlacementStyle 75, 176 Smart Quotes 102 PgfBotSepAtIndent 76, 177 PgfReferenced 77 around strings 11 PgfBotSepOffset 76, 177 PgfReferencedForXref 77 PgfCatalog 73–77 PgfRIndent 74, 173, 182 PgfCellAlignment 76, 177 PgfRIndentChange 173...
  • Page 321 ruling style Smoothed supset 207 cell 91 in Polygon 127 supseteq 207 properties 93 in PolyLine 128 syntax in table formats 85 in Rectangle 129 for strings 11 RulingCatalog 93 sn 205 RulingColor 93 spanning columns/rows 91 RulingGap 93 Spare1 - 5 221 Table Catalog 39, 83–92 RulingLines 93 SpclHyphenation 135...
  • Page 322 tanh 204 TblLocked 87, 147 TextFlow 132–139, 179 TblLRuling 85 TextInset 141 in Tbls 88 TblNumByColumn 85 TextInsetEnd 141 TblAlignment 84 TblNumColumns 88 TextRect TblAltShadePeriod 86 TblPlacement 85 in Page 109 TblBlockSize 85 TblRIndent 84 TextRectID 135 TblBody 89 TblRRuling 85 TFAutoConnect 132 TblBodyFill 86 TblRulingPeriod 85...
  • Page 323 TiTblIsByRow 148 VariableDef 97 XRefFormats 98 TiTblNumCols 148 VariableFormat 97 XRefLocked 139, 147 TiTblNumHdrRows 148 VariableFormats 97 XRefName 98, 139 TiTblNumSep 148 VariableLocked 135, 147 XRefSrcFile TiTblSep 148 VariableName 97, 135 in BookXRef 158 TiTblTag 147 variables in ParaLine 139 TiText 141, 147 creating 50 XRefSrcIsElem 139, 158...

Table of Contents