background image

MIF Reference Online Manual

FrameMaker

®

 6.0

Adobe

®

Summary of Contents for FRAMEMAKER 6.0

Page 1: ...MIF Reference Online Manual FrameMaker 6 0 Adobe ...

Page 2: ...r countries HP UX is a registered trademark of Hewlett Packard Company Microsoft MS DOS Windows and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and or other countries Sun and Solaris are trademarks or registered trademarks of Sun Microsystems Inc in the United States and other countries Unix is a regis tered trademark and X Window System ...

Page 3: ...ating markers 47 Creating cross references 48 Creating variables 50 Creating conditional text 52 Including template files 55 Setting View Only document options 58 Applications of MIF 60 Debugging MIF files 63 Other application tools 64 Where to go from here 65 MIF Document Statements MIF file layout 66 MIFFile statement 68 Control statements 68 Macro statements 70 Conditional text 71 Paragraph for...

Page 4: ...ons 163 Format rules 165 Format change lists 172 Elements 178 Preference settings for structured documents 180 Text in structured documents 183 Structured book statements 183 MIF Messages 187 MIF Equation Statements Document statement 189 Math statement 194 MathFullForm statement 195 MIF Asian Text Processing Statements Asian Character Encoding 213 Combined Fonts 214 Kumihan Tables 217 Rubi text 2...

Page 5: ...t 270 Graphic insets UNIX versions 272 General rules for reading and writing facets 278 EPSI Facet Format Specification of an EPSI facet 280 Example of an EPSI facet 280 FrameImage Facet Format Specification of a FrameImage facet 282 Specification of FrameImage data 282 Differences between monochrome and color 285 Sample unencoded FrameImage facet 287 Sample encoded FrameImage facet 288 FrameVecto...

Page 6: ...n another word processing or desktop publishing format and foreign files into FrameMaker document files You can use MIF files with database publishing applications which allow you to capture changing data from databases and format the data into high quality documents containing both text and graphics infor mation You use the database to enter manipulate sort and select data You use a FrameMaker pr...

Page 7: ...IF language and its syntax For an introduction to writing MIF files read Using MIF Statements You can then use the statement index subject index and table of contents to locate more specific information about a particular MIF statement For a description of a MIF statement use the table of contents or statement index to locate the statement For a description of the differences between the MIF state...

Page 8: ...with the following statement Rectangle Type of graphic object ShapeRect 3 0 1 5 2 0 1 0 Position and size left offset top offset width and height A FrameMaker product also treats each document as an object and stores document preferences as properties of the document For example a document s page size and page numbering style are document properties FrameMaker documents have default objects A Fram...

Page 9: ...te of certain objects If the interpreter reads an object with properties that are not fully specified it applies the current state to that object When an object acquires the current state it inherits the properties stored in that state For example if the line width is set to 1 point for a graphic object the interpreter continues to use a 1 point line width for graphic objects until a new value is ...

Page 10: ...prets the white space as token delimiters When parsing the example statement the MIF interpreter ignores the white space characters between the left angle bracket and the first character of the token After reading the token the MIF interpreter checks its validity If the token is valid the interpreter reads and parses the data portion of the statement If the token is not valid the interpreter ignor...

Page 11: ...t unit is used see Units statement on page 68 degrees A decimal number signifying an angle value in degrees You cannot specify units any number is interpreted as a degree value percentage A decimal number signifying a percentage value You cannot specify units any number is inter preted as a percentage value metric A dimension specified in units that represent points where one point is 1 72 inch se...

Page 12: ...bit fixed point number The 16 most significant bits of a metric value represent the digits before the decimal the 16 least significant bits represent the digits after the decimal Therefore 1 point is expressed as hexadecimal or decimal The following table shows how to convert metric values into equivalent measurement units Measurement unit Notation in MIF Relationship to other units point pt or po...

Page 13: ...ollowed by a space The following example shows a FrameMaker document line and its representation in a MIF string You can also use the statement to include certain predefined special characters in a statement see Char statement on page 136 Device independent pathnames Several MIF statements require pathnames as values You should supply a device independent pathname so that files can easily be trans...

Page 14: ...ice independent absolute pathnames for the different versions of FrameMaker products Relative pathnames A relative pathname shows the location of a file relative to the current directory In all FrameMaker product versions the device independent relative pathname for the same file is c Filename u Up one level in the file tree In this version The pathname appears as this MIF string UNIX r c MyDirect...

Page 15: ...15 ADOBE FRAMEMAKER 6 0 Introduction ...

Page 16: ...e MIF files by using a text editor or by using a FrameMaker product as a text editor This section provides some general information about working with MIF files regardless of the method you use to create them Opening and saving MIF files When you save a FrameMaker document you usually save it in Normal format FrameMaker s binary format for document files To save a document as a MIF file choose Sav...

Page 17: ... importing them A MIF file can describe both text and graphics make sure that you have selected either a place in the text flow if you are importing text or graphics or an anchored frame if you are importing graphics For example to import a MIF file that describes a graphic first create an anchored frame in a document select the frame and then import the MIF file see Bar chart example on page 235 ...

Page 18: ...properties provided by a FrameMaker product If you are not concerned with testing certain document components let a FrameMaker product provide a set of default document objects and formats MIF file layout A FrameMaker product writes the objects in a MIF document file in the following order A FrameMaker product provides all of these objects even if the object is empty To avoid unpredictable results...

Page 19: ...provides defaults for a document open this file in a FrameMaker product Even though the MIF file does not specify any formatting a FrameMaker product provides a default Paragraph Catalog and Character Catalog In addition it provides a right master page as well as many other default properties Save this document as a MIF file and open the FrameMaker generated MIF file in a text editor or in a Frame...

Page 20: ...ents to import text You could use this example to import a simple document into a FrameMaker product by placing each paragraph in a Para statement Break the paragraph text into a series of String statements contained in one ParaLine statement It doesn t matter how you break up text lines within a Para statement the MIF interpreter automatically wraps lines when it reads the MIF file Some character...

Page 21: ...h Designer PgfTag Numbered Paragraph Tag PgfFIndent 0 0 First Indent PgfLIndent 0 25 Left Indent PgfRIndent 0 0 Right Indent PgfAlignment Left Alignment PgfSpBefore 0 0 pt Space Above PgfSpAfter 0 0 pt Space Below PgfLeading 2 0 pt Line Spacing leading is added to font size PgfLineSpacing Fixed Line Spacing fixed PgfNumTabs 1 Number of tab stops TabStop Begin definition of tab TSX 0 25 Tab positio...

Page 22: ...s PgfUseNextTag No Turn off Next Tag feature PgfNextTag Next Tag name none In MIF file In Paragraph Designer PgfFont FFamily Times Family FSize 12 0 pt Size FEncoding FAngle Regular Angle FWeight Regular Weight FLanguage Language FVar Regular Variation FColor Black Color FDW 0 0 pt Spread FStretch 100 Stretch FUnderlining NoUnderlining Underline In MIF file In Paragraph Designer ...

Page 23: ...Normal Superscript Subscript FCase FAsTyped Capitalization FPairKern Yes Pair Kern FTsume No Tsume Asian systems only end of PgfFont In MIF file In Paragraph Designer PgfPlacement Anywhere Start PgfWithNext No Keep With Next PgfWithPrev No Keep With Previous PgfBlockSize 1 Widow Orphan Lines PgfPlacementStyle Normal Format paragraph placement PgfRunInDefaultPunct Run in Head Default Punctuation a ...

Page 24: ...graph Designer The following table shows the corresponding MIF statements In MIF file In Paragraph Designer PgfAutoNum Yes Turn on Autonumber PgfNumFormat n t Autonumber Format a number followed by a period and a tab PgfNumberFont Character Format Default Format PgfNumAtEnd No Position Start of Paragraph ...

Page 25: ...esigner PgfHyphenate Yes Automatic Hyphenation on HyphenMaxLines 2 Max Adjacent HyphenMinWord 5 Shortest Word HyphenMinPrefix 3 Shortest Prefix HyphenMinSuffix 3 Shortest Suffix PgfMinWordSpace 90 Minimum Word Spacing PgfOptWordSpace 100 Optimum Word Spacing PgfMaxWordSpace 110 Maximum Word Spacing PgfLetterSpace Yes Allow Automatic Letter Spacing PgfTopSeparator Frame Above PgfBotSeparator Frame ...

Page 26: ...ined by Pgf statements A PgfCatalog statement looks like this PgfCatalog Pgf A paragraph format description Pgf More paragraph formats end of PgfCatalog The Pgf statement describes a complete paragraph format For example the sample file pgfcat mif stores the paragraph format 1Heading in the Paragraph Catalog In MIF file In Paragraph Designer PgfCellAlignment Top Cell Vertical Alignment PgfCellMarg...

Page 27: ...log with predefined paragraph formats If a Pgf statement provides only the name of a paragraph format the MIF interpreter supplies default values for the rest of the paragraph properties when it reads in the MIF file Applying a paragraph format To apply a format from the Paragraph Catalog to a paragraph use the PgfTag statement to include the format tag name within the Para statement For example t...

Page 28: ... end of Para For a complete description of Pgf property statements see page 73 How paragraphs inherit properties Paragraphs can inherit properties from other paragraphs in a MIF file If a Pgf statement does not provide values for each paragraph property it acquires any property values explicitly defined in a previous Pgf statement Because the MIF interpreter sequentially reads MIF files it uses th...

Page 29: ...raph property to another state supply a Pgf statement containing the paragraph property statement set to the new state Thus in the previous example you could change the font from Bold to Regular in a Pgf statement in the second Para statement Para Pgf PgfFont FWeight Regular end of PgfFont end of Pgf ParaLine String Second paragraph in document end of ParaLine end of Para To summarize paragraphs i...

Page 30: ... 55 Creating and applying character formats You can define character formats locally or store them in the Character Catalog and apply the formats to text selections Creating and applying character formats is very similar to creating and applying paragraph formats as described in the previous section Because the two methods are similar this section just summa rizes how to create and apply character...

Page 31: ...ment to end the scope of the applied character format To locally define a character format use a complete Font statement Para PgfTag Body ParaLine String You can also format characters by Font FTag Emphasis character property statements end of Font String applying Font FTag end of Font String a locally defined character format end of ParaLine end of Para Like paragraph formats character formats in...

Page 32: ...lows Specify the contents of the table by using a Tbl statement An individual table is called a table instance All table instances are stored in one Tbls statement Assign each table instance a unique ID number Indicate the position of the table in the text flow by using an ATbl statement The ATbl statement is the placeholder or anchor for the table instance It refers to the table instance s unique...

Page 33: ...y a table format from the Table Catalog apply a format from the catalog and override some of its properties or completely specify the table format locally Because the tables in a document often share similar characteristics you usually store table formats in the Table Catalog Table instances can always override the applied format The TblNumColumns statement specifies the number of columns in the t...

Page 34: ...n table heading Row Begin row Cell First cell in row CellContent Para Cells can contain paragraphs PgfTag CellHeading Applies format from Paragraph Catalog ParaLine String Coffee Text in this cell end of Para end of CellContent end of Cell Cell Second cell in row CellContent Para PgfTag CellHeading ParaLine String Price per Bag end of Para end of CellContent end of Cell end of Row end of TblH TblB...

Page 35: ...width of the column remains fixed Adding a table anchor To indicate the position of a table in the text flow you must add an ATbl statement The ATbl statement refers to the unique ID specified by the TblID statement in the table instance For example to insert the table defined in the previous example you would add the following statements to the minimal MIF file Para ParaLine String Coffee prices ...

Page 36: ...oes not appear in the document You cannot use multiple ATbl statements that refer to the same table ID An ID can be any positive integer from 1 to 65535 inclusive The only other statements that require an ID are AFrame statements linked TextRect statements and Group statements For more information about these statements see Graphic objects and graphic frames on page 111 Rotated cells A table can h...

Page 37: ...umns 2 Number of straddle columns CellContent Content is in the first cell Para PgfTag CellHeading ParaLine String Brazilian Coffee end of Para end of CellContent end of Cell Cell Second cell appears even though CellContent it is empty Para PgfTag CellHeading ParaLine end of Para end of CellContent end of Cell end of Row If the cell straddles rows the substatement is CellRows Creating a table form...

Page 38: ... Columns are numbered from 0 TblColumnWidth 2 0 Width of first column end of TblColumn TblColumn TblColumnNum 1 Second column TblColumnWidth 1 5 Width of second column end of TblColumn TblCellMargins 6 0 pt 6 0 pt 6 0 pt 4 0 pt TblLIndent 0 0 These are exactly like paragraph TblRIndent 0 0 format properties TblAlignment Center TblPlacement Anywhere TblSpBefore 12 0 pt TblSpAfter 12 0 pt TblBlockSi...

Page 39: ...e and table TblInitNumColumns 2 Initial number of rows and TblInitNumHRows 1 columns for new tables with TblInitNumBodyRows 4 this format TblInitNumFRows 0 TblNumByColumn No end of TblFormat The TblColumn statement numbers each column and sets its width A table can have more columns than TblColumn statements if a column does not have a specified format the MIF interpreter uses the format of the mo...

Page 40: ...tement Whether you use the default ruling styles or create your own substatements that refer to ruling styles such as the TblLRuling statement must use the name of a ruling style from the Ruling Catalog See RulingCatalog statement on page 93 Applying a table format You can apply a table format from the Table Catalog or you can define a table format locally To apply a table format from the Table Ca...

