diff --git a/src/pdf2htmlEX.cc b/src/pdf2htmlEX.cc
index 602a164..a5be7af 100644
--- a/src/pdf2htmlEX.cc
+++ b/src/pdf2htmlEX.cc
@@ -54,53 +54,61 @@ void show_version_and_exit(const char * dummy = nullptr)
void parse_options (int argc, char **argv)
{
argparser
- .add("help,h", "print usage information", &show_usage_and_exit)
- .add("version,v", "print copyright and version info", &show_version_and_exit)
-
- .add("owner-password,o", ¶m.owner_password, "", "owner password (for encrypted files)", nullptr, true)
- .add("user-password,u", ¶m.user_password, "", "user password (for encrypted files)", nullptr, true)
- .add("no-drm", ¶m.no_drm, 0, "override document DRM settings")
-
- .add("dest-dir", ¶m.dest_dir, ".", "specify destination directory")
- .add("data-dir", ¶m.data_dir, PDF2HTMLEX_DATA_PATH, "specify data directory")
-
+ // pages
.add("first-page,f", ¶m.first_page, 1, "first page to convert")
.add("last-page,l", ¶m.last_page, numeric_limits::max(), "last page to convert")
-
+
+ // dimensions
.add("zoom", ¶m.zoom, 0, "zoom ratio", nullptr, true)
.add("fit-width", ¶m.fit_width, 0, "fit width to pixels", nullptr, true)
.add("fit-height", ¶m.fit_height, 0, "fit height to pixels", nullptr, true)
+ .add("use-cropbox", ¶m.use_cropbox, 0, "use CropBox instead of MediaBox")
.add("hdpi", ¶m.h_dpi, 144.0, "horizontal resolution for graphics in DPI")
.add("vdpi", ¶m.v_dpi, 144.0, "vertical resolution for graphics in DPI")
- .add("use-cropbox", ¶m.use_cropbox, 0, "use CropBox instead of MediaBox")
-
- .add("process-nontext", ¶m.process_nontext, 1, "render graphics in addition to text")
+
+ // output files
.add("single-html", ¶m.single_html, 1, "generate a single HTML file")
.add("split-pages", ¶m.split_pages, 0, "split pages into separate files")
+ .add("dest-dir", ¶m.dest_dir, ".", "specify destination directory")
+ .add("css-filename", ¶m.css_filename, "", "filename of the generated css file")
+ .add("outline-filename", ¶m.outline_filename, "", "filename of the generated outline file")
+
+ // embedded fonts
.add("embed-base-font", ¶m.embed_base_font, 0, "embed local match for standard 14 fonts")
.add("embed-external-font", ¶m.embed_external_font, 0, "embed local match for external fonts")
+ .add("font-suffix", ¶m.font_suffix, ".ttf", "suffix for embedded font files (.ttf,.otf,.woff,.svg)")
+ .add("font-format", ¶m.font_format, "opentype", "CSS @font-face format for embedded fonts")
.add("decompose-ligature", ¶m.decompose_ligature, 0, "decompose ligatures, such as \uFB01 -> fi")
-
+ .add("remove-unused-glyph", ¶m.remove_unused_glyph, 1, "remove unused glyphs in embedded fonts")
+ .add("auto-hint", ¶m.auto_hint, 0, "use fontforge autohint on fonts without hints")
+ .add("external-hint-tool", ¶m.external_hint_tool, "", "external tool for hinting fonts (overrides --auto-hint)")
+ .add("stretch-narrow-glyph", ¶m.stretch_narrow_glyph, 0, "stretch narrow glyphs instead of padding them")
+ .add("squeeze-wide-glyph", ¶m.squeeze_wide_glyph, 1, "shrink wide glyphs instead of truncating them")
+
+ // text
.add("heps", ¶m.h_eps, 1.0, "horizontal threshold for merging text, in pixels")
.add("veps", ¶m.v_eps, 1.0, "vertical threshold for merging text, in pixels")
.add("space-threshold", ¶m.space_threshold, (1.0/8), "word break threshold (threshold * em)")
.add("font-size-multiplier", ¶m.font_size_multiplier, 4.0, "a value greater than 1 increases the rendering accuracy")
- .add("auto-hint", ¶m.auto_hint, 0, "use fontforge autohint on fonts without hints")
- .add("tounicode", ¶m.tounicode, 0, "how to handle ToUnicode CMaps (0=auto, 1=force, -1=ignore)")
.add("space-as-offset", ¶m.space_as_offset, 0, "treat space characters as offsets")
- .add("stretch-narrow-glyph", ¶m.stretch_narrow_glyph, 0, "stretch narrow glyphs instead of padding them")
- .add("squeeze-wide-glyph", ¶m.squeeze_wide_glyph, 1, "shrink wide glyphs instead of truncating them")
- .add("remove-unused-glyph", ¶m.remove_unused_glyph, 1, "remove unused glyphs in embedded fonts")
-
- .add("font-suffix", ¶m.font_suffix, ".ttf", "suffix for embedded font files (.ttf,.otf,.woff,.svg)")
- .add("font-format", ¶m.font_format, "opentype", "CSS @font-face format for embedded fonts")
- .add("external-hint-tool", ¶m.external_hint_tool, "", "external tool for hinting fonts (overrides --auto-hint)")
- .add("css-filename", ¶m.css_filename, "", "filename of the generated css file")
- .add("outline-filename", ¶m.outline_filename, "", "filename of the generated outline file")
-
- .add("debug", ¶m.debug, 0, "print debugging information")
+ .add("tounicode", ¶m.tounicode, 0, "how to handle ToUnicode CMaps (0=auto, 1=force, -1=ignore)")
+
+ // encryption
+ .add("owner-password,o", ¶m.owner_password, "", "owner password (for encrypted files)", nullptr, true)
+ .add("user-password,u", ¶m.user_password, "", "user password (for encrypted files)", nullptr, true)
+ .add("no-drm", ¶m.no_drm, 0, "override document DRM settings")
+
+ // misc.
.add("clean-tmp", ¶m.clean_tmp, 1, "remove temporary files after conversion")
+ .add("process-nontext", ¶m.process_nontext, 1, "render graphics in addition to text")
+ .add("data-dir", ¶m.data_dir, PDF2HTMLEX_DATA_PATH, "specify data directory")
.add("css-draw", ¶m.css_draw, 0, "[experimental and unsupported] CSS drawing")
+ .add("debug", ¶m.debug, 0, "print debugging information")
+
+ // meta
+ .add("version,v", "print copyright and version info", &show_version_and_exit)
+ .add("help,h", "print usage information", &show_usage_and_exit)
+
.add("", ¶m.input_filename, "", "")
.add("", ¶m.output_filename, "", "")
;