ruby-rtf 0.0.3 → 0.0.5

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
- SHA1:
3
- metadata.gz: 6c49f3df763a3eed0f7db3da2c0f8b3b8c719d82
4
- data.tar.gz: 44d7a2e153fd5b5c98ee33ef1e5c4c3bf601f4aa
2
+ SHA256:
3
+ metadata.gz: 50dd0ca707eb1c3d3ceddca62ceb88f46ba2ecd712f403059d99aa9566d89d34
4
+ data.tar.gz: 5be0b6e3dd052d0261a5177b31a22cc8e2f91a9e2b7e4c2009c70ab26fe2d085
5
5
  SHA512:
6
- metadata.gz: b5b942ab6e002d1be0dd70d1041b84f2f34bc8851c62d6f5aa391321ec55d8fcdfd38111f5ddfb43e6804c7afa76410fe45c719ab152646731568337733592e4
7
- data.tar.gz: 1339b06aca24cf79cf5156f689e6a24d160e20a49b198c75f8d8da249c143ea5be215e93242eb898cb4a8c4cf61d8131bd65779233f3b0c61f606b9c175f42d1
6
+ metadata.gz: b13544d45d381eee9bb4aef1209ce6e099bc5e3d4c1366e84905800204687bdcb8e1b6afdd23d081610707797d0171e817a926219f4f2bf2a60d71d25d0286c1
7
+ data.tar.gz: 9d31de78bf52d44399431724f57eece4f5254b4d3566438ce4dc011bc81128a58dce7c99dca3fffed3c0e8c018d5f81904b855e8ea6b6526c353df0bb91bc74c
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ruby-rtf (0.0.2)
4
+ ruby-rtf (0.0.5)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
@@ -20,7 +20,7 @@ GEM
20
20
  diff-lcs (>= 1.2.0, < 2.0)
21
21
  rspec-support (~> 3.6.0)
22
22
  rspec-support (3.6.0)
23
- yard (0.9.9)
23
+ yard (0.9.24)
24
24
 
25
25
  PLATFORMS
26
26
  ruby
@@ -28,7 +28,7 @@ PLATFORMS
28
28
  DEPENDENCIES
29
29
  rspec (> 2.0)
30
30
  ruby-rtf!
31
- yard
31
+ yard (~> 0.9.11)
32
32
 
33
33
  BUNDLED WITH
34
- 1.14.6
34
+ 1.16.1
@@ -126,7 +126,15 @@ module RubyRTF
126
126
  case(name)
127
127
  when :rtf then ;
128
128
  when :deff then @doc.default_font = val
129
- when :ansicpg then self.encoding = "windows-#{val}"
129
+ when :ansicpg then
130
+ begin
131
+ # Set the encoding if it's valid
132
+ Encoding.find("windows-#{val}")
133
+ self.encoding = "windows-#{val}"
134
+ rescue => e
135
+ # ignore
136
+ end
137
+
130
138
  when *[:ansi, :mac, :pc, :pca] then @doc.character_set = name
131
139
  when :fonttbl then current_pos = parse_font_table(src, current_pos)
132
140
  when :colortbl then current_pos = parse_colour_table(src, current_pos)
@@ -412,7 +420,7 @@ module RubyRTF
412
420
  colour.theme = ctrl.to_s[1..-1].to_sym
413
421
  end
414
422
 
415
- when *["\r", "\n"] then current_pos += 1
423
+ when *["\r", "\n", " "] then current_pos += 1
416
424
  when ';' then
417
425
  @doc.colour_table << colour
418
426
 
@@ -513,14 +521,20 @@ module RubyRTF
513
521
  def force_section!(mods = {}, text = nil)
514
522
  current_context << @current_section
515
523
 
524
+ # The modifiers for the new section
525
+ modifiers = {}
526
+
516
527
  fs = formatting_stack.last || {}
517
528
  fs.each_pair do |k, v|
518
529
  next if BLACKLISTED.include?(k)
519
- mods[k] = v
530
+ modifiers[k] = v
520
531
  end
521
- formatting_stack.push(mods)
522
532
 
523
- @current_section = {:text => (text || ''), :modifiers => mods}
533
+ modifiers.merge!(mods)
534
+
535
+ formatting_stack.push(modifiers)
536
+
537
+ @current_section = {:text => (text || ''), :modifiers => modifiers}
524
538
  end
525
539
 
526
540
  # Resets the current section to default formating
@@ -1,5 +1,5 @@
1
1
  # Main namespace of the RTF parser
2
2
  module RubyRTF
3
3
  # Current library version
4
- VERSION = '0.0.3'
4
+ VERSION = '0.0.5'
5
5
  end
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
14
14
  s.description = s.summary
15
15
 
16
16
  s.add_development_dependency 'rspec', '>2.0'
17
- s.add_development_dependency 'yard'
17
+ s.add_development_dependency 'yard', '~>0.9.11'
18
18
 
19
19
  s.bindir = 'bin'
20
20
  s.executables << 'rtf_parse'
@@ -391,6 +391,36 @@ ffd8ffe000104a4649460001010100b400b40000ffe1158a687474703a2f2f6e732e61646f62652e
391
391
  clr.blue.should == 255
392
392
  end
393
393
 
394
+ it 'ignores single space between colour sections' do
395
+ src = '{\rtf1{\colortbl\red0\green0\blue0; \red127\green2\blue255;}}'
396
+ doc = parser.parse(src)
397
+
398
+ clr = doc.colour_table[0]
399
+ clr.red.should == 0
400
+ clr.green.should == 0
401
+ clr.blue.should == 0
402
+
403
+ clr = doc.colour_table[1]
404
+ clr.red.should == 127
405
+ clr.green.should == 2
406
+ clr.blue.should == 255
407
+ end
408
+
409
+ it 'ignores double space between colour sections' do
410
+ src = '{\rtf1{\colortbl\red0\green0\blue0; \red127\green2\blue255;}}'
411
+ doc = parser.parse(src)
412
+
413
+ clr = doc.colour_table[0]
414
+ clr.red.should == 0
415
+ clr.green.should == 0
416
+ clr.blue.should == 0
417
+
418
+ clr = doc.colour_table[1]
419
+ clr.red.should == 127
420
+ clr.green.should == 2
421
+ clr.blue.should == 255
422
+ end
423
+
394
424
  it 'sets the first colour if missing' do
395
425
  src = '{\rtf1{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}}'
396
426
  doc = parser.parse(src)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-rtf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - dan sinclair
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-12 00:00:00.000000000 Z
11
+ date: 2020-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: yard
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 0.9.11
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 0.9.11
41
41
  description: Library for working with RTF files
42
42
  email: dj2@everburning.com
43
43
  executables:
@@ -86,8 +86,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
86
86
  - !ruby/object:Gem::Version
87
87
  version: '0'
88
88
  requirements: []
89
- rubyforge_project:
90
- rubygems_version: 2.5.1
89
+ rubygems_version: 3.0.6
91
90
  signing_key:
92
91
  specification_version: 4
93
92
  summary: Library for working with RTF files