832a92783b
The stock menu font (Gill Sans MT Menu) is a static 243-glyph atlas with no Latin Extended-A, so "Pokračovať" rendered as "Pokra ova" and "Podrž" as "Podr". Dialogue, the Nomai translator and the ship log were always fine — they use Futura PT (663) and Space Mono (612), both of which cover Slovak. Registering a language font via AddLanguageFont fixes the menus but flips TextTranslation.IsLanguageLatin() to false, and the game uses that flag to decide whether dialogue, the translator and the ship log keep their own fonts or fall back to the language font. So the blanket fix dragged all three onto the wrong font, oversized and clipping. Instead: register no language font at all, and postfix only the font getters (UIStyleManager, PromptManager, GameOverController). Each result goes through SlovakFont.Fix, which probes the font with Font.HasCharacter and returns it untouched unless it genuinely cannot draw Slovak — so nothing that already renders correctly is ever replaced, and the patches are inert in every other language. The substitute is Cabin (SIL OFL 1.1), a humanist sans in the Gill Sans lineage, shipped as a dynamic font with its vertical metrics rewritten to Gill Sans MT's exact ratios so line height matches and text does not clip. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
43 lines
1.7 KiB
XML
43 lines
1.7 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<PropertyGroup>
|
|
<TargetFramework>net48</TargetFramework>
|
|
<LangVersion>default</LangVersion>
|
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
|
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
|
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
|
|
<CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies>
|
|
<RootNamespace>SlovakTranslation</RootNamespace>
|
|
<AssemblyName>SlovakTranslation</AssemblyName>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
|
<DebugType>none</DebugType>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- Lets net48 build on machines without the .NET Framework targeting pack
|
|
(e.g. Linux / dotnet SDK only). Build-time only. -->
|
|
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
|
|
<PackageReference Include="HarmonyX" Version="2.10.0" />
|
|
<PackageReference Include="OWML" Version="2.5.2" />
|
|
<!-- Provides the Outer Wilds / Unity reference DLLs from NuGet, so no game
|
|
install is needed to compile. -->
|
|
<PackageReference Include="OuterWildsGameLibs" Version="1.1.12.168" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<None Update="manifest.json">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</None>
|
|
<None Update="default-config.json">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</None>
|
|
<None Update="assets/Translation.xml">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</None>
|
|
<None Update="assets/slovakfont">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</None>
|
|
</ItemGroup>
|
|
</Project>
|