Jump To …
README lib / psd / blend_mode.coffee lib / psd / channel_image.coffee lib / psd / color.coffee lib / psd / descriptor.coffee lib / psd / file.coffee lib / psd / header.coffee lib / psd / image.coffee lib / psd / image_export.coffee lib / psd / image_exports / png.coffee lib / psd / image_format.coffee lib / psd / image_formats / layer_raw.coffee lib / psd / image_formats / layer_rle.coffee lib / psd / image_formats / raw.coffee lib / psd / image_formats / rle.coffee lib / psd / image_mode.coffee lib / psd / image_modes / cmyk.coffee lib / psd / image_modes / greyscale.coffee lib / psd / image_modes / rgb.coffee lib / psd / init.coffee lib / psd / layer / blend_modes.coffee lib / psd / layer / blending_ranges.coffee lib / psd / layer / channel_image.coffee lib / psd / layer / helpers.coffee lib / psd / layer / info.coffee lib / psd / layer / mask.coffee lib / psd / layer / name.coffee lib / psd / layer / position_channels.coffee lib / psd / layer.coffee lib / psd / layer_info / blend_clipping_elements.coffee lib / psd / layer_info / blend_interior_elements.coffee lib / psd / layer_info / fill_opacity.coffee lib / psd / layer_info / gradient_fill.coffee lib / psd / layer_info / layer_id.coffee lib / psd / layer_info / layer_name_source.coffee lib / psd / layer_info / legacy_typetool.coffee lib / psd / layer_info / locked.coffee lib / psd / layer_info / metadata.coffee lib / psd / layer_info / nested_section_divider.coffee lib / psd / layer_info / object_effects.coffee lib / psd / layer_info / section_divider.coffee lib / psd / layer_info / solid_color.coffee lib / psd / layer_info / typetool.coffee lib / psd / layer_info / unicode_name.coffee lib / psd / layer_info / vector_mask.coffee lib / psd / layer_info / vector_origination.coffee lib / psd / layer_info / vector_stroke.coffee lib / psd / layer_info / vector_stroke_content.coffee lib / psd / layer_info.coffee lib / psd / layer_mask.coffee lib / psd / lazy_execute.coffee lib / psd / mask.coffee lib / psd / node.coffee lib / psd / nodes / ancestry.coffee lib / psd / nodes / build_preview.coffee lib / psd / nodes / group.coffee lib / psd / nodes / layer.coffee lib / psd / nodes / root.coffee lib / psd / nodes / search.coffee lib / psd / path_record.coffee lib / psd / resource.coffee lib / psd / resource_section.coffee lib / psd / resources / layer_comps.coffee lib / psd / resources.coffee lib / psd / util.coffee lib / psd.coffee shims / init.coffee shims / png.coffee

# legacy_typetool.coffee lib/psd/layer_info/ |
--- | ---
¶ |
    _ = require 'lodash'
    TypeTool = require './typetool.coffee'

    module.exports = class LegacyTypeTool extends TypeTool
      @shouldParse: (key) -> key is 'tySh'

      constructor: (layer, length) ->
        super(layer, length)

        @transform = {}
        @faces = []
        @styles = []
        @lines = []
        @type = 0
        @scalingFactor = 0
        @characterCount = 0
        @horzPlace = 0
        @vertPlace = 0
        @selectStart = 0
        @selectEnd = 0
        @color = null
        @antialias = null

      parse: ->
        @file.seek 2, true # Version
        @parseTransformInfo()
¶ Font information |
        @file.seek 2, true

        facesCount = @file.readShort()
        for i in [0...facesCount]
          @faces.push _({}).tap (face) =>
            face.mark = @file.readShort()
            face.fontType = @file.readInt()
            face.fontName = @file.readString()
            face.fontFamilyName = @file.readString()
            face.fontStyleName = @file.readString()
            face.script = @file.readShort()
            face.numberAxesVector = @file.readInt()
            face.vector = []

            for j in [0...face.numberAxesVector]
              face.vector.push @file.readInt()

        stylesCount = @file.readShort()
        for i in [0...stylesCount]
          @styles.push _({}).tap (style) =>
            style.mark = @file.readShort()
            style.faceMark = @file.readShort()
            style.size = @file.readInt()
            style.tracking = @file.readInt()
            style.kerning = @file.readInt()
            style.leading = @file.readInt()
            style.baseShift = @file.readInt()
            style.autoKern = @file.readBoolean()

            @file.seek 1, true

            style.rotate = @file.readBoolean()

        @type = @file.readShort()
        @scalingFactor = @file.readInt()
        @characterCount = @file.readInt()
        @horzPlace = @file.readInt()
        @vertPlace = @file.readInt()
        @selectStart = @file.readInt()
        @selectEnd = @file.readInt()

        linesCount = @file.readShort()
        for i in [0...linesCount]
          @lines.push _({}).tap (line) ->
            line.charCount = @file.readInt()
            line.orientation = @file.readShort()
            line.alignment = @file.readShort()
            line.actualChar = @file.readShort()
            line.style = @file.readShort()

        @color = @file.readSpaceColor()
        @antialias = @file.readBoolean()

generated Tue May 12 2015 11:08:13 GMT-0400 (EDT)