{
    "mode": "info",
    "parameter": "gftype",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/info/gftype/json",
    "generated": "2026-11-15T16:31:25Z",
    "sections": {
        "File: web2c.info,  Node: gftype invocation,  Next: tftopl invocation,  Prev: pktype invocation,  Up: Font utilities": {
            "content": "",
            "subsections": [
                {
                    "name": "11.5 GFtype: Plain text transliteration of generic fonts",
                    "content": "GFtype translates a generic font (GF) bitmap file (as output by"
                }
            ]
        },
        "Metafont, for example) to a plain text file that humans can read.  It": {
            "content": "also serves as a GF-validating program, i.e., if GFtype can read a file,\nit's correct.  Synopsis:\n\ngftype [OPTION]... GFNAME.DPI[gf]\n\nThe font GFNAME is searched for in the usual places (*note\n(kpathsea)Glyph lookup::).  To see all the relevant paths, set the\nenvironment variable 'KPATHSEADEBUG' to '-1' before running the\nprogram.\n\nThe suffix 'gf' is supplied if not already present.  This suffix is\nnot an extension; no '.' precedes it: for instance, 'cmr10.600gf'.\n\nThe translation is written to standard output.\n\nThe program accepts the following options, as well as the standard\n'-help' and '-version' (*note Common options::):\n'-images'\nShow the characters' bitmaps using asterisks and spaces.\n\n'-mnemonics'\nTranslate all commands in the GF file.\n\nAs an example of the output, here is the (abridged) translation of\nthe letter 'K' in 'cmr10', as rendered at 600dpi with the mode 'ljfour'\nfrom 'modes.mf' (available from <ftp://ftp.tug.org/tex/modes.mf>), with\nboth '-mnemonics' and '-images' enabled.\n\nGFtype outputs the information about a character in two places: a\nmain definition and a one-line summary at the end.  We show both.  Here\nis the main definition:\n\n2033: beginning of char 75: 3<=m<=60 0<=n<=56\n(initially n=56) paint (0)24(12)20\n2043: newrow 0 (n=55) paint 24(12)20\n2047: newrow 0 (n=54) paint 24(12)20\n2051: newrow 0 (n=53) paint 24(12)20\n2055: newrow 7 (n=52) paint 10(21)13\n2059: newrow 8 (n=51) paint 8(23)9\n...\n2249: newrow 8 (n=5) paint 8(23)11\n2253: newrow 7 (n=4) paint 10(22)12\n2257: newrow 0 (n=3) paint 24(11)22\n2261: newrow 0 (n=2) paint 24(11)22\n2265: newrow 0 (n=1) paint 24(11)22\n2269: newrow 0 (n=0) paint 24(11)22\n2273: eoc\n.<--This pixel's lower left corner is at (3,57) in METAFONT coordinates\n\n\n\n\n*\n*\n...\n*\n\n\n\n\n\n.<--This pixel's upper left corner is at (3,0) in METAFONT coordinates\n\nExplanation:\n\n'2033'\n'2043'\n'...'\nThe byte position in the file where each GF command starts.\n\n'beginning of char 75'\nThe character code, in decimal.\n\n'3<=m<=60 0<=n<=56'\nThe character's bitmap lies between 3 and 60 (inclusive)\nhorizontally, and between 0 and 56 (inclusive) vertically.  (m is a\ncolumn position and n is a row position.)  Thus, 3 is the left side\nbearing.  The right side bearing is the horizontal escapement\n(given below) minus the maximum m.\n\n'(initially n=56) paint (0)24(12)20'\nThe first row of pixels: 0 white pixels, 24 black pixels, 12 white\npixels, etc.\n\n'newrow 0 (n=55) paint 24(12)20'\nThe second row of pixels, with zero leading white pixels on the\nrow.\n\n'eoc'\nThe end of the main character definition.\n\nHere is the GF postamble information that GFtype outputs at the end:\n\nCharacter 75: dx 4259840 (65), width 815562 (64.57289), loc 2033\n\nExplanation:\n\n'dx'\nThe device-dependent width, in \"scaled pixels\", i.e., units of\nhorizontal pixels times 2^16.  The '(65)' is simply the same number\nrounded.  If the vertical escapement is nonzero, it would appear\nhere as a 'dy' value.\n\n'width'\nThe device-independent (TFM) width of this character.  It is 2^24\ntimes the ratio of the true width to the font's design size.  The\n'64.57289' is the same number converted to pixels.\n\n'loc'\nThe byte position in the file where this character starts.\n",
            "subsections": []
        }
    },
    "flags": [],
    "examples": [],
    "see_also": []
}