Commit 4a810737 authored by Ryan LeFevre's avatar Ryan LeFevre

Change name and add property to easily get text value

parents e0251111 c80af038
......@@ -5,4 +5,4 @@ var file = process.argv[2] || './examples/images/example.psd';
var psd = PSD.fromFile(file);
psd.parse();
console.log(psd.tree().export());
\ No newline at end of file
console.log(psd.tree().export());
......@@ -42,8 +42,7 @@ module.exports = class File
readString: (length) -> String.fromCharCode.apply(null, @read(length)).replace /\u0000/g, ""
readUnicodeString: (length = null) ->
length or= @readInt()
data = new Buffer(@read(length * 2))
iconv.decode(data, 'utf-16be')
iconv.decode(new Buffer(@read(length * 2)),'utf-16be').replace /\u0000/g, ""
readByte: -> @read(1)[0]
readBoolean: -> @readByte() isnt 0
......@@ -13,6 +13,7 @@ LAYER_INFO = {
name: require('../layer_info/unicode_name.coffee')
nestedSectionDivider: require('../layer_info/nested_section_divider.coffee')
sectionDivider: require('../layer_info/section_divider.coffee')
typeTool: require('../layer_info/typetool.coffee')
}
module.exports =
......@@ -40,4 +41,4 @@ module.exports =
keyParseable = true
break
@file.seek length, true if not keyParseable
\ No newline at end of file
@file.seek length, true if not keyParseable
LayerInfo = require '../layer_info.coffee'
Descriptor = require '../descriptor.coffee'
module.exports = class TextElements extends LayerInfo
@shouldParse: (key) -> key is 'TySh'
TRANSFORM_VALUE = ['xx', 'xy', 'yx', 'yy', 'tx', 'ty']
COORDS_VALUE = ['left', 'top', 'right', 'bottom']
constructor: (layer, length) ->
super(layer, length)
@version = null
@transform = {}
@textVersion = null
@descriptorVersion = null
@textData = null
@textValue = null
@warpVersion = null
@descriptorVersion = null
@warpData = null
@coords = {}
parse: ->
@version = @file.readShort()
for name, index in TRANSFORM_VALUE
@transform[name] = @file.readDouble()
@textVersion = @file.readShort()
@descriptorVersion = @file.readInt()
@textData = new Descriptor(@file).parse()
@textValue = @textData['Txt ']
@warpVersion = @file.readShort()
@descriptorVersion = @file.readInt()
@warpData = new Descriptor(@file).parse()
for name, index in COORDS_VALUE
@coords[name] = @file.readDouble()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment