parentheses.
The complete syntax for a valid REQUEST allows for unusual things,
-which might surprise at first. (Do not pay too much attention to these
-facilities on first reading.) For example, REQUEST may also contain
-intermediate charsets, like in the following example:
+which might be surprising at first. (Do not pay too much attention to
+these facilities on first reading.) For example, REQUEST may also
+contain intermediate charsets, like in the following example:
BEFORE..INTERIM1..INTERIM2..AFTER
recode_scan_request (request, "ibmpc..latin1");
task = recode_new_task (request);
- task->input.file = "";
- task->output.file = "";
+ task->input.name = "";
+ task->output.name = "";
success = recode_perform_task (task);
recode_delete_task (task);
13 All about surfaces
*********************
-The "trivial surface" consists of using a fixed number of bits (often
-eight) for each character, the bits together hold the integer value of
-the index for the character in its charset table. There are many kinds
-of surfaces, beyond the trivial one, all having the purpose of
-increasing selected qualities for the storage or transmission. For
+A "surface" is the varnish added over a charset so it fits in actual
+bits and bytes. How end of lines are exactly encoded is not really
+pertinent to the charset, and so, there is surface for end of lines.
+`Base64' is also a surface, as we may encode any charset in it. Other
+examples would DES enciphering, or gzip compression (even if Recode
+does not offer them currently): these are ways to give a real life to
+theoretical charsets.
+
+ The "trivial surface" consists of using a fixed number of bits
+(often eight) for each character, the bits together hold the integer
+value of the index for the character in its charset table. There are
+many kinds of surfaces, beyond the trivial one, all having the purpose
+of increasing selected qualities for the storage or transmission. For
example, surfaces might increase the resistance to channel limits
(`Base64'), the transmission speed (`gzip'), the information privacy
(`DES'), the conformance to operating system conventions (`CR-LF'), the
* stdbool.h header: Outer level. (line 31)
* strict operation: Reversibility. (line 48)
* string and comments conversion: Mixed. (line 39)
-* structural surfaces: Surfaces. (line 36)
+* structural surfaces: Surfaces. (line 44)
* subsets in charsets: Listings. (line 222)
* super-charsets: Mule. (line 6)
* supported programming languages: Listings. (line 26)
* surface, what it is: Introduction. (line 31)
* surfaces, aliases: Requests. (line 80)
* surfaces, commutativity: Requests. (line 57)
-* surfaces, implementation in Recode: Surfaces. (line 26)
+* surfaces, implementation in Recode: Surfaces. (line 34)
* surfaces, implied: Requests. (line 69)
* surfaces, overview: Surface overview. (line 6)
-* surfaces, structural: Surfaces. (line 36)
+* surfaces, structural: Surfaces. (line 44)
* surfaces, syntax: Requests. (line 52)
-* surfaces, trees: Surfaces. (line 36)
+* surfaces, trees: Surfaces. (line 44)
* system detected problem, error message: Errors. (line 71)
* task execution: Task level. (line 215)
* task level functions: Task level. (line 6)
* Texinfo files: Texinfo. (line 6)
* threshold for error reporting: Errors. (line 91)
* time stamps of files: Recoding. (line 26)
-* trivial surface: Surfaces. (line 6)
+* trivial surface: Surfaces. (line 14)
* tutorial: Tutorial. (line 6)
* unavailable conversions: Charset overview. (line 33)
* Unicode: UCS-2. (line 6)
* d1: Dump. (line 45)
* d2: Dump. (line 52)
* d4: Dump. (line 59)
-* data, a special charset: Surfaces. (line 26)
+* data, a special charset: Surfaces. (line 34)
* data, not with charsets: Charset overview. (line 33)
* de: Tabular. (line 142)
* dec: Tabular. (line 138)
* TF-7: UTF-7. (line 12)
* TF-8: UTF-8. (line 83)
* ti: Texinfo. (line 6)
-* tree, a special charset: Surfaces. (line 26)
+* tree, a special charset: Surfaces. (line 34)
* txte: Texte. (line 6)
* u2: UCS-2. (line 30)
* u4: UCS-4. (line 10)
Node: Synopsis\7f20633
Ref: Synopsis-Footnote-1\7f23073
Node: Requests\7f23370
-Ref: Requests-Footnote-1\7f29255
-Ref: Requests-Footnote-2\7f29322
-Ref: Requests-Footnote-3\7f29500
-Node: Listings\7f29959
-Ref: Listings-Footnote-1\7f41108
-Node: Recoding\7f41431
-Node: Reversibility\7f44252
-Ref: Reversibility-Footnote-1\7f52707
-Node: Sequencing\7f52844
-Node: Mixed\7f55288
-Node: Emacs\7f58656
-Node: Debugging\7f59690
-Node: Library\7f63960
-Node: Outer level\7f65314
-Node: Request level\7f71424
-Node: Task level\7f81891
-Node: Charset level\7f92313
-Node: Errors\7f93155
-Ref: Errors-Footnote-1\7f98001
-Ref: Errors-Footnote-2\7f98115
-Node: Universal\7f98476
-Ref: Universal-Footnote-1\7f101588
-Ref: Universal-Footnote-2\7f101654
-Node: UCS-2\7f101867
-Node: UCS-4\7f104393
-Node: UTF-7\7f104933
-Node: UTF-8\7f105528
-Node: UTF-16\7f109833
-Node: count-characters\7f110981
-Node: dump-with-names\7f111652
-Node: iconv\7f114201
-Node: Tabular\7f117632
-Node: ASCII misc\7f139845
-Node: ASCII\7f140211
-Node: ISO 8859\7f141027
-Node: ASCII-BS\7f143321
-Node: flat\7f145158
-Node: IBM and MS\7f145829
-Node: EBCDIC\7f146373
-Node: IBM-PC\7f148469
-Ref: IBM-PC-Footnote-1\7f150583
-Node: Icon-QNX\7f150742
-Node: CDC\7f151167
-Node: Display Code\7f152848
-Ref: Display Code-Footnote-1\7f155129
-Node: CDC-NOS\7f155334
-Node: Bang-Bang\7f157296
-Node: Micros\7f159225
-Node: Apple-Mac\7f159608
-Node: AtariST\7f161642
-Node: Miscellaneous\7f162628
-Node: HTML\7f163361
-Node: LaTeX\7f169350
-Node: Texinfo\7f170124
-Node: Vietnamese\7f170896
-Node: African\7f171872
-Node: Others\7f173222
-Node: Texte\7f174676
-Ref: Texte-Footnote-1\7f179226
-Ref: Texte-Footnote-2\7f179306
-Ref: Texte-Footnote-3\7f179781
-Node: Mule\7f179878
-Ref: Mule-Footnote-1\7f181659
-Node: Surfaces\7f182178
-Ref: Surfaces-Footnote-1\7f185156
-Node: Permutations\7f185260
-Node: End lines\7f186101
-Node: MIME\7f188302
-Node: Dump\7f189489
-Node: Test\7f193659
-Node: Internals\7f196137
-Node: Main flow\7f197365
-Node: New charsets\7f200468
-Node: New surfaces\7f205006
-Node: Design\7f205732
-Ref: Design-Footnote-1\7f214898
-Node: Concept Index\7f215002
-Node: Option Index\7f229745
-Node: Library Index\7f232598
-Node: Charset and Surface Index\7f237173
+Ref: Requests-Footnote-1\7f29260
+Ref: Requests-Footnote-2\7f29327
+Ref: Requests-Footnote-3\7f29505
+Node: Listings\7f29964
+Ref: Listings-Footnote-1\7f41113
+Node: Recoding\7f41436
+Node: Reversibility\7f44257
+Ref: Reversibility-Footnote-1\7f52712
+Node: Sequencing\7f52849
+Node: Mixed\7f55293
+Node: Emacs\7f58661
+Node: Debugging\7f59695
+Node: Library\7f63965
+Node: Outer level\7f65319
+Node: Request level\7f71429
+Node: Task level\7f81896
+Node: Charset level\7f92318
+Node: Errors\7f93160
+Ref: Errors-Footnote-1\7f98006
+Ref: Errors-Footnote-2\7f98120
+Node: Universal\7f98481
+Ref: Universal-Footnote-1\7f101593
+Ref: Universal-Footnote-2\7f101659
+Node: UCS-2\7f101872
+Node: UCS-4\7f104398
+Node: UTF-7\7f104938
+Node: UTF-8\7f105533
+Node: UTF-16\7f109838
+Node: count-characters\7f110986
+Node: dump-with-names\7f111657
+Node: iconv\7f114206
+Node: Tabular\7f117637
+Node: ASCII misc\7f139850
+Node: ASCII\7f140216
+Node: ISO 8859\7f141032
+Node: ASCII-BS\7f143326
+Node: flat\7f145163
+Node: IBM and MS\7f145834
+Node: EBCDIC\7f146378
+Node: IBM-PC\7f148474
+Ref: IBM-PC-Footnote-1\7f150588
+Node: Icon-QNX\7f150747
+Node: CDC\7f151172
+Node: Display Code\7f152853
+Ref: Display Code-Footnote-1\7f155134
+Node: CDC-NOS\7f155339
+Node: Bang-Bang\7f157301
+Node: Micros\7f159230
+Node: Apple-Mac\7f159613
+Node: AtariST\7f161647
+Node: Miscellaneous\7f162633
+Node: HTML\7f163366
+Node: LaTeX\7f169355
+Node: Texinfo\7f170129
+Node: Vietnamese\7f170901
+Node: African\7f171877
+Node: Others\7f173227
+Node: Texte\7f174681
+Ref: Texte-Footnote-1\7f179231
+Ref: Texte-Footnote-2\7f179311
+Ref: Texte-Footnote-3\7f179786
+Node: Mule\7f179883
+Ref: Mule-Footnote-1\7f181664
+Node: Surfaces\7f182183
+Ref: Surfaces-Footnote-1\7f185602
+Node: Permutations\7f185706
+Node: End lines\7f186547
+Node: MIME\7f188748
+Node: Dump\7f189935
+Node: Test\7f194105
+Node: Internals\7f196583
+Node: Main flow\7f197811
+Node: New charsets\7f200914
+Node: New surfaces\7f205452
+Node: Design\7f206178
+Ref: Design-Footnote-1\7f215344
+Node: Concept Index\7f215448
+Node: Option Index\7f230191
+Node: Library Index\7f233044
+Node: Charset and Surface Index\7f237619
\1f
End Tag Table