Handle conflicts between inherited mathvariant and fontfamily properly. (Fixes problem with ms having default mathvariant='monospace' when fontfamily is specified). Fix bold for stretched operators when weight is specified numerically.
This commit is contained in:
parent
0b1f9dc0c3
commit
d21d075463
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1756,7 +1756,8 @@
|
||||||
|
|
||||||
HTMLgetVariant: function () {
|
HTMLgetVariant: function () {
|
||||||
var values = this.getValues("mathvariant","fontfamily","fontweight","fontstyle");
|
var values = this.getValues("mathvariant","fontfamily","fontweight","fontstyle");
|
||||||
if (!this.mathvariant) {
|
values.hasVariant = this.Get("mathvariant",true); // null if not explicitly specified
|
||||||
|
if (!values.hasVariant) {
|
||||||
values.family = values.fontfamily;
|
values.family = values.fontfamily;
|
||||||
values.weight = values.fontweight;
|
values.weight = values.fontweight;
|
||||||
values.style = values.fontstyle;
|
values.style = values.fontstyle;
|
||||||
|
@ -1770,7 +1771,7 @@
|
||||||
if (values.weight && values.weight.match(/^\d+$/))
|
if (values.weight && values.weight.match(/^\d+$/))
|
||||||
{values.weight = (parseInt(values.weight) > 600 ? "bold" : "normal")}
|
{values.weight = (parseInt(values.weight) > 600 ? "bold" : "normal")}
|
||||||
var variant = values.mathvariant; if (this.variantForm) {variant = "-"+HTMLCSS.fontInUse+"-variant"}
|
var variant = values.mathvariant; if (this.variantForm) {variant = "-"+HTMLCSS.fontInUse+"-variant"}
|
||||||
if (values.family && !this.mathvariant) {
|
if (values.family && !values.hasVariant) {
|
||||||
if (!values.weight && values.mathvariant.match(/bold/)) {values.weight = "bold"}
|
if (!values.weight && values.mathvariant.match(/bold/)) {values.weight = "bold"}
|
||||||
if (!values.style && values.mathvariant.match(/italic/)) {values.style = "italic"}
|
if (!values.style && values.mathvariant.match(/italic/)) {values.style = "italic"}
|
||||||
return {FONTS:[], fonts:[], noRemap:true,
|
return {FONTS:[], fonts:[], noRemap:true,
|
||||||
|
@ -2026,7 +2027,9 @@
|
||||||
HTMLstretchH: function (box,W) {
|
HTMLstretchH: function (box,W) {
|
||||||
this.HTMLremoveColor();
|
this.HTMLremoveColor();
|
||||||
var values = this.getValues("maxsize","minsize","mathvariant","fontweight");
|
var values = this.getValues("maxsize","minsize","mathvariant","fontweight");
|
||||||
if (values.fontweight === "bold" && !this.mathvariant) {values.mathvariant = MML.VARIANT.BOLD}
|
// FIXME: should take style="font-weight:bold" into account as well
|
||||||
|
if ((values.fontweight === "bold" || parseInt(values.fontweight) >= 600) &&
|
||||||
|
!this.Get("mathvariant",true)) {values.mathvariant = MML.VARIANT.BOLD}
|
||||||
var span = this.HTMLspanElement(), mu = this.HTMLgetMu(span), scale = span.scale;
|
var span = this.HTMLspanElement(), mu = this.HTMLgetMu(span), scale = span.scale;
|
||||||
values.maxsize = HTMLCSS.length2em(values.maxsize,mu,span.bbox.w);
|
values.maxsize = HTMLCSS.length2em(values.maxsize,mu,span.bbox.w);
|
||||||
values.minsize = HTMLCSS.length2em(values.minsize,mu,span.bbox.w);
|
values.minsize = HTMLCSS.length2em(values.minsize,mu,span.bbox.w);
|
||||||
|
|
|
@ -1120,7 +1120,8 @@
|
||||||
SVGgetVariant: function () {
|
SVGgetVariant: function () {
|
||||||
var values = this.getValues("mathvariant","fontfamily","fontweight","fontstyle");
|
var values = this.getValues("mathvariant","fontfamily","fontweight","fontstyle");
|
||||||
var variant = values.mathvariant; if (this.variantForm) {variant = "-TeX-variant"}
|
var variant = values.mathvariant; if (this.variantForm) {variant = "-TeX-variant"}
|
||||||
if (!this.mathvariant) {
|
values.hasVariant = this.Get("mathvariant",true); // null if not explicitly specified
|
||||||
|
if (!values.hasVariant) {
|
||||||
values.family = values.fontfamily;
|
values.family = values.fontfamily;
|
||||||
values.weight = values.fontweight;
|
values.weight = values.fontweight;
|
||||||
values.style = values.fontstyle;
|
values.style = values.fontstyle;
|
||||||
|
@ -1130,7 +1131,7 @@
|
||||||
if (!values.weight && this.styles.fontWeight) {values.weight = this.styles.fontWeight}
|
if (!values.weight && this.styles.fontWeight) {values.weight = this.styles.fontWeight}
|
||||||
if (!values.family && this.styles.fontFamily) {values.family = this.styles.fontFamily}
|
if (!values.family && this.styles.fontFamily) {values.family = this.styles.fontFamily}
|
||||||
}
|
}
|
||||||
if (values.family && !this.mathvariant) {
|
if (values.family && !values.hasVariant) {
|
||||||
if (!values.weight && values.mathvariant.match(/bold/)) {values.weight = "bold"}
|
if (!values.weight && values.mathvariant.match(/bold/)) {values.weight = "bold"}
|
||||||
if (!values.style && values.mathvariant.match(/italic/)) {values.style = "italic"}
|
if (!values.style && values.mathvariant.match(/italic/)) {values.style = "italic"}
|
||||||
variant = {forceFamily: true, font: {"font-family":values.family}};
|
variant = {forceFamily: true, font: {"font-family":values.family}};
|
||||||
|
@ -1353,7 +1354,9 @@
|
||||||
SVGstretchH: function (w) {
|
SVGstretchH: function (w) {
|
||||||
var svg = this.svg || this.toSVG(), mu = this.SVGgetMu(svg);
|
var svg = this.svg || this.toSVG(), mu = this.SVGgetMu(svg);
|
||||||
var values = this.getValues("maxsize","minsize","mathvariant","fontweight");
|
var values = this.getValues("maxsize","minsize","mathvariant","fontweight");
|
||||||
if (values.fontweight === "bold" && !this.mathvariant) {values.mathvariant = MML.VARIANT.BOLD}
|
// FIXME: should take style="font-weight:bold" into account as well
|
||||||
|
if ((values.fontweight === "bold" || parseInt(values.fontweight) >= 600) &&
|
||||||
|
!this.Get("mathvariant",true)) {values.mathvariant = MML.VARIANT.BOLD}
|
||||||
values.maxsize = SVG.length2em(values.maxsize,mu,svg.w);
|
values.maxsize = SVG.length2em(values.maxsize,mu,svg.w);
|
||||||
values.minsize = SVG.length2em(values.minsize,mu,svg.w);
|
values.minsize = SVG.length2em(values.minsize,mu,svg.w);
|
||||||
w = Math.max(values.minsize,Math.min(values.maxsize,w));
|
w = Math.max(values.minsize,Math.min(values.maxsize,w));
|
||||||
|
|
Loading…
Reference in New Issue
Block a user