mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-02-14 19:29:36 +01:00
* System font API This is a new API that allows operating system fonts to be loaded by the engine and used by content. Fonts are provided in a flat list exposing all the relevant metadata. They are loaded from disk with a Load call. Initial implementation is only for Windows DirectWrite. * Load system fonts as memory mapped files if possible. This allows sharing the font file memory with other processes which is always good. * Use ArrayPool to reduce char array allocations * Disable verbose logging * Implement system font support on Linux via Fontconfig * Implement macOS support * Add "FREEDESKTOP" define constant This is basically LINUX || FREEBSD. Though FreeBSD currently gets detected as LINUX too. Oh well. * Compile out Fontconfig and CoreText system font backends when not on those platforms * Don't add Fontconfig package dep on Mac/Windows * Allow disabling system font support via CVar Cuz why not.
37 lines
1.3 KiB
XML
37 lines
1.3 KiB
XML
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<!-- MSBuild hurts and I can't find a foolproof way to detect platform. -->
|
|
<PropertyGroup>
|
|
<OS Condition="'$(OS)' == ''">Windows_NT</OS>
|
|
</PropertyGroup>
|
|
<Choose>
|
|
<When Condition="'$(OS)' != 'Unix'">
|
|
<PropertyGroup>
|
|
<ActualOS>Windows</ActualOS>
|
|
</PropertyGroup>
|
|
</When>
|
|
<!-- Folders that *probably* only exist on MacOS and not Linux. -->
|
|
<When Condition="Exists('/Volumes') And Exists('/System') And Exists('/Library')" >
|
|
<PropertyGroup>
|
|
<ActualOS>MacOS</ActualOS>
|
|
</PropertyGroup>
|
|
</When>
|
|
<When Condition="$([MSBuild]::IsOSPlatform('FreeBSD'))">
|
|
<PropertyGroup>
|
|
<ActualOS>FreeBSD</ActualOS>
|
|
</PropertyGroup>
|
|
</When>
|
|
<Otherwise>
|
|
<PropertyGroup>
|
|
<ActualOS>Linux</ActualOS>
|
|
</PropertyGroup>
|
|
</Otherwise>
|
|
</Choose>
|
|
<PropertyGroup>
|
|
<TargetOS Condition="'$(TargetOS)' == ''">$(ActualOS)</TargetOS>
|
|
<Python>python3</Python>
|
|
<Python Condition="'$(ActualOS)' == 'Windows'">py -3</Python>
|
|
<UseSystemSqlite Condition="'$(TargetOS)' == 'FreeBSD'">True</UseSystemSqlite>
|
|
<IsFreedesktop Condition="'$(TargetOS)' == 'FreeBSD' Or '$(TargetOS)' == 'Linux'">True</IsFreedesktop>
|
|
</PropertyGroup>
|
|
</Project>
|