diff options
Diffstat (limited to 'src/chrtrans/README.tables')
-rw-r--r-- | src/chrtrans/README.tables | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/src/chrtrans/README.tables b/src/chrtrans/README.tables new file mode 100644 index 00000000..14431dad --- /dev/null +++ b/src/chrtrans/README.tables @@ -0,0 +1,76 @@ +The translation table files in this directory were collected from +several sources (among them ftp://ftp.unicode.org, Linux kbd package, +ftp://dkuug.dk/) and are believed to be correct in their mappings, +but not checked in detail. The Unicode/UCS2 values +for some of the RFC 1345 Mnemonic codes are out of date, +a cleanup and update would be needed for serious use. +[See also http://czyborra.com/charsets/iso8859.html for codepages survey.] + +These changes were made to all of the files used from ftp.unicode.org: + + a) add the MIME name of the charset. + b) add a name for the display charset (used on Options screen) + c) add the codepage number + d) remove lines for control characters 0x00 to 0x1f, 0x7f to 0x9f. + e) comment-out ASCII lines 0x20 to 0x7f + f) use idem to represent the commented-out lines + g) change C-style 0xNNNN constants to Unicode-style U+NNNN. + +Other changes include + + h) add code-points to several lines to provide Unicode equivalents + i) add extra mappings at the end of the files + j) comment-out other one-one mappings in the 0xa0-0xff range. + +More translation files can be easily provided (and new character entities +added to entities.h), this set is just to test whether the system works +in principle (and also how it behaves with incomplete data...) + +See the file README.format for a brief explanation of what's in the +table files. + +The examples have names *_uni or *_suni with a .tbl suffix, but it +doesn't really matter. The auxiliary program makeuctb (MAKE UniCode +TaBle) is used to "compile" them into C header files, which can be +included by UCdomap.c. + +Ideally, this should be taken care of by the Makefiles. On VMS, use +build-chrtrans.com to compile and link makeuctb.exe and create the +set of .h files from the current set of .tbl files. Thereafter, use +build-header.com to update particular .h files. + +To make a new chartrans table available to Lynx (and thereby make a new +charset known to Lynx) you currently have to manually edit UCdomap.c, in +two places: + +a) Near the top, you will find a bunch of lines (some may be commented out) + + #include "<fn>.h" + +Add or comment out as you wish. But it is probably safest to leave the +commonly used ones, referring to "def7_uni.h" and "iso01_uni.h", in place. + +b) At the bottom, you will find a bunch of lines (again, some may be + commented out by default) of the form + + UC_CHARSET_SETUP_<something>; + +which should correspond to the #include lines from a). Again, +add or subtract as you wish (but preferably consistent with what you +did under a)...) [The <something> is derived from the charset's MIME name. +if in doubt, check the last lines of the corresponding ...uni.h file.] + +c) To let make automatically notice when you have changed one of the + table files, and automatically regenerate the *uni.h file(s), +you also have to add any new tables to both src/Makefile *and* +src/chrtrans/Makefile. Or, for auto-config, the equivalent files +named makefile.in before running ./configure, or makefile after running +./configure. (That may be inconvenient, but I didn't want to depend +on features than not all makes may have.) Note that for recompiling +Lynx, a `make clean' should not be necessary if you have *only* made +changes to the files in src/chrtrans. On VMS, add entries for new +tables to build-chrtrans.com, but you can update the particular file +with build-header.com, then use the top directory's build.com and +answer 'n' to it's prompts about whether to update the WWWlibrary +and chrtrans modules. + |