summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--INSTALL4
-rw-r--r--README4
-rwxr-xr-xconfigure2
-rw-r--r--doc/commands.doc2
-rw-r--r--doc/config.doc6
-rw-r--r--doc/language.doc60
-rw-r--r--doc/maintainers.txt37
-rw-r--r--doc/translator.py113
-rw-r--r--doc/translator_report.txt17
-rw-r--r--qtools/qgstring.cpp2
-rw-r--r--src/classdef.cpp14
-rw-r--r--src/code.l3
-rw-r--r--src/commentcnv.l11
-rw-r--r--src/commentscan.l6
-rw-r--r--src/config.xml6
-rw-r--r--src/configoptions.cpp7
-rw-r--r--src/definition.cpp2
-rw-r--r--src/docparser.cpp2
-rw-r--r--src/doctokenizer.l8
-rw-r--r--src/dot.cpp9
-rw-r--r--src/doxygen.cpp3
-rw-r--r--src/fortranscanner.l2
-rw-r--r--src/htmldocvisitor.cpp2
-rw-r--r--src/htmlgen.cpp15
-rw-r--r--src/latexgen.cpp98
-rw-r--r--src/logos.cpp273
-rw-r--r--src/memberdef.cpp5
-rw-r--r--src/membergroup.cpp4
-rw-r--r--src/memberlist.cpp8
-rw-r--r--src/pagedef.cpp2
-rw-r--r--src/pre.l11
-rw-r--r--src/scanner.l10
-rw-r--r--src/translator_es.h2
-rw-r--r--src/translator_kr.h56
-rw-r--r--src/util.cpp8
35 files changed, 342 insertions, 472 deletions
diff --git a/INSTALL b/INSTALL
index ee08aea..02320f7 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,7 @@
-DOXYGEN Version 1.7.1-20100728
+DOXYGEN Version 1.7.1-20100822
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
-Dimitri van Heesch (28 July 2010)
+Dimitri van Heesch (22 August 2010)
diff --git a/README b/README
index 679c4f0..a9d69f1 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-DOXYGEN Version 1.7.1_20100728
+DOXYGEN Version 1.7.1_20100822
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) (28 July 2010)
+Dimitri van Heesch (dimitri@stack.nl) (22 August 2010)
diff --git a/configure b/configure
index afb6fa3..d2af1de 100755
--- a/configure
+++ b/configure
@@ -20,7 +20,7 @@ doxygen_version_minor=7
doxygen_version_revision=1
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
-doxygen_version_mmn=20100728
+doxygen_version_mmn=20100822
bin_dirs=`echo $PATH | sed -e "s/:/ /g"`
diff --git a/doc/commands.doc b/doc/commands.doc
index ed6f475..8884b36 100644
--- a/doc/commands.doc
+++ b/doc/commands.doc
@@ -634,7 +634,7 @@ Structural indicators
\ref cmdprivate "\\private".
<hr>
-\section cmdname \\name (header)
+\section cmdname \\name [(header)]
\addindex \\name
diff --git a/doc/config.doc b/doc/config.doc
index c2f988e..aff842a 100644
--- a/doc/config.doc
+++ b/doc/config.doc
@@ -1542,8 +1542,10 @@ and does not have live searching capabilities.
\anchor cfg_enum_values_per_line
<dt>\c ENUM_VALUES_PER_LINE <dd>
\addindex ENUM_VALUES_PER_LINE
- This tag can be used to set the number of enum values (range [1..20])
- that doxygen will group on one line in the generated HTML documentation.
+ This tag can be used to set the number of enum values (range [0,1..20])
+ that doxygen will group on one line in the generated HTML documentation.
+ Note that a value of 0 will completely suppress the enum values from
+ appearing in the overview section.
\anchor cfg_generate_treeview
<dt>\c GENERATE_TREEVIEW <dd>
diff --git a/doc/language.doc b/doc/language.doc
index ec2fc27..df662a5 100644
--- a/doc/language.doc
+++ b/doc/language.doc
@@ -73,7 +73,7 @@ when the translator was updated.
<tr bgcolor="#ffffff">
<td>Catalan</td>
<td>Maximiliano Pin<br/>Albert Mora</td>
- <td>max dot pin at bitroit dot com<br/>[unreachable]</td>
+ <td>max dot pin at bitroit dot com<br/><span style="color: red; background-color: yellow">[unreachable]</span></td>
<td>1.6.3</td>
</tr>
<tr bgcolor="#ffffff">
@@ -96,13 +96,13 @@ when the translator was updated.
</tr>
<tr bgcolor="#ffffff">
<td>Czech</td>
- <td>Petr P&#x0159;ikryl</td>
+ <td>Petr Přikryl</td>
<td>prikrylp at skil dot cz</td>
<td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Danish</td>
- <td>Erik S&oslash;e S&oslash;rensen</td>
+ <td>Erik Søe Sørensen</td>
<td>eriksoe+doxygen at daimi dot au dot dk</td>
<td>1.5.4</td>
</tr>
@@ -150,8 +150,8 @@ when the translator was updated.
</tr>
<tr bgcolor="#ffffff">
<td>Hungarian</td>
- <td>&Aacute;kos Kiss<br/>F&ouml;ldv&aacute;ri Gy&ouml;rgy</td>
- <td>akiss at users dot sourceforge dot net<br/>[unreachable]</td>
+ <td>Ákos Kiss<br/>Földvári György</td>
+ <td>akiss at users dot sourceforge dot net<br/><span style="color: red; background-color: yellow">[unreachable]</span></td>
<td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
@@ -169,7 +169,7 @@ when the translator was updated.
<tr bgcolor="#ffffff">
<td>Japanese</td>
<td>Hiroki Iseri<br/>Ryunosuke Satoh<br/>Kenji Nagamatsu<br/>Iwasa Kazmi</td>
- <td>goyoki at gmail dot com<br/>sun594 at hotmail dot com<br/>naga at joyful dot club dot ne dot jp<br/>[unreachable]</td>
+ <td>goyoki at gmail dot com<br/>sun594 at hotmail dot com<br/>naga at joyful dot club dot ne dot jp<br/><span style="color: red; background-color: yellow">[unreachable]</span></td>
<td>1.6.0</td>
</tr>
<tr bgcolor="#ffffff">
@@ -181,8 +181,8 @@ when the translator was updated.
<tr bgcolor="#ffffff">
<td>Korean</td>
<td>Kim Taedong<br/>SooYoung Jung<br/>Richard Kim</td>
- <td>fly1004 at gmail dot com<br/>jung5000 at gmail dot com<br/>[unreachable]</td>
- <td>1.6.3</td>
+ <td>fly1004 at gmail dot com<br/>jung5000 at gmail dot com<br/><span style="color: red; background-color: yellow">[unreachable]</span></td>
+ <td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>KoreanEn</td>
@@ -193,7 +193,7 @@ when the translator was updated.
<tr bgcolor="#ffffff">
<td>Lithuanian</td>
<td>Tomas Simonaitis<br/>Mindaugas Radzius<br/>Aidas Berukstis<br/>-- contact lost --</td>
- <td>[unreachable]<br/>[unreachable]<br/>[unreachable]<br/></td>
+ <td><span style="color: red; background-color: yellow">[unreachable]</span><br/><span style="color: red; background-color: yellow">[unreachable]</span><br/><span style="color: red; background-color: yellow">[unreachable]</span><br/><span style="color: red; background-color: yellow">[Please, try to help to find someone.]</span></td>
<td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
@@ -217,13 +217,13 @@ when the translator was updated.
<tr bgcolor="#ffffff">
<td>Polish</td>
<td>Piotr Kaminski<br/>Grzegorz Kowal<br/>Krzysztof Kral</td>
- <td>[unreachable]<br/>[unreachable]<br/>krzysztof dot kral at gmail dot com</td>
+ <td><span style="color: red; background-color: yellow">[unreachable]</span><br/><span style="color: red; background-color: yellow">[unreachable]</span><br/>krzysztof dot kral at gmail dot com</td>
<td>1.6.3</td>
</tr>
<tr bgcolor="#ffffff">
<td>Portuguese</td>
<td>Rui Godinho Lopes</td>
- <td>[unreachable]</td>
+ <td><span style="color: red; background-color: yellow">[resigned]</span></td>
<td>1.3.3</td>
</tr>
<tr bgcolor="#ffffff">
@@ -241,7 +241,7 @@ when the translator was updated.
<tr bgcolor="#ffffff">
<td>Serbian</td>
<td>Dejan Milosavljevic</td>
- <td>[unreachable]</td>
+ <td><span style="color: red; background-color: yellow">[unreachable]</span></td>
<td>1.6.0</td>
</tr>
<tr bgcolor="#ffffff">
@@ -252,20 +252,20 @@ when the translator was updated.
</tr>
<tr bgcolor="#ffffff">
<td>Slovak</td>
- <td>-- searching for the maintainer --</td>
- <td></td>
+ <td>Kali+Laco Švec<br/>Petr Přikryl</td>
+ <td>the Slovak language advisors<br/>prikrylp at skil dot cz</td>
<td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Slovene</td>
- <td>Matja&#x017e; Ostrover&#x0161;nik</td>
+ <td>Matjaž Ostroveršnik</td>
<td>matjaz dot ostroversnik at ostri dot org</td>
<td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
<td>Spanish</td>
<td>Bartomeu<br/>Francisco Oltra Thennet<br/>David Vaquero</td>
- <td>bartomeu at loteria3cornella dot com<br/>[unreachable]<br/>david at grupoikusnet dot com</td>
+ <td>bartomeu at loteria3cornella dot com<br/><span style="color: red; background-color: yellow">[unreachable]</span><br/>david at grupoikusnet dot com</td>
<td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
@@ -282,8 +282,8 @@ when the translator was updated.
</tr>
<tr bgcolor="#ffffff">
<td>Ukrainian</td>
- <td>-- searching for the maintainer --</td>
- <td></td>
+ <td>Olexij Tkatchenko<br/>-- searching for the maintainer --</td>
+ <td><span style="color: red; background-color: yellow">[resigned]</span><br/><span style="color: red; background-color: yellow">[Please, try to help to find someone.]</span></td>
<td>1.4.1</td>
</tr>
<tr bgcolor="#ffffff">
@@ -325,9 +325,9 @@ when the translator was updated.
\hline
Croatian & Boris Bralo & {\tt\tiny boris dot bralo at gmail dot com} & up-to-date \\
\hline
- Czech & Petr P\v{r}ikryl & {\tt\tiny prikrylp at skil dot cz} & up-to-date \\
+ Czech & Petr Přikryl & {\tt\tiny prikrylp at skil dot cz} & up-to-date \\
\hline
- Danish & Erik S\o{}e S\o{}rensen & {\tt\tiny eriksoe+doxygen at daimi dot au dot dk} & 1.5.4 \\
+ Danish & Erik Søe Sørensen & {\tt\tiny eriksoe+doxygen at daimi dot au dot dk} & 1.5.4 \\
\hline
Dutch & Dimitri van Heesch & {\tt\tiny dimitri at stack dot nl} & up-to-date \\
\hline
@@ -343,8 +343,8 @@ when the translator was updated.
\hline
Greek & Paul Gessos & {\tt\tiny gessos dot paul at yahoo dot gr} & up-to-date \\
\hline
- Hungarian & \'{A}kos Kiss & {\tt\tiny akiss at users dot sourceforge dot net} & 1.4.6 \\
- ~ & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt\tiny [unreachable] foldvari lost at cyberspace} & ~ \\
+ Hungarian & Ákos Kiss & {\tt\tiny akiss at users dot sourceforge dot net} & 1.4.6 \\
+ ~ & Földvári György & {\tt\tiny [unreachable] foldvari lost at cyberspace} & ~ \\
\hline
Indonesian & Hendy Irawan & {\tt\tiny ceefour at gauldong dot net} & 1.4.6 \\
\hline
@@ -358,7 +358,7 @@ when the translator was updated.
\hline
JapaneseEn & see the Japanese language & {\tt\tiny ~} & English based \\
\hline
- Korean & Kim Taedong & {\tt\tiny fly1004 at gmail dot com} & 1.6.3 \\
+ Korean & Kim Taedong & {\tt\tiny fly1004 at gmail dot com} & up-to-date \\
~ & SooYoung Jung & {\tt\tiny jung5000 at gmail dot com} & ~ \\
~ & Richard Kim & {\tt\tiny [unreachable] ryk at dspwiz dot com} & ~ \\
\hline
@@ -367,7 +367,7 @@ when the translator was updated.
Lithuanian & Tomas Simonaitis & {\tt\tiny [unreachable] haden at homelan dot lt} & 1.4.6 \\
~ & Mindaugas Radzius & {\tt\tiny [unreachable] mindaugasradzius at takas dot lt} & ~ \\
~ & Aidas Berukstis & {\tt\tiny [unreachable] aidasber at takas dot lt} & ~ \\
- ~ & -- contact lost -- & {\tt\tiny } & ~ \\
+ ~ & -- contact lost -- & {\tt\tiny [Please, try to help to find someone.]} & ~ \\
\hline
Macedonian & Slave Jovanovski & {\tt\tiny slavejovanovski at yahoo dot com} & 1.6.0 \\
\hline
@@ -376,10 +376,10 @@ when the translator was updated.
Persian & Ali Nadalizadeh & {\tt\tiny nadalizadeh at gmail dot com} & up-to-date \\
\hline
Polish & Piotr Kaminski & {\tt\tiny [unreachable] Piotr dot Kaminski at ctm dot gdynia dot pl} & 1.6.3 \\
- ~ & Grzegorz Kowal & {\tt\tiny [unreachable] g\_kowal at poczta dot onet dot pl} & ~ \\
+ ~ & Grzegorz Kowal & {\tt\tiny [unreachable] g_kowal at poczta dot onet dot pl} & ~ \\
~ & Krzysztof Kral & {\tt\tiny krzysztof dot kral at gmail dot com} & ~ \\
\hline
- Portuguese & Rui Godinho Lopes & {\tt\tiny [unreachable] ruiglopes at yahoo dot com} & 1.3.3 \\
+ Portuguese & Rui Godinho Lopes & {\tt\tiny [resigned] rgl at ruilopes dot com} & 1.3.3 \\
\hline
Romanian & Ionut Dumitrascu & {\tt\tiny reddumy at yahoo dot com} & 1.6.0 \\
~ & Alexandru Iosup & {\tt\tiny aiosup at yahoo dot com} & ~ \\
@@ -390,9 +390,10 @@ when the translator was updated.
\hline
SerbianCyrilic & Nedeljko Stefanovic & {\tt\tiny stenedjo at yahoo dot com} & 1.6.0 \\
\hline
- Slovak & -- searching for the maintainer -- & {\tt\tiny } & up-to-date \\
+ Slovak & Kali+Laco Švec & {\tt\tiny the Slovak language advisors} & up-to-date \\
+ ~ & Petr Přikryl & {\tt\tiny prikrylp at skil dot cz} & ~ \\
\hline
- Slovene & Matja\v{z} Ostrover\v{s}nik & {\tt\tiny matjaz dot ostroversnik at ostri dot org} & 1.4.6 \\
+ Slovene & Matjaž Ostroveršnik & {\tt\tiny matjaz dot ostroversnik at ostri dot org} & 1.4.6 \\
\hline
Spanish & Bartomeu & {\tt\tiny bartomeu at loteria3cornella dot com} & up-to-date \\
~ & Francisco Oltra Thennet & {\tt\tiny [unreachable] foltra at puc dot cl} & ~ \\
@@ -402,7 +403,8 @@ when the translator was updated.
\hline
Turkish & Emin Ilker Cetinbas & {\tt\tiny niw3 at yahoo dot com} & up-to-date \\
\hline
- Ukrainian & -- searching for the maintainer -- & {\tt\tiny } & 1.4.1 \\
+ Ukrainian & Olexij Tkatchenko & {\tt\tiny [resigned] olexij at tkatchenko dot com} & 1.4.1 \\
+ ~ & -- searching for the maintainer -- & {\tt\tiny [Please, try to help to find someone.]} & ~ \\
\hline
Vietnamese & Dang Minh Tuan & {\tt\tiny tuanvietkey at gmail dot com} & 1.6.0 \\
\hline
diff --git a/doc/maintainers.txt b/doc/maintainers.txt
index e7a1028..04ec526 100644
--- a/doc/maintainers.txt
+++ b/doc/maintainers.txt
@@ -1,16 +1,16 @@
% $Id$
%
-% Comments start with % sign at the beginning.
-% XML entities like &auml; are used for special characters.
+% The text is in UTF-8. Comments start with % sign at the beginning.
% There is one record for each language. The records are separated
% by the empty line and they do not contain empty lines.
% First line of the record identifies the translator class for the language.
% The following one or more lines contain information about
% the maintainer(s) for the language (one line, one maintainer)
% in the form: <readable name><colon><e-mail>
-% If the <e-mail> is prefixed [unreachable] it is not displayed in the table
+% If the <e-mail> is prefixed [some_text] it is not displayed in the table
% of maintainers in the Doxygen documentation, nor it is used when building
-% the mailto.txt by translator.py.
+% the mailto.txt by translator.py. The mark is displayed in the documentation
+% instead.
TranslatorAfrikaans
Johan Prinsloo: johan at zippysnoek dot com
@@ -37,10 +37,10 @@ TranslatorCroatian
Boris Bralo: boris dot bralo at gmail dot com
TranslatorCzech
-Petr P&rcaron;ikryl: prikrylp at skil dot cz
+Petr Přikryl: prikrylp at skil dot cz
TranslatorDanish
-Erik S&oslash;e S&oslash;rensen: eriksoe+doxygen at daimi dot au dot dk
+Erik Søe Sørensen: eriksoe+doxygen at daimi dot au dot dk
TranslatorDutch
Dimitri van Heesch: dimitri at stack dot nl
@@ -64,8 +64,8 @@ TranslatorGreek
Paul Gessos: gessos dot paul at yahoo dot gr
TranslatorHungarian
-&Aacute;kos Kiss: akiss at users dot sourceforge dot net
-F&ouml;ldv&aacute;ri Gy&ouml;rgy: [unreachable] foldvari lost at cyberspace
+Ákos Kiss: akiss at users dot sourceforge dot net
+Földvári György: [unreachable] foldvari lost at cyberspace
TranslatorIndonesian
Hendy Irawan: ceefour at gauldong dot net
@@ -89,7 +89,7 @@ TranslatorLithuanian
Tomas Simonaitis: [unreachable] haden at homelan dot lt
Mindaugas Radzius: [unreachable] mindaugasradzius at takas dot lt
Aidas Berukstis: [unreachable] aidasber at takas dot lt
--- contact lost --:
+-- contact lost --: [Please, try to help to find someone.]
TranslatorNorwegian
Lars Erik Jordet: lejordet at gmail dot com
@@ -106,7 +106,7 @@ Grzegorz Kowal: [unreachable] g_kowal at poczta dot onet dot pl
Krzysztof Kral: krzysztof dot kral at gmail dot com
TranslatorPortuguese
-Rui Godinho Lopes: [unreachable] ruiglopes at yahoo dot com
+Rui Godinho Lopes: [resigned] rgl at ruilopes dot com
TranslatorRomanian
Ionut Dumitrascu: reddumy at yahoo dot com
@@ -122,11 +122,12 @@ TranslatorSerbianCyrilic
Nedeljko Stefanovic: stenedjo at yahoo dot com
TranslatorSlovak
-% Stanislav Kudl&aacute;&ccaron;: [unreachable] skudlac at pobox dot sk
--- searching for the maintainer --:
+% Stanislav Kudláč: [resigned] skudlac at pobox dot sk
+Kali+Laco Švec: the Slovak language advisors
+Petr Přikryl: prikrylp at skil dot cz
TranslatorSlovene
-Matja&zcaron; Ostrover&scaron;nik: matjaz dot ostroversnik at ostri dot org
+Matjaž Ostroveršnik: matjaz dot ostroversnik at ostri dot org
TranslatorSpanish
Bartomeu: bartomeu at loteria3cornella dot com
@@ -136,13 +137,13 @@ David Vaquero: david at grupoikusnet dot com
TranslatorSwedish
Mikael Hallin: mikaelhallin at yahoo dot se
+TranslatorTurkish
+Emin Ilker Cetinbas: niw3 at yahoo dot com
+
TranslatorUkrainian
-% (resigned) Olexij Tkatchenko: olexij at tkatchenko dot com
--- searching for the maintainer --:
+Olexij Tkatchenko: [resigned] olexij at tkatchenko dot com
+-- searching for the maintainer --: [Please, try to help to find someone.]
TranslatorVietnamese
Dang Minh Tuan: tuanvietkey at gmail dot com
-TranslatorTurkish
-Emin Ilker Cetinbas: niw3 at yahoo dot com
-
diff --git a/doc/translator.py b/doc/translator.py
index 14f8c3c..995f910 100644
--- a/doc/translator.py
+++ b/doc/translator.py
@@ -56,10 +56,16 @@
2010/03/03 - Added [unreachable] prefix used in maintainers.txt.
2010/05/28 - BOM skipped; minor code cleaning.
2010/05/31 - e-mail mangled already in maintainers.txt
+ 2010/08/20 - maintainers.txt to UTF-8, related processin of unicode strings
+ - [any mark] introduced instead of [unreachable] only
+ - marks hihglighted in HTML
"""
from __future__ import generators
-import os, re, sys
+import codecs
+import os
+import re
+import sys
def fill(s):
@@ -1535,10 +1541,10 @@ class TrManager:
"""Returns the list of maintainer emails.
The method returns the list of e-mail adresses for the translator
- class, but only the addresses that were not marked as [unreachable]."""
+ class, but only the addresses that were not marked as [xxx]."""
lst = []
for m in self.__maintainersDic[classId]:
- if not m[1].startswith('[unreachable]'):
+ if not m[1].startswith('['):
email = m[1]
email = email.replace(' at ', '@') # Unmangle the mangled e-mail
email = email.replace(' dot ', '.')
@@ -1737,7 +1743,7 @@ class TrManager:
self.lastModificationTime = tim
# Process the content of the maintainers file.
- f = open(fname)
+ f = codecs.open(fname, 'r', 'utf-8')
inside = False # inside the record for the language
lineReady = True
classId = None
@@ -1748,18 +1754,18 @@ class TrManager:
lineReady = line != '' # when eof, then line == ''
line = line.strip() # eof should also behave as separator
- if line != '' and line[0] == '%': # skip the comment line
+ if line != u'' and line[0] == u'%': # skip the comment line
continue
if not inside: # if outside of the record
- if line != '': # should be language identifier
+ if line != u'': # should be language identifier
classId = line
maintainersLst = []
inside = True
# Otherwise skip empty line that do not act as separator.
else: # if inside the record
- if line == '': # separator found
+ if line == u'': # separator found
inside = False
else:
# If it is the first maintainer, create the empty list.
@@ -1767,9 +1773,9 @@ class TrManager:
self.__maintainersDic[classId] = []
# Split the information about the maintainer and append
- # the tuple. The address may be prefixed '[unreachable]'.
- # This will be processed later.
- lst = line.split(':', 1)
+ # the tuple. The address may be prefixed '[unreachable]'
+ # or whatever '[xxx]'. This will be processed later.
+ lst = line.split(u':', 1)
assert(len(lst) == 2)
t = (lst[0].strip(), lst[1].strip())
self.__maintainersDic[classId].append(t)
@@ -1801,32 +1807,33 @@ class TrManager:
#
# Read the template of the documentation, and remove the first
# attention lines.
- f = open(fTplName)
- line = f.readline()
- while line[0] != '/':
- line = f.readline()
- doctpl = line + f.read()
+ f = codecs.open(fTplName, 'r', 'utf-8')
+ doctpl = f.read()
f.close()
+ pos = doctpl.find(u'/***')
+ assert pos != -1
+ doctpl = doctpl[pos:]
+
# Fill the tplDic by symbols that will be inserted into the
# document template.
tplDic = {}
- s = 'Do not edit this file. It was generated by the %s script.' % self.script_name
+ s = u'Do not edit this file. It was generated by the %s script.' % self.script_name
tplDic['editnote'] = s
tplDic['doxVersion'] = self.doxVersion
tplDic['supportedLangReadableStr'] = self.supportedLangReadableStr
tplDic['translatorReportFileName'] = self.translatorReportFileName
- ahref = '<a href="../doc/' + self.translatorReportFileName
- ahref += '"\n><code>doxygen/doc/' + self.translatorReportFileName
- ahref += '</code></a>'
+ ahref = u'<a href="../doc/' + self.translatorReportFileName
+ ahref += u'"\n><code>doxygen/doc/' + self.translatorReportFileName
+ ahref += u'</code></a>'
tplDic['translatorReportLink'] = ahref
tplDic['numLangStr'] = str(self.numLang)
# Define templates for HTML table parts of the documentation.
- htmlTableTpl = '''\
+ htmlTableTpl = u'''\
\\htmlonly
<table align="center" cellspacing="0" cellpadding="0" border="0">
<tr bgcolor="#000000">
@@ -1849,8 +1856,8 @@ class TrManager:
\\endhtmlonly
'''
htmlTableTpl = dedent(htmlTableTpl)
- htmlTrTpl = '\n <tr bgcolor="#ffffff">%s\n </tr>'
- htmlTdTpl = '\n <td>%s</td>'
+ htmlTrTpl = u'\n <tr bgcolor="#ffffff">%s\n </tr>'
+ htmlTdTpl = u'\n <td>%s</td>'
# Loop through transl objects in the order of sorted readable names
# and add generate the content of the HTML table.
@@ -1871,28 +1878,26 @@ class TrManager:
classId = obj.classId[:-2]
if self.__translDic.has_key(classId):
lang = self.__translDic[classId].langReadable
- mm = 'see the %s language' % lang
- ee = '&nbsp;'
+ mm = u'see the %s language' % lang
+ ee = u'&nbsp;'
if not mm and self.__maintainersDic.has_key(obj.classId):
lm = [ m[0] for m in self.__maintainersDic[obj.classId] ]
- mm = '<br/>'.join(lm)
+ mm = u'<br/>'.join(lm)
- # Unreachable adresses will not be displayed at all.
+ # The marked adresses (they start with the mark '[unreachable]',
+ # '[resigned]', whatever '[xxx]') will not be displayed at all.
+ # Only the mark will be used instead.
+ rexMark = re.compile(ur'(?P<mark>\[.*?\])')
le = []
- for m in self.__maintainersDic[obj.classId]:
- address = m[1]
- if address.startswith('[unreachable]'):
- address = '[unreachable]'
+ for maintainer in self.__maintainersDic[obj.classId]:
+ address = maintainer[1]
+ m = rexMark.search(address)
+ if m is not None:
+ address = u'<span style="color: red; background-color: yellow">'\
+ + m.group(u'mark') + u'</span>'
le.append(address)
- ee = '<br/>'.join(le)
-
- # Replace the entity references.
- if mm:
- mm = mm.replace('&ccaron;', '&#x010d;')
- mm = mm.replace('&rcaron;', '&#x0159;')
- mm = mm.replace('&scaron;', '&#x0161;')
- mm = mm.replace('&zcaron;', '&#x017e;')
+ ee = u'<br/>'.join(le)
# Append the maintainer and e-mail elements.
lst.append(htmlTdTpl % mm)
@@ -1908,7 +1913,7 @@ class TrManager:
htmlTable = htmlTableTpl % (''.join(trlst))
# Define templates for LaTeX table parts of the documentation.
- latexTableTpl = r'''
+ latexTableTpl = ur'''
\latexonly
\footnotesize
\begin{longtable}{|l|l|l|l|}
@@ -1922,7 +1927,7 @@ class TrManager:
\endlatexonly
'''
latexTableTpl = dedent(latexTableTpl)
- latexLineTpl = '\n' + r' %s & %s & {\tt\tiny %s} & %s \\'
+ latexLineTpl = u'\n' + r' %s & %s & {\tt\tiny %s} & %s \\'
# Loop through transl objects in the order of sorted readable names
# and add generate the content of the LaTeX table.
@@ -1944,8 +1949,8 @@ class TrManager:
classId = obj.classId[:-2]
if self.__translDic.has_key(classId):
langNE = self.__translDic[classId].langReadable
- maintainer = 'see the %s language' % langNE
- email = '~'
+ maintainer = u'see the %s language' % langNE
+ email = u'~'
if not maintainer and self.__maintainersDic.has_key(obj.classId):
lm = [ m[0] for m in self.__maintainersDic[obj.classId] ]
@@ -1956,38 +1961,26 @@ class TrManager:
# Use the template to produce the line of the table and insert
# the hline plus the constructed line into the table content.
- trlst.append('\n \\hline')
+ trlst.append(u'\n \\hline')
trlst.append(latexLineTpl % (lang, maintainer, email, status))
# List the other maintainers for the language. Do not set
# lang and status for them.
- lang = '~'
- status = '~'
+ lang = u'~'
+ status = u'~'
for m in maintainers[1:]:
maintainer = m[0]
email = m[1]
trlst.append(latexLineTpl % (lang, maintainer, email, status))
# Join the table lines and insert into the template.
- latexTable = latexTableTpl % (''.join(trlst))
+ latexTable = latexTableTpl % (u''.join(trlst))
- # Do the LaTeX replacements.
- latexTable = latexTable.replace('&aacute;', "\\'{a}")
- latexTable = latexTable.replace('&Aacute;', "\\'{A}")
- latexTable = latexTable.replace('&auml;', '\\"{a}')
- latexTable = latexTable.replace('&ouml;', '\\"{o}')
- latexTable = latexTable.replace('&oslash;', '\\o{}')
- latexTable = latexTable.replace('&ccaron;', '\\v{c}')
- latexTable = latexTable.replace('&rcaron;', '\\v{r}')
- latexTable = latexTable.replace('&scaron;', '\\v{s}')
- latexTable = latexTable.replace('&zcaron;', '\\v{z}')
- latexTable = latexTable.replace('_', '\\_')
-
# Put the HTML and LaTeX parts together and define the dic item.
- tplDic['informationTable'] = htmlTable + '\n' + latexTable
+ tplDic['informationTable'] = htmlTable + u'\n' + latexTable
# Insert the symbols into the document template and write it down.
- f = open(fDocName, 'w')
+ f = codecs.open(fDocName, 'w', 'utf-8')
f.write(doctpl % tplDic)
f.close()
diff --git a/doc/translator_report.txt b/doc/translator_report.txt
index a79f1da..ba7f4ba 100644
--- a/doc/translator_report.txt
+++ b/doc/translator_report.txt
@@ -10,7 +10,7 @@ Persian, Polish, Portuguese, Romanian, Russian, Serbian,
SerbianCyrilic, Slovak, Slovene, Spanish, Swedish, Turkish, Ukrainian,
and Vietnamese.
-Of them, 10 translators are up-to-date, 28 translators are based on
+Of them, 11 translators are up-to-date, 27 translators are based on
some adapter class, and 2 are English based.
----------------------------------------------------------------------
@@ -25,6 +25,7 @@ still may be some details listed even for them:
TranslatorDutch
TranslatorEnglish
TranslatorGreek
+ TranslatorKorean -- Change the base class to Translator.
TranslatorPersian -- The MAX_DOT_GRAPH_HEIGHT found in trLegendDocs()
TranslatorSlovak
TranslatorSpanish -- The MAX_DOT_GRAPH_HEIGHT found in trLegendDocs()
@@ -37,9 +38,6 @@ version when the class was last updated and number of methods that
must be implemented to become up-to-date:
TranslatorPolish 1.6.3 4 methods to implement (1 %)
- TranslatorKorean 1.6.3 4 methods to implement (1 %)
- Note: Reimplementation using UTF-8 suggested.
-
TranslatorGerman 1.6.3 4 methods to implement (1 %)
TranslatorFrench 1.6.3 4 methods to implement (1 %)
Note: Reimplementation using UTF-8 suggested.
@@ -504,17 +502,10 @@ TranslatorJapaneseEn (TranslatorEnglish) 220 methods to implement (97 %)
virtual QCString latexLanguageSupportCommand()
-TranslatorKorean (TranslatorAdapter_1_6_3) 4 methods to implement (1 %)
+TranslatorKorean (TranslatorAdapter_1_6_3)
----------------
- Implements 221 of the required methods (98 %).
-
- Missing methods (should be implemented):
-
- virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime)
- virtual QCString trFileIn(const char * name)
- virtual QCString trDirDependency(const char * name)
- virtual QCString trIncludesFileIn(const char * name)
+ Implements 225 of the required methods (100 %).
TranslatorKoreanEn (TranslatorEnglish) 220 methods to implement (97 %)
diff --git a/qtools/qgstring.cpp b/qtools/qgstring.cpp
index f42eede..85dd879 100644
--- a/qtools/qgstring.cpp
+++ b/qtools/qgstring.cpp
@@ -118,7 +118,7 @@ bool QGString::resize( uint newlen )
DBG_STR(("%p: 2.QGString::resize() %d:%s\n",this,m_len,m_data?m_data:"<none>"));
return FALSE;
}
- m_data[newlen-1]='\0';
+ m_data[newlen]='\0';
m_len = qstrlen(m_data);
DBG_STR(("%p: 3.QGString::resize() %d:%s\n",this,m_len,m_data?m_data:"<none>"));
return TRUE;
diff --git a/src/classdef.cpp b/src/classdef.cpp
index 5911b35..04f8934 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -2163,7 +2163,7 @@ bool ClassDef::hasDocumentation() const
bool ClassDef::isBaseClass(ClassDef *bcd, bool followInstances,int level)
{
bool found=FALSE;
- //printf("isBaseClass(cd=%s) looking for %s\n",cd->name().data(),bcd->name().data());
+ //printf("isBaseClass(cd=%s) looking for %s\n",name().data(),bcd->name().data());
if (level>256)
{
err("Possible recursive class relation while inside %s and looking for %s\n",qPrint(name()),qPrint(bcd->name()));
@@ -2172,20 +2172,18 @@ bool ClassDef::isBaseClass(ClassDef *bcd, bool followInstances,int level)
}
if (baseClasses())
{
- //BaseClassListIterator bcli(*baseClasses());
- //for ( ; bcli.current() && !found ; ++bcli)
- BaseClassDef *bcdi = baseClasses()->first();
- while (bcdi)
+ // Beware: trying to optimise the iterator away using ->first() & ->next()
+ // causes bug 625531
+ BaseClassListIterator bcli(*baseClasses());
+ for ( ; bcli.current() && !found ; ++bcli)
{
- //ClassDef *ccd=bcli.current()->classDef;
- ClassDef *ccd=bcdi->classDef;
+ ClassDef *ccd=bcli.current()->classDef;
if (!followInstances && ccd->templateMaster()) ccd=ccd->templateMaster();
//printf("isBaseClass() baseclass %s\n",ccd->name().data());
if (ccd==bcd)
found=TRUE;
else
found=ccd->isBaseClass(bcd,followInstances,level+1);
- bcdi = baseClasses()->next();
}
}
return found;
diff --git a/src/code.l b/src/code.l
index ddc6763..1543f53 100644
--- a/src/code.l
+++ b/src/code.l
@@ -3408,7 +3408,8 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s,
g_bracketCount = 0;
if (!g_exampleName.isEmpty())
{
- g_exampleFile = convertNameToFile(g_exampleName+"-example");
+ g_exampleFile = convertNameToFile(g_exampleName+"-example",FALSE,TRUE);
+ //printf("g_exampleFile=%s\n",g_exampleFile.data());
}
g_includeCodeFragment = inlineFragment;
//printf("** exBlock=%d exName=%s include=%d\n",exBlock,exName,inlineFragment);
diff --git a/src/commentcnv.l b/src/commentcnv.l
index ab56812..660dae6 100644
--- a/src/commentcnv.l
+++ b/src/commentcnv.l
@@ -468,6 +468,17 @@ void replaceComment(int offset);
<Verbatim,VerbatimCode>\n { /* new line in verbatim block */
copyToOutput(yytext,yyleng);
}
+<Verbatim,VerbatimCode>^[ \t]*"///" {
+ if (g_blockName=="dot" || g_blockName=="msc" || g_blockName.at(0)=='f')
+ {
+ // see bug 487871, strip /// from dot images and formulas.
+ copyToOutput(" ",3);
+ }
+ else // even slashes are verbatim (e.g. \verbatim, \code)
+ {
+ REJECT;
+ }
+ }
<Verbatim,VerbatimCode>. { /* any other character */
copyToOutput(yytext,yyleng);
}
diff --git a/src/commentscan.l b/src/commentscan.l
index 4ad0590..892ac71 100644
--- a/src/commentscan.l
+++ b/src/commentscan.l
@@ -1260,7 +1260,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
/* --------- handle arguments of {def,add,weak}group commands --------- */
-<GroupDocArg1>{ID}(".html"?) { // group name
+<GroupDocArg1>{LABELID}(".html"?) { // group name
current->name = yytext;
//lastDefGroup.groupname = yytext;
//lastDefGroup.pri = current->groupingPri();
@@ -1354,7 +1354,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
/* --------- handle arguments of the xrefitem command ------------ */
-<XRefItemParam1>{ID} { // first argument
+<XRefItemParam1>{LABELID} { // first argument
newXRefItemKey=yytext;
setOutput(OutputXRef);
BEGIN(XRefItemParam2);
@@ -1803,7 +1803,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
/* ----- handle argument of ingroup command ------- */
-<InGroupParam>{ID} { // group id
+<InGroupParam>{LABELID} { // group id
current->groups->append(
new Grouping(yytext, Grouping::GROUPING_INGROUP)
);
diff --git a/src/config.xml b/src/config.xml
index 47c9148..17d3644 100644
--- a/src/config.xml
+++ b/src/config.xml
@@ -943,9 +943,11 @@ top of each HTML page. The value NO (the default) enables the index and
the value YES disables it.
' defval='0' depends='GENERATE_HTML'/>
<option type='int' id='ENUM_VALUES_PER_LINE' docs='
-This tag can be used to set the number of enum values (range [1..20])
+This tag can be used to set the number of enum values (range [0,1..20])
that doxygen will group on one line in the generated HTML documentation.
-' minval='1' maxval='20' defval='4' depends='GENERATE_HTML'/>
+Note that a value of 0 will completely suppress the enum values from
+appearing in the overview section.
+' minval='0' maxval='20' defval='4' depends='GENERATE_HTML'/>
<option type='bool' id='GENERATE_TREEVIEW' defval='0' docs='
The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
structure should be generated to display hierarchical information.
diff --git a/src/configoptions.cpp b/src/configoptions.cpp
index 9d4f75f..a9c2133 100644
--- a/src/configoptions.cpp
+++ b/src/configoptions.cpp
@@ -1393,9 +1393,10 @@ void addConfigOptions(Config *cfg)
//----
ci = cfg->addInt(
"ENUM_VALUES_PER_LINE",
- "This tag can be used to set the number of enum values (range [1..20])\n"
- "that doxygen will group on one line in the generated HTML documentation.",
- 1,20,4
+ "This tag can be used to set the number of enum values (range [0,1..20])\n"
+ "that doxygen will group on one line in the generated HTML documentation.\n"
+ "Note that a value of 0 will completely suppress the enum values from appearing in the overview section.",
+ 0,20,4
);
ci->addDependency("GENERATE_HTML");
//----
diff --git a/src/definition.cpp b/src/definition.cpp
index 59906d5..6fe8b4e 100644
--- a/src/definition.cpp
+++ b/src/definition.cpp
@@ -833,7 +833,6 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
//printf("Read:\n`%s'\n\n",codeFragment.data());
MemberDef *thisMd = 0;
if (definitionType()==TypeMember) thisMd = (MemberDef *)this;
- ol.startParagraph();
ol.startCodeFragment();
pIntf->parseCode(ol, // codeOutIntf
scopeName, // scope
@@ -848,7 +847,6 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
FALSE // show line numbers
);
ol.endCodeFragment();
- ol.endParagraph();
}
}
ol.popGeneratorState();
diff --git a/src/docparser.cpp b/src/docparser.cpp
index c3f6992..d68be25 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -1930,7 +1930,7 @@ bool DocXRefItem::parse()
}
else
{
- m_file = convertNameToFile(refList->listName());
+ m_file = convertNameToFile(refList->listName(),FALSE,TRUE);
m_anchor = item->listAnchor;
}
m_title = refList->sectionTitle();
diff --git a/src/doctokenizer.l b/src/doctokenizer.l
index f1b50af..fa4f28a 100644
--- a/src/doctokenizer.l
+++ b/src/doctokenizer.l
@@ -291,7 +291,8 @@ CMD ("\\"|"@")
WS [ \t\r\n]
NONWS [^ \t\r\n]
BLANK [ \t\r]
-ID "$"?[a-z_A-Z][a-z_A-Z0-9]*
+ID "$"?[a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF]*
+LABELID [a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF\-]*
MAILADR [a-z_A-Z0-9.+-]+"@"[a-z_A-Z0-9-]+("."[a-z_A-Z0-9\-]+)+[a-z_A-Z0-9\-]+
OPTSTARS ("//"{BLANK}*)?"*"*{BLANK}*
LISTITEM {BLANK}*{OPTSTARS}"-"("#")?{WS}
@@ -311,7 +312,7 @@ SPCMD3 {CMD}form#[0-9]+
INOUT "in"|"out"|("in"{BLANK}*","{BLANK}*"out")|("out"{BLANK}*","{BLANK}*"in")
PARAMIO {CMD}param{BLANK}*"["{BLANK}*{INOUT}{BLANK}*"]"
TEMPCHAR [a-z_A-Z0-9,: \t\*\&]
-FUNCCHAR [a-z_A-Z0-9,:\<\> \t\*\&]
+FUNCCHAR [a-z_A-Z0-9,:\<\> \t\*\&\[\]]
SCOPESEP "::"|"#"|"."
TEMPLPART "<"{TEMPCHAR}*">"
SCOPEPRE {ID}{TEMPLPART}?{SCOPESEP}
@@ -339,7 +340,6 @@ HTMLTAG "<"(("/")?){ID}({WS}+{ATTRIB})*{WS}*(("/")?)">"
HTMLKEYL "strong"|"center"|"table"|"caption"|"small"|"code"|"dfn"|"var"|"img"|"pre"|"sub"|"sup"|"tr"|"td"|"th"|"ol"|"ul"|"li"|"tt"|"kbd"|"em"|"hr"|"dl"|"dt"|"dd"|"br"|"i"|"a"|"b"|"p"
HTMLKEYU "STRONG"|"CENTER"|"TABLE"|"CAPTION"|"SMALL"|"CODE"|"DFN"|"VAR"|"IMG"|"PRE"|"SUB"|"SUP"|"TR"|"TD"|"TH"|"OL"|"UL"|"LI"|"TT"|"KBD"|"EM"|"HR"|"DL"|"DT"|"DD"|"BR"|"I"|"A"|"B"|"P"
HTMLKEYW {HTMLKEYL}|{HTMLKEYU}
-LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
REFWORD2 ("#"|"::")?({ID}{TEMPLPART}?("."|"#"|"::"|"-"|"/"))*({ID}(":")?){FUNCARG}?
REFWORD {LABELID}|{REFWORD2}
@@ -768,7 +768,7 @@ REFWORD {LABELID}|{REFWORD2}
<St_Ref2>"\""|\n { /* " or \n => end of title */
return 0;
}
-<St_XRefItem>{ID} {
+<St_XRefItem>{LABELID} {
g_token->name=yytext;
}
<St_XRefItem>" " {
diff --git a/src/dot.cpp b/src/dot.cpp
index 3edbf18..94c915c 100644
--- a/src/dot.cpp
+++ b/src/dot.cpp
@@ -3277,11 +3277,8 @@ QCString getDotImageMapFromFile(const QCString& inFile, const QCString& outDir,
err("error: Output dir %s does not exist!\n",outDir.data()); exit(1);
}
- QCString absInFile = QCString(d.absPath())+"/"+inFile;
- QCString absOutFile = QCString(d.absPath())+"/"+outFile;
-
- DotRunner dotRun(absInFile,d.absPath().data(),FALSE);
- dotRun.addJob(MAP_CMD,absOutFile);
+ DotRunner dotRun(inFile,d.absPath().data(),FALSE);
+ dotRun.addJob(MAP_CMD,outFile);
dotRun.preventCleanUp();
if (!dotRun.run())
{
@@ -3290,7 +3287,7 @@ QCString getDotImageMapFromFile(const QCString& inFile, const QCString& outDir,
QGString result;
FTextStream tmpout(&result);
- convertMapFile(tmpout, absOutFile, relPath ,TRUE, context);
+ convertMapFile(tmpout, outFile, relPath ,TRUE, context);
d.remove(outFile);
return result.data();
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 0c3638d..eda6119 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -1552,7 +1552,7 @@ static void findUsingDirectives(EntryNav *rootNav)
}
else // unknown namespace, but add it anyway.
{
- printf("++ new unknown namespace %s\n",name.data());
+ //printf("++ new unknown namespace %s\n",name.data());
NamespaceDef *nd=new NamespaceDef(root->fileName,root->startLine,name);
nd->setDocumentation(root->doc,root->docFile,root->docLine); // copy docs to definition
nd->setBriefDescription(root->brief,root->briefFile,root->briefLine);
@@ -6998,6 +6998,7 @@ static void computeMemberRelations()
// );
if (md!=bmd && bmcd && mcd && bmcd!=mcd && mcd->isBaseClass(bmcd,TRUE))
{
+ //printf(" derived scope\n");
LockingPtr<ArgumentList> bmdAl = bmd->argumentList();
LockingPtr<ArgumentList> mdAl = md->argumentList();
//printf(" Base argList=`%s'\n Super argList=`%s'\n",
diff --git a/src/fortranscanner.l b/src/fortranscanner.l
index 0170907..b8d4afd 100644
--- a/src/fortranscanner.l
+++ b/src/fortranscanner.l
@@ -1089,6 +1089,8 @@ static void copyEntry(Entry *dest, Entry *src)
dest->bodyLine = src->bodyLine;
dest->args = src->args;
dest->argList = new ArgumentList(*src->argList);
+ dest->doc = src->doc;
+ dest->brief = src->brief;
}
/** fill empty interface module procedures with info from
diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp
index 8cebd4c..a5900cc 100644
--- a/src/htmldocvisitor.cpp
+++ b/src/htmldocvisitor.cpp
@@ -1558,7 +1558,7 @@ void HtmlDocVisitor::writeDotFile(const QCString &fn,const QCString &relPath,
m_t << "<img src=\"" << relPath << baseName << "."
<< Config_getEnum("DOT_IMAGE_FORMAT") << "\" alt=\""
<< baseName << "\" border=\"0\" usemap=\"#" << mapName << "\">" << endl;
- QCString imap = getDotImageMapFromFile(baseName,outDir,relPath,context);
+ QCString imap = getDotImageMapFromFile(fn,outDir,relPath,context);
m_t << "<map name=\"" << mapName << "\" id=\"" << mapName << "\">" << imap << "</map>" << endl;
}
diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp
index 708cab0..991bab9 100644
--- a/src/htmlgen.cpp
+++ b/src/htmlgen.cpp
@@ -1534,6 +1534,7 @@ void HtmlGenerator::writeChar(char c)
static void startSectionHeader(FTextStream &t,
const QCString &relPath,int sectionCount)
{
+ t << "<!-- startSectionHeader -->";
static bool dynamicSections = Config_getBool("HTML_DYNAMIC_SECTIONS");
if (dynamicSections)
{
@@ -1552,11 +1553,13 @@ static void startSectionHeader(FTextStream &t,
static void endSectionHeader(FTextStream &t)
{
+ t << "<!-- endSectionHeader -->";
t << "</div>" << endl;
}
static void startSectionSummary(FTextStream &t,int sectionCount)
{
+ t << "<!-- startSectionSummary -->";
static bool dynamicSections = Config_getBool("HTML_DYNAMIC_SECTIONS");
if (dynamicSections)
{
@@ -1568,6 +1571,7 @@ static void startSectionSummary(FTextStream &t,int sectionCount)
static void endSectionSummary(FTextStream &t)
{
+ t << "<!-- endSectionSummary -->";
static bool dynamicSections = Config_getBool("HTML_DYNAMIC_SECTIONS");
if (dynamicSections)
{
@@ -1577,6 +1581,7 @@ static void endSectionSummary(FTextStream &t)
static void startSectionContent(FTextStream &t,int sectionCount)
{
+ t << "<!-- startSectionContent -->";
static bool dynamicSections = Config_getBool("HTML_DYNAMIC_SECTIONS");
if (dynamicSections)
{
@@ -1592,6 +1597,7 @@ static void startSectionContent(FTextStream &t,int sectionCount)
static void endSectionContent(FTextStream &t)
{
+ t << "<!-- endSectionContent -->";
t << "</div>" << endl;
}
@@ -1621,6 +1627,7 @@ void HtmlGenerator::endClassDiagram(const ClassDiagram &d,
t << "_map\">" << endl;
d.writeImage(t,dir,relPath,fileName);
+ t << " </div>";
endSectionContent(t);
m_sectionCount++;
}
@@ -1936,22 +1943,20 @@ void HtmlGenerator::endParameterName(bool last,bool emptyList,bool closeBracket)
{
if (emptyList)
{
- t << "</td>" << endl;
- t << " <td>";
if (closeBracket) t << "&#160;)";
- t << "&#160;</td>" << endl;
+ t << "</td>" << endl;
t << " <td>";
}
else
{
- t << "</td><td>&#160;</td>" << endl;
+ t << "&#160;</td>" << endl;
t << " </tr>" << endl;
t << " <tr>" << endl;
t << " <td></td>" << endl;
t << " <td>";
if (closeBracket) t << ")";
t << "</td>" << endl;
- t << " <td></td><td></td><td>";
+ t << " <td></td><td>";
}
}
else
diff --git a/src/latexgen.cpp b/src/latexgen.cpp
index 85e2905..f75b76a 100644
--- a/src/latexgen.cpp
+++ b/src/latexgen.cpp
@@ -182,7 +182,8 @@ static void writeDefaultHeaderPart1(FTextStream &t)
t << "]{";
if (Config_getBool("COMPACT_LATEX")) t << "article"; else t << "book";
t << "}\n";
- if (paperType=="a4wide") t << "\\usepackage{a4wide}\n";
+ // the next package is obsolete (see bug 563698)
+ //if (paperType=="a4wide") t << "\\usepackage{a4wide}\n";
t << "\\usepackage{makeidx}\n"
"\\usepackage{graphicx}\n"
"\\usepackage{multicol}\n"
@@ -193,10 +194,10 @@ static void writeDefaultHeaderPart1(FTextStream &t)
"\\usepackage{alltt}\n"
//"\\usepackage{ae,aecompl,aeguill}\n"
;
- if (Config_getBool("USE_PDFLATEX"))
- {
- t << "\\usepackage{times}" << endl;
- }
+ //if (Config_getBool("USE_PDFLATEX"))
+ //{
+ // t << "\\usepackage{times}" << endl;
+ //}
if (Config_getBool("PDF_HYPERLINKS"))
{
t << "\\usepackage{ifpdf}" << endl
@@ -229,6 +230,9 @@ static void writeDefaultHeaderPart1(FTextStream &t)
// if the command is empty, no output is needed.
t << sLanguageSupportCommand << endl;
}
+ t << "\\usepackage{mathptmx}\n";
+ t << "\\usepackage[scaled=.90]{helvet}\n";
+ t << "\\usepackage{courier}\n";
t << "\\usepackage{doxygen}\n";
// define option for listings
@@ -308,6 +312,49 @@ static void writeDefaultStyleSheetPart1(FTextStream &t)
"\\RequirePackage{color}\n"
"\\RequirePackage{fancyhdr}\n"
"\\RequirePackage{verbatim}\n\n";
+
+ t << "% Use helvetica font instead of times roman\n"
+ "\\RequirePackage{helvet}\n"
+ "\\RequirePackage{sectsty}\n"
+ "\\RequirePackage{tocloft}\n"
+ "\\allsectionsfont{\\usefont{OT1}{phv}{bc}{n}\\selectfont}\n"
+ "\\renewcommand{\\cftchapfont}{%\n"
+ " \\fontsize{11}{13}\\usefont{OT1}{phv}{bc}{n}\\selectfont\n"
+ "}\n"
+ "\\renewcommand{\\cftchappagefont}{%\n"
+ " \\fontsize{11}{13}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
+ "}\n"
+ "\\renewcommand{\\cftsecfont}{%\n"
+ " \\fontsize{10}{12}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
+ "}\n"
+ "\\renewcommand{\\cftsecpagefont}{%\n"
+ " \\fontsize{10}{12}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
+ "}\n"
+ "\\renewcommand{\\cftsubsecfont}{%\n"
+ " \\fontsize{10}{12}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
+ "}\n"
+ "\\renewcommand{\\cftsubsecpagefont}{%\n"
+ " \\fontsize{10}{12}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
+ "}\n"
+ "\\renewcommand{\\cftsubsubsecfont}{%\n"
+ " \\fontsize{9}{11}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
+ "}\n"
+ "\\renewcommand{\\cftsubsubsecpagefont}{%\n"
+ " \\fontsize{9}{11}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
+ "}\n"
+ "\\renewcommand{\\cftparafont}{%\n"
+ " \\fontsize{9}{11}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
+ "}\n"
+ "\\renewcommand{\\cftparapagefont}{%\n"
+ " \\fontsize{9}{11}\\usefont{OT1}{phv}{c}{n}\\selectfont\n"
+ "}\n"
+ "\\renewcommand{\\cfttoctitlefont}{%\n"
+ " \\fontsize{20}{22}\\usefont{OT1}{phv}{b}{n}\\selectfont\n"
+ "}\n"
+ "\\renewcommand{\\rmdefault}{phv}\n"
+ "\\renewcommand{\\bfdefault}{bc}\n"
+ "\n\n";
+
t << "% Setup fancy headings\n"
"\\pagestyle{fancyplain}\n"
"\\newcommand{\\clearemptydoublepage}{%\n"
@@ -320,25 +367,42 @@ static void writeDefaultStyleSheetPart1(FTextStream &t)
t << "\\renewcommand{\\sectionmark}[1]{%\n"
" \\markright{\\thesection\\ #1}%\n"
"}\n";
- t << "\\lhead[\\fancyplain{}{\\bfseries\\thepage}]{%\n"
- " \\fancyplain{}{\\bfseries\\rightmark}%\n"
- "}\n";
- t << "\\rhead[\\fancyplain{}{\\bfseries\\leftmark}]{%\n"
- " \\fancyplain{}{\\bfseries\\thepage}%\n"
- "}\n";
- t << "\\rfoot[\\fancyplain{}{\\bfseries\\scriptsize%\n ";
+
+ //t << "\\lhead[\\fancyplain{}{\\bfseries\\thepage}]{%\n"
+ // " \\fancyplain{}{\\bfseries\\rightmark}%\n"
+ // "}\n";
+ //t << "\\rhead[\\fancyplain{}{\\bfseries\\leftmark}]{%\n"
+ // " \\fancyplain{}{\\bfseries\\thepage}%\n"
+ // "}\n";
+ //t << "\\rfoot[\\fancyplain{}{\\bfseries\\scriptsize%\n ";
+ t << "\\fancyhead[LE]{\\fancyplain{}{\\bfseries\\thepage}}\n";
+ t << "\\fancyhead[CE]{\\fancyplain{}{}}\n";
+ t << "\\fancyhead[RE]{\\fancyplain{}{\\bfseries\\leftmark}}\n";
+ t << "\\fancyhead[LO]{\\fancyplain{}{\\bfseries\\rightmark}}\n";
+ t << "\\fancyhead[CO]{\\fancyplain{}{}}\n";
+ t << "\\fancyhead[RO]{\\fancyplain{}{\\bfseries\\thepage}}\n";
+
+ t << "\\fancyfoot[LE]{\\fancyplain{}{}}\n";
+ t << "\\fancyfoot[CE]{\\fancyplain{}{}}\n";
+ t << "\\fancyfoot[RE]{\\fancyplain{}{\\bfseries\\scriptsize ";
}
static void writeDefaultStyleSheetPart2(FTextStream &t)
{
- t << "\\lfoot[]{\\fancyplain{}{\\bfseries\\scriptsize%\n ";
+ t << "}}\n";
+ t << "\\fancyfoot[LO]{\\fancyplain{}{\\bfseries\\scriptsize ";
+ //t << "\\lfoot[]{\\fancyplain{}{\\bfseries\\scriptsize%\n ";
+
}
static void writeDefaultStyleSheetPart3(FTextStream &t)
{
static bool latexSourceCode = Config_getBool("LATEX_SOURCE_CODE");
t << "}}\n";
- t << "\\cfoot{}\n\n";
+ //t << "\\cfoot{}\n\n";
+ t << "\\fancyfoot[CO]{\\fancyplain{}{}}\n";
+ t << "\\fancyfoot[RO]{\\fancyplain{}{}}\n";
+
t << "%---------- Internal commands used in this style file ----------------\n\n";
t << "% Generic environment used by all paragraph-based environments defined\n"
"% below. Note that the command \\title{...} needs to be defined inside\n"
@@ -623,7 +687,8 @@ static void writeDefaultStyleSheetPart3(FTextStream &t)
t << "\\setlength{\\parindent}{0cm}\n";
t << "\\setlength{\\parskip}{0.2cm}\n";
t << "\\addtocounter{secnumdepth}{1}\n";
- t << "\\sloppy\n";
+ // \sloppy should not be used, see bug 563698
+ //t << "\\sloppy\n";
t << "\\usepackage[T1]{fontenc}\n";
t << "\\makeatletter\n";
t << "\\renewcommand{\\paragraph}{\\@startsection{paragraph}{4}{0ex}%\n";
@@ -1128,14 +1193,11 @@ void LatexGenerator::writeStyleInfo(int part)
break;
case 2:
{
- //t << " Dimitri van Heesch \\copyright~1997-2010";
- t << "}]{}\n";
writeDefaultStyleSheetPart2(t);
}
break;
case 4:
{
- //t << " Dimitri van Heesch \\copyright~1997-2010";
writeDefaultStyleSheetPart3(t);
endPlainFile();
}
diff --git a/src/logos.cpp b/src/logos.cpp
index 112fb8d..f7364a5 100644
--- a/src/logos.cpp
+++ b/src/logos.cpp
@@ -21,279 +21,6 @@
#include <qfile.h>
#include <qdir.h>
-#if 0
-unsigned char doxygen_png_data[] = {
- 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
- 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x2d,
- 0x08, 0x03, 0x00, 0x00, 0x00, 0x6f, 0x6b, 0x3e, 0xc2, 0x00, 0x00, 0x00,
- 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xd6, 0xd8, 0xd4, 0x4f, 0x58,
- 0x32, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66,
- 0x74, 0x77, 0x61, 0x72, 0x65, 0x00, 0x41, 0x64, 0x6f, 0x62, 0x65, 0x20,
- 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x71, 0xc9,
- 0x65, 0x3c, 0x00, 0x00, 0x00, 0x5d, 0x50, 0x4c, 0x54, 0x45, 0x00, 0x00,
- 0x00, 0xc7, 0xbe, 0xcf, 0x22, 0x26, 0xa9, 0xc8, 0xce, 0xef, 0xb6, 0xbb,
- 0xd6, 0xd3, 0xda, 0xfa, 0x93, 0xa2, 0xde, 0xa0, 0xac, 0xe0, 0xb6, 0xc2,
- 0xf5, 0x7f, 0x87, 0xa7, 0xd5, 0xd9, 0xea, 0xc9, 0xca, 0xce, 0xe1, 0xe2,
- 0xe6, 0x7b, 0x8e, 0xd4, 0x8d, 0xa1, 0xeb, 0x88, 0x99, 0xd7, 0xa0, 0xb2,
- 0xf8, 0xa7, 0xac, 0xb9, 0xc0, 0xc0, 0xb1, 0xdd, 0xdd, 0xce, 0xf9, 0xf9,
- 0xe9, 0xf5, 0xf5, 0xe7, 0xeb, 0xeb, 0xe5, 0x45, 0x44, 0x39, 0xd7, 0xd6,
- 0xcb, 0x68, 0x67, 0x5d, 0x1f, 0x1d, 0x13, 0x5f, 0x58, 0x3c, 0x40, 0x3a,
- 0x23, 0x6d, 0x68, 0x55, 0xff, 0xff, 0xff, 0xdd, 0xc0, 0x7f, 0x31, 0x00,
- 0x00, 0x00, 0x1f, 0x74, 0x52, 0x4e, 0x53, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0x00, 0xcd, 0x19, 0x76, 0x10, 0x00, 0x00, 0x03, 0xff, 0x49, 0x44,
- 0x41, 0x54, 0x78, 0xda, 0x62, 0x90, 0x43, 0x00, 0x06, 0x08, 0x90, 0xa3,
- 0x3a, 0x00, 0x08, 0x20, 0x64, 0x23, 0x19, 0x84, 0x84, 0x85, 0x85, 0x85,
- 0x68, 0x60, 0x09, 0x40, 0x00, 0xa1, 0x58, 0x22, 0x2c, 0x2a, 0x2a, 0x2a,
- 0x4c, 0x03, 0x4b, 0x00, 0x02, 0x88, 0x2e, 0x96, 0x00, 0x04, 0x10, 0x5d,
- 0x2c, 0x01, 0x08, 0x20, 0xba, 0x58, 0x02, 0x10, 0x40, 0x74, 0xb1, 0x04,
- 0x20, 0x80, 0xe8, 0x62, 0x09, 0x40, 0x00, 0xd1, 0xc5, 0x12, 0x80, 0x00,
- 0x42, 0xb5, 0x44, 0x84, 0x36, 0x96, 0x00, 0x04, 0x10, 0x9a, 0x25, 0x22,
- 0x22, 0xb4, 0xb0, 0x04, 0x20, 0x80, 0x18, 0x90, 0x0b, 0x14, 0x98, 0x25,
- 0x0c, 0x0c, 0x88, 0x12, 0x06, 0x99, 0x42, 0x14, 0x3a, 0x48, 0xa2, 0x88,
- 0xb2, 0x08, 0xc1, 0x66, 0x40, 0x95, 0x00, 0x08, 0x20, 0x88, 0x52, 0x50,
- 0x79, 0x02, 0x04, 0x22, 0x10, 0x4b, 0x60, 0x5c, 0x50, 0x11, 0x03, 0x62,
- 0x43, 0x28, 0x21, 0x49, 0x06, 0x49, 0x21, 0x68, 0xa9, 0x03, 0x11, 0x85,
- 0xeb, 0x83, 0x28, 0x81, 0xf1, 0x84, 0x90, 0xc4, 0x21, 0xea, 0x01, 0x02,
- 0x88, 0x01, 0xac, 0x43, 0x04, 0x01, 0x84, 0x19, 0xc4, 0x85, 0xe0, 0x6c,
- 0x21, 0x30, 0x5b, 0x58, 0x5c, 0x4a, 0x5c, 0x18, 0x24, 0x03, 0x54, 0x08,
- 0x0e, 0x4d, 0x06, 0x88, 0x28, 0x92, 0x3e, 0x61, 0x06, 0x24, 0x53, 0x84,
- 0x18, 0x90, 0x0c, 0x04, 0xd9, 0x02, 0x10, 0x40, 0x0c, 0xd0, 0xa8, 0x40,
- 0x52, 0x2e, 0x24, 0x82, 0xac, 0x04, 0x4c, 0x4a, 0x42, 0x02, 0x52, 0x18,
- 0xa2, 0x89, 0x41, 0x10, 0xcc, 0x10, 0x47, 0x31, 0x0a, 0xac, 0x0b, 0x16,
- 0x18, 0xc2, 0x28, 0x46, 0xc8, 0x01, 0x04, 0x10, 0x83, 0x1c, 0xd4, 0x50,
- 0x68, 0x68, 0xc1, 0x54, 0xc0, 0x03, 0x0f, 0xa2, 0x19, 0x84, 0x25, 0x21,
- 0x1e, 0x60, 0x80, 0x26, 0x10, 0x71, 0xb0, 0x25, 0x10, 0x75, 0xc2, 0x0c,
- 0x50, 0x07, 0x20, 0xb9, 0x06, 0xa2, 0x0b, 0xac, 0x01, 0x20, 0x80, 0x18,
- 0x20, 0xb9, 0x43, 0x54, 0x08, 0x18, 0x24, 0x42, 0xa2, 0xe0, 0x7c, 0x82,
- 0xc2, 0x05, 0xba, 0x57, 0x14, 0x02, 0x84, 0xa4, 0x18, 0xc0, 0x6c, 0xa0,
- 0xa3, 0x21, 0x12, 0x42, 0x60, 0x52, 0x06, 0x24, 0x28, 0x0c, 0x16, 0x03,
- 0x85, 0x19, 0xc4, 0x08, 0x88, 0x91, 0x92, 0xc2, 0x10, 0x9e, 0x1c, 0x40,
- 0x00, 0x41, 0xc5, 0x25, 0xc4, 0x19, 0x18, 0xa4, 0xc4, 0x25, 0x40, 0x2c,
- 0x06, 0x28, 0x97, 0x01, 0xca, 0x15, 0x82, 0xda, 0x01, 0x12, 0x02, 0xb1,
- 0x25, 0x24, 0xc1, 0xe2, 0xe2, 0x52, 0x12, 0x50, 0x6d, 0x42, 0x20, 0x55,
- 0x60, 0x31, 0x49, 0x88, 0x59, 0x42, 0x0c, 0x08, 0x15, 0x20, 0x39, 0x39,
- 0x80, 0x00, 0x5c, 0x8d, 0x31, 0x02, 0x00, 0x20, 0x08, 0x02, 0x79, 0x43,
- 0x43, 0x12, 0x43, 0xff, 0x7f, 0x66, 0x22, 0x5b, 0x4e, 0xa0, 0x27, 0x00,
- 0xdc, 0x3d, 0x54, 0x47, 0xc8, 0x92, 0xf8, 0x6c, 0x05, 0x38, 0x98, 0x5e,
- 0x4b, 0xfb, 0x35, 0x8f, 0x3c, 0xea, 0x12, 0x53, 0x81, 0xe6, 0x52, 0xc9,
- 0xa4, 0x94, 0x25, 0xee, 0x13, 0x40, 0x40, 0x01, 0x1e, 0x20, 0xe0, 0x06,
- 0x9b, 0xca, 0x0d, 0x62, 0x31, 0xa0, 0x71, 0xc5, 0x41, 0x14, 0x0f, 0x8f,
- 0x10, 0x58, 0x48, 0x88, 0x07, 0x02, 0xb8, 0x81, 0x26, 0x81, 0xd8, 0x42,
- 0x92, 0x52, 0x20, 0x79, 0x09, 0x06, 0x6e, 0x98, 0x04, 0x50, 0x84, 0x01,
- 0xcc, 0xe3, 0x96, 0x02, 0x1b, 0x00, 0x34, 0x41, 0x0e, 0x20, 0x80, 0x80,
- 0x6a, 0xb9, 0x80, 0x80, 0x1b, 0x1c, 0x3e, 0xdc, 0x20, 0x16, 0x03, 0x98,
- 0x0b, 0x74, 0x21, 0x98, 0x2b, 0x28, 0x2e, 0xc8, 0xc5, 0x05, 0x57, 0x01,
- 0x51, 0x02, 0x12, 0x06, 0xb1, 0x41, 0x32, 0xdc, 0xdc, 0x10, 0x4d, 0x10,
- 0x55, 0xdc, 0x82, 0x92, 0x92, 0x82, 0x82, 0xe2, 0x0c, 0x60, 0x31, 0xa0,
- 0x25, 0x60, 0x31, 0x06, 0x39, 0x80, 0x00, 0x02, 0x46, 0x3c, 0x0b, 0x33,
- 0x10, 0x08, 0x02, 0x63, 0x5a, 0x10, 0xc4, 0x60, 0x01, 0xf3, 0x05, 0x65,
- 0x21, 0x5c, 0x16, 0x88, 0x20, 0x44, 0x05, 0xc8, 0x2b, 0x10, 0x2e, 0x0b,
- 0x38, 0x33, 0x8b, 0xb3, 0xc0, 0xe4, 0xb8, 0x21, 0x6c, 0x16, 0x59, 0x59,
- 0x41, 0x20, 0x2d, 0x08, 0x36, 0x82, 0x45, 0x4a, 0x8a, 0x05, 0xa2, 0x56,
- 0x0e, 0x20, 0x80, 0x40, 0xa9, 0x9e, 0x03, 0x04, 0x58, 0x58, 0x58, 0x20,
- 0x34, 0x84, 0x0f, 0xe5, 0x0a, 0xca, 0x40, 0x38, 0x10, 0x36, 0xd0, 0x60,
- 0x19, 0x08, 0x13, 0x52, 0x64, 0x08, 0x42, 0xb4, 0x80, 0x34, 0x49, 0x09,
- 0x22, 0x14, 0x02, 0xdd, 0x09, 0x22, 0x81, 0x96, 0x40, 0x78, 0x72, 0x00,
- 0x01, 0x04, 0xca, 0x8c, 0x82, 0x1c, 0x48, 0x80, 0x9d, 0x41, 0x1a, 0xca,
- 0x12, 0x10, 0x10, 0x60, 0x97, 0x66, 0x07, 0x09, 0xc9, 0xc8, 0xb0, 0x43,
- 0x8c, 0x06, 0x06, 0x22, 0x58, 0x00, 0x56, 0x30, 0xc9, 0x08, 0xb2, 0xb3,
- 0x43, 0x0c, 0x62, 0x40, 0x32, 0x85, 0x9d, 0x01, 0xac, 0x48, 0x0a, 0xac,
- 0x16, 0xc8, 0x93, 0x03, 0x08, 0x20, 0x70, 0x29, 0x21, 0x28, 0x00, 0x07,
- 0xec, 0x82, 0x20, 0x9d, 0x30, 0x8e, 0x34, 0x03, 0x88, 0x29, 0x28, 0x25,
- 0x05, 0x52, 0xc1, 0xce, 0x09, 0xb6, 0x04, 0x24, 0x80, 0x54, 0x00, 0xca,
- 0x80, 0xa5, 0xc0, 0xfe, 0x62, 0x87, 0x1b, 0x01, 0x62, 0x81, 0x2c, 0x01,
- 0x73, 0x19, 0xe4, 0x00, 0x02, 0xd0, 0x40, 0x06, 0x37, 0x00, 0xc0, 0x20,
- 0x08, 0xfc, 0xd1, 0xb0, 0x82, 0xd2, 0xee, 0x3f, 0x66, 0xa5, 0xd6, 0x97,
- 0x5c, 0x50, 0x49, 0x78, 0x21, 0x49, 0xb4, 0x0f, 0xa6, 0x22, 0x94, 0x8d,
- 0xc8, 0x88, 0x92, 0x33, 0xa8, 0x0a, 0x51, 0x59, 0x98, 0xff, 0x74, 0x81,
- 0x5e, 0x5e, 0xdb, 0xd8, 0x67, 0x76, 0x2d, 0x20, 0x7d, 0x3e, 0x57, 0x00,
- 0x81, 0x4a, 0x4f, 0x41, 0x56, 0x04, 0x60, 0x04, 0x03, 0x24, 0x26, 0x23,
- 0x94, 0x05, 0xa6, 0x04, 0x19, 0x38, 0xf9, 0xf8, 0xf8, 0x38, 0x19, 0x80,
- 0x5c, 0x46, 0x46, 0x20, 0x9b, 0x53, 0x46, 0x4a, 0x06, 0x24, 0xc2, 0xc6,
- 0x80, 0xd0, 0xc6, 0x8a, 0xd0, 0x0f, 0xa1, 0x18, 0xe4, 0x00, 0x02, 0x88,
- 0x81, 0x81, 0x89, 0x14, 0xc0, 0xc0, 0x0b, 0x34, 0x12, 0xaa, 0x85, 0x01,
- 0xc8, 0xe4, 0xe5, 0x05, 0x09, 0x00, 0x2d, 0xc1, 0xa7, 0x87, 0x01, 0x20,
- 0x80, 0x18, 0x48, 0xb2, 0x85, 0x81, 0x97, 0x9f, 0x9f, 0x9f, 0x17, 0x66,
- 0x09, 0x3f, 0x1c, 0xf0, 0xe2, 0x35, 0x84, 0x01, 0x20, 0x80, 0x18, 0x90,
- 0x6b, 0x31, 0xc2, 0x00, 0x64, 0x89, 0x2c, 0x8c, 0xc3, 0x09, 0xb3, 0x83,
- 0x93, 0x80, 0x2e, 0x80, 0x00, 0x22, 0xad, 0x46, 0x07, 0x99, 0xcb, 0xcb,
- 0x80, 0xe0, 0xf1, 0x82, 0xbd, 0xc1, 0x49, 0xc8, 0x10, 0x80, 0x00, 0x22,
- 0xb1, 0xd9, 0x00, 0x34, 0x17, 0xc9, 0x48, 0xa0, 0x67, 0x78, 0x81, 0x7c,
- 0x82, 0x66, 0x00, 0x04, 0x10, 0xa9, 0x6d, 0x13, 0x29, 0x29, 0x29, 0x39,
- 0xb4, 0x2e, 0x0d, 0x61, 0x4d, 0x00, 0x01, 0x44, 0x83, 0x06, 0x10, 0x26,
- 0x00, 0x08, 0x20, 0xba, 0x58, 0x02, 0x10, 0x40, 0x74, 0xb1, 0x04, 0x20,
- 0x80, 0xe8, 0x62, 0x09, 0x40, 0x00, 0xd1, 0xc5, 0x12, 0x80, 0x00, 0xa2,
- 0x8b, 0x25, 0x00, 0x01, 0x44, 0x17, 0x4b, 0x00, 0x02, 0x88, 0x2e, 0x96,
- 0x00, 0x04, 0x10, 0x5d, 0x2c, 0x01, 0x08, 0x20, 0xba, 0x58, 0x02, 0x10,
- 0x40, 0x74, 0xb1, 0x04, 0x20, 0x80, 0xe8, 0x62, 0x09, 0x40, 0x80, 0x01,
- 0x00, 0x64, 0x60, 0x82, 0xc9, 0xbd, 0x53, 0xb5, 0x4f, 0x00, 0x00, 0x00,
- 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82
-};
-unsigned int doxygen_png_len = 1281;
-
-unsigned char search_png[] = {
- 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
- 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x1a,
- 0x08, 0x03, 0x00, 0x00, 0x01, 0x3c, 0x81, 0x58, 0x27, 0x00, 0x00, 0x02,
- 0x4c, 0x50, 0x4c, 0x54, 0x45, 0xff, 0xff, 0xcc, 0x4c, 0x00, 0x01, 0x4c,
- 0x01, 0x01, 0x4c, 0x00, 0x02, 0x4c, 0x01, 0x02, 0x00, 0x00, 0x00, 0x63,
- 0x01, 0x02, 0x63, 0x02, 0x02, 0x63, 0x01, 0x04, 0x63, 0x02, 0x04, 0x63,
- 0x04, 0x04, 0x63, 0x04, 0x07, 0x72, 0x02, 0x04, 0x72, 0x04, 0x04, 0x72,
- 0x04, 0x07, 0x72, 0x07, 0x07, 0x72, 0x04, 0x09, 0x72, 0x07, 0x09, 0x7d,
- 0x07, 0x09, 0x7d, 0x09, 0x09, 0x7d, 0x09, 0x0d, 0x87, 0x09, 0x0d, 0x87,
- 0x09, 0x11, 0x87, 0x0d, 0x11, 0x90, 0x0d, 0x11, 0x90, 0x0d, 0x15, 0x90,
- 0x11, 0x15, 0x9a, 0x11, 0x15, 0x9a, 0x11, 0x1a, 0x9a, 0x15, 0x1a, 0xa2,
- 0x15, 0x1a, 0xa2, 0x15, 0x20, 0xa2, 0x1a, 0x20, 0xa9, 0x1a, 0x20, 0xa9,
- 0x1a, 0x26, 0xa0, 0x20, 0x28, 0xa0, 0x24, 0x28, 0xa7, 0x2f, 0x37, 0xa7,
- 0x32, 0x37, 0xb0, 0x20, 0x26, 0xb0, 0x20, 0x2d, 0xb7, 0x26, 0x2d, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, 0x29, 0x36, 0x00, 0x00, 0x00, 0xbd,
- 0x2d, 0x34, 0xb5, 0x32, 0x3c, 0xad, 0x3e, 0x45, 0x8e, 0x43, 0x3b, 0xad,
- 0x41, 0x45, 0xbf, 0x43, 0x4e, 0xb3, 0x4d, 0x53, 0xb3, 0x53, 0x4f, 0xb3,
- 0x50, 0x53, 0xba, 0x5e, 0x62, 0xb8, 0x71, 0x5f, 0xc3, 0x34, 0x3b, 0xc9,
- 0x3b, 0x44, 0xc9, 0x3b, 0x4d, 0xc9, 0x44, 0x4d, 0xcf, 0x44, 0x56, 0xcf,
- 0x4d, 0x56, 0xd5, 0x4d, 0x5f, 0xd5, 0x56, 0x5f, 0xcc, 0x54, 0x61, 0xda,
- 0x56, 0x6b, 0xda, 0x5f, 0x6b, 0xdf, 0x5f, 0x6b, 0xc0, 0x6b, 0x70, 0xc0,
- 0x6d, 0x70, 0x00, 0x00, 0x00, 0xc6, 0x7a, 0x7f, 0xc6, 0x7c, 0x7f, 0x00,
- 0x00, 0x00, 0xd6, 0x66, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd6,
- 0x71, 0x71, 0xe5, 0x6b, 0x75, 0x00, 0x00, 0x00, 0xe9, 0x75, 0x8c, 0x00,
- 0x00, 0x00, 0xcd, 0x85, 0x72, 0xcd, 0x88, 0x8d, 0xcd, 0x8a, 0x8d, 0xd3,
- 0x98, 0x9a, 0xd9, 0xa7, 0xa9, 0xdc, 0xaa, 0xa0, 0xdf, 0xb6, 0xb7, 0xee,
- 0x80, 0x8c, 0xe5, 0x8b, 0x92, 0xee, 0x8c, 0x9a, 0xf2, 0x8c, 0x9a, 0xea,
- 0x8c, 0xa0, 0xec, 0x99, 0xa3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea,
- 0xae, 0xa0, 0xef, 0xae, 0xb1, 0xe6, 0xb5, 0xac, 0x00, 0x00, 0x00, 0xfc,
- 0xa6, 0xc1, 0xfa, 0xaf, 0xc0, 0xf3, 0xc1, 0xb3, 0xf2, 0xd6, 0xac, 0x00,
- 0x00, 0x00, 0xe6, 0xc4, 0xc6, 0xec, 0xd2, 0xd0, 0xec, 0xd3, 0xd4, 0xf6,
- 0xcd, 0xc9, 0xfb, 0xc5, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xf3, 0xdc, 0xdc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xfa, 0xd6, 0xda, 0xf9, 0xda, 0xd5, 0xf9, 0xdf, 0xe1, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0xcb, 0x00, 0x00, 0x00, 0xf2, 0xe2, 0xe2, 0xfa,
- 0xe5, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0xf0, 0xf1, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x11, 0x00, 0x66,
- 0x22, 0x00, 0x66, 0x33, 0x00, 0x9a, 0xa5, 0x67, 0x9f, 0x00, 0x00, 0x00,
- 0x01, 0x74, 0x52, 0x4e, 0x53, 0x00, 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00,
- 0x00, 0x16, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61,
- 0x72, 0x65, 0x00, 0x67, 0x69, 0x66, 0x32, 0x70, 0x6e, 0x67, 0x20, 0x32,
- 0x2e, 0x34, 0x2e, 0x32, 0xa3, 0x5e, 0x47, 0x0e, 0x00, 0x00, 0x00, 0x04,
- 0x67, 0x49, 0x46, 0x67, 0x02, 0x00, 0x00, 0x01, 0x41, 0x82, 0xfc, 0x50,
- 0x00, 0x00, 0x04, 0x71, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xc5, 0x55,
- 0xff, 0x6f, 0xdb, 0x44, 0x14, 0xbf, 0x94, 0xa8, 0x69, 0x52, 0x92, 0x2c,
- 0x6e, 0x83, 0x93, 0xd8, 0xd7, 0x86, 0xd5, 0x84, 0x55, 0xaa, 0x46, 0x92,
- 0x25, 0x76, 0x37, 0xa0, 0x94, 0x01, 0xd1, 0xa2, 0x49, 0x9d, 0xd0, 0x6a,
- 0xc7, 0x5e, 0x07, 0x95, 0x58, 0xc4, 0x12, 0x99, 0xc0, 0x2f, 0x93, 0x60,
- 0x9a, 0x5c, 0xc9, 0xbf, 0xdf, 0x3f, 0xd5, 0xf5, 0x1f, 0xe3, 0xbd, 0x77,
- 0x67, 0xc7, 0x65, 0xab, 0xa0, 0xa0, 0x8a, 0x27, 0xd9, 0xe7, 0x3b, 0xbf,
- 0x77, 0x9f, 0xcf, 0xfb, 0x72, 0xef, 0x18, 0xfb, 0xab, 0x70, 0x2e, 0x84,
- 0xa0, 0x97, 0x88, 0x04, 0x87, 0x39, 0x4e, 0x85, 0xcd, 0xa5, 0x30, 0x36,
- 0xcf, 0x65, 0xc4, 0x7b, 0xc7, 0xfc, 0x77, 0x2e, 0x5c, 0xd0, 0xe7, 0x0b,
- 0x2e, 0x3c, 0xce, 0x6f, 0xb1, 0x56, 0x9b, 0x5b, 0xb4, 0x19, 0x0a, 0x2f,
- 0x31, 0xb6, 0x92, 0xb5, 0x07, 0x83, 0xd9, 0xab, 0xaf, 0xb7, 0xdf, 0x2f,
- 0x6d, 0xdd, 0x67, 0xec, 0x3e, 0xe7, 0x0e, 0x12, 0xa0, 0x87, 0x4f, 0x84,
- 0x18, 0x01, 0x39, 0x9c, 0x2e, 0x38, 0xaf, 0x30, 0xd6, 0x6b, 0x98, 0x83,
- 0x47, 0xe6, 0x60, 0x30, 0xd8, 0x19, 0x98, 0xf4, 0x98, 0xe6, 0xb1, 0xf9,
- 0x09, 0x8e, 0x46, 0xb5, 0xc7, 0xfe, 0x4e, 0xfe, 0x38, 0xbd, 0x02, 0x7a,
- 0xdb, 0xf8, 0x90, 0xb1, 0xd3, 0x2e, 0x00, 0x39, 0x29, 0xb6, 0x08, 0xc1,
- 0x33, 0x1c, 0xb9, 0xe8, 0x70, 0xdd, 0x62, 0x7b, 0xc4, 0x63, 0x12, 0xc0,
- 0x52, 0x60, 0x2b, 0x2d, 0xae, 0xa2, 0x67, 0xac, 0xb2, 0x4d, 0x13, 0x8c,
- 0x83, 0x49, 0xb2, 0x24, 0x62, 0x11, 0xc6, 0xe0, 0x49, 0x1f, 0x95, 0xf4,
- 0x0b, 0xc6, 0xb4, 0x26, 0x30, 0x45, 0xe6, 0x03, 0x7c, 0xef, 0x00, 0xf7,
- 0xe3, 0xae, 0x89, 0x4e, 0x98, 0x8d, 0x02, 0x72, 0xeb, 0xad, 0x7c, 0x90,
- 0x7b, 0xaf, 0x5c, 0x48, 0xee, 0xf3, 0x59, 0xf8, 0xe2, 0xe7, 0x67, 0xcf,
- 0xff, 0xb9, 0x7c, 0x7f, 0xf0, 0xa9, 0xa1, 0xf9, 0x64, 0xfa, 0x7a, 0xd6,
- 0x6d, 0x63, 0x36, 0x17, 0x42, 0xc4, 0x1c, 0x83, 0x2a, 0x90, 0x18, 0x1f,
- 0x23, 0x75, 0x39, 0x8d, 0xe0, 0xc3, 0x95, 0xab, 0xb8, 0x38, 0xc1, 0x70,
- 0xb7, 0x36, 0xd6, 0xde, 0x30, 0x76, 0x78, 0x42, 0xa6, 0x81, 0x88, 0x1d,
- 0xf8, 0x69, 0x91, 0x89, 0xf4, 0x51, 0xba, 0x4a, 0x4f, 0x2c, 0x26, 0x9c,
- 0x87, 0x23, 0x9e, 0x6e, 0xc0, 0x79, 0xb3, 0xba, 0xca, 0x58, 0xeb, 0x63,
- 0x55, 0x47, 0x63, 0x19, 0x54, 0x1b, 0x84, 0xf7, 0x61, 0xa4, 0xc0, 0x60,
- 0x7c, 0x47, 0x00, 0x0b, 0x9c, 0x46, 0x9c, 0x7b, 0x22, 0x72, 0x61, 0xa1,
- 0x83, 0xea, 0xad, 0x4a, 0x9e, 0xb1, 0xa1, 0xd6, 0x30, 0x39, 0x8f, 0x04,
- 0x25, 0x3f, 0x20, 0xd2, 0xa3, 0x58, 0x8c, 0x11, 0xc0, 0x46, 0x82, 0xa0,
- 0xcc, 0x3b, 0xb2, 0xce, 0x96, 0xa4, 0x21, 0x17, 0xd5, 0xdc, 0x53, 0x0a,
- 0xe8, 0x79, 0xa5, 0x5a, 0xbb, 0x9e, 0xac, 0x17, 0x0b, 0x6f, 0xd9, 0x7f,
- 0x97, 0x59, 0x18, 0x9e, 0xfe, 0x70, 0x9d, 0x54, 0x3d, 0xb9, 0xdb, 0xd6,
- 0x1c, 0x69, 0x3b, 0x3d, 0x0b, 0x8f, 0xba, 0xdb, 0xd7, 0x93, 0xad, 0xa6,
- 0x36, 0x24, 0xdc, 0xb3, 0x23, 0x0b, 0x23, 0x30, 0x82, 0x90, 0x78, 0x5c,
- 0x9d, 0x42, 0x4a, 0x52, 0xa8, 0x32, 0x86, 0xd1, 0xb3, 0x22, 0x4a, 0x77,
- 0x24, 0x55, 0x38, 0x37, 0xeb, 0x88, 0xfd, 0xd3, 0x6f, 0x3f, 0x52, 0x9e,
- 0x43, 0x31, 0xf1, 0x60, 0xd5, 0x21, 0x6d, 0x8f, 0x4a, 0x46, 0xd0, 0x91,
- 0x0c, 0xf1, 0x63, 0xa4, 0x36, 0x51, 0x6b, 0x18, 0x6d, 0xad, 0xcc, 0xd8,
- 0xfe, 0xf3, 0x7b, 0xaa, 0x28, 0x3c, 0xab, 0x83, 0xc3, 0x98, 0xa6, 0x36,
- 0x26, 0x98, 0x43, 0x71, 0x78, 0x98, 0x64, 0x2a, 0x1d, 0xcf, 0xeb, 0xf7,
- 0xe5, 0x1a, 0xa9, 0x6c, 0x94, 0x7d, 0xd6, 0x7a, 0x70, 0x3b, 0xad, 0x28,
- 0xd5, 0x88, 0xb0, 0x9a, 0xe4, 0x21, 0x4c, 0x9c, 0x88, 0x84, 0x4b, 0x4a,
- 0x51, 0xea, 0x14, 0xe7, 0x75, 0x30, 0xde, 0x6c, 0x6f, 0xc1, 0x17, 0x30,
- 0xef, 0x40, 0x81, 0xd8, 0x23, 0xaa, 0x30, 0xdc, 0xdd, 0xb1, 0xa5, 0x13,
- 0x21, 0x16, 0x17, 0xe9, 0x3b, 0x38, 0xba, 0x6e, 0xa0, 0x8c, 0x37, 0xd6,
- 0x7d, 0x36, 0xd4, 0xa1, 0xbe, 0xf8, 0x40, 0xd5, 0x0f, 0xd6, 0x22, 0xc7,
- 0x32, 0x94, 0x08, 0x31, 0xb9, 0x69, 0x53, 0x49, 0xab, 0xfd, 0x12, 0xd6,
- 0x46, 0x25, 0x3f, 0x67, 0xf3, 0x5a, 0x1d, 0xac, 0xbb, 0xea, 0x2c, 0x49,
- 0x23, 0x72, 0xd1, 0x4e, 0x99, 0xbb, 0x60, 0x40, 0x51, 0x8c, 0x91, 0xbd,
- 0x02, 0xd6, 0x8b, 0xd8, 0xa7, 0xfc, 0x5a, 0xbd, 0x61, 0x98, 0xe6, 0xa3,
- 0x63, 0xe8, 0x06, 0x3b, 0xd8, 0x14, 0x06, 0x5d, 0x68, 0x0a, 0xf4, 0xbd,
- 0x23, 0x3b, 0x44, 0x17, 0x5e, 0xc7, 0xdf, 0x99, 0xf8, 0x49, 0xcb, 0xf0,
- 0x65, 0x7c, 0x54, 0x92, 0x1d, 0xd8, 0xbf, 0x28, 0x5f, 0xb7, 0xb4, 0xab,
- 0xa5, 0xc2, 0xca, 0xbe, 0xaa, 0x4f, 0xbf, 0xb6, 0xb2, 0x92, 0xbb, 0x8e,
- 0xe4, 0x73, 0xbd, 0x79, 0xb6, 0xc0, 0xe7, 0xb3, 0xe9, 0xf4, 0xf4, 0xf4,
- 0xdb, 0x87, 0x87, 0x37, 0x24, 0x07, 0x9f, 0xdf, 0xbd, 0x63, 0x6a, 0xda,
- 0xbe, 0x7f, 0x09, 0x75, 0x36, 0xfd, 0x25, 0x3a, 0x7b, 0xfd, 0xeb, 0x8b,
- 0x67, 0x0f, 0xbf, 0x3a, 0xb8, 0x21, 0xf9, 0xf2, 0x8b, 0xfb, 0xbb, 0xb7,
- 0xb7, 0x8c, 0x96, 0x56, 0x19, 0xfa, 0xec, 0x4d, 0x02, 0xfb, 0xea, 0x2c,
- 0x3c, 0x79, 0x7c, 0x6f, 0x6f, 0xa7, 0xad, 0x9a, 0x99, 0x45, 0x6d, 0xec,
- 0x5f, 0x4a, 0x07, 0x6c, 0x3b, 0x57, 0xfc, 0x33, 0x5b, 0x8d, 0xba, 0xa6,
- 0x0d, 0xa7, 0x14, 0xe3, 0xe9, 0x0c, 0x5a, 0xc1, 0x67, 0x09, 0x26, 0xb7,
- 0x16, 0xc9, 0xad, 0x4a, 0x75, 0x1a, 0xa7, 0x33, 0xea, 0xdd, 0x9c, 0xf7,
- 0x63, 0xd9, 0x28, 0x49, 0x32, 0x7f, 0xe9, 0x2a, 0x77, 0xd2, 0x85, 0x18,
- 0xb0, 0xfb, 0xaa, 0xff, 0x4b, 0x3d, 0x79, 0x56, 0xcd, 0xe6, 0xa6, 0x56,
- 0x5e, 0x3b, 0x02, 0xe0, 0x93, 0x93, 0x97, 0x2f, 0x1f, 0xdf, 0x49, 0x39,
- 0x8d, 0xd4, 0xae, 0x78, 0xfe, 0x5d, 0x79, 0x5b, 0x2c, 0xb2, 0x9c, 0x3d,
- 0x91, 0x39, 0x92, 0x13, 0x45, 0x87, 0xda, 0x87, 0x23, 0x87, 0xa0, 0x2f,
- 0xb9, 0x4d, 0xe4, 0xe9, 0xf5, 0x12, 0xbd, 0x64, 0x17, 0x53, 0xd7, 0xaa,
- 0xe5, 0x35, 0xc8, 0x74, 0xff, 0xc1, 0x37, 0x87, 0x7b, 0xcb, 0x8d, 0x03,
- 0xb5, 0x71, 0x60, 0x27, 0x34, 0xc4, 0x22, 0x44, 0x09, 0x28, 0x1c, 0xb0,
- 0x65, 0x64, 0x25, 0xc0, 0x04, 0x34, 0xb6, 0x1d, 0x4f, 0xe2, 0xe2, 0x4d,
- 0x16, 0x5b, 0xef, 0x72, 0x94, 0x92, 0x46, 0xdf, 0xd8, 0xac, 0x94, 0x57,
- 0xe1, 0x86, 0xd4, 0xdb, 0xbb, 0xbb, 0xed, 0x8c, 0x4b, 0x76, 0xb8, 0x54,
- 0xb5, 0x32, 0x86, 0x8e, 0xba, 0xc8, 0xbc, 0xf4, 0xfa, 0x5b, 0x06, 0x3a,
- 0x9a, 0x74, 0xe8, 0xe8, 0xab, 0xc0, 0x4a, 0xe9, 0x5f, 0xc2, 0x1d, 0xa7,
- 0xeb, 0x46, 0xbd, 0xb2, 0x8e, 0xc0, 0x35, 0xbd, 0xb5, 0xac, 0x0b, 0xe8,
- 0x4d, 0x61, 0x3f, 0x21, 0x6b, 0x91, 0xfb, 0xc1, 0x72, 0xab, 0xc5, 0xe5,
- 0x8c, 0xca, 0x00, 0xd2, 0xed, 0x17, 0xab, 0xe4, 0x84, 0xb2, 0xe5, 0x8a,
- 0xd8, 0xbd, 0x22, 0xd0, 0x98, 0x64, 0xad, 0x94, 0xcf, 0xfb, 0xd8, 0x01,
- 0x36, 0xf5, 0xa6, 0x89, 0xdd, 0x8f, 0xb7, 0x89, 0xf4, 0x62, 0xe4, 0x20,
- 0x60, 0x64, 0xa9, 0x16, 0xaf, 0x42, 0x2f, 0x3d, 0xca, 0x00, 0x3b, 0x2a,
- 0x80, 0xa1, 0xaa, 0x43, 0x97, 0xd6, 0xc3, 0x58, 0x35, 0xed, 0x24, 0xff,
- 0xa9, 0x9e, 0xc2, 0x35, 0xea, 0xe5, 0x62, 0x7e, 0x1f, 0x4f, 0xb3, 0xdf,
- 0xab, 0x69, 0xd4, 0xfa, 0xa0, 0xa9, 0xf5, 0x55, 0xf4, 0x62, 0xd7, 0xe2,
- 0x97, 0x02, 0x2d, 0xac, 0x20, 0x71, 0x48, 0x32, 0xb0, 0xd3, 0x4a, 0xa5,
- 0x69, 0x98, 0x29, 0xe9, 0x85, 0x9d, 0x85, 0xb3, 0xb2, 0x81, 0x36, 0x0d,
- 0xbd, 0x56, 0x2a, 0xe4, 0x86, 0xea, 0x20, 0x03, 0x74, 0x45, 0xd3, 0xea,
- 0x75, 0x5d, 0x6f, 0xde, 0xa4, 0x34, 0xf4, 0x7a, 0xb5, 0x02, 0xdd, 0xf6,
- 0xfc, 0x69, 0xa6, 0x61, 0xfa, 0xbd, 0x8b, 0xf3, 0x42, 0xb1, 0x50, 0x2c,
- 0xdd, 0xa4, 0x14, 0x0b, 0xab, 0xf9, 0xb7, 0x43, 0x97, 0xfd, 0xaf, 0xf2,
- 0x27, 0x51, 0x22, 0xbd, 0xc0, 0xca, 0xc6, 0x8b, 0x9d, 0x00, 0x00, 0x00,
- 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82
-};
-unsigned int search_png_len = 1857;
-#endif
-
-
// Stripped version of FreeSans.ttf part of FreeFonts package,
// see http://www.nongnu.org/freefont for more info
unsigned char FreeSans_ttf[] = {
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index f221dd6..098c58e 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -2933,10 +2933,9 @@ void MemberDef::writeEnumDeclaration(OutputList &typeDecl,
typeDecl.writeChar(' ');
}
- if (numVisibleEnumValues>0)
+ uint enumValuesPerLine = (uint)Config_getInt("ENUM_VALUES_PER_LINE");
+ if (numVisibleEnumValues>0 && enumValuesPerLine>0)
{
- uint enumValuesPerLine = (uint)Config_getInt("ENUM_VALUES_PER_LINE");
- if (enumValuesPerLine==0) enumValuesPerLine=1;
typeDecl.docify("{ ");
if (fmdl)
{
diff --git a/src/membergroup.cpp b/src/membergroup.cpp
index 6b40e5c..d44a481 100644
--- a/src/membergroup.cpp
+++ b/src/membergroup.cpp
@@ -264,7 +264,9 @@ QCString MemberGroup::anchor() const
{
uchar md5_sig[16];
QCString sigStr(33);
- MD5Buffer((const unsigned char *)grpHeader.data(),grpHeader.length(),md5_sig);
+ QCString locHeader = grpHeader;
+ if (locHeader.isEmpty()) locHeader="[NOHEADER]";
+ MD5Buffer((const unsigned char *)locHeader.data(),locHeader.length(),md5_sig);
MD5SigToString(md5_sig,sigStr.data(),33);
return "amgrp"+sigStr;
}
diff --git a/src/memberlist.cpp b/src/memberlist.cpp
index cf0235e..fddb0b4 100644
--- a/src/memberlist.cpp
+++ b/src/memberlist.cpp
@@ -409,12 +409,12 @@ void MemberList::writeDeclarations(OutputList &ol,
if (numDecMembers()==0) return;
//printf("%p: MemberList::writeDeclaration(title=`%s',subtitle=`%s')=%d\n",
// this,title,subtitle,numDecMembers());
+ ol.startMemberHeader(listTypeAsString());
if (title)
{
- ol.startMemberHeader(listTypeAsString());
ol.parseText(title);
- ol.endMemberHeader();
}
+ ol.endMemberHeader();
if (subtitle)
{
QCString st=subtitle;
@@ -449,8 +449,8 @@ void MemberList::writeDeclarations(OutputList &ol,
MemberGroup *mg;
while ((mg=mgli.current()))
{
- //printf("mg->header=%s\n",mg->header().data());
- bool hasHeader=mg->header()!="[NOHEADER]";
+ bool hasHeader=!mg->header().isEmpty() && mg->header()!="[NOHEADER]";
+ //printf("mg->header=%s hasHeader=%d\n",mg->header().data(),hasHeader);
ol.startMemberGroupHeader(hasHeader);
if (hasHeader)
{
diff --git a/src/pagedef.cpp b/src/pagedef.cpp
index 02d6006..e7bcc1a 100644
--- a/src/pagedef.cpp
+++ b/src/pagedef.cpp
@@ -73,6 +73,8 @@ void PageDef::writeDocumentation(OutputList &ol)
QCString pageName;
pageName=escapeCharsInString(name(),FALSE,TRUE);
+ //printf("PageDef::writeDocumentation: %s\n",getOutputFileBase().data());
+
startFile(ol,getOutputFileBase(),pageName,title(),HLI_Pages,TRUE);
ol.pushGeneratorState();
diff --git a/src/pre.l b/src/pre.l
index 60446df..db5bf28 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -129,6 +129,11 @@ static void setFileName(const char *name)
QFileInfo fi(name);
g_yyFileName=convertToQCString(fi.absFilePath());
g_yyFileDef=findFileDef(Doxygen::inputNameDict,g_yyFileName,ambig);
+ if (g_yyFileDef==0) // if this is not an input file check if it is an
+ // include file
+ {
+ g_yyFileDef=findFileDef(Doxygen::includeNameDict,g_yyFileName,ambig);
+ }
//printf("setFileName(%s) g_yyFileName=%s g_yyFileDef=%p\n",
// name,g_yyFileName.data(),g_yyFileDef);
if (g_yyFileDef && g_yyFileDef->isReference()) g_yyFileDef=0;
@@ -313,11 +318,13 @@ static FileState *findFile(const char *fileName,bool localInclude,bool &alreadyI
while (s)
{
QCString absName = (QCString)s+"/"+fileName;
+ //printf(" Looking for %s in %s\n",fileName,s);
FileState *fs = checkAndOpenFile(absName,alreadyIncluded);
if (fs)
{
setFileName(absName);
g_yyLineNr=1;
+ //printf(" -> found it\n");
return fs;
}
else if (alreadyIncluded)
@@ -1252,7 +1259,7 @@ static void readIncludeFile(const QCString &inc)
if (Debug::isFlagSet(Debug::Preprocessor))
{
for (i=0;i<g_includeStack.count();i++) msg(" ");
- msg("#include %s: parsing...\n",incFileName.data());
+ //msg("#include %s: parsing...\n",incFileName.data());
}
if (oldFileDef)
{
@@ -1290,11 +1297,11 @@ static void readIncludeFile(const QCString &inc)
if (oldFileDef)
{
bool ambig;
+ QCString absPath = incFileName;
if (QDir::isRelativePath(incFileName))
{
QString absPath = QDir::cleanDirPath(oldFileDef->getPath()+"/"+incFileName);
//printf("%s + %s -> resolved path %s\n",oldFileDef->getPath().data(),incFileName.data(),absPath.data());
- incFileName = absPath;
}
FileDef *fd = findFileDef(Doxygen::inputNameDict,incFileName,ambig);
//printf("%s::findFileDef(%s)=%p\n",oldFileDef->name().data(),incFileName.data(),fd);
diff --git a/src/scanner.l b/src/scanner.l
index 3685157..3e7c6ca 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -5191,7 +5191,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
/* ---- Single line comments ------ */
<DocLine>[^\n]*"\n"[ \t]*"//"[/!] { // continuation of multiline C++-style comment
docBlock+=yytext;
- docBlock.resize(docBlock.size() - 3);
+ docBlock.resize(docBlock.length() - 3);
yyLineNr++;
}
<DocLine>[^\n]*/"\n" { // whole line
@@ -5487,7 +5487,13 @@ static void handleCommentBlock(const QCString &doc,bool brief)
)
{
//printf("parseCommentBlock position=%d [%s]\n",position,doc.data()+position);
- if (needsEntry) newEntry();
+ if (needsEntry)
+ {
+ QCString docFile = current->docFile;
+ newEntry();
+ current->docFile = docFile;
+ current->docLine = lineNr;
+ }
}
if (needsEntry)
{
diff --git a/src/translator_es.h b/src/translator_es.h
index 077314a..a25a608 100644
--- a/src/translator_es.h
+++ b/src/translator_es.h
@@ -1,4 +1,4 @@
-/******************************************************************************
+/******************************************************************************
*
*
*
diff --git a/src/translator_kr.h b/src/translator_kr.h
index 8cb691a..419ef9d 100644
--- a/src/translator_kr.h
+++ b/src/translator_kr.h
@@ -1828,6 +1828,62 @@ class TranslatorKorean : public TranslatorAdapter_1_6_3
return "ġϴ° ";
}
+//////////////////////////////////////////////////////////////////////////
+// new since 1.6.3 (missing items for the directory pages)
+//////////////////////////////////////////////////////////////////////////
+
+ /*! introduction text for the directory dependency graph */
+ virtual QCString trDirDependency(const char *name)
+ {
+ return QCString(name) + " 丮 ׷";
+ }
+
+ /*! when clicking a directory dependency label, a page with a
+ * table is shown. The heading for the first column mentions the
+ * source file that has a relation to another file.
+ */
+ virtual QCString trFileIn(const char *name)
+ {
+ return QCString(name) + " ";
+ }
+
+ /*! when clicking a directory dependency label, a page with a
+ * table is shown. The heading for the second column mentions the
+ * destination file that is included.
+ */
+ virtual QCString trIncludesFileIn(const char *name)
+ {
+ return QCString(name) + " ";
+ }
+
+ /** Compiles a date string.
+ * @param year Year in 4 digits
+ * @param month Month of the year: 1=January
+ * @param day Day of the Month: 1..31
+ * @param dayOfWeek Day of the week: 1=Monday..7=Sunday
+ * @param hour Hour of the day: 0..23
+ * @param minutes Minutes in the hour: 0..59
+ * @param seconds Seconds within the minute: 0..59
+ * @param includeTime Include time in the result string?
+ */
+ virtual QCString trDateTime(int year,int month,int day,int dayOfWeek,
+ int hour,int minutes,int seconds,
+ bool includeTime)
+ {
+ static const char *days[] = { "","ȭ","","","","","" };
+ static const char *months[] = { "1","2","3","4","5","6","7","8","9","10","11","12" };
+ QCString sdate;
+ sdate.sprintf("%s %s %d %d",days[dayOfWeek-1],months[month-1],day,year);
+ if (includeTime)
+ {
+ QCString stime;
+ stime.sprintf(" %.2d:%.2d:%.2d",hour,minutes,seconds);
+ sdate+=stime;
+ }
+ return sdate;
+ }
+
+
};
#endif
diff --git a/src/util.cpp b/src/util.cpp
index f3ea0df..d31781b 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1937,6 +1937,7 @@ void writeExample(OutputList &ol,ExampleSDict *ed)
ol.disable(OutputGenerator::Latex);
ol.disable(OutputGenerator::RTF);
// link for Html / man
+ //printf("writeObjectLink(file=%s)\n",e->file.data());
ol.writeObjectLink(0,e->file,e->anchor,e->name);
ol.popGeneratorState();
@@ -4140,7 +4141,7 @@ static bool getScopeDefs(const char *docScope,const char *scope,
static bool isLowerCase(QCString &s)
{
- char *p=s.data();
+ uchar *p=(uchar*)s.data();
if (p==0) return TRUE;
int c;
while ((c=*p++)) if (!islower(c)) return FALSE;
@@ -6451,7 +6452,8 @@ bool updateLanguageMapping(const QCString &extension,const QCString &language)
{
g_extLookup.remove(extension);
}
- g_extLookup.insert(extension,new int(parserId));
+ //printf("registering extension %s\n",extName.data());
+ g_extLookup.insert(extName,new int(parserId));
if (!Doxygen::parserManager->registerExtension(extName,p->parserName))
{
err("Failed to assign extension %s to parser %s for language %s\n",
@@ -6503,10 +6505,12 @@ SrcLangExt getLanguageFromFileName(const QCString fileName)
int *pVal=g_extLookup.find(extStr);
if (pVal) // listed extension
{
+ //printf("getLanguageFromFileName(%s)=%x\n",extStr.data(),*pVal);
return (SrcLangExt)*pVal;
}
}
}
+ //printf("getLanguageFromFileName(%s) not found!\n",fileName.data());
return SrcLangExt_Cpp; // not listed => assume C-ish language.
}