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 2013/02/21 03:53:05 UTC

svn commit: r1448495 [2/6] - in /openoffice/branches/ia2: ./ ext_libraries/ratscan/scan/ extras/l10n/source/rw/ extras/l10n/source/te/ extras/l10n/source/uz/ main/ main/autodoc/source/display/html/ main/automation/packimages/ main/automation/prj/ main/...

Modified: openoffice/branches/ia2/main/connectivity/source/manager/mdrivermanager.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/connectivity/source/manager/mdrivermanager.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/connectivity/source/manager/mdrivermanager.cxx (original)
+++ openoffice/branches/ia2/main/connectivity/source/manager/mdrivermanager.cxx Thu Feb 21 02:52:59 2013
@@ -119,6 +119,9 @@ Any SAL_CALL ODriverEnumeration::nextEle
 	/// an STL functor which ensures that a SdbcDriver described by a DriverAccess is loaded
 	struct EnsureDriver : public ::std::unary_function< DriverAccess, DriverAccess >
 	{
+        EnsureDriver( const Reference< XComponentContext > &rxContext )
+            : mxContext( rxContext ) {}
+
 		const DriverAccess& operator()( const DriverAccess& _rDescriptor ) const
 		{
 			if ( !_rDescriptor.xDriver.is() )
@@ -126,9 +129,12 @@ Any SAL_CALL ODriverEnumeration::nextEle
 				if ( _rDescriptor.xComponentFactory.is() )
 					// we have a factory for it
 					const_cast< DriverAccess& >( _rDescriptor ).xDriver = _rDescriptor.xDriver.query(
-                        _rDescriptor.xComponentFactory->createInstanceWithContext( _rDescriptor.xUNOContext ) );
+                        _rDescriptor.xComponentFactory->createInstanceWithContext( mxContext ) );
 			return _rDescriptor;
 		}
+
+    private:
+        Reference< XComponentContext > mxContext;
 	};
 
 	//---------------------------------------------------------------------
@@ -150,7 +156,8 @@ Any SAL_CALL ODriverEnumeration::nextEle
 	/// an STL functor which loads a driver described by a DriverAccess, and extracts the SdbcDriver
 	struct ExtractAfterLoad : public ExtractAfterLoad_BASE
 	{
-		ExtractAfterLoad() : ExtractAfterLoad_BASE( ExtractDriverFromAccess(), EnsureDriver() ) { }
+        ExtractAfterLoad( const Reference< XComponentContext > &rxContext )
+            : ExtractAfterLoad_BASE( ExtractDriverFromAccess(), EnsureDriver( rxContext ) ) {}
 	};
 
 	//---------------------------------------------------------------------