Page 41: ... document components A table without an applied table format does not inherit one from a previously defined table Instead it gets a set of default properties from the MIF interpreter Thus if you apply a named format to a table a following table will not inherit that format Paragraphs in table cells still inherit properties from previously defined paragraph formats If you give a table cell a certai...

Page 42: ... flow uses the MIF statement TFAutoConnect Yes the text flow runs through a series of text frames when you fill up one text frame text continues into the next text frame Most documents have only one text flow although you can create many separate flows A FrameMaker product provides a default right master page for single sided documents and default right and left master pages for double sided docum...

Page 43: ... pages you can use the Document substatements DPageSize DMargins and DColumns to specify the page size margins and number of columns in the text frame in the document The MIF interpreter uses this information to create master pages and body pages These statements correspond to the Normal Page Layout options The following example is in the sample file columlay mif MIFFile 6 00 Hand generated Docume...

Page 44: ...tion does not include this statement the text frame has only one column This example sets up a right master page with a text frame containing one text column MIFFile 6 00 Hand generated Document DPageSize 7 5 9 0 Set the document page size DTwoSides No Make this a single sided document end of Document Page Create a right master page PageType RightMasterPage PageTag Right TextRect Set up a text fra...

Page 45: ...the master page The Page statements must come before any TextFlow statements Link the text flow to the master page s text frame by using the TextRectID statement to refer to the text frame s unique ID TextFlow TFTag A The text flow must be tagged TFAutoConnect Yes Autoconnect must be turned on Para ParaLine TextRectID 1 Refers to text frame ID on master page end of ParaLine end of Para end of Text...

Page 46: ... in a MIF file by creating and linking a second master page and a second body page As with a single sided layout all the document s text is in one text flow When the MIF interpreter reads the file it adds alternate left and right body pages to the document You can control whether the document starts with a right page or a left page by using the DParity statement For an example of a document with l...

Page 47: ...ows on a master page not in tagged flows Creating markers A FrameMaker document can contain markers that hold hidden text and mark locations For example you use markers to add index entries cross references and hypertext commands to a document A FrameMaker product provides both predefined marker types and markers that you can define as needed For more information about markers and marker types see...

Page 48: ...nts Insert a marker at the reference source by using a Marker statement Insert the reference point by using an XRef statement Creating cross reference formats The cross reference formats for a document are defined in one XRefFormats statement A document can have only one XRefFormats statement The XRefFormats statement contains one or more XRefFormat statements that define the cross reference forma...

Page 49: ...ference format defined in XRefFormat the source text and the pathname of the file containing the source Para PgfTag Body ParaLine String This is a cross reference to XRef XRefName Page Cross reference format XRefSrcText 34126 Heading My Heading Source text XRefSrcFile File containing source end of XRef XRefEnd String end of ParaLine end of Para The format name must exactly match the name of a form...

Page 50: ...ined by the user System variables contain building blocks that allow a FrameMaker product to extract certain information from the document or the system such as the current date or the current page number and place it in text Headers and footers frequently use system variables You can modify a system variable s definition but you cannot create new system variables User variables contain only text ...

Page 51: ... open or import a MIF file the MIF interpreter provides the default system variables You can redefine a system variable but you cannot provide new system variables System variables are defined by a VariableFormat statement For example the following statement shows the default definition for the system variable Page Count VariableFormat VariableName Page Count VariableDef lastpagenum end of Variabl...

Page 52: ...ditional document as follows Create the condition tags and specify their format of via ConditionCatalog and Condition statements Apply one or more condition tags to the appropriate sections of the document via Conditional and Unconditional statements Show or hide conditional text by using the CState statement Creating and applying condition tags In MIF all condition tags are defined in a Condition...

Page 53: ...ditional InCondition Summer end of Conditional String hot summer Unconditional String days end of ParaLine end of Para You can apply multiple condition tags to text by using multiple InCondition statements Conditional InCondition Winter InCondition Summer end of Conditional Showing and hiding conditional text If you are creating a MIF file for a FrameMaker product to read you can specify whether c...

Page 54: ...ds with a marker containing an equal sign and the same integer One or more Para statements appear between the markers If the hidden conditional text doesn t span paragraphs all the text appears in one Para statement If the hidden text spans paragraphs each end of paragraph in the conditional text forces a new Para statement in the hidden text flow The following example shows how a FrameMaker produ...

Page 55: ...te a MIF file you have two ways to include all formatting information in the file Generate all paragraph formats and other formatting information directly from the application Create a template document in a FrameMaker product save it as a MIF file and include the template file in your generated MIF file It s usually easier to create a template in a FrameMaker product than it is to generate the fo...

Page 56: ...cate its TextRect statement 3 To find the first body page search for the first occurrence of PageType BodyPage Suppose the first body page in your MIF file looks like this Page Unique 45155 PageType BodyPage PageNum 1 PageSize 8 5 11 0 PageOrientation Portrait PageAngle 0 0 PageBackground Default TextRect ID 7 Unique 45158 Pen 15 Fill 15 PenWidth 1 0 pt ObColor Black DashedPattern DashedStyle Soli...

Page 57: ...he MIF interpreter to read the contents of the file named mytemplate mif For more information about filenames in MIF see Device independent pathnames on page 13 6 From your application generate a text flow that contains the entire document contents The text flow should use the ID and tag name of the text flow you deleted from the template file this associates the new text flow with the first body ...

Page 58: ... ways To suppress the document window menu bar use the following statement DViewOnlyWinMenubar No This statement has no effect in the Macintosh and Windows version of a FrameMaker product because those versions have an application menu bar rather than a document window menu bar To suppress the display of scroll bars and border buttons in the document window use the following statement DViewOnlyWin...

Page 59: ...the openlink command which displays the destination page in a new document window use the following statement DViewOnlyXRef OpenBehavior Use this setting to allow users to see both the source page and the destination page To turn off active cross references use the following statement DViewOnlyXRef NotActive Use this setting to emulate the behavior in earlier FrameMaker versions You can use the DV...

Page 60: ...ent processing Write import and export filters for FrameMaker documents Perform database publishing Sharing files with earlier versions A FrameMaker product automatically opens documents created with an earlier version of FrameMaker 2 0 or higher To use an earlier version of FrameMaker such as 2 1 to edit a document created with a later version of FrameMaker such as 6 0 1 Use the newer FrameMaker ...

Page 61: ...ng and layout features don t include the corresponding MIF statements in your filter For example if the file was created by a word processor your filter should convert document text to a single TextFlow statement Ignore line and page breaks except forced breaks in your source document because the text will be repaginated by the MIF interpreter If the document uses style sheets convert paragraph st...

Page 62: ... than one document Define macros to ease the process of generating statements For an example of using macros see Text example on page 233 Database publishing You can use MIF files to import information from an external application such as a database into a FrameMaker document This type of information transfer is often called database publishing For example you can write a C program or a database s...

Page 63: ...Translation Errors in the Preferences dialog box to display messages in a window If a FrameMaker product finds an error it continues to process the MIF file and reads as much of the document as possible When you are debugging MIF files you should examine the error messages for clues The MIF interpreter reports line numbers for most errors For a description of MIF error messages see MIF Messages In...

Page 64: ...ation marks Make sure paired statements are balanced For example XRef and XRefEnd statements must be paired Make sure that right angle bracket and backslash characters in text are preceded by a backslash Make sure that hexadecimal characters for example xe6 have a space after them Other application tools The Frame Developer s Kit FDK provides tools that you can use to write filters and to perform ...

Page 65: ...erimented 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 Because a FrameMaker product writes complete and precise MIF code it is your ultimate source for learning about MIF statements For more information about document components not described in this chapter see the MIF s...

Page 66: ...atements can appear anywhere at the top level as well as in some substatements Macro statements Define macros with a define statement and read in files with an include statement These statements can appear anywhere at the top level ColorCatalog Describes document colors The ColorCatalog statement contains Color statements that define each color and tag CombinedFontCatalog Describes combined fonts ...

Page 67: ... all anchored frames in the document The AFrames statement contains Frame statements that define the contents ID number of each anchored frame Later in the MIF file where the document contents are described the MIF file must include an AFrame statement that corresponds to each Frame statement The AFrame state ment identifies where a specific anchored frame appears in a text flow it need only sup p...

Page 68: ...from your intentions if a MIF file describes features that are not included in the FrameMaker product that reads the MIF file For more information see Appendix C MIF Compatibility Control statements Control statements set defaults provide debugging information and insert comments Units statement The Units statement specifies the default units for dimensions and coordinates in the document It can a...

Page 69: ...rs in the FrameMaker product s Preferences dialog box The messages appear in a console window in Windows and in an Error Log window on the Macintosh The processing descriptions can be quite long but may be essential for debugging a program that creates MIF for input to a FrameMaker product A Verbose statement can occur unnested or within markup statements as explained later in this chapter A Verbo...

Page 70: ...IF file you need not put them in that position However the MIF interpreter does not interpret a macro that occurs before its definition define statement The define statement creates a macro When the MIF interpreter reads a MIF file it replaces the macro name with its replacement text A define statement can appear anywhere in a MIF file however the macro definition must appear before any occurrence...

Page 71: ...he MIF interpreter searches for the file to include in the directory or folder that contains the file being interpreted In UNIX versions of a FrameMaker product the MIF inter preter also searches the FMHOME fminit and the FMHOME fminit filters directories for a file with a relative pathname In general you would use an include statement to read a header file containing define statements that a filt...

Page 72: ...ar in a Row or ParaLine statement ConditionCatalog Condition Defines a condition tag see Condition statement next Condition Additional statements as needed End of ConditionCatalog statement Condition CTag string Condition tag string CState keyword Whether text with this tag is shown or hidden keyword can be one of CHidden CShown CStyle keyword Format of text with this condition keyword can be one ...

Page 73: ... default Paragraph Catalog although it provides default values for unspecified properties in a paragraph format see Creating and applying paragraph formats on page 19 Pgf statement The Pgf statement defines a paragraph format Pgf statements can appear in many statements the statement descriptions show where Pgf can be used The Pgf statement contains substatements that set the properties of a parag...

Page 74: ...enter Right PgfSpBefore dimension Space above paragraph PgfSpAfter dimension Space below paragraph PgfLineSpacing keyword Amount of space between lines in paragraph measured from baseline to baseline keyword can be one of Fixed default font size Proportional largest font in line PgfLeading dimension Space below each line in a paragraph PgfNumTabs integer Number of tabs in a paragraph The statement...

Page 75: ...p SideheadFirstBaseline SideheadLastBaseline Straddle StraddleNormalOnly See page 77 PgfRunInDefaultPunct string Default punctuation for run in heads PgfWithPrev boolean Yes keeps paragraph with previous paragraph PgfWithNext boolean Yes keeps paragraph with next paragraph PgfBlockSize integer Widow orphan lines Numbering properties PgfAutoNum boolean Yes turns on autonumbering PgfNumFormat string...

Page 76: ...agraph format or character format is now properly specified in the PgfFont and Font statements see page 78 keyword can be one of NoLanguage USEnglish UKEnglish German SwissGerman French CanadianFrench Spanish Catalan Italian Portuguese Brazilian Danish Dutch Norwegian Nynorsk Finnish Swedish Japanese TraditionalChinese SimplifiedChinese Korean PgfTopSeparator string Name of reference frame from re...

Page 77: ...t Style statement is set to StraddleNormal 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: ...ts text imported by reference on page 140 Character formats A character format is defined by a PgfFont or a Font statement Character formats can be defined locally or they can be stored in the Character Catalog which is defined by a FontCatalog statement FontCatalog statement The FontCatalog statement defines the contents of the Character Catalog A document can have only one FontCatalog statement ...

Page 79: ... sions see page 82 Font language FLanguage keyword Language to use for spelling and hyphenation keyword can be one of NoLanguage USEnglish UKEnglish German SwissGerman French CanadianFrench Spanish Catalan Italian Portuguese Brazilian Danish Dutch Norwegian Nynorsk Finnish Swedish Japanese TraditionalChinese SimplifiedChinese Korean Font encoding FEncoding keyword Specifies the encoding for this f...

Page 80: ...tatements see page 105 keyword can be one of FNormal FSuperscript FSubscript FOutline boolean Turns on outline style Macintosh version only FShadow boolean Turns on shadow style Macintosh version only FPairKern boolean Turns on pair kerning FCase keyword Applies capitalization style to string keyword can be one of FAsTyped FSmallCaps FLowercase FUppercase Kerning information FDX percent Horizontal...

Page 81: ...of the PgfFont and Font statements is described in the following sections Locked fonts and text insets The FLocked statement does not correspond to any setting in the Character Designer The statement is used for text insets that retain formatting information from the source document If the FLocked Yes statement appears in a specific character format that character format is part of a text inset th...

Page 82: ...f identifying a font it checks the font name in the following order 1 Platform name 2 Combination of family angle weight and variation properties 3 PostScript name If you are writing filters to generate MIF you do not need to use all three methods You should always specify the PostScript name if it is available You should use the platform name only if your filter will be run on a specific platform...

Page 83: ...tement Table formats can be locally defined or they can be stored in a Table Catalog which is defined by a TblCatalog statement The ruling styles used in a table are defined in a RulingCatalog statement 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 B ...

Page 84: ...tatement contains property substatements that define a table s properties Table property statements can appear in any order Syntax TblCatalog TblFormat Defines a table format see TblFormat statement next TblFormat Additional statements as needed End of TblCatalog statement Basic properties TblFormat TblTag tagstring Table format tag name TblLIndent dimension Left indent for the table relative to t...

