class TTFunk::Table::OS2

def unicode_blocks_for(os2, original_field, subset)

def unicode_blocks_for(os2, original_field, subset)
  field = BitField.new(0)
  return field unless subset.unicode?
  subset_code_points = Set.new(subset.new_cmap_table[:charmap].keys)
  original_code_point_groups = group_original_code_points_by_bit(os2)
  original_code_point_groups.each do |bit, code_points|
    next if original_field.off?(bit)
    if code_points.any? { |cp| subset_code_points.include?(cp) }
      field.on(bit)
    end
  end
  field
end