* runtime exception for bad/icomplete data.
*
* @param ris the RecordInputstream to read the record from
*/
public NameRecord(RecordInputStream ris) {
LittleEndianInput in = ris;
field_1_option_flag = in.readShort();
field_2_keyboard_shortcut = in.readByte();
int field_3_length_name_text = in.readUByte();
int field_4_length_name_definition = in.readShort();
field_5_externSheetIndex_plus1 = in.readShort();
field_6_sheetNumber = in.readUShort();
int f7_customMenuLen = in.readUByte();
int f8_descriptionTextLen = in.readUByte();
int f9_helpTopicTextLen = in.readUByte();
int f10_statusBarTextLen = in.readUByte();
//store the name in byte form if it's a built-in name
field_11_nameIsMultibyte = (in.readByte() != 0);
if (isBuiltInName()) {
field_12_built_in_code = in.readByte();
} else {
if (field_11_nameIsMultibyte) {
field_12_name_text = StringUtil.readUnicodeLE(in, field_3_length_name_text);
} else {
field_12_name_text = StringUtil.readCompressedUnicode(in, field_3_length_name_text);
}
}
int nBytesAvailable = in.available() - (f7_customMenuLen
+ f8_descriptionTextLen + f9_helpTopicTextLen + f10_statusBarTextLen);
field_13_name_definition = Formula.read(field_4_length_name_definition, in, nBytesAvailable);
//Who says that this can only ever be compressed unicode???
field_14_custom_menu_text = StringUtil.readCompressedUnicode(in, f7_customMenuLen);