Releases: razterizer/Core
Releases · razterizer/Core
Release list
release-1.5.0.8
Build / Distribution
- Added a root
CMakeLists.txtdefining the header-onlyCore/Core::Coreinterface library with C++20 and the appropriate include paths. - Added a Forge recipe for the Core library, examples, and unit tests, using dotted release build numbers.
- Added automated Forge cbox creation and publication to tagged GitHub releases.
Header Fixes
FolderHelper.h,StlOperators.h, andUtils.h: Added missing standard-library includes so the headers compile reliably when included on their own.StlUtils.h: Marked variables used only by assertions as[[maybe_unused]]to avoid warnings in builds where assertions are disabled.
Tests / Documentation
- Made
atan2n()tests tolerant of expected floating-point rounding differences. - Corrected
tag_release.shcommand examples in the README and documented the project's historical AI-usage (or policy depending on how you look at it).
release-1.4.0.7
UTF-8 / CP437
Utf8.h: Renamedlookup_cp437()to the more descriptiveunicode_to_cp437().Utf8.h: Addedcp437_to_unicode()as the reciprocal conversion from CP437 bytes to Unicode code points.Utf8.h: Completed and reorganized the CP437 mapping table, including low-area graphical glyphs and0x2302 -> 0x7F.Utf8.h:cp437_to_unicode()now accepts lower bytes.Utf8.h:unicode_to_cp437()now validates ASCII-range input symmetrically withcp437_to_unicode().
String Helpers
StringHelper.h: Addedstr::is_ascii()andstr::is_printable_ascii().StringHelper.h: Improvedadjust_str()soLeftIntegerneedle construction uses the target string type's constructor.StringBox.h: Onlystd::stringinput is split on newline; non-string string types are treated as already-single-line values.
Terminal Detection / Emission
System.h: Addedis_windows_terminal().System.h: Replaced the older Windows-cmd check with the more robustis_non_wt_console().Term.h: Addeduse_ansi_renderer(const TermMode&).Term.h: ExpandedTermModewith richer terminal/font information such as Windows Terminal/conhost classification, font face, TrueType font state, and Windows font class.Term.h: Removed static VT-enabled caching so repeated terminal-mode initialization can reflect the current state.
Text I/O
TextIO.h: Added verbosity arguments toread_file()andwrite_file().TextIO.h: Fixed severity level for failed file-open errors inwrite_file().
Misc
StlUtils.h: AddedRangeandin_ranges()for efficient range membership checks.MathUtils.h: Added an integer overload forlerp().- Updated README API overview for the new helpers and renamed functions.
release-1.3.1.6
StringHelper.h: Fortokenize()I removed the last template argumentKeyLambdabecause it makes little sense whenKeyTalready works on the level of e.g. t8::Glyph. Better to just compare with it directly.Histogram.h: Fixing bug in instantiation of `StringBox object unearthed due to earlier 2 commits.
release-1.3.0.5
- Added unit tests for
str::tokenize(). System.h: Inlining all functions for ODR.StringHelper.h: Templatizingrep_str().StringHelper.h: Templatizingtokenize().StringHelper.h: Templatizingrep_char().StringHelper.h: Templatizingadjust_str().StringBox.h: Templatizing structStringBox.
release-1.2.1.4
Utf8.h:decode_next_utf8_char32()now returnsch32 = noneif no valid codepoint was found.- Added an
Examplesfolder with anexamples.cppthat will allow you to browse UTF-8 code point blocks. Utf8.h: Adding new functionnum_utf8_codepoints()which returns the number of glyph/character codepoints that are encoded inside of the suppliedstd::string.- Added new header
Keyboard.hwith cross-platform functionsgetch(),press_any_key()andpress_any_key_or_quit(). StringHelper.h: Templetizing functionhex2int()on return type (defaultint) which makes it much more useful.System.h: Functionsis_wsl()andis_windows_cmd()must both be markedinlinefor the static "one call" scheme to be safe.StringHelper.h: Improvedto_lower() / to_upper()functions and adding more variants for a more complete API. Also added a few unit tests for these.StringHelper.h: Added new functionrep_str()akin torep_char().Rand.h: Fixed bug inrand_enum()that caused the last element beforeNUM_ITEMSto never be returned.StringHelper.h: AddinglenI()overloads forstd::string,const char*,std::wstring_view,std::wstringandconst wchar_t*.- Added new header
Term.hcontaining the functions:inline bool is_console_stdout(),inline bool enable_vt_on_stdout(),inline std::wstring utf8_to_utf16(std::string_view s),inline void write_console_w(std::wstring_view ws),inline void write_console_a(std::string_view s),inline TermMode init_terminal_mode(int requested_codepage),inline bool use_ansi_colors(const TermMode& m),inline void emit_text(const TermMode& m, std::string_view s_utf8, std::string_view s_bytes_for_legacy = {})andinline void emit_text_nl(const TermMode& m, std::string_view s_utf8, std::string_view s_bytes_for_legacy = {}).
release-1.1.1.3
- Fixed bug in utf8::encode_char32_codepage() that caused an ASCII character to be unidentified if passiung argument codepage = 437.
release-1.1.0.2
- Added new header Utf8.h with some useful functions for encoding
utf-8bytes to and from anstd::stringobject.
release-1.0.1.1
- Fixed windows warning in Histogram.
- Added version.h to the xcode project.