X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=Readme;h=7695e617997943e4f235f74d71913a776cfd2a69;hb=c7b77aeb1a478f53c47d2aa08e7cc7728aa0898b;hp=b8abf114e3ad83d4b8ac4110057b45a764ddc5e3;hpb=3722474e4fb8de564a4952e4cff24b926bc82743;p=ttf2png.git diff --git a/Readme b/Readme index b8abf11..7695e61 100644 --- a/Readme +++ b/Readme @@ -1,31 +1,35 @@ 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 -libpng 1.2 +libpng 1.6 C compiler (preferably GCC) Command-line options -r , - 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 Font size to use. The default is 10 pixels. -l - 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. - -c - 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 [x] + 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 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 - 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. @@ -51,10 +56,29 @@ Command-line options 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 + Leave a margin around the edges of the generated image. By default glyphs + can touch the edges. Only used with -p. + + -n + 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 + 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. @@ -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 -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 -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 @@ -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 +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. @@ -117,9 +148,20 @@ some fonts, not all of the glyphs fit completely inside the character box. 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 +- Include kerning information in definition file 0.3 - Restructure the code