"SfR Fresh" - the SfR Freeware/Shareware Archive 
Member "Lynx/lynx_doc/docs/README.chartrans" of archive lynx.zip:
As a special service "SfR Fresh" has tried to format the requested source page into HTML format using source code syntax highlighting with prefixed line numbers.
Alternatively you can here view or download the uninterpreted source code file.
That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
1 Lynx CHARTRANS
2
3 Features (in addition to those which Lynx 2.7.1 already has):
4
5 - Can (attempt to) translate from any document charset to any display
6 character set, *IF* the document charset is known by a translation
7 table (compiled in at installation).
8
9 - New method to define character sets: used for input charset as well
10 as display character set, translation tables compiled in from
11 separate files (one per charset). One table is designated as default
12 and can be used for fallback translation to 7-bit replacements for
13 display.
14
15 - New method for specifying translations of SGML entities.
16
17 - Unicode (UTF-8) support: can (attempt to) decode and translate UTF-8 to
18 display character set, or pass through UTF to display (if terminal
19 or console understands UTF-8). [raw display of UTF only tested with Slang
20 so far, does not always position everything correctly on screen]
21
22 - Support for CHARSET attribute on A tag (and sometimes LINK), as in HTML
23 i18n RFC 2070 and W3C HTML 4.0 drafts. A link can suggest the target's
24 charset in this way.
25
26 - Support for ACCEPT-CHARSET attribute of FORM tags.
27
28 - EXPERIMENTAL, currently enabled only for Linux console:
29 can (attempt to) automatically switch terminal mode and load new
30 code pages on change of display character set.
31
32 - some minor changes: sometimes invalid characters were displayed in a hex
33 notation Uxxxx (helps debugging, but I also regard it as at least not
34 worse than showing the wrong char without warning), now they are not
35 displayed to reduce garbage.
36
37 Additions/changes to user interface:
38
39 - many new Display Character Sets are available on O)ptions screen.
40 (One can use arrow keys, HOME, END etc. for cycling through the list
41 or use selection from popup box, as for other options.)
42
43 - new command line flags:
44 -assume_charset=... assume this as charset for documents that don't
45 specify a charset parameter in HTTP headers
46 -assume_local_charset=... assume this as charset of local file
47 -assume_unrec_charset=... in case a charset parameter is not recognized;
48 docs also available as ASSUME_CHARSET etc. in lynx.cfg
49 In "Advanced User" mode, ASSUME_CHARSET can be changed during a session
50 from the Options Screen.
51
52 - The "Raw" toggle (from -raw flag, '@' key, or Options screen)
53 o toggles the assumption "Default remote charset is same as Display
54 Character Set" on or off.
55 Toggling of the assumed charset is between Display Character Set and
56 the specified ASSUME_CHARSET or, if they are the same, between the
57 specified ASSUME_CHARSET and ISO-8859-1.
58 o The default for raw mode now depends on the Display Character Set as
59 well as on the specified ASSUME_CHARSET value.
60 o should work as before for CJK charsets (turning CJK-mode on or off).
61 o If the effective ASSUME_CHARSET and the Display Character Set are
62 unchanged from the ISO-8859-1 default, toggling "Raw" may have some
63 additional effect for characters that can't be translated.
64 (Try the "Transparent" Display Character Set for more "rawness".)
65
66
67 Requirements: same as for Lynx in general :)
68
69 The chartrans code is now merged with Wayne Buttle's changes for
70 32-bit MS Windows and DOS/DJGPP, with Thomas Dickey's and Jim Spath's
71 emerging auto-configure mechanism, and with BUGFIXES from Foteos
72 Macrides. See the accompanying file CHANGES for the current
73 status.
74
75
76 A warning:
77 In some cases undisplayable bytes may still get sent to the terminal
78 which are then interpreted as control chars, there is no protection
79 against if strange things are defined in the table files.
80
81
82 HOW TO INSTALL:
83
84 (4) before compiling:
85
86 Check top level makefile or Makefile and userdefs.h as usual.
87
88 NOTE that there is a new "#define" in userdefs.h for MAX_CHARSETS
89 near the end (in "Section 3.").
90
91 (5) Building Lynx:
92
93 Compiling the chartrans code is now integrated into the normal
94 installation procedures for UNIX (configure script) and other
95 platforms.
96
97 What's supposed to happen (in addition to the usual things when
98 building Lynx): in the new subdirectory src/chrtrans, make should
99 first compile the auxiliary program `makeuctb', then invoke that
100 program to create xxxxx_yyy.h files from the provided xxxxx_yyy.tab
101 translation table files. (See README.* files in src/chrtrans for
102 more info.)
103
104 If all goes well, just invoking make from the top-level Lynx dir
105 as usual should do everything automatically. If not, the makefiles
106 may need some tweaking... or:
107
108 (6) Some things to look at if compilation fails:
109
110 In src/chrtrans/UCkd.h there is a typedef for an unsigned 16bit
111 numeric type which may need to be changed for your system.
112 See comment near top there.
113
114 For recompiling Lynx, `make clean' should not be necessary if only
115 files in src/chrtrans have been changed. On the other hand
116 may not propagate to the src/chrtrans directory (depending how things
117 are going with auto-config), you may have to cd to that directory
118 and `make clean' there to really clean up there.
119
120 (7) To customize (add/change translation tables etc.):
121
122 See README.* files in src/chrtrans.
123 Make the necessary changes there, then recompile.
124 (A general `make clean' should not be necessary, but make sure
125 the ...uni.h file in src/chrtrans gets regenerated.)
126
127 Note that definition of new character entities (if e.g., you want
128 Lynx to recognize Ž) are not covered by these table files,
129 they have to be listed in entities.h.
130
131 _If you are on a Linux system_ and using Lynx on the console (i.e.
132 not xterm, not a dialup *into* the Linux box), you can compile
133 with -DEXP_CHARTRANS_AUTOSWITCH. This is very useful for testing
134 the various Display Character Sets, Lynx will try to automatically
135 change the console state. You need to have the Linux kbd package
136 installed, with a working `setfont' command executable by the user,
137 and the right font files - check the source in src/UCAuto.c for
138 the files used and/or to change them!
139 NOTE that with this enabled,
140 - Lynx currently will not clean up the console state at exit,
141 it will probably left like the last Display Character Set you used.
142 - Loading a font is global across _all_ virtual text consoles, so
143 using Lynx (compiled with this flag) may change the appearance of
144 text on other consoles (if that text contains characters
145 beyond US-ASCII).
146
147 (8) Some suggested Web pages for testing:
148
149 <URL: http://www.tezcat.com/~kweide/lynx-chartrans/test/>
150
151 <URL: http://www.isoc.org:8080/>,
152 especially
153 <URL: http://www.isoc.org:8080/liste_ml.htm>.
154
155 <URL: http://www.accentsoft.com/un/un-all.htm>
156
157 (9) Please report bugs, unexpected behavior, etc.
158 to <lynx-dev@nongnu.org>.
159
160 Suggestions for improvement would be welcome, as well as
161 contributed translation tables (for stuff that is not available
162 at ftp://dkuug.dk or ftp://ftp.unicode.org).
163
164 KW 1997-11-06