When a font name is wrapped in quotes, because there is a space in the name, it appears in the font select combo with the quotes intact. Eg: "Open Sans". I think these quotes are supposed to be stripped out before being populated into the combo box.

As a result, when clicking into the HtmlEditor's text area when the document is using one of these quoted fonts, the font select box goes blank. The idea should be that the font box should show the current font for the current selection in the document.

Looking into code, the initDefaultFont method builds the font select options. In particular this section:

PHP Code:
if (!me.defaultFont) {
            
font me.textareaEl.getStyle('font-family');
            
font Ext.String.capitalize(font.split(',')[0]);
            
fonts Ext.Array.clone(me.fontFamilies);
            
Ext.Array.include(fontsfont);
            
fonts.sort();
            
me.defaultFont font;
            
            
select me.down('#fontSelect').selectEl.dom;
            for (
0len fonts.lengthlen; ++i) {
                
font fonts[i];
                
lower font.toLowerCase();
                
option = new Option(fontlower);
                if (
font === me.defaultFont) {
                    
selIdx i;
                }
                
option.style.fontFamily lower;
                
                if (
Ext.isIE) {
                    
select.add(option);
                } else {
                    
select.options.add(option); 
                }
            }
            
// Old IE versions have a problem if we set the selected property
            // in the loop, so set it after.
            
select.options[selIdx].selected true;
        } 
However, in the code that reacts to clicking into the text area and changes the selected item in the font box, the quotes are stripped out before doing a string comparison. See the updateToolbar method:

PHP Code:
if (me.enableFont && !Ext.isSafari2) {
            
// When querying the fontName, Chrome may return an Array of font names
            // with those containing spaces being placed between single-quotes.
            
queriedName doc.queryCommandValue('fontName');
            
name = (queriedName queriedName.split(",")[0].replace(me.reStripQuotes'') : me.defaultFont).toLowerCase();
            
fontSelect me.fontSelect.dom;
            if (
name !== fontSelect.value || name !== queriedName) {
                
fontSelect.value name;
            }
        } 
I think an extra line needs to go in to the initDefaultFont method to do a
PHP Code:
replace(me.reStripQuotes''
I'm using:
ExtJS v6.2.0
Chrome 59.0.3071.115

I think the quotes issue is something that only occurs in Chrome (at least according to the comments in the code)

Thanks