Class: FontRecord
- Inherits:
-
BiffRecord
- Object
- BiffRecord
- FontRecord
- Defined in:
- lib/surpass/biff_record.rb
Overview
WARNING
The font with index 4 is omitted in all BIFF versions.
This means the first four fonts have zero-based indexes, and
the fifth font and all following fonts are referenced with one-based
indexes.
Offset Size Contents 0 2 Height of the font (in twips = 1/20 of a point) 2 2 Option flags:
Bit Mask Contents
0 0001H 1 = Characters are bold (redundant, see below)
1 0002H 1 = Characters are italic
2 0004H 1 = Characters are underlined (redundant, see below)
3 0008H 1 = Characters are struck out
0010H 1 = Outline
0020H 1 = Shadow
4 2 Colour index 6 2 Font weight (100-1000).
Standard values are 0190H (400) for normal text and 02BCH
(700) for bold text.
8 2 Escapement type:
0000H = None
0001H = Superscript
0002H = Subscript
10 1 Underline type:
00H = None
01H = Single
21H = Single accounting
02H = Double
22H = Double accounting
11 1 Font family:
00H = None (unknown or don't care)
01H = Roman (variable width, serifed)
02H = Swiss (variable width, sans-serifed)
03H = Modern (fixed width, serifed or sans-serifed)
04H = Script (cursive)
05H = Decorative (specialised, i.e. Old English, Fraktur)
12 1 Character set:
00H = 0 = ANSI Latin
01H = 1 = System default
02H = 2 = Symbol
4DH = 77 = Apple Roman
80H = 128 = ANSI Japanese Shift-JIS
81H = 129 = ANSI Korean (Hangul)
82H = 130 = ANSI Korean (Johab)
86H = 134 = ANSI Chinese Simplified GBK
88H = 136 = ANSI Chinese Traditional BIG5
A1H = 161 = ANSI Greek
A2H = 162 = ANSI Turkish
A3H = 163 = ANSI Vietnamese
B1H = 177 = ANSI Hebrew
B2H = 178 = ANSI Arabic
BAH = 186 = ANSI Baltic
CCH = 204 = ANSI Cyrillic
DEH = 222 = ANSI Thai
EEH = 238 = ANSI Latin II (Central European)
FFH = 255 = OEM Latin I
13 1 Not used 14 var. Font name:
BIFF5/BIFF7: Byte string, 8-bit string length
BIFF8: Unicode string, 8-bit string length
The boldness and underline flags are still set in the options field, but not used on reading the font. Font weight and underline type are specified in separate fields instead.
Constant Summary collapse
- RECORD_ID =
0x0031
Constants inherited from BiffRecord
BiffRecord::BIFF_LIMIT, BiffRecord::CONTINUE_RECORD_ID
Instance Attribute Summary
Attributes inherited from BiffRecord
Instance Method Summary collapse
-
#initialize(height, options, colour_index, weight, escapement, underline, family, charset, name) ⇒ FontRecord
constructor
A new instance of FontRecord.
Methods inherited from BiffRecord
Constructor Details
#initialize(height, options, colour_index, weight, escapement, underline, family, charset, name) ⇒ FontRecord
Returns a new instance of FontRecord.
613 614 615 616 617 |
# File 'lib/surpass/biff_record.rb', line 613 def initialize(height, , colour_index, weight, escapement, underline, family, charset, name) #TODO implement upack1 fully args = [height, , colour_index, weight, escapement,underline, family, charset, 0x00] @record_data = args.pack('v5C4') + [name.length, 0].pack('CC') + name end |