]> git.tdb.fi Git - ttf2png.git/blobdiff - Readme
Use euclidean distance instead of manhattan distance
[ttf2png.git] / Readme
diff --git a/Readme b/Readme
index b8abf114e3ad83d4b8ac4110057b45a764ddc5e3..7695e617997943e4f235f74d71913a776cfd2a69 100644 (file)
--- a/Readme
+++ b/Readme
@@ -1,31 +1,35 @@
 ttf2png - True Type Font to PNG converter
 ttf2png - True Type Font to PNG converter
-Copyright (c) 2004-2008  Mikko Rasa, Mikkosoft Productions
+Copyright (c) 2004-2018  Mikko Rasa, Mikkosoft Productions
 
 
 Software requirements
 
 FreeType 2
 
 
 Software requirements
 
 FreeType 2
-libpng 1.2
+libpng 1.6
 C compiler (preferably GCC)
 
 
 Command-line options
 
   -r <low>,<high>
 C compiler (preferably GCC)
 
 
 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.
+    Range of code points to convert, specified as unicode code points.  The
+    default is 0,255, matching the ISO-8859-1 (Latin-1) character set.  Code
+    points can be specified as plain numbers, unicode code points (U+xxxx) or
+    UTF-8 characters.  This option can be specified multiple times to add
+    more ranges to be converted.
 
   -s <pixels>
     Font size to use.  The default is 10 pixels.
 
   -l <num>
 
   -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
+    Number of glyphs to put in one line.  Defaults to autodetect.  Ignored
     if -p is used.
 
     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.
+  -c <pixels>[x<pixels>]
+    Character cell size.  If only a single number is given, a square cell is
+    used.  The special values auto and autorect may be used to choose an
+    autodetected square or rectangle cell, respectively.  The default is auto.
+    Ignored if -p is used.
 
   -o <filename>
     Output file name.  Use - for stdout; the output is a png image, so it's
 
   -o <filename>
     Output file name.  Use - for stdout; the output is a png image, so it's
@@ -41,7 +45,8 @@ Command-line options
 
   -i
     Invert colors of the glyphs.  When rendering to alpha channel, only the
 
   -i
     Invert colors of the glyphs.  When rendering to alpha channel, only the
-    alpha channel is inverted.
+    alpha channel is inverted.  The default is to render black glyphs on a
+    white background.
 
   -v
     Increase the level of verbosity.
 
   -v
     Increase the level of verbosity.
@@ -51,10 +56,29 @@ Command-line options
     each glyph is determined by its code point.  Ignored if -p is used.
 
   -p
     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.
+    Pack the glyphs tightly in the image.  Small gaps are left between glyphs,
+    controlled by the -n option.  By default glyphs are rendered in a regular
+    grid.  Creating a definition file is recommended, as the resulting image
+    can seem rather messy.
+
+  -m <pixels>
+    Leave a margin around the edges of the generated image.  By default glyphs
+    can touch the edges.  Only used with -p.
+
+  -n <pixels>
+    Control the amount of padding between glyphs.  The default is 1 pixel.
+    Only used with -p.
+
+  -g
+    Allow the resulting image to have a non-power-of-two size.  By default the
+    image size is rounded up to a power of two for maximum compatibility.
+
+  -f <num>
+    Generate a distance field texture.  The argument controls the amount of
+    oversampling when calculating distances.  Larger values may produce more
+    accurate results but take longer to process.  Distance fields are always
+    stored without alpha and with large/positive values indicating the inside
+    of glyphs; the -t and -i options are ignored.
 
   -d
     File name to write glyph definitions.  See the section below for details.
 
   -d
     File name to write glyph definitions.  See the section below for details.
@@ -70,17 +94,17 @@ 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
 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.
+sign (#), should be ignored.  Data lines consist of a keyword followed by
+space-separated fields.
 
 
-The first data line contains five fields with overall information about the
-image and the font:
+The keyword "font" is followed by 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
 
 
   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:
+The keyword "glyph" is followed by eight fields describing a single glyph:
 
   Field 1: the code point of the glyph
   Fields 2-3: x and y position of the glyph in the image
 
   Field 1: the code point of the glyph
   Fields 2-3: x and y position of the glyph in the image
@@ -88,6 +112,13 @@ Subsequent data lines each describe a single glyph and contain eight fields:
   Fields 6-7: x and y offset of the glyph from its base point
   Field 8: advance from this glyph to the next
 
   Fields 6-7: x and y offset of the glyph from its base point
   Field 8: advance from this glyph to the next
 
+The keyword "kern" is followed by three fields describing kerning between two
+glyphs:
+
+  Field 1: the code point of the left-hand glyph
+  Field 2: the code point of the right-hand glyph
+  Field 3: kerning distance between the glyphs
+
 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.
 
 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.
 
@@ -117,9 +148,20 @@ some fonts, not all of the glyphs fit completely inside the character box.
 Changelog
 
 next
 Changelog
 
 next
+- Alternate ways of specifying code point ranges
+- Multiple code point ranges can be specified
+- Option to generate non-power-of-two images
+- Support for distance field generation
+
+1.1
+- Controllable margin and padding in packed mode
+- Do not generate overly large images in sequential grid mode
+
+1.0
 - Improve the packing algorithm
 - Non-square cells for grid mode
 - Option to invert colors
 - Improve the packing algorithm
 - Non-square cells for grid mode
 - Option to invert colors
+- Include kerning information in definition file
 
 0.3
 - Restructure the code
 
 0.3
 - Restructure the code