osama347/kyc-verification
0
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/*<+'])');
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’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’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’s enum UCharDirection. (0 = Left to Right, 1 = Right to Left,
854 2 = European Number…)
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 