[Libreoffice-commits] core.git: Branch 'aoo/trunk' - hwpfilter/inc hwpfilter/prj hwpfilter/source LICENSE rat-excludes scp2/source sysui/desktop toolkit/src2xml

Pedro Giffuni pfg at apache.org
Fri Feb 12 22:08:28 UTC 2016


 LICENSE                                     |   21 
 hwpfilter/inc/makefile.mk                   |   43 
 hwpfilter/inc/pch/precompiled_hwpfilter.cxx |   25 
 hwpfilter/inc/pch/precompiled_hwpfilter.hxx |   28 
 hwpfilter/prj/build.lst                     |    5 
 hwpfilter/prj/d.lst                         |    5 
 hwpfilter/source/attributes.cxx             |  164 
 hwpfilter/source/attributes.hxx             |   70 
 hwpfilter/source/cspline.cpp                |  169 
 hwpfilter/source/cspline.h                  |   32 
 hwpfilter/source/datecode.h                 |   53 
 hwpfilter/source/drawdef.h                  |  258 -
 hwpfilter/source/drawing.h                  |  812 ----
 hwpfilter/source/fontmap.cpp                |  170 
 hwpfilter/source/formula.cpp                |  685 ---
 hwpfilter/source/formula.h                  |   98 
 hwpfilter/source/grammar.cpp                | 1471 --------
 hwpfilter/source/grammar.h                  |   61 
 hwpfilter/source/hbox.cpp                   |  701 ---
 hwpfilter/source/hbox.h                     | 1039 -----
 hwpfilter/source/hcode.cpp                  | 1492 --------
 hwpfilter/source/hcode.h                    |   80 
 hwpfilter/source/hfont.cpp                  |  103 
 hwpfilter/source/hfont.h                    |   73 
 hwpfilter/source/hgzip.cpp                  |  333 -
 hwpfilter/source/hgzip.h                    |  110 
 hwpfilter/source/hinfo.cpp                  |  217 -
 hwpfilter/source/hinfo.h                    |  260 -
 hwpfilter/source/hiodev.cpp                 |  361 --
 hwpfilter/source/hiodev.h                   |  167 
 hwpfilter/source/hpara.cpp                  |  320 -
 hwpfilter/source/hpara.h                    |  178 -
 hwpfilter/source/hstream.cpp                |   76 
 hwpfilter/source/hstream.h                  |   62 
 hwpfilter/source/hstyle.cpp                 |  152 
 hwpfilter/source/hstyle.h                   |   57 
 hwpfilter/source/htags.cpp                  |  158 
 hwpfilter/source/htags.h                    |   85 
 hwpfilter/source/hutil.cpp                  |   97 
 hwpfilter/source/hutil.h                    |   43 
 hwpfilter/source/hwp.component              |   30 
 hwpfilter/source/hwpeq.cpp                  |  763 ----
 hwpfilter/source/hwpeq.h                    |   40 
 hwpfilter/source/hwpfile.cpp                |  676 ---
 hwpfilter/source/hwpfile.h                  |  308 -
 hwpfilter/source/hwplib.h                   |  245 -
 hwpfilter/source/hwpread.cpp                |  832 ----
 hwpfilter/source/hwpreader.cxx              | 4938 ----------------------------
 hwpfilter/source/hwpreader.hxx              |  373 --
 hwpfilter/source/ksc5601.h                  |  861 ----
 hwpfilter/source/lexer.cpp                  | 2434 -------------
 hwpfilter/source/list.hxx                   |  279 -
 hwpfilter/source/makefile.mk                |  100 
 hwpfilter/source/mapping.h                  |  396 --
 hwpfilter/source/mzstring.cpp               |  310 -
 hwpfilter/source/mzstring.h                 |  183 -
 hwpfilter/source/nodes.h                    |  103 
 hwpfilter/source/precompile.h               |   40 
 hwpfilter/source/solver.cpp                 |  179 -
 hwpfilter/source/solver.h                   |   46 
 rat-excludes                                |    9 
 scp2/source/writer/registryitem_writer.scp  |   18 
 sysui/desktop/macosx/Info.plist             |    3 
 toolkit/src2xml/include.lst                 |    5 
 64 files changed, 23505 deletions(-)

New commits:
commit 96ba554525f3e6da20ae4f657d2775c01b8dcf00
Author: Pedro Giffuni <pfg at apache.org>
Date:   Fri Feb 12 21:09:20 2016 +0000

    i126369 - Finish off hwpfilter
    
    The Hangul Word Processor filter was disabled from OpenOffice in
    r1677190 due to security concerns. While some extra buffer controls
    could  have been made and the filter restored, the truth is a much
    bigger effort is required to catch up with this format. Files created
    with later editions of Hangul, including Hangul Wordian, Hangul 2002,
    Hangul 2005 and Hangul 2007 cannot be opened with the existing filter.
    Existing users can apparently download a free viewer and convert their
    document to RTF or doc.
    
    Drop completely the code. while here also drop remnants of wpd support
    that we dropped since 3.4.1. Having less code is sometimes better.

diff --git a/LICENSE b/LICENSE
index 1e20861..939a109 100644
--- a/LICENSE
+++ b/LICENSE
@@ -754,27 +754,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 ____
 
