home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 2: PC / frozenfish_august_1995.bin / bbs / d09xx / d0918.lha / MultiPlot / Docs / MFF2_format.doc < prev    next >
Text File  |  1993-10-04  |  26KB  |  563 lines

  1. MULTIPLOT FILE FORMAT 2
  2.  
  3. file version 1
  4. 23/6/1993
  5.  
  6.  
  7. This file is freely distributable and the file format has been
  8. placed in the public domain.
  9.  
  10.  ⌐ Alan Baxter 1993
  11. Cambridge University Department of Pathology,
  12. Tennis Court Road,
  13. Cambridge CB2 1QP, UK.
  14.  
  15.  
  16.  
  17. PROBLEMS
  18. This file format is liable to change. Where ever possible,
  19. compatibility will be maintained so that there will be (at least)
  20. some way of converting existing files to future formats.
  21. The behaviour of the default file format will also change.
  22. Currently, loading a default file alters the characteristics of
  23. existing objects (eg titles and axis labels). In the future, it will
  24. change the characteristics of objects created later in the work
  25. session as well. This will (for example) allow definition of a
  26. standard font for all legends or extra text without having to
  27. alter them by hand after creation.
  28.  
  29. INTRODUCTION
  30. Multiplot accepts a simple ASCII file for input of data. This
  31. file may be written on any text editor or may be generated as
  32. a textfile from a spreadsheet. Multiplot does not choke on the
  33. linefeed/carriage-return of IBM style spreadsheets. The data
  34. must consist of columns of numbers and  need not contain text.
  35. Text heading the file will be ignored and may be used for an
  36. explanatory note. Blank lines or lines of text interrupting the
  37. columns of numbers are interpreted as separating sets of data,
  38. and each set will be plotted individually in, for example, a
  39. different colour or point size. Multiplot saves data in a special
  40. file format called Multiplot File Format 2. MFF2 contains a
  41. header which describes the plot defaults, axes, labels and text.
  42. The body of the file contains columns of data in the format
  43. described above for input. Each row contains values describing
  44. a separate point. Each point may be described by a value for
  45. X, Y, high error in X, low error in X, high error in Y, and low
  46. error in Y. The two left most columns are always X and Y. If
  47. the file contains only 4 columns, the following two columns
  48. may be either high and low errors in X or Y. If the file
  49. contains 6 columns the order is (left to right) X, Y, high error
  50. in X, low error in X, high error in Y, low error in Y. Data
  51. sets are separated by a blank line and a header describing how
  52. the data set is to be rendered and its associated legend. Text
  53. is saved with information describing the font, character size
  54. and screen location. Multiplot XLNf can also read the files
  55. written by the previous version of Multiplot, XLNe.
  56. Unfortunately some information is lost due to incompatibilities,
  57. particularly in the way text is recorded.
  58.  
  59. NOTES ABOUT FORMAT PRESENTATION
  60. In the example file that follows, any comment lines are
  61. preceded with the character '|'. These lines should not appear
  62. in any MFF2 files, and are only included here for illumination.
  63. The character'/' at the end of a line indicates that the line
  64. was truncated and continues on the following line for
  65. typesetting purposes. In MFF2 files, lines should not contain a
  66. carriage return, and the character '/' does not have this
  67. meaning.
  68.  
  69. AN EXAMPLE
  70.  
  71. ½║╗MULTIPLOT½║╗ FF2
  72. |   The above line should appear in any MFF2 file.
  73. |   Files without this line can be loaded into Multiplot but
  74. |   should not contain any keywords and cannot be used to
  75. |   define formatting such as axes and additional text.
  76.  
  77. *AUTOSCRIPT2* 68 1 1 1 1
  78. |   The keyword '*AUTOSCRIPT2*' indicates that the line
  79. |   contains general formatting information and distinguishes
  80. |   (together with the first line) the file from earlier
  81. |    Multiplot file formats.
  82. |   The following 5 digits are of the types:
  83. |   (short) ErrBar: Defines the manner in which the columns
  84. |                  of data encode the points described.
  85. |                  Consists of one of:
  86. |                  0x0001 No Y error bars,
  87. |                  0x0002 Y errors symmetrical, or
  88. |                  0x0004 high and low asymmetrical error |   
  89.                      bars.
  90. |                  anded to one of:
  91. |                  0x0010 No X error bars,
  92. |                  0x0020 X errors symmetrical, or
  93. |                  0x0040 high and low asymmetrical error |   
  94.                      bars.
  95. |          eg: 0x0011 x values in column 1, y in column 2
  96. |              0x0041 columns are (from left) x, y, high x 
  97. |                     error, low x error.
  98. |          NOTE: 0x0002 and 0x0020 are not yet supported and
  99. |          are included for future expansion.
  100. |   (short) ShowErr: Sets Y error bars on or off without
  101. |                  loosing data. One of:
  102. |                  1 On
  103. |                  0 Off
  104. |          NOTE: Other values reserved for expansion.
  105. |   (short) ShowXErr Sets Y error bars on or off without
  106. |                  loosing data. One of:
  107. |                  1 On
  108. |                  0 Off
  109. |          NOTE: Other values reserved for expansion.
  110. |   (short) Grid: Defines graph axis format. One of:  
  111. |                  0 No axes
  112. |                  1 Stem and Leaf, left and bottom edges
  113. |                  2 Box axes
  114. |                  3 Stem and Leaf, floating origin.
  115. |          NOTE: 3 is not yet supported and is included for
  116. |          future expansion. Other values reserved for 
  117. |          expansion.
  118. |   (short) RMargin: Flag indicates if margin should be left
  119. |                  for legends or not. One of:
  120. |                  0 No right margin
  121. |                  1 Leave right margin.
  122. |          NOTE: This flag may be adapted to describe the 
  123. |          margin more precisely in the future. For optimum
  124. |          compatibility, use the value 0.
  125. |   (short) Mode Indicates the program mode. One of:
  126. |                  0 Plotmode
  127. |                  1 Statistics mode
  128. |          NOTE: The flag is not yet utilised. Higher values
  129. |          are reserved for future expansion.
  130.  
  131. *TITLE* 32907 64187 topaz.font 8 This is the Title
  132. |   The keyword '*TITLE* indicates that the line contains
  133. |   a description of the position, font and text of the title
  134. |   of the plot. The keyword is followed by:   
  135. |   (int) PosHoriz Describes the horizontal position of the text
  136. |                  from the left edge of the graph to the
  137. |                  centre of the text in unit lengths which are
  138. |                  1/65535 of the full width of the graph.
  139. |   (int) PosVert  Describes the vertical position of the text
  140. |                  from the top edge of the graph to the
  141. |                  centre of the text in unit lengths which are
  142. |                  1/65535 of the full hight of the graph.
  143. |   (char) FontName[] Text describing the font.
  144. |   (short)FontSize Describes the vertical font size in pixels.
  145. |   (char) Title[] The remainder of the line contains the text
  146. |                  which is to be used for the title.
  147. |          NOTE: All additional extension will take place
  148. |          between FontSize and Title[].
  149.  
  150. *XAXISDAT* 10 0 1 1 0 1 -1.00000e+01 5.10000e+01 0 0 0 11/
  151. topaz.font 8
  152. |   The keyword '*XAXISDAT*' indicates that the line 
  153. |   describes features of the X Axis, including scale type,
  154. |   tics, range and axis values. The keyword is followed by:
  155. |   (short) Nbigtics Describes the number of major subdivisions
  156. |                  on the axis.
  157. |   (short) Bigticlines Describes the subdivision marker for
  158. |                  major subdivisions. One of:
  159. |                  0 Use tic marks.
  160. |                  1 Solid line for grid.
  161. |                  2-6 Selects grid line pattern.
  162. |   (short) Bigticcolour Describes the colour of the
  163. |                  subdivision marker for major subdivisions.
  164. |                  The integer describes the number of the
  165. |                  colour from the palette.
  166. |           NOTE: Currently limited to 0-15, but subject to
  167. |           change almost immediately. Is very likely to require
  168. |           further alteration to accommodate 24 bit palettes.
  169. |   (short) Nsmltics Describes the number of minor
  170. |                  subdivisions on the axis.
  171. |   (short) Smlticlines Describes the subdivision marker for
  172. |                  minor subdivisions. One of:
  173. |                  0 Use tic marks.
  174. |                  1 Solid line for grid.
  175. |                  2-6 Selects grid line pattern.
  176. |   (short) Smlticcolour Describes the colour of the
  177. |                  subdivision marker for minor subdivisions.
  178. |                  The integer describes the number of the
  179. |                  colour from the palette.
  180. |           NOTE: Currently limited to 0-15, but subject to
  181. |           change almost immediately. Is very likely to require
  182. |           further alteration to accommodate 24 bit palettes.  
  183. |   (double) Min Describes the minimum range of the axis.
  184. |   (double) Max Describes the maximum range of the axis.
  185. |   (short) AxisType Defines the type of axis. One of:
  186. |                  0 Linear
  187. |                  1 Logarithmic
  188. |                  2 Category (for scatter graphs)
  189. |           NOTE: Expansion will include definitions for
  190. |           statistical plot types: box plot, box graph and
  191. |           histogram.
  192. |   (short) ValuesLock Locks axis values preventing Multiplot
  193. |           automatically rewriting them. One of:
  194. |                  0 Off
  195. |                  1 On
  196. |           NOTE: For maximum future compatibility, use '0' 
  197. |           if possible.
  198. |   (short) RegionLock Locks axis scale preventing Multiplot
  199. |           automatically rescaling. One of:
  200. |                  0 Off
  201. |                  1 On
  202. |           NOTE: For maximum future compatibility, use '0' 
  203. |           if possible.            
  204. |   (short) Valno Describes the number of values on the axis.
  205. |           Is used to obtain the number of lines containing
  206. |           text location and content which follow the
  207. |           'AXISDAT' line.
  208. |           NOTE: this value MUST correctly identify the 
  209. |           number of text descriptor lines that follow. For
  210. |           flexibility, this value is not assumed to be the
  211. |           same as the number of subdivisions.
  212. |   (char) FontName[] Text describing the font.
  213. |   (short) FontSize Describes the vertical font size in pixels.
  214.  
  215.            6824 3429 -10
  216. |   Following the '*XAXISDAT*' line is a number of lines
  217. |   which describe the locations and text of the axis values.
  218. |   Each line consists of:
  219. |   (int) PosHoriz Describes the horizontal position of the text
  220. |                  from the left edge of the graph to the
  221. |                  centre of the text in unit lengths which are
  222. |                  1/65535 of the full width of the graph.
  223. |   (int) PosVert  Describes the vertical position of the text
  224. |                  from the top edge of the graph to the
  225. |                  centre of the text in unit lengths which are
  226. |                  1/65535 of the full hight of the graph.
  227. |   (char) Text[] The remainder of the line contains the text
  228. |                  which is to be used for the value.
  229. |           NOTE: All additional extension will take place
  230. |           between PosVert and Text[]. The font and size are
  231. |           described for all values on the axis in the
  232. |           '*XAXISDAT*' line.
  233.  
  234.            12340 3429 -3.9
  235.            17856 3429 2.2
  236.            23371 3429 8.3
  237.            28887 3429 14.4
  238.            34403 3429 20.5
  239.            39919 3429 26.6
  240.            45435 3429 32.7
  241.            50950 3429 38.8
  242.            56466 3429 44.9
  243.            62075 3429 51
  244.  
  245. |           NOTE: The total number of text descriptor lines is
  246. |           equal to the value of Valno in the '*XAXISDAT*'
  247. |           line.
  248.  
  249. *XLABEL* 34403 1592 topaz.font 8 This is the X Label
  250. |   The keyword '*XLABEL*' indicates that the line contains
  251. |   a description of the position, font and text of the label
  252. |   for the X Axis. The keyword is followed by:   
  253. |   (int) PosHoriz Describes the horizontal position of the text
  254. |                  from the left edge of the graph to the
  255. |                  centre of the text in unit lengths which are
  256. |                  1/65535 of the full width of the graph.
  257. |   (int) PosVert  Describes the vertical position of the text
  258. |                  from the top edge of the graph to the
  259. |                  centre of the text in unit lengths which are
  260. |                  1/65535 of the full hight of the graph.
  261. |   (char) FontName[] Text describing the font.
  262. |   (short)FontSize Describes the vertical font size in pixels.
  263. |   (char) Label[] The remainder of the line contains the text
  264. |                  which is to be used for the title.
  265. |          NOTE: All additional extension will take place
  266. |          between FontSize and Label[].
  267.  
  268. *YAXISDAT* 1 10 0 1 1 0 1 2.70000e+01 5.30000e+01 0 0 0 11/
  269. topaz.font 8
  270. |   The keyword '*YAXISDAT*' indicates that the line 
  271. |   describes features of the Y Axis, including position, scale
  272. |   type, tics, range and axis values. The keyword is followed
  273. |    by:
  274. |   (short) Position Defines whether the Y axis is positioned to
  275. |                  right or left of the plot. One of:
  276. |                  1 Left.
  277. |                  3 Right.
  278. |           NOTE: No other values are acceptable. The order
  279. |           of multiple Y axes is indicated by the order they
  280. |           are listed in the MFF2 file, with the lower most 
  281. |           axes defined first.
  282. |   (short) Nbigtics Describes the number of major subdivisions
  283. |                  on the axis.
  284. |   (short) Bigticlines Describes the subdivision marker for
  285. |                  major subdivisions. One of:
  286. |                  0 Use tic marks.
  287. |                  1 Solid line for grid.
  288. |                  2-6 Selects grid line pattern.
  289. |   (short) Bigticcolour Describes the colour of the
  290. |                  subdivision marker for major subdivisions.
  291. |                  The integer describes the number of the
  292. |                  colour from the palette.
  293. |           NOTE: Currently limited to 0-15, but subject to
  294. |           change almost immediately. Is very likely to require
  295. |           further alteration to accommodate 24 bit palettes.
  296. |   (short) Nsmltics Describes the number of minor
  297. |                  subdivisions on the axis.
  298. |   (short) Smlticlines Describes the subdivision marker for
  299. |                  minor subdivisions. One of:
  300. |                  0 Use tic marks.
  301. |                  1 Solid line for grid.
  302. |                  2-6 Selects grid line pattern.
  303. |   (short) Smlticcolour Describes the colour of the
  304. |                  subdivision marker for minor subdivisions.
  305. |                  The integer describes the number of the
  306. |                  colour from the palette.
  307. |           NOTE: Currently limited to 0-15, but subject to
  308. |           change almost immediately. Is very likely to require
  309. |           further alteration to accommodate 24 bit palettes.  
  310. |   (double) Min Describes the minimum range of the axis.
  311. |   (double) Max Describes the maximum range of the axis.
  312. |   (short) AxisType Defines the type of axis. One of:
  313. |                  0 Linear
  314. |                  1 Logarithmic
  315. |                  2 Category (for scatter graphs)
  316. |           NOTE: Expansion will include definitions for
  317. |           statistical plot types: box plot, box graph and
  318. |           histogram.
  319. |   (short) ValuesLock Locks axis values preventing Multiplot
  320. |           automatically rewriting them. One of:
  321. |                  0 Off
  322. |                  1 On
  323. |           NOTE: For maximum future compatibility, use '0' 
  324. |           if possible.
  325. |   (short) RegionLock Locks axis scale preventing Multiplot
  326. |           automatically rescaling. One of:
  327. |                  0 Off
  328. |                  1 On
  329. |           NOTE: For maximum future compatibility, use '0' 
  330. |           if possible.            
  331. |   (short) Valno Describes the number of values on the axis.
  332. |           Is used to obtain the number of lines containing
  333. |           text location and content which follow the
  334. |           'AXISDAT' line.
  335. |           NOTE: this value MUST correctly identify the 
  336. |           number of text descriptor lines that follow. For
  337. |           flexibility, this value is not assumed to be the
  338. |           same as the number of subdivisions.
  339. |   (char) FontName[] Text describing the font.
  340. |   (short) FontSize Describes the vertical font size in pixels.
  341. |           NOTE: Multiple Y axis structures may be defined.
  342. |           Each should have the axis value descriptors follow
  343. |           the '*YAXISDAT*' line, and optimally, should have
  344. |           value descriptor lines followed by a '*YLABEL*'
  345. |           line describing the axis label.
  346.  
  347.            5048 2939 27
  348. |   Following the '*YAXISDAT*' line is a number of lines
  349. |   which describe the locations and text of the axis values.
  350. |   Each line consists of:
  351. |   (int) PosHoriz Describes the horizontal position of the text
  352. |                  from the left edge of the graph to the
  353. |                  centre of the text in unit lengths which are
  354. |                  1/65535 of the full width of the graph.
  355. |   (int) PosVert  Describes the vertical position of the text
  356. |                  from the top edge of the graph to the
  357. |                  centre of the text in unit lengths which are
  358. |                  1/65535 of the full hight of the graph.
  359. |   (char) Text[] The remainder of the line contains the text
  360. |                  which is to be used for the value.
  361. |           NOTE: All additional extension will take place
  362. |           between PosVert and Text[]. The font and size are
  363. |           described for all values on the axis in the
  364. |           '*YAXISDAT*' line.
  365.  
  366.            4300 8942 29.6
  367.            4300 14944 32.2
  368.            4300 20946 34.8
  369.            4300 26948 37.4
  370.            5048 32951 40
  371.            4300 38953 42.6
  372.            4300 44955 45.2
  373.            4300 50958 47.8
  374.            4300 56960 50.4
  375.            5048 62962 53
  376.  
  377. *YLABEL* 1028 33931 topaz.font 8 This is the Y Label
  378. |   The keyword '*YLABEL*' indicates that the line contains
  379. |   a description of the position, font and text of the label
  380. |   for the Y Axis which is described immediately previously.
  381. |   The keyword is followed by: 
  382. |   (int) PosHoriz Describes the horizontal position of the text
  383. |                  from the left edge of the graph to the
  384. |                  centre of the text in unit lengths which are
  385. |                  1/65535 of the full width of the graph.
  386. |   (int) PosVert  Describes the vertical position of the text
  387. |                  from the left edge of the graph to the
  388. |                  centre of the text in unit lengths which are
  389. |                  1/65535 of the full hight of the graph.
  390. |   (char) FontName[] Text describing the font.
  391. |   (short)FontSize Describes the vertical font size in pixels.
  392. |   (char) Label[] The remainder of the line contains the text
  393. |                  which is to be used for the title.
  394. |          NOTE: All additional extension will take place
  395. |          between FontSize and Label[].
  396.  
  397. *AUTOSET2* 1 2 1 8 6 1 0
  398. |   The keyword '*AUTOSET2*' indicates that the line
  399. |   describes the display options of a data set, the individual
  400. |   points of which are to follow. The keyword is followed by:
  401. |   (short) Colour Describes the colour of the points and lines
  402. |                  Used to render the data set. The integer
  403. |                  describes the number of the colour from the
  404. |                  palette.
  405. |          NOTE: Colour values higher than 16 are currently
  406. |          expressed as the value modulo 16. This behaviour
  407. |          will change.
  408. |   (short) PlotType Describes the method used to render the 
  409. |                  data set. One of:
  410. |                  0 Line only
  411. |                  1 Points only
  412. |                  2 Points and Lines
  413. |                  3 Step graph (survival curve)
  414. |                  4 Impulse plot
  415. |                  5 Bar graph
  416. |                  6 Histogram
  417. |          NOTE: Option '6' is not yet supported. All higher
  418. |          values reserved for future expansion.
  419. |   (short) Lines Describes the line pattern used for
  420. |                  line plots, impulse plots and histograms.
  421. |                  One of:
  422. |                  0 No lines 
  423. |                  1 Solid line.
  424. |                  2-6 Selects grid line pattern.
  425. |          NOTE: The value '0' is currently redundant and may
  426. |          be used for some other purpose in the future. The
  427. |          line pattern numbers used here correspond to the
  428. |          same patterns as those used for the grid lines.
  429. |   (short) PointSize Hight in pixels of the points
  430. |   (short) PointType Describes the point shape. One of:
  431. |                  1 Triangle
  432. |                  2 Diamond
  433. |                  3 Cross (x)
  434. |                  4 Star (*)
  435. |                  5 Cross (+)
  436. |                  6 Box            
  437. |          NOTE: Higher values are reserved for future
  438. |          expansion.
  439. |   (short) Enabled Describes whether this data set should be
  440. |                  plotted or not. Enables 'hidden data' to
  441. |                  remain in a data file without cluttering
  442. |                  up the plot. One of:
  443. |                  0 Not plotted.
  444. |                  1 Plotted.
  445. |   (short) YAxis Identifies the Y axis this data set is
  446. |                  associated with. Y axes are numbered from
  447. |                  0 and in the order they appear in the MFF2
  448. |                  file.
  449.  
  450. *LEGEND* 61515 49120 topaz.font 8 King Arthur   
  451. |   The keyword '*LEGEND*' indicates that the line contains
  452. |   a description of the position, font and text of the legend
  453. |   for the data set described immediately previously and the 
  454. |   points of which follow. The keyword is followed by: 
  455. |   (int) PosHoriz Describes the horizontal position of the text
  456. |                  from the left edge of the graph to the
  457. |                  centre of the text (including data set
  458. |                  identifier) in unit lengths which are
  459. |                  1/65535 of the full width of the graph.
  460. |   (int) PosVert  Describes the vertical position of the text
  461. |                  from the left edge of the graph to the
  462. |                  centre of the text in unit lengths which are
  463. |                  1/65535 of the full hight of the graph.
  464. |   (char) FontName[] Text describing the font.
  465. |   (short)FontSize Describes the vertical font size in pixels.
  466. |   (char) Legend[] The remainder of the line contains the
  467. |                  text which is to be used for the title.
  468. |          NOTE: All additional extension will take place
  469. |          between FontSize and Label[].
  470.  
  471. 0.00000e-01 5.10630e+01 1.36770e+00 1.36770e+00 1.36770e+00/
  472. 1.36770e+00
  473. |   This line describes the first point in the first data set.
  474. |   It contains the following:
  475. |   (double) X value
  476. |   (double) Y value
  477. |   (double) high error in X
  478. |   (double) low error in X
  479. |   (double) high error in Y
  480. |   (double) low error in Y
  481. |          NOTE: The number of columns and their meaning
  482. |          varies depending on the value of ErrBar in the 
  483. |          '*AUTOSCRIPT2*' line.
  484.  
  485. 2.00000e+00 5.09440e+01 1.36630e+00 1.36630e+00 1.36630e+00/
  486. 1.36630e+00
  487. 4.00000e+00 4.94260e+01 1.34960e+00 1.34960e+00 1.34960e+00/
  488. 1.34960e+00
  489. 6.00000e+00 5.02140e+01 1.35820e+00 1.35820e+00 1.35820e+00/
  490. 1.35820e+00
  491. 8.00000e+00 4.90640e+01 1.34550e+00 1.34550e+00 1.34550e+00/
  492. 1.34550e+00
  493. 1.00000e+01 5.02730e+01 1.35890e+00 1.35890e+00 1.35890e+00/
  494. 1.35890e+00
  495. 1.20000e+01 4.81830e+01 1.33560e+00 1.33560e+00 1.33560e+00/
  496. 1.33560e+00
  497. 1.40000e+01 4.90560e+01 1.34530e+00 1.34530e+00 1.34530e+00/
  498. 1.34530e+00
  499.  
  500. |   The remainder of data set 1 has been deleted.
  501.  
  502.  
  503. *AUTOSET2* 2 2 1 8 5 1 0
  504. 1.00000e+00 3.12140e+01 1.13140e+00 1.13140e+00 1.13140e+00
  505. 1.13140e+00
  506. 3.00000e+00 3.11210e+01 1.12990e+00 1.12990e+00 1.12990e+00
  507. 1.12990e+00
  508. 5.00000e+00 3.09360e+01 1.12700e+00 1.12700e+00 1.12700e+00
  509. 1.12700e+00
  510. 7.00000e+00 3.08950e+01 1.12640e+00 1.12640e+00 1.12640e+00
  511. 1.12640e+00
  512. 9.00000e+00 3.14240e+01 1.13470e+00 1.13470e+00 1.13470e+00
  513. 1.13470e+00
  514. 1.10000e+01 3.15980e+01 1.13750e+00 1.13750e+00 1.13750e+00
  515. 1.13750e+00
  516. |   The remainder of data set 2 and all following data sets
  517. |   have been deleted.
  518.  
  519. *EXTRATEXT* 42069 18374 topaz.font 8 Silly Text
  520. |   The keyword '*EXTRATEXT*' indicates that the line
  521. |   contains a description of the position, font and text of a
  522. |   line of additional text. The keyword is followed by: 
  523. |   (int) PosHoriz Describes the horizontal position of the text
  524. |                  from the left edge of the graph to the
  525. |                  centre of the text in unit lengths which are
  526. |                  1/65535 of the full width of the graph.
  527. |   (int) PosVert  Describes the vertical position of the text
  528. |                  from the top edge of the graph to the
  529. |                  centre of the text in unit lengths which are
  530. |                  1/65535 of the full hight of the graph.
  531. |   (char) FontName[] Text describing the font.
  532. |   (short)FontSize Describes the vertical font size in pixels.
  533. |   (char) Text[] The remainder of the line contains the text
  534. |                  which is to be used.
  535. |          NOTE: All additional extension will take place
  536. |          between FontSize and Text[]. All extra text must be
  537. |          defined at the end of the MFF2 file.
  538. |   THE EXAMPLE ENDS HERE.
  539. |   No special character is needed to indicate the end of a
  540. |   data file.
  541.  
  542. THE DEFAULT FILE FORMAT
  543. The default file format is based on the header of the MFF2
  544. file. The only difference is that it is proceeded by 16 lines
  545. which define the palette settings and line widths for each pen.
  546. Each of the first 16 lines consists of 4 shorts. The first 3
  547. describe the red, green and blue components (in that order) of
  548. the colour used for both screen representation and (where
  549. supported) printed output. The fourth short indicates the line
  550. thickness of lines generated by that pen when printed.
  551. Following the pen definitions are lines from the MFF2 file
  552. header:
  553. ½║╗MULTIPLOT½║╗ FF2 
  554. *AUTOSCRIPT2* 
  555. *XAXISDAT*
  556. *XLABEL*
  557. *YAXISDAT*
  558. *YLABEL*
  559. Multiple Y axes are indicated by defining them sequentially.
  560. The format of the default file is liable to change in the future
  561. to incorporate a way of defining default fonts for legends and
  562. extra text, and default point sizes, line types etc. This will be
  563. achieved by utilising other keywords from the MFF2 file format.