Class: Axlsx::Font

Inherits:
Object
  • Object
show all
Includes:
OptionsParser
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

Methods included from OptionsParser

#parse_options

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)


25
26
27
# File 'lib/axlsx/stylesheet/font.rb', line 25

def initialize(options = {})
  parse_options options
end

Instance Attribute Details

#bBoolean

Indicates if the font should be rendered in bold

Returns:

  • (Boolean)


73
74
75
# File 'lib/axlsx/stylesheet/font.rb', line 73

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)


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

def charset
  @charset
end

#colorColor

The color of the font

Returns:



108
109
110
# File 'lib/axlsx/stylesheet/font.rb', line 108

def color
  @color
end

#condenseBoolean

Indicates if the font should be condensed

Returns:

  • (Boolean)


100
101
102
# File 'lib/axlsx/stylesheet/font.rb', line 100

def condense
  @condense
end

#extendBoolean

The font's extend property

Returns:

  • (Boolean)


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

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)


69
70
71
# File 'lib/axlsx/stylesheet/font.rb', line 69

def family
  @family
end

#iBoolean

Indicates if the font should be rendered italicized

Returns:

  • (Boolean)


77
78
79
# File 'lib/axlsx/stylesheet/font.rb', line 77

def i
  @i
end

#nameString

The name of the font

Returns:

  • (String)


31
32
33
# File 'lib/axlsx/stylesheet/font.rb', line 31

def name
  @name
end

#outlineBoolean

Indicates if the font should be rendered with an outline

Returns:

  • (Boolean)


92
93
94
# File 'lib/axlsx/stylesheet/font.rb', line 92

def outline
  @outline
end

#shadowBoolean

Indicates if the font should be rendered with a shadow

Returns:

  • (Boolean)


96
97
98
# File 'lib/axlsx/stylesheet/font.rb', line 96

def shadow
  @shadow
end

#strikeBoolean

Indicates if the font should be rendered with a strikthrough

Returns:

  • (Boolean)


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

def strike
  @strike
end

#szInteger

The size of the font.

Returns:

  • (Integer)


112
113
114
# File 'lib/axlsx/stylesheet/font.rb', line 112

def sz
  @sz
end

#uString

Note:

true or false is for backwards compatibility and is reassigned to :single or :none respectively

Indicates if the font should be rendered underlined It must be one of :none, :single, :double, :singleAccounting, :doubleAccounting, true, false

Returns:

  • (String)


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

def u
  @u
end

Instance Method Details

#to_xml_string(str = +'')) ⇒ String

Serializes the object

Parameters:

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

Returns:

  • (String)


197
198
199
200
201
202
203
# File 'lib/axlsx/stylesheet/font.rb', line 197

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