XGFMERGE(1)

✨ XGFMERGE ✨

okay so bestie, welcome to the xgfmerge(1) page, section 1 of the General Commands Manual πŸ’… this one's a lil utility that smashes Xgridfit program files together, and honestly? it eats.


🌸 NAME 🌸

xgfmerge β€” merges two Xgridfit program files πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

xgfmerge [options] file-a file-b [...]

πŸ¦‹ DESCRIPTION πŸ¦‹

So like. xgfmerge takes two or more Xgridfit program files and merges them, okay? And the way the files are set up is very specific, so listen:

  • file-a is a program that got generated automatically from an existing font, using TTX and ttx2xgf 🫢
  • file-b and any other files after it in the list contain other programming for the font ✨

Then xgfmerge outputs the merged programming to stdout. And if you want to actually capture that output in a file, here's the syntax, no cap:

$xgfmerge -o merged-file.xgf file-a.xgf file-b.xgf
Note: if your goal is to merge Xgridfit instructions with the ones already chilling in a font, the best method now is to run Xgridfit in merge-mode (option -m). that's the move πŸ’€ don't do it the old way.

πŸ’– OPTIONS πŸ’–

  • -c β€” Look for a <default type="compile-globals"/> element in each file after the first in the list. If it's value="no", then ignore all <default>, <control-value>, <function>, <macro> and <pre-program> elements in that file. like, all of them. gone. πŸ™ˆ
  • -h β€” Display a help message. bestie behavior honestly πŸ₯°
  • -n β€” Merge <no-compile> elements from all the files. <glyph> elements that have duplicate "ps-name" attributes get ignored πŸ‘‘
  • -o file β€” The file to write the output to. If you don't use this option, the output goes to stdout. pick your fighter 🌈
  • -p β€” When a <pre-program> element in a file other than file-a is available, use that one instead of the one from file-a. If this option is not present, xgfmerge merges the programming in the <pre-program> of file-a with the programming in the <pre-program> of whichever file is being merged at that moment.
⚠️ And this is the important part, so lock in: the result is unlikely to be good if a single run of xgfmerge merges the contents of more than two <pre-program> elements. fr fr. don't do that to yourself 😭
  • -s β€” Sort <glyph> elements in the output file into alphabetical order. organization queen πŸŽ€
  • -v β€” Verbose output: xgfmerge tells you what it's doing at each step. main character commentary, we love to see it πŸ’…
  • -x β€” Resolve XIncludes before merging all the files in the list except for file-a. Any XIncludes from file-a.xgf are stripped out of the files before this operation happens. And heads up: if XInclude is being used to bring global elements (<control-value>, <function>, etc.) into these files, it's probably a good idea to use the -c option too. they're a duo 🀝

πŸ“ FILES πŸ“

  • /usr/share/xml/xgridfit/util/merge.xsl β€” An XSLT script that performs the merge. the actual muscle πŸ’ͺ
  • /usr/share/xml/xgridfit/util/xinclude.xsl β€” An XSLT script that strips out unwanted XIncludes. bye girl πŸ‘‹
  • /usr/share/xml/xgridfit/util/sort-glyphs.xsl β€” An XSLT script that sorts glyph elements in a file. so tidy ✨
  • /usr/share/xml/xgridfit/utils/add-blanks.sed β€” Does some formatting of the output. the lil glow-up at the end 🌸

🧚 SEE ALSO 🧚

xgridfit(1), ttx(1), ttx2xgf(1).

go read those too, they're iconic πŸ’œ


πŸ‘‘ AUTHOR πŸ‘‘

Xgfmerge was written by Peter Baker <psb6m@virginia.edu> πŸ’–

This manual page was written by Peter Baker.


and that's the whole page, bestie!! 🌈⭐ this version is from 2009-12-18, and yeah, the manual name is XGFMERGE (section 1, General Commands Manual) β€” so if you ever forget what you just read, it's all filed under that 🫢 mwah, go merge something πŸ’…πŸŽ€