src/tools


Log

Author Commit Date CI Message
Werner Lemberg 8cc4d0dc 2020-12-01T08:48:28 * src/tools/chktrcmp.py (trace_use_pat): Update to current use.
Werner Lemberg e8ee98e6 2020-09-25T07:22:08 Move `scripts/make_distribution_archives.py` to `src/tools`. * scr/tools/scripts/make_distribution_archives.py: (_TOP_DIR, _SCRIPT_DIR): Updated to new location. (main): s/shutils.copyfile/shutils.copy/ to preserve file permissions. (main): Prefix source file paths with `git_dir` while copying files to allow calls of the script from other places than the top-level directory.
Werner Lemberg 16586859 2020-06-13T21:15:45 Remove redundant inclusion of `ft2build.h'. * */*: Remove `#include <ft2build.h>' where possible. * include/freetype/freetype.h: Remove cpp error about missing inclusion of `ft2build.h'.
David Turner e1339133 2020-06-08T13:31:55 Make macros for header file names optional. We no longer have to take care of the 8.3 file name limit; this allows us (a) to introduce longer, meaningful file names, and (b) to avoid macro names in `#include' lines altogether since some compilers (most notably Visual C++) doesn't support this properly. */*: Replace #include FOO_H with #include <freetype/foo.h> or something similar. Also update the documentation.
David Turner 4eee1340 2020-05-18T09:16:12 Remove Jamfile files from the tree. These have not been used in a very, very long time, so better remove them. A corresponding patch will be submitted to the `freetype2-demos' repository. * src/Jamfile, src/*/Jamfile, Jamrules: Delete.
Werner Lemberg e5038be7 2020-01-19T17:05:19 Update all copyright notices.
Werner Lemberg 983a87c6 2019-06-16T15:58:21 * src/tools/apinames.c: Formatting, minor edits.
JDG 8837ac26 2019-04-15T10:10:38 * src/tools/apinames.c (main): Fix error message. Reported as https://savannah.nongnu.org/patch/?9796
Werner Lemberg 75859970 2019-02-23T10:07:09 Update all copyright notices.
Werner Lemberg fd8fc64e 2019-02-23T10:05:37 * src/tools/update-copyright-year: Insert `(C)'.
Werner Lemberg f686ad46 2019-01-22T20:31:44 Update copyright years.
Nikhil Ramakrishnan 195728d5 2018-08-25T12:17:30 * src/tools/docmaker: Remove `docmaker'. `Docmaker' has now upgraded to `docwriter', a pip package available at https://pypi.org/project/docwriter/
Armin Hasitzka 154832d4 2018-07-20T19:32:13 Move the legacy fuzz target to the `freetype-testing' repository. It can now be found at https://github.com/freetype/freetype2-testing/tree/master/fuzzing/src/legacy * src/tools/ftfuzzer: Remove this folder and its contents from the repository.
Werner Lemberg 02842872 2018-06-03T09:17:55 * src/tools/glnames.py (main): Emit header in `light' comment style.
Nikhil Ramakrishnan 51fee655 2018-05-25T22:16:11 [docmaker] Fix missing `Defined in (...)' under Windows/Cygwin. This platform uses backslashes for paths, which docmaker didn't understand correctly. * src/tools/docmaker/tohtml.py (HtmlFormatter::blockEnter): Use `os.path.normpath' to normalize the path for the platform being used.
Ankit Dhankhar 939bbee1 2018-04-15T22:35:40 [docmaker] Make it work with python3. * src/tools/docmaker (*.py): Use parentheses around arguments of `print'. Remove unused imports.
Alexei Podtelezhnikov b1e02098 2018-01-23T22:29:45 [apinames] Anonymous version map for GNU linker. * src/tools/apinames.c (PROGRAM_VERSION): Set to 0.3. (OutputFormat): Add `OUTPUT_GNU_VERMAP'. (names_dump): Handle it. (usage): Updated. (main): Handle new command line flag `-wL'.
Werner Lemberg 0a0c2256 2018-01-02T09:33:57 Update copyright year.
Werner Lemberg ea68f1c8 2017-12-08T20:15:15 [docmaker] Fix code section parsing. Stuff like { <bla> } confused the parser, which incorrectly treated `<bla>' as a markup tag. * src/tools/docmaker/content.py (ContentProcessor::process_content): Apply `re_markup_tags' only outside of code sections.
Werner Lemberg 98ba0c4a 2017-12-08T18:38:41 New `ftdriver.h' file, covering all driver modules. This reduces redundancy and increases synergy; it also reduces the number of header files. * include/freetype/config/ftheader.h (FT_DRIVER_H): New macro. (FT_AUTOHINTER_H, FT_CFF_DRIVER_H, FT_TRUETYPE_DRIVER_H, FT_PCF_DRIVER_H, FT_TYPE1_DRIVER_H): Make them aliases to FT_DRIVER_H. * include/freetype/ftautoh.h, include/freetype/ftcffdrv.h, include/freetype/ftpcfdrv.h, include/freetype/ftt1drv.h, include/freetype/ftttdrv.h: Replaced with... * include/freetype/ftdriver.h: ...this new file. (FT_CFF_HINTING_ADOBE, FT_T1_HINTING_ADOBE): Renamed to... (FT_HINTING_ADOBE): ... this new macro. (FT_CFF_HINTING_FREETYPE, FT_T1_HINTING_FREETYPE): Renamed to... (FT_HINTING_FREETYPE): ... this new macro. * src/*/*: Updated accordingly.
Werner Lemberg 87ddad20 2017-12-04T20:43:30 Update or fix links to use the https protocol instead of http.
Werner Lemberg 17eb2406 2017-09-14T22:39:51 Update fuzzer-bot URL.
Werner Lemberg c87fec02 2017-08-09T07:45:12 [psnames] Really fix issue #49949. We now use a separate preprocessor macro to handle both definition and declaration of the glyph name arrays. * src/psnames/psmodule.c (DEFINE_PS_TABLE_DATA): New macro. * src/tools/glnames.py (StringTable::dump, StringTable::dump_sublist): Use `DEFINE_PS_TABLE_DATA'. (dump_encoding): Ditto. (main): Use `wb' mode for writing the output file, which works on Windows also. * src/psnames/pstables.h: Regenerated.
Werner Lemberg 04e00b8a 2017-04-07T17:13:38 [ftfuzzer] Fix clang warnings. * src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Add casts.
Werner Lemberg ab840e6a 2017-03-18T08:50:42 [ftfuzzer] Minor improvement. * src/tools/ftfuzzer/ftfuzzer.cc: Don't set intermediate axis if bitmap strikes are active.
Werner Lemberg 3f92048a 2017-03-15T09:18:22 [ftfuzzer] Limit number of tested faces and instances. This is inspired by the discussion in and analysis of https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=859 * src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Use only up to 20 face indices. Use only up to 20 instance indices.
Werner Lemberg f87269c3 2017-03-15T08:03:16 * src/tools/ftfuzzer/ftfuzzer.cc: Improve readability; formatting.
Alexei Podtelezhnikov ca472220 2017-01-17T23:45:08 Typos.
Werner Lemberg 563ae780 2017-01-04T20:16:34 Update copyright year.
Werner Lemberg 248eaa4f 2017-01-03T00:27:07 Various fixes for clang's undefined behaviour sanitizer. * src/cff/cffload.c (FT_fdot14ToFixed): Fix casting. (cff_blend_doBlend): Don't left-shift negative numbers. Handle 5-byte numbers byte by byte to avoid alignment issues. * src/cff/cffparse.c (cff_parse): Handle 5-byte numbers byte by byte to avoid alignment issues. * src/cid/cidload (cid_read_subrs): Do nothing if we don't have any subrs. * src/psaux/t1decode.c (t1_decode_parse_charstring): Fix tracing. * src/tools/glnames.py (main): Put `DEFINE_PSTABLES' guard around definition of `ft_get_adobe_glyph_index'. * src/psnames/pstables.h: Regenerated. * src/psnames/psmodule.c: Inlude `pstables.h' twice to get both declaration and definition. * src/truetype/ttgxvar.c (FT_fdot14ToFixed, FT_intToFixed): Fix casting.
Werner Lemberg 8fb9d22a 2016-12-30T19:51:37 [ftfuzzer] Replace `rand' with an xorshift algorithm. * src/tools/ftfuzzer/ftfuzzer.cc: Don't include `stdlib.h'. (Random): Implement and use a 32bit `xorshift' algorithm.
Werner Lemberg 6b21d128 2016-12-30T10:00:54 [ftfuzzer] Restrict number of tested bitmap strikes. Malformed fonts often have large values for the number of bitmap strikes, and FreeType doesn't check the validity of all bitmap strikes in advance. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=353 * src/tools/ftfuzzer/ftfuzzer.cc: Include `stdlib.h' for `rand'. (Random): Small class to provide n randomly selected numbers (without repitition) out of the value set [0,N]. (LLVMFuzzerTestOneInput): Use it to test only up to 10 bitmap strikes.
Werner Lemberg 6fb549dd 2016-12-28T22:23:33 [psnames] Only declare, not define, data in `pstables.h' (#49949). Pdfium includes `pstables.h' a second time; moving the definition from `pstables.h' to `psmodule.c' saves more than 60kByte data segment space for this case. * src/tools/glnames.py (StringTable::dump, StringTable::dump_sublist, dump_encoding, dump_array): Emit additional code to only define tables if `DEFINE_PS_TABLES' is set. * src/psnames/pstables.h: Regenerated. * src/psnames/psmodule.c (DEFINE_PS_TABLES): Define.
Werner Lemberg f80c4473 2016-12-26T23:57:45 Replace `++foo' and `--foo' with `foo++' and `foo--', resp.
Werner Lemberg 4441f7b2 2016-12-26T17:08:17 Replace `foo == NULL' and `foo != NULL' with `!foo' and `foo', resp. Other minor formatting.
Werner Lemberg ada82971 2016-12-22T08:25:42 [ftfuzzer] Always use Adobe CFF engine. * src/tools/ftfuzzer/ftfuzzer.cc (FT_Global::FT_Global): Implement it.
Alexei Podtelezhnikov 83702957 2016-10-13T22:52:40 URL updates.
Werner Lemberg 71b617d8 2016-09-29T19:53:39 [ftfuzzer] Speed up. * src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Don't check for embedded bitmaps if we have a non-default instance.
Werner Lemberg d11e8b6e 2016-09-25T15:32:04 * src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Fix typo.
Werner Lemberg deb26155 2016-09-09T22:13:33 [ftfuzzer] Minor improvements. * src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Ignore invalid strikes. Use better values for call to `FT_Set_Char_Size'.
Werner Lemberg 1c8bb632 2016-09-05T08:13:42 [ftrandom] Minor improvements. * src/tools/ftrandom/ftrandom.c (_XOPEN_SOURCE): New macro, set to 500. * src/tools/ftrandom/Makefile (CFLAGS): Split off include directories to ... (INCLUDES): ... this new variable. (LDFLAGS): New variable. (ftrandom.o, ftrandom): Updated.
Werner Lemberg 4b28f6ac 2016-09-04T19:05:45 [ftrandom] Improve Makefile. It now supports both a normal build (`./configure && make') and a development build (`make devel'). * src/tools/ftrandom/Makefile (VPATH): Set it so that `libfreetype.a' gets searched in both `objs' (for the development build) and `objs/.libs' (for a normal build which uses libtool). (LIBS): Add missing libraries. (ftrandom.o): New rule. (ftrandom): Use automatic variables.
Werner Lemberg ca8e98d9 2016-09-03T13:06:16 [ftrandom] Various fixes. * src/tools/ftrandom/ftrandom.c (GOOD_FONTS_DIR): Provide better default. (error_fraction): Make it of type `double' to work as advertized – this was completely broken. Update all related code. (error_count, fcnt): Make it unsigned to fix compiler warnings. Update all related code. (fontlist): Change `len' member to `long' to fix compiler warnings. (FT_MoveTo, FT_LineTo, FT_ConicTo, FT_CubicTo, abort_test): Tag unused variables. (TestFace, FindFonts, copyfont, do_test): Fix compiler warnings. (ExecuteTest): Ditto. Call `FT_Done_FreeType'. (getErrorCnt): Replace `ceil' with an ordinary cast to `unsigned int'. (usage): Improve output. (main): Fix compiler warnings. * src/tools/ftrandom/README: Updated.
Werner Lemberg ee6b4115 2016-03-12T23:48:13 [ftfuzzer] Improve coverage of rasterfuzzer. * src/tools/ftfuzzer/rasterfuzzer.cc (LLVMFuzzerTestOneInput): Use input data for `tags' array also. Trim input data to get more positive hits.
Werner Lemberg a8b95622 2016-03-01T09:37:12 [ftfuzzer] Add unit for testing smooth and black rasterizers. * src/tools/ftfuzzer/rasterfuzzer.cc: New file.
Werner Lemberg 015c6e08 2016-03-01T06:45:52 Fix clang warnings. * src/autofit/aflatin.c (af_latin_hints_compute_segments): Use FT_UShort for `min_flags' and `max_flags'. Initialize `prev_*' variables. * src/cff/cffobjs.c (cff_face_init) [FT_DEBUG_LEVEL_TRACE]: Fix types of local variables. * src/smooth/ftgrays.c (gray_dump_cells) [FT_DEBUG_LEVEL_TRACE]: Update `printf' format string. * src/tools/ftfuzzer/ftfuzzer.cc (setIntermediateAxis): Add cast. (LLVMFuzzerTestOneInput): Fix loop type.
Werner Lemberg 4b3ea5ca 2016-02-09T08:08:17 [docmaker] Don't emit trailing newlines. * src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_code): Use `rstrip'.
Werner Lemberg 9cc2d467 2016-02-05T11:52:50 Minor.
Werner Lemberg 9adeab64 2016-01-13T11:54:10 Update copyright year.
Werner Lemberg 453722db 2015-12-05T13:20:30 * src/tools/afblue.pl (convert_ascii_chars): Don't ignore spaces. Instead, reduce multiple spaces to a single one. We need this later for supporting character clusters in `afblue.dat'.
Werner Lemberg 98afe3f5 2015-11-28T11:58:49 [docmaker] Allow references to section names. In the reference, we show the section's title enclosed in single quotes. * src/tools/docmaker/formatter.py (Formatter::__init__): Collect section names as identifiers. * src/tools/docmaker/tohtml.py (section_title_header): Split into... (section_title_header1, section_title_header2): ... these two strings. (HtmlFormatter::make_block_url, make_html_word, html_source_quote): Handle sections. (HtmlFormatter::section_enter): Updated to add `id' HTML attribute.
Werner Lemberg 97b808fd 2015-11-26T14:29:17 [docmaker] Allow `foo[bar]' as identifier. We need this to handle equally named properties in different modules. * src/tools/docmaker/content.py (re_identifier), src/tools/docmaker/sources.py (re_crossref): Allow `foo[bar]'. * src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word, HtmlFormatter::index_exit, HtmlFormatter::section_enter, HtmlFormatter::block_enter): Handle `foo[bar]'.
Werner Lemberg 7363414b 2015-11-07T06:32:46 [ftfuzzer] Add copyright notices; do some formatting.
Werner Lemberg 6bda921d 2015-11-02T06:53:48 [ftfuzzer] Update README file.
Werner Lemberg bcf618b2 2015-11-02T06:50:49 [ftfuzzer] Add support for multiple files (patch #8779). Currently, libFuzzer only supports mutation of a single file. We circumvent this problem by using an uncompressed tar archive as multiple-file input for the fuzzer. This patch enables tests of `FT_Attach_Stream' and AFM/PFM parsing; a constructed tarball should contain a font file as the first element, and files to be attached as further elements. * src/tools/ftfuzzer/ftfuzzer.cc: Include libarchive headers. (archive_read_entry_data, parse_data): New functions. (LLVMFuzzerTestOneInput): Updated. * src/tools/ftfuzzer/ftmutator.cc: New file, providing a custom mutator for libFuzzer that can mutate tarballs in a sensible way.
Werner Lemberg 3066f5f5 2015-10-21T14:05:41 Revert erroneously applied commits.
Werner Lemberg e6593389 2015-10-21T08:04:29 [sfnt] Avoid unnecessarily large allocation for WOFFs (#46257). * src/sfnt/sfobjs.c (woff_open_font): Use WOFF's `totalSfntSize' only after thorough checks. Add tracing messages.
Kostya Serebryany 266976b1 2015-10-15T22:15:53 add src/tools/ftfuzzer/README
Werner Lemberg 8b76eaf0 2015-10-15T18:28:43 * src/tools/ftfuzzer/ftfuzzer.cc: Handle fixed sizes (#46211).
Werner Lemberg bdb56bba 2015-10-13T11:51:13 [ftfuzzer] Handle TTCs and MM/GX variations. This patch also contains various other improvements. * src/tools/ftfuzzer/ftfuzzer.cc: Add preprocessor guard to reject pre-C++11 compilers. (FT_Global): New class. Use it to provide a global constructor and destructor for the `FT_Library' object. (setIntermediateAxis): New function to select an (arbitrary) instance. (LLVMFuzzerTestOneInput): Loop over all faces and named instances. Also call `FT_Set_Char_Size'.
Kostya Serebryany dde84f25 2015-10-07T22:18:22 [ftfuzzer] Add support for LLVM's LibFuzzer. * src/tools/ftfuzzer/ftfuzzer.cc, src/tools/runinput.cc: New files.
Werner Lemberg e5a27a75 2015-09-10T07:44:11 [docmaker] Allow `-' in bold and italic markup. * src/tools/docmaker/sources.py (re_italic, re_bold): Adjust accordingly.
Werner Lemberg 802f6a9a 2015-06-27T07:12:42 * src/tools/docmaker/utils.py (check_output): Add missing `\n'.
Werner Lemberg 392cf22f 2015-06-25T13:04:57 Another adjustment to header locations. This change is a result of a discussion thread on freetype-devel http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html Re-introduce the `freetype2' subdirectory for all FreeType header files after installation, and rename the `freetype2' subdirectory in the git repository to `freetype'. * include/freetype2: Renamed to... * include/freetype: This. * CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS, PRIVATE_HEADERS): Updated. Update creation of `ftconfig.h'. Install generated `ftconfig.h'. * Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated. * builds/amiga/include/config/ftconfig.h, builds/freetype.mk (PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work), builds/unix/freetype2.in: Updated. * builds/unix/freetype-config.in: Updated. * builds/unix/configure.raw: Don't check for `rmdir'. * builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable according to the autoconf info manual. * builds/unix/install.mk (install, uninstall, distclean_project_unix): Update and simplify. * builds/wince/*, builds/windows/*: Updated. * devel/ft2build.h, include/ft2build.h: Updated. * include/freetype2/config/ftheader.h, include/freetype2/internal/ftserv.h, include/freetype2/internal/internal.h: Update all header file macros. * src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated. * docs/*: Updated.
Werner Lemberg 8502c98b 2015-06-22T06:35:23 Fix Savannah bug #45097. We no longer `pollute' the namespace of possible header file names; instead we move `ft2build.h' up by one level so that it gets installed in the default include directory (e.g., /usr/local/include). After this commit, only `ft2build.h' stays in the compiler's include path. No visible changes for the user who follows the standard FreeType header inclusion rules. * include/*: Move to ... * include/freetype2/*: This directory, except `ft2build.h'. * CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS, PRIVATE_HEADERS), Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated. * builds/amiga/include/config/ftconfig.h, builds/freetype.mk (PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work), builds/unix/install.mk (install, uninstall), builds/unix/freetype2.in: Updated. * builds/unix/freetype-config.in: Updated. Emit -I directory only if it is not `/usr/include'. * builds/wince/*, builds/windows/*: Updated. * devel/ft2build.h, include/ft2build.h: Updated. * include/freetype2/config/ftheader.h, include/freetype2/internal/ftserv.h, include/freetype2/internal/internal.h: Update all header file macros. * src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated. * docs/*: Updated.
Werner Lemberg 366b2ea7 2015-05-28T10:58:40 * src/tools/apinames.c (names_dump): Fix invalid reference. Problem reported by Guzman Mosqueda, Jose R <jose.r.guzman.mosqueda@intel.com>.
Werner Lemberg 772a5e5d 2015-03-20T09:40:10 Update links to Apple's TrueType specification.
Werner Lemberg 3e587796 2015-03-11T07:14:15 Minor copyright and e-mail address issues.
Werner Lemberg cb0f7b65 2015-03-11T06:51:27 Fix automatic copyright updating. * src/tools/update-copyright: Make scanning of `no-copyright' actually work. * src/tools/no-copyright: Don't include README in general.
Werner Lemberg 272e3cd0 2015-02-18T11:38:46 [psaux, type1] Fix minor AFM issues. * include/internal/t1types.h (AFM_KernPairRec): Make indices unsigned. Update users. (AFM_FontInfoRec): Make element counters unsigned. Update users. * src/psaux/afmparse.h (AFM_ValueRec): Add union member for unsigned int. * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs): Reject negative values for number of kerning elements. * src/type1/t1afm.c, src/tools/test_afm.c: Updated.
Werner Lemberg f57fc59e 2015-01-17T20:41:43 Run `src/tools/update-copyright'.
Werner Lemberg 50be00d3 2015-01-17T20:38:31 Add some tools to handle yearly copyright notice updates. We are now following the GNU guidelines: A new release automatically means that the copyright year of all affected files gets updated; it is no longer used to track years of modification changes. * src/tools/update-copyright-year: New Perl script. * src/tools/update-copyright: New shell script that calls `update-copyright-year' on all files. * src/tools/no-copyright: Exceptions that should not be handled by `update-copyright'
Werner Lemberg 36a46761 2014-12-22T03:31:32 Remove C-isms in Python code.
Werner Lemberg 0098d550 2014-12-07T11:03:57 Uppercase all hex digits for orthogonality.
Werner Lemberg 9870d6da 2014-12-07T09:40:47 */*: Decorate hex constants with `U' and `L' where appropriate.
Werner Lemberg ca1f5cc7 2014-12-02T22:49:25 [docmaker] Always handle `<Order>' section elements. Previously, those elements were handled only for sections present in a `<Sections>' chapter element. * src/tools/docmaker/content.py (ContentProcessor::finish): Implement it.
Werner Lemberg ef6a3523 2014-12-02T21:16:59 [docmaker] Properly handle empty rows in Synopsis. * src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Emit `&nbsp;' for empty fields.
Werner Lemberg 0e96f050 2014-12-02T11:08:31 [docmaker] Thinko. * src/tools/docmaker/content.py (DocBlock::get_markup_words_all): Emit `/empty/' string for first element also.
Werner Lemberg 102d4a76 2014-12-02T10:27:40 [docmaker] Honour empty lines in `<Order>' section element. This greatly improves the readability of the `Synopsis' links. * src/tools/docmaker/content.py (DocBlock::get_markup_words_all): Insert string `/empty/' between items. * src/tools/docmaker/formatter.py (Formatter::section_dump): Make it robust against nonexistent keys. * src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Emit empty <td> elements for `/empty/'.
Werner Lemberg 2af25ac0 2014-12-02T08:38:57 [docmaker] Ensure Python 3 compatibility. * src/tools/docmaker/content.py (ContentProcessor::set_section, ContentProcessor::finish): Replace `has_key' function with `in' keyword. * src/tools/docmaker/formatter.py (Formatter::__init__): Replace sorting function with a key generator. (Formatter::add_identifier): Replace `has_key' function with `in' keyword. * src/tools/docmaker/tohtml.py (HtmlFormatter::html_source_quote): Replace `has_key' function with `in' keyword. (HtmlFormatter::index_exit, HtmlFormatter::section_enter): Use integer division. s/<>/>/. * src/tools/docmaker/utils.py: Import `itertools'. (index_sort): Replaced by... (index_key): ... this new key generator (doing exactly the same).
Werner Lemberg 80bfeb1c 2014-12-01T10:07:52 [docmaker] Don't output a block multiple times. This bug was hidden by not processing all lines of `<Order>' blocks. * src/tools/docmaker/formatter.py (Formatter::section_dump): Filter out field names.
Werner Lemberg 0dbad763 2014-12-01T08:44:48 [docmaker] Use field values as HTML link targets where possible. * src/tools/docmaker/tohtml.py (HtmlFormatter::make_block_url): Accept second, optional argument to specify a name. (HtmlFormatter::html_source_quote): Link to field ID if possible. (HtmlFormatter::print_html_field_list): Emit `id' attribute.
Werner Lemberg 785b1d08 2014-11-30T22:16:34 [docmaker] Allow empty lines in `<Order>' blocks. Before this patch, the suggested order of entries stopped at the first empty line. Obviously, nobody noticed that this problem caused a much reduced set of links in the `Synopsis' sections; in particular, the `<Order>' blocks contain a lot of entries that wouldn't be listed otherwise... * src/tools/docmaker/content.py (DocBlock::get_markup_words_all): New function to iterate over all items. (DocSection::process): Use it.
Werner Lemberg 16b3e620 2014-11-30T20:58:27 * src/tools/docmaker/sources.py (column) [Format 2]: Fix regexp. After the single asterisk there must be no other immediately following asterisk.
Werner Lemberg aaffbf85 2014-11-29T23:26:46 Minor.
Werner Lemberg 434bc695 2014-11-29T23:12:55 * src/tools/docmaker/tohtml.py: Improve CSS for vertical spacing.
Werner Lemberg 51987eaf 2014-11-29T22:19:29 [docmaker] Improve HTML code for table of contents.. * src/toold/docmaker/tohtml.py: Introduce a new table class `toc', together with proper CSS.
Werner Lemberg aa834ce5 2014-11-29T20:08:29 [docmaker] Provide higher-level markup and simplify HTML. * src/tools/docmaker/tohtml.py: Instead of using extraneous `<div>' elements, use CSS descendants (of class `section') to format the data. Also remove reduntant <p> and <br> elements, replacing them with proper CSS. Globally reduce page width to 75%. (block_header): Rename <div> class to `section'.
Werner Lemberg 3bb97023 2014-11-29T16:12:37 [docmaker] Add `top' links after blocks. * src/tools/docmaker/tohtml.py (block_footer_middle): Implement it.
Werner Lemberg a31f9715 2014-11-29T07:18:44 * src/tools/docmaker/tohtml.py: Improve CSS for fields. Make fields align horizotnally relative to full line width.
Werner Lemberg 8f795118 2014-11-29T06:49:15 * src/tools/docmaker/tohtml.py: Fix index and TOC templates. This thinko was introduced 2014-11-27.
Werner Lemberg ba1ba0ca 2014-11-28T22:04:14 [docmaker] Format field lists with CSS. This also simplifies the inserted HTML code. * src/tools/docmaker/tohtml.py (HtmlFormatter::print_html_field_list): Do it.
Werner Lemberg 46d4dc86 2014-11-28T05:49:56 [docmaker] Replace empty `<td>' with CSS.. * src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Do it.
Werner Lemberg 984e0717 2014-11-28T05:33:58 [docmaker] Replace some `<table>' tags with `<h4>' and `<div>'. * src/tools/docmaker/tohtml.py (marker_*): Use `<h4>'. (source_*): Use `<div>'. (HtmlFormatter::block_enter): s/<h4>/<h3>/.
Werner Lemberg 7ea36340 2014-11-27T19:38:31 * src/tools/docmaker/tohtml.py: Usee more CSS for index.
Werner Lemberg edcf817e 2014-11-27T19:28:48 [docmaker] Replace `name' attribute of `<a>' with `id'. * src/tools/docmaker/tohtml.py (HtmlFormatter::block_enter): Do it.
Werner Lemberg 26d699ed 2014-11-27T19:22:52 * src/tools/docmaker/tohtml.py: Remove remaining `width' attributes. For `Index' and `TOC' links, we now simply use the `text-align' CSS property of `<td>' to enforce flush-left and flush-right, eliminating the hack with an empty, full-width `<td>' element inbetween. The change also enforces the same (smaller) size for all index and TOC links.
Werner Lemberg dd3fee07 2014-11-27T13:20:52 * src/tools/docmaker/tohtml.py: More HTML table refactoring. Replace some `<table>' tags with `<div>' to simplify structure. Move `bgcolor' attribute to CSS. Replace most `width' attributes with CSS. The remaining instances (providing a similar effect as LaTeX's `\hfill' command) are removed in a later patch.
Werner Lemberg 339d830e 2014-11-27T12:03:17 [docmaker] Typos.
Werner Lemberg a5ad26af 2014-11-27T10:52:24 * src/tools/docmaker/tohtml.py: Replace <font> with CSS.