all files / fontkit/src/tables/ loca.coffee

88.24% Statements 15/17
75% Branches 6/8
100% Functions 2/2
100% Lines 12/12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22             17× 16× 9520×         11×
r = require 'restructure'
 
module.exports = new r.VersionedStruct 'head.indexToLocFormat',
  0:
    offsets: new r.Array(r.uint16)
  1:         
    offsets: new r.Array(r.uint32)
    
module.exports.process = ->
  return unless @version is 0
  for i in [0...@offsets.length] by 1
    @offsets[i] <<= 1
    
module.exports.preEncode = ->
  return if @version?
  
  # assume @offsets is a sorted array
  @version = Iif @offsets[@offsets.length - 1] > 0xffff then 1 else 0
  Ireturn unless @version is 0
  
  for i in [0...@offsets.length] by 1
    @offsets[i] >>>= 1