* include/freetype/freetype.h, include/freetype/ftchapters.h: Add a preliminary section with some explanations about user allocation. * src/tools/docmaker/tohtml.py (HtmlFormatter.section_enter): Don't abort if there are no data types, functions, etc., in a section. Print synopsis only if we have a data type, function, etc. * docs/INSTALL.ANY, docs/INSTALL, docs/INSTALL.UNX, docs/CUSTOMIZE, docs/INSTALL.GNU, docs/TRUETYPE, docs/DEBUG, docs/UPGRADE.UNX, docs/VERSION.DLL, docs/formats.txt: Revised, formatted.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223
diff --git a/ChangeLog b/ChangeLog
index f1321a6..f3d4c91 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2005-08-29 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/freetype.h, include/freetype/ftchapters.h: Add
+ a preliminary section with some explanations about user allocation.
+
+ * src/tools/docmaker/tohtml.py (HtmlFormatter.section_enter):
+ Don't abort if there are no data types, functions, etc., in a
+ section.
+ Print synopsis only if we have a data type, function, etc.
+
+ * docs/INSTALL.ANY, docs/INSTALL, docs/INSTALL.UNX, docs/CUSTOMIZE,
+ docs/INSTALL.GNU, docs/TRUETYPE, docs/DEBUG, docs/UPGRADE.UNX,
+ docs/VERSION.DLL, docs/formats.txt: Revised, formatted.
+
2005-08-28 George Williams <gww@silcom.com>
* src/truetype/ttgload.c [TT_MAX_COMPOSITE_RECURSE]: Removed.
diff --git a/docs/CUSTOMIZE b/docs/CUSTOMIZE
index e2beb68..e1b3c06 100644
--- a/docs/CUSTOMIZE
+++ b/docs/CUSTOMIZE
@@ -1,5 +1,5 @@
-How to customize the compilation of the library:
-================================================
+How to customize the compilation of the library
+===============================================
FreeType is highly customizable to fit various needs, and this
document describes how it is possible to select options and components
@@ -8,7 +8,7 @@ How to customize the compilation of the library:
I. Configuration macros
- The file found in "include/freetype/config/ftoption.h" contains a list
+ The file found in `include/freetype/config/ftoption.h' contains a list
of commented configuration macros that can be toggled by developers to
indicate which features should be active while building the library.
@@ -22,23 +22,28 @@ I. Configuration macros
II. Modules list
- The file found in "include/freetype/config/ftmodule.h" contains a list
+ The file found in `include/freetype/config/ftmodule.h' contains a list
of names corresponding to the modules and font drivers to be
statically compiled in the FreeType library during the build.
You can change it to suit your own preferences. Be aware that certain
- modules depend on others, as described by the file "modules.txt" in
+ modules depend on others, as described by the file `modules.txt' in
this directory.
You can modify the file's content to suit your needs, or override it
at compile time with one of the methods described below.
+ Note that you also have to rename the various `*.mk' files in the
+ module directories which you want to exclude so that the extension
+ isn't `.mk' -- GNU make uses a simple globbing mechanism to include
+ all those files.
+
III. System interface
FreeType's default interface to the system (i.e., the parts that deal
with memory management and i/o streams) is located in
- "src/base/ftsystem.c".
+ `src/base/ftsystem.c'.
The current implementation uses standard C library calls to manage
memory and to read font files. It is however possible to write custom
@@ -74,32 +79,32 @@ IV. Overriding default configuration and module headers
Use the C include path to ensure that your own versions of the files
are used at compile time when the lines
- #include FT_CONFIG_OPTIONS_H
- #include FT_CONFIG_MODULES_H
+ #include FT_CONFIG_OPTIONS_H
+ #include FT_CONFIG_MODULES_H
are compiled. Their default values being
<freetype/config/ftoption.h> and <freetype/config/ftmodule.h>, you
can do something like:
- custom/
- freetype/
- config/
- ftoption.h => custom options header
- ftmodule.h => custom modules list
+ custom/
+ freetype/
+ config/
+ ftoption.h => custom options header
+ ftmodule.h => custom modules list
- include/ => normal FreeType 2 include
- freetype/
- ...
+ include/ => normal FreeType 2 include
+ freetype/
+ ...
- then change the C include path to always give the path to "custom"
- before the FreeType 2 "include".
+ then change the C include path to always give the path to `custom'
+ before the FreeType 2 `include'.
- 2. Re-defining FT_CONFIG_OPTIONS_H and FT_CONFIG_MODULES_H
+ 2. Redefining FT_CONFIG_OPTIONS_H and FT_CONFIG_MODULES_H
Another way to do the same thing is to redefine the macros used to
name the configuration headers. To do so, you need a custom
- "ft2build.h" whose content can be as simple as:
+ `ft2build.h' whose content can be as simple as:
#ifndef __FT2_BUILD_MY_PLATFORM_H__
#define __FT2_BUILD_MY_PLATFORM_H__
@@ -111,25 +116,25 @@ IV. Overriding default configuration and module headers
#endif /* __FT2_BUILD_MY_PLATFORM_H__ */
- Place those files in a separate directory, e.g.:
+ Place those files in a separate directory, e.g.,
custom/
ft2build.h => custom version described above
my-ftoption.h => custom options header
my-ftmodule.h => custom modules list header
- and change the C include path to ensure that "custom" is always
- placed before the FT2 "include" during compilation.
+ and change the C include path to ensure that `custom' is always
+ placed before the FT2 `include' during compilation.
------------------------------------------------------------------------
-Copyright 2003 by
+Copyright 2003, 2005 by
David Turner, Robert Wilhelm, and Werner Lemberg.
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
accept it fully.
diff --git a/docs/DEBUG b/docs/DEBUG
index 4e13233..4b0501a 100644
--- a/docs/DEBUG
+++ b/docs/DEBUG
@@ -6,7 +6,7 @@ I. Configuration macros
There are several ways to enable debugging features in a FreeType 2
builds. This is controlled through the definition of special macros
-located in the file "ftoptions.h". The macros are:
+located in the file `ftoptions.h'. The macros are:
FT_DEBUG_LEVEL_ERROR
@@ -23,7 +23,7 @@ located in the file "ftoptions.h". The macros are:
FT_TRACE2, ..., FT_TRACE7.
The trace macros are used to send debugging messages when an
- appropriate "debug level" is configured at runtime through the
+ appropriate `debug level' is configured at runtime through the
FT2_DEBUG environment variable (more on this later).
FT_DEBUG_MEMORY
@@ -51,16 +51,17 @@ II. Debugging macros
Several macros can be used within the FreeType sources to help debugging
its code:
+
1. FT_ERROR(( ... ))
This macro is used to send debug messages that indicate relatively
serious errors (like broken font files), but will not stop the
execution of the running program. Its code is compiled only when
either FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined in
- "ftoption.h".
+ `ftoption.h'.
Note that you have to use a printf-like signature, but with double
- parentheses, like in:
+ parentheses, like in
FT_ERROR(( "your %s is not %s\n", "foo", "bar" ));
@@ -70,31 +71,31 @@ its code:
This macro is used to check strong assertions at runtime. If its
condition isn't TRUE, the program will abort with a panic message.
Its code is compiled when either FT_DEBUG_LEVEL_ERROR or
- FT_DEBUG_LEVEL_TRACE are defined. You don't need double-parentheses
- here. For example:
+ FT_DEBUG_LEVEL_TRACE are defined. You don't need double parentheses
+ here. For example
FT_ASSERT( ptr != NULL );
3. FT_TRACE( level, (message...) )
-
+
The FT_TRACE macro is used to send general-purpose debugging
messages during program execution. This macro uses an *implicit*
macro named FT_COMPONENT used to name the current FreeType component
being run.
The developer should always define FT_COMPONENT as appropriate, for
- example as in:
+ example as in
#undef FT_COMPONENT
#define FT_COMPONENT trace_io
The value of the FT_COMPONENT macro is an enumeration named
trace_XXXX where XXXX is one of the component names defined in the
- internal file <freetype/internal/fttrace.h>.
+ internal file `freetype/internal/fttrace.h'.
- Each such component is assigned a "debug level", ranging from 0
- to 7, through the use of the FT2_DEBUG environment variable
+ Each such component is assigned a `debug level', ranging from 0
+ to 7, through the use of the FT2_DEBUG environment variable
(described below) when a program linked with FreeType starts.
When FT_TRACE is called, its level is compared to the one of the
@@ -106,11 +107,11 @@ its code:
least* 2.
The second parameter to FT_TRACE must contain parentheses and
- correspond to a printf-like call, as in:
+ correspond to a printf-like call, as in
FT_TRACE( 2, ( "your %s is not %s\n", "foo", "bar" ) )
- The shortcut macros FT_TRACE0, FT_TRACE1, FT_TRACE2_, ... FT_TRACE7
+ The shortcut macros FT_TRACE0, FT_TRACE1, FT_TRACE2, ..., FT_TRACE7
can be used with constant level indices, and are much cleaner to
use, as in
@@ -121,7 +122,8 @@ III. Environment variables
--------------------------
The following environment variables control debugging output and
-behaviour of FreeType at runtime:
+behaviour of FreeType at runtime.
+
FT2_DEBUG
@@ -131,19 +133,20 @@ behaviour of FreeType at runtime:
component1:level1 component2:level2 component3:level3 ...
- where "componentX" is the name of a tracing component, as defined in
- "fttrace.h", but without the "trace_" prefix. "levelX" is the
+ where `componentX' is the name of a tracing component, as defined in
+ `fttrace.h', but without the `trace_' prefix. `levelX' is the
corresponding level to use at runtime.
- "any" is a special component name that will be interpreted as
- "any/all components". For example, the following definitions
+ `any' is a special component name that will be interpreted as
+ `any/all components'. For example, the following definitions
set FT2_DEBUG=any:2 memory:5 io:4 (on Windows)
export FT2_DEBUG="any:2 memory:5 io:4" (on Linux with bash)
both stipulate that all components should have level 2, except for
- the memory and io components which will be set to trace levels 5
- and 4, respectively.
+ the memory and io components which will be set to trace levels 5 and
+ 4, respectively.
+
FT2_DEBUG_MEMORY
@@ -154,9 +157,10 @@ behaviour of FreeType at runtime:
considerably saves time when debugging new additions to the library.
This code is only compiled when FreeType is built with the
- FT_DEBUG_MEMORY macro #defined in "ftoption.h" though, it will be
+ FT_DEBUG_MEMORY macro #defined in `ftoption.h' though, it will be
ignored in other builds.
+
FT2_ALLOC_TOTAL_MAX
This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
@@ -168,6 +172,7 @@ behaviour of FreeType at runtime:
If it is undefined, or if its value is not strictly positive, then
no allocation bounds are checked at runtime.
+
FT2_ALLOC_COUNT_MAX
This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
@@ -177,17 +182,17 @@ behaviour of FreeType at runtime:
engine's robustness.
If it is undefined, or if its value is not strictly positive, then
- no allocation bounsd are checked at runtime.
+ no allocation bounds are checked at runtime.
------------------------------------------------------------------------
-Copyright 2002, 2003, 2004 by
+Copyright 2002, 2003, 2004, 2005 by
David Turner, Robert Wilhelm, and Werner Lemberg.
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
accept it fully.
diff --git a/docs/INSTALL b/docs/INSTALL
index b342d96..d53cafa 100644
--- a/docs/INSTALL
+++ b/docs/INSTALL
@@ -10,41 +10,46 @@ I. Normal installation and upgrades
1. Native TrueType Hinting
Native TrueType hinting is disabled by default[1]. If you really
- need it, read the file "TRUETYPE" for information.
+ need it, read the file `TRUETYPE' for information.
+
2. Unix Systems (as well as Cygwin or MSys on Windows)
- Please read *both* UPGRADE.UNX and INSTALL.UNX to install or upgrade
- FreeType 2 on a Unix system. Note that you *will* need GNU Make,
+ Please read *both* `UPGRADE.UNX' and `INSTALL.UNX' to install or
+ upgrade FreeType 2 on a Unix system. Note that you *need* GNU Make,
since other make tools won't work (this includes BSD Make).
- 3. On VMS with the "mms" build tool
+
+ 3. On VMS with the `mms' build tool
- See INSTALL.VMS for installation instructions on this platform.
+ See `INSTALL.VMS' for installation instructions on this platform.
+
4. Other systems using GNU Make
On non-Unix platforms, it is possible to build the library using GNU
- Make utility. Note that *NO OTHER MAKE TOOL WILL WORK*[2]! This
+ Make utility. Note that *NO OTHER MAKE TOOL WILL WORK*[2]! This
methods supports several compilers on Windows, OS/2, and BeOS,
- including Mingw, Visual C++, Borland C++, and more.
+ including MinGW, Visual C++, Borland C++, and more.
+
+ Instructions are provided in the file `INSTALL.GNU'.
- Instructions are provided in the file "INSTALL.GNU".
- 5. With an IDE Project File (e.g. for Visual Studio or CodeWarrior)
+ 5. With an IDE Project File (e.g., for Visual Studio or CodeWarrior)
- We provide a small number of "project files" for various IDEs to
+ We provide a small number of `project files' for various IDEs to
automatically build the library as well. Note that these files are
- not supported and sporadically maintained by FreeType developers, so
- don't expect them to work in each release.
+ not supported and only sporadically maintained by FreeType
+ developers, so don't expect them to work in each release.
- To find them, have a look at the content of the "builds/<system>"
+ To find them, have a look at the content of the `builds/<system>'
directory, where <system> stands for your OS or environment.
+
6. From you own IDE, or own Makefiles
If you want to create your own project file, follow the instructions
- given in the "INSTALL.ANY" document of this directory.
+ given in the `INSTALL.ANY' document of this directory.
II. Custom builds of the library
@@ -52,7 +57,7 @@ II. Custom builds of the library
Customizing the compilation of FreeType is easy, and allows you to
select only the components of the font engine that you really need.
- For more details read the file "CUSTOMIZE".
+ For more details read the file `CUSTOMIZE'.
------------------------------------------------------------------------
@@ -60,19 +65,22 @@ II. Custom builds of the library
[1] More details on: http://www.freetype.org/patents.html
[2] make++, a make tool written in Perl, has sufficient support of GNU
- make extensions to build FreeType. See
- http://makepp.sourceforge.net for more information; you need version
- 1.19 or newer, and you must pass option `--norc-substitution'.
+ make extensions to build FreeType. See
+
+ http://makepp.sourceforge.net
+
+ for more information; you need version 1.19 or newer, and you must
+ pass option `--norc-substitution'.
------------------------------------------------------------------------
Copyright 2000, 2001, 2002, 2003, 2004, 2005 by
David Turner, Robert Wilhelm, and Werner Lemberg.
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
accept it fully.
diff --git a/docs/INSTALL.ANY b/docs/INSTALL.ANY
index 4045b2f..75e701a 100644
--- a/docs/INSTALL.ANY
+++ b/docs/INSTALL.ANY
@@ -1,26 +1,26 @@
Instructions on how to build FreeType with your own build tool
==============================================================
-See the file `CUSTOMIZE' to learn how to customize FreeType to
-specific environments.
+See the file `CUSTOMIZE' to learn how to customize FreeType to specific
+environments.
I. Standard procedure
---------------------
- * DISABLE PRE-COMPILED HEADERS! This is very important for Visual
+ * DISABLE PRE-COMPILED HEADERS! This is very important for Visual
C++, because FreeType uses lines like:
#include FT_FREETYPE_H
- which are not correctly supported by this compiler while being ISO
- C compliant!
+ which are not correctly supported by this compiler while being ISO C
+ compliant!
- * You need to add the directories `freetype2/include' to your
- include path when compiling the library.
+ * You need to add the directories `freetype2/include' to your include
+ path when compiling the library.
- * FreeType 2 is made of several components; each of them is located
- in a subdirectory of `freetype2/src'. For example,
+ * FreeType 2 is made of several components; each of them is located in
+ a subdirectory of `freetype2/src'. For example,
`freetype2/src/truetype/' contains the TrueType font driver.
* DO NOT COMPILE ALL C FILES! Rather, compile the following ones:
@@ -85,14 +85,17 @@ I. Standard procedure
`type42.c' needs `truetype.c'
- You are done. In case of problems, see the archives of the FreeType
+ Read the file `CUSTOMIZE' in case you want to compile only a subset of
+ the drivers, renderers, and optional modules.
+
+ You are done. In case of problems, see the archives of the FreeType
development mailing list.
II. Support for flat-directory compilation
------------------------------------------
- It is possible to put all FreeType 2 source files into a single
+ It is possible to put all FreeType 2 source files into a single
directory, with the *exception* of the `include' hierarchy.
1. Copy all files in current directory
@@ -110,19 +113,19 @@ II. Support for flat-directory compilation
cc -c -Ifreetype2/include ftbase.c
etc.
- You don't need to define the FT_FLAT_COMPILATION macro (as this
- was required in previous releases of FreeType 2).
+ You don't need to define the FT_FLAT_COMPILATION macro (as this was
+ required in previous releases of FreeType 2).
-----------------------------------------------------------------------
+------------------------------------------------------------------------
Copyright 2003, 2005 by
David Turner, Robert Wilhelm, and Werner Lemberg.
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute
-this file you indicate that you have read the license and understand
-and accept it fully.
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
+accept it fully.
--- end of INSTALL.ANY ---
diff --git a/docs/INSTALL.GNU b/docs/INSTALL.GNU
index cd2208e..096b4b5 100644
--- a/docs/INSTALL.GNU
+++ b/docs/INSTALL.GNU
@@ -11,20 +11,22 @@ the file INSTALL.UNX instead.
1. Install GNU Make
-------------------
- Because GNU Make is the only Make tool supported to compile
- FreeType 2, you should install it on your machine.
+ Because GNU Make is the only Make tool supported to compile FreeType
+ 2, you should install it on your machine.
The FreeType 2 build system relies on many features special to GNU
- Make -- trying to build the library with any other Make tool will
- *fail*.
+ Make.
- NEARLY ALL OTHER MAKE TOOLS WILL FAIL, INCLUDING "BSD MAKE", SO
- REALLY INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM!
+ NEARLY ALL OTHER MAKE TOOLS FAIL, INCLUDING `BSD MAKE', SO REALLY
+ INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM!
Note that make++, a make tool written in Perl, supports enough
- features of GNU make to compile FreeType. See
- http://makepp.sourceforge.net for more information; you need version
- 1.19 or newer, and you must pass option `--norc-substitution'.
+ features of GNU make to compile FreeType. See
+
+ http://makepp.sourceforge.net
+
+ for more information; you need version 1.19 or newer, and you must
+ pass option `--norc-substitution'.
Make sure that you are invoking GNU Make from the command line, by
typing something like:
@@ -36,7 +38,7 @@ the file INSTALL.UNX instead.
VERSION 3.78.1 OR NEWER IS NEEDED!
- 2. Invoke 'make'
+ 2. Invoke `make'
----------------
Go to the root directory of FreeType 2, then simply invoke GNU Make
@@ -59,13 +61,15 @@ the file INSTALL.UNX instead.
remove the file 'config.mk' from this directory then read the
INSTALL file for help.
- Otherwise, simply type 'make' again to build the library.
+ Otherwise, simply type 'make' again to build the library
+ or 'make refdoc' to build the API reference (the latter needs
+ python).
=============================================================
If the detected settings correspond to your platform and compiler,
skip to step 5. Note that if your platform is completely alien to
- the build system, the detected platform will be 'ansi'.
+ the build system, the detected platform will be `ansi'.
3. Configure the build system for a different compiler
@@ -90,9 +94,9 @@ the file INSTALL.UNX instead.
The <compiler> name to use is platform-dependent. The list of
available compilers for your system is available in the file
- `builds/<system>/detect.mk'
+ `builds/<system>/detect.mk'.
- If you are satisfied by the new configuration summary, skip to
+ If you are satisfied by the new configuration summary, skip to
step 5.
@@ -131,20 +135,20 @@ the file INSTALL.UNX instead.
Final note
The build system builds a statically linked library of the font
- engine in the "objs" directory. It does _not_ support the build of
+ engine in the `objs' directory. It does _not_ support the build of
DLLs on Windows and OS/2. If you need these, you have to either use
- a IDE-specific project file, or follow the instructions in
- "INSTALL.ANY" to create your own Makefiles.
+ an IDE-specific project file, or follow the instructions in
+ `INSTALL.ANY' to create your own Makefiles.
------------------------------------------------------------------------
-Copyright 2003, 2004 by
+Copyright 2003, 2004, 2005 by
David Turner, Robert Wilhelm, and Werner Lemberg.
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
accept it fully.
diff --git a/docs/INSTALL.UNX b/docs/INSTALL.UNX
index 52f2820..f6deea8 100644
--- a/docs/INSTALL.UNX
+++ b/docs/INSTALL.UNX
@@ -1,5 +1,5 @@
This document contains instructions on how to build the FreeType library
-on Unix systems. This also works for emulations like Cygwin or MSys on
+on Unix systems. This also works for emulations like Cygwin or MSys on
Win32:
@@ -12,8 +12,11 @@ Win32:
[Well, this is not really correct. Recently, a perl implementation
of make called `makepp' has appeared which can also build FreeType 2
- successfully on Unix platforms. See http://makepp.sourceforge.net
- for more details; you need version 1.19 or newer, and you must pass
+ successfully on Unix platforms. See
+
+ http://makepp.sourceforge.net
+
+ for more details; you need version 1.19 or newer, and you must pass
option `--norc-substitution'.]
Trying to compile the library with a different Make tool will print
@@ -36,7 +39,7 @@ Win32:
make
make install (as root)
- The default installation path is "/usr/local". It can be changed
+ The default installation path is `/usr/local'. It can be changed
with the `--prefix=<path>' option. Example:
./configure --prefix=/usr
@@ -49,8 +52,8 @@ Win32:
gmake
gmake install (as root)
- If this still doesn't work, something's rotten on your system
- (e.g. you are using a very old version of GNU Make).
+ If this still doesn't work, there must be a problem with your system
+ (e.g., you are using a very old version of GNU Make).
It is possible to compile FreeType in a different directory.
Assuming the FreeType source files in directory `/src/freetype' a
@@ -63,13 +66,13 @@ Win32:
------------------------------------------------------------------------
-Copyright 2003, 2004 by
+Copyright 2003, 2004, 2005 by
David Turner, Robert Wilhelm, and Werner Lemberg.
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
accept it fully.
diff --git a/docs/TRUETYPE b/docs/TRUETYPE
index 30029f4..27bfd44 100644
--- a/docs/TRUETYPE
+++ b/docs/TRUETYPE
@@ -1,20 +1,23 @@
How to enable the TrueType native hinter if you need it
---------------------------------------------------------
+-------------------------------------------------------
The TrueType bytecode interpreter is disabled in all public releases
- of the FreeType packages for patents reasons (see
- http://www.freetype.org/patents.html for more details).
+ of the FreeType packages for patents reasons; see
+
+ http://www.freetype.org/patents.html
+
+ for more details.
However, many Linux distributions do enable the interpreter in the
FreeType packages (DEB/RPM/etc.) they produce for their platforms. If
you are using TrueType fonts on your system, you most probably want to
enable it manually by doing the following:
- - open the file "include/freetype/config/ftoption.h"
+ - open the file `include/freetype/config/ftoption.h'
- locate a line that says:
- #undef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
+ #undef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
- change it to:
@@ -24,13 +27,13 @@ How to enable the TrueType native hinter if you need it
------------------------------------------------------------------------
-Copyright 2003 by
+Copyright 2003, 2005 by
David Turner, Robert Wilhelm, and Werner Lemberg.
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
accept it fully.
diff --git a/docs/UPGRADE.UNX b/docs/UPGRADE.UNX
index 6c273d4..de1b35b 100644
--- a/docs/UPGRADE.UNX
+++ b/docs/UPGRADE.UNX
@@ -10,7 +10,7 @@ SPECIAL NOTE FOR UNIX USERS
1. Enable the TrueType bytecode hinter if you need it
-----------------------------------------------------
- See the instructions in the file "TRUETYPE" of this directory.
+ See the instructions in the file `TRUETYPE' of this directory.
Note that FreeType supports TrueType fonts without the bytecode
interpreter through its auto-hinter, which now generates relatively
@@ -20,9 +20,9 @@ SPECIAL NOTE FOR UNIX USERS
2. Determine the correct installation path
------------------------------------------
- By default, the configure script will install the library in
- "/usr/local". However, many Unix distributions now install the
- library in "/usr", since FreeType is becoming a critical system
+ By default, the configure script installs the library in
+ `/usr/local'. However, many Unix distributions now install the
+ library in `/usr', since FreeType is becoming a critical system
component.
If FreeType is already installed on your system, type
@@ -30,11 +30,11 @@ SPECIAL NOTE FOR UNIX USERS
freetype-config --prefix
on the command line. This should return the installation path
- (e.g., "/usr" or "/usr/local"). To avoid problems of parallel
+ (e.g., `/usr' or `/usr/local'). To avoid problems of parallel
FreeType versions, use this path for the --prefix option of the
configure script.
- Otherwise, simply use "/usr" (or whatever you think is adequate for
+ Otherwise, simply use `/usr' (or whatever you think is adequate for
your installation).
@@ -47,14 +47,13 @@ SPECIAL NOTE FOR UNIX USERS
the library with the instructions below using any other alternative
(including BSD Make).
- Trying to compile the library with a different Make tool will print
- a message like:
+ Trying to compile the library with a different Make tool prints a
+ message like:
Sorry, GNU make is required to build FreeType2.
- and the build process will be aborted. If this happens, install GNU
- Make on your system, and use the GNUMAKE environment variable to
- name it.
+ and the build process is aborted. If this happens, install GNU Make
+ on your system, and use the GNUMAKE environment variable to name it.
4. Build and install the library
@@ -67,24 +66,24 @@ SPECIAL NOTE FOR UNIX USERS
make
make install (as root)
- where "<yourprefix>" must be replaced by the prefix returned by the
- "freetype-config" command.
+ where `<yourprefix>' must be replaced by the prefix returned by the
+ `freetype-config' command.
When using a different command to invoke GNU Make, use the GNUMAKE
variable. For example, if `gmake' is the command to use on your
system, do something like:
- GNUMAKE=gmake ./configure --prefix=<yourprefix>
- gmake
- gmake install (as root)
+ GNUMAKE=gmake ./configure --prefix=<yourprefix>
+ gmake
+ gmake install (as root)
5. Take care of XFree86 version 4
---------------------------------
- Certain recent Linux distributions will install _several_ versions
- of FreeType on your system. For example, on a fresh Mandrake 8.1
- system, you can find the following files:
+ Certain Linux distributions install _several_ versions of FreeType
+ on your system. For example, on a fresh Mandrake 8.1 system, you
+ can find the following files:
/usr/lib/libfreetype.so which links to
/usr/lib/libfreetype.6.1.0.so
@@ -97,16 +96,16 @@ SPECIAL NOTE FOR UNIX USERS
Note that these files correspond to two distinct versions of the
library! It seems that this surprising issue is due to the install
scripts of recent XFree86 servers (from 4.1.0) which install their
- own (dated) version of the library in "/usr/X11R6/lib".
+ own (dated) version of the library in `/usr/X11R6/lib'.
In certain _rare_ cases you may experience minor problems if you
- install this release of the library in "/usr" only, namely, that
- certain applications will not benefit from the bug fixes and
- rendering improvements you would expect.
+ install this release of the library in `/usr' only, namely, that
+ certain applications do not benefit from the bug fixes and rendering
+ improvements you would expect.
There are two good ways to deal with this situation:
- - Install the library _twice_, in "/usr" and in "/usr/X11R6" (you
+ - Install the library _twice_, in `/usr' and in `/usr/X11R6' (you
have to do that each time you install a new FreeType release
though).
@@ -125,13 +124,13 @@ SPECIAL NOTE FOR UNIX USERS
------------------------------------------------------------------------
-Copyright 2003 by
+Copyright 2003, 2005 by
David Turner, Robert Wilhelm, and Werner Lemberg.
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
accept it fully.
diff --git a/docs/VERSION.DLL b/docs/VERSION.DLL
index f7cf88c..b880ffc 100644
--- a/docs/VERSION.DLL
+++ b/docs/VERSION.DLL
@@ -1,4 +1,4 @@
-Due to our use of "libtool" to generate and install the FreeType 2
+Due to our use of `libtool' to generate and install the FreeType 2
libraries on Unix systems, as well as other historical events, it is
generally very difficult to know precisely which release of the font
engine is installed on a given system.
@@ -7,19 +7,19 @@ This file tries to explain why and to document ways to properly detect
FreeType on Unix.
-1. Version & Release numbers
-----------------------------
+1. Version and Release numbers
+------------------------------
For each new public release of FreeType 2, there are generally *three*
-distinct "version" numbers to consider:
+distinct `version' numbers to consider:
* The official FT2 release number, like 2.0.9, or 2.1.3.
- * The libtool (and Unix) specific version number, like "9.2.3". This
- is what "freetype-config --version" will return.
+ * The libtool (and Unix) specific version number, like 9.2.3. This is
+ what `freetype-config --version' returns.
* The platform-specific shared object number, used for example when
- the library is installed as "/usr/lib/libfreetype.so.6.3.2".
+ the library is installed as `/usr/lib/libfreetype.so.6.3.2'.
The platform-specific number is, unsurprisingly, platform-specific and
varies with the operating system you are using (several variants of
@@ -32,14 +32,14 @@ tied to it.
The release number is available at *compile* time through the following
macros defined in FT_FREETYPE_H:
- - FREETYPE_MAJOR : major release number
- - FREETYPE_MINOR : minor release number
- - FREETYPE_PATCH : patch release number
+ - FREETYPE_MAJOR: major release number
+ - FREETYPE_MINOR: minor release number
+ - FREETYPE_PATCH: patch release number
See below for a small autoconf fragment.
The release number is also available at *runtime* through the
-"FT_Library_Version" API. Unfortunately, this one wasn't available or
+`FT_Library_Version' API. Unfortunately, this one wasn't available or
working correctly before the 2.1.3 official release.
@@ -50,6 +50,7 @@ The following table gives, for each official release, the corresponding
libtool number, as well as the shared object number found on _most_
systems, but not all of them:
+
release libtool so
-------------------------------
2.2.0 9.9.3 6.3.9
@@ -74,10 +75,10 @@ The libtool numbers are a bit inconsistent due to the library's history:
- 2.1.0 was created as a development branch from 2.0.8 (hence the same
libtool numbers).
- - 2.0.9 was a bug-fix release of the "stable" branch, and we
+ - 2.0.9 was a bug-fix release of the `stable' branch, and we
incorrectly increased its libtool number.
- - 2.1.4 is still in the "development" branch, however it is stable
+ - 2.1.4 is still in the `development' branch, however it is stable
enough to be the basis of an upcoming 2.2.0 release.
@@ -86,7 +87,7 @@ The libtool numbers are a bit inconsistent due to the library's history:
Lars Clausen contributed the following autoconf fragment to detect which
version of FreeType is installed on a system. This one tests for a
-version that is at least 2.0.9; you should change it to check against
+version that is at least 2.0.9; you should change it to check against
other release numbers.
@@ -113,10 +114,10 @@ other release numbers.
Copyright 2002, 2003, 2004, 2005 by
David Turner, Robert Wilhelm, and Werner Lemberg.
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
accept it fully.
diff --git a/docs/formats.txt b/docs/formats.txt
index 332af0a..2f7c3d9 100644
--- a/docs/formats.txt
+++ b/docs/formats.txt
@@ -1,46 +1,46 @@
-This file contains a list of various font formats. It gives the
+This file contains a list of various font formats. It gives the
reference document and whether it is supported in FreeType 2.
file type:
- The only special case is `MAC'; on older Mac OS versions, a `file'
- is stored as a data and a resource fork, this is, within two
- separate data chunks. In all other cases, the font data is stored
+ The only special case is `MAC'; on older Mac OS versions, a `file'
+ is stored as a data and a resource fork, this is, within two
+ separate data chunks. In all other cases, the font data is stored
in a single file.
wrapper format:
- The format used to represent the font data. In the table below it
- is used only if the font format differs. Possible values are
- `SFNT' (binary), `PS' (a text header, followed by binary or text
- data), and `LZW' (compressed with either `gzip' or `compress').
+ The format used to represent the font data. In the table below it
+ is used only if the font format differs. Possible values are `SFNT'
+ (binary), `PS' (a text header, followed by binary or text data), and
+ `LZW' (compressed with either `gzip' or `compress').
font format:
- How the font is to be accessed, possibly after converting the file
- type and wrapper format into a generic form. Bitmap formats are
- `BDF', `PCF', and one form of `WINFNT'; all others are vector
+ How the font is to be accessed, possibly after converting the file
+ type and wrapper format into a generic form. Bitmap formats are
+ `BDF', `PCF', and one form of `WINFNT'; all others are vector
formats.
font type:
- Sub-formats of the font format. `SBIT' and `MACSBIT' are bitmap
+ Sub-formats of the font format. `SBIT' and `MACSBIT' are bitmap
formats, `MM' and `VAR' support optical axes.
glyph access:
- If not specified, the glyph access is `standard' to the font
- format. Values are `CID' for CID-keyed fonts, `SYNTHETIC' for
- fonts which are modified versions of other fonts by means of a
- transformation matrix, `COLLECTION' for collecting multiple fonts
- (sharing most of the data) into a single file, and `TYPE_0' for PS
- fonts which are to be accessed in a tree-like structure.
+ If not specified, the glyph access is `standard' to the font format.
+ Values are `CID' for CID-keyed fonts, `SYNTHETIC' for fonts which
+ are modified versions of other fonts by means of a transformation
+ matrix, `COLLECTION' for collecting multiple fonts (sharing most of
+ the data) into a single file, and `TYPE_0' for PS fonts which are to
+ be accessed in a tree-like structure.
FreeType driver:
- The module in the FreeType library which handles the specific font
- format. A missing entry means that FreeType doesn't support the
+ The module in the FreeType library which handles the specific font
+ format. A missing entry means that FreeType doesn't support the
font format (yet).
-Please send additions and/or corrections to wl@gnu.org or to the
-FreeType developer's list at freetype-devel@nongnu.org (for subscribers
-only). If you can provide a font example for a format which isn't
+Please send additions and/or corrections to wl@gnu.org or to the
+FreeType developer's list at freetype-devel@nongnu.org (for subscribers
+only). If you can provide a font example for a format which isn't
supported yet please send a mail too.
@@ -122,16 +122,17 @@ MAC --- PS TYPE_1 --- type1 T1_SPEC.pdf
--- --- WINFNT VECTOR --- --- MS Windows 3 Developer's Notes
-[1] Support should be rather simple since this is identical to `CFF'
- but in a PS wrapper.
+[1] Support should be rather simple since this is identical to `CFF' but
+ in a PS wrapper.
[2] Official PFR specification:
http://www.bitstream.com/categories/developer/truedoc/pfrspec.html
http://www.bitstream.com/categories/developer/truedoc/pfrspec1.2.pdf
- The syntax of the auxiliary data is not defined there, but is partially
- defined in MHP 1.0.3 (also called ETSI TS 101812 V1.3.1) section 7.4.
+ The syntax of the auxiliary data is not defined there, but is
+ partially defined in MHP 1.0.3 (also called ETSI TS 101812 V1.3.1)
+ section 7.4.
http://www.etsi.org/
http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=18799
@@ -143,10 +144,10 @@ MAC --- PS TYPE_1 --- type1 T1_SPEC.pdf
Copyright 2004, 2005 by
David Turner, Robert Wilhelm, and Werner Lemberg.
-This file is part of the FreeType project, and may only be used,
-modified, and distributed under the terms of the FreeType project
-license, LICENSE.TXT. By continuing to use, modify, or distribute this
-file you indicate that you have read the license and understand and
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute this
+file you indicate that you have read the license and understand and
accept it fully.
diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h
index 345d4fb..7976b4f 100644
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -57,6 +57,26 @@ FT_BEGIN_HEADER
/*************************************************************************/
+ /* */
+ /* <Section> */
+ /* user_allocation */
+ /* */
+ /* <Title> */
+ /* User allocation */
+ /* */
+ /* <Abstract> */
+ /* How client applications should allocate FreeType data structures. */
+ /* */
+ /* <Description> */
+ /* FreeType assumes that structures allocated by the user and passed */
+ /* as arguments are zeroed out except for the actual data. With */
+ /* other words, it is recommended to use `calloc' (or variants of it) */
+ /* instead of `malloc' for allocation. */
+ /* */
+ /*************************************************************************/
+
+
+ /*************************************************************************/
/*************************************************************************/
/* */
/* B A S I C T Y P E S */
diff --git a/include/freetype/ftchapters.h b/include/freetype/ftchapters.h
index 0d2f87b..9fd25a3 100644
--- a/include/freetype/ftchapters.h
+++ b/include/freetype/ftchapters.h
@@ -9,6 +9,20 @@
/***************************************************************************/
/* */
/* <Chapter> */
+/* general_remarks */
+/* */
+/* <Title> */
+/* General Remarks */
+/* */
+/* <Sections> */
+/* user_allocation */
+/* */
+/***************************************************************************/
+
+
+/***************************************************************************/
+/* */
+/* <Chapter> */
/* core_api */
/* */
/* <Title> */
@@ -24,6 +38,7 @@
/* */
/***************************************************************************/
+
/***************************************************************************/
/* */
/* <Chapter> */
diff --git a/src/tools/docmaker/tohtml.py b/src/tools/docmaker/tohtml.py
index 2a3cf23..2b9c547 100644
--- a/src/tools/docmaker/tohtml.py
+++ b/src/tools/docmaker/tohtml.py
@@ -410,37 +410,39 @@ class HtmlFormatter(Formatter):
print section.title
print section_title_footer
- # print section synopsys
- print section_synopsis_header
- print "<table align=center cellspacing=5 cellpadding=0 border=0>"
-
maxwidth = 0
for b in section.blocks.values():
- if len(b.name) > maxwidth:
- maxwidth = len(b.name)
+ if len( b.name ) > maxwidth:
+ maxwidth = len( b.name )
width = 70 # XXX magic number
- columns = width / maxwidth
- if columns < 1:
- columns = 1
-
- count = len(section.block_names)
- rows = (count + columns-1)/columns
- for r in range(rows):
- line = "<tr>"
- for c in range(columns):
- i = r + c*rows
- line = line + '<td></td><td>'
- if i < count:
- name = section.block_names[i]
- line = line + '<a href="#' + name + '">' + name + '</a>'
-
- line = line + '</td>'
- line = line + "</tr>"
- print line
-
- print "</table><br><br>"
- print section_synopsis_footer
+ if maxwidth <> 0:
+ # print section synopsis
+ print section_synopsis_header
+ print "<table align=center cellspacing=5 cellpadding=0 border=0>"
+
+ columns = width / maxwidth
+ if columns < 1:
+ columns = 1
+
+ count = len( section.block_names )
+ rows = ( count + columns - 1 ) / columns
+
+ for r in range( rows ):
+ line = "<tr>"
+ for c in range( columns ):
+ i = r + c * rows
+ line = line + '<td></td><td>'
+ if i < count:
+ name = section.block_names[i]
+ line = line + '<a href="#' + name + '">' + name + '</a>'
+
+ line = line + '</td>'
+ line = line + "</tr>"
+ print line
+
+ print "</table><br><br>"
+ print section_synopsis_footer
print description_header
print self.make_html_items( section.description )