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



349
350
351
# File 'lib/fontisan/type1/font_dictionary.rb', line 349

def copyright
  @copyright
end

#family_nameString?

Returns Family name.

Returns:

  • (String, nil)

    Family name



343
344
345
# File 'lib/fontisan/type1/font_dictionary.rb', line 343

def family_name
  @family_name
end

#full_nameString?

Returns Full font name.

Returns:

  • (String, nil)

    Full font name



340
341
342
# File 'lib/fontisan/type1/font_dictionary.rb', line 340

def full_name
  @full_name
end

#is_fixed_pitchString?

Returns Fixed pitch (monospace) indicator.

Returns:

  • (String, nil)

    Fixed pitch (monospace) indicator



358
359
360
# File 'lib/fontisan/type1/font_dictionary.rb', line 358

def is_fixed_pitch
  @is_fixed_pitch
end

#italic_angleString?

Returns Italic angle.

Returns:

  • (String, nil)

    Italic angle



367
368
369
# File 'lib/fontisan/type1/font_dictionary.rb', line 367

def italic_angle
  @italic_angle
end

#noticeString?

Returns Notice string.

Returns:

  • (String, nil)

    Notice string



352
353
354
# File 'lib/fontisan/type1/font_dictionary.rb', line 352

def notice
  @notice
end

#underline_positionString?

Returns Underline position.

Returns:

  • (String, nil)

    Underline position



361
362
363
# File 'lib/fontisan/type1/font_dictionary.rb', line 361

def underline_position
  @underline_position
end

#underline_thicknessString?

Returns Underline thickness.

Returns:

  • (String, nil)

    Underline thickness



364
365
366
# File 'lib/fontisan/type1/font_dictionary.rb', line 364

def underline_thickness
  @underline_thickness
end

#versionString?

Returns Font version.

Returns:

  • (String, nil)

    Font version



346
347
348
# File 'lib/fontisan/type1/font_dictionary.rb', line 346

def version
  @version
end

#weightString?

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

Returns:

  • (String, nil)

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



355
356
357
# File 'lib/fontisan/type1/font_dictionary.rb', line 355

def weight
  @weight
end

Instance Method Details

#parse(dict_data) ⇒ Object

Parse FontInfo from dictionary data

Parameters:

  • dict_data (Hash)

    Raw dictionary data



372
373
374
375
376
377
378
379
380
381
382
383
384
385
# File 'lib/fontisan/type1/font_dictionary.rb', line 372

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