-For main/hwpfilter/source/ksc5601.h:
-- MIT license
-
-Copyright (c) 1999-2000  Free Software Foundation, Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-FREE SOFTWARE FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
-IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-____
-
 For main/soltools/mkdepend/*:
 - MIT license
 
diff --git a/hwpfilter/inc/makefile.mk b/hwpfilter/inc/makefile.mk
deleted file mode 100644
index 866e53e..0000000
--- a/hwpfilter/inc/makefile.mk
+++ /dev/null
@@ -1,43 +0,0 @@
-#**************************************************************
-#  
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#  
-#    http://www.apache.org/licenses/LICENSE-2.0
-#  
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#  
-#**************************************************************
-
-
-PRJ=..
-
-PRJNAME=hwpfilter
-TARGET=inc
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE :  settings.mk
-
-# --- Files --------------------------------------------------------
-# --- Targets -------------------------------------------------------
-
-.INCLUDE :  target.mk
-
-.IF "$(ENABLE_PCH)"!=""
-ALLTAR : \
-    $(SLO)$/precompiled.pch \
-    $(SLO)$/precompiled_ex.pch
-    
-.ENDIF			# "$(ENABLE_PCH)"!=""
-
diff --git a/hwpfilter/inc/pch/precompiled_hwpfilter.cxx b/hwpfilter/inc/pch/precompiled_hwpfilter.cxx
deleted file mode 100644
index f78eabd..0000000
--- a/hwpfilter/inc/pch/precompiled_hwpfilter.cxx
+++ /dev/null
@@ -1,25 +0,0 @@
-/**************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *************************************************************/
-
-
-
-#include "precompiled_hwpfilter.hxx"
-
diff --git a/hwpfilter/inc/pch/precompiled_hwpfilter.hxx b/hwpfilter/inc/pch/precompiled_hwpfilter.hxx
deleted file mode 100644
index a0684d8..0000000
--- a/hwpfilter/inc/pch/precompiled_hwpfilter.hxx
+++ /dev/null
@@ -1,28 +0,0 @@
-/**************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *************************************************************/
-
-
-
-// MARKER(update_precomp.py): Generated on 2006-09-01 17:49:45.139559
-
-#ifdef PRECOMPILED_HEADERS
-#endif
-
diff --git a/hwpfilter/prj/build.lst b/hwpfilter/prj/build.lst
deleted file mode 100644
index 514602f..0000000
--- a/hwpfilter/prj/build.lst
+++ /dev/null
@@ -1,5 +0,0 @@
-hw	hwpfilter	:	offuh cppuhelper comphelper ZLIB:zlib LIBXSLT:libxslt NULL
-hw	hwpfilter							usr1	-	all	hw_mkout NULL
-hw	hwpfilter\prj						get		-	all	hw_prj NULL
-hw	hwpfilter\inc						nmake	-	all	hw_inc NULL
-hw	hwpfilter\source					nmake	-	all	hw_source hw_inc NULL
diff --git a/hwpfilter/prj/d.lst b/hwpfilter/prj/d.lst
deleted file mode 100644
index 0848b21..0000000
--- a/hwpfilter/prj/d.lst
+++ /dev/null
@@ -1,5 +0,0 @@
-..\%__SRC%\bin\hwp.dll %_DEST%\bin%_EXT%\hwp.dll
-..\%__SRC%\lib\ihwp*.lib %_DEST%\bin%_EXT%\ihwp*.lib
-..\%__SRC%\lib\libhwp.so %_DEST%\lib%_EXT%\libhwp.so
-..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib
-..\%__SRC%\misc\hwp.component %_DEST%\xml%_EXT%\hwp.component
diff --git a/hwpfilter/source/attributes.cxx b/hwpfilter/source/attributes.cxx
deleted file mode 100644
index f2337a0..0000000
--- a/hwpfilter/source/attributes.cxx
+++ /dev/null
@@ -1,164 +0,0 @@
-/**************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *************************************************************/
-
-
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_hwpfilter.hxx"
-
-#include <assert.h>
-#ifndef __SGI_STL_VECTOR
-#include <vector>
-#endif
-#include "attributes.hxx"
-
-//using namespace ::std;
-
-struct TagAttribute
-{
-    TagAttribute(){}
-    TagAttribute( const OUString &rName, const OUString &rType , const OUString &rValue )
-    {
-        sName     = rName;
-        sType     = rType;
-        sValue    = rValue;
-    }
-
-    OUString sName;
-    OUString sType;
-    OUString sValue;
-};
-
-struct AttributeListImpl_impl
-{
-    AttributeListImpl_impl()
-    {
-// performance improvement during adding
-        vecAttribute.reserve(20);
-    }
-    std::vector<struct TagAttribute> vecAttribute;
-};
-
-sal_Int16 SAL_CALL AttributeListImpl::getLength(void) throw (RuntimeException)
-{
-    return (sal_Int16)m_pImpl->vecAttribute.size();
-}
-
-
-AttributeListImpl::AttributeListImpl( const AttributeListImpl &r ) :
-cppu::WeakImplHelper1<com::sun::star::xml::sax::XAttributeList>( r )
-{
-    m_pImpl = new AttributeListImpl_impl;
-    *m_pImpl = *(r.m_pImpl);
-}
-
-
-OUString AttributeListImpl::getNameByIndex(sal_Int16 i) throw (RuntimeException)
-{
-    sal_uInt32 i2 = sal::static_int_cast<sal_Int16>(i);
-    if( i >= 0 &&  i2 < m_pImpl->vecAttribute.size() )
-    {
-        return m_pImpl->vecAttribute[i].sName;
-    }
-    return OUString();
-}
-
-
-OUString AttributeListImpl::getTypeByIndex(sal_Int16 i) throw (RuntimeException)
-{
-    sal_uInt32 i2 = sal::static_int_cast<sal_Int16>(i);
-    if( i >= 0 &&  i2 < m_pImpl->vecAttribute.size() )
-    {
-        return m_pImpl->vecAttribute[i].sType;
-    }
-    return OUString();
-}
-
-
-OUString AttributeListImpl::getValueByIndex(sal_Int16 i) throw (RuntimeException)
-{
-    sal_uInt32 i2 = sal::static_int_cast<sal_Int16>(i);
-    if( i >= 0 &&  i2 < m_pImpl->vecAttribute.size() )
-    {
-        return m_pImpl->vecAttribute[i].sValue;
-    }
-    return OUString();
-
-}
-
-
-OUString AttributeListImpl::getTypeByName( const OUString& sName ) throw (RuntimeException)
-{
-    std::vector<struct TagAttribute>::iterator ii = m_pImpl->vecAttribute.begin();
-
-    for( ; ii != m_pImpl->vecAttribute.end() ; ii ++ )
-    {
-        if( (*ii).sName == sName )
-        {
-            return (*ii).sType;
-        }
-    }
-    return OUString();
-}
-
-
-OUString AttributeListImpl::getValueByName(const OUString& sName) throw (RuntimeException)
-{
-    std::vector<struct TagAttribute>::iterator ii = m_pImpl->vecAttribute.begin();
-
-    for( ; ii != m_pImpl->vecAttribute.end() ; ii ++ )
-    {
-        if( (*ii).sName == sName )
-        {
-            return (*ii).sValue;
-        }
-    }
-    return OUString();
-}
-
-
-AttributeListImpl::AttributeListImpl()
-{
-    m_pImpl = new AttributeListImpl_impl;
-}
-
-
-AttributeListImpl::~AttributeListImpl()
-{
-    delete m_pImpl;
-}
-
-
-void AttributeListImpl::addAttribute(   const OUString &sName ,
-const OUString &sType ,
-const OUString &sValue )
-{
-    m_pImpl->vecAttribute.push_back( TagAttribute( sName , sType , sValue ) );
-}
-
-
-void AttributeListImpl::clear()
-{
-    std::vector<struct TagAttribute> dummy;
-    m_pImpl->vecAttribute.swap( dummy );
-
-    assert( ! getLength() );
-}
diff --git a/hwpfilter/source/attributes.hxx b/hwpfilter/source/attributes.hxx
deleted file mode 100644
index 32afe0f..0000000
--- a/hwpfilter/source/attributes.hxx
+++ /dev/null
@@ -1,70 +0,0 @@
-/**************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *************************************************************/
-
-
-
-
-#ifndef _CONFIGMGR_MISC_ATTRIBUTES_HXX_
-#define _CONFIGMGR_MISC_ATTRIBUTES_HXX_
-
-#include <com/sun/star/xml/sax/XAttributeList.hpp>
-#include <cppuhelper/implbase1.hxx>
-
-/*----------------------------------------
-*
-*   Attributlist implementation
-*
-*----------------------------------------*/
-
-using namespace ::cppu;
-using namespace ::rtl;
-using namespace ::com::sun::star::xml::sax;
-using namespace ::com::sun::star::uno;
-
-struct AttributeListImpl_impl;
-class AttributeListImpl : public WeakImplHelper1< XAttributeList >
-{
-protected:
-    ~AttributeListImpl();
-
-public:
-    AttributeListImpl();
-    AttributeListImpl( const AttributeListImpl & );
-
-public:
-    virtual sal_Int16 SAL_CALL getLength(void) throw (RuntimeException);
-    virtual OUString  SAL_CALL getNameByIndex(sal_Int16 i) throw (RuntimeException);
-    virtual OUString  SAL_CALL getTypeByIndex(sal_Int16 i) throw (RuntimeException);
-    virtual OUString  SAL_CALL getTypeByName(const OUString& aName) throw (RuntimeException);
-    virtual OUString  SAL_CALL getValueByIndex(sal_Int16 i) throw (RuntimeException);
-    virtual OUString  SAL_CALL getValueByName(const OUString& aName) throw (RuntimeException);
-
-public:
-    void addAttribute( const OUString &sName , const OUString &sType , const OUString &sValue );
-    void clear();
-
-private:
-    struct AttributeListImpl_impl *m_pImpl;
-};
-
-#endif // _CONFIGMGR_MISC_ATTRIBUTES_HXX_
-
-
diff --git a/hwpfilter/source/cspline.cpp b/hwpfilter/source/cspline.cpp
deleted file mode 100644
index 038a8cb..0000000
--- a/hwpfilter/source/cspline.cpp
+++ /dev/null
@@ -1,169 +0,0 @@
-/**************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *************************************************************/
-
-
-
-// Natural, Clamped, or Periodic Cubic Splines
-//
-// Input:  A list of N+1 points (x_i,a_i), 0 <= i <= N, which are sampled
-// from a function, a_i = f(x_i).  The function f is unknown.  Boundary
-// conditions are
-//   (1) Natural splines:  f"(x_0) = f"(x_N) = 0
-//   (2) Clamped splines:  f'(x_0) and f'(x_N) are user-specified.
-//   (3) Periodic splines:  f(x_0) = f(x_N) [in which case a_N = a_0 is
-//       required in the input], f'(x_0) = f'(x_N), and f"(x_0) = f"(x_N).
-//
-// Output: b_i, c_i, d_i, 0 <= i <= N-1, which are coefficients for the cubic
-// spline S_i(x) = a_i + b_i(x-x_i) + c_i(x-x_i)^2 + d_i(x-x_i)^3 for
-// x_i <= x < x_{i+1}.
-//
-// The natural and clamped algorithms were implemented from
-//
-//    Numerical Analysis, 3rd edition
-//    Richard L. Burden and J. Douglas Faires
-//    Prindle, Weber & Schmidt
-//    Boston, 1985, pp. 122-124.
-//
-// The algorithm sets up a tridiagonal linear system of equations in the
-// c_i values.  This can be solved in O(N) time.
-//
-// The periodic spline algorithm was implemented from my own derivation.  The
-// linear system of equations is not tridiagonal.  For now I use a standard
-// linear solver that does not take advantage of the sparseness of the
-// matrix.  Therefore for very large N, you may have to worry about memory
-// usage.
-
-#include "solver.h"
-//-----------------------------------------------------------------------------
-void NaturalSpline (int N, double* x, double* a, double*& b, double*& c,
-    double*& d)
-{
-  const double oneThird = 1.0/3.0;
-
-  int i;
-  double* h = new double[N];
-  double* hdiff = new double[N];
-  double* alpha = new double[N];
-
-  for (i = 0; i < N; i++){
-    h[i] = x[i+1]-x[i];
-  }
-
-  for (i = 1; i < N; i++)
-    hdiff[i] = x[i+1]-x[i-1];
-
-  for (i = 1; i < N; i++)
-  {
-    double numer = 3.0*(a[i+1]*h[i-1]-a[i]*hdiff[i]+a[i-1]*h[i]);
-    double denom = h[i-1]*h[i];
-    alpha[i] = numer/denom;
-  }
-
-  double* ell = new double[N+1];
-  double* mu = new double[N];
-  double* z = new double[N+1];
-  double recip;
-
-  ell[0] = 1.0;
-  mu[0] = 0.0;
-  z[0] = 0.0;
-
-  for (i = 1; i < N; i++)
-  {
-    ell[i] = 2.0*hdiff[i]-h[i-1]*mu[i-1];
-    recip = 1.0/ell[i];
-    mu[i] = recip*h[i];
-    z[i] = recip*(alpha[i]-h[i-1]*z[i-1]);
-  }
-  ell[N] = 1.0;
-  z[N] = 0.0;
-
-  b = new double[N];
-  c = new double[N+1];
-  d = new double[N];
-
-  c[N] = 0.0;
-
-  for (i = N-1; i >= 0; i--)
-  {
-    c[i] = z[i]-mu[i]*c[i+1];
-    recip = 1.0/h[i];
-    b[i] = recip*(a[i+1]-a[i])-h[i]*(c[i+1]+2.0*c[i])*oneThird;
-    d[i] = oneThird*recip*(c[i+1]-c[i]);
-  }
-
-  delete[] h;
-  delete[] hdiff;
-  delete[] alpha;
-  delete[] ell;
-  delete[] mu;
-  delete[] z;
-}
-
-void PeriodicSpline (int N, double* x, double* a, double*& b, double*& c,
-    double*& d)
-{
-  double* h = new double[N];
-  int i;
-  for (i = 0; i < N; i++)
-    h[i] = x[i+1]-x[i];
-
-  mgcLinearSystemD sys;
-  double** mat = sys.NewMatrix(N+1);  // guaranteed to be zeroed memory
-  c = sys.NewVector(N+1);   // guaranteed to be zeroed memory
-
-  // c[0] - c[N] = 0
-  mat[0][0] = +1.0f;
-  mat[0][N] = -1.0f;
-
-  // h[i-1]*c[i-1]+2*(h[i-1]+h[i])*c[i]+h[i]*c[i+1] =
-  //   3*{(a[i+1]-a[i])/h[i] - (a[i]-a[i-1])/h[i-1]}
-  for (i = 1; i <= N-1; i++)
-  {
-    mat[i][i-1] = h[i-1];
-    mat[i][i  ] = 2.0f*(h[i-1]+h[i]);
-    mat[i][i+1] = h[i];
-    c[i] = 3.0f*((a[i+1]-a[i])/h[i] - (a[i]-a[i-1])/h[i-1]);
-  }
-
-  // "wrap around equation" for periodicity
-  // h[N-1]*c[N-1]+2*(h[N-1]+h[0])*c[0]+h[0]*c[1] =
-  //   3*{(a[1]-a[0])/h[0] - (a[0]-a[N-1])/h[N-1]}
-  mat[N][N-1] = h[N-1];
-  mat[N][0  ] = 2.0f*(h[N-1]+h[0]);
-  mat[N][1  ] = h[0];
-  c[N] = 3.0f*((a[1]-a[0])/h[0] - (a[0]-a[N-1])/h[N-1]);
-
-  // solve for c[0] through c[N]
-  sys.Solve(N+1,mat,c);
-
-  const double oneThird = 1.0/3.0;
-  b = new double[N];
-  d = new double[N];
-  for (i = 0; i < N; i++)
-  {
-    b[i] = (a[i+1]-a[i])/h[i] - oneThird*(c[i+1]+2.0f*c[i])*h[i];
-    d[i] = oneThird*(c[i+1]-c[i])/h[i];
-  }
-
-  delete[] h;
-  sys.DeleteMatrix(N+1,mat);
-}
diff --git a/hwpfilter/source/cspline.h b/hwpfilter/source/cspline.h
deleted file mode 100644
index 43bca72..0000000
--- a/hwpfilter/source/cspline.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/**************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *************************************************************/
-
-
-
-#ifndef _CSPLINE_H_
-#define _CSPLINE_H_
-
-void NaturalSpline (int N, double* x, double* a, double*& b, double*& c,
-    double*& d);
-void PeriodicSpline (int N, double* x, double* a, double*& b, double*& c,
-    double*& d);
-
-#endif /* _CSPLINE_H_ */
diff --git a/hwpfilter/source/datecode.h b/hwpfilter/source/datecode.h
deleted file mode 100644
index e6464f7..0000000
--- a/hwpfilter/source/datecode.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/**************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *************************************************************/
-
-
-
-#ifndef __DATECODE_H__
-#define __DATACODE_H__
-
-static hchar defaultform[] =
-{
-    '1', 0x9165, 32, '2', 0xB6A9, 32, '3', 0xB7A9, 0
-};
-#ifdef _DATECODE_WEEK_DEFINES_
-static hchar kor_week[] =
-{
-    0xB7A9, 0xB6A9, 0xD1C1, 0xAE81, 0xA1A2, 0x8B71, 0xC9A1
-};
-static hchar china_week[] =
-{
-    0x4CC8, 0x4BE4, 0x525A, 0x48D8, 0x45AB, 0x4270, 0x50B4
-};
-static char eng_week[] = { "SunMonTueWedThuFriSat" };
-static char eng_mon[] = { "JanFebMarAprMayJunJulAugSepOctNovDec" };
-static const char *en_mon[] =
-{
-    "January", "February", "March", "April", "May", "June", "July",
-    "August", "September", "October", "November", "December"
-};
-static const char *en_week[] =
-{
-    "Sunday", "Monday", "Tuesday", "Wednesday",
-    "Thursday", "Friday", "Saturday"
-};
-#endif //_DATECODE_WEEK_DEFINES_
-#endif
diff --git a/hwpfilter/source/drawdef.h b/hwpfilter/source/drawdef.h
deleted file mode 100644
index e43e2fc..0000000
--- a/hwpfilter/source/drawdef.h
+++ /dev/null
@@ -1,258 +0,0 @@
-/**************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *************************************************************/
-
-
-
-/* NAME $Id: drawdef.h,v 1.5 2008-04-10 11:58:04 rt Exp $
- *
- * HISTORY
- *        frog - Jan 11, 1999: Created.
- */
-
-#ifndef _DRAWDEF_H_
-#define _DRAWDEF_H_
-
-#include "hwplib.h"
-
-class HWPPara;
-
-/**
- * Constant for drawing objects
- */
-enum objtype
-{
-    HWPDO_CONTAINER,
-    HWPDO_LINE,
-    HWPDO_RECT,
-    HWPDO_ELLIPSE,
-    HWPDO_ARC,
-    HWPDO_FREEFORM,
-    HWPDO_TEXTBOX,
-    HWPDO_CURVE,
-    HWPDO_ADVANCED_ELLIPSE,
-    HWPDO_ADVANCED_ARC,
-    HWPDO_CLOSED_FREEFORM,
-    HWPDO_NITEMS
-};
-
-#define HWPDO_PAT_TYPE_BITS 0xFF000000
-#define HWPDO_PAT_STYLE_BITS    0x00FFFFFF
-
-#define HWPDO_PAT_SOLID     0x00000000
-#define HWPDO_PAT_WIN_HATCHED   0x01000000
-#define HWPDO_PAT_BITMAP    0x02000000
-
-#define HWPDO_COLOR_NONE    0x10000000
-
-#define HWPDO_FLAG_ROUND_CORNER 0x00000001
-#define HWPDO_FLAG_DRAW_PIE 0x00000002
-#define HWPDO_FLAG_SEMICIRCLE   0x00000004
-#define HWPDO_FLAG_SCALE_BITMAP 0x00000008
-
-#define HWPDO_FLAG_LOCAL_BITS   0x0000ffff
-#define HWPDO_FLAG_PROPERTY_BITS 0x00ff0000
-
-#define HWPDO_FLAG_GRADATION    0x00010000
-#define HWPDO_FLAG_ROTATION 0x00020000
-#define HWPDO_FLAG_BITMAP   0x00040000
-#define HWPDO_FLAG_AS_TEXTBOX   0x00080000
-#define HWPDO_FLAG_WATERMARK   0x00100000
-
-/**
- * @short Basic properties for drawing objects
- *
- * The order of pstyle, hstyle and tstyle is important.
- * @see LineObject
- */
-struct BAREHWPDOProperty
-{
-    int line_pstyle;
-    int line_hstyle;
-    int line_tstyle;
-    DWORD line_color;
-    hunit line_width;
-    DWORD fill_color;
-    uint pattern_type;
-    DWORD pattern_color;
-    hunit hmargin;
-    hunit vmargin;
-    uint flag;
-};
-
-/**
- * @short Gradation properties for drawing object
- */
-struct GradationProperty
-{
-    int fromcolor;
-    int tocolor;
-    int gstyle;
-    int angle;
-    int center_x;
-    int center_y;
-    int nstep;
-};
-
-/**
- * @short Bitmap properties for drawing object
- */
-struct BitmapProperty
-{
-    ZZPoint offset1;
-    ZZPoint offset2;
-    char szPatternFile[260 + 1];
-    char pictype;
-};
-
-/**
- * @short Rotation properties for drawing object
- */
-struct RotationProperty
-{
-    int rot_originx;
-    int rot_originy;
-    ZZParall parall;
-};
-
-/**
- * @short All properties for drawing object
- */
-struct HWPDOProperty
-{
-    int line_pstyle; /* 선 중간 모양 */
-    int line_hstyle; /* 끝 화살표 모양 */
-    int line_tstyle; /* 시작 모양 */
-    DWORD line_color;
-    hunit line_width;
-    DWORD fill_color;
-    uint pattern_type;
-    DWORD pattern_color;
-    hunit hmargin;
-    hunit vmargin;
-    uint flag;
-
-     /* Lotation properties */
-    int rot_originx;
-    int rot_originy;
-    ZZParall parall;
-
-     /* Gradation properties */
-
-    int fromcolor;
-    int tocolor;
-    int gstyle;
-    int angle;
-    int center_x;
-    int center_y;
-    int nstep;
-
-     /* Watermark */
-     int luminance;
-     int contrast;
-     int greyscale;
-
-     /* As TextBox */
-    HWPPara *pPara;
-
-
-    ZZPoint offset1;
-    ZZPoint offset2;
-    char szPatternFile[260 + 1];
-    char pictype;
-};
-
-/**
- * @short Line Object
- */
-struct HWPDOLine
-{
-    uint flip;
-};
-
-/**
- * @short Polygon or Polyline Object
- */
-struct HWPDOFreeForm
-{
-    int npt;
-    ZZPoint *pt;
-};
-
-/**
- * @short Textbox Object
- */
-struct HWPDOTextBox
-{
-    HWPPara *h;
-};
-
-/**
- * @short Arc Object
- */
-struct HWPDOArc
-{
-    ZZPoint radial[2];
-};
-
-/**
- * @short Common header for drawing object
- */
-struct HWPDrawingObject
-{
-/**
- * type of drawing object
- */
-    int type;
-/**
- * offset from origin of current group
- */
-    ZZPoint offset;
-/**
- * offset from origin of drawing object
- */
-    ZZPoint offset2;
-    ZZSize extent;
-/**
- * rectangle with consideration of line width
- */
-    ZZRect vrect;
-    HWPDOProperty property;
-    union
-    {
-        HWPDOLine line_arc;
-        HWPDOFreeForm freeform;
-        HWPDOTextBox textbox;
-/**
- * extended from hwpw96
- */
-        HWPDOArc arc;
-    }
-    u;
-    struct HWPDrawingObject *next;
-/**
- * This exists for container object
- */
-    struct HWPDrawingObject *child;
-    int index;
-    HWPDrawingObject();
-    ~HWPDrawingObject();
-};
-#endif                                            /* _DRAWDEF_H_ */
diff --git a/hwpfilter/source/drawing.h b/hwpfilter/source/drawing.h
deleted file mode 100644
index 74c2dc7..0000000
--- a/hwpfilter/source/drawing.h
+++ /dev/null
@@ -1,812 +0,0 @@
-/**************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *************************************************************/
-
-
-
-#ifndef _DRAWING_H_
-#define _DRAWING_H_
-
-/* NAME
- *
- * NOTES
- *
- * HISTORY
- *   frog - Jan 11, 1999: Created.
- *   frog - Nov 20, 2000: remove display function, only needed loading object from binary
- */
-#include "precompile.h"
-
-#include <math.h>
-
-#include <comphelper/newarray.hxx>
-
-#include "hwplib.h"
-#include "hwpfile.h"
-#include "hiodev.h"
-#include "hbox.h"
-#include "drawdef.h"
-
-enum
-{
-    OBJFUNC_LOAD,
-    OBJFUNC_FREE,
-    OBJFUNC_DISPLAY,
-    OBJFUNC_NITEM
-};
-
-enum
-{
-    BEGIN_GRADATION = 0, LINEAR, RADIAL, CONICAL, SQUARE,
-    END_GRADATION, BITMAP_PATTERN
-};
-
-#define OBJRET_FILE_OK           0
-#define OBJRET_FILE_ERROR       (-1)
-#define OBJRET_FILE_NO_PRIVATE_BLOCK    (-2)
-#define OBJRET_FILE_NO_PRIVATE_BLOCK_2  (-3)
-
-typedef int (*HWPDOFuncType) (int, HWPDrawingObject *, int, void *, int);
-
-#define HWPDOFunc(hdo, cmd, argp, argv) \
-    (HWPDOFuncTbl[(hdo)->type]((hdo)->type, (hdo), (cmd), (argp), (argv)))
-#define HWPDOFunc2(type, cmd, argp, argv) \
-    (HWPDOFuncTbl[(type)]((type), NULL, (cmd), (argp), (argv)))
-
-static int HWPDOLineFunc(int, HWPDrawingObject *, int, void *, int);
-static int HWPDORectFunc(int, HWPDrawingObject *, int, void *, int);
-static int HWPDOEllipseFunc(int, HWPDrawingObject *, int, void *, int);
-static int HWPDOArcFunc(int, HWPDrawingObject *, int, void *, int);
-static int HWPDOFreeFormFunc(int, HWPDrawingObject *, int, void *, int);
-static int HWPDOTextBoxFunc(int, HWPDrawingObject *, int, void *, int);
-static int HWPDOEllipse2Func(int, HWPDrawingObject *, int, void *, int);
-static int HWPDOArc2Func(int, HWPDrawingObject *, int, void *, int);
-static int HWPDOContainerFunc(int, HWPDrawingObject *, int, void *, int);
-static HWPPara *LoadParaList();
-
-HWPDOFuncType HWPDOFuncTbl[] =
-{
-    HWPDOContainerFunc,
-    HWPDOLineFunc,
-    HWPDORectFunc,
-    HWPDOEllipseFunc,
-    HWPDOArcFunc,
-    HWPDOFreeFormFunc,
-    HWPDOTextBoxFunc,
-    HWPDOFreeFormFunc,
-    HWPDOEllipse2Func,
-    HWPDOArc2Func,
-    HWPDOFreeFormFunc,
-};
-
-static HMemIODev *hmem = 0;
-
-static int count = 0;
-
-inline bool HAVE_FCOLOR(HWPDrawingObject * hdo)
-{
-    return hdo->property.fill_color != HWPDO_COLOR_NONE;
-}
-
-
-inline bool HAVE_PATTERN(HWPDrawingObject * hdo)
-{
-    return (hdo->property.pattern_type & HWPDO_PAT_TYPE_BITS)
-        != HWPDO_PAT_SOLID && hdo->property.pattern_color != HWPDO_COLOR_NONE;
-}
-
-
-inline bool HAVE_GRADATION(HWPDrawingObject * hdo)
-{
-    return hdo->property.gstyle > BEGIN_GRADATION &&
-        hdo->property.gstyle < END_GRADATION &&
-        hdo->property.fromcolor != HWPDO_COLOR_NONE &&
-        hdo->property.tocolor != HWPDO_COLOR_NONE;
-}
-
-
-inline bool HAVE_BITMAP_PATTERN(HWPDrawingObject * hdo)
-{
-    return hdo->property.gstyle == BITMAP_PATTERN &&
-        hdo->property.szPatternFile[0];
-}
-
-
-inline bool HAS_PAT(HWPDrawingObject * hdo)
-{
-    return HAVE_FCOLOR(hdo) || HAVE_PATTERN(hdo) ||
-        HAVE_GRADATION(hdo) || HAVE_BITMAP_PATTERN(hdo);
-}
-
-
-static void SetHdoParallRgn(HWPDrawingObject * hdo, int width, int height)
-{
-    hdo->property.parall.pt[0].x = 0;
-    hdo->property.parall.pt[0].y = 0;
-    hdo->property.parall.pt[1].x = width;
-    hdo->property.parall.pt[1].y = 0;
-    hdo->property.parall.pt[2].x = width;
-    hdo->property.parall.pt[2].y = height;
-}
-
-
-static bool SkipPrivateBlock(int type)
-{
-    int n;
-
-    if (type == OBJRET_FILE_NO_PRIVATE_BLOCK)
-    {
-        n = hmem->read4b();
-        if (hmem->state() || hmem->skipBlock(n) != n)
-            return false;
-    }
-    n = hmem->read4b();
-    if (hmem->state())
-        return false;
-    return hmem->skipBlock(n) == n;
-}
-
-
-static int SizeExpected;
-static int SizeRead;
-
-static int ReadSizeField(int size)
-{
-    SizeExpected = size;
-    SizeRead = hmem->read4b();
-    if (hmem->state())
-        return -1;
-    return SizeRead;
-}
-
-
-static bool SkipUnusedField(void)
-{
-    return (SizeExpected < SizeRead) ?
-        hmem->skipBlock(SizeRead - SizeExpected) != 0 : true;
-}
-
-
-#define HDOFILE_HEADER_SIZE (2*4+16)              // 16=sizeof(ZZRect)
-#define HDOFILE_COMMON_SIZE (7*4+16+44)
-
-#define HDOFILE_HAS_NEXT    0x01
-#define HDOFILE_HAS_CHILD   0x02
-
-/**
- * 공통 헤더를 읽어드린다.
- * 개체종류/연결정보/상대위치/개체크기/절대위치/차지영역/기본속성/회전속성/그라데이션/비트맵패턴
- */
-static bool LoadCommonHeader(HWPDrawingObject * hdo, WORD * link_info)
-{
-    uint size, property_size, common_size;
-
-     if( !hmem )
-         return FALSE;
-    size = hmem->read4b();
-    if (hmem->state())
-    {
-        return FALSE;
-    }
-    if (size < HDOFILE_COMMON_SIZE)
-    {
-        return FALSE;
-    }
-
-    common_size = HDOFILE_COMMON_SIZE;
-    property_size = 44;
-    hdo->type = hmem->read2b();
-    *link_info = sal::static_int_cast<WORD>(hmem->read2b());
-    hdo->offset.x = hmem->read4b();
-    hdo->offset.y = hmem->read4b();
-    hdo->extent.w = hmem->read4b();
-    hdo->extent.h = hmem->read4b();
-    hdo->offset2.x = hmem->read4b();
-    hdo->offset2.y = hmem->read4b();
-
-    if (hmem->state())
-        return FALSE;
-
-    hdo->vrect.x = hmem->read4b();
-    hdo->vrect.y = hmem->read4b();
-    hdo->vrect.w = hmem->read4b();
-    hdo->vrect.h = hmem->read4b();
-
-// read bare property 44 bytes
-    hdo->property.line_pstyle = hmem->read4b();
-    hdo->property.line_hstyle = hmem->read4b();
-    hdo->property.line_tstyle = hmem->read4b();
-    hdo->property.line_color = hmem->read4b();
-    hdo->property.line_width = (hunit) hmem->read4b();
-    hdo->property.fill_color = hmem->read4b();
-    hdo->property.pattern_type = hmem->read4b();
-    hdo->property.pattern_color = hmem->read4b();
-    hdo->property.hmargin = (hunit) hmem->read4b();
-    hdo->property.vmargin = (hunit) hmem->read4b();
-    hdo->property.flag = hmem->read4b();
-// read ratation property 32 bytes
-    if ((size >= common_size + 32)
-        && (hdo->property.flag & HWPDO_FLAG_ROTATION))
-    {
-        hdo->property.rot_originx = hmem->read4b();
-        hdo->property.rot_originy = hmem->read4b();
-        for (int ii = 0; ii < 3; ii++)
-        {
-            hdo->property.parall.pt[ii].x = hmem->read4b();
-            hdo->property.parall.pt[ii].y = hmem->read4b();
-        }
-        common_size += 32;
-    }
-    else
-        SetHdoParallRgn(hdo, hdo->extent.w, hdo->extent.h);
-
-// read gradient property 28 bytes
-    if ((size >= common_size + 28) &&
-        (hdo->property.flag & HWPDO_FLAG_GRADATION))
-    {
-        hdo->property.fromcolor = hmem->read4b();
-        hdo->property.tocolor = hmem->read4b();
-        hdo->property.gstyle = hmem->read4b();
-        hdo->property.angle = hmem->read4b();
-        hdo->property.center_x = hmem->read4b();
-        hdo->property.center_y = hmem->read4b();
-        hdo->property.nstep = hmem->read4b();
-        common_size += 28;
-    }
-
-// read bitmap property 278 bytes
-    if ((size >= common_size + 278) && \
-        (hdo->property.flag & HWPDO_FLAG_BITMAP))
-    {
-        hdo->property.offset1.x = hmem->read4b();
-        hdo->property.offset1.y = hmem->read4b();
-        hdo->property.offset2.x = hmem->read4b();
-        hdo->property.offset2.y = hmem->read4b();
-        if (!hmem->readBlock(hdo->property.szPatternFile, 261))
-            return FALSE;
-        hdo->property.pictype = sal::static_int_cast<char>(hmem->read1b());
-        common_size += 278;
-    }
-     if( ( size >= common_size + 3 ) && ( hdo->property.flag & HWPDO_FLAG_WATERMARK ) )
-     //if( ( size >= common_size ) && ( hdo->property.flag >> 20 & 0x01 ) )
-     {
-          if( size - common_size >= 5 )
-              hmem->skipBlock( 2 );
-         hdo->property.luminance = hmem->read1b();
-         hdo->property.contrast = hmem->read1b();
-         hdo->property.greyscale = hmem->read1b();
-         common_size += 5;
-     }
-    else{
-         hdo->property.luminance = 0;
-         hdo->property.contrast = 0;
-         hdo->property.greyscale = 0;
-    }
-     hdo->property.pPara = 0L;
-
-     if( ( size > common_size ) && (hdo->property.flag & HWPDO_FLAG_AS_TEXTBOX) )
-     {
-          hmem->skipBlock(8);
-          hdo->property.pPara = LoadParaList();
-          if( hdo->property.pPara )
-                return TRUE;
-          else
-                return FALSE;
-     }
-
-     if( size <= common_size )
-          return TRUE;
-     return hmem->skipBlock(size - common_size ) != 0;
-}
-
-
-static HWPDrawingObject *LoadDrawingObject(void)
-{
-    HWPDrawingObject *hdo, *head, *prev;
-    int res;
-
-    WORD link_info;
-
-    head = prev = NULL;
-    do
-    {
-        if ((hdo = new HWPDrawingObject) == NULL)
-        {
-            goto error;
-        }
-        if (!LoadCommonHeader(hdo, &link_info))
-        {
-            goto error;
-        }
-        if (hdo->type < 0 || hdo->type >= HWPDO_NITEMS)
-        {
-            hdo->type = HWPDO_RECT;
-            if (!SkipPrivateBlock(OBJRET_FILE_NO_PRIVATE_BLOCK))
-            {
-                goto error;
-            }
-        }
-        else
-        {
-            switch (res = HWPDOFunc(hdo, OBJFUNC_LOAD, NULL, 0))
-            {
-                case OBJRET_FILE_ERROR:
-                    goto error;
-                case OBJRET_FILE_OK:
-                    break;
-                case OBJRET_FILE_NO_PRIVATE_BLOCK:
-                case OBJRET_FILE_NO_PRIVATE_BLOCK_2:
-                    if (!SkipPrivateBlock(res))
-                        goto error;
-                    break;
-            }
-        }
-        if (link_info & HDOFILE_HAS_CHILD)
-        {
-            hdo->child = LoadDrawingObject();
-            if (hdo->child == NULL)
-            {
-                goto error;
-            }
-        }
-        if (prev == NULL)
-            head = hdo;
-        else
-            prev->next = hdo;
-        prev = hdo;
-    }
-    while (link_info & HDOFILE_HAS_NEXT);
-
-    return head;
-    error:
-// drawing object can be list.
-// hdo = current item, head = list;
-
-    if (hdo != NULL)
-    {
-        HWPDOFunc(hdo, OBJFUNC_FREE, NULL, 0);
-        delete hdo;
-    }
-    if( prev )
-    {
-        prev->next = NULL;
-        return head;
-    }
-    else
-        return 0;
-}
-
-
-static bool LoadDrawingObjectBlock(Picture * pic)
-{
-    int size = hmem->read4b();
-
-    if (hmem->state() || size < HDOFILE_HEADER_SIZE)
-        return false;
-
-    pic->picinfo.picdraw.zorder = hmem->read4b();
-    pic->picinfo.picdraw.mbrcnt = hmem->read4b();
-    pic->picinfo.picdraw.vrect.x = hmem->read4b();
-    pic->picinfo.picdraw.vrect.y = hmem->read4b();
-    pic->picinfo.picdraw.vrect.w = hmem->read4b();
-    pic->picinfo.picdraw.vrect.h = hmem->read4b();
-
-    if (size > HDOFILE_HEADER_SIZE &&
-        !hmem->skipBlock(size - HDOFILE_HEADER_SIZE))
-        return false;
-
-    pic->picinfo.picdraw.hdo = LoadDrawingObject();
-    if (pic->picinfo.picdraw.hdo == 0)
-        return false;
-    return true;
-}
-
-
-// object manipulation function
-
-static int
-HWPDODefaultFunc(int , HWPDrawingObject * , int cmd, void *, int)
-{
-    if (cmd == OBJFUNC_LOAD)
-        return OBJRET_FILE_NO_PRIVATE_BLOCK;
-    return true;
-}
-
-
-// arrow polygon
-
-/* os 06.09.2005: unused function
-static void
-calcArrowPolygonPts(long lWidth, ZZPoint * arrowPt,
-ZZPoint * boxPt, int x1, int y1, int x2, int y2)
-{
-    long lLength = lWidth;
-    int dx, dy;
-
-#if 0
-    if (gc->lineWidth > ONE_MILI)
-        lWidth = lLength = DRPX2(gc->lineWidth) * 2;
-    else
-        lWidth = lLength = DRPX2(ARROW_WIDTH);
-#endif
-
-    dx = x1 - x2;
-    dy = y1 - y2;
-
-    if (dx == 0)
-    {
-        arrowPt[0].x = x1;
-        boxPt[3].x = boxPt[0].x = arrowPt[1].x = x1 + lWidth;
-        boxPt[2].x = boxPt[1].x = arrowPt[2].x = x1 - lWidth;
-        if (y1 > y2)
-        {
-            boxPt[2].y = boxPt[3].y = y1 + lLength * 2 / 3;
-            arrowPt[0].y = y1 + lLength * 3 / 2;
-            boxPt[0].y = boxPt[1].y = arrowPt[1].y = arrowPt[2].y = y1 - lLength;
-        }
-        else
-        {
-            boxPt[0].y = boxPt[1].y = y1 - lLength * 2 / 3;
-            arrowPt[0].y = y1 - lLength * 3 / 2;
-            boxPt[2].y = boxPt[3].y = arrowPt[1].y = arrowPt[2].y = y1 + lLength;
-        }
-        return;
-    }
-
-    double rSlope, rRadians;
-    long DX1, DY1, DX2, DY2;
-
-    rSlope = (double) dy / (double) dx;
-    rRadians = atan(rSlope);
-    DX1 = (long) (lLength * cos(rRadians) + 0.5);
-    DY1 = (long) (lLength * sin(rRadians) + 0.5);
-    DX2 = (long) (lWidth * sin(rRadians) + 0.5);
-    DY2 = (long) (lWidth * cos(rRadians) + 0.5);
-
-    if (dx > 0)
-    {
-        arrowPt[0].x = (int) (x1 + cos(rRadians) * lLength * 3 / 2);
-        arrowPt[0].y = (int) (y1 + sin(rRadians) * lLength * 3 / 2);
-        boxPt[0].x = arrowPt[1].x = x1 - DX1 - DX2;
-        boxPt[0].y = arrowPt[1].y = y1 - DY1 + DY2;
-        boxPt[1].x = arrowPt[2].x = x1 - DX1 + DX2;
-        boxPt[1].y = arrowPt[2].y = y1 - DY1 - DY2;
-        boxPt[2].x = arrowPt[0].x - DX1 + DX2;
-        boxPt[2].y = arrowPt[0].y - DY1 - DY2;
-        boxPt[3].x = arrowPt[0].x - DX1 - DX2;
-        boxPt[3].y = arrowPt[0].y - DY1 + DY2;
-    }
-    else
-    {
-        arrowPt[0].x = (int) (x1 - cos(rRadians) * lLength * 3 / 2);
-        arrowPt[0].y = (int) (y1 - sin(rRadians) * lLength * 3 / 2);
-        boxPt[0].x = arrowPt[1].x = x1 + DX1 - DX2;
-        boxPt[0].y = arrowPt[1].y = y1 + DY1 + DY2;
-        boxPt[1].x = arrowPt[2].x = x1 + DX1 + DX2;
-        boxPt[1].y = arrowPt[2].y = y1 + DY1 - DY2;
-        boxPt[3].x = arrowPt[0].x + DX1 - DX2;
-        boxPt[3].y = arrowPt[0].y + DY1 + DY2;
-        boxPt[2].x = arrowPt[0].x + DX1 + DX2;
-        boxPt[2].y = arrowPt[0].y + DY1 - DY2;
-    }
-}
-*/
-
-static int
-HWPDOLineFunc(int type, HWPDrawingObject * hdo, int cmd, void *argp, int argv)
-{
-    switch (cmd)
-    {
-        case OBJFUNC_LOAD:
-            if (ReadSizeField(4) < 4)
-                return OBJRET_FILE_ERROR;
-            hdo->u.line_arc.flip = hmem->read4b();
-            if (hmem->state())
-                return OBJRET_FILE_ERROR;
-            if (!SkipUnusedField())
-                return OBJRET_FILE_ERROR;
-            return OBJRET_FILE_NO_PRIVATE_BLOCK_2;
-        default:
-            return HWPDODefaultFunc(type, hdo, cmd, argp, argv);
-    }
-    return true;
-}
-
-
-// rectangle
-
-static int
-HWPDORectFunc(int type, HWPDrawingObject * hdo, int cmd, void *argp, int argv)
-{
-    return HWPDODefaultFunc(type, hdo, cmd, argp, argv);
-}
-
-
-// ellipse
-
-static int
-HWPDOEllipseFunc(int type, HWPDrawingObject * hdo,
-int cmd, void *argp, int argv)
-{
-    return HWPDODefaultFunc(type, hdo, cmd, argp, argv);
-}
-
-#define WTMM(x)     ((double)(x) / 1800. * 25.4)
-static int
-HWPDOEllipse2Func(int type, HWPDrawingObject * hdo,
-int cmd, void *argp, int argv)
-{
-    switch (cmd)
-    {
-        case OBJFUNC_LOAD:
-            if (ReadSizeField(16) < 16)
-                return OBJRET_FILE_ERROR;
-            hdo->u.arc.radial[0].x = hmem->read4b();
-            hdo->u.arc.radial[0].y = hmem->read4b();
-            hdo->u.arc.radial[1].x = hmem->read4b();
-            hdo->u.arc.radial[1].y = hmem->read4b();
-
-            if (ReadSizeField(0) < 0)
-                return OBJRET_FILE_ERROR;
-            break;
-        default:
-            return HWPDODefaultFunc(type, hdo, cmd, argp, argv);
-    }
-    return true;
-}
-
-
-// arc
-
-static int
-HWPDOArcFunc(int type, HWPDrawingObject * hdo, int cmd, void *argp, int argv)
-{
-// TRACE("arc");
-    switch (cmd)
-    {
-        case OBJFUNC_LOAD:
-            if (ReadSizeField(4) < 4)
-                return OBJRET_FILE_ERROR;
-            hdo->u.line_arc.flip = hmem->read4b();
-            if (hmem->state())
-                return OBJRET_FILE_ERROR;
-            if (!SkipUnusedField())
-                return OBJRET_FILE_ERROR;
-            break;
-        default:
-            return HWPDODefaultFunc(type, hdo, cmd, argp, argv);
-    }
-    return true;
-}
-
-
-static int
-HWPDOArc2Func(int type, HWPDrawingObject * hdo, int cmd, void *argp, int argv)
-{
-// TRACE("arc2");
-    switch (cmd)
-    {
-        case OBJFUNC_LOAD:
-            return OBJRET_FILE_NO_PRIVATE_BLOCK;
-        default:
-            return HWPDODefaultFunc(type, hdo, cmd, argp, argv);
-    }
-    return true;
-}
-
-
-// freeform
-
-#define SPLINE_NSTEP    100
-#define SPLINE_UNIT 20
-#define SPLINE_UNIT2    40
-#define SPLINE_UNIT3    60
-
-/* os 06.09.2005: unused function
-static int getBlend(int alpha)
-{
-    static bool first = true;
-    static char isCached[SPLINE_NSTEP];
-    static int blend[SPLINE_NSTEP];
-    double ntheta;
-
-    if (first)
-    {
-        memset(isCached, 0, sizeof(char) * SPLINE_NSTEP);
-
-        first = FALSE;
-    }
-    if ((alpha < -SPLINE_UNIT2) || (alpha > SPLINE_UNIT2))
-        return 0;
-
-    if (!isCached[alpha + SPLINE_UNIT2])
-    {
-        isCached[alpha + SPLINE_UNIT2] = TRUE;
-        ntheta = (double) alpha / SPLINE_UNIT;
-
-        if ((alpha < -SPLINE_UNIT) || (alpha > SPLINE_UNIT))
-        {
-            ntheta = (ntheta > 1) ? (2 - ntheta) : (2 + ntheta);
-            blend[alpha + SPLINE_UNIT2] =
-                (int) (1000 * ntheta * ntheta * ntheta / 6.);
-        }
-        else if (alpha <= 0)
-            blend[alpha + SPLINE_UNIT2] =
-                    (int) (1000 *
-                    (4 - 6 * ntheta * ntheta -
-                    3 * ntheta * ntheta * ntheta) / 6);
-        else
-            blend[alpha + SPLINE_UNIT2] =
-                (int) (1000 *
-                (4 - 6 * ntheta * ntheta +
-                3 * ntheta * ntheta * ntheta) / 6);
-    }
-    return blend[alpha + SPLINE_UNIT2];
-}
-*/
-
-
-static int
-HWPDOFreeFormFunc(int type, HWPDrawingObject * hdo,
-int cmd, void *argp, int argv)
-{
-    switch (cmd)
-    {
-        case OBJFUNC_LOAD:
-        {
-            hdo->u.freeform.pt = 0;
-            if (ReadSizeField(4) < 4)
-                return OBJRET_FILE_ERROR;
-            hdo->u.freeform.npt = hmem->read4b();
-            if (hmem->state())
-                return OBJRET_FILE_ERROR;
-            if (!SkipUnusedField())
-                return OBJRET_FILE_ERROR;
-
-            int size = hdo->u.freeform.npt * sizeof(ZZPoint);
-
-            if (ReadSizeField(size) < size)
-                return OBJRET_FILE_ERROR;
-            if (hdo->u.freeform.npt)
-            {
-                hdo->u.freeform.pt =
-                    ::comphelper::newArray_null<ZZPoint>(hdo->u.freeform.npt);
-                if (hdo->u.freeform.pt == NULL)
-                {
-                    hdo->u.freeform.npt = 0;
-                    return OBJRET_FILE_ERROR;
-                }
-                for (int ii = 0; ii < hdo->u.freeform.npt; ii++)
-                {
-                    hdo->u.freeform.pt[ii].x = hmem->read4b();
-                    hdo->u.freeform.pt[ii].y = hmem->read4b();
-                    if (hmem->state())
-                    {
-                        delete[]hdo->u.freeform.pt;
-                        hdo->u.freeform.npt = 0;
-                        return OBJRET_FILE_ERROR;
-                    }
-                }
-            }
-            if (!SkipUnusedField())
-                return OBJRET_FILE_ERROR;
-            return OBJRET_FILE_OK;
-        }
-        case OBJFUNC_FREE:
-            if (hdo->u.freeform.pt)
-                delete[]hdo->u.freeform.pt;
-            break;
-        default:
-            return HWPDODefaultFunc(type, hdo, cmd, argp, argv);
-    }
-    return true;
-}
-
-
-// text box
-
-static void FreeParaList(HWPPara * para)
-{
-    if (para->Next())
-        FreeParaList(para->Next());
-    delete para;
-}
-
-
-static HWPPara *LoadParaList()
-{
-    if (!hmem)
-        return 0;
-
-    HWPFile *hwpf = GetCurrentDoc();
-    HIODev *hio = hwpf->SetIODevice(hmem);
-
-    LinkedList < HWPPara > plist;
-
-    hwpf->ReadParaList(plist);
-    hwpf->SetIODevice(hio);
-
-    return plist.count()? plist.first() : 0;
-}
-
-
-static int
-HWPDOTextBoxFunc(int type, HWPDrawingObject * hdo,
-int cmd, void *argp, int argv)
-{
-// TRACE("textbox");
-//    hunit sx, sy, xs, ys;
-
-    switch (cmd)
-    {
-        case OBJFUNC_LOAD:
-            if (ReadSizeField(0) < 0 || !SkipUnusedField())
-                return OBJRET_FILE_ERROR;
-            if (ReadSizeField(0) < 0)
-                return OBJRET_FILE_ERROR;
-            hdo->u.textbox.h = LoadParaList();
-            return hdo->u.textbox.h ? OBJRET_FILE_OK : OBJRET_FILE_ERROR;
-        case OBJFUNC_FREE:
-            if (hdo->u.textbox.h)
-            {
-                FreeParaList(hdo->u.textbox.h);
-                hdo->u.textbox.h = NULL;
-            }
-            break;
-        default:
-            return HWPDODefaultFunc(type, hdo, cmd, argp, argv);
-    }
-    return true;
-}
-
-
-static int
-HWPDOContainerFunc(int type, HWPDrawingObject * hdo,
-int cmd, void *argp, int argv)
-{
-    return HWPDODefaultFunc(type, hdo, cmd, argp, argv);
-}
-
-
-/* HWPDrawObject 멤버 함수 */
-
-HWPDrawingObject::HWPDrawingObject()
-{
-    memset(this, 0, sizeof(HWPDrawingObject));
-    index = ++count;
-}
-
-
-HWPDrawingObject::~HWPDrawingObject()
-{
-#if 0
-    if (hdo->property.pictype == PICTYP_EMBED)
-        RemoveEmbeddedPic(hdo->property.szPatternFile);
-    hdo->property.szPatternFile[0] = 0;
-#endif
-    if (child)
-        delete child;
-
-    if (next)
-        delete next;
-
-    HWPDOFunc(this, OBJFUNC_FREE, NULL, 0);
-}
-#endif
diff --git a/hwpfilter/source/fontmap.cpp b/hwpfilter/source/fontmap.cpp
deleted file mode 100644
index 0071a2e..0000000
--- a/hwpfilter/source/fontmap.cpp
+++ /dev/null
@@ -1,170 +0,0 @@
-/**************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *************************************************************/
-
-
-
-#include <stdio.h>
-#ifdef SOLARIS
-#include <strings.h>
-#else
-#include <string.h>
-#endif
-
-// #i42367# prevent MS compiler from using system locale for parsing
-#ifdef _MSC_VER
-#pragma setlocale("C")
-#endif
-
-
-struct FontEntry
-{
-    const char *familyname;
-    int key;
-     double ratio;
-};
-/**
- * ratio\xb4\xc2 \xc7\xd1\xb1\xdb 70%, \xbc\xfd\xc0\xda 10% \xbf\xb5\xb9\xae 20%\xc0\xc7 \xba\xf1\xc0\xb2\xb7\xce \xb1\xb8\xbc\xba\xb5\xc7\xbe\xfa\xb4\xd9\xb4\xc2 \xb0\xa1\xc1\xa4\xc7\xcf\xbf\xa1 \xc1\xa4\xc7\xd8\xc1\xf8\xb4\xd9.
- */
-const struct FontEntry FontMapTab[] =
-{
-    {"\xb8\xed\xc1\xb6",0, 0.97},
-    {"\xb0\xed\xb5\xf1",1, 0.97},
-    {"\xbb\xf9\xb9\xb0",1, 0.97},
-    {"\xc7\xca\xb1\xe2",0, 0.97},
-    {"\xbd\xc3\xbd\xba\xc5\xdb",1, 0.84},
-    {"\xbd\xc3\xbd\xba\xc5\xdb \xbe\xe0\xc0\xda",1, 0.84},
-    {"\xbd\xc3\xbd\xba\xc5\xdb \xb0\xa3\xc0\xda",1, 0.84},
-    {"HY\xb5\xd5\xb1\xd9 \xb0\xed\xb5\xf1",2, 0.97},
-    {"\xbf\xbe\xc7\xd1\xb1\xdb",0, 0.97},
-    {"\xb0\xa1\xb4\xc2\xb0\xf8\xc7\xd1",0, 0.72},
-    {"\xc1\xdf\xb0\xa3\xb0\xf8\xc7\xd1",0, 0.72},
-    {"\xb1\xbd\xc0\xba\xb0\xf8\xc7\xd1",0, 0.72},
-    {"\xb0\xa1\xb4\xc2\xc7\xd1",0, 0.72},
-    {"\xc1\xdf\xb0\xa3\xc7\xd1",0, 0.72},
-    {"\xb1\xbd\xc0\xba\xc7\xd1",0, 0.72},
-    {"\xc8\xde\xb8\xd5\xb8\xed\xc1\xb6",0, 0.97},
-    {"\xc8\xde\xb8\xd5\xb0\xed\xb5\xf1",1, 0.97},
-    {"\xb0\xa1\xb4\xc2\xbe\xc8\xbb\xf3\xbc\xf6\xc3\xbc",0, 0.55},
-    {"\xc1\xdf\xb0\xa3\xbe\xc8\xbb\xf3\xbc\xf6\xc3\xbc",0, 0.637},
-    {"\xb1\xbd\xc0\xba\xbe\xc8\xbb\xf3\xbc\xf6\xc3\xbc",0, 0.63},
-    {"\xc8\xde\xb8\xd5\xb0\xa1\xb4\xc2\xbb\xf9\xc3\xbc",0, 0.666},
-    {"\xc8\xde\xb8\xd5\xc1\xdf\xb0\xa3\xbb\xf9\xc3\xbc",0, 0.685},
-    {"\xc8\xde\xb8\xd5\xb1\xbd\xc0\xba\xbb\xf9\xc3\xbc",0, 0.727},
-    {"\xc8\xde\xb8\xd5\xb0\xa1\xb4\xc2\xc6\xd4\xc3\xbc",0, 0.666},
-    {"\xc8\xde\xb8\xd5\xc1\xdf\xb0\xa3\xc6\xd4\xc3\xbc",0, 0.685},
-    {"\xc8\xde\xb8\xd5\xb1\xbd\xc0\xba\xc6\xd4\xc3\xbc",0, 0.727},
-    {"\xc8\xde\xb8\xd5\xbf\xbe\xc3\xbc",3, 0.97},
-    {"\xc7\xd1\xbe\xe7\xbd\xc5\xb8\xed\xc1\xb6",0, 0.97},
-    {"\xc7\xd1\xbe\xe7\xb0\xdf\xb8\xed\xc1\xb6",1, 0.97},
-    {"\xc7\xd1\xbe\xe7\xc1\xdf\xb0\xed\xb5\xf1",1, 0.97},
-    {"\xc7\xd1\xbe\xe7\xb0\xdf\xb0\xed\xb5\xf1",1, 0.97},
-    {"\xc7\xd1\xbe\xe7\xb1\xd7\xb7\xa1\xc7\xc8",0, 0.97},
-    {"\xc7\xd1\xbe\xe7\xb1\xc3\xbc\xad",3, 0.97},
-    {"\xb9\xae\xc8\xad\xb9\xd9\xc5\xc1",0, 0.97},
-    {"\xb9\xae\xc8\xad\xb9\xd9\xc5\xc1\xc1\xa6\xb8\xf1",1, 0.97},
-    {"\xb9\xae\xc8\xad\xb5\xb8\xbf\xf2",1, 0.97},
-    {"\xb9\xae\xc8\xad\xb5\xb8\xbf\xf2\xc1\xa6\xb8\xf1",0, 0.97},
-    {"\xb9\xae\xc8\xad\xbe\xb2\xb1\xe2",0, 0.97},
-    {"\xb9\xae\xc8\xad\xbe\xb2\xb1\xe2\xc8\xea\xb8\xb2",0, 0.97},
-    {"\xc6\xe6\xc8\xea\xb8\xb2",0, 0.97},
-    {"\xba\xb9\xbc\xfe\xbe\xc6",0, 0.827},
-    {"\xbf\xc1\xbc\xf6\xbc\xf6",0, 0.97},
-    {"\xbf\xc0\xc0\xcc",0, 0.97},
-    {"\xb0\xa1\xc1\xf6",0, 0.97},
-    {"\xb0\xad\xb3\xb6\xc4\xe1",2, 0.97},
-    {"\xb5\xfe\xb1\xe2",3, 0.97},
-    {"\xc5\xb8\xc0\xcc\xc7\xc1",0, 0.987},
-    {"\xc5\xc2 \xb3\xaa\xb9\xab",1, 0.97},
-    {"\xc5\xc2 \xc7\xec\xb5\xe5\xb6\xf3\xc0\xce",0, 0.97},
-    {"\xc5\xc2 \xb0\xa1\xb4\xc2 \xc7\xec\xb5\xe5\xb6\xf3\xc0\xce",0, 0.97},
-    {"\xc5\xc2 \xc7\xec\xb5\xe5\xb6\xf3\xc0\xceT",0, 0.97},
-    {"\xc5\xc2 \xb0\xa1\xb4\xc2 \xc7\xec\xb5\xe5\xb6\xf3\xc0\xceT",0, 0.97},
-    {"\xbe\xe7\xc0\xe7 \xb4\xd9\xbf\xee\xb8\xed\xc1\xb6M",0, 0.97},
-    {"\xbe\xe7\xc0\xe7 \xba\xbb\xb8\xf1\xb0\xa2M",0, 0.97},
-    {"\xbe\xe7\xc0\xe7 \xbc\xd2\xbd\xbd",1, 0.97},
-    {"\xbe\xe7\xc0\xe7 \xb8\xc5\xc8\xad",1, 0.987},
-    {"\xbe\xe7\xc0\xe7 \xc6\xb0\xc6\xb0",0, 0.97},
-    {"\xbe\xe7\xc0\xe7 \xc2\xfc\xbd\xa1",1, 0.97},
-    {"\xbe\xe7\xc0\xe7 \xb5\xd1\xb1\xe2",0, 0.97},
-    {"\xbe\xe7\xc0\xe7 \xbb\xfe\xb3\xda",1, 0.97},
-    {"\xbe\xe7\xc0\xe7 \xbf\xcd\xb4\xe7",1, 0.97},
-    {"\xbd\xc5\xb8\xed \xbc\xbc\xb8\xed\xc1\xb6",0, 0.97},
-    {"\xbd\xc5\xb8\xed \xbd\xc5\xb8\xed\xc1\xb6",0, 0.97},
-    {"\xbd\xc5\xb8\xed \xbd\xc5\xbd\xc5\xb8\xed\xc1\xb6",0, 0.97},
-    {"\xbd\xc5\xb8\xed \xc1\xdf\xb8\xed\xc1\xb6",0, 0.97},
-    {"\xbd\xc5\xb8\xed \xc5\xc2\xb8\xed\xc1\xb6",0, 0.97},
-    {"\xbd\xc5\xb8\xed \xb0\xdf\xb8\xed\xc1\xb6",0, 0.97},
-    {"\xbd\xc5\xb8\xed \xbd\xc5\xb9\xae\xb8\xed\xc1\xb6",0, 0.97},
-    {"\xbd\xc5\xb8\xed \xbc\xf8\xb8\xed\xc1\xb6",0, 0.97},
-    {"\xbd\xc5\xb8\xed \xbc\xbc\xb0\xed\xb5\xf1",1, 0.97},
-    {"\xbd\xc5\xb8\xed \xc1\xdf\xb0\xed\xb5\xf1",1, 0.97},
-    {"\xbd\xc5\xb8\xed \xc5\xc2\xb0\xed\xb5\xf1",1, 0.97},
-    {"\xbd\xc5\xb8\xed \xb0\xdf\xb0\xed\xb5\xf1",1, 0.97},
-    {"\xbd\xc5\xb8\xed \xbc\xbc\xb3\xaa\xb7\xe7",2, 0.97},
-    {"\xbd\xc5\xb8\xed \xb5\xf0\xb3\xaa\xb7\xe7",2, 0.97},
-    {"\xbd\xc5\xb8\xed \xbd\xc5\xb1\xd7\xb7\xa1\xc7\xc8",2, 0.97},
-    {"\xbd\xc5\xb8\xed \xc5\xc2\xb1\xd7\xb7\xa1\xc7\xc8",2, 0.97},
-    {"\xbd\xc5\xb8\xed \xb1\xc3\xbc\xad",3, 0.97}
-};
-
-#define FONTCOUNT 4
-#ifndef WIN32
-#if defined(LINUX)
-const char* RepFontTab[] =
-{
-    "\xb9\xe9\xb9\xac \xb9\xd9\xc5\xc1",                                     /* 0 */
-    "\xb9\xe9\xb9\xac \xb5\xb8\xbf\xf2",                                      /* 1 */
-    "\xb9\xe9\xb9\xac \xb1\xbc\xb8\xb2",                                      /* 2 */
-    "\xb9\xe9\xb9\xac \xc7\xec\xb5\xe5\xb6\xf3\xc0\xce"                                      /* 3 */
-};
-#else
-const char* RepFontTab[] =
-{
-    "Batang",                                     /* 0 */
-    "Dotum",                                      /* 1 */
-    "Gulim",                                      /* 2 */
-    "Gungso"                                      /* 3 */
-};
-#endif
-#else
-char* RepFontTab[] =
-{
-    "\xb9\xd9\xc5\xc1",                                       /* 0 */
-    "\xb5\xb8\xbf\xf2",                                       /* 1 */
-    "\xb1\xbc\xb8\xb2",                                       /* 2 */
-    "\xb1\xc3\xbc\xad"                                        /* 3 */
-};
-#endif
-
-int getRepFamilyName(const char* orig, char *buf, double &ratio)
-{
-    int i;
-    int size = sizeof(FontMapTab)/sizeof(FontEntry);
-    for( i = 0 ; i < size ; i++)
-    {
-        if( !strcmp(orig, FontMapTab[i].familyname) ){
-                ratio = FontMapTab[i].ratio;
-            return strlen( strcpy(buf,RepFontTab[FontMapTab[i].key]) );
-          }
-    }
-     ratio = FontMapTab[0].ratio;
-    return strlen( strcpy(buf, RepFontTab[0] ) );
-}
diff --git a/hwpfilter/source/formula.cpp b/hwpfilter/source/formula.cpp
deleted file mode 100644
index e455921..0000000
--- a/hwpfilter/source/formula.cpp
+++ /dev/null
@@ -1,685 +0,0 @@
-/**************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *************************************************************/
-
-
-
-#include "formula.h"
-
-#include "mzstring.h"
-#include "nodes.h"
-#include "mapping.h"
-#include "hwpeq.h"
-#include <iostream>
-
-extern LinkedList<Node> nodelist;
-
-#ifndef DEBUG
-
-#include "hcode.h"
-
-#define ascii(x)  OUString::createFromAscii(x)
-#define rstartEl(x,y)   rDocumentHandler->startElement(x,y)
-#define rendEl(x)    rDocumentHandler->endElement(x)
-#define rchars(x) rDocumentHandler->characters(ascii(x))
-#define runistr(x) rDocumentHandler->characters(OUString(x))
-#define reucstr(x,y) rDocumentHandler->characters(OUString(x,y, RTL_TEXTENCODING_EUC_KR))
-#define padd(x,y,z)  pList->addAttribute(x,y,z)
-#else
-static int indent = 0;
-#define inds indent++; for(int i = 0 ; i < indent ; i++) fprintf(stderr," ")
-#define inde for(int i = 0 ; i < indent ; i++) fprintf(stderr," "); indent--
-#define indo indent--;
-#endif
-
-extern Node *mainParse(const char *);
-
-
-void Formula::makeMathML(Node *res)
-{
-     Node *tmp = res;
-     if( !tmp ) return;
-#ifdef DEBUG
-     inds;
-     fprintf(stderr,"<math:math xmlns:math=\"http://www.w3.org/1998/Math/MathML\">\n");
-#else
-     padd(ascii("xmlns:math"), ascii("CDATA"), ascii("http://www.w3.org/1998/Math/MathML"));
-     rstartEl(ascii("math:math"), rList);
-     pList->clear();
-     rstartEl(ascii("math:semantics"), rList);
-#endif
-     if( tmp->child )
-          makeLines( tmp->child );
-
-#ifdef DEBUG
-     inds;
-     fprintf(stderr,"<math:semantics/>\n");
-     indo;
-     inde;
-     fprintf(stderr,"</math:math>\n");
-#else
-     rendEl(ascii("math:semantics"));
-     rendEl(ascii("math:math"));
-#endif
-}
-
-void Formula::makeLines(Node *res)
-{
-     Node *tmp = res;
-     if( !tmp ) return;
-
-     if( tmp->child ){
-          if( tmp->child->id == ID_LINES )
-                makeLines( tmp->child );
-          else
-                makeLine( tmp->child );
-     }
-     if( tmp->next )
-          makeLine( tmp->next );
-}
-
-void Formula::makeLine(Node *res)
-{
-  if( !res ) return;
-#ifdef DEBUG
-     inds; fprintf(stderr,"<math:mrow>\n");
-#else
-     rstartEl(ascii("math:mrow"), rList);
-#endif
-     if( res->child )
-         makeExprList( res->child );
-#ifdef DEBUG
-     inde; fprintf(stderr,"</math:mrow>\n");
-#else
-     rendEl(ascii("math:mrow"));
-#endif
-}
-
-void Formula::makeExprList(Node *res)
-{
-   if( !res ) return;
-    Node *tmp = res->child;
-    if( !tmp ) return ;
-
-    if( tmp->id == ID_EXPRLIST ){
-         Node *next = tmp->next;
-         makeExprList( tmp ) ;
-         if( next )
-              makeExpr( next );
-    }
-    else
-         makeExpr( tmp );
-}
-
-void Formula::makeExpr(Node *res)
-{
-  if( !res ) return;
-    Node *tmp = res->child;
-    if( !tmp ) return;
-    switch( tmp->id ) {
-        case ID_PRIMARYEXPR:
-             if( tmp->next ){
-#ifdef DEBUG
-                 inds;
-                 fprintf(stderr,"<math:mrow>\n");
-#else
-                 rstartEl(ascii("math:mrow"), rList);
-#endif
-             }
-
-             makePrimary(tmp);
-
-             if( tmp->next ){
-#ifdef DEBUG
-                 inde; fprintf(stderr,"</math:mrow>\n");
-#else
-                 rendEl(ascii("math:mrow"));
-#endif
-             }
-            break;
-         case ID_SUBEXPR:
-         case ID_SUPEXPR:
-         case ID_SUBSUPEXPR:
-             makeSubSup(tmp);
-             break;
-         case ID_FRACTIONEXPR:
-         case ID_OVER:
-             makeFraction(tmp);
-             break;
-         case ID_DECORATIONEXPR:
-             makeDecoration(tmp);
-             break;
-         case ID_SQRTEXPR:
-         case ID_ROOTEXPR:
-             makeRoot(tmp);
-             break;
-         case ID_ARROWEXPR:
-             makeArrow(tmp);
-             break;
-         case ID_ACCENTEXPR:
-             makeAccent(tmp);
-             break;
-         case ID_PARENTH:
-         case ID_ABS:
-             makeParenth(tmp);
-             break;
-         case ID_FENCE:
-             makeFence(tmp);
-             break;
-         case ID_BLOCK:
-             makeBlock(tmp);
-         case ID_BEGIN:
-             makeBegin(tmp);
-         case ID_END:
-             makeEnd(tmp);
-             break;
-    }
-}
-
-void Formula::makeIdentifier(Node *res)
-{
-     Node *tmp = res;
-  if( !tmp ) return;
-  if( !tmp->value ) return;
-     switch( tmp->id ){
-     case ID_CHARACTER :
-#ifdef DEBUG
-          inds;
-          fprintf(stderr,"<math:mi>%s</math:mi>\n",tmp->value);
-          indo;
-#else
-          rstartEl(ascii("math:mi"), rList);
-          rchars(tmp->value);
-          rendEl(ascii("math:mi"));
-#endif
-          break;
-     case ID_STRING :
-          {
-#ifdef DEBUG
-#else
-                rstartEl(ascii("math:mi"), rList);
-                reucstr(tmp->value, strlen(tmp->value));
-                rendEl(ascii("math:mi"));
-#endif
-          }
-          break;
-     case ID_IDENTIFIER :
-#ifdef DEBUG
-          inds;
-          fprintf(stderr,"<math:mi>%s</math:mi>\n",
-                  getMathMLEntity(tmp->value).c_str());
-          indo;
-#else
-          rstartEl(ascii("math:mi"), rList);
-          runistr(getMathMLEntity(tmp->value).c_str());
-          rendEl(ascii("math:mi"));
-#endif
-          break;
-     case ID_NUMBER :
-#ifdef DEBUG
-          inds;
-          fprintf(stderr,"<math:mn>%s</math:mn>\n",tmp->value);
-          indo;
-#else
-          rstartEl(ascii("math:mn"), rList);
-          rchars(tmp->value);
-          rendEl(ascii("math:mn"));
-#endif
-          break;
-     case ID_OPERATOR :
-     case ID_DELIMETER :
-        {
-#ifdef DEBUG
-          inds; fprintf(stderr,"<math:mo>%s</math:mo>\n",tmp->value); indo;
-#else
-          rstartEl(ascii("math:mo"), rList);
-          runistr(getMathMLEntity(tmp->value).c_str());
-          rendEl(ascii("math:mo"));
-#endif
-          break;
-        }
-     }
-}
-void Formula::makePrimary(Node *res)
-{
-     Node *tmp = res;
-     if( !tmp ) return ;
-     if( tmp->child ){
-          if( tmp->child->id == ID_PRIMARYEXPR ){
-                makePrimary(tmp->child);
-          }
-          else{
-                makeIdentifier(tmp->child);
-          }
-     }
-     if( tmp->next ){
-          makeIdentifier(tmp->next);
-     }
-}
-
-void Formula::makeSubSup(Node *res)
-{
-     Node *tmp = res;
-     if( !tmp ) return;
-
-#ifdef DEBUG
-     inds;
-     if( res->id == ID_SUBEXPR )
-          fprintf(stderr,"<math:msub>\n");
-     else if( res->id == ID_SUPEXPR )
-          fprintf(stderr,"<math:msup>\n");
-     else
-          fprintf(stderr,"<math:msubsup>\n");
-#else
-     if( res->id == ID_SUBEXPR )
-          rstartEl(ascii("math:msub"), rList);
-     else if( res->id == ID_SUPEXPR )
-          rstartEl(ascii("math:msup"), rList);
-     else
-          rstartEl(ascii("math:msubsup"), rList);
-#endif
-
-     tmp = tmp->child;
-     if( res->id == ID_SUBSUPEXPR ) {
-          makeExpr(tmp);
-          makeBlock(tmp->next);
-          makeBlock(tmp->next->next);
-     }
-     else{
-          makeExpr(tmp);
-          makeExpr(tmp->next);
-     }
-
-#ifdef DEBUG
-     inde;
-     if( res->id == ID_SUBEXPR )
-          fprintf(stderr,"</math:msub>\n");
-     else if( res->id == ID_SUPEXPR )
-          fprintf(stderr,"</math:msup>\n");
-     else
-          fprintf(stderr,"</math:msubsup>\n");
-#else
-     if( res->id == ID_SUBEXPR )
-          rendEl(ascii("math:msub"));
-     else if( res->id == ID_SUPEXPR )
-          rendEl(ascii("math:msup"));
-     else
-          rendEl(ascii("math:msubsup"));
-#endif
-}
-
-void Formula::makeFraction(Node *res)
-{
-     Node *tmp = res;
-     if( !tmp ) return;
-
-#ifdef DEBUG
-     inds;
-     fprintf(stderr,"<math:mfrac>\n");
-#else
-     rstartEl(ascii("math:mfrac"), rList);
-#endif
-
-     tmp = tmp->child;
-#ifdef DEBUG
-     inds;
-     fprintf(stderr,"<math:mrow>\n");
-#else
-     rstartEl(ascii("math:mrow"), rList);
-#endif
-
-     if( res->id == ID_FRACTIONEXPR )
-          makeBlock(tmp);
-     else
-          makeExprList(tmp);
-
-#ifdef DEBUG
-     inde;
-     fprintf(stderr,"</math:mrow>\n");
-     inds;
-     fprintf(stderr,"<math:mrow>\n");
-#else
-     rendEl(ascii("math:mrow"));
-     rstartEl(ascii("math:mrow"), rList);
-#endif
-
-     if( res->id == ID_FRACTIONEXPR )
-          makeBlock(tmp->next);
-     else
-          makeExprList(tmp->next);
-
-#ifdef DEBUG
-     inde;
-     fprintf(stderr,"</math:mrow>\n");
-     inde;
-     fprintf(stderr,"</math:mfrac>\n");
-#else
-     rendEl(ascii("math:mrow"));
-     rendEl(ascii("math:mfrac"));
-#endif
-}
-
-void Formula::makeDecoration(Node *res)
-{
-     int isover = 1;
-     Node *tmp = res->child;
-     if( !tmp ) return;
-     if( !strncmp(tmp->value,"under", 5) )
-          isover = 0;
-#ifdef DEBUG
-     inds;
-     if( isover )
-          fprintf(stderr,"<math:mover>\n");
-     else
-          fprintf(stderr,"<math:munder>\n");
-#else
-     /* accent는 언제 true이고, 언제, false인지 모르겠다. */
-     if( isover ){
-          padd(ascii("accent"),ascii("CDATA"),ascii("true"));
-          rstartEl(ascii("math:mover"), rList);
-     }
-     else{
-          padd(ascii("accentunder"),ascii("CDATA"),ascii("true"));
-          rstartEl(ascii("math:munder"), rList);
-     }
-     pList->clear();
-#endif
-
-     makeBlock(tmp->next);
-
-#ifdef DEBUG
-     inds;
-     fprintf(stderr,"<math:mo>%s</math:mo>\n",
-             getMathMLEntity(tmp->value).c_str());
-     indo;
-#else
-     rstartEl(ascii("math:mo"), rList);
-     runistr(getMathMLEntity(tmp->value).c_str());
-     rendEl(ascii("math:mo"));
-#endif
-
-#ifdef DEBUG
-     inde;
-     if( isover )
-          fprintf(stderr,"</math:mover>\n");
-     else
-          fprintf(stderr,"</math:munder>\n");
-#else
-     if( isover )
-          rendEl(ascii("math:mover"));
-     else
-          rendEl(ascii("math:munder"));
-#endif
-}
-
-void Formula::makeRoot(Node *res)
-{
-     Node *tmp = res;
-     if( !tmp ) return;
-#ifdef DEBUG
-     inds;
-     if( tmp->id == ID_SQRTEXPR )
-          fprintf(stderr,"<math:msqrt>\n");
-     else
-          fprintf(stderr,"<math:mroot>\n");
-#else
-     if( tmp->id == ID_SQRTEXPR )
-          rstartEl(ascii("math:msqrt"), rList);
-     else
-          rstartEl(ascii("math:mroot"), rList);
-#endif
-
-     if( tmp->id == ID_SQRTEXPR ){
-          makeBlock(tmp->child);
-     }
-     else{
-          makeBracket(tmp->child);
-          makeBlock(tmp->child->next);
-     }
-
-#ifdef DEBUG
-     inde;
-     if( tmp->id == ID_SQRTEXPR )
-          fprintf(stderr,"</math:msqrt>\n");
-     else
-          fprintf(stderr,"</math:mroot>\n");
-#else
-     if( tmp->id == ID_SQRTEXPR )
-          rendEl(ascii("math:msqrt"));
-     else
-          rendEl(ascii("math:mroot"));
-#endif
-}
-// DVO: add space to avoid warning
-void Formula::makeArrow(Node * /*res*/)
-{
-}
-void Formula::makeAccent(Node *res)
-{
-     makeDecoration( res );
-}
-void Formula::makeParenth(Node *res)
-{
-     Node *tmp = res;
-     if( !tmp ) return;
-#ifdef DEBUG
-     inds;
-     fprintf(stderr,"<math:mrow>\n");
-     inds;
-     if( tmp->id == ID_PARENTH ){
-          fprintf(stderr,"<math:mo>(</math:mo>\n");
-     }
-     else
-          fprintf(stderr,"<math:mo>|</math:mo>\n");
-     indo; inds;
-     fprintf(stderr,"<math:mrow>\n");
-#else
-     rstartEl(ascii("math:mrow"), rList);
-     rstartEl(ascii("math:mo"), rList);
-     if( tmp->id == ID_PARENTH )
-          rchars("(");
-     else
-          rchars("|");
-     rendEl(ascii("math:mo"));
-     rstartEl(ascii("math:mrow"), rList);
-#endif
-
-     if( tmp->child )
-          makeExprList(tmp->child);
-
-#ifdef DEBUG
-     inde;
-     fprintf(stderr,"</math:mrow>\n");
-     inds;
-     if( tmp->id == ID_PARENTH )
-          fprintf(stderr,"<math:mo>)</math:mo>\n");
-     else
-          fprintf(stderr,"<math:mo>|</math:mo>\n");
-     indo;
-     inde;
-     fprintf(stderr,"</math:mrow>\n");
-#else
-     rendEl(ascii("math:mrow"));
-     rstartEl(ascii("math:mo"), rList);
-     if( tmp->id == ID_PARENTH )
-          rchars(")");
-     else
-          rchars("|");
-     rendEl(ascii("math:mo"));
-     rendEl(ascii("math:mrow"));
-#endif
-}
-
-void Formula::makeFence(Node *res)
-{
-     Node *tmp = res->child;
-#ifdef DEBUG
-     inds;
-     fprintf(stderr,"<math:mfenced open=\"%s\" close=\"%s\">\n",
-                getMathMLEntity(tmp->value).c_str(),
-                getMathMLEntity(tmp->next->next->value).c_str());
-#else
-     padd(ascii("open"), ascii("CDATA"),
-             OUString(getMathMLEntity(tmp->value).c_str()) );
-     padd(ascii("close"), ascii("CDATA"),
-             OUString(getMathMLEntity(tmp->next->next->value).c_str()) );
-     rstartEl(ascii("math:mfenced"), rList);
-     pList->clear();
-#endif
-
-     makeExprList(tmp->next);
-
-#ifdef DEBUG
-     inde;
-     fprintf(stderr,"</math:mfenced>\n");
-#else
-     rendEl(ascii("math:mfenced"));
-#endif
-}
-
-void Formula::makeBracket(Node *res)
-{
-     makeBlock(res);
-}
-
-void Formula::makeBlock(Node *res)
-{
-#ifdef DEBUG
-     inds;
-     fprintf(stderr,"<math:mrow>\n");
-#else
-     rstartEl(ascii("math:mrow"), rList);
-#endif
-
-     if( res->child )
-          makeExprList(res->child);
-
-#ifdef DEBUG
-     inde;
-     fprintf(stderr,"</math:mrow>\n");
-#else
-     rendEl(ascii("math:mrow"));
-#endif
-}
-
-// DVO: add space to avoid warning
-void Formula::makeBegin(Node * /*res*/)
-{
-}
-
-// DVO: add space to avoid warning
-void Formula::makeEnd(Node * /*res*/)
-{
-}
-
-int Formula::parse()
-{
-     Node *res = 0L;
-     if( !eq ) return 0;
-     if( isHwpEQ ){
-          MzString a;
-         // fprintf(stderr,"\n\n[BEFORE]\n[%s]\n",eq);
-          eq2latex(a,eq);
-
-          int idx=a.find(sal::static_int_cast<char>(0xff));
-          while(idx){
-                //printf("idx = [%d]\n",idx);
-                a.replace(idx,0x20);
-                if((idx = a.find(sal::static_int_cast<char>(0xff),idx+1)) < 0)
-                     break;
-          }
-
-          char *buf = (char *)malloc(a.length()+1);
-          bool bStart = false;
-          int i, j;
-          for( i = 0, j=0 ; i < a.length() ; i++){ // rtrim and ltrim 32 10 13
-                if( bStart ){
-                     buf[j++] = a[i];
-                }
-                else{
-                     if( a[i] != 32 && a[i] != 10 && a[i] != 13){
-                          bStart = true;
-                          buf[j++] = a[i];
-                     }
-                }
-          }
-          buf[j] = 0;
-          for( i = j-1 ; i >= 0 ; i++ ){
-                if( buf[i] == 32 || buf[i] == 10 || buf[i] == 13 ){
-                     buf[i] = 0;
-                }
-                else
-                     break;
-          }
-         // fprintf(stderr,"\n\n[RESULT]\n[%s]\n",a.c_str());
-          if( strlen(buf) > 0 )
-                res = mainParse( a.c_str() );
-          else
-                res = 0L;
-          free(buf);
-     }
-     else{
-          res = mainParse( eq );
-     }
-
-     if( res ){
-          makeMathML( res );
-     }
-     Node *tmpNode;
-     int count = nodelist.count();
-     for( int i = 0 ; i < count ; i++ ){
-          tmpNode = nodelist.remove(0);
-          delete tmpNode;
-     }
-
-     return 0;
-}
-
-void Formula::trim()
-{
-     int len = strlen(eq);
-     char *buf = (char *)malloc(len+1);
-     bool bStart = false;
-     int i, j;
-     for( i = 0, j=0 ; i < len ; i++){ // rtrim and ltrim 32 10 13
-          if( bStart ){
-                buf[j++] = eq[i];
-          }
-          else{
-                if( eq[i] != 32 && eq[i] != 10 && eq[i] != 13){
-                     bStart = true;
-                     buf[j++] = eq[i];
-                }
-          }
-     }
-     buf[j] = 0;
-     for( i = j-1 ; i >= 0 ; i++ ){
-          if( buf[i] == 32 || buf[i] == 10 || buf[i] == 13 ){
-                buf[i] = 0;
-          }
-          else
-                break;
-     }
-     if( strlen(buf) > 0 )
-          strcpy(eq, buf);
-     else
-          eq = 0L;
-     free(buf);
-}
diff --git a/hwpfilter/source/formula.h b/hwpfilter/source/formula.h
deleted file mode 100644
index 303891d..0000000
--- a/hwpfilter/source/formula.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/**************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *************************************************************/
-
-
-
-#ifndef __FORMULA_H__
-#define __FORMULA_H__
-
-// DVO: remove DEBUG dependency
-// #ifndef DEBUG
-#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
-#include "attributes.hxx"
-// DVO: remove DEBUG dependency
-// #endif
-
-class Node;
-
-// DVO: remove DEBUG dependency
-// #ifndef DEBUG
-using namespace ::com::sun::star::xml::sax;
-// #endif
-
-
-class Formula{
-public:
-     Formula(char *_eq, int _ishwpeq = 1) {
-          eq = _eq;
-          isHwpEQ = _ishwpeq;
-          trim();
-     }
-     virtual ~Formula(){ }
-
-// DVO: remove DEBUG dependency
-// #ifndef DEBUG
-     void setDocumentHandler(Reference < XDocumentHandler > xHandler ){
-          rDocumentHandler = xHandler;
-     }
-     void setAttributeListImpl( AttributeListImpl *p ){
-          pList = p;
-          rList = (XAttributeList *) pList;
-     }
-// DVO: remove DEBUG dependency
-// #endif
-     int parse();
-private:
-     void trim();
-     void makeMathML(Node *res);
-     void makeLines(Node *res);
-     void makeLine(Node *res);
-     void makeExprList(Node *res);
-     void makeExpr(Node *res);
-     void makePrimary(Node *res);
-     void makeIdentifier(Node *res);
-     void makeSubSup(Node *res);
-     void makeFraction(Node *res);
-     void makeDecoration(Node *res);
-     void makeFunction(Node *res);
-     void makeRoot(Node *res);
-     void makeArrow(Node *res);
-     void makeAccent(Node *res);
-     void makeParenth(Node *res);
-     void makeFence(Node *res);
-     void makeBracket(Node *res);
-     void makeBlock(Node *res);
-     void makeBegin(Node *res);
-     void makeEnd(Node *res);
-
-private:
-// DVO: remove DEBUG dependency
-// #ifndef DEBUG
-     Reference< XDocumentHandler >   rDocumentHandler;
-     Reference< XAttributeList > rList;
-     AttributeListImpl *pList;
-// DVO: remove DEBUG dependency
-// #endif
-     char *eq;
-     int isHwpEQ;
-};
-
-#endif
diff --git a/hwpfilter/source/grammar.cpp b/hwpfilter/source/grammar.cpp
deleted file mode 100644
index 94f6f11..0000000
--- a/hwpfilter/source/grammar.cpp
+++ /dev/null
@@ -1,1471 +0,0 @@
-/**************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *************************************************************/
-
-
-
-
-/*  A Bison parser, made from grammar.y
-    by GNU Bison version 1.28  */
-
-#define YYBISON 1  /* Identify Bison output.  */
-
-#ifndef YYDEBUG
-#define YYDEBUG 0
-#endif
-#ifndef YYMAXDEPTH
-#define YYMAXDEPTH 0
-#endif
-
-#define ACCENT  257
-#define SMALL_GREEK 258
-#define CAPITAL_GREEK   259
-#define BINARY_OPERATOR 260
-#define RELATION_OPERATOR   261
-#define ARROW   262
-#define GENERAL_IDEN    263
-#define GENERAL_OPER    264
-#define BIG_SYMBOL  265
-#define FUNCTION    266
-#define ROOT    267
-#define FRACTION    268
-#define SUBSUP  269
-#define EQOVER  270
-#define DELIMETER   271
-#define LARGE_DELIM 272
-#define DECORATION  273
-#define SPACE_SYMBOL    274
-#define CHARACTER   275
-#define STRING  276
-#define OPERATOR    277
-#define EQBEGIN 278
-#define EQEND   279
-#define EQLEFT  280
-#define EQRIGHT 281
-#define NEWLINE 282
-#define LEFT_DELIM  283
-#define RIGHT_DELIM 284
-#define DIGIT   285
-
-#line 1 "grammar.y"
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "nodes.h"
-
-LinkedList<Node> nodelist;
-
-Node *mainParse(const char *_code);
-void yyerror(const char *);
-int yylex();
-void initFlex( const char *s );
-void viewResult(Node *res);
-
-Node *top=0L;
-
-int Node::count = 0;
-
-#define allocValue(x,y) \
-x = (char *)malloc( strlen(y) +1 ); \
-strcpy(x,y)
-
-#define allocChar(x,y) \
-x = (char *)malloc(2); \
-sprintf(x,"%c",y)
-#ifdef PARSE_DEBUG
-#define debug printf
-#else
-int debug(const char *format, ...);
-#endif
-
-
-#line 35 "grammar.y"
-typedef union {
-    char *dval;
-    char *str;
-    Node *ptr;
-} YYSTYPE;
-#include <stdio.h>
-
-#ifndef __cplusplus
-#ifndef __STDC__
-#define const
-#endif
-#endif
-
-
-
-#define YYFINAL     102
-#define YYFLAG      -32768
-#define YYNTBASE    43
-
-#define YYTRANSLATE(x) ((unsigned)(x) <= 285 ? yytranslate[x] : 66)
-
-static const char yytranslate[] = {     0,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,    33,
-    37,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,    36,
-     2,    40,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-    34,     2,    38,    42,    41,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,    35,    32,    39,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     1,     3,     4,     5,     6,
-     7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-    17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-    27,    28,    29,    30,    31
-};
-
-#if YYDEBUG != 0
-static const short yyprhs[] = {     0,
-     0,     2,     4,     6,     8,    10,    12,    14,    16,    18,
-    20,    22,    24,    26,    28,    30,    32,    34,    36,    39,
-    42,    45,    48,    51,    54,    58,    60,    63,    66,    69,
-    72,    75,    79,    81,    85,    89,    92,    96,    99,   103,
-   106,   110,   114,   120,   124,   130,   132,   135,   137,   140,
-   143,   147,   150,   154,   157,   159,   161,   165,   167,   169,
-   172,   174,   176,   178,   180,   182,   184,   186,   188,   190,
-   192,   194
-};
-
-static const short yyrhs[] = {     4,
-     0,     9,     0,    10,     0,     5,     0,    11,     0,    12,
-     0,    20,     0,    21,     0,     7,     0,     6,     0,    23,
-     0,    17,     0,    18,     0,     8,     0,    32,     0,    31,
-     0,    22,     0,    43,     0,    44,    43,     0,    26,    33,
-     0,    26,    34,     0,    26,    35,     0,    26,    36,     0,
-    26,    32,     0,    26,    32,    32,     0,    29,     0,    27,
-    37,     0,    27,    38,     0,    27,    39,     0,    27,    40,
-     0,    27,    32,     0,    27,    32,    32,     0,    30,     0,
-    45,    64,    46,     0,    33,    64,    37,     0,    33,    37,
-     0,    35,    64,    39,     0,    35,    39,     0,    34,    64,
-    38,     0,    34,    38,     0,    65,    41,    65,     0,    65,
-    42,    65,     0,    65,    41,    49,    42,    49,     0,    14,
-    49,    49,     0,    35,    64,    16,    64,    39,     0,     3,
-     0,    54,    49,     0,    19,     0,    56,    49,     0,    13,
-    49,     0,    13,    50,    49,     0,    24,    49,     0,    24,
-    49,    49,     0,    25,    49,     0,    62,     0,    63,     0,
-    62,    28,    63,     0,    64,     0,    65,     0,    64,    65,
-     0,    49,     0,    48,     0,    47,     0,    51,     0,    52,
-     0,    53,     0,    57,     0,    58,     0,    55,     0,    44,
-     0,    59,     0,    60,     0
-};
-
-#endif
-
-#if YYDEBUG != 0
-static const short yyrline[] = { 0,
-    59,    61,    62,    63,    64,    65,    66,    67,    68,    69,
-    70,    71,    72,    73,    74,    75,    76,    79,    81,    84,
-    86,    87,    88,    89,    90,    91,    94,    96,    97,    98,
-    99,   100,   101,   104,   108,   110,   113,   115,   118,   120,
-   123,   125,   126,   129,   133,   138,   142,   145,   149,   153,
-   155,   158,   160,   163,   168,   172,   174,   177,   181,   183,
-   186,   188,   189,   190,   191,   192,   193,   194,   195,   196,
-   197,   198
-};
-#endif
-
-
-#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
-
-static const char * const yytname[] = {   "$","error","$undefined.","ACCENT",
-"SMALL_GREEK","CAPITAL_GREEK","BINARY_OPERATOR","RELATION_OPERATOR","ARROW",
-"GENERAL_IDEN","GENERAL_OPER","BIG_SYMBOL","FUNCTION","ROOT","FRACTION","SUBSUP",
-"EQOVER","DELIMETER","LARGE_DELIM","DECORATION","SPACE_SYMBOL","CHARACTER","STRING",
-"OPERATOR","EQBEGIN","EQEND","EQLEFT","EQRIGHT","NEWLINE","LEFT_DELIM","RIGHT_DELIM",
-"DIGIT","'|'","'('","'['","'{'","'<'","')'","']'","'}'","'>'","'_'","'^'","Identifier",
-"PrimaryExpr","EQLeft","EQRight","Fence","Parenth","Block","Bracket","SubSupExpr",
-"FractionExpr","OverExpr","Accent","AccentExpr","Decoration","DecorationExpr",
-"RootExpr","BeginExpr","EndExpr","MathML","Lines","Line","ExprList","Expr", NULL
-};
-#endif
-
-static const short yyr1[] = {     0,
-    43,    43,    43,    43,    43,    43,    43,    43,    43,    43,
-    43,    43,    43,    43,    43,    43,    43,    44,    44,    45,
-    45,    45,    45,    45,    45,    45,    46,    46,    46,    46,
-    46,    46,    46,    47,    48,    48,    49,    49,    50,    50,
-    51,    51,    51,    52,    53,    54,    55,    56,    57,    58,
-    58,    59,    59,    60,    61,    62,    62,    63,    64,    64,
-    65,    65,    65,    65,    65,    65,    65,    65,    65,    65,
-    65,    65
-};
-
-static const short yyr2[] = {     0,
-     1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-     1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
-     2,     2,     2,     2,     3,     1,     2,     2,     2,     2,
-     2,     3,     1,     3,     3,     2,     3,     2,     3,     2,
-     3,     3,     5,     3,     5,     1,     2,     1,     2,     2,
-     3,     2,     3,     2,     1,     1,     3,     1,     1,     2,
-     1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-     1,     1
-};
-
-static const short yydefact[] = {     0,
-    46,     1,     4,    10,     9,    14,     2,     3,     5,     6,
-     0,     0,    12,    13,    48,     7,     8,    17,    11,     0,
-     0,     0,    26,    16,    15,     0,     0,    18,    70,     0,
-    63,    62,    61,    64,    65,    66,     0,    69,     0,    67,
-    68,    71,    72,    55,    56,    58,    59,     0,     0,    50,
-     0,     0,    52,    54,    24,    20,    21,    22,    23,    36,
-     0,    38,     0,    19,     0,    47,    49,     0,    60,     0,
-     0,    40,     0,     0,    51,    44,    53,    25,    35,     0,
-    37,     0,    33,    34,    57,    61,    41,    42,    39,     0,
-    31,    27,    28,    29,    30,     0,    45,    32,    43,     0,
-     0,     0
-};
-
-static const short yydefgoto[] = {    28,
-    29,    30,    84,    31,    32,    33,    51,    34,    35,    36,
-    37,    38,    39,    40,    41,    42,    43,   100,    44,    45,
-    46,    47
-};
-
-static const short yypact[] = {   393,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-   -30,   -19,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   -19,
-   -19,    -3,-32768,-32768,-32768,   290,   107,-32768,   425,   393,
--32768,-32768,-32768,-32768,-32768,-32768,   -19,-32768,   -19,-32768,
--32768,-32768,-32768,   -20,-32768,   393,   -21,   218,   107,-32768,
-   -19,   -19,   -19,-32768,   -15,-32768,-32768,-32768,-32768,-32768,
-   325,-32768,    70,-32768,   360,-32768,-32768,   393,   -21,   393,
-   393,-32768,   254,   144,-32768,-32768,-32768,-32768,-32768,   393,
--32768,   -25,-32768,-32768,-32768,   -31,   -21,   -21,-32768,   181,
-   -14,-32768,-32768,-32768,-32768,   -19,-32768,-32768,-32768,    22,
-    23,-32768
-};
-
-static const short yypgoto[] = {    -2,
--32768,-32768,-32768,-32768,-32768,   -11,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   -33,
-   -24,   -27
-};
-
-
-#define YYLAST      457
-
-
-static const short yytable[] = {    50,
-    52,    61,    63,    48,    49,    65,    91,    68,    53,    54,
-    96,    92,    93,    94,    95,    49,    78,    98,    69,    70,
-    71,   101,   102,    73,    74,    66,    64,    67,    55,    56,
-    57,    58,    59,    69,    85,    69,     0,    69,     0,    75,
-    76,    77,    87,    88,     0,    69,    69,     0,     0,     0,
-     0,     0,     0,     0,     0,    90,     0,     0,    86,     0,
-     0,     0,    69,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     1,     2,     3,     4,     5,     6,     7,     8,
-     9,    10,    11,    12,    99,    80,    13,    14,    15,    16,
-    17,    18,    19,    20,    21,    22,     0,     0,    23,     0,
-    24,    25,    26,     0,    27,     0,     0,     0,    81,     1,
-     2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
-    12,     0,     0,    13,    14,    15,    16,    17,    18,    19,
-    20,    21,    22,     0,     0,    23,     0,    24,    25,    26,
-     0,    27,     0,     0,     0,    62,     1,     2,     3,     4,
-     5,     6,     7,     8,     9,    10,    11,    12,     0,     0,
-    13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-     0,     0,    23,     0,    24,    25,    26,     0,    27,     0,
-     0,     0,    81,     1,     2,     3,     4,     5,     6,     7,
-     8,     9,    10,    11,    12,     0,     0,    13,    14,    15,
-    16,    17,    18,    19,    20,    21,    22,     0,     0,    23,
-     0,    24,    25,    26,     0,    27,     0,     0,     0,    97,
-     1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
-    11,    12,     0,     0,    13,    14,    15,    16,    17,    18,
-    19,    20,    21,    22,     0,     0,    23,     0,    24,    25,
-    26,     0,    27,     0,     0,    72,     1,     2,     3,     4,
-     5,     6,     7,     8,     9,    10,    11,    12,     0,     0,
-    13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-     0,     0,    23,     0,    24,    25,    26,     0,    27,     0,
-     0,    89,     1,     2,     3,     4,     5,     6,     7,     8,
-     9,    10,    11,    12,     0,     0,    13,    14,    15,    16,
-    17,    18,    19,    20,    21,    22,     0,     0,    23,     0,
-    24,    25,    26,     0,    27,     0,    60,     1,     2,     3,
-     4,     5,     6,     7,     8,     9,    10,    11,    12,     0,
-     0,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-    22,     0,     0,    23,     0,    24,    25,    26,     0,    27,
-     0,    79,     1,     2,     3,     4,     5,     6,     7,     8,
-     9,    10,    11,    12,     0,     0,    13,    14,    15,    16,
-    17,    18,    19,    20,    21,    22,    82,     0,    23,    83,
-    24,    25,    26,     0,    27,     1,     2,     3,     4,     5,
-     6,     7,     8,     9,    10,    11,    12,     0,     0,    13,
-    14,    15,    16,    17,    18,    19,    20,    21,    22,     0,
-     0,    23,     0,    24,    25,    26,     0,    27,     2,     3,
-     4,     5,     6,     7,     8,     9,    10,     0,     0,     0,
-     0,    13,    14,     0,    16,    17,    18,    19,     0,     0,
-     0,     0,     0,     0,     0,    24,    25
-};
-
-static const short yycheck[] = {    11,
-    12,    26,    27,    34,    35,    30,    32,    28,    20,    21,
-    42,    37,    38,    39,    40,    35,    32,    32,    46,    41,
-    42,     0,     0,    48,    49,    37,    29,    39,    32,    33,
-    34,    35,    36,    61,    68,    63,    -1,    65,    -1,    51,
-    52,    53,    70,    71,    -1,    73,    74,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    80,    -1,    -1,    70,    -1,
-    -1,    -1,    90,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
-    11,    12,    13,    14,    96,    16,    17,    18,    19,    20,
-    21,    22,    23,    24,    25,    26,    -1,    -1,    29,    -1,
-    31,    32,    33,    -1,    35,    -1,    -1,    -1,    39,     3,
-     4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-    14,    -1,    -1,    17,    18,    19,    20,    21,    22,    23,
-    24,    25,    26,    -1,    -1,    29,    -1,    31,    32,    33,
-    -1,    35,    -1,    -1,    -1,    39,     3,     4,     5,     6,
-     7,     8,     9,    10,    11,    12,    13,    14,    -1,    -1,
-    17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-    -1,    -1,    29,    -1,    31,    32,    33,    -1,    35,    -1,
-    -1,    -1,    39,     3,     4,     5,     6,     7,     8,     9,
-    10,    11,    12,    13,    14,    -1,    -1,    17,    18,    19,
-    20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
-    -1,    31,    32,    33,    -1,    35,    -1,    -1,    -1,    39,
-     3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
-    13,    14,    -1,    -1,    17,    18,    19,    20,    21,    22,
-    23,    24,    25,    26,    -1,    -1,    29,    -1,    31,    32,
-    33,    -1,    35,    -1,    -1,    38,     3,     4,     5,     6,
-     7,     8,     9,    10,    11,    12,    13,    14,    -1,    -1,
-    17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-    -1,    -1,    29,    -1,    31,    32,    33,    -1,    35,    -1,
-    -1,    38,     3,     4,     5,     6,     7,     8,     9,    10,
-    11,    12,    13,    14,    -1,    -1,    17,    18,    19,    20,
-    21,    22,    23,    24,    25,    26,    -1,    -1,    29,    -1,
-    31,    32,    33,    -1,    35,    -1,    37,     3,     4,     5,
-     6,     7,     8,     9,    10,    11,    12,    13,    14,    -1,
-    -1,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-    26,    -1,    -1,    29,    -1,    31,    32,    33,    -1,    35,
-    -1,    37,     3,     4,     5,     6,     7,     8,     9,    10,
-    11,    12,    13,    14,    -1,    -1,    17,    18,    19,    20,
-    21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
-    31,    32,    33,    -1,    35,     3,     4,     5,     6,     7,
-     8,     9,    10,    11,    12,    13,    14,    -1,    -1,    17,
-    18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
-    -1,    29,    -1,    31,    32,    33,    -1,    35,     4,     5,
-     6,     7,     8,     9,    10,    11,    12,    -1,    -1,    -1,
-    -1,    17,    18,    -1,    20,    21,    22,    23,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    31,    32
-};
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/lib/bison.simple"
-/* This file comes from bison-1.28.  */
-
-/* Skeleton output parser for bison,
-   Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
-
-/* This is the parser code that is written into each bison parser
-  when the %semantic_parser declaration is not specified in the grammar.
-  It was written by Richard Stallman by simplifying the hairy parser
-  used when %semantic_parser is specified.  */
-
-#ifndef YYSTACK_USE_ALLOCA
-#ifdef alloca
-#define YYSTACK_USE_ALLOCA
-#else /* alloca not defined */
-#ifdef __GNUC__
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#else /* not GNU C.  */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
-#define YYSTACK_USE_ALLOCA
-#include <sal/alloca.h>
-#else /* not sparc */
-/* We think this test detects Watcom and Microsoft C.  */
-/* This used to test MSDOS, but that is a bad idea
-   since that symbol is in the user namespace.  */
-#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
-#if 0 /* No need for malloc.h, which pollutes the namespace;
-     instead, just don't use alloca.  */
-#include <malloc.h>
-#endif
-#else /* not MSDOS, or __TURBOC__ */
-#if defined(_AIX)
-/* I don't know what this was needed for, but it pollutes the namespace.
-   So I turned it off.   rms, 2 May 1997.  */
-/* #include <malloc.h>  */
- #pragma alloca
-#define YYSTACK_USE_ALLOCA
-#else /* not MSDOS, or __TURBOC__, or _AIX */
-#if 0
-#ifdef __hpux /* haible at ilog.fr says this works for HPUX 9.05 and up,
-         and on HPUX 10.  Eventually we can turn this on.  */
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#endif /* __hpux */
-#endif
-#endif /* not _AIX */
-#endif /* not MSDOS, or __TURBOC__ */
-#endif /* not sparc */

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list