I understand your desire to try to make the fonts look as good as possible for you, but I should point out that font tendering technology differs from OS to OS, and even browser to browser with the same OS. So what the result looks like for you may not be what it looks like for others, and making it look better for you may make it look worse for others. For example, here is an example using Alegreya in Firefox on Mac OS X at 100%:
The size and weight seem quite appropriate to me. The bottom line of x's alternate between non-math x's and $\text{x}$ math text x's. These seem to match very well.
On the other hand, here is 90% scaling:
As you can see, the math is too small, and the line of X's make that rather clear.
So setting the scale to 90%, while it may look better for you, will make it look worse for me. in my experience, the kind of micro-managing that you are trying to accomplish usually is counter-productive in the long run. One of the reasons that the scaling factor is settable in the MathJax contextual menu is so that individual users can set it to what they like. My recommended solution for you is to leave the scaling factor at 100 for your site, and to use the menu to set it to 90% for you personally. Alternatively, you could set the scaling factor based on the browser/OS combination, but such arrangements are notoriously fickle (and as browsers and OSes change, they require upkeep).
Be that as it may, you are correct that, even with mtextFontInherit, the text font will be scaled to match the size of the MathJax font. If you want to prevent that, here is one possibility. Add the following
<script type="text/x-mathjax-config">
MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () {
var CHTML = MathJax.OutputJax.CommonHTML,
MML = MathJax.ElementJax.mml;
var TOCHTML = MML.mtext.prototype.toCommonHTML;
MML.mtext.Augment({
toCommonHTML: function () {
this.mathsize = 100/CHTML.config.scale;
return TOCHTML.apply(this,arguments);
}
});
});
</script>
to the page just BEFORE the script that loads MathJax.js itself. This will cause mtext elements to set their size so that it undoes the scaling factor. (Note that if you are using MathML input, this will override any mathsize setting already in place. It could be made more sophisticated if that is a problem. If you are using TeX input, it should not be an issue.)
Davide