Index: source/filter/inc/xistyle.hxx =================================================================== RCS file: /cvs/sc/sc/source/filter/inc/xistyle.hxx,v retrieving revision 1.1.4.2.22.5 diff -u -r1.1.4.2.22.5 xistyle.hxx --- source/filter/inc/xistyle.hxx 17 Apr 2003 07:40:45 -0000 1.1.4.2.22.5 +++ source/filter/inc/xistyle.hxx 24 Apr 2003 16:09:45 -0000 @@ -263,6 +263,9 @@ /** Inserts a format key exactly at the given position. @descr The list will be extended, if it is too short, using the standard format key. */ void InsertKey( sal_uInt32 nIndex, sal_uInt32 nFormatKey ); + + /** determine if this number format is an international built-in index */ + bool IsBuiltInInternational(sal_uInt32 mnIndex); }; Index: source/filter/excel/xltools.cxx =================================================================== RCS file: /cvs/sc/sc/source/filter/excel/xltools.cxx,v retrieving revision 1.2.4.2.22.1 diff -u -r1.2.4.2.22.1 xltools.cxx --- source/filter/excel/xltools.cxx 10 Apr 2003 12:46:22 -0000 1.2.4.2.22.1 +++ source/filter/excel/xltools.cxx 24 Apr 2003 16:10:03 -0000 @@ -567,11 +567,12 @@ { 64, LANGUAGE_ENGLISH_NZ }, { 81, LANGUAGE_JAPANESE }, { 82, LANGUAGE_KOREAN }, + { 86, LANGUAGE_CHINESE_SIMPLIFIED }, { 351, LANGUAGE_PORTUGUESE }, { 354, LANGUAGE_ICELANDIC }, { 358, LANGUAGE_SWEDISH_FINLAND }, { 785, LANGUAGE_ARABIC_SAUDI_ARABIA }, - { 886, LANGUAGE_CHINESE }, + { 886, LANGUAGE_CHINESE_TRADITIONAL }, { 972, LANGUAGE_HEBREW } }; Index: source/filter/excel/xistyle.cxx =================================================================== RCS file: /cvs/sc/sc/source/filter/excel/xistyle.cxx,v retrieving revision 1.2.4.3.22.6 diff -u -r1.2.4.3.22.6 xistyle.cxx --- source/filter/excel/xistyle.cxx 17 Apr 2003 07:40:44 -0000 1.2.4.3.22.6 +++ source/filter/excel/xistyle.cxx 24 Apr 2003 16:10:17 -0000 @@ -533,9 +533,25 @@ { 21, NF_TIME_HHMMSS }, // hh:mm:ss { 22, NF_DATETIME_SYSTEM_SHORT_HHMM }, // DD.MM.YYYY hh:mm // 23...36 international formats - { 30, NF_NUMBER_STANDARD, "[$-0411]D/M/YY", LANGUAGE_JAPANESE }, // ??? - { 31, NF_NUMBER_STANDARD, "[$-0411]YYYY年M月D日", LANGUAGE_JAPANESE }, - { 33, NF_NUMBER_STANDARD, "[$-0411]hh時mm分ss秒", LANGUAGE_JAPANESE }, + { 30, NF_NUMBER_STANDARD, "[$-0411]M/D/YY", LANGUAGE_JAPANESE }, + { 30, NF_NUMBER_STANDARD, "[$-0412]M-D-YY", LANGUAGE_KOREAN }, + { 30, NF_NUMBER_STANDARD, "[$-0404]M/D/YY", LANGUAGE_CHINESE_TRADITIONAL }, + { 30, NF_NUMBER_STANDARD, "[$-0804]M/D/YY", LANGUAGE_CHINESE_SIMPLIFIED }, + + { 31, NF_NUMBER_STANDARD, "[$-0411]YYYY年M月D日", LANGUAGE_JAPANESE }, + { 31, NF_NUMBER_STANDARD, "[$-0412]YYYY년 M월 D일", LANGUAGE_KOREAN }, + { 31, NF_NUMBER_STANDARD, "[$-0404]YYYY年M月D日", LANGUAGE_CHINESE_TRADITIONAL }, + { 31, NF_NUMBER_STANDARD, "[$-0804]YYYY年M月D日", LANGUAGE_CHINESE_SIMPLIFIED }, + + { 32, NF_NUMBER_STANDARD, "[$-0411]HH時MM分", LANGUAGE_JAPANESE }, + { 32, NF_NUMBER_STANDARD, "[$-0412]H시 MM분", LANGUAGE_KOREAN }, + { 32, NF_NUMBER_STANDARD, "[$-0404]HH時MM分", LANGUAGE_CHINESE_TRADITIONAL }, + { 32, NF_NUMBER_STANDARD, "[$-0804]HH时MM分" , LANGUAGE_CHINESE_SIMPLIFIED }, + + { 33, NF_NUMBER_STANDARD, "[$-0411]HH時MM分SS秒", LANGUAGE_JAPANESE }, + { 33, NF_NUMBER_STANDARD, "[$-0412]H시 MM분 SS초", LANGUAGE_KOREAN }, + { 33, NF_NUMBER_STANDARD, "[$-0404]HH時MM分SS秒", LANGUAGE_CHINESE_TRADITIONAL }, + { 33, NF_NUMBER_STANDARD, "[$-0804]HH时MM分SS秒", LANGUAGE_CHINESE_SIMPLIFIED }, // --- { 37, NF_NUMBER_STANDARD, "#,##0 _$;-#,##0 _$", }, { 38, NF_NUMBER_STANDARD, "#,##0 _$;[RED]-#,##0 _$" }, @@ -548,9 +564,25 @@ { 48, NF_NUMBER_STANDARD, "##0.0E+0" }, { 49, NF_TEXT }, // @ // 50...??? international formats - { 56, NF_NUMBER_STANDARD, "[$-0411]M月D日", LANGUAGE_JAPANESE }, - { 57, NF_NUMBER_STANDARD, "[$-030411]GE.M.D", LANGUAGE_JAPANESE }, - { 58, NF_NUMBER_STANDARD, "[$-030411]GGGE年M月D日",LANGUAGE_JAPANESE } + { 55, NF_NUMBER_STANDARD, "[$-0411]YYYY年M月", LANGUAGE_JAPANESE }, + { 55, NF_NUMBER_STANDARD, "[$-0412]YYYY-M-D", LANGUAGE_KOREAN }, + { 55, NF_NUMBER_STANDARD, "[$-0404]AM/PM HH時MM分", LANGUAGE_CHINESE_TRADITIONAL }, + { 55, NF_NUMBER_STANDARD, "[$-0804]AM/PM HH时MM分", LANGUAGE_CHINESE_SIMPLIFIED }, + + { 56, NF_NUMBER_STANDARD, "[$-0411]M月D日", LANGUAGE_JAPANESE }, + // unable to locate Korean + { 56, NF_NUMBER_STANDARD, "[$-0404]AM/PM HH時MM分SS秒", LANGUAGE_CHINESE_TRADITIONAL }, + { 56, NF_NUMBER_STANDARD, "[$-0804]AM/PM HH时MM分SS秒", LANGUAGE_CHINESE_SIMPLIFIED }, + + { 57, NF_NUMBER_STANDARD, "[$-030411]GE.M.D", LANGUAGE_JAPANESE }, + { 57, NF_NUMBER_STANDARD, "[$-0412]YYYY年 M月 D日", LANGUAGE_KOREAN }, + { 57, NF_NUMBER_STANDARD, "[$-0404]YYYY/M/D", LANGUAGE_CHINESE_TRADITIONAL }, + { 57, NF_NUMBER_STANDARD, "[$-0804]YYYY年M日", LANGUAGE_CHINESE_SIMPLIFIED }, + + { 58, NF_NUMBER_STANDARD, "[$-030411]GGGE年M月D日", LANGUAGE_JAPANESE }, + { 58, NF_NUMBER_STANDARD, "[$-0412]M-D", LANGUAGE_KOREAN }, + { 58, NF_NUMBER_STANDARD, "[$-0404]YYYY年M月D日", LANGUAGE_CHINESE_TRADITIONAL }, + { 58, NF_NUMBER_STANDARD, "[$-0804]M月D日", LANGUAGE_CHINESE_SIMPLIFIED } }; @@ -632,12 +664,18 @@ { if( pCurr->mpFormat ) { - aFormat = String( pCurr->mpFormat, RTL_TEXTENCODING_UTF8 ); + if(IsBuiltInInternational(pCurr->mnIndex)) + { + if(pCurr->eLanguage != GetLanguage()) + continue; + } + aFormat = (String( pCurr->mpFormat, RTL_TEXTENCODING_UTF8 )); + GetFormatter().PutandConvertEntry( aFormat, nCheckPos, nType, nKey, - LANGUAGE_ENGLISH_US, pCurr->eLanguage ); + LANGUAGE_ENGLISH_US, GetLanguage() ); } else - nKey = GetFormatter().GetFormatIndex( pCurr->meOffset, pCurr->eLanguage ); + nKey = GetFormatter().GetFormatIndex( pCurr->meOffset, GetLanguage()); InsertKey( pCurr->mnIndex, nKey ); } } @@ -648,8 +686,10 @@ maKeyVec.resize( nIndex + 1, mnStdFmt ); maKeyVec[ nIndex ] = nFormatKey; } - - +bool XclImpNumFmtBuffer::IsBuiltInInternational(sal_uInt32 mnIndex) +{ + return((mnIndex >= 30 && mnIndex <= 33) || (mnIndex >= 55 && mnIndex <= 58)); +} // XF, STYLE record - Cell formatting ========================================= void XclImpCellProt::FillFromXF2( sal_uInt8 nNumFmt )