Add i18n monospace font (bmonofont-i18n.ttf) which will be used for the text editor and interactive console

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.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55202 954f8c5b-7b00-dc11-b283-0030488c597c
Patch [#34373] Use i18n monospace font in Text editor and Python console

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()


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55203 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #34599: Mask nodes stop working if output is later piped through HSV node

Issue was caused by the fix for #33650 which changed way to check whether
operation resolution is set or not from checking dimensions are zero to
setResolution was ever called.

Such change lead to conflict with MixBase operation (used for Mix node) which
uses temporary zero resolution to check whether input socket resolution is
known. This leads to zero resolution setting to that branch of tree. After this
resolution will never set to it's actual value.

For now solved by changing logic how MixBase operation detects resolution.
Namely instead of using trick with temporary zero resolution and calling
determineResolution for all inputs, and then call base class's method to
determine resolution just once again, check whether input socket is connected
and if so use it's resolution.

Shall not be regressions for real-life trees, but keeping an eye on this and
doing more tests is for sure welcome.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55204 954f8c5b-7b00-dc11-b283-0030488c597c
Fix compilation error after recent changes to strict gcc flags

Dudes, please try building blender with all default features
before doing such a commits. It helps just a lot when bisecting
issues later.

Also solved const qualifier discard happens in recent monofont
commit.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55205 954f8c5b-7b00-dc11-b283-0030488c597c
fix own regression in 2.66 [#34610] Text editor: Syntax highlighting freezes


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55206 954f8c5b-7b00-dc11-b283-0030488c597c
code cleanup: quiet struct gcc warnings, also use more conventional names for bmesh dissolve.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55207 954f8c5b-7b00-dc11-b283-0030488c597c
Made a mistake in recent windows buildbot tweaks.
Didn't count indentation correct..

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55208 954f8c5b-7b00-dc11-b283-0030488c597c
Woops, installing dlls shall happen after all the folders are created.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55209 954f8c5b-7b00-dc11-b283-0030488c597c
Fixe related on #34608: MultiLayer OpenEXR (from Maya) - passes lost in Compositor Image Node

imb_exr_split_channel_name didn't set any value to layer and pass names,
leaving them uninitialized.

This is likely solves initial report, but will know for sure after testing
windows build only.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55210 954f8c5b-7b00-dc11-b283-0030488c597c
Changing image ID datablock fomr browser in Image node didn't change output sockets

Which lead to either multilayer sockets hanging around when switching image from
multilayer to singlelayer, or missing layers outputs when switching from single
to multilayer image.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55211 954f8c5b-7b00-dc11-b283-0030488c597c
replace sprintf -> strcpy where its not needed.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55212 954f8c5b-7b00-dc11-b283-0030488c597c
Ouliner: Added recursive setting of (visibility/selectability) for bones (Edit- and Object-mode)

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55213 954f8c5b-7b00-dc11-b283-0030488c597c
Temp fix for stupid -Wformat-security issue.

Also makes more use of BLI_snprintf, and makes more consistent code acrross all "header strings" generation in transform.c.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55214 954f8c5b-7b00-dc11-b283-0030488c597c
Fix for crash in special cases when mixing translate node with other

Issue was caused by calling ensureDelta from initexecution, which will
read pixels from an input and it could read from non-initialized
operations.

Issue was originally introduced in svn rev54235 which added ensureDelta
to translate's initExecution, but since rev54349 this call seems to be
doing nothing.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55215 954f8c5b-7b00-dc11-b283-0030488c597c
Fix for strict compiler's flags

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55216 954f8c5b-7b00-dc11-b283-0030488c597c
Print compositor execution statistics when in background mode

This will print memory usage, mapped memory usage, memory peak,
compositing tree name and number of finished tiles to stdout
when blender is rendering in background mode.

This makes compositor a less blackbox and should help trouble
shooting issues happening during 4K ToS project.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55217 954f8c5b-7b00-dc11-b283-0030488c597c
change defaults for window state on X11 (yet again), after further discussion.

instead use a fixed size as a default, clamp by the desktop size and add some padding (to account for title bar and panel).


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55218 954f8c5b-7b00-dc11-b283-0030488c597c
Patch #34569: Enable PNG Codec for video output

By Gottfried Hofmann, thanks!

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55219 954f8c5b-7b00-dc11-b283-0030488c597c
Patch #34204: [Render Animation] Fails with "Error: Specified sample_fmt is not supported" with ogg vorbis

Patch by Jehan Pages (pardon for mis-typing, emacs-nox works not so good with
urf-8 buffers here), with some own modifications. Thanks!

From the patch tracker:

The problem is because of several versions of ffmpeg, but even more because of
the fork situation libav/ffmpeg. So there are some installed versions out there
where you *must* use a float sample for some codec; whereas oppositely on some
other installations, you *must* use the int sample. So for some people, one
works not the other, and reciprocally.

As a consequence, you can't just have a switch codec-based, like in current
code, which decides on the float or int implementation, you must necessarily
have a runtime test because you won't know until then if ogg vorbis will use
one or another sample (note: that's true also for AC3 as I fixed the exact same
bug in DVDStyler for AC3 encoding a few months ago; and I guess it would be same
for AAC).

Some notes from self:
- New FFmpeg requires using FLTP for AAC, AC3 and Vorbis, it's not supported
  by audaspace and result in this case would be just wrong. Throw an error
  in cases FLTP is trying to be used.
- Moved strict_std_compliance a bit upper. When we'll support FLTP both
  FLT and FLTP for AAC would need to be using FF_COMPLIANCE_EXPERIMENTAL.
- It is nice to have such check of supported by codec formats anyway.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55220 954f8c5b-7b00-dc11-b283-0030488c597c
remove .orig file (left over from merge I guess)

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@55221 954f8c5b-7b00-dc11-b283-0030488c597c