{"action":"created","issue":{"url":"https://api.github.com/repos/altoxml/schema/issues/26","repository_url":"https://api.github.com/repos/altoxml/schema","labels_url":"https://api.github.com/repos/altoxml/schema/issues/26/labels{/name}","comments_url":"https://api.github.com/repos/altoxml/schema/issues/26/comments","events_url":"https://api.github.com/repos/altoxml/schema/issues/26/events","html_url":"https://github.com/altoxml/schema/issues/26","id":42400261,"number":26,"title":"Glyphs (IMPACT)","user":{"login":"Jo-CCS","id":6001497,"avatar_url":"https://avatars.githubusercontent.com/u/6001497?v=3","gravatar_id":"","url":"https://api.github.com/users/Jo-CCS","html_url":"https://github.com/Jo-CCS","followers_url":"https://api.github.com/users/Jo-CCS/followers","following_url":"https://api.github.com/users/Jo-CCS/following{/other_user}","gists_url":"https://api.github.com/users/Jo-CCS/gists{/gist_id}","starred_url":"https://api.github.com/users/Jo-CCS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jo-CCS/subscriptions","organizations_url":"https://api.github.com/users/Jo-CCS/orgs","repos_url":"https://api.github.com/users/Jo-CCS/repos","events_url":"https://api.github.com/users/Jo-CCS/events{/privacy}","received_events_url":"https://api.github.com/users/Jo-CCS/received_events","type":"User","site_admin":false},"labels":[{"id":110823281,"url":"https://api.github.com/repos/altoxml/schema/labels/3%20review","name":"3 review","color":"eb6420","default":false},{"id":228421310,"url":"https://api.github.com/repos/altoxml/schema/labels/6%20voting","name":"6 voting","color":"006b75","default":false}],"state":"open","locked":false,"assignee":{"login":"Jo-CCS","id":6001497,"avatar_url":"https://avatars.githubusercontent.com/u/6001497?v=3","gravatar_id":"","url":"https://api.github.com/users/Jo-CCS","html_url":"https://github.com/Jo-CCS","followers_url":"https://api.github.com/users/Jo-CCS/followers","following_url":"https://api.github.com/users/Jo-CCS/following{/other_user}","gists_url":"https://api.github.com/users/Jo-CCS/gists{/gist_id}","starred_url":"https://api.github.com/users/Jo-CCS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jo-CCS/subscriptions","organizations_url":"https://api.github.com/users/Jo-CCS/orgs","repos_url":"https://api.github.com/users/Jo-CCS/repos","events_url":"https://api.github.com/users/Jo-CCS/events{/privacy}","received_events_url":"https://api.github.com/users/Jo-CCS/received_events","type":"User","site_admin":false},"assignees":[{"login":"Jo-CCS","id":6001497,"avatar_url":"https://avatars.githubusercontent.com/u/6001497?v=3","gravatar_id":"","url":"https://api.github.com/users/Jo-CCS","html_url":"https://github.com/Jo-CCS","followers_url":"https://api.github.com/users/Jo-CCS/followers","following_url":"https://api.github.com/users/Jo-CCS/following{/other_user}","gists_url":"https://api.github.com/users/Jo-CCS/gists{/gist_id}","starred_url":"https://api.github.com/users/Jo-CCS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jo-CCS/subscriptions","organizations_url":"https://api.github.com/users/Jo-CCS/orgs","repos_url":"https://api.github.com/users/Jo-CCS/repos","events_url":"https://api.github.com/users/Jo-CCS/events{/privacy}","received_events_url":"https://api.github.com/users/Jo-CCS/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/altoxml/schema/milestones/4","html_url":"https://github.com/altoxml/schema/milestones/ALTO%20Schema%20version%203.1","labels_url":"https://api.github.com/repos/altoxml/schema/milestones/4/labels","id":784897,"number":4,"title":"ALTO Schema version 3.1","description":"","creator":{"login":"jukervin","id":5881143,"avatar_url":"https://avatars.githubusercontent.com/u/5881143?v=3","gravatar_id":"","url":"https://api.github.com/users/jukervin","html_url":"https://github.com/jukervin","followers_url":"https://api.github.com/users/jukervin/followers","following_url":"https://api.github.com/users/jukervin/following{/other_user}","gists_url":"https://api.github.com/users/jukervin/gists{/gist_id}","starred_url":"https://api.github.com/users/jukervin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jukervin/subscriptions","organizations_url":"https://api.github.com/users/jukervin/orgs","repos_url":"https://api.github.com/users/jukervin/repos","events_url":"https://api.github.com/users/jukervin/events{/privacy}","received_events_url":"https://api.github.com/users/jukervin/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":1,"state":"open","created_at":"2014-09-10T13:55:03Z","updated_at":"2016-01-27T16:01:58Z","due_on":null,"closed_at":null},"comments":12,"created_at":"2014-09-10T10:50:32Z","updated_at":"2016-11-22T09:46:19Z","closed_at":null,"body":"Submitter: Impact \nSubmitted: 2013-02 \n\nuse case\nModern OCR software stores information on glyph level. A glyph is essentially a character or ligature. Each character has its own coordinate information and must be separately addressable as a distinct object. Correction and verification processes can be carried out for individual characters. Post-OCR analysis of the text as well as adaptive OCR algorithm must be able to record information on character level.\n\nIn order to reproduce the decision of the OCR software, optional characters must be recorded. These are called variants. The OCR software evaluates each variant and picks the one with the highest confidence score as the glyph. The confidence score expresses how confident the OCR software is that a single glyph had been recognized correctly. \n\nimplementation\nGlyphs are recorded in the <Glyph> element. This element is optional and a child element of <String>. The glyph element may have a <shape> element (see above). The (recognized) character of the glyph is stored in the CONTENT attribute.\n\nThe glyph’s CONTENT attribute is no replacement for the string’s CONTENT attribute. Due to post-processing steps such as correction the values of both attributes may be inconsistent.\n\nEach <Glyph> element may have an optional VALID attribute. This attribute may only have one of the following three values:\n\n•“s” - expresses that the glyph is a suspicious character. The OCR software is not confident that it has recognized the glyph correctly.\n•“r” – the character has been rejected; the OCR is confident that this character is not the glyph.\n•“c” - The OCR software is not confident that it has recognized the glyph correctly.\nEach <Glyph> may have one or more <Variant> elements.  Each variant represents an option for the glyph that the OCR software could have chosen. The element’s VC attribute records a float value between 0 and 1 that expresses the level of confidence for the variant where is 1 is confident. This attribute is optional. If it is not available, the default value for the variant is “0”. The VC attribute’s semantic is similar to the WC attribute for the <String> element.\n\nexample\n\n``` xml\n<TextBlock ID=\"P4_TB00001\">\n  <TextLine ID=\"P4_TL00001\">\n    <Shape>\n      <Rectangle HPOS=\"230\" VPOS=\"216\" WIDTH=\"987\" HEIGHT=\"31\" />\n    </Shape>\n    <String ID=\"P4_ST00001\" CONTENT=\"12\" WC=\"0.99\" CC=\"02\">\n      <Shape>\n        <Rectangle HPOS=\"230\" VPOS=\"223\" WIDTH=\"37\" HEIGHT=\"24\"/>\n      </Shape>\n      <Glyph ID=\"P4_ST00001_G01\"  CONTENT=\"1\" VALID=\"s\" HPOS=\"230\" VPOS=\"223\" WIDTH=\"10\" HEIGHT=\"24\">\n       <Shape>\n        <Polygon  />\n       </Shape>\n       <Variant VC=\"0.2\">l</Variant>\n       <Variant VC=\"0.1\">i</Variant>\n     </Glyph>\n     <Glyph ID=\"P4_ST00001_G02\" CONTENT=\"2\" HPOS=\"240\" VPOS=\"223\" WIDTH=\"10\" HEIGHT=\"24\"/>\n       <Shape>\n         <Polygon />\n       </Shape>\n       <Variant VC=\"0.5\">s</Variant>\n       <Variant VC=\"0.1\">8</Variant>\n     </Glyph>\n    </String>\n  </TextLine>\n</TextBlock> \n```\n\nProposed change (inital draft):  \n\n``` xml\n<xsd:complexType name=\"StringType\" mixed=\"false\">\n  <xsd:annotation>\n    <xsd:documentation>A sequence of chars. Strings are separated by     white spaces or hyphenation chars.</xsd:documentation>\n  </xsd:annotation>\n  <xsd:sequence minOccurs=\"0\">\n    <xsd:element name=\"Shape\" type=\"ShapeType\" minOccurs=\"0\"/>\n    <xsd:element name=\"Alternative\" minOccurs=\"0\" maxOccurs=\"unbounded\">\n    ..............\n    <xsd:element name=\"Glyph\" type=\"GlyphType\" minOccurs=\"0\" maxOccurs=\"unbounded\"/>\n</xsd:sequence> \n  <xsd:complexType name=\"GlyphType\" mixed=\"false\">\n  <xsd:annotation> \n    <xsd:documentation>\n      Modern OCR software stores information on glyph level. A glyph is essentially a character or ligature. \n      Each character has its own coordinate information and must be separately addressable as a distinct object.\n      Correction and verification processes can be carried out for individual characters.\n      Post-OCR analysis of the text as well as adaptive OCR algorithm must be able to record information on character level.\n      In order to reproduce the decision of the OCR software, optional characters must be recorded. These are called variants.\n      The OCR software evaluates each variant and picks the one with the highest confidence score as the glyph.\n      The confidence score expresses how confident the OCR software is that a single glyph had been recognized correctly.\n\n      The glyph elements are in order of the word. Each character need to be recoreded to built up the whole word sequence.\n\n      The glyph’s CONTENT attribute is no replacement for the string’s CONTENT attribute.\n      Due to post-processing steps such as correction the values of both attributes may be inconsistent. \n\n    </xsd:documentation>\n  </xsd:annotation>\n  <xsd:sequence minOccurs=\"0\">\n    <xsd:element name=\"Shape\" type=\"ShapeType\" minOccurs=\"0\"/>\n    <xsd:element name=\"Variant\" minOccurs=\"0\" maxOccurs=\"unbounded\">\n      <xsd:annotation>\n        <xsd:documentation>Any alternative for the glyth.</xsd:documentation>\n      </xsd:annotation>\n      <xsd:complexType>\n        <xsd:simpleContent>\n          <xsd:extension base=\"xsd:string\">\n            <xsd:attribute name=\"VC\" type=\"xsd:float\" use=\"optional\">\n            <xsd:annotation>\n              <xsd:documentation>\n                 Each variant represents an option for the glyph that the OCR software could have chosen.\n                 The element’s VC attribute records a float value between 0 and 1 that expresses\n                 the level of confidence for the variant where is 1 is confident.\n                 This attribute is optional. If it is not available, the default value for the variant is “0”.\n\n                 The VC attribute’s semantic is similar to the WC attribute for the String element.\n              </xsd:documentation>\n            </xsd:annotation>\n          </xsd:attribute>\n          <xsd:simpleType>\n            <xsd:restriction base=\"xsd:float\">\n              <xsd:minInclusive value=\"0\"/>\n              <xsd:maxInclusive value=\"1\"/>\n            </xsd:restriction>\n          </xsd:simpleType>\n        </xsd:extension>\n      </xsd:simpleContent>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:sequence>\n  <xsd:attribute name=\"ID\" type=\"xsd:ID\" use=\"optional\"/>\n  <xsd:attribute name=\"CONTENT\" use=\"required\">\n    <xsd:simpleType>\n      <xsd:restriction base=\"xsd:string\">\n        <xsd:length fixed=\"true\" value=\"1\"/>\n        <xsd:whiteSpace value=\"preserve\"/>\n      </xsd:restriction>\n    </xsd:simpleType>\n  </xsd:attribute>\n  <xsd:attribute name=\"VALID\">\n    <xsd:simpleType>\n      <xsd:restriction base=\"xsd:string\">\n        <xsd:enumeration value=\"s\"/>\n        <xsd:enumeration value=\"r\"/>\n        <xsd:enumeration value=\"c\"/>\n      </xsd:restriction>\n    </xsd:simpleType>\n  </xsd:attribute>\n</xsd:complexType>    \n```\n"},"comment":{"url":"https://api.github.com/repos/altoxml/schema/issues/comments/262193951","html_url":"https://github.com/altoxml/schema/issues/26#issuecomment-262193951","issue_url":"https://api.github.com/repos/altoxml/schema/issues/26","id":262193951,"user":{"login":"altomator","id":16451678,"avatar_url":"https://avatars.githubusercontent.com/u/16451678?v=3","gravatar_id":"","url":"https://api.github.com/users/altomator","html_url":"https://github.com/altomator","followers_url":"https://api.github.com/users/altomator/followers","following_url":"https://api.github.com/users/altomator/following{/other_user}","gists_url":"https://api.github.com/users/altomator/gists{/gist_id}","starred_url":"https://api.github.com/users/altomator/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/altomator/subscriptions","organizations_url":"https://api.github.com/users/altomator/orgs","repos_url":"https://api.github.com/users/altomator/repos","events_url":"https://api.github.com/users/altomator/events{/privacy}","received_events_url":"https://api.github.com/users/altomator/received_events","type":"User","site_admin":false},"created_at":"2016-11-22T09:46:19Z","updated_at":"2016-11-22T09:46:19Z","body":"ACCEPT"}}
{"actor":{"display_login":"altomator"}}