diff --git a/docs/lab/index.html b/docs/lab/index.html index f7479b2f4..4602bf9af 100644 --- a/docs/lab/index.html +++ b/docs/lab/index.html @@ -620,7 +620,7 @@ for (const ch of uniqueChars) { }, }) - samples.set(ch + ' – combinations', { + samples.set(ch + ' – combinations + words', { _cachedHTMLResult: null, toHTML() { if (this._cachedHTMLResult) { @@ -649,6 +649,45 @@ for (const ch of uniqueChars) { return html } }) + + samples.set(ch + ' – combinations', { + _cachedHTMLResult: null, + toHTML() { + if (this._cachedHTMLResult) { + return this._cachedHTMLResult + } + let s = [] + for (const comb of combs1) { + s.push(comb) + } + let html = s.join(' ') + this._cachedHTMLResult = html + return html + } + }) + + samples.set(ch + ' – combinations (upper case)', { + _cachedHTMLResult: null, + toHTML() { + if (this._cachedHTMLResult) { + return this._cachedHTMLResult + } + let s = [] + for (const comb of combs1) { + let p = comb.indexOf(ch) + if (p == 0) { + s.push(comb[0].toUpperCase() + comb[1]) + } else if (p == 1) { + s.push(comb[0] + comb[1].toUpperCase()) + } else { + s.push(comb) + } + } + let html = s.join(' ') + this._cachedHTMLResult = html + return html + } + }) } diff --git a/docs/res/sample.png b/docs/res/sample.png index 2284ce9fe..37a99d5d1 100644 Binary files a/docs/res/sample.png and b/docs/res/sample.png differ diff --git a/docs/res/weights-and-styles.svg b/docs/res/weights-and-styles.svg index 004350f60..e20070e41 100644 --- a/docs/res/weights-and-styles.svg +++ b/docs/res/weights-and-styles.svg @@ -45,17 +45,17 @@ - + - - - - - - - - - - + + + + + + + + + + diff --git a/misc/pylib/fontbuild/mix.pyx b/misc/pylib/fontbuild/mix.pyx index 7fb1fa320..b47a38796 100644 --- a/misc/pylib/fontbuild/mix.pyx +++ b/misc/pylib/fontbuild/mix.pyx @@ -339,15 +339,6 @@ def interpolate(a,b,v,e=0): return le + (qe-le) * e def interpolateKerns(kA, kB, v): - # to yield correct kerning for Roboto output, we must emulate the behavior - # of old versions of this code; namely, take the kerning values of the first - # master instead of actually interpolating. - # old code: - # https://github.com/google/roboto/blob/7f083ac31241cc86d019ea6227fa508b9fcf39a6/scripts/lib/fontbuild/mix.py - # bug: - # https://github.com/google/roboto/issues/213 - # return dict(kA) - kerns = {} for pair, val in kA.items(): kerns[pair] = interpolate(val, kB.get(pair, 0), v.x)