Commit Graph

168 Commits

Author SHA1 Message Date
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.
build / Windows (push) Waiting to run
build / Linux (push) Waiting to run
build / MacOS (push) Waiting to run
build / iOS (push) Waiting to run
build / Emscripten (push) Waiting to run
build / Android (push) Waiting to run
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
Michael Martz 506f7e0074 Using nullptr in locations where warning disable is not convenient. (#6313, #4537) 2023-04-11 11:33:50 +02:00
ocornut f65bcf481a Docs: added details and link to wiki from imgui_stdlib to increase discoverability. 2023-03-23 19:03:17 +01:00
ocornut 301c956039 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038) 2023-03-15 17:09:09 +01:00
ocornut 752603bc70 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
Amend a1b8457
2023-02-15 19:50:03 +01:00
ocornut 4f630b0449 imgui_freetype: fixed non-ASCII characters in sources. (#6166) 2023-02-15 16:43:08 +01:00
ocornut 092b6825ac Fonts: Assert that in each GlyphRanges[] pairs first is <= second. 2023-02-14 15:00:12 +01:00