From cc6505cae9d8f5086c0fc7043508597ee0d52f0b Mon Sep 17 00:00:00 2001 From: Rasmus Andersson Date: Wed, 5 Sep 2018 10:06:49 -0700 Subject: web: glyphinfo format compatibility --- docs/glyphs/glyphs.js | 21 ++++++++++++++++----- docs/lab/index.html | 12 ++++++++++-- 2 files changed, 26 insertions(+), 7 deletions(-) (limited to 'docs') diff --git a/docs/glyphs/glyphs.js b/docs/glyphs/glyphs.js index b6cd24740..e3e61e0e7 100644 --- a/docs/glyphs/glyphs.js +++ b/docs/glyphs/glyphs.js @@ -326,6 +326,9 @@ function render() { // glyphInfo: { // "glyphs": [ + // // <=v2.5: + // [name :string, unicode? :int|null, unicodeName? :string, color? :string|null], + // // >=v2.6: (has mtime) // [name :string, unicode? :int|null, unicodeName? :string, mtime? :string, color? :string|null], // ["A", 65, "LATIN CAPITAL LETTER A", "#dbeaf7"], // ... @@ -387,10 +390,18 @@ function renderGlyphGraphic(glyphName) { function renderGlyphGraphicG(g, lastGlyphName, lastGlyphEl, singleGlyph) { - var name = g[0] + let name = g[0], uc = g[1], ucName = g[2], mtime = g[3], color = g[4] var names, glyph var svg = svgRepository[name] + // XXX compatibility with v2.5 (remove when moving to v2.6) + // glyphinfo for 2.5 doesn't contain mtime. + if (mtime && typeof mtime == 'string' && + (mtime.indexOf('rgba') != -1 || mtime.indexOf('#') != -1)) { + color = mtime + mtime = null + } + if (!svg) { // ignore return null @@ -403,10 +414,10 @@ function renderGlyphGraphicG(g, lastGlyphName, lastGlyphEl, singleGlyph) { var info = { name: name, - unicode: g[1], - unicodeName: g[2], - // mtime: g[3], - color: g[4], + unicode: uc, + unicodeName: ucName, + // mtime: mtime, + color: color, // These are all in 1:1 UPM (not scaled) advance: metrics.advance, diff --git a/docs/lab/index.html b/docs/lab/index.html index 7b3f785dc..924e1b7c6 100644 --- a/docs/lab/index.html +++ b/docs/lab/index.html @@ -478,9 +478,17 @@ samples.set('Repertoire', { for (const g of glyphs) { // let [name, uc, ucName, mtime, color] = g - let name = g[0], uc = g[1], ucName = g[2], mtime = g[3] color = g[4] + let name = g[0], uc = g[1], ucName = g[2], mtime = g[3], color = g[4] const ucHex = hexstr(uc, 4) - + + // XXX compatibility with v2.5 (remove when moving to v2.6) + // glyphinfo for 2.5 doesn't contain mtime. + if (mtime && typeof mtime == 'string' && + (mtime.indexOf('rgba') != -1 || mtime.indexOf('#') != -1)) { + color = mtime + mtime = null + } + const style = color && color != '' ? 'style="background-color:' + color + '"' : '' -- cgit v1.2.3