You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
koffice/filters/kword/amipro/FileFormat.txt

226 lines
5.0 KiB

Lotus AmiPro File Format (NOT FINISHED YET)
Ariya Hidayat <ariyahidayat@yahoo.de>
Last rev: March 16, 2002
1 Foreword
-----------
This is solely based on my reverse-engineering work whilst
I work on AmiPro import filter for KWord.
2 Structure of AmiPro document
-------------------------------
An AmiPro document consists of (in order of appearance):
- header
- content, i.e the text
- embedded objects (frame, image, ...)
3 Formatting
-------------
Basic text formatting, such as bold, italic, and so on is
done inline by enclosing the text in a form of tag (like
HTML tag). A tag is something like: <+$>
The following list summarizes known formmating tags:
<+!> bold on
<-!> bold off
<+"> italic on
<-"> italic off
<+#> underline on
<-#> underline off
<+)> double underline on
<-)> double underline off
<+$> word underline on
<-$> word underline off
<+&> superscript on
<-&> superscript off
<+'> subscript on
<-'> subscript off
<+%> strikethrough on
<-%> strikethrough off
Note: Word underline is just like underline, except that
spaces between words are not underlined.
Paragraph align is also encoded using tag, here it the list:
<+@> left alignment
<+A> right alignment
<+B> center alignment
<+C> justified
Linespacing is encoded using tag:
<:S+-1> single
<:S+-2> one-and-half
<:S+-3> double
<:S+480> custom, 480/20 = 24 pt
Font: tag <:f...>
Example: <:f240,2Arial,255,0,0> means "Arial" font
of size 240/20 = 12 pt, with red color (R=255,G=0,B=0).
Simple tag <:f> means back to default font.
Special characters are escaped or encoded because
they have special meaning. Known so far:
< encoded as <<
[ <[>
@ @@
> <;>
4 Styles
---------
Styles are defined in the header, precisely in section
[tag]. The format for this section is shown with an
example below:
[tag]
Title style name
8 shortcut key ("F8")
[fnt]
Arial font family ("Arial")
360 font size, 360/20 = 18 pt
0 font color (see below)
16385 formatting flag (see below)
[algn]
4 alignment flag (see below)
1
216 indent, 216/20 = 10.8 pt
144 first line indent, 144/20 = 7.2 pt
288 rest indent, 288/20 = 14.4 pt
[spc]
33 linespace flag (see below)
400 custom spacing, 400/20 = 20 pt
1
144 space before, 144/20 = 7.2 pt
72 space after, 72/20 = 3.6 pt
1
115 text tightness (90%=tight,115%=loose)
[brk]
16 break flag (see below)
[line]
8
0
1
0
1
1
1
10
10
1
[spec]
0
1
0
1
1
0
0
0
0
[nfmt]
272
1
2
.
,
</c>
Title style followed (see also break flag)
0
0
Color Representation:
bit 0-7 : red
bit 8-15 : green
bit 16-23 : blue
Note about AmiPro flags: although many things are set
per bit, sometimes they are mutually exclusive, e.g
left-aligned vs right-aligned. This must be taken into
consideration.
Formatting flag (16 bit)
bit 0 : bold
bit 1 : italic
bit 2 : underline
bit 3 : word underline
bit 4 : all caps
bit 6 : double underline
bit 11 : initial caps
bit 12 : first line bold
bit 14 & 15 always set (??)
Alignment flag
bit 0 : left aligned
bit 1 : right aligned
bit 2 : centered
bit 3 : justified
bit 4 : all indent (left & right)
bit 9 : hanging indent
Linespace flag
bit 0 : single
bit 1 : one-and-half
bit 2 : double
bit 3 : custom
bit 4 : always add in
bit 5 : add in when not a break
Break flag:
bit 0 : page break before
bit 1 : page break after
bit 2 : allow break within
bit 3 : keep with previous
bit 4 : keep with next
bit 5 :
bit 6 : specifiy following style
bit 7 : column break before
bit 8 : column break after
Styles are applied using the following sequences:
@StyleName@, which put inline (within the text/content).
Normally this appears in beginning of paragraph.
5 Page Layout
-------------
Page layout is defined in section [lay]. Here is the format,
along with an example:
[lay]
Standard
516
[rght]
16833 paper height, 16833/20 = 841.65 pt
11906 paper width, 11906/20 = 595.3 pt
4
1440
1440
1
1440
1440
0
1
0
1
0
2
1
1440
10465
12
6 Frame, Image, Table
----------------------
still pretty much a mystery :-P
7 Equation
-----------
Equation or mathematical formula is represented in
a language similar to TeX or LaTeX. Each equation is however
put in a separate frame, so it is not really part
of the document. Think of equation as embedded object
within the document.