diff options
-rw-r--r-- | INSTALL | 4 | ||||
-rw-r--r-- | README | 4 | ||||
-rw-r--r-- | VERSION | 2 | ||||
-rw-r--r-- | doc/config.doc | 15 | ||||
-rw-r--r-- | doc/language.doc | 14 | ||||
-rw-r--r-- | packages/rpm/doxygen.spec | 2 | ||||
-rw-r--r-- | src/classdef.h | 1 | ||||
-rw-r--r-- | src/classlist.cpp | 12 | ||||
-rw-r--r-- | src/config.l | 27 | ||||
-rw-r--r-- | src/docparser.cpp | 4 | ||||
-rw-r--r-- | src/filedef.h | 4 | ||||
-rw-r--r-- | src/ftvhelp.cpp | 2 | ||||
-rw-r--r-- | src/groupdef.cpp | 6 | ||||
-rw-r--r-- | src/index.cpp | 52 | ||||
-rw-r--r-- | src/logos.cpp | 329 | ||||
-rw-r--r-- | src/memberdef.cpp | 8 | ||||
-rw-r--r-- | src/pre.l | 8 | ||||
-rw-r--r-- | src/search.php | 2 | ||||
-rw-r--r-- | src/search_php.h | 2 | ||||
-rw-r--r-- | src/searchindex.cpp | 6 | ||||
-rw-r--r-- | src/translator_kr.h | 401 | ||||
-rw-r--r-- | src/xmlgen.cpp | 52 |
22 files changed, 513 insertions, 444 deletions
@@ -1,7 +1,7 @@ -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) @@ -1,4 +1,4 @@ -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 +1 @@ -1.3.4-20031005 +1.3.4-20031019 diff --git a/doc/config.doc b/doc/config.doc index b2a7e9e..60015d6 100644 --- a/doc/config.doc +++ b/doc/config.doc @@ -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 diff --git a/doc/language.doc b/doc/language.doc index 1e54ae0..c2d4ffd 100644 --- a/doc/language.doc +++ b/doc/language.doc @@ -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øe Sø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 diff --git a/packages/rpm/doxygen.spec b/packages/rpm/doxygen.spec index 5ecefb9..04569f7 100644 --- a/packages/rpm/doxygen.spec +++ b/packages/rpm/doxygen.spec @@ -1,6 +1,6 @@ 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 diff --git a/src/classdef.h b/src/classdef.h index 3259f44..3ca1ac5 100644 --- a/src/classdef.h +++ b/src/classdef.h @@ -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; diff --git a/src/classlist.cpp b/src/classlist.cpp index 35d35cd..7c894b9 100644 --- a/src/classlist.cpp +++ b/src/classlist.cpp @@ -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); diff --git a/src/config.l b/src/config.l index 8df7493..739f5f1 100644 --- a/src/config.l +++ b/src/config.l @@ -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" diff --git a/src/docparser.cpp b/src/docparser.cpp index 9347279..c324dc0 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -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; } } diff --git a/src/filedef.h b/src/filedef.h index 1d2d121..d230313 100644 --- a/src/filedef.h +++ b/src/filedef.h @@ -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; } diff --git a/src/ftvhelp.cpp b/src/ftvhelp.cpp index 941808d..939cbba 100644 --- a/src/ftvhelp.cpp +++ b/src/ftvhelp.cpp @@ -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"); diff --git a/src/groupdef.cpp b/src/groupdef.cpp index e2e1940..a1ee9a3 100644 --- a/src/groupdef.cpp +++ b/src/groupdef.cpp @@ -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; diff --git a/src/index.cpp b/src/index.cpp index 1435d32..60344f9 100644 --- a/src/index.cpp +++ b/src/index.cpp @@ -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 += " | "; 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\"> "); @@ -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++) diff --git a/src/logos.cpp b/src/logos.cpp index 8d77943..36fc431 100644 --- a/src/logos.cpp +++ b/src/logos.cpp @@ -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, diff --git a/src/memberdef.cpp b/src/memberdef.cpp index 3d02cb4..f3f9156 100644 --- a/src/memberdef.cpp +++ b/src/memberdef.cpp @@ -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; diff --git a/src/search.php b/src/search.php index 3900f6b..29bbc7a 100644 --- a/src/search.php +++ b/src/search.php @@ -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++) diff --git a/src/search_php.h b/src/search_php.h index 7cabda2..7f24842 100644 --- a/src/search_php.h +++ b/src/search_php.h @@ -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" diff --git a/src/searchindex.cpp b/src/searchindex.cpp index dcb86bc..74834b9 100644 --- a/src/searchindex.cpp +++ b/src/searchindex.cpp @@ -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); diff --git a/src/translator_kr.h b/src/translator_kr.h index 461b47c..bdf1e5e 100644 --- a/src/translator_kr.h +++ b/src/translator_kr.h @@ -1,12 +1,12 @@ /****************************************************************************** * - * + * * * 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 diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp index 8db7993..ec3bc47 100644 --- a/src/xmlgen.cpp +++ b/src/xmlgen.cpp @@ -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(); } |