Class: Fontisan::Type1::FontDictionary::FontInfo

Inherits:
Object
  • Object
show all
Defined in:
lib/fontisan/type1/font_dictionary.rb

Overview

FontInfo sub-dictionary

Contains font metadata such as FullName, FamilyName, version, etc.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

Returns Copyright notice.

Returns:

  • (String, nil)

    Copyright notice



287
288
289
# File 'lib/fontisan/type1/font_dictionary.rb', line 287

def copyright
  @copyright
end

#family_nameString?

Returns Family name.

Returns:

  • (String, nil)

    Family name



281
282
283
# File 'lib/fontisan/type1/font_dictionary.rb', line 281

def family_name
  @family_name
end

#full_nameString?

Returns Full font name.

Returns:

  • (String, nil)

    Full font name



278
279
280
# File 'lib/fontisan/type1/font_dictionary.rb', line 278

def full_name
  @full_name
end

#is_fixed_pitchString?

Returns Fixed pitch (monospace) indicator.

Returns:

  • (String, nil)

    Fixed pitch (monospace) indicator



296
297
298
# File 'lib/fontisan/type1/font_dictionary.rb', line 296

def is_fixed_pitch
  @is_fixed_pitch
end

#italic_angleString?

Returns Italic angle.

Returns:

  • (String, nil)

    Italic angle



305
306
307
# File 'lib/fontisan/type1/font_dictionary.rb', line 305

def italic_angle
  @italic_angle
end

#noticeString?

Returns Notice string.

Returns:

  • (String, nil)

    Notice string



290
291
292
# File 'lib/fontisan/type1/font_dictionary.rb', line 290

def notice
  @notice
end

#underline_positionString?

Returns Underline position.

Returns:

  • (String, nil)

    Underline position



299
300
301
# File 'lib/fontisan/type1/font_dictionary.rb', line 299

def underline_position
  @underline_position
end

#underline_thicknessString?

Returns Underline thickness.

Returns:

  • (String, nil)

    Underline thickness



302
303
304
# File 'lib/fontisan/type1/font_dictionary.rb', line 302

def underline_thickness
  @underline_thickness
end

#versionString?

Returns Font version.

Returns:

  • (String, nil)

    Font version



284
285
286
# File 'lib/fontisan/type1/font_dictionary.rb', line 284

def version
  @version
end

#weightString?

Returns Font weight (Thin, Light, Regular, Bold, etc.).

Returns:

  • (String, nil)

    Font weight (Thin, Light, Regular, Bold, etc.)



293
294
295
# File 'lib/fontisan/type1/font_dictionary.rb', line 293

def weight
  @weight
end

Instance Method Details

#parse(dict_data) ⇒ Object

Parse FontInfo from dictionary data

Parameters:

  • dict_data (Hash)

    Raw dictionary data



310
311
312
313
314
315
316
317
318
319
320
321
322
323
# File 'lib/fontisan/type1/font_dictionary.rb', line 310

def parse(dict_data)
  # FontInfo can be embedded in the main dict or as a sub-dict
  # Try to extract from various patterns
  @full_name = extract_string_value(dict_data, "FullName")
  @family_name = extract_string_value(dict_data, "FamilyName")
  @version = extract_string_value(dict_data, "version")
  @copyright = extract_string_value(dict_data, "Copyright")
  @notice = extract_string_value(dict_data, "Notice")
  @weight = extract_string_value(dict_data, "Weight")
  @is_fixed_pitch = extract_value(dict_data, "isFixedPitch")
  @underline_position = extract_value(dict_data, "UnderlinePosition")
  @underline_thickness = extract_value(dict_data, "UnderlineThickness")
  @italic_angle = extract_value(dict_data, "ItalicAngle")
end