If I open the nightly I get MS Sans Serif - Normal - Blank size
Opening CB-head with wx-head I get Fira Code - Normal - Size 10
Both cases use the same default.conf and I get a micro font.
In both cases changing anything in the font fixes the issue.
The last four changes to src/mws/font.cpp were in fact related to font sizes, I will check.
EDIT: 3.1.1 saves fonts in V0 format, the rest in V1. The difference is a new parameter, next to the version, with the point size:
3.1.1: <![CDATA[0;-13;0;0;0;400;0;0;0;0;3;2;1;49;Fira Code]]>
3.1.2: <![CDATA[1;0;-13;0;0;0;400;0;0;0;0;3;2;1;49;Fira Code]]>
3.1.3: <![CDATA[1;9.75;-13;0;0;0;400;0;0;0;0;3;2;1;49;Fira Code]]>
The font saved by 3.1.2 has a 0 point size, while the 3.1.3 one has 9.75. This V1 string with 0 point size is what causes the problem.
The font size is read in line 670 of src/msw/font.cpp, but it is not validated; probably line 690 should be changed from
if ( setPointSizeFromHeight )
pointSize = GetPointSizeFromLogFontHeight(l);
to
if ( (pointSize == 0.0) || setPointSizeFromHeight )
pointSize = GetPointSizeFromLogFontHeight(l);
I will check if this fixes the issue