\r\n
${lang.preview_title}
\r\n
\r\n {%glyfList.forEach(function(glyf) {%}\r\n - \r\n {%=glyf.code%}\r\n
{%=glyf.codeName%}
\r\n {%=glyf.name%}
\r\n \r\n {%});%}\r\n
\r\n
${lang.preview_first_step}\r\n
\r\n@font-face {\r\n font-family: \'{%=fontFamily%}\';\r\n src: url(\'{%=fontFamily%}.eot\'); /* IE9*/\r\n src: url(\'{%=fontFamily%}.eot?#iefix\') format(\'embedded-opentype\'), /* IE6-IE8 */\r\n url(\'{%=fontFamily%}.woff\') format(\'woff\'), /* chrome、firefox */\r\n url(\'{%=fontFamily%}.ttf\') format(\'truetype\'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/\r\n url(\'{%=fontFamily%}.svg#ux{%=fontFamily%}\') format(\'svg\'); /* iOS 4.1- */\r\n}\r\n\r\n${lang.preview_second_step}\r\n
\r\n.{%=fontFamily%} {\r\n font-family:"{%=fontFamily%}" !important;\r\n font-size:16px;font-style:normal;\r\n -webkit-font-smoothing: antialiased;\r\n -webkit-text-stroke-width: 0.2px;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\n${lang.preview_third_step}\r\n
\r\n <i class="{%=fontFamily%}">3</i>\r\n\r\n
\r\n
\r\n';});
\ No newline at end of file
+define(function () {return '\r\n\r\n\r\n
${lang.preview_title}
\r\n
\r\n {%glyfList.forEach(function(glyf) {%}\r\n - \r\n {%=glyf.code%}\r\n
{%=glyf.codeName%}
\r\n {%=glyf.name%}
\r\n \r\n {%});%}\r\n
\r\n
${lang.preview_first_step}\r\n
\r\n@font-face {\r\n font-family: \'{%=fontFamily%}\';\r\n src: url(\'{%=fontFamily%}.eot\'); /* IE9*/\r\n src: url(\'{%=fontFamily%}.eot?#iefix\') format(\'embedded-opentype\'), /* IE6-IE8 */\r\n url(\'{%=fontFamily%}.woff\') format(\'woff\'), /* chrome、firefox */\r\n url(\'{%=fontFamily%}.ttf\') format(\'truetype\'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/\r\n url(\'{%=fontFamily%}.svg#ux{%=fontFamily%}\') format(\'svg\'); /* iOS 4.1- */\r\n}\r\n\r\n${lang.preview_second_step}\r\n
\r\n.{%=fontFamily%} {\r\n font-family:"{%=fontFamily%}" !important;\r\n font-size:16px;font-style:normal;\r\n -webkit-font-smoothing: antialiased;\r\n -webkit-text-stroke-width: 0.2px;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\n${lang.preview_third_step}\r\n
\r\n <i class="{%=fontFamily%}">3</i>\r\n\r\n
\r\n
\r\n';});
\ No newline at end of file
diff --git a/src/fonteditor/widget/TTFManager.js b/src/fonteditor/widget/TTFManager.js
index f532584..df34565 100644
--- a/src/fonteditor/widget/TTFManager.js
+++ b/src/fonteditor/widget/TTFManager.js
@@ -198,11 +198,12 @@ define(
*
* @param {string} unicode unicode代码
* @param {Array=} indexList 索引列表
+ * @param {boolean} isGenerateName 是否生成name
* @return {this}
*/
- Manager.prototype.setUnicode = function (unicode, indexList) {
+ Manager.prototype.setUnicode = function (unicode, indexList, isGenerateName) {
- var list = this.ttf.setUnicode(unicode, indexList, true);
+ var list = this.ttf.setUnicode(unicode, indexList, isGenerateName);
if (list.length) {
list.forEach(function (g) {
g.modify = 'edit';
diff --git a/src/fonteditor/widget/exporter.js b/src/fonteditor/widget/exporter.js
index 7de44b4..d37a0c8 100644
--- a/src/fonteditor/widget/exporter.js
+++ b/src/fonteditor/widget/exporter.js
@@ -34,10 +34,10 @@ define(
// 这里没有用deflate压缩函数,是因为在一些安卓手机上, MI 4.4
// 不能识别压缩字体
- buffer = ttf2woff(new TTFWriter().write(ttf));
+ buffer = ttf2woff(writettf(ttf));
}
else if (options.type === 'eot') {
- buffer = ttf2eot(new TTFWriter().write(ttf));
+ buffer = ttf2eot(writettf(ttf));
}
else if (options.type === 'svg') {
buffer = ttf2svg(ttf);
diff --git a/src/fonteditor/widget/loader.js b/src/fonteditor/widget/loader.js
index ce6ad72..ab507b3 100644
--- a/src/fonteditor/widget/loader.js
+++ b/src/fonteditor/widget/loader.js
@@ -118,11 +118,15 @@ define(
loading.show();
var fileReader = new FileReader();
-
+ var fName = file.name.replace(/\.\w+$/, '');
fileReader.onload = function (e) {
try {
var buffer = e.target.result;
var imported = svg2ttf(buffer);
+ // 设置单个字形名字
+ if (imported.glyf && imported.glyf.length == 1) {
+ imported.glyf[0].name = fName;
+ }
fileReader = null;
options.success && options.success(imported);
}
diff --git a/src/fonteditor/widget/previewer.js b/src/fonteditor/widget/previewer.js
index 051b0ed..29b0ff5 100644
--- a/src/fonteditor/widget/previewer.js
+++ b/src/fonteditor/widget/previewer.js
@@ -36,11 +36,11 @@ define(
var buffer;
if (fontFormat === 'woff') {
- buffer = new TTFWriter().write(ttf);
+ buffer = writettf(ttf);
fontData = woff2base64(ttf2woff(buffer));
}
else if (fontFormat === 'eot') {
- buffer = new TTFWriter().write(ttf);
+ buffer = writettf(ttf);
fontData = eot2base64(ttf2eot(buffer));
}
else if (fontFormat === 'svg') {
diff --git a/src/fonteditor/widget/sync.js b/src/fonteditor/widget/sync.js
index b5380b2..a551e22 100644
--- a/src/fonteditor/widget/sync.js
+++ b/src/fonteditor/widget/sync.js
@@ -9,7 +9,7 @@ define(
var i18n = require('../i18n/i18n');
var Resolver = require('common/promise');
var project = require('./project');
- var TTFWriter = require('ttf/ttfwriter');
+ var writettf = require('./util/writettf');
var ttf2woff = require('ttf/ttf2woff');
var ttf2eot = require('ttf/ttf2eot');
var ttf2svg = require('ttf/ttf2svg');
@@ -56,7 +56,7 @@ define(
var syncData = {};
if (syncConfig.woff || syncConfig.ttf || syncConfig.eot) {
- var buffer = new TTFWriter().write(ttf);
+ var buffer = writettf(ttf);
if (syncConfig.ttf) {
fontType.push('ttf');
diff --git a/src/fonteditor/widget/ttfmanager.js b/src/fonteditor/widget/ttfmanager.js
index f532584..df34565 100644
--- a/src/fonteditor/widget/ttfmanager.js
+++ b/src/fonteditor/widget/ttfmanager.js
@@ -198,11 +198,12 @@ define(
*
* @param {string} unicode unicode代码
* @param {Array=} indexList 索引列表
+ * @param {boolean} isGenerateName 是否生成name
* @return {this}
*/
- Manager.prototype.setUnicode = function (unicode, indexList) {
+ Manager.prototype.setUnicode = function (unicode, indexList, isGenerateName) {
- var list = this.ttf.setUnicode(unicode, indexList, true);
+ var list = this.ttf.setUnicode(unicode, indexList, isGenerateName);
if (list.length) {
list.forEach(function (g) {
g.modify = 'edit';