seawolf2357 commited on
Commit
a1ff6af
·
verified ·
1 Parent(s): 41c16fb
docs/Makefile ADDED
@@ -0,0 +1,195 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line.
5
+ SPHINXOPTS =
6
+ SPHINXBUILD = sphinx-build
7
+ PAPER =
8
+ BUILDDIR = ../build/docs
9
+
10
+ # User-friendly check for sphinx-build
11
+ ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
12
+ $(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
13
+ endif
14
+
15
+ # Internal variables.
16
+ PAPEROPT_a4 = -D latex_paper_size=a4
17
+ PAPEROPT_letter = -D latex_paper_size=letter
18
+ ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
19
+ # the i18n builder cannot share the environment and doctrees with the others
20
+ I18NSPHINXOPTS = -d $(BUILDDIR)/doctrees.i18n $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
21
+
22
+ .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext intl
23
+
24
+ help:
25
+ @echo "Please use \`make <target>' where <target> is one of"
26
+ @echo " html to make standalone HTML files"
27
+ @echo " dirhtml to make HTML files named index.html in directories"
28
+ @echo " singlehtml to make a single large HTML file"
29
+ @echo " pickle to make pickle files"
30
+ @echo " json to make JSON files"
31
+ @echo " htmlhelp to make HTML files and a HTML help project"
32
+ @echo " qthelp to make HTML files and a qthelp project"
33
+ @echo " applehelp to make an Apple Help Book"
34
+ @echo " devhelp to make HTML files and a Devhelp project"
35
+ @echo " epub to make an epub"
36
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
37
+ @echo " latexpdf to make LaTeX files and run them through pdflatex"
38
+ @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
39
+ @echo " text to make text files"
40
+ @echo " man to make manual pages"
41
+ @echo " texinfo to make Texinfo files"
42
+ @echo " info to make Texinfo files and run them through makeinfo"
43
+ @echo " gettext to make PO message catalogs"
44
+ @echo " changes to make an overview of all changed/added/deprecated items"
45
+ @echo " xml to make Docutils-native XML files"
46
+ @echo " pseudoxml to make pseudoxml-XML files for display purposes"
47
+ @echo " linkcheck to check all external links for integrity"
48
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
49
+ @echo " coverage to run coverage check of the documentation (if enabled)"
50
+
51
+ clean:
52
+ rm -rf $(BUILDDIR)/*
53
+
54
+ html:
55
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
56
+ @echo
57
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
58
+
59
+ dirhtml:
60
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
61
+ @echo
62
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
63
+
64
+ singlehtml:
65
+ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
66
+ @echo
67
+ @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
68
+
69
+ pickle:
70
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
71
+ @echo
72
+ @echo "Build finished; now you can process the pickle files."
73
+
74
+ json:
75
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
76
+ @echo
77
+ @echo "Build finished; now you can process the JSON files."
78
+
79
+ htmlhelp:
80
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
81
+ @echo
82
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
83
+ ".hhp project file in $(BUILDDIR)/htmlhelp."
84
+
85
+ qthelp:
86
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
87
+ @echo
88
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
89
+ ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
90
+ @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/METE0R-PROJECT.qhcp"
91
+ @echo "To view the help file:"
92
+ @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/METE0R-PROJECT.qhc"
93
+
94
+ applehelp:
95
+ $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
96
+ @echo
97
+ @echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
98
+ @echo "N.B. You won't be able to view it unless you put it in" \
99
+ "~/Library/Documentation/Help or install it in your application" \
100
+ "bundle."
101
+
102
+ devhelp:
103
+ $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
104
+ @echo
105
+ @echo "Build finished."
106
+ @echo "To view the help file:"
107
+ @echo "# mkdir -p $$HOME/.local/share/devhelp/METE0R-PROJECT"
108
+ @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/METE0R-PROJECT"
109
+ @echo "# devhelp"
110
+
111
+ epub:
112
+ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
113
+ @echo
114
+ @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
115
+
116
+ latex:
117
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
118
+ @echo
119
+ @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
120
+ @echo "Run \`make' in that directory to run these through (pdf)latex" \
121
+ "(use \`make latexpdf' here to do that automatically)."
122
+
123
+ latexpdf:
124
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
125
+ @echo "Running LaTeX files through pdflatex..."
126
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf
127
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
128
+
129
+ latexpdfja:
130
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
131
+ @echo "Running LaTeX files through platex and dvipdfmx..."
132
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
133
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
134
+
135
+ text:
136
+ $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
137
+ @echo
138
+ @echo "Build finished. The text files are in $(BUILDDIR)/text."
139
+
140
+ man:
141
+ $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
142
+ @echo
143
+ @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
144
+
145
+ texinfo:
146
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
147
+ @echo
148
+ @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
149
+ @echo "Run \`make' in that directory to run these through makeinfo" \
150
+ "(use \`make info' here to do that automatically)."
151
+
152
+ info:
153
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
154
+ @echo "Running Texinfo files through makeinfo..."
155
+ make -C $(BUILDDIR)/texinfo info
156
+ @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
157
+
158
+ gettext:
159
+ $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) locale/pot
160
+ @echo
161
+ @echo "Build finished. The message catalogs are in locale."
162
+
163
+ intl:
164
+ sphinx-intl update --pot-dir locale/pot --language=en --language=ko
165
+
166
+ changes:
167
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
168
+ @echo
169
+ @echo "The overview file is in $(BUILDDIR)/changes."
170
+
171
+ linkcheck:
172
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
173
+ @echo
174
+ @echo "Link check complete; look for any errors in the above output " \
175
+ "or in $(BUILDDIR)/linkcheck/output.txt."
176
+
177
+ doctest:
178
+ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
179
+ @echo "Testing of doctests in the sources finished, look at the " \
180
+ "results in $(BUILDDIR)/doctest/output.txt."
181
+
182
+ coverage:
183
+ $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
184
+ @echo "Testing of coverage in the sources finished, look at the " \
185
+ "results in $(BUILDDIR)/coverage/python.txt."
186
+
187
+ xml:
188
+ $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
189
+ @echo
190
+ @echo "Build finished. The XML files are in $(BUILDDIR)/xml."
191
+
192
+ pseudoxml:
193
+ $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
194
+ @echo
195
+ @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
docs/changes.rst ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ CHANGES
2
+ =======
3
+
4
+ 0.1b16 (unreleased)
5
+ -------------------
6
+
7
+ - [CVE-2023-0286] Depends on cryptography >= 40.0.1
8
+ - [CVE-2022-2309] Depends on lxml >= 4.9,2
9
+
10
+
11
+ 0.1b15 (2020-05-30)
12
+ -------------------
13
+
14
+ - Unknown Numbering.Kind value of 6, which is not described in the official
15
+ specification docs, has been added. See #177.
16
+
17
+
18
+ 0.1b14 (2020-05-17)
19
+ -------------------
20
+
21
+ - Fix xmldump_flat for Python 3.8
22
+
23
+
24
+ 0.1b13 (2020-05-17)
25
+ -------------------
26
+
27
+ - Replace docopt with argparse.
28
+ - Workaround for BinData decompression (#175, #176)
29
+
30
+
31
+ 0.1b12 (2019-04-08)
32
+ -------------------
33
+
34
+ - Add Python 3.x support.
35
+ - Add an optional dependency on colorlog for colorful logging
36
+ - Remove dependency on hypua2jamo, resulting no automatic conversion of
37
+ Hanyang PUA to Hangul Jamo
38
+
39
+
40
+ 0.1b11 (2019-03-21)
41
+ -------------------
42
+
43
+ - Remove dependency on PyCrypto.
44
+ - [CVE-2013-7458], [CVE-2018-6594]
45
+ - Add dependency on cryptography.
46
+
47
+
48
+ 0.1b10 (2019-03-21)
49
+ -------------------
50
+
51
+ - Drop support for Python 2.5, 2.6.
52
+ - Prefer 'olefile' to 'OleFileIO_PL'.
53
+ - Fix 'Dutmal' control attribute names.
54
+ - hwp5html: represent path names in bytes
55
+ - Declare some dependencies with environment markers: olefile, lxml, pycrypto
56
+ - Update dependency on hypua2jamo >= 0.4.4
57
+
58
+
59
+ 0.1b9 (2016-02-26)
60
+ ------------------
61
+
62
+ - hwp5html: serveral improvements
63
+ - lang-* classes of span elements and associated css font-family
64
+ - horizontal page layouts
65
+ - Single page layout
66
+ - enhance horizontal positioning of TableControl, GShapeObject
67
+ - distdoc: fix sha1offset (by Hodong Kim)
68
+
69
+ 0.1b8 (2014-11-03)
70
+ ------------------
71
+
72
+ - hwp5view: experimental viewer with webkitgtk+
73
+ - hwp5proc: xml --formats ("flat", "nested")
74
+ - hwp5proc: models --events (experimental)
75
+ - hwp5proc: models --seqno --format (incompatible changes)
76
+ - hwp5proc: find --from-stdin
77
+ - hwp5proc: find --format
78
+ - binmodels: GShapeObjectCaption
79
+ - olestorage: Gsf implementation through python-gi
80
+ - olestorage: use new olefile instead of OleFileIO_PL
81
+
82
+
83
+ 0.1b7 (2014-01-31)
84
+ ------------------
85
+
86
+ - support distribution docs. (based on `Changwoo Ryu's algorithm <https://groups.google.com/forum/#!topic/hwp-foss/d2KL2ypR89Q>`_)
87
+
88
+ 0.1b6 (2014-01-20)
89
+ ------------------
90
+
91
+ - binmodel: change type of TableCell dimensions to signed integer
92
+ - hwp5odt: fix NCName for style:name (close #140)
93
+ - hwp5proc: fix with-statement in 'xml' command for Python 2.5
94
+ - hwp5proc: mark 'xml' command experimental
95
+
96
+ 0.1b5 (2013-10-29)
97
+ ------------------
98
+
99
+ - close #134
100
+ - hwp5html generates .xhtml instead of .html
101
+ - hwp5proc: new '--no-xml-decl' option
102
+ - hwp5odt: fix to not use '/' in resulting style names
103
+ - hwp5proc: IdMappings.memoshape only if version > 5.0.1.6
104
+
105
+ 0.1b4 (2013-07-03)
106
+ ------------------
107
+
108
+ - hwp5proc records: new option '--raw-header'
109
+ - hwp5odt: new '--document' option produces single ODT XML files (``*.fodt``)
110
+ - hwp5odt: new '--styles', '--content' option produces styles/content XML files
111
+ - ODT XSL files restructured
112
+
113
+ 0.1b3 (2013-06-18)
114
+ ------------------
115
+
116
+ - Fix IdMappings (#125)
117
+ - hwp5proc records: new option '--raw-payload'
118
+ - hwp5proc xml: FlagsType as xsd:hexBinary
119
+ - Various binary/xml models changes
120
+
121
+ 0.1b2 (2013-06-08)
122
+ ------------------
123
+
124
+ - Add PyPy support
docs/conf.py ADDED
@@ -0,0 +1,265 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # pyhwp documentation build configuration file, created by
4
+ # sphinx-quickstart on Sat Mar 10 15:30:24 2012.
5
+ #
6
+ # This file is execfile()d with the current directory set to its containing dir.
7
+ #
8
+ # Note that not all possible configuration values are present in this
9
+ # autogenerated file.
10
+ #
11
+ # All configuration values have a default; values that are commented out
12
+ # serve to show the default.
13
+
14
+ import sys, os
15
+ import os.path
16
+
17
+ # If extensions (or modules to document with autodoc) are in another directory,
18
+ # add these directories to sys.path here. If the directory is relative to the
19
+ # documentation root, use os.path.abspath to make it absolute, like shown here.
20
+ sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__),
21
+ '..', 'src')))
22
+
23
+ # -- General configuration -----------------------------------------------------
24
+
25
+ # If your documentation needs a minimal Sphinx version, state it here.
26
+ #needs_sphinx = '1.0'
27
+
28
+ # Add any Sphinx extension module names here, as strings. They can be extensions
29
+ # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
30
+ extensions = [
31
+ 'sphinx.ext.autodoc',
32
+ 'sphinx.ext.coverage',
33
+ 'sphinxarg.ext',
34
+ ]
35
+
36
+ # Add any paths that contain templates here, relative to this directory.
37
+ templates_path = ['templates']
38
+ locale_dirs = ['translated']
39
+
40
+ # The suffix of source filenames.
41
+ source_suffix = '.rst'
42
+
43
+ # The encoding of source files.
44
+ #source_encoding = 'utf-8-sig'
45
+
46
+ # The master toctree document.
47
+ master_doc = 'index'
48
+
49
+ # General information about the project.
50
+ project = u'pyhwp'
51
+ copyright = u'2012, mete0r'
52
+
53
+ # The version info for the project you're documenting, acts as replacement for
54
+ # |version| and |release|, also used in various other places throughout the
55
+ # built documents.
56
+ #
57
+ # The full version, including alpha/beta/rc tags.
58
+ from hwp5 import __version__ as hwp5_release
59
+ release = hwp5_release
60
+ if release.endswith('-dirty'):
61
+ release = release[:-len('-dirty')]
62
+
63
+ # The short X.Y version.
64
+ import re
65
+ version_match = re.match(r'([0-9]+\.[0-9]+).*', release)
66
+ if version_match:
67
+ version = version_match.group(1)
68
+ else:
69
+ version = 'develop'
70
+
71
+ # The language for content autogenerated by Sphinx. Refer to documentation
72
+ # for a list of supported languages.
73
+ #language = None
74
+
75
+ # There are two options for replacing |today|: either, you set today to some
76
+ # non-false value, then it is used:
77
+ #today = ''
78
+ # Else, today_fmt is used as the format for a strftime call.
79
+ #today_fmt = '%B %d, %Y'
80
+
81
+ # List of patterns, relative to source directory, that match files and
82
+ # directories to ignore when looking for source files.
83
+ exclude_patterns = ['.build']
84
+
85
+ # The reST default role (used for this markup: `text`) to use for all documents.
86
+ #default_role = None
87
+
88
+ # If true, '()' will be appended to :func: etc. cross-reference text.
89
+ #add_function_parentheses = True
90
+
91
+ # If true, the current module name will be prepended to all description
92
+ # unit titles (such as .. function::).
93
+ #add_module_names = True
94
+
95
+ # If true, sectionauthor and moduleauthor directives will be shown in the
96
+ # output. They are ignored by default.
97
+ #show_authors = False
98
+
99
+ # The name of the Pygments (syntax highlighting) style to use.
100
+ pygments_style = 'sphinx'
101
+
102
+ # A list of ignored prefixes for module index sorting.
103
+ #modindex_common_prefix = []
104
+
105
+
106
+ # -- Options for HTML output ---------------------------------------------------
107
+
108
+ # The theme to use for HTML and HTML Help pages. See the documentation for
109
+ # a list of builtin themes.
110
+ html_theme = 'default'
111
+
112
+ # Theme options are theme-specific and customize the look and feel of a theme
113
+ # further. For a list of options available for each theme, see the
114
+ # documentation.
115
+ #html_theme_options = {}
116
+
117
+ # Add any paths that contain custom themes here, relative to this directory.
118
+ #html_theme_path = []
119
+
120
+ # The name for this set of Sphinx documents. If None, it defaults to
121
+ # "<project> v<release> documentation".
122
+ #html_title = None
123
+
124
+ # A shorter title for the navigation bar. Default is the same as html_title.
125
+ #html_short_title = None
126
+
127
+ # The name of an image file (relative to this directory) to place at the top
128
+ # of the sidebar.
129
+ #html_logo = None
130
+
131
+ # The name of an image file (within the static path) to use as favicon of the
132
+ # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
133
+ # pixels large.
134
+ #html_favicon = None
135
+
136
+ # Add any paths that contain custom static files (such as style sheets) here,
137
+ # relative to this directory. They are copied after the builtin static files,
138
+ # so a file named "default.css" will overwrite the builtin "default.css".
139
+ html_static_path = ['static']
140
+
141
+ # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
142
+ # using the given strftime format.
143
+ #html_last_updated_fmt = '%b %d, %Y'
144
+
145
+ # If true, SmartyPants will be used to convert quotes and dashes to
146
+ # typographically correct entities.
147
+ #html_use_smartypants = True
148
+
149
+ # Custom sidebar templates, maps document names to template names.
150
+ #html_sidebars = {}
151
+
152
+ # Additional templates that should be rendered to pages, maps page names to
153
+ # template names.
154
+ #html_additional_pages = {}
155
+
156
+ # If false, no module index is generated.
157
+ #html_domain_indices = True
158
+
159
+ # If false, no index is generated.
160
+ #html_use_index = True
161
+
162
+ # If true, the index is split into individual pages for each letter.
163
+ #html_split_index = False
164
+
165
+ # If true, links to the reST sources are added to the pages.
166
+ #html_show_sourcelink = True
167
+
168
+ # If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
169
+ #html_show_sphinx = True
170
+
171
+ # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
172
+ #html_show_copyright = True
173
+
174
+ # If true, an OpenSearch description file will be output, and all pages will
175
+ # contain a <link> tag referring to it. The value of this option must be the
176
+ # base URL from which the finished HTML is served.
177
+ #html_use_opensearch = ''
178
+
179
+ # This is the file name suffix for HTML files (e.g. ".xhtml").
180
+ #html_file_suffix = None
181
+
182
+ # Output file base name for HTML help builder.
183
+ htmlhelp_basename = 'pyhwpdoc'
184
+
185
+
186
+ # -- Options for LaTeX output --------------------------------------------------
187
+
188
+ latex_elements = {
189
+ # The paper size ('letterpaper' or 'a4paper').
190
+ 'papersize': 'a4paper',
191
+
192
+ # The font size ('10pt', '11pt' or '12pt').
193
+ #'pointsize': '10pt',
194
+
195
+ # Additional stuff for the LaTeX preamble.
196
+ 'preamble': '\\usepackage{kotex}',
197
+
198
+ # Workaround for latex babel language; there are no korean support currently
199
+ # Just force it to english documentclass
200
+ # see https://bitbucket.org/birkenfeld/sphinx/src/
201
+ # 87eb42dafb5c172e085893d57224fa58e3df80e8/sphinx/writers/latex.py
202
+ # ?at=default#cl-238
203
+ 'extraclassoptions': 'english',
204
+ }
205
+
206
+ # Grouping the document tree into LaTeX files. List of tuples
207
+ # (source start file, target name, title, author, documentclass [howto/manual]).
208
+ latex_documents = [
209
+ ('index', 'pyhwp.tex', u'pyhwp Documentation',
210
+ u'mete0r', 'manual'),
211
+ ]
212
+
213
+ # The name of an image file (relative to this directory) to place at the top of
214
+ # the title page.
215
+ #latex_logo = None
216
+
217
+ # For "manual" documents, if this is true, then toplevel headings are parts,
218
+ # not chapters.
219
+ #latex_use_parts = False
220
+
221
+ # If true, show page references after internal links.
222
+ #latex_show_pagerefs = False
223
+
224
+ # If true, show URL addresses after external links.
225
+ #latex_show_urls = False
226
+
227
+ # Documents to append as an appendix to all manuals.
228
+ #latex_appendices = []
229
+
230
+ # If false, no module index is generated.
231
+ #latex_domain_indices = True
232
+
233
+
234
+ # -- Options for manual page output --------------------------------------------
235
+
236
+ # One entry per manual page. List of tuples
237
+ # (source start file, name, description, authors, manual section).
238
+ man_pages = [
239
+ ('index', 'pyhwp', u'pyhwp Documentation',
240
+ [u'mete0r'], 1)
241
+ ]
242
+
243
+ # If true, show URL addresses after external links.
244
+ #man_show_urls = False
245
+
246
+
247
+ # -- Options for Texinfo output ------------------------------------------------
248
+
249
+ # Grouping the document tree into Texinfo files. List of tuples
250
+ # (source start file, target name, title, author,
251
+ # dir menu entry, description, category)
252
+ texinfo_documents = [
253
+ ('index', 'pyhwp', u'pyhwp Documentation',
254
+ u'mete0r', 'pyhwp', 'One line description of project.',
255
+ 'Miscellaneous'),
256
+ ]
257
+
258
+ # Documents to append as an appendix to all manuals.
259
+ #texinfo_appendices = []
260
+
261
+ # If false, no module index is generated.
262
+ #texinfo_domain_indices = True
263
+
264
+ # How to display URL addresses: 'footnote', 'no', or 'inline'.
265
+ #texinfo_show_urls = 'footnote'
docs/converters.rst ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Converters (*Experimental*)
2
+ ===========================
3
+
4
+ Convert HWPv5 documents into other document formats.
5
+
6
+ Requirements
7
+ ------------
8
+ The conversions are performed with `XSLT <http://www.w3.org/TR/xslt>`_
9
+ internally and verified with `Relax NG <http://relaxng.org/>`_ if possible.
10
+
11
+ For these processing, the converters requires
12
+ `lxml <http://pypi.python.org/pypi/lxml>`_ (`homepage <http://lxml.de>`_) or
13
+ `libxml2 <http://www.xmlsoft.org/>`_'s
14
+ `xsltproc <http://xmlsoft.org/XSLT/xsltproc2.html>`_ /
15
+ `xmllint <http://infohost.nmt.edu/tcc/help/xml/lint.html>`_ programs.
16
+
17
+ For lxml installation::
18
+
19
+ pip install --user lxml # install to user directory
20
+ pip install lxml # install with virtualenv
21
+
22
+ or see `Installing lxml <http://lxml.de/installation.html>`_.
23
+
24
+ (Currently conversions with lxml 2.3.5 is tested and verified to be working.
25
+ lxml versions below that may work too, but those are not tested.)
26
+
27
+ For ``xsltproc`` / ``xmllint`` installation::
28
+
29
+ sudo apt-get install xsltproc libxml2-utils # Debian/Ubuntu
30
+
31
+ Optional environment variables ``PYHWP_XSLTPROC`` and ``PYHWP_XMLLINT``
32
+ specifies the paths of the each programs. (If not set, ``xsltproc`` and/or
33
+ ``xmllint`` should be in the one of the directories specified in ``PATH``.)
34
+
35
+ ``hwp5odt``: ODT conversion
36
+ ---------------------------
37
+
38
+ .. argparse::
39
+ :module: hwp5.hwp5odt
40
+ :func: main_argparser
41
+ :prog: hwp5odt
42
+
43
+ ``hwp5html``: HTML conversion
44
+ -----------------------------
45
+
46
+ .. argparse::
47
+ :module: hwp5.hwp5html
48
+ :func: main_argparser
49
+ :prog: hwp5html
50
+
51
+ ``hwp5txt``: text conversion
52
+ ----------------------------
53
+
54
+ .. argparse::
55
+ :module: hwp5.hwp5txt
56
+ :func: main_argparser
57
+ :prog: hwp5txt
docs/hacking/directory-layout.rst ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ================
2
+ Directory Layout
3
+ ================
4
+
5
+ ::
6
+
7
+ pyhwp Project Root
8
+ |
9
+ +-- pyhwp/ Source packages root
10
+ | |
11
+ | +-- hwp5/ Source package
12
+ |
13
+ +-- pyhwp-tests/ Test packages root
14
+ | |
15
+ | +-- hwp5_tests/ Test package
16
+ |
17
+ +-- docs/ Documentations, i.e. this document!
18
+ |
19
+ +-- bin/ hwp5proc, hwp5odt, build/testing scripts, etc.,
20
+ |
21
+ +-- etc/ development configuration files
22
+ |
23
+ +-- misc/ development configuration templates / helper scripts
24
+ |
25
+ +-- tools/ development helper packages
26
+ |
27
+ .
28
+ . (various directories)
29
+ .
30
+
31
+ After the initial :ref:`invocation of buildout <invoke-buildout>` completes
32
+ successfully, your directory will have a few more new generated directories,
33
+ e.g. :file:`bin/`, :file:`develop-eggs/`. These are the standard buildout
34
+ directories, which we will not cover the every details of them here. For general
35
+ information, see `Directory Structure of a Buildout
36
+ <http://www.buildout.org/docs/dirstruct.html>`_.
37
+
38
+ Followings are ``pyhwp`` specific informations:
39
+
40
+ .. include:: directory-layout/root.rst
41
+
42
+ .. include:: directory-layout/bin.rst
43
+
44
+ .. include:: directory-layout/pyhwp.rst
45
+
46
+ .. include:: directory-layout/pyhwp-tests.rst
47
+
48
+ .. include:: directory-layout/tools.rst
docs/hacking/directory-layout/bin.rst ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ``bin/`` - Buildout generated scripts
2
+ -------------------------------------
3
+
4
+ This directory will be populated with scripts generated from the ``pyhwp``
5
+ package and the various development helper packages/scripts.
6
+
7
+ ``pyhwp`` generate following scripts:
8
+
9
+ :program:`hwp5proc`
10
+ HWP format version 5 files processor. See :doc:`../hwp5proc`.
11
+ :program:`hwp5odt`, :program:`hwp5txt`, :program:`hwp5html`
12
+ Experimental converters. See :doc:`../converters`.
13
+
14
+ Development helper scripts (incomplete):
15
+
16
+ :program:`buildout`
17
+ (Re)generate the development environment.
18
+ :program:`test-core`
19
+ Run a quick unit test.
docs/hacking/directory-layout/root.rst ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ``/`` - project root directory
2
+ ------------------------------
3
+
4
+ The project root directory contains project configuration files.
5
+
6
+ :file:`buildout.cfg`
7
+ `buildout <http://www.buildout.org>`_ configuration file.
8
+
9
+ :file:`setup.py`, :file:`setup.cfg`
10
+ ``pyhwp`` setup files.
11
+
12
+ :file:`tox.ini`
13
+ `tox <http://tox.testrun.org>`_ configuration file. This file will be
14
+ automatically generated from :file:`tox.ini.in` by :program:`bin/buildout`.
15
+ See ``[tox]`` parts in :file:`buildout.cfg`.
16
+
17
+ :file:`tox.ini.in`
18
+ tox_ configuration template file. If you want to modify tox_ configuration,
19
+ edit this file and run :program:`bin/buildout` again.
docs/hacking/directory-layout/tools.rst ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ``tools/`` - Development helper packages
2
+ ----------------------------------------
3
+
4
+ ``discover.python/``
5
+ ``discover.lxml/``
6
+ ``discover.jre/``
7
+ ``discover.lo/``
8
+ ``install.jython/``
9
+
10
+ Discover multiple python versions, lxml, JRE, Libreoffice to use in the
11
+ developement environment. Provides zc.buildout recipes.
12
+
13
+ ``xsltest/``
14
+
15
+ an XSLT test runner.
16
+
17
+ ``oxt.tool/``
18
+
19
+ Build and test .oxt packages with the LibreOffice.
docs/hacking/hack-n-test.rst ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ===========
2
+ Hack & Test
3
+ ===========
4
+
5
+ If you modify some modules in ``hwp5`` package in the ``pyhwp/`` directory, you
6
+ can test the modification with the ``hwp5proc`` script in the ``bin/``
7
+ directory.
8
+
9
+ You can test the ``hwp5`` package by executing ``bin/test-core``, but it's just
10
+ a quick test and not a complete test suite. If you want to run a full-blown
11
+ test suite, run ``tox``, which tries to test ``pyhwp`` in various
12
+ `virtualenv <http://pypi.python.org/pypi/virtualenv>`_-isolated python
13
+ platforms, including Python 2.5, 2.6, 2.7, Jython 2.5 and PyPy.
14
+
15
+ ::
16
+
17
+ $ bin/buildout
18
+
19
+ (...)
20
+
21
+ $ vim pyhwp/hwp5/proc/__init__.py
22
+
23
+ (HACK HACK HACK)
24
+
25
+ $ bin/test-core
26
+
27
+ $ bin/hwp5proc ...
28
+
29
+ $ bin/tox
docs/hacking/index.rst ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Hacking Guide
2
+ =============
3
+
4
+ Standard procedures to hacking on ``pyhwp``.
5
+
6
+ Contents:
7
+
8
+ .. toctree::
9
+ :maxdepth: 2
10
+
11
+ setup-env
12
+ directory-layout
13
+ hack-n-test
docs/hacking/setup-env.rst ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ =============================
2
+ Setup development environment
3
+ =============================
4
+
5
+ 1. Install prerequisites
6
+ ------------------------
7
+
8
+ * CPython 2.7
9
+ * `virtualenv`
10
+ * GNU `Make`
11
+
12
+
13
+ 2. Clone the source repository
14
+ ------------------------------
15
+
16
+ ::
17
+
18
+ $ git clone https://github.com/mete0r/pyhwp.git
19
+
20
+ 3. Initialize the environment
21
+ ------------------------------
22
+
23
+ Bootstrap development environment::
24
+
25
+ $ make bootstrap
26
+ $ . bin/activate
27
+
28
+ 4. Check basic stuffs
29
+ ---------------------
30
+
31
+ Run `hwp5proc`::
32
+
33
+ $ hwp5proc --help
34
+
35
+ To run tests::
36
+
37
+ $ tox
docs/hwp5.rst ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ package hwp5
2
+ ************
3
+
4
+ module :mod:`hwp5.filestructure`
5
+ ================================
6
+ .. automodule:: hwp5.filestructure
7
+ :members:
8
+
9
+ module :mod:`hwp5.recordstream`
10
+ ===============================
11
+ .. automodule:: hwp5.recordstream
12
+ :members:
13
+
14
+ module :mod:`hwp5.binmodel`
15
+ ===========================
16
+ .. automodule:: hwp5.binmodel
17
+ :members:
18
+
19
+ module :mod:`hwp5.xmlmodel`
20
+ ===========================
21
+ .. automodule:: hwp5.xmlmodel
22
+ :members:
23
+
24
+ module :mod:`hwp5.xmlformat`
25
+ ============================
26
+ .. automodule:: hwp5.xmlformat
27
+ :members:
28
+
29
+ module :mod:`hwp5.storage`
30
+ ==========================
31
+ .. automodule:: hwp5.storage
32
+ :members:
33
+
34
+ module :mod:`hwp5.dataio`
35
+ =========================
36
+ .. automodule:: hwp5.dataio
37
+ :members:
38
+
39
+ module :mod:`hwp5.tagids`
40
+ =========================
41
+ .. automodule:: hwp5.tagids
42
+ :members:
43
+
44
+ module :mod:`hwp5.plat`
45
+ ===========================
46
+ .. automodule:: hwp5.plat
47
+ :members:
48
+
49
+ module :mod:`hwp5.importhelper`
50
+ ===============================
51
+ .. automodule:: hwp5.importhelper
52
+ :members:
53
+
54
+ module :mod:`hwp5.treeop`
55
+ =========================
56
+ .. automodule:: hwp5.treeop
57
+ :members:
58
+
59
+ module :mod:`hwp5.utils`
60
+ =========================
61
+ .. automodule:: hwp5.utils
62
+ :members:
docs/hwp5proc.rst ADDED
@@ -0,0 +1,252 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ``hwp5proc``: HWPv5 processor
2
+ =============================
3
+
4
+ .. argparse::
5
+ :module: hwp5.hwp5proc
6
+ :func: main_argparser
7
+ :prog: hwp5proc
8
+ :nosubcommands:
9
+
10
+ Subcommands
11
+ ===========
12
+
13
+ version
14
+ -------
15
+
16
+ Print the file format version of .hwp files.
17
+
18
+ .. argparse::
19
+ :module: hwp5.hwp5proc
20
+ :func: main_argparser
21
+ :prog: hwp5proc
22
+ :path: version
23
+
24
+
25
+ header
26
+ ------
27
+
28
+ Print file headers of .hwp files.
29
+
30
+ .. argparse::
31
+ :module: hwp5.hwp5proc
32
+ :func: main_argparser
33
+ :prog: hwp5proc
34
+ :path: header
35
+
36
+
37
+ summaryinfo
38
+ -----------
39
+
40
+ Print summary informations of .hwp files.
41
+
42
+ .. argparse::
43
+ :module: hwp5.hwp5proc
44
+ :func: main_argparser
45
+ :prog: hwp5proc
46
+ :path: summaryinfo
47
+
48
+
49
+ ls
50
+ --
51
+ List streams in .hwp files.
52
+
53
+ .. argparse::
54
+ :module: hwp5.hwp5proc
55
+ :func: main_argparser
56
+ :prog: hwp5proc
57
+ :path: ls
58
+
59
+
60
+ cat
61
+ ---
62
+
63
+ Extract out internal streams of .hwp files
64
+
65
+ .. argparse::
66
+ :module: hwp5.hwp5proc
67
+ :func: main_argparser
68
+ :prog: hwp5proc
69
+ :path: cat
70
+
71
+ Example::
72
+
73
+ $ hwp5proc cat samples/sample-5017.hwp BinData/BIN0002.jpg | file -
74
+
75
+ $ hwp5proc cat samples/sample-5017.hwp BinData/BIN0002.jpg > BIN0002.jpg
76
+
77
+ $ hwp5proc cat samples/sample-5017.hwp PrvText | iconv -f utf-16le -t utf-8
78
+
79
+ $ hwp5proc cat --vstreams samples/sample-5017.hwp PrvText.utf8
80
+
81
+ $ hwp5proc cat --vstreams samples/sample-5017.hwp FileHeader.txt
82
+
83
+ ccl: 0
84
+ cert_drm: 0
85
+ cert_encrypted: 0
86
+ cert_signature_extra: 0
87
+ cert_signed: 0
88
+ compressed: 1
89
+ distributable: 0
90
+ drm: 0
91
+ history: 0
92
+ password: 0
93
+ script: 0
94
+ signature: HWP Document File
95
+ version: 5.0.1.7
96
+ xmltemplate_storage: 0
97
+
98
+ unpack
99
+ ------
100
+
101
+ Extract out internal streams of .hwp files into a directory.
102
+
103
+ .. argparse::
104
+ :module: hwp5.hwp5proc
105
+ :func: main_argparser
106
+ :prog: hwp5proc
107
+ :path: unpack
108
+
109
+ Example::
110
+
111
+ $ hwp5proc unpack samples/sample-5017.hwp
112
+ $ ls sample-5017
113
+
114
+ Example::
115
+
116
+ $ hwp5proc unpack --vstreams samples/sample-5017.hwp
117
+ $ cat sample-5017/PrvText.utf8
118
+
119
+ records
120
+ -------
121
+
122
+ Print the record structure of .hwp file record streams.
123
+
124
+ .. argparse::
125
+ :module: hwp5.hwp5proc
126
+ :func: main_argparser
127
+ :prog: hwp5proc
128
+ :path: records
129
+
130
+ Example::
131
+
132
+ $ hwp5proc records samples/sample-5017.hwp DocInfo
133
+
134
+ Example::
135
+
136
+ $ hwp5proc records samples/sample-5017.hwp DocInfo --range=0-2
137
+
138
+ If neither <hwp5file> nor <record-stream> is specified, the record stream is
139
+ read from the standard input with an assumption that the input is in the format
140
+ version specified by -V option.
141
+
142
+ Example::
143
+
144
+ $ hwp5proc records --raw samples/sample-5017.hwp DocInfo --range=0-2 > tmp.rec
145
+ $ hwp5proc records < tmp.rec
146
+
147
+ models
148
+ -------
149
+
150
+ Print parsed binary models of .hwp file record streams.
151
+
152
+ .. argparse::
153
+ :module: hwp5.hwp5proc
154
+ :func: main_argparser
155
+ :prog: hwp5proc
156
+ :path: models
157
+
158
+ Example::
159
+
160
+ $ hwp5proc models samples/sample-5017.hwp DocInfo
161
+ $ hwp5proc models samples/sample-5017.hwp BodyText/Section0
162
+
163
+ $ hwp5proc models samples/sample-5017.hwp docinfo
164
+ $ hwp5proc models samples/sample-5017.hwp bodytext/0
165
+
166
+ Example::
167
+
168
+ $ hwp5proc models --simple samples/sample-5017.hwp bodytext/0
169
+ $ hwp5proc models --format='%(level)s %(tagname)s\\n' \\
170
+ samples/sample-5017.hwp bodytext/0
171
+
172
+ Example::
173
+
174
+ $ hwp5proc models --simple --treegroup=1 samples/sample-5017.hwp bodytext/0
175
+ $ hwp5proc models --simple --seqno=4 samples/sample-5017.hwp bodytext/0
176
+
177
+ If neither <hwp5file> nor <record-stream> is specified, the record stream is
178
+ read from the standard input with an assumption that the input is in the format
179
+ version specified by -V option.
180
+
181
+ Example::
182
+
183
+ $ hwp5proc cat samples/sample-5017.hwp BodyText/Section0 > Section0.bin
184
+ $ hwp5proc models -V 5.0.1.7 < Section0.bin
185
+
186
+ find
187
+ ----
188
+
189
+ Find record models with specified predicates.
190
+
191
+ .. argparse::
192
+ :module: hwp5.hwp5proc
193
+ :func: main_argparser
194
+ :prog: hwp5proc
195
+ :path: find
196
+
197
+ Example: Find paragraphs::
198
+
199
+ $ hwp5proc find --model=Paragraph samples/*.hwp
200
+ $ hwp5proc find --tag=HWPTAG_PARA_TEXT samples/*.hwp
201
+ $ hwp5proc find --tag=66 samples/*.hwp
202
+
203
+ Example: Find and dump records of ``HWPTAG_LIST_HEADER`` which is parsed
204
+ incompletely::
205
+
206
+ $ hwp5proc find --tag=HWPTAG_LIST_HEADER --incomplete --dump samples/*.hwp
207
+
208
+ xml
209
+ ---
210
+
211
+ Transform .hwp files into an XML.
212
+
213
+ .. argparse::
214
+ :module: hwp5.hwp5proc
215
+ :func: main_argparser
216
+ :prog: hwp5proc
217
+ :path: xml
218
+
219
+ Example::
220
+
221
+ $ hwp5proc xml samples/sample-5017.hwp > sample-5017.xml
222
+ $ xmllint --format sample-5017.xml
223
+
224
+ With ``--embedbin`` option, you can embed base64-encoded ``BinData/*`` files in
225
+ the output XML.
226
+
227
+ Example::
228
+
229
+ $ hwp5proc xml --embedbin samples/sample-5017.hwp > sample-5017.xml
230
+ $ xmllint --format sample-5017.xml
231
+
232
+ rawunz
233
+ ------
234
+
235
+ Deflate an headerless zlib-compressed stream.
236
+
237
+ .. argparse::
238
+ :module: hwp5.hwp5proc
239
+ :func: main_argparser
240
+ :prog: hwp5proc
241
+ :path: rawunz
242
+
243
+ diststream
244
+ ----------
245
+
246
+ Decode a distribute document stream.
247
+
248
+ .. argparse::
249
+ :module: hwp5.hwp5proc
250
+ :func: main_argparser
251
+ :prog: hwp5proc
252
+ :path: diststream
docs/index.rst ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. pyhwp documentation master file, created by
2
+ sphinx-quickstart on Sat Mar 10 15:30:24 2012.
3
+ You can adapt this file completely to your liking, but it should at least
4
+ contain the root `toctree` directive.
5
+
6
+ Welcome to pyhwp's documentation!
7
+ =================================
8
+
9
+ Contents:
10
+
11
+ .. toctree::
12
+ :maxdepth: 2
13
+
14
+ intro
15
+ hwp5proc
16
+ converters
17
+ hacking/index
18
+ changes
19
+
20
+
21
+
22
+ Indices and tables
23
+ ==================
24
+
25
+ * :ref:`genindex`
26
+ * :ref:`modindex`
27
+ * :ref:`search`
28
+
docs/intro.rst ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ pyhwp
2
+ =====
3
+
4
+ HWP Document Format v5 parser & processor.
5
+
6
+ Features
7
+ --------
8
+
9
+ - Analyze and extract internal streams out from a HWP Document Format v5 file
10
+ - (*Experimental*) Conversion to OpenDocument format (.odt) or plain text (.txt)
11
+
12
+ Installation
13
+ ------------
14
+
15
+ from `pypi <http://pypi.org/project/pyhwp>`_::
16
+
17
+ virtualenv pyhwp
18
+ pyhwp/bin/pip install --pre pyhwp # Install pyhwp into a virtualenv directory
19
+
20
+ Or::
21
+
22
+ pip install --user --pre pyhwp # Install pyhwp into user's home directory
23
+
24
+ Requirements
25
+ ------------
26
+
27
+ - Python 2.7, 3.5, 3.6, 3.7 or 3.8
28
+ - `cryptography <https://pypi.org/project/cryptography>`_
29
+ - `lxml <https://pypi.org/project/lxml>`_
30
+ - `olefile <https://pypi.org/project/olefile>`_
31
+
32
+ Documentation & Development
33
+ ---------------------------
34
+
35
+ - Documentation: `https://pyhwp.readthedocs.io <https://pyhwp.readthedocs.io>`_ [`한국/조선어 <https://pyhwp.readthedocs.io/ko/latest>`_]
36
+ - Distribution: `https://pypi.org/project/pyhwp/ <https://pypi.org/project/pyhwp/>`_
37
+ - Development: `https://github.com/mete0r/pyhwp <https://github.com/mete0r/pyhwp>`_
38
+ - Issue tracker: `https://github.com/mete0r/pyhwp/issues <https://github.com/mete0r/pyhwp/issues>`_
39
+ - Feedbacks & contributions are welcome!
40
+
41
+ Contributors
42
+ ------------
43
+
44
+ Maintainer: `mete0r <https://github.com/mete0r>`_
45
+
46
+ License
47
+ -------
48
+
49
+ Copyright (C) 2010-2023 mete0r <https://github.com/mete0r>
50
+
51
+ .. image:: http://www.gnu.org/graphics/agplv3-155x51.png
52
+
53
+ `GNU Affero General Public License v3.0 <http://www.gnu.org/licenses/agpl-3.0.html>`_
54
+ `(text version) <http://www.gnu.org/licenses/agpl-3.0.txt>`_
55
+
56
+ This program is free software: you can redistribute it and/or modify
57
+ it under the terms of the GNU Affero General Public License as published by
58
+ the Free Software Foundation, either version 3 of the License, or
59
+ (at your option) any later version.
60
+
61
+ This program is distributed in the hope that it will be useful,
62
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
63
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
64
+ GNU Affero General Public License for more details.
65
+
66
+ You should have received a copy of the GNU Affero General Public License
67
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
68
+
69
+ Disclosure
70
+ ----------
71
+
72
+ This program has been developed in accordance with a public document named "HWP
73
+ Binary Specification 1.1" published by `Hancom Inc. <http://www.hancom.co.kr>`_
docs/translated/en/LC_MESSAGES/converters.po ADDED
@@ -0,0 +1,127 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) 2012, mete0r
3
+ # This file is distributed under the same license as the pyhwp package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: pyhwp 0.1\n"
10
+ "Report-Msgid-Bugs-To: \n"
11
+ "POT-Creation-Date: 2013-10-29 04:47\n"
12
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
+ "Language-Team: LANGUAGE <LL@li.org>\n"
15
+ "Language: en\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=UTF-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+
20
+ # eafb3e22bc3740cb9f41f4f2df9e7800
21
+ #: ../../converters.rst:2
22
+ msgid "Converters (*Experimental*)"
23
+ msgstr ""
24
+
25
+ # 6b4bc6aa159144d4bb3a51e48e5909da
26
+ #: ../../converters.rst:4
27
+ msgid "Convert HWPv5 documents into other document formats."
28
+ msgstr ""
29
+
30
+ # 5d38e3678e074ca2b766734ae5247217
31
+ #: ../../converters.rst:7
32
+ msgid "Requirements"
33
+ msgstr ""
34
+
35
+ # 67f8cb2c410f45559ea36edddc5f3bd6
36
+ #: ../../converters.rst:8
37
+ msgid ""
38
+ "The conversions are performed with `XSLT <http://www.w3.org/TR/xslt>`_ "
39
+ "internally and verified with `Relax NG <http://relaxng.org/>`_ if possible."
40
+ msgstr ""
41
+
42
+ # 45e757bc017d449a95192776960d8b5d
43
+ #: ../../converters.rst:11
44
+ msgid ""
45
+ "For these processing, the converters requires `lxml <http://pypi.python.org/"
46
+ "pypi/lxml>`_ (`homepage <http://lxml.de>`_) or `libxml2 <http://www.xmlsoft."
47
+ "org/>`_'s `xsltproc <http://xmlsoft.org/XSLT/xsltproc2.html>`_ / `xmllint "
48
+ "<http://infohost.nmt.edu/tcc/help/xml/lint.html>`_ programs."
49
+ msgstr ""
50
+
51
+ # 4bbc12c733e64021b1e57753c362e03f
52
+ #: ../../converters.rst:17
53
+ msgid "For lxml installation::"
54
+ msgstr ""
55
+
56
+ # 87c456830c3f40b0b0922d11b45e7f7a
57
+ #: ../../converters.rst:22
58
+ msgid "or see `Installing lxml <http://lxml.de/installation.html>`_."
59
+ msgstr ""
60
+
61
+ # 279b07aa798c48238be60111a825bd7a
62
+ #: ../../converters.rst:24
63
+ msgid ""
64
+ "(Currently conversions with lxml 2.3.5 is tested and verified to be working. "
65
+ "lxml versions below that may work too, but those are not tested.)"
66
+ msgstr ""
67
+
68
+ # 173347f476564817bd87068b394dbd6a
69
+ #: ../../converters.rst:27
70
+ msgid "For ``xsltproc`` / ``xmllint`` installation::"
71
+ msgstr ""
72
+
73
+ # 50fa23c1a25a4330bab200b3d4c5d753
74
+ #: ../../converters.rst:31
75
+ msgid ""
76
+ "Optional environment variables ``PYHWP_XSLTPROC`` and ``PYHWP_XMLLINT`` "
77
+ "specifies the paths of the each programs. (If not set, ``xsltproc`` and/or "
78
+ "``xmllint`` should be in the one of the directories specified in ``PATH``.)"
79
+ msgstr ""
80
+
81
+ # bc95c4ff391e4201a6ed44a1d0d56e5e
82
+ #: ../../converters.rst:36
83
+ msgid "``hwp5odt``: ODT conversion"
84
+ msgstr ""
85
+
86
+ # c4f68ae4a1294abfb389633cdbfbd335
87
+ #: ../../../pyhwp/hwp5/hwp5odt.py:docstring of hwp5.hwp5odt:1
88
+ msgid "HWPv5 to ODT converter"
89
+ msgstr ""
90
+
91
+ # 3de42de0b2fe408280df0c1236fad4e0
92
+ # 6d65211ee5dc4aae9509848ed33ad453
93
+ # db61f8ccd1b24c80b24fc45cef56d189
94
+ #: ../../../pyhwp/hwp5/hwp5odt.py:docstring of hwp5.hwp5odt:3
95
+ #: ../../../pyhwp/hwp5/hwp5html.py:docstring hwp5.hwp5html:3
96
+ #: ../../../pyhwp/hwp5/hwp5txt.py:docstring hwp5.hwp5txt:3
97
+ msgid "Usage::"
98
+ msgstr ""
99
+
100
+ # 8e52e64968d9457da967a7f1b5826470
101
+ # b650b764f0bc40d68cf0b3cff9bec9fc
102
+ # ea68666462574d1da0411b50c9aaa33b
103
+ #: ../../../pyhwp/hwp5/hwp5odt.py:docstring of hwp5.hwp5odt:12
104
+ #: ../../../pyhwp/hwp5/hwp5html.py:docstring hwp5.hwp5html:9
105
+ #: ../../../pyhwp/hwp5/hwp5txt.py:docstring hwp5.hwp5txt:9
106
+ msgid "Options::"
107
+ msgstr ""
108
+
109
+ # 41a0562c7de84f6087262873b7090b36
110
+ #: ../../converters.rst:40
111
+ msgid "``hwp5html``: HTML conversion"
112
+ msgstr ""
113
+
114
+ # 7aa5783ccbe141a4b84397507548a5fb
115
+ #: ../../../pyhwp/hwp5/hwp5html.py:docstring of hwp5.hwp5html:1
116
+ msgid "HWPv5 to HTML converter"
117
+ msgstr ""
118
+
119
+ # c0616df18e5148faa66eeeecbe6920d3
120
+ #: ../../converters.rst:44
121
+ msgid "``hwp5txt``: text conversion"
122
+ msgstr ""
123
+
124
+ # 991947c6361e4eb3b2cf1ed6cfd4c15b
125
+ #: ../../../pyhwp/hwp5/hwp5txt.py:docstring of hwp5.hwp5txt:1
126
+ msgid "HWPv5 to text converter"
127
+ msgstr ""
docs/translated/en/LC_MESSAGES/hwp5proc.po ADDED
@@ -0,0 +1,227 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) 2012, mete0r
3
+ # This file is distributed under the same license as the pyhwp package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: pyhwp 0.1\n"
10
+ "Report-Msgid-Bugs-To: \n"
11
+ "POT-Creation-Date: 2014-11-03 12:05+0900\n"
12
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
+ "Language-Team: LANGUAGE <LL@li.org>\n"
15
+ "Language: en\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=UTF-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+
20
+ # 8ae66890d3c34537b90c78f06ac868ef
21
+ #: ../../hwp5proc.rst:2
22
+ msgid "``hwp5proc``: HWPv5 processor"
23
+ msgstr ""
24
+
25
+ # bed00d76e0724575a465d3780b90d7fd
26
+ #: ../../../pyhwp/hwp5/proc/__init__.py:docstring of hwp5.proc:1
27
+ msgid "Do various operations on HWPv5 files."
28
+ msgstr ""
29
+
30
+ # cf8a544eee554bbcb012724d966509dc
31
+ #: ../../../pyhwp/hwp5/proc/__init__.py:docstring of hwp5.proc:3
32
+ #: ../../../pyhwp/hwp5/proc/version.py:docstring hwp5.proc.version:3
33
+ #: ../../../pyhwp/hwp5/proc/header.py:docstring hwp5.proc.header:3
34
+ #: ../../../pyhwp/hwp5/proc/summaryinfo.py:docstring hwp5.proc.summaryinfo:3
35
+ #: ../../../pyhwp/hwp5/proc/ls.py:docstring hwp5.proc.ls:3
36
+ #: ../../../pyhwp/hwp5/proc/cat.py:docstring hwp5.proc.cat:3
37
+ #: ../../../pyhwp/hwp5/proc/unpack.py:docstring hwp5.proc.unpack:3
38
+ #: ../../../pyhwp/hwp5/proc/records.py:docstring hwp5.proc.records:3
39
+ #: ../../../pyhwp/hwp5/proc/models.py:docstring hwp5.proc.models:3
40
+ #: ../../../pyhwp/hwp5/proc/find.py:docstring hwp5.proc.find:3
41
+ #: ../../../pyhwp/hwp5/proc/xml.py:docstring hwp5.proc.xml:8
42
+ msgid "Usage::"
43
+ msgstr ""
44
+
45
+ # 3d0680517061451580552a8980218e48
46
+ #: ../../hwp5proc.rst:7
47
+ msgid "command: ``version``"
48
+ msgstr ""
49
+
50
+ # cad75aaf5f6a42ae8910807b46c6a1ef
51
+ #: ../../../pyhwp/hwp5/proc/version.py:docstring of hwp5.proc.version:1
52
+ msgid "Print HWP file format version of <hwp5file>."
53
+ msgstr ""
54
+
55
+ # 71d2980c664e45d397af9734a5494c43
56
+ #: ../../../pyhwp/hwp5/proc/version.py:docstring of hwp5.proc.version:8
57
+ #: ../../../pyhwp/hwp5/proc/header.py:docstring hwp5.proc.header:8
58
+ #: ../../../pyhwp/hwp5/proc/summaryinfo.py:docstring hwp5.proc.summaryinfo:8
59
+ #: ../../../pyhwp/hwp5/proc/ls.py:docstring hwp5.proc.ls:10
60
+ #: ../../../pyhwp/hwp5/proc/cat.py:docstring hwp5.proc.cat:10
61
+ #: ../../../pyhwp/hwp5/proc/unpack.py:docstring hwp5.proc.unpack:10
62
+ #: ../../../pyhwp/hwp5/proc/records.py:docstring hwp5.proc.records:14
63
+ #: ../../../pyhwp/hwp5/proc/models.py:docstring hwp5.proc.models:11
64
+ #: ../../../pyhwp/hwp5/proc/find.py:docstring hwp5.proc.find:11
65
+ #: ../../../pyhwp/hwp5/proc/xml.py:docstring hwp5.proc.xml:18
66
+ msgid "Options::"
67
+ msgstr ""
68
+
69
+ # 4c8936ae2aab43778971aa79502a721e
70
+ #: ../../hwp5proc.rst:12
71
+ msgid "command: ``header``"
72
+ msgstr ""
73
+
74
+ # cad75aaf5f6a42ae8910807b46c6a1ef
75
+ #: ../../../pyhwp/hwp5/proc/header.py:docstring of hwp5.proc.header:1
76
+ msgid "Print HWP file header."
77
+ msgstr ""
78
+
79
+ # 5d77d4ca0f394422b709faccc50cfec9
80
+ #: ../../hwp5proc.rst:17
81
+ msgid "command: ``summaryinfo``"
82
+ msgstr ""
83
+
84
+ # f8011d33ac684c2b8378e18b9e3abedc
85
+ #: ../../../pyhwp/hwp5/proc/summaryinfo.py:docstring of
86
+ #: hwp5.proc.summaryinfo:1
87
+ msgid "Print summary information of <hwp5file>."
88
+ msgstr ""
89
+
90
+ # b7b04b5b3eb74f0eb111194985e01b0d
91
+ #: ../../hwp5proc.rst:22
92
+ msgid "command: ``ls``"
93
+ msgstr ""
94
+
95
+ # b44ddef0cd314f458485388b49c636ca
96
+ #: ../../../pyhwp/hwp5/proc/ls.py:docstring of hwp5.proc.ls:1
97
+ msgid "List streams in the <hwp5file>."
98
+ msgstr ""
99
+
100
+ # 43a9eab8ec344cfdb4a33aa848da2a56
101
+ #: ../../../pyhwp/hwp5/proc/ls.py:docstring of hwp5.proc.ls:22
102
+ msgid "Example: List without virtual streams::"
103
+ msgstr ""
104
+
105
+ # ecd90dc2d4094b3c8052a495648ff78f
106
+ #: ../../../pyhwp/hwp5/proc/ls.py:docstring of hwp5.proc.ls:39
107
+ msgid "Example: List virtual streams too::"
108
+ msgstr ""
109
+
110
+ # 192f6f50cb544c27ad3479b914ef7222
111
+ #: ../../hwp5proc.rst:27
112
+ msgid "command: ``cat``"
113
+ msgstr ""
114
+
115
+ # 15eb8617d1d944949717d81ebb9456f1
116
+ #: ../../../pyhwp/hwp5/proc/cat.py:docstring of hwp5.proc.cat:1
117
+ msgid ""
118
+ "Extract out the specified stream in the <hwp5file> to the standard output."
119
+ msgstr ""
120
+
121
+ # dcb71948aa8f47e9b064023f21957a35
122
+ # 71ecad71cb0f4fe9ba80cf55082e5f8a
123
+ # ef37227f045746b8997f0c2eb30319cd
124
+ # 737e619d6b524f69af7005f5ef92ada8
125
+ # 07ef11c376cb4d308967be19edcc2881
126
+ # 3ae85a74884d4ad9b5c6a8e89747e224
127
+ # 6f312dd686584fa4a9dff6f49bbc56b4
128
+ # 35fb8b185a6a48dabea56e256d85bfb4
129
+ # 4fd7a028c7ff4c11b87ba598655a7907
130
+ # 170f201e5a0c4a44abcb0dcea95905d9
131
+ # 8329c429e5674eee8022ec39cceed432
132
+ # cbf2341d2c7c4149bdc3f07da885e0ae
133
+ #: ../../../pyhwp/hwp5/proc/cat.py:docstring of hwp5.proc.cat:22
134
+ #: ../../../pyhwp/hwp5/proc/unpack.py:docstring hwp5.proc.unpack:22
135
+ #: hwp5.proc.unpack:27 ../../../pyhwp/hwp5/proc/records.py:docstring
136
+ #: hwp5.proc.records:38 hwp5.proc.records:42 hwp5.proc.records:50
137
+ #: ../../../pyhwp/hwp5/proc/models.py:docstring hwp5.proc.models:34
138
+ #: hwp5.proc.models:42 hwp5.proc.models:48 hwp5.proc.models:57
139
+ #: ../../../pyhwp/hwp5/proc/xml.py:docstring hwp5.proc.xml:31 hwp5.proc.xml:39
140
+ msgid "Example::"
141
+ msgstr ""
142
+
143
+ # 8113891b61bb4b339c77d078336391f4
144
+ #: ../../hwp5proc.rst:32
145
+ msgid "command: ``unpack``"
146
+ msgstr ""
147
+
148
+ # 8acb7c74c7c748c6b7874f5e33b25dac
149
+ #: ../../../pyhwp/hwp5/proc/unpack.py:docstring of hwp5.proc.unpack:1
150
+ msgid "Extract out streams in the specified <hwp5file> to a directory."
151
+ msgstr ""
152
+
153
+ # 414f684ce5a540d0a5cd18ab8b2a5f24
154
+ #: ../../hwp5proc.rst:37
155
+ msgid "command: ``records``"
156
+ msgstr ""
157
+
158
+ # f521cdaf60f4451b88faab8a6235b5a4
159
+ #: ../../../pyhwp/hwp5/proc/records.py:docstring of hwp5.proc.records:1
160
+ msgid "Print the record structure."
161
+ msgstr ""
162
+
163
+ # 241ea6ff890d49db8d765402e0c7b6b5
164
+ # 2a49fc3eff194012a083bf9bc0426d93
165
+ #: ../../../pyhwp/hwp5/proc/records.py:docstring of hwp5.proc.records:46
166
+ #: ../../../pyhwp/hwp5/proc/models.py:docstring hwp5.proc.models:53
167
+ msgid ""
168
+ "If neither <hwp5file> nor <record-stream> is specified, the record stream is "
169
+ "read from the standard input with an assumption that the input is in the "
170
+ "format version specified by -V option."
171
+ msgstr ""
172
+
173
+ # a7dfeeb3a6464db18f930dc3747acc77
174
+ #: ../../hwp5proc.rst:42
175
+ msgid "command: ``models``"
176
+ msgstr ""
177
+
178
+ # 058aa45f4ec8463080526f955a7ff2fd
179
+ #: ../../../pyhwp/hwp5/proc/models.py:docstring of hwp5.proc.models:1
180
+ msgid "Print parsed binary models in the specified <record-stream>."
181
+ msgstr ""
182
+
183
+ # 7375606379a84a7688a05b9939f6b47d
184
+ #: ../../hwp5proc.rst:47
185
+ msgid "command: ``find``"
186
+ msgstr ""
187
+
188
+ # 8cdcfec208464d1a9dbafb8d0489fe4b
189
+ #: ../../../pyhwp/hwp5/proc/find.py:docstring of hwp5.proc.find:1
190
+ msgid "Find record models with specified predicates."
191
+ msgstr ""
192
+
193
+ # 78f39cd8bb2c46a89417b59931917868
194
+ #: ../../../pyhwp/hwp5/proc/find.py:docstring of hwp5.proc.find:29
195
+ msgid "Example: Find paragraphs::"
196
+ msgstr ""
197
+
198
+ # 9e23e53b35ca4aefb5e8c1ffa99d3d26
199
+ #: ../../../pyhwp/hwp5/proc/find.py:docstring of hwp5.proc.find:35
200
+ msgid ""
201
+ "Example: Find and dump records of ``HWPTAG_LIST_HEADER`` which is parsed "
202
+ "incompletely::"
203
+ msgstr ""
204
+
205
+ # 7778883e65f849bf99fad8697e25308d
206
+ #: ../../hwp5proc.rst:52
207
+ msgid "command: ``xml`` (*Experimental*)"
208
+ msgstr ""
209
+
210
+ # b8814a65f0fe49e78ffc380bfa9ce629
211
+ #: ../../../pyhwp/hwp5/proc/xml.py:docstring of hwp5.proc.xml:1
212
+ msgid "Transform an HWPv5 file into an XML."
213
+ msgstr ""
214
+
215
+ # 412afcfa0f324982801d3cfacaf69b86
216
+ #: ../../../pyhwp/hwp5/proc/xml.py:docstring of hwp5.proc.xml:5
217
+ msgid ""
218
+ "This command is experimental. Its output format is subject to change at any "
219
+ "time."
220
+ msgstr ""
221
+
222
+ # d89687875f5d4135963346b8e2de3a53
223
+ #: ../../../pyhwp/hwp5/proc/xml.py:docstring of hwp5.proc.xml:36
224
+ msgid ""
225
+ "With ``--embedbin`` option, you can embed base64-encoded ``BinData/*`` files "
226
+ "in the output XML."
227
+ msgstr ""
docs/translated/en/LC_MESSAGES/index.po ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) 2012, mete0r
3
+ # This file is distributed under the same license as the pyhwp package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: pyhwp 0.1\n"
10
+ "Report-Msgid-Bugs-To: \n"
11
+ "POT-Creation-Date: 2013-10-29 04:47\n"
12
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
+ "Language-Team: LANGUAGE <LL@li.org>\n"
15
+ "Language: en\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=UTF-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+
20
+ # e67bfb841934418fb9aa8d6803ae6f61
21
+ #: ../../index.rst:7
22
+ msgid "Welcome to pyhwp's documentation!"
23
+ msgstr ""
24
+
25
+ # fce4f4f87ace4bd79507f35f9f31fc09
26
+ #: ../../index.rst:9
27
+ msgid "Contents:"
28
+ msgstr ""
29
+
30
+ # c7b2c8ef52e84e3294e7003ff9087ee0
31
+ #: ../../index.rst:23
32
+ msgid "Indices and tables"
33
+ msgstr ""
34
+
35
+ # 8caf5884bb214dacaf993c38e939ca98
36
+ #: ../../index.rst:25
37
+ msgid ":ref:`genindex`"
38
+ msgstr ""
39
+
40
+ # 7d2787c7551040dd8500264c58449cc9
41
+ #: ../../index.rst:26
42
+ msgid ":ref:`modindex`"
43
+ msgstr ""
44
+
45
+ # a3f0175d485c4314b9d7204608644b95
46
+ #: ../../index.rst:27
47
+ msgid ":ref:`search`"
48
+ msgstr ""
docs/translated/en/LC_MESSAGES/intro.po ADDED
@@ -0,0 +1,187 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) 2012, mete0r
3
+ # This file is distributed under the same license as the pyhwp package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: pyhwp 0.1\n"
10
+ "Report-Msgid-Bugs-To: \n"
11
+ "POT-Creation-Date: 2014-01-31 08:31+0900\n"
12
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
+ "Language-Team: LANGUAGE <LL@li.org>\n"
15
+ "Language: en\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=UTF-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+
20
+ # 229d7f6cb6e94b80b3ed276154632ea7
21
+ #: ../../intro.rst:2
22
+ msgid "pyhwp"
23
+ msgstr ""
24
+
25
+ # 75c5f1d6ce704cfb987f218ddac8e5c9
26
+ #: ../../intro.rst:4
27
+ msgid "HWP Document Format v5 parser & processor."
28
+ msgstr ""
29
+
30
+ # bdea2ae9aea14b619ceab66b9f6d685c
31
+ #: ../../intro.rst:7
32
+ msgid "Features"
33
+ msgstr ""
34
+
35
+ # 6b057a4ced754848bd138b559238556f
36
+ #: ../../intro.rst:9
37
+ msgid ""
38
+ "Analyze and extract internal streams out from a HWP Document Format v5 file"
39
+ msgstr ""
40
+
41
+ # a68f3e9e704d45dda4278f0efaf64d8a
42
+ #: ../../intro.rst:10
43
+ msgid ""
44
+ "(*Experimental*) Conversion to OpenDocument format (.odt) or plain text (."
45
+ "txt)"
46
+ msgstr ""
47
+
48
+ # ea5a3a8d49cc413eb9ef1fa6f58633ff
49
+ #: ../../intro.rst:13
50
+ msgid "Installation"
51
+ msgstr ""
52
+
53
+ # 0d7548139cea4b37bb2298584800bffc
54
+ #: ../../intro.rst:15
55
+ msgid "from `pypi <http://pypi.python.org/pypi/pyhwp>`_::"
56
+ msgstr ""
57
+
58
+ # 33cd4af4dc6f496bbea8284505308c83
59
+ #: ../../intro.rst:20
60
+ msgid "Or::"
61
+ msgstr ""
62
+
63
+ # da4c2f33f39048e9a72ad43807cd7e37
64
+ #: ../../intro.rst:25
65
+ msgid "Requirements"
66
+ msgstr ""
67
+
68
+ # db6d63914fb2413d92e5701b694e2b22
69
+ #: ../../intro.rst:27
70
+ msgid "CPython 2.5, 2.6, 2.7, Jython 2.5.3 or PyPy 2.0.2"
71
+ msgstr ""
72
+
73
+ # 62d6fe10634a497f8d1ced5bbc8343f7
74
+ #: ../../intro.rst:28
75
+ msgid "`setuptools <http://pypi.python.org/pypi/setuptools>`_"
76
+ msgstr ""
77
+
78
+ # 2cab7c2a85d34ff7adc294b7e48d5575
79
+ #: ../../intro.rst:29
80
+ msgid ""
81
+ "`pycrypto <https://pypi.python.org/pypi/pycrypto>`_ (optional, to decode "
82
+ "distribution docs)"
83
+ msgstr ""
84
+
85
+ # 070821d20ddc4c6cb15fa70632bf6523
86
+ #: ../../intro.rst:32
87
+ msgid "Documentation & Development"
88
+ msgstr ""
89
+
90
+ # f1aaad2952f54b7b9649f8a60173486c
91
+ #: ../../intro.rst:34
92
+ msgid ""
93
+ "Documentation: `http://pythonhosted.org/pyhwp/ <http://pythonhosted.org/"
94
+ "pyhwp/>`_ [`한국/조선어 <http://pythonhosted.org/pyhwp/ko/>`_] [`develop "
95
+ "branch <http://pyhwp.readthedocs.org>`_]"
96
+ msgstr ""
97
+
98
+ # 85285a15a8574742b5e7e57d5ce9c7bb
99
+ #: ../../intro.rst:35
100
+ msgid ""
101
+ "Distribution: `http://pypi.python.org/pypi/pyhwp <http://pypi.python.org/"
102
+ "pypi/pyhwp>`_"
103
+ msgstr ""
104
+
105
+ # e638ce10db3e4e07ae412b24bf350d53
106
+ #: ../../intro.rst:36
107
+ msgid ""
108
+ "Development: `https://github.com/mete0r/pyhwp <https://github.com/mete0r/"
109
+ "pyhwp>`_"
110
+ msgstr ""
111
+
112
+ # f0f93a1ed81747dc9c7a3c631b971e86
113
+ #: ../../intro.rst:37
114
+ msgid ""
115
+ "Issue tracker: `https://github.com/mete0r/pyhwp/issues <https://github.com/"
116
+ "mete0r/pyhwp/issues>`_"
117
+ msgstr ""
118
+
119
+ # 317c633c180a4bda8045e2a5b1e757cf
120
+ #: ../../intro.rst:38
121
+ msgid "Feedbacks & contributions are welcome!"
122
+ msgstr ""
123
+
124
+ # b200736b60a04a8480b72cb24a513db0
125
+ #: ../../intro.rst:41
126
+ msgid "Contributors"
127
+ msgstr ""
128
+
129
+ # 242f97c427344df39bad7d586d5e60c0
130
+ #: ../../intro.rst:43
131
+ msgid "Maintainer: `mete0r <https://github.com/mete0r>`_"
132
+ msgstr ""
133
+
134
+ # 3968cb8206a14f398a248eed814ad9aa
135
+ #: ../../intro.rst:46
136
+ msgid "License"
137
+ msgstr ""
138
+
139
+ # d64dabb371984d2ba250f37e220aa39a
140
+ #: ../../intro.rst:48
141
+ msgid "Copyright (C) 2010-2023 mete0r <https://github.com/mete0r>"
142
+ msgstr ""
143
+
144
+ # 32ed7d69ae9f4bf5bff4e8d68c113f4c
145
+ #: ../../intro.rst:52
146
+ msgid ""
147
+ "`GNU Affero General Public License v3.0 <http://www.gnu.org/licenses/"
148
+ "agpl-3.0.html>`_ `(text version) <http://www.gnu.org/licenses/agpl-3.0.txt>`_"
149
+ msgstr ""
150
+
151
+ # 164415d866774a9e9e7ad1008447cf74
152
+ #: ../../intro.rst:55
153
+ msgid ""
154
+ "This program is free software: you can redistribute it and/or modify it "
155
+ "under the terms of the GNU Affero General Public License as published by the "
156
+ "Free Software Foundation, either version 3 of the License, or (at your "
157
+ "option) any later version."
158
+ msgstr ""
159
+
160
+ # 6cc8ef94865e4196898a83b1b80dd2e5
161
+ #: ../../intro.rst:60
162
+ msgid ""
163
+ "This program is distributed in the hope that it will be useful, but WITHOUT "
164
+ "ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or "
165
+ "FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License "
166
+ "for more details."
167
+ msgstr ""
168
+
169
+ # d54697f2f7dc44869d43637b7e5dcb68
170
+ #: ../../intro.rst:65
171
+ msgid ""
172
+ "You should have received a copy of the GNU Affero General Public License "
173
+ "along with this program. If not, see <http://www.gnu.org/licenses/>."
174
+ msgstr ""
175
+
176
+ # c3270c668ef7418e951ef0bc8ac17fdd
177
+ #: ../../intro.rst:69
178
+ msgid "Disclosure"
179
+ msgstr ""
180
+
181
+ # df57575778df4329940de5a8a2999e73
182
+ #: ../../intro.rst:71
183
+ msgid ""
184
+ "This program has been developed in accordance with a public document named "
185
+ "\"HWP Binary Specification 1.1\" published by `Hancom Inc. <http://www."
186
+ "hancom.co.kr>`_"
187
+ msgstr ""
docs/translated/ko/LC_MESSAGES/converters.po ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) 2012, mete0r
3
+ # This file is distributed under the same license as the pyhwp package.
4
+ # mete0r <EMAIL@ADDRESS>, 2012.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: pyhwp 0.1\n"
10
+ "Report-Msgid-Bugs-To: \n"
11
+ "POT-Creation-Date: 2013-10-29 04:47\n"
12
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
+ "Last-Translator: mete0r <EMAIL@ADDRESS>\n"
14
+ "Language-Team: LANGUAGE <LL@li.org>\n"
15
+ "Language: ko\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=UTF-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+
20
+ # eafb3e22bc3740cb9f41f4f2df9e7800
21
+ #: ../../converters.rst:2
22
+ msgid "Converters (*Experimental*)"
23
+ msgstr "변환기들 (*실험적*)"
24
+
25
+ # 6b4bc6aa159144d4bb3a51e48e5909da
26
+ #: ../../converters.rst:4
27
+ msgid "Convert HWPv5 documents into other document formats."
28
+ msgstr "HWPv5 문서를 다른 문서 형식으로 변환한다."
29
+
30
+ # 5d38e3678e074ca2b766734ae5247217
31
+ #: ../../converters.rst:7
32
+ msgid "Requirements"
33
+ msgstr "필요한 것"
34
+
35
+ # 67f8cb2c410f45559ea36edddc5f3bd6
36
+ #: ../../converters.rst:8
37
+ msgid ""
38
+ "The conversions are performed with `XSLT <http://www.w3.org/TR/xslt>`_ "
39
+ "internally and verified with `Relax NG <http://relaxng.org/>`_ if possible."
40
+ msgstr ""
41
+ "이 변환들은 내부적으로 `XSLT <http://www.w3.org/TR/xslt>`_ 를 사용하며, 가능"
42
+ "한 경우 `Relax NG <http://relaxng.org/>`_ 로 결과물이 검증된다."
43
+
44
+ # 45e757bc017d449a95192776960d8b5d
45
+ #: ../../converters.rst:11
46
+ msgid ""
47
+ "For these processing, the converters requires `lxml <http://pypi.python.org/"
48
+ "pypi/lxml>`_ (`homepage <http://lxml.de>`_) or `libxml2 <http://www.xmlsoft."
49
+ "org/>`_'s `xsltproc <http://xmlsoft.org/XSLT/xsltproc2.html>`_ / `xmllint "
50
+ "<http://infohost.nmt.edu/tcc/help/xml/lint.html>`_ programs."
51
+ msgstr ""
52
+ "이를 수행하려면 `lxml <http://pypi.python.org/pypi/lxml>`_ (`homepage "
53
+ "<http://lxml.de>`_)이나 `libxml2 <http://www.xmlsoft.org/>`_ 의 `xsltproc "
54
+ "<http://xmlsoft.org/XSLT/xsltproc2.html>`_ / `xmllint <http://infohost.nmt."
55
+ "edu/tcc/help/xml/lint.html>`_ 프로그램이 필요하다."
56
+
57
+ # 4bbc12c733e64021b1e57753c362e03f
58
+ #: ../../converters.rst:17
59
+ msgid "For lxml installation::"
60
+ msgstr "lxml를 설치하려면::"
61
+
62
+ # 87c456830c3f40b0b0922d11b45e7f7a
63
+ #: ../../converters.rst:22
64
+ msgid "or see `Installing lxml <http://lxml.de/installation.html>`_."
65
+ msgstr ""
66
+ "혹은 `Installing lxml <http://lxml.de/installation.html>`_ 을 참조하라."
67
+
68
+ # 279b07aa798c48238be60111a825bd7a
69
+ #: ../../converters.rst:24
70
+ msgid ""
71
+ "(Currently conversions with lxml 2.3.5 is tested and verified to be working. "
72
+ "lxml versions below that may work too, but those are not tested.)"
73
+ msgstr ""
74
+ "(현재 lxml 2.3.5 을 이용한 변환은 테스트되었고 잘 작동하는 것으로 확인되었"
75
+ "다. 그보다 낮은 버전의 lxml으로도 될 수 있으나, 테스트되지는 않았다.)"
76
+
77
+ # 173347f476564817bd87068b394dbd6a
78
+ #: ../../converters.rst:27
79
+ msgid "For ``xsltproc`` / ``xmllint`` installation::"
80
+ msgstr "``xsltproc`` / ``xmllint`` 를 설치하려면::"
81
+
82
+ # 50fa23c1a25a4330bab200b3d4c5d753
83
+ #: ../../converters.rst:31
84
+ msgid ""
85
+ "Optional environment variables ``PYHWP_XSLTPROC`` and ``PYHWP_XMLLINT`` "
86
+ "specifies the paths of the each programs. (If not set, ``xsltproc`` and/or "
87
+ "``xmllint`` should be in the one of the directories specified in ``PATH``.)"
88
+ msgstr ""
89
+ "선택적으로 설정될 수 있는 ``PYHWP_XSLTPROC`` 과 ``PYHWP_XMLLINT`` 환경변수는 "
90
+ "각 프로그램의 위치를 지정한다. (만약 설정되지 않으면, ``xsltproc`` 과 "
91
+ "``xmllint`` 는 환경변수 ``PATH`` 가 지정하는 디렉토리 중 하나에 존재해야 한"
92
+ "다."
93
+
94
+ # bc95c4ff391e4201a6ed44a1d0d56e5e
95
+ #: ../../converters.rst:36
96
+ msgid "``hwp5odt``: ODT conversion"
97
+ msgstr "``hwp5odt``: ODT 변환"
98
+
99
+ # c4f68ae4a1294abfb389633cdbfbd335
100
+ #: ../../../pyhwp/hwp5/hwp5odt.py:docstring of hwp5.hwp5odt:1
101
+ msgid "HWPv5 to ODT converter"
102
+ msgstr "HWPv5-to-ODT 변환기"
103
+
104
+ # 3de42de0b2fe408280df0c1236fad4e0
105
+ # 6d65211ee5dc4aae9509848ed33ad453
106
+ # db61f8ccd1b24c80b24fc45cef56d189
107
+ #: ../../../pyhwp/hwp5/hwp5odt.py:docstring of hwp5.hwp5odt:3
108
+ #: ../../../pyhwp/hwp5/hwp5html.py:docstring hwp5.hwp5html:3
109
+ #: ../../../pyhwp/hwp5/hwp5txt.py:docstring hwp5.hwp5txt:3
110
+ msgid "Usage::"
111
+ msgstr "사용법::"
112
+
113
+ # 8e52e64968d9457da967a7f1b5826470
114
+ # b650b764f0bc40d68cf0b3cff9bec9fc
115
+ # ea68666462574d1da0411b50c9aaa33b
116
+ #: ../../../pyhwp/hwp5/hwp5odt.py:docstring of hwp5.hwp5odt:12
117
+ #: ../../../pyhwp/hwp5/hwp5html.py:docstring hwp5.hwp5html:9
118
+ #: ../../../pyhwp/hwp5/hwp5txt.py:docstring hwp5.hwp5txt:9
119
+ msgid "Options::"
120
+ msgstr "옵션::"
121
+
122
+ # 41a0562c7de84f6087262873b7090b36
123
+ #: ../../converters.rst:40
124
+ msgid "``hwp5html``: HTML conversion"
125
+ msgstr "``hwp5html``: HTML 변환"
126
+
127
+ # 7aa5783ccbe141a4b84397507548a5fb
128
+ #: ../../../pyhwp/hwp5/hwp5html.py:docstring of hwp5.hwp5html:1
129
+ msgid "HWPv5 to HTML converter"
130
+ msgstr "HWPv5-to-HTML 변환기"
131
+
132
+ # c0616df18e5148faa66eeeecbe6920d3
133
+ #: ../../converters.rst:44
134
+ msgid "``hwp5txt``: text conversion"
135
+ msgstr "``hwp5txt``: 텍스트 변환"
136
+
137
+ # 991947c6361e4eb3b2cf1ed6cfd4c15b
138
+ #: ../../../pyhwp/hwp5/hwp5txt.py:docstring of hwp5.hwp5txt:1
139
+ msgid "HWPv5 to text converter"
140
+ msgstr "HWPv5-to-텍스트 변환기"
docs/translated/ko/LC_MESSAGES/hwp5proc.po ADDED
@@ -0,0 +1,240 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) 2012, mete0r
3
+ # This file is distributed under the same license as the pyhwp package.
4
+ # mete0r <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: pyhwp 0.1\n"
10
+ "Report-Msgid-Bugs-To: \n"
11
+ "POT-Creation-Date: 2014-11-03 12:05+0900\n"
12
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
+ "Last-Translator: mete0r <EMAIL@ADDRESS>\n"
14
+ "Language-Team: LANGUAGE <LL@li.org>\n"
15
+ "Language: ko\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=UTF-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+
20
+ # 8ae66890d3c34537b90c78f06ac868ef
21
+ #: ../../hwp5proc.rst:2
22
+ msgid "``hwp5proc``: HWPv5 processor"
23
+ msgstr "``hwp5proc``: HWPv5 처리기"
24
+
25
+ # bed00d76e0724575a465d3780b90d7fd
26
+ #: ../../../pyhwp/hwp5/proc/__init__.py:docstring of hwp5.proc:1
27
+ msgid "Do various operations on HWPv5 files."
28
+ msgstr "HWPv5 파일에 여러가지 작업을 수행한다."
29
+
30
+ # cf8a544eee554bbcb012724d966509dc
31
+ #: ../../../pyhwp/hwp5/proc/__init__.py:docstring of hwp5.proc:3
32
+ #: ../../../pyhwp/hwp5/proc/version.py:docstring hwp5.proc.version:3
33
+ #: ../../../pyhwp/hwp5/proc/header.py:docstring hwp5.proc.header:3
34
+ #: ../../../pyhwp/hwp5/proc/summaryinfo.py:docstring hwp5.proc.summaryinfo:3
35
+ #: ../../../pyhwp/hwp5/proc/ls.py:docstring hwp5.proc.ls:3
36
+ #: ../../../pyhwp/hwp5/proc/cat.py:docstring hwp5.proc.cat:3
37
+ #: ../../../pyhwp/hwp5/proc/unpack.py:docstring hwp5.proc.unpack:3
38
+ #: ../../../pyhwp/hwp5/proc/records.py:docstring hwp5.proc.records:3
39
+ #: ../../../pyhwp/hwp5/proc/models.py:docstring hwp5.proc.models:3
40
+ #: ../../../pyhwp/hwp5/proc/find.py:docstring hwp5.proc.find:3
41
+ #: ../../../pyhwp/hwp5/proc/xml.py:docstring hwp5.proc.xml:8
42
+ msgid "Usage::"
43
+ msgstr "사용법::"
44
+
45
+ # 3d0680517061451580552a8980218e48
46
+ #: ../../hwp5proc.rst:7
47
+ msgid "command: ``version``"
48
+ msgstr "명령: ``version``"
49
+
50
+ # cad75aaf5f6a42ae8910807b46c6a1ef
51
+ #: ../../../pyhwp/hwp5/proc/version.py:docstring of hwp5.proc.version:1
52
+ msgid "Print HWP file format version of <hwp5file>."
53
+ msgstr "<hwp5file>의 HWP 파일 포맷 버전을 출력한다."
54
+
55
+ # 71d2980c664e45d397af9734a5494c43
56
+ #: ../../../pyhwp/hwp5/proc/version.py:docstring of hwp5.proc.version:8
57
+ #: ../../../pyhwp/hwp5/proc/header.py:docstring hwp5.proc.header:8
58
+ #: ../../../pyhwp/hwp5/proc/summaryinfo.py:docstring hwp5.proc.summaryinfo:8
59
+ #: ../../../pyhwp/hwp5/proc/ls.py:docstring hwp5.proc.ls:10
60
+ #: ../../../pyhwp/hwp5/proc/cat.py:docstring hwp5.proc.cat:10
61
+ #: ../../../pyhwp/hwp5/proc/unpack.py:docstring hwp5.proc.unpack:10
62
+ #: ../../../pyhwp/hwp5/proc/records.py:docstring hwp5.proc.records:14
63
+ #: ../../../pyhwp/hwp5/proc/models.py:docstring hwp5.proc.models:11
64
+ #: ../../../pyhwp/hwp5/proc/find.py:docstring hwp5.proc.find:11
65
+ #: ../../../pyhwp/hwp5/proc/xml.py:docstring hwp5.proc.xml:18
66
+ msgid "Options::"
67
+ msgstr "옵션::"
68
+
69
+ # 4c8936ae2aab43778971aa79502a721e
70
+ #: ../../hwp5proc.rst:12
71
+ msgid "command: ``header``"
72
+ msgstr "명령: ``header``"
73
+
74
+ # cad75aaf5f6a42ae8910807b46c6a1ef
75
+ #: ../../../pyhwp/hwp5/proc/header.py:docstring of hwp5.proc.header:1
76
+ msgid "Print HWP file header."
77
+ msgstr "HWP 파일 헤더를 출력한다."
78
+
79
+ # 5d77d4ca0f394422b709faccc50cfec9
80
+ #: ../../hwp5proc.rst:17
81
+ msgid "command: ``summaryinfo``"
82
+ msgstr "명령: ``summaryinfo``"
83
+
84
+ # f8011d33ac684c2b8378e18b9e3abedc
85
+ #: ../../../pyhwp/hwp5/proc/summaryinfo.py:docstring of
86
+ #: hwp5.proc.summaryinfo:1
87
+ msgid "Print summary information of <hwp5file>."
88
+ msgstr "<hwp5file>의 요약정보(summary information)을 출력한다."
89
+
90
+ # b7b04b5b3eb74f0eb111194985e01b0d
91
+ #: ../../hwp5proc.rst:22
92
+ msgid "command: ``ls``"
93
+ msgstr "명령: ``ls``"
94
+
95
+ # b44ddef0cd314f458485388b49c636ca
96
+ #: ../../../pyhwp/hwp5/proc/ls.py:docstring of hwp5.proc.ls:1
97
+ msgid "List streams in the <hwp5file>."
98
+ msgstr "<hwp5file>의 스트림 목록을 출력한다."
99
+
100
+ # 43a9eab8ec344cfdb4a33aa848da2a56
101
+ #: ../../../pyhwp/hwp5/proc/ls.py:docstring of hwp5.proc.ls:22
102
+ msgid "Example: List without virtual streams::"
103
+ msgstr "예: 가상 스트림을 제외한 목록을 출력한다::"
104
+
105
+ # ecd90dc2d4094b3c8052a495648ff78f
106
+ #: ../../../pyhwp/hwp5/proc/ls.py:docstring of hwp5.proc.ls:39
107
+ msgid "Example: List virtual streams too::"
108
+ msgstr "예: 가상 스트림을 포함한 목록을 출력한다::"
109
+
110
+ # 192f6f50cb544c27ad3479b914ef7222
111
+ #: ../../hwp5proc.rst:27
112
+ msgid "command: ``cat``"
113
+ msgstr "명령: ``cat``"
114
+
115
+ # 15eb8617d1d944949717d81ebb9456f1
116
+ #: ../../../pyhwp/hwp5/proc/cat.py:docstring of hwp5.proc.cat:1
117
+ msgid ""
118
+ "Extract out the specified stream in the <hwp5file> to the standard output."
119
+ msgstr "<hwp5file>의 지정된 스트림을 표준출력으로 출력한다."
120
+
121
+ # dcb71948aa8f47e9b064023f21957a35
122
+ # 71ecad71cb0f4fe9ba80cf55082e5f8a
123
+ # ef37227f045746b8997f0c2eb30319cd
124
+ # 737e619d6b524f69af7005f5ef92ada8
125
+ # 07ef11c376cb4d308967be19edcc2881
126
+ # 3ae85a74884d4ad9b5c6a8e89747e224
127
+ # 6f312dd686584fa4a9dff6f49bbc56b4
128
+ # 35fb8b185a6a48dabea56e256d85bfb4
129
+ # 4fd7a028c7ff4c11b87ba598655a7907
130
+ # 170f201e5a0c4a44abcb0dcea95905d9
131
+ # 8329c429e5674eee8022ec39cceed432
132
+ # cbf2341d2c7c4149bdc3f07da885e0ae
133
+ #: ../../../pyhwp/hwp5/proc/cat.py:docstring of hwp5.proc.cat:22
134
+ #: ../../../pyhwp/hwp5/proc/unpack.py:docstring hwp5.proc.unpack:22
135
+ #: hwp5.proc.unpack:27 ../../../pyhwp/hwp5/proc/records.py:docstring
136
+ #: hwp5.proc.records:38 hwp5.proc.records:42 hwp5.proc.records:50
137
+ #: ../../../pyhwp/hwp5/proc/models.py:docstring hwp5.proc.models:34
138
+ #: hwp5.proc.models:42 hwp5.proc.models:48 hwp5.proc.models:57
139
+ #: ../../../pyhwp/hwp5/proc/xml.py:docstring hwp5.proc.xml:31 hwp5.proc.xml:39
140
+ msgid "Example::"
141
+ msgstr "예::"
142
+
143
+ # 8113891b61bb4b339c77d078336391f4
144
+ #: ../../hwp5proc.rst:32
145
+ msgid "command: ``unpack``"
146
+ msgstr "명령: ``unpack``"
147
+
148
+ # 5c354689e91c40c69ad6d750bd240d1c
149
+ #: ../../../pyhwp/hwp5/proc/unpack.py:docstring of hwp5.proc.unpack:1
150
+ msgid "Extract out streams in the specified <hwp5file> to a directory."
151
+ msgstr "<hwpfile>의 스트림들을 디렉터리로 풀어낸다."
152
+
153
+ # 414f684ce5a540d0a5cd18ab8b2a5f24
154
+ #: ../../hwp5proc.rst:37
155
+ msgid "command: ``records``"
156
+ msgstr "명령: ``records``"
157
+
158
+ # f521cdaf60f4451b88faab8a6235b5a4
159
+ #: ../../../pyhwp/hwp5/proc/records.py:docstring of hwp5.proc.records:1
160
+ msgid "Print the record structure."
161
+ msgstr "레코드 구조를 출력한다."
162
+
163
+ # 241ea6ff890d49db8d765402e0c7b6b5
164
+ # 2a49fc3eff194012a083bf9bc0426d93
165
+ #: ../../../pyhwp/hwp5/proc/records.py:docstring of hwp5.proc.records:46
166
+ #: ../../../pyhwp/hwp5/proc/models.py:docstring hwp5.proc.models:53
167
+ msgid ""
168
+ "If neither <hwp5file> nor <record-stream> is specified, the record stream is "
169
+ "read from the standard input with an assumption that the input is in the "
170
+ "format version specified by -V option."
171
+ msgstr ""
172
+ "<hwp5file>과 <record-stream>이 주어지지 않으면, 레코드 스트림을 표준 출력에서"
173
+ "읽어들인다. 이 때 입력의 포맷 버전은 -V 옵션으로 주어진 값인 것으로 가정한다."
174
+
175
+ # a7dfeeb3a6464db18f930dc3747acc77
176
+ #: ../../hwp5proc.rst:42
177
+ msgid "command: ``models``"
178
+ msgstr "명령: ``models``"
179
+
180
+ # 058aa45f4ec8463080526f955a7ff2fd
181
+ #: ../../../pyhwp/hwp5/proc/models.py:docstring of hwp5.proc.models:1
182
+ msgid "Print parsed binary models in the specified <record-stream>."
183
+ msgstr "지정된 <record-stream>을 파싱한 바이너리 모델들을 출력한다."
184
+
185
+ # 7375606379a84a7688a05b9939f6b47d
186
+ #: ../../hwp5proc.rst:47
187
+ msgid "command: ``find``"
188
+ msgstr "명령: ``find``"
189
+
190
+ # 8cdcfec208464d1a9dbafb8d0489fe4b
191
+ #: ../../../pyhwp/hwp5/proc/find.py:docstring of hwp5.proc.find:1
192
+ msgid "Find record models with specified predicates."
193
+ msgstr "지정된 조건을 만족하는 레코드 모델들을 찾는다."
194
+
195
+ # 78f39cd8bb2c46a89417b59931917868
196
+ #: ../../../pyhwp/hwp5/proc/find.py:docstring of hwp5.proc.find:29
197
+ msgid "Example: Find paragraphs::"
198
+ msgstr "예: 문단 찾기::"
199
+
200
+ # 9e23e53b35ca4aefb5e8c1ffa99d3d26
201
+ #: ../../../pyhwp/hwp5/proc/find.py:docstring of hwp5.proc.find:35
202
+ msgid ""
203
+ "Example: Find and dump records of ``HWPTAG_LIST_HEADER`` which is parsed "
204
+ "incompletely::"
205
+ msgstr ""
206
+ "예: 온전히 파싱되지 않은 ``HWPTAG_LIST_HEADER`` 레코드들을 찾아 출력한다::"
207
+
208
+ # e531df3e57a1451a8fc331069f009f25
209
+ #: ../../hwp5proc.rst:52
210
+ msgid "command: ``xml`` (*Experimental*)"
211
+ msgstr "명령: ``xml`` (*실험적*)"
212
+
213
+ # 36611ef624fe4bec815a5f8e03567251
214
+ #: ../../../pyhwp/hwp5/proc/xml.py:docstring of hwp5.proc.xml:1
215
+ msgid "Transform an HWPv5 file into an XML."
216
+ msgstr "HWPv5 파일을 XML로 변환한다."
217
+
218
+ # 412afcfa0f324982801d3cfacaf69b86
219
+ #: ../../../pyhwp/hwp5/proc/xml.py:docstring of hwp5.proc.xml:5
220
+ msgid ""
221
+ "This command is experimental. Its output format is subject to change at any "
222
+ "time."
223
+ msgstr "이 명령은 실험적입니다. 출력 형식은 언제든 바뀔 수 있습니다."
224
+
225
+ # d89687875f5d4135963346b8e2de3a53
226
+ #: ../../../pyhwp/hwp5/proc/xml.py:docstring of hwp5.proc.xml:36
227
+ msgid ""
228
+ "With ``--embedbin`` option, you can embed base64-encoded ``BinData/*`` files "
229
+ "in the output XML."
230
+ msgstr ""
231
+ "``--embedbin`` 옵션을 주면, ``BinData/*`` 의 파일들을 base64로 인코딩하여 출"
232
+ "력 XML에 내장한다."
233
+
234
+ # 63b15ef0ee354277b5963fba9147a8f9
235
+ #~ msgid "Print FileHeader of <hwp5file>."
236
+ #~ msgstr "<hwp5file>의 FileHeader를 출력한다."
237
+
238
+ # f521cdaf60f4451b88faab8a6235b5a4
239
+ #~ msgid "Print records in the specified <record-stream>."
240
+ #~ msgstr "지정된 <record-stream>의 레코드들을 출력한다."
docs/translated/ko/LC_MESSAGES/index.po ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) 2012, mete0r
3
+ # This file is distributed under the same license as the pyhwp package.
4
+ # mete0r <EMAIL@ADDRESS>, 2012.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: pyhwp 0.1\n"
10
+ "Report-Msgid-Bugs-To: \n"
11
+ "POT-Creation-Date: 2013-10-29 04:47\n"
12
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
+ "Last-Translator: mete0r <EMAIL@ADDRESS>\n"
14
+ "Language-Team: LANGUAGE <LL@li.org>\n"
15
+ "Language: ko\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=UTF-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+
20
+ # e67bfb841934418fb9aa8d6803ae6f61
21
+ #: ../../index.rst:7
22
+ msgid "Welcome to pyhwp's documentation!"
23
+ msgstr ""
24
+
25
+ # fce4f4f87ace4bd79507f35f9f31fc09
26
+ #: ../../index.rst:9
27
+ msgid "Contents:"
28
+ msgstr "목차:"
29
+
30
+ # c7b2c8ef52e84e3294e7003ff9087ee0
31
+ #: ../../index.rst:23
32
+ msgid "Indices and tables"
33
+ msgstr "색인과 목록"
34
+
35
+ # 8caf5884bb214dacaf993c38e939ca98
36
+ #: ../../index.rst:25
37
+ msgid ":ref:`genindex`"
38
+ msgstr ""
39
+
40
+ # 7d2787c7551040dd8500264c58449cc9
41
+ #: ../../index.rst:26
42
+ msgid ":ref:`modindex`"
43
+ msgstr ""
44
+
45
+ # a3f0175d485c4314b9d7204608644b95
46
+ #: ../../index.rst:27
47
+ msgid ":ref:`search`"
48
+ msgstr ""
docs/translated/ko/LC_MESSAGES/intro.po ADDED
@@ -0,0 +1,206 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) 2012, mete0r
3
+ # This file is distributed under the same license as the pyhwp package.
4
+ # mete0r <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: pyhwp 0.1\n"
10
+ "Report-Msgid-Bugs-To: \n"
11
+ "POT-Creation-Date: 2014-01-31 08:31+0900\n"
12
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
+ "Last-Translator: mete0r <EMAIL@ADDRESS>\n"
14
+ "Language-Team: LANGUAGE <LL@li.org>\n"
15
+ "Language: ko\n"
16
+ "MIME-Version: 1.0\n"
17
+ "Content-Type: text/plain; charset=UTF-8\n"
18
+ "Content-Transfer-Encoding: 8bit\n"
19
+
20
+ # 229d7f6cb6e94b80b3ed276154632ea7
21
+ #: ../../intro.rst:2
22
+ msgid "pyhwp"
23
+ msgstr ""
24
+
25
+ # 75c5f1d6ce704cfb987f218ddac8e5c9
26
+ #: ../../intro.rst:4
27
+ msgid "HWP Document Format v5 parser & processor."
28
+ msgstr "HWP 문서 포맷 버젼5 파서 & 처리기"
29
+
30
+ # bdea2ae9aea14b619ceab66b9f6d685c
31
+ #: ../../intro.rst:7
32
+ msgid "Features"
33
+ msgstr "기능"
34
+
35
+ # 6b057a4ced754848bd138b559238556f
36
+ #: ../../intro.rst:9
37
+ msgid ""
38
+ "Analyze and extract internal streams out from a HWP Document Format v5 file"
39
+ msgstr "HWP 문서 버젼 5 파일의 내부 스트림을 분석/분리"
40
+
41
+ # a68f3e9e704d45dda4278f0efaf64d8a
42
+ #: ../../intro.rst:10
43
+ msgid ""
44
+ "(*Experimental*) Conversion to OpenDocument format (.odt) or plain text (."
45
+ "txt)"
46
+ msgstr "(*실험적*) OpenDocument 포맷(.odt)나 일반 텍스트 문서로 변환"
47
+
48
+ # ea5a3a8d49cc413eb9ef1fa6f58633ff
49
+ #: ../../intro.rst:13
50
+ msgid "Installation"
51
+ msgstr "설치"
52
+
53
+ # 0d7548139cea4b37bb2298584800bffc
54
+ #: ../../intro.rst:15
55
+ msgid "from `pypi <http://pypi.python.org/pypi/pyhwp>`_::"
56
+ msgstr "`pypi <http://pypi.python.org/pypi/pyhwp>`_ 에서::"
57
+
58
+ # 33cd4af4dc6f496bbea8284505308c83
59
+ #: ../../intro.rst:20
60
+ msgid "Or::"
61
+ msgstr "혹은::"
62
+
63
+ # da4c2f33f39048e9a72ad43807cd7e37
64
+ #: ../../intro.rst:25
65
+ msgid "Requirements"
66
+ msgstr "필요한 것"
67
+
68
+ # db6d63914fb2413d92e5701b694e2b22
69
+ #: ../../intro.rst:27
70
+ msgid "CPython 2.5, 2.6, 2.7, Jython 2.5.3 or PyPy 2.0.2"
71
+ msgstr "CPython 2.5, 2.6, 2.7, Jython 2.5.3 혹은 PyPy 2.0.2"
72
+
73
+ # 0d7548139cea4b37bb2298584800bffc
74
+ #: ../../intro.rst:28
75
+ msgid "`setuptools <http://pypi.python.org/pypi/setuptools>`_"
76
+ msgstr ""
77
+
78
+ # 2cab7c2a85d34ff7adc294b7e48d5575
79
+ #: ../../intro.rst:29
80
+ msgid ""
81
+ "`pycrypto <https://pypi.python.org/pypi/pycrypto>`_ (optional, to decode "
82
+ "distribution docs)"
83
+ msgstr ""
84
+ "`pycrypto <https://pypi.python.org/pypi/pycrypto>`_ (선택적, 배포용 문서"
85
+ "읽기에 필요)"
86
+
87
+ # 070821d20ddc4c6cb15fa70632bf6523
88
+ #: ../../intro.rst:32
89
+ msgid "Documentation & Development"
90
+ msgstr "문서화 및 개발"
91
+
92
+ # 8228a1248e8b4f6fb82be453d4ef4135
93
+ #: ../../intro.rst:34
94
+ msgid ""
95
+ "Documentation: `http://pythonhosted.org/pyhwp/ <http://pythonhosted.org/"
96
+ "pyhwp/>`_ [`한국/조선어 <http://pythonhosted.org/pyhwp/ko/>`_] [`develop "
97
+ "branch <http://pyhwp.readthedocs.org>`_]"
98
+ msgstr ""
99
+ "문서화: `http://pythonhosted.org/pyhwp/ko <http://pythonhosted.org/pyhwp/"
100
+ "ko>`_ [`English <http://pythonhosted.org/pyhwp>`_] [`개발 branch <http://"
101
+ "pyhwp.readthedocs.org>`_]"
102
+
103
+ # 0d7548139cea4b37bb2298584800bffc
104
+ #: ../../intro.rst:35
105
+ msgid ""
106
+ "Distribution: `http://pypi.python.org/pypi/pyhwp <http://pypi.python.org/"
107
+ "pypi/pyhwp>`_"
108
+ msgstr ""
109
+ "배포: `http://pypi.python.org/pypi/pyhwp <http://pypi.python.org/pypi/"
110
+ "pyhwp>`_"
111
+
112
+ # f0f93a1ed81747dc9c7a3c631b971e86
113
+ #: ../../intro.rst:36
114
+ msgid ""
115
+ "Development: `https://github.com/mete0r/pyhwp <https://github.com/mete0r/"
116
+ "pyhwp>`_"
117
+ msgstr ""
118
+ "개발: `https://github.com/mete0r/pyhwp <https://github.com/mete0r/pyhwp>`_"
119
+
120
+ # f0f93a1ed81747dc9c7a3c631b971e86
121
+ #: ../../intro.rst:37
122
+ msgid ""
123
+ "Issue tracker: `https://github.com/mete0r/pyhwp/issues <https://github.com/"
124
+ "mete0r/pyhwp/issues>`_"
125
+ msgstr ""
126
+ "버그 추적: `https://github.com/mete0r/pyhwp/issues <https://github.com/"
127
+ "mete0r/pyhwp/issues>`_"
128
+
129
+ # 317c633c180a4bda8045e2a5b1e757cf
130
+ #: ../../intro.rst:38
131
+ msgid "Feedbacks & contributions are welcome!"
132
+ msgstr "피드백이나 기여 환영합니다."
133
+
134
+ # b200736b60a04a8480b72cb24a513db0
135
+ #: ../../intro.rst:41
136
+ msgid "Contributors"
137
+ msgstr "기여한 이들"
138
+
139
+ # 38b9e22103b4432eaf4fdf9f452bc3e3
140
+ #: ../../intro.rst:43
141
+ msgid "Maintainer: `mete0r <https://github.com/mete0r>`_"
142
+ msgstr "Maintainer: `mete0r <https://github.com/mete0r>`_"
143
+
144
+ # 3968cb8206a14f398a248eed814ad9aa
145
+ #: ../../intro.rst:46
146
+ msgid "License"
147
+ msgstr "사용허가"
148
+
149
+ # d64dabb371984d2ba250f37e220aa39a
150
+ #: ../../intro.rst:48
151
+ msgid "Copyright (C) 2010-2023 mete0r <https://github.com/mete0r>"
152
+ msgstr ""
153
+
154
+ # 32ed7d69ae9f4bf5bff4e8d68c113f4c
155
+ #: ../../intro.rst:52
156
+ msgid ""
157
+ "`GNU Affero General Public License v3.0 <http://www.gnu.org/licenses/"
158
+ "agpl-3.0.html>`_ `(text version) <http://www.gnu.org/licenses/agpl-3.0.txt>`_"
159
+ msgstr ""
160
+
161
+ # 164415d866774a9e9e7ad1008447cf74
162
+ #: ../../intro.rst:55
163
+ msgid ""
164
+ "This program is free software: you can redistribute it and/or modify it "
165
+ "under the terms of the GNU Affero General Public License as published by the "
166
+ "Free Software Foundation, either version 3 of the License, or (at your "
167
+ "option) any later version."
168
+ msgstr ""
169
+
170
+ # 6cc8ef94865e4196898a83b1b80dd2e5
171
+ #: ../../intro.rst:60
172
+ msgid ""
173
+ "This program is distributed in the hope that it will be useful, but WITHOUT "
174
+ "ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or "
175
+ "FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License "
176
+ "for more details."
177
+ msgstr ""
178
+
179
+ # d54697f2f7dc44869d43637b7e5dcb68
180
+ #: ../../intro.rst:65
181
+ msgid ""
182
+ "You should have received a copy of the GNU Affero General Public License "
183
+ "along with this program. If not, see <http://www.gnu.org/licenses/>."
184
+ msgstr ""
185
+
186
+ # c3270c668ef7418e951ef0bc8ac17fdd
187
+ #: ../../intro.rst:69
188
+ msgid "Disclosure"
189
+ msgstr "공개"
190
+
191
+ # df57575778df4329940de5a8a2999e73
192
+ #: ../../intro.rst:71
193
+ msgid ""
194
+ "This program has been developed in accordance with a public document named "
195
+ "\"HWP Binary Specification 1.1\" published by `Hancom Inc. <http://www."
196
+ "hancom.co.kr>`_"
197
+ msgstr ""
198
+ "pyhwp는 `(주)한글과컴퓨터 <http://www.hancom.co.kr>`_ 의 한/글 문서 파일(."
199
+ "hwp) 공개 문서를 참고하여 개발하였습니다."
200
+
201
+ # d21d1a96770c48399bf7d7962f96c816
202
+ #~ msgid ""
203
+ #~ "Documentation: `http://pyhwp.readthedocs.org <http://pyhwp.readthedocs."
204
+ #~ "org>`_"
205
+ #~ msgstr ""
206
+ #~ "문서화: `http://pyhwp.readthedocs.org <http://pyhwp.readthedocs.org>`_"