If points of TrueType glyph aren't (or may not be) intergers:
1) edit > select > all
2) element > round > to int
Edit font names before saving:
1) Element > Font Info
2) enter fontname: (eg. FreshPlexSans)
3) enter Family Name: (eg. Fresh Plex Sans)
4) enter Name for Humans (Fullname): (eg. Fresh Plex Sans Regular)
Note: clicking "OK" at this point may cause an alert if you changed the font's name without changing the UniqueID (or XUID). If so, you can click "Change" but UniqueID and XUID is no longer used.
5) After clicking "OK", click OS/2 in the left menu and confirm that PFM family (serif, sans-serif, etc) is correct and add a vendor ID of up to four characters, then click OK.
6) If there will be a woff version of the font file, click woff in the left menu and add XML data (description, etc.)
Save ("generate") font:
1) File > Generate Fonts
2) expand drop-down menu under file name
3) select "TrueType" from menu (or save as sfd first to retain layers, undo history, etc. to enable reversions and aid further editing)
4) name file (eg. FreshPlexSans)
5) click generate
NOTE: FontForge ignores the STAT file attributes table, which Adobe and Mac use in font menus. Other apps can restore STAT if needed. Rendering will not be affected without STAT -- it would only affect document creation for those using the font to create a document.
---
ChatGPT
That’s a clear, well-structured checklist — great for your future self. Just a few optional refinements to improve clarity and prevent missteps:
Refined Version (with a couple clarifying tweaks):
If points of a TrueType glyph aren't (or may not be) integers:
Go to Edit > Select > All Points
Then Element > Round > To Int
(snaps all point coordinates to whole numbers — optional but clean)
Edit font names before saving (recommended to avoid conflicts):
Go to Element > Font Info
Set:
Fontname: FreshPlexSans (used internally)
Family Name: Fresh Plex Sans (used for font grouping in menus)
Fullname (Name for Humans): Fresh Plex Sans Regular
Save ("Generate") the font:
Go to File > Generate Fonts
In the file type dropdown (below the filename), select:
> TrueType (.ttf)
(Or select .sfd first to preserve edit history, layers, undo info)
Name the file (e.g., FreshPlexSans.ttf)
Click Generate
If prompted about non-power-of-two em size, click Yes to continue
----------------
FreshPlexSans is heavily based on IBM Plex Sans. Three strengths of IBM Plex Sans, which are retained in FreshPlexSans, are:
* Easily distinguishable lowercase "l" uppercase "I" and number "1".
* While not as formal as serif fonts, still suitable for serious writing.
* Exceptional overall legibility.
In FreshPlexSans, the digits "1" and "7" are less blocky than in IBM Plex Sans. For the "1" the base and the serif-like line at the top were shortened. For the "7" the serif-like line at the top was removed.
---