Class: HexaPDF::Font::TrueType::Table::OS2

Inherits:
HexaPDF::Font::TrueType::Table show all
Extended by:
Utils::BitField
Defined in:
lib/hexapdf/font/true_type/table/os2.rb

Overview

The ‘OS/2’ table contains information required by Windows.

Some attributes may be nil when read from a file depending on the version of the table.

See: developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6OS2.html

Constant Summary

Constants inherited from HexaPDF::Font::TrueType::Table

TIME_EPOCH

Instance Attribute Summary collapse

Attributes inherited from HexaPDF::Font::TrueType::Table

#font

Method Summary

Methods included from Utils::BitField

bit_field

Methods inherited from HexaPDF::Font::TrueType::Table

calculate_checksum, #checksum_valid?, #directory_entry, #initialize, #raw_data

Constructor Details

This class inherits a constructor from HexaPDF::Font::TrueType::Table

Instance Attribute Details

#break_charObject

The break character used by Windows.



150
151
152
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 150

def break_char
  @break_char
end

#cap_heightObject

The distance between the baseline and the approximate height of uppercase letters.



144
145
146
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 144

def cap_height
  @cap_height
end

#code_page_rangeObject

The code page character range.



137
138
139
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 137

def code_page_range
  @code_page_range
end

#default_charObject

The default character displayed by Windows to represent an unsupported character.



147
148
149
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 147

def default_char
  @default_char
end

#family_classObject

Classification of the font-family design.



99
100
101
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 99

def family_class
  @family_class
end

#first_char_indexObject

The minimum Unicode index in this font.



116
117
118
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 116

def first_char_index
  @first_char_index
end

#last_char_indexObject

The maximum Unicode index in this font.



119
120
121
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 119

def last_char_index
  @last_char_index
end

#lower_point_sizeObject

The lowest size at which the font starts to be used.



156
157
158
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 156

def lower_point_size
  @lower_point_size
end

#max_contextObject

The maximum length of an OpenType context for any feature in this font.



153
154
155
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 153

def max_context
  @max_context
end

#panoseObject

Describes the visual characteristics of the given typeface.



102
103
104
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 102

def panose
  @panose
end

#selectionObject

Information concerning the nature of the font patterns.



111
112
113
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 111

def selection
  @selection
end

#strikeout_positionObject

Position of the strikeout stroke relative to the baseline.



96
97
98
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 96

def strikeout_position
  @strikeout_position
end

#strikeout_sizeObject

Width of the strikeout stroke.



93
94
95
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 93

def strikeout_size
  @strikeout_size
end

#subscript_x_offsetObject

Recommended horizontal offset for subscripts.



75
76
77
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 75

def subscript_x_offset
  @subscript_x_offset
end

#subscript_x_sizeObject

Recommended horizontal size in pixels for subscripts



69
70
71
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 69

def subscript_x_size
  @subscript_x_size
end

#subscript_y_offsetObject

Recommended vertical offset from the baseline for subscripts.



78
79
80
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 78

def subscript_y_offset
  @subscript_y_offset
end

#subscript_y_sizeObject

Recommended vertical size in pixels for subscripts



72
73
74
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 72

def subscript_y_size
  @subscript_y_size
end

#superscript_x_offsetObject

Recommended horizontal offset for superscripts.



87
88
89
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 87

def superscript_x_offset
  @superscript_x_offset
end

#superscript_x_sizeObject

Recommended horizontal size in pixels for superscripts



81
82
83
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 81

def superscript_x_size
  @superscript_x_size
end

#superscript_y_offsetObject

Recommended vertical offset from the baseline for superscripts.



90
91
92
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 90

def superscript_y_offset
  @superscript_y_offset
end

#superscript_y_sizeObject

Recommended vertical size in pixels for superscripts



84
85
86
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 84

def superscript_y_size
  @superscript_y_size
end

#typeObject

Characteristics and properties of this font.



64
65
66
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 64

def type
  @type
end

#typo_ascenderObject

The typographic ascender. May not be the same as the ascender in the ‘hhea’ table.



122
123
124
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 122

def typo_ascender
  @typo_ascender
end

#typo_descenderObject

The typographic descender. May not be the same as the ascender in the ‘hhea’ table.



125
126
127
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 125

def typo_descender
  @typo_descender
end

#typo_line_gapObject

The typographic line gap. May not be the same as the ascender in the ‘hhea’ table.



128
129
130
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 128

def typo_line_gap
  @typo_line_gap
end

#unicode_rangeObject

Describes the Unicode ranges covered by the font.



105
106
107
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 105

def unicode_range
  @unicode_range
end

#upper_point_sizeObject

The highest size at which the font starts to be used.



159
160
161
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 159

def upper_point_size
  @upper_point_size
end

#vendor_idObject

The four character identifier of the font vendor.



108
109
110
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 108

def vendor_id
  @vendor_id
end

#versionObject

The version of the table.



52
53
54
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 52

def version
  @version
end

#weight_classObject

Visual weight of stroke in glyphs.



58
59
60
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 58

def weight_class
  @weight_class
end

#width_classObject

Relative change from the normal aspect ratio (width/height).



61
62
63
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 61

def width_class
  @width_class
end

#win_ascentObject

The ascender metric for Windows.



131
132
133
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 131

def win_ascent
  @win_ascent
end

#win_descentObject

The descender metric for Windows.



134
135
136
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 134

def win_descent
  @win_descent
end

#x_avg_char_widthObject

AVerage weighted advance width of lower case letters and space.



55
56
57
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 55

def x_avg_char_width
  @x_avg_char_width
end

#x_heightObject

The distance between the baseline and the approximate height of non-ascending lowercase letters.



141
142
143
# File 'lib/hexapdf/font/true_type/table/os2.rb', line 141

def x_height
  @x_height
end