]> Git trees. - libqmvoc.git/commitdiff
remove, rename and delete
authorReto Zingg <g.d0b3rm4n@gmail.com>
Thu, 6 Dec 2012 15:35:33 +0000 (17:35 +0200)
committerReto Zingg <g.d0b3rm4n@gmail.com>
Sat, 21 Sep 2013 10:42:20 +0000 (13:42 +0300)
178 files changed:
AUTHORS [deleted file]
CMakeLists.txt [deleted file]
COPYING [deleted file]
COPYING-CMAKE-SCRIPTS [deleted file]
COPYING.LIB [deleted file]
LibKdeEduConfig.cmake.in [deleted file]
Mainpage.dox [deleted file]
Messages.sh [deleted file]
README [deleted file]
data/CMakeLists.txt [deleted file]
data/README_packagers [deleted file]
data/kvtml/CMakeLists.txt [deleted file]
data/kvtml/README_packagers [deleted file]
data/kvtml/animals.kvtml [deleted file]
data/kvtml/clothing.kvtml [deleted file]
data/kvtml/computers.kvtml [deleted file]
data/kvtml/currencies.kvtml [deleted file]
data/kvtml/easy.kvtml [deleted file]
data/kvtml/fruits.kvtml [deleted file]
data/kvtml/hard.kvtml [deleted file]
data/kvtml/inventions.kvtml [deleted file]
data/kvtml/medium.kvtml [deleted file]
data/kvtml/numbers.kvtml [deleted file]
data/kvtml/objects.kvtml [deleted file]
data/kvtml/people.kvtml [deleted file]
data/kvtml/professions.kvtml [deleted file]
data/kvtml/space.kvtml [deleted file]
data/kvtml/sports.kvtml [deleted file]
data/kvtml/translations.txt [deleted file]
data/kvtml/transportation.kvtml [deleted file]
data/kvtml/vegetables.kvtml [deleted file]
data/kvtml/worldcapitals.kvtml [deleted file]
icons/CMakeLists.txt [deleted file]
icons/hi16-action-editplots.png [deleted file]
icons/hi16-action-functionhelp.png [deleted file]
icons/hi16-action-integral_func.png [deleted file]
icons/hi16-action-maximum.png [deleted file]
icons/hi16-action-minimum.png [deleted file]
icons/hi16-action-newdifferential.png [deleted file]
icons/hi16-action-newfunction.png [deleted file]
icons/hi16-action-newimplicit.png [deleted file]
icons/hi16-action-newparametric.png [deleted file]
icons/hi16-action-newpolar.png [deleted file]
icons/hi16-action-resetview.png [deleted file]
icons/hi22-action-editplots.png [deleted file]
icons/hi22-action-functionhelp.png [deleted file]
icons/hi22-action-maximum.png [deleted file]
icons/hi22-action-minimum.png [deleted file]
icons/hi22-action-newdifferential.png [deleted file]
icons/hi22-action-newfunction.png [deleted file]
icons/hi22-action-newimplicit.png [deleted file]
icons/hi22-action-newparametric.png [deleted file]
icons/hi22-action-newpolar.png [deleted file]
icons/hi22-action-resetview.png [deleted file]
icons/hi32-action-coords.png [deleted file]
icons/hi32-action-deriv_func.png [deleted file]
icons/hi32-action-editconstants.png [deleted file]
icons/hi32-action-editplots.png [deleted file]
icons/hi32-action-func.png [deleted file]
icons/hi32-action-functionhelp.png [deleted file]
icons/hi32-action-integral_func.png [deleted file]
icons/hi32-action-lessen.png [deleted file]
icons/hi32-action-magnify.png [deleted file]
icons/hi32-action-maximum.png [deleted file]
icons/hi32-action-minimum.png [deleted file]
icons/hi32-action-newdifferential.png [deleted file]
icons/hi32-action-newfunction.png [deleted file]
icons/hi32-action-newimplicit.png [deleted file]
icons/hi32-action-newparametric.png [deleted file]
icons/hi32-action-newpolar.png [deleted file]
icons/hi32-action-resetview.png [deleted file]
icons/hi48-action-editplots.png [deleted file]
icons/hi48-action-functionhelp.png [deleted file]
icons/hi48-action-maximum.png [deleted file]
icons/hi48-action-minimum.png [deleted file]
icons/hi48-action-newdifferential.png [deleted file]
icons/hi48-action-newfunction.png [deleted file]
icons/hi48-action-newimplicit.png [deleted file]
icons/hi48-action-newparametric.png [deleted file]
icons/hi48-action-newpolar.png [deleted file]
icons/hi48-action-resetview.png [deleted file]
icons/hi64-action-maximum.png [deleted file]
icons/hi64-action-minimum.png [deleted file]
icons/hisc-action-deriv_func.svgz [deleted file]
icons/hisc-action-editconstants.svgz [deleted file]
icons/hisc-action-editplots.svgz [deleted file]
icons/hisc-action-functionhelp.svgz [deleted file]
icons/hisc-action-integral_func.svgz [deleted file]
icons/hisc-action-maximum.svgz [deleted file]
icons/hisc-action-minimum.svgz [deleted file]
icons/hisc-action-newfunction.svgz [deleted file]
icons/hisc-action-newparametric.svgz [deleted file]
icons/hisc-action-newpolar.svgz [deleted file]
icons/hisc-action-resetview.svgz [deleted file]
keduvocarticle.cpp [moved from keduvocdocument/keduvocarticle.cpp with 100% similarity]
keduvocarticle.h [moved from keduvocdocument/keduvocarticle.h with 100% similarity]
keduvoccommon_p.h [moved from keduvocdocument/keduvoccommon_p.h with 100% similarity]
keduvocconjugation.cpp [moved from keduvocdocument/keduvocconjugation.cpp with 100% similarity]
keduvocconjugation.h [moved from keduvocdocument/keduvocconjugation.h with 100% similarity]
keduvoccontainer.cpp [moved from keduvocdocument/keduvoccontainer.cpp with 100% similarity]
keduvoccontainer.h [moved from keduvocdocument/keduvoccontainer.h with 100% similarity]
keduvoccsvreader.cpp [moved from keduvocdocument/keduvoccsvreader.cpp with 100% similarity]
keduvoccsvreader.h [moved from keduvocdocument/keduvoccsvreader.h with 100% similarity]
keduvoccsvwriter.cpp [moved from keduvocdocument/keduvoccsvwriter.cpp with 100% similarity]
keduvoccsvwriter.h [moved from keduvocdocument/keduvoccsvwriter.h with 100% similarity]
keduvocdeclension.cpp [moved from keduvocdocument/keduvocdeclension.cpp with 100% similarity]
keduvocdeclension.h [moved from keduvocdocument/keduvocdeclension.h with 100% similarity]
keduvocdocument.cpp [moved from keduvocdocument/keduvocdocument.cpp with 100% similarity]
keduvocdocument.h [moved from keduvocdocument/keduvocdocument.h with 100% similarity]
keduvocdocument/CMakeLists.txt [deleted file]
keduvocdocument/Mainpage.dox [deleted file]
keduvocdocument/TODO [deleted file]
keduvocdocument/docs/basic_vocabulary_en2de.kvtml [deleted file]
keduvocdocument/docs/elek.lex [deleted file]
keduvocdocument/docs/kvtml-structure.txt [deleted file]
keduvocdocument/docs/kvtml-version1.dtd [deleted file]
keduvocdocument/docs/kvtml_html_stylesheet.xsl [deleted file]
keduvocdocument/docs/lex-aufbau1.txt [deleted file]
keduvocdocument/docs/lex-aufbau2.txt [deleted file]
keduvocdocument/kvtml_empty_sample.kvtml [deleted file]
keduvocdocument/tests/CMakeLists.txt [deleted file]
keduvocdocument/tests/converter.cpp [deleted file]
keduvocdocument/tests/keduvocdocumentvalidatortest.cpp [deleted file]
keduvocdocument/tests/loader.cpp [deleted file]
keduvocexpression.cpp [moved from keduvocdocument/keduvocexpression.cpp with 100% similarity]
keduvocexpression.h [moved from keduvocdocument/keduvocexpression.h with 100% similarity]
keduvocidentifier.cpp [moved from keduvocdocument/keduvocidentifier.cpp with 100% similarity]
keduvocidentifier.h [moved from keduvocdocument/keduvocidentifier.h with 100% similarity]
keduvockvtml2reader.cpp [moved from keduvocdocument/keduvockvtml2reader.cpp with 100% similarity]
keduvockvtml2reader.h [moved from keduvocdocument/keduvockvtml2reader.h with 100% similarity]
keduvockvtml2writer.cpp [moved from keduvocdocument/keduvockvtml2writer.cpp with 100% similarity]
keduvockvtml2writer.h [moved from keduvocdocument/keduvockvtml2writer.h with 100% similarity]
keduvockvtmlcompability.cpp [moved from keduvocdocument/keduvockvtmlcompability.cpp with 100% similarity]
keduvockvtmlcompability.h [moved from keduvocdocument/keduvockvtmlcompability.h with 100% similarity]
keduvockvtmlreader.cpp [moved from keduvocdocument/keduvockvtmlreader.cpp with 100% similarity]
keduvockvtmlreader.h [moved from keduvocdocument/keduvockvtmlreader.h with 100% similarity]
keduvockvtmlwriter.cpp [moved from keduvocdocument/keduvockvtmlwriter.cpp with 100% similarity]
keduvockvtmlwriter.h [moved from keduvocdocument/keduvockvtmlwriter.h with 100% similarity]
keduvocleitnerbox.cpp [moved from keduvocdocument/keduvocleitnerbox.cpp with 100% similarity]
keduvocleitnerbox.h [moved from keduvocdocument/keduvocleitnerbox.h with 100% similarity]
keduvoclesson.cpp [moved from keduvocdocument/keduvoclesson.cpp with 100% similarity]
keduvoclesson.h [moved from keduvocdocument/keduvoclesson.h with 100% similarity]
keduvocmultiplechoice.cpp [moved from keduvocdocument/keduvocmultiplechoice.cpp with 100% similarity]
keduvocmultiplechoice.h [moved from keduvocdocument/keduvocmultiplechoice.h with 100% similarity]
keduvocpaukerreader.cpp [moved from keduvocdocument/keduvocpaukerreader.cpp with 100% similarity]
keduvocpaukerreader.h [moved from keduvocdocument/keduvocpaukerreader.h with 100% similarity]
keduvocpersonalpronoun.cpp [moved from keduvocdocument/keduvocpersonalpronoun.cpp with 100% similarity]
keduvocpersonalpronoun.h [moved from keduvocdocument/keduvocpersonalpronoun.h with 100% similarity]
keduvoctext.cpp [moved from keduvocdocument/keduvoctext.cpp with 100% similarity]
keduvoctext.h [moved from keduvocdocument/keduvoctext.h with 100% similarity]
keduvoctranslation.cpp [moved from keduvocdocument/keduvoctranslation.cpp with 100% similarity]
keduvoctranslation.h [moved from keduvocdocument/keduvoctranslation.h with 100% similarity]
keduvocvokabelnreader.cpp [moved from keduvocdocument/keduvocvokabelnreader.cpp with 100% similarity]
keduvocvokabelnreader.h [moved from keduvocdocument/keduvocvokabelnreader.h with 100% similarity]
keduvocwordflags.h [moved from keduvocdocument/keduvocwordflags.h with 100% similarity]
keduvocwordtype.cpp [moved from keduvocdocument/keduvocwordtype.cpp with 100% similarity]
keduvocwordtype.h [moved from keduvocdocument/keduvocwordtype.h with 100% similarity]
keduvocwqlreader.cpp [moved from keduvocdocument/keduvocwqlreader.cpp with 100% similarity]
keduvocwqlreader.h [moved from keduvocdocument/keduvocwqlreader.h with 100% similarity]
keduvocxdxfreader.cpp [moved from keduvocdocument/keduvocxdxfreader.cpp with 100% similarity]
keduvocxdxfreader.h [moved from keduvocdocument/keduvocxdxfreader.h with 100% similarity]
kvtml2.dtd [moved from keduvocdocument/kvtml2.dtd with 100% similarity]
kvtml2.xsd [moved from keduvocdocument/kvtml2.xsd with 100% similarity]
kvtml2defs.h [moved from keduvocdocument/kvtml2defs.h with 100% similarity]
kvtml2todo [moved from keduvocdocument/kvtml2todo with 100% similarity]
kvtmldefs.h [moved from keduvocdocument/kvtmldefs.h with 100% similarity]
libkeduvocdocument_export.h [moved from keduvocdocument/libkeduvocdocument_export.h with 100% similarity]
qtmmlwidget/CMakeLists.txt [deleted file]
qtmmlwidget/LICENSE.GPL [deleted file]
qtmmlwidget/LICENSE.LGPL [deleted file]
qtmmlwidget/QtMmlDocument [deleted file]
qtmmlwidget/QtMmlWidget [deleted file]
qtmmlwidget/qtmmlwidget.cpp [deleted file]
qtmmlwidget/qtmmlwidget.h [deleted file]
sharedkvtmlfiles.cpp [moved from keduvocdocument/sharedkvtmlfiles.cpp with 100% similarity]
sharedkvtmlfiles.h [moved from keduvocdocument/sharedkvtmlfiles.h with 100% similarity]
widgets/CMakeLists.txt [deleted file]
widgets/kdeedu.widgets [deleted file]

diff --git a/AUTHORS b/AUTHORS
deleted file mode 100644 (file)
index ac809ea..0000000
--- a/AUTHORS
+++ /dev/null
@@ -1,3 +0,0 @@
-Developers:
-* Scott Wheeler <wheeler@kde.org>
-  Original author and current maintainer
diff --git a/CMakeLists.txt b/CMakeLists.txt
deleted file mode 100644 (file)
index 3ea4ee2..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-project(LibKdeEdu)
-
-#add_definitions( -Wall -fprofile-arcs -ftest-coverage )
-
-find_package(KDE4 REQUIRED)
-include(KDE4Defaults)
-include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES})
-
-add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
-
-add_subdirectory(keduvocdocument)
-add_subdirectory(data)
-#add_subdirectory(widgets)
-add_subdirectory(qtmmlwidget)
-add_subdirectory(icons)
-
-
-configure_file( "${LibKdeEdu_SOURCE_DIR}/LibKdeEduConfig.cmake.in" "${LibKdeEdu_BINARY_DIR}/LibKdeEduConfig.cmake" @ONLY )
-
-if(KDE4_USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
-    set(_LibKdeEdu_CONFIG_DEST "${LIB_INSTALL_DIR}/cmake/libkdeedu")
-else(KDE4_USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
-    set(_LibKdeEdu_CONFIG_DEST "${LIB_INSTALL_DIR}/libkdeedu")
-endif(KDE4_USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
-
-install( FILES
-        "${LibKdeEdu_BINARY_DIR}/LibKdeEduConfig.cmake"
-        DESTINATION "${_LibKdeEdu_CONFIG_DEST}" )
-install( EXPORT LibKdeEduTargets
-         DESTINATION "${_LibKdeEdu_CONFIG_DEST}"
-         NAMESPACE LibKdeEduImport__
-         FILE LibKdeEduTargets.cmake )
diff --git a/COPYING b/COPYING
deleted file mode 100644 (file)
index d159169..0000000
--- a/COPYING
+++ /dev/null
@@ -1,339 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                            NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    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 of the License, 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.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/COPYING-CMAKE-SCRIPTS b/COPYING-CMAKE-SCRIPTS
deleted file mode 100644 (file)
index 4b41776..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. The name of the author may not be used to endorse or promote products 
-   derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/COPYING.LIB b/COPYING.LIB
deleted file mode 100644 (file)
index 5bc8fb2..0000000
+++ /dev/null
@@ -1,481 +0,0 @@
-                  GNU LIBRARY GENERAL PUBLIC LICENSE
-                       Version 2, June 1991
-
- Copyright (C) 1991 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the library GPL.  It is
- numbered 2 because it goes with version 2 of the ordinary GPL.]
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Library General Public License, applies to some
-specially designated Free Software Foundation software, and to any
-other libraries whose authors decide to use it.  You can use it for
-your libraries, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if
-you distribute copies of the library, or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link a program with the library, you must provide
-complete object files to the recipients so that they can relink them
-with the library, after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  Our method of protecting your rights has two steps: (1) copyright
-the library, and (2) offer you this license which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  Also, for each distributor's protection, we want to make certain
-that everyone understands that there is no warranty for this free
-library.  If the library is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original
-version, so that any problems introduced by others will not reflect on
-the original authors' reputations.
-\f
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that companies distributing free
-software will individually obtain patent licenses, thus in effect
-transforming the program into proprietary software.  To prevent this,
-we have made it clear that any patent must be licensed for everyone's
-free use or not licensed at all.
-
-  Most GNU software, including some libraries, is covered by the ordinary
-GNU General Public License, which was designed for utility programs.  This
-license, the GNU Library General Public License, applies to certain
-designated libraries.  This license is quite different from the ordinary
-one; be sure to read it in full, and don't assume that anything in it is
-the same as in the ordinary license.
-
-  The reason we have a separate public license for some libraries is that
-they blur the distinction we usually make between modifying or adding to a
-program and simply using it.  Linking a program with a library, without
-changing the library, is in some sense simply using the library, and is
-analogous to running a utility program or application program.  However, in
-a textual and legal sense, the linked executable is a combined work, a
-derivative of the original library, and the ordinary General Public License
-treats it as such.
-
-  Because of this blurred distinction, using the ordinary General
-Public License for libraries did not effectively promote software
-sharing, because most developers did not use the libraries.  We
-concluded that weaker conditions might promote sharing better.
-
-  However, unrestricted linking of non-free programs would deprive the
-users of those programs of all benefit from the free status of the
-libraries themselves.  This Library General Public License is intended to
-permit developers of non-free programs to use free libraries, while
-preserving your freedom as a user of such programs to change the free
-libraries that are incorporated in them.  (We have not seen how to achieve
-this as regards changes in header files, but we have achieved it as regards
-changes in the actual functions of the Library.)  The hope is that this
-will lead to faster development of free libraries.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, while the latter only
-works together with the library.
-
-  Note that it is possible for a library to be covered by the ordinary
-General Public License rather than by this special one.
-\f
-                  GNU LIBRARY GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library which
-contains a notice placed by the copyright holder or other authorized
-party saying it may be distributed under the terms of this Library
-General Public License (also called "this License").  Each licensee is
-addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-  
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-\f
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-\f
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-\f
-  6. As an exception to the Sections above, you may also compile or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    c) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    d) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the source code distributed need not include anything that is normally
-distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-\f
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-\f
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Library General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-\f
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-                            NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-\f
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-
-    This library 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
-    Library General Public License for more details.
-
-    You should have received a copy of the GNU Library General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/LibKdeEduConfig.cmake.in b/LibKdeEduConfig.cmake.in
deleted file mode 100644 (file)
index 91363d1..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#########################################################################
-#
-# LibKdeEdu Configuration File
-#
-# This file sets various CMake Variables
-#
-# LIBKDEEDU_INCLUDE_DIR                - The Include Directory for all LIBKDEEDU libraries
-# LIBKDEEDU_KEDUVOCDOCUMENT_LIBRARIES  - the keduvocdocument library
-# LIBKDEEDU_KDEEDUUI_LIBRARIES         - the kdeeduui library
-#
-# Copyright 2008  Andreas Pakulat <apaku@gmx.de>
-# Copyright 2010  Niko Sams <niko.sams@gmail.com>
-# Redistribution and use is allowed according to the terms of the BSD license.
-######################################################################
-
-get_filename_component(_LIBKDEEDU_CURRENT_DIR  "${CMAKE_CURRENT_LIST_FILE}" PATH)
-
-if(NOT WIN32)
-# This is needed on non-win32 platforms, as lib-install-dir might be in a
-# totally different prefix than include-install-dir. So instead hardcode the
-# absolute path during buildtime
-set( LIBKDEEDU_INCLUDE_DIR "@INCLUDE_INSTALL_DIR@/libkdeedu" )
-
-else(NOT WIN32)
-
-set( LIBKDEEDU_INCLUDE_DIR "${_LIBKDEEDU_CURRENT_DIR}/../../../include/libkdeedu" )
-
-endif(NOT WIN32)
-
-if( NOT TARGET LibKdeEduImport__keduvocdocument )
-    include("${_LIBKDEEDU_CURRENT_DIR}/LibKdeEduTargets.cmake")
-endif( NOT TARGET LibKdeEduImport__keduvocdocument )
-
-macro( _libkdeedu_set_lib_vars _prefix _lib )
-  set( LIBKDEEDU_${_prefix}_LIBRARIES LibKdeEduImport__${_lib} )
-endmacro( _libkdeedu_set_lib_vars )
-
-_libkdeedu_set_lib_vars( KEDUVOCDOCUMENT keduvocdocument )
-_libkdeedu_set_lib_vars( KDEEDUUI kdeeduui )
-_libkdeedu_set_lib_vars( QTMMLWIDGET qtmmlwidget )
-
-
-mark_as_advanced(
-    KEDUVOCDOCUMENT
-)
diff --git a/Mainpage.dox b/Mainpage.dox
deleted file mode 100644 (file)
index 280c349..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-/** @mainpage libkdeedu
-
-libkdeedu is a set of shared libraries used by the KDE Education Project applications.
-
-It consists of several parts:
-
-User interface parts: Glossary
-
-ExtDate for KStars
-
-libscience for Kalzium containing chemical classes
-
-KEduVocDocument is a library for reading and writing vocabulary files used by Parley, Kanagram, KHangman and KWordQuiz.
-
-*/
diff --git a/Messages.sh b/Messages.sh
deleted file mode 100644 (file)
index 62bec1f..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#! /bin/sh
-find keduvocdocument -maxdepth 1 -name \*.cpp -o -name \*.h >>list_libkdeedu
-
-$XGETTEXT --files-from=list_libkdeedu --from-code=UTF-8 -o $podir/libkdeedu.pot
-
-rm -f list_libkdeedu
diff --git a/README b/README
deleted file mode 100644 (file)
index 7f5783e..0000000
--- a/README
+++ /dev/null
@@ -1,21 +0,0 @@
-Contents of libkdeedu as of Feb 2006, and brief description of each module:
-
-extdate:
-Contains a reimplementation of QDate named ExtDate which eliminates the
-limitation on the year (1752-8000) imposed by QDate.  Also contains
-related reimplemented classes such as ExtDateTime, ExtDatePicker,
-ExtDateTimeEdit, and ExtCalendarSystem.
-Currently used by:  kstars
-
-kdeeducore:
-Contains KEduVocDocument and its related class for reading from/writing to the
-KVTML format (and others too).
-Currently used by:  kanagram, khangman, klatin, kvoctrain, kwordquiz
-
-libscience:
-Contains some classes related to scientific data, like chemical Element's,
-spectra, temperature units and Isotope's.
-Currently used by:  kalzium
-
-ideas: stub directory, contains generic README and TODO files.
-
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
deleted file mode 100644 (file)
index f2bf4ae..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-add_subdirectory( kvtml ) 
-
diff --git a/data/README_packagers b/data/README_packagers
deleted file mode 100644 (file)
index 6be7dd5..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-********  At the attention of packagers  *********
-
-KHangMan, Kanagram, Parley and KWordQuiz depend on /kdeedu/data/kvtml!
-
-Please do not ship Kanagram and KHangMan without those files, thanks!
-
-KHangMan and Kanagram depend on those files, Parley and KWordQuiz can use them.
-
---------------------------------------
-Anne-Marie Mahfouf
-kdeedu module maintainer
-annma at kde dot org
-
-November 2008
\ No newline at end of file
diff --git a/data/kvtml/CMakeLists.txt b/data/kvtml/CMakeLists.txt
deleted file mode 100644 (file)
index a59a057..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-
-FILE(GLOB datafiles *.kvtml)
-install( FILES ${datafiles} DESTINATION  ${DATA_INSTALL_DIR}/kvtml/en )
-add_custom_target( kvtml_data )
-
diff --git a/data/kvtml/README_packagers b/data/kvtml/README_packagers
deleted file mode 100644 (file)
index 6be7dd5..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-********  At the attention of packagers  *********
-
-KHangMan, Kanagram, Parley and KWordQuiz depend on /kdeedu/data/kvtml!
-
-Please do not ship Kanagram and KHangMan without those files, thanks!
-
-KHangMan and Kanagram depend on those files, Parley and KWordQuiz can use them.
-
---------------------------------------
-Anne-Marie Mahfouf
-kdeedu module maintainer
-annma at kde dot org
-
-November 2008
\ No newline at end of file
diff --git a/data/kvtml/animals.kvtml b/data/kvtml/animals.kvtml
deleted file mode 100644 (file)
index eac48be..0000000
+++ /dev/null
@@ -1,368 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>Animals</title><!--Translate tag content-->
-    <comment>Animals from across the planet</comment><!--Translate tag content-->
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <entries>
-    <entry id="0" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>bear</text><!--Translate all text tags content-->
-        <comment>Large heavy animal with thick fur</comment><!--Translate all comment tags content-->
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>dolphin</text>
-        <comment>Sea mammal</comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>zebra</text>
-        <comment>African animal with black and white stripes</comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>kangaroo</text>
-        <comment>Australian jumping animal</comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>whale</text>
-        <comment>Very large sea mammal</comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>horse</text>
-        <comment>Four-legged animal used for riding</comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>monkey</text>
-        <comment>Closely related to humans</comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>woodpecker</text>
-        <comment>Bird that drills through wood</comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>snake</text>
-        <comment>Reptile with no legs</comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>giraffe</text>
-        <comment>Long-necked African animal</comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>elephant</text>
-        <comment>Largest living land animal with a trunk</comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>mouse</text>
-        <comment>Small rodent with a long tail</comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>worm</text>
-        <comment>Animal with no backbone or limbs</comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>dragonfly</text>
-        <comment>Large insect with transparent wings</comment>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>penguin</text>
-        <comment>Sea bird of the Antarctic regions</comment>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>rabbit</text>
-        <comment>Burrowing animal with long ears</comment>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>hamster</text>
-        <comment>Small mouse-like rodent, kept as pets</comment>
-      </translation>
-    </entry>
-    <entry id="17" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>wolf</text>
-        <comment>Fierce, wild animal of the dog family</comment>
-      </translation>
-    </entry>
-    <entry id="18" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>lion</text>
-        <comment>Large, powerful animal of the cat family</comment>
-      </translation>
-    </entry>
-    <entry id="19" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>tiger</text>
-        <comment>Large Asian animal of the cat family</comment>
-      </translation>
-    </entry>
-    <entry id="20" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>octopus</text>
-        <comment>Sea animal with eight long tentacles</comment>
-      </translation>
-    </entry>
-    <entry id="21" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>rhinoceros</text>
-        <comment>Large, thick-skinned animal of Africa</comment>
-      </translation>
-    </entry>
-    <entry id="22" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>hedgehog</text>
-        <comment>Small, with a back covered in stiff spines</comment>
-      </translation>
-    </entry>
-    <entry id="23" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>reindeer</text>
-        <comment>Deer with large antlers</comment>
-      </translation>
-    </entry>
-    <entry id="24" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>squirrel</text>
-        <comment>Small tree-climbing animal with a bushy tail</comment>
-      </translation>
-    </entry>
-    <entry id="25" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>tortoise</text>
-        <comment>A slow-moving, four-footed reptile</comment>
-      </translation>
-    </entry>
-    <entry id="26" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>hippopotamus</text>
-        <comment>Large African river animal</comment>
-      </translation>
-    </entry>
-    <entry id="27" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>dinosaur</text>
-        <comment>Extinct reptile</comment>
-      </translation>
-    </entry>
-    <entry id="28" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>eagle</text>
-        <comment>Large bird of prey</comment>
-      </translation>
-    </entry>
-    <entry id="29" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>shark</text>
-        <comment>Large sea fish with a triangular fin</comment>
-      </translation>
-    </entry>
-    <entry id="30" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>duck</text>
-        <comment>Swimming bird</comment>
-      </translation>
-    </entry>
-    <entry id="31" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>fish</text>
-        <comment>Live in water</comment>
-      </translation>
-    </entry>
-    <entry id="32" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>parrot</text>
-        <comment>Can repeat your words</comment>
-      </translation>
-    </entry>
-    <entry id="33" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>frog</text>
-        <comment>Small green jumping animal</comment>
-      </translation>
-    </entry>
-    <entry id="34" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>snail</text>
-        <comment>Slow-moving, has a spiral shell</comment>
-      </translation>
-    </entry>
-    <entry id="35" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>camel</text>
-        <comment>Can survive a long time in the desert</comment>
-      </translation>
-    </entry>
-    <entry id="36" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>alligator</text>
-        <comment>Reptile of the crocodile family</comment>
-      </translation>
-    </entry>
-    <entry id="37" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>mosquito</text>
-        <comment>Its bite spreads malaria</comment>
-      </translation>
-    </entry>
-    <entry id="38" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>sheep</text>
-        <comment>Grass-eating animal with a thick fleecy coat</comment>
-      </translation>
-    </entry>
-    <entry id="39" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>shellfish</text>
-        <comment>Water animal that has a shell</comment>
-      </translation>
-    </entry>
-    <entry id="40" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>kitten</text>
-        <comment>the young of a cat, ferret, etc.</comment>
-      </translation>
-    </entry>
-    <entry id="41" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>kingfisher</text>
-        <comment>Small bird with bright bluish plumage</comment>
-      </translation>
-    </entry>
-    <entry id="42" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>piglet</text>
-        <comment>young pig</comment>
-      </translation>
-    </entry>
-    <entry id="43" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>turkey</text>
-        <comment>Large bird reared for its flesh</comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/data/kvtml/clothing.kvtml b/data/kvtml/clothing.kvtml
deleted file mode 100644 (file)
index 15f8306..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>Clothing</title>
-    <comment>Things humans wear</comment>
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <entries>
-    <entry id="0" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>sneakers</text>
-        <comment>Athletic shoes</comment>
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>boots</text>
-        <comment>Shoes meant for working</comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>pants</text>
-        <comment>Leg coverings</comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>shorts</text>
-        <comment>Short leg coverings</comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>skirt</text>
-        <comment>The bottom half of a dress</comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>dress</text>
-        <comment>A full-body covering</comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>parka</text>
-        <comment>A cold-weather full-body covering</comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>jacket</text>
-        <comment>A light upper-body warmer</comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>coat</text>
-        <comment>Heavy upper-body covering</comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>hat</text>
-        <comment>A head covering</comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>tobogan</text>
-        <comment>Cold-weather head covering</comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>earmuffs</text>
-        <comment>Ear warmer</comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>sunglasses</text>
-        <comment>Sunny weather eyewear</comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>socks</text>
-        <comment>Foot protection</comment>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>sandals</text>
-        <comment>Beach footwear</comment>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>gloves</text>
-        <comment>Warmers for the hands</comment>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>belt</text>
-        <comment>Keeps your pants from falling down</comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/data/kvtml/computers.kvtml b/data/kvtml/computers.kvtml
deleted file mode 100644 (file)
index c9b1224..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>Computers</title>
-    <comment>Items surrounding your computer</comment>
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <entries>
-    <entry id="0" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>monitor</text>
-        <comment>A device to visualize bits</comment>
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>speakers</text>
-        <comment>Creates waves through the air</comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>printer</text>
-        <comment>Used to visualize bits on paper</comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>mouse</text>
-        <comment>A way to instruct a computer</comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>keyboard</text>
-        <comment>A standard input device</comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>joystick</text>
-        <comment>Input device used for games</comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>modem</text>
-        <comment>Used to communicate over the Internet</comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>caffeine</text>
-        <comment>A substance ensuring alertness</comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>floppy</text>
-        <comment>An ancient storage device</comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>tape</text>
-        <comment>Used for software backups</comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>scanner</text>
-        <comment>Creates a digital representation of a flat object</comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>headphones</text>
-        <comment>For listening to sound privately</comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>webcam</text>
-        <comment>Sends moving images over the Internet</comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>microphone</text>
-        <comment>Allows you to record sound</comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/data/kvtml/currencies.kvtml b/data/kvtml/currencies.kvtml
deleted file mode 100644 (file)
index ce92cc6..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>Currencies</title>
-    <comment>Modern World currencies</comment>
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <entries>
-    <entry id="0" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>dinar</text>
-        <comment>Algeria, Bahrain, Kuwait, etc.</comment>
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>dollar</text>
-        <comment>USA, Canada, Australia, etc.</comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>drachma</text>
-        <comment>Greece (until 2002)</comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>euro</text>
-        <comment>17 European Union countries, etc.</comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>franc</text>
-        <comment>France (until 1998), Switzerland, etc.</comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>guilder</text>
-        <comment>The Netherlands (until 1998)</comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>koruna</text>
-        <comment>Czech Republic, Slovakia (until 2008)</comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>krona</text>
-        <comment>Sweden</comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>krone</text>
-        <comment>Denmark, Greenland, Norway</comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>lira</text>
-        <comment>Italy (until 1998)</comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>mark</text>
-        <comment>Germany (until 1998)</comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>peseta</text>
-        <comment>Spain (until 2002)</comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>peso</text>
-        <comment>Argentina, Chile, Mexico, Cuba, Colombia, etc.</comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>pound</text>
-        <comment>UK, Cyprus (until 2008), Egypt, etc.</comment>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>rand</text>
-        <comment>South Africa</comment>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>renminbi</text>
-        <comment>China</comment>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>ruble</text>
-        <comment>Russia, Belarus, etc.</comment>
-      </translation>
-    </entry>
-    <entry id="17" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>rupee</text>
-        <comment>India, Pakistan, Sri Lanka, etc.</comment>
-      </translation>
-    </entry>
-    <entry id="18" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>shilling</text>
-        <comment>Kenya, Tanzania, etc.</comment>
-      </translation>
-    </entry>
-    <entry id="19" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>yen</text>
-        <comment>Japan</comment>
-      </translation>
-    </entry>
-    <entry id="20" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>zloty</text>
-        <comment>Poland</comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/data/kvtml/easy.kvtml b/data/kvtml/easy.kvtml
deleted file mode 100644 (file)
index 57672f2..0000000
+++ /dev/null
@@ -1,454 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>Easy</title><!--Translate tag content-->
-    <comment>Easy Words</comment><!--Translate tag content-->
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <wordtypedefinitions>
-    <wordtypedefinition>
-      <typename>Noun</typename>
-      <specialwordtype>noun</specialwordtype>
-      <subwordtypedefinition>
-        <subtypename>Male</subtypename>
-        <specialwordtype>noun:male</specialwordtype>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Female</subtypename>
-        <specialwordtype>noun:female</specialwordtype>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Neutral</subtypename>
-        <specialwordtype>noun:neutral</specialwordtype>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Verb</typename>
-      <specialwordtype>verb</specialwordtype>
-      <subwordtypedefinition>
-        <subtypename>Regular</subtypename>
-        <specialwordtype>verb:regular</specialwordtype>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Irregular</subtypename>
-        <specialwordtype>verb:irregular</specialwordtype>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Adjective</typename>
-      <specialwordtype>adjective</specialwordtype>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Adverb</typename>
-      <specialwordtype>adverb</specialwordtype>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Question</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Name</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Article</typename>
-      <subwordtypedefinition>
-        <subtypename>Definite</subtypename>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Indefinite</subtypename>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Pronoun</typename>
-      <subwordtypedefinition>
-        <subtypename>Possessive</subtypename>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Personal</subtypename>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Phrase</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Numeral</typename>
-      <subwordtypedefinition>
-        <subtypename>Ordinal</subtypename>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Cardinal</subtypename>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Conjunction</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Preposition</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Informal</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Figuratively</typename>
-    </wordtypedefinition>
-  </wordtypedefinitions>
-  <entries>
-    <entry id="0" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>playtime</text><!--Translate all text tags content-->
-        <comment>time assigned for children to play</comment><!--Translate all comment tags content-->
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>furniture</text>
-        <comment>objects in a room</comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>garden</text>
-        <comment>a piece of cultivated ground</comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>pupil</text>
-        <comment>a person taught by another</comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>vegetables</text>
-        <comment>a plant of which some part is used as food</comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>apple</text>
-        <comment>a round firm fruit</comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>plate</text>
-        <comment>almost flat usually circular ustensil</comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>sweet</text>
-        <comment>tasting as if containing sugar</comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>kitchen</text>
-        <comment>room in which meals are prepared</comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>chocolate</text>
-        <comment>made from cocoa</comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>computer</text>
-        <comment>an electronic machine</comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>carrot</text>
-        <comment>rabbits like them</comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>indication</text>
-        <comment>show you an information</comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>banana</text>
-        <comment>a yellow fruit</comment>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>information</text>
-        <comment>knowledge</comment>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>money</text>
-        <comment>coins and banknotes</comment>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>adventure</text>
-        <comment>an exciting experiment</comment>
-      </translation>
-    </entry>
-    <entry id="17" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>driver</text>
-        <comment>person at the wheel</comment>
-      </translation>
-    </entry>
-    <entry id="18" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>policeman</text>
-        <comment>member of a police force</comment>
-      </translation>
-    </entry>
-    <entry id="19" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>pineapple</text>
-        <comment>tropical fruit with tough segmented skin</comment>
-      </translation>
-    </entry>
-    <entry id="20" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>stamp</text>
-        <comment>affix it to an envelop</comment>
-      </translation>
-    </entry>
-    <entry id="21" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>lunch</text>
-        <comment>midday meal</comment>
-      </translation>
-    </entry>
-    <entry id="22" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>limousine</text>
-        <comment>car for celebrities</comment>
-      </translation>
-    </entry>
-    <entry id="23" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>escalator</text>
-        <comment>moving staircase</comment>
-      </translation>
-    </entry>
-    <entry id="24" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>breakfast</text>
-        <comment>first meal of the day</comment>
-      </translation>
-    </entry>
-    <entry id="25" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>flower</text>
-        <comment>part of the plant from which seeds develop</comment>
-      </translation>
-    </entry>
-    <entry id="26" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>education</text>
-        <comment>systematic training</comment>
-      </translation>
-    </entry>
-    <entry id="27" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>table</text>
-        <comment>has a flat top with one or more legs</comment>
-      </translation>
-    </entry>
-    <entry id="28" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>classroom</text>
-        <comment>where students are taught</comment>
-      </translation>
-    </entry>
-    <entry id="29" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>television</text>
-        <comment>receives and displays images</comment>
-      </translation>
-    </entry>
-    <entry id="30" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>mistake</text>
-        <comment>incorrect idea or opinion</comment>
-      </translation>
-    </entry>
-    <entry id="31" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>yesterday</text>
-        <comment>the day before today</comment>
-      </translation>
-    </entry>
-    <entry id="32" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>people</text>
-        <comment>large group of persons</comment>
-      </translation>
-    </entry>
-    <entry id="33" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>children</text>
-        <comment>young humans</comment>
-      </translation>
-    </entry>
-    <entry id="34" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>surprise</text>
-        <comment>something sudden or unexpected</comment>
-      </translation>
-    </entry>
-    <entry id="35" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>jacket</text>
-        <comment>a short coat</comment>
-      </translation>
-    </entry>
-    <entry id="36" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>cheese</text>
-        <comment>solid food made from milk</comment>
-      </translation>
-    </entry>
-    <entry id="37" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>chicken</text>
-        <comment>a young bird, especially of the domestic fowl</comment>
-      </translation>
-    </entry>
-    <entry id="38" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>dinner</text>
-        <comment>evening meal</comment>
-      </translation>
-    </entry>
-    <entry id="39" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>mountain</text>
-        <comment>mass of land that rises to a great height</comment>
-      </translation>
-    </entry>
-    <entry id="40" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>forest</text>
-        <comment>set of trees</comment>
-      </translation>
-    </entry>
-    <entry id="41" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>potato</text>
-        <comment>plant with starchy edible tubers</comment>
-      </translation>
-    </entry>
-    <entry id="42" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>water</text>
-        <comment>H2O</comment>
-      </translation>
-    </entry>
-    <entry id="43" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>river</text>
-        <comment>a large natural stream of water</comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/data/kvtml/fruits.kvtml b/data/kvtml/fruits.kvtml
deleted file mode 100644 (file)
index 6dbd346..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>Fruits</title>
-    <comment>Fruits of the Earth</comment>
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <entries>
-    <entry id="0" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>apple</text>
-        <comment>One a day keeps the doctor away</comment>
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>apricot</text>
-        <comment>Resembles a small Peach</comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>banana</text>
-        <comment>A long yellow fruit that bends along its length</comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>blackberry</text>
-        <comment>A Shiny black berry</comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>blueberry</text>
-        <comment>Sweet edible dark-blue berries</comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>cherry</text>
-        <comment>Red fruit with a single hard stone</comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>coconut</text>
-        <comment>Has a hard brown outer husk and creamy white flesh</comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>cranberry</text>
-        <comment>A bright red berry</comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>grape</text>
-        <comment>Used to make wine</comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>grapefruit</text>
-        <comment>Large yellow citrus fruit with acidic, juicy pulp</comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>kiwi</text>
-        <comment>Fuzzy brown egg-shaped fruit with slightly green flesh</comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>lemon</text>
-        <comment>Yellow oval fruit with juicy acidic flesh</comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>lime</text>
-        <comment>Small, green citrus fruit that resembles a lemon</comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>mandarin</text>
-        <comment>Reddish-orange loose-skinned citrus of China</comment>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>mango</text>
-        <comment>Large oval smooth-skinned fruit from the tropics</comment>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>olive</text>
-        <comment>Small fruit with a high oil content</comment>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>orange</text>
-        <comment>Round citrus fruit, associated with a color</comment>
-      </translation>
-    </entry>
-    <entry id="17" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>peach</text>
-        <comment>Juicy fruit with sweet yellowish flesh</comment>
-      </translation>
-    </entry>
-    <entry id="18" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>pear</text>
-        <comment>Small, bell-shaped juicy, gritty-textured fruit</comment>
-      </translation>
-    </entry>
-    <entry id="19" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>pineapple</text>
-        <comment>Resembling a pine cone, with a tangy sweet taste</comment>
-      </translation>
-    </entry>
-    <entry id="20" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>plum</text>
-        <comment>Sweet, juicy, purple fruit with smooth skin</comment>
-      </translation>
-    </entry>
-    <entry id="21" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>raspberry</text>
-        <comment>Strongly-flavored berry of several colors</comment>
-      </translation>
-    </entry>
-    <entry id="22" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>strawberry</text>
-        <comment>Small, sweet and fleshy red fruit</comment>
-      </translation>
-    </entry>
-    <entry id="23" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>watermelon</text>
-        <comment>This melon from Africa has a moist red flesh</comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/data/kvtml/hard.kvtml b/data/kvtml/hard.kvtml
deleted file mode 100644 (file)
index b08dc6b..0000000
+++ /dev/null
@@ -1,454 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>Hard</title><!--Translate tag content-->
-    <comment>Hard Words</comment><!--Translate tag content-->
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <wordtypedefinitions>
-    <wordtypedefinition>
-      <typename>Noun</typename>
-      <specialwordtype>noun</specialwordtype>
-      <subwordtypedefinition>
-        <subtypename>Male</subtypename>
-        <specialwordtype>noun:male</specialwordtype>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Female</subtypename>
-        <specialwordtype>noun:female</specialwordtype>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Neutral</subtypename>
-        <specialwordtype>noun:neutral</specialwordtype>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Verb</typename>
-      <specialwordtype>verb</specialwordtype>
-      <subwordtypedefinition>
-        <subtypename>Regular</subtypename>
-        <specialwordtype>verb:regular</specialwordtype>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Irregular</subtypename>
-        <specialwordtype>verb:irregular</specialwordtype>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Adjective</typename>
-      <specialwordtype>adjective</specialwordtype>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Adverb</typename>
-      <specialwordtype>adverb</specialwordtype>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Question</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Name</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Article</typename>
-      <subwordtypedefinition>
-        <subtypename>Definite</subtypename>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Indefinite</subtypename>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Pronoun</typename>
-      <subwordtypedefinition>
-        <subtypename>Possessive</subtypename>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Personal</subtypename>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Phrase</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Numeral</typename>
-      <subwordtypedefinition>
-        <subtypename>Ordinal</subtypename>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Cardinal</subtypename>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Conjunction</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Preposition</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Informal</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Figuratively</typename>
-    </wordtypedefinition>
-  </wordtypedefinitions>
-  <entries>
-    <entry id="0" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>knuckle</text><!--Translate all text tags content-->
-        <comment></comment><!--Translate all comment tags content-->
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>catalysis</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>jewelry</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>lighthouse</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>enhancement</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>federalism</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>dogmatism</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>dilettantism</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>chloroform</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>ethnography</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>calligraphy</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>brainstorm</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>belladonna</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>boomerang</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>accordionist</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>afterthought</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>ornithology</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="17" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>osteopathy</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="18" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>rattlesnake</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="19" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>exhibition</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="20" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>radiography</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="21" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>surrealism</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="22" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>syllogism</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="23" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>symposium</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="24" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>theologian</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="25" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>taxidermist</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="26" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>trigonometry</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="27" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>translucence</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="28" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>truthfulness</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="29" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>troposphere</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="30" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>uprightness</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="31" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>upholstery</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="32" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>workaholic</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="33" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>withdrawal</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="34" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>zoology</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="35" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>wheelbarrow</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="36" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>xenophobia</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="37" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>yachtsman</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="38" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>astonishment</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="39" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>xylophone</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="40" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>pseudonym</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="41" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>prosperity</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="42" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>psychiatrist</text>
-        <comment></comment>
-      </translation>
-    </entry>
-    <entry id="43" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>protagonist</text>
-        <comment></comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/data/kvtml/inventions.kvtml b/data/kvtml/inventions.kvtml
deleted file mode 100644 (file)
index ffd2f2b..0000000
+++ /dev/null
@@ -1,240 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>Inventions</title>
-    <comment>Greatest inventions of humans</comment>
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <entries>
-    <entry id="0" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>aircraft</text>
-        <comment>Achieve flight through fixed wings</comment>
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>antibiotics</text>
-        <comment>Drugs that kill bacteria</comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>automobile</text>
-        <comment>A motor vehicle for passengers</comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>batteries</text>
-        <comment>Store electrical energy</comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>bicycle</text>
-        <comment>Efficient human powered vehicle with 2 wheels</comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>boomerang</text>
-        <comment>When thrown, it returns</comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>clocks</text>
-        <comment>Accurately displays the time</comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>computers</text>
-        <comment>One is in front of you right now</comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>dynamite</text>
-        <comment>A powerful high explosive</comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>electricity</text>
-        <comment>The flow of electrons</comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>elevator</text>
-        <comment>Allows for speedy vertical travels within tall buildings</comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>email</text>
-        <comment>Fast method of sending mail through the internet</comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>helicopter</text>
-        <comment>Rotating blades on this craft allow flight</comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>hovercraft</text>
-        <comment>Vessel that floats on a cushion of air</comment>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>internet</text>
-        <comment>The global computer communications network</comment>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>lasers</text>
-        <comment>Intense beam of light</comment>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>paperclip</text>
-        <comment>Holds paper objects together temporarily</comment>
-      </translation>
-    </entry>
-    <entry id="17" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>photography</text>
-        <comment>Snapshots of moments in time</comment>
-      </translation>
-    </entry>
-    <entry id="18" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>plastics</text>
-        <comment>Petroleum-based polymers with a range of properties</comment>
-      </translation>
-    </entry>
-    <entry id="19" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>radar</text>
-        <comment>Radio waves provide the spatial location of objects</comment>
-      </translation>
-    </entry>
-    <entry id="20" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>radio</text>
-        <comment>Sound recieved from electromagnetic waves</comment>
-      </translation>
-    </entry>
-    <entry id="21" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>steamengine</text>
-        <comment>The pressure of water vapor drives this engine</comment>
-      </translation>
-    </entry>
-    <entry id="22" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>telephone</text>
-        <comment>A vocal communication device</comment>
-      </translation>
-    </entry>
-    <entry id="23" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>television</text>
-        <comment>Electrical device that displays moving images</comment>
-      </translation>
-    </entry>
-    <entry id="24" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>tetris</text>
-        <comment>Puzzle game made famous by the Gameboy console</comment>
-      </translation>
-    </entry>
-    <entry id="25" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>transistor</text>
-        <comment>Foundation of modern electronics</comment>
-      </translation>
-    </entry>
-    <entry id="26" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>velcro</text>
-        <comment>Hook and loop fasteners</comment>
-      </translation>
-    </entry>
-    <entry id="27" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>wheel</text>
-        <comment>Circular object that allows for low-friction motion</comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/data/kvtml/medium.kvtml b/data/kvtml/medium.kvtml
deleted file mode 100644 (file)
index 6c2d5da..0000000
+++ /dev/null
@@ -1,462 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>Medium</title><!--Translate tag content-->
-    <comment>Medium Words</comment><!--Translate tag content-->
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <wordtypedefinitions>
-    <wordtypedefinition>
-      <typename>Noun</typename>
-      <specialwordtype>noun</specialwordtype>
-      <subwordtypedefinition>
-        <subtypename>Male</subtypename>
-        <specialwordtype>noun:male</specialwordtype>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Female</subtypename>
-        <specialwordtype>noun:female</specialwordtype>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Neutral</subtypename>
-        <specialwordtype>noun:neutral</specialwordtype>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Verb</typename>
-      <specialwordtype>verb</specialwordtype>
-      <subwordtypedefinition>
-        <subtypename>Regular</subtypename>
-        <specialwordtype>verb:regular</specialwordtype>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Irregular</subtypename>
-        <specialwordtype>verb:irregular</specialwordtype>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Adjective</typename>
-      <specialwordtype>adjective</specialwordtype>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Adverb</typename>
-      <specialwordtype>adverb</specialwordtype>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Question</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Name</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Article</typename>
-      <subwordtypedefinition>
-        <subtypename>Definite</subtypename>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Indefinite</subtypename>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Pronoun</typename>
-      <subwordtypedefinition>
-        <subtypename>Possessive</subtypename>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Personal</subtypename>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Phrase</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Numeral</typename>
-      <subwordtypedefinition>
-        <subtypename>Ordinal</subtypename>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Cardinal</subtypename>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Conjunction</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Preposition</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Informal</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Figuratively</typename>
-    </wordtypedefinition>
-  </wordtypedefinitions>
-  <entries>
-    <entry id="0" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>machine</text><!--Translate all text tags content-->
-        <comment>apparatus for applying mechanical power</comment><!--Translate all comment tags content-->
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>bedroom</text>
-        <comment>a room for sleeping in</comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>magistrate</text>
-        <comment>an official with authority to administer the law</comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>gymnasium</text>
-        <comment>a building equipped for gymnastics</comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>appointment</text>
-        <comment>an arrangement to meet at a particular time</comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>antibiotic</text>
-        <comment>a substance capable of destroying a bacteria</comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>delegation</text>
-        <comment>a body of delegates</comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>pharmacist</text>
-        <comment>a person who is skilled in pharmacy</comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>cheeseburger</text>
-        <comment>a hamburger with cheese</comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>assessment</text>
-        <comment>the amount or value is fixed</comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>surroundings</text>
-        <comment>the things or conditions around</comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>supermarket</text>
-        <comment>a large self-service shop</comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>indication</text>
-        <comment>a sign to show the presence of something</comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>radiography</text>
-        <comment>the production of X-ray photographs</comment>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>information</text>
-        <comment>facts told or discovered</comment>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>mincemeat</text>
-        <comment>a mixture used in pies</comment>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>signature</text>
-        <comment>a person's name written by himself</comment>
-      </translation>
-    </entry>
-    <entry id="17" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>enthusiasm</text>
-        <comment>a feeling of eager liking for something</comment>
-      </translation>
-    </entry>
-    <entry id="18" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>asparagus</text>
-        <comment>a plant whose young shoots are cooked and eaten as vegetable</comment>
-      </translation>
-    </entry>
-    <entry id="19" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>vocabulary</text>
-        <comment>a list of words with their meanings</comment>
-      </translation>
-    </entry>
-    <entry id="20" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>government</text>
-        <comment>the organization governing a country</comment>
-      </translation>
-    </entry>
-    <entry id="21" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>conservatory</text>
-        <comment>a greenhouse attached to a house</comment>
-      </translation>
-    </entry>
-    <entry id="22" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>bookshelf</text>
-        <comment>a piece of furniture where you put books</comment>
-      </translation>
-    </entry>
-    <entry id="23" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>photograph</text>
-        <comment>a picture formed by the chemical action of light on a sensitive surface</comment>
-      </translation>
-    </entry>
-    <entry id="24" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>intelligence</text>
-        <comment>mental ability</comment>
-      </translation>
-    </entry>
-    <entry id="25" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>lawnmower</text>
-        <comment>a machine for cutting lawns</comment>
-      </translation>
-    </entry>
-    <entry id="26" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>arithmetic</text>
-        <comment>the science of numbers</comment>
-      </translation>
-    </entry>
-    <entry id="27" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>membership</text>
-        <comment>being a member</comment>
-      </translation>
-    </entry>
-    <entry id="28" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>tranquility</text>
-        <comment>calm and undisturbed</comment>
-      </translation>
-    </entry>
-    <entry id="29" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>contribution</text>
-        <comment>given jointly with others</comment>
-      </translation>
-    </entry>
-    <entry id="30" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>apostrophe</text>
-        <comment>a punctuation mark</comment>
-      </translation>
-    </entry>
-    <entry id="31" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>amusement</text>
-        <comment>for entertainments</comment>
-      </translation>
-    </entry>
-    <entry id="32" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>umbrella</text>
-        <comment>protect you from the rain</comment>
-      </translation>
-    </entry>
-    <entry id="33" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>illumination</text>
-        <comment>a decoration with lights</comment>
-      </translation>
-    </entry>
-    <entry id="34" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>millimetre</text>
-        <comment>0.04 inch</comment>
-      </translation>
-    </entry>
-    <entry id="35" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>milligram</text>
-        <comment>one-thousandth of a gram</comment>
-      </translation>
-    </entry>
-    <entry id="36" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>aquarium</text>
-        <comment>a tank in which fish are kept for display</comment>
-      </translation>
-    </entry>
-    <entry id="37" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>miscount</text>
-        <comment>an incorrect count</comment>
-      </translation>
-    </entry>
-    <entry id="38" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>population</text>
-        <comment>the number of people</comment>
-      </translation>
-    </entry>
-    <entry id="39" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>innovation</text>
-        <comment>introduction of a new process</comment>
-      </translation>
-    </entry>
-    <entry id="40" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>innuendo</text>
-        <comment>an unpleasant insinuation</comment>
-      </translation>
-    </entry>
-    <entry id="41" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>strawberry</text>
-        <comment>a red fruit delicious with cream</comment>
-      </translation>
-    </entry>
-    <entry id="42" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>nephew</text>
-        <comment>the son of your brother or sister</comment>
-      </translation>
-    </entry>
-    <entry id="43" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>countryside</text>
-        <comment>rural areas</comment>
-      </translation>
-    </entry>
-    <entry id="44" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>collection</text>
-        <comment>a set</comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/data/kvtml/numbers.kvtml b/data/kvtml/numbers.kvtml
deleted file mode 100644 (file)
index c0a858e..0000000
+++ /dev/null
@@ -1,296 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>Numbers</title>
-    <comment>Written words for numbers</comment>
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <entries>
-    <entry id="0" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>zero</text>
-        <comment>0</comment>
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>one</text>
-        <comment>1</comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>two</text>
-        <comment>2</comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>three</text>
-        <comment>3</comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>four</text>
-        <comment>4</comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>five</text>
-        <comment>5</comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>six</text>
-        <comment>6</comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>seven</text>
-        <comment>7</comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>eight</text>
-        <comment>8</comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>nine</text>
-        <comment>9</comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>ten</text>
-        <comment>10</comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>eleven</text>
-        <comment>11</comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>twelve</text>
-        <comment>12</comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>thirteen</text>
-        <comment>13</comment>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>fourteen</text>
-        <comment>14</comment>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>fifteen</text>
-        <comment>15</comment>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>sixteen</text>
-        <comment>16</comment>
-      </translation>
-    </entry>
-    <entry id="17" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>seventeen</text>
-        <comment>17</comment>
-      </translation>
-    </entry>
-    <entry id="18" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>eighteen</text>
-        <comment>18</comment>
-      </translation>
-    </entry>
-    <entry id="19" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>nineteen</text>
-        <comment>19</comment>
-      </translation>
-    </entry>
-    <entry id="20" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>twenty</text>
-        <comment>20</comment>
-      </translation>
-    </entry>
-    <entry id="21" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>thirty</text>
-        <comment>30</comment>
-      </translation>
-    </entry>
-    <entry id="22" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>fourty</text>
-        <comment>40</comment>
-      </translation>
-    </entry>
-    <entry id="23" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>fifty</text>
-        <comment>50</comment>
-      </translation>
-    </entry>
-    <entry id="24" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>sixty</text>
-        <comment>60</comment>
-      </translation>
-    </entry>
-    <entry id="25" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>seventy</text>
-        <comment>70</comment>
-      </translation>
-    </entry>
-    <entry id="26" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>eighty</text>
-        <comment>80</comment>
-      </translation>
-    </entry>
-    <entry id="27" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>ninety</text>
-        <comment>90</comment>
-      </translation>
-    </entry>
-    <entry id="28" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>hundred</text>
-        <comment>100</comment>
-      </translation>
-    </entry>
-    <entry id="29" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>thousand</text>
-        <comment>1000</comment>
-      </translation>
-    </entry>
-    <entry id="30" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>million</text>
-        <comment>1,000,000</comment>
-      </translation>
-    </entry>
-    <entry id="31" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>billion</text>
-        <comment>1,000,000,000</comment>
-      </translation>
-    </entry>
-    <entry id="32" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>first</text>
-        <comment>1st</comment>
-      </translation>
-    </entry>
-    <entry id="33" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>second</text>
-        <comment>2nd</comment>
-      </translation>
-    </entry>
-    <entry id="34" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>third</text>
-        <comment>3rd</comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/data/kvtml/objects.kvtml b/data/kvtml/objects.kvtml
deleted file mode 100644 (file)
index 3bc0329..0000000
+++ /dev/null
@@ -1,248 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>Objects</title>
-    <comment>Everyday objects from the home</comment>
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <entries>
-    <entry id="0" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>television</text>
-        <comment>Electrical device that displays moving images</comment>
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>chair</text>
-        <comment>For sitting down on</comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>freezer</text>
-        <comment>Used to keep food items extra cold</comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>fridge</text>
-        <comment>To keep food cool</comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>cooker</text>
-        <comment>Used to cook food</comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>fireplace</text>
-        <comment>Keep warm by flame in cold weather</comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>table</text>
-        <comment>Holds items above the floor</comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>drawers</text>
-        <comment>Storage for personal items</comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>mirror</text>
-        <comment>Reflects the area in front of it</comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>clock</text>
-        <comment>Keeps the time</comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>wardrobe</text>
-        <comment>Stores clothing items upright</comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>bookcase</text>
-        <comment>Storage for books</comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>blender</text>
-        <comment>Liquidates food items</comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>settee</text>
-        <comment>For comfortable seating</comment>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>washbasin</text>
-        <comment>To wash the hands and face</comment>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>shower</text>
-        <comment>To clean your body whilst standing</comment>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>bath</text>
-        <comment>To clean the body whilst lying horizontally</comment>
-      </translation>
-    </entry>
-    <entry id="17" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>kettle</text>
-        <comment>Dedicated to boiling water</comment>
-      </translation>
-    </entry>
-    <entry id="18" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>telephone</text>
-        <comment>A vocal communication device</comment>
-      </translation>
-    </entry>
-    <entry id="19" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>radiator</text>
-        <comment>Increase the temperature of the house</comment>
-      </translation>
-    </entry>
-    <entry id="20" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>radio</text>
-        <comment>Plays audio from the airwaves</comment>
-      </translation>
-    </entry>
-    <entry id="21" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>computer</text>
-        <comment>Interactive electronic device</comment>
-      </translation>
-    </entry>
-    <entry id="22" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>pets</text>
-        <comment>Alive, and often cuddly</comment>
-      </translation>
-    </entry>
-    <entry id="23" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>pictures</text>
-        <comment>Images in frames</comment>
-      </translation>
-    </entry>
-    <entry id="24" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>toothbrush</text>
-        <comment>To brush teeth</comment>
-      </translation>
-    </entry>
-    <entry id="25" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>carpet</text>
-        <comment>Soft floor covering</comment>
-      </translation>
-    </entry>
-    <entry id="26" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>toys</text>
-        <comment>Things to play with</comment>
-      </translation>
-    </entry>
-    <entry id="27" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>ornaments</text>
-        <comment>Objects with no obvious function</comment>
-      </translation>
-    </entry>
-    <entry id="28" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>cupboards</text>
-        <comment>Larger storage areas</comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/data/kvtml/people.kvtml b/data/kvtml/people.kvtml
deleted file mode 100644 (file)
index 106c777..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>People</title>
-    <comment>Influential people of history</comment>
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <entries>
-    <entry id="0" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>aristotle</text>
-        <comment>Influential Greek philosopher</comment>
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>beethoven</text>
-        <comment>Composer</comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>columbus</text>
-        <comment>This explorer discovered the Americas</comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>darwin</text>
-        <comment>Theory of Evolution</comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>edison</text>
-        <comment>Inventor of the Light Bulb</comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>einstein</text>
-        <comment>Theory of Relativity</comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>fleming</text>
-        <comment>Discovered Penicillin</comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>galileo</text>
-        <comment>'The Earth revolves around the Sun'</comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>gandhi</text>
-        <comment>Non-violent independence for India</comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>gorbachev</text>
-        <comment>Helped end Communism in USSR</comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>mandela</text>
-        <comment>Ended apartheid in South Africa</comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>marconi</text>
-        <comment>Inventor of radio</comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>michelangelo</text>
-        <comment>A painter, sculptor and architect</comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>napoleon</text>
-        <comment>French conqueror</comment>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>newton</text>
-        <comment>Discovered Gravity</comment>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>pasteur</text>
-        <comment>Invented Vaccination</comment>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>washington</text>
-        <comment>First president of United States</comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/data/kvtml/professions.kvtml b/data/kvtml/professions.kvtml
deleted file mode 100644 (file)
index f1a4b6d..0000000
+++ /dev/null
@@ -1,328 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>Professions</title>
-    <comment>The jobs people do</comment>
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <entries>
-    <entry id="0" >
-      <inactive>false</inactive>
-      <inquery>true</inquery>
-      <translation id="0" >
-        <text>doctor</text>
-        <comment>One who helps the sick</comment>
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>false</inactive>
-      <inquery>true</inquery>
-      <translation id="0" >
-        <text>fireman</text>
-        <comment>One who puts out fires</comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <inquery>true</inquery>
-      <translation id="0" >
-        <text>fisherman</text>
-        <comment>A catcher of ocean creatures</comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <inquery>true</inquery>
-      <translation id="0" >
-        <text>soldier</text>
-        <comment>One who defends his country</comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>astronaut</text>
-        <comment>An extra-terrestrial traveler</comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>electrician</text>
-        <comment>A person that maintains an electrical system</comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>plumber</text>
-        <comment>Someone that repairs water systems</comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>psychiatrist</text>
-        <comment>A doctor for the mind</comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>policeman</text>
-        <comment>An officer of the law</comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>author</text>
-        <comment>One who writes for a living</comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>journalist</text>
-        <comment>A news writer</comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>programmer</text>
-        <comment>A maker of computer software</comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>actor</text>
-        <comment>One who performs for an audience</comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>musician</text>
-        <comment>A player of music</comment>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>comedian</text>
-        <comment>One who invokes laughter</comment>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>chemist</text>
-        <comment>Scientist who specializes in chemistry</comment>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>teacher</text>
-        <comment>One who instructs students</comment>
-      </translation>
-    </entry>
-    <entry id="17" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>mechanic</text>
-        <comment>A person that repairs machinery</comment>
-      </translation>
-    </entry>
-    <entry id="18" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>farmer</text>
-        <comment>Someone that grows crops</comment>
-      </translation>
-    </entry>
-    <entry id="19" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>artist</text>
-        <comment>One who practices art</comment>
-      </translation>
-    </entry>
-    <entry id="20" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>salesman</text>
-        <comment>A door-to-door seller</comment>
-      </translation>
-    </entry>
-    <entry id="21" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>tailor</text>
-        <comment>Makes and alteres clothes</comment>
-      </translation>
-    </entry>
-    <entry id="22" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>blacksmith</text>
-        <comment>Crafter of iron and steel</comment>
-      </translation>
-    </entry>
-    <entry id="23" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>dentist</text>
-        <comment>Specializes in oral medical care</comment>
-      </translation>
-    </entry>
-    <entry id="24" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>designer</text>
-        <comment>Develops and communicates ideas</comment>
-      </translation>
-    </entry>
-    <entry id="25" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>scientist</text>
-        <comment>Expert in an area of science</comment>
-      </translation>
-    </entry>
-    <entry id="26" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>inventor</text>
-        <comment>The first to think of or make something</comment>
-      </translation>
-    </entry>
-    <entry id="27" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>engineer</text>
-        <comment>Uses scientific knowledge to solve practical problems</comment>
-      </translation>
-    </entry>
-    <entry id="28" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>accountant</text>
-        <comment>Look after the finances in an organisastion</comment>
-      </translation>
-    </entry>
-    <entry id="29" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>baker</text>
-        <comment>Bake bread</comment>
-      </translation>
-    </entry>
-    <entry id="30" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>builder</text>
-        <comment>Involved in the construction of buildings</comment>
-      </translation>
-    </entry>
-    <entry id="31" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>carpenter</text>
-        <comment>Crafts furniture</comment>
-      </translation>
-    </entry>
-    <entry id="32" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>chef</text>
-        <comment>Prepare and cook food</comment>
-      </translation>
-    </entry>
-    <entry id="33" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>hairdresser</text>
-        <comment>Cut and style people's hair</comment>
-      </translation>
-    </entry>
-    <entry id="34" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>lawyer</text>
-        <comment>Defend and prosecute people</comment>
-      </translation>
-    </entry>
-    <entry id="35" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>optician</text>
-        <comment>Look after people's eye sight</comment>
-      </translation>
-    </entry>
-    <entry id="36" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>reporter</text>
-        <comment>Find and report the news</comment>
-      </translation>
-    </entry>
-    <entry id="37" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>secretary</text>
-        <comment>Arrange appointments and organise meetings</comment>
-      </translation>
-    </entry>
-    <entry id="38" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>architect</text>
-        <comment>Designs the blueprints for new structures</comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/data/kvtml/space.kvtml b/data/kvtml/space.kvtml
deleted file mode 100644 (file)
index 3bf0e8b..0000000
+++ /dev/null
@@ -1,248 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>Space</title>
-    <comment>Space objects, terms and missions</comment>
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <entries>
-    <entry id="0" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>apollo</text>
-        <comment>The American moon program</comment>
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>asteroid</text>
-        <comment>Small planetary body in orbit around the Sun</comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>astronaut</text>
-        <comment>Person from the USA who travels into space</comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>buran</text>
-        <comment>Russian reusable spacecraft program</comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>comet</text>
-        <comment>Medium-sized icy object orbiting the Sun</comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>constellation</text>
-        <comment>Grouping of stars which can form a shape or pattern</comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>cosmonaut</text>
-        <comment>Person from Russia who travels into space</comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>earth</text>
-        <comment>The planet on which we live</comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>eclipse</text>
-        <comment>When one celestial body obscures another</comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>galaxy</text>
-        <comment>Very large cluster of stars</comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>jupiter</text>
-        <comment>Fifth from the Sun, the largest planet</comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>mars</text>
-        <comment>Fourth planet from the Sun</comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>mercury</text>
-        <comment>The smallest planet and nearest the Sun</comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>meteor</text>
-        <comment>The visible track of a Meteoroid entering the Earth's atmosphere</comment>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>meteorite</text>
-        <comment>Matter that has reached Earth from outer space</comment>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>mir</text>
-        <comment>Russian space station, launched in 1986</comment>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>moon</text>
-        <comment>The natural satellite of the Earth</comment>
-      </translation>
-    </entry>
-    <entry id="17" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>neptune</text>
-        <comment>Giant planet, eighth from the sun</comment>
-      </translation>
-    </entry>
-    <entry id="18" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>orbit</text>
-        <comment>Path an object makes around another</comment>
-      </translation>
-    </entry>
-    <entry id="19" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>pluto</text>
-        <comment>Second-largest known dwarf planet</comment>
-      </translation>
-    </entry>
-    <entry id="20" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>satellite</text>
-        <comment>An object that revolves around a planet</comment>
-      </translation>
-    </entry>
-    <entry id="21" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>saturn</text>
-        <comment>Giant planet with rings, sixth from the Sun</comment>
-      </translation>
-    </entry>
-    <entry id="22" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>skylab</text>
-        <comment>The first American space station, launched in 1973</comment>
-      </translation>
-    </entry>
-    <entry id="23" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>sputnik</text>
-        <comment>The first artificial Earth satellite, launched in 1957</comment>
-      </translation>
-    </entry>
-    <entry id="24" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>sun</text>
-        <comment>The star at the center of the Solar System</comment>
-      </translation>
-    </entry>
-    <entry id="25" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>taikonaut</text>
-        <comment>Person from China who travels into space</comment>
-      </translation>
-    </entry>
-    <entry id="26" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>uranus</text>
-        <comment>Seventh planet from the Sun</comment>
-      </translation>
-    </entry>
-    <entry id="27" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>venus</text>
-        <comment>Second planet from the Sun</comment>
-      </translation>
-    </entry>
-    <entry id="28" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>voyager</text>
-        <comment>Twin space probes launched in 1977</comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/data/kvtml/sports.kvtml b/data/kvtml/sports.kvtml
deleted file mode 100644 (file)
index bf3563a..0000000
+++ /dev/null
@@ -1,264 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>Sports</title>
-    <comment>Events of the Olympics</comment>
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <entries>
-    <entry id="0" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>aquatics</text>
-        <comment>Water sports</comment>
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>archery</text>
-        <comment>Shooting arrows with a bow</comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>athletics</text>
-        <comment>Track and field events</comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>badminton</text>
-        <comment>Hit the shuttlecock over the net</comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>baseball</text>
-        <comment>4 bases arranged in a diamond</comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>basketball</text>
-        <comment>Throw the ball through the hoop</comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>boxing</text>
-        <comment>Fighting with the fists</comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>canoe</text>
-        <comment>Small boat propelled with a paddle</comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>cycling</text>
-        <comment>Riding bicycles</comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>equestrian</text>
-        <comment>Horseback riding</comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>fencing</text>
-        <comment>Fighting with swords</comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>football</text>
-        <comment>Kick the ball into the opponent's goal</comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>gymnastics</text>
-        <comment>Graceful display of athletic ability</comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>handball</text>
-        <comment>Using hands and a rubber ball</comment>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>hockey</text>
-        <comment>Curved sticks and a ball or puck</comment>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>judo</text>
-        <comment>A martial art</comment>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>pentathlon</text>
-        <comment>5 athletic events</comment>
-      </translation>
-    </entry>
-    <entry id="17" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>rowing</text>
-        <comment>Propelling a boat with oars</comment>
-      </translation>
-    </entry>
-    <entry id="18" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>sailing</text>
-        <comment>Boating propelled by wind</comment>
-      </translation>
-    </entry>
-    <entry id="19" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>shooting</text>
-        <comment>Firing projectiles from a weapon</comment>
-      </translation>
-    </entry>
-    <entry id="20" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>softball</text>
-        <comment>A game resembling baseball</comment>
-      </translation>
-    </entry>
-    <entry id="21" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>taekwondo</text>
-        <comment>Korean martial art</comment>
-      </translation>
-    </entry>
-    <entry id="22" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>tennis</text>
-        <comment>Played with rackets on a court</comment>
-      </translation>
-    </entry>
-    <entry id="23" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>triathlon</text>
-        <comment>3 athletic events</comment>
-      </translation>
-    </entry>
-    <entry id="24" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>volleyball</text>
-        <comment>Hit an inflated ball over a high net</comment>
-      </translation>
-    </entry>
-    <entry id="25" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>weightlifting</text>
-        <comment>Lifting heavy weights</comment>
-      </translation>
-    </entry>
-    <entry id="26" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>wrestling</text>
-        <comment>Grappling between 2 opponents</comment>
-      </translation>
-    </entry>
-    <entry id="27" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>bobsleigh</text>
-        <comment>A sled racing down an icy track</comment>
-      </translation>
-    </entry>
-    <entry id="28" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>curling</text>
-        <comment>Stones slid across ice</comment>
-      </translation>
-    </entry>
-    <entry id="29" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>skating</text>
-        <comment>Gliding on ice</comment>
-      </translation>
-    </entry>
-    <entry id="30" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>skiing</text>
-        <comment>Downhill on snow using flat feet</comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/data/kvtml/translations.txt b/data/kvtml/translations.txt
deleted file mode 100644 (file)
index 0140ed7..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-translations of data files I know are done
-feel free to add to this list if you do translations of these files :)
-
-ca
-da
-de
-en_GB
-es
-ga
-gl
-it
-ru
-uk
-
diff --git a/data/kvtml/transportation.kvtml b/data/kvtml/transportation.kvtml
deleted file mode 100644 (file)
index 8755301..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>Transportation</title>
-    <comment>Ways of getting around</comment>
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <entries>
-    <entry id="0" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>automobile</text>
-        <comment>Four-wheeled vehicle</comment>
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>motorcycle</text>
-        <comment>Motorized two-wheeled vehicle</comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>train</text>
-        <comment>A vehicle that travels on tracks</comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>airplane</text>
-        <comment>A flying machine</comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>helicopter</text>
-        <comment>A vertical takeoff aircraft</comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>bicycle</text>
-        <comment>A two-wheeled human-powered vehicle</comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>streetcar</text>
-        <comment>An electrified bus</comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>elevator</text>
-        <comment>It goes up, it comes down</comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>ship</text>
-        <comment>A sea-faring vehicle</comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>submarine</text>
-        <comment>For underwater transportation</comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>trolley</text>
-        <comment>Open-air bus</comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>truck</text>
-        <comment>Heavy duty with four wheels</comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>bus</text>
-        <comment>For transporting several people at once</comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>subway</text>
-        <comment>An underground train</comment>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>moped</text>
-        <comment>A two-wheeled scooter</comment>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>speedboat</text>
-        <comment>A fast sea-faring vehicle</comment>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>snowmobile</text>
-        <comment>Motorized transport over snow</comment>
-      </translation>
-    </entry>
-    <entry id="17" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>rollerskates</text>
-        <comment>Strap wheels to your feet</comment>
-      </translation>
-    </entry>
-    <entry id="18" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>unicycle</text>
-        <comment>One-wheeled, often seen in the circus</comment>
-      </translation>
-    </entry>
-    <entry id="19" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>airship</text>
-        <comment>Filled with a lighter-than-air gas</comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/data/kvtml/vegetables.kvtml b/data/kvtml/vegetables.kvtml
deleted file mode 100644 (file)
index 95ea2c3..0000000
+++ /dev/null
@@ -1,248 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>Vegetables</title>
-    <comment>Vegetables of the Earth</comment>
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <entries>
-    <entry id="0" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>asparagus</text>
-        <comment>Succulent young shoots</comment>
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>broccoli</text>
-        <comment>Dense clusters of tight green buds grow from a thick stalk</comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>cabbage</text>
-        <comment>Has leaves that form a characteristic compact head</comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>carrot</text>
-        <comment>Orange root vegetable that grows underground</comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>cauliflower</text>
-        <comment>Type of Cabbage, with bunches of creamy white florets</comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>celery</text>
-        <comment>Crisp, green vegetable</comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>chickpeas</text>
-        <comment>Also known as garbanzo beans, with a nut-like flavor</comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>cucumber</text>
-        <comment>Long, green, cylinder-shaped vegetable</comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>garlic</text>
-        <comment>A bulb made up of sections of cloves</comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>leek</text>
-        <comment>Long narrow white bulb and long dark-green leaves</comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>lentils</text>
-        <comment>Small brown beans that cook quickly</comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>lettuce</text>
-        <comment>Leafy greens enjoyed in salads</comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>mushrooms</text>
-        <comment>A type of fungi</comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>onion</text>
-        <comment>Its odor can make you cry</comment>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>paprika</text>
-        <comment>Spicy seasoning ground from red pepper</comment>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>parsley</text>
-        <comment>Fresh-flavored bright green herb</comment>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>parsnip</text>
-        <comment>Root vegetable that looks like a white carrot</comment>
-      </translation>
-    </entry>
-    <entry id="17" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>peanuts</text>
-        <comment>Small light brown nuts, often served salted</comment>
-      </translation>
-    </entry>
-    <entry id="18" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>peas</text>
-        <comment>Small round green seed which grows in a pod</comment>
-      </translation>
-    </entry>
-    <entry id="19" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>potato</text>
-        <comment>Mid-sized, yellow, and grown underground</comment>
-      </translation>
-    </entry>
-    <entry id="20" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>pumpkin</text>
-        <comment>Popular at Halloween</comment>
-      </translation>
-    </entry>
-    <entry id="21" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>rhubarb</text>
-        <comment>Celery-like vegetable</comment>
-      </translation>
-    </entry>
-    <entry id="22" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>soybeans</text>
-        <comment>High-protein, used in tofu</comment>
-      </translation>
-    </entry>
-    <entry id="23" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>spinach</text>
-        <comment>Crisp, dark green leafy vegetable</comment>
-      </translation>
-    </entry>
-    <entry id="24" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>sweetcorn</text>
-        <comment>The yellow seeds of a type of maize</comment>
-      </translation>
-    </entry>
-    <entry id="25" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>tabasco</text>
-        <comment>Very hot red peppers</comment>
-      </translation>
-    </entry>
-    <entry id="26" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>tomato</text>
-        <comment>Red, technically considered a fruit</comment>
-      </translation>
-    </entry>
-    <entry id="27" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>turnip</text>
-        <comment>Vegetable with a succulent, bulbous root</comment>
-      </translation>
-    </entry>
-    <entry id="28" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>watercress</text>
-        <comment>Green leafy little plant, only grows in running water</comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/data/kvtml/worldcapitals.kvtml b/data/kvtml/worldcapitals.kvtml
deleted file mode 100644 (file)
index 61e4663..0000000
+++ /dev/null
@@ -1,432 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd">
-<kvtml version="2.0" >
-  <information>
-    <generator>converter</generator>
-    <title>World Capitals</title>
-    <comment>Capital cities of the World</comment>
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <locale>en</locale>
-    </identifier>
-  </identifiers>
-  <entries>
-    <entry id="0" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>london</text>
-        <comment>Capital of England</comment>
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>true</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>paris</text>
-        <comment>Capital of France</comment>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>berlin</text>
-        <comment>Capital of Germany</comment>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>dublin</text>
-        <comment>Capital of Ireland</comment>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>cardiff</text>
-        <comment>Capital of Wales</comment>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>madrid</text>
-        <comment>Capital of Spain</comment>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>moscow</text>
-        <comment>Capital of Russia</comment>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>kabul</text>
-        <comment>Capital of Afganistan</comment>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>khartoum</text>
-        <comment>Capital of Sudan</comment>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>washington</text>
-        <comment>Capital of the USA</comment>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>canberra</text>
-        <comment>Capital of Australia</comment>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>tokyo</text>
-        <comment>Capital of Japan</comment>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>lisbon</text>
-        <comment>Capital of Portugal</comment>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>edinburgh</text>
-        <comment>Capital of Scotland</comment>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>baghdad</text>
-        <comment>Capital of Iraq</comment>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>beijing</text>
-        <comment>Capital of China</comment>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>seoul</text>
-        <comment>Capital of South Korea</comment>
-      </translation>
-    </entry>
-    <entry id="17" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>tehran</text>
-        <comment>Capital of Iran</comment>
-      </translation>
-    </entry>
-    <entry id="18" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>ottawa</text>
-        <comment>Capital of Canada</comment>
-      </translation>
-    </entry>
-    <entry id="19" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>athens</text>
-        <comment>Capital of Greece</comment>
-      </translation>
-    </entry>
-    <entry id="20" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>stockholm</text>
-        <comment>Capital of Sweden</comment>
-      </translation>
-    </entry>
-    <entry id="21" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>oslo</text>
-        <comment>Capital of Norway</comment>
-      </translation>
-    </entry>
-    <entry id="22" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>sofia</text>
-        <comment>Capital of Bulgaria</comment>
-      </translation>
-    </entry>
-    <entry id="23" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>amsterdam</text>
-        <comment>Capital of the Netherlands</comment>
-      </translation>
-    </entry>
-    <entry id="24" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>rome</text>
-        <comment>Capital of Italy</comment>
-      </translation>
-    </entry>
-    <entry id="25" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>vienna</text>
-        <comment>Capital of Austria</comment>
-      </translation>
-    </entry>
-    <entry id="26" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>santiago</text>
-        <comment>Capital of Chile</comment>
-      </translation>
-    </entry>
-    <entry id="27" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>tirana</text>
-        <comment>Capital of Albania</comment>
-      </translation>
-    </entry>
-    <entry id="28" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>brussels</text>
-        <comment>Capital of Belgium</comment>
-      </translation>
-    </entry>
-    <entry id="29" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>zagreb</text>
-        <comment>Capital of Croatia</comment>
-      </translation>
-    </entry>
-    <entry id="30" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>tallinn</text>
-        <comment>Capital of Estonia</comment>
-      </translation>
-    </entry>
-    <entry id="31" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>helsinki</text>
-        <comment>Capital of Finland</comment>
-      </translation>
-    </entry>
-    <entry id="32" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>reykjavik</text>
-        <comment>Capital of Iceland</comment>
-      </translation>
-    </entry>
-    <entry id="33" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>budapest</text>
-        <comment>Capital of Hungary</comment>
-      </translation>
-    </entry>
-    <entry id="34" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>ankara</text>
-        <comment>Capital of Turkey</comment>
-      </translation>
-    </entry>
-    <entry id="35" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>jakarta</text>
-        <comment>Capital of Indonesia</comment>
-      </translation>
-    </entry>
-    <entry id="36" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>kingston</text>
-        <comment>Capital of Jamaica</comment>
-      </translation>
-    </entry>
-    <entry id="37" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>nairobi</text>
-        <comment>Capital of Kenya</comment>
-      </translation>
-    </entry>
-    <entry id="38" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>riga</text>
-        <comment>Capital of Latvia</comment>
-      </translation>
-    </entry>
-    <entry id="39" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>beirut</text>
-        <comment>Capital of Lebanon</comment>
-      </translation>
-    </entry>
-    <entry id="40" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>tripoli</text>
-        <comment>Capital of Libya</comment>
-      </translation>
-    </entry>
-    <entry id="41" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>skopje</text>
-        <comment>Capital of Macedonia</comment>
-      </translation>
-    </entry>
-    <entry id="42" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>kathmandu</text>
-        <comment>Capital of Nepal</comment>
-      </translation>
-    </entry>
-    <entry id="43" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>lima</text>
-        <comment>Capital of Peru</comment>
-      </translation>
-    </entry>
-    <entry id="44" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>warsaw</text>
-        <comment>Capital of Poland</comment>
-      </translation>
-    </entry>
-    <entry id="45" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>bucharest</text>
-        <comment>Capital of Romania</comment>
-      </translation>
-    </entry>
-    <entry id="46" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>bratislava</text>
-        <comment>Capital of Slovakia</comment>
-      </translation>
-    </entry>
-    <entry id="47" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>mogadishu</text>
-        <comment>Capital of Somalia</comment>
-      </translation>
-    </entry>
-    <entry id="48" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>damascus</text>
-        <comment>Capital of Syria</comment>
-      </translation>
-    </entry>
-    <entry id="49" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>bern</text>
-        <comment>Capital of Switzerland</comment>
-      </translation>
-    </entry>
-    <entry id="50" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>bangkok</text>
-        <comment>Capital of Thailand</comment>
-      </translation>
-    </entry>
-    <entry id="51" >
-      <inactive>false</inactive>
-      <inquery>false</inquery>
-      <translation id="0" >
-        <text>copenhagen</text>
-        <comment>Capital of Denmark</comment>
-      </translation>
-    </entry>
-  </entries>
-</kvtml>
diff --git a/icons/CMakeLists.txt b/icons/CMakeLists.txt
deleted file mode 100644 (file)
index 106884f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-kde4_install_icons( ${ICON_INSTALL_DIR} )
diff --git a/icons/hi16-action-editplots.png b/icons/hi16-action-editplots.png
deleted file mode 100644 (file)
index fe8191f..0000000
Binary files a/icons/hi16-action-editplots.png and /dev/null differ
diff --git a/icons/hi16-action-functionhelp.png b/icons/hi16-action-functionhelp.png
deleted file mode 100644 (file)
index ec3ffc8..0000000
Binary files a/icons/hi16-action-functionhelp.png and /dev/null differ
diff --git a/icons/hi16-action-integral_func.png b/icons/hi16-action-integral_func.png
deleted file mode 100644 (file)
index bb04239..0000000
Binary files a/icons/hi16-action-integral_func.png and /dev/null differ
diff --git a/icons/hi16-action-maximum.png b/icons/hi16-action-maximum.png
deleted file mode 100644 (file)
index ccfcac6..0000000
Binary files a/icons/hi16-action-maximum.png and /dev/null differ
diff --git a/icons/hi16-action-minimum.png b/icons/hi16-action-minimum.png
deleted file mode 100644 (file)
index 31b15d0..0000000
Binary files a/icons/hi16-action-minimum.png and /dev/null differ
diff --git a/icons/hi16-action-newdifferential.png b/icons/hi16-action-newdifferential.png
deleted file mode 100644 (file)
index bc062f9..0000000
Binary files a/icons/hi16-action-newdifferential.png and /dev/null differ
diff --git a/icons/hi16-action-newfunction.png b/icons/hi16-action-newfunction.png
deleted file mode 100644 (file)
index 70fe8fe..0000000
Binary files a/icons/hi16-action-newfunction.png and /dev/null differ
diff --git a/icons/hi16-action-newimplicit.png b/icons/hi16-action-newimplicit.png
deleted file mode 100644 (file)
index 3d70d1e..0000000
Binary files a/icons/hi16-action-newimplicit.png and /dev/null differ
diff --git a/icons/hi16-action-newparametric.png b/icons/hi16-action-newparametric.png
deleted file mode 100644 (file)
index 9cbf41d..0000000
Binary files a/icons/hi16-action-newparametric.png and /dev/null differ
diff --git a/icons/hi16-action-newpolar.png b/icons/hi16-action-newpolar.png
deleted file mode 100644 (file)
index a86a71e..0000000
Binary files a/icons/hi16-action-newpolar.png and /dev/null differ
diff --git a/icons/hi16-action-resetview.png b/icons/hi16-action-resetview.png
deleted file mode 100644 (file)
index 85e14d0..0000000
Binary files a/icons/hi16-action-resetview.png and /dev/null differ
diff --git a/icons/hi22-action-editplots.png b/icons/hi22-action-editplots.png
deleted file mode 100644 (file)
index 95244fc..0000000
Binary files a/icons/hi22-action-editplots.png and /dev/null differ
diff --git a/icons/hi22-action-functionhelp.png b/icons/hi22-action-functionhelp.png
deleted file mode 100644 (file)
index d97647b..0000000
Binary files a/icons/hi22-action-functionhelp.png and /dev/null differ
diff --git a/icons/hi22-action-maximum.png b/icons/hi22-action-maximum.png
deleted file mode 100644 (file)
index 701c01b..0000000
Binary files a/icons/hi22-action-maximum.png and /dev/null differ
diff --git a/icons/hi22-action-minimum.png b/icons/hi22-action-minimum.png
deleted file mode 100644 (file)
index 69c1f85..0000000
Binary files a/icons/hi22-action-minimum.png and /dev/null differ
diff --git a/icons/hi22-action-newdifferential.png b/icons/hi22-action-newdifferential.png
deleted file mode 100644 (file)
index 2db7306..0000000
Binary files a/icons/hi22-action-newdifferential.png and /dev/null differ
diff --git a/icons/hi22-action-newfunction.png b/icons/hi22-action-newfunction.png
deleted file mode 100644 (file)
index b2f004a..0000000
Binary files a/icons/hi22-action-newfunction.png and /dev/null differ
diff --git a/icons/hi22-action-newimplicit.png b/icons/hi22-action-newimplicit.png
deleted file mode 100644 (file)
index a2add27..0000000
Binary files a/icons/hi22-action-newimplicit.png and /dev/null differ
diff --git a/icons/hi22-action-newparametric.png b/icons/hi22-action-newparametric.png
deleted file mode 100644 (file)
index 1e703ce..0000000
Binary files a/icons/hi22-action-newparametric.png and /dev/null differ
diff --git a/icons/hi22-action-newpolar.png b/icons/hi22-action-newpolar.png
deleted file mode 100644 (file)
index 3ea48f7..0000000
Binary files a/icons/hi22-action-newpolar.png and /dev/null differ
diff --git a/icons/hi22-action-resetview.png b/icons/hi22-action-resetview.png
deleted file mode 100644 (file)
index f355552..0000000
Binary files a/icons/hi22-action-resetview.png and /dev/null differ
diff --git a/icons/hi32-action-coords.png b/icons/hi32-action-coords.png
deleted file mode 100644 (file)
index fe7f09b..0000000
Binary files a/icons/hi32-action-coords.png and /dev/null differ
diff --git a/icons/hi32-action-deriv_func.png b/icons/hi32-action-deriv_func.png
deleted file mode 100644 (file)
index 23964ba..0000000
Binary files a/icons/hi32-action-deriv_func.png and /dev/null differ
diff --git a/icons/hi32-action-editconstants.png b/icons/hi32-action-editconstants.png
deleted file mode 100644 (file)
index d3a085c..0000000
Binary files a/icons/hi32-action-editconstants.png and /dev/null differ
diff --git a/icons/hi32-action-editplots.png b/icons/hi32-action-editplots.png
deleted file mode 100644 (file)
index 51595ae..0000000
Binary files a/icons/hi32-action-editplots.png and /dev/null differ
diff --git a/icons/hi32-action-func.png b/icons/hi32-action-func.png
deleted file mode 100644 (file)
index 6b95aa6..0000000
Binary files a/icons/hi32-action-func.png and /dev/null differ
diff --git a/icons/hi32-action-functionhelp.png b/icons/hi32-action-functionhelp.png
deleted file mode 100644 (file)
index ebe2ea5..0000000
Binary files a/icons/hi32-action-functionhelp.png and /dev/null differ
diff --git a/icons/hi32-action-integral_func.png b/icons/hi32-action-integral_func.png
deleted file mode 100644 (file)
index 6f2f6d2..0000000
Binary files a/icons/hi32-action-integral_func.png and /dev/null differ
diff --git a/icons/hi32-action-lessen.png b/icons/hi32-action-lessen.png
deleted file mode 100644 (file)
index e2e5ae6..0000000
Binary files a/icons/hi32-action-lessen.png and /dev/null differ
diff --git a/icons/hi32-action-magnify.png b/icons/hi32-action-magnify.png
deleted file mode 100644 (file)
index d684a82..0000000
Binary files a/icons/hi32-action-magnify.png and /dev/null differ
diff --git a/icons/hi32-action-maximum.png b/icons/hi32-action-maximum.png
deleted file mode 100644 (file)
index 6890d57..0000000
Binary files a/icons/hi32-action-maximum.png and /dev/null differ
diff --git a/icons/hi32-action-minimum.png b/icons/hi32-action-minimum.png
deleted file mode 100644 (file)
index c936daf..0000000
Binary files a/icons/hi32-action-minimum.png and /dev/null differ
diff --git a/icons/hi32-action-newdifferential.png b/icons/hi32-action-newdifferential.png
deleted file mode 100644 (file)
index f5b7641..0000000
Binary files a/icons/hi32-action-newdifferential.png and /dev/null differ
diff --git a/icons/hi32-action-newfunction.png b/icons/hi32-action-newfunction.png
deleted file mode 100644 (file)
index 90e8bca..0000000
Binary files a/icons/hi32-action-newfunction.png and /dev/null differ
diff --git a/icons/hi32-action-newimplicit.png b/icons/hi32-action-newimplicit.png
deleted file mode 100644 (file)
index 7d4de32..0000000
Binary files a/icons/hi32-action-newimplicit.png and /dev/null differ
diff --git a/icons/hi32-action-newparametric.png b/icons/hi32-action-newparametric.png
deleted file mode 100644 (file)
index 3aaa20a..0000000
Binary files a/icons/hi32-action-newparametric.png and /dev/null differ
diff --git a/icons/hi32-action-newpolar.png b/icons/hi32-action-newpolar.png
deleted file mode 100644 (file)
index 590182b..0000000
Binary files a/icons/hi32-action-newpolar.png and /dev/null differ
diff --git a/icons/hi32-action-resetview.png b/icons/hi32-action-resetview.png
deleted file mode 100644 (file)
index 0b2316a..0000000
Binary files a/icons/hi32-action-resetview.png and /dev/null differ
diff --git a/icons/hi48-action-editplots.png b/icons/hi48-action-editplots.png
deleted file mode 100644 (file)
index e29f723..0000000
Binary files a/icons/hi48-action-editplots.png and /dev/null differ
diff --git a/icons/hi48-action-functionhelp.png b/icons/hi48-action-functionhelp.png
deleted file mode 100644 (file)
index 627ddf2..0000000
Binary files a/icons/hi48-action-functionhelp.png and /dev/null differ
diff --git a/icons/hi48-action-maximum.png b/icons/hi48-action-maximum.png
deleted file mode 100644 (file)
index fba5195..0000000
Binary files a/icons/hi48-action-maximum.png and /dev/null differ
diff --git a/icons/hi48-action-minimum.png b/icons/hi48-action-minimum.png
deleted file mode 100644 (file)
index e095ab6..0000000
Binary files a/icons/hi48-action-minimum.png and /dev/null differ
diff --git a/icons/hi48-action-newdifferential.png b/icons/hi48-action-newdifferential.png
deleted file mode 100644 (file)
index c513a30..0000000
Binary files a/icons/hi48-action-newdifferential.png and /dev/null differ
diff --git a/icons/hi48-action-newfunction.png b/icons/hi48-action-newfunction.png
deleted file mode 100644 (file)
index 250baeb..0000000
Binary files a/icons/hi48-action-newfunction.png and /dev/null differ
diff --git a/icons/hi48-action-newimplicit.png b/icons/hi48-action-newimplicit.png
deleted file mode 100644 (file)
index c9add9e..0000000
Binary files a/icons/hi48-action-newimplicit.png and /dev/null differ
diff --git a/icons/hi48-action-newparametric.png b/icons/hi48-action-newparametric.png
deleted file mode 100644 (file)
index 2d1fd9c..0000000
Binary files a/icons/hi48-action-newparametric.png and /dev/null differ
diff --git a/icons/hi48-action-newpolar.png b/icons/hi48-action-newpolar.png
deleted file mode 100644 (file)
index acc6ea0..0000000
Binary files a/icons/hi48-action-newpolar.png and /dev/null differ
diff --git a/icons/hi48-action-resetview.png b/icons/hi48-action-resetview.png
deleted file mode 100644 (file)
index 9399413..0000000
Binary files a/icons/hi48-action-resetview.png and /dev/null differ
diff --git a/icons/hi64-action-maximum.png b/icons/hi64-action-maximum.png
deleted file mode 100644 (file)
index f6dddc6..0000000
Binary files a/icons/hi64-action-maximum.png and /dev/null differ
diff --git a/icons/hi64-action-minimum.png b/icons/hi64-action-minimum.png
deleted file mode 100644 (file)
index 2988490..0000000
Binary files a/icons/hi64-action-minimum.png and /dev/null differ
diff --git a/icons/hisc-action-deriv_func.svgz b/icons/hisc-action-deriv_func.svgz
deleted file mode 100644 (file)
index 64320b7..0000000
Binary files a/icons/hisc-action-deriv_func.svgz and /dev/null differ
diff --git a/icons/hisc-action-editconstants.svgz b/icons/hisc-action-editconstants.svgz
deleted file mode 100644 (file)
index 51fc464..0000000
Binary files a/icons/hisc-action-editconstants.svgz and /dev/null differ
diff --git a/icons/hisc-action-editplots.svgz b/icons/hisc-action-editplots.svgz
deleted file mode 100644 (file)
index e8d99f6..0000000
Binary files a/icons/hisc-action-editplots.svgz and /dev/null differ
diff --git a/icons/hisc-action-functionhelp.svgz b/icons/hisc-action-functionhelp.svgz
deleted file mode 100644 (file)
index 93f4889..0000000
Binary files a/icons/hisc-action-functionhelp.svgz and /dev/null differ
diff --git a/icons/hisc-action-integral_func.svgz b/icons/hisc-action-integral_func.svgz
deleted file mode 100644 (file)
index 782da6f..0000000
Binary files a/icons/hisc-action-integral_func.svgz and /dev/null differ
diff --git a/icons/hisc-action-maximum.svgz b/icons/hisc-action-maximum.svgz
deleted file mode 100644 (file)
index dd9ae3d..0000000
Binary files a/icons/hisc-action-maximum.svgz and /dev/null differ
diff --git a/icons/hisc-action-minimum.svgz b/icons/hisc-action-minimum.svgz
deleted file mode 100644 (file)
index a482b4d..0000000
Binary files a/icons/hisc-action-minimum.svgz and /dev/null differ
diff --git a/icons/hisc-action-newfunction.svgz b/icons/hisc-action-newfunction.svgz
deleted file mode 100644 (file)
index 202d7be..0000000
Binary files a/icons/hisc-action-newfunction.svgz and /dev/null differ
diff --git a/icons/hisc-action-newparametric.svgz b/icons/hisc-action-newparametric.svgz
deleted file mode 100644 (file)
index 04546e6..0000000
Binary files a/icons/hisc-action-newparametric.svgz and /dev/null differ
diff --git a/icons/hisc-action-newpolar.svgz b/icons/hisc-action-newpolar.svgz
deleted file mode 100644 (file)
index f135c0f..0000000
Binary files a/icons/hisc-action-newpolar.svgz and /dev/null differ
diff --git a/icons/hisc-action-resetview.svgz b/icons/hisc-action-resetview.svgz
deleted file mode 100644 (file)
index 2c0808a..0000000
Binary files a/icons/hisc-action-resetview.svgz and /dev/null differ
diff --git a/keduvocdocument/CMakeLists.txt b/keduvocdocument/CMakeLists.txt
deleted file mode 100644 (file)
index 97ead8c..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-add_subdirectory(tests)
-
-########### next target ###############
-
-set(keduvocdocument_LIB_SRCS
-    keduvocdocument.cpp
-    keduvocidentifier.cpp
-    keduvocexpression.cpp
-    keduvoctranslation.cpp
-    keduvoccontainer.cpp
-    keduvoclesson.cpp
-    keduvocleitnerbox.cpp
-    keduvoctext.cpp
-    keduvocarticle.cpp
-    keduvocconjugation.cpp
-    keduvocpersonalpronoun.cpp
-    keduvocdeclension.cpp
-    keduvocwordtype.cpp
-    keduvockvtmlcompability.cpp
-    keduvockvtmlreader.cpp
-    keduvockvtml2reader.cpp
-    keduvockvtml2writer.cpp
-    keduvoccsvreader.cpp
-    keduvoccsvwriter.cpp
-    keduvocpaukerreader.cpp
-    keduvocvokabelnreader.cpp
-    keduvocwqlreader.cpp
-    keduvocxdxfreader.cpp
-    sharedkvtmlfiles.cpp
-)
-
-kde4_add_library(keduvocdocument SHARED ${keduvocdocument_LIB_SRCS})
-
-target_link_libraries(keduvocdocument  ${KDE4_KIO_LIBS} ${QT_QTXML_LIBRARY})
-
-set_target_properties(keduvocdocument
-    PROPERTIES VERSION ${GENERIC_LIB_VERSION}
-    SOVERSION ${GENERIC_LIB_SOVERSION}
-)
-
-# if we want to set our own version instead of following kde generic
-#set(LIB_KEDUVOCDOCUMENT_VERSION "5.0.0")
-#set(LIB_KEDUVOCDOCUMENT_SOVERSION "5")
-#set_target_properties(keduvocdocument
-#    PROPERTIES VERSION ${LIB_KEDUVOCDOCUMENT_VERSION}
-#    SOVERSION ${LIB_KEDUVOCDOCUMENT_SOVERSION}
-#)
-
-install(TARGETS keduvocdocument EXPORT LibKdeEduTargets ${INSTALL_TARGETS_DEFAULT_ARGS})
-
-
-########### install files ###############
-
-install(FILES
-    libkeduvocdocument_export.h
-    keduvocdocument.h
-    keduvocidentifier.h
-    keduvocexpression.h
-    keduvoctext.h
-    keduvocarticle.h
-    keduvocconjugation.h
-    keduvoclesson.h
-    keduvocleitnerbox.h
-    keduvoccontainer.h
-    keduvocwordflags.h
-    keduvocmultiplechoice.h
-    keduvoctranslation.h
-    keduvocwordtype.h
-    keduvocpersonalpronoun.h
-    sharedkvtmlfiles.h
-    keduvocdeclension.h
-    keduvockvtml2writer.h
-    DESTINATION ${INCLUDE_INSTALL_DIR}/libkdeedu  COMPONENT Devel
-)
diff --git a/keduvocdocument/Mainpage.dox b/keduvocdocument/Mainpage.dox
deleted file mode 100644 (file)
index 0e29282..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/** @mainpage KEduVocDocument
-
-KEduVocDocument is a library for reading and writing vocabulary files used by Parley, Kanagram, KHangMan and KWordQuiz.
-At this date no binary compability is guaranteed. Please update this lib when updating the applications mentioned above.
-
-Important classes are:
- - KEduVocExpression to hold an abstract entry. It contains translations in KEduVocTranslation.
- - Lessons are organized by KEduVocLesson.
-
-Grammatical terms are part of KEduVocTranslation and also contained in:
- - KEduVocArticle (articles of a language)
- - KEduVocConjugation (conjugations and personal pronouns)
- - KEduVocWordType (word type management)
-
-Grammar is accessed by using an instance of KEduVocDocument.
-
-Grades can be stored using the KEduVocGrade class (part of a KEduVocTranslation).
-
-KEduVocDocument supports reading and writing of different file formats. KVTML (version 2) is the default.
-
-Readers:
- - KEduVocKvtml2Reader the current default file format since KDE4
- - KEduVocKvtmlReader for compability (pre KDE4)
- - KEduVocCsvReader Comma separated values (text files)
- - KEduVocPaukerReader Pauker file format
- - KEduVocVokabelnReader Vokabeln file format
- - KEduVocXdxfReader XDXF file format
-
-Writers:
- - KEduVocKvtml2Writer
- - KEduVocKvtmlWriter
- - KEduVocCsvWriter
-
-
-*/
diff --git a/keduvocdocument/TODO b/keduvocdocument/TODO
deleted file mode 100644 (file)
index c369fd4..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-Things to improve in KEduVocDocument
-------------------------------------
-
- * Check if all copy constructors are ok or disable copies
-
-Binary incompatible:
- * Tenses should be per language as different languages have a different set of tenses
-
-
-
diff --git a/keduvocdocument/docs/basic_vocabulary_en2de.kvtml b/keduvocdocument/docs/basic_vocabulary_en2de.kvtml
deleted file mode 100644 (file)
index 9567876..0000000
+++ /dev/null
@@ -1,1352 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kanagram/kvtml2.dtd">
-<?xml-stylesheet type="text/xsl" href="kvtml_html_stylesheet.xsl"?>
-<kvtml version="2.0" >
-  <information>
-    <generator>Parley</generator>
-    <title>basic vocabulary German-English</title>
-    <author>Markus Büchele, Norbert Behrendt</author>
-    <license>GPL</license>
-  </information>
-  <identifiers>
-    <identifier id="0" >
-      <name>English</name>
-      <locale>en</locale>
-      <personalpronouns>
-        <malefemaledifferent/>
-      </personalpronouns>
-    </identifier>
-    <identifier id="1" >
-      <name>German</name>
-      <locale>de</locale>
-      <personalpronouns>
-        <malefemaledifferent/>
-      </personalpronouns>
-    </identifier>
-  </identifiers>
-  <wordtypedefinitions>
-    <wordtypedefinition>
-      <typename>Noun</typename>
-      <specialwordtype>noun</specialwordtype>
-      <subwordtypedefinition>
-        <subtypename>Male</subtypename>
-        <specialwordtype>male</specialwordtype>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Female</subtypename>
-        <specialwordtype>female</specialwordtype>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Neutral</subtypename>
-        <specialwordtype>neutral</specialwordtype>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Verb</typename>
-      <specialwordtype>verb</specialwordtype>
-      <subwordtypedefinition>
-        <subtypename>Regular</subtypename>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Irregular</subtypename>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Adjective</typename>
-      <specialwordtype>adjective</specialwordtype>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Adverb</typename>
-      <specialwordtype>adverb</specialwordtype>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Question</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Name</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Article</typename>
-      <subwordtypedefinition>
-        <subtypename>Definite</subtypename>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Indefinite</subtypename>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Pronoun</typename>
-      <subwordtypedefinition>
-        <subtypename>Possessive</subtypename>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Personal</subtypename>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Phrase</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Numeral</typename>
-      <subwordtypedefinition>
-        <subtypename>Ordinal</subtypename>
-      </subwordtypedefinition>
-      <subwordtypedefinition>
-        <subtypename>Cardinal</subtypename>
-      </subwordtypedefinition>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Conjunction</typename>
-    </wordtypedefinition>
-    <wordtypedefinition>
-      <typename>Preposition</typename>
-    </wordtypedefinition>
-  </wordtypedefinitions>
-  <tenses>
-    <tense></tense>
-    <tense>Past Progressive</tense>
-    <tense>Simple Past</tense>
-    <tense>will future</tense>
-    <tense>going to future</tense>
-    <tense>Present Perfect</tense>
-    <tense>Present Progressive</tense>
-    <tense>Plusquamperfekt</tense>
-    <tense>Simple Present</tense>
-  </tenses>
-  <entries>
-    <entry id="0" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>also</text>
-      </translation>
-      <translation id="1" >
-        <text>auch, außerdem</text>
-      </translation>
-    </entry>
-    <entry id="1" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>although</text>
-      </translation>
-      <translation id="1" >
-        <text>obwohl</text>
-      </translation>
-    </entry>
-    <entry id="2" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>and</text>
-      </translation>
-      <translation id="1" >
-        <text>und</text>
-      </translation>
-    </entry>
-    <entry id="3" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>because</text>
-      </translation>
-      <translation id="1" >
-        <text>weil</text>
-      </translation>
-    </entry>
-    <entry id="4" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>besides</text>
-      </translation>
-      <translation id="1" >
-        <text>außerdem</text>
-      </translation>
-    </entry>
-    <entry id="5" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>but</text>
-      </translation>
-      <translation id="1" >
-        <text>aber, sondern</text>
-      </translation>
-    </entry>
-    <entry id="6" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>despite</text>
-      </translation>
-      <translation id="1" >
-        <text>trotz</text>
-      </translation>
-    </entry>
-    <entry id="7" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>either ... or</text>
-      </translation>
-      <translation id="1" >
-        <text>entweder ... oder</text>
-      </translation>
-    </entry>
-    <entry id="8" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>however</text>
-      </translation>
-      <translation id="1" >
-        <text>jedoch, aber</text>
-      </translation>
-    </entry>
-    <entry id="9" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>if</text>
-      </translation>
-      <translation id="1" >
-        <text>wenn, ob</text>
-      </translation>
-    </entry>
-    <entry id="10" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>instead of</text>
-      </translation>
-      <translation id="1" >
-        <text>anstatt</text>
-      </translation>
-    </entry>
-    <entry id="11" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>like</text>
-      </translation>
-      <translation id="1" >
-        <text>wie</text>
-      </translation>
-    </entry>
-    <entry id="12" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>neither ... nor</text>
-      </translation>
-      <translation id="1" >
-        <text>weder ... noch</text>
-      </translation>
-    </entry>
-    <entry id="13" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>not yet</text>
-      </translation>
-      <translation id="1" >
-        <text>noch nicht</text>
-      </translation>
-    </entry>
-    <entry id="14" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>or</text>
-      </translation>
-      <translation id="1" >
-        <text>oder</text>
-      </translation>
-    </entry>
-    <entry id="15" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>such as</text>
-      </translation>
-      <translation id="1" >
-        <text>wie zum Beispiel</text>
-      </translation>
-    </entry>
-    <entry id="16" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>than</text>
-      </translation>
-      <translation id="1" >
-        <text>als</text>
-      </translation>
-    </entry>
-    <entry id="17" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>therefore</text>
-      </translation>
-      <translation id="1" >
-        <text>deshalb, daher</text>
-      </translation>
-    </entry>
-    <entry id="18" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>though</text>
-      </translation>
-      <translation id="1" >
-        <text>obwohl, trotzdem</text>
-      </translation>
-    </entry>
-    <entry id="19" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>unless</text>
-      </translation>
-      <translation id="1" >
-        <text>wenn nicht, es sei denn</text>
-      </translation>
-    </entry>
-    <entry id="20" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>until</text>
-      </translation>
-      <translation id="1" >
-        <text>bis</text>
-      </translation>
-    </entry>
-    <entry id="21" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>when</text>
-      </translation>
-      <translation id="1" >
-        <text>wann, als</text>
-      </translation>
-    </entry>
-    <entry id="22" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>whether</text>
-      </translation>
-      <translation id="1" >
-        <text>ob</text>
-      </translation>
-    </entry>
-    <entry id="23" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>black</text>
-        <wordtype>
-          <typename>Adjective</typename>
-        </wordtype>
-        <comparison>
-          <absolute>black</absolute>
-          <comparative>blacker</comparative>
-          <superlative>the blackest</superlative>
-        </comparison>
-      </translation>
-      <translation id="1" >
-        <text>schwarz</text>
-        <wordtype>
-          <typename>Adjective</typename>
-        </wordtype>
-      </translation>
-    </entry>
-    <entry id="24" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>blue</text>
-        <wordtype>
-          <typename>Adjective</typename>
-        </wordtype>
-        <comparison>
-          <absolute>blue</absolute>
-          <comparative>bluer</comparative>
-          <superlative>the bluest</superlative>
-        </comparison>
-      </translation>
-      <translation id="1" >
-        <text>blau</text>
-        <wordtype>
-          <typename>Adjective</typename>
-        </wordtype>
-      </translation>
-    </entry>
-    <entry id="25" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>brown</text>
-        <wordtype>
-          <typename>Adjective</typename>
-        </wordtype>
-        <comparison>
-          <absolute>brown</absolute>
-          <comparative>browner</comparative>
-          <superlative>the brownest</superlative>
-        </comparison>
-      </translation>
-      <translation id="1" >
-        <text>braun</text>
-        <wordtype>
-          <typename>Adjective</typename>
-        </wordtype>
-      </translation>
-    </entry>
-    <entry id="26" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>eight</text>
-      </translation>
-      <translation id="1" >
-        <text>acht</text>
-      </translation>
-    </entry>
-    <entry id="27" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>five</text>
-      </translation>
-      <translation id="1" >
-        <text>fünf</text>
-      </translation>
-    </entry>
-    <entry id="28" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>four</text>
-      </translation>
-      <translation id="1" >
-        <text>vier</text>
-      </translation>
-    </entry>
-    <entry id="29" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>green</text>
-      </translation>
-      <translation id="1" >
-        <text>grün</text>
-      </translation>
-    </entry>
-    <entry id="30" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>grey</text>
-      </translation>
-      <translation id="1" >
-        <text>grau</text>
-      </translation>
-    </entry>
-    <entry id="31" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>hundred</text>
-      </translation>
-      <translation id="1" >
-        <text>hundert</text>
-      </translation>
-    </entry>
-    <entry id="32" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>million</text>
-      </translation>
-      <translation id="1" >
-        <text>die Million</text>
-      </translation>
-    </entry>
-    <entry id="33" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>nine</text>
-      </translation>
-      <translation id="1" >
-        <text>neun</text>
-      </translation>
-    </entry>
-    <entry id="34" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>one</text>
-      </translation>
-      <translation id="1" >
-        <text>eins</text>
-      </translation>
-    </entry>
-    <entry id="35" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>red</text>
-        <wordtype>
-          <typename>Adjective</typename>
-        </wordtype>
-        <comparison>
-          <absolute>red</absolute>
-          <comparative>redder</comparative>
-          <superlative>the reddest</superlative>
-        </comparison>
-      </translation>
-      <translation id="1" >
-        <text>rot</text>
-        <wordtype>
-          <typename>Adjective</typename>
-        </wordtype>
-      </translation>
-    </entry>
-    <entry id="36" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>seven</text>
-      </translation>
-      <translation id="1" >
-        <text>sieben</text>
-      </translation>
-    </entry>
-    <entry id="37" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>six</text>
-      </translation>
-      <translation id="1" >
-        <text>sechs</text>
-      </translation>
-    </entry>
-    <entry id="38" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>ten</text>
-      </translation>
-      <translation id="1" >
-        <text>zehn</text>
-      </translation>
-    </entry>
-    <entry id="39" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>thousand</text>
-      </translation>
-      <translation id="1" >
-        <text>tausend</text>
-      </translation>
-    </entry>
-    <entry id="40" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>three</text>
-      </translation>
-      <translation id="1" >
-        <text>drei</text>
-      </translation>
-    </entry>
-    <entry id="41" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>two</text>
-      </translation>
-      <translation id="1" >
-        <text>zwei</text>
-      </translation>
-    </entry>
-    <entry id="42" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>white</text>
-        <wordtype>
-          <typename>Adjective</typename>
-        </wordtype>
-        <comparison>
-          <absolute>white</absolute>
-          <comparative>whiter</comparative>
-          <superlative>the whitest</superlative>
-        </comparison>
-      </translation>
-      <translation id="1" >
-        <text>weiß</text>
-        <wordtype>
-          <typename>Adjective</typename>
-        </wordtype>
-      </translation>
-    </entry>
-    <entry id="43" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>yellow</text>
-        <wordtype>
-          <typename>Adjective</typename>
-        </wordtype>
-        <comparison>
-          <absolute>yellow</absolute>
-          <comparative>yellower</comparative>
-          <superlative>the yellowest</superlative>
-        </comparison>
-      </translation>
-      <translation id="1" >
-        <text>gelb</text>
-        <wordtype>
-          <typename>Adjective</typename>
-        </wordtype>
-      </translation>
-    </entry>
-    <entry id="44" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>about</text>
-      </translation>
-      <translation id="1" >
-        <text>über, etwa</text>
-      </translation>
-    </entry>
-    <entry id="45" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>above</text>
-      </translation>
-      <translation id="1" >
-        <text>über, oben</text>
-      </translation>
-    </entry>
-    <entry id="46" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>according to</text>
-      </translation>
-      <translation id="1" >
-        <text>laut, nach</text>
-      </translation>
-    </entry>
-    <entry id="47" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>across</text>
-      </translation>
-      <translation id="1" >
-        <text>über, hinüber, durch</text>
-      </translation>
-    </entry>
-    <entry id="48" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>after</text>
-      </translation>
-      <translation id="1" >
-        <text>nach, nachdem</text>
-      </translation>
-    </entry>
-    <entry id="49" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>against</text>
-      </translation>
-      <translation id="1" >
-        <text>gegen</text>
-      </translation>
-    </entry>
-    <entry id="50" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>ago</text>
-      </translation>
-      <translation id="1" >
-        <text>vor</text>
-      </translation>
-    </entry>
-    <entry id="51" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>among</text>
-      </translation>
-      <translation id="1" >
-        <text>unter</text>
-      </translation>
-    </entry>
-    <entry id="52" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>at</text>
-      </translation>
-      <translation id="1" >
-        <text>an, bei</text>
-      </translation>
-    </entry>
-    <entry id="53" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>because of</text>
-      </translation>
-      <translation id="1" >
-        <text>wegen</text>
-      </translation>
-    </entry>
-    <entry id="54" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>behind</text>
-      </translation>
-      <translation id="1" >
-        <text>hinter, hinten</text>
-      </translation>
-    </entry>
-    <entry id="55" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>between</text>
-      </translation>
-      <translation id="1" >
-        <text>zwischen</text>
-      </translation>
-    </entry>
-    <entry id="56" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>by</text>
-      </translation>
-      <translation id="1" >
-        <text>bei, von, durch</text>
-      </translation>
-    </entry>
-    <entry id="57" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>close to</text>
-      </translation>
-      <translation id="1" >
-        <text>in der Nähe, nahe</text>
-      </translation>
-    </entry>
-    <entry id="58" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>due to</text>
-      </translation>
-      <translation id="1" >
-        <text>wegen</text>
-      </translation>
-    </entry>
-    <entry id="59" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>during</text>
-      </translation>
-      <translation id="1" >
-        <text>während</text>
-      </translation>
-    </entry>
-    <entry id="60" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>except</text>
-      </translation>
-      <translation id="1" >
-        <text>außer</text>
-      </translation>
-    </entry>
-    <entry id="61" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>for</text>
-      </translation>
-      <translation id="1" >
-        <text>für, seit</text>
-      </translation>
-    </entry>
-    <entry id="62" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>from</text>
-      </translation>
-      <translation id="1" >
-        <text>von</text>
-      </translation>
-    </entry>
-    <entry id="63" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>in</text>
-      </translation>
-      <translation id="1" >
-        <text>in</text>
-      </translation>
-    </entry>
-    <entry id="64" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>in front of</text>
-      </translation>
-      <translation id="1" >
-        <text>vor</text>
-      </translation>
-    </entry>
-    <entry id="65" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>into</text>
-      </translation>
-      <translation id="1" >
-        <text>in ... hinein</text>
-      </translation>
-    </entry>
-    <entry id="66" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>near</text>
-      </translation>
-      <translation id="1" >
-        <text>nahe</text>
-      </translation>
-    </entry>
-    <entry id="67" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>next to</text>
-      </translation>
-      <translation id="1" >
-        <text>neben</text>
-      </translation>
-    </entry>
-    <entry id="68" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>of</text>
-      </translation>
-      <translation id="1" >
-        <text>von</text>
-      </translation>
-    </entry>
-    <entry id="69" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>on</text>
-      </translation>
-      <translation id="1" >
-        <text>an, auf</text>
-      </translation>
-    </entry>
-    <entry id="70" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>on top of</text>
-      </translation>
-      <translation id="1" >
-        <text>oben auf</text>
-      </translation>
-    </entry>
-    <entry id="71" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>since</text>
-      </translation>
-      <translation id="1" >
-        <text>seit</text>
-      </translation>
-    </entry>
-    <entry id="72" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>through</text>
-      </translation>
-      <translation id="1" >
-        <text>durch</text>
-      </translation>
-    </entry>
-    <entry id="73" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>to</text>
-      </translation>
-      <translation id="1" >
-        <text>zu, nach</text>
-      </translation>
-    </entry>
-    <entry id="74" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>toward</text>
-      </translation>
-      <translation id="1" >
-        <text>auf ... zu</text>
-      </translation>
-    </entry>
-    <entry id="75" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>under</text>
-      </translation>
-      <translation id="1" >
-        <text>unter</text>
-      </translation>
-    </entry>
-    <entry id="76" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>up</text>
-      </translation>
-      <translation id="1" >
-        <text>oben, hinauf</text>
-      </translation>
-    </entry>
-    <entry id="77" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>up to</text>
-      </translation>
-      <translation id="1" >
-        <text>bis</text>
-      </translation>
-    </entry>
-    <entry id="78" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>with</text>
-      </translation>
-      <translation id="1" >
-        <text>mit</text>
-      </translation>
-    </entry>
-    <entry id="79" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>without</text>
-      </translation>
-      <translation id="1" >
-        <text>ohne</text>
-      </translation>
-    </entry>
-    <entry id="80" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>bed</text>
-      </translation>
-      <translation id="1" >
-        <text>das Bett</text>
-      </translation>
-    </entry>
-    <entry id="81" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>bread</text>
-      </translation>
-      <translation id="1" >
-        <text>das Brot</text>
-      </translation>
-    </entry>
-    <entry id="82" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>no</text>
-      </translation>
-      <translation id="1" >
-        <text>nein</text>
-      </translation>
-    </entry>
-    <entry id="83" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>please</text>
-      </translation>
-      <translation id="1" >
-        <text>bitte</text>
-      </translation>
-    </entry>
-    <entry id="84" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>sorry</text>
-      </translation>
-      <translation id="1" >
-        <text>Entschuldigung</text>
-      </translation>
-    </entry>
-    <entry id="85" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>thank you</text>
-      </translation>
-      <translation id="1" >
-        <text>danke</text>
-      </translation>
-    </entry>
-    <entry id="86" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>to be</text>
-      </translation>
-      <translation id="1" >
-        <text>sein</text>
-      </translation>
-    </entry>
-    <entry id="87" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>to do</text>
-      </translation>
-      <translation id="1" >
-        <text>tun, machen</text>
-      </translation>
-    </entry>
-    <entry id="88" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>to have</text>
-      </translation>
-      <translation id="1" >
-        <text>haben</text>
-      </translation>
-    </entry>
-    <entry id="89" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>water</text>
-      </translation>
-      <translation id="1" >
-        <text>das Wasser</text>
-      </translation>
-    </entry>
-    <entry id="90" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>yes</text>
-      </translation>
-      <translation id="1" >
-        <text>ja</text>
-      </translation>
-    </entry>
-    <entry id="91" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>autumn</text>
-      </translation>
-      <translation id="1" >
-        <text>der Herbst</text>
-      </translation>
-    </entry>
-    <entry id="92" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>century</text>
-      </translation>
-      <translation id="1" >
-        <text>das Jahrhundert</text>
-      </translation>
-    </entry>
-    <entry id="93" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>day</text>
-      </translation>
-      <translation id="1" >
-        <text>der Tag</text>
-      </translation>
-    </entry>
-    <entry id="94" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>east</text>
-      </translation>
-      <translation id="1" >
-        <text>der Osten, Ã¶stlich</text>
-      </translation>
-    </entry>
-    <entry id="95" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>hour</text>
-      </translation>
-      <translation id="1" >
-        <text>die Stunde</text>
-      </translation>
-    </entry>
-    <entry id="96" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>inch</text>
-      </translation>
-      <translation id="1" >
-        <text>der Zoll (Längenmaß)</text>
-      </translation>
-    </entry>
-    <entry id="97" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>kilometre</text>
-      </translation>
-      <translation id="1" >
-        <text>der Kilometer</text>
-      </translation>
-    </entry>
-    <entry id="98" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>left</text>
-      </translation>
-      <translation id="1" >
-        <text>links</text>
-      </translation>
-    </entry>
-    <entry id="99" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>metre</text>
-      </translation>
-      <translation id="1" >
-        <text>der Meter</text>
-      </translation>
-    </entry>
-    <entry id="100" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>mile</text>
-      </translation>
-      <translation id="1" >
-        <text>die Meile</text>
-      </translation>
-    </entry>
-    <entry id="101" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>minute</text>
-      </translation>
-      <translation id="1" >
-        <text>die Minute</text>
-      </translation>
-    </entry>
-    <entry id="102" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>month</text>
-      </translation>
-      <translation id="1" >
-        <text>der Monat</text>
-      </translation>
-    </entry>
-    <entry id="103" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>north</text>
-      </translation>
-      <translation id="1" >
-        <text>der Norden, nördlich</text>
-      </translation>
-    </entry>
-    <entry id="104" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>right</text>
-      </translation>
-      <translation id="1" >
-        <text>das Recht, rechts, richtig</text>
-      </translation>
-    </entry>
-    <entry id="105" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>season</text>
-      </translation>
-      <translation id="1" >
-        <text>die Jahreszeit, die Saison</text>
-      </translation>
-    </entry>
-    <entry id="106" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>south</text>
-      </translation>
-      <translation id="1" >
-        <text>der Süden, südlich</text>
-      </translation>
-    </entry>
-    <entry id="107" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>spring</text>
-      </translation>
-      <translation id="1" >
-        <text>der Frühling</text>
-      </translation>
-    </entry>
-    <entry id="108" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>square</text>
-      </translation>
-      <translation id="1" >
-        <text>das Quadrat, der Platz</text>
-      </translation>
-    </entry>
-    <entry id="109" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>summer</text>
-      </translation>
-      <translation id="1" >
-        <text>der Sommer</text>
-      </translation>
-    </entry>
-    <entry id="110" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>triangle</text>
-      </translation>
-      <translation id="1" >
-        <text>das Dreieck</text>
-      </translation>
-    </entry>
-    <entry id="111" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>week</text>
-      </translation>
-      <translation id="1" >
-        <text>die Woche</text>
-      </translation>
-    </entry>
-    <entry id="112" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>west</text>
-      </translation>
-      <translation id="1" >
-        <text>der Westen, westlich</text>
-      </translation>
-    </entry>
-    <entry id="113" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>winter</text>
-      </translation>
-      <translation id="1" >
-        <text>der Winter</text>
-      </translation>
-    </entry>
-    <entry id="114" >
-      <inactive>false</inactive>
-      <translation id="0" >
-        <text>year</text>
-      </translation>
-      <translation id="1" >
-        <text>das Jahr</text>
-      </translation>
-    </entry>
-  </entries>
-  <lessons>
-    <lesson>
-      <name>time and space</name>
-      <entryid>91</entryid>
-      <entryid>92</entryid>
-      <entryid>93</entryid>
-      <entryid>94</entryid>
-      <entryid>95</entryid>
-      <entryid>96</entryid>
-      <entryid>97</entryid>
-      <entryid>98</entryid>
-      <entryid>99</entryid>
-      <entryid>100</entryid>
-      <entryid>101</entryid>
-      <entryid>102</entryid>
-      <entryid>103</entryid>
-      <entryid>104</entryid>
-      <entryid>105</entryid>
-      <entryid>106</entryid>
-      <entryid>107</entryid>
-      <entryid>108</entryid>
-      <entryid>109</entryid>
-      <entryid>110</entryid>
-      <entryid>111</entryid>
-      <entryid>112</entryid>
-      <entryid>113</entryid>
-      <entryid>114</entryid>
-    </lesson>
-    <lesson>
-      <name>survival training</name>
-      <entryid>80</entryid>
-      <entryid>81</entryid>
-      <entryid>82</entryid>
-      <entryid>83</entryid>
-      <entryid>84</entryid>
-      <entryid>85</entryid>
-      <entryid>86</entryid>
-      <entryid>87</entryid>
-      <entryid>88</entryid>
-      <entryid>89</entryid>
-      <entryid>90</entryid>
-    </lesson>
-    <lesson>
-      <name>numbers and colours</name>
-      <entryid>23</entryid>
-      <entryid>24</entryid>
-      <entryid>25</entryid>
-      <entryid>26</entryid>
-      <entryid>27</entryid>
-      <entryid>28</entryid>
-      <entryid>29</entryid>
-      <entryid>30</entryid>
-      <entryid>31</entryid>
-      <entryid>32</entryid>
-      <entryid>33</entryid>
-      <entryid>34</entryid>
-      <entryid>35</entryid>
-      <entryid>36</entryid>
-      <entryid>37</entryid>
-      <entryid>38</entryid>
-      <entryid>39</entryid>
-      <entryid>40</entryid>
-      <entryid>41</entryid>
-      <entryid>42</entryid>
-      <entryid>43</entryid>
-    </lesson>
-    <lesson>
-      <name>conjunctions</name>
-      <entryid>0</entryid>
-      <entryid>1</entryid>
-      <entryid>2</entryid>
-      <entryid>3</entryid>
-      <entryid>4</entryid>
-      <entryid>5</entryid>
-      <entryid>6</entryid>
-      <entryid>7</entryid>
-      <entryid>8</entryid>
-      <entryid>9</entryid>
-      <entryid>10</entryid>
-      <entryid>11</entryid>
-      <entryid>12</entryid>
-      <entryid>13</entryid>
-      <entryid>14</entryid>
-      <entryid>15</entryid>
-      <entryid>16</entryid>
-      <entryid>17</entryid>
-      <entryid>18</entryid>
-      <entryid>19</entryid>
-      <entryid>20</entryid>
-      <entryid>21</entryid>
-      <entryid>22</entryid>
-    </lesson>
-    <lesson>
-      <name>prepositions</name>
-      <current>true</current>
-      <entryid>44</entryid>
-      <entryid>45</entryid>
-      <entryid>46</entryid>
-      <entryid>47</entryid>
-      <entryid>48</entryid>
-      <entryid>49</entryid>
-      <entryid>50</entryid>
-      <entryid>51</entryid>
-      <entryid>52</entryid>
-      <entryid>53</entryid>
-      <entryid>54</entryid>
-      <entryid>55</entryid>
-      <entryid>56</entryid>
-      <entryid>57</entryid>
-      <entryid>58</entryid>
-      <entryid>59</entryid>
-      <entryid>60</entryid>
-      <entryid>61</entryid>
-      <entryid>62</entryid>
-      <entryid>63</entryid>
-      <entryid>64</entryid>
-      <entryid>65</entryid>
-      <entryid>66</entryid>
-      <entryid>67</entryid>
-      <entryid>68</entryid>
-      <entryid>69</entryid>
-      <entryid>70</entryid>
-      <entryid>71</entryid>
-      <entryid>72</entryid>
-      <entryid>73</entryid>
-      <entryid>74</entryid>
-      <entryid>75</entryid>
-      <entryid>76</entryid>
-      <entryid>77</entryid>
-      <entryid>78</entryid>
-      <entryid>79</entryid>
-    </lesson>
-  </lessons>
-</kvtml>
diff --git a/keduvocdocument/docs/elek.lex b/keduvocdocument/docs/elek.lex
deleted file mode 100644 (file)
index 46b23aa..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-Vocabulary Trainer V5.0\r
-LEX|Deutsch|Englisch| 259 260 1 1 1 0 0 268 0 1 1 1 1 145 6 23 1999 255 1 1 653 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 1 1 0 0 |\r
--11 700\r
-System\r
-Energie- und Automatisierungstechnik. V. Manuela Lutz. Danke.\r
-1 1 der die das|he she it|\r
-1 1 eine einer eines einen einem|has have had is be|\r
-1 1 er sie es|his him her its|\r
-1 1 wir ihr euch|in to into on at too|\r
-1 1 in an auf bei|the a an|\r
-1 1 zu um zur zum|out by with of off|\r
-1 1 ist sind seid|something someone some|\r
-1 1 dies dieser dieses|under below|\r
-1 1 ||\r
-1 1 ||\r
-der die das ein eine einer eines einen einem|the a an|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-Sachgebiete|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-|\r
-32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 \r
-1 0 255 255 255 255 255 255 0 0 1 Abbildung||||mapping||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abblendkappe||||anti-dazzle device||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abdeckblech||||cover sheet||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abfallstoffe|products|||waste||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abfalltechnik||||waste engineering||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abfangblech||||locating plate||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abfrageprotokoll||||inquiry log||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abgabeleistung||||power output||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abgang||||outgoing circuit||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abgangsbaugruppe||||outgoing unit||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abgas||||exhaust gas||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abgasdruck||||exhaust gas pressure||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abgasemission||||exhaust gas emission||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abgasgegendruck||||exhaust gas back pressure||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abgaskatalysator||||exhaust gas catalytic converter||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abgaskomponenten||||exhaust gas components||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abgasmeßgerät||||exhaust gas measuring equipment||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abgasrückführung||||exhaust gas recycling||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 abgedeckter Druckknopf||||covered pushbutton||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 abgedichtete Kunststoffleuchte||||sealed plastic luminaire||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 abgehende Leitung||||outgoing feeder||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 abgeschirmte Drucktaste||||shrouded pushbutton||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 abgesichert||||fused||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 abgetastet||||sampled||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 abgeteilt||||segregated||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abgleich||||adjustment||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 abisolieren||||to strip||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 abklemmen||||disconnect||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Ablauf||||sequence||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Ablaufplan||||flow diagram||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Ableiter||||surge arrester||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Ableitung||||terminal lead||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Ablenkung||||deflection||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abluft||||exhaust air||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abschaltautomatic bei Spannungsabfall||||automatic loss-of-voltage tripping equipment||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abschirmung||||screening||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Absolutwert||||absolute value||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abstand||||distance||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abstraktionsebene||||level of abstraction||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abteilung||||department||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abwasseraufbereitung||||effluent treatment||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abwasserbehandlung||||waste water treatment||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abwassertechnik||||sewage technology||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Abweichung||||deviation||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 abzählbar||||countable||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Achse||||axis||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 adaptiver||||adaptive||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Aggregate||||aggregates||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Aktoren|Aktuatoren|||actuators||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Akustik||||acoustics||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Alterungsbeständig||||durability||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Altlasten||||polluted areas||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Analogeingabe||||analog input||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Arbeitswissenschaften||||ergonomics||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Aufbau- und Verbindungstechnik||||packaging of integrated circuits||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Aufbereitung||||preparation||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Auflösung||||resolution||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Aufspannplatte||||mounting plate||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Auftragsabwicklung||||order transaction||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Auftragsbearbeitung||||order processing||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Ausführung||||conducting||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Beleuchtungstechnik||||illumination engineering||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Bildcodierung||||image coding||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Bilderkennungssystem||||image recognition system||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Bildkommunikation||||image communication||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Bildmenge||||image set||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Bildschirmanzeige||||screen diplay||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Bildverarbeitung||||image processing||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Borhmaschine||||drilling machine||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-0 47 255 255 255 255 255 255 0 0 1 Datenübertragung||||data transmission||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Druckluft||||compressed air||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Druckluftanlage||||compressed-air system||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Drucktaster||||pushbutton||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Einbautechnik|Einbausystem|||packaging system||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Einheit||||unit||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 elektrisch||||electrical||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Elektrizitätszähler||||electricity meter||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 elektromechanische Bauelemente||||electromechanical components||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Elektromotor||||electric motor||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 elektronische Steuerung||||electronic control||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Endschalter||||limit switch||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Fernwirktechnik||||telecontrol||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Freiluftanlage||||outdoor installation||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Gebäudeinstallation||||wiring practice||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 gedruckte Schaltung||||printed circuit||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Gleichrichter||||rectifier||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Grenzwert||||limiting value||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Halbleiter||||semiconductor||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Halbleiterbauelement||||semiconductor component||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Hebezeug||||hoisting gear||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Hilfsstromschalter||||control switch||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Innenraumanlage||||indoor installation||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Installationskanal||||trunking and duct system||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Installationsmaterial||||wiring accessoires||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Installationstechnik||||electrical installation||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Isolation|Isolierung|||insulation||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Klimatechnik||||air conditioning||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Kommutator||||commutator||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Kraftwerk||||power station||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Kupplung||||coupling||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Lager||||bearing||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Leistungselektronik||||power electronic||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Leistungsschalter|Leistungsschutzschalter|||circuit-breaker||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Leittechnik||||control engineering||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Lichttechnik||||lightning engineering||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Linearmotor||||linear motor||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 magnetisch||||magnetic||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Magnetschwebebahn||||magnetic levitation system||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Maschine||||machine||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 mechanisch||||mechanical||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Meßgerät||||measuring instrument||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Näherungsschalter||||proximity switch||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Oszilloskop||||oscilloscope||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Positionsschalter||||position switch||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 programmierbares Meßgerät||||programmable measuring apparatus||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 programmierbares Steuergerät||||programmable controller||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Prozeßleittechnik||||process control technology||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Prüfung||||testing||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Regelung||||automatic control||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Relais||||relay||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 rotierende Maschine||||rotating machine||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Rundsteueranlage||||ripple control system||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Röntgenanalyse||||x-ray analysis||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Rückkopplung||||feedback||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Sammelschiene||||busbar||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Schallmessung||||sound measurement||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Schaltanlage|Schaltgerät|||switchgear||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Schaltschrank||||switchgear||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Schalttafel||||switchboard||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Schieneninstallationsrohr||||buselectric wiring conduit||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Sicherung|Schmelzsicherung|||fuse||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Steckvorrichtung||||plug-and-socket device||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Steuergerät||||controller||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Stromrichter||||static converter||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Supraleiter||||superconductor||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Supraleitung||||superconductivity||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Thyristor||||thyristor||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Vakuumschalter|circuit-breaker|||vacuum swith||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Wasserkraftgenerator||||water-wheel generator||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Wasserkraftwerk||||hydroelectric power station||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Werkzeug||||tool||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Werkzeugmaschine||||machine tool||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 0 255 255 255 255 255 255 0 0 1 Wert||||value||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Wicklung||||winding||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
-1 47 255 255 255 255 255 255 0 0 1 Zugangskontrollsystem||||access control system||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\r
diff --git a/keduvocdocument/docs/kvtml-structure.txt b/keduvocdocument/docs/kvtml-structure.txt
deleted file mode 100644 (file)
index 3a28920..0000000
+++ /dev/null
@@ -1,258 +0,0 @@
-<?xml version="1.0"?>
-<!doctype kvtml system "kvoctrain.dtd">
-<!--
-This is a machine generated file.
-Be careful when editing here.
-
-Short definition:   <!--  The level of indentation shows the relation: right is "owned" by left -->
-                    <!-- attributes are preceded by %  ->
-
-lesson       lesson group
- desc        name
-   %no       its index
-   %current  is current lesson
-type         type group
- desc        name
-   %no       its index
-e            expression of dictionary
-  %s         is selected
-  %m         lesson member
-  %t         common expression type
- o           original
-   %q        in query ("o" is given, "t" is wanted)
-   %l        language code
-   %r        remark
-   %p        pronunciation
-   %width    column width
-   %t        expression type (see QueryManager.h)
-   %tf       false friend from
-   %ff       false friend to
-   %a        antonym
-   %y        synonym
-   %x        example
-   %u        usage label
-   %h        paraphrase
- t           translation ..
-   %q        in query ("t" is given, "o" is wanted)
-   %l        language code
-   %r        remark
-   %p        pronunciation
-   %width    column width
-   %t        expression type
-   %tf       false friend from
-   %ff       false friend to
-   %a        antonym
-   %y        synonym
-   %x        example
-   %u        usage label
-   %h        paraphrase
-
-   %d        last query date (from;to)
-   %w        dito, compressed
-   %g        grade (from;to)
-   %c        count (from;to)
-   %b        bad count (from;to)
-
-
-Valid xml means:
- - Close all tags
- - Keep proper hierarchy
- - All attributes are quoted
-
---
->
-<kvtml
-  encoding="8Bit"                                           <!-- Encoding (starting from here)  8Bit or UTF8     -->
-  generator="kvoctrain v0.7.0pre3"                          <!-- just in case                            -->
-  cols="3"                                                  <!-- as well: just in case                   -->
-  lines="3"                                                 <!-- just for progressbar on startup         -->
-  title="Beispieldatei: Deutsch - Englisch/Französisch"     <!-- 4 self explaining lines ;-)             -->
-  author="Ewald Arnold"
-  license="OpenContent"
-  remark="Beispieldatei mit allen Eigenschaften">
-
- <lesson width="104">                                       <!-- block with lesson names, width designates the last width of the leftmiost column -->
-  <desc no="1">Lektion eins</desc>
-  <desc no="2">Lektion zwei</desc>
-  <desc no="3">Lektion drei</desc>
-  <desc no="4">Lektion vier</desc>
- </lesson>
-
- <article>                                                  <!-- Define all the articles of the languages -->
-  <e l="de">                                                <!-- definete and indefinite atricle          -->
-   <fd>die</fd>                                             <!-- use iso codes for languge reference      -->
-   <fi>eine</fi>
-   <md>der</md>
-   <mi>einer</mi>
-   <nd>das</nd>
-   <ni>ein</ni>
-  </e>
-  <e l="en">
-   <fd>fd en</fd>
-   <fi>fi en</fi>
-   <md>md en</md>
-   <mi>mi en</mi>
-   <nd>nd en</nd>
-   <ni>ni en</ni>
-  </e>
-  <e l="fr">
-   <fd>la</fd>
-   <fi>une</fi>
-   <md>le</md>
-   <mi>un</mi>
-  </e>
- </article>
-
- <conjugation>                   <!-- Prefix for conjugations      -->
-  <e l="de">                     <!-- all languages must be listed -->
-   <s1>ich</s1>                  <!-- same order as above          -->
-   <s2>du</s2>
-   <s3f>sie</s3f>
-   <s3m>er</s3m>
-   <s3n>es</s3n>
-   <p1>wir</p1>
-   <p2>ihr</p2>
-   <p3f common="1">sie</p3f>     <!-- third person is the same for all -->
-   <p3m>sie</p3m>
-   <p3n>sie</p3n>
-  </e>
-  <e l="en">
-   <s1>I</s1>
-   <s2>you</s2>
-   <s3f>he</s3f>
-   <s3m>she</s3m>
-   <s3n>it</s3n>
-   <p1>we</p1>
-   <p2>you</p2>
-   <p3f common="1">they</p3f>
-  </e>
-  <e l="fr">
-   <s1>je</s1>
-   <s2>tu</s2>
-   <s3f>elle</s3f>
-   <s3m>il</s3m>
-   <p1>nous</p1>
-   <p2>vous</p2>
-   <p3f>elles</p3f>
-   <p3m>ils</p3m>
-  </e>
- </conjugation>
-
- <options>                                  <!-- document related options, e.g. don't sort -->
-  <sort on="1"/>
- </options>
-
- <type>                                     <!-- user defined word types -->
-  <desc no="1">Mein Typ 1</desc>
-  <desc no="2">Mein Typ 2</desc>
-  <desc no="3">Mein Typ 3</desc>
- </type>
-
- <tense>                                    <!-- user defined tenses -->
-  <desc no="1">Benutzer-Konjugation 1</desc>
- </tense>
-
- <usage>                                    <!-- user defined usage labels -->
-  <desc no="1">Benutzersprachebene 1</desc>
- </usage>
-
- <e
-     m="3"    <!-- lesson index 3, name see above -->
-     s="1"    <!-- selected from last query (not yet queried) -->
-     t="v">   <!-- type of word: here verb-->
-
-     <o width="208"           <!-- original expression, width of column when last saved  -->
-      l="de"                  <!-- language code de: german     -->
-      charset="ISO 8859-1"    <!-- charset needed for correct displaing  -->
-      y="laufen">             <!-- synonyms, separated by commas currently  -->
-      
-  <conjugation                      <!-- list the conjugations for the current verb  -->
-
-  >                     
-   <t n="PrSi">                     <!-- internal tense: simple present     -->
-      <s1>gehe</s1>                 <!-- I, you, he, she ...               -->
-      <s2>gehst</s2>
-      <s3f common="1">geht</s3f>    <!-- he, she, it the same              -->
-      <p1>gehen</p1>
-      <p2>gehen</p2>
-      <p3f common="1">gehen</p3f></t>
-   <t n="PaSi"><s1>schwamm</s1><s2>schwammst</s2></t>
-  </conjugation>
-  gehen</o>                         <!-- the base word         -->
-
-
-
-    <t                              <!-- first translation     -->
-      width="208"
-      l="en"                        <!-- lang code             -->
-      g="1;2"                       <!-- current grade #from# original ; #to# original. 0=not queried, 1..7 (7 is best)) -->
-      c="2;0"                       <!-- number of queries so far (from/to the original)   -->
-      b="1;0"                       <!-- number of wrong answers (from/to)   -->
-      d="12312;123123"              <!-- last query date (from/to) using time()-function   -->
-      ff="falscher Freund"          <!-- false friend (from original)   -->
-      tf="Freund falscher">         <!-- false friend (to original)   -->
-      
-   <conjugation
-   >
-    <t n="PaSi"><s1>went</s1></t>
-    <t n="PaPa"><s1>have gone</s1></t>
-   </conjugation>
-   go</t>
-   
-     <t width="208"                       <!-- second translation             -->
-        l="fr"                            <!-- french                         -->
-        charset="Unicode"                 <!-- encoding in unicode            -->
-   >aller</t></e>                         <!-- end of this record             -->
-
- <e m="4"                                 <!-- language code may be omitted from second line on -->
-    s="1"
-    t="aj">                               <!-- word type: adjectiv           -->
-
-    <o r="unregelmässiges Adjektiv"       <!-- user defined comment           -->
-       a="schlecht">                      <!-- antonym of this word           -->
-
-  <comparison>                            <!-- block with comparison forms for this word -->
-   <l1>gut</l1>
-   <l2>besser</l2>
-   <l3>am besten</l3>
-  </comparison>
-  gut</o><t>                              <!-- first translation -->
-   <comparison>
-    <l1>good</l1><l2>better</l2><l3>best</l3>
-   </comparison>
-   good</t><t>                            <!-- second translation -->
-    <comparison>
-     <l1>bon</l1><l2>meilleur</l2><l3>le meilleur</l3>
-    </comparison>
-    bon</t></e>
- <e m="2" t="n">
-    <o y="Fußgelenk"                    <!-- synonyms                       -->
-     u="anat"                           <!-- usage label, internal code for "anatomy" -->
-     >Knöchel</o>
-
-     <t p="nackls">                     <!-- pronunciation according to your personal taste. With unicode you may
-                                             as well use the phonetic alphabet              -->
-     knuckles</t><t g="2;3" c="1;1" b="1;1">cheville</t></e>
-</kvtml>
-
-
-<!--
-
-  Some additional comments:
-
-  All properties are intended to be shared with other users, even between totally different
-  languages and encodings.
-
-  The document always uses placeholders which are used to display "real" names according
-  to the users language. E.g. "v" means "Verb" whereas "n" means noun which can be extended
-  by a subtyp to "noun, female" by writing a placeholder "n:f".
-
-  The same applies to usage labels. Here you may concatenate an arbitrary number of usage
-  labels with a comma:  u="anat,biol"  will result in "Anatomy, Biology"
-
-  User defined properties always start with "#" and a number (internal properties always start
-  with a letter). e.g. t="#1" references the first entry in the user defined tenses.
-  Of course one can't provide automatic translation of the user defined properties this way.
-
--->
-  
\ No newline at end of file
diff --git a/keduvocdocument/docs/kvtml-version1.dtd b/keduvocdocument/docs/kvtml-version1.dtd
deleted file mode 100644 (file)
index 9a23f34..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<!ELEMENT kvtml - -        (lesson?, e*)     >
-<!ATTLIST kvtml generator  CDATA  #REQUIRED
-                title      CDATA  #REQUIRED>
-
-<!-- xml tree
- kvtml
-  lesson  lesson group
-   desc    description
-    %no    its number
-  e        element
-   %m
-   %s
-   o       original
-    %l     language code
-    %r
-   t       translation
-    %l     language code
-    %g     grade
-    %d     last querydate
-    %c     count of queries
-    %b     count of failed queries
-    %r
--->
-
-<!ELEMENT lesson  - -     (desc*)  >
-
-<!ELEMENT desc    - -     (#PCDATA)>
-<!ATTLIST desc    no      NUMBER #OPTIONAL                            >
-
-<!ELEMENT e       - -     (o, t+)  >
-<!ATTLIST e       lm      NUMBER #OPTIONAL                            >
-
-<!ELEMENT o       - -     (#PCDATA)>
-<!ATTLIST o       l       CDATA  #IMPLIED  -- must at least appear in first entry !
-                  d       CDATA  #IMPLIED                                        
->
-
-<!ELEMENT t       - -     (#PCDATA)>
-<!ATTLIST t       l       CDATA  #IMPLIED  -- must at least appear in first entry !
-                  g       NUMBER #IMPLIED  -- assume 1 if missing                  
-                  d       CDATA  #IMPLIED
-                  c       NUMBER #IMPLIED  -- assume 0 if missing
-                  r       CDATA  #IMPLIED
->
-                
-<!ENTITY  ouml  "ö">
-<!ENTITY  Ouml  "Ö">
-<!ENTITY  uuml  "ü">
-<!ENTITY  Uuml  "Ü">
-<!ENTITY  auml  "ä">
-<!ENTITY  Auml  "Ä">
-<!ENTITY  szlig "ß">
diff --git a/keduvocdocument/docs/kvtml_html_stylesheet.xsl b/keduvocdocument/docs/kvtml_html_stylesheet.xsl
deleted file mode 100644 (file)
index 8cd2037..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-<!-- XSL Stylesheet to transform kvtml-2 files to html
- ***************************************************************************
- *                                                                         *
- *   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 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-
-Copyright 2007: Frederik Gladhorn <frederik.gladhorn@kdemail.net>
-
-The easiest way to use the stylesheet is to include it in the .kvtml file:
-<?xml-stylesheet type="text/xsl" href="kvtml_html_stylesheet.xsl.xsl"?>
-
- -->
-
-<xsl:output method="html" indent="yes" doctype-public="-//W3C//DTD HTML 3.2 Final//EN"/>
-
-       <xsl:template match="/">
-       <html>
-       <style type="text/css">
-               td, table {
-                       border: solid 1px black;
-                       border-collapse: collapse;
-                       width: <xsl:value-of select="100 div count(/kvtml/identifiers/identifier)"/>%;
-               }
-               tr[languageheader] {
-                       color: black;
-                       font-size: 1.5em;
-                       background-color: lightblue;
-               }
-               .comment {
-                       color: blue;
-               }
-       </style>
-       
-       <head>
-               <title><xsl:value-of select="kvtml/information/title"/></title>
-       </head>
-       
-       <body><xsl:apply-templates select="kvtml" /></body>
-       </html>
-       </xsl:template>
-
-       <xsl:template match="kvtml">
-               <h2><xsl:value-of select="information/title"/></h2>
-               <xsl:apply-templates select="lessons"/>
-       </xsl:template>
-
-
-       <xsl:template match="lessons">
-               <xsl:for-each select="lesson">
-                       <a href="#{name}"><xsl:value-of select="name"/></a>
-                       <br/>
-               </xsl:for-each>
-
-               <xsl:apply-templates select="lesson"/>
-       </xsl:template>
-       <xsl:template match="lesson">
-               <h3>Lesson: <a name="{name}"><xsl:value-of select="name"/></a></h3>
-               <table border="1">
-                       <tr languageheader="true">
-                               <xsl:apply-templates select="/kvtml/identifiers"/>
-                       </tr>
-                       <xsl:apply-templates select="entries/entry"/>
-
-                       <xsl:for-each select="entryid">
-                               <xsl:variable name="id" select="."/>
-                               <xsl:apply-templates select="/kvtml/entries/entry[@id=$id]"/>
-                       </xsl:for-each> 
-               </table>
-       </xsl:template>
-       
-       <xsl:template match="identifiers/identifier">
-               <td><xsl:value-of select="name"/></td>
-       </xsl:template>
-       
-       <xsl:template match="entry">
-               <tr><xsl:apply-templates select="translation"/></tr>
-       </xsl:template>
-       
-       <xsl:template match="translation">
-               <td><xsl:value-of select="text"/>
-                       <xsl:apply-templates select="comment"/>
-               </td>
-       </xsl:template>
-
-       <xsl:template match="comment">
-               <span class="comment">
-                       <br/><xsl:value-of select="."/>
-               </span>
-       </xsl:template>
-</xsl:stylesheet>
-
-
-
-
-
-
diff --git a/keduvocdocument/docs/lex-aufbau1.txt b/keduvocdocument/docs/lex-aufbau1.txt
deleted file mode 100644 (file)
index cbdcf36..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-From: Michael Werner <Michael_M_Werner@compuserve.com>
-
-Hallo Ewald,
-
-es freut mich, daß Dir mein VT zusagt. Wobei ich mir nicht ganz im Klaren
-bin, ob es eher mein Programm oder die beigefügten Lexika sind. ;-)
-
-Du hast völlig Recht, daß ich der Opensource-Bewegung positiv gegenüber
-stehe.
-
-Viele Grüße
-Michael
-
-
-----------kleine Format-Beschreibung (bitte mit Font Courier
-"nichtproportional" ansehen)----------
-
-Lexikon-Format-Beschreibung:
-
-Format eines minimalen Eintrags (mit zwei Dummy-Einträgen x und y)
- 0 255 255 255 255 255 255 0 0 1
-x||||y||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- |  |                   |  | | |
- |  |___________________|  | | Lektionszugehörigkeit (1-9) 
- |  |                      | |
- |  |                      beide Sprachseiten sind ungelernt 
- |  |
- |  diese Nummern bitte unverändert Ã¼bernehmen 
- |
-Attribut: 0 für --NONE-- 
-
-Format eines maximalen Eintrags
- 0 255 255 255 255 255 255 0 0 1
-MAIN#0|SYNONYM#1|SYNONYM#2|SYNONYM#3|MAIN#1|SYNONYM#1|SYNONYM#2|SYNONYM#3||
-|||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-
-Eine Konvertierung (zur Erstellung einer LEX-Datei) könnte nun
-folgendermaßen aussehen:
-
-erster Schritt:
-Formatkopf einer bestehenden Lexikon-Datei nehmen und vor die erste
-Vokabelzeile kopieren.
-
-
-zweiter Schritt:
-0 255 255 255 255 255 255 0 0 1 an den Anfang jeder Vokabelzeile
-(entspricht einem Vokabeleintrag) schreiben. Wortbestandteile durch |
-trennen. Minimal muß ein MAIN#0 und ein MAIN#1 existieren und mindestens 1
-Vokabelzeile.
-
-
-dritter Schritt:
-neues Lexikon laden. Dadurch werden beim nächsten Abspeichern die Anzahl
-der Vokabeleinträge und das Datum korrekt gesetzt. Die Vokabelliste wird
-hierbei auch sortiert.
-
-
diff --git a/keduvocdocument/docs/lex-aufbau2.txt b/keduvocdocument/docs/lex-aufbau2.txt
deleted file mode 100644 (file)
index ea7f358..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-# Format eines minimalen Eintrags (mit zwei Dummy-Einträgen x und y)
-#  0 255 255 255 255 255 255 0 0 1 x||||y||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-#  |  |                   |  | | |
-#  |  |___________________|  | | Lektionszugehörigkeit (1-9) 
-
-?                                maximal 9 Lektionen? "Namen" der
-Lektionen?
-Das Lektionenmaximum ist auf 9 festgelegt. Die Lektionsbezeichnungen werden
-weiter oben abgespeichert! Ausprobieren, dann siehst Du wo.
-
-#  |  |                      | |
-#  |  |                      beide Sprachseiten sind ungelernt 
-
-?                            1..x = Note?
-0..2 (0=ungelernt, 1=unsicher, 2=gelernt)
-
-#  |  |
-#  |  diese Nummern bitte unverändert Ã¼bernehmen 
-
-?     was bedeuten sie?
-   
-#  |
-# Attribut: 0 für --NONE-- 
-
-? weitere Attribute?
-Alle aus der Eingabemaske "Edit Entry" ersichtlichen + 20 extra zu
-definierenden Attributen
-# Format eines maximalen Eintrags
-# 0 255 255 255 255 255 255 0 0 1
-MAIN#0|SYNONYM#1|SYNONYM#2|SYNONYM#3|MAIN#1|SYNONYM#1|SYNONYM#2|SYNONYM#3|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-? Das Lexikon beinhaltet immer 2 Sprachen, MAIN ist der "normale" Ausdruck
-und
-? es folgen bis zu 3 Synonyme jeweils für beide Sprachen. Was folgt
-hierauf?
-Alle Konjugationsformen die evtl. für das Konjugationstraining eingegeben
-wurden. (siehe ITALIAN.LEX)
-? Ich speichere jeweils das letzte Abfragedatum, die Anzahl der Abfragen
-? und Fehler sowie eine Art Note. Gibt es dies bei dir ebenfalls?
-Nein, wozu? Meiner Meinung nach, ist der Anwender am Lernen interessiert
-und nicht an einer Statistikreiterei.
-
-? Hier der Anfang von elek.lex mit meinen Vermutungen:
-
-# Vocabulary Trainer V5.0 
-
-? 1. Zeile: Version
-
-# LEX|Deutsch|Englisch| 259 260 1 1 1 0 0 268 0 1 1 1 1 145 6 23 1999 255 1 1 653 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 1 1 0 0 | 
-
-? 2. Zeile: Kennung, Sprachen 1+2 und viele Daten (aber welche ? ;-)
-Programminterne: Abspeicherung der Trainingsoptionen und viele andere Infos
-die meiner Meinung nach Lexikaspezifisch abgespeichert werden sollen.
-
-# -11 700 
-verwendeter Zeichensatz
-?  3. Zeile: nochmal 2 Daten
-# System 
-?  4. Zeile: Beschreibung ?
-Nein! Nochmals verwendeter Zeichensatz
-
-# Energie- und Automatisierungstechnik. V. Manuela Lutz. Danke. 
-
-?  5. Zeile: nochmal Beschreibung/Herkunft ?
-Eigentliche Lexikonbeschreibung
-
-? danach ein Stück Wörterbuch, allerdings ein anderer Aufbau als oben
--> siehe Trainingsoptionen
-# 1 1 der die das|he she it| 
-# 1 1 eine einer eines einen einem|has have had is be| 
-# 1 1 er sie es|his him her its| 
-# 1 1 wir ihr euch|in to into on at too| 
-# 1 1 in an auf bei|the a an| 
-# 1 1 zu um zur zum|out by with of off| 
-# 1 1 ist sind seid|something someone some| 
-# 1 1 dies dieser dieses|under below| 
-# 1 1 || 
-# 1 1 || 
-
-?  Zeile ohne Zahlen?
--> siehe ebenfalls Trainingsoptionen
-# der die das ein eine einer eines einen einem|the a an| 
-
-?  viele Leerzeilen ?
--> eigene selbst zu definierende Attribute
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-# Sachgebiete| 
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-# | 
-
-# 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32  
-? ab hier scheint das Lexikon zu starten, aber was bedeuten die 32 32 ... 
-Funktionstastenbelegungen
-
-# 1 0 255 255 255 255 255 255 0 0 1 Abbildung||||mapping|||||||||||||||||||||||||||||||||||||||||||||||||||||||
-|||||
-# 1 0 255 255 255 255 255 255 0 0 1 Abblendkappe||||anti-dazzle device|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 
-
-Mein Tip für Dich: Verwende das Lexikon ITALIAN.LEX von mir. Dort findest
-Du die meisten Funktionen verwendet und vielleicht wird für Dich vieles
-klarer, wenn Du Dich mehr mit der VT-Funktionalität auseinandersetzt.
diff --git a/keduvocdocument/kvtml_empty_sample.kvtml b/keduvocdocument/kvtml_empty_sample.kvtml
deleted file mode 100644 (file)
index 2267d7c..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE kvtml SYSTEM "kvtml2.dtd">
-<kvtml version="2.0">
-  <information>
-    <generator></generator>
-    <title></title>
-    <author></author>
-    <license></license>
-    <comment></comment>
-  </information>
-
-  <identifiers>
-    <identifier id="0">
-      <type>language</type>
-      <locale>en</locale>
-      <name></name>
-      <comment></comment>
-      <sizehint>250</sizehint>
-
-      <article>
-        <definite>
-            <male>der</male>
-            <female>die</female>
-            <neutral>das</neutral>
-        </definite>
-        <indefinite>
-            <male>ein</male>
-            <female>eine</female>
-            <neutral>ein</neutral>
-        </indefinite>
-      </article>
-      <personalpronouns>
-        <singular>
-            <firstPerson>ich</firstPerson>
-            <secondPerson>du</secondPerson>
-            <thirdPerson>
-                <male>er</male>
-                <female>sie</female>
-                <neutral>es</neutral>
-            </thirdPerson>
-        </singular>
-        <plural>
-            <firstPerson>wir</firstPerson>
-            <secondPerson>ihr</secondPerson>
-            <thirdPerson>
-                <common>sie</common>
-            </thirdPerson>
-        </plural>
-      </personalpronouns>
-    </identifier>
-  </identifiers>
-
-
-  <types>
-    <type>grammar type a</type>
-    <type>grammer type b</type>
-  </types>
-  <tenses>
-    <tense>Special tense</tense>
-  </tenses>
-
-  <usages>
-    <usage>slang usage</usage>
-    <usage>professional usage</usage>
-  </usages>
-
-  <entries>
-    <entry id="0">
-      <inactive>true</inactive> to deactivate an entry (won't be queried)
-      <inquery>true</inquery>
-      <sizehint>25</sizehint>
-      <translation id="0">
-        <text>Kniebeugen</text>
-        <type></type>
-        <comment></comment>
-        <pronunciation></pronunciation>
-        <falsefriend fromid="1"></falsefriend>
-        <antonym></antonym>
-        <synonym></synonym>
-        <example></example>
-        <usage></usage>
-        <paraphrase></paraphrase>
-        <conjugation>
-          <tenseid>1</tenseid>
-          <type>regular</type>
-          <singular>
-              <firstPerson>ich</firstPerson>
-              <secondPerson>du</secondPerson>
-              <thirdPerson>
-                  <male>er</male>
-                  <female>sie</female>
-                  <neutral>es</neutral>
-              </thirdPerson>
-          </singular>
-          <plural>
-              <firstPerson>wir</firstPerson>
-              <secondPerson>ihr</secondPerson>
-              <thirdPerson>
-                  <common>sie</common>
-              </thirdPerson>
-          </plural>
-        </conjugation>
-        <comparison>
-          <absolute>gut</absolute>
-          <comparative>besser</comparative>
-          <superlative>am besten</superlative>
-        </comparison>
-        <multiplechoice>
-          <choice></choice>
-          <choice></choice>
-        </multiplechoice>
-
-        <image></image>
-        <sound></sound>
-        <grade fromid="1">
-          <currentgradeint>1</currentgradeint>
-          <count>1</count>
-          <errorcount>1</errorcount>
-          <date>949757271</date>
-        </grade>
-      </translation>
-      <translation id="1">
-        <text>genuflect</text>
-        <grade fromId="0">
-          <currentgradefloat>0.8</currentgradefloat>
-          <count>6</count>
-          <errorcount>1</errorcount>
-          <date>949757271</date>
-        </grade>
-      </translation>
-     </entry>
-  </entries>
-  <lessons>
-    <lesson>
-      <name>Lesson with grades example</name>
-      <query>true</query>
-      <current>true</current>
-      <entryid>0</entryid>
-     </lesson>
-   </lessons>
- </kvtml>
-
diff --git a/keduvocdocument/tests/CMakeLists.txt b/keduvocdocument/tests/CMakeLists.txt
deleted file mode 100644 (file)
index f05b787..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
-
-
-kde4_add_unit_test(keduvocdocumentvalidatortest keduvocdocumentvalidatortest.cpp)
-target_link_libraries(keduvocdocumentvalidatortest keduvocdocument
-    ${KDE4_KDECORE_LIBS} ${QT_QTGUI_LIBRARY} ${QT_QTTEST_LIBRARY} ${QT_QTXML_LIBRARY})
-
-
-# CONVERTER:
-
-
-include_directories( .. )
-
-
-########### next target ###############
-
-set(converter_SRCS
-   converter.cpp )
-
-
-kde4_add_executable(converter ${converter_SRCS})
-
-target_link_libraries(converter keduvocdocument ${KDE4_KDECORE_LIBS})
-
-
-
-
-
diff --git a/keduvocdocument/tests/converter.cpp b/keduvocdocument/tests/converter.cpp
deleted file mode 100644 (file)
index d7730fd..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2007 by Jeremy Whiting <jeremy@scitools.com>            *
- *                                                                         *
- *   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 of the License, 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.,                                       *
- *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.          *
- ***************************************************************************/
-
-/** @file
- * \brief kvtml document reader/writer
- * partly to test the document class, partly to convert
- * old kvtml files to the new format
- * @author Jeremy Whiting <jeremy@scitools.com>
- */
-
-#include "keduvocdocument.h"
-
-#include <QApplication>
-
-#include <KAboutData>
-#include <KCmdLineArgs>
-#include <KCmdLineOptions>
-#include <KDebug>
-#include <KUrl>
-
-int main( int argc, char ** argv )
-{
-    KAboutData about( "kvtml-converter", 0, ki18n( "Kvtml-Converter" ), "0.1", ki18n( "kvtml file converter" ), KAboutData::License_GPL, ki18n( "© 2007 Jeremy Whiting" ) );
-    KCmdLineOptions options;
-    options.add( "f <format>", ki18n("file format to write out (kvtml1, kvtml2, or csv)"));
-    options.add( "+infile", ki18n( "file to read in" ) );
-    options.add( "+outfile", ki18n( "file to write to" ) );
-
-    KCmdLineArgs::init( argc, argv, &about );
-    KCmdLineArgs::addCmdLineOptions( options );
-    QCoreApplication app( KCmdLineArgs::qtArgc(), KCmdLineArgs::qtArgv() );
-
-    KCmdLineArgs * arguments = KCmdLineArgs::parsedArgs();
-    if ( arguments != NULL && arguments->count() > 0 ) {
-        KUrl infile( arguments->url( 0 ) );
-        if ( arguments->count() > 1 ) {
-            KUrl outfile( arguments->url( 1 ) );
-
-            KEduVocDocument document;
-            kDebug() << "Reading " << infile;
-            document.open( infile );
-            kDebug() << "Writing to " << outfile;
-            if (arguments->getOption("f") == "kvtml1")
-            {
-                document.saveAs( outfile, KEduVocDocument::Kvtml1, "converter" );
-            }
-            else if (arguments->getOption("f") == "csv")
-            {
-                document.saveAs( outfile, KEduVocDocument::Csv, "converter" );
-            }
-            else
-            {
-                document.saveAs( outfile, KEduVocDocument::Kvtml, "converter" );
-            }
-        }
-    }
-    else
-    {
-        arguments->usage();
-    }
-
-    arguments->clear();
-
-    return 0;
-}
diff --git a/keduvocdocument/tests/keduvocdocumentvalidatortest.cpp b/keduvocdocument/tests/keduvocdocumentvalidatortest.cpp
deleted file mode 100644 (file)
index 834564c..0000000
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- Copyright 2007-2008 Frederik Gladhorn <frederik.gladhorn@kdemail.net>
-
- 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 of the License, 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
- USA
-*/
-
-#include "keduvocdocument.h"
-#include "keduvoclesson.h"
-#include "keduvocexpression.h"
-#include "keduvoctranslation.h"
-#include "keduvocconjugation.h"
-#include "keduvocdeclension.h"
-#include "keduvocwordtype.h"
-
-
-#include <KTemporaryFile>
-
-#include <qtest_kde.h>
-
-#include <qobject.h>
-#include <qvalidator.h>
-#include <QtXml/QDomDocument>
-
-class KEduVocDocumentValidatorTest
-  : public QObject
-{
-    Q_OBJECT
-
-private slots:
-    void testDocumentAboutInfo();
-    void testLessons();
-    void testWordTypes();
-    void testTranslations();
-    void testConjugations();
-    void testDeclensions();
-    void testAddRemoveLanguage();
-
-};
-
-void KEduVocDocumentValidatorTest::testDocumentAboutInfo()
-{
-    KTemporaryFile temp;
-    temp.setSuffix(".kvtml");
-    temp.open();
-    KUrl fileName = KUrl(temp.fileName());
-    temp.close();
-
-    const QString generator = QString::fromLatin1( "Validator Unit Tests" );
-    const QString author = QString::fromLatin1( "Validator Test" );
-    const QString license = QString::fromLatin1( "test license" );
-    const QString comment = QString::fromLatin1( "comment" );
-    const QString category = QString::fromLatin1( "test document" );
-    const QString title = QString::fromLatin1( "Validator Test Title" );
-
-    KEduVocDocument doc;
-    doc.setAuthor( author );
-    doc.setLicense( license );
-    doc.setDocumentComment( comment );
-    doc.setCategory( category );
-    doc.setTitle( title );
-
-    doc.saveAs(fileName, KEduVocDocument::Kvtml, generator);
-
-    KEduVocDocument docRead;
-    docRead.open(fileName);
-
-    QCOMPARE( docRead.generator(), generator );
-    QCOMPARE( docRead.author(), author );
-    QCOMPARE( docRead.license(), license );
-    QCOMPARE( docRead.documentComment(), comment );
-    QCOMPARE( docRead.category(), category );
-    QCOMPARE( docRead.title(), title );
-}
-
-void KEduVocDocumentValidatorTest::testLessons()
-{
-    QString lesson1 = QString::fromLatin1( "Lesson 1" );
-    QString lesson1child1 = QString::fromLatin1( "Lesson 1.1" );
-    QString lesson1child2 = QString::fromLatin1( "Lesson 1.2" );
-    QString lesson2 = QString::fromLatin1( "Lesson 2" );
-    QString lesson3 = QString::fromLatin1( "Lesson 3" );
-
-    KEduVocDocument doc;
-    doc.lesson()->appendChildContainer(new KEduVocLesson(lesson1, doc.lesson()));
-    QCOMPARE(doc.lesson()->childContainerCount(), 1);
-    QCOMPARE(doc.lesson()->childContainer(0)->containerType(), KEduVocContainer::Lesson);
-    QCOMPARE(doc.lesson()->childContainer(0)->parent(), doc.lesson());
-    QCOMPARE(doc.lesson()->childContainer(0)->name(), lesson1);
-
-    doc.lesson()->appendChildContainer(new KEduVocLesson(lesson2, doc.lesson()));
-    doc.lesson()->appendChildContainer(new KEduVocLesson(lesson3, doc.lesson()));
-    QCOMPARE(doc.lesson()->childContainerCount(), 3);
-
-    doc.lesson()->childContainer(0)->appendChildContainer(new KEduVocLesson(lesson1child1, doc.lesson()->childContainer(0)));
-    doc.lesson()->childContainer(0)->appendChildContainer(new KEduVocLesson(lesson1child2, doc.lesson()->childContainer(0)));
-    QCOMPARE(doc.lesson()->childContainer(0)->childContainerCount(), 2);
-
-
-}
-
-
-void KEduVocDocumentValidatorTest::testWordTypes()
-{
-    KEduVocDocument doc;
-    // create doc - has no word types yet
-    QCOMPARE(doc.wordTypeContainer()->childContainerCount(), 0);
-
-    KEduVocWordType *noun;
-    KEduVocWordType *nounMale;
-    KEduVocWordType *nounFemale;
-    KEduVocWordType *verb;
-
-    noun = new KEduVocWordType("Noun", doc.wordTypeContainer());
-    doc.wordTypeContainer()->appendChildContainer(noun);
-    QCOMPARE(doc.wordTypeContainer()->childContainerCount(), 1);
-    nounMale = new KEduVocWordType("Male", noun);
-    noun->appendChildContainer(nounMale);
-    nounFemale = new KEduVocWordType("Female", noun);
-    noun->appendChildContainer(nounFemale);
-    verb = new KEduVocWordType("Verb", doc.wordTypeContainer());
-    doc.wordTypeContainer()->appendChildContainer(verb);
-    QCOMPARE(doc.wordTypeContainer()->childContainerCount(), 2);
-    QCOMPARE(doc.wordTypeContainer()->childContainer(0)->childContainerCount(), 2);
-
-    // create some entries
-    for(int i = 0; i < 20; i++) {
-        KEduVocExpression *e =
-            new KEduVocExpression(QStringList() << QString("lang1 %1").arg(i) << QString("lang2 %1").arg(i));
-        doc.lesson()->appendEntry(e);
-        e->translation(0)->setWordType(noun);
-        e->translation(1)->setWordType(noun);
-    }
-    QCOMPARE(doc.lesson()->entryCount(), 20);
-    QCOMPARE(noun->entryCount(), 20);
-    QCOMPARE(verb->entryCount(), 0);
-    doc.lesson()->entry(0)->translation(0)->setWordType(verb);
-    // translation 1 is still noun, so it needs to be in both now
-    QCOMPARE(noun->entryCount(), 20);
-    QCOMPARE(verb->entryCount(), 1);
-    doc.lesson()->entry(0)->translation(1)->setWordType(verb);
-    QCOMPARE(noun->entryCount(), 19);
-    QCOMPARE(verb->entryCount(), 1);
-
-    // delete word type
-    doc.wordTypeContainer()->deleteChildContainer(1);
-    // the word type is set to 0 when removed
-    QVERIFY(doc.lesson()->entry(0)->translation(0)->wordType() == 0);
-    QVERIFY(doc.lesson()->entry(0)->translation(1)->wordType() == 0);
-    QCOMPARE(doc.wordTypeContainer()->childContainerCount(), 1);
-}
-
-void KEduVocDocumentValidatorTest::testTranslations()
-{
-    KEduVocTranslation *trans1 = new KEduVocTranslation(0, QString("My word"));
-    QCOMPARE(trans1->text(), QString("My word"));
-
-    // copy ctor
-    KEduVocTranslation *trans2 = new KEduVocTranslation(*trans1);
-    QCOMPARE(trans2->text(), QString("My word"));
-
-    // operator =
-    KEduVocTranslation *trans3 = new KEduVocTranslation(0);
-    trans3 = new KEduVocTranslation(*trans1);
-    QCOMPARE(trans3->text(), QString("My word"));
-
-    QCOMPARE((int)trans1->grade(), 0);
-    trans1->incGrade();
-    QCOMPARE((int)trans1->grade(), 1);
-    QCOMPARE((int)trans3->grade(), 0);
-}
-
-void KEduVocDocumentValidatorTest::testDeclensions()
-{
-    KEduVocTranslation translation(0);
-    QVERIFY(translation.declension() == 0);
-    KEduVocDeclension* declension = new KEduVocDeclension;
-    translation.setDeclension(declension);
-    QCOMPARE(translation.declension(), declension);
-}
-
-void KEduVocDocumentValidatorTest::testConjugations()
-{
-    KEduVocConjugation conjugation;
-    conjugation.setConjugation(KEduVocText("first-singular"), KEduVocWordFlag::First | KEduVocWordFlag::Singular);
-    QCOMPARE(conjugation.conjugation(KEduVocWordFlag::First | KEduVocWordFlag::Singular).text(), QString("first-singular"));
-
-    QDomDocument doc = QDomDocument("test doc");
-    QDomElement root = doc.createElement( "kvtml" );
-    doc.appendChild(root);
-    conjugation.toKVTML2(root, "tense");
-
-    qDebug() << root.text();
-
-    KEduVocConjugation *con2 = KEduVocConjugation::fromKVTML2(root);
-
-    QCOMPARE(conjugation.conjugation(KEduVocWordFlag::First | KEduVocWordFlag::Singular).text(), con2->conjugation(KEduVocWordFlag::First | KEduVocWordFlag::Singular).text());
-    delete con2;
-}
-
-void KEduVocDocumentValidatorTest::testAddRemoveLanguage()
-{
-    KEduVocDocument doc;
-    // create some initial languages
-    doc.appendIdentifier();
-    doc.appendIdentifier();
-    doc.appendIdentifier();
-    doc.appendIdentifier();
-    doc.identifier(0).setName("0");
-    doc.identifier(1).setName("1");
-    doc.identifier(2).setName("2");
-    doc.identifier(3).setName("3");
-
-    QCOMPARE(doc.identifierCount(), 4);
-    KEduVocLesson* lesson = new KEduVocLesson("lesson", doc.lesson());
-    doc.lesson()->appendChildContainer(lesson);
-    lesson->appendEntry(new KEduVocExpression);
-    lesson->entry(0)->setTranslation(0, "0");
-    lesson->entry(0)->setTranslation(1, "1");
-    lesson->entry(0)->setTranslation(2, "2");
-    lesson->entry(0)->setTranslation(3, "3");
-    QCOMPARE(lesson->entry(0)->translationIndices().size(), 4);
-
-    // throw away the second language
-    doc.removeIdentifier(1);
-
-    QCOMPARE(doc.identifierCount(), 3);
-    QCOMPARE(doc.identifier(0).name(), QString("0"));
-    QCOMPARE(doc.identifier(1).name(), QString("2"));
-    QCOMPARE(doc.identifier(2).name(), QString("3"));
-
-    QCOMPARE(lesson->entry(0)->translationIndices().size(), 3);
-    QCOMPARE(lesson->entry(0)->translation(0)->text(), QString("0"));
-    QCOMPARE(lesson->entry(0)->translation(1)->text(), QString("2"));
-    QCOMPARE(lesson->entry(0)->translation(2)->text(), QString("3"));
-}
-
-
-QTEST_KDEMAIN_CORE( KEduVocDocumentValidatorTest )
-
-#include "keduvocdocumentvalidatortest.moc"
diff --git a/keduvocdocument/tests/loader.cpp b/keduvocdocument/tests/loader.cpp
deleted file mode 100644 (file)
index 4f18664..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-/***************************************************************************
-    Copyright 2002 Ewald Arnold <kvoctrain@ewald-arnold.de>
-    Copyright 2007 Frederik Gladhorn <frederik.gladhorn@kdemail.net>
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-
-int main( void )
-{
-    return 0;
-}
similarity index 100%
rename from keduvocdocument/keduvoctext.h
rename to keduvoctext.h
similarity index 100%
rename from keduvocdocument/kvtml2.dtd
rename to kvtml2.dtd
similarity index 100%
rename from keduvocdocument/kvtml2.xsd
rename to kvtml2.xsd
similarity index 100%
rename from keduvocdocument/kvtml2defs.h
rename to kvtml2defs.h
similarity index 100%
rename from keduvocdocument/kvtml2todo
rename to kvtml2todo
similarity index 100%
rename from keduvocdocument/kvtmldefs.h
rename to kvtmldefs.h
diff --git a/qtmmlwidget/CMakeLists.txt b/qtmmlwidget/CMakeLists.txt
deleted file mode 100644 (file)
index a6e4eda..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-set(qtmmlwidget_LIB_SRCS
-    qtmmlwidget.cpp
-)
-
-kde4_add_library(qtmmlwidget STATIC ${qtmmlwidget_LIB_SRCS})
-
-target_link_libraries(qtmmlwidget  ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTXML_LIBRARY})
-
-install(TARGETS qtmmlwidget ${INSTALL_TARGETS_DEFAULT_ARGS})
-install(FILES QtMmlDocument QtMmlWidget qtmmlwidget.h DESTINATION ${INCLUDE_INSTALL_DIR}/libkdeedu/qtmml/ COMPONENT Devel)
-
diff --git a/qtmmlwidget/LICENSE.GPL b/qtmmlwidget/LICENSE.GPL
deleted file mode 100644 (file)
index 94a9ed0..0000000
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    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 3 of the License, 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, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/qtmmlwidget/LICENSE.LGPL b/qtmmlwidget/LICENSE.LGPL
deleted file mode 100644 (file)
index 4362b49..0000000
+++ /dev/null
@@ -1,502 +0,0 @@
-                  GNU LESSER GENERAL PUBLIC LICENSE
-                       Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-\f
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-\f
-                  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-\f
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-\f
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-\f
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-\f
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-\f
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-\f
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-                            NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-\f
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/qtmmlwidget/QtMmlDocument b/qtmmlwidget/QtMmlDocument
deleted file mode 100644 (file)
index ef69b7f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include "qtmmlwidget.h"
diff --git a/qtmmlwidget/QtMmlWidget b/qtmmlwidget/QtMmlWidget
deleted file mode 100644 (file)
index ef69b7f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include "qtmmlwidget.h"
diff --git a/qtmmlwidget/qtmmlwidget.cpp b/qtmmlwidget/qtmmlwidget.cpp
deleted file mode 100644 (file)
index 7469708..0000000
+++ /dev/null
@@ -1,6372 +0,0 @@
-/****************************************************************************
-** 
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-** 
-** This file is part of a Qt Solutions component.
-**
-** Commercial Usage  
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Solutions Commercial License Agreement provided
-** with the Software or, alternatively, in accordance with the terms
-** contained in a written agreement between you and Nokia.
-** 
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-** 
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.1, included in the file LGPL_EXCEPTION.txt in this
-** package.
-** 
-** GNU General Public License Usage 
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-** 
-** Please note Third Party Software included with Qt Solutions may impose
-** additional restrictions and it is the user's responsibility to ensure
-** that they have met the licensing requirements of the GPL, LGPL, or Qt
-** Solutions Commercial license and the relevant license of the Third
-** Party Software they are using.
-** 
-** If you are unsure which license is appropriate for your use, please
-** contact Nokia at qt-info@nokia.com.
-** 
-****************************************************************************/
-
-#include <QtGui/QApplication>
-#include <QtCore/QString>
-#include <QtCore/QMap>
-#include <QtGui/QDesktopWidget>
-#include <QtGui/QPainter>
-#include <QtGui/QPaintEvent>
-
-#include "qtmmlwidget.h"
-
-// *******************************************************************
-// Declarations
-// *******************************************************************
-
-#define ROUND(a) (int)((a)+.5)
-
-static bool           g_draw_frames                    = false;
-static const double   g_mfrac_spacing                  = 0.1;
-static const double   g_mroot_base_margin              = 0.1;
-static const double   g_script_size_multiplier         = 0.7071; // sqrt(1/2)
-static const int      g_min_font_point_size            = 8;
-static const QChar    g_radical_char                   = QChar(0x1A, 0x22);
-static const unsigned g_oper_spec_rows                 = 9;
-
-struct Mml
-{
-    enum NodeType {
-           NoNode = 0, MiNode, MnNode, MfracNode, MrowNode, MsqrtNode,
-           MrootNode, MsupNode, MsubNode, MsubsupNode, MoNode,
-           MstyleNode, TextNode, MphantomNode, MfencedNode,
-           MtableNode, MtrNode, MtdNode, MoverNode, MunderNode,
-           MunderoverNode, MerrorNode, MtextNode, MpaddedNode,
-           MspaceNode, MalignMarkNode, UnknownNode
-    };
-
-    enum MathVariant {
-           NormalMV        = 0x0000,
-           BoldMV          = 0x0001,
-           ItalicMV        = 0x0002,
-           DoubleStruckMV  = 0x0004,
-           ScriptMV        = 0x0008,
-           FrakturMV       = 0x0010,
-           SansSerifMV     = 0x0020,
-           MonospaceMV     = 0x0040
-    };
-
-    enum FormType { PrefixForm, InfixForm, PostfixForm };
-    enum ColAlign { ColAlignLeft, ColAlignCenter, ColAlignRight };
-    enum RowAlign { RowAlignTop, RowAlignCenter, RowAlignBottom,
-                   RowAlignAxis, RowAlignBaseline };
-    enum FrameType { FrameNone, FrameSolid, FrameDashed };
-
-    struct FrameSpacing {
-       FrameSpacing(int hor = 0, int ver = 0)
-           : m_hor(hor), m_ver(ver) {}
-       int m_hor, m_ver;
-    };
-};
-
-struct OperSpec {
-    enum StretchDir { NoStretch, HStretch, VStretch, HVStretch };
-
-    const char *name;
-    Mml::FormType form;
-    const char *attributes[g_oper_spec_rows];
-    StretchDir stretch_dir;
-};
-
-struct NodeSpec
-{
-    Mml::NodeType type;
-    const char *tag;
-    const char *type_str;
-    int child_spec;
-    const char *child_types;
-    const char *attributes;
-
-    enum ChildSpec {
-           ChildAny     = -1, // any number of children allowed
-           ChildIgnore  = -2, // do not build subexpression of children
-           ImplicitMrow = -3  // if more than one child, build mrow
-    };
-};
-
-struct EntitySpec
-{
-    const char *name;
-    const char *value;
-};
-
-typedef QMap<QString, QString> MmlAttributeMap;
-class MmlNode;
-
-class MmlDocument : public Mml
-{
-    public:
-       MmlDocument();
-       ~MmlDocument();
-       void clear();
-
-       bool setContent(QString text, QString *errorMsg = 0,
-                           int *errorLine = 0, int *errorColumn = 0);
-       void paint(QPainter *p, const QPoint &pos) const;
-       void dump() const;
-       QSize size() const;
-       void layout();
-
-       QString fontName(QtMmlWidget::MmlFont type) const;
-       void setFontName(QtMmlWidget::MmlFont type, const QString &name);
-
-       int baseFontPointSize() const
-           { return m_base_font_point_size; }
-       void setBaseFontPointSize(int size)
-           { m_base_font_point_size = size; }
-       QColor foregroundColor() const
-           { return m_foreground_color; }
-       void setForegroundColor(const QColor &color)
-           { m_foreground_color = color; }
-       QColor backgroundColor() const
-           { return m_background_color; }
-       void setBackgroundColor(const QColor &color)
-           { m_background_color = color; }
-
-    private:
-       void _dump(const MmlNode *node, QString &indent) const;
-       bool insertChild(MmlNode *parent, MmlNode *new_node, QString *errorMsg);
-
-       MmlNode *domToMml(const QDomNode &dom_node, bool *ok, QString *errorMsg);
-       MmlNode *createNode(NodeType type, const MmlAttributeMap &mml_attr,
-                               const QString &mml_value, QString *errorMsg);
-       MmlNode *createImplicitMrowNode(const QDomNode &dom_node, bool *ok,
-                                   QString *errorMsg);
-
-       void insertOperator(MmlNode *node, const QString &text);
-
-       MmlNode *m_root_node;
-
-       QString m_normal_font_name;
-       QString m_fraktur_font_name;
-       QString m_sans_serif_font_name;
-       QString m_script_font_name;
-       QString m_monospace_font_name;
-       QString m_doublestruck_font_name;
-       int m_base_font_point_size;
-       QColor m_foreground_color;
-       QColor m_background_color;
-};
-
-class MmlNode : public Mml
-{
-    friend class MmlDocument;
-
-    public:
-       MmlNode(NodeType type, MmlDocument *document, const MmlAttributeMap &attribute_map);
-       virtual ~MmlNode();
-
-       // Mml stuff
-       NodeType nodeType() const
-           { return m_node_type; }
-
-       virtual QString toStr() const;
-
-       void setRelOrigin(const QPoint &rel_origin);
-       QPoint relOrigin() const
-           { return m_rel_origin; }
-       void stretchTo(const QRect &rect);
-       bool isStretched() const
-           { return m_stretched; }
-       QPoint devicePoint(const QPoint &p) const;
-
-       QRect myRect() const
-           { return m_my_rect; }
-       QRect parentRect() const;
-       virtual QRect deviceRect() const;
-       void updateMyRect();
-       virtual void setMyRect(const QRect &rect)
-           { m_my_rect = rect; }
-
-       virtual void stretch();
-       virtual void layout();
-       virtual void paint(QPainter *p);
-
-       int basePos() const;
-       int overlinePos() const;
-       int underlinePos() const;
-       int em() const;
-       int ex() const;
-
-       QString explicitAttribute(const QString &name, const QString &def = QString::null) const;
-       QString inheritAttributeFromMrow(const QString &name, const QString &def = QString::null) const;
-
-       virtual QFont font() const;
-       virtual QColor color() const;
-       virtual QColor background() const;
-       virtual int scriptlevel(const MmlNode *child = 0) const;
-
-
-       // Node stuff
-       MmlDocument *document() const
-           { return m_document; }
-       MmlNode *parent() const
-           { return m_parent; }
-       MmlNode *firstChild() const
-           { return m_first_child; }
-       MmlNode *nextSibling() const
-           { return m_next_sibling; }
-       MmlNode *previousSibling() const
-           { return m_previous_sibling; }
-       MmlNode *lastSibling() const;
-       MmlNode *firstSibling() const;
-       bool isLastSibling() const
-           { return m_next_sibling == 0; }
-       bool isFirstSibling() const
-           { return m_previous_sibling == 0; }
-       bool hasChildNodes() const
-           { return m_first_child != 0; }
-
-    protected:
-       virtual void layoutSymbol();
-       virtual void paintSymbol(QPainter *p) const;
-       virtual QRect symbolRect() const
-           { return QRect(0, 0, 0, 0); }
-
-       MmlNode *parentWithExplicitAttribute(const QString &name, NodeType type = NoNode);
-       int interpretSpacing(const QString &value, bool *ok) const;
-
-    private:
-       MmlAttributeMap m_attribute_map;
-       bool m_stretched;
-       QRect m_my_rect, m_parent_rect;
-       QPoint m_rel_origin;
-
-       NodeType m_node_type;
-       MmlDocument *m_document;
-
-       MmlNode *m_parent,
-               *m_first_child,
-               *m_next_sibling,
-               *m_previous_sibling;
-};
-
-class MmlTokenNode : public MmlNode
-{
-    public:
-       MmlTokenNode(NodeType type, MmlDocument *document,
-                       const MmlAttributeMap &attribute_map)
-           : MmlNode(type, document, attribute_map) {}
-
-       QString text() const;
-};
-
-class MmlMphantomNode : public MmlNode
-{
-    public:
-       MmlMphantomNode(MmlDocument *document,
-                           const MmlAttributeMap &attribute_map)
-           : MmlNode(MphantomNode, document, attribute_map) {}
-
-       virtual void paint(QPainter *) {}
-};
-
-class MmlUnknownNode : public MmlNode
-{
-    public:
-       MmlUnknownNode(MmlDocument *document,
-                           const MmlAttributeMap &attribute_map)
-           : MmlNode(UnknownNode, document, attribute_map) {}
-};
-
-class MmlMfencedNode : public MmlNode
-{
-    public:
-       MmlMfencedNode(MmlDocument *document,
-                           const MmlAttributeMap &attribute_map)
-           : MmlNode(MfencedNode, document, attribute_map) {}
-};
-
-class MmlMalignMarkNode : public MmlNode
-{
-    public:
-       MmlMalignMarkNode(MmlDocument *document)
-           : MmlNode(MalignMarkNode, document, MmlAttributeMap()) {}
-};
-
-class MmlMfracNode : public MmlNode
-{
-    public:
-       MmlMfracNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-           : MmlNode(MfracNode, document, attribute_map) {}
-
-       MmlNode *numerator() const;
-               MmlNode *denominator() const;
-
-    protected:
-       virtual void layoutSymbol();
-       virtual void paintSymbol(QPainter *p) const;
-       virtual QRect symbolRect() const;
-};
-
-class MmlMrowNode : public MmlNode
-{
-    public:
-       MmlMrowNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-                   : MmlNode(MrowNode, document, attribute_map) {}
-};
-
-class MmlRootBaseNode : public MmlNode
-{
-    public:
-       MmlRootBaseNode(NodeType type, MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlNode(type, document, attribute_map) {}
-
-       MmlNode *base() const;
-       MmlNode *index() const;
-
-       virtual int scriptlevel(const MmlNode *child = 0) const;
-
-    protected:
-       virtual void layoutSymbol();
-       virtual void paintSymbol(QPainter *p) const;
-       virtual QRect symbolRect() const;
-       int tailWidth() const;
-};
-
-class MmlMrootNode : public MmlRootBaseNode
-{
-    public:
-       MmlMrootNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlRootBaseNode(MrootNode, document, attribute_map) {}
-};
-
-class MmlMsqrtNode : public MmlRootBaseNode
-{
-    public:
-       MmlMsqrtNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlRootBaseNode(MsqrtNode, document, attribute_map) {}
-
-};
-
-
-class MmlTextNode : public MmlNode
-{
-    public:
-       MmlTextNode(const QString &text, MmlDocument *document);
-
-       virtual QString toStr() const;
-       QString text() const
-           { return m_text; }
-
-       // TextNodes are not xml elements, so they can't have attributes of
-       // their own. Everything is taken from the parent.
-       virtual QFont font() const
-           { return parent()->font(); }
-       virtual int scriptlevel(const MmlNode* = 0) const
-           { return parent()->scriptlevel(this); }
-       virtual QColor color() const
-           { return parent()->color(); }
-       virtual QColor background() const
-           { return parent()->background(); }
-
-     protected:
-       virtual void paintSymbol(QPainter *p) const;
-       virtual QRect symbolRect() const;
-
-       QString m_text;
-};
-
-class MmlMiNode : public MmlTokenNode
-{
-    public:
-       MmlMiNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlTokenNode(MiNode, document, attribute_map) {}
-};
-
-class MmlMnNode : public MmlTokenNode
-{
-    public:
-       MmlMnNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlTokenNode(MnNode, document, attribute_map) {}
-};
-
-class MmlSubsupBaseNode : public MmlNode
-{
-    public:
-       MmlSubsupBaseNode(NodeType type, MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlNode(type, document, attribute_map) {}
-
-       MmlNode *base() const;
-       MmlNode *sscript() const;
-
-       virtual int scriptlevel(const MmlNode *child = 0) const;
-};
-
-class MmlMsupNode : public MmlSubsupBaseNode
-{
-    public:
-       MmlMsupNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlSubsupBaseNode(MsupNode, document, attribute_map) {}
-
-    protected:
-       virtual void layoutSymbol();
-};
-
-class MmlMsubNode : public MmlSubsupBaseNode
-{
-    public:
-       MmlMsubNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlSubsupBaseNode(MsubNode, document, attribute_map) {}
-
-    protected:
-       virtual void layoutSymbol();
-};
-
-class MmlMsubsupNode : public MmlNode
-{
-    public:
-       MmlMsubsupNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlNode(MsubsupNode, document, attribute_map) {}
-
-       MmlNode *base() const;
-       MmlNode *superscript() const;
-       MmlNode *subscript() const;
-
-       virtual int scriptlevel(const MmlNode *child = 0) const;
-
-    protected:
-       virtual void layoutSymbol();
-};
-
-class MmlMoNode : public MmlTokenNode
-{
-    public:
-       MmlMoNode(MmlDocument *document, const MmlAttributeMap &attribute_map);
-
-       QString dictionaryAttribute(const QString &name) const;
-       virtual void stretch();
-       virtual int lspace() const;
-       virtual int rspace() const;
-
-       virtual QString toStr() const;
-
-    protected:
-       virtual void layoutSymbol();
-       virtual QRect symbolRect() const;
-
-       virtual FormType form() const;
-
-    private:
-       const OperSpec *m_oper_spec;
-};
-
-class MmlMstyleNode : public MmlNode
-{
-    public:
-       MmlMstyleNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlNode(MstyleNode, document, attribute_map) {}
-};
-
-class MmlTableBaseNode : public MmlNode
-{
-    public:
-       MmlTableBaseNode(NodeType type, MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlNode(type, document, attribute_map) {}
-};
-
-class MmlMtableNode : public MmlTableBaseNode
-{
-    public:
-       MmlMtableNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlTableBaseNode(MtableNode, document, attribute_map) {}
-
-       int rowspacing() const;
-       int columnspacing() const;
-       int framespacing_hor() const;
-       int framespacing_ver() const;
-       FrameType frame() const;
-       FrameType columnlines(int idx) const;
-       FrameType rowlines(int idx) const;
-
-    protected:
-       virtual void layoutSymbol();
-       virtual QRect symbolRect() const;
-       virtual void paintSymbol(QPainter *p) const;
-
-    private:
-       struct CellSizeData
-       {
-           void init(const MmlNode *first_row);
-           QList<int> col_widths, row_heights;
-           int numCols() const { return col_widths.count(); }
-           int numRows() const { return row_heights.count(); }
-           uint colWidthSum() const;
-           uint rowHeightSum() const;
-       };
-
-       CellSizeData m_cell_size_data;
-       int m_content_width, m_content_height;
-};
-
-class MmlMtrNode : public MmlTableBaseNode
-{
-    public:
-       MmlMtrNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlTableBaseNode(MtrNode, document, attribute_map) {}
-    void layoutCells(const QList<int> &col_widths, int col_spc);
-};
-
-class MmlMtdNode : public MmlTableBaseNode
-{
-    public:
-       MmlMtdNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlTableBaseNode(MtdNode, document, attribute_map)
-           { m_scriptlevel_adjust = 0; }
-       virtual void setMyRect(const QRect &rect);
-
-       ColAlign columnalign();
-       RowAlign rowalign();
-       uint colNum();
-       uint rowNum();
-       virtual int scriptlevel(const MmlNode *child = 0) const;
-
-    private:
-       int m_scriptlevel_adjust; // added or subtracted to scriptlevel to
-                                 // make contents fit the cell
-};
-
-class MmlMoverNode : public MmlNode
-{
-    public:
-       MmlMoverNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlNode(MoverNode, document, attribute_map) {}
-       virtual int scriptlevel(const MmlNode *node = 0) const;
-
-    protected:
-       virtual void layoutSymbol();
-};
-
-class MmlMunderNode : public MmlNode
-{
-    public:
-       MmlMunderNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlNode(MunderNode, document, attribute_map) {}
-       virtual int scriptlevel(const MmlNode *node = 0) const;
-
-    protected:
-       virtual void layoutSymbol();
-};
-
-class MmlMunderoverNode : public MmlNode
-{
-    public:
-       MmlMunderoverNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlNode(MunderoverNode, document, attribute_map) {}
-       virtual int scriptlevel(const MmlNode *node = 0) const;
-
-    protected:
-       virtual void layoutSymbol();
-};
-
-class MmlMerrorNode : public MmlNode
-{
-    public:
-       MmlMerrorNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlNode(MerrorNode, document, attribute_map) {}
-};
-
-class MmlMtextNode : public MmlNode
-{
-    public:
-       MmlMtextNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlNode(MtextNode, document, attribute_map) {}
-};
-
-class MmlMpaddedNode : public MmlNode
-{
-    public:
-       MmlMpaddedNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlNode(MpaddedNode, document, attribute_map) {}
-
-    public:
-       int lspace() const;
-       int width() const;
-       int height() const;
-       int depth() const;
-
-    protected:
-       int interpretSpacing(QString value, int base_value, bool *ok) const;
-       virtual void layoutSymbol();
-       virtual QRect symbolRect() const;
-};
-
-class MmlMspaceNode : public MmlNode
-{
-    public:
-       MmlMspaceNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-               : MmlNode(MspaceNode, document, attribute_map) {}
-};
-
-static const NodeSpec *mmlFindNodeSpec(Mml::NodeType type);
-static const NodeSpec *mmlFindNodeSpec(const QString &tag);
-static bool mmlCheckChildType(Mml::NodeType parent_type,
-                       Mml::NodeType child_type, QString *error_str);
-static bool mmlCheckAttributes(Mml::NodeType child_type,
-                       const MmlAttributeMap &attr, QString *error_str);
-static QString mmlDictAttribute(const QString &name, const OperSpec *spec);
-static const OperSpec *mmlFindOperSpec(const QString &name, Mml::FormType form);
-static int interpretSpacing(QString name, int em, int ex, bool *ok);
-static int interpretPercentSpacing(QString value, int base, bool *ok);
-static uint interpretMathVariant(const QString &value, bool *ok);
-static Mml::FormType interpretForm(const QString &value, bool *ok);
-static Mml::FrameType interpretFrameType(const QString &value_list, uint idx, bool *ok);
-static Mml::FrameSpacing interpretFrameSpacing(const QString &value_list, int em, int ex, bool *ok);
-static Mml::ColAlign interpretColAlign(const QString &value_list, uint colnum, bool *ok);
-static Mml::RowAlign interpretRowAlign(const QString &value_list, uint rownum, bool *ok);
-static Mml::FrameType interpretFrameType(const QString &value_list, uint idx, bool *ok);
-static QFont interpretDepreciatedFontAttr(const MmlAttributeMap &font_attr, QFont &fn, int em, int ex);
-static QFont interpretMathSize(QString value, QFont &fn, int em, int ex, bool *ok);
-static QString interpretListAttr(const QString &value_list, int idx, const QString &def);
-static QString rectToStr(const QRect &rect);
-static QString entityDeclarations();
-
-
-#define MML_ATT_COMMON      " class style id xref actiontype "
-#define MML_ATT_FONTSIZE    " fontsize fontweight fontstyle fontfamily color "
-#define MML_ATT_MATHVARIANT " mathvariant mathsize mathcolor mathbackground "
-#define MML_ATT_FONTINFO    MML_ATT_FONTSIZE MML_ATT_MATHVARIANT
-#define MML_ATT_OPINFO      " form fence separator lspace rspace stretchy symmetric " \
-                           " maxsize minsize largeop movablelimits accent "
-#define MML_ATT_SIZEINFO    " width height depth "
-#define MML_ATT_TABLEINFO   " align rowalign columnalign columnwidth groupalign " \
-                           " alignmentscope side rowspacing columnspacing rowlines " \
-                           " columnlines width frame framespacing equalrows " \
-                           " equalcolumns displaystyle "
-#define MML_ATT_MFRAC       " bevelled numalign denomalign linethickness "
-#define MML_ATT_MSTYLE     MML_ATT_FONTINFO MML_ATT_OPINFO \
-                           " scriptlevel lquote rquote linethickness displaystyle " \
-                           " scriptsizemultiplier scriptminsize background " \
-                           " veryverythinmathspace verythinmathspace thinmathspace " \
-                           " mediummathspace thickmathspace verythickmathspace " \
-                           " veryverythickmathspace open close separators " \
-                           " subscriptshift superscriptshift accentunder tableinfo " \
-                           " rowspan columnspan edge selection bevelled "
-#define MML_ATT_MTABLE     " align rowalign columnalign groupalign alignmentscope " \
-                           " columnwidth width rowspacing columnspacing rowlines columnlines " \
-                           " frame framespacing equalrows equalcolumns displaystyle side " \
-                           " minlabelspacing "
-
-static const NodeSpec g_node_spec_data[] = {
-
-//     type                    tag             type_str            child_spec              child_types              attributes ""=none, 0=any
-//      ----------------------- --------------- ------------------- ----------------------- ------------------------ ------------------------------------
-    {  Mml::MiNode,            "mi",           "MiNode",           NodeSpec::ChildAny,      " TextNode MalignMark ", MML_ATT_COMMON MML_ATT_FONTINFO     },
-    {  Mml::MnNode,            "mn",           "MnNode",           NodeSpec::ChildAny,      " TextNode MalignMark ", MML_ATT_COMMON MML_ATT_FONTINFO     },
-    {  Mml::MfracNode,         "mfrac",        "MfracNode",        2,                      0,                       MML_ATT_COMMON MML_ATT_MFRAC         },
-    {  Mml::MrowNode,          "mrow",         "MrowNode",         NodeSpec::ChildAny,     0,                       MML_ATT_COMMON " display mode "      },
-    {  Mml::MsqrtNode,         "msqrt",        "MsqrtNode",        NodeSpec::ImplicitMrow, 0,                       MML_ATT_COMMON                      },
-    {  Mml::MrootNode,         "mroot",        "MrootNode",        2,                      0,                       MML_ATT_COMMON                       },
-    {  Mml::MsupNode,          "msup",         "MsupNode",         2,                      0,                       MML_ATT_COMMON " subscriptshift "    },
-    {  Mml::MsubNode,          "msub",         "MsubNode",         2,                      0,                       MML_ATT_COMMON " superscriptshift "  },
-    {  Mml::MsubsupNode,       "msubsup",      "MsubsupNode",      3,                      0,                       MML_ATT_COMMON " subscriptshift superscriptshift " },
-    {  Mml::MoNode,            "mo",           "MoNode",           NodeSpec::ChildAny,     " TextNode MalignMark ", MML_ATT_COMMON MML_ATT_FONTINFO MML_ATT_OPINFO    },
-    {  Mml::MstyleNode,        "mstyle",       "MstyleNode",       NodeSpec::ImplicitMrow, 0,                       MML_ATT_COMMON MML_ATT_MSTYLE       },
-    {  Mml::MphantomNode,      "mphantom",     "MphantomNode",     NodeSpec::ImplicitMrow, 0,                       MML_ATT_COMMON                       },
-    {  Mml::MalignMarkNode,    "malignmark",   "MalignMarkNode",   0,                      0,                       ""                                  },
-    {  Mml::MfencedNode,       "mfenced",      "MfencedNode",      NodeSpec::ChildAny,     0,                       MML_ATT_COMMON " open close separators "           },
-    {  Mml::MtableNode,        "mtable",       "MtableNode",       NodeSpec::ChildAny,     " MtrNode ",             MML_ATT_COMMON MML_ATT_MTABLE       },
-    {  Mml::MtrNode,           "mtr",          "MtrNode",          NodeSpec::ChildAny,     " MtdNode ",             MML_ATT_COMMON " rowalign columnalign groupalign " },
-    {  Mml::MtdNode,           "mtd",          "MtdNode",          NodeSpec::ImplicitMrow, 0,                       MML_ATT_COMMON " rowspan columnspan rowalign columnalign groupalign " },
-    {  Mml::MoverNode,         "mover",        "MoverNode",        2,                      0,                       MML_ATT_COMMON " accent "           },
-    {  Mml::MunderNode,        "munder",       "MunderNode",       2,                      0,                       MML_ATT_COMMON " accentunder "      },
-    {  Mml::MunderoverNode,    "munderover",   "MunderoverNode",   3,                      0,                       MML_ATT_COMMON " accentunder accent " },
-    {  Mml::MerrorNode,        "merror",       "MerrorNode",       NodeSpec::ImplicitMrow, 0,                       MML_ATT_COMMON                      },
-    {  Mml::MtextNode,         "mtext",        "MtextNode",        1,                      " TextNode ",            MML_ATT_COMMON " width height depth linebreak " },
-    {  Mml::MpaddedNode,       "mpadded",      "MpaddedNode",      NodeSpec::ImplicitMrow, 0,                       MML_ATT_COMMON " width height depth lspace " },
-    {  Mml::MspaceNode,        "mspace",       "MspaceNode",       NodeSpec::ImplicitMrow, 0,                       MML_ATT_COMMON " width height depth linebreak " },
-    {  Mml::TextNode,          0,              "TextNode",         NodeSpec::ChildIgnore,  0,                       ""                                  },
-    {  Mml::UnknownNode,       0,              "UnknownNode",      NodeSpec::ChildAny,     0,                       0                                   },
-    {  Mml::NoNode,            0,              0,                  0,                      0,                       0                                   }
-};
-
-static const char *g_oper_spec_names[g_oper_spec_rows] = {                                  "accent",                 "fence",               "largeop",                "lspace",               "minsize",         "movablelimits",                "rspace",             "separator",              "stretchy"       /* stretchdir */ };
-static const OperSpec g_oper_spec_data[] = {
-
-       { "!!"                          ,               Mml::PostfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "!!"
-       { "!"                           ,               Mml::PostfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "!"
-       { "!="                          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "!="
-       { "&And;"                       ,                 Mml::InfixForm, {                         0,                       0,                       0,       "mediummathspace",                       0,                       0,       "mediummathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&And;"
-       { "&ApplyFunction;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "&ApplyFunction;"
-       { "&Assign;"                    ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Assign;"
-       { "&Backslash;"                 ,                 Mml::InfixForm, {                         0,                       0,                       0,         "thinmathspace",                       0,                       0,         "thinmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&Backslash;"
-       { "&Because;"                   ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Because;"
-       { "&Breve;"                     ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "&Breve;"
-       { "&Cap;"                       ,                 Mml::InfixForm, {                         0,                       0,                       0,         "thinmathspace",                       0,                       0,         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Cap;"
-       { "&CapitalDifferentialD;"       ,               Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // &CapitalDifferentialD;"
-       { "&Cedilla;"                   ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "&Cedilla;"
-       { "&CenterDot;"                 ,                 Mml::InfixForm, {                         0,                       0,                       0,         "thinmathspace",                       0,                       0,         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&CenterDot;"
-       { "&CircleDot;"                 ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&CircleDot;"
-       { "&CircleMinus;"               ,                 Mml::InfixForm, {                         0,                       0,                       0,         "thinmathspace",                       0,                       0,         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&CircleMinus;"
-       { "&CirclePlus;"                ,                 Mml::InfixForm, {                         0,                       0,                       0,         "thinmathspace",                       0,                       0,         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&CirclePlus;"
-       { "&CircleTimes;"               ,                 Mml::InfixForm, {                         0,                       0,                       0,         "thinmathspace",                       0,                       0,         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&CircleTimes;"
-       { "&ClockwiseContourIntegral;"   ,               Mml::PrefixForm, {                         0,                       0,                  "true",                   "0em",                       0,                       0,                   "0em",                       0,                   "true"},            OperSpec::VStretch }, // &ClockwiseContourIntegral;"
-       { "&CloseCurlyDoubleQuote;"      ,              Mml::PostfixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // &CloseCurlyDoubleQuote;"
-       { "&CloseCurlyQuote;"           ,               Mml::PostfixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "&CloseCurlyQuote;"
-       { "&Colon;"                     ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Colon;"
-       { "&Congruent;"                 ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Congruent;"
-       { "&ContourIntegral;"           ,                Mml::PrefixForm, {                         0,                       0,                  "true",                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // "&ContourIntegral;"
-       { "&Coproduct;"                 ,                 Mml::InfixForm, {                         0,                       0,                       0,         "thinmathspace",                       0,                       0,         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Coproduct;"
-       { "&CounterClockwiseContourIntegral;",           Mml::PrefixForm, {                         0,                       0,                  "true",                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // &CounterClockwiseContourInteg
-       { "&Cross;"                     ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Cross;"
-       { "&Cup;"                       ,                 Mml::InfixForm, {                         0,                       0,                       0,         "thinmathspace",                       0,                       0,         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Cup;"
-       { "&CupCap;"                    ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&CupCap;"
-       { "&Del;"                       ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Del;"
-       { "&DiacriticalAcute;"          ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "&DiacriticalAcute;"
-       { "&DiacriticalDot;"            ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "&DiacriticalDot;"
-       { "&DiacriticalDoubleAcute;"    ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // &DiacriticalDoubleAcute;"
-       { "&DiacriticalGrave;"          ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "&DiacriticalGrave;"
-       { "&DiacriticalLeftArrow;"      ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::HStretch }, // &DiacriticalLeftArrow;"
-       { "&DiacriticalLeftRightArrow;"  ,              Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::HStretch }, // &DiacriticalLeftRightArrow;"
-       { "&DiacriticalLeftRightVector;" ,              Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::HStretch }, // &DiacriticalLeftRightVector;"
-       { "&DiacriticalLeftVector;"      ,              Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::HStretch }, // &DiacriticalLeftVector;"
-       { "&DiacriticalRightArrow;"     ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::HStretch }, // &DiacriticalRightArrow;"
-       { "&DiacriticalRightVector;"    ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::HStretch }, // &DiacriticalRightVector;"
-       { "&DiacriticalTilde;"          ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },           OperSpec::NoStretch }, // "&DiacriticalTilde;"
-       { "&Diamond;"                   ,                 Mml::InfixForm, {                         0,                       0,                       0,         "thinmathspace",                       0,                       0,         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Diamond;"
-       { "&DifferentialD;"             ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&DifferentialD;"
-       { "&DotEqual;"                  ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&DotEqual;"
-       { "&DoubleContourIntegral;"      ,               Mml::PrefixForm, {                         0,                       0,                  "true",                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // &DoubleContourIntegral;"
-       { "&DoubleDot;"                 ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "&DoubleDot;"
-       { "&DoubleDownArrow;"           ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&DoubleDownArrow;"
-       { "&DoubleLeftArrow;"           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&DoubleLeftArrow;"
-       { "&DoubleLeftRightArrow;"       ,                Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // &DoubleLeftRightArrow;"
-       { "&DoubleLeftTee;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&DoubleLeftTee;"
-       { "&DoubleLongLeftArrow;"       ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&DoubleLongLeftArrow;"
-       { "&DoubleLongLeftRightArrow;"  ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::HStretch }, // &DoubleLongLeftRightArrow;"
-       { "&DoubleLongRightArrow;"       ,                Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::HStretch }, // &DoubleLongRightArrow;"
-       { "&DoubleRightArrow;"          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&DoubleRightArrow;"
-       { "&DoubleRightTee;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&DoubleRightTee;"
-       { "&DoubleUpArrow;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&DoubleUpArrow;"
-       { "&DoubleUpDownArrow;"         ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&DoubleUpDownArrow;"
-       { "&DoubleVerticalBar;"         ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&DoubleVerticalBar;"
-       { "&DownArrow;"                 ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&DownArrow;"
-       { "&DownArrowBar;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&DownArrowBar;"
-       { "&DownArrowUpArrow;"          ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&DownArrowUpArrow;"
-       { "&DownBreve;"                 ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "&DownBreve;"
-       { "&DownLeftRightVector;"       ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&DownLeftRightVector;"
-       { "&DownLeftTeeVector;"         ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&DownLeftTeeVector;"
-       { "&DownLeftVector;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&DownLeftVector;"
-       { "&DownLeftVectorBar;"         ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&DownLeftVectorBar;"
-       { "&DownRightTeeVector;"        ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&DownRightTeeVector;"
-       { "&DownRightVector;"           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&DownRightVector;"
-       { "&DownRightVectorBar;"        ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&DownRightVectorBar;"
-       { "&DownTee;"                   ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&DownTee;"
-       { "&DownTeeArrow;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&DownTeeArrow;"
-       { "&Element;"                   ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Element;"
-       { "&Equal;"                     ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Equal;"
-       { "&EqualTilde;"                ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&EqualTilde;"
-       { "&Equilibrium;"               ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&Equilibrium;"
-       { "&Exists;"                    ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Exists;"
-       { "&ForAll;"                    ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&ForAll;"
-       { "&GreaterEqual;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&GreaterEqual;"
-       { "&GreaterEqualLess;"          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&GreaterEqualLess;"
-       { "&GreaterFullEqual;"          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&GreaterFullEqual;"
-       { "&GreaterGreater;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&GreaterGreater;"
-       { "&GreaterLess;"               ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&GreaterLess;"
-       { "&GreaterSlantEqual;"         ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&GreaterSlantEqual;"
-       { "&GreaterTilde;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&GreaterTilde;"
-       { "&Hacek;"                     ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },           OperSpec::NoStretch }, // "&Hacek;"
-       { "&Hat;"                       ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::HStretch }, // "&Hat;"
-       { "&HorizontalLine;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,                   "0em",                     "0",                       0,                   "0em",                       0,                  "true" },            OperSpec::HStretch }, // "&HorizontalLine;"
-       { "&HumpDownHump;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&HumpDownHump;"
-       { "&HumpEqual;"                 ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&HumpEqual;"
-       { "&Implies;"                   ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&Implies;"
-       { "&Integral;"                  ,                Mml::PrefixForm, {                         0,                       0,                  "true",                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "&Integral;"
-       { "&Intersection;"              ,                Mml::PrefixForm, {                         0,                       0,                  "true",                   "0em",                       0,                  "true",         "thinmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&Intersection;"
-       { "&InvisibleComma;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,                   "0em",                  "true",                       0 },           OperSpec::NoStretch }, // "&InvisibleComma;"
-       { "&InvisibleTimes;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "&InvisibleTimes;"
-       { "&LeftAngleBracket;"          ,                Mml::PrefixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // "&LeftAngleBracket;"
-       { "&LeftArrow;"                 ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&LeftArrow;"
-       { "&LeftArrowBar;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&LeftArrowBar;"
-       { "&LeftArrowRightArrow;"       ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&LeftArrowRightArrow;"
-       { "&LeftBracketingBar;"         ,                Mml::PrefixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // "&LeftBracketingBar;"
-       { "&LeftCeiling;"               ,                Mml::PrefixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // "&LeftCeiling;"
-       { "&LeftDoubleBracket;"         ,                Mml::PrefixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::HStretch }, // "&LeftDoubleBracket;"
-       { "&LeftDoubleBracketingBar;"    ,               Mml::PrefixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::HStretch }, // &LeftDoubleBracketingBar;"
-       { "&LeftDownTeeVector;"         ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&LeftDownTeeVector;"
-       { "&LeftDownVector;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&LeftDownVector;"
-       { "&LeftDownVectorBar;"         ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&LeftDownVectorBar;"
-       { "&LeftFloor;"                 ,                Mml::PrefixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // "&LeftFloor;"
-       { "&LeftRightArrow;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&LeftRightArrow;"
-       { "&LeftRightVector;"           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&LeftRightVector;"
-       { "&LeftSkeleton;"              ,                Mml::PrefixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "&LeftSkeleton;"
-       { "&LeftTee;"                   ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&LeftTee;"
-       { "&LeftTeeArrow;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&LeftTeeArrow;"
-       { "&LeftTeeVector;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&LeftTeeVector;"
-       { "&LeftTriangle;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&LeftTriangle;"
-       { "&LeftTriangleBar;"           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&LeftTriangleBar;"
-       { "&LeftTriangleEqual;"         ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&LeftTriangleEqual;"
-       { "&LeftUpDownVector;"          ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&LeftUpDownVector;"
-       { "&LeftUpTeeVector;"           ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&LeftUpTeeVector;"
-       { "&LeftUpVector;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&LeftUpVector;"
-       { "&LeftUpVectorBar;"           ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&LeftUpVectorBar;"
-       { "&LeftVector;"                ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&LeftVector;"
-       { "&LeftVectorBar;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&LeftVectorBar;"
-       { "&LessEqualGreater;"          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&LessEqualGreater;"
-       { "&LessFullEqual;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&LessFullEqual;"
-       { "&LessGreater;"               ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&LessGreater;"
-       { "&LessLess;"                  ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&LessLess;"
-       { "&LessSlantEqual;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&LessSlantEqual;"
-       { "&LessTilde;"                 ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&LessTilde;"
-       { "&LongLeftArrow;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&LongLeftArrow;"
-       { "&LongLeftRightArrow;"        ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&LongLeftRightArrow;"
-       { "&LongRightArrow;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&LongRightArrow;"
-       { "&LowerLeftArrow;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&LowerLeftArrow;"
-       { "&LowerRightArrow;"           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&LowerRightArrow;"
-       { "&MinusPlus;"                 ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0, "veryverythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&MinusPlus;"
-       { "&NestedGreaterGreater;"       ,                Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // &NestedGreaterGreater;"
-       { "&NestedLessLess;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NestedLessLess;"
-       { "&Not;"                       ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Not;"
-       { "&NotCongruent;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotCongruent;"
-       { "&NotCupCap;"                 ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotCupCap;"
-       { "&NotDoubleVerticalBar;"       ,                Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // &NotDoubleVerticalBar;"
-       { "&NotElement;"                ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotElement;"
-       { "&NotEqual;"                  ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotEqual;"
-       { "&NotEqualTilde;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotEqualTilde;"
-       { "&NotExists;"                 ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotExists;"
-       { "&NotGreater;"                ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotGreater;"
-       { "&NotGreaterEqual;"           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotGreaterEqual;"
-       { "&NotGreaterFullEqual;"       ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotGreaterFullEqual;"
-       { "&NotGreaterGreater;"         ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotGreaterGreater;"
-       { "&NotGreaterLess;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotGreaterLess;"
-       { "&NotGreaterSlantEqual;"       ,                Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // &NotGreaterSlantEqual;"
-       { "&NotGreaterTilde;"           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotGreaterTilde;"
-       { "&NotHumpDownHump;"           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotHumpDownHump;"
-       { "&NotHumpEqual;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotHumpEqual;"
-       { "&NotLeftTriangle;"           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotLeftTriangle;"
-       { "&NotLeftTriangleBar;"        ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotLeftTriangleBar;"
-       { "&NotLeftTriangleEqual;"       ,                Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // &NotLeftTriangleEqual;"
-       { "&NotLess;"                   ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotLess;"
-       { "&NotLessEqual;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotLessEqual;"
-       { "&NotLessFullEqual;"          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotLessFullEqual;"
-       { "&NotLessGreater;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotLessGreater;"
-       { "&NotLessLess;"               ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotLessLess;"
-       { "&NotLessSlantEqual;"         ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotLessSlantEqual;"
-       { "&NotLessTilde;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotLessTilde;"
-       { "&NotNestedGreaterGreater;"    ,                Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // &NotNestedGreaterGreater;"
-       { "&NotNestedLessLess;"         ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotNestedLessLess;"
-       { "&NotPrecedes;"               ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotPrecedes;"
-       { "&NotPrecedesEqual;"          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotPrecedesEqual;"
-       { "&NotPrecedesSlantEqual;"      ,                Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // &NotPrecedesSlantEqual;"
-       { "&NotPrecedesTilde;"          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotPrecedesTilde;"
-       { "&NotReverseElement;"         ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotReverseElement;"
-       { "&NotRightTriangle;"          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotRightTriangle;"
-       { "&NotRightTriangleBar;"       ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotRightTriangleBar;"
-       { "&NotRightTriangleEqual;"     ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // &NotRightTriangleEqual;"
-       { "&NotSquareSubset;"           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotSquareSubset;"
-       { "&NotSquareSubsetEqual;"      ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // &NotSquareSubsetEqual;"
-       { "&NotSquareSuperset;"         ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotSquareSuperset;"
-       { "&NotSquareSupersetEqual;"     ,                Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // &NotSquareSupersetEqual;"
-       { "&NotSubset;"                 ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotSubset;"
-       { "&NotSubsetEqual;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotSubsetEqual;"
-       { "&NotSucceeds;"               ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotSucceeds;"
-       { "&NotSucceedsEqual;"          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotSucceedsEqual;"
-       { "&NotSucceedsSlantEqual;"      ,                Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // &NotSucceedsSlantEqual;"
-       { "&NotSucceedsTilde;"          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotSucceedsTilde;"
-       { "&NotSuperset;"               ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotSuperset;"
-       { "&NotSupersetEqual;"          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotSupersetEqual;"
-       { "&NotTilde;"                  ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotTilde;"
-       { "&NotTildeEqual;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotTildeEqual;"
-       { "&NotTildeFullEqual;"         ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotTildeFullEqual;"
-       { "&NotTildeTilde;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotTildeTilde;"
-       { "&NotVerticalBar;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&NotVerticalBar;"
-       { "&OpenCurlyDoubleQuote;"       ,               Mml::PrefixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // &OpenCurlyDoubleQuote;"
-       { "&OpenCurlyQuote;"            ,                Mml::PrefixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "&OpenCurlyQuote;"
-       { "&Or;"                        ,                 Mml::InfixForm, {                         0,                       0,                       0,       "mediummathspace",                       0,                       0,       "mediummathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&Or;"
-       { "&OverBar;"                   ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::HStretch }, // "&OverBar;"
-       { "&OverBrace;"                 ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::HStretch }, // "&OverBrace;"
-       { "&OverBracket;"               ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::HStretch }, // "&OverBracket;"
-       { "&OverParenthesis;"           ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // "&OverParenthesis;"
-       { "&PartialD;"                  ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&PartialD;"
-       { "&PlusMinus;"                 ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0, "veryverythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&PlusMinus;"
-       { "&Precedes;"                  ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Precedes;"
-       { "&PrecedesEqual;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&PrecedesEqual;"
-       { "&PrecedesSlantEqual;"        ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&PrecedesSlantEqual;"
-       { "&PrecedesTilde;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&PrecedesTilde;"
-       { "&Product;"                   ,                Mml::PrefixForm, {                         0,                       0,                  "true",                   "0em",                       0,                  "true",         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Product;"
-       { "&Proportion;"                ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Proportion;"
-       { "&Proportional;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Proportional;"
-       { "&ReverseElement;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&ReverseElement;"
-       { "&ReverseEquilibrium;"        ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&ReverseEquilibrium;"
-       { "&ReverseUpEquilibrium;"      ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::HStretch }, // &ReverseUpEquilibrium;"
-       { "&RightAngleBracket;"         ,               Mml::PostfixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // "&RightAngleBracket;"
-       { "&RightArrow;"                ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&RightArrow;"
-       { "&RightArrowBar;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&RightArrowBar;"
-       { "&RightArrowLeftArrow;"       ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&RightArrowLeftArrow;"
-       { "&RightBracketingBar;"        ,               Mml::PostfixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // "&RightBracketingBar;"
-       { "&RightCeiling;"              ,               Mml::PostfixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // "&RightCeiling;"
-       { "&RightDoubleBracket;"        ,               Mml::PostfixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // "&RightDoubleBracket;"
-       { "&RightDoubleBracketingBar;"   ,              Mml::PostfixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::HStretch }, // &RightDoubleBracketingBar;"
-       { "&RightDownTeeVector;"        ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&RightDownTeeVector;"
-       { "&RightDownVector;"           ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&RightDownVector;"
-       { "&RightDownVectorBar;"        ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&RightDownVectorBar;"
-       { "&RightFloor;"                ,               Mml::PostfixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // "&RightFloor;"
-       { "&RightSkeleton;"             ,               Mml::PostfixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "&RightSkeleton;"
-       { "&RightTee;"                  ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&RightTee;"
-       { "&RightTeeArrow;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&RightTeeArrow;"
-       { "&RightTeeVector;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&RightTeeVector;"
-       { "&RightTriangle;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&RightTriangle;"
-       { "&RightTriangleBar;"          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&RightTriangleBar;"
-       { "&RightTriangleEqual;"        ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&RightTriangleEqual;"
-       { "&RightUpDownVector;"         ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&RightUpDownVector;"
-       { "&RightUpTeeVector;"          ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&RightUpTeeVector;"
-       { "&RightUpVector;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&RightUpVector;"
-       { "&RightUpVectorBar;"          ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&RightUpVectorBar;"
-       { "&RightVector;"               ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&RightVector;"
-       { "&RightVectorBar;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::HStretch }, // "&RightVectorBar;"
-       { "&RoundImplies;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&RoundImplies;"
-       { "&ShortDownArrow;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&ShortDownArrow;"
-       { "&ShortLeftArrow;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },            OperSpec::HStretch }, // "&ShortLeftArrow;"
-       { "&ShortRightArrow;"           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },            OperSpec::HStretch }, // "&ShortRightArrow;"
-       { "&ShortUpArrow;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                       0 },            OperSpec::VStretch }, // "&ShortUpArrow;"
-       { "&SmallCircle;"               ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&SmallCircle;"
-       { "&Sqrt;"                      ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&Sqrt;"
-       { "&Square;"                    ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Square;"
-       { "&SquareIntersection;"        ,                 Mml::InfixForm, {                         0,                       0,                       0,       "mediummathspace",                       0,                       0,       "mediummathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&SquareIntersection;"
-       { "&SquareSubset;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&SquareSubset;"
-       { "&SquareSubsetEqual;"         ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&SquareSubsetEqual;"
-       { "&SquareSuperset;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&SquareSuperset;"
-       { "&SquareSupersetEqual;"       ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&SquareSupersetEqual;"
-       { "&SquareUnion;"               ,                 Mml::InfixForm, {                         0,                       0,                       0,       "mediummathspace",                       0,                       0,       "mediummathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&SquareUnion;"
-       { "&Star;"                      ,                 Mml::InfixForm, {                         0,                       0,                       0,         "thinmathspace",                       0,                       0,         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Star;"
-       { "&Subset;"                    ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Subset;"
-       { "&SubsetEqual;"               ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&SubsetEqual;"
-       { "&Succeeds;"                  ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Succeeds;"
-       { "&SucceedsEqual;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&SucceedsEqual;"
-       { "&SucceedsSlantEqual;"        ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&SucceedsSlantEqual;"
-       { "&SucceedsTilde;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&SucceedsTilde;"
-       { "&SuchThat;"                  ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&SuchThat;"
-       { "&Sum;"                       ,                Mml::PrefixForm, {                         0,                       0,                  "true",                   "0em",                       0,                  "true",         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Sum;"
-       { "&Superset;"                  ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Superset;"
-       { "&SupersetEqual;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&SupersetEqual;"
-       { "&Therefore;"                 ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Therefore;"
-       { "&Tilde;"                     ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Tilde;"
-       { "&TildeEqual;"                ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&TildeEqual;"
-       { "&TildeFullEqual;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&TildeFullEqual;"
-       { "&TildeTilde;"                ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&TildeTilde;"
-       { "&TripleDot;"                 ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "&TripleDot;"
-       { "&UnderBar;"                  ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::HStretch }, // "&UnderBar;"
-       { "&UnderBrace;"                ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::HStretch }, // "&UnderBrace;"
-       { "&UnderBracket;"              ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },           OperSpec::HStretch }, // "&UnderBracket;"
-       { "&UnderParenthesis;"          ,               Mml::PostfixForm, {                    "true",                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::HStretch }, // "&UnderParenthesis;"
-       { "&Union;"                     ,                Mml::PrefixForm, {                         0,                       0,                  "true",                   "0em",                       0,                  "true",         "thinmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&Union;"
-       { "&UnionPlus;"                 ,                Mml::PrefixForm, {                         0,                       0,                  "true",                   "0em",                       0,                  "true",         "thinmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&UnionPlus;"
-       { "&UpArrow;"                   ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&UpArrow;"
-       { "&UpArrowBar;"                ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&UpArrowBar;"
-       { "&UpArrowDownArrow;"          ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&UpArrowDownArrow;"
-       { "&UpDownArrow;"               ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&UpDownArrow;"
-       { "&UpEquilibrium;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&UpEquilibrium;"
-       { "&UpTee;"                     ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&UpTee;"
-       { "&UpTeeArrow;"                ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&UpTeeArrow;"
-       { "&UpperLeftArrow;"            ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&UpperLeftArrow;"
-       { "&UpperRightArrow;"           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },           OperSpec::HVStretch }, // "&UpperRightArrow;"
-       { "&Vee;"                       ,                 Mml::InfixForm, {                         0,                       0,                       0,         "thinmathspace",                       0,                       0,         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Vee;"
-       { "&VerticalBar;"               ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&VerticalBar;"
-       { "&VerticalLine;"              ,                 Mml::InfixForm, {                         0,                       0,                       0,                   "0em",                     "0",                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // "&VerticalLine;"
-       { "&VerticalSeparator;"         ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "&VerticalSeparator;"
-       { "&VerticalTilde;"             ,                 Mml::InfixForm, {                         0,                       0,                       0,         "thinmathspace",                       0,                       0,         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&VerticalTilde;"
-       { "&Wedge;"                     ,                 Mml::InfixForm, {                         0,                       0,                       0,         "thinmathspace",                       0,                       0,         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&Wedge;"
-       { "&amp;"                       ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&amp;"
-       { "&amp;&amp;"                  ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&amp;&amp;"
-       { "&le;"                        ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&le;"
-       { "&lt;"                        ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&lt;"
-       { "&lt;="                       ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&lt;="
-       { "&lt;>"                       ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "&lt;>"
-       { "'"                           ,               Mml::PostfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "'"
-       { "("                           ,                Mml::PrefixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // "("
-       { ")"                           ,               Mml::PostfixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // ")"
-       { "*"                           ,                 Mml::InfixForm, {                         0,                       0,                       0,         "thinmathspace",                       0,                       0,         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "*"
-       { "**"                          ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "**"
-       { "*="                          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "*="
-       { "+"                           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "+"
-       { "+"                           ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0, "veryverythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "+"
-       { "++"                          ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "++"
-       { "+="                          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "+="
-       { ","                           ,                 Mml::InfixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,    "verythickmathspace",                  "true",                       0 },           OperSpec::NoStretch }, // ","
-       { "-"                           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "-"
-       { "-"                           ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0, "veryverythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "-"
-       { "--"                          ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, //   "--"
-       { "-="                          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "-="
-       { "->"                          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "->"
-       { "."                           ,                 Mml::InfixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "."
-       { ".."                          ,               Mml::PostfixForm, {                         0,                       0,                       0,       "mediummathspace",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // ".."
-       { "..."                         ,               Mml::PostfixForm, {                         0,                       0,                       0,       "mediummathspace",                       0,                       0,                   "0em",                       0,                       0 },           OperSpec::NoStretch }, // "..."
-       { "/"                           ,                 Mml::InfixForm, {                         0,                       0,                       0,         "thinmathspace",                       0,                       0,         "thinmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "/"
-       { "//"                          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "//"
-       { "/="                          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "/="
-       { ":"                           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // ":"
-       { ":="                          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // ":="
-       { ";"                           ,                 Mml::InfixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,    "verythickmathspace",                  "true",                       0 },           OperSpec::NoStretch }, // ";"
-       { ";"                           ,               Mml::PostfixForm, {                         0,                       0,                       0,                   "0em",                       0,                       0,                   "0em",                  "true",                       0 },           OperSpec::NoStretch }, // ";"
-       { "="                           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "="
-       { "=="                          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "=="
-       { ">"                           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // ">"
-       { ">="                          ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                       0 },           OperSpec::NoStretch }, // ">="
-       { "?"                           ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "?"
-       { "@"                           ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "@"
-       { "["                           ,                Mml::PrefixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // "["
-       { "]"                           ,               Mml::PostfixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // "]"
-       { "^"                           ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "^"
-       { "_"                           ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "_"
-       { "lim"                         ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                  "true",         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "lim"
-       { "max"                         ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                  "true",         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "max"
-       { "min"                         ,                Mml::PrefixForm, {                         0,                       0,                       0,                   "0em",                       0,                  "true",         "thinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "min"
-       { "{"                           ,                Mml::PrefixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // "{"
-       { "|"                           ,                 Mml::InfixForm, {                         0,                       0,                       0,        "thickmathspace",                       0,                       0,        "thickmathspace",                       0,                  "true" },            OperSpec::VStretch }, // "|"
-       { "||"                          ,                 Mml::InfixForm, {                         0,                       0,                       0,       "mediummathspace",                       0,                       0,       "mediummathspace",                       0,                       0 },           OperSpec::NoStretch }, // "||"
-       { "}"                           ,               Mml::PostfixForm, {                         0,                  "true",                       0,                   "0em",                       0,                       0,                   "0em",                       0,                  "true" },            OperSpec::VStretch }, // "}"
-       { "~"                           ,                 Mml::InfixForm, {                         0,                       0,                       0,     "verythinmathspace",                       0,                       0,     "verythinmathspace",                       0,                       0 },           OperSpec::NoStretch }, // "~"
-
-       {  0                            ,                 Mml::InfixForm, {                         0,                       0,                       0,                       0,                       0,                       0,                       0,                       0,                       0 },           OperSpec::NoStretch }
-};
-
-static const OperSpec g_oper_spec_defaults =
-       {  0                            ,                 Mml::InfixForm, {                   "false",                 "false",                 "false",         "thickmathspace",                     "1",                "false",        "thickmathspace",                 "false",                 "false" },           OperSpec::NoStretch  };
-
-static const uint g_oper_spec_count = sizeof(g_oper_spec_data)/sizeof(OperSpec) - 1;
-
-static const EntitySpec g_xml_entity_data[] = {
-    { "angzarr",       "&#x0237C;" },
-    { "cirmid",        "&#x02AEF;" },
-    { "cudarrl",       "&#x02938;" },
-    { "cudarrr",       "&#x02935;" },
-    { "cularr",        "&#x021B6;" },
-    { "cularrp",       "&#x0293D;" },
-    { "curarr",        "&#x021B7;" },
-    { "curarrm",       "&#x0293C;" },
-    { "Darr",  "&#x021A1;" },
-    { "dArr",  "&#x021D3;" },
-    { "ddarr", "&#x021CA;" },
-    { "DDotrahd",      "&#x02911;" },
-    { "dfisht",        "&#x0297F;" },
-    { "dHar",  "&#x02965;" },
-    { "dharl", "&#x021C3;" },
-    { "dharr", "&#x021C2;" },
-    { "duarr", "&#x021F5;" },
-    { "duhar", "&#x0296F;" },
-    { "dzigrarr",      "&#x027FF;" },
-    { "erarr", "&#x02971;" },
-    { "hArr",  "&#x021D4;" },
-    { "harr",  "&#x02194;" },
-    { "harrcir",       "&#x02948;" },
-    { "harrw", "&#x021AD;" },
-    { "hoarr", "&#x021FF;" },
-    { "imof",  "&#x022B7;" },
-    { "lAarr", "&#x021DA;" },
-    { "Larr",  "&#x0219E;" },
-    { "larrbfs",       "&#x0291F;" },
-    { "larrfs",        "&#x0291D;" },
-    { "larrhk",        "&#x021A9;" },
-    { "larrlp",        "&#x021AB;" },
-    { "larrpl",        "&#x02939;" },
-    { "larrsim",       "&#x02973;" },
-    { "larrtl",        "&#x021A2;" },
-    { "lAtail",        "&#x0291B;" },
-    { "latail",        "&#x02919;" },
-    { "lBarr", "&#x0290E;" },
-    { "lbarr", "&#x0290C;" },
-    { "ldca",  "&#x02936;" },
-    { "ldrdhar",       "&#x02967;" },
-    { "ldrushar",      "&#x0294B;" },
-    { "ldsh",  "&#x021B2;" },
-    { "lfisht",        "&#x0297C;" },
-    { "lHar",  "&#x02962;" },
-    { "lhard", "&#x021BD;" },
-    { "lharu", "&#x021BC;" },
-    { "lharul",        "&#x0296A;" },
-    { "llarr", "&#x021C7;" },
-    { "llhard",        "&#x0296B;" },
-    { "loarr", "&#x021FD;" },
-    { "lrarr", "&#x021C6;" },
-    { "lrhar", "&#x021CB;" },
-    { "lrhard",        "&#x0296D;" },
-    { "lsh",   "&#x021B0;" },
-    { "lurdshar",      "&#x0294A;" },
-    { "luruhar",       "&#x02966;" },
-    { "Map",   "&#x02905;" },
-    { "map",   "&#x021A6;" },
-    { "midcir",        "&#x02AF0;" },
-    { "mumap", "&#x022B8;" },
-    { "nearhk",        "&#x02924;" },
-    { "neArr", "&#x021D7;" },
-    { "nearr", "&#x02197;" },
-    { "nesear",        "&#x02928;" },
-    { "nhArr", "&#x021CE;" },
-    { "nharr", "&#x021AE;" },
-    { "nlArr", "&#x021CD;" },
-    { "nlarr", "&#x0219A;" },
-    { "nrArr", "&#x021CF;" },
-    { "nrarr", "&#x0219B;" },
-    { "nrarrc",        "&#x02933;&#x00338;" },
-    { "nrarrw",        "&#x0219D;&#x00338;" },
-    { "nvHarr",        "&#x02904;" },
-    { "nvlArr",        "&#x02902;" },
-    { "nvrArr",        "&#x02903;" },
-    { "nwarhk",        "&#x02923;" },
-    { "nwArr", "&#x021D6;" },
-    { "nwarr", "&#x02196;" },
-    { "nwnear",        "&#x02927;" },
-    { "olarr", "&#x021BA;" },
-    { "orarr", "&#x021BB;" },
-    { "origof",        "&#x022B6;" },
-    { "rAarr", "&#x021DB;" },
-    { "Rarr",  "&#x021A0;" },
-    { "rarrap",        "&#x02975;" },
-    { "rarrbfs",       "&#x02920;" },
-    { "rarrc", "&#x02933;" },
-    { "rarrfs",        "&#x0291E;" },
-    { "rarrhk",        "&#x021AA;" },
-    { "rarrlp",        "&#x021AC;" },
-    { "rarrpl",        "&#x02945;" },
-    { "rarrsim",       "&#x02974;" },
-    { "Rarrtl",        "&#x02916;" },
-    { "rarrtl",        "&#x021A3;" },
-    { "rarrw", "&#x0219D;" },
-    { "rAtail",        "&#x0291C;" },
-    { "ratail",        "&#x0291A;" },
-    { "RBarr", "&#x02910;" },
-    { "rBarr", "&#x0290F;" },
-    { "rbarr", "&#x0290D;" },
-    { "rdca",  "&#x02937;" },
-    { "rdldhar",       "&#x02969;" },
-    { "rdsh",  "&#x021B3;" },
-    { "rfisht",        "&#x0297D;" },
-    { "rHar",  "&#x02964;" },
-    { "rhard", "&#x021C1;" },
-    { "rharu", "&#x021C0;" },
-    { "rharul",        "&#x0296C;" },
-    { "rlarr", "&#x021C4;" },
-    { "rlhar", "&#x021CC;" },
-    { "roarr", "&#x021FE;" },
-    { "rrarr", "&#x021C9;" },
-    { "rsh",   "&#x021B1;" },
-    { "ruluhar",       "&#x02968;" },
-    { "searhk",        "&#x02925;" },
-    { "seArr", "&#x021D8;" },
-    { "searr", "&#x02198;" },
-    { "seswar",        "&#x02929;" },
-    { "simrarr",       "&#x02972;" },
-    { "slarr", "&#x02190;" },
-    { "srarr", "&#x02192;" },
-    { "swarhk",        "&#x02926;" },
-    { "swArr", "&#x021D9;" },
-    { "swarr", "&#x02199;" },
-    { "swnwar",        "&#x0292A;" },
-    { "Uarr",  "&#x0219F;" },
-    { "uArr",  "&#x021D1;" },
-    { "Uarrocir",      "&#x02949;" },
-    { "udarr", "&#x021C5;" },
-    { "udhar", "&#x0296E;" },
-    { "ufisht",        "&#x0297E;" },
-    { "uHar",  "&#x02963;" },
-    { "uharl", "&#x021BF;" },
-    { "uharr", "&#x021BE;" },
-    { "uuarr", "&#x021C8;" },
-    { "vArr",  "&#x021D5;" },
-    { "varr",  "&#x02195;" },
-    { "xhArr", "&#x027FA;" },
-    { "xharr", "&#x027F7;" },
-    { "xlArr", "&#x027F8;" },
-    { "xlarr", "&#x027F5;" },
-    { "xmap",  "&#x027FC;" },
-    { "xrArr", "&#x027F9;" },
-    { "xrarr", "&#x027F6;" },
-    { "zigrarr",       "&#x021DD;" },
-    { "ac",    "&#x0223E;" },
-    { "acE",   "&#x0223E;&#x00333;" },
-    { "amalg", "&#x02A3F;" },
-    { "barvee",        "&#x022BD;" },
-    { "Barwed",        "&#x02306;" },
-    { "barwed",        "&#x02305;" },
-    { "bsolb", "&#x029C5;" },
-    { "Cap",   "&#x022D2;" },
-    { "capand",        "&#x02A44;" },
-    { "capbrcup",      "&#x02A49;" },
-    { "capcap",        "&#x02A4B;" },
-    { "capcup",        "&#x02A47;" },
-    { "capdot",        "&#x02A40;" },
-    { "caps",  "&#x02229;&#x0FE00;" },
-    { "ccaps", "&#x02A4D;" },
-    { "ccups", "&#x02A4C;" },
-    { "ccupssm",       "&#x02A50;" },
-    { "coprod",        "&#x02210;" },
-    { "Cup",   "&#x022D3;" },
-    { "cupbrcap",      "&#x02A48;" },
-    { "cupcap",        "&#x02A46;" },
-    { "cupcup",        "&#x02A4A;" },
-    { "cupdot",        "&#x0228D;" },
-    { "cupor", "&#x02A45;" },
-    { "cups",  "&#x0222A;&#x0FE00;" },
-    { "cuvee", "&#x022CE;" },
-    { "cuwed", "&#x022CF;" },
-    { "Dagger",        "&#x02021;" },
-    { "dagger",        "&#x02020;" },
-    { "diam",  "&#x022C4;" },
-    { "divonx",        "&#x022C7;" },
-    { "eplus", "&#x02A71;" },
-    { "hercon",        "&#x022B9;" },
-    { "intcal",        "&#x022BA;" },
-    { "iprod", "&#x02A3C;" },
-    { "loplus",        "&#x02A2D;" },
-    { "lotimes",       "&#x02A34;" },
-    { "lthree",        "&#x022CB;" },
-    { "ltimes",        "&#x022C9;" },
-    { "midast",        "&#x0002A;" },
-    { "minusb",        "&#x0229F;" },
-    { "minusd",        "&#x02238;" },
-    { "minusdu",       "&#x02A2A;" },
-    { "ncap",  "&#x02A43;" },
-    { "ncup",  "&#x02A42;" },
-    { "oast",  "&#x0229B;" },
-    { "ocir",  "&#x0229A;" },
-    { "odash", "&#x0229D;" },
-    { "odiv",  "&#x02A38;" },
-    { "odot",  "&#x02299;" },
-    { "odsold",        "&#x029BC;" },
-    { "ofcir", "&#x029BF;" },
-    { "ogt",   "&#x029C1;" },
-    { "ohbar", "&#x029B5;" },
-    { "olcir", "&#x029BE;" },
-    { "olt",   "&#x029C0;" },
-    { "omid",  "&#x029B6;" },
-    { "ominus",        "&#x02296;" },
-    { "opar",  "&#x029B7;" },
-    { "operp", "&#x029B9;" },
-    { "oplus", "&#x02295;" },
-    { "osol",  "&#x02298;" },
-    { "Otimes",        "&#x02A37;" },
-    { "otimes",        "&#x02297;" },
-    { "otimesas",      "&#x02A36;" },
-    { "ovbar", "&#x0233D;" },
-    { "plusacir",      "&#x02A23;" },
-    { "plusb", "&#x0229E;" },
-    { "pluscir",       "&#x02A22;" },
-    { "plusdo",        "&#x02214;" },
-    { "plusdu",        "&#x02A25;" },
-    { "pluse", "&#x02A72;" },
-    { "plussim",       "&#x02A26;" },
-    { "plustwo",       "&#x02A27;" },
-    { "prod",  "&#x0220F;" },
-    { "race",  "&#x029DA;" },
-    { "roplus",        "&#x02A2E;" },
-    { "rotimes",       "&#x02A35;" },
-    { "rthree",        "&#x022CC;" },
-    { "rtimes",        "&#x022CA;" },
-    { "sdot",  "&#x022C5;" },
-    { "sdotb", "&#x022A1;" },
-    { "setmn", "&#x02216;" },
-    { "simplus",       "&#x02A24;" },
-    { "smashp",        "&#x02A33;" },
-    { "solb",  "&#x029C4;" },
-    { "sqcap", "&#x02293;" },
-    { "sqcaps",        "&#x02293;&#x0FE00;" },
-    { "sqcup", "&#x02294;" },
-    { "sqcups",        "&#x02294;&#x0FE00;" },
-    { "ssetmn",        "&#x02216;" },
-    { "sstarf",        "&#x022C6;" },
-    { "subdot",        "&#x02ABD;" },
-    { "sum",   "&#x02211;" },
-    { "supdot",        "&#x02ABE;" },
-    { "timesb",        "&#x022A0;" },
-    { "timesbar",      "&#x02A31;" },
-    { "timesd",        "&#x02A30;" },
-    { "tridot",        "&#x025EC;" },
-    { "triminus",      "&#x02A3A;" },
-    { "triplus",       "&#x02A39;" },
-    { "trisb", "&#x029CD;" },
-    { "tritime",       "&#x02A3B;" },
-    { "uplus", "&#x0228E;" },
-    { "veebar",        "&#x022BB;" },
-    { "wedbar",        "&#x02A5F;" },
-    { "wreath",        "&#x02240;" },
-    { "xcap",  "&#x022C2;" },
-    { "xcirc", "&#x025EF;" },
-    { "xcup",  "&#x022C3;" },
-    { "xdtri", "&#x025BD;" },
-    { "xodot", "&#x02A00;" },
-    { "xoplus",        "&#x02A01;" },
-    { "xotime",        "&#x02A02;" },
-    { "xsqcup",        "&#x02A06;" },
-    { "xuplus",        "&#x02A04;" },
-    { "xutri", "&#x025B3;" },
-    { "xvee",  "&#x022C1;" },
-    { "xwedge",        "&#x022C0;" },
-    { "dlcorn",        "&#x0231E;" },
-    { "drcorn",        "&#x0231F;" },
-    { "gtlPar",        "&#x02995;" },
-    { "langd", "&#x02991;" },
-    { "lbrke", "&#x0298B;" },
-    { "lbrksld",       "&#x0298F;" },
-    { "lbrkslu",       "&#x0298D;" },
-    { "lceil", "&#x02308;" },
-    { "lfloor",        "&#x0230A;" },
-    { "lmoust",        "&#x023B0;" },
-    { "lparlt",        "&#x02993;" },
-    { "ltrPar",        "&#x02996;" },
-    { "rangd", "&#x02992;" },
-    { "rbrke", "&#x0298C;" },
-    { "rbrksld",       "&#x0298E;" },
-    { "rbrkslu",       "&#x02990;" },
-    { "rceil", "&#x02309;" },
-    { "rfloor",        "&#x0230B;" },
-    { "rmoust",        "&#x023B1;" },
-    { "rpargt",        "&#x02994;" },
-    { "ulcorn",        "&#x0231C;" },
-    { "urcorn",        "&#x0231D;" },
-    { "gnap",  "&#x02A8A;" },
-    { "gnE",   "&#x02269;" },
-    { "gne",   "&#x02A88;" },
-    { "gnsim", "&#x022E7;" },
-    { "gvnE",  "&#x02269;&#x0FE00;" },
-    { "lnap",  "&#x02A89;" },
-    { "lnE",   "&#x02268;" },
-    { "lne",   "&#x02A87;" },
-    { "lnsim", "&#x022E6;" },
-    { "lvnE",  "&#x02268;&#x0FE00;" },
-    { "nap",   "&#x02249;" },
-    { "napE",  "&#x02A70;&#x00338;" },
-    { "napid", "&#x0224B;&#x00338;" },
-    { "ncong", "&#x02247;" },
-    { "ncongdot",      "&#x02A6D;&#x00338;" },
-    { "nequiv",        "&#x02262;" },
-    { "ngE",   "&#x02267;&#x00338;" },
-    { "nge",   "&#x02271;" },
-    { "nges",  "&#x02A7E;&#x00338;" },
-    { "nGg",   "&#x022D9;&#x00338;" },
-    { "ngsim", "&#x02275;" },
-    { "nGt",   "&#x0226B;&#x020D2;" },
-    { "ngt",   "&#x0226F;" },
-    { "nGtv",  "&#x0226B;&#x00338;" },
-    { "nlE",   "&#x02266;&#x00338;" },
-    { "nle",   "&#x02270;" },
-    { "nles",  "&#x02A7D;&#x00338;" },
-    { "nLl",   "&#x022D8;&#x00338;" },
-    { "nlsim", "&#x02274;" },
-    { "nLt",   "&#x0226A;&#x020D2;" },
-    { "nlt",   "&#x0226E;" },
-    { "nltri", "&#x022EA;" },
-    { "nltrie",        "&#x022EC;" },
-    { "nLtv",  "&#x0226A;&#x00338;" },
-    { "nmid",  "&#x02224;" },
-    { "npar",  "&#x02226;" },
-    { "npr",   "&#x02280;" },
-    { "nprcue",        "&#x022E0;" },
-    { "npre",  "&#x02AAF;&#x00338;" },
-    { "nrtri", "&#x022EB;" },
-    { "nrtrie",        "&#x022ED;" },
-    { "nsc",   "&#x02281;" },
-    { "nsccue",        "&#x022E1;" },
-    { "nsce",  "&#x02AB0;&#x00338;" },
-    { "nsim",  "&#x02241;" },
-    { "nsime", "&#x02244;" },
-    { "nsmid", "&#x02224;" },
-    { "nspar", "&#x02226;" },
-    { "nsqsube",       "&#x022E2;" },
-    { "nsqsupe",       "&#x022E3;" },
-    { "nsub",  "&#x02284;" },
-    { "nsubE", "&#x02AC5;&#x0338;" },
-    { "nsube", "&#x02288;" },
-    { "nsup",  "&#x02285;" },
-    { "nsupE", "&#x02AC6;&#x0338;" },
-    { "nsupe", "&#x02289;" },
-    { "ntgl",  "&#x02279;" },
-    { "ntlg",  "&#x02278;" },
-    { "nvap",  "&#x0224D;&#x020D2;" },
-    { "nVDash",        "&#x022AF;" },
-    { "nVdash",        "&#x022AE;" },
-    { "nvDash",        "&#x022AD;" },
-    { "nvdash",        "&#x022AC;" },
-    { "nvge",  "&#x02265;&#x020D2;" },
-    { "nvgt",  "&#x0003E;&#x020D2;" },
-    { "nvle",  "&#x02264;&#x020D2;" },
-    { "nvlt",  "&#x0003C;&#x020D2;" },
-    { "nvltrie",       "&#x022B4;&#x020D2;" },
-    { "nvrtrie",       "&#x022B5;&#x020D2;" },
-    { "nvsim", "&#x0223C;&#x020D2;" },
-    { "parsim",        "&#x02AF3;" },
-    { "prnap", "&#x02AB9;" },
-    { "prnE",  "&#x02AB5;" },
-    { "prnsim",        "&#x022E8;" },
-    { "rnmid", "&#x02AEE;" },
-    { "scnap", "&#x02ABA;" },
-    { "scnE",  "&#x02AB6;" },
-    { "scnsim",        "&#x022E9;" },
-    { "simne", "&#x02246;" },
-    { "solbar",        "&#x0233F;" },
-    { "subnE", "&#x02ACB;" },
-    { "subne", "&#x0228A;" },
-    { "supnE", "&#x02ACC;" },
-    { "supne", "&#x0228B;" },
-    { "vnsub", "&#x02282;&#x020D2;" },
-    { "vnsup", "&#x02283;&#x020D2;" },
-    { "vsubnE",        "&#x02ACB;&#x0FE00;" },
-    { "vsubne",        "&#x0228A;&#x0FE00;" },
-    { "vsupnE",        "&#x02ACC;&#x0FE00;" },
-    { "vsupne",        "&#x0228B;&#x0FE00;" },
-    { "ang",   "&#x02220;" },
-    { "ange",  "&#x029A4;" },
-    { "angmsd",        "&#x02221;" },
-    { "angmsdaa",      "&#x029A8;" },
-    { "angmsdab",      "&#x029A9;" },
-    { "angmsdac",      "&#x029AA;" },
-    { "angmsdad",      "&#x029AB;" },
-    { "angmsdae",      "&#x029AC;" },
-    { "angmsdaf",      "&#x029AD;" },
-    { "angmsdag",      "&#x029AE;" },
-    { "angmsdah",      "&#x029AF;" },
-    { "angrtvb",       "&#x022BE;" },
-    { "angrtvbd",      "&#x0299D;" },
-    { "bbrk",  "&#x023B5;" },
-    { "bemptyv",       "&#x029B0;" },
-    { "beth",  "&#x02136;" },
-    { "boxbox",        "&#x029C9;" },
-    { "bprime",        "&#x02035;" },
-    { "bsemi", "&#x0204F;" },
-    { "cemptyv",       "&#x029B2;" },
-    { "cirE",  "&#x029C3;" },
-    { "cirscir",       "&#x029C2;" },
-    { "comp",  "&#x02201;" },
-    { "daleth",        "&#x02138;" },
-    { "demptyv",       "&#x029B1;" },
-    { "ell",   "&#x02113;" },
-    { "empty", "&#x02205;" },
-    { "emptyv",        "&#x02205;" },
-    { "gimel", "&#x02137;" },
-    { "iiota", "&#x02129;" },
-    { "image", "&#x02111;" },
-    { "imath", "&#x00131;" },
-    { "jmath", "&#x0006A;" },
-    { "laemptyv",      "&#x029B4;" },
-    { "lltri", "&#x025FA;" },
-    { "lrtri", "&#x022BF;" },
-    { "mho",   "&#x02127;" },
-    { "nang",  "&#x02220;&#x020D2;" },
-    { "nexist",        "&#x02204;" },
-    { "oS",    "&#x024C8;" },
-    { "planck",        "&#x0210F;" },
-    { "plankv",        "&#x0210F;" },
-    { "raemptyv",      "&#x029B3;" },
-    { "range", "&#x029A5;" },
-    { "real",  "&#x0211C;" },
-    { "tbrk",  "&#x023B4;" },
-    { "ultri", "&#x025F8;" },
-    { "urtri", "&#x025F9;" },
-    { "vzigzag",       "&#x0299A;" },
-    { "weierp",        "&#x02118;" },
-    { "apE",   "&#x02A70;" },
-    { "ape",   "&#x0224A;" },
-    { "apid",  "&#x0224B;" },
-    { "asymp", "&#x02248;" },
-    { "Barv",  "&#x02AE7;" },
-    { "bcong", "&#x0224C;" },
-    { "bepsi", "&#x003F6;" },
-    { "bowtie",        "&#x022C8;" },
-    { "bsim",  "&#x0223D;" },
-    { "bsime", "&#x022CD;" },
-    { "bsolhsub",      "&#x0005C;&#x02282;" },
-    { "bump",  "&#x0224E;" },
-    { "bumpE", "&#x02AAE;" },
-    { "bumpe", "&#x0224F;" },
-    { "cire",  "&#x02257;" },
-    { "Colon", "&#x02237;" },
-    { "Colone",        "&#x02A74;" },
-    { "colone",        "&#x02254;" },
-    { "congdot",       "&#x02A6D;" },
-    { "csub",  "&#x02ACF;" },
-    { "csube", "&#x02AD1;" },
-    { "csup",  "&#x02AD0;" },
-    { "csupe", "&#x02AD2;" },
-    { "cuepr", "&#x022DE;" },
-    { "cuesc", "&#x022DF;" },
-    { "Dashv", "&#x02AE4;" },
-    { "dashv", "&#x022A3;" },
-    { "easter",        "&#x02A6E;" },
-    { "ecir",  "&#x02256;" },
-    { "ecolon",        "&#x02255;" },
-    { "eDDot", "&#x02A77;" },
-    { "eDot",  "&#x02251;" },
-    { "efDot", "&#x02252;" },
-    { "eg",    "&#x02A9A;" },
-    { "egs",   "&#x02A96;" },
-    { "egsdot",        "&#x02A98;" },
-    { "el",    "&#x02A99;" },
-    { "els",   "&#x02A95;" },
-    { "elsdot",        "&#x02A97;" },
-    { "equest",        "&#x0225F;" },
-    { "equivDD",       "&#x02A78;" },
-    { "erDot", "&#x02253;" },
-    { "esdot", "&#x02250;" },
-    { "Esim",  "&#x02A73;" },
-    { "esim",  "&#x02242;" },
-    { "fork",  "&#x022D4;" },
-    { "forkv", "&#x02AD9;" },
-    { "frown", "&#x02322;" },
-    { "gap",   "&#x02A86;" },
-    { "gE",    "&#x02267;" },
-    { "gEl",   "&#x02A8C;" },
-    { "gel",   "&#x022DB;" },
-    { "ges",   "&#x02A7E;" },
-    { "gescc", "&#x02AA9;" },
-    { "gesdot",        "&#x02A80;" },
-    { "gesdoto",       "&#x02A82;" },
-    { "gesdotol",      "&#x02A84;" },
-    { "gesl",  "&#x022DB;&#x0FE00;" },
-    { "gesles",        "&#x02A94;" },
-    { "Gg",    "&#x022D9;" },
-    { "gl",    "&#x02277;" },
-    { "gla",   "&#x02AA5;" },
-    { "glE",   "&#x02A92;" },
-    { "glj",   "&#x02AA4;" },
-    { "gsim",  "&#x02273;" },
-    { "gsime", "&#x02A8E;" },
-    { "gsiml", "&#x02A90;" },
-    { "Gt",    "&#x0226B;" },
-    { "gtcc",  "&#x02AA7;" },
-    { "gtcir", "&#x02A7A;" },
-    { "gtdot", "&#x022D7;" },
-    { "gtquest",       "&#x02A7C;" },
-    { "gtrarr",        "&#x02978;" },
-    { "homtht",        "&#x0223B;" },
-    { "lap",   "&#x02A85;" },
-    { "lat",   "&#x02AAB;" },
-    { "late",  "&#x02AAD;" },
-    { "lates", "&#x02AAD;&#x0FE00;" },
-    { "lE",    "&#x02266;" },
-    { "lEg",   "&#x02A8B;" },
-    { "leg",   "&#x022DA;" },
-    { "les",   "&#x02A7D;" },
-    { "lescc", "&#x02AA8;" },
-    { "lesdot",        "&#x02A7F;" },
-    { "lesdoto",       "&#x02A81;" },
-    { "lesdotor",      "&#x02A83;" },
-    { "lesg",  "&#x022DA;&#x0FE00;" },
-    { "lesges",        "&#x02A93;" },
-    { "lg",    "&#x02276;" },
-    { "lgE",   "&#x02A91;" },
-    { "Ll",    "&#x022D8;" },
-    { "lsim",  "&#x02272;" },
-    { "lsime", "&#x02A8D;" },
-    { "lsimg", "&#x02A8F;" },
-    { "Lt",    "&#x0226A;" },
-    { "ltcc",  "&#x02AA6;" },
-    { "ltcir", "&#x02A79;" },
-    { "ltdot", "&#x022D6;" },
-    { "ltlarr",        "&#x02976;" },
-    { "ltquest",       "&#x02A7B;" },
-    { "ltrie", "&#x022B4;" },
-    { "mcomma",        "&#x02A29;" },
-    { "mDDot", "&#x0223A;" },
-    { "mid",   "&#x02223;" },
-    { "mlcp",  "&#x02ADB;" },
-    { "models",        "&#x022A7;" },
-    { "mstpos",        "&#x0223E;" },
-    { "Pr",    "&#x02ABB;" },
-    { "pr",    "&#x0227A;" },
-    { "prap",  "&#x02AB7;" },
-    { "prcue", "&#x0227C;" },
-    { "prE",   "&#x02AB3;" },
-    { "pre",   "&#x02AAF;" },
-    { "prsim", "&#x0227E;" },
-    { "prurel",        "&#x022B0;" },
-    { "ratio", "&#x02236;" },
-    { "rtrie", "&#x022B5;" },
-    { "rtriltri",      "&#x029CE;" },
-    { "Sc",    "&#x02ABC;" },
-    { "sc",    "&#x0227B;" },
-    { "scap",  "&#x02AB8;" },
-    { "sccue", "&#x0227D;" },
-    { "scE",   "&#x02AB4;" },
-    { "sce",   "&#x02AB0;" },
-    { "scsim", "&#x0227F;" },
-    { "sdote", "&#x02A66;" },
-    { "simg",  "&#x02A9E;" },
-    { "simgE", "&#x02AA0;" },
-    { "siml",  "&#x02A9D;" },
-    { "simlE", "&#x02A9F;" },
-    { "smid",  "&#x02223;" },
-    { "smile", "&#x02323;" },
-    { "smt",   "&#x02AAA;" },
-    { "smte",  "&#x02AAC;" },
-    { "smtes", "&#x02AAC;&#x0FE00;" },
-    { "spar",  "&#x02225;" },
-    { "sqsub", "&#x0228F;" },
-    { "sqsube",        "&#x02291;" },
-    { "sqsup", "&#x02290;" },
-    { "sqsupe",        "&#x02292;" },
-    { "Sub",   "&#x022D0;" },
-    { "subE",  "&#x02AC5;" },
-    { "subedot",       "&#x02AC3;" },
-    { "submult",       "&#x02AC1;" },
-    { "subplus",       "&#x02ABF;" },
-    { "subrarr",       "&#x02979;" },
-    { "subsim",        "&#x02AC7;" },
-    { "subsub",        "&#x02AD5;" },
-    { "subsup",        "&#x02AD3;" },
-    { "Sup",   "&#x022D1;" },
-    { "supdsub",       "&#x02AD8;" },
-    { "supE",  "&#x02AC6;" },
-    { "supedot",       "&#x02AC4;" },
-    { "suphsol",       "&#x02283;&#x00338;" },
-    { "suphsub",       "&#x02AD7;" },
-    { "suplarr",       "&#x0297B;" },
-    { "supmult",       "&#x02AC2;" },
-    { "supplus",       "&#x02AC0;" },
-    { "supsim",        "&#x02AC8;" },
-    { "supsub",        "&#x02AD4;" },
-    { "supsup",        "&#x02AD6;" },
-    { "thkap", "&#x02248;" },
-    { "topfork",       "&#x02ADA;" },
-    { "trie",  "&#x0225C;" },
-    { "twixt", "&#x0226C;" },
-    { "Vbar",  "&#x02AEB;" },
-    { "vBar",  "&#x02AE8;" },
-    { "vBarv", "&#x02AE9;" },
-    { "VDash", "&#x022AB;" },
-    { "Vdash", "&#x022A9;" },
-    { "vDash", "&#x022A8;" },
-    { "vdash", "&#x022A2;" },
-    { "Vdashl",        "&#x02AE6;" },
-    { "vltri", "&#x022B2;" },
-    { "vprop", "&#x0221D;" },
-    { "vrtri", "&#x022B3;" },
-    { "Vvdash",        "&#x022AA;" },
-    { "alpha", "&#x003B1;" },
-    { "beta",  "&#x003B2;" },
-    { "chi",   "&#x003C7;" },
-    { "Delta", "&#x00394;" },
-    { "delta", "&#x003B4;" },
-    { "epsi",  "&#x003B5;" },
-    { "epsiv", "&#x0025B;" },
-    { "eta",   "&#x003B7;" },
-    { "Gamma", "&#x00393;" },
-    { "gamma", "&#x003B3;" },
-    { "Gammad",        "&#x003DC;" },
-    { "gammad",        "&#x003DD;" },
-    { "iota",  "&#x003B9;" },
-    { "kappa", "&#x003BA;" },
-    { "kappav",        "&#x003F0;" },
-    { "Lambda",        "&#x0039B;" },
-    { "lambda",        "&#x003BB;" },
-    { "mu",    "&#x003BC;" },
-    { "nu",    "&#x003BD;" },
-    { "Omega", "&#x003A9;" },
-    { "omega", "&#x003C9;" },
-    { "Phi",   "&#x003A6;" },
-    { "phi",   "&#x003D5;" },
-    { "phiv",  "&#x003C6;" },
-    { "Pi",    "&#x003A0;" },
-    { "pi",    "&#x003C0;" },
-    { "piv",   "&#x003D6;" },
-    { "Psi",   "&#x003A8;" },
-    { "psi",   "&#x003C8;" },
-    { "rho",   "&#x003C1;" },
-    { "rhov",  "&#x003F1;" },
-    { "Sigma", "&#x003A3;" },
-    { "sigma", "&#x003C3;" },
-    { "sigmav",        "&#x003C2;" },
-    { "tau",   "&#x003C4;" },
-    { "Theta", "&#x00398;" },
-    { "theta", "&#x003B8;" },
-    { "thetav",        "&#x003D1;" },
-    { "Upsi",  "&#x003D2;" },
-    { "upsi",  "&#x003C5;" },
-    { "Xi",    "&#x0039E;" },
-    { "xi",    "&#x003BE;" },
-    { "zeta",  "&#x003B6;" },
-    { "Cfr",   "&#x0212D;" },
-    { "Hfr",   "&#x0210C;" },
-    { "Ifr",   "&#x02111;" },
-    { "Rfr",   "&#x0211C;" },
-    { "Zfr",   "&#x02128;" },
-    { "Copf",  "&#x02102;" },
-    { "Hopf",  "&#x0210D;" },
-    { "Nopf",  "&#x02115;" },
-    { "Popf",  "&#x02119;" },
-    { "Qopf",  "&#x0211A;" },
-    { "Ropf",  "&#x0211D;" },
-    { "Zopf",  "&#x02124;" },
-    { "Bscr",  "&#x0212C;" },
-    { "Escr",  "&#x02130;" },
-    { "escr",  "&#x0212F;" },
-    { "Fscr",  "&#x02131;" },
-    { "gscr",  "&#x0210A;" },
-    { "Hscr",  "&#x0210B;" },
-    { "Iscr",  "&#x02110;" },
-    { "Lscr",  "&#x02112;" },
-    { "Mscr",  "&#x02133;" },
-    { "oscr",  "&#x02134;" },
-    { "pscr",  "&#x1D4C5;" },
-    { "Rscr",  "&#x0211B;" },
-    { "acd",   "&#x0223F;" },
-    { "aleph", "&#x02135;" },
-    { "And",   "&#x02A53;" },
-    { "and",   "&#x02227;" },
-    { "andand",        "&#x02A55;" },
-    { "andd",  "&#x02A5C;" },
-    { "andslope",      "&#x02A58;" },
-    { "andv",  "&#x02A5A;" },
-    { "angrt", "&#x0221F;" },
-    { "angsph",        "&#x02222;" },
-    { "angst", "&#x0212B;" },
-    { "ap",    "&#x02248;" },
-    { "apacir",        "&#x02A6F;" },
-    { "awconint",      "&#x02233;" },
-    { "awint", "&#x02A11;" },
-    { "becaus",        "&#x02235;" },
-    { "bernou",        "&#x0212C;" },
-    { "bne",   "&#x0003D;&#x020E5;" },
-    { "bnequiv",       "&#x02261;&#x020E5;" },
-    { "bNot",  "&#x02AED;" },
-    { "bnot",  "&#x02310;" },
-    { "bottom",        "&#x022A5;" },
-    { "cap",   "&#x02229;" },
-    { "Cconint",       "&#x02230;" },
-    { "cirfnint",      "&#x02A10;" },
-    { "compfn",        "&#x02218;" },
-    { "cong",  "&#x02245;" },
-    { "Conint",        "&#x0222F;" },
-    { "conint",        "&#x0222E;" },
-    { "ctdot", "&#x022EF;" },
-    { "cup",   "&#x0222A;" },
-    { "cwconint",      "&#x02232;" },
-    { "cwint", "&#x02231;" },
-    { "cylcty",        "&#x0232D;" },
-    { "disin", "&#x022F2;" },
-    { "Dot",   "&#x000A8;" },
-    { "DotDot",        "&#x020DC;" },
-    { "dsol",  "&#x029F6;" },
-    { "dtdot", "&#x022F1;" },
-    { "dwangle",       "&#x029A6;" },
-    { "epar",  "&#x022D5;" },
-    { "eparsl",        "&#x029E3;" },
-    { "equiv", "&#x02261;" },
-    { "eqvparsl",      "&#x029E5;" },
-    { "exist", "&#x02203;" },
-    { "fnof",  "&#x00192;" },
-    { "forall",        "&#x02200;" },
-    { "fpartint",      "&#x02A0D;" },
-    { "ge",    "&#x02265;" },
-    { "hamilt",        "&#x0210B;" },
-    { "iff",   "&#x021D4;" },
-    { "iinfin",        "&#x029DC;" },
-    { "infin", "&#x0221E;" },
-    { "Int",   "&#x0222C;" },
-    { "int",   "&#x0222B;" },
-    { "intlarhk",      "&#x02A17;" },
-    { "isin",  "&#x02208;" },
-    { "isindot",       "&#x022F5;" },
-    { "isinE", "&#x022F9;" },
-    { "isins", "&#x022F4;" },
-    { "isinsv",        "&#x022F3;" },
-    { "isinv", "&#x02208;" },
-    { "lagran",        "&#x02112;" },
-    { "Lang",  "&#x0300A;" },
-    { "lang",  "&#x02329;" },
-    { "lArr",  "&#x021D0;" },
-    { "lbbrk", "&#x03014;" },
-    { "le",    "&#x02264;" },
-    { "loang", "&#x03018;" },
-    { "lobrk", "&#x0301A;" },
-    { "lopar", "&#x02985;" },
-    { "lowast",        "&#x02217;" },
-    { "minus", "&#x02212;" },
-    { "mnplus",        "&#x02213;" },
-    { "nabla", "&#x02207;" },
-    { "ne",    "&#x02260;" },
-    { "nedot", "&#x02250;&#x00338;" },
-    { "nhpar", "&#x02AF2;" },
-    { "ni",    "&#x0220B;" },
-    { "nis",   "&#x022FC;" },
-    { "nisd",  "&#x022FA;" },
-    { "niv",   "&#x0220B;" },
-    { "Not",   "&#x02AEC;" },
-    { "notin", "&#x02209;" },
-    { "notindot",      "&#x022F5;&#x00338;" },
-    { "notinva",       "&#x02209;" },
-    { "notinvb",       "&#x022F7;" },
-    { "notinvc",       "&#x022F6;" },
-    { "notni", "&#x0220C;" },
-    { "notniva",       "&#x0220C;" },
-    { "notnivb",       "&#x022FE;" },
-    { "notnivc",       "&#x022FD;" },
-    { "nparsl",        "&#x02AFD;&#x020E5;" },
-    { "npart", "&#x02202;&#x00338;" },
-    { "npolint",       "&#x02A14;" },
-    { "nvinfin",       "&#x029DE;" },
-    { "olcross",       "&#x029BB;" },
-    { "Or",    "&#x02A54;" },
-    { "or",    "&#x02228;" },
-    { "ord",   "&#x02A5D;" },
-    { "order", "&#x02134;" },
-    { "oror",  "&#x02A56;" },
-    { "orslope",       "&#x02A57;" },
-    { "orv",   "&#x02A5B;" },
-    { "par",   "&#x02225;" },
-    { "parsl", "&#x02AFD;" },
-    { "part",  "&#x02202;" },
-    { "permil",        "&#x02030;" },
-    { "perp",  "&#x022A5;" },
-    { "pertenk",       "&#x02031;" },
-    { "phmmat",        "&#x02133;" },
-    { "pointint",      "&#x02A15;" },
-    { "Prime", "&#x02033;" },
-    { "prime", "&#x02032;" },
-    { "profalar",      "&#x0232E;" },
-    { "profline",      "&#x02312;" },
-    { "profsurf",      "&#x02313;" },
-    { "prop",  "&#x0221D;" },
-    { "qint",  "&#x02A0C;" },
-    { "qprime",        "&#x02057;" },
-    { "quatint",       "&#x02A16;" },
-    { "radic", "&#x0221A;" },
-    { "Rang",  "&#x0300B;" },
-    { "rang",  "&#x0232A;" },
-    { "rArr",  "&#x021D2;" },
-    { "rbbrk", "&#x03015;" },
-    { "roang", "&#x03019;" },
-    { "robrk", "&#x0301B;" },
-    { "ropar", "&#x02986;" },
-    { "rppolint",      "&#x02A12;" },
-    { "scpolint",      "&#x02A13;" },
-    { "sim",   "&#x0223C;" },
-    { "simdot",        "&#x02A6A;" },
-    { "sime",  "&#x02243;" },
-    { "smeparsl",      "&#x029E4;" },
-    { "square",        "&#x025A1;" },
-    { "squarf",        "&#x025AA;" },
-    { "sub",   "&#x02282;" },
-    { "sube",  "&#x02286;" },
-    { "sup",   "&#x02283;" },
-    { "supe",  "&#x02287;" },
-    { "tdot",  "&#x020DB;" },
-    { "there4",        "&#x02234;" },
-    { "tint",  "&#x0222D;" },
-    { "top",   "&#x022A4;" },
-    { "topbot",        "&#x02336;" },
-    { "topcir",        "&#x02AF1;" },
-    { "tprime",        "&#x02034;" },
-    { "utdot", "&#x022F0;" },
-    { "uwangle",       "&#x029A7;" },
-    { "vangrt",        "&#x0299C;" },
-    { "veeeq", "&#x0225A;" },
-    { "Verbar",        "&#x02016;" },
-    { "wedgeq",        "&#x02259;" },
-    { "xnis",  "&#x022FB;" },
-    { "boxDL", "&#x02557;" },
-    { "boxDl", "&#x02556;" },
-    { "boxdL", "&#x02555;" },
-    { "boxdl", "&#x02510;" },
-    { "boxDR", "&#x02554;" },
-    { "boxDr", "&#x02553;" },
-    { "boxdR", "&#x02552;" },
-    { "boxdr", "&#x0250C;" },
-    { "boxH",  "&#x02550;" },
-    { "boxh",  "&#x02500;" },
-    { "boxHD", "&#x02566;" },
-    { "boxHd", "&#x02564;" },
-    { "boxhD", "&#x02565;" },
-    { "boxhd", "&#x0252C;" },
-    { "boxHU", "&#x02569;" },
-    { "boxHu", "&#x02567;" },
-    { "boxhU", "&#x02568;" },
-    { "boxhu", "&#x02534;" },
-    { "boxUL", "&#x0255D;" },
-    { "boxUl", "&#x0255C;" },
-    { "boxuL", "&#x0255B;" },
-    { "boxul", "&#x02518;" },
-    { "boxUR", "&#x0255A;" },
-    { "boxUr", "&#x02559;" },
-    { "boxuR", "&#x02558;" },
-    { "boxur", "&#x02514;" },
-    { "boxV",  "&#x02551;" },
-    { "boxv",  "&#x02502;" },
-    { "boxVH", "&#x0256C;" },
-    { "boxVh", "&#x0256B;" },
-    { "boxvH", "&#x0256A;" },
-    { "boxvh", "&#x0253C;" },
-    { "boxVL", "&#x02563;" },
-    { "boxVl", "&#x02562;" },
-    { "boxvL", "&#x02561;" },
-    { "boxvl", "&#x02524;" },
-    { "boxVR", "&#x02560;" },
-    { "boxVr", "&#x0255F;" },
-    { "boxvR", "&#x0255E;" },
-    { "boxvr", "&#x0251C;" },
-    { "Acy",   "&#x00410;" },
-    { "acy",   "&#x00430;" },
-    { "Bcy",   "&#x00411;" },
-    { "bcy",   "&#x00431;" },
-    { "CHcy",  "&#x00427;" },
-    { "chcy",  "&#x00447;" },
-    { "Dcy",   "&#x00414;" },
-    { "dcy",   "&#x00434;" },
-    { "Ecy",   "&#x0042D;" },
-    { "ecy",   "&#x0044D;" },
-    { "Fcy",   "&#x00424;" },
-    { "fcy",   "&#x00444;" },
-    { "Gcy",   "&#x00413;" },
-    { "gcy",   "&#x00433;" },
-    { "HARDcy",        "&#x0042A;" },
-    { "hardcy",        "&#x0044A;" },
-    { "Icy",   "&#x00418;" },
-    { "icy",   "&#x00438;" },
-    { "IEcy",  "&#x00415;" },
-    { "iecy",  "&#x00435;" },
-    { "IOcy",  "&#x00401;" },
-    { "iocy",  "&#x00451;" },
-    { "Jcy",   "&#x00419;" },
-    { "jcy",   "&#x00439;" },
-    { "Kcy",   "&#x0041A;" },
-    { "kcy",   "&#x0043A;" },
-    { "KHcy",  "&#x00425;" },
-    { "khcy",  "&#x00445;" },
-    { "Lcy",   "&#x0041B;" },
-    { "lcy",   "&#x0043B;" },
-    { "Mcy",   "&#x0041C;" },
-    { "mcy",   "&#x0043C;" },
-    { "Ncy",   "&#x0041D;" },
-    { "ncy",   "&#x0043D;" },
-    { "numero",        "&#x02116;" },
-    { "Ocy",   "&#x0041E;" },
-    { "ocy",   "&#x0043E;" },
-    { "Pcy",   "&#x0041F;" },
-    { "pcy",   "&#x0043F;" },
-    { "Rcy",   "&#x00420;" },
-    { "rcy",   "&#x00440;" },
-    { "Scy",   "&#x00421;" },
-    { "scy",   "&#x00441;" },
-    { "SHCHcy",        "&#x00429;" },
-    { "shchcy",        "&#x00449;" },
-    { "SHcy",  "&#x00428;" },
-    { "shcy",  "&#x00448;" },
-    { "SOFTcy",        "&#x0042C;" },
-    { "softcy",        "&#x0044C;" },
-    { "Tcy",   "&#x00422;" },
-    { "tcy",   "&#x00442;" },
-    { "TScy",  "&#x00426;" },
-    { "tscy",  "&#x00446;" },
-    { "Ucy",   "&#x00423;" },
-    { "ucy",   "&#x00443;" },
-    { "Vcy",   "&#x00412;" },
-    { "vcy",   "&#x00432;" },
-    { "YAcy",  "&#x0042F;" },
-    { "yacy",  "&#x0044F;" },
-    { "Ycy",   "&#x0042B;" },
-    { "ycy",   "&#x0044B;" },
-    { "YUcy",  "&#x0042E;" },
-    { "yucy",  "&#x0044E;" },
-    { "Zcy",   "&#x00417;" },
-    { "zcy",   "&#x00437;" },
-    { "ZHcy",  "&#x00416;" },
-    { "zhcy",  "&#x00436;" },
-    { "DJcy",  "&#x00402;" },
-    { "djcy",  "&#x00452;" },
-    { "DScy",  "&#x00405;" },
-    { "dscy",  "&#x00455;" },
-    { "DZcy",  "&#x0040F;" },
-    { "dzcy",  "&#x0045F;" },
-    { "GJcy",  "&#x00403;" },
-    { "gjcy",  "&#x00453;" },
-    { "Iukcy", "&#x00406;" },
-    { "iukcy", "&#x00456;" },
-    { "Jsercy",        "&#x00408;" },
-    { "jsercy",        "&#x00458;" },
-    { "Jukcy", "&#x00404;" },
-    { "jukcy", "&#x00454;" },
-    { "KJcy",  "&#x0040C;" },
-    { "kjcy",  "&#x0045C;" },
-    { "LJcy",  "&#x00409;" },
-    { "ljcy",  "&#x00459;" },
-    { "NJcy",  "&#x0040A;" },
-    { "njcy",  "&#x0045A;" },
-    { "TSHcy", "&#x0040B;" },
-    { "tshcy", "&#x0045B;" },
-    { "Ubrcy", "&#x0040E;" },
-    { "ubrcy", "&#x0045E;" },
-    { "YIcy",  "&#x00407;" },
-    { "yicy",  "&#x00457;" },
-    { "acute", "&#x000B4;" },
-    { "breve", "&#x002D8;" },
-    { "caron", "&#x002C7;" },
-    { "cedil", "&#x000B8;" },
-    { "circ",  "&#x002C6;" },
-    { "dblac", "&#x002DD;" },
-    { "die",   "&#x000A8;" },
-    { "dot",   "&#x002D9;" },
-    { "grave", "&#x00060;" },
-    { "macr",  "&#x000AF;" },
-    { "ogon",  "&#x002DB;" },
-    { "ring",  "&#x002DA;" },
-    { "tilde", "&#x002DC;" },
-    { "uml",   "&#x000A8;" },
-    { "Aacute",        "&#x000C1;" },
-    { "aacute",        "&#x000E1;" },
-    { "Acirc", "&#x000C2;" },
-    { "acirc", "&#x000E2;" },
-    { "AElig", "&#x000C6;" },
-    { "aelig", "&#x000E6;" },
-    { "Agrave",        "&#x000C0;" },
-    { "agrave",        "&#x000E0;" },
-    { "Aring", "&#x000C5;" },
-    { "aring", "&#x000E5;" },
-    { "Atilde",        "&#x000C3;" },
-    { "atilde",        "&#x000E3;" },
-    { "Auml",  "&#x000C4;" },
-    { "auml",  "&#x000E4;" },
-    { "Ccedil",        "&#x000C7;" },
-    { "ccedil",        "&#x000E7;" },
-    { "Eacute",        "&#x000C9;" },
-    { "eacute",        "&#x000E9;" },
-    { "Ecirc", "&#x000CA;" },
-    { "ecirc", "&#x000EA;" },
-    { "Egrave",        "&#x000C8;" },
-    { "egrave",        "&#x000E8;" },
-    { "ETH",   "&#x000D0;" },
-    { "eth",   "&#x000F0;" },
-    { "Euml",  "&#x000CB;" },
-    { "euml",  "&#x000EB;" },
-    { "Iacute",        "&#x000CD;" },
-    { "iacute",        "&#x000ED;" },
-    { "Icirc", "&#x000CE;" },
-    { "icirc", "&#x000EE;" },
-    { "Igrave",        "&#x000CC;" },
-    { "igrave",        "&#x000EC;" },
-    { "Iuml",  "&#x000CF;" },
-    { "iuml",  "&#x000EF;" },
-    { "Ntilde",        "&#x000D1;" },
-    { "ntilde",        "&#x000F1;" },
-    { "Oacute",        "&#x000D3;" },
-    { "oacute",        "&#x000F3;" },
-    { "Ocirc", "&#x000D4;" },
-    { "ocirc", "&#x000F4;" },
-    { "Ograve",        "&#x000D2;" },
-    { "ograve",        "&#x000F2;" },
-    { "Oslash",        "&#x000D8;" },
-    { "oslash",        "&#x000F8;" },
-    { "Otilde",        "&#x000D5;" },
-    { "otilde",        "&#x000F5;" },
-    { "Ouml",  "&#x000D6;" },
-    { "ouml",  "&#x000F6;" },
-    { "szlig", "&#x000DF;" },
-    { "THORN", "&#x000DE;" },
-    { "thorn", "&#x000FE;" },
-    { "Uacute",        "&#x000DA;" },
-    { "uacute",        "&#x000FA;" },
-    { "Ucirc", "&#x000DB;" },
-    { "ucirc", "&#x000FB;" },
-    { "Ugrave",        "&#x000D9;" },
-    { "ugrave",        "&#x000F9;" },
-    { "Uuml",  "&#x000DC;" },
-    { "uuml",  "&#x000FC;" },
-    { "Yacute",        "&#x000DD;" },
-    { "yacute",        "&#x000FD;" },
-    { "yuml",  "&#x000FF;" },
-    { "Abreve",        "&#x00102;" },
-    { "abreve",        "&#x00103;" },
-    { "Amacr", "&#x00100;" },
-    { "amacr", "&#x00101;" },
-    { "Aogon", "&#x00104;" },
-    { "aogon", "&#x00105;" },
-    { "Cacute",        "&#x00106;" },
-    { "cacute",        "&#x00107;" },
-    { "Ccaron",        "&#x0010C;" },
-    { "ccaron",        "&#x0010D;" },
-    { "Ccirc", "&#x00108;" },
-    { "ccirc", "&#x00109;" },
-    { "Cdot",  "&#x0010A;" },
-    { "cdot",  "&#x0010B;" },
-    { "Dcaron",        "&#x0010E;" },
-    { "dcaron",        "&#x0010F;" },
-    { "Dstrok",        "&#x00110;" },
-    { "dstrok",        "&#x00111;" },
-    { "Ecaron",        "&#x0011A;" },
-    { "ecaron",        "&#x0011B;" },
-    { "Edot",  "&#x00116;" },
-    { "edot",  "&#x00117;" },
-    { "Emacr", "&#x00112;" },
-    { "emacr", "&#x00113;" },
-    { "ENG",   "&#x0014A;" },
-    { "eng",   "&#x0014B;" },
-    { "Eogon", "&#x00118;" },
-    { "eogon", "&#x00119;" },
-    { "gacute",        "&#x001F5;" },
-    { "Gbreve",        "&#x0011E;" },
-    { "gbreve",        "&#x0011F;" },
-    { "Gcedil",        "&#x00122;" },
-    { "Gcirc", "&#x0011C;" },
-    { "gcirc", "&#x0011D;" },
-    { "Gdot",  "&#x00120;" },
-    { "gdot",  "&#x00121;" },
-    { "Hcirc", "&#x00124;" },
-    { "hcirc", "&#x00125;" },
-    { "Hstrok",        "&#x00126;" },
-    { "hstrok",        "&#x00127;" },
-    { "Idot",  "&#x00130;" },
-    { "IJlig", "&#x00132;" },
-    { "ijlig", "&#x00133;" },
-    { "Imacr", "&#x0012A;" },
-    { "imacr", "&#x0012B;" },
-    { "inodot",        "&#x00131;" },
-    { "Iogon", "&#x0012E;" },
-    { "iogon", "&#x0012F;" },
-    { "Itilde",        "&#x00128;" },
-    { "itilde",        "&#x00129;" },
-    { "Jcirc", "&#x00134;" },
-    { "jcirc", "&#x00135;" },
-    { "Kcedil",        "&#x00136;" },
-    { "kcedil",        "&#x00137;" },
-    { "kgreen",        "&#x00138;" },
-    { "Lacute",        "&#x00139;" },
-    { "lacute",        "&#x0013A;" },
-    { "Lcaron",        "&#x0013D;" },
-    { "lcaron",        "&#x0013E;" },
-    { "Lcedil",        "&#x0013B;" },
-    { "lcedil",        "&#x0013C;" },
-    { "Lmidot",        "&#x0013F;" },
-    { "lmidot",        "&#x00140;" },
-    { "Lstrok",        "&#x00141;" },
-    { "lstrok",        "&#x00142;" },
-    { "Nacute",        "&#x00143;" },
-    { "nacute",        "&#x00144;" },
-    { "napos", "&#x00149;" },
-    { "Ncaron",        "&#x00147;" },
-    { "ncaron",        "&#x00148;" },
-    { "Ncedil",        "&#x00145;" },
-    { "ncedil",        "&#x00146;" },
-    { "Odblac",        "&#x00150;" },
-    { "odblac",        "&#x00151;" },
-    { "OElig", "&#x00152;" },
-    { "oelig", "&#x00153;" },
-    { "Omacr", "&#x0014C;" },
-    { "omacr", "&#x0014D;" },
-    { "Racute",        "&#x00154;" },
-    { "racute",        "&#x00155;" },
-    { "Rcaron",        "&#x00158;" },
-    { "rcaron",        "&#x00159;" },
-    { "Rcedil",        "&#x00156;" },
-    { "rcedil",        "&#x00157;" },
-    { "Sacute",        "&#x0015A;" },
-    { "sacute",        "&#x0015B;" },
-    { "Scaron",        "&#x00160;" },
-    { "scaron",        "&#x00161;" },
-    { "Scedil",        "&#x0015E;" },
-    { "scedil",        "&#x0015F;" },
-    { "Scirc", "&#x0015C;" },
-    { "scirc", "&#x0015D;" },
-    { "Tcaron",        "&#x00164;" },
-    { "tcaron",        "&#x00165;" },
-    { "Tcedil",        "&#x00162;" },
-    { "tcedil",        "&#x00163;" },
-    { "Tstrok",        "&#x00166;" },
-    { "tstrok",        "&#x00167;" },
-    { "Ubreve",        "&#x0016C;" },
-    { "ubreve",        "&#x0016D;" },
-    { "Udblac",        "&#x00170;" },
-    { "udblac",        "&#x00171;" },
-    { "Umacr", "&#x0016A;" },
-    { "umacr", "&#x0016B;" },
-    { "Uogon", "&#x00172;" },
-    { "uogon", "&#x00173;" },
-    { "Uring", "&#x0016E;" },
-    { "uring", "&#x0016F;" },
-    { "Utilde",        "&#x00168;" },
-    { "utilde",        "&#x00169;" },
-    { "Wcirc", "&#x00174;" },
-    { "wcirc", "&#x00175;" },
-    { "Ycirc", "&#x00176;" },
-    { "ycirc", "&#x00177;" },
-    { "Yuml",  "&#x00178;" },
-    { "Zacute",        "&#x00179;" },
-    { "zacute",        "&#x0017A;" },
-    { "Zcaron",        "&#x0017D;" },
-    { "zcaron",        "&#x0017E;" },
-    { "Zdot",  "&#x0017B;" },
-    { "zdot",  "&#x0017C;" },
-    { "apos",  "&#x00027;" },
-    { "ast",   "&#x0002A;" },
-    { "brvbar",        "&#x000A6;" },
-    { "bsol",  "&#x0005C;" },
-    { "cent",  "&#x000A2;" },
-    { "colon", "&#x0003A;" },
-    { "comma", "&#x0002C;" },
-    { "commat",        "&#x00040;" },
-    { "copy",  "&#x000A9;" },
-    { "curren",        "&#x000A4;" },
-    { "darr",  "&#x02193;" },
-    { "deg",   "&#x000B0;" },
-    { "divide",        "&#x000F7;" },
-    { "dollar",        "&#x00024;" },
-    { "equals",        "&#x0003D;" },
-    { "excl",  "&#x00021;" },
-    { "frac12",        "&#x000BD;" },
-    { "frac14",        "&#x000BC;" },
-    { "frac18",        "&#x0215B;" },
-    { "frac34",        "&#x000BE;" },
-    { "frac38",        "&#x0215C;" },
-    { "frac58",        "&#x0215D;" },
-    { "frac78",        "&#x0215E;" },
-    { "gt",    "&#x0003E;" },
-    { "half",  "&#x000BD;" },
-    { "horbar",        "&#x02015;" },
-    { "hyphen",        "&#x02010;" },
-    { "iexcl", "&#x000A1;" },
-    { "iquest",        "&#x000BF;" },
-    { "laquo", "&#x000AB;" },
-    { "larr",  "&#x02190;" },
-    { "lcub",  "&#x0007B;" },
-    { "ldquo", "&#x0201C;" },
-    { "lowbar",        "&#x0005F;" },
-    { "lpar",  "&#x00028;" },
-    { "lsqb",  "&#x0005B;" },
-    { "lsquo", "&#x02018;" },
-    { "lt",    "&#x0003C;" },
-    { "micro", "&#x000B5;" },
-    { "middot",        "&#x000B7;" },
-    { "nbsp",  "&#x000A0;" },
-    { "not",   "&#x000AC;" },
-    { "num",   "&#x00023;" },
-    { "ohm",   "&#x02126;" },
-    { "ordf",  "&#x000AA;" },
-    { "ordm",  "&#x000BA;" },
-    { "para",  "&#x000B6;" },
-    { "percnt",        "&#x00025;" },
-    { "period",        "&#x0002E;" },
-    { "plus",  "&#x0002B;" },
-    { "plusmn",        "&#x000B1;" },
-    { "pound", "&#x000A3;" },
-    { "quest", "&#x0003F;" },
-    { "quot",  "&#x00022;" },
-    { "raquo", "&#x000BB;" },
-    { "rarr",  "&#x02192;" },
-    { "rcub",  "&#x0007D;" },
-    { "rdquo", "&#x0201D;" },
-    { "reg",   "&#x000AE;" },
-    { "rpar",  "&#x00029;" },
-    { "rsqb",  "&#x0005D;" },
-    { "rsquo", "&#x02019;" },
-    { "sect",  "&#x000A7;" },
-    { "semi",  "&#x0003B;" },
-    { "shy",   "&#x000AD;" },
-    { "sol",   "&#x0002F;" },
-    { "sung",  "&#x0266A;" },
-    { "sup1",  "&#x000B9;" },
-    { "sup2",  "&#x000B2;" },
-    { "sup3",  "&#x000B3;" },
-    { "times", "&#x000D7;" },
-    { "trade", "&#x02122;" },
-    { "uarr",  "&#x02191;" },
-    { "verbar",        "&#x0007C;" },
-    { "yen",   "&#x000A5;" },
-    { "blank", "&#x02423;" },
-    { "blk12", "&#x02592;" },
-    { "blk14", "&#x02591;" },
-    { "blk34", "&#x02593;" },
-    { "block", "&#x02588;" },
-    { "bull",  "&#x02022;" },
-    { "caret", "&#x02041;" },
-    { "check", "&#x02713;" },
-    { "cir",   "&#x025CB;" },
-    { "clubs", "&#x02663;" },
-    { "copysr",        "&#x02117;" },
-    { "cross", "&#x02717;" },
-    { "Dagger",        "&#x02021;" },
-    { "dagger",        "&#x02020;" },
-    { "dash",  "&#x02010;" },
-    { "diams", "&#x02666;" },
-    { "dlcrop",        "&#x0230D;" },
-    { "drcrop",        "&#x0230C;" },
-    { "dtri",  "&#x025BF;" },
-    { "dtrif", "&#x025BE;" },
-    { "emsp",  "&#x02003;" },
-    { "emsp13",        "&#x02004;" },
-    { "emsp14",        "&#x02005;" },
-    { "ensp",  "&#x02002;" },
-    { "female",        "&#x02640;" },
-    { "ffilig",        "&#x0FB03;" },
-    { "fflig", "&#x0FB00;" },
-    { "ffllig",        "&#x0FB04;" },
-    { "filig", "&#x0FB01;" },
-    { "flat",  "&#x0266D;" },
-    { "fllig", "&#x0FB02;" },
-    { "frac13",        "&#x02153;" },
-    { "frac15",        "&#x02155;" },
-    { "frac16",        "&#x02159;" },
-    { "frac23",        "&#x02154;" },
-    { "frac25",        "&#x02156;" },
-    { "frac35",        "&#x02157;" },
-    { "frac45",        "&#x02158;" },
-    { "frac56",        "&#x0215A;" },
-    { "hairsp",        "&#x0200A;" },
-    { "hearts",        "&#x02665;" },
-    { "hellip",        "&#x02026;" },
-    { "hybull",        "&#x02043;" },
-    { "incare",        "&#x02105;" },
-    { "ldquor",        "&#x0201E;" },
-    { "lhblk", "&#x02584;" },
-    { "loz",   "&#x025CA;" },
-    { "lozf",  "&#x029EB;" },
-    { "lsquor",        "&#x0201A;" },
-    { "ltri",  "&#x025C3;" },
-    { "ltrif", "&#x025C2;" },
-    { "male",  "&#x02642;" },
-    { "malt",  "&#x02720;" },
-    { "marker",        "&#x025AE;" },
-    { "mdash", "&#x02014;" },
-    { "mldr",  "&#x02026;" },
-    { "natur", "&#x0266E;" },
-    { "ndash", "&#x02013;" },
-    { "nldr",  "&#x02025;" },
-    { "numsp", "&#x02007;" },
-    { "phone", "&#x0260E;" },
-    { "puncsp",        "&#x02008;" },
-    { "rdquor",        "&#x0201D;" },
-    { "rect",  "&#x025AD;" },
-    { "rsquor",        "&#x02019;" },
-    { "rtri",  "&#x025B9;" },
-    { "rtrif", "&#x025B8;" },
-    { "rx",    "&#x0211E;" },
-    { "sext",  "&#x02736;" },
-    { "sharp", "&#x0266F;" },
-    { "spades",        "&#x02660;" },
-    { "squ",   "&#x025A1;" },
-    { "squf",  "&#x025AA;" },
-    { "star",  "&#x02606;" },
-    { "starf", "&#x02605;" },
-    { "target",        "&#x02316;" },
-    { "telrec",        "&#x02315;" },
-    { "thinsp",        "&#x02009;" },
-    { "uhblk", "&#x02580;" },
-    { "ulcrop",        "&#x0230F;" },
-    { "urcrop",        "&#x0230E;" },
-    { "utri",  "&#x025B5;" },
-    { "utrif", "&#x025B4;" },
-    { "vellip",        "&#x022EE;" },
-    { "af",    "&#x02061;" },
-    { "asympeq",       "&#x0224D;" },
-    { "Cross", "&#x02A2F;" },
-    { "DD",    "&#x02145;" },
-    { "dd",    "&#x02146;" },
-    { "DownArrowBar",  "&#x02913;" },
-    { "DownBreve",     "&#x00311;" },
-    { "DownLeftRightVector",   "&#x02950;" },
-    { "DownLeftTeeVector",     "&#x0295E;" },
-    { "DownLeftVectorBar",     "&#x02956;" },
-    { "DownRightTeeVector",    "&#x0295F;" },
-    { "DownRightVectorBar",    "&#x02957;" },
-    { "ee",    "&#x02147;" },
-    { "EmptySmallSquare",      "&#x025FB;" },
-    { "EmptyVerySmallSquare",  "&#x025AB;" },
-    { "Equal", "&#x02A75;" },
-    { "FilledSmallSquare",     "&#x025FC;" },
-    { "FilledVerySmallSquare", "&#x025AA;" },
-    { "GreaterGreater",        "&#x02AA2;" },
-    { "Hat",   "&#x0005E;" },
-    { "HorizontalLine",        "&#x02500;" },
-    { "ic",    "&#x02063;" },
-    { "ii",    "&#x02148;" },
-    { "it",    "&#x02062;" },
-    { "larrb", "&#x021E4;" },
-    { "LeftDownTeeVector",     "&#x02961;" },
-    { "LeftDownVectorBar",     "&#x02959;" },
-    { "LeftRightVector",       "&#x0294E;" },
-    { "LeftTeeVector", "&#x0295A;" },
-    { "LeftTriangleBar",       "&#x029CF;" },
-    { "LeftUpDownVector",      "&#x02951;" },
-    { "LeftUpTeeVector",       "&#x02960;" },
-    { "LeftUpVectorBar",       "&#x02958;" },
-    { "LeftVectorBar", "&#x02952;" },
-    { "LessLess",      "&#x02AA1;" },
-    { "mapstodown",    "&#x021A7;" },
-    { "mapstoleft",    "&#x021A4;" },
-    { "mapstoup",      "&#x021A5;" },
-    { "MediumSpace",   "&#x0205F;" },
-    { "nbump", "&#x0224E;&#x00338;" },
-    { "nbumpe",        "&#x0224F;&#x00338;" },
-    { "nesim", "&#x02242;&#x00338;" },
-    { "NewLine",       "&#x0000A;" },
-    { "NoBreak",       "&#x02060;" },
-    { "NotCupCap",     "&#x0226D;" },
-    { "NotHumpEqual",  "&#x0224F;&#x00338;" },
-    { "NotLeftTriangleBar",    "&#x029CF;&#x00338;" },
-    { "NotNestedGreaterGreater",       "&#x02AA2;&#x00338;" },
-    { "NotNestedLessLess",     "&#x02AA1;&#x00338;" },
-    { "NotRightTriangleBar",   "&#x029D0;&#x00338;" },
-    { "NotSquareSubset",       "&#x0228F;&#x00338;" },
-    { "NotSquareSuperset",     "&#x02290;&#x00338;" },
-    { "NotSucceedsTilde",      "&#x0227F;&#x00338;" },
-    { "OverBar",       "&#x000AF;" },
-    { "OverBrace",     "&#x0FE37;" },
-    { "OverBracket",   "&#x023B4;" },
-    { "OverParenthesis",       "&#x0FE35;" },
-    { "planckh",       "&#x0210E;" },
-    { "Product",       "&#x0220F;" },
-    { "rarrb", "&#x021E5;" },
-    { "RightDownTeeVector",    "&#x0295D;" },
-    { "RightDownVectorBar",    "&#x02955;" },
-    { "RightTeeVector",        "&#x0295B;" },
-    { "RightTriangleBar",      "&#x029D0;" },
-    { "RightUpDownVector",     "&#x0294F;" },
-    { "RightUpTeeVector",      "&#x0295C;" },
-    { "RightUpVectorBar",      "&#x02954;" },
-    { "RightVectorBar",        "&#x02953;" },
-    { "RoundImplies",  "&#x02970;" },
-    { "RuleDelayed",   "&#x029F4;" },
-    { "Tab",   "&#x00009;" },
-    { "ThickSpace",    "&#x02009;&#x0200A;&#x0200A;" },
-    { "UnderBar",      "&#x00332;" },
-    { "UnderBrace",    "&#x0FE38;" },
-    { "UnderBracket",  "&#x023B5;" },
-    { "UnderParenthesis",      "&#x0FE36;" },
-    { "UpArrowBar",    "&#x02912;" },
-    { "Upsilon",       "&#x003A5;" },
-    { "VerticalLine",  "&#x0007C;" },
-    { "VerticalSeparator",     "&#x02758;" },
-    { "ZeroWidthSpace",        "&#x0200B;" },
-    { "angle", "&#x02220;" },
-    { "ApplyFunction", "&#x02061;" },
-    { "approx",        "&#x02248;" },
-    { "approxeq",      "&#x0224A;" },
-    { "Assign",        "&#x02254;" },
-    { "backcong",      "&#x0224C;" },
-    { "backepsilon",   "&#x003F6;" },
-    { "backprime",     "&#x02035;" },
-    { "backsim",       "&#x0223D;" },
-    { "backsimeq",     "&#x022CD;" },
-    { "Backslash",     "&#x02216;" },
-    { "barwedge",      "&#x02305;" },
-    { "Because",       "&#x02235;" },
-    { "because",       "&#x02235;" },
-    { "Bernoullis",    "&#x0212C;" },
-    { "between",       "&#x0226C;" },
-    { "bigcap",        "&#x022C2;" },
-    { "bigcirc",       "&#x025EF;" },
-    { "bigcup",        "&#x022C3;" },
-    { "bigodot",       "&#x02A00;" },
-    { "bigoplus",      "&#x02A01;" },
-    { "bigotimes",     "&#x02A02;" },
-    { "bigsqcup",      "&#x02A06;" },
-    { "bigstar",       "&#x02605;" },
-    { "bigtriangledown",       "&#x025BD;" },
-    { "bigtriangleup", "&#x025B3;" },
-    { "biguplus",      "&#x02A04;" },
-    { "bigvee",        "&#x022C1;" },
-    { "bigwedge",      "&#x022C0;" },
-    { "bkarow",        "&#x0290D;" },
-    { "blacklozenge",  "&#x029EB;" },
-    { "blacksquare",   "&#x025AA;" },
-    { "blacktriangle", "&#x025B4;" },
-    { "blacktriangledown",     "&#x025BE;" },
-    { "blacktriangleleft",     "&#x025C2;" },
-    { "blacktriangleright",    "&#x025B8;" },
-    { "bot",   "&#x022A5;" },
-    { "boxminus",      "&#x0229F;" },
-    { "boxplus",       "&#x0229E;" },
-    { "boxtimes",      "&#x022A0;" },
-    { "Breve", "&#x002D8;" },
-    { "bullet",        "&#x02022;" },
-    { "Bumpeq",        "&#x0224E;" },
-    { "bumpeq",        "&#x0224F;" },
-    { "CapitalDifferentialD",  "&#x02145;" },
-    { "Cayleys",       "&#x0212D;" },
-    { "Cedilla",       "&#x000B8;" },
-    { "CenterDot",     "&#x000B7;" },
-    { "centerdot",     "&#x000B7;" },
-    { "checkmark",     "&#x02713;" },
-    { "circeq",        "&#x02257;" },
-    { "circlearrowleft",       "&#x021BA;" },
-    { "circlearrowright",      "&#x021BB;" },
-    { "circledast",    "&#x0229B;" },
-    { "circledcirc",   "&#x0229A;" },
-    { "circleddash",   "&#x0229D;" },
-    { "CircleDot",     "&#x02299;" },
-    { "circledR",      "&#x000AE;" },
-    { "circledS",      "&#x024C8;" },
-    { "CircleMinus",   "&#x02296;" },
-    { "CirclePlus",    "&#x02295;" },
-    { "CircleTimes",   "&#x02297;" },
-    { "ClockwiseContourIntegral",      "&#x02232;" },
-    { "CloseCurlyDoubleQuote", "&#x0201D;" },
-    { "CloseCurlyQuote",       "&#x02019;" },
-    { "clubsuit",      "&#x02663;" },
-    { "coloneq",       "&#x02254;" },
-    { "complement",    "&#x02201;" },
-    { "complexes",     "&#x02102;" },
-    { "Congruent",     "&#x02261;" },
-    { "ContourIntegral",       "&#x0222E;" },
-    { "Coproduct",     "&#x02210;" },
-    { "CounterClockwiseContourIntegral",       "&#x02233;" },
-    { "CupCap",        "&#x0224D;" },
-    { "curlyeqprec",   "&#x022DE;" },
-    { "curlyeqsucc",   "&#x022DF;" },
-    { "curlyvee",      "&#x022CE;" },
-    { "curlywedge",    "&#x022CF;" },
-    { "curvearrowleft",        "&#x021B6;" },
-    { "curvearrowright",       "&#x021B7;" },
-    { "dbkarow",       "&#x0290F;" },
-    { "ddagger",       "&#x02021;" },
-    { "ddotseq",       "&#x02A77;" },
-    { "Del",   "&#x02207;" },
-    { "DiacriticalAcute",      "&#x000B4;" },
-    { "DiacriticalDot",        "&#x002D9;" },
-    { "DiacriticalDoubleAcute",        "&#x002DD;" },
-    { "DiacriticalGrave",      "&#x00060;" },
-    { "DiacriticalTilde",      "&#x002DC;" },
-    { "Diamond",       "&#x022C4;" },
-    { "diamond",       "&#x022C4;" },
-    { "diamondsuit",   "&#x02666;" },
-    { "DifferentialD", "&#x02146;" },
-    { "digamma",       "&#x003DD;" },
-    { "div",   "&#x000F7;" },
-    { "divideontimes", "&#x022C7;" },
-    { "doteq", "&#x02250;" },
-    { "doteqdot",      "&#x02251;" },
-    { "DotEqual",      "&#x02250;" },
-    { "dotminus",      "&#x02238;" },
-    { "dotplus",       "&#x02214;" },
-    { "dotsquare",     "&#x022A1;" },
-    { "doublebarwedge",        "&#x02306;" },
-    { "DoubleContourIntegral", "&#x0222F;" },
-    { "DoubleDot",     "&#x000A8;" },
-    { "DoubleDownArrow",       "&#x021D3;" },
-    { "DoubleLeftArrow",       "&#x021D0;" },
-    { "DoubleLeftRightArrow",  "&#x021D4;" },
-    { "DoubleLeftTee", "&#x02AE4;" },
-    { "DoubleLongLeftArrow",   "&#x027F8;" },
-    { "DoubleLongLeftRightArrow",      "&#x027FA;" },
-    { "DoubleLongRightArrow",  "&#x027F9;" },
-    { "DoubleRightArrow",      "&#x021D2;" },
-    { "DoubleRightTee",        "&#x022A8;" },
-    { "DoubleUpArrow", "&#x021D1;" },
-    { "DoubleUpDownArrow",     "&#x021D5;" },
-    { "DoubleVerticalBar",     "&#x02225;" },
-    { "DownArrow",     "&#x02193;" },
-    { "Downarrow",     "&#x021D3;" },
-    { "downarrow",     "&#x02193;" },
-    { "DownArrowUpArrow",      "&#x021F5;" },
-    { "downdownarrows",        "&#x021CA;" },
-    { "downharpoonleft",       "&#x021C3;" },
-    { "downharpoonright",      "&#x021C2;" },
-    { "DownLeftVector",        "&#x021BD;" },
-    { "DownRightVector",       "&#x021C1;" },
-    { "DownTee",       "&#x022A4;" },
-    { "DownTeeArrow",  "&#x021A7;" },
-    { "drbkarow",      "&#x02910;" },
-    { "Element",       "&#x02208;" },
-    { "emptyset",      "&#x02205;" },
-    { "eqcirc",        "&#x02256;" },
-    { "eqcolon",       "&#x02255;" },
-    { "eqsim", "&#x02242;" },
-    { "eqslantgtr",    "&#x02A96;" },
-    { "eqslantless",   "&#x02A95;" },
-    { "EqualTilde",    "&#x02242;" },
-    { "Equilibrium",   "&#x021CC;" },
-    { "Exists",        "&#x02203;" },
-    { "expectation",   "&#x02130;" },
-    { "ExponentialE",  "&#x02147;" },
-    { "exponentiale",  "&#x02147;" },
-    { "fallingdotseq", "&#x02252;" },
-    { "ForAll",        "&#x02200;" },
-    { "Fouriertrf",    "&#x02131;" },
-    { "geq",   "&#x02265;" },
-    { "geqq",  "&#x02267;" },
-    { "geqslant",      "&#x02A7E;" },
-    { "gg",    "&#x0226B;" },
-    { "ggg",   "&#x022D9;" },
-    { "gnapprox",      "&#x02A8A;" },
-    { "gneq",  "&#x02A88;" },
-    { "gneqq", "&#x02269;" },
-    { "GreaterEqual",  "&#x02265;" },
-    { "GreaterEqualLess",      "&#x022DB;" },
-    { "GreaterFullEqual",      "&#x02267;" },
-    { "GreaterLess",   "&#x02277;" },
-    { "GreaterSlantEqual",     "&#x02A7E;" },
-    { "GreaterTilde",  "&#x02273;" },
-    { "gtrapprox",     "&#x02A86;" },
-    { "gtrdot",        "&#x022D7;" },
-    { "gtreqless",     "&#x022DB;" },
-    { "gtreqqless",    "&#x02A8C;" },
-    { "gtrless",       "&#x02277;" },
-    { "gtrsim",        "&#x02273;" },
-    { "gvertneqq",     "&#x02269;&#x0FE00;" },
-    { "Hacek", "&#x002C7;" },
-    { "hbar",  "&#x0210F;" },
-    { "heartsuit",     "&#x02665;" },
-    { "HilbertSpace",  "&#x0210B;" },
-    { "hksearow",      "&#x02925;" },
-    { "hkswarow",      "&#x02926;" },
-    { "hookleftarrow", "&#x021A9;" },
-    { "hookrightarrow",        "&#x021AA;" },
-    { "hslash",        "&#x0210F;" },
-    { "HumpDownHump",  "&#x0224E;" },
-    { "HumpEqual",     "&#x0224F;" },
-    { "iiiint",        "&#x02A0C;" },
-    { "iiint", "&#x0222D;" },
-    { "Im",    "&#x02111;" },
-    { "ImaginaryI",    "&#x02148;" },
-    { "imagline",      "&#x02110;" },
-    { "imagpart",      "&#x02111;" },
-    { "Implies",       "&#x021D2;" },
-    { "in",    "&#x02208;" },
-    { "integers",      "&#x02124;" },
-    { "Integral",      "&#x0222B;" },
-    { "intercal",      "&#x022BA;" },
-    { "Intersection",  "&#x022C2;" },
-    { "intprod",       "&#x02A3C;" },
-    { "InvisibleComma",        "&#x02063;" },
-    { "InvisibleTimes",        "&#x02062;" },
-    { "langle",        "&#x02329;" },
-    { "Laplacetrf",    "&#x02112;" },
-    { "lbrace",        "&#x0007B;" },
-    { "lbrack",        "&#x0005B;" },
-    { "LeftAngleBracket",      "&#x02329;" },
-    { "LeftArrow",     "&#x02190;" },
-    { "Leftarrow",     "&#x021D0;" },
-    { "leftarrow",     "&#x02190;" },
-    { "LeftArrowBar",  "&#x021E4;" },
-    { "LeftArrowRightArrow",   "&#x021C6;" },
-    { "leftarrowtail", "&#x021A2;" },
-    { "LeftCeiling",   "&#x02308;" },
-    { "LeftDoubleBracket",     "&#x0301A;" },
-    { "LeftDownVector",        "&#x021C3;" },
-    { "LeftFloor",     "&#x0230A;" },
-    { "leftharpoondown",       "&#x021BD;" },
-    { "leftharpoonup", "&#x021BC;" },
-    { "leftleftarrows",        "&#x021C7;" },
-    { "LeftRightArrow",        "&#x02194;" },
-    { "Leftrightarrow",        "&#x021D4;" },
-    { "leftrightarrow",        "&#x02194;" },
-    { "leftrightarrows",       "&#x021C6;" },
-    { "leftrightharpoons",     "&#x021CB;" },
-    { "leftrightsquigarrow",   "&#x021AD;" },
-    { "LeftTee",       "&#x022A3;" },
-    { "LeftTeeArrow",  "&#x021A4;" },
-    { "leftthreetimes",        "&#x022CB;" },
-    { "LeftTriangle",  "&#x022B2;" },
-    { "LeftTriangleEqual",     "&#x022B4;" },
-    { "LeftUpVector",  "&#x021BF;" },
-    { "LeftVector",    "&#x021BC;" },
-    { "leq",   "&#x02264;" },
-    { "leqq",  "&#x02266;" },
-    { "leqslant",      "&#x02A7D;" },
-    { "lessapprox",    "&#x02A85;" },
-    { "lessdot",       "&#x022D6;" },
-    { "lesseqgtr",     "&#x022DA;" },
-    { "lesseqqgtr",    "&#x02A8B;" },
-    { "LessEqualGreater",      "&#x022DA;" },
-    { "LessFullEqual", "&#x02266;" },
-    { "LessGreater",   "&#x02276;" },
-    { "lessgtr",       "&#x02276;" },
-    { "lesssim",       "&#x02272;" },
-    { "LessSlantEqual",        "&#x02A7D;" },
-    { "LessTilde",     "&#x02272;" },
-    { "ll",    "&#x0226A;" },
-    { "llcorner",      "&#x0231E;" },
-    { "Lleftarrow",    "&#x021DA;" },
-    { "lmoustache",    "&#x023B0;" },
-    { "lnapprox",      "&#x02A89;" },
-    { "lneq",  "&#x02A87;" },
-    { "lneqq", "&#x02268;" },
-    { "LongLeftArrow", "&#x027F5;" },
-    { "Longleftarrow", "&#x027F8;" },
-    { "longleftarrow", "&#x027F5;" },
-    { "LongLeftRightArrow",    "&#x027F7;" },
-    { "Longleftrightarrow",    "&#x027FA;" },
-    { "longleftrightarrow",    "&#x027F7;" },
-    { "longmapsto",    "&#x027FC;" },
-    { "LongRightArrow",        "&#x027F6;" },
-    { "Longrightarrow",        "&#x027F9;" },
-    { "longrightarrow",        "&#x027F6;" },
-    { "looparrowleft", "&#x021AB;" },
-    { "looparrowright",        "&#x021AC;" },
-    { "LowerLeftArrow",        "&#x02199;" },
-    { "LowerRightArrow",       "&#x02198;" },
-    { "lozenge",       "&#x025CA;" },
-    { "lrcorner",      "&#x0231F;" },
-    { "Lsh",   "&#x021B0;" },
-    { "lvertneqq",     "&#x02268;&#x0FE00;" },
-    { "maltese",       "&#x02720;" },
-    { "mapsto",        "&#x021A6;" },
-    { "measuredangle", "&#x02221;" },
-    { "Mellintrf",     "&#x02133;" },
-    { "MinusPlus",     "&#x02213;" },
-    { "mp",    "&#x02213;" },
-    { "multimap",      "&#x022B8;" },
-    { "napprox",       "&#x02249;" },
-    { "natural",       "&#x0266E;" },
-    { "naturals",      "&#x02115;" },
-    { "nearrow",       "&#x02197;" },
-    { "NegativeMediumSpace",   "&#x0200B;" },
-    { "NegativeThickSpace",    "&#x0200B;" },
-    { "NegativeThinSpace",     "&#x0200B;" },
-    { "NegativeVeryThinSpace", "&#x0200B;" },
-    { "NestedGreaterGreater",  "&#x0226B;" },
-    { "NestedLessLess",        "&#x0226A;" },
-    { "nexists",       "&#x02204;" },
-    { "ngeq",  "&#x02271;" },
-    { "ngeqq", "&#x02267;&#x00338;" },
-    { "ngeqslant",     "&#x02A7E;&#x00338;" },
-    { "ngtr",  "&#x0226F;" },
-    { "nLeftarrow",    "&#x021CD;" },
-    { "nleftarrow",    "&#x0219A;" },
-    { "nLeftrightarrow",       "&#x021CE;" },
-    { "nleftrightarrow",       "&#x021AE;" },
-    { "nleq",  "&#x02270;" },
-    { "nleqq", "&#x02266;&#x00338;" },
-    { "nleqslant",     "&#x02A7D;&#x00338;" },
-    { "nless", "&#x0226E;" },
-    { "NonBreakingSpace",      "&#x000A0;" },
-    { "NotCongruent",  "&#x02262;" },
-    { "NotDoubleVerticalBar",  "&#x02226;" },
-    { "NotElement",    "&#x02209;" },
-    { "NotEqual",      "&#x02260;" },
-    { "NotEqualTilde", "&#x02242;&#x00338;" },
-    { "NotExists",     "&#x02204;" },
-    { "NotGreater",    "&#x0226F;" },
-    { "NotGreaterEqual",       "&#x02271;" },
-    { "NotGreaterFullEqual",   "&#x02266;&#x00338;" },
-    { "NotGreaterGreater",     "&#x0226B;&#x00338;" },
-    { "NotGreaterLess",        "&#x02279;" },
-    { "NotGreaterSlantEqual",  "&#x02A7E;&#x00338;" },
-    { "NotGreaterTilde",       "&#x02275;" },
-    { "NotHumpDownHump",       "&#x0224E;&#x00338;" },
-    { "NotLeftTriangle",       "&#x022EA;" },
-    { "NotLeftTriangleEqual",  "&#x022EC;" },
-    { "NotLess",       "&#x0226E;" },
-    { "NotLessEqual",  "&#x02270;" },
-    { "NotLessGreater",        "&#x02278;" },
-    { "NotLessLess",   "&#x0226A;&#x00338;" },
-    { "NotLessSlantEqual",     "&#x02A7D;&#x00338;" },
-    { "NotLessTilde",  "&#x02274;" },
-    { "NotPrecedes",   "&#x02280;" },
-    { "NotPrecedesEqual",      "&#x02AAF;&#x00338;" },
-    { "NotPrecedesSlantEqual", "&#x022E0;" },
-    { "NotReverseElement",     "&#x0220C;" },
-    { "NotRightTriangle",      "&#x022EB;" },
-    { "NotRightTriangleEqual", "&#x022ED;" },
-    { "NotSquareSubsetEqual",  "&#x022E2;" },
-    { "NotSquareSupersetEqual",        "&#x022E3;" },
-    { "NotSubset",     "&#x02282;&#x020D2;" },
-    { "NotSubsetEqual",        "&#x02288;" },
-    { "NotSucceeds",   "&#x02281;" },
-    { "NotSucceedsEqual",      "&#x02AB0;&#x00338;" },
-    { "NotSucceedsSlantEqual", "&#x022E1;" },
-    { "NotSuperset",   "&#x02283;&#x020D2;" },
-    { "NotSupersetEqual",      "&#x02289;" },
-    { "NotTilde",      "&#x02241;" },
-    { "NotTildeEqual", "&#x02244;" },
-    { "NotTildeFullEqual",     "&#x02247;" },
-    { "NotTildeTilde", "&#x02249;" },
-    { "NotVerticalBar",        "&#x02224;" },
-    { "nparallel",     "&#x02226;" },
-    { "nprec", "&#x02280;" },
-    { "npreceq",       "&#x02AAF;&#x00338;" },
-    { "nRightarrow",   "&#x021CF;" },
-    { "nrightarrow",   "&#x0219B;" },
-    { "nshortmid",     "&#x02224;" },
-    { "nshortparallel",        "&#x02226;" },
-    { "nsimeq",        "&#x02244;" },
-    { "nsubset",       "&#x02282;&#x020D2;" },
-    { "nsubseteq",     "&#x02288;" },
-    { "nsubseteqq",    "&#x02AC5;&#x0338;" },
-    { "nsucc", "&#x02281;" },
-    { "nsucceq",       "&#x02AB0;&#x00338;" },
-    { "nsupset",       "&#x02283;&#x020D2;" },
-    { "nsupseteq",     "&#x02289;" },
-    { "nsupseteqq",    "&#x02AC6;&#x0338;" },
-    { "ntriangleleft", "&#x022EA;" },
-    { "ntrianglelefteq",       "&#x022EC;" },
-    { "ntriangleright",        "&#x022EB;" },
-    { "ntrianglerighteq",      "&#x022ED;" },
-    { "nwarrow",       "&#x02196;" },
-    { "oint",  "&#x0222E;" },
-    { "OpenCurlyDoubleQuote",  "&#x0201C;" },
-    { "OpenCurlyQuote",        "&#x02018;" },
-    { "orderof",       "&#x02134;" },
-    { "parallel",      "&#x02225;" },
-    { "PartialD",      "&#x02202;" },
-    { "pitchfork",     "&#x022D4;" },
-    { "PlusMinus",     "&#x000B1;" },
-    { "pm",    "&#x000B1;" },
-    { "Poincareplane", "&#x0210C;" },
-    { "prec",  "&#x0227A;" },
-    { "precapprox",    "&#x02AB7;" },
-    { "preccurlyeq",   "&#x0227C;" },
-    { "Precedes",      "&#x0227A;" },
-    { "PrecedesEqual", "&#x02AAF;" },
-    { "PrecedesSlantEqual",    "&#x0227C;" },
-    { "PrecedesTilde", "&#x0227E;" },
-    { "preceq",        "&#x02AAF;" },
-    { "precnapprox",   "&#x02AB9;" },
-    { "precneqq",      "&#x02AB5;" },
-    { "precnsim",      "&#x022E8;" },
-    { "precsim",       "&#x0227E;" },
-    { "primes",        "&#x02119;" },
-    { "Proportion",    "&#x02237;" },
-    { "Proportional",  "&#x0221D;" },
-    { "propto",        "&#x0221D;" },
-    { "quaternions",   "&#x0210D;" },
-    { "questeq",       "&#x0225F;" },
-    { "rangle",        "&#x0232A;" },
-    { "rationals",     "&#x0211A;" },
-    { "rbrace",        "&#x0007D;" },
-    { "rbrack",        "&#x0005D;" },
-    { "Re",    "&#x0211C;" },
-    { "realine",       "&#x0211B;" },
-    { "realpart",      "&#x0211C;" },
-    { "reals", "&#x0211D;" },
-    { "ReverseElement",        "&#x0220B;" },
-    { "ReverseEquilibrium",    "&#x021CB;" },
-    { "ReverseUpEquilibrium",  "&#x0296F;" },
-    { "RightAngleBracket",     "&#x0232A;" },
-    { "RightArrow",    "&#x02192;" },
-    { "Rightarrow",    "&#x021D2;" },
-    { "rightarrow",    "&#x02192;" },
-    { "RightArrowBar", "&#x021E5;" },
-    { "RightArrowLeftArrow",   "&#x021C4;" },
-    { "rightarrowtail",        "&#x021A3;" },
-    { "RightCeiling",  "&#x02309;" },
-    { "RightDoubleBracket",    "&#x0301B;" },
-    { "RightDownVector",       "&#x021C2;" },
-    { "RightFloor",    "&#x0230B;" },
-    { "rightharpoondown",      "&#x021C1;" },
-    { "rightharpoonup",        "&#x021C0;" },
-    { "rightleftarrows",       "&#x021C4;" },
-    { "rightleftharpoons",     "&#x021CC;" },
-    { "rightrightarrows",      "&#x021C9;" },
-    { "rightsquigarrow",       "&#x0219D;" },
-    { "RightTee",      "&#x022A2;" },
-    { "RightTeeArrow", "&#x021A6;" },
-    { "rightthreetimes",       "&#x022CC;" },
-    { "RightTriangle", "&#x022B3;" },
-    { "RightTriangleEqual",    "&#x022B5;" },
-    { "RightUpVector", "&#x021BE;" },
-    { "RightVector",   "&#x021C0;" },
-    { "risingdotseq",  "&#x02253;" },
-    { "rmoustache",    "&#x023B1;" },
-    { "Rrightarrow",   "&#x021DB;" },
-    { "Rsh",   "&#x021B1;" },
-    { "searrow",       "&#x02198;" },
-    { "setminus",      "&#x02216;" },
-    { "ShortDownArrow",        "&#x02193;" },
-    { "ShortLeftArrow",        "&#x02190;" },
-    { "shortmid",      "&#x02223;" },
-    { "shortparallel", "&#x02225;" },
-    { "ShortRightArrow",       "&#x02192;" },
-    { "ShortUpArrow",  "&#x02191;" },
-    { "simeq", "&#x02243;" },
-    { "SmallCircle",   "&#x02218;" },
-    { "smallsetminus", "&#x02216;" },
-    { "spadesuit",     "&#x02660;" },
-    { "Sqrt",  "&#x0221A;" },
-    { "sqsubset",      "&#x0228F;" },
-    { "sqsubseteq",    "&#x02291;" },
-    { "sqsupset",      "&#x02290;" },
-    { "sqsupseteq",    "&#x02292;" },
-    { "Square",        "&#x025A1;" },
-    { "SquareIntersection",    "&#x02293;" },
-    { "SquareSubset",  "&#x0228F;" },
-    { "SquareSubsetEqual",     "&#x02291;" },
-    { "SquareSuperset",        "&#x02290;" },
-    { "SquareSupersetEqual",   "&#x02292;" },
-    { "SquareUnion",   "&#x02294;" },
-    { "Star",  "&#x022C6;" },
-    { "straightepsilon",       "&#x003B5;" },
-    { "straightphi",   "&#x003D5;" },
-    { "Subset",        "&#x022D0;" },
-    { "subset",        "&#x02282;" },
-    { "subseteq",      "&#x02286;" },
-    { "subseteqq",     "&#x02AC5;" },
-    { "SubsetEqual",   "&#x02286;" },
-    { "subsetneq",     "&#x0228A;" },
-    { "subsetneqq",    "&#x02ACB;" },
-    { "succ",  "&#x0227B;" },
-    { "succapprox",    "&#x02AB8;" },
-    { "succcurlyeq",   "&#x0227D;" },
-    { "Succeeds",      "&#x0227B;" },
-    { "SucceedsEqual", "&#x02AB0;" },
-    { "SucceedsSlantEqual",    "&#x0227D;" },
-    { "SucceedsTilde", "&#x0227F;" },
-    { "succeq",        "&#x02AB0;" },
-    { "succnapprox",   "&#x02ABA;" },
-    { "succneqq",      "&#x02AB6;" },
-    { "succnsim",      "&#x022E9;" },
-    { "succsim",       "&#x0227F;" },
-    { "SuchThat",      "&#x0220B;" },
-    { "Sum",   "&#x02211;" },
-    { "Superset",      "&#x02283;" },
-    { "SupersetEqual", "&#x02287;" },
-    { "Supset",        "&#x022D1;" },
-    { "supset",        "&#x02283;" },
-    { "supseteq",      "&#x02287;" },
-    { "supseteqq",     "&#x02AC6;" },
-    { "supsetneq",     "&#x0228B;" },
-    { "supsetneqq",    "&#x02ACC;" },
-    { "swarrow",       "&#x02199;" },
-    { "Therefore",     "&#x02234;" },
-    { "therefore",     "&#x02234;" },
-    { "thickapprox",   "&#x02248;" },
-    { "thicksim",      "&#x0223C;" },
-    { "ThinSpace",     "&#x02009;" },
-    { "Tilde", "&#x0223C;" },
-    { "TildeEqual",    "&#x02243;" },
-    { "TildeFullEqual",        "&#x02245;" },
-    { "TildeTilde",    "&#x02248;" },
-    { "toea",  "&#x02928;" },
-    { "tosa",  "&#x02929;" },
-    { "triangle",      "&#x025B5;" },
-    { "triangledown",  "&#x025BF;" },
-    { "triangleleft",  "&#x025C3;" },
-    { "trianglelefteq",        "&#x022B4;" },
-    { "triangleq",     "&#x0225C;" },
-    { "triangleright", "&#x025B9;" },
-    { "trianglerighteq",       "&#x022B5;" },
-    { "TripleDot",     "&#x020DB;" },
-    { "twoheadleftarrow",      "&#x0219E;" },
-    { "twoheadrightarrow",     "&#x021A0;" },
-    { "ulcorner",      "&#x0231C;" },
-    { "Union", "&#x022C3;" },
-    { "UnionPlus",     "&#x0228E;" },
-    { "UpArrow",       "&#x02191;" },
-    { "Uparrow",       "&#x021D1;" },
-    { "uparrow",       "&#x02191;" },
-    { "UpArrowDownArrow",      "&#x021C5;" },
-    { "UpDownArrow",   "&#x02195;" },
-    { "Updownarrow",   "&#x021D5;" },
-    { "updownarrow",   "&#x02195;" },
-    { "UpEquilibrium", "&#x0296E;" },
-    { "upharpoonleft", "&#x021BF;" },
-    { "upharpoonright",        "&#x021BE;" },
-    { "UpperLeftArrow",        "&#x02196;" },
-    { "UpperRightArrow",       "&#x02197;" },
-    { "upsilon",       "&#x003C5;" },
-    { "UpTee", "&#x022A5;" },
-    { "UpTeeArrow",    "&#x021A5;" },
-    { "upuparrows",    "&#x021C8;" },
-    { "urcorner",      "&#x0231D;" },
-    { "varepsilon",    "&#x0025B;" },
-    { "varkappa",      "&#x003F0;" },
-    { "varnothing",    "&#x02205;" },
-    { "varphi",        "&#x003C6;" },
-    { "varpi", "&#x003D6;" },
-    { "varpropto",     "&#x0221D;" },
-    { "varrho",        "&#x003F1;" },
-    { "varsigma",      "&#x003C2;" },
-    { "varsubsetneq",  "&#x0228A;&#x0FE00;" },
-    { "varsubsetneqq", "&#x02ACB;&#x0FE00;" },
-    { "varsupsetneq",  "&#x0228B;&#x0FE00;" },
-    { "varsupsetneqq", "&#x02ACC;&#x0FE00;" },
-    { "vartheta",      "&#x003D1;" },
-    { "vartriangleleft",       "&#x022B2;" },
-    { "vartriangleright",      "&#x022B3;" },
-    { "Vee",   "&#x022C1;" },
-    { "vee",   "&#x02228;" },
-    { "Vert",  "&#x02016;" },
-    { "vert",  "&#x0007C;" },
-    { "VerticalBar",   "&#x02223;" },
-    { "VerticalTilde", "&#x02240;" },
-    { "VeryThinSpace", "&#x0200A;" },
-    { "Wedge", "&#x022C0;" },
-    { "wedge", "&#x02227;" },
-    { "wp",    "&#x02118;" },
-    { "wr",    "&#x02240;" },
-    { "zeetrf",        "&#x02128;" },
-    { 0, 0 }
-};
-
-// *******************************************************************
-// MmlDocument
-// *******************************************************************
-
-QString MmlDocument::fontName(QtMmlWidget::MmlFont type) const
-{
-    switch (type) {
-       case QtMmlWidget::NormalFont:
-           return m_normal_font_name;
-       case QtMmlWidget::FrakturFont:
-           return m_fraktur_font_name;
-       case QtMmlWidget::SansSerifFont:
-           return m_sans_serif_font_name;
-       case QtMmlWidget::ScriptFont:
-           return m_script_font_name;
-       case QtMmlWidget::MonospaceFont:
-           return m_monospace_font_name;
-       case QtMmlWidget::DoublestruckFont:
-           return m_doublestruck_font_name;
-    };
-
-    return QString::null;
-}
-
-void MmlDocument::setFontName(QtMmlWidget::MmlFont type, const QString &name)
-{
-    switch (type) {
-       case QtMmlWidget::NormalFont:
-           m_normal_font_name = name;
-           break;
-       case QtMmlWidget::FrakturFont:
-           m_fraktur_font_name = name;
-           break;
-       case QtMmlWidget::SansSerifFont:
-           m_sans_serif_font_name = name;
-           break;
-       case QtMmlWidget::ScriptFont:
-           m_script_font_name = name;
-           break;
-       case QtMmlWidget::MonospaceFont:
-           m_monospace_font_name = name;
-           break;
-       case QtMmlWidget::DoublestruckFont:
-           m_doublestruck_font_name = name;
-           break;
-    };
-}
-
-Mml::NodeType domToMmlNodeType(const QDomNode &dom_node)
-{
-    Mml::NodeType mml_type = Mml::NoNode;
-
-    switch (dom_node.nodeType()) {
-       case QDomNode::ElementNode: {
-           QString tag = dom_node.nodeName();
-           const NodeSpec *spec = mmlFindNodeSpec(tag);
-
-           // treat urecognised tags as mrow
-           if (spec == 0)
-               mml_type = Mml::UnknownNode;
-           else
-               mml_type = spec->type;
-
-           break;
-       }
-       case QDomNode::TextNode:
-           mml_type = Mml::TextNode;
-           break;
-
-       case QDomNode::DocumentNode:
-           mml_type = Mml::MrowNode;
-           break;
-
-       case QDomNode::EntityReferenceNode:
-//         qWarning("EntityReferenceNode: name=\"" + dom_node.nodeName() + "\" value=\"" + dom_node.nodeValue() + "\"");
-           break;
-
-       case QDomNode::AttributeNode:
-       case QDomNode::CDATASectionNode:
-       case QDomNode::EntityNode:
-       case QDomNode::ProcessingInstructionNode:
-       case QDomNode::CommentNode:
-       case QDomNode::DocumentTypeNode:
-       case QDomNode::DocumentFragmentNode:
-       case QDomNode::NotationNode:
-       case QDomNode::BaseNode:
-       case QDomNode::CharacterDataNode:
-           break;
-    }
-
-    return mml_type;
-}
-
-
-MmlDocument::MmlDocument()
-{
-    m_root_node = 0;
-
-    // Some defaults which happen to work on my computer,
-    // but probably won't work on other's
-#if defined(Q_WS_WIN)
-    m_normal_font_name = "Times New Roman";
-#else
-    m_normal_font_name = "Century Schoolbook L";
-#endif
-    m_fraktur_font_name = "Fraktur";
-    m_sans_serif_font_name = "Luxi Sans";
-    m_script_font_name = "Urw Chancery L";
-    m_monospace_font_name = "Luxi Mono";
-    m_doublestruck_font_name = "Doublestruck";
-    m_base_font_point_size = 16;
-    m_foreground_color = Qt::black;
-    m_background_color = Qt::white;
-}
-
-MmlDocument::~MmlDocument()
-{
-    clear();
-}
-
-void MmlDocument::clear()
-{
-    delete m_root_node;
-    m_root_node = 0;
-}
-
-void MmlDocument::dump() const
-{
-    if (m_root_node == 0)
-       return;
-
-    QString indent;
-    _dump(m_root_node, indent);
-}
-
-void MmlDocument::_dump(const MmlNode *node, QString &indent) const
-{
-    if (node == 0) return;
-
-    qWarning("%s", qPrintable(QString(indent + node->toStr())));
-
-    indent += "  ";
-    const MmlNode *child = node->firstChild();
-    for (; child != 0; child = child->nextSibling())
-       _dump(child, indent);
-    indent.truncate(indent.length() - 2);
-}
-
-bool MmlDocument::setContent(QString text, QString *errorMsg,
-                                   int *errorLine, int *errorColumn)
-{
-    clear();
-
-    QString prefix = "<?xml version=\"2.0\"?>\n";
-    prefix.append(entityDeclarations());
-
-    uint prefix_lines = 0;
-    for (int i = 0; i < prefix.length(); ++i) {
-       if (prefix.at(i) == '\n')
-           ++prefix_lines;
-    }
-
-    QDomDocument dom;
-    if (!dom.setContent(prefix + text, false, errorMsg, errorLine, errorColumn)) {
-       if (errorLine != 0)
-           *errorLine -= prefix_lines;
-       return false;
-    }
-
-    // we don't have access to line info from now on
-    if (errorLine != 0) *errorLine = -1;
-    if (errorColumn != 0) *errorColumn = -1;
-
-    bool ok;
-    MmlNode *root_node = domToMml(dom, &ok, errorMsg);
-    if (!ok)
-       return false;
-
-    if (root_node == 0) {
-       if (errorMsg != 0)
-           *errorMsg = "empty document";
-       return false;
-    }
-
-    insertChild(0, root_node, 0);
-    layout();
-
-/*    QFile of("/tmp/dump.xml");
-    of.open(IO_WriteOnly);
-    QTextStream os(&of);
-    os.setEncoding(QTextStream::UnicodeUTF8);
-    os << dom.toString(); */
-
-    return true;
-}
-
-void MmlDocument::layout()
-{
-    if (m_root_node == 0)
-       return;
-
-    m_root_node->layout();
-    m_root_node->stretch();
-//    dump();
-}
-
-bool MmlDocument::insertChild(MmlNode *parent, MmlNode *new_node,
-                               QString *errorMsg)
-{
-    if (new_node == 0)
-       return true;
-
-    Q_ASSERT(new_node->parent() == 0
-               && new_node->nextSibling() == 0
-               && new_node->previousSibling() == 0);
-
-    if (parent != 0) {
-       if (!mmlCheckChildType(parent->nodeType(), new_node->nodeType(), errorMsg))
-           return false;
-    }
-
-    if (parent == 0) {
-       if (m_root_node == 0)
-           m_root_node = new_node;
-       else {
-           MmlNode *n = m_root_node->lastSibling();
-           n->m_next_sibling = new_node;
-           new_node->m_previous_sibling = n;
-       }
-    }
-    else {
-       new_node->m_parent = parent;
-       if (parent->hasChildNodes()) {
-           MmlNode *n = parent->firstChild()->lastSibling();
-           n->m_next_sibling = new_node;
-           new_node->m_previous_sibling = n;
-       }
-       else parent->m_first_child = new_node;
-    }
-
-    return true;
-}
-
-MmlNode *MmlDocument::createNode(NodeType type,
-                                   const MmlAttributeMap &mml_attr,
-                                   const QString &mml_value,
-                                   QString *errorMsg)
-{
-    Q_ASSERT(type != NoNode);
-
-    MmlNode *mml_node = 0;
-
-    if (!mmlCheckAttributes(type, mml_attr, errorMsg))
-       return 0;
-
-    switch (type) {
-       case MiNode:
-           mml_node = new MmlMiNode(this, mml_attr);
-           break;
-       case MnNode:
-           mml_node = new MmlMnNode(this, mml_attr);
-           break;
-       case MfracNode:
-           mml_node = new MmlMfracNode(this, mml_attr);
-           break;
-       case MrowNode:
-           mml_node = new MmlMrowNode(this, mml_attr);
-           break;
-       case MsqrtNode:
-           mml_node = new MmlMsqrtNode(this, mml_attr);
-           break;
-       case MrootNode:
-           mml_node = new MmlMrootNode(this, mml_attr);
-           break;
-       case MsupNode:
-           mml_node = new MmlMsupNode(this, mml_attr);
-           break;
-       case MsubNode:
-           mml_node = new MmlMsubNode(this, mml_attr);
-           break;
-       case MsubsupNode:
-           mml_node = new MmlMsubsupNode(this, mml_attr);
-           break;
-       case MoNode:
-           mml_node = new MmlMoNode(this, mml_attr);
-           break;
-       case MstyleNode:
-           mml_node = new MmlMstyleNode(this, mml_attr);
-           break;
-       case TextNode:
-           mml_node = new MmlTextNode(mml_value, this);
-           break;
-       case MphantomNode:
-           mml_node = new MmlMphantomNode(this, mml_attr);
-           break;
-       case MfencedNode:
-           mml_node = new MmlMfencedNode(this, mml_attr);
-           break;
-       case MtableNode:
-           mml_node = new MmlMtableNode(this, mml_attr);
-           break;
-       case MtrNode:
-           mml_node = new MmlMtrNode(this, mml_attr);
-           break;
-       case MtdNode:
-           mml_node = new MmlMtdNode(this, mml_attr);
-           break;
-       case MoverNode:
-           mml_node = new MmlMoverNode(this, mml_attr);
-           break;
-       case MunderNode:
-           mml_node = new MmlMunderNode(this, mml_attr);
-           break;
-       case MunderoverNode:
-           mml_node = new MmlMunderoverNode(this, mml_attr);
-           break;
-       case MalignMarkNode:
-           mml_node = new MmlMalignMarkNode(this);
-           break;
-       case MerrorNode:
-           mml_node = new MmlMerrorNode(this, mml_attr);
-           break;
-       case MtextNode:
-           mml_node = new MmlMtextNode(this, mml_attr);
-           break;
-       case MpaddedNode:
-           mml_node = new MmlMpaddedNode(this, mml_attr);
-           break;
-       case MspaceNode:
-           mml_node = new MmlMspaceNode(this, mml_attr);
-           break;
-       case UnknownNode:
-           mml_node = new MmlUnknownNode(this, mml_attr);
-           break;
-       case NoNode:
-           mml_node = 0;
-           break;
-    }
-
-    return mml_node;
-}
-
-void MmlDocument::insertOperator(MmlNode *node, const QString &text)
-{
-    MmlNode *text_node = createNode(TextNode, MmlAttributeMap(), text, 0);
-    MmlNode *mo_node = createNode(MoNode, MmlAttributeMap(), QString::null, 0);
-
-    bool ok = insertChild(node, mo_node, 0);
-    Q_ASSERT( ok );
-    ok = insertChild(mo_node, text_node, 0);
-    Q_ASSERT( ok );
-}
-
-MmlNode *MmlDocument::domToMml(const QDomNode &dom_node, bool *ok, QString *errorMsg)
-{
-    // create the node
-
-    Q_ASSERT(ok != 0);
-
-    NodeType mml_type = domToMmlNodeType(dom_node);
-
-    if (mml_type == NoNode) {
-       *ok = true;
-       return 0;
-    }
-
-    QDomNamedNodeMap dom_attr = dom_node.attributes();
-    MmlAttributeMap mml_attr;
-    for (unsigned i = 0; i < dom_attr.length(); ++i) {
-       QDomNode attr_node = dom_attr.item(i);
-       Q_ASSERT(!attr_node.nodeName().isNull());
-       Q_ASSERT(!attr_node.nodeValue().isNull());
-       mml_attr[attr_node.nodeName()] = attr_node.nodeValue();
-    }
-
-    QString mml_value;
-    if (mml_type == TextNode)
-       mml_value = dom_node.nodeValue();
-    MmlNode *mml_node = createNode(mml_type, mml_attr, mml_value, errorMsg);
-    if (mml_node == 0) {
-       *ok = false;
-       return 0;
-    }
-
-    // create the node's children according to the child_spec
-
-    const NodeSpec *spec = mmlFindNodeSpec(mml_type);
-    QDomNodeList dom_child_list = dom_node.childNodes();
-    int child_cnt = dom_child_list.count();
-    MmlNode *mml_child = 0;
-
-    QString separator_list;
-    if (mml_type == MfencedNode)
-       separator_list = mml_node->explicitAttribute("separators", ",");
-
-    switch (spec->child_spec) {
-       case NodeSpec::ChildIgnore:
-           break;
-
-       case NodeSpec::ImplicitMrow:
-
-           if (child_cnt > 0) {
-               mml_child = createImplicitMrowNode(dom_node, ok, errorMsg);
-               if (!*ok) {
-                   delete mml_node;
-                   return 0;
-               }
-
-               if (!insertChild(mml_node, mml_child, errorMsg)) {
-                   delete mml_node;
-                   delete mml_child;
-                   *ok = false;
-                   return 0;
-               }
-           }
-
-           break;
-
-       default:
-           // exact ammount of children specified - check...
-           if (spec->child_spec != child_cnt) {
-               if (errorMsg != 0)
-                   *errorMsg = QString("element ")
-                       + spec->tag
-                       + " requires exactly "
-                       + QString::number(spec->child_spec)
-                       + " arguments, got "
-                       + QString::number(child_cnt);
-               delete mml_node;
-               *ok = false;
-               return 0;
-       }
-
-       // ...and continue just as in ChildAny
-
-       case NodeSpec::ChildAny:
-           if (mml_type == MfencedNode)
-               insertOperator(mml_node, mml_node->explicitAttribute("open", "("));
-
-           for (int i = 0; i < child_cnt; ++i) {
-               QDomNode dom_child = dom_child_list.item(i);
-
-               MmlNode *mml_child = domToMml(dom_child, ok, errorMsg);
-               if (!*ok) {
-                   delete mml_node;
-                   return 0;
-               }
-
-               if (mml_type == MtableNode && mml_child->nodeType() != MtrNode) {
-                   MmlNode *mtr_node = createNode(MtrNode, MmlAttributeMap(), QString::null, 0);
-                   insertChild(mml_node, mtr_node, 0);
-                   if (!insertChild(mtr_node, mml_child, errorMsg)) {
-                       delete mml_node;
-                       delete mml_child;
-                       *ok = false;
-                       return 0;
-                   }
-               }
-               else if (mml_type == MtrNode && mml_child->nodeType() != MtdNode) {
-                   MmlNode *mtd_node = createNode(MtdNode, MmlAttributeMap(), QString::null, 0);
-                   insertChild(mml_node, mtd_node, 0);
-                   if (!insertChild(mtd_node, mml_child, errorMsg)) {
-                       delete mml_node;
-                       delete mml_child;
-                       *ok = false;
-                       return 0;
-                   }
-               }
-               else {
-                   if (!insertChild(mml_node, mml_child, errorMsg)) {
-                       delete mml_node;
-                       delete mml_child;
-                       *ok = false;
-                       return 0;
-                   }
-               }
-
-               if (i < child_cnt - 1 && mml_type == MfencedNode && !separator_list.isEmpty()) {
-                   QChar separator;
-                   if (i >= (int)separator_list.length())
-                       separator = separator_list.at(separator_list.length() - 1);
-                   else
-                       separator = separator_list[i];
-                   insertOperator(mml_node, QString(separator));
-               }
-           }
-
-           if (mml_type == MfencedNode)
-               insertOperator(mml_node, mml_node->explicitAttribute("close", ")"));
-
-           break;
-    }
-
-    *ok = true;
-    return mml_node;
-}
-
-MmlNode *MmlDocument::createImplicitMrowNode(const QDomNode &dom_node, bool *ok,
-                                               QString *errorMsg)
-{
-    QDomNodeList dom_child_list = dom_node.childNodes();
-    int child_cnt = dom_child_list.count();
-
-    if (child_cnt == 0) {
-       *ok = true;
-       return 0;
-    }
-
-    if (child_cnt == 1)
-       return domToMml(dom_child_list.item(0), ok, errorMsg);
-
-    MmlNode *mml_node = createNode(MrowNode, MmlAttributeMap(),
-                                   QString::null, errorMsg);
-    Q_ASSERT(mml_node != 0); // there is no reason in heaven or hell for this to fail
-
-    for (int i = 0; i < child_cnt; ++i) {
-       QDomNode dom_child = dom_child_list.item(i);
-
-       MmlNode *mml_child = domToMml(dom_child, ok, errorMsg);
-       if (!*ok) {
-           delete mml_node;
-           return 0;
-       }
-
-       if (!insertChild(mml_node, mml_child, errorMsg)) {
-           delete mml_node;
-           delete mml_child;
-           *ok = false;
-           return 0;
-       }
-    }
-
-    return mml_node;
-}
-
-void MmlDocument::paint(QPainter *p, const QPoint &pos) const
-{
-    if (m_root_node == 0)
-       return;
-
-/*    p->save();
-    p->setPen(Qt::blue);
-    p->drawLine(pos.x() - 5, pos.y(), pos.x() + 5, pos.y());
-    p->drawLine(pos.x(), pos.y() - 5, pos.x(), pos.y() + 5);
-    p->restore(); */
-
-    QRect mr = m_root_node->myRect();
-    m_root_node->setRelOrigin(pos - mr.topLeft());
-    m_root_node->paint(p);
-}
-
-QSize MmlDocument::size() const
-{
-    if (m_root_node == 0)
-       return QSize(0, 0);
-    return m_root_node->deviceRect().size();
-}
-
-
-
-
-// *******************************************************************
-// MmlNode
-// *******************************************************************
-
-
-MmlNode::MmlNode(NodeType type, MmlDocument *document, const MmlAttributeMap &attribute_map)
-{
-    m_parent = 0;
-    m_first_child = 0;
-    m_next_sibling = 0;
-    m_previous_sibling = 0;
-
-    m_node_type = type;
-    m_document = document;
-    m_attribute_map = attribute_map;
-
-    m_my_rect = m_parent_rect = QRect(0, 0, 0, 0);
-    m_rel_origin = QPoint(0, 0);
-    m_stretched = false;
-}
-
-MmlNode::~MmlNode()
-{
-    MmlNode *n = firstChild();
-    while (n != 0) {
-       MmlNode *tmp = n->nextSibling();
-       delete n;
-       n = tmp;
-    }
-}
-
-static QString rectToStr(const QRect &rect)
-{
-    return QString("[(%1, %2), %3x%4]")
-               .arg(rect.x())
-               .arg(rect.y())
-               .arg(rect.width())
-               .arg(rect.height());
-}
-
-QString MmlNode::toStr() const
-{
-    const NodeSpec *spec = mmlFindNodeSpec(nodeType());
-    Q_ASSERT(spec != 0);
-
-    return QString("%1 %2 mr=%3 pr=%4 dr=%5 ro=(%7, %8) str=%9")
-               .arg(spec->type_str)
-               .arg((quintptr)this, 0, 16)
-               .arg(rectToStr(myRect()))
-               .arg(rectToStr(parentRect()))
-               .arg(rectToStr(deviceRect()))
-               .arg(m_rel_origin.x())
-               .arg(m_rel_origin.y())
-               .arg((int)isStretched());
-}
-
-int MmlNode::interpretSpacing(const QString &value, bool *ok) const
-{
-    return ::interpretSpacing(value, em(), ex(), ok);
-}
-
-int MmlNode::basePos() const
-{
-    QFontMetrics fm(font());
-    return fm.strikeOutPos();
-}
-
-int MmlNode::underlinePos() const
-{
-    QFontMetrics fm(font());
-    return basePos() + fm.underlinePos();
-}
-int MmlNode::overlinePos() const
-{
-    QFontMetrics fm(font());
-    return basePos() - fm.overlinePos();
-}
-
-MmlNode *MmlNode::lastSibling() const
-{
-    const MmlNode *n = this;
-    while (!n->isLastSibling())
-       n = n->nextSibling();
-    return const_cast<MmlNode*>(n);
-}
-
-MmlNode *MmlNode::firstSibling() const
-{
-    const MmlNode *n = this;
-    while (!n->isFirstSibling())
-       n = n->previousSibling();
-    return const_cast<MmlNode*>(n);
-}
-
-int MmlNode::em() const
-{
-    return QFontMetrics(font()).boundingRect('m').width();
-}
-
-int MmlNode::ex() const
-{
-    return QFontMetrics(font()).boundingRect('x').height();
-}
-
-int MmlNode::scriptlevel(const MmlNode *) const
-{
-    int parent_sl;
-    const MmlNode *p = parent();
-    if (p == 0)
-       parent_sl = 0;
-    else
-       parent_sl = p->scriptlevel(this);
-
-    QString expl_sl_str = explicitAttribute("scriptlevel");
-    if (expl_sl_str.isNull())
-       return parent_sl;
-
-    if (expl_sl_str.startsWith("+") || expl_sl_str.startsWith("-")) {
-       bool ok;
-       int expl_sl = expl_sl_str.toInt(&ok);
-       if (ok) {
-           return parent_sl + expl_sl;
-       }
-       else {
-           qWarning("MmlNode::scriptlevel(): bad value: %s", qPrintable(expl_sl_str));
-           return parent_sl;
-       }
-    }
-
-    bool ok;
-    int expl_sl = expl_sl_str.toInt(&ok);
-    if (ok)
-       return expl_sl;
-
-
-    if (expl_sl_str == "+")
-       return parent_sl + 1;
-    else if (expl_sl_str == "-")
-       return parent_sl - 1;
-    else {
-       qWarning("MmlNode::scriptlevel(): could not parse value: \"%s\"", qPrintable(expl_sl_str));
-       return parent_sl;
-    }
-}
-
-QPoint MmlNode::devicePoint(const QPoint &p) const
-{
-    QRect mr = myRect();
-    QRect dr = deviceRect();
-
-    if (isStretched())
-       return dr.topLeft() + QPoint((p.x() - mr.left())*dr.width()/mr.width(),
-                                       (p.y() - mr.top())*dr.height()/mr.height());
-    else
-       return dr.topLeft() + p - mr.topLeft();
-}
-
-QString MmlNode::inheritAttributeFromMrow(const QString &name,
-                                           const QString &def) const
-{
-    const MmlNode *p = this;
-    for (; p != 0; p = p->parent()) {
-       if (p == this || p->nodeType() == MstyleNode) {
-           QString value = p->explicitAttribute(name);
-           if (!value.isNull())
-               return value;
-       }
-    }
-
-    return def;
-}
-
-QColor MmlNode::color() const
-{
-    // If we are child of <merror> return red
-    const MmlNode *p = this;
-    for (; p != 0; p = p->parent()) {
-       if (p->nodeType() == MerrorNode)
-           return QColor("red");
-    }
-
-    QString value_str = inheritAttributeFromMrow("mathcolor");
-    if (value_str.isNull())
-       value_str = inheritAttributeFromMrow("color");
-    if (value_str.isNull())
-       return QColor();
-
-    return QColor(value_str);
-}
-
-QColor MmlNode::background() const
-{
-    QString value_str = inheritAttributeFromMrow("mathbackground");
-    if (value_str.isNull())
-       value_str = inheritAttributeFromMrow("background");
-    if (value_str.isNull())
-       return QColor();
-
-    return QColor(value_str);
-}
-
-static void updateFontAttr(MmlAttributeMap &font_attr, const MmlNode *n,
-                               const QString &name, const QString &preferred_name = QString::null)
-{
-    if (font_attr.contains(preferred_name) || font_attr.contains(name))
-       return;
-    QString value = n->explicitAttribute(name);
-    if (!value.isNull())
-       font_attr[name] = value;
-}
-
-static MmlAttributeMap collectFontAttributes(const MmlNode *node)
-{
-    MmlAttributeMap font_attr;
-
-    for (const MmlNode *n = node; n != 0; n = n->parent()) {
-       if (n == node || n->nodeType() == Mml::MstyleNode) {
-           updateFontAttr(font_attr, n, "mathvariant");
-           updateFontAttr(font_attr, n, "mathsize");
-
-           // depreciated attributes
-           updateFontAttr(font_attr, n, "fontsize", "mathsize");
-           updateFontAttr(font_attr, n, "fontweight", "mathvariant");
-           updateFontAttr(font_attr, n, "fontstyle", "mathvariant");
-           updateFontAttr(font_attr, n, "fontfamily", "mathvariant");
-       }
-    }
-
-    return font_attr;
-}
-
-QFont MmlNode::font() const
-{
-    QFont fn(document()->fontName(QtMmlWidget::NormalFont),
-               document()->baseFontPointSize());
-
-    int ps = fn.pointSize();
-    int sl = scriptlevel();
-    if (sl >= 0) {
-       for (int i = 0; i < sl; ++i)
-           ps = (int)(ps*g_script_size_multiplier);
-    }
-    else {
-       for (int i = 0; i > sl; --i)
-           ps = (int)(ps/g_script_size_multiplier);
-    }
-    if (ps < g_min_font_point_size)
-       ps = g_min_font_point_size;
-    fn.setPointSize(ps);
-
-    int em = QFontMetrics(fn).boundingRect('m').width();
-    int ex = QFontMetrics(fn).boundingRect('x').height();
-
-    MmlAttributeMap font_attr = collectFontAttributes(this);
-
-    if (font_attr.contains("mathvariant")) {
-       QString value = font_attr["mathvariant"];
-
-       bool ok;
-       uint mv = interpretMathVariant(value, &ok);
-
-       if (ok) {
-           if (mv & ScriptMV)
-               fn.setFamily(document()->fontName(QtMmlWidget::ScriptFont));
-
-           if (mv & FrakturMV)
-               fn.setFamily(document()->fontName(QtMmlWidget::FrakturFont));
-
-           if (mv & SansSerifMV)
-               fn.setFamily(document()->fontName(QtMmlWidget::SansSerifFont));
-
-           if (mv & MonospaceMV)
-               fn.setFamily(document()->fontName(QtMmlWidget::MonospaceFont));
-
-           if (mv & DoubleStruckMV)
-               fn.setFamily(document()->fontName(QtMmlWidget::DoublestruckFont));
-
-           if (mv & BoldMV)
-               fn.setBold(true);
-
-           if (mv & ItalicMV)
-               fn.setItalic(true);
-       }
-    }
-
-    if (font_attr.contains("mathsize")) {
-       QString value = font_attr["mathsize"];
-       fn = interpretMathSize(value, fn, em, ex, 0);
-    }
-
-    fn = interpretDepreciatedFontAttr(font_attr, fn, em, ex);
-
-    if (nodeType() == MiNode
-           && !font_attr.contains("mathvariant")
-           && !font_attr.contains("fontstyle")) {
-       const MmlMiNode *mi_node = (const MmlMiNode*) this;
-       if (mi_node->text().length() == 1)
-           fn.setItalic(true);
-    }
-
-    if (nodeType() == MoNode) {
-       fn.setItalic(false);
-       fn.setBold(false);
-    }
-
-    return fn;
-}
-
-QString MmlNode::explicitAttribute(const QString &name, const QString &def) const
-{
-    MmlAttributeMap::const_iterator it = m_attribute_map.find(name);
-    if (it != m_attribute_map.end())
-       return *it;
-    return def;
-}
-
-
-QRect MmlNode::parentRect() const
-{
-    if (isStretched())
-       return m_parent_rect;
-
-    QRect mr = myRect();
-    QPoint ro = relOrigin();
-
-    return QRect(ro + mr.topLeft(), mr.size());
-}
-
-
-void MmlNode::stretchTo(const QRect &rect)
-{
-    m_parent_rect = rect;
-    m_stretched = true;
-}
-
-void MmlNode::setRelOrigin(const QPoint &rel_origin)
-{
-    m_rel_origin = rel_origin + QPoint(-myRect().left(), 0);
-    m_stretched = false;
-}
-
-void MmlNode::updateMyRect()
-{
-    m_my_rect = symbolRect();
-    MmlNode *child = firstChild();
-    for (; child != 0; child = child->nextSibling())
-       m_my_rect |= child->parentRect();
-}
-
-void MmlNode::layout()
-{
-    m_parent_rect = QRect(0, 0, 0, 0);
-    m_stretched = false;
-    m_rel_origin = QPoint(0, 0);
-
-    MmlNode *child = firstChild();
-    for (; child != 0; child = child->nextSibling())
-       child->layout();
-
-    layoutSymbol();
-
-    updateMyRect();
-
-    if (parent() == 0)
-       m_rel_origin = QPoint(0, 0);
-}
-
-
-QRect MmlNode::deviceRect() const
-{
-    if (parent() == 0)
-       return QRect(relOrigin() + myRect().topLeft(), myRect().size());
-
-/*    if (!isStretched()) {
-       QRect pdr = parent()->deviceRect();
-       QRect pmr = parent()->myRect();
-       QRect pr = parentRect();
-       QRect mr = myRect();
-       return QRect(pdr.left() + pr.left() - pmr.left(),
-                       pdr.top()  + pr.top() - pmr.top(),
-                       mr.width(), mr.height());
-    }
-*/
-    QRect pdr = parent()->deviceRect();
-    QRect pr = parentRect();
-    QRect pmr = parent()->myRect();
-
-    float scale_w = 0;
-    if (pmr.width() != 0)
-       scale_w = (float)pdr.width()/pmr.width();
-    float scale_h = 0;
-    if (pmr.height() != 0)
-       scale_h = (float)pdr.height()/pmr.height();
-
-    return QRect(pdr.left() + ROUND((pr.left() - pmr.left())*scale_w),
-                    pdr.top()  + ROUND((pr.top() - pmr.top())*scale_h),
-                    ROUND((pr.width()*scale_w)),
-                    ROUND((pr.height()*scale_h)));
-}
-
-void MmlNode::layoutSymbol()
-{
-    // default behaves like an mrow
-
-    // now lay them out in a neat row, aligning their origins to my origin
-    int w = 0;
-    MmlNode *child = firstChild();
-    for (; child != 0; child = child->nextSibling()) {
-       child->setRelOrigin(QPoint(w, 0));
-       w += child->parentRect().width() + 1;
-    }
-}
-
-void MmlNode::paint(QPainter *p)
-{
-    if (!myRect().isValid())
-        return;
-    p->save();
-    p->setViewport(deviceRect());
-    p->setWindow(myRect());
-
-
-    QColor fg = color();
-    QColor bg = background();
-    if (bg.isValid())
-       p->fillRect(myRect(), bg);
-    if (fg.isValid())
-       p->setPen(color());
-
-    MmlNode *child = firstChild();
-    for (; child != 0; child = child->nextSibling())
-       child->paint(p);
-
-    paintSymbol(p);
-
-    p->restore();
-}
-
-void MmlNode::paintSymbol(QPainter *p) const
-{
-    if (g_draw_frames && myRect().isValid()) {
-       p->save();
-       p->setPen(Qt::red);
-       p->drawRect(m_my_rect);
-       QPen pen = p->pen();
-       pen.setStyle(Qt::DotLine);
-       p->setPen(pen);
-       p->drawLine(myRect().left(), 0, myRect().right(), 0);
-       p->restore();
-    }
-}
-
-void MmlNode::stretch()
-{
-    MmlNode *child = firstChild();
-    for (; child != 0; child = child->nextSibling())
-       child->stretch();
-}
-
-QString MmlTokenNode::text() const
-{
-    QString result;
-
-    const MmlNode *child = firstChild();
-    for (; child != 0; child = child->nextSibling()) {
-       if (child->nodeType() != TextNode) continue;
-       if (!result.isEmpty())
-           result += ' ';
-       result += ((MmlTextNode*)child)->text();
-    }
-
-    return result;
-}
-
-MmlNode *MmlMfracNode::numerator() const
-{
-    MmlNode *node = firstChild();
-    Q_ASSERT(node != 0);
-    return node;
-}
-
-MmlNode *MmlMfracNode::denominator() const
-{
-    MmlNode *node = numerator()->nextSibling();
-    Q_ASSERT(node != 0);
-    return node;
-}
-
-QRect MmlMfracNode::symbolRect() const
-{
-    int num_width = numerator()->myRect().width();
-    int denom_width = denominator()->myRect().width();
-    int my_width = qMax(num_width, denom_width) + 4;
-
-    return QRect(-my_width/2, 0, my_width, 1);
-}
-
-void MmlMfracNode::layoutSymbol()
-{
-    MmlNode *num = numerator();
-    MmlNode *denom = denominator();
-
-    QRect num_rect = num->myRect();
-    QRect denom_rect = denom->myRect();
-
-    int spacing = (int)(g_mfrac_spacing*(num_rect.height() + denom_rect.height()));
-
-    num->setRelOrigin(QPoint(-num_rect.width()/2, - spacing - num_rect.bottom()));
-    denom->setRelOrigin(QPoint(-denom_rect.width()/2, spacing - denom_rect.top()));
-}
-
-static bool zeroLineThickness(const QString &s)
-{
-    if (s.length() == 0 || !s[0].isDigit())
-       return false;
-
-    for (int i = 0; i < s.length(); ++i) {
-       QChar c = s.at(i);
-       if (c.isDigit() && c != '0')
-           return false;
-    }
-    return true;
-}
-
-void MmlMfracNode::paintSymbol(QPainter *p) const
-{
-    QString linethickness_str = inheritAttributeFromMrow("linethickness", "1");
-
-    /* InterpretSpacing returns an int, which might be 0 even if the thickness
-       is > 0, though very very small. That's ok, because the painter then paints
-       a line of thickness 1. However, we have to run this check if the line
-       thickness really is zero */
-    if (!zeroLineThickness(linethickness_str)) {
-       bool ok;
-       int linethickness = interpretSpacing(linethickness_str, &ok);
-       if (!ok)
-           linethickness = 1;
-
-       p->save();
-       QPen pen = p->pen();
-       pen.setWidth(linethickness);
-       p->setPen(pen);
-       QSize s = myRect().size();
-       p->drawLine(-s.width()/2, 0, s.width()/2, 0);
-       p->restore();
-    }
-}
-
-MmlNode *MmlRootBaseNode::base() const
-{
-    MmlNode *node = firstChild();
-//    Q_ASSERT(node != 0);
-    return node;
-}
-
-MmlNode *MmlRootBaseNode::index() const
-{
-    MmlNode *b = base();
-    if (b == 0)
-       return 0;
-    return b->nextSibling();
-}
-
-int MmlRootBaseNode::scriptlevel(const MmlNode *child) const
-{
-    int sl = MmlNode::scriptlevel();
-
-    MmlNode *i = index();
-    if (child != 0 && child == i)
-       return sl + 1;
-    else
-       return sl;
-}
-
-
-QRect MmlRootBaseNode::symbolRect() const
-{
-    MmlNode *b = base();
-    QRect base_rect;
-    if (b == 0)
-       base_rect = QRect(0, 0, 1, 1);
-    else
-       base_rect = base()->myRect();
-
-    int margin = (int)(g_mroot_base_margin*base_rect.height());
-    int tw = tailWidth();
-
-    return QRect(-tw, base_rect.top() - margin, tw,
-                   base_rect.height() + 2*margin);
-}
-
-int MmlRootBaseNode::tailWidth() const
-{
-    QFontMetrics fm(font());
-    return fm.boundingRect(g_radical_char).width();
-}
-
-void MmlRootBaseNode::layoutSymbol()
-{
-    MmlNode *b = base();
-    QSize base_size;
-    if (b != 0) {
-       b->setRelOrigin(QPoint(0, 0));
-       base_size = base()->myRect().size();
-    } else
-       base_size = QSize(1, 1);
-
-    MmlNode *i = index();
-    if (i != 0) {
-       int tw = tailWidth();
-
-       QRect i_rect = i->myRect();
-       i->setRelOrigin(QPoint(-tw/2 - i_rect.width(),
-                               -i_rect.bottom() - 4));
-    }
-}
-
-void MmlRootBaseNode::paintSymbol(QPainter *p) const
-{
-    QFont fn = font();
-
-    p->save();
-
-    QRect sr = symbolRect();
-
-    QRect r = sr;
-    r.moveTopLeft(devicePoint(sr.topLeft()));
-    p->setViewport(r);
-    p->setWindow(QFontMetrics(fn).boundingRect(g_radical_char));
-    p->setFont(font());
-    p->drawText(0, 0, QString(g_radical_char));
-
-    p->restore();
-
-    p->drawLine(sr.right(), sr.top(), myRect().right(), sr.top());
-}
-
-MmlTextNode::MmlTextNode(const QString &text, MmlDocument *document)
-    : MmlNode(TextNode, document, MmlAttributeMap())
-{
-    m_text = text;
-    // Trim whitespace from ends, but keep nbsp and thinsp
-    m_text.remove(QRegExp("^[^\\S\\x00a0\\x2009]+"));
-    m_text.remove(QRegExp("[^\\S\\x00a0\\x2009]+$"));
-
-    if (m_text == QString(QChar(0x62, 0x20))        // &InvisibleTimes;
-           || m_text == QString(QChar(0x63, 0x20))  // &InvisibleComma;
-           || m_text == QString(QChar(0x61, 0x20))) // &ApplyFunction;
-       m_text = "";
-}
-
-QString MmlTextNode::toStr() const
-{
-    return MmlNode::toStr() + ", text=\"" + m_text + "\"";
-}
-
-void MmlTextNode::paintSymbol(QPainter *p) const
-{
-    MmlNode::paintSymbol(p);
-
-    QFont fn = font();
-
-    QFontInfo fi(fn);
-//    qWarning("MmlTextNode::paintSymbol(): requested: %s, used: %s, size=%d, italic=%d, bold=%d, text=\"%s\" sl=%d",
-//             fn.family().latin1(), fi.family().latin1(), fi.pointSize(), (int)fi.italic(), (int)fi.bold(), m_text.latin1(), scriptlevel());
-
-    QFontMetrics fm(fn);
-
-    p->save();
-    p->setFont(fn);
-
-    p->drawText(0, fm.strikeOutPos(), m_text);
-    p->restore();
-}
-
-QRect MmlTextNode::symbolRect() const
-{
-    QFontMetrics fm(font());
-
-    QRect br = fm.tightBoundingRect(m_text);
-    br.translate(0, fm.strikeOutPos());
-
-    return br;
-}
-
-MmlNode *MmlSubsupBaseNode::base() const
-{
-    MmlNode *b = firstChild();
-    Q_ASSERT(b != 0);
-    return b;
-}
-
-MmlNode *MmlSubsupBaseNode::sscript() const
-{
-    MmlNode *s = base()->nextSibling();
-    Q_ASSERT(s != 0);
-    return s;
-}
-
-int MmlSubsupBaseNode::scriptlevel(const MmlNode *child) const
-{
-    int sl = MmlNode::scriptlevel();
-
-    MmlNode *s = sscript();
-    if (child != 0 && child == s)
-       return sl + 1;
-    else
-       return sl;
-}
-
-void MmlMsupNode::layoutSymbol()
-{
-    MmlNode *b = base();
-    MmlNode *s = sscript();
-
-    b->setRelOrigin(QPoint(-b->myRect().width(), 0));
-    s->setRelOrigin(QPoint(0, b->myRect().top()));
-}
-
-void MmlMsubNode::layoutSymbol()
-{
-    MmlNode *b = base();
-    MmlNode *s = sscript();
-
-    b->setRelOrigin(QPoint(-b->myRect().width(), 0));
-    s->setRelOrigin(QPoint(0, b->myRect().bottom()));
-}
-
-MmlNode *MmlMsubsupNode::base() const
-{
-    MmlNode *b = firstChild();
-    Q_ASSERT(b != 0);
-    return b;
-}
-
-MmlNode *MmlMsubsupNode::subscript() const
-{
-    MmlNode *sub = base()->nextSibling();
-    Q_ASSERT(sub != 0);
-    return sub;
-}
-
-MmlNode *MmlMsubsupNode::superscript() const
-{
-    MmlNode *sup = subscript()->nextSibling();
-    Q_ASSERT(sup != 0);
-    return sup;
-}
-
-void MmlMsubsupNode::layoutSymbol()
-{
-    MmlNode *b = base();
-    MmlNode *sub = subscript();
-    MmlNode *sup = superscript();
-
-    b->setRelOrigin(QPoint(-b->myRect().width(), 0));
-    sub->setRelOrigin(QPoint(0, b->myRect().bottom()));
-    sup->setRelOrigin(QPoint(0, b->myRect().top()));
-}
-
-int MmlMsubsupNode::scriptlevel(const MmlNode *child) const
-{
-    int sl = MmlNode::scriptlevel();
-
-    MmlNode *sub = subscript();
-    MmlNode *sup = superscript();
-
-    if (child != 0 && (child == sup || child == sub))
-       return sl + 1;
-    else
-       return sl;
-}
-
-QString MmlMoNode::toStr() const
-{
-    return MmlNode::toStr() + QString(" form=%1").arg((int)form());
-}
-
-void MmlMoNode::layoutSymbol()
-{
-    MmlNode *child = firstChild();
-    if (child == 0)
-       return;
-
-    child->setRelOrigin(QPoint(0, 0));
-
-    if (m_oper_spec == 0)
-       m_oper_spec = mmlFindOperSpec(text(), form());
-}
-
-MmlMoNode::MmlMoNode(MmlDocument *document, const MmlAttributeMap &attribute_map)
-    : MmlTokenNode(MoNode, document, attribute_map)
-{
-    m_oper_spec = 0;
-}
-
-QString MmlMoNode::dictionaryAttribute(const QString &name) const
-{
-    const MmlNode *p = this;
-    for (; p != 0; p = p->parent()) {
-       if (p == this || p->nodeType() == MstyleNode) {
-           QString expl_attr = p->explicitAttribute(name);
-           if (!expl_attr.isNull())
-               return expl_attr;
-       }
-    }
-
-    return mmlDictAttribute(name, m_oper_spec);
-}
-
-Mml::FormType MmlMoNode::form() const
-{
-    QString value_str = inheritAttributeFromMrow("form");
-    if (!value_str.isNull()) {
-       bool ok;
-       FormType value = interpretForm(value_str, &ok);
-       if (ok)
-           return value;
-       else
-           qWarning("Could not convert %s to form", value_str.toLatin1().data());
-
-    }
-
-    // Default heuristic.
-    if (firstSibling() == (MmlNode*)this && lastSibling() != (MmlNode*)this)
-       return PrefixForm;
-    else if (lastSibling() == (MmlNode*)this && firstSibling() != (MmlNode*)this)
-       return PostfixForm;
-    else return InfixForm;
-
-}
-
-void MmlMoNode::stretch()
-{
-    if (parent() == 0)
-       return;
-
-    if (m_oper_spec == 0)
-       return;
-
-    if (m_oper_spec->stretch_dir == OperSpec::HStretch
-           && parent()->nodeType() == MrowNode
-           && (nextSibling() != 0 || previousSibling() != 0))
-       return;
-
-    QRect pmr = parent()->myRect();
-    QRect pr = parentRect();
-
-    switch (m_oper_spec->stretch_dir) {
-       case OperSpec::VStretch:
-           stretchTo(QRect(pr.left(), pmr.top(), pr.width(), pmr.height()));
-           break;
-       case OperSpec::HStretch:
-           stretchTo(QRect(pmr.left(), pr.top(), pmr.width(), pr.height()));
-           break;
-       case OperSpec::HVStretch:
-           stretchTo(pmr);
-           break;
-       case OperSpec::NoStretch:
-           break;
-    }
-}
-
-int MmlMoNode::lspace() const
-{
-    Q_ASSERT(m_oper_spec != 0);
-    if (parent() == 0
-           || (parent()->nodeType() != MrowNode
-                   && parent()->nodeType() != MfencedNode
-                   && parent()->nodeType() != UnknownNode)
-           || (previousSibling() == 0 && nextSibling() == 0))
-       return 0;
-    else
-       return interpretSpacing(dictionaryAttribute("lspace"), 0);
-}
-
-int MmlMoNode::rspace() const
-{
-    Q_ASSERT(m_oper_spec != 0);
-    if (parent() == 0
-           || (parent()->nodeType() != MrowNode
-                   && parent()->nodeType() != MfencedNode
-                   && parent()->nodeType() != UnknownNode)
-           || (previousSibling() == 0 && nextSibling() == 0))
-       return 0;
-    else
-       return interpretSpacing(dictionaryAttribute("rspace"), 0);
-}
-
-QRect MmlMoNode::symbolRect() const
-{
-    const MmlNode *child = firstChild();
-
-    if (child == 0)
-       return QRect(0, 0, 0, 0);
-
-    QRect cmr = child->myRect();
-
-    return QRect(-lspace(), cmr.top(),
-                  cmr.width() + lspace() + rspace(), cmr.height());
-}
-
-int MmlMtableNode::rowspacing() const
-{
-    QString value = explicitAttribute("rowspacing");
-    if (value.isNull())
-       return ex();
-    bool ok;
-    int r = interpretSpacing(value, &ok);
-
-    if (ok)
-       return r;
-    else
-       return ex();
-}
-
-int MmlMtableNode::columnspacing() const
-{
-    QString value = explicitAttribute("columnspacing");
-    if (value.isNull())
-       return (int)(0.8*em());
-    bool ok;
-    int r = interpretSpacing(value, &ok);
-
-    if (ok)
-       return r;
-    else
-       return (int)(0.8*em());
-}
-
-uint MmlMtableNode::CellSizeData::colWidthSum() const
-{
-    uint w = 0;
-    for (int i = 0; i < col_widths.count(); ++i)
-       w += col_widths[i];
-    return w;
-}
-
-uint MmlMtableNode::CellSizeData::rowHeightSum() const
-{
-    uint h = 0;
-    for (int i = 0; i < row_heights.count(); ++i)
-       h += row_heights[i];
-    return h;
-}
-
-void MmlMtableNode::CellSizeData::init(const MmlNode *first_row)
-{
-    col_widths.clear();
-    row_heights.clear();
-
-    const MmlNode *mtr = first_row;
-    for (; mtr != 0; mtr = mtr->nextSibling()) {
-
-       Q_ASSERT(mtr->nodeType() == MtrNode);
-
-       int col_cnt = 0;
-       const MmlNode *mtd = mtr->firstChild();
-       for (; mtd != 0; mtd = mtd->nextSibling(), ++col_cnt) {
-
-           Q_ASSERT(mtd->nodeType() == MtdNode);
-
-           QRect mtdmr = mtd->myRect();
-
-           if (col_cnt == col_widths.count())
-               col_widths.append(mtdmr.width());
-           else
-               col_widths[col_cnt] = qMax(col_widths[col_cnt], mtdmr.width());
-       }
-
-       row_heights.append(mtr->myRect().height());
-    }
-}
-
-void MmlMtableNode::layoutSymbol()
-{
-    // Obtain natural widths of columns
-    m_cell_size_data.init(firstChild());
-
-    int col_spc = columnspacing();
-    int row_spc = rowspacing();
-    int frame_spc_hor = framespacing_hor();
-    QString columnwidth_attr = explicitAttribute("columnwidth", "auto");
-
-    // Is table width set by user? If so, set col_width_sum and never ever change it.
-    int col_width_sum = m_cell_size_data.colWidthSum();
-    bool width_set_by_user = false;
-    QString width_str = explicitAttribute("width", "auto");
-    if (width_str != "auto") {
-       bool ok;
-
-       int w = interpretSpacing(width_str, &ok);
-       if (ok) {
-           col_width_sum = w
-                           - col_spc*(m_cell_size_data.numCols() - 1)
-                           - frame_spc_hor*2;
-           width_set_by_user = true;
-       }
-    }
-
-    // Find out what kind of columns we are dealing with and set the widths of
-    // statically sized columns.
-    int fixed_width_sum = 0;         // sum of widths of statically sized set columns
-    int auto_width_sum = 0;          // sum of natural widths of auto sized columns
-    int relative_width_sum = 0;       // sum of natural widths of relatively sized columns
-    double relative_fraction_sum = 0; // total fraction of width taken by relatively
-                                     // sized columns
-    int i;
-    for (i = 0; i < m_cell_size_data.numCols(); ++i) {
-       QString value = interpretListAttr(columnwidth_attr, i, "auto");
-
-       // Is it an auto sized column?
-       if (value == "auto" || value == "fit") {
-           auto_width_sum += m_cell_size_data.col_widths[i];
-           continue;
-       }
-
-       // Is it a statically sized column?
-       bool ok;
-       int w = interpretSpacing(value, &ok);
-       if (ok) {
-           // Yup, sets its width to the user specified value
-           m_cell_size_data.col_widths[i] = w;
-           fixed_width_sum += w;
-           continue;
-       }
-
-       // Is it a relatively sized column?
-       if (value.endsWith("%")) {
-           value.truncate(value.length() - 1);
-           double factor = value.toFloat(&ok);
-           if (ok && !value.isEmpty()) {
-               factor /= 100.0;
-               relative_width_sum += m_cell_size_data.col_widths[i];
-               relative_fraction_sum += factor;
-               if (!width_set_by_user) {
-                   // If the table width was not set by the user, we are free to increase
-                   // it so that the width of this column will be >= than its natural width
-                   int min_col_width_sum = ROUND(m_cell_size_data.col_widths[i]/factor);
-                   if (min_col_width_sum > col_width_sum)
-                       col_width_sum = min_col_width_sum;
-               }
-               continue;
-           }
-           else
-               qWarning("MmlMtableNode::layoutSymbol(): could not parse value %s%%", value.toLatin1().data());
-       }
-
-       // Relatively sized column, but we failed to parse the factor. Treat is like an auto
-       // column.
-       auto_width_sum += m_cell_size_data.col_widths[i];
-    }
-
-    // Work out how much space remains for the auto olumns, after allocating
-    // the statically sized and the relatively sized columns.
-    int required_auto_width_sum = col_width_sum
-                                   - ROUND(relative_fraction_sum*col_width_sum)
-                                   - fixed_width_sum;
-
-    if (!width_set_by_user && required_auto_width_sum < auto_width_sum) {
-       if (relative_fraction_sum < 1)
-           col_width_sum = ROUND((fixed_width_sum + auto_width_sum)/(1 - relative_fraction_sum));
-       else
-           col_width_sum = fixed_width_sum + auto_width_sum + relative_width_sum;
-       required_auto_width_sum = auto_width_sum;
-    }
-
-    // Ratio by which we have to shring/grow all auto sized columns to make it all fit
-    double auto_width_scale = 1;
-    if (auto_width_sum > 0)
-       auto_width_scale = (float)required_auto_width_sum/auto_width_sum;
-
-    // Set correct sizes for the auto sized and the relatively sized columns.
-    for (i = 0; i < m_cell_size_data.numCols(); ++i) {
-       QString value = interpretListAttr(columnwidth_attr, i, "auto");
-
-       // Is it a relatively sized column?
-       if (value.endsWith("%")) {
-           bool ok;
-           int w = interpretPercentSpacing(value, col_width_sum, &ok);
-           if (ok)
-               m_cell_size_data.col_widths[i] = w;
-           else
-               // We're treating parsing errors here as auto sized columns
-               m_cell_size_data.col_widths[i]
-                       = ROUND(auto_width_scale*m_cell_size_data.col_widths[i]);
-       }
-       // Is it an auto sized column?
-       else if (value == "auto") {
-           m_cell_size_data.col_widths[i]
-                   = ROUND(auto_width_scale*m_cell_size_data.col_widths[i]);
-       }
-    }
-
-    QString s;
-    QList<int> &col_widths = m_cell_size_data.col_widths;
-    for (i = 0; i < col_widths.count(); ++i) {
-       s += QString("[w=%1 %2%%]")
-               .arg(col_widths[i])
-               .arg(100*col_widths[i]/m_cell_size_data.colWidthSum());
-    }
-//    qWarning(s);
-
-    m_content_width = m_cell_size_data.colWidthSum()
-                   + col_spc*(m_cell_size_data.numCols() - 1);
-    m_content_height = m_cell_size_data.rowHeightSum()
-                   + row_spc*(m_cell_size_data.numRows() - 1);
-
-    int bottom = -m_content_height/2;
-    MmlNode *child = firstChild();
-    for (; child != 0; child = child->nextSibling()) {
-       Q_ASSERT(child->nodeType() == MtrNode);
-       MmlMtrNode *row = (MmlMtrNode*) child;
-
-       row->layoutCells(m_cell_size_data.col_widths, col_spc);
-       QRect rmr = row->myRect();
-       row->setRelOrigin(QPoint(0, bottom - rmr.top()));
-       bottom += rmr.height() + row_spc;
-    }
-}
-
-QRect MmlMtableNode::symbolRect() const
-{
-    int frame_spc_hor = framespacing_hor();
-    int frame_spc_ver = framespacing_ver();
-
-    return QRect(-frame_spc_hor,
-                   -m_content_height/2 - frame_spc_ver,
-                   m_content_width + 2*frame_spc_hor,
-                   m_content_height + 2*frame_spc_ver);
-}
-
-Mml::FrameType MmlMtableNode::frame() const
-{
-    QString value = explicitAttribute("frame", "none");
-    return interpretFrameType(value, 0, 0);
-}
-
-Mml::FrameType MmlMtableNode::columnlines(int idx) const
-{
-    QString value = explicitAttribute("columnlines", "none");
-    return interpretFrameType(value, idx, 0);
-}
-
-Mml::FrameType MmlMtableNode::rowlines(int idx) const
-{
-    QString value = explicitAttribute("rowlines", "none");
-    return interpretFrameType(value, idx, 0);
-}
-
-void MmlMtableNode::paintSymbol(QPainter *p) const
-{
-    FrameType f = frame();
-    if (f != FrameNone) {
-       p->save();
-
-       QPen pen = p->pen();
-       if (f == FrameDashed)
-           pen.setStyle(Qt::DashLine);
-       else
-           pen.setStyle(Qt::SolidLine);
-       p->setPen(pen);
-       p->drawRect(myRect());
-
-       p->restore();
-    }
-
-    p->save();
-
-    int col_spc = columnspacing();
-    int row_spc = rowspacing();
-
-    QPen pen = p->pen();
-    int col_offset = 0;
-    int i;
-    for (i = 0; i < m_cell_size_data.numCols() - 1; ++i) {
-       FrameType f = columnlines(i);
-       col_offset += m_cell_size_data.col_widths[i];
-
-       if (f != FrameNone) {
-           if (f == FrameDashed)
-               pen.setStyle(Qt::DashLine);
-           else if (f == FrameSolid)
-               pen.setStyle(Qt::SolidLine);
-
-           p->setPen(pen);
-           int x = col_offset + col_spc/2;
-           p->drawLine(x, -m_content_height/2, x, m_content_height/2 );
-       }
-       col_offset += col_spc;
-    }
-
-    int row_offset = 0;
-    for (i = 0; i < m_cell_size_data.numRows() - 1; ++i) {
-       FrameType f = rowlines(i);
-       row_offset += m_cell_size_data.row_heights[i];
-
-       if (f != FrameNone) {
-           if (f == FrameDashed)
-               pen.setStyle(Qt::DashLine);
-           else if (f == FrameSolid)
-               pen.setStyle(Qt::SolidLine);
-
-           p->setPen(pen);
-           int y = row_offset + row_spc/2 - m_content_height/2;
-           p->drawLine(0, y, m_content_width, y);
-       }
-       row_offset += row_spc;
-    }
-
-    p->restore();
-}
-
-int MmlMtableNode::framespacing_ver() const
-{
-    if (frame() == FrameNone)
-       return (int)(0.2*em());
-
-    QString value = explicitAttribute("framespacing", "0.4em 0.5ex");
-
-    bool ok;
-    FrameSpacing fs = interpretFrameSpacing(value, em(), ex(), &ok);
-    if (ok)
-       return fs.m_ver;
-    else
-       return (int)(0.5*ex());
-}
-
-int MmlMtableNode::framespacing_hor() const
-{
-    if (frame() == FrameNone)
-       return (int)(0.2*em());
-
-    QString value = explicitAttribute("framespacing", "0.4em 0.5ex");
-
-    bool ok;
-    FrameSpacing fs = interpretFrameSpacing(value, em(), ex(), &ok);
-    if (ok)
-       return fs.m_hor;
-    else
-       return (int)(0.4*em());
-}
-
-void MmlMtrNode::layoutCells(const QList<int> &col_widths,
-                               int col_spc)
-{
-    QRect mr = myRect();
-
-    MmlNode *child = firstChild();
-    int col_offset = 0;
-    uint colnum = 0;
-    for (; child != 0; child = child->nextSibling(), ++colnum) {
-       Q_ASSERT(child->nodeType() == MtdNode);
-       MmlMtdNode *mtd = (MmlMtdNode*) child;
-
-       QRect r = QRect(0, mr.top(), col_widths[colnum], mr.height());
-       mtd->setMyRect(r);
-       mtd->setRelOrigin(QPoint(col_offset, 0));
-       col_offset += col_widths[colnum] + col_spc;
-    }
-
-    updateMyRect();
-}
-
-int MmlMtdNode::scriptlevel(const MmlNode *child) const
-{
-    int sl = MmlNode::scriptlevel();
-    if (child != 0 && child == firstChild())
-       return sl + m_scriptlevel_adjust;
-    else
-       return sl;
-}
-
-void MmlMtdNode::setMyRect(const QRect &rect)
-{
-    MmlNode::setMyRect(rect);
-    MmlNode *child = firstChild();
-    if (child == 0)
-       return;
-
-    if (rect.width() < child->myRect().width()) {
-       while (rect.width() < child->myRect().width()
-                   && child->font().pointSize() > g_min_font_point_size) {
-
-//         qWarning("MmlMtdNode::setMyRect(): rect.width()=%d, child()->myRect().width=%d sl=%d",
-//                     rect.width(), child->myRect().width(), m_scriptlevel_adjust);
-
-           ++m_scriptlevel_adjust;
-           child->layout();
-       }
-
-//     qWarning("MmlMtdNode::setMyRect(): rect.width()=%d, child()->myRect().width=%d sl=%d",
-//                 rect.width(), child->myRect().width(), m_scriptlevel_adjust);
-    }
-
-    QRect mr = myRect();
-    QRect cmr = child->myRect();
-
-    QPoint child_rel_origin;
-
-    switch (columnalign()) {
-       case ColAlignLeft:
-           child_rel_origin.setX(0);
-           break;
-       case ColAlignCenter:
-           child_rel_origin.setX(mr.left() + (mr.width() - cmr.width())/2);
-           break;
-       case ColAlignRight:
-           child_rel_origin.setX(mr.right() - cmr.width());
-           break;
-    }
-
-    switch (rowalign()) {
-       case RowAlignTop:
-           child_rel_origin.setY(mr.top() - cmr.top());
-           break;
-       case RowAlignCenter:
-       case RowAlignBaseline:
-           child_rel_origin.setY(mr.top() -cmr.top() + (mr.height() - cmr.height())/2);
-           break;
-       case RowAlignBottom:
-           child_rel_origin.setY(mr.bottom() - cmr.bottom());
-           break;
-       case RowAlignAxis:
-           child_rel_origin.setY(0);
-           break;
-    }
-
-    child->setRelOrigin(child_rel_origin);
-}
-
-uint MmlMtdNode::colNum()
-{
-    MmlNode *syb = previousSibling();
-
-    uint i = 0;
-    for (; syb != 0; syb = syb->previousSibling())
-       ++i;
-
-    return i;
-}
-
-uint MmlMtdNode::rowNum()
-{
-    MmlNode *row = parent()->previousSibling();
-
-    uint i = 0;
-    for (; row != 0; row = row->previousSibling())
-       ++i;
-
-    return i;
-}
-
-MmlMtdNode::ColAlign MmlMtdNode::columnalign()
-{
-    QString val = explicitAttribute("columnalign");
-    if (!val.isNull())
-       return interpretColAlign(val, 0, 0);
-
-    MmlNode *node = parent(); // <mtr>
-    if (node == 0)
-       return ColAlignCenter;
-
-    uint colnum = colNum();
-    val = node->explicitAttribute("columnalign");
-    if (!val.isNull())
-       return interpretColAlign(val, colnum, 0);
-
-    node = node->parent(); // <mtable>
-    if (node == 0)
-       return ColAlignCenter;
-
-    val = node->explicitAttribute("columnalign");
-    if (!val.isNull())
-       return interpretColAlign(val, colnum, 0);
-
-    return ColAlignCenter;
-}
-
-MmlMtdNode::RowAlign MmlMtdNode::rowalign()
-{
-    QString val = explicitAttribute("rowalign");
-    if (!val.isNull())
-       return interpretRowAlign(val, 0, 0);
-
-    MmlNode *node = parent(); // <mtr>
-    if (node == 0)
-       return RowAlignAxis;
-
-    uint rownum = rowNum();
-    val = node->explicitAttribute("rowalign");
-    if (!val.isNull())
-       return interpretRowAlign(val, rownum, 0);
-
-    node = node->parent(); // <mtable>
-    if (node == 0)
-       return RowAlignAxis;
-
-    val = node->explicitAttribute("rowalign");
-    if (!val.isNull())
-       return interpretRowAlign(val, rownum, 0);
-
-    return RowAlignAxis;
-}
-
-void MmlMoverNode::layoutSymbol()
-{
-    MmlNode *base = firstChild();
-    Q_ASSERT(base != 0);
-    MmlNode *over = base->nextSibling();
-    Q_ASSERT(over != 0);
-
-    QRect base_rect = base->myRect();
-    QRect over_rect = over->myRect();
-
-    int spacing = (int)(g_mfrac_spacing*(over_rect.height()
-                                         + base_rect.height()));
-
-    base->setRelOrigin(QPoint(-base_rect.width()/2, 0));
-    over->setRelOrigin(QPoint(-over_rect.width()/2,
-                              base_rect.top() - spacing - over_rect.bottom()));
-}
-
-int MmlMoverNode::scriptlevel(const MmlNode *node) const
-{
-    MmlNode *base = firstChild();
-    Q_ASSERT(base != 0);
-    MmlNode *over = base->nextSibling();
-    Q_ASSERT(over != 0);
-
-    int sl = MmlNode::scriptlevel();
-    if (node != 0 && node == over)
-       return sl + 1;
-    else
-       return sl;
-}
-
-void MmlMunderNode::layoutSymbol()
-{
-    MmlNode *base = firstChild();
-    Q_ASSERT(base != 0);
-    MmlNode *under = base->nextSibling();
-    Q_ASSERT(under != 0);
-
-    QRect base_rect = base->myRect();
-    QRect under_rect = under->myRect();
-
-    int spacing = (int)(g_mfrac_spacing*(under_rect.height() + base_rect.height()));
-
-    base->setRelOrigin(QPoint(-base_rect.width()/2, 0));
-    under->setRelOrigin(QPoint(-under_rect.width()/2, base_rect.bottom() + spacing - under_rect.top()));
-}
-
-int MmlMunderNode::scriptlevel(const MmlNode *node) const
-{
-    MmlNode *base = firstChild();
-    Q_ASSERT(base != 0);
-    MmlNode *under = base->nextSibling();
-    Q_ASSERT(under != 0);
-
-    int sl = MmlNode::scriptlevel();
-    if (node != 0 && node == under)
-       return sl + 1;
-    else
-       return sl;
-}
-
-void MmlMunderoverNode::layoutSymbol()
-{
-    MmlNode *base = firstChild();
-    Q_ASSERT(base != 0);
-    MmlNode *under = base->nextSibling();
-    Q_ASSERT(under != 0);
-    MmlNode *over = under->nextSibling();
-    Q_ASSERT(over != 0);
-
-    QRect base_rect = base->myRect();
-    QRect under_rect = under->myRect();
-    QRect over_rect = over->myRect();
-
-    int spacing = (int)(g_mfrac_spacing*(   base_rect.height()
-                                               + under_rect.height()
-                                               + over_rect.height())   );
-
-    base->setRelOrigin(QPoint(-base_rect.width()/2, 0));
-    under->setRelOrigin(QPoint(-under_rect.width()/2, base_rect.bottom() + spacing - under_rect.top()));
-    over->setRelOrigin(QPoint(-over_rect.width()/2, base_rect.top() - spacing - under_rect.bottom()));
-}
-
-int MmlMunderoverNode::scriptlevel(const MmlNode *node) const
-{
-    MmlNode *base = firstChild();
-    Q_ASSERT(base != 0);
-    MmlNode *under = base->nextSibling();
-    Q_ASSERT(under != 0);
-    MmlNode *over = under->nextSibling();
-    Q_ASSERT(over != 0);
-
-    int sl = MmlNode::scriptlevel();
-    if (node != 0 && (node == under || node == over))
-       return sl + 1;
-    else
-       return sl;
-}
-
-int MmlMpaddedNode::interpretSpacing(QString value, int base_value, bool *ok) const
-{
-    if (ok != 0)
-       *ok = false;
-
-    value.replace(' ', "");
-
-    QString sign, factor_str, pseudo_unit;
-    bool percent = false;
-
-    // extract the sign
-    int idx = 0;
-    if (idx < value.length() && (value.at(idx) == '+' || value.at(idx) == '-'))
-       sign = value.at(idx++);
-
-    // extract the factor
-    while (idx < value.length() && (value.at(idx).isDigit() || value.at(idx) == '.'))
-       factor_str.append(value.at(idx++));
-
-    // extract the % sign
-    if (idx < value.length() && value.at(idx) == '%') {
-       percent = true;
-       ++idx;
-    }
-
-    // extract the pseudo-unit
-    pseudo_unit = value.mid(idx);
-
-    bool float_ok;
-    double factor = factor_str.toFloat(&float_ok);
-    if (!float_ok || factor < 0) {
-       qWarning("MmlMpaddedNode::interpretSpacing(): could not parse \"%s\"", value.toLatin1().data());
-       return 0;
-    }
-
-    if (percent)
-       factor /= 100.0;
-
-    QRect cr;
-    if (firstChild() == 0)
-       cr = QRect(0, 0, 0, 0);
-    else
-       cr = firstChild()->myRect();
-
-    int unit_size;
-
-    if (pseudo_unit.isEmpty())
-       unit_size = base_value;
-    else if (pseudo_unit == "width")
-       unit_size = cr.width();
-    else if (pseudo_unit == "height")
-       unit_size = -cr.top();
-    else if (pseudo_unit == "depth")
-       unit_size = cr.bottom();
-    else {
-       bool unit_ok;
-       unit_size = MmlNode::interpretSpacing("1" + pseudo_unit, &unit_ok);
-       if (!unit_ok) {
-           qWarning("MmlMpaddedNode::interpretSpacing(): could not parse \"%s\"", value.toLatin1().data());
-           return 0;
-       }
-    }
-
-    if (ok != 0)
-       *ok = true;
-
-    if (sign.isNull())
-       return (int)(factor*unit_size);
-    else if (sign == "+")
-       return base_value + (int)(factor*unit_size);
-    else // sign == "-"
-       return base_value - (int)(factor*unit_size);
-}
-
-int MmlMpaddedNode::lspace() const
-{
-    QString value = explicitAttribute("lspace");
-
-    if (value.isNull())
-       return 0;
-
-    bool ok;
-    int lspace = interpretSpacing(value, 0, &ok);
-
-    if (ok)
-       return lspace;
-
-    return 0;
-}
-
-int MmlMpaddedNode::width() const
-{
-    int child_width = 0;
-    if (firstChild() != 0)
-       child_width = firstChild()->myRect().width();
-
-    QString value = explicitAttribute("width");
-    if (value.isNull())
-       return child_width;
-
-    bool ok;
-    int w = interpretSpacing(value, child_width, &ok);
-    if (ok)
-       return w;
-
-    return child_width;
-}
-
-int MmlMpaddedNode::height() const
-{
-    QRect cr;
-    if (firstChild() == 0)
-       cr = QRect(0, 0, 0, 0);
-    else
-       cr = firstChild()->myRect();
-
-    QString value = explicitAttribute("height");
-    if (value.isNull())
-       return -cr.top();
-
-    bool ok;
-    int h = interpretSpacing(value, -cr.top(), &ok);
-    if (ok)
-       return h;
-
-    return -cr.top();
-}
-
-int MmlMpaddedNode::depth() const
-{
-    QRect cr;
-    if (firstChild() == 0)
-       cr = QRect(0, 0, 0, 0);
-    else
-       cr = firstChild()->myRect();
-
-    QString value = explicitAttribute("depth");
-    if (value.isNull())
-       return cr.bottom();
-
-    bool ok;
-    int h = interpretSpacing(value, cr.bottom(), &ok);
-    if (ok)
-       return h;
-
-    return cr.bottom();
-}
-
-void MmlMpaddedNode::layoutSymbol()
-{
-    MmlNode *child = firstChild();
-    if (child == 0)
-       return;
-
-    child->setRelOrigin(QPoint(0, 0));
-}
-
-
-QRect MmlMpaddedNode::symbolRect() const
-{
-    return QRect(-lspace(), -height(), lspace() + width(), height() + depth());
-}
-
-// *******************************************************************
-// QtMmlWidget
-// *******************************************************************
-
-/*!
-    \class QtMmlWidget
-
-    \brief The QtMmlWidget class renders mathematical formulas written in MathML 2.0.
-
-    QtMmlWidget implements the Presentation Markup subset of the
-    MathML 2.0 specification, with a few \link overview.html exceptions\endlink.
-
-    \code
-    QtMmlWidget *mmlWidget = new QtMmlWidget(this);
-    QString errorMsg;
-    int errorLine;
-    int errorColumn;
-    bool ok = mmlWidget->setContent(mmlText, &errorMsg, &errorLine, &errorColumn);
-    if (!ok) {
-       qWarning("MathML error: %s, Line: %d, Column: %d",
-                errorMsg.latin1(), errorLine, errorColumn);
-    }
-    \endcode
-
-*/
-
-
-/*!
-    \enum QtMmlWidget::MmlFont
-
-    This ennumerated type is used in fontName() and setFontName() to
-    specify a font type.
-
-    \value NormalFont  The default font type, used to render
-    expressions for which no mathvariant or fontfamily is specified,
-    or for which the "normal" mathvariant is specified.
-
-    \value FrakturFont The font type used to render expressions for
-    which the "fraktur" mathvariant is specified.
-
-    \value SansSerifFont    The font type used to render expressions
-    for which the "sans-serif" mathvariant is specified.
-
-    \value ScriptFont      The font type used to render expressions
-    for which the "script" mathvariant is specified.
-
-    \value MonospaceFont    The font type used to render expressions
-    for which the "monospace" mathvariant is specified.
-
-    \value DoublestruckFont The font type used to render expressions
-    for which the "doublestruck" mathvariant is specified.
-
-    \sa setFontName() fontName() setBaseFontPointSize() baseFontPointSize()
-*/
-
-/*!
-    Constructs a QtMmlWidget object. The \a parent
-    parameter is passed to QFrame's constructor.
-*/
-
-QtMmlWidget::QtMmlWidget(QWidget *parent)
-    : QFrame(parent)
-{
-    m_doc = new MmlDocument;
-}
-
-/*!
-    Destructs a QtMmlWidget object.
-*/
-
-QtMmlWidget::~QtMmlWidget()
-{
-    delete m_doc;
-}
-
-/*!
-    Returns the name of the font used to render the font \a type.
-
-    \sa setFontName()  setBaseFontPointSize() baseFontPointSize() QtMmlWidget::MmlFont
-*/
-
-QString QtMmlWidget::fontName(MmlFont type) const
-{
-    return m_doc->fontName(type);
-}
-
-/*!
-    Sets the name of the font used to render the font \a type to \a name.
-
-    \sa fontName() setBaseFontPointSize() baseFontPointSize() QtMmlWidget::MmlFont
-*/
-
-void QtMmlWidget::setFontName(MmlFont type, const QString &name)
-{
-    m_doc->setFontName(type, name);
-    m_doc->layout();
-    update();
-}
-
-/*!
-    If \a b is true, draws a red bounding rectangle around each
-    expression; if \a b is false, no such rectangle is drawn.
-    This is mostly useful for debugging MathML expressions.
-
-    \sa drawFrames()
-*/
-
-void QtMmlWidget::setDrawFrames(bool b)
-{
-    g_draw_frames = b;
-    update();
-}
-
-/*!
-    Returns true if each expression should be drawn with a red
-    bounding rectangle; otherwise returns false.
-    This is mostly useful for debugging MathML expressions.
-
-    \sa setDrawFrames()
-*/
-
-bool QtMmlWidget::drawFrames() const
-{
-    return g_draw_frames;
-}
-
-/*!
-    Clears the contents of this widget.
-*/
-void QtMmlWidget::clear()
-{
-    m_doc->clear();
-}
-
-/*!
-    Returns the point size of the font used to render expressions
-    whose scriptlevel is 0.
-
-    \sa setBaseFontPointSize() fontName() setFontName()
-*/
-
-int QtMmlWidget::baseFontPointSize() const
-{
-    return m_doc->baseFontPointSize();
-}
-
-/*!
-    Sets the point \a size of the font used to render expressions
-    whose scriptlevel is 0.
-
-    \sa baseFontPointSize() fontName() setFontName()
-*/
-
-void QtMmlWidget::setBaseFontPointSize(int size)
-{
-    if (size < g_min_font_point_size)
-       return;
-
-    m_doc->setBaseFontPointSize(size);
-    m_doc->layout();
-    update();
-}
-
-/*!
-    Returns the size of the formula in pixels.
-*/
-
-QSize QtMmlWidget::sizeHint() const
-{
-    QSize size = m_doc->size();
-    if (size == QSize(0, 0))
-       return QSize(100, 50);
-    return m_doc->size();
-}
-
-/*!
-    Sets the MathML expression to be rendered. The expression is given
-    in the string \a text. If the expression is successfully parsed,
-    this method returns true; otherwise it returns false. If an error
-    occured \a errorMsg is set to a diagnostic message, while \a
-    errorLine and \a errorColumn contain the location of the error.
-    Any of \a errorMsg, \a errorLine and \a errorColumn may be 0,
-    in which case they are not set.
-
-    \a text should contain MathML 2.0 presentation markup elements enclosed
-    in a <math> element.
-*/
-
-bool QtMmlWidget::setContent(const QString &text, QString *errorMsg,
-                               int *errorLine, int *errorColumn)
-{
-    bool result = m_doc->setContent(text, errorMsg, errorLine, errorColumn);
-    if (result)
-       update();
-    return result;
-}
-
-/*! \internal */
-
-void QtMmlWidget::paintEvent(QPaintEvent *e)
-{
-    QFrame::paintEvent(e);
-    QPainter p(this);
-    if (e->rect().intersects(contentsRect()))
-        p.setClipRegion(e->region().intersect(contentsRect()));
-
-    QSize s = m_doc->size();
-    int x = (width() - s.width())/2;
-    int y = (height() - s.height())/2;
-    m_doc->paint(&p, QPoint(x, y));
-}
-
-/*! \internal */
-
-void QtMmlWidget::dump() const
-{
-    m_doc->dump();
-}
-
-// *******************************************************************
-// Static helper functions
-// *******************************************************************
-
-static QString entityDeclarations()
-{
-    QString result = "<!DOCTYPE math [\n";
-
-    const EntitySpec *ent = g_xml_entity_data;
-    for (; ent->name != 0; ++ent) {
-       result += "\t<!ENTITY " + QString(ent->name) + " \"" + ent->value + "\">\n";
-    }
-
-    result += "]>\n";
-
-    return result;
-}
-
-static int interpretSpacing(QString value, int em, int ex, bool *ok)
-{
-    if (ok != 0)
-       *ok = true;
-
-    if (value == "thin")
-       return 1;
-
-    if (value == "medium")
-       return 2;
-
-    if (value == "thick")
-       return 3;
-
-    struct HSpacingValue {
-       const char *name;
-       float factor;
-    };
-
-    static const HSpacingValue g_h_spacing_data[] =
-    {
-       { "veryverythinmathspace",      (float) 0.0555556   },
-       { "verythinmathspace",          (float) 0.111111    },
-       { "thinmathspace",              (float) 0.166667    },
-       { "mediummathspace",            (float) 0.222222    },
-       { "thickmathspace",             (float) 0.277778    },
-       { "verythickmathspace",         (float) 0.333333    },
-       { "veryverythickmathspace",     (float) 0.388889    },
-       { 0,                            (float) 0           }
-    };
-
-    const HSpacingValue *v = g_h_spacing_data;
-    for (; v->name != 0; ++v) {
-       if (value == v->name)
-           return (int)(em*v->factor);
-    }
-
-    if (value.endsWith("em")) {
-       value.truncate(value.length() - 2);
-       bool float_ok;
-       float factor = value.toFloat(&float_ok);
-       if (float_ok && factor >= 0)
-           return (int)(em*factor);
-       else {
-           qWarning("interpretSpacing(): could not parse \"%sem\"", value.toLatin1().data());
-           if (ok != 0)
-               *ok = false;
-           return 0;
-       }
-    }
-
-    if (value.endsWith("ex")) {
-       value.truncate(value.length() - 2);
-       bool float_ok;
-       float factor = value.toFloat(&float_ok);
-       if (float_ok && factor >= 0)
-           return (int)(ex*factor);
-       else {
-           qWarning("interpretSpacing(): could not parse \"%sex\"", value.toLatin1().data());
-           if (ok != 0)
-               *ok = false;
-           return 0;
-       }
-    }
-
-   if (value.endsWith("cm")) {
-       value.truncate(value.length() - 2);
-       bool float_ok;
-       float factor = value.toFloat(&float_ok);
-       if (float_ok && factor >= 0) {
-           Q_ASSERT(qApp->desktop() != 0);
-           QDesktopWidget *dw = qApp->desktop();
-           Q_ASSERT(dw->width() != 0);
-           Q_ASSERT(dw->widthMM() != 0);
-           return (int)(factor*10*dw->width()/dw->widthMM());
-       }
-       else {
-           qWarning("interpretSpacing(): could not parse \"%scm\"", value.toLatin1().data());
-           if (ok != 0)
-               *ok = false;
-           return 0;
-       }
-    }
-
-    if (value.endsWith("mm")) {
-       value.truncate(value.length() - 2);
-       bool float_ok;
-       float factor = value.toFloat(&float_ok);
-       if (float_ok && factor >= 0) {
-           Q_ASSERT(qApp->desktop() != 0);
-           QDesktopWidget *dw = qApp->desktop();
-           Q_ASSERT(dw->width() != 0);
-           Q_ASSERT(dw->widthMM() != 0);
-           return (int)(factor*dw->width()/dw->widthMM());
-       }
-       else {
-           qWarning("interpretSpacing(): could not parse \"%smm\"", value.toLatin1().data());
-           if (ok != 0)
-               *ok = false;
-           return 0;
-       }
-    }
-
-    if (value.endsWith("in")) {
-       value.truncate(value.length() - 2);
-       bool float_ok;
-       float factor = value.toFloat(&float_ok);
-       if (float_ok && factor >= 0) {
-           Q_ASSERT(qApp->desktop() != 0);
-           QDesktopWidget *dw = qApp->desktop();
-           Q_ASSERT(dw->width() != 0);
-           Q_ASSERT(dw->widthMM() != 0);
-           return (int)(factor*10*dw->width()/(2.54*dw->widthMM()));
-       }
-       else {
-           qWarning("interpretSpacing(): could not parse \"%sin\"", value.toLatin1().data());
-           if (ok != 0)
-               *ok = false;
-           return 0;
-       }
-    }
-
-    if (value.endsWith("px")) {
-       value.truncate(value.length() - 2);
-       bool float_ok;
-       int i = (int) value.toFloat(&float_ok);
-       if (float_ok && i >= 0)
-           return i;
-       else {
-           qWarning("interpretSpacing(): could not parse \"%spx\"", value.toLatin1().data());
-           if (ok != 0)
-               *ok = false;
-           return 0;
-       }
-    }
-
-    bool float_ok;
-    int i = (int)value.toFloat(&float_ok);
-    if (float_ok && i >= 0)
-       return i;
-
-    qWarning("interpretSpacing(): could not parse \"%s\"", value.toLatin1().data());
-    if (ok != 0)
-       *ok = false;
-    return 0;
-}
-
-static int interpretPercentSpacing(QString value, int base, bool *ok)
-{
-    if (!value.endsWith("%")) {
-       if (ok != 0)
-           *ok = false;
-       return 0;
-    }
-
-    value.truncate(value.length() - 1);
-    bool float_ok;
-    float factor = value.toFloat(&float_ok);
-    if (float_ok && factor >= 0) {
-       if (ok != 0)
-           *ok = true;
-       return (int)(base*factor/100.0);
-    }
-
-    qWarning("interpretPercentSpacing(): could not parse \"%s%%\"", value.toLatin1().data());
-    if (ok != 0)
-       *ok = false;
-    return 0;
-}
-
-static int interpretPointSize(QString value, bool *ok)
-{
-    if (!value.endsWith("pt")) {
-       if (ok != 0)
-           *ok = false;
-       return 0;
-    }
-
-    value.truncate(value.length() - 2);
-    bool float_ok;
-    int pt_size = (int) value.toFloat(&float_ok);
-    if (float_ok && pt_size > 0) {
-       if (ok != 0)
-           *ok = true;
-       return pt_size;
-    }
-
-    qWarning("interpretPointSize(): could not parse \"%spt\"", value.toLatin1().data());
-    if (ok != 0)
-       *ok = false;
-    return 0;
-}
-
-static const NodeSpec *mmlFindNodeSpec(Mml::NodeType type)
-{
-    const NodeSpec *spec = g_node_spec_data;
-    for (; spec->type != Mml::NoNode; ++spec) {
-       if (type == spec->type) return spec;
-    }
-    return 0;
-}
-
-static const NodeSpec *mmlFindNodeSpec(const QString &tag)
-{
-    const NodeSpec *spec = g_node_spec_data;
-    for (; spec->type != Mml::NoNode; ++spec) {
-       if (tag == spec->tag) return spec;
-    }
-    return 0;
-}
-
-static bool mmlCheckChildType(Mml::NodeType parent_type, Mml::NodeType child_type,
-                           QString *error_str)
-{
-    if (parent_type == Mml::UnknownNode || child_type == Mml::UnknownNode)
-       return true;
-
-    const NodeSpec *child_spec = mmlFindNodeSpec(child_type);
-    const NodeSpec *parent_spec = mmlFindNodeSpec(parent_type);
-
-    Q_ASSERT(parent_spec != 0);
-    Q_ASSERT(child_spec != 0);
-
-    QString allowed_child_types(parent_spec->child_types);
-    // null list means any child type is valid
-    if (allowed_child_types.isNull())
-       return true;
-
-    QString child_type_str = QString(" ") + child_spec->type_str + " ";
-    if (!allowed_child_types.contains(child_type_str)) {
-       if (error_str != 0)
-           *error_str = QString("illegal child ")
-                         + child_spec->type_str
-                         + " for parent "
-                         + parent_spec->type_str;
-       return false;
-    }
-
-    return true;
-}
-
-static bool mmlCheckAttributes(Mml::NodeType child_type, const MmlAttributeMap &attr,
-                           QString *error_str)
-{
-    const NodeSpec *spec = mmlFindNodeSpec(child_type);
-    Q_ASSERT(spec != 0);
-
-    QString allowed_attr(spec->attributes);
-    // empty list means any attr is valid
-    if (allowed_attr.isEmpty())
-       return true;
-
-    MmlAttributeMap::const_iterator it = attr.begin(), end = attr.end();
-    for (; it != end; ++it) {
-       QString name = it.key();
-
-       if (name.indexOf(':') != -1)
-           continue;
-
-       QString padded_name = " " + name + " ";
-       if (!allowed_attr.contains(padded_name)) {
-           if (error_str != 0)
-               *error_str = QString("illegal attribute ")
-                                + name
-                                + " in "
-                                + spec->type_str;
-           return false;
-       }
-    }
-
-    return true;
-}
-
-static int attributeIndex(const QString &name)
-{
-    for (unsigned i = 0; i < g_oper_spec_rows; ++i) {
-       if (name == g_oper_spec_names[i])
-           return i;
-    }
-    return -1;
-}
-
-static QString decodeEntityValue(QString literal)
-{
-    QString result;
-
-    while (!literal.isEmpty()) {
-
-       if (!literal.startsWith("&#")) {
-           qWarning("decodeEntityValue(): bad entity literal: \"%s\"", qPrintable(literal));
-           return QString::null;
-       }
-
-       literal = literal.right(literal.length() - 2);
-
-       int i = literal.indexOf(';');
-       if (i == -1) {
-           qWarning("decodeEntityValue(): bad entity literal: \"%s\"", qPrintable(literal));
-           return QString::null;
-       }
-
-       QString char_code = literal.left(i);
-       literal = literal.right(literal.length() - i - 1);
-
-       if (char_code.isEmpty()) {
-           qWarning("decodeEntityValue(): bad entity literal: \"%s\"", qPrintable(literal));
-           return QString::null;
-       }
-
-       if (char_code.at(0) == 'x') {
-           char_code = char_code.right(char_code.length() - 1);
-           bool ok;
-           unsigned c = char_code.toUInt(&ok, 16);
-           if (!ok) {
-               qWarning("decodeEntityValue(): bad entity literal: \"%s\"", qPrintable(literal));
-               return QString::null;
-           }
-           result += QChar(c);
-       }
-       else {
-           bool ok;
-           unsigned c = char_code.toUInt(&ok, 10);
-           if (!ok) {
-               qWarning("decodeEntityValue(): bad entity literal: \"%s\"", qPrintable(literal));
-               return QString::null;
-           }
-           result += QChar(c);
-       }
-    }
-
-    return result;
-}
-
-static const EntitySpec *searchEntitySpecData(const QString &value, const EntitySpec *from = 0)
-{
-    const EntitySpec *ent = from;
-    if (ent == 0)
-       ent = g_xml_entity_data;
-    for (; ent->name != 0; ++ent) {
-       QString ent_value = decodeEntityValue(ent->value);
-       if (value == ent_value)
-           return ent;
-    }
-    return 0;
-}
-
-struct OperSpecSearchResult
-{
-    OperSpecSearchResult() { prefix_form = infix_form = postfix_form = 0; }
-
-    const OperSpec *prefix_form,
-                  *infix_form,
-                  *postfix_form;
-
-    const OperSpec *&getForm(Mml::FormType f);
-    bool haveForm(Mml::FormType f)
-       { return getForm(f) != 0; }
-    void addForm(const OperSpec *spec)
-       { getForm(spec->form) = spec; }
-};
-
-const OperSpec *&OperSpecSearchResult::getForm(Mml::FormType f)
-{
-    switch (f) {
-       case Mml::PrefixForm:
-           return prefix_form;
-       case Mml::InfixForm:
-           return infix_form;
-       case Mml::PostfixForm:
-           return postfix_form;
-    }
-    return postfix_form; // just to avoid warning
-}
-
-/*
-    Searches g_oper_spec_data and returns any instance of operator name. There may
-    be more instances, but since the list is sorted, they will be next to each other.
-*/
-static const OperSpec *searchOperSpecData(const QString &name)
-{
-    QByteArray name_latin1_array = name.toLatin1();
-    const char *name_latin1 = name_latin1_array.data();
-
-    // binary search
-    // establish invariant g_oper_spec_data[begin].name < name < g_oper_spec_data[end].name
-
-    int cmp = qstrcmp(name_latin1, g_oper_spec_data[0].name);
-    if (cmp < 0)
-       return 0;
-
-    if (cmp == 0)
-       return g_oper_spec_data;
-
-    uint begin = 0;
-    uint end = g_oper_spec_count;
-
-    // invariant holds
-    while (end - begin > 1) {
-       uint mid = (begin + end)/2;
-
-       const OperSpec *spec = g_oper_spec_data + mid;
-       int cmp = qstrcmp(name_latin1, spec->name);
-       if (cmp < 0)
-           end = mid;
-       else if (cmp > 0)
-           begin = mid;
-       else
-           return spec;
-    }
-
-    return 0;
-}
-
-/*
-    This searches g_oper_spec_data until at least one name in name_list is found with FormType form,
-    or until name_list is exhausted. The idea here is that if we don't find the operator in the
-    specified form, we still want to use some other available form of that operator.
-*/
-static OperSpecSearchResult _mmlFindOperSpec(const QStringList &name_list, Mml::FormType form)
-{
-    OperSpecSearchResult result;
-
-    QStringList::const_iterator it = name_list.begin();
-    for (; it != name_list.end(); ++it) {
-       const QString &name = *it;
-
-       const OperSpec *spec = searchOperSpecData(name);
-
-       if (spec == 0)
-           continue;
-
-       QByteArray name_latin1_array = name.toLatin1();
-       const char *name_latin1 = name_latin1_array.data();
-
-       // backtrack to the first instance of name
-       while (spec > g_oper_spec_data && qstrcmp((spec - 1)->name, name_latin1) == 0)
-           --spec;
-
-       // iterate over instances of name until the instances are exhausted or until we
-       // find an instance in the specified form.
-       do {
-           result.addForm(spec++);
-           if (result.haveForm(form))
-               break;
-       } while (qstrcmp(spec->name, name_latin1) == 0);
-
-       if (result.haveForm(form))
-           break;
-    }
-
-    return result;
-}
-
-/*
-    text is a string between <mo> and </mo>. It can be a character ('+'), an
-    entity reference ("&infin;") or a character reference ("&#x0221E"). Our
-    job is to find an operator spec in the operator dictionary (g_oper_spec_data)
-    that matches text. Things are further complicated by the fact, that many
-    operators come in several forms (prefix, infix, postfix).
-
-    If available, this function returns an operator spec matching text in the specified
-    form. If such operator is not available, returns an operator spec that matches
-    text, but of some other form in the preference order specified by the MathML spec.
-    If that's not available either, returns the default operator spec.
-*/
-static const OperSpec *mmlFindOperSpec(const QString &text, Mml::FormType form)
-{
-    QStringList name_list;
-    name_list.append(text);
-
-    // First, just try to find text in the operator dictionary.
-    OperSpecSearchResult result = _mmlFindOperSpec(name_list, form);
-
-    if (!result.haveForm(form)) {
-       // Try to find other names for the operator represented by text.
-
-       const EntitySpec *ent = 0;
-       for (;;) {
-           ent = searchEntitySpecData(text, ent);
-           if (ent == 0)
-               break;
-           name_list.append('&' + QString(ent->name) + ';');
-           ++ent;
-       }
-
-       result = _mmlFindOperSpec(name_list, form);
-    }
-
-    const OperSpec *spec = result.getForm(form);
-    if (spec != 0)
-       return spec;
-
-    spec = result.getForm(Mml::InfixForm);
-    if (spec != 0)
-       return spec;
-
-    spec = result.getForm(Mml::PostfixForm);
-    if (spec != 0)
-       return spec;
-
-    spec = result.getForm(Mml::PrefixForm);
-    if (spec != 0)
-       return spec;
-
-    return &g_oper_spec_defaults;
-}
-
-static QString mmlDictAttribute(const QString &name, const OperSpec *spec)
-{
-    int i = attributeIndex(name);
-    if (i == -1)
-       return QString::null;
-    else
-       return spec->attributes[i];
-}
-
-static uint interpretMathVariant(const QString &value, bool *ok)
-{
-    struct MathVariantValue {
-       const char *value;
-       uint mv;
-    };
-
-    static const MathVariantValue g_mv_data[] =
-    {
-       { "normal",                         Mml::NormalMV },
-       { "bold",                           Mml::BoldMV },
-       { "italic",                         Mml::ItalicMV },
-       { "bold-italic",                    Mml::BoldMV | Mml::ItalicMV },
-       { "double-struck",                  Mml::DoubleStruckMV },
-       { "bold-fraktur",                   Mml::BoldMV | Mml::FrakturMV },
-       { "script",                         Mml::ScriptMV },
-       { "bold-script",                    Mml::BoldMV | Mml::ScriptMV },
-       { "fraktur",                        Mml::FrakturMV },
-       { "sans-serif",                     Mml::SansSerifMV },
-       { "bold-sans-serif",                Mml::BoldMV | Mml::SansSerifMV },
-       { "sans-serif-italic",              Mml::SansSerifMV | Mml::ItalicMV },
-       { "sans-serif-bold-italic",         Mml::SansSerifMV | Mml::ItalicMV | Mml::BoldMV },
-       { "monospace",                      Mml::MonospaceMV },
-       { 0,                                0 }
-    };
-
-    const MathVariantValue *v = g_mv_data;
-    for (; v->value != 0; ++v) {
-       if (value == v->value) {
-           if (ok != 0)
-               *ok = true;
-           return v->mv;
-       }
-    }
-
-    if (ok != 0)
-       *ok = false;
-
-   qWarning("interpretMathVariant(): could not parse value: \"%s\"", value.toLatin1().data());
-
-    return Mml::NormalMV;
-}
-
-static Mml::FormType interpretForm(const QString &value, bool *ok)
-{
-    if (ok != 0)
-       *ok = true;
-
-    if (value == "prefix")
-       return Mml::PrefixForm;
-    if (value == "infix")
-       return Mml::InfixForm;
-    if (value == "postfix")
-       return Mml::PostfixForm;
-
-    if (ok != 0)
-       *ok = false;
-
-    qWarning("interpretForm(): could not parse value \"%s\"", value.toLatin1().data());
-    return Mml::InfixForm;
-}
-
-static Mml::ColAlign interpretColAlign(const QString &value_list, uint colnum, bool *ok)
-{
-    QString value = interpretListAttr(value_list, colnum, "center");
-
-    if (ok != 0)
-       *ok = true;
-
-    if (value == "left")
-       return Mml::ColAlignLeft;
-    if (value == "right")
-       return Mml::ColAlignRight;
-    if (value == "center")
-       return Mml::ColAlignCenter;
-
-    if (ok != 0)
-       *ok = false;
-
-    qWarning("interpretColAlign(): could not parse value \"%s\"", value.toLatin1().data());
-    return Mml::ColAlignCenter;
-}
-
-static Mml::RowAlign interpretRowAlign(const QString &value_list, uint rownum, bool *ok)
-{
-    QString value = interpretListAttr(value_list, rownum, "axis");
-
-    if (ok != 0)
-       *ok = true;
-
-    if (value == "top")
-       return Mml::RowAlignTop;
-    if (value == "center")
-       return Mml::RowAlignCenter;
-    if (value == "bottom")
-       return Mml::RowAlignBottom;
-    if (value == "baseline")
-       return Mml::RowAlignBaseline;
-    if (value == "axis")
-       return Mml::RowAlignAxis;
-
-    if (ok != 0)
-       *ok = false;
-
-    qWarning("interpretRowAlign(): could not parse value \"%s\"", value.toLatin1().data());
-    return Mml::RowAlignAxis;
-}
-
-static QString interpretListAttr(const QString &value_list, int idx, const QString &def)
-{
-    QStringList l = value_list.split(' ');
-
-    if (l.count() == 0)
-       return def;
-
-    if (l.count() <= idx)
-       return l[l.count() - 1];
-    else
-       return l[idx];
-}
-
-static Mml::FrameType interpretFrameType(const QString &value_list, uint idx, bool *ok)
-{
-    if (ok != 0)
-       *ok = true;
-
-    QString value = interpretListAttr(value_list, idx, "none");
-
-    if (value == "none")
-       return Mml::FrameNone;
-    if (value == "solid")
-       return Mml::FrameSolid;
-    if (value == "dashed")
-       return Mml::FrameDashed;
-
-    if (ok != 0)
-       *ok = false;
-
-    qWarning("interpretFrameType(): could not parse value \"%s\"", value.toLatin1().data());
-    return Mml::FrameNone;
-}
-
-
-static Mml::FrameSpacing interpretFrameSpacing(const QString &value_list, int em, int ex, bool *ok)
-{
-    Mml::FrameSpacing fs;
-
-    QStringList l = value_list.split(' ');
-    if (l.count() != 2) {
-       qWarning("interpretFrameSpacing: could not parse value \"%s\"", value_list.toLatin1().data());
-       if (ok != 0)
-           *ok = false;
-       return Mml::FrameSpacing((int)(0.4*em), (int)(0.5*ex));
-    }
-
-    bool hor_ok, ver_ok;
-    fs.m_hor = interpretSpacing(l[0], em, ex, &hor_ok);
-    fs.m_ver = interpretSpacing(l[1], em, ex, &ver_ok);
-
-    if (ok != 0)
-       *ok = hor_ok && ver_ok;
-
-    return fs;
-}
-
-static QFont interpretDepreciatedFontAttr(const MmlAttributeMap &font_attr, QFont &fn, int em, int ex)
-{
-    if (font_attr.contains("fontsize")) {
-       QString value = font_attr["fontsize"];
-
-       for (;;) {
-
-           bool ok;
-           int ptsize = interpretPointSize(value, &ok);
-           if (ok) {
-               fn.setPointSize(ptsize);
-               break;
-           }
-
-           ptsize = interpretPercentSpacing(value, fn.pointSize(), &ok);
-           if (ok) {
-               fn.setPointSize(ptsize);
-               break;
-           }
-
-           int size = interpretSpacing(value, em, ex, &ok);
-           if (ok) {
-               fn.setPixelSize(size);
-               break;
-           }
-
-           break;
-       }
-    }
-
-    if (font_attr.contains("fontweight")) {
-       QString value = font_attr["fontweight"];
-       if (value == "normal")
-           fn.setBold(false);
-       else if (value == "bold")
-           fn.setBold(true);
-       else
-           qWarning("interpretDepreciatedFontAttr(): could not parse fontweight \"%s\"", value.toLatin1().data());
-    }
-
-    if (font_attr.contains("fontstyle")) {
-       QString value = font_attr["fontstyle"];
-       if (value == "normal")
-           fn.setItalic(false);
-       else if (value == "italic")
-           fn.setItalic(true);
-       else
-           qWarning("interpretDepreciatedFontAttr(): could not parse fontstyle \"%s\"", value.toLatin1().data());
-    }
-
-    if (font_attr.contains("fontfamily")) {
-       QString value = font_attr["fontfamily"];
-       fn.setFamily(value);
-    }
-
-    return fn;
-}
-
-static QFont interpretMathSize(QString value, QFont &fn, int em, int ex, bool *ok)
-{
-    if (ok != 0)
-       *ok = true;
-
-    if (value == "small") {
-       fn.setPointSize((int)(fn.pointSize()*0.7));
-       return fn;
-    }
-
-    if (value == "normal")
-       return fn;
-
-    if (value == "big") {
-       fn.setPointSize((int)(fn.pointSize()*1.5));
-       return fn;
-    }
-
-    bool size_ok;
-
-    int ptsize = interpretPointSize(value, &size_ok);
-    if (size_ok) {
-       fn.setPointSize(ptsize);
-       return fn;
-    }
-
-    int size = interpretSpacing(value, em, ex, &size_ok);
-    if (size_ok) {
-       fn.setPixelSize(size);
-       return fn;
-    }
-
-    if (ok != 0)
-       *ok = false;
-    qWarning("interpretMathSize(): could not parse mathsize \"%s\"", value.toLatin1().data());
-    return fn;
-}
-
-/*!
-    \class QtMmlDocument
-
-    \brief The QtMmlDocument class renders mathematical formulas written in MathML 2.0.
-
-    This class provides a direct API to the rendering engine used by
-    QtMmlWidget. It can be used to paint MathML inside other widgets.
-
-    All methods work the same as the corresponding methods in QtMmlWidget.
-*/
-
-/*!
-  Constructs an empty MML document.
-*/
-QtMmlDocument::QtMmlDocument()
-{
-    m_doc = new MmlDocument;
-}
-
-/*!
-  Destroys the MML document.
-*/
-QtMmlDocument::~QtMmlDocument()
-{
-    delete m_doc;
-}
-
-/*!
-    Clears the contents of this MML document.
-*/
-void QtMmlDocument::clear()
-{
-    m_doc->clear();
-}
-
-/*!
-    Sets the MathML expression to be rendered. The expression is given
-    in the string \a text. If the expression is successfully parsed,
-    this method returns true; otherwise it returns false. If an error
-    occured \a errorMsg is set to a diagnostic message, while \a
-    errorLine and \a errorColumn contain the location of the error.
-    Any of \a errorMsg, \a errorLine and \a errorColumn may be 0,
-    in which case they are not set.
-
-    \a text should contain MathML 2.0 presentation markup elements enclosed
-    in a <math> element.
-*/
-bool QtMmlDocument::setContent(QString text, QString *errorMsg,
-                               int *errorLine, int *errorColumn)
-{
-    return m_doc->setContent(text, errorMsg, errorLine, errorColumn);
-}
-
-/*!
-  Renders this MML document with the painter \a p at position \a pos.
-*/
-void QtMmlDocument::paint(QPainter *p, const QPoint &pos) const
-{
-    m_doc->paint(p, pos);
-}
-
-/*!
-    Returns the size of this MML document, as rendered, in pixels.
-*/
-QSize QtMmlDocument::size() const
-{
-    return m_doc->size();
-}
-
-/*!
-    Returns the name of the font used to render the font \a type.
-
-    \sa setFontName()  setBaseFontPointSize() baseFontPointSize() QtMmlWidget::MmlFont
-*/
-QString QtMmlDocument::fontName(QtMmlWidget::MmlFont type) const
-{
-    return m_doc->fontName(type);
-}
-
-/*!
-    Sets the name of the font used to render the font \a type to \a name.
-
-    \sa fontName() setBaseFontPointSize() baseFontPointSize() QtMmlWidget::MmlFont
-*/
-void QtMmlDocument::setFontName(QtMmlWidget::MmlFont type, const QString &name)
-{
-    m_doc->setFontName(type, name);
-}
-
-/*!
-    Returns the point size of the font used to render expressions
-    whose scriptlevel is 0.
-
-    \sa setBaseFontPointSize() fontName() setFontName()
-*/
-int QtMmlDocument::baseFontPointSize() const
-{
-    return m_doc->baseFontPointSize();
-}
-
-/*!
-    Sets the point \a size of the font used to render expressions
-    whose scriptlevel is 0.
-
-    \sa baseFontPointSize() fontName() setFontName()
-*/
-void QtMmlDocument::setBaseFontPointSize(int size)
-{
-    m_doc->setBaseFontPointSize(size);
-}
diff --git a/qtmmlwidget/qtmmlwidget.h b/qtmmlwidget/qtmmlwidget.h
deleted file mode 100644 (file)
index 2c9b1c6..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-/****************************************************************************
-** 
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-** 
-** This file is part of a Qt Solutions component.
-**
-** Commercial Usage  
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Solutions Commercial License Agreement provided
-** with the Software or, alternatively, in accordance with the terms
-** contained in a written agreement between you and Nokia.
-** 
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-** 
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.1, included in the file LGPL_EXCEPTION.txt in this
-** package.
-** 
-** GNU General Public License Usage 
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-** 
-** Please note Third Party Software included with Qt Solutions may impose
-** additional restrictions and it is the user's responsibility to ensure
-** that they have met the licensing requirements of the GPL, LGPL, or Qt
-** Solutions Commercial license and the relevant license of the Third
-** Party Software they are using.
-** 
-** If you are unsure which license is appropriate for your use, please
-** contact Nokia at qt-info@nokia.com.
-** 
-****************************************************************************/
-
-#ifndef QTMMLWIDGET_H
-#define QTMMLWIDGET_H
-
-#include <QtGui/QFrame>
-#include <QtXml/QtXml>
-
-class MmlDocument;
-
-#if defined(Q_WS_WIN)
-#  if !defined(QT_QTMMLWIDGET_EXPORT) && !defined(QT_QTMMLWIDGET_IMPORT)
-#    define QT_QTMMLWIDGET_EXPORT
-#  elif defined(QT_QTMMLWIDGET_IMPORT)
-#    if defined(QT_QTMMLWIDGET_EXPORT)
-#      undef QT_QTMMLWIDGET_EXPORT
-#    endif
-#    define QT_QTMMLWIDGET_EXPORT __declspec(dllimport)
-#  elif defined(QT_QTMMLWIDGET_EXPORT)
-#    undef QT_QTMMLWIDGET_EXPORT
-#    define QT_QTMMLWIDGET_EXPORT __declspec(dllexport)
-#  endif
-#else
-#  define QT_QTMMLWIDGET_EXPORT
-#endif
-
-class QT_QTMMLWIDGET_EXPORT QtMmlWidget : public QFrame
-{
-    public:
-       enum MmlFont { NormalFont, FrakturFont, SansSerifFont, ScriptFont,
-                                   MonospaceFont, DoublestruckFont };
-
-       QtMmlWidget(QWidget *parent = 0);
-       ~QtMmlWidget();
-
-       QString fontName(MmlFont type) const;
-       void setFontName(MmlFont type, const QString &name);
-       int baseFontPointSize() const;
-       void setBaseFontPointSize(int size);
-
-       bool setContent(const QString &text, QString *errorMsg = 0,
-                           int *errorLine = 0, int *errorColumn = 0);
-       void dump() const;
-       virtual QSize sizeHint() const;
-
-       void setDrawFrames(bool b);
-       bool drawFrames() const;
-
-       void clear();
-
-    protected:
-       virtual void paintEvent(QPaintEvent *e);
-
-    private:
-       MmlDocument *m_doc;
-};
-
-
-class QT_QTMMLWIDGET_EXPORT QtMmlDocument
-{
-public:
-    QtMmlDocument();
-    ~QtMmlDocument();
-    void clear();
-
-    bool setContent(QString text, QString *errorMsg = 0,
-                    int *errorLine = 0, int *errorColumn = 0);
-    void paint(QPainter *p, const QPoint &pos) const;
-    QSize size() const;
-
-    QString fontName(QtMmlWidget::MmlFont type) const;
-    void setFontName(QtMmlWidget::MmlFont type, const QString &name);
-
-    int baseFontPointSize() const;
-    void setBaseFontPointSize(int size);
-private:
-    MmlDocument *m_doc;
-};
-
-#endif
diff --git a/widgets/CMakeLists.txt b/widgets/CMakeLists.txt
deleted file mode 100644 (file)
index 7d531c1..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-########### next target ###############
-
-set(kdeeduwidgets_PART_SRCS
-  ${CMAKE_CURRENT_BINARY_DIR}/kdeeduwidgets.cpp
-)
-
-KDE4_ADD_WIDGET_FILES(kdeeduwidgets_PART_SRCS kdeedu.widgets)
-
-kde4_add_plugin(kdeeduwidgets ${kdeeduwidgets_PART_SRCS})
-
-
-
-target_link_libraries(kdeeduwidgets ${KDE4_KDEUI_LIBS})
-
-install(TARGETS kdeeduwidgets DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer )
-
diff --git a/widgets/kdeedu.widgets b/widgets/kdeedu.widgets
deleted file mode 100644 (file)
index 2d3b6ce..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-[Global]
-PluginName=KDEEduWidgets
-Includes=kcomponentdata.h
-Init=new KComponentData("kdeeduwidgets");