Photo and Text Album Files Album files are VLIR structured files, with each chain containing an individual photo scrap or text scrap. Text/Photo scraps File ------------- -------------- | Page 1 |-------> | Scrap block| | Track/Sec | -------------- |-----------| -------------- -------------- | Page 2 |-------> | Scrap block| --> | Scrap block| --> ... | Track/Sec | -------------- -------------- |-----------| -------------- | Page 3 |-------> | Scrap block| | Track/Sec | -------------- |-----------| | . | | . | |-----------| -------------- -------------- | Page 127 |-------> | Scrap block| --> | Scrap block| --> ... | Track/Sec | -------------- -------------- ------------- Text Scrap File Text scraps are sequentially structured files. They are coded as follows: OffSet Description -------- ------------------------------------------------------ $00-$01 Length of the text scrap in bytes (65535 byte limit) $02 NEWCARDSET code ($17) $03-$04 Font ID to use $05 Style Byte (see below) $06 - Text (could include tabs, ruler esc, newcardsets) NewCardSet OffSet Description -------- ------------------------------------------------------ $00 NEWCARDSET code 23 ($17) $01-$02 Font ID to use $03 Style Byte (see below) The style byte is organized as follows: Bit Description (all 0's gives plain text) -------- ------------------------------------------------------ 7 Underline 6 Bold 5 Reverse 4 Italic 3 Outline 2 Superscript 1 Subscript Ruler Escape OffSet Description -------- ------------------------------------------------------ $00 Ruler Escape 17 ($11) $01-$02 Left Margin $03-$04 Right margin <= LeftMargin $06-$21 Tabs of 2 bytes each (bit 15 = dec align., 0-14 tab pos.) $22-$23 Paragraph margin $24 Justification byte (bit 0-1: 00 = left justified 01 = centered text 10 = right justified text 11 = full justification) (bit 2-3: 00 = single spaced 01 = 1 1/2 spaced 10 = double spaced) $25 Text color $26-$27 Reserved Photo Scrap File The Photo Scrap file is a coded graphics image in a sequentially structured file. The first byte is the number of bytes wide the image is (one eighth of the width in pixels). This means that photo scraps are always even multiples of eight pixels wide. The second and third byte form a word which is the number of pixels high the image is. Following these three bytes is the graphics image, coded in the same format as a click box (suitable fir BitmapClip or BitOtherClip). This format consists of a code bye followed by 1 or more data bytes. The code bytes are classified into the following three basic types. 1) Code bytes less than 128 mean that the following byte is to be repeated that many times. 2) Code bytes ranging from 128 to 219 mean that if 128 is subtracted from the code byte then the result is the number of data bytes that follow. 3) Code bytes ranging from 220 to 255 are special. First 219 is subtracted from the code byte, the result is the number of bytes in the pattern that will follow. Following this code byte is a repetition count for the pattern. Following this are the bytes that constitute the pattern. These could include either of the first two code types. Since graphic images can be in color, the color data follows the graphic image data. The color data is coded in the same way as the graphic data; however, each byte of color data is the color for a block of 8 by 8 pixels (a normal character space). This is the reason that GEOpaint makes photo scraps a multiple of 8 pixels high and wide.