diff options
author | Thomas E. Dickey <dickey@invisible-island.net> | 1998-09-21 02:40:02 -0400 |
---|---|---|
committer | Thomas E. Dickey <dickey@invisible-island.net> | 1998-09-21 02:40:02 -0400 |
commit | 51a6f85e8e96e257cbb43d0daab7abdf36ad2186 (patch) | |
tree | ff68a9445df1c46cf554ab3ab8b2501bfc14c90f /src | |
parent | 03b222bbbdbc58cbe5a4eb93e500d490800dee9c (diff) | |
download | lynx-snapshots-51a6f85e8e96e257cbb43d0daab7abdf36ad2186.tar.gz |
snapshot of project "lynx", label v2-8-1dev_29
Diffstat (limited to 'src')
-rw-r--r-- | src/GridText.c | 7 | ||||
-rw-r--r-- | src/HTFWriter.c | 3 | ||||
-rw-r--r-- | src/LYBookmark.c | 3 | ||||
-rw-r--r-- | src/LYCurses.c | 2 | ||||
-rw-r--r-- | src/LYDownload.c | 25 | ||||
-rw-r--r-- | src/LYGetFile.c | 31 | ||||
-rw-r--r-- | src/LYGlobalDefs.h | 4 | ||||
-rw-r--r-- | src/LYHistory.c | 4 | ||||
-rw-r--r-- | src/LYLocal.c | 18 | ||||
-rw-r--r-- | src/LYMain.c | 47 | ||||
-rw-r--r-- | src/LYMainLoop.c | 39 | ||||
-rw-r--r-- | src/LYOptions.c | 26 | ||||
-rw-r--r-- | src/LYOptions.h | 6 | ||||
-rw-r--r-- | src/LYPrint.c | 17 | ||||
-rw-r--r-- | src/LYReadCFG.c | 99 | ||||
-rw-r--r-- | src/LYReadCFG.h | 4 | ||||
-rw-r--r-- | src/LYShowInfo.c | 32 | ||||
-rw-r--r-- | src/LYUtils.c | 40 | ||||
-rw-r--r-- | src/LYUtils.h | 10 | ||||
-rw-r--r-- | src/chrtrans/cp775_uni.tbl | 132 | ||||
-rw-r--r-- | src/chrtrans/cp850_uni.tbl | 144 | ||||
-rw-r--r-- | src/chrtrans/cp852_uni.tbl | 388 |
22 files changed, 371 insertions, 710 deletions
diff --git a/src/GridText.c b/src/GridText.c index a390b8c1..53bf9c54 100644 --- a/src/GridText.c +++ b/src/GridText.c @@ -4165,7 +4165,8 @@ PUBLIC BOOL HText_canScrollDown NOARGS { HText * text = HTMainText; - return ((text->top_of_screen + display_lines) < text->Lines+1); + return (text != 0) + && ((text->top_of_screen + display_lines) < text->Lines+1); } /* Scroll actions @@ -4445,7 +4446,7 @@ PUBLIC HTAnchor * HText_referenceSelected ARGS1( PUBLIC int HText_getTopOfScreen NOARGS { HText * text = HTMainText; - return text->top_of_screen; + return text != 0 ? text->top_of_screen : 0; } PUBLIC int HText_getLines ARGS1( @@ -5406,7 +5407,7 @@ PUBLIC void HTuncache_current_document NOARGS PUBLIC int HTisDocumentSource NOARGS { - return(HTMainText->source); + return (HTMainText != 0) ? HTMainText->source : FALSE; } PUBLIC char * HTLoadedDocumentURL NOARGS diff --git a/src/HTFWriter.c b/src/HTFWriter.c index 92665d1d..316bfd02 100644 --- a/src/HTFWriter.c +++ b/src/HTFWriter.c @@ -22,9 +22,6 @@ #ifdef VMS #include <HTVMSUtils.h> #endif /* VMS */ -#ifdef DOSPATH -#include <HTDOS.h> -#endif #include <LYStrings.h> #include <LYUtils.h> diff --git a/src/LYBookmark.c b/src/LYBookmark.c index 31e27beb..bf6f4b60 100644 --- a/src/LYBookmark.c +++ b/src/LYBookmark.c @@ -11,9 +11,6 @@ #include <LYCurses.h> #include <GridText.h> -#ifdef DOSPATH -#include <HTDOS.h> -#endif #ifdef VMS #include <HTVMSUtils.h> #include <nam.h> diff --git a/src/LYCurses.c b/src/LYCurses.c index b6d149fa..1f066b62 100644 --- a/src/LYCurses.c +++ b/src/LYCurses.c @@ -207,7 +207,7 @@ PUBLIC void VMSbox ARGS3( */ PUBLIC void LYbox ARGS2( WINDOW *, win, - BOOLEAN, formfield) + BOOLEAN, formfield GCC_UNUSED) { /* * If the terminal is in UTF-8 mode, it probably cannot understand diff --git a/src/LYDownload.c b/src/LYDownload.c index 5c4473be..a0b9a86f 100644 --- a/src/LYDownload.c +++ b/src/LYDownload.c @@ -237,15 +237,7 @@ check_recall: *(cp++) = '\0'; strcpy(command, buffer); LYTrimPathSep(command); -#ifdef DOSPATH - strcat(command, HTDOS_wwwName((char *)Home_Dir())); -#else -#ifdef VMS - strcat(command, HTVMS_wwwName((char *)Home_Dir())); -#else - strcat(command, Home_Dir()); -#endif /* VMS */ -#endif /* DOSPATH */ + strcat(command, wwwName(Home_Dir())); strcat(command, cp); strcpy(buffer, command); } @@ -588,6 +580,7 @@ PUBLIC int LYdownload_options ARGS2( char *, data_file) { static char tempfile[LY_MAXPATH]; + char *downloaded_url = NULL; char *sug_filename = NULL; FILE *fp0; lynx_html_item_type *cur_download; @@ -596,6 +589,7 @@ PUBLIC int LYdownload_options ARGS2( /* * Get a suggested filename. */ + StrAllocCopy(downloaded_url, *newfile); StrAllocCopy(sug_filename, *newfile); change_sug_filename(sug_filename); @@ -616,10 +610,12 @@ PUBLIC int LYdownload_options ARGS2( fprintf(fp0, "<pre>\n"); fprintf(fp0, "\ - <em>You download the link:</em> %s\n\ - <em>Suggested file name:</em> %s%s\n", - data_file, (lynx_save_space ? lynx_save_space : ""), sug_filename); - fprintf(fp0, "\nStandard download options:\n"); + <em>Downloaded link:</em> %s\n\ + <em>Suggested file name:</em> %s%s\n", + downloaded_url, (lynx_save_space ? lynx_save_space : ""), sug_filename); + + fprintf(fp0, "\n%s options:\n", + (user_mode == NOVICE_MODE) ? "Standard download" : "Download"); if(!no_disk_save && !child_lynx) { #ifdef DIRED_SUPPORT @@ -635,7 +631,8 @@ PUBLIC int LYdownload_options ARGS2( fprintf(fp0," <em>Save to disk disabled.</em>\n"); } - fprintf(fp0, "\nLocal additions:\n"); + if (user_mode == NOVICE_MODE) + fprintf(fp0, "\nLocal additions:\n"); if (downloaders != NULL) { for (count = 0, cur_download = downloaders; cur_download != NULL; diff --git a/src/LYGetFile.c b/src/LYGetFile.c index 319deacf..9875372c 100644 --- a/src/LYGetFile.c +++ b/src/LYGetFile.c @@ -27,9 +27,6 @@ #ifdef VMS #include <HTVMSUtils.h> #endif /* VMS */ -#ifdef DOSPATH -#include <HTDOS.h> -#endif #ifdef DIRED_SUPPORT #include <LYLocal.h> #endif /* DIRED_SUPPORT */ @@ -245,10 +242,9 @@ Try_Redirected_URL: } else if (url_type == LYNXPRINT_URL_TYPE) { return(printfile(doc)); -#ifdef EXP_FORMS_OPTIONS } else if (url_type == LYNXOPTIONS_URL_TYPE) { + /* forms-based options menu */ return(postoptions(doc)); -#endif /* EXP_FORMS_OPTIONS */ } else if (url_type == NEWSPOST_URL_TYPE || url_type == NEWSREPLY_URL_TYPE || @@ -369,15 +365,7 @@ Try_Redirected_URL: if ((cp = strchr(doc->address, '~'))) { strncpy(addressbuf, doc->address, cp-doc->address); addressbuf[cp - doc->address] = '\0'; -#ifdef DOSPATH - p = HTDOS_wwwName((char *)Home_Dir()); -#else -#ifdef VMS - p = HTVMS_wwwName((char *)Home_Dir()); -#else - p = (char *)Home_Dir(); -#endif /* VMS */ -#endif /* DOSPATH */ + p = wwwName(Home_Dir()); strcat(addressbuf, p); strcat(addressbuf, cp+1); p = addressbuf; @@ -618,17 +606,8 @@ Try_Redirected_URL: *cp1 = '\0'; cp1 += 2; StrAllocCopy(temp, doc->address); -#ifdef DOSPATH - StrAllocCat(temp, "/"); - StrAllocCat(temp, HTDOS_wwwName((char *)Home_Dir())); -#else -#ifdef VMS - StrAllocCat(temp, - HTVMS_wwwName((char *)Home_Dir())); -#else - StrAllocCat(temp, Home_Dir()); -#endif /* VMS */ -#endif /* DOSPATH */ + LYAddHtmlSep(&temp); + StrAllocCat(temp, wwwName(Home_Dir())); if ((cp2 = strchr(cp1, '/')) != NULL) { LYTrimRelFromAbsPath(cp2); StrAllocCat(temp, cp2); @@ -712,9 +691,7 @@ Try_Redirected_URL: url_type == LYNXDIRED_URL_TYPE || #endif /* DIRED_SUPPORT */ url_type == LYNXPRINT_URL_TYPE || -#ifdef EXP_FORMS_OPTIONS url_type == LYNXOPTIONS_URL_TYPE || -#endif url_type == LYNXHIST_URL_TYPE || url_type == LYNXCOOKIE_URL_TYPE || (LYValidate && diff --git a/src/LYGlobalDefs.h b/src/LYGlobalDefs.h index d4840f91..3dc93a14 100644 --- a/src/LYGlobalDefs.h +++ b/src/LYGlobalDefs.h @@ -24,6 +24,7 @@ #define DOWNLOAD_OPTIONS_HELP "Lynx_users_guide.html#RemoteSource" #define HISTORY_PAGE_HELP "keystrokes/history_help.html" #define LIST_PAGE_HELP "keystrokes/follow_help.html" +#define LYNXCFG_HELP "lynx.cfg" #define OPTIONS_HELP "keystrokes/option_help.html" #define PRINT_OPTIONS_HELP "keystrokes/print_help.html" #define UPLOAD_OPTIONS_HELP "Lynx_users_guide.html#DirEd" @@ -110,6 +111,9 @@ extern int LYShowColor; /* Show color or monochrome? */ extern int LYChosenShowColor; /* extended color/monochrome choice */ extern int LYrcShowColor; /* ... as read or last written */ +#ifndef EXP_FORMS_OPTIONS +extern BOOLEAN LYUseFormsOptions; /* use Forms-based options menu */ +#endif extern BOOLEAN LYShowCursor; /* Show the cursor or hide it? */ extern BOOLEAN verbose_img; /* display filenames of images? */ extern BOOLEAN LYUseDefShoCur; /* Command line -show_cursor toggle */ diff --git a/src/LYHistory.c b/src/LYHistory.c index f09099e3..fe077e48 100644 --- a/src/LYHistory.c +++ b/src/LYHistory.c @@ -7,9 +7,7 @@ #include <LYHistory.h> #include <LYPrint.h> #include <LYDownload.h> -#ifdef EXP_FORMS_OPTIONS #include <LYOptions.h> -#endif #include <LYKeymap.h> #include <LYList.h> #include <LYShowInfo.h> @@ -70,9 +68,7 @@ PUBLIC void LYAddVisitedLink ARGS1( !strcmp((doc->title ? doc->title : ""), HISTORY_PAGE_TITLE) || !strcmp((doc->title ? doc->title : ""), PRINT_OPTIONS_TITLE) || !strcmp((doc->title ? doc->title : ""), DOWNLOAD_OPTIONS_TITLE) || -#ifdef EXP_FORMS_OPTIONS !strcmp((doc->title ? doc->title : ""), OPTIONS_TITLE) || -#endif #ifdef DIRED_SUPPORT !strcmp((doc->title ? doc->title : ""), DIRED_MENU_TITLE) || !strcmp((doc->title ? doc->title : ""), UPLOAD_OPTIONS_TITLE) || diff --git a/src/LYLocal.c b/src/LYLocal.c index 0037d5c9..4490e16c 100644 --- a/src/LYLocal.c +++ b/src/LYLocal.c @@ -238,7 +238,7 @@ struct dired_menu { PRIVATE BOOLEAN ok_stat ARGS2(char *, name, struct stat*, sb) { - char tmpbuf[512]; + char tmpbuf[LY_MAXPATH+80]; if (stat(name, sb) < 0) { sprintf(tmpbuf, "Unable to get status of '%s'.", name); @@ -251,7 +251,7 @@ PRIVATE BOOLEAN ok_stat ARGS2(char *, name, struct stat*, sb) #ifdef HAVE_LSTAT PRIVATE BOOLEAN ok_lstat ARGS2(char *, name, struct stat*, sb) { - char tmpbuf[512]; + char tmpbuf[LY_MAXPATH+80]; if (lstat(name, sb) < 0) { sprintf(tmpbuf, "Unable to get status of '%s'.", name); @@ -1053,6 +1053,7 @@ PRIVATE BOOLEAN permit_location ARGS3( static char tempfile[LY_MAXPATH] = "\0"; char *cp; char tmpbuf[LINESIZE]; + char tmpdst[LY_MAXPATH]; struct stat dir_info; if (srcpath) { @@ -1098,7 +1099,7 @@ PRIVATE BOOLEAN permit_location ARGS3( } LYstrncpy(LYValidPermitFile, - srcpath, + local_src, (sizeof(LYValidPermitFile) - 1)); fprintf(fp0, "<Html><Head>\n<Title>%s</Title>\n</Head>\n<Body>\n", @@ -1203,7 +1204,12 @@ form to permit %s %s.\n</Ol>\n</Form>\n", *cp++ = '\0'; /* Null terminate file name and start working on the masks. */ - HTUnEscape(destpath); /* Will now operate only on filename part. */ + if ((destpath = HTfullURL_toFile(destpath)) == 0) + return(0); + + strcpy(tmpdst, destpath); /* operate only on filename */ + free(destpath); + destpath = tmpdst; /* * Make sure that the file string is the one from @@ -1942,11 +1948,15 @@ PRIVATE char * render_item ARGS6( break; case 'p': cp = path; + if (!LYIsHtmlSep(*cp)) + *BP_INC = '/'; while (*cp) *BP_INC = *cp++; break; case 'd': cp = dir; + if (!LYIsHtmlSep(*cp)) + *BP_INC = '/'; while (*cp) *BP_INC = *cp++; break; diff --git a/src/LYMain.c b/src/LYMain.c index 6ab74c50..83d0ac22 100644 --- a/src/LYMain.c +++ b/src/LYMain.c @@ -29,9 +29,6 @@ #include <LYJump.h> #include <LYMainLoop.h> #include <LYBookmark.h> -#ifdef DOSPATH -#include <HTDOS.h> -#endif #include <LYCookie.h> #ifdef __DJGPP__ @@ -143,6 +140,9 @@ PUBLIC int port_syntax = 1; PUBLIC int LYShowColor = SHOW_COLOR_UNKNOWN; /* to show or not to show */ PUBLIC int LYChosenShowColor = SHOW_COLOR_UNKNOWN; /* whether to show and save */ PUBLIC int LYrcShowColor = SHOW_COLOR_UNKNOWN; /* ... as last read or written */ +#ifndef EXP_FORMS_OPTIONS +PUBLIC BOOLEAN LYUseFormsOptions = FALSE; /* use forms-based options menu */ +#endif PUBLIC BOOLEAN LYShowCursor = SHOW_CURSOR; /* to show or not to show */ PUBLIC BOOLEAN verbose_img = VERBOSE_IMAGES; /* show filenames or not */ PUBLIC BOOLEAN LYUseDefShoCur = TRUE; /* Command line -show_cursor toggle */ @@ -690,15 +690,7 @@ PUBLIC int main ARGS2( *(cp++) = '\0'; StrAllocCopy(temp, lynx_temp_space); LYTrimPathSep(temp); -#ifdef DOSPATH - StrAllocCat(temp, HTDOS_wwwName((char *)Home_Dir())); -#else -#ifdef VMS - StrAllocCat(temp, HTVMS_wwwName((char *)Home_Dir())); -#else - StrAllocCat(temp, Home_Dir()); -#endif /* VMS */ -#endif /* DOSPATH */ + StrAllocCat(temp, wwwName(Home_Dir())); StrAllocCat(temp, cp); StrAllocCopy(lynx_temp_space, temp); FREE(temp); @@ -1237,7 +1229,7 @@ PUBLIC int main ARGS2( /* * Process the configuration file. */ - read_cfg(lynx_cfg_file, "main program", 1); + read_cfg(lynx_cfg_file, "main program", 1, (FILE *)0); HTSwitchDTD(New_DTD); @@ -1260,15 +1252,7 @@ PUBLIC int main ARGS2( *(cp++) = '\0'; StrAllocCopy(temp, lynx_save_space); LYTrimPathSep(temp); -#ifdef DOSPATH - StrAllocCat(temp, HTDOS_wwwName((char *)Home_Dir())); -#else -#ifdef VMS - StrAllocCat(temp, HTVMS_wwwName((char *)Home_Dir())); -#else - StrAllocCat(temp, Home_Dir()); -#endif /* VMS */ -#endif /* DOSPATH */ + StrAllocCat(temp, wwwName(Home_Dir())); StrAllocCat(temp, cp); StrAllocCopy(lynx_save_space, temp); FREE(temp); @@ -1505,16 +1489,7 @@ PUBLIC int main ARGS2( *(cp++) = '\0'; StrAllocCopy(temp, cp); LYTrimPathSep(temp); -#ifdef DOSPATH - StrAllocCopy(LYCookieFile, HTDOS_wwwName((char *)Home_Dir())); -#else -#ifdef VMS - StrAllocCopy(LYCookieFile, HTVMS_wwwName((char *)Home_Dir())); -#else - StrAllocCopy(LYCookieFile, Home_Dir()); -#endif /* VMS */ -#endif /* DOSPATH */ - + StrAllocCopy(LYCookieFile, wwwName(Home_Dir())); StrAllocCat(LYCookieFile, temp); FREE(temp); } @@ -1660,7 +1635,7 @@ PUBLIC int main ARGS2( StrAllocCopy(helpfilepath, helpfile); if ((cp = LYPathLeaf(helpfilepath)) != helpfilepath) *cp = '\0'; - LYAddPathSep(&helpfilepath); + LYAddHtmlSep(&helpfilepath); /* * Make sure our bookmark default strings @@ -2665,6 +2640,12 @@ keys (may be incompatible with some curses packages)" "from", TOGGLE_ARG, &LYNoFromHeader, "toggle transmissions of From headers" ), +#ifndef EXP_FORMS_OPTIONS + PARSE_SET( + "forms_options", TOGGLE_ARG, &LYUseFormsOptions, + "toggles forcing of forms-based options menu style" + ), +#endif PARSE_SET( "ftp", UNSET_ARG, &ftp_ok, "disable ftp access" diff --git a/src/LYMainLoop.c b/src/LYMainLoop.c index 23d2de7a..e3955e42 100644 --- a/src/LYMainLoop.c +++ b/src/LYMainLoop.c @@ -37,9 +37,6 @@ #include <LYCharUtils.h> #include <LYCookie.h> #include <LYMainLoop.h> -#ifdef DOSPATH -#include <HTDOS.h> -#endif #ifdef USE_EXTERNALS #include <LYExtern.h> @@ -230,9 +227,6 @@ int mainloop NOARGS char *temp = NULL; BOOLEAN ForcePush = FALSE; BOOLEAN override_LYresubmit_posts = FALSE; -#ifdef EXP_FORMS_OPTIONS - BOOLEAN was_in_options = FALSE; -#endif unsigned int len; int i; @@ -682,12 +676,6 @@ try_again: trace_mode_flag = FALSE; fprintf(tfp, "Turning TRACE back on.\n\n"); } -#ifdef EXP_FORMS_OPTIONS - if (newdoc.address) { - was_in_options = - (!strncmp(newdoc.address, "LYNXOPTIONS:", 12)); - } -#endif /* EXP_FORMS_OPTIONS */ FREE(newdoc.address); /* to pop last doc */ FREE(newdoc.bookmark); LYJumpFileURL = FALSE; @@ -856,15 +844,7 @@ try_again: BOOKMARK_TITLE))) && (temp = HTParse(newdoc.address, "", PARSE_PATH+PARSE_PUNCTUATION)) != NULL) { -#ifdef DOSPATH - cp = HTDOS_wwwName((char *)Home_Dir()); -#else -#ifdef VMS - cp = HTVMS_wwwName((char *)Home_Dir()); -#else - cp = (char *)Home_Dir(); -#endif /* VMS */ -#endif /* DOSPATH */ + cp = wwwName(Home_Dir()); len = strlen(cp); #ifdef VMS if (!strncasecomp(temp, cp, len) && @@ -919,17 +899,8 @@ try_again: StrAllocCopy(newdoc.address, temp); HTuncache_current_document(); FREE(curdoc.address); -#ifdef DOSPATH - StrAllocCat(newdoc.address, - HTDOS_wwwName((char *)Home_Dir())); -#else -#ifdef VMS StrAllocCat(newdoc.address, - HTVMS_wwwName((char *)Home_Dir())); -#else - StrAllocCat(newdoc.address, Home_Dir()); -#endif /* VMS */ -#endif /* DOSPATH */ + wwwName(Home_Dir())); StrAllocCat(newdoc.address, "/"); StrAllocCat(newdoc.address, (strncmp(BookmarkPage, "./", 2) ? @@ -3742,6 +3713,7 @@ check_goto_URL: c = dir_list_style; #endif /* DIRED_SUPPORT */ #ifndef EXP_FORMS_OPTIONS +if (!LYUseFormsOptions) { LYoptions(); /* do the old-style options stuff */ @@ -3841,7 +3813,9 @@ check_goto_URL: StrAllocCopy(CurrentNegoCharset, (pref_charset ? pref_charset : "")); refresh_screen = TRUE; /* to repaint screen */ -#else /* EXP_FORMS_OPTIONS */ + break; +} /* end if !LYUseFormsOptions */ +#endif /* !EXP_FORMS_OPTIONS */ /* * FIXME: Blatantly stolen from LYK_PRINT below. * how much is really valid here? I don't know the @@ -3873,7 +3847,6 @@ check_goto_URL: */ HTuncache_current_document(); } -#endif /* EXP_FORMS_OPTIONS */ break; case LYK_INDEX_SEARCH: /* search for a user string */ diff --git a/src/LYOptions.c b/src/LYOptions.c index 8d22ad30..905aa333 100644 --- a/src/LYOptions.c +++ b/src/LYOptions.c @@ -19,6 +19,7 @@ #include <LYBookmark.h> #include <GridText.h> #include <LYGetFile.h> +#include <LYReadCFG.h> #include <LYLeaks.h> @@ -3067,7 +3068,7 @@ restore_popup_statusline: } } -#else /* EXP_FORMS_OPTIONS */ +#endif /* !EXP_FORMS_OPTIONS */ /* * I'm paranoid about mistyping strings. Also, this way they get combined @@ -3362,19 +3363,17 @@ PUBLIC int postoptions ARGS1( BOOLEAN raw_mode_changed = FALSE; BOOLEAN assume_char_set_changed = FALSE; BOOLEAN need_reload = FALSE; - char *link_info = NULL; int CurrentShowColor = LYShowColor; /*------------------------------------------------- * kludge a link from mbm_menu, the URL was: - * fprintf(fp0,"<a href=\"LYNXOPTIONS://MBM_MENU\">go mbm menu</a>\n"); + * "<a href=\"LYNXOPTIONS://MBM_MENU\">Goto multi-bookmark menu</a>\n" *--------------------------------------------------*/ - StrAllocCopy(link_info, newdoc->address); - if (strstr(link_info, "LYNXOPTIONS://MBM_MENU")) { - edit_bookmarks(); + if (strstr(newdoc->address, "LYNXOPTIONS://MBM_MENU")) { FREE(newdoc->post_data); FREE(data); + edit_bookmarks(); return(NULLFILE); } @@ -3598,7 +3597,15 @@ PUBLIC int postoptions ARGS1( if (!strcmp(data[i].tag, user_agent_string) && (!no_useragent)) { FREE(LYUserAgent); /* ignore Copyright warning ? */ - StrAllocCopy(LYUserAgent, data[i].value); + StrAllocCopy(LYUserAgent, + *(data[i].value) + ? data[i].value + : LYUserAgentDefault); + if (LYUserAgent && *LYUserAgent && + !strstr(LYUserAgent, "Lynx") && + !strstr(LYUserAgent, "lynx")) { + HTAlert(UA_COPYRIGHT_WARNING); + } } } /* end of loop */ @@ -4018,6 +4025,10 @@ PUBLIC int gen_options ARGS1( NOTEMPTY(LYUserAgent), text_len, ""); } + fprintf(fp0, + "<a href=\"%s\">lynx.cfg information (read-only)</a>\n", + lynx_cfg_infopage()); + fprintf(fp0,"\n</pre>\n"); /* Submit/Reset */ @@ -4035,4 +4046,3 @@ PUBLIC int gen_options ARGS1( LYCloseTempFP(fp0); return(0); } -#endif /* EXP_FORMS_OPTIONS */ diff --git a/src/LYOptions.h b/src/LYOptions.h index c11c6150..ccbc5b1d 100644 --- a/src/LYOptions.h +++ b/src/LYOptions.h @@ -7,10 +7,10 @@ extern BOOLEAN term_options; extern void edit_bookmarks NOPARAMS; -#ifdef EXP_FORMS_OPTIONS extern int postoptions PARAMS((document *newdoc)); extern int gen_options PARAMS((char **newfile)); -#else + +#ifndef EXP_FORMS_OPTIONS extern void LYoptions NOPARAMS; /* @@ -73,6 +73,6 @@ extern void LYoptions NOPARAMS; #define B_VERBOSE_IMAGES 50 #define C_VERBOSE_IMAGES (B_VERBOSE_IMAGES + 21) -#endif /* EXP_FORMS_OPTIONS */ +#endif /* !EXP_FORMS_OPTIONS */ #endif /* LYOPTIONS_H */ diff --git a/src/LYPrint.c b/src/LYPrint.c index 55bf1b52..94e447a0 100644 --- a/src/LYPrint.c +++ b/src/LYPrint.c @@ -372,15 +372,7 @@ PUBLIC int printfile ARGS1( *(cp++) = '\0'; strcpy(buffer, filename); LYTrimPathSep(buffer); -#ifdef DOSPATH - strcat(buffer, HTDOS_wwwName((char *)Home_Dir())); -#else -#ifdef VMS - strcat(buffer, HTVMS_wwwName((char *)Home_Dir())); -#else - strcat(buffer, Home_Dir()); -#endif /* VMS */ -#endif /* DOSPATH */ + strcat(buffer, wwwName(Home_Dir())); strcat(buffer, cp); strcpy(filename, buffer); } @@ -1283,7 +1275,8 @@ PUBLIC int print_options ARGS3( if (no_print || no_disk_save || child_lynx || no_mail) fprintf(fp0, " <em>Some print functions have been disabled!</em>\n"); - fprintf(fp0, "\nStandard print options:\n"); + fprintf(fp0, "\n%s options:\n", + (user_mode == NOVICE_MODE) ? "Standard print" : "Print"); if (child_lynx == FALSE && no_disk_save == FALSE && no_print == FALSE) fprintf(fp0, @@ -1305,7 +1298,9 @@ PUBLIC int print_options ARGS3( lines_in_file); #endif - fprintf(fp0, "\nLocal additions:\n"); + if (user_mode == NOVICE_MODE) + fprintf(fp0, "\nLocal additions:\n"); + for (count = 0, cur_printer = printers; cur_printer != NULL; cur_printer = cur_printer->next, count++) if (no_print == FALSE || cur_printer->always_enabled) { diff --git a/src/LYReadCFG.c b/src/LYReadCFG.c index bf422aa6..53ccd4b3 100644 --- a/src/LYReadCFG.c +++ b/src/LYReadCFG.c @@ -16,6 +16,7 @@ #include <LYBookmark.h> #include <LYCookie.h> #include <LYReadCFG.h> +#include <HTAlert.h> #ifdef DIRED_SUPPORT #include <LYLocal.h> @@ -473,14 +474,16 @@ typedef struct { CONST char *name; int type; +#define CONF_UNSPECIFIED 0 #define CONF_BOOL 1 /* BOOLEAN type */ #define CONF_FUN 2 #define CONF_INT 3 #define CONF_STR 4 #define CONF_ENV 5 /* from environment variable */ -#define CONF_INCLUDE 6 /* include file-- handle special */ -#define CONF_ADD_ITEM 7 -#define CONF_ADD_TRUSTED 8 +#define CONF_ENV2 6 /* from environment VARIABLE */ +#define CONF_INCLUDE 7 /* include file-- handle special */ +#define CONF_ADD_ITEM 8 +#define CONF_ADD_TRUSTED 9 ParseData; } @@ -829,6 +832,9 @@ static Config_Type Config_Table [] = PARSE_ENV("finger_proxy", CONF_ENV, 0 ), PARSE_SET("force_8bit_toupper", CONF_BOOL, UCForce8bitTOUPPER), PARSE_SET("force_ssl_cookies_secure", CONF_BOOL, LYForceSSLCookiesSecure), +#ifndef EXP_FORMS_OPTIONS + PARSE_SET("forms_options", CONF_BOOL, LYUseFormsOptions), +#endif PARSE_ENV("ftp_proxy", CONF_ENV, 0 ), PARSE_STR("global_extension_map", CONF_STR, global_extension_map), PARSE_STR("global_mailcap", CONF_STR, global_type_map), @@ -880,7 +886,7 @@ static Config_Type Config_Table [] = PARSE_ENV("newspost_proxy", CONF_ENV, 0), PARSE_ENV("newsreply_proxy", CONF_ENV, 0), PARSE_ENV("nntp_proxy", CONF_ENV, 0), - PARSE_ENV("nntpserver", CONF_ENV, 0), + PARSE_ENV("nntpserver", CONF_ENV2, 0), /* actually NNTPSERVER */ PARSE_SET("no_dot_files", CONF_BOOL, no_dotfiles), PARSE_SET("no_file_referer", CONF_BOOL, no_filereferer), #ifndef VMS @@ -974,10 +980,11 @@ PUBLIC void free_lynx_cfg NOARGS /* * Process the configuration file (lynx.cfg). */ -PUBLIC void read_cfg ARGS3( +PUBLIC void read_cfg ARGS4( char *, cfg_filename, char *, parent_filename, - int, nesting_level) + int, nesting_level, + FILE *, fp0) { FILE *fp; char buffer[MAX_LINE_BUFFER_LEN]; @@ -1082,7 +1089,9 @@ PUBLIC void read_cfg ARGS3( #else q = (ConfigUnion *)(&(tbl->value)); #endif - switch (tbl->type) { + switch ((fp0 != 0 && tbl->type != CONF_INCLUDE) + ? CONF_UNSPECIFIED + : tbl->type) { case CONF_BOOL: if (q->set_value != 0) *(q->set_value) = is_true (value); @@ -1111,12 +1120,19 @@ PUBLIC void read_cfg ARGS3( break; case CONF_ENV: - if (getenv (tbl->name) == 0) { + case CONF_ENV2: + + if (tbl->type == CONF_ENV) + LYLowerCase(name); + else + LYUpperCase(name); + + if (getenv (name) == 0) { #ifdef VMS Define_VMSLogical(tbl->name, value); #else char tmpbuf[MAX_LINE_BUFFER_LEN]; - sprintf (tmpbuf, "%s=%s", tbl->name, value); + sprintf (tmpbuf, "%s=%s", name, value); if ((q->str_value = (char **)calloc(1, sizeof(char **))) != 0) { StrAllocCopy(*(q->str_value), tmpbuf); putenv (*(q->str_value)); @@ -1127,18 +1143,29 @@ PUBLIC void read_cfg ARGS3( case CONF_INCLUDE: /* include another file */ - read_cfg (value, cfg_filename, nesting_level + 1); + if (fp0 != 0) { + fprintf(fp0, "%s:%s\n\n", name, value); + fprintf(fp0, " #<begin %s>\n", value); + } + read_cfg (value, cfg_filename, nesting_level + 1, fp0); + if (fp0 != 0) + fprintf(fp0, " #<end of %s>\n\n", value); break; case CONF_ADD_ITEM: if (q->add_value != 0) add_item_to_list (value, q->add_value); break; + #if defined(EXEC_LINKS) || defined(LYNXCGI_LINKS) case CONF_ADD_TRUSTED: add_trusted (value, q->def_value); break; #endif + default: + if (fp0 != 0) + fprintf(fp0, "%s:%s\n", name, value); + break; } } @@ -1174,6 +1201,56 @@ PUBLIC void read_cfg ARGS3( } if (LYCookieRejectDomains != NULL) { - cookie_add_rejectlist(LYCookieRejectDomains); + cookie_add_rejectlist(LYCookieRejectDomains); } } + +/* + * lynx.cfg infopage, returns local url. + */ +PUBLIC char *lynx_cfg_infopage NOARGS +{ + static char *local_url; + char tempfile[LY_MAXPATH]; + char *temp = 0; + FILE *fp0; + + if (local_url == 0) { + if ((fp0 = LYOpenTemp(tempfile, HTML_SUFFIX, "w")) == NULL) { + HTAlert(CANNOT_OPEN_TEMP); + return(0); + } + LYLocalFileToURL(&local_url, tempfile); + + LYforce_no_cache = TRUE; /* don't cache this doc */ + +#ifdef HAVE_CONFIG_H + StrAllocCopy(temp, LYNX_CFG_FILE); +#else + StrAllocCopy(temp, helpfilepath); + StrAllocCat(temp, LYNXCFG_HELP); /* DJGPP/Win32/VMS should care of */ +#endif /* HAVE_CONFIG_H */ + + BeginInternalPage (fp0, LYNXCFG_TITLE, NULL); + fprintf(fp0, "<pre>\n"); + fprintf(fp0, "<em>This is read from your lynx.cfg file,\n"); + + fprintf(fp0, "please \"read\" distribution's <a href=\"%s\">lynx.cfg", + temp); + fprintf(fp0, "</a> for more comments.</em>\n\n"); + + fprintf(fp0, " #<em>Your primary configuration %s</em>\n", + lynx_cfg_file); + /* + * Process the configuration file. + */ + read_cfg(lynx_cfg_file, "main program", 1, fp0); + + FREE(temp); + fprintf(fp0, "</pre>\n"); + EndInternalPage(fp0); + LYCloseTempFP(fp0); + } + + return(local_url); +} diff --git a/src/LYReadCFG.h b/src/LYReadCFG.h index 6b60165d..acbbd276 100644 --- a/src/LYReadCFG.h +++ b/src/LYReadCFG.h @@ -43,8 +43,10 @@ extern int default_bg; extern int check_color PARAMS((char * color, int the_default)); #endif -extern void read_cfg PARAMS((char *cfg_filename, char *parent_filename, int nesting_level)); +extern void read_cfg PARAMS((char *cfg_filename, char *parent_filename, int nesting_level, FILE *fp0)); extern void free_lynx_cfg NOPARAMS; extern BOOLEAN have_read_cfg; +extern char *lynx_cfg_infopage NOPARAMS; + #endif /* LYREADCFG_H */ diff --git a/src/LYShowInfo.c b/src/LYShowInfo.c index e9bbfcb6..fa00ccc3 100644 --- a/src/LYShowInfo.c +++ b/src/LYShowInfo.c @@ -28,21 +28,30 @@ #define PutDefs(table, n) fprintf(fp0, "%-35s %s\n", table[n].name, table[n].value) +/* + * Compile-time definitions info, returns local url + */ PRIVATE char *lynx_compile_opts NOARGS { - static char tempfile[256]; + char tempfile[LY_MAXPATH]; #include <cfg_defs.h> unsigned n; + static char *info_url; FILE *fp0; - if (strlen(tempfile) == 0) { + if (info_url == 0) { if ((fp0 = LYOpenTemp (tempfile, HTML_SUFFIX, "w")) == 0) { HTAlert(CANNOT_OPEN_TEMP); - tempfile[0] = '\0'; return(0); } + LYLocalFileToURL(&info_url, tempfile); + BeginInternalPage (fp0, CONFIG_DEF_TITLE, NULL); fprintf(fp0, "<pre>\n"); + + fprintf(fp0, "See also <a href=\"%s\">your lynx.cfg</a> for run-time options\n\n", + lynx_cfg_infopage()); + fprintf(fp0, "\n<em>config.cache</em>\n"); for (n = 0; n < TABLESIZE(config_cache); n++) { PutDefs(config_cache, n); @@ -55,7 +64,7 @@ PRIVATE char *lynx_compile_opts NOARGS EndInternalPage(fp0); LYCloseTempFP(fp0); } - return tempfile; + return info_url; } #else #undef HAVE_CFG_DEFS_H @@ -72,7 +81,7 @@ PUBLIC int showinfo ARGS4( document *, newdoc, char *, owner_address) { - static char tempfile[256]; + static char tempfile[LY_MAXPATH]; static char *info_url; int url_type; FILE *fp0; @@ -80,7 +89,7 @@ PUBLIC int showinfo ARGS4( CONST char *cp; #ifdef DIRED_SUPPORT - char temp[300]; + char temp[LY_MAXPATH]; struct stat dir_info; struct passwd *pw; struct group *grp; @@ -116,19 +125,18 @@ PUBLIC int showinfo ARGS4( fprintf(fp0, "<title>%s</title>\n</head>\n<body>\n", SHOWINFO_TITLE); - LYLocalFileToURL(&info_url, lynx_compile_opts()); fprintf(fp0, "<h1>%s %s (%.*s) (<a href=\"%s\">%s</a>)", LYNX_NAME, LYNX_VERSION, LYNX_DATE_LEN, (LYNX_RELEASE ? LYNX_RELEASE_DATE : &LYNX_DATE[LYNX_DATE_OFF]), - (LYNX_RELEASE ? LYNX_WWW_HOME : LYNX_WWW_DIST), - (LYNX_RELEASE ? "latest release" : "development version") ); + (LYNX_RELEASE ? LYNX_WWW_HOME : LYNX_WWW_DIST), + (LYNX_RELEASE ? "latest release" : "development version") ); #ifdef HAVE_CFG_DEFS_H fprintf(fp0, " - <a href=\"%s\">compile time settings</a></h1>\n", - info_url); + lynx_compile_opts()); #else - fprintf(fp0, "</h1>\n" - ); /* do not forget to close </h1> */ + fprintf(fp0, " - <a href=\"%s\">your lynx.cfg</a></h1>\n", + lynx_cfg_infopage()); #endif #ifdef DIRED_SUPPORT diff --git a/src/LYUtils.c b/src/LYUtils.c index 428d9281..9f1ae177 100644 --- a/src/LYUtils.c +++ b/src/LYUtils.c @@ -3902,12 +3902,8 @@ have_VMS_URL: */ #if defined (DOSPATH) || defined (__EMX__) if (old_string[1] != ':' && old_string[1] != '|') { -#ifdef DOSPATH - StrAllocCopy(temp, HTDOS_wwwName(curdir)); -#else - StrAllocCopy(temp, curdir); -#endif - LYAddPathSep(&temp); + StrAllocCopy(temp, wwwName(curdir)); + LYAddHtmlSep(&temp); LYstrncpy(curdir, temp, (DIRNAMESIZE - 1)); StrAllocCat(temp, old_string); } else { @@ -5814,6 +5810,28 @@ PUBLIC void LYCleanupTemp NOARGS } /* + * Convert local pathname to www name + * (do not bother about file://localhost prefix at this point). + */ +PUBLIC char * wwwName ARGS1( + CONST char *, pathname) +{ + char *cp = NULL; + +#ifdef DOSPATH + cp = HTDOS_wwwName((char *)pathname); +#else +#ifdef VMS + cp = HTVMS_wwwName((char *)pathname); +#else + cp = (char *)pathname; +#endif /* VMS */ +#endif /* DOSPATH */ + + return cp; +} + +/* * Convert a local filename to a URL */ PUBLIC void LYLocalFileToURL ARGS2( @@ -5824,15 +5842,7 @@ PUBLIC void LYLocalFileToURL ARGS2( StrAllocCopy(*target, "file://localhost"); -#if defined(DOSPATH) || defined(__EMX__) - leaf = HTDOS_wwwName(source); -#else -#ifdef VMS - leaf = HTVMS_wwwName(source); -#else - leaf = (char *)source; -#endif /* VMS */ -#endif /* DOSPATH */ + leaf = wwwName(source); if (!LYIsHtmlSep(*leaf)) LYAddHtmlSep(target); diff --git a/src/LYUtils.h b/src/LYUtils.h index e70673ea..46d5d93c 100644 --- a/src/LYUtils.h +++ b/src/LYUtils.h @@ -36,13 +36,14 @@ extern char *LYSysShell NOPARAMS; extern char *LYgetXDisplay NOPARAMS; extern char *quote_pathname PARAMS((char *pathname)); extern char *strip_trailing_slash PARAMS((char * my_dirname)); +extern char *wwwName PARAMS((CONST char *pathname)); extern int HTCheckForInterrupt NOPARAMS; extern int LYCheckForProxyURL PARAMS((char *filename)); +extern int LYOpenInternalPage PARAMS((FILE **fp0, char **newfile)); extern int LYSystem PARAMS((char *command)); extern int is_url PARAMS((char *filename)); extern int number2arrows PARAMS((int number)); extern time_t LYmktime PARAMS((char *string, BOOL absolute)); -extern int LYOpenInternalPage PARAMS((FILE **fp0, char **newfile)); extern void BeginInternalPage PARAMS((FILE *fp0, char *Title, char *HelpURL)); extern void EndInternalPage PARAMS((FILE *fp0)); extern void HTAddSugFilename PARAMS((char *fname)); @@ -142,13 +143,10 @@ extern BOOLEAN mustshow; #define LYNXIMGMAP_URL_TYPE 33 #define LYNXCOOKIE_URL_TYPE 34 #define LYNXDIRED_URL_TYPE 35 +#define LYNXOPTIONS_URL_TYPE 36 -#define PROXY_URL_TYPE 36 +#define PROXY_URL_TYPE 37 -/* - * FIXME: Where should this really go? - */ -#define LYNXOPTIONS_URL_TYPE 37 #define UNKNOWN_URL_TYPE 38 /* diff --git a/src/chrtrans/cp775_uni.tbl b/src/chrtrans/cp775_uni.tbl index 8e56c3f4..4d63208b 100644 --- a/src/chrtrans/cp775_uni.tbl +++ b/src/chrtrans/cp775_uni.tbl @@ -20,134 +20,10 @@ OBaltic Rim (cp775) # # The entries are in cp775_DOSBaltRim order # -#0x00 U+0000 #NULL -#0x01 U+0001 #START OF HEADING -#0x02 U+0002 #START OF TEXT -#0x03 U+0003 #END OF TEXT -#0x04 U+0004 #END OF TRANSMISSION -#0x05 U+0005 #ENQUIRY -#0x06 U+0006 #ACKNOWLEDGE -#0x07 U+0007 #BELL -#0x08 U+0008 #BACKSPACE -#0x09 U+0009 #HORIZONTAL TABULATION -#0x0a U+000a #LINE FEED -#0x0b U+000b #VERTICAL TABULATION -#0x0c U+000c #FORM FEED -#0x0d U+000d #CARRIAGE RETURN -#0x0e U+000e #SHIFT OUT -#0x0f U+000f #SHIFT IN -#0x10 U+0010 #DATA LINK ESCAPE -#0x11 U+0011 #DEVICE CONTROL ONE -#0x12 U+0012 #DEVICE CONTROL TWO -#0x13 U+0013 #DEVICE CONTROL THREE -#0x14 U+0014 #DEVICE CONTROL FOUR -#0x15 U+0015 #NEGATIVE ACKNOWLEDGE -#0x16 U+0016 #SYNCHRONOUS IDLE -#0x17 U+0017 #END OF TRANSMISSION BLOCK -#0x18 U+0018 #CANCEL -#0x19 U+0019 #END OF MEDIUM -#0x1a U+001a #SUBSTITUTE -#0x1b U+001b #ESCAPE -#0x1c U+001c #FILE SEPARATOR -#0x1d U+001d #GROUP SEPARATOR -#0x1e U+001e #RECORD SEPARATOR -#0x1f U+001f #UNIT SEPARATOR -0x20 U+0020 #SPACE -0x21 U+0021 #EXCLAMATION MARK -0x22 U+0022 #QUOTATION MARK -0x23 U+0023 #NUMBER SIGN -0x24 U+0024 #DOLLAR SIGN -0x25 U+0025 #PERCENT SIGN -0x26 U+0026 #AMPERSAND -0x27 U+0027 #APOSTROPHE -0x28 U+0028 #LEFT PARENTHESIS -0x29 U+0029 #RIGHT PARENTHESIS -0x2a U+002a #ASTERISK -0x2b U+002b #PLUS SIGN -0x2c U+002c #COMMA -0x2d U+002d #HYPHEN-MINUS -0x2e U+002e #FULL STOP -0x2f U+002f #SOLIDUS -0x30 U+0030 #DIGIT ZERO -0x31 U+0031 #DIGIT ONE -0x32 U+0032 #DIGIT TWO -0x33 U+0033 #DIGIT THREE -0x34 U+0034 #DIGIT FOUR -0x35 U+0035 #DIGIT FIVE -0x36 U+0036 #DIGIT SIX -0x37 U+0037 #DIGIT SEVEN -0x38 U+0038 #DIGIT EIGHT -0x39 U+0039 #DIGIT NINE -0x3a U+003a #COLON -0x3b U+003b #SEMICOLON -0x3c U+003c #LESS-THAN SIGN -0x3d U+003d #EQUALS SIGN -0x3e U+003e #GREATER-THAN SIGN -0x3f U+003f #QUESTION MARK -0x40 U+0040 #COMMERCIAL AT -0x41 U+0041 #LATIN CAPITAL LETTER A -0x42 U+0042 #LATIN CAPITAL LETTER B -0x43 U+0043 #LATIN CAPITAL LETTER C -0x44 U+0044 #LATIN CAPITAL LETTER D -0x45 U+0045 #LATIN CAPITAL LETTER E -0x46 U+0046 #LATIN CAPITAL LETTER F -0x47 U+0047 #LATIN CAPITAL LETTER G -0x48 U+0048 #LATIN CAPITAL LETTER H -0x49 U+0049 #LATIN CAPITAL LETTER I -0x4a U+004a #LATIN CAPITAL LETTER J -0x4b U+004b #LATIN CAPITAL LETTER K -0x4c U+004c #LATIN CAPITAL LETTER L -0x4d U+004d #LATIN CAPITAL LETTER M -0x4e U+004e #LATIN CAPITAL LETTER N -0x4f U+004f #LATIN CAPITAL LETTER O -0x50 U+0050 #LATIN CAPITAL LETTER P -0x51 U+0051 #LATIN CAPITAL LETTER Q -0x52 U+0052 #LATIN CAPITAL LETTER R -0x53 U+0053 #LATIN CAPITAL LETTER S -0x54 U+0054 #LATIN CAPITAL LETTER T -0x55 U+0055 #LATIN CAPITAL LETTER U -0x56 U+0056 #LATIN CAPITAL LETTER V -0x57 U+0057 #LATIN CAPITAL LETTER W -0x58 U+0058 #LATIN CAPITAL LETTER X -0x59 U+0059 #LATIN CAPITAL LETTER Y -0x5a U+005a #LATIN CAPITAL LETTER Z -0x5b U+005b #LEFT SQUARE BRACKET -0x5c U+005c #REVERSE SOLIDUS -0x5d U+005d #RIGHT SQUARE BRACKET -0x5e U+005e #CIRCUMFLEX ACCENT -0x5f U+005f #LOW LINE -0x60 U+0060 #GRAVE ACCENT -0x61 U+0061 #LATIN SMALL LETTER A -0x62 U+0062 #LATIN SMALL LETTER B -0x63 U+0063 #LATIN SMALL LETTER C -0x64 U+0064 #LATIN SMALL LETTER D -0x65 U+0065 #LATIN SMALL LETTER E -0x66 U+0066 #LATIN SMALL LETTER F -0x67 U+0067 #LATIN SMALL LETTER G -0x68 U+0068 #LATIN SMALL LETTER H -0x69 U+0069 #LATIN SMALL LETTER I -0x6a U+006a #LATIN SMALL LETTER J -0x6b U+006b #LATIN SMALL LETTER K -0x6c U+006c #LATIN SMALL LETTER L -0x6d U+006d #LATIN SMALL LETTER M -0x6e U+006e #LATIN SMALL LETTER N -0x6f U+006f #LATIN SMALL LETTER O -0x70 U+0070 #LATIN SMALL LETTER P -0x71 U+0071 #LATIN SMALL LETTER Q -0x72 U+0072 #LATIN SMALL LETTER R -0x73 U+0073 #LATIN SMALL LETTER S -0x74 U+0074 #LATIN SMALL LETTER T -0x75 U+0075 #LATIN SMALL LETTER U -0x76 U+0076 #LATIN SMALL LETTER V -0x77 U+0077 #LATIN SMALL LETTER W -0x78 U+0078 #LATIN SMALL LETTER X -0x79 U+0079 #LATIN SMALL LETTER Y -0x7a U+007a #LATIN SMALL LETTER Z -0x7b U+007b #LEFT CURLY BRACKET -0x7c U+007c #VERTICAL LINE -0x7d U+007d #RIGHT CURLY BRACKET -0x7e U+007e #TILDE -#0x7f U+007f #DELETE +################## + +0x20-0x7e idem +# 0x80 U+0106 #LATIN CAPITAL LETTER C WITH ACUTE 0x81 U+00fc #LATIN SMALL LETTER U WITH DIAERESIS 0x82 U+00e9 #LATIN SMALL LETTER E WITH ACUTE diff --git a/src/chrtrans/cp850_uni.tbl b/src/chrtrans/cp850_uni.tbl index 816cc2db..af4dbff5 100644 --- a/src/chrtrans/cp850_uni.tbl +++ b/src/chrtrans/cp850_uni.tbl @@ -12,149 +12,25 @@ OWestern (cp850) # # Name: cp850_DOSLatin1 to Unicode table -# Unicode version: 1.1 -# Table version: 1.1 +# Unicode version: 2.0 +# Table version: 2.00 # Table format: Format A -# Date: 03/31/95 -# Authors: Michel Suignard <michelsu@microsoft.com> -# Lori Hoerth <lorih@microsoft.com> +# Date: 04/24/96 +# Authors: Lori Brownell <loribr@microsoft.com> +# K.D. Chang <a-kchang@microsoft.com> # General notes: none # # Format: Three tab-separated columns # Column #1 is the cp850_DOSLatin1 code (in hex) -# Column #2 is the Unicode (in hex as U+XXXX) +# Column #2 is the Unicode (in hex as 0xXXXX) # Column #3 is the Unicode name (follows a comment sign, '#') # # The entries are in cp850_DOSLatin1 order # -#0x00 U+0000 #NULL -#0x01 U+0001 #START OF HEADING -#0x02 U+0002 #START OF TEXT -#0x03 U+0003 #END OF TEXT -#0x04 U+0004 #END OF TRANSMISSION -#0x05 U+0005 #ENQUIRY -#0x06 U+0006 #ACKNOWLEDGE -#0x07 U+0007 #BELL -#0x08 U+0008 #BACKSPACE -#0x09 U+0009 #HORIZONTAL TABULATION -#0x0a U+000a #LINE FEED -#0x0b U+000b #VERTICAL TABULATION -#0x0c U+000c #FORM FEED -#0x0d U+000d #CARRIAGE RETURN -#0x0e U+000e #SHIFT OUT -#0x0f U+000f #SHIFT IN -#0x10 U+0010 #DATA LINK ESCAPE -#0x11 U+0011 #DEVICE CONTROL ONE -#0x12 U+0012 #DEVICE CONTROL TWO -#0x13 U+0013 #DEVICE CONTROL THREE -#0x14 U+0014 #DEVICE CONTROL FOUR -#0x15 U+0015 #NEGATIVE ACKNOWLEDGE -#0x16 U+0016 #SYNCHRONOUS IDLE -#0x17 U+0017 #END OF TRANSMISSION BLOCK -#0x18 U+0018 #CANCEL -#0x19 U+0019 #END OF MEDIUM -#0x1a U+001a #SUBSTITUTE -#0x1b U+001b #ESCAPE -#0x1c U+001c #FILE SEPARATOR -#0x1d U+001d #GROUP SEPARATOR -#0x1e U+001e #RECORD SEPARATOR -#0x1f U+001f #UNIT SEPARATOR -0x20 U+0020 #SPACE -0x21 U+0021 #EXCLAMATION MARK -0x22 U+0022 #QUOTATION MARK -0x23 U+0023 #NUMBER SIGN -0x24 U+0024 #DOLLAR SIGN -0x25 U+0025 #PERCENT SIGN -0x26 U+0026 #AMPERSAND -0x27 U+0027 #APOSTROPHE -0x28 U+0028 #LEFT PARENTHESIS -0x29 U+0029 #RIGHT PARENTHESIS -0x2a U+002a #ASTERISK -0x2b U+002b #PLUS SIGN -0x2c U+002c #COMMA -0x2d U+002d #HYPHEN-MINUS -0x2e U+002e #FULL STOP -0x2f U+002f #SOLIDUS -0x30 U+0030 #DIGIT ZERO -0x31 U+0031 #DIGIT ONE -0x32 U+0032 #DIGIT TWO -0x33 U+0033 #DIGIT THREE -0x34 U+0034 #DIGIT FOUR -0x35 U+0035 #DIGIT FIVE -0x36 U+0036 #DIGIT SIX -0x37 U+0037 #DIGIT SEVEN -0x38 U+0038 #DIGIT EIGHT -0x39 U+0039 #DIGIT NINE -0x3a U+003a #COLON -0x3b U+003b #SEMICOLON -0x3c U+003c #LESS-THAN SIGN -0x3d U+003d #EQUALS SIGN -0x3e U+003e #GREATER-THAN SIGN -0x3f U+003f #QUESTION MARK -0x40 U+0040 #COMMERCIAL AT -0x41 U+0041 #LATIN CAPITAL LETTER A -0x42 U+0042 #LATIN CAPITAL LETTER B -0x43 U+0043 #LATIN CAPITAL LETTER C -0x44 U+0044 #LATIN CAPITAL LETTER D -0x45 U+0045 #LATIN CAPITAL LETTER E -0x46 U+0046 #LATIN CAPITAL LETTER F -0x47 U+0047 #LATIN CAPITAL LETTER G -0x48 U+0048 #LATIN CAPITAL LETTER H -0x49 U+0049 #LATIN CAPITAL LETTER I -0x4a U+004a #LATIN CAPITAL LETTER J -0x4b U+004b #LATIN CAPITAL LETTER K -0x4c U+004c #LATIN CAPITAL LETTER L -0x4d U+004d #LATIN CAPITAL LETTER M -0x4e U+004e #LATIN CAPITAL LETTER N -0x4f U+004f #LATIN CAPITAL LETTER O -0x50 U+0050 #LATIN CAPITAL LETTER P -0x51 U+0051 #LATIN CAPITAL LETTER Q -0x52 U+0052 #LATIN CAPITAL LETTER R -0x53 U+0053 #LATIN CAPITAL LETTER S -0x54 U+0054 #LATIN CAPITAL LETTER T -0x55 U+0055 #LATIN CAPITAL LETTER U -0x56 U+0056 #LATIN CAPITAL LETTER V -0x57 U+0057 #LATIN CAPITAL LETTER W -0x58 U+0058 #LATIN CAPITAL LETTER X -0x59 U+0059 #LATIN CAPITAL LETTER Y -0x5a U+005a #LATIN CAPITAL LETTER Z -0x5b U+005b #LEFT SQUARE BRACKET -0x5c U+005c #REVERSE SOLIDUS -0x5d U+005d #RIGHT SQUARE BRACKET -0x5e U+005e #CIRCUMFLEX ACCENT -0x5f U+005f #LOW LINE -0x60 U+0060 #GRAVE ACCENT -0x61 U+0061 #LATIN SMALL LETTER A -0x62 U+0062 #LATIN SMALL LETTER B -0x63 U+0063 #LATIN SMALL LETTER C -0x64 U+0064 #LATIN SMALL LETTER D -0x65 U+0065 #LATIN SMALL LETTER E -0x66 U+0066 #LATIN SMALL LETTER F -0x67 U+0067 #LATIN SMALL LETTER G -0x68 U+0068 #LATIN SMALL LETTER H -0x69 U+0069 #LATIN SMALL LETTER I -0x6a U+006a #LATIN SMALL LETTER J -0x6b U+006b #LATIN SMALL LETTER K -0x6c U+006c #LATIN SMALL LETTER L -0x6d U+006d #LATIN SMALL LETTER M -0x6e U+006e #LATIN SMALL LETTER N -0x6f U+006f #LATIN SMALL LETTER O -0x70 U+0070 #LATIN SMALL LETTER P -0x71 U+0071 #LATIN SMALL LETTER Q -0x72 U+0072 #LATIN SMALL LETTER R -0x73 U+0073 #LATIN SMALL LETTER S -0x74 U+0074 #LATIN SMALL LETTER T -0x75 U+0075 #LATIN SMALL LETTER U -0x76 U+0076 #LATIN SMALL LETTER V -0x77 U+0077 #LATIN SMALL LETTER W -0x78 U+0078 #LATIN SMALL LETTER X -0x79 U+0079 #LATIN SMALL LETTER Y -0x7a U+007a #LATIN SMALL LETTER Z -0x7b U+007b #LEFT CURLY BRACKET -0x7c U+007c #VERTICAL LINE -0x7d U+007d #RIGHT CURLY BRACKET -0x7e U+007e #TILDE -0x7f U+007f #DELETE +################## + +0x20-0x7e idem +# 0x80 U+00c7 #LATIN CAPITAL LETTER C WITH CEDILLA 0x81 U+00fc #LATIN SMALL LETTER U WITH DIAERESIS 0x82 U+00e9 #LATIN SMALL LETTER E WITH ACUTE diff --git a/src/chrtrans/cp852_uni.tbl b/src/chrtrans/cp852_uni.tbl index 79047ace..946b4996 100644 --- a/src/chrtrans/cp852_uni.tbl +++ b/src/chrtrans/cp852_uni.tbl @@ -21,260 +21,136 @@ OEastern European (cp852) # # The entries are in cp852_DOSLatin2 order # -#0x00 U+0000 #NULL -#0x01 U+0001 #START OF HEADING -#0x02 U+0002 #START OF TEXT -#0x03 U+0003 #END OF TEXT -#0x04 U+0004 #END OF TRANSMISSION -#0x05 U+0005 #ENQUIRY -#0x06 U+0006 #ACKNOWLEDGE -#0x07 U+0007 #BELL -#0x08 U+0008 #BACKSPACE -#0x09 U+0009 #HORIZONTAL TABULATION -#0x0a U+000a #LINE FEED -#0x0b U+000b #VERTICAL TABULATION -#0x0c U+000c #FORM FEED -#0x0d U+000d #CARRIAGE RETURN -#0x0e U+000e #SHIFT OUT -#0x0f U+000f #SHIFT IN -#0x10 U+0010 #DATA LINK ESCAPE -#0x11 U+0011 #DEVICE CONTROL ONE -#0x12 U+0012 #DEVICE CONTROL TWO -#0x13 U+0013 #DEVICE CONTROL THREE -#0x14 U+0014 #DEVICE CONTROL FOUR -#0x15 U+0015 #NEGATIVE ACKNOWLEDGE -#0x16 U+0016 #SYNCHRONOUS IDLE -#0x17 U+0017 #END OF TRANSMISSION BLOCK -#0x18 U+0018 #CANCEL -#0x19 U+0019 #END OF MEDIUM -#0x1a U+001a #SUBSTITUTE -#0x1b U+001b #ESCAPE -#0x1c U+001c #FILE SEPARATOR -#0x1d U+001d #GROUP SEPARATOR -#0x1e U+001e #RECORD SEPARATOR -#0x1f U+001f #UNIT SEPARATOR -0x20 U+0020 #SPACE -0x21 U+0021 #EXCLAMATION MARK -0x22 U+0022 #QUOTATION MARK -0x23 U+0023 #NUMBER SIGN -0x24 U+0024 #DOLLAR SIGN -0x25 U+0025 #PERCENT SIGN -0x26 U+0026 #AMPERSAND -0x27 U+0027 #APOSTROPHE -0x28 U+0028 #LEFT PARENTHESIS -0x29 U+0029 #RIGHT PARENTHESIS -0x2a U+002a #ASTERISK -0x2b U+002b #PLUS SIGN -0x2c U+002c #COMMA -0x2d U+002d #HYPHEN-MINUS -0x2e U+002e #FULL STOP -0x2f U+002f #SOLIDUS -0x30 U+0030 #DIGIT ZERO -0x31 U+0031 #DIGIT ONE -0x32 U+0032 #DIGIT TWO -0x33 U+0033 #DIGIT THREE -0x34 U+0034 #DIGIT FOUR -0x35 U+0035 #DIGIT FIVE -0x36 U+0036 #DIGIT SIX -0x37 U+0037 #DIGIT SEVEN -0x38 U+0038 #DIGIT EIGHT -0x39 U+0039 #DIGIT NINE -0x3a U+003a #COLON -0x3b U+003b #SEMICOLON -0x3c U+003c #LESS-THAN SIGN -0x3d U+003d #EQUALS SIGN -0x3e U+003e #GREATER-THAN SIGN -0x3f U+003f #QUESTION MARK -0x40 U+0040 #COMMERCIAL AT -0x41 U+0041 #LATIN CAPITAL LETTER A -0x42 U+0042 #LATIN CAPITAL LETTER B -0x43 U+0043 #LATIN CAPITAL LETTER C -0x44 U+0044 #LATIN CAPITAL LETTER D -0x45 U+0045 #LATIN CAPITAL LETTER E -0x46 U+0046 #LATIN CAPITAL LETTER F -0x47 U+0047 #LATIN CAPITAL LETTER G -0x48 U+0048 #LATIN CAPITAL LETTER H -0x49 U+0049 #LATIN CAPITAL LETTER I -0x4a U+004a #LATIN CAPITAL LETTER J -0x4b U+004b #LATIN CAPITAL LETTER K -0x4c U+004c #LATIN CAPITAL LETTER L -0x4d U+004d #LATIN CAPITAL LETTER M -0x4e U+004e #LATIN CAPITAL LETTER N -0x4f U+004f #LATIN CAPITAL LETTER O -0x50 U+0050 #LATIN CAPITAL LETTER P -0x51 U+0051 #LATIN CAPITAL LETTER Q -0x52 U+0052 #LATIN CAPITAL LETTER R -0x53 U+0053 #LATIN CAPITAL LETTER S -0x54 U+0054 #LATIN CAPITAL LETTER T -0x55 U+0055 #LATIN CAPITAL LETTER U -0x56 U+0056 #LATIN CAPITAL LETTER V -0x57 U+0057 #LATIN CAPITAL LETTER W -0x58 U+0058 #LATIN CAPITAL LETTER X -0x59 U+0059 #LATIN CAPITAL LETTER Y -0x5a U+005a #LATIN CAPITAL LETTER Z -0x5b U+005b #LEFT SQUARE BRACKET -0x5c U+005c #REVERSE SOLIDUS -0x5d U+005d #RIGHT SQUARE BRACKET -0x5e U+005e #CIRCUMFLEX ACCENT -0x5f U+005f #LOW LINE -0x60 U+0060 #GRAVE ACCENT -0x61 U+0061 #LATIN SMALL LETTER A -0x62 U+0062 #LATIN SMALL LETTER B -0x63 U+0063 #LATIN SMALL LETTER C -0x64 U+0064 #LATIN SMALL LETTER D -0x65 U+0065 #LATIN SMALL LETTER E -0x66 U+0066 #LATIN SMALL LETTER F -0x67 U+0067 #LATIN SMALL LETTER G -0x68 U+0068 #LATIN SMALL LETTER H -0x69 U+0069 #LATIN SMALL LETTER I -0x6a U+006a #LATIN SMALL LETTER J -0x6b U+006b #LATIN SMALL LETTER K -0x6c U+006c #LATIN SMALL LETTER L -0x6d U+006d #LATIN SMALL LETTER M -0x6e U+006e #LATIN SMALL LETTER N -0x6f U+006f #LATIN SMALL LETTER O -0x70 U+0070 #LATIN SMALL LETTER P -0x71 U+0071 #LATIN SMALL LETTER Q -0x72 U+0072 #LATIN SMALL LETTER R -0x73 U+0073 #LATIN SMALL LETTER S -0x74 U+0074 #LATIN SMALL LETTER T -0x75 U+0075 #LATIN SMALL LETTER U -0x76 U+0076 #LATIN SMALL LETTER V -0x77 U+0077 #LATIN SMALL LETTER W -0x78 U+0078 #LATIN SMALL LETTER X -0x79 U+0079 #LATIN SMALL LETTER Y -0x7a U+007a #LATIN SMALL LETTER Z -0x7b U+007b #LEFT CURLY BRACKET -0x7c U+007c #VERTICAL LINE -0x7d U+007d #RIGHT CURLY BRACKET -0x7e U+007e #TILDE -#0x7f U+007f #DELETE -0x80 U+00c7 #LATIN CAPITAL LETTER C WITH CEDILLA -0x81 U+00fc #LATIN SMALL LETTER U WITH DIAERESIS -0x82 U+00e9 #LATIN SMALL LETTER E WITH ACUTE -0x83 U+00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX -0x84 U+00e4 #LATIN SMALL LETTER A WITH DIAERESIS -0x85 U+016f #LATIN SMALL LETTER U WITH RING ABOVE -0x86 U+0107 #LATIN SMALL LETTER C WITH ACUTE -0x87 U+00e7 #LATIN SMALL LETTER C WITH CEDILLA -0x88 U+0142 #LATIN SMALL LETTER L WITH STROKE -0x89 U+00eb #LATIN SMALL LETTER E WITH DIAERESIS -0x8a U+0150 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE -0x8b U+0151 #LATIN SMALL LETTER O WITH DOUBLE ACUTE -0x8c U+00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX -0x8d U+0179 #LATIN CAPITAL LETTER Z WITH ACUTE -0x8e U+00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS -0x8f U+0106 #LATIN CAPITAL LETTER C WITH ACUTE -0x90 U+00c9 #LATIN CAPITAL LETTER E WITH ACUTE -0x91 U+0139 #LATIN CAPITAL LETTER L WITH ACUTE -0x92 U+013a #LATIN SMALL LETTER L WITH ACUTE -0x93 U+00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX -0x94 U+00f6 #LATIN SMALL LETTER O WITH DIAERESIS -0x95 U+013d #LATIN CAPITAL LETTER L WITH CARON -0x96 U+013e #LATIN SMALL LETTER L WITH CARON -0x97 U+015a #LATIN CAPITAL LETTER S WITH ACUTE -0x98 U+015b #LATIN SMALL LETTER S WITH ACUTE -0x99 U+00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS -0x9a U+00dc #LATIN CAPITAL LETTER U WITH DIAERESIS -0x9b U+0164 #LATIN CAPITAL LETTER T WITH CARON -0x9c U+0165 #LATIN SMALL LETTER T WITH CARON -0x9d U+0141 #LATIN CAPITAL LETTER L WITH STROKE -0x9e U+00d7 #MULTIPLICATION SIGN -0x9f U+010d #LATIN SMALL LETTER C WITH CARON -0xa0 U+00e1 #LATIN SMALL LETTER A WITH ACUTE -0xa1 U+00ed #LATIN SMALL LETTER I WITH ACUTE -0xa2 U+00f3 #LATIN SMALL LETTER O WITH ACUTE -0xa3 U+00fa #LATIN SMALL LETTER U WITH ACUTE -0xa4 U+0104 #LATIN CAPITAL LETTER A WITH OGONEK -0xa5 U+0105 #LATIN SMALL LETTER A WITH OGONEK -0xa6 U+017d #LATIN CAPITAL LETTER Z WITH CARON -0xa7 U+017e #LATIN SMALL LETTER Z WITH CARON -0xa8 U+0118 #LATIN CAPITAL LETTER E WITH OGONEK -0xa9 U+0119 #LATIN SMALL LETTER E WITH OGONEK -0xaa U+00ac #NOT SIGN -0xab U+017a #LATIN SMALL LETTER Z WITH ACUTE -0xac U+010c #LATIN CAPITAL LETTER C WITH CARON -0xad U+015f #LATIN SMALL LETTER S WITH CEDILLA -0xae U+00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xaf U+00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xb0 U+2591 #LIGHT SHADE -0xb1 U+2592 #MEDIUM SHADE -0xb2 U+2593 #DARK SHADE -0xb3 U+2502 #BOX DRAWINGS LIGHT VERTICAL -0xb4 U+2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT -0xb5 U+00c1 #LATIN CAPITAL LETTER A WITH ACUTE -0xb6 U+00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0xb7 U+011a #LATIN CAPITAL LETTER E WITH CARON -0xb8 U+015e #LATIN CAPITAL LETTER S WITH CEDILLA -0xb9 U+2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT -0xba U+2551 #BOX DRAWINGS DOUBLE VERTICAL -0xbb U+2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT -0xbc U+255d #BOX DRAWINGS DOUBLE UP AND LEFT -0xbd U+017b #LATIN CAPITAL LETTER Z WITH DOT ABOVE -0xbe U+017c #LATIN SMALL LETTER Z WITH DOT ABOVE -0xbf U+2510 #BOX DRAWINGS LIGHT DOWN AND LEFT -0xc0 U+2514 #BOX DRAWINGS LIGHT UP AND RIGHT -0xc1 U+2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL -0xc2 U+252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0xc3 U+251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0xc4 U+2500 #BOX DRAWINGS LIGHT HORIZONTAL -0xc5 U+253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0xc6 U+0102 #LATIN CAPITAL LETTER A WITH BREVE -0xc7 U+0103 #LATIN SMALL LETTER A WITH BREVE -0xc8 U+255a #BOX DRAWINGS DOUBLE UP AND RIGHT -0xc9 U+2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT -0xca U+2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL -0xcb U+2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -0xcc U+2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -0xcd U+2550 #BOX DRAWINGS DOUBLE HORIZONTAL -0xce U+256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -0xcf U+00a4 #CURRENCY SIGN -0xd0 U+0111 #LATIN SMALL LETTER D WITH STROKE -0xd1 U+0110 #LATIN CAPITAL LETTER D WITH STROKE -0xd2 U+010e #LATIN CAPITAL LETTER D WITH CARON -0xd3 U+00cb #LATIN CAPITAL LETTER E WITH DIAERESIS -0xd4 U+010f #LATIN SMALL LETTER D WITH CARON -0xd5 U+0147 #LATIN CAPITAL LETTER N WITH CARON -0xd6 U+00cd #LATIN CAPITAL LETTER I WITH ACUTE -0xd7 U+00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX -0xd8 U+011b #LATIN SMALL LETTER E WITH CARON -0xd9 U+2518 #BOX DRAWINGS LIGHT UP AND LEFT -0xda U+250c #BOX DRAWINGS LIGHT DOWN AND RIGHT -0xdb U+2588 #FULL BLOCK -0xdc U+2584 #LOWER HALF BLOCK -0xdd U+0162 #LATIN CAPITAL LETTER T WITH CEDILLA -0xde U+016e #LATIN CAPITAL LETTER U WITH RING ABOVE -0xdf U+2580 #UPPER HALF BLOCK -0xe0 U+00d3 #LATIN CAPITAL LETTER O WITH ACUTE -0xe1 U+00df #LATIN SMALL LETTER SHARP S -0xe2 U+00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0xe3 U+0143 #LATIN CAPITAL LETTER N WITH ACUTE -0xe4 U+0144 #LATIN SMALL LETTER N WITH ACUTE -0xe5 U+0148 #LATIN SMALL LETTER N WITH CARON -0xe6 U+0160 #LATIN CAPITAL LETTER S WITH CARON -0xe7 U+0161 #LATIN SMALL LETTER S WITH CARON -0xe8 U+0154 #LATIN CAPITAL LETTER R WITH ACUTE -0xe9 U+00da #LATIN CAPITAL LETTER U WITH ACUTE -0xea U+0155 #LATIN SMALL LETTER R WITH ACUTE -0xeb U+0170 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE -0xec U+00fd #LATIN SMALL LETTER Y WITH ACUTE -0xed U+00dd #LATIN CAPITAL LETTER Y WITH ACUTE -0xee U+0163 #LATIN SMALL LETTER T WITH CEDILLA -0xef U+00b4 #ACUTE ACCENT -0xf0 U+00ad #SOFT HYPHEN -0xf1 U+02dd #DOUBLE ACUTE ACCENT -0xf2 U+02db #OGONEK -0xf3 U+02c7 #CARON -0xf4 U+02d8 #BREVE -0xf5 U+00a7 #SECTION SIGN -0xf6 U+00f7 #DIVISION SIGN -0xf7 U+00b8 #CEDILLA -0xf8 U+00b0 #DEGREE SIGN -0xf9 U+00a8 #DIAERESIS -0xfa U+02d9 #DOT ABOVE -0xfb U+0171 #LATIN SMALL LETTER U WITH DOUBLE ACUTE -0xfc U+0158 #LATIN CAPITAL LETTER R WITH CARON -0xfd U+0159 #LATIN SMALL LETTER R WITH CARON -0xfe U+25a0 #BLACK SQUARE -0xff U+00a0 #NO-BREAK SPACE +################## + +0x20-0x7e idem +# +0x80 U+00c7 #LATIN CAPITAL LETTER C WITH CEDILLA +0x81 U+00fc #LATIN SMALL LETTER U WITH DIAERESIS +0x82 U+00e9 #LATIN SMALL LETTER E WITH ACUTE +0x83 U+00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX +0x84 U+00e4 #LATIN SMALL LETTER A WITH DIAERESIS +0x85 U+016f #LATIN SMALL LETTER U WITH RING ABOVE +0x86 U+0107 #LATIN SMALL LETTER C WITH ACUTE +0x87 U+00e7 #LATIN SMALL LETTER C WITH CEDILLA +0x88 U+0142 #LATIN SMALL LETTER L WITH STROKE +0x89 U+00eb #LATIN SMALL LETTER E WITH DIAERESIS +0x8a U+0150 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +0x8b U+0151 #LATIN SMALL LETTER O WITH DOUBLE ACUTE +0x8c U+00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX +0x8d U+0179 #LATIN CAPITAL LETTER Z WITH ACUTE +0x8e U+00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS +0x8f U+0106 #LATIN CAPITAL LETTER C WITH ACUTE +0x90 U+00c9 #LATIN CAPITAL LETTER E WITH ACUTE +0x91 U+0139 #LATIN CAPITAL LETTER L WITH ACUTE +0x92 U+013a #LATIN SMALL LETTER L WITH ACUTE +0x93 U+00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX +0x94 U+00f6 #LATIN SMALL LETTER O WITH DIAERESIS +0x95 U+013d #LATIN CAPITAL LETTER L WITH CARON +0x96 U+013e #LATIN SMALL LETTER L WITH CARON +0x97 U+015a #LATIN CAPITAL LETTER S WITH ACUTE +0x98 U+015b #LATIN SMALL LETTER S WITH ACUTE +0x99 U+00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS +0x9a U+00dc #LATIN CAPITAL LETTER U WITH DIAERESIS +0x9b U+0164 #LATIN CAPITAL LETTER T WITH CARON +0x9c U+0165 #LATIN SMALL LETTER T WITH CARON +0x9d U+0141 #LATIN CAPITAL LETTER L WITH STROKE +0x9e U+00d7 #MULTIPLICATION SIGN +0x9f U+010d #LATIN SMALL LETTER C WITH CARON +0xa0 U+00e1 #LATIN SMALL LETTER A WITH ACUTE +0xa1 U+00ed #LATIN SMALL LETTER I WITH ACUTE +0xa2 U+00f3 #LATIN SMALL LETTER O WITH ACUTE +0xa3 U+00fa #LATIN SMALL LETTER U WITH ACUTE +0xa4 U+0104 #LATIN CAPITAL LETTER A WITH OGONEK +0xa5 U+0105 #LATIN SMALL LETTER A WITH OGONEK +0xa6 U+017d #LATIN CAPITAL LETTER Z WITH CARON +0xa7 U+017e #LATIN SMALL LETTER Z WITH CARON +0xa8 U+0118 #LATIN CAPITAL LETTER E WITH OGONEK +0xa9 U+0119 #LATIN SMALL LETTER E WITH OGONEK +0xaa U+00ac #NOT SIGN +0xab U+017a #LATIN SMALL LETTER Z WITH ACUTE +0xac U+010c #LATIN CAPITAL LETTER C WITH CARON +0xad U+015f #LATIN SMALL LETTER S WITH CEDILLA +0xae U+00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xaf U+00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xb0 U+2591 #LIGHT SHADE +0xb1 U+2592 #MEDIUM SHADE +0xb2 U+2593 #DARK SHADE +0xb3 U+2502 #BOX DRAWINGS LIGHT VERTICAL +0xb4 U+2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT +0xb5 U+00c1 #LATIN CAPITAL LETTER A WITH ACUTE +0xb6 U+00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xb7 U+011a #LATIN CAPITAL LETTER E WITH CARON +0xb8 U+015e #LATIN CAPITAL LETTER S WITH CEDILLA +0xb9 U+2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT +0xba U+2551 #BOX DRAWINGS DOUBLE VERTICAL +0xbb U+2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT +0xbc U+255d #BOX DRAWINGS DOUBLE UP AND LEFT +0xbd U+017b #LATIN CAPITAL LETTER Z WITH DOT ABOVE +0xbe U+017c #LATIN SMALL LETTER Z WITH DOT ABOVE +0xbf U+2510 #BOX DRAWINGS LIGHT DOWN AND LEFT +0xc0 U+2514 #BOX DRAWINGS LIGHT UP AND RIGHT +0xc1 U+2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL +0xc2 U+252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +0xc3 U+251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT +0xc4 U+2500 #BOX DRAWINGS LIGHT HORIZONTAL +0xc5 U+253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +0xc6 U+0102 #LATIN CAPITAL LETTER A WITH BREVE +0xc7 U+0103 #LATIN SMALL LETTER A WITH BREVE +0xc8 U+255a #BOX DRAWINGS DOUBLE UP AND RIGHT +0xc9 U+2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT +0xca U+2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL +0xcb U+2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL +0xcc U+2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT +0xcd U+2550 #BOX DRAWINGS DOUBLE HORIZONTAL +0xce U+256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL +0xcf U+00a4 #CURRENCY SIGN +0xd0 U+0111 #LATIN SMALL LETTER D WITH STROKE +0xd1 U+0110 #LATIN CAPITAL LETTER D WITH STROKE +0xd2 U+010e #LATIN CAPITAL LETTER D WITH CARON +0xd3 U+00cb #LATIN CAPITAL LETTER E WITH DIAERESIS +0xd4 U+010f #LATIN SMALL LETTER D WITH CARON +0xd5 U+0147 #LATIN CAPITAL LETTER N WITH CARON +0xd6 U+00cd #LATIN CAPITAL LETTER I WITH ACUTE +0xd7 U+00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0xd8 U+011b #LATIN SMALL LETTER E WITH CARON +0xd9 U+2518 #BOX DRAWINGS LIGHT UP AND LEFT +0xda U+250c #BOX DRAWINGS LIGHT DOWN AND RIGHT +0xdb U+2588 #FULL BLOCK +0xdc U+2584 #LOWER HALF BLOCK +0xdd U+0162 #LATIN CAPITAL LETTER T WITH CEDILLA +0xde U+016e #LATIN CAPITAL LETTER U WITH RING ABOVE +0xdf U+2580 #UPPER HALF BLOCK +0xe0 U+00d3 #LATIN CAPITAL LETTER O WITH ACUTE +0xe1 U+00df #LATIN SMALL LETTER SHARP S +0xe2 U+00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xe3 U+0143 #LATIN CAPITAL LETTER N WITH ACUTE +0xe4 U+0144 #LATIN SMALL LETTER N WITH ACUTE +0xe5 U+0148 #LATIN SMALL LETTER N WITH CARON +0xe6 U+0160 #LATIN CAPITAL LETTER S WITH CARON +0xe7 U+0161 #LATIN SMALL LETTER S WITH CARON +0xe8 U+0154 #LATIN CAPITAL LETTER R WITH ACUTE +0xe9 U+00da #LATIN CAPITAL LETTER U WITH ACUTE +0xea U+0155 #LATIN SMALL LETTER R WITH ACUTE +0xeb U+0170 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +0xec U+00fd #LATIN SMALL LETTER Y WITH ACUTE +0xed U+00dd #LATIN CAPITAL LETTER Y WITH ACUTE +0xee U+0163 #LATIN SMALL LETTER T WITH CEDILLA +0xef U+00b4 #ACUTE ACCENT +0xf0 U+00ad #SOFT HYPHEN +0xf1 U+02dd #DOUBLE ACUTE ACCENT +0xf2 U+02db #OGONEK +0xf3 U+02c7 #CARON +0xf4 U+02d8 #BREVE +0xf5 U+00a7 #SECTION SIGN +0xf6 U+00f7 #DIVISION SIGN +0xf7 U+00b8 #CEDILLA +0xf8 U+00b0 #DEGREE SIGN +0xf9 U+00a8 #DIAERESIS +0xfa U+02d9 #DOT ABOVE +0xfb U+0171 #LATIN SMALL LETTER U WITH DOUBLE ACUTE +0xfc U+0158 #LATIN CAPITAL LETTER R WITH CARON +0xfd U+0159 #LATIN SMALL LETTER R WITH CARON +0xfe U+25a0 #BLACK SQUARE +0xff U+00a0 #NO-BREAK SPACE |