Page 85: ...or most columns value must match a ruling style name specified in the RulingCatalog statement TblXColumnNum integer Number of column with a right side that uses the TblXColumnRuling statement TblXColumnRuling tagstring Ruling style for the right side of column TblXColumnNum TblBodyRowRuling tagstring Default ruling style for most body rows TblXRowRuling tagstring Exception ruling style for every n...

Page 86: ...4 TblAltShadePeriod integer Number of consecutive columns rows that use TblXFill exception col umns rows alternate with default body columns rows to form a repeat ing pattern Column properties TblWidth dimension Not generated by a FrameMaker product but can be used by filters to determine table width TblColumn Each table must have at least one TblColumn statement a column without a statement uses ...

Page 87: ...ed with the closer edge or farther edge of a text frame closer or farther relative to the binding of the book the TblAlignment statement is set to Inside or Outside respectively 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 t...

Page 88: ...of each table in the document A document can have only one Tbls statement which must appear at the top level in the order given in MIF file layout on page 66 Syntax Tbl statement The Tbl statement contains the contents of a table instance It must appear in a Tbls statement Each Tbl statement is tied to a location in a text flow by the ID number in a TblID statement Each Tbl statement has an associ...

Page 89: ...eContent Table title s content represented in one or more Para statements Notes Footnotes for table title see page 133 Para Title text see page 133 Para Additional statements as needed End of TblTitleContent statement End of TblTitle statement Table rows TblH Table heading rows omit if no table headings Row See Row statement next Row Additional statements as needed End of TblH statement TblBody Ta...

Page 90: ...eight from extremes caused by rotating cells containing multiline paragraphs or to enforce a uniform height for the rows A FrameMaker product writes out the RowHeight statement for use by other programs It is not used by the MIF interpreter Even if the statement is present the MIF interpreter recalculates the height of each row based on the row contents and the RowMinHeight and RowMaxHeight statem...

Page 91: ...omputed column width Usage of MIF statements to calculate the width of a column is described in the following sections Cell CellFill integer Fill pattern for cell 0 15 see page 113 CellColor tagstring Color for cell see ColorCatalog statement on page 94 CellSeparation integer Color for cell no longer used but written out by FrameMaker prod ucts for backward compatibility see Color statements on pa...

Page 92: ...dth for proportional columns PWidth is 7 1 or 6 Sum of all proportional values PTotal is 2 1 1 or 4 Width for Column 2 is 2 PTotal x PWidth 2 4 x 6 or 3 Width for Column 3 or Column 4 is 1 PTotal x PWidth 1 4 x 6 or 1 5 This method Uses these statements To do this Fixed width TblColumnWidth Give a fixed value for column s width see page 86 Shrink wrap TblColumnWidthA Fit a column within minimum an...

Page 93: ...You can also choose inks from installed color libraries such as PANTONE In a MIF file colors are defined by a Color statement within a ColorCatalog statement Regardless of the color model used to define a new color colors are stored in a MIF file in CMYK RulingCatalog Ruling Defines ruling style see Ruling statement on page 93 Ruling Additional statements as needed End of RulingCatalog statement R...

Page 94: ...ument is identified in a DCurrentView statement The color of a FrameMaker document object is expressed in a property statement for that object In this manual the syntax description of a FrameMaker document object that can have a color property includes the appropriate color property substatement ColorCatalog statement The ColorCatalog statement defines the contents of the Color Catalog A document ...

Page 95: ...lor value statements for the base color used by the tint 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 Specifies name of the color lib...

Page 96: ...les are defined by a VariableFormat statement A Variable statement that refers to the variable name shows where the variable appears in text see ParaLine statement on page 134 VariableFormats and VariableFormat statements The VariableFormats statement defines document variables to be used in document text flows A MIF file can have only one VariableFormats statement which must appear at the top lev...

Page 97: ...user s manual or the online Help system Cross references A FrameMaker document can contain cross references that refer to other portions of the document or to other documents A cross reference has a marker that indicates the source where the cross reference points and a format that determines the text and its formatting in the cross reference All cross reference formats in a document are contained...

Page 98: ...age Layout command and others In a MIF file global document properties are specified as substatements in a Document statement If you do not provide these property statements the MIF interpreter assumes the properties specified in NewTemplate For information on defaults specified in templates see page 9 The BookComponent statement specifies setup information for files generated from the document Th...

Page 99: ... representation uses three ASCII characters For example a Key of 126 non printing characters would require 378 ASCII characters However since a valid MIF string can only have up to 255 ASCII characters such a Key statement woud be invalid in MIF The contents of the Document Info field is represented by a series of Value statements Each value statement can contain a string of up to 255 ASCII charac...

Page 100: ...ot generated by a FrameMaker product but used by filters to specify number of columns DColumnGap dimension Not generated by a FrameMaker product but used by filters to specify col umn gap DPageSize W H Document s default page size and orientation if W is less than H the doc ument s orientation is portrait otherwise it is landscape Volume chapter and page numbering properties Volume numbering Volum...

Page 101: ...one of StartNumbering restart numbering ContinueNumbering continue numbering from previous document in book UseSameNumbering use the same numbering as previous document in book Page numbering DPageNumStyle keyword Page numbering style keyword can be one of Arabic UCRoman LCRoman UCAlpha LCAlpha ZenLCAlpha ZenUCAlpha KanjiNumeric KanjiKazu BusinessKazu DPagePointStyle keyword Point page number styl...

Page 102: ...er product does not strip from run in heads these characters override the default punctuation set in PgfRunInDefaultPunct see page 75 Conditional text defaults DShowAllConditions boolean Shows or hides all conditional text DDisplayOverrides boolean Turns format indicators of conditional text on or off Footnote properties DFNoteTag string Paragraph and reference frame tag for document footnotes DFN...

Page 103: ...fix before number in document footnote DFNoteNumberSuffix string Suffix after number in document footnote Table footnote properties DTblFNoteTag string Same meaning for the following statements as the corresponding docu ment footnote properties DTblFNoteLabels string DTblFNoteNumStyle keyword DTblFNoteAnchorPos keyword DTblFNoteNumberPos keyword DTblFNoteAnchorPrefix string DTblFNoteAnchorSuffix s...

Page 104: ...olean Yes specifies View Only document locked DViewOnlyXRef keyword Changes behavior of active cross references in View Only document see page 59 keyword can be one of GotoBehavior OpenBehavior NotActive DViewOnlySelect keyword Disables enables user selection in View Only document including selection with modifier keys and sets highlighting style of destination markers for active cross references ...

Page 105: ...t size DSubscriptShift percent Baseline offset of subscripts expressed as percentage of current font size DSuperscriptStretch percent Amount to stretch or compress superscript where 100 means no change DSubscriptStretch percent Amount to stretch or compress subscript where 100 means no change DSmallCapsStretch percent Amount to stretch or compress small caps where 100 means no change DRubiSize per...

Page 106: ...the name of a Doc ument Info field in PDF the name of a Document Info field must be 126 characters or less Represent non printable characters via HH where identifies a hexadec imal representation of a character and HH is the hexadecimal value for the character For example use 23 to represent the character Zero value hex codes 00 are illegal For more information see PDF Document Info on page 99 Val...

Page 107: ...IF 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 Type number of the marker used to represent a delete mark BookComponent Book components FileName pathname Generated file s device independent pathname for p...

Page 108: ...e words in the document dictionary A MIF file can have only one Dictionary statement which must appear at the top level in the order given in MIF file layout on page 66 Syntax InitialAutoNums AutoNumSeries FlowTag string Specifies flow that the file uses to number the series Series string Specifies autonumber series NumCounter integer Initializes autonumber counter NumCounter Additional statements...

Page 109: ...the document Page statements must appear at the top level in the order given in MIF file layout on page 66 Syntax Page PageType keyword Page type keyword can be one of LeftMasterPage RightMasterPage OtherMasterPage ReferencePage BodyPage HiddenPage PageNum string Page number for additive pages provided for output filters PageTag tagstring Names master or reference page for a body page specifies a ...

Page 110: ...s with an angle of 0 or 180 degrees are portrait pages with an angle of 90 or 270 degrees are landscape If DPageSize defines a landscape page one whose width is greater than its height pages with an angle of 0 or 180 degrees are landscape pages with an angle of 90 or 270 degrees are portrait The filter statements are not generated by a FrameMaker product When it reads a MIF file generated by a fil...

Page 111: ...frames and objects are listed in the order that they are drawn object in back first For Object and Frame statements the interpreter keeps track of the current page and current graphic frame When the interpreter encounters a Frame statement it assumes the graphic frame is on the current page Similarly when the interpreter encounters an object statement it assumes the object is in the current graphi...

Page 112: ... graphic object No turns on knock out If this statement is not present then the overprint setting from the object s color is assumed RunaroundType keyword Specifies whether text can flow around the object and if so whether the text follows the contour of the object or a box shape surrounding the object keyword can be one of Contour Box None RunaroundGap dimension Space between the object and the t...

Page 113: ...ecify the values 0 15 However you can customize a UNIX or Windows version of a FrameMaker product to use patterns that differ from the standard set For information see the online manuals Customizing FrameMaker Products for UNIX and Working on Multiple Platforms for Windows Values for the Angle and ReRotateAngle statements The Angle statement specifies the number of degrees by which an object is ro...

Page 114: ...ucts Values for the RunaroundType and RunaroundGap statements The RunaroundType and RunaroundGap statements specify the styles used for the runaround properties of objects If the RunaroundType statement is set to Contour text flows around objects in the shape of the contours of the objects The RunaroundGap statement specifies the distance between the objects and the text that flows around them If ...

Page 115: ...r products use the default value RunaroundType None and text does not flow around any of the existing graphic objects in these files AFrames statement The AFrames statement contains the contents of all anchored frames in a document A document can have only one AFrames statement which must appear at the top level in the order given in MIF file layout on page 66 The contents of each anchored frame a...

Page 116: ... at the starting point and the tail cap at the ending point of lines and arcs The arrow style property statements can appear in any order in an ArrowStyle statement For a complete description of arrow style properties see your user s manual 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 ArrowHea...

Page 117: ...level or in a Page Frame or AFrame statement 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 Yes scales head as arrow line gets wider ScaleFactor dimension Scaling factor for arrowhead as line gets wider End of Ar...

Page 118: ...Outside Near Far RunIntoParagraph NotAnchored Tag tagstring Name of graphic frame Float boolean Yes floats graphic frame to avoid large white space that results when anchored frame and the line containing it are moved to the next page NSOffset dimension Near side offset BLOffset dimension Baseline offset AnchorAlign keyword Alignment of anchored frame keyword can be one of Left Center Right Inside...

Page 119: ... one of the following ways If the graphic frame is anchored outside a text column or a text frame the anchored frame can be positioned in one of the following ways If the graphic frame is anchored within a text column or text frame The Frame statement contains At the insertion point of the cursor FrameType Inline At the top of the text column FrameType Top Below the insertion point of the cursor F...

Page 120: ... multiple Group statements have the same ID the results will be unpredictable For more information about the group ID see Generic object statements on page 111 ImportObject statement The ImportObject statement describes an imported graphic It can appear at the top level or within a Page or Frame statement The imported graphic is either copied into the document or imported by reference If the graph...

Page 121: ...rt graphic by reference on page 124 ShapeRect L T W H Position and size of object before rotation in the page or graphic frame coordinates BitMapDpi integer Scaling value for bitmap file ignored for FrameVector graphics ImportObFixedSize boolean Yes inhibits scaling of bitmap file see Size position and angle of imported graphics on page 122 ignored for FrameVector graphics FlipLR boolean Yes flips...

Page 122: ...FrameVector CGM Corel Draw Micrografx Drawing Format DXF EPS GEM HPGL IGES PICT WMF and WPG Note that some of these graphic file formats can also contain bitmap data Size position and angle of imported graphics When you import a MIF file a FrameMaker product determines the size of the graphic by the graphic type and the value of the ImportObFixedSize statement Position and coordinate systems Some ...

Page 123: ...s but you can use BitMapDpi to help optimize printed output Angle of imported graphics If an object contains both a FlipLR Yes statement and an Angle statement with a nonzero value the object is first flipped around the vertical axis and then rotated by the value specified in Angle Methods of importing graphics As mentioned previously an imported graphic can be imported by reference or copied into...

Page 124: ...y with version 1 0 of FrameMaker Facets in imported graphics If a graphic is copied into a document the data describing the graphic is stored as facets in the MIF file Graphics imported by reference also use facets but these are temporary and are not saved to the file A MIF file with a graphic imported by reference does not contain any facets A facet contains graphic data in a specific format For ...

Page 125: ...his 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 The following table lists some of the possible codes Code Description PGRF Built in FrameMaker filters FAPI External FDK client filter FFLT External FrameMaker filters IMAG External ImageMark filters XTND External XTND filters Code Descriptio...

Page 126: ...name is a text string less than 31 characters long that describes the filter FRMV FrameVector SRGB SGI RGB CDR CorelDRAW CGM Computer Graphics Metafile DRW Micrografx CAD DXF Autodesk Drawing eXchange file CAD files GEM GEM file Windows HPGL Hewlett Packard Graphics Language IGES Initial Graphics Exchange Specification CAD files WPG WordPerfect Graphics DIB Device independent bitmap Windows OLE Ob...

