grcompiler(1)

πŸ“¦
version 5.2.1 Β· 2 versions
, in debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’… grcompiler(1) β€” the manual page, bestie edition πŸŽ€

okay so you found grcompiler in section 1 of the manual and you're like "what is this" β€” don't worry, I got you. pull up a chair, grab a strawberry πŸ“, and let's get into it.


✨ NAME ✨

grcompiler β€” compile GDL into a TrueType Font. that's the whole vibe. one job, does it gorgeously πŸ’–


🌈 SYNOPSIS 🌈

grcompiler [-c] [-d] [-D] [-g] [-n number] [-v number] [-w number]
           [-wall] [-q] gdl-file font-file [output-file] [output-
           fontname]
heads up bestie: that last line break inside [output-fontname] is literally how it's printed in the original. don't come for me, come for the typesetter πŸ’€

πŸ‘‘ DESCRIPTION πŸ‘‘

the main character moment: Grcompiler compiles a Graphite Description Language description of the smarts for a font, alongside a TrueType Font, and together they create a graphite font with graphite tables baked right in. it's giving "glow up for your font." ✨

and now the options, one by one, no skips, no cuts, because we do not gatekeep here 🫢

  • -c β€” enable compression of Graphite tables. note the tea: this forces a version 5.0 Silf and version 3.0 Glat. it doesn't ask, it just does. iconic behavior fr fr.
  • -d β€” generate an XML debugger file.
  • -D β€” generate all the debugger files. go big or go home, no cap.
  • -g β€” permit and ignore invalid glyph definitions. live your life, we're not looking πŸ™ˆ
  • -n number β€” set name table start location.
  • -q β€” quiet mode. no messages except on error. the "don't text me unless it's an emergency" setting πŸ’…
  • -v number β€” set Silf table version number.
  • -w number β€” ignore warning with the given number. and yes, this option may be repeated β€” stack 'em like bracelets πŸŽ€
  • -wall β€” display all the warnings. opposite energy from -q, and honestly? valid.

πŸ¦‹ ENVIRONMENT πŸ¦‹

grcompiler makes use of the following environment variables, so peek at your env before you spiral bestie:

  • GDLPP β€” specifies the command to execute to run the GDL preprocessor. it's the little helper that runs ahead of the compiler, and you get to say who it is. main character casting decisions 🌟

🌸 FILES 🌸

all the files it touches / spits out, and what each one is actually doing:

  • gdlerr.txt β€” warnings and errors are output to this file. this is the one to open when things go sideways 😭
  • dbg_classes.txt β€” debug file that specifies the classes stored in the font in terms of their GDL source and containing glyph ids in hex.
  • dbg_cmap.txt β€” debug file giving Unicode to glyph mapping of all the glyphs in the font and vice versa. the ✨matchmaking✨ file, but for codepoints.
  • dbg_enginecode.txt β€” debug file containing the action code and constraint code associated with each pass and rule in a pass.
  • dbg_fsm.txt β€” debug file that gives the finite state machines of each pass and the rules referenced. for each pass, a mapping is given between glyph and column number.
  • dbg_glyphattrs.txt β€” debug file containing all the glyph attributes and their names, along with values specified for each glyph.
  • dbg_parsetree.txt β€” debug file giving the complete parse tree of the GDL source file. the whole family tree, unedited 🌳
  • dbg_ruleprec.txt β€” debug file that lists the rules in precedence order (order in which they will be tested) for each pass. it's a lineup, and everyone's in it πŸ“‹
  • $_temp.gdl β€” debug file containing the output of gdlpp.

πŸ’œ AUTHOR πŸ’œ


and that's a wrap, bestie πŸ’–

this page is dated $Date: 2012-05-29 11:36:50 $ and lives in the grcompiler(1) manual. so when you're deep in a debug file at 2am, know that this little page has been holding it down since 2012. no cap. slay, go compile something gorgeous. πŸ’…βœ¨

πŸ“¦ where this page comes from