You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by st...@apache.org on 2014/11/28 16:27:45 UTC
svn commit: r1642310 - in /openoffice/trunk/main: sw/source/filter/rtf/
sw/source/filter/ww8/ writerfilter/source/dmapper/
Author: steve_y
Date: Fri Nov 28 15:27:41 2014
New Revision: 1642310
URL: http://svn.apache.org/r1642310
Log:
Issue 125400 - CJK numbering ordered list fallback to Arabic numerals
Contributor: Mark Hung
Modified:
openoffice/trunk/main/sw/source/filter/rtf/rtfnum.cxx
openoffice/trunk/main/sw/source/filter/ww8/rtfattributeoutput.cxx
openoffice/trunk/main/sw/source/filter/ww8/wrtw8num.cxx
openoffice/trunk/main/sw/source/filter/ww8/ww8par2.cxx
openoffice/trunk/main/sw/source/filter/ww8/ww8par3.cxx
openoffice/trunk/main/writerfilter/source/dmapper/ConversionHelper.cxx
Modified: openoffice/trunk/main/sw/source/filter/rtf/rtfnum.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/filter/rtf/rtfnum.cxx?rev=1642310&r1=1642309&r2=1642310&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/filter/rtf/rtfnum.cxx (original)
+++ openoffice/trunk/main/sw/source/filter/rtf/rtfnum.cxx Fri Nov 28 15:27:41 2014
@@ -57,6 +57,70 @@
#define RTF_NUMRULE_NAME "RTF_Num"
+static sal_Int16 lcl_GetStyleForNFC( sal_Int16 nNFC)
+{
+ static const sal_Int16 aMap[] =
+ {
+ style::NumberingType::ARABIC, // 0 - Arabic (1, 2, 3)
+ style::NumberingType::ROMAN_UPPER, // 1 - Uppercase Roman numeral (I, II, III)
+ style::NumberingType::ROMAN_LOWER, // 2 - Lowercase Roman numeral (i, ii, iii)
+ style::NumberingType::CHARS_UPPER_LETTER_N, // 3 - Uppercase letter (A, B, C)
+ style::NumberingType::CHARS_LOWER_LETTER_N, // 4 - Lowercase letter (a, b, c)
+ style::NumberingType::ARABIC, // 5 - Ordinal number (1st, 2nd, 3rd)
+ style::NumberingType::ARABIC, // 6 - Cardinal text number (One, Two Three)
+ style::NumberingType::ARABIC, // 7 - Ordinal text number (First, Second, Third)
+ style::NumberingType::NUMBER_NONE, // 8 - Not defined
+ style::NumberingType::NUMBER_NONE, // 9 - Not defined
+ style::NumberingType::NUMBER_LOWER_ZH, // 10 - Kanji numbering without the digit character (*dbnum1).
+ style::NumberingType::NUMBER_LOWER_ZH, // 11 - Kanji numbering with the digit character (*dbnum2).
+ style::NumberingType::AIU_HALFWIDTH_JA, // 12 - phonetic Katakana characters in "aiueo" order (*aiueo).
+ style::NumberingType::IROHA_HALFWIDTH_JA, // 13 - phonetic katakana characters in "iroha" order (*iroha).
+ style::NumberingType::FULLWIDTH_ARABIC, // 14 - Double Byte character
+ style::NumberingType::ARABIC, // 15 - Single Byte character
+ style::NumberingType::NUMBER_TRADITIONAL_JA, // 16 - Kanji numbering 3 (*dbnum3).
+ style::NumberingType::ARABIC, // 17 - Kanji numbering 4 (*dbnum4).
+ style::NumberingType::ARABIC, // 18 - Circle numbering (*circlenum). - decimalEnclosedCircleChinese
+ style::NumberingType::FULLWIDTH_ARABIC, // 19 - Double-byte Arabic numbering
+ style::NumberingType::AIU_FULLWIDTH_JA, // 20 - phonetic double-byte Katakana characters (*aiueo*dbchar).
+ style::NumberingType::IROHA_FULLWIDTH_JA, // 21 - phonetic double-byte katakana characters (*iroha*dbchar).
+ style::NumberingType::ARABIC, // 22 - Arabic with leading zero (01, 02, 03, ..., 10, 11)
+ style::NumberingType::CHAR_SPECIAL, // 23 - Bullet (no number at all)
+ style::NumberingType::HANGUL_SYLLABLE_KO, // 24 - Korean numbering 2 (*ganada).
+ style::NumberingType::HANGUL_JAMO_KO, // 25 - Korean numbering 1 (*chosung).
+ style::NumberingType::ARABIC, // 26 - Chinese numbering 1 (*gb1). - decimalEnclosedFullstop
+ style::NumberingType::ARABIC, // 27 - Chinese numbering 2 (*gb2). - decimalEnclosedParen
+ style::NumberingType::ARABIC, // 28 - Chinese numbering 3 (*gb3). - decimalEnclosedCircleChinese
+ style::NumberingType::ARABIC, // 29 - Chinese numbering 4 (*gb4). - ideographEnclosedCircle
+ style::NumberingType::TIAN_GAN_ZH, // 30 - Chinese Zodiac numbering 1 (* zodiac1)
+ style::NumberingType::DI_ZI_ZH, // 31 - Chinese Zodiac numbering 2 (* zodiac2)
+ style::NumberingType::ARABIC, // 32 - Chinese Zodiac numbering 3 (* zodiac3)
+ style::NumberingType::NUMBER_LOWER_ZH, // 33 - Taiwanese double-byte numbering 1
+ style::NumberingType::NUMBER_UPPER_ZH_TW, // 34 - Taiwanese double-byte numbering 2
+ style::NumberingType::NUMBER_LOWER_ZH, // 35 - Taiwanese double-byte numbering 3
+ style::NumberingType::ARABIC, // 36 - Taiwanese double-byte numbering 4
+ style::NumberingType::NUMBER_LOWER_ZH, // 37 - Chinese double-byte numbering 1
+ style::NumberingType::NUMBER_UPPER_ZH, // 38 - Chinese double-byte numbering 2
+ style::NumberingType::NUMBER_LOWER_ZH, // 39 - Chinese double-byte numbering 3
+ style::NumberingType::ARABIC, // 40 - Chinese double-byte numbering 4
+ style::NumberingType::NUMBER_HANGUL_KO, // 41 - Korean double-byte numbering 1
+ style::NumberingType::NUMBER_HANGUL_KO, // 42 - Korean double-byte numbering 2
+ style::NumberingType::NUMBER_HANGUL_KO, // 43 - Korean double-byte numbering 3
+ style::NumberingType::NUMBER_LOWER_ZH, // 44 - Korean double-byte numbering 4
+ style::NumberingType::CHARS_HEBREW, // 45 - Hebrew non-standard decimal
+ style::NumberingType::CHARS_ARABIC, // 46 - Arabic Alif Ba Tah
+ style::NumberingType::CHARS_HEBREW, // 47 - Hebrew Biblical standard
+ style::NumberingType::ARABIC // 48 - Arabic Abjad style
+
+ };
+ const int nLen = sizeof(aMap)/sizeof(aMap[0]);
+ sal_Int16 nRet = style::NumberingType::NUMBER_NONE;
+ if (nNFC>=0 && nNFC<nLen)
+ nRet = aMap[nNFC];
+ else if (nNFC==255)
+ nRet = style::NumberingType::CHAR_SPECIAL;
+ return nRet;
+}
+
void lcl_ExpandNumFmts( SwNumRule& rRule )
{
// dann noch das NumFormat in alle Ebenen setzen
@@ -152,16 +216,8 @@ void SwRTFParser::ReadListLevel( SwNumRu
case RTF_LEVELNFC:
{
- sal_Int16 eType = SVX_NUM_ARABIC;
- switch( nTokenValue )
- {
- case 1: eType = SVX_NUM_ROMAN_UPPER; break;
- case 2: eType = SVX_NUM_ROMAN_LOWER; break;
- case 3: eType = SVX_NUM_CHARS_UPPER_LETTER_N; break;
- case 4: eType = SVX_NUM_CHARS_LOWER_LETTER_N; break;
- case 255:
- case 23: eType = SVX_NUM_CHAR_SPECIAL; break;
- }
+ sal_Int16 eType = lcl_GetStyleForNFC( nTokenValue ) ;
+
if( pCurNumFmt )
pCurNumFmt->SetNumberingType(eType);
}
Modified: openoffice/trunk/main/sw/source/filter/ww8/rtfattributeoutput.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/filter/ww8/rtfattributeoutput.cxx?rev=1642310&r1=1642309&r2=1642310&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/filter/ww8/rtfattributeoutput.cxx (original)
+++ openoffice/trunk/main/sw/source/filter/ww8/rtfattributeoutput.cxx Fri Nov 28 15:27:41 2014
@@ -1525,8 +1525,37 @@ void RtfAttributeOutput::NumberingLevel(
case SVX_NUM_CHARS_LOWER_LETTER:
case SVX_NUM_CHARS_LOWER_LETTER_N: nVal = 4; break;
+ case SVX_NUM_FULL_WIDTH_ARABIC: nVal=19; break;
+ case SVX_NUM_CIRCLE_NUMBER: nVal=18; break;
+ case SVX_NUM_NUMBER_LOWER_ZH:
+ nVal=35;
+ if (pOutSet)
+ {
+ const SvxLanguageItem rlang = (const SvxLanguageItem&) pOutSet->Get(RES_CHRATR_CJK_LANGUAGE,true);
+ if (LANGUAGE_CHINESE_SIMPLIFIED == rlang.GetLanguage())
+ nVal=39;
+ }
+ break;
+ case SVX_NUM_NUMBER_UPPER_ZH: nVal=38; break;
+ case SVX_NUM_NUMBER_UPPER_ZH_TW: nVal=34; break;
+ case SVX_NUM_TIAN_GAN_ZH: nVal=30; break;
+ case SVX_NUM_DI_ZI_ZH: nVal=31; break;
+ case SVX_NUM_NUMBER_TRADITIONAL_JA: nVal=16; break;
+ case SVX_NUM_AIU_FULLWIDTH_JA: nVal=20; break;
+ case SVX_NUM_AIU_HALFWIDTH_JA: nVal=12; break;
+ case SVX_NUM_IROHA_FULLWIDTH_JA: nVal=21; break;
+ case SVX_NUM_IROHA_HALFWIDTH_JA: nVal=13; break;
+ case style::NumberingType::HANGUL_SYLLABLE_KO: nVal = 24; break;// ganada
+ case style::NumberingType::HANGUL_JAMO_KO: nVal = 25; break;// chosung
+ case style::NumberingType::HANGUL_CIRCLED_SYLLABLE_KO: nVal = 24; break;
+ case style::NumberingType::HANGUL_CIRCLED_JAMO_KO: nVal = 25; break;
+ case style::NumberingType::NUMBER_HANGUL_KO: nVal = 41; break;
+ case style::NumberingType::NUMBER_UPPER_KO: nVal = 44; break;
case SVX_NUM_BITMAP:
case SVX_NUM_CHAR_SPECIAL: nVal = 23; break;
+ case SVX_NUM_NUMBER_NONE:
+ nVal = 255;
+ break;
}
m_rExport.Strm() << OOO_STRING_SVTOOLS_RTF_LEVELNFC;
m_rExport.OutULong( nVal );
Modified: openoffice/trunk/main/sw/source/filter/ww8/wrtw8num.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/filter/ww8/wrtw8num.cxx?rev=1642310&r1=1642309&r2=1642310&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/filter/ww8/wrtw8num.cxx (original)
+++ openoffice/trunk/main/sw/source/filter/ww8/wrtw8num.cxx Fri Nov 28 15:27:41 2014
@@ -45,6 +45,7 @@
#include "writerwordglue.hxx"
#include "wrtww8.hxx"
#include "ww8par.hxx"
+#include <editeng/langitem.hxx>
//#define DUMPSYMBOLS
#ifdef DUMPSYMBOLS
@@ -203,6 +204,52 @@ void MSWordExportBase::NumberingDefiniti
}
}
+static sal_uInt8 GetLevelNFC( sal_uInt16 eNumType, const SfxItemSet *pOutSet)
+{
+ sal_uInt8 nRet = 0;
+ switch( eNumType )
+ {
+ case SVX_NUM_CHARS_UPPER_LETTER:
+ case SVX_NUM_CHARS_UPPER_LETTER_N: nRet = 3; break;
+ case SVX_NUM_CHARS_LOWER_LETTER:
+ case SVX_NUM_CHARS_LOWER_LETTER_N: nRet = 4; break;
+ case SVX_NUM_ROMAN_UPPER: nRet = 1; break;
+ case SVX_NUM_ROMAN_LOWER: nRet = 2; break;
+
+ case SVX_NUM_BITMAP:
+ case SVX_NUM_CHAR_SPECIAL: nRet = 23; break;
+ case SVX_NUM_FULL_WIDTH_ARABIC: nRet = 14; break;
+ case SVX_NUM_CIRCLE_NUMBER: nRet = 18;break;
+ case SVX_NUM_NUMBER_LOWER_ZH:
+ nRet = 35;
+ if ( pOutSet ) {
+ const SvxLanguageItem rLang = (const SvxLanguageItem&) pOutSet->Get( RES_CHRATR_CJK_LANGUAGE,true);
+ const LanguageType eLang = rLang.GetLanguage();
+ if (LANGUAGE_CHINESE_SIMPLIFIED ==eLang) {
+ nRet = 39;
+ }
+ }
+ break;
+ case SVX_NUM_NUMBER_UPPER_ZH: nRet = 38; break;
+ case SVX_NUM_NUMBER_UPPER_ZH_TW: nRet = 34;break;
+ case SVX_NUM_TIAN_GAN_ZH: nRet = 30; break;
+ case SVX_NUM_DI_ZI_ZH: nRet = 31; break;
+ case SVX_NUM_NUMBER_TRADITIONAL_JA: nRet = 16; break;
+ case SVX_NUM_AIU_FULLWIDTH_JA: nRet = 20; break;
+ case SVX_NUM_AIU_HALFWIDTH_JA: nRet = 12; break;
+ case SVX_NUM_IROHA_FULLWIDTH_JA: nRet = 21; break;
+ case SVX_NUM_IROHA_HALFWIDTH_JA: nRet = 13; break;
+ case style::NumberingType::HANGUL_SYLLABLE_KO: nRet = 24; break;// ganada
+ case style::NumberingType::HANGUL_JAMO_KO: nRet = 25; break;// chosung
+ case style::NumberingType::HANGUL_CIRCLED_SYLLABLE_KO: nRet = 24; break;
+ case style::NumberingType::HANGUL_CIRCLED_JAMO_KO: nRet = 25; break;
+ case style::NumberingType::NUMBER_HANGUL_KO: nRet = 41; break;
+ case style::NumberingType::NUMBER_UPPER_KO: nRet = 44; break;
+ case SVX_NUM_NUMBER_NONE: nRet = 0xff; break;
+ }
+ return nRet;
+}
+
void WW8AttributeOutput::NumberingLevel( sal_uInt8 /*nLevel*/,
sal_uInt16 nStart,
sal_uInt16 nNumberingType,
@@ -222,7 +269,7 @@ void WW8AttributeOutput::NumberingLevel(
SwWW8Writer::WriteLong( *m_rWW8Export.pTableStrm, nStart );
// Type
- *m_rWW8Export.pTableStrm << WW8Export::GetNumId( nNumberingType );
+ *m_rWW8Export.pTableStrm << GetLevelNFC( nNumberingType ,pOutSet);
// Justification
sal_uInt8 nAlign;
@@ -811,7 +858,11 @@ void WW8Export::BuildAnlvBase(WW8_ANLV&
sal_uInt16& rCharLen, const SwNumRule& rRul, const SwNumFmt& rFmt,
sal_uInt8 nSwLevel)
{
- ByteToSVBT8(WW8Export::GetNumId(rFmt.GetNumberingType()), rAnlv.nfc);
+ const SfxItemSet *pOutSet = NULL;
+ if (rFmt.GetCharFmt())
+ pOutSet = &rFmt.GetCharFmt()->GetAttrSet();
+
+ ByteToSVBT8(GetLevelNFC(rFmt.GetNumberingType(),pOutSet ), rAnlv.nfc);
sal_uInt8 nb = 0;
switch (rFmt.GetNumAdjust())
Modified: openoffice/trunk/main/sw/source/filter/ww8/ww8par2.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/filter/ww8/ww8par2.cxx?rev=1642310&r1=1642309&r2=1642310&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/filter/ww8/ww8par2.cxx (original)
+++ openoffice/trunk/main/sw/source/filter/ww8/ww8par2.cxx Fri Nov 28 15:27:41 2014
@@ -648,11 +648,40 @@ static void SetBaseAnlv(
static SvxAdjust eAdjA[4] =
{ SVX_ADJUST_LEFT, SVX_ADJUST_RIGHT, SVX_ADJUST_LEFT, SVX_ADJUST_LEFT };
+
+ if (SVBT8ToByte( rAV.nfc ) < 8) {
+ rNum.SetNumberingType(static_cast< sal_Int16 >(eNumA[SVBT8ToByte( rAV.nfc ) ]));
+ } else {
+ sal_Int16 nType = style::NumberingType::ARABIC; // Fallback to ARABIC instead of NONE
+ switch(SVBT8ToByte( rAV.nfc ))
+ {
+ case 14:
+ case 19:nType = style::NumberingType::FULLWIDTH_ARABIC ; break;
+ case 30:nType = style::NumberingType::TIAN_GAN_ZH ; break;
+ case 31:nType = style::NumberingType::DI_ZI_ZH ; break;
+ case 35:
+ case 36:
+ case 37:
+ case 39:
+ nType = style::NumberingType::NUMBER_LOWER_ZH ; break;
+ case 34:nType = style::NumberingType::NUMBER_UPPER_ZH_TW ; break;
+ case 38:nType = style::NumberingType::NUMBER_UPPER_ZH ; break;
+ case 10:
+ case 11:
+ nType = style::NumberingType::NUMBER_TRADITIONAL_JA ; break;
+ case 20: nType = style::NumberingType::AIU_FULLWIDTH_JA ; break;
+ case 12: nType = style::NumberingType::AIU_HALFWIDTH_JA ; break;
+ case 21: nType = style::NumberingType::IROHA_FULLWIDTH_JA ; break;
+ case 13: nType = style::NumberingType::IROHA_HALFWIDTH_JA ; break;
+ case 24: nType = style::NumberingType::HANGUL_SYLLABLE_KO;break;
+ case 25: nType = style::NumberingType::HANGUL_JAMO_KO;break;
+ case 41: nType = style::NumberingType::NUMBER_HANGUL_KO; break;
+ case 44: nType = style::NumberingType::NUMBER_UPPER_KO; break;
+ default: nType = style::NumberingType::ARABIC; break;
+ }
- rNum.SetNumberingType(
- static_cast< sal_Int16 >(( SVBT8ToByte( rAV.nfc ) < 8 )
- ? eNumA[SVBT8ToByte( rAV.nfc ) ]
- : SVX_NUM_NUMBER_NONE) );
+ rNum.SetNumberingType( nType ) ;
+ }
if ((SVBT8ToByte(rAV.aBits1 ) & 0x4) >> 2)
{
Modified: openoffice/trunk/main/sw/source/filter/ww8/ww8par3.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/filter/ww8/ww8par3.cxx?rev=1642310&r1=1642309&r2=1642310&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/filter/ww8/ww8par3.cxx (original)
+++ openoffice/trunk/main/sw/source/filter/ww8/ww8par3.cxx Fri Nov 28 15:27:41 2014
@@ -541,7 +541,7 @@ bool WW8ListManager::ReadLVL(
{
sal_uInt8 aBits1;
sal_uInt16 nStartNo = 0; // Start-Nr. fuer den Writer
- SvxExtNumType eType; // Writer-Num-Typ
+ sal_Int16 nType(style::NumberingType::ARABIC);
SvxAdjust eAdj; // Ausrichtung (Links/rechts/zent.)
sal_Unicode cBullet(0x2190); // default safe bullet
@@ -749,55 +749,76 @@ bool WW8ListManager::ReadLVL(
// 4. den Nummerierungsstring einlesen: ergibt Prefix und Postfix
//
String sNumString(WW8Read_xstz(rSt, 0, false));
-
//
// 5. gelesene Werte in Writer Syntax umwandeln
//
if( 0 <= aLVL.nStartAt )
nStartNo = (sal_uInt16)aLVL.nStartAt;
-
switch( aLVL.nNFC )
{
case 0:
- eType = SVX_NUM_ARABIC;
+ nType = style::NumberingType::ARABIC;
break;
case 1:
- eType = SVX_NUM_ROMAN_UPPER;
+ nType = style::NumberingType::ROMAN_UPPER;
break;
case 2:
- eType = SVX_NUM_ROMAN_LOWER;
+ nType = style::NumberingType::ROMAN_LOWER;
break;
case 3:
- eType = SVX_NUM_CHARS_UPPER_LETTER_N;
+ nType = style::NumberingType::CHARS_UPPER_LETTER_N;
break;
case 4:
- eType = SVX_NUM_CHARS_LOWER_LETTER_N;
+ nType = style::NumberingType::CHARS_LOWER_LETTER_N;
break;
case 5:
// eigentlich: ORDINAL
- eType = SVX_NUM_ARABIC;
+ nType = style::NumberingType::ARABIC;
break;
case 23:
- case 25: //#114412#
- eType = SVX_NUM_CHAR_SPECIAL;
+ nType = style::NumberingType::CHAR_SPECIAL;
//For i120928,type info
if (bIsPicBullet)
{
- eType = SVX_NUM_BITMAP;
+ nType = style::NumberingType::BITMAP;
}
break;
case 255:
- eType = SVX_NUM_NUMBER_NONE;
+ nType = style::NumberingType::NUMBER_NONE;
break;
- default:
+ case 18: nType = style::NumberingType::CIRCLE_NUMBER ; break;
+ case 14:
+ case 19: nType = style::NumberingType::FULLWIDTH_ARABIC ; break;
+ case 30: nType = style::NumberingType::TIAN_GAN_ZH ; break;
+ case 31: nType = style::NumberingType::DI_ZI_ZH ; break;
+ case 35:
+ case 36:
+ case 37:
+ case 39:
+ nType = style::NumberingType::NUMBER_LOWER_ZH ; break;
+ case 34: nType = style::NumberingType::NUMBER_UPPER_ZH_TW ; break;
+ case 38: nType = style::NumberingType::NUMBER_UPPER_ZH ; break;
+ case 10:
+ case 11:
+ nType = style::NumberingType::NUMBER_TRADITIONAL_JA ; break;
+ case 20: nType = style::NumberingType::AIU_FULLWIDTH_JA ; break;
+ case 12: nType = style::NumberingType::AIU_HALFWIDTH_JA ; break;
+ case 21: nType = style::NumberingType::IROHA_FULLWIDTH_JA ; break;
+ case 13: nType = style::NumberingType::IROHA_HALFWIDTH_JA ; break;
+ case 24: nType = style::NumberingType::HANGUL_SYLLABLE_KO; break;
+ case 25: nType = style::NumberingType::HANGUL_JAMO_KO; break;
+ case 41: nType = style::NumberingType::NUMBER_HANGUL_KO; break;
+ case 44: nType = style::NumberingType::NUMBER_UPPER_KO; break;
+
+ default:
// take default
- eType = SVX_NUM_ARABIC;
- break;
+ nType = style::NumberingType::ARABIC;
+ break;
}
//If a number level is not going to be used, then record this fact
- if (SVX_NUM_NUMBER_NONE == eType)
+ if (style::NumberingType::NUMBER_NONE == nType)
rNotReallyThere[nLevel] = true;
/*
@@ -853,13 +874,13 @@ bool WW8ListManager::ReadLVL(
if (!nUpperLevel)
nUpperLevel = nMaxLevel;
- if (SVX_NUM_CHAR_SPECIAL == eType)
+ if (style::NumberingType::CHAR_SPECIAL == nType)
{
cBullet = sNumString.Len() ? sNumString.GetChar(0) : 0x2190;
if (!cBullet) // unsave control code?
cBullet = 0x2190;
- } else if (SVX_NUM_BITMAP == eType) //For i120928,position index info of graphic
+ } else if (style::NumberingType::BITMAP == nType) //For i120928,position index info of graphic
{
cGrfBulletCP = nWitchPicIsBullet; // This is a bullet picture ID
} else
@@ -922,10 +943,10 @@ bool WW8ListManager::ReadLVL(
// 6. entsprechendes NumFmt konfigurieren
if( bSetStartNo )
rNumFmt.SetStart( nStartNo );
- rNumFmt.SetNumberingType( static_cast< sal_Int16 >(eType) );
+ rNumFmt.SetNumberingType( nType );
rNumFmt.SetNumAdjust( eAdj );
- if( SVX_NUM_CHAR_SPECIAL == eType )
+ if( style::NumberingType::CHAR_SPECIAL == nType )
{
// first character of the Prefix-Text is the Bullet
rNumFmt.SetBulletChar(cBullet);
@@ -933,7 +954,7 @@ bool WW8ListManager::ReadLVL(
// SetBulletFont() rufen !!!
}
//For i120928,position index info
- else if (SVX_NUM_BITMAP == eType)
+ else if (style::NumberingType::BITMAP == nType)
{
rNumFmt.SetGrfBulletCP(cGrfBulletCP);
}
Modified: openoffice/trunk/main/writerfilter/source/dmapper/ConversionHelper.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/writerfilter/source/dmapper/ConversionHelper.cxx?rev=1642310&r1=1642309&r2=1642310&view=diff
==============================================================================
--- openoffice/trunk/main/writerfilter/source/dmapper/ConversionHelper.cxx (original)
+++ openoffice/trunk/main/writerfilter/source/dmapper/ConversionHelper.cxx Fri Nov 28 15:27:41 2014
@@ -561,6 +561,7 @@ sal_Int16 ConvertNumberingType(sal_Int32
case 2:
nRet = style::NumberingType::ROMAN_LOWER;
break;
+ case NS_ooxml::LN_Value_ST_NumberFormat_ordinal:
case 3:
nRet = style::NumberingType::CHARS_UPPER_LETTER_N;
break;
@@ -580,10 +581,10 @@ sal_Int16 ConvertNumberingType(sal_Int32
nRet = style::NumberingType::NUMBER_NONE;
break;
case NS_ooxml::LN_Value_ST_NumberFormat_upperLetter:
- nRet = style::NumberingType::CHARS_UPPER_LETTER;
+ nRet = style::NumberingType::CHARS_UPPER_LETTER_N;
break;
case NS_ooxml::LN_Value_ST_NumberFormat_lowerLetter:
- nRet = style::NumberingType::CHARS_LOWER_LETTER;
+ nRet = style::NumberingType::CHARS_LOWER_LETTER_N;
break;
case NS_ooxml::LN_Value_ST_NumberFormat_iroha:
nRet = style::NumberingType::IROHA_HALFWIDTH_JA;
@@ -625,9 +626,9 @@ sal_Int16 ConvertNumberingType(sal_Int32
case NS_ooxml::LN_Value_ST_NumberFormat_chosung:
nRet = style::NumberingType::HANGUL_JAMO_KO;
break;
+ case NS_ooxml::LN_Value_ST_NumberFormat_koreanLegal:
case NS_ooxml::LN_Value_ST_NumberFormat_koreanDigital:
case NS_ooxml::LN_Value_ST_NumberFormat_koreanCounting:
- case NS_ooxml::LN_Value_ST_NumberFormat_koreanDigital2:
nRet = style::NumberingType::NUMBER_HANGUL_KO;
break;
case NS_ooxml::LN_Value_ST_NumberFormat_ideographLegalTraditional:
@@ -645,13 +646,19 @@ sal_Int16 ConvertNumberingType(sal_Int32
case NS_ooxml::LN_Value_ST_NumberFormat_chineseCounting:
case NS_ooxml::LN_Value_ST_NumberFormat_japaneseCounting:
case NS_ooxml::LN_Value_ST_NumberFormat_taiwaneseCounting:
+ case NS_ooxml::LN_Value_ST_NumberFormat_taiwaneseCountingThousand:
case NS_ooxml::LN_Value_ST_NumberFormat_ideographDigital:
case NS_ooxml::LN_Value_ST_NumberFormat_chineseCountingThousand:
+ case NS_ooxml::LN_Value_ST_NumberFormat_koreanDigital2:
nRet = style::NumberingType::NUMBER_LOWER_ZH;
break;
case NS_ooxml::LN_Value_ST_NumberFormat_chineseLegalSimplified:
nRet = style::NumberingType::NUMBER_UPPER_ZH;
break;
+ case NS_ooxml::LN_Value_ST_NumberFormat_decimalFullWidth:
+ case NS_ooxml::LN_Value_ST_NumberFormat_decimalFullWidth2:
+ nRet = style::NumberingType::FULLWIDTH_ARABIC;
+ break;
default: nRet = style::NumberingType::ARABIC;
}
/* TODO: Lots of additional values are available - some are supported in the I18 framework