psd 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
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