Commit fea2d924 authored by Dimitri van Heesch's avatar Dimitri van Heesch

Release-1.3.4-20031019

parent 089a5c16
DOXYGEN Version 1.3.4-20031005
DOXYGEN Version 1.3.4-20031019
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (05 October 2003)
Dimitri van Heesch (19 October 2003)
DOXYGEN Version 1.3.4_20031005
DOXYGEN Version 1.3.4_20031019
Please read INSTALL for compilation instructions.
......@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (05 October 2003)
Dimitri van Heesch (dimitri@stack.nl) (19 October 2003)
1.3.4-20031005
1.3.4-20031019
......@@ -55,6 +55,7 @@ Below is an alphabetical index of the tags that are recognized
followed by the descriptions of the tags grouped by category.
\secreflist
\refitem cfg_abbreviate_brief ABBREVIATE_BRIEF
\refitem cfg_aliases ALIASES
\refitem cfg_allexternals ALLEXTERNALS
\refitem cfg_alphabetical_index ALPHABETICAL_INDEX
......@@ -200,7 +201,7 @@ followed by the descriptions of the tags grouped by category.
\refitem cfg_warnings WARNINGS
\refitem cfg_xml_dtd XML_DTD
\refitem cfg_xml_output XML_OUTPUT
\refitem cfg_xml_programlising XML_PROGRAMLISTING
\refitem cfg_xml_programlisting XML_PROGRAMLISTING
\refitem cfg_xml_schema XML_SCHEMA
\endsecreflist
......@@ -272,6 +273,18 @@ followed by the descriptions of the tags grouped by category.
If both \c HIDE_UNDOC_MEMBERS and \c BRIEF_MEMBER_DESC are set to \c NO, the
brief descriptions will be completely suppressed.
\anchor cfg_abbreviate_brief
<dt>\c ABBREVIATE_BRIEF <dd>
\addindex ABBREVIATE_BRIEF
This tag implements a quasi-intelligent brief description abbreviator
that is used to form the text in various listings. Each string
in this list, if found as the leading text of the brief description, will be
stripped from the text and the result after processing the whole list, is used
as the annotated text. Otherwise, the brief description is used as-is. If left
blank, the following values are used ("\$name" is automatically replaced with the
name of the entity): "The $name class" "The $name widget" "The $name file"
"is" "provides" "specifies" "contains" "represents" "a" "an" "the".
\anchor cfg_always_detailed_sec
<dt>\c ALWAYS_DETAILED_SEC <dd>
\addindex ALWAYS_DETAILED_SEC
......
......@@ -25,7 +25,7 @@ Doxygen has built-in support for multiple languages. This means
that the text fragments that doxygen generates can be produced in
languages other than English (the default) at configuration time.
Currently (version unknown), 29 languages
Currently (version 1.3.3), 29 languages
are supported (sorted alphabetically):
Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian,
Czech, Danish, Dutch, English, Finnish,
......@@ -73,7 +73,7 @@ when the translator was updated.
<TD>Chinese Traditional</TD>
<TD>Daniel YC Lin<br>Gary Lee</TD>
<TD>daniel@NOSPAM.twpda.com<br>garylee@NOSPAM.ecosine.com.tw</TD>
<TD>1.3.3</TD>
<TD>up-to-date</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Croatian</TD>
......@@ -91,7 +91,7 @@ when the translator was updated.
<TD>Danish</TD>
<TD>Erik S&oslash;e S&oslash;rensen</TD>
<TD>erik@NOSPAM.mail.nu</TD>
<TD>strange</TD>
<TD>up-to-date</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Dutch</TD>
......@@ -187,7 +187,7 @@ when the translator was updated.
<TD>Russian</TD>
<TD>Alexandr Chelpanov</TD>
<TD>cav@NOSPAM.cryptopro.ru</TD>
<TD>strange</TD>
<TD>up-to-date</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Serbian</TD>
......@@ -243,14 +243,14 @@ when the translator was updated.
Chinese & Wei Liu & {\tt liuwei@asiainfo.com} & 1.2.13 \\
& Wang Weihan & {\tt wangweihan@capinfo.com.cn} & \\
\hline
Chinese Traditional & Daniel YC Lin & {\tt daniel@twpda.com} & 1.3.3 \\
Chinese Traditional & Daniel YC Lin & {\tt daniel@twpda.com} & up-to-date \\
& Gary Lee & {\tt garylee@ecosine.com.tw} & \\
\hline
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} & up-to-date \\
\hline
Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} & up-to-date \\
\hline
Danish & Erik S\o{}e S\o{}rensen & {\tt erik@mail.nu} & strange \\
Danish & Erik S\o{}e S\o{}rensen & {\tt erik@mail.nu} & up-to-date \\
\hline
Dutch & Dimitri van Heesch & {\tt dimitri@stack.nl} & up-to-date \\
\hline
......@@ -285,7 +285,7 @@ when the translator was updated.
\hline
Romanian & Alexandru Iosup & {\tt aiosup@yahoo.com} & 1.2.16 \\
\hline
Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} & strange \\
Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} & up-to-date \\
\hline
Serbian & Dejan Milosavljevic & {\tt dmilos@email.com} & 1.3.3 \\
\hline
......
Summary: A documentation system for C/C++.
Name: doxygen
Version: 1.3.4_20031005
Version: 1.3.4_20031019
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
......
......@@ -72,6 +72,7 @@ class ClassDef : public Definition
QCString getSourceFileBase() const;
QCString getReference() const;
bool isReference() const;
bool isLocal() const { return m_isLocal; }
bool hasDocumentation() const;
......
......@@ -71,7 +71,11 @@ void ClassSDict::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *f
)
{
bool isLink = cd->isLinkable();
if (isLink || !Config_getBool("HIDE_UNDOC_CLASSES"))
if (isLink ||
(!Config_getBool("HIDE_UNDOC_CLASSES") &&
(!cd->isLocal() || Config_getBool("EXTRACT_LOCAL_CLASSES"))
)
)
{
if (!found)
{
......@@ -127,8 +131,10 @@ void ClassSDict::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *f
ol.startMemberDescription();
ol.parseDoc(cd->briefFile(),cd->briefLine(),cd,0,
cd->briefDescription(),FALSE,FALSE);
if ((!cd->briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) ||
!cd->documentation().isEmpty())
if (//(!cd->briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) ||
//!cd->documentation().isEmpty())
cd->isLinkableInProject()
)
{
ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html);
......
......@@ -1245,6 +1245,22 @@ void Config::check()
Config_getBool("INLINE_INFO")=FALSE;
}
// add default words if needed
QStrList &annotationFromBrief = Config_getList("ABBREVIATE_BRIEF");
if (annotationFromBrief.isEmpty())
{
annotationFromBrief.append("The $name class");
annotationFromBrief.append("The $name widget");
annotationFromBrief.append("The $name file");
annotationFromBrief.append("is");
annotationFromBrief.append("provides");
annotationFromBrief.append("specifies");
annotationFromBrief.append("contains");
annotationFromBrief.append("represents");
annotationFromBrief.append("a");
annotationFromBrief.append("an");
annotationFromBrief.append("the");
}
}
void Config::init()
......@@ -1419,6 +1435,17 @@ void Config::create()
"brief descriptions will be completely suppressed. \n",
TRUE
);
cl = addList(
"ABBREVIATE_BRIEF",
"This tag implements a quasi-intelligent brief description abbreviator \n"
"that is used to form the text in various listings. Each string \n"
"in this list, if found as the leading text of the brief description, will be \n"
"stripped from the text and the result after processing the whole list, is used \n"
"as the annotated text. Otherwise, the brief description is used as-is. If left \n"
"blank, the following values are used (\"$name\" is automatically replaced with the \n"
"name of the entity): \"The $name class\" \"The $name widget\" \"The $name file\" \n"
"\"is\" \"provides\" \"specifies\" \"contains\" \"represents\" \"a\" \"an\" \"the\"\n"
);
cb = addBool(
"ALWAYS_DETAILED_SEC",
"If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then \n"
......
......@@ -1218,6 +1218,8 @@ DocAnchor::DocAnchor(DocNode *parent,const QString &id,bool newAnchor)
else
{
warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: Invalid anchor id `%s'",id.data());
m_anchor = "invalid";
m_file = "invalid";
}
}
}
......@@ -4730,7 +4732,7 @@ void DocRoot::parse()
}
else
{
warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: Invalid anchor id `%s'; ignoring section",g_token->sectionId.data());
warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: Invalid section id `%s'; ignoring section",g_token->sectionId.data());
retval = 0;
}
}
......
......@@ -248,9 +248,9 @@ class DirEntry
{
public:
enum EntryKind { Dir, File };
DirEntry::DirEntry(DirEntry *parent,FileDef *fd)
DirEntry(DirEntry *parent,FileDef *fd)
: m_parent(parent), m_kind(File), m_fd(fd), m_isLast(FALSE) { }
DirEntry::DirEntry(DirEntry *parent)
DirEntry(DirEntry *parent)
: m_parent(parent), m_kind(Dir), m_fd(0), m_isLast(FALSE) { }
virtual ~DirEntry() { }
EntryKind kind() const { return m_kind; }
......
......@@ -749,7 +749,7 @@ void FTVHelp::generateTreeView()
t << " </script>\n";
t << " </head>\n";
t << "\n";
t << " <body bgcolor=\"#ffffff\">\n";
t << " <body>\n";
t << " <div class=\"directory\">\n";
t << " <h3>";
QCString &projName = Config_getString("PROJECT_NAME");
......
......@@ -205,7 +205,8 @@ bool GroupDef::insertMember(MemberDef *md,bool docOnly)
(srcMd->getOuterScope()->definitionType()==Definition::TypeFile &&
md->getOuterScope()->definitionType()==Definition::TypeFile);
if (matchArguments(srcMd->argumentList(),md->argumentList()) &&
if (srcMd->isFunction() && md->isFunction() &&
matchArguments(srcMd->argumentList(),md->argumentList()) &&
sameScope
)
{
......@@ -690,7 +691,8 @@ void addGroupToGroups(Entry *root,GroupDef *subGroup)
/*! Add a member to the group with the highest priority */
void addMemberToGroups(Entry *root,MemberDef *md)
{
//printf(" Root %p = %s, md %p=%s groups=%d\n", root, root->name.data(), md, md->name().data(), root->groups->count() );
//printf("addMemberToGroups: Root %p = %s, md %p=%s groups=%d\n",
// root, root->name.data(), md, md->name().data(), root->groups->count() );
QListIterator<Grouping> gli(*root->groups);
Grouping *g;
......
......@@ -20,6 +20,7 @@
#include <qtextstream.h>
#include <qdatetime.h>
#include <qdir.h>
#include <qregexp.h>
#include "message.h"
#include "index.h"
......@@ -136,34 +137,28 @@ bool stripWord(QCString &s,QCString w)
// some quasi intelligent brief description abbreviator :^)
QCString abbreviate(const char *s,const char *name)
{
QCString scopelessName=name;
int i=scopelessName.findRev("::");
if (i!=-1) scopelessName=scopelessName.mid(i);
QCString result=s;
QCString start1=(QCString)"The "+name+" class ";
QCString start2=(QCString)"The "+name+" widget ";
QCString start3=(QCString)"The "+name+" file ";
result=result.stripWhiteSpace();
// strip trailing .
if (!result.isEmpty() && result.at(result.length()-1)=='.')
result=result.left(result.length()-1);
bool found=FALSE;
found = found || stripWord(result,start1);
found = found || stripWord(result,start2);
found = found || stripWord(result,start3);
if (found)
// strip any predefined prefix
QStrList &briefDescAbbrev = Config_getList("ANNOTATION_FROM_BRIEF");
const char *p = briefDescAbbrev.first();
while (p)
{
bool found=FALSE;
found = found || stripWord(result,"is ");
found = found || stripWord(result,"provides ");
found = found || stripWord(result,"specifies ");
found = found || stripWord(result,"contains ");
found = found || stripWord(result,"represents ");
found = found || stripWord(result,"implements ");
if (found)
{
stripWord(result,"a ");
stripWord(result,"an ");
stripWord(result,"the ");
}
QCString s = p;
s.replace(QRegExp("\\$name"), scopelessName); // replace $name with entity name
s += " ";
stripWord(result,s);
p = briefDescAbbrev.next();
}
// capitalize first word
if (!result.isEmpty())
{
int c=result[0];
......@@ -1320,13 +1315,13 @@ void writeAnnotatedClassList(OutputList &ol)
void writeAlphabeticalClassList(OutputList &ol)
{
//ol.startAlphabeticalIndexList();
ol.writeString("<table align=center width=\"95%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n");
// first count the number of headers
ClassSDict::Iterator cli(Doxygen::classSDict);
ClassDef *cd;
char startLetter=0;
int headerItems=0;
QCString alphaLinks = "<p><div class=\"qindex\">";
for (;(cd=cli.current());++cli)
{
if (cd->isLinkableInProject() && cd->templateMaster()==0)
......@@ -1336,10 +1331,18 @@ void writeAlphabeticalClassList(OutputList &ol)
if (toupper(cd->className().at(index))!=startLetter) // new begin letter => new header
{
startLetter=toupper(cd->className().at(index));
if (headerItems) alphaLinks += "&nbsp;|&nbsp;";
headerItems++;
alphaLinks += (QCString)"<a class=\"qindex\" href=\"#letter_" +
startLetter + "\">" +
startLetter + "</a>";
}
}
}
alphaLinks += "</div><p>\n";
ol.writeString(alphaLinks);
ol.writeString("<table align=center width=\"95%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n");
// the number of columns in the table
const int columns = Config_getInt("COLS_IN_ALPHA_INDEX");
......@@ -1419,6 +1422,9 @@ void writeAlphabeticalClassList(OutputList &ol)
startLetter=toupper(cd->className().at(index));
char s[2]; s[0]=startLetter; s[1]=0;
//ol.writeIndexHeading(s);
ol.writeString("<a name=\"letter_");
ol.writeString(s);
ol.writeString("\"></a>");
ol.writeString("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"
"<tr>"
"<td><div class=\"ah\">&nbsp;&nbsp;");
......@@ -1476,6 +1482,8 @@ void writeAlphabeticalClassList(OutputList &ol)
}
//ol.endAlphabeticalIndexList();
ol.writeString("</table>");
ol.writeString(alphaLinks);
// release the temporary memory
for (i=0;i<columns;i++)
......
......@@ -21,205 +21,142 @@
#include <qfile.h>
#include <qdir.h>
unsigned char doxygen_png_data[] = {
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x35,
0x08, 0x02, 0x00, 0x00, 0x00, 0x2f, 0x70, 0x49, 0x98, 0x00, 0x00, 0x00,
0x06, 0x74, 0x52, 0x4e, 0x53, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x37,
0x58, 0x1b, 0x7d, 0x00, 0x00, 0x00, 0x06, 0x62, 0x4b, 0x47, 0x44, 0x00,
0xff, 0x00, 0xff, 0x00, 0xe2, 0xc3, 0xbb, 0xcb, 0x4a, 0x00, 0x00, 0x08,
0x33, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xed, 0x58, 0x6b, 0x6c, 0x54,
0x55, 0x10, 0xde, 0xc4, 0x67, 0x34, 0x04, 0x34, 0x2a, 0x54, 0x4a, 0x77,
0x31, 0x29, 0x62, 0x44, 0x25, 0xa6, 0x60, 0x2d, 0xed, 0xb6, 0xc1, 0x26,
0xfa, 0xc3, 0x44, 0x25, 0x1a, 0x89, 0x34, 0xa5, 0xd1, 0x22, 0xbf, 0x30,
0x21, 0x01, 0xa3, 0x89, 0xf1, 0x81, 0xb6, 0xf1, 0x07, 0xd5, 0xa4, 0xfc,
0x90, 0x26, 0x46, 0x69, 0xd2, 0x1a, 0x45, 0xa5, 0x15, 0x51, 0xd0, 0x3e,
0x56, 0x28, 0x5d, 0x2c, 0x8a, 0x01, 0x84, 0xd2, 0xc7, 0xb6, 0x97, 0x76,
0x23, 0x3f, 0x4a, 0x42, 0x51, 0xa0, 0x4f, 0xe8, 0xf5, 0x3b, 0x33, 0xe7,
0x9c, 0x3d, 0xdb, 0x6e, 0x77, 0xb7, 0xf5, 0x4a, 0xd1, 0xdc, 0xc9, 0xe4,
0x66, 0x76, 0xce, 0x37, 0x33, 0xdf, 0x7c, 0xbb, 0x7b, 0x7b, 0xb7, 0x1e,
0xdb, 0x35, 0x87, 0xcc, 0x33, 0xd3, 0x04, 0xfe, 0x3f, 0xe6, 0x4a, 0xe9,
0x98, 0x4d, 0x59, 0x4a, 0x4f, 0x2c, 0x9b, 0xe9, 0x2d, 0xae, 0x09, 0x9b,
0x8e, 0x94, 0x81, 0x40, 0xb5, 0x65, 0xfd, 0xc4, 0x8e, 0xd8, 0x95, 0x92,
0x6d, 0x3a, 0x52, 0x42, 0x41, 0xdb, 0x0e, 0xb1, 0x23, 0x76, 0xa5, 0x64,
0x73, 0xa5, 0x74, 0xcc, 0x5c, 0x29, 0x1d, 0x33, 0x57, 0x4a, 0xc7, 0xcc,
0x95, 0xd2, 0x31, 0x73, 0xa5, 0x74, 0xcc, 0x5c, 0x29, 0x1d, 0xb3, 0x69,
0x4b, 0xd9, 0xa5, 0xa4, 0xdc, 0xef, 0x4a, 0xc9, 0x36, 0x3d, 0x29, 0x0f,
0xd8, 0xb6, 0x45, 0xde, 0x8d, 0xd8, 0x95, 0x92, 0x2d, 0x81, 0x0a, 0x31,
0x7f, 0x26, 0x5a, 0xd6, 0x41, 0xdb, 0x3e, 0xcd, 0x8e, 0x58, 0x4b, 0xe9,
0x99, 0xdc, 0x62, 0x36, 0x9c, 0x2c, 0x19, 0xff, 0x27, 0x69, 0xc2, 0x0e,
0xf1, 0x7f, 0xd7, 0xc6, 0xc7, 0x78, 0x12, 0xd9, 0x74, 0xa4, 0xe4, 0xca,
0x40, 0xe0, 0x0b, 0xcb, 0x0a, 0x5a, 0x56, 0x33, 0x5d, 0x65, 0x60, 0xdb,
0x3d, 0xb6, 0xdd, 0xcb, 0x8e, 0x97, 0x7a, 0xff, 0x09, 0x60, 0xf6, 0x43,
0x81, 0xc0, 0xce, 0x68, 0x0c, 0x00, 0xcd, 0x08, 0xc6, 0x15, 0xe2, 0x5a,
0x54, 0xf4, 0x1c, 0x5e, 0xe2, 0xaa, 0x33, 0x13, 0x85, 0x50, 0x1d, 0xe4,
0x69, 0x34, 0xcf, 0xa0, 0x41, 0x40, 0xd2, 0x30, 0x07, 0x45, 0x23, 0x23,
0x4b, 0xe9, 0x56, 0x9a, 0xde, 0xb8, 0x95, 0xcd, 0x89, 0x53, 0x93, 0x52,
0x8f, 0xb4, 0xed, 0xb0, 0x56, 0x4d, 0xb9, 0x99, 0x09, 0x43, 0x29, 0x80,
0xf3, 0xf2, 0x1e, 0x05, 0x5e, 0x1d, 0x85, 0xc7, 0xc1, 0x58, 0x4d, 0xc2,
0xec, 0xd4, 0x47, 0x68, 0x8e, 0x8c, 0xcf, 0x97, 0x8a, 0x2b, 0x0d, 0x8a,
0x74, 0x53, 0xa3, 0x23, 0xef, 0x93, 0xc1, 0x4a, 0x77, 0x10, 0x60, 0x9e,
0x8b, 0xc0, 0xe0, 0x16, 0x8e, 0x8e, 0x65, 0x4f, 0xae, 0x55, 0x83, 0x62,
0x20, 0xf9, 0xfd, 0x56, 0xad, 0xc2, 0x13, 0x56, 0x0e, 0x2b, 0xd8, 0xa4,
0x6a, 0x4e, 0x2a, 0xa5, 0x31, 0x35, 0x8e, 0x94, 0x72, 0x5b, 0xd2, 0xb1,
0x37, 0xbe, 0x2b, 0x12, 0x51, 0x19, 0x7c, 0x00, 0xcd, 0x41, 0xdc, 0xcd,
0x90, 0xa6, 0xd7, 0xfc, 0x4c, 0x7d, 0xf8, 0xe1, 0x5b, 0xd1, 0x47, 0x3b,
0x8d, 0xb7, 0x21, 0xc1, 0x5c, 0xe3, 0x9d, 0x96, 0x83, 0xc6, 0x15, 0xaa,
0xd1, 0xc1, 0xa4, 0x17, 0x49, 0x42, 0x4a, 0x1a, 0xfc, 0xb9, 0xbe, 0x1b,
0xd2, 0x9f, 0x17, 0x71, 0x4f, 0x64, 0xd7, 0x19, 0x0e, 0xf8, 0x5e, 0x69,
0x59, 0x4d, 0x06, 0x1e, 0xe0, 0x26, 0x03, 0xac, 0x3b, 0x34, 0x4d, 0xe8,
0x7c, 0x3a, 0xfa, 0xb6, 0xdb, 0x54, 0x54, 0xf4, 0xac, 0xfa, 0xe8, 0x45,
0x92, 0x5a, 0x4a, 0x63, 0xba, 0x98, 0x9b, 0x97, 0x97, 0x09, 0x1f, 0x77,
0xe3, 0x0e, 0x87, 0x0f, 0x99, 0x24, 0x99, 0xde, 0xb8, 0xfb, 0x3b, 0x38,
0xd0, 0x6d, 0xe4, 0x59, 0x93, 0xa1, 0x5a, 0xe4, 0xa0, 0x49, 0x8f, 0x09,
0x4c, 0x94, 0x62, 0x0a, 0x52, 0x5a, 0xdd, 0xfc, 0xe4, 0xd8, 0x69, 0x8f,
0x75, 0xe2, 0x1a, 0x08, 0x54, 0xe5, 0xe5, 0x3d, 0xe2, 0xf3, 0xcd, 0xcf,
0xcf, 0xcf, 0x42, 0x2c, 0xf2, 0xca, 0xd5, 0x73, 0x25, 0x3d, 0x66, 0x8e,
0x85, 0x4c, 0x30, 0xae, 0x12, 0x8c, 0xbc, 0xe8, 0x13, 0xe2, 0x23, 0xf1,
0x2c, 0x35, 0xd6, 0x69, 0x36, 0xa1, 0x5a, 0x51, 0x88, 0xef, 0x3b, 0xdd,
0x2e, 0x32, 0xd5, 0xa3, 0x2b, 0x4d, 0x6f, 0xac, 0x22, 0x7d, 0xab, 0x44,
0x15, 0xf5, 0x11, 0xad, 0x1a, 0xab, 0xa9, 0x7f, 0xb5, 0x2a, 0x17, 0xcd,
0x41, 0x6f, 0xe9, 0xd2, 0xfb, 0xf2, 0xf3, 0x57, 0x74, 0xab, 0x72, 0xa6,
0x27, 0x6b, 0x8d, 0x07, 0x61, 0x95, 0x0c, 0xe9, 0x29, 0x58, 0x19, 0x49,
0x2a, 0xec, 0x94, 0x9c, 0x69, 0x97, 0xa2, 0xa2, 0x55, 0x96, 0x4e, 0x46,
0xad, 0x9c, 0x48, 0x4a, 0x80, 0x1a, 0x1b, 0x3e, 0x19, 0xbb, 0xfc, 0xbb,
0xf6, 0xee, 0xd0, 0x0f, 0x79, 0xb9, 0xcb, 0x90, 0xbf, 0xfe, 0xfa, 0xeb,
0xe6, 0xcc, 0x99, 0x95, 0xff, 0x58, 0x26, 0x32, 0xb6, 0x71, 0x8a, 0x23,
0x8a, 0x4f, 0x98, 0x60, 0x36, 0xc4, 0xc8, 0xe8, 0x56, 0x16, 0x81, 0x1b,
0x1b, 0x65, 0x7f, 0xdb, 0x98, 0x82, 0xa1, 0x66, 0x21, 0x71, 0x38, 0xa1,
0x47, 0x14, 0xad, 0x7d, 0x4a, 0x0e, 0xbd, 0x12, 0x99, 0xe2, 0xf3, 0xdd,
0xad, 0x9b, 0x23, 0x78, 0xe2, 0xf1, 0x6c, 0x26, 0x89, 0x77, 0xb1, 0x61,
0xef, 0x07, 0x36, 0xf5, 0x67, 0x7a, 0x0c, 0xb3, 0x23, 0xdd, 0x9e, 0xd6,
0x1c, 0x34, 0xed, 0x40, 0xc3, 0x27, 0x0a, 0x79, 0x82, 0x93, 0x96, 0x9a,
0x62, 0x19, 0xe5, 0x7a, 0xe5, 0xa4, 0xa4, 0xec, 0xea, 0xa8, 0xb9, 0x32,
0xd4, 0x72, 0x65, 0xe8, 0x67, 0x71, 0x1d, 0x6e, 0xe9, 0x6a, 0xaf, 0xf5,
0x79, 0x53, 0x78, 0x43, 0x41, 0xd4, 0x9b, 0x82, 0x0c, 0x1f, 0x01, 0x83,
0x18, 0x79, 0x06, 0x8f, 0xd1, 0x4b, 0x0d, 0x86, 0x09, 0x70, 0x47, 0xcd,
0x98, 0xec, 0x86, 0xd3, 0x1a, 0x24, 0x73, 0xfd, 0x0f, 0x53, 0x07, 0x2a,
0x11, 0x4d, 0x5a, 0xba, 0xdb, 0x6b, 0x8b, 0x0a, 0x9f, 0x34, 0x9f, 0x39,
0x14, 0x46, 0x4d, 0xe9, 0xa8, 0xd5, 0x7c, 0xae, 0x0c, 0xff, 0xdc, 0x58,
0xf7, 0x11, 0xc3, 0x74, 0xfe, 0x8f, 0xde, 0xef, 0xd7, 0x16, 0x3e, 0x89,
0x77, 0x9a, 0x87, 0x42, 0x4a, 0xce, 0xf3, 0xda, 0x02, 0x46, 0x85, 0xb4,
0x57, 0x4b, 0xa4, 0xf3, 0xb0, 0xe0, 0xdc, 0xf8, 0xe3, 0x47, 0x18, 0x27,
0x1b, 0x46, 0x8e, 0x30, 0xb4, 0x06, 0xad, 0xe4, 0xbe, 0x84, 0xe4, 0x9e,
0xe8, 0x36, 0x05, 0x29, 0x2f, 0x5f, 0xaa, 0x17, 0x7e, 0xb1, 0x01, 0x1e,
0x3a, 0x59, 0xe5, 0xf3, 0xce, 0xd3, 0x4b, 0x7a, 0xbd, 0xf3, 0x42, 0x27,
0xab, 0xe9, 0x08, 0x80, 0x7a, 0xc4, 0x48, 0x52, 0xcc, 0xe0, 0x6a, 0x80,
0xa1, 0xb8, 0xd2, 0x1d, 0xe0, 0x2a, 0x46, 0x0a, 0x70, 0xab, 0xf8, 0xaa,
0xe6, 0xe6, 0x3c, 0x44, 0x1d, 0xa8, 0x44, 0x0c, 0x12, 0xad, 0xb0, 0xbc,
0x39, 0x05, 0x31, 0x32, 0xa3, 0x1a, 0x23, 0xc7, 0x89, 0x18, 0x4d, 0xd0,
0x81, 0x61, 0x0d, 0xfb, 0xca, 0x14, 0xa0, 0xfe, 0x48, 0xb0, 0x62, 0x6d,
0xc1, 0xe3, 0x8b, 0x17, 0x2d, 0x30, 0xfb, 0xf3, 0xda, 0x82, 0xc3, 0xa5,
0xa8, 0x71, 0xdc, 0x10, 0xb0, 0x86, 0xbd, 0x65, 0xa8, 0xd2, 0xa3, 0x89,
0xad, 0x5e, 0x4d, 0x2c, 0x1e, 0x59, 0x41, 0x14, 0x4a, 0x41, 0x92, 0x95,
0x12, 0xfc, 0x46, 0xcf, 0xd7, 0xc0, 0x47, 0xc8, 0x3b, 0x8f, 0x57, 0xe4,
0x66, 0x2f, 0x89, 0x7c, 0x5e, 0xb2, 0x97, 0x84, 0x8e, 0x57, 0x8c, 0xf6,
0x8b, 0xa3, 0x51, 0x3a, 0x45, 0x52, 0x80, 0xfb, 0x85, 0xe3, 0xe8, 0xb1,
0xbc, 0x87, 0xe6, 0xcd, 0x9d, 0x73, 0xf3, 0x4d, 0x37, 0xcc, 0x99, 0x7d,
0x2b, 0x62, 0x64, 0x90, 0x07, 0x1e, 0x98, 0xba, 0x3d, 0x5b, 0x50, 0x5e,
0xf7, 0xed, 0x16, 0x06, 0x73, 0x72, 0xb4, 0x7f, 0xd7, 0xe8, 0x84, 0x29,
0x6a, 0xd0, 0xf6, 0xd1, 0xf3, 0xbb, 0x88, 0xcc, 0x2e, 0x8d, 0xaf, 0xdf,
0xf3, 0xae, 0x89, 0xa9, 0xdb, 0xf3, 0xae, 0xa4, 0xda, 0x5f, 0x13, 0x6e,
0xff, 0x14, 0x7d, 0x42, 0xc7, 0xb6, 0xeb, 0xce, 0xbc, 0x76, 0xfd, 0x9e,
0x2d, 0xbc, 0x91, 0xcc, 0xd3, 0x38, 0xf4, 0x29, 0x7c, 0x61, 0x25, 0x1c,
0x1d, 0xe0, 0x3c, 0x3d, 0x74, 0x0c, 0x6c, 0xc5, 0x2c, 0x5a, 0x7c, 0xbb,
0x37, 0xed, 0x2e, 0x38, 0x1a, 0x8e, 0x80, 0x00, 0x53, 0x45, 0x4f, 0x5a,
0x39, 0xd9, 0x3f, 0x3b, 0x1d, 0xbf, 0x6d, 0x1d, 0xe9, 0xdb, 0x31, 0x7c,
0x96, 0xbc, 0xaf, 0xb2, 0xae, 0xf6, 0xb5, 0xdc, 0x15, 0x8b, 0xbd, 0x0b,
0xee, 0xf0, 0xaf, 0x58, 0x8c, 0x78, 0xf8, 0x6c, 0xe5, 0x30, 0x9f, 0xf6,
0xed, 0xe8, 0xf8, 0xad, 0x0c, 0xf8, 0xce, 0x23, 0x65, 0x80, 0x09, 0x3f,
0x5b, 0x79, 0x60, 0xef, 0x9b, 0x2f, 0x16, 0xe4, 0xde, 0x9b, 0x9e, 0xb2,
0xd2, 0x7f, 0x3f, 0x81, 0x77, 0x8c, 0xc0, 0xfb, 0x2a, 0x81, 0xc9, 0x55,
0xe5, 0x23, 0xc2, 0x45, 0x07, 0xe4, 0x47, 0xa8, 0x0a, 0xad, 0x70, 0x84,
0xfe, 0x91, 0x8f, 0xff, 0x82, 0x3b, 0xea, 0x6a, 0x5f, 0xe7, 0x9e, 0x23,
0x44, 0x43, 0x8f, 0x33, 0x0d, 0x25, 0x48, 0x12, 0xd5, 0x4a, 0x9a, 0xc5,
0xcd, 0xa9, 0xe7, 0xd9, 0x4a, 0x5e, 0x5b, 0x61, 0x28, 0xdf, 0x57, 0xd9,
0x71, 0xa4, 0xac, 0x70, 0x75, 0x76, 0xe1, 0xea, 0x1c, 0xf4, 0xef, 0x38,
0xb2, 0x95, 0xf3, 0x98, 0x4e, 0x8b, 0x97, 0xa9, 0xc5, 0x05, 0x0c, 0x1c,
0xe0, 0x50, 0x83, 0xb7, 0x60, 0x32, 0xcc, 0x21, 0x59, 0x29, 0x7f, 0xfc,
0x6a, 0xc3, 0xd0, 0x99, 0xf2, 0xa1, 0x33, 0xdb, 0xe0, 0x83, 0x74, 0x6d,
0x6f, 0x79, 0x87, 0xfc, 0x6d, 0x7e, 0x49, 0xa7, 0x02, 0xd0, 0xd6, 0xf2,
0x0e, 0xe1, 0x5f, 0x19, 0x92, 0x79, 0xe0, 0xcb, 0x7b, 0x8e, 0xbe, 0x07,
0x24, 0x5c, 0xc1, 0x04, 0x12, 0x18, 0x7f, 0x56, 0x3a, 0xbf, 0x1c, 0xa4,
0x0c, 0xf7, 0xd4, 0x55, 0x1a, 0x13, 0x91, 0x29, 0x2b, 0x9d, 0x9a, 0x6c,
0x53, 0x64, 0xca, 0x01, 0x98, 0xf8, 0x63, 0x0e, 0x6c, 0xdb, 0x64, 0x9f,
0x72, 0x8d, 0xe4, 0xb6, 0xbc, 0xb6, 0x77, 0xc1, 0xed, 0x8a, 0xa1, 0x3c,
0x6d, 0x53, 0xa3, 0x07, 0x55, 0x55, 0x3b, 0x2d, 0xd2, 0x1e, 0xe9, 0x23,
0xe8, 0xa1, 0x10, 0xae, 0x49, 0x0e, 0x29, 0x29, 0x92, 0x95, 0x92, 0xd5,
0xfc, 0xe1, 0x8b, 0xe2, 0x81, 0xde, 0xd2, 0xc1, 0xde, 0x52, 0xba, 0x96,
0x20, 0x18, 0xec, 0xa1, 0x97, 0x3d, 0x25, 0x08, 0xf8, 0x68, 0xb0, 0xa7,
0xa4, 0xad, 0x79, 0x13, 0xc0, 0x6b, 0x9e, 0x59, 0x34, 0xd0, 0x53, 0x2a,
0xf3, 0x0c, 0x20, 0xbf, 0x14, 0x7a, 0x95, 0xbd, 0xf5, 0xa7, 0x97, 0x81,
0x69, 0x0b, 0x6e, 0xe6, 0x53, 0x34, 0x3c, 0xd5, 0xbc, 0xd9, 0xff, 0xe8,
0x42, 0x7f, 0xe6, 0xc2, 0x53, 0x48, 0x8a, 0xfe, 0x25, 0x03, 0x54, 0x8e,
0xb9, 0x62, 0xf9, 0xd4, 0xdb, 0xf8, 0x0a, 0x98, 0x9c, 0xde, 0x5b, 0x8a,
0xd8, 0x33, 0x89, 0xf9, 0x33, 0xef, 0x41, 0x21, 0xfa, 0xb7, 0x35, 0xcb,
0x11, 0x4c, 0x9b, 0xd7, 0x66, 0x03, 0xc0, 0x64, 0x88, 0xab, 0xb9, 0x20,
0x68, 0x00, 0x43, 0x0c, 0x45, 0x66, 0x40, 0x64, 0x36, 0x81, 0x80, 0xe0,
0x10, 0xdc, 0x24, 0xe8, 0x49, 0x05, 0x24, 0x32, 0x59, 0x29, 0x59, 0xcd,
0x7d, 0x9f, 0xad, 0x26, 0x21, 0x36, 0xb3, 0x1c, 0x03, 0x5d, 0x74, 0x55,
0xea, 0x90, 0x40, 0xeb, 0xf7, 0x55, 0xaf, 0x06, 0x32, 0xe7, 0x91, 0x34,
0x04, 0xad, 0xfb, 0xd7, 0x9b, 0xf8, 0x08, 0x6c, 0xff, 0x7a, 0xe8, 0x38,
0x7b, 0xd6, 0x8d, 0xc0, 0x6b, 0x00, 0xf0, 0xde, 0xd4, 0xd9, 0x70, 0x04,
0x0a, 0xb9, 0x19, 0xc8, 0x6d, 0x6f, 0x2c, 0x26, 0x11, 0x67, 0xf3, 0x35,
0x52, 0xd2, 0xf5, 0x2a, 0xcf, 0x8a, 0x6f, 0xcc, 0x44, 0x94, 0x74, 0xc9,
0xb7, 0xd0, 0x3c, 0xc5, 0x46, 0xc8, 0x0c, 0x50, 0x37, 0xbd, 0x08, 0x5e,
0xea, 0x45, 0x10, 0x0c, 0x48, 0xfe, 0x82, 0x0c, 0x33, 0x94, 0x7b, 0x75,
0x49, 0xe6, 0xc0, 0x4c, 0x59, 0xca, 0x82, 0x67, 0x16, 0xed, 0x2e, 0x5f,
0x78, 0xb2, 0xee, 0xf9, 0x8b, 0xad, 0xc5, 0x17, 0x5a, 0x8b, 0x2f, 0x9e,
0x2a, 0x96, 0x41, 0x6b, 0x31, 0x92, 0x38, 0x02, 0x20, 0x67, 0x79, 0x8a,
0x77, 0xfe, 0xac, 0xb4, 0xf9, 0xb3, 0x10, 0x40, 0xaf, 0x93, 0xf5, 0xcf,
0x5f, 0x20, 0x8c, 0xf4, 0x53, 0x02, 0x89, 0x3c, 0x00, 0x80, 0x15, 0x10,
0x80, 0xcb, 0x0b, 0x28, 0x09, 0x5f, 0x63, 0x24, 0xa1, 0x23, 0xfa, 0x08,
0x11, 0xe7, 0x8b, 0xc7, 0x1a, 0xc4, 0x34, 0x7d, 0xdd, 0x45, 0xea, 0x13,
0x5b, 0xbb, 0xe5, 0x29, 0xdb, 0x4b, 0xfd, 0x5c, 0xc5, 0x26, 0xa6, 0xd4,
0x49, 0x1a, 0x58, 0x7b, 0xe3, 0x4b, 0x0f, 0x9a, 0x60, 0x35, 0x6e, 0xdd,
0x05, 0x63, 0x17, 0x0d, 0xd0, 0x85, 0xcc, 0x1c, 0x78, 0xe6, 0x40, 0xc8,
0x75, 0xbc, 0x3e, 0xe3, 0x93, 0xbd, 0x57, 0xc2, 0x02, 0x15, 0x15, 0xf6,
0xaf, 0xbf, 0xc6, 0x77, 0x6b, 0xf7, 0xee, 0x71, 0x9e, 0x10, 0x60, 0x62,
0xe2, 0x24, 0x31, 0x1d, 0x1c, 0xbe, 0xfb, 0x38, 0xe7, 0xcf, 0xa3, 0xab,
0xfe, 0x22, 0xff, 0xee, 0x63, 0x3f, 0x32, 0x1a, 0xcc, 0x01, 0x63, 0xe8,
0x34, 0x27, 0x3b, 0xe3, 0xce, 0xb4, 0xbb, 0x6f, 0xc9, 0xc9, 0xb8, 0x93,
0x33, 0xec, 0xbc, 0x76, 0x7c, 0x92, 0x26, 0x93, 0x98, 0xf9, 0x89, 0xc9,
0x64, 0x1f, 0x86, 0x36, 0xce, 0x9d, 0xfb, 0xa9, 0xcf, 0xf7, 0x7d, 0x7a,
0xfa, 0x0c, 0x3a, 0x08, 0x80, 0xc9, 0xf1, 0xdd, 0x59, 0xe7, 0x7f, 0x59,
0x29, 0xfc, 0xf0, 0x4a, 0xbc, 0x8c, 0x89, 0xc1, 0xd1, 0x9f, 0x87, 0x05,
0x00, 0xe0, 0xe3, 0xdf, 0x64, 0x89, 0x92, 0xc3, 0xb2, 0x04, 0x79, 0x96,
0xd2, 0x59, 0x62, 0xef, 0xa7, 0xa6, 0xf2, 0xa7, 0x2d, 0xb1, 0x94, 0x30,
0xa0, 0x51, 0x33, 0x83, 0x0e, 0x0e, 0xc7, 0xbe, 0x7e, 0xa0, 0x3f, 0xb8,
0xec, 0x5c, 0x73, 0x46, 0x7f, 0x73, 0xc6, 0xd1, 0xaf, 0xc5, 0x97, 0x34,
0x26, 0xac, 0x3f, 0x98, 0x01, 0x58, 0x7f, 0xf3, 0x32, 0x0a, 0x84, 0x9f,
0x43, 0x55, 0x50, 0x54, 0x21, 0x46, 0x93, 0x98, 0x85, 0xff, 0xd0, 0xf1,
0x69, 0x4b, 0x2c, 0xa5, 0x9d, 0xc4, 0x7f, 0x92, 0xaf, 0x8e, 0x1d, 0xfd,
0x72, 0xd1, 0xb9, 0xa6, 0x25, 0xec, 0x25, 0x1b, 0x52, 0x26, 0x83, 0xe1,
0x96, 0xad, 0x61, 0xe3, 0x1c, 0x47, 0xff, 0x2a, 0xc3, 0x64, 0xff, 0xec,
0xcc, 0xac, 0x99, 0x1a, 0x41, 0x53, 0x8f, 0xc7, 0x13, 0x1f, 0x69, 0xea,
0xce, 0x25, 0xac, 0xe3, 0x55, 0xe5, 0x3c, 0xd3, 0xa2, 0x4d, 0xce, 0x4c,
0x69, 0x94, 0x50, 0x14, 0xfd, 0xf1, 0x04, 0x58, 0xe3, 0xaf, 0xb2, 0x8e,
0xf6, 0xb5, 0x2c, 0x25, 0x2c, 0x6d, 0xde, 0x8d, 0xec, 0x49, 0x6d, 0x32,
0xf9, 0x57, 0xef, 0xea, 0xd8, 0x35, 0x2d, 0xe5, 0x7f, 0xcb, 0x5c, 0x29,
0x1d, 0x33, 0x57, 0x4a, 0xc7, 0xcc, 0x95, 0xd2, 0x31, 0x73, 0xa5, 0x74,
0xcc, 0x5c, 0x29, 0x1d, 0x33, 0x57, 0x4a, 0xc7, 0xcc, 0x95, 0xd2, 0x31,
0x73, 0xa5, 0x74, 0xcc, 0x5c, 0x29, 0x1d, 0x33, 0x57, 0x4a, 0xc7, 0xcc,
0x95, 0xd2, 0x31, 0x73, 0xa5, 0x74, 0xcc, 0x5c, 0x29, 0x1d, 0x33, 0x57,
0x4a, 0xc7, 0xcc, 0x95, 0xd2, 0x31, 0x73, 0xa5, 0x74, 0xcc, 0xfe, 0x06,
0xbe, 0x63, 0xe9, 0x2a, 0x3a, 0x4d, 0xca, 0xc2, 0x00, 0x00, 0x00, 0x43,
0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
0x00, 0x40, 0x28, 0x23, 0x29, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x61,
0x67, 0x69, 0x63, 0x6b, 0x20, 0x34, 0x2e, 0x32, 0x2e, 0x37, 0x20, 0x39,
0x39, 0x2f, 0x30, 0x37, 0x2f, 0x30, 0x31, 0x20, 0x63, 0x72, 0x69, 0x73,
0x74, 0x79, 0x40, 0x6d, 0x79, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x65, 0x73,
0x2e, 0x64, 0x75, 0x70, 0x6f, 0x6e, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6b,
0x02, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x2a, 0x74, 0x45, 0x58, 0x74, 0x53,
0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x00, 0x35, 0x34, 0x36,
0x33, 0x61, 0x37, 0x38, 0x35, 0x62, 0x62, 0x31, 0x31, 0x64, 0x33, 0x36,
0x37, 0x30, 0x32, 0x32, 0x37, 0x30, 0x31, 0x63, 0x37, 0x37, 0x65, 0x62,
0x65, 0x38, 0x31, 0x61, 0x62, 0x12, 0xbe, 0x63, 0xf7, 0x00, 0x00, 0x00,
0x0f, 0x74, 0x45, 0x58, 0x74, 0x50, 0x61, 0x67, 0x65, 0x00, 0x31, 0x31,
0x30, 0x78, 0x35, 0x33, 0x2b, 0x30, 0x2b, 0x30, 0xbb, 0x45, 0xd1, 0x42,
0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x2d,
0x08, 0x03, 0x00, 0x00, 0x00, 0x6f, 0x6b, 0x3e, 0xc2, 0x00, 0x00, 0x03,
0x00, 0x50, 0x4c, 0x54, 0x45, 0xff, 0xff, 0xff, 0xbf, 0xbe, 0xa4, 0xf7,
0xe4, 0x8c, 0xff, 0xfe, 0xd8, 0xf4, 0xda, 0x6f, 0xda, 0xcb, 0x86, 0xf9,
0xeb, 0xa1, 0xde, 0xdb, 0xb4, 0x00, 0x00, 0x00, 0xb9, 0xab, 0x71, 0xdf,
0xdf, 0xc4, 0x5b, 0x51, 0x26, 0xff, 0xff, 0xe1, 0xd7, 0xc3, 0x6d, 0xae,
0x92, 0x2b, 0xd5, 0xbb, 0x57, 0xf1, 0xcd, 0x49, 0xee, 0xc4, 0x30, 0xd1,
0xad, 0x2d, 0x3d, 0x37, 0x1d, 0x67, 0x5e, 0x37, 0x60, 0x5f, 0x50, 0x40,
0x3f, 0x32, 0xfd, 0xf8, 0xc9, 0xfc, 0xf4, 0xbc, 0xdc, 0xd4, 0x9f, 0xfb,
0xf0, 0xaf, 0x1f, 0x1d, 0x13, 0xff, 0xcc, 0xcc, 0xdf, 0xb2, 0xb2, 0xa9,
0x22, 0x22, 0x12, 0x14, 0x3e, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x22,
0x22, 0x22, 0x23, 0x23, 0x23, 0x24, 0x24, 0x24, 0x25, 0x25, 0x25, 0x26,
0x26, 0x26, 0x27, 0x27, 0x27, 0x28, 0x28, 0x28, 0x29, 0x29, 0x29, 0x2a,
0x2a, 0x2a, 0x2b, 0x2b, 0x2b, 0x2c, 0x2c, 0x2c, 0x2d, 0x2d, 0x2d, 0x2e,
0x2e, 0x2e, 0x2f, 0x2f, 0x2f, 0x30, 0x30, 0x30, 0x31, 0x31, 0x31, 0x32,
0x32, 0x32, 0x33, 0x33, 0x33, 0x34, 0x34, 0x34, 0x35, 0x35, 0x35, 0x36,
0x36, 0x36, 0x37, 0x37, 0x37, 0x38, 0x38, 0x38, 0x39, 0x39, 0x39, 0x3a,
0x3a, 0x3a, 0x3b, 0x3b, 0x3b, 0x3c, 0x3c, 0x3c, 0x3d, 0x3d, 0x3d, 0x3e,
0x3e, 0x3e, 0x3f, 0x3f, 0x3f, 0x40, 0x40, 0x40, 0x41, 0x41, 0x41, 0x42,
0x42, 0x42, 0x43, 0x43, 0x43, 0x44, 0x44, 0x44, 0x45, 0x45, 0x45, 0x46,
0x46, 0x46, 0x47, 0x47, 0x47, 0x48, 0x48, 0x48, 0x49, 0x49, 0x49, 0x4a,
0x4a, 0x4a, 0x4b, 0x4b, 0x4b, 0x4c, 0x4c, 0x4c, 0x4d, 0x4d, 0x4d, 0x4e,
0x4e, 0x4e, 0x4f, 0x4f, 0x4f, 0x50, 0x50, 0x50, 0x51, 0x51, 0x51, 0x52,
0x52, 0x52, 0x53, 0x53, 0x53, 0x54, 0x54, 0x54, 0x55, 0x55, 0x55, 0x56,
0x56, 0x56, 0x57, 0x57, 0x57, 0x58, 0x58, 0x58, 0x59, 0x59, 0x59, 0x5a,
0x5a, 0x5a, 0x5b, 0x5b, 0x5b, 0x5c, 0x5c, 0x5c, 0x5d, 0x5d, 0x5d, 0x5e,
0x5e, 0x5e, 0x5f, 0x5f, 0x5f, 0x60, 0x60, 0x60, 0x61, 0x61, 0x61, 0x62,
0x62, 0x62, 0x63, 0x63, 0x63, 0x64, 0x64, 0x64, 0x65, 0x65, 0x65, 0x66,
0x66, 0x66, 0x67, 0x67, 0x67, 0x68, 0x68, 0x68, 0x69, 0x69, 0x69, 0x6a,
0x6a, 0x6a, 0x6b, 0x6b, 0x6b, 0x6c, 0x6c, 0x6c, 0x6d, 0x6d, 0x6d, 0x6e,
0x6e, 0x6e, 0x6f, 0x6f, 0x6f, 0x70, 0x70, 0x70, 0x71, 0x71, 0x71, 0x72,
0x72, 0x72, 0x73, 0x73, 0x73, 0x74, 0x74, 0x74, 0x75, 0x75, 0x75, 0x76,
0x76, 0x76, 0x77, 0x77, 0x77, 0x78, 0x78, 0x78, 0x79, 0x79, 0x79, 0x7a,
0x7a, 0x7a, 0x7b, 0x7b, 0x7b, 0x7c, 0x7c, 0x7c, 0x7d, 0x7d, 0x7d, 0x7e,
0x7e, 0x7e, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x81, 0x81, 0x81, 0x82,
0x82, 0x82, 0x83, 0x83, 0x83, 0x84, 0x84, 0x84, 0x85, 0x85, 0x85, 0x86,
0x86, 0x86, 0x87, 0x87, 0x87, 0x88, 0x88, 0x88, 0x89, 0x89, 0x89, 0x8a,
0x8a, 0x8a, 0x8b, 0x8b, 0x8b, 0x8c, 0x8c, 0x8c, 0x8d, 0x8d, 0x8d, 0x8e,
0x8e, 0x8e, 0x8f, 0x8f, 0x8f, 0x90, 0x90, 0x90, 0x91, 0x91, 0x91, 0x92,
0x92, 0x92, 0x93, 0x93, 0x93, 0x94, 0x94, 0x94, 0x95, 0x95, 0x95, 0x96,
0x96, 0x96, 0x97, 0x97, 0x97, 0x98, 0x98, 0x98, 0x99, 0x99, 0x99, 0x9a,
0x9a, 0x9a, 0x9b, 0x9b, 0x9b, 0x9c, 0x9c, 0x9c, 0x9d, 0x9d, 0x9d, 0x9e,
0x9e, 0x9e, 0x9f, 0x9f, 0x9f, 0xa0, 0xa0, 0xa0, 0xa1, 0xa1, 0xa1, 0xa2,
0xa2, 0xa2, 0xa3, 0xa3, 0xa3, 0xa4, 0xa4, 0xa4, 0xa5, 0xa5, 0xa5, 0xa6,
0xa6, 0xa6, 0xa7, 0xa7, 0xa7, 0xa8, 0xa8, 0xa8, 0xa9, 0xa9, 0xa9, 0xaa,
0xaa, 0xaa, 0xab, 0xab, 0xab, 0xac, 0xac, 0xac, 0xad, 0xad, 0xad, 0xae,
0xae, 0xae, 0xaf, 0xaf, 0xaf, 0xb0, 0xb0, 0xb0, 0xb1, 0xb1, 0xb1, 0xb2,
0xb2, 0xb2, 0xb3, 0xb3, 0xb3, 0xb4, 0xb4, 0xb4, 0xb5, 0xb5, 0xb5, 0xb6,
0xb6, 0xb6, 0xb7, 0xb7, 0xb7, 0xb8, 0xb8, 0xb8, 0xb9, 0xb9, 0xb9, 0xba,
0xba, 0xba, 0xbb, 0xbb, 0xbb, 0xbc, 0xbc, 0xbc, 0xbd, 0xbd, 0xbd, 0xbe,
0xbe, 0xbe, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc1, 0xc1, 0xc1, 0xc2,
0xc2, 0xc2, 0xc3, 0xc3, 0xc3, 0xc4, 0xc4, 0xc4, 0xc5, 0xc5, 0xc5, 0xc6,
0xc6, 0xc6, 0xc7, 0xc7, 0xc7, 0xc8, 0xc8, 0xc8, 0xc9, 0xc9, 0xc9, 0xca,
0xca, 0xca, 0xcb, 0xcb, 0xcb, 0xcc, 0xcc, 0xcc, 0xcd, 0xcd, 0xcd, 0xce,
0xce, 0xce, 0xcf, 0xcf, 0xcf, 0xd0, 0xd0, 0xd0, 0xd1, 0xd1, 0xd1, 0xd2,
0xd2, 0xd2, 0xd3, 0xd3, 0xd3, 0xd4, 0xd4, 0xd4, 0xd5, 0xd5, 0xd5, 0xd6,
0xd6, 0xd6, 0xd7, 0xd7, 0xd7, 0xd8, 0xd8, 0xd8, 0xd9, 0xd9, 0xd9, 0xda,
0xda, 0xda, 0xdb, 0xdb, 0xdb, 0xdc, 0xdc, 0xdc, 0xdd, 0xdd, 0xdd, 0xde,
0xde, 0xde, 0xdf, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, 0xe2,
0xe2, 0xe2, 0xe3, 0xe3, 0xe3, 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe6,
0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9, 0xe9, 0xea,
0xea, 0xea, 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xed, 0xed, 0xed, 0xee,
0xee, 0xee, 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf2,
0xf2, 0xf2, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, 0xf6,
0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xfa,
0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfe,
0xfe, 0xfe, 0xff, 0xff, 0xff, 0xaf, 0x33, 0xef, 0x22, 0x00, 0x00, 0x00,
0x01, 0x74, 0x52, 0x4e, 0x53, 0x00, 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00,
0x00, 0x01, 0x62, 0x4b, 0x47, 0x44, 0x00, 0x88, 0x05, 0x1d, 0x48, 0x00,
0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x6e, 0xbd, 0x00,
0x00, 0x6e, 0xbd, 0x01, 0x84, 0x9a, 0x17, 0x68, 0x00, 0x00, 0x00, 0x07,
0x74, 0x49, 0x4d, 0x45, 0x07, 0xd3, 0x0a, 0x08, 0x15, 0x0b, 0x1c, 0x3a,
0x62, 0x10, 0x70, 0x00, 0x00, 0x02, 0xa1, 0x49, 0x44, 0x41, 0x54, 0x78,
0xda, 0xed, 0x56, 0x6b, 0x8f, 0xda, 0x30, 0x10, 0xc4, 0x0d, 0x69, 0xd6,
0xce, 0x03, 0x88, 0x89, 0x4b, 0xf0, 0xd1, 0xff, 0xff, 0x33, 0xbb, 0xb3,
0x6b, 0xc7, 0x86, 0x0f, 0x77, 0x42, 0x3a, 0x2a, 0xb5, 0x62, 0x25, 0xf0,
0xcc, 0xbe, 0xc6, 0x31, 0xc9, 0x86, 0xdd, 0xae, 0x18, 0xa9, 0xed, 0x5e,
0x6a, 0x64, 0x9c, 0x73, 0xe6, 0xd5, 0x22, 0xae, 0x69, 0x1a, 0xf7, 0x16,
0x79, 0x8b, 0xfc, 0xc3, 0x22, 0xc3, 0x5f, 0x11, 0x19, 0x86, 0xd7, 0x89,
0xa4, 0x81, 0x92, 0x45, 0x88, 0xca, 0x84, 0xa9, 0x97, 0x32, 0x74, 0x2a,
0x6f, 0x99, 0x45, 0x05, 0xd3, 0x7d, 0x40, 0x83, 0x98, 0x27, 0x6c, 0x83,
0x8a, 0x64, 0x8a, 0x11, 0x03, 0xac, 0x8b, 0x59, 0x68, 0x31, 0x69, 0xea,
0xa8, 0x77, 0xab, 0xd3, 0x94, 0xcc, 0x4c, 0xe5, 0xdf, 0xa6, 0x14, 0xbb,
0x86, 0x62, 0x8e, 0x82, 0xd9, 0xb0, 0x11, 0xec, 0x42, 0x0c, 0x0e, 0x11,
0x4e, 0x94, 0xd3, 0x24, 0xf5, 0x56, 0x75, 0x8e, 0xaa, 0x2e, 0x86, 0xaa,
0x86, 0x49, 0xa5, 0x76, 0x49, 0xab, 0xa1, 0x4e, 0x91, 0xef, 0x45, 0x0f,
0xd2, 0x69, 0x11, 0x59, 0x01, 0xe1, 0xae, 0x95, 0x54, 0xe5, 0xc3, 0x70,
0xc3, 0x83, 0x4a, 0x6a, 0x9a, 0x4e, 0x2b, 0x67, 0x6c, 0x87, 0xa7, 0xc5,
0xf8, 0x2c, 0x7a, 0x01, 0x94, 0x6e, 0x90, 0x20, 0x22, 0x9a, 0xe7, 0x28,
0x6d, 0xa0, 0xda, 0x8d, 0x56, 0xa5, 0x3b, 0x49, 0x9e, 0x8e, 0xc6, 0xf0,
0x91, 0x98, 0x46, 0x9e, 0x93, 0x3b, 0xca, 0xfb, 0x6d, 0xd4, 0x4c, 0x24,
0xc1, 0xbc, 0x69, 0x0d, 0x18, 0xf9, 0xf6, 0x70, 0x3a, 0xf1, 0xe1, 0xcc,
0xb4, 0x85, 0xb6, 0x5c, 0x5c, 0x93, 0x1e, 0x3c, 0xf5, 0x77, 0x81, 0x28,
0x86, 0x0e, 0x88, 0x12, 0xa5, 0x44, 0x4d, 0xd2, 0x80, 0x0b, 0xb8, 0x5b,
0xc4, 0x1f, 0x62, 0x97, 0xca, 0x0c, 0xb2, 0xc4, 0xb7, 0x68, 0x2f, 0x43,
0x25, 0x03, 0x31, 0x16, 0xe9, 0x7e, 0xb1, 0x75, 0x91, 0x5b, 0x44, 0xc0,
0x8e, 0x1e, 0x68, 0xd0, 0x84, 0x85, 0x44, 0x17, 0x10, 0x9c, 0x6f, 0xa1,
0x0e, 0xde, 0xc8, 0x22, 0xc8, 0xd2, 0x24, 0x89, 0x04, 0x09, 0x71, 0x8f,
0xa8, 0x4e, 0x11, 0xb9, 0xb0, 0xad, 0xd2, 0x75, 0x05, 0xa2, 0x07, 0x1a,
0xb0, 0x5c, 0x2e, 0x46, 0x5c, 0xe6, 0xa2, 0xb6, 0x72, 0x27, 0x60, 0xb3,
0x44, 0xc4, 0x3b, 0x5a, 0x73, 0x80, 0x3d, 0x24, 0x6c, 0x8d, 0xd2, 0x80,
0x3b, 0xe0, 0xb8, 0xae, 0x6c, 0xab, 0x9c, 0xcf, 0x0a, 0x44, 0x42, 0x79,
0x87, 0x42, 0x6d, 0xb0, 0xd7, 0xeb, 0x96, 0xa1, 0x29, 0x70, 0x03, 0x23,
0xb2, 0xae, 0x5a, 0xa4, 0x59, 0xab, 0x5d, 0x16, 0x6b, 0x03, 0x89, 0x8f,
0x45, 0xc4, 0x27, 0x3f, 0x7c, 0xfb, 0x93, 0xcd, 0xf2, 0x2f, 0x6d, 0x01,
0x5a, 0xe1, 0xf6, 0xac, 0xb4, 0x55, 0xa7, 0x66, 0xe0, 0x52, 0x94, 0xb6,
0xf2, 0x30, 0x87, 0x36, 0xc7, 0x56, 0xc5, 0xed, 0xf9, 0x6c, 0x79, 0xb5,
0xd2, 0xa2, 0x8d, 0xb1, 0xd5, 0x5c, 0x88, 0xd8, 0x1f, 0xb0, 0xb6, 0x6d,
0x75, 0x55, 0x9e, 0xa8, 0xf5, 0x4a, 0x14, 0x73, 0x63, 0xaf, 0x50, 0x47,
0x86, 0xd5, 0x12, 0x14, 0x45, 0x5b, 0x12, 0x79, 0x9f, 0xf8, 0x66, 0x11,
0x65, 0xbb, 0xa2, 0x92, 0x6c, 0xa4, 0x3e, 0xa1, 0xfd, 0x7e, 0x3f, 0xf6,
0x23, 0x5c, 0xde, 0x8f, 0xda, 0x9a, 0x0f, 0x51, 0x1c, 0x79, 0x30, 0x79,
0x3b, 0x8e, 0xda, 0x88, 0xaa, 0x2e, 0x23, 0x49, 0x52, 0x94, 0x5c, 0x66,
0xfa, 0xc8, 0xdb, 0xfd, 0x66, 0xa3, 0x45, 0x65, 0x26, 0x3d, 0x01, 0xda,
0x18, 0x91, 0x31, 0x4e, 0x22, 0x02, 0x47, 0x35, 0x00, 0xbd, 0x84, 0xe4,
0xba, 0xc6, 0xad, 0x05, 0x10, 0x44, 0x84, 0x26, 0x91, 0x7e, 0x3a, 0x68,
0xfc, 0x30, 0xf5, 0x3e, 0x46, 0xdf, 0x2b, 0x3d, 0xf4, 0x31, 0x32, 0xcc,
0xcb, 0xe4, 0x59, 0xc4, 0x73, 0xe8, 0x90, 0xfb, 0x4f, 0x38, 0x40, 0x24,
0x8f, 0x67, 0x50, 0x2d, 0x43, 0x14, 0xe0, 0xe0, 0x7d, 0xe2, 0x32, 0x83,
0xed, 0x47, 0xb1, 0x9b, 0x58, 0x05, 0x6f, 0x09, 0xc9, 0x62, 0x69, 0x3a,
0x1e, 0x8f, 0x13, 0x31, 0xbd, 0xdd, 0x18, 0x4f, 0x3e, 0x7a, 0x78, 0x0e,
0x54, 0xca, 0x3e, 0x4a, 0xbd, 0x2e, 0xb8, 0x85, 0x7f, 0x3f, 0x63, 0x34,
0x73, 0xcb, 0x54, 0x42, 0x0c, 0xe7, 0x19, 0x0e, 0x16, 0xf9, 0xac, 0x06,
0xaf, 0x81, 0xa7, 0x34, 0x4e, 0xa7, 0xd3, 0x9c, 0x45, 0x4e, 0x9b, 0xcd,
0x9f, 0x36, 0xb9, 0x7f, 0x8b, 0x7d, 0x6d, 0x10, 0x39, 0x67, 0x32, 0x65,
0x8d, 0xe9, 0x8b, 0xaa, 0x27, 0x5f, 0xd3, 0x13, 0x76, 0x5d, 0xd8, 0x2c,
0x97, 0x31, 0x7d, 0xf3, 0xdf, 0x02, 0xee, 0x5b, 0xb5, 0xe4, 0x8b, 0x99,
0x99, 0x7f, 0xfb, 0x5f, 0x8f, 0x18, 0xe3, 0xe3, 0x3f, 0x90, 0xdd, 0xdb,
0xde, 0xf6, 0xb6, 0xb7, 0xfd, 0x97, 0xf6, 0x07, 0x2e, 0xfb, 0x61, 0xc1,
0xcc, 0x44, 0x36, 0x49, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44,
0xae, 0x42, 0x60, 0x82
};
unsigned int doxygen_png_len = 2352;
unsigned int doxygen_png_len = 1576;
unsigned char search_png[] = {
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
......
......@@ -1739,14 +1739,14 @@ void MemberDef::warnIfUndocumented()
// "isDocumentedFriendClass()=%d name()=%s prot=%d\n",
// d->isLinkable(),isLinkable(),isDocumentedFriendClass(),
// name().data(),prot);
if (/*d && d->isLinkable() &&*/ !isLinkable() &&
if (!isLinkable() &&
!isDocumentedFriendClass() &&
name().find('@')==-1 &&
name().find('@')==-1 && d->name().find('@')==-1 &&
(prot!=Private || Config_getBool("EXTRACT_PRIVATE"))
)
{
warn_undoc(m_defFileName,m_defLine,"Warning: Member %s%s of %s %s is not documented.",
name().data(),argsString()?argsString():"",t,d->name().data());
warn_undoc(m_defFileName,m_defLine,"Warning: Member %s%s of %s %s is not documented.",
name().data(),argsString()?argsString():"",t,d->name().data());
}
}
......
......@@ -1669,7 +1669,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
outputArray(yytext,yyleng);
BEGIN(SkipCComment);
}
<SkipCComment,SkipVerbatim>[^*\n\/]+ {
<SkipCComment,SkipVerbatim>[^*\x06\n\/]+ {
outputArray(yytext,yyleng);
}
<SkipCComment,SkipVerbatim>\n {
......@@ -1682,7 +1682,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<RemoveCComment>"*/" { BEGIN(g_lastCContext); }
<RemoveCComment>"//"
<RemoveCComment>"/*"
<RemoveCComment>[^*\n]+
<RemoveCComment>[^*\x06\n]+
<RemoveCComment>\n { g_yyLineNr++; outputChar('\n'); }
<RemoveCComment>.
<SkipCPPComment,RemoveCPPComment>\n {
......@@ -1695,7 +1695,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<SkipCPPComment>"//" {
outputChar('/');outputChar('/');
}
<SkipCPPComment>[^\n]+ {
<SkipCPPComment>[^\x06\n]+ {
outputArray(yytext,yyleng);
}
<SkipCPPComment>. {
......@@ -1703,7 +1703,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
}
<RemoveCPPComment>"/*"
<RemoveCPPComment>"//"
<RemoveCPPComment>[^\n]+
<RemoveCPPComment>[^\x06\n]+
<RemoveCPPComment>.
<DefineText>"#" {
g_quoteArg=TRUE;
......
......@@ -74,7 +74,7 @@ function search($file,$word,&$statsList)
$freq=readInt($file);
$docInfo[$i]=array("idx"=>$idx,"freq"=>$freq,"rank"=>0.0);
$totalFreq+=$freq;
if ($statInfo["full"]) $totalfreq+=$freq;
if ($statInfo["full"]) $totalFreq+=$freq;
}
// read name an url info for the doc
for ($i=0;$i<$numDocs;$i++)
......
......@@ -74,7 +74,7 @@
" $freq=readInt($file); \n"
" $docInfo[$i]=array(\"idx\"=>$idx,\"freq\"=>$freq,\"rank\"=>0.0);\n"
" $totalFreq+=$freq;\n"
" if ($statInfo[\"full\"]) $totalfreq+=$freq;\n"
" if ($statInfo[\"full\"]) $totalFreq+=$freq;\n"
" }\n"
" // read name an url info for the doc\n"
" for ($i=0;$i<$numDocs;$i++)\n"
......
......@@ -69,9 +69,9 @@ void SearchIndex::setCurrentDoc(const char *name,const char *url)
static int charsToIndex(const char *word)
{
if (word==0) return -1;
int c1=word[0];
uint c1=word[0];
if (c1==0) return -1;
int c2=word[1];
uint c2=word[1];
if (c2==0) return -1;
return c1*256+c2;
}
......@@ -82,7 +82,7 @@ void SearchIndex::addWord(const char *word)
if (w==0)
{
int idx=charsToIndex(word);
if (idx==-1) return;
if (idx<0) return;
w = new IndexWord(word);
//printf("addWord(%s) at index %d\n",word,idx);
m_index[idx]->append(w);
......
/******************************************************************************
*
*
*
*
* Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
......@@ -15,6 +15,14 @@
*
*/
/*
초기 작업자: ryk
TODO 주석을 보면 11/22/01, doxygen 버전 1.2.11까지 수고해 주신 것 같습니다.
최근 갱신자: Astromaker(http://ngps.net/)
gpgiki(http://www.gpgstudy.com/gpgiki/)
*/
#ifndef TRANSLATOR_KR_H
#define TRANSLATOR_KR_H
......@@ -23,19 +31,19 @@ class TranslatorKorean : public TranslatorAdapter_1_3
public:
// --- Language control methods -------------------
/*! Used for identification of the language. The identification
* should not be translated. It should be replaced by the name
/*! Used for identification of the language. The identification
* should not be translated. It should be replaced by the name
* of the language in English using lower-case characters only
* (e.g. "czech", "japanese", "russian", etc.). It should be equal to
* (e.g. "czech", "japanese", "russian", etc.). It should be equal to
* the identification used in language.cpp.
*/
virtual QCString idLanguage()
{ return "korean"; }
/*! Used to get the LaTeX command(s) for the language support.
/*! Used to get the LaTeX command(s) for the language support.
* This method should return string with commands that switch
* LaTeX to the desired language. For example
* LaTeX to the desired language. For example
* <pre>"\\usepackage[german]{babel}\n"
* </pre>
* or
......@@ -43,7 +51,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
* "\\usepackage[latin2]{inputenc}\n"
* "\\usepackage[T1]{fontenc}\n"
* </pre>
*
*
* The English LaTeX does not use such commands. Because of this
* the empty string is returned in this implementation.
*/
......@@ -51,7 +59,8 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{
// I'm not sure what this should be.
// When I figure it out, I'll update this.
return "";
//see http://www.ktug.or.kr/jsboard/read.php?table=operate&no=4422&page=1
return "\\usepackage{hfont}\n";
}
/*! return the language charset. This will be used for the HTML output */
......@@ -77,26 +86,25 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! header that is put before the list of typedefs. */
virtual QCString trMemberTypedefDocumentation()
{ return "멤버 타입정의 문서화"; }
/*! header that is put before the list of enumerations. */
virtual QCString trMemberEnumerationDocumentation()
{ return "멤버 열거형 문서화"; }
/*! header that is put before the list of member functions. */
virtual QCString trMemberFunctionDocumentation()
{ return "멤버 함수 문서화"; }
/*! header that is put before the list of member attributes. */
virtual QCString trMemberDataDocumentation()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
// TODO: This need to be translated. -ryk11/22/01.
return "멤버 변수 문서화";
return "멤버 변수 문서화";
}
else
{
return "멤버 변수 문서화";
return "멤버 변수 문서화";
}
}
......@@ -119,7 +127,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! this is the remainder of the sentence after the class name */
virtual QCString trIncludingInheritedMembers()
{ return ", 상속받은 모든 멤버도 포함"; }
/*! this is put at the author sections at the bottom of man pages.
* parameter s is name of the project name.
*/
......@@ -133,27 +141,27 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! put after an enum name in the list of all members */
virtual QCString trEnumName()
{ return "열거형 이름"; }
/*! put after an enum value in the list of all members */
virtual QCString trEnumValue()
{ return "열거형 값"; }
/*! put after an undocumented member in the list of all members */
virtual QCString trDefinedIn()
{ return "에서 정의"; }
// quick reference sections
/*! This is put above each page as a link to the list of all groups of
/*! This is put above each page as a link to the list of all groups of
* compounds or files (see the \\group command).
*/
virtual QCString trModules()
{ return "모듈"; }
/*! This is put above each page as a link to the class hierarchy */
virtual QCString trClassHierarchy()
{ return "클래스 계통도"; } // "클래스 조직" or "클래스 분류체계"
/*! This is put above each page as a link to the list of annotated classes */
virtual QCString trCompoundList()
{
......@@ -164,11 +172,10 @@ class TranslatorKorean : public TranslatorAdapter_1_3
}
else
{
//TODO: This needs to be translated. -ryk11/22/01.
return "복합구조(클래스, 구조체, 공용체)";
}
}
}
/*! This is put above each page as a link to the list of documented files */
virtual QCString trFileList()
{ return "파일 목록"; } //"파일 목록", "파일 리스트"
......@@ -182,7 +189,6 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
// TODO: This need to be translated. -ryk11/22/01.
return "복합구조(클래스, 구조체, 공용체) 멤버";
}
else
......@@ -197,7 +203,6 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
// TODO: This needs to be translated. -ryk11/22/01.
return "파일 멤버";
}
else
......@@ -236,7 +241,6 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
// TODO: This needs to be translated. -ryk11/22/01.
return "다음은 간략한 설명을 가진 클래스, "
"구조체, 공용체, 인터페이스의 목록입니다.";
}
......@@ -257,17 +261,16 @@ class TranslatorKorean : public TranslatorAdapter_1_3
}
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
// TODO: This need to be translated. -ryk11/22/01.
result+="링크 된 클래스 멤버는 ";
}
else
{
result+="링크 된 클래스 멤버는 ";
}
if (extractAll)
if (extractAll)
result+="그 멤버에 대한 클래스 문서화로 갑니다.";
else
result+="이하로 속한 클래스:";
else
result+="이하로 속한 클래스:";
return result;
}
......@@ -277,9 +280,9 @@ class TranslatorKorean : public TranslatorAdapter_1_3
QCString result="다음은 문서화된 모든 파일에 대한 목록입니다. ";
if (!extractAll) result+="문서화된 ";
result+="링크 된 파일 멤버는 ";
if (extractAll)
if (extractAll)
result+="그 멤버에 대한 파일 문서화로 갑니다.";
else
else
result+="그들이 속해있는 파일로 갑니다.";
return result;
}
......@@ -301,31 +304,31 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{ return "다음은 모든 모듈의 목록입니다."; }
/*! This sentences is used in the annotated class/file lists if no brief
* description is given.
* description is given.
*/
virtual QCString trNoDescriptionAvailable()
{ return "유용한 설명이 없습니다."; }
// index titles (the project name is prepended for these)
// index titles (the project name is prepended for these)
/*! This is used in HTML as the title of index.html. */
virtual QCString trDocumentation()
{ return "문서화"; }
/*! This is used in LaTeX as the title of the chapter with the
/*! This is used in LaTeX as the title of the chapter with the
* index of all groups.
*/
virtual QCString trModuleIndex()
{ return "모듈 색인"; }
/*! This is used in LaTeX as the title of the chapter with the
/*! This is used in LaTeX as the title of the chapter with the
* class hierarchy.
*/
virtual QCString trHierarchicalIndex()
{ return "분류체계 색인"; }
/*! This is used in LaTeX as the title of the chapter with the
/*! This is used in LaTeX as the title of the chapter with the
* annotated compound index.
*/
virtual QCString trCompoundIndex()
......@@ -334,7 +337,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! This is used in LaTeX as the title of the chapter with the
* list of all files.
*/
virtual QCString trFileIndex()
virtual QCString trFileIndex()
{ return "파일 색인"; }
/*! This is used in LaTeX as the title of the chapter containing
......@@ -370,102 +373,102 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! This is used in LaTeX as the title of the document */
virtual QCString trReferenceManual()
{ return "참고서"; }
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of defines
*/
virtual QCString trDefines()
{ return "매크로, #define"; }
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of function prototypes
*/
virtual QCString trFuncProtos()
{ return "함수 원형"; }
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of typedefs
*/
virtual QCString trTypedefs()
{ return "타입 정의"; }
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of enumerations
*/
virtual QCString trEnumerations()
{ return "열거형"; }
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of (global) functions
*/
virtual QCString trFunctions()
{ return "함수"; }
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trVariables()
{ return "변수"; }
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trEnumerationValues()
{ return "열거형 값"; }
/*! This is used in the documentation of a file before the list of
* documentation blocks for defines
*/
virtual QCString trDefineDocumentation()
{ return "#define 문서화"; }
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for function prototypes
*/
virtual QCString trFunctionPrototypeDocumentation()
{ return "함수 원형 문서화"; }
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for typedefs
*/
virtual QCString trTypedefDocumentation()
{ return "타입 정의 문서화"; }
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration types
*/
virtual QCString trEnumerationTypeDocumentation()
{ return "열거형 타입 문서화"; }
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
*/
virtual QCString trEnumerationValueDocumentation()
{ return "열거형 값 문서화"; }
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for functions
*/
virtual QCString trFunctionDocumentation()
{ return "함수 문서화"; }
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for variables
*/
virtual QCString trVariableDocumentation()
{ return "변수 문서화"; }
/*! This is used in the documentation of a file/namespace/group before
/*! This is used in the documentation of a file/namespace/group before
* the list of links to documented compounds
*/
virtual QCString trCompounds()
{ return "복합구조"; }
/*! This is used in the standard footer of each page and indicates when
* the page was generated
/*! This is used in the standard footer of each page and indicates when
* the page was generated
*/
virtual QCString trGeneratedAt(const char *date,const char *projName)
{
{
QCString result="";
if (projName) result+=(QCString)projName+" 문서화. ";
result += "생성일시 : " +(QCString)date+" by";
......@@ -483,7 +486,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{
return (QCString)clName+"에 대한 상속 도표";
}
/*! this text is generated when the \\internal command is used. */
virtual QCString trForInternalUseOnly()
{ return "내부 사용만을 위해"; }
......@@ -523,7 +526,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! this text is generated when the \\exception command is used. */
virtual QCString trExceptions()
{ return "예외"; }
/*! this text is used in the title page of a LaTeX document. */
virtual QCString trGeneratedBy()
{ return "에 의해 생성된"; }
......@@ -531,7 +534,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990307
//////////////////////////////////////////////////////////////////////////
/*! used as the title of page containing all the index of all namespaces. */
virtual QCString trNamespaceList()
{ return "namespace 목록"; }
......@@ -550,17 +553,17 @@ class TranslatorKorean : public TranslatorAdapter_1_3
*/
virtual QCString trFriends()
{ return "friend"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990405
//////////////////////////////////////////////////////////////////////////
/*! used in the class documentation as a header before the list of all
* related classes
* related classes
*/
virtual QCString trRelatedFunctionDocumentation()
{ return "friend, 그리고 관련된 함수 문서화"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
//////////////////////////////////////////////////////////////////////////
......@@ -588,7 +591,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
virtual QCString trFileReference(const char *fileName)
{
QCString result=fileName;
result+=" 파일 참조";
result+=" 파일 참조";
return result;
}
......@@ -599,7 +602,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
result+=" namespace 참조";
return result;
}
virtual QCString trPublicMembers()
{ return "public 메소드"; }
virtual QCString trPublicSlots()
......@@ -620,7 +623,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{ return "private slots"; }
virtual QCString trStaticPrivateMembers()
{ return "static private 메소드"; }
/*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put.
*/
......@@ -629,23 +632,23 @@ class TranslatorKorean : public TranslatorAdapter_1_3
QCString result;
int i;
// the inherits list contain `numEntries' classes
for (i=0;i<numEntries;i++)
for (i=0;i<numEntries;i++)
{
// use generateMarker to generate placeholders for the class links!
result+=generateMarker(i); // generate marker for entry i in the list
result+=generateMarker(i); // generate marker for entry i in the list
// (order is left to right)
if (i!=numEntries-1) // not the last entry, so we need a separator
{
if (i<numEntries-2) // not the fore last entry
if (i<numEntries-2) // not the fore last entry
result+=", ";
else // the fore last entry
result+=", 과 ";
}
}
return result;
return result;
}
/*! used in class documentation to produce a list of base classes,
* if class diagrams are disabled.
*/
......@@ -662,7 +665,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
return trWriteList(numEntries)+"에 의해 상속되었습니다.";
}
/*! used in member documentation blocks to produce a list of
/*! used in member documentation blocks to produce a list of
* members that are hidden by this one.
*/
virtual QCString trReimplementedFromList(int numEntries)
......@@ -688,14 +691,14 @@ class TranslatorKorean : public TranslatorAdapter_1_3
QCString result="다음은 모든 ";
if (!extractAll) result+="문서화된 ";
result+="namespace 멤버의 목록입니다. ";
if (extractAll)
if (extractAll)
result+="각 멤버에 대한 문서화의 ";
else
else
result+="속해있는 namespace의 ";
result+="링크도 있습니다.";
return result;
}
/*! This is used in LaTeX as the title of the chapter with the
/*! This is used in LaTeX as the title of the chapter with the
* index of all namespaces.
*/
virtual QCString trNamespaceIndex()
......@@ -762,7 +765,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
virtual QCString trMainPage()
{ return "메인 페이지"; }
/*! This is used in references to page that are put in the LaTeX
/*! This is used in references to page that are put in the LaTeX
* documentation. It should be an abbreviation of the word page.
*/
virtual QCString trPageAbbreviation()
......@@ -811,7 +814,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! header that is put before the list of constructor/destructors. */
virtual QCString trConstructorDocumentation()
{
return "생성자 & 소멸자 문서화";
return "생성자 & 소멸자 문서화";
}
/*! Used in the file documentation to point to the corresponding sources. */
virtual QCString trGotoSourceCode()
......@@ -841,7 +844,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! Text shown before a multi-line variable/enum initialization */
virtual QCString trInitialValue()
{
return "초기화기";
return "초기";
}
/*! Text used the source code in the file index */
virtual QCString trCode()
......@@ -868,53 +871,53 @@ class TranslatorKorean : public TranslatorAdapter_1_3
//////////////////////////////////////////////////////////////////////////
// new since 1.1.0
//////////////////////////////////////////////////////////////////////////
virtual QCString trNote()
{
return "노트"; // TODO: Need to be translated. -ryk11/22/01.
return "노트";
}
virtual QCString trPublicTypes()
{
return "public 타입"; // TODO: Need to be translated. -ryk11/22/01.
return "public 타입";
}
virtual QCString trPublicAttribs()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data 필드"; // TODO: Need to be translated. -ryk11/22/01.
return "Data 필드";
}
else
{
return "public 속성"; // TODO: Need to be translated. -ryk11/22/01.
return "public 속성";
}
}
virtual QCString trStaticPublicAttribs()
{
return "static public 속성"; // TODO: Need to be translated. -ryk11/22/01.
return "static public 속성";
}
virtual QCString trProtectedTypes()
{
return "protected 타입"; // TODO: Need to be translated. -ryk11/22/01.
return "protected 타입";
}
virtual QCString trProtectedAttribs()
{
return "protected 속성"; // TODO: Need to be translated. -ryk11/22/01.
return "protected 속성";
}
virtual QCString trStaticProtectedAttribs()
{
return "static protected 속성"; // TODO: Need to be translated. -ryk11/22/01.
return "static protected 속성";
}
virtual QCString trPrivateTypes()
{
return "private 타입"; // TODO: Need to be translated. -ryk11/22/01.
return "private 타입";
}
virtual QCString trPrivateAttribs()
{
return "private 속성"; // TODO: Need to be translated. -ryk11/22/01.
return "private 속성";
}
virtual QCString trStaticPrivateAttribs()
{
return "static private 속성"; // TODO: Need to be translated. -ryk11/22/01.
return "static private 속성";
}
//////////////////////////////////////////////////////////////////////////
......@@ -924,12 +927,12 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! Used as a marker that is put before a \\todo item */
virtual QCString trTodo()
{
return "Todo"; // TODO: Need to be translated. -ryk11/22/01.
return "Todo";
}
/*! Used as the header of the todo list */
virtual QCString trTodoList()
{
return "Todo 목록"; // TODO: Need to be translated. -ryk11/22/01.
return "Todo 목록";
}
//////////////////////////////////////////////////////////////////////////
......@@ -938,15 +941,15 @@ class TranslatorKorean : public TranslatorAdapter_1_3
virtual QCString trReferencedBy()
{
return "참조하는 곳"; // TODO: Need to be translated. -ryk11/22/01.
return "참조하는 곳";
}
virtual QCString trRemarks()
{
return "설명"; // TODO: Need to be translated. -ryk11/22/01.
return "설명";
}
virtual QCString trAttention()
{
return "주의"; // TODO: Need to be translated. -ryk11/22/01.
return "주의";
}
virtual QCString trInclByDepGraph()
{
......@@ -958,7 +961,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{
return "Since"; // TODO: Need to be translated. -ryk11/22/01.
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.5
//////////////////////////////////////////////////////////////////////////
......@@ -966,9 +969,9 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! title of the graph legend page */
virtual QCString trLegendTitle()
{
return "그래프 설명"; // TODO: Need to be translated. -ryk11/22/01.
return "범례";
}
/*! page explaining how the dot graph's should be interpreted
/*! page explaining how the dot graph's should be interpreted
* The %A in the text below are to prevent link to classes called "A".
*/
virtual QCString trLegendDocs()
......@@ -1013,7 +1016,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
//"is set to 240 this will result in the following graph:"
"<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"박스에는 다음을 뜻한다.\n"
"상자들은 다음을 뜻한다.\n"
//"The boxes in the above graph have the following meaning:\n"
"<ul>\n"
"<li>%검은 상자는 그래프를 산출한 구조체나 클래스를 말한다.\n"
......@@ -1045,7 +1048,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
//"by another class. The arrow is labeled with the variable(s) "
//"through which the pointed class or struct is accessible.\n"
"<li>%밝은 노랑색 화살표는 템플릿 인스턴스와 템플릿 클래스를 나타낸다. "
"이 화살표의 라벨은 그 인스턴스의 템플릿 매개변수를 나타낸다.\n"
"이 화살표의 라벨은 그 인스턴스의 템플릿 매개변수를 나타낸다.\n"
//"<li>%A yellow dashed arrow denotes a relation between a template instance and "
//"the template class it was instantiated from. The arrow is labeled with "
//"the template parameters of the instance.\n"
......@@ -1054,22 +1057,22 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! text for the link to the legend page */
virtual QCString trLegend()
{
return "설명"; // TODO: Need to be translated. -ryk11/22/01.
return "범례";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.0
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a test item */
virtual QCString trTest()
{
return "테스트"; // TODO: Need to be translated. -ryk11/22/01.
return "테스트";
}
/*! Used as the header of the test list */
virtual QCString trTestList()
{
return "테스트 목록"; // TODO: Need to be translated. -ryk11/22/01.
return "테스트 목록";
}
//////////////////////////////////////////////////////////////////////////
......@@ -1149,11 +1152,11 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{
return "값:"; // TODO: Need to be translated. -ryk11/22/01.
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.5
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a \\bug item */
virtual QCString trBug()
{
......@@ -1169,9 +1172,9 @@ class TranslatorKorean : public TranslatorAdapter_1_3
// new since 1.2.6
//////////////////////////////////////////////////////////////////////////
/*! Used as ansicpg for RTF file
*
* The following table shows the correlation of Charset name, Charset Value and
/*! Used as ansicpg for RTF file
*
* The following table shows the correlation of Charset name, Charset Value and
* <pre>
* Codepage number:
* Charset Name Charset Value(hex) Codepage number
......@@ -1192,15 +1195,15 @@ class TranslatorKorean : public TranslatorAdapter_1_3
* GB2313_CHARSET 134 (x86) 936
* CHINESEBIG5_CHARSET 136 (x88) 950
* </pre>
*
*
*/
virtual QCString trRTFansicp()
{
return "1252";
}
/*! Used as ansicpg for RTF fcharset
/*! Used as ansicpg for RTF fcharset
* \see trRTFansicp() for a table of possible values.
*/
virtual QCString trRTFCharSet()
......@@ -1213,90 +1216,90 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{
return "인덱스"; // TODO: Need to be translated. -ryk11/22/01.
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trClass(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "클래스" : "클래스"));
if (!singular) result+="들";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trFile(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "파일" : "파일"));
if (!singular) result+="들";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trNamespace(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "Namespace" : "namespace"));
if (!singular) result+="s";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trGroup(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "그룹" : "그룹"));
if (!singular) result+="들";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trPage(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "페이지" : "페이지"));
if (!singular) result+="들";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trMember(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "멤버" : "멤버"));
if (!singular) result+="들";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trField(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "필드" : "필드"));
if (!singular) result+="들";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trGlobal(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "Global" : "global"));
if (!singular) result+="s";
return result; // TODO: Need to be translated. -ryk11/22/01.
......@@ -1309,7 +1312,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! This text is generated when the \\author command is used and
* for the author section in man pages. */
virtual QCString trAuthor(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "작성자" : "작성자"));
if (!singular) result+="들";
return result; // TODO: Need to be translated. -ryk11/22/01.
......@@ -1330,7 +1333,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
// new since 1.2.13
//////////////////////////////////////////////////////////////////////////
/*! used in member documentation blocks to produce a list of
/*! used in member documentation blocks to produce a list of
* members that are implemented by this one.
*/
virtual QCString trImplementedFromList(int numEntries)
......@@ -1364,8 +1367,8 @@ class TranslatorKorean : public TranslatorAdapter_1_3
// new since 1.2.17
//////////////////////////////////////////////////////////////////////////
/*! Used as the header of the list of item that have been
* flagged deprecated
/*! Used as the header of the list of item that have been
* flagged deprecated
*/
virtual QCString trDeprecatedList()
{
......@@ -1376,7 +1379,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
// new since 1.2.18
//////////////////////////////////////////////////////////////////////////
/*! Used as a header for declaration section of the events found in
/*! Used as a header for declaration section of the events found in
* a C# program
*/
virtual QCString trEvents()
......@@ -1394,57 +1397,111 @@ class TranslatorKorean : public TranslatorAdapter_1_3
//////////////////////////////////////////////////////////////////////////
/*! Used as a heading for a list of Java class types with package scope.
*/
*/
virtual QCString trPackageTypes()
{
return "패키지 타입";
{
return "패키지 타입들"; //"Package Types";
}
/*! Used as a heading for a list of Java class functions with package
* scope.
*/
/*! Used as a heading for a list of Java class functions with package
* scope.
*/
virtual QCString trPackageMembers()
{
return "패키지 함수";
{
return "패키지 함수들"; //"Package Functions";
}
/*! Used as a heading for a list of static Java class functions with
* package scope.
*/
/*! Used as a heading for a list of static Java class functions with
* package scope.
*/
virtual QCString trStaticPackageMembers()
{
return "정적 패키지 함수";
{
return "정적 패키지 함수들"; //"Static Package Functions";
}
/*! Used as a heading for a list of Java class variables with package
* scope.
*/
/*! Used as a heading for a list of Java class variables with package
* scope.
*/
virtual QCString trPackageAttribs()
{
return "패키지 속성";
{
return "패키지 속성들"; //"Package Attributes";
}
/*! Used as a heading for a list of static Java class variables with
* package scope.
*/
/*! Used as a heading for a list of static Java class variables with
* package scope.
*/
virtual QCString trStaticPackageAttribs()
{
return "정적 패키지 속성";
{
return "정적 패키지 속성들"; //"Static Package Attributes";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3.1
//////////////////////////////////////////////////////////////////////////
/*! Used in the quick index of a class/file/namespace member list page
* to link to the unfiltered list of all members.
*/
/*! Used in the quick index of a class/file/namespace member list page
* to link to the unfiltered list of all members.
*/
virtual QCString trAll()
{
return "All";
return "All";
}
/*! Put in front of the call graph for a function. */
virtual QCString trCallGraph()
{
return "이 함수의 호출상태를 나타낸 그래프입니다.";
return "다음은 이 함수에 대한 호출 그래프입니다:";
//"Here is the call graph for this function:";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3.3
//////////////////////////////////////////////////////////////////////////
/*! When the search engine is enabled this text is put in the header
* of each page before the field where one can enter the text to search
* for.
*/
virtual QCString trSearchForIndex()
{
return "검색: "; //"Search for";
}
/*! This string is used as the title for the page listing the search
* results.
*/
virtual QCString trSearchResultsTitle()
{
return "검색 결과";//"Search Results";
}
/*! This string is put just before listing the search results. The
* text can be different depending on the number of documents found.
* Inside the text you can put the special marker $num to insert
* the number representing the actual number of search results.
* The @a numDocuments parameter can be either 0, 1 or 2, where the
* value 2 represents 2 or more matches. HTML markup is allowed inside
* the returned string.
*/
virtual QCString trSearchResults(int numDocuments)
{
if (numDocuments==0)
{
//return "Sorry, no documents matching your query.";
return "죄송합니다. 질의와 일치하는 문서가 없습니다.";
}
else if (numDocuments==1)
{
//return "Found <b>1</b> document matching your query.";
return "질의와 일치하는 <b>1</b>개의 문서를 찾았습니다.";
}
else
{
//return "Found <b>$num</b> documents matching your query. "
// "Showing best matches first.";
return "질의와 일치하는 <b>$num</b>개의 문서들을 찾았습니다. "
"처음에 나오는 것이 가장 일치하는 문서입니다.";
}
}
/*! This string is put before the list of matched words, for each search
* result. What follows is the list of words that matched the query.
*/
virtual QCString trSearchMatches()
{
return "Matches:";
}
};
#endif
......@@ -88,24 +88,6 @@ inline void writeXMLCodeString(QTextStream &t,const char *s)
static void writeXMLHeader(QTextStream &t)
{
//QCString dtdName = Config_getString("XML_DTD");
//QCString schemaName = Config_getString("XML_SCHEMA");
//t << "<?xml version='1.0' encoding='" << theTranslator->idLanguageCharset()
// << "' standalone='";
//if (dtdName.isEmpty() && schemaName.isEmpty()) t << "yes"; else t << "no";
//t << "'?>" << endl;
//if (!dtdName.isEmpty())
//{
// t << "<!DOCTYPE doxygen SYSTEM \"doxygen.dtd\">" << endl;
//}
//t << "<doxygen ";
//if (!schemaName.isEmpty())
//{
// t << "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ";
// t << "xsi:noNamespaceSchemaLocation=\"doxygen.xsd\" ";
//}
//t << "version=\"" << versionString << "\">" << endl;
t << "<?xml version='1.0' encoding='" << theTranslator->idLanguageCharset()
<< "' standalone='no'?>" << endl;;
t << "<doxygen xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ";
......@@ -113,6 +95,38 @@ static void writeXMLHeader(QTextStream &t)
t << "version=\"" << versionString << "\">" << endl;
}
static void writeCombineScript()
{
QCString outputDirectory = Config_getString("XML_OUTPUT");
QCString fileName=outputDirectory+"/combine.xslt";
QFile f(fileName);
if (!f.open(IO_WriteOnly))
{
err("Cannot open file %s for writing!\n",fileName.data());
return;
}
QTextStream t(&f);
t.setEncoding(QTextStream::Latin1);
t <<
"<!-- XSLT script to combine the generated output into a single file. \n"
" If you have xsltproc you could use:\n"
" xsltproc combine.xslt index.xml >all.xml\n"
"-->\n"
"<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">\n"
" <xsl:output method=\"xml\" version=\"1.0\" indent=\"yes\" standalone=\"yes\" />\n"
" <xsl:template match=\"/\">\n"
" <doxygen version=\"{doxygenindex/@version}\">\n"
" <!-- Load all doxgen generated xml files -->\n"
" <xsl:for-each select=\"doxygenindex/compound\">\n"
" <xsl:copy-of select=\"document( concat( @refid, '.xml' ) )/doxygen/*\" />\n"
" </xsl:for-each>\n"
" </doxygen>\n"
" </xsl:template>\n"
"</xsl:stylesheet>\n";
}
void writeXMLLink(QTextStream &t,const char *extRef,const char *compoundId,
const char *anchorId,const char *text)
{
......@@ -1569,6 +1583,8 @@ void generateXML()
//t << " </compoundlist>" << endl;
t << "</doxygenindex>" << endl;
writeCombineScript();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment