X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=Readme;h=8a54d013cae452e60421904b82aa980a5a6e3c0e;hb=HEAD;hp=3e9eb40b323aa81d348344f9065aff765ccd7457;hpb=9bb0eb0e59ef6857da8932ea35833773a5374dc7;p=ttf2png.git diff --git a/Readme b/Readme index 3e9eb40..8a54d01 100644 --- a/Readme +++ b/Readme @@ -1,5 +1,5 @@ ttf2png - True Type Font to PNG converter -Copyright (c) 2004-2018 Mikko Rasa, Mikkosoft Productions +Copyright (c) 2004-2021 Mikko Rasa, Mikkosoft Productions Software requirements @@ -13,7 +13,10 @@ Command-line options -r , 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. + 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. @@ -66,6 +69,21 @@ Command-line options 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. + + -b + Set the border zone width for distance field. The default is the square + root of the font size. + -d File name to write glyph definitions. See the section below for details. @@ -90,23 +108,24 @@ the image and the font: Field 3: nominal size of the font Fields 4-5: ascent and descent of the font -The keyword "glyph" is followed by eight fields describing a single glyph: +The keyword "code" is followed by two fields establishing a code point to +glyph mapping: - 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 + Field 1: Unicode code point + Field 2: Glyph index -The keyword "kern" is followed by three fields describing kerning between two -glyphs: +The keyword "metrics" is followed by six fields describing the metrics of a +glyph: - 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 + Field 1: the index of the glyph + Fields 2-3: width and height of the glyph + Fields 4-5: x and y offset of the glyph from its base point + Field 6: 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. +The following ASCII art image illustrates the basic metrics. The character +box is a conceptual rectangle in which most of the glyphs in the font fit. +Some fonts may contain glyphs that extend outside of the nominal character +box. - - - - - - - - ^ | character box | | @@ -130,9 +149,36 @@ some fonts, not all of the glyphs fit completely inside the character box. |---------------> advance +The keyword "glyph" is followed by six field describing the area of the image +used for the glyph: + + Field 1: the index 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 + Field 6: border zone included in the image + +The border zone is used with distance field textures to allow the distance +field to extend past the actual glyph. If a glyph has a border, the origin +point in the metrics refers to the glyph's lower left corner. Subtract the +border width from both coordinates to obtain the correct rendering position +for the image. + +The keyword "kern" is followed by three fields describing kerning between two +glyphs: + + Field 1: the index of the left-hand glyph + Field 2: the index of the right-hand glyph + Field 3: kerning distance between the glyphs + Changelog +2.0 "The release I forgot to make three years ago" +- 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