33< head >
44< meta http-equiv ="Content-Type " content ="text/html; charset=UTF-8 ">
55< title > Analyser: Enca Library Reference Manual</ title >
6- < meta name ="generator " content ="DocBook XSL Stylesheets V1.79.1 ">
6+ < meta name ="generator " content ="DocBook XSL Stylesheets Vsnapshot ">
77< link rel ="home " href ="index.html " title ="Enca Library Reference Manual ">
88< link rel ="up " href ="ch01.html " title ="Enca Library API ">
99< link rel ="prev " href ="ch01.html " title ="Enca Library API ">
1010< link rel ="next " href ="libenca-Typedefs-and-Constants.html " title ="Typedefs and Constants ">
11- < meta name ="generator " content ="GTK-Doc V1.25 (XML mode) ">
11+ < meta name ="generator " content ="GTK-Doc V1.33.1 (XML mode) ">
1212< link rel ="stylesheet " href ="style.css " type ="text/css ">
1313</ head >
1414< body bgcolor ="white " text ="black " link ="#0000FF " vlink ="#840084 " alink ="#0000FF ">
@@ -33,20 +33,14 @@ <h2><span class="refentrytitle"><a name="libenca-Analyser.top_of_page"></a>Analy
3333</ tr > </ table > </ div >
3434< div class ="refsect1 ">
3535< a name ="libenca-Analyser.description "> </ a > < h2 > Description</ h2 >
36- < p >
37- Basically you want to allocate an analyser with < code class ="function "> enca_analyser_alloc()</ code > for some
36+ < p > Basically you want to allocate an analyser with < code class ="function "> enca_analyser_alloc()</ code > for some
3837language, use < code class ="function "> enca_analyse()</ code > (or < code class ="function "> enca_analyse_const()</ code > ) on a buffer to find its
3938encoding, and interpret the results with something like < code class ="function "> enca_charset_name()</ code > .
4039The analyser then can be used for another buffer. Once you no longer need
4140it, call < code class ="function "> enca_analyser_free()</ code > to release it.
42- </ p >
43- < p >
44- A single working example is better than a hundred pages of reference manual.
45- </ p >
46- < div class ="example ">
47- < a name ="id-1.2.2.3.4 "> </ a > < p class ="title "> < b > Example 1. A minimal Enca library application – Czech encoding
48- detector.</ b > </ p >
49- < div class ="example-contents ">
41+ A single working example is better than a hundred pages of reference manual.</ p >
42+ < p > A minimal Enca library application – Czech encoding detector.</ p >
43+ < div class ="informalexample ">
5044 < table class ="listing_frame " border ="0 " cellpadding ="0 " cellspacing ="0 ">
5145 < tbody >
5246 < tr >
@@ -66,50 +60,39 @@ <h2><span class="refentrytitle"><a name="libenca-Analyser.top_of_page"></a>Analy
666014
676115
686216
69- 17</ pre > </ td >
70- < td class ="listing_code "> < pre class ="programlisting "> < span class ="gtkdoc ppc "> #include <stdio.h></ span >
71- < span class ="gtkdoc ppc "> #include <enca.h></ span >
72- < span class ="gtkdoc kwb "> int</ span >
73- < span class ="function "> main</ span > < span class ="gtkdoc opt "> (</ span > < span class ="gtkdoc kwb "> void</ span > < span class ="gtkdoc opt "> )</ span >
74- < span class ="gtkdoc opt "> {</ span >
75- EncaAnalyser analyser< span class ="gtkdoc opt "> ;</ span >
76- EncaEncoding encoding< span class ="gtkdoc opt "> ;</ span >
77- < span class ="gtkdoc kwb "> unsigned char</ span > buffer< span class ="gtkdoc opt "> [</ span > < span class ="number "> 4096</ span > < span class ="gtkdoc opt "> ];</ span >
78- < span class ="gtkdoc kwb "> size_t</ span > buflen< span class ="gtkdoc opt "> ;</ span >
79- buflen < span class ="gtkdoc opt "> =</ span > < span class ="function "> fread</ span > < span class ="gtkdoc opt "> (</ span > buffer< span class ="gtkdoc opt "> ,</ span > < span class ="number "> 1</ span > < span class ="gtkdoc opt "> ,</ span > < span class ="number "> 4096</ span > < span class ="gtkdoc opt "> ,</ span > stdin< span class ="gtkdoc opt "> );</ span >
80- analyser < span class ="gtkdoc opt "> =</ span > < span class ="function "> enca_analyser_alloc</ span > < span class ="gtkdoc opt "> (</ span > < span class ="string "> "cs"</ span > < span class ="gtkdoc opt "> );</ span >
81- encoding < span class ="gtkdoc opt "> =</ span > < span class ="function "> enca_analyse</ span > < span class ="gtkdoc opt "> (</ span > analyser< span class ="gtkdoc opt "> ,</ span > buffer< span class ="gtkdoc opt "> ,</ span > buflen< span class ="gtkdoc opt "> );</ span >
82- < span class ="function "> printf</ span > < span class ="gtkdoc opt "> (</ span > < span class ="string "> "Charset: %%s</ span > < span class ="gtkdoc esc "> \n</ span > < span class ="string "> "</ span > < span class ="gtkdoc opt "> ,</ span > < span class ="function "> enca_charset_name</ span > < span class ="gtkdoc opt "> (</ span > encoding< span class ="gtkdoc opt "> .</ span > charset< span class ="gtkdoc opt "> ,</ span >
83- ENCA_NAME_STYLE_HUMAN< span class ="gtkdoc opt "> ));</ span >
84- < span class ="function "> enca_analyser_free</ span > < span class ="gtkdoc opt "> (</ span > analyser< span class ="gtkdoc opt "> );</ span >
85- < span class ="keyword "> return</ span > < span class ="number "> 0</ span > < span class ="gtkdoc opt "> ;</ span >
86- < span class ="gtkdoc opt "> }</ span > </ pre > </ td >
63+ 17
64+ 18</ pre > </ td >
65+ < td class ="listing_code "> < pre class ="programlisting "> < span class ="cp "> #include</ span > < span class ="w "> </ span > < span class ="cpf "> <stdio.h></ span >
66+ < span class ="cp "> #include</ span > < span class ="w "> </ span > < span class ="cpf "> <enca.h></ span >
67+ < span class ="kt "> int</ span > < span class ="w "> </ span > < span class ="nf "> main</ span > < span class ="p "> (</ span > < span class ="kt "> void</ span > < span class ="p "> )</ span >
68+ < span class ="p "> {</ span >
69+ < span class ="n "> EncaAnalyser</ span > < span class ="w "> </ span > < span class ="n "> analyser</ span > < span class ="p "> ;</ span >
70+ < span class ="n "> EncaEncoding</ span > < span class ="w "> </ span > < span class ="n "> encoding</ span > < span class ="p "> ;</ span >
71+ < span class ="kt "> unsigned</ span > < span class ="w "> </ span > < span class ="kt "> char</ span > < span class ="w "> </ span > < span class ="n "> buffer</ span > < span class ="p "> [</ span > < span class ="mi "> 4096</ span > < span class ="p "> ];</ span >
72+ < span class ="kt "> size_t</ span > < span class ="w "> </ span > < span class ="n "> buflen</ span > < span class ="p "> ;</ span >
73+
74+ < span class ="n "> buflen</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="n "> fread</ span > < span class ="p "> (</ span > < span class ="n "> buffer</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="mi "> 4096</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> stdin</ span > < span class ="p "> );</ span >
75+ < span class ="n "> analyser</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="n "> enca_analyser_alloc</ span > < span class ="p "> (</ span > < span class ="s "> "cs"</ span > < span class ="p "> );</ span >
76+ < span class ="n "> encoding</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="n "> enca_analyse</ span > < span class ="p "> (</ span > < span class ="n "> analyser</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> buffer</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> buflen</ span > < span class ="p "> );</ span >
77+ < span class ="n "> printf</ span > < span class ="p "> (</ span > < span class ="s "> "Charset: %s</ span > < span class ="se "> \n</ span > < span class ="s "> "</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> enca_charset_name</ span > < span class ="p "> (</ span > < span class ="n "> encoding</ span > < span class ="p "> .</ span > < span class ="n "> charset</ span > < span class ="p "> ,</ span >
78+ < span class ="w "> </ span > < span class ="n "> ENCA_NAME_STYLE_HUMAN</ span > < span class ="p "> ));</ span >
79+ < span class ="n "> enca_analyser_free</ span > < span class ="p "> (</ span > < span class ="n "> analyser</ span > < span class ="p "> );</ span >
80+
81+ < span class ="k "> return</ span > < span class ="w "> </ span > < span class ="mi "> 0</ span > < span class ="p "> ;</ span >
82+ < span class ="p "> }</ span > </ pre > </ td >
8783 </ tr >
8884 </ tbody >
8985 </ table >
9086</ div >
9187
92- </ div >
93- < br class ="example-break "> < p >
94- The analyser has plenty of options, but generally you don't need to fiddle
95- with them, except < code class ="function "> enca_set_termination_strictness()</ code > .
96- </ p >
97- < p >
98- All names prefixed with < code class ="function "> ENCA_</ code > ,
99- < code class ="function "> Enca</ code > , < code class ="function "> _Enca</ code > ,
100- or < code class ="function "> enca_</ code > should be treated as reserved and not used for
101- application function/variable/type/macro names.
102- </ p >
88+ < p > </ p >
10389</ div >
10490< div class ="refsect1 ">
10591< a name ="libenca-Analyser.functions_details "> </ a > < h2 > Functions</ h2 >
10692< p > </ p >
10793</ div >
108- < div class ="refsect1 ">
109- < a name ="libenca-Analyser.other_details "> </ a > < h2 > Types and Values</ h2 >
110- </ div >
11194</ div >
11295< div class ="footer ">
113- < hr > Generated by GTK-Doc V1.25 </ div >
96+ < hr > Generated by GTK-Doc V1.33.1 </ div >
11497</ body >
11598</ html >
0 commit comments