Moved @tag definition to the derived Table constructors

This commit is contained in:
yelouafi 2014-09-13 17:30:42 +00:00
parent c7c20ef6b7
commit 9f4c6345c5
11 changed files with 47 additions and 11 deletions

View File

@ -1,5 +1,5 @@
class Table
constructor: (@file, @tag) ->
constructor: (@file) ->
info = @file.directory.tables[@tag]
@exists = !!info

View File

@ -2,6 +2,10 @@ Table = require '../table'
Data = require '../../data'
class CmapTable extends Table
constructor: ->
@tag = 'cmap'
super
parse: (data) ->
data.pos = @offset

View File

@ -2,6 +2,10 @@ Table = require '../table'
Data = require '../../data'
class GlyfTable extends Table
constructor: ->
@tag = 'glyf'
super
parse: (data) ->
# We're not going to parse the whole glyf table, just the glyfs we need. See below.
@cache = {}

View File

@ -2,6 +2,10 @@ Table = require '../table'
Data = require '../../data'
class HeadTable extends Table
constructor: ->
@tag = 'head'
super
parse: (data) ->
data.pos = @offset

View File

@ -2,6 +2,10 @@ Table = require '../table'
Data = require '../../data'
class HheaTable extends Table
constructor: ->
@tag = 'hhea'
super
parse: (data) ->
data.pos = @offset

View File

@ -2,6 +2,10 @@ Table = require '../table'
Data = require '../../data'
class HmtxTable extends Table
constructor: ->
@tag = 'hmtx'
super
parse: (data) ->
data.pos = @offset

View File

@ -2,6 +2,10 @@ Table = require '../table'
Data = require '../../data'
class LocaTable extends Table
constructor: ->
@tag = 'loca'
super
parse: (data) ->
data.pos = @offset
format = @file.head.indexToLocFormat

View File

@ -2,6 +2,10 @@ Table = require '../table'
Data = require '../../data'
class MaxpTable extends Table
constructor: ->
@tag = 'maxp'
super
parse: (data) ->
data.pos = @offset

View File

@ -3,6 +3,10 @@ Data = require '../../data'
utils = require '../utils'
class NameTable extends Table
constructor: ->
@tag = 'name'
super
parse: (data) ->
data.pos = @offset

View File

@ -2,6 +2,10 @@ Table = require '../table'
Data = require '../../data'
class PostTable extends Table
constructor: ->
@tag = 'post'
super
parse: (data) ->
data.pos = @offset

View File

@ -68,16 +68,16 @@ class TTFFont
parse: ->
@directory = new Directory(@contents)
@head = new HeadTable(this, 'head')
@name = new NameTable(this, 'name')
@cmap = new CmapTable(this, 'cmap')
@hhea = new HheaTable(this, 'hhea')
@maxp = new MaxpTable(this, 'maxp')
@hmtx = new HmtxTable(this, 'hmtx')
@post = new PostTable(this, 'post')
@os2 = new OS2Table(this, 'os2')
@loca = new LocaTable(this, 'loca')
@glyf = new GlyfTable(this, 'glyf')
@head = new HeadTable(this)
@name = new NameTable(this)
@cmap = new CmapTable(this)
@hhea = new HheaTable(this)
@maxp = new MaxpTable(this)
@hmtx = new HmtxTable(this)
@post = new PostTable(this)
@os2 = new OS2Table(this)
@loca = new LocaTable(this)
@glyf = new GlyfTable(this)
@ascender = (@os2.exists and @os2.ascender) or @hhea.ascender
@decender = (@os2.exists and @os2.decender) or @hhea.decender