add panose
This commit is contained in:
parent
025703cda2
commit
cba7d0aa09
@ -9,184 +9,202 @@
|
||||
define(
|
||||
function(require) {
|
||||
|
||||
var tpl = ''
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">上升</span>'
|
||||
+ '<input data-field="ascent" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">下降</span>'
|
||||
+ '<input data-field="descent" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">行间距</span>'
|
||||
+ '<input data-field="lineGap" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">win上升</span>'
|
||||
+ '<input data-field="usWinAscent" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">win下降</span>'
|
||||
+ '<input data-field="usWinDescent" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">错字上升</span>'
|
||||
+ '<input data-field="sTypoAscender" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">错字下降</span>'
|
||||
+ '<input data-field="sTypoDescender" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">错字间距</span>'
|
||||
+ '<input data-field="sTypoLineGap" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">x高度</span>'
|
||||
+ '<input data-field="sxHeight" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">大写H高度</span>'
|
||||
+ '<input data-field="bXHeight" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
var panose = [
|
||||
'bFamilyType', 'bSerifStyle', 'bWeight', 'bProportion', 'bContrast',
|
||||
'bStrokeVariation', 'bArmStyle', 'bLetterform', 'bMidline', 'bXHeight'
|
||||
];
|
||||
|
||||
+ '<hr>'
|
||||
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">删除线位置</span>'
|
||||
+ '<input data-field="yStrikeoutPosition" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">删除线厚度</span>'
|
||||
+ '<input data-field="yStrikeoutSize" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">下划线位置</span>'
|
||||
+ '<input data-field="underlinePosition" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">下划线厚度</span>'
|
||||
+ '<input data-field="underlineThickness" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
|
||||
+ '<hr>'
|
||||
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">下标水平</span>'
|
||||
+ '<input data-field="ySubscriptXSize" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">下标垂直</span>'
|
||||
+ '<input data-field="ySubscriptYSize" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">下标X偏移</span>'
|
||||
+ '<input data-field="ySubscriptXOffset" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">下标Y偏移</span>'
|
||||
+ '<input data-field="ySubscriptYOffset" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">上标水平</span>'
|
||||
+ '<input data-field="ySuperscriptXSize" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">上标垂直</span>'
|
||||
+ '<input data-field="ySuperscriptYSize" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">上标X偏移</span>'
|
||||
+ '<input data-field="ySuperscriptXOffset" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">上标Y偏移</span>'
|
||||
+ '<input data-field="ySuperscriptYOffset" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>';
|
||||
|
||||
|
||||
return require('./setting').derive({
|
||||
|
||||
title: '字体度量',
|
||||
|
||||
getTpl: function() {
|
||||
return tpl;
|
||||
},
|
||||
|
||||
set: function(setting) {
|
||||
this.setFields(setting);
|
||||
},
|
||||
|
||||
validate: function() {
|
||||
var setting = this.getFields();
|
||||
return setting;
|
||||
}
|
||||
|
||||
});
|
||||
var tpl = ''
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">上升</span>'
|
||||
+ '<input data-field="ascent" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">下降</span>'
|
||||
+ '<input data-field="descent" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">行间距</span>'
|
||||
+ '<input data-field="lineGap" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">win上升</span>'
|
||||
+ '<input data-field="usWinAscent" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">win下降</span>'
|
||||
+ '<input data-field="usWinDescent" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">错字上升</span>'
|
||||
+ '<input data-field="sTypoAscender" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">错字下降</span>'
|
||||
+ '<input data-field="sTypoDescender" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">错字间距</span>'
|
||||
+ '<input data-field="sTypoLineGap" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">x高度</span>'
|
||||
+ '<input data-field="sxHeight" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">大写H高度</span>'
|
||||
+ '<input data-field="sCapHeight" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<hr>'
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">删除线位置</span>'
|
||||
+ '<input data-field="yStrikeoutPosition" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">删除线厚度</span>'
|
||||
+ '<input data-field="yStrikeoutSize" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">下划线位置</span>'
|
||||
+ '<input data-field="underlinePosition" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">下划线厚度</span>'
|
||||
+ '<input data-field="underlineThickness" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<hr>'
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">下标水平</span>'
|
||||
+ '<input data-field="ySubscriptXSize" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">下标垂直</span>'
|
||||
+ '<input data-field="ySubscriptYSize" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">下标X偏移</span>'
|
||||
+ '<input data-field="ySubscriptXOffset" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">下标Y偏移</span>'
|
||||
+ '<input data-field="ySubscriptYOffset" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">上标水平</span>'
|
||||
+ '<input data-field="ySuperscriptXSize" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">上标垂直</span>'
|
||||
+ '<input data-field="ySuperscriptYSize" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">上标X偏移</span>'
|
||||
+ '<input data-field="ySuperscriptXOffset" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">上标Y偏移</span>'
|
||||
+ '<input data-field="ySuperscriptYOffset" type="number" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<hr>'
|
||||
+ '<div class="form-inline">'
|
||||
+ '<div class="form-group">'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">供应商ID</span>'
|
||||
+ '<input data-field="achVendID" type="text" class="form-control">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="input-group input-group-sm">'
|
||||
+ '<span class="input-group-addon">panose</span>'
|
||||
+ '<input data-field="panose" type="text" class="form-control">'
|
||||
+ '</div>';
|
||||
return require('./setting').derive({
|
||||
|
||||
title: '字体度量',
|
||||
getTpl: function() {
|
||||
return tpl;
|
||||
},
|
||||
set: function(setting) {
|
||||
setting.panose = panose.map(function(name) {
|
||||
return setting[name];
|
||||
}).join('-');
|
||||
this.setFields(setting);
|
||||
},
|
||||
|
||||
validate: function() {
|
||||
var setting = this.getFields();
|
||||
var length = panose.length;
|
||||
(setting.panose || '').split('-').forEach(function(val, i) {
|
||||
if (i < length) {
|
||||
setting[panose[i]] = (+val || 0) & 0xF;
|
||||
}
|
||||
});
|
||||
return setting;
|
||||
}
|
||||
});
|
||||
}
|
||||
);
|
||||
|
@ -189,6 +189,7 @@ define(
|
||||
});
|
||||
|
||||
// os2
|
||||
ttf['OS/2'].achVendID = (ttf['OS/2'].achVendID + ' ').slice(0, 4);
|
||||
ttf['OS/2'].xAvgCharWidth = xAvgCharWidth / (glyfNotEmpty || 1);
|
||||
ttf['OS/2'].ulUnicodeRange2 = 268435456;
|
||||
ttf['OS/2'].usFirstCharIndex = usFirstCharIndex;
|
||||
|
@ -478,7 +478,11 @@ define(
|
||||
'usWinAscent', 'usWinDescent',
|
||||
'sTypoAscender', 'sTypoDescender', 'sTypoLineGap',
|
||||
'sxHeight', 'bXHeight',
|
||||
'yStrikeoutPosition', 'yStrikeoutSize'
|
||||
'yStrikeoutPosition', 'yStrikeoutSize',
|
||||
'achVendID',
|
||||
// panose
|
||||
'bFamilyType', 'bSerifStyle', 'bWeight', 'bProportion', 'bContrast',
|
||||
'bStrokeVariation', 'bArmStyle', 'bLetterform', 'bMidline', 'bXHeight'
|
||||
]
|
||||
);
|
||||
return this.ttf['OS/2'];
|
||||
|
Loading…
x
Reference in New Issue
Block a user