This patch allows Blender to display i18n monospace font in the text
editor and the Python interactive console. Wide characters that occupy
multiple columns such as CJK characters can be displayed correctly.
Furthermore, wrapping, selection, suggestion, cursor drawing, and
syntax highlighting should work.
Also fixes a bug [#34543]: In Text Editor false color in comment on cyrillic
To estimate how many columns each character occupies, this patch uses
wcwidth.c written by Markus Kuhn and distributed under MIT-style license:
http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
wcwidth.c is stored in extern/wcwidth and used as a static library.
This patch adds new API to blenfont, blenlib and blenkernel:
BLF_get_unifont_mono()
BLF_free_unifont_mono()
BLF_draw_mono()
BLI_wcwidth()
BLI_wcswidth()
BLI_str_utf8_char_width()
BLI_str_utf8_char_width_safe()
txt_utf8_offset_to_column()
txt_utf8_column_to_offset()
This is a mixed font based on DejaVu Sans Mono and including M+1M
Regular and Wen Quan Yi Micro Hei Mono. Versions and licenses of the
included fonts are as follows:
- DejaVu fonts: version 2.33, Bitstream font license and Arev font license and public domain
- M+ fonts: TESTFLIGHT 54, M+ font license
- Wen Quan Yi Micro Hei fonts: version 0.2.0-beta, GPLv3 with font embedding exception or Apache2.0
The font license docs will be added later.
* OBJECT_OT_make_links_scene did only trigger an 3D View update which was insufficient for Outliner (modifiers for example) and also some parts inside the Properties Editor (Mesh Data, Material Data).
Make it so install directory is being nicely
cleaned before next build, which makes it
automatically removing all old files from
previous installations.
Otherwise linux buildbot fails dramatically.
That revision also leads to msvc runtime libs being removed, will fix this
in separate commit.
Take more respect for such creepy as linux and windows platforms, they're not so bad!
We have a glicth with colormanagement's spaces descriptions, though, looks like they are clamped at 64 chars (see raw space), will see that later, if it’s solvable.
The code in this file is NOT restricted to use in object context only. Renaming
it makes it easier to find this file (taking in account name truncations).
* The wording on the "Add Constraint" dropdown has been changed so that there is
no ambiguitiy about which tab is currently selected. That is, it now mentions
whether these are object or bone constraints, so that users don't need to try
and look up at the header to check.
* Show the warning about Ob vs Bone constraints when in armature editmode too.
to brush size, and unlock icon to indicate absolute jitter untied to
brush size, in screen pixels. Also relative jitter now has soft UI limit
of 2.0 and a hard limit of 1000 times the size of the brush. Should be
enough for the most vivid imaginations...I hope!
absolute coordinates. This allows an artist to lower the brush radius
while keeping the spread of the brush constant. A toggle under the
jitter slider provides the option to switch between relative/absolute.
Fix for keyingsets tips, and make them (and a few others) findable by i18n messages extracting code (for some reasons, their bl_rna.description are void???).
* Projection painting files reside in paint_image_proj.c
* 2d projection files reside in paint_image_2d.c
* Common operator/paint operation code resides in paint_image.c
All old code layout is out. Phew...Now we can at least concentrate on
each system separately when debugging this beast. We could even separate
the paint structs for 2d/projective more easily should we choose to do
so.
* Rename functions and move to own header.
* Add wrapper functions for glLight.
* Auto detect if we can use faster code for solid lighting.
* Various fixes for textured draw mode.
Tiny tweak.
Dragging option (cursor change) for region dividers in editors was having an
un-even sensitivity hotspot. This conflicted with header buttons for example,
where the hotspot and bottons overlapped.
Now the hotspot is around the region-edge evenly.
- add accent_grave.
- strip the search string.
- add numpad numbers (currently these match regular numbers).
also remove unneeded forward declarations in path_util.c
- remove unused block from before blender was opensourced (BKE_library_make_local)
noticed by Lawrence D'Oliveiro (ldo)
- remove text_idbutton() unused function.
- test_idbutton(name) was taking (name + 2), then checking 2 bytes before the pointer, this is error prone so better just take the name including the ID prefix.
from Lawrence D'Oliveiro (ldo)
check_for_dupid comments:
- correct comment about in_use array
- note name-truncation code will never be executed
---
Added asserts to ensure comments are correct - ideasman42.