The hOCR Embedded OCR Workflow and Output Format
HTML Other
Latest commit f242ab0 Apr 24, 2017 @kba committed on GitHub Merge pull request #102 from kba/page-properties
Page properties

README.md

hocr-spec

Join the chat at https://gitter.im/kba/hocr-spec

The hOCR Embedded OCR Workflow and Output Format

About

This repository contains the hOCR format specification originally written by Thomas Breuel.

Versions

  • 1.0 English
    • Google Doc the original text by @tmbdev
    • Last substantial edit in May 2010
  • 1.1 English, 中文 (Chinese)
    • Port of the Google Doc
    • Cleaning obvious errata (duplicate content)
    • More fine-grained heading structure
    • Table of contents
    • Chinese translation provided by @littlePP24 and @wanghaisheng
    • Last substantial edit in September 2016
  • 1.2 English
    • Create a WHATWG-like spec using bikeshed
    • Add issues where appropriate
    • Semantically backwards-compatible with both 1.0 and 1.1

Contribute

There is no formal body. Feel free to use the Github issues for discussion and questions. Pull requests are very welcome.

For quick questions you can use the hocr-spec gitter channel.

Building the spec

To build the spec, you will need to have installed:

  • GNU make
  • One of the following programs installed:
  • Python 3

To install the python requirements:

pip3 install --user -r requirements.txt

The Makefile will first look for a local bikeshed installation and fallback to docker to use the bikeshed docker container to build the spec.

To change the spec, adapt

  • <VERSION>/spec.md to change the body of the spec
  • <VERSION>/spec.before.html to change
  • <VERSION>/spec.after.html to change
    • Javascript to run in the generated spec document
  • <VERSION>/defs.yml to change the definition lists for elements and properties

Then run make VERSION=<VERSION> to build that spec.

Examples:

  • To build the 1.2 version: make VERSION=1.2 or simply make
  • To build the 1.2-zh version: make VERSION=1.2-zh

Open Tasks

The goal of this project is to make the hOCR specification more accessible and easier to maintain.

  • Cross-reference other specs
  • Harmonize style
  • Add samples
  • ...