Commit Graph

174 Commits

Author SHA1 Message Date
ocornut
b12c42e75d Fonts: change uses of ImFontAtlasRect to ImTextureRect for simplicity. 2025-06-11 15:52:12 +02:00
ocornut
144f444217 Fonts: fixed memory leaks, shutting down font loader, and on AddFont() failure in FreeType backend. 2025-06-11 15:52:12 +02:00
ocornut
8ea0ae454f Fonts: fixed a bug using size specified by secondary font sources. 2025-06-11 15:52:12 +02:00
ocornut
41a0e991f0 Fonts: Added UI to edit FreeType loader flags. Added ImFontAtlasBuildReloadAll() / ImFontAtlasBuildReloadFont() 2025-06-11 15:51:56 +02:00
ocornut
78a17038c2 imgui_freetype: no need to store metrics locally. 2025-06-11 15:47:49 +02:00
ocornut
18c8a93cca Fonts: Rework ImFontLoader signatures.
InitBaked may return false to signify this size is not supported.
2025-06-11 15:47:49 +02:00
ocornut
1cfc0de31d Fonts: Core allocates per-baked-per-src backend buffers, to allow having custom backend per font source. Backend BakedInit/Destroy/AddGlyph process a single source. 2025-06-11 15:47:41 +02:00
ocornut
76b252f80a Fonts: Added ImFontAtlasBakedSetFontGlyphBitmap(). 2025-06-11 15:47:41 +02:00
ocornut
92993e68c8 Fonts: Baked system, fix subsequent sources overriding shared font metrics. 2025-06-11 15:47:41 +02:00
ocornut
815553c4b4 Fonts: ImFontConfig: added GlyphExcludeRanges[]. 2025-06-11 15:47:35 +02:00
ocornut
99f6b305c1 Fonts: Baked system, v12: support GlyphOffset / GlyphMinAdvanceX / GlyphMaxAdvanceX by scaling from ref value.
Overwriting cfg->PixelSnapH = true; in imgui_freetype is weird.
2025-06-11 15:47:21 +02:00
ocornut
093d01269a Fonts: Baked system, with auto-bind, v10.
# Conflicts:
#	imgui_internal.h
2025-06-11 15:46:27 +02:00
ocornut
2137b3448b Textures: Added atlas's TexMinWidth/TexMinHeight/TexMaxWidth/TexMaxHeight.
Fixed ImFontAtlasBuildGetTextureSizeEstimate().
Basic error handling on OOM.
2025-06-11 15:45:01 +02:00
ocornut
b06f3c6d1d Fonts: turn public facing BuildRegisterGlyph() into ImFontAtlasBuildAddFontGlyph() thats sets up UV. 2025-06-11 15:44:38 +02:00
ocornut
a51a26e2aa Fonts: use a structure for post-processing - easier to pass things around and iterate on. 2025-06-11 15:43:06 +02:00
ocornut
1269467fa0 imgui_freetype: Removing old code. 2025-06-11 15:41:16 +02:00
ocornut
08e1e7681e imgui_freetype: Added Freetype implementation for new architecture. 2025-06-11 15:41:16 +02:00
ocornut
0f0473bf1c Fonts, Textures: main code for ImGuiBackendFlags_RendererHasTextures feature.
# Conflicts:
#	imgui.h
#	imgui_demo.cpp
2025-06-11 15:03:46 +02:00
ocornut
191a728ecc (Breaking) added ImTextureRef struct. Changed ImDrawCmd::TextureId to TexRef.
Softly breaking. May require support from language binding generator.
Rebased and reworked completely on 2025/03/19.
2025-06-11 15:02:36 +02:00
Romain Moret
e6913f58b9 imgui_freetype: Update lunasvg API to support v3.0+ (#8656, #6842, #6591) 2025-05-30 21:58:25 +02:00
tanksdude
f5003aff69 Docs: Fix some typos (#8505) 2025-03-21 16:23:09 +01:00
ocornut
4c0604ec2e Font: shallow refactor, rename ConfigData[] fields to Sources[], ConfigDataCount to SourcesCount.
In theory this is all internal stuff.
2025-02-25 17:41:29 +01:00
Rémy Tassoux
f94a5f0e8c Docs: Update doc about plutosvg (#8395) 2025-02-13 14:30:49 +01:00
fdsa
4f1d3809c3 Fixed tabs and spaces (#8377) 2025-02-06 19:54:43 +01:00
ocornut
8a1613a382 Fonts: OversampleH/OversampleV value defaults to 0 for automatic selection. 2025-01-24 19:32:30 +01:00
ocornut
4c64ba16c5 imgui_freetype: fixed issue where glyph advances would incorrectly be snapped to pixels. 2025-01-16 17:42:00 +01:00
ocornut
0514332474 Avoid clang/gcc warnings: -Wnontrivial-memaccess in backends. (#8295, #8129, #8135) 2025-01-08 11:44:00 +01:00
juur
f169102c8e Misc: fixed misc/cpp/imgui_stdlib.h/.cpp not supporting IMGUI_DISABLE. (#8294) 2025-01-06 14:16:10 +01:00
ocornut
566558b17c Replacing NULL with nullptr in examples/backends when they creeped back. (#6313, #7071, #4537) 2024-12-05 12:25:02 +01:00
ocornut
ee2119d7cb imgui_freetype: Fix build broken by 19a1f2a (#8107) 2024-11-29 19:10:39 +01:00
ocornut
19a1f2a5d2 Fonts: fixed AddCustomRect() not being packed with TexGlyphPadding + not accounted in surface area. (#8107) 2024-11-29 18:58:01 +01:00
ocornut
20360e00ce Merge miscellaneous small changes to reduce drift with texture update branch.
- ImGuiDebugLogFlags_EventFont is yet unused.
2024-11-20 21:46:47 +01:00
ocornut
551b6c4d66 Tools: binary_to_compressed_c: added -u8/-u32/-base85 export options. 2024-11-20 14:32:44 +01:00
ocornut
d0e870aad2 Misc: changed embedded ProggyClean encoding to save a bit of binary space (~12kb to 9.5kb). (#8161)
Encoding as char to ensure compatibility with big endian (#81)
2024-11-20 14:16:34 +01:00
ocornut
3b683927ee imgui_freetype: Fixed a crash in build font atlas when using merged fonts and the first font in a merged set has no loaded glyph. (#8081) 2024-11-07 14:39:54 +01:00
Pascal Thomet
04d9a04557 imgui_freetype: Added support for plutosvg to render OpenType SVG fonts. (#7927, #7187 + #6591, #6607)
See #7927 for details.
2024-10-17 11:01:59 +02:00
ocornut
8cc6eee295 Fonts: amend assert when glyph range data seems incorrect. (#7856) 2024-08-03 15:25:47 +02:00
ocornut
50a0f18e6a imgui_freetype: fixed divide by zero while handling FT_PIXEL_MODE_BGRA glyphs. (#7267, #3369) 2024-07-01 14:58:35 +02:00
Hubert Maier
07dbcf1f70 Fixed typos. (#7593) 2024-05-16 16:13:01 +02:00
Pascal Thomet
4758f74676 imgui_freetype: fix nullptr to ImTextureID cast (#7192) 2024-01-03 22:54:36 +01:00
ocornut
aaf157cfdd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
Amend 9499afdf and 72de6f336
2023-12-05 17:04:19 +01:00
ocornut
46843b683b Fonts: minor/shallow amends (#6925) 2023-11-13 19:00:29 +01:00
thedmd
ade4d0e08a Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925) 2023-11-13 19:00:28 +01:00
DKing
701a047ac0 Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
Amend d6360c1
2023-09-28 19:33:27 +02:00
ocornut
d6360c1ba9 Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591) 2023-09-20 11:31:28 +02:00
ocornut
ab490dc7b8 Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607) 2023-08-01 10:18:30 +02:00
sakiodre
2ad8c60abc Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607) 2023-08-01 09:32:17 +02:00
Johel Ernesto Guerrero Peña
556ce9f543 imgui_stdlib: Fix warning (#6658) 2023-07-28 14:15:10 +02:00
ocornut
33e13c85e1 Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601) 2023-07-13 11:27:52 +02:00
sakiodre
dcdb145713 Docs: Fix outdated link in freetype docs (#6568) 2023-07-04 12:23:13 +02:00