@@ -338,7 +345,6 @@ void OSDBCDriverManager::bootstrapDriver
 				{	// yes -> no need to load the driver immediately (load it later when needed)
 					aDriverDescriptor.sImplementationName = xSI->getImplementationName();
 					aDriverDescriptor.xComponentFactory = xFactory;
-                    aDriverDescriptor.xUNOContext = m_aContext.getUNOContext();
 					bValidDescriptor = sal_True;
 
                     m_aEventLogger.log( LogLevel::CONFIG,
@@ -523,7 +529,7 @@ Reference< XEnumeration > SAL_CALL OSDBC
 	ODriverEnumeration::DriverArray aDrivers;
 
 	// ensure that all our bootstrapped drivers are insatntiated
-	::std::for_each( m_aDriversBS.begin(), m_aDriversBS.end(), EnsureDriver() );
+	::std::for_each( m_aDriversBS.begin(), m_aDriversBS.end(), EnsureDriver( m_aContext.getUNOContext() ) );
 
 	// copy the bootstrapped drivers
 	::std::transform(
@@ -704,13 +710,13 @@ Reference< XDriver > OSDBCDriverManager:
 		    aFind = ::std::find_if(
 			    m_aDriversBS.begin(),		// begin of search range
 			    m_aDriversBS.end(),			// end of search range
-			    std::unary_compose< AcceptsURL, ExtractAfterLoad >( AcceptsURL( _rURL ), ExtractAfterLoad() )
+			    std::unary_compose< AcceptsURL, ExtractAfterLoad >( AcceptsURL( _rURL ), ExtractAfterLoad( m_aContext.getUNOContext() ) )
 										    // compose two functors: extract the driver from the access, then ask the resulting driver for acceptance
 		    );
         } // if ( m_aDriversBS.find(sDriverFactoryName ) == m_aDriversBS.end() )
         else
         {
-            EnsureDriver aEnsure;
+            EnsureDriver aEnsure( m_aContext.getUNOContext() );
             aEnsure(*aFind);
         }
 

Modified: openoffice/branches/ia2/main/connectivity/source/manager/mdrivermanager.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/connectivity/source/manager/mdrivermanager.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/connectivity/source/manager/mdrivermanager.hxx (original)
+++ openoffice/branches/ia2/main/connectivity/source/manager/mdrivermanager.hxx Thu Feb 21 02:52:59 2013
@@ -50,12 +50,10 @@ namespace drivermanager
 	DECLARE_STL_USTRINGACCESS_MAP( SdbcDriver, DriverCollection );
 
 	typedef ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory >		DriverFactory;
-    typedef ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >            UNOContext;
 	struct DriverAccess
 	{
 		::rtl::OUString		sImplementationName;		/// the implementation name of the driver
 		DriverFactory		xComponentFactory;			/// the factory to create the driver component (if not already done so)
-		UNOContext          xUNOContext;                /// ensure UNO context propagation
 		SdbcDriver			xDriver;					/// the driver itself
 	};
 

Modified: openoffice/branches/ia2/main/cppu/inc/com/sun/star/uno/Reference.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/cppu/inc/com/sun/star/uno/Reference.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/cppu/inc/com/sun/star/uno/Reference.hxx (original)
+++ openoffice/branches/ia2/main/cppu/inc/com/sun/star/uno/Reference.hxx Thu Feb 21 02:52:59 2013
@@ -171,18 +171,21 @@ inline Reference< interface_type >::Refe
 template< class interface_type >
 inline Reference< interface_type >::Reference( const BaseReference & rRef, UnoReference_QueryThrow ) SAL_THROW( (RuntimeException) )
 {
+	_pInterface = NULL;
 	_pInterface = iquery_throw( rRef.get() );
 }
 //__________________________________________________________________________________________________
 template< class interface_type >
 inline Reference< interface_type >::Reference( XInterface * pInterface, UnoReference_QueryThrow ) SAL_THROW( (RuntimeException) )
 {
+	_pInterface = NULL;
 	_pInterface = iquery_throw( pInterface );
 }
 //__________________________________________________________________________________________________
 template< class interface_type >
 inline Reference< interface_type >::Reference( const Any & rAny, UnoReference_QueryThrow ) SAL_THROW( (RuntimeException) )
 {
+    _pInterface = NULL;
     _pInterface = iquery_throw( typelib_TypeClass_INTERFACE == rAny.pType->eTypeClass
                                 ? static_cast< XInterface * >( rAny.pReserved ) : 0 );
 }
@@ -190,12 +193,14 @@ inline Reference< interface_type >::Refe
 template< class interface_type >
 inline Reference< interface_type >::Reference( const Reference< interface_type > & rRef, UnoReference_SetThrow ) SAL_THROW( (RuntimeException) )
 {
+    _pInterface = NULL;
     _pInterface = iset_throw( rRef.get() );
 }
 //__________________________________________________________________________________________________
 template< class interface_type >
 inline Reference< interface_type >::Reference( interface_type * pInterface, UnoReference_SetThrow ) SAL_THROW( (RuntimeException) )
 {
+    _pInterface = NULL;
     _pInterface = iset_throw( pInterface );
 }
 #endif

Modified: openoffice/branches/ia2/main/cui/source/options/optcolor.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/cui/source/options/optcolor.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/cui/source/options/optcolor.cxx (original)
+++ openoffice/branches/ia2/main/cui/source/options/optcolor.cxx Thu Feb 21 02:52:59 2013
@@ -954,15 +954,18 @@ ColorConfigWindow_Impl::ColorConfigWindo
 	}
 
     aColorBoxes[0]->SetHelpId( aColorLBHids[0] );
+    aColorBoxes[0]->SetDropDownLineCount( 10 );
+    const sal_Int32 nColorLBHids = sizeof( aColorLBHids )/ sizeof( aColorLBHids[0] );
 
     for( sal_Int32 i = 1; i < nCount; i++ )
     {
-        if(aColorBoxes[i])
-        {
-			aColorBoxes[i]->CopyEntries( *aColorBoxes[0] );
-			if( i < sal_Int32(sizeof(aColorLBHids)/sizeof(aColorLBHids[0])) )
-			   aColorBoxes[i]->SetHelpId( aColorLBHids[i] );
-        }
+        if( !aColorBoxes[i] )
+            continue;
+
+        aColorBoxes[i]->CopyEntries( *aColorBoxes[0] );
+        if( i < nColorLBHids )
+            aColorBoxes[i]->SetHelpId( aColorLBHids[i] );
+        aColorBoxes[i]->SetDropDownLineCount( 10 );
     }
 }
 /* -----------------------------27.03.2002 11:04------------------------------

Modified: openoffice/branches/ia2/main/desktop/source/deployment/dp_persmap.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/desktop/source/deployment/dp_persmap.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/desktop/source/deployment/dp_persmap.cxx (original)
+++ openoffice/branches/ia2/main/desktop/source/deployment/dp_persmap.cxx Thu Feb 21 02:52:59 2013
@@ -26,10 +26,6 @@
 #include "dp_persmap.h"
 #include "rtl/strbuf.hxx"
 
-#ifndef DISABLE_BDB2PMAP
-#include <vector>
-#endif
-
 using namespace ::rtl;
 
 // the persistent map is used to manage a handful of key-value string pairs
@@ -52,10 +48,6 @@ PersistentMap::PersistentMap( OUString c
 ,	m_bToBeCreated( !readOnly)
 ,	m_bIsDirty( false)
 {
-#ifndef DISABLE_BDB2PMAP
-	m_MapFileName = expandUnoRcUrl( url_);
-#endif
-
 	open();
 }
 
@@ -171,11 +163,6 @@ bool PersistentMap::open()
 	// or create later if needed
 	m_bToBeCreated &= (rcOpen == osl::File::E_NOENT) && !m_bIsOpen;
 
-#ifndef DISABLE_BDB2PMAP
-	if( m_bToBeCreated)
-		importFromBDB();
-#endif // DISABLE_BDB2PMAP
-
 	if( !m_bIsOpen)
 		return m_bToBeCreated;
 
@@ -340,102 +327,5 @@ t_string2string_map PersistentMap::getEn
 	return m_entries;
 }
 
-//______________________________________________________________________________
-#ifndef DISABLE_BDB2PMAP
-bool PersistentMap::importFromBDB()
-{
-	if( m_bReadOnly)
-		return false;
-
-	// get the name of its BDB counterpart
-	rtl::OUString aDBName = m_MapFileName;
-	if( !aDBName.endsWithAsciiL( ".pmap", 5))
-		return false;
-	aDBName = aDBName.replaceAt( aDBName.getLength()-5, 5, OUSTR(".db"));
-
-	// open the corresponding BDB file for reading
-	osl::File aDBFile( aDBName);
-	osl::File::RC rc = aDBFile.open( osl_File_OpenFlag_Read);
-	if( rc != osl::File::E_None)
-		return false;
-	sal_uInt64 nFileSize = 0;
-	if( aDBFile.getSize( nFileSize) != osl::File::E_None)
-		return false;
-
-	// read the BDB file
-	std::vector<sal_uInt8> aRawBDB( nFileSize);
-	for( sal_uInt64 nOfs = 0; nOfs < nFileSize;) {
-		sal_uInt64 nBytesRead = 0;
-		rc = aDBFile.read( (void*)&aRawBDB[nOfs], nFileSize - nOfs, nBytesRead);
-		if( (rc != osl::File::E_None) || !nBytesRead)
-			return false;
-		nOfs += nBytesRead;
-	}
-
-	// check BDB file header for non_encrypted Hash format v4..9
-	if( nFileSize < 0x0100)
-		return false;
-	if( aRawBDB[24] != 0) // only not-encrypted migration
-		return false;
-	if( aRawBDB[25] != 8) // we expect a P_HASHMETA page
-		return false;
-	const bool bLE = (aRawBDB[12]==0x61 && aRawBDB[13]==0x15 && aRawBDB[14]==0x06);
-	const bool bBE = (aRawBDB[15]==0x61 && aRawBDB[14]==0x15 && aRawBDB[13]==0x06);
-	if( bBE == bLE)
-		return false;
-	if( (aRawBDB[16] < 4) || (9 < aRawBDB[16])) // version
-		return false;
-	const sal_uInt64 nPgSize = bLE
-	?	(aRawBDB[20] + (aRawBDB[21]<<8) + (aRawBDB[22]<<16) + (aRawBDB[23]<<24))
-	:	(aRawBDB[23] + (aRawBDB[22]<<8) + (aRawBDB[21]<<16) + (aRawBDB[20]<<24));
-	const int nPgCount = nFileSize / nPgSize;
-	if( nPgCount * nPgSize != nFileSize)
-		return false;
-
-	// find PackageManager's new_style entries
-	// using a simple heuristic for BDB_Hash pages
-	int nEntryCount = 0;
-	for( int nPgNo = 1; nPgNo < nPgCount; ++nPgNo) {
-		// parse the next _db_page
-		const sal_uInt8* const pPage = &aRawBDB[ nPgNo * nPgSize];
-		const sal_uInt8* const pEnd = pPage + nPgSize;
-		const int nHfOffset = bLE ? (pPage[22] + (pPage[23]<<8)) : (pPage[23] + (pPage[22]<<8));
-		if( nHfOffset <= 0)
-			continue;
-		const sal_uInt8* pCur = pPage + nHfOffset;
-		// iterate through the entries
-		for(; pCur < pEnd; ++pCur) {
-			if( pCur[0] != 0x01)
-				continue;
-			// get the value-candidate
-			const sal_uInt8* pVal = pCur + 1;
-			while( ++pCur < pEnd)
-				if( (*pCur < ' ') || ((*pCur > 0x7F) && (*pCur != 0xFF)))
-					break;
-			if( pCur >= pEnd)
-				break;
-			if( (pCur[0] != 0x01) || (pCur[1] != 0xFF))
-				continue;
-			const OString aVal( (sal_Char*)pVal, pCur - pVal);
-			// get the key-candidate
-			const sal_uInt8* pKey = pCur + 1;
-			while( ++pCur < pEnd)
-				if( (*pCur < ' ') || ((*pCur > 0x7F) && (*pCur != 0xFF)))
-					break;
-			if( (pCur < pEnd) && (*pCur > 0x01))
-				continue;
-			const OString aKey( (sal_Char*)pKey, pCur - pKey);
-			--pCur; // prepare for next round by rewinding to end of key-string
-			
-			// add the key/value pair
-			add( aKey, aVal);
-			++nEntryCount;
-		}
-	}
-
-	return (nEntryCount > 0);
-}
-#endif // DISABLE_BDB2PMAP
-
 }
 

Modified: openoffice/branches/ia2/main/desktop/source/deployment/inc/dp_persmap.h
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/desktop/source/deployment/inc/dp_persmap.h?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/desktop/source/deployment/inc/dp_persmap.h (original)
+++ openoffice/branches/ia2/main/desktop/source/deployment/inc/dp_persmap.h Thu Feb 21 02:52:59 2013
@@ -59,11 +59,6 @@ protected:
 	bool readAll( void);
 	void add( ::rtl::OString const & key, ::rtl::OString const & value );
 	void flush( void);
-
-#ifndef DISABLE_BDB2PMAP
-    bool importFromBDB( void);
-    ::rtl::OUString m_MapFileName;
-#endif
 };
 
 }

Modified: openoffice/branches/ia2/main/desktop/source/deployment/manager/dp_extensionmanager.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/desktop/source/deployment/manager/dp_extensionmanager.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/desktop/source/deployment/manager/dp_extensionmanager.cxx (original)
+++ openoffice/branches/ia2/main/desktop/source/deployment/manager/dp_extensionmanager.cxx Thu Feb 21 02:52:59 2013
@@ -313,26 +313,59 @@ void ExtensionManager::addExtensionsToMa
     {   //will throw an exception if the extension does not exist
         extensionList.push_back(getUserRepository()->getDeployedPackage(
             identifier, fileName, Reference<ucb::XCommandEnvironment>()));
-    } catch(lang::IllegalArgumentException &)
+    }
+    catch(lang::IllegalArgumentException &)
+    {
+        extensionList.push_back(Reference<deploy::XPackage>());
+    }
+    // catch deploy::DeploymentException and ucb::CommandFailedException to avoid unhandled exceptions causing crashes
+    catch( deploy::DeploymentException & )
+    {
+        extensionList.push_back(Reference<deploy::XPackage>());
+    }
+    catch( ucb::CommandFailedException & )
     {
         extensionList.push_back(Reference<deploy::XPackage>());
     }
+
     try
     {
         extensionList.push_back(getSharedRepository()->getDeployedPackage(
             identifier, fileName, Reference<ucb::XCommandEnvironment>()));
-    } catch (lang::IllegalArgumentException &)
+    }
+    catch (lang::IllegalArgumentException &)
+    {
+        extensionList.push_back(Reference<deploy::XPackage>());
+    }
+    // catch deploy::DeploymentException and ucb::CommandFailedException to avoid unhandled exceptions causing crashes
+    catch( deploy::DeploymentException & )
     {
         extensionList.push_back(Reference<deploy::XPackage>());
     }
+    catch( ucb::CommandFailedException & )
+    {
+        extensionList.push_back(Reference<deploy::XPackage>());
+    }
+
     try
     {
        extensionList.push_back(getBundledRepository()->getDeployedPackage(
            identifier, fileName, Reference<ucb::XCommandEnvironment>()));
-    } catch (lang::IllegalArgumentException &)
+    }
+    catch (lang::IllegalArgumentException &)
     {
         extensionList.push_back(Reference<deploy::XPackage>());
     }
+    // catch deploy::DeploymentException and ucb::CommandFailedException to avoid unhandled exceptions causing crashes
+    catch( deploy::DeploymentException & )
+    {
+        extensionList.push_back(Reference<deploy::XPackage>());
+    }
+    catch( ucb::CommandFailedException & )
+    {
+        extensionList.push_back(Reference<deploy::XPackage>());
+    }
+
     OSL_ASSERT(extensionList.size() == 3);
     return extensionList;
 }
@@ -1181,7 +1214,6 @@ uno::Sequence< uno::Sequence<Reference<d
         uno::Sequence<Reference<deploy::XPackage> > bundledExt =
             getBundledRepository()->getDeployedPackages(xAbort, xCmdEnv);
         addExtensionsToMap(mapExt, bundledExt, OUSTR("bundled"));
-        addExtensionsToMap(mapExt, bundledExt, OUSTR("bundled_prereg"));
 
         // Create the tmp repository to trigger its clean up (deletion
         // of old temporary data.)

Modified: openoffice/branches/ia2/main/desktop/source/migration/services/jvmfwk.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/desktop/source/migration/services/jvmfwk.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/desktop/source/migration/services/jvmfwk.cxx (original)
+++ openoffice/branches/ia2/main/desktop/source/migration/services/jvmfwk.cxx Thu Feb 21 02:52:59 2013
@@ -324,7 +324,7 @@ void JavaMigration::migrateJavarc()
         return;
 
     OUString sValue;
-    rtl::Bootstrap javaini(m_sUserDir + OUSTR("/user/config/"SAL_CONFIGFILE("java")));
+    rtl::Bootstrap javaini(m_sUserDir + OUSTR( "/user/config/" SAL_CONFIGFILE("java")));
     sal_Bool bSuccess = javaini.getFrom(OUSTR("Home"), sValue);
     OSL_ENSURE(bSuccess, "[Service implementation " IMPL_NAME
                        "] XJob::execute: Could not get Home entry from java.ini/javarc.");

Modified: openoffice/branches/ia2/main/desktop/source/pkgchk/unopkg/unopkg_app.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/desktop/source/pkgchk/unopkg/unopkg_app.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/desktop/source/pkgchk/unopkg/unopkg_app.cxx (original)
+++ openoffice/branches/ia2/main/desktop/source/pkgchk/unopkg/unopkg_app.cxx Thu Feb 21 02:52:59 2013
@@ -269,7 +269,7 @@ extern "C" int unopkg_main()
             return 0;
         }
         else if (isOption( info_version, &nPos )) {
-            dp_misc::writeConsole("\n"APP_NAME" Version 3.3\n");
+            dp_misc::writeConsole( "\n" APP_NAME " Version 3.3\n");
             return 0;
         }
         //consume all bootstrap variables which may occur before the subcommannd
@@ -649,7 +649,7 @@ extern "C" int unopkg_main()
         }
         
         if (option_verbose)
-            dp_misc::writeConsole(OUSTR("\n"APP_NAME" done.\n"));
+            dp_misc::writeConsole( OUSTR( "\n" APP_NAME " done.\n"));
         //Force to release all bridges which connect us to the child processes
         disposeBridges(xLocalComponentContext);
         return 0;
@@ -661,7 +661,7 @@ extern "C" int unopkg_main()
     }
     catch (ucb::CommandAbortedException &) 
     {
-        dp_misc::writeConsoleError("\n"APP_NAME" aborted!\n");
+        dp_misc::writeConsoleError( "\n" APP_NAME " aborted!\n");
     }
     catch (deployment::DeploymentException & exc) 
     {
@@ -699,7 +699,7 @@ extern "C" int unopkg_main()
             OUSTR("\n"));
     }
     if (!bNoOtherErrorMsg)
-        dp_misc::writeConsoleError("\n"APP_NAME" failed.\n");
+        dp_misc::writeConsoleError( "\n" APP_NAME " failed.\n");
     disposeBridges(xLocalComponentContext);
     return 1;
 }

Modified: openoffice/branches/ia2/main/drawinglayer/Library_drawinglayer.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/drawinglayer/Library_drawinglayer.mk?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/drawinglayer/Library_drawinglayer.mk (original)
+++ openoffice/branches/ia2/main/drawinglayer/Library_drawinglayer.mk Thu Feb 21 02:52:59 2013
@@ -156,6 +156,7 @@ $(eval $(call gb_Library_add_exception_o
 	drawinglayer/source/primitive3d/textureprimitive3d \
 	drawinglayer/source/primitive3d/transformprimitive3d \
 	drawinglayer/source/processor2d/baseprocessor2d \
+	drawinglayer/source/processor2d/processor2dtools \
 	drawinglayer/source/processor2d/vclhelperbufferdevice \
 	drawinglayer/source/processor2d/vclprocessor2d \
 	drawinglayer/source/processor2d/helperwrongspellrenderer \

Modified: openoffice/branches/ia2/main/drawinglayer/Package_inc.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/drawinglayer/Package_inc.mk?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/drawinglayer/Package_inc.mk (original)
+++ openoffice/branches/ia2/main/drawinglayer/Package_inc.mk Thu Feb 21 02:52:59 2013
@@ -102,9 +102,7 @@ $(eval $(call gb_Package_add_file,drawin
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/geometry/viewinformation3d.hxx,drawinglayer/geometry/viewinformation3d.hxx))
 
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/baseprocessor2d.hxx,drawinglayer/processor2d/baseprocessor2d.hxx))
-$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/vclprocessor2d.hxx,drawinglayer/processor2d/vclprocessor2d.hxx))
-$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/vclpixelprocessor2d.hxx,drawinglayer/processor2d/vclpixelprocessor2d.hxx))
-$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/vclmetafileprocessor2d.hxx,drawinglayer/processor2d/vclmetafileprocessor2d.hxx))
+$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/processor2dtools.hxx,drawinglayer/processor2d/processor2dtools.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/contourextractor2d.hxx,drawinglayer/processor2d/contourextractor2d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/linegeometryextractor2d.hxx,drawinglayer/processor2d/linegeometryextractor2d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/hittestprocessor2d.hxx,drawinglayer/processor2d/hittestprocessor2d.hxx))
@@ -112,11 +110,10 @@ $(eval $(call gb_Package_add_file,drawin
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor2d/objectinfoextractor2d.hxx,drawinglayer/processor2d/objectinfoextractor2d.hxx))
 
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/baseprocessor3d.hxx,drawinglayer/processor3d/baseprocessor3d.hxx))
-$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/cutfindprocessor3d.hxx,drawinglayer/processor3d/cutfindprocessor3d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/defaultprocessor3d.hxx,drawinglayer/processor3d/defaultprocessor3d.hxx))
+$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/cutfindprocessor3d.hxx,drawinglayer/processor3d/cutfindprocessor3d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/geometry2dextractor.hxx,drawinglayer/processor3d/geometry2dextractor.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/shadow3dextractor.hxx,drawinglayer/processor3d/shadow3dextractor.hxx))
-$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/zbufferprocessor3d.hxx,drawinglayer/processor3d/zbufferprocessor3d.hxx))
 
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/fillgradientattribute.hxx,drawinglayer/attribute/fillgradientattribute.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/fillhatchattribute.hxx,drawinglayer/attribute/fillhatchattribute.hxx))

Modified: openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx (original)
+++ openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx Thu Feb 21 02:52:59 2013
@@ -105,6 +105,7 @@
 #define PRIMITIVE2D_ID_CROPPRIMITIVE2D                      (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 66)
 #define PRIMITIVE2D_ID_PATTERNFILLPRIMITIVE2D               (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 67)
 #define PRIMITIVE2D_ID_OBJECTINFOPRIMITIVE2D                (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 68)
+#define PRIMITIVE2D_ID_POLYPOLYGONSELECTIONPRIMITIVE2D      (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 69)
 
 //////////////////////////////////////////////////////////////////////////////
 

Modified: openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/primitive2d/polypolygonprimitive2d.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/primitive2d/polypolygonprimitive2d.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/primitive2d/polypolygonprimitive2d.hxx (original)
+++ openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/primitive2d/polypolygonprimitive2d.hxx Thu Feb 21 02:52:59 2013
@@ -33,6 +33,7 @@
 #include <drawinglayer/attribute/linestartendattribute.hxx>
 #include <drawinglayer/attribute/fillgradientattribute.hxx>
 #include <drawinglayer/attribute/fillhatchattribute.hxx>
+#include <drawinglayer/primitive2d/primitivetools2d.hxx>
 #include <basegfx/color/bcolor.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -436,6 +437,70 @@ namespace drawinglayer
 } // end of namespace drawinglayer
 
 //////////////////////////////////////////////////////////////////////////////
+// PolyPolygonSelectionPrimitive2D class
+
+namespace drawinglayer
+{
+    namespace primitive2d
+    {
+        /** PolyPolygonSelectionPrimitive2D class
+
+            This primitive defines a PolyPolygon which gets filled with a defined color
+            and a defined transparence, but also gets extended ('grown') by the given
+            discrete size (thus being a view-dependent primitive)
+         */
+        class DRAWINGLAYER_DLLPUBLIC PolyPolygonSelectionPrimitive2D : public DiscreteMetricDependentPrimitive2D
+        {
+        private:
+            /// the PolyPolygon geometry
+            basegfx::B2DPolyPolygon                 maPolyPolygon;
+
+            /// the color
+            basegfx::BColor                         maColor;
+
+            /// the transparence [0.0 .. 1.0]
+            double                                  mfTransparence;
+
+            /// the discrete grow size ('pixels'), only posivive values allowed
+            double                                  mfDiscreteGrow;
+
+            /// bitfield
+            /// draw polygons filled when fill is set
+            bool                                    mbFill : 1;
+
+        protected:
+            /// local decomposition.
+            virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
+
+        public:
+            /// constructor
+            PolyPolygonSelectionPrimitive2D(
+                const basegfx::B2DPolyPolygon& rPolyPolygon, 
+                const basegfx::BColor& rColor,
+                double fTransparence,
+                double fDiscreteGrow,
+                bool bFill);
+
+            /// data read access
+            const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
+            const basegfx::BColor& getColor() const { return maColor; }
+            double getTransparence() const { return mfTransparence; }
+            double getDiscreteGrow() const { return mfDiscreteGrow; }
+            bool getFill() const { return mbFill; }
+
+            /// compare operator
+            virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
+
+            /// get range
+            virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
+
+            /// provide unique ID
+            DeclPrimitrive2DIDBlock()
+        };
+    } // end of namespace primitive2d
+} // end of namespace drawinglayer
+
+//////////////////////////////////////////////////////////////////////////////
 
 #endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POLYPOLYGONPRIMITIVE2D_HXX
 

Modified: openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor2d/linegeometryextractor2d.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor2d/linegeometryextractor2d.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor2d/linegeometryextractor2d.hxx (original)
+++ openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor2d/linegeometryextractor2d.hxx Thu Feb 21 02:52:59 2013
@@ -38,7 +38,7 @@ namespace drawinglayer
         /** LineGeometryExtractor2D class
 
             This processor can extract the line geometry from feeded primpitives. The
-            hairlines and the fille geometry from fat lines are separated.
+            hairlines and the fill geometry from fat lines are separated.
          */
 		class DRAWINGLAYER_DLLPUBLIC LineGeometryExtractor2D : public BaseProcessor2D
 		{

Modified: openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor2d/vclmetafileprocessor2d.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor2d/vclmetafileprocessor2d.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor2d/vclmetafileprocessor2d.hxx (original)
+++ openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor2d/vclmetafileprocessor2d.hxx Thu Feb 21 02:52:59 2013
@@ -72,7 +72,7 @@ namespace drawinglayer
             and the extra-data added to it (which can be seen mostly as 'extensions'
             or simply as 'hacks').
          */
-		class DRAWINGLAYER_DLLPUBLIC VclMetafileProcessor2D : public VclProcessor2D
+		class VclMetafileProcessor2D : public VclProcessor2D
 		{
         private:
             /// local helper(s)

Modified: openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor2d/vclpixelprocessor2d.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor2d/vclpixelprocessor2d.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor2d/vclpixelprocessor2d.hxx (original)
+++ openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor2d/vclpixelprocessor2d.hxx Thu Feb 21 02:52:59 2013
@@ -40,7 +40,7 @@ namespace drawinglayer
             all feeded primitives to a VCL Window. It is the currently used renderer
             for all VCL editing output from the DrawingLayer.
          */
-		class DRAWINGLAYER_DLLPUBLIC VclPixelProcessor2D : public VclProcessor2D
+		class VclPixelProcessor2D : public VclProcessor2D
 		{
         private:
 		protected:

Modified: openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx (original)
+++ openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx Thu Feb 21 02:52:59 2013
@@ -69,7 +69,7 @@ namespace drawinglayer
             This processor is the base class for VCL-Based processors. It has no
             processBasePrimitive2D implementation and thus is not usable directly.
          */
-		class DRAWINGLAYER_DLLPUBLIC VclProcessor2D : public BaseProcessor2D
+		class VclProcessor2D : public BaseProcessor2D
 		{
 		protected:
 			// the destination OutDev

Modified: openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor3d/defaultprocessor3d.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor3d/defaultprocessor3d.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor3d/defaultprocessor3d.hxx (original)
+++ openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor3d/defaultprocessor3d.hxx Thu Feb 21 02:52:59 2013
@@ -74,7 +74,7 @@ namespace drawinglayer
             rasterconvertB3DPolyPolygon for filled geometry is called. It is a beseclass to 
             e.g. base a Z-Buffer supported renderer on the 3D primitive processing.
          */
-		class DRAWINGLAYER_DLLPUBLIC DefaultProcessor3D : public BaseProcessor3D
+		class DefaultProcessor3D : public BaseProcessor3D
 		{
 		protected:
             /// read-only scene infos (normal handling, etc...)

Modified: openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor3d/zbufferprocessor3d.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor3d/zbufferprocessor3d.hxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor3d/zbufferprocessor3d.hxx (original)
+++ openoffice/branches/ia2/main/drawinglayer/inc/drawinglayer/processor3d/zbufferprocessor3d.hxx Thu Feb 21 02:52:59 2013
@@ -61,7 +61,7 @@ namespace drawinglayer
             raster bitmap using a Z-Buffer based approach. It is able to supersample and to handle 
             transparent content.
          */
-		class DRAWINGLAYER_DLLPUBLIC ZBufferProcessor3D : public DefaultProcessor3D
+		class ZBufferProcessor3D : public DefaultProcessor3D
 		{
 		private:
 			/// the raster target, a Z-Buffer

Modified: openoffice/branches/ia2/main/drawinglayer/source/primitive2d/polypolygonprimitive2d.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/drawinglayer/source/primitive2d/polypolygonprimitive2d.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/drawinglayer/source/primitive2d/polypolygonprimitive2d.cxx (original)
+++ openoffice/branches/ia2/main/drawinglayer/source/primitive2d/polypolygonprimitive2d.cxx Thu Feb 21 02:52:59 2013
@@ -35,6 +35,8 @@
 #include <drawinglayer/primitive2d/polygonprimitive2d.hxx>
 #include <drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx>
 #include <basegfx/matrix/b2dhommatrixtools.hxx>
+#include <drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx>
+#include <drawinglayer/geometry/viewinformation2d.hxx>
 #include <vcl/graph.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -118,7 +120,12 @@ namespace drawinglayer
 
 				for(sal_uInt32 a(0L); a < nCount; a++)
 				{
-					aRetval[a] = Primitive2DReference(new PolygonMarkerPrimitive2D(aPolyPolygon.getB2DPolygon(a), getRGBColorA(), getRGBColorB(), getDiscreteDashLength()));
+					aRetval[a] = Primitive2DReference(
+                        new PolygonMarkerPrimitive2D(
+                            aPolyPolygon.getB2DPolygon(a), 
+                            getRGBColorA(), 
+                            getRGBColorB(), 
+                            getDiscreteDashLength()));
 				}
 
 				return aRetval;
@@ -580,4 +587,107 @@ namespace drawinglayer
 } // end of namespace drawinglayer
 
 //////////////////////////////////////////////////////////////////////////////
+
+namespace drawinglayer
+{
+    namespace primitive2d
+    {
+        Primitive2DSequence PolyPolygonSelectionPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
+        {
+            Primitive2DSequence aRetval;
+
+            if(getTransparence() < 1.0 && getB2DPolyPolygon().count())
+            {
+                if(getFill() && getB2DPolyPolygon().isClosed())
+                {
+                    // create fill primitive
+                    const Primitive2DReference aFill(
+                        new PolyPolygonColorPrimitive2D(
+                            getB2DPolyPolygon(),
+                            getColor()));
+
+                    aRetval = Primitive2DSequence(&aFill, 1);
+                }
+
+                if(getDiscreteGrow() > 0.0)
+                {
+                    const attribute::LineAttribute aLineAttribute(
+                        getColor(),
+                        getDiscreteGrow() * getDiscreteUnit() * 2.0);
+                    const Primitive2DReference aFatLine(
+                        new PolyPolygonStrokePrimitive2D(
+                            getB2DPolyPolygon(),
+                            aLineAttribute));
+
+                    appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, aFatLine);
+                }
+
+                // embed filled to transparency (if used)
+                if(aRetval.getLength() && getTransparence() > 0.0)
+                {
+                    const Primitive2DReference aTrans(
+                        new UnifiedTransparencePrimitive2D(
+                            aRetval, 
+                            getTransparence()));
+
+                    aRetval = Primitive2DSequence(&aTrans, 1);
+                }
+            }
+
+            return aRetval;
+        }
+
+        PolyPolygonSelectionPrimitive2D::PolyPolygonSelectionPrimitive2D(
+            const basegfx::B2DPolyPolygon& rPolyPolygon, 
+            const basegfx::BColor& rColor,
+            double fTransparence,
+            double fDiscreteGrow,
+            bool bFill)
+        :   DiscreteMetricDependentPrimitive2D(),
+            maPolyPolygon(rPolyPolygon),
+            maColor(rColor),
+            mfTransparence(fTransparence),
+            mfDiscreteGrow(fabs(fDiscreteGrow)),
+            mbFill(bFill)
+        {
+        }
+
+        bool PolyPolygonSelectionPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
+        {
+            if(DiscreteMetricDependentPrimitive2D::operator==(rPrimitive))
+            {
+                const PolyPolygonSelectionPrimitive2D& rCompare = (PolyPolygonSelectionPrimitive2D&)rPrimitive;
+
+                return (getB2DPolyPolygon() == rCompare.getB2DPolyPolygon()
+                    && getColor() == rCompare.getColor()
+                    && getTransparence() == rCompare.getTransparence()
+                    && getDiscreteGrow() == rCompare.getDiscreteGrow()
+                    && getFill() == rCompare.getFill());
+            }
+
+            return false;
+        }
+
+        basegfx::B2DRange PolyPolygonSelectionPrimitive2D::getB2DRange(const geometry::ViewInformation2D& rViewInformation) const
+        {
+            basegfx::B2DRange aRetval(basegfx::tools::getRange(getB2DPolyPolygon()));
+
+            if(getDiscreteGrow() > 0.0)
+            {
+                // get the current DiscreteUnit (not sure if getDiscreteUnit() is updated here, better go safe way)
+                const double fDiscreteUnit((rViewInformation.getInverseObjectToViewTransformation() * basegfx::B2DVector(1.0, 0.0)).getLength());
+
+                aRetval.grow(fDiscreteUnit * getDiscreteGrow());
+            }
+
+            return aRetval;
+        }
+
+        // provide unique ID
+        ImplPrimitrive2DIDBlock(PolyPolygonSelectionPrimitive2D, PRIMITIVE2D_ID_POLYPOLYGONSELECTIONPRIMITIVE2D)
+
+    } // end of namespace primitive2d
+} // end of namespace drawinglayer
+
+//////////////////////////////////////////////////////////////////////////////
 // eof

Modified: openoffice/branches/ia2/main/drawinglayer/source/tools/converters.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/drawinglayer/source/tools/converters.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/drawinglayer/source/tools/converters.cxx (original)
+++ openoffice/branches/ia2/main/drawinglayer/source/tools/converters.cxx Thu Feb 21 02:52:59 2013
@@ -24,10 +24,10 @@
 
 #include <drawinglayer/tools/converters.hxx>
 #include <drawinglayer/geometry/viewinformation2d.hxx>
-#include <drawinglayer/processor2d/vclpixelprocessor2d.hxx>
 #include <drawinglayer/primitive2d/modifiedcolorprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrixtools.hxx>
 #include <drawinglayer/primitive2d/transformprimitive2d.hxx>
+#include <drawinglayer/processor2d/processor2dtools.hxx>
 #include <vcl/virdev.hxx>
 
 #ifdef DBG_UTIL
@@ -41,7 +41,7 @@ namespace drawinglayer
 {
     namespace tools
     {
-        BitmapEx DRAWINGLAYER_DLLPUBLIC convertToBitmapEx(
+        BitmapEx convertToBitmapEx(
             const drawinglayer::primitive2d::Primitive2DSequence& rSeq, 
             const geometry::ViewInformation2D& rViewInformation2D,
             sal_uInt32 nDiscreteWidth,
@@ -87,42 +87,48 @@ namespace drawinglayer
                 maContent.SetBackground(Wallpaper(Color(COL_WHITE)));
                 maContent.Erase();
 
-                // create processor
-                processor2d::VclPixelProcessor2D aContentProcessor(aViewInformation2D, maContent);
+                // create pixel processor
+                processor2d::BaseProcessor2D* pContentProcessor = processor2d::createPixelProcessor2DFromOutputDevice(
+                    maContent,
+                    aViewInformation2D);
 
-                // render content
-                aContentProcessor.process(aSequence);
-
-                // get content
-                maContent.EnableMapMode(false);
-                const Bitmap aContent(maContent.GetBitmap(aEmptyPoint, aSizePixel)); 
-
-                // prepare for mask creation
-                maContent.SetMapMode(aMapModePixel);
-                maContent.SetAntialiasing(true);
-
-                // set alpha to all white (fully transparent)
-                maContent.Erase();
+                if(pContentProcessor)
+                {
+                    // render content
+                    pContentProcessor->process(aSequence);
 
-                // embed primitives to paint them black
-                const primitive2d::Primitive2DReference xRef(
-                    new primitive2d::ModifiedColorPrimitive2D(
-                        aSequence,
-                        basegfx::BColorModifier(
-                            basegfx::BColor(0.0, 0.0, 0.0),
-                            0.5,
-                            basegfx::BCOLORMODIFYMODE_REPLACE)));
-                const primitive2d::Primitive2DSequence xSeq(&xRef, 1);
-
-                // render
-                aContentProcessor.process(xSeq);
-
-                // get alpha cahannel from vdev
-                maContent.EnableMapMode(false);
-                const AlphaMask aAlphaMask(maContent.GetBitmap(aEmptyPoint, aSizePixel));
+                    // get content
+                    maContent.EnableMapMode(false);
+                    const Bitmap aContent(maContent.GetBitmap(aEmptyPoint, aSizePixel)); 
+
+                    // prepare for mask creation
+                    maContent.SetMapMode(aMapModePixel);
+                    maContent.SetAntialiasing(true);
+
+                    // set alpha to all white (fully transparent)
+                    maContent.Erase();
+
+                    // embed primitives to paint them black
+                    const primitive2d::Primitive2DReference xRef(
+                        new primitive2d::ModifiedColorPrimitive2D(
+                            aSequence,
+                            basegfx::BColorModifier(
+                                basegfx::BColor(0.0, 0.0, 0.0),
+                                0.5,
+                                basegfx::BCOLORMODIFYMODE_REPLACE)));
+                    const primitive2d::Primitive2DSequence xSeq(&xRef, 1);
+
+                    // render
+                    pContentProcessor->process(xSeq);
+                    delete pContentProcessor;
+
+                    // get alpha cahannel from vdev
+                    maContent.EnableMapMode(false);
+                    const AlphaMask aAlphaMask(maContent.GetBitmap(aEmptyPoint, aSizePixel));
 
-                // create BitmapEx result
-                aRetval = BitmapEx(aContent, aAlphaMask);
+                    // create BitmapEx result
+                    aRetval = BitmapEx(aContent, aAlphaMask);
+                }
             }
 
 #ifdef DBG_UTIL

Modified: openoffice/branches/ia2/main/extensions/source/activex/main/makefile.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/extensions/source/activex/main/makefile.mk?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/extensions/source/activex/main/makefile.mk (original)
+++ openoffice/branches/ia2/main/extensions/source/activex/main/makefile.mk Thu Feb 21 02:52:59 2013
@@ -137,7 +137,7 @@ SHL1STDLIBS_X64+=\
 SHL1OBJS_X64=$(SLOFILES_X64)
 SHL1DEF_X64=$(TARGET).def
 
-SHL1STDLIBS_X64+= $(ATL_LIB)$/amd64$/atls.lib
+SHL1STDLIBS_X64+= $(ATL_LIB_X64)$/atls.lib  $(ATL_LIB_X64)$/atlthunk.lib 
 
 .ENDIF # "$(BUILD_X64)"!=""
 

Modified: openoffice/branches/ia2/main/filter/source/graphicfilter/ieps/ieps.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/filter/source/graphicfilter/ieps/ieps.cxx?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/filter/source/graphicfilter/ieps/ieps.cxx (original)
+++ openoffice/branches/ia2/main/filter/source/graphicfilter/ieps/ieps.cxx Thu Feb 21 02:52:59 2013
@@ -204,7 +204,7 @@ static bool RenderAsEMF(const sal_uInt8*
 	TempFile aTemp;
 	aTemp.EnableKillingFile();
 	rtl::OUString fileName = 
-			rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("pstoedit"EXESUFFIX));
+			rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "pstoedit" EXESUFFIX));
 	rtl::OUString arg1 = 
 			rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-f"));
 	rtl::OUString arg2 = 
@@ -305,7 +305,7 @@ static bool RenderAsPNGThroughConvert(co
 	Graphic &rGraphic)
 {
 	rtl::OUString fileName = 
-			rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("convert"EXESUFFIX));
+			rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "convert" EXESUFFIX));
 	// density in pixel/inch
 	rtl::OUString arg1 = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-density"));
 	// since the preview is also used for PDF-Export & printing on non-PS-printers,
@@ -328,10 +328,10 @@ static bool RenderAsPNGThroughGS(const s
 {
 #ifdef WNT
 	rtl::OUString fileName = 
-			rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("gswin32c"EXESUFFIX));
+			rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "gswin32c" EXESUFFIX));
 #else
 	rtl::OUString fileName = 
-			rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("gs"EXESUFFIX));
+			rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "gs" EXESUFFIX));
 #endif
 	rtl::OUString arg1 = 
 			rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-q"));

