You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
141 lines
4.1 KiB
141 lines
4.1 KiB
/* MEMO: to see the unicode table
|
|
* xset +fp /usr/X11R6/lib/X11/fonts/ucs/
|
|
* xfd -fn '-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1'
|
|
*/
|
|
/*
|
|
** A program to convert the XML rendered by KWord into LATEX.
|
|
**
|
|
** Copyright (C) 2002 - 2003 Robert JACOLIN
|
|
**
|
|
** 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.
|
|
**
|
|
** To receive a copy of the GNU Library General Public License, write to the
|
|
** Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
* Boston, MA 02110-1301, USA.
|
|
**
|
|
*/
|
|
|
|
#include <kdebug.h> /* for kdDebug() stream */
|
|
|
|
#include "variablezone.h"
|
|
#include "para.h"
|
|
#include "document.h"
|
|
|
|
/*******************************************/
|
|
/* VariableZone */
|
|
/*******************************************/
|
|
VariableZone::VariableZone(Para* para): VariableFormat(para)
|
|
{
|
|
setPara(para);
|
|
setSize(para->getSize());
|
|
setWeight(para->getWeight());
|
|
setItalic(para->isItalic());
|
|
setUnderlined(para->getUnderlineType());
|
|
setStrikeout(para->isStrikeout());
|
|
}
|
|
|
|
/*******************************************/
|
|
/* VariableZone */
|
|
/*******************************************/
|
|
VariableZone::VariableZone(TQString text, Para* para): VariableFormat(para)
|
|
{
|
|
setTexte(text);
|
|
/*setPara(para);
|
|
setSize(para->getSize());
|
|
setWeight(para->getWeight());
|
|
setItalic(para->isItalic());
|
|
setUnderlined(para->getUnderlineType());
|
|
setStrikeout(para->isStrikeout());*/
|
|
}
|
|
|
|
/*******************************************/
|
|
/* ~VariableZone */
|
|
/*******************************************/
|
|
VariableZone::~VariableZone()
|
|
{
|
|
kdDebug(30522) << "Destruction of an area" << endl;
|
|
}
|
|
|
|
/*******************************************/
|
|
/* analyse */
|
|
/*******************************************/
|
|
/* Analyse a text format, get the text used*/
|
|
/* by this format. */
|
|
/*******************************************/
|
|
void VariableZone::analyse(const TQDomNode balise)
|
|
{
|
|
kdDebug(30522) << "FORMAT" << endl;
|
|
/* Get header information (size, position)
|
|
* Get infos. to format the text
|
|
*/
|
|
//if(balise != 0)
|
|
analyseFormat(balise);
|
|
|
|
/* Format the text */
|
|
setTexte(getTexte().mid(getPos(), getLength()));
|
|
|
|
kdDebug(30522) << getTexte().length() << endl;
|
|
kdDebug(30522) << getTexte().latin1() << endl;
|
|
kdDebug(30522) << "END FORMAT" << endl;
|
|
}
|
|
|
|
/*******************************************/
|
|
/* generate */
|
|
/*******************************************/
|
|
/* Generate the text formated (if needed). */
|
|
/*******************************************/
|
|
void VariableZone::generate(TQTextStream &out)
|
|
{
|
|
|
|
if(useFormat())
|
|
generate_format_begin(out);
|
|
|
|
/* Display the text */
|
|
kdDebug(30522) << "type : " << getType() << endl;
|
|
if((getType() == VAR_DATE) && !isFix())
|
|
out << "\\today" << endl;
|
|
else if(getType() == VAR_FOOTNOTE)
|
|
{
|
|
if(getNotetype() == "footnote")
|
|
out << "\\,\\footnote{";
|
|
else if(getNotetype() == "endnote")
|
|
out << "\\,\\endnote{";
|
|
/* Get the footnote and generate it. */
|
|
Element* footnote = getRoot()->searchFootnote(getFrameset());
|
|
if(footnote != NULL)
|
|
{
|
|
footnote->generate(out);
|
|
}
|
|
Config::instance()->writeIndent(out);
|
|
out << "}";
|
|
}
|
|
else if(getType() == VAR_NOTE)
|
|
{
|
|
out << "\\marginpar{\\scriptsize ";
|
|
if(Config::instance()->mustUseLatin1())
|
|
display(escapeLatin1(getNote()), out);
|
|
else if(Config::instance()->mustUseUnicode())
|
|
display(getNote(), out);
|
|
out << "}" << endl;
|
|
}
|
|
else
|
|
{
|
|
if(Config::instance()->mustUseLatin1())
|
|
display(escapeLatin1(getText()), out);
|
|
else if(Config::instance()->mustUseUnicode())
|
|
display(getText(), out);
|
|
}
|
|
if(useFormat())
|
|
generate_format_end(out);
|
|
|
|
}
|
|
|