Page 127: ...t A Math statement describes an equation For its description see MIF Equation Statements Polygon statement The Polygon statement describes a polygon It can appear at the top level or in a Page or Frame statement Syntax Usage The NumPoints statement is optional When the MIF interpreter reads a MIF file it counts the Point state ments to determine the number of points in the polygon PolyLine stateme...

Page 128: ...gles and squares It can appear at the top level or in a Page or Frame statement 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 Type of tail cap for lines and arcs keyword can be one of ArrowHead Butt Round Square ArrowStyle See ArrowStyle statemen...

Page 129: ...but they do not automatically wrap the way text in a text column does Text lines cannot contain paragraph formats markers variables cross references or elements 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 End...

Page 130: ...e and there are several predefined constants for character values See Char statement on page 136 TextRect statement The TextRect statement defines a text frame It can appear at the top level or in a Page or Frame statement 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 ...

Page 131: ... and the text columns in the text frame is specified by the TRSide headGap statement The spacing cannot exceed 50 inches TRNext indicates the ID of the next text frame in the flow If there is no next TextRect use a TRNext 0 statement or omit the entire TRNext statement The text frame is rotated by the value specified in an Angle statement The default angle is 0 TextRect Generic object statements I...

Page 132: ...nt However if there are subsequent TextFlow statements the interpreter assumes they have the same settings current paragraph format current font and so forth as the previous text flow TextFlow TFTag tagstring Text flow tag name TFAutoConnect boolean Yes adds text frames as needed to extend flows TFPostScript boolean Yes identifies text in the flow as printer code TFFeather boolean Yes adjusts vert...

Page 133: ...op level or at the beginning of a TblTitleContent CellContent or TextFlow statement Syntax Usage Within the document text footnotes are referred to with the FNote ID statement where ID is the ID specified in the corresponding FNote statement See ParaLine statement on page 134 Para statement The Para statement defines a paragraph It can appear in a TextFlow FNote CellContent or TblTitle Content sta...

Page 134: ...atement defines a line within a paragraph It must appear in a Para statement 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 Sets current paragraph format see page 73 PgfNumString string Paragraph number contains the actual string ...

Page 135: ... 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 Embedded character change for the following text see page 78 Conditional Turns on conditional text see page 72 Unconditional Returns to unconditional state String string Printable ASCII text in single quotation mar...

Page 136: ...ne statement you must either use a hexadecimal code to represent the character or use the Char statement with a predefined character name For example you can represent the pound sterling character with the hex code xa3 or with the statement Char Pound as shown in the following example Para ParaLine String the pound sterling Char Pound String symbol end of ParaLine end of Para Para ParaLine String ...

Page 137: ...tatement inserts a marker It must appear in a ParaLine statement Character name Description Tab Tab HardSpace Nonbreaking space SoftHyphen Soft hyphen HardHyphen Nonbreaking hyphen DiscHyphen Discretionary hyphen NoHyphen Suppress hyphenation Cent Cent Pound Sterling Yen Yen EnDash En dash EmDash Em dash Dagger Dagger DoubleDagger Double dagger Bullet Bullet HardReturn Forced return NumberSpace Nu...

Page 138: ...F file used by the FDK client and should not be used by filters MType integer Marker type number for list of allowed values see Usage next Marker type numbers are not used for the current versions of FrameMaker products but they are included for backward compati bility MTypeName string Marker name as it appears in the Marker Type popup menu of the Marker dialog box MText string Marker text string ...

Page 139: ...rence These intermediary statements are optional For an example of a cross reference in MIF see Creating cross references on page 48 XRef 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 XRefName tagstring Name of cross reference format see XRefFormats and XRefFormat statements on page 97 XRefLa...

Page 140: ...nt text can be imported by reference from another file When the text in the original file is modified the imported text in the FrameMaker document is updated with changes Text imported by reference is called a text inset In a MIF file text insets are defined by the TextInset statement A TextInset statement appears in the ParaLine statement representing the location of the text being imported When ...

Page 141: ...ary 1 1970 TiMacEditionId integer For a text inset created from a Macintosh edition points to the resource ID of the sect and alis records TiImportHint string Identifies the filter used to convert the file see Record of the fil ter used to import text on page 143 TiApiClient Identifies the text inset as one created and maintained by an FDK cli ent see TiApiClient statement on page 145 TiFlow Ident...

Page 142: ...142 ADOBE FRAMEMAKER 6 0 MIF Document Statements update the text inset when changes are made to the original file ...

Page 143: ...alled a subscriber in a document even if the edition is on another disk or on another Macintosh on a network In MIF subscribers and publishers are described by different statements Subscribers to text editions are described by TextInset statements Subscribers to graphics editions are described by ImportObject statements see ImportObject statement on page 120 Publishers are described by DataLink st...

Page 144: ...code specifying the format that the filter translates The code is a string of four characters The following table lists some of the possible codes Code Description PGRF Built in FrameMaker filters FAPI External FDK client filter FFLT External FrameMaker filters IMAG External ImageMark filters XTND External XTND filters Code Description WDBN Microsoft Word compound document WPBN WordPerfect compoun...

Page 145: ...atement defines a text inset created and maintained by an FDK client application Syntax Usage When updating text insets the FDK client can use the TiClientName substatement to determine if it should update a given text inset TXIS Text ISO Latin 1 TXRM Text Roman 8 Code Description MAC6 Macintosh 68000 series MACP Power Macintosh WINT Windows NT WIN3 Windows 3 1 WIN4 Windows 95 UNIX Generic X 11 Su...

Page 146: ... Specifies which document formats are used for the text inset keyword can be one of TiSource TiEnclosing TiPlainText TiMainFlow boolean Yes specifies that the text inset is imported from the main flow of the source document No specifies that the text inset is imported from a different flow TiPageSpace keyword If the text inset is not imported from the main flow specifies whether the text inset is ...

Page 147: ...s should not be affected by global updates These statements are PgfLocked FLocked TblLocked VariableLocked and XRefLocked respectively The MIF statements appear under the descrip tions of these formats Plain text formatting can also be used if the TiFormatting statement is set to TiPlainText TiText statement The TiText statement defines a text file imported by reference It appears in a TextInset s...

Page 148: ...spaces to distinguish the contents of one table cell from the next the following substatements are used TiTblSep TiTblNumSep 2 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 If each paragraph is converted to a separate cell specifies ...

Page 149: ...DataLink statement defines a text publisher It is embedded along with the lines of text where the link occurs The DataLink statement occurs in a ParaLine statement Syntax Usage The MacEdition statement provides information for compatibility with Macintosh standards for creating edition manager documents integer points to the resource ID for the sect and alis resources in the resource fork This inf...

Page 150: ...splayText Specifies the type of text to display in the book window for each book component icon PDF statements Specify document info entries and how to handle named destinations when you save the book as PDF BookComponent Provides the setup information for each file in the book Color Catalog The color definitionss of each document in the book Condition Catalog Defines the condition tags of each do...

Page 151: ...ect BookComponent BookXRef and BookUpdateReferences plus the following statements which can also occur in a MIF file for a document Comment Units Verbose PgfCatalog and FontCatalog ColorCatalog and Condition Catalog BWindowRect statement The BWindowRect statement defines the position of the book window on the screen It can appear anywhere in the file but normally appears just after the Book statem...

Page 152: ...haracter For example use 23 to repre sent the character Zero value hex codes 00 are illegal For more information see PDF Document Info on page 99 Value string A string of up to 255 ASCII characters that represents the value of a Document Info field because a single MIF string contains no more than 255 ASCII characters you can use more than one Value statement for a given Key A Value can include Un...

Page 153: ...nent in the book window AsText displays a text snippet from the first paragraph of the com ponent in the book window BookComponent Book components FileName pathname A document or generated file in the book for pathname syntax see page 13 DisplayText string The text to display in the book window next to the icon for this com ponent the FrameMaker product displays this text when BDisplay Text is set...

Page 154: ...NumText string When VolumeNumStyle is set to Custom this is the string to use VolNumComputeMethod keyword Volume 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 Chapter numbering ChapterNumStart int...

Page 155: ...es continues page numbering from the previous file in the book PageNumStart integer Starting page number PageNumStyle keyword Style of page numbering keyword can be one of Arabic UCRoman LCRoman UCAlpha LCAlpha KanjiNumeric ZenArabic ZenUCAlpha ZenLCAlpha Kanjikazu BusinessKazu PageNumbering keyword Page numbering keyword can be one of Continue default Restart ReadFromFile Paragraph numbering PgfN...

Page 156: ... component s document BFNoteRestart keyword When to restart numbering if BFNoteComputeMethod is set to Restart keyword can be one of PerFlow restart footnote numbering for each flow in the document PerPage restart footnote numbering for each page Table footnote numbering BTblFNoteNumStyle keyword Style of table footnote numbering keyword can be one of Arabic UCRoman LCRoman UCAlpha LCAlpha KanjiNu...

Page 157: ...6 0 DefaultApply boolean Yes adds file to Update scroll list in the Import Formats dialog box file is updated saved for compatibility with versions earlier than 6 0 DefaultDerive boolean Yes adds file to Generate scroll list in the Generate Update Book dia log box NumPages integer The number of pages in the components document as calculated the last time the book was updated End of BookComponent s...

Page 158: ...when the book file is opened 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 File in which to search for source text for pathname syntax see page 13 End of BookXRef statement BookUpdateReferences boolean Yes spe...

Page 159: ...159 ADOBE FRAMEMAKER 6 0 MIF Book File Statements ...

Page 160: ...d text and other elements Object elements such as graphic frames equations markers system variables and cross references An object element holds one of its specified type of object and nothing more Tables belong to both groups of elements Although they can contain other elements table parts such as rows and cells tables are also object elements In a MIF file an element definition is defined by an ...

Page 161: ...keyword can be one of EDContainer EDEquation EDFootnote EDGraphic EDMarker EDTable EDTblTitle EDTblHeading EDTblBody EDTblFooting EDTblRow EDTblCell EDSystemVariable EDXRef EDContainer identifies a container element all other values identify object non container elements EDValidHighestLevel boolean Yes indicates element can be used as the highest level element for a flow only a container element i...

Page 162: ...ts that are automatically created when a table is inserted Valid only if EDObject is one of the following EDTable EDTblHeading EDTblBody EDTblFooting EDTblRow EDTblCell EDAttrDefinitions List of attribute definitions EDAttrDef Definition of attribute see Attribute definitions on page 163 EDAttrDef Additional statements as needed End of EDAttrDefinitions statement EDPgfFormat string Paragraph forma...

Page 163: ...don t provide a general rule statement for a container element the MIF interpreter applies the default rule ANY The rule means that any element or text is allowed The following general rule describes an element that must contain at least one element named Item ElementDef EDTag BulletList EDValidHighestLevel No EDGeneralRule Item EDObject EDContainer end of ElementDef For more information about con...

Page 164: ...ean Yes means the attribute is required EDAttrReadOnly boolean Yes means the attribute is read only EDAttrHidden boolean Yes means the attribute is hidden and will not appear in the Structure view or in the Edit Attributes dialog box EDAttrChoices The choices if the attribute type is FAttrChoice EDAttrChoice string A choice EDAttrChoice string Additional statements as needed End of EDAttrChoices s...

Page 165: ...he basis of the level to which it is nested within specific types of ancestor elements For example one clause of a level rule could specify that a Para element appears in 12 point type if it has only one Section element among its ancestors Another clause could specify that a Para element appears in 10 point type if there are two Section elements among its ancestors Element definitions contain form...

Page 166: ...atement It is valid only for container elements An EDPrefixRules statement can contain zero or more substatements describing level and context format rules 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 ContextFormatR...

Page 167: ... for container elements An EDStartElementRules statement can contain zero or more substatements describing level and context format rules 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: ...atement must appear in a format rules statement such as an EDTextFor matRules or EDEndElementRules statement 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 Additional cont...

Page 169: ... must appear in a format rules statement such as an EDTextFormatRules or EDEndElementRules statement 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 Additional statements as needed Else An optional Else clause see If ElseIf and Else statements on page 170 En...

Page 170: ...text such as Section Section If this context applies to the element the follow ing formatting statements are used to format the element Formatting statement A statement such as a FormatTag or FmtChangeListTag state ment that specifies how to change the formatting when the Context statement applies see Formatting statements next for a list of for matting statements End of If statement ElseIf Contex...

Page 171: ...t change list a format change list in the format change list catalog For more information on format change lists see Format change lists on page 172 Object format rules can t include this statement FmtChangeList The definition of an unnamed format change list For more informa tion on format change lists see Format change lists on page 172 Object format rules can t include this statement ContextFor...

Page 172: ...ent defines the contents of the Format Change List Catalog A document can have only one FmtChangeListCatalog statement which must appear at the top level in the order given in MIF file layout on page 18 Syntax FmtChangeList statement The FmtChangeList statement creates a format change list definition The FmtChangeList statement for a named change list must appear in the FmtChangeListCatalog statem...

Page 173: ... named FclPgfCatalogRef tagstring A paragraph catalog format to apply If the FmtChangeList state ment includes this statement it can t include any of the following statements PgfFIndent dimension First line left margin measured from left side of current text column PgfFIndentChange dimension Change to the first line left margin PgfFIndentRelative boolean Yes means the first indent is relative to t...

Page 174: ...Move all tabs by a specified distance A format change list can have one or more TabStob statements or a MoveTabs statement It can t have both Default font name properties FFamily string Name of font family FAngle string Name of angle FWeight string Name of weight FVar string Name of variation FPostScriptName string Name of font when sent to PostScript printer see Font name on page 82 FPlatformName...

