View | Details | Raw Unified | Return to issue 92341
Collapse All | Expand All

(-)a/sw/source/filter/ww8/ww8par2.cxx (-15 / +4 lines)
Lines 3920-3947 WW8RStyle::WW8RStyle(WW8Fib& _rFib, SwWW8ImplReader* pI) Link Here
3920
3920
3921
void WW8RStyle::Set1StyleDefaults()
3921
void WW8RStyle::Set1StyleDefaults()
3922
{
3922
{
3923
    // see #i25247#, #i25561#, #i48064#, #i92341# for default font
3923
    if (!bCJKFontChanged)   // Style no CJK Font? set the default
3924
    if (!bCJKFontChanged)   // Style no CJK Font? set the default
3924
        pIo->SetNewFontAttr(ftcStandardChpCJKStsh, true, RES_CHRATR_CJK_FONT);
3925
        pIo->SetNewFontAttr(ftcFE, true, RES_CHRATR_CJK_FONT);
3925
3926
    // see i25247
3927
    const WW8_FFN* pF = pIo->pFonts->GetFont(3);
3928
    if (pF)
3929
    {
3930
        rtl_TextEncoding eEnc = WW8Fib::GetFIBCharset(pF->chs);
3931
        if ((ftcStandardChpCTLStsh == 0) && (eEnc == RTL_TEXTENCODING_MS_1255))
3932
            ftcStandardChpCTLStsh = 3;
3933
    }
3934
3935
    if (ftcStandardChpCJKStsh == 0)
3936
        ftcStandardChpCJKStsh = 2;
3937
3926
3938
    if (!bCTLFontChanged)   // Style no CTL Font? set the default
3927
    if (!bCTLFontChanged)   // Style no CTL Font? set the default
3939
        pIo->SetNewFontAttr(ftcStandardChpCTLStsh, true, RES_CHRATR_CTL_FONT);
3928
        pIo->SetNewFontAttr(ftcBi, true, RES_CHRATR_CTL_FONT);
3940
3929
3941
    //#88976# western 2nd to make western charset conversion the default
3930
    //#88976# western 2nd to make western charset conversion the default
3942
    if (!bFontChanged)      // Style has no Font? set the default,
3931
    if (!bFontChanged)      // Style has no Font? set the default,
3943
    {
3932
    {
3944
        pIo->SetNewFontAttr(ftcStandardChpStsh, true, RES_CHRATR_FONT);
3933
        pIo->SetNewFontAttr(ftcAsci, true, RES_CHRATR_FONT);
3945
        /* removed by a patch from cmc for #i52786#
3934
        /* removed by a patch from cmc for #i52786#
3946
        if (pIo->bVer67)
3935
        if (pIo->bVer67)
3947
            SetStyleCharSet(pIo->pCollA[pIo->nAktColl]);
3936
            SetStyleCharSet(pIo->pCollA[pIo->nAktColl]);
(-)a/sw/source/filter/ww8/ww8par6.cxx (-6 / +6 lines)
Lines 3690-3707 void SwWW8ImplReader::Read_FontCode( USHORT nId, const BYTE* pData, short nLen ) Link Here
3690
    {                       // (siehe sprmCSymbol) gesetzte Font !
3690
    {                       // (siehe sprmCSymbol) gesetzte Font !
3691
        switch( nId )
3691
        switch( nId )
3692
        {
3692
        {
3693
    //      case 0x4a51:    //font to bias towards all else being equal ?
3694
            case 113:
3693
            case 113:
3695
            case 0x4a5E:
3694
            case 0x4A51:    //"Other" font, override with BiDi if it exists
3695
            case 0x4A5E:    //BiDi Font
3696
                nId = RES_CHRATR_CTL_FONT;
3696
                nId = RES_CHRATR_CTL_FONT;
3697
                break;
3697
                break;
3698
            case 93:
3698
            case 93:
3699
            case 111:
3699
            case 111:
3700
            case 0x4a4f:
3700
            case 0x4A4f:
3701
                nId = RES_CHRATR_FONT;
3701
                nId = RES_CHRATR_FONT;
3702
                break;
3702
                break;
3703
            case 112:
3703
            case 112:
3704
            case 0x4a50:
3704
            case 0x4A50:
3705
                nId = RES_CHRATR_CJK_FONT;
3705
                nId = RES_CHRATR_CJK_FONT;
3706
                break;
3706
                break;
3707
            default:
3707
            default:
Lines 5914-5921 const wwSprmDispatcher *GetWW8SprmDispatcher() Link Here
5914
        {0x085B, 0},                                 //"sprmCFDiacColor"
5914
        {0x085B, 0},                                 //"sprmCFDiacColor"
5915
        {0x085C, &SwWW8ImplReader::Read_BoldBiDiUsw},//"sprmCFBoldBi"
5915
        {0x085C, &SwWW8ImplReader::Read_BoldBiDiUsw},//"sprmCFBoldBi"
5916
        {0x085D, &SwWW8ImplReader::Read_BoldBiDiUsw},//"sprmCFItalicBi"
5916
        {0x085D, &SwWW8ImplReader::Read_BoldBiDiUsw},//"sprmCFItalicBi"
5917
        {0x4A5E, &SwWW8ImplReader::Read_FontCode},
5917
        {0x4A5E, &SwWW8ImplReader::Read_FontCode},   //"sprmCFtcBi"
5918
        {0x485F, &SwWW8ImplReader::Read_Language},   // "sprmCLidBi"
5918
        {0x485F, &SwWW8ImplReader::Read_Language},   //"sprmCLidBi"
5919
      //0x4A60, ? ? ?,                               //"sprmCIcoBi",
5919
      //0x4A60, ? ? ?,                               //"sprmCIcoBi",
5920
        {0x4A61, &SwWW8ImplReader::Read_FontSize},   //"sprmCHpsBi"
5920
        {0x4A61, &SwWW8ImplReader::Read_FontSize},   //"sprmCHpsBi"
5921
        {0xCA62, 0},                                 //"sprmCDispFldRMark"
5921
        {0xCA62, 0},                                 //"sprmCDispFldRMark"
(-)a/sw/source/filter/ww8/ww8scan.cxx (-6 / +11 lines)
Lines 5995-6001 rtl_TextEncoding WW8Fib::GetFIBCharset(UINT16 chs) Link Here
5995
WW8Style::WW8Style(SvStream& rStream, WW8Fib& rFibPara)
5995
WW8Style::WW8Style(SvStream& rStream, WW8Fib& rFibPara)
5996
    : rFib(rFibPara), rSt(rStream), cstd(0), cbSTDBaseInFile(0),
5996
    : rFib(rFibPara), rSt(rStream), cstd(0), cbSTDBaseInFile(0),
5997
    stiMaxWhenSaved(0), istdMaxFixedWhenSaved(0), nVerBuiltInNamesWhenSaved(0),
5997
    stiMaxWhenSaved(0), istdMaxFixedWhenSaved(0), nVerBuiltInNamesWhenSaved(0),
5998
    ftcStandardChpStsh(0), ftcStandardChpCJKStsh(0), ftcStandardChpCTLStsh(0)
5998
    ftcAsci(0), ftcFE(0), ftcOther(0), ftcBi(0)
5999
{
5999
{
6000
    nStyleStart = rFib.fcStshf;
6000
    nStyleStart = rFib.fcStshf;
6001
    nStyleLen = rFib.lcbStshf;
6001
    nStyleLen = rFib.lcbStshf;
Lines 6040-6056 WW8Style::WW8Style(SvStream& rStream, WW8Fib& rFibPara) Link Here
6040
        rSt >> nVerBuiltInNamesWhenSaved;
6040
        rSt >> nVerBuiltInNamesWhenSaved;
6041
6041
6042
        if( 14 > nRead ) break;
6042
        if( 14 > nRead ) break;
6043
        rSt >> ftcStandardChpStsh;
6043
        rSt >> ftcAsci;
6044
6044
6045
        if( 16 > nRead ) break;
6045
        if( 16 > nRead ) break;
6046
        rSt >> ftcStandardChpCJKStsh;
6046
        rSt >> ftcFE;
6047
6047
6048
        if ( 18 > nRead ) break;
6048
        if ( 18 > nRead ) break;
6049
        rSt >> ftcStandardChpCTLStsh;
6049
        rSt >> ftcOther;
6050
6051
        ftcBi = ftcOther;
6052
6053
        if ( 20 > nRead ) break;
6054
        rSt >> ftcBi;
6050
6055
6051
        // ggfs. den Rest ueberlesen
6056
        // ggfs. den Rest ueberlesen
6052
        if( 18 < nRead )
6057
        if( 20 < nRead )
6053
            rSt.SeekRel( nRead-18 );
6058
            rSt.SeekRel( nRead-20 );
6054
    }
6059
    }
6055
    while( !this ); // Trick: obiger Block wird genau einmal durchlaufen
6060
    while( !this ); // Trick: obiger Block wird genau einmal durchlaufen
6056
                    //   und kann vorzeitig per "break" verlassen werden.
6061
                    //   und kann vorzeitig per "break" verlassen werden.
(-)a/sw/source/filter/ww8/ww8scan.hxx (-3 / +5 lines)
Lines 1464-1474 protected: Link Here
1464
    UINT16  istdMaxFixedWhenSaved;     // How many fixed-index istds are there?
1464
    UINT16  istdMaxFixedWhenSaved;     // How many fixed-index istds are there?
1465
    UINT16  nVerBuiltInNamesWhenSaved; // Current version of built-in stylenames
1465
    UINT16  nVerBuiltInNamesWhenSaved; // Current version of built-in stylenames
1466
    // ftc used by StandardChpStsh for this document
1466
    // ftc used by StandardChpStsh for this document
1467
    UINT16  ftcStandardChpStsh;     
1467
    UINT16  ftcAsci;
1468
    // CJK ftc used by StandardChpStsh for this document
1468
    // CJK ftc used by StandardChpStsh for this document
1469
    UINT16  ftcStandardChpCJKStsh;  
1469
    UINT16  ftcFE;
1470
    // CTL/Other ftc used by StandardChpStsh for this document
1471
    UINT16  ftcOther;
1470
    // CTL ftc used by StandardChpStsh for this document
1472
    // CTL ftc used by StandardChpStsh for this document
1471
    UINT16  ftcStandardChpCTLStsh;  
1473
    UINT16  ftcBi;
1472
1474
1473
    //No copying
1475
    //No copying
1474
    WW8Style(const WW8Style&);
1476
    WW8Style(const WW8Style&);

Return to issue 92341