Class: Axlsx::Font

Inherits:
Object
  • Object
show all
Defined in:
lib/axlsx/stylesheet/font.rb

Overview

Note:

The recommended way to manage fonts, and other styles is Styles#add_style

The Font class details a font instance for use in styling cells.

See Also:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Font

Creates a new Font

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • name (String)
  • charset (Integer)
  • family (Integer)
  • family (Integer)
  • b (Boolean)
  • i (Boolean)
  • u (Boolean)
  • strike (Boolean)
  • outline (Boolean)
  • shadow (Boolean)
  • condense (Boolean)
  • extend (Boolean)
  • color (Color)
  • sz (Integer)


104
105
106
107
108
109
# File 'lib/axlsx/stylesheet/font.rb', line 104

def initialize(options={})
  options.each do |o|
    next if o[1].nil?
    self.send("#{o[0]}=", o[1]) if self.respond_to? "#{o[0]}="
  end
end

Instance Attribute Details

#bBoolean

Indicates if the font should be rendered in bold

Returns:

  • (Boolean)


51
52
53
# File 'lib/axlsx/stylesheet/font.rb', line 51

def b
  @b
end

#charsetInteger

Note:

The following values are defined in the OOXML specification and are OS dependant values

0   ANSI_CHARSET
1   DEFAULT_CHARSET
2   SYMBOL_CHARSET
77  MAC_CHARSET
128 SHIFTJIS_CHARSET
129 HANGUL_CHARSET
130 JOHAB_CHARSET
134 GB2312_CHARSET
136 CHINESEBIG5_CHARSET
161 GREEK_CHARSET
162 TURKISH_CHARSET
163 VIETNAMESE_CHARSET
177 HEBREW_CHARSET
178 ARABIC_CHARSET
186 BALTIC_CHARSET
204 RUSSIAN_CHARSET
222 THAI_CHARSET
238 EASTEUROPE_CHARSET
255 OEM_CHARSET

The charset of the font

Returns:

  • (Integer)


34
35
36
# File 'lib/axlsx/stylesheet/font.rb', line 34

def charset
  @charset
end

#colorColor

The color of the font

Returns:



83
84
85
# File 'lib/axlsx/stylesheet/font.rb', line 83

def color
  @color
end

#condenseBoolean

Indicates if the font should be condensed

Returns:

  • (Boolean)


75
76
77
# File 'lib/axlsx/stylesheet/font.rb', line 75

def condense
  @condense
end

#extendBoolean

The font’s extend property

Returns:

  • (Boolean)


79
80
81
# File 'lib/axlsx/stylesheet/font.rb', line 79

def extend
  @extend
end

#familyInteger

Note:

The following are defined OOXML specification

0 Not applicable.
1 Roman
2 Swiss
3 Modern
4 Script
5 Decorative
6..14 Reserved for future use

The font’s family

Returns:

  • (Integer)


47
48
49
# File 'lib/axlsx/stylesheet/font.rb', line 47

def family
  @family
end

#iBoolean

Indicates if the font should be rendered italicized

Returns:

  • (Boolean)


55
56
57
# File 'lib/axlsx/stylesheet/font.rb', line 55

def i
  @i
end

#nameString

The name of the font

Returns:

  • (String)


9
10
11
# File 'lib/axlsx/stylesheet/font.rb', line 9

def name
  @name
end

#outlineBoolean

Indicates if the font should be rendered with an outline

Returns:

  • (Boolean)


67
68
69
# File 'lib/axlsx/stylesheet/font.rb', line 67

def outline
  @outline
end

#shadowBoolean

Indicates if the font should be rendered with a shadow

Returns:

  • (Boolean)


71
72
73
# File 'lib/axlsx/stylesheet/font.rb', line 71

def shadow
  @shadow
end

#strikeBoolean

Indicates if the font should be rendered with a strikthrough

Returns:

  • (Boolean)


63
64
65
# File 'lib/axlsx/stylesheet/font.rb', line 63

def strike
  @strike
end

#szInteger

The size of the font.

Returns:

  • (Integer)


87
88
89
# File 'lib/axlsx/stylesheet/font.rb', line 87

def sz
  @sz
end

#uBoolean

Indicates if the font should be rendered underlined

Returns:

  • (Boolean)


59
60
61
# File 'lib/axlsx/stylesheet/font.rb', line 59

def u
  @u
end

Instance Method Details

#to_xml_string(str = '') ⇒ String

Serializes the object

Parameters:

  • str (String) (defaults to: '')

Returns:

  • (String)


140
141
142
143
144
145
146
# File 'lib/axlsx/stylesheet/font.rb', line 140

def to_xml_string(str = '')
  str << '<font>'
  instance_values.each do |k, v|
    v.is_a?(Color) ? v.to_xml_string(str) : (str << '<' << k.to_s << ' val="' << v.to_s << '"/>')
  end
  str << '</font>'
end