When targeting Windows, TextField.setTextFormat just changes the whole text field to that format rather than setting it just between the start and end indexes. So in this example TEXTFORMAT3 is what the whole textbox is set to regardless of what was set before it.
var textbox:TextField = new TextField();
textbox.text = “This is a bit of a hard issue to solve…”;
textbox.defaultTextFormat = TEXTFORMAT1;
textbox.setTextFormat(TEXTFORMAT2, 5, 10);
textbox.setTextFormat(TEXTFORMAT3, 11, 13);
It used to work fine in openfl 3.6.0.