Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-03Cleanup: fix various typosBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D15588
2022-07-29Cleanup: quiet warnings in recent BLF and rna_ui changesCampbell Barton
2022-07-29BLF: Fonts with FT_Face OptionalHarley Acheson
Allow FontBLFs to exist with NULL FT_Face, added only when actually needed. Speeds up startup and unused fonts are not loaded. See D15258 for more details. Differential Revision: https://developer.blender.org/D15258 Reviewed by Brecht Van Lommel
2022-07-29BLF: Don't Print Empty StringsHarley Acheson
Optimize font drawing by skipping empty strings. See D15472 for more details. Differential Revision: https://developer.blender.org/D15472 Reviewed by Campbell Barton
2022-07-07BLF: Add Support for Variable FontsHarley Acheson
Add support for Variable/Multiple Master font features. These are fonts that contain a range of design variations along multiple axes. This contains no client-facing options. See D12977 for details and examples Differential Revision: https://developer.blender.org/D12977 Reviewed by Brecht Van Lommel
2022-06-27Revert 6de0f299505a: BLF: Support for Variable FontsHarley Acheson
Reverting for now, breaks on GCC
2022-06-27BLF: Add Support for Variable FontsHarley Acheson
Add support for Variable/Multiple Master font features. These are fonts that contain a range of design variations along multiple axes. This contains no client-facing options. See D12977 for details and examples Differential Revision: https://developer.blender.org/D12977 Reviewed by Brecht Van Lommel
2022-06-22Cleanup: replace BLF defines with enum, formattingCampbell Barton
2022-06-17BLF: Fallback Font StackHarley Acheson
Allow use of multiple fonts acting together like a fallback stack, where if a glyph is not found in one it can be retrieved from another. See D12622 for much more detail Differential Revision: https://developer.blender.org/D12622 Reviewed by Brecht Van Lommel
2022-05-06Cleanup: spelling in comments, use doxygen commentsCampbell Barton
2022-04-14Fix T97310: BLF Line Height While Text WrappingHarley Acheson
Fix word-wrapped tooltip text not showing by aligning to pixel grid. See D14639 for more details. Differential Revision: https://developer.blender.org/D14639 Reviewed by Campbell Barton
2022-04-13Cleanup: warning for 'float' to 'int' with MSVCCampbell Barton
2022-04-13Cleanup: avoid redundant float/int conversions in BLFCampbell Barton
Internally many offsets for BLF were integers but exposed as floats, since these are used in pixel-space, many callers were converging them back to integers. Simplify logic by using ints.
2022-04-13BLF: sub-pixel positioning supportCampbell Barton
Support sub-pixel kerning and hinting for future support for improved character placement. No user visible changes have been made. - Calculate sub-pixel offsets, using integer maths. - Use convenience functions to perform the conversions and hide the underlying values. - Use `ft_pix` type to distinguish values that use sub-pixel integer values from freetype and values rounded to pixels. This was originally based on D12999 by @harley with the user visible changes removed so they can be applied separately.
2022-03-25BLF Cleanup: Use FreeType Enum FT_Err_OkHarley Acheson
Replace comparisons of FT_Error against 0 with FT_Err_Ok instead. See D14052 for more details. Differential Revision: https://developer.blender.org/D14052 Reviewed by Campbell Barton
2022-03-24Cleanup: use "filepath" instead of "filename" for full pathsCampbell Barton
Reserve "filename" when only the name component is used.
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2022-02-08BLF: Enable Filtering of woff and woff2 FontsHarley Acheson
Add files with extension ".woff" and ".woff2" to FILE_TYPE_FTFONT file type. Allows selecting and using these types of font files. See D13822 for more details. Differential Revision: https://developer.blender.org/D13822 Reviewed by Campbell Barton
2022-02-05BLF: Cleanup blf_glyph_cache_find & blf_font_sizeHarley Acheson
Removes unnecessary calls to blf_glyph_cache_find, simplifies blf_font_size, and reduces calls to it. blf_glyph_cache_new and blf_glyph_cache_find made static. See D13374 for more details. Differential Revision: https://developer.blender.org/D13374 Reviewed by Campbell Barton
2022-02-05BLF: Save fixed_width value in cacheHarley Acheson
Cache the font size's ideal fixed width column size in the glyph cache rather than the font itself to improve performance. See D13226 for more details. Differential Revision: https://developer.blender.org/D13226 Reviewed by Campbell Barton
2022-02-05BLF: blf_glyph_cache_free Made StaticHarley Acheson
blf_glyph_cache_free does not need to be public. See D13395 for more details. Differential Revision: https://developer.blender.org/D13395 Reviewed by Campbell Barton
2021-12-08Cleanup: move public doc-strings into headers for 'blenfont'Campbell Barton
Ref T92709
2021-11-19Cleanup: fix typos in comments and docsBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D13264
2021-11-13BLF: Use Floats for Font Point SizesHarley Acheson
Allow the use of floating-point values for font point sizes, which allows greater precision and flexibility for text output. See D8960 for more information, details, and justification. Differential Revision: https://developer.blender.org/D8960 Reviewed by Campbell Barton
2021-11-06Cleanup: remove window_manager & editor includes from BLFCampbell Barton
Remove the need to include the window manager & editor functions in low level font rendering code. - The default font size is now set when changed in the preferences. - Flushing cache is set as a callback.
2021-11-03BLF: Remove Thread Locking For Font MetricsHarley Acheson
This patch removes the need to lock the thread just to get to some generic (not glyph-specific) font metrics. See D12976 for more details. Differential Revision: https://developer.blender.org/D12976 Reviewed by Campbell Barton
2021-10-29Cleanup: rename blf_utf8_next_fast to blf_glyph_from_utf8_and_stepCampbell Barton
Calling this 'fast' no longer made sense as the slower code-path has been removed.
2021-10-29Cleanup: remove redundant BLI_UTF8_ERR checkCampbell Barton
2021-10-29BLF Refactor: blf_utf8_next_fastHarley Acheson
Simplification of BLF glyph loading See D13026 for details. Differential Revision: https://developer.blender.org/D13026 Reviewed by Campbell Barton
2021-10-29BLF Refactor: blf_kerning_step_fastHarley Acheson
Simplification of BLF Kerning See D13015 for more details. Differential Revision: https://developer.blender.org/D13015 Reviewed by Campbell Barton
2021-08-27Cleanup: utf8 stepping functionsCampbell Barton
Various changes to reduce risk of out of bounds errors in utf8 seeking. - Remove BLI_str_prev_char_utf8 This function could potentially scan past the beginning of a string. Use BLI_str_find_prev_char_utf8 instead which takes a limiting string start argument. - Swap arguments for BLI_str_find_prev_char_utf8 so the stepping argument is first and the limiting argument is last. This matches BLI_str_find_next_char_utf8. - Change behavior of these functions to return it the start or end pointers instead of NULL, which complicated use of these functions to calculate offsets. Callers that need to check if the limits were reached can compare the return value with the start/end pointers. - Return 'const char *' from these functions so they don't remove const from the input arguments.
2021-08-25BLF: Remove ASCII-only Code PathsHarley Acheson
Remove redundant code for drawing text strings that contain only ASCII. See D12293 for much more detail. Differential Revision: https://developer.blender.org/D12293 Reviewed by Campbell Barton
2021-08-25BLI_string_utf8: simplify utf8 stepping logicCampbell Barton
There were multiple utf8 functions which treated errors slightly differently. Split BLI_str_utf8_as_unicode_step into two functions. - BLI_str_utf8_as_unicode_step_or_error returns error value when decoding fails and doesn't step. - BLI_str_utf8_as_unicode_step always steps forward at least one returning the byte value without decoding (needed to display some latin1 file-paths). Font drawing uses BLI_str_utf8_as_unicode_step and no longer check for error values.
2021-08-24Fix BLI_str_utf8_as_unicode_step reading past intended boundsCampbell Barton
Add a string length argument to BLI_str_utf8_as_unicode_step to prevent reading past the buffer bounds or the intended range since some callers of this function take a string length to operate on part of the string. Font drawing for example didn't respect the length argument, potentially causing a buffer over-read with multi-byte characters that could read past the end of the string. The following command would read 5 bytes past the end of the input. `BLF_draw(font_id, (char[]){252}, 1);` In practice strings are typically null terminated so this didn't crash reading past buffer bounds. Nevertheless, this wasn't correct and could cause bugs in the future. Clamping by the length now has the same behavior as a null byte. Add test to ensure this is working as intended.
2021-08-24Cleanup: spellingCampbell Barton
2021-08-23Cleanup: rename len to str_len for BLF functionsCampbell Barton
Make it obvious which variable this is the length of.
2021-08-21Cleanup: minor changes to blf_font.cCampbell Barton
- Use early return when kerning isn't used. - Remove early return that prevented matching acquire/release calls.
2021-08-21Cleanup: organize blf_font.c functions using doxy-sectionsCampbell Barton
Functions in this file were scattered and not well organized.
2021-08-21Correct build error from 0d7aab2375e6bb06e89dad851550b283a1ff805cCampbell Barton
2021-08-21Refactor: BLF Kerning Cache After UseHarley Acheson
Optimization of font kerning by only caching kerning values after a pair is encountered. Also saves unscaled values so they don't have to be rebuilt between font size changes. See D12274 for more details and speed comparison. Differential Revision: https://developer.blender.org/D12274 Reviewed by Campbell Barton
2021-08-19Correct assert from 22ab0159a9754365e2d10a1bc658d4409d084fa6Campbell Barton
2021-08-19Refactor: BLF Without Kerning ModesHarley Acheson
Simplification of BLF code after removal of kerning modes. See D12262 for more details. Differential Revision: https://developer.blender.org/D12262 Reviewed by Campbell Barton
2021-08-19UI: Remove "Unfitted" Kerning Style OptionHarley Acheson
This patch removes the "Kerning Style" option for UI widget font drawing and uses only the current default of "Fitted", since the other option of "Unfitted" is just the result of truncation errors. see D12231 for much more information. Differential Revision: https://developer.blender.org/D12231 Reviewed by Campbell Barton
2021-08-16Cleanup: rename kerning table to ascii_tableCampbell Barton
It wasn't obvious this was only for ASCII characters.
2021-08-16BLF: use fast ASCII kerning for word-wrap calculationsCampbell Barton
While this wasn't a bottleneck, using the fast version of this function removes some duplicate code that doesn't use the look-up table.
2021-08-16Cleanup: replace macros with inline functions for font drawingCampbell Barton
Also assert blf_font_ensure_ascii_kerning has been called in blf_kerning_step_fast.
2021-08-14BLF: Do Not Preload Glyph CacheHarley Acheson
This patch turns off the preloading of ascii glyphs and instead caches each glyph the first time it is actually used. See D12215 for much more detail. Differential Revision: https://developer.blender.org/D12215 Reviewed by Campbell Barton
2021-08-14BLF Cleanup: Size Defines, Comments, etcHarley Acheson
This patch makes some non-functional changes to BLF code. Some size defines added, comments changed, simplification of macro BLF_KERNING_VARS. See D12200 for more details. Differential Revision: https://developer.blender.org/D12200 Reviewed by Campbell Barton
2021-08-11BLF: Do Not Cache Unused Rendered GlyphsHarley Acheson
The loading of a font size or style renders bitmaps of the characters 0-255 and stores them in a cache. But glyphs 128-255 in this cache are not accessible. What used to be ansi high-bit characters are now multi- byte UTF-8 sequences. Therefore this patch reduces the glyph_ascii_table size to 128 and only caches characters 32-127, the visible portion of ASCII, which greatly reduces the time to load a font. See D12189 for more details. Differential Revision: https://developer.blender.org/D12189 Reviewed by Campbell Barton
2021-08-04VSE: Allow Wingdings and Symbol FontsHarley Acheson
This patch makes us less restrictive on the allowed types of FreeType font character maps we allow, rather than primarily unicode-only. This allows us to use some legacy, symbol, specialty, and proprietary fonts like Wingdings. Note we were a little less restrictive with vfonts, used for 3D Text Objects, so this patch primarily helps VSE. See D12124 for details and examples. Differential Revision: https://developer.blender.org/D12124 Reviewed by Brecht Van Lommel