Modified: openoffice/branches/ia2/main/hwpfilter/source/drawdef.h
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/hwpfilter/source/drawdef.h?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/hwpfilter/source/drawdef.h (original)
+++ openoffice/branches/ia2/main/hwpfilter/source/drawdef.h Thu Feb 21 02:52:59 2013
@@ -137,9 +137,9 @@ struct RotationProperty
  */
 struct HWPDOProperty
 {
-    int line_pstyle; /* ¼± Áß°£ ¸ð¾ç */
-    int line_hstyle; /* ³¡ È­»ìÇ¥ ¸ð¾ç */
-    int line_tstyle; /* ½ÃÀÛ ¸ð¾ç */
+    int line_pstyle; /* 선 중간 모양 */
+    int line_hstyle; /* 끝 화살표 모양 */
+    int line_tstyle; /* 시작 모양 */
     DWORD line_color;
     hunit line_width;
     DWORD fill_color;

Modified: openoffice/branches/ia2/main/hwpfilter/source/drawing.h
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/hwpfilter/source/drawing.h?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/hwpfilter/source/drawing.h (original)
+++ openoffice/branches/ia2/main/hwpfilter/source/drawing.h Thu Feb 21 02:52:59 2013
@@ -191,8 +191,8 @@ static bool SkipUnusedField(void)
 #define HDOFILE_HAS_CHILD   0x02
 
 /**
- * °øÅë Çì´õ¸¦ Àоîµå¸°´Ù.
- * °³Ã¼Á¾·ù/¿¬°áÁ¤º¸/»ó´ëÀ§Ä¡/°³Ã¼Å©±â/Àý´ëÀ§Ä¡/Â÷Áö¿µ¿ª/±âº»¼Ó¼º/ȸÀü¼Ó¼º/±×¶óµ¥À̼Ç/ºñÆ®¸ÊÆÐÅÏ
+ * 공통 헤더를 읽어드린다.
+ * 개체종류/연결정보/상대위치/개체크기/절대위치/차지영역/기본속성/회전속성/그라데이션/비트맵패턴
  */
 static bool LoadCommonHeader(HWPDrawingObject * hdo, WORD * link_info)
 {
@@ -785,7 +785,7 @@ int cmd, void *argp, int argv)
 }
 
 
