Reverted DocumentSummary hack in codepage guessing code

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1793601 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Andreas Beeker 2017-05-02 23:30:17 +00:00
parent eeb697001f
commit a0b324224b

View File

@ -198,36 +198,7 @@ public class HWPFOldDocument extends HWPFDocumentCore {
* @return The detected Charset from the old font table * @return The detected Charset from the old font table
*/ */
private Charset guessCodePage(OldFontTable fontTable) { private Charset guessCodePage(OldFontTable fontTable) {
//try to get it out of the overall document summary information // pick the first non-default, non-symbol charset
DocumentSummaryInformation summaryInformation = getDocumentSummaryInformation();
if (summaryInformation != null) {
CustomProperties customProperties = summaryInformation.getCustomProperties();
if (customProperties != null) {
int codePage = customProperties.getCodepage();
if (codePage > -1) {
try {
return Charset.forName(CodePageUtil.codepageToEncoding(codePage));
} catch (UnsupportedEncodingException e) {
//swallow
}
}
}
//If that didn't work, for now, try to get first valid code page in a valid section
for (Section section : summaryInformation.getSections()) {
if (section.getOffset() < 0) {
continue;
}
int codePage = section.getCodepage();
if (codePage > -1) {
try {
return Charset.forName(CodePageUtil.codepageToEncoding(codePage));
} catch (UnsupportedEncodingException e) {
//swallow
}
}
}
}
//if that still doesn't work, pick the first non-default, non-symbol charset
for (OldFfn oldFfn : fontTable.getFontNames()) { for (OldFfn oldFfn : fontTable.getFontNames()) {
HwmfFont.WmfCharset wmfCharset = HwmfFont.WmfCharset.valueOf(oldFfn.getChs()& 0xff); HwmfFont.WmfCharset wmfCharset = HwmfFont.WmfCharset.valueOf(oldFfn.getChs()& 0xff);
if (wmfCharset != null && if (wmfCharset != null &&