]> git.tdb.fi Git - ttf2png.git/blobdiff - Readme
Better documentation
[ttf2png.git] / Readme
diff --git a/Readme b/Readme
index ff8542898c64d00514bc85921c347987cfd8841e..b8abf114e3ad83d4b8ac4110057b45a764ddc5e3 100644 (file)
--- a/Readme
+++ b/Readme
@@ -9,7 +9,117 @@ libpng 1.2
 C compiler (preferably GCC)
 
 
-Changes
+Command-line options
+
+  -r <low>,<high>
+    Range of characters to convert, specified as unicode code points.  The
+    default is 0,255, matching the ISO-8859-1 (Latin-1) character set.
+
+  -s <pixels>
+    Font size to use.  The default is 10 pixels.
+
+  -l <num>
+    Number of characters to put in one line.  Defaults to autodetect.  Ignored
+    if -p is used.
+
+  -c <pixels>
+    Character cell size.  The special values auto and autorect may be used to
+    choose an autodetected square or rectangle cell, respectively.  Defaults to
+    autodetected square.  Ignored if -p is used.
+
+  -o <filename>
+    Output file name.  Use - for stdout; the output is a png image, so it's
+    best to pipe it somewhere.  The default is font.png.
+
+  -a
+    Force autohinter.  By default native hinting is used if present in the
+    font.
+
+  -t
+    Render glyphs to alpha channel, with grey channel filled with white.  By
+    default only the grey channel is used.
+
+  -i
+    Invert colors of the glyphs.  When rendering to alpha channel, only the
+    alpha channel is inverted.
+
+  -v
+    Increase the level of verbosity.
+
+  -e
+    Use cells in sequence, without leaving gaps.  By default the position of
+    each glyph is determined by its code point.  Ignored if -p is used.
+
+  -p
+    Pack the glyphs tightly in the image.  One-pixel gaps are left between
+    glyphs.  By default glyphs are rendered in a regular grid.  Creating a
+    definition file is recommended, as the resulting image can seem rather
+    messy.
+
+  -d
+    File name to write glyph definitions.  See the section below for details.
+
+  -h
+    Print a help message with option summary.
+
+
+Glyph definition files
+
+Rendering a proportional font correctly requires some positioning and spacing
+information, called font metrics.  To that end, ttf2png can write a definition
+file alongside the image.
+
+The basic format is line-based.  Empty lines, or those starting with a hash
+sign (#), should be ignored.  Data lines consist of fields separated with
+spaces.
+
+The first data line contains five fields with overall information about the
+image and the font:
+
+  Fields 1-2: width and height of the image
+  Field 3: nominal size of the font
+  Fields 4-5: ascent and descent of the font
+
+Subsequent data lines each describe a single glyph and contain eight fields:
+
+  Field 1: the code point of the glyph
+  Fields 2-3: x and y position of the glyph in the image
+  Fields 4-5: width and height of the glyph
+  Fields 6-7: x and y offset of the glyph from its base point
+  Field 8: advance from this glyph to the next
+
+The following ASCII art image illustrates most of these metrics.  Note that in
+some fonts, not all of the glyphs fit completely inside the character box.
+
+                - - - - - - - -     ^
+               | character box |    |
+                                    |
+               |               |    |
+                   o-------o        | ascent
+               |   |       |   |    |
+                   | glyph |        |
+               |   |       |   |    |
+    base point     |       |        |
+             \ |   |       |   |    |
+              \    |       |        |
+           _ __x___|_______|___|____|__ baseline
+  y_offset |       |       |        |
+           v   |   o-------o   |    | descent
+                - - - - - - - -     v
+           
+               |--->
+               x_offset
+
+               |--------------->
+               advance
+
+
+Changelog
+
+next
+- Improve the packing algorithm
+- Non-square cells for grid mode
+- Option to invert colors
 
 0.3
 - Restructure the code