
ADOBE FRAMEMAKER 10
MIF Reference
260
Note that although the
fmbitmap
program writes out the
ImportObFile
statement, this statement is obsolete and
is only used with older versions of FrameMaker. When defining a function to write a graphic inset file, use the
ImportObFileDI
statement and specify a device-independent pathname. For more information on device-
independent pathnames, see
“Device-independent pathnames” on page 7
.
<MIFFile 8.00>
# Generated by fmbitmap
<ImportObject
<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 existing function in your application for writing data. The function must
write the facet name and data type lines and insert an ampersand at the beginning of each line of facet data. If
necessary, convert data lines to the appropriate facet data format. Unsigned bytes should follow the conventions
described in
“Unsigned bytes” on page 254
, and metric data should follow the conventions described in
“Metric data”
on page 255
.
When writing the facet data, your application can use as many lines as necessary. Each line should be short enough
to read with a text editor, in case you need to debug the graphic inset file. There are no counts, offsets, or facet size
limits.
Facet data in hexadecimal must contain valid hexadecimal digits only (0-9, A-F) and cannot contain backslash (\)
characters. When you write a facet containing hexadecimal data, do not write newline characters (
\r
or
\n
) at the
end of the lines.
Graphic insets cannot contain any blank lines within or between facets.
When reading a graphic inset, your application need only scan for facet name 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 hexadecimal data,
it might be simpler for you to represent the ASCII characters as character codes in hexadecimal. For example, the
FrameVector format represents strings (such as
black
) as character codes in hexadecimal (such as
62 6c 61 63 6b
).