blob: eb0e1c43169a881da76f3334a0b460dfc4059259 [file] [log] [blame]
// Copyright 2010-2015, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Protocol messages to be used for system dictionary data.
syntax = "proto2";
package mozc.packed;
message SystemDictionaryData {
// product version
optional string product_version = 1 [ default = "0.0.0.0" ];
optional uint32 format_version = 2;
message PosToken {
optional string pos = 1;
message ConjugationType {
optional string key_suffix = 1;
optional string value_suffix = 2;
optional uint32 id = 3;
};
repeated ConjugationType conjugation_forms = 2;
};
repeated PosToken pos_tokens = 3;
message PosMatcherData {
repeated uint32 rule_id_table = 1;
message RangeTable {
message Range {
optional uint32 lower = 1;
optional uint32 upper = 2;
};
repeated Range ranges = 2;
};
repeated RangeTable range_tables = 2;
};
optional PosMatcherData pos_matcher_data = 4;
optional bytes lid_group_data = 5;
message BoundaryData {
optional uint32 prefix_penalty = 1;
optional uint32 suffix_penalty = 2;
};
repeated BoundaryData boundary_data = 6;
message SuffixToken {
optional string key = 1;
optional string value = 2;
optional uint32 lid = 3;
optional uint32 rid = 4;
optional int32 wcost = 5;
};
repeated SuffixToken suffix_tokens = 7;
message ReadingCorrectionItem {
optional string value = 1;
optional string error = 2;
optional string correction = 3;
};
repeated ReadingCorrectionItem reading_corrections = 8;
message SegmenterData {
optional uint32 compressed_l_size = 1;
optional uint32 compressed_r_size = 2;
repeated uint32 compressed_lid_table = 3;
repeated uint32 compressed_rid_table = 4;
optional bytes bit_array_data = 5;
}
optional SegmenterData segmenter_data = 9;
message EmbeddedDictionary {
message Value {
optional string value = 1;
optional string description = 2;
optional string additional_description = 3;
optional uint32 lid = 4;
optional uint32 rid = 5;
optional int32 cost = 6;
}
message Token {
optional string key = 1;
repeated Value values = 2;
}
repeated Token tokens = 1;
}
optional EmbeddedDictionary symbol_dictionary = 10;
message UsageRewriterData {
message ConjugationSuffix {
optional string value_suffix = 1;
optional string key_suffix = 2;
}
message Conjugation {
optional ConjugationSuffix base_suffix = 1;
repeated ConjugationSuffix conjugation_suffixes = 2;
}
message UsageDictItem {
optional int32 id = 1;
optional string key = 2;
optional string value = 3;
optional int32 conjugation_id = 4;
optional string meaning = 5;
}
repeated Conjugation conjugations = 1;
repeated UsageDictItem usage_data_values = 2;
}
optional UsageRewriterData usage_rewriter_data = 11;
optional bytes suggestion_filter_data = 12;
optional bytes connection_data = 13;
optional bytes dictionary_data = 14;
optional bytes collocation_data = 15;
optional bytes collocation_suppression_data = 16;
repeated string counter_suffix_data = 17;
};