svg2ttf
Version:
Converts SVG font to TTF font
31 lines (24 loc) • 993 B
JavaScript
// See documentation here: http://www.microsoft.com/typography/otspec/hhea.htm
var ByteBuffer = require('microbuffer')
function createHHeadTable (font) {
var buf = new ByteBuffer(36) // fixed table length
buf.writeInt32(0x10000) // version
buf.writeInt16(font.ascent) // ascent
buf.writeInt16(font.descent) // descend
// Non zero lineGap causes offset in IE, https://github.com/fontello/svg2ttf/issues/37
buf.writeInt16(0) // lineGap
buf.writeUint16(font.maxWidth) // advanceWidthMax
buf.writeInt16(font.minLsb) // minLeftSideBearing
buf.writeInt16(font.minRsb) // minRightSideBearing
buf.writeInt16(font.maxExtent) // xMaxExtent
buf.writeInt16(1) // caretSlopeRise
buf.writeInt16(0) // caretSlopeRun
buf.writeUint32(0) // reserved1
buf.writeUint32(0) // reserved2
buf.writeUint16(0) // reserved3
buf.writeInt16(0) // metricDataFormat
buf.writeUint16(font.glyphs.length) // numberOfHMetrics
return buf
}
module.exports = createHHeadTable