web: glyphinfo format compatibility

This commit is contained in:
Rasmus Andersson 2018-09-05 10:06:49 -07:00
parent be9e8a0bfa
commit cc6505cae9
2 changed files with 26 additions and 7 deletions

View file

@ -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,

View file

@ -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 != '<derived>' ?
'style="background-color:' + color + '"' : ''