This changes the font plugin from using a font file to using a specific
installed system font, which is searched for on each specific system and
associated with the font file. It now uses a font property instead of a
path property, and font size has been removed because the font property
now handles that.
When the module is first loaded, it will build up a list of system fonts
in order to be usable by Freetype. It was quite painful to program this
because font files can contain multiple localized versions of their face
names, and then there was the issue where windows likes to mangle
custom style types to the font name. Regardless, it all seems to have
worked out pretty well.
Minor issues:
- Truetype/Opentype fonts sometimes do not automatically have
italic and/or bold styles available, it seems that the system applies
transformations manually in those cases. We don't do this yet,
however, so right now a user might select a font with italic/bold
only to discover that italic/bold doesn't always work. Not entirely
sure what to do about this yet. There's probably a freetype function
to do something like that somehow,
This also requires that iconv be used for non-windows systems to be able
to look up localized font names within font files. Windows will use
the win32 API and code page IDs to translate font names.
This can make it a bit easier to set up 32bit/64bit environments
separately on windows. This simply allows you to additionally set
FFmpegPath32, FFmpegPath64, x264Path32, x264Path64, etc.
If the cmake user variable COPY_DEPENDENCIES is set, this script will
make it so that a windows build will automatically copy all required
dependencies (FFmpeg, x264, and Qt5) to the respective
additional_install_files\exec(32|64) directory. This makes it much
easier to set up a development environment on windows, and much easier
to make usable test builds.
It will also copy the appropriate Direct3D compiler DLL, along with
dependencies of dependencies (the icu*.dll and EGL/GLES files for Qt)
There's no need to find DirectX because with VS2013 and mingw it's
already available by default. Older visual studio versions that didn't
come with DirectX by default are no longer supported anyway.
(Also mingw doesn't currently work at all due to lack of proper headers,
but once they do it'll be available in the same way. I think.)
Currently the Info.plist file names the app package as OBS.app and cmake
is trying to use 'OBS Studio.app'. I renamed it to OBS for the time
being just because we don't currently have actual studio interface yet.
icon_512x512@2x - 1024 x 1024
icon_512x512 - 512 x 512
icon_256x256@2x - 512 x 512
icon_256x256 - 256 x 256
icon_128x128@2x - 256 x 256
icon_128x128 - 128 x 128
icon_32x32@2x - 64 x 64
icon_32x32 - 32 x 32
icon_16x16@2x - 32 x 32
icon_16x16 - 16 x 16
The bundle icon now includes all recommended image resolutions and OBS
is now started as high resoltion application for high dpi displays,
still need to add high resolution images for icons used inside OBS