Index: __init__.py
===================================================================
--- __init__.py	(revision 564)
+++ __init__.py	(revision 615)
@@ -2,4 +2,5 @@
 import MpdlXmlTextServer
 import MpiwgXmlTextServer
+import HocrTextServer
 
 def initialize(context):
@@ -29,2 +30,12 @@
         )
     
+    
+    context.registerClass(
+        HocrTextServer.HocrTextServer,
+        constructors = (
+          HocrTextServer.manage_addHocrTextServerForm,
+          HocrTextServer.manage_addHocrTextServer
+          )
+        )
+
+    
Index: css/docuviewer.css
===================================================================
--- css/docuviewer.css	(revision 611)
+++ css/docuviewer.css	(revision 615)
@@ -474,2 +474,6 @@
 	color: gray;
 }
+
+span.ocr_line {
+display:block;
+}
Index: documentViewer.py
===================================================================
--- documentViewer.py	(revision 613)
+++ documentViewer.py	(revision 615)
@@ -83,4 +83,5 @@
     # viewMode templates
     viewer_text = PageTemplateFile('zpt/viewer/viewer_text', globals())
+    viewer_hocr = PageTemplateFile('zpt/viewer/viewer_hocr', globals())
     viewer_xml = PageTemplateFile('zpt/viewer/viewer_xml', globals())
     viewer_image = PageTemplateFile('zpt/viewer/viewer_image', globals())
@@ -165,5 +166,9 @@
     def getTextPage(self, **args):
         """returns full text content of page"""
+       
         return self.template.fulltextclient.getTextPage(**args)
+    
+   
+   
 
     def getSearchResults(self, **args):
@@ -240,5 +245,5 @@
         @param url: url which contains display information
         @param mode: defines how to access the document behind url 
-        @param viewMode: 'image': display images, 'text': display text, 'xml': display xml, default is 'auto'
+        @param viewMode: 'image': display images, 'text': display text, 'xml': display xml, default is 'auto', 'hocr' : hocr format
         @param viewLayer: sub-type of viewMode, e.g. layer 'dict' for viewMode='text'
         @param tocMode: type of 'table of contents' for navigation (thumbs, text, figures, none)
@@ -288,4 +293,7 @@
             viewMode = 'image'
             self.REQUEST['viewMode'] = 'image'
+            
+        
+            
 
         # safe viewLayer in userinfo
@@ -533,4 +541,21 @@
             metaDom = self.metadataService.getDomFromPathOrUrl(docUrl)
             docinfo['imagePath'] = url.replace('/mpiwg/online', '', 1)
+            
+        elif mode=="hocr":
+            # url points to folder with images, index.meta optional
+            # asssume index.meta in parent dir
+            docUrl = getParentPath(url)
+            metaDom = self.metadataService.getDomFromPathOrUrl(docUrl)
+            docinfo['imagePath'] = url.replace('/mpiwg/online', '', 1)
+            docinfo['textURLPath'] = url.replace('/mpiwg/online', '', 1)
+            if docinfo.get("creator", None) is None:
+                docinfo['creator'] = "" 
+            
+            if docinfo.get("title", None) is None:
+                docinfo['title'] = "" 
+
+            if docinfo.get("documentPath", None) is None:
+                docinfo['documentPath'] = url.replace('/mpiwg/online', '', 1)
+                docinfo['documentPath'] = url.replace('/pages', '', 1)
 
         elif mode=="filepath":
Index: zpt/viewer/layer_text_annotator.zpt
===================================================================
--- zpt/viewer/layer_text_annotator.zpt	(revision 601)
+++ zpt/viewer/layer_text_annotator.zpt	(revision 615)
@@ -5,6 +5,10 @@
 <metal:block metal:define-macro="html_head" tal:condition="python:'annotator' in viewLayers">
   <!--  annotator -->
+ <link rel="stylesheet" type="text/css"
+    tal:attributes="href string:$rootUrl/template/annotator_files/css/style.css" />
+
   <link rel="stylesheet" type="text/css"
     tal:attributes="href string:$rootUrl/template/annotator_files/css/annotator.css" />
+
 
   <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/vendor/json2.js"></script>
@@ -15,4 +19,7 @@
   <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/range.js"></script>
   <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/annotator.js"></script>
+  <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/locale/en/annotator.js"></script>
+  
+  
   <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/widget.js"></script>
   <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/editor.js"></script>
@@ -25,4 +32,11 @@
   <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/plugin/markdown.js"></script>
   <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/plugin/unsupported.js"></script>
+  
+  <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/jquery.dateFormat.js"></script>
+  <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/jquery.slimscroll.js"></script>
+  <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/jquery-i18n-master/jquery.i18n.min.js"></script>
+  <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/plugin/view_annotator.js"></script>
+   
+  
   <!-- <script tal:attributes="src string:$rootUrl/template/annotator_files/lib/plugin/filter.js"></script> -->
 
@@ -45,4 +59,7 @@
             $(document).ready(function() {
                 // annotator
+              
+
+                jQuery.i18n.load(i18n_dict);
                 var elem = $('div.pageContent').get(0);
                 var uri = annotatorPageUrl;
@@ -79,5 +96,7 @@
                         'uri' : uri
                     }
-                }).addPlugin('Tags').addPlugin('Markdown');
+                }).addPlugin('Tags').addPlugin('Markdown').addPlugin('AnnotatorViewer');
+                
+                $('#anotacions-uoc-panel').slimscroll({height: '100%'});
             });
         // -->
