ocornut
9150c23c04
imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. ( #5788 , #5829 )
...
This seemingly innocuous change sursingly had very large side-effects of completly breaking packing for the test font mentioned in above issue. Not even sure why tbh. New code matches what stb_truetype's stbtt_PackBegin() does.
2023-01-04 15:22:56 +01:00
cfillion
5884219867
imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. ( #5731 )
2022-09-30 16:12:51 +02:00
BttrDrgn
4db55f88e8
Changed FONT.md edit to blob ( #5290 )
...
Stop from opening the editor for freetype/README.md
2022-05-06 09:47:18 +02:00
ocornut
fd06ed833b
Misc: tweaks + fix warnings on backends withtout -wno-memaccess ( #4995 , #5104 )
2022-03-13 17:57:32 +07:00
Clownacy
422902dbda
Correct typos ( #4954 , #4955 ), use IM_STATIC_ASSERT now that old pre-C++11 macro has been obsoleted.
2022-01-31 11:58:33 +01:00
ocornut
ebac375791
Docs: added info about Freetype, editing sponsors.
2021-11-08 16:22:00 +01:00
ocornut
68f428b449
imgui_freetype: Fixed crash when FT_Render_Glyph() returns NULL (which apparently happens with Freetype 2.11). ( #4394 , #4145 ?)
2021-08-23 16:42:58 +02:00
ocornut
e534c56485
Fonts: Functions with a 'float size_pixels' parameter can accept zero if it is set in ImFontSize::SizePixels.
2021-06-24 17:15:14 +02:00
ocornut
20d415e939
FIx static analysers warnings and disable false positives.
2021-06-24 17:15:14 +02:00
ocornut
d0c6dd9baf
ImVector: added clear_delete(), clear_destruct() helpers.
2021-06-09 16:57:47 +02:00
ocornut
020d1ced1d
Examples: SDL2: Accomodate for vcpkg install having headers in SDL2/SDL.h vs SDL.h + vcpkg related comments.
2021-06-08 17:10:24 +02:00
ocornut
c708299ca9
Docs: Improvements to description of using colored glyphes/emojis. ( #4169 , #3369 ) + Add Fonts to Metrics. Removed IMGUI_HAS_TABLE markers.
2021-05-24 13:07:26 +02:00
ANF-Studios
ebe6ac5fb5
Improvements to minor mistakes in documentation comments ( #3923 )
2021-03-16 12:44:16 +01:00
TAiGA
f5bc5e8630
Freetype: Enable FreeType bitmap glyphs. ( #3879 )
2021-03-05 14:25:27 +01:00
ocornut
23ab4978e4
ImFontAtlas: Added 'bool TexPixelsUseColors' output to help backend decide of underlying texture format. ( #3369 , #3844 )
2021-03-02 15:04:34 +01:00
ocornut
4df57136e9
Version 1.81
2021-02-10 21:16:58 +01:00
ocornut
24be26e00e
imgui_freetype: Add support for colored glyphs. Font: add support for untinted glyphs ( #3369 )
...
Amend 9499afd
with missing static inline.
2021-02-01 16:32:26 +01:00
Petr Shurgalin
24aa6654df
imgui_freetype: add support for colored glyphs with ImGuiFreeTypeBuilderFlags_LoadColor ( #3369 )
...
(squashed 4 commits)
2021-02-01 16:32:23 +01:00
ocornut
9499afdf5e
imgui_freetype: clarify breaking changes, and add BuildFontAtlas() to be consistent with planned obsolescence. Rename mislabelled internal helper. Demo: clarify labels in nested table demo. ( #3765 )
2021-01-28 20:53:53 +01:00
ocornut
3867c6c5f0
Fonts: (Breaking) Rename ImGuiFreeType:: flags to ImGuiFreeTypeBuilderFlags_XXX. Remove ImGuiFreeType::BuildFontAtlas() flags. Rename ImFontConfig::RasterizerFlags to FontBuilderFlags. Add ImFontBuilderIO (opaque). Amend 53d59f3 with a dozen of small fixes.
2021-01-26 17:25:09 +01:00
Bartosz Taudul
6469b94304
Silence memset warning. ( #3505 )
...
Compiling the code as-is results in the following warning:
-->8--
imgui_freetype.cpp:341:72: warning: ‘void* memset(void*, int, size_t)’
clearing an object of type ‘struct ImFontBuildSrcDataFT’ with no
trivial copy-assignment; use assignment or value-initialization
instead [-Wclass-memaccess]
341 | memset(src_tmp_array.Data, 0, (size_t)src_tmp_array.size_in_bytes());
| ^
imgui_freetype.cpp:302:8: note: ‘struct ImFontBuildSrcDataFT’ declared here
302 | struct ImFontBuildSrcDataFT
| ^~~~~~~~~~~~~~~~~~~~
--8<--
This is caused by presence of ImVector<> directly in ImFontBuildSrcDataFT data
structure, as well as in the child ImBitVector. Since ImVector<> has a
constructor, the compiler infers that initialization by memset is not valid.
Such initialization is not a bug, however, as the default ImVector<> ctor just
sets the structure data members to 0, which is exactly what the memset does.
Casting the data structure address to void* pointer silences this warning.
2020-10-02 19:12:53 +02:00
ocornut
90b152f265
ImFontAtlas: Fixed multiple rebuild with same inputs erroneously increased ConfigDataCount. CI: Update Ubuntu 18.04 > 20.04 (motivated by #3369 )
...
Fix Freetype warning.
2020-08-07 16:27:55 +02:00
omar
5d87941451
Fixed ImFontConfig::GlyphExtraSpacing and ImFontConfig::PixelSnapH settings being pulled from the merged/target font settings when merging fonts, instead of being pulled from the source font settings.
2020-08-02 12:20:13 +02:00
Rokas Kupstys
0738611559
Misc: Bunch of code formatting changes suggested by a pass running 'astyle'
2020-06-30 16:37:21 +02:00
ocornut
53dfccbe4b
imgui_freetype: Fix for rare case where FT_Get_Char_Index() succeed but FT_Load_Glyph() fails. ( #618 )
2020-06-04 17:53:50 +02:00
omar
832fda8488
Fixed stray end of line blanks, added comments in .editorconfig, tweaked some headers.
2020-04-07 14:46:46 +02:00
omar
cc0d4e346a
Misc: Added an explicit compile-time test for non-scoped IM_ASSERT() macros to redirect users to a solution + fixed our stb wrappers.
...
+ Nav: Use nav layer enum, comments.
2020-04-03 12:41:33 +02:00
David Kalnischkies
2fd411a83e
Support custom stb_rect_pack filename in Freetype ( #3062 )
...
Copies the #define magic from imgui_draw.cpp to the imgui_freetype implementation to allow the use of a custom stb rect_pack here as well.
References: fe5347ef94
2020-03-18 22:14:29 +01:00
ocornut
339ffd25a9
Internals: Renamed ImBoolVector to ImBitVector, added low-level loose function to replicate the behavior include a help SetBitRange() function.
2020-03-13 18:50:02 +01:00
omar
d16c87a5b1
Internals: Minor renaming
2020-02-10 16:46:51 +01:00
Rokas Kupstys
c863c1f6a1
Clean up number rounding. Now it is more obvious what code is doing. ( #2862 )
...
Add IM_ROUND() macro
Replace IM_FLOOR(n + 0.5f) and ImFloor(n + 0.5f) with IM_ROUND(n)
2019-10-29 17:05:25 +01:00
Rokas Kupstys
714fe29d1a
Replace manual flooring with IM_FLOOR() macro. ( #2850 )
...
Macro is used to ensure that flooring operation is always inlined even in debug builds. __forceinline does not force inlining in /Od builds with MSVC.
(cherry picked from commit bc165df6fd7969605bbc07b8a6d3d28f9109e8f3)
2019-10-18 16:18:38 +02:00
luk1337
1820aaf444
imgui_freetype: Initialize FT_MemoryRec_ struct manually ( #2686 )
...
This fixes gcc warning: missing field 'alloc' initializer [-Wmissing-field-initializers]
2019-07-23 09:41:27 -07:00
omar
e9b92d1cef
Disable -Wpragmas warning in GCC to avoid relying on version checks, as unusual/forks/mods don't appear to always have same warning<>version. ( #2618 )
...
+ Fix version number in imgui.h
2019-06-17 11:32:00 +02:00
omar
4597632662
Readme, comments, dear imgui prefixes
2019-06-11 16:11:36 +02:00
HolyBlackCat
87c5356d97
FreeType: Added RasterizerFlags::Monochrome flag to disable font anti-aliasing. ( #2545 ) Combine with RasterizerFlags::MonoHinting for best results.
2019-05-11 10:46:26 +02:00
omar
c8fd4afd75
Misc: Added IM_MALLOC/IM_FREE macros mimicking IM_NEW/IM_DELETE so user doesn't need to revert to using the ImGui::MemAlloc()/MemFree() calls directly.
2019-04-05 20:20:24 +02:00
omar
e21bbee311
Examples: DirectX9: Fixed erroneous assert in ImGui_ImplDX9_InvalidateDeviceObjects(). FreeType: Fixed suggested code to not require an initial build call.. ( #2454 )
2019-03-29 18:32:57 +01:00
omar
f5bf6e38d2
Font: Fixed assert when specifying duplicate/overlapping ranges within a same font. ( #2353 , #2233 )
2019-02-18 12:11:46 +01:00
omar
db40699990
imgui_freeetype: Updated suggested test code.
2019-02-18 12:08:19 +01:00
omar
ee3b4f2bf1
Using IM_UNUSED() macro.
2019-01-27 16:23:23 +01:00
omar
ea7206fd4f
Fixed using imgui_freetype.cpp in unity builds. ( #2302 )
2019-01-21 13:58:29 +01:00
omar
2c38b32db1
Removed trailing spaces ( #2038 , #2299 )
2019-01-20 17:56:17 +01:00
omar
09f1cb642b
FreeType: Minor tweaks previous commit ( #2285 )
2019-01-15 21:50:43 +01:00
alexey_skryabin
daac9c7559
By default ImGuiFreeType will use ImGui::MemAlloc()/MemFree().
...
ImGuiFreeType::SetAllocatorFunctions() can be used to specify custom allocator.
2019-01-15 21:47:46 +01:00
omar
8df8482ef4
imgui_freetype: Fixed redundant FT_Load_Glyph() calls, unused parameters, and compilation warning/error. ( #2270 )
2019-01-12 11:45:58 +01:00
omar
651130002f
ImFontAtlas: Fixed allocating for last bit (would only affect is that last codepoint is a multiple of 32). ( #2270 )
2019-01-11 15:25:43 +01:00
omar
21828b08a0
ImFontAtlas: Rewrote FreeType based builder.
...
- Fixed abnormally high atlas height. (#618 )
- Fixed support for any values of TexGlyphPadding (not just only 1). (#618 )
- Atlas width is now properly based on total surface rather than glyph count (unless overridden with TexDesiredWidth). (#618 )
- Fixed atlas builder so missing glyphs won't influence the atlas texture width. (#2233 , #618 )
- Fixed atlas builder so duplicate glyphs (when merging fonts) won't be included in the rasterized atlas. (#618 )
2019-01-10 22:30:34 +01:00
omar
56caf7da29
imgui_freetype: Minor tweaks and comments.
2019-01-10 16:10:02 +01:00
omar
9cc63ba279
Internals: Replace unsigned short with ImWchar when dealing with character storage (missing cases) + in imgui_impl_ file keep using neutral type everywhere, added missing explicit cast in three bindings. ( #2078 )
2018-09-11 22:00:57 +02:00