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 +4 -4
- data/lib/psd/file.rb +2 -1
- data/lib/psd/layer_info/legacy_typetool.rb +3 -3
- data/lib/psd/layer_info/unicode_name.rb +1 -2
- data/lib/psd/version.rb +1 -1
- metadata +1 -2
- data/lib/psd/pascal_string.rb +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cd304c938fae5c2e76f30356d35bbb6a53151c5f
|
4
|
+
data.tar.gz: 1b109cfefe59ac367216f1cd541180789714531f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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] =
|
23
|
-
@data[:face][i][:font_family_name] =
|
24
|
-
@data[:face][i][:font_style_name] =
|
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
|
-
|
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
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.
|
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
|
data/lib/psd/pascal_string.rb
DELETED
@@ -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
|