Page 175: ...es capitalization style to string keyword can be one of FAsTyped FSmallCaps FLowercase FUppercase Default font kerning information FDX percent Horizontal kern value for manual kerning expressed as percentage of an em positive value moves characters right and negative value moves characters left FDY percent Vertical kern value for manual kerning expressed as percentage of an em positive value moves...

Page 176: ...umbering PgfNumFormat string Autonumber formatting string PgfNumberFont tagstring Tag from Character Catalog PgfNumAtEnd boolean Yes places number at end of line instead of beginning Advanced properties PgfHyphenate boolean Yes turns on automatic hyphenation HyphenMaxLines integer Maximum number of consecutive lines that can end in a hyphen HyphenMinPrefix integer Minimum number of letters that mu...

Page 177: ...by the PgfBotSeparator statement is at the current left indent PgfBotSepOffset dimension Position at which to place the reference frame below the paragraph Table cell properties PgfCellAlignment keyword Vertical alignment for first paragraph in a cell keyword can be one of Top Middle Bottom PgfCellLMargin dimension Left cell margin for first paragraph in a cell PgfCellLMarginChange dimension Chang...

Page 178: ...ed by filters ElementReferenced boolean Yes means the element is marked as a PDF named destination for cross references hypertext markers or bookmarks version 6 0 or later ETag tagstring Tag name of element from Element Catalog Collapsed boolean Collapse element in structure view SpecialCase boolean Treat element as a special case for validation AttributeDisplay keyword Default attribute display s...

Page 179: ...Begin and ElementEnd statements are nested within ParaLine and BookElements state ments The following example shows how FrameMaker SGML writes an UnorderedList element Para PgfTag Bullet The autonumber contains a bullet and a tab PgfNumString xa5 t ParaLine Note that the ElementBegin statement is nested inside both the Para and ParaLine statements ElementBegin ETag UnorderedList Collapsed No Speci...

Page 180: ...gin statement appears before the element suffix string which is followed by the ElementEnd statement Everything between the SuffixBegin statement and the ElementEnd statement is treated as the element suffix The ElementEnd statement does not appear when the element has no suffix Preference settings for structured documents Document statement In addition to document preferences for standard FrameMa...

Page 181: ...es means FrameMaker SGML inserts initial structure for new ele ments DSGMLAppName string The name of the SGML application associated with the document For information on registering SGML applications see the online manual FrameMaker SGML Developer s Guide DExclusions Lists exclusions inherited when document is included in a structured book see ElementDef statement on page 161 DInclusions Lists inc...

Page 182: ...argin for first paragraph in a cell PgfCellBMargin dimension Maximum bottom cell margin for first paragraph in a cell PgfCellTMargin dimension Maximum top cell margin for first paragraph in a cell PgfCellRMargin dimension Maximum right cell margin for first paragraph in a cell End of DFCLMaximums statement DFCLMinimums Lower change list limits Format change lists cannot decrement prop erties below...

Page 183: ...FrameMaker SGML These documents normally contain structural elements A structured book file has the same book statements that appear in a normal book file plus two additional types of information about structural elements An Element Catalog defined in ElementDefCatalog A structure tree defined in BookElements ElementDefCatalog statement The ElementDefCatalog statement contains the definitions of a...

Page 184: ...tatements in the BookSettings statement except that they begin with the letter B instead of the letter D Syntax ElementDefCatalog Begin Element Catalog ElementDef Element definitions defined on page 161 ElementDef Additional statements as needed End of ElementDefCatalog statement BookSettings Begin book settings BElementCatalogScope keyword Validation scope keyword can be one of Strict Loose Child...

Page 185: ...efore allowed in book PgfSpAfter dimension Maximum space after allowed in book PgfLeading dimension Maximum leading allowed in book FSize dimension Maximum font size allowed in book FDW dimension Maximum character spread allowed in book TSX dimension Minimum horizontal position of tab stop PgfCellLMargin dimension Minimum left cell margin for first paragraph in a cell PgfCellBMargin dimension Mini...

Page 186: ... structured documents see Using FrameMaker SGML FDW dimension Minimum character spread allowed in book TSX dimension Minimum horizontal position of tab stop PgfCellLMargin dimension Minimum left cell margin for first paragraph in a cell PgfCellBMargin dimension Minimum bottom cell margin for first paragraph in a cell PgfCellTMargin dimension Minimum top cell margin for first paragraph in a cell Pg...

Page 187: ...ion for an object element contains an EDGeneralRule statement Exclusions not allowed for object element definition An element definition for an object element contains an EDExclusions statement Inclusions not allowed for object element definition An element definition for an object element contains an EDInclusions statement Discarding element definition no EDTag name was specified An element defin...

Page 188: ...ment definition for tag will be used Two or more element definitions use the same tag Format tag is invalid for an element of type EDEquation defaulting to Medium Only small medium and large format tags are valid for an equation element Element name contains characters that are not allowed Element name contains at least one disallowed character such as or Invalid table tagging specification parame...

Page 189: ...vel in small equations DMathMediumLevel1 dimension Size in points of level 1 expression in medium equations DMathLargeLevel1 dimension Size in points of level 1 expression in large equations DMathSmallLevel2 dimension Size in points of level 2 expression first level subscripts and super scripts in small equations DMathMediumLevel2 dimension Size in points of level 2 expression in medium equations ...

Page 190: ...tional statements as needed DMathOpOverrides Identifies built in operator with redefined display properties DMathOpName tagstring Name of built in operator from reference frame DMathOpTLineOverride boolean No uses default glyph for operator Yes looks up operator on text line in reference frame DMathOpPositionA integer Position of first operand expressed as a percentage of equation font size DMathO...

Page 191: ...ns by including them in a MathFullForm statement For example to create a symbol for the set of real numbers add the new element to the Math Catalog as follows Document DMathCatalog DMathNew DMathOpName Real Numbers Name of new math element DMathNewType Atom Type of math element end of DMathNew end of DMathCatalog end of Document Define the custom element on a reference page that has a name beginni...

Page 192: ...mes char f id char x indexes 1 0 char x num 3 00000000 3 end of MathFullForm The equation looks like this in the FrameMaker document You can change the appearance of a built in math element although you cannot change the element s type or behavior For example to redefine the built in inverse sine function asin so that it appears as sin 1 add the redefined element to the Math Catalog as follows DMa...

Page 193: ...d of Frame end of Page When you create the reference frame that specifies the new appearance of the math element you must give the frame the name of the built in element as it appears in the Equations palette To find the name of a built in element choose Insert Math Element from the equations pop up menu on the Equations palette Turn off Show Custom Only in the dialog box and scroll through the el...

Page 194: ...able to ignore some of the Math substatements You don t need MIF statements for FrameMaker s math features that are unsupported by another application If you are writing an input filter for converting equations created with another application to FrameMaker equations you must provide a ShapeRect or MathOrigin substatement to specify the equation s location on the page The other Math substatements ...

Page 195: ...ion are shown in parentheses following the MathFullForm expression MathFullForm equal char y times char a power id plus char x char b num 2 2 end of MathFullForm MathFullForm statement syntax In addition to the mathematical structure of the equation a MathFullForm statement can contain special instructions for character formatting manual alignment points and positioning and spacing values Expressi...

Page 196: ...integerD Double underline 0 no underline 1 underline fstringf Font family for example f Times f iintegeri Display format number 0 1 2 jintegerj Alignment for vertical lists and matrices 0 center 1 left 2 right 3 at equal symbol 4 left of equal symbol lmetricl Extra space to left of expression corresponds to Spacing values in the Position Settings dialog box M In a matrix makes all column widths eq...

Page 197: ...ipsis appears after the number There are two special cases of the num expression NaN means not a number These forms of num usually result from computations string string contains a character string Character strings must be enclosed in straight double quotation marks To include characters in the extended ASCII range above 0x127 use a backslash sequence see Character set in strings on page 13 To in...

Page 198: ...Form char alpha MathFullForm char beta MathFullForm char bot MathFullForm char chi MathFullForm char cpartial MathFullForm char degree MathFullForm char delta MathFullForm char Delta MathFullForm char emptyset MathFullForm char epsilon MathFullForm char eta MathFullForm char gamma MathFullForm char Gamma MathFullForm char Im MathFullForm char infty MathFullForm char iota MathFullForm char kappa Ma...

Page 199: ...athFullForm char Re MathFullForm char rho MathFullForm char sigma MathFullForm char Sigma MathFullForm char tau MathFullForm char theta MathFullForm char Theta MathFullForm char upsilon MathFullForm char Upsilon MathFullForm char varphi MathFullForm char varpi MathFullForm char varsigma MathFullForm char vartheta MathFullForm char wp MathFullForm char xi MathFullForm char Xi MathFullForm char zeta...

Page 200: ...operand as shown in the following table The char expression is backward compatible The char expression can also describe composite diacritical marks The following table contains examples Example MathFullForm statement MathFullForm char x 1 0 0 0 0 MathFullForm char x 2 0 0 0 0 MathFullForm char x 3 0 0 0 0 MathFullForm char x 0 1 0 0 0 MathFullForm char x 0 2 0 0 0 MathFullForm char x 0 3 0 0 0 Ma...

Page 201: ...ge 265 dummy The dummy expression describes a dummy variable that you can use as a placeholder in equations For example in the following equation i is a dummy variable The dummy expression has the same syntax as the char expression and can contain the same character symbols or names Operator expressions Operator expressions take at least one expression as an operand There are no restrictions on th...

Page 202: ...llForm atanh char x MathFullForm box char x MathFullForm box2 char x MathFullForm boxdot char x MathFullForm bra char x MathFullForm ceil char x MathFullForm change char x MathFullForm cos char x MathFullForm cosh char x MathFullForm cot char x MathFullForm coth char x MathFullForm csc char x MathFullForm csch char x MathFullForm curl char x MathFullForm dagger char x MathFullForm dangle char x Ex...

Page 203: ...orm imag char x MathFullForm ket char x MathFullForm lap char x MathFullForm ln char x MathFullForm lparen char x MathFullForm lparen i1i char x MathFullForm lparen i2i char x MathFullForm minus char x MathFullForm mp char x MathFullForm neg char x MathFullForm norm char x MathFullForm overline char x MathFullForm partial char x MathFullForm pm char x MathFullForm real char x MathFullForm rparen c...

Page 204: ...char x MathFullForm tan char x MathFullForm tanh char x MathFullForm therefore char x MathFullForm ucomma char x MathFullForm uequal char x MathFullForm upbrace char x MathFullForm var char x Example MathFullForm statement MathFullForm acmut char x char x MathFullForm bullet char x char x MathFullForm bket char x char x MathFullForm choice char x char x MathFullForm cmut char x char x MathFullForm...

Page 205: ...lForm 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 a Partial and full differentials are a special case of function Example MathFullForm statement MathFullForm plus num 1 1 num 2 2 MathFullForm plus num 1 1 num 2 2 num 3 3 MathFullForm plus num 1 1 num 2 2 num 3 3 num 4 4 Example MathFullForm state...

Page 206: ...orm lrarrow char x char x MathFullForm LRarrow char x char x MathFullForm ni char x char x MathFullForm notequal char x char x MathFullForm notin char x char x MathFullForm notsubset char x char x MathFullForm oplus char x char x MathFullForm otimes char x char x MathFullForm parallel char x char x MathFullForm perp char x char x MathFullForm plus char x char x MathFullForm plus char x minus char ...

Page 207: ... following table shows the two display formats for an intersection with three operands 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 Example MathFullForm statement MathFullForm bigcap char x MathFullForm bigcu...

Page 208: ... with optional operands Example MathFullForm statement MathFullForm int char x char a char b MathFullForm int i1i char x char a char b MathFullForm int i2i char x char a char b Example MathFullForm statement MathFullForm grad char x MathFullForm grad num 1 1 num 2 2 MathFullForm log char x MathFullForm log char x char x MathFullForm oppartial char x MathFullForm oppartial char x char x MathFullFor...

Page 209: ... subscripts and superscripts Each position can have one expression The following table shows all possible forms of chem MathFullForm substitution char x char x char x Example MathFullForm statement MathFullForm indexes 0 1 char x num 1 1 MathFullForm indexes 0 2 char x num 1 1 num 2 2 MathFullForm indexes 1 0 char x num 1 1 MathFullForm indexes 2 0 char x num 1 1 num 2 2 MathFullForm indexes 1 1 c...

Page 210: ...rom top to bottom The matrix expression has an alternate display format The following table shows examples of matrix 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 Example MathFullForm statement MathFullForm tensor 2 char x num 1 1 num 2 2 MathFullForm tensor 1 char x num 1 1 num 2 2 MathFullForm tensor 1 char x num 1 1 num...

Page 211: ... redefined math operator in an equation Instead you use the expression for the built in operator but force a FrameMaker product to use the new symbol from the reference page For example suppose you redefine the built in operator asin and add it to the Math Catalog as follows DMathCatalog DMathOpOverrides DMathOpName asin Names the built in operator DMathOpTLineOverride Yes Forces lookup from refer...

Page 212: ...er plus minus char b pm sqrt plus power char b num 2 2 minus times num 4 4 char a char c times num 2 2 char a Example 2 MathFullForm approx power char sigma minus num 1 1 fract id plus num 1 1 times over id plus char X minus char R times num 2 2 power char sigma num 2 2 id rightarrow indexes 0 1 char E num 0 0 indexes 0 1 char E num 1 1 over indexes 0 1 char M num 2 2 power indexes 0 1 char M num ...

