summaryrefslogtreecommitdiff
path: root/sd/source
diff options
context:
space:
mode:
authorZhe Wang <wangzcdl@apache.org>2012-09-07 04:46:35 +0000
committerZhe Wang <wangzcdl@apache.org>2012-09-07 04:46:35 +0000
commit39e9cae1ac9b7944c9df0642a193b042a1b68266 (patch)
tree63226b0cc9e3d3c7233203006caac4c1874fd185 /sd/source
parent155cf194a0ecf18e3b19cf73d05485c59de640a2 (diff)
Fix issue #i120773#: [From Symphony] Numbering will lose when saving or opening a ppt file
* subversion/main/editeng/inc/editeng/svxenum.hxx Define some numbering types supported by MS ppt * subversion/main/filter/source/msfilter/svdfppt.cxx Mapping added MS numbering types to Symphony numbering types * subversion/main/sd/source/filter/eppt/epptso.cxx Export added MS numbering types Patch by: Yin Bing <steve.yin.aoo@gmail.com> Suggested by: Wang Zhe <kingwisemmx@gmail.com> Found by: Yin Bing <steve.yin.aoo@gmail.com> Review by: Wang Zhe <kingwisemmx@gmail.com>
Notes
Notes: merged as: ef23b47e887908161d980f3e6f6d321f18acca77
Diffstat (limited to 'sd/source')
-rw-r--r--sd/source/filter/eppt/epptso.cxx49
1 files changed, 49 insertions, 0 deletions
diff --git a/sd/source/filter/eppt/epptso.cxx b/sd/source/filter/eppt/epptso.cxx
index cb9376188eb6..a71371b38d8b 100644
--- a/sd/source/filter/eppt/epptso.cxx
+++ b/sd/source/filter/eppt/epptso.cxx
@@ -2672,6 +2672,11 @@ void ParagraphObj::ImplGetNumberingLevel( PPTExBulletProvider& rBuProv, sal_Int1
case SVX_NUM_BITMAP :
case SVX_NUM_CHARS_UPPER_LETTER_N : // zaehlt von a-z, aa-zz, aaa-zzz
case SVX_NUM_CHARS_LOWER_LETTER_N :
+ case SVX_NUM_NUMBER_UPPER_ZH:
+ case SVX_NUM_CIRCLE_NUMBER:
+ case SVX_NUM_NUMBER_UPPER_ZH_TW:
+ case SVX_NUM_NUMBER_LOWER_ZH:
+ case SVX_NUM_FULL_WIDTH_ARABIC:
{
if ( nNumberingType != SVX_NUM_CHAR_SPECIAL )
{
@@ -2757,6 +2762,45 @@ void ParagraphObj::ImplGetNumberingLevel( PPTExBulletProvider& rBuProv, sal_Int1
}
}
break;
+ case SVX_NUM_NUMBER_UPPER_ZH :
+ {
+ if ( sSuffix.Len() )
+ nMappedNumType = 0x110001; // Simplified Chinese with single-byte period.
+ else
+ nMappedNumType = 0x100001; // Simplified Chinese.
+ }
+ break;
+ case SVX_NUM_CIRCLE_NUMBER :
+ {
+ nMappedNumType = 0x120001; // Double byte circle numbers.
+ }
+ break;
+ case SVX_NUM_NUMBER_UPPER_ZH_TW :
+ {
+ if ( sSuffix.Len() )
+ nMappedNumType = 0x160001; // Traditional Chinese with single-byte period.
+ else
+ nMappedNumType = 0x150001; // Traditional Chinese.
+ }
+ break;
+ case SVX_NUM_NUMBER_LOWER_ZH :
+ {
+ if ( sSuffix == String( sal_Unicode(0xff0e)) )
+ nMappedNumType = 0x260001; // Japanese with double-byte period.
+ else if ( sSuffix.Len() )
+ nMappedNumType = 0x1B0001; // Japanese/Korean with single-byte period.
+ else
+ nMappedNumType = 0x1A0001; // Japanese/Korean.
+ }
+ break;
+ case SVX_NUM_FULL_WIDTH_ARABIC :
+ {
+ if ( sSuffix.Len() )
+ nMappedNumType = 0x1D0001; // Double-byte Arabic numbers with double-byte period.
+ else
+ nMappedNumType = 0x1C0001; // Double-byte Arabic numbers.
+ }
+ break;
default:
break;
}
@@ -3397,6 +3441,11 @@ void PPTWriter::ImplWriteTextStyleAtom( SvStream& rOut, int nTextInstance, sal_u
case SVX_NUM_ROMAN_UPPER :
case SVX_NUM_ROMAN_LOWER :
case SVX_NUM_ARABIC :
+ case SVX_NUM_NUMBER_UPPER_ZH:
+ case SVX_NUM_CIRCLE_NUMBER:
+ case SVX_NUM_NUMBER_UPPER_ZH_TW:
+ case SVX_NUM_NUMBER_LOWER_ZH:
+ case SVX_NUM_FULL_WIDTH_ARABIC:
nNumberingType = pBulletPara->nMappedNumType;
break;