Specifically, I want to modify two fonts so that the metrics for the space character (ASCII 32) in one font match the metrics of the other font.
Linux or Mac open source solutions preferred.
Graphic Design Stack Exchange is a question and answer site for Graphic Design professionals, students, and enthusiasts. It only takes a minute to sign up.Sign up to join this community
You don't need to edit an actual font or add multiple spaces to achieve indents, and in fact doing so would cause many undesirable problems. Anyone else on a different computer viewing/editing your document would not see the changes unless they installed the version of the font you altered. Also all spaces would be altered, not just the ones being used to indent the text. There are also legal considerations, such as the fact that most font licences do not allow modifying of font files or redistribution of those font files.
It's much easier to create indents using the software you are using to type/layout the document.
You can set indents using page layout software such as Scribus (open source Mac/Linux/Windows), or even word processing software such as LibreOffice Text (also open source).
This is for Scribus:
Note: If for some (unknown) reason you must use spaces to achieve the indents, it's also possible to select the spaces and set them all to a particular font, even when the following text is in a different font.
Also, although I wouldn't recommend altering font files to achieve your desired indents, you would need font creation software to do it. FontForge is Open Source software which allows you to create or edit fonts. Note that it's highly complex software with a steep learning curve.
FontForge is an open source program that allows (among many other things) the user to edit the metrics for a particular character.