Kaydet (Commit) c2d1ab73 authored tarafından Noel Power's avatar Noel Power

tentative fix for fdo#30474#

üst f7f6a9ec
......@@ -269,6 +269,44 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm)
case NS_ooxml::LN_CT_TblPrBase_tblLook:
/* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */
break; //todo: table look specifier
case NS_ooxml::LN_CT_TcPrBase_textDirection:
{
TablePropertyMapPtr pPropMap( new TablePropertyMap );
const sal_Int16 HORI_LEFT_TOP = 0;
/*const sal_Int16 HORI_RIGHT_TOP = 1;*/ // currently not used below
const sal_Int16 VERT_TOP_RIGHT = 2;
bool bInsertCellProps = true;
switch ( nIntValue )
{
case 1: // tbRl
// Binary filter takes BiDirection into account ( but I have no idea about that here )
// or even what it is. But... here's where to handle it if it becomes an issue
pPropMap->Insert( PROP_FRM_DIRECTION, false, uno::makeAny( VERT_TOP_RIGHT ));
OSL_TRACE("Have inserted textDirection %d", nIntValue );
break;
case 3: // btLr
// We have to fake this text direction
pPropMap->Insert( PROP_FRM_DIRECTION, false, uno::makeAny( HORI_LEFT_TOP ));
pPropMap->Insert( PROP_CHAR_ROTATION, false, uno::makeAny( sal_Int16( 900 ) ));
OSL_TRACE("Have inserted textDirection %d", nIntValue );
break;
case 4: // lrTbV
pPropMap->Insert( PROP_FRM_DIRECTION, false, uno::makeAny( HORI_LEFT_TOP ));
break;
case 5: // tbRlV
pPropMap->Insert( PROP_FRM_DIRECTION, false, uno::makeAny( VERT_TOP_RIGHT ));
break;
case 0: // lrTb
case NS_ooxml::LN_Value_ST_TextDirection_tbLrV:
default:
// Ignore - we can't handle these
bInsertCellProps = false;
break;
}
if ( bInsertCellProps )
cellProps( pPropMap );
break;
}
case NS_ooxml::LN_CT_TcPrBase_tcW:
/* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */
break; //fixed column width is not supported
......
......@@ -324,6 +324,7 @@ const rtl::OUString& PropertyNameSupplier::GetName( PropertyIds eId ) const
case PROP_PARA_SPLIT: sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaSplit")); break;
case PROP_HELP: sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Help")); break;
case PROP_HEADING_STYLE_NAME: sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeadingStyleName")); break;
case PROP_FRM_DIRECTION: sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FRMDirection")); break;
// case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break;
// case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break;
// case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break;
......
......@@ -287,6 +287,7 @@ enum PropertyIds
/*250*/ ,PROP_HEADING_STYLE_NAME
/*251*/ ,PROP_PARA_SPLIT
/*252*/ ,PROP_HELP
/*253*/ ,PROP_FRM_DIRECTION
};
struct PropertyNameSupplier_Impl;
class PropertyNameSupplier
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment