Class: Fontisan::Models::CollectionInfo

Inherits:
Lutaml::Model::Serializable
  • Object
show all
Defined in:
lib/fontisan/models/collection_info.rb

Overview

Model for collection metadata

Represents comprehensive information about a TTC/OTC collection. Used by InfoCommand when operating on collection files.

Examples:

Creating collection info

info = CollectionInfo.new(
  collection_path: "fonts.ttc",
  collection_format: "TTC",
  ttc_tag: "ttcf",
  major_version: 2,
  minor_version: 0,
  num_fonts: 6,
  font_offsets: [48, 380, 712, 1044, 1376, 1676],
  file_size_bytes: 2240000,
  table_sharing: table_sharing_obj,
  fonts: [font_info1, font_info2, ...]
)

Instance Method Summary collapse

Instance Method Details

#version_hexString

Get version as a hexadecimal string

Returns:

  • (String)

    Hex version (e.g., “0x00020000”)



75
76
77
78
# File 'lib/fontisan/models/collection_info.rb', line 75

def version_hex
  version_int = (major_version << 16) | minor_version
  format("0x%08X", version_int)
end

#version_stringString

Get version as a formatted string

Returns:

  • (String)

    Version string (e.g., “2.0”)



68
69
70
# File 'lib/fontisan/models/collection_info.rb', line 68

def version_string
  "#{major_version}.#{minor_version}"
end