<p dir="auto">Ported from internal gates failures:</p>
<p dir="auto">The following five tests are failing on Core editions:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="DimensionsTests::TestSetConsoleScreenBufferSize#metadataSet2
DimensionsTests::TestSetConsoleScreenBufferSize#metadataSet1
DimensionsTests::TestSetConsoleScreenBufferSize#metadataSet0

DimensionsTests::TestSetConsoleWindowInfo#metadataSet0
DimensionsTests::TestSetConsoleWindowInfo#metadataSet1"><pre class="notranslate"><code class="notranslate">DimensionsTests::TestSetConsoleScreenBufferSize#metadataSet2
DimensionsTests::TestSetConsoleScreenBufferSize#metadataSet1
DimensionsTests::TestSetConsoleScreenBufferSize#metadataSet0

DimensionsTests::TestSetConsoleWindowInfo#metadataSet0
DimensionsTests::TestSetConsoleWindowInfo#metadataSet1
</code></pre></div>
<p dir="auto">I've investigated the issue and root caused it to PR 3129098 (prior to GitHub).</p>
<p dir="auto">The problem is that on Core editions, the proposed font preferences and committed font choice stored in <code class="notranslate">SCREEN_INFORMATION</code> do not get synchronized with the actual font usage inside the rendering engine.</p>
<p dir="auto">The reason this was working previously is because <code class="notranslate">SCREEN_INFORMATION::GetScreenFontSize()</code> was querying the render engine directly for the current font size.</p>
<p dir="auto"><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zadjii-msft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zadjii-msft">@zadjii-msft</a> realized that this seemed a bit silly given that <code class="notranslate">SCREEN_INFORMATION</code> already had a <code class="notranslate">_currentFont</code> which is supposed to hold the font selected for that screen post synchronization with the renderer. He therefore removed the supposedly duplicate lookup and I signed off on it thinking that it was a sensible thing to do. Turns out, it's only true on Desktop editions.</p>
<p dir="auto">The solutions here would be:</p>
<ol dir="auto">
<li>Return <code class="notranslate">GetScreenFontSize()</code> to look up the font sizing information from the renderer directly</li>
<li>Figure out why the synchronization isn't happening between <code class="notranslate">SCREEN_INFORMATION</code> and the active rendering engine for Core editions and make it happen again
<ul dir="auto">
<li>And maybe also make it harder for this to be a problem in the future by adjusting the set-up phase to fail with an error if synchronization doesn't happen prior to the first paint calls.</li>
</ul>
</li>
</ol>
<p dir="auto">I prefer option 2, of course. The de-duplication was righteous; it just had a pitfall.</p>
<p dir="auto">Two things I suggest to create in the feature of  Windows Terminal V0.4:<br>
<strong>1.</strong> Ctrl + Backspace: you know when you write the cmd's you can delete the cmd's (Word by Word), but your terminal can't do that, your terminal delete (Char by Char).<br>
<strong>2.</strong> Ctrl + Space (Windows Powershell): if you write cmd's in the original windows powershell host, you also can show all snippets by hitting the ctrl + space. ex: get-pr[ctrl + space]<br>
<a href="https://pbs.twimg.com/media/EBDf-dsWkAAq7Lm?format=png&amp;name=large" rel="nofollow">https://pbs.twimg.com/media/EBDf-dsWkAAq7Lm?format=png&amp;name=large</a></p>