-/* HWPDrawObject ¸â¹ö ÇÔ¼ö */
+/* HWPDrawObject 멤버 함수 */
 
 HWPDrawingObject::HWPDrawingObject()
 {

Modified: openoffice/branches/ia2/main/hwpfilter/source/formula.cpp
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/hwpfilter/source/formula.cpp?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/hwpfilter/source/formula.cpp (original)
+++ openoffice/branches/ia2/main/hwpfilter/source/formula.cpp Thu Feb 21 02:52:59 2013
@@ -390,7 +390,7 @@ void Formula::makeDecoration(Node *res)
 	 else
 		  fprintf(stderr,"<math:munder>\n");
 #else
-	 /* accent´Â ¾ðÁ¦ trueÀÌ°í, ¾ðÁ¦, falseÀÎÁö ¸ð¸£°Ú´Ù. */
+	 /* accent는 언제 true이고, 언제, false인지 모르겠다. */
 	 if( isover ){
 		  padd(ascii("accent"),ascii("CDATA"),ascii("true"));
 		  rstartEl(ascii("math:mover"), rList);

Modified: openoffice/branches/ia2/main/hwpfilter/source/hbox.cpp
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/hwpfilter/source/hbox.cpp?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/hwpfilter/source/hbox.cpp (original)
+++ openoffice/branches/ia2/main/hwpfilter/source/hbox.cpp Thu Feb 21 02:52:59 2013
@@ -404,7 +404,7 @@ Footnote::~Footnote(void)
 // auto number(18)
 // new number(19)
 // show page number (20)
-// Ȧ¼öÂʽÃÀÛ/°¨Ãß±â (21)
+// 홀수쪽시작/감추기 (21)
 
 // mail merge(22)
 hchar_string MailMerge::GetString()
@@ -425,7 +425,7 @@ hchar_string MailMerge::GetString()
 static hchar olHanglJaso(int num, int type)
 {
     static unsigned char han_init[] =
-        { "\x88\x90\x94\x9c\xa0\xa4\xac\xb4\xb8\xc0\xc4\xc8\xcc\xd0" };
+        "\x88\x90\x94\x9c\xa0\xa4\xac\xb4\xb8\xc0\xc4\xc8\xcc\xd0";
     static unsigned char jung[] = { 3, 5, 7, 11, 13, 19, 20, 26, 27, 29, 30 };
     static unsigned char jung2[] = { 3, 7, 13, 20, 27, 29, 30 };
 
@@ -551,9 +551,9 @@ static void getOutlineNumStr(int style, 
 enum
 { OUTLINE_ON, OUTLINE_NUM };
 
-/*  level Àº 0ºÎÅÍ ½ÃÀÛ. Áï 1.1.1. ÀÇ ·¹º§Àº 2ÀÌ´Ù.
-    number´Â °ªÀÌ ±×´ë·Î µé¾î°¡ ÀÖ´Ù. Áï, 1.2.1¿¡´Â 1,2,1ÀÌ µé¾î°¡ ÀÖ´Ù.
-    style Àº 1ºÎÅÍ °ªÀÌ µé¾î°¡ ÀÖ´Ù. hbox.h¿¡ Á¤ÀÇµÈ µ¥·Î..
+/*  level 은 0부터 시작. 즉 1.1.1. 의 레벨은 2이다.
+    number는 값이 그대로 들어가 있다. 즉, 1.2.1에는 1,2,1이 들어가 있다.
+    style 은 1부터 값이 들어가 있다. hbox.h에 정의된 데로..
  */
 hchar_string Outline::GetUnicode() const
 {
@@ -612,17 +612,17 @@ hchar_string Outline::GetUnicode() const
 					if( deco[i][0] ){
 						buffer[l++] = deco[i][0];
 					}
-/*  level Àº 0ºÎÅÍ ½ÃÀÛ. Áï 1.1.1. ÀÇ ·¹º§Àº 2ÀÌ´Ù.
-    number´Â °ªÀÌ ±×´ë·Î µé¾î°¡ ÀÖ´Ù. Áï, 1.2.1¿¡´Â 1,2,1ÀÌ µé¾î°¡ ÀÖ´Ù.
-    style Àº 1ºÎÅÍ °ªÀÌ µé¾î°¡ ÀÖ´Ù. hbox.h¿¡ Á¤ÀÇµÈ µ¥·Î..
+/*  level 은 0부터 시작. 즉 1.1.1. 의 레벨은 2이다.
+    number는 값이 그대로 들어가 있다. 즉, 1.2.1에는 1,2,1이 들어가 있다.
+    style 은 1부터 값이 들어가 있다. hbox.h에 정의된 데로..
  */
 					switch( user_shape[i] )
 					{
 						case 0:
 							buffer[l++] = '1' + number[i] - 1;
 							break;
-                        case 1: /* ´ë¹®Àڷθ¶ */
-                        case 2: /* ¼Ò¹®Àڷθ¶ */
+                        case 1: /* 대문자로마 */
+                        case 2: /* 소문자로마 */
 							num2roman(number[i], dest);
 							if( user_shape[i] == 1 ){
 								char *ptr = dest;
@@ -647,22 +647,22 @@ hchar_string Outline::GetUnicode() const
 						case 6:
 							buffer[l++] = olHanglJaso(number[i] -1, OL_HANGL_JASO);
 							break;
-                        case 7: /* ÇÑÀÚ ¼ýÀÚ : ÀÏ¹Ý ¼ýÀڷΠǥÇö */
+                        case 7: /* 한자 숫자 : 일반 숫자로 표현 */
 							buffer[l++] = '1' + number[i] -1;
 							break;
-                        case 8: /* ¿ø¼ýÀÚ */
+                        case 8: /* 원숫자 */
 							buffer[l++] = 0x2e00 + number[i];
 							break;
-                        case 9: /* ¿ø ¾ËÆĺª ¼Ò¹®ÀÚ */
+                        case 9: /* 원 알파벳 소문자 */
 							buffer[l++] = 0x2c20 + number[i];
 							break;
-                        case 10: /* ¿ø °¡³ª´Ù */
+                        case 10: /* 원 가나다 */
 							buffer[l++] = 0x2c50 + number[i] -1;
 							break;
-                        case 11: /* ¿ø ¤¡ ¤¤ */
+                        case 11: /* 원 ㄱ ㄴ */
 							buffer[l++] = 0x2c40 + number[i] -1;
 							break;
-                        case 12: /* À̾îÁø ¼ýÀÚ. */
+                        case 12: /* 이어진 숫자. */
 						{
 							 char cur_num_str[10],buf[80];
 							 int j;
@@ -696,6 +696,6 @@ hchar_string Outline::GetUnicode() const
 }
 
 
-/* ¹­À½ ºóÄ­(30) */
-/* °íÁ¤Æø ºóÄ­(31) */
+/* 묶음 빈칸(30) */
+/* 고정폭 빈칸(31) */
 

Modified: openoffice/branches/ia2/main/hwpfilter/source/hbox.h
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/hwpfilter/source/hbox.h?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/hwpfilter/source/hbox.h (original)
+++ openoffice/branches/ia2/main/hwpfilter/source/hbox.h Thu Feb 21 02:52:59 2013
@@ -88,9 +88,9 @@ struct SkipBlock: public HBox
 struct DateCode;
 struct FieldCode : public HBox
 {
-    uchar type[2];                    /* 2/0 - °è»ê½Ä, 3/0-¹®¼­¿ä¾à, 3/1-°³ÀÎÁ¤º¸, 3/2-¸¸µç³¯Â¥, 4/0-´©¸§Æ² */
+    uchar type[2];                    /* 2/0 - 계산식, 3/0-문서요약, 3/1-개인정보, 3/2-만든날짜, 4/0-누름틀 */
     char *reserved1;
-    unsigned short location_info;     /* 0 - ³¡ÄÚµå, 1 - ½ÃÀÛÄÚµå */
+    unsigned short location_info;     /* 0 - 끝코드, 1 - 시작코드 */
     char *reserved2;
     hchar *str1;
     hchar *str2;
@@ -215,7 +215,7 @@ enum
 struct CellLine
 {
     unsigned char key;
-    unsigned char top;                            // 0 - ¶óÀξøÀ½, 1-single, 2-thick, 3-double
+    unsigned char top;                            // 0 - 라인없음, 1-single, 2-thick, 3-double
     unsigned char bottom;
     unsigned char left;
     unsigned char right;
@@ -263,7 +263,7 @@ struct FBoxStyle
 /**
  * Kind of wrap
  */
-    unsigned char txtflow;                        /* ±×¸²ÇÇÇÔ. 0-2(ÀÚ¸®Â÷Áö,Åõ¸í,¾î¿ï¸²) */
+    unsigned char txtflow;                        /* 그림피함. 0-2(자리차지,투명,어울림) */
 /**
  * Horizontal alignment
  */
@@ -281,12 +281,12 @@ struct FBoxStyle
 /**
  * Index of floating object
  */
-    short     boxnum;                             /* ½ºÅ¸¿ÀÇǽº¿¡¼­ ½ºÅ¸ÀÏ À̸§À¸·Î »ç¿ëµÉ ¼ýÀÚ */
+    short     boxnum;                             /* 스타오피스에서 스타일 이름으로 사용될 숫자 */
 /**
  * Type of floating object : line, txtbox, image, table, equalizer and button
  */
     unsigned char boxtype;                        // (L)ine, t(X)tbox, Picture - (G)
-    short     cap_len; /* ĸ¼ÇÀÇ ±æÀÌ */
+    short     cap_len; /* 캡션의 길이 */
 
     void *cell;
 
@@ -312,8 +312,8 @@ struct FBox: public HBox
     char      xpos_type, ypos_type;
     unsigned char smart_linesp;
 
-/*  ÀÌ ÀÚ·á´Â tbox³ª pic¿¡¼­´Â ÆÄÀÏ¿¡ ±â·ÏÇÏÁö ¾Ê°í ½ÇÇà½Ã¸¸ ÀÖÀ¸¸ç,
-    line¿¡¼­´Â ÆÄÀÏ¿¡ ±â·ÏÇÑ´Ù.
+/*  이 자료는 tbox나 pic에서는 파일에 기록하지 않고 실행시만 있으며,
+    line에서는 파일에 기록한다.
  */
     short     boundsy, boundey;
     unsigned char boundx, draw;
@@ -357,7 +357,7 @@ struct TxtBox: public FBox
  * The value of type indicates as the below: zero is table, one is
  * textbox, two is equalizer and three is button.
  */
-    short     type;                               // 0-table, 1-textbox, 2-¼ö½Ä, 3-button
+    short     type;                               // 0-table, 1-textbox, 2-수식, 3-button
 /**
  * nCell is greater than one only for table, otherwise it is 1.
  */
@@ -545,7 +545,7 @@ struct Table
 	 TxtBox *box;
 };
 
-/* picture (11) ±×¸², OLE±×¸², »ðÀԱ׸², ±×¸®±â */
+/* picture (11) 그림, OLE그림, 삽입그림, 그리기 */
 enum pictype
 {
     PICTYPE_FILE, PICTYPE_OLE, PICTYPE_EMBED,
@@ -624,7 +624,7 @@ struct Picture: public FBox
  * follow_block_size is the size information of the Drawing object of hwp.
  * It's value is greater than 0 if the pictype is PICTYPE_DRAW.
  */
-    ulong     follow_block_size;                  /* Ãß°¡Á¤º¸ ±æÀÌ. */
+    ulong     follow_block_size;                  /* 추가정보 길이. */
     short     dummy1;                             // to not change structure size */
     short     dummy2;                             // to not change structure size */
     uchar     reserved1;
@@ -654,7 +654,7 @@ struct Picture: public FBox
 /**
  * It's for the Drawing object
  */
-    unsigned char *follow;                        /* ±×¸²Á¾·ù°¡ drawingÀ϶§, Ãß°¡Á¤º¸. */
+    unsigned char *follow;                        /* 그림종류가 drawing일때, 추가정보. */
 
     bool ishyper;
 
@@ -830,7 +830,7 @@ struct ShowPageNum: public HBox
     virtual int Read(HWPFile &hwpf);
 };
 
-/* Ȧ¼öÂʽÃÀÛ (21) */
+/* 홀수쪽시작 (21) */
 #define HIDE_HD         1                         /* bit 0 */
 #define HIDE_FT         2                         /* bit 1 */
 #define HIDE_PGNUM      4                         /* bit 2 */
@@ -1000,7 +1000,7 @@ class Outline: public HBox
 /**
  * decoration charactor for the level type
  */
-        hchar     deco[MAX_OUTLINE_LEVEL][2];     /* »ç¿ëÀÚ Á¤Àǽà ¾ÕµÚ ¹®ÀÚ */
+        hchar     deco[MAX_OUTLINE_LEVEL][2];     /* 사용자 정의시 앞뒤 문자 */
         hchar     dummy;
 
         Outline();
@@ -1009,7 +1009,7 @@ class Outline: public HBox
         hchar_string GetUnicode() const;
 };
 
-/* ¹­À½ ºóÄ­(30) */
+/* 묶음 빈칸(30) */
 /**
  * The Special space to be treated non-space when a string is
  * cut at the end of line
@@ -1024,7 +1024,7 @@ struct KeepSpace: public HBox
     virtual int Read(HWPFile &hwpf);
 };
 
-/* °íÁ¤Æø ºóÄ­(31) */
+/* 고정폭 빈칸(31) */
 /**
  * @short Space with always same width not relation with fonts.
  */

Modified: openoffice/branches/ia2/main/hwpfilter/source/hcode.cpp
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/hwpfilter/source/hcode.cpp?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/hwpfilter/source/hcode.cpp (original)
+++ openoffice/branches/ia2/main/hwpfilter/source/hcode.cpp Thu Feb 21 02:52:59 2013
@@ -552,7 +552,7 @@ static hchar cdkssm2ks_han(hchar kssm)
     unsigned int index;
     unsigned char lo, hi;
 
-/* "ÇÑ" */
+/* "한" */
     if (kssm == 0xd3c5)
         return 0xc7d1;
 
@@ -615,7 +615,7 @@ static hchar choseong_to_unicode[] =
 	0x110e, 0x110f, 0x1110, 0x1111, 0x1112, 0x1120, 0x1121, 0x1127,
 	0x112b, 0x112d, 0x112f, 0x1132, 0x1136, 0x1140, 0x114c, 0x1158
 };
-/* Áß¼ºÀÌ 0°ú 1ÀÎ °÷¿¡´Â ´Ù¸¥ ÄÚµåµéÀÌ µé¾î°¡ ÀÖ´Ù. À̺κп¡ ´ëÇÑ ¹ýÄ¢À» »Ì¾Æ¶ó. */
+/* 중성이 0과 1인 곳에는 다른 코드들이 들어가 있다. 이부분에 대한 법칙을 뽑아라. */
 static hchar joongseong_to_unicode[] =
 {
 	0, 		0, 	0, 0x1161, 0x1162, 0x1163, 0x1164, 0x1165,
@@ -632,12 +632,12 @@ static hchar jongseong_to_unicode[] =
 	0x11bd, 0x11be, 0x11bf, 0x11c0, 0x11c1, 0x11c2, 0x11eb, 0x11f0
 };
 
-/* Áß¼ºÀÌ 0°ú 1Àΰ÷ */
-/* óÀ½ 32°³´Â ÀÚ¸ð, ³ª¸ÓÁö 32°³´Â Á¶ÇÕÀ¸·Î ±¸¼º.
- * 0x8000 ~ 0xa413±îÁö 32°³ ³ª¿À°í, 0x0400´õÇÑ 0x8400¿¡¼­ ´Ù½Ã 32°³ ³ª¿À´Â ½ÄÀ¸·Î ÁøÇàµÈ´Ù.
- * Àڸ𿵿ªÀº ÀÏ¹Ý Å×À̺í·Î ³ª¸ÓÁö´Â ±¸Á¶Ã¼ ¸ÅÇÎÅ×À̺í·Î ¸¸µç´Ù.
+/* 중성이 0과 1인곳 */
+/* 처음 32개는 자모, 나머지 32개는 조합으로 구성.
+ * 0x8000 ~ 0xa413까지 32개 나오고, 0x0400더한 0x8400에서 다시 32개 나오는 식으로 진행된다.
+ * 자모영역은 일반 테이블로 나머지는 구조체 매핑테이블로 만든다.
  */
-/* 308°³.. 1152°³¿¡¼­ 308°³¸¦ Á¦¿ÜÇÑ ³ª¸ÓÁö 844°³´Â ÀÚ¸ðÁ¶ÇÕÀÌ´Ù. */
+/* 308개.. 1152개에서 308개를 제외한 나머지 844개는 자모조합이다. */
 static hchar jamo_to_unicode[] =
 {
 	0x3131, 0x3132, 0x3133, 0x3134, 0x3135, 0x3136, 0x3137, 0x3138,
@@ -696,7 +696,7 @@ struct JamoComp{
 	hchar v2;
 	hchar v3;
 };
-/* 704 + 12 = 706 °³  */
+/* 704 + 12 = 706 개  */
 static JamoComp jamocomp1_to_unicode[] =
 {
 	{3, 0x1100, 0x1161, 0x11e7}, {3, 0x1100, 0x1161, 0x3167},
@@ -819,7 +819,7 @@ static JamoComp jamocomp1_to_unicode[] =
 	{3, 0x1105, 0x119e, 0x11d7}, {3, 0x1105, 0x119e, 0x11dc},
 	{3, 0x1105, 0x119e, 0x11dd}, {2, 0x1105, 0x1176, 0x0000},
 
-/* -- ¿©±âºÎÅÍ ¼ýÀÚ ¾È¹Ù²Þ Áï, 3À» 2·Î ¹Ù²Ù¾î ÁÖ¾î¾ß ÇÔ. */
+/* -- 여기부터 숫자 안바꿈 즉, 3을 2로 바꾸어 주어야 함. */
 	{2, 0x1105, 0x1178, 0x0000}, {2, 0x1105, 0x117a, 0x0000},
 	{2, 0x1105, 0x117b, 0x0000}, {2, 0x1105, 0x1186, 0x0000},
 	{2, 0x1105, 0x1187, 0x0000}, {2, 0x1105, 0x118c, 0x0000},
@@ -946,11 +946,11 @@ int hcharconv(hchar ch, hchar *dest, int
 		  dest[0] = ch;
         return 1;
     }
-      /* ÇÑÀÚ´Â 0x4000ºÎÅÍ 4888°¡ÁöÀÇ °ªÀ» °¡Áø´Ù. */
+      /* 한자는 0x4000부터 4888가지의 값을 가진다. */
     else if (IsHanja(ch))
     {
-        /*  4888ÀÌ¿ÜÀÇ ¼ö´Â ¾Æ·¡Çѱۿ¡¼­ Á¤ÀÇÇÑ È®ÀåÇÑÀÚÀÌ´Ù. ÀÌ°Í¿¡ ´ëÇؼ­´Â
-            À¯´ÏÄڵ峪 ¿Ï¼ºÇüÄÚµå·ÎÀÇ º¯È¯À» À§ÇÑ ¸ÅÇÎÅ×À̺í¾î ¾ø´Â ½ÇÁ¤ÀÌ´Ù.
+        /*  4888이외의 수는 아래한글에서 정의한 확장한자이다. 이것에 대해서는
+            유니코드나 완성형코드로의 변환을 위한 매핑테이블어 없는 실정이다.
          */
         if ((index = ch - 0x4000) >= 4888)
         {
@@ -962,8 +962,8 @@ int hcharconv(hchar ch, hchar *dest, int
         }
         if (codeType == KS)
         {
-            /*  ÇÑÀÚÄÚµå´Â »óÀ§ÄÚµå¿Í ÇÏÀ§ÄÚµå·Î ³ª´©¾îÁö¸ç ÇÏÀ§ÄÚµå´Â 0xA1 - 0xFE ±îÁöÀÇ °ªÀ» °¡Áø´Ù.
-                Áï ÇÏÀ§Äڵ忡 ¿Ã¼öÀÖ´Â °¡Áö¼ö´Â 0xFE - 0xA1 +1 °¡Áö¼öÀÌ´Ù.
+            /*  한자코드는 상위코드와 하위코드로 나누어지며 하위코드는 0xA1 - 0xFE 까지의 값을 가진다.
+                즉 하위코드에 올수있는 가지수는 0xFE - 0xA1 +1 가지수이다.
              */
             hi = sal::static_int_cast<unsigned char>(index / (0xFE - 0xA1 + 1) + 0xCA);
             lo = sal::static_int_cast<unsigned char>(index % (0xFE - 0xA1 + 1) + 0xA1);
@@ -1027,8 +1027,8 @@ int hcharconv(hchar ch, hchar *dest, int
         return 1 ;
     }
 /**
- * Ư¼ö¹®ÀÚ ÄÚµå
- * ¾Æ·¡Çѱۿ¡¼­´Â 0x3400ºÎÅÍ Æ¯¼ö¹®ÀÚ°¡ ½ÃÀ۵ȴÙ. Á¶ÇÕÇüÀº 0xA1A0
+ * 특수문자 코드
+ * 아래한글에서는 0x3400부터 특수문자가 시작된다. 조합형은 0xA1A0
  */
     else
     {
@@ -1043,7 +1043,7 @@ int hcharconv(hchar ch, hchar *dest, int
 						 dest[0] = ch;
 						  return 1;
 					 }
-                     /* Çѱ۰úÄÄÇ»ÅÍ : 0x37c0 ~ 0x37c5 */
+                     /* 한글과컴퓨터 : 0x37c0 ~ 0x37c5 */
 					 if( ch2 >= 0x37c0 && ch2 <= 0x37c5 ){
 						 if( ch2 == 0x37c0 ) dest[0] = 0xd55c;
 						 else if( ch2 == 0x37c1 ) dest[0] = 0xae00;
@@ -1089,7 +1089,7 @@ int hcharconv(hchar ch, hchar *dest, int
     }
 }
 
-/* ÇѱÛÀÏ °æ¿ì. */
+/* 한글일 경우. */
 int kssm_hangul_to_ucs2(hchar ch, hchar *dest)
 {
     hchar choseong, joongseong, jongseong;
@@ -1100,13 +1100,13 @@ int kssm_hangul_to_ucs2(hchar ch, hchar 
 
 	 //printf("kssm_hangul_to_ucs2 : [%d,%d,%d]\n", choseong,joongseong,jongseong);
 
-     if( joongseong < 2 ){ /* Á¶ÇÕµÇÁö ¾ÊÀº ¿µ¿ª Áß¼º=0,1 */
-         if( joongseong == 0 && ch < 0xa414 ){ /* °í¾îÆ÷ÇÔ ÀÚ¸ð */
+     if( joongseong < 2 ){ /* 조합되지 않은 영역 중성=0,1 */
+         if( joongseong == 0 && ch < 0xa414 ){ /* 고어포함 자모 */
 			 int index = choseong * 32 + jongseong;
 			 dest[0] = jamo_to_unicode[index];
 			 return 1;
 		 }
-         else{ /* °í¾îÆ÷ÇÔ ÀÚ¸ðÁ¶ÇÕ : Å×ÀÌºí ¹Ì¿Ï¼º */
+         else{ /* 고어포함 자모조합 : 테이블 미완성 */
              unsigned int index = choseong * 32 + jongseong - 308;
              if( index < sizeof(jamocomp1_to_unicode)/sizeof(jamocomp1_to_unicode[0])){
 				 dest[0] = jamocomp1_to_unicode[index].v1;
@@ -1118,11 +1118,11 @@ int kssm_hangul_to_ucs2(hchar ch, hchar 
 			 return 1;
 		 }
 	 }
-     else if ( choseong == 1 && jongseong == 1 ){ /* ¸ðÀ½ */
+     else if ( choseong == 1 && jongseong == 1 ){ /* 모음 */
 		 dest[0] = joongseong_to_unicode[joongseong];
 		 return 1;
 	 }
-     else if ( joongseong == 2 && jongseong == 1 ){  /* ÀÚÀ½ */
+     else if ( joongseong == 2 && jongseong == 1 ){  /* 자음 */
 		 dest[0] = choseong_to_unicode[choseong];
        return 1;
     }
@@ -1131,8 +1131,8 @@ int kssm_hangul_to_ucs2(hchar ch, hchar 
 			 joongseong == 25 || joongseong > 29 ||
 			 jongseong == 0 || jongseong == 18 ||
 			 jongseong > 29 ||
-			 choseong == 1 || joongseong == 2  /* ¿Ï¼ºµÇÁö ¾ÊÀº ÇÑ±Û */
-             ) { /* °í¾î */
+			 choseong == 1 || joongseong == 2  /* 완성되지 않은 한글 */
+             ) { /* 고어 */
 		 int count = 0;
 		 if( choseong != 1 ){
 			 dest[count] = choseong_to_unicode[choseong];
@@ -1212,7 +1212,7 @@ hchar_string hstr2ucsstr(hchar const* hs
 }
 
 /**
- * ÇÑÄĽºÆ®¸µÀ» ¿Ï¼ºÇü½ºÆ®¸µÀ¸·Î º¯È¯ÇÑ´Ù
+ * 한컴스트링을 완성형스트링으로 변환한다
  */
 ::std::string hstr2ksstr(hchar const* hstr)
 {
@@ -1242,8 +1242,8 @@ hchar_string hstr2ucsstr(hchar const* hs
 
 
 /*
- * Çѱۿ¡¼­ ¿µ¹®¿ÜÀÇ ¹®ÀÚ±îÁö Æ÷ÇÔÇÒ ¼ö ÀÖ´Â kcharŸÀÔÀÇ ¹®ÀÚ¿­À»
- * Çѱۿ¡¼­ »ç¿ëÇÏ´Â hcharŸÀÔÀÇ ¹®ÀÚ¿­·Î º¯È¯ÇÑ´Ù.
+ * 한글에서 영문외의 문자까지 포함할 수 있는 kchar타입의 문자열을
+ * 한글에서 사용하는 hchar타입의 문자열로 변환한다.
  */
 hchar_string kstr2hstr(unsigned char const* src)
 {
@@ -1274,7 +1274,7 @@ char* Int2Str(int value, const char *for
 }
 
 
-/* colorÀ妽º °ª°ú À½¿µ°ªÀ» Á¶ÇÕÇÏ¿© ½ºÅ¸¿ÀÇǽºÀÇ color·Î º¯È¯ */
+/* color인덱스 값과 음영값을 조합하여 스타오피스의 color로 변환 */
 char *hcolor2str(uchar color, uchar shade, char *buf, bool bIsChar)
 {
     unsigned short red,green,blue;
@@ -1478,11 +1478,11 @@ double calcAngle(int x1, int y1, int x2,
 	 }
 	 double angle;
 	 angle = (180 / PI) * atan( ( y2 - y1 ) * 1.0 / ( x2 - x1 ));
-     if( y2 >= y1 ){ /* 1,2»çºÐ¸é */
+     if( y2 >= y1 ){ /* 1,2사분면 */
 		  if( angle < 0. )
 				angle += 180.;
 	 }
-     else{ /* 3, 4 »çºÐ¸é */
+     else{ /* 3, 4 사분면 */
 		  if( angle > 0 )
 				angle += 180.;
 		  else

Modified: openoffice/branches/ia2/main/hwpfilter/source/hcode.h
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/hwpfilter/source/hcode.h?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/hwpfilter/source/hcode.h (original)
+++ openoffice/branches/ia2/main/hwpfilter/source/hcode.h Thu Feb 21 02:52:59 2013
@@ -43,22 +43,22 @@ DLLEXPORT hchar ksc5601_han_to_ucs2 (hch
 DLLEXPORT hchar ksc5601_sym_to_ucs2 (hchar);
 DLLEXPORT hchar_string hstr2ucsstr(hchar const* hstr);
 /**
- * ÇÑÄĽºÆ®¸µÀ» ¿Ï¼ºÇü½ºÆ®¸µÀ¸·Î º¯È¯ÇÑ´Ù.
+ * 한컴스트링을 완성형스트링으로 변환한다.
  */
 DLLEXPORT ::std::string hstr2ksstr(hchar const* hstr);
 
 /**
- * ÇѱÛÀ» Æ÷ÇÔÇÒ ¼ö ÀÖ´Â charÇü½ºÆ®¸µÀ» ÇÑÄĽºÆ®¸µÀ¸·Î º¯È¯ÇÑ´Ù.
+ * 한글을 포함할 수 있는 char형스트링을 한컴스트링으로 변환한다.
  */
 DLLEXPORT hchar_string kstr2hstr(uchar const* src);
 
 /**
- * hwpÀÇ °æ·Î¸¦ unixÇüÅ·Π¹Ù²Û´Ù.
+ * hwp의 경로를 unix형태로 바꾼다.
  */
 DLLEXPORT ::std::string urltounix(const char *src);
 
 /**
- * hwpÀÇ °æ·Î¸¦ windowsÇüÅ·Π¹Ù²Û´Ù.
+ * hwp의 경로를 windows형태로 바꾼다.
  */
 #ifdef _WIN32
 DLLEXPORT ::std::string urltowin(const char *src);
@@ -69,7 +69,7 @@ DLLEXPORT ::std::string urltowin(const c
 DLLEXPORT char* Int2Str(int value, const char *format, char *buf);
 
 /**
- * colorÀ妽º °ª°ú À½¿µ°ªÀ» Á¶ÇÕÇÏ¿© ½ºÅ¸¿ÀÇǽºÀÇ color·Î º¯È¯
+ * color인덱스 값과 음영값을 조합하여 스타오피스의 color로 변환
  */
 DLLEXPORT char *hcolor2str(uchar color, uchar shade, char *buf, bool bIsChar = false);
 

Modified: openoffice/branches/ia2/main/hwpfilter/source/hfont.cpp
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/hwpfilter/source/hfont.cpp?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/hwpfilter/source/hfont.cpp (original)
+++ openoffice/branches/ia2/main/hwpfilter/source/hfont.cpp Thu Feb 21 02:52:59 2013
@@ -27,7 +27,7 @@
 #include "hwplib.h"
 #include "hwpfile.h"
 #include "hfont.h"
-/* ÀÌ ÇÔ¼ö´Â HWP ÆÄÀÏÀ» Çؼ®ÇÏ´Â ºÎºÐÀÌ´Ù. */
+/* 이 함수는 HWP 파일을 해석하는 부분이다. */
 
 HWPFont::HWPFont(void)
 {

Modified: openoffice/branches/ia2/main/hwpfilter/source/hinfo.cpp
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/hwpfilter/source/hinfo.cpp?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/hwpfilter/source/hinfo.cpp (original)
+++ openoffice/branches/ia2/main/hwpfilter/source/hinfo.cpp Thu Feb 21 02:52:59 2013
@@ -62,42 +62,42 @@ HWPInfo::~HWPInfo(void)
 
 
 /**
- * ¹®¼­Á¤º¸¸¦ ÀоîµéÀÌ´Â ÇÔ¼ö ( 128 bytes )
- * ¹®¼­Á¤º¸´Â ÆÄÀÏÀνÄÁ¤º¸( 30 bytes ) ´ÙÀ½¿¡ À§Ä¡ÇÑ Á¤º¸ÀÌ´Ù.
+ * 문서정보를 읽어들이는 함수 ( 128 bytes )
+ * 문서정보는 파일인식정보( 30 bytes ) 다음에 위치한 정보이다.
  */
 bool HWPInfo::Read(HWPFile & hwpf)
 {
-    hwpf.Read2b(&cur_col, 1);                     /* ¹®¼­¸¦ ÀúÀåÇÒ ´ç½ÃÀÇ Ä¿¼­°¡ À§Ä¡ÇÑ ¹®´Ü¹øÈ£ */
-    hwpf.Read2b(&cur_row, 1);                     /* ¹®´Ü Ä­ */
+    hwpf.Read2b(&cur_col, 1);                     /* 문서를 저장할 당시의 커서가 위치한 문단번호 */
+    hwpf.Read2b(&cur_row, 1);                     /* 문단 칸 */
 
-    hwpf.Read1b(&paper.paper_kind, 1);            /* ¿ëÁö Á¾·ù */
-    hwpf.Read1b(&paper.paper_direction, 1);       /* ¿ëÁö ¹æÇâ */
+    hwpf.Read1b(&paper.paper_kind, 1);            /* 용지 종류 */
+    hwpf.Read1b(&paper.paper_direction, 1);       /* 용지 방향 */
 
 // paper geometry information
-    paper.paper_height = (short) hwpf.Read2b();   /* ¿ëÁö ±æÀÌ */
-    paper.paper_width = (short) hwpf.Read2b();    /* ¿ëÁö ³Êºñ */
-    paper.top_margin = (short) hwpf.Read2b();     /* À§ÂÊ ¿©¹é */
-    paper.bottom_margin = (short) hwpf.Read2b();  /* ¾Æ·¡ÂÊ ¿©¹é */
-    paper.left_margin = (short) hwpf.Read2b();    /* ¿ÞÂÊ ¿©¹é */
-    paper.right_margin = (short) hwpf.Read2b();   /* ¿À¸¥ÂÊ ¿©¹é */
-    paper.header_length = (short) hwpf.Read2b();  /* ¸Ó¸®¸» ±æÀÌ */
-    paper.footer_length = (short) hwpf.Read2b();  /* ²¿¸®¸» ±æÀÌ */
-    paper.gutter_length = (short) hwpf.Read2b();  /* Á¦º»¿©¹é */
-    hwpf.Read2b(&readonly, 1);                    /* ¿¹¾à */
-    hwpf.Read1b(reserved1, 4);                    /* ¿¹¾à */
-    hwpf.Read1b(&chain_info.chain_page_no, 1);    /* ÂÊ ¹øÈ£ ¿¬°á 1-¿¬°á, 0-»õ·Î½ÃÀÛ (¿¬°áÀμ⿡¼­ »ç¿ë) */
-    hwpf.Read1b(&chain_info.chain_footnote_no, 1);/* °¢ÁÖ¹øÈ£ ¿¬°á 1-¿¬°á 0-»õ·Î½ÃÀÛ */
-                                                  /* ¿¬°áÀμâÇÒ ÆÄÀÏÀÇ À̸§ */
+    paper.paper_height = (short) hwpf.Read2b();   /* 용지 길이 */
+    paper.paper_width = (short) hwpf.Read2b();    /* 용지 너비 */
+    paper.top_margin = (short) hwpf.Read2b();     /* 위쪽 여백 */
+    paper.bottom_margin = (short) hwpf.Read2b();  /* 아래쪽 여백 */
+    paper.left_margin = (short) hwpf.Read2b();    /* 왼쪽 여백 */
+    paper.right_margin = (short) hwpf.Read2b();   /* 오른쪽 여백 */
+    paper.header_length = (short) hwpf.Read2b();  /* 머리말 길이 */
+    paper.footer_length = (short) hwpf.Read2b();  /* 꼬리말 길이 */
+    paper.gutter_length = (short) hwpf.Read2b();  /* 제본여백 */
+    hwpf.Read2b(&readonly, 1);                    /* 예약 */
+    hwpf.Read1b(reserved1, 4);                    /* 예약 */
+    hwpf.Read1b(&chain_info.chain_page_no, 1);    /* 쪽 번호 연결 1-연결, 0-새로시작 (연결인쇄에서 사용) */
+    hwpf.Read1b(&chain_info.chain_footnote_no, 1);/* 각주번호 연결 1-연결 0-새로시작 */
+                                                  /* 연결인쇄할 파일의 이름 */
     hwpf.Read1b(chain_info.chain_filename, CHAIN_MAX_PATH);
 
-    hwpf.Read1b(annotation, ANNOTATION_LEN);      /* µ¡ºÙÀÌ´Â ¸» ( ÆÄÀÏ ÀúÀåÇÒ ¶§ µ¡ºÙÀÌ´Â ¸»¿¡ ÁöÁ¤ÇÑ ³»¿ë ) */
-    hwpf.Read2b(&encrypted, 1);                   /* ¾ÏÈ£ ¿©ºÎ 0-º¸ÅëÆÄÀÏ, ±×¿Ü-¾ÏÈ£°É¸° ÆÄÀÏ */
-//hwpf.Read1b(reserved2, 6);                      /* ¾Æ·¡ 3°³ÀÇ°ªÀ¸·Î ¹Ù²î¾ú´Ù. */
-    hwpf.Read2b(&beginpagenum,1);                 /* ÆäÀÌÁö½ÃÀÛ¹øÈ£ */
+    hwpf.Read1b(annotation, ANNOTATION_LEN);      /* 덧붙이는 말 ( 파일 저장할 때 덧붙이는 말에 지정한 내용 ) */
+    hwpf.Read2b(&encrypted, 1);                   /* 암호 여부 0-보통파일, 그외-암호걸린 파일 */
+//hwpf.Read1b(reserved2, 6);                      /* 아래 3개의값으로 바뀌었다. */
+    hwpf.Read2b(&beginpagenum,1);                 /* 페이지시작번호 */
 
 // footnote
-    hwpf.Read2b(&beginfnnum,1);                   /* °¢ÁÖ ½ÃÀÛ¹øÈ£ */
-    hwpf.Read2b(&countfn,1);                      /* °¢ÁÖ °¹¼ö */
+    hwpf.Read2b(&beginfnnum,1);                   /* 각주 시작번호 */
+    hwpf.Read2b(&countfn,1);                      /* 각주 갯수 */
     splinetext = (short) hwpf.Read2b();
     splinefn = (short) hwpf.Read2b();
     spfnfn = (short) hwpf.Read2b();
@@ -118,7 +118,7 @@ bool HWPInfo::Read(HWPFile & hwpf)
     if (hwpf.State())
         return false;
 
-/* ¹®¼­ ¿ä¾àÀ» Àд´Ù. */
+/* 문서 요약을 읽는다. */
     if (!summary.Read(hwpf))
         return false;
     if (info_block_len > 0)
@@ -130,7 +130,7 @@ bool HWPInfo::Read(HWPFile & hwpf)
             return false;
     }
 
-/* hwpfÀÇ °ªÀ» Àç¼³Á¤ ÇÑ´Ù. */
+/* hwpf의 값을 재설정 한다. */
     hwpf.compressed = compressed ? true : false;
     hwpf.encrypted = encrypted ? true : false;
     hwpf.info_block_len = info_block_len;

Modified: openoffice/branches/ia2/main/hwpfilter/source/hiodev.cpp
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/hwpfilter/source/hiodev.cpp?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/hwpfilter/source/hiodev.cpp (original)
+++ openoffice/branches/ia2/main/hwpfilter/source/hiodev.cpp Thu Feb 21 02:52:59 2013
@@ -156,7 +156,7 @@ void HStreamIODev::flush(void)
 
 void HStreamIODev::close(void)
 {
-/* Ç÷¯½ÃÇÑ ÈÄ ´Ý´Â´Ù. */
+/* 플러시한 후 닫는다. */
     this->flush();
     if (_gzfp)
         gz_close(_gzfp);                          /* gz_close() calls stream_closeInput() */
@@ -172,7 +172,7 @@ int HStreamIODev::state(void) const
 }
 
 
-/* zlib °ü·Ã ºÎºÐ */
+/* zlib 관련 부분 */
 bool HStreamIODev::setCompressed(bool flag)
 {
     compressed = flag;

Modified: openoffice/branches/ia2/main/hwpfilter/source/hiodev.h
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/hwpfilter/source/hiodev.h?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/hwpfilter/source/hiodev.h (original)
+++ openoffice/branches/ia2/main/hwpfilter/source/hiodev.h Thu Feb 21 02:52:59 2013
@@ -69,7 +69,7 @@ class DLLEXPORT HIODev
 
 struct gz_stream;
 
-/* ÆÄÀÏ ÀÔÃâ·Â ÀåÄ¡ */
+/* 파일 입출력 장치 */
 
 /**
  * This controls the HStream given by constructor
@@ -78,7 +78,7 @@ struct gz_stream;
 class HStreamIODev : public HIODev
 {
     private:
-/* zlibÀ¸·Î ¾ÐÃàÀ» Ç®±â À§ÇÑ ÀÚ·á ±¸Á¶ */
+/* zlib으로 압축을 풀기 위한 자료 구조 */
         gz_stream *_gzfp;
         HStream& _stream;
     public:
@@ -134,7 +134,7 @@ class HStreamIODev : public HIODev
         virtual void init();
 };
 
-/* ¸Þ¸ð¸® ÀÔÃâ·Â ÀåÄ¡ */
+/* 메모리 입출력 장치 */
 /**
  * The HMemIODev class controls the Input/Output device.
  * @short Memory IO device

Modified: openoffice/branches/ia2/main/hwpfilter/source/hpara.h
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/hwpfilter/source/hpara.h?rev=1448495&r1=1448494&r2=1448495&view=diff
==============================================================================
--- openoffice/branches/ia2/main/hwpfilter/source/hpara.h (original)
+++ openoffice/branches/ia2/main/hwpfilter/source/hpara.h Thu Feb 21 02:52:59 2013
@@ -59,7 +59,7 @@ class HWPPara;
 
 struct LineInfo
 {
-/* ½ÃÀÛÇÏ´Â ±ÛÀÚÀÇ À§Ä¡ : ÄÜÆ®·ÑÀº ¿©·¯ ±æÀ̸¦ °¡Áø´Ù */
+/* 시작하는 글자의 위치 : 콘트롤은 여러 길이를 가진다 */
 /**
  * Starting character position
  */
@@ -90,7 +90,7 @@ class DLLEXPORT HWPPara
 /**
  * Zero is for the new paragraph style.
  */
-        unsigned char     reuse_shape;            /* 0ÀÌ¸é »õ¸ð¾ç */
+        unsigned char     reuse_shape;            /* 0이면 새모양 */
         unsigned short    nch;
         unsigned short    nline;
 
@@ -101,15 +101,15 @@ class DLLEXPORT HWPPara
 /**
  * If the value is 0, all character of paragraph have same style given cshape
  */
-        unsigned char     contain_cshape;         /* 0ÀÌ¸é ¸ðµç ±ÛÀÚ°¡ ´ëÇ¥ ±ÛÀÚ ¸ð¾ç */
+        unsigned char     contain_cshape;         /* 0이면 모든 글자가 대표 글자 모양 */
         unsigned char     etcflag;
 /**
  * Checks the special characters in the paragraph
  */
         unsigned long     ctrlflag;
         unsigned char     pstyno;
-        CharShape     cshape;                     /* ±ÛÀÚ°¡ ¸ðµÎ °°Àº ¸ð¾çÀ϶§	*/
-        ParaShape     pshape;                     /* reuse flag°¡ 0À̸é		*/
+        CharShape     cshape;                     /* 글자가 모두 같은 모양일때	*/
+        ParaShape     pshape;                     /* reuse flag가 0이면		*/
         int           pno;                        /* run-time only		*/
 
         LineInfo      *linfo;
@@ -128,7 +128,7 @@ class DLLEXPORT HWPPara
 
         void  SetNext(HWPPara *n) { _next = n; };
 
-/* layoutÀ» À§ÇÑ ÇÔ¼ö */
+/* layout을 위한 함수 */
 /**
  * Returns the character sytle of paragraph.
  */