rwv2 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt ADDED
@@ -0,0 +1,5 @@
1
+ === 0.6.0 / 22.12.2010
2
+
3
+ * gem package is out!
4
+
5
+ * Birthday! Beer! Christmas!
data/INSTALL ADDED
@@ -0,0 +1,112 @@
1
+ Installing Programs with install.rb / setup.rb
2
+ ==============================================
3
+
4
+ Overview
5
+ --------
6
+
7
+ Type these lines on command line:
8
+ ("#" line may require root privilege)
9
+
10
+ $ ruby install.rb config
11
+ $ ruby install.rb setup
12
+ # ruby install.rb install
13
+
14
+
15
+ There's no difference in a usage between install.rb
16
+ and setup.rb.
17
+
18
+ $ ruby setup.rb config
19
+ $ ruby setup.rb setup
20
+ # ruby setup.rb install
21
+
22
+
23
+ Details
24
+ -------
25
+
26
+ Usage of install.rb/setup.rb is:
27
+
28
+ ruby install.rb <global options>
29
+ ruby install.rb [<global options>] <task> [<task options>]
30
+
31
+
32
+ -q,--quiet
33
+ suppress message outputs
34
+ --verbose
35
+ output messages verbosely (default)
36
+ -h,--help
37
+ prints help and quit
38
+ -v,--version
39
+ prints version and quit
40
+ --copyright
41
+ prints copyright and quit
42
+
43
+ These are acceptable tasks:
44
+ config
45
+ saves configurations
46
+ show
47
+ prints current configurations
48
+ setup
49
+ compiles extentions
50
+ install
51
+ installs files
52
+ clean
53
+ cleans created files
54
+
55
+ Task Options for Config
56
+ -----------------------
57
+
58
+ --prefix=PATH
59
+ a prefix of the installing directory path
60
+ --std-ruby=PATH
61
+ the directory for standard ruby libraries
62
+ --site-ruby-common=PATH
63
+ the directory for version-independent non-standard
64
+ ruby libraries
65
+ --site-ruby=PATH
66
+ the directory for non-standard ruby libraries
67
+ --bin-dir=PATH
68
+ the directory for commands
69
+ --rb-dir=PATH
70
+ the directory for ruby scripts
71
+ --so-dir=PATH
72
+ the directory for ruby extentions
73
+ --data-dir=PATH
74
+ the directory for shared data
75
+ --ruby-path=PATH
76
+ path to set to #! line
77
+ --ruby-prog=PATH
78
+ the ruby program using for installation
79
+ --make-prog=NAME
80
+ the make program to compile ruby extentions
81
+ --without-ext
82
+ forces to install.rb never to compile/install
83
+ ruby extentions.
84
+ --rbconfig=PATH
85
+ your rbconfig.rb to load
86
+
87
+ You can view default values of these options by typing
88
+
89
+ $ ruby install.rb --help
90
+
91
+
92
+ In addition, setup.rb accepts these options:
93
+ --with=NAME,NAME,NAME...
94
+ package names which you want to install
95
+ --without=NAME,NAME,NAME...
96
+ package names which you do not want to install
97
+
98
+ [NOTE] You can pass options for extconf.rb like this:
99
+
100
+ ruby install.rb config -- --with-tklib=/usr/lib/libtk-ja.so.8.0
101
+
102
+
103
+ Task Options for Install
104
+ ------------------------
105
+
106
+ --no-harm
107
+ prints what to do and done nothing really.
108
+ --prefix=PATH
109
+ a prefix of the installing directory path.
110
+ This option may help binary package maintainers.
111
+ A default value is an empty string.
112
+
data/InstalledFiles ADDED
@@ -0,0 +1,3 @@
1
+ /usr/lib/ruby/site_ruby/1.8/rwv2/handlers.rb
2
+ /usr/lib/ruby/site_ruby/1.8/rwv2/rwv2.rb
3
+ /usr/lib/ruby/site_ruby/1.8/i686-linux/./rwv2.so
data/Manifest.txt ADDED
@@ -0,0 +1,42 @@
1
+ COPYING
2
+ History.txt
3
+ INSTALL
4
+ InstalledFiles
5
+ Manifest.txt
6
+ README
7
+ README.txt
8
+ Rakefile
9
+ config.save
10
+ ext/rwv2/MANIFEST
11
+ ext/rwv2/Makefile
12
+ ext/rwv2/extconf.rb
13
+ ext/rwv2/include/rwv2.h
14
+ ext/rwv2/include/rwv2_associated_strings.h
15
+ ext/rwv2/include/rwv2_handlers.h
16
+ ext/rwv2/include/rwv2_parser.h
17
+ ext/rwv2/include/rwv2_properties.h
18
+ ext/rwv2/mkmf.log
19
+ ext/rwv2/rwv2.cpp
20
+ ext/rwv2/rwv2.o
21
+ ext/rwv2/rwv2.so
22
+ ext/rwv2/rwv2_handlers.cpp
23
+ ext/rwv2/rwv2_handlers.o
24
+ ext/rwv2/rwv2_parser.cpp
25
+ ext/rwv2/rwv2_parser.o
26
+ ext/rwv2/rwv2_properties.cpp
27
+ ext/rwv2/rwv2_properties.o
28
+ install.rb
29
+ lib/rwv2/handlers.rb
30
+ lib/rwv2/rwv2.rb
31
+ rwv2-0.2.3.patch
32
+ test/data/not_a_word_document.rtf
33
+ test/data/test.doc
34
+ test/data/test2.doc
35
+ test/data/test3.doc
36
+ test/data/test4.doc
37
+ test/data/test5.doc
38
+ test/data/test6.doc
39
+ test/data/test7.doc
40
+ test/data/test8.doc
41
+ test/data/test9.doc
42
+ test/test_parser.rb
data/README ADDED
@@ -0,0 +1,92 @@
1
+ Rwv2 README
2
+ ============
3
+
4
+ Wrapper for the wv2 library: parses Microsoft Word files. So far it fires
5
+ callbacks to a TextHandler, SubDocumentHandler, TableHandler and
6
+ InlineReplacementHandler if any of these are registered with the Parser.
7
+
8
+ Version
9
+ -------
10
+
11
+ 0.6.0
12
+
13
+
14
+ Requirements
15
+ ------------
16
+
17
+ * libwv2
18
+ * tested with ruby 1.8, let us know about other versions!
19
+
20
+
21
+ Install
22
+ -------
23
+
24
+ De-Compress archive and enter its top directory.
25
+ Then type:
26
+
27
+ $ ruby install.rb config [-- --with-wv2-{include,lib,dir}=path_to_wv2]
28
+ $ ruby install.rb setup
29
+ ($ su)
30
+ # ruby install.rb install
31
+
32
+ You can also install files into your favorite directory
33
+ by supplying setup.rb some options. Try "ruby setup.rb --help".
34
+
35
+
36
+ Usage
37
+ -----
38
+
39
+ require 'rwv2'
40
+ require 'rwv2/handlers'
41
+
42
+ class TextHandler < Rwv2::TextHandler
43
+ def run_of_text(text, character_properties)
44
+ puts text
45
+ end
46
+ end
47
+
48
+ parser = Rwv2.create_parser('test/data/test2.doc')
49
+ parser.set_text_handler(TextHandler.new)
50
+ parser.parse
51
+
52
+
53
+ ToDo
54
+ ----
55
+ * Rwv2 does not yet support the full set of Wordfile-Properties.
56
+ Notably missing are:
57
+ - Font Family Name (FFN)
58
+ - Tab Descriptor (TabDescriptor)
59
+ - Word-internal Date and Time (DTTM)
60
+ - Shading Descriptor (SHD)
61
+ - Paragraph Height (PHE)
62
+ - Border Code (BRC)
63
+ - Table Autoformat
64
+ - Autonumbering
65
+ and many more - I'm taking the YAGNI (you aren't gonna need it) approach to
66
+ most of these, if you actually do need one of them or any other feature let
67
+ me know...
68
+
69
+ * wvWare writes errors and warnings and infos directly to std::cerr - this can
70
+ possibly be caught by replacing cerrs buffer. The tricky thing then is to
71
+ raise/warn/ignore according to the buffers content, probably within a
72
+ separate thread...
73
+
74
+ * Some of the testing is unclean, as I've only tested with
75
+ OpenOffice-exported Wordfiles
76
+
77
+ * Documentation
78
+
79
+ License
80
+ -------
81
+
82
+ LGPL
83
+
84
+
85
+ URL: http://download.ywesee.com/ruby/rwv2
86
+ Authors: Rwv2 was written by Hannes Wyss <hwyss@ywesee.com>
87
+ wvWare was written by Caol�n McNamara
88
+ and is currently (22.8.2003) maintained by Dom Lachowicz
89
+ ~
90
+ ~
91
+ ~
92
+
data/README.txt ADDED
@@ -0,0 +1,73 @@
1
+ = rwv2
2
+
3
+ * http://scm.ywesee.com/?p=rwv2/.git;a=summary
4
+
5
+ == DESCRIPTION:
6
+
7
+ Wrapper for the wv2 library: parses Microsoft Word files. So far it fires
8
+ callbacks to a TextHandler, SubDocumentHandler, TableHandler and
9
+ InlineReplacementHandler if any of these are registered with the Parser.
10
+
11
+ == TODO:
12
+
13
+ * Rwv2 does not yet support the full set of Wordfile-Properties.
14
+ Notably missing are:
15
+ - Font Family Name (FFN)
16
+ - Tab Descriptor (TabDescriptor)
17
+ - Word-internal Date and Time (DTTM)
18
+ - Shading Descriptor (SHD)
19
+ - Paragraph Height (PHE)
20
+ - Border Code (BRC)
21
+ - Table Autoformat
22
+ - Autonumbering
23
+ and many more - I'm taking the YAGNI (you aren't gonna need it) approach to
24
+ most of these, if you actually do need one of them or any other feature let
25
+ me know...
26
+
27
+ * wvWare writes errors and warnings and infos directly to std::cerr - this can
28
+ possibly be caught by replacing cerrs buffer. The tricky thing then is to
29
+ raise/warn/ignore according to the buffers content, probably within a
30
+ separate thread...
31
+
32
+ * Some of the testing is unclean, as I've only tested with
33
+ OpenOffice-exported Wordfiles
34
+
35
+ * Documentation
36
+
37
+ == USAGE:
38
+
39
+ require 'rwv2'
40
+ require 'rwv2/handlers'
41
+
42
+ class TextHandler < Rwv2::TextHandler
43
+ def run_of_text(text, character_properties)
44
+ puts text
45
+ end
46
+ end
47
+
48
+ parser = Rwv2.create_parser('test/data/test2.doc')
49
+ parser.set_text_handler(TextHandler.new)
50
+ parser.parse
51
+
52
+ == REQUIREMENTS:
53
+
54
+ * libwv2
55
+ * tested with ruby 1.8, let us know about other versions!
56
+
57
+ == INSTALL:
58
+
59
+ * sudo gem install rwv2
60
+
61
+ == DEVELOPERS:
62
+
63
+ * Masaomi Hatakeyama
64
+ * Zeno R.R. Davatz
65
+ * Hannes Wyss (up to Version 0.6.0)
66
+
67
+ == LICENSE:
68
+
69
+ * GPLv2.1
70
+
71
+ == OTHER
72
+
73
+ * wvWare was written by Caol�n McNamara and is currently (22.8.2003) maintained by Dom Lachowicz
data/Rakefile ADDED
@@ -0,0 +1,28 @@
1
+ # -*- ruby -*-
2
+
3
+ require 'rubygems'
4
+ require 'hoe'
5
+
6
+ # Hoe.plugin :compiler
7
+ # Hoe.plugin :cucumberfeatures
8
+ # Hoe.plugin :gem_prelude_sucks
9
+ # Hoe.plugin :inline
10
+ # Hoe.plugin :inline
11
+ # Hoe.plugin :manifest
12
+ # Hoe.plugin :newgem
13
+ # Hoe.plugin :racc
14
+ # Hoe.plugin :rubyforge
15
+ # Hoe.plugin :rubyforge
16
+ # Hoe.plugin :website
17
+
18
+ Hoe.spec 'rwv2' do
19
+ # HEY! If you fill these out in ~/.hoe_template/Rakefile.erb then
20
+ # you'll never have to touch them again!
21
+ # (delete this comment too, of course)
22
+
23
+ developer('Masaomi Hatakeyama, Zeno R.R. Davatz', 'mhatakeyama@ywesee.com, zdavatz@ywesee.com')
24
+
25
+ # self.rubyforge_name = 'rwv2x' # if different than 'rwv2'
26
+ end
27
+
28
+ # vim: syntax=ruby
data/config.save ADDED
@@ -0,0 +1,12 @@
1
+ bin-dir=$prefix/bin
2
+ site-ruby=$prefix/lib/ruby/site_ruby/1.8
3
+ prefix=/usr
4
+ ruby-path=/usr/bin/ruby18
5
+ make-prog=make
6
+ rb-dir=$site-ruby
7
+ without-ext=no
8
+ ruby-prog=/usr/bin/ruby18
9
+ site-ruby-common=$prefix/lib/ruby/site_ruby
10
+ std-ruby=$prefix/lib/ruby/1.8
11
+ data-dir=$prefix/share
12
+ so-dir=$prefix/lib/ruby/site_ruby/1.8/i686-linux
data/ext/rwv2/MANIFEST ADDED
@@ -0,0 +1,9 @@
1
+ extconf.rb
2
+ rwv2.cpp
3
+ rwv2_handlers.cpp
4
+ rwv2_parser.cpp
5
+ rwv2_properties.cpp
6
+ include/rwv2.h
7
+ include/rwv2_handlers.h
8
+ include/rwv2_parser.h
9
+ include/rwv2_properties.h
data/ext/rwv2/Makefile ADDED
@@ -0,0 +1,150 @@
1
+
2
+ SHELL = /bin/sh
3
+
4
+ #### Start of system configuration section. ####
5
+
6
+ srcdir = /home/zeno/.software/rwv2/ext/rwv2
7
+ topdir = /usr/lib/ruby/1.8/i686-linux
8
+ hdrdir = $(topdir)
9
+ VPATH = $(srcdir):$(topdir):$(hdrdir)
10
+ prefix = $(DESTDIR)/usr
11
+ exec_prefix = $(DESTDIR)/usr
12
+ sitedir = $(DESTDIR)/usr/lib/ruby/site_ruby
13
+ rubylibdir = $(libdir)/ruby/$(ruby_version)
14
+ docdir = $(datarootdir)/doc/$(PACKAGE)
15
+ dvidir = $(docdir)
16
+ datarootdir = $(prefix)/share
17
+ archdir = $(rubylibdir)/$(arch)
18
+ sbindir = $(exec_prefix)/sbin
19
+ psdir = $(docdir)
20
+ localedir = $(datarootdir)/locale
21
+ htmldir = $(docdir)
22
+ datadir = $(DESTDIR)/usr/share
23
+ includedir = $(prefix)/include
24
+ infodir = $(DESTDIR)/usr/share/info
25
+ sysconfdir = $(DESTDIR)/etc
26
+ mandir = $(DESTDIR)/usr/share/man
27
+ libdir = $(exec_prefix)/lib
28
+ sharedstatedir = $(prefix)/com
29
+ oldincludedir = $(DESTDIR)/usr/include
30
+ pdfdir = $(docdir)
31
+ sitearchdir = $(sitelibdir)/$(sitearch)
32
+ localstatedir = $(DESTDIR)/var/lib
33
+ bindir = $(exec_prefix)/bin
34
+ sitelibdir = $(sitedir)/$(ruby_version)
35
+ libexecdir = $(exec_prefix)/libexec
36
+
37
+ CC = i686-pc-linux-gnu-gcc
38
+ LIBRUBY = $(LIBRUBY_SO)
39
+ LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
40
+ LIBRUBYARG_SHARED = -Wl,-R -Wl,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)
41
+ LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static
42
+
43
+ RUBY_EXTCONF_H =
44
+ CFLAGS = -fPIC -Os -march=pentium4 -pipe -fno-strict-aliasing -fPIC
45
+ INCFLAGS = -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I/home/zeno/.software/rwv2/ext/rwv2
46
+ DEFS = -D_FILE_OFFSET_BITS=64
47
+ CPPFLAGS = -I./include -D_FILE_OFFSET_BITS=64
48
+ CXXFLAGS = $(CFLAGS)
49
+ DLDFLAGS = -L. -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -rdynamic -Wl,-export-dynamic
50
+ LDSHARED = $(CC) -shared
51
+ AR = i686-pc-linux-gnu-ar
52
+ EXEEXT =
53
+
54
+ RUBY_INSTALL_NAME = ruby18
55
+ RUBY_SO_NAME = ruby18
56
+ arch = i686-linux
57
+ sitearch = i686-linux
58
+ ruby_version = 1.8
59
+ ruby = /usr/bin/ruby18
60
+ RUBY = $(ruby)
61
+ RM = rm -f
62
+ MAKEDIRS = mkdir -p
63
+ INSTALL = /usr/bin/install -c
64
+ INSTALL_PROG = $(INSTALL) -m 0755
65
+ INSTALL_DATA = $(INSTALL) -m 644
66
+ COPY = cp
67
+
68
+ #### End of system configuration section. ####
69
+
70
+ preload =
71
+
72
+ libpath = . $(libdir) ./lib
73
+ LIBPATH = -L. -L$(libdir) -Wl,-R$(libdir) -L./lib
74
+ DEFFILE =
75
+
76
+ CLEANFILES = mkmf.log
77
+ DISTCLEANFILES =
78
+
79
+ extout =
80
+ extout_prefix =
81
+ target_prefix =
82
+ LOCAL_LIBS =
83
+ LIBS = $(LIBRUBYARG_SHARED) -lwv2 -lstdc++ -lpthread -lrt -ldl -lcrypt -lm -lc
84
+ SRCS = rwv2.cpp rwv2_handlers.cpp rwv2_parser.cpp rwv2_properties.cpp
85
+ OBJS = rwv2.o rwv2_handlers.o rwv2_parser.o rwv2_properties.o
86
+ TARGET = rwv2
87
+ DLLIB = $(TARGET).so
88
+ EXTSTATIC =
89
+ STATIC_LIB =
90
+
91
+ RUBYCOMMONDIR = $(sitedir)$(target_prefix)
92
+ RUBYLIBDIR = $(sitelibdir)$(target_prefix)
93
+ RUBYARCHDIR = $(sitearchdir)$(target_prefix)
94
+
95
+ TARGET_SO = $(DLLIB)
96
+ CLEANLIBS = $(TARGET).so $(TARGET).il? $(TARGET).tds $(TARGET).map
97
+ CLEANOBJS = *.o *.a *.s[ol] *.pdb *.exp *.bak
98
+
99
+ all: $(DLLIB)
100
+ static: $(STATIC_LIB)
101
+
102
+ clean:
103
+ @-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES)
104
+
105
+ distclean: clean
106
+ @-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
107
+ @-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
108
+
109
+ realclean: distclean
110
+ install: install-so install-rb
111
+
112
+ install-so: $(RUBYARCHDIR)
113
+ install-so: $(RUBYARCHDIR)/$(DLLIB)
114
+ $(RUBYARCHDIR)/$(DLLIB): $(RUBYARCHDIR) $(DLLIB)
115
+ $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
116
+ install-rb: pre-install-rb install-rb-default
117
+ install-rb-default: pre-install-rb-default
118
+ pre-install-rb: Makefile
119
+ pre-install-rb-default: Makefile
120
+ $(RUBYARCHDIR):
121
+ $(MAKEDIRS) $@
122
+
123
+ site-install: site-install-so site-install-rb
124
+ site-install-so: install-so
125
+ site-install-rb: install-rb
126
+
127
+ .SUFFIXES: .c .m .cc .cxx .cpp .C .o
128
+
129
+ .cc.o:
130
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
131
+
132
+ .cxx.o:
133
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
134
+
135
+ .cpp.o:
136
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
137
+
138
+ .C.o:
139
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
140
+
141
+ .c.o:
142
+ $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) -c $<
143
+
144
+ $(DLLIB): $(OBJS) Makefile
145
+ @-$(RM) $@
146
+ $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
147
+
148
+
149
+
150
+ $(OBJS): ruby.h defines.h