diff --git a/demo/js/editor.js b/demo/js/editor.js index 0a5eadd..3fbd47e 100644 --- a/demo/js/editor.js +++ b/demo/js/editor.js @@ -22,7 +22,7 @@ define( init: function () { currentEditor = editor.create($('#render-view').get(0)); currentEditor.setFont(shape_baidu); - currentEditor.blur(); + //currentEditor.blur(); } }; diff --git a/src/common/lang.js b/src/common/lang.js index 99176c0..9c7fe80 100644 --- a/src/common/lang.js +++ b/src/common/lang.js @@ -126,7 +126,7 @@ define( fields = fields || Object.keys(thatObj); fields.forEach(function(field) { if (thisObj.hasOwnProperty(field)) { - thisObj[field] = thatObj[field] + thisObj[field] = thatObj[field]; } }); } diff --git a/src/common/string.js b/src/common/string.js index 4866265..255ae47 100644 --- a/src/common/string.js +++ b/src/common/string.js @@ -21,7 +21,7 @@ define( .replace(/"/g, '"') .replace(/</g, '<') .replace(/>/g, '>') - .replace(/&/g, "&"); + .replace(/&/g, '&'); //处理转义的中文和实体字符 return str.replace(/&#([\d]+);/g, function(_0, _1){ @@ -73,7 +73,7 @@ define( return str.slice(0, i) + tail; } } - return str + tail;; + return str + tail; }, /** diff --git a/src/editor/group/ShapesGroup.js b/src/editor/group/ShapesGroup.js index 3b2f054..8c55276 100644 --- a/src/editor/group/ShapesGroup.js +++ b/src/editor/group/ShapesGroup.js @@ -77,8 +77,6 @@ define( */ ShapesGroup.prototype.finishTransform = function(point, camera) { - var coverLayer = this.editor.coverLayer; - // 保存最后一次修改 var coverShapes = this.coverShapes; this.coverShapes = this.shapes; diff --git a/src/fonteditor/dialog/setting-adjust-glyf.js b/src/fonteditor/dialog/setting-adjust-glyf.js index 990a8d2..2dc7153 100644 --- a/src/fonteditor/dialog/setting-adjust-glyf.js +++ b/src/fonteditor/dialog/setting-adjust-glyf.js @@ -9,8 +9,6 @@ define( function(require) { - var lang = require('common/lang'); - var tpl = '' + '
' + '
' @@ -39,7 +37,9 @@ define( + '
' + '缩放字形到em框' + '' - + '' + + '' + '' + '
' + '
' @@ -47,41 +47,42 @@ define( + '
' + '
' + '顶部和底部留白' - + '' + + '' + '
' + '
' + '
'; - return require('./setting').derive({ - - title: '调整字形', - - getTpl: function() { - return tpl; - }, - - set: function(setting) { - this.setFields(setting || {}); - }, - - validate: function() { - var setting = this.getFields(); + return require('./setting').derive({ + title: '调整字形', - if(setting.reverse == undefined - && setting.mirror == undefined - && setting.scale == undefined - && setting.ajdustToEmBox == undefined - ) { - alert('没有设置项目!'); - return false; - } - else { - return setting; - } - } + getTpl: function() { + return tpl; + }, - }); + set: function(setting) { + this.setFields(setting || {}); + }, + + validate: function() { + var setting = this.getFields(); + + + if(setting.reverse === undefined + && setting.mirror === undefined + && setting.scale === undefined + && setting.ajdustToEmBox === undefined + ) { + alert('没有设置项目!'); + return false; + } + else { + return setting; + } + } + + }); } ); diff --git a/src/fonteditor/dialog/setting-adjust-pos.js b/src/fonteditor/dialog/setting-adjust-pos.js index 5c0387a..13216e9 100644 --- a/src/fonteditor/dialog/setting-adjust-pos.js +++ b/src/fonteditor/dialog/setting-adjust-pos.js @@ -9,25 +9,26 @@ define( function(require) { - var lang = require('common/lang'); - var tpl = '' + '
' + '
' + '左边轴' - + '' + + '' + '
' + '
' + '
' + '
' + '右边轴' - + '' + + '' + '
' + '
' + '
' + '
' + '基线偏移' - + '' + + '' + '
' + '
'; @@ -47,9 +48,9 @@ define( validate: function() { var setting = this.getFields(); - if(setting.leftSideBearing == undefined - && setting.rightSideBearing == undefined - && setting.verticalAlign == undefined + if(setting.leftSideBearing === undefined + && setting.rightSideBearing === undefined + && setting.verticalAlign === undefined ) { alert('没有设置项目!'); return false; diff --git a/src/fonteditor/dialog/setting-name.js b/src/fonteditor/dialog/setting-name.js index 1247a00..65e5695 100644 --- a/src/fonteditor/dialog/setting-name.js +++ b/src/fonteditor/dialog/setting-name.js @@ -32,11 +32,13 @@ define( + '' + '
' + 'em框大小' - + '' + + '' + '
' + '
' + '最小可读尺寸' - + '' + + '' + '
' + '
' + '创建日期' diff --git a/src/fonteditor/dialog/setting-unicode.js b/src/fonteditor/dialog/setting-unicode.js index 2b1ce62..1dcf81f 100644 --- a/src/fonteditor/dialog/setting-unicode.js +++ b/src/fonteditor/dialog/setting-unicode.js @@ -12,10 +12,12 @@ define( var tpl = '' + '
' + '
' - + '' + + '' + '' + '
' + '' @@ -32,7 +34,7 @@ define( validate: function() { var unicode = $('#setting-text-unicode').val(); if (unicode.match(/^\$[A-E0-9]+$/i)) { - return this.setting = unicode; + return (this.setting = unicode); } else { alert('代码点设置不正确'); diff --git a/src/fonteditor/dialog/setting.js b/src/fonteditor/dialog/setting.js index 904c101..2383f44 100644 --- a/src/fonteditor/dialog/setting.js +++ b/src/fonteditor/dialog/setting.js @@ -10,7 +10,6 @@ define( function(require) { var lang = require('common/lang'); - var observable = require('common/observable'); var pad = require('common/string').pad; /** @@ -91,7 +90,7 @@ define( var field = item.getAttribute('data-field'); - if (undefined == setting[field]) { + if (undefined === setting[field]) { return; } diff --git a/src/fonteditor/widget/actions.js b/src/fonteditor/widget/actions.js index 5c25bee..b9a5e14 100644 --- a/src/fonteditor/widget/actions.js +++ b/src/fonteditor/widget/actions.js @@ -46,7 +46,7 @@ define( 'export-file': function(e) { if (program.ttfManager.get()) { var target = $(e.target); - program.exporter.export(program.ttfManager.get(), { + program.exporter['export'](program.ttfManager.get(), { type: target.attr('data-type'), target: target, error: function() { @@ -60,7 +60,7 @@ define( 'save': function() { if (program.ttfManager.get()) { var name = ''; - if(name = window.prompt('请输入项目名称:')) { + if ((name = window.prompt('请输入项目名称:'))) { name = string.encodeHTML(name); var list = program.project.add(name, program.ttfManager.get()); program.projectViewer.show(list); diff --git a/src/fonteditor/widget/controller/default.js b/src/fonteditor/widget/controller/default.js index d82386f..b5f1fdb 100644 --- a/src/fonteditor/widget/controller/default.js +++ b/src/fonteditor/widget/controller/default.js @@ -11,7 +11,6 @@ define( function(require) { var clipboard = require('../clipboard'); - var lang = require('common/lang'); var string = require('common/string'); return { @@ -52,7 +51,7 @@ define( } else { var name = ''; - if(name = window.prompt('请输入项目名称:')) { + if ((name = window.prompt('请输入项目名称:'))) { name = string.encodeHTML(name); var list = program.project.add(name, program.ttfManager.get()); program.projectViewer.show(list); @@ -81,7 +80,7 @@ define( program.projectViewer.show(program.project.remove(e.projectName)); } program.viewer.focus(); - }) + }); program.ttfManager.on('change', function(e) { program.viewer.show(e.ttf); diff --git a/src/fonteditor/widget/exporter.js b/src/fonteditor/widget/exporter.js index f8307d0..bb6516e 100644 --- a/src/fonteditor/widget/exporter.js +++ b/src/fonteditor/widget/exporter.js @@ -33,9 +33,10 @@ define( if (ttf) { try { - var base64Str = ''; + var base64Str = ''; + var buffer = null; if (options.type == 'woff') { - var buffer = ttf2woff(new TTFWriter().write(ttf)); + buffer = ttf2woff(new TTFWriter().write(ttf)); base64Str = woff2base64(buffer); } else if(options.type == 'svg') { @@ -76,7 +77,7 @@ define( * * @return {HTMLElement} 导出按钮 */ - export: exportFile + 'export': exportFile }; return exporter; } diff --git a/src/fonteditor/widget/glyfviewer.js b/src/fonteditor/widget/glyfviewer.js index 8a16663..4b27b5e 100644 --- a/src/fonteditor/widget/glyfviewer.js +++ b/src/fonteditor/widget/glyfviewer.js @@ -17,7 +17,9 @@ define( + '
' + '' + '' - + '' + + '' + + '' + + '' + '
${unicode}
' + '
${name}
' + '
'; @@ -47,7 +49,7 @@ define( name: glyf.name }; - if (d = glyf2svg(glyf, ttf)) { + if ((d = glyf2svg(glyf, ttf))) { g.d = 'd="'+ d +'"'; } @@ -93,7 +95,7 @@ define( var p = { x: pos.left + item.width() / 2, y: pos.top + item.height() / 2 - } + }; if (p.x >= bound.x && p.x <= bound.x + bound.width && p.y >= bound.y && p.y <= bound.y + bound.height @@ -102,7 +104,7 @@ define( item.toggleClass('selected'); } else { - item.addClass('selected') + item.addClass('selected'); } } }); @@ -215,7 +217,6 @@ define( var x = e.originEvent.pageX; var y = e.originEvent.pageY; - var pos = me.main.offset(); selectRangeItem.call(me, { x: Math.min(me.startX, x), diff --git a/src/fonteditor/widget/loader.js b/src/fonteditor/widget/loader.js index c8b6c0c..c2bdc73 100644 --- a/src/fonteditor/widget/loader.js +++ b/src/fonteditor/widget/loader.js @@ -46,13 +46,13 @@ define( fileReader = null; options.success && options.success(ttf); } - catch(e) { - alert(e.message); - throw e; + catch(exp) { + alert(exp.message); + throw exp; } loading.hide(); - } + }; fileReader.onerror = function(e) { loading.hide(); @@ -85,9 +85,9 @@ define( ttfReader.dispose(); options.success && options.success(ttf); } - catch(e) { - alert(e.message); - throw e; + catch(exp) { + alert(exp.message); + throw exp; } loading.hide(); @@ -113,9 +113,9 @@ define( fileReader = null; options.success && options.success(imported); } - catch(e) { - alert(e.message); - throw e; + catch(exp) { + alert(exp.message); + throw exp; } loading.hide(); diff --git a/src/fonteditor/widget/loading.js b/src/fonteditor/widget/loading.js index 9d69023..5cdc9f8 100644 --- a/src/fonteditor/widget/loading.js +++ b/src/fonteditor/widget/loading.js @@ -28,7 +28,7 @@ define( clearTimeout(this.showtimer); - $('#loading span').html(text || '正在加载...') + $('#loading span').html(text || '正在加载...'); $('#loading').show(); if (duration) { diff --git a/src/fonteditor/widget/projectviewer.js b/src/fonteditor/widget/projectviewer.js index 4cce994..39e9a87 100644 --- a/src/fonteditor/widget/projectviewer.js +++ b/src/fonteditor/widget/projectviewer.js @@ -43,7 +43,10 @@ define( ProjectViewer.prototype.show = function(projects) { var str = ''; (projects || []).forEach(function(proj) { - str += '
'+ proj.name +'
'; + str += '
' + + '' + + ''+ proj.name +'' + + '
'; }); this.main.html(str); diff --git a/src/fonteditor/widget/setting.js b/src/fonteditor/widget/setting.js index 5cb5dec..fcf67d0 100644 --- a/src/fonteditor/widget/setting.js +++ b/src/fonteditor/widget/setting.js @@ -8,16 +8,13 @@ define( function(require) { - - var setting = { + return { 'unicode': require('../dialog/setting-unicode'), 'name': require('../dialog/setting-name'), 'adjust-pos': require('../dialog/setting-adjust-pos'), 'adjust-glyf': require('../dialog/setting-adjust-glyf'), 'metrics': require('../dialog/setting-metrics'), 'online': require('../dialog/font-online') - } - - return setting; + }; } ); diff --git a/src/ttf/enum/nameId.js b/src/ttf/enum/nameId.js index 69b5c06..a51e0c6 100644 --- a/src/ttf/enum/nameId.js +++ b/src/ttf/enum/nameId.js @@ -1,4 +1,4 @@ -/** +/** * @file nameId.js * @author mengke01 * @date diff --git a/src/ttf/error.js b/src/ttf/error.js index a25f826..14d8443 100644 --- a/src/ttf/error.js +++ b/src/ttf/error.js @@ -35,7 +35,7 @@ define( 10205: '未找到解压函数' }; - error.throw = function(number) { + error.raise = function(number) { var message = error[number]; diff --git a/src/ttf/reader.js b/src/ttf/reader.js index 899b233..169cd4f 100644 --- a/src/ttf/reader.js +++ b/src/ttf/reader.js @@ -115,7 +115,7 @@ define( } if(length < 0 || offset + length > this.length) { - error.throw(10001, this.length, offset + length); + error.raise(10001, this.length, offset + length); } var value = ''; @@ -142,7 +142,7 @@ define( } if(length < 0 || offset + length > this.length) { - error.throw(10001, this.length, offset + length); + error.raise(10001, this.length, offset + length); } var buffer = []; @@ -166,7 +166,7 @@ define( } if (offset < 0 || offset > this.length) { - error.throw(10001, this.length, offset); + error.raise(10001, this.length, offset); } this.offset = offset; diff --git a/src/ttf/svg2ttfobject.js b/src/ttf/svg2ttfobject.js index 16217a9..bd1327d 100644 --- a/src/ttf/svg2ttfobject.js +++ b/src/ttf/svg2ttfobject.js @@ -27,11 +27,11 @@ define( xmlDoc = domParser.parseFromString(xml, 'text/xml'); return xmlDoc; } - catch(e) { - error.throw(10103); + catch(exp) { + error.raise(10103); } } - error.throw(10004); + error.raise(10004); } /** @@ -100,7 +100,7 @@ define( var svgNode = xmlDoc.getElementsByTagName('svg')[0]; if (!svgNode) { - error.throw(10104); + error.raise(10104); } var metaNode = xmlDoc.getElementsByTagName('metadata')[0]; @@ -169,7 +169,7 @@ define( advanceWidth: +(missingNode.getAttribute('horiz-adv-x') || 0) }; - if (d = missingNode.getAttribute('d')) { + if ((d = missingNode.getAttribute('d'))) { missing.contours = svg2contours(d); } } @@ -182,6 +182,12 @@ define( } if (glyfNodes.length) { + + // map unicode + var unicodeMap = function(u) { + return u.charCodeAt(0); + }; + for (var i = 0, l = glyfNodes.length; i < l ; i++) { var node = glyfNodes[i]; @@ -190,13 +196,11 @@ define( name: node.getAttribute('glyph-name') || node.getAttribute('name') || '' }; - if (unicode = node.getAttribute('unicode')) { - glyf.unicode = unicode.split('').map(function(u) { - return u.charCodeAt(0); - }); + if ((unicode = node.getAttribute('unicode'))) { + glyf.unicode = unicode.split('').map(unicodeMap); } - if (d = node.getAttribute('d')) { + if ((d = node.getAttribute('d'))) { glyf.contours = svg2contours(d); } ttf.glyf.push(glyf); @@ -204,7 +208,7 @@ define( } if (!ttf.glyf.length) { - error.throw(10201); + error.raise(10201); } return ttf; diff --git a/src/ttf/table/OS2.js b/src/ttf/table/OS2.js index 15f5ec9..57252a0 100644 --- a/src/ttf/table/OS2.js +++ b/src/ttf/table/OS2.js @@ -102,8 +102,6 @@ define( // os2 count var xAvgCharWidth = 0, - ulUnicodeRange1 = 0, - ulUnicodeRange2 = 0x10000000, usFirstCharIndex = 0xFFFF, usLastCharIndex = -1; @@ -144,7 +142,7 @@ define( else if (glyf.contours && glyf.contours.length) { maxContours = Math.max(maxContours, glyf.contours.length); - var points = 0, twilightPoints = 0; + var points = 0; glyf.contours.forEach(function(contour) { points += contour.length; }); @@ -189,7 +187,7 @@ define( } if (checkUnicodeRepeat[unicode]) { - error.throw(10200, index); + error.raise(10200, index); } else { checkUnicodeRepeat[unicode] = true; diff --git a/src/ttf/table/cmap.js b/src/ttf/table/cmap.js index 13b852a..87ddc40 100644 --- a/src/ttf/table/cmap.js +++ b/src/ttf/table/cmap.js @@ -27,7 +27,7 @@ define( var i; // 0~256 紧凑排列 - if (subTable.format == 0) { + if (subTable.format === 0) { var format0 = subTable; // 跳过format字段 format0.length = reader.readUint16(); @@ -39,7 +39,7 @@ define( format0.glyphIdArray = glyphIdArray; } // 双字节编码,非紧凑排列 - else if(subTable.format == 4) { + else if(subTable.format === 4) { var format4 = subTable; // 跳过format字段 format4.length = reader.readUint16(); @@ -102,7 +102,7 @@ define( // The firstCode and entryCount values in the subtable specify // the useful subrange within the range of possible character codes. // The range begins with firstCode and has a length equal to entryCount. - else if(subTable.format == 6) { + else if(subTable.format === 6) { var format6 = subTable; format6.length = reader.readUint16(); @@ -123,7 +123,7 @@ define( } // defines segments for sparse representation in 4-byte character space - else if(subTable.format == 12) { + else if(subTable.format === 12) { var format12 = subTable; format12.reserved = reader.readUint16(); diff --git a/src/ttf/table/cmapwriter.js b/src/ttf/table/cmapwriter.js index 8174bf7..9d40aec 100644 --- a/src/ttf/table/cmapwriter.js +++ b/src/ttf/table/cmapwriter.js @@ -104,7 +104,7 @@ define( }); var i = -1, unicode; - while (unicode = unicodes.shift()) { + while ((unicode = unicodes.shift())) { while(++i < unicode[0]) { writer.writeUint8(0); } @@ -297,14 +297,14 @@ define( ttf.support.cmap.hasGLyphsOver2Bytes = hasGLyphsOver2Bytes; ttf.support.cmap.format12Segments = getSegments(unicodes2Bytes); ttf.support.cmap.format12Size = 16 - + ttf.support.cmap.format12Segments.length * 12 + + ttf.support.cmap.format12Segments.length * 12; } var size = 4 + (hasGLyphsOver2Bytes ? 32 : 24) // cmap header + 262 // format 0 + ttf.support.cmap.format4Size // format 4 - + (hasGLyphsOver2Bytes ? ttf.support.cmap.format12Size : 0) // format 12 + + (hasGLyphsOver2Bytes ? ttf.support.cmap.format12Size : 0); // format 12 return size; } diff --git a/src/ttf/table/glyfcontour.js b/src/ttf/table/glyfcontour.js index 2ca1563..e122033 100644 --- a/src/ttf/table/glyfcontour.js +++ b/src/ttf/table/glyfcontour.js @@ -245,7 +245,7 @@ define( }; } else { - error.throw(10202); + error.raise(10202); } val.glyfs.push(glyf); diff --git a/src/ttf/table/glyfwriter.js b/src/ttf/table/glyfwriter.js index 8dac8f3..9dfa825 100644 --- a/src/ttf/table/glyfwriter.js +++ b/src/ttf/table/glyfwriter.js @@ -135,7 +135,7 @@ define( y = yCoord[index]; // 第一个 - if (index == 0) { + if (index === 0) { if (-0xFF <= x && x <= 0xFF) { flag += glyFlag.XSHORT; @@ -166,7 +166,7 @@ define( prevX = xCoord[index - 1]; prevY = yCoord[index - 1]; - if (x == 0) { + if (x === 0) { flag += glyFlag.XSAME; } else { @@ -182,7 +182,7 @@ define( xCoordC.push(x); } - if (y == 0) { + if (y === 0) { flag += glyFlag.YSAME; } else { @@ -229,10 +229,8 @@ define( ttf.glyf.forEach(function(glyf, index) { - var writerOffset = writer.offset; - // 非复合图元没有轮廓则不写 - if (!glyf.compound && (!glyf.contours || 0 == glyf.contours.length)) { + if (!glyf.compound && (!glyf.contours || 0 === glyf.contours.length)) { return; } @@ -377,7 +375,7 @@ define( // 4字节对齐 var glyfSize = ttf.support.glyf[index].glyfSize; - //console.log(glyfSize, writer.offset - writerOffset); + // if (glyfSize % 4) { for (var i = 0, l = 4 - glyfSize % 4; i < l; i++) { diff --git a/src/ttf/table/hmtx.js b/src/ttf/table/hmtx.js index 0fef913..911934d 100644 --- a/src/ttf/table/hmtx.js +++ b/src/ttf/table/hmtx.js @@ -60,7 +60,6 @@ define( } // 最后一个宽度 - var advanceWidth = ttf.glyf[numOfLongHorMetrics - 1].advanceWidth; var numOfLast = ttf.glyf.length - numOfLongHorMetrics; for (var i = 0; i < numOfLast; ++i) { diff --git a/src/ttf/table/table.js b/src/ttf/table/table.js index eb17ddb..45791af 100644 --- a/src/ttf/table/table.js +++ b/src/ttf/table/table.js @@ -65,7 +65,7 @@ define( break; default: - error.throw(10003, name, type); + error.raise(10003, name, type); } }); @@ -84,7 +84,7 @@ define( var table = ttf[this.name]; if (!table) { - error.throw(10203, this.name); + error.raise(10203, this.name); } this.struct.forEach(function(item){ @@ -123,7 +123,7 @@ define( break; default: - error.throw(10003, name, type); + error.raise(10003, name, type); } }); @@ -180,7 +180,7 @@ define( break; default: - error.throw(10003, name, type); + error.raise(10003, name, type); } }); diff --git a/src/ttf/ttf.js b/src/ttf/ttf.js index da188cb..8e40a3d 100644 --- a/src/ttf/ttf.js +++ b/src/ttf/ttf.js @@ -53,7 +53,12 @@ define( }); // 重新计算xmin,xmax,ymin,ymax - if (undefined == g.xMin || undefined == g.yMax || undefined == g.leftSideBearing || undefined == g.advanceWidth) { + if ( + undefined === g.xMin + || undefined === g.yMax + || undefined === g.leftSideBearing + || undefined === g.advanceWidth + ) { var bound = computeBoundingBox.computePathBox.apply(this, g.contours); g.xMin = bound.x; diff --git a/src/ttf/ttf2svg.js b/src/ttf/ttf2svg.js index 0ae8733..a41d8ab 100644 --- a/src/ttf/ttf2svg.js +++ b/src/ttf/ttf2svg.js @@ -50,7 +50,7 @@ define( unicode = [unicode]; } return unicode.map(function(u) { - return '&#x' + u.toString(16) + ';' + return '&#x' + u.toString(16) + ';'; }).join(''); } @@ -105,7 +105,7 @@ define( name: glyf.name, unicode: unicode2xml(glyf.unicode), d: contours2svg(glyf.contours) - } + }; glyphList += string.format(GLYPH_TPL, glyfObject); } } @@ -142,7 +142,7 @@ define( return ttfobject2svg(ttfBuffer, options); } else { - error.throw(10109); + error.raise(10109); } } return ttf2svg; diff --git a/src/ttf/ttf2woff.js b/src/ttf/ttf2woff.js index 4c570fb..d7f16ac 100644 --- a/src/ttf/ttf2woff.js +++ b/src/ttf/ttf2woff.js @@ -89,13 +89,13 @@ define( if (metadata.license) { xml += ''; - xml += string.encodeHTML(metadata.license.text) + xml += string.encodeHTML(metadata.license.text); xml += ''; } if (metadata.copyright) { - xml += '' - xml += string.encodeHTML(metadata.copyright) + xml += ''; + xml += string.encodeHTML(metadata.copyright); xml += ''; } @@ -164,7 +164,7 @@ define( var numTables = ttfReader.readUint16(4); // 读取ttf表个数 if (numTables <= 0 || numTables > 100) { - error.throw(10101); + error.raise(10101); } // 读取ttf表索引信息 @@ -182,8 +182,8 @@ define( if (tableEntry.tag == 'head') { // 读取font revision - woffHeader.majorVersion = ttfReader.readUint16(tableEntry.offset + 4), - woffHeader.minorVersion = ttfReader.readUint16(tableEntry.offset + 6) + woffHeader.majorVersion = ttfReader.readUint16(tableEntry.offset + 4); + woffHeader.minorVersion = ttfReader.readUint16(tableEntry.offset + 6); } // ttf 表数据 @@ -212,7 +212,7 @@ define( } if (!tableEntries.length) { - error.throw(10204); + error.raise(10204); } // 对table进行排序 diff --git a/src/ttf/ttfreader.js b/src/ttf/ttfreader.js index a61fe10..f957057 100644 --- a/src/ttf/ttfreader.js +++ b/src/ttf/ttfreader.js @@ -26,7 +26,7 @@ define( */ function read(buffer) { - var reader = new Reader(buffer, 0, buffer.byteLength, false);; + var reader = new Reader(buffer, 0, buffer.byteLength, false); var ttf = {}; @@ -37,7 +37,7 @@ define( ttf.numTables = reader.readUint16(); if (ttf.numTables <= 0 || ttf.numTables > 100) { - error.throw(10101); + error.raise(10101); } // searchRenge @@ -52,7 +52,7 @@ define( ttf.tables = new Directory(reader.offset).read(reader, ttf); if (!ttf.tables.glyf || !ttf.tables.head || !ttf.tables.cmap || !ttf.tables.hmtx) { - error.throw(10204); + error.raise(10204); } // 读取支持的表数据 @@ -64,7 +64,7 @@ define( }); if (!ttf.glyf) { - error.throw(10201); + error.raise(10201); } reader.dispose(); diff --git a/src/ttf/ttfwriter.js b/src/ttf/ttfwriter.js index b40a90b..e7029a2 100644 --- a/src/ttf/ttfwriter.js +++ b/src/ttf/ttfwriter.js @@ -10,7 +10,6 @@ define( function(require) { - var Reader = require('./reader'); var Writer = require('./writer'); var Directory = require('./table/directory'); var supportTables = require('./table/support'); @@ -57,7 +56,7 @@ define( ttf.head.modified = Date.now(); if (!ttf.glyf) { - error.throw(10201); + error.raise(10201); } // 将glyf的代码点按小到大排序 @@ -145,8 +144,6 @@ define( }); - var writerOffset = writer.offset; // 记录当前游标 - // 重新写入每个表校验和 ttf.support.tables.forEach(function(table, index) { var offset = 12 + index * 16 + 4; diff --git a/src/ttf/util/glyf2svg.js b/src/ttf/util/glyf2svg.js index aacf7fd..3012343 100644 --- a/src/ttf/util/glyf2svg.js +++ b/src/ttf/util/glyf2svg.js @@ -13,9 +13,9 @@ define( function(require) { + var contour2svg = require('./contour2svg'); var contours2svg = require('./contours2svg'); - var pathAdjust = require('graphics/pathAdjust'); var matrixTransform = require('graphics/transform'); var lang = require('common/lang'); diff --git a/src/ttf/util/readWindowsAllCodes.js b/src/ttf/util/readWindowsAllCodes.js index 97fb6c1..a967420 100644 --- a/src/ttf/util/readWindowsAllCodes.js +++ b/src/ttf/util/readWindowsAllCodes.js @@ -24,7 +24,7 @@ define( // 读取windows unicode 编码段 var format0 = tables.filter(function(item) { - return item.format == 0; + return item.format === 0; }); if (format0.length) { diff --git a/src/ttf/util/string.js b/src/ttf/util/string.js index d11d6b4..e03c5fd 100644 --- a/src/ttf/util/string.js +++ b/src/ttf/util/string.js @@ -1,9 +1,9 @@ -/** +/** * @file string.js * @author mengke01 * @date * @description - * string工具箱 + * string 工具箱 * * see svg2ttf @ github */ diff --git a/src/ttf/util/svg2contours.js b/src/ttf/util/svg2contours.js index 1263be8..97c4380 100644 --- a/src/ttf/util/svg2contours.js +++ b/src/ttf/util/svg2contours.js @@ -22,7 +22,7 @@ define( var q2, prevq2; for (var i = 0, l = q2List.length; i < l; i++) { q2 = q2List[i]; - if (i == 0) { + if (i === 0) { contour.push({ x: q2[1].x, y: q2[1].y @@ -69,6 +69,10 @@ define( return null; } + var argsMap = function(d) { + return +d.trim(); + }; + // 获取segments var segments = []; var cmd, relative = false, c, r, lastIndex, args, segReg = /\-?\d+(?:\.\d+)?\b/g; @@ -77,7 +81,8 @@ define( r = c != path[i]; switch (c) { case 'M': - if (i == 0) { + /*jshint -W086 */ + if (i === 0) { cmd = c; lastIndex = 1; break; @@ -99,9 +104,7 @@ define( segments.push({ cmd: cmd, relative: relative, - args: args.match(segReg).map(function(d) { - return +d.trim(); - }) + args: args.match(segReg).map(argsMap) }); } @@ -304,7 +307,7 @@ define( }; // 计算中间点 - if (q == 0) { + if (q === 0) { cubic.push({x: prevX, y: prevY}); cubic.push(c1); cubic.push(c2); @@ -314,7 +317,7 @@ define( var p1 = { x: (prevC2.x + c1.x) / 2, y: (prevC2.y + c1.y) / 2 - } + }; cubicList[cubicList.length - 1][3] = p1; cubic.push(p1); @@ -343,7 +346,7 @@ define( // TODO 这里没有支持连续的情况,有时间再搞 if (segment.args.length > 4) { - throw 'not support svg "S" command continuous!' + throw 'not support svg "S" command continuous!'; } // 这里需要移除上一个曲线的终点 diff --git a/src/ttf/woff2ttf.js b/src/ttf/woff2ttf.js index 37963bd..64d5488 100644 --- a/src/ttf/woff2ttf.js +++ b/src/ttf/woff2ttf.js @@ -46,7 +46,7 @@ define( if (signature !== 0x774F4646 || flavor !== 0x10000) { reader.dispose(); - error.throw(10102); + error.raise(10102); } var numTables = reader.readUint16(12); @@ -71,7 +71,7 @@ define( if (!options.inflate) { reader.dispose(); - error.throw(10105); + error.raise(10105); } tableEntry.data = options.inflate(deflateData); @@ -104,7 +104,8 @@ define( writer.writeUint32(tableEntry.checkSum); writer.writeUint32(tblOffset); writer.writeUint32(tableEntry.length); - tblOffset += tableEntry.length + (tableEntry.length % 4 ? 4 - tableEntry.length % 4 : 0) + tblOffset += tableEntry.length + + (tableEntry.length % 4 ? 4 - tableEntry.length % 4 : 0); } // 写ttf表数据 diff --git a/src/ttf/writer.js b/src/ttf/writer.js index 7f943a0..dffd0de 100644 --- a/src/ttf/writer.js +++ b/src/ttf/writer.js @@ -115,7 +115,7 @@ define( var length = length || str.replace(/[^\x00-\xff]/g, '11').length; if(length < 0 || offset + length > this.length) { - error.throw(10002, this.length, offset + length); + error.raise(10002, this.length, offset + length); } this.seek(offset); @@ -152,7 +152,7 @@ define( length = length || value.byteLength || value.length; if(length < 0 || offset + length > this.length) { - error.throw(10002, this.length, offset + length); + error.raise(10002, this.length, offset + length); } // ArrayBuffer @@ -189,7 +189,7 @@ define( } if (offset < 0 || offset > this.length) { - error.throw(10002, this.length, offset); + error.raise(10002, this.length, offset); } this._offset = this.offset;