chromium/third_party/blink/public/common/font_unique_name_lookup/font_unique_name_table.proto

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package blink;

message FontUniqueNameTable {
  // This field is used on Android for persisting and reading the protobuf from
  // disk. It stores the Android build fingerprint, for which this cached font
  // lookup structure was build and allows invalidating it when an Android OS
  // upgrade was detected.
  required string stored_for_platform_version_identifier = 1;

  message UniqueFont {
    required string file_path = 10;
    required uint32 ttc_index = 20;
  }

  // Stores a postscript or full font name and
  // maps it to an entry in the fonts list.
  message UniqueNameToFontMapping {
    required string font_name = 10;
    required uint32 font_index = 20;
  }

  repeated UniqueFont fonts = 10;

  // The entries of name_map can be used to lookup a full font name or
  // postscript name and find the index into the fonts list which this name
  // points to. The entries must be stored ordered by font_name according to
  // std::basic_string::compare.
  repeated UniqueNameToFontMapping name_map = 20;
}