FontForge

FontForgeBuilds · FontForge.FontForge

FontForge is a free and open source font editor brought to you by a community of fellow type lovers.

winget install --id FontForge.FontForge --exact --source winget

Latest 20251009

Release Notes

What's Changed

  • Update documentation for py scripts by @iorsh in #5180
  • Update GitHub CI runners by @iorsh in #5328
  • Update po files from Croudin sources. by @skef in #5330
  • Use consistent Python in MacOS GitHub runner by @iorsh in #5331
  • Fix CI for Windows GitHub runner by @iorsh in #5335
  • Fix lookup flags parsing by @iorsh in #5338
  • Fixes #5332: glyph file names uXXXXX by @quadrimus in #5333
  • make harmonization robust and avoid zero handles after harmonization by @linusromer in #5262
  • Quiet strict prototypes warnings. by @MaddTheSane in #5313
  • Fix crash in parsegvar() due to insufficient buffer by @iorsh in #5339
  • Handle failed iconv conversion. Unhandled execution path was UB, causing a segfault for me by @ViliusSutkus89 in #5329
  • Fix CMake function _get_git_version() by @iorsh in #5342
  • Don't require individual tuple encapsulation in fontforge.font.bitmapSizes setter by @nabijaczleweli in #5138
  • nltransform of anchor points by @mf2vec-dev in #5345
  • Fix generateFontPostHook being called instead of generateFontPreHook by @teatimeguest in #5226
  • Always set usDefaultChar to 0 (.notdef) by @dscorbett in #5242
  • add font attributes, method to Python docs by @mf2vec-dev in #5353
  • fix segfault triggered by Python del c[i:j] by @mf2vec-dev in #5352
  • Autoselect internal WOFF2 format by @iorsh in #5346
  • 📝 Fix typos in the FAQ by @Jamim in #5355
  • add font.style_set_names attribute to Python API by @mf2vec-dev in #5354
  • Bulk tester by @iorsh in #5365
  • Fix Splinefont shell invocation by @pkvanca in #5367
  • Fix the lists of Windows language IDs by @dscorbett in #5359
  • Support suplementary planes in SFD (emojis etc.) by @iorsh in #5364
  • Remove psaltnames for multi-code-point names by @dscorbett in #5305
  • doc: added missing sudo to installation instructions by @gekkedev in #5300
  • Fix data corruption on SFD reading by @iorsh in #5380
  • Compare vertical metrics check when generating TTC by @Yukinoroh in #5372
  • Treat FT_PIXEL_MODE_MONO as 2 grey levels by @jaklein in #5379
  • Don't attempt to copy anchors into NULL font by @Tynach in #5405
  • Fix export of supplementary plane characters in font name to TTF by @iorsh in #5396
  • Defer crowdin update to the end of the pipeline by @iorsh in #5409
  • Fix generated feature file bugs by @nadalaba in #5384
  • crowdin: update to java 17 by @jtanx in #5447
  • Remove assert from Python script processor by @iorsh in #5410
  • Use sysconfig for Python module locations by @iorsh in #5423
  • Use PyConfig API on Python 3.8 by @vstinner in #5404
  • Fix resource leak in unParseTTInstrs by @ideasman42 in #5476
  • Only install GUI-specific files if ENABLE_GUI is set by @cjmayo in #5451
  • add math device tables to Python API by @mf2vec-dev in #5348
  • Update CI runner to macOS 13 by @iorsh in #5482
  • Allow hyphen and special characters in Feature File glyph names by @iorsh in #5358
  • Fix Python font.appendSFNTName() function by @iorsh in #5494
  • fix memleak in function DlgCreate8 by @xiaoxiaoafeifei in #5491
  • Update mm.c by @slichtzzz in #5386
  • Warning rollup (probably some hidden bugs!) from clang trunk by @nabijaczleweli in #5492
  • Fix function PyFFFont_addSmallCaps. by @cspiel in #5519
  • Make SmallCaps() create symbols by @cspiel in #5517
  • Segfault fix and complete implementation of "Don't generate FFTM tables" by @Yukinoroh in #5509
  • Modernize fixed pitch flag computation by @iorsh in #5506
  • fix memleak in function utf7toutf8_copy by @xiaoxiaoafeifei in #5495
  • Avoid crashes in Python scripts when objects are accessed in invalid state by @iorsh in #5483
  • Fix CI for Ubuntu 24 by @iorsh in #5531
  • Bump GitHub CI runner to Ubuntu 22 by @iorsh in #5551
  • Fix memory corruption in SFUnicodeRanges() by @iorsh in #5537
  • Add contour draw option to H.Metrics. by @vasilky3 in #5496
  • Fix scaling of references in CharView by @iorsh in #5558
  • Fix TTF validation on load for fixed pitch fonts by @iorsh in #5562
  • Performance fixes for GSUB/GPOS dumps by @iorsh in #5547
  • Simple GTK-based dialog with CSS appearance support by @iorsh in #5546
  • Support Harfbuzz in Metrics View by @iorsh in #5522
  • Update po files from crowdin translations by @skef in #5575
  • Be more clever about label text in gtextfield by @skef in #5583
  • Add minimal support for GDEF version 1.3 by @khaledhosny in #5584
  • Sanitize messages from python by @Caellian in #5589
  • Fix a crash caused by deleting a glyph with vertical kerning pairs. by @BradEdwards in #5592
  • THEME -> GUI_THEME by @iorsh in #5596
  • Update po translations from Crowdin by @iorsh in #5593
  • Upgrade to Unicode 16.0.0 by @iorsh in #5594
  • Fix Linux AppImage by @iorsh in #5599
  • Upgrade to Unicode 17.0.0 and extend the language and script lists by @dscorbett in #5618
  • Remove X11 and non-Cairo drawing backends by @valadaptive in #5612
  • Add macOS dependency setup script by @micahstubbs in #5563
  • Fix hotkeys in BitmapView by @Tynach in #5626
  • Manually install Inno Setup 6 by @iorsh in #5621
  • Remove cv->back_img_out_of_date and cv->backimgs by @valadaptive in #5625
  • fix spelling "bt" -> "but" by @alifeee in #5636
  • Fix typos in Python module docs by @chanicpanic in #5634
  • October 2025 release by @iorsh in #5632 New Contributors
  • @iorsh made their first contribution in #5180
  • @quadrimus made their first contribution in #5333
  • @nabijaczleweli made their first contribution in #5138
  • @mf2vec-dev made their first contribution in #5345
  • @teatimeguest made their first contribution in #5226
  • @Jamim made their first contribution in #5355
  • @pkvanca made their first contribution in #5367
  • @gekkedev made their first contribution in #5300
  • @Yukinoroh made their first contribution in #5372
  • @jaklein made their first contribution in #5379
  • @Tynach made their first contribution in #5405
  • @nadalaba made their first contribution in #5384
  • @vstinner made their first contribution in #5404
  • @ideasman42 made their first contribution in #5476
  • @cjmayo made their first contribution in #5451
  • @xiaoxiaoafeifei made their first contribution in #5491
  • @slichtzzz made their first contribution in #5386
  • @cspiel made their first contribution in #5519
  • @vasilky3 made their first contribution in #5496
  • @Caellian made their first contribution in #5589
  • @BradEdwards made their first contribution in #5592
  • @valadaptive made their first contribution in #5612
  • @micahstubbs made their first contribution in #5563
  • @alifeee made their first contribution in #5636
  • @chanicpanic made their first contribution in #5634 Full Changelog: 2023010...2025100

Installer type: inno

Architecture Scope Download SHA256
x64 Download 548523F08834E344BDA69ABB759E30C0F84A1A5EF9A5E965EB946D86A11118A3

Details

Homepage
https://github.com/fontforge/fontforge
License
GPL-3.0-or-later
Publisher
FontForgeBuilds
Support
https://github.com/fontforge/fontforge/issues
Moniker
fontforge

Tags

designfonttypeface

Older versions (2)

20230101
Architecture Scope Download SHA256
x86 Download fc6eb57495e737025efb37ad6f1effad7fef47f19a8a5f2656705687e4f43162
20220308
Architecture Scope Download SHA256
x86 Download 6949074973D662020E5BF44E55DBD49CA695CA15399154F1B9687B4D0C2D2C76