From 7b52cc13af4e85f1ca2deb6b6c77de9c95ea0dcf Mon Sep 17 00:00:00 2001
From: scuri <scuri>
Date: Fri, 17 Oct 2008 06:10:33 +0000
Subject: First commit - moving from LuaForge to SourceForge

---
 html/download/.cvsignore            |    4 +
 html/download/cdtest.zip            |  Bin 0 -> 40518 bytes
 html/download/cdxx.c                |   49 ++
 html/download/cdxx.h                |   16 +
 html/download/samples_cdlua5.tar.gz |  Bin 0 -> 2324 bytes
 html/download/samples_cdlua5.zip    |  Bin 0 -> 3799 bytes
 html/download/simple.c              |  717 ++++++++++++++++++++++++
 html/download/simple.zip            |  Bin 0 -> 12690 bytes
 html/en/canvas.html                 |   47 ++
 html/en/cdlua.html                  |  117 ++++
 html/en/cdluaim.html                |   54 ++
 html/en/copyright.html              |   45 ++
 html/en/cvs.html                    |   22 +
 html/en/download.html               |   30 +
 html/en/download_tips.html          |  363 ++++++++++++
 html/en/drv.html                    |   25 +
 html/en/drv/cgm.html                |  184 ++++++
 html/en/drv/clipbd.html             |   68 +++
 html/en/drv/dbuf.html               |   71 +++
 html/en/drv/dbufrgb.html            |   60 ++
 html/en/drv/debug.html              |   64 +++
 html/en/drv/dgn.html                |  161 ++++++
 html/en/drv/dxf.html                |  180 ++++++
 html/en/drv/emf.html                |   84 +++
 html/en/drv/gdiplus.html            |  200 +++++++
 html/en/drv/image.html              |   57 ++
 html/en/drv/irgb.html               |  117 ++++
 html/en/drv/iup.html                |   65 +++
 html/en/drv/mf.html                 |   80 +++
 html/en/drv/native.html             |   91 +++
 html/en/drv/pdf.html                |  227 ++++++++
 html/en/drv/picture.html            |   81 +++
 html/en/drv/printer.html            |   83 +++
 html/en/drv/ps.html                 |  208 +++++++
 html/en/drv/sim.html                |   90 +++
 html/en/drv/win32.html              |  137 +++++
 html/en/drv/wmf.html                |  116 ++++
 html/en/drv/xrender.html            |  152 +++++
 html/en/drv/xwin.html               |  129 +++++
 html/en/freetype.txt                |  169 ++++++
 html/en/func/attributes.html        |   49 ++
 html/en/func/client.html            |  255 +++++++++
 html/en/func/clipping.html          |   62 +++
 html/en/func/color.html             |  137 +++++
 html/en/func/control.html           |   63 +++
 html/en/func/coordinates.html       |  148 +++++
 html/en/func/filled.html            |  272 +++++++++
 html/en/func/init.html              |  225 ++++++++
 html/en/func/lines.html             |  147 +++++
 html/en/func/marks.html             |   85 +++
 html/en/func/other.html             |  119 ++++
 html/en/func/polygon.html           |   87 +++
 html/en/func/region.html            |   83 +++
 html/en/func/server.html            |   84 +++
 html/en/func/text.html              |  192 +++++++
 html/en/func/vectortext.html        |  133 +++++
 html/en/func/wd.html                |   80 +++
 html/en/guide.html                  |  161 ++++++
 html/en/history.html                |  932 +++++++++++++++++++++++++++++++
 html/en/home.html                   |   32 ++
 html/en/internal.html               |  207 +++++++
 html/en/prod.html                   |  146 +++++
 html/en/samples.html                |   99 ++++
 html/en/to_do.html                  |   86 +++
 html/en/toolkits.html               |   69 +++
 html/img/align.gif                  |  Bin 0 -> 4456 bytes
 html/img/arc.gif                    |  Bin 0 -> 1633 bytes
 html/img/bezier.gif                 |  Bin 0 -> 1404 bytes
 html/img/chord.gif                  |  Bin 0 -> 1644 bytes
 html/img/fillmode.gif               |  Bin 0 -> 1997 bytes
 html/img/font_dim.gif               |  Bin 0 -> 2322 bytes
 html/img/font_style.gif             |  Bin 0 -> 892 bytes
 html/img/fonts.gif                  |  Bin 0 -> 1820 bytes
 html/img/hatch.gif                  |  Bin 0 -> 2383 bytes
 html/img/linecap.gif                |  Bin 0 -> 1779 bytes
 html/img/linejoin.gif               |  Bin 0 -> 1530 bytes
 html/img/lines.gif                  |  Bin 0 -> 720 bytes
 html/img/marks.gif                  |  Bin 0 -> 1226 bytes
 html/img/opacity.gif                |  Bin 0 -> 2640 bytes
 html/img/polygon.gif                |  Bin 0 -> 2065 bytes
 html/img/regions.gif                |  Bin 0 -> 4010 bytes
 html/img/sector.gif                 |  Bin 0 -> 1659 bytes
 html/img/vector_text.gif            |  Bin 0 -> 1381 bytes
 html/img/vectorfont_default.png     |  Bin 0 -> 65900 bytes
 html/img/vectorfont_simplex2.png    |  Bin 0 -> 65499 bytes
 html/img/wc-dc.gif                  |  Bin 0 -> 2974 bytes
 html/index.html                     |   28 +
 html/logo.gif                       |  Bin 0 -> 1551 bytes
 html/ssSearch.class                 |  Bin 0 -> 5109 bytes
 html/ssSearch.html                  |   22 +
 html/ssSearchThread.class           |  Bin 0 -> 3108 bytes
 html/style.css                      |  118 ++++
 html/wb/.cvsignore                  |    2 +
 html/wb/make_hh.lua                 |  274 +++++++++
 html/wb/template_index.html         |   28 +
 html/wb/template_ssSearch.html      |   22 +
 html/wb/template_wb_bar.html        |   26 +
 html/wb/template_wb_title.html      |   64 +++
 html/wb/template_wb_tree.html       |  220 ++++++++
 html/wb/wb2hh.bat                   |   29 +
 html/wb/wb_build.bat                |    1 +
 html/wb/wb_build.lua                |  364 ++++++++++++
 html/wb/wb_usr.lua                  | 1043 +++++++++++++++++++++++++++++++++++
 html/wb_bar.html                    |   26 +
 html/wb_img/barlineleft.png         |  Bin 0 -> 169 bytes
 html/wb_img/barlineright.png        |  Bin 0 -> 165 bytes
 html/wb_img/blank.png               |  Bin 0 -> 219 bytes
 html/wb_img/google.gif              |  Bin 0 -> 1468 bytes
 html/wb_img/hideall.png             |  Bin 0 -> 204 bytes
 html/wb_img/hideall_over.png        |  Bin 0 -> 294 bytes
 html/wb_img/lng_en.png              |  Bin 0 -> 280 bytes
 html/wb_img/lng_en_over.png         |  Bin 0 -> 288 bytes
 html/wb_img/lng_es.png              |  Bin 0 -> 293 bytes
 html/wb_img/lng_es_over.png         |  Bin 0 -> 298 bytes
 html/wb_img/lng_pt.png              |  Bin 0 -> 296 bytes
 html/wb_img/lng_pt_over.png         |  Bin 0 -> 300 bytes
 html/wb_img/minusnode.png           |  Bin 0 -> 227 bytes
 html/wb_img/minusnodelast.png       |  Bin 0 -> 223 bytes
 html/wb_img/next.png                |  Bin 0 -> 330 bytes
 html/wb_img/next_over.png           |  Bin 0 -> 334 bytes
 html/wb_img/node.png                |  Bin 0 -> 248 bytes
 html/wb_img/nodelast.png            |  Bin 0 -> 248 bytes
 html/wb_img/plusnode.png            |  Bin 0 -> 231 bytes
 html/wb_img/plusnodelast.png        |  Bin 0 -> 227 bytes
 html/wb_img/previous.png            |  Bin 0 -> 330 bytes
 html/wb_img/previous_over.png       |  Bin 0 -> 336 bytes
 html/wb_img/sepblank.png            |  Bin 0 -> 209 bytes
 html/wb_img/sepnode.png             |  Bin 0 -> 264 bytes
 html/wb_img/sepvertline.png         |  Bin 0 -> 233 bytes
 html/wb_img/showall.png             |  Bin 0 -> 220 bytes
 html/wb_img/showall_over.png        |  Bin 0 -> 328 bytes
 html/wb_img/sync.png                |  Bin 0 -> 288 bytes
 html/wb_img/sync_over.png           |  Bin 0 -> 348 bytes
 html/wb_img/title_background.png    |  Bin 0 -> 2700 bytes
 html/wb_img/vertline.png            |  Bin 0 -> 240 bytes
 html/wb_img/webbook.png             |  Bin 0 -> 608 bytes
 html/wb_img/webbook_over.png        |  Bin 0 -> 612 bytes
 html/wb_search.txt                  |   56 ++
 html/wb_title.html                  |   64 +++
 html/wb_tree.html                   |  543 ++++++++++++++++++
 140 files changed, 11246 insertions(+)
 create mode 100644 html/download/.cvsignore
 create mode 100644 html/download/cdtest.zip
 create mode 100644 html/download/cdxx.c
 create mode 100644 html/download/cdxx.h
 create mode 100644 html/download/samples_cdlua5.tar.gz
 create mode 100644 html/download/samples_cdlua5.zip
 create mode 100644 html/download/simple.c
 create mode 100644 html/download/simple.zip
 create mode 100644 html/en/canvas.html
 create mode 100644 html/en/cdlua.html
 create mode 100644 html/en/cdluaim.html
 create mode 100644 html/en/copyright.html
 create mode 100644 html/en/cvs.html
 create mode 100644 html/en/download.html
 create mode 100644 html/en/download_tips.html
 create mode 100644 html/en/drv.html
 create mode 100644 html/en/drv/cgm.html
 create mode 100644 html/en/drv/clipbd.html
 create mode 100644 html/en/drv/dbuf.html
 create mode 100644 html/en/drv/dbufrgb.html
 create mode 100644 html/en/drv/debug.html
 create mode 100644 html/en/drv/dgn.html
 create mode 100644 html/en/drv/dxf.html
 create mode 100644 html/en/drv/emf.html
 create mode 100644 html/en/drv/gdiplus.html
 create mode 100644 html/en/drv/image.html
 create mode 100644 html/en/drv/irgb.html
 create mode 100644 html/en/drv/iup.html
 create mode 100644 html/en/drv/mf.html
 create mode 100644 html/en/drv/native.html
 create mode 100644 html/en/drv/pdf.html
 create mode 100644 html/en/drv/picture.html
 create mode 100644 html/en/drv/printer.html
 create mode 100644 html/en/drv/ps.html
 create mode 100644 html/en/drv/sim.html
 create mode 100644 html/en/drv/win32.html
 create mode 100644 html/en/drv/wmf.html
 create mode 100644 html/en/drv/xrender.html
 create mode 100644 html/en/drv/xwin.html
 create mode 100644 html/en/freetype.txt
 create mode 100644 html/en/func/attributes.html
 create mode 100644 html/en/func/client.html
 create mode 100644 html/en/func/clipping.html
 create mode 100644 html/en/func/color.html
 create mode 100644 html/en/func/control.html
 create mode 100644 html/en/func/coordinates.html
 create mode 100644 html/en/func/filled.html
 create mode 100644 html/en/func/init.html
 create mode 100644 html/en/func/lines.html
 create mode 100644 html/en/func/marks.html
 create mode 100644 html/en/func/other.html
 create mode 100644 html/en/func/polygon.html
 create mode 100644 html/en/func/region.html
 create mode 100644 html/en/func/server.html
 create mode 100644 html/en/func/text.html
 create mode 100644 html/en/func/vectortext.html
 create mode 100644 html/en/func/wd.html
 create mode 100644 html/en/guide.html
 create mode 100644 html/en/history.html
 create mode 100644 html/en/home.html
 create mode 100644 html/en/internal.html
 create mode 100644 html/en/prod.html
 create mode 100644 html/en/samples.html
 create mode 100644 html/en/to_do.html
 create mode 100644 html/en/toolkits.html
 create mode 100644 html/img/align.gif
 create mode 100644 html/img/arc.gif
 create mode 100644 html/img/bezier.gif
 create mode 100644 html/img/chord.gif
 create mode 100644 html/img/fillmode.gif
 create mode 100644 html/img/font_dim.gif
 create mode 100644 html/img/font_style.gif
 create mode 100644 html/img/fonts.gif
 create mode 100644 html/img/hatch.gif
 create mode 100644 html/img/linecap.gif
 create mode 100644 html/img/linejoin.gif
 create mode 100644 html/img/lines.gif
 create mode 100644 html/img/marks.gif
 create mode 100644 html/img/opacity.gif
 create mode 100644 html/img/polygon.gif
 create mode 100644 html/img/regions.gif
 create mode 100644 html/img/sector.gif
 create mode 100644 html/img/vector_text.gif
 create mode 100644 html/img/vectorfont_default.png
 create mode 100644 html/img/vectorfont_simplex2.png
 create mode 100644 html/img/wc-dc.gif
 create mode 100644 html/index.html
 create mode 100644 html/logo.gif
 create mode 100644 html/ssSearch.class
 create mode 100644 html/ssSearch.html
 create mode 100644 html/ssSearchThread.class
 create mode 100644 html/style.css
 create mode 100644 html/wb/.cvsignore
 create mode 100644 html/wb/make_hh.lua
 create mode 100644 html/wb/template_index.html
 create mode 100644 html/wb/template_ssSearch.html
 create mode 100644 html/wb/template_wb_bar.html
 create mode 100644 html/wb/template_wb_title.html
 create mode 100644 html/wb/template_wb_tree.html
 create mode 100644 html/wb/wb2hh.bat
 create mode 100644 html/wb/wb_build.bat
 create mode 100644 html/wb/wb_build.lua
 create mode 100644 html/wb/wb_usr.lua
 create mode 100644 html/wb_bar.html
 create mode 100644 html/wb_img/barlineleft.png
 create mode 100644 html/wb_img/barlineright.png
 create mode 100644 html/wb_img/blank.png
 create mode 100644 html/wb_img/google.gif
 create mode 100644 html/wb_img/hideall.png
 create mode 100644 html/wb_img/hideall_over.png
 create mode 100644 html/wb_img/lng_en.png
 create mode 100644 html/wb_img/lng_en_over.png
 create mode 100644 html/wb_img/lng_es.png
 create mode 100644 html/wb_img/lng_es_over.png
 create mode 100644 html/wb_img/lng_pt.png
 create mode 100644 html/wb_img/lng_pt_over.png
 create mode 100644 html/wb_img/minusnode.png
 create mode 100644 html/wb_img/minusnodelast.png
 create mode 100644 html/wb_img/next.png
 create mode 100644 html/wb_img/next_over.png
 create mode 100644 html/wb_img/node.png
 create mode 100644 html/wb_img/nodelast.png
 create mode 100644 html/wb_img/plusnode.png
 create mode 100644 html/wb_img/plusnodelast.png
 create mode 100644 html/wb_img/previous.png
 create mode 100644 html/wb_img/previous_over.png
 create mode 100644 html/wb_img/sepblank.png
 create mode 100644 html/wb_img/sepnode.png
 create mode 100644 html/wb_img/sepvertline.png
 create mode 100644 html/wb_img/showall.png
 create mode 100644 html/wb_img/showall_over.png
 create mode 100644 html/wb_img/sync.png
 create mode 100644 html/wb_img/sync_over.png
 create mode 100644 html/wb_img/title_background.png
 create mode 100644 html/wb_img/vertline.png
 create mode 100644 html/wb_img/webbook.png
 create mode 100644 html/wb_img/webbook_over.png
 create mode 100644 html/wb_search.txt
 create mode 100644 html/wb_title.html
 create mode 100644 html/wb_tree.html

(limited to 'html')

diff --git a/html/download/.cvsignore b/html/download/.cvsignore
new file mode 100644
index 0000000..5be812c
--- /dev/null
+++ b/html/download/.cvsignore
@@ -0,0 +1,4 @@
+*.chm
+*.pdf
+gdiplus.*
+PDFlib-license.pdf
diff --git a/html/download/cdtest.zip b/html/download/cdtest.zip
new file mode 100644
index 0000000..c46f356
Binary files /dev/null and b/html/download/cdtest.zip differ
diff --git a/html/download/cdxx.c b/html/download/cdxx.c
new file mode 100644
index 0000000..ff6a132
--- /dev/null
+++ b/html/download/cdxx.c
@@ -0,0 +1,49 @@
+/*
+ Canvas Draw - CD_XX Driver
+*/
+
+#include "cd.h"
+#include "cdxx.h"
+#include "cd_private.h"
+#include <stdlib.h> 
+#include <stdio.h> 
+#include <memory.h> 
+
+
+struct _cdCtxCanvas 
+{ 
+  cdCanvas* canvas;
+};
+
+
+static void cdkillcanvas(cdCtxCanvas *ctxcanvas)
+{
+  free(ctxcanvas);
+}
+
+static void cdcreatecanvas(cdCanvas *canvas, void *data)
+{
+  cdCtxCanvas* ctxcanvas = (cdCtxCanvas *)malloc(sizeof(cdCtxCanvas));
+
+  ctxcanvas->canvas = canvas;
+  canvas->ctxcanvas = ctxcanvas;
+}
+
+static void cdinittable(cdCanvas* canvas)
+{
+  canvas->KillCanvas = cdkillcanvas;
+}
+
+static cdContext cdXXContext =
+{
+  0,
+  cdcreatecanvas,
+  cdinittable,
+  NULL,
+  NULL,
+};
+
+cdContext* cdContextXX(void)
+{
+  return &cdXXContext;
+}
diff --git a/html/download/cdxx.h b/html/download/cdxx.h
new file mode 100644
index 0000000..e87ac51
--- /dev/null
+++ b/html/download/cdxx.h
@@ -0,0 +1,16 @@
+#ifndef __CD_XX_H
+#define __CD_XX_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+cdContext* cdContextXX(void);
+
+#define CD_XX cdContextXX()
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/html/download/samples_cdlua5.tar.gz b/html/download/samples_cdlua5.tar.gz
new file mode 100644
index 0000000..f52bbe2
Binary files /dev/null and b/html/download/samples_cdlua5.tar.gz differ
diff --git a/html/download/samples_cdlua5.zip b/html/download/samples_cdlua5.zip
new file mode 100644
index 0000000..126474b
Binary files /dev/null and b/html/download/samples_cdlua5.zip differ
diff --git a/html/download/simple.c b/html/download/simple.c
new file mode 100644
index 0000000..ba5faf9
--- /dev/null
+++ b/html/download/simple.c
@@ -0,0 +1,717 @@
+/*
+
+  Simple Draw Application
+
+  Shows the same picture on several canvas. Used to quick test the CD library and
+  to demonstrate the use of CD library functions.
+
+  This module uses only the CD library, there is another module to initialize the Window and its menus.
+
+*/
+
+
+#include "cd.h"
+#include "cdnative.h"
+#include "cdcgm.h"
+#include "cddgn.h"
+#include "cddxf.h"
+#include "cdclipbd.h"
+#include "cdemf.h"
+#include "cdimage.h"
+#include "cdirgb.h"
+#include "cdmf.h"
+#include "cdprint.h"
+#include "cdps.h"
+#include "cdwmf.h"
+
+#include "simple.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <memory.h>
+#include <string.h>
+
+/* A small pattern and stipple size */
+#define SIZE 20
+
+/* Global variables */
+
+cdCanvas *myCanvas = NULL;        /* The window drawing canvas */
+cdContext* simple_drv = NULL;     /* The window driver */
+char* simple_data = NULL;         /* The window driver data */
+
+int clipping;                     /* Clipping flag, same as the CD */
+int write_mode;                   /* Write Mode flag, same as the CD */
+
+long pattern[SIZE*SIZE];          /* Pattern buffer */
+unsigned char stipple[SIZE*SIZE]; /* Stipple buffer */
+unsigned char red[100*100];       /* Red image buffer */
+unsigned char green[100*100];     /* Green image buffer */
+unsigned char blue[100*100];      /* Blue image buffer */
+unsigned char alpha[100*100];     /* Alpha image buffer */
+
+
+/* Prototype of the function that makes the drawing independent of canvas. */
+void SimpleDraw(void);
+
+
+void SimpleCreateCanvas(cdContext* drv, char* data)
+{
+  int c, l;
+
+  simple_drv = drv;
+  simple_data = data;
+
+  /* creates the canvas based in an existing window */
+  myCanvas = cdCreateCanvas(drv, data);
+  clipping = CD_CLIPOFF;
+  write_mode = CD_REPLACE;
+
+  /* initialize the pattern buffer with a grey degrade */
+  for (l = 0; l < SIZE; l++)
+    for (c = 0; c < SIZE; c++)
+    {
+      unsigned char gray = (unsigned char)((l * 255) / (SIZE - 1));
+      pattern[l*20 + c] = cdEncodeColor(gray, gray, gray);
+    }
+
+  /* initialize the stipple buffer with cross pattern */
+  for (l = 0; l < SIZE; l++)
+    for (c = 0; c < SIZE; c++)
+      stipple[l*SIZE + c] = (c % 4) == 0? 1: 0;
+
+  /* initialize the alpha image buffer with a degrade from transparent to opaque */
+  for (l = 0; l < 100; l++)
+    for (c = 0; c < 100; c++)
+      alpha[l*100 + c] = (unsigned char)c;
+}
+
+int SimplePlayClipboard(void)
+{
+  /* interprets the contents of the clipboard */
+  int w, h;
+  cdActivate(myCanvas);
+  cdBackground(CD_WHITE);
+  cdClear();
+  cdGetCanvasSize(&w, &h, 0, 0);
+  cdPlay(CD_CLIPBOARD, 100, w-100, 100, h-100, NULL);
+  return 0;
+}
+
+int SimplePlayCGMBin(void)
+{
+  /* interprets the contents of the CGM file */
+  int w, h;
+  cdActivate(myCanvas);
+  cdBackground(CD_WHITE);
+  cdClear();
+  cdGetCanvasSize(&w, &h, 0, 0);
+  cdPlay(CD_CGM, 100, w-100, 100, h-100, "simple_b.cgm");
+  return 0;
+}
+
+
+int SimplePlayCGMText(void)
+{
+  /* interprets the contents of the CGM file */
+  int w, h;
+  cdActivate(myCanvas);
+  cdBackground(CD_WHITE);
+  cdClear();
+  cdGetCanvasSize(&w, &h, 0, 0);
+  cdPlay(CD_CGM, 100, w-100, 100, h-100, "simple_t.cgm");
+  return 0;
+}
+
+
+int SimplePlayMetafile(void)
+{
+  int w, h;
+  /* interprets the contents of the CD Metafile */
+  cdActivate(myCanvas);
+  cdBackground(CD_WHITE);
+  cdClear();
+  cdGetCanvasSize(&w, &h, 0, 0);
+  cdPlay(CD_METAFILE, 100, w-100, 100, h-100, "simple.cdmf");
+  return 0;
+}
+
+int SimplePlayWMF(void)
+{
+  int w, h;
+  /* interprets the contents of the WMF file */
+  cdActivate(myCanvas);
+  cdBackground(CD_WHITE);
+  cdClear();
+  cdGetCanvasSize(&w, &h, 0, 0);
+  cdPlay(CD_WMF, 100, w-100, 100, h-100, "simple.wmf");
+  return 0;
+}
+
+int SimplePlayEMF(void)
+{
+  int w, h;
+  /* interprets the contents of the EMF file */
+  cdActivate(myCanvas);
+  cdBackground(CD_WHITE);
+  cdClear();
+  cdGetCanvasSize(&w, &h, 0, 0);
+  cdPlay(CD_EMF, 100, w-100, 100, h-100, "simple.emf");
+  return 0;
+}
+
+int SimpleDrawWindow(void)
+{
+  /* draws in the window */
+  cdActivate(myCanvas);
+  SimpleDraw();
+  return 0;
+}
+
+int SimpleDrawCGMText(void)
+{
+  char StrData[100];
+  int w, h;
+  cdCanvas* tmpCanvas;
+  cdActivate(myCanvas);
+  cdGetCanvasSize(&w, &h, 0, 0);
+  sprintf(StrData, "simple_t.cgm %gx%g 1 -t", (double)w, (double)h);
+
+  /* draws in the CGM file */
+  tmpCanvas = cdCreateCanvas(CD_CGM, StrData);
+  if (tmpCanvas == NULL) return 0;
+  cdActivate(tmpCanvas);
+  SimpleDraw();
+  cdKillCanvas(tmpCanvas);
+  return 0;
+}
+
+int SimpleDrawCGMBin(void)
+{
+  char StrData[100];
+  int w, h;
+  cdCanvas* tmpCanvas;
+  cdActivate(myCanvas);
+  cdGetCanvasSize(&w, &h, 0, 0);
+  sprintf(StrData, "simple_b.cgm %gx%g", (double)w, (double)h);
+
+  /* draws in the CGM file */
+  tmpCanvas = cdCreateCanvas(CD_CGM, StrData);
+  if (tmpCanvas == NULL) return 0;
+  cdActivate(tmpCanvas);
+  SimpleDraw();
+  cdKillCanvas(tmpCanvas);
+  return 0;
+}
+
+int SimpleDrawDXF(void)
+{
+  char StrData[100];
+  int w, h;
+  cdCanvas* tmpCanvas;
+  cdActivate(myCanvas);
+  cdGetCanvasSize(&w, &h, 0, 0);
+  sprintf(StrData, "simple.dxf %gx%g", (double)w, (double)h);
+
+  /* draws in the DXF file */
+  tmpCanvas = cdCreateCanvas(CD_DXF, StrData);
+  if (tmpCanvas == NULL) return 0;
+  cdActivate(tmpCanvas);
+  SimpleDraw();
+  cdKillCanvas(tmpCanvas);
+  return 0;
+}
+
+int SimpleDrawDGN(void)
+{
+  char StrData[100];
+  int w, h;
+  cdCanvas* tmpCanvas;
+  cdActivate(myCanvas);
+  cdGetCanvasSize(&w, &h, 0, 0);
+  sprintf(StrData, "simple.dgn %gx%g", (double)w, (double)h);
+
+  /* draws in the DGN file */
+  tmpCanvas = cdCreateCanvas(CD_DGN, StrData);
+  if (tmpCanvas == NULL) return 0;
+  cdActivate(tmpCanvas);
+  SimpleDraw();
+  cdKillCanvas(tmpCanvas);
+  return 0;
+}
+
+int SimpleDrawEMF(void)
+{
+  char StrData[100];
+  int w, h;
+  cdCanvas* tmpCanvas;
+  cdActivate(myCanvas);
+  cdGetCanvasSize(&w, &h, 0, 0);
+  sprintf(StrData, "simple.emf %dx%d", w, h);
+
+  /* draws in the EMF file */
+  tmpCanvas = cdCreateCanvas(CD_EMF, StrData);
+  if (tmpCanvas == NULL) return 0;
+  cdActivate(tmpCanvas);
+  SimpleDraw();
+  cdKillCanvas(tmpCanvas);
+  return 0;
+}
+
+int SimpleDrawMetafile(void)
+{
+  char StrData[100];
+  int w, h;
+  cdCanvas* tmpCanvas;
+  cdActivate(myCanvas);
+  cdGetCanvasSize(&w, &h, 0, 0);
+  sprintf(StrData, "simple.cdmf %gx%g", (double)w, (double)h);
+
+  /* draws in the CD Metafile */
+  tmpCanvas = cdCreateCanvas(CD_METAFILE, StrData);
+  if (tmpCanvas == NULL) return 0;
+  cdActivate(tmpCanvas);
+  SimpleDraw();
+  cdKillCanvas(tmpCanvas);
+  return 0;
+}
+
+int SimpleDrawPS(void)
+{
+  /* draws in the PS file */
+  cdCanvas* tmpCanvas = cdCreateCanvas(CD_PS, "simple.ps");
+  if (tmpCanvas == NULL) return 0;
+  cdActivate(tmpCanvas);
+  SimpleDraw();
+  cdKillCanvas(tmpCanvas);
+  return 0;
+}
+
+int SimpleDrawEPS(void)
+{
+  /* draws in the EPS file */
+  cdCanvas* tmpCanvas = cdCreateCanvas(CD_PS, "simple.eps -e");
+  if (tmpCanvas == NULL) return 0;
+  cdActivate(tmpCanvas);
+  SimpleDraw();
+  cdKillCanvas(tmpCanvas);
+  return 0;
+}
+
+int SimpleDrawWMF(void)
+{
+  char StrData[100];
+  int w, h;
+  cdCanvas* tmpCanvas;
+  cdActivate(myCanvas);
+  cdGetCanvasSize(&w, &h, 0, 0);
+  sprintf(StrData, "simple.wmf %dx%d", w, h);
+
+  /* draws in the WMF file */
+  tmpCanvas = cdCreateCanvas(CD_WMF, StrData);
+  if (tmpCanvas == NULL) return 0;
+  cdActivate(tmpCanvas);
+  SimpleDraw();
+  cdKillCanvas(tmpCanvas);
+  return 0;
+}
+
+int SimpleDrawPrint(void)
+{
+  /* draws in the Printer canvas */
+  cdCanvas* tmpCanvas = cdCreateCanvas(CD_PRINTER, "simple");
+  if (tmpCanvas == NULL) return 0;
+  cdActivate(tmpCanvas);
+  SimpleDraw();
+  cdKillCanvas(tmpCanvas);
+  return 0;
+}
+
+int SimpleDrawPrintDialog(void)
+{
+  /* draws in the Printer canvas, but first shows the printer dialog */
+  cdCanvas* tmpCanvas = cdCreateCanvas(CD_PRINTER, "simple -d");
+  if (tmpCanvas == NULL) return 0;
+  cdActivate(tmpCanvas);
+  SimpleDraw();
+  cdKillCanvas(tmpCanvas);
+  return 0;
+}
+
+int SimpleDrawClipboardBitmap(void)
+{
+  char StrData[100];
+  int w, h;
+  cdCanvas* tmpCanvas;
+  cdActivate(myCanvas);
+  cdGetCanvasSize(&w, &h, 0, 0);
+  sprintf(StrData, "%dx%d -b", w, h);
+
+  /* draws in the CLipboard canvas as a bitmap */
+  tmpCanvas = cdCreateCanvas(CD_CLIPBOARD, StrData);
+  if (tmpCanvas == NULL) return 0;
+  cdActivate(tmpCanvas);
+  SimpleDraw();
+  cdKillCanvas(tmpCanvas);
+  return 0;
+}
+
+int SimpleDrawClipboardMetafile(void)
+{
+  char StrData[100];
+  int w, h;
+  cdCanvas* tmpCanvas;
+  cdActivate(myCanvas);
+  cdGetCanvasSize(&w, &h, 0, 0);
+  sprintf(StrData, "%dx%d -m", w, h);
+
+  /* draws in the CLipboard canvas as a metafile */
+  tmpCanvas = cdCreateCanvas(CD_CLIPBOARD, StrData);
+  if (tmpCanvas == NULL) return 0;
+  cdActivate(tmpCanvas);
+  SimpleDraw();
+  cdKillCanvas(tmpCanvas);
+  return 0;
+}
+
+int SimpleDrawClipboardWMFEMF(void)
+{
+  char StrData[100];
+  int w, h;
+  cdCanvas* tmpCanvas;
+  cdActivate(myCanvas);
+  cdGetCanvasSize(&w, &h, 0, 0);
+  sprintf(StrData, "%dx%d", w, h);
+
+  /* draws in the CLipboard canvas as a metafile */
+  tmpCanvas = cdCreateCanvas(CD_CLIPBOARD, StrData);
+  if (tmpCanvas == NULL) return 0;
+  cdActivate(tmpCanvas);
+  SimpleDraw();
+  cdKillCanvas(tmpCanvas);
+  return 0;
+}
+
+int SimpleReplace(void)
+{
+  write_mode = CD_REPLACE;
+  cdActivate(myCanvas);
+  SimpleDraw();
+  return 0;
+}
+
+int SimpleXor(void)
+{
+  write_mode = CD_XOR;
+  cdActivate(myCanvas);
+  SimpleDraw();
+  return 0;
+}
+
+int SimpleNotXor(void)
+{
+  write_mode = CD_NOT_XOR;
+  cdActivate(myCanvas);
+  SimpleDraw();
+  return 0;
+}
+
+int SimpleClippingOff(void)
+{
+  clipping = CD_CLIPOFF;
+  cdActivate(myCanvas);
+  SimpleDraw();
+  return 0;
+}
+
+int SimpleClippingArea(void)
+{
+  clipping = CD_CLIPAREA;
+  cdActivate(myCanvas);
+  SimpleDraw();
+  return 0;
+}
+
+int SimpleClippingPolygon(void)
+{
+  clipping = CD_CLIPPOLYGON;
+  cdActivate(myCanvas);
+  SimpleDraw();
+  return 0;
+}
+
+int SimpleDrawImage(void)
+{
+  void* myImage;
+  int w, h;
+  cdCanvas* tmpCanvas;
+  cdActivate(myCanvas);
+  cdGetCanvasSize(&w, &h, 0, 0);
+
+  myImage = cdCreateImage(w, h);
+  if (myImage == NULL) return 0;
+
+  /* draws in the Server Image canvas */
+  tmpCanvas = cdCreateCanvas(CD_IMAGE, myImage);
+  if (tmpCanvas == NULL)
+  {
+    cdKillImage(myImage);
+    return 0;
+  }
+
+  cdActivate(tmpCanvas);
+  SimpleDraw();
+  cdKillCanvas(tmpCanvas);
+
+  /* transfer the contents of the image to the window canvas */
+  cdActivate(myCanvas);
+  cdBackground(CD_WHITE);
+  cdClear();
+  cdPutImage(myImage, 0, 0);
+
+  cdKillImage(myImage);
+  return 0;
+}
+
+int SimpleDrawImageRGB(void)
+{
+  char StrData[100];
+  unsigned char *r, *g, *b;
+  int size, w, h;
+  cdCanvas* tmpCanvas;
+  cdActivate(myCanvas);
+  cdGetCanvasSize(&w, &h, 0, 0);
+
+  size = w * h;
+  r = (unsigned char*)malloc(size);
+  if (r == NULL) return 0;
+  
+  g = (unsigned char*)malloc(size);
+  if (g == NULL)
+  {
+    free(g);
+    return 0;
+  }
+
+  b = (unsigned char*)malloc(size);
+  if (b == NULL) 
+  {
+    free(r);
+    free(g);
+    return 0;
+  }
+
+  sprintf(StrData, "%dx%d %p %p %p", w, h, r, g, b);
+
+  /* draws in the Client Image canvas */
+  tmpCanvas = cdCreateCanvas(CD_IMAGERGB, StrData);
+  if (tmpCanvas == NULL)
+  {
+    free(r);
+    free(g);
+    free(b);
+    return 0;
+  }
+
+  cdActivate(tmpCanvas);
+  SimpleDraw();
+  cdKillCanvas(tmpCanvas);
+
+  /* transfer the contents of the image to the window canvas */
+  cdActivate(myCanvas);
+  cdBackground(CD_WHITE);
+  cdClear();
+  cdPutImageRGB(w, h, r, g, b, 0, 0, w, h);
+
+  free(r);
+  free(g);
+  free(b);
+  return 0;
+}
+
+int SimpleDrawSimulate(void)
+{
+  cdActivate(myCanvas);
+  cdBackground(CD_WHITE);
+  cdClear();
+
+  cdSimulate(CD_SIM_ALL);
+
+  SimpleDraw();
+
+  cdSimulate(CD_SIM_NONE);
+  
+  return 0;
+}
+
+void SimpleKillCanvas(void)
+{
+  if (myCanvas != NULL)
+  {
+    cdKillCanvas(myCanvas);
+    myCanvas = NULL;
+  }
+}
+
+
+static void SimpleDraw(void)
+{
+  int w, h;
+
+  cdGetCanvasSize(&w, &h, 0, 0);
+
+  switch(clipping)
+  {
+  case CD_CLIPOFF:
+    cdClip(CD_CLIPOFF);
+    break;
+  case CD_CLIPAREA:
+    /* Defines the clipping area equals the canvas area minus a 100 pixels margin. */
+    cdClipArea(100, w - 100, 100, h - 100);
+    cdClip(CD_CLIPAREA);
+    break;
+  case CD_CLIPPOLYGON:
+    cdBegin(CD_CLIP);
+    cdVertex(100, 100);
+    cdVertex(w - 100, 100);
+    cdVertex(w / 2, h - 100);
+    cdEnd();
+    cdClip(CD_CLIPPOLYGON);
+    break;
+  }
+
+  switch(write_mode)
+  {
+  case CD_REPLACE:
+    cdWriteMode(CD_REPLACE);
+    break;
+  case CD_XOR:
+    cdWriteMode(CD_XOR);
+    break;
+  case CD_NOT_XOR:
+    cdWriteMode(CD_NOT_XOR);
+    break;
+  }
+
+  /* Clear the background to be white */
+  cdInteriorStyle(CD_SOLID);
+  cdBackground(CD_WHITE);
+  cdClear();
+                            
+  cdForeground(CD_RED);
+  cdLineWidth(1);
+  cdLineStyle(CD_DASHED);
+  cdLine(0, 0, w, h);
+
+  cdForeground(CD_BLUE);
+  cdLineWidth(10);
+  cdLineStyle(CD_DOTTED);
+  cdLine(0, h, w, 0);
+
+  cdLineStyle(CD_CONTINUOUS);
+  cdLineWidth(1);
+
+  cdForeground(CD_GREEN);
+  cdArc(100, 100, 100, 100, 0, 180);
+  cdSector(w - 100, 100, 100, 100, 0, 180);
+
+  cdForeground(CD_YELLOW);
+  cdBox(w/2 - 100, w/2 + 100, h/2 - 100, h/2 + 100); 
+
+  /* transparent text */
+  cdForeground(CD_BLUE);
+  cdBackOpacity(CD_TRANSPARENT); 
+  cdTextAlignment(CD_CENTER);
+  cdFont(CD_TIMES_ROMAN, CD_BOLD, 24);
+  cdText(w/2, h/2, "Simple Draw");
+
+  /* draws all the mark type possibilities */
+  cdForeground(CD_RED);
+  cdMarkSize(30);
+  cdMarkType(CD_PLUS);
+  cdMark(200, 200);
+  cdMarkType(CD_CIRCLE);
+  cdMark(w - 200, 200);
+  cdMarkType(CD_HOLLOW_CIRCLE);
+  cdMark(200, h - 200);
+  cdMarkType(CD_DIAMOND);
+  cdMark(w - 200, h - 200);
+
+  /* draws all the line style possibilities */
+  cdLineWidth(1);
+  cdLineStyle(CD_CONTINUOUS);
+  cdLine(0, 10, w, 10);
+  cdLineStyle(CD_DASHED);
+  cdLine(0, 20, w, 20);
+  cdLineStyle(CD_DASH_DOT);
+  cdLine(0, 30, w, 30);
+  cdLineStyle(CD_DASH_DOT_DOT);
+  cdLine(0, 40, w, 40);
+
+  /* draws all the hatch style possibilities */
+  cdInteriorStyle(CD_HATCH);
+  cdHatch(CD_VERTICAL); 
+  cdBox(0, 50, h - 60, h);
+  cdHatch(CD_FDIAGONAL); 
+  cdBox(50, 100, h - 60, h);
+  cdHatch(CD_BDIAGONAL); 
+  cdBox(100, 150, h - 60, h);
+  cdHatch(CD_CROSS); 
+  cdBox(150, 200, h - 60, h);
+  cdHatch(CD_HORIZONTAL); 
+  cdBox(200, 250, h - 60, h);
+  cdHatch(CD_DIAGCROSS); 
+  cdBox(250, 300, h - 60, h);
+
+  /* closed polygon */
+  cdBegin(CD_CLOSED_LINES);
+  cdVertex(w/2, h - 100); 
+  cdVertex(w/2 + 50, h - 150); 
+  cdVertex(w/2, h - 200); 
+  cdVertex(w/2 - 50, h - 150); 
+  cdEnd();
+
+  /* hatch filled polygon */
+  cdInteriorStyle(CD_HATCH);
+  cdHatch(CD_DIAGCROSS); 
+
+  cdBegin(CD_FILL);
+  cdVertex(100, h/2); 
+  cdVertex(150, h/2 + 50); 
+  cdVertex(200, h/2); 
+  cdVertex(150, h/2 - 50); 
+  cdEnd();
+
+  /* pattern filled polygon */
+  cdInteriorStyle(CD_PATTERN);
+  cdPattern(SIZE, SIZE, pattern);
+
+  cdBegin(CD_FILL);
+  cdVertex(w - 100, h/2); 
+  cdVertex(w - 150, h/2 + 50); 
+  cdVertex(w - 200, h/2); 
+  cdVertex(w - 150, h/2 - 50); 
+  cdEnd();
+  
+  /* stipple filled polygon */
+  cdInteriorStyle(CD_STIPPLE);
+  cdStipple(SIZE, SIZE, stipple);
+
+  cdBegin(CD_FILL);
+  cdVertex(w/2, 100); 
+  cdVertex(w/2 + 50, 150); 
+  cdVertex(w/2, 200); 
+  cdVertex(w/2 - 50, 150); 
+  cdEnd();
+
+
+  /* always clear the image buffer contents */
+  memset(red, 0xFF, 100*100);
+  memset(green, 0xFF, 100*100);
+  memset(blue, 0xFF, 100*100);
+
+  cdGetImageRGB(red, green, blue, w - 200, 100, 100, 100);
+  cdPutImageRGB(100, 100, red, green, blue, 100, h - 200, 100, 100);
+  cdPutImageRGBA(100, 100, red, green, blue, alpha, w - 300, h - 300, 200, 200);
+}
+
diff --git a/html/download/simple.zip b/html/download/simple.zip
new file mode 100644
index 0000000..8d06244
Binary files /dev/null and b/html/download/simple.zip differ
diff --git a/html/en/canvas.html b/html/en/canvas.html
new file mode 100644
index 0000000..dc7721b
--- /dev/null
+++ b/html/en/canvas.html
@@ -0,0 +1,47 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<link rel="stylesheet" type="text/css" href="../style.css">
+<title>Canvas</title>
+</head>
+
+<body>
+
+<h1>Canvas</h1>
+
+  <p>The canvas represents the drawing surface. It could be anything: a file, a 
+  client area inside a window in a Window System, a paper used by a printer, 
+  etc. Each canvas has its own attributes. </p>
+  <h3>Initialization</h3>
+  <p>You must call <b>cdCreateCanvas</b> to create a canvas, and <b>cdKillCanvas</b> when you do not need the canvas anymore. 
+  It is not necessary to activate 
+  a canvas using <b>cdCanvasActivate</b>, but some drivers may require that 
+  call. </p>
+  <p>To know if a feature is supported by a driver, use function
+  <strong>cdContextCaps</strong> or see the driver's 
+  documentation.</p>
+  <h3>Control</h3>
+  <p>Some canvases are buffered and need to be flushed; for that, use the <b>cdCanvasFlush</b> function. In some drivers, this function can also be used to 
+  change to another page, as in drivers <b>CD_PRINTER</b>&nbsp; and <b>CD_PS</b>.
+  </p>
+  <p>You can clear the drawing surface with the <b>cdCanvasClear</b> function, 
+  but in some drivers the function may just draw a rectangle using the 
+  background color. </p>
+  <h3>Coordinate System</h3>
+  <p>You may retrieve the original canvas size using the <b>cdCanvasGetSize</b> 
+  function. The canvas' origin is at the bottom left corner of the canvas, but 
+  an origin change can be simulated with function <b>cdCanvasOrigin</b>. Usually 
+  user interface libraries have their origin at the upper right corner, oriented 
+  top down. In this case, the function <strong>cd</strong><b>Canvas</b><strong>UpdateYAxis</strong> 
+  converts the Y coordinate from this orientation to CD's orientation and 
+  vice-versa. </p>
+  <h3>Other</h3>
+  <p>Some canvas contents can be interpreted; the <b>cdCanvasPlay</b> function 
+  interprets the contents of a canvas and calls library functions for the 
+  contents to be displayed in the active canvas. </p>
+
+
+</body>
+
+</html>
diff --git a/html/en/cdlua.html b/html/en/cdlua.html
new file mode 100644
index 0000000..9cfb965
--- /dev/null
+++ b/html/en/cdlua.html
@@ -0,0 +1,117 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<title>Lua Binding</title>
+<link rel="stylesheet" type="text/css" href="../style.css">
+</head>
+
+<body>
+
+<h1>Lua Binding</h1>
+<h3><a name="Overview">Overview</a></h3>
+
+  <p>CDLua was developed to make all functionalities of the CD library available to Lua programmers. To use the CDLua 
+  bindings, your executable must be linked with the CDLua library, and you must call the initialization function <strong>
+  <font face="Courier New">cdlua_open</font></strong> declared in the header file <strong><font face="Courier New">cdlua</font><font size="2" face="Courier New">.</font><font face="Courier New">h</font></strong>, 
+  as seen in the example below:</p>
+  
+    <div align="center">
+      <center>
+      <table border="1" cellpadding="10" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber1">
+        <tr>
+          <th>
+          <p align="center">in Lua5</th>
+        </tr>
+        <tr>
+          <td>
+          <pre>#include &lt;lua.h&gt;
+#include &lt;lualib.h&gt;
+#include &lt;lauxlib.h&gt;
+<b><font color="#FF0000">#include &lt;cdlua.h&gt;</font></b></pre>
+          <pre>void main(void)
+{
+  lua_State *L = lua_open();
+
+  luaopen_string(L);
+  luaopen_math(L);
+  luaopen_io(L);  
+
+<b>  <font color="#FF0000">cdlua_open(L);</font>
+</b>
+  lua_dofile(&quot;myprog.lua&quot;);
+  
+  <b><font color="#FF0000">cdlua_close(L);</font></b>
+  lua_close(L);
+}</pre>
+          </td>
+        </tr>
+      </table>
+      </center>
+    </div>
+  
+  <p>The <font face="Courier New"><strong>cdlua_open</strong>()</font> function registers all CD functions and constants 
+  your Lua program will need. The use of the CDLua functions in Lua is generally identical to their equivalents in C. 
+  Nevertheless, there are several exceptions due to differences between the two languages. Notice that, as opposed to C, 
+  in which the flags are<i> </i>combined with the bitwise operator OR, in Lua the flags are added arithmetically. </p>
+  <p>The CDLua dynamic libraries are also compatible with the Lua 5 &quot;loadlib&quot; function.<span lang="en-us">
+  </span>Here is an example on how to dynamically load CD 
+  in Lua 5<span lang="en-us">.1</span>:</p>
+<pre>local cdlua_open = package.loadlib(&quot;cdlua51.dll&quot;, &quot;cdlua_open&quot;)
+cdlua_open()</pre>
+<p><strong>Lua</strong> 5.1 &quot;require&quot; can be used for all the <strong>
+CDLua</strong> 
+libraries. You can use <b>require</b>&quot;<b>cdlua</b>&quot; and so on, but the LUA_CPATH 
+must also contains the following: </p>
+
+<pre>"./lib?51.so;"    [in UNIX]
+
+".\\?51.dll;"     [in Windows]
+</pre>
+<p>The LuaBinaries distribution already includes these modifications on the 
+default search path.</p>
+<p>The simplest form <b>require</b>&quot;<b>cd</b>&quot; 
+and so on, can not be used because there are CD dynamic libraries with names 
+that will conflict with the names used by <b>require</b> during search.</p>
+
+<h3><a name="New Functions">Function Names and Definitions</a></h3>
+
+  <p>In Lua, because of the name space &quot;cd&quot; all the functions and definitions have their names prefix changed. The 
+  general rule is quite simple:</p>
+  
+    <pre>cdXxx  -&gt; cd.Xxx
+wdXxx  -&gt; cd.wXxx
+CD_XXX -&gt; cd.XXX</pre>
+  
+
+<h3>Modifications to the API</h3>
+
+  <p>New functions (without equivalents in C) were implemented to create and 
+  destroy objects that do not exist in C. For instance functions were developed 
+  to create and destroy images, pattern, stipple and palette.&nbsp;All the 
+  metatables have the &quot;tostring&quot; method implemented to help debuging.</p>
+
+  <p>Some functions were modified to receive those objects as parameters.</p>
+  <p>Also the functions which receive values by reference in C were  modified. Generally, the values of 
+  parameters that would have their values modified are now returned by the function in the same order.</p>
+  
+
+<h3>Garbage Collection</h3>
+
+  <p>All the objects are garbage collected by the Lua garbage collector, except 
+	the canvas because there can be different Lua canvases pointing to the same 
+	C canvas. The tostring method of the Lua canvas will print both values, Lua 
+	and C. The equal method will compare the C canvas value.</p>
+
+<h3>Exchanging Values between C and Lua</h3>
+
+  <p>Because of some applications that interchange the use of CD canvases in Lua and C, we build a 
+  few C functions that are available in &quot;cdlua.h&quot;:</p>
+
+<pre>cdCanvas* cdlua_checkcanvas(lua_State* L, int pos);
+void cdlua_pushcanvas(lua_State* L, cdCanvas* canvas);</pre>
+
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/html/en/cdluaim.html b/html/en/cdluaim.html
new file mode 100644
index 0000000..707539d
--- /dev/null
+++ b/html/en/cdluaim.html
@@ -0,0 +1,54 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+  <head>
+    <title>CDLua+IMLua</title>
+    <meta http-equiv="Content-Language" content="en-us">
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <link rel="stylesheet" type="text/css" href="../style.css">
+  </head>
+  <body>
+    <h2 align="center">CDLua+IMLua</h2>
+
+<p>
+When CD is used togheter with the IM library in Lua, the CD bitmap and the IM 
+image objects in Lua have a few more methods. These methods allow to map the <font face="Courier New">imImage</font> 
+  structure to the <font face="Courier New">cdBitmap</font> structure and add some facilities to draw 
+on an imImage using a CD 
+  canvas. See also the <a target="_blank" href="http://www.tecgraf.puc-rio.br/im">IM documentation</a>.<p>Color values and palettes can be created and used transparently in both libraries. Palettes and color values are 
+  100% compatible between CD and IM.</p>
+
+
+	<p>
+ You must link the application with the "cdluaim51" library.<p>
+See also the <a target="_top" href="http://www.tecgraf.puc-rio.br/im">IM 
+documentation</a>.<pre class="function">int <strong><span style="font-size: 110%"><a name="cdlua_open">cdluaim_open</a></span></strong>(lua_State* L); [in C] [for Lua 5]</pre>
+
+  	<p>
+Must be called to enable the additional methods. Can be called only after CDLua 
+and IMLua were initialized. require&quot;cdluaim&quot; can also be used. <br>
+ Returns 0 (leaves nothing on the top of the stack).<hr>
+	<h3>Available methods</h3>
+	<pre class="function">bitmap:imImageCreate() -&gt; image: imImage [in Lua] 
+</pre>
+<p>Creates an imImage from a cdBitmap.</p>
+<pre class="function">image:cdCreateBitmap() -&gt; bitmap: cdBitmap [in Lua]</pre>
+<p>Creates a cdBitmap from an imImage. The imImage must be a bitmap image, see 
+&quot;image:<strong>IsBitmap</strong>&quot;. </p>
+<pre class="function">image:cdInitBitmap() -&gt; bitmap: cdBitmap [in Lua]</pre>
+<p>Creates a cdBitmap from an imImage, but reuses image data. When the 
+cdBitmap is destroyed, the data is preserved. </p>
+<pre class="function">image:cdCanvasPutImageRect(canvas: cdCanvas, x: number, y: number, w: number, h: number, xmin: number, xmax: number, ymin: number, ymax: number) [in Lua] </pre>
+<p>&nbsp;&nbsp;&nbsp; Draws the imImage into the given cdCanvas. The imImage must be a 
+bitmap image, see \ref imImageIsBitmap. </p>
+<pre class="function">image:wdCanvasPutImageRect(canvas: cdCanvas, x: number, y: number, w: number, h: number, xmin: number, xmax: number, ymin: number, ymax: number) [in Lua]     </pre>
+<p>Draws the imImage into the given cdCanvas using world coordinates. The 
+imImage must be a bitmap image, see \ref imImageIsBitmap. </p>
+<pre class="function">image:cdCanvasGetImage(canvas: cdCanvas, x: number, y: number) [in Lua]     </pre>
+<p>Retrieve the imImage data from the given cdCanvas. The imImage must be a 
+IM_RGB/IM_BYTE image. </p>
+<pre class="function">image:cdCreateCanvas([res: number]) -&gt; canvas: cdCanvas [in Lua]    </pre>
+	<p>&nbsp;Creates a cdCanvas using the <a href="drv/irgb.html">CD_IMAGERGB</a> driver. Resolution is optional, 
+	default is 3.8 pixels per milimiter (96.52 DPI). The imImage must be a 
+	IM_RGB/IM_BYTE image. </p>
+</BODY>
+</HTML>
diff --git a/html/en/copyright.html b/html/en/copyright.html
new file mode 100644
index 0000000..83354bd
--- /dev/null
+++ b/html/en/copyright.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
+<html>
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<title>Tecgraf Library License</title>
+<link rel="stylesheet" type="text/css" href="../style.css">
+</head>
+<body>
+
+<hr>
+<h2>Tecgraf Library License</h2>
+<p>The Tecgraf products under this license are: <a href="http://www.tecgraf.puc-rio.br/iup">IUP</a>,
+<a href="http://www.tecgraf.puc-rio.br/cd">CD</a> and <a href="http://www.tecgraf.puc-rio.br/im">IM</a>.</p>
+
+<p>All the products under this license are free software: they can be used for both academic and commercial purposes at 
+absolutely no cost. There are no paperwork, no royalties, no GNU-like &quot;copyleft&quot; restrictions, 
+either. Just download and use it. They are licensed under the terms of the
+<a HREF="http://www.opensource.org/licenses/mit-license.html">MIT license</a> reproduced below, and so are compatible 
+with <a HREF="http://www.gnu.org/licenses/gpl.html">GPL</a> and also qualifies as
+<a HREF="http://www.opensource.org/docs/definition.html">Open Source</a> software. They are not in the public domain, 
+<a HREF="http://www.puc-rio.br">PUC-Rio</a> keeps their copyright. The legal details are below. </p>
+<p>The spirit of this license is that you are free to use the libraries for any purpose at no cost without having to ask 
+us. The only requirement is that if you do use them, then you should give us credit by including the copyright notice 
+below somewhere in your product or its documentation. A nice, but optional, way to give us further credit is to include 
+a Tecgraf logo and a link to our site in a web page for your product. </p>
+<p>The libraries are designed, implemented and maintained by a team at Tecgraf/PUC-Rio in Brazil. The implementation is not derived 
+from licensed software. The library was developed by request of Petrobras. Petrobras permits Tecgraf to distribute the 
+library under the conditions here presented.</p>
+<hr>
+<p>Copyright © 1994-2008 <a HREF="http://www.tecgraf.puc-rio.br">Tecgraf</a>, <a HREF="http://www.puc-rio.br">PUC-Rio</a>.</p>
+<p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 
+documentation files (the &quot;Software&quot;), to deal in the Software without restriction, including without limitation the 
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit 
+persons to whom the Software is furnished to do so, subject to the following conditions: </p>
+<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the 
+Software. </p>
+<p>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. </p>
+<hr>
+
+</body>
+
+</html>
diff --git a/html/en/cvs.html b/html/en/cvs.html
new file mode 100644
index 0000000..687946c
--- /dev/null
+++ b/html/en/cvs.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
+<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<title>CVS</title>
+<link rel="stylesheet" type="text/css" href="../style.css">
+</head>
+<body>
+
+<h2 align="center" style="text-align:center">CVS</h2>
+<p>The CVS files are in the CD <b>LuaForge</b> site available at:</p>
+<p class="info"><a href="http://luaforge.net/scm/?group_id=88">
+http://luaforge.net/scm/?group_id=88</a>&nbsp;
+</p>
+<p>Current version can be obtained from module &quot;cd&quot;.</p>
+<p>To checkout use:</p>
+
+<pre>CVSROOT=:pserver:anonymous@cvs.luaforge.net:/cvsroot/cdlib</pre>
+
+</body>
+
+</html>
diff --git a/html/en/download.html b/html/en/download.html
new file mode 100644
index 0000000..83a8f85
--- /dev/null
+++ b/html/en/download.html
@@ -0,0 +1,30 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Download</title>
+<meta http-equiv="Content-Language" content="en-us">
+<link rel="stylesheet" type="text/css" href="../style.css">
+</head>
+
+<body>
+
+<h1>Download</h1>
+
+  <p>The main download site is the <b>LuaForge</b> site available at:</p>
+  
+    <p class="info"><a href="http://luaforge.net/project/showfiles.php?group_id=88">
+    http://luaforge.net/project/showfiles.php?group_id=88</a> </p>
+  
+  <p>Before downloading any precompiled binaries, you should read before the
+  <a href="download_tips.html">Tecgraf Library Download Tips</a>.</p>
+  <p>Some other files are available directly at the <b>CD</b> download folder:</p>
+  
+    <p class="info"><a href="http://www.tecgraf.puc-rio.br/cd/download/">
+    http://www.tecgraf.puc-rio.br/cd/download/</a> </p>
+  
+
+
+</body>
+
+</html>
diff --git a/html/en/download_tips.html b/html/en/download_tips.html
new file mode 100644
index 0000000..b999eae
--- /dev/null
+++ b/html/en/download_tips.html
@@ -0,0 +1,363 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<title>Library Download Tips</title>
+<link rel="stylesheet" type="text/css" href="../style.css">
+<base target="_blank">
+<style type="text/css">
+.style1 {
+	font-family: Tahoma;
+}
+</style>
+</head>
+<body>
+
+<h1>Tecgraf/PUC-Rio Library Download Tips</h1>
+<p>All the libraries were build using <b>Tecmake</b>. Please use it if you intend to recompile the sources. 
+<b>Tecmake</b> 
+  can be found at 
+<a target="_blank" href="http://www.tecgraf.puc-rio.br/tecmake">http://www.tecgraf.puc-rio.br/tecmake</a>.</p>
+<p class="info">The <b>IM</b> files can be downloaded at 
+<a href="http://luaforge.net/project/showfiles.php?group_id=86">http://luaforge.net/project/showfiles.php?group_id=86</a>.<br>
+  The <b>CD</b> files can be downloaded at 
+<a href="http://luaforge.net/project/showfiles.php?group_id=88">http://luaforge.net/project/showfiles.php?group_id=88</a>.<br>
+  The <b>IUP</b> files can be downloaded at 
+<a href="http://luaforge.net/project/showfiles.php?group_id=89">http://luaforge.net/project/showfiles.php?group_id=89</a>.<br>
+  The <b>Lua</b> files can be downloaded at 
+<a href="http://luaforge.net/project/showfiles.php?group_id=110">http://luaforge.net/project/showfiles.php?group_id=110</a>.</p>
+<h3><a name="build">Build Configuration</a></h3>
+<p>Libraries and executables were built using speed optimization. In UNIX the dynamic libraries were NOT built with 
+  the -fpic parameter. In MacOS X the dynamic libraries are in bundle format. The source code along with the 
+  &quot;config.mak&quot; files for <b>Tecmake</b> are also available.</p>
+<p>The DLLs were built using the <b>cdecl</b> calling convention. This should be 
+a problem for Visual Basic users.</p>
+<p>In Visual C++ we use the single thread C Run Time Library for static libraries and the multi thread C RTL for DLLs. 
+  Because this is the default in Visual Studio for new projects. In Visual C++ 8 both use the multi thread C RTL.</p>
+<h3><a name="pack">Packaging</a></h3>
+<p>The package files available for download are named according to the platform where they were build.</p>
+<p>In UNIX all strings are based in the result of the command &quot;uname -a&quot;. The package name is a concatenation of the 
+  platform <b>uname</b>, the system <b>major</b> version number and the system 
+<b>minor</b> version number. Some times a 
+  suffix must be added to complement the name. The default compiler is gcc, if the native compiler is used the name 
+  receive the suffix &quot;cc&quot;. Binaries for 64-bits receive the suffix: &quot;_64&quot;. In Linux when gcc is changed for the same 
+  uname in a new platform the major version number of the compiler is added as a suffix: &quot;g3&quot; for gcc 3 and &quot;g4&quot; for gcc 
+  4.</p>
+<p>In Windows the platform name is the <b>compiler</b> and its <b>major</b> version number. 
+</p>
+<p>All library packages contains binaries for the specified platform and includes. Packages with &quot;_bin&quot; suffix 
+  contains executables only.</p>
+<p>The package name is a general reference for the platform. If you have the same platform it will work fine, but it 
+  may also work in similar platforms.</p>
+<p>Here are some examples of packages:</p>
+<p class="info"><b>iup2_4_AIX43_64_bin.tar.gz</b> = IUP 2.4 64-bits Executables for AIX version 4.3<br>
+<b>iup2_4_Linux26g4_lib.tar.gz</b> = IUP 2.4 32-bits Libraries and Includes for Linux with Kernel version 2.6 built with 
+    gcc 4.<br>
+<b>iup2_4_Win32_vc7_lib.tar.gz</b> = IUP 2.4 32-bits Libraries and Includes for Windows to use with Visual C++ 7.<br>
+<b>iup2_4_Docs_html.tar.gz</b> = IUP 2.4 documentation files in HTML format (the web site files can be browsed 
+    locally).<br>
+<b>iup2_4_Win32_bin.tar.gz</b> = IUP 2.4 32-bits Executables for Windows.</p>
+<p>The documentation files are in HTML format. They do not include the CHM and PDF versions. These two files are 
+  provided only as a separate download, but they all have the same documentation.</p>
+<h3><a name="install">Installation</a></h3>
+<p>For any platform we recommend you to create a folder to contain the third party libraries you download. Then just 
+  unpack the packages you download in that folder. The packages already contains a directory structure that separates 
+  each library or toolkit. For example:</p>
+<pre>\mylibs\
+        iup\
+            bin\
+            html\
+            include\
+            lib\Linux26
+            lib\vc7
+            src
+        cd\
+        im\
+        lua5\</pre>
+<p>This structure will also made the process of building from sources more simple, since the projects and makefiles 
+  will assume this structure .</p>
+<h3><a name="usage">Usage</a></h3>
+<p>For makefiles use:</p>
+<pre>1) &quot;-I/mylibs/iup/include&quot; to find include files
+2) &quot;-L/mylibs/iup/lib/Linux26&quot; to find library files
+3) &quot;-liup&quot; to specify the library files</pre>
+<p>For IDEs the configuration involves the same 3 steps above, but each IDE has a different dialog. The IUP toolkit 
+  has a Guide for some IDEs:</p>
+<p class="info"><strong>Open Watcom</strong> - <a href="http://www.tecgraf.puc-rio.br/iup/en/guide/owc.html">http://www.tecgraf.puc-rio.br/iup/en/guide/owc.html</a>
+<br>
+    <strong>Dev-C++</strong> - <a href="http://www.tecgraf.puc-rio.br/iup/en/guide/dev-cpp.html">http://www.tecgraf.puc-rio.br/iup/en/guide/dev-cpp.html</a>
+<br>
+    <strong>Borland C++ BuilderX</strong> - 
+<a href="http://www.tecgraf.puc-rio.br/iup/en/guide/cppbx.html">http://www.tecgraf.puc-rio.br/iup/en/guide/cppbx.html</a><br>
+    <strong>Microsoft Visual C++</strong> (Visual Studio 2003) - 
+<a href="http://www.tecgraf.puc-rio.br/iup/en/guide/msvc.html">http://www.tecgraf.puc-rio.br/iup/en/guide/msvc.html</a><br>
+    <strong>Microsoft Visual C++</strong> (Visual Studio 2005) - 
+<a href="http://www.tecgraf.puc-rio.br/iup/en/guide/msvc8.html">http://www.tecgraf.puc-rio.br/iup/en/guide/msvc8.html</a><br>
+<strong>Eclipse for C++</strong> -
+<a href="http://www.tecgraf.puc-rio.br/iup/en/guide/eclipse.html">
+http://www.tecgraf.puc-rio.br/iup/en/guide/eclipse.html</a>
+</p>
+<h3><a name="plat">Available Platforms</a></h3>
+<table border="0" cellpadding="3" style="border-collapse: collapse" bordercolor="#111111" align="center">
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>AIX43</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;IBM AIX 4.3 (ppc) / gcc 2.95 / Motif 2.1 
+    </td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>AIX43cc</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;IBM AIX 4.3 (ppc) / cc 4.4 / Motif 2.1 </td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>AIX43_64</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;IBM AIX 4.3 (ppc) (64 bits libraries) / cc 4.4 / Motif 2.1</td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>IRIX65</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;SGI IRIX 6.5 (mips) / gcc 3.0 / Motif 2.1 
+    </td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>IRIX6465</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;SGI IRIX 6.5 (mips) / gcc 3.3 / Motif 1.2</td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>IRIX6465cc</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;SGI IRIX 6.5 (mips) / cc MIPSpro 7.4 / Motif 1.2 
+    </td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>IRIX6465_64</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;SGI IRIX 6.5 (mips) (64 bits libraries) / cc MIPSpro 7.4 / Motif 1.2</td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Linux24</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;Red Hat 7.3 (x86) / Kernel 2.4 / gcc 2.95 / Open Motif 2.1 
+    </td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Linux24g3</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;CentOS 3.9 (x86) / Kernel 2.4 / gcc 3.2 / Open Motif 2.2
+	<sup><span class="style1">3</span></sup></td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Linux24g3_64&nbsp; </b></td>
+    <td bgcolor="#DDDDDD">&nbsp;Red Hat E.L. WS 3 (x64)&nbsp; (64 bits libraries) / Kernel 2.4 / gcc 3.2 / Open Motif 
+      2.2 <sup><span class="style1">3</span></sup></td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Linux26</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;CentOS 4.5 (x86) / Kernel 2.6 / gcc 3.4 / Open Motif 2.2
+	<sup><span class="style1">3</span></sup></td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Linux26_64</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;CentOS 4.5 (x64) / Kernel 2.6 / gcc 3.4 / Open Motif 2.2
+	<sup><span class="style1">3</span></sup></td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Linux26g4</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;Ubuntu 6.06 (x86) / Kernel 2.6 / gcc 4.0 / Open Motif 
+	2.2 <sup><span class="style1">3</span></sup></td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><strong>Linux26g4_64</strong></td>
+    <td bgcolor="#DDDDDD">&nbsp;Ubuntu 6.10 (x64) / Kernel 2.6 / gcc 4.1 / 
+    OpenMotif 2.2 <sup><span class="style1">3</span></sup></td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Linux26g4ppc</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;Ubuntu 7.10 (ppc) / Kernel 2.6 / gcc 4.1 / Open Motif 2.2
+	<sup><span class="style1">3</span></sup></td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><strong>Linux26_ia64</strong></td>
+    <td bgcolor="#DDDDDD">&nbsp;Red Hat E.L. AS 4 (ia64) / Kernel 2.6 / gcc 3.4 / 
+    Open Motif 2.2 <sup><span class="style1">3</span></sup></td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>SunOS57</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;Sun Solaris 7 (sparc) / gcc 2.95 / Motif 2.1 
+    </td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>SunOS57cc</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;Sun Solaris 7 (sparc) / cc 5.2 (Sun WorkShop 6 update 1) / Motif 2.1 
+    </td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>SunOS57_64</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;Sun Solaris 7 (sparc) (64 bits libraries) / cc 5.2 (Sun WorkShop 6 update 1) / Motif 2.1
+      </td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>SunOS58</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;Sun Solaris 8 (sparc) / gcc 3.4 / Motif 2.1 
+    </td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>SunOS58cc</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;Sun Solaris 8 (sparc) / Sun WorkShop 6 update 2 C++ 5.3 / Motif 2.1 
+    </td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>SunOS58_64</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;Sun Solaris 8 (sparc) / Sun WorkShop 6 update 2 C++ 5.3 / Motif 2.1 
+    </td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><strong>SunOS510x86</strong></td>
+    <td bgcolor="#C0C0C0">&nbsp;Sun Solaris 10 (x86) / gcc 3.3 / Motif 2.1 
+    </td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>FreeBSD54</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;Free BSD 5.4 (x86) / gcc 3.4 / Open Motif 2.2 
+    <sup><span class="style1">3</span></sup></td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>HP-UXB11</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;HP-UX 11 (9000) / HP ANSI C++ B3910B / Motif 2.1</td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>Darwin811</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;Mac OS X 10.4.11 (ppc) / Darwin Kernel Version 8.11 / gcc 4.0 / 
+    <a href="http://www.ist-inc.com/DOWNLOADS/motif_download.html">Open Motif 2.1</a></td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>Darwin811x86</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;Mac OS X 10.4.11 (x86) / Darwin Kernel Version 8.11 / gcc 4.0 / 
+    <a href="http://www.ist-inc.com/DOWNLOADS/motif_download.html">Open Motif 2.1</a></td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Win32_vc6</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;Microsoft Visual C++ 6 (static RTL/single thread)</td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Win32_vc7</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;Microsoft Visual C++ 7.1 (.NET 2003) (static RTL/single thread)<br>
+      &nbsp;Also compatible with Microsoft Visual C++ Toolkit 2003 -<br>
+      &nbsp;<a href="http://msdn.microsoft.com/visualc/vctoolkit2003/" style="text-decoration: none">http://msdn.microsoft.com/visualc/vctoolkit2003/</a>
+    ¹</td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Win32_vc8</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;Microsoft Visual C++ 8.0 (2005) (static RTL/multithread)<br>
+      &nbsp;Also compatible with Microsoft Visual C++ 2005 Express Edition -<br>
+      &nbsp;<a style="text-decoration: none" href="http://msdn.microsoft.com/vstudio/express/visualc/">http://msdn.microsoft.com/vstudio/express/visualc/</a>
+    ¹</td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Win32_vc9</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;Microsoft Visual C++ 9.0 (2008) (static RTL/multithread)<br>
+      &nbsp;Also compatible with Microsoft Visual C++ 2008 Express Edition -<br>
+      &nbsp;<a style="text-decoration: none" href="http://msdn.microsoft.com/vstudio/express/visualc/">http://msdn.microsoft.com/vstudio/express/visualc/</a>
+    ¹</td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>Win32_dll</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;built using vc6, creates dependency with MSVCRT.DLL<br>
+      &nbsp;(either other libraries or new applications).</td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>Win32_dll7</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;built using vc7, creates dependency with MSVCR71.DLL<br>
+      &nbsp;(either other libraries or new applications).</td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>Win32_dll8</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;built using vc8, creates dependency with MSVCR80.DLL<br>
+      &nbsp;(either other libraries or new applications).</td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>Win32_dll9</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;built using vc9, creates dependency with MSVCR90.DLL<br>
+      &nbsp;(either other libraries or new applications).</td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Win64_vc8</b></td>
+    <td bgcolor="#DDDDDD">&nbsp; Same as <b>Win32_vc8</b> but for 64-bits 
+    systems using x64 standard.</td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Win64_vc9</b></td>
+    <td bgcolor="#DDDDDD">&nbsp; Same as <b>Win32_vc9</b> but for 64-bits 
+    systems using x64 standard.</td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Win64_dll8</b></td>
+    <td bgcolor="#DDDDDD">&nbsp; Same as <b>Win32_dll8</b> but for 64-bits 
+    systems using x64 standard.</td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Win64_dll9</b></td>
+    <td bgcolor="#DDDDDD">&nbsp; Same as <b>Win32_dll9</b> but for 64-bits 
+    systems using x64 standard.</td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>Win32_gcc3</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;Cygwin gcc 3.4&nbsp; (Depends on Cygwin DLL 1.5) -
+      <a href="http://www.cygwin.com/" style="text-decoration: none">http://www.cygwin.com/</a>
+    ¹</td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>Win32_cygw15</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;Same as <b>Win32_gcc3</b>, but using the Cygwin Posix 
+    system</td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>Win32_mingw3</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;MingW gcc 3.4 - 
+    <a href="http://www.mingw.org/" style="text-decoration: none">http://www.mingw.org/</a>
+    ¹<br>
+      &nbsp;Also compatible with Dev-C++ - 
+    <a href="http://www.bloodshed.net/devcpp.html" style="text-decoration: none">http://www.bloodshed.net/devcpp.html</a>
+    ¹</td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>Win32_mingw4</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;MingW gcc 4.x (unofficial) -
+    <a href="http://www.develer.com/oss/GccWinBinaries" style="text-decoration: none">http://www.develer.com/oss/GccWinBinaries</a>
+    ¹</td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Win32_owc1</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;Open Watcom 1.5 - 
+    <a href="http://www.openwatcom.org/" style="text-decoration: none">http://www.openwatcom.org/</a></td>
+  </tr>
+  <tr>
+    <td bgcolor="#C0C0C0" align="right"><b>Win32_bc56</b></td>
+    <td bgcolor="#C0C0C0">&nbsp;Borland C++ BuilderX 1.0 / Borland C++ 5.6 Compiler - 
+    <br />
+      &nbsp;<a href="http://www.borland.com/products/downloads/download_cbuilderx.html" style="text-decoration: none">http://www.borland.com/products/downloads/download_cbuilderx.html</a>
+      <font face="Times New Roman">¹,²</font><br>
+      &nbsp;(the C++ BuilderX IDE can also be configured to use mingw3 or gcc3 versions.) 
+    </td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Win32_bin</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;Executables only for Windows NT/2000/XP</td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><b>Win64_bin</b></td>
+    <td bgcolor="#DDDDDD">&nbsp;Same as <b>Win32_bin</b> but for 64-bits systems 
+    using the x64 standard</td>
+  </tr>
+  <tr>
+    <td bgcolor="#DDDDDD" align="right"><strong>Win32_cygw15_bin</strong></td>
+    <td bgcolor="#DDDDDD">&nbsp;Executables only for Windows NT/2000/XP, but 
+    using the Cygwin Posix system</td>
+  </tr>
+</table>
+  
+  <p>¹ - Notice that all the Windows 
+  compilers with links here are free to download and use. <br>
+  ² - Recently Borland removed the C++ Builder X 
+  from download. But if you bought a book that has the CD of the compiler, then 
+  it is still free to use.<br>
+	<sup><span class="style1">3</span></sup> - OpenMotif 2.2 is classified as 
+	&#39;experimental&#39; by the Open Group. </p>
+
+  
+</body>
+
+</html>
\ No newline at end of file
diff --git a/html/en/drv.html b/html/en/drv.html
new file mode 100644
index 0000000..2cd78f5
--- /dev/null
+++ b/html/en/drv.html
@@ -0,0 +1,25 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<title>Drivers</title>
+<link rel="stylesheet" type="text/css" href="../style.css">
+</head>
+
+<body>
+
+<h1>Drivers</h1>
+
+  <p>Driver is the implementation of functions of a canvas for a specific canvas 
+  type. In other words it represents the context in which the canvas is 
+  situated. For example, a Window System that has windows on which you can draw.
+  </p>
+  <p>It can be portable, platform independent, or it can has a different 
+  implementation in each platform. In this case its functions may have different 
+  behaviors, but the library is implemented in such a way that these differences 
+  are minimized. </p>
+
+
+</body>
+
+</html>
diff --git a/html/en/drv/cgm.html b/html/en/drv/cgm.html
new file mode 100644
index 0000000..17ca141
--- /dev/null
+++ b/html/en/drv/cgm.html
@@ -0,0 +1,184 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>CD_CGM</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_CGM - <em>Computer Graphics Metafile Driver </em>(cdcgm.h)</h2>
+
+  <p>This driver allows generating a Computer Graphics Metafile, which is an ANSI standard for the persistent storage of 
+  graphics primitives. The file usually has an extension .CGM.</p>
+
+<h3>Use</h3>
+
+  <p>The file file is created by means of a call to the function <font face="Courier">
+  <a href="../func/init.html#cdCreateCanvas"><strong>cdCreateCanvas</strong></a>(CD_CGM, 
+  Data)</font>, which <b>opens</b> the file and writes its header. Then, other functions in the CD library can be called 
+  as usual. The <font face="Courier">Data</font> parameter string has the following format:</p>
+  
+    <pre><em>&quot;filename [widthxheight] [resolution] [-t] -p[precision]&quot; or in C style &quot;<strong><tt>%s %gx%g %g %s</tt></strong>&quot;</em></pre>
+  
+  <p>Only the parameter <font face="Courier">filename</font> is required. The filename must be inside double quotes (&quot;) 
+  if it has spaces.<font face="Courier"> Width</font> and <font face="Courier">height</font> are provided in millimeters 
+  (note the lowercase &quot;x&quot; between them), and their default value in pixels is <font face="Courier">INT_MAX</font> for 
+  both dimensions. When the canvas' size is not specified, the VDC Extension saved to the file is the image's bounding 
+  rectangle. The resolution is the number of pixels per millimeter; its default value is &quot;3.78 pixels/mm&quot; (96 DPI).
+  <font face="Courier">Width</font>, <font face="Courier">height</font> and <font face="Courier">resolution</font> are 
+  real values. <font face="Courier">Width</font>, <font face="Courier">height</font> and <font face="Courier">resolution</font> 
+  are used only by <strong><font face="Courier">cdGetCanvasSize</font> </strong>and in pixel-millimeter conversion. 
+  Parameter <font face="Courier">-t</font> modifies the codification. Parameter <font face="Courier">-p</font> specifies 
+  the precision of integers, which can be 16 (default) or 32.</p>
+  <p>Any amount of such canvases may exist simultaneously. It is important to note that a call to function
+  <a href="../func/init.html#cdKillCanvas"><font face="Courier"><strong>
+  cdKillCanvas</strong></font></a> is required to <b>close</b> the file properly.</p>
+  <p><strong>Coding -</strong> The CGM format supports binary and text coding. If you are not sure what to do, use 
+  binary coding, which is the default. Should you prefer text coding, add a &quot;<font face="Courier">-t</font>&quot; string to 
+  the <font face="Courier">Data</font> parameter.</p>
+  <p><strong>Precision of Coordinates -</strong> The primitives can use coordinates in real numbers. However, for 
+  compatibility reasons, we use coordinates in integers.</p>
+
+<h3>Behavior of Functions</h3>
+<h4>Control&nbsp; </h4>
+<ul>
+  <li><a href="../func/control.html#cdClear"><font face="Courier"><strong>Clear</strong></font></a>: 
+  does nothing.</li>
+  <li><a href="../func/control.html#cdFlush"><font face="Courier"><strong>Flush</strong></font></a>: 
+  creates a new image, preserving the previous one. The CGM format supports multiple images in a file.</li>
+  <li><a href="../func/other.html#cdPlay"><font face="Courier"><strong>Play</strong></font></a>: 
+  works with files created with text or binary coding. There are several callbacks for this driver. If one of the 
+  callbacks returns a value different from zero, <font face="Courier">cdPlay</font>'s processing is interrupted. The 
+  driver implements the callback <tt><strong><font face="Courier">CD_SIZECB</font> </strong></tt>and other callbacks 
+  associated to CGM:<br>
+  <tt><font face="Courier"><strong>CD_COUNTERCB</strong></font> - int(*cdcgmcountercb)(cdContext *driver, double 
+  percent) - </tt>Executed for each header of CGM commands; returns the percentage (0-100%) of headers read.<br>
+  <font face="Times New Roman"><code><strong><span style="font-family: Courier">CD_SCLMDECB</span></strong></code></font><tt> - int(*cdcgmsclmdecb)(cdContext 
+  *driver, short scl_mde, short *drw_mode, double *factor)</tt> <font face="Courier">-</font> Executed for the command 
+  CGM SCALE MODE. Returns the current CGM scale mode and allows the callback to modify the scale mode used by the
+  <font face="Courier">cdPlay</font> function <font face="Courier">(ABSTRACT=0, METRIC=1)</font>. Should you choose the 
+  METRIC or ABSTRACT scale mode but the original scale mode is METRIC, you must provide the conversion factor in mm per 
+  pixel.<br>
+  <font face="Times New Roman"><code><strong><span style="font-family: Courier">CD_VDCEXTCB</span></strong></code></font><tt> - int(*cdcgmvdcextcb)(cdContext 
+  *driver, short type, void *xmn, void *ymn, void *xmx, void *ymx)</tt> <font face="Courier">-</font> Executed for the 
+  CGM command CGM VDC EXTENT, returns the VDC SPACE. <br>
+  <font face="Times New Roman"><code><strong><span style="font-family: Courier">CD_BEGPICTCB</span></strong></code></font><tt> - int(*cdcgmbegpictcb)(cdContext 
+  *driver, char *pict)</tt> <font face="Courier">-</font> Executed for the command BEGIN PICTURE, returns the string 
+  that describes the image.<br>
+  <font face="Times New Roman"><code><strong><span style="font-family: Courier">CD_BEGPICTBCB</span></strong></code></font><tt> - int(*cdcgmbegpictbcb)(cdContext 
+  *driver)</tt> <font face="Courier">-</font> Executed for the command BEGIN PICTURE BODY.<br>
+  <font face="Times New Roman"><code><strong><span style="font-family: Courier">CD_CGMBEGMTFCB</span></strong></code></font> - <font face="Times New Roman"><code>
+  int (*cdcgmbegmtfcb)(cdContext *driver, int *xmin, int *ymin, int *xmax, int *ymax)</code></font> - Executed for the 
+  command BEGIN METAFILE, provides the drawing limits of the image in the file.</li>
+</ul>
+<h4>Coordinate System and Clipping</h4>
+<ul>
+  <li><a href="../func/coordinates.html#cdUpdateYAxis"><font face="Courier">
+  <strong>UpdateYAxis</strong></font></a>: does nothing. The axis orientation is the same as the CD library.</li>
+  <li><b>Complex Regions</b>: not supported.</li>
+  <li><strong>Transformation Matrix</strong>: not supported.</li>
+</ul>
+<h4>Primitives</h4>
+<ul>
+  <li><a href="../func/lines.html#cdBegin"><font face="Courier"><strong>Begin</strong></font></a>: 
+  if parameter <strong><tt>CD_CLIP</tt></strong> or <strong><tt>CD_BEZIER</tt></strong> are specified, does nothing.</li>
+  <li><font face="Courier"><strong><a href="../func/marks.html#cdPixel">Pixel</a></strong></font>: 
+  does not exist in CGM, is simulated using a mark with size 1.</li>
+  <li><strong><font face="Courier"><a href="../func/filled.html#cdChord">Chord</a></font></strong>: 
+  does nothing.</li>
+  <li>Floating point primitives are supported.</li>
+</ul>
+<h4>Attributes </h4>
+<ul>
+  <li><a href="../func/attributes.html#cdWriteMode"><font face="Courier">
+  <strong>
+  WriteMode</strong></font></a>: does nothing, returns <font face="Courier">CD_REPLACE</font>.</li>
+  <li><a href="../func/text.html#cdFontDim"><font face="Courier"><strong>FontDim</strong></font></a>: 
+  is simulated.</li>
+  <li><a href="../func/filled.html#cdFillMode"><font face="Courier"><strong>
+  FillMode</strong></font></a>: does nothing.</li>
+  <li><a href="../func/filled.html#cdLineCap"><font face="Courier"><strong>
+  LineCap</strong></font></a>: does nothing.</li>
+  <li><a href="../func/filled.html#cdLineJoin"><font face="Courier"><strong>
+  LineJoin</strong></font></a>: does nothing.</li>
+  <li><a href="../func/text.html#cdTextSize"><font face="Courier"><strong>
+  TextSize</strong></font></a>: is simulated.</li>
+  <li><a href="../func/text.html#cdTextOrientation"><font face="Courier">
+  <strong>
+  TextOrientation</strong></font></a>: does nothing.</li>
+  <li><a href="../func/text.html#cdFont"><font face="Courier"><strong>Font</strong></font></a>: 
+  see the table bellow for the generated font names. No other fonts are 
+  supported.</li>
+</ul>
+<div align="center">
+  <center>
+  <table border="1" cellpadding="5">
+    <caption style="text-align: center"><font size="4">Font Mapping</font></caption>
+    <tr>
+      <th rowspan="2">CD Fonts</th>
+      <th colspan="4">Generated Font Names</th>
+    </tr>
+    <tr>
+      <th>CD_PLAIN</th>
+      <th>CD_BOLD</th>
+      <th>CD_ITALIC</th>
+      <th>CD_BOLD|CD_ITALIC</th>
+    </tr>
+    <tr>
+      <td>&quot;System&quot;</td>
+      <td>&quot;SYSTEM&quot;</td>
+      <td>&quot;SYSTEM_BOLD&quot;</td>
+      <td>&quot;SYSTEM_ITALIC&quot;</td>
+      <td>&quot;SYSTEM_BOLDITALIC&quot;</td>
+    </tr>
+    <tr>
+      <td>&quot;Courier&quot;</td>
+      <td>&quot;COURIER&quot; </td>
+      <td>&quot;COURIER_BOLD&quot; </td>
+      <td>&quot;COURIER_ITALIC&quot; </td>
+      <td>&quot;COURIER_BOLDITALIC&quot;</td>
+    </tr>
+    <tr>
+      <td>&quot;Times&quot;</td>
+      <td>&quot;TIMES_ROMAN&quot; </td>
+      <td>&quot;TIMES_ROMAN_BOLD&quot;</td>
+      <td>&quot;TIMES_ROMAN_ITALIC&quot;</td>
+      <td>&quot;TIMES_ROMAN_BOLDITALIC&quot; </td>
+    </tr>
+    <tr>
+      <td>&quot;Helvetica&quot;</td>
+      <td>&quot;HELVETICA&quot; </td>
+      <td>&quot;HELVETICA_BOLD&quot;</td>
+      <td>&quot;HELVETICA_ITALIC&quot;</td>
+      <td>&quot;HELVETICA_BOLDITALIC&quot;</td>
+    </tr>
+  </table>
+  </center>
+</div>
+<h4>Colors </h4>
+<ul>
+  <li><a href="../func/color.html#cdGetColorPlanes"><font face="Courier">
+  <strong>
+  GetColorPlanes</strong></font></a>: returns 24.</li>
+  <li><a href="../func/color.html#cdPalette"><font face="Courier"><strong>Palette</strong></font></a>: 
+  does nothing. </li>
+</ul>
+<h4>Client Images&nbsp; </h4>
+<ul>
+  <li><a href="../func/client.html#cdGetImageRGB"><font face="Courier"><strong>
+  GetImageRGB</strong></font></a>: does nothing.</li>
+  <li><a href="../func/client.html#cdPutImageRGBA"><font face="Courier"><strong>
+  PutImageRGBA</strong></font></a>: alpha is ignored.</li>
+</ul>
+<h4>Server Images</h4>
+<ul>
+  <li>All functions do nothing.</li>
+</ul>
+
+</body>
+
+</html>
diff --git a/html/en/drv/clipbd.html b/html/en/drv/clipbd.html
new file mode 100644
index 0000000..0b9be2d
--- /dev/null
+++ b/html/en/drv/clipbd.html
@@ -0,0 +1,68 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>CD_CLIPBOARD</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_CLIPBOARD - Clipboard Driver (cdclipbd.h)</h2>
+
+  <p>This driver allows the access to a Clipboard area. It is greatly dependent 
+  on the system. In Win32, it creates an <a href="emf.html">Enhanced Metafile</a>, 
+  a <b>Bitmap</b> or a <a href="mf.html">CD Metafile</a>; in X-Windows it 
+  creates only a <a href="mf.html">CD Metafile</a>.</p>
+
+<h3>Use</h3>
+
+  <p>The canvas is created by means of a call to function <font face="Courier">
+  <a href="../func/init.html#cdCreateCanvas">
+  <strong>cdCreateCanvas</strong></a>(CD_CLIPBOARD, Data)</font>, after which 
+  other functions in the CD library can be called as usual. The
+  <font face="Courier">Data</font> parameter string is platform-dependent and 
+  varies according to the metafile created. See each metafile's documentation, 
+  but remember to exclude parameter <font face="Courier">&quot;filename&quot;.</font></p>
+  <p>In the Windows environment, if the string &quot;<font face="Courier">-b</font>&quot; 
+  is present, it means that a <b>Bitmap</b> must be created instead of a 
+  metafile, and, if the string <font face="Courier">&quot;-m&quot;</font> is specified, a
+  <b>CD Metafile</b> will be created. For a <b>Bitmap</b> the remaining string 
+  must contains the bitmap size and optionally its resolution: <em>&quot;-b 
+  widthxheight [resolution]&quot;</em> or in C &quot;<tt><em><strong>%dx%d %g&quot;</strong></em></tt>, 
+  the resolution default is the screen resolution.</p>
+  <p>In the X-Windows environment, the Display <font face="Courier">(&quot;%p&quot;)</font> 
+  where the data will be stored must be passed as a parameter before the <b>CD 
+  Metafile</b> parameters. This environment's driver is used only for 
+  applications that use CD to communicate with each other, because only CD Metafiles 
+  are created.</p>
+  <p>Any amount of such canvases may exist simultaneously. It is important to 
+  note that a call to function
+  <a href="../func/init.html#cdKillCanvas">
+  <font face="Courier"><strong>cdKillCanvas</strong></font></a> is required to 
+  properly copy the data to the Clipboard.</p>
+  <p>You can interpret the data from the Clipboard using function <strong>cdPlay</strong>. In the X-Windows environment, the 
+  parameter <font face="Courier">&quot;data&quot;</font> for the <strong>cdPlay
+  </strong>function is the pointer to the 
+  Display where the metafile will be obtained. The <strong>cdRegisterCallback</strong> 
+  must be called for the driver that will interpret the file, except for bitmaps 
+  that the <strong>CD_CLIPBOARD</strong> driver must be used.</p>
+<p>To use this driver in Windows using GDI+ is necessary to call 
+<font face="Courier"><strong>
+  cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong> 
+before creating the canvas.</p>
+
+<h3>Behavior of Functions</h3>
+
+  <p>This driver is greatly platform-dependent. For further detail, see the <b>
+  Behavior of Functions</b> in each platform: <a href="win32.html">Microsoft 
+  Windows (GDI)</a>, <a href="xwin.html">X-Windows (XLIB)</a>. However, it 
+  should be noted that some functions behave differently from the basic 
+  functions of each platform.</p>
+
+
+</body>
+
+</html>
diff --git a/html/en/drv/dbuf.html b/html/en/drv/dbuf.html
new file mode 100644
index 0000000..37b5c89
--- /dev/null
+++ b/html/en/drv/dbuf.html
@@ -0,0 +1,71 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>CD_DBUFFER</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_DBUFFER - Double Buffer Driver using a server image (cddbuf.h)</h2>
+
+  <p>Implements the concept of offscreen drawing. It is based on a Server Image 
+  (the back buffer) and a Window canvas (the front buffer).</p>
+
+<h3>Use</h3>
+
+  <p>The canvas is created by means of a call to function
+  <a href="../func/init.html#cdCreateCanvas">
+  <font face="Courier"><strong>cdCreateCanvas</strong></font></a><font face="Courier">(CD_DBUFFER, 
+  Data)</font>, after which other functions in the CD library can be called as 
+  usual. This function creates a CD canvas to use with an existing window canvas 
+  (Native Windows or IUP). The parameter <font face="Courier">Data</font> is a 
+  pointer to the already created canvas.</p>
+  <p>Any amount of such canvases may exist simultaneously. It is important to 
+  note that a call to function
+  <a href="../func/init.html#cdKillCanvas">
+  <font face="Courier"><strong>cdKillCanvas</strong></font></a> is required to 
+  properly <b>end</b> the driver. Call function
+  <a href="../func/init.html#cdKillCanvas">
+  <font face="Courier"><strong>cdKillCanvas</strong></font></a> for this driver 
+  before calling <font face="Courier"><strong>cdKillCanvas</strong></font> for 
+  the window driver.</p>
+  <p>The drawing functions will work normally as if they were drawn on 
+  the server image driver. When function <font face="Courier"><b>
+  <a href="../func/control.html#cdFlush">
+  cdCanvasFlush</a></b></font> is executed, the image is drawn in the window canvas 
+  passed as parameter in the canvas creation.</p>
+  <p>When the window's size changes, the server image is automatically recreated 
+  using the same size as the canvas. This is done in the function
+  <font face="Courier"><b>
+  <a href="../func/init.html#cdActivate">
+  cdCanvasActivate</a></b></font>.</p>
+<p>We suggest you to implement rubber bands using XOR directly on the front 
+buffer.</p>
+<p>To use this driver in Windows using GDI+ is necessary to call 
+<font face="Courier"><strong>
+  cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong> 
+before creating the canvas.</p>
+
+<h3>Behavior of Functions</h3>
+
+  <p>This driver is greatly platform-dependent. For further detail, see the <b>
+  Behavior of Functions</b> in each platform: <a href="win32.html">Microsoft 
+  Windows (GDI)</a>, <a href="gdiplus.html">Windows Using GDI+</a>,
+  <a href="xwin.html">X-Windows (XLIB)</a>. However, it should be noted that 
+  some functions behave differently from the basic functions of each platform.</p>
+<h4>Control</h4>
+<ul>
+  <li><a href="../func/control.html#cdFlush"><font face="Courier"><strong>Flush</strong></font></a>: 
+  draws the contents of the image into the window. It is affected by <strong>
+  Origin</strong> and <strong>Clipping</strong>, but not by <strong>WriteMode</strong>.</li>
+</ul>
+<p>&nbsp;</p>
+
+
+</body>
+
+</html>
diff --git a/html/en/drv/dbufrgb.html b/html/en/drv/dbufrgb.html
new file mode 100644
index 0000000..a9fa4c8
--- /dev/null
+++ b/html/en/drv/dbufrgb.html
@@ -0,0 +1,60 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>CD_DBUFFER</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_DBUFFERRGB - Double Buffer Driver using a RGB image (cdirgb.h)</h2>
+
+  <p>Implements the concept of offscreen drawing. It is based on a Image 
+  RGB (the back buffer) and any other canvas (the front buffer).</p>
+
+<h3>Use</h3>
+
+  <p>The canvas is created by means of a call to function
+  <a href="../func/init.html#cdCreateCanvas">
+  <font face="Courier"><strong>cdCreateCanvas</strong></font></a><font face="Courier">(CD_DBUFFERRGB, 
+  Data)</font>, after which other functions in the CD library can be called as 
+  usual. This function creates a CD canvas to use with any existing canvas. The parameter <font face="Courier">Data</font> is a 
+  pointer to the already created canvas.</p>
+  <p>Any amount of such canvases may exist simultaneously. It is important to 
+  note that a call to function
+  <a href="../func/init.html#cdKillCanvas">
+  <font face="Courier"><strong>cdKillCanvas</strong></font></a> is required to 
+  properly <b>end</b> the driver. Call function
+  <a href="../func/init.html#cdKillCanvas">
+  <font face="Courier"><strong>cdKillCanvas</strong></font></a> for this driver 
+  before calling <font face="Courier"><strong>cdKillCanvas</strong></font> for 
+  the client canvas driver.</p>
+  <p>The drawing functions will work normally as if they were drawn on 
+  the image RGB driver. When function <font face="Courier"><b>
+  <a href="../func/control.html#cdFlush">
+  cdCanvasFlush</a></b></font> is executed, the image is drawn in the canvas 
+  passed as parameter in the canvas creation.</p>
+  <p>When the window's size changes, the RGB image is automatically recreated 
+  using the same size as the canvas. This is done in the function
+  <font face="Courier"><b>
+  <a href="../func/init.html#cdActivate">
+  cdCanvasActivate</a></b></font>.</p>
+
+<h3>Behavior of Functions</h3>
+
+  <p>This driver depends on the <a href="irgb.html">RGB Client Image Driver</a>.</p>
+<h4>Control</h4>
+<ul>
+  <li><a href="../func/control.html#cdFlush"><font face="Courier"><strong>Flush</strong></font></a>: 
+  draws the contents of the image into the window. It is affected by <strong>
+  Origin</strong> and <strong>Clipping</strong>, but not by <strong>WriteMode</strong>.</li>
+</ul>
+<p>&nbsp;</p>
+
+
+</body>
+
+</html>
diff --git a/html/en/drv/debug.html b/html/en/drv/debug.html
new file mode 100644
index 0000000..e405dac
--- /dev/null
+++ b/html/en/drv/debug.html
@@ -0,0 +1,64 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>CD_METAFILE</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_DEBUG - CD Debug Driver (cddebug.h)</h2>
+
+  <p>This driver creates a text file with a log of all function calls. But for 
+	only the functions that have a driver implementation and in the order that 
+	the driver implements sequece of functions like Begin/Vertex/End. Pointers 
+	are stored as addresses, and definitions are stored as the CD definition 
+	&quot;CD_XXX&quot;.</p>
+
+<h3>Use</h3>
+
+  <p>The file is created by calling function <font face="Courier">
+  <a href="../func/init.html#cdCreateCanvas"><strong>cdCreateCanvas</strong></a>(CD_DEBUG, 
+  Data)</font>. The <font face="Courier">Data</font> parameter is a string that must contain the filename and the canvas 
+  dimensions, in the following format:</p>
+  
+    <pre>&quot;<i>filename </i>[widthxheight resolution]&quot; or in <em>C use &quot;<strong><tt>%s %gx%g %g</tt></strong>&quot;</em></pre>
+  
+  <p>Only the parameter <font face="Courier">filename</font> is required. The filename must be inside double quotes (&quot;) 
+  if it has spaces.<font face="Courier"> Width</font> and <font face="Courier">height</font> are provided in millimeters 
+  (note the lowercase &quot;x&quot; between them), and their default value in pixels is <font face="Courier">INT_MAX</font> for 
+  both dimensions. <font face="Courier">Resolution </font>is the number of pixels per millimeter; its default value is 
+  &quot;3.78 pixels/mm&quot; (96 DPI). <font face="Courier">Width</font>, <font face="Courier">height</font> and
+  <font face="Courier">resolution</font> are real values.</p>
+  <p>Any amount of such canvases may exist simultaneously. It is important to note that a call to function
+  <a href="../func/init.html#cdKillCanvas"><font face="Courier"><strong>
+  cdKillCanvas</strong></font></a> is required to <b>close</b> the file properly.</p>
+
+<h3>Behavior of Functions</h3>
+<h4>Coordinate System and Clipping </h4>
+<ul>
+  <li><a href="../func/other.html#cdPlay">
+  <font face="Courier"><strong>Play</strong></font></a>: NOT implemented. </li>
+  <li><a href="../func/coordinates.html#cdUpdateYAxis"><font face="Courier">
+  <strong>UpdateYAxis</strong></font></a>: does nothing.</li>
+</ul>
+<h4>Attributes</h4>
+<dir>
+  <li><a href="../func/text.html#cdFontDim"><font face="Courier"><strong>FontDim</strong></font></a>: 
+  uses a size estimator, returning approximate values.</li>
+  <li><a href="../func/text.html#cdTextSize"><font face="Courier"><strong>
+  TextSize</strong></font></a>: uses a size estimator, returning approximate values.</li>
+</dir>
+<h4>Colors</h4>
+<ul>
+  <li><a href="../func/color.html#cdGetColorPlanes"><font face="Courier">
+  <strong>
+  GetColorPlanes</strong></font></a>: always returns 24.</li>
+</ul>
+
+</body>
+
+</html>
diff --git a/html/en/drv/dgn.html b/html/en/drv/dgn.html
new file mode 100644
index 0000000..acd688b
--- /dev/null
+++ b/html/en/drv/dgn.html
@@ -0,0 +1,161 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>CD_DGN</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_DGN - MicroStation Design File Driver (cddgn.h)</h2>
+
+  <p>This driver allows generating a MicroStation design file. The file name usually has an extension .DGN. The driver 
+  supports only MicroStation version 4.0 or later. The format's copyrights are property of
+  <a href="http://www.bentley.com" target="_top">Bentley Systems</a>.</p>
+
+<h3>Use</h3>
+
+  <p>The file is created and opened by calling function <font face="Courier">
+  <a href="../func/init.html#cdCreateCanvas"><strong>cdCreateCanvas</strong></a>(CD_DGN, 
+  Data)</font>, in which <font face="Courier">Data</font> contains the filename and canvas dimensions. This function 
+  opens the file and writes its header. Then, other functions in the CD library can be called as usual. The
+  <font face="Courier">Data</font> parameter string has the following format:</p>
+  
+    <pre><em>&quot;filename [widthxheight] [resolution] [-f] [-sseedfile]&quot;   </em>or in C <em>&quot;<strong><tt>%s %gx%g %g %s</tt></strong>&quot;</em></pre>
+  
+  <p>Only the parameter <font face="Courier">filename</font> is required. The filename must be inside double quotes (&quot;) 
+  if it has spaces.<font face="Courier"> Width</font> and <font face="Courier">height</font> are provided in millimeters 
+  (note the lowercase &quot;x&quot; between them), and their default value in pixels is <font face="Courier">INT_MAX</font> for 
+  both dimensions. <font face="Courier">Resolution </font>is the number of pixels per millimeter; its default value is 
+  &quot;3.78 pixels/mm&quot; (96 DPI). <font face="Courier">Width</font>, <font face="Courier">height</font> and
+  <font face="Courier">resolution</font> are real values. Parameter <font face="Courier">-f</font> modifies the polygon 
+  filling's behavior. Just as in MicroStation, you can specify a seed file using parameter <font face="Courier">-s</font>.
+  <font face="Courier">Width</font>, <font face="Courier">height</font> and <font face="Courier">resolution</font> are 
+  used only by <a href="../func/coordinates.html#cdGetCanvasSize">
+  <font face="Courier"><strong>cdCanvasGetSize</strong></font></a><font face="Courier"><strong> </strong></font>and in 
+  pixel-millimeter conversion.&nbsp;</p>
+  <p>Any amount of such canvases may exist simultaneously. It is important to note that a call to function
+  <a href="../func/init.html#cdKillCanvas"><font face="Courier"><strong>
+  cdKillCanvas</strong></font></a> is required to close the file properly.</p>
+  <p><b>Images and Colors</b> - The DGN format does not support server images and works with an indexed-color format. 
+  Color quality is limited to 256 colors, and the format uses a uniform palette to convert RGB colors into palette 
+  indices. If you configure a palette, the color conversion process will become slower.</p>
+  <p><b>Filling</b> - Up to version 5.0, MicroStation presents some limitations for polygon filling. You can disable 
+  filling by means of string &quot;<font face="Courier">-f</font>&quot; in the <font face="Courier">Data</font> parameter. Filled 
+  polygons can only have around 10,000 vertices; if the value is larger, the polygon style changes to closed lines.</p>
+  <p><b>Seed</b> - In the seed file, several DGN parameters can be defined to be used in the drawing. The library offers 
+  a default seed file, called &quot;SEED2D.DGN&quot;. The file's location depends on the environment variable <strong>CDDIR</strong>.</p>
+
+<h3>Behavior of Functions</h3>
+<h4>Control</h4>
+<ul>
+  <li><a href="../func/control.html#cdClear"><font face="Courier"><strong>Clear</strong></font></a>: 
+  does nothing.</li>
+  <li><a href="../func/other.html#cdPlay"><font face="Courier"><strong>Play</strong></font></a>: 
+  does nothing, returns <font face="Courier">CD_ERROR</font>. </li>
+</ul>
+<h4>Coordinate System and Clipping </h4>
+<ul>
+  <li><a href="../func/clipping.html#cdClip"><font face="Courier"><strong>Clip</strong></font></a>: 
+  does nothing (no clipping function is supported), returns <font face="Courier">CD_CLIPOFF</font>.</li>
+  <li><a href="../func/coordinates.html#cdUpdateYAxis"><font face="Courier">
+  <strong>UpdateYAxis</strong></font></a>: does nothing. The axis orientation is the same as the CD library.</li>
+  <li><strong>Transformation Matrix</strong>: not supported.</li>
+</ul>
+<h4>Primitives</h4>
+<ul>
+  <li><a href="../func/lines.html#cdBegin"><font face="Courier"><strong>Begin</strong></font></a>: 
+  if parameter <strong><tt>CD_CLIP</tt></strong> or <strong><tt>CD_BEZIER</tt></strong> are specified, does nothing.</li>
+  <li><strong><font face="Courier"><a href="../func/filled.html#cdChord">cdChord</a></font></strong>: 
+  does nothing.</li>
+</ul>
+<h4>Attributes </h4>
+<ul>
+  <li><a href="../func/filled.html#cdBackOpacity"><font face="Courier"><strong>
+  BackOpacity</strong></font></a>: does nothing, returns <font face="Courier">CD_OPAQUE</font>.</li>
+  <li><a href="../func/attributes.html#cdWriteMode"><font face="Courier">
+  <strong>
+  WriteMode</strong></font></a>: does nothing, returns <font face="Courier">CD_REPLACE</font>.</li>
+  <li><a href="../func/filled.html#cdInteriorStyle"><font face="Courier">
+  <strong>
+  InteriorStyle</strong></font></a>: does nothing.</li>
+  <li><a href="../func/filled.html#cdFillMode"><font face="Courier"><strong>
+  FillMode</strong></font></a>: does nothing.</li>
+  <li><a href="../func/filled.html#cdLineCap"><font face="Courier"><strong>
+  LineCap</strong></font></a>: does nothing.</li>
+  <li><a href="../func/filled.html#cdLineJoin"><font face="Courier"><strong>
+  LineJoin</strong></font></a>: does nothing.</li>
+  <li><a href="../func/filled.html#cdHatch"><font face="Courier"><strong>Hatch</strong></font></a>: 
+  does nothing.</li>
+  <li><a href="../func/filled.html#cdStipple"><font face="Courier"><strong>
+  Stipple</strong></font></a>: does nothing.</li>
+  <li><a href="../func/filled.html#cdPattern"><font face="Courier"><strong>
+  Pattern</strong></font></a>: does nothing.</li>
+  <li><a href="../func/text.html#cdTextSize"><font face="Courier"><strong>
+  TextSize</strong></font></a>: returns a bounding box which is usually larger than the text (the computation is based 
+  on the widest character).</li>
+  <li><a href="../func/text.html#cdTextAlignment"><font face="Courier"><strong>
+  TextAlignment</strong></font></a>: uses <font face="Courier"><strong>cdTextSize</strong></font>, therefore is not 
+  precise.</li>
+  <li><a href="../func/text.html#cdFont"><font face="Courier"><strong>Font</strong></font></a>: 
+  See the font mapping table for the equivalence used to map CD fonts into 
+  MicroStation fonts. Styles are not supported.</li>
+</ul>
+<div align="center">
+  <center>
+  <table border="1" cellpadding="5">
+    <caption valign="top"><font size="4">Font Mapping</font></caption>
+    <tr>
+      <th>CD Fonts</th>
+      <th>MicroStation Font Index</th>
+    </tr>
+    <tr>
+      <td><font face="Courier">CD_SYSTEM</font></td>
+      <td><font face="Courier">0</font></td>
+    </tr>
+    <tr>
+      <td><font face="Courier">CD_COURIER</font> </td>
+      <td><font face="Courier">1</font></td>
+    </tr>
+    <tr>
+      <td><font face="Courier">CD_TIMES_ROMAN</font></td>
+      <td><font face="Courier">2</font></td>
+    </tr>
+    <tr>
+      <td><font face="Courier">CD_HELVETICA</font></td>
+      <td><font face="Courier">3</font></td>
+    </tr>
+    </table>
+  </center>
+</div>
+<h4>Colors </h4>
+<ul>
+  <li><a href="../func/color.html#cdGetColorPlanes"><font face="Courier">
+  <strong>
+  GetColorPlanes</strong></font></a>: returns 8 (MicroStation uses a palette with 256 values).</li>
+  <li><a href="../func/attributes.html#cdBackground"><font face="Courier">
+  <strong>
+  Background</strong></font></a>: always returns <code><font face="Times New Roman">CD_WHITE</font></code>.</li>
+</ul>
+<h4>Client Images </h4>
+<ul>
+  <li><a href="../func/client.html#cdGetImageRGB"><font face="Courier"><strong>
+  GetImageRGB</strong></font></a>: does nothing.</li>
+  <li><a href="../func/client.html#cdPutImageRGB"><font face="Courier"><strong>
+  PutImageRGB</strong></font></a>: considering that the format supports only 256 colors, image quality is quite poor.</li>
+  <li><a href="../func/client.html#cdPutImageRGBA"><font face="Courier"><strong>
+  PutImageRGBA</strong></font></a>: alpha is ignored.</li>
+  <li><a href="../func/client.html#cdPutImageMap"><font face="Courier"><strong>
+  PutImageMap</strong></font></a>: considering that the format supports only 256 colors, image quality is quite poor.</li>
+</ul>
+<h4>Server Images </h4>
+<ul>
+  <li>All functions do nothing.</li>
+</ul>
+
+</body>
+
+</html>
diff --git a/html/en/drv/dxf.html b/html/en/drv/dxf.html
new file mode 100644
index 0000000..95274ee
--- /dev/null
+++ b/html/en/drv/dxf.html
@@ -0,0 +1,180 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>CD_DXF</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_DXF - AutoCAD Image Exchange File Driver (cddxf.h)</h2>
+
+  <p>This driver allows generating an AutoCAD image exchange file. The file name usually has an extension .DXF. This 
+  driver supports only AutoCAD version 10.0 or later. The format's copyrights are property of
+  <a href="http://www.autodesk.com" target="_top">Autodesk</a>.</p>
+
+<h3>Use</h3>
+
+  <p>The file is created and opened by calling function <font face="Courier">
+  <a href="../func/init.html#cdCreateCanvas"><strong>cdCreateCanvas</strong></a>(CD_DXF, 
+  Data)</font>, in which <font face="Courier">Data</font> contains the file name and canvas dimensions. This function 
+  opens the file and writes its header. Then, other functions in the CD library can be called as usual. The
+  <font face="Courier">Data</font> parameter string has the following format:</p>
+  
+    <pre><em>&quot;filename [widthxheight] [resolution]&quot;    </em>or in C <em>&quot;<strong><tt>%s %gx%g %g</tt></strong>&quot;</em></pre>
+  
+  <p>Only the parameter <font face="Courier">filename</font> is required. The filename must be inside double quotes (&quot;) 
+  if it has spaces.<font face="Courier"> Width</font> and <font face="Courier">height</font> are provided in millimeters 
+  (note the lowercase &quot;x&quot; between them), and their default value in pixels is <font face="Courier">INT_MAX</font> for 
+  both dimensions. <font face="Courier">Resolution </font>is the number of pixels per millimeter; its default value is 
+  &quot;3.78 pixels/mm&quot; (96 DPI). <font face="Courier">Width</font>, <font face="Courier">height</font> and
+  <font face="Courier">resolution</font> are given in real values and are used only by
+  <a href="../func/coordinates.html#cdGetCanvasSize"><font face="Courier"><strong>
+  cdCanvasGetSize</strong></font></a><font face="Courier"><strong> </strong></font>and in pixel-millimeter conversion.&nbsp;</p>
+  <p>Any amount of such canvases may exist simultaneously. It is important to note that a call to function
+  <a href="../func/init.html#cdKillCanvas"><font face="Courier"><strong>
+  cdKillCanvas</strong></font></a> is required to close the DXF file properly.</p>
+  <p><b>Images </b>- The DXF format does not support client or server images and works with an indexed-color format 
+  (color quality is limited to 256 fixed colors). </p>
+  <p><strong>Precision of Coordinates -</strong> The primitives use coordinates in real numbers.</p>
+  <p><strong>Layers -</strong> The format can work with several layers. It is necessary to draw the primitives of layer 
+  '0' first, then layer '1' and so on. Use functions
+  <a href="../func/control.html#cdFlush"><font face="Courier"><strong>Flush</strong></font></a> 
+  to change the current layer.</p>
+
+<h3>Behavior of Functions</h3>
+<h4>Control </h4>
+<ul>
+  <li><a href="../func/control.html#cdFlush"><font face="Courier"><strong>Flush</strong></font></a>: 
+  changes the current layer (the initial layer is '0', followed by '1' and so on). </li>
+  <li><a href="../func/control.html#cdClear"><font face="Courier"><strong>Clear</strong></font></a>: 
+  does nothing.</li>
+  <li><a href="../func/other.html#cdPlay"><font face="Courier"><strong>Play</strong></font></a>: 
+  does nothing, returns <font face="Courier">CD_ERROR</font>. </li>
+</ul>
+<h4>Coordinate System and Clipping</h4>
+<ul>
+  <li><a href="../func/clipping.html#cdClip"><font face="Courier"><strong>Clip</strong></font></a>: 
+  does nothing (no clipping function is supported), returns <font face="Courier">CD_CLIPOFF</font>.</li>
+  <li><a href="../func/coordinates.html#cdUpdateYAxis"><font face="Courier">
+  <strong>UpdateYAxis</strong></font></a>: does nothing. Axis orientation is the same as in the CD library.</li>
+  <li><strong>Transformation Matrix</strong>: not supported.</li>
+</ul>
+<h4>Primitives</h4>
+<ul>
+  <li><a href="../func/filled.html#cdBox"><font face="Courier"><strong>Box</strong></font></a>: 
+  draws only the box's borders (no filling function is supported). Behaves like 
+  <strong><font face="Courier">Rect</font></strong>.</li>
+  <li><a href="../func/filled.html#cdSector"><font face="Courier"><strong>Sector</strong></font></a>: 
+  draws a &quot;hollow&quot; sector, that is, only its borders.</li>
+  <li><a href="../func/lines.html#cdBegin"><font face="Courier"><strong>Begin</strong></font></a>:
+  <font face="Courier"><strong><tt>CD_FILL</tt></strong></font> is mapped to <font face="Courier"><strong><tt>
+  CD_CLOSED_LINES</tt></strong></font>. if parameter <strong><tt>CD_CLIP</tt></strong> or <strong><tt>CD_BEZIER</tt></strong> 
+  are specified, does nothing.</li>
+  <li><strong><font face="Courier"><a href="../func/filled.html#cdChord">Chord</a></font></strong>: 
+  does nothing.</li>
+  <li>Floating point primitives are supported.</li>
+</ul>
+<h4>Attributes</h4>
+<ul>
+  <li><a href="../func/filled.html#cdBackOpacity"><font face="Courier"><strong>
+  BackOpacity</strong></font></a>: does nothing, returns <font face="Courier">CD_TRANSPARENT</font>.</li>
+  <li><a href="../func/attributes.html#cdWriteMode"><font face="Courier">
+  <strong>
+  WriteMode</strong></font></a>: does nothing, returns <font face="Courier">CD_REPLACE</font>.</li>
+  <li><a href="../func/filled.html#cdInteriorStyle"><font face="Courier">
+  <strong>
+  InteriorStyle</strong></font></a>: does nothing (filling is not supported), returns 0.</li>
+  <li><a href="../func/filled.html#cdHatch"><font face="Courier"><strong>Hatch</strong></font></a>: 
+  does nothing. </li>
+  <li><a href="../func/filled.html#cdFillMode"><font face="Courier"><strong>
+  FillMode</strong></font></a>: does nothing.</li>
+  <li><a href="../func/filled.html#cdLineCap"><font face="Courier"><strong>
+  LineCap</strong></font></a>: does nothing.</li>
+  <li><a href="../func/filled.html#cdLineJoin"><font face="Courier"><strong>
+  LineJoin</strong></font></a>: does nothing.</li>
+  <li><a href="../func/filled.html#cdStipple"><font face="Courier"><strong>
+  Stipple</strong></font></a>: does nothing.</li>
+  <li><a href="../func/filled.html#cdPattern"><font face="Courier"><strong>
+  Pattern</strong></font></a>: does nothing.</li>
+  <li><a href="../func/text.html#cdTextSize"><font face="Courier"><strong>
+  TextSize</strong></font></a>: returns a bounding box usually larger than the text (the computation is based on the 
+  widest character).</li>
+  <li><a href="../func/text.html#cdTextOrientation"><font face="Courier">
+  <strong>
+  TextOrientation</strong></font></a>: does nothing.</li>
+  <li><a href="../func/text.html#cdFont"><font face="Courier"><strong>Font</strong></font></a>: 
+  italic styles correspond to the basic styles with an inclination of 15<sup>o</sup>. See the font mapping table for the 
+  equivalence used to map fonts of the CD library into AutoCAD&nbsp; fonts. No 
+  other fonts are supported.</li>
+</ul>
+<div align="center">
+  <center>
+  <table border="1" cellpadding="5">
+    <caption valign="top"><font size="4">Font Mapping</font></caption>
+    <tr>
+      <th>CD Fonts</th>
+      <th>AutoCAD Fonts</th>
+    </tr>
+    <tr>
+      <td><font face="Courier">S</font><span style="font-family: Courier">ystem</span></td>
+      <td><font face="Courier">STANDARD (sem arquivo)</font></td>
+    </tr>
+    <tr>
+      <td><font face="Courier">Courier</font></td>
+      <td><font face="Courier">ROMAN (romanc.shx)</font></td>
+    </tr>
+    <tr>
+      <td><font face="Courier">Courier + CD_BOLD</font></td>
+      <td><font face="Courier">ROMAN_BOLD (romant.shx)</font></td>
+    </tr>
+    <tr>
+      <td><font face="Courier">Times</font></td>
+      <td><font face="Courier">ROMANTIC (rom_____.pfb)</font></td>
+    </tr>
+    <tr>
+      <td><font face="Courier">Times + CD_BOLD</font></td>
+      <td><font face="Courier">ROMANTIC_BOLD (romb_____.pfb)</font></td>
+    </tr>
+    <tr>
+      <td><font face="Courier">Helvetica</font></td>
+      <td><font face="Courier">SANSSERIF (sas_____.pfb)</font></td>
+    </tr>
+    <tr>
+      <td><font face="Courier">Helvetica + CD_BOLD</font></td>
+      <td><font face="Courier">SANSSERIF_BOLD (sasb____.pfb)</font></td>
+    </tr>
+  </table>
+  </center>
+</div>
+<h4>Colors</h4>
+<ul>
+  <li><a href="../func/attributes.html#cdForeground"><font face="Courier">
+  <strong>
+  Foreground</strong></font></a>: indexes<font face="Courier"> long int *color</font>&nbsp; in the fixed palette 
+  (AutoCAD uses a 256-color palette -&nbsp; for further detail, see AutoCAD's Reference Manual).</li>
+  <li><a href="../func/attributes.html#cdBackground"><font face="Courier">
+  <strong>
+  Background</strong></font></a>: does nothing, returns <font face="Courier">CD_WHITE</font>.</li>
+  <li><a href="../func/color.html#cdGetColorPlanes"><font face="Courier">
+  <strong>
+  GetColorPlanes</strong></font></a>: returns 8.</li>
+  <li><a href="../func/color.html#cdPalette"><font face="Courier"><strong>Palette</strong></font></a>: 
+  does nothing (the palette is fixed). </li>
+</ul>
+<h4>Client Images</h4>
+<ul>
+  <li>All functions do nothing.</li>
+</ul>
+<h4>Server Images </h4>
+<ul>
+  <li>All functions do nothing.</li>
+</ul>
+<p>&nbsp;</p>
+
+</body>
+
+</html>
diff --git a/html/en/drv/emf.html b/html/en/drv/emf.html
new file mode 100644
index 0000000..1f7b462
--- /dev/null
+++ b/html/en/drv/emf.html
@@ -0,0 +1,84 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>CD_EMF</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_EMF - Enhanced Metafile Driver (cdemf.h)</h2>
+
+  <p>This driver allows generating a Microsoft Windows Enhanced Metafile, the 
+  format used by 32-bit Windows systems to store graphics primitives. Usually, 
+  the filename has an extension &quot;*.emf&quot;.</p>
+  <p>The driver works only in the Microsoft Windows platform, but you can use it 
+  in other platforms without the risk of compilation error. If you attempt to 
+  create a canvas in another platform, function <font face="Courier"><strong>
+  cdCreateCanvas</strong></font> will return NULL.</p>
+
+<h3>Use</h3>
+
+  <p>The canvas is created by means of a call to function <font face="Courier">
+  <a href="../func/init.html#cdCreateCanvas">
+  <strong>cdCreateCanvas</strong></a>(CD_EMF, Data)</font>, after which other CD 
+  functions can be called as usual. Parameter <font face="Courier">Data</font> 
+  has the following format:</p>
+  
+    <pre><em>&quot;filename widthxheight&quot;     </em>or in C <em>&quot;<strong><tt>%s %dx%d</tt></strong>&quot;</em></pre>
+  
+  <p>It must include the filename and the canvas' dimensions.<font face="Courier">
+  </font>The filename must be inside double quotes (&quot;) if it has spaces.<font face="Courier"> 
+  Width</font> and <font face="Courier">height</font> are provided in pixels 
+  (note the lowercase &quot;x&quot; between them). Resolution (the number of pixels per 
+  millimeter) is always the screen resolution.</p>
+  <p>Any amount of such canvases may exist simultaneously. Function
+  <font face="Courier"><strong>cdCreateCanvas</strong></font> <b>opens</b> the 
+  file, and a call to function
+  <a href="../func/init.html#cdKillCanvas">
+  <font face="Courier"><strong>cdKillCanvas</strong></font></a> is required to
+  <b>close</b> the file properly.</p>
+<p>To use this driver in Windows using GDI+ is necessary to call 
+<font face="Courier"><strong>
+  cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong> 
+before creating the canvas. If you intend to use <strong>cdCanvasPlay</strong> 
+to interpret the EMF, then do not use GDI+ to generate the metafile. GDI+ 
+extensively use internal transformations that will affect the <strong>
+cdCanvasPlay</strong> interpretation. Also some interior style will not be 
+correctly interpreted.</p>
+
+<h3>Behavior of Functions</h3>
+
+  <p>This driver is greatly platform-dependent. For further detail, see the <b>
+  Behavior of Functions</b> of the <a href="win32.html">Microsoft Windows (GDI)</a> 
+  or <a href="gdiplus.html">Windows Using GDI+</a> platform base drivers. It has 
+  been noticed that EMF, when saved in the Windows 95 environment, is not 
+  totally compatible with EMF saved in the Windows NT environment.</p>
+
+<h4>Control Functions</h4>
+<ul>
+  <li><a href="../func/other.html#cdPlay">
+  <font face="Courier"><strong>Play</strong></font></a>: different from the 
+  basic driver, is implemented. Not implemented using GDI+.</li>
+  <li>
+  <a href="../func/control.html#cdClear">
+  <font face="Courier"><strong>Clear</strong></font></a>: different from the 
+  basic driver, does nothing.</li>
+</ul>
+<h4>Client Images&nbsp;</h4>
+<ul>
+  <li>
+  <a href="../func/client.html#cdGetImageRGB">
+  <font face="Courier"><strong>GetImageRGB</strong></font></a>: does nothing.</li>
+</ul>
+<h4>Server Images</h4>
+<ul>
+  <li>All functions do nothing.</li>
+</ul>
+
+</body>
+
+</html>
diff --git a/html/en/drv/gdiplus.html b/html/en/drv/gdiplus.html
new file mode 100644
index 0000000..e4a2810
--- /dev/null
+++ b/html/en/drv/gdiplus.html
@@ -0,0 +1,200 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
+
+<head>
+<meta http-equiv="Content-Language" content="en">
+<title>GDI+</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>Microsoft Windows Base <em style="font-style: normal">Driver</em> Using GDI+</h2>
+
+  <p>This driver represents a base driver for all system-dependent drivers implemented in the Microsoft Windows system, 
+  but uses a new API called GDI+. The drivers <b>Clipboard, Native Window</b>, <b>IUP</b>, <b>Image</b>, <b>Printer</b>,
+  <b>EMF</b> and <b>Double Buffer</b> were implemented. The driver <b>WMF</b>, and the function <font face="Courier">
+  <strong>cdPlay</strong></font> of the <b>Clipboard</b> and <b>EMF</b> drivers were not implemented using GDI+.</p>
+  <p>The main motivation for the use of GDI+ was transparency for all the primitives. Beyond that we got other features 
+  like anti-aliasing, gradient filling, bezier lines and filled cardinal splines.</p>
+  <p>This driver still does not completely replace the GDI Windows base driver, because GDI+ does not have support for 
+  XOR. Also the applications need to adapt the rendering of text that is slightly different from GDI. It is know that 
+  GDI+ can be slower than GDI in some cases and faster in other cases, Microsoft does not make this clear.</p>
+  <p>So we let the programmer to choose what to use. We created the function <font face="Courier"><strong>
+  cdUseContextPlus</strong></font> that allows to activate or to deactivate the use of GDI+ for the available 
+	Windows based drivers. 
+  This function affects only the <font face="Courier"><strong>cdCreateCanvas</strong></font> function call, once created 
+  the canvas will be always a GDI+ canvas. In fact the function affects primary the definitions 
+	<font face="Courier"><strong>CD_NATIVEWINDOW</strong></font>, 
+  <strong><span style="font-family: Courier">CD_IMAGE</span></strong>, <strong>
+  <span style="font-family: Courier">CD_PRINTER</span></strong>, <strong>
+  <span style="font-family: Courier">CD_EMF</span></strong>, <strong>
+  <span style="font-family: Courier">CD_DBUFFER</span></strong> and <strong>
+  <span style="font-family: Courier">CD_CLIPBOARD</span></strong>, because they are 
+  function calls and not static defines.</p>
+  <p>Using GDI+ it is allowed to create more that one canvas at the same time for the same Window. And they can co-exist 
+  with a standard GDI canvas.</p>
+  <p>To enable the use of GDI+ based drivers you must call the initialization function <font face="Courier"><strong>
+  cdInitContextPlus()</strong></font> once and link to the libraries &quot;<strong>cdcontextplus.lib</strong>&quot; and &quot;<strong>gdiplus.lib</strong>&quot;. 
+  Also the file &quot;<strong>gdiplus.dll</strong>&quot; must be available in your system. These files already came with Visual 
+  C++ 7 and Windows XP. For other compilers or systems you will need to copy the &quot;.lib&quot; file for you libraries area, and 
+  you will need to copy the DLL for the Windows\System (Win98/Me) or Windows\System32 (Win2000/NT4-SP6) folder. The 
+  gdiplus files can be obtained from
+  <a href="http://www.microsoft.com/downloads/details.aspx?familyid=6a63ab9c-df12-4d41-933c-be590feaa05a&displaylang=en">
+  Microsoft</a> or from <a href="../../download/gdiplus.zip">here</a>.</p>
+  <p>In CDLua it is not necessary any additional initialization, but the 
+	application must still be linked with the <strong>cdcontextplus.lib</strong> 
+	library or a <strong>require&quot;cdluacontextplus&quot;</strong> can be used when 
+	using dynamic libraries.</p>
+
+<h3>Behavior of Functions</h3>
+<h4>Control</h4>
+<ul>
+  <li><a href="../func/other.html#cdPlay"><font face="Courier"><strong>Play</strong></font></a>: 
+  does nothing, returns <font face="Courier">CD_ERROR</font>. </li>
+</ul>
+<h4>Coordinate System and Clipping</h4>
+<ul>
+  <li><a href="../func/coordinates.html#cdUpdateYAxis"><font face="Courier">
+  <strong>UpdateYAxis</strong></font></a>: the orientation of axis Y is the opposite to its orientation in the CD 
+  library. Except when using transformations.</li>
+</ul>
+<h4>Primitives</h4>
+<ul>
+  <li><font face="Courier"><strong><a href="../func/marks.html#cdPixel">Pixel</a></strong></font>: 
+  uses GDI. Excepting when the canvas is an image so it is done using GDI+.</li>
+  <li><font face="Courier"><a href="../func/filled.html#cdSector"><b>Sector</b></a></font>: 
+  it also draws an arc in the same position to complete the size of the sector.</li>
+  <li><font face="Courier"><a href="../func/text.html#cdText"><b>Text</b></a></font>: 
+  opaque text is simulated using a rectangle in the back.</li>
+  <li><a href="../func/lines.html#cdBegin"><font face="Courier"><strong>Begin</strong></font></a>: 
+  Beyond the standard modes it accepts the additional modes: <strong><tt>CD_FILLSPLINE</tt></strong> and <strong><tt>
+  CD_FILLGRADIENT</tt></strong>. The C definitions of these modes are available in the <b>cdgdiplus.h</b> header.<br>
+  <strong><tt><br>
+  CD_SPLINE</tt></strong> defines the points of a curve constructed by a cardinal spline. Uses the current line style.<br>
+  <strong><tt>CD_FILLSPLINE</tt></strong> defines the points of a filled curve constructed by a cardinal spline. Uses 
+  the current interior style.<br>
+  <strong><tt>CD_FILLGRADIENT</tt></strong> defines the points of a filled polygon. It is filled with a gradient from 
+  colors in each vertex to a color in its center. The colors are defined by the &quot;<strong><tt>GRADIENTCOLOR</tt></strong>&quot; 
+  attribute, that must be set before each <strong><tt>cdVertex</tt></strong> call and before <strong><tt>cdEnd</tt></strong> 
+  for the center color. This will not affect the current interior style.</li>
+</ul>
+<h4>Attributes </h4>
+<ul>
+  <li><a href="../func/filled.html#cdBackOpacity"><font face="Courier"><strong>
+  BackOpacity</strong></font></a>: only changes the transparency of the background color to 0 (transparent) or 255 
+  (opaque).</li>
+  <li><a href="../func/filled.html#cdHatch"><font face="Courier"><strong>Hatch</strong></font></a>: 
+  diagonal styles are drawn with anti-aliasing.</li>
+  <li><a href="../func/attributes.html#cdWriteMode"><font face="Courier">
+  <strong>
+  WriteMode</strong></font></a>: does nothing. There is no support for XOR or NOT_XOR.</li>
+  <li><a href="../func/filled.html#cdPattern"><font face="Courier"><strong>
+  Pattern</strong></font></a>: each pixel can contain transparency information.</li>
+  <li><font face="Courier"><strong><a href="../func/lines.html#cdLineStyle">
+  LineStyle</a></strong></font>: uses a custom GDI+ style when line width is 1. In World Coordinates the line style 
+  has its scaled changed.</li>
+  <li><a href="../func/text.html#cdFontDim"><font face="Courier"><strong>FontDim</strong></font></a>: 
+  the maximum width is estimated from the character &quot;W&quot;.</li>
+  <li><font face="Courier"><strong><a href="../func/text.html#cdTextAlignment">
+  TextAlignment</a></strong></font>: is simulated. Although GDI+ has text alignment, the results 
+  do not match the CD text alignment.</li>
+  <li><a href="../func/text.html#cdNativeFont"><font face="Courier"><strong>
+  NativeFont</strong></font></a>: also accepts <em><strong>&quot;-d&quot;</strong></em><strong>
+  </strong>&nbsp;to show the font-selection dialog box.</li>
+  <li><a href="../func/text.html#cdFont"><font face="Courier"><strong>Font</strong></font></a>: 
+  &quot;System&quot; is mapped to &quot;MS Sans Serif&quot;, &quot;Courier&quot; is mapped to &quot;Courier New&quot;, 
+  &quot;Helvetica&quot; is mapped to &quot;Arial&quot;, and &quot;Times&quot; is mapped to &quot;Times New Roman&quot;. 
+  Underline and Strikeout are supported.</li>
+</ul>
+<h4>Colors </h4>
+<ul>
+  <li><a href="../func/color.html#cdPalette"><font face="Courier"><strong>Palette</strong></font></a>: 
+  works only when the canvas is a server image.</li>
+  <li><a href="../func/attributes.html#cdForeground"><font face="Courier">
+  <strong>
+  Foreground</strong></font></a> &amp;
+  <a href="../func/attributes.html#cdBackground">
+  <font face="Courier"><strong>Background</strong></font></a>: accepts the transparency information encoded in the 
+  color.</li>
+</ul>
+<h4>Client Images </h4>
+<ul>
+  <li><a href="../func/client.html#cdGetImageRGB"><font face="Courier"><strong>
+  GetImageRGB</strong></font></a>: uses GDI. Excepting when the canvas is an image so it is done using GDI+.</li>
+</ul>
+<h4>Server Images </h4>
+<ul>
+  <li><strong><a href="../func/server.html#cdGetImage">GetImage</a></strong>: 
+  uses GDI. Excepting when the canvas is an image so it is done using GDI+.</li>
+  <li><strong><a href="../func/server.html#cdScrollArea">ScrollArea</a></strong>: 
+  uses GDI. Excepting when the canvas is an image so it is done using GDI+.</li>
+</ul>
+<h4>Exclusive Attributes</h4>
+<ul>
+  <li>&quot;<span style="font-family: Courier"><strong>GDI+</strong></span>&quot;: 
+  returns &quot;1&quot;. So the application can detect if the driver uses the GDI+ base 
+  driver. Other drivers that do not implement this attribute will return NULL.</li>
+</ul>
+<ul>
+  <li>&quot;<b><font face="Courier">HDC</font></b>&quot;: returns the HDC of the Win32 canvas. It can only be retrieved (get 
+  only). In Lua is returned as a user data. It is not NULL only in some Native Windows canvas and in the printer canvas.</li>
+</ul>
+<ul>
+  <li>&quot;<b><font face="Courier">ANTIALIAS</font></b>&quot;: controls the use of anti-aliasing 
+  for the text, image zoom and line 
+  drawing primitives. Assumes values &quot;1&quot; (active) and &quot;0&quot; (inactive). Default value: &quot;1&quot;. </li>
+</ul>
+<ul>
+  <li>&quot;<b><font face="Courier">GRADIENTCOLOR</font></b>&quot;: necessary for the creation of the gradient fill defined by a 
+  polygon (see details in the function <font face="Courier"><strong>cdBegin</strong></font> above). Defines the color of 
+  each vertex and the center (%d %d %d&quot; = r g b). It can not be retrieved (set only).</li>
+</ul>
+<ul>
+  <li>&quot;<b><font face="Courier">IMAGETRANSP</font></b>&quot;: defines an interval of colors to be considered transparent in 
+  client and server images (except for RGBA images). It uses two colors to define the interval (&quot;%d %d %d %d %d %d&quot; = r1 
+  g1 b1 r2 g3 b3). Use NULL to remove the attribute. </li>
+</ul>
+<ul>
+  <li>&quot;<b><font face="Courier">IMAGEFORMAT</font></b>&quot;: defines the number of bits per pixel used to create server 
+  images. It uses 1 integer that can have the values: &quot;32&quot; or &quot;24&quot; (%d). Use NULL to remove the attribute. It is used 
+  only in the <font face="Courier"><strong>cdCreateImage</strong></font>. When not defined, the server images use the 
+  same format of the canvas.</li>
+</ul>
+<ul>
+  <li>&quot;<strong><font face="Courier">IMAGEALPHA</font></strong>&quot;:&nbsp; allows the usage of an alpha channel for server 
+  images if  IMAGEFORMAT=32. The attribute format is a pointer to the transparency values in a sequence of chars in 
+  the same format of alpha for client images. The attribute is used  in the <strong>
+  <font face="Courier">cdCreateImage</font></strong> and for every <font face="Courier"><strong>
+  cdPutImageRect</strong></font>,  the pointer must exists while the image exists. The alpha values are transfered to 
+  the image only in <font face="Courier"><strong>cdPutImageRect</strong></font>, so they can be freely changed any time. 
+  The data is not duplicated, only the pointer is stored. The size of the data must be the same size of the image. Use 
+  NULL to remove the attribute. Not accessible in Lua.</li>
+</ul>
+<ul>
+  <li>&quot;<b><font face="Courier">IMAGEPOINTS</font></b>&quot;:&nbsp; define 3 coordinates of a paralelogram that will be used 
+  to warp server and client images in the subsequent calls of <font face="Courier"><strong>PutImage</strong></font> 
+  functions. Use 6 integer values inside a string (&quot;%d %d %d %d %d %d&quot; = x1 y1 x2 y2 x3 y3). Use NULL to remove the 
+  attribute. The destination rectangle of the <font face="Courier"><strong>PutImage</strong></font> functions will be 
+  ignored. The respective specified points are the upper-left corner, the upper-right corner and the lower left corner. 
+  In GDI+ this attribute is more complete than in GDI, because affects also client images.</li>
+</ul>
+<ul>
+  <li>&quot;<b><font face="Courier">ROTATE</font></b>&quot;:&nbsp; allows the usage of 1 angle and 1 coordinate (x, y), that 
+  define a global rotation transformation centered in the specified coordinate. Use 1 real and 2 integer values inside a 
+  string (&quot;%g %d %d&quot; = angle x y).</li>
+</ul>
+<ul>
+  <li><b><font face="Courier">&quot;LINEGRADIENT&quot;: </font></b>defines a filled interior style that uses a line gradient 
+  between two colors. It uses 2 points (&quot;%d %d %d %d&quot; = x1 y1 x2 y2), one for the starting point using (using the 
+  foreground color), and another one for the end point (using the background color).</li>
+</ul>
+<ul>
+  <li><b><font face="Courier">&quot;LINECAP&quot;: </font></b>defines addicional line cap styles. It can have the following 
+  values: &quot;Triangle&quot;, &quot;NoAnchor&quot;, &quot;SquareAnchor&quot;, &quot;RoundAnchor&quot;, &quot;DiamondAnchor&quot;, or &quot;ArrowAnchor&quot;. It can not be 
+  retrieved (set only).</li>
+</ul>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/html/en/drv/image.html b/html/en/drv/image.html
new file mode 100644
index 0000000..f19b3b3
--- /dev/null
+++ b/html/en/drv/image.html
@@ -0,0 +1,57 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>CD_IMAGE</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_IMAGE - Server Image Driver (cdimage.h)</h2>
+
+  <p>This driver provides access to a Server Image, a memory-based 
+  high-performance image that corresponds to the attributes of the system's 
+  devices. It is used for offscreen drawings.</p>
+
+<h3>Use</h3>
+
+  <p>The canvas is created by means of a call to function
+  <a href="../func/init.html#cdCreateCanvas">
+  <font face="Courier"><strong>cdCreateCanvas</strong></font></a><font face="Courier">(CD_IMAGE, 
+  Data)</font>, after which other functions in the CD library can be called as 
+  usual. The function creates a CD canvas based on an existing Server Image. The
+  <font face="Courier">Data</font> parameter must be a pointer to an image 
+  created with function&nbsp;
+  <a href="../func/server.html#cdCreateImage">
+  <font face="Courier"><strong>cdCreateImage</strong></font></a>.</p>
+  <p>Any amount of such canvases may exist simultaneously. It is important to 
+  note that a call to function
+  <a href="../func/init.html#cdKillCanvas">
+  <font face="Courier"><strong>cdKillCanvas</strong></font></a> is required to 
+  properly <b>end</b> the driver. You can call function
+  <a href="../func/server.html#cdKillImage">
+  <font face="Courier"><strong>cdKillImage</strong></font></a> only after 
+  calling <font face="Courier"><strong>cdKillCanvas</strong></font>.</p>
+  <p>For use with CDLUA, the Server Image passed as parameter must have been 
+  created with function <strong><font face="Courier">cd.CreateImage</font></strong> 
+  in Lua.</p>
+<p>To use this driver in Windows using GDI+ is necessary to call 
+<font face="Courier"><strong>
+  cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong> 
+before creating the canvas.</p>
+
+<h3>Behavior of Functions</h3>
+
+  <p>This driver is greatly platform-dependent. For further detail, see the <b>
+  Behavior of Functions</b> in each platform: <a href="win32.html">Microsoft 
+  Windows (GDI)</a>, <a href="gdiplus.html">Windows Using GDI+</a>,
+  <a href="xwin.html">X-Windows (XLIB)</a>. However, it should be noted that 
+  some functions behave differently from the basic functions of each platform.</p>
+
+
+</body>
+
+</html>
diff --git a/html/en/drv/irgb.html b/html/en/drv/irgb.html
new file mode 100644
index 0000000..3ab71f4
--- /dev/null
+++ b/html/en/drv/irgb.html
@@ -0,0 +1,117 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>CD_IMAGERGB</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_IMAGERGB - RGB Client Image Driver (cdirgb.h)</h2>
+
+  <p>This driver allows access to a Client Image, an imaged based in RGB colors with 24 
+  or 32 bits per pixel (8 per channel). 
+  It is used to implement high-quality offscreen drawings, but is slower than the Server Image version. In fact, it is a 
+  rasterizer, that is, it converts vector primitives into a raster representation. All primitives are implemented by the 
+  library and are not system-dependent (the primitives of the Server Image version are system-dependent).</p>
+
+<h3>Use</h3>
+
+  <p>The canvas is created by means of a call to the function <font face="Courier">
+  <a href="../func/init.html#cdCreateCanvas"><strong>cdCreateCanvas</strong></a>(CD_IMAGERGB, 
+  Data)</font>, after which other functions in the CD library can be called as usual. The function creates an RGB image, 
+  and then a CD canvas. The <font face="Courier">Data</font> parameter string has the following format:</p>
+  
+    <pre><em>&quot;width<strong>x</strong>height [r g b] -<strong>r</strong>[resolution]&quot;</em>      in C &quot;<em><strong><tt>%dx%d %p %p %p -r%g&quot;
+or
+</tt></strong>&quot;width<strong>x</strong>height [r g b a] -<strong>r</strong>[resolution] -<strong>a</strong>&quot;</em>    in C &quot;<em><strong><tt>%dx%d %p %p %p %p -r%g -a&quot;</tt></strong></em></pre>
+  
+  <p>It must include the canvas' dimensions.<font face="Courier"> Width</font> and <font face="Courier">height</font> 
+  are provided in pixels (note the lowercase &quot;x&quot; between them). As an option, you can specify the buffers to be used by 
+  the driver, so that you can draw over an existing image. The resolution can be defined with parameter
+  <font face="Courier">-r</font>; its default value is &quot;3.78 pixels/mm&quot; (96 DPI).&nbsp;</p>
+<p>When the parameter -a is specified an alpha channel will be added to the 
+canvas underlying image. All primitives will be composed using an over operator 
+if the foreground or background colors have alpha components. This channel is 
+initialized with transparent (0). The other channels are initialized with white 
+(255, 255, 255). After drawing in the RGBA image the resulting alpha channel can 
+be used to compose the image in another canvas.</p>
+<p>All channels are initialized only when allocated internally by the driver. 
+They are not initialized when allocated by the application.</p>
+  <p>Any amount of such canvases may exist simultaneously. It is important to note that a call to function
+  <a href="../func/init.html#cdKillCanvas"><strong>cdKillCanvas</strong></a> is required to 
+  release internal allocated memory.</p>
+  <p>In Lua, the canvas can be created in two ways: with an already defined image or without it. With an image, an RGB 
+  image must be passed as parameter, created by functions <strong>
+  <a href="../func/client.html#cdCreateImageRGB">cd.CreateImageRGB</a>,</strong> 
+  <strong><a href="../func/client.html#cdCreateImageRGBA">cd.CreateImageRGBA</a></strong> or <strong>
+  <a href="../func/client.html#cdCreateBitmap">cd.CreateBitmap</a></strong> 
+  in Lua. The resolution must be passed in an extra parameter after the image.</p>
+
+<h3>Exclusive Functions</h3>
+
+<h4><font face="Courier">cd.ImageRGB(canvas: cdCanvas) -&gt; (imagergb: cdImageRGB 
+or cdImageRGBA) [in Lua]<br>
+cd.ImageRGBBitmap(canvas: cdCanvas) -&gt; (bitmap: cdBitmap) [in Lua]</font></h4>
+
+  <p>Returns the canvas' internal image.</p>
+
+<h3>Behavior of Functions</h3>
+
+  <p>All primitives are from the Simulation driver, see the <a href="sim.html">Simulation</a> driver's documentation for 
+  further information.</p>
+
+<h4>Control</h4>
+<ul>
+  <li><a href="../func/control.html#cdFlush"><font face="Courier"><strong>Flush</strong></font></a>: 
+  does nothing.</li>
+  <li><a href="../func/other.html#cdPlay"><font face="Courier"><strong>Play</strong></font></a>: 
+  does nothing, returns <font face="Courier">CD_ERROR</font>. </li>
+</ul>
+<h4>Coordinate System and Clipping </h4>
+<ul>
+  <li><a href="../func/coordinates.html#cdUpdateYAxis"><font face="Courier">
+  <strong>UpdateYAxis</strong></font></a>: does nothing. The axis orientation is the same as the CD library's.</li>
+</ul>
+<h4>Colors </h4>
+<ul>
+  <li><a href="../func/color.html#cdGetColorPlanes"><font face="Courier">
+  <strong>
+  GetColorPlanes</strong></font></a>: returns 24 if no alpha, returns 32 if 
+  exists an alpha channel.</li>
+  <li><a href="../func/color.html#cdPalette"><font face="Courier"><strong>Palette</strong></font></a>: 
+  does nothing.</li>
+  <li><a href="../func/attributes.html#cdForeground"><font face="Courier">
+  <strong>
+  Foreground</strong></font></a> &amp;
+  <a href="../func/attributes.html#cdBackground">
+  <font face="Courier"><strong>Background</strong></font></a>: accepts the transparency information encoded in the 
+  color.</li>
+</ul>
+<h4>Exclusive Attributes</h4>
+<ul>
+  <li>&quot;<strong><font face="Courier">REDIMAGE</font></strong>&quot;, &quot;<strong><font face="Courier">GREENIMAGE</font></strong>&quot;, 
+  &quot;<strong><font face="Courier">BLUEIMAGE</font></strong>&quot;, &quot;<span style="font-family: Courier"><strong>ALPHA</strong></span><strong><font face="Courier">IMAGE</font></strong>&quot;: return the respective pointers of the canvas image (read-only). Not accessible in Lua.</li>
+</ul>
+
+<ul>
+  <li>&quot;<b><font face="Courier">ANTIALIAS</font></b>&quot;: controls the use of anti-aliasing 
+  for line primitives. Assumes values &quot;1&quot; (active) and &quot;0&quot; (inactive). Default value: &quot;1&quot;. 
+  Notice that text is always antialiased.</li>
+</ul>
+
+<ul>
+  <li>&quot;<b><font face="Courier">ROTATE</font></b>&quot;:&nbsp; allows the usage of 1 
+  angle and 1 coordinate (x, y), that define a global rotation transformation 
+  centered in the specified coordinate. Use 1 real and 2 integer values inside a 
+  string (&quot;%g %d %d&quot; = angle x y). In this driver will change the 
+  current transformation matrix, if removed will reset the current 
+  transformation matrix.</li>
+</ul>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/html/en/drv/iup.html b/html/en/drv/iup.html
new file mode 100644
index 0000000..90f11d9
--- /dev/null
+++ b/html/en/drv/iup.html
@@ -0,0 +1,65 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>CD_IUP</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_IUP - IUP Driver (cdiup.h)</h2>
+
+  <p>This driver provides access to an interface element of a IUP canvas. IUP is a portable user-interface library used 
+  to create portable user-interface applications. See
+	<a target="_top" href="http://www.tecgraf.puc-rio.br/iup">IUP documentation</a>.</p>
+
+<h3>Use</h3>
+
+  <p>The canvas is created by means of a call to the function <font face="Courier">
+  <a href="../func/init.html#cdCreateCanvas"><strong>cdCreateCanvas</strong></a>(CD_IUP, 
+  Data)</font>, after which other CD functions can be called as usual. This function creates a CD canvas based on the 
+  existing IUP canvas. The parameter <font face="Courier">Data</font> is a pointer to a handle of the IUP canvas (<font face="Courier">Ihandle*</font>). 
+  For use with CDLUA, a canvas created with IUPLUA must necessarily be passed as parameter.</p>
+  <p>Any amount of such canvases may exist simultaneously, but they should not use the same IUP canvas. It is important 
+  to note that a call to function <a href="../func/init.html#cdKillCanvas">
+  <font face="Courier"><strong>cdKillCanvas</strong></font></a> is required to <b>close</b> the file properly.</p>
+  <p>The CD canvas is automatically stored in the IUP canvas as the <strong>&quot;<font face="Courier">_CD_CANVAS</font>&quot;</strong> 
+  attribute.</p>
+  
+
+
+  <p>To use this driver, it must be linked with the &quot;<b><font face="Courier">iupcd</font></b>&quot; 
+	library available in the 
+	IUP distribution. </p>
+  <p>In Lua, it is necessary to call function <strong><font face="Courier">cdluaiup_open() </font></strong>after a call 
+  to function <strong><font face="Courier">cdlua_open()</font></strong>, apart from linking with the &quot;<strong><font face="Courier">iupluacd</font></strong>&quot; 
+  library. To use with require must be require&quot;iupluacd&quot; or require&quot;iupluacd51&quot;.</p>
+  <p>To use this driver in Windows using GDI+ is necessary to call 
+  <font face="Courier"><strong>
+  cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong> 
+  before creating the canvas.</p>
+
+<h3>Behavior of Functions</h3>
+
+  <p>This driver is greatly platform-dependent, but little dependent on the IUP library. For further detail, see the <b>
+  Behavior of Functions</b> in each platform: <a href="win32.html">Microsoft Windows (GDI)</a>, <a href="gdiplus.html">
+  Windows Using GDI+</a>, <a href="xwin.html">X-Windows (XLIB)</a>. However, it should be noted that some functions 
+  behave differently from the basic functions of each platform.</p>
+
+<h4>Control&nbsp;</h4>
+<ul>
+  <li><a href="../func/init.html#cdActivate"><font face="Courier"><strong>
+  cdCanvasActivate</strong></font></a>: updates the canvas size; the IUP canvas might have been resized.</li>
+</ul>
+<h4>Exclusive Attributes</h4>
+<ul>
+  <li>&quot;<b><font face="Courier">WINDOWRGN</font></b>&quot;: set the shape of a window to the current complex clipping region 
+  (set only). If data is NULL the region is reset.</li>
+</ul>
+
+</body>
+
+</html>
diff --git a/html/en/drv/mf.html b/html/en/drv/mf.html
new file mode 100644
index 0000000..c6157b9
--- /dev/null
+++ b/html/en/drv/mf.html
@@ -0,0 +1,80 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>CD_METAFILE</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_METAFILE - CD Metafile Driver (cdmf.h)</h2>
+
+  <p>This driver allows the generation of a CD Metafile, a very simple format that includes calls to functions of the CD 
+  library and provides persistence to its primitives.</p>
+
+<h3>Use</h3>
+
+  <p>The file is created by calling function <font face="Courier">
+  <a href="../func/init.html#cdCreateCanvas"><strong>cdCreateCanvas</strong></a>(CD_METAFILE, 
+  Data)</font>. The <font face="Courier">Data</font> parameter is a string that must contain the filename and the canvas 
+  dimensions, in the following format:</p>
+  
+    <pre>&quot;<i>filename </i>[widthxheight resolution]&quot; or in <em>C use &quot;<strong><tt>%s %gx%g %g</tt></strong>&quot;</em></pre>
+  
+  <p>Only the parameter <font face="Courier">filename</font> is required. The filename must be inside double quotes (&quot;) 
+  if it has spaces.<font face="Courier"> Width</font> and <font face="Courier">height</font> are provided in millimeters 
+  (note the lowercase &quot;x&quot; between them), and their default value in pixels is <font face="Courier">INT_MAX</font> for 
+  both dimensions. <font face="Courier">Resolution </font>is the number of pixels per millimeter; its default value is 
+  &quot;3.78 pixels/mm&quot; (96 DPI). <font face="Courier">Width</font>, <font face="Courier">height</font> and
+  <font face="Courier">resolution</font> are real values.</p>
+  <p>Any amount of such canvases may exist simultaneously. It is important to note that a call to function
+  <a href="../func/init.html#cdKillCanvas"><font face="Courier"><strong>
+  cdKillCanvas</strong></font></a> is required to <b>close</b> the file properly.</p>
+  <p><b>Images - </b>Be careful when saving images in the file, because it uses a text format to store all numbers and 
+  texts of primitives, including images, which significantly increases its size.</p>
+  <p><b>Extension -</b> Although this is not required, we recommend the extension used for the file to be &quot;.MF&quot;.</p>
+
+<h3>Behavior of Functions</h3>
+<h4>Coordinate System and Clipping </h4>
+<ul>
+  <li><a href="../func/other.html#cdPlay">
+  <font face="Courier"><strong>Play</strong></font></a>: implemented. </li>
+  <li><a href="../func/coordinates.html#cdUpdateYAxis"><font face="Courier">
+  <strong>UpdateYAxis</strong></font></a>: does nothing.</li>
+  <li><b>Complex Regions</b>: not supported.</li>
+  <li><a href="../func/control.html#cdClear"><font face="Courier"><strong>Clear</strong></font></a>: 
+  removes all primitives from the picture.</li>
+</ul>
+<h4>Attributes</h4>
+<dir>
+  <li><a href="../func/text.html#cdFontDim"><font face="Courier"><strong>FontDim</strong></font></a>: 
+  uses a size estimator, returning approximate values.</li>
+  <li><a href="../func/text.html#cdTextSize"><font face="Courier"><strong>
+  TextSize</strong></font></a>: uses a size estimator, returning approximate values.</li>
+</dir>
+<h4>Colors</h4>
+<ul>
+  <li><a href="../func/color.html#cdGetColorPlanes"><font face="Courier">
+  <strong>
+  GetColorPlanes</strong></font></a>: always returns 24.</li>
+</ul>
+<h4>Primitives</h4>
+<ul>
+  <li>Floating point primitives are supported.</li>
+</ul>
+<h4>Client Images</h4>
+<ul>
+  <li><a href="../func/client.html#cdGetImageRGB"><font face="Courier"><strong>
+  GetImageRGB</strong></font></a>: does nothing.</li>
+</ul>
+<h4>Server Images</h4>
+<ul>
+  <li>All functions do nothing.</li>
+</ul>
+
+</body>
+
+</html>
diff --git a/html/en/drv/native.html b/html/en/drv/native.html
new file mode 100644
index 0000000..20d182a
--- /dev/null
+++ b/html/en/drv/native.html
@@ -0,0 +1,91 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>CD_NATIVEWINDOW</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_NATIVEWINDOW - Native Window Driver (cdnative.h)</h2>
+
+  <p>This driver provides access to an existing Native Window, a basic element of the user-interface system. It also 
+  provides access to other native handles like HDC handles in Windows.</p>
+
+<h3>Use</h3>
+
+  <p>The canvas is created by means of a call to the function <font face="Courier">
+  <a href="../func/init.html#cdCreateCanvas"><strong>cdCreateCanvas</strong></a>(CD_NATIVEWINDOW, 
+  Data)</font>, after which other functions in the CD library can be called as usual. This function <b>creates</b> a CD 
+  canvas based on an existing system canvas. The parameter <font face="Courier">Data</font> is a pointer to a handle of 
+  the canvas. It is system-dependent, having a different meaning in each platform:</p>
+  
+    <p><strong>Microsoft Windows</strong>: can be the handle of the Windows window (<font face="Courier">HWND</font>), 
+    or the handle of a previously created Device Context (<font face="Courier">HDC</font>), or can be a string in the 
+    format &quot;<font face="Courier">hdc width height</font>&quot; or, in C, &quot;<font face="Courier">%p %d %d</font>&quot;. 
+    To get the entire screen use a NULL data.<br>
+    <strong>X-Windows</strong>: It is a string in the format &quot;<font face="Courier">display window</font>&quot; or, in C, &quot;<font face="Courier"><tt>%p 
+    %lu</tt></font>&quot; (uses the default screen).</p>
+  
+  <p>The given parameters must exists until <font face="Courier"><strong>cdKillCanvas</strong></font> is called. The
+  <font face="Courier">HDC</font> is released only if created inside <font face="Courier"><strong>cdCreateCanvas</strong></font> 
+  from an <font face="Courier">HWND</font> or when data is NULL.</p>
+  <p>Any amount of such canvases may exist simultaneously, but they should not use the same window, except if you are 
+  using a GDI canvas and a GDI+ canvas at the same time for the same window.</p>
+  
+  <p>In CDLUA, the creation parameter must be a string in X-Windows and a userdata in Microsoft Windows.</p>
+<p>To use this driver in Windows using GDI+ is necessary to call 
+<font face="Courier"><strong>
+  cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong> 
+before creating the canvas.</p>
+
+<h3>Exclusive Functions</h3>
+<h4><font face="Courier">void cdGetScreenSize(int *width, int *height, double *width_mm, double *height_mm); [in C]<br>
+<font face="Courier New" color="#808080">cd.Get</font></font><font color="#808080"><font face="Courier New">Screen</font><font face="Courier"><font face="Courier New">Size() 
+-&gt; (width, heigth, mm_width, mm_height:</font> <i>number</i><font face="Courier New">)</font> [in Lua]</font></font></h4>
+
+  <p>Equivalent to function <a href="../func/coordinates.html#cdGetCanvasSize">
+  <font face="Courier"><b>cdCanvasGetSize</b></font></a>, but returns the values relative to the main screen of the 
+  window system. It is not necessary to have an active canvas to call this function.</p>
+
+<h4><font face="Courier">int cdGetScreenColorPlanes(void); [in C]<br>
+<font color="#808080">cd.GetScreenColorPlanes() -&gt; (bpp: <em>number</em>) [in Lua</font>]</font></h4>
+
+  <p>Equivalent to function <a href="../func/color.html#cdGetColorPlanes">
+  <font face="Courier"><b>cdCanvasGetColorPlanes</b></font></a>, but returns the value relative to the main screen of the 
+  window system. It is not necessary to have an active canvas to call this function.</p>
+
+<h3>Behavior of Functions</h3>
+
+  <p>This driver is greatly platform-dependent. For further detail, see the <b>Behavior of Functions</b> in each 
+  platform: <a href="win32.html">Microsoft Windows (GDI)</a>, <a href="gdiplus.html">Windows Using GDI+</a>,
+  <a href="xwin.html">X-Windows (XLIB)</a>. However, it should be noted that some functions behave differently from the 
+  basic functions of each platform.</p>
+
+<h4>Control</h4>
+<ul>
+  <li><a href="../func/init.html#cdActivate"><font face="Courier"><strong>
+  cdCanvasActivate</strong></font></a>: updates the canvas size; the window might have been resized. If the canvas was created 
+  using a HDC, the size will not be updated. <br>
+  <br>
+  <span style="color: #FF0000"><strong>IMPORTANT</strong></span>:
+  For the standard Win32 base driver (not GDI+) if your Windows does not have one of the styles CS_OWNDC or CS_CLASSDC, 
+  then a temporary HDC will be created everytime a <strong>cdCanvasActivate</strong> is called. To release this HDC call 
+  <strong>cdCanvasDeactivate</strong> after 
+  drawing. The IupCanvas control of the IUP library in the Win32 driver have the style, so 
+  this should be ignored. But the IupCanvas in the GTK driver running in Win32 
+	does not have this style so 
+  <strong>cdCanvasDeactivate</strong> should be used.</li>
+</ul>
+<h4>Exclusive Attributes</h4>
+<ul>
+  <li>&quot;<b><font face="Courier">WINDOWRGN</font></b>&quot;: set the shape of a window to the current complex clipping region 
+  (set only). If data is NULL the region is reset.</li>
+</ul>
+
+</body>
+
+</html>
diff --git a/html/en/drv/pdf.html b/html/en/drv/pdf.html
new file mode 100644
index 0000000..71ee6b7
--- /dev/null
+++ b/html/en/drv/pdf.html
@@ -0,0 +1,227 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>CD_PDF</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_PDF - PDF Driver (cdpdf.h)</h2>
+
+  <p>This drivers allows generating a PDF file. This format developed for representing documents in a manner that is 
+  independent of the original application software, hardware, and operating system used to create those documents. The 
+  format's copyrights are property of <a href="http://www.adobe.com" target="_top">Adobe Systems</a>. </p>
+  <p>This driver is very similar to the PS driver but it uses the PDFlib library to generate the PDF (<a href="http://www.pdflib.com/">http://www.pdflib.com/</a>). 
+  There are two PDFlib licenses available, one commercial and one free with a flexible license, see
+  <a href="http://www.pdflib.org/purchase/license-lite.html">PDFlib Lite License</a>. The CD_PDF driver works with both 
+  versions. </p>
+<p>By default the pre-compiled library in the distribution uses the PDF Lite version code. The configuration of the PDF Lite code 
+included does not supports image 
+  file formats.&nbsp;The current PDF Lite version is 7.0.2.</p>
+  <p>PDFlib Copyright (c) 1997-2007 Thomas Merz and PDFlib GmbH. All rights reserved. Applications that use this driver 
+  are subject to the <a href="../../download/PDFlib-Lite-license.pdf">PDFlib GmbH License Agreement</a>.</p>
+
+<h3>Use</h3>
+
+  <p>The file is created and opened by calling function <font face="Courier">
+  <a href="../func/init.html#cdCreateCanvas"><strong>cdCreateCanvas</strong></a>(CD_PDF, 
+  Data)</font>, in which <font face="Courier">Data</font> contains the filename and canvas dimensions. This function 
+  opens the file and writes its header. Then, other functions in the CD library can be called as usual. The
+  <font face="Courier">Data</font> parameter string has the following format:</p>
+  
+    <pre>&quot;<em>filename -p[paper] -w[width] -h[height] -s[resolution] [-o]</em>&quot;
+or in C<em>
+&quot;<strong><tt>%s -p%d -w%g -h%g -s%d -o</tt></strong>&quot;</em></pre>
+  
+  <p>The filename must be inside double quotes (&quot;) if it has spaces. Any amount of such canvases may exist 
+  simultaneously. It is important to note that a call to function
+  <a href="../func/init.html#cdKillCanvas"><font face="Courier"><strong>
+  cdKillCanvas</strong></font></a> is required to <b>close</b> the file properly.</p>
+  
+
+
+  <p>To use this driver, the application must be linked with the &quot;<strong>cdpdf</strong>&quot; 
+	and &quot;<strong>pdflib</strong>&quot; libraries. </p>
+  <p><b>Paper Size - </b>The default paper size is A4. It is possible to change it by using one of the predefined sizes 
+  - <strong><tt>CD_A0</tt></strong>, <strong><tt>CD_A1</tt></strong>, <strong><tt>CD_A2</tt></strong>, <strong><tt>CD_A3</tt></strong>,
+  <strong><tt>CD_A4</tt></strong>, <strong><tt>CD_A5</tt></strong>, <strong><tt>CD_LETTER</tt></strong> and <strong><tt>
+  CD_LEGAL</tt></strong> - with parameter &quot;<font face="Courier">-p</font>&quot;. It is also possible to define a paper in a 
+  particular size by using parameters &quot;<font face="Courier">-w</font>&quot; e &quot;<font face="Courier">-h</font>&quot;. Values are 
+  provided in millimeters.</p>
+
+<div align="center">
+  <center>
+  <table border="1" cellpadding="3">
+    <caption valign="top"><font size="4">Default Paper Sizes</font></caption>
+    <tr>
+      <td>&nbsp;</td>
+      <th>Width (mm)</th>
+      <th>Length (mm)</th>
+    </tr>
+    <tr>
+      <td><strong>A0</strong></td>
+      <td align="center">841</td>
+      <td align="center">1187</td>
+    </tr>
+    <tr>
+      <td><strong>A1</strong></td>
+      <td align="center">594</td>
+      <td align="center">841</td>
+    </tr>
+    <tr>
+      <td><strong>A2</strong></td>
+      <td align="center">420</td>
+      <td align="center">594</td>
+    </tr>
+    <tr>
+      <td><strong>A3</strong></td>
+      <td align="center">297</td>
+      <td align="center">420</td>
+    </tr>
+    <tr>
+      <td><strong>A4</strong></td>
+      <td align="center">210</td>
+      <td align="center">297</td>
+    </tr>
+    <tr>
+      <td><strong>A5</strong></td>
+      <td align="center">148</td>
+      <td align="center">210</td>
+    </tr>
+    <tr>
+      <td><strong>Letter</strong></td>
+      <td align="center">216</td>
+      <td align="center">279</td>
+    </tr>
+    <tr>
+      <td><strong>Legal</strong></td>
+      <td align="center">216</td>
+      <td align="center">356</td>
+    </tr>
+  </table>
+  </center>
+</div>
+
+  <p><b>Resolution -</b> Resolution is used to convert values from millimeters to pixels (the same as points, but the 
+  number of points is per inch - DPI). Use parameter &quot;<font face="Courier">-s</font>&quot; to configure the resolution. The 
+  default value is 300 DPI.</p>
+  <p><b>Orientation -</b> The page can be oriented as portrait or landscape. The default value is portrait, but when the 
+  parameter &quot;-o&quot; is used, the horizontal and vertical values are switched.</p>
+  <p>In Lua, it is necessary to call function <strong><font face="Courier">cdluapdf_open() </strong> </font>after a call 
+  to function <strong><font face="Courier">cdlua_open()</font></strong>, apart from linkediting with the &quot;<strong><font face="Courier">cdluapdf</font></strong>&quot; 
+  library.</p>
+
+<h3>Behavior of Functions</h3>
+<h4>Control</h4>
+<ul>
+  <li><a href="../func/other.html#cdPlay"><font face="Courier"><strong>Play</strong></font></a>: 
+  does nothing, returns <font face="Courier">CD_ERROR</font>. </li>
+  <li><a href="../func/control.html#cdFlush"><font face="Courier"><strong>Flush</strong></font></a>: 
+  changes to a new page, preserving the previous one. </li>
+  <li><a href="../func/control.html#cdClear"><font face="Courier"><strong>Clear</strong></font></a>: 
+  does nothing.</li>
+</ul>
+<h4>Coordinate System&nbsp;&amp; Clipping</h4>
+<ul>
+  <li><a href="../func/coordinates.html#cdUpdateYAxis"><font face="Courier">
+  <strong>UpdateYAxis</strong></font></a>: does nothing.</li>
+  <li><b>Complex Regions</b>: not supported.</li>
+</ul>
+<h4>Attributes</h4>
+<ul>
+  <li><a href="../func/attributes.html#cdBackground"><font face="Courier">
+  <strong>
+  Background</strong></font></a> does nothing, returns <font face="Courier">CD_WHITE</font>.</li>
+  <li><a href="../func/filled.html#cdBackOpacity"><font face="Courier"><strong>
+  BackOpacity</strong></font></a>: does nothing, returns <font face="Courier">CD_TRANSPARENT</font>.</li>
+  <li><a href="../func/attributes.html#cdWriteMode"><font face="Courier">
+  <strong>
+  WriteMode</strong></font></a>: does nothing, returns <font face="Courier">CD_REPLACE</font>.</li>
+  <li><a href="../func/filled.html#cdHatch"><font face="Courier"><strong>Hatch</strong></font></a>: 
+  is always opaque.</li>
+  <li><a href="../func/filled.html#cdStipple"><font face="Courier"><strong>
+  Stipple</strong></font></a>: is always opaque.</li>
+  <li><a href="../func/text.html#cdFont"><font face="Courier"><strong>Font</strong></font></a>: 
+  the old &quot;System&quot; font is mapped to the &quot;Courier&quot; font. For 
+  the PDF core fonts styles are added to the font name, for other fonts styles 
+  are simulated by PDFlib. Underline and Strikeout are supported. Following is the core fonts:</li>
+</ul>
+<pre>Courier, Courier-Bold, Courier-Oblique, Courier-BoldOblique,
+Helvetica, Helvetica-Bold, Helvetica-Oblique, Helvetica-BoldOblique,
+Times-Roman, Times-Bold, Times-Italic, Times-BoldItalic,
+Symbol, 
+ZapfDingbats</pre>
+<h4>Colors </h4>
+<ul>
+  <li><a href="../func/color.html#cdGetColorPlanes"><font face="Courier">
+  <strong>
+  GetColorPlanes</strong></font></a>: returns 24.</li>
+  <li><a href="../func/color.html#cdPalette"><font face="Courier"><strong>Palette</strong></font></a>: 
+  does nothing. </li>
+</ul>
+<h4>Client Images</h4>
+<ul>
+  <li><a href="../func/client.html#cdGetImageRGB"><font face="Courier"><strong>
+  GetImageRGB</strong></font></a>: does nothing.</li>
+  <li><font face="Courier"><strong><a href="../func/client.html#cdPutImageMap">
+  PutImageMap</a></strong></font>: stores an RGB image.</li>
+</ul>
+<h4>Primitives</h4>
+<ul>
+  <li><font face="Courier"><strong><a href="../func/marks.html#cdPixel">Pixel</a></strong></font>: 
+  does not exist in PDF, is simulated using a circle with radius=1.</li>
+  <li>Floating point primitives are supported.</li>
+  <li>Filled primitves do not include the line at the edges of the filled area.</li>
+</ul>
+<h4>Server Images</h4>
+<ul>
+  <li>All functions do nothing.</li>
+</ul>
+<h4>Exclusive Attributes</h4>
+<ul>
+  <li><strong><font face="Courier">&quot;POLYHOLE&quot;</font></strong>: defines the index of 
+the vertex where there is a hole in a 
+  closed polygon. It will affect the next <strong>cdEnd</strong>. Can be called several times between
+  <strong>cdBegin</strong> and <strong>cdEnd</strong> to define holes. The value passed must 
+  be a string containing an integer (&quot;%d&quot;). If the value of the attribute passed is NULL, all holes will no longer be 
+  considered.&nbsp;When consulted returns the current number of holes (&quot;%d&quot;). It can have a maximum of 500 holes. 
+  Default: NULL.</li>
+</ul>
+<ul>
+  <li><strong><span style="font-family: Courier">&quot;HATCHBOXSIZE&quot;</span></strong>: 
+  defines the size of smallest hatch box pattern. This affects the spacing 
+  between the hatch lines. The value passed must be a string containing an 
+  integer (&quot;%d&quot;). If the value of the attribute passed is NULL, the value is 
+  rest to the default. When consulted returns the current value (&quot;%d&quot;). Default: 
+  &quot;8&quot;.</li>
+</ul>
+<ul>
+  <li>&quot;<b><font face="Courier">ROTATE</font></b>&quot;:&nbsp; allows the usage of 1 angle and 1 coordinate (x, y), that 
+  define a global rotation transformation centered in the specified coordinate. Use 1 real and 2 integer values inside a 
+  string (&quot;%g %d %d&quot; = angle x y).</li>
+</ul>
+<ul>
+  <li>&quot;<b><font face="Courier">OPAQUE</font></b>&quot;:&nbsp; allows the usage of a global 
+	opacity value. The value passed must be a string containing an integer 
+	(&quot;%d&quot;) [0=full transparent, 255=full opaque]. Use NULL to reset to the 
+	default. Default: 255.</li>
+</ul>
+<ul>
+  <li>&quot;<b><font face="Courier">PATTERN</font></b>&quot;:&nbsp; creates a pattern with 
+	regular primitives (except images). The value passed must be a string 
+	containing two integeres with the pattern size (&quot;%dx%d&quot;) [widthxheight]. 
+	Just call regular primitives. Use NULL to end the pattern creation and set 
+	the interior style.</li>
+</ul>
+<ul>
+  <li>&quot;<b><font face="Courier">PDF</font></b>&quot;:&nbsp;Returns the &quot;PDF*&quot; handle 
+	of the PDFLib.</li>
+</ul>
+
+</body>
+
+</html>
diff --git a/html/en/drv/picture.html b/html/en/drv/picture.html
new file mode 100644
index 0000000..d702555
--- /dev/null
+++ b/html/en/drv/picture.html
@@ -0,0 +1,81 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>CD_METAFILE</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_PICTURE - CD Picture (cdpicture.h)</h2>
+
+  <p>This driver allows the creation of a CD Picture. It store primitives and 
+  attributes in memory that can be played and resized in any other driver. It 
+  does not includes clipping and WriteMode.</p>
+
+<h3>Use</h3>
+
+  <p>The file is created by calling function <font face="Courier">
+  <a href="../func/init.html#cdCreateCanvas"><strong>cdCreateCanvas</strong></a>(CD_PICTURE, 
+  Data)</font>. The <font face="Courier">Data</font> parameter is a string that 
+  can contain the resolution in the following format:</p>
+  
+    <pre>&quot;[resolution]&quot; or in <em>C use &quot;<strong><tt>%lg</tt></strong>&quot;</em></pre>
+  
+  <p><font face="Courier">Resolution </font>is the number of pixels per millimeter; its default value is 
+  &quot;3.78 pixels/mm&quot; (96 DPI).</p>
+<p>The canvas size is automatically calculated to be the bounding box of all the 
+primitives inside the picture.</p>
+  <p>Any amount of such canvases may exist simultaneously. It is important to note that a call to function
+  <a href="../func/init.html#cdKillCanvas"><font face="Courier"><strong>
+  cdKillCanvas</strong></font></a> is required to release the picture memory.</p>
+
+<h3>Behavior of Functions</h3>
+<h4>Coordinate System and Clipping </h4>
+<ul>
+  <li><a href="../func/other.html#cdPlay">
+  <font face="Courier"><strong>Play</strong></font></a>: implemented. </li>
+  <li><a href="../func/coordinates.html#cdUpdateYAxis"><font face="Courier">
+  <strong>UpdateYAxis</strong></font></a>: does nothing.</li>
+  <li><b><strong>Clipping</strong>:</b> not supported.</li>
+  <li><strong>Transformation Matrix</strong>: not supported.</li>
+  <li><a href="../func/coordinates.html#cdGetCanvasSize">cdGetCanvasSize</a>: 
+  returns the size of the bounding box that includes all primitives inside the 
+  picture.</li>
+</ul>
+<h4>Attributes</h4>
+<dir>
+  <li><a href="../func/attributes.html#cdWriteMode"><font face="Courier">
+  <strong>
+  WriteMode</strong></font></a>: does nothing.</li>
+  <li><a href="../func/text.html#cdFontDim"><font face="Courier"><strong>FontDim</strong></font></a>: 
+  uses a size estimator, returning approximate values.</li>
+  <li><a href="../func/text.html#cdTextSize"><font face="Courier"><strong>
+  TextSize</strong></font></a>: uses a size estimator, returning approximate values.</li>
+</dir>
+<h4>Colors</h4>
+<ul>
+  <li><a href="../func/color.html#cdGetColorPlanes"><font face="Courier">
+  <strong>
+  GetColorPlanes</strong></font></a>: always returns 24.</li>
+</ul>
+<h4>Primitives</h4>
+<ul>
+  <li>Floating point primitives are supported.</li>
+</ul>
+<h4>Client Images</h4>
+<ul>
+  <li><a href="../func/client.html#cdGetImageRGB"><font face="Courier"><strong>
+  GetImageRGB</strong></font></a>: does nothing.</li>
+</ul>
+<h4>Server Images</h4>
+<ul>
+  <li>All functions do nothing.</li>
+</ul>
+
+</body>
+
+</html>
diff --git a/html/en/drv/printer.html b/html/en/drv/printer.html
new file mode 100644
index 0000000..d354fe2
--- /dev/null
+++ b/html/en/drv/printer.html
@@ -0,0 +1,83 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>CD_PRINTER</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_PRINTER - Printer Driver (cdprint.h)</h2>
+
+  <p>This driver provides access to a System Default Printer. </p>
+  <p>Currently, it works only in Microsoft Windows platforms, but it is possible 
+  to use it in other platforms without the risk of compilation error. If you 
+  attempt to create a canvas in another platform, the function
+  <a href="../func/init.html#cdCreateCanvas">
+  <font face="Courier"><strong>cdCreateCanvas</strong></font></a> will return 
+  NULL.</p>
+
+<h3>Use</h3>
+
+  <p>The canvas is created by calling function <font face="Courier">
+  <a href="../func/init.html#cdCreateCanvas">
+  <strong>cdCreateCanvas</strong></a>(CD_PRINTER, Data)</font>, after which 
+  other CD functions can be called as usual. The <font face="Courier">Data</font> 
+  string has the following format:</p>
+  
+    <pre><span style="background-color: #CEE7FF">&quot;</span><i>name </i>[-d]&quot; <em>   or in C style &quot;</em><em><strong><tt>%s -d</tt></strong></em><em>&quot;</em></pre>
+  
+  <p><font face="Courier">name</font> is an optional document name that will 
+  appear in the printer queue. Optionally, <font face="Courier">-d</font> 
+  displays the System Printer dialogue box before starting to print, allowing 
+  you to configure the printer's parameters. When using this parameter and the 
+  return canvas is NULL, one must assume that the print was canceled by the 
+  user.</p>
+  <p>Any amount of such canvases may exist simultaneously. It is important to 
+  note that a call to function
+  <a href="../func/init.html#cdKillCanvas">
+  <font face="Courier"><strong>cdKillCanvas</strong></font></a> is required to 
+  properly send the data to the printer.</p>
+  <p><b>Pages -</b> Use
+  <a href="../func/control.html#cdFlush">
+  <font face="Courier"><strong>Flush</strong></font></a> to change to a new 
+  page. You can draw first on page 1, then on page 2 and so forth.</p>
+<p>To use this driver in Windows using GDI+ is necessary to call 
+<font face="Courier"><strong>
+  cdUseContextPlus</strong></font><strong><font face="Courier">(1)</font></strong> 
+before creating the canvas.</p>
+
+<h3>Behavior of Functions</h3>
+
+  <p>This driver is greatly platform-dependent. For further detail, see the <b>
+  Behavior of Functions</b> in each platform: <a href="win32.html">Microsoft 
+  Windows (GDI)</a>, <a href="gdiplus.html">Windows Using GDI+</a>,
+  <a href="xwin.html">X-Windows (XLIB)</a>. However, it should be noted that 
+  some functions behave differently from the basic functions of each platform.</p>
+  <p>A printer created in Win32s has the same limitations as the
+  <a href="wmf.html">WMF driver</a>. In Windows 95 or NT, it has the same 
+  limitations as the <a href="emf.html">EMF driver</a>.</p>
+
+<h4>Control</h4>
+<ul>
+  <li>
+  <a href="../func/control.html#cdFlush">
+  <font face="Courier"><strong>Flush</strong></font></a>: changes to a new 
+  page, preserving the previous one. In the Win32 base driver, after the first 
+  page, function <font face="Courier"><strong>cdText</strong></font> draws the 
+  text below its correct position - we do not know why this happens.</li>
+</ul>
+<h4>Attributes </h4>
+<ul>
+  <li>
+  <a href="../func/filled.html#cdHatch">
+  <font face="Courier"><strong>Hatch</strong></font></a>: opaque in Win32 base 
+  driver (GDI).</li>
+</ul>
+
+</body>
+
+</html>
diff --git a/html/en/drv/ps.html b/html/en/drv/ps.html
new file mode 100644
index 0000000..7a2dc1a
--- /dev/null
+++ b/html/en/drv/ps.html
@@ -0,0 +1,208 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>CD_PS</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_PS - PostScript Driver (cdps.h)</h2>
+
+  <p>This drivers allows generating a PostScript file. This format was created to be a high-quality graphics language 
+  for printers and is currently supported by several printers. If your printer supports PostScript, you can send the 
+  file generated by the driver directly to the printer port. Usually, the filename has an extension .PS or .EPS. The 
+  driver generates level-2 PostScript, therefore some PostScript viewers might present errors. The format's copyrights 
+  are property of <a href="http://www.adobe.com" target="_top">Adobe Systems</a>. </p>
+
+<h3>Use</h3>
+
+  <p>The file is created and opened by calling function <font face="Courier">
+  <a href="../func/init.html#cdCreateCanvas"><strong>cdCreateCanvas</strong></a>(CD_PS, 
+  Data)</font>, in which <font face="Courier">Data</font> contains the filename and canvas dimensions. This function 
+  opens the file and writes its header. Then, other functions in the CD library can be called as usual. The
+  <font face="Courier">Data</font> parameter string has the following format:</p>
+  
+    <pre>&quot;<em>filename -p[paper] -w[width] -h[height] -l[left] -r[right] -b[bottom] -t[top] -s[resolution] [-e]</em> <em>[-g] [-o] [-1] d[margin]</em>&quot;<em><br>
+</em>or in C<em><br>
+&quot;<strong><tt>%s -p%d -w%g -h%g -l%g -r%g -b%g -t%g -s%d -e -o -1 -g -d%g</tt></strong>&quot;</em></pre>
+  
+  <p>The filename must be inside double quotes (&quot;) if it has spaces. Any amount of such canvases may exist 
+  simultaneously. It is important to note that a call to function
+  <a href="../func/init.html#cdKillCanvas"><font face="Courier"><strong>
+  cdKillCanvas</strong></font></a> is required to <b>close</b> the file properly.</p>
+  <p><b>Paper Size - </b>The default paper size is A4. It is possible to change it by using one of the predefined sizes 
+  - <strong><tt>CD_A0</tt></strong>, <strong><tt>CD_A1</tt></strong>, <strong><tt>CD_A2</tt></strong>, <strong><tt>CD_A3</tt></strong>,
+  <strong><tt>CD_A4</tt></strong>, <strong><tt>CD_A5</tt></strong>, <strong><tt>CD_LETTER</tt></strong> and <strong><tt>
+  CD_LEGAL</tt></strong> - with parameter &quot;<font face="Courier">-p</font>&quot;. It is also possible to define a paper in a 
+  particular size by using parameters &quot;<font face="Courier">-w</font>&quot; e &quot;<font face="Courier">-h</font>&quot;. Values are 
+  provided in millimeters.</p>
+
+<div align="center">
+  <center>
+  <table border="1" cellpadding="3">
+    <caption valign="top"><font size="4">Default Paper Sizes</font></caption>
+    <tr>
+      <td>&nbsp;</td>
+      <th>Width (mm)</th>
+      <th>Length (mm)</th>
+    </tr>
+    <tr>
+      <td><strong>A0</strong></td>
+      <td align="center">841</td>
+      <td align="center">1187</td>
+    </tr>
+    <tr>
+      <td><strong>A1</strong></td>
+      <td align="center">594</td>
+      <td align="center">841</td>
+    </tr>
+    <tr>
+      <td><strong>A2</strong></td>
+      <td align="center">420</td>
+      <td align="center">594</td>
+    </tr>
+    <tr>
+      <td><strong>A3</strong></td>
+      <td align="center">297</td>
+      <td align="center">420</td>
+    </tr>
+    <tr>
+      <td><strong>A4</strong></td>
+      <td align="center">210</td>
+      <td align="center">297</td>
+    </tr>
+    <tr>
+      <td><strong>A5</strong></td>
+      <td align="center">148</td>
+      <td align="center">210</td>
+    </tr>
+    <tr>
+      <td><strong>Letter</strong></td>
+      <td align="center">216</td>
+      <td align="center">279</td>
+    </tr>
+    <tr>
+      <td><strong>Legal</strong></td>
+      <td align="center">216</td>
+      <td align="center">356</td>
+    </tr>
+  </table>
+  </center>
+</div>
+
+  <p><b>Margins -</b> The margins are controlled by parameters &quot;<font face="Courier">-l</font>&quot; &quot;<font face="Courier">-r</font>&quot; 
+  &quot;<font face="Courier">-t</font>&quot; and &quot;<font face="Courier">-b</font>&quot; (<em>left, right, top, bottom</em>). Values are 
+  provided in millimeters. Default margins are 25.4 mm to all parameters. You can draw only inside the margins.</p>
+  <p><b>Resolution -</b> Resolution is used to convert values from millimeters to pixels (the same as points, but the 
+  number of points is per inch - DPI). Use parameter &quot;<font face="Courier">-s</font>&quot; to configure the resolution. The 
+  default value is 300 DPI.</p>
+  <p><b>Orientation -</b> The page can be oriented as portrait or landscape. The default value is portrait, but when the 
+  parameter &quot;-o&quot; is used, the horizontal and vertical values are switched.</p>
+  <p><b>EPS -</b> The PostScript file can be in an <strong>Encapsulated PostScript<b> </b></strong>format. For such, 
+  simply specify the parameter &quot;<font face="Courier">-e</font>&quot;. It is useful for other applications to import the 
+  PostScript file. You can define the margins of the bounding box by means of parameter &quot;<font face="Courier">-d</font>&quot;, 
+  in millimeters.</p>
+  <p><b>Debug -</b> Parameter &quot;<font face="Courier">-g</font>&quot; adds a series of comments to the PS file, making the 
+  beginning and end of a command from the CD library explicit. It is useful only for those who understand PostScript and 
+  wish to identify a problem. It considerably increases the file size.</p>
+  <p><b>Level 1 -</b> Parameter &quot;<font face="Courier">-1</font>&quot; forces the driver to generate a level-1 PostScript. In 
+  this case, pattern, stipple and hatch are not supported.</p>
+  <p><b>Pages -</b> Use function <font face="Courier">cdFlush</font> to change to a new page. The previous page will not 
+  be changed.</p>
+
+<h3>Behavior of Functions</h3>
+<h4>Control</h4>
+<ul>
+  <li><a href="../func/other.html#cdPlay"><font face="Courier"><strong>Play</strong></font></a>: 
+  does nothing, returns <font face="Courier">CD_ERROR</font>. </li>
+  <li><a href="../func/control.html#cdFlush"><font face="Courier"><strong>Flush</strong></font></a>: 
+  changes to a new page, preserving the previous one. Does nothing in EPS mode.</li>
+  <li><a href="../func/control.html#cdClear"><font face="Courier"><strong>Clear</strong></font></a>: 
+  does nothing.</li>
+</ul>
+<h4>Coordinate System&nbsp;&amp; Clipping</h4>
+<ul>
+  <li><a href="../func/coordinates.html#cdGetCanvasSize"><font face="Courier">
+  <strong>GetCanvasSize</strong></font></a>: returns the page's size within the margins (drawing area).</li>
+  <li><a href="../func/coordinates.html#cdUpdateYAxis"><font face="Courier">
+  <strong>UpdateYAxis</strong></font></a>: does nothing.</li>
+  <li><b>Complex Regions</b>: not supported.</li>
+</ul>
+<h4>Attributes</h4>
+<ul>
+  <li><a href="../func/attributes.html#cdBackground"><font face="Courier">
+  <strong>
+  Background</strong></font></a> does nothing, returns <font face="Courier">CD_WHITE</font>.</li>
+  <li><a href="../func/filled.html#cdBackOpacity"><font face="Courier"><strong>
+  BackOpacity</strong></font></a>: does nothing, returns <font face="Courier">CD_TRANSPARENT</font>.</li>
+  <li><a href="../func/attributes.html#cdWriteMode"><font face="Courier">
+  <strong>
+  WriteMode</strong></font></a>: does nothing, returns <font face="Courier">CD_REPLACE</font>.</li>
+  <li><a href="../func/text.html#cdFontDim"><font face="Courier"><strong>FontDim</strong></font></a>: 
+  is simulated.</li>
+  <li><a href="../func/text.html#cdTextSize"><font face="Courier"><strong>
+  TextSize</strong></font></a>: is simulated.</li>
+  <li><a href="../func/filled.html#cdHatch"><font face="Courier"><strong>Hatch</strong></font></a>: 
+  is always opaque (to be implemented).</li>
+  <li><a href="../func/filled.html#cdStipple"><font face="Courier"><strong>
+  Stipple</strong></font></a>: is always opaque (to be implemented).</li>
+  <li><a href="../func/text.html#cdTextAlignment"><font face="Courier"><strong>
+  TextAlignment</strong></font></a>: <font face="Courier">Baseline</font> is the same as <font face="Courier">South</font>.</li>
+  <li><a href="../func/text.html#cdFont"><font face="Courier"><strong>Font</strong></font></a>: 
+  old name &quot;System&quot; is mapped to &quot;Courier&quot;. Styles are added to the Postscript 
+  font name.</li>
+</ul>
+<h4>Colors </h4>
+<ul>
+  <li><a href="../func/color.html#cdGetColorPlanes"><font face="Courier">
+  <strong>
+  GetColorPlanes</strong></font></a>: returns 24.</li>
+  <li><a href="../func/color.html#cdPalette"><font face="Courier"><strong>Palette</strong></font></a>: 
+  does nothing. </li>
+</ul>
+<h4>Client Images</h4>
+<ul>
+  <li><a href="../func/client.html#cdGetImageRGB"><font face="Courier"><strong>
+  GetImageRGB</strong></font></a>: does nothing.</li>
+  <li><font face="Courier"><strong><a href="../func/client.html#cdPutImageMap">
+  PutImageMap</a></strong></font>: stores an RGB image in the file (to be implemented).</li>
+  <li><a href="../func/client.html#cdPutImageRGBA"><font face="Courier"><strong>
+  PutImageRGBA</strong></font></a>: alpha is ignored (to be implemented).</li>
+</ul>
+<h4>Primitives</h4>
+<ul>
+  <li><font face="Courier"><strong><a href="../func/marks.html#cdPixel">Pixel</a></strong></font>: 
+  does not exist in PS, is simulated using a circle with radius=1.</li>
+  <li>Floating point primitives are supported.</li>
+  <li>Filled primitves do not include the line at the edges of the filled area.</li>
+</ul>
+<h4>Server Images</h4>
+<ul>
+  <li>All functions do nothing.</li>
+</ul>
+<h4>Exclusive Attributes</h4>
+<ul>
+  <li>&quot;<strong><font face="Courier">POLYHOLE</font></strong>&quot;: defines the index of 
+  the vertex where there is a hole in a 
+  closed polygon. It will affect the next <strong>cdEnd</strong>. Can be called several times between
+  <strong>cdBegin</strong> and <strong>cdEnd</strong> to define holes. The value passed must 
+  be a string containing an integer (&quot;%d&quot;). If the value of the attribute passed is NULL, all holes will no longer be 
+  considered.&nbsp;When consulted returns the current number of holes (&quot;%d&quot;). It can have a maximum of 500 holes.</li>
+</ul>
+<ul>
+  <li>&quot;<b><font face="Courier">CMD</font></b>&quot;: saves a string directly to the file. Allows adding PostScript commands 
+  to the file generated by the CD library. (set only)</li>
+</ul>
+<ul>
+  <li>&quot;<b><font face="Courier">ROTATE</font></b>&quot;:&nbsp; allows the usage of 1 angle and 1 coordinate (x, y), that 
+  define a global rotation transformation centered in the specified coordinate. Use 1 real and 2 integer values inside a 
+  string (&quot;%g %d %d&quot; = angle x y).</li>
+</ul>
+
+</body>
+
+</html>
diff --git a/html/en/drv/sim.html b/html/en/drv/sim.html
new file mode 100644
index 0000000..85a4e7f
--- /dev/null
+++ b/html/en/drv/sim.html
@@ -0,0 +1,90 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<title>Simulation</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>Simulation Base Driver</h2>
+
+  <p>The Simulation driver was created to simulate functions that were not supported by some CD drivers. It works 
+  jointly with the other driver (known as &quot;client&quot;), using its pixel, line and text functions to simulate arcs, sectors, 
+  polygons, boxes, and fillings with styles.</p>
+  <p><b>Important:</b> All simulation primitives are based in the client's Pixel, Image and/or Line functions.</p>
+
+<h3>Use</h3>
+
+  <p>The Simulation driver is used in several parts of the CD library.</p>
+  <p>In many drivers, the behavior of a given primitive may not be the expected. Usually this is documented in the 
+  manual. If you wish to activate the simulation of a primitive, simply call function <strong>
+  <font face="Courier"><a href="../func/init.html#cdSimulate">cdSimulate</a></font></strong> 
+  with the code of the primitive to be simulated.</p>
+
+<h3>Behavior of Functions</h3>
+<h4>Clipping</h4>
+<ul>
+  <li>Clipping is not implemented in the simulation base driver. The primary 
+  driver must implement its own clipping.</li>
+</ul>
+<h4>Attributes</h4>
+<ul>
+  <li><a href="../func/filled.html#cdLineCap"><font face="Courier"><strong>
+  LineCap</strong></font></a>: only <font face="Courier">CD_CAPFLAT</font> is supported.</li>
+  <li><a href="../func/filled.html#cdLineJoin"><font face="Courier"><strong>
+  LineJoin</strong></font></a>: only <font face="Courier">CD_MITER</font> is supported.</li>
+  <li><font face="Courier"><strong><a href="../func/lines.html#cdLineStyle">
+  LineStyle</a></strong></font>: If line width is greater than 1, the style is 
+	always continuous.</li>
+  <li><a href="../func/text.html#cdFont"><font face="Courier"><strong>Font</strong></font></a>: 
+  Selects a True Type font file for the
+  <a target="_blank" href="http://www.freetype.org/">FreeType</a> library to 
+  render the text. Notice that TTF fonts have different files for different font styles, like bold and italic. Font files can be in the 
+  current directory, in the directory pointed by the CDDIR environment variable, in Windows in the system defined Font 
+  directory, or using the full path of the file. <br>
+  Old name &quot;System&quot; is mapped to &quot;Courier&quot;. For the know font names &quot;Courier&quot; (<font face="Courier">cour</font>), 
+  &quot;Times&quot; (<font face="Courier">times</font>) and &quot;Helvetica&quot; (<font face="Courier">arial</font>), 
+  the styles are added to the font file name as a suffix: &quot;bd&quot;, &quot;i&quot; and &quot;bi&quot; are 
+  used for bold, italic and bold-italic. For other fonts, it will first check 
+  for a font map added using the attribute <strong>ADDFONTMAP</strong>, if 
+  failed it will try to load the type_face name without any change, if fail it 
+  will add the style suffix to the type_face and try to load again. The &quot;.ttf&quot; 
+  file extension is always automatically added to the end of the file name.</li>
+</ul>
+<h4><strong>Primitives</strong> </h4>
+<ul>
+  <li><b><font face="Courier"><a href="../func/marks.html#cdPixel">Pixel</a></font></b>: 
+  always uses the client's pixel function. When clipping simulation is active, it executes area and polygon clipping.</li>
+  <li><font face="Courier"><a href="../func/lines.html#cdLine"><b>Line</b></a></font>: 
+  draws lines pixel per pixel.</li>
+  <li><font face="Courier"><strong><a href="../func/lines.html#cdRect">Rect</a></strong></font>: 
+  simulated using the client's <strong>Line</strong>.</li>
+  <li><font face="Courier"><a href="../func/lines.html#cdArc"><b>Arc</b></a></font>: 
+  simulated using the client's <strong>Line</strong>. </li>
+  <li><font face="Courier"><a href="../func/filled.html#cdSector"><b>Sector</b></a></font>: 
+  simulated using the client's <strong>Poly</strong>. </li>
+  <li><font face="Courier"><b><a href="../func/filled.html#cdChord">Chord</a></b></font>: 
+  simulated using the client's <strong>Poly</strong></li>
+  <li><font face="Courier"><a href="../func/filled.html#cdBox"><b>Box</b></a></font>: 
+  simulated using the client's <strong>Poly</strong>. </li>
+  <li><font face="Courier"><b><a href="../func/lines.html#cdBegin">Begin</a></b></font>,
+  <font face="Courier"><a href="../func/lines.html#cdVertex"><b>Vertex</b></a></font> 
+  and <font face="Courier"><a href="../func/lines.html#cdEnd"><b>End</b></a></font>: 
+  simulate using the <strong>Line</strong> or <strong>Pixel</strong> functions, depending on the interior style.</li>
+  <li><font face="Courier"><a href="../func/text.html#cdText"><b>Text</b></a></font>: 
+  text simulation is made using TrueType font files in a transparent way for the 
+  user. Oriented text is not supported.</li>
+</ul>
+
+<h4>Exclusive Attributes</h4>
+<ul>
+  <li>&quot;<strong>ADDFONTMAP</strong>&quot;: Add a font map between a type face 
+  name and a file name. It has the format &quot;Type Face=filename&quot;, For ex: &quot;Arial 
+  Narrow Bold=ARIALNB&quot;. &quot;Type Face&quot; is not case sensitive.</li>
+</ul>
+
+</body>
+
+</html>
diff --git a/html/en/drv/win32.html b/html/en/drv/win32.html
new file mode 100644
index 0000000..53ac2a5
--- /dev/null
+++ b/html/en/drv/win32.html
@@ -0,0 +1,137 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Windows</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>Microsoft Windows Base Driver</h2>
+
+  <p>This driver represents a base driver for all system-dependent drivers implemented in the Microsoft Windows system. 
+  The implementation uses Win32 API graphics functions, the GDI. The driver works better in Windows NT, but it may also 
+  work in Windows 9x/Me.</p>
+
+<h3>Behavior of Functions</h3>
+<h4>Control&nbsp;</h4>
+<ul>
+  <li><a href="../func/control.html#cdFlush"><font face="Courier"><strong>Flush</strong></font></a>: 
+  does nothing.</li>
+  <li><a href="../func/other.html#cdPlay"><font face="Courier"><strong>Play</strong></font></a>: 
+  does nothing, returns <font face="Courier">CD_ERROR</font>. </li>
+</ul>
+<h4>Coordinate System and Clipping </h4>
+<ul>
+  <li><a href="../func/coordinates.html#cdUpdateYAxis"><font face="Courier">
+  <strong>UpdateYAxis</strong></font></a>: the orientation of axis Y is the opposite to its orientation in the CD 
+  library.</li>
+</ul>
+<h4>Primitives</h4>
+<ul>
+  <li><a href="../func/text.html#cdText"><font face="Courier"><strong>Text</strong></font></a>: 
+  when Write Mode is <strong><tt>XOR</tt></strong> or <strong><tt>NOT_XOR</tt></strong>, the XOR effect is simulated 
+  using bitmaps.</li>
+  <li><font face="Courier"><strong><a href="../func/lines.html#cdLine">Line</a></strong></font>: 
+  needs to draw an extra pixel in the final position.</li>
+</ul>
+<h4>Attributes </h4>
+<ul>
+  <li><a href="../func/attributes.html#cdWriteMode"><font face="Courier">
+  <strong>
+  WriteMode</strong></font></a>: for the client and server image functions, the mode <strong><tt>NOT_XOR</tt></strong> 
+  works as <strong><tt>XOR</tt></strong>.</li>
+  <li><a href="../func/filled.html#cdStipple"><font face="Courier"><strong>
+  Stipple</strong></font></a>: is always opaque. If not in Windows NT and if <font face="Courier">width</font> or
+  <font face="Courier">height</font> are greater than 8, the stipple is simulated using non-regular Windows clipping 
+  regions and bitmaps. The simulation is made when filled boxes, sectors and polygons are drawn.</li>
+  <li><a href="../func/filled.html#cdPattern"><font face="Courier"><strong>
+  Pattern</strong></font></a>: If not in Windows NT and if <font face="Courier">width</font> or <font face="Courier">
+  height</font> are greater than 8, the pattern is simulated using non-regular Windows clipping regions and bitmaps. The 
+  simulation is made when filled boxes, sectors and polygons are drawn.</li>
+  <li><a href="../func/lines.html#cdLineWidth"><font face="Courier"><strong>
+  TextAlignment</strong></font></a>: the vertical alignment of CD_CENTER, CD_EAST, CD_WEST is manually calculated.</li>
+  <li><a href="../func/lines.html#cdLineWidth"><font face="Courier"><strong>
+  LineWidth</strong></font></a>: If not in Windows NT line width is always 1. If line width is 1, then a cosmetic pen 
+  is used for fast drawing.</li>
+  <li><font face="Courier"><strong><a href="../func/lines.html#cdLineStyle">
+  LineStyle</a></strong></font>: If line width is 1, the style is a little different from when line width is not 1, 
+  because a cosmetic pen is used for width=1.</li>
+  <li><a href="../func/text.html#cdNativeFont"><font face="Courier"><strong>
+  NativeFont</strong></font></a>: also accepts <em><strong>&quot;-d&quot;</strong></em><strong>
+  </strong>&nbsp;to show the font-selection dialog box.</li>
+  <li><a href="../func/text.html#cdFont"><font face="Courier"><strong>Font</strong></font></a>: 
+  &quot;Courier&quot; is mapped to &quot;Courier New&quot;, &quot;Helvetica&quot; is mapped to &quot;Arial&quot;, and 
+  &quot;Times&quot; is mapped to &quot;Times New Roman&quot;. Underline and 
+  Strikeout are supported. The System font does not have orientation.</li>
+</ul>
+<h4>Client Images </h4>
+<ul>
+  <li><font face="Courier"><strong><a href="../func/client.html#cdPutImageRGBA">
+  PutImageRGBA</a></strong></font>: Try to use the new GDI function AlphaBlend, if not available captures an image 
+  from the canvas to blend it manually.</li>
+</ul>
+<h4>Colors </h4>
+<ul>
+  <li><a href="../func/color.html#cdPalette"><font face="Courier"><strong>Palette</strong></font></a>: 
+  is useful only if the device has 256 colors. If it has less than 256 colors, ignore this function, for it will not 
+  make much difference. If two different canvases have their palettes modified, the last one to be modified will have 
+  the best quality; the other one will not have good quality and the colors might have a completely different 
+  appearance.</li>
+</ul>
+<h4>Exclusive Attributes</h4>
+<ul>
+  <li>&quot;<b><font face="Courier">HDC</font></b>&quot;: returns the HDC of the Win32 canvas. It can only be retrieved (get 
+  only). In Lua is returned as a user data.</li>
+</ul>
+<ul>
+  <li>&quot;<strong><font face="Courier">PENFILLPOLY</font></strong>&quot;: controls the polygon filling outline. Assumes values 
+  &quot;1&quot; (active) and &quot;0&quot; (inactive). Default value: &quot;1&quot;. When a filled polygon is drawn, a line in the same color is used 
+  to draw the border which is not included in the filling. Deactivating this attribute solves the problem of polygons 
+  with holes, in which there is a line connecting the external polygon to the internal polygon.</li>
+</ul>
+<ul>
+  <li>&quot;<b><font face="Courier">IMAGEFORMAT</font></b>&quot;: defines the number of bits per pixel used to create server 
+  images. It uses 1 integer that can have the values: &quot;32&quot; or &quot;24&quot; (%d). Use NULL to remove the attribute. It is used 
+  only in the <font face="Courier"><strong>cdCreateImage</strong></font>. When not defined, the server images use the 
+  same format of the canvas.</li>
+</ul>
+<ul>
+  <li>&quot;<strong><font face="Courier">IMAGEALPHA</font></strong>&quot;:&nbsp; allows the usage of an alpha channel for server 
+  images if  IMAGEFORMAT=32. The attribute format is a pointer to the transparency values in a sequence of chars in 
+  the same format of alpha for client images. The attribute is used only in the <font face="Courier"><strong>
+  cdCreateImage</strong></font> and for every <font face="Courier"><strong>
+  cdPutImageRect</strong></font>,  the pointer must exists while the image exists. The alpha values are transfered to 
+  the image only in <font face="Courier"><strong>cdPutImageRect</strong></font>, so they can be freely changed any time. 
+  It will use the <strong><font face="Courier">AlphaBlend</font></strong> GDI 
+  function. The data is not duplicated, only the pointer is stored. The size of 
+  the data must be the same size of the image. Use NULL to remove the attribute. 
+  Not accessible in Lua.</li>
+</ul>
+<ul>
+  <li>&quot;<strong><font face="Courier">IMAGEMASK</font></strong>&quot;:&nbsp; defines a binary transparency mask for server 
+  images. The format is the same of a stipple, can contain only 0s and 1s. Use 2 integers, width and height, and a char 
+  pointer to the mask values inside a string (&quot;%d %d %p&quot;). Use NULL to remove the attribute. It can not be retrieved 
+  (set only). Not accessible in Lua. It will use the <font face="Courier"><strong>MaskBlt</strong></font> 
+  GDI function.</li>
+</ul>
+<ul>
+  <li>&quot;<b><font face="Courier">IMAGEPOINTS</font></b>&quot;:&nbsp; define 3 coordinates of a paralelogram that will be used 
+  to warp server images. Use 6 integer values inside a string (&quot;%d %d %d %d %d %d&quot; = x1 y1 x2 y2 x3 y3). Use NULL to 
+  remove the attribute. The respective specified points are the upper-left corner, the upper-right corner and the lower 
+  left corner. The drawing is also affected by the &quot;IMAGEMASK&quot; attribute. It will use the <font face="Courier"><strong>
+  PlgBlt</strong></font> GDI function. </li>
+</ul>
+<ul>
+  <li>&quot;<b><font face="Courier">ROTATE</font></b>&quot;:&nbsp; allows the usage of 1 
+  angle and 1 coordinate (x, y), that define a global rotation transformation 
+  centered in the specified coordinate. Use 1 real and 2 integer values inside a 
+  string (&quot;%g %d %d&quot; = angle x y).</li>
+</ul>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/html/en/drv/wmf.html b/html/en/drv/wmf.html
new file mode 100644
index 0000000..aa92c68
--- /dev/null
+++ b/html/en/drv/wmf.html
@@ -0,0 +1,116 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>CD_WMF</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>CD_WMF - Windows Metafile Driver (cdwmf.h)</h2>
+
+  <p>This driver allows creating a Microsoft Windows Metafile, the format used 
+  by 16-bit Windows systems to store graphics primitives. Usually, the filename 
+  has an extension &quot;*.wmf&quot;.</p>
+  <p>The driver works only in the Microsoft Windows platform, but you can use it 
+  in other platforms without the risk of compilation error. If you attempt to 
+  create a canvas in another platform, function <font face="Courier"><strong>
+  cdCreateCanvas</strong></font> will return NULL.</p>
+<p><span style="color: #FF0000"><strong>It is recomended to use EMF instead of WMF whenever is possible.</strong></span> </p>
+
+<h3>Use</h3>
+
+  <p>The canvas is created by means of a call to the function
+  <font face="Courier">
+  <a href="../func/init.html#cdCreateCanvas">
+  <strong>cdCreateCanvas</strong></a>(CD_WMF, Data)</font>, after which other 
+  functions in the CD library can be called as usual. The <font face="Courier">
+  Data</font> parameter string has the following format:</p>
+  
+    <pre><em>&quot;filename widthxheight </em>[resolution]<em>&quot;     </em>or in C <em>&quot;<strong><tt>%s 
+    %dx%d</tt></strong> <strong>%g</strong>&quot;</em></pre>
+  
+  <p>The file's name and dimensions are required. <font face="Courier">Width</font> 
+  and <font face="Courier">height</font> are provided in pixels (note the 
+  lowercase &quot;x&quot; between them). <font face="Courier">Resolution</font> is the 
+  number of pixels per millimeter; its default value is the screen resolution.</p>
+  <p>Any amount of such canvases may exist simultaneously. Function
+  <font face="Courier"><strong>cdCreateCanvas</strong></font> creates a 
+  memory-based metafile, and a call to function
+  <a href="../func/init.html#cdKillCanvas">
+  <font face="Courier"><strong>cdKillCanvas</strong></font></a> is required to
+  <b>close</b> the file properly.</p>
+  <p>In fact the driver uses a slightly different format, called Aldus Placeable 
+  Metafile (APM). It attaches a small header to the beginning of the file, 
+  allowing other applications to import better the metafile contents.</p>
+  <p>This 
+  driver is NOT available for the GDI+ base driver.</p>
+
+<h3>Behavior of Functions</h3>
+
+  <p>This driver is greatly platform-dependent. For further detail, see the <b>
+  Behavior of Functions</b> of the <a href="drv/win32.html">Microsoft Windows 
+  (GDI)</a> platform. However, it should be noted that some functions behave 
+  differently from the basic functions of each platform.</p>
+
+<h4>Control&nbsp;</h4>
+<ul>
+  <li><a href="../func/other.html#cdPlay">
+  <font face="Courier"><strong>Play</strong></font></a>: different from the 
+  basic driver, is implemented.</li>
+  <li>
+  <a href="../func/control.html#cdClear">
+  <font face="Courier"><strong>Clear</strong></font></a>: different from the 
+  basic driver, does nothing.</li>
+</ul>
+<h4>Coordinate System and Clipping </h4>
+<ul>
+  <li>
+  <a href="../func/clipping.html#cdClip">
+  <font face="Courier"><strong>Clip</strong></font></a>: does nothing, returns
+  <font face="Courier">CD_CLIPOFF</font>.</li>
+</ul>
+<h4>Attributes </h4>
+<ul>
+  <li>
+  <a href="../func/filled.html#cdStipple">
+  <font face="Courier"><strong>Stipple</strong></font></a>: is always opaque 
+  and smaller than 8x8 pixels.</li>
+  <li>
+  <a href="../func/filled.html#cdPattern">
+  <font face="Courier"><strong>Pattern</strong></font></a>: does nothing.</li>
+  <li>
+  <a href="../func/lines.html#cdLineWidth">
+  <font face="Courier"><strong>LineWidth</strong></font></a>: is always 1.</li>
+  <li>
+  <a href="../func/text.html#cdTextAlignment">
+  <font face="Courier"><strong>TextAlignment</strong></font></a>:
+  <font face="Courier">CD_CENTER/CD_WEST/CD_EAST</font> is saved as
+  <font face="Courier">CD_BASE_CENTER/CD_BASE_LEFT/CD_BASE_RIGHT</font>, but the 
+  position error is compensated.</li>
+  <li>
+  <a href="../func/text.html#cdTextOrientation">
+  <font face="Courier"><strong>TextOrientation</strong></font></a>: does 
+  nothing</li>
+</ul>
+<h4>Client Images&nbsp;</h4>
+<ul>
+  <li>
+  <a href="../func/client.html#cdGetImageRGB">
+  <font face="Courier"><strong>GetImageRGB</strong></font></a>: does nothing.</li>
+  <li>
+  <a href="../func/client.html#cdPutImageRGBA">
+  <font face="Courier"><strong>PutImageRGBA</strong></font></a>: the alpha 
+  component is ignored.</li>
+</ul>
+<h4>Server Images</h4>
+<ul>
+  <li>All functions do nothing.</li>
+</ul>
+
+</body>
+
+</html>
diff --git a/html/en/drv/xrender.html b/html/en/drv/xrender.html
new file mode 100644
index 0000000..6970e29
--- /dev/null
+++ b/html/en/drv/xrender.html
@@ -0,0 +1,152 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>X-Windows</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2>XRender Base Driver</h2>
+
+  <p>This driver represents a basic driver for all system-dependent drivers 
+  implemented in the X-Windows system using the XRender extension. The implementation uses the 
+	XRender and Xft API functions.</p>
+  <p>The main motivation for the use of XRender was transparency for all the primitives. Beyond that we got other features 
+  like anti-aliasing, gradient filling and transformations.</p>
+  <p>This driver still does not completely replace the X-Windows base driver, because 
+	XRender does not have support for 
+  XOR and for line styles.</p>
+  <p>So we let the programmer to choose what to use. We created the function <font face="Courier"><strong>
+  cdUseContextPlus</strong></font> that allows to activate or to deactivate the use of 
+	X-Render for the available X-Windows based drivers. 
+  This function affects only the <font face="Courier"><strong>cdCreateCanvas</strong></font> function call, once created 
+  the canvas will be always a XRender canvas. In fact the function affects primary the definitions 
+	<font face="Courier"><strong>CD_NATIVEWINDOW</strong></font>, 
+  <strong><span style="font-family: Courier">CD_IMAGE</span></strong> and <strong>
+  <span style="font-family: Courier">CD_DBUFFER</span></strong>, because they are 
+  function calls and not static defines.</p>
+  <p>Using XRender it is allowed to create more that one canvas at the same time for the same Window. And they can co-exist 
+  with a standard X-Windows canvas.</p>
+  <p>To enable the use of XRender based drivers you must call the initialization function <font face="Courier"><strong>
+  cdInitContextPlus()</strong></font> once and link to the libraries &quot;<strong>cdcontextplus</strong>&quot;, &quot;<strong>Xrender</strong>&quot and &quot;<strong>Xft</strong>&quot;. 
+  Also the libraries &quot;<strong>Xrender</strong>&quot and &quot;<strong>Xft</strong>&quot; 
+	must be installed in your system. The XRender extension must be available in 
+	the X-Windows server for the driver to work.</p>
+<p>Currently, pre-compiled binaries are available for Linux, Darwin 
+and FreeBSD54. It is not available for the systems we have with AIX, SunOS and 
+IRIX.</p>
+  <p>In CDLua it is not necessary any additional initialization, but the 
+	application must still be linked with the <strong>cdcontextplus.lib</strong> 
+	library or a <strong>require&quot;cdluacontextplus&quot;</strong> can be used when 
+	using dynamic libraries.</p>
+
+<h3>Behavior of Functions</h3>
+<h4>Control&nbsp; </h4>
+<ul>
+  <li><a href="../func/other.html#cdPlay">
+  <font face="Courier"><strong>Play</strong></font></a>: does nothing, returns
+  <font face="Courier">CD_ERROR</font>. </li>
+</ul>
+<h4>Coordinate System and Clipping </h4>
+<ul>
+  <li>
+  <a href="../func/coordinates.html#cdUpdateYAxis">
+  <font face="Courier"><strong>UpdateYAxis</strong></font></a>: the 
+  orientation of axis Y is the opposite to its orientation in the CD library. 
+	Except when using transformations.</li>
+</ul>
+<h4>Primitives</h4>
+<ul>
+  <li><font face="Courier"><a href="../func/lines.html#cdLine"><b>Line</b></a></font>: 
+  simulated using the client's <strong>Poly</strong>.</li>
+  <li><a href="../func/text.html#cdText"><font face="Courier"><strong>Text</strong></font></a>: 
+  Generic transformation 
+  matrix affects only the position of the text. Complex clipping regions can not 
+	contain text regions.</li>
+  <li><a href="../func/lines.html#cdBegin">
+  <font face="Courier"><strong>Begin</strong></font></a>: <strong><tt>
+  CD_BEZIER</tt></strong> is simulated with lines.</li>
+  <li><font face="Courier"><strong><a href="../func/lines.html#cdRect">Rect</a></strong></font>: 
+  simulated using the client's <strong>Line</strong>.</li>
+  <li><font face="Courier"><a href="../func/lines.html#cdArc"><b>Arc</b></a></font>: 
+  simulated using the client's <strong>Line</strong>. </li>
+  <li><font face="Courier"><a href="../func/filled.html#cdSector"><b>Sector</b></a></font>: 
+  simulated using the client's <strong>Poly</strong>. </li>
+  <li><font face="Courier"><b><a href="../func/filled.html#cdChord">Chord</a></b></font>: 
+  simulated using the client's <strong>Poly</strong></li>
+  <li><font face="Courier"><a href="../func/filled.html#cdBox"><b>Box</b></a></font>: 
+  simulated using the client's <strong>Poly</strong>. </li>
+</ul>
+<h4>Attributes </h4>
+<ul>
+  <li>
+  <a href="../func/lines.html#cdLineWidth">
+  <font face="Courier"><strong>LineWidth</strong></font></a>: the driver will 
+	use a polygon that fits to the line extents, even when linewidth==1.</li>
+  <li>
+  <a href="../func/lines.html#cdLineStyle">
+  <font face="Courier"><strong>LineStyle</strong></font></a>: NOT supported.</li>
+  <li><a href="../func/filled.html#cdPattern"><font face="Courier"><strong>
+  Pattern</strong></font></a>: each pixel can contain transparency information.</li>
+  <li>
+  <a href="../func/text.html#cdNativeFont">
+  <font face="Courier"><strong>NativeFont</strong></font></a>: also accepts the 
+  X-Windows font string format. You can use program <strong>xfontsel</strong> to select a font and obtain the string. 
+  For ex: &quot;-*-times-bold-r-*-*-24-*-*-*-*-*-*-*&quot; (equivalent of <strong>Font</strong>(&quot;Times&quot;, 
+  CD_BOLD, -24).</li>
+  <li><a href="../func/text.html#cdFont">
+  <font face="Courier"><strong>Font</strong></font></a>: font support is 
+	implemented using the Xft library. Internally the Xft library uses the 
+	Freetype library.</li>
+</ul>
+<h4>Colors </h4>
+<ul>
+  <li>
+  Use the X-Windows base driver support for colors.</li>
+</ul>
+<h4>Client and Server Images</h4>
+<ul>
+  <li>
+  All functions use the X-Windows base driver functions.</li>
+</ul>
+<h4>Exclusive Attributes</h4>
+<ul>
+  <li>&quot;<b><font face="Courier">GC</font></b>&quot;:&nbsp; returns the X11 graphics 
+  context (get only). In Lua is returned as a user data.</li>
+</ul>
+
+<ul>
+  <li>&quot;<b><font face="Courier">ROTATE</font></b>&quot;:&nbsp; allows the usage of 1 
+  angle and 1 coordinate (x, y), that define a global rotation transformation 
+  centered in the specified coordinate. Use 1 real and 2 integer values inside a 
+  string (&quot;%g %d %d&quot; = angle x y). In this driver will change the 
+  current transformation matrix, if removed will reset the current 
+  transformation matrix.</li>
+</ul>
+
+<ul>
+	<li>&quot;<b><font face="Courier">ANTIALIAS</font></b>&quot;: controls the use of anti-aliasing 
+  for the text, image zoom and line 
+  drawing primitives. Assumes values &quot;1&quot; (active) and &quot;0&quot; (inactive). Default value: &quot;1&quot;. </li>
+</ul>
+
+<ul>
+  <li><b><font face="Courier">&quot;LINEGRADIENT&quot;: </font></b>defines a filled interior style that uses a line gradient 
+  between two colors. It uses 2 points (&quot;%d %d %d %d&quot; = x1 y1 x2 y2), one for the starting point using (using the 
+  foreground color), and another one for the end point (using the background color). 
+	(available only if Xrender version &gt;= 0.10)</li>
+</ul>
+
+<ul>
+  <li><b><font face="Courier">&quot;XRENDERVERSION&quot;: </font></b>returns a 
+	string with the XRender version number. It is empty if the XRender extension 
+	is not available in the X-Windows server.</li>
+</ul>
+
+</body>
+
+</html>
diff --git a/html/en/drv/xwin.html b/html/en/drv/xwin.html
new file mode 100644
index 0000000..cd2d900
--- /dev/null
+++ b/html/en/drv/xwin.html
@@ -0,0 +1,129 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>X-Windows</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+<style type="text/css">
+.style1 {
+	font-family: Courier;
+}
+</style>
+</head>
+
+<body>
+
+<h2>X-Windows Base Driver</h2>
+
+  <p>This driver represents a basic driver for all system-dependent drivers 
+  implemented in the X-Windows system. The implementation uses the XLIB API 
+  functions. It was developed using X11R4, but works in more recent versions, 
+  such as X11R6.</p>
+  <p>Note: The coordinates internally implemented by the video driver use 16-bit 
+  integers. Therefore, if a coordinate with less than -32k or more than 32k is 
+  defined, it will be interpreted incorrectly.</p>
+
+<h3>Behavior of Functions</h3>
+<h4>Control&nbsp; </h4>
+<ul>
+  <li><a href="../func/other.html#cdPlay">
+  <font face="Courier"><strong>Play</strong></font></a>: does nothing, returns
+  <font face="Courier">CD_ERROR</font>. </li>
+</ul>
+<h4>Coordinate System and Clipping </h4>
+<ul>
+  <li>
+  <a href="../func/coordinates.html#cdUpdateYAxis">
+  <font face="Courier"><strong>UpdateYAxis</strong></font></a>: the 
+  orientation of axis Y is the opposite to its orientation in the CD library.</li>
+</ul>
+<h4>Primitives</h4>
+<ul>
+  <li><a href="../func/text.html#cdText"><font face="Courier"><strong>Text</strong></font></a>: 
+  text orientation is simulated using XVertex rotines. Generic transformation 
+  matrix affects only the position of the text.</li>
+  <li><a href="../func/lines.html#cdBegin">
+  <font face="Courier"><strong>Begin</strong></font></a>: Filled&nbsp; 
+  polygons have an error of one pixel to the right and below. <strong><tt>
+  CD_BEZIER</tt></strong> is simulated with lines.</li>
+  <li><span class="style1"><a href="../func/marks.html#cdMark">
+  <strong>Box</strong></a></span>: in Linux with ATI board, is being drawn with one 
+  extra pixel to the right and below.</li>
+</ul>
+<h4>Attributes </h4>
+<ul>
+  <li>
+  <a href="../func/lines.html#cdLineWidth">
+  <font face="Courier"><strong>LineWidth</strong></font></a>: if
+  <font face="Courier">width</font> is 1, the driver will use 0 for a better 
+  performance.</li>
+  <li>
+  <a href="../func/lines.html#cdLineStyle">
+  <font face="Courier"><strong>LineStyle</strong></font></a>: thick lines have 
+  style only in the line's direction. For example, you will see small rectangles 
+  in a thick dotted line.</li>
+  <li>
+  <a href="../func/text.html#cdNativeFont">
+  <font face="Courier"><strong>NativeFont</strong></font></a>: also accepts the 
+  X-Windows font string format. You can use program <strong>xfontsel</strong> to select a font and obtain the string. 
+  For ex: &quot;-*-times-bold-r-*-*-24-*-*-*-*-*-*-*&quot; (equivalent of <strong>Font</strong>(&quot;Times&quot;, 
+  CD_BOLD, -24).</li>
+  <li><a href="../func/text.html#cdFont">
+  <font face="Courier"><strong>Font</strong></font></a>: the old name &quot;System&quot; 
+  is mapped to &quot;fixed&quot;.</li>
+</ul>
+<h4>Colors </h4>
+<ul>
+  <li>
+  <a href="../func/color.html#cdPalette">
+  <font face="Courier"><strong>Palette</strong></font></a>: When the number of 
+  bits per pixel is smaller than or equal to 8, the driver will use the system 
+  palette to solve colors passed as parameters to the canvas. The driver 
+  allocates colors as they are requested - if a color cannot be allocated, the 
+  closest color is used in the palette. For such, the driver sees all available 
+  colors, in the current application and others. If one of the applications is 
+  terminated, a color in the palette may become invalid and will only be updated 
+  by the driver when it is requested again. For this reason, a call to <strong>
+  cdForeground </strong>or <strong>cdBackground</strong> or <strong>cdPalette</strong> 
+  is recommended before drawing.<br>
+  When CD_FORCE is used, the driver forces color allocation in the X server. 
+  This may imply changing colors in other applications when a cursor moves in 
+  and out of the canvas. However, if the number of requested colors is smaller 
+  than the maximum number of possible colors in the palette, then the first 
+  colors in the default system palette will be preserved, minimizing this 
+  problem.<br>
+  When CD_POLITE is used, all colors allocated by the driver are liberated, and 
+  the requested colors are allocated. This is useful for the application to 
+  prioritize the colors that will be allocated, causing other colors to be 
+  mapped to their closest colors.<br>
+  Note that canvases in the same application interfere with one another, but 
+  when a canvas is terminated it liberates all allocated colors.</li>
+</ul>
+<h4>Client Images</h4>
+<ul>
+  <li>
+  <a href="../func/client.html#cdGetImageRGB">
+  <font face="Courier"><strong>GetImageRGB</strong></font></a>: can be very 
+  slow due to the heavy conversions performed to translate data in system format 
+  into RGB vectors. </li>
+</ul>
+<h4>Exclusive Attributes</h4>
+<ul>
+  <li>&quot;<b><font face="Courier">GC</font></b>&quot;:&nbsp; returns the X11 graphics 
+  context (get only). In Lua is returned as a user data.</li>
+</ul>
+
+<ul>
+  <li>&quot;<b><font face="Courier">ROTATE</font></b>&quot;:&nbsp; allows the usage of 1 
+  angle and 1 coordinate (x, y), that define a global rotation transformation 
+  centered in the specified coordinate. Use 1 real and 2 integer values inside a 
+  string (&quot;%g %d %d&quot; = angle x y). In this driver will change the 
+  current transformation matrix, if removed will reset the current 
+  transformation matrix.</li>
+</ul>
+
+</body>
+
+</html>
diff --git a/html/en/freetype.txt b/html/en/freetype.txt
new file mode 100644
index 0000000..e874ba5
--- /dev/null
+++ b/html/en/freetype.txt
@@ -0,0 +1,169 @@
+                    The FreeType Project LICENSE
+                    ----------------------------
+
+                            2006-Jan-27
+
+                    Copyright 1996-2002, 2006 by
+          David Turner, Robert Wilhelm, and Werner Lemberg
+
+
+
+Introduction
+============
+
+  The FreeType  Project is distributed in  several archive packages;
+  some of them may contain, in addition to the FreeType font engine,
+  various tools and  contributions which rely on, or  relate to, the
+  FreeType Project.
+
+  This  license applies  to all  files found  in such  packages, and
+  which do not  fall under their own explicit  license.  The license
+  affects  thus  the  FreeType   font  engine,  the  test  programs,
+  documentation and makefiles, at the very least.
+
+  This  license   was  inspired  by  the  BSD,   Artistic,  and  IJG
+  (Independent JPEG  Group) licenses, which  all encourage inclusion
+  and  use of  free  software in  commercial  and freeware  products
+  alike.  As a consequence, its main points are that:
+
+    o We don't promise that this software works. However, we will be
+      interested in any kind of bug reports. (`as is' distribution)
+
+    o You can  use this software for whatever you  want, in parts or
+      full form, without having to pay us. (`royalty-free' usage)
+
+    o You may not pretend that  you wrote this software.  If you use
+      it, or  only parts of it,  in a program,  you must acknowledge
+      somewhere  in  your  documentation  that  you  have  used  the
+      FreeType code. (`credits')
+
+  We  specifically  permit  and  encourage  the  inclusion  of  this
+  software, with  or without modifications,  in commercial products.
+  We  disclaim  all warranties  covering  The  FreeType Project  and
+  assume no liability related to The FreeType Project.
+
+
+  Finally,  many  people  asked  us  for  a  preferred  form  for  a
+  credit/disclaimer to use in compliance with this license.  We thus
+  encourage you to use the following text:
+
+   """  
+    Portions of this software are copyright � <year> The FreeType
+    Project (www.freetype.org).  All rights reserved.
+   """
+
+  Please replace <year> with the value from the FreeType version you
+  actually use.
+
+
+Legal Terms
+===========
+
+0. Definitions
+--------------
+
+  Throughout this license,  the terms `package', `FreeType Project',
+  and  `FreeType  archive' refer  to  the  set  of files  originally
+  distributed  by the  authors  (David Turner,  Robert Wilhelm,  and
+  Werner Lemberg) as the `FreeType Project', be they named as alpha,
+  beta or final release.
+
+  `You' refers to  the licensee, or person using  the project, where
+  `using' is a generic term including compiling the project's source
+  code as  well as linking it  to form a  `program' or `executable'.
+  This  program is  referred to  as  `a program  using the  FreeType
+  engine'.
+
+  This  license applies  to all  files distributed  in  the original
+  FreeType  Project,   including  all  source   code,  binaries  and
+  documentation,  unless  otherwise  stated   in  the  file  in  its
+  original, unmodified form as  distributed in the original archive.
+  If you are  unsure whether or not a particular  file is covered by
+  this license, you must contact us to verify this.
+
+  The FreeType  Project is copyright (C) 1996-2000  by David Turner,
+  Robert Wilhelm, and Werner Lemberg.  All rights reserved except as
+  specified below.
+
+1. No Warranty
+--------------
+
+  THE FREETYPE PROJECT  IS PROVIDED `AS IS' WITHOUT  WARRANTY OF ANY
+  KIND, EITHER  EXPRESS OR IMPLIED,  INCLUDING, BUT NOT  LIMITED TO,
+  WARRANTIES  OF  MERCHANTABILITY   AND  FITNESS  FOR  A  PARTICULAR
+  PURPOSE.  IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS
+  BE LIABLE  FOR ANY DAMAGES CAUSED  BY THE USE OR  THE INABILITY TO
+  USE, OF THE FREETYPE PROJECT.
+
+2. Redistribution
+-----------------
+
+  This  license  grants  a  worldwide, royalty-free,  perpetual  and
+  irrevocable right  and license to use,  execute, perform, compile,
+  display,  copy,   create  derivative  works   of,  distribute  and
+  sublicense the  FreeType Project (in  both source and  object code
+  forms)  and  derivative works  thereof  for  any  purpose; and  to
+  authorize others  to exercise  some or all  of the  rights granted
+  herein, subject to the following conditions:
+
+    o Redistribution of  source code  must retain this  license file
+      (`FTL.TXT') unaltered; any  additions, deletions or changes to
+      the original  files must be clearly  indicated in accompanying
+      documentation.   The  copyright   notices  of  the  unaltered,
+      original  files must  be  preserved in  all  copies of  source
+      files.
+
+    o Redistribution in binary form must provide a  disclaimer  that
+      states  that  the software is based in part of the work of the
+      FreeType Team,  in  the  distribution  documentation.  We also
+      encourage you to put an URL to the FreeType web page  in  your
+      documentation, though this isn't mandatory.
+
+  These conditions  apply to any  software derived from or  based on
+  the FreeType Project,  not just the unmodified files.   If you use
+  our work, you  must acknowledge us.  However, no  fee need be paid
+  to us.
+
+3. Advertising
+--------------
+
+  Neither the  FreeType authors and  contributors nor you  shall use
+  the name of the  other for commercial, advertising, or promotional
+  purposes without specific prior written permission.
+
+  We suggest,  but do not require, that  you use one or  more of the
+  following phrases to refer  to this software in your documentation
+  or advertising  materials: `FreeType Project',  `FreeType Engine',
+  `FreeType library', or `FreeType Distribution'.
+
+  As  you have  not signed  this license,  you are  not  required to
+  accept  it.   However,  as  the FreeType  Project  is  copyrighted
+  material, only  this license, or  another one contracted  with the
+  authors, grants you  the right to use, distribute,  and modify it.
+  Therefore,  by  using,  distributing,  or modifying  the  FreeType
+  Project, you indicate that you understand and accept all the terms
+  of this license.
+
+4. Contacts
+-----------
+
+  There are two mailing lists related to FreeType:
+
+    o freetype@nongnu.org
+
+      Discusses general use and applications of FreeType, as well as
+      future and  wanted additions to the  library and distribution.
+      If  you are looking  for support,  start in  this list  if you
+      haven't found anything to help you in the documentation.
+
+    o freetype-devel@nongnu.org
+
+      Discusses bugs,  as well  as engine internals,  design issues,
+      specific licenses, porting, etc.
+
+  Our home page can be found at
+
+    http://www.freetype.org
+
+
+--- end of FTL.TXT ---
diff --git a/html/en/func/attributes.html b/html/en/func/attributes.html
new file mode 100644
index 0000000..60768e4
--- /dev/null
+++ b/html/en/func/attributes.html
@@ -0,0 +1,49 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+  <head>
+    <title>General Attributes</title>
+    <meta http-equiv="Content-Language" content="en-us">
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <link rel="stylesheet" type="text/css" href="../../style.css">
+  </head>
+  <body>
+    <h2 align="center">General Attributes</h2>
+    <pre class="function"><span class="mainFunction">long int <a name="cdForeground">cdCanvasForeground</a>(cdCanvas* canvas, long int color); [in C]</span>
+void cdCanvasSetForeground(cdCanvas* canvas, long int color); [in C]
+
+canvas:Foreground(color: lightuserdata) -&gt; (old_color: lightuserdata) [in Lua]
+canvas:SetForeground(color: lightuserdata) [in Lua]</pre>
+    <p>Configures a new current foreground color and returns the previous one. This 
+      color is used in all primitives (lines, areas, marks and text). Default value: <b>
+        <tt>CD_BLACK</tt></b>. Value <tt><b>CD_QUERY</b> </tt>simply returns the 
+      current value.</p>
+    <p>Notice that CD_QUERY conflicts with color RGBA=(255,255,255,255) (full 
+    transparent white). Use <strong>SetForeground</strong> to avoid the 
+    conflict. See also <a href="color.html">Color Coding</a>.</p>
+    <pre class="function"><span class="mainFunction">long int <a name="cdBackground">cdCanvasBackground</a>(cdCanvas* canvas, long int color); [in C]</span>
+void cdCanvasSetBackground(cdCanvas* canvas, long int color); [in C]
+
+canvas:Background(color: lightuserdata) -&gt; (old_color: lightuserdata) [in Lua]
+canvas:SetBackground(color: lightuserdata) [in Lua]</pre>
+    <p>Configures the new current background color and returns the previous one. 
+      However, it does not automatically change the background of a canvas. For such, 
+      it is necessary to call the <strong>Clear</strong> function. The 
+      background color only makes sense for <strong>Clear</strong><tt><font> </font></tt>and for 
+      primitives affected by the background opacity attribute. Default value: <b><tt>CD_WHITE</tt></b>. 
+      Value <tt><b>CD_QUERY</b> </tt>simply returns the current value.</p>
+    <p>Notice that CD_QUERY conflicts with color RGBA=(255,255,255,255) (full 
+    transparent white). Use <strong>SetBackground</strong> to avoid the 
+    conflict. See also <a href="color.html">Color Coding</a>.</p>
+    <pre class="function"><span class="mainFunction">int <a name="cdWriteMode">cdCanvasWriteMode</a>(cdCanvas* canvas, int mode); [in C]</span>
+
+canvas:WriteMode(mode: number) -&gt; (old_mode: number) [in Lua]</pre>
+    <p>Defines the writing type for all drawing primitives. Values: <b><tt>CD_REPLACE</tt></b>,
+      <b><tt>CD_XOR</tt></b> or <b><tt>CD_NOT_XOR</tt></b>. Returns the previous 
+      value. Default value: <b><tt>CD_REPLACE</tt></b>. Value <tt><b>CD_QUERY</b> </tt>
+      simply returns the current value.
+    </p>
+    <p>Note: operation XOR is very useful, because, using white as the foreground 
+      color and drawing the same image twice, you can go back to the original color, 
+      before the drawing. This is commonly used for mouse selection feedback.</p>
+  </body>
+</html>
diff --git a/html/en/func/client.html b/html/en/func/client.html
new file mode 100644
index 0000000..20a6c4e
--- /dev/null
+++ b/html/en/func/client.html
@@ -0,0 +1,255 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+  <head>
+    <title>Client Images</title>
+    <meta http-equiv="Content-Language" content="en-us">
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <link rel="stylesheet" type="text/css" href="../../style.css">
+  </head>
+  <body>
+    <h2 align="center">Client Images</h2>
+    <p>There are 2 kinds of client images: RGB and Indexed RGB (or MAP). The RGB 
+      image is composed by 3 buffers: red, green and blue (more colors, more memory). 
+      The MAP image is composed by 1 buffer of indices for a table and one table of 
+      encoded RGB values (less colors, less memory).
+    </p>
+    <p>The image buffer is described by its width and height in pixels. The starting 
+      point of the buffer is the origin of the image, which is located at its bottom 
+      left corner. To retrieve a pixel in the image, use the formula <font>pixel(x,y)=buffer[y*width 
+        + x]</font>.
+    </p>
+    <p>The Put functions may do zoom in or out; zero order interpolation is used to 
+      scale the image. It is not possible to specify a part of the image to be drawn.</p>
+    <hr>
+    <pre class="function"><span class="mainFunction">void <a name="cdGetImageRGB">cdCanvasGetImageRGB</a>(cdCanvas* canvas, unsigned char *r, 
+                   unsigned char *g, 
+                   unsigned char *b, 
+                   int x, int y, int w, int h); [in C]</span>
+
+canvas:GetImageRGB(imagergb: cdImageRGB; x, y: number) [in Lua]</pre>
+    <p>Returns the red, green and blue components of each pixel in a server image. 
+      The RGB components are provided in three matrices stored as byte arrays. The <strong>
+        <tt>(i,j)</tt></strong> component of these matrices is at the address <strong><tt>
+          (j*w+i)</tt></strong>. As occurs with all primitives from the Canvas Draw 
+      library, the pixel <strong><tt>(0,0)</tt></strong> is at the bottom left 
+      corner, and the pixel <strong><tt>(w-1,h-1)</tt></strong> is that the upper 
+      right corner of the image rectangle.</p>
+    <pre class="function"><span class="mainFunction">void <a name="cdPutImageRectRGB">cdCanvasPutImageRectRGB</a>(cdCanvas* canvas, int iw, int ih, 
+                       const unsigned char *r, 
+                       const unsigned char *g, 
+                       const unsigned char *b, 
+                       int x, int y, int w, int h, 
+                       int xmin, int xmax, int ymin, int ymax); [in C]</span>
+void wdCanvasPutImageRectRGB(cdCanvas* canvas, int iw, int ih, 
+                       const unsigned char *r, 
+                       const unsigned char *g, 
+                       const unsigned char *b, 
+                       double x, double y, double w, double h, 
+                       int xmin, int xmax, int ymin, int ymax); (WC) [in C]
+
+canvas:PutImageRectRGB(imagergb: cdImageRGB; x, y, w, h, xmin, xmax, ymin, ymax: number) [in Lua]
+canvas:wPutImageRectRGB(imagergb: cdImageRGB; x, y, w, h, xmin, xmax, ymin, ymax: number) (WC) [in Lua]</pre>
+    <p>Puts, in a specified area of the canvas, an image with its red, green and blue 
+      components defined in the three matrices stored in byte arrays. The <strong><tt>(i,j)</tt></strong>
+      component of these matrices is at the address <strong><tt>(j*iw+i)</tt></strong>. 
+      The pixel <strong><tt>(0,0)</tt></strong> is at the bottom left corner, and the 
+      pixel <strong><tt>(iw-1,ih-1)</tt></strong> is that the upper right corner of 
+      the image rectangle.
+    </p>
+    <p>Parameters <strong><font>w</font></strong> and <font><strong>h</strong></font> 
+      refer to the target rectangle of the canvas, so that it is possible to reduce 
+      or expand the image drawn. If <strong><font>w</font></strong> and <strong><font>h</font></strong>
+      are 0, the size of the image is assumed (<strong><font>iw</font></strong> and <strong>
+        <font>ih</font></strong>).
+    </p>
+    <p>It also allows specifying a rectangle inside the image to be drawn, if <strong><font>
+          xmin</font>, <font>xmax</font>, <font>ymin</font> </strong>and <strong><font>ymax</font></strong>
+      are 0 then the whole image is assumed.
+    </p>
+    <p>If the driver has bpp &lt;=8 or only 256 colors or less, then the image is 
+      converted to 256 optimal colors using the function <strong><font>cdRGB2Map</font></strong>
+      and is drawn using <strong><font>cdPutImageRectMap</font></strong>.</p>
+    <pre class="function"><span class="mainFunction">void <a name="cdPutImageRectRGBA">cdCanvasPutImageRectRGBA</a>(cdCanvas* canvas, int iw, int ih, 
+                        const unsigned char *r, 
+                        const unsigned char *g, 
+                        const unsigned char *b, 
+                        const unsigned char *a, 
+                        int x, int y, int w, int h, 
+                        int xmin, int xmax, int ymin, int ymax); [in C]</span>
+void wdCanvasPutImageRectRGBA(cdCanvas* canvas, int iw, int ih, 
+                        const unsigned char *r, 
+                        const unsigned char *g, 
+                        const unsigned char *b, 
+                        const unsigned char *a, 
+                        double x, double y, double w, double h, 
+                        int xmin, int xmax, int ymin, int ymax); (WC) [in C]
+
+canvas:PutImageRectRGBA(imagergba: cdImageRGBA; x, y, w, h, xmin, xmax, ymin, ymax: number) [in Lua]
+canvas:wPutImageRectRGBA(imagergba: cdImageRGBA; x, y, w, h, xmin, xmax, ymin, ymax: number) (WC) [in Lua]</pre>
+    <p>The same as function&nbsp; <font><strong>cdPutImageRectRGB</strong></font>, 
+      except for the fact that it is possible to specify an alpha channel. The 
+      resulting color is the image color weighted by the alpha value, using the 
+      formula <strong><tt>result=(source * alpha + destiny * (255 - alpha))/255</tt></strong>. 
+      This means that, if alpha is 0, the resulting color is the target color 
+      (completely transparent), and, if alpha is 255, the resulting color is the 
+      original image color (completely opaque).</p>
+    <p>If this function is not defined for a given driver or if alpha is <font>NULL</font>, 
+      then the function <strong><font>cdPutImageRectRGB</font></strong> is used, as 
+      long as it is defined.</p>
+    <pre class="function"><span class="mainFunction">void <a name="cdPutImageRectMap">cdCanvasPutImageRectMap</a>(cdCanvas* canvas, int iw, int ih, 
+                       const unsigned char *index, 
+                       const long int *colors, 
+                       int x, int y, int w, int h, 
+                       int xmin, int xmax, int ymin, int ymax); [in C]</span>
+void wdCanvasPutImageRectMap(cdCanvas* canvas, int iw, int ih, 
+                       const unsigned char *index, 
+                       const long int *colors, 
+                       double x, double y, double w, double h, 
+                       int xmin, int xmax, int ymin, int ymax); (WC) [in C]
+
+canvas:PutImageRectMap(imagemap: cdImageMap; palette: cdPalette; x, y, w, h, xmin, xmax, ymin, ymax: number) [in Lua]
+canvas:wPutImageRectMap(imagemap: cdImageMap; palette: cdPalette; x, y, w, h, xmin, xmax, ymin, ymax: number) (WC) [in Lua]</pre>
+    <p>The same as function&nbsp; <font><strong>cdPutImageRectRGB</strong></font>, 
+      except for the fact that the colors are provided by means of an index matrix 
+      (map). The color corresponding to a given index is given in&nbsp; <font><b>colors[index]</b></font>. 
+      The map is also a matrix stored as a byte vector. If the color vector is null, 
+      then a vector with 256 gray tones is assumed.</p>
+    <pre class="function"><span class="mainFunction">void <a name="cdRGB2Map">cdRGB2Map</a>(int iw, int ih, 
+               const unsigned char *r, 
+               const unsigned char *g, 
+               const unsigned char *b, 
+               unsigned char *index, 
+               int pal_size, long *color); [in C]</span>
+
+cd.RGB2Map(imagergb: cdImageRGB, imagemap: cdImageMap, palette: cdPalette) [in Lua]</pre>
+    <p>Converts an RGB image into an image with 256 indexed colors. The resulting 
+      image must have the same size (width x length) as the RGB image. It is 
+      necessary to allocate memory for the arrays <strong><font>map</font></strong> and
+      <strong><font>colors</font></strong>. This is the same algorithm used in the IM 
+      library - in fact, the same code.</p>
+    <h3>Extras</h3>
+    <p>The following functions are used only for encapsulating the several types of 
+      client images from the library in a single structure, simplifying their 
+      treatment.&nbsp;</p>
+    <p>For such, a public structure was created, called <font><b>cdBitmap</b></font>, 
+      which will store the image. From this structure, the following fields are 
+      officially defined:</p>
+    <pre>cdBitmap:
+  int w      /* image width */
+  int h      /* image heigth */
+  int type   /* image type: CD_RGBA, CD_RGB or CD_MAP */</pre>
+    <pre class="function"><span class="mainFunction">cdBitmap* <a name="cdCreateBitmap">cdCreateBitmap</a>(int w, int h, int type); [in C]</span>
+
+cd.CreateBitmap(w, h, type: number) -&gt; (bitmap: cdBitmap) [in Lua]</pre>
+    <p>Creates an image with width <strong>w</strong>, and height <strong>h</strong> and 
+      of type <strong>type</strong>. The type can be <font>CD_RGBA, CD_RGB or CD_MAP</font>. 
+      However, <font>CD_MAP</font> only means that the image will have 256 colors if <strong>
+        type</strong> is greater than 0. It is assumed that the image will be MAP 
+      with the same number of colors in the palette as <strong>type</strong>. 
+      Internally, the color palette is always allocated with 256 entries, which may 
+      or may not be totally fulfilled. In this case, the value of <strong>type</strong> 
+    can be changed as wished.</p>
+    <pre class="function"><span class="mainFunction">cdBitmap* <a name="cdInitBitmap">cdInitBitmap</a>(int w, int h, int type, ...); [in C]</span>
+
+[There is no equivalent in Lua]</pre>
+    <p>Similar to <strong><font>cdCreateBitmap</font></strong>, but it accepts the 
+      data area already allocated by the user. The parameters vary according to the 
+      image type.</p>
+    <pre><font>CD_RGBA - (unsigned char* red, unsigned char* green, unsigned char* blue, unsigned char* alpha)
+CD_RGB - (unsigned char* red, unsigned char* green, unsigned char* blue)
+CD_MAP - (unsigned char* index, lont int* colors)</font></pre>
+    <pre class="function"><span class="mainFunction">void <a name="cdKillBitmap">cdKillBitmap</a>(cdBitmap* image); [in C]</span>
+
+cd.KillBitmap(bitmap: cdBitmap) [in Lua]</pre>
+    <p>Liberates the memory allocated for the image. If this function is not 
+    called in Lua, the garbage collector will call it.</p>
+    <pre class="function"><span class="mainFunction">unsigned char* <a name="cdBitmapGetData">cdBitmapGetData</a>(cdBitmap* image, int dataptr); [in C]</span>
+
+cd.BitmapGetData(bitmap: cdBitmap; dataptr: number) -&gt; (data: cdImageChannel) [in Lua]</pre>
+    <p>Returns a pointer to the image's data area according to <font><strong>dataptr</strong></font>. 
+      The following values are defined for <font><strong>dataptr</strong>:</font></p>
+    <pre><strong>CD_IRED</strong> - red component of an RGB image. cdImageChannel in Lua.
+<strong>CD_IGREEN</strong> - green component of an RGB image. cdImageChannel in Lua.
+<strong>CD_IBLUE</strong> - blue component of an RGB image. cdImageChannel in Lua.
+<strong>CD_IALPHA</strong> - alpha component of an RGBA image. cdImageChannel in Lua.
+<strong>CD_INDEX</strong> - indices of a MAP image. cdImageChannel in Lua.
+<strong>CD_COLORS</strong> - color table of a MAP image. In this case, a type conversion must be made to <strong>(long int*)</strong>.  cdPalette in Lua.</pre>
+    <p>In Lua, channels are also available as tables, see <a href="#DataAccess">Data 
+        Access</a>.&nbsp;
+    </p>
+    <pre class="function"><span class="mainFunction">void <a name="cdBitmapSetRect">cdBitmapSetRect</a>(cdBitmap* image, int xmin, int xmax, int ymin, int ymax); [in C]</span>
+
+cd.BitmapSetRect(bitmap: cdBitmap; xmin, xmax, ymin, ymax: number) [in Lua]</pre>
+    <p>Allows specifying a region of interest inside the image to be used by the 
+      function <b><font>cdPutBitmap</font></b>. If no region was defined, the whole 
+      image is used, that is, (0, w-1, 0, h-1).</p>
+    <pre class="function"><span class="mainFunction">void <a name="cdPutBitmap">cdCanvasPutBitmap</a>(cdCanvas* canvas, cdBitmap* image, int x, int y, int w, int h); [in C]</span>
+void wdCanvasPutBitmap(cdCanvas* canvas, cdBitmap* image, double x, double y, double w, double h); (WC) [in C]
+
+canvas:PutBitmap(image: cdBitmap; x, y, w, h: number) [in Lua]
+canvas:wPutBitmap(bitmap: cdBitmap; x, y, w, h: number) (WC) [in Lua]</pre>
+    <p>Draws the&nbsp; image in the position (x,y), changing the scale. It 
+      encapsulates <font><strong>cdPutImageRectRGB</strong>, <strong>cdPutImageRectRGBA</strong></font>
+      and <strong><font>cdPutImageRectMap</font></strong>. The region of the image 
+      drawn depends on the rectangle defined by <strong><font>cdBitmapSetRect</font></strong>. 
+      If no rectangle was defined, then the whole image is used.</p>
+    <p>The parameters <strong>w</strong> and <strong>h</strong> allow scaling the 
+      image, increasing or decreasing its dimensions when drawn. If&nbsp; <strong>w</strong>
+      and/or <strong>h</strong> are 0, then no scale change is assumed.
+    </p>
+    <pre class="function"><span class="mainFunction">void <a name="cdGetBitmap">cdCanvasGetBitmap</a>(cdCanvas* canvas, cdBitmap* image, int x, int y); [in C]</span>
+
+canvas:GetBitmap(bitmap: cdBitmap; x, y: number) [in Lua]</pre>
+    <p>Encapsulates <strong><font>cdGetImageRGB</font></strong>. Nothing happens if 
+      the image is MAP.</p>
+    <pre class="function"><span class="mainFunction">void <a name="cdBitmapRGB2Map">cdBitmapRGB2Map</a>(cdBitmap* image_rgb, cdBitmap* image_map); [in C]</span>
+
+cd.BitmapRGB2Map(bitmap_rgb: cdBitmap, bitmap_map: cdBitmap) [in Lua]</pre>
+    <p>Encapsulates <strong><font>cdRGB2Map</font></strong>. The images must be of 
+      types <font>RGB(A)</font> and <font>MAP</font>, respectively.</p>
+    <h3>Extras in Lua (Deprecated)</h3>
+    <pre class="function"><a name="cdCreateImageRGB">cd.CreateImageRGB</a>(width, height: number) -&gt; (imagergb: cdImageRGB)</pre>
+    <p>Creates an RGB image in Lua. Deprecated use <strong>cd.CreateBitmap</strong>.</p>
+    <pre class="function"><a name="cdKillImageRGB">cd.KillImageRGB</a>(imagergb: cdImageRGB)</pre>
+    <p>Destroys the created RGB image and liberates allocated memory. If this 
+    function is not called in Lua, the garbage collector will call it. Deprecated use <strong>
+        cd.KillBitmap</strong>.</p>
+    <pre class="function"><a name="cdCreateImageRGBA">cd.CreateImageRGBA</a>(width, height: number) -&gt; (imagergba: cdImageRGBA)</pre>
+    <p>Creates an RGBA image in Lua. Deprecated use <strong>cd.CreateBitmap</strong>.</p>
+    <pre class="function"><a name="cdKillImageRGBA">cd.KillImageRGBA</a>(imagergba: cdImageRGBA)</pre>
+    <p>Destroys the created RGBA image and liberates allocated memory. If this 
+    function is not called in Lua, the garbage collector will call it. Deprecated use <strong>
+        cd.KillBitmap</strong>.</p>
+    <pre class="function"><a name="cdCreateImageMap">cd.CreateImageMap</a>(width, height: number) -&gt; (imagemap: cdImageMap)</pre>
+    <p>Creates a Map image in Lua. Deprecated use <strong>cd.CreateBitmap</strong>.</p>
+    <pre class="function"><a name="cdKillImageMap">cd.KillImageMap</a>(imagemap: cdImageMap)</pre>
+    <p>Destroys the created Map image and liberates allocated memory. If this 
+    function is not called in Lua, the garbage collector will call it. Deprecated use <strong>
+        cd.KillBitmap</strong>.</p>
+    <h3><a name="DataAccess">Data Access</a></h3>
+    <p>Data access in Lua is done directly using the operator "<font>[y*width + x]</font>" 
+      in image channels. Each channel works as a value table which should be 
+      consulted or modified in the following way:</p>
+    <pre><font>image = cd.CreateBitmap(100, 200)
+...
+image.r[y*100 + x] = 255
+image.g[y*100 + x] = 128
+image.b[y*100 + x] = 0
+...
+green = image.g[y*100 + x] -- it will return 128</font></pre>
+    <p>The order of the tables <em>is</em> important, so that <font size="3">image[n].r</font>
+      has no meaning to CDLua and the expression will cause an error. Finally, 
+      the user could expect the value of <font size="3">image[n]</font> to be of type <font>
+        lightuserdata</font>. Unfortunately, this is not the case, and such expression 
+      will cause the same  error.</p>
+    <p>In the old <font>cdImageMap </font>images, the channel must be not 
+      specified: <font size="3">imagemap[y*100+x]</font>.</p>
+    <p>Known channel names are:</p>
+    <pre>r - red channel of RGB or RGBA images.
+g - gree channel of RGB or RGBA images.
+b - blue channel of RGB or RGBA images.
+a - alpha channel of RGBA images.
+m - indices channel of MAP images (valid only for cdBitmap objects).
+p - colors table of MAP images (valid only for cdBitmap objects). It is a cdPalette object.</pre>
+  </body>
+</html>
\ No newline at end of file
diff --git a/html/en/func/clipping.html b/html/en/func/clipping.html
new file mode 100644
index 0000000..b30db55
--- /dev/null
+++ b/html/en/func/clipping.html
@@ -0,0 +1,62 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+  <head>
+    <title>Clipping</title>
+    <meta http-equiv="Content-Language" content="en-us">
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <link rel="stylesheet" type="text/css" href="../../style.css">
+  </head>
+  <body>
+    <h2 align="center">Clipping</h2>
+    <p>The clipping area is an area that limits the available drawing area inside the 
+      canvas. Any primitive is drawn only inside the clipping area. It affects all 
+      primitives.</p>
+    <p>You can set the clipping area by using the function <b>cdClipArea</b>, and 
+      retrieve it using <b>cdGetClipArea</b>. The clipping area is a rectangle by 
+      default, but it can has other shapes. In some drivers a polygon area can be 
+      defined, and in display based drivers a complex region can be defined. The 
+      complex region can be a combination of boxes, polygons, sectors, chords and 
+      texts.</p>
+    <p>The <b>cdClip</b> function activates and deactivaes the clipping.</p>
+    <hr>
+    <pre class="function"><span class="mainFunction">int&nbsp;cdCanvasClip(cdCanvas* canvas, int mode); [in C]</span>
+
+canvas:Clip(mode: number) -&gt; (old_mode: number) [in Lua]</pre>
+    <p>Activates or deactivates clipping. Returns the previous status. Values: <b>CD_CLIPAREA, 
+        CD_CLIPPOLYGON, CD_CLIPREGION</b> or <b>CD_CLIPOFF</b>. The value <b>CD_QUERY</b>
+      simply returns the current status. Default value: <b>CD_CLIPOFF</b>.</p>
+    <p>The value <b>CD_CLIPAREA</b> activates a rectangular area as the clipping 
+      region.
+    </p>
+    <p>The value <b>CD_CLIPPOLYGON</b> activates a polygon as a clipping region, but 
+      works only in some drivers (please refer to the notes of each driver). The 
+      clipping polygon must be defined before activating the polygon clipping; if it 
+      is not defined, the current clipping state remains unchanged. See the 
+      documentation of <a href="polygon.html">cdBegin/cdVertex/cdEnd</a> to create a 
+      polygon.</p>
+    <p>The value <b>CD_CLIPREGION</b> activates a complex clipping region. See the 
+      documentation of <a href="region.html">Regions</a>.</p>
+    <pre class="function"><span class="mainFunction">void cdCanvasClipArea(cdCanvas* canvas, int xmin, int xmax, int ymin, int ymax); [in C]</span>
+void cdfCanvasClipArea(cdCanvas* canvas, double xmin, double xmax, double ymin, double ymax); [in C]
+void wdCanvasClipArea(cdCanvas* canvas, double xmin, double xmax, double ymin, double ymax); (WC) [in C]
+
+canvas:ClipArea(xmin, xmax, ymin, ymax: number) [in Lua]
+canvas:wClipArea(xmin, xmax, ymin, ymax: number) (WC) [in Lua]</pre>
+    <p>Defines a rectangle for clipping. Only the points in the interval <i><b>xmin&lt;= 
+          x &lt;= xmax</b></i> and<b> </b><i><b>ymin &lt;= y &lt;= ymax</b></i> will 
+      be printed. Default region: (0, w-1, 0, h-1).
+    </p>
+    <pre class="function"><span class="mainFunction">int&nbsp;cdCanvasGetClipArea(cdCanvas* canvas, int *xmin, int *xmax, int *ymin, int *ymax); [in C]</span>
+int cdfCanvasGetClipArea(cdCanvas* canvas, double *xmin, double *xmax, double *ymin, double *ymax); [in C]
+int wdCanvasGetClipArea(cdCanvas* canvas, double *xmin, double *xmax, double *ymin, double *ymax); (WC) [in C]
+
+canvas:GetClipArea() -&gt; (xmin, xmax, ymin, ymax, status: number) [in Lua]
+canvas:wGetClipArea() -&gt; (xmin, xmax, ymin, ymax, status: number) (WC) [in Lua]</pre>
+    <p>Returns the rectangle and the clipping status. It is not necessary to provide 
+      all return pointers, you can provide only the desired values and <i><b>NULL</b></i>
+      for the others.</p>
+    <h4><a name="Polygons">Polygons</a></h4>
+    <p>A polygon for clipping can be created using <font face="Courier"><strong>cdBegin(</strong>CD_CLIP<strong>)/cdVertex(x,y)/.../cdEnd()</strong></font>.</p>
+    <p>See the documentation of <a href="polygon.html">cdBegin/cdVertex/cdEnd</a>.</p>
+    </body>
+</html>
diff --git a/html/en/func/color.html b/html/en/func/color.html
new file mode 100644
index 0000000..9ec9928
--- /dev/null
+++ b/html/en/func/color.html
@@ -0,0 +1,137 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+  <head>
+    <title>Color Coding</title>
+    <meta http-equiv="Content-Language" content="en-us">
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <link rel="stylesheet" type="text/css" href="../../style.css">
+  </head>
+  <body>
+    <h2 align="center">Color Coding</h2>
+    <p>The library's color system is RGB. In order to simplify some functions, a 
+      compact representation was created for the 3 values. To make a conversion from 
+      this representation to the 3 separate values and vice-versa, use functions
+    <b> <font>cdDecodeColor</font></b>
+      and <b> <font>cdEncodeColor</font></b>.
+    </p>
+    <p>When the canvas used does not support more than 8 bpp of color resolution, you 
+      can use function <b> <font>Palette</font></b> to give the driver an idea of which 
+      colors to prioritize. <b> <font>Palette</font>'s</b> behavior is driver dependent.</p>
+    <p>There are some predefined colors:</p>
+    <pre>CD_RED          = (255,  0,  0)
+CD_DARK_RED     = (128,  0,  0)
+CD_GREEN        = (0  ,255,  0)
+CD_DARK_GREEN   = (  0,128,  0)
+CD_BLUE         = (  0,  0,255)
+CD_DARK_BLUE    = (  0,  0,128)
+CD_YELLOW       = (255,255,  0)
+CD_DARK_YELLOW  = (128,128,  0)
+CD_MAGENTA      = (255,  0,255)
+CD_DARK_MAGENTA = (128,  0,128)
+CD_CYAN         = (  0,255,255)
+CD_DARK_CYAN    = (  0,128,128)
+CD_WHITE        = (255,255,255)
+CD_BLACK        = (  0,  0 , 0)
+CD_DARK_GRAY    = (128,128,128)
+CD_GRAY         = (192,192,192)
+</pre>
+    <hr>
+    <pre class="function"><span class="mainFunction">long int <a name="cdEncodeColor">cdEncodeColor</a>(unsigned char red, unsigned char green, unsigned char blue) [in C]</span>
+
+cd.EncodeColor(r, g, b: number) -&gt; (old_color: lightuserdata) [in Lua]</pre>
+    <p>Returns a codified triple (<em>r,g,b</em>) in a long integer such as <b><tt>0x00RRGGBB</tt></b>, 
+      where <tt><b>RR</b> </tt>are the red components, <b><tt>GG</tt></b> are the 
+      green ones and <b><tt>BB</tt></b> are the blue ones. The code is used in the CD 
+      library to define colors. It can be used without an active canvas.</p>
+    <pre class="function"><span class="mainFunction">void <a name="cdDecodeColor">cdDecodeColor</a>(long int color, unsigned char *red, unsigned char *green, unsigned char *blue) [in C]</span>
+
+cd.DecodeColor(color: lightuserdata) -&gt; (r, g, b: number) [in Lua]</pre>
+    <p>Returns the red, green and blue components of a color in the CD library. Can 
+      be used without an active canvas.</p>
+    <pre class="function"><span class="mainFunction">long int <a name="cdEncodeAlpha">cdEncodeAlpha</a>(long int color, unsigned char alpha) [in C]</span>
+
+cd.EncodeAlpha(color: lightuserdata, alpha: number) -&gt; (color: lightuserdata) [in Lua]</pre>
+    <p>Returns the given color coded with the alpha information. ATENTION: At the 
+      moment only the Win32 with GDI+ and the IMAGERGB drivers support alpha 
+      components in color coding. Se in <a href="../drv/gdiplus.html">Windows Using 
+        GDI+ Base Driver</a> and <a href="../drv/irgb.html">IMAGERGB driver</a>. The 
+      internal representation of the component is inverted, because the default value 
+      must be 0 and opaque for backward compatibility, so you should use the <strong>cdDecodeAlpha</strong>
+      function ot the <strong>cdAlpha</strong> macro to retrieve the alpha component.</p>
+    <pre class="function"><span class="mainFunction">unsigned char <a name="cdDecodeAlpha">cdDecodeAlpha</a>(long int color) [in C]</span>
+
+cd.DecodeAlpha(color: lightuserdata) -&gt; (a: number) [in Lua]</pre>
+    <p>Returns the alpha component of a color in the CD library. Can be used without 
+      an active canvas. 0 is transparent, 255 is opaque.</p>
+    <pre class="function"><span class="mainFunction">unsigned char <a name="cdRed0">cdAlpha</a>(long int color); [in C]</span>
+
+cd.Alpha(color: lightuserdata) -&gt; (r: number) [in Lua]</pre>
+    <p>Macro that returns the alpha component of a color in the CD library. Can be 
+      used without an active canvas.</p>
+    <pre class="function"><span class="mainFunction">unsigned char <a name="cdRed">cdRed</a>(long int color); [in C]</span>
+
+cd.Red(color: lightuserdata) -&gt; (r: number) [in Lua]</pre>
+    <p>Macro that returns the red component of a color in the CD library. Can be used 
+      without an active canvas.</p>
+    <pre class="function"><span class="mainFunction">unsigned char <a name="cdGreen">cdGreen</a>(long int color); [in C]</span>
+
+cd.Green(color: lightuserdata) -&gt; (g: number) [in Lua]</pre>
+    <p>Macro that returns the green component of a color in the CD library. Can be 
+      used without an active canvas.</p>
+    <pre class="function"><span class="mainFunction">unsigned char <a name="cdBlue">cdBlue</a>(long int color); [in C]</span>
+
+cd.Blue(color: lightuserdata) -&gt; (b: number) [in Lua]</pre>
+    <p>Macro that returns the blue component of a color in the CD library. Can be 
+      used without an active canvas.</p>
+    <hr>
+    <pre class="function"><span class="mainFunction">int <a name="cdGetColorPlanes">cdCanvasGetColorPlanes</a>(cdCanvas* canvas); [in C]</span>
+
+canvas:GetColorPlanes() -&gt; (bpp: number) [in Lua]</pre>
+    <p>Returns a given number, for instance <i>p</i>, which defines the number of 
+      colors supported by the current device as <i>2<sup>p</sup></i>, representing 
+      the number of bits by pixel.
+    </p>
+    <pre class="function"><span class="mainFunction">void <a name="cdPalette">cdCanvasPalette</a>(cdCanvas* canvas, int n, const long int *color, int mode); [in C]</span>
+
+canvas:Palette(palette: cdPalette; mode: number) [in Lua]</pre>
+    <p>In systems limited to 256 palette colors, this function aims at adding&nbsp; <b><tt>
+          n</tt></b> colors to the system's palette. In such systems, the colors 
+      demanded forward or backward which are not in the palette are approximated to 
+      the closest available color. The type can be <tt><b>CD_FORCE</b> </tt>or <b><tt>CD_POLITE</tt></b>.
+      <b><tt>CD_FORCE</tt></b> ignores the system colors and interface elements, 
+      since the menus and dialogues may be in illegible colors, but there will be 
+      more colors available. <tt><b>CD_POLITE</b></tt> is the recommended type. It 
+      must always be used before drawing. It cannot be queried.</p>
+
+<h3><a name="Palette">Palette</a></h3>
+
+    <pre class="function"><a name="cdCreatePalette">cd.CreatePalette</a>(size: number) -&gt; (palette: cdPalette) [in Lua Only]</pre>
+    <p>Creates a palette.</p>
+    <pre class="function"><a name="cdKillPalette">cd.KillPalette</a>(palette: cdPalette) [in Lua Only]</pre>
+    <p>Destroys the created palette and liberates allocated memory. If this 
+    function is not called in Lua, the garbage collector will call it.</p>
+
+<h3>Palette <a name="DataAccess">Data Access</a></h3>
+
+  <p>Data access in Lua is done directly using the array access operators. The 
+  colors can have their values checked or changed directly as if they 
+  were Lua tables:</p>
+  
+    <pre>palette[index] = cd.EncodeColor(r, g, b)
+count = #palette
+...
+color = palette[index]
+r, g, b = cd.DecodeColor(color)</pre>
+  
+  <p>Notice that the type of value returned or received by
+  <font size="3">palette[index]</font><font size="2"> </font>is a
+  <font>lightuserdata</font>, the same type used with functions <b>
+  <font size="3">cdEncodeColor</font></b>, <b>
+  <font size="3">cdDecodeColor</font></b>, <b>
+  <font size="3">cdPixel</font></b>, <b>
+  <font size="3">cdForeground</font></b><font size="2">
+  </font>and <b> <font size="3">cdBackground</font></b>.</p>
+
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/html/en/func/control.html b/html/en/func/control.html
new file mode 100644
index 0000000..5ccdd1c
--- /dev/null
+++ b/html/en/func/control.html
@@ -0,0 +1,63 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+  <head>
+    <title>Canvas Control</title>
+    <meta http-equiv="Content-Language" content="en-us">
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <link rel="stylesheet" type="text/css" href="../../style.css">
+  </head>
+  <body>
+    <h2 align="center">Canvas Control</h2>
+    <pre class="function"><span class="mainFunction">void&nbsp;cdCanvasClear(cdCanvas* canvas); [in C]</span>
+
+canvas:Clear() [in Lua]</pre>
+    <p>Cleans the active canvas using the current background color. This action is 
+      interpreted very differently by each driver. Many drivers simply draw a 
+      rectangle with the current background color. It is NOT necessary to call <font>cdClear</font>
+      when the canvas has just been created, as at this moment it is already clean. 
+      Most file-based drivers do not implement this function.</p>
+    <pre class="function"><span class="mainFunction">void&nbsp;cdCanvasFlush(cdCanvas* canvas); [in C]</span>
+    
+canvas:Flush() [in Lua]</pre>
+    <p>Has a different meaning for each driver. It is useful to send information to 
+      buffered devices and to move to a new page or layer. In all cases, the current 
+      canvas attributes are preserved.</p>
+    <hr>
+    <pre class="function"><span class="mainFunction">cdState* <a name="cdSaveState">cdCanvasSaveState</a>(cdCanvas* canvas); [in C]</span>
+    
+canvas:SaveState() -&gt; (state: cdState) [in Lua]</pre>
+    <p>Saves the state of attributes of the active canvas. It does not save cdPlay 
+      callbacks, polygon creation states (begin/vertex/vertex/...), the palette, 
+      complex clipping regions and driver internal attributes.</p>
+    <pre class="function"><span class="mainFunction">void <a name="cdRestoreState">cdCanvasRestoreState</a>(cdCanvas* canvas, cdState* state); [in C]</span>
+    
+canvas:RestoreState(state: cdState) [in Lua]</pre>
+    <p>Restores the attribute state of the active canvas. It can be used between 
+      canvases of different contexts. It can be used several times for the same 
+      state. </p>
+    <pre class="function"><span class="mainFunction">void <a name="cdReleaseState">cdReleaseState</a>(cdState* state); [in C]</span>
+
+cd.ReleaseState(state: cdState) [in Lua]</pre>
+    <p>Releases the memory allocated by the <strong><font>cdSaveState</font></strong> 
+      function. If this function is not called in Lua, the garbage collector 
+    will call it.</p>
+    <hr>
+    <pre class="function"><span class="mainFunction">void <a name="cdSetAttribute">cdCanvasSetAttribute</a>(cdCanvas* canvas, const char* name, char* data); [in C]</span>
+    
+canvas:SetAttribute(name, data: string) [in Lua]</pre>
+    <p>Modifies a custom attribute directly in the driver of the active canvas. If 
+      the driver does not have this attribute, the call is ignored.</p>
+    <pre class="function"><span class="mainFunction">void <a name="cdSetfAttribute">cdCanvasSetfAttribute</a>(cdCanvas* canvas, const char* name, const char* format, ...); [in C]</span>
+    
+[There is no equivalent in Lua]</pre>
+    <p>Same as <strong><font>cdSetAttribute</font></strong>, used for the case in 
+      which the parameter <b><font>data</font></b> is a string composed by several 
+      parameters. It can be&nbsp; used with parameters equivalent to those of the <b><font>
+          printf</font></b> function from the standard C library.</p>
+    <pre class="function"><span class="mainFunction">char* <a name="cdGetAttribute">cdCanvasGetAttribute</a>(cdCanvas* canvas, const char* name); [in C]</span>
+    
+canvas:SetAttribute(name: string) -&gt; (data: string) [in Lua]</pre>
+    <p>Returns a custom attribute from the driver of the active canvas. If the driver 
+      does not have this attribute, it returns <font>NULL</font>.</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/html/en/func/coordinates.html b/html/en/func/coordinates.html
new file mode 100644
index 0000000..9f119bb
--- /dev/null
+++ b/html/en/func/coordinates.html
@@ -0,0 +1,148 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Coordinate System</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2 align="center">Coordinate System</h2>
+<pre class="function"><span class="mainFunction">void&nbsp;<a name="cdGetCanvasSize">cdCanvasGetSize</a>(cdCanvas* canvas, int *width, int *height, double *width_mm, double *height_mm); [in C]</span>
+
+canvas:GetSize() -&gt; (width, height, mm_width, mm_height: number) [in Lua]</pre>
+
+  <p>Returns the canvas size in pixels and in millimeters. You can provide only 
+  the desired values and <font>NULL</font> for the others.</p>
+
+<pre class="function"><span class="mainFunction">int&nbsp;<a name="cdUpdateYAxis">cdCanvasUpdateYAxis</a>(cdCanvas* canvas, int *y); [in C]</span>
+double&nbsp;cdfCanvasUpdateYAxis(cdCanvas* canvas, double&nbsp;*y); [in C]
+int&nbsp;cdCanvasInvertYAxis(cdCanvas* canvas, int y); [in C]
+double&nbsp;cdfCanvasInvertYAxis(cdCanvas* canvas, double&nbsp;y); [in C]
+
+canvas:UpdateYAxis(yc: number) -&gt; (yr: number) [in Lua]
+canvas:InvertYAxis(yc: number) -&gt; (yr: number) [in Lua]</pre>
+
+  <p>In some graph systems, the origin is at the upper left corner of the 
+  canvas, with the direction of the Y axis pointing down. In this case, the 
+  function converts the coordinate system of the CD library into the internal 
+  system of the active canvas' driver, and the other way round. If this is not 
+  the case, nothing happens. This is just <font>&quot;y = height-1 - 
+  y&quot;</font>. It returns the changed value. The &quot;Invert&quot; will always invert 
+  the given value, the &quot;Update&quot; function will invert only if the canvas has the 
+  Y axis inverted.</p>
+
+<pre class="function"><span class="mainFunction">void&nbsp;cdCanvasMM2Pixel(cdCanvas* canvas, double mm_dx, double mm_dy, int *dx, int *dy); [in C]</span>
+void&nbsp;cdfCanvasMM2Pixel(cdCanvas* canvas, double mm_dx, double mm_dy, double *dx, double *dy); [in C]
+
+canvas:MM2Pixel(mm_dx, mm_dy: number) -&gt; (dx, dy: number) [in Lua]
+canvas:fMM2Pixel(mm_dx, mm_dy: number) -&gt; (dx, dy: number) [in Lua]</pre>
+
+  <p>Converts sizes in millimeters into pixels (canvas coordinates). You can 
+  provide only the desired values and <font>NULL</font> for the 
+  others.</p>
+
+<pre class="function"><span class="mainFunction">void&nbsp;cdCanvasPixel2MM(cdCanvas* canvas, int dx, int dy, double *mm_dx, double *mm_dy); [in C]</span>
+void&nbsp;cdfCanvasPixel2MM(cdCanvas* canvas, double dx, double dy, double *mm_dx, double *mm_dy); [in C]
+
+canvas:Pixel2MM(dx, dy: number) -&gt; (mm_dx, mm_dy: number) [in Lua]
+canvas:fPixel2MM(dx, dy: number) -&gt; (mm_dx, mm_dy: number) [in Lua]</pre>
+
+  <p>Converts sizes in pixels (canvas coordinates) into millimeters. You can 
+  provide only the desired values and <font>NULL</font> for the 
+  others. Use this function to obtain the horizontal and vertical resolution of 
+  the canvas by passing 1 as parameter in <font>dx</font> and
+  <font>dy</font>. The resolution value is obtained using the 
+  formula <strong><font>res=1.0/mm</font></strong>.</p>
+
+<pre class="function"><span class="mainFunction">void&nbsp;cdCanvasOrigin(cdCanvas* canvas, int x, int y); [in C]</span>
+void&nbsp;cdfCanvasOrigin(cdCanvas* canvas, double x, double y); [in C]
+
+canvas:Origin(x, y: number) [in Lua]
+canvas:fOrigin(x, y: number) [in Lua]</pre>
+
+  <p>Allows translating the origin - for instance, to the center of the canvas. 
+  The function profits from the architecture of the library to simulate a 
+  translation of the origin, which in fact is never actually passed to the 
+  canvas in the respective driver. Default values: (0, 0)</p>
+
+
+<pre class="function"><span class="mainFunction">void&nbsp;cdCanvasGetOrigin(cdCanvas* canvas, int *x, int *y); [in C]</span>
+void&nbsp;cdfCanvasGetOrigin(cdCanvas* canvas, double *x, double *y); [in C]
+
+canvas:GetOrigin() -&gt; (x, y: number) [in Lua]
+canvas:fGetOrigin() -&gt; (x, y: number) [in Lua]</pre>
+
+  <p>Returns the origin.</p>
+
+
+<h3>Transformation Matrix</h3>
+
+<pre class="function"><span class="mainFunction">void&nbsp;<a name="cdTransform">cdCanvasTransform</a>(cdCanvas* canvas, const double* matrix); [in C]</span>
+
+canvas:Transform(matrix: table) [in Lua]</pre>
+
+    <p>Defines a transformation matrix with 6 elements. If the matrix is NULL, 
+    the 
+      transformation is reset to the identity. Default value: NULL.</p>
+    <p>The matrix contains scale, rotation and translation elements as follows:</p>
+    <pre>|x'|   |sx*cos(angle)    -sin(angle)  dx|   |x|                     |0   2   4| 
+|y'| = |   sin(angle)  sy*cos(angle)  dy| * |y|      with indices   |1   3   5|
+                                            |1|</pre>
+  <p>But notice that the indices are different of the <strong>
+  cdCanvasVectorTextTransform</strong>.</p>
+<p>Functions that retrieve images from the canvas are not affected by the 
+transformation matrix, such as <strong>GetImage</strong>, <strong>GetImageRGB</strong> 
+and <strong>ScrollArea</strong>.</p>
+<p>Transformation matrix is independent of the <strong>World Coordinate</strong> 
+and <strong>Origin</strong> 
+functions. And those are affected if a transformation is set, just like other 
+regular primitives.</p>
+
+
+<pre class="function"><span class="mainFunction">double*&nbsp;<a name="cdGetTransform">cdCanvasGetTransform</a>(cdCanvas* canvas); [in C]</span>
+
+canvas:GetTransformation() -&gt; (matrix: table) [in Lua]</pre>
+
+  <p>Returns the transformation matrix. If the identity is set, returns NULL.</p>
+
+
+<pre class="function"><span class="mainFunction">void&nbsp;<a name="cdTransformMultiply">cdCanvasTransforMultiply</a>(cdCanvas* canvas, const double* matrix); [in C]</span>
+
+canvas:TransformMultiply(matrix: table) [in Lua]</pre>
+
+    <p>Left multiply the current transformation by the given transformation.</p>
+
+<pre class="function"><span class="mainFunction">void&nbsp;<a name="cdTransformTranslate">cdCanvasTransformTranslate</a>(cdCanvas* canvas, double dx, double dy); [in C]</span>
+
+canvas:TransformTranslate(dx, dy: number) [in Lua]</pre>
+
+    <p>Applies a translation to the current transformation.</p>
+
+<pre class="function"><span class="mainFunction">void&nbsp;<a name="cdTransformScale">cdCanvasTransformScale</a>(cdCanvas* canvas, double sx, double sy); [in C]</span>
+
+canvas:TransformScale(sx, sy: number) [in Lua]</pre>
+
+    <p>Applies a scale to the current transformation.</p>
+
+<pre class="function"><span class="mainFunction">void&nbsp;<a name="cdTransformRotate">cdCanvasTransformRotate</a>(cdCanvas* canvas, double angle); [in C]</span>
+
+canvas:TransformRotate(angle: number) [in Lua]</pre>
+
+    <p>Applies a rotation to the current transformation. Angle is in degrees, 
+    oriented counter-clockwise from the horizontal axis.</p>
+
+<pre class="function"><span class="mainFunction">void&nbsp;<a name="cdTransformPoint">cdCanvasTransformPoint</a>(cdCanvas* canvas, int x, int y, int *tx, int *ty); [in C]</span>
+void cdfCanvasTransformPoint(cdCanvas* canvas, double x, double y, double *tx, double *ty); [in C]
+
+canvas:TransformPoint(x, y: number) -&gt; (tx, ty: number) [in Lua]
+canvas:fTransformPoint(x, y: number) -&gt; (tx, ty: number) [in Lua]</pre>
+
+    <p>Applies a transformation to a given point.</p>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/html/en/func/filled.html b/html/en/func/filled.html
new file mode 100644
index 0000000..2ae1083
--- /dev/null
+++ b/html/en/func/filled.html
@@ -0,0 +1,272 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Filled Areas</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2 align="center">Filled Areas</h2>
+
+  <p>It is an area filled with the foreground color, but it depends on the 
+  current interior style. The <font>SOLID</font> style 
+  depends only on the foreground color. The <font>HATCH</font> 
+  and
+  <font>STIPPLE </font> style depend on the foreground color, background color and on the back opacity attribute. The 
+  hatch lines drawn with this style do not depend on the other line attributes. The
+  <font>PATTERN</font> style depends only on global canvas 
+  attributes.</p>
+<p>The filled area includes the line at the edge of the area. So if you draw a 
+filled rectangle, sector or polygon on top of a non filled one using the same 
+coordinates, no style and 1 pixel width, the non filled primitive should be 
+obscured by the filled primitive. But depending on the driver implementation 
+some pixels at the edges may be not included. IMPORTANT: In the Postscript and 
+PDF drivers the line at the edge is not included at all.</p>
+  <p>If 
+  either the background or the foreground color are modified, the hatched and 
+  monochromatic fillings must be modified again in order to be updated.</p>
+  <p>Note that when a Filling Attribute is modified, the active filling style is 
+  now that of the modified attribute (hatch, stipple or pattern). Notice that 
+  this is not true for the clipping area. When the clipping area is modified, 
+  the clipping is only affected if it is active.</p>
+
+<hr>
+<pre class="function"><span class="mainFunction">Filled <a name="Polygons">Polygons</a></span></pre>
+
+  <p>Filled polygons can be created using <font><strong>cdBegin(</strong>CD_FILL<strong>)/cdVertex(x,y)/.../cdEnd()</strong></font>.</p>
+  <p>See the documentation of <a href="polygon.html">cdBegin/cdVertex/cdEnd</a>.</p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdBox">cdCanvasBox</a>(cdCanvas* canvas, int xmin, int xmax, int ymin, int ymax); [in C]</span>
+void cdfCanvasBox(cdCanvas* canvas, double xmin, double xmax, double ymin, double ymax); [in C]
+void wdCanvasBox(cdCanvas* canvas, double xmin, double xmax, double ymin, double ymax); (WC) [in C]
+
+canvas:Box(xmin, xmax, ymin, ymax: number) [in Lua]
+canvas:fBox(xmin, xmax, ymin, ymax: number) [in Lua]
+canvas:wBox(xmin, xmax, ymin, ymax: number) (WC) [in Lua]</pre>
+
+  <p>Fills a rectangle according to the current interior style. All points in 
+  the interval <font><strong>x_min&lt;=x&lt;=x_max, y_min&lt;=y&lt;=y_max</strong></font> 
+  will be painted. When the interior style <font>CD_HOLLOW</font> 
+  is defined, the function behaves like its equivalent <strong>
+  <font>cdRect</font>.</strong></p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdSector">cdCanvasSector</a>(cdCanvas* canvas, int xc, int yc, int w, int h, double angle1, double angle2); [in C]</span>
+void cdfCanvasSector(cdCanvas* canvas, double xc, double yc, double w, double h, double angle1, double angle2); [in C]
+void wdCanvasSector(cdCanvas* canvas, double xc, double yc, double w, double h, double angle1, double angle2); (WC) [in C]
+
+canvas:Sector(xc, yc, w, h, angle1, angle2: number) [in Lua]
+canvas:fSector(xc, yc, w, h, angle1, angle2: number) [in Lua]
+canvas:wSector(xc, yc, w, h, angle1, angle2: number) (WC) [in Lua]</pre>
+
+  <p>Fills the arc of an ellipse aligned with the axis, according to the current 
+  interior style, in the shape of a pie. It is drawn counter-clockwise. The 
+  coordinate <b>(xc,yc)</b> defines the center of the ellipse. 
+  Dimensions <b>w</b> and <b>h</b> define the elliptic axes X 
+  and Y, respectively. </p>
+  <p>Angles <b>angle1</b> and <b>angle2</b>, in degrees, 
+  define the arc's beginning and end, but they are not the angle relative to the 
+  center, except when w==h and the ellipse is reduced to a circle. The arc 
+  starts at the point <b>(xc+(w/2)*cos(angle1),yc+(h/2)*sin(angle1))</b> 
+  and ends at <b>(xc+(w/2)*cos(angle2),yc+(h/2)*sin(angle2))</b>. A 
+  complete ellipse can be drawn using 0 and 360 as the angles. </p>
+  <p>The angles are specified so if the size of the ellipse (w x h) is changed, 
+  its shape is preserved. So the angles relative to the center are dependent 
+  from the ellipse size. The actual angle can be obtained using <tt><b>rangle = 
+  atan2((h/2</b></tt><b>)*sin(angle),(w/2)*cos(angle))</b>.</p>
+  <p>The angles are given in degrees. To specify the angle in radians, you can 
+  use the definition <font size="2"><strong>CD_RAD2DEG</strong></font> 
+  to multiply the value in radians before passing the angle to CD. </p>
+  <p>When the interior style <font><strong>CD_HOLLOW</strong></font> is defined, 
+  the function behaves like its equivalent <strong><font>cdArc</font></strong>, 
+  plus two lines connecting to the center.</p>
+  <p align="center"><font size="4">Sector Parameters</font><br>
+  <img src="../../img/sector.gif" border="2" width="161" height="160"></p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdChord">cdCanvasChord</a>(cdCanvas* canvas, int xc, int yc, int w, int h, double angle1, double angle2); [in C]</span>
+void cdfCanvasChord(cdCanvas* canvas, double xc, double yc, double w, double h, double angle1, double angle2); [in C]
+void wdCanvasChord(cdCanvas* canvas, double xc, double yc, double w, double h, double angle1, double angle2); (WC) [in C]
+
+canvas:Chord(xc, yc, w, h, angle1, angle2: number) [in Lua]
+canvas:fChord(xc, yc, w, h, angle1, angle2: number) [in Lua]
+canvas:wChord(xc, yc, w, h, angle1, angle2: number) (WC) [in Lua]</pre>
+
+  <p>Fills the arc of an ellipse aligned with the axis, according to the current 
+  interior style, the start and end points of the arc are connected. The 
+  parameters are the same as the <strong><font>cdSector</font></strong>.</p>
+  <p>When the interior style <font><strong>CD_HOLLOW</strong></font> is defined, 
+  the function behaves like its equivalent <strong><font>cdArc</font></strong>, 
+  plus a line connecting the arc start and end points.</p>
+  <p align="center"><font size="4">Chord Parameters</font><br>
+  <img src="../../img/chord.gif" border="2" width="161" height="160"></p>
+
+<h3>Attributes</h3>
+<pre class="function"><span class="mainFunction">int <a name="cdBackOpacity">cdCanvasBackOpacity</a>(cdCanvas* canvas, int opacity); [in C]</span>
+
+canvas:BackOpacity(opacity: number) -&gt; (old_opacity: number) [in Lua]</pre>
+
+  <p>Configures the background opacity to filling primitives based on the 
+  foreground and background colors. Values: <font><b>
+    CD_TRANSPARENT</b></font> or <b>CD_OPAQUE</b>. If it is opaque 
+  the primitive will erase whatever is in background with the background color. 
+  If it is transparent, only the foreground color is painted. It returns the previous value. Default value: <b>
+    CD_TRANSPARENT</b>. Value <b><b>CD_QUERY</b> </b>simply returns the 
+  current value. In some drivers is always opaque.</p>
+  <p align="center"><font size="4">Back Opacity Attribute<br>
+  </font><img src="../../img/opacity.gif" border="2" width="260" height="136"></p>
+
+<pre class="function"><span class="mainFunction">int <a name="cdFillMode">cdCanvasFillMode</a>(cdCanvas* canvas, int mode); [in C]</span>
+
+canvas:FillMode(mode: number) -&gt; (old_mode: number) [in Lua]</pre>
+
+  <p>Selects a predefined polygon fill rule (<b>CD_EVENODD</b> or <strong>CD_WINDING</strong>). Returns the previous value. Default value: <b>
+    CD_EVENODD</b>. Value <b><b>CD_QUERY</b> </b>simply returns the current 
+  value.</p>
+  <p align="center"><font size="4">Fill Modes</font><br>
+  <img src="../../img/fillmode.gif" border="2" width="260" height="136"></p>
+
+<pre class="function"><span class="mainFunction">int <a name="cdInteriorStyle">cdCanvasInteriorStyle</a>(cdCanvas* canvas, int style); [in C]</span>
+
+canvas:InteriorStyle(style: number) -&gt; (old_style: number) [in Lua]</pre>
+
+  <p>Configures the current style for the area filling primitives: <b>
+    CD_SOLID</b>, <strong><b>CD_HOLLOW</b></strong>, <b>CD_HATCH</b>,
+  <b>CD_STIPPLE</b> or <b>CD_PATTERN</b>. Note that <b>
+    CD_HATCH</b> and <b>CD_STIPPLE</b> are affected by the backopacity. It returns the previous value. Default value:  <b>CD_SOLID</b>. Value 
+  <b><b>CD_QUERY</b> </b>simply returns the 
+  current value.</p>
+  <p>If <i>a stipple</i> or <i>a pattern</i> were not defined, when they are 
+  selected the state of the 
+  attribute is not changed. </p>
+  <p>When the style <strong>CD_HOLLOW</strong> is defined, functions
+  <strong>cdBox</strong> and <strong>cdSector</strong> behave as their 
+  equivalent <strong>cdRect</strong> and <strong>cdArc+Lines</strong>, and the 
+  polygons with style <b>CD_FILL</b> behave like <b>CD_CLOSED_LINES</b>.</p>
+
+<pre class="function"><span class="mainFunction">int <a name="cdHatch">cdCanvasHatch</a>(cdCanvas* canvas, int style); [in C]</span>
+
+canvas:Hatch(style: number) -&gt; (old_style: number) [in Lua]</pre>
+
+  <p>Selects a predefined <i>hatch</i> style (<b>CD_HORIZONTAL</b>,  <b>CD_VERTICAL</b>, 
+  <b>CD_FDIAGONAL</b>, <b>CD_BDIAGONAL</b>,
+  <b>CD_CROSS</b> or <b>CD_DIAGCROSS</b>) and sets the 
+  interior style to <b>CD_HATCH</b>. The lines are drawn with the foreground 
+  color, and the background is drawn with the background color if back opacity 
+  is opaque. Returns the previous value. 
+  Default value: <b>CD_HORIZONTAL</b>. Value <b><b>CD_QUERY</b> </b>
+  simply returns the current value. The foreground and background colors must be 
+  set before setting the style. In some drivers is always opaque.</p>
+  <p align="center"><font size="4">Hatch Styles</font><br>
+  <img src="../../img/hatch.gif" border="2" width="182" height="348"></p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdStipple">cdCanvasStipple</a>(cdCanvas* canvas, int w, int h, const unsigned char *fgbg) [in C]</span>
+
+canvas:Stipple(stipple: cdStipple) [in Lua]</pre>
+
+  <p>Defines a <b><b>wxh</b> </b>matrix of zeros (0) and ones (1). The zeros are 
+  mapped to the background color or are transparent, according to the background 
+  opacity attribute. The ones are mapped to the foreground color. The function 
+  sets the interior style to <b>CD_STIPPLE</b>. To avoid having to deal 
+  with matrices in C, the element <b>(i,j)</b> of <b>fgbg</b> 
+  is stored as <b>fgbg[j*w+i]</b>. The origin is the left bottom corner 
+  of the image. It does not need to be stored by the 
+  application, as it is internally replicated by the library.&nbsp; In some 
+  drivers is always opaque. The foreground and background colors must be set 
+  before setting the style. </p>
+
+<pre class="function"><span class="mainFunction">void <a name="wdStipple">wdCanvasStipple</a>(cdCanvas* canvas, int w, int h, const unsigned char *fgbg, double w_mm, double h_mm); [in C]</span>
+
+canvas:wStipple(stipple: cdStipple, w_mm, h_mm: number) [in Lua]</pre>
+
+  <p>Allows specifying the stipple in world coordinates. Another stipple will be 
+  created with the size in pixels corresponding to the specified size in 
+  millimeters. The new size in pixels will be an integer factor of the original 
+	size that is closets to the size in millimeters. The use of this function may produce very large or very small 
+  stipples.</p>
+
+<pre class="function"><span class="mainFunction">unsigned char* <a name="cdGetStipple">cdCanvasGetStipple</a>(cdCanvas* canvas, int* w, int* h); [in C]</span>
+
+canvas:GetStipple() - &gt; (stipple: cdStipple) [in Lua]</pre>
+
+  <p>Returns the current <i>stipple</i> and its dimensions. Returns NULL if no
+  <i>stipple</i> was defined.</p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdPattern">cdCanvasPattern</a>(cdCanvas* canvas, int w, int h, const long int *color); [in C]</span>
+
+canvas:Pattern(pattern: cdPattern) [in Lua]</pre>
+
+  <p>Defines a new <b><b>wxh</b> </b>color matrix and sets the interior style 
+  to <b>CD_PATTERN</b>. To avoid having to deal with matrices in C, the 
+  color element <b>(i,j)</b> is stored as <b>color[j*w+i]</b>. 
+  The origin is the left bottom corner of the image. It 
+  does not need to be stored by the application, as it is internally replicated 
+  by the library.</p>
+
+<pre class="function"><span class="mainFunction">void <a name="wdPattern">wdCanvasPattern</a>(cdCanvas* canvas, int w, int h, const long int *color, double w_mm, double h_mm); [in C]</span>
+
+canvas:wPattern(pattern: cdPattern, w_mm, h_mm: number) [in Lua]</pre>
+
+  <p>Allows specifying the pattern in world coordinates. Another pattern will be 
+  created with the size in pixels corresponding to the specified size in 
+  millimeters. The new size in pixels will be an integer factor of the original 
+	size that is closets to the size in millimeters. The use of this function may produce very large or very small 
+  patterns.</p>
+
+<pre class="function"><span class="mainFunction">long int* <a name="cdGetPattern">cdCanvasGetPattern</a>(cdCanvas* canvas, int* w, int* h); [in C]</span>
+
+canvas:GetPattern() - &gt; (pattern: cdPattern) [in Lua]</pre>
+
+  <p>Returns the current <i>pattern</i> and its dimensions. Returns NULL if no
+  <i>pattern</i> was defined.</p>
+
+<h3>Extras in Lua</h3>
+<pre class="function"><a name="cdCreatePattern">cd.CreatePattern</a>(width, height: number) -&gt; (pattern: cdPattern)</pre>
+
+  <p>Creates a pattern in Lua.</p>
+
+<pre class="function"><a name="cdKillPattern">cd.KillPattern</a>(pattern: cdPattern)</pre>
+
+  <p>Destroys the created pattern and liberates allocated memory. If this 
+  function is not called in Lua, the garbage collector will call it.</p>
+
+<pre class="function"><a name="cdCreateStipple">cd.CreateStipple</a>(width, height: number) -&gt; (stipple: cdStipple)</pre>
+
+  <p>Creates a stipple in Lua.</p>
+
+<pre class="function"><a name="cdKillStipple">cd.KillStipple</a>(stipple: cdStipple)</pre>
+
+  <p>Destroys the created stipple and liberates allocated memory. If this 
+  function is not called in Lua, the garbage collector will call it.</p>
+
+<h3><a name="DataAccess">Data Access</a></h3>
+
+  <p>Data access in Lua is done directly using the operator &quot;<font>[y*width 
+  + x]</font>&quot;. </p>
+  <p>All new types can have their values checked or changed directly as if they 
+  were Lua tables:</p>
+  
+    <pre>pattern[y*16 + x] = cd.EncodeColor(r, g, b)
+...
+color = pattern[y*16 + x]
+r, g, b = cd.DecodeColor(color)
+...
+cd.Pattern(pattern)</pre>
+  
+  <p>Notice that the type of value returned or received by
+  <font size="3">pattern[i]</font><font size="2"> </font>is a
+  <font>lightuserdata</font>, the same type used with functions <b>
+  <font size="3">cdEncodeColor</font></b>, <b>
+  <font size="3">cdDecodeColor</font></b>, <b>
+  <font size="3">cdPixel</font></b>, <b>
+  <font size="3">cdForeground</font></b><font size="2">
+  </font>and <b> <font size="3">cdBackground</font></b>. The value 
+  returned or received by <font>stipple</font><font size="3">[i]</font> 
+  is a number.</p>
+
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/html/en/func/init.html b/html/en/func/init.html
new file mode 100644
index 0000000..c6e08b3
--- /dev/null
+++ b/html/en/func/init.html
@@ -0,0 +1,225 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Canvas Initialization</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2 align="center">Canvas Initialization</h2>
+<pre class="function"><span class="mainFunction">cdCanvas *<a name="cdCreateCanvas">cdCreateCanvas(cdContext* ctx, void *data)</a>; [in C]</span>
+
+cd.CreateCanvas(ctx: number, data: string or userdata) -&gt; (canvas: cdCanvas) [in Lua]</pre>
+
+  <p>Creates a CD canvas for a virtual visualization surface (VVS). A VVS may be the canvas of a user-interface window, 
+  the page of a document sent to a printer, an offscreen image, the clipboard, a metafile, and so on. To create the 
+  canvas, it is necessary to specify the driver in which each canvas is implemented. </p>
+  <p>The driver is set by the <b>driver</b> variable with additional information provided in the <tt>
+  <b>data</b></tt> 
+  parameter. Even though it is possible to create more than one canvas with the same <tt>
+  <b>driver/data</b></tt> pair, 
+  this is not recommended, and its behavior is not specified. Each canvas maintains its own features. </p>
+  <p>In case of failure, a&nbsp; <b>NULL</b> value is returned. The following predefined drivers are available:</p>
+
+
+  <p><b>Window-Base Drivers</b></p>
+
+
+  <ul>
+    <li><a href="../drv/iup.html"><b>CD_IUP</b></a> = IUP Canvas (<b>cdiup.h</b>).</li>
+    <li><a href="../drv/native.html"><b>CD_NATIVEWINDOW</b></a> = Native 
+    Window (<b>cdnative.h</b>).</li>
+  </ul>
+
+
+  <p><b>Device-Based Drivers</b></p>
+
+
+  <ul>
+    <li><a href="../drv/clipbd.html"><b>CD_CLIPBOARD</b></a> = Clipboard (<b>cdclipbd.h</b>).</li>
+    <li><a href="../drv/printer.html"><b>CD_PRINTER</b></a> = Printer (<b>cdprint.h</b>).</li>
+  </ul>
+  <p><b>Image-Based Drivers</b>&nbsp; </p>
+  <ul>
+    <li><a href="../drv/image.html"><b>CD_IMAGE</b></a> = Server-Image 
+    Drawing (<b>cdimage.h</b>).</li>
+    <li><a href="../drv/irgb.html"><b>CD_IMAGERGB</b></a> = Client-Image 
+    Drawing (<b>cdirgb.h</b>).</li>
+    <li><a href="../drv/dbuf.html"><b>CD_DBUFFER</b></a> = Offscreen Drawing 
+    (<b>cddbuf.h</b>).</li>
+  </ul>
+  <p><b>File-Based Drivers</b>&nbsp; </p>
+  <ul>
+    <li><a href="../drv/cgm.html"><b>CD_CGM</b></a> = Computer Graphics 
+    Metafile ISO (<b>cdcgm.h</b>).</li>
+    <li><a href="../drv/dgn.html"><b>CD_DGN</b></a> = MicroStation Design 
+    File (<b>cddgn.h</b>).</li>
+    <li><a href="../drv/dxf.html"><b>CD_DXF</b></a> = AutoCad Drawing 
+    Interchange File (<b>cddxf.h</b>).</li>
+    <li><a href="../drv/emf.html"><b>CD_EMF</b></a> = Microsoft Windows 
+    Enhanced Metafile (<b>cdemf.h</b>). Works only in MS Windows systems.</li>
+    <li><a href="../drv/mf.html"><b>CD_METAFILE</b></a> = Metafile Canvas 
+    Draw (<b>cdmf.h</b>).</li>
+    <li><a href="../drv/ps.html"><b>CD_PS</b></a> = PostScript File (<b>cdps.h</b>).</li>
+    <li><a href="../drv/wmf.html"><b>CD_WMF</b></a> = Microsoft Windows 
+    Metafile (<b>cdwmf.h</b>).</li>
+  </ul>
+
+<pre class="function"><span class="mainFunction">cdCanvas*&nbsp;<a name="cdCreateCanvasf">cdCreateCanvasf(cdContext *ctx, const char* format, ...)</a>; [in C]
+</span><font>
+</font>[There is no equivalent in Lua]</pre>
+
+  <p>Same as <strong><font>cdCreateCanvas</font></strong>, used in the case that the parameter <b>
+  <font>data</font></b> is a string composed by several parameters. This function can be used with 
+  parameters equivalent to the <b><font>printf</font></b> function from the default C library.</p>
+
+<pre class="function"><span class="mainFunction">void&nbsp;<a name="cdKillCanvas">cdKillCanvas(cdCanvas *canvas)</a>; [in C]</span>
+
+cd.KillCanvas(canvas: cdCanvas) [in Lua]</pre>
+
+  <p>Destroys a previously created canvas. If this function is not called in 
+  Lua, the garbage collector will call it.</p>
+
+<pre class="function"><span class="mainFunction">int&nbsp;<a name="cdCanvasActivate">cdCanvasActivate</a>(cdCanvas *canvas); [in C]</span>
+
+canvas:Activate(canvas: cdCanvas) -&gt; (status: number) [in Lua]</pre>
+
+  <p>Activates a canvas for drawing. This is used only for a few drivers. Native 
+  Window and IUP drivers will update the canvas size if the window size has 
+  changed. Double Buffer driver will recreate the image buffer if the window 
+  canvas size has changed. In these cases the function MUST be called, for other 
+  drivers is useless. Returns CD_ERROR or CD_OK.</p>
+
+<pre class="function"><span class="mainFunction">void&nbsp;<a name="cdCanvasDeactivate">cdCanvasDeactivate</a>(cdCanvas* canvas); [in C]</span>
+
+canvas:Deactivate(canvas: cdCanvas) [in Lua]</pre>
+
+  <p>Called when the application has finished drawing in the canvas. It is 
+  optional, but if used for the Native Window driver in Windows when the handle 
+  can not be retained, the drawing can only be done again after a <strong>
+  cdCanvasActivate</strong>. On some drivers will simply call
+  <a href="control.html#cdFlush">Flush</a>.</p>
+<pre class="function"><span class="mainFunction">int <a name="cdUseContextPlus">cdUseContextPlus</a>(int use); [in C]</span>
+
+cd.UseContextPlus(use: number) -&gt; (old_use: number) [in Lua]</pre>
+<p>Activates or deactivates the use of an external context for the next calls of the <font face="Courier"><b>
+  <a href="../func/init.html#cdCreateCanvas">cdCreateCanvas</a></b></font> 
+  function.</p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdInitContextPlus">cdInitContextPlus</a>(void); [in C]
+</span>
+cd.InitContextPlus() [in Lua]</pre>
+<p>Initializes the context driver to use another context replacing the standard drivers. 
+This functions is only available when a library containing a &quot;ContextPlus&quot; 
+context driver is used. See the <a href="../drv/gdiplus.html">GDI+</a> base 
+driver and the <a href="../drv/xrender.html">XRender</a> base driver.</p>
+<p>In Lua, when using require&quot;cdluacontextplus&quot; this function will be 
+automatically called.</p>
+
+<hr>
+<pre class="function"><span class="mainFunction">cdContext*&nbsp;cdCanvasGetContext(cdCanvas *canvas); [in C]</span>
+
+canvas:GetContext(canvas: cdCanvas) -&gt; (ctx: number) [in Lua]</pre>
+
+  <p>Returns the context of a given canvas, which can be compared with the predefined contexts, such as &quot;CD_PS&quot;.</p>
+
+<pre class="function"><span class="mainFunction">int&nbsp;cdContextCaps(cdContext* ctx); [in C]</span>
+
+cd.ContextCaps(ctx: number) -&gt; (caps: number) [in Lua]</pre>
+
+  <p>Returns the resources available for that context. To verify if a given resource is available, perform a binary AND 
+  ('&amp;.html with the following values:</p>
+  
+    <p><font>CD_CAP_FLUSH<br>
+    CD_CAP_CLEAR <br>
+    CD_CAP_PLAY <br>
+    CD_CAP_YAXIS</font> - The Y axis has the same orientation as the CD axis.<br>
+    <font>CD_CAP_CLIPAREA <br>
+    CD_CAP_CLIPPOLY</font> - Usually is not implemented.<br>
+    <font>CD_CAP_MARK</font> - Marks are implemented directly in the driver (they are usually simulated).<br>
+    <font>CD_CAP_RECT</font> - Rectangles are implemented directly in the driver (they are usually 
+    simulated).<br>
+    <font>CD_CAP_VECTORTEXT</font> - Vector text is implemented directly in the driver (it is usually 
+    simulated).<br>
+    <font>CD_CAP_IMAGERGB <br>
+    CD_CAP_IMAGERGBA</font> - If this is not implemented, but <font>cdGetImageRGB</font> is, then it is 
+    simulated using <font>cdGetImageRGB</font> and <font>cdPutImageRGB</font>.<br>
+    <font>CD_CAP_IMAGEMAP <br>
+    CD_CAP_GETIMAGERGB <br>
+    CD_CAP_IMAGESRV</font> - Usually is only implemented in contexts of window graphics systems (Native Window and IUP).<br>
+    <font>CD_CAP_BACKGROUND <br>
+    CD_CAP_BACKOPACITY <br>
+    CD_CAP_WRITEMODE <br>
+    CD_CAP_LINESTYLE <br>
+    CD_CAP_LINEWITH <br>
+    CD_CAP_WD</font> - Functions of world coordinates are implemented directly in the driver (they are usually 
+    simulated).<br>
+    <font>CD_CAP_HATCH <br>
+    CD_CAP_STIPPLE <br>
+    CD_CAP_PATTERN <br>
+    CD_CAP_FONT <br>
+    CD_CAP_FONTDIM</font> - If not defined, the function is implemented using an internal heuristics of the library.<br>
+    <font>CD_CAP_TEXTSIZE</font> - If not defined, the function is implemented using an internal 
+    heuristics of the library.<br>
+    <font>CD_CAP_TEXTORIENTATION</font> - Usually is not implemented.<br>
+    <font>CD_CAP_PALETTE</font> - Usually is only implemented in contexts of window graphics systems 
+    (Native Window and IUP).</p>
+  
+
+<pre class="function"><span class="mainFunction">int&nbsp;cdCanvasSimulate(cdCanvas* canvas, int mode); [in C]</span>
+
+canvas:Simulate(mode: number) -&gt; (old_mode: number) [in Lua]</pre>
+
+  <p>Activates the simulation of one or more primitives. It is ignored for the canvas 
+  in the ImageRGB context, because in this case everything is already simulated. It also has no effect for primitives that 
+  are usually simulated. It returns the previous simulation, but does not include primitives that are usually simulated. 
+  The simulation can be activated at any moment. For instance, if a line simulation is required only for a situation, 
+  the simulation can be activated for the line to be drawn, and then deactivated.</p>
+<p>If simulation is activated the driver transformation matrix is disabled.</p>
+  <p>See in the Simulation sub-driver the information on how each simulation is performed.</p>
+  <p>To activate a given simulation, perform a binary OR ('|.html using one or more of the following values (in Lua, the 
+  values must be added '+.html:</p>
+  <p><font>CD_SIM_NONE</font> - Deactivates all kinds of simulation.<br>
+  <font>CD_SIM_LINE <br>
+  CD_SIM_RECT <br>
+  CD_SIM_BOX <br>
+  CD_SIM_ARC <br>
+  CD_SIM_SECTOR <br>
+  CD_SIM_CHORD <br>
+  CD_SIM_POLYLINE <br>
+  CD_SIM_POLYGON <br>
+  CD_SIM_TEXT <br>
+  CD_SIM_ALL</font> - Activates all simulation options. <br>
+  <font>CD_SIM_LINES</font> - Combination of <font>CD_SIM_LINE, CD_SIM_RECT, CD_SIM_ARC</font> 
+  and <font>CD_SIM_POLYLINE</font>.<br>
+  <font>CD_SIM_FILLS</font> - Combination of <font>CD_SIM_BOX, CD_SIM_SECTOR, CD_SIM_</font>CHORD and
+  <font>CD_SIM_POLYGON</font>.<br>
+  </p>
+
+<h3>Extras</h3>
+<pre class="function">int <strong><span style="font-size: 110%"><a name="cdlua_open">cdlua_open</a></span></strong>(lua_State* L); [for Lua 5]</pre>
+
+  <p>Initializes the CDLua binding. In Lua 5 the binding is lua state safe, this means that several states can be 
+  initialized any time.</p>
+
+<pre class="function">int <strong><span style="font-size: 110%"><a name="cdlua_close">cdlua_close</a></span></strong>(lua_State* L); [for Lua 5]</pre>
+
+  <p>Releases the memory allocated by the CDLua binding.</p>
+
+<pre class="function">cdCanvas* <strong><span style="font-size: 110%"><a name="cdlua_getcanvas">cdlua_checkcanvas</a></span></strong>(lua_State* L, int pos); [for Lua 5]</pre>
+
+  <p>Returns the canvas in the Lua stack at position pos. The function will call lua_error if there is not a valid canvas in 
+  the stack at the given position.</p>
+
+
+<pre class="function">void <strong><span style="font-size: 110%">cdlua_pushcanvas</span></strong>(lua_State* L, cdCanvas* canvas);</pre>
+<p>Pushes the given canvas into the stack.</p>
+
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/html/en/func/lines.html b/html/en/func/lines.html
new file mode 100644
index 0000000..33dd7e4
--- /dev/null
+++ b/html/en/func/lines.html
@@ -0,0 +1,147 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Lines</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2 align="center">Lines</h2>
+
+  <p>Line are segments that connects 2 or more points. The <strong>Line</strong> 
+  function includes the 2 given points and draws the line using the foreground 
+  color. Line thickness is controlled by the <strong>LineWidth</strong> function. 
+  By using function <strong>LineStyle</strong> you can draw dashed lines with some 
+  variations. Lines with a style other than continuous are affected by the back 
+  opacity attribute and by the background color.</p>
+
+<hr>
+<pre class="function"><span class="mainFunction">void <a name="cdLine">cdCanvasLine</a>(cdCanvas* canvas, int x1, int y1, int x2, int y2); [in C]
+</span>void cdfCanvasLine(cdCanvas* canvas, double x1, double y1, double x2, double y2); [in C]<br>void wdCanvasLine(cdCanvas* canvas, double x1, double y1, double x2, double y2); (WC) [in C]
+
+canvas:Line(x1, y1, x2, y2: <em>number</em>) [in Lua]
+canvas:fLine(x1, y1, x2, y2: <em>number</em>) [in Lua]
+canvas:wLine(x1, y1, x2, y2: <em>number</em>)<font><font> (WC) [in Lua]</font></font></pre>
+
+  <p>Draws a line from <b>(x1,y1)</b> to <tt><b>(x2,y2)</b></tt> using 
+  the current foreground color and line width and style. Both points are 
+  included in the line. </p>
+
+<pre class="function"><a name="Polygons"><strong>Polygons</strong></a><strong> and Bezier Lines</strong></pre>
+
+  <p>Open polygons can be created using <font><strong>cdBegin(</strong></font><b>CD_OPEN_LINES</b><font><strong>)/cdVertex(x,y)/.../cdEnd()</strong></font>.</p>
+  <p>Closed polygons use the same number of vertices but the last point is 
+  automatically connected to the first point. Closed polygons can be created 
+  using <font><strong>cdBegin(</strong></font><tt><b>CD_CLOSED_LINES</b></tt><font><strong>)/cdVertex(x,y)/.../cdEnd()</strong></font>.</p>
+  <p>Bezier lines can be created using <font><strong>cdBegin(</strong></font><b>CD_BEZIER</b><font><strong>)/cdVertex(x,y)/.../cdEnd()</strong></font>. 
+  At least 4 vertices must be defined. The two vertices of the middle are the 
+  control vertices. A sequence of bezier lines can be defined using more 3 
+  vertices, two control points and an end point, the last point of the previous 
+  bezier will be used as the start point.</p>
+  <p>See the documentation of <a href="polygon.html">cdBegin/cdVertex/cdEnd</a>.</p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdRect">cdCanvasRect</a>(cdCanvas* canvas, int xmin, int xmax, int ymin, int ymax); [in C]<br></span>void cdfCanvasRect(cdCanvas* canvas, double xmin, double xmax, double ymin, double ymax); [in C]
+void wdCanvasRect(cdCanvas* canvas, double xmin, double xmax, double ymin, double ymax); (WC) [in C]
+
+canvas:Rect(xmin, xmax, ymin, ymax: <em>number</em>) [in Lua]
+canvas:fRect(xmin, xmax, ymin, ymax: <em>number</em>) [in Lua]<br>canvas:wRect(xmin, xmax, ymin, ymax: <em>number</em>)<font><font> (WC) [in Lua]</font></font></pre>
+
+  <p>Draws a rectangle with no filling. All points in the limits of interval
+  <font><strong>x_min&lt;=x&lt;=x_max, y_min&lt;=y&lt;=y_max</strong></font> 
+  will be painted. It is affected by line attributes and the foreground color. 
+  If the active driver does not include this primitive, it will be simulated 
+  using the <strong><font>cdLine</font></strong> primitive.</p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdArc">cdCanvasArc</a></span><span class="mainFunction">(cdCanvas* canvas, int xc, int yc, int w, int h, double angle1, double angle2); [in C]<br></span>void cdfCanvasArc(cdCanvas* canvas, double xc, double yc, double w, double h, double angle1, double angle2); [in C]<strong>
+</strong>void wdCanvasArc(cdCanvas* canvas, double xc, double yc, double w, double h, double angle1, double angle2); (WC) [in C]
+
+canvas:Arc(xc, yc, w, h, angle1, angle2: <em>number</em>) [in Lua]
+canvas:fArc(xc, yc, w, h, angle1, angle2: <em>number</em>) [in Lua]
+canvas:wArc(xc, yc, w, h, angle1, angle2: <em>number</em>)<font><font> (WC) [in Lua]</font></font></pre>
+
+  <p>Draws the arc of an ellipse aligned with the axis, using the current 
+  foreground color and line width and style. It is drawn counter-clockwise. The 
+  coordinate <b>(xc,yc)</b> defines the center of the ellipse. 
+  Dimensions <b>w</b> and <b>h</b> define the elliptic axes X 
+  and Y, respectively. </p>
+  <p>Angles <b>angle1</b> and <b>angle2</b>, in degrees define 
+  the arc's beginning and end, but they are not the angle relative to the 
+  center, except when w==h and the ellipse is reduced to a circle. The arc 
+  starts at the point <b><b>(xc+(w/2)*cos(angle1),yc+(h/2)*sin(angle1))</b>
+  </b>and ends at <b>(xc+(w/2)*cos(angle2),yc+(h/2)*sin(angle2))</b>.&nbsp;A 
+  complete ellipse can be drawn using 0 and 360 as the angles. </p>
+  <p>The angles are specified so if the size of the ellipse (w x h) is changed, 
+  its shape is preserved. So the angles relative to the center are dependent 
+  from the ellipse size. The actual angle can be obtained using <b>rangle = 
+  atan2((h/2</b><b>)*sin(angle),(w/2)*cos(angle))</b>.</p>
+  <p>The angles are given in degrees. To specify the angle in radians, you can 
+  use the definition <font size="2"><strong>CD_RAD2DEG</strong></font> 
+  to multiply the value in radians before passing the angle to CD.</p>
+  <p align="center"><font size="4">Arc Parameters<br>
+  </font>&nbsp;<img src="../../img/arc.gif" border="2" width="161" height="160"></p>
+
+<h3>Attributes</h3>
+<pre class="function"><span class="mainFunction">int <a name="cdLineStyle">cdCanvasLineStyle</a>(cdCanvas* canvas, int style); [in C]</span>
+
+canvas:LineStyle(style: <em>number</em>) -&gt; (old_style: <em>number</em>) [in Lua]</pre>
+
+  <p>Configures the current line style for: <b>CD_CONTINUOUS</b>,  <b>CD_DASHED</b>, 
+  <b>CD_DOTTED</b>, <b>CD_DASH_DOT,</b> <b>CD_DASH_DOT_DOT,</b> or <tt><b>CD_CUSTOM</b></tt>. Returns the 
+  previous value. Default value: <b>CD_CONTINUOUS</b>. Value <b><b>
+  CD_QUERY</b> </b>simply returns the current value. When <b>CD_CUSTOM</b> 
+  is used the <b>cdLineStyleDahes</b> function must be called before to 
+  initialize the custom dashes. The spaces are drawn with the background color, 
+  except when back opacity is transparent then the background is left unchanged. 
+  See <a href="filled.html#cdBackOpacity">BackOpacity</a>.</p>
+  <p align="center"><font size="4">Line Styles</font><br>
+  <img src="../../img/lines.gif" border="2" width="243" height="62"></p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdLineStyleDashes">cdCanvasLineStyleDashes</a>(cdCanvas* canvas, const int* dashes, int count); [in C]</span>
+
+canvas:LineStyleDashes(dashes: table, count: number) -&gt; (old_style: number) [in Lua]</pre>
+
+  <p>Defines the custom line style dashes. The first value is the lenght of the 
+  first dash, the second value is the leght of the first space, and so on. For 
+  example: &quot;10 2 5 2&quot; means dash size 10, space size 2, dash size 5, space size 
+  2, and repeats the pattern. </p>
+
+<pre class="function"><span class="mainFunction">int <a name="cdLineWidth">cdCanvasLineWidth</a>(cdCanvas* canvas, int width); [in C]<br></span>double wdCanvasLineWidth(double width_mm); (WC) [in C]
+
+canvas:LineWidth(width: number) -&gt; (old_width: number) [in Lua]
+canvas:wLineWidth(width_mm: number) -&gt; (old_width_mm: number) (WC) [in Lua]</pre>
+
+  <p>Configures the width of the current line (in pixels). Returns the previous 
+  value. Default value: 1. Value <b><b>CD_QUERY</b> </b>simply returns the 
+  current value. Valid width interval: &gt;= 1.</p>
+  <p>In WC, it configures the current line width in millimeters.&nbsp;</p>
+
+<pre class="function"><span class="mainFunction">int <a name="cdLineJoin">cdCanvasLineJoin</a>(cdCanvas* canvas, int style); [in C]</span>
+
+canvas:LineJoin(style: number) -&gt; (old_style: number) [in Lua]</pre>
+
+  <p>Configures the current line style for: <b>CD_MITER</b>, <b>
+    CD_BEVEL</b> or <tt><b>CD_ROUND</b></tt>. Returns the previous value. 
+  Default value: <b>CD_MITER</b>. Value <b><b>CD_QUERY</b> </b>simply 
+  returns the current value.</p>
+  <p align="center"><font size="4">Line Joins</font><br>
+  <img src="../../img/linejoin.gif" border="2" width="111" height="138"></p>
+
+<pre class="function"><span class="mainFunction">int <a name="cdLineCap">cdCanvasLineCap</a>(cdCanvas* canvas, int style); [in C]</span>
+
+canvas:LineCap(style: number) -&gt; (old_style: number) [in Lua]</pre>
+
+  <p>Configures the current line style for: <b>CD_CAPFLAT</b>, <b>
+    CD_CAPSQUARE</b> or <tt><b>CD_CAPROUND</b></tt>. Returns the previous 
+  value. Default value: <b>CD_CAPFLAT</b>. Value <b><b>CD_QUERY</b>
+  </b>simply returns the current value.</p>
+  <p align="center"><font size="4">Line Caps</font><br>
+  <img src="../../img/linecap.gif" border="2" width="211" height="166"></p>
+
+
+</body>
+
+</html>
diff --git a/html/en/func/marks.html b/html/en/func/marks.html
new file mode 100644
index 0000000..b68db35
--- /dev/null
+++ b/html/en/func/marks.html
@@ -0,0 +1,85 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Marks</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2 align="center">Marks</h2>
+
+  <p>A mark is a punctual representation. It can have different sizes and types. 
+  All types are affected only by mark attributes and by the foreground color.</p>
+<p>All marks in all drivers are simulated using other CD primitives, except
+<strong>cdPixel</strong>.</p>
+
+<hr>
+<pre class="function"><span class="mainFunction">void <a name="cdPixel">cdCanvasPixel</a>(cdCanvas* canvas, int x, int y, long int color); [in C]</span>
+void wdCanvasPixel(cdCanvas* canvas, double x, double y, long int color); (WC) [in C]
+
+canvas:Pixel(x, y: number, color: lightuserdata) [in Lua]
+canvas:wPixel(x, y: number, color: lightuserdata) (WC) [in Lua]</pre>
+
+  <p>Configures the pixel <b>(x,y)</b> with the color defined by  <b>color</b>. It is the smallest element of the canvas. It depends only 
+  on global attributes of the canvas.</p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdMark">cdCanvasMark</a>(cdCanvas* canvas, int x, int y); [in C]</span>
+void wdCanvasMark(cdCanvas* canvas, double x, double y); (WC) [in C]
+
+canvas:Mark(x, y: number) [in Lua]
+canvas:wMark(x, y: number) (WC) [in Lua]</pre>
+
+  <p>Draws a mark in <b><b>(x,y)</b> </b>using the current foreground color. 
+  It is not possible to use this function between a call to functions
+  <font><b>cdBegin</b></font> and <font><b>cdEnd</b></font> 
+  if the type of mark is set to <b>CD_DIAMOND</b>. If the active driver 
+  does not include this primitive, it will be simulated using other primitives 
+  from the library, such as <strong><font>cdLine</font></strong>.</p>
+  <p>If you will call function <strong><font>cdMark</font></strong> 
+  or <strong><font>wdMark</font></strong> several times in a 
+  sequence, then it is recommended that the application changes the filling and 
+  line attributes to those used by the <strong><font>cdMark</font></strong> 
+  function:</p>
+  
+<pre>cdInteriorStyle(CD_SOLID);
+cdLineStyle(CD_CONTINUOUS);
+cdLineWidth(1);</pre>
+  
+  <p>This will greatly increase this function's performance. Also in this case, 
+  if the mark is very small, we suggest using the <font>cdPixel</font> 
+  function so that the application itself draws the mark. In many cases, this 
+  also increases this function's performance.</p>
+
+<h3>Attributes</h3>
+<pre class="function"><span class="mainFunction">int <a name="cdMarkType">cdCanvasMarkType</a>(cdCanvas* canvas, int type); [in C]</span>
+
+canvas:MarkType(type: number) -&gt; (old_type: number) [in Lua]</pre>
+
+  <p>Configures the current mark type for: <b>CD_PLUS</b>, <b>
+    CD_STAR</b>, <b>CD_CIRCLE</b>, <b>CD_X</b>, <b>
+    CD_BOX</b>, <b>CD_DIAMOND</b>, <b>CD_HOLLOW_CIRCLE</b>,
+  <b>CD_HOLLOW_BOX</b> or <b>CD_HOLLOW_DIAMOND</b>. Returns 
+  the previous value. Default value: <b>CD_STAR</b>. Value <b><b>
+  CD_QUERY</b> </b>simply returns the current value.</p>
+  <p align="center"><font size="4">Mark Types</font><br>
+  <img src="../../img/marks.gif" border="2" width="148" height="193"></p>
+
+<pre class="function"><span class="mainFunction">int <a name="cdMarkSize">cdCanvasMarkSize</a>(cdCanvas* canvas, int size); [in C]</span>
+double wdCanvasMarkSize(cdCanvas* canvas, double size); (WC) [in C]
+
+canvas:MarkSize(size: number) -&gt; (old_size: number) [in Lua]
+canvas:wMarkSize(size: number) -&gt; (old_size: number) (WC) [in Lua]</pre>
+
+  <p>Configures the mark size in pixels. Returns the previous value. Default 
+  value: 10. Value <b><b>CD_QUERY</b> </b>simply returns the current value. 
+  Valid width interval: &gt;= 1.</p>
+  <p>In WC, it configures the current line width in millimeters.&nbsp;</p>
+
+
+</body>
+
+</html>
diff --git a/html/en/func/other.html b/html/en/func/other.html
new file mode 100644
index 0000000..f0d7284
--- /dev/null
+++ b/html/en/func/other.html
@@ -0,0 +1,119 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Other</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2 align="center">System</h2>
+<pre class="function"><span class="mainFunction">char*&nbsp;<a name="cdVersion">cdVersion</a>(void); [in C]</span>
+
+cd.Version() -&gt; (version: string) [in Lua]</pre>
+
+  <p>Returns the current version number of the library. The string with the 
+  version number has a format &quot;<font>major.minor.build</font>&quot;. 
+  For instance, the string &quot;2.1.3&quot; has number 2 as the main (major) version 
+  number, 1 as the secondary (minor) version number, and 3 as the build number. 
+  The major version number represents a change in the structure or behavior of 
+  functions; the minor version number represents one or more new drivers and 
+  functions added to the library; and the build version number represents one or 
+  more corrected bugs.</p>
+
+<pre class="function"><span class="mainFunction">char* cdVersionDate(void); [in C]
+</span>
+cd.VersionDate() -&gt; (versiondate: string) [in Lua]</pre>
+<p>Returns the release date of the current version of the library.</p>
+<pre class="function"><span class="mainFunction">int cdVersionNumber(void); [in C]
+</span>
+cd.VersionNumber() -&gt; (version: number) [in Lua]</pre>
+<p>Returns the current version number of the library.</p>
+<pre class="function">[in C]
+<span class="mainFunction">CD_NAME</span>           &quot;CD - Canvas Draw&quot;
+<span class="mainFunction">CD_DESCRIPTION</span>    &quot;A 2D Graphics Library&quot;
+<span class="mainFunction">CD_COPYRIGHT</span>      &quot;Copyright (C) 1994-2007 Tecgraf/PUC-Rio and PETROBRAS S/A&quot;
+<span class="mainFunction">CD_VERSION</span>        &quot;5.0.0&quot;
+<span class="mainFunction">CD_VERSION_DATE</span>   &quot;2007/04/09&quot;
+<span class="mainFunction">CD_VERSION_NUMBER</span> 500000
+
+[in Lua]
+cd._NAME
+cd._DESCRIPTION
+cd._COPYRIGHT
+cd._VERSION
+cd._VERSION_DATE
+cd._VERSION_NUMBER</pre>
+
+  <p>Usefull definitions. They have the same value returned by <b>cdVersion</b>* 
+  functions.</p>
+
+<hr>
+<h2 align="center">Metafile Interpretation</h2>
+<pre class="function"><span class="mainFunction">int&nbsp;cdCanvasPlay(cdCanvas* canvas, cdContext* ctx, int xmin, int xmax, int ymin, int ymax, void *data); [in C]</span>
+
+canvas:Play(ctx, xmin, xmax, ymin, ymax: number, data: string) -&gt; (status: number) [in Lua]</pre>
+
+  <p>Interprets the graphical contents (primitives and attributes) in a given 
+  driver and calls equivalent functions of the CD library using the given 
+  canvas. The primitives are drawn inside the region defined by the given 
+  limits. If <font>limits are 0 (xmin</font>, <font>xmax</font>,
+  <font>ymin</font> and <font>ymax)</font> the primitives will be drawn with their coordinates having the original 
+  values in the file. </p>
+
+  <p>Only some drivers implement this function:</p>
+
+
+  <ul>
+    <li><a href="../drv/clipbd.html"><b>
+        CD_CLIPBOARD</b></a> = Clipboard, <font>data</font> is 
+    ignored. </li>
+    <li><a href="../drv/wmf.html"><b>
+        CD_WMF</b></a> = Windows Metafile, <font>data</font> is 
+    a <b>char*</b> for the string ''<i>filename</i>''. Works only in 
+    the MS Windows system.</li>
+    <li><a href="../drv/emf.html"><b>
+        CD_EMF</b></a> = Windows Enhanced Metafile, <font>data</font> 
+    is a <b>char*</b> for the string ''<i>filename</i>''. Works only in 
+    the MS Windows system.</li>
+    <li><a href="../drv/cgm.html"><b>
+        CD_CGM</b></a> = Computer Graphics Metafile ISO, <font>
+    data</font> is a <b>char*</b> for the string ''<i>filename</i>''.</li>
+    <li><a href="../drv/mf.html"><b>
+        CD_METAFILE</b></a> = CD Metafile, <font>data</font> 
+    is a <b>char*</b> for the string ''<i>filename</i>''.</li>
+    <li><a href="../drv/picture.html"><b>
+        CD_PICTURE</b></a> = CD Picture, <font>data</font> 
+    is a <strong>cdCanvas</strong><b>*</b> of the Picture canvas.</li>
+  </ul>
+
+<pre class="function"><span class="mainFunction">int&nbsp;cdContextRegisterCallback(cdContext *ctx, int cb, int(*func)(cdCanvas* canvas, ...)); [in C]</span>
+
+cd.ContextRegisterCallback(ctx, cb: number, func: function) -&gt; (status: number) [in Lua]</pre>
+
+  <p>Used to customize the behavior of the&nbsp; <b><font>Play</font></b> 
+  function. If you register a known callback function, it will be called during 
+  the processing loop of <font>cdPlay</font>.</p>
+  <p>The callback should return <font>CD_CONTINUE</font>, if it 
+  returns <font>CD_ABORT</font>, the <font>cdPlay</font> 
+  function is aborted. The callback identifiers of a given driver must be in the 
+  header file relative to that driver, with prefix &quot;<font>CD_XXYYYCB</font>&quot;, 
+  where <font>XX</font> identifies that driver and
+  <font>YYY</font> identifies the callback name.</p>
+  <p>There is a default callback common to all implementations of
+  <font>cdPlay</font>, <b>CD_SIZECB</b>. Its definition 
+  is:</p>
+<pre>int cdResizeCB(cdCanvas* canvas, int width, int height, double mm_width, double mm_height)</pre>
+<p>It returns the size of the image in the 
+  file before any function in the CD library is called, so that you can call the&nbsp;
+  <font>cdPlay</font> function without an active canvas and 
+  create the canvas inside the callback. It works as a&nbsp; <b>
+  <font>cdCanvasGetSize</font></b> function.</p>
+
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/html/en/func/polygon.html b/html/en/func/polygon.html
new file mode 100644
index 0000000..4e18664
--- /dev/null
+++ b/html/en/func/polygon.html
@@ -0,0 +1,87 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Polygons</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2 align="center">Open, Closed and Filled Polygons,<br>
+Bezier Lines and<br>
+Regions Creation</h2>
+
+  <p>The functions <font><strong>cdBegin</strong></font>,
+  <font><strong>cdVertex</strong></font> and <font>
+  <strong>cdEnd</strong></font> are use for many situations.
+  <font><strong>cdBegin</strong></font> is called once,
+  <font><strong>cdVertex</strong></font> can be called many 
+  times, and <font><strong>cdEnd</strong></font> is called once 
+  to actually do something. If you call <font><strong>cdBegin</strong></font> 
+  again before <font><strong>cdEnd</strong></font> the process is 
+  restarted, except for <strong><font>cdBegin(</font></strong><b>CD_REGION</b><strong><font>)</font></strong> 
+  that can contains one or more polygons inside. </p>
+
+<hr>
+<pre class="function"><span class="mainFunction">void <a name="cdBegin">cdCanvasBegin</a>(cdCanvas* canvas, int mode); [in C]</span>
+
+canvas:Begin(mode: number) [in Lua]</pre>
+
+  <p>Starts defining a polygon to be drawn (or filled) according to the mode:&nbsp;
+  <b>CD_CLOSED_LINES</b>, <b>CD_OPEN_LINES</b>, <b>CD_FILL</b><strong><b>,
+  </b></strong><b>CD_CLIP, CD_REGION</b> or <strong><b>CD_BEZIER</b></strong>. 
+  Do not create embedded polygons, that is, do not call function
+  <font><strong>cdBegin</strong></font> twice without a call to
+  <font><strong>cdEnd</strong></font> in between.</p>
+
+<ul>
+  <li><strong>CD_OPEN_LINES</strong><b>:</b> connects all the points at cdEnd. Depends 
+  on line width and line style attributes. </li>
+  <li><b><b>CD_CLOSED_LINES:</b> </b>connects all the points at cdEnd and 
+  connects the last point to the first.&nbsp; Depends on line width and line 
+  style attributes. </li>
+  <li><b>CD_FILL:</b> connects the last point to the first and fills 
+  the resulting polygon according to the current interior style. When the 
+  interior style <strong><b>CD_HOLLOW</b></strong> is defined the it behaves 
+  as if the mode were <b>CD_CLOSED_LINES</b><strong>.</strong></li>
+  <li><b>CD_CLIP: i</b>nstead of creating a polygon to be drawn, 
+  creates a polygon to define a polygonal clipping region. </li>
+  <li><strong><b>CD_BEZIER:</b></strong><b> </b>defines the points of a bezier 
+  curve. There must be at least 4 points: <i>start</i>, <i>control</i>, <i>
+  control</i> and <i>end</i>. To specify a sequence of curves use 3 more points 
+  for each curve: <i>control</i>, <i>control</i>, <i>end</i>, <i>control</i>, <i>
+  control</i>, <i>end</i>, ... The end point is used as start point for the next 
+  curve.</li>
+  <li><strong><b>CD_REGION</b></strong>: starts the creation of a complex 
+  region for clipping. All calls to <font><strong>cdBox</strong></font>,
+  <font><strong>cdSector</strong></font>, <font>
+  <strong>cdChord, Filled</strong></font> <font><strong>Polygons</strong></font> 
+  and <font><strong>cdText</strong></font> will be composed in a 
+  region for clipping. See <a href="region.html">Regions</a> documentation.</li>
+</ul>
+<p align="center"><font size="4">Open, Closed and Filled Polygons<br>
+</font><img src="../../img/polygon.gif" border="2" width="249" height="116"></p>
+<p align="center"><font size="4">Bezier Lines<br>
+</font><img src="../../img/bezier.gif" border="2" width="241" height="220"></p>
+<pre class="function"><span class="mainFunction">void <a name="cdVertex">cdCanvasVertex</a>(cdCanvas* canvas, int x, int y); [in C]</span>
+void cdfCanvasVertex(cdCanvas* canvas, double x, double y); [in C]
+void wdCanvasVertex(cdCanvas* canvas, double x, double y); (WC) [in C]
+
+canvas:Vertex(x, y: number) [in Lua]
+canvas:wVertex(x, y: number) (WC) [in Lua]</pre>
+
+  <p>Adds a vertex to the polygon definition.</p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdEnd">cdCanvasEnd</a>(cdCanvas* canvas); [in C]</span>
+
+canvas:End() [in Lua]</pre>
+
+  <p>Ends the polygon's definition and draws it.</p>
+
+
+</body>
+
+</html>
diff --git a/html/en/func/region.html b/html/en/func/region.html
new file mode 100644
index 0000000..e503733
--- /dev/null
+++ b/html/en/func/region.html
@@ -0,0 +1,83 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Complex Clipping Regions</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2 align="center">Complex Clipping Regions</h2>
+
+  <p>A complex region can composed of boxes, sectors, chords, polygons and 
+  texts. It is implemented only in the Windows GDI, GDI+ and X-Windows base drivers.</p>
+
+  <p>Complex clipping regions can be created using <font><strong>
+  cdBegin(</strong></font><b><tt>CD_REGION</tt></b><font><strong>)/(filled 
+  primtives)/.../cdEnd()</strong></font>. For more about cdBegin and cdEnd see
+  <a href="polygon.html">Polygons</a>.</p>
+  <p>Between a <strong><font>cdBegin(</font></strong><b><tt>CD_REGION</tt></b><strong><font>)</font></strong> 
+  and a <strong><font>cdEnd()</font></strong>, all calls to
+  <font><strong>cdBox</strong></font>, <font>
+  <strong>cdSector</strong></font>, <font><strong>cdChord, 
+  cdBegin(CD_FILL)/cdVertex(x,y)/.../cdEnd()</strong></font> and
+  <font><strong>cdText</strong></font> will be composed in a 
+  region for clipping. This is the only exception when you can call a
+  <font><strong>cdBegin</strong></font> after another
+  <font><strong>cdBegin</strong></font>.</p>
+  <p>When you call <font><strong>cdBegin(</strong></font><b><tt>CD_REGION</tt></b><strong><font>)</font></strong> 
+  a new empty region will be created. So for the first operation you should use
+  <b><tt>CD_UNION</tt></b> or <b><tt>CD_NOTINTERSECT</tt></b> combine modes. 
+  When you finished to compose the region call <font><strong>
+  cdEnd()</strong></font>.</p>
+  <p>To make the region active you must call <strong><font>
+  cdClip(</font></strong><b><tt>CD_CLIPREGION</tt></b><strong><font>)</font></strong>. 
+  For other clipping regions see <a href="clipping.html">Clipping</a>.</p>
+<p>Complex clipping regions are not saved by <strong>cdSaveState</strong>.</p>
+
+<hr>
+<pre class="function"><span class="mainFunction">int&nbsp;cdCanvasRegionCombineMode(cdCanvas* canvas, int mode); [in C]</span>
+
+canvas:RegionCombineMode(mode: number) -&gt; (old_mode: number) [in Lua]</pre>
+
+  <p>Changes the way regions are combined when created. Returns the previous 
+  status. Values: <b><tt>CD_UNION, CD_INTERSECT, CD_DIFFERENCE or 
+  CD_NOTINTERSECT</tt></b>. The value <b><tt>CD_QUERY</tt></b> simply returns 
+  the current status. Default value: <b><tt>CD_UNION</tt></b>.</p>
+  <p align="center"><font size="4">Combine Modes<br>
+  </font><img src="../../img/regions.gif" border="2" width="297" height="361"></p>
+
+<pre class="function"><span class="mainFunction">int&nbsp;cdCanvasIsPointInRegion(cdCanvas* canvas, int x, int y); [in C]</span>
+
+canvas:IsPointInRegion(x, y: number) -&gt; (status: number) [in Lua]</pre>
+
+  <p>Returns a non zero value if the point is contained inside the current 
+  region.</p>
+
+<pre class="function"><span class="mainFunction">void&nbsp;cdCanvasOffsetRegion(cdCanvas* canvas, int dx, int dy); [in C]</span>
+void wdCanvasOffsetRegion(cdCanvas* canvas, double dx, double dy); (WC) [in C]
+
+canvas:OffsetRegion(dx, dy: number) [in Lua]
+canvas:wOffsetRegion(dx, dy: number) (WC) [in Lua]</pre>
+
+  <p>Moves the current region by the given offset. In X-Windows, if the region 
+  moves to outside the canvas border, the part moved outside will be lost, the 
+  region will need to be reconstruted.</p>
+
+<pre class="function"><span class="mainFunction">void&nbsp;cdCanvasGetRegionBox(cdCanvas* canvas, int *xmin, int *xmax, int *ymin, int *ymax); [in C]</span>
+void wdCanvasGetRegionBox(cdCanvas* canvas, double *xmin, double *xmax, double *ymin, double *ymax); (WC) [in C]
+
+canvas:GetRegionBox() -&gt; (xmin, xmax, ymin, ymax, status: number) [in Lua]
+canvas:wGetRegionBox() -&gt; (xmin, xmax, ymin, ymax, status: number) (WC) [in Lua]</pre>
+
+  <p>Returns the rectangle of the bounding box of the current region. It is not 
+  necessary to provide all return pointers, you can provide only the desired 
+  values and <i><tt>NULL</tt></i> for the others.</p>
+
+
+</body>
+
+</html>
diff --git a/html/en/func/server.html b/html/en/func/server.html
new file mode 100644
index 0000000..6663de5
--- /dev/null
+++ b/html/en/func/server.html
@@ -0,0 +1,84 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Server Images</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2 align="center">Server Images</h2>
+
+  <p>It is a high performance image compatible with a specific canvas. It is 
+  faster than user image functions, but less flexible. It is commonly used for 
+  off-screen drawing in Window Systems. </p>
+  <p>You can make gets and puts on several canvases but they must be created 
+  using the same driver. It is possible to specify a part of the image to be 
+  drawn, but it is not possible to zoom.</p>
+  <p>It is called &quot;server&quot; images because the data is stored in a system private 
+  format, that the application (or the client) does not have access.</p>
+  <p>To create a server image there must be an active canvas of a driver with 
+  server image support.</p>
+
+<hr>
+<pre class="function"><span class="mainFunction">cdImage* <a name="cdCreateImage">cdCanvasCreateImage</a>(cdCanvas* canvas, int w, int h); [in C]</span>
+
+canvas:CreateImage(w, h: number) -&gt; (image: cdImage) [in Lua]</pre>
+
+  <p>Creates a compatible image with size = <b><tt>w x h</tt></b> pixels. A 
+  compatible image has the same color representation (number of bits per pixel) 
+  of the active canvas. Once the server image is created it is independent of 
+  the active canvas. The server image can only be used with an other canvas of 
+  the same type as the canvas that was active when the image was created. The 
+  default background is the same as the canvas, <strong><tt>CD_WHITE</tt></strong>.</p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdKillImage">cdKillImage</a>(cdImage* image); [in C]</span>
+
+image:KillImage() [in Lua]</pre>
+
+  <p>Liberates memory allocated for the image. If this function is not called in 
+  Lua, the garbage collector will call it.</p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdGetImage">cdCanvasGetImage</a>(cdCanvas* canvas, cdImage* image, int x, int y); [in C]</span>
+
+canvas:GetImage(image: cdImage; x, y: number) [in Lua]</pre>
+
+  <p>Copies a rectangular region from the current rectangular context to the 
+  memory <strong>(</strong><b><tt>image</tt></b><strong>)</strong>. <b><tt>(x,y)</tt></b> 
+  is the coordinate of the bottom left corner of the rectangular region. The 
+  width and length of the rectangular region are defined in the image structure 
+  (when the image is created).</p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdPutImageRect">cdCanvasPutImageRect</a>(cdCanvas* canvas, cdImage* image, int x, int y, int xmin, int xmax, int ymin, int ymax); [in C]</span>
+void wdCanvasPutImageRect(cdCanvas* canvas, cdImage* image, double x, double y, int xmin, int xmax, int ymin, int ymax); (WC) [in C]
+
+canvas:PutImageRect(image: cdImage; x, y, xmin, xmax, ymin, ymax: number) [in Lua]
+canvas:wPutImageRect(image: cdImage; x, y, xmin, xmax, ymin, ymax: number) (WC) [in Lua]</pre>
+
+  <p>Copies an image in a rectangular region of the canvas with the bottom left 
+  corner in <tt><b>(x,y)</b></tt>. Allows specifying a rectangle inside the 
+  image to be drawn, if <strong><font>xmin</font>,
+  <font>xmax</font>, <font>ymin</font> </strong>
+  and <strong><font>ymax</font></strong> are 0, then the whole 
+  image is assumed.</p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdScrollArea">cdCanvasScrollArea</a>(cdCanvas* canvas, int xmin, int xmax, int ymin, int ymax, int dx, int dy); [in C]</span>
+
+canvas:ScrollArea(xmin, xmax, ymin, ymax, dx, dy: number) [in Lua]</pre>
+
+  <p>Copies the rectangle defined by the coordinates <b><tt>(xmin,ymin)</tt></b> 
+  and <b><tt>(xmax,ymax)</tt></b> to the rectangle defined by <b><tt>
+  (xmin+dx,ymin+dy)</tt></b> and <b><tt>(xmax+dx,ymax+dy)</tt></b>. It has the 
+  same effect as <b><tt>cdGetImage</tt></b> followed by <tt><b>cdPutImage</b></tt>, 
+  but it should be faster and does not require the explicit creation of an image 
+  to be executed. Note that the region belonging to the first rectangle, but not 
+  to the second, remains unchanged (the function does not clean this region).
+  </p>
+
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/html/en/func/text.html b/html/en/func/text.html
new file mode 100644
index 0000000..6243325
--- /dev/null
+++ b/html/en/func/text.html
@@ -0,0 +1,192 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Text</title>
+<link rel="stylesheet" type="text/css" href="../../style.css">
+</head>
+
+<body>
+
+<h2 align="center">Text</h2>
+
+  <p>A raster text using a font with styles. The position the text is drawn depends on the text alignment attribute. </p>
+  <p>The library has at least 4 standard typefaces: &quot;System&quot; (which depends on the driver and platform), 
+  &quot;Courier&quot; (mono spaced 
+  with serif), &quot;Times&quot; (proportional with serif) and &quot;Helvetica&quot; (proportional without serif). Each typeface can have 
+  some styles: Plain, <strong>Bold</strong>, <em>Italic</em> and a combination of <em><strong>Bold and Italic</strong></em>. 
+  As an alternative to the standard typefaces, you can use other typefaces or native driver typefaces with the function
+  <strong>NativeFont</strong>, but they may work in a reduced set of drivers.
+  </p>
+  <p>You may retrieve the dimensions of the selected font with function <font>
+  <strong>GetFontDim</strong></font>. Also you 
+  may retrieve the bounding box of a specific text before drawing by using the 
+  <font><strong>GetTextSize</strong></font> 
+  and <font><strong>GetTextBox</strong></font> functions. </p>
+  <p>The text is drawn using a reference point; you can change the alignment relative to this point using the
+  <font><strong>TextAligment</strong></font> function. </p>
+
+<hr>
+<pre class="function"><span class="mainFunction">void <a name="cdText">cdCanvasText</a>(cdCanvas* canvas, int x, int y, const char* text); [in C]</span>
+void cdfCanvasText(cdCanvas* canvas, double x, double y, const char* text); [in C]
+void wdCanvasText(cdCanvas* canvas, double x, double y, const char* text); (WC) [in C]
+
+canvas:Text(x, y: number, text: string) [in Lua]
+canvas:fText(x, y: number, text: string) [in Lua]
+canvas:wText(x, y: number, text: string) (WC) [in Lua]</pre>
+
+  <p>Inserts a text in <b><tt>(x,y)</tt></b> according to the current font and 
+  text alignment. It expects an ANSI string with no line breaks.</p>
+
+<h3>Attributes</h3>
+<pre class="function"><span class="mainFunction">void <a name="cdFont">cdCanvasFont</a>(cdCanvas* canvas, const char* typeface, int style, int size); [in C]</span>
+void wdCanvasFont(cdCanvas* canvas, const char* typeface, int style, double size); (WD) [in C]
+
+canvas:Font(typeface, style, size: number) [in Lua]
+canvas:wFont(typeface, style, size: number) (WD) [in Lua]</pre>
+
+  <p>Selects a text font. The font type can be one of the standard type faces or 
+  other driver dependent type face. Since font face names are not a standard 
+	between drivers, a few names are specially handled to improve application 
+	portability. If you want to use names that work for all systems we recommend 
+	using: &quot;<strong>Courier</strong>&quot;, &quot;<strong>Times</strong>&quot; and &quot;<strong>Helvetica</strong>&quot;.</p>
+<p>The style can be a combination of: <strong>CD_PLAIN</strong>, 
+  <strong>CD_BOLD</strong>, <strong>CD_ITALIC</strong>, <strong>CD_UNDERLINE</strong> 
+  or <strong>CD_STRIKEOUT</strong>. Only the Windows and PDF drivers support underline and 
+  strikeout. The size is provided in points (1/72 inch) or in pixels (using 
+  negative values). </p>
+  <p>Default values: &quot;<strong>System</strong>&quot;, <b>CD_PLAIN</b>, 12. </p>
+  <p>You can specify partial parameters using NULL, -1 and 0 for typeface, style 
+  and size. When these parameters are specified the current font parameter is 
+  used. For example: <b>CanvasFont(NULL, -1, 10)</b> will only change the font 
+  size.</p>
+  <p>To convert between pixels and points use the function <strong>
+  <font>cdPixel2MM</font>
+  </strong>to convert from pixels to millimeters and use the formula &quot;<strong>(value in <em>points</em>) = CD_MM2PT * 
+  (value in millimeters)</strong>&quot;.</p>
+  <p>In WC, the size is specified in millimeters, but is internally converted to points.</p>
+<p>Fonts can heavily benefit from the ANTIALIAS attribute where available in the 
+driver.</p>
+  <div align="center">
+    <center>
+    <table border="0" cellpadding="5" cellspacing="8" style="border-collapse: collapse" bordercolor="#111111">
+      <tr>
+        <td>
+        <p align="center"><font size="4">Type Faces</font><br>
+        <img src="../../img/fonts.gif" border="2" width="140" height="125"> </td>
+        <td>
+        <p align="center"><font size="4">Font Styles</font><br>
+        <img src="../../img/font_style.gif" border="2" width="135" height="122"> </td>
+      </tr>
+    </table>
+    </center>
+  </div>
+
+<pre class="function"><span class="mainFunction">void <a name="cdGetFont">cdCanvasGetFont</a>(cdCanvas* canvas, char* typeface, int *style, int *size); [in C]</span>
+void wdCanvasGetFont(cdCanvas* canvas, char* typeface, int *style, double *size); (WC) [in C]
+
+canvas:GetFont() -&gt; (typeface: string, style, size: number) [in Lua]
+canvas:wGetFont() -&gt; (typeface: string, style, size: number) (WC) [in Lua]</pre>
+
+  <p>Returns the values of the current font. It is not necessary to provide all 
+  return pointers; you can provide only the desired values.</p>
+  <p>In WC, the size is returned in millimeters.</p>
+
+<pre class="function"><span class="mainFunction">char* <a name="cdNativeFont">cdCanvasNativeFont</a>(cdCanvas* canvas, const char* nativefont); [in C]</span>
+
+canvas:NativeFont(font: string) -&gt; (old_font: string) [in Lua]</pre>
+
+  <p>Selects a font based on a string description. The description can depend on the driver 
+  and the platform, but a common definition is available for all drivers. It 
+  does not need to be stored by the application, as it is internally replicated 
+  by the library. The string is case sensitive. It returns the previous string. </p>
+<p>The string is parsed and the font typeface, style and size are set according 
+to the parsed values, as if <strong>cdCanvasFont</strong> was called. The native font string is 
+cleared when a font is set 
+using <strong>cdCanvasFont</strong>.</p>
+<p>The common format definition is similar to the the <a href="http://www.pango.org/">
+Pango</a> library Font Description, used by GTK+2. It is defined as having 3 parts: &lt;font 
+family&gt;, &lt;font styles&gt; &lt;font size&gt;. For ex: &quot;Times, Bold 18&quot;, or 
+&quot;Arial,Helvetica, Italic Underline -24&quot;. The supported styles include: 
+Bold, Italic, Underline and Strikeout. Underline, Strikeout, and negative 
+pixel values are not supported by the standard Pango Font Description. The Pango 
+format include many other definitions not supported by the CD format, they are 
+just ignored.</p>
+<p>The IUP &quot;FONT&quot; attribute internal formats are also accepted in all drivers 
+and platforms.</p>
+  <p>Using &quot;NULL&quot; as a parameter, it only returns the previous string and does not change the font. The value returned 
+  is the last attributed value, which may not correspond exactly to the font selected by the driver.</p>
+
+  <p>Using &quot;(char*)CD_QUERY&quot; as a parameter, it returns the current selected 
+  font in the common format definition.</p>
+
+<pre class="function"><span class="mainFunction">int <a name="cdTextAlignment">cdCanvasTextAlignment</a>(cdCanvas* canvas, int alignment); [in C]</span>
+
+canvas:TextAlignment(alignment: number) -&gt; (old_alignment: number) [in Lua]</pre>
+
+  <p>Defines the vertical and horizontal alignment of a text as: <b><tt>CD_NORTH</tt></b>, <b><tt>CD_SOUTH</tt></b>, <b>
+  <tt>CD_EAST</tt></b>, <b><tt>CD_WEST</tt></b>, <b><tt>CD_NORTH_EAST</tt></b>, <b><tt>CD_NORTH_WEST</tt></b>, <b><tt>
+  CD_SOUTH_EAST</tt></b>, <b><tt>CD_SOUTH_WEST</tt></b>, <b><tt>CD_CENTER</tt></b>, <b><tt>CD_BASE_LEFT</tt></b>, <b>
+  <tt>CD_BASE_CENTER</tt></b>, or <b><tt>CD_BASE_RIGHT</tt></b>. Returns the previous value. Default value: <b><tt>
+  CD_BASE_LEFT</tt></b>. Value <tt><b>CD_QUERY</b> </tt>simply returns the current value.</p>
+  <p align="center"><font size="4">Text Alignment</font><br>
+  <img src="../../img/align.gif" border="2" width="273" height="227"></p>
+
+<pre class="function"><span class="mainFunction">double <a name="cdTextOrientation">cdCanvasTextOrientation</a>(cdCanvas* canvas, double angle); [in C]</span>
+
+canvas:TextOrientation(angle: number) -&gt; (old_angle: number) [in Lua]</pre>
+
+  <p>Defines the text orientation, which is an angle provided in degrees relative to the horizontal line according to 
+  which the text is drawn. Returns the previous value. Value <tt><b>CD_QUERY</b> </tt>simply returns the current value. 
+  The default value is 0.</p>
+
+<h3>Properties</h3>
+<pre class="function"><span class="mainFunction">void <a name="cdFontDim">cdCanvasGetFontDim</a>(cdCanvas* canvas, int *max_width, int *height, int *ascent, int *descent); [in C]</span>
+void wdCanvasGetFontDim(cdCanvas* canvas, double *max_width, double *height, double *ascent, double *descent); (WC) [in C]
+
+canvas:GetFontDim() -&gt; (max_width, height, ascent, descent: number) [in Lua]
+canvas:wGetFontDim() -&gt; (max_width, height, ascent, descent: number) (WC) [in Lua]</pre>
+
+  <p>Returns the maximum width of a character, the line's height, the <i>ascent</i> and <i>descent</i> of the 
+  characters of the currently selected font. The line's height is the sum of the <i>
+  ascent</i> and <i>descent</i> of a 
+  given additional space (if this is the case). All values are given in pixels 
+  and are positive. It is not necessary to provide all return pointers, you can provide only 
+  the desired values and <i><tt>NULL</tt></i> for the others.</p>
+  <p align="center"><font size="4">Font Dimension Attributes<br>
+  </font><img src="../../img/font_dim.gif" border="2" width="300" height="139"></p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdTextSize">cdCanvasGetTextSize</a>(cdCanvas* canvas, const char* text, int *width, int *height); [in C]</span>
+void wdCanvasGetTextSize(cdCanvas* canvas, const char* text, double *width, double *height); (WC) [in C]
+
+canvas:GetTextSize(text: string) -&gt; (width, heigth: number) [in Lua]
+canvas:wGetTextSize(text: string) -&gt; (width, heigth: number) (WC) [in Lua]</pre>
+
+  <p>Returns the width and height of a text's minimum box with the currently selected font. If the driver does not 
+  support this kind of query, the values will be given 0 (zero). It is not necessary to provide all return pointers, you 
+  can provide only the desired values and <i><tt>NULL</tt></i> for the others.</p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdTextBox">cdCanvasGetTextBox</a>(cdCanvas* canvas, int x, int y, const char* text, int *xmin, int *xmax, int *ymin, int *ymax); [in C]</span>
+void wdCanvasGetTextBox(cdCanvas* canvas, double x, double y, const char* text, double *xmin, double *xmax, double *ymin, double *ymax); (WC) [in C]
+
+canvas:GetTextBox(x, y: number, text: string) -&gt; (xmin, xmax, ymin, ymax: number) [in Lua]
+canvas:wGetTextBox(x, y: number, text: string) -&gt; (xmin, xmax, ymin, ymax: number) (WC) [in Lua]</pre>
+
+  <p>Returns the horizontal bounding rectangle of a text box, even if the text has an orientation. It is not necessary 
+  to provide all return pointers, you can provide only the desired values and <i><tt>NULL</tt></i> for the others.</p>
+
+<pre class="function"><span class="mainFunction">void <a name="cdTextBounds">cdCanvasGetTextBounds</a>(cdCanvas* canvas, int x, int y, const char *text, int *rect); [in C]</span>
+void wdCanvasGetTextBounds(cdCanvas* canvas, double x, double y, const char* text, double *rect); (WC) [in C]
+
+canvas:GetTextBounds(x, y: number, text: string) -&gt; (rect0, rect1, rect2, rect3, rect4, rect5, rect6, rect7: number) [in Lua]
+canvas:wGetTextBounds(x, y: number, text: string) -&gt; (rect0, rect1, rect2, rect3, rect4, rect5, rect6, rect7: number) (WC) [in Lua]</pre>
+
+  <p>Returns the oriented bounding rectangle of a text box. The rectangle corners are returned in counter-clock wise 
+  order starting with the bottom left corner, (x,y) arranged (x0,y0,x1,y1,x2,y2,x3,y3).</p>
+
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/html/en/func/vectortext.html b/html/en/func/vectortext.html
new file mode 100644
index 0000000..e1b1d6e
--- /dev/null
+++ b/html/en/func/vectortext.html
@@ -0,0 +1,133 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+  <head>
+    <title>Vector Text</title>
+    <meta http-equiv="Content-Language" content="en-us">
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <link rel="stylesheet" type="text/css" href="../../style.css">
+  </head>
+  <body>
+    <h2 align="center">Vector Text</h2>
+    <p>It is a text that uses a font created only with line segments. It is very 
+      useful to be scaled and very fast. You must set the text size before drawing 
+      any text. The functions ignore the new line character "\n"; only the <font>wdMultiLineVectorText</font>
+      function will consider this character. The default direction is horizontal from 
+      left to right.</p>
+    <p align="center"><font size="4">Vector Text Parameters</font><br>
+      <img src="../../img/vector_text.gif" align="middle" border="2" width="101" height="91"></p>
+    <p>All vector text drawing in all drivers are simulated using other CD 
+      primitives.</p>
+    <hr>
+    <pre class="function"><span class="mainFunction">void <a name="cdVectorText">cdCanvasVectorText</a>(cdCanvas* canvas, int x, int y, const char* text); [in C]</span>
+void wdCanvasVectorText(cdCanvas* canvas, double x, double y, const char* text); (WC) [in C]
+    
+canvas:VectorText(x, y: number, text: string) [in Lua]
+canvas:wVectorText(x, y: number, text: string) (WC) [in Lua]</pre>
+    <p>Draws a vector text in position <tt><b>(x,y)</b></tt>, respecting the 
+      alignment defined by <font><strong>cdTextAlignment</strong></font>. It ignores 
+      the configuration <font><strong>cdBackOpacity</strong></font>, being always 
+      transparent. It also ignores strings with multiple lines. It is ESSENTIAL to 
+      call <font><strong>cdVectorTextSize</strong></font> or <font><strong>cdVectorCharSize</strong></font>
+      before using <font><strong>cdVectorText</strong></font> or <font><strong>cdMultiLineVetorText</strong></font>.</p>
+    <pre class="function"><span class="mainFunction">void <a name="cdMultiLineVectorText">cdCanvasMultiLineVectorText</a>(cdCanvas* canvas, int x, int y, const char* text); [in C]</span>
+void wdCanvasMultiLineVectorText(cdCanvas* canvas, double x, double y, const char* text); (WC) [in C]
+
+canvas:MultiLineVectorText(x, y: number, text: string) [in Lua]
+canvas:wMultiLineVectorText(x, y: number, text: string) (WC) [in Lua]</pre>
+    <p>Draws a vector text with several lines in position <b><tt>(x,y)</tt></b>, 
+      respecting the alignment defined by <font><strong>cdTextAlignment</strong></font>. 
+      It ignores the configuration <font><strong>cdBackOpacity</strong></font>, being 
+      always transparent. Lines are broken by characters <font>"\n"</font>. Each line 
+      respects the scale defined in <font><strong>cdVectorTextSize</strong></font> or <font>
+        <strong>cdVectorCharSize</strong></font>. This function's purpose is to make 
+      function <strong><font>cdVectorText</font></strong> more efficient, not being 
+      concerned with multiple lines.</p>
+    <h3>Attributes</h3>
+    <pre class="function"><span class="mainFunction">void <a name="cdVectorTextDirection">cdCanvasVectorTextDirection</a>(cdCanvas* canvas, int x1, int y1, int x2, int y2); [in C]</span>
+void wdCanvasVectorTextDirection(cdCanvas* canvas, double x1, double y1, double x2, double y2); (WC) [in C]
+
+canvas:VectorTextDirection(x1, y1, x2, y2: number) [in Lua]
+canvas:wVectorTextDirection(x1, y1, x2, y2: number) (WC) [in Lua]</pre>
+    <p>Defines the text direction by means of two points, <b><tt>(x1,y1)</tt></b> and <b>
+        <tt>(x2,y2)</tt></b>. The default direction is horizontal from left to right.</p>
+    <pre class="function"><span class="mainFunction">double* <a name="cdVectorTextTransform">cdCanvasVectorTextTransform</a>(cdCanvas* canvas, const double* matrix); [in C]</span>
+
+canvas:VectorTextTransform(matrix: table) -&gt; (old_matrix: table) [in Lua]&nbsp;</pre>
+    <p>Defines a transformation matrix with 6 elements. If the matrix is NULL, no 
+      transformation is set. The default direction is no transformation. The origin 
+      is the left bottom corner of matrix. It returns the previous matrix, and the 
+      returned vector is only valid until the following call to the function.</p>
+    <p>The matrix contains scale, rotation and translation elements. It is applied after 
+      computing the position and orientation normal to the vector text. We can 
+      describe the elements as follows:</p>
+    <pre>|x'|   | scl_x*cos(ang)       -sin(ang)  trans_x |   |x|                     | 3   4   5| 
+|y'| = |       sin(ang)  scl_y*cos(ang)  trans_y | * |y|      with indices   | 0   1   2|
+                                                     |1|</pre>
+    <pre class="function"><span class="mainFunction">void <a name="cdVectorTextSize">cdCanvasVectorTextSize</a>(cdCanvas* canvas, int w, int h, const char * text); [in C]</span>
+void wdCanvasVectorTextSize(cdCanvas* canvas, double size_x, double size_y, const char* text); (WC) [in C]
+
+canvas:VectorTextSize(w, h: number, text: string) [in Lua]
+canvas:wVectorTextSize(w, h: number, text: string) (WC) [in Lua]</pre>
+    <p>Modifies the scale of the vector text so that it corresponds to the string of 
+      the bounding box defined by <b><tt>w</tt></b> and <b><tt>h</tt></b>. It ignores 
+      strings with multiple lines.</p>
+    <pre class="function"><span class="mainFunction">double <a name="cdVectorCharSize">cdCanvasVectorCharSize</a>(cdCanvas* canvas, int size); [in C]</span>
+double wdCanvasVectorCharSize(double size); (WC) [in C]
+
+canvas:VectorCharSize(size: number) -&gt; (old_size: number) [in Lua]
+canvas:wVectorCharSize(size: number) -&gt; (old_size: number) (WC) [in Lua]</pre>
+    <p>Sets the height of the characters and adjusts the width according to it. 
+      Returns the previous value. <strong><tt>CD_QUERY</tt></strong> returns the 
+      current value.</p>
+    <pre class="function"><span class="mainFunction">char* <a name="cdVectorFont">cdCanvasVectorFont</a>(cdCanvas* canvas, const char *filename); [in C]</span>
+
+canvas:VectorFont(filename: string) -&gt; (fontname: string) [in Lua]</pre>
+    <p>Replaces the current vector font with a font stored in a file with a given 
+      name. Returns the name of the font loaded or NULL, if it fails. If <font>filename</font>
+      is NULL, it activates the default font "<b>Simplex II</b>" (There is no file 
+      associated to this font, it is an embedded font). The library will attempt to 
+      load a font from the current directory, if it fails then it will try the 
+    directory defined by the environment variable "<strong><tt>CDDIR</tt></strong>&quot;, 
+    if it fails, it will attempt to 
+      load it using  the <font>filename</font> as a string containing the font as 
+    if the file was loaded into that string, if it fails again the font is reset 
+    to the default font and returns NULL. The file format is 
+      compatible with the GKS file format (text mode).</p>
+    <h3>Properties</h3>
+    <pre class="function"><span class="mainFunction">void <a name="cdGetVectorTextSize">cdCanvasGetVectorTextSize</a>(cdCanvas* canvas, const char* text, int *w, int *h); [in C]</span>
+void wdCanvasGetVectorTextSize(cdCanvas* canvas, const char* text, double *x, double *y); (WC) [in C]
+
+canvas:GetVectorTextSize(text: string) -&gt; (w, h: number) [in Lua]
+canvas:wGetVectorTextSize(text: string) -&gt; (w, h: number) (WC) [in Lua]</pre>
+    <p>Queries the string's bounding box. Ignores strings with multiple lines. It is 
+      not necessary to provide all return pointers, you can provide only the desired 
+      values and <font>NULL</font> for the others.</p>
+    <pre class="function"><span class="mainFunction">void <a name="cdGetVectorTextBounds">cdCanvasGetVectorTextBounds</a>(cdCanvas* canvas, char* text, int px, int py, int *rect); [in C]</span>
+void wdCanvasGetVectorTextBounds(cdCanvas* canvas, char* text, double x, double y, double *rect); (WC) [in C]
+
+canvas:GetVectorTextBounds(text: string, px,py: number) -&gt; (rect: table) [in Lua]
+canvas:wGetVectorTextBounds(text: string, px,py: number) -&gt; (rect: table) (WC) [in Lua] </pre>
+    <p>Returns the bounding rectangle of the text specified in the current vector 
+      font, alignment and direction. Eight values are returned, corresponding to 
+      pairs (x,y) of the rectangle's vertices ordered conter-clockwise, starting by 
+      the bottom left corner.</p>
+    <h3>Character Codes</h3>
+    <p>The old GKS format contains ASCII codes so a convertion from ANSI to ASCII is 
+      done when possible, unmapped characters are left unchanged, but some rearrage 
+      was necessary to acomodate the convertion.
+    </p>
+    <p>The default vector font was changed from the original Simplex II to contain 
+      all ANSI accented characters. So some ASCII characters were replaced.</p>
+    <p>Bellow is the character code table of the default font.</p>
+    <p style="TEXT-ALIGN: center">
+      <img src="../../img/vectorfont_default.png" width="717" height="977"><br>
+      <strong>Default Font</strong></p>
+    <p>The original Simplex II font is available in the file 
+      "cd/etc/vectorfont00.txt". Bellow is the character code table of the original 
+      font (the table displays the characters after the convertion from ANSI to 
+      ASCII):</p>
+    <p style="TEXT-ALIGN: center">
+      <img src="../../img/vectorfont_simplex2.png" width="723" height="978"><br>
+      <strong>Original Simplex II</strong></p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/html/en/func/wd.html b/html/en/func/wd.html
new file mode 100644
index 0000000..9c83ec5
--- /dev/null
+++ b/html/en/func/wd.html
@@ -0,0 +1,80 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+  <head>
+    <title>World Coordinates</title>
+    <meta http-equiv="Content-Language" content="en-us">
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <link rel="stylesheet" type="text/css" href="../../style.css">
+  </head>
+  <body>
+    <h2 align="center">World Coordinates</h2>
+    <p>Allows the use of a World Coordinate System. In this system you can attribute 
+      coordinates to any unit you want. After you define a window (rectangular 
+      region) in your world, each given coordinate is then mapped to canvas 
+      coordinates to draw the primitives. You can define a viewport in your canvas to 
+      change the coordinate mapping from world to canvas. The image below shows the 
+      relation between Window and Viewport.</p>
+    <p align="center"><font size="4">Window x Viewport</font><br>
+      <img src="../../img/wc-dc.gif" border="2" width="330" height="182"></p>
+    <p>If you want to map coordinates from one system to another, use the <font>wdWorld2Canvas</font>
+      e <font>wdCanvas2World</font> functions.
+    </p>
+    <p>The quality of the picture depends on the conversion from World to Canvas, so 
+      if the canvas has a small size the picture quality will be poor. To increase 
+      picture quality create a canvas with a larger size, if possible.</p>
+    <p>All World Coordinate drawing in all drivers are simulated using other CD 
+      primitives.</p>
+    <hr>
+    <pre class="function"><span class="mainFunction">void <a name="wdWindow">wdCanvasWindow</a>(cdCanvas* canvas, double xmin, double xmax, double ymin, double ymax); [in C]</span>
+    
+canvas:wWindow(xmin, xmax, ymin, ymax: number) [in Lua]</pre>
+    <p>Configures a window in the world coordinate system to be used to convert world 
+      coordinates (with values in real numbers) into canvas coordinates (with values 
+      in integers). The default window is the size in millimeters of the whole 
+      canvas.</p>
+    <pre class="function"><span class="mainFunction">void <a name="wdGetWindow">wdCanvasGetWindow</a>(cdCanvas* canvas, double *xmin, double *xmax, double *ymin, double *ymax); [in C]</span>
+
+canvas:wGetWindow() -&gt; (xmin, xmax, ymin, ymax: number) [in Lua]</pre>
+    <p>Queries the current window in the world coordinate system being used to 
+      convert world coordinates into canvas coordinates (and the other way round). It 
+      is not necessary to provide all return pointers, you can provide only the 
+      desired values.</p>
+    <pre class="function"><span class="mainFunction">void <a name="wdViewport">wdCanvasViewport</a>(cdCanvas* canvas, int xmin, int xmax, int ymin, int ymax); [in C]</span>
+
+canvas:wViewport(xmin, xmax, ymin, ymax: number) [in Lua]</pre>
+    <p>Configures a viewport in the canvas coordinate system to be used to convert 
+      world coordinates (with values in real numbers) into canvas coordinates (with 
+      values in integers). The default viewport is the whole canvas <font>(0,w-1,0,h-1)</font>. 
+      If the canvas size is changed, the viewport will not be automatically updated.
+    </p>
+    <pre class="function"><span class="mainFunction">void <a name="wdGetViewport">wdCanvasGetViewport</a>(cdCanvas* canvas, int *xmin, int *xmax, int *ymin, int *ymax); [in C]</span>
+
+canvas:wGetViewport() -&gt; (xmin, xmax, ymin, ymax: number) [in Lua]</pre>
+    <p>Queries the current viewport in the world coordinate system being used to 
+      convert world coordinates into canvas coordinates (and the other way round). It 
+      is not necessary to provide all return pointers, you can provide only the 
+      desired values and <font>NULL</font> for the others.</p>
+    <pre class="function"><span class="mainFunction">void <a name="wdWorld2Canvas">wdCanvasWorld2Canvas</a>(cdCanvas* canvas, double xw, double yw, int *xv, int *yv); [in C]</span>
+
+canvas:wWorld2Canvas(xw, yw: number) -&gt; (xv, yv: number) [in Lua]</pre>
+    <p>Converts world coordinates into canvas coordinates. It is not necessary to 
+      provide all return pointers, you can provide only the desired values and <font>NULL</font>
+      for the others.</p>
+    <pre class="function"><span class="mainFunction">void <a name="wdCanvas2World">wdCanvasCanvas2World</a>(cdCanvas* canvas, int xv, int yv, double *xw, double *yw); [in C]</span>
+
+canvas:wCanvas2World(xv, yv: number) -&gt; (xw, yw: number) [in Lua]</pre>
+    <p>Converts canvas coordinates into world coordinates. It is not necessary to 
+      provide all return pointers, you can provide only the desired values and <font>NULL</font>
+      for the others.</p>
+    <h3>Extra</h3>
+    <pre class="function"><span class="mainFunction">void <a name="wdHardcopy">wdCanvasHardcopy</a>(cdCanvas *canvas, cdContext* ctx, void *data, void(*draw_func)(cdCanvas *canvas_copy)); [in C]</span>
+
+canvas:wCanvasHardcopy(ctx: number, data: string or userdata, draw_func: function) [in Lua]</pre>
+    <p>Creates a new canvas, prepares Window and Viewport according to 
+      the provided canvas, maintaining the aspect ratio and making the drawing occupy 
+      the largest possible area of the new canvas, calls the drawing function (which 
+      must use routines in WC) and, finally, removes the new canvas.</p>
+    <p>It is usually used for "hard copies" of drawings (print equivalent copy). The 
+      most common used contexts are Printer, PS and PDF.</p>
+  </body>
+</html>
diff --git a/html/en/guide.html b/html/en/guide.html
new file mode 100644
index 0000000..e6d393c
--- /dev/null
+++ b/html/en/guide.html
@@ -0,0 +1,161 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
+<title>Guide</title>
+<link rel="stylesheet" type="text/css" href="../style.css">
+<style type="text/css">
+.style2 {
+	color: #008000;
+}
+.style3 {
+	color: #FF0000;
+}
+.style4 {
+	color: #0000FF;
+}
+</style>
+</head>
+
+<body>
+
+<h1>Guide</h1>
+<h3><a name="start">Getting Started</a></h3>
+
+  <p>The CD library is a basic graphic library (GL). In a GL paradigm you use <strong>primitives</strong>, which have
+  <strong>attributes</strong>, to draw on a <strong>canvas</strong>. All the library functions reflect this paradigm.</p>
+  <p>The <strong>canvas</strong> is the basic element. It can have several forms: a paper, a video monitor, a graphic 
+  file format, etc. The virtual drawing surface where the canvas exists is represented by a <strong>driver</strong>. 
+  Only the driver knows how to draw on its surface. The user does not use the driver directly, but only the canvas.</p>
+  <p>To make the library simple we use the concept of an active canvas, over which all the primitives are drawn. This 
+  also allows the use of an expansion mechanism using function tables. Unfortunately if a function is called without an 
+  active canvas a memory invasion will occur. On the other hand, the mechanism allows the library to be expanded with 
+  new drivers without limits.</p>
+  <p>The <strong>attributes</strong> are also separated from the primitives. They reside in the canvas in a state 
+  mechanism. If you change the attribute's state in the canvas all the primitives drawn after that canvas and that 
+  depend on the attribute will be drawn in a different way.</p>
+  <p>The set of <strong>primitives</strong> is very small but complete enough to compose a GL. Some primitives are 
+  system dependent for performance reasons. Some drivers (window and device based) use system functions to optimally 
+  implement the primitives. Sometimes this implies in a in small different behavior of some functions. Also some 
+  primitives do not make sense in some drivers, like server images in file-based drivers.</p>
+  <p>The set of available functions is such that it can be implemented in most drivers. Some drivers have sophisticated 
+  resources, which cannot be implemented in other drivers but can be made available using a generic attribute mecanism.
+  </p>
+
+<h3><a name="buildapp">Building Applications</a></h3>
+
+  <p>All the CD functions are declared in the <tt>cd.h</tt> header file; World Coordinate functions are declared in the
+  <tt>wd.h</tt> header file; and each driver has a correspondent header file that must be included to create a canvas. 
+  It is important to include each driver header <u>after</u> the inclusion of the <tt>cd.h</tt> header file.</p>
+  <p>To link the application you must add the <b>cd.lib/libcd.a/libcd.so</b> and <b>
+	freetype6.lib/libfreetype.a/libfreetype.so </b> libraries to the linker options. If you use 
+  an IUP Canvas then you must also link with the <b>iupcd.lib/libiupcd.a/libiupcd.so</b> library 
+	available in the IUP distribution.</p>
+  <p>In UNIX, CD uses the Xlib (X11) libraries. To link an application in UNIX, add also the &quot;-lX11&quot; option in the linker call.</p>
+  <p>The download files list includes the <a href="download_tips.html">Tecgraf/PUC-Rio Library 
+  Download Tips</a> document, with a description of all the available binaries.</p>
+
+<h3 align="left"><a name="buildlib">Building the Library</a> </h3>
+
+<p>In the Downloads you will ne able to find pre-compiled binaries for many 
+platforms, all those binaries were built using Tecmake. Tecmake is a command line multi compiler build tool 
+based on GNU make, available at
+  <a target="_blank" href="http://www.tecgraf.puc-rio.br/tecmake">http://www.tecgraf.puc-rio.br/tecmake</a>. Tecmake is 
+  used by all the Tecgraf libraries and many applications.</p>
+<p>In UNIX, you do not need to install Tecmake, a compact version of Tecmake for 
+UNIX is already included in the source code package. Just type &quot;make&quot; in the 
+command line on the &quot;src&quot; folder and all libraries and executables will be 
+build. 
+</p>
+<p>In Windows, the easiest way to build everything is to install the Tecmake tool into your system. It is easy and helps a lot. 
+  The Tecmake configuration files (*.mak) available at the &quot;src&quot; folder are very easy to understand also. 
+Also there are files named 
+<i>make_uname.bat</i> that build the libraries using <b>Tecmake</b>. To build for Windows using 
+  Visual C 7.0 (2005) for example, just execute <i>&quot;make_uname vc7&quot;</i> , or the 
+DLLs with Visual C++ 9 (2008) type <i>&quot;make_uname dll9&quot;</i>. The Visual 
+Studio workspaces with the respective projects available in the source package 
+is for debugging purposes only.</p>
+<p>Make sure you have all the dependencies for the library you want installed, 
+see the documentation bellow.</p>
+<p>If you are going to build all the libraries, 
+the makefiles and projects expect the following directory tree:</p>
+<pre>\mylibs\
+        cd\
+        im\
+        lua5.1\</pre>
+<h4>Libraries Dependencies</h4>
+<pre>cd -&gt; <strong><span class="style4">gdi32</span></strong> <strong><span class="style4">user32</span></strong> <strong><span class="style4">comdlg32</span></strong> (system - Windows)
+   -&gt; <strong><span class="style4">X11</span></strong> (system - UNIX)
+   -&gt; <strong><span class="style2">FreeType</span></strong> (included as separate library)
+cdgdiplus -&gt; cd
+          -&gt; <strong><span class="style4">gdiplus</span></strong> (system - Windows)
+cdxrender -&gt; cd
+          -&gt; <strong><span class="style4">Xrender</span></strong> <strong><span class="style4">Xft</span></strong> (system - UNIX)
+cdpdf    -&gt; <strong><span class="style2">pdflib</span></strong> (included as separate library)
+cdlua51  -&gt; cd
+         -&gt; <strong><span class="style3">lua5.1</span></strong>
+cdluaim51 -&gt; cdlua51
+          -&gt; <strong><span class="style3">imlua51</span></strong> 
+cdluapdf51 -&gt; cdlua51
+           -&gt; cdpdf</pre>
+<p>As a general rule (excluding system dependencies and included third party 
+libraries): CD has NO external dependencies, and CDLua depends on Lua and IMLua. 
+Just notice that not all CDLua libraries depend on IMLua.</p>
+
+<h3><a name="Environment">Environment Variables</a></h3>
+
+  <p><font face="Courier New"><b>CDDIR</b></font> - This environment variable is used by some drivers to locate useful 
+  data files, such as font definition files. It contains the directory path without the final slash.<br>
+  <font face="Courier New"><b>CD_QUIET</b></font> - In UNIX, if this variable is defined, it does not show the library's 
+  version info on <em>sdtout</em>.<br>
+  <font face="Courier New"><b>CD_</b></font><b><font face="Courier New">XERROR</font></b> - In UNIX, if this variable is 
+  defined, it will show the X-Windows error messages on <em>sdterr</em>.</p>
+
+<h3><a name="NewDriver">Implementing a Driver</a></h3>
+
+  <p>The best way to implement a new driver is based on an existing one. For this reason, we provide 
+  a code of the 
+  simplest driver possible, see <a href="../download/cdxx.h">CDXX.H</a> and <a href="../download/cdxx.c">CDXX.C</a>. 
+  But first you should read the <a href="internal.html">Internal Architecture</a>.</p>
+
+<h3><a name="Play">Intercepting Primitives</a></h3>
+
+  <p>To fill data structures of library primitives during a <font face="Courier New">cdPlay</font> call you must 
+  implement a driver and activate it before calling <font face="Courier New">cdPlay</font>. Inside your driver 
+  primitives you can fill your data structure with the information interpreted by the <font face="Courier New">cdPlay</font> 
+  function.</p>
+
+<h3><a name="IUP">IUP Compatibility</a></h3>
+
+  <p>The <strong>IupCanvas</strong> element of the <a target="_blank" href="http://www.tecgraf.puc-rio.br/iup/">IUP</a> 
+  interface toolkit can be used as a visualization surface for a CD canvas. There are two moments in which one must be 
+  careful when an application is using both libraries: when creating the CD canvas, and when changing the size of the 
+  IUP canvas.</p>
+  <h4>Creating the CD Canvas</h4>
+  
+    <p>The CD_IUP driver parameter needs only the Ihandle* of the <strong>
+	IupCanvas</strong>. But <strong>cdCreateCanvas</strong> must be called <u>after</u> the <strong>IupCanvas</strong> element has been 
+    mapped into the native system.</p>
+    <p>But a call to <strong>IupShow</strong> generates an ACTION callback. And a 
+	direct call to <strong>IupMap</strong> can generate a RESIZE_CB callback.&nbsp; </p>
+    <p>So the best way to create a CD canvas for a IUP canvas is to use the
+	<strong>IupCanvas</strong> MAP_CB callback. This callback will be always called before 
+	any other callback.</p>
+    
+    <p>The application must be linked with the <strong>iupcd</strong> 
+    library that it is available in the IUP package.</p>
+  
+  <h4>Resizing the IUP Canvas</h4>
+  
+    <p>When a IupCanvas is resized the CD canvas must be notified of the size 
+	change. To do that simply call <strong>cdCanvasActivate</strong> in the 
+	RESIZE_CB callback.</p>
+  
+
+
+</body>
+
+</html>
diff --git a/html/en/history.html b/html/en/history.html
new file mode 100644
index 0000000..6042519
--- /dev/null
+++ b/html/en/history.html
@@ -0,0 +1,932 @@
+<html>
+
+<head>
+<meta http-equiv="content-type" content>
+<meta http-equiv="Content-Language" content="en-us">
+<title>History</title>
+<link rel="stylesheet" type="text/css" href="../style.css">
+</head>
+
+<body>
+
+<h1>History of Changes</h1>
+<h3>Version 5.1 (14/Oct/2008)</h3>
+<ul>
+	<li><span style="color: #0000FF">New:</span> CD_DEBUG driver.</li>
+	<li><span style="color: #0000FF">New:</span> the &quot;imlua_cd&quot; library moved 
+	from IM to CD under the name &quot;cdluaim&quot;. Only the initialization function 
+	name is changed.</li>
+	<li><span style="color: #0000FF">New:</span> cdluacontextplus library so the 
+	&quot;ContextPlus&quot; base drivers (GDI+ and XRender) can be dinamically loaded 
+	using require.</li>
+	<li><span style="color: #008000">Changed:</span> 
+  <strong>
+  <span style="color: #FF0000">IMPORTANT</span></strong> - the &quot;cdiup&quot; and &quot;cdluaiup&quot; 
+	libraries moved from CD to IUP under the name &quot;iupcd&quot; and &quot;iupluacd&quot;. But 
+	headers and documentation remains on the CD package. Function names were NOT 
+	changed. This change eliminates a cross-dependency that IUP and CD had, now 
+	only IUP depends on CD.</li>
+	<li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> 
+	<strong>
+  <span style="color: #FF0000">IMPORTANT</span></strong> - renamed &quot;cdgliplus&quot; 
+	and &quot;cdxrender&quot; libraries to &quot;cdcontextplus&quot;.</li>
+	<li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> 
+	<strong>
+  <span style="color: #FF0000">IMPORTANT</span></strong> - removed the FreeType 
+	library files from the main library. They now are available as an additional 
+	library that can be replaced by other FreeType distributions. This will 
+	avoid conflicts when using CD and GTK.</li>
+	<li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> 
+	<strong>
+  <span style="color: #FF0000">IMPORTANT</span></strong> - removed the PDFLib 
+	library files from the cdpdf library. They now are available as an 
+	additional library that can be replaced by other PDFLib distributions.</li>
+	<li><span style="color: #008000">Changed:</span> 
+  	Makefiles for UNIX now uses a compact version of Tecmake that does not need 
+	any installation, just type &quot;make&quot;.</li>
+	<li><span style="color: #008000">Changed:</span> All dll8 and dll9 DLLs now 
+	have a Manifest file that specifies the correct MSVCR*.DLL.</li>
+	<li><span style="color: #008000">Changed:</span> improved CDLua parameter 
+	checking and error report.</li>
+	<li><span style="color: #008000">Changed:</span> improved compatibility for 
+	font names in X and Win32.</li>
+	<li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> 
+	Copyright notice modified to reflect the registration at INPI (National 
+	Institute of Intellectual Property in Brazil). License continues under the 
+	same terms.</li>
+	<li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> 
+	improved pattern and stipple resize in <strong>wdCanvasPattern</strong> and
+	<strong>wdCanvasStipple</strong>.</li>
+	<li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> 
+	pattern creation in Win32 to a more faster method.</li>
+	<li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> 
+	optimized font search in X-Windows base driver for size variations.</li>
+	<li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> 
+	the number of bits per pixel returned by the CD_PRINTER driver when the 
+	printer is a PDF Writer was 1, now we add a workaround to return 24.</li>
+	<li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> 
+	improved the color convertion when drawing a RGB image in a CD_PRINTER 
+	canvas with 1 bpp (usually a laser printer).</li>
+	<li><span style="color: #008000">Changed</span>: (UNDONE from 5.0) in Lua 
+	canvases are NOT 
+  garbage collected anymore. Since there can be different Lua canvases pointing 
+	to the same canvas.</li>
+	<li><span style="color: #008000">Changed</span>: font map in simulation 
+	driver is not case sensitive anymore.</li>
+	<li><span style="color: #008000">Changed</span>: premake files are used now 
+	only internally and were removed from the distribution.</li>
+	<li><span style="color: #FF0000">Fixed:</span> added missing 
+	CD_NO_OLD_INTERFACE definition on Linux makefiles.</li>
+	<li><span style="color: #FF0000">Fixed:</span> attributes not being 
+	preserved after changing clipping or adding a new page in CD_PDF.</li>
+	<li><span style="color: #FF0000">Fixed:</span> polygon clipping in 
+	CD_IMAGERGB driver when polygon is larger than the canvas.</li>
+	<li><span style="color: #FF0000">Fixed:</span> <strong>cdCanvasVertex</strong> 
+	when adding two reference points with the same coordinates in a bezier.</li>
+	<li><span style="color: #FF0000">Fixed:</span> client image zoom in 
+	CD_IMAGERGB driver.</li>
+	<li><span style="color: #FF0000">Fixed:</span> text draw position and 
+	gettextsize in Xrender base driver.</li>
+	<li><span style="color: #FF0000">Fixed:</span> double buffer driver invalid 
+	memory access when using the Xrender base driver.</li>
+</ul>
+<h3>Version 5.0 (26/Nov/2007)</h3>
+<ul>
+	<li><span style="color: #0000FF">New:</span> attributes &quot;OPAQUE&quot;, &quot;PATTERN&quot; 
+	and &quot;PDF&quot;&nbsp;in the CD_PDF driver.</li>
+	<li><span style="color: #0000FF">New:</span> XRender base driver.</li>
+  <li><span style="color: #008000">Changed:</span> PDF Lite library updated to 
+  version &quot;7.0.2&quot;.</li>
+  <li><span style="color: #008000">Changed:</span> FreeType library updated to 
+  version &quot;2.3.5&quot;.</li>
+  <li><span style="color: #008000">Changed</span>: now using &quot;(char*)CD_QUERY&quot; 
+  as the parameter in <b>cdCanvasNativeFont</b>, it returns the current selected font in 
+  the common format definition.</li>
+  <li><span style="color: #008000">Changed</span>: avoid setting X-Windows color 
+  background when calling <b>cdCanvasClear</b> for NativeWindow driver. Now all 
+  X-Windows drivers will use only XFillRectangle.</li>
+  <li><span style="color: #008000">Changed</span>: in Lua canvases are now 
+  garbage collected.</li>
+  <li><span style="color: #008000">Changed:</span> metatable names in Lua are 
+  now the same as the C struct names.</li>
+  <li><span style="color: #FF0000">Fixed:</span> function cdlua_checkcanvas that 
+  affects the creation of the cd.DBUFFER canvas. Thanks to Martin Saerbeck.</li>
+  <li><span style="color: #FF0000">Fixed:</span> vertical text alignment in PDF 
+  and PS 
+  drivers.</li>
+  <li><span style="color: #FF0000">Fixed:</span> ascent and descent font 
+  dimensions in PDF driver.</li>
+	<li><span style="color: #FF0000">Fixed:</span> check for mark size and font 
+	size when given size is 0.</li>
+</ul>
+<h3>Version 5.0 RC2 (09/Apr/2007)</h3>
+<ul>
+  <li><span style="color: #0000FF">New:</span> function <b>cdCanvasInvertYAxis</b> that 
+  will invert the given y coordinate even if the canvas is not internally 
+  inverted.</li>
+	<li><span style="color: #008000">Changed:</span> PDF Lite library updated to 
+  version &quot;7.0.0p3&quot;.</li>
+  <li><span style="color: #008000">Changed:</span> FreeType library updated to 
+  version &quot;2.2.1&quot;.</li>
+  <li><span style="color: #008000">Changed:</span> In the new API <strong>
+  cdCanvasFont</strong> you can specify partial parameters using NULL, -1 and 0 
+  for typeface, style and size. When these parameters are specified the current 
+  font parameter is used. For example, <b>cdCanvasFont(NULL, -1, 10)</b> will only 
+  change the font size.</li>
+</ul>
+<h3>Version 5.0 RC1 (08/Mar/2007)</h3>
+<ul>
+  <li><span style="color: #0000FF">New:</span> attribute HATCHBOXSIZE in CD_PDF 
+  driver, to control the hatch spacing.</li>
+  <li><span style="color: #0000FF">New:</span> attribute ADDFONTMAP in 
+  simulation base driver to accept a map between a font name and a font file 
+  name.</li>
+  <li><span style="color: #0000FF">New:</span> Pango Font Description string is 
+  now accepted in <strong>NativeFont</strong> and replace the previous CD format is most 
+  drivers.<br>
+  <strong>
+  <span style="color: #FF0000">INCOMPATIBILITY</span> -</strong> 
+  If style is not used, most drivers had a format compatible with the new 
+  format. But please check your <strong>NativeFont</strong> usage. The IUP 
+  format is still supported.</li>
+  <li><span style="color: #0000FF">New:</span> API using canvas as a parameter. 
+  Old API still exists. Library is backward compatible with previous versions, 
+  but the documentation shows only the new names. 
+  The new functions add a &quot;Canvas&quot; to the function prefix, for ex: the <strong>
+  cdLine</strong> equivalent is <strong>cdCanvasLine</strong>. For these 
+  functions <strong>cdActivate</strong> is not required. But <strong>
+  cdCanvasActivate</strong> exists for special cases where the canvas must be 
+  updated if an external factor was changed, like a window resize. 
+  To facilitate the migration to the new API use the definition CD_NO_OLD_INTERFACE 
+  to exclude the old API definitions and check if you are using only the new 
+  functions.</li>
+  <li><span style="color: #0000FF">New:</span> support for primitives using 
+  &quot;double&quot; floating point precision and not related to WC functions.</li>
+  <li><span style="color: #0000FF">New:</span> &quot;cd_canvas.hpp&quot; header file which 
+  defines a C++ class cdCanvasC that wraps the cdCanvas structure API.</li>
+  <li><span style="color: #0000FF">New:</span> ROTATE attribute in CD_PDF 
+  driver.</li>
+  <li><span style="color: #0000FF">New:</span> binding Lua of the CD_PDF driver.</li>
+  <li><span style="color: #0000FF">New:</span> support for alpha channel in 
+  CD_IMAGERGB driver. Also support for alpha in color coding in the CD_IMAGERGB 
+  driver primitives.</li>
+  <li><span style="color: #0000FF">New:</span> attribute ANTIALIAS in the 
+  CD_IMAGERGB driver. Text is always antialiased as before.</li>
+  <li><span style="color: #0000FF">New: </span>implemented <strong>Chord</strong> primitive in 
+  simulation base 
+  driver.</li>
+  <li><span style="color: #0000FF">New: </span>implemented CD_WINDING fill mode 
+  in the simulation base driver.</li>
+  <li><span style="color: #0000FF">New: </span>implemented complex clipping 
+  regions in CD_IMAGERGB driver. Fixed polygon clipping and other clipping 
+  errors in the CD_IMAGERGB driver.</li>
+  <li><span style="color: #0000FF">New:</span> driver CD_DBUFFERRGB that uses 
+  the CD_IMAGERGB driver for double buffer, and can be a double buffer for any 
+  other driver (CD_DBUFFER works only for Window based drivers). </li>
+  <li><span style="color: #0000FF">New:</span> CD_PICTURE driver to store 
+  primitives and attributes in memory that can be played and resized in any 
+  other driver.</li>
+  <li><span style="color: #0000FF">New:</span> functions to set color foreground 
+  and background without query support (cdCanvasSetForeground and 
+  cdCanvasSetBackground). CD_QUERY conflicts with color RGBA=(255,255,255,255) 
+  (full transparent white).</li>
+  <li><span style="color: #0000FF">New:</span> support for generic canvas 
+  transformations using <strong>Transform</strong>, <strong>TransformTranslate</strong>,
+  <strong>TransformRotate</strong> and <strong>TransformScale</strong> functions.</li>
+  <li><span style="color: #0000FF">New:</span> attribute &quot;GDI+&quot; for all GDI+ 
+  based drivers that returns &quot;1&quot;. So it can be detected if the driver uses the 
+  GDI+ base driver.</li>
+  <li><span style="color: #008000">Changed:</span> <strong>
+  <span style="color: #FF0000">INCOMPATIBILITY</span></strong> - removed 
+  clipping simulation from the simulation base driver. It is not possible 
+  anymore to simulate clipping, only primitives can be simulated.</li>
+  <li><span style="color: #008000">Changed:</span> canvas internal pointer allocation so it can be checked for valid canvas in 
+  all external API function calls.</li>
+  <li><span style="color: #008000">Changed:</span> <strong>NativeFont</strong>(&quot;-d&quot;) to set also the foreground color from the color in the dialog, and 
+  initialize the font in the dialog with the current selected font.</li>
+  <li><span style="color: #008000">Changed:</span> In the new API <strong>
+  cdCanvasFont</strong> changed the typeface parameter type from a small set of 
+  integer values to a more flexible string.</li>
+  <li><span style="color: #008000">Changed:</span> all accented characters are 
+  now available in the default vector text font.</li>
+  <li><span style="color: #008000">Changed:</span> all functions in the API now 
+  use &quot;const&quot; when applicable.</li>
+  <li><span style="color: #008000">Changed:</span> server image defintion from 
+  &quot;void*&quot; to &quot;cdImage*&quot;. This will affect C++ applications that must update 
+  their code.</li>
+  <li><span style="color: #008000">Changed:</span> removed <strong>cdGetClipPoly</strong> 
+  and <strong>wdGetClipPoly</strong> functions.</li>
+  <li><span style="color: #008000">Changed:</span> <strong>UpdateYAxis</strong> 
+  now also returns the changed value.</li>
+  <li><span style="color: #008000">Changed:</span> <strong>
+  <span style="color: #FF0000">INCOMPATIBILITY</span> - cdCallback</strong> 
+  definition used in <strong>RegisterCallback</strong>, called from <strong>Play</strong>. Replaced the &quot;cdContext*&quot; by a &quot;cdCanvas*&quot;. 
+  If you do not use the pointer it can be simply ignored.</li>
+  <li><span style="color: #008000">Changed:</span> WC functions now are only 
+  client functions of the CD API.</li>
+  <li><span style="color: #008000">Changed:</span> removed old support for 
+  Windows 9x.</li>
+  <li><span style="color: #008000">Changed:</span> removed the <strong>cdInitGdiPlusIUP</strong> function and the &quot;<strong>cdiupgdiplus</strong>&quot; 
+  library. They are not necessary anymore. Althougth the CD_IUP driver still 
+  works with GDI+ support.</li>
+  <li><span style="color: #008000">Changed:</span> improved speed and precision 
+  of the bezier polygon of the simulation base driver.</li>
+  <li><span style="color: #008000">Changed:</span> renamed distribution folder 
+  name from &quot;cd/data&quot; to &quot;cd/etc&quot;.</li>
+  <li><span style="color: #008000">Changed:</span> CD Lua for Lua 3 library name 
+  changed to include &quot;3&quot; as a suffix.</li>
+  <li><span style="color: #FF0000">Fixed:</span> conversion from ANSI to ASCII 
+  in vector text fonts. </li>
+  <li><span style="color: #FF0000">Fixed:</span> Sector primitive in simulation 
+  base 
+  driver.</li>
+  <li><span style="color: #FF0000">Fixed:</span> deactivation of internal canvas in Double Buffer driver over a Native Windows driver for Win32.</li>
+  <li><span style="color: #FF0000">Fixed:</span> EPS compatibility in PostScript driver.</li>
+  <li><span style="color: #FF0000">Fixed:</span> the default values in <strong>cdCreateCanvas</strong> for CD_DGN, CD_DXF and CD_CGM.</li>
+  <li><span style="color: #FF0000">Fixed:</span> <strong>Play</strong> for CD_EMF when data contains poly-polygons or poly-polylines.</li>
+  <li><span style="color: #FF0000">Fixed:</span> <strong>LineWidth</strong> in 
+  WC when updating the 
+  size in pixels.</li>
+  <li><span style="color: #FF0000">Fixed:</span> <strong>TextSize</strong> and 
+  <strong>FontDim</strong> in driver DXF.</li>
+  <li><span style="color: #FF0000">Fixed:</span> <strong>Font</strong> in the 
+  X-Windows base driver, size parameter was incorrectly passed to the X-Windows.
+  <span style="color: #FF0000"><strong>WARNING</strong></span>: the result font 
+  will have a size different than previous CD versions in X-Windows. </li>
+  <li><span style="color: #FF0000">Fixed:</span> <strong>Flush</strong> in 
+  CD_DBUFFER driver, it was affected by the write mode state of the 
+  buffered canvas.</li>
+  <li><span style="color: #FF0000">Fixed:</span> WC tranformation update when 
+  the Window is invalid. Thanks to Marian Trifon.</li>
+  <li><span style="color: #FF0000">Fixed:</span> polygon filling in simulation 
+  base driver.</li>
+  <li><span style="color: #FF0000">Fixed:</span> invalid resample in <strong>
+  PutImageRect</strong>* in GDI+ base driver cause a band with a mix of the 
+  background color appear on right and bottom when image is zoomed in (larger 
+  than original size).</li>
+</ul>
+<h3>Version 4.4 (12/Dec/2005)</h3>
+<ul>
+  <li><span style="color: #0000FF">New:</span> CDLua for Lua 5. The CDLua for Lua 3 is now also totally compatible with the &quot;cd.&quot; name space used in the 
+  CDLUA for Lua 5. So the documentation now reflects only the new nomenclature although the old CDLua 3 names are still 
+  valid<font color="#FF0000">.</font></li>
+  <li><span style="color: #0000FF">New:</span> attribute <font face="Courier New">&quot;WINDOWRGN&quot;</font> for the Native Windows and IUP drivers to set the shape 
+  of a window to the current complex clipping region.</li>
+  <li><span style="color: #0000FF">New:</span> <b><font face="Courier New">cdlua_close</font></b> function to release the memory allocated by the <b>
+  <font face="Courier New">cdlua_open</font></b>.</li>
+  <li><span style="color: #0000FF">New:</span> <font face="Courier New">&quot;ROTATE&quot;</font> attribute for PS driver, GDI+ base driver and GDI base driver.</li>
+  <li><span style="color: #0000FF">New:</span> <font face="Courier New">CD_FILLSPLINE</font> and <font face="Courier New">CD_SPLINE</font> parameters for 
+  cdBegin in GDI+ base driver.</li>
+  <li><span style="color: #0000FF">New:</span> support for complex regions for clipping using: <b><font face="Courier New">cdBox</font></b>, <b>
+  <font face="Courier New">cdSector</font></b>, <b><font face="Courier New">Polygons</font></b> and <b>
+  <font face="Courier New">cdText</font></b>. New: parameter <font face="Courier New">CD_REGION</font> for <b>
+  <font face="Courier New">cdBegin</font></b> to create the region, new parameter <font face="Courier New">CD_CLIPREGION</font> 
+  for <b><font face="Courier New">cdClip</font></b> to select the region for clipping. 
+  New: funtions to control regions:
+  <b><font face="Courier New">cdPointInRegion</font></b>, <b><font face="Courier New">cdOffsetRegion</font></b>, <b>
+  <font face="Courier New">cdRegionBox</font></b> and&nbsp; <b><font face="Courier New">cdRegionCombineMode</font></b>. 
+  Valid only for the Windows GDI, GDI+ and X-Windows base drivers and their derived drives.</li>
+  <li><span style="color: #0000FF">New:</span> mode for <b><font face="Courier New">cdBegin</font></b>, <font face="Courier New">CD_BEZIER</font>.</li>
+  <li><span style="color: #0000FF">New:</span> filled primitive <b><font face="Courier New">cdChord</font></b>.</li>
+  <li><span style="color: #0000FF">New:</span> polygon fill rule control using <b><font face="Courier New">cdFillMode</font></b> with
+  <font face="Courier New">CD_EVENODD</font> (the default) and <font face="Courier New">CD_WINDING</font> parameters.</li>
+  <li><span style="color: #0000FF">New:</span> line cap and line join styles using <b><font face="Courier New">cdLineCap</font></b> and <b>
+  <font face="Courier New">cdLineJoin</font></b>.</li>
+  <li><span style="color: #0000FF">New:</span> typeface <font face="Courier New">CD_NATIVE</font> to indicate that a native font has been selected.</li>
+  <li><span style="color: #0000FF">New:</span> custom line style using <b><font face="Courier New">cdLineStyleDashes</font></b> and <b>
+  <font face="Courier New">cdLineStyle</font></b>(<font face="Courier New">CD_CUSTOM</font>). This replaces the 
+  attribute &quot;<font face="Courier New">USERLINESTYLE</font>&quot;.<br>
+  (All New:, when not specified the divers, are valid for all the drivers, except DXF, DGN e CGM.)</li>
+  <li><span style="color: #0000FF">New:</span> text utility function <b><font face="Courier New">cdTextBounds</font></b> that returns the oriented bounding 
+  rectangle<font color="#FF0000">.</font> </li>
+  <li><span style="color: #0000FF">New:</span> <font face="Courier New">&quot;IMAGEFORMAT&quot;</font> and <font face="Courier New">&quot;IMAGEALPHA&quot;</font> attributes for 
+  the Windows base driver.</li>
+  <li><span style="color: #0000FF">New:</span> In GDI+, the <font face="Courier New">CD_CLIPBOARD</font> driver supports EMF and BMP formats.</li>
+  <li><span style="color: #0000FF">New:</span> function <b><font face="Courier New">cdReleaseState</font></b> to release the memory allocated by a state. 
+  The <b><font face="Courier New">cdRestoreState</font></b> does not release the memory anymore so it can be used 
+  several times for the same state.</li>
+  <li><span style="color: #FF0000">Fixed:</span> Invalid cdKillImage in X-Windows when active canvas is not the canvas where the image was created.</li>
+  <li><span style="color: #FF0000">Fixed:</span> Text clipping for <font face="Courier New">CD_IMAGERGB</font> driver.</li>
+  <li><span style="color: #FF0000">Fixed:</span> fixed size in milimeter of <b><font face="Courier New">cdGetScreenSize</font></b> in Win32.</li>
+  <li><span style="color: #FF0000">Fixed:</span> fixed size of the EMF picture.</li>
+  <li><span style="color: #FF0000">Fixed:</span> fixed the parse of filenames with spaces for all file based drivers. The filename must be inside 
+  double quotes (&quot;) if it has spaces.</li>
+  <li><span style="color: #FF0000">Fixed:</span> <b><font face="Courier New">cdSetAttribute</font></b> in Lua now can set nil values.</li>
+  <li><span style="color: #FF0000">Fixed:</span> fixed <b><font face="Courier New">cdSector</font></b> when interior style is <font face="Courier New">
+  CD_HOLLOW</font>, to include two lines connecting to the center point.</li>
+  <li><span style="color: #FF0000">Fixed:</span> In GDI+, the NATIVEWINDOW driver ignored other data pointer configurations in <b>
+  <font face="Courier New">cdCreateCanvas</font></b>.</li>
+  <li><span style="color: #FF0000">Fixed:</span> In GDI+, <b><font face="Courier New">cdStipple</font></b> was not updated when the foreground or 
+  background colors where changed.</li>
+  <li><span style="color: #FF0000">Fixed:</span> In GDI+, <b><font face="Courier New">cdSector</font></b> and <b><font face="Courier New">cdArc</font></b> 
+  have incorrect angles.</li>
+  <li><span style="color: #FF0000">Fixed:</span> &quot;simple.c&quot; and &quot;simple.zip&quot; were outdated. Now new makefiles were added.</li>
+  <li><span style="color: #FF0000">Fixed:</span> in Windows base driver small incompatibility in cdNativeFont with the IUP FONT attribute.</li>
+  <li><span style="color: #008000">Changed:</span> Optimization flags now are ON when building the library in all platforms.</li>
+  <li><span style="color: #008000">Changed:</span> Upgraded Freetype to version 2.1.10. The CD library file size increased because of this. But we gain 
+  a better text rendering for images.</li>
+  <li><span style="color: #008000">Changed:</span> Better organization of the documentation.</li>
+  <li><span style="color: #008000">Changed:</span> In Windows the NATIVEWINDOW driver now accepts a NULL pointer to draw in the entire screen.</li>
+  <li><span style="color: #008000">Changed:</span> Optimized <b><font face="Courier New">cdPutImageRGBARect</font></b> in Windows base driver.</li>
+  <li><span style="color: #008000">Changed:</span> Now by default CD will not print X-Windows messages. To enable you must set the CD_XERROR environment 
+  variable.</li>
+  <li><span style="color: #008000">Changed:</span> The default fill rule for polygons in CD_PS is now the Even-Odd rule. Matching the other drivers.</li>
+  <li><span style="color: #008000">Changed:</span> Line Styles in GDI+ was corrected again to match GDI line styles when line width is not 1.</li>
+  <li><span style="color: #008000">Changed:</span> The native WC support in GDI+ was removed because of alignment and size problems, simulation will be used.</li>
+  <li><span style="color: #008000">Changed:</span> the EMF drivers now ignore the resolution parameter. For EMFs, the resolution is always the screen 
+  resolution.</li>
+  <li><span style="color: #008000">Changed:</span> the value of following attributes were changed to strings <font face="Courier New">&quot;IMAGEMASK&quot;</font>,
+  <font face="Courier New">&quot;IMAGEPOINTS&quot;</font>, <font face="Courier New">&quot;ROTATE&quot;</font>, <font face="Courier New">
+  &quot;GRADIENTCOLOR&quot;</font>, <font face="Courier New">&quot;IMAGETRANSP&quot;</font> and&nbsp; <font face="Courier New">&quot;IMAGEFORMAT&quot;</font>.
+  </li>
+  <li><span style="color: #008000">Changed:</span> in GDI+ base driver, the <b><font face="Courier New">cdBegin</font></b> modes <font face="Courier New">
+  CD_IMAGEWARP</font> and <font face="Courier New">CD_GRADIENT</font> were moved to attributes <font face="Courier New">
+  &quot;IMAGEPOINTS&quot;</font> and <font face="Courier New">&quot;LINEGRADIENT&quot;</font>. Mode <font face="Courier New">CD_PATHGRADIENT</font> 
+  was renamed to <font face="Courier New">CD_FILLGRADIENT</font>, and <font face="Courier New">&quot;PATHGRADIENT&quot;</font> 
+  attribute was renamed to <font face="Courier New">&quot;GRADIENTCOLOR&quot;</font>. Their definition was also changed.</li>
+  <li><span style="color: #008000">Changed:</span> <b><font face="Courier New">cdImageEx</font></b> was renamed to <b><font face="Courier New">cdBitmap</font></b>, 
+  and now supports only client images. This will cause a conflict with a macro definition in <font face="Courier New">
+  &quot;im_image.h&quot;</font> header of the IM toolkit. Include this header before <font face="Courier New">&quot;cd.h&quot;</font> and 
+  inbetween set <font face="Courier New">&quot;#undef cdPutBitmap&quot;</font>. The IM macro will be changed in the next IM 
+  version.</li>
+  <li><span style="color: #008000">Changed:</span> <b><font face="Courier New">cdText</font></b> is not dependent on the <b><font face="Courier New">
+  cdBackOpacity</font></b> anymore. Text now is always transparent. If you need a box under the text use <b>
+  <font face="Courier New">cdTextBox</font></b> to calculate the dimensions for <b><font face="Courier New">cdBox</font></b>.</li>
+</ul>
+<h3>Version 4.3.3 (25/Aug/2004)</h3>
+<ul>
+  <li><span style="color: #0000FF">New:</span> &quot;USERLINESTYLE&quot; attribute for the base GDI and X11 drivers.</li>
+  <li><span style="color: #0000FF">New:</span> &quot;GC&quot; attribute for the base X11 driver.</li>
+  <li><span style="color: #008000">Changed:</span> in the Native Window driver for the Windows system, the creation using a HDC can have an addicional 
+  parameter for the canvas size.</li>
+  <li><span style="color: #008000">Changed:</span> in cdTextSize for the GDI+ base driver we now compensates the height in -10% to match the GDI height.</li>
+  <li><span style="color: #008000">Changed:</span> The GDI+ printer driver now returns the HDC attribute.</li>
+  <li><span style="color: #FF0000">Fixed:</span> fixed a bug in <b><font face="Courier New">cdNativeFont</font></b> for the GDI+ base driver.</li>
+  <li><span style="color: #FF0000">Fixed:</span> again fixed a rounding error in <b><font face="Courier New">cdPutImage*</font></b> for big zooms.</li>
+</ul>
+<h3>Version 4.3.2 (14/Apr/2004)</h3>
+<ul>
+  <li><span style="color: #FF0000">Fixed:</span> in the Win32 and X-Win drivers the <font face="Courier New"><b>cdPutImageRGB</b></font> and
+  <font face="Courier New"><b>cdPutImageMap</b></font> functions when zooming bigger then the canvas where incorrectly 
+  positioning the image by some pixels because of round errors.</li>
+</ul>
+<h3>Version 4.3.1 (07/Nov/2003)</h3>
+<ul>
+  <li><span style="color: #FF0000">Fixed:</span> in the Win32 driver the clipping of <font face="Courier New"><b>cdPutImage*</b></font> functions when 
+  zooming was wrong. In the DoubleBuffer driver the main canvas <font face="Courier New"><b>cdOrigin</b></font> can be 
+  used to move the image in the swap operation (<font face="Courier New"><b>cdFlush</b></font>). In the GDI+ 
+  DoubleBuffer driver there was an error in the <font face="Courier New"><b>cdFlush</b></font> when some primitive used 
+  world coordinates directly in the main canvas.</li>
+</ul>
+<h3>Version 4.3 (06/Mar/2003)</h3>
+<ul>
+  <li><span style="color: #0000FF">New:</span> the function <font face="Courier New"><b>cdlua_getcanvas</b></font> retreives the pointer of a canvas created 
+  in Lua.</li>
+  <li><span style="color: #0000FF">New:</span> in Win32 the function <font face="Courier New"><b>cdUseContextPlus</b></font> change the behavior of the 
+  Windows drivers NativeWindow, IUP, Image, Printer, EMF and Double Buffer to make them use the GDI+ for drawing. GDI+ 
+  does not have support for XOR Write Mode, but it has other resources like: transparency, anti-aliasing, gradient 
+  filling, bezier lines and filled cardinal splines. WC functions are directly implemented in the base driver. Two new 
+  functions were created to support transparency in the CD color coding: <font face="Courier New"><b>cdEncodeAlpha</b></font> 
+  and <font face="Courier New"><b>cdDecodeAlpha.</b></font>Check the documentation for more information.</li>
+  <li><span style="color: #008000">Changed:</span> the Lua binding is now distributed in the same package. There is only one version number.</li>
+  <li><span style="color: #FF0000">Fixed:</span> the PS header had same flaws, the character &quot;:&quot; was missing in some DCS attributes.</li>
+  <li><span style="color: #FF0000">Fixed:</span> screen resolution was wrong in the Win32 driver, this afects the size of the canvas in milimeters.</li>
+  <li><span style="color: #FF0000">Fixed:</span> in the Win32 driver the creation of a polygon for clipping does not activate the clipping.</li>
+  <li><span style="color: #FF0000">Fixed:</span> in the Win32 driver the function <font face="Courier New"><b>cdNativeFont</b></font> using &quot;-d&quot; 
+  parameter need some ajusts. Also the returned string does not contains all the used parameters.</li>
+  <li><span style="color: #FF0000">Fixed:</span> in the Win32 driver the function <font face="Courier New"><b>cdPutImageRectRGBA</b></font> had a 
+  positioning error.</li>
+</ul>
+<h3>Version 4.2 (20/July/2001)</h3>
+<ul>
+  <li><span style="color: #008000">Changed:</span> in driver Win32, <font face="Courier New"><b>cdNativeFont</b></font> accepts parameter
+  <font face="Courier New">&quot;-d&quot;</font> on the font name to show the font-selection dialog.</li>
+  <li><span style="color: #008000">Changed:</span> the whole code can now be compiled as C++.</li>
+  <li><span style="color: #008000">Changed:</span> functions <font face="Courier New"><b>wdPattern</b></font> and <b><font face="Courier New">wdStipple</font></b> 
+  were changed to make pattern deformation more uniform.</li>
+  <li><span style="color: #FF0000">Fixed:</span> in the Clipboard driver on Win32, when parameter <font face="Courier New">&quot;-b&quot;</font> was used the 
+  image was not correctly copied.</li>
+  <li><span style="color: #FF0000">Fixed:</span> in certain moments, color vectors were being allocated with size 4 and should be
+  <font face="Courier New">&quot;sizeof(long)&quot;</font>. This was done to improve the compatibility with 64-bit systems.</li>
+  <li><span style="color: #FF0000">Fixed:</span> <font face="Courier New"><b>cdPutImageRectRGB</b></font> in driver ImageRGB had a memory-invasion 
+  error in some cases when the image was placed in a negative coordinate.</li>
+</ul>
+<h3>Version 4.1.10 (04/May/2000)</h3>
+<ul>
+  <li><span style="color: #008000">Changed:</span> the driver Native Windows in Win32 now also accepts an already created HDC handle as a parameter.</li>
+  <li><span style="color: #008000">Changed:</span> in the <font face="Courier New"><strong>cdPutImageMap</strong></font>* functions, in case the color 
+  vector is null, a vector with 256 gray shades in assumed.</li>
+  <li><span style="color: #FF0000">Fixed:</span> <font face="Courier New"><b>cdRegisterAttribute</b></font> was not verifying whether the attribute had 
+  already been registered.</li>
+  <li><span style="color: #FF0000">Fixed:</span> function <font face="Courier New"><b>cdArc</b></font> in the simulation driver (includes <strong>
+  ImageRGB</strong>) was returning without drawing anything in an incorrect test.</li>
+  <li><span style="color: #FF0000">Fixed:</span> function <font face="Courier New"><b>cdTextBox</b></font> was returning incorrect values when the text 
+  had an orientation different from the default one in some alignment instances.</li>
+  <li><span style="color: #FF0000">Fixed:</span> in function <font face="Courier New"><b>cdRGB2Map</b></font> there was a memory invasion.</li>
+  <li><span style="color: #FF0000">Fixed:</span> the vector text simulation was not freeing the memory used for fonts loaded from files.</li>
+  <li><span style="color: #FF0000">Fixed:</span> in the Doubled Buffer driver in X-Windows there was an invalid memory liberation.</li>
+  <li><span style="color: #FF0000">Fixed:</span> in the Lua binding, in several functions receiving or returning tables, the first index was being 
+  considered as 0, but in Lua they must be 1. This correction includes <font face="Courier New"><strong>
+  cdVectorTextTransform</strong>, <strong>cdGetVectorTextBounds</strong>, <strong>wdGetVectorTextBounds</strong>,
+  <strong>cdGetClipPoly</strong> </font>and<font face="Courier New"> <strong>wdGetClipPoly</strong></font>.</li>
+  <li><span style="color: #FF0000">Fixed:</span> when the PS driver generated EPS, it did not correctly add the description of the bounding box (a line 
+  break was missing).</li>
+  <li><span style="color: #FF0000">Fixed:</span> the vector text drawing functions did not take into account the fact that the default font and the GKS 
+  fonts were in ASCII standard. Now a conversion from ANSI to ASCII is made before these fonts are used for drawing.</li>
+  <li><span style="color: #FF0000">Fixed:</span> in the X-Win driver, an error in the X-Vertex library caused the texts in 90/270 degrees to be drawn 
+  incorrectly.</li>
+  <li><span style="color: #FF0000">Fixed:</span> in the X-Win driver, the <font face="Courier New"><strong>cdPutImageMap</strong></font> functions were 
+  generating a memory invasion when the X was in 16 bits.</li>
+  <li><span style="color: #FF0000">Fixed:</span> in the Win32 driver, very large non-filled polygons were not being drawn in Windows 9x. To correct 
+  that, they were divided into smaller polygons.</li>
+</ul>
+<h3>Version 4.1 (24/Nov/99)</h3>
+<ul>
+  <li><span style="color: #0000FF">New:</span> new basic Windows driver attributes that allow controling the internal simulation of pattern/stipple, XOR 
+  text, and filled polygon (&quot;<font face="Courier New">SIMXORTEXT</font>&quot;, &quot;<font face="Courier New">SIMPATTERN8X8</font>&quot;, 
+  &quot;<font face="Courier New">PENFILLPOLY</font>&quot;). New: attribute for returning the HDC of the Windows canvas.</li>
+  <li><span style="color: #0000FF">New:</span> the PS driver accepts landscape orientation as a parameter. 
+  New: &quot;<font face="Courier New">POLYHOLE</font>&quot; 
+  attribute allows controling the number of holes in a closed polygon. New: &quot;<font face="Courier New">-1</font>&quot; 
+  parameter forces a level 1 Postscript. New: &quot;<font face="Courier New">-g</font>&quot; parameter adds comments to the PS file 
+  in order to better explain what is done. New: &quot;<font face="Courier New">CMD</font>&quot; attribute saves a string to the 
+  file.</li>
+  <li><span style="color: #0000FF">New:</span> new environment variable, <font face="Courier New">CD_QUIET</font>, does not display in <em>stdout</em> the 
+  library's version information.</li>
+  <li><span style="color: #0000FF">New:</span> two new exclusive functions for the Native Window driver: <font face="Courier New"><b>cdGetScreenColorPlanes</b></font> 
+  and <font face="Courier New"><b>cdGetScreenSize</b></font>.</li>
+  <li><span style="color: #0000FF">New:</span> new CD_DBUFFER driver implements a <em>double buffer</em> using a server image.</li>
+  <li><span style="color: #0000FF">New:</span> new attributes in the ImageRGB driver: &quot;<font face="Courier New">REDIMAGE</font>&quot;, &quot;<font face="Courier New">GREENIMAGE</font>&quot; 
+  and &quot;<font face="Courier New">BLUEIMAGE</font>&quot;.</li>
+  <li><span style="color: #0000FF">New:</span> new functions <font face="Courier New"><b>wdGetVectorTextBounds</b></font> and <font face="Courier New"><b>
+  cdGetVectorTextBounds</b></font> to obtain the bounding box of the vector text.</li>
+  <li><span style="color: #0000FF">New:</span> new <font face="Courier New"><b>wdGetFont</b></font> function. It is equivalent to <font face="Courier New">
+  <strong>cdGetFont</strong></font>, but the returned size is in millimeters.</li>
+  <li><span style="color: #FF0000">Fixed:</span> the management of WD functions was incomplete for functions <font face="Courier New"><strong>cdPixel</strong>,
+  <strong>cdVertex</strong> </font>and<font face="Courier New"> <strong>cdPutImage</strong></font>*. This resulted in a 
+  wrong or out of the canvas positioning. It only affects drivers PS and METAFILE.</li>
+  <li><span style="color: #FF0000">Fixed:</span> function <font face="Courier New"><b>cdActivate</b></font> in Lua was not returning the correct 
+  values.</li>
+  <li><span style="color: #FF0000">Fixed:</span> when the image was partially out of the window, above or below, functions <font face="Courier New">
+  <strong>cdPutImageMap</strong></font> and <font face="Courier New"><strong>RGB</strong></font> were drawing a wrong 
+  portion of the image.</li>
+  <li><span style="color: #FF0000">Fixed:</span>&nbsp;in the CGM driver, after opening the file of the <font face="Courier New"><strong>cdPlay</strong></font> 
+  function, the check to see if the opening had been successful was not being done.</li>
+  <li><span style="color: #FF0000">Fixed:</span> when the active canvas was already <font face="Courier New">NULL</font>, the activation of a
+  <font face="Courier New">NULL</font> canvas was generating a memory invasion.</li>
+  <li><span style="color: #FF0000">Fixed:</span> in the creation of EPS, the PS driver was adding a wrong call to <font face="Courier New">
+  setpagedevice</font>. The <font face="Courier New"><strong>cdPutImageMap</strong></font> function was modifying the 
+  wrong PS parameter in the file. The margin clipping was not saved when the drawing's clipping area was changed. The 
+  clipping area, when drawing in WD, was being incorrectly modified.</li>
+  <li><span style="color: #FF0000">Fixed:</span> in the IMAGERGB driver, functions <font face="Courier New"><b>cdRedImage</b>, <b>cdBlueImage</b>
+  </font>and<font face="Courier New"> <b>cdGreenImage</b></font> were returning invalid pointers.</li>
+  <li><span style="color: #FF0000">Fixed:</span> when initializing text simulation functions, the opened font file was not being closed. This affected 
+  all CD drivers, but was only apparent in the application that opened and closed many drivers.</li>
+  <li><span style="color: #FF0000">Fixed:</span> the approximate computation of the text size was not accepting sizes in pixels.</li>
+  <li><span style="color: #FF0000">Fixed:</span> the creation of the IMAGERGB driver in Lua was incorrect when the resolution parameter (which is 
+  optional) was not specified.</li>
+  <li><span style="color: #FF0000">Fixed:</span> functions <font face="Courier New"><b>cdGetClipPoly</b></font> and <font face="Courier New"><b>
+  wdGetClipPoly</b></font> in Lua were causing memory invasion.</li>
+  <li><span style="color: #008000">Changed:</span> in the PS driver, when the Map image is actually a grayscale, function <font face="Courier New">
+  <strong>cdPutImageMap</strong></font> uses an 8 bit image, thus saving memory. Level 2 Postscript functions
+  <font face="Courier New">rectfill, rectstroke</font> and <font face="Courier New">rectclip</font> are now used. The 
+  comments in DCS were updated to DCS version 3 and were increased to improve the document's portability.</li>
+  <li><span style="color: #008000">Changed:</span> in driver X-Windows, the text drawing attribute was implemented with any orientation.</li>
+  <li><span style="color: #008000">Changed:</span> function <font face="Courier New"><b>cdVersion</b></font> in Lua now behaves just like in C. A global Lua 
+  variable, <font face="Courier New"><b>CDLUA_VERSION</b></font>, was created containing the version of the Lua binding 
+  library - for example: &quot;CDLua 1.3.0&quot;.</li>
+  <li><span style="color: #008000">Changed:</span> function <font face="Courier New"><b>cdVectorTextTransform</b></font> now returns the previsous 
+  transformation matrix.</li>
+</ul>
+<h3>Version 4.0.1 (05/Mar/99)</h3>
+<ul>
+  <li><span style="color: #FF0000">Fixed:</span> in the Windows driver, the polygon simulation with pattern was corrected to polygons with repeated 
+  points.</li>
+  <li><span style="color: #FF0000">Fixed:</span> in the Windows driver, function <font face="Courier New"><strong>cdNativeFont</strong></font> was 
+  corrected for IUP fonts. It was affecting the Matrix's visualization.</li>
+  <li><span style="color: #FF0000">Fixed:</span> function <font face="Courier New"><strong>cdNativeFont</strong></font> was wrongly testing its input 
+  parameter and always returning.</li>
+  <li><span style="color: #FF0000">Fixed:</span> in the drivers IUP and Native Window, the <font face="Courier New"><strong>cdGetCanvasSize</strong></font> 
+  function was corrected. When the window size was changed, the values in millimeters were not updated to
+  <font face="Courier New"><strong>cdActivate</strong></font>.</li>
+  <li><span style="color: #FF0000">Fixed:</span> in the CGM driver, function <font face="Courier New"><strong>cdPlay</strong></font> was generating 
+  problems in reading and displaying cell arrays. When the <font face="Courier New"><strong>cdCreateCanvas</strong></font> 
+  function used the default values for dimensions and resolution, it generated files with errors.</li>
+  <li><span style="color: #008000">Changed:</span> in the X-Windows driver, function <font face="Courier New"><strong>cdPixel</strong></font> was 
+  optimized. It now compares the color to the foreground color and reuses the value.</li>
+</ul>
+<h3>Version 4.0 (18/Feb/99)</h3>
+<ul>
+  <li><b>Summary</b>: (necessary due to the great number of changes).<br>
+  - Update of the Lua binding.<br>
+  - Several changes in the internal structure (most bringing benefits only to the driver developer).<br>
+  - Countless corrections. <br>
+  - Small changes in the functions <font face="Courier New"><b>cdHatch</b>, <b>cdScrollImage</b>, <b>cdFont</b> </font>
+  and<font face="Courier New"> <b>cdPlay</b></font>. <br>
+  - Optimization of functions&nbsp; <font face="Courier New"><b>wdVectorFont</b></font> and <font face="Courier New"><b>
+  cdMark</b></font>. <br>
+  - New: functions: <br>
+&nbsp;&nbsp; <font face="Courier New"><b>cdCreateCanvasf, cdGetContext,</b> <strong>cdContextCaps</strong>, <strong>
+  cdSaveState, cdRestoreState</strong>, <strong>&nbsp; cdSetAttribute, cdGetAttribute</strong><br>
+  <b>&nbsp;cdOrigin, cdRect, wdRect, cdGetFont,</b> <strong>cdGetStipple</strong>, <strong>cdGetPattern</strong>, <strong>
+  cdTextBox</strong><br>
+  <b>&nbsp;cdPutImageRectRGB</b>, <b>cdPutImageRectRGBA</b>, <b>cdPutImageRectMap,</b> <br>
+  <b>&nbsp;cdCreateImageEx</b>, <b>cdKillImageEx</b>, <b>cdPutImageEx</b>, <b>cdGetImageEx</b></font>. <br>
+  - New: WD functions: <font face="Courier New"><b>wdHardcopy, wdPattern, wdStipple, wdPixel, wdPutImageRect, 
+  wdPutImageRectRGB</b>, <b>wdPutImageRectRGBA</b> </font>and<font face="Courier New"> <b>wdPutImageRectMap</b></font>.
+  <br>
+  - New: vector text functions: <font face="Courier New"><strong>cdVectorFont, cdVectorTextDirection, 
+  cdVectorTextTransform, cdVectorTextSize, cdGetVectorTextSize, cdVectorCharSize, cdVectorText </strong></font>and<font face="Courier New"><strong> 
+  cdMultiLineVectorText</strong></font>.<br>
+  - <font face="Courier New"><b>wdActivate</b></font> is no longer necessary. <br>
+  <b>-</b> Driver IMAGERGB complete.<br>
+  - Driver SIMULATE no longer exists; now function <font face="Courier New"><strong>cdSimulate</strong></font> must be 
+  used. <br>
+  - New: driver DIRECTDRAW. <br>
+  - Policy change of <font face="Courier New"><b>cdPalette</b></font> in the X-Windows driver<br>
+  - IUP driver is now in a separate library.</li>
+</ul>
+<p>IMPORTANT NOTE: This version is not totally compatible to the previous one. The applications using the driver IUP 
+must be relinked, as this driver is now in a separate library, &quot;<strong>cdiup</strong>&quot;. The Lua applications must also 
+be modified to include a call to function <font face="Courier New"><strong>cdluaiup_open</strong></font> after
+<font face="Courier New"><strong>cdlua_open</strong></font>, and must be linked with the &quot;<strong>cdluaiup</strong>&quot; 
+library. The SIMULATE driver no longer exists, therefore the applications that used it must be modified to use the new 
+function, <font face="Courier New"><strong>cdSimulate</strong></font>, without the need for creating a new driver.</p>
+<ul>
+  <li>Changed: the internal structure of the library was changed once again. One of the purposes is to make the 
+  drivers become independent from the function table. With this change, adding a new function to the function table does 
+  not imply editing the old drivers. We also allowed the drivers not to implement functions that do not make sense in 
+  their context. Another modification simplifying the work in the drivers was to bring the attribute query mechanism to 
+  the library's control part, freeing the drivers from this obligation. Taking the chance, we determined that a change 
+  in an attribute to a value equal to the current one will not be effective, thus saving calls to the driver. Now, the 
+  value of an attribute is changed even if the driver function is not implemented, as the driver can query this 
+  attribute later on. The management of default values of the attributes is also done by the library's control part. All 
+  these changes prepare the library to a new philosophy: before, if a driver did not contain a certain feature, it 
+  simply did nothing. The new philosophy will be: if a driver does not contain a certain feature, then the simulation of 
+  this feature will be activated.</li>
+  <li>Changed: when a canvas which is already active is activated again, an internal driver function is now called, 
+  notifying an update instead of an activation.</li>
+  <li>Changed: the use of the CD canvas with a IUP canvas is better described in the manual, showing the various 
+  ways of treating the canvas creation prooblem.</li>
+  <li>Changed: all functions in the control module now have <font face="Courier New">ASSERT</font> directives. Thus, 
+  using the library with depuration information, one can better detect simple errors.</li>
+  <li>Changed: in order to use the IUP driver, it must be linked with the &quot;<strong>cdiup</strong>&quot; library, apart 
+  from the &quot;<strong>cd</strong>&quot; library (<font face="Courier New">cdiup.lib</font> in Windows, <font face="Courier New">
+  cdiuplib.a</font> in UNIX).</li>
+  <li>Changed: the IMAGERGB driver is now implemented using the simulation functions.</li>
+  <li>Changed: the <font face="Courier New"><b>cdMark</b></font> function is back to the function table, so that the 
+  drivers in which the primitive can be implemented can profit from it.</li>
+  <li>Changed: in order to assure that the use of server images is done only between canvases of the same driver, or 
+  of the same basic driver, an internal structure was defined for the server image containing the functions of the 
+  driver from which the image was created. Thus, if the <font face="Courier New"><b>cdKillImage</b></font> function is 
+  called with an active canvas of a different kind from that in which the image was created, the
+  <font face="Courier New"><b>KillImage</b></font> function of the correct driver will be called.</li>
+  <li>Changed: in the X-Windows driver, the XV code was used to optimize functions <font face="Courier New"><strong>
+  cdPutImageRectRGB</strong></font> and <font face="Courier New"><strong>cdPutImageRectMap</strong></font>.</li>
+  <li>Changed: the Lua binding was updated. Now the user guide contains Lua function together with C functions.</li>
+  <li>Changed: in the X-Windows driver, <font face="Courier New"><b>cdPalette</b></font>'s policy was changed to fulfill 
+  the requirements of some applications, which wanted to force a palette. Please see the function's documentation in the 
+  driver.</li>
+  <li>Changed: the CGM driver used to always store the <font face="Courier New"><strong>cdForeground</strong></font> 
+  attribute before drawing a primitive; now it stores the attribute only when it is changed. The
+  <font face="Courier New"><strong>cdBackOpacity</strong></font> function was not implemented. The
+  <font face="Courier New"><strong>cdFlush</strong></font> function was not preserving the canvas attributes. Now when 
+  the canvas size is not specified in the <font face="Courier New"><strong>cdCreateCanvas</strong></font> function, the 
+  VDC Extension saved to the file is the figure's bounding rectangle. The patterns and/or stipples selected were being 
+  stored in a way so that only the first one was valid.</li>
+  <li>Changed: the documentation of the old DOS driver was removed from the user guide.</li>
+  <li>Changed: the default resolution for drivers DGN, DXF, METAFILE, CGM and ImageRGB is no longer 1 but 3.8 points per 
+  mm (96 DPI).</li>
+  <li>Changed: in the <font face="Courier New"><b>cdInteriorStyle</b></font> function, if stipple or pattern are not 
+  defined, the state of the attribute is not modified. There is no longer a default 32x32 pattern or stipple.</li>
+  <li>Changed: in functions <font face="Courier New"><b>cdFontDim</b></font> and <font face="Courier New"><b>cdTextSize</b></font>, 
+  if the driver does not support this kind of query, the values are estimated.</li>
+  <li>Changed: function <font face="Courier New"><b>cdHatch</b></font> now returns the previous value.</li>
+  <li>Changed: function <font face="Courier New"><b>cdScrollImage</b></font> is now called <font face="Courier New"><b>
+  cdScrollArea</b></font>, better reflecting its functionality, since it does not require any explicitly defined image 
+  to be performed. The old function is maintained to assure compatibility with old applications.</li>
+  <li>Changed: the <font face="Courier New"><b>cdPlay</b></font> function now accepts all window parameters null. In this 
+  case, the primitives in the file are interpreted without scaling.</li>
+  <li>Changed: <font face="Courier New"><b>cdFont</b></font>now accepts font sizes in pixels when negative values are 
+  used as a parameter.</li>
+  <li>Changed: the WD functions were included in the library's function table, so that the drivers can use floating point 
+  precision when storing primitives. Presently, only the drivers PS and METAFILE have this resource directly 
+  implemented. With this change, the <font face="Courier New"><b>wdActivate</b></font> function became obsolete and is 
+  no longer necessary. For purposes of compatibility with other applications, it was maintained only as a call to 
+  function <font face="Courier New"><b>cdActivate</b></font>.</li>
+  <li>Changed: drivers EMF and WMF now accept the resolution as a parameter.</li>
+  <li>New: internal modification of the Windows driver to allow the creation of the DirectDraw driver.</li>
+  <li>New: DirectDraw driver to accelerate video access to high-performance applications.</li>
+  <li>New: function <font face="Courier New"><b>cdInteriorStyle</b></font> now accepts style <font face="Courier New">
+  CD_HOLLOW</font>. When this style is defined, the <font face="Courier New"><b>cdBox</b></font> and
+  <font face="Courier New"><b>cdSector</b></font> functions behave like their equivalents <font face="Courier New"><b>
+  cdRect</b></font> and <font face="Courier New"><b>cdArc</b></font>, and the polygons with the <font face="Courier New">
+  CD_FILL</font> style behave like <font face="Courier New">CD_CLOSED_LINES</font>.</li>
+  <li>New: new functions:<br>
+  - <font face="Courier New"><b>cdCreateCanvasf</b></font> accepts parameters equivalent to <font face="Courier New"><b>
+  sprintf</b></font>, helping in the creation of some canvases.<br>
+  - <font face="Courier New"><b>cdOrigin</b></font> allows translating the origin - for instance, to the center of the 
+  canvas.<br>
+  - <font face="Courier New"><b>cdGetContext</b></font> returns the context of a given canvas; it can be compared with 
+  predefined contexts, such as &quot;<font face="Courier New">CD_PS</font>&quot;.<br>
+  - <strong><font face="Courier New">cdSaveState</font> </strong>and<strong> <font face="Courier New">cdRestoreState</font></strong> 
+  allow saving and restoring the state of attributes of the active canvas.<br>
+  <strong>- <font face="Courier New">cdSetAttribute</font> </strong>and<strong> <font face="Courier New">cdGetAttribute</font></strong> 
+  allow passing customized attributes to the driver, which are ignored if the driver does not have the attribute 
+  defined.<br>
+  - <font face="Courier New"><strong>cdContextCaps</strong></font> returns a combination of several flags informing the 
+  available resources of the canvas in that context.<br>
+  - Driver SIMULATE no longer exists. Now function <font face="Courier New"><strong>cdSimulate</strong></font> must be 
+  used. The simulation can be activated and deactivated at any moment.<br>
+  - <font face="Courier New"><b>cdRect</b></font> and <font face="Courier New"><b>wdRect</b></font> allow drawing a box 
+  with no filling.<br>
+  - <font face="Courier New"><b>cdGetFont</b></font> returns the values of the font modified by function
+  <font face="Courier New"><b>cdFont</b></font> and ignores those modified by <font face="Courier New"><b>cdNativeFont</b></font>.<br>
+  - <font face="Courier New"><strong>cdTextBox</strong></font> returns the horizontal bounding rectangle of the text 
+  box, even if it is bended.<br>
+  - <font face="Courier New"><strong>cdGetStipple</strong></font> and <font face="Courier New"><strong>cdGetPattern</strong></font> 
+  return current stipple and pattern. With these functions and with function <font face="Courier New"><strong>cdGetFont</strong></font>, 
+  one can now totally change and restore the attributes of a given canvas.<br>
+  - <font face="Courier New"><b>wdPattern</b></font> and <font face="Courier New"><b>wdStipple</b></font> allow 
+  specifying the style in world coordinates. The size of the image is modified to the specified size in millimeters.<br>
+  - functions&nbsp; <font face="Courier New"><b>cdPutImageRectRGB</b>, <b>cdPutImageRectRGBA</b> and <b>
+  cdPutImageRectMap</b></font> allow specifying a rectangle in the image to be used for the drawing instead of the whole 
+  image.<br>
+  - <font face="Courier New"><b>wdPixel, wdPutImageRect</b>,<b> wdPutImageRectRGB</b>, <b>wdPutImageRectRGBA</b> </font>
+  and<font face="Courier New"> <b>wdPutImageRectMap</b></font> are equivalent to <font face="Courier New"><b>cdPixel</b>,<b> 
+  cdPutImageRect</b>,<b> cdPutImageRectRGB</b>, <b>cdPutImageRectRGBA</b> </font>and<font face="Courier New"> <b>
+  cdPutImageRectMap</b></font>, respectively, but the target coordinates are specified in world coordinates.<br>
+  - New: vector text functions: <font face="Courier New"><strong>cdVectorFont</strong>,<strong> cdVectorTextDirection</strong>,<strong> 
+  cdVectorTextTransform</strong>,<strong> cdVectorTextSize</strong>,<strong> cdGetVectorTextSize</strong>,<strong> 
+  cdVectorCharSize</strong>,<strong> cdVectorText</strong>,<strong> cdMultiLineVectorText</strong></font>. The vector 
+  text can now be used without the need of world coordinates. Functions <strong><font face="Courier New">wdVectorFont</font>
+  </strong>and<strong> <font face="Courier New">wdVectorTextTransform</font></strong> have become obsolete, though they 
+  still exist for compatibility reasons.<br>
+  - <font face="Courier New"><strong>wdHarcopy</strong></font> helps drawing WD primitives in devices, adjusting Window 
+  and Viewport.<br>
+  - Auxiliary functions were created to manipulate all sorts of images in a single way, being either client, RGB, RGBA, 
+  MAP, or server images: <font face="Courier New"><b>cdCreateImageEx</b>, <b>cdKillImageEx</b>, <b>cdPutImageEx</b>, <b>
+  cdGetImageEx</b></font>, etc.</li>
+</ul>
+<ul>
+  <li>Fixed: the documentation of function <font face="Courier New"><b>cdFont</b></font> was confusing, causing 
+  errors in the conversion from pixels to points.</li>
+  <li>Fixed: function <font face="Courier New"><b>wdFont</b></font> was making a wrong conversion of the font size 
+  parameter from millimeters to points.</li>
+  <li>Fixed: functions&nbsp; <font face="Courier New"><b>wdVectorText</b></font> and <font face="Courier New"><b>
+  wdMultiLineVectorText</b></font> were generating an extra polygon when the text contained blank spaces in certain 
+  positions.</li>
+  <li>Fixed: the PS driver was not prepared for marked texts. Function <font face="Courier New"><strong>cdFlush</strong></font> 
+  did not preserve current attributes. The interior style was affecting line drawing. The text alignment now takes into 
+  account an estimation for the baseline. Function <font face="Courier New"><strong>cdTextOrientation</strong></font> 
+  was implemented. The world coordinate functions were implemented directly in the driver. Hatch and stipple interior 
+  styles were implemented, but they are still only opaque.</li>
+  <li>Fixed: in the X-Windows driver, function <font face="Courier New"><b>cdGetColorPlanes</b></font> was 
+  returning 8 bpp even if the canvas was 24 bbp when the default visualization was different from the canvas' 
+  visualization in that X server. Text position on the screen was above the one entered. Function
+  <font face="Courier New"><b>cdFont</b></font> was looping in certain conditions. Function <font face="Courier New"><b>
+  cdEnd</b></font> in the X-Windows driver in the AIX system was generating an error and aborting the program if only 
+  one point of the polygon was specified. Dashed lines were always opaque, ignoring the <font face="Courier New">
+  <strong>cdBackOpacity</strong></font> attribute.</li>
+  <li>Fixed: in the Clipboard driver for X-Windows, a parameter was missing which prevented it from working 
+  properly. Before the update, it used that of the IUP/Native Window active canvas.</li>
+  <li>Fixed: in the Windows driver, the text position on the screen was above the position provided. Filled 
+  polygons had a one pixel error to the right and below due to the small <font face="Courier New">NULL</font> used. 
+  Fillings with hatch, pattern and stipple still contain errors. The internal simulation of polygons filled with pattern 
+  and stipple was also corrected; they had one additional pixel to the right and below. Text alignment treatment was 
+  improved.</li>
+  <li>Fixed: driver WMF now has text alignment.</li>
+  <li>Fixed: in the PRINTER (Windows) driver, function<font face="Courier New"><strong> cdFlush</strong></font> was 
+  not preserving current attributes.</li>
+  <li>Fixed: in the CGM driver, the text align interpretation was corrected. The <font face="Courier New"><strong>
+  cdMark</strong></font> function is implemented directly in the driver. Function <font face="Courier New"><strong>
+  cdBackOpacity</strong></font> was implemented. Mark interpretation was also corrected.</li>
+  <li>OPTIMIZATION: function <font face="Courier New"><b>wdVectorFont</b></font> only loads the new font if it is 
+  different from the current one.</li>
+  <li>OPTIMIZATION: function <font face="Courier New"><b>cdMark</b></font> now modifies fill and line attributes only if 
+  they are different from the one needed to draw the mark.</li>
+</ul>
+<h3>Version 3.6 (05/May/98)</h3>
+<ul>
+  <li>Fixed: / Win32: every time the clipping region changed the old region was not deleted.</li>
+  <li>New: new function <font face="Courier New"><strong>cdRGB2Map</strong></font>, which converts an RGB image into a 
+  256 indexed-colors image. It is the same algorithm used in the IM library - in fact, it is the same code.</li>
+  <li>Changed: the <font face="Courier New"><strong>cdMark</strong></font> function now uses the <strong>
+  <font face="Courier New">cdPixel</font></strong> function when drawing a mark of 1 pixel size.</li>
+  <li>Changed: / Win32: the <font face="Courier New"><strong>cdPixel</strong></font> function now uses the <strong>
+  <font face="Courier New">SetPixelV</font></strong> function when not under Win32s. This function is faster than the
+  <strong><font face="Courier New">SetPixel</font></strong> function because it does not return the old value.</li>
+  <li>Changed: / Win32: the polygon used for clipping is now optimized to not include 3 points that are in the same 
+  horizontal or vertical line.</li>
+  <li>Fixed: / WD: the <font face="Courier New"><strong>wdVectorText</strong></font> function was not drawing 
+  correctly when extended characters (&gt;128) were used.</li>
+  <li>Fixed: / X: the <font face="Courier New"><strong>cdPalette</strong></font> function and the color management 
+  for canvases with only 256 colors were wrong. Each canvas had its own management, now all canvases in the same 
+  aplication use the same management.</li>
+  <li>Fixed: / X: several resource and memory leaks were corrected.</li>
+  <li>Fixed: / IMAGERGB: functions <font face="Courier New"><strong>cdRedImage</strong></font>,
+  <font face="Courier New"><strong>cdGreenImage</strong></font> and <font face="Courier New"><strong>cdBlueImage</strong></font> 
+  were not returning the correct pointer.</li>
+  <li>Fixed: / SunOS: drivers IMAGERGB, SIMULATE and NATIVEWINDOW use&nbsp; the &quot;%p&quot; format string, but in the SunOS 
+  they use &quot;%d&quot; because of an internal bug of the run time library of this OS.</li>
+  <li>Changed: / IUP: driver IUP sets the <strong><font face="Courier New">cdCanvas</font></strong> function as an 
+  attribute of the <strong><font face="Courier New">IupCanvas</font></strong> passed as a parameter using the name 
+  &quot;_CD_CANVAS&quot;.</li>
+  <li>MANUAL: the manual appearance was changed to match the new Tecgraf standard.</li>
+</ul>
+<h3>Version 3.5 (07/Jan/98)</h3>
+<ul>
+  <li>New: the <font face="Courier New"><strong>cdTextDirection</strong></font> function allows raster text to be drawn 
+  in any direction. Up to now it is implemented only in the basic Win32 driver.</li>
+  <li>Fixed: / X / NativeWindow: the canvas was not created if the screen was 0.</li>
+  <li>Fixed: / Win32 / NativeWindow: now the driver considers the existence of non owner-draw device contexts.</li>
+  <li>Fixed: / Win32: function <font face="Courier New"><strong>cdClipArea</strong></font> was not including
+  <font face="Courier New">xmax</font> and <font face="Courier New">xmin</font> in the clipping area.</li>
+  <li>Changed: the <font face="Courier New"><strong>cdCallback</strong></font> typedef was defined, being useful for 
+  type casting when calling the <font face="Courier New"><strong>cdRegisterCallback</strong></font> function.</li>
+  <li>Fixed: / Win32: a compatibility problem with the <font face="Courier New"><strong>cdNativeFont</strong></font> 
+  string and the <font face="Courier New">WINFONT IUP</font> attribute was corrected.</li>
+  <li>Changed: / Win32: the <font face="Courier New"><strong>cdPutImageRGB</strong></font> and
+  <font face="Courier New"><strong>cdPutImageMap</strong></font> functions use a cache memory for best performance.</li>
+  <li>Fixed: text size estimation for the CGM and PS drivers now uses Courier 
+  New: as the &quot;System&quot; font. As it was, 
+  it was causing a memory invasion.</li>
+</ul>
+<h3>Version 3.4 (12/Nov/97)</h3>
+<ul>
+  <li>Changed: / X: memory use of the <font face="Courier New"><strong>cdPutImageRGB</strong></font>,
+  <font face="Courier New"><strong>cdPutImageRGBA</strong></font> and <font face="Courier New"><strong>cdPutImageMap</strong></font> 
+  functions was optimized, as well as the performance of the <font face="Courier New"><strong>cdPutImageMap</strong></font> 
+  function.</li>
+  <li>Changed: / X and Win32: when the canvas has bpp &lt;= 8, function <strong><font face="Courier New">cdPutImageRGB</font>
+  </strong>converts the image into Map before displaying it.</li>
+  <li>Changed: / X and Win32: if a font's parameters are the same as the current parameters, the
+  <font face="Courier New"><strong>cdFont</strong></font> function does nothing.</li>
+  <li>DOC / PS: the &quot;-d&quot; parameter for the EPS option was not documented.</li>
+  <li>Fixed: / PS: parameters &quot;-w&quot; and &quot;-h&quot; were incorrectly interpreted.</li>
+  <li>Fixed: / X: the internal function names were generating an error in the VMS plataform.</li>
+  <li>Fixed: / X: the <font face="Courier New"><strong>cdKillCanvas</strong></font> function was freeing some 
+  pointers of the active canvas.</li>
+  <li>Changed: / Win32: the <font face="Courier New"><strong>cdVertex</strong></font> function now ignores duplicate 
+  points.</li>
+  <li>Changed: / Win32: the <font face="Courier New"><strong>cdNativeFont</strong></font> function also accepts the 
+  font string of the <font face="Courier New">WINFONT IUP</font> attribute.</li>
+  <li>Fixed: / DXF: corrections in color conversion and in the <strong><font face="Courier New">cdArc</font></strong> 
+  function for small radius were made, and an unnecessary identation was removed.</li>
+</ul>
+<h3>Version 3.3 (19/Sep/97)</h3>
+<ul>
+  <li>Changed: / X: the <strong><font face="Courier New">cdFont</font></strong> function now has a better heuristic 
+  to find a closer font if the requested font does not match an available one.</li>
+  <li>Changed: / X: the <strong><font face="Courier New">cdPattern</font></strong> and <strong>
+  <font face="Courier New">cdStipple</font></strong> functions now use a bitmap cache to store the <em>pixmap</em> and 
+  do not recreate it if the size is not changed.</li>
+  <li>Fixed: / X and Win32: the <strong><font face="Courier New">cdPutImageRect</font></strong> function was placing 
+  the bitmap in a wrong position.</li>
+  <li>Fixed: / Win32: the <strong><font face="Courier New">cdCreateImage</font></strong> function did not return
+  <font face="Courier New">NULL</font> when the creating failed.</li>
+  <li>Changed: / Win32: the <font face="Courier New"><strong>cdPutImageRGB</strong></font>, <font face="Courier New">
+  <strong>cdPutImageRGBA</strong></font> and <font face="Courier New"><strong>cdPutImageMap</strong></font> functions 
+  were largely optimized when the picture displayed is larger than the screen.</li>
+  <li>Changed: / WMF: using the <font face="Courier New"><strong>cdPlay</strong></font> function we discovered that 
+  the size of the picture was incorrect in the header file, so we first had to calculate the bounding box and then 
+  interpret the picture.</li>
+  <li>Changed: / PS and CGM: now the <font face="Courier New"><strong>cdFontDim</strong></font> and
+  <font face="Courier New"><strong>cdTextSize</strong></font> functions return approximate dimensions, instead of 
+  nothing.</li>
+  <li>Fixed: / PS: the default font was not being set when the canvas was created.</li>
+  <li>Fixed: / PS: text alignment was incorrect in the vertical direction.</li>
+  <li>Fixed: / SIM: the clipping algorithm of the <font face="Courier New"><strong>cdPixel</strong></font> function 
+  of the Simulation driver was corrected.</li>
+  <li>Fixed: / CD: now you can activate a <font face="Courier New">NULL</font> canvas. When you get the active 
+  canvas and restore it, if it was <font face="Courier New">NULL</font> the <strong><font face="Courier New">cdActivate</font></strong> 
+  function was accessing an invalid pointer.</li>
+  <li>MANUAL: several changes were made on the online manual structure, and were added to the CDLua page.</li>
+</ul>
+<h3>Version 3.2</h3>
+<ul>
+  <li>A problem in the <font face="Courier New"><strong>cdFlush</strong></font> function in the Postscript driver was 
+  corrected. It was not setting the scale.</li>
+  <li>Functions <font face="Courier New"><strong>wdFontDim</strong></font> and <font face="Courier New"><strong>
+  wdTextSize</strong></font> now check if the return pointers are not <font face="Courier New">NULL</font>.</li>
+  <li>An internal function in the DGN driver was drawing an ellipse with two times the axis size.</li>
+  <li>The <font face="Courier New"><strong>cdFont</strong></font> function was corrected to store the font names in the 
+  CGM driver.</li>
+</ul>
+<h3>Version 3.1</h3>
+<ul>
+  <li>Several minor bugs in the Win32 Printer driver and in the Postscript driver were corrected. The EPS mode of the PS 
+  driver now generates a &quot;showpage&quot; PS function so it can be printed.</li>
+  <li>The Clipboard driver was implemented in Motif. The <font face="Courier New"><strong>cdPlay</strong></font> 
+  function was implemented in the Motif and Win32 Clipboard drivers.</li>
+  <li>The <font face="Courier New"><strong>cdRegisterCallback</strong></font> function was added to allow the 
+  customization of the <font face="Courier New"><strong>cdPlay</strong></font> function's behavior.</li>
+  <li>The <font face="Courier New"><strong>wdVectorTextTransform</strong></font> function allows a 2D transformation 
+  applied to any vector text.</li>
+  <li>Now the Simulation driver has several levels of simulation, and the simulation was improved with pattern and 
+  clipping simulation.</li>
+</ul>
+<h3>Version 3.0</h3>
+<ul>
+  <li>The library's architecture underwent several changes. The function tables are no longer public, only the drivers 
+  know its structure. This means that we have eliminated the need to recompile applications that use the dynamic library 
+  when we change something in the function table. There are some other benefits, like the fact that the Windows DLL can 
+  now be implemented and that it is more simple to explain the library to new users, so they will not be confused by the
+  <font face="Courier New">cdprivat.h</font> header.</li>
+  <li>Corrections to the text alignment of the <font face="Courier New"><strong>wdVectortext</strong></font> function 
+  were made.</li>
+  <li>Memory allocation of the <font face="Courier New"><strong>cdPattern</strong></font> and <font face="Courier New">
+  <strong>cdStipple</strong></font> functions in the basic Windows driver was corrected.</li>
+  <li>Memory release of the <font face="Courier New"><strong>cdKillCanvas</strong></font> function in the basic Windows 
+  driver was corrected.</li>
+  <li>The <font face="Courier New"><strong>cdPattern</strong></font> function was implemented in the Postscript driver, 
+  and the <font face="Courier New"><strong>cdPutImageRGB</strong></font> and <font face="Courier New"><strong>
+  cdPutImageMap</strong></font> functions now write color images.</li>
+  <li>The <font face="Courier New"><strong>cdPattern</strong></font> function was corrected in the basic X-Windows 
+  driver for use with clipping.</li>
+  <li>The compiler directive <font face="Courier New">#include&lt;<strong>malloc.h</strong>&gt;</font> was changed to
+  <font face="Courier New">#include&lt;<strong>stdlib.h</strong>&gt;</font> in several modules for better compatibility with 
+  other compilers.</li>
+  <li>The <font face="Courier New"><strong>cdPlay</strong></font> function now accepts the viewport rectangle where the 
+  drawing will be rendered.</li>
+  <li>Several navigation changes were made to the user guide pages.</li>
+  <li>A <strong>new</strong> CD_SIMULATE driver was created. Use it to replace some primitives and to handle attributes 
+  of another driver. It can be used with any other driver. Basically, it substitutes the interior style of dependent 
+  primitives: box, sector and filled polygons. It also substitutes the clipping methods of these primitives.</li>
+  <li>The Windows DLL version of the library was created.</li>
+</ul>
+<h3>Version 2.2.1</h3>
+<ul>
+  <li>Interrnal macros that affect <font face="Courier New"><strong>wdArc</strong></font> and <font face="Courier New">
+  <strong>wdSector</strong></font> were corrected.</li>
+  <li>The CGM driver now supports some client image functions.</li>
+  <li>Hatch styles in the Image RGB driver were corrected.</li>
+</ul>
+<h3>Version 2.2.0</h3>
+
+  <p><strong>New: Functions:</strong></p>
+  
+    <p><font face="Courier New"><strong>cdVersion</strong></font> - returns the current library version.<br>
+    <font face="Courier New"><strong>cdNativeFont</strong></font> - sets a native font.<br>
+    <font face="Courier New"><strong>cdPutImageRect</strong></font> - same as <strong><font face="Courier New">
+    cdPutImage</font></strong> but you may specify a part of the image.<br>
+    <font face="Courier New"><strong>cdPutImageRGBA</strong></font> - <strong><font face="Courier New">cdPutImageRGB</font></strong> 
+    with transparency.<br>
+    <font face="Courier New"><strong>wdFont</strong></font> - <strong><font face="Courier New">cdFont</font></strong> 
+    for the WD client, the size parameter is in millimeters.</p>
+  
+  <p><strong>New: Drivers:</strong></p>
+  
+    <p><strong>NativeWindow</strong> - now the library can work with other Interface libraries.<br>
+    <strong>DGN</strong> - MicroStation Design File.<br>
+    <strong>EMF</strong> - Windows Enhanced Metafile.<br>
+    <strong>CD Metafile</strong> - our own metafile.<br>
+    <strong>Client Image RGB</strong> - now you can write in an RGB image.</p>
+  
+
+<ul>
+  <li><strong>DGN</strong>, <strong>CGM</strong> and <strong>DXF</strong> file-based drivers now have a default size in 
+  pixels (<strong>INT_MAX</strong> = 2.147.483.647) and are optional. In fact the size is irrelevant in these file 
+  formats. The <font face="Courier New"><strong>cdCreateCanvas</strong></font> data string may contain the size in 
+  millimeters and the resolution in pixels per millimeters. Both are real values. The default resolution is 1.</li>
+  <li>The <font face="Courier New"><strong>cdPlay</strong></font> function now works on the CGM and on the CD Metafile 
+  drivers.</li>
+  <li>The interior style attributes were implemented in the <strong>CGM</strong> driver.</li>
+  <li>On the Clipboard driver: limitations are considered if creating a WMF under Win32s.</li>
+  <li>Now the Printer Driver shows the Printer's Dialog Box (Win32 &amp; Mac) if the parameter &quot;-d&quot; is specified.</li>
+  <li>On the PS driver: all the dimensions in the Data parameter string are now in millimeters.</li>
+  <li>On the WMF driver: several functions were disabled because of WMF limitations. Picture size was corrected.</li>
+  <li>On the basic X-Windows driver: <font face="Courier New"><strong>cdLineWidth</strong>(1)</font> uses
+  <font face="Courier New">width 0</font> for better performance. Stipple was being incorrectly interpreted.
+  <font face="Courier New"><strong>cdGetImageRGB</strong></font> was swapping red and blue channels on true color 
+  canvas.</li>
+  <li>The clipping region now can be a polygon on some systems/drivers (Win32, Mac, X-Win and PS). Use
+  <font face="Courier New"><strong>cdClip</strong>(CD_CLIPPOLYGON)</font> to use the polygon defined by a
+  <font face="Courier New"><strong>cdBegin</strong>(CD_CLIP)</font>,<font face="Courier New"> <strong>cdVertex</strong>(...)</font>,<font face="Courier New">
+  <strong>cdEnd</strong>()</font> sequence.</li>
+  <li>The functions <strong><font face="Courier New">wdMM2Pixel</font></strong> and <strong><font face="Courier New">
+  wdPixel2MM</font></strong> became <font face="Courier New"><strong>cdMM2Pixel</strong></font> and
+  <font face="Courier New"><strong>cdPixel2MM</strong></font>, respectively.</li>
+  <li>Minor bugs in the <font face="Courier New"><strong>wdFontDim</strong></font>, <font face="Courier New"><strong>
+  wdLineWidth</strong></font> and <font face="Courier New"><strong>wdMarkSize</strong></font> functions were corrected.</li>
+  <li><font face="Courier New"><strong>wdVectorCharSize</strong></font> now returns the previous value.</li>
+</ul>
+<h3>Up to Version 2.1</h3>
+<ul>
+  <li>The <font face="Courier New"><strong>cdActiveCanvas</strong></font>, <font face="Courier New"><strong>cdPlay</strong></font> 
+  and the <font face="Courier New"><strong>wdVectorFont</strong></font> functions were added, and the
+  <font face="Courier New"><strong>cdKillCanvas</strong></font> function was corrected when destroying the current 
+  canvas.</li>
+  <li>The <font face="Courier New"><strong>cdMark</strong></font> function no longer depends on line style, line width 
+  and interior style attributes, and it is the same for all drivers because it is implemented only with CD functions.</li>
+  <li>The <font face="Courier New"><strong>wdLineWidth</strong></font> and <font face="Courier New"><strong>wdMarkSize</strong></font> 
+  functions now use millimeters.</li>
+  <li>The functions <font face="Courier New"><strong>cdEncodeColor</strong></font> and <font face="Courier New"><strong>
+  cdDecodeColor</strong></font> now can be called without an active canvas. The DXF driver was added.</li>
+  <li>WD can now access files with vector font definitions.</li>
+  <li>Minor bugs in the <font face="Courier New"><strong>wdTextSize</strong></font> function were corrected.</li>
+</ul>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/html/en/home.html b/html/en/home.html
new file mode 100644
index 0000000..1e3c084
--- /dev/null
+++ b/html/en/home.html
@@ -0,0 +1,32 @@
+<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<title>Home</title>
+<link rel="stylesheet" type="text/css" href="../style.css">
+</head>
+
+<body>
+
+<div class="homeTitle">CD</div>
+<div class="homeDescription">Canvas Draw, A 2D Graphics Library</div>
+<div class="homeVersion">Version 5.1</div>
+    <hr>
+
+  <p><strong>CD</strong> (Canvas Draw) is a platform-independent graphics library. It is implemented in several 
+  platforms using native graphics libraries: Microsoft Windows (GDI) and X-Windows (XLIB).</p>
+  <p>The library contains functions to support both vector and image applications, and the visualization surface can be 
+  either a window or a more abstract surface, such as Image, Clipboard, Metafile, PS, and so on.</p>
+  <p>This work was developed at Tecgraf/PUC-Rio by means of the partnership with PETROBRAS/CENPES.</p>
+ 
+    <h2>Project Management:</h2>
+
+    <p class="info">Antonio Esca�o Scuri</p>
+
+<p style="margin-left:0">Tecgraf - Computer Graphics Technology Group, PUC-Rio, Brazil <br>
+<a href="http://www.tecgraf.puc-rio.br/cd">http://www.tecgraf.puc-rio.br/cd</a> </p>
+
+</body>
+
+</html>
diff --git a/html/en/internal.html b/html/en/internal.html
new file mode 100644
index 0000000..d919b84
--- /dev/null
+++ b/html/en/internal.html
@@ -0,0 +1,207 @@
+<html>
+
+<head>
+<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+<title>Internal Architecture</title>
+<link rel="stylesheet" type="text/css" href="../style.css">
+</head>
+
+<body>
+
+<h1>Internal Architecture</h1>
+
+<h3>Modularity</h3>
+
+
+  <p>Apart from the several drivers, the CD library is composed of a few modules, the public
+  header files <b>cd.h</b> and <b>wd.h</b>, those which implement the functions
+  independently from drivers,<b> cd*.c</b> and <b>wd.c</b>, and the header file <b>cd_private.h</b>,
+  apart from some other modules which implement non-exported specific functions. Such
+  modules are totally independent from the implemented drivers, as well as every driver
+  independs from one another, unless there is an intentional dependency.</p>
+
+
+<h3>Linking</h3>
+
+
+  <p>Since the drivers independ from one another, we could create a library for each of
+  them. For the drivers provided with CD it was easy to include them in their own library,
+  thus simplifying the application's linking process. Note: Internally, the drivers are
+  called &quot;context&quot;.</p>
+  <p>In order to establish this dependency, when creating a canvas in a given driver the
+  user must specify the driver to be used. This specification is done by means of a macro
+  which is actually a function with no parameter, which passes the function table from that
+  driver to the canvas creation function. For instance:</p>
+  
+    <pre><b>CD_PS</b> <em>(is in fact)</em> cdContextPS()
+cdCreateCanvas(<b>CD_PS</b>, &quot;teste.ps&quot;); <em>(will do)</em> canvas-&gt;<b>Line</b> = context-&gt;<b>Line</b></pre>
+<p>If the context function is not invoqued then that driver does not need to be 
+linked with the application. This is usefull if the application uses a custom 
+build of the CD library and usefull for additional drivers not included in the 
+main library, like IUP and PDF, that have external dependencies.</p>
+  
+
+
+<h3>Structures</h3>
+
+
+  <p>The core implementation defines the structures declared in the cd.h header. 
+  But declares an undefined structure called cdCtxCanvas. This structure is 
+  defined in each driver according to their needs. But the first member of this 
+  structure must be a pointer to the cdCanvas structure.</p>
+  <p>The drivers need not to implement all functions from the function table, 
+  only a few are required.</p>
+  <p>Here is the definition of the cdContext and cdCanvas structures:&nbsp; </p>
+  <table BORDER="1" CELLPADDING="5">
+    <tr>
+      <td><pre>struct <b>_cdContext
+</b>{
+  unsigned long caps;
+
+  /* can NOT be NULL */
+  void (*CreateCanvas)(cdCanvas* canvas, void *data);
+  void (*InitTable)(cdCanvas* canvas);
+
+  /* can be NULL */
+  int (*Play)(cdCanvas* canvas, int xmin, int xmax, int ymin, int ymax, void *data); 
+  int (*RegisterCallback)(int cb, cdCallback func);
+};</pre>
+      </td>
+    </tr>
+    <tr>
+      <td><pre>struct <b>_cdCanvas
+</b>{
+&nbsp; ...
+&nbsp; void (*Line)(cdCtxCanvas* ctxcanvas, int x1, int y1, int x2, int y2);
+&nbsp; void (*Rect)(cdCtxCanvas* ctxcanvas, int xmin, int xmax, int ymin, int ymax);
+&nbsp; void (*Box)(cdCtxCanvas* ctxcanvas, int xmin, int xmax, int ymin, int ymax);
+&nbsp; ...
+
+&nbsp; ...
+&nbsp; int mark_type, mark_size;
+&nbsp; int line_style, line_width;
+&nbsp; int interior_style, hatch_style;
+&nbsp; ...
+
+  cdVectorFont* vector_font;
+  cdSimulation* simulation;
+  cdCtxCanvas* ctxcanvas;     // context dependent defintion
+  cdContext* context;
+};</pre>
+      </td>
+    </tr>
+  </table>
+
+
+
+  <p>Internally each driver defines its cdCtxCanvas strcuture:</p>
+<pre>struct _cdCtxCanvas 
+{
+  cdCanvas* canvas;
+
+  char* filename; 
+
+  int last_line_style;
+  int last_fill_mode;
+  FILE* file;
+};</pre>
+<p>Then it must implement the cdcreatecanvas and cdinittable functions:</p>
+<pre>/* In the driver implementation file */
+
+static void cdcreatecanvas(cdCanvas *canvas, void *data)
+{
+  cdCtxCanvas* ctxcanvas = (cdCtxCanvas *)malloc(sizeof(cdCtxCanvas));
+
+  // parse data parameters
+  ...
+
+  ctxcanvas-&gt;canvas = canvas;
+  canvas-&gt;ctxcanvas = ctxcanvas;
+
+  /* update canvas context */
+  canvas-&gt;w = (int)(w_mm * res);
+  canvas-&gt;h = (int)(h_mm * res);
+  canvas-&gt;w_mm = w_mm;
+  canvas-&gt;h_mm = h_mm;
+  canvas-&gt;bpp = 24;
+  canvas-&gt;xres = res;
+  canvas-&gt;yres = res;
+}
+
+static void cdinittable(cdCanvas* canvas)
+{
+  canvas-&gt;Flush = cdflush;
+  canvas-&gt;Clear = cdclear;
+  canvas-&gt;Pixel = cdpixel;
+  canvas-&gt;Line = cdline;
+  canvas-&gt;Poly = cdpoly;
+  ...
+ }
+
+static cdContext cdMetafileContext =
+{
+  CD_CAP_ALL &amp; ~(CD_CAP_GETIMAGERGB|CD_CAP_IMAGESRV|CD_CAP_REGION|CD_CAP_FONTDIM|CD_CAP_TEXTSIZE),
+  cdcreatecanvas,
+  cdinittable,
+  cdplay,
+  cdregistercallback,
+};
+
+cdContext* cdContextMetafile(void)
+{
+  return &amp;cdMetafileContext;
+}</pre>
+<p>To simplify driver administration, the context structure's linking is done as follows:</p>
+  
+    <pre>/* In the header file */
+#define <b>CD_METAFILE</b> <b><i>cdContextMetafile()
+</i>cdContext</b>* <b><i>cdContextMetafile</i></b>(void)
+</pre>
+  
+
+
+
+<h3>Attributes</h3>
+
+
+  <p>The query mechanism of an attribute is done in the core and does not
+  depends on the driver. Due to this fact, the attributes which are modified several times for the same
+  value are not updated in the drivers, thus saving processing. Similarly, if an attribute
+  modification in a driver was not successful, its value is not updated. Nevertheless, the
+  fact that a driver does not implement the attribute's modification function does not mean
+  that it rejects that attribute - the driver just does not need to do anything with this
+  attribute on that moment and will query it later, before drawing the primitive.</p>
+  <p>The creation of customized attributes for each driver is made generically, using
+  string-like attributes. A structure with the attribute's name and its <em>set</em> and <em>get</em>
+  functions must be declared, as in the example below:</p>
+  
+    <pre>static void set_fill_attrib(cdCtxCanvas* ctxcanvas, char* data)
+{
+  ctxcanvas-&gt;fill_attrib[0] = data[0];
+}
+
+static char* get_fill_attrib(cdCtxCanvas* ctxcanvas)
+{
+  return ctxcanvas-&gt;fill_attrib;
+}
+
+static cdAttribute fill_attrib =
+{
+  &quot;SIMPENFILLPOLY&quot;,
+  set_fill_attrib,
+  get_fill_attrib
+}; </pre>
+  
+  <p>At <em>createcanvas</em> in the driver: </p>
+  
+    <pre>ctxcanvas-&gt;fill_attrib[0] = '1';
+ctxcanvas-&gt;fill_attrib[1] = 0;
+
+cdRegisterAttribute(canvas, &amp;fill_attrib);</pre>
+  
+  <p>, for instance, must exist, thus initializing the attribute and registering it in the
+  canvas' attribute list.</p>
+
+
+</body>
+</html>
diff --git a/html/en/prod.html b/html/en/prod.html
new file mode 100644
index 0000000..391be97
--- /dev/null
+++ b/html/en/prod.html
@@ -0,0 +1,146 @@
+<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<title>CD</title>
+<link rel="stylesheet" type="text/css" href="../style.css">
+</head>
+
+<body>
+
+<h3><a name="Overview">Overview</a></h3>
+
+  <p>CD is a platform-independent graphics library. It is implemented in several 
+  platforms using native graphics libraries: Microsoft Windows (GDI and GDI+) 
+  and X-Windows (XLIB). </p>
+  <p>The library contains functions to support both vector and image 
+  applications, and the visualization surface can be either a canvas or a more 
+  abstract surface, such as Clipboard, Metafile, PS, and so on.</p>
+  <p>To make the Application Programmers Interface (API) simple, all data are 
+  standard C types (int, double or char). Thus the application program does not 
+  have to maintain parallel data structures to deal with the graphic library.
+  </p>
+  <p>Furthermore, the list of parameters of the CD primitive functions contains 
+  only the geometrical descriptions of the objects (line, circle, text, etc.). 
+  Where these objects should appear and what is the their color, thickness, etc. 
+  are defined as current state variables stored in the visualization surfaces. 
+  That is, the library is visualization-surface oriented, meaning that all 
+  attributes are stored in each visualization surface. </p>
+  <p>CD is free software, can be used for public and commercial applications.</p>
+
+<h3><a name="Availability">Availability</a></h3>
+
+  <p>The library is available for several <strong>compilers</strong>:</p>
+  <ul>
+    <li>GCC and CC, in the UNIX environment</li>
+    <li>Visual C++, Borland C++, Watcom C++ and GCC (Cygwin and MingW), in the 
+    Windows environment</li>
+  </ul>
+  <p>The library is available for several <strong>operating systems</strong>:</p>
+  <ul>
+    <li>UNIX (SunOS, IRIX, AIX, FreeBSD and Linux)</li>
+    <li>Microsoft Windows NT/2K/XP</li>
+  </ul>
+
+<h3><a name="Suport">Support</a></h3>
+
+  <p>The official support mechanism is by e-mail, using <u>
+  <a href="mailto:cd@tecgraf.puc-rio.br?subject=[CD]"><b>cd</b></a></u><a href="mailto:cd@tecgraf.puc-rio.br?subject=[CD]"><u><b>@tecgraf.puc-rio.br</b></u></a>. Before sending your 
+  message:</p>
+  <ul>
+    <li>Check if the reported behavior is not described in the user guide.</li>
+    <li>Check if the reported behavior is not described in the specific driver 
+    characteristics.</li>
+    <li>Check the History to see if your version is updated.</li>
+    <li>Check the To Do list to see if your problem has already been reported.</li>
+  </ul>
+  <p>After all of the above have been checked, report the problem, including in 
+  your message: <strong>function, element, driver, platform, and compiler.</strong></p>
+  <p>We host <b>CD</b> support features at <b><a href="http://luaforge.net/">
+  LuaForge</a></b>. It provides us Lists, News, CVS and Files. The <b>
+  CD</b> page at <b>LuaForge</b> is available at:
+  <a target="_blank" href="http://luaforge.net/projects/cdlib/">
+  http://luaforge.net/projects/cdlib/</a>.</p>
+  
+    <p align="left">The discussion list is available at:
+    <a href="http://lists.luaforge.net/mailman/listinfo/cdlib-users">
+    http://lists.luaforge.net/mailman/listinfo/cdlib-users</a>.<br>
+    Source code, pre-compiled binaries and samples can be downloaded at:
+    <a href="http://luaforge.net/frs/?group_id=88">
+    http://luaforge.net/frs/?group_id=88</a>.<br>
+    The CVS can be browsed at: <a href="http://luaforge.net/scm/?group_id=88">
+    http://luaforge.net/scm/?group_id=88</a>.</p>
+  
+  <p>If you want us to develop a specific feature for the library, Tecgraf is 
+  available for partnerships and cooperation. Please contact <u><b>tcg@tecgraf.puc-rio.br</b></u>.</p>
+  <p>Lua documentation and resources can be found at
+  <a href="http://www.lua.org/">http://www.lua.org/</a>.</p>
+
+<h3><a name="Acknowledgments">Credits</a></h3>
+
+  <p>This work was developed at Tecgraf by means of the partnership with 
+  PETROBRAS/CENPES.</p>
+  <p>Library Authors:</p>
+<ul>
+	<li>Marcelo Gattass</li>
+	<li>Luiz Henrique de Figueiredo</li>
+	<li>Luiz Fernando Martha</li>
+	<li>Antonio Scuri</li>
+</ul>
+  <p>Thanks to the people that worked and contributed to the library:</p>
+<ul>
+	<li>Alexandre Ferreira<br>
+	<li>André Derraik</li>
+	<li>Camilo Freire</li>
+	<li>Carlos Augusto Mendes</li>
+	<li>Carlos Cassino</li>
+	<li>Carlos Henrique Levy</li>
+	<li>Carolina Alfaro</li>
+	<li>Danilo Tuler</li>
+	<li>Diego Fernandes Nehab</li>
+	<li>Erick de Moura Ferreira</li>
+	<li>Marcelo Cohen</li>
+	<li>Milton Jonathan</li>
+	<li>Pedro Miller</li>
+	<li>Rafael Rieder</li>
+	<li>Renato Borges</li>
+	<li>Vinicius da Silva Almendra</li>
+</ul>
+  <p>We also thank the developers of the
+  <a target="_blank" href="http://www.freetype.org/">FreeType</a>,
+  <a href="http://www.ijg.org/">libJPEG</a> and
+  <a href="http://www.ssec.wisc.edu/~brianp/Mesa.html" target="_blank">Mesa</a> 
+  libraries, for making the source code available, which helped us improve our 
+  implementation of the Simulation driver and of the X-Windows driver. Thanks to 
+  Alan Richardson for the XVertex rotines. Thanks to 
+  Jason Perkins for the <a href="http://premake.sourceforge.net/">Premake</a> 
+  tool.</p>
+  <p>The CD distribution includes the FreeType library, this is a third party 
+  library not developed at Tecgraf. But its license is also free and have the 
+  same freedom as the <a href="copyright.html">Tecgraf Library License</a>. You 
+  can read the Free Type license and copyright in the file
+  <a href="freetype.txt">freetype.txt</a>. FreeType is copyright David Turner, 
+	Robert Wilhelm, and Werner Lemberg.</p>
+<p>Mesa X-Windows utilities source code copyright Brian Paul. libJPEG 
+quantization source code copyright Thomas G. Lane. XVertex rotines source code 
+copyright Alan Richardson.</p>
+<p>CD is registered at the National Institute of Intellectual Property in Brazil 
+(INPI) under the number 07571-1, and so it is protected against illegal use. See 
+the <a href="copyright.html">Tecgraf Library License</a> for further usage 
+information and Copyright.</p>
+
+<h3><a name="About">Documentation</a></h3>
+
+  <p>This library is available at
+  <a href="http://www.tecgraf.puc-rio.br/cd" target="_blank">
+  http://www.tecgraf.puc-rio.br/cd</a>.&nbsp;</p>
+  <p>The full documentation can be downloaded from the <a href="download.html">
+  Download Files</a>. The documentation is also available in Adobe Acrobat and Windows HTML Help formats.</p>
+  <p>The HTML navigation uses the WebBook tool, available at
+  <a href="http://www.tecgraf.puc-rio.br/webbook" target="_blank">
+  http://www.tecgraf.puc-rio.br/webbook</a>.</p>
+
+
+</body>
+
+</html>
diff --git a/html/en/samples.html b/html/en/samples.html
new file mode 100644
index 0000000..1759ddc
--- /dev/null
+++ b/html/en/samples.html
@@ -0,0 +1,99 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<title>Samples</title>
+<link rel="stylesheet" type="text/css" href="../style.css">
+</head>
+
+<body>
+
+<h1>Samples</h1>
+<h3><a name="Simple Draw">Simple Draw</a></h3>
+
+  <p>This is an example of a simple drawing program using a IUP canvas: </p>
+
+
+  
+    <pre>cdCanvas* canvas = cdCreateCanvas(CD_NATIVEWINDOW, IupGetAttribute(IupCanvas,&quot;CONID&quot;)); <br>cdCanvasLineStyle(canvas, CD_DASHED);<br>cdCanvasLine(canvas, 0, 0, 100, 100);<br>cdCanvasKillCanvas(canvas);</pre>
+  
+
+
+  <p>If you want to use <a name="World Coordinates"><strong>World Coordinates</strong></a>: </p>
+
+
+  
+    <pre>cdCanvas* canvas = cdCreateCanvas(CD_NATIVEWINDOW, IupGetAttribute(IupCanvas,&quot;CONID&quot;)); <br>wdCanvasViewport(canvas, 0, 100, 0, 100); <br>wdCanvasWindow(canvas, -1.5, 1.5, -3000, 3000); <br>cdCanvasLineStyle(canvas, CD_DASHED); <br>wdCanvasLine(canvas, -0.5, -500, 1.0, 1000); <br>cdKillCanvas(canvas);<code> </code></pre>
+  
+
+<h3><a name="Off Screen Drawing">Off Screen Drawing</a> (Double Buffering) </h3>
+
+  <p>To draw in the background and later on transfer the drawing to the screen, use: </p>
+
+
+  
+    <pre>cdCanvas* canvas = cdCreateCanvas(CD_NATIVEWINDOW, IupGetAttribute(IupCanvas,&quot;CONID&quot;)); <br>cdCanvas* db_canvas = cdCreateCanvas(CD_DBUFFER, canvas); cdCanvasActivate(db_canvas); // update canvas size, window could be resized<br>cdCanvasLineStyle(db_canvas, CD_DASHED); <br>cdCanvasLine(db_canvas, 10, 10, 50, 50); <br>cdCanvasFlush(db_canvas);  // swap to the window canvas <br>cdKillCanvas(db_canvas); <br>cdKillCanvas(canvas); </pre>
+  
+  <p>To draw in a RGB image, use:</p>
+  
+    <pre><code>cdCanvas* canvas = cdCreateCanvasf(CD_IMAGERGB, &quot;%dx%d&quot;, width, height);
+</code>cd<code>Canvas</code>LineStyle(<code>canvas, </code>CD_DASHED); 
+cd<code>Canvas</code>Line(<code>canvas, </code>10, 10, 50, 50); 
+unsigned char* red = cdCanvasGetAttribute(canvas, &quot;REDIMAGE&quot;);
+// do something with the raw image data
+cdKillCanvas(canvas); 
+</pre>
+  
+
+<h3>Lua Samples</h3>
+
+  <p>To draw in a RGB image in CDLua for Lua 5:</p>
+  
+    <pre>bitmap = cd.CreateBitmap(200,200,cd.RGB)
+canvas = cd.CreateCanvas(cd.IMAGERGB, bitmap)
+canvas:Font(&quot;Times&quot;, cd.BOLD, 12)
+canvas:Text(10, 10, &quot;Test&quot;)
+canvas:KillCanvas()</pre>
+  
+  <p>Check the file <a href="../download/samples_cdlua5.zip">samples_cdlua5.zip</a> or <a href="../download/samples_cdlua5.tar.gz">samples_cdlua5.tar.gz</a> for several samples in Lua. 
+	For some of them you will need also the IUP libraries.&nbsp; </p>
+
+<h3>Screen Capture in Windows</h3>
+
+  <p>Using a NULL parameter to the NATIVEWINDOW driver you can get access to the entire screen:</p>
+  
+    <pre>cdCanvas *canvas = cdCreateCanvas(CD_NATIVEWINDOW, NULL);
+cdCanvasGetSize(canvas, &amp;width, &amp;height, NULL, NULL);
+// allocate red, green and blue pointers
+cdCanvasGetImageRGB(canvas, red, green, blue, 0, 0, width, height);
+cdKillCanvas(canvas);</pre>
+  
+
+<h3>Generating an EMF file that contains an IM Image in Lua</h3>
+
+<pre>
+image = im.FileImageLoadBitmap(image_filename)
+canvas = cd.CreateCanvas(cd.EMF,emf_filename.." "..image:Width().."x"..image:Height())
+image:cdCanvasPutImageRect(canvas,0,0,0,0)
+cd.KillCanvas(canvas)
+</pre>
+  
+
+<h3><a name="Complete Example">Complete Example</a></h3>
+
+  <p>We have created an application called Simple Draw that illustrates the use of all functions in the CD library 
+  (including WD). You can see the source code in the <a href="../download/simple.c">simple.c</a> file, or take the file
+  <a href="../download/simple.zip">simple.zip</a> for a complete set of files including makefiles for all platforms. 
+  Extract the files creating subfolders, using parameter &quot;<font face="Courier New">-d</font>&quot;.</p>
+
+<h3>Example for Tests</h3>
+
+  <p>The <a href="../download/cdtest.zip">CDTEST</a> example is actually one of the applications used to test virtually 
+  all functions of the CD library. Its interface uses the IUP library, and it can run in several platforms. You can take 
+  either the .EXE files or the source code. Extract the files creating subfolders, using parameter &quot;<font face="Courier New">-d</font>&quot;. 
+  Warning: This application is not didactic. </p>
+
+
+</body>
+
+</html>
diff --git a/html/en/to_do.html b/html/en/to_do.html
new file mode 100644
index 0000000..e2b7299
--- /dev/null
+++ b/html/en/to_do.html
@@ -0,0 +1,86 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>To Do</title>
+<link rel="stylesheet" type="text/css" href="../style.css">
+<style type="text/css">
+.style1 {
+	color: #FF0000;
+}
+</style>
+</head>
+
+<body>
+
+<h1>To Do</h1>
+<h3>CD</h3>
+<ul>
+  <li class="style1">A new GDK base driver.</li>
+  <li>A new SVG driver.</li>
+  <li>libEMF in UNIX.</li>
+</ul>
+<h3>MAC</h3>
+<ul>
+  <li><font color="#008000">Build a native Mac OS X driver using Quartz 2D.</font></li>
+  <li>Macintosh Picture (PICT) file.</li>
+</ul>
+<h3>X-WIN</h3>
+<ul>
+  <li>Xp: X Printer Extension driver</li>
+  <li>XShm: Double Buffering and MIT-Shared Memory extensions for server images ?</li>
+  <li>XIE: X Imaging Extensions ?</li>
+  <li>Shape Extension and XShapeCombineMask to implement &quot;WINDOWRGN&quot; attribute 
+  (non rectangular windows from regions)</li>
+</ul>
+<h3>Simulation</h3>
+<ul>
+  <li>Implement line styles, line cap and line join for line with &gt; 1.</li>
+  <li>Improve Sector rasterization.</li>
+</ul>
+<h3>PS</h3>
+<ul>
+  <li>Allow functions <b><font face="Courier New">cdPutImageMap</font>...</b> to be implemented using <em>indexed color 
+  space</em>.</li>
+  <li>Check the possibility of <b><font face="Courier New">cdHatch</font></b> and <font face="Courier New"><b>cdStipple</b></font>, 
+  which are always opaque, having transparency, using <em>shading </em>from PS Version 3 or <em>mask images</em>. Same for
+  <font face="Courier New"><b>cdPutImageRGBA</b></font>.</li>
+</ul>
+<hr>
+
+  <h1 style="color: #FF0000">Not likely to be updated anymore, although they are still supported.</h1>
+
+<h3>DXF</h3>
+<ul>
+  <li>Implement Arch and Sector functions as DXF primitives, and not as polygons. Update all other primitives according 
+  to the new DXF manual, as there are several limitations in the current implementation.</li>
+</ul>
+<h3>CGM</h3>
+<ul>
+  <li>Make <strong><font face="Courier New">cdPlay</font></strong> treat the possibility of <font face="Courier New">
+  xmax</font> and <font face="Courier New">ymax</font> being 0.</li>
+  <li>Check the possibility of implementing function <b>cdTextOrientation</b>.</li>
+  <li>Implement World Coordinate functions directly in the driver.</li>
+  <li>Correct the <strong><font face="Courier New">cdPlay</font></strong> function, which is generating several extra 
+  lines.</li>
+  <li>Correct the <strong><font face="Courier New">cdPlay</font></strong> function, which should not preserve the aspect 
+  ratio.</li>
+  <li>Allow <strong><font face="Courier New">cdPutImageRGBA</font></strong> to be partially implemented using <em>
+  transparent cell color</em>.</li>
+</ul>
+<h3>DGN</h3>
+<ul>
+  <li>Improve the driver using the DGNlib third party library.</li>
+  <li>Implement the interior style attributes: <i>hatch</i>, <i>stipple</i> and<i> pattern</i>. They depend on the new 
+  DGN specification, which we do not have yet.</li>
+  <li>Check the possibility of implementing functions <font face="Courier New"><b>cdTextOrientation</b></font> and
+  <font face="Courier New"><b>cdRect</b></font>.</li>
+  <li>Correct function <font face="Courier New"><strong>cdKillCanvas</strong></font>, which generates &quot;<em>assertion 
+  failed</em>&quot; when the library is used with debug information and the Seed file is not included.</li>
+</ul>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/html/en/toolkits.html b/html/en/toolkits.html
new file mode 100644
index 0000000..d80c7af
--- /dev/null
+++ b/html/en/toolkits.html
@@ -0,0 +1,69 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
+<title>Other Toolkits</title>
+<link rel="stylesheet" type="text/css" href="../style.css">
+</head>
+
+<body>
+
+<h1>Comparing CD with Other Graphics Libraries</h1>
+
+  <p>There are other graphics libraries, with some portability among operational 
+  systems, available on the Internet. Among them we can highlight:</p>
+  <ul>
+    <li><strong>GKS</strong> - Very complete 2D and 3D graphics library, but 
+    with limited image resources. It is an ISO standard, and it implementations 
+    are usually commercial. Tecgraf has an implementation of GKS which is no 
+    longer used, being replaced by CD. <a href="http://www.bsi.org.uk/sc24/">
+    http://www.bsi.org.uk/sc24/</a>.<br>
+    --------------------</li>
+    <li><strong>Mesa</strong> - 3D graphics library with support to the OpenGL 
+    standard. Implemented in C. Aimed only at display, with attribute functions 
+    for illumination and shading features.
+    <a href="http://www.mesa3d.org/" target="_blank">http://www.mesa3d.org/</a>.</li>
+    <li><strong>OpenGL</strong> - 3D graphics library with some 2D support. 
+    Aimed only at display. A window CD canvas can coexist with an OpenGL canvas 
+    at the same time. Note: When Double Buffer is used, do not forget to swap 
+    buffer before redrawing with the CD library. <a href="http://www.opengl.org">
+    http://www.opengl.org</a>.<br>
+    --------------------</li>
+    <li><strong>GGI</strong> - 2D graphics library aimed only at display.
+    <a href="http://www.ggi-project.org/">http://www.ggi-project.org/</a>.</li>
+    <li><strong>GD</strong> - Library only for drawing on images, saves PNG 
+    files. Implemented in C. <a href="http://www.boutell.com/gd/">
+    http://www.boutell.com/gd/</a>.</li>
+    <li><strong>GDK</strong> - Used by the GTK user interface toolkit. 
+    Implemented in C. Aimed only at display, and contains several functions for 
+    managing windows, keyboard and mouse. <a href="http://www.gtk.org/">
+    http://www.gtk.org/</a>.</li>
+    <li><b>CAIRO</b> - A vector graphics library designed to provide 
+    high-quality display and print output. Very interesting, lots of functions, 
+    usually render in bitmaps on native systems. Display hardware acceleration is used 
+    almost only to display the bitmaps. Although it can reach high quality 
+    rendering.
+    <a href="http://cairographics.org/">http://cairographics.org/</a>.</li>
+    <li><strong>AGG</strong> - The AGG Project (Anti-Grain Geometry). High 
+    Fidelity 2D Graphics A High Quality Rendering Engine for C++. Renders to a 
+    bitmap then transfer it to the native system, just like Cairo. GNU GPL 
+    license.&nbsp; <a href="http://www.antigrain.com/">http://www.antigrain.com/</a> </li>
+  </ul>
+  <p>Most of them are aimed only at one type of driver, usually display or 
+  images, and sometimes user interface routines were also included. Others add 
+  3D drawing routines, as well as scene illumination routines. All this 
+  unnecessarily increases their complexity and does not make them more complete 
+  as 2D graphic libraries.</p>
+  <p>There are also several Graphics User Interface libraries that contain 
+  drawing functions, like Qt and wxWidgets. </p>
+  <p>As to performance, CD is as good as any other, in some cases having a 
+  better performance. Thus, the CD library offers unique features and quality as 
+  a portable 2D graphic library.</p>
+
+
+</body>
+
+</html>
diff --git a/html/img/align.gif b/html/img/align.gif
new file mode 100644
index 0000000..f3f0123
Binary files /dev/null and b/html/img/align.gif differ
diff --git a/html/img/arc.gif b/html/img/arc.gif
new file mode 100644
index 0000000..a9f9a0f
Binary files /dev/null and b/html/img/arc.gif differ
diff --git a/html/img/bezier.gif b/html/img/bezier.gif
new file mode 100644
index 0000000..0c99da6
Binary files /dev/null and b/html/img/bezier.gif differ
diff --git a/html/img/chord.gif b/html/img/chord.gif
new file mode 100644
index 0000000..ee5a50c
Binary files /dev/null and b/html/img/chord.gif differ
diff --git a/html/img/fillmode.gif b/html/img/fillmode.gif
new file mode 100644
index 0000000..fd968f4
Binary files /dev/null and b/html/img/fillmode.gif differ
diff --git a/html/img/font_dim.gif b/html/img/font_dim.gif
new file mode 100644
index 0000000..d69caa3
Binary files /dev/null and b/html/img/font_dim.gif differ
diff --git a/html/img/font_style.gif b/html/img/font_style.gif
new file mode 100644
index 0000000..4578282
Binary files /dev/null and b/html/img/font_style.gif differ
diff --git a/html/img/fonts.gif b/html/img/fonts.gif
new file mode 100644
index 0000000..5b8b047
Binary files /dev/null and b/html/img/fonts.gif differ
diff --git a/html/img/hatch.gif b/html/img/hatch.gif
new file mode 100644
index 0000000..9ab3c9b
Binary files /dev/null and b/html/img/hatch.gif differ
diff --git a/html/img/linecap.gif b/html/img/linecap.gif
new file mode 100644
index 0000000..f30a577
Binary files /dev/null and b/html/img/linecap.gif differ
diff --git a/html/img/linejoin.gif b/html/img/linejoin.gif
new file mode 100644
index 0000000..de65c54
Binary files /dev/null and b/html/img/linejoin.gif differ
diff --git a/html/img/lines.gif b/html/img/lines.gif
new file mode 100644
index 0000000..fecf136
Binary files /dev/null and b/html/img/lines.gif differ
diff --git a/html/img/marks.gif b/html/img/marks.gif
new file mode 100644
index 0000000..fcdbeda
Binary files /dev/null and b/html/img/marks.gif differ
diff --git a/html/img/opacity.gif b/html/img/opacity.gif
new file mode 100644
index 0000000..7272d17
Binary files /dev/null and b/html/img/opacity.gif differ
diff --git a/html/img/polygon.gif b/html/img/polygon.gif
new file mode 100644
index 0000000..91e4820
Binary files /dev/null and b/html/img/polygon.gif differ
diff --git a/html/img/regions.gif b/html/img/regions.gif
new file mode 100644
index 0000000..a82e085
Binary files /dev/null and b/html/img/regions.gif differ
diff --git a/html/img/sector.gif b/html/img/sector.gif
new file mode 100644
index 0000000..ff6632f
Binary files /dev/null and b/html/img/sector.gif differ
diff --git a/html/img/vector_text.gif b/html/img/vector_text.gif
new file mode 100644
index 0000000..7a5e130
Binary files /dev/null and b/html/img/vector_text.gif differ
diff --git a/html/img/vectorfont_default.png b/html/img/vectorfont_default.png
new file mode 100644
index 0000000..27e8085
Binary files /dev/null and b/html/img/vectorfont_default.png differ
diff --git a/html/img/vectorfont_simplex2.png b/html/img/vectorfont_simplex2.png
new file mode 100644
index 0000000..c87c752
Binary files /dev/null and b/html/img/vectorfont_simplex2.png differ
diff --git a/html/img/wc-dc.gif b/html/img/wc-dc.gif
new file mode 100644
index 0000000..d94899e
Binary files /dev/null and b/html/img/wc-dc.gif differ
diff --git a/html/index.html b/html/index.html
new file mode 100644
index 0000000..03d035c
--- /dev/null
+++ b/html/index.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<title>CD - Canvas Draw</title>
+</head>
+
+<frameset rows="51,*" frameborder="0" framespacing="0" bordercolor="#0B6DCE">
+  <frame name="wb_title" scrolling="no" noresize="noresize" src="wb_title.html" 
+         frameborder="0" marginheight="0" marginwidth="0" target="wb_cont">
+  <frameset cols="180,*" frameborder="1" framespacing="4" bordercolor="#0B6DCE" border="4">
+    <frameset rows="27,*" frameborder="0" framespacing="0" bordercolor="#0B6DCE">
+      <frame name="wb_bar" scrolling="no" src="wb_bar.html" frameborder="0" target="wb_cont">
+      <frame name="wb_tree" src="wb_tree.html" frameborder="1" target="wb_cont">
+    </frameset>
+    <frame name="wb_cont" src="en/home.html" frameborder="0">
+  </frameset>
+  <noframes>
+  <body>
+
+  <p>This page uses frames, but your browser doesn&#39;t support them.</p>
+
+  </body>
+  </noframes>
+</frameset>
+
+</html>
diff --git a/html/logo.gif b/html/logo.gif
new file mode 100644
index 0000000..295fb11
Binary files /dev/null and b/html/logo.gif differ
diff --git a/html/ssSearch.class b/html/ssSearch.class
new file mode 100644
index 0000000..a535c74
Binary files /dev/null and b/html/ssSearch.class differ
diff --git a/html/ssSearch.html b/html/ssSearch.html
new file mode 100644
index 0000000..ac67d30
--- /dev/null
+++ b/html/ssSearch.html
@@ -0,0 +1,22 @@
+<html>
+<head>
+<title>ssSearch</title>
+<link rel="stylesheet" type="text/css" href="style.css">
+</head>
+<body>
+<h3>Simple Search</h3>
+<blockquote>
+<center>
+  <applet code="ssSearch.class" width="640" height="480"> 
+    <param name="BGCOLOR" value="0B6DCE"> 
+    <param name="LISTAREACOLOR" value="ffffff">
+    <!--  Use "_self", "_blank", "_parent", "_top" or any other user-defined name -->
+    <param name="TARGETFRAME" value="_self">
+    <param name="DATAFILE" value="wb_search.txt">
+    <!-- The APPLETHOME param is just an acknowledgement -->
+    <!-- Do not edit the value of APPLETHOME param -->
+    <param name="APPLETHOME" value="http://www.geocities.com/SiliconValley/Lakes/5365/index.html">
+  </applet>
+</center>
+</blockquote>
+</body></html>
diff --git a/html/ssSearchThread.class b/html/ssSearchThread.class
new file mode 100644
index 0000000..5a86b80
Binary files /dev/null and b/html/ssSearchThread.class differ
diff --git a/html/style.css b/html/style.css
new file mode 100644
index 0000000..a3ae33f
--- /dev/null
+++ b/html/style.css
@@ -0,0 +1,118 @@
+ body { 
+   margin-left: 1em; 
+   margin-right: 1em; 
+   font-family: tahoma, verdana, arial, helvetica, geneva, sans-serif;
+   background-color:#ffffff;
+ }
+ p {
+   margin-left: 1em;
+   line-height: 130%;
+ }
+ h2 {
+   color: #3366CC;
+ }
+ h3 {
+   padding: 4px;
+   background-color: #E1E1E1;
+   border: 1px solid #808080;
+   color: #5C5C5C;
+ }
+ pre {
+   background-color: #CEE7FF;
+   border: 1px solid #62A0FF;
+   padding: 10px;
+   font-family: 'Monotype.com', "Courier New", Courier, monospace;
+   font-size: 90%;
+   line-height: 125%;
+   margin-left: 3em;
+   margin-right: 3em;
+ }
+ p.info {
+   margin-left: 3em;
+ }
+ ul {
+   margin-left: 2em;
+ }
+ h4 {
+   background-color: #E1E1E1;
+   padding: 3px;
+   margin-right: 2em;
+   margin-left: 2em;
+ }
+h4.function {
+  font-family: "Courier New", Courier, monospace;
+  background-color: #E1E1E1;
+  border: 1px solid #B1B1B1;
+  padding: 10px;
+  line-height: 125%;
+  margin-left: 0.5em;
+  margin-right: 3em;
+  font-weight: normal;
+}
+pre.function {
+  font-family: "Courier New", Courier, monospace;
+  background-color: #E1E1E1;
+  border: 1px solid #B1B1B1;
+  padding: 10px;
+  font-size: 100%;
+  line-height: 125%;
+  margin-left: 0.5em;
+  margin-right: 3em;
+  font-weight: normal;
+}
+.mainFunction {
+  font-size: 110%;
+  font-weight: bold;
+}
+ h1 {
+   text-align: center;
+ }
+ .homeTitle {
+   font-family: Arial, Helvetica, sans-serif;
+   font-size: 36pt;
+   font-weight: bold;
+   color: #003399;
+   text-align: center;
+ }
+ .homeDescription {
+   font-family: Arial, Helvetica, sans-serif;
+   font-size: 20pt;
+   color: #003399;
+   text-align: center;
+ }
+ .homeVersion {
+   margin: 10px;
+   font-family: Arial, Helvetica, sans-serif;
+   font-size: 16pt;
+   color: #003399;
+   text-align: center;
+ }
+ #navigation {
+   position: fixed;
+   top: 0;   
+   right: 0;
+   background-color: #E1E1E1;
+ }
+ #navigation ul {
+   list-style-type: none;
+   margin: 0;
+   padding: 0;
+ }
+ #navigation li {
+   float: left;
+ }
+ #navigation a {
+   color: #5C5C5C;
+   text-decoration: none;
+   display: block;
+   padding: 3px;
+   border: 1px solid #808080;
+   background-color: #E1E1E1;
+   font-size: small;
+ }
+ #navigation a:hover {
+   color: #E1E1E1;
+   text-decoration: none;
+   border: 1px solid #808080;
+   background-color: #5C5C5C;
+ }
diff --git a/html/wb/.cvsignore b/html/wb/.cvsignore
new file mode 100644
index 0000000..2f42317
--- /dev/null
+++ b/html/wb/.cvsignore
@@ -0,0 +1,2 @@
+wb_en.hhp
+wb_tree_en.hhc
\ No newline at end of file
diff --git a/html/wb/make_hh.lua b/html/wb/make_hh.lua
new file mode 100644
index 0000000..c7a5b6c
--- /dev/null
+++ b/html/wb/make_hh.lua
@@ -0,0 +1,274 @@
+---------------------------------------------------------------------
+-- This program converts from Tecgraf's WebBook to HTML Help Project Files.
+-- by Mark Stroetzel Glasberg and Antonio Scuri
+-- 09 Dec, 2004
+---------------------------------------------------------------------
+
+languages_description = {
+  en = "0x0409 English - United States",
+  es = "0x040A Spanish - Standard",
+  fr = "0x040C French - Standard", 
+  de = "0x0407 German - Standard", 
+--  pt = "0x0816 Portuguese - Standard",
+  pt = "0x0416 Portuguese - Brazil",
+  it = "0x0410 Italian - Standard"
+}
+
+-- INITIALIZATION ---------------------------------------------------
+
+function isinlist(lng, list)
+  local i = 1
+  local n = #list
+  while i <= n do
+    if list[i] == lng then
+      return 1
+    end
+    i = i + 1;
+  end
+  return nil
+end
+
+-- BASIC FUNCTIONS --------------------------------------------------
+
+function out(string)
+  file:write(string)
+end
+
+function outln(string)
+  local i = ident + 1
+  while i>0 do
+    file:write("  ")
+    i = i - 1
+  end
+  file:write(string.."\n")
+end
+
+-- HHP FILE FUNCTIONS ------------------------------------------------
+
+files = {}
+
+function add2files(v)
+  if v then
+    -- only up to "#"
+    local j = string.find(v, "#")
+    if j then
+      f = string.sub(v, 0, j-1)
+    else
+      f = v
+    end
+  
+    files[f] = f
+  end
+end
+
+function writehhpheader()
+  out("[OPTIONS]\n")
+  outln("Binary Index=No")
+  outln("Compatibility=1.0")
+  outln("Compiled file=" .. wb_usr.file_title .. "_" .. lng .. ".chm")
+  outln("Contents file=wb_tree" .. "_" .. lng .. ".hhc")
+  outln("Default topic=" .. lng .. "/" .. wb_usr.tree.link)
+  outln("Display compile notes=Yes")
+  outln("Display compile progress=Yes")
+  outln("Full-text search=Yes")
+  outln("Language="..languages_description[lng])
+  outln("Title="..wb_usr.messages[lng].title)
+  out("\n")
+  out("[FILES]\n")
+  outln(lng .. "/" .. wb_usr.tree.link)
+end
+
+function writehhpfooter()
+  local tmp = [[
+[INFOTYPES]
+  ]]
+  out(tmp)
+end
+
+function writehhpcenter()
+  if (not files) then return end
+  
+  local v = next(files, nil)
+  while v ~= nil do
+    outln(dir..v)
+    v = next(files, v)
+  end
+end
+
+function writehhp()
+  writehhpheader()
+  writehhpcenter()
+  writehhpfooter()
+end
+
+
+-- HHC FILE FUNCTIONS ------------------------------------------------
+
+function writeheader()
+  out("<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">\n")
+  out("<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">\n")
+  out("<HTML>\n")
+  out("<HEAD>\n")
+  out("<meta name=\"GENERATOR\" content=\"Microsoft&reg; HTML Help Workshop 4.1\">\n")
+  out("<!-- Sitemap 1.0 -->\n")
+  out("<!-- Generated by WebBook -->\n")
+  out("</HEAD><BODY>\n")
+  out("  <UL>\n")
+  out("  <LI> <OBJECT type=\"text/sitemap\">\n")
+  out("       <param name=\"Name\" value=\""..wb_usr.messages[lng].title.."\">\n")
+  out("       <param name=\"Local\" value=\""..lng .. "/" .. wb_usr.tree.link .. "\">\n")
+  out("       </OBJECT>\n")
+end
+
+function type_string (o) 
+  return type(o) == "string" 
+end
+
+function writeend()
+  out("  </UL>\n")
+  out("</BODY>\n")
+  out("</HTML>\n")
+end
+
+function writesubitems(tree, mainlink)
+  if (not tree) then
+    return
+  end
+  local i = 1
+  local n = #tree
+  while i <= n do
+    writetopic(tree[i], mainlink)
+    i = i + 1
+  end
+  ident = ident - 1
+end
+
+-- mainlink is the link of the father -> if no link is specified
+-- this is the one that is used.
+function writetopic(t, mainlink)
+  local link
+  local topic_name
+
+  add2files(mainlink)
+
+  if t.name == nil then 
+    print("ERROR: Title is nil.")
+    return
+  end
+
+  if (t.name[lng]) then
+    topic_name = t.name[lng]
+  else
+    topic_name = t.name["nl"]
+  end
+
+  if topic_name == nil then 
+    print("ERROR: Title is nil in language [" .. lng .. "].")
+    return
+  end
+
+  if t.link and t.link ~= "" then
+    link = t.link
+  else
+    link = nil
+  end
+ 
+  add2files(link)
+  
+  if t.bookmark then
+    if link == nil and mainlink == nil then
+      print("Error saving bookmark!!!")
+      return
+    end
+
+    if link then
+      linkB = link .. "#" .. t.bookmark
+    else
+      linkB = mainlink .. "#" .. t.bookmark
+    end
+  else
+    linkB = nil
+  end
+
+  outln("<LI> <OBJECT type=\"text/sitemap\">")
+  outln("<param name=\"Name\" value=\""..topic_name.."\">")
+  if linkB then
+    outln("<param name=\"Local\" value=\""..dir..linkB.."\">")
+  else
+    if link then
+      outln("<param name=\"Local\" value=\""..dir..link.."\">")
+    end
+  end
+  if useimage == 1 then
+    if t.folder then
+      if ident == 0 then
+        outln("<param name=\"ImageNumber\" value=\"1\">")
+      else
+        outln("<param name=\"ImageNumber\" value=\"6\">")
+      end
+    else
+      outln("<param name=\"ImageNumber\" value=\"11\">")
+    end
+  end
+  outln("</OBJECT>")
+
+  -- Write folder --
+  if t.folder then
+    ident = ident + 1
+    outln("<UL>")
+    if link == nil then
+      writesubitems(t.folder, mainlink)
+    else
+      writesubitems(t.folder, link)
+    end
+    outln("</UL>")
+  end
+
+end
+
+function writetopics(tree)
+  if (not tree) then return end
+  local i = 1;
+  local n = #tree
+  while i <= n do
+    outln("<UL>")
+    writetopic(tree[i], nil)
+    outln("</UL>")
+    i = i + 1
+  end
+end
+
+-- MAIN -------------------------------------------------------------
+
+-- lng -> from the command line
+
+dofile("wb_usr.lua")
+
+if (not arg[1]) then
+  error("Missing language parameter.")
+end
+              
+lng = arg[1]
+dir   = lng.."/"
+ident = 0
+useimage = 1 -- Use images based on given information
+file = nil
+
+print("Writing \"wb_tree" .. "_" .. lng .. ".hhc\" file.")
+file = io.open("wb_tree" .. "_" .. lng .. ".hhc", "w")
+writeheader()
+writetopics(wb_usr.tree.folder)
+writeend()
+file:close()
+
+if ident ~= 0 then
+  print("Ident not correct!")
+end
+
+print("Writing \"wb" .. "_" .. lng .. ".hhp\" file.")
+file = io.open("wb" .. "_" .. lng .. ".hhp", "w")
+writehhp()
+file:close()
+
+print("done.")
+
diff --git a/html/wb/template_index.html b/html/wb/template_index.html
new file mode 100644
index 0000000..75c72e0
--- /dev/null
+++ b/html/wb/template_index.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<title>WB_TITLE</title>
+</head>
+
+<frameset rows="51,*" frameborder="0" framespacing="0" bordercolor="#0B6DCE">
+  <frame name="wb_title" scrolling="no" noresize="noresize" src="wb_titleWB_LNG.html" 
+         frameborder="0" marginheight="0" marginwidth="0" target="wb_cont">
+  <frameset cols="WB_START_SIZE,*" frameborder="1" framespacing="4" bordercolor="#0B6DCE" border="4">
+    <frameset rows="27,*" frameborder="0" framespacing="0" bordercolor="#0B6DCE">
+      <frame name="wb_bar" scrolling="no" src="wb_barWB_LNG.html" frameborder="0" target="wb_cont">
+      <frame name="wb_tree" src="wb_treeWB_LNG.html" frameborder="1" target="wb_cont">
+    </frameset>
+    <frame name="wb_cont" src="WB_START_PAGE" frameborder="0">
+  </frameset>
+  <noframes>
+  <body>
+
+  <p>This page uses frames, but your browser doesn&#39;t support them.</p>
+
+  </body>
+  </noframes>
+</frameset>
+
+</html>
diff --git a/html/wb/template_ssSearch.html b/html/wb/template_ssSearch.html
new file mode 100644
index 0000000..23d93ea
--- /dev/null
+++ b/html/wb/template_ssSearch.html
@@ -0,0 +1,22 @@
+<html>
+<head>
+<title>ssSearch</title>
+<link rel="stylesheet" type="text/css" href="style.css">
+</head>
+<body>
+<h3>WB_SEARCH</h3>
+<blockquote>
+<center>
+  <applet code="ssSearch.class" width="640" height="480"> 
+    <param name="BGCOLOR" value="0B6DCE"> 
+    <param name="LISTAREACOLOR" value="ffffff">
+    <!--  Use "_self", "_blank", "_parent", "_top" or any other user-defined name -->
+    <param name="TARGETFRAME" value="_self">
+    <param name="DATAFILE" value="wb_searchWB_LNG.txt">
+    <!-- The APPLETHOME param is just an acknowledgement -->
+    <!-- Do not edit the value of APPLETHOME param -->
+    <param name="APPLETHOME" value="http://www.geocities.com/SiliconValley/Lakes/5365/index.html">
+  </applet>
+</center>
+</blockquote>
+</body></html>
diff --git a/html/wb/template_wb_bar.html b/html/wb/template_wb_bar.html
new file mode 100644
index 0000000..46b98d8
--- /dev/null
+++ b/html/wb/template_wb_bar.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
+<html>
+<head>
+  <meta http-equiv="Content-Language" content="en-us" >
+  <title>Bar</title>
+  <base target="wb_cont">
+  <style type="text/css">
+  .navigation{
+    padding: 0;
+    margin: 0;
+    white-space: nowrap;
+    border: 1px solid #7F93C7;
+    background-color: #FFFFFF;
+    line-height: 19px;
+  }
+  .navigation p { margin: 1px; white-space: nowrap; }
+  .navigation img { vertical-align: middle; }
+  </style>
+</head>
+
+<body style="margin: 2px; background-color: #F1F1F1"> 
+  <div class="navigation">
+    <p><a target="_blank" href="http://www.tecgraf.puc-rio.br/webbook"><img src="wb_img/webbook.png" onmouseover="this.src='wb_img/webbook_over.png'" onmouseout="this.src='wb_img/webbook.png'" style="border-width: 0px"></a><img src="wb_img/barlineleft.png"><img alt="WB_EXPALL_ALT" src="wb_img/showall.png" onclick="parent.wb_tree.showAllFolders()" onmouseover="this.src='wb_img/showall_over.png'" onmouseout="this.src='wb_img/showall.png'"><img alt="WB_CONTALL_ALT" src="wb_img/hideall.png" onclick="parent.wb_tree.hideAllFolders()" onmouseover="this.src='wb_img/hideall_over.png'" onmouseout="this.src='wb_img/hideall.png'"><img alt="WB_SYNC_ALT" src="wb_img/sync.png" onclick="parent.wb_tree.syncContents()" onmouseover="this.src='wb_img/sync_over.png'" onmouseout="this.src='wb_img/sync.png'"><img alt="WB_NEXT_ALT" src="wb_img/next.png" onclick="parent.wb_tree.nextContents()" onmouseover="this.src='wb_img/next_over.png'" onmouseout="this.src='wb_img/next.png'"><img alt="WB_PREV_ALT" src="wb_img/previous.png" onclick="parent.wb_tree.prevContents()" onmouseover="this.src='wb_img/previous_over.png'" onmouseout="this.src='wb_img/previous.png'">WB_LNG_BUTTON</p>
+  </div>
+</body>
+</html>
diff --git a/html/wb/template_wb_title.html b/html/wb/template_wb_title.html
new file mode 100644
index 0000000..e35662c
--- /dev/null
+++ b/html/wb/template_wb_title.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<title>Title</title>
+<base target="wb_cont">
+<style type="text/css">
+td.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16pt;
+  font-weight: bold;
+  color: #FFFFFF;
+  text-align: left;
+  vertical-align: middle;
+}
+td.contact {
+  text-align: center;
+  vertical-align: middle;
+  width: 11em;
+}
+a.contact {
+  font-family: Arial, Helvetica, sans-serif;
+  color: #0962BB;
+  font-size: 9pt;
+  text-decoration: none;
+  font-weight: bold;
+}
+a.contact:hover {
+  text-decoration: underline;
+}
+</style>
+</head>
+
+<body style="background-color: WB_TITLE_BGCOLOR; margin-left: 3px; margin-right: 3px; margin-top: 2px; margin-bottom: 0; background-image: url('wb_img/title_background.png');">
+
+<table style="width: 100%" cellspacing="0" cellpadding="0">
+  <tr>
+    <td style="width: 50px;"><img src="logo.gif"></td>
+    <td class="title">WB_BAR_TITLE</td>
+    <td style="width: 3.5em">
+     <a class="contact" href="ssSearchWB_LNG.html">SimpleSearch</a>
+     </td>
+    <td style="width: 11em">
+      <FORM method=GET action="http://www.google.com/search" style="margin-bottom: 0; margin: 0; text-align: center; ">
+      <input type=hidden name=ie value=UTF-8>
+      <input type=hidden name=oe value=UTF-8>
+      <INPUT TYPE=text name=q size=21 maxlength=255 value=""><br>
+      <A HREF="http://www.google.com/"><IMG SRC="wb_img/google.gif" border="0" ALT="Google"></A>
+      <INPUT type=submit name=btnG VALUE="Search" style="height: 21px; vertical-align: top; font-size: x-small;">
+      <input type=hidden name=domains value="WB_SEARCH_LINK">
+      <input type=hidden name=sitesearch value="WB_SEARCH_LINK" checked>
+      <input type=hidden name=sitesearch value="">
+      </FORM>
+    </td>
+    <td class="contact">
+     <a class="contact" target="_blank" href="WB_COPYRIGHT_LINK">� WB_COPYRIGHT_NAME</a>
+     <br>
+     <a class="contact" href="mailto:WB_CONTACT">(WB_CONTACT)</a>
+     </td>
+  </tr>
+</table>
+
+</body>
+
+</html>
diff --git a/html/wb/template_wb_tree.html b/html/wb/template_wb_tree.html
new file mode 100644
index 0000000..4e45163
--- /dev/null
+++ b/html/wb/template_wb_tree.html
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
+<html>
+<head>
+  <meta http-equiv="Content-Language" content="en-us" >
+  <title>Tree</title>
+  <base target="wb_cont">
+  <style type="text/css">
+  .tree { font-family: helvetica, sans-serif; font-size: 10pt; }
+  .tree h3 {
+    margin: 5px 0px 0px 0px;
+    font-size: 12pt;
+  }
+  .tree p { margin: 0px; white-space: nowrap; }
+  .tree p.sep { margin: 0px; white-space: nowrap; line-height: 8px; font-size: 5px; }
+  .tree div { display: none; margin: 0px; }
+  .tree img { vertical-align: middle; }
+  .tree a.el { text-decoration: none; margin-left: 4px; color: #003366; }
+  .tree a:hover { text-decoration: none; background-color: #e0e0ff }
+  </style>
+  <script type="text/javascript">
+  lastLink = null;
+  
+  function hideFolder(folder, id) 
+  {
+    var imageNode = document.images["img" + id];
+    if (imageNode != null) 
+    {
+      var len = imageNode.src.length;
+      if (imageNode.src.substring(len-8,len-4) == "last")
+        imageNode.src = "wb_img/plusnodelast.png";
+      else if (imageNode.src.substring(len-8,len-4) == "node")
+        imageNode.src = "wb_img/plusnode.png";
+    }                          
+    folder.style.display = "none";
+  }
+  
+  function showFolder(folder, id) 
+  {
+    var imageNode = document.images["img" + id];
+    if (imageNode != null) 
+    {
+      var len = imageNode.src.length;
+      if (imageNode.src.substring(len-8,len-4) == "last")
+        imageNode.src = "wb_img/minusnodelast.png";
+      else if (imageNode.src.substring(len-8,len-4) == "node")
+        imageNode.src = "wb_img/minusnode.png";
+    }
+    folder.style.display = "block";
+  }    
+
+  function toggleFolder(id) 
+  {
+    var folder = document.getElementById(id);
+    if (folder.style.display == "block") 
+      hideFolder(folder, id);
+    else 
+      showFolder(folder, id);
+  }
+  
+  function setFoldersAtLevel(level, show) 
+  {                                    
+    var i = 1;
+    do
+    {
+      var folder_id = level + "." + i;
+      var id = "folder" + folder_id;
+      var folder = document.getElementById(id);
+      if (folder != null)
+      {
+        setFoldersAtLevel(folder_id, show);
+        
+        if (show)
+          showFolder(folder, id);
+        else
+          hideFolder(folder, id);
+      }
+      i++;
+    } while(folder != null);
+  }
+    
+  function showAllFolders() 
+  {                                    
+    setFoldersAtLevel("", true); 
+  }
+  
+  function hideAllFolders() 
+  {                                    
+    setFoldersAtLevel("", false); 
+  }
+  
+  function getFolderId(name)
+  {  
+    return name.substring(name.indexOf("folder"), name.length);
+  }
+  
+  function showFolderRec(id)
+  {
+    var folder = document.getElementById(id);
+    if (folder != null)
+    {
+      showFolder(folder, id);
+      
+      var parent_id = id.substring(0, id.lastIndexOf("."))
+      if (parent_id != null && parent_id != "folder")
+      {
+         showFolderRec(parent_id)
+      }
+    }
+  }           
+  
+  function clearLastLink()
+  {
+    if (lastLink != null)
+    {
+      lastLink.style.color = ""  
+      lastLink = null;
+    }
+  }                 
+  
+  function goToLink(link)
+  {                  
+    var id = getFolderId(link.name);
+    showFolderRec(id);
+    location.hash = "#" + link.name;
+    link.style.color = "#ff0000";  
+    
+    clearLastLink();
+    lastLink = link;
+  }
+
+  function syncContents()
+  {
+    var cur_topic = parent.wb_cont.location.href 
+    
+    for (var i = 0; i < document.links.length; i++) 
+    {      
+      var link = document.links[i];
+      if (cur_topic == link.href)
+      {                  
+        goToLink(link)
+        return
+      }
+    }                                 
+  }
+  
+  function nextContents()
+  {
+    var cur_topic = parent.wb_cont.location.href 
+                                                
+    for (var i = 0; i < document.links.length; i++) 
+    {      
+      var link = document.links[i];
+      if (cur_topic == link.href)
+      {        
+        if (i == document.links.length-1)
+          link = document.links[0];
+        else
+          link = document.links[i+1];  
+          
+        goToLink(link)
+        parent.wb_cont.location.href = link.href;
+        return
+      }
+    }                                 
+  }
+  
+  function prevContents()
+  {
+    var cur_topic = parent.wb_cont.location.href 
+    var prev_link = document.links[document.links.length-1]
+    
+    for (var i = 0; i < document.links.length; i++) 
+    {      
+      var link = document.links[i];
+      if (cur_topic == link.href)
+      {        
+        if (i == 0)
+          link = document.links[document.links.length-1];
+        else
+          link = document.links[i-1];
+          
+        goToLink(link)
+        parent.wb_cont.location.href = link.href;
+        return
+      }
+    }                                 
+  }
+    
+  function showStartPage()
+  {
+    var full_url = parent.document.URL;
+    if (full_url == null)
+      return; 
+      
+    var param = full_url.substring(full_url.indexOf("?") + 1, full_url.length);
+    if (param == null)
+      return;
+      
+    var param_url = param.substring(param.indexOf("url=") + 4, param.length);
+    if (param_url == null)
+      return;
+                                        
+    var param_len = param_url.length;                                    
+    for (var i = 0; i < document.links.length; i++) 
+    {      
+      var link = document.links[i];
+      var link_url = link.href.substring(link.href.length-param_len, link.href.length)
+      if (link_url == param_url)
+      {
+        goToLink(link)
+        parent.wb_cont.location.href = link.href;
+        return
+      }
+    }                                 
+  }
+  </script>
+</head>
+
+<body style="margin: 2px; background-color: #F1F1F1" onload="showStartPage()"> 
+  <div class="tree" onmouseout="clearLastLink()">
diff --git a/html/wb/wb2hh.bat b/html/wb/wb2hh.bat
new file mode 100644
index 0000000..94c4459
--- /dev/null
+++ b/html/wb/wb2hh.bat
@@ -0,0 +1,29 @@
+@echo off
+
+Echo Building...
+lua5.1 make_hh.lua %1
+Echo .
+pause
+
+Echo Preparing...
+move wb_%1.hhp ..
+move wb_tree_%1.hhc ..
+cd ..
+move download download.old
+Echo .
+pause
+
+Echo Compiling...
+hhc wb_%1.hhp
+Echo .
+pause     
+
+Echo Finishing...     
+move wb_%1.hhp wb
+move wb_tree_%1.hhc wb
+move download.old download
+move /y *.chm download
+cd wb
+Echo .
+
+Echo Done.
diff --git a/html/wb/wb_build.bat b/html/wb/wb_build.bat
new file mode 100644
index 0000000..9cf43fc
--- /dev/null
+++ b/html/wb/wb_build.bat
@@ -0,0 +1 @@
+@lua5.1 wb_build.lua
diff --git a/html/wb/wb_build.lua b/html/wb/wb_build.lua
new file mode 100644
index 0000000..1963158
--- /dev/null
+++ b/html/wb/wb_build.lua
@@ -0,0 +1,364 @@
+
+dofile("wb_usr.lua")
+
+lngCount = nil
+lngSuffix = nil
+lngIndex = nil
+lngNext = nil
+linkCount = 1
+
+function readFile(filename)
+  local file = io.open(filename)
+  local text = file:read("*a")
+  file:close()
+  return text
+end
+
+function writeFile(filename, text)
+  local file = io.open(filename, "w")
+  file:write(text)
+  file:close()
+end
+
+-- #####################################################################
+
+htmlFiles = {}
+
+function addHtmlFile(v)
+  if v then
+    -- only up to "#"
+    local j = string.find(v, "#")
+    if j then
+      f = string.sub(v, 0, j-1)
+    else
+      f = v
+    end
+  
+    htmlFiles[f] = f
+  end
+end
+
+-- #####################################################################
+
+function writeIndexFile()
+  print("Writing \"../index"..lngSuffix..".html\".")
+  
+  local wb_index = readFile("template_index.html")
+  
+  wb_index = string.gsub(wb_index, "WB_TITLE", wb_usr.messages[lngIndex].title)
+  wb_index = string.gsub(wb_index, "WB_START_SIZE", wb_usr.start_size)
+  wb_index = string.gsub(wb_index, "WB_START_PAGE", lngIndex.."/"..wb_usr.tree.link)
+  if (lngCount > 1) then
+    wb_index = string.gsub(wb_index, "WB_LNG", lngSuffix)
+  else
+    wb_index = string.gsub(wb_index, "WB_LNG", "")
+  end
+  
+  writeFile("../index"..lngSuffix..".html", wb_index)
+end
+
+-- #####################################################################
+
+function writeTitleFile()
+  print("Writing \"../wb_title"..lngSuffix..".html\".")
+  
+  local wb_title = readFile("template_wb_title.html")
+  
+  wb_title = string.gsub(wb_title, "WB_BAR_TITLE", wb_usr.messages[lngIndex].bar_title)
+  wb_title = string.gsub(wb_title, "WB_TITLE_BGCOLOR", wb_usr.title_bgcolor)
+  wb_title = string.gsub(wb_title, "WB_SEARCH_LINK", wb_usr.search_link)
+  wb_title = string.gsub(wb_title, "WB_COPYRIGHT_LINK", wb_usr.copyright_link)
+  wb_title = string.gsub(wb_title, "WB_COPYRIGHT_NAME", wb_usr.copyright_name)
+  wb_title = string.gsub(wb_title, "WB_CONTACT", wb_usr.contact)
+  
+  if (lngCount > 1) then
+    wb_title = string.gsub(wb_title, "WB_LNG", lngSuffix)
+  else
+    wb_title = string.gsub(wb_title, "WB_LNG", "")
+  end
+  
+  writeFile("../wb_title"..lngSuffix..".html", wb_title)
+end
+
+-- #####################################################################
+
+function writeIndent(file, level)
+  -- base identation             
+  file:write("    ")       
+  
+  for i = 1, level*2, 1 do
+    file:write(" ")
+  end
+end
+
+function getNodeName(node)
+  local name = nil
+  if (node.name[lngIndex]) then
+    name = node.name[lngIndex]
+  else
+    name = node.name["nl"]
+  end
+
+  if not name then 
+    error("Name not found.")
+  end
+  
+  return name
+end
+
+function writeNode(file, node, opened, level, folder_index, folder_suffix, node_suffix, child_prefix)
+  if (node.folder) then -- folder
+    -- box image
+    writeIndent(file, level)
+    file:write("<p>")
+    
+    folder_suffix = folder_suffix .. "." .. folder_index
+                                         
+    file:write(child_prefix.."<img name=\"imgfolder"..folder_suffix.."\" ")
+      
+    if (opened) then
+      file:write("src=\"wb_img/minusnode"..node_suffix..".png\" ")
+    else
+      file:write("src=\"wb_img/plusnode"..node_suffix..".png\" ")
+    end
+    
+    file:write("onclick=\"toggleFolder('folder"..folder_suffix.."')\">")
+    
+    if (node.link) then
+      file:write("<a name=\"link"..linkCount.."folder"..folder_suffix.."\" class=\"el\" href=\""..lngIndex.."/"..node.link.."\">"..getNodeName(node).."</a>")
+      addHtmlFile(node.link)
+      linkCount = linkCount + 1
+    else
+      file:write("  "..getNodeName(node))
+    end
+    
+    file:write("</p>\n")
+                
+    -- folder div            
+    writeIndent(file, level)
+    if (opened) then
+      file:write("<div id=\"folder"..folder_suffix.."\" style=\"display:block\">\n")
+    else
+      file:write("<div id=\"folder"..folder_suffix.."\">\n")
+    end
+  
+    local n = #(node.folder)
+    local next_folder_index = 0
+    local next_node_suffix = ""
+    local next_child_prefix = "<img src=\"wb_img/vertline.png\">"
+    if (node_suffix == "last") then
+      next_child_prefix = "<img src=\"wb_img/blank.png\">"
+    end
+    for i = 1, n, 1 do
+      if (i == n) then
+        next_node_suffix = "last"
+      end
+      if (node.folder[i].folder) then
+        next_folder_index = next_folder_index + 1
+      end
+      writeNode(file, node.folder[i], false, level+1, next_folder_index, folder_suffix, next_node_suffix, child_prefix..next_child_prefix)
+    end
+      
+    writeIndent(file, level)
+    file:write("</div>\n")
+  else -- leaf
+    if (node.link and node.link ~= "") then  -- normal leaf
+      writeIndent(file, level)
+      file:write("<p>"..child_prefix.."<img src=\"wb_img/node"..node_suffix..".png\"><a class=\"el\" name=\"link"..linkCount.."folder"..folder_suffix.."\" href=\""..lngIndex.."/"..node.link.."\">"..getNodeName(node).."</a></p>\n")
+      addHtmlFile(node.link)
+      linkCount = linkCount + 1
+    else  -- separator leaf
+      writeIndent(file, level)
+      file:write("<p class=\"sep\">")
+      
+      local sep_child_prefix = string.gsub(child_prefix, "/vertline", "/sepvertline")
+      sep_child_prefix = string.gsub(sep_child_prefix, "/blank", "/sepblank")
+      
+      file:write(sep_child_prefix.."<img src=\"wb_img/sepnode.png\"></p>\n")
+    end
+  end  
+end
+
+function writeTree(file)
+  -- root node              
+  file:write("    <h3><a name=\"link0folder.0\" class=\"el\" href=\""..lngIndex.."/"..wb_usr.tree.link.."\">"..getNodeName(wb_usr.tree).."</a></h3>\n")
+  addHtmlFile(wb_usr.tree.link)
+                       
+  local folder = wb_usr.tree.folder                     
+  local n = #folder
+  local node_suffix = "" 
+  local folder_index = 0
+  for i = 1, n, 1 do
+    if (i == n) then
+      node_suffix = "last"
+    end                        
+    if (folder[i].folder) then
+      folder_index = folder_index + 1
+    end
+    if (i == 1 and wb_usr.start_open) then
+      writeNode(file, folder[i], true, 1, folder_index, "", node_suffix, "")
+    else
+      writeNode(file, folder[i], false, 1, folder_index, "", node_suffix, "")
+    end
+  end
+end
+
+function writeTreeFile()
+  print("Writing \"../wb_tree"..lngSuffix..".html\".")
+  
+  local file = io.open("../wb_tree"..lngSuffix..".html", "w")
+   
+  -- Write Header 
+  local wb_tree = readFile("template_wb_tree.html")
+  file:write(wb_tree)
+                   
+  -- Write Tree Nodes and Leafs
+  writeTree(file)
+                               
+  -- Write Footer                             
+  file:write("  </div>\n")
+  file:write("</body>\n")
+  file:write("</html>\n")
+  
+  file:close()
+end
+              
+-- #####################################################################
+
+lngMessages =
+{               
+  search= {
+    en= "Simple Search",
+    pt= "Busca Simples", 
+    es= "Busca Simples",
+  },
+  exp_all= {
+    en= "Expand All Nodes",
+    pt= "Expande Todos os N�s", 
+    es= "Ensanchar Todos Nodos",
+  },
+  cont_all= {
+    en= "Contract All Nodes",
+    pt= "Contrai Todos os N�s",
+    es= "Contrato Todos Nodos",
+  },
+  sync= {
+    en= "Sync Tree with Contents",
+    pt= "Sincroniza �rvore com Conte�do",
+    es= "Sincroniza �rbol con el Contenido",
+  },
+  lang= {
+    en= "Switch Language",
+    pt= "Troca Idioma",
+    es= "Cambie Idioma",
+  },
+  next= {
+    en= "Next Link",
+    pt= "Pr�ximo Link",
+    es= "Pr�ximo Link",
+  },
+  prev= {
+    en= "Previous Link",
+    pt= "Link Anterior",
+    es= "Link Anterior",
+  },
+} 
+
+function writeBarFile()
+  print("Writing \"../wb_bar"..lngSuffix..".html\".")
+  
+  local file = io.open("../wb_bar"..lngSuffix..".html", "w")
+   
+  local wb_bar = readFile("template_wb_bar.html")
+  
+  wb_bar = string.gsub(wb_bar, "WB_EXPALL_ALT", lngMessages.exp_all[lngIndex])
+  wb_bar = string.gsub(wb_bar, "WB_CONTALL_ALT", lngMessages.cont_all[lngIndex])
+  wb_bar = string.gsub(wb_bar, "WB_SYNC_ALT", lngMessages.sync[lngIndex])
+  wb_bar = string.gsub(wb_bar, "WB_NEXT_ALT", lngMessages.next[lngIndex])
+  wb_bar = string.gsub(wb_bar, "WB_PREV_ALT", lngMessages.prev[lngIndex])
+  
+  if (lngCount > 1) then                
+    local lng_button = "<img src=\"wb_img/barlineright.png\">"
+    lng_button = lng_button .. "<a target=\"_top\" href=\"index_"..lngNext..".html\"><img alt=\""..lngMessages.lang[lngIndex].."\" src=\"wb_img/lng"..lngSuffix..".png\" onmouseover=\"this.src='wb_img/lng"..lngSuffix.."_over.png'\" onmouseout=\"this.src='wb_img/lng"..lngSuffix..".png'\" style=\"border-width: 0px\"></a>"
+    wb_bar = string.gsub(wb_bar, "WB_LNG_BUTTON", lng_button)
+  else
+    wb_bar = string.gsub(wb_bar, "WB_LNG_BUTTON", "")
+  end
+  
+  file:write(wb_bar)
+  file:close()
+end
+
+-- #####################################################################
+
+function writeSearchFile()
+  print("Writing \"../ssSearch"..lngSuffix..".html\".")
+  
+  local file = io.open("../ssSearch"..lngSuffix..".html", "w")
+   
+  local wb_search = readFile("template_ssSearch.html")
+  
+  wb_search = string.gsub(wb_search, "WB_SEARCH", lngMessages.search[lngIndex])
+  
+  if (lngCount > 1) then                
+    wb_search = string.gsub(wb_search, "WB_LNG", lngSuffix)
+  else
+    wb_search = string.gsub(wb_search, "WB_LNG", "")
+  end
+  
+  file:write(wb_search)
+  file:close()
+end
+              
+function writeSearchIndexFile()
+  print("Writing \"../wb_search"..lngSuffix..".txt\".")
+  
+  local file = io.open("../wb_search"..lngSuffix..".txt", "w")
+  
+  local v = next(htmlFiles, nil)
+  while v ~= nil do
+    file:write(lngIndex.."/"..v.."\n")
+    v = next(htmlFiles, v)
+  end
+  
+  file:close()
+end
+              
+-- #####################################################################
+
+lngCount = 0
+local first_name = nil
+local prev_elem = nil
+for name, elem in pairs(wb_usr.messages) do 
+  if (lngCount == 0) then
+    first_name = name
+  end
+  lngCount = lngCount + 1
+  if (prev_elem) then
+    prev_elem.next = name
+  end
+  prev_elem = elem
+end
+prev_elem.next = first_name
+  
+print("Building...")
+
+for name, elem in pairs(wb_usr.messages) do 
+  lngIndex = name
+  lngNext = elem.next
+  
+  if (lngCount > 1) then
+    lngSuffix = "_"..lngIndex
+  else
+    lngSuffix = ""
+  end
+  
+  writeIndexFile()
+  writeTitleFile()
+  writeBarFile()
+  writeTreeFile()
+  writeSearchFile()            
+  writeSearchIndexFile()
+end
+
+print("Done.")
diff --git a/html/wb/wb_usr.lua b/html/wb/wb_usr.lua
new file mode 100644
index 0000000..bcbaeec
--- /dev/null
+++ b/html/wb/wb_usr.lua
@@ -0,0 +1,1043 @@
+wb_usr = {
+  contact = "cd@tecgraf.puc-rio.br",
+  title_bgcolor = "#3366CC",
+  copyright_link = "http://www.tecgraf.puc-rio.br",
+  search_link = "http://www.tecgraf.puc-rio.br/cd",
+  start_size = "180",
+  langs = {"en"},
+  copyright_name = "Tecgraf/PUC-Rio",
+  file_title = "cd",          
+  start_open = "1"
+} 
+
+wb_usr.messages = {
+  en = {
+    bar_title = "CD - Version 5.1",
+    title = "CD - Canvas Draw",
+  }
+} 
+
+wb_usr.tree = 
+{
+  name= {nl= "CD"},
+  link= "home.html",
+  folder=
+  {
+    {
+      name= {en= "Product", pt= "Produto"},
+      link= "prod.html",
+      folder=
+      {
+        {
+          name= {en= "Overview", pt= "Vis�o Geral"},
+          link= "prod.html#Overview"
+        },
+        {
+          name= {en= "Availability", pt= "Disponibilidade"},
+          link= "prod.html#Availability"
+        },
+        {
+          name= {en= "Support", pt= "Suporte"},
+          link= "prod.html#Suport"
+        },
+        {
+          name= {en= "Credits", pt= "Cr�ditos"},
+          link= "prod.html#Acknowledgments"
+        },
+        {
+          name= {en= "Documentation", pt= "Documenta��o"},
+          link= "prod.html#About"
+        },
+        { link= "", name= {en= "" } },
+        {
+          name= {nl= "Copyright/License"},
+          link= "copyright.html"
+        },
+        {
+          name= {nl= "Download"},
+          link= "download.html",
+          folder=
+          {
+            {
+              name= {en= "Library Download Tips"},
+              link= "download_tips.html"
+            }
+          }
+        },
+        {
+          name= {nl= "CVS"},
+          link= "cvs.html"
+        },
+        {
+          name= {en= "History", pt= "Hist�rico"},
+          link= "history.html"
+        },
+        {
+          name= {en= "To Do", pt= "Pend�ncias"},
+          link= "to_do.html"
+        },
+        {
+          name= {en= "Comparing", pt= "Outras Bibliotecas Gr�ficas"},
+          link= "toolkits.html"
+        }
+      }
+    },
+    {
+      name= {en= "Guide", pt= "Guia"},
+      link= "guide.html",
+      folder=
+      {
+        {
+          name= {en= "Getting Started", pt= "Notas de Implementa��o"},
+          link= "guide.html#start"
+        },
+        {
+          name= {en= "Building Applications", pt= "Arquivos de Inclus�o"},
+          link= "guide.html#buildapp"
+        },
+        { name= {en= "Building the Library"}, link= "guide.html#buildlib" },
+        {
+          name= {en= "Environment Variables", pt= "Vari�vel de Ambiente"},
+          link= "guide.html#Environment"
+        },
+        {
+          name= {en= "Implementing a Driver", pt= "Implementando um Driver"},
+          link= "guide.html#NewDriver"
+        },
+        {
+          name= {en= "Intercepting Primitives", pt= "Interceptando Primitivas"},
+          link= "guide.html#Play"
+        },
+        {
+          name= {en= "IUP Compatibility", pt= "Uso com a Biblioteca IUP"},
+          link= "guide.html#IUP"
+        },
+        { link= "", name= {en= "" } },
+        {
+          name= {en= "Internal Architecture", pt= "Arquitetura Interna"},
+          link= "internal.html"
+        },
+        {
+          name= {en= "Samples", pt= "Exemplos"},
+          link= "samples.html"
+        },
+        {
+          name= {en= "Lua Binding", pt= "Liga��o com Lua"},
+          link= "cdlua.html"
+        },
+        {
+          name= {en= "CDLua+IMLua", pt= "Liga��o com Lua"},
+          link= "cdluaim.html"
+        }
+      }
+    },
+    { link= "", name= {en= "" } },
+    {
+      name= {en= "Canvas"},
+      link= "canvas.html",
+      folder=
+      {
+        {
+          name= {en= "Initialization"},
+          folder=
+          {
+            {
+              name= {nl= "CreateCanvas"},
+              link= "func/init.html#cdCreateCanvas"
+            },
+            {
+              name= {nl= "CreateCanvasf"},
+              link= "func/init.html#cdCreateCanvasf"
+            },
+            {
+              name= {nl= "KillCanvas"},
+              link= "func/init.html#cdKillCanvas"
+            },
+            {
+              name= {nl= "Activate"},
+              link= "func/init.html#cdCanvasActivate"
+            },
+            {
+              name= {nl= "Deactivate"},
+              link= "func/init.html#cdCanvasDeactivate"
+            },
+            {
+              name= {nl= "UseContextPlus"},
+              link= "func/init.html#cdUseContextPlus"
+            },
+            {
+              name= {nl= "InitContextPlus"},
+              link= "func/init.html#cdInitContextPlus"
+            },
+            { link= "", name= {en= "" } },
+            {
+              name= {nl= "GetContext"},
+              link= "func/init.html#cdGetContext"
+            },
+            {
+              name= {nl= "ContextCaps"},
+              link= "func/init.html#cdContextCaps"
+            },
+            {
+              name= {nl= "Simulate"},
+              link= "func/init.html#cdSimulate"
+            },
+            { link= "", name= {en= "" } },
+            {
+              name= {nl= "cdlua_open"},
+              link= "func/init.html#cdlua_open"
+            },
+            {
+              name= {nl= "cdlua_close"},
+              link= "func/init.html#cdlua_close"
+            },
+            {
+              name= {nl= "cdlua_getcanvas"},
+              link= "func/init.html#cdlua_getcanvas"
+            }
+          }
+        },
+        {
+          name= {en= "Control"},
+          folder=
+          {
+            {
+              name= {nl= "Clear"},
+              link= "func/control.html#cdClear"
+            },
+            {
+              name= {nl= "Flush"},
+              link= "func/control.html#cdFlush"
+            },
+            {
+              name= {nl= "SaveState"},
+              link= "func/control.html#cdSaveState"
+            },
+            {
+              name= {nl= "RestoreState"},
+              link= "func/control.html#cdRestoreState"
+            },
+            {
+              name= {nl= "ReleaseState"},
+              link= "func/control.html#cdReleaseState"
+            },
+            {
+              name= {nl= "SetAttribute"},
+              link= "func/control.html#cdSetAttribute"
+            },
+            {
+              name= {nl= "SetfAttribute"},
+              link= "func/control.html#cdSetfAttribute"
+            },
+            {
+              name= {nl= "GetAttribute"},
+              link= "func/control.html#cdGetAttribute"
+            }
+          }
+        },
+        {
+          name= {en= "Coordinate System"},
+          folder=
+          {
+            {
+              name= {nl= "GetCanvasSize"},
+              link= "func/coordinates.html#cdGetCanvasSize"
+            },
+            {
+              name= {nl= "UpdateYAxis"},
+              link= "func/coordinates.html#cdUpdateYAxis"
+            },
+            {
+              name= {nl= "MM2Pixel"},
+              link= "func/coordinates.html#cdMM2Pixel"
+            },
+            {
+              name= {nl= "Pixel2MM"},
+              link= "func/coordinates.html#cdPixel2MM"
+            },
+            {
+              name= {nl= "Origin"},
+              link= "func/coordinates.html#cdOrigin"
+            },
+            { link= "", name= {en= "" } },
+            {
+              name= {nl= "Transform"},
+              link= "func/coordinates.html#cdTransform"
+            },
+            {
+              name= {nl= "GetTransform"},
+              link= "func/coordinates.html#cdGetTransform"
+            },
+            {
+              name= {nl= "TransformMultiply"},
+              link= "func/coordinates.html#cdTransformMultiply"
+            },
+            {
+              name= {nl= "TransformTranslate"},
+              link= "func/coordinates.html#cdTransformTranslate"
+            },
+            {
+              name= {nl= "TransformScale"},
+              link= "func/coordinates.html#cdTransformScale"
+            },
+            {
+              name= {nl= "TransformRotate"},
+              link= "func/coordinates.html#cdTransformRotate"
+            }
+          }
+        },
+        {
+          name= {en= "World Coordinates"},
+          link= "func/wd.html",
+          folder=
+          {
+            {
+              name= {nl= "Window"},
+              link= "func/wd.html#wdWindow"
+            },
+            {
+              name= {nl= "GetWindow"},
+              link= "func/wd.html#wdGetWindow"
+            },
+            {
+              name= {nl= "Viewport"},
+              link= "func/wd.html#wdViewport"
+            },
+            {
+              name= {nl= "GetViewport"},
+              link= "func/wd.html#wdGetViewport"
+            },
+            {
+              name= {nl= "World2Canvas"},
+              link= "func/wd.html#wdWorld2Canvas"
+            },
+            {
+              name= {nl= "Canvas2World"},
+              link= "func/wd.html#wdCanvas2World"
+            },
+            {
+              name= {en= "Extra"},
+              folder=
+              {
+                {
+                  name= {nl= "Hardcopy"},
+                  link= "func/wd.html#wdHardcopy"
+                }
+              }
+            }
+          }
+        },
+        {
+          name= {en= "General Attributes"},
+          folder=
+          {
+            {
+              name= {nl= "Foreground"},
+              link= "func/attributes.html#cdForeground"
+            },
+            {
+              name= {nl= "Background"},
+              link= "func/attributes.html#cdBackground"
+            },
+            {
+              name= {nl= "WriteMode"},
+              link= "func/attributes.html#cdWriteMode"
+            }
+          }
+        },
+        {
+          name= {nl= "Clipping"},
+          link= "func/clipping.html",
+          folder=
+          {
+            {
+              name= {nl= "Clip"},
+              link= "func/clipping.html#cdClip"
+            },
+            {
+              name= {nl= "ClipArea"},
+              link= "func/clipping.html#cdClipArea"
+            },
+            {
+              name= {nl= "GetClipArea"},
+              link= "func/clipping.html#cdGetClipArea"
+            },
+            {
+              name= {nl= "Polygons"},
+              link= "func/clipping.html#Polygons"
+            },
+            {
+              name= {nl= "Regions"},
+              link= "func/region.html",
+              folder=
+              {
+                {
+                  name= {nl= "Creating"},
+                  link= "func/region.html#Creating"
+                },
+                {
+                  name= {nl= "RegionCombineMode"},
+                  link= "func/region.html#cdRegionCombineMode"
+                },
+                {
+                  name= {nl= "RegionCombineMode"},
+                  link= "func/region.html#cdRegionCombineMode"
+                },
+                {
+                  name= {nl= "PointInRegion"},
+                  link= "func/region.html#cdPointInRegion"
+                },
+                {
+                  name= {nl= "OffsetRegion"},
+                  link= "func/region.html#cdOffsetRegion"
+                },
+                {
+                  name= {nl= "RegionBox"},
+                  link= "func/region.html#cdRegionBox"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    {
+      name= {en= "Primitives"},
+      folder=
+      {
+        {
+          name= {en= "Marks"},
+          link= "func/marks.html",
+          folder=
+          {
+            {
+              name= {nl= "Pixel"},
+              link= "func/marks.html#cdPixel"
+            },
+            {
+              name= {nl= "Mark"},
+              link= "func/marks.html#cdMark"
+            },
+            {
+              name= {en= "Attributes"},
+              folder=
+              {
+                {
+                  name= {nl= "MarkType"},
+                  link= "func/marks.html#cdMarkType"
+                },
+                {
+                  name= {nl= "MarkSize"},
+                  link= "func/marks.html#cdMarkSize"
+                }
+              }
+            }
+          }
+        },
+        {
+          name= {en= "Lines"},
+          link= "func/lines.html",
+          folder=
+          {
+            {
+              name= {nl= "Line"},
+              link= "func/lines.html#cdLine"
+            },
+            {
+              name= {nl= "Line Polygons/Bezier Curves"},
+              link= "func/lines.html#Polygons",
+              folder=
+              {
+                {
+                  name= {nl= "Polygons and Regions"},
+                  link= "func/polygon.html"
+                }
+              }
+            },
+            {
+              name= {nl= "Rect"},
+              link= "func/lines.html#cdRect"
+            },
+            {
+              name= {nl= "Arc"},
+              link= "func/lines.html#cdArc"
+            },
+            {
+              name= {en= "Attributes"},
+              folder=
+              {
+                {
+                  name= {nl= "LineStyle"},
+                  link= "func/lines.html#cdLineStyle"
+                },
+                {
+                  name= {nl= "LineStyleDashes"},
+                  link= "func/lines.html#cdLineStyleDashes"
+                },
+                {
+                  name= {nl= "LineWidth"},
+                  link= "func/lines.html#cdLineWidth"
+                },
+                {
+                  name= {nl= "LineJoin"},
+                  link= "func/lines.html#cdLineJoin"
+                },
+                {
+                  name= {nl= "LineCap"},
+                  link= "func/lines.html#cdLineCap"
+                }
+              }
+            }
+          }
+        },
+        {
+          name= {en= "Filled Areas"},
+          link= "func/filled.html",
+          folder=
+          {
+            {
+              name= {nl= "Polygons"},
+              link= "func/filled.html#Polygons"
+            },
+            {
+              name= {nl= "Box"},
+              link= "func/filled.html#cdBox"
+            },
+            {
+              name= {nl= "Sector"},
+              link= "func/filled.html#cdSector"
+            },
+            {
+              name= {nl= "Chord"},
+              link= "func/filled.html#cdChord"
+            },
+            {
+              name= {en= "Attributes"},
+              folder=
+              {
+                {
+                  name= {nl= "BackOpacity"},
+                  link= "func/filled.html#cdBackOpacity"
+                },
+                {
+                  name= {nl= "FillMode"},
+                  link= "func/filled.html#cdFillMode"
+                },
+                {
+                  name= {nl= "InteriorStyle"},
+                  link= "func/filled.html#cdInteriorStyle"
+                },
+                {
+                  name= {nl= "Hatch"},
+                  link= "func/filled.html#cdHatch"
+                },
+                {
+                  name= {nl= "Stipple"},
+                  link= "func/filled.html#cdStipple"
+                },
+                {
+                  name= {nl= "Stipple (WC)"},
+                  link= "func/filled.html#wdStipple"
+                },
+                {
+                  name= {nl= "GetStipple"},
+                  link= "func/filled.html#cdGetStipple"
+                },
+                {
+                  name= {nl= "Pattern"},
+                  link= "func/filled.html#cdPattern"
+                },
+                {
+                  name= {nl= "Pattern (WC)"},
+                  link= "func/filled.html#wdPattern"
+                },
+                {
+                  name= {nl= "GetPattern"},
+                  link= "func/filled.html#cdGetPattern"
+                },
+                {
+                  name= {nl= "Data Access"},
+                  link= "func/filled.html#DataAccess"
+                }
+              }
+            },
+            {
+              name= {en= "Extras in Lua"},
+              folder=
+              {
+                {
+                  name= {nl= "CreatePattern"},
+                  link= "func/filled.html#cdCreatePattern"
+                },
+                {
+                  name= {nl= "KillPattern"},
+                  link= "func/filled.html#cdKillPattern"
+                },
+                {
+                  name= {nl= "CreateStipple"},
+                  link= "func/filled.html#cdCreateStipple"
+                },
+                {
+                  name= {nl= "KillStipple"},
+                  link= "func/filled.html#cdKillStipple"
+                }
+              }
+            }
+          }
+        },
+        {
+          name= {en= "Text"},
+          link= "func/text.html",
+          folder=
+          {
+            {
+              name= {nl= "Text"},
+              link= "func/text.html#cdText"
+            },
+            {
+              name= {en= "Attributes"},
+              folder=
+              {
+                {
+                  name= {nl= "Font"},
+                  link= "func/text.html#cdFont"
+                },
+                {
+                  name= {nl= "GetFont"},
+                  link= "func/text.html#cdGetFont"
+                },
+                {
+                  name= {nl= "NativeFont"},
+                  link= "func/text.html#cdNativeFont"
+                },
+                {
+                  name= {nl= "TextAlignment"},
+                  link= "func/text.html#cdTextAlignment"
+                },
+                {
+                  name= {nl= "TextOrientation"},
+                  link= "func/text.html#cdTextOrientation"
+                }
+              }
+            },
+            {
+              name= {en= "Properties"},
+              folder=
+              {
+                {
+                  name= {nl= "FontDim"},
+                  link= "func/text.html#cdFontDim"
+                },
+                {
+                  name= {nl= "TextSize"},
+                  link= "func/text.html#cdTextSize"
+                },
+                {
+                  name= {nl= "TextBox"},
+                  link= "func/text.html#cdTextBox"
+                },
+                {
+                  name= {nl= "TextBounds"},
+                  link= "func/text.html#cdTextBounds"
+                }
+              }
+            }
+          }
+        },
+        {
+          name= {en= "Vector Text"},
+          link= "func/vectortext.html",
+          folder=
+          {
+            {
+              name= {nl= "VectorText"},
+              link= "func/vectortext.html#cdVectorText"
+            },
+            {
+              name= {nl= "MultiLineVectorText"},
+              link= "func/vectortext.html#cdMultiLineVectorText"
+            },
+            {
+              name= {en= "Attributes"},
+              folder=
+              {
+                {
+                  name= {nl= "VectorTextDirection"},
+                  link= "func/vectortext.html#cdVectorTextDirection"
+                },
+                {
+                  name= {nl= "VectorTextTransform"},
+                  link= "func/vectortext.html#cdVectorTextTransform"
+                },
+                {
+                  name= {nl= "VectorTextSize"},
+                  link= "func/vectortext.html#cdVectorTextSize"
+                },
+                {
+                  name= {nl= "VectorCharSize"},
+                  link= "func/vectortext.html#cdVectorCharSize"
+                },
+                {
+                  name= {nl= "VectorFont"},
+                  link= "func/vectortext.html#cdVectorFont"
+                }
+              }
+            },
+            {
+              name= {en= "Properties"},
+              folder=
+              {
+                {
+                  name= {nl= "GetVectorTextSize"},
+                  link= "func/vectortext.html#cdGetVectorTextSize"
+                },
+                {
+                  name= {nl= "GetVectorTextBounds"},
+                  link= "func/vectortext.html#cdGetVectorTextBounds"
+                }
+              }
+            }
+          }
+        },
+        {
+          name= {en= "Client Images"},
+          link= "func/client.html",
+          folder=
+          {
+            {
+              name= {nl= "GetImageRGB"},
+              link= "func/client.html#cdGetImageRGB"
+            },
+            {
+              name= {nl= "PutImageRectRGB"},
+              link= "func/client.html#cdPutImageRectRGB"
+            },
+            {
+              name= {nl= "PutImageRectRGBA"},
+              link= "func/client.html#cdPutImageRectRGBA"
+            },
+            {
+              name= {nl= "PutImageRectMap"},
+              link= "func/client.html#cdPutImageRectMap"
+            },
+            {
+              name= {nl= "RGB2Map"},
+              link= "func/client.html#cdRGB2Map"
+            },
+            {
+              name= {en= "Extras"},
+              folder=
+              {
+                {
+                  name= {nl= "CreateBitmap"},
+                  link= "func/client.html#cdCreateBitmap"
+                },
+                {
+                  name= {nl= "InitBitmap"},
+                  link= "func/client.html#cdInitBitmap"
+                },
+                {
+                  name= {nl= "KillBitmap"},
+                  link= "func/client.html#cdKillBitmap"
+                },
+                {
+                  name= {nl= "BitmapGetData"},
+                  link= "func/client.html#cdBitmapGetData"
+                },
+                {
+                  name= {nl= "BitmapSetRect"},
+                  link= "func/client.html#cdBitmapSetRect"
+                },
+                {
+                  name= {nl= "GetBitmap"},
+                  link= "func/client.html#cdGetBitmap"
+                },
+                {
+                  name= {nl= "PutBitmap"},
+                  link= "func/client.html#cdPutBitmap"
+                },
+                {
+                  name= {nl= "BitmapRGB2Map"},
+                  link= "func/client.html#cdBitmapRGB2Map"
+                }
+              }
+            },
+            {
+              name= {en= "Extras in Lua"},
+              folder=
+              {
+                {
+                  name= {nl= "CreateImageRGB"},
+                  link= "func/client.html#cdCreateImageRGB"
+                },
+                {
+                  name= {nl= "KillImageRGB"},
+                  link= "func/client.html#cdKillImageRGB"
+                },
+                {
+                  name= {nl= "CreateImageRGBA"},
+                  link= "func/client.html#cdCreateImageRGBA"
+                },
+                {
+                  name= {nl= "KillImageRGBA"},
+                  link= "func/client.html#cdKillImageRGBA"
+                },
+                {
+                  name= {nl= "CreateImageMap"},
+                  link= "func/client.html#cdCreateImageMap"
+                },
+                {
+                  name= {nl= "KillImageMap"},
+                  link= "func/client.html#cdKillImageMap"
+                },
+                {
+                  name= {nl= "Data Access"},
+                  link= "func/client.html#DataAccess"
+                }
+              }
+            }
+          }
+        },
+        {
+          name= {en= "Server Images"},
+          link= "func/server.html",
+          folder=
+          {
+            {
+              name= {nl= "CreateImage"},
+              link= "func/server.html#cdCreateImage"
+            },
+            {
+              name= {nl= "KillImage"},
+              link= "func/server.html#cdKillImage"
+            },
+            {
+              name= {nl= "GetImage"},
+              link= "func/server.html#cdGetImage"
+            },
+            {
+              name= {nl= "PutImageRect"},
+              link= "func/server.html#cdPutImageRect"
+            },
+            {
+              name= {nl= "ScrollArea"},
+              link= "func/server.html#cdScrollArea"
+            }
+          }
+        }
+      }
+    },
+    {
+      name= {en= "Other"},
+      folder=
+      {
+        {
+          name= {en= "System", pt= "Sistema"},
+          folder=
+          {
+            {
+              name= {nl= "Version"},
+              link= "func/other.html#cdVersion"
+            }
+          }
+        },
+        {
+          name= {en= "Metafile Interpretation", pt= "Interpreta��o de Metafiles"},
+          folder=
+          {
+            {
+              name= {nl= "Play"},
+              link= "func/other.html#cdPlay"
+            },
+            {
+              name= {nl= "RegisterCallback"},
+              link= "func/other.html#cdRegisterCallback"
+            }
+          }
+        },
+        {
+          name= {en= "Color Coding", pt= "Codifica��o de Cores"},
+          folder=
+          {
+            {
+              name= {nl= "EncodeColor"},
+              link= "func/color.html#cdEncodeColor"
+            },
+            {
+              name= {nl= "DecodeColor"},
+              link= "func/color.html#cdDecodeColor"
+            },
+            {
+              name= {nl= "EncodeAlpha"},
+              link= "func/color.html#cdEncodeAlpha"
+            },
+            {
+              name= {nl= "DecodeAlpha"},
+              link= "func/color.html#cdDecodeAlpha"
+            },
+            {
+              name= {nl= "Red"},
+              link= "func/color.html#cdRed"
+            },
+            {
+              name= {nl= "Green"},
+              link= "func/color.html#cdGreen"
+            },
+            {
+              name= {nl= "Blue"},
+              link= "func/color.html#cdBlue"
+            },
+            { link= "", name= {en= "" } },
+            {
+              name= {nl= "GetColorPlanes"},
+              link= "func/color.html#cdGetColorPlanes"
+            },
+            {
+              name= {nl= "Palette"},
+              link= "func/color.html#cdPalette"
+            },
+            {
+              name= {nl= "CreatePalette"},
+              link= "func/color.html#cdCreatePalette"
+            },
+            {
+              name= {nl= "KillPalette"},
+              link= "func/color.html#cdKillPalette"
+            }
+          }
+        }
+      }
+    },
+    {
+      name= {nl= "Drivers"},
+      link= "drv.html",
+      folder=
+      {
+        {
+          name= {en= "Window Systems", pt= "Sistemas de Janelas"},
+          folder=
+          {
+            {
+              name= {nl= "IUP"},
+              link= "drv/iup.html"
+            },
+            {
+              name= {nl= "Native Window"},
+              link= "drv/native.html"
+            }
+          }
+        },
+        {
+          name= {en= "Devices", pt= "Dispositivos"},
+          folder=
+          {
+            {
+              name= {nl= "Clipboard"},
+              link= "drv/clipbd.html"
+            },
+            {
+              name= {en= "Printer", pt= "Impressora"},
+              link= "drv/printer.html"
+            },
+            {
+              name= {en= "Picture"},
+              link= "drv/picture.html"
+            }
+          }
+        },
+        {
+          name= {en= "Images", pt= "Mem�ria"},
+          folder=
+          {
+            {
+              name= {en= "Client Image", pt= "Imagem de Cliente"},
+              link= "drv/irgb.html"
+            },
+            {
+              name= {en= "Server Image", pt= "Imagem de Servidor"},
+              link= "drv/image.html"
+            },
+            {
+              name= {nl= "Client Double Buffer"},
+              link= "drv/dbufrgb.html"
+            },
+            {
+              name= {nl= "Server Double Buffer"},
+              link= "drv/dbuf.html"
+            }
+          }
+        },
+        {
+          name= {en= "File", pt= "Arquivo"},
+          folder=
+          {
+            {
+              name= {nl= "PDF"},
+              link= "drv/pdf.html"
+            },
+            {
+              name= {nl= "PS"},
+              link= "drv/ps.html"
+            },
+            {
+              name= {nl= "MF"},
+              link= "drv/mf.html"
+            },
+            { link= "", name= {en= "" } },
+            {
+              name= {nl= "CGM"},
+              link= "drv/cgm.html"
+            },
+            {
+              name= {nl= "DGN"},
+              link= "drv/dgn.html"
+            },
+            {
+              name= {nl= "DXF"},
+              link= "drv/dxf.html"
+            },
+            { link= "", name= {en= "" } },
+            {
+              name= {nl= "EMF"},
+              link= "drv/emf.html"
+            },
+            {
+              name= {nl= "WMF"},
+              link= "drv/wmf.html"
+            },
+            {
+              name= {nl= "DEBUG"},
+              link= "drv/debug.html"
+            }
+          }
+        },
+        {
+          name= {en= "Base Drivers"},
+          folder=
+          {
+            {
+              name= {en= "Simulation"},
+              link= "drv/sim.html"
+            },
+            {
+              name= {nl= "Win32"},
+              link= "drv/win32.html"
+            },
+            {
+              name= {nl= "Win32 GDI+"},
+              link= "drv/gdiplus.html"
+            },
+            {
+              name= {nl= "X-Win"},
+              link= "drv/xwin.html"
+            },
+            {
+              name= {nl= "XRender"},
+              link= "drv/xrender.html"
+            }
+          }
+        }
+      }
+    }
+  }
+} 
diff --git a/html/wb_bar.html b/html/wb_bar.html
new file mode 100644
index 0000000..0061ea8
--- /dev/null
+++ b/html/wb_bar.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
+<html>
+<head>
+  <meta http-equiv="Content-Language" content="en-us" >
+  <title>Bar</title>
+  <base target="wb_cont">
+  <style type="text/css">
+  .navigation{
+    padding: 0;
+    margin: 0;
+    white-space: nowrap;
+    border: 1px solid #7F93C7;
+    background-color: #FFFFFF;
+    line-height: 19px;
+  }
+  .navigation p { margin: 1px; white-space: nowrap; }
+  .navigation img { vertical-align: middle; }
+  </style>
+</head>
+
+<body style="margin: 2px; background-color: #F1F1F1"> 
+  <div class="navigation">
+    <p><a target="_blank" href="http://www.tecgraf.puc-rio.br/webbook"><img src="wb_img/webbook.png" onmouseover="this.src='wb_img/webbook_over.png'" onmouseout="this.src='wb_img/webbook.png'" style="border-width: 0px"></a><img src="wb_img/barlineleft.png"><img alt="Expand All Nodes" src="wb_img/showall.png" onclick="parent.wb_tree.showAllFolders()" onmouseover="this.src='wb_img/showall_over.png'" onmouseout="this.src='wb_img/showall.png'"><img alt="Contract All Nodes" src="wb_img/hideall.png" onclick="parent.wb_tree.hideAllFolders()" onmouseover="this.src='wb_img/hideall_over.png'" onmouseout="this.src='wb_img/hideall.png'"><img alt="Sync Tree with Contents" src="wb_img/sync.png" onclick="parent.wb_tree.syncContents()" onmouseover="this.src='wb_img/sync_over.png'" onmouseout="this.src='wb_img/sync.png'"><img alt="Next Link" src="wb_img/next.png" onclick="parent.wb_tree.nextContents()" onmouseover="this.src='wb_img/next_over.png'" onmouseout="this.src='wb_img/next.png'"><img alt="Previous Link" src="wb_img/previous.png" onclick="parent.wb_tree.prevContents()" onmouseover="this.src='wb_img/previous_over.png'" onmouseout="this.src='wb_img/previous.png'"></p>
+  </div>
+</body>
+</html>
diff --git a/html/wb_img/barlineleft.png b/html/wb_img/barlineleft.png
new file mode 100644
index 0000000..3b8858e
Binary files /dev/null and b/html/wb_img/barlineleft.png differ
diff --git a/html/wb_img/barlineright.png b/html/wb_img/barlineright.png
new file mode 100644
index 0000000..39f03eb
Binary files /dev/null and b/html/wb_img/barlineright.png differ
diff --git a/html/wb_img/blank.png b/html/wb_img/blank.png
new file mode 100644
index 0000000..5303313
Binary files /dev/null and b/html/wb_img/blank.png differ
diff --git a/html/wb_img/google.gif b/html/wb_img/google.gif
new file mode 100644
index 0000000..91a5efd
Binary files /dev/null and b/html/wb_img/google.gif differ
diff --git a/html/wb_img/hideall.png b/html/wb_img/hideall.png
new file mode 100644
index 0000000..c738bab
Binary files /dev/null and b/html/wb_img/hideall.png differ
diff --git a/html/wb_img/hideall_over.png b/html/wb_img/hideall_over.png
new file mode 100644
index 0000000..91ccc55
Binary files /dev/null and b/html/wb_img/hideall_over.png differ
diff --git a/html/wb_img/lng_en.png b/html/wb_img/lng_en.png
new file mode 100644
index 0000000..e57fee9
Binary files /dev/null and b/html/wb_img/lng_en.png differ
diff --git a/html/wb_img/lng_en_over.png b/html/wb_img/lng_en_over.png
new file mode 100644
index 0000000..180df61
Binary files /dev/null and b/html/wb_img/lng_en_over.png differ
diff --git a/html/wb_img/lng_es.png b/html/wb_img/lng_es.png
new file mode 100644
index 0000000..7fdf889
Binary files /dev/null and b/html/wb_img/lng_es.png differ
diff --git a/html/wb_img/lng_es_over.png b/html/wb_img/lng_es_over.png
new file mode 100644
index 0000000..5fada13
Binary files /dev/null and b/html/wb_img/lng_es_over.png differ
diff --git a/html/wb_img/lng_pt.png b/html/wb_img/lng_pt.png
new file mode 100644
index 0000000..65424e7
Binary files /dev/null and b/html/wb_img/lng_pt.png differ
diff --git a/html/wb_img/lng_pt_over.png b/html/wb_img/lng_pt_over.png
new file mode 100644
index 0000000..5f78935
Binary files /dev/null and b/html/wb_img/lng_pt_over.png differ
diff --git a/html/wb_img/minusnode.png b/html/wb_img/minusnode.png
new file mode 100644
index 0000000..06a3f95
Binary files /dev/null and b/html/wb_img/minusnode.png differ
diff --git a/html/wb_img/minusnodelast.png b/html/wb_img/minusnodelast.png
new file mode 100644
index 0000000..c2175e8
Binary files /dev/null and b/html/wb_img/minusnodelast.png differ
diff --git a/html/wb_img/next.png b/html/wb_img/next.png
new file mode 100644
index 0000000..4ab1ea8
Binary files /dev/null and b/html/wb_img/next.png differ
diff --git a/html/wb_img/next_over.png b/html/wb_img/next_over.png
new file mode 100644
index 0000000..38e99e0
Binary files /dev/null and b/html/wb_img/next_over.png differ
diff --git a/html/wb_img/node.png b/html/wb_img/node.png
new file mode 100644
index 0000000..a2bb501
Binary files /dev/null and b/html/wb_img/node.png differ
diff --git a/html/wb_img/nodelast.png b/html/wb_img/nodelast.png
new file mode 100644
index 0000000..e76fce1
Binary files /dev/null and b/html/wb_img/nodelast.png differ
diff --git a/html/wb_img/plusnode.png b/html/wb_img/plusnode.png
new file mode 100644
index 0000000..f7184fe
Binary files /dev/null and b/html/wb_img/plusnode.png differ
diff --git a/html/wb_img/plusnodelast.png b/html/wb_img/plusnodelast.png
new file mode 100644
index 0000000..cd71b58
Binary files /dev/null and b/html/wb_img/plusnodelast.png differ
diff --git a/html/wb_img/previous.png b/html/wb_img/previous.png
new file mode 100644
index 0000000..4f2e084
Binary files /dev/null and b/html/wb_img/previous.png differ
diff --git a/html/wb_img/previous_over.png b/html/wb_img/previous_over.png
new file mode 100644
index 0000000..8d0f5d5
Binary files /dev/null and b/html/wb_img/previous_over.png differ
diff --git a/html/wb_img/sepblank.png b/html/wb_img/sepblank.png
new file mode 100644
index 0000000..1d0f883
Binary files /dev/null and b/html/wb_img/sepblank.png differ
diff --git a/html/wb_img/sepnode.png b/html/wb_img/sepnode.png
new file mode 100644
index 0000000..ba21cda
Binary files /dev/null and b/html/wb_img/sepnode.png differ
diff --git a/html/wb_img/sepvertline.png b/html/wb_img/sepvertline.png
new file mode 100644
index 0000000..9df6565
Binary files /dev/null and b/html/wb_img/sepvertline.png differ
diff --git a/html/wb_img/showall.png b/html/wb_img/showall.png
new file mode 100644
index 0000000..4c9d7bf
Binary files /dev/null and b/html/wb_img/showall.png differ
diff --git a/html/wb_img/showall_over.png b/html/wb_img/showall_over.png
new file mode 100644
index 0000000..5192a15
Binary files /dev/null and b/html/wb_img/showall_over.png differ
diff --git a/html/wb_img/sync.png b/html/wb_img/sync.png
new file mode 100644
index 0000000..672f0af
Binary files /dev/null and b/html/wb_img/sync.png differ
diff --git a/html/wb_img/sync_over.png b/html/wb_img/sync_over.png
new file mode 100644
index 0000000..9b85701
Binary files /dev/null and b/html/wb_img/sync_over.png differ
diff --git a/html/wb_img/title_background.png b/html/wb_img/title_background.png
new file mode 100644
index 0000000..c91c6b1
Binary files /dev/null and b/html/wb_img/title_background.png differ
diff --git a/html/wb_img/vertline.png b/html/wb_img/vertline.png
new file mode 100644
index 0000000..f123aea
Binary files /dev/null and b/html/wb_img/vertline.png differ
diff --git a/html/wb_img/webbook.png b/html/wb_img/webbook.png
new file mode 100644
index 0000000..db94ca6
Binary files /dev/null and b/html/wb_img/webbook.png differ
diff --git a/html/wb_img/webbook_over.png b/html/wb_img/webbook_over.png
new file mode 100644
index 0000000..79c1c71
Binary files /dev/null and b/html/wb_img/webbook_over.png differ
diff --git a/html/wb_search.txt b/html/wb_search.txt
new file mode 100644
index 0000000..6c1523f
--- /dev/null
+++ b/html/wb_search.txt
@@ -0,0 +1,56 @@
+en/download.html
+en/drv/debug.html
+en/func/server.html
+en/func/wd.html
+en/func/client.html
+en/func/region.html
+en/drv/sim.html
+en/drv/native.html
+en/func/control.html
+en/drv/xrender.html
+en/func/vectortext.html
+en/cvs.html
+en/func/init.html
+en/drv/irgb.html
+en/drv/picture.html
+en/func/attributes.html
+en/drv/gdiplus.html
+en/func/text.html
+en/func/filled.html
+en/prod.html
+en/drv/win32.html
+en/samples.html
+en/drv/ps.html
+en/drv/emf.html
+en/to_do.html
+en/func/marks.html
+en/drv.html
+en/internal.html
+en/drv/cgm.html
+en/drv/mf.html
+en/drv/wmf.html
+en/drv/pdf.html
+en/drv/dxf.html
+en/copyright.html
+en/drv/dbufrgb.html
+en/drv/iup.html
+en/drv/xwin.html
+en/drv/printer.html
+en/cdluaim.html
+en/guide.html
+en/drv/dgn.html
+en/drv/image.html
+en/func/color.html
+en/cdlua.html
+en/drv/clipbd.html
+en/func/coordinates.html
+en/func/lines.html
+en/func/polygon.html
+en/drv/dbuf.html
+en/func/other.html
+en/toolkits.html
+en/func/clipping.html
+en/home.html
+en/canvas.html
+en/history.html
+en/download_tips.html
diff --git a/html/wb_title.html b/html/wb_title.html
new file mode 100644
index 0000000..ac9ee27
--- /dev/null
+++ b/html/wb_title.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<title>Title</title>
+<base target="wb_cont">
+<style type="text/css">
+td.title {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 16pt;
+  font-weight: bold;
+  color: #FFFFFF;
+  text-align: left;
+  vertical-align: middle;
+}
+td.contact {
+  text-align: center;
+  vertical-align: middle;
+  width: 11em;
+}
+a.contact {
+  font-family: Arial, Helvetica, sans-serif;
+  color: #0962BB;
+  font-size: 9pt;
+  text-decoration: none;
+  font-weight: bold;
+}
+a.contact:hover {
+  text-decoration: underline;
+}
+</style>
+</head>
+
+<body style="background-color: #3366CC; margin-left: 3px; margin-right: 3px; margin-top: 2px; margin-bottom: 0; background-image: url('wb_img/title_background.png');">
+
+<table style="width: 100%" cellspacing="0" cellpadding="0">
+  <tr>
+    <td style="width: 50px;"><img src="logo.gif"></td>
+    <td class="title">CD - Version 5.1</td>
+    <td style="width: 3.5em">
+     <a class="contact" href="ssSearch.html">SimpleSearch</a>
+     </td>
+    <td style="width: 11em">
+      <FORM method=GET action="http://www.google.com/search" style="margin-bottom: 0; margin: 0; text-align: center; ">
+      <input type=hidden name=ie value=UTF-8>
+      <input type=hidden name=oe value=UTF-8>
+      <INPUT TYPE=text name=q size=21 maxlength=255 value=""><br>
+      <A HREF="http://www.google.com/"><IMG SRC="wb_img/google.gif" border="0" ALT="Google"></A>
+      <INPUT type=submit name=btnG VALUE="Search" style="height: 21px; vertical-align: top; font-size: x-small;">
+      <input type=hidden name=domains value="http://www.tecgraf.puc-rio.br/cd">
+      <input type=hidden name=sitesearch value="http://www.tecgraf.puc-rio.br/cd" checked>
+      <input type=hidden name=sitesearch value="">
+      </FORM>
+    </td>
+    <td class="contact">
+     <a class="contact" target="_blank" href="http://www.tecgraf.puc-rio.br">� Tecgraf/PUC-Rio</a>
+     <br>
+     <a class="contact" href="mailto:cd@tecgraf.puc-rio.br">(cd@tecgraf.puc-rio.br)</a>
+     </td>
+  </tr>
+</table>
+
+</body>
+
+</html>
diff --git a/html/wb_tree.html b/html/wb_tree.html
new file mode 100644
index 0000000..74cbc45
--- /dev/null
+++ b/html/wb_tree.html
@@ -0,0 +1,543 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
+<html>
+<head>
+  <meta http-equiv="Content-Language" content="en-us" >
+  <title>Tree</title>
+  <base target="wb_cont">
+  <style type="text/css">
+  .tree { font-family: helvetica, sans-serif; font-size: 10pt; }
+  .tree h3 {
+    margin: 5px 0px 0px 0px;
+    font-size: 12pt;
+  }
+  .tree p { margin: 0px; white-space: nowrap; }
+  .tree p.sep { margin: 0px; white-space: nowrap; line-height: 8px; font-size: 5px; }
+  .tree div { display: none; margin: 0px; }
+  .tree img { vertical-align: middle; }
+  .tree a.el { text-decoration: none; margin-left: 4px; color: #003366; }
+  .tree a:hover { text-decoration: none; background-color: #e0e0ff }
+  </style>
+  <script type="text/javascript">
+  lastLink = null;
+  
+  function hideFolder(folder, id) 
+  {
+    var imageNode = document.images["img" + id];
+    if (imageNode != null) 
+    {
+      var len = imageNode.src.length;
+      if (imageNode.src.substring(len-8,len-4) == "last")
+        imageNode.src = "wb_img/plusnodelast.png";
+      else if (imageNode.src.substring(len-8,len-4) == "node")
+        imageNode.src = "wb_img/plusnode.png";
+    }                          
+    folder.style.display = "none";
+  }
+  
+  function showFolder(folder, id) 
+  {
+    var imageNode = document.images["img" + id];
+    if (imageNode != null) 
+    {
+      var len = imageNode.src.length;
+      if (imageNode.src.substring(len-8,len-4) == "last")
+        imageNode.src = "wb_img/minusnodelast.png";
+      else if (imageNode.src.substring(len-8,len-4) == "node")
+        imageNode.src = "wb_img/minusnode.png";
+    }
+    folder.style.display = "block";
+  }    
+
+  function toggleFolder(id) 
+  {
+    var folder = document.getElementById(id);
+    if (folder.style.display == "block") 
+      hideFolder(folder, id);
+    else 
+      showFolder(folder, id);
+  }
+  
+  function setFoldersAtLevel(level, show) 
+  {                                    
+    var i = 1;
+    do
+    {
+      var folder_id = level + "." + i;
+      var id = "folder" + folder_id;
+      var folder = document.getElementById(id);
+      if (folder != null)
+      {
+        setFoldersAtLevel(folder_id, show);
+        
+        if (show)
+          showFolder(folder, id);
+        else
+          hideFolder(folder, id);
+      }
+      i++;
+    } while(folder != null);
+  }
+    
+  function showAllFolders() 
+  {                                    
+    setFoldersAtLevel("", true); 
+  }
+  
+  function hideAllFolders() 
+  {                                    
+    setFoldersAtLevel("", false); 
+  }
+  
+  function getFolderId(name)
+  {  
+    return name.substring(name.indexOf("folder"), name.length);
+  }
+  
+  function showFolderRec(id)
+  {
+    var folder = document.getElementById(id);
+    if (folder != null)
+    {
+      showFolder(folder, id);
+      
+      var parent_id = id.substring(0, id.lastIndexOf("."))
+      if (parent_id != null && parent_id != "folder")
+      {
+         showFolderRec(parent_id)
+      }
+    }
+  }           
+  
+  function clearLastLink()
+  {
+    if (lastLink != null)
+    {
+      lastLink.style.color = ""  
+      lastLink = null;
+    }
+  }                 
+  
+  function goToLink(link)
+  {                  
+    var id = getFolderId(link.name);
+    showFolderRec(id);
+    location.hash = "#" + link.name;
+    link.style.color = "#ff0000";  
+    
+    clearLastLink();
+    lastLink = link;
+  }
+
+  function syncContents()
+  {
+    var cur_topic = parent.wb_cont.location.href 
+    
+    for (var i = 0; i < document.links.length; i++) 
+    {      
+      var link = document.links[i];
+      if (cur_topic == link.href)
+      {                  
+        goToLink(link)
+        return
+      }
+    }                                 
+  }
+  
+  function nextContents()
+  {
+    var cur_topic = parent.wb_cont.location.href 
+                                                
+    for (var i = 0; i < document.links.length; i++) 
+    {      
+      var link = document.links[i];
+      if (cur_topic == link.href)
+      {        
+        if (i == document.links.length-1)
+          link = document.links[0];
+        else
+          link = document.links[i+1];  
+          
+        goToLink(link)
+        parent.wb_cont.location.href = link.href;
+        return
+      }
+    }                                 
+  }
+  
+  function prevContents()
+  {
+    var cur_topic = parent.wb_cont.location.href 
+    var prev_link = document.links[document.links.length-1]
+    
+    for (var i = 0; i < document.links.length; i++) 
+    {      
+      var link = document.links[i];
+      if (cur_topic == link.href)
+      {        
+        if (i == 0)
+          link = document.links[document.links.length-1];
+        else
+          link = document.links[i-1];
+          
+        goToLink(link)
+        parent.wb_cont.location.href = link.href;
+        return
+      }
+    }                                 
+  }
+    
+  function showStartPage()
+  {
+    var full_url = parent.document.URL;
+    if (full_url == null)
+      return; 
+      
+    var param = full_url.substring(full_url.indexOf("?") + 1, full_url.length);
+    if (param == null)
+      return;
+      
+    var param_url = param.substring(param.indexOf("url=") + 4, param.length);
+    if (param_url == null)
+      return;
+                                        
+    var param_len = param_url.length;                                    
+    for (var i = 0; i < document.links.length; i++) 
+    {      
+      var link = document.links[i];
+      var link_url = link.href.substring(link.href.length-param_len, link.href.length)
+      if (link_url == param_url)
+      {
+        goToLink(link)
+        parent.wb_cont.location.href = link.href;
+        return
+      }
+    }                                 
+  }
+  </script>
+</head>
+
+<body style="margin: 2px; background-color: #F1F1F1" onload="showStartPage()"> 
+  <div class="tree" onmouseout="clearLastLink()">
+    <h3><a name="link0folder.0" class="el" href="en/home.html">CD</a></h3>
+      <p><img name="imgfolder.1" src="wb_img/minusnode.png" onclick="toggleFolder('folder.1')"><a name="link1folder.1" class="el" href="en/prod.html">Product</a></p>
+      <div id="folder.1" style="display:block">
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link2folder.1" href="en/prod.html#Overview">Overview</a></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link3folder.1" href="en/prod.html#Availability">Availability</a></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link4folder.1" href="en/prod.html#Suport">Support</a></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link5folder.1" href="en/prod.html#Acknowledgments">Credits</a></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link6folder.1" href="en/prod.html#About">Documentation</a></p>
+        <p class="sep"><img src="wb_img/sepvertline.png"><img src="wb_img/sepnode.png"></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link7folder.1" href="en/copyright.html">Copyright/License</a></p>
+        <p><img src="wb_img/vertline.png"><img name="imgfolder.1.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.1.1')"><a name="link8folder.1.1" class="el" href="en/download.html">Download</a></p>
+        <div id="folder.1.1">
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link9folder.1.1" href="en/download_tips.html">Library Download Tips</a></p>
+        </div>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link10folder.1" href="en/cvs.html">CVS</a></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link11folder.1" href="en/history.html">History</a></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link12folder.1" href="en/to_do.html">To Do</a></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link13folder.1" href="en/toolkits.html">Comparing</a></p>
+      </div>
+      <p><img name="imgfolder.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.2')"><a name="link14folder.2" class="el" href="en/guide.html">Guide</a></p>
+      <div id="folder.2">
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link15folder.2" href="en/guide.html#start">Getting Started</a></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link16folder.2" href="en/guide.html#buildapp">Building Applications</a></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link17folder.2" href="en/guide.html#buildlib">Building the Library</a></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link18folder.2" href="en/guide.html#Environment">Environment Variables</a></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link19folder.2" href="en/guide.html#NewDriver">Implementing a Driver</a></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link20folder.2" href="en/guide.html#Play">Intercepting Primitives</a></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link21folder.2" href="en/guide.html#IUP">IUP Compatibility</a></p>
+        <p class="sep"><img src="wb_img/sepvertline.png"><img src="wb_img/sepnode.png"></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link22folder.2" href="en/internal.html">Internal Architecture</a></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link23folder.2" href="en/samples.html">Samples</a></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link24folder.2" href="en/cdlua.html">Lua Binding</a></p>
+        <p><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link25folder.2" href="en/cdluaim.html">CDLua+IMLua</a></p>
+      </div>
+      <p class="sep"><img src="wb_img/sepnode.png"></p>
+      <p><img name="imgfolder.3" src="wb_img/plusnode.png" onclick="toggleFolder('folder.3')"><a name="link26folder.3" class="el" href="en/canvas.html">Canvas</a></p>
+      <div id="folder.3">
+        <p><img src="wb_img/vertline.png"><img name="imgfolder.3.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.3.1')">  Initialization</p>
+        <div id="folder.3.1">
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link27folder.3.1" href="en/func/init.html#cdCreateCanvas">CreateCanvas</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link28folder.3.1" href="en/func/init.html#cdCreateCanvasf">CreateCanvasf</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link29folder.3.1" href="en/func/init.html#cdKillCanvas">KillCanvas</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link30folder.3.1" href="en/func/init.html#cdCanvasActivate">Activate</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link31folder.3.1" href="en/func/init.html#cdCanvasDeactivate">Deactivate</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link32folder.3.1" href="en/func/init.html#cdUseContextPlus">UseContextPlus</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link33folder.3.1" href="en/func/init.html#cdInitContextPlus">InitContextPlus</a></p>
+          <p class="sep"><img src="wb_img/sepvertline.png"><img src="wb_img/sepvertline.png"><img src="wb_img/sepnode.png"></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link34folder.3.1" href="en/func/init.html#cdGetContext">GetContext</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link35folder.3.1" href="en/func/init.html#cdContextCaps">ContextCaps</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link36folder.3.1" href="en/func/init.html#cdSimulate">Simulate</a></p>
+          <p class="sep"><img src="wb_img/sepvertline.png"><img src="wb_img/sepvertline.png"><img src="wb_img/sepnode.png"></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link37folder.3.1" href="en/func/init.html#cdlua_open">cdlua_open</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link38folder.3.1" href="en/func/init.html#cdlua_close">cdlua_close</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link39folder.3.1" href="en/func/init.html#cdlua_getcanvas">cdlua_getcanvas</a></p>
+        </div>
+        <p><img src="wb_img/vertline.png"><img name="imgfolder.3.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.3.2')">  Control</p>
+        <div id="folder.3.2">
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link40folder.3.2" href="en/func/control.html#cdClear">Clear</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link41folder.3.2" href="en/func/control.html#cdFlush">Flush</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link42folder.3.2" href="en/func/control.html#cdSaveState">SaveState</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link43folder.3.2" href="en/func/control.html#cdRestoreState">RestoreState</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link44folder.3.2" href="en/func/control.html#cdReleaseState">ReleaseState</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link45folder.3.2" href="en/func/control.html#cdSetAttribute">SetAttribute</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link46folder.3.2" href="en/func/control.html#cdSetfAttribute">SetfAttribute</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link47folder.3.2" href="en/func/control.html#cdGetAttribute">GetAttribute</a></p>
+        </div>
+        <p><img src="wb_img/vertline.png"><img name="imgfolder.3.3" src="wb_img/plusnode.png" onclick="toggleFolder('folder.3.3')">  Coordinate System</p>
+        <div id="folder.3.3">
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link48folder.3.3" href="en/func/coordinates.html#cdGetCanvasSize">GetCanvasSize</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link49folder.3.3" href="en/func/coordinates.html#cdUpdateYAxis">UpdateYAxis</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link50folder.3.3" href="en/func/coordinates.html#cdMM2Pixel">MM2Pixel</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link51folder.3.3" href="en/func/coordinates.html#cdPixel2MM">Pixel2MM</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link52folder.3.3" href="en/func/coordinates.html#cdOrigin">Origin</a></p>
+          <p class="sep"><img src="wb_img/sepvertline.png"><img src="wb_img/sepvertline.png"><img src="wb_img/sepnode.png"></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link53folder.3.3" href="en/func/coordinates.html#cdTransform">Transform</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link54folder.3.3" href="en/func/coordinates.html#cdGetTransform">GetTransform</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link55folder.3.3" href="en/func/coordinates.html#cdTransformMultiply">TransformMultiply</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link56folder.3.3" href="en/func/coordinates.html#cdTransformTranslate">TransformTranslate</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link57folder.3.3" href="en/func/coordinates.html#cdTransformScale">TransformScale</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link58folder.3.3" href="en/func/coordinates.html#cdTransformRotate">TransformRotate</a></p>
+        </div>
+        <p><img src="wb_img/vertline.png"><img name="imgfolder.3.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.3.4')"><a name="link59folder.3.4" class="el" href="en/func/wd.html">World Coordinates</a></p>
+        <div id="folder.3.4">
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link60folder.3.4" href="en/func/wd.html#wdWindow">Window</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link61folder.3.4" href="en/func/wd.html#wdGetWindow">GetWindow</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link62folder.3.4" href="en/func/wd.html#wdViewport">Viewport</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link63folder.3.4" href="en/func/wd.html#wdGetViewport">GetViewport</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link64folder.3.4" href="en/func/wd.html#wdWorld2Canvas">World2Canvas</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link65folder.3.4" href="en/func/wd.html#wdCanvas2World">Canvas2World</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.3.4.1" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.3.4.1')">  Extra</p>
+          <div id="folder.3.4.1">
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link66folder.3.4.1" href="en/func/wd.html#wdHardcopy">Hardcopy</a></p>
+          </div>
+        </div>
+        <p><img src="wb_img/vertline.png"><img name="imgfolder.3.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.3.5')">  General Attributes</p>
+        <div id="folder.3.5">
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link67folder.3.5" href="en/func/attributes.html#cdForeground">Foreground</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link68folder.3.5" href="en/func/attributes.html#cdBackground">Background</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link69folder.3.5" href="en/func/attributes.html#cdWriteMode">WriteMode</a></p>
+        </div>
+        <p><img src="wb_img/vertline.png"><img name="imgfolder.3.6" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.3.6')"><a name="link70folder.3.6" class="el" href="en/func/clipping.html">Clipping</a></p>
+        <div id="folder.3.6">
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link71folder.3.6" href="en/func/clipping.html#cdClip">Clip</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link72folder.3.6" href="en/func/clipping.html#cdClipArea">ClipArea</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link73folder.3.6" href="en/func/clipping.html#cdGetClipArea">GetClipArea</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link74folder.3.6" href="en/func/clipping.html#Polygons">Polygons</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img name="imgfolder.3.6.1" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.3.6.1')"><a name="link75folder.3.6.1" class="el" href="en/func/region.html">Regions</a></p>
+          <div id="folder.3.6.1">
+            <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link76folder.3.6.1" href="en/func/region.html#Creating">Creating</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link77folder.3.6.1" href="en/func/region.html#cdRegionCombineMode">RegionCombineMode</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link78folder.3.6.1" href="en/func/region.html#cdRegionCombineMode">RegionCombineMode</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link79folder.3.6.1" href="en/func/region.html#cdPointInRegion">PointInRegion</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link80folder.3.6.1" href="en/func/region.html#cdOffsetRegion">OffsetRegion</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link81folder.3.6.1" href="en/func/region.html#cdRegionBox">RegionBox</a></p>
+          </div>
+        </div>
+      </div>
+      <p><img name="imgfolder.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4')">  Primitives</p>
+      <div id="folder.4">
+        <p><img src="wb_img/vertline.png"><img name="imgfolder.4.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.1')"><a name="link82folder.4.1" class="el" href="en/func/marks.html">Marks</a></p>
+        <div id="folder.4.1">
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link83folder.4.1" href="en/func/marks.html#cdPixel">Pixel</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link84folder.4.1" href="en/func/marks.html#cdMark">Mark</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.1.1" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.4.1.1')">  Attributes</p>
+          <div id="folder.4.1.1">
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link85folder.4.1.1" href="en/func/marks.html#cdMarkType">MarkType</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link86folder.4.1.1" href="en/func/marks.html#cdMarkSize">MarkSize</a></p>
+          </div>
+        </div>
+        <p><img src="wb_img/vertline.png"><img name="imgfolder.4.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.2')"><a name="link87folder.4.2" class="el" href="en/func/lines.html">Lines</a></p>
+        <div id="folder.4.2">
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link88folder.4.2" href="en/func/lines.html#cdLine">Line</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.2.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.2.1')"><a name="link89folder.4.2.1" class="el" href="en/func/lines.html#Polygons">Line Polygons/Bezier Curves</a></p>
+          <div id="folder.4.2.1">
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link90folder.4.2.1" href="en/func/polygon.html">Polygons and Regions</a></p>
+          </div>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link91folder.4.2" href="en/func/lines.html#cdRect">Rect</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link92folder.4.2" href="en/func/lines.html#cdArc">Arc</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.2.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.4.2.2')">  Attributes</p>
+          <div id="folder.4.2.2">
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link93folder.4.2.2" href="en/func/lines.html#cdLineStyle">LineStyle</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link94folder.4.2.2" href="en/func/lines.html#cdLineStyleDashes">LineStyleDashes</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link95folder.4.2.2" href="en/func/lines.html#cdLineWidth">LineWidth</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link96folder.4.2.2" href="en/func/lines.html#cdLineJoin">LineJoin</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link97folder.4.2.2" href="en/func/lines.html#cdLineCap">LineCap</a></p>
+          </div>
+        </div>
+        <p><img src="wb_img/vertline.png"><img name="imgfolder.4.3" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.3')"><a name="link98folder.4.3" class="el" href="en/func/filled.html">Filled Areas</a></p>
+        <div id="folder.4.3">
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link99folder.4.3" href="en/func/filled.html#Polygons">Polygons</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link100folder.4.3" href="en/func/filled.html#cdBox">Box</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link101folder.4.3" href="en/func/filled.html#cdSector">Sector</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link102folder.4.3" href="en/func/filled.html#cdChord">Chord</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.3.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.3.1')">  Attributes</p>
+          <div id="folder.4.3.1">
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link103folder.4.3.1" href="en/func/filled.html#cdBackOpacity">BackOpacity</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link104folder.4.3.1" href="en/func/filled.html#cdFillMode">FillMode</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link105folder.4.3.1" href="en/func/filled.html#cdInteriorStyle">InteriorStyle</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link106folder.4.3.1" href="en/func/filled.html#cdHatch">Hatch</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link107folder.4.3.1" href="en/func/filled.html#cdStipple">Stipple</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link108folder.4.3.1" href="en/func/filled.html#wdStipple">Stipple (WC)</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link109folder.4.3.1" href="en/func/filled.html#cdGetStipple">GetStipple</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link110folder.4.3.1" href="en/func/filled.html#cdPattern">Pattern</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link111folder.4.3.1" href="en/func/filled.html#wdPattern">Pattern (WC)</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link112folder.4.3.1" href="en/func/filled.html#cdGetPattern">GetPattern</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link113folder.4.3.1" href="en/func/filled.html#DataAccess">Data Access</a></p>
+          </div>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.3.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.4.3.2')">  Extras in Lua</p>
+          <div id="folder.4.3.2">
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link114folder.4.3.2" href="en/func/filled.html#cdCreatePattern">CreatePattern</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link115folder.4.3.2" href="en/func/filled.html#cdKillPattern">KillPattern</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link116folder.4.3.2" href="en/func/filled.html#cdCreateStipple">CreateStipple</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link117folder.4.3.2" href="en/func/filled.html#cdKillStipple">KillStipple</a></p>
+          </div>
+        </div>
+        <p><img src="wb_img/vertline.png"><img name="imgfolder.4.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.4')"><a name="link118folder.4.4" class="el" href="en/func/text.html">Text</a></p>
+        <div id="folder.4.4">
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link119folder.4.4" href="en/func/text.html#cdText">Text</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.4.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.4.1')">  Attributes</p>
+          <div id="folder.4.4.1">
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link120folder.4.4.1" href="en/func/text.html#cdFont">Font</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link121folder.4.4.1" href="en/func/text.html#cdGetFont">GetFont</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link122folder.4.4.1" href="en/func/text.html#cdNativeFont">NativeFont</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link123folder.4.4.1" href="en/func/text.html#cdTextAlignment">TextAlignment</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link124folder.4.4.1" href="en/func/text.html#cdTextOrientation">TextOrientation</a></p>
+          </div>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.4.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.4.4.2')">  Properties</p>
+          <div id="folder.4.4.2">
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link125folder.4.4.2" href="en/func/text.html#cdFontDim">FontDim</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link126folder.4.4.2" href="en/func/text.html#cdTextSize">TextSize</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link127folder.4.4.2" href="en/func/text.html#cdTextBox">TextBox</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link128folder.4.4.2" href="en/func/text.html#cdTextBounds">TextBounds</a></p>
+          </div>
+        </div>
+        <p><img src="wb_img/vertline.png"><img name="imgfolder.4.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.5')"><a name="link129folder.4.5" class="el" href="en/func/vectortext.html">Vector Text</a></p>
+        <div id="folder.4.5">
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link130folder.4.5" href="en/func/vectortext.html#cdVectorText">VectorText</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link131folder.4.5" href="en/func/vectortext.html#cdMultiLineVectorText">MultiLineVectorText</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.5.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.5.1')">  Attributes</p>
+          <div id="folder.4.5.1">
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link132folder.4.5.1" href="en/func/vectortext.html#cdVectorTextDirection">VectorTextDirection</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link133folder.4.5.1" href="en/func/vectortext.html#cdVectorTextTransform">VectorTextTransform</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link134folder.4.5.1" href="en/func/vectortext.html#cdVectorTextSize">VectorTextSize</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link135folder.4.5.1" href="en/func/vectortext.html#cdVectorCharSize">VectorCharSize</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link136folder.4.5.1" href="en/func/vectortext.html#cdVectorFont">VectorFont</a></p>
+          </div>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.5.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.4.5.2')">  Properties</p>
+          <div id="folder.4.5.2">
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link137folder.4.5.2" href="en/func/vectortext.html#cdGetVectorTextSize">GetVectorTextSize</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link138folder.4.5.2" href="en/func/vectortext.html#cdGetVectorTextBounds">GetVectorTextBounds</a></p>
+          </div>
+        </div>
+        <p><img src="wb_img/vertline.png"><img name="imgfolder.4.6" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.6')"><a name="link139folder.4.6" class="el" href="en/func/client.html">Client Images</a></p>
+        <div id="folder.4.6">
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link140folder.4.6" href="en/func/client.html#cdGetImageRGB">GetImageRGB</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link141folder.4.6" href="en/func/client.html#cdPutImageRectRGB">PutImageRectRGB</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link142folder.4.6" href="en/func/client.html#cdPutImageRectRGBA">PutImageRectRGBA</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link143folder.4.6" href="en/func/client.html#cdPutImageRectMap">PutImageRectMap</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link144folder.4.6" href="en/func/client.html#cdRGB2Map">RGB2Map</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.6.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4.6.1')">  Extras</p>
+          <div id="folder.4.6.1">
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link145folder.4.6.1" href="en/func/client.html#cdCreateBitmap">CreateBitmap</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link146folder.4.6.1" href="en/func/client.html#cdInitBitmap">InitBitmap</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link147folder.4.6.1" href="en/func/client.html#cdKillBitmap">KillBitmap</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link148folder.4.6.1" href="en/func/client.html#cdBitmapGetData">BitmapGetData</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link149folder.4.6.1" href="en/func/client.html#cdBitmapSetRect">BitmapSetRect</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link150folder.4.6.1" href="en/func/client.html#cdGetBitmap">GetBitmap</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link151folder.4.6.1" href="en/func/client.html#cdPutBitmap">PutBitmap</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link152folder.4.6.1" href="en/func/client.html#cdBitmapRGB2Map">BitmapRGB2Map</a></p>
+          </div>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.4.6.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.4.6.2')">  Extras in Lua</p>
+          <div id="folder.4.6.2">
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link153folder.4.6.2" href="en/func/client.html#cdCreateImageRGB">CreateImageRGB</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link154folder.4.6.2" href="en/func/client.html#cdKillImageRGB">KillImageRGB</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link155folder.4.6.2" href="en/func/client.html#cdCreateImageRGBA">CreateImageRGBA</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link156folder.4.6.2" href="en/func/client.html#cdKillImageRGBA">KillImageRGBA</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link157folder.4.6.2" href="en/func/client.html#cdCreateImageMap">CreateImageMap</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link158folder.4.6.2" href="en/func/client.html#cdKillImageMap">KillImageMap</a></p>
+            <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link159folder.4.6.2" href="en/func/client.html#DataAccess">Data Access</a></p>
+          </div>
+        </div>
+        <p><img src="wb_img/vertline.png"><img name="imgfolder.4.7" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.4.7')"><a name="link160folder.4.7" class="el" href="en/func/server.html">Server Images</a></p>
+        <div id="folder.4.7">
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link161folder.4.7" href="en/func/server.html#cdCreateImage">CreateImage</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link162folder.4.7" href="en/func/server.html#cdKillImage">KillImage</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link163folder.4.7" href="en/func/server.html#cdGetImage">GetImage</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link164folder.4.7" href="en/func/server.html#cdPutImageRect">PutImageRect</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link165folder.4.7" href="en/func/server.html#cdScrollArea">ScrollArea</a></p>
+        </div>
+      </div>
+      <p><img name="imgfolder.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5')">  Other</p>
+      <div id="folder.5">
+        <p><img src="wb_img/vertline.png"><img name="imgfolder.5.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.1')">  System</p>
+        <div id="folder.5.1">
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link166folder.5.1" href="en/func/other.html#cdVersion">Version</a></p>
+        </div>
+        <p><img src="wb_img/vertline.png"><img name="imgfolder.5.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.2')">  Metafile Interpretation</p>
+        <div id="folder.5.2">
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link167folder.5.2" href="en/func/other.html#cdPlay">Play</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link168folder.5.2" href="en/func/other.html#cdRegisterCallback">RegisterCallback</a></p>
+        </div>
+        <p><img src="wb_img/vertline.png"><img name="imgfolder.5.3" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.5.3')">  Color Coding</p>
+        <div id="folder.5.3">
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link169folder.5.3" href="en/func/color.html#cdEncodeColor">EncodeColor</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link170folder.5.3" href="en/func/color.html#cdDecodeColor">DecodeColor</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link171folder.5.3" href="en/func/color.html#cdEncodeAlpha">EncodeAlpha</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link172folder.5.3" href="en/func/color.html#cdDecodeAlpha">DecodeAlpha</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link173folder.5.3" href="en/func/color.html#cdRed">Red</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link174folder.5.3" href="en/func/color.html#cdGreen">Green</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link175folder.5.3" href="en/func/color.html#cdBlue">Blue</a></p>
+          <p class="sep"><img src="wb_img/sepvertline.png"><img src="wb_img/sepblank.png"><img src="wb_img/sepnode.png"></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link176folder.5.3" href="en/func/color.html#cdGetColorPlanes">GetColorPlanes</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link177folder.5.3" href="en/func/color.html#cdPalette">Palette</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link178folder.5.3" href="en/func/color.html#cdCreatePalette">CreatePalette</a></p>
+          <p><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link179folder.5.3" href="en/func/color.html#cdKillPalette">KillPalette</a></p>
+        </div>
+      </div>
+      <p><img name="imgfolder.6" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.6')"><a name="link180folder.6" class="el" href="en/drv.html">Drivers</a></p>
+      <div id="folder.6">
+        <p><img src="wb_img/blank.png"><img name="imgfolder.6.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1')">  Window Systems</p>
+        <div id="folder.6.1">
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link181folder.6.1" href="en/drv/iup.html">IUP</a></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link182folder.6.1" href="en/drv/native.html">Native Window</a></p>
+        </div>
+        <p><img src="wb_img/blank.png"><img name="imgfolder.6.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.2')">  Devices</p>
+        <div id="folder.6.2">
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link183folder.6.2" href="en/drv/clipbd.html">Clipboard</a></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link184folder.6.2" href="en/drv/printer.html">Printer</a></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link185folder.6.2" href="en/drv/picture.html">Picture</a></p>
+        </div>
+        <p><img src="wb_img/blank.png"><img name="imgfolder.6.3" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.3')">  Images</p>
+        <div id="folder.6.3">
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link186folder.6.3" href="en/drv/irgb.html">Client Image</a></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link187folder.6.3" href="en/drv/image.html">Server Image</a></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link188folder.6.3" href="en/drv/dbufrgb.html">Client Double Buffer</a></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link189folder.6.3" href="en/drv/dbuf.html">Server Double Buffer</a></p>
+        </div>
+        <p><img src="wb_img/blank.png"><img name="imgfolder.6.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.4')">  File</p>
+        <div id="folder.6.4">
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link190folder.6.4" href="en/drv/pdf.html">PDF</a></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link191folder.6.4" href="en/drv/ps.html">PS</a></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link192folder.6.4" href="en/drv/mf.html">MF</a></p>
+          <p class="sep"><img src="wb_img/sepblank.png"><img src="wb_img/sepvertline.png"><img src="wb_img/sepnode.png"></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link193folder.6.4" href="en/drv/cgm.html">CGM</a></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link194folder.6.4" href="en/drv/dgn.html">DGN</a></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link195folder.6.4" href="en/drv/dxf.html">DXF</a></p>
+          <p class="sep"><img src="wb_img/sepblank.png"><img src="wb_img/sepvertline.png"><img src="wb_img/sepnode.png"></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link196folder.6.4" href="en/drv/emf.html">EMF</a></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link197folder.6.4" href="en/drv/wmf.html">WMF</a></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link198folder.6.4" href="en/drv/debug.html">DEBUG</a></p>
+        </div>
+        <p><img src="wb_img/blank.png"><img name="imgfolder.6.5" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.6.5')">  Base Drivers</p>
+        <div id="folder.6.5">
+          <p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link199folder.6.5" href="en/drv/sim.html">Simulation</a></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link200folder.6.5" href="en/drv/win32.html">Win32</a></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link201folder.6.5" href="en/drv/gdiplus.html">Win32 GDI+</a></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link202folder.6.5" href="en/drv/xwin.html">X-Win</a></p>
+          <p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link203folder.6.5" href="en/drv/xrender.html">XRender</a></p>
+        </div>
+      </div>
+  </div>
+</body>
+</html>
-- 
cgit v1.2.3