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:
parent
eeb697001f
commit
a0b324224b
@ -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 &&
|
||||||
|
Loading…
Reference in New Issue
Block a user