ruby-rtf 0.0.3 → 0.0.5

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
- 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