Page 213: ...EUC The MIF can converted between Shift JIS and EUC using a Japanese text conversion utility The MIF encoding statement is converted along with the text in the MIF file To determine which encoding was used each MIF file that contains Japanese text must include a MIFEn coding statement near the beginning of the file It must appear before any Japanese text in the file The string value in the MIFEnco...

Page 214: ...FEncoding statement near the beginning of the file It must appear before any Korean text in the file The string value in the MIFEncoding statement is the Korean spelling of the word Korean FrameMaker reads this fixed string and determines what the hexadecimal encoding is for it From that FrameMaker expects the same encoding to be used for all subse quent Asian text in the document To see the chara...

Page 215: ... the Roman component font CombinedFontWesternSize percent The size of the Roman component font expressed as a percentage of the base font size allowed values are 1 0 through 1000 0 CombinedFontWesternShift percent The baseline offset of the Roman font expressed as a percentage of the base font size where a positive value raises the Roman baseline above the Asian baseline allowed values are 1000 0 ...

Page 216: ... FCombinedFontName is a new statement to express the combined font name The FFamily statement expresses the base font s family name The FPostScriptName and FPlatformName statements all refer to the base font The following new state ments have been added to express the corresponding values for the Roman font FWesternPostScriptName FWesternPlatformName Syntax PgfFont FPostScriptName string The PostS...

Page 217: ...tName MyCombinedFont FWeight Medium FEncoding JISX0208 ShiftJIS FLanguage Japanese FLocked No end of Font String end of ParaLine end of Para Kumihan Tables Kumihan tables specify line composition rules for Japanese documents FrameMaker uses standard JIS 4051 Kumihan rules by default In most cases the JIS standard is fine but there are cases where corporate standards might differ from the JIS rules...

Page 218: ...or the BegParentheses statement specify the actions FrameMaker takes when a character from each of the 25 classes such as an ending parenthesis character follows a character in the BegParentheses class The position of each numerical value after the BegParentheses statement specifies the class For example the first position is the BegParentheses class the EndParen theses class is the second positio...

Page 219: ...e of a Kumihan table it is best to save a document as MIF open the MIF on an Asian system in a text editor and search for the KumihanCatalog statement Specifying Kumihan tables in MIF The following statements specify the Kumihan catalog and all of its component tables KumihanCatalog statement The KumihanCatalog statement begins the Kumihan table specification for the document Note that the Kumihan...

Page 220: ...guage for this table keyword can be one of Japanese TraditionalChinese SimpleChinese Korean CharClass Defines character class assignments SqueezeTable Defines the squeeze table SpreadTable Defines the spread table LineBreakTable Defines the line break table ExtraSpaceTable Defines the extra space table Ends the Kumihan statement MIF Statement Column Posi tion Description CharClass BegParentheses c...

Page 221: ... BaseCharWithRubi chars 14 The rubi block including oyamoji and rubi text This class has to do with Rubikake and Nibukake rules that specify how to handle spacing between a rubi block and an adjacent character Numeral chars 15 Characters for numerals UnitSymbol chars 16 This class is not used by FrameMaker RomanSpace chars 17 Characters for spaces in Roman text RomanChar chars 18 Characters for Ro...

Page 222: ...ses NoLineBeginChar end of CharClass SqueezeTable statement The SqueezeTable statement defines how to compress the space surrounding characters of each class Note that each character is rendered within a specific area For Asian characters this area is the same for each character These rules determine how to compress this area for optimum line rendering Syntax SqueezeTable SqueezeHorizontal numeral...

Page 223: ...nds to the beginning or end of a line These values specify how to spread a character of the class identified by the row statement when followed by a character in the class identified by the column position in the statement Syntax SqueezeTable BegParentheses EndParentheses NoLineBeginChar QuestionBang CenteredPunct PeriodComma NonSeparableChar PrecedingSymbol SucceedingSymbol AsianSpace Hiragana Ot...

Page 224: ...f the pair by 1 4 em 6 Spread the first character by 1 2 em and the second character by 1 4 em 7 Add spread to the first character of an Asian Roman character pair 8 Add spread to the second character of a Roman Asian character pair 9 Delete the first occurance of the two spaces for example delete the first of two adjacent Roman space characters 10 Nibukake Rubi may extend over the preceding nibuk...

Page 225: ...ement row Each value corresponds to one of the 25 character classes respectively These values specify how to break a line after a character of the class identified by the row statement when followed by a character of the class identified by the column position Syntax SpreadTable BegParentheses EndParentheses NoLineBeginChar QuestionBang CenteredPunct PeriodComma NonSeparableChar PrecedingSymbol Su...

Page 226: ...rals Spare5 numerals End of LineBreakTable statement The possible values for numerals are 0 Line break is allowed 1 Line break is not allowed 2 Break the line according to Roman text rules 3 This character pair should not have occurred LineBreakTable BegParentheses EndParentheses NoLineBeginChar QuestionBang CenteredPunct PeriodComma NonSeparableChar PrecedingSymbol SucceedingSymbol AsianSpace Hir...

Page 227: ...here are 25 numeric values in each statement row Each value corresponds to one of the 25 character classes respectively These values specify how to add space after a character of the class identified by the row statement when followed by a character of the class identified by the column position Syntax ExtraSpaceTable BegParentheses numerals EndParentheses numerals NoLineBeginChar numerals Questio...

Page 228: ...uctured the rubi composite contains an object tagged RubiGroup the oyamoji text an element tagged Rubi and the rubi text Spare3 numerals Spare4 numerals Spare5 numerals End of ExtraSpaceTable statement The possible values for numerals are 0 Extra space is allowed 1 Extra space is not allowed 2 Add extra space to the last character of a Roman word 3 Add extra space after a Roman character 4 Add ext...

Page 229: ...t DRubiOverhang boolean Yes allows rubi to overhang hiragana oyamoji text DRubiAlignAtBounds boolean Yes aligns all rubi and oyamoji characters at line boundaries DWideRubiSpaceForJapanese keyword Determines how to space rubi characters for Japanese oyamoji that is wider than the rubi text keyword can be Wide Narrow Proportional DNarrowRubiSpaceForJapanese keyword Determines how to space rubi char...

Page 230: ...Also anything that can occur within a Paraline except another rubi composite can also occur between the RubiCompositeBegin and RubiCompositeEnd statements In a structured document the rubi composite includes a RubiGroup element and a Rubi element Syntax RubiCompositeBegin Starts the rubi composite Element For structured documents only Defines the RubiGroup element Continue the RubiGroup element sp...

Page 231: ...ique 123456 ETag RubiGroup Attributes Typical MIF to define attributes end of Attributes Collapsed No SpecialCase No AttributeDisplay AllAttributes end of Element end of RubiCompositeBegin String Oyamoji text RubiTextBegin Element Unique 123457 ETag Rubi Attributes Typical MIF to define attributes end of Attributes Collapsed No SpecialCase No AttributeDisplay AllAttributes end of Element String Ru...

Page 232: ...232 ADOBE FRAMEMAKER 6 0 MIF Asian Text Processing Statements ...

Page 233: ...nd the MIF file that describes it If you are writing a filter program to convert text files to MIF your program should create a similar MIF file The following text file was created with a text editor MIF Maker Interchange Format is a group of statements that describe all text and graphics understood by a FrameMaker product in an easily parsed readable text file MIF provides a way to exchange infor...

Page 234: ...l here PgfTag Body One ParaLine statement for each line in the paragraph Line breaks don t matter the MIF interpreter adjusts line breaks when the file is opened or imported ParaLine String MIF Maker Interchange format is a group of ParaLine String statements that describe all text and graphics ParaLine String understood by a FrameMaker product in an easily parsed ParaLine String readable text fil...

Page 235: ... framemif on NeXT computers To draw the bar chart you open or import the MIF file in a FrameMaker product Normally you would create an anchored frame in a document select the frame and then import this file The MIF statements to describe the bar chart can be created by a database publishing application that uses the values in a database to determine the size of the bars MIFFile 6 00 Generated by S...

Page 236: ...tLine GroupID 1 TLOrigin 1 80 0 67 TLAlignment Left String Brand I Reset the current pen pattern and pen width for subsequent objects Pen 0 PenWidth 0 500 Axes for the chart PolyLine GroupID 1 Fill 15 NumPoints 3 Point 0 60 0 08 Point 0 60 2 35 Point 3 10 2 35 Tick marks along the y axis PolyLine GroupID 1 NumPoints 2 Point 0 60 1 83 Point 0 47 1 83 PolyLine GroupID 1 NumPoints 2 Point 0 60 1 33 P...

Page 237: ...t String 75 TextLine GroupID 1 TLOrigin 0 46 0 42 TLAlignment Right String 100 Draw all the gray bars first since they have the same fill Set the fill for the first bar the others inherit the fill pattern Rectangle GroupID 1 Fill 4 ShapeRect 0 97 1 10 0 13 1 25 Rectangle GroupID 1 ShapeRect 1 47 1 47 0 13 0 88 Rectangle GroupID 1 ShapeRect 1 97 1 72 0 13 0 63 Rectangle GroupID 1 ShapeRect 2 47 1 9...

Page 238: ...ted into a page or graphic frame in a document a FrameMaker product centers the chart in the page or graphic frame This example is in the file piechart mif PieChart framemif on NeXT computers MIFFile 6 00 Generated by xyzgrapher 3 5 identifies this as a MIF file All dimensions are in points Units Upt Set the current pen pattern width and fill pattern Pen 0 PenWidth 5 Fill 0 Draw the black arc All ...

Page 239: ... imported into a FrameMaker document Group ID 1 Custom dashed lines A FrameMaker product provides eight predefined dashed line options You can define a custom pattern for dashed lines by using the DashedPattern statement within an Object statement This example is in the file custdash mif MIFFile 6 00 This is a sparse dot dash line PolyLine Pen 0 Fill 15 PenWidth 4pt ObColor Black DashedPattern Das...

Page 240: ...ashSegment 8pt DashSegment 12pt solid DashSegment 16pt DashSegment 20pt solid DashSegment 24pt DashSegment 20pt solid DashSegment 16pt DashSegment 12pt solid DashSegment 8pt end of DashedPattern HeadCap Butt TailCap Butt NumPoints 2 Point 1 0 3 Point 7 5 3 end of PolyLine This one has a missing DashSegment statement so the first 10 point segment is repeated with a default gap of 10 points PolyLine...

Page 241: ...ble and the MIF file that describes it This table is in the sample file stocktbl mif stocktbl framemif on NeXT computers The widths of columns is calculated using MIF statements that are only for input filters Rather than speci fying an exact width for each column the table uses the substatement TblColumnWidthA for two of the columns to specify that the column width is determined by the width of a...

Page 242: ...dth for the columns TblColumnWidth 1 TblColumn TblColumnNum 2 Shrink wrap the third column to the width of its heading cell See CellAffectsColumnWidthA statement below TblColumnWidthA 0 2 end of TblFormat TblNumColumns 3 The table instance has three columns EqualizeWidths Make the width of the second and third columns equal to the larger of the two However the columns cannot be wider than 2 inches...

Page 243: ...ll Cell CellContent Para Cell in column 2 PgfTag CellHeading Forces lookup in Paragraph Catalog ParaLine String Weekly Char HardReturn ParaLine String Change For shrink wrap CellAffectsColumnWidthA Yes end of Cell end of Row end of TblH TblBody The body Row The first body row Cell CellContent Para PgfTag CellBody Forces lookup in Paragraph Catalog ParaLine String Ace Aluminum end of Cell Cell Cell...

Page 244: ...ookup in Paragraph Catalog ParaLine String 2 50 end of Cell end of Row end of TblBody end of Tbl end of Tbls TextFlow Para PgfTag Body ParaLine ATbl 1 Reference to table ID 1 Updating several values in a table You can update several values in a table or elsewhere in a document by importing a MIF file To update a table insert a table in a FrameMaker document and create user variables for the values...

Page 245: ...atabase and the formatting capabilities of a FrameMaker product through MIF Although this example will work with most FrameMaker products the example will not work with FrameReader FrameReader cannot read MIF files In this example inventory information for a coffee distributor is stored in a database Database fields contain a reference number the type of coffee the number of bags in inventory the ...

Page 246: ...d in a row of the table The procedure then creates a TextFlow statement that contains the text that appears above the table and creates an ATbl statement to refer to the table instance You can set up a report generator like the previous example by following these general steps 1 Create the template for the final report in a FrameMaker product Design the master pages and body pages for the document...

Page 247: ...ification line 9 Uses include to read in the formatting information stored in the template coffee mif 10 Sends the MIF statements to create a table instance 11 In each body cell sends a field that includes the information extracted from the database 12 Creates a text flow that uses the TextRectID from the empty body page in the coffee mif template 13 Includes the Atbl statement that places the tab...

Page 248: ...R SEND PACKET vDoc Cell CellContent Para PgfTag CellHeading CR SEND PACKET vDoc ParaLine String Bags CR SEND PACKET vDoc Cell CellContent Para PgfTag CellHeading CR SEND PACKET vDoc ParaLine String Status CR SEND PACKET vDoc Cell CellContent Para PgfTag CellHeading CR Retail and Discount prices are conditional SEND PACKET vDoc ParaLine Conditional InCondition Retail CR SEND PACKET vDoc String Pric...

Page 249: ... ParaLine Conditional InCondition Retail CR SEND PACKET vDoc String String Inventory Price per Bag 00 SEND PACKET vDoc Conditional InCondition Discount CR SEND PACKET vDoc String String vDiscPrice 00 CR SEND PACKET vDoc Unconditional CR MESSAGE Generating MIF for Inventory Name Status Inventory Status NEXT RECORD Inventory End for SEND PACKET vDoc CR End of table Body of page SEND PACKET vDoc Text...

Page 250: ...out each part is associated with its record Due to the structure of MIF however the information must appear in different portions of the MIF file the part name and description belong in the TextFlow statement while the table belongs in the Tbls statement To accomplish this you can make the following modifications to the design of the database procedure shown in the previous example At the beginnin...

Page 251: ...of text flow When a FrameMaker product opens the main MIF file it will use the two include statements to place the data and template information in the required order Creating anchored frames You can extend the technique of writing separate MIF files to handle both tables and graphics Like table instances anchored frame instances must appear in the MIF file prior to the TextFlow statement If each ...

Page 252: ...252 ADOBE FRAMEMAKER 6 0 Examples ...

Page 253: ...ters for example n indicate variable words or values in a message List of MIF messages The tables in this section lists the MIF messages produced by the MIF interpreter and describes their meanings This message Means Skipping these chars MIF statements Done skipping The MIF file contains a syntax error or a MIF statement not sup ported in this version of the FrameMaker product The FrameMaker produ...

Page 254: ... objects with a matching group ID Expected comma identifier left parenthesis right parenthe sis right quote The MIF file contains a syntax error Following TabStop statements will determine actual number of tabs The PgfNumTabs statement is present in MIF for use by other pro grams that read MIF files it is not used by the MIF interpreter When the MIF interpreter reads a MIF file it counts the numbe...

Page 255: ...ate ment Unable to start new object The FrameMaker product cannot allocate memory for a new object In UNIX versions try to free some swap space and restart the FrameMaker product In the Macintosh or Windows versions try quitting other applications and closing other open windows then start the FrameMaker product again Unable to store marker The marker table is full In UNIX versions the FrameMaker p...

Page 256: ...in the middle The MIF interpreter attempted to solve the problem by disconnecting a text frame WARNING Circular text flow Don t use the document 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 was unable to solve the problem A FrameMaker document file will open but ...

Page 257: ...cument contains structure information to use when saving as PDF PgfPDFStructureLevel has been added to the Pgf statement to assign a structure level to paragraph formats Books and documents can also include arbitrary fields of Document Info information Documents use the PDFDocInfo statement and books use PDFBookInfo To improve handling of bookmarks hypertext links within and across PDF files Frame...

Page 258: ...t that contains CombinedFontDefn state ments to define each combined font for the document The CombinedFontCatalog statement must occur before the Document statement For information about combined fonts see Combined Fonts on page 214 Control statements A new control statement CharUnits has been added to express whether characters and line spacing is measured by points or by Q the standard units of...

Page 259: ...graphic object has no overprint statement in it the overprint setting for that object s color is assumed Paragraph and Character statements In version 5 5 the PgfFont and Font statements can now include the FLanguage statement to define a language for a range of text within a paragraph The PgfFont and Font statements include statements to describe combined fonts For information on combined fonts s...

Page 260: ...ments In version 5 the following MIF statements have changed or now have additional property statements Paragraph statements Character statements Table statements Document statements Text frame statements Text flow statements Graphic frame statements Text inset and data link statements Structured document statements Version 5 also introduces a new internal graphic format for imported vector graphi...

Page 261: ...nformation about the MIF syntax for tables see Tbl statement on page 88 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 ge...

Page 262: ...erred from the TextFlow statement to the TextRect statement The following statements which appeared under the TextFlow statement in previous versions are replaced by corresponding statements under the TextRect statement in 5 00 If a FrameMaker product in version 5 finds the TextFlow MIF statements for side heads the FrameMaker product will convert these statements to the equivalent statements unde...

Page 263: ...able on all platforms As a result of this new feature the new TextInset statement replaces the DataLink statements for subscribers Note that the DataLink statements for publishers are still used The following table lists the old DataLink statements and the new TextInset statements that replace them If you open a 5 00 MIF file with text insets in a version 4 FrameMaker product the older version of ...

Page 264: ...nts that have changed or that have introduced additional property state ments between versions 3 and 4 of the FrameMaker products MIF statements that have changed include Color statements Math statements Character format statements Object statements Page statements Color statements The following table lists the changes for color property statements New statement Action in earlier versions ColorCat...

Page 265: ...ersion 4 FrameMaker product versions include both color and separation statements in the MIF files otherwise use only the color statements Math statements The following table lists the changes for math statements In addition the diacritical expression defines new diacritical marks see Using char and diacritical for diacritical marks on page 200 The diacritical expression is not backward compatible...

Page 266: ...k to 0 degrees A FrameMaker product writes both BRect and ShapeRect values for backward compatibility For text lines text frames imported graphics table cells and equations that are rotated at an angle of 90 180 or 270 degrees the BRect value is the position and size of the object after rotation For any object rotated at any other angle the BRect value is the position and size of the object before...

Page 267: ...ibility MIF generators should use the PageAngle statement instead of PageOrientation When the MIF interpreter reads a Page statement that includes both a PageAngle and a PageOrientation statement it ignores the PageOrientation statement When the interpreter reads a Page statement that contains a PageOrientation statement but no PageAngle statement it determines the page s angle from the PageOrient...

Page 268: ...268 ADOBE FRAMEMAKER 6 0 MIF Compatibility ...

Page 269: ...facet in a MIF file The second part of this appendix explains the graphic inset format If you are using the API to implement the graphic inset editor the syntax described in this appendix applies only to external graphic insets For information on specifying facet names data types and data for internal graphic insets see the FDK Programmer s Guide Facets for imported graphics A graphic imported by ...

Page 270: ... a cross platform facet of an imported graphic If a cross platform facet does not already exist FrameMaker products generate a FrameImage facet for the imported graphic Basic facet format A facet consists of a facet name a data type and a series of lines containing facet data For example EPSI v PS Adobe 2 0 EPSF 2 0 n Facet name The first line of a facet identifies the facet by name The facet name...

Page 271: ...data contains the string x yz the facet contains x yz Within the facet data nonprintable ASCII characters or non ASCII bytes greater than 7f are represented in hexadecimal Any section of data represented in hexadecimal is preceded and followed by the characters x For example the following FrameImage facet contains data represented in hexadecimal which is enclosed between two sets of x characters F...

Page 272: ...er document you need to add functions to your application to write out graphic data as a graphic inset A graphic inset consists of an ImportObject statement that contains one or more facets for display and print If your application requires additional information not supported by the display and print facet the graphic inset also needs one or more application specific facets to store this addition...

Page 273: ...ocument is opened Note that if the graphic inset file is moved or deleted FrameMaker products will be unable to display the data and will inform the user that the graphic inset is missing External graphic insets are best suited to situations in which users are documenting projects in progress or in which the document s graphics are updated by external sources for example by a database An external ...

Page 274: ...only in the FrameMaker product document Users can access the graphic only through the FrameMaker product To edit an internal graphic inset users must open the FrameMaker product document select the graphic inset and choose the Graphic Inset command from the Special menu The FrameMaker product writes the graphic inset to a temporary file and instructs your application to edit it Internal graphic in...

Page 275: ... can be in any format your application understands and a graphic inset file can contain as many application specific facets as you want When selecting application specific facets for your graphic inset file you might want to include an industry standard facet for example EDIF for EDA applications so that you can use the graphic inset file to share data with applications other than FrameMaker produ...

Page 276: ...elationship between your application the FrameMaker product document and a graphic inset file with a local application specific facet Application specific facet Display and print facet Graphic inset with a local application specific facet Your graphic application FrameMaker product document ...

Page 277: ...hic inset file They cannot be remote facets To write a remote facet your graphic application must write an application data file and store its data type and pathname in the graphic inset file A remote application specific facet has the following format facet_name facet_type path_for_facet_file EndInset For example the following lines describe the remote facet described in the application data file...

Page 278: ...portObject ImportObFile tmp default fi ImportObEditor fmbitmap BitmapFile facet v tmp default Data facet i 64 64 1 1 FrameImage v x x EndInset To see more examples of the graphic inset format you can import a graphic into a FrameMaker document import by copying and save the FrameMaker document as a MIF file General rules for reading and writing facets To write a facet you need to modify the existi...

Page 279: ...ame lines and then read the appropriate facets Since facets begin and end with the facet_name token your program should read facet data until it encounters an equal sign in column 1 If your application encounters the characters x when reading facet data it should process the subsequent data as hexadecimal until it encounters another x If your facet contains a mix of ASCII characters and hexadecima...

Page 280: ...ect statement For more information about the statement see ImportObject statement on page 120 Specification of an EPSI facet An EPSI facet begins with the following facet name and data type lines EPSI v Each line of EPSI facet data ends with n When a FrameMaker product imports a graphic inset with an EPSI facet FrameMaker products use the EPSI bounding box to determine the graphic inset s size If ...

Page 281: ...tr2 n CreationDate Tue Apr 25 16 09 56 1989 n EndComments n BeginPreview 18 18 1 18 n FFFFC0 n FFFFC0 n FFFFC0 n FFFFC0 n FFFFC0 n FFFFC0 n FFFFC0 n FFFFC0 n FFFFC0 n FFFFC0 n FFFFC0 n FFFFC0 n FFFFC0 n FFFFC0 n FFFFC0 n FFFFC0 n FFFFC0 n FFFFC0 n EndPreview n EndProlog n Page one 1 n 0 0 moveto 18 0 rlineto 0 18 rlineto 18 0 rlineto closepath 0 setgray n fill n Trailer n EndInset End ImportObject...

Page 282: ...pe lines FrameImage v When importing a graphic with a FrameImage display and print facet FrameMaker products prompt the user to specify the graphic inset s print resolution in the Imported Graphic Scaling dialog box The print resolution determines the size of the imported graphic Specification of FrameImage data A description of a graphic in FrameImage format consists of three parts A header which...

Page 283: ...The fifth value is not currently used and is set to 0x00000000 by default The sixth value specifies whether or not the data is encoded If the data is encoded this value is set to 0x00000002 If the data is not encoded that is if the data is in uncompressed format this value is set to 0x00000001 In the example the data is uncompressed The seventh value identifies the type of color map used by the gr...

Page 284: ...istered ras_maptype s define RMT_RAW2 Sun supported ras_maptype s define RMT_NONE0 ras_maplength is expected to be 0 define RMT_EQUAL_RGB1 red ras_maplength 3 green blue For more information see the usr include rasterfile h header file and the Sun man page on rasterfile Color map The optional color map defines colors used for the imported graphic It consists of 256 bytes of red followed by 256 byt...

Page 285: ...ue in the header is 0x00000002 the data is a run length encoded pixel matrix The byte value 80 hexadecimal decimal 128 is used as a separator for encoding several bytes of the same color The encoding scheme uses the following format 80 nn pp where nn 1 is the number of times to repeat the data byte pp For example the following values represent seven data bytes of the hex value 55 80 06 55 A single...

Page 286: ...which produces a gray shade hex FF represents binary 11111111 which produces black and hex 00 represents binary 00000000 which produces white Pseudocolor and gray images A pseudocolor or gray graphic has the following header properties An example of the header for a color graphic is shown below 59a66a95 00000040 00000040 00000008 00000000 00000001 00000002 00000300 Each graphic data byte represent...

Page 287: ...e the graphic is in black and white FrameImage v x 59a66a95 00000040 00000010 00000001 00000000 00000001 00000000 00000000 FFFFFFFFFFFFFFFF 80000000FFFFFFFF 80000000FFFFFFFF 80000000FFFFFFFF 80000000FFFFFFFF 80000000FFFFFFFF 80000000FFFFFFFF 80000000FFFFFFFF FFFFFFFF00000001 FFFFFFFF00000001 FFFFFFFF00000001 FFFFFFFF00000001 FFFFFFFF00000001 FFFFFFFF00000001 FFFFFFFF00000001 FFFFFFFFFFFFFFFF x End...

Page 288: ... included in the description because the graphic is in black and white Unlike the previous file this graphic file is in encoded format FrameImage v x 59A66A95 00000040 00000010 00000001 00000000 00000002 00000000 00000000 8007FF 8000000000 8003FF 8000000000 8003FF 8000000000 8003FF 8000000000 8003FF 8000000000 8003FF 8000000000 8003FF 8000000000 8007FF 00000001 Header Graphic data ...

Page 289: ...289 ADOBE FRAMEMAKER 6 0 FrameImage Facet Format 03FF 000001 03FF 000001 03FF 000001 03FF 000001 03FF 000001 03FF 000001 07FF dInset data ...

Page 290: ...ctor v MakerVectorXXX In the version number line XXX is a three character string identifying the version of the FrameMaker product For example the character string MakerVector5 0 identifies an imported graphic created in FrameMaker 5 0 If the imported graphic is stored in a separate file the file must include the header string MakerVec torXXX Specification of FrameVector data A description of a gr...

Page 291: ... styles need to be defined before specifying the first object op code Object Definition op codes Style op codes Op code Description of op code Location 0x01 Version number page 293 0x02 Bounding rectangle page 294 0x03 CMYK color definition page 294 0x04 RGB color definition page 294 0x05 Pantone color definition page 295 0xFF End of the vector graphics page 295 Op code Description of op code Loca...

Page 292: ...d spread value page 302 Op code Description of op code Location 0x80 Ellipse page 302 0x81 Polygon page 303 0x82 Polyline page 303 0x83 Rectangle page 304 0x84 Rounded rectangle page 304 0x85 Arc page 304 0x86 FrameImage graphic imported within this graphic page 305 0x87 Beginning of text line page 306 0x88 Text in text line page 306 0x89 End of text line page 306 0x8A Beginning of clipping rectan...

Page 293: ...signed 8 bit integer short unsigned 16 bit integer long signed 32 bit integer unsigned long unsigned 32 bit integer metric signed 32 bit fixed point the first 16 bits represent the digits preceding the decimal the last 16 bits represent the digits following the decimal string string of characters beginning and ending with a null character the string is preceded by a short integer that specifies th...

Page 294: ...econd op code for a FrameVector graphic Specification by data type String metric metric metric metric Description of data Name of color tag string Percentages of cyan magenta yellow and black metric metric metric metric Size of data in bytes Variable Example 03 0000001B 00 0B 53 61 67 65 20 47 72 65 65 6E 00 00500000 00230000 00320000 00000000 for a color named Sage Green with the following specif...

Page 295: ...th the following specifications red 40 0028 green 65 0041 blue 51 0033 Note See Definition op codes on page 291 for more information on color definitions Specification by data type String string Description of data Name of color tag string PANTONE name or number string Size of data in bytes Variable Example 05 0000001A 00 0B 53 61 67 65 20 47 72 65 65 6E 00 00 04 35 37 30 00 for a color named Sage...

Page 296: ...p in dashed line 6 0 points long Specification by data type Byte byte byte byte metric metric Description of data Tip angle in degrees byte between 5 and 85 degrees Base angle in degrees byte between 10 and 175 degrees Arrow type byte 0 stick 1 hollow 2 filled Scale the arrow byte 0 no 1 yes Length in points metric Scale factor metric Size of data in bytes 12 Default value default arrow style Exam...

Page 297: ...ts on page 113 Size of data in bytes 1 Default value 0 solid Example 21 00000001 00 for a solid pen pattern Specification by data type Byte Description of data Index to pen patterns see Values for Pen and Fill statements on page 113 Size of data in bytes 1 Default value 7 white Example 22 00000001 07 for a white fill pattern Specification by data type Metric Description of data Width of line in po...

Page 298: ...object overprinted 0 no 1 yes Size of data in bytes 1 Default value 0 no Example 25 00000001 00 if not overprinted 25 00000001 01 if overprinted Specification by data type Byte Description of data Is the line dashed 0 no 1 yes Size of data in bytes 1 Default value 0 no Examples 26 00000001 00 for a solid line 26 00000001 01 for a dashed line Note The style of the dashed line is specified by op cod...

Page 299: ...yes Size of data in bytes 1 Default value 0 no Example 29 00000001 00 for an unsmoothed object 29 00000001 01 for a smoothed object Specification by data type Byte string string string some strings not used depending on flag Description of data Flag indicating which names are used to identify the font byte 0 family name 1 family and PostScript name 2 family and platform name 3 all three names Fami...

Page 300: ...etting the font weight to bold Bit 1 italic equivalent to setting the font angle to italic Bits 2 4 underline style 0 no underline 1 single 2 double 3 numeric bit 4 is not currently used Bit 5 overline Bit 6 strikethrough Bit 7 superscript Bit 8 subscript Bit 9 outline Bit 10 shadow Bit 11 pair kern Bits 12 13 case 0 as is 1 small caps 2 lower case 3 upper case Size of data in bytes 4 Default valu...

Page 301: ... data Name of font angle type uses the same values as the MIF statement Size of data in bytes Variable Default value default font angle Example 2F 00000008 00 08 52 65 67 75 6C 61 72 00 for the font angle Regular Specification by data type String Description of data Name of font variation type uses the same values as the MIF statement Size of data in bytes Variable Default value default font varia...

Page 302: ...Vertical kerning in percentage of an em a positive value moves characters downward a neg ative value moves characters upward Size of data in bytes 4 Default value default vertical kerning Example 32 00000004 00008000 for a font kerning of 50 of an em downward 0 50 32 00000004 FFFF8000 for a font kerning of 50 of an em upward 0 50 Specification by data type Metric Description of data Percentage of ...

Page 303: ...fications number of points 3 x position of point 1 306 points 0132 y position of point 1 46 points 002E x position of point 2 272 points 0110 y position of point 2 126 points 007E x position of point 3 360 points 0168 y position of point 3 125 points 007D Note When smoothed style is on this object is a closed Bezier curve Specification by data type Long point point Description of data Number of po...

Page 304: ...pe Metric rectangle Description of data Radius of corners in points metric Position and size of rectangle in points rectangle Size of data in bytes 20 Example 84 00000014 00120000 007E0000 007E0000 00630000 00240000 for a rounded rectangle with the following specifications radius of corners 18 points 0012 x position 126 points 007E y position 126 points 007E width 99 points 0063 height 36 points 0...

Page 305: ...le byte bitmap Description of data Position and size of the bounding rectangle in points rectangle Is the object flipped left right byte 0 no 1 yes FrameImage data bitmap Size of data in bytes Variable Example 86 00000035 00F20000 00740000 00080000 00080000 00 59A66A95 00000008 00000008 00000001 00000000 00000002 00000000 00000000 80 0E FF 20 for an imported bitmap graphic of a black square with t...

Page 306: ...osition 378 points 017A y position 45 points 002D alignment left Note The specification of the start of a text line begins with op code 87 and can contain combina tions of fonts and text A text line must end with op code 89 Specification by data type String Description of data Actual text written in text line Size of data in bytes Variable Example 88 00000005 0005 74 65 78 74 00 for the text line ...

Page 307: ... a clipping rectangle begins with op code 8A and ends with op code 8B All objects within the clipping rectangle must be specified between these two op codes Specification by data type N A Description of data None Size of data in bytes 0 Example 8B 00000000 Specification by data type Rectangle byte vector data Description of data Position and size of the bounding rectangle in points rectangle Is th...

Page 308: ...th the ASCII string The characters indicate that the data that follows is in hexadecimal format The following lines specify the FrameVector version 5 0 and the size 5 x 3 or 360 points by 216 points and position 0 0 of the FrameVector graphic 010000000150 020000001000000000000000000168000000D80000 Since colors are not used in this example the color op codes are not specified Specification of the r...

Page 309: ...nts 65 points 41 points 113 points and 76 points 65 points 000E0000004100000029000000710000004C000000410000 The rest of the styles are inherited from the previous object Specification of the rectangle The white rectangle in this example has the following specifications The position of the rectangle is 114 points 74pt 830000001000720000004A0000 The size of the rectangle is 192 points by 25 points 0...

Page 310: ... The following record specifies the end of the text line 8900000000 Specification of the polyline The polyline in this example has the following specifications The arrow style has a tip angle of 16 and a base angle of 120 070000000C1078 The arrow style is defined so that the arrow is filled and is scaled as it gets wider The length of the arrow is 12 points If the line is widened the arrow head al...

Page 311: ...on of the arc is 4 points 43 points 850000001800040000002B0000 The size of the arc is 43 points by 40 points 002F0000002C0000 The start angle of the arc is 90 and the arc angle length is 90 005A0000005A0000 The rest of the styles are inherited from previous objects Specification of the end of the FrameVector graphic The following record specifies the end of the FrameVector graphic FF00000000 The c...

Page 312: ...AttrName 178 AttrValue 178 autonumber of a paragraph in a table 85 AutoNumSeries 108 B backslash using for special characters 13 bar chart example 235 BaseAngle 117 BaseCharWithRuby 221 BaseCharWithSuper 221 baselines synchronizing 132 BAttrEditor 185 BAttributeDisplay 184 BCustomElementList 184 BDisplayText 153 BegParentheses 220 BElementCatalogScope 184 BFCLMaximums 185 BFCLMinimums 185 BFNoteLa...

Page 313: ...characters in equations 198 CharClass 220 CharUnits 69 chem 209 choice 204 cmut 204 Collapsed 178 Color 95 in ColorCatalog 94 color for body cells 86 for cells 91 for characters 80 174 for exception columns and body rows 86 for heading and footing cells 86 for objects 113 color map in FrameImage file 284 color custom 93 ColorAttribute 95 ColorBlack 95 ColorCatalog 94 ColorCyan 95 ColorLibraryFamil...

Page 314: ...ags 181 DeriveLinks 107 153 DeriveTag 107 153 DeriveType 107 153 DExclusions 181 DFCLMaximums 182 DFCLMinimums 182 DFNoteAnchorPos 103 DFNoteAnchorPrefix 103 DFNoteAnchorSuffix 103 DFNoteLabels 102 DFNoteMaxH 102 DFNoteNumberPos 103 DFNoteNumberPrefix 103 DFNoteNumberSuffix 103 DFNoteNumComputeMethod 103 DFNoteNumStyle 102 DFNoteRestart 102 DFNoteTag 102 DFrozenPages 102 DFullRulers 104 DGenerateA...

Page 315: ...ubiSize 229 DRulersOn 104 DSeparateInclusions 181 DSGMLAppName 181 DShowAllConditions 102 DSmallCapsSize 105 DSmallCapsStretch 105 DSmartQuotesOn 102 DSmartSpacesOn 102 DSnapGrid 104 DSnapRotation 104 DStartPage 101 DSubscriptShift 105 DSubscriptSize 105 DSubscriptStretch 105 DSuperscriptShift 105 DSuperscriptSize 105 DSuperscriptStretch 105 DSymbolsOn 104 DTblFNoteAnchorPos 103 DTblFNoteAnchorPre...

Page 316: ...86 ETextSnippet 186 Exclusion 161 exists 203 exp 203 F facets defined 121 EPSI 280 FrameImage 282 FrameVector 290 fact 203 FAngle 79 174 FBold 81 FCase 80 175 FChangeBar 80 175 FclPgfCatalogRef 173 FclTag 173 fcodes 59 FColor 80 174 FCombinedFontName 216 FDoubleUnderline 266 FDW 80 175 182 185 FDWChange 175 FDX 80 175 FDY 80 175 feathering 132 FEncoding 79 216 FFamily 79 174 FileName 107 153 FileN...

Page 317: ...6 in PolyLine 128 header in FrameImage file 283 HeaderC 110 HeaderL 110 HeaderR 110 HeadType 117 height row 90 HFFont 110 HFMargins 110 hidden page for conditional text 109 Hiragana 221 HPGL files imported 122 hypertext documents setting View Only options 58 hypertext links automatically generated 107 153 hyphenation language default for document 105 in paragraphs 79 HyphenMaxLines 75 176 HyphenMi...

Page 318: ...Form 195 212 in Math 194 MathLineBreak 194 MathOrigin 194 MathSize 194 matrices in equations 210 matrix 210 MCurrPage 138 messages 253 256 Micrografx Drawing Format files imported 122 MIF 66 defaults 9 definition of 6 samples of 212 233 245 MIF book files 150 158 identification line 151 sections 150 MIF document files sections 66 MIF files debugging 63 editing 17 importing into a FrameMaker docume...

Page 319: ...5 PageNumStyle 155 PageOrientation 267 pages adding 109 background for 109 body 109 breaking 75 hidden 109 master 109 name 109 numbering in a document 109 orientation 267 reference 109 rotation 109 table placement on 85 types of 109 PageSize 109 PageTag 109 PageType 109 Para in Cell 91 in Notes 133 in Tbl 89 in TextFlow 132 Paragraph Catalog 73 77 creating 26 paragraph format properties alignment ...

Page 320: ...encedForXref 77 PgfRIndent 74 173 182 PgfRIndentChange 173 PgfRunInDefaultPunct 75 176 PgfSpAfter 74 173 182 PgfSpAfterChange 173 PgfSpBefore 74 173 182 PgfSpBeforeChange 173 PgfTag in Para 134 in Pgf 74 in TblFormat 85 86 87 PgfTopSeparator 76 177 PgfTopSepAtIndent 76 177 PgfTopSepOffset 76 177 PgfUseNextTag 74 PgfWithNext 75 176 PgfWithPrev 75 176 PICT files imported 122 pie chart example 238 pl...

Page 321: ...8 for document files 66 139 for equations 189 212 StopCountingAt 169 straddling columns rows 91 straight quotation mark 11 String in ParaLine 135 139 in TextLine 130 string in MathFullForm 197 strings 11 in equations 197 quotation marks around 11 syntax 11 structured documents 263 subscribe graphics 123 subset 207 subseteq 207 substitution 208 SuccedingSymbol 221 SuffixBegin 180 sum 207 Sun raster...

Page 322: ...Pgf1 85 TblTitlePlacement 85 TblTRuling 85 TblWidth 86 TblXColumnNum 85 TblXColumnRuling 85 TblXFill 86 TblXRowRuling 85 TblXSeparation 86 264 templates including in MIF 55 tensor 210 text columns default number per page 100 number in a text frame 44 text example 233 text flows 132 139 defined 42 imported by reference 143 146 text frames defined 42 placement of side heads 131 specifying number of ...

Page 323: ...serString 178 V Value 106 152 var 204 Variable 135 VariableDef 97 VariableFormat 97 VariableFormats 97 VariableLocked 135 147 VariableName 97 135 variables creating 50 vector graphics imported 122 vee 207 Verbose 69 View 96 View Only documents setting options 58 view options settings 104 ViewCutout 96 ViewInvisible 96 ViewNumber 96 Views 96 volume numbering in a book 154 VolumeNumCompute Method 10...

Reviews: