CoolFace
Apppublic

osama347/kyc-verification

sourceHugging Faceupdated 8mo agoView on Hugging Face
0likes
unicharset.5.html966 linesDownload Raw Back to version1
1<!DOCTYPE html>
2<html lang="en">
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5<meta name="generator" content="AsciiDoc 10.2.0">
6<title>UNICHARSET(5)</title>
7<style type="text/css">
8/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
9
10/* Default font. */
11body {
12  font-family: Georgia,serif;
13}
14
15/* Title font. */
16h1, h2, h3, h4, h5, h6,
17div.title, caption.title,
18thead, p.table.header,
19#toctitle,
20#author, #revnumber, #revdate, #revremark,
21#footer {
22  font-family: Arial,Helvetica,sans-serif;
23}
24
25body {
26  margin: 1em 5% 1em 5%;
27}
28
29a {
30  color: blue;
31  text-decoration: underline;
32}
33a:visited {
34  color: fuchsia;
35}
36
37em {
38  font-style: italic;
39  color: navy;
40}
41
42strong {
43  font-weight: bold;
44  color: #083194;
45}
46
47h1, h2, h3, h4, h5, h6 {
48  color: #527bbd;
49  margin-top: 1.2em;
50  margin-bottom: 0.5em;
51  line-height: 1.3;
52}
53
54h1, h2, h3 {
55  border-bottom: 2px solid silver;
56}
57h2 {
58  padding-top: 0.5em;
59}
60h3 {
61  float: left;
62}
63h3 + * {
64  clear: left;
65}
66h5 {
67  font-size: 1.0em;
68}
69
70div.sectionbody {
71  margin-left: 0;
72}
73
74hr {
75  border: 1px solid silver;
76}
77
78p {
79  margin-top: 0.5em;
80  margin-bottom: 0.5em;
81}
82
83ul, ol, li > p {
84  margin-top: 0;
85}
86ul > li     { color: #aaa; }
87ul > li > * { color: black; }
88
89.monospaced, code, pre {
90  font-family: "Courier New", Courier, monospace;
91  font-size: inherit;
92  color: navy;
93  padding: 0;
94  margin: 0;
95}
96pre {
97  white-space: pre-wrap;
98}
99
100#author {
101  color: #527bbd;
102  font-weight: bold;
103  font-size: 1.1em;
104}
105#email {
106}
107#revnumber, #revdate, #revremark {
108}
109
110#footer {
111  font-size: small;
112  border-top: 2px solid silver;
113  padding-top: 0.5em;
114  margin-top: 4.0em;
115}
116#footer-text {
117  float: left;
118  padding-bottom: 0.5em;
119}
120#footer-badges {
121  float: right;
122  padding-bottom: 0.5em;
123}
124
125#preamble {
126  margin-top: 1.5em;
127  margin-bottom: 1.5em;
128}
129div.imageblock, div.exampleblock, div.verseblock,
130div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
131div.admonitionblock {
132  margin-top: 1.0em;
133  margin-bottom: 1.5em;
134}
135div.admonitionblock {
136  margin-top: 2.0em;
137  margin-bottom: 2.0em;
138  margin-right: 10%;
139  color: #606060;
140}
141
142div.content { /* Block element content. */
143  padding: 0;
144}
145
146/* Block element titles. */
147div.title, caption.title {
148  color: #527bbd;
149  font-weight: bold;
150  text-align: left;
151  margin-top: 1.0em;
152  margin-bottom: 0.5em;
153}
154div.title + * {
155  margin-top: 0;
156}
157
158td div.title:first-child {
159  margin-top: 0.0em;
160}
161div.content div.title:first-child {
162  margin-top: 0.0em;
163}
164div.content + div.title {
165  margin-top: 0.0em;
166}
167
168div.sidebarblock > div.content {
169  background: #ffffee;
170  border: 1px solid #dddddd;
171  border-left: 4px solid #f0f0f0;
172  padding: 0.5em;
173}
174
175div.listingblock > div.content {
176  border: 1px solid #dddddd;
177  border-left: 5px solid #f0f0f0;
178  background: #f8f8f8;
179  padding: 0.5em;
180}
181
182div.quoteblock, div.verseblock {
183  padding-left: 1.0em;
184  margin-left: 1.0em;
185  margin-right: 10%;
186  border-left: 5px solid #f0f0f0;
187  color: #888;
188}
189
190div.quoteblock > div.attribution {
191  padding-top: 0.5em;
192  text-align: right;
193}
194
195div.verseblock > pre.content {
196  font-family: inherit;
197  font-size: inherit;
198}
199div.verseblock > div.attribution {
200  padding-top: 0.75em;
201  text-align: left;
202}
203/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
204div.verseblock + div.attribution {
205  text-align: left;
206}
207
208div.admonitionblock .icon {
209  vertical-align: top;
210  font-size: 1.1em;
211  font-weight: bold;
212  text-decoration: underline;
213  color: #527bbd;
214  padding-right: 0.5em;
215}
216div.admonitionblock td.content {
217  padding-left: 0.5em;
218  border-left: 3px solid #dddddd;
219}
220
221div.exampleblock > div.content {
222  border-left: 3px solid #dddddd;
223  padding-left: 0.5em;
224}
225
226div.imageblock div.content { padding-left: 0; }
227span.image img { border-style: none; vertical-align: text-bottom; }
228a.image:visited { color: white; }
229
230dl {
231  margin-top: 0.8em;
232  margin-bottom: 0.8em;
233}
234dt {
235  margin-top: 0.5em;
236  margin-bottom: 0;
237  font-style: normal;
238  color: navy;
239}
240dd > *:first-child {
241  margin-top: 0.1em;
242}
243
244ul, ol {
245    list-style-position: outside;
246}
247ol.arabic {
248  list-style-type: decimal;
249}
250ol.loweralpha {
251  list-style-type: lower-alpha;
252}
253ol.upperalpha {
254  list-style-type: upper-alpha;
255}
256ol.lowerroman {
257  list-style-type: lower-roman;
258}
259ol.upperroman {
260  list-style-type: upper-roman;
261}
262
263div.compact ul, div.compact ol,
264div.compact p, div.compact p,
265div.compact div, div.compact div {
266  margin-top: 0.1em;
267  margin-bottom: 0.1em;
268}
269
270tfoot {
271  font-weight: bold;
272}
273td > div.verse {
274  white-space: pre;
275}
276
277div.hdlist {
278  margin-top: 0.8em;
279  margin-bottom: 0.8em;
280}
281div.hdlist tr {
282  padding-bottom: 15px;
283}
284dt.hdlist1.strong, td.hdlist1.strong {
285  font-weight: bold;
286}
287td.hdlist1 {
288  vertical-align: top;
289  font-style: normal;
290  padding-right: 0.8em;
291  color: navy;
292}
293td.hdlist2 {
294  vertical-align: top;
295}
296div.hdlist.compact tr {
297  margin: 0;
298  padding-bottom: 0;
299}
300
301.comment {
302  background: yellow;
303}
304
305.footnote, .footnoteref {
306  font-size: 0.8em;
307}
308
309span.footnote, span.footnoteref {
310  vertical-align: super;
311}
312
313#footnotes {
314  margin: 20px 0 20px 0;
315  padding: 7px 0 0 0;
316}
317
318#footnotes div.footnote {
319  margin: 0 0 5px 0;
320}
321
322#footnotes hr {
323  border: none;
324  border-top: 1px solid silver;
325  height: 1px;
326  text-align: left;
327  margin-left: 0;
328  width: 20%;
329  min-width: 100px;
330}
331
332div.colist td {
333  padding-right: 0.5em;
334  padding-bottom: 0.3em;
335  vertical-align: top;
336}
337div.colist td img {
338  margin-top: 0.3em;
339}
340
341@media print {
342  #footer-badges { display: none; }
343}
344
345#toc {
346  margin-bottom: 2.5em;
347}
348
349#toctitle {
350  color: #527bbd;
351  font-size: 1.1em;
352  font-weight: bold;
353  margin-top: 1.0em;
354  margin-bottom: 0.1em;
355}
356
357div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
358  margin-top: 0;
359  margin-bottom: 0;
360}
361div.toclevel2 {
362  margin-left: 2em;
363  font-size: 0.9em;
364}
365div.toclevel3 {
366  margin-left: 4em;
367  font-size: 0.9em;
368}
369div.toclevel4 {
370  margin-left: 6em;
371  font-size: 0.9em;
372}
373
374span.aqua { color: aqua; }
375span.black { color: black; }
376span.blue { color: blue; }
377span.fuchsia { color: fuchsia; }
378span.gray { color: gray; }
379span.green { color: green; }
380span.lime { color: lime; }
381span.maroon { color: maroon; }
382span.navy { color: navy; }
383span.olive { color: olive; }
384span.purple { color: purple; }
385span.red { color: red; }
386span.silver { color: silver; }
387span.teal { color: teal; }
388span.white { color: white; }
389span.yellow { color: yellow; }
390
391span.aqua-background { background: aqua; }
392span.black-background { background: black; }
393span.blue-background { background: blue; }
394span.fuchsia-background { background: fuchsia; }
395span.gray-background { background: gray; }
396span.green-background { background: green; }
397span.lime-background { background: lime; }
398span.maroon-background { background: maroon; }
399span.navy-background { background: navy; }
400span.olive-background { background: olive; }
401span.purple-background { background: purple; }
402span.red-background { background: red; }
403span.silver-background { background: silver; }
404span.teal-background { background: teal; }
405span.white-background { background: white; }
406span.yellow-background { background: yellow; }
407
408span.big { font-size: 2em; }
409span.small { font-size: 0.6em; }
410
411span.underline { text-decoration: underline; }
412span.overline { text-decoration: overline; }
413span.line-through { text-decoration: line-through; }
414
415div.unbreakable { page-break-inside: avoid; }
416
417
418/*
419 * xhtml11 specific
420 *
421 * */
422
423div.tableblock {
424  margin-top: 1.0em;
425  margin-bottom: 1.5em;
426}
427div.tableblock > table {
428  border: 3px solid #527bbd;
429}
430thead, p.table.header {
431  font-weight: bold;
432  color: #527bbd;
433}
434p.table {
435  margin-top: 0;
436}
437/* Because the table frame attribute is overridden by CSS in most browsers. */
438div.tableblock > table[frame="void"] {
439  border-style: none;
440}
441div.tableblock > table[frame="hsides"] {
442  border-left-style: none;
443  border-right-style: none;
444}
445div.tableblock > table[frame="vsides"] {
446  border-top-style: none;
447  border-bottom-style: none;
448}
449
450
451/*
452 * html5 specific
453 *
454 * */
455
456table.tableblock {
457  margin-top: 1.0em;
458  margin-bottom: 1.5em;
459}
460thead, p.tableblock.header {
461  font-weight: bold;
462  color: #527bbd;
463}
464p.tableblock {
465  margin-top: 0;
466}
467table.tableblock {
468  border-width: 3px;
469  border-spacing: 0px;
470  border-style: solid;
471  border-color: #527bbd;
472  border-collapse: collapse;
473}
474th.tableblock, td.tableblock {
475  border-width: 1px;
476  padding: 4px;
477  border-style: solid;
478  border-color: #527bbd;
479}
480
481table.tableblock.frame-topbot {
482  border-left-style: hidden;
483  border-right-style: hidden;
484}
485table.tableblock.frame-sides {
486  border-top-style: hidden;
487  border-bottom-style: hidden;
488}
489table.tableblock.frame-none {
490  border-style: hidden;
491}
492
493th.tableblock.halign-left, td.tableblock.halign-left {
494  text-align: left;
495}
496th.tableblock.halign-center, td.tableblock.halign-center {
497  text-align: center;
498}
499th.tableblock.halign-right, td.tableblock.halign-right {
500  text-align: right;
501}
502
503th.tableblock.valign-top, td.tableblock.valign-top {
504  vertical-align: top;
505}
506th.tableblock.valign-middle, td.tableblock.valign-middle {
507  vertical-align: middle;
508}
509th.tableblock.valign-bottom, td.tableblock.valign-bottom {
510  vertical-align: bottom;
511}
512
513
514/*
515 * manpage specific
516 *
517 * */
518
519body.manpage h1 {
520  padding-top: 0.5em;
521  padding-bottom: 0.5em;
522  border-top: 2px solid silver;
523  border-bottom: 2px solid silver;
524}
525body.manpage h2 {
526  border-style: none;
527}
528body.manpage div.sectionbody {
529  margin-left: 3em;
530}
531
532@media print {
533  body.manpage div#toc { display: none; }
534}
535
536
537</style>
538<script type="text/javascript">
539/*<![CDATA[*/
540var asciidoc = {  // Namespace.
541
542/////////////////////////////////////////////////////////////////////
543// Table Of Contents generator
544/////////////////////////////////////////////////////////////////////
545
546/* Author: Mihai Bazon, September 2002
547 * http://students.infoiasi.ro/~mishoo
548 *
549 * Table Of Content generator
550 * Version: 0.4
551 *
552 * Feel free to use this script under the terms of the GNU General Public
553 * License, as long as you do not remove or alter this notice.
554 */
555
556 /* modified by Troy D. Hanson, September 2006. License: GPL */
557 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
558
559// toclevels = 1..4.
560toc: function (toclevels) {
561
562  function getText(el) {
563    var text = "";
564    for (var i = el.firstChild; i != null; i = i.nextSibling) {
565      if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
566        text += i.data;
567      else if (i.firstChild != null)
568        text += getText(i);
569    }
570    return text;
571  }
572
573  function TocEntry(el, text, toclevel) {
574    this.element = el;
575    this.text = text;
576    this.toclevel = toclevel;
577  }
578
579  function tocEntries(el, toclevels) {
580    var result = new Array;
581    var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
582    // Function that scans the DOM tree for header elements (the DOM2
583    // nodeIterator API would be a better technique but not supported by all
584    // browsers).
585    var iterate = function (el) {
586      for (var i = el.firstChild; i != null; i = i.nextSibling) {
587        if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
588          var mo = re.exec(i.tagName);
589          if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
590            result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
591          }
592          iterate(i);
593        }
594      }
595    }
596    iterate(el);
597    return result;
598  }
599
600  var toc = document.getElementById("toc");
601  if (!toc) {
602    return;
603  }
604
605  // Delete existing TOC entries in case we're reloading the TOC.
606  var tocEntriesToRemove = [];
607  var i;
608  for (i = 0; i < toc.childNodes.length; i++) {
609    var entry = toc.childNodes[i];
610    if (entry.nodeName.toLowerCase() == 'div'
611     && entry.getAttribute("class")
612     && entry.getAttribute("class").match(/^toclevel/))
613      tocEntriesToRemove.push(entry);
614  }
615  for (i = 0; i < tocEntriesToRemove.length; i++) {
616    toc.removeChild(tocEntriesToRemove[i]);
617  }
618
619  // Rebuild TOC entries.
620  var entries = tocEntries(document.getElementById("content"), toclevels);
621  for (var i = 0; i < entries.length; ++i) {
622    var entry = entries[i];
623    if (entry.element.id == "")
624      entry.element.id = "_toc_" + i;
625    var a = document.createElement("a");
626    a.href = "#" + entry.element.id;
627    a.appendChild(document.createTextNode(entry.text));
628    var div = document.createElement("div");
629    div.appendChild(a);
630    div.className = "toclevel" + entry.toclevel;
631    toc.appendChild(div);
632  }
633  if (entries.length == 0)
634    toc.parentNode.removeChild(toc);
635},
636
637
638/////////////////////////////////////////////////////////////////////
639// Footnotes generator
640/////////////////////////////////////////////////////////////////////
641
642/* Based on footnote generation code from:
643 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
644 */
645
646footnotes: function () {
647  // Delete existing footnote entries in case we're reloading the footnodes.
648  var i;
649  var noteholder = document.getElementById("footnotes");
650  if (!noteholder) {
651    return;
652  }
653  var entriesToRemove = [];
654  for (i = 0; i < noteholder.childNodes.length; i++) {
655    var entry = noteholder.childNodes[i];
656    if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
657      entriesToRemove.push(entry);
658  }
659  for (i = 0; i < entriesToRemove.length; i++) {
660    noteholder.removeChild(entriesToRemove[i]);
661  }
662
663  // Rebuild footnote entries.
664  var cont = document.getElementById("content");
665  var spans = cont.getElementsByTagName("span");
666  var refs = {};
667  var n = 0;
668  for (i=0; i<spans.length; i++) {
669    if (spans[i].className == "footnote") {
670      n++;
671      var note = spans[i].getAttribute("data-note");
672      if (!note) {
673        // Use [\s\S] in place of . so multi-line matches work.
674        // Because JavaScript has no s (dotall) regex flag.
675        note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
676        spans[i].innerHTML =
677          "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
678          "' title='View footnote' class='footnote'>" + n + "</a>]";
679        spans[i].setAttribute("data-note", note);
680      }
681      noteholder.innerHTML +=
682        "<div class='footnote' id='_footnote_" + n + "'>" +
683        "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
684        n + "</a>. " + note + "</div>";
685      var id =spans[i].getAttribute("id");
686      if (id != null) refs["#"+id] = n;
687    }
688  }
689  if (n == 0)
690    noteholder.parentNode.removeChild(noteholder);
691  else {
692    // Process footnoterefs.
693    for (i=0; i<spans.length; i++) {
694      if (spans[i].className == "footnoteref") {
695        var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
696        href = href.match(/#.*/)[0];  // Because IE return full URL.
697        n = refs[href];
698        spans[i].innerHTML =
699          "[<a href='#_footnote_" + n +
700          "' title='View footnote' class='footnote'>" + n + "</a>]";
701      }
702    }
703  }
704},
705
706install: function(toclevels) {
707  var timerId;
708
709  function reinstall() {
710    asciidoc.footnotes();
711    if (toclevels) {
712      asciidoc.toc(toclevels);
713    }
714  }
715
716  function reinstallAndRemoveTimer() {
717    clearInterval(timerId);
718    reinstall();
719  }
720
721  timerId = setInterval(reinstall, 500);
722  if (document.addEventListener)
723    document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
724  else
725    window.onload = reinstallAndRemoveTimer;
726}
727
728}
729asciidoc.install();
730/*]]>*/
731</script>
732</head>
733<body class="manpage">
734<div id="header">
735<h1>
736UNICHARSET(5) Manual Page
737</h1>
738<h2>NAME</h2>
739<div class="sectionbody">
740<p>unicharset -
741   character properties file used by tesseract(1)
742</p>
743</div>
744</div>
745<div id="content">
746<div class="sect1">
747<h2 id="_description">DESCRIPTION</h2>
748<div class="sectionbody">
749<div class="paragraph"><p>Tesseract&#8217;s unicharset file contains information on each symbol
750(unichar) the Tesseract OCR engine is trained to recognize.</p></div>
751<div class="paragraph"><p>A unicharset file (i.e. <em>eng.unicharset</em>) is distributed as part of a
752Tesseract language pack (i.e. <em>eng.traineddata</em>).  For information on
753extracting the unicharset file, see combine_tessdata(1).</p></div>
754<div class="paragraph"><p>The first line of a unicharset file contains the number of unichars in
755the file.  After this line, each subsequent line provides information for
756a single unichar.  The first such line contains a placeholder reserved for
757the space character.  Each unichar is referred to within Tesseract by its
758Unichar ID, which is the line number (minus 1) within the unicharset file.
759Therefore, space gets unichar 0.</p></div>
760<div class="paragraph"><p>Each unichar line in the unicharset file (v2+) may have four space-separated fields:</p></div>
761<div class="literalblock">
762<div class="content monospaced">
763<pre>'character' 'properties' 'script' 'id'</pre>
764</div></div>
765<div class="paragraph"><p>Starting with Tesseract v3.02, more information may be given for each unichar:</p></div>
766<div class="literalblock">
767<div class="content monospaced">
768<pre>'character' 'properties' 'glyph_metrics' 'script' 'other_case' 'direction' 'mirror' 'normed_form'</pre>
769</div></div>
770<div class="paragraph"><p>Entries:</p></div>
771<div class="dlist"><dl>
772<dt class="hdlist1">
773<em>character</em>
774</dt>
775<dd>
776<p>
777The UTF-8 encoded string to be produced for this unichar.
778</p>
779</dd>
780<dt class="hdlist1">
781<em>properties</em>
782</dt>
783<dd>
784<p>
785An integer mask of character properties, one per bit.
786    From least to most significant bit, these are: isalpha, islower, isupper,
787    isdigit, ispunctuation.
788</p>
789</dd>
790<dt class="hdlist1">
791<em>glyph_metrics</em>
792</dt>
793<dd>
794<p>
795Ten comma-separated integers representing various standards
796    for where this glyph is to be found within a baseline-normalized coordinate
797    system where 128 is normalized to x-height.
798</p>
799<div class="ulist"><ul>
800<li>
801<p>
802min_bottom, max_bottom: the ranges where the bottom of the character can
803    be found.
804</p>
805</li>
806<li>
807<p>
808min_top, max_top: the ranges where the top of the character may be found.
809</p>
810</li>
811<li>
812<p>
813min_width, max_width: horizontal width of the character.
814</p>
815</li>
816<li>
817<p>
818min_bearing, max_bearing: how far from the usual start position does the
819    leftmost part of the character begin.
820</p>
821</li>
822<li>
823<p>
824min_advance, max_advance: how far from the printer&#8217;s cell left do we
825    advance to begin the next character.
826</p>
827</li>
828</ul></div>
829</dd>
830<dt class="hdlist1">
831<em>script</em>
832</dt>
833<dd>
834<p>
835Name of the script (Latin, Common, Greek, Cyrillic, Han, null).
836</p>
837</dd>
838<dt class="hdlist1">
839<em>other_case</em>
840</dt>
841<dd>
842<p>
843The Unichar ID of the other case version of this character
844    (upper or lower).
845</p>
846</dd>
847<dt class="hdlist1">
848<em>direction</em>
849</dt>
850<dd>
851<p>
852The Unicode BiDi direction of this character, as defined by
853    ICU&#8217;s enum UCharDirection. (0 = Left to Right, 1 = Right to Left,
854    2 = European Number&#8230;)
855</p>
856</dd>
857<dt class="hdlist1">
858<em>mirror</em>
859</dt>
860<dd>
861<p>
862The Unichar ID of the BiDirectional mirror of this character.
863    For example the mirror of open paren is close paren, but Latin Capital C
864    has no mirror, so it remains a Latin Capital C.
865</p>
866</dd>
867<dt class="hdlist1">
868<em>normed_form</em>
869</dt>
870<dd>
871<p>
872The UTF-8 representation of a "normalized form" of this unichar
873    for the purpose of blaming a module for errors given ground truth text.
874    For instance, a left or right single quote may normalize to an ASCII quote.
875</p>
876</dd>
877</dl></div>
878</div>
879</div>
880<div class="sect1">
881<h2 id="_example_v2">EXAMPLE (v2)</h2>
882<div class="sectionbody">
883<div class="literalblock">
884<div class="content monospaced">
885<pre>; 10 Common 46
886b 3 Latin 59
887W 5 Latin 40
8887 8 Common 66
889= 0 Common 93</pre>
890</div></div>
891<div class="paragraph"><p>";" is a punctuation character. Its properties are thus represented by the
892binary number 10000 (10 in hexadecimal).</p></div>
893<div class="paragraph"><p>"b" is an alphabetic character and a lower case character. Its properties are
894thus represented by the binary number 00011 (3 in hexadecimal).</p></div>
895<div class="paragraph"><p>"W" is an alphabetic character and an upper case character. Its properties are
896thus represented by the binary number 00101 (5 in hexadecimal).</p></div>
897<div class="paragraph"><p>"7" is just a digit. Its properties are thus represented by the binary number
89801000 (8 in hexadecimal).</p></div>
899<div class="paragraph"><p>"=" is not punctuation nor a digit nor an alphabetic character. Its properties
900are thus represented by the binary number 00000 (0 in hexadecimal).</p></div>
901<div class="paragraph"><p>Japanese or Chinese alphabetic character properties are represented by the
902binary number 00001 (1 in hexadecimal): they are alphabetic, but neither
903upper nor lower case.</p></div>
904</div>
905</div>
906<div class="sect1">
907<h2 id="_example_v3_02">EXAMPLE (v3.02)</h2>
908<div class="sectionbody">
909<div class="literalblock">
910<div class="content monospaced">
911<pre>110
912NULL 0 NULL 0
913N 5 59,68,216,255,87,236,0,27,104,227 Latin 11 0 1 N
914Y 5 59,68,216,255,91,205,0,47,91,223 Latin 33 0 2 Y
9151 8 59,69,203,255,45,128,0,66,74,173 Common 3 2 3 1
9169 8 18,66,203,255,89,156,0,39,104,173 Common 4 2 4 9
917a 3 58,65,186,198,85,164,0,26,97,185 Latin 56 0 5 a
918. . .</pre>
919</div></div>
920</div>
921</div>
922<div class="sect1">
923<h2 id="_caveats">CAVEATS</h2>
924<div class="sectionbody">
925<div class="paragraph"><p>Although the unicharset reader maintains the ability to read unicharsets
926of older formats and will assign default values to missing fields,
927the accuracy will be degraded.</p></div>
928<div class="paragraph"><p>Further, most other data files are indexed by the unicharset file,
929so changing it without re-generating the others is likely to have dire
930consequences.</p></div>
931</div>
932</div>
933<div class="sect1">
934<h2 id="_history">HISTORY</h2>
935<div class="sectionbody">
936<div class="paragraph"><p>The unicharset format first appeared with Tesseract 2.00, which was the
937first version to support languages other than English. The unicharset file
938contained only the first two fields, and the "ispunctuation" property was
939absent (punctuation was regarded as "0", as "=" is in the above example.</p></div>
940</div>
941</div>
942<div class="sect1">
943<h2 id="_see_also">SEE ALSO</h2>
944<div class="sectionbody">
945<div class="paragraph"><p>tesseract(1), combine_tessdata(1), unicharset_extractor(1)</p></div>
946<div class="paragraph"><p><a href="https://tesseract-ocr.github.io/tessdoc/Training-Tesseract.html">https://tesseract-ocr.github.io/tessdoc/Training-Tesseract.html</a></p></div>
947</div>
948</div>
949<div class="sect1">
950<h2 id="_author">AUTHOR</h2>
951<div class="sectionbody">
952<div class="paragraph"><p>The Tesseract OCR engine was written by Ray Smith and his research groups
953at Hewlett Packard (1985-1995) and Google (2006-2018).</p></div>
954</div>
955</div>
956</div>
957<div id="footnotes"><hr></div>
958<div id="footer">
959<div id="footer-text">
960Last updated
961 2024-05-19 13:04:22 CEST
962</div>
963</div>
964</body>
965</html>
966