Index: hssf/record/BoundSheetRecord.java =================================================================== RCS file: /home/cvspublic/jakarta-poi/src/java/org/apache/poi/hssf/record/BoundSheetRecord.java,v --- hssf/record/BoundSheetRecord.java 1.6 +++ hssf/record/BoundSheetRecord.java @@ -145,1 +145,1 @@ - field_5_sheetname = new String( data, 8 + offset, nameLength ); --- + field_5_sheetname = StringUtil.getFromCompressedUnicode( data, 8 + offset, nameLength ); Index: hssf/record/FontRecord.java =================================================================== RCS file: /home/cvspublic/jakarta-poi/src/java/org/apache/poi/hssf/record/FontRecord.java,v --- hssf/record/FontRecord.java 1.6 +++ hssf/record/FontRecord.java @@ -167,1 +167,1 @@ - field_11_font_name = new String(data, 16, --- + field_11_font_name = StringUtil.getFromCompressedUnicode(data, 16, Index: hssf/record/FooterRecord.java =================================================================== RCS file: /home/cvspublic/jakarta-poi/src/java/org/apache/poi/hssf/record/FooterRecord.java,v --- hssf/record/FooterRecord.java 1.8 +++ hssf/record/FooterRecord.java @@ -122,1 +122,1 @@ - field_2_footer = new String(data, 3 + offset, // [Shawn] Changed 1 to 3 for offset of string --- + field_2_footer = StringUtil.getFromCompressedUnicode(data, 3 + offset, // [Shawn] Changed 1 to 3 for offset of string Index: hssf/record/FormatRecord.java =================================================================== RCS file: /home/cvspublic/jakarta-poi/src/java/org/apache/poi/hssf/record/FormatRecord.java,v --- hssf/record/FormatRecord.java 1.7 +++ hssf/record/FormatRecord.java @@ -135,1 +135,1 @@ - field_4_formatstring = new String(data, 5 + offset, field_3_unicode_len ); --- + field_4_formatstring = StringUtil.getFromCompressedUnicode(data, 5 + offset, field_3_unicode_len ); Index: hssf/record/HeaderRecord.java =================================================================== RCS file: /home/cvspublic/jakarta-poi/src/java/org/apache/poi/hssf/record/HeaderRecord.java,v --- hssf/record/HeaderRecord.java 1.8 +++ hssf/record/HeaderRecord.java @@ -122,1 +122,1 @@ - field_2_header = new String(data, 3 + offset, // [Shawn] Changed 1 to 3 for offset of string --- + field_2_header = StringUtil.getFromCompressedUnicode(data, 3 + offset, // [Shawn] Changed 1 to 3 for offset of string Index: hssf/record/LabelRecord.java =================================================================== RCS file: /home/cvspublic/jakarta-poi/src/java/org/apache/poi/hssf/record/LabelRecord.java,v --- hssf/record/LabelRecord.java 1.4 +++ hssf/record/LabelRecord.java @@ -160,1 +160,1 @@ - field_6_value = new String(data, 9 + offset, getStringLength()); --- + field_6_value = StringUtil.getFromCompressedUnicode(data, 9 + offset, getStringLength()); Index: hssf/record/NameRecord.java =================================================================== RCS file: /home/cvspublic/jakarta-poi/src/java/org/apache/poi/hssf/record/NameRecord.java,v --- hssf/record/NameRecord.java 1.9 +++ hssf/record/NameRecord.java @@ -759,1 +759,1 @@ - field_12_name_text = new String(data, 15 + offset, --- + field_12_name_text = StringUtil.getFromCompressedUnicode(data, 15 + offset, @@ -767,1 +767,1 @@ - field_14_custom_menu_text = new String(data, start_of_custom_menu_text + offset, --- + field_14_custom_menu_text = StringUtil.getFromCompressedUnicode(data, start_of_custom_menu_text + offset, @@ -771,1 +771,1 @@ - field_15_description_text = new String(data, start_of_description_text + offset, --- + field_15_description_text = StringUtil.getFromCompressedUnicode(data, start_of_description_text + offset, @@ -775,1 +775,1 @@ - field_16_help_topic_text = new String(data, start_of_help_topic_text + offset, --- + field_16_help_topic_text = StringUtil.getFromCompressedUnicode(data, start_of_help_topic_text + offset, @@ -779,1 +779,1 @@ - field_17_status_bar_text = new String(data, start_of_status_bar_text + offset, --- + field_17_status_bar_text = StringUtil.getFromCompressedUnicode(data, start_of_status_bar_text + offset, Index: hssf/record/StringRecord.java =================================================================== RCS file: /home/cvspublic/jakarta-poi/src/java/org/apache/poi/hssf/record/StringRecord.java,v --- hssf/record/StringRecord.java 1.3 +++ hssf/record/StringRecord.java @@ -137,1 +137,1 @@ - field_3_string = new String(data, 3 + offset, field_1_string_length); --- + field_3_string = StringUtil.getFromCompressedUnicode(data, 3 + offset, field_1_string_length); Index: hssf/record/StyleRecord.java =================================================================== RCS file: /home/cvspublic/jakarta-poi/src/java/org/apache/poi/hssf/record/StyleRecord.java,v --- hssf/record/StyleRecord.java 1.4 +++ hssf/record/StyleRecord.java @@ -137,1 +137,1 @@ - field_3_name = new String(data, 3 + offset, --- + field_3_name = StringUtil.getFromCompressedUnicode(data, 3 + offset, Index: hssf/record/WriteAccessRecord.java =================================================================== RCS file: /home/cvspublic/jakarta-poi/src/java/org/apache/poi/hssf/record/WriteAccessRecord.java,v --- hssf/record/WriteAccessRecord.java 1.2 +++ hssf/record/WriteAccessRecord.java @@ -118,1 +118,1 @@ - field_1_username = new String(data, 3 + offset, data.length - 4); --- + field_1_username = StringUtil.getFromCompressedUnicode(data, 3 + offset, data.length - 4); Index: util/StringUtil.java =================================================================== RCS file: /home/cvspublic/jakarta-poi/src/java/org/apache/poi/util/StringUtil.java,v --- util/StringUtil.java 1.8 +++ util/StringUtil.java @@ -198,2 +198,1 @@ - - --- + /** * read compressed unicode(8bit) * * @author Toshiaki Kamoshida(kamoshida.toshiaki at future dot co dot jp) * * @param string byte array to read * @param offset offset to read byte array * @param len length to read byte array * @return String generated String instance by reading byte array */ public static String getFromCompressedUnicode(final byte[] string, final int offset, final int len){ try{ return new String(string,offset,len,"ISO-8859-1"); } catch(UnsupportedEncodingException e){ throw new InternalError();/* unreachable */ } }