syntax = "proto2";

/**
 * Open Source'd font metadata proto formats.
 */
package google.fonts;

option java_package = "com.google.fonts.proto";
option java_outer_classname = "FontsPublic";

message FamilyProto {
  required string name = 1;
  required string designer = 2;
  required string license = 3;
  required string category = 4;
  required string date_added = 5;
  repeated FontProto fonts = 6;
  repeated string aliases = 7;
  repeated string subsets = 8;
  optional string ttf_autohint_args = 9;
  repeated AxisProto axes = 10;
  map<string, float> api_default_overrides = 11;
  optional SourceProto source = 12;
};

message FontProto {
  required string name = 1;
  required string style = 2;
  required int32 weight = 3;
  required string filename = 4;
  required string post_script_name = 5;
  required string full_name = 6;
  optional string copyright = 7;
};

message AxisProto {
  optional string tag = 1;
  optional float min_value = 2;
  optional float default_value = 3;
  optional float max_value = 4;
};

message SourceProto {
  optional string repository_url = 1;
  optional string commit = 2;
}
