psd 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 041d9171afea1dcddd97b7466d804bf2caa39935
4
- data.tar.gz: e8512840bae631128967d55a7df8ea34f4f56edc
3
+ metadata.gz: cd304c938fae5c2e76f30356d35bbb6a53151c5f
4
+ data.tar.gz: 1b109cfefe59ac367216f1cd541180789714531f
5
5
  SHA512:
6
- metadata.gz: 88b090498daaa95c0c78235a513d37f790622d03d0de4340fa02ac662c1a3dc2a9bbb9d622bb85bbda21c1b277f7b10056555be09178208ac3c784815ebcc694
7
- data.tar.gz: 25edcad79447dd549a89feb77ed63f513778bdbe890dcdb76a9a92f3fc24da14ba2b499d93eb1f6ee447bf24fd1ce35dd062aa1172cff730cec3fe891769ffaa
6
+ metadata.gz: 418c704ed6dd5b33a0b96e0de0d9b8cd327ea93a09a75a4b9c916b74b2e129fa0e6e16e352e8da3bda19ef07bc4ee70f4342f4889e9601983f74eaec8d5a361a
7
+ data.tar.gz: 63037689cfc8f00a0afd27883d0979b9cf34144bf38d3faab48dc28a53d60f991783f9245d10bba1ec200c8111afb4f5ad41d0ae36265daf3f155508f7fe63bd
data/lib/psd/file.rb CHANGED
@@ -70,7 +70,8 @@ class PSD
70
70
  end
71
71
 
72
72
  # Reads a string of the given length and converts it to UTF-8 from the internally used MacRoman encoding.
73
- def read_string(length)
73
+ def read_string(length=nil)
74
+ length = @file.read(1).bytes.to_a[0] if length.nil?
74
75
  read(length).encode('UTF-8', 'MacRoman').delete("\000")
75
76
  end
76
77
 
@@ -19,9 +19,9 @@ class PSD
19
19
  @data[:face][i] = {}
20
20
  @data[:face][i][:mark] = @file.read_short
21
21
  @data[:face][i][:font_type] = @file.read_int
22
- @data[:face][i][:font_name] = PascalString.read(@file)
23
- @data[:face][i][:font_family_name] = PascalString.read(@file)
24
- @data[:face][i][:font_style_name] = PascalString.read(@file)
22
+ @data[:face][i][:font_name] = @file.read_string
23
+ @data[:face][i][:font_family_name] = @file.read_string
24
+ @data[:face][i][:font_style_name] = @file.read_string
25
25
  @data[:face][i][:script] = @file.read_short
26
26
  @data[:face][i][:number_axes_vector] = @file.read_int
27
27
  @data[:face][i][:vector] = []
@@ -6,8 +6,7 @@ class PSD
6
6
 
7
7
  def parse
8
8
  pos = @file.tell
9
- len = @file.read_int * 2
10
- @data = @file.read(len).unpack("A#{len}")[0].encode('UTF-8').delete("\000")
9
+ @data = @file.read_unicode_string
11
10
 
12
11
  # The name seems to be padded with null bytes. This is the easiest solution.
13
12
  @file.seek pos + @length
data/lib/psd/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class PSD
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: psd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan LeFevre
@@ -167,7 +167,6 @@ files:
167
167
  - lib/psd/nodes/lock_to_origin.rb
168
168
  - lib/psd/nodes/parse_layers.rb
169
169
  - lib/psd/nodes/search.rb
170
- - lib/psd/pascal_string.rb
171
170
  - lib/psd/path_record.rb
172
171
  - lib/psd/resource.rb
173
172
  - lib/psd/resource_section.rb
@@ -1,14 +0,0 @@
1
- # Helper class that parses a pascal string, which is a
2
- # string that has it's length prepended to it.
3
- class PascalString < BinData::Record
4
- uint8 :len, value: lambda { data.length }
5
- string :data, read_length: :len
6
-
7
- def get
8
- self.data
9
- end
10
-
11
- def set(v)
12
- self.data = v
13
- end
14
- end