The workbook font table contains at least five FONT records. FONT records are numbered as follows: ifnt = 00h (the first FONT record in the table), ifnt = 01h, ifnt = 02h, ifnt = 03h, ifnt = 05h (minimum table), and then ifnt = 06h, ifnt = 07h, and so on. Notice that ifnt = 04h never appears in a BIFF file. This is for backward-compatibility with previous versions of Microsoft Excel. If you read FONT records, remember to index the table correctly, skipping ifnt = 04h.
Record Data
Offset |
Name |
Size |
Contents |
4 |
dyHeight |
2 |
Height of the font (in units of 1/20th of a point). |
6 |
grbit |
2 |
Font attributes (see the following table). |
8 |
icv |
2 |
Index to the color palette. |
10 |
bls |
2 |
Bold style; a number from 100dec to 1000dec (64h to 3E8h) that indicates the character weight ("boldness"). The default values are 190h for normal text and 2BCh for bold text. |
12 |
sss |
2 |
Superscript/subscript: |
14 |
uls |
1 |
Underline style: |
15 |
bFamily |
1 |
Font family, as defined by the Windows API LOGFONT structure. |
16 |
bCharSet |
1 |
Character set, as defined by the Windows API LOGFONT structure. |
17 |
(Reserved) |
1 |
Reserved; must be 0 (zero). |
18 |
cch |
1 |
Length of the font name. |
19 |
rgch |
var |
Font name. |
The grbit field contains the font attributes listed in the following table.
Offset |
Bits |
Mask |
Name |
Contents |
0 |
0 |
01h |
(Reserved) |
Reserved; must be 0 (zero) |
1 |
02h |
fItalic |
= 1 if the font is italic | |
2 |
04h |
(Reserved) |
Reserved; must be 0 (zero) | |
0 |
3 |
08h |
fStrikeout |
= 1 if the font is struck out |
4 |
10h |
fOutline |
= 1 if the font is outline style (Macintosh only) | |
5 |
20h |
fShadow |
= 1 if the font is shadow style (Macintosh only) | |
7 – 6 |
C0h |
(Reserved) |
Reserved; must be 0 (zero) | |
1 |
7 – 0 |
FFh |
(Unused) |