summaryrefslogtreecommitdiff
path: root/Docs/07-loosening
diff options
context:
space:
mode:
authorJohn Tytgat <joty@netsurf-browser.org>2008-08-18 20:02:59 +0000
committerJohn Tytgat <joty@netsurf-browser.org>2008-08-18 20:02:59 +0000
commitfebfb54585fb9d7a0ef804fc22a93c3579704829 (patch)
tree2e5e4f0e5c8a20b1089b61a44a158407db9f9f1b /Docs/07-loosening
parent0e78a116f66773b56a2b3044af6f575092786258 (diff)
downloadnetsurf-febfb54585fb9d7a0ef804fc22a93c3579704829.tar.gz
netsurf-febfb54585fb9d7a0ef804fc22a93c3579704829.tar.bz2
Pencils-down last merge from Adam Blokus's PDF branch for his GSoC project.
Merged revisions 5118-5155 via svnmerge from svn://svn.netsurf-browser.org/branches/adamblokus/netsurf ........ r5130 | adamblokus | 2008-08-15 20:43:43 +0200 (Fri, 15 Aug 2008) | 2 lines Added docs for loosening and adding paged output. ........ svn path=/trunk/netsurf/; revision=5156
Diffstat (limited to 'Docs/07-loosening')
-rw-r--r--Docs/07-loosening31
1 files changed, 31 insertions, 0 deletions
diff --git a/Docs/07-loosening b/Docs/07-loosening
new file mode 100644
index 000000000..b9c3dd55e
--- /dev/null
+++ b/Docs/07-loosening
@@ -0,0 +1,31 @@
+Loosening content for printing
+==============================
+
+The role of functions placed in loosen.c is rearranging the printed content in
+such a way that it will fit in the page width. The methods were chosen
+according to the look of different pages after applying them, not on the base of
+any standards.
+
+
+Loosening passes
+----------------
+
+The page content is loosened in three passes. The next pass is applied only
+if the previous didn't give a satisfying result. The later a pass is applied
+the bigger interference in the page arrengement it means.
+
+In the first pass the changes are applied to those elements which don't have
+a chance to get entirely into the visibile scope of width - words which are
+too long for the available page width, objects positioned beyond the page
+borders and objects to big to fit a page.
+
+The second pass handles too big tables. The tables can be divided into two kinds
+- those responsible for page layout and those used only for holding data. For
+both of them some routines are used. Text in the cells is shrunken and broken,
+if this doesn't help the table cells are changed into inline containers as the
+table is problably a layout one.
+
+The third pass removes all margins and paddings. This saves a lot of space but
+makes also the page much less readable, for this reason it is the last step of
+loosening.
+