{
    "mode": "info",
    "parameter": "tftopl",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/info/tftopl/json",
    "generated": "2026-11-10T02:12:15Z",
    "sections": {
        "File: web2c.info,  Node: tftopl invocation,  Next: pltotf invocation,  Prev: gftype invocation,  Up: Font utilities": {
            "content": "",
            "subsections": [
                {
                    "name": "11.6 TFtoPL: TeX font metric to property list conversion",
                    "content": "TFtoPL translates a TeX font metric (TFM, *note (dvips)Metric files::)\nfile (as output by Metafont, for example) to \"property list format\" (a\nlist of parenthesized items describing the font) that humans can edit or\nread.  This program is mostly used by people debugging TeX\nimplementations, writing font utilities, etc.  Synopsis:\n\ntftopl [OPTION]... TFMNAME[.tfm] [PLFILE[.pl]]\n\nThe font TFMNAME (extended with '.tfm' if necessary) is searched for\nin the usual places (*note (kpathsea)Supported file formats::).  To see\nall the relevant paths, set the environment variable 'KPATHSEADEBUG' to\n'-1' before running the program.\n\nIf PLFILE (which is extended with '.pl' if necessary) is not\nspecified, the property list file is written to standard output.  The\nproperty list file can be converted back to TFM format by the companion\nprogram TFtoPL (see the next section).\n\nThe program accepts the following option, as well as the standard\n'-verbose', '-help' and '-version' (*note Common options::):\n'-charcode-format=TYPE'\nOutput character codes in the PL file according to TYPE: either\n'octal' or 'ascii'.  Default is 'ascii' for letters and digits,\noctal for all other characters.  Exception: if the font's coding\nscheme starts with 'TeX math sy' or 'TeX math ex', all character\ncodes are output in octal.\n\nIn 'ascii' format, character codes that correspond to graphic\ncharacters, except for left and right parentheses, are output as a\n'C' followed by the single character: 'C K', for example.  In octal\nformat, character codes are output as the letter 'O' followed by\noctal digits, as in 'O 113' for 'K'.\n\n'octal' format is useful for symbol and other non-alphabetic fonts,\nwhere using ASCII characters for the character codes is merely\nconfusing.\n\nAs an example of the output, here is the (abridged) property list\ntranslation of 'cmr10.tfm':\n\n(FAMILY CMR)\n(FACE O 352)\n(CODINGSCHEME TEX TEXT)\n(DESIGNSIZE R 10.0)\n(COMMENT DESIGNSIZE IS IN POINTS)\n(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)\n(CHECKSUM O 11374260171)\n(FONTDIMEN\n(SLANT R 0.0)\n(SPACE R 0.333334)\n(STRETCH R 0.166667)\n(SHRINK R 0.111112)\n(XHEIGHT R 0.430555)\n(QUAD R 1.000003)\n(EXTRASPACE R 0.111112)\n)\n(LIGTABLE\n...\n(LABEL C f)\n(LIG C i O 14)\n(LIG C f O 13)\n(LIG C l O 15)\n(KRN O 47 R 0.077779)\n(KRN O 77 R 0.077779)\n(KRN O 41 R 0.077779)\n(KRN O 51 R 0.077779)\n(KRN O 135 R 0.077779)\n(STOP)\n...\n)\n...\n(CHARACTER C f\n(CHARWD R 0.305557)\n(CHARHT R 0.694445)\n(CHARIC R 0.077779)\n(COMMENT\n(LIG C i O 14)\n(LIG C f O 13)\n(LIG C l O 15)\n(KRN O 47 R 0.077779)\n(KRN O 77 R 0.077779)\n...\n)\n)\n...\n\nAs you can see, the general format is a list of parenthesized\n\"properties\", nested where necessary.\n\n* The first few items ('FAMILY', 'FACE', and so on) are the so-called\n\"headerbyte\" information from Metafont, giving general information\nabout the font.\n\n* The 'FONTDIMEN' property defines the TeX '\\fontdimen' values.\n\n* The 'LIGTABLE' property defines the ligature and kerning table.\n'LIG' properties define ligatures: in the example above, an 'f' (in\nthe 'LABEL') followed by an 'i' is a ligature, i.e., a typesetting\nprogram like TeX replaces those two consecutive characters by the\ncharacter at position octal '014 in the current font--presumably\nthe 'fi' ligature.  'KRN' properties define kerns: if an 'f' is\nfollowed by character octal '047 (an apostrophe), TeX inserts a\nsmall amount of space between them: 0.077779 times the design size\nthe font was loaded at (about three-quarters of a printer's point\nby default in this case, or .001 inches).\n\n* The 'CHARACTER' property defines the dimensions of a character: its\nwidth, height, depth, and italic correction, also in design-size\nunits, as explained in the previous item.  For our example 'f', the\ndepth is zero, so that property is omitted.  TFtoPL also inserts\nany kerns and ligatures for this character as a comment.\n"
                }
            ]
        }
    },
    "flags": [],
    "examples": [],
    "see_also": []
}