diff -Nru console-tools-0.2.3/ABOUT-NLS console-tools-0.2.3/ABOUT-NLS --- console-tools-0.2.3/ABOUT-NLS 1999-03-07 16:41:29.000000000 +0000 +++ console-tools-0.2.3/ABOUT-NLS 1970-01-01 00:00:00.000000000 +0000 @@ -1,226 +0,0 @@ -Notes on the Free Translation Project -************************************* - - Free software is going international! The Free Translation Project -is a way to get maintainers of free software, translators, and users all -together, so that will gradually become able to speak many languages. -A few packages already provide translations for their messages. - - If you found this `ABOUT-NLS' file inside a distribution, you may -assume that the distributed package does use GNU `gettext' internally, -itself available at your nearest GNU archive site. But you do *not* -need to install GNU `gettext' prior to configuring, installing or using -this package with messages translated. - - Installers will find here some useful hints. These notes also -explain how users should proceed for getting the programs to use the -available translations. They tell how people wanting to contribute and -work at translations should contact the appropriate team. - - When reporting bugs in the `intl/' directory or bugs which may be -related to internationalization, you should tell about the version of -`gettext' which is used. The information can be found in the -`intl/VERSION' file, in internationalized packages. - -One advise in advance -===================== - - If you want to exploit the full power of internationalization, you -should configure it using - - ./configure --with-included-gettext - -to force usage of internationalizing routines provided within this -package, despite the existence of internationalizing capabilities in the -operating system where this package is being installed. So far, only -the `gettext' implementation in the GNU C library version 2 provides as -many features (such as locale alias or message inheritance) as the -implementation here. It is also not possible to offer this additional -functionality on top of a `catgets' implementation. Future versions of -GNU `gettext' will very likely convey even more functionality. So it -might be a good idea to change to GNU `gettext' as soon as possible. - - So you need not provide this option if you are using GNU libc 2 or -you have installed a recent copy of the GNU gettext package with the -included `libintl'. - -INSTALL Matters -=============== - - Some packages are "localizable" when properly installed; the -programs they contain can be made to speak your own native language. -Most such packages use GNU `gettext'. Other packages have their own -ways to internationalization, predating GNU `gettext'. - - By default, this package will be installed to allow translation of -messages. It will automatically detect whether the system provides -usable `catgets' (if using this is selected by the installer) or -`gettext' functions. If neither is available, the GNU `gettext' own -library will be used. This library is wholly contained within this -package, usually in the `intl/' subdirectory, so prior installation of -the GNU `gettext' package is *not* required. Installers may use -special options at configuration time for changing the default -behaviour. The commands: - - ./configure --with-included-gettext - ./configure --with-catgets - ./configure --disable-nls - -will respectively bypass any pre-existing `catgets' or `gettext' to use -the internationalizing routines provided within this package, enable -the use of the `catgets' functions (if found on the locale system), or -else, *totally* disable translation of messages. - - When you already have GNU `gettext' installed on your system and run -configure without an option for your new package, `configure' will -probably detect the previously built and installed `libintl.a' file and -will decide to use this. This might be not what is desirable. You -should use the more recent version of the GNU `gettext' library. I.e. -if the file `intl/VERSION' shows that the library which comes with this -package is more recent, you should use - - ./configure --with-included-gettext - -to prevent auto-detection. - - By default the configuration process will not test for the `catgets' -function and therefore they will not be used. The reasons are already -given above: the emulation on top of `catgets' cannot provide all the -extensions provided by the GNU `gettext' library. If you nevertheless -want to use the `catgets' functions use - - ./configure --with-catgets - -to enable the test for `catgets' (this causes no harm if `catgets' is -not available on your system). If you really select this option we -would like to hear about the reasons because we cannot think of any -good one ourself. - - Internationalized packages have usually many `po/LL.po' files, where -LL gives an ISO 639 two-letter code identifying the language. Unless -translations have been forbidden at `configure' time by using the -`--disable-nls' switch, all available translations are installed -together with the package. However, the environment variable `LINGUAS' -may be set, prior to configuration, to limit the installed set. -`LINGUAS' should then contain a space separated list of two-letter -codes, stating which languages are allowed. - -Using This Package -================== - - As a user, if your language has been installed for this package, you -only have to set the `LANG' environment variable to the appropriate -ISO 639 `LL' two-letter code prior to using the programs in the -package. For example, let's suppose that you speak German. At the -shell prompt, merely execute `setenv LANG de' (in `csh'), -`export LANG; LANG=de' (in `sh') or `export LANG=de' (in `bash'). This -can be done from your `.login' or `.profile' file, once and for all. - - An operating system might already offer message localization for -many of its programs, while other programs have been installed locally -with the full capabilities of GNU `gettext'. Just using `gettext' -extended syntax for `LANG' would break proper localization of already -available operating system programs. In this case, users should set -both `LANGUAGE' and `LANG' variables in their environment, as programs -using GNU `gettext' give preference to `LANGUAGE'. For example, some -Swedish users would rather read translations in German than English for -when Swedish is not available. This is easily accomplished by setting -`LANGUAGE' to `sv:de' while leaving `LANG' to `sv'. - -Translating Teams -================= - - For the Free Translation Project to be a success, we need interested -people who like their own language and write it well, and who are also -able to synergize with other translators speaking the same language. -Each translation team has its own mailing list, courtesy of Linux -International. You may reach your translation team at the address -`LL@li.org', replacing LL by the two-letter ISO 639 code for your -language. Language codes are *not* the same as the country codes given -in ISO 3166. The following translation teams exist, as of December -1997: - - Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en', - Esperanto `eo', Finnish `fi', French `fr', German `de', Hungarian - `hu', Irish `ga', Italian `it', Indonesian `id', Japanese `ja', - Korean `ko', Latin `la', Norwegian `no', Persian `fa', Polish - `pl', Portuguese `pt', Russian `ru', Slovenian `sl', Spanish `es', - Swedish `sv', and Turkish `tr'. - -For example, you may reach the Chinese translation team by writing to -`zh@li.org'. - - If you'd like to volunteer to *work* at translating messages, you -should become a member of the translating team for your own language. -The subscribing address is *not* the same as the list itself, it has -`-request' appended. For example, speakers of Swedish can send a -message to `sv-request@li.org', having this message body: - - subscribe - - Keep in mind that team members are expected to participate -*actively* in translations, or at solving translational difficulties, -rather than merely lurking around. If your team does not exist yet and -you want to start one, or if you are unsure about what to do or how to -get started, please write to `translation@iro.umontreal.ca' to reach the -coordinator for all translator teams. - - The English team is special. It works at improving and uniformizing -the terminology in use. Proven linguistic skill are praised more than -programming skill, here. - -Available Packages -================== - - Languages are not equally supported in all packages. The following -matrix shows the current state of internationalization, as of December -1997. The matrix shows, in regard of each package, for which languages -PO files have been submitted to translation coordination. - - Ready PO files cs da de en es fi fr it ja ko nl no pl pt ru sl sv - .----------------------------------------------------. - bash | [] [] [] | 3 - bison | [] [] [] | 3 - clisp | [] [] [] [] | 4 - cpio | [] [] [] [] [] [] | 6 - diffutils | [] [] [] [] [] | 5 - enscript | [] [] [] [] [] [] | 6 - fileutils | [] [] [] [] [] [] [] [] [] [] | 10 - findutils | [] [] [] [] [] [] [] [] [] | 9 - flex | [] [] [] [] | 4 - gcal | [] [] [] [] [] | 5 - gettext | [] [] [] [] [] [] [] [] [] [] [] | 12 - grep | [] [] [] [] [] [] [] [] [] [] | 10 - hello | [] [] [] [] [] [] [] [] [] [] [] | 11 - id-utils | [] [] [] | 3 - indent | [] [] [] [] [] | 5 - libc | [] [] [] [] [] [] [] | 7 - m4 | [] [] [] [] [] [] | 6 - make | [] [] [] [] [] [] | 6 - music | [] [] | 2 - ptx | [] [] [] [] [] [] [] [] | 8 - recode | [] [] [] [] [] [] [] [] [] | 9 - sh-utils | [] [] [] [] [] [] [] [] | 8 - sharutils | [] [] [] [] [] [] | 6 - tar | [] [] [] [] [] [] [] [] [] [] [] | 11 - texinfo | [] [] [] | 3 - textutils | [] [] [] [] [] [] [] [] [] | 9 - wdiff | [] [] [] [] [] [] [] [] | 8 - `----------------------------------------------------' - 17 languages cs da de en es fi fr it ja ko nl no pl pt ru sl sv - 27 packages 6 4 25 1 18 1 26 2 1 12 20 9 19 7 4 7 17 179 - - Some counters in the preceding matrix are higher than the number of -visible blocks let us expect. This is because a few extra PO files are -used for implementing regional variants of languages, or language -dialects. - - For a PO file in the matrix above to be effective, the package to -which it applies should also have been internationalized and -distributed as such by its maintainer. There might be an observable -lag between the mere existence a PO file and its wide availability in a -distribution. - - If December 1997 seems to be old, you may fetch a more recent copy -of this `ABOUT-NLS' file on most GNU archive sites. - diff -Nru console-tools-0.2.3/acconfig.h console-tools-0.2.3/acconfig.h --- console-tools-0.2.3/acconfig.h 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/acconfig.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ -/* what we are */ -#undef PACKAGE -#undef VERSION - -/* debugging */ -#undef NDEBUG - -/* where to put data-subdirs */ -#undef LOCALDATADIR - -/* what compressor we can use */ -#undef USE_MAIN_COMPRESSOR - -/* For i18n */ -#undef HAVE_LC_MESSAGES -#undef HAVE_STPCPY -#undef ENABLE_NLS -#undef HAVE_GETTEXT -#undef HAVE_CATGETS -#undef LOCALEDIR diff -Nru console-tools-0.2.3/acinclude.m4 console-tools-0.2.3/acinclude.m4 --- console-tools-0.2.3/acinclude.m4 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/acinclude.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,391 +0,0 @@ -dnl Check for a program from a list, with user control. -dnl Generates corresponding prog_XXX.h file with corresponding flags defs. -dnl "#undef USE_COMPRESSOR" must be put into acconfig.h if the latter is used. -dnl Use: ct_CHECK_WITH_PROGS(genericname, proglist) - -dnl TODO: -dnl + add generated prog_*.h to maintclean files. -dnl + add prog_*.h deps and rules on configure.in. -dnl + make a similar macro allowing USE_XX to be a combination of all flags ? - -dnl Expands to one shell "case" sub-statement, -dnl suitable for use within a "case" statement. -dnl Internal, for use by "ct_CASES". -dnl -define([ct_ONE_CASE], [dnl -dnl Add this possible choice in .h file *on m4 processing* -syscmd([echo '#define ]translit($1_$2,[a-z],[A-Z])[ (1 << ]$3[)' >> prog_]$1[.h])dnl -$2) - translit($1,[a-z],[A-Z])=$2 # turn "yes" into default -dnl Add the choice as a #define - AC_DEFINE_UNQUOTED(USE_[]translit($1,[a-z],[A-Z]), (1 << $3)) - ;; -]) - -dnl Expands to shell sub-statements suitable for use -dnl within a "case" statement. -dnl Acts recursively, on each of the space-separated $2. -dnl -define([ct_CASES], [dnl -ifelse($2, , , [dnl -ct_ONE_CASE($1, patsubst($2, [ *\(\w*\).*], \1), $3) -ct_CASES($1, patsubst($2, ^\w* *,), incr($3)) -]) -]) - -AC_DEFUN(ct_CHECK_WITH_PROGS,[dnl -AC_ARG_WITH($1, [ --with-]$1[ - Force support of specified ]$1[ instead of scanning - the system to know which one can be used. - ]$1[s I know of: ]$2[.], -[translit($1,[a-z],[A-Z])=${withval}], -[AC_CHECK_PROGS(translit($1,[a-z],[A-Z]), $2, [no])]) - -# Find which $1 to support - -dnl Set the CPP symbol bits; save them to .h file -syscmd([echo > prog_]$1[.h \ -'/* This file was automatically generated by autoconf */ -/* with the ct_CHECK_WITH_PROGS macro */ - -/* DO NOT EDIT BY HAND */ -']) -case ${translit($1,[a-z],[A-Z])} in - yes | ct_CASES($1, $2, 0) - no) - ;; - *) - AC_MSG_ERROR([Don't know how to support ]$1[ \`${]translit($1,[a-z],[A-Z])[}'.]) - ;; -esac - -dnl Show the user what was selected -dnl -case ${[]translit($1,[a-z],[A-Z])[]} in - patsubst($2, [\> *\<], [ | ])) - AC_MSG_RESULT([Using ]translit($1,_,[ ])[ program \`${]translit($1,[a-z],[A-Z])[}'.]) - ;; - *) - AC_MSG_RESULT([Using NO ]$1[ program.]) - ;; -esac - -ct_cv_prog_[]translit($1,[a-z],[A-Z])=${[]translit($1,[a-z],[A-Z])[]} - -dnl Allow its use in Makefiles -dnl eg. "... | $(DECOMPRESSOR)" -dnl -AC_SUBST(translit($1,[a-z],[A-Z])) -]) - -###################################################################### -# gettext.m4 from gettext 0.32 -###################################################################### -# Macro to add for using GNU gettext. -# Ulrich Drepper , 1995. -# -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -# serial 3 - -AC_DEFUN(AM_WITH_NLS, - [AC_MSG_CHECKING([whether NLS is requested]) - dnl Default is enabled NLS - AC_ARG_ENABLE(nls, - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes) - AC_MSG_RESULT($USE_NLS) - AC_SUBST(USE_NLS) - - USE_INCLUDED_LIBINTL=no - - dnl If we use NLS figure out what method - if test "$USE_NLS" = "yes"; then - AC_DEFINE(ENABLE_NLS) - AC_MSG_CHECKING([whether included gettext is requested]) - AC_ARG_WITH(included-gettext, - [ --with-included-gettext use the GNU gettext library included here], - nls_cv_force_use_gnu_gettext=$withval, - nls_cv_force_use_gnu_gettext=no) - AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - dnl User does not insist on using GNU NLS library. Figure out what - dnl to use. If gettext or catgets are available (in this order) we - dnl use this. Else we have to fall back to GNU NLS library. - dnl catgets is only used if permitted by option --with-catgets. - nls_cv_header_intl= - nls_cv_header_libgt= - CATOBJEXT=NONE - - AC_CHECK_HEADER(libintl.h, - [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc, - [AC_TRY_LINK([#include ], [return (int) gettext ("")], - gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)]) - - if test "$gt_cv_func_gettext_libc" != "yes"; then - AC_CHECK_LIB(intl, bindtextdomain, - [AC_CACHE_CHECK([for gettext in libintl], - gt_cv_func_gettext_libintl, - [AC_TRY_LINK([], [return (int) gettext ("")], - gt_cv_func_gettext_libintl=yes, - gt_cv_func_gettext_libintl=no)])]) - fi - - if test "$gt_cv_func_gettext_libc" = "yes" \ - || test "$gt_cv_func_gettext_libintl" = "yes"; then - AC_DEFINE(HAVE_GETTEXT) - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl - if test "$MSGFMT" != "no"; then - AC_CHECK_FUNCS(dcgettext) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) - AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; - return _nl_msg_cat_cntr], - [CATOBJEXT=.gmo - DATADIRNAME=share], - [CATOBJEXT=.mo - DATADIRNAME=lib]) - INSTOBJEXT=.mo - fi - fi - ]) - - if test "$CATOBJEXT" = "NONE"; then - AC_MSG_CHECKING([whether catgets can be used]) - AC_ARG_WITH(catgets, - [ --with-catgets use catgets functions if available], - nls_cv_use_catgets=$withval, nls_cv_use_catgets=no) - AC_MSG_RESULT($nls_cv_use_catgets) - - if test "$nls_cv_use_catgets" = "yes"; then - dnl No gettext in C library. Try catgets next. - AC_CHECK_LIB(i, main) - AC_CHECK_FUNC(catgets, - [AC_DEFINE(HAVE_CATGETS) - INTLOBJS="\$(CATOBJS)" - AC_PATH_PROG(GENCAT, gencat, no)dnl - if test "$GENCAT" != "no"; then - AC_PATH_PROG(GMSGFMT, gmsgfmt, no) - if test "$GMSGFMT" = "no"; then - AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no) - fi - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) - USE_INCLUDED_LIBINTL=yes - CATOBJEXT=.cat - INSTOBJEXT=.cat - DATADIRNAME=lib - INTLDEPS='$(top_builddir)/intl/libintl.a' - INTLLIBS=$INTLDEPS - LIBS=`echo $LIBS | sed -e 's/-lintl//'` - nls_cv_header_intl=intl/libintl.h - nls_cv_header_libgt=intl/libgettext.h - fi]) - fi - fi - - if test "$CATOBJEXT" = "NONE"; then - dnl Neither gettext nor catgets in included in the C library. - dnl Fall back on GNU gettext library. - nls_cv_use_gnu_gettext=yes - fi - fi - - if test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions used to generate GNU NLS library. - INTLOBJS="\$(GETTOBJS)" - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) - AC_SUBST(MSGFMT) - USE_INCLUDED_LIBINTL=yes - CATOBJEXT=.gmo - INSTOBJEXT=.mo - DATADIRNAME=share - INTLDEPS='$(top_builddir)/intl/libintl.a' - INTLLIBS=$INTLDEPS - LIBS=`echo $LIBS | sed -e 's/-lintl//'` - nls_cv_header_intl=intl/libintl.h - nls_cv_header_libgt=intl/libgettext.h - fi - - dnl Test whether we really found GNU xgettext. - if test "$XGETTEXT" != ":"; then - dnl If it is no GNU xgettext we define it as : so that the - dnl Makefiles still can work. - if $XGETTEXT --omit-header /dev/null 2> /dev/null; then - : ; - else - AC_MSG_RESULT( - [found xgettext programs is not GNU xgettext; ignore it]) - XGETTEXT=":" - fi - fi - - # We need to process the po/ directory. - POSUB=po - else - DATADIRNAME=share - nls_cv_header_intl=intl/libintl.h - nls_cv_header_libgt=intl/libgettext.h - fi - - # If this is used in GNU gettext we have to set USE_NLS to `yes' - # because some of the sources are only built for this goal. - if test "$PACKAGE" = gettext; then - USE_NLS=yes - USE_INCLUDED_LIBINTL=yes - fi - - dnl These rules are solely for the distribution goal. While doing this - dnl we only have to keep exactly one list of the available catalogs - dnl in configure.in. - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" - done - - dnl Make all variables we use known to autoconf. - AC_SUBST(USE_INCLUDED_LIBINTL) - AC_SUBST(CATALOGS) - AC_SUBST(CATOBJEXT) - AC_SUBST(DATADIRNAME) - AC_SUBST(GMOFILES) - AC_SUBST(INSTOBJEXT) - AC_SUBST(INTLDEPS) - AC_SUBST(INTLLIBS) - AC_SUBST(INTLOBJS) - AC_SUBST(POFILES) - AC_SUBST(POSUB) - ]) - -AC_DEFUN(AM_GNU_GETTEXT, - [AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AC_PROG_RANLIB])dnl - AC_REQUIRE([AC_ISC_POSIX])dnl - AC_REQUIRE([AC_HEADER_STDC])dnl - AC_REQUIRE([AC_C_CONST])dnl - AC_REQUIRE([AC_C_INLINE])dnl - AC_REQUIRE([AC_TYPE_OFF_T])dnl - AC_REQUIRE([AC_TYPE_SIZE_T])dnl - AC_REQUIRE([AC_FUNC_ALLOCA])dnl - AC_REQUIRE([AC_FUNC_MMAP])dnl - - AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \ -unistd.h values.h sys/param.h]) - AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \ -__argz_count __argz_stringify __argz_next]) - - if test "${ac_cv_func_stpcpy+set}" != "set"; then - AC_CHECK_FUNCS(stpcpy) - fi - if test "${ac_cv_func_stpcpy}" = "yes"; then - AC_DEFINE(HAVE_STPCPY) - fi - - AM_LC_MESSAGES - AM_WITH_NLS - - if test "x$CATOBJEXT" != "x"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - AC_MSG_CHECKING(for catalogs to be installed) - NEW_LINGUAS= - for lang in ${LINGUAS=$ALL_LINGUAS}; do - case "$ALL_LINGUAS" in - *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; - esac - done - LINGUAS=$NEW_LINGUAS - AC_MSG_RESULT($LINGUAS) - fi - - dnl Construct list of names of catalog files to be constructed. - if test -n "$LINGUAS"; then - for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done - fi - fi - - dnl The reference to in the installed file - dnl must be resolved because we cannot expect the users of this - dnl to define HAVE_LOCALE_H. - if test $ac_cv_header_locale_h = yes; then - INCLUDE_LOCALE_H="#include " - else - INCLUDE_LOCALE_H="\ -/* The system does not provide the header . Take care yourself. */" - fi - AC_SUBST(INCLUDE_LOCALE_H) - - dnl Determine which catalog format we have (if any is needed) - dnl For now we know about two different formats: - dnl Linux libc-5 and the normal X/Open format - test -d intl || mkdir intl - if test "$CATOBJEXT" = ".cat"; then - AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen) - - dnl Transform the SED scripts while copying because some dumb SEDs - dnl cannot handle comments. - sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed - fi - dnl po2tbl.sed is always needed. - sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \ - $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed - - dnl In the intl/Makefile.in we have a special dependency which makes - dnl only sense for gettext. We comment this out for non-gettext - dnl packages. - if test "$PACKAGE" = "gettext"; then - GT_NO="#NO#" - GT_YES= - else - GT_NO= - GT_YES="#YES#" - fi - AC_SUBST(GT_NO) - AC_SUBST(GT_YES) - - dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly - dnl find the mkinstalldirs script in another subdir but ($top_srcdir). - dnl Try to locate is. - MKINSTALLDIRS= - if test -n "$ac_aux_dir"; then - MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" - fi - if test -z "$MKINSTALLDIRS"; then - MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" - fi - AC_SUBST(MKINSTALLDIRS) - - dnl *** For now the libtool support in intl/Makefile is not for real. - l= - AC_SUBST(l) - - dnl Generate list of files to be processed by xgettext which will - dnl be included in po/Makefile. - test -d po || mkdir po - if test "x$srcdir" != "x."; then - if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then - posrcprefix="$srcdir/" - else - posrcprefix="../$srcdir/" - fi - else - posrcprefix="../" - fi - rm -f po/POTFILES - sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ - < $srcdir/po/POTFILES.in > po/POTFILES - ]) diff -Nru console-tools-0.2.3/aclocal.m4 console-tools-0.2.3/aclocal.m4 --- console-tools-0.2.3/aclocal.m4 1999-10-25 20:48:37.000000000 +0000 +++ console-tools-0.2.3/aclocal.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,1000 +0,0 @@ -dnl aclocal.m4 generated automatically by aclocal 1.4 - -dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl This program is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without -dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A -dnl PARTICULAR PURPOSE. - -dnl Check for a program from a list, with user control. -dnl Generates corresponding prog_XXX.h file with corresponding flags defs. -dnl "#undef USE_COMPRESSOR" must be put into acconfig.h if the latter is used. -dnl Use: ct_CHECK_WITH_PROGS(genericname, proglist) - -dnl TODO: -dnl + add generated prog_*.h to maintclean files. -dnl + add prog_*.h deps and rules on configure.in. -dnl + make a similar macro allowing USE_XX to be a combination of all flags ? - -dnl Expands to one shell "case" sub-statement, -dnl suitable for use within a "case" statement. -dnl Internal, for use by "ct_CASES". -dnl -define([ct_ONE_CASE], [dnl -dnl Add this possible choice in .h file *on m4 processing* -syscmd([echo '#define ]translit($1_$2,[a-z],[A-Z])[ (1 << ]$3[)' >> prog_]$1[.h])dnl -$2) - translit($1,[a-z],[A-Z])=$2 # turn "yes" into default -dnl Add the choice as a #define - AC_DEFINE_UNQUOTED(USE_[]translit($1,[a-z],[A-Z]), (1 << $3)) - ;; -]) - -dnl Expands to shell sub-statements suitable for use -dnl within a "case" statement. -dnl Acts recursively, on each of the space-separated $2. -dnl -define([ct_CASES], [dnl -ifelse($2, , , [dnl -ct_ONE_CASE($1, patsubst($2, [ *\(\w*\).*], \1), $3) -ct_CASES($1, patsubst($2, ^\w* *,), incr($3)) -]) -]) - -AC_DEFUN(ct_CHECK_WITH_PROGS,[dnl -AC_ARG_WITH($1, [ --with-]$1[ - Force support of specified ]$1[ instead of scanning - the system to know which one can be used. - ]$1[s I know of: ]$2[.], -[translit($1,[a-z],[A-Z])=${withval}], -[AC_CHECK_PROGS(translit($1,[a-z],[A-Z]), $2, [no])]) - -# Find which $1 to support - -dnl Set the CPP symbol bits; save them to .h file -syscmd([echo > prog_]$1[.h \ -'/* This file was automatically generated by autoconf */ -/* with the ct_CHECK_WITH_PROGS macro */ - -/* DO NOT EDIT BY HAND */ -']) -case ${translit($1,[a-z],[A-Z])} in - yes | ct_CASES($1, $2, 0) - no) - ;; - *) - AC_MSG_ERROR([Don't know how to support ]$1[ \`${]translit($1,[a-z],[A-Z])[}'.]) - ;; -esac - -dnl Show the user what was selected -dnl -case ${[]translit($1,[a-z],[A-Z])[]} in - patsubst($2, [\> *\<], [ | ])) - AC_MSG_RESULT([Using ]translit($1,_,[ ])[ program \`${]translit($1,[a-z],[A-Z])[}'.]) - ;; - *) - AC_MSG_RESULT([Using NO ]$1[ program.]) - ;; -esac - -ct_cv_prog_[]translit($1,[a-z],[A-Z])=${[]translit($1,[a-z],[A-Z])[]} - -dnl Allow its use in Makefiles -dnl eg. "... | $(DECOMPRESSOR)" -dnl -AC_SUBST(translit($1,[a-z],[A-Z])) -]) - -# gettext.m4 from gettext 0.32 -# Macro to add for using GNU gettext. -# Ulrich Drepper , 1995. -# -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -# serial 3 - -AC_DEFUN(AM_WITH_NLS, - [AC_MSG_CHECKING([whether NLS is requested]) - dnl Default is enabled NLS - AC_ARG_ENABLE(nls, - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes) - AC_MSG_RESULT($USE_NLS) - AC_SUBST(USE_NLS) - - USE_INCLUDED_LIBINTL=no - - dnl If we use NLS figure out what method - if test "$USE_NLS" = "yes"; then - AC_DEFINE(ENABLE_NLS) - AC_MSG_CHECKING([whether included gettext is requested]) - AC_ARG_WITH(included-gettext, - [ --with-included-gettext use the GNU gettext library included here], - nls_cv_force_use_gnu_gettext=$withval, - nls_cv_force_use_gnu_gettext=no) - AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - dnl User does not insist on using GNU NLS library. Figure out what - dnl to use. If gettext or catgets are available (in this order) we - dnl use this. Else we have to fall back to GNU NLS library. - dnl catgets is only used if permitted by option --with-catgets. - nls_cv_header_intl= - nls_cv_header_libgt= - CATOBJEXT=NONE - - AC_CHECK_HEADER(libintl.h, - [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc, - [AC_TRY_LINK([#include ], [return (int) gettext ("")], - gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)]) - - if test "$gt_cv_func_gettext_libc" != "yes"; then - AC_CHECK_LIB(intl, bindtextdomain, - [AC_CACHE_CHECK([for gettext in libintl], - gt_cv_func_gettext_libintl, - [AC_TRY_LINK([], [return (int) gettext ("")], - gt_cv_func_gettext_libintl=yes, - gt_cv_func_gettext_libintl=no)])]) - fi - - if test "$gt_cv_func_gettext_libc" = "yes" \ - || test "$gt_cv_func_gettext_libintl" = "yes"; then - AC_DEFINE(HAVE_GETTEXT) - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl - if test "$MSGFMT" != "no"; then - AC_CHECK_FUNCS(dcgettext) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) - AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; - return _nl_msg_cat_cntr], - [CATOBJEXT=.gmo - DATADIRNAME=share], - [CATOBJEXT=.mo - DATADIRNAME=lib]) - INSTOBJEXT=.mo - fi - fi - ]) - - if test "$CATOBJEXT" = "NONE"; then - AC_MSG_CHECKING([whether catgets can be used]) - AC_ARG_WITH(catgets, - [ --with-catgets use catgets functions if available], - nls_cv_use_catgets=$withval, nls_cv_use_catgets=no) - AC_MSG_RESULT($nls_cv_use_catgets) - - if test "$nls_cv_use_catgets" = "yes"; then - dnl No gettext in C library. Try catgets next. - AC_CHECK_LIB(i, main) - AC_CHECK_FUNC(catgets, - [AC_DEFINE(HAVE_CATGETS) - INTLOBJS="\$(CATOBJS)" - AC_PATH_PROG(GENCAT, gencat, no)dnl - if test "$GENCAT" != "no"; then - AC_PATH_PROG(GMSGFMT, gmsgfmt, no) - if test "$GMSGFMT" = "no"; then - AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no) - fi - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) - USE_INCLUDED_LIBINTL=yes - CATOBJEXT=.cat - INSTOBJEXT=.cat - DATADIRNAME=lib - INTLDEPS='$(top_builddir)/intl/libintl.a' - INTLLIBS=$INTLDEPS - LIBS=`echo $LIBS | sed -e 's/-lintl//'` - nls_cv_header_intl=intl/libintl.h - nls_cv_header_libgt=intl/libgettext.h - fi]) - fi - fi - - if test "$CATOBJEXT" = "NONE"; then - dnl Neither gettext nor catgets in included in the C library. - dnl Fall back on GNU gettext library. - nls_cv_use_gnu_gettext=yes - fi - fi - - if test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions used to generate GNU NLS library. - INTLOBJS="\$(GETTOBJS)" - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) - AC_SUBST(MSGFMT) - USE_INCLUDED_LIBINTL=yes - CATOBJEXT=.gmo - INSTOBJEXT=.mo - DATADIRNAME=share - INTLDEPS='$(top_builddir)/intl/libintl.a' - INTLLIBS=$INTLDEPS - LIBS=`echo $LIBS | sed -e 's/-lintl//'` - nls_cv_header_intl=intl/libintl.h - nls_cv_header_libgt=intl/libgettext.h - fi - - dnl Test whether we really found GNU xgettext. - if test "$XGETTEXT" != ":"; then - dnl If it is no GNU xgettext we define it as : so that the - dnl Makefiles still can work. - if $XGETTEXT --omit-header /dev/null 2> /dev/null; then - : ; - else - AC_MSG_RESULT( - [found xgettext programs is not GNU xgettext; ignore it]) - XGETTEXT=":" - fi - fi - - # We need to process the po/ directory. - POSUB=po - else - DATADIRNAME=share - nls_cv_header_intl=intl/libintl.h - nls_cv_header_libgt=intl/libgettext.h - fi - - # If this is used in GNU gettext we have to set USE_NLS to `yes' - # because some of the sources are only built for this goal. - if test "$PACKAGE" = gettext; then - USE_NLS=yes - USE_INCLUDED_LIBINTL=yes - fi - - dnl These rules are solely for the distribution goal. While doing this - dnl we only have to keep exactly one list of the available catalogs - dnl in configure.in. - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" - done - - dnl Make all variables we use known to autoconf. - AC_SUBST(USE_INCLUDED_LIBINTL) - AC_SUBST(CATALOGS) - AC_SUBST(CATOBJEXT) - AC_SUBST(DATADIRNAME) - AC_SUBST(GMOFILES) - AC_SUBST(INSTOBJEXT) - AC_SUBST(INTLDEPS) - AC_SUBST(INTLLIBS) - AC_SUBST(INTLOBJS) - AC_SUBST(POFILES) - AC_SUBST(POSUB) - ]) - -AC_DEFUN(AM_GNU_GETTEXT, - [AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AC_PROG_RANLIB])dnl - AC_REQUIRE([AC_ISC_POSIX])dnl - AC_REQUIRE([AC_HEADER_STDC])dnl - AC_REQUIRE([AC_C_CONST])dnl - AC_REQUIRE([AC_C_INLINE])dnl - AC_REQUIRE([AC_TYPE_OFF_T])dnl - AC_REQUIRE([AC_TYPE_SIZE_T])dnl - AC_REQUIRE([AC_FUNC_ALLOCA])dnl - AC_REQUIRE([AC_FUNC_MMAP])dnl - - AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \ -unistd.h values.h sys/param.h]) - AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \ -__argz_count __argz_stringify __argz_next]) - - if test "${ac_cv_func_stpcpy+set}" != "set"; then - AC_CHECK_FUNCS(stpcpy) - fi - if test "${ac_cv_func_stpcpy}" = "yes"; then - AC_DEFINE(HAVE_STPCPY) - fi - - AM_LC_MESSAGES - AM_WITH_NLS - - if test "x$CATOBJEXT" != "x"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - AC_MSG_CHECKING(for catalogs to be installed) - NEW_LINGUAS= - for lang in ${LINGUAS=$ALL_LINGUAS}; do - case "$ALL_LINGUAS" in - *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; - esac - done - LINGUAS=$NEW_LINGUAS - AC_MSG_RESULT($LINGUAS) - fi - - dnl Construct list of names of catalog files to be constructed. - if test -n "$LINGUAS"; then - for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done - fi - fi - - dnl The reference to in the installed file - dnl must be resolved because we cannot expect the users of this - dnl to define HAVE_LOCALE_H. - if test $ac_cv_header_locale_h = yes; then - INCLUDE_LOCALE_H="#include " - else - INCLUDE_LOCALE_H="\ -/* The system does not provide the header . Take care yourself. */" - fi - AC_SUBST(INCLUDE_LOCALE_H) - - dnl Determine which catalog format we have (if any is needed) - dnl For now we know about two different formats: - dnl Linux libc-5 and the normal X/Open format - test -d intl || mkdir intl - if test "$CATOBJEXT" = ".cat"; then - AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen) - - dnl Transform the SED scripts while copying because some dumb SEDs - dnl cannot handle comments. - sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed - fi - dnl po2tbl.sed is always needed. - sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \ - $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed - - dnl In the intl/Makefile.in we have a special dependency which makes - dnl only sense for gettext. We comment this out for non-gettext - dnl packages. - if test "$PACKAGE" = "gettext"; then - GT_NO="#NO#" - GT_YES= - else - GT_NO= - GT_YES="#YES#" - fi - AC_SUBST(GT_NO) - AC_SUBST(GT_YES) - - dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly - dnl find the mkinstalldirs script in another subdir but ($top_srcdir). - dnl Try to locate is. - MKINSTALLDIRS= - if test -n "$ac_aux_dir"; then - MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" - fi - if test -z "$MKINSTALLDIRS"; then - MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" - fi - AC_SUBST(MKINSTALLDIRS) - - dnl *** For now the libtool support in intl/Makefile is not for real. - l= - AC_SUBST(l) - - dnl Generate list of files to be processed by xgettext which will - dnl be included in po/Makefile. - test -d po || mkdir po - if test "x$srcdir" != "x."; then - if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then - posrcprefix="$srcdir/" - else - posrcprefix="../$srcdir/" - fi - else - posrcprefix="../" - fi - rm -f po/POTFILES - sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ - < $srcdir/po/POTFILES.in > po/POTFILES - ]) - -# Search path for a program which passes the given test. -# Ulrich Drepper , 1996. -# -# This file can be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -# serial 1 - -dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, -dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) -AC_DEFUN(AM_PATH_PROG_WITH_TEST, -[# Extract the first word of "$2", so it can be a program name with args. -set dummy $2; ac_word=[$]2 -AC_MSG_CHECKING([for $ac_word]) -AC_CACHE_VAL(ac_cv_path_$1, -[case "[$]$1" in - /*) - ac_cv_path_$1="[$]$1" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in ifelse([$5], , $PATH, [$5]); do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" -dnl If no 4th arg is given, leave the cache variable unset, -dnl so AC_PATH_PROGS will keep looking. -ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" -])dnl - ;; -esac])dnl -$1="$ac_cv_path_$1" -if test -n "[$]$1"; then - AC_MSG_RESULT([$]$1) -else - AC_MSG_RESULT(no) -fi -AC_SUBST($1)dnl -]) - -# Check whether LC_MESSAGES is available in . -# Ulrich Drepper , 1995. -# -# This file can be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -# serial 1 - -AC_DEFUN(AM_LC_MESSAGES, - [if test $ac_cv_header_locale_h = yes; then - AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, - [AC_TRY_LINK([#include ], [return LC_MESSAGES], - am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) - if test $am_cv_val_LC_MESSAGES = yes; then - AC_DEFINE(HAVE_LC_MESSAGES) - fi - fi]) - -# Do all the work for Automake. This macro actually does too much -- -# some checks are only needed if your package does certain things. -# But this isn't really a big deal. - -# serial 1 - -dnl Usage: -dnl AM_INIT_AUTOMAKE(package,version, [no-define]) - -AC_DEFUN(AM_INIT_AUTOMAKE, -[AC_REQUIRE([AC_PROG_INSTALL]) -PACKAGE=[$1] -AC_SUBST(PACKAGE) -VERSION=[$2] -AC_SUBST(VERSION) -dnl test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) -fi -ifelse([$3],, -AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) -AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])) -AC_REQUIRE([AM_SANITY_CHECK]) -AC_REQUIRE([AC_ARG_PROGRAM]) -dnl FIXME This is truly gross. -missing_dir=`cd $ac_aux_dir && pwd` -AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir) -AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) -AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir) -AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) -AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) -AC_REQUIRE([AC_PROG_MAKE_SET])]) - -# -# Check to make sure that the build environment is sane. -# - -AC_DEFUN(AM_SANITY_CHECK, -[AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftestfile -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` - if test "[$]*" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftestfile` - fi - if test "[$]*" != "X $srcdir/configure conftestfile" \ - && test "[$]*" != "X conftestfile $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - - test "[$]2" = conftestfile - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -rm -f conftest* -AC_MSG_RESULT(yes)]) - -dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) -dnl The program must properly implement --version. -AC_DEFUN(AM_MISSING_PROG, -[AC_MSG_CHECKING(for working $2) -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if ($2 --version) < /dev/null > /dev/null 2>&1; then - $1=$2 - AC_MSG_RESULT(found) -else - $1="$3/missing $2" - AC_MSG_RESULT(missing) -fi -AC_SUBST($1)]) - -# Like AC_CONFIG_HEADER, but automatically create stamp file. - -AC_DEFUN(AM_CONFIG_HEADER, -[AC_PREREQ([2.12]) -AC_CONFIG_HEADER([$1]) -dnl When config.status generates a header, we must update the stamp-h file. -dnl This file resides in the same directory as the config header -dnl that is generated. We must strip everything past the first ":", -dnl and everything past the last "/". -AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl -ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>, -<>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>, -<>; do - case " <<$>>CONFIG_HEADERS " in - *" <<$>>am_file "*<<)>> - echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx - ;; - esac - am_indx=`expr "<<$>>am_indx" + 1` -done<<>>dnl>>) -changequote([,]))]) - - -# serial 40 AC_PROG_LIBTOOL -AC_DEFUN(AC_PROG_LIBTOOL, -[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl - -# Save cache, so that ltconfig can load it -AC_CACHE_SAVE - -# Actually configure libtool. ac_aux_dir is where install-sh is found. -CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ -LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ -LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \ -DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \ -${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ -$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \ -|| AC_MSG_ERROR([libtool configure failed]) - -# Reload cache, that may have been modified by ltconfig -AC_CACHE_LOAD - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -# Redirect the config.log output again, so that the ltconfig log is not -# clobbered by the next message. -exec 5>>./config.log -]) - -AC_DEFUN(AC_LIBTOOL_SETUP, -[AC_PREREQ(2.13)dnl -AC_REQUIRE([AC_ENABLE_SHARED])dnl -AC_REQUIRE([AC_ENABLE_STATIC])dnl -AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([AC_PROG_RANLIB])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_LD])dnl -AC_REQUIRE([AC_PROG_NM])dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -dnl - -# Check for any special flags to pass to ltconfig. -libtool_flags="--cache-file=$cache_file" -test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" -test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" -test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" -test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc" -test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" -ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], -[libtool_flags="$libtool_flags --enable-dlopen"]) -ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], -[libtool_flags="$libtool_flags --enable-win32-dll"]) -AC_ARG_ENABLE(libtool-lock, - [ --disable-libtool-lock avoid locking (might break parallel builds)]) -test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" -test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case "$host" in -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case "`/usr/bin/file conftest.o`" in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; - -ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], -[*-*-cygwin* | *-*-mingw*) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -]) -esac -]) - -# AC_LIBTOOL_DLOPEN - enable checks for dlopen support -AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) - -# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's -AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) - -# AC_ENABLE_SHARED - implement the --enable-shared flag -# Usage: AC_ENABLE_SHARED[(DEFAULT)] -# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to -# `yes'. -AC_DEFUN(AC_ENABLE_SHARED, [dnl -define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE(shared, -changequote(<<, >>)dnl -<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], -changequote([, ])dnl -[p=${PACKAGE-default} -case "$enableval" in -yes) enable_shared=yes ;; -no) enable_shared=no ;; -*) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac], -enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl -]) - -# AC_DISABLE_SHARED - set the default shared flag to --disable-shared -AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_SHARED(no)]) - -# AC_ENABLE_STATIC - implement the --enable-static flag -# Usage: AC_ENABLE_STATIC[(DEFAULT)] -# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to -# `yes'. -AC_DEFUN(AC_ENABLE_STATIC, [dnl -define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE(static, -changequote(<<, >>)dnl -<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], -changequote([, ])dnl -[p=${PACKAGE-default} -case "$enableval" in -yes) enable_static=yes ;; -no) enable_static=no ;; -*) - enable_static=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac], -enable_static=AC_ENABLE_STATIC_DEFAULT)dnl -]) - -# AC_DISABLE_STATIC - set the default static flag to --disable-static -AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_STATIC(no)]) - - -# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag -# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] -# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to -# `yes'. -AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl -define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE(fast-install, -changequote(<<, >>)dnl -<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], -changequote([, ])dnl -[p=${PACKAGE-default} -case "$enableval" in -yes) enable_fast_install=yes ;; -no) enable_fast_install=no ;; -*) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac], -enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl -]) - -# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install -AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_FAST_INSTALL(no)]) - -# AC_PROG_LD - find the path to the GNU or non-GNU linker -AC_DEFUN(AC_PROG_LD, -[AC_ARG_WITH(gnu-ld, -[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], -test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -ac_prog=ld -if test "$ac_cv_prog_gcc" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by GCC]) - ac_prog=`($CC -print-prog-name=ld) 2>&5` - case "$ac_prog" in - # Accept absolute paths. -changequote(,)dnl - [\\/]* | [A-Za-z]:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' -changequote([,])dnl - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(ac_cv_path_LD, -[if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - ac_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - test "$with_gnu_ld" != no && break - else - test "$with_gnu_ld" != yes && break - fi - fi - done - IFS="$ac_save_ifs" -else - ac_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$ac_cv_path_LD" -if test -n "$LD"; then - AC_MSG_RESULT($LD) -else - AC_MSG_RESULT(no) -fi -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) -AC_SUBST(LD) -AC_PROG_LD_GNU -]) - -AC_DEFUN(AC_PROG_LD_GNU, -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, -[# I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 &5; then - ac_cv_prog_gnu_ld=yes -else - ac_cv_prog_gnu_ld=no -fi]) -]) - -# AC_PROG_NM - find the path to a BSD-compatible name lister -AC_DEFUN(AC_PROG_NM, -[AC_MSG_CHECKING([for BSD-compatible nm]) -AC_CACHE_VAL(ac_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - ac_cv_path_NM="$NM" -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -B" - break - elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -p" - break - else - ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm -fi]) -NM="$ac_cv_path_NM" -AC_MSG_RESULT([$NM]) -AC_SUBST(NM) -]) - -# AC_CHECK_LIBM - check for math library -AC_DEFUN(AC_CHECK_LIBM, -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case "$host" in -*-*-beos* | *-*-cygwin*) - # These system don't have libm - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, main, LIBM="-lm") - ;; -esac -]) - -# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for -# the libltdl convenience library, adds --enable-ltdl-convenience to -# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor -# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed -# to be `${top_builddir}/libltdl'. Make sure you start DIR with -# '${top_builddir}/' (note the single quotes!) if your package is not -# flat, and, if you're not using automake, define top_builddir as -# appropriate in the Makefiles. -AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case "$enable_ltdl_convenience" in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; - esac - LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la - INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl']) -]) - -# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for -# the libltdl installable library, and adds --enable-ltdl-install to -# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor -# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed -# to be `${top_builddir}/libltdl'. Make sure you start DIR with -# '${top_builddir}/' (note the single quotes!) if your package is not -# flat, and, if you're not using automake, define top_builddir as -# appropriate in the Makefiles. -# In the future, this macro may have to be called after AC_PROG_LIBTOOL. -AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, main, - [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], - [if test x"$enable_ltdl_install" = xno; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - else - enable_ltdl_install=yes - fi - ]) - if test x"$enable_ltdl_install" = x"yes"; then - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la - INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl']) - else - ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" - INCLTDL= - fi -]) - -dnl old names -AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl -AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl -AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl -AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl -AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl -AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl -AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl - -dnl This is just to silence aclocal about the macro not being used -ifelse([AC_DISABLE_FAST_INSTALL])dnl - - -dnl AM_PROG_LEX -dnl Look for flex, lex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT -AC_DEFUN(AM_PROG_LEX, -[missing_dir=ifelse([$1],,`cd $ac_aux_dir && pwd`,$1) -AC_CHECK_PROGS(LEX, flex lex, "$missing_dir/missing flex") -AC_PROG_LEX -AC_DECL_YYTEXT]) - diff -Nru console-tools-0.2.3/BUGS console-tools-0.2.3/BUGS --- console-tools-0.2.3/BUGS 1999-04-08 22:11:09.000000000 +0000 +++ console-tools-0.2.3/BUGS 1970-01-01 00:00:00.000000000 +0000 @@ -1,125 +0,0 @@ -* General: - -** investigate why underlining gives strange results after changing - from eg. iso01.f08 to iso01.f14. Maybe setfont should set correct - underlining pos when changing char height ? (see debian bug #8949 - - SVGATextMode handles this correctly) - see SVGA book. - -** bold attribute is told to disappear with 512-chars fonts (debian #8949) - - - -* kernel-level: - -** Security: - -*** Any user can mess up the keyboard. Only root should be allowed to change - the "basics" of the keytable, ie. minimal subset of ASCII allowing to use - the console and eventually load a new kmap. Then every user could choose - his prefered bells and whistles (when each VT would get its kmap). - -*** Any user can mess up the display (font/SFM). Normal users should be - allowed at most to change something about chars not mapped-to by an ASCII - char (U+0000-U+008F). - -*** Any user can choose/mess up the ACM. It should be restored on logout, and - maybe get the same kind of protection than described for font/SFM. - - -** Unicode support: - -*** It seems there is some bad interaction between 512-chars mode and - UTF. It seems that after going into 512-chars mode, and then back - into 256-chars mode, the mechanism used by vt-is-utf8 does not work. - -*** The kernel currently considers an empty SFM as valid. This should not - be, as then ACM should be restricted to the straight-to-font zone, as when - it's not valid. - -*** Current keyboard driver can only handle unicodes up to U+0FFF (uses - 0xF000 as a mask to recognize unicode). Current `loadkeys' relies on this. - -*** Current keyboard driver outputs UTF8 even when in ASCII mode. - -*** Investigate whether it's normal that PIO_UNIMAP doesn't output what - GIO_UNIMAP has set. A diff between [a unimap produced by - psfadtable/psfgettable from iso01.uni] and [a unimap produced by - psfadtable/setfont -opu/psfgettable from iso01.uni] (kernel 2.0.30 / kbd - 0.94) shows that mappings have disappeared: - - $ setfont iso01-08 && setfont -op iso01-08.psf - $ psfaddtable iso01-08.psf /usr/share/consoletrans/iso01.uni iso01-08a.psf - $ diff <(psfgettable iso01-08a.psf ) <(setfont iso01-08a.psf && setfont -opu >(psfgettable -)) - 2c2 - < # Character table extracted from font iso01-08a.psf - --- - > # Character table extracted from font stdin - 24,25c24,25 - < 0x14 U+00b6 - < 0x15 U+00a7 - --- - > 0x14 - > 0x15 - - - -** Virtual terminals: - -*** VT_OPENQRY doesn't seem to return current VT when it is active, even if it - has no process attached (see VT_IS_IN_USE()/VT_BUSY()). - -*** VT's are sometimes (when ?!) considered busy even when not busy (probably - associated to "kbrequest" - also found when a bg process (eg. gpm) has been - associated to this VT, even if it has been killed now) - - - -* tools-level: - -** provided fonts: - -*** should be shipped in diffable source format. - -*** all of them should have a visible replacement char, as lat*.psf do. - -*** should be converted to XPSF when it's out. - -*** iso07.f08 is wrong (doesn't match the encoding of .f14 and .f16) - - -** vt-is-UTF8(1) - -*** fails when called from mc ? - - -** libs: - -*** findfile() sometimes leaves a zombie (lost SIGCHILD ?). That was - turned around by the maybekillzombie(), but has to be investigated - one day. - -*** many functions use fprintf(), which can modify errno, before returning -1. - -*** xfseek() should be reworked to not use ftell(). Use a XFILE structure to - manually keep track of the position. - - -** font-file tools: - -*** Fix codepage's use of getopt() ? (is it really worth ?) - - -** General: - -*** Grep for "#warning", "FIXME" and "UNTESTED" in the source files. - -*** Make sure everything is byteorder-independant when reading from/writing to - files. Maybe provide unicode_{read,write}() functions in libcfont. - - - -* FAQ - -** Replace references to spawn_login by init/kb (switch priorities) - -** 12.M should refer to [latin1]{inputenc} instead. diff -Nru console-tools-0.2.3/ChangeLog console-tools-0.2.3/ChangeLog --- console-tools-0.2.3/ChangeLog 1999-10-25 20:50:29.000000000 +0000 +++ console-tools-0.2.3/ChangeLog 1970-01-01 00:00:00.000000000 +0000 @@ -1,990 +0,0 @@ -1999-10-25 Yann Dirson - - * Released 0.2.3. - -1999-10-25 Yann Dirson - - * po/: Included preliminary it.po from Lorenzo Cappelletti. - Fixed it.po for missing \n's preventing compilation. - Updated de.po. - - * lib/misc-console-utils.c (acm_activate): Fixed the interface for - acm_activate() to pass it a console fd, to that "consolechars - --tty ... -m ..." activates user-defined ACM on the correct VT - (Fix from 0.3.1). - Select the G0/G1 charset in addition to making it point to the - USER ACM. - - * CREDITS: updated from development tree. - -1999-10-11 Yann Dirson - - * kbdtools/dumpkeys.c: Do not localize output keymap ! - -1999-09-27 Yann Dirson - - * po/: Included preliminary da.po from Birger Langkjer. - -1999-09-02 Yann Dirson - - * po/: Included preliminary et_EE.po from Meelis Roos. - - * po/cs.po: 0.2.2 update from Jiri Pavlovsky. - -1999-08-31 Yann Dirson - - * Released 0.2.2. - -1999-08-31 Yann Dirson - - * screenfonttools/charset: POSIX-ified functions. - - * removed debian/ subdir. - - * Integrated simple bugfixes from dev tree up to 0.3.2: - - * screenfonttools/consolechars.c (usage): fixed an alignment - problem in option listing. - - * include/lct/modifiers.h: enclosed in #ifndef _LCT_MODIFIERS_H. - - * include/lct/unicode.h: renamed enclosing #ifndef from - _KBD_UNICODE_H to _LCT_UNICODE_H. - - * screenfonttools/consolechars.c (loadnewfont): declared static. - - * COPYING: Removed references to files now in console-data. - - * configure.in: force -O0 in CFLAGS when --enable-debugging is - requested. - - * lib/testUTF8.c (is_in_UTF8_mode): Fixed coredumps in xterm by - testing return code from fdopen(). - - * lib/fontstruct.c (read_simple_font): removed commented-out code - for reading a CP file. - (read_simple_font): added missing `break' that prevented to load - any raw font. - - * configure.in, lib/findfile-lct.c: removed references to - OLDKEYMAPDIR. `configure --enable-localdatadir' now compiles - again. - - * compat/setfont, compat/mapscrn: POSIX-ified shell functions. - - * README: clarified location of lct.txt. - - * vttools/openvt.c (main): fixed buffer overflows dealing with - command names (thanks to Ian Jackson). - - * Fixed compat/Makefile.am to support DESTDIR. - - * lib/sfm-rd-ascii.c: fixed typo (missing space - thanks Armin - Wolfermann). - -1999-08-16 Yann Dirson - - * kbdtools/showkey.c (main): show keycodes as default behaviour, - not scancodes. - -1999-08-09 Yann Dirson - - * Integrated russian .po file from Ilya Ketris. - * Ingegrated german .po file from Armin Wolfermann. - -1999-07-19 Yann Dirson - - * Released 0.2.1. - -1999-07-19 Yann Dirson - - * Ingegrated czech .po file from Jiri Pavlovsky. - * Integrated simple bugfixes from unstable tree up to 0.3.0.1 - snapshot: - ** Fixed charset(1) to write error message with verbose mode turned - off. - ** Removed duplicate help lines for "loadkeys --help". - ** Fixed findfile() not to return a directory ("loadkeys dvorak" - would not work !) - ** Fixed URLs for Qrczak and GGI in lct.sgml. - ** Fixed ksyms.c for iso-8859-4 keysyms (patch by Ilya Ketris). - ** Fixed bug in vt-is-UTF8 manpage (-q entry was not properly - rendered) (thanks to Vlad Harchev). - -1999-04-15 Yann Dirson - - * Released 0.2.0 - first stable branch ! - -1999-04-15 Yann Dirson - - * Cleanups to the CVS repository. - -Fri Apr 9 00:15:16 1999 Yann Dirson - - * Imported into CVS. First 1999.03.02, then updated changed - files. - -Thu Apr 8 20:06:25 1999 Yann Dirson - - * Fixed unicode_start not to invoke obsolete setfont program. - * Applied Debian open_1.4-13 patches to openvt: - ** Use FILENAME_MAX and not FILE_MAX for filename length. - ** Allow auto switch-back to X (does not work here ?!). - ** Include stdio_lim.h when using glibc 2.0. - * Cleaned up some egcs warnings. - -Thu Apr 1 20:17:30 1999 Yann Dirson - - * Split data/ (and most of local-scripts/) into new console-data - package. Updated README to reflect this. - * Added new --with-unicodedata option to configure. - * Added support for iso-8859-15 keymaps from Ville Hallik. - * Fixed distclean target in doc/ to really remove .html files. - -Wed Mar 31 23:09:35 1999 Yann Dirson - - * Fixed fr_CH keymaps to use KP_Period instead of KP_Comma. - * I18n'd the screenfonttools/ and vttools/ dirs using yesterday's - macros. - -Tue Mar 30 22:19:14 1999 Yann Dirson - - * Included some keymaps from old Debian package: qwerty/pl1, - qwertz/sr, mac-fr3, sunt5-cz-us, sunt5-uk, sunt5-us-cz. - * Added OPT(), OPTIONS_ARE(), HELPDESC and VERSIONDESC macros to - have option help strings more easily factorized. - * I18n'd the fontfiletools/ and kbdtools/ dirs using those macros. - * Changed --chartable option in psfaddtable into --sfm. - * Updated some french l10n. - -Tue Mar 23 23:21:38 1999 Yann Dirson - - * Reviewed kbd 0.99: Apart from i18n and data files, has patches - to showkey.c, and some minor ones in other places. - -Tue Mar 2 21:37:44 1999 Yann Dirson - - * Released 1999.03.02. - -Tue Mar 2 21:24:32 1999 Yann Dirson - - * Fixed a build problem by replacing an awful hack in - Makefile.am's with a simpler solution (reported by Bob Lorenzini). - * Fixed a bug in atari-de{,-deadkeys}.kmap that messed - apostrophe/ssharp keys (patch by Michael Schmitz). - * Fixed se-latin1.kmap for missing braceright and bracketright - (patch by Wikholm Mats). - -Sun Feb 28 20:57:21 1999 Yann Dirson - - * Released 1999.02.28. - -Sun Feb 28 17:15:08 1999 Yann Dirson - - * Added openvt program and manpage to vttools, from kbd 0.97 (not - yet consistant with other programs for options handling, nor - gettextized). - * Integrated somewhat openvt in the lct - still some work to do, - though. - * Compiled a README.openvt from various README's. - * Added to contrib dir cad ctrl-alt-del handler + README.cad, from - the openvt/ dir in kbd 0.97, as `noinst' for now. - * Added contrib/splitfont.c from kbd 0.97. - * Added doc/contrib/set_kbd_repeat from kbd 0.97. - * Updated the HOWTO from kbd 0.97. - * Added kbd's COPYING file as COPYING.kbd in topdir. - * Created CREDITS file, and filled it a bit - still many many - holes and missing contributors. - * Got rid of the spurrious "Trying..." debugging messages by - including config.h in kernelfont.c. - * Updated lct.sgml, about the www site and the late "kbd merge" - project. - * Renamed all files under keymaps/**/include/ with .inc extension. - * Included some development code in the distributed archive. - -Thu Feb 25 21:34:49 1999 Yann Dirson - - * Applied changes from kbd 0.97: - ** New keysym alias: Uncaps_Shift = CapsShift. - ** Try /dev/tty0 after trying /dev/tty, and before trying - /dev/console, to get a fd for the current VC. - ** Added restore_rom_font() to libconsole for kernels that support - it. - ** Added explanatory comments about font ioctls in console.h. - ** Obscure patch to dumpkeys.c - * Patch not applied from kbd 0.97: "override font-height". - * Patches not applied from kbd 0.97 - we already do that: - ** Address endianness issues in binary SFM's (PSF files). - ** Save PSF with SFM. - ** KDFONTOP support. - * Added --rom-font to consolechars to support restore_rom_font(). - -Wed Feb 24 23:32:25 1999 Yann Dirson - - * Invoke the right functions to initialize gettext, using the - setuplocale() macro from local.h - only added to fontfiletools/ - for testing. - * Awful hack: hardcoded LOCALEDIR in local.h, waiting for a - standard way to set this. MESSAGE TRANSLATION NOW WORKS ! - * Translated in french all strings in fontfiletools/psf*table.c. - -Tue Feb 23 20:45:53 1999 Yann Dirson - - * deallocvt: commented out the "VT 1 is the console and cannot be - deallocated" test - /dev/console can be a serial line in linux - 2.2.x. - * Moved from local.h to utils.h the UsageFunc typedef. - * Added proto for simple_options() to utils.h. - * Started to introduce a SIMPLE_OPTIONS_HELP const string to - factorize some help text. - * Only try to compile resizecons on i386. - * Removed the code sending SIGWINCH to the pid listed in - /tmp/selection.pid in resizecons. - * Imported contrib script font2psf from kbd-0.97. - * Added docfiles: doc/contrib/{README,LISEZMOI}.Euro, - doc/fonts/README.Sun, doc/keymaps/README.sparc. - * Updated data files from Debian packages. - * Fixed some .kmap includes still referring to .map files. - * Thanks to Jakub Jelinek, Marc Shapiro, Marcin 'Qrczak' - Kowalczyk, Miroslav Vasko, Vladimir N.Velychko, Szalay Attila, - Vincent Renardias, Andre Heynatz, , - Roman Hodek, and others I may forget, for their contributions. - * Started french l10n. - * Fixed a typo in ga.po. - * Finally got something out of gettext, after several hours of - fight against non-documentation (now compiles and installs .mo - files). - -Fri Feb 19 00:29:10 1999 Yann Dirson - - * Adapted some Makefile.am's for libtool 1.2d + automake 1.4 - (explicit rules for .o files needing -D's at compile-time). - * Be consistent with -V=--version and -v=--verbose. - * Fixed PSF_MODE_ macros in font.h to use safety parens. - * Fixed psf_header_read() to abort on bad psf modes, not on good - ones. - * Turned the iso14.f16 font into a .psf with SFM. - * Added intl/Makefile to the AC_OUTPUT list. - -Fri Feb 19 00:29:10 1999 Yann Dirson - - * Alastair did not log the following changes: - ** Added --unicode option to showkey. - ** Have --help and --version output to stdout instead of stderr, - to be consistent with GNU tools. - ** Modularized deallocvt.c. - ** Introduced a parse_cmdline() function in several tools. - -Fri jan 29 14:10:00 1999 Alastair McKinstry - * Added iso14.f16.psf font for celtic orthograyhy, and - ga.kmap for Irish keyboard, iso14.sfm unicode mapping - -Fri Jan 22 10:55:09 1999 Alastair McKinstry - - * psfaddtable.c,psfgettable.c,psfstriptable.c: Added GNU getopt - support. - * setkeycodes.c: Added GNU getopt support. - * loadkeys.{cy}: Added '--version' argument, marked strings for - translation. - * getkeycodes.c: Added GNU getopt support. - * kbd_mode.c: Added GNU getopt support. - * dumpkeys.c: Added '--version' argument. - * setleds.c: Added GNU getopt support. - -Thu Jan 21 14:53:58 1999 Alastair McKinstry - - * setvesablank.c,writevt.c: Added GNU getopt support. - * deallocvt.c,fgconsole.c: Added GNU getopt support. - * screendump.c,vcstime: Added GNU getopt support. - * showcfont.c: Added GNU getopt support. - * clrunimap.c: Added GNU getopt support. - -Wed Jan 20 19:00:00 1999 Alastair McKinstry - - * Added Internationalization, with a start of an Irish (ga) - translation. - * Added latin8 (iso_8859-14) support for loadkeys. - -Mon Jan 18 16:18:13 1999 Alastair McKinstry - - * consolechars.c,showcfont.c: Marked for translation. - * sfm-utils.c,wrappers.c: Marked for translation. - * saveunimap.c,sfm-misc.c,sfm-rd-ascii.c: Marked for translation. - * fontstruct.c,misc-console-utils.c,psf-header.c: Marked for - translation. - * findfile.c,acm.c,ksyms.c: Marked for translation. - * ksyms.c: Added latin8 ie. iso_8859-14 syms - * screendump.c,setvesablank.c,vt-is-UTF8.c: Marked for translation. - * resizecons.c,deallocvt.c,ychvt.c,writevt.c: Marked for translation. - * psfaddtable.c,psfgettable.c,psfstriptable.c: Marked for translation. - * showkey.c,setmetamode.c,loadkeys.c,kbd_mode.c,getkeycodes,c: - Marked strings for translation. - * dumpkeys.c,setleds.c: Marked strings for translation. - -Tue Aug 11 12:38:58 1998 Yann Dirson - - * Released 1998.08.11. - * Updated lct.sgml. - * Fixed get-font ioctl() call for KDFONTOP. - -Mon Aug 10 15:37:32 1998 Yann Dirson - - * Integrated hpa's ideas into XPSF draft. - * Included sundvorak.kmap from Michael ?? - . - * Updated atari keymaps from Roman Hodek. They now have -deadkeys - variants. - * Fixed consolechars.c not to attempt to save a font with width - other than 8 (for now). - * Updated KDFONTOP #define's (used with pre-KDFONTOP kernel - headers) in console.h to kernel 2.1.115. - * Changed showcfont to use 32-column layout with 512-chars font, - so that it fits on a standard 80x25 screen. - * Documented in vt-is-UTF8.1 that there are sometimes problems - detecting byte-mode when using a 512-char font. - * Written manpage for charset(1). - -Wed Aug 5 11:12:45 1998 Yann Dirson - - * Changed name from psf_header::charsize to charheight. - * Documented `consolechars --tty' in help message and manpage. - * Moved simple_font-loading code from consolechars.c into - libcfont. - * Changed interface for get_kernel_font(). - * Added support for the new KDFONTOP ioctl, adapted from a patch - by Jakub Jelinek. - * Added support for font-height autotedection (for width 8 only) - to set_kernel_font(), from Jakub Jelinek. Don't really know what - it's for, though. - -Tue Aug 4 10:05:53 1998 Yann Dirson - - * Fixed endian bug in sfm-wr-binary.c (patch by Jakub Jelinek). - * Fixed handling of PSF mode in header, to reflect it is not meant - to be a bit-field. - * Encapsulated more PSF-header stuff in font.h. - * Adapted psf*table.c, consolechars.c to use new font.h macros. - * Changed is_in_UTF8_mode() to use straight-to-font `space' char - instead of `A', to interfere a bit less with terminal display - (thanks Marcin Kowalczyk). - * Fixed some "future changes" dates in xpsf.draft (thanks Marcin). - -Tue Jul 28 12:57:02 1998 Yann Dirson - - * Corrected unicode_{stop,start} to run `kbdmode -a' (resp. -u) - even when the tty is not in UTF8 mode (Marcin Kowalczyk). - -Fri Jun 19 16:28:49 1998 Yann Dirson - - * Corrected name for showcfont.1 (was still showfont.1). - -Wed Jun 17 17:39:58 1998 Yann Dirson - - * Fixed consolechars to block SIGCHLD around font-loading code in - loadfont(). Should get rid of remaining interupted read()'s. - * Included vim-compose-latin1.inc from J.H.M.Dassen for - composition of all latin1 chars with VIM-like keystrokes. Use it - yourself for now, it is not included by any distributed map. - -Wed Jun 3 14:40:06 1998 Yann Dirson - - * Released 1998.06.03. - * Fixed uk.kmap about Control_underscore (Adrian Brigett). - -Tue Jun 2 15:37:36 1998 Yann Dirson - - * Renamed keypad.kmap to keypad.inc, moved into - keymaps/i386/include/. - * Added ru-yawerty keymap from Nikita Schmidt. - * Fixed bug in loadkeys.y ("#undef yywrap" had been commented out - for some reason). - * Added forgotten patch (0.96) to "fullline:" rule in loadkeys.y. - * Removed obsolete conditionnal "GGI_PATCH" from loadkeys.y. - -Sun May 31 00:28:11 1998 Yann Dirson - - * Sync'ed with kbd 0.96a: - ** New keymap ru_win. - ** Updated keymaps dk, dk-latin1. - ** Updated kbd.FAQ (no version number change !). - ** Added int type to "static warn" in ksyms.c::ksymtocode(). - -Fri May 29 12:28:43 1998 Yann Dirson - - * Fixed handling of compat dir to have it shipped in dist - regardless of configure flags. - * Fixed installation of videomode dir to use DESTDIR. - * Distribute checkdist.sh in local-scripts (was in undistributed - "working" dir). - * Updated Unicode data files from 2.0.14 to 2.1.2. - * From kbd 0.96: - ** Included doc/dvorak subdir. - ** Renamed keytables.5 to keymaps.5 - added documentation for new - keymaps features (includes, abbreviations) - Compose was not - documented at all - new sectionning. - ** Somewhat sync'ed loadkeys.1, dumpkeys.1, showkey.1. - ** Updated kbd FAQ to v2.8. - -Thu May 28 16:41:08 1998 Yann Dirson - - * Use kbd 0.96's tree structure for keymaps. - * Moved se.readme, no-latin1.doc, hypermap.m4 in doc/keymaps; - removed doc/README.keytables in favor or doc/keymaps/README from - kbd 0.96. - -Tue May 26 10:38:37 1998 Yann Dirson - - * Implemented "**" semantics in findfile(). - * Changed keymap dir to "keymaps". Still look in - /usr/local/share/keytables/ for backward compatibility. - * Moved x{malloc,strdup} into new file wrappers.c, in libctutils. - * Added missing proto for is_in_UTF8_mode() in console.h. - -Mon May 18 15:50:00 1998 Yann Dirson - - * Made --enable-debugging add -Wall to CFLAGS. - * Fixed compressed-magic test in do_pipe() - had unpredictable - results when only 1st half of gzip/compress magic matched (thanks - "gcc -Wall"). - * Fixed option handling in loadkeys and dumpkeys, which caused bad - options and --help not to exit after usage(). - * Allowed for kbd 0.96 stuff to work: - ** Allowed to call findfile() with NULL fullname and 0 - maxfullength. - ** Added findfile_simple() wrapper around findfile, with kbd syntax - (no magic checks, no fullname return). - ** Pass DATADIR, KEYMAPSDIR as -D switches to cpp in kbtools/. - The keymap parser should move into lib/ instead. - ** Documented option changes for loadkeys in usage() and manpage - (and fixed manpage error which told "-v" was "--version"). - ** Documented new option --shape for dumpkeys in usage() and - manpage. - ** Changed findfile() to use a recursive algorithm (took some code - from kbd 0.96). - -Mon May 18 15:50:00 1998 Yann Dirson - - * Sync'ed with kbd 0.96: - ** utils: - *** xmalloc() and xstrdup() wrappers in miscutils.c/utils.h - - ** ksyms: - *** Added symbolic names for latin5 (iso-8859-9) charset. - *** KeyboardSignal is now the primary name, and Spawn_Console the - alias name. - *** When assuming a char belongs to another charset, include the - char's name in the message printed. - - ** loadkeys: - *** support for symbolic names in composition result. - *** support for "strings as usual" and "compose as usual" - keywords. - *** support include files (depends on flex). Env LOADKEYS_INCLUDE_PATH - can be used. - *** use to define M_* symbols. - *** correctly support keymaps files without a "keymaps" line. - *** use lkfatal*() for errors. - *** added --quiet (-q) option. - *** added support for multiple verbosity levels (-v -v) - *** internally check for errors (more robust ?) - - ** dumpkeys: - *** added --separate-lines (-1) and --shape (-S) options - layout - code was reworked. - - ** NOT MERGED: - *** "showkey -a": already provided (better IMHO) by "-k". - *** showfont patch is unrelevant for the LCT. - -Mon May 4 14:22:12 1998 Yann Dirson - - * Rewritten `make-fallbacks' and `make-nofallbacks' from scratch - in perl. Has new command-line syntax, and can generate more than - 1 fallback per character. - -Thu Apr 30 13:10:34 1998 Yann Dirson - - * Added `make-nofallbacks' script to help tuning make-fallbacks - regexps. - * Changed name `latin-diacr.fallback' into `latin_diacr.fallback', - so that make gets happy at low cost. - * Added `fallbacks' make target that builds auto-generated - .fallback and .nofallback files. - * Added `force-fallbacks' make target that force rebuilding of - auto-generated .fallback and .nofallback files. - * Added comment line showing involved chars' descriptions in - generated .fallback files. - -Wed Apr 29 16:58:13 1998 Yann Dirson - - * Fixed configure.in not to enter compat/ at all on - --disable-kbd-compat - thanks Marcin Kowalczyk for signaling. - * Included contributed mac-us-{std,ext}.kmap from James Troup. - * Renamed `showfont' to `showcfont' to avoid namespace clash with - X11 fontserver utility from xcontrib. - * Rewritten a lot of showcfont to make it use the straight-to-font - zone - that's a lot simpler. Thanks to H. Peter Anvin who - reminded me to do so. - * Renamed `make-latin-fallback' script to `make-fallbacks'; - generalized it to be regexp-driven. - * Written make-fallbacks regexps for latin characters. - -Tue Apr 28 11:57:16 1998 Yann Dirson - - * Added a note in README file about not using old versions of - libc5. - -Mon Apr 20 22:05:06 1998 Yann Dirson - - * Fixed compat/Makefile.am to allow reinstallation ("ln -s" -> "ln - -sf") - thanks Marcin Kowalczyk. - * Updated e-mail address in doc/file-formats/*. - * Clarified some points in xpsf-draft. - -Thu Apr 16 12:45:20 1998 Yann Dirson - - * Changed consolechars.c::loadnewfont() to use a switch(magic). - * Changed consolechars to check its options before looking for a - console fd. - * Added a tty_name parameter to get_console_fd() - may appear to - be useless. - * Added a --tty option to consolechars - same comment as above. - * Changed no-sfm warning in consolechars from "strange results" to - "erroneous display" - * Removed acm_deactivate() function. - * Added G0/G1 parameter to acm_activate(). - * Added --g1 option to consolechars; documented and clarified - manpage entry for --acm in this respect. - * Created `charset' script to allow the user to setup G0/G1 - charsets. - -Wed Apr 8 11:24:25 1998 Yann Dirson - - * Released 1998.04.08. - -Tue Apr 7 14:55:53 1998 Yann Dirson - - * Block SIGCHLD in uni_screen_map_read_ascii(). - * Fixed sig-mask restoration in yyparse(), sfm-fallback-read(), - and findfile(). - * Added user-contributed keymaps: croatian (Alen Zekulic), - cz-us-qwertz (Pavel Makovec), sunt5-fr-latin1 (Eric Delaunay). - * Fixed se-latin1 keymap for caps-lock on 3 characters. - * Compress SFM fallback files on install (now safe !). - -Mon Apr 6 19:05:57 1998 Yann Dirson - - * Normalized source layout in loadkeys.y. - * Block SIGCHLD while running yyparse() in loadkeys.y, to prevent - the scanner from aborting. - * Block SIGCHLD in sfm-fallback-read() - suppressed test for - EINTR. - * Block SIGCHLD around do_pipe() in findfile() - suppressed test - for EINTR in do_pipe(). - -Thu Apr 2 16:24:01 1998 Yann Dirson - - * Made uni_screen_map_read_ascii() EINTR-safe. Should make ACM - files compress-safe. - * Improved error-condition checks reading ACM's. - * Fixed configure to not display the "programs may not build" - message when no such programs. - * Added retry/timeout mechanism waiting for undead children in - findfile(), so that they have time to die - NOTE: findfile() is - probably NOT thread-safe. - * Turned around a problem that gets some SIGCHLD's lost, in - addition to the above-mentionned retry/timeout: maybekillzombie(). - * Made build of resizecons and keycode-progs enabled by default, - in order to get quicker feedback. - * Added support for lzop compression program. - -Tue Mar 31 17:37:41 1998 Yann Dirson - - * Build html docs by default. - * Improved lct.sgml - explanations hopefully better. - * Directed to STDERR setfont's warning that it is a wrapper. - * Have "setfont -h" print setfont's syntax, not consolechars'. - -Tue Mar 31 01:12:07 1998 Yann Dirson - - * Corrected uninstall target in compat subdir. - * Corrected build process for building in any dir. - -Mon Mar 30 11:27:43 1998 Yann Dirson - - * Moved definition of compressed-files suffixes into findfile.c, - to simplify adding new ones. - -Mon Jan 26 14:25:03 1998 Yann Dirson - - * Started work on compression for fallback files. Problems with - fgets() returning -1 on EINTR while data was read. - * Added --enable-debugging option to configure. - -Mon Jan 5 20:12:30 1998 Yann Dirson - - * Modified compressed-file support to allow support for multiple - decompressors, while using a "main_compressor" to install data - files (suppressed configure option --with-compressor, added - --with-main_compressor). - -Fri Jan 2 18:46:06 1998 Yann Dirson - - * Fixed compressed-file handling (updated macro names in - findfile.c). - * Added support for bzip2 compression program. - -Tue Dec 16 12:52:47 1997 Yann Dirson - - * Released 1997.12.16. - * From idea by Ricardas Cepas: printing UTF chars when outputing - old SFM. - * Updated from kbd-0.95: - ** Added support for keys found in Microsoft keyboards, Compose - keysym (by Pablo Saratxaga ) - * Updated files from kbd-0.95: - ** doc/fonts/README - ** data/consoletrans/lat4.sfm - ** data/keytables/{de,de-latin1,de-latin1-nodeadkeys}.kmap - ** data/keytables/{es,fi-latin1,hu}.kmap - * Incorporated from kbd-0.95: - ** data/keytables/{hu101,pc110,tr_f-latin5,tr_q-latin5,wangbe}.kmap - -Fri Dec 12 15:36:36 1997 Yann Dirson - - * Fixed semantics of sfm-fallback tables: one fallback item is no - longer influenced by former items. - * Added support for multiple fallback tables. - * Turned lct.txt into linuxdoc SGML. - * Added make-handling in doc/ for sgml docs. - * Incorporated patches from kbd 0.95: - ** keysyms for ethiopic - ** separated cyrillic ksyms in own include file - -Fri Nov 21 19:35:02 1997 Yann Dirson - - * Better handling of data installation. Should fix problems - reported with upgrades. - -Tue Nov 18 13:02:27 1997 Yann Dirson - - * Updated from kbd-0.95: - ** kbd FAQ (2.6). - ** fix/update in ethiopic chars description. - -Sat Nov 15 18:13:43 1997 Yann Dirson - - * Cleaned up (perl -w) local-scripts/make-utflist. - -Changes for console-tools_1997.11.13 (ydi): - -o Created doc/lct.txt. -o Reorganized doc/misc/ into doc/ and doc/contrib/. -o Added SFM to PSF files that missed them, when available. -o Converted all distributed raw fonts to PSF, with SFM when I was sure - enough I should be right. -o Added GGI keysyms (Text_Screen, Graph_Screen, Toggle_Screen, - Graphic_0 to Graphic_63) into ksyms.c. -o Conditionnaly (-DGGI_PATCH) added (old ?) GGI patch to loadkeys.y. -o Moved sgetunimap() and unimapdesc_addpair() [formerly getunimap() and - addpair()] to new file sfm-utils.c, in libctutils. -o Started support for sfm fallback tables (`consolechars -k'); created some - in data/consoletrans/. -o Moved find*() wrappers back into libctutils; added one for sfmfallback's. -o Added unimapdesc_adjust() for memory-optimizing purposes. -o Changed proto for _addpair() [was mis-designed - caused one realloc() per - call !] -o Added "--no-act" and "default-font" switches to `consolechars'. -o Changed default font syntax to "default8x%02d" (was "..8x%d"); thus renamed - "default8x8" to "default8x08". -o Added contributor's e-mail addresses in Changelog for easy reference. -o Added Unicode Character Database files (2.0.14) from the ftp.unicode.org. -o Added scripts in local-scripts/ to automate build of various files from - UnicodeData: make-latin-fallback, make-utflist. -o Added examples/utflist.long. -o In examples/: renamed `utfdemo' to `utflist.cp437'; `utflist' to - `utflist.short'. -o Added warning message to compat scripts. -o Removed README.psftable. - -o Updated fi-latin1.kmap from Johan Myreen . -o Contributed by Dmitry M. Klimoff : ru-ms.kmap. - -o Fixed consolechars.8 to document the new command-line interface. -o Renamed non-PSF gr*.psf to gr* before bulk PSF conversion. -o Fixed loadunimap, saveunimap, mapscrn compat scripts. -o Corrected Changelog for 1997.10.28 to not read 1997.10.23 ;) -o Fixed allocated size in unimapdesc_addpair() [hopefully we never had more - than 1024 entries in a SFM, so it never showed]. -o Changed gzip invocation to be robust about warnings, and let him warn the - user (suppressed "-q"). -o Fixed use of getopt in consolechars.c and vt-is-UTF8.c. -o Fixed problem with --enable-local-datadir in fiondfile-lct.c. - - -Changes for console-tools_1997.10.28 (ydi): - -o Added keymap `keypad.kmap', with Ctrl-Shift or Alt-Shift for UCS2 - composition. -o Changed `unicode_start' to not load any font when called with no arguments - (used to load default font). -o Reorganized `showfont.c'; use get_console_fd(); added support for displaying - 512-chars fonts; now displays in RtoL_then_TtoB mode. -o Renamed "getfd()" to "get_console_fd()". -o Repartitionned libconsole and libconsoletools. Each has its own header now. - Many "#include" statements changed for this ;) -o Added "version()" / "badusage()" to libconsoletools; normalized all - version/usage-printing programs to use it. -o Renamed "{,dis}activatemap()" to "acm_{,de}activate()"; moved them to - libconsole. -o Started use of for some programs. -o Moved include files to $(top)/include/lct/; have them installed in - /usr/include/lct/; fixed them to work when installed. -o Renamed lib/unimap*.c to lib/sfm*.c, unimap_{rd,wr}*() to sfm_{rd,wr}*(); - homogeneized sfm_{rd,wr}*() arguments ordering. -o Suppressed need for sfm-size-hint in sfm_rd_binary(). -o Had many library functions set errno and return -1 on fail instead of exiting. -o Changed findfile.c::do_pipe() to return NULL on error (was (FILE*)(-1)). -o Renamed findunimap() to findsfm(), findmap() to findacm(). -o Allowed xfseek(,,SEEK_SET) to go forward in unseekable files. -o Created manpages for: unicode_stop, unicode_start, showfont. -o Made findfile() handle SIGCHLD, while trying to be kind to user's SIGCHLD - handler. -o Added magic-number checking to findfile(). -o `setfont' now checks CP files by magic, as well as by size. -o Allowed saveoldmap() to work on a SCRNMAP-only platform even if compiled - on a UNISCRNMAP-able platform. -o Tried to augment accuracy of CP recognition in fonts.magic. -o Tried to add support for (SEEK_END, 0) to xfeeek(). -o Renamed `setfont' to `consolechars'. -o Added compatibility scripts: setfont, loadunimap, saveunimap, mapscrn. -o Turned option-handling in `consolechars' to getopt_long(). -o Changed consolechars.c messages to refer to ACM and SFM instead of old - terminology. -o Added function to check for UTF8 mode (from contribution by Ricardas Cepas). -o Added `vt-is-UTF8' scripting-utility (from contribution by Ricardas Cepas). -o Moved doc/misc/utf{demo,list} to examples/ - -o Updated from Ricardas Cepas (linux-lt-0.97): - lt{,.l4}.kmap - lat4{,u}-{08,10,12,14,16,16+,19}.psf - lat4{,u}.sfm - koi8-r.sfm -o Updated cf.kmap from Nicolas Pitre . -o Contributed by Ricardas Cepas: - LatArCyrHeb-{08,14,16,16+,19}.psf - -o Fixed `showfont' display problem with CSI char (code 155), by using - upper 64 font-posistions instead of upper 128 ones. -o "gcc -W -Wall" cleanup in most sources. -o Do not install `clrunimap', as it will now break the display more often. -o Fixed acm_{,de}activate() by making get_console_fd() open the console R/W - instead of R/O. -o Fixed CP-loading code. -o Fixed (?) xfseek() to expect ESPIPE from fseek(), in addition of EBADF. -o Fixed display bug in showkey when run with no explicit command. -o Fixed `showfont' to restore original UTF/byte mode on exit. - - -Changes for console-tools_1997.10.14 (ydi): - -o Better configure-support for compressor-use: added "--with-compressor" - option (ct_PROG_COMPRESSOR). -o Somewhat cleaned up ksyms.c::set_charset() -o Fixed validity check on "--charset" option in ksyms.c::set_charset(), - though still don't know what "unicode" is for here. -o Cleaned up use of "verbose" - turned libocal.a into libconsoletools.la. -o Renamed "resizevt" to "resizecons" again, as screen size is currently an - attribute of the console, not of the VT. -o Dropped mapscreen loadunimap getunimap as obsoleted by setfont. -o Added warning-printing to setfont.c::main() and loadnewfont() for - operations leading the kernel to an invalid-unimap state (see file `NEWS' - for details) - -o Fixed unimap-misc.c::kernel_get_unimap() to handle the case where the - unimap is considered invalid by the kernel. -o Made "setfont" to load the default unimap when loading a default font. -o Allowed "setfont -op" to output 512-chars fonts. -o setfont.c::saveoldfont() is now robust, and doesn't produce invalid files - when all data isn't available. -o Fixed deallocvt to deallocate all possible VTs, instead of exiting as soon - as one deallocation failed. -o Fixed dumpkeys.c::usage() to display really-available charsets for - "--charset" option. -o Fixed findfile() to allow "-" as filename when compression support not - compiled in. - -o Splitted TODO into TODO and BUGS. -o Updated most manpages. - - -Changes from kbd_0.94 to console-tools_1997.10.03 (ydi): - -o Reorganized source tree (splitted src into 4 dirs, moved "man?" into doc, - original doc into doc/misc, doc/TODO into top level dir. -o Moved much stuff into lib, factorized bunches of code. -o Converted build to autoconf/automake/libtool. -o "analyse.l" is now compiled (was included into loadkeys.y) -o Do not compile spawn_*.c - they are examples. -o Compressed consoletrans/* and consolefonts/*.psf. -o Renamed "resizecons" to "resizevt". -o Moved "sti, "vcstime" out of contrib/; renamed "sti" to "writevt". -o Changed extension for "unimap" files from ".uni" to ".sfm", for "Screen - Font Map"; changed extension for keymaps from ".map" to ".kmap"; - added extension for "console/screen maps" as ".acm", for - "App. Charset Map"; added support for these extensions in - `findfile.c'; kept original 8-bit kept "console maps" without an - extension; ".uni" for compatibility with "kbd". -o Make mk_modmap install in $(BINDIR). -o Suppressed inclusion of in both setvesablank.c and - screendump.c, to allow compilation under debian's - libc6_2.0.4-1. Doesn't seem to hurt even with libc5, anyway. -o Added warning to contrib/codepage that CP format is a hack. -o Miscellaneous minor improvements. - -o Fixed file-compression code; fixed psf-loading code to allow - compression; added `compress' support. -o Added /usr/local/share lookups for every /usr/share lookup, but disabled - its use by default. Use "configure --enable-localdatadir" to use - it as in 0.94.2. -o Included endianness patch from Debian. -o Factorized getunimap into libconsole; added it to the list of obsolete - programs. -o Made setfont exit after printing version when given '-V'. -o Make use in every program of miscutils::strip_path(argv[0]) to display its - name. -o Forbid on command-line '-X none -X file' for X in [mu], just as it was for - '-X file1 -X file2' or '-X file -X none'. -o Added -op and -opu options to setfont. -o Obsoleted in setfont option -o with -or to encourage using -op[u]. -o setfont now fully supports writting to stdout/reading from stdin. -o Added support to load for 16-bit ASCII screen maps. -o Suppressed "-m space" from `unicode_start' to prevent it from breaking - screen maps. -o Fixed bug in lib/miscutils::open_a_console(), for when it'll be exported by - the lib (fd wasn't closed). -o Added message in screendump telling when trying ioctl; previously existing - messages alone were too confusing IMHO. -o Made screendump without arguments look at /dev/vcs[a] instead of - /dev/vcs[a]0, which are not created by MAKEDEV. -o Reworked option-handling in showkey (distinguished between commands and - options). -o Added --keymap and --timeout options to showkey. -o Told showkey that K_UNICODE exists (was "??UNKNOWN??"). -o Fixed vcstime so that it handles screens more than 127-chars wide. - -o Created NEWS file for user-level changes/fixes. -o Changed filename "CHANGES" to "ChangeLog", and reversed versions order. -o Added notices about init(8) and about the `open' package in spawn_*.c. -o Created `examples' directory. Stuffed with {sample.rc,spawn_*.c} -o Updated manpages: showkey.1 setfont.8.in. -o Sync-ed with implementation many files from doc/misc. Renamed - `keysyms.h.info' to `keysyms.h.txt', it was no info file. -o Moved the file with UTF8-encoded name from doc/misc/ into examples/ -o Created doc/file-formats for PSF/raw/cp/cpi/XPSF descriptions. -o Replaced consolefonts/psffile.doc with doc/file-formats/psf. -o Created doc/file-formats/{raw,cpi,cp,xpsf.draft}, and .../TMPL as a - template for new descriptions. -o Replaced psf.magic with doc/fonts/fonts.magic. -o Added CPI and XPSF to fonts.magic, and a hack-magic for CP. - - -============================================== -Original (reversed) `CHANGES' file from `kbd': -============================================== - -Changes for 0.94 (aeb): - -o Added keyword alt_is_meta. - -Changes for 0.91 (aeb): - -o Added hpa's setfont patch. - -Changes for 0.90 (aeb): - -o Changed setfont to subsume mapscrn and escape sequence. -o Added hpa's psftable stuff. -o Added Unicode stuff (requires kernel 1.1.92 or later). - -Changes for 0.89 (aeb): - -o Some minor things. - -Changes for 0.88 (aeb): - -o Added dynamic keymap support. Added "keymaps" directive. -o Added dynamic console allocation. Added disalloc. -o Added resize. -o Changed LED handling. -o Added the contributed codepage.c (to extract codepages from a - DOS .cpi file). -o Many minor changes. - -Changes for 0.87 (aeb): - -o Added iso-8859-8 support. Added "charset" directive. -o Corrected a typo in "trivial". -o Added kbd_mode. -o Extended kbd.FAQ. Added contributed keymaps and fonts. - -Changes for 0.85-0.86 (aeb): - -o Minor things only. Added contributed keymaps and fonts. - -Changes for 0.84 (aeb): - -o Added more compose key support to loadkeys. -o Setfont, loadkeys and mapscrn look by default in /usr/lib/kbd/*. -o Setfont can read codepage font files (and select a font from them). -o Many minor changes. - -Changes for 0.83 (aeb): - -o Added KT_LETTER, so that CapsLock can work correctly. - For the time being, this is denoted by a leading + in the keymap. -o Added setfont, showfont, mapscrn. -o Added setleds, setmetamode. -o Put data by default in three subdirectories of /usr/lib/kbd. - -Changes from version 0.81 to version 0.82 (aeb@cwi.nl): - -o Made mktable an option of loadkeys, so that the file defkeymap.c - produced is independent of the current kernel, and independent of - the current keyboard settings. (The old mktable program is now - obsolete.) -o After dumpkeys > x; loadkeys x; dumpkeys > y the files x and y - should be identical. They were not. I hope they are now. -o Showkey now restores the original keyboard mode. -o Loadkeys now accepts quotes and backslashes in strings. -o Added compose key support. - -Changes from version 0.8 to version 0.81: - -o Updated and fixed the keytable files -o Minor additions to the loadkeys man page -o Added support for ISO 8859-{2,3,4} character symbols, updated - dumpkeys man page accordingly - -Changes from the prerelease to version 0.8: - -o Enhanced the shorthand notation `keycode xx = a', where `a' is an - ASCII letter and changed `dumpkeys' and `loadkeys' accordingly. - Now this entry defines useful values in shift+control, meta+shift, - meta+control and meta+control+shift keytables, too. AltGr entries - also default now to the value of non-AltGr entries. -o Added the possibility to split long lines into multiple shorter ones - by appending a backslash at the end of each partial line. -o Added a version number and a short usage message to `dumpkeys' -o Added the options --short-info, --long-info (replaces the symbol - dump, -s), --numeric, --full-table, --funcs-only, --keys-only to - `dumpkeys'. See manpage for more info. -o Added a version number, a short usage message and the ability to load - multiple map files at a time to `loadkeys'. -o Added the utility `mktable' to generate the kernel default binding - table automatically from the currently loaded keytable. -o Added the utility `showkey' for interactively inspecting the - scancodes and keycode values sent by key presses and releases. -o Fixed the value of Uncaps_Shift, eliminated obsolete Map_xx symbols -o Added Meta_Control_xxx symbols. -o Added symbols for locking modifiers (kernel 0.99pl12 doesn't support this) diff -Nru console-tools-0.2.3/compat/kbd-compat.8 console-tools-0.2.3/compat/kbd-compat.8 --- console-tools-0.2.3/compat/kbd-compat.8 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/compat/kbd-compat.8 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -.TH KBD\-COMPAT 8 "27 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -kbd\-compat \- kbd\-compatibility wrapper scripts for Linux Console Tools. - -.SH SYNOPSIS -.BI "setfont [ " "\-o font.orig" "] [" "\-H" "] [" "font.new" ] -.BI [ "\-m acm" "] [" "\-om acm.orig" ] -.BI [ "\-u sfm" "] [" "\-ou sfm.orig" ] -.BI [ \-v "] [" \-V ] -.br -.BI "loadunimap " sfm -.br -.BI "saveunimap " sfm.orig -.br -.BI "mapscrn [ " acm " ] [ " "\-o acm.orig" ] - -.SH DESCRIPTION - -All of these scripts are intended solely for backward compatibility with the -old `kbd' package, and are only needed by a few programs which rely on the -command\-line interface of these programs. They are all implemented as -wrappers around the -.BR consolechars (8) -command. - -These scripts may not be installed on your system. They will even hopefully -one day never be installed on any system again. - -.SH SEE ALSO -.BR consolechars (8). diff -Nru console-tools-0.2.3/compat/loadunimap console-tools-0.2.3/compat/loadunimap --- console-tools-0.2.3/compat/loadunimap 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/compat/loadunimap 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ -#! /bin/sh - -echo >&2 'Warning: this is a shell wrapper; consider using consolechars(8)' - -if [ $# != 1 ] ; then - echo >&2 "Usage: `basename $0` " - exit 1 -fi - -consolechars --sfm $1 diff -Nru console-tools-0.2.3/compat/Makefile.am console-tools-0.2.3/compat/Makefile.am --- console-tools-0.2.3/compat/Makefile.am 1999-08-31 20:51:50.000000000 +0000 +++ console-tools-0.2.3/compat/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -# -*- makefile -*- - -AUTOMAKE_OPTIONS = foreign - -bin_SCRIPTS = setfont loadunimap saveunimap mapscrn - -man_MANS = kbd-compat.8 - -EXTRA_DIST = $(MANS) $(SCRIPTS) - -# install -install-data-local: do-install-man-@COMPAT@ -do-install-man-nocompat: - : -do-install-man-compat: - for f in $(bin_SCRIPTS); do \ - ln -sf kbd-compat.8 $(DESTDIR)$(mandir)/man8/$$f.8 ; \ - done - -# uninstall -uninstall-local: do-uninstall-man-@COMPAT@ -do-uninstall-man-nocompat: - : -do-uninstall-man-compat: - for f in $(bin_SCRIPTS); do \ - rm -f $(DESTDIR)$(mandir)/man8/$$f.8 ; \ - done diff -Nru console-tools-0.2.3/compat/Makefile.in console-tools-0.2.3/compat/Makefile.in --- console-tools-0.2.3/compat/Makefile.in 1999-10-25 20:58:15.000000000 +0000 +++ console-tools-0.2.3/compat/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,307 +0,0 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# -*- makefile -*- - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AS = @AS@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -COMPAT = @COMPAT@ -DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ -FONTDIR = @FONTDIR@ -GENCAT = @GENCAT@ -GMOFILES = @GMOFILES@ -GMSGFMT = @GMSGFMT@ -GT_NO = @GT_NO@ -GT_YES = @GT_YES@ -INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ -INSTOBJEXT = @INSTOBJEXT@ -INTLDEPS = @INTLDEPS@ -INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -KEYCODES = @KEYCODES@ -KEYMAPDIR = @KEYMAPDIR@ -LD = @LD@ -LEX = @LEX@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LOADKEYS = @LOADKEYS@ -MAKEINFO = @MAKEINFO@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -NM = @NM@ -OBJDUMP = @OBJDUMP@ -PACKAGE = @PACKAGE@ -POFILES = @POFILES@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -RESIZECONS = @RESIZECONS@ -TRANSDIR = @TRANSDIR@ -UNICODEDATA = @UNICODEDATA@ -UNICODELISTS = @UNICODELISTS@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -VIDEOMODEDIR = @VIDEOMODEDIR@ -YACC = @YACC@ -l = @l@ -translit = @translit@ - -AUTOMAKE_OPTIONS = foreign - -bin_SCRIPTS = setfont loadunimap saveunimap mapscrn - -man_MANS = kbd-compat.8 - -EXTRA_DIST = $(MANS) $(SCRIPTS) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = -SCRIPTS = $(bin_SCRIPTS) - -man8dir = $(mandir)/man8 -MANS = $(man_MANS) - -NROFF = nroff -DIST_COMMON = Makefile.am Makefile.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -all: all-redirect -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps compat/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -install-binSCRIPTS: $(bin_SCRIPTS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(bin_SCRIPTS)'; for p in $$list; do \ - if test -f $$p; then \ - echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \ - $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \ - else if test -f $(srcdir)/$$p; then \ - echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \ - $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \ - else :; fi; fi; \ - done - -uninstall-binSCRIPTS: - @$(NORMAL_UNINSTALL) - list='$(bin_SCRIPTS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \ - done - -install-man8: - $(mkinstalldirs) $(DESTDIR)$(man8dir) - @list='$(man8_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.8*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst; \ - done - -uninstall-man8: - @list='$(man8_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.8*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f $(DESTDIR)$(man8dir)/$$inst"; \ - rm -f $(DESTDIR)$(man8dir)/$$inst; \ - done -install-man: $(MANS) - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-man8 -uninstall-man: - @$(NORMAL_UNINSTALL) - $(MAKE) $(AM_MAKEFLAGS) uninstall-man8 -tags: TAGS -TAGS: - - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = compat - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done -info-am: -info: info-am -dvi-am: -dvi: dvi-am -check-am: all-am -check: check-am -installcheck-am: -installcheck: installcheck-am -install-exec-am: install-binSCRIPTS -install-exec: install-exec-am - -install-data-am: install-man install-data-local -install-data: install-data-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: uninstall-binSCRIPTS uninstall-man uninstall-local -uninstall: uninstall-am -all-am: Makefile $(SCRIPTS) $(MANS) -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man8 - - -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: -mostlyclean-am: mostlyclean-generic - -mostlyclean: mostlyclean-am - -clean-am: clean-generic mostlyclean-am - -clean: clean-am - -distclean-am: distclean-generic clean-am - -rm -f libtool - -distclean: distclean-am - -maintainer-clean-am: maintainer-clean-generic distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-am - -.PHONY: uninstall-binSCRIPTS install-binSCRIPTS install-man8 \ -uninstall-man8 install-man uninstall-man tags distdir info-am info \ -dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ -install-exec install-data-local install-data-am install-data install-am \ -install uninstall-local uninstall-am uninstall all-redirect all-am all \ -installdirs mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean - - -# install -install-data-local: do-install-man-@COMPAT@ -do-install-man-nocompat: - : -do-install-man-compat: - for f in $(bin_SCRIPTS); do \ - ln -sf kbd-compat.8 $(DESTDIR)$(mandir)/man8/$$f.8 ; \ - done - -# uninstall -uninstall-local: do-uninstall-man-@COMPAT@ -do-uninstall-man-nocompat: - : -do-uninstall-man-compat: - for f in $(bin_SCRIPTS); do \ - rm -f $(DESTDIR)$(mandir)/man8/$$f.8 ; \ - done - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru console-tools-0.2.3/compat/mapscrn console-tools-0.2.3/compat/mapscrn --- console-tools-0.2.3/compat/mapscrn 1999-08-31 20:46:42.000000000 +0000 +++ console-tools-0.2.3/compat/mapscrn 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -#! /bin/sh - -echo >&2 'Warning: this is a shell wrapper; consider using consolechars(8)' - -usage () -{ - echo >&2 "Usage: `basename $0` -o " - exit 1 -} - -if [ $# = 0 ]; then - usage -fi - -while [ $# -gt 0 ] ; do - case $1 in - -o) - if [ "$OLDMAP" = "" ]; then - OLDMAP="--old-acm $2" - shift - shift - else - usage - fi - ;; - *) - if [ "$NEWMAP" = "" ]; then - NEWMAP="--acm $1" - shift - else - usage - fi - ;; - esac -done - -consolechars $NEWMAP $OLDMAP diff -Nru console-tools-0.2.3/compat/saveunimap console-tools-0.2.3/compat/saveunimap --- console-tools-0.2.3/compat/saveunimap 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/compat/saveunimap 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ -#! /bin/sh - -echo >&2 'Warning: this is a shell wrapper; consider using consolechars(8)' - -if [ $# != 1 ] ; then - echo >&2 "Usage: `basename $0` " - exit 1 -fi - -consolechars --old-sfm $1 diff -Nru console-tools-0.2.3/compat/setfont console-tools-0.2.3/compat/setfont --- console-tools-0.2.3/compat/setfont 1999-08-31 20:46:25.000000000 +0000 +++ console-tools-0.2.3/compat/setfont 1970-01-01 00:00:00.000000000 +0000 @@ -1,127 +0,0 @@ -#! /bin/sh - -# wrapper around consolechars(8), -# expanding arguments just in case abreviated args get changed. - -usage () -{ - echo >&2 "Usage: `basename $0` [] [-m ] [-u ]" - echo >&2 " [-o ] [-om ] [-ou ]" - echo >&2 " [-h] [-v] [-V] [-]" - exit 1 -} - -warning () -{ - echo >&2 'Warning: this is a shell wrapper; consider using consolechars(8)' -} - -OPTIONS="" -QUIET=0 - -if [ $# = 0 ] ; then - OPTIONS="--default-font" -fi - -while [ $# -gt 0 ] ; do - case $1 in -# --quiet) -# QUIET=1 -# shift -# ;; - -v) - OPTIONS="$OPTIONS --verbose" - shift - ;; - -h) - warning - usage - exit 0 - ;; - -V) - OPTIONS="$OPTIONS --version" - shift - ;; - - -m) - if [ "$NEWMAP" = "" ]; then - if [ "$2" = "none" ]; then - echo >&2 'Warning: "-m none" does nothing; ignored.' - else - NEWMAP="--acm $2" - shift - shift - fi - else - usage - fi - ;; - - -u) - if [ "$NEWUNIMAP" = "" ]; then - if [ "$2" = "none" ]; then - NEWUNIMAP="--force-no-sfm" - else - NEWUNIMAP="--sfm $2" - shift - shift - fi - else - usage - fi - ;; - - -o) - if [ "$OLDFONT" = "" ]; then - OLDFONT="--old-font-raw $2" - shift - shift - else - usage - fi - ;; - - -om) - if [ "$OLDMAP" = "" ]; then - OLDMAP="-old-acm $2" - shift - shift - else - usage - fi - ;; - - -ou) - if [ "$OLDUNIMAP" = "" ]; then - OLDUNIMAP="-old-sfm $2" - shift - shift - else - usage - fi - ;; - - -*) - # redirect to /dev/null to prevent test barfing on non-numeric args - if [ "$CHARSIZE" = "" -a "${1#-}" -gt 0 -a "${1#-}" -lt 32 ] 2>/dev/null; then - CHARSIZE="--char-height ${1#-}" - shift - else - usage - fi - ;; - - *) - if [ "$NEWFONT" = "" ]; then - NEWFONT="--font $1" - shift - else - usage - fi - ;; - esac -done - -test $QUIET = 1 || warning - -consolechars $OPTIONS $CHARSIZE $NEWFONT $NEWUNIMAP $NEWMAP $OLDFONT $OLDUNIMAP $OLDMAP diff -Nru console-tools-0.2.3/config.guess console-tools-0.2.3/config.guess --- console-tools-0.2.3/config.guess 1999-04-03 02:11:57.000000000 +0000 +++ console-tools-0.2.3/config.guess 1970-01-01 00:00:00.000000000 +0000 @@ -1,996 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc. -# -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Written by Per Bothner . -# The master version of this file is at the FSF in /home/gd/gnu/lib. -# Please send patches to the Autoconf mailing list . -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit system type (host/target name). -# -# Only a few systems have been added to this list; please add others -# (but try to keep the structure clean). -# - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 8/24/94.) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -dummy=dummy-$$ -trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15 - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - alpha:OSF1:*:*) - if test $UNAME_RELEASE = "V4.0"; then - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - fi - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - cat <$dummy.s - .globl main - .ent main -main: - .frame \$30,0,\$26,0 - .prologue 0 - .long 0x47e03d80 # implver $0 - lda \$2,259 - .long 0x47e20c21 # amask $2,$1 - srl \$1,8,\$2 - sll \$2,2,\$2 - sll \$0,3,\$0 - addl \$1,\$0,\$0 - addl \$2,\$0,\$0 - ret \$31,(\$26),1 - .end main -EOF - ${CC-cc} $dummy.s -o $dummy 2>/dev/null - if test "$?" = 0 ; then - ./$dummy - case "$?" in - 7) - UNAME_MACHINE="alpha" - ;; - 15) - UNAME_MACHINE="alphaev5" - ;; - 14) - UNAME_MACHINE="alphaev56" - ;; - 10) - UNAME_MACHINE="alphapca56" - ;; - 16) - UNAME_MACHINE="alphaev6" - ;; - esac - fi - rm -f $dummy.s $dummy - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]` - exit 0 ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit 0 ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-cbm-sysv4 - exit 0;; - amiga:NetBSD:*:*) - echo m68k-cbm-netbsd${UNAME_RELEASE} - exit 0 ;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit 0 ;; - arc64:OpenBSD:*:*) - echo mips64el-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hkmips:OpenBSD:*:*) - echo mips-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mips-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit 0;; - arm32:NetBSD:*:*) - echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - exit 0 ;; - SR2?01:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit 0;; - Pyramid*:OSx*:*:*|MIS*:OSx*:*:*|MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit 0 ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit 0 ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit 0 ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit 0 ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit 0 ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit 0 ;; - atari*:NetBSD:*:*) - echo m68k-atari-netbsd${UNAME_RELEASE} - exit 0 ;; - atari*:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sun3*:NetBSD:*:*) - echo m68k-sun-netbsd${UNAME_RELEASE} - exit 0 ;; - sun3*:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:NetBSD:*:*) - echo m68k-apple-netbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit 0 ;; - macppc:NetBSD:*:*) - echo powerpc-apple-netbsd${UNAME_RELEASE} - exit 0 ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit 0 ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit 0 ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit 0 ;; - 2020:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit 0 ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - ${CC-cc} $dummy.c -o $dummy \ - && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && rm $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - echo mips-mips-riscos${UNAME_RELEASE} - exit 0 ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit 0 ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit 0 ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit 0 ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit 0 ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \ - -o ${TARGET_BINARY_INTERFACE}x = x ] ; then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else echo i586-dg-dgux${UNAME_RELEASE} - fi - exit 0 ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit 0 ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit 0 ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit 0 ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit 0 ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit 0 ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i?86:AIX:*:*) - echo i386-ibm-aix - exit 0 ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - ${CC-cc} $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - echo rs6000-ibm-aix3.2.5 - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit 0 ;; - *:AIX:*:4) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` - if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=4.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit 0 ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit 0 ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit 0 ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit 0 ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit 0 ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit 0 ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit 0 ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit 0 ;; - 9000/[34678]??:HP-UX:*:*) - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/6?? | 9000/7?? | 9000/80[024] | 9000/8?[136790] | 9000/892 ) - sed 's/^ //' << EOF >$dummy.c - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (${CC-cc} $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` - rm -f $dummy.c $dummy - esac - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit 0 ;; - 3050*:HI-UX:*:*) - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - ${CC-cc} $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - echo unknown-hitachi-hiuxwe2 - exit 0 ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit 0 ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit 0 ;; - *9??*:MPE*:*:*) - echo hppa1.0-hp-mpeix - exit 0 ;; - *9??*:MPE*:*:*) - echo hppa1.0-hp-mpeix - exit 0 ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit 0 ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit 0 ;; - i?86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit 0 ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit 0 ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit 0 ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit 0 ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit 0 ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit 0 ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit 0 ;; - CRAY*X-MP:*:*:*) - echo xmp-cray-unicos - exit 0 ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} - exit 0 ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ - exit 0 ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} - exit 0 ;; - CRAY*T3E:*:*:*) - echo t3e-cray-unicosmk${UNAME_RELEASE} - exit 0 ;; - CRAY-2:*:*:*) - echo cray2-cray-unicos - exit 0 ;; - F300:UNIX_System_V:*:*) - FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit 0 ;; - F301:UNIX_System_V:*:*) - echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'` - exit 0 ;; - hp3[0-9][05]:NetBSD:*:*) - echo m68k-hp-netbsd${UNAME_RELEASE} - exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; - i?86:BSD/386:*:* | i?86:BSD/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit 0 ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; - *:FreeBSD:*:*) - if test -x /usr/bin/objformat; then - if test "elf" = "`/usr/bin/objformat`"; then - echo ${UNAME_MACHINE}-unknown-freebsdelf`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'` - exit 0 - fi - fi - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit 0 ;; - *:NetBSD:*:*) - echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - exit 0 ;; - *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - exit 0 ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit 0 ;; - i*:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit 0 ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit 0 ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - *:GNU:*:*) - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit 0 ;; - *:Linux:*:*) - # uname on the ARM produces all sorts of strangeness, and we need to - # filter it out. - case "$UNAME_MACHINE" in - armv*) UNAME_MACHINE=$UNAME_MACHINE ;; - arm* | sa110*) UNAME_MACHINE="arm" ;; - esac - - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. - ld_help_string=`ld --help 2>&1` - ld_supported_emulations=`echo $ld_help_string \ - | sed -ne '/supported emulations:/!d - s/[ ][ ]*/ /g - s/.*supported emulations: *// - s/ .*// - p'` - case "$ld_supported_emulations" in - i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;; - i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;; - sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; - armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; - m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; - elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;; - esac - - if test "${UNAME_MACHINE}" = "alpha" ; then - sed 's/^ //' <$dummy.s - .globl main - .ent main - main: - .frame \$30,0,\$26,0 - .prologue 0 - .long 0x47e03d80 # implver $0 - lda \$2,259 - .long 0x47e20c21 # amask $2,$1 - srl \$1,8,\$2 - sll \$2,2,\$2 - sll \$0,3,\$0 - addl \$1,\$0,\$0 - addl \$2,\$0,\$0 - ret \$31,(\$26),1 - .end main -EOF - LIBC="" - ${CC-cc} $dummy.s -o $dummy 2>/dev/null - if test "$?" = 0 ; then - ./$dummy - case "$?" in - 7) - UNAME_MACHINE="alpha" - ;; - 15) - UNAME_MACHINE="alphaev5" - ;; - 14) - UNAME_MACHINE="alphaev56" - ;; - 10) - UNAME_MACHINE="alphapca56" - ;; - 16) - UNAME_MACHINE="alphaev6" - ;; - esac - - objdump --private-headers $dummy | \ - grep ld.so.1 > /dev/null - if test "$?" = 0 ; then - LIBC="libc1" - fi - fi - rm -f $dummy.s $dummy - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0 - elif test "${UNAME_MACHINE}" = "mips" ; then - cat >$dummy.c </dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - else - # Either a pre-BFD a.out linker (linux-gnuoldld) - # or one that does not give us useful --help. - # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout. - # If ld does not provide *any* "supported emulations:" - # that means it is gnuoldld. - echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:" - test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0 - - case "${UNAME_MACHINE}" in - i?86) - VENDOR=pc; - ;; - *) - VENDOR=unknown; - ;; - esac - # Determine whether the default compiler is a.out or elf - cat >$dummy.c < -#ifdef __cplusplus - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif -#ifdef __ELF__ -# ifdef __GLIBC__ -# if __GLIBC__ >= 2 - printf ("%s-${VENDOR}-linux-gnu\n", argv[1]); -# else - printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); -# endif -# else - printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); -# endif -#else - printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]); -#endif - return 0; -} -EOF - ${CC-cc} $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - fi ;; -# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions -# are messed up and put the nodename in both sysname and nodename. - i?86:DYNIX/ptx:4*:*) - echo i386-sequent-sysv4 - exit 0 ;; - i?86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit 0 ;; - i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*) - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE} - fi - exit 0 ;; - i?86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` - (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit 0 ;; - i?86:UnixWare:*:*) - if /bin/uname -X 2>/dev/null >/dev/null ; then - (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - fi - echo ${UNAME_MACHINE}-unixware-${UNAME_RELEASE}-${UNAME_VERSION} - exit 0 ;; - pc:*:*:*) - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit 0 ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit 0 ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit 0 ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit 0 ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit 0 ;; - M68*:*:R3V[567]*:*) - test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4.3${OS_REL} && exit 0 - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4 && exit 0 ;; - m68*:LynxOS:2.*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit 0 ;; - i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit 0 ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit 0 ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit 0 ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit 0 ;; - PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit 0 ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit 0 ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit 0 ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit 0 ;; - news*:NEWS-OS:*:6*) - echo mips-sony-newsos6 - exit 0 ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R4000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit 0 ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit 0 ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit 0 ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit 0 ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit 0 ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit 0 ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -#if !defined (ultrix) - printf ("vax-dec-bsd\n"); exit (0); -#else - printf ("vax-dec-ultrix\n"); exit (0); -#endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -${CC-cc} $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0 -rm -f $dummy.c $dummy - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit 0 ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit 0 ;; - c34*) - echo c34-convex-bsd - exit 0 ;; - c38*) - echo c38-convex-bsd - exit 0 ;; - c4*) - echo c4-convex-bsd - exit 0 ;; - esac -fi - -#echo '(Unable to guess system type)' 1>&2 - -exit 1 diff -Nru console-tools-0.2.3/config.h.in console-tools-0.2.3/config.h.in --- console-tools-0.2.3/config.h.in 1999-04-15 00:33:53.000000000 +0000 +++ console-tools-0.2.3/config.h.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,158 +0,0 @@ -/* config.h.in. Generated automatically from configure.in by autoheader. */ - -/* Define if using alloca.c. */ -#undef C_ALLOCA - -/* Define to empty if the keyword does not work. */ -#undef const - -/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. - This function is required for alloca.c support on those systems. */ -#undef CRAY_STACKSEG_END - -/* Define if you have alloca, as a function or macro. */ -#undef HAVE_ALLOCA - -/* Define if you have and it should be used (not on Ultrix). */ -#undef HAVE_ALLOCA_H - -/* Define if you have a working `mmap' system call. */ -#undef HAVE_MMAP - -/* Define as __inline if that's what the C compiler calls it. */ -#undef inline - -/* Define to `long' if doesn't define. */ -#undef off_t - -/* Define if you need to in order for stat and other things to work. */ -#undef _POSIX_SOURCE - -/* Define as the return type of signal handlers (int or void). */ -#undef RETSIGTYPE - -/* Define to `unsigned' if doesn't define. */ -#undef size_t - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown - */ -#undef STACK_DIRECTION - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define if your declares struct tm. */ -#undef TM_IN_SYS_TIME - -/* Define if lex declares yytext as a char * by default, not a char[]. */ -#undef YYTEXT_POINTER - -/* debugging */ -#undef NDEBUG - -/* where to put data-subdirs */ -#undef LOCALDATADIR - -/* For i18n */ -#undef HAVE_LC_MESSAGES -#undef HAVE_STPCPY -#undef ENABLE_NLS -#undef HAVE_GETTEXT -#undef HAVE_CATGETS -#undef LOCALEDIR - -/* Define if you have the __argz_count function. */ -#undef HAVE___ARGZ_COUNT - -/* Define if you have the __argz_next function. */ -#undef HAVE___ARGZ_NEXT - -/* Define if you have the __argz_stringify function. */ -#undef HAVE___ARGZ_STRINGIFY - -/* Define if you have the dcgettext function. */ -#undef HAVE_DCGETTEXT - -/* Define if you have the getcwd function. */ -#undef HAVE_GETCWD - -/* Define if you have the getline function. */ -#undef HAVE_GETLINE - -/* Define if you have the getpagesize function. */ -#undef HAVE_GETPAGESIZE - -/* Define if you have the munmap function. */ -#undef HAVE_MUNMAP - -/* Define if you have the putenv function. */ -#undef HAVE_PUTENV - -/* Define if you have the setenv function. */ -#undef HAVE_SETENV - -/* Define if you have the setlocale function. */ -#undef HAVE_SETLOCALE - -/* Define if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* Define if you have the strcasecmp function. */ -#undef HAVE_STRCASECMP - -/* Define if you have the strchr function. */ -#undef HAVE_STRCHR - -/* Define if you have the strspn function. */ -#undef HAVE_STRSPN - -/* Define if you have the strtol function. */ -#undef HAVE_STRTOL - -/* Define if you have the header file. */ -#undef HAVE_ARGZ_H - -/* Define if you have the header file. */ -#undef HAVE_FCNTL_H - -/* Define if you have the header file. */ -#undef HAVE_LIMITS_H - -/* Define if you have the header file. */ -#undef HAVE_LOCALE_H - -/* Define if you have the header file. */ -#undef HAVE_MALLOC_H - -/* Define if you have the header file. */ -#undef HAVE_NL_TYPES_H - -/* Define if you have the header file. */ -#undef HAVE_STRING_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_IOCTL_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define if you have the header file. */ -#undef HAVE_VALUES_H - -/* Define if you have the i library (-li). */ -#undef HAVE_LIBI - -/* Name of package */ -#undef PACKAGE - -/* Version number of package */ -#undef VERSION - diff -Nru console-tools-0.2.3/config.sub console-tools-0.2.3/config.sub --- console-tools-0.2.3/config.sub 1999-04-03 02:11:57.000000000 +0000 +++ console-tools-0.2.3/config.sub 1970-01-01 00:00:00.000000000 +0000 @@ -1,979 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script, version 1.1. -# Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc. -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -if [ x$1 = x ] -then - echo Configuration name missing. 1>&2 - echo "Usage: $0 CPU-MFR-OPSYS" 1>&2 - echo "or $0 ALIAS" 1>&2 - echo where ALIAS is a recognized configuration type. 1>&2 - exit 1 -fi - -# First pass through any local machine types. -case $1 in - *local*) - echo $1 - exit 0 - ;; - *) - ;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - linux-gnu*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple) - os= - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco5) - os=sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \ - | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \ - | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 | hppa2.0 \ - | hppa2.0w \ - | alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \ - | i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \ - | mips64 | mipsel | mips64el | mips64orion | mips64orionel \ - | mipstx39 | mipstx39el \ - | sparc | sparclet | sparclite | sparc64 | v850) - basic_machine=$basic_machine-unknown - ;; - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i[34567]86) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \ - | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \ - | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ - | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \ - | xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* \ - | hppa2.0w-* \ - | alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \ - | ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \ - | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \ - | sparc64-* | mips64-* | mipsel-* \ - | mips64el-* | mips64orion-* | mips64orionel-* \ - | mipstx39-* | mipstx39el-* \ - | f301-* | armv*-*) - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-cbm - ;; - amigaos | amigados) - basic_machine=m68k-cbm - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-cbm - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | ymp) - basic_machine=ymp-cray - os=-unicos - ;; - cray2) - basic_machine=cray2-cray - os=-unicos - ;; - [ctj]90-cray) - basic_machine=c90-cray - os=-unicos - ;; - crds | unos) - basic_machine=m68k-crds - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - os=-mpeix - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - os=-mpeix - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - os=-mvs - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i[34567]86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i[34567]86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i[34567]86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i[34567]86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - miniframe) - basic_machine=m68000-convergent - ;; - mipsel*-linux*) - basic_machine=mipsel-unknown - os=-linux-gnu - ;; - mips*-linux*) - basic_machine=mips-unknown - os=-linux-gnu - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netwinder) - basic_machine=armv4l-corel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - np1) - basic_machine=np1-gould - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pentium | p5 | k5 | nexen) - basic_machine=i586-pc - ;; - pentiumpro | p6 | k6 | 6x86) - basic_machine=i686-pc - ;; - pentiumii | pentium2) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | nexen-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | k6-* | 6x86-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=rs6000-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - xmp) - basic_machine=xmp-cray - os=-unicos - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - mips) - if [ x$os = x-linux-gnu ]; then - basic_machine=mips-unknown - else - basic_machine=mips-mips - fi - ;; - romp) - basic_machine=romp-ibm - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sparc) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ - | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -rhapsody* \ - | -openstep* | -mpeix* | -oskit*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -ctix* | -uts*) - os=-sysv - ;; - -ns2 ) - os=-nextstep2 - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -xenix) - os=-xenix - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - *-acorn) - os=-riscix1.2 - ;; - arm*-corel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-ibm) - os=-aix - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f301-fujitsu) - os=-uxpv - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -vxsim* | -vxworks*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os diff -Nru console-tools-0.2.3/configure console-tools-0.2.3/configure --- console-tools-0.2.3/configure 1999-10-25 20:48:39.000000000 +0000 +++ console-tools-0.2.3/configure 1970-01-01 00:00:00.000000000 +0000 @@ -1,4760 +0,0 @@ -#! /bin/sh - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.13 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: -ac_default_prefix=/usr -ac_help="$ac_help - --enable-shared[=PKGS] build shared libraries [default=yes]" -ac_help="$ac_help - --enable-static[=PKGS] build static libraries [default=yes]" -ac_help="$ac_help - --enable-fast-install[=PKGS] optimize for fast installation [default=yes]" -ac_help="$ac_help - --with-gnu-ld assume the C compiler uses GNU ld [default=no]" -ac_help="$ac_help - --disable-libtool-lock avoid locking (might break parallel builds)" -ac_help="$ac_help - --disable-nls do not use Native Language Support" -ac_help="$ac_help - --with-included-gettext use the GNU gettext library included here" -ac_help="$ac_help - --with-catgets use catgets functions if available" -ac_help="$ac_help - --enable-debugging do extra warnings, tests and comments" -ac_help="$ac_help - --disable-keycode-progs don't build keycodes-handling programs" -ac_help="$ac_help - --with-unicodedata[=file] Use UnicodeData (default=/usr/share/unidata/UnicodeData-2.txt)" -ac_help="$ac_help - --enable-localdatadir additional directory to search for data files [NONE]" -ac_help="$ac_help - --enable-kbd-compat install wrapper scripts for compatibility with kbd" - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.13" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=kbdtools/loadkeys.y - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -ac_exeext= -ac_objext=o -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - - -ct_localdatadir_default=/usr/local/share # iff --enable-localdatadir without specific dir - -#AC_CONFIG_AUX_DIR(autoconf) -ac_aux_dir= -for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - - -# Do some error checking and defaulting for the host and target type. -# The inputs are: -# configure --host=HOST --target=TARGET --build=BUILD NONOPT -# -# The rules are: -# 1. You are not allowed to specify --host, --target, and nonopt at the -# same time. -# 2. Host defaults to nonopt. -# 3. If nonopt is not specified, then host defaults to the current host, -# as determined by config.guess. -# 4. Target and build default to nonopt. -# 5. If nonopt is not specified, then target and build default to host. - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -case $host---$target---$nonopt in -NONE---*---* | *---NONE---* | *---*---NONE) ;; -*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; -esac - - -# Make sure we can run config.sub. -if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } -fi - -echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:604: checking host system type" >&5 - -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; -esac - -host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 - -echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:625: checking target system type" >&5 - -target_alias=$target -case "$target_alias" in -NONE) - case $nonopt in - NONE) target_alias=$host_alias ;; - *) target_alias=$nonopt ;; - esac ;; -esac - -target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` -target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$target" 1>&6 - -echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:643: checking build system type" >&5 - -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac - -build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 - -test "$host_alias" != "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# ./install, which can be erroneously created by make from ./install.sh. -echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:677: checking for a BSD compatible install" >&5 -if test -z "$INSTALL"; then -if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" - for ac_dir in $PATH; do - # Account for people who put trailing slashes in PATH elements. - case "$ac_dir/" in - /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - if test -f $ac_dir/$ac_prog; then - if test $ac_prog = install && - grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - else - ac_cv_path_install="$ac_dir/$ac_prog -c" - break 2 - fi - fi - done - ;; - esac - done - IFS="$ac_save_IFS" - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL="$ac_cv_path_install" - else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL="$ac_install_sh" - fi -fi -echo "$ac_t""$INSTALL" 1>&6 - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 -echo "configure:730: checking whether build environment is sane" >&5 -# Just in case -sleep 1 -echo timestamp > conftestfile -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftestfile` - fi - if test "$*" != "X $srcdir/configure conftestfile" \ - && test "$*" != "X conftestfile $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - { echo "configure: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" 1>&2; exit 1; } - fi - - test "$2" = conftestfile - ) -then - # Ok. - : -else - { echo "configure: error: newly created file is older than distributed files! -Check your system clock" 1>&2; exit 1; } -fi -rm -f conftest* -echo "$ac_t""yes" 1>&6 -if test "$program_transform_name" = s,x,x,; then - program_transform_name= -else - # Double any \ or $. echo might interpret backslashes. - cat <<\EOF_SED > conftestsed -s,\\,\\\\,g; s,\$,$$,g -EOF_SED - program_transform_name="`echo $program_transform_name|sed -f conftestsed`" - rm -f conftestsed -fi -test "$program_prefix" != NONE && - program_transform_name="s,^,${program_prefix},; $program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s,\$\$,${program_suffix},; $program_transform_name" - -# sed with no file args requires a program. -test "$program_transform_name" = "" && program_transform_name="s,x,x," - -echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:787: checking whether ${MAKE-make} sets \${MAKE}" >&5 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftestmake <<\EOF -all: - @echo 'ac_maketemp="${MAKE}"' -EOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi -rm -f conftestmake -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$ac_t""yes" 1>&6 - SET_MAKE= -else - echo "$ac_t""no" 1>&6 - SET_MAKE="MAKE=${MAKE-make}" -fi - - -PACKAGE=console-tools - -VERSION=0.2.3 - -if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then - { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; } -fi -cat >> confdefs.h <> confdefs.h <&6 -echo "configure:833: checking for working aclocal" >&5 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (aclocal --version) < /dev/null > /dev/null 2>&1; then - ACLOCAL=aclocal - echo "$ac_t""found" 1>&6 -else - ACLOCAL="$missing_dir/missing aclocal" - echo "$ac_t""missing" 1>&6 -fi - -echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:846: checking for working autoconf" >&5 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (autoconf --version) < /dev/null > /dev/null 2>&1; then - AUTOCONF=autoconf - echo "$ac_t""found" 1>&6 -else - AUTOCONF="$missing_dir/missing autoconf" - echo "$ac_t""missing" 1>&6 -fi - -echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:859: checking for working automake" >&5 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (automake --version) < /dev/null > /dev/null 2>&1; then - AUTOMAKE=automake - echo "$ac_t""found" 1>&6 -else - AUTOMAKE="$missing_dir/missing automake" - echo "$ac_t""missing" 1>&6 -fi - -echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:872: checking for working autoheader" >&5 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (autoheader --version) < /dev/null > /dev/null 2>&1; then - AUTOHEADER=autoheader - echo "$ac_t""found" 1>&6 -else - AUTOHEADER="$missing_dir/missing autoheader" - echo "$ac_t""missing" 1>&6 -fi - -echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:885: checking for working makeinfo" >&5 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (makeinfo --version) < /dev/null > /dev/null 2>&1; then - MAKEINFO=makeinfo - echo "$ac_t""found" 1>&6 -else - MAKEINFO="$missing_dir/missing makeinfo" - echo "$ac_t""missing" 1>&6 -fi - - - -# Defaults - - -# Header - - - - -# Checks for programs. -# Check whether --enable-shared or --disable-shared was given. -if test "${enable_shared+set}" = set; then - enableval="$enable_shared" - p=${PACKAGE-default} -case "$enableval" in -yes) enable_shared=yes ;; -no) enable_shared=no ;; -*) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac -else - enable_shared=yes -fi - -# Check whether --enable-static or --disable-static was given. -if test "${enable_static+set}" = set; then - enableval="$enable_static" - p=${PACKAGE-default} -case "$enableval" in -yes) enable_static=yes ;; -no) enable_static=no ;; -*) - enable_static=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac -else - enable_static=yes -fi - -# Check whether --enable-fast-install or --disable-fast-install was given. -if test "${enable_fast_install+set}" = set; then - enableval="$enable_fast_install" - p=${PACKAGE-default} -case "$enableval" in -yes) enable_fast_install=yes ;; -no) enable_fast_install=no ;; -*) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac -else - enable_fast_install=yes -fi - -# Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:980: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_RANLIB="ranlib" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" -fi -fi -RANLIB="$ac_cv_prog_RANLIB" -if test -n "$RANLIB"; then - echo "$ac_t""$RANLIB" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -# Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1010: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="gcc" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1040: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_prog_rejected=no - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - break - fi - done - IFS="$ac_save_ifs" -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# -gt 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - set dummy "$ac_dir/$ac_word" "$@" - shift - ac_cv_prog_CC="$@" - fi -fi -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - if test -z "$CC"; then - case "`uname -s`" in - *win32* | *WIN32*) - # Extract the first word of "cl", so it can be a program name with args. -set dummy cl; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1091: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="cl" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - ;; - esac - fi - test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } -fi - -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1123: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -cat > conftest.$ac_ext << EOF - -#line 1134 "configure" -#include "confdefs.h" - -main(){return(0);} -EOF -if { (eval echo configure:1139: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - ac_cv_prog_cc_works=yes - # If we can't run a trivial program, we are probably using a cross compiler. - if (./conftest; exit) 2>/dev/null; then - ac_cv_prog_cc_cross=no - else - ac_cv_prog_cc_cross=yes - fi -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_prog_cc_works=no -fi -rm -fr conftest* -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 -if test $ac_cv_prog_cc_works = no; then - { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } -fi -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1165: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 -echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 -cross_compiling=$ac_cv_prog_cc_cross - -echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1170: checking whether we are using GNU C" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then - ac_cv_prog_gcc=yes -else - ac_cv_prog_gcc=no -fi -fi - -echo "$ac_t""$ac_cv_prog_gcc" 1>&6 - -if test $ac_cv_prog_gcc = yes; then - GCC=yes -else - GCC= -fi - -ac_test_CFLAGS="${CFLAGS+set}" -ac_save_CFLAGS="$CFLAGS" -CFLAGS= -echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1198: checking whether ${CC-cc} accepts -g" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - echo 'void f(){}' > conftest.c -if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then - ac_cv_prog_cc_g=yes -else - ac_cv_prog_cc_g=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi - -# Check whether --with-gnu-ld or --without-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval="$with_gnu_ld" - test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$ac_cv_prog_gcc" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 -echo "configure:1241: checking for ld used by GCC" >&5 - ac_prog=`($CC -print-prog-name=ld) 2>&5` - case "$ac_prog" in - # Accept absolute paths. - [\\/]* | [A-Za-z]:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:1265: checking for GNU ld" >&5 -else - echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -echo "configure:1268: checking for non-GNU ld" >&5 -fi -if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - ac_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - test "$with_gnu_ld" != no && break - else - test "$with_gnu_ld" != yes && break - fi - fi - done - IFS="$ac_save_ifs" -else - ac_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$ac_cv_path_LD" -if test -n "$LD"; then - echo "$ac_t""$LD" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi -test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } - -echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 -echo "configure:1304: checking if the linker ($LD) is GNU ld" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 &5; then - ac_cv_prog_gnu_ld=yes -else - ac_cv_prog_gnu_ld=no -fi -fi - -echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6 - - -echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 -echo "configure:1320: checking for BSD-compatible nm" >&5 -if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$NM"; then - # Let the user override the test. - ac_cv_path_NM="$NM" -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -B" - break - elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -p" - break - else - ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm -fi -fi - -NM="$ac_cv_path_NM" -echo "$ac_t""$NM" 1>&6 - - -echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:1357: checking whether ln -s works" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - rm -f conftestdata -if ln -s X conftestdata 2>/dev/null -then - rm -f conftestdata - ac_cv_prog_LN_S="ln -s" -else - ac_cv_prog_LN_S=ln -fi -fi -LN_S="$ac_cv_prog_LN_S" -if test "$ac_cv_prog_LN_S" = "ln -s"; then - echo "$ac_t""yes" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - -# Check for any special flags to pass to ltconfig. -libtool_flags="--cache-file=$cache_file" -test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" -test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" -test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" -test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc" -test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" - - -# Check whether --enable-libtool-lock or --disable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval="$enable_libtool_lock" - : -fi - -test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" -test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case "$host" in -*-*-irix6*) - # Find out which ABI we are using. - echo '#line 1401 "configure"' > conftest.$ac_ext - if { (eval echo configure:1402: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - case "`/usr/bin/file conftest.o`" in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 -echo "configure:1423: checking whether the C compiler needs -belf" >&5 -if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - lt_cv_cc_needs_belf=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - lt_cv_cc_needs_belf=no -fi -rm -f conftest* -fi - -echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6 - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; - - -esac - - -# Save cache, so that ltconfig can load it -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - - -# Actually configure libtool. ac_aux_dir is where install-sh is found. -CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ -LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ -LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \ -DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \ -${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ -$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \ -|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; } - -# Reload cache, that may have been modified by ltconfig -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - -# Redirect the config.log output again, so that the ltconfig log is not -# clobbered by the next message. -exec 5>>./config.log - -echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1537: checking how to run the C preprocessor" >&5 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then -if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - # This must be in double quotes, not single quotes, because CPP may get - # substituted into the Makefile and "${CC-cc}" will confuse make. - CPP="${CC-cc} -E" - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1558: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -E -traditional-cpp" - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1575: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -nologo -E" - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1592: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP=/lib/cpp -fi -rm -f conftest* -fi -rm -f conftest* -fi -rm -f conftest* - ac_cv_prog_CPP="$CPP" -fi - CPP="$ac_cv_prog_CPP" -else - ac_cv_prog_CPP="$CPP" -fi -echo "$ac_t""$CPP" 1>&6 - -missing_dir=`cd $ac_aux_dir && pwd` -for ac_prog in flex lex -do -# Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1622: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$LEX"; then - ac_cv_prog_LEX="$LEX" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_LEX="$ac_prog" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -LEX="$ac_cv_prog_LEX" -if test -n "$LEX"; then - echo "$ac_t""$LEX" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -test -n "$LEX" && break -done -test -n "$LEX" || LEX=""$missing_dir/missing flex"" - -# Extract the first word of "flex", so it can be a program name with args. -set dummy flex; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1655: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$LEX"; then - ac_cv_prog_LEX="$LEX" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_LEX="flex" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_prog_LEX" && ac_cv_prog_LEX="lex" -fi -fi -LEX="$ac_cv_prog_LEX" -if test -n "$LEX"; then - echo "$ac_t""$LEX" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -if test -z "$LEXLIB" -then - case "$LEX" in - flex*) ac_lib=fl ;; - *) ac_lib=l ;; - esac - echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6 -echo "configure:1689: checking for yywrap in -l$ac_lib" >&5 -ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-l$ac_lib $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LEXLIB="-l$ac_lib" -else - echo "$ac_t""no" 1>&6 -fi - -fi - -echo $ac_n "checking lex output file root""... $ac_c" 1>&6 -echo "configure:1731: checking lex output file root" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_lex_root'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - # The minimal lex program is just a single line: %%. But some broken lexes -# (Solaris, I think it was) want two %% lines, so accommodate them. -echo '%% -%%' | $LEX -if test -f lex.yy.c; then - ac_cv_prog_lex_root=lex.yy -elif test -f lexyy.c; then - ac_cv_prog_lex_root=lexyy -else - { echo "configure: error: cannot find output from $LEX; giving up" 1>&2; exit 1; } -fi -fi - -echo "$ac_t""$ac_cv_prog_lex_root" 1>&6 -LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root - -echo $ac_n "checking whether yytext is a pointer""... $ac_c" 1>&6 -echo "configure:1752: checking whether yytext is a pointer" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_lex_yytext_pointer'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - # POSIX says lex can declare yytext either as a pointer or an array; the -# default is implementation-dependent. Figure out which it is, since -# not all implementations provide the %pointer and %array declarations. -ac_cv_prog_lex_yytext_pointer=no -echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c -ac_save_LIBS="$LIBS" -LIBS="$LIBS $LEXLIB" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_prog_lex_yytext_pointer=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -LIBS="$ac_save_LIBS" -rm -f "${LEX_OUTPUT_ROOT}.c" - -fi - -echo "$ac_t""$ac_cv_prog_lex_yytext_pointer" 1>&6 -if test $ac_cv_prog_lex_yytext_pointer = yes; then - cat >> confdefs.h <<\EOF -#define YYTEXT_POINTER 1 -EOF - -fi - -for ac_prog in 'bison -y' byacc -do -# Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1797: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$YACC"; then - ac_cv_prog_YACC="$YACC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_YACC="$ac_prog" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -YACC="$ac_cv_prog_YACC" -if test -n "$YACC"; then - echo "$ac_t""$YACC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -test -n "$YACC" && break -done -test -n "$YACC" || YACC="yacc" - - -# i18n stuff -ALL_LINGUAS="cs de ru da et_EE ga fr it" -echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:1831: checking for POSIXized ISC" >&5 -if test -d /etc/conf/kconfig.d && - grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 -then - echo "$ac_t""yes" 1>&6 - ISC=yes # If later tests want to check for ISC. - cat >> confdefs.h <<\EOF -#define _POSIX_SOURCE 1 -EOF - - if test "$GCC" = yes; then - CC="$CC -posix" - else - CC="$CC -Xp" - fi -else - echo "$ac_t""no" 1>&6 - ISC= -fi - -echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1852: checking for ANSI C header files" >&5 -if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -#include -#include -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1865: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - ac_cv_header_stdc=yes -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -cat > conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -cat > conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -if test "$cross_compiling" = yes; then - : -else - cat > conftest.$ac_ext < -#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int main () { int i; for (i = 0; i < 256; i++) -if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); -exit (0); } - -EOF -if { (eval echo configure:1932: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_header_stdc=no -fi -rm -fr conftest* -fi - -fi -fi - -echo "$ac_t""$ac_cv_header_stdc" 1>&6 -if test $ac_cv_header_stdc = yes; then - cat >> confdefs.h <<\EOF -#define STDC_HEADERS 1 -EOF - -fi - -echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:1956: checking for working const" >&5 -if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <j = 5; -} -{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; -} - -; return 0; } -EOF -if { (eval echo configure:2010: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_c_const=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_c_const=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_c_const" 1>&6 -if test $ac_cv_c_const = no; then - cat >> confdefs.h <<\EOF -#define const -EOF - -fi - -echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2031: checking for inline" >&5 -if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_c_inline=$ac_kw; break -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -done - -fi - -echo "$ac_t""$ac_cv_c_inline" 1>&6 -case "$ac_cv_c_inline" in - inline | yes) ;; - no) cat >> confdefs.h <<\EOF -#define inline -EOF - ;; - *) cat >> confdefs.h <&6 -echo "configure:2071: checking for off_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_off_t=yes -else - rm -rf conftest* - ac_cv_type_off_t=no -fi -rm -f conftest* - -fi -echo "$ac_t""$ac_cv_type_off_t" 1>&6 -if test $ac_cv_type_off_t = no; then - cat >> confdefs.h <<\EOF -#define off_t long -EOF - -fi - -echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:2104: checking for size_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_size_t=yes -else - rm -rf conftest* - ac_cv_type_size_t=no -fi -rm -f conftest* - -fi -echo "$ac_t""$ac_cv_type_size_t" 1>&6 -if test $ac_cv_type_size_t = no; then - cat >> confdefs.h <<\EOF -#define size_t unsigned -EOF - -fi - -# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works -# for constant arguments. Useless! -echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:2139: checking for working alloca.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -int main() { -char *p = alloca(2 * sizeof(int)); -; return 0; } -EOF -if { (eval echo configure:2151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_header_alloca_h=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_alloca_h=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_header_alloca_h" 1>&6 -if test $ac_cv_header_alloca_h = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_ALLOCA_H 1 -EOF - -fi - -echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:2172: checking for alloca" >&5 -if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -# define alloca _alloca -# else -# if HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -# endif -# endif -# endif -# endif -#endif - -int main() { -char *p = (char *) alloca(1); -; return 0; } -EOF -if { (eval echo configure:2205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_func_alloca_works=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_func_alloca_works=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_func_alloca_works" 1>&6 -if test $ac_cv_func_alloca_works = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_ALLOCA 1 -EOF - -fi - -if test $ac_cv_func_alloca_works = no; then - # The SVR3 libPW and SVR4 libucb both contain incompatible functions - # that cause trouble. Some versions do not even contain alloca or - # contain a buggy version. If you still want to use their alloca, - # use ar to extract alloca.o from them instead of compiling alloca.c. - ALLOCA=alloca.${ac_objext} - cat >> confdefs.h <<\EOF -#define C_ALLOCA 1 -EOF - - -echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:2237: checking whether alloca needs Cray hooks" >&5 -if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 | - egrep "webecray" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_os_cray=yes -else - rm -rf conftest* - ac_cv_os_cray=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ac_cv_os_cray" 1>&6 -if test $ac_cv_os_cray = yes; then -for ac_func in _getb67 GETB67 getb67; do - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2267: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:2295: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <&6 -fi - -done -fi - -echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:2322: checking stack direction for C alloca" >&5 -if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - ac_cv_c_stack_direction=0 -else - cat > conftest.$ac_ext < addr) ? 1 : -1; -} -main () -{ - exit (find_stack_direction() < 0); -} -EOF -if { (eval echo configure:2349: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_c_stack_direction=1 -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_c_stack_direction=-1 -fi -rm -fr conftest* -fi - -fi - -echo "$ac_t""$ac_cv_c_stack_direction" 1>&6 -cat >> confdefs.h <&6 -echo "configure:2374: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2384: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_func in getpagesize -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2413: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:2441: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - -echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:2466: checking for working mmap" >&5 -if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_mmap_fixed_mapped=no -else - cat > conftest.$ac_ext < -#include -#include - -/* This mess was copied from the GNU getpagesize.h. */ -#ifndef HAVE_GETPAGESIZE -# ifdef HAVE_UNISTD_H -# include -# endif - -/* Assume that all systems that can run configure have sys/param.h. */ -# ifndef HAVE_SYS_PARAM_H -# define HAVE_SYS_PARAM_H 1 -# endif - -# ifdef _SC_PAGESIZE -# define getpagesize() sysconf(_SC_PAGESIZE) -# else /* no _SC_PAGESIZE */ -# ifdef HAVE_SYS_PARAM_H -# include -# ifdef EXEC_PAGESIZE -# define getpagesize() EXEC_PAGESIZE -# else /* no EXEC_PAGESIZE */ -# ifdef NBPG -# define getpagesize() NBPG * CLSIZE -# ifndef CLSIZE -# define CLSIZE 1 -# endif /* no CLSIZE */ -# else /* no NBPG */ -# ifdef NBPC -# define getpagesize() NBPC -# else /* no NBPC */ -# ifdef PAGESIZE -# define getpagesize() PAGESIZE -# endif /* PAGESIZE */ -# endif /* no NBPC */ -# endif /* no NBPG */ -# endif /* no EXEC_PAGESIZE */ -# else /* no HAVE_SYS_PARAM_H */ -# define getpagesize() 8192 /* punt totally */ -# endif /* no HAVE_SYS_PARAM_H */ -# endif /* no _SC_PAGESIZE */ - -#endif /* no HAVE_GETPAGESIZE */ - -#ifdef __cplusplus -extern "C" { void *malloc(unsigned); } -#else -char *malloc(); -#endif - -int -main() -{ - char *data, *data2, *data3; - int i, pagesize; - int fd; - - pagesize = getpagesize(); - - /* - * First, make a file with some known garbage in it. - */ - data = malloc(pagesize); - if (!data) - exit(1); - for (i = 0; i < pagesize; ++i) - *(data + i) = rand(); - umask(0); - fd = creat("conftestmmap", 0600); - if (fd < 0) - exit(1); - if (write(fd, data, pagesize) != pagesize) - exit(1); - close(fd); - - /* - * Next, try to mmap the file at a fixed address which - * already has something else allocated at it. If we can, - * also make sure that we see the same garbage. - */ - fd = open("conftestmmap", O_RDWR); - if (fd < 0) - exit(1); - data2 = malloc(2 * pagesize); - if (!data2) - exit(1); - data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1); - if (data2 != mmap(data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) - exit(1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data2 + i)) - exit(1); - - /* - * Finally, make sure that changes to the mapped area - * do not percolate back to the file as seen by read(). - * (This is a bug on some variants of i386 svr4.0.) - */ - for (i = 0; i < pagesize; ++i) - *(data2 + i) = *(data2 + i) + 1; - data3 = malloc(pagesize); - if (!data3) - exit(1); - if (read(fd, data3, pagesize) != pagesize) - exit(1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data3 + i)) - exit(1); - close(fd); - unlink("conftestmmap"); - exit(0); -} - -EOF -if { (eval echo configure:2614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_func_mmap_fixed_mapped=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_func_mmap_fixed_mapped=no -fi -rm -fr conftest* -fi - -fi - -echo "$ac_t""$ac_cv_func_mmap_fixed_mapped" 1>&6 -if test $ac_cv_func_mmap_fixed_mapped = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_MMAP 1 -EOF - -fi - - - for ac_hdr in argz.h limits.h locale.h nl_types.h malloc.h string.h \ -unistd.h values.h sys/param.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2642: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2652: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - - for ac_func in getcwd munmap putenv setenv setlocale strchr strcasecmp \ -__argz_count __argz_stringify __argz_next -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2682: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:2710: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - - if test "${ac_cv_func_stpcpy+set}" != "set"; then - for ac_func in stpcpy -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2739: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:2767: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - fi - if test "${ac_cv_func_stpcpy}" = "yes"; then - cat >> confdefs.h <<\EOF -#define HAVE_STPCPY 1 -EOF - - fi - - if test $ac_cv_header_locale_h = yes; then - echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:2801: checking for LC_MESSAGES" >&5 -if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -int main() { -return LC_MESSAGES -; return 0; } -EOF -if { (eval echo configure:2813: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - am_cv_val_LC_MESSAGES=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - am_cv_val_LC_MESSAGES=no -fi -rm -f conftest* -fi - -echo "$ac_t""$am_cv_val_LC_MESSAGES" 1>&6 - if test $am_cv_val_LC_MESSAGES = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_LC_MESSAGES 1 -EOF - - fi - fi - echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:2834: checking whether NLS is requested" >&5 - # Check whether --enable-nls or --disable-nls was given. -if test "${enable_nls+set}" = set; then - enableval="$enable_nls" - USE_NLS=$enableval -else - USE_NLS=yes -fi - - echo "$ac_t""$USE_NLS" 1>&6 - - - USE_INCLUDED_LIBINTL=no - - if test "$USE_NLS" = "yes"; then - cat >> confdefs.h <<\EOF -#define ENABLE_NLS 1 -EOF - - echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:2854: checking whether included gettext is requested" >&5 - # Check whether --with-included-gettext or --without-included-gettext was given. -if test "${with_included_gettext+set}" = set; then - withval="$with_included_gettext" - nls_cv_force_use_gnu_gettext=$withval -else - nls_cv_force_use_gnu_gettext=no -fi - - echo "$ac_t""$nls_cv_force_use_gnu_gettext" 1>&6 - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - nls_cv_header_intl= - nls_cv_header_libgt= - CATOBJEXT=NONE - - ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:2873: checking for libintl.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2883: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6 -echo "configure:2900: checking for gettext in libc" >&5 -if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -int main() { -return (int) gettext ("") -; return 0; } -EOF -if { (eval echo configure:2912: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - gt_cv_func_gettext_libc=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - gt_cv_func_gettext_libc=no -fi -rm -f conftest* -fi - -echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6 - - if test "$gt_cv_func_gettext_libc" != "yes"; then - echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:2928: checking for bindtextdomain in -lintl" >&5 -ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lintl $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6 -echo "configure:2963: checking for gettext in libintl" >&5 -if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - gt_cv_func_gettext_libintl=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - gt_cv_func_gettext_libintl=no -fi -rm -f conftest* -fi - -echo "$ac_t""$gt_cv_func_gettext_libintl" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - fi - - if test "$gt_cv_func_gettext_libc" = "yes" \ - || test "$gt_cv_func_gettext_libintl" = "yes"; then - cat >> confdefs.h <<\EOF -#define HAVE_GETTEXT 1 -EOF - - # Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3003: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$MSGFMT" in - /*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then - ac_cv_path_MSGFMT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test -n "$MSGFMT"; then - echo "$ac_t""$MSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - if test "$MSGFMT" != "no"; then - for ac_func in dcgettext -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3037: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:3065: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3092: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$GMSGFMT" in - /*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_GMSGFMT="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT="$ac_cv_path_GMSGFMT" -if test -n "$GMSGFMT"; then - echo "$ac_t""$GMSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - # Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3128: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$XGETTEXT" in - /*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test -n "$XGETTEXT"; then - echo "$ac_t""$XGETTEXT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - CATOBJEXT=.gmo - DATADIRNAME=share -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CATOBJEXT=.mo - DATADIRNAME=lib -fi -rm -f conftest* - INSTOBJEXT=.mo - fi - fi - -else - echo "$ac_t""no" 1>&6 -fi - - - if test "$CATOBJEXT" = "NONE"; then - echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6 -echo "configure:3191: checking whether catgets can be used" >&5 - # Check whether --with-catgets or --without-catgets was given. -if test "${with_catgets+set}" = set; then - withval="$with_catgets" - nls_cv_use_catgets=$withval -else - nls_cv_use_catgets=no -fi - - echo "$ac_t""$nls_cv_use_catgets" 1>&6 - - if test "$nls_cv_use_catgets" = "yes"; then - echo $ac_n "checking for main in -li""... $ac_c" 1>&6 -echo "configure:3204: checking for main in -li" >&5 -ac_lib_var=`echo i'_'main | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-li $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo i | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <&6 -fi - - echo $ac_n "checking for catgets""... $ac_c" 1>&6 -echo "configure:3247: checking for catgets" >&5 -if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char catgets(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_catgets) || defined (__stub___catgets) -choke me -#else -catgets(); -#endif - -; return 0; } -EOF -if { (eval echo configure:3275: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_catgets=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_catgets=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'catgets`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <<\EOF -#define HAVE_CATGETS 1 -EOF - - INTLOBJS="\$(CATOBJS)" - # Extract the first word of "gencat", so it can be a program name with args. -set dummy gencat; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3297: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$GENCAT" in - /*) - ac_cv_path_GENCAT="$GENCAT" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_GENCAT="$GENCAT" # Let the user override the test with a dos path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_GENCAT="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_GENCAT" && ac_cv_path_GENCAT="no" - ;; -esac -fi -GENCAT="$ac_cv_path_GENCAT" -if test -n "$GENCAT"; then - echo "$ac_t""$GENCAT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - if test "$GENCAT" != "no"; then - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3333: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$GMSGFMT" in - /*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_GMSGFMT="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="no" - ;; -esac -fi -GMSGFMT="$ac_cv_path_GMSGFMT" -if test -n "$GMSGFMT"; then - echo "$ac_t""$GMSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - if test "$GMSGFMT" = "no"; then - # Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3370: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$GMSGFMT" in - /*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then - ac_cv_path_GMSGFMT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="no" - ;; -esac -fi -GMSGFMT="$ac_cv_path_GMSGFMT" -if test -n "$GMSGFMT"; then - echo "$ac_t""$GMSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - fi - # Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3405: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$XGETTEXT" in - /*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test -n "$XGETTEXT"; then - echo "$ac_t""$XGETTEXT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - USE_INCLUDED_LIBINTL=yes - CATOBJEXT=.cat - INSTOBJEXT=.cat - DATADIRNAME=lib - INTLDEPS='$(top_builddir)/intl/libintl.a' - INTLLIBS=$INTLDEPS - LIBS=`echo $LIBS | sed -e 's/-lintl//'` - nls_cv_header_intl=intl/libintl.h - nls_cv_header_libgt=intl/libgettext.h - fi -else - echo "$ac_t""no" 1>&6 -fi - - fi - fi - - if test "$CATOBJEXT" = "NONE"; then - nls_cv_use_gnu_gettext=yes - fi - fi - - if test "$nls_cv_use_gnu_gettext" = "yes"; then - INTLOBJS="\$(GETTOBJS)" - # Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3463: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$MSGFMT" in - /*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then - ac_cv_path_MSGFMT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="msgfmt" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test -n "$MSGFMT"; then - echo "$ac_t""$MSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3497: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$GMSGFMT" in - /*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_GMSGFMT="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT="$ac_cv_path_GMSGFMT" -if test -n "$GMSGFMT"; then - echo "$ac_t""$GMSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - # Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3533: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$XGETTEXT" in - /*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test -n "$XGETTEXT"; then - echo "$ac_t""$XGETTEXT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - - USE_INCLUDED_LIBINTL=yes - CATOBJEXT=.gmo - INSTOBJEXT=.mo - DATADIRNAME=share - INTLDEPS='$(top_builddir)/intl/libintl.a' - INTLLIBS=$INTLDEPS - LIBS=`echo $LIBS | sed -e 's/-lintl//'` - nls_cv_header_intl=intl/libintl.h - nls_cv_header_libgt=intl/libgettext.h - fi - - if test "$XGETTEXT" != ":"; then - if $XGETTEXT --omit-header /dev/null 2> /dev/null; then - : ; - else - echo "$ac_t""found xgettext programs is not GNU xgettext; ignore it" 1>&6 - XGETTEXT=":" - fi - fi - - # We need to process the po/ directory. - POSUB=po - else - DATADIRNAME=share - nls_cv_header_intl=intl/libintl.h - nls_cv_header_libgt=intl/libgettext.h - fi - - # If this is used in GNU gettext we have to set USE_NLS to `yes' - # because some of the sources are only built for this goal. - if test "$PACKAGE" = gettext; then - USE_NLS=yes - USE_INCLUDED_LIBINTL=yes - fi - - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" - done - - - - - - - - - - - - - - - if test "x$CATOBJEXT" != "x"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:3623: checking for catalogs to be installed" >&5 - NEW_LINGUAS= - for lang in ${LINGUAS=$ALL_LINGUAS}; do - case "$ALL_LINGUAS" in - *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; - esac - done - LINGUAS=$NEW_LINGUAS - echo "$ac_t""$LINGUAS" 1>&6 - fi - - if test -n "$LINGUAS"; then - for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done - fi - fi - - if test $ac_cv_header_locale_h = yes; then - INCLUDE_LOCALE_H="#include " - else - INCLUDE_LOCALE_H="\ -/* The system does not provide the header . Take care yourself. */" - fi - - - test -d intl || mkdir intl - if test "$CATOBJEXT" = ".cat"; then - ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6 -echo "configure:3651: checking for linux/version.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3661: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - msgformat=linux -else - echo "$ac_t""no" 1>&6 -msgformat=xopen -fi - - - sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed - fi - sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \ - $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed - - if test "$PACKAGE" = "gettext"; then - GT_NO="#NO#" - GT_YES= - else - GT_NO= - GT_YES="#YES#" - fi - - - - MKINSTALLDIRS= - if test -n "$ac_aux_dir"; then - MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" - fi - if test -z "$MKINSTALLDIRS"; then - MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" - fi - - - l= - - - test -d po || mkdir po - if test "x$srcdir" != "x."; then - if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then - posrcprefix="$srcdir/" - else - posrcprefix="../$srcdir/" - fi - else - posrcprefix="../" - fi - rm -f po/POTFILES - sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ - < $srcdir/po/POTFILES.in > po/POTFILES - - - -cat >> confdefs.h <&6 - sed < libtool > libtool-2 \ - 's/^hardcode_libdir_flag_spec.*$/hardcode_libdir_flag_spec=" -D__FOO_132_BUZZ_191_BAR__ "/' - mv libtool-2 libtool - chmod 755 libtool - ;; -esac - -if test ! -z "$LEX" -a ! -z "$YACC" ; then - LOADKEYS=loadkeys -else - echo "configure: warning: \`loadkeys\' will not be built, since it needs both LEX and YACC" 1>&2 -fi - - - -# Checks for libraries. - -# Checks for header files. -echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:3757: checking for ANSI C header files" >&5 -if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -#include -#include -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3770: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - ac_cv_header_stdc=yes -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -cat > conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -cat > conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -if test "$cross_compiling" = yes; then - : -else - cat > conftest.$ac_ext < -#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int main () { int i; for (i = 0; i < 256; i++) -if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); -exit (0); } - -EOF -if { (eval echo configure:3837: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_header_stdc=no -fi -rm -fr conftest* -fi - -fi -fi - -echo "$ac_t""$ac_cv_header_stdc" 1>&6 -if test $ac_cv_header_stdc = yes; then - cat >> confdefs.h <<\EOF -#define STDC_HEADERS 1 -EOF - -fi - -for ac_hdr in fcntl.h sys/ioctl.h unistd.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3864: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3874: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - - - -# Checks for typedefs, structures, and compiler characteristics. -echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:3904: checking for working const" >&5 -if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <j = 5; -} -{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; -} - -; return 0; } -EOF -if { (eval echo configure:3958: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_c_const=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_c_const=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_c_const" 1>&6 -if test $ac_cv_c_const = no; then - cat >> confdefs.h <<\EOF -#define const -EOF - -fi - -echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:3979: checking for inline" >&5 -if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_c_inline=$ac_kw; break -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -done - -fi - -echo "$ac_t""$ac_cv_c_inline" 1>&6 -case "$ac_cv_c_inline" in - inline | yes) ;; - no) cat >> confdefs.h <<\EOF -#define inline -EOF - ;; - *) cat >> confdefs.h <&6 -echo "configure:4019: checking whether struct tm is in sys/time.h or time.h" >&5 -if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -int main() { -struct tm *tp; tp->tm_sec; -; return 0; } -EOF -if { (eval echo configure:4032: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_struct_tm=time.h -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_struct_tm=sys/time.h -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_struct_tm" 1>&6 -if test $ac_cv_struct_tm = sys/time.h; then - cat >> confdefs.h <<\EOF -#define TM_IN_SYS_TIME 1 -EOF - -fi - - -# Checks for library functions. -if test $ac_cv_prog_gcc = yes; then - echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6 -echo "configure:4056: checking whether ${CC-cc} needs -traditional" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_pattern="Autoconf.*'x'" - cat > conftest.$ac_ext < -Autoconf TIOCGETP -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "$ac_pattern" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_prog_gcc_traditional=yes -else - rm -rf conftest* - ac_cv_prog_gcc_traditional=no -fi -rm -f conftest* - - - if test $ac_cv_prog_gcc_traditional = no; then - cat > conftest.$ac_ext < -Autoconf TCGETA -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "$ac_pattern" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_prog_gcc_traditional=yes -fi -rm -f conftest* - - fi -fi - -echo "$ac_t""$ac_cv_prog_gcc_traditional" 1>&6 - if test $ac_cv_prog_gcc_traditional = yes; then - CC="$CC -traditional" - fi -fi - -echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:4102: checking return type of signal handlers" >&5 -if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -#ifdef signal -#undef signal -#endif -#ifdef __cplusplus -extern "C" void (*signal (int, void (*)(int)))(int); -#else -void (*signal ()) (); -#endif - -int main() { -int i; -; return 0; } -EOF -if { (eval echo configure:4124: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_type_signal=void -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_type_signal=int -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_type_signal" 1>&6 -cat >> confdefs.h <&6 -echo "configure:4145: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:4173: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - - -# -# Additional features -# - -# Check whether --enable-debugging or --disable-debugging was given. -if test "${enable_debugging+set}" = set; then - enableval="$enable_debugging" - if test $enableval = yes - then - CFLAGS="$CFLAGS -O0 -Wall" - else - cat >> confdefs.h <<\EOF -#define NDEBUG 1 -EOF - - fi -else - cat >> confdefs.h <<\EOF -#define NDEBUG 1 -EOF - -fi - - -#################### -# -EXTRAS="" -# TODO: -# -# Find the relevant test for "[gs]etkeycodes" => AC_SUBST(KEYCODES) -# was "! m68k && ! sparc" -# -# Check whether --enable-keycode-progs or --disable-keycode-progs was given. -if test "${enable_keycode_progs+set}" = set; then - enableval="$enable_keycode_progs" - : -else - KEYCODES="getkeycodes setkeycodes" ; EXTRAS="${EXTRAS} ${KEYCODES}" -fi - - - -# Enable `resizecons' only on i386 arch -case $target_cpu in -i?86) - RESIZECONS="resizecons" - ;; -esac - - -if test "$EXTRAS" != "" -then - echo "configure: warning: The following programs may not build on all archs: $EXTRAS. -Please send a build-log if it is the case, so that we can fix it." 1>&2 -fi -# -#################### - -# Use UnicodeData if available -# Check whether --with-unicodedata or --without-unicodedata was given. -if test "${with_unicodedata+set}" = set; then - withval="$with_unicodedata" - case ${withval} in - no) ;; - yes) UNICODEDATA=/usr/share/unidata/UnicodeData-2.txt ;; - *) UNICODEDATA=$withval ;; - esac; - -else - UNICODEDATA=/usr/share/unidata/UnicodeData-2.txt -fi - - -if test ! -z "$UNICODEDATA" -a -r "$UNICODEDATA" -then - UNICODELISTS=unicodelists -else - UNICODELISTS= - UNICODEDATA= -fi - - - - - -# Allow local data dir, but not do that by default (not FSSTND-compliant ?) -# Check whether --enable-localdatadir or --disable-localdatadir was given. -if test "${enable_localdatadir+set}" = set; then - enableval="$enable_localdatadir" - case ${enableval} in - no) ;; - yes) cat >> confdefs.h <> confdefs.h < confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -DEFS=-DHAVE_CONFIG_H - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS </dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.13" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir -ac_given_INSTALL="$INSTALL" - -trap 'rm -fr `echo "Makefile lib/Makefile fontfiletools/Makefile vttools/Makefile - kbdtools/Makefile screenfonttools/Makefile contrib/Makefile - include/Makefile include/lct/Makefile compat/Makefile - doc/Makefile doc/man/Makefile examples/Makefile - po/Makefile.in intl/Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS < conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@FFLAGS@%$FFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@host@%$host%g -s%@host_alias@%$host_alias%g -s%@host_cpu@%$host_cpu%g -s%@host_vendor@%$host_vendor%g -s%@host_os@%$host_os%g -s%@target@%$target%g -s%@target_alias@%$target_alias%g -s%@target_cpu@%$target_cpu%g -s%@target_vendor@%$target_vendor%g -s%@target_os@%$target_os%g -s%@build@%$build%g -s%@build_alias@%$build_alias%g -s%@build_cpu@%$build_cpu%g -s%@build_vendor@%$build_vendor%g -s%@build_os@%$build_os%g -s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g -s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g -s%@INSTALL_DATA@%$INSTALL_DATA%g -s%@PACKAGE@%$PACKAGE%g -s%@VERSION@%$VERSION%g -s%@ACLOCAL@%$ACLOCAL%g -s%@AUTOCONF@%$AUTOCONF%g -s%@AUTOMAKE@%$AUTOMAKE%g -s%@AUTOHEADER@%$AUTOHEADER%g -s%@MAKEINFO@%$MAKEINFO%g -s%@SET_MAKE@%$SET_MAKE%g -s%@RANLIB@%$RANLIB%g -s%@CC@%$CC%g -s%@LD@%$LD%g -s%@NM@%$NM%g -s%@LN_S@%$LN_S%g -s%@LIBTOOL@%$LIBTOOL%g -s%@LEX@%$LEX%g -s%@LEXLIB@%$LEXLIB%g -s%@CPP@%$CPP%g -s%@LEX_OUTPUT_ROOT@%$LEX_OUTPUT_ROOT%g -s%@YACC@%$YACC%g -s%@ALLOCA@%$ALLOCA%g -s%@USE_NLS@%$USE_NLS%g -s%@MSGFMT@%$MSGFMT%g -s%@GMSGFMT@%$GMSGFMT%g -s%@XGETTEXT@%$XGETTEXT%g -s%@GENCAT@%$GENCAT%g -s%@USE_INCLUDED_LIBINTL@%$USE_INCLUDED_LIBINTL%g -s%@CATALOGS@%$CATALOGS%g -s%@CATOBJEXT@%$CATOBJEXT%g -s%@DATADIRNAME@%$DATADIRNAME%g -s%@GMOFILES@%$GMOFILES%g -s%@INSTOBJEXT@%$INSTOBJEXT%g -s%@INTLDEPS@%$INTLDEPS%g -s%@INTLLIBS@%$INTLLIBS%g -s%@INTLOBJS@%$INTLOBJS%g -s%@POFILES@%$POFILES%g -s%@POSUB@%$POSUB%g -s%@INCLUDE_LOCALE_H@%$INCLUDE_LOCALE_H%g -s%@GT_NO@%$GT_NO%g -s%@GT_YES@%$GT_YES%g -s%@MKINSTALLDIRS@%$MKINSTALLDIRS%g -s%@l@%$l%g -s%@LOADKEYS@%$LOADKEYS%g -s%@KEYCODES@%$KEYCODES%g -s%@RESIZECONS@%$RESIZECONS%g -s%@UNICODEDATA@%$UNICODEDATA%g -s%@UNICODELISTS@%$UNICODELISTS%g -s%@COMPAT@%$COMPAT%g -s%@TRANSDIR@%$TRANSDIR%g -s%@FONTDIR@%$FONTDIR%g -s%@KEYMAPDIR@%$KEYMAPDIR%g -s%@VIDEOMODEDIR@%$VIDEOMODEDIR%g - -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF - -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - case "$ac_given_INSTALL" in - [/$]*) INSTALL="$ac_given_INSTALL" ;; - *) INSTALL="$ac_dots$ac_given_INSTALL" ;; - esac - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -s%@INSTALL@%$INSTALL%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' -ac_dC='\3' -ac_dD='%g' -# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='\([ ]\)%\1#\2define\3' -ac_uC=' ' -ac_uD='\4%g' -# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_eB='$%\1#\2define\3' -ac_eC=' ' -ac_eD='%g' - -if test "${CONFIG_HEADERS+set}" != set; then -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -fi -for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - echo creating $ac_file - - rm -f conftest.frag conftest.in conftest.out - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - cat $ac_file_inputs > conftest.in - -EOF - -# Transform confdefs.h into a sed script conftest.vals that substitutes -# the proper values into config.h.in to produce config.h. And first: -# Protect against being on the right side of a sed subst in config.status. -# Protect against being in an unquoted here document in config.status. -rm -f conftest.vals -cat > conftest.hdr <<\EOF -s/[\\&%]/\\&/g -s%[\\$`]%\\&%g -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp -s%ac_d%ac_u%gp -s%ac_u%ac_e%gp -EOF -sed -n -f conftest.hdr confdefs.h > conftest.vals -rm -f conftest.hdr - -# This sed command replaces #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -cat >> conftest.vals <<\EOF -s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% -EOF - -# Break up conftest.vals because some shells have a limit on -# the size of here documents, and old seds have small limits too. - -rm -f conftest.tail -while : -do - ac_lines=`grep -c . conftest.vals` - # grep -c gives empty output for an empty file on some AIX systems. - if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi - # Write a limited-size here document to conftest.frag. - echo ' cat > conftest.frag <> $CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS - echo 'CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in -' >> $CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail - rm -f conftest.vals - mv conftest.tail conftest.vals -done -rm -f conftest.vals - -cat >> $CONFIG_STATUS <<\EOF - rm -f conftest.frag conftest.h - echo "/* $ac_file. Generated automatically by configure. */" > conftest.h - cat conftest.in >> conftest.h - rm -f conftest.in - if cmp -s $ac_file conftest.h 2>/dev/null; then - echo "$ac_file is unchanged" - rm -f conftest.h - else - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - fi - rm -f $ac_file - mv conftest.h $ac_file - fi -fi; done - -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h -sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - diff -Nru console-tools-0.2.3/configure.in console-tools-0.2.3/configure.in --- console-tools-0.2.3/configure.in 1999-10-25 20:48:29.000000000 +0000 +++ console-tools-0.2.3/configure.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,174 +0,0 @@ -dnl -*- sh -*- -dnl Process this file with autoconf to produce a configure script. - -# Initialize -AC_INIT(kbdtools/loadkeys.y) - -define(ct_unicodedata_default,/usr/share/unidata/UnicodeData-2.txt) -ct_localdatadir_default=/usr/local/share # iff --enable-localdatadir without specific dir - -#AC_CONFIG_AUX_DIR(autoconf) -AC_CANONICAL_SYSTEM -AM_INIT_AUTOMAKE(console-tools, 0.2.3) - -# Defaults -AC_PREFIX_DEFAULT(/usr) - -# Header -AM_CONFIG_HEADER(config.h) - -# Checks for programs. -AM_PROG_LIBTOOL -AM_PROG_LEX -AC_PROG_YACC - -# i18n stuff -ALL_LINGUAS="cs de ru da et_EE ga fr it" -AM_GNU_GETTEXT -AC_OUTPUT_COMMANDS([sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile]) - -AC_DEFINE_UNQUOTED(LOCALEDIR, "/usr/share/locale") - - -# Turn around -rpath problem with libtool 1.0c -# This define should be improbable enough to not conflict with anything -case ${host} in - *-pc-linux-gnu) - AC_MSG_RESULT([Fixing libtool for -rpath problems.]) - sed < libtool > libtool-2 \ - 's/^hardcode_libdir_flag_spec.*$/hardcode_libdir_flag_spec=" -D__FOO_132_BUZZ_191_BAR__ "/' - mv libtool-2 libtool - chmod 755 libtool - ;; -esac - -dnl loadkeys can only be built with both LEX and YACC: -if test ! -z "$LEX" -a ! -z "$YACC" ; then - LOADKEYS=loadkeys -else - AC_MSG_WARN([\`loadkeys\' will not be built, since it needs both LEX and YACC]) -fi -AC_SUBST(LOADKEYS) - - -# Checks for libraries. - -# Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS(fcntl.h sys/ioctl.h unistd.h) - - -# Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_C_INLINE -AC_STRUCT_TM dnl used - - -# Checks for library functions. -AC_PROG_GCC_TRADITIONAL -AC_TYPE_SIGNAL -AC_CHECK_FUNCS(strspn strtol getline) - - -# -# Additional features -# - -AC_ARG_ENABLE([debugging], - [ --enable-debugging do extra warnings, tests and comments], - [if test $enableval = yes - then - CFLAGS="$CFLAGS -O0 -Wall" - else - AC_DEFINE(NDEBUG) - fi], - [AC_DEFINE(NDEBUG)]) - -#################### -# -EXTRAS="" -# TODO: -# -# Find the relevant test for "[gs]etkeycodes" => AC_SUBST(KEYCODES) -# was "! m68k && ! sparc" -# -AC_ARG_ENABLE([keycode-progs], - [ --disable-keycode-progs don't build keycodes-handling programs], , - KEYCODES="getkeycodes setkeycodes" ; EXTRAS="${EXTRAS} ${KEYCODES}" ) -AC_SUBST(KEYCODES) - -# Enable `resizecons' only on i386 arch -case $target_cpu in -i?86) - RESIZECONS="resizecons" - ;; -esac -AC_SUBST(RESIZECONS) - -if test "$EXTRAS" != "" -then - AC_MSG_WARN([The following programs may not build on all archs: $EXTRAS. -Please send a build-log if it is the case, so that we can fix it.]) -fi -# -#################### - -# Use UnicodeData if available -AC_ARG_WITH([unicodedata], - [ --with-unicodedata[=file] Use UnicodeData (default=]ct_unicodedata_default[)], - [ case ${withval} in - no) ;; - yes) UNICODEDATA=]ct_unicodedata_default[ ;; - *) UNICODEDATA=$withval ;; - esac; - ],[UNICODEDATA=]ct_unicodedata_default) - -if test ! -z "$UNICODEDATA" -a -r "$UNICODEDATA" -then - UNICODELISTS=unicodelists -else - UNICODELISTS= - UNICODEDATA= -fi - -AC_SUBST(UNICODEDATA) -AC_SUBST(UNICODELISTS) - - -# Allow local data dir, but not do that by default (not FSSTND-compliant ?) -AC_ARG_ENABLE([localdatadir], - [ --enable-localdatadir additional directory to search for data files [NONE]], - [ case ${enableval} in - no) ;; - yes) ] AC_DEFINE_UNQUOTED(LOCALDATADIR, "$ct_localdatadir_default") [ ;; - *) ] AC_DEFINE_UNQUOTED(LOCALDATADIR, "$enableval") [ ;; - esac; - ]) - -# Allow installing kbd-compat scripts -AC_ARG_ENABLE([kbd-compat], - [ --enable-kbd-compat install wrapper scripts for compatibility with kbd], - [case ${enable_kbd_compat} in - yes) COMPAT=compat ;; - no) COMPAT=nocompat ;; - esac], - [COMPAT=nocompat]) -AC_SUBST(COMPAT) - -# Additional defs to ensure consistency -TRANSDIR=consoletrans -FONTDIR=consolefonts -KEYMAPDIR=keymaps -VIDEOMODEDIR=videomodes - -AC_SUBST(TRANSDIR) -AC_SUBST(FONTDIR) -AC_SUBST(KEYMAPDIR) -AC_SUBST(VIDEOMODEDIR) - -# Output -AC_OUTPUT([Makefile lib/Makefile fontfiletools/Makefile vttools/Makefile - kbdtools/Makefile screenfonttools/Makefile contrib/Makefile - include/Makefile include/lct/Makefile compat/Makefile - doc/Makefile doc/man/Makefile examples/Makefile - po/Makefile.in intl/Makefile]) diff -Nru console-tools-0.2.3/console-tools.lsm console-tools-0.2.3/console-tools.lsm --- console-tools-0.2.3/console-tools.lsm 1999-10-25 20:58:01.000000000 +0000 +++ console-tools-0.2.3/console-tools.lsm 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -Begin3 -Title: Keyboard and console utilities for Linux. -Version: 0.2.3 -Entered-date: 25OCT99 -Description: Programs for keyboard / console fonts / - virtual terminals manipulation. - It is derived from kbd-0.99.tar.gz, with - many bug-fixes and enhancements. - This is a stable version. The development - versions are available from - http://www.multimania.com/ydirson/en/lct/ -Keywords: keyboard map mapping console font charset unicode -Author: several -Platforms: Linux -Maintained-by: Yann Dirson -Primary-site: metalab.unc.edu /pub/Linux/system/keyboards - 657K console-tools-0.2.3.tar.gz -Copying-policy: GPL -End diff -Nru console-tools-0.2.3/contrib/cad console-tools-0.2.3/contrib/cad --- console-tools-0.2.3/contrib/cad 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/contrib/cad 1970-01-01 00:00:00.000000000 +0000 @@ -1,61 +0,0 @@ -#!/bin/sh - -trap "" 0 1 2 15 - -LOG=/tmp/w.log.$$ -dialog --clear - -w | egrep -v tty[1-8] | tail +2 > $LOG -count=`wc -l < $LOG` - -dont_panic() { - dialog --infobox " - - THE SYSTEM IS SHUTTING DOWN - - !!!!!!!WAIT!!!!!! - - !!!!DON'T POWER DOWN YET!!!!!!!! - - wait for this message to clear. - $* - - " 15 60 & -} - -if [ $count -lt 2 ]; then - dont_panic " - The system is shutting down" - /sbin/shutdown -r now "sistema esta en shutdown" -else - dialog --yesno " - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -There are the following remote users in -the machine: - -`cat $LOG` - -Shutdown will be delayed by 2 minutes -inorder to warn the remote users. - -Do you still want to start the shutdown? - -" 22 60 - - -if [ $? = 0 ];then - dont_panic " - Shutting down in 2 minutes" - /sbin/shutdown -r +2 "sistema esta en shutdown" -else - sleep 1 - dialog --infobox " - - The shutdown has been aborted - - " 7 50 & - sleep 5 - dialog --clear -fi -fi diff -Nru console-tools-0.2.3/contrib/codepage.c console-tools-0.2.3/contrib/codepage.c --- console-tools-0.2.3/contrib/codepage.c 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/contrib/codepage.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,302 +0,0 @@ -/* - * CPI.C: A program to examine MSDOS codepage files (*.cpi) - * and extract specific codepages. - * Compiles under Linux & DOS (using BC++ 3.1). - * - * Compile: gcc -o cpi cpi.c - * Call: codepage file.cpi [-a|-l|nnn] - * - * Author: Ahmed M. Naas (ahmed@oea.xs4all.nl) - * Many changes: aeb@cwi.nl [changed until it would handle all - * *.cpi files people have sent me; I have no documentation, - * so all this is experimental] - * Remains to do: DRDOS fonts. - * - * Copyright: Public domain. - */ - -#include -#include -#include -#include - -#include -#include - -#define PACKED __attribute__ ((packed)) -/* Use this (instead of the above) to compile under MSDOS */ -/*#define PACKED */ - -int handle_codepage(int more_to_come); -void handle_fontfile(); -void usage(char*); - -struct { - unsigned char id[8] PACKED; - unsigned char res[8] PACKED; - unsigned short num_pointers PACKED; - unsigned char p_type PACKED; - unsigned long offset PACKED; -} FontFileHeader; - -struct { - unsigned short num_codepages PACKED; -} FontInfoHeader; - -struct { - unsigned short size PACKED; - unsigned long off_nexthdr PACKED; - unsigned short device_type PACKED; /* screen=1; printer=2 */ - unsigned char device_name[8] PACKED; - unsigned short codepage PACKED; - unsigned char res[6] PACKED; - unsigned long off_font PACKED; -} CPEntryHeader; - -struct { - unsigned short reserved PACKED; - unsigned short num_fonts PACKED; - unsigned short size PACKED; -} CPInfoHeader; - -struct { - unsigned char height PACKED; - unsigned char width PACKED; - unsigned short reserved PACKED; - unsigned short num_chard PACKED; -} ScreenFontHeader; - -struct { - unsigned short p1 PACKED; - unsigned short p2 PACKED; -} PrinterFontHeader; - -FILE *in, *out; - -int opta, optc, optl, optL, optx; - -unsigned short codepage; - -int main (int argc, char *argv[]) -{ - if (argc < 2) - usage(strip_path(argv[0])); - - if ((in = fopen(argv[1], "r")) == NULL) { - printf("\nUnable to open file %s.\n", argv[1]); - exit(0); - } - - opta = optc = optl = optL = optx = 0; - optind = 2; - if (argc == 2) - optl = 1; - else - while(1) { - switch(getopt(argc, argv, "alLc")) { - case 'a': - opta = 1; - continue; - case 'c': - optc = 1; - continue; - case 'L': - optL = 1; - continue; - case 'l': - optl = 1; - continue; - case '?': - default: - usage(argv[0]); - case -1: - break; - } - break; - } - if (optind != argc) { - if (optind != argc-1 || opta) - usage(argv[0]); - codepage = atoi(argv[optind]); - optx = 1; - } - - if (optc) - handle_codepage(0); - else - handle_fontfile(); - - if (optx) { - printf("no page %d found\n", codepage); - exit(1); - } - - fclose(in); - return (0); -} - -void handle_fontfile(){ - int i, j; - - j = fread(&FontFileHeader, 1, sizeof(FontFileHeader), in); - if (j != sizeof(FontFileHeader)) { - printf("error reading FontFileHeader - got %d chars\n", j); - exit (1); - } - if (!strcmp(FontFileHeader.id + 1, "DRFONT ")) { - printf("this program cannot handle DRDOS font files\n"); - exit(1); - } - if (optL) - printf("FontFileHeader: id=%8.8s res=%8.8s num=%d typ=%c offset=%ld\n\n", - FontFileHeader.id, FontFileHeader.res, - FontFileHeader.num_pointers, - FontFileHeader.p_type, - FontFileHeader.offset); - - j = fread(&FontInfoHeader, 1, sizeof(FontInfoHeader), in); - if (j != sizeof(FontInfoHeader)) { - printf("error reading FontInfoHeader - got %d chars\n", j); - exit (1); - } - if (optL) - printf("FontInfoHeader: num_codepages=%d\n\n", - FontInfoHeader.num_codepages); - - for (i = FontInfoHeader.num_codepages; i; i--) - if (handle_codepage(i-1)) - break; -} - -int handle_codepage(int more_to_come) { - int j; - char outfile[20]; - unsigned char *fonts; - long inpos, nexthdr; - - j = fread(&CPEntryHeader, 1, sizeof(CPEntryHeader), in); - if (j != sizeof(CPEntryHeader)) { - printf("error reading CPEntryHeader - got %d chars\n", j); - exit(1); - } - if (optL) { - int t = CPEntryHeader.device_type; - printf("CPEntryHeader: size=%d dev=%d [%s] name=%8.8s \ -codepage=%d\n\t\tres=%6.6s nxt=%ld off_font=%ld\n\n", - CPEntryHeader.size, - t, (t==1) ? "screen" : (t==2) ? "printer" : "?", - CPEntryHeader.device_name, - CPEntryHeader.codepage, - CPEntryHeader.res, - CPEntryHeader.off_nexthdr, CPEntryHeader.off_font); - } else if (optl) { - printf("\nCodepage = %d\n", CPEntryHeader.codepage); - printf("Device = %.8s\n", CPEntryHeader.device_name); - } -#if 0 - if (CPEntryHeader.size != sizeof(CPEntryHeader)) { - /* seen 26 and 28, so that the difference below is -2 or 0 */ - if (optl) - printf("Skipping %d bytes of garbage\n", - CPEntryHeader.size - sizeof(CPEntryHeader)); - fseek(in, CPEntryHeader.size - sizeof(CPEntryHeader), - SEEK_CUR); - } -#endif - if (!opta && (!optx || CPEntryHeader.codepage != codepage) && !optc) - goto next; - - inpos = ftell(in); - if (inpos != CPEntryHeader.off_font && !optc) { - if (optL) - printf("pos=%ld font at %ld\n", inpos, CPEntryHeader.off_font); - fseek(in, CPEntryHeader.off_font, SEEK_SET); - } - - j = fread(&CPInfoHeader, 1, sizeof(CPInfoHeader), in); - if (j != sizeof(CPInfoHeader)) { - printf("error reading CPInfoHeader - got %d chars\n", j); - exit(1); - } - if (optl) { - printf("Number of Fonts = %d\n", CPInfoHeader.num_fonts); - printf("Size of Bitmap = %d\n", CPInfoHeader.size); - } - if (CPInfoHeader.num_fonts == 0) - goto next; - if (optc) - return 0; - - fprintf(stderr, "\ -Warning: CP format is a hack!\n - The files produced may or may not be usable!\n"); - - sprintf(outfile, "%d.cp", CPEntryHeader.codepage); - if ((out = fopen(outfile, "w")) == NULL) { - printf("\nUnable to open file %s.\n", outfile); - exit(1); - } else printf("\nWriting %s\n", outfile); - - fonts = (unsigned char *) malloc(CPInfoHeader.size); - - fread(fonts, CPInfoHeader.size, 1, in); - fwrite(&CPEntryHeader, sizeof(CPEntryHeader), 1, out); - fwrite(&CPInfoHeader, sizeof(CPInfoHeader), 1, out); - j = fwrite(fonts, 1, CPInfoHeader.size, out); - if (j != CPInfoHeader.size) { - printf("error writing %s - wrote %d chars\n", - "", /* FIXME: what should this string say ?? */ - j); - exit(1); - } - fclose(out); - free(fonts); - if (optx) exit(0); - next: - /* - * It seems that if entry headers and fonts are interspersed, - * then nexthdr will point past the font, regardless of - * whether more entries follow. - * Otherwise, first all entry headers are given, and then - * all fonts; in this case nexthdr will be 0 in the last entry. - */ - nexthdr = CPEntryHeader.off_nexthdr; - if (nexthdr == 0 || nexthdr == -1) { - if (more_to_come) { - printf("mode codepages expected, but nexthdr=%ld\n", - nexthdr); - exit(1); - } else - return 1; - } - - inpos = ftell(in); - if (inpos != CPEntryHeader.off_nexthdr) { - if (optL) - printf("pos=%ld nexthdr at %ld\n", inpos, nexthdr); - if (opta && !more_to_come) { - printf("no more code pages, but nexthdr != 0\n"); - return 1; - } - - fseek(in, CPEntryHeader.off_nexthdr, SEEK_SET); - } - - return 0; -} - -void usage(char* name) -{ - printf("\n\ -Usage: %s code_page_file [-c] [-L] [-l] [-a|nnn]\n\ - -c: input file is a single codepage\n\ - -L: print header info (you don't want to see this)\n\ - -l or no option: list all codepages contained in the file\n\ - -a: extract all codepages from the file\n\ - nnn (3 digits): extract codepage nnn from the file\n\ -\n\ -Example: %s ega.cpi 850 \n\ - will create a file 850.cp containing the requested codepage.\n\n", - name, name); - exit(1); -} diff -Nru console-tools-0.2.3/contrib/fix_bs_and_del console-tools-0.2.3/contrib/fix_bs_and_del --- console-tools-0.2.3/contrib/fix_bs_and_del 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/contrib/fix_bs_and_del 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -#!/usr/bin/loadkeys -# Make BackSpace key send a BS, and make Delete key send a DEL -keycode 14 = BackSpace Delete - control keycode 14 = Delete - alt keycode 14 = Meta_Delete -keycode 111 = Delete Remove Remove - control keycode 111 = Remove - shift control keycode 111 = Remove - alt keycode 111 = Remove - control alt keycode 111 = Boot -# Mark Lord diff -Nru console-tools-0.2.3/contrib/font2psf console-tools-0.2.3/contrib/font2psf --- console-tools-0.2.3/contrib/font2psf 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/contrib/font2psf 1970-01-01 00:00:00.000000000 +0000 @@ -1,48 +0,0 @@ -#!/bin/bash -#written by Martin Lohner, SuSE GmbH, Dec 1998 -echo "This script converts 256 character font to psf-fonts" -echo "It simply assumes that all files in the current directory" -echo "that have a size of (256*n) are fontfiles of 8xn pixel" -echo "fonts. If there are 512 character, non-psf-fonts you will" -echo "recognise this soon... Anyway, the setfont program isn´t" -echo "aware of this type of fonts, too. So there shouln´d be to" -echo "much of theese around." -echo "This script cares for font highs of 6,8,10,12,14,16 and 19" -echo "pixels" -echo "" -echo -n "Start converting now? (Old file will not be touched) (Y/N)" -read a -random=hfdsvnpoh97k -if [ $a = y -o $a = Y ] ; then - echo "Creating psf-headers..." - echo -ne "\066" > $random - echo -ne "\004" >> $random - echo -ne "\000" >> $random - - - echo -ne "\006" > $random.6.tmp - cat $random $random.6.tmp > $random.6 - echo -ne "\010" > $random.8.tmp - cat $random $random.8.tmp > $random.8 - echo -ne "\012" > $random.10.tmp - cat $random $random.10.tmp > $random.10 - echo -ne "\014" > $random.12.tmp - cat $random $random.12.tmp > $random.12 - echo -ne "\016" > $random.14.tmp - cat $random $random.14.tmp > $random.14 - echo -ne "\020" > $random.16.tmp - cat $random $random.16.tmp > $random.16 - echo -ne "\023" > $random.19.tmp - cat $random $random.19.tmp > $random.19 - - for i in 6 8 10 12 14 16 19; do - echo "Looking for 8x"$i"-fonts..." - for j in `find . -maxdepth 1 -type f -size $((i*=256))c`; - do - cat $random.$i $j > $j.psf - done - done - rm $random.* -else - exit 1 -fi diff -Nru console-tools-0.2.3/contrib/Makefile.am console-tools-0.2.3/contrib/Makefile.am --- console-tools-0.2.3/contrib/Makefile.am 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/contrib/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -# -*- makefile -*- - -AUTOMAKE_OPTIONS = foreign -INCLUDES = -I$(top_srcdir)/include - -bin_PROGRAMS = codepage splitfont - -bin_SCRIPTS = fix_bs_and_del font2psf -LDADD = ../lib/libctlocal.a ../lib/libctutils.la -noinst_SCRIPTS = cad - -EXTRA_DIST = README.cad \ - $(bin_SCRIPTS) $(noinst_SCRIPTS) diff -Nru console-tools-0.2.3/contrib/Makefile.in console-tools-0.2.3/contrib/Makefile.in --- console-tools-0.2.3/contrib/Makefile.in 1999-10-25 20:58:12.000000000 +0000 +++ console-tools-0.2.3/contrib/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,386 +0,0 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# -*- makefile -*- - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AS = @AS@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -COMPAT = @COMPAT@ -DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ -FONTDIR = @FONTDIR@ -GENCAT = @GENCAT@ -GMOFILES = @GMOFILES@ -GMSGFMT = @GMSGFMT@ -GT_NO = @GT_NO@ -GT_YES = @GT_YES@ -INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ -INSTOBJEXT = @INSTOBJEXT@ -INTLDEPS = @INTLDEPS@ -INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -KEYCODES = @KEYCODES@ -KEYMAPDIR = @KEYMAPDIR@ -LD = @LD@ -LEX = @LEX@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LOADKEYS = @LOADKEYS@ -MAKEINFO = @MAKEINFO@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -NM = @NM@ -OBJDUMP = @OBJDUMP@ -PACKAGE = @PACKAGE@ -POFILES = @POFILES@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -RESIZECONS = @RESIZECONS@ -TRANSDIR = @TRANSDIR@ -UNICODEDATA = @UNICODEDATA@ -UNICODELISTS = @UNICODELISTS@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -VIDEOMODEDIR = @VIDEOMODEDIR@ -YACC = @YACC@ -l = @l@ -translit = @translit@ - -AUTOMAKE_OPTIONS = foreign -INCLUDES = -I$(top_srcdir)/include - -bin_PROGRAMS = codepage splitfont - -bin_SCRIPTS = fix_bs_and_del font2psf -LDADD = ../lib/libctlocal.a ../lib/libctutils.la -noinst_SCRIPTS = cad - -EXTRA_DIST = README.cad $(bin_SCRIPTS) $(noinst_SCRIPTS) - -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = -PROGRAMS = $(bin_PROGRAMS) - - -DEFS = @DEFS@ -I. -I$(srcdir) -I.. -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -codepage_SOURCES = codepage.c -codepage_OBJECTS = codepage.o -codepage_LDADD = $(LDADD) -codepage_DEPENDENCIES = ../lib/libctlocal.a ../lib/libctutils.la -codepage_LDFLAGS = -splitfont_SOURCES = splitfont.c -splitfont_OBJECTS = splitfont.o -splitfont_LDADD = $(LDADD) -splitfont_DEPENDENCIES = ../lib/libctlocal.a ../lib/libctutils.la -splitfont_LDFLAGS = -SCRIPTS = $(bin_SCRIPTS) $(noinst_SCRIPTS) - -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -DIST_COMMON = Makefile.am Makefile.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -SOURCES = codepage.c splitfont.c -OBJECTS = codepage.o splitfont.o - -all: all-redirect -.SUFFIXES: -.SUFFIXES: .S .c .lo .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps contrib/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -mostlyclean-binPROGRAMS: - -clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) - -distclean-binPROGRAMS: - -maintainer-clean-binPROGRAMS: - -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - if test -f $$p; then \ - echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ - $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - list='$(bin_PROGRAMS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ - done - -.c.o: - $(COMPILE) -c $< - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< - -mostlyclean-compile: - -rm -f *.o core *.core - -clean-compile: - -distclean-compile: - -rm -f *.tab.c - -maintainer-clean-compile: - -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -maintainer-clean-libtool: - -codepage: $(codepage_OBJECTS) $(codepage_DEPENDENCIES) - @rm -f codepage - $(LINK) $(codepage_LDFLAGS) $(codepage_OBJECTS) $(codepage_LDADD) $(LIBS) - -splitfont: $(splitfont_OBJECTS) $(splitfont_DEPENDENCIES) - @rm -f splitfont - $(LINK) $(splitfont_LDFLAGS) $(splitfont_OBJECTS) $(splitfont_LDADD) $(LIBS) - -install-binSCRIPTS: $(bin_SCRIPTS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(bin_SCRIPTS)'; for p in $$list; do \ - if test -f $$p; then \ - echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \ - $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \ - else if test -f $(srcdir)/$$p; then \ - echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \ - $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \ - else :; fi; fi; \ - done - -uninstall-binSCRIPTS: - @$(NORMAL_UNINSTALL) - list='$(bin_SCRIPTS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) - -mostlyclean-tags: - -clean-tags: - -distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = contrib - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - -info-am: -info: info-am -dvi-am: -dvi: dvi-am -check-am: all-am -check: check-am -installcheck-am: -installcheck: installcheck-am -install-exec-am: install-binPROGRAMS install-binSCRIPTS -install-exec: install-exec-am - -install-data-am: -install-data: install-data-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS -uninstall: uninstall-am -all-am: Makefile $(PROGRAMS) $(SCRIPTS) -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(bindir) - - -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: -mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \ - mostlyclean-libtool mostlyclean-tags \ - mostlyclean-generic - -mostlyclean: mostlyclean-am - -clean-am: clean-binPROGRAMS clean-compile clean-libtool clean-tags \ - clean-generic mostlyclean-am - -clean: clean-am - -distclean-am: distclean-binPROGRAMS distclean-compile distclean-libtool \ - distclean-tags distclean-generic clean-am - -rm -f libtool - -distclean: distclean-am - -maintainer-clean-am: maintainer-clean-binPROGRAMS \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-tags maintainer-clean-generic \ - distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-am - -.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ -maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ -mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool uninstall-binSCRIPTS \ -install-binSCRIPTS tags mostlyclean-tags distclean-tags clean-tags \ -maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \ -installcheck-am installcheck install-exec-am install-exec \ -install-data-am install-data install-am install uninstall-am uninstall \ -all-redirect all-am all installdirs mostlyclean-generic \ -distclean-generic clean-generic maintainer-clean-generic clean \ -mostlyclean distclean maintainer-clean - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru console-tools-0.2.3/contrib/README.cad console-tools-0.2.3/contrib/README.cad --- console-tools-0.2.3/contrib/README.cad 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/contrib/README.cad 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ - -cad is a simple program to handle Cntrl Alt Delete in an enviroment -where there may be remote logins. It give the remote users time to -finish up before shutting down. - - -usage: -In /etc/inittab cadd the lines - -# What to do at the "Three Finger Salute". -ca::ctrlaltdel:openvt -sw /sbin/cad - - -If you already have a ca: line, comment it out with a # - -Jon. diff -Nru console-tools-0.2.3/contrib/splitfont.c console-tools-0.2.3/contrib/splitfont.c --- console-tools-0.2.3/contrib/splitfont.c 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/contrib/splitfont.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,93 +0,0 @@ -/* splitfont: extract characters from font */ -/* this is for iso fonts, no psf header, just 256 characters */ - -#include -#include -#include -#include - -void -dosplit (int from, int to, char *fontbuf, int size, char *fontfile) { - int itemsize = size/256; - int i, fd; - char *p, *q, s; - char filename[4096]; - - if (from < 0 || from > 255 || to < 0 || to > 255) { - fprintf(stderr, "splitfont: bad argument %s,%s\n", - from, to); - exit(1); - } - if(strlen(fontfile) >= sizeof(filename)-4) { - fprintf(stderr, "splitfont: ridiculously long name\n"); - exit(1); - } - while (from <= to) { - sprintf(filename, "%s.%02x", fontfile, from); - if ((fd = open(filename, O_WRONLY|O_CREAT, 0666)) < 0) { - perror("splitfont"); - fprintf(stderr, "cannot open %s for writing\n", filename); - } - p = &fontbuf[from*itemsize]; - if (write(fd, p, itemsize) != itemsize) { - perror("splitfont"); - fprintf(stderr, "error writing %s\n", filename); - } - close(fd); - from++; - } -} - -int main(int argc, char **argv) { - struct stat statbuf; - char fontbuf[4096]; - int fd; - char *p, *q; - int from, to; - - if (argc != 3) { - fprintf(stderr, "call: splitfont fontfile 17,23-30,...\n"); - exit(1); - } - if (stat(argv[1], &statbuf)) { - perror("splitfont"); - fprintf(stderr, "cannot stat fontfile %s", argv[1]); - exit(1); - } - if (statbuf.st_size > 4096) { - fprintf(stderr, "splitfont: file unexpectedly large\n"); - exit(1); - } - if (statbuf.st_size % 256) { - fprintf(stderr, "splitfont: file size not a multiple of 256\n"); - exit(1); - } - if ((fd = open(argv[1], O_RDONLY)) < 0) { - perror("splitfont"); - fprintf(stderr, "cannot open fontfile %s", argv[1]); - exit(1); - } - if (read(fd, fontbuf, statbuf.st_size) != statbuf.st_size) { - perror("splitfont"); - fprintf(stderr, "error reading fontfile %s", argv[1]); - exit(1); - } - - p = argv[2]; - while(1) { - to = from = strtoul(p,&q,0); - if(*q == '-') { - p = q+1; - to = strtoul(p,&q,0); - } - if(*q && *q != ',') { - fprintf(stderr, "splitfont: garbage in %s\n", p); - exit(1); - } - dosplit(from, to, fontbuf, statbuf.st_size, argv[1]); - if (!*q) - break; - p = q+1; - } - return 0; -} diff -Nru console-tools-0.2.3/COPYING console-tools-0.2.3/COPYING --- console-tools-0.2.3/COPYING 1999-10-25 20:49:49.000000000 +0000 +++ console-tools-0.2.3/COPYING 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -This is console-tools-0.2.3. - -The programs in this package may be copied under the terms of the GNU General -Public Licence, version 2. - -They were written by several people, and integrate work from many many -others. See the CREDITS file for details. diff -Nru console-tools-0.2.3/COPYING.kbd console-tools-0.2.3/COPYING.kbd --- console-tools-0.2.3/COPYING.kbd 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/COPYING.kbd 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -The files - dumpkeys.c loadkeys.y analyze.l ksyms.c ksyms.h - showkey.c keymaps.5 loadkeys.1 dumpkeys.1 showkey.1 -are Copyright (C) 1993 Risto Kankkunen. - -The files - setfont.c setfont.8 mapscrn.c mapscrn.8 -(and changes to loadkeys.y) -are Copyright (C) 1993 Eugene G. Crosser. - -The files - psfaddtable.c psfgettable.c psfstriptable.c - psfaddtable.1 psfgettable.1 psfstriptable.1 -are Copyright (C) 1994 H. Peter Anvin. - -The files - chvt.c clrunimap.c deallocvt.c fgconsole.c findfile.c - getfd.c getkeycodes.c getunimap.c kbd_mode.c loadunimap.c - resizecons.c screendump.c setkeycodes.c setleds.c - setmetamode.c setvesablank.c showfont.c spawn_console.c - spawn_login.c - chvt.1 deallocvt.1 kbd_mode.1 setleds.1 setmetamode.1 - getkeycodes.8 loadunimap.8 resizecons.8 setkeycodes.8 - kbd.FAQ.* -(and changes to earlier mentioned programs) -are Copyright (C) 1994-1998 Andries E. Brouwer. - -All files in this package may be freely copied under the terms -of the GNU General Public License (GPL), version 2, or at your -option any later version - except possibly for the restrictions -mentioned in the directory consolefonts. diff -Nru console-tools-0.2.3/CREDITS console-tools-0.2.3/CREDITS --- console-tools-0.2.3/CREDITS 1999-10-25 20:50:05.000000000 +0000 +++ console-tools-0.2.3/CREDITS 1970-01-01 00:00:00.000000000 +0000 @@ -1,114 +0,0 @@ -This is at least a partial credits-file of people that have -contributed to the Linux console subsystems, including tools and -drivers. - -You are encouraged to contact me about any -incorrect/missing info for this file. - -The format of this file was shamelessly stolen from the CREDITS file -in the Linux kernel distribution. - -It is sorted by name and formatted to allow easy grepping and -beautification by scripts. The fields are: name (N), email (E), -web-address (W), PGP key ID and fingerprint (P), description (D), and -snail-mail address (S). - ----------- - -N: H. Peter Anvin. -E: hpa@transmeta.com -D: Original author of unicode support in the console driver. -D: Original author of psfaddtable, psfgettable, psfstriptable. -D: Some latin1 fonts - -N: Andries Brouwer -E: aeb@cwi.nl -D: Original author of several console utilities, and patches to others. -D: Keyboard and Console HOWTO. -D: Current maintainer of the kbd package (console-tools' ancestor) -S: Netherlands - -N: Lorenzo Cappelletti -E: lorencap@tin.it -D: Italian message catalog -S: Italy - -N: Eugene G. Crosser -E: crosser@average.org -D: Original author of setfont and mapscrn. -D: Kernel driver patches - -N: Yann Dirson -E: ydirson@multimania.com -W: http://www.multimania.com/ydirson/ -D: Current maintainer of the Linux Console Tools. -D: Introduced many bugs and several useful features in this code. -D: SFM fallback mechanism -S: France - -N: Ville Hallik -E: Ville.Hallik@mail.ee -D: Estonian keymaps -D: iso-8859-15 keymap encoding - -N: Joel Hoffman -E: joel@wam.umd.edu - -N: Jakub Jelinek -E: jj@sunsite.ms.mff.cuni.cz -S: Czech Republic ? - -N: Risto Kankkunen -D: Original author of dumpkeys and loadkeys - -N: Dmitry M. Klimoff -E: dmk@kosnet.ru -D: ru-ms.kmap, cp866-8x16.psf - -N: Ilya Ketris -E: ilya@gde.to -D: iso-8859-4 keysyms (fix), latvian keymaps, latin7.14.psf -D: Russian message catalog - -N: Birger Langkjer -E: birger.langkjer@image.dk -D: Danish message catalog - -N: Nicolás Lichtmaier -E: nick@debian.org -D: us-latin1 keymap - -N: Alastair McKinstry -E: amck@maths.tcd.ie -D: I18n of the console tools -D: ISO-8859-14 (latin8) data files and keysyms -D: Reading glibc (wg15) charmaps as ACMs -D: Misc patches - -N: Jiri Pavlovsky -E: pavlovsk@ff.cuni.cz -D: Czech message catalog -S: Czech Republic ? - -N: Edmund Rano -E: edmund@rano.demon.co.uk -D: Kernel patch for UTF8 selection on the console - -N: H. Turgut Uyar -E: uyar@cs.itu.edu.tr -D: turkish keymap - -N: Stanislav V. Voronyi -E: stas@esc.kharkov.com -D: Console driver hacker -D: Ukrainian fonts & maps - -N: Armin Wolfermann -E: armin@wolfermann.org -D: German message catalog - -N: Pavel Zaboj -D: Some latin2 fonts - ----------- -End of the Linux Console CREDITS file. diff -Nru console-tools-0.2.3/debian/source/format console-tools-0.2.3/debian/source/format --- console-tools-0.2.3/debian/source/format 2013-10-15 17:23:03.000000000 +0000 +++ console-tools-0.2.3/debian/source/format 2016-01-13 15:01:18.000000000 +0000 @@ -1 +1 @@ -3.0 (quilt) +3.0 (native) diff -Nru console-tools-0.2.3/doc/contrib/as400.kbd console-tools-0.2.3/doc/contrib/as400.kbd --- console-tools-0.2.3/doc/contrib/as400.kbd 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/contrib/as400.kbd 1970-01-01 00:00:00.000000000 +0000 @@ -1,628 +0,0 @@ -Edward Flottwell wrote the following -about his kernel patch for allowing the kernel to work with an -adapted AS400 keyboard. - -(In fact no kernel patch is required - the utility setkeycodes will do. -But the technical info below might be useful for somebody.) -----aeb - -"Keyboard.c patch for IBM Keyboards" (Aug 9, 20:04): - -> The last 2 Weekends I spent on hacking a little bit in the keyboard code to -> make a keyboard from a IBM AS400 Terminal work with LinuX. It's a very nice -> piece of hardware, 122 keys and 2 kg :-), mostly used in Banks and -> Companies. I got mine from a bank service company for 10 Marks (aprox. -> 7.5$). -> -> The patch against keyboard.c from 1.3.15 and a README is following: -> -> --------------------------------schnipp----------------------------------- - ---- keyboard.1.3.15.orig Wed Aug 9 12:51:28 1995 -+++ keyboard.c Wed Aug 9 13:11:56 1995 -@@ -39,6 +39,11 @@ - #define KBD_REPORT_ERR - #define KBD_REPORT_UNKN - /* #define KBD_IS_FOCUS_9000 */ -+/* #define KBD_IS_IBM_AS400 */ -+ -+/* When using an original IBM AS_400 Keyboard you should enable both -+ * KBD_IS_FOCUS_9000 and KBD_IS_IBM_AS400 -+ */ - - #ifndef KBD_DEFMODE - #define KBD_DEFMODE ((1 << VC_REPEAT) | (1 << VC_META)) -@@ -228,6 +233,29 @@ - - #define E1_PAUSE 119 - -+#ifdef KBD_IS_IBM_AS400 -+#define E0_GR 105 -+#define E0_SIGN 43 -+#define E0_LINE 108 -+#define IBM_PF9 112 -+#define IBM_PF10 113 -+#define IBM_PF11 114 -+#define IBM_PF12 115 -+#define IBM_PF13 116 -+#define IBM_PF14 117 -+#define IBM_PF15 118 -+#define IBM_PF16 120 -+#define IBM_PF17 121 -+#define IBM_PF18 122 -+#define IBM_PF19 123 -+#define IBM_PF20 124 -+#define IBM_PF21 125 -+#define IBM_PF22 126 -+#define IBM_PF23 127 -+#define IBM_PF24 119 -+#endif -+ -+ - /* - * The keycodes below are randomly located in 89-95,112-118,120-127. - * They could be thrown away (and all occurrences below replaced by 0), -@@ -262,6 +290,7 @@ - #define RGN3 126 - #define RGN4 127 - -+#ifndef KBD_IS_IBM_AS400 - static unsigned char high_keys[128 - SC_LIM] = { - RGN1, RGN2, RGN3, RGN4, 0, 0, 0, /* 0x59-0x5f */ - 0, 0, 0, 0, 0, 0, 0, 0, /* 0x60-0x67 */ -@@ -270,6 +299,20 @@ - FOCUS_PF4, FOCUS_PF5, FOCUS_PF6, FOCUS_PF7, /* 0x78-0x7b */ - FOCUS_PF8, JAP_86, FOCUS_PF10, 0 /* 0x7c-0x7f */ - }; -+#endif -+#ifdef KBD_IS_IBM_AS400 -+static unsigned char high_keys[128 - SC_LIM] = { -+ FOCUS_PF2, FOCUS_PF3, FOCUS_PF4, FOCUS_PF5, FOCUS_PF6, -+ FOCUS_PF7, FOCUS_PF8, /* 0x59-0x5f */ -+ IBM_PF9, IBM_PF10, IBM_PF11, IBM_PF12, -+ IBM_PF13, IBM_PF14, IBM_PF15, IBM_PF16, /* 0x60-0x67 */ -+ IBM_PF17, IBM_PF18, IBM_PF19, IBM_PF20, IBM_PF21, -+ IBM_PF22, IBM_PF23, E0_PGUP, /* 0x68-0x6f */ -+ E0_GR, E0_RCTRL, E0_RALT, 0, E0_SIGN, 0, IBM_PF24, E0_LINE, /* 0x70-0x77 */ -+ E0_UP, E0_DEL, E0_END, E0_INS, /* 0x78-0x7b */ -+ 0, E0_RIGHT, E0_PGDN, E0_HOME /* 0x7c-0x7f */ -+}; -+#endif - - /* BTC */ - #define E0_MACRO 112 - ---------------------------------schnipp----------------------------------- - -This is an explaining README. ( README.AS400 ) - ---------------------------------schnipp----------------------------------- - - Connecting and using a non standard IBM keyboard - - by - Edward von Flottwell - edward@mudhoney.mitropa.com - -If you would like to use an old IBM 122-key AS400 Terminal keyboard with Linux, -you should to do some small things: - -1. Get your 'new' keyboard from a recycling company. - If you haven't done this already :-) -2. Solder a new 5pin DIN Connector instead of the RJ/??? Plug to the wire. -3. Patch the kernel and build an new one. -4. Load a new keymap and fit it to your needs. - -I hope you managed the first step - so I'll continue with the second one: -Get a keyboard connector from your nearest electronic-shop, cut off the -original plug and you will hopefully find 4 colored wires: black, red, -yellow and white. Connect them in the following way with the DIN Plug: - - Wire Signal DIN ___ - Black +5V 4 / 3 \ Soldering - White GND 2 (2 4) View - Red Data 3 \1^5/ - Yellow Clock 1 - -BUT BE VERY CAREFUL!!! Connecting the wrong signals can damage or blow up -your keyboard or your mainboard! The table above comes with NO warranty, -because I don't believe IBM always use the same type of cable :-} -You should open the keyboard and trace the wires to find the matching out. -And you should consult your mainboard for the keyboard-plug layout! - -Now you're ready to switch on the computer... Some mainboard bioses will -produce a keyboard error. You can ignore this :-) BTW the F1 key is the -very left of the function-key group near the tabulator key. -O.K., now you can try to type something, e.g. LILO: linux :-) -You will find out that some keys are swapped, others are dead. To make all -of the keys work apply the kernel-patch to -/usr/src/linux/drivers/char/keyboard.c and comment the lines with - -/* #define KBD_IS_FOCUS_9000 */ -/* #define KBD_IS_IBM_AS400 */ - -out. Recompile and install the new kernel. - -Now you need the last missing part: the keymap. At the end of this README -you will find an example for German users. How to make it fit to your -national keyboard is explained in the Keystroke-HOWTO. Most other questions -about keymaps, scancodes,... are explained there, too. -I would also suggest you read the manpages of showkey and loadkeys. -Don't forget to load the keymap every time you boot, -I prefer the rc.local shellscript doing this for me :-) - -The keymap: - -# -# File: AS400.map -# - -keycode 0 = -keycode 1 = Escape Escape - alt keycode 1 = Meta_Escape - shift alt keycode 1 = Meta_Escape - -keycode 2 = one exclam - alt keycode 2 = Meta_one - shift alt keycode 2 = Meta_exclam - -keycode 3 = two quotedbl twosuperior - control keycode 3 = nul - alt keycode 3 = Meta_two - shift alt keycode 3 = Meta_quotedbl - -keycode 4 = three section threesuperior - control keycode 4 = Escape - alt keycode 4 = Meta_three - -keycode 5 = four dollar dollar - control keycode 5 = Control_backslash - alt keycode 5 = Meta_four - shift alt keycode 5 = Meta_dollar - -keycode 6 = five percent - control keycode 6 = Control_bracketright - alt keycode 6 = Meta_five - shift alt keycode 6 = Meta_percent - -keycode 7 = six ampersand - control keycode 7 = Control_asciicircum - alt keycode 7 = Meta_six - shift alt keycode 7 = Meta_ampersand - -keycode 8 = seven slash braceleft - control keycode 8 = Control_underscore - alt keycode 8 = Meta_seven - shift alt keycode 8 = Meta_slash - -keycode 9 = eight parenleft bracketleft - control keycode 9 = Delete - alt keycode 9 = Meta_eight - shift alt keycode 9 = Meta_parenleft - -keycode 10 = nine parenright bracketright - alt keycode 10 = Meta_nine - control altgr keycode 10 = Control_bracketright - shift alt keycode 10 = Meta_parenright - -keycode 11 = zero equal braceright - alt keycode 11 = Meta_zero - shift alt keycode 11 = Meta_equal - -keycode 12 = ssharp question backslash - control keycode 12 = Control_underscore - alt keycode 12 = Meta_minus - control altgr keycode 12 = Control_backslash - shift alt keycode 12 = Meta_question - alt altgr keycode 12 = Meta_backslash - -keycode 13 = apostrophe grave - alt keycode 13 = Meta_equal - shift alt keycode 13 = Meta_grave - -keycode 14 = Delete Delete - alt keycode 14 = Meta_Delete - -keycode 15 = Tab Tab - alt keycode 15 = Meta_Tab - -keycode 16 = q - altgr keycode 16 = at - control keycode 16 = Control_q - alt keycode 16 = Meta_q - shift alt keycode 16 = Meta_Q - altgr alt keycode 16 = Meta_at - -keycode 17 = w - control keycode 17 = Control_w - alt keycode 17 = Meta_w - shift alt keycode 17 = Meta_W - -keycode 18 = e - control keycode 18 = Control_e - alt keycode 18 = Meta_e - shift alt keycode 18 = Meta_E - -keycode 19 = r - control keycode 19 = Control_r - alt keycode 19 = Meta_r - shift alt keycode 19 = Meta_R - -keycode 20 = t - control keycode 20 = Control_t - alt keycode 20 = Meta_t - shift alt keycode 20 = Meta_T - -keycode 21 = z - control keycode 21 = Control_z - alt keycode 21 = Meta_z - shift alt keycode 21 = Meta_Z - -keycode 22 = u - control keycode 22 = Control_u - alt keycode 22 = Meta_u - shift alt keycode 22 = Meta_U - -keycode 23 = i - alt keycode 23 = Meta_i - shift alt keycode 23 = Meta_I - -keycode 24 = o - control keycode 24 = Control_o - alt keycode 24 = Meta_o - shift alt keycode 24 = Meta_O - -keycode 25 = p - control keycode 25 = Control_p - alt keycode 25 = Meta_p - shift alt keycode 25 = Meta_P - -keycode 26 = +udiaeresis +Udiaeresis - control keycode 26 = Escape - alt keycode 26 = Meta_bracketleft - shift alt keycode 26 = Meta_braceleft - -keycode 27 = plus asterisk asciitilde - control keycode 27 = Control_bracketright - alt keycode 27 = Meta_bracketright - shift alt keycode 27 = Meta_braceright - -keycode 28 = Return - alt keycode 28 = 0x080d - -keycode 29 = Caps_Lock - -keycode 30 = a - control keycode 30 = Control_a - alt keycode 30 = Meta_a - shift alt keycode 30 = Meta_A - -keycode 31 = s - control keycode 31 = Control_s - alt keycode 31 = Meta_s - shift alt keycode 31 = Meta_S - -keycode 32 = d - control keycode 32 = Control_d - alt keycode 32 = Meta_d - shift alt keycode 32 = Meta_D - -keycode 33 = f - control keycode 33 = Control_f - alt keycode 33 = Meta_f - shift alt keycode 33 = Meta_F - -keycode 34 = g - control keycode 34 = Control_g - alt keycode 34 = Meta_g - shift alt keycode 34 = Meta_G - -keycode 35 = h - alt keycode 35 = Meta_h - shift alt keycode 35 = Meta_H - -keycode 36 = j - alt keycode 36 = Meta_j - shift alt keycode 36 = Meta_J - -keycode 37 = k - control keycode 37 = Control_k - alt keycode 37 = Meta_k - shift alt keycode 37 = Meta_K - -keycode 38 = l - control keycode 38 = Control_l - alt keycode 38 = Meta_l - shift alt keycode 38 = Meta_L - -keycode 39 = +odiaeresis +Odiaeresis - alt keycode 39 = Meta_semicolon - shift alt keycode 39 = Meta_colon - shift keycode 39 = Odiaeresis - -keycode 40 = +adiaeresis +Adiaeresis - control keycode 40 = Control_g - alt keycode 40 = Meta_apostrophe - shift alt keycode 40 = Meta_quotedbl - -keycode 41 = asciicircum degree - control keycode 41 = nul - alt keycode 41 = Meta_grave - shift alt keycode 41 = Meta_asciitilde - -keycode 42 = Shift - -keycode 43 = numbersign apostrophe - control keycode 43 = Control_backslash - alt keycode 43 = Meta_backslash - shift alt keycode 43 = Meta_apostrophe - -keycode 44 = y - control keycode 44 = Control_y - alt keycode 44 = Meta_y - shift alt keycode 44 = Meta_Y - -keycode 45 = x - control keycode 45 = Control_x - alt keycode 45 = Meta_x - shift alt keycode 45 = Meta_X - -keycode 46 = c - control keycode 46 = Control_c - alt keycode 46 = Meta_c - shift alt keycode 46 = Meta_C - -keycode 47 = v - control keycode 47 = Control_v - alt keycode 47 = Meta_v - shift alt keycode 47 = Meta_V - -keycode 48 = b - control keycode 48 = Control_b - alt keycode 48 = Meta_b - shift alt keycode 48 = Meta_B - -keycode 49 = n - control keycode 49 = Control_n - alt keycode 49 = Meta_n - shift alt keycode 49 = Meta_N - -keycode 50 = m - altgr keycode 50 = mu - control keycode 50 = Control_m - alt keycode 50 = Meta_m - shift alt keycode 50 = Meta_M - -keycode 51 = comma semicolon - alt keycode 51 = Meta_comma - alt shift keycode 51 = Meta_semicolon - -keycode 52 = period colon - alt keycode 52 = Meta_period - alt shift keycode 21 = Meta_colon - -keycode 53 = minus underscore - control keycode 53 = Delete - alt keycode 53 = Meta_slash - shift control keycode 53 = Control_underscore - -keycode 54 = Shift - -keycode 55 = KP_Multiply - -keycode 56 = Control - -keycode 57 = space space - control keycode 57 = nul - alt keycode 57 = Meta_space - -keycode 58 = Control - -keycode 59 = Escape Escape - alt keycode 1 = Meta_Escape - shift alt keycode 1 = Meta_Escape - -keycode 60 = Control_z - -keycode 61 = - -keycode 62 = Last_Console - -keycode 63 = Control_a - -keycode 64 = Up - -keycode 65 = Control_backslash - control keycode 99 = Control_backslash - alt keycode 99 = Control_backslash - -keycode 66 = Control_c - -keycode 67 = Control_q - -keycode 68 = Control_s - -keycode 69 = Num_Lock - -keycode 70 = Control_r - -keycode 71 = KP_7 - alt keycode 71 = Ascii_7 - -keycode 72 = KP_8 - alt keycode 72 = Ascii_8 - -keycode 73 = KP_9 - alt keycode 73 = Ascii_9 - -keycode 74 = KP_Subtract - -keycode 75 = KP_4 - alt keycode 75 = Ascii_4 - -keycode 76 = KP_5 - alt keycode 76 = Ascii_5 - -keycode 77 = KP_6 - alt keycode 77 = Ascii_6 - -keycode 78 = KP_Enter - -keycode 79 = KP_1 - alt keycode 79 = Ascii_1 - -keycode 80 = KP_2 - alt keycode 80 = Ascii_2 - -keycode 81 = KP_3 - alt keycode 81 = Ascii_3 - -keycode 82 = KP_0 - alt keycode 82 = Ascii_0 - -keycode 83 = KP_Comma - altgr control keycode 83 = Boot - control alt keycode 83 = Boot - -keycode 84 = slash - -keycode 85 = Down - -keycode 86 = Left - -keycode 87 = F11 F11 Console_23 - control keycode 87 = F11 - alt keycode 87 = Console_11 - control alt keycode 87 = Console_11 - -keycode 88 = F1 F11 Console_13 - control keycode 88 = F1 - alt keycode 88 = Console_1 - control alt keycode 88 = Console_1 - -keycode 89 = F2 F12 Console_14 - control keycode 89 = F2 - alt keycode 89 = Console_2 - control alt keycode 89 = Console_2 - -keycode 90 = F3 F13 Console_15 - control keycode 90 = F3 - alt keycode 90 = Console_3 - control alt keycode 90 = Console_3 - -keycode 91 = F4 F14 Console_16 - control keycode 91 = F4 - alt keycode 91 = Console_4 - control alt keycode 91 = Console_4 - -keycode 92 = F5 F15 Console_17 - control keycode 92 = F5 - alt keycode 92 = Console_5 - control alt keycode 92 = Console_5 - -keycode 93 = F6 F16 Console_18 - control keycode 93 = F6 - alt keycode 93 = Console_6 - control alt keycode 93 = Console_6 - -keycode 94 = F7 F17 Console_19 - control keycode 94 = F7 - alt keycode 94 = Console_7 - control alt keycode 94 = Console_7 - -keycode 95 = F8 F18 Console_20 - control keycode 95 = F8 - alt keycode 95 = Console_8 - control alt keycode 95 = Console_8 - -keycode 96 = KP_Enter - -keycode 97 = Alt - -keycode 98 = KP_Divide - -keycode 99 = - -keycode 100 = AltGr - -keycode 101 = Break - -keycode 102 = Find - -keycode 103 = Up - -keycode 104 = Prior - shift keycode 104 = Scroll_Backward - -keycode 105 = less greater bar - alt keycode 86 = Meta_less - shift alt keycode 86 = Meta_greater - altgr alt keycode 86 = Meta_bar - -keycode 106 = Right - -keycode 107 = Select - -keycode 108 = F25 - -keycode 109 = Next - shift keycode 109 = Scroll_Forward - -keycode 110 = Insert - -keycode 111 = Remove - altgr control keycode 111 = Boot - control alt keycode 111 = Boot - -keycode 112 = F9 -keycode 113 = F10 -keycode 114 = F11 -keycode 115 = F12 -keycode 116 = Console_1 -keycode 117 = Console_2 -keycode 118 = Console_3 -keycode 119 = -keycode 120 = Console_4 -keycode 121 = Console_5 -keycode 122 = Console_6 -keycode 123 = Console_7 -keycode 124 = Console_8 -keycode 125 = F21 -keycode 126 = F22 -keycode 127 = F23 - -# mom -string F1 = "\033[[A" -string F2 = "\033[[B" -string F3 = "\033[[C" -string F4 = "\033[[D" -string F5 = "\033[[E" -string F6 = "\033[17~" -string F7 = "\033[18~" -string F8 = "\033[19~" -string F9 = "\033[20~" -string F10 = "\033[21~" -string F11 = "\033[23~" -string F12 = "\033[24~" -string F13 = "\033[25~" -string F14 = "\033[26~" -string F15 = "\033[28~" -string F16 = "\033[29~" -string F17 = "\033[31~" -string F18 = "\033[32~" -string F19 = "\033[33~" -string F20 = "\033[34~" -string Find = "\033[1~" -string Insert = "\033[2~" -string Remove = "\033[3~" -string Select = "\033[4~" -string Prior = "\033[5~" -string Next = "\033[6~" -string F21 = "" -string F22 = "" -string F23 = "" -string F24 = "" -string F25 = "" -string F26 = "" - - diff -Nru console-tools-0.2.3/doc/contrib/cirrus.videomodes console-tools-0.2.3/doc/contrib/cirrus.videomodes --- console-tools-0.2.3/doc/contrib/cirrus.videomodes 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/contrib/cirrus.videomodes 1970-01-01 00:00:00.000000000 +0000 @@ -1,56 +0,0 @@ -Date: Wed, 23 Nov 1994 09:14:14 +0000 -From: iek@arrc.salf.ac.uk (Ian King) -To: aeb@cwi.nl -Subject: kbd 0.89, source of more fonts and cirrus logic mode database - -Firstly thanks for the current (0.89?) kbd package. The resize -program is great especially when combined with the kernel patch -on sunsite that provides extra vga modes ;-) I enclose the saved mode -files I have generated for my generic cirrus logic card at the bottom -of this file (boy do they compress well 22k to 650bytes ;-) You -mentioned collecting a database of files for various cards in the -resize.c source code, feel free to include these as they take a while -to generate and save, esp when you include the kernel rebuild. - -Obviously I cannot guarantee they will work, but they do for me. With -of course disclaimers about exploding monitors and VGA cards. - -Secondly, something you could mention in the consolefonts documentation -is that 200 more fonts are available from any simtel mirror. The file -.../whatever_simtel20/screen/fntcol16.zip which contains hundreds of public -domain PC fonts all that work with setfont directly with no conversion -required (you can even make a VC look like a windowless mac ;-) The only -problem is that the /usr/lib/kbd/consolefonts directory becomes a mess. -I have divided mine up into f16, f14, f12, ... f8 subdirectories to make -things easier. Fortunately all the files in fntcol16 have .f?? extensions -which makes things much easier. - -Ian - -------------------------------------------------------------------- -Modes included in cl-gd5428-vlb-generic.tar.gz - - 80x25 80x28 80x30 80x36 80x40 80x44 80x50 -132x25 132x28 132x30 132x36 132x40 132x44 132x50 132x60 - -begin 664 cl-gd5428-vlb-generic.tar.gz -M'XL("(;"SRX" W9I9&UO9&5S+G1A<@#MVCU/%$$ ^W %0:)2W#C<_KX4) N4G_SF=A"4/$H4&VB"QTJG -M7R04E^D38[AA,6<6>OA@X_9Z'+/U7F_C3[_WMY\?T=YO/MM\\>Y+Q%8FZM[' -M>?:V_JH3O?[\@8V,5L:.3?NM"Q/L -M\=VIQ1N=ZY/%@Z^"C;#S?NM$.V/_XO\G_ ^)?^V,?RDD+_P+ -M^+>Z_XO5VL2/;/]?8O]+YE\ZM/\JZ>^_AG^K^[\T'IRYA_TOI7_ISOY+$H5_ -M?/ZWN_]=SZ]M8?_+Z%^YL_]2)_WS/X=_J_X7//_$--[_E]&_=L8_$5<2_O_' -M^3_U?VH;Y_^RU>(#O_X_E'^C\_L_+?'^WTHW5U:?7GM2W/^?7,WW?S9Z\^DW -M_R%K5/?XCU/_=_;X#S/_:_O\-\'K2/AO.>2?N,[]$][_V?6_'(3G;N7W__!? -M+O^#OOX_S.=_GB2%_P3^+?HO[O]G[N?G_]F#SO\'^-^!_^'PKYWQ3T90OY,G+__Q_Z7R[]T:/]):5'XE_!O=?^7QH,FQ_Z7T;]TQC\98U3N -M7^']G_7]G^+8_Q+Z5^[L/Y$R_?U7\&_5_X+GG][&^W^$$$(((8000@@AA! : -+EGX!=[;,B0!0 #Z - -end - - - diff -Nru console-tools-0.2.3/doc/contrib/console.docs console-tools-0.2.3/doc/contrib/console.docs --- console-tools-0.2.3/doc/contrib/console.docs 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/contrib/console.docs 1970-01-01 00:00:00.000000000 +0000 @@ -1,394 +0,0 @@ -Path: cwi.nl!sun4nl!EU.net!news.sprintlink.net!sunic!sunic.sunet.se!news.funet.fi!news.helsinki.fi!usenet -From: Peter Jones -Newsgroups: comp.os.linux.announce -Subject: Linux Console Terminal Documentation -Followup-To: comp.os.linux.misc -Date: Sat, 30 Sep 95 16:37:05 GMT -Organization: ? -Lines: 331 -Approved: linux-announce@news.ornl.gov (Lars Wirzenius) -Message-ID: -NNTP-Posting-Host: kruuna.helsinki.fi -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit - ------BEGIN PGP SIGNED MESSAGE----- - -I thought I'd do "something" for the Linux community (apart from -co-authoring drealmBBS :-)). - -So, here's my first (and maybe only) issue of the Linux Console Driver -documentation. Anyone wanting to take this on as a support task, feel -free - I _really_ don't have time to keep up with new 1.3.x kernels. - -- -- Peter - -Linux Console Driver -==================== -==================== -(Everything you ever wanted to know but couldn't be bothered to look in the -source for.) - -Author: Peter L Jones -~Date: Wed Sep 27 19:12:25 BST 1995 -Kernel: 1.2.13 -Addendum for: 1.3.28 - - -General Processing -================== -I don't use UTF. I've only covered it to the extent I can fathom from the -source. - -I've not documented "hardware scrollback". - -In UTF mode, once a complete character is assembled, it is translated. - -Otherwise, the character then has its top bit set if requested and is then -translated. - -A glyph is to be displayed if - * we've assembled a complete UTF character - * we translated it okay - * it's not a control character, or we're displaying control - characters -Otherwise, it might be a control character. -Otherwise it's ignored. - - -Glyphs -====== -These are characters that make a mark on the display. - -You can never display the glyph for char(27) by transmitting ESC. - -You cannot display glyphs for any character in the Control Characters table, -unless enabled. - -If there is a "pending newline" - a crlf sequence is issued prior to the glyph. - -If we're in "insert mode", - the rest of the line is shifted right; the character in the - last column is lost. - -The glyph is then displayed. - -If the cursor is in the last column, - If automatic margins are turned on, - the "pending newline" state is set - otherwise, - the next glyph can overwrite this one. -Otherwise the cursor is advanced. - - -Control Characters -================== -Control characters can occur during ESCape sequence processing. - -^g bell - make a tone on the console speaker -^h bs - cursor to previous character (backspace) - (will not wrap to previous line) -^i tab - cursor to next tab position -^j ^k ^l lf - cursor to next line, scroll if end of scrolling region - (linefeed); if CRLF mode select, cr as well -^m cr - cursor to start of current line (carriage return) -^n charset 1, translate table G1, display control characters - as glyphs -^o charset 0, translate table G0, don't display control - characters as glyphs -{-- "charset" sets the current translate table; e.g. ^n sets charset -1, translate table G1, display control characters as glyphs - followed by -^[[10m would leave G1 in effect but disable display of control characters as -glyphs and display setting the top bit of glyphs --} - -^x ^z cancel any ESCape sequence in progress -^[ begin an ESCape sequence -^? "delete" - ignored -128+^[ begin a CSI sequence - - -ESCape Sequences -================ -^[[ begin a CSI sequence -^[% begin a UTF control sequence -^[( begin a set G0 sequence -^[) begin a set G1 sequence -^[# begin a DEC test sequence -^[E cr, lf -^[M ri - cursor up, reverse scroll if top of scrolling region - (reverse index) -^[D lf -^[H set tab in the current column -^[Z request for terminal ID (response is ^[[?6c - VT102) -^[7 store cursor position -^[8 restore cursor position -^[c reset terminal completely -^[> Keypad is numeric (normal) -^[= Keypad is application (act as function keys) - - -CSI sequences -============= - -There are two formats. Function keys are indicated by CSI [ and are dealt -with later. The general format is CSI (i.e. ^[[), zero to 16 parameters and -a character to indicate the function being performed. E.g ^[[1;43;37m. - -Missing parameters are defaulted. Screen co-ordinates and movements start -at and default to 1 (unless otherwise stated). Parameters are named par1, -par2 etc in the following descriptions. - -CSI h and CSI l can have an optional ? after the CSI and before any -parameters. This indicates "DEC Private" modes. {-- Other manufacturers -use different characters to select their private modes - Linux doesn't -support any but DEC. --} - -CSI h Set Mode sequence -CSI l Clear Mode sequence -CSI n Request report: - par1 = 5 - Status report: response is ^[[0n (terminal okay) - par1 = 6 - Cursor report: response is ^[[y;xR - where y is - relative if origin mode is selected -CSI A Cursor Up by par1 lines -CSI F Cursor Up by par1 lines, and to start of line -CSI B CSI e Cursor Down by par1 lines -CSI E Cursor Down by par1 lines, and to start of line -CSI C CSI a Cursor Right by par1 characters -CSI D Cursor Left by par1 characters -CSI d Set cursor vertical position to par1 -CSI G CSI ` Set cursor horizonal position to par1 -CSI H CSI f Set cursor vertical position to par2 and horizontal position - to par1 -CSI L Insert par1 lines -CSI M Delete par1 lines -CSI @ Insert par1 characters -CSI P Delete par1 characters -CSI X Erase par1 characters (wraps around line ends) -CSI J Screen Erase sequence: - par1 = 0 - erase from cursor to end of display - par1 = 1 - erase from start of display to cursor - par1 = 2 - erase whole display -CSI K Line Clear sequence: - par1 = 0 - erase from cursor to end of line - par1 = 1 - erase from start of line to cursor - par1 = 2 - erase whole line -CSI c If par1 = 0 (default), requests terminal ID - (response is ^[[?6c - VT102) -CSI g Clear tabs: - par1 = 0 - Clears tab at the current column - par1 = 3 - Clears all tabs -CSI q Set LEDs = par1 indicates which LED to turn on - - 0 - none, 1 - , 2 - , 3 - . -CSI r Set scrolling region - par1 - top, default and minimum 1, must be less than par2 - par2 - bottom, default and maximum end of display -CSI s Store cursor position -CSI u Restore cursor position -CSI m Character Rendition sequence -CSI ] setterm(1) command sequence - - -Set and Clear Mode Sequences -- ---------------------------- -CSI h sets modes; CSI l clears modes. There are two sets of modes - -ANSI standard and DEC private. - -ANSI modes: -3 Monitor (display control characters) -4 Insert -20 CRLF - -DEC modes: -1 Cursor keys as application keys (send ^[Ox as appl, ^[[x as normal) -3 80 (off) or 132 (on) columns -5 Inverse video -6 Origin mode (and go to origin) -7 Autowrap (right margin) -8 Autorepeat -9 Mouse reports #1 -25 Cursor visible -1000 Mouse reports #2 - - -Character Rendition Sequences -- ----------------------------- -Each parameter is actioned in order. You cannot get bright backgrounds -(rather, I can't). {-- On SVR4, attribute code 6 is used for bright -background, if I remember correctly --} - -0 default (intensity normal, underline off, blink off, normal video, - default colours (which start as white on black)) -1 intensity bold -2 intensity dim -4 underline on -5 blink on -7 reverse video -10 restore translate table, turn off display of control chars, don't - set the "top" bit of glyphs displayed -11 disable the translate table, display control chars as glyphs, don't - set the "top" bit of glyphs displayed -12 disable the translate table, display control chars as glyphs, - set the "top" bit of glyphs displayed -21 22 intensity normal -24 underline off -25 blink off -27 normal video -38 underline on, set foreground colour to default -39 underline off, set foreground colour to default -49 set background colour to default -30-37 set foreground colour (0-black, 1-red, 2-green, 3-brown, 4-blue, - 5-magenta, 6-cyan, 7-white) -40-47 set background colour - - -Setterm Commmand Sequences -- -------------------------- -The command is in par1, followed by parameters. - -1 Set underline colour - par2 is 0 to 15, which is 0 to 7 as above, - plus bold versions -2 Set dim colour - par2 as above -8 Store current attributes as defaults (so that CSI 0 m restores to - them) -9 Set blanking interval to par2 minutes (max one hour) - - -UTF Control Sequences -===================== -^[%@ Turn off UTF -^[%G ^[%8 Turn on UTF (^[%8 is deprecated) - - -G0/G1 Sequences -=============== -There are two character sets, known as G0 and G1. G0 is the default -character set. Each can be set to one of four mappings. The mappings, and -the sequences to select them, are: - - G0 G1 Map Name -- ---- ---- --- ---- -^[(B ^[)B 0 Normal Map (default G0 map) -^[(0 ^[)0 1 Graphics Map (default G1 map) -^[(U ^[)U 2 Null Map -^[(K ^[)K 3 User Map - -The maps themselves are defined in "consolemap.c". "Normal Map" translates -the standard IBM PC ROM character set to standard 8-bit ISO Latin-1. -"Graphics Map" translates to the VT100 character set in graphics mode. -"Null Map" passed the ROM characters straight through, except BS, CR, LF, -LL, SO, SI and ESC. "User Map" is available to be changed in the source or -by mapscrn(8). - - -DEC Test Sequences -================== -Only one test, ^[#8, is defined. This fills the display with the character -'E' to allow the display to be centred. - - -Addendum -======== -The console driver changed in 1.3.x. This documents the changes between -1.2.13 and 1.3.28. - -Each virtual console gains a palette, which defines the actual colours used -on the display (so you can get yellow rather than brown, for example). - -Font support is enhanced. - -In addition to ESC, some other control characters cannot have their glyphs -displayed - ^@ ^H ^J ^L ^M ^N ^O ^[. - -Hardware scrollback has been enhanced. - -The "Normal Map" has been renamed "Latin 1 Map" (LAT1_MAP). - -UTF support has been enhanced. - -(UTF mode can be used to display the excluded control characters - display -UTF character 0xF0cc, where cc is the hex code of the position in the ROM -character set to display.) - -A new set of Nonstandard Sequences is defined, prefixed by ESC ]. (setterm -commands are still CSI ].) - -Colour palette support is added. - -512 byte font support is added. - -Font height support allows the screen to resize to fit the font. - -Nonstandard Sequences -- --------------------- -^[]P Set palette - Seven parameters are collected - par1 is the palette element to redefine - par2, par3 set the red component - par4, par5 set the green component - par6, par7 set the blue component -^[]R Resets the default palette - - -- -- -Send comp.os.linux.announce submissions to: linux-announce@news.ornl.gov -PLEASE remember a short description of the software. - ------BEGIN PGP SIGNATURE----- -Version: 2.6.2i - -iQCVAwUBMG1wkYQRll5MupLRAQHZRgP+IdvvxOk6svo5Gum8wY31vtyILGYuadRU -rj84hrUAgvKZG3iaz+MOikx5PIcbxXA4LlfpPLkq9EfyT9sDJfEPYI8w+9I8bbvB -a0G1vpDCG8WbC+G3vwVMK0fnySFjhru4JaXHCTeagUzGLXVFqD4JhWbuXkhQH08f -9jt/ZgNgaB4= -=m2ca ------END PGP SIGNATURE----- - -Path: cwi.nl!sun4nl!EU.net!news.sprintlink.net!tank.news.pipex.net!pipex!dispatch.news.demon.net!demon!mail2news.demon.co.uk!drealm.demon.co.uk -From: Peter Jones -Newsgroups: comp.os.linux.misc -Subject: Re: Linux Console Terminal Documentation -Date: 30 Sep 1995 20:12:27 +0100 -Organization: drealm conference system +44 (0)181 568 2204 -Lines: 35 -Message-ID: <44k4qr$6aj@drealm.drealm.org> -References: -X-NNTP-Posting-Host: drealm.demon.co.uk -X-Newsreader: TIN [version 1.2 PL2] - -I (thanatos@drealm.org) wrote, in col-announce: -[chop chop] -: Nonstandard Sequences -: - --------------------- -: ^[]P Set palette -: Seven parameters are collected -: par1 is the palette element to redefine -: par2, par3 set the red component -: par4, par5 set the green component -: par6, par7 set the blue component -: ^[]R Resets the default palette - - -This should read (i.e. it makes sense...) like this: - -Nonstandard Sequences ---------------------- -^[]P Set palette - Seven hex digits should follow (0-9, a-f, A-F): - 1 is the palette element to redefine - 2*16 + 3 set the red component - 4*16 + 5 set the green component - 6*16 + 7 set the blue component -^[]R Resets the default palette - - -Hope that helps... - -(One day my "other" linux box (crash-n-burn...) will have colour...) - --- Peter --- -Drealm Conference System -- (+44) 181 568 2204 (V.FC) -The home of drealmBBS -------- six lines -- live chat - diff -Nru console-tools-0.2.3/doc/contrib/keysyms.h.txt console-tools-0.2.3/doc/contrib/keysyms.h.txt --- console-tools-0.2.3/doc/contrib/keysyms.h.txt 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/contrib/keysyms.h.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,9 +0,0 @@ -jrv@vanzandt.mv.com (Jim Van Zandt) writes: - -I have found that I can construct the definitions of -the keysyms with the command - -dumpkeys --long-info | awk '/^0x0000/, /^$/ { - if(/^$/) exit; - printf("#define KS_%-22s %s\n", $2, $1); -}' >keysyms.h diff -Nru console-tools-0.2.3/doc/contrib/LISEZMOI.Euro console-tools-0.2.3/doc/contrib/LISEZMOI.Euro --- console-tools-0.2.3/doc/contrib/LISEZMOI.Euro 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/contrib/LISEZMOI.Euro 1970-01-01 00:00:00.000000000 +0000 @@ -1,168 +0,0 @@ - EURO PACK pour Linux, version 1.3 - ********************************* - Copyright (c) 1998, Guylhem AZNAR , GPL - - -0. CONTENU -********** - -Vous trouverez ici : -* fr-latin0.map : table de clavier Français-Latin0 pour linux-console -* fr-latin0.xmod : table de clavier Français-Latin0 pour X11-xmodmap -* fr-latin0 : table de clavier Français-Latin0 pour X11-xkb -* other-latin0.map : table de clavier Latin0 générique pour linux-console -* other-latin0.xmod : table de clavier Latin0 générique pour X11-xmodmap -* des fichiers .psf : polices Latin0 pour linux-console -* des fichiers .bdf : polices Latin0 pour X11 -* deux fichiers .gif pour expliquer visuellement les petites différences -entre le latin0 & le latin1, compatibles à 99% - -1. COMMENT S'EN SERVIR -********************** - -1.1 SOUS LINUX-CONSOLE -********************** - -Taper par exemple pour lat0-16.psf (ou un autre psf) : - - setfont ./lat0-16.psf - -Si vous avez un clavier AZERTY français : - - loadkeys ./fr-latin0.map - -Sinon : - - loadkeys ./other-latin0.map - - -1.1.1 SPÉCIFIQUEMENT AU CLAVIER AZERTY FRANÇAIS -*********************************************** - -Ça y est, vous pouvez taper du texte latin0 sous linux en mode console ! -Seules 2 touches ont été modifiées : - - * carré : sert à oe liés & OE liés, en AltGr on trouve les guillemets qui -sont normalement directement accessibles - - * dollar / livre / symbole monnaitaire international : étant donné que -nôtre monnaie principale est *L'EURO* et non le dollar, cette touche sert -désormais à l'euro & aux cents. - -Le dollar & la livre, très utiles quand même, sont disponibles en AltGr. -Le symbole monnaitaire international ayant disparu de la norme latin0, il -n'est plus disponible. - -1.1.2 POUR LES AUTRES CLAVIERS -****************************** - -L'euro & les cents ont été rajoutés respectivement en AltGr (e) & en AltGr (c) -La touche AltGr a donc été rajoutée ; pour utiliser ces fonctions avec -toute table de clavier, il suffit de charger other-latin0.map après vôtre -table nationale. - -1.1.3 DANS LES DEUX CAS -*********************** - -Home, End, Delete, Backspace ont été corrigés & les touches « windows » ont -été correctement définies, pour passer d'une console virtuelle à l'autre. - -Des « composes », séquences à préfixer par la touche compose (SysReq) ont -étés rajoutés, mais cela reste transparent pour l'utilisateur. - -Par exemple: - COMPOSE ^ (s,S,z,Z) sert à obtenir les lettres finlandaises rajoutées - COMPOSE " (y,Y) sert à obtenir les y trémas franço-néerlandais rajoutés - COMPOSE - (e,c,l,y) sert à obtenir l'euro, le cent, la livre, le yen - -1.2 SOUS X11 -************ - -Sous root cette fois, taper par exemple pour Xlat0-10x20.pcf (ou un autre pcf) : - - bdftopcf Xlat0-10x20.pcf > Xlat0-10x20-lat0.pcf - gzip Xlat0-10x20-lat0.pcf - mv Xlat0-10x20-lat0.pcf.gz /usr/X11R6/lib/X11/fonts/misc - mkfontdir /usr/X11R6/lib/X11/fonts/misc - -1.2.1 SPÉCIFIQUEMENT AU CLAVIER AZERTY FRANÇAIS -*********************************************** - -Pour utiliser xkb (solution recommandée) : - - cp fr-latin0 /usr/X11R6/lib/X11/xkb/symbols - -Sinon, en utilisant xmodmap : - - cp fr-latin0.xmod /usr/X11R6/lib/X11/xinit/Xmodmap - cp fr-latin0.xmod ~/.Xmodmap - -Puis éditer votre XF86Config pour y rajouter dans la section « Keyboard » : - - XkbKeycodes "xfree86" - XkbRules "xfree86" - XkbTypes "default" - XkbCompat "default" - XkbSymbols "fr-latin0(pc102)" - XkbGeometry "pc(pc102)" - XkbModel "pc102" - -1.2.2 POUR LES AUTRES CLAVIERS -****************************** - -La seule solution est d'utiliser xmodmap, avec xkb chargeant votre table de -clavier nationale : - - cp other-latin0.xmod /usr/X11R6/lib/X11/xinit/Xmodmap - cp other-latin0.xmod ~/.Xmodmap - cp other-latin0.xmod ~/.Xmodmap - -ou en faisant tout avec xmodmap, en supposant que vous ayez déjà un -~/.Xmodmap qui fonctionne bien : - - cat other-latin0.xmod >> /usr/X11R6/lib/X11/xinit/Xmodmap - cat other-latin0.xmod >> ~/.Xmodmap - -1.2.3 DANS LES DEUX CAS -*********************** - -De là, redémarrer X ou taper : - - xset +fp /usr/X11R6/lib/X11/fonts/misc - -Si vous utilisez xmodmap, lancez : - - xmodmap ~/.Xmodmap - -Pour choisir les polices latin0, lancer xfontsel et chercher les encodages -iso8859-15. - -Plus simplement, taper : - - grep Xlat0-10x20-lat0.pcf /usr/X11R6/lib/X11/fonts/misc/fonts* - -Puis utiliser le second paramètre comme nom de police, par exemple avec -xiterm ou rxvt : - - xiterm -fn -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-15 - -2. RÉACTIONS -************ - -Je suis bien entendu intéressé par toutes vos réactions, positives ou -négatives. - -Certaines modification peuvent vous sembler très importante (l'Euro -remplaçant le dollar mis en AltGr, ou les oe liés à la place des -guillemets) mais, hélas!, il n'y a guère de possibilitées pour rajouter -tous les symboles européens sur nos claviers déjà normalisés. - -J'ai essayé de procéder avec la plus grande transparence possible, en -privilégiant l'ergonomie de la majorité des utilisateurs, mais je suis -pourtant conscient que AltGr Euro= dollar va par exemple beaucoup géner les -programmeurs. - -Signalez-moi vos bugs & dites-moi si vous êtes satisfaits de mon travail ! - - Guylhem Aznar - ou diff -Nru console-tools-0.2.3/doc/contrib/README.Crosser console-tools-0.2.3/doc/contrib/README.Crosser --- console-tools-0.2.3/doc/contrib/README.Crosser 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/contrib/README.Crosser 1970-01-01 00:00:00.000000000 +0000 @@ -1,52 +0,0 @@ -# International console driver fixes for Linux kernel .99pl13 -# Eugene G. Crosser - -This package provide fixes in the kernel (console.c, keydoard.c and vt.c), -setfont and mapscrn utilities, and fixes to the loadkey utility. -setfont loads custom EGA/VGA fonts, mapscrn specifies screen output mapping, -and loadkeys with this fixes provides "AltGr-Lock" state of the keyboard, -and makes possible to specify which characters are alphabetic and therefore -should be affected by the CapsLock. - -make all - compile utilities and binary tables -make apply - apply cdiffs to the kernel code & .h files -make install - install utilities in the /etc directory - -Utilities make use of ioctl() entries added to the kernel as follows: - -"setfont" accepts binary font from the file specified as a paramter. -File size may be 2048, 3584 and 4096 bytes for 8x8, 8x14 and 8x16 -fonts respectively. - -"mapscrn" accepts a 256 byte translation table from the file specified as a -parameter and passes it to the "user definable" (fourth) mapping table -in the kernel. First 32 bytes of the file (control characters) are always -ignored. All screen output will be translated if a "\033(K" (or "\033)K") -sequence was outputted to select the "user definable" table. - -All this witchkraft with the output mapping is nesseccary because of -VGA architecture: it extends the character bitmap from 8 to 9 columns -for some interval of codes on the hardware level. This is appropriate -for certain graphic characters, but inappropriate if you have letters -in that place ot the character table. In the latter case, you can place -character bitmaps on not-extendable positions in the font table, and -use appropriate mapping table. This is done for Cyrillic character set -"koi8-r" (RFC1489). - -The fixes in loadkey utility are necessary because of two reasons. -First, non-Latin based character sets (such as Cyrillic) require a -special lock state for the keyboard. Current "shift-locks" implementation -in the keyboard driver is inconvenient, as it does not allow "switchback" -when the "shift" key is pressed while "shift-lock" is active. Second, -with non-ISO-8859 compliant character sets one cannot easily figure out -if a certain character is a "lowercase letter" and should therefore be -affected by CapsLock. A plus sign ('+') in front of the character -definition in the keymapping table is used to identify this character -as "affectable by CapsLock". Loadkeys utility treats lowercase latin -characters ('a'-'z') as affectable in any case. Effect of CapsLock is -to invert the "shift" state (unlike the original driver, where it always -"shifts up"). - -Note that if you need to make custom screen mapping default, you will -have to output the magic escape sequence ("\033(K" or "\033)K") to every -virtual screen in use. That can be done from /etc/profile. diff -Nru console-tools-0.2.3/doc/contrib/README.Euro console-tools-0.2.3/doc/contrib/README.Euro --- console-tools-0.2.3/doc/contrib/README.Euro 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/contrib/README.Euro 1970-01-01 00:00:00.000000000 +0000 @@ -1,117 +0,0 @@ - EURO PACK for Linux, version 1.3 - ******************************** - Copyright (c) 1998, Guylhem AZNAR , GPL - - -0. CONTENT -********** - -You will find here : -* fr-latin0.map : French-Latin0 keymap for linux-console -* fr-latin0.xmod : French-Latin0 keymap for X11-xmodmap -* fr-latin0 : French-Latin0 keymap for X11-xkb -* other-latin0.map : Generic Latin0 keymap for linux-console -* other-latin0.xmod : Generic Latin0 keymap for X11-xmodmap -* .psf files : Latin0 fonts for linux-console -* .bdf files : Latin0 fonts for X11 -* 2 .gif files to visually explain the few differences between latin0 & -latin1, 99% compatible. - -1. HOWTO -******** - -French AZERTY specific informations are only available in LISEZMOI, since -an heavy majority of AZERTY keyboards users are french speaking like me :) - -1.1 UNDER LINUX-CONSOLE -*********************** - -For example with lat0-16.psf (or another psf) : - - setfont ./lat0-16.psf - -Eventually reload your national keymap first, for example US users will type : - - loadkeys us.map - -While German users will type : - - loadkeys de.map - -Now load latin0 keymap : - - loadkeys ./other-latin0.map - -You can now input latin0 text under linux-console, provided that your shell -is 8bit clean, else please read Danish HOWTO. - -In order to support 8bit, Alt key right to your spacebar has been remapped -to AltGr, which will be used as a modifier like Shift : - - Press AltGr, press E, then release E and release AltGr : -you will output an euro currency symbol. - - You can do the same with C to output a cent, this is -notated AltGr (e) = euro & AltGr (c) = cent - -Home, End, Delete, Backspace have been corrected and "windows" keys have -been mapped to switch from a virtual console to another. - -Moreover, "compose" sequences have been added : just prefix a key with -compose key (SysReq) to output other latin0 chars, for example : - - SysReq (o) (e) will output oe ligature (for example german poet Goethe) - SysReq (") (Y) will output uppercase Y diaeresis (for french and dutch) - SysReq (/) (o) will output lowercase o slash (for danish and norwegian) - SysReq (^) (s) will output lowercase s reverse circumflex (for finnish) - SysReq (^) (Z) will output uppercase Z reverse circumflex (for finnish) - -1.2 UNDER X11 -************* - -As root, for example with Xlat0-10x20.pcf (or another pcf) please type : - - bdftopcf Xlat0-10x20.pcf > Xlat0-10x20-lat0.pcf - gzip Xlat0-10x20-lat0.pcf - mv Xlat0-10x20-lat0.pcf.gz /usr/X11R6/lib/X11/fonts/misc - mkfontdir /usr/X11R6/lib/X11/fonts/misc - -US and xkb X11 extensions users will type : - - cp other-latin0.xmod /usr/X11R6/lib/X11/xinit/Xmodmap - cp other-latin0.xmod ~/.Xmodmap - cp other-latin0.xmod ~/.Xmodmap - -While people who best like xmodmap or already have a working ~/.Xmodmap -will type : - - cat other-latin0.xmod >> /usr/X11R6/lib/X11/xinit/Xmodmap - cat other-latin0.xmod >> ~/.Xmodmap - -Then either restart X or type : - - xset +fp /usr/X11R6/lib/X11/fonts/misc - -And if xmodmap isn't automatically launched on startup, type : - - xmodmap ~/.Xmodmap - -To select Latin0 fonts, run xfontsel and look for iso8859-15 encodings. - -Or even simpler, just type : - - grep Xlat0-10x20-lat0.pcf /usr/X11R6/lib/X11/fonts/misc/fonts* - -Then use the second parameter as an argument for xiterm or rxvt font : - - xiterm -fn -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-15 - -2. FEEDBACK -*********** - -I am interested by all kind of feedback, either positive or negative. - -Please tell me eventual bugs you could find and if you appreciate my work ! - - Guylhem Aznar - or diff -Nru console-tools-0.2.3/doc/contrib/set_kbd_repeat console-tools-0.2.3/doc/contrib/set_kbd_repeat --- console-tools-0.2.3/doc/contrib/set_kbd_repeat 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/contrib/set_kbd_repeat 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ -From: johnsonm@stolaf.edu (Michael K. Johnson) -Subject: changing keyboard repeat rate. - -OK, I have gotten several requests for info on how to change the -keyboard repeat rate, so here goes. Note: I can't just give diffs, -because there are lots of options, and for heaven's sake it's only -three lines of code. - -In boot/setup.S, there are the lines: - -! set the keyboard repeat rate to the max - - mov ax,#0x0305 - mov bx,0x0000 - int 0x16 - -If you don't want to change the repeat rate at all, just comment out -these lines by prefacing them with !'s. If you want something in the -middle, change the - mov bx,0x0000 -to mov bx,0x???? -where ???? is determined by (from Ralf Brown's interrupt list) -bh = delay value (0x00 = 250 ms to 0x03 = 1000 ms (one second)) - this is the delay before the repeat starts happening -bl = repeat rate (0x00 = 30/sec to 0x0c = 10/sec [default] to 0x1f = 2/sec) - -I use mov bx,0x0006 -to delay 1/4 sec, then repeat at what I think is a comfortable rate. -I am too lazy to calculate the exact speed -- maybe 20/sec? ;-) - -Hope this helps people. - -michaelkjohnson -johnsonm@stolaf.edu Binary files /tmp/tmpayi9pl/v7Up8WiOl7/console-tools-0.2.3/doc/dvorak/ANSI-dvorak.gif and /tmp/tmpayi9pl/Fy8SctC1qL/console-tools-0.2.3/doc/dvorak/ANSI-dvorak.gif differ diff -Nru console-tools-0.2.3/doc/dvorak/dvorak.diffs console-tools-0.2.3/doc/dvorak/dvorak.diffs --- console-tools-0.2.3/doc/dvorak/dvorak.diffs 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/dvorak/dvorak.diffs 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -The gif picture here shows a Mac keyboard with ANSI-dvorak layout. -This layout differs in three places from the dvorak layout: - -keycode 12: (us.map -_) dvorak [{ ANSI-dvorak ][ -keycode 13: (us.map =+) dvorak ]} ANSI-dvorak =+ -keycode 27: (us.map ]}) dvorak =+ ANSI-dvorak {} - -Of course ANSI-dvorak is illogical in that both parentheses -are shifted, the brackets are on one key with the closing -one unshifted, the braces are on one key with the opening -one unshifted. -The description given by Marcus Brooks in dvorak.txt -coincides completely with our dvorak.map. -================================================================== -The xmodmap file in dvorak-l.xmodmap differs from dvorak-l.map -in maybe 4 places: - -keycode 2: (us.map 1!) dvorak-l [{ dvorak-l.xmodmap =+ -keycode 3: (us.map 2@) dvorak-l ]} dvorak-l.xmodmap ][ -keycode 27: (us.map ]}) dvorak-l =+ dvorak-l.xmodmap }{ -keycode 14: (us.map ) dvorak-l dvorak-l.xmodmap \| -================================================================== -The xmodmap file in dvorak-r.xmodmap differs from dvorak-r.map -in maybe 4 places: - -keycode 12: (us.map -_) dvorak-r [{ dvorak-r.xmodmap ][ -keycode 13: (us.map =+) dvorak-r ]} dvorak-r.xmodmap =+ -keycode 27: (us.map ]}) dvorak-r =+ dvorak-r.xmodmap }{ -keycode 14: (us.map ) dvorak-r dvorak-r.xmodmap \| -================================================================== diff -Nru console-tools-0.2.3/doc/dvorak/dvorak-l.xmodmap console-tools-0.2.3/doc/dvorak/dvorak-l.xmodmap --- console-tools-0.2.3/doc/dvorak/dvorak-l.xmodmap 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/dvorak/dvorak-l.xmodmap 1970-01-01 00:00:00.000000000 +0000 @@ -1,92 +0,0 @@ -! -! left-handed keyboard -! -! Author: Jeff Bigler (jcb@mit.edu) -! Last modified: 1997/04/18 16:41:18 by jcb@mit.edu -! -! This file should be given as an argument to xmodmap to -! switch from a qwerty to a left-handed keyboard (designed -! for amputees and other people who type with only their -! left hand). -! -! The keyboard layout is: -! -! ~ + [ ? P F M L J $ # @ ! | -! ` = ] / p f m l j 4 3 2 1 \ -! -! : Q B Y U R S O > ^ % { -! ; q b y u r s o . 6 5 } -! -! _ K C D T H E A Z * & -! - k c d t h e a z 8 7 -! -! " X G V W N I < ) ( -! ' x g v w n i , 0 9 -! -! Note that Null translations have been included as -! comments. -! -! If you want to be easily able to switch the keyboard -! back to its previous state, first run xmodmap -pke and -! redirect the output to a file. Then you can switch back -! by giving that file as an argument to xmodmap. For -! example, if you type: -! -! xmodmap -pke > /tmp/keyboard.default -! -! before switching the keyboard, you can then type: -! -! xmodmap /tmp/keyboard.default -! -! to reset the keyboard to its previous state. -! -! Note that if you pass this file again as an argument to -! xmodmap, you will apply these translations a second time -! and come out with gibberish! -! -keysym 1 = equal plus -keysym 2 = bracketright bracketleft -keysym 3 = slash question -keysym 4 = p P -keysym 5 = f F -keysym 6 = m M -keysym 7 = l L -keysym 8 = j J -keysym 9 = 4 dollar -keysym 0 = 3 numbersign -keysym minus = 2 at -keysym equal = 1 exclam -keysym q = semicolon colon -keysym w = q Q -keysym e = b B -keysym r = y Y -keysym t = u U -keysym y = r R -keysym u = s S -keysym i = o O -keysym o = period greater -keysym p = 6 asciicircum -keysym bracketleft = 5 percent -keysym bracketright = braceright braceleft -keysym a = minus underscore -keysym s = k K -keysym d = c C -keysym f = d D -keysym g = t T -keysym h = h H -keysym j = e E -keysym k = a A -keysym l = z Z -keysym semicolon = 8 asterisk -keysym quoteright = 7 ampersand -keysym z = quoteright quotedbl -! keysym x = x X -keysym c = g G -! keysym v = v V -keysym b = w W -! keysym n = n N -keysym m = i I -! keysym comma = comma less -keysym period = 0 parenright -keysym slash = 9 parenleft - diff -Nru console-tools-0.2.3/doc/dvorak/dvorak-r.xmodmap console-tools-0.2.3/doc/dvorak/dvorak-r.xmodmap --- console-tools-0.2.3/doc/dvorak/dvorak-r.xmodmap 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/dvorak/dvorak-r.xmodmap 1970-01-01 00:00:00.000000000 +0000 @@ -1,92 +0,0 @@ -! -! right-handed keyboard -! -! Author: Jeff Bigler (jcb@mit.edu) -! Last modified: 1997/04/18 16:38:05 by jcb@mit.edu -! -! This file should be given as an argument to xmodmap to -! switch from a qwerty to a right-handed keyboard (designed -! for amputees and other people who type with only their -! right hand). -! -! The keyboard layout is: -! -! ~ ! @ # $ J L M F P ? [ + | -! ` 1 2 3 4 j l m f p / ] = \ -! -! % ^ Q > O R S U Y B : { -! 5 6 q . o r s u y b ; } -! -! & * Z A E H T D C K _ -! 7 8 z a e h t d c k - -! -! ( ) X < I N W V G " -! 9 0 x , i n w v g ' -! -! Note that Null translations have been included as -! comments. -! -! If you want to be easily able to switch the keyboard -! back to its previous state, first run xmodmap -pke and -! redirect the output to a file. Then you can switch back -! by giving that file as an argument to xmodmap. For -! example, if you type: -! -! xmodmap -pke > /tmp/keyboard.default -! -! before switching the keyboard, you can then type: -! -! xmodmap /tmp/keyboard.default -! -! to reset the keyboard to its previous state. -! -! Note that if you pass this file again as an argument to -! xmodmap, you will apply these translations a second time -! and come out with gibberish! -! -! keysym 1 = 1 exclam -! keysym 2 = 2 at -! keysym 3 = 3 numbersign -! keysym 4 = 4 dollar -keysym 5 = j J -keysym 6 = l L -keysym 7 = m M -keysym 8 = f F -keysym 9 = p P -keysym 0 = slash question -keysym minus = bracketright bracketleft -! keysym equal = equal plus -keysym q = 5 percent -keysym w = 6 asciicircum -keysym e = q Q -keysym r = period greater -keysym t = o O -keysym y = r R -keysym u = s S -keysym i = u U -keysym o = y Y -keysym p = b B -keysym bracketleft = semicolon colon -keysym bracketright = braceright braceleft -keysym a = 7 ampersand -keysym s = 8 asterisk -keysym d = z Z -keysym f = a A -keysym g = e E -keysym h = h H -keysym j = t T -keysym k = d D -keysym l = c C -keysym semicolon = k K -keysym quoteright = minus underscore -keysym z = 9 parenleft -keysym x = 0 parenright -keysym c = x X -keysym v = comma less -keysym b = i I -keysym n = n N -keysym m = w W -keysym comma = v V -keysym period = g G -keysym slash = quoteright quotedbl - diff -Nru console-tools-0.2.3/doc/dvorak/dvorak.txt console-tools-0.2.3/doc/dvorak/dvorak.txt --- console-tools-0.2.3/doc/dvorak/dvorak.txt 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/dvorak/dvorak.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ - - Dvorak Layout Diagram - - By request, here's a quick typographical representation of the Dvorak - keyboard layout. I never put this up before because when I created my - pages all (more like "both of") the other Dvorak pages had layout - pictures. For a prettier picture, try the Dvorak International Web - Page or The Dvorak Keyboard by Marcos Huerta. - -Shifted: - { } - " < > P Y F G C R L ? + - A O E U I D H T N S _ - : Q J K X B M W V Z - -Lowercase: - [ ] - ' , . p y f g c r l / = - a o e u i d h t n s - - ; q j k x b m w v z - - These are only the keys that change, plus "a" and "m", which have the - same positions in both QWERTY and Dvorak. This particular arrangement - is common to most Mac, DOS/Windows, and OS/2 Dvorak layouts, but it is - not strictly ANSI standard Dvorak. - - ANSI places both square brackets on the same key (requiring a shift - for one), omits curly brackets (which usually end up both on the same - key too), and leaves the +/= key on the topmost row. - - - Marcus Brooks -- 8 December 1996 diff -Nru console-tools-0.2.3/doc/dvorak/dvorak.xmodmap console-tools-0.2.3/doc/dvorak/dvorak.xmodmap --- console-tools-0.2.3/doc/dvorak/dvorak.xmodmap 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/dvorak/dvorak.xmodmap 1970-01-01 00:00:00.000000000 +0000 @@ -1,83 +0,0 @@ -! -! ANSI Dvorak keyboard -! -! Author: Jeff Bigler (jcb@mit.edu) -! Last modified: 1996/08/27 13:45:30 by jcb@mit.edu -! -! This file should be given as an argument to xmodmap to -! switch from a qwerty to a Dvorak keyboard. -! -! If you want to be easily able to switch the keyboard -! back to its previous state, first run xmodmap -pke and -! redirect the output to a file. Then you can switch back -! by giving that file as an argument to xmodmap. For -! example, if you type: -! -! xmodmap -pke > /tmp/keyboard.default -! -! before switching the keyboard, you can then type: -! -! xmodmap /tmp/keyboard.default -! -! to reset the keyboard to its previous state. -! -! Note that if you pass this file again as an argument to -! xmodmap, you will apply these translations a second time -! and come out with gibberish! -! -keysym q = quoteright quotedbl -keysym w = comma less -keysym e = period greater -keysym r = p P -keysym t = y Y -keysym y = f F -keysym u = g G -keysym i = c C -keysym o = r R -keysym p = l L -keysym bracketleft = slash question -keysym bracketright = equal plus -keysym a = a A -keysym s = o O -keysym d = e E -keysym f = u U -keysym g = i I -keysym h = d D -keysym j = h H -keysym k = t T -keysym l = n N -keysym semicolon = s S -keysym quoteright = minus underscore -keysym z = semicolon colon -keysym x = q Q -keysym c = j J -keysym v = k K -keysym b = x X -keysym n = b B -keysym m = m M -keysym comma = w W -keysym period = v V -keysym slash = z Z -! -! The keysyms for the top row have been moved to the end -! of the file (and translations that would normally have -! no effect are still included) because of conflicts with -! some of the extended keysyms on HP workstations. If the -! keysyms for the 8 and 9 keys are not defined explicitly -! *after* the keysyms for bracketleft and bracketright, -! they end up getting bound to "slash question" and "equal -! plus", respectively. -! -keysym 1 = 1 exclam -keysym 2 = 2 at -keysym 3 = 3 numbersign -keysym 4 = 4 dollar -keysym 5 = 5 percent -keysym 6 = 6 asciicircum -keysym 7 = 7 ampersand -keysym 8 = 8 asterisk -keysym 9 = 9 parenleft -keysym 0 = 0 parenright -keysym minus = bracketleft braceleft -keysym equal = bracketright braceright - diff -Nru console-tools-0.2.3/doc/file-formats/cp console-tools-0.2.3/doc/file-formats/cp --- console-tools-0.2.3/doc/file-formats/cp 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/file-formats/cp 1970-01-01 00:00:00.000000000 +0000 @@ -1,86 +0,0 @@ - The CP file-format - - (C) 1997 Yann Dirson - - - This file documents the CP font-file-format, as understood by version 0.94 -and above of the Linux console utilities ('kbd'). - - This file has revision number 1.0, and is dated 1997/09/02. - Any useful additionnal information on CP files would be great. - - -0. Changes - -1998/08/20: updated author's e-mail. - - -1. Summary - - CP files are usually generated by codepage(1) from MS-DOS CPI files. - - The CP file format is an awful thing. It was intended (IMHO) to be an easy -mean of using MS-DOS CPI font-files (see "cpi" file). They are generated by -the codepage(1) program, which just copies some headers from the CPI file, -without even changing a byte of their contents, and the font data -corresponding to a given code-page. - - Especially, the following things are erroneous: -- next_header_offset (should be 0, is only 0 for the last codepage in the CPI - file) -- font_offset (should be 53, which is even found in no MS-DOS-distributed - CPI, as they store all headers first, and then all font_data) - - setfont(1) assumes when reading them that contain fonts of heights 08, 14 -and 16, for one particular MS-DOS code-page, and wisely ignores the headers; -however, the only CP files that will be accepted by setfont(1) are those that -effectively contain the requested font sizes (setfont checks the file size -for this). - In particular, CP files generated by codepage(1) from MS-DOS' -{ega,ega2,ega3}.cpi should be OK. Those generated from iso.cpi WILL NOT, as -they will only contain size 16 (anyway, they won't be recognized as CP files -by setfont). - - -2. History - - Unknown. But this horror probably appeared with codepage(1). - - -3. Known programs understanding this file-format. - - The following program in the Linux console utilities can read and/or write -PSF files: - - setfont (R) - codepage (R/W) - - -4. Technical data - - The file format is described here in sort-of EBNF notation. Upper-case -WORDS represent terminal symbols, ie. C types; lower-case words represent -non-terminal symbols, ie. symbols defined in terms of other symbols. - [sym] is an optional symbol - {sym} is a symbol that can be repeated 0 or more times - {sym}*N is a symbol that must be repeated N times - Comments are introduced with a # sign. - - -# - -cp_file = -(off = 0) cp_entry_header -(off = 28) cp_info_header -(off = 34) cp_fontdata - - -# All refered symbols are defined in file "cpi" - - Invariants in headers of files usable by setfont provide a "magic": - -offset type value -6 short+char*8 "\001\000EGA " # driver - seems the best way to detect it -0 short 28 # header size \ -30 u_short 3 # nb of fonts -| these just provide more checks -32 u_short 9746 # size of font_data / diff -Nru console-tools-0.2.3/doc/file-formats/cpi console-tools-0.2.3/doc/file-formats/cpi --- console-tools-0.2.3/doc/file-formats/cpi 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/file-formats/cpi 1970-01-01 00:00:00.000000000 +0000 @@ -1,149 +0,0 @@ - The CPI file-format - - (C) 1997 Yann Dirson - - - This file documents the CPI font-file-format, as understood by version 0.94 -and above of the Linux console utilities ('kbd'). - - This file has revision number 1.0, and is dated 1997/09/02. - Any useful additionnal information on CPI files would be great. - - -0. Changes - -1998/08/20: updated author's e-mail. - - -1. Summary - - The CPI file format is used by MS-DOS to store its fonts. This description -comes from reverse-ingeneering on codepage(1), so it's very incomplete. Any -complement would be greatly appreciated. - - A CPI file contains fonts for several MS-DOS code-pages, each in possibly -several sizes (typically 08, 14, 16). Each of these fonts is designed for a -particular device, which can be either a screen or a printer device. - - There is also a DR-DOS CPI format, for which I have even less documentation. - - MS-DOS 6.22 provides the following CPI files containing screen (EGA) fonts: - - iso.cpi - ega.cpi - ega2.cpi - ega3.cpi - - The 3 latter files just contain selected codepages from the first one, in -sizes 08, 14 and 16, but the first one only contains size 16. - - -2. History - - Unknown. - - -3. Known programs understanding this file-format. - - The following program in the Linux console utilities can read and/or write -PSF files: - - codepage (R) - - -4. Technical data - - The file format is described here in sort-of EBNF notation. Upper-case -WORDS represent terminal symbols, ie. C types; lower-case words represent -non-terminal symbols, ie. symbols defined in terms of other symbols. - [sym] is an optional symbol - {sym} is a symbol that can be repeated 0 or more times - {sym}*N is a symbol that must be repeated N times - Comments are introduced with a # sign. - - - -# The data (U_SHORT's) are stored in LITTLE_ENDIAN byte order. - -ms_cpi_file = -(off = 0) ms_cpi_file_header -(off = 23) font_info_header -(off = 25) cp_entry_header -(off = 53) # chained data in no special order - -ms_cpi_file_header = -(off = 0) ms_cpi_id -(off = 8) font_res # ? -(off = 16) num_pointers # ? -(off = 18) p_type # ? -(off = 19) offset - (size = 23) - -ms_cpi_id = {CHAR}*8 = 0xFF "FONT " # cpi_id is a 8-bytes "magic number" string - (size = 8) -font_res = {CHAR}*8 - (size = 8) -num_pointers = U_SHORT - (size = 2) -p_type = CHAR - (size = 1) -offset = U_LONG - (size = 4) - -font_info_header = nb-codepages - (size = 2) - -nb-codepages = U_SHORT - (size = 2) - -# - -# The header's normal size is 28 bytes. However, it is said there happens to -# be 26-bytes headers. What happens in this case ? Is font_offset still valid ? -cp_entry_header = -(off = 0) cp_header_size -(off = 2) next_header_offset -(off = 6) device_type -(off = 8) device_name -(off = 16) cp_number -(off = 18) cp_res # ? -(off = 24) font_offset - (size = 28) - -cp_header_size = U_SHORT # size of the codepage_header - (size = 2) -next_header_offset = U_LONG - (size = 4) -device_type = U_SHORT = 1 | 2 # 1 = screen ; 2 = printer - (size = 2) -device_name = {CHAR}*8 # eg. "EGA " - (size = 8) -cp_number = U_SHORT - (size = 2) -cp_res = {CHAR}*6 - (size = 6) -font_offset = U_LONG - (size = 4) - -: cp_info_header cp_fontdata - -# - -cp_info_header = -(off = 0) U_SHORT # reserved -(off = 2) num_fonts -(off = 4) bitmap_size # size of font data (all sizes) - (size = 6) - -num_fonts = U_SHORT - (size = 2) -bitmap_size = U_SHORT # eg. for width=8 : 16->4102 08,14,16->9746 (!?) - (size = 2) - -cp_fontdata = {raw_fontdata} # font data for all sizes - -# - -raw_fontdata = {char_data}*256 - -char_data = {BYTE}* diff -Nru console-tools-0.2.3/doc/file-formats/psf console-tools-0.2.3/doc/file-formats/psf --- console-tools-0.2.3/doc/file-formats/psf 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/file-formats/psf 1970-01-01 00:00:00.000000000 +0000 @@ -1,102 +0,0 @@ - The PSF file-format - - (C) 1997 Yann Dirson - - - This file documents the PSF font-file-format, as understood by version 0.94 -and above of the Linux console utilities ('kbd'). This file makes obsolete -the old `psffile.doc'. - - This file has revision number 1.1, and is dated 1998/04/20. - Any useful additionnal information on PSF files would be great. - - -0. Changes: - -1998/08/20: updated author's e-mail. -1998/08/20: History of the format from hpa himself. -1998/08/20: Fixed `filemode' description from hpa's input. - - -1. Summary - - PSF stands for PC Screen Font. - - A PSF file basically contains one character-font, whose width is 8 pixels, -ie. each scanline in a character occupies 1 byte. - - It may contain characters of any height between 0 and 255, though character -heights lower than 8 or greater than 32 are not attested to exist or even be -useful [more info needed on this]. - - Fonts can contain either 256 or 512 characters. - - The file can optionnally contain a unicode mapping-table, telling, for each -character in the font, which UCS2 characters it can be used to display. - - The "file mode" byte controls font size (256/512) and whether file contains -a unicode mapping table. - - -2. History - - The PSF file format was designed by H. Peter Anvin - in 1989 or so for his DOS screen font editor, -FONTEDIT.EXE. When he became involved with Linux, he used it for the -Linux font stuff he worked with, released a binary of FONTEDIT.EXE for -free distribution, and added the Unicode table to the spec. - - -3. Known programs understanding this file-format. - - The following program in the Linux console utilities can read and/or write -PSF files: - - setfont (R/W) - psfaddtable (R/W) - psfstriptable (R/W) - psfgettable (R) - - -4. Technical data - - The file format is described here in sort-of EBNF notation. Upper-case -WORDS represent terminal symbols, ie. C types; lower-case words represent -non-terminal symbols, ie. symbols defined in terms of other symbols. - [sym] is an optional symbol - {sym} is a symbol that can be repeated 0 or more times - {sym}*N is a symbol that must be repeated N times - Comments are introduced with a # sign. - - -# The data (U_SHORT's) are stored in LITTLE_ENDIAN byte order. - -psf_file = psf_header - raw_fontdata - [unicode_data] - - -psf_header = CHAR = 0x36 CHAR = 0x04 # magic number - filemode - fontheight - -fontheight = CHAR # measured in scan lines -filemode = CHAR # 0 : 256 characters, no unicode_data - # 1 : 512 characters, no unicode_data - # 2 : 256 characters, with unicode_data - # 3 : 512 characters, with unicode_data - -# - -raw_fontdata = {char_data}* - -char_data = {BYTE}* - -# - -unicode_data = { unicode_array psf_separator }* - -unicode_array = { unicode } # any necessary number of times - -unicode = U_SHORT # UCS2 code -psf_separator = unicode = 0xFFFF diff -Nru console-tools-0.2.3/doc/file-formats/raw console-tools-0.2.3/doc/file-formats/raw --- console-tools-0.2.3/doc/file-formats/raw 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/file-formats/raw 1970-01-01 00:00:00.000000000 +0000 @@ -1,70 +0,0 @@ - The RAW file-format - - (C) 1997 Yann Dirson - - - This file documents the RAW font-file-format, as understood by the Linux -console utilities ('kbd'). - - This file has revision number 1.0, and is dated 1997/09/02. - - -0. Changes - -1998/08/20: updated author's e-mail. - - -1. Summary - - A RAW file only contains one 8-pixels-wide 256-characters font, ie. each -scanline in a character occupies 1 byte. - - It may contain characters of any height between 0 and 255, though character -heights lower than 8 or greater than 32 are not attested to exist or even be -useful [more info needed on this]; the file's size is used to determine the -font's height when reading it. - - WARNING: no program can reliably ensure a file it reads is in this format; -it can only recognize when the file's size makes it obvious it is not. Thus -some files can be wrongly assumed to be raw font-files. For this reason, you -are strongly encouraged to use other formats, like PSF, which can be -identified by magic-number. - - -2. History - - Unknown. This file-format probably cannot evolve. - - -3. Known programs understanding this file-format. - - The following program in the Linux console utilities can read and/or write -RAW files: - - setfont (R/W) - - -4. Technical data - - The file format is described here in sort-of EBNF notation. Upper-case -WORDS represent terminal symbols, ie. C types; lower-case words represent -non-terminal symbols, ie. symbols defined in terms of other symbols. - [sym] is an optional symbol - {sym} is a symbol that can be repeated 0 or more times - {sym}*N is a symbol that must be repeated N times - Comments are introduced with a # sign. - - -# The data (U_SHORT's) are stored in LITTLE_ENDIAN byte order. - -raw_file = raw_fontdata - -raw_fontdata = {char_data}*256 - -char_data = {BYTE}* - -# This makes the file have a size of 256* bytes; thus only files -# whose size has 0 as less significant byte can be interpreted as a raw font. -# One might even want to extend these lower 8 bits to 10 (resp. 11) to ensure -# that no file is wrongly assumed to be a (quite rare!) less-than-4 (resp. 8) -# scanlines font. diff -Nru console-tools-0.2.3/doc/file-formats/TMPL console-tools-0.2.3/doc/file-formats/TMPL --- console-tools-0.2.3/doc/file-formats/TMPL 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/file-formats/TMPL 1970-01-01 00:00:00.000000000 +0000 @@ -1,44 +0,0 @@ - The @XXX@ file-format - - (C) 1997 Yann Dirson - - - This file documents the @XXX@ font-file-format, as understood by version 0.94 -and above of the Linux console utilities ('kbd'). - - This file has revision number 1.0, and is dated XXXX/XX/XX. - Any useful additionnal information on @XXX@ files would be great. - - -0. Changes - - -1. Summary - - -2. History - - Unknown. - - -3. Known programs understanding this file-format. - - The following program in the Linux console utilities can read and/or write -PSF files: - - setfont (R/W) - - -4. Technical data - - The file format is described here in sort-of EBNF notation. Upper-case -WORDS represent terminal symbols, ie. C types; lower-case words represent -non-terminal symbols, ie. symbols defined in terms of other symbols. - [sym] is an optional symbol - {sym} is a symbol that can be repeated 0 or more times - {sym}*N is a symbol that must be repeated N times - Comments are introduced with a # sign. - -# - -# YET TO BE WRITTEN diff -Nru console-tools-0.2.3/doc/file-formats/xpsf.draft console-tools-0.2.3/doc/file-formats/xpsf.draft --- console-tools-0.2.3/doc/file-formats/xpsf.draft 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/file-formats/xpsf.draft 1970-01-01 00:00:00.000000000 +0000 @@ -1,354 +0,0 @@ - - eXtended PC Font Format (xpsf) -- draft specifications - ====================================================== - - (C) 1997,98 Yann Dirson - - -IMPORTANT NOTICE: - - This document is a draft for a file-format. Please do not use it -yet to implement any software. You may do what you want with it -according to the GPL, version 2, except from redistributing a modified -version with the same name without permission. - - -0. Changes - -1998/08/10: replaced version-based compatibility mechanism with bitfields - as suggested by hpa. -1998/08/10: reduced size of section-id from u16 to u8. -1998/08/10: compressed syntax description by using type definitions inside - structure definitions. -1998/08/10: added section for copyright and license. -1998/08/10: fixed section-ids: obsolete xpsf_console_override_map was - still allocated. -1998/08/10: mentionned VGA pseudo-9bit-wide characters. -1998/08/10: proposed a 4-byte magic. -1998/08/10: don't allow a glyph to have no UTF8 mapping. -1998/08/10: use UTF8 instead of UCS2 to describe glyphs. -1998/08/06: `=' in the description grammar was ambiguous - replaced one of - the 2 meanings with `:'. -1998/08/06: changed how integer types are named. -1998/08/06: added note that virtual fonts may not be necessary. -1998/04/20: updated author's e-mail. -1998/04/20: changed ref from libconsole to libcfont. -1998/04/20: suggested more width for magic. -1998/04/20: changed section name from xpsf_font_data to xpsf_fixed_font_data. -1998/04/20: minor clarifications. -1997/09/27: removed console-maps sections - I finally understand what they - are for. -1997/09/04: initial draft release. - - -1. Summary - - The future XPSF format is intended to be a replacement for all -current font-file formats used with the console utilities ('kbd' and -`console-tools'). For this, it should have all features from PSF, -cpi, and cp file-formats, and more. - - Among these: - -a * Should have a magic number for easy file-format identification. -b * Should be easily extendable (esp. should feature file-format version nb), - while remaining as readable as possible for any program knowning of an old - version. If however the file could be misinterpreted by a program not - knowing about the new features, there should be a mean to warn the program. -b2* Similarly, backward compatibility has to be ensured, but the existence in - older version of the file-format of obsolete section-types should not force - a new program to support these obsolete sections. -c * Multiple font-sizes (both in height and width) in one file. -d * Unicode-Glyph map shared by all contained font-sizes. -e * File-format should be machine-independant. -f * Allow more than UCS2 for unimap (eg. UCS4). -g * File format should be described by a sort of context-free grammar (ie. no - chained data). -h * All sections of a file should tell their length, in order to skip them - easily. -i * Font-size specific unicode-map overrides, for cases where eg. some - characters are (hopefully temporarily) not available at one size). -j * Maybe provide virtual fonts support, to avoid character-description - duplication. For example, building individual isoXX/codepages by mapping - them into a larger font with a custom encoding will save the storage place - needed by all those duplicated characters. This one may not be necessary, - and may be dropped in the final spec. -k * Provide enough info, whatever redundant, to allow just-sufficient - malloc's while reading. -l * Make it possible to use VGA pseudo-9bit fonts. -m * Copyright and redistribution info MUST be included. Too many fonts are - available on the net without such information, and are thus legally unusable. - - Functions to manipulate files in the XPSF format will be included in -libcfont. Tools to handle them and convert to/from XPSF will be provided -with the console utilities. - - As soon as these draft specs seems sufficent, file-format version number -will be incremented to 1, and implementation will start. - - -2. Possible solutions. - -a * Suggest variation on PSF magic number (which is 0x36 0x04). A 4-byte magic - will lower the risk of misinterpreting random data as XPSF. - 0x36 0x05 0x84 0xBF seems unassigned. - -b * Extendability can be achieved through file sectionning, with identifiers - on sections telling their contents. Upward readability can be achieved by - additionnaly providing the length of each header and associated data part - at the very start of each header; backward compatibility will also use - header length. - - Features will be listed in this specification, classified in 2 - groups: features whose lack cause incompatibility, and features whose - lack still allows read-only compatibility. Each of them will be - allocated a bit in a fileheader bitfield (one bitfield for each - group). Each file will have to declare, in its bitfields, which of - these features it uses. - When a reader does not support a feature in the second group (R/O - compatibility), it will know that it can read the file, at the expense - of not understanding all of the info in it (it should then not attempt - to modify the file), but will still correctly understand the infos it - could read. - When a reader does not support a feature in the first group, it - will know that even when attempting to read the stuff it thinks it - could understand, it would mis-interpret them because of the missing - feature. - Bitfields won't be included in the whole, but for each, the useful width - in bytes will be specified, followed by the declared number of least signifant - bytes of the field. With only a byte to declare a length, that leaves 256*8 - = 2048 possible bits, which should be more than we'll ever need. - -b2* Each section-type may become obsolete at any time; when it occurs it - should be documented in a special section of the XPSF specs, telling the - first version of the specs when the section was made obsolete. Then any XPSF - file which declares to comply with a given file-format will not feature any - obsolete section-type. - Then the reading program will be allowed not to implement obsolete - features, but the mechanism described above will allow to detect old files - that should not be read. - -c * Multiple font-sizes can be included as multiple sections of the - "font-data" type, which will include information on size (both height and - width, as some system may allow widths different from 8). - -d * Unicode mapping can be described in specific sections. Each font_data - section will have references to the corresponding map in the file. This - will even allow multiple maps in one file, FWIW. - -e * Machine-independance: use XDR for output ? Study the problem of - header/data length then. Or just use little-endian for numbers ? - -f * UCS2, as shown in the PSF format, causes some waste of space for - common encodings, mainly due to the fact that we need to use 0xFFFF as - a separator. Using UTF8 to describe the mappings will allow to use - only 0xFF as a separator. The ASCII set will give us a small benefit - too, being encoded in 1 byte instead of 2, and most widly-used chars - will stay on 2 bytes (latin, cyrillic, arabic, hebrew...), only more - exotic chars will take one more byte. This will also make it possible - to use chars outside of the Basic Multilingal Plane (ie. UCS2). - -g * No problem. - -h * see `b'. - -i * Can be defined as a section refering to the map to be overriden, and - containing a list of override entries. - -j * A 1st step will be to provide virtual mapping into a single font - (possibly larger). The virtual-font section will provide a reference to a - single font-file, and an array of size of character-positions - telling for each fontpos in the virtual font, in which fontpos the - corresponding glyph should be found. The virtual-font section should be - handled by programs as as-many font-data sections that the target font-file - contains, using the relevant font_height and font_width. - To save space and have some flexibility, the references to the target - characters will be allowed in several sizes ; the chosen size will be - specified in the section as the number of bits. It is expected that this - size will be a power of 2 compatible with available computers (ie., in - 1997: 8, 16, 32), but this is not enforced, and programs may make use of - other sizes, but then SHOULD NOT rely on third-party XPSF-aware programs to - be able to read them. - Should the need arise, as an XPSF-file can eventually contain several - fonts with different mappings, fields could be added in the virtual-font - to specify, if any, a mapping in the target file on which to restrict - target font-data sections (ie. only target sections with this encoding will - be seen by the virtual-font section). But placing different mappings in the - same XPSF file is discouraged, unless you really have use of it; probably - override-maps should be sufficient for most usages. - -k * a "count" field has to be available before every variable-size array. - -l * these can be encoded as standard 9-bit fonts. The reading - software will check for VGA-ification and take care of possibly - reordering the chars. - -m * a specific section type describe copyright and license. It is the mandatory - first section in an XPSF file. We distinguish the copyright string, such as - "(c) 1997,98 John Doe and others", and the license, such as "GPL" or a more - descriptive text. These strings shall be UTF8-encoded to ensure they won't - be erroneously displayed using an incompatible charset. - Maybe it should be allowed for an OS or a software package to install a - separate text file describing the license. In this case the `license' field in - the XPSF file should be an absolute path to this file (to be distinguished - by the leading `/' (slash) character), and reading software should normally - fail to read the font, with an explicit message. - - -3. Draft specifications - - The file format is described here in sort-of EBNF notation. -Upper-case WORDS represent terminal symbols, ie. (mostly) C types; -lower-case words represent non-terminal symbols, ie. symbols defined -in terms of other symbols. - sym1 sym2 is sym1 followed by sym2 - sym1 | sym2 is either sym1 or sym2 - [sym] is an optional symbol - {sym} is a symbol that can be repeated 0 or more times - {sym}*N is a symbol that must be repeated N times - Comments are introduced with a # sign. - - The integer types are specified using their length expressed in decimal -notation, prefixed with `u' for unsigned types, or `s' for signed types. -Eg, `u16' denotes a "16-bit unsigned integer". - -# - -Allocated features whose lack cause incompatibility: - - Bit Feature - ---------------- - 0 Fixed bitmap font limited to size 256x256, - with UTF8 mapping. - 1 UTF8 override map. - - -Allocated features whose lack still allows read-only compatibility: - - Bit Feature - ---------------- - [None] - -# - -xpsf_file : - xpsf_header - xpsf_section # id = xpsf_copyright - {xpsf_section} - -xpsf_header : - magic_id - format_version - header_length : u16 - font_size - nb_sections : u16 - features_incompat : large_bitfield - features_ro_compat : large_bitfield - -# magic number proposal: -magic_id : - u8 = 0x36 - u8 = 0x05 - u8 = 0x84 - u8 = 0xBF - -format_version : - u16 = 0 # first implementation will be 1 - -font_size : - u32 # number of chars in font - enough for UCS4 ;) - # note that as data_length is a u32 too, not all - # 16M chars of such a font would fit in one section. - # A new file-format will probably be needed before that :) - -large_bitfield : - real_size_1: u8 # effective width in bytes, minus 1 - {BIT}*<8*(real_size_1+1)> - -# - -xpsf_section : - xpsf_section_header - xpsf_section_data - -xpsf_section_header : - header_length = 8 - data_length : u32 - section_id : u8 - -xpsf_section_data : - xpsf_copyright # id = 0x00 - | xpsf_fixed_font_data # id = 0x01 - | xpsf_UTF8_map # id = 0x02 - | xpsf_UTF8_override_map # id = 0x03 -( | xpsf_virtual_font_data # id = 0x04) - - -# Copyright and distribution licence -# Appeared in release: 1 - -xpsf_copyright : - copyright : string - distribution_licence : string - -string : - string_length : u16 - {UTF8}* - -# A font data of a particular size -# Appeared in release: 1 - -xpsf_fixed_font_data : - char_height : u8 - char_width : u8 - {{BIT}*}* - UTF8_map_ref : file_offset - -file_offset : - u32 - - -# Unicode fontpos-to-UTF8 map -# Appeared in release: 1 - -xpsf_UTF8_map : - { UTF8_array psf_separator }* - -UTF8_array : - UTF8 # at least one. - { UTF8 } # any necessary number of times - -UTF8 : - u8 # at least 1 byte - {u8} - -psf_separator : - u8 = 0xFF - -# Unicode fontpos-to-UTF8 override-map -# Appeared in release: 1 - -xpsf_UTF8_override_map : - parent_map : file_offset - nb_entries : u16 - fontpos_size - { fontpos UTF8 {UTF8} psf_separator }* - -fontpos_size : - u8 # typically 8, 16 or 32 - -fontpos : - {BIT}* - -# Virtual-font -# May not appear in release 1 - -xpsf_virtual_font_data : - target_name_length : u16 - target_name - fontpos_size - { fontpos }* - -target_name : - {u8}* - u8=0x00 diff -Nru console-tools-0.2.3/doc/kbd.FAQ.sgml console-tools-0.2.3/doc/kbd.FAQ.sgml --- console-tools-0.2.3/doc/kbd.FAQ.sgml 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/kbd.FAQ.sgml 1970-01-01 00:00:00.000000000 +0000 @@ -1,1717 +0,0 @@ - - -
- -The Linux keyboard and console HOWTO -<author>Andries Brouwer, <tt/aeb@cwi.nl/ -<date>v2.9, 990114 - -<abstract>This note contains some information about the Linux keyboard -and console, and the use of non-ASCII characters. -It describes Linux 2.0. -<nidx>HOWTOs!keyboard and console</nidx> -<nidx>HOWTOs!console and keyboard</nidx> -</abstract> - -<toc> - -<sect>Useful programs<p> -<nidx>programs!keyboard-related</nidx> -<nidx>programs!console-related</nidx> -<nidx>keyboard!programs related to</nidx> -<nidx>console!programs related to</nidx> - -The following packages contain keyboard or console related programs. -<p> -<tt/kbd-0.96.tar.gz/ contains <tt/loadkeys/, <tt/dumpkeys/, <tt/showkey/, -<tt/setmetamode/, <tt/setleds/, <tt/setfont/, <tt/showfont/, <tt/mapscrn/, -<tt/kbd_mode/, <tt/loadunimap/, <tt/chvt/, <tt/resizecons/, <tt/deallocvt/, -<tt/getkeycodes/, <tt/setkeycodes/. -<p> -<tt/util-linux-2.6/ contains <tt/setterm/, <tt/kbdrate/. -(Yes, the <tt/more/ in <tt/util-linux-2.6/ dumps core due to a name -conflict. Preserve your old copy, or use <tt/util-linux-2.5/, or -change `savetty' to `my_savetty' in <tt/more.c/.) -<p> -<tt/sh-utils-1.12/ contains <tt/stty/. -<p> -<tt/open-1.4.tgz/ contains <tt/open/ (that should be renamed to -<tt/openvt/). (See also <tt/dynamic-vc-1.1.tar.gz/ and <tt/consd-1.1.tgz/.) - -<tt/SVGATextMode-1.8.tar.gz/ contains <tt/SVGATextMode/, a program that -obsoletes <tt/resizecons/. - -The X distribution contains <tt/xmodmap/, <tt/xset/, <tt/kbd_mode/. -(See also X386keybd(1) for the situation under XFree86 1.3, -and Xserver(1) for the XKEYBOARD extension under X11R6.) - -<tt/termcap-2.0.8.tar.gz/ contains <tt/termcap/, an old terminal -capabilities data base. <tt/ncurses-1.9.9e.tar.gz/ contains the -<tt/termlib/ data base which obsoletes <tt/termcap/. (However, -there are still many programs using <tt/termcap/.) - -See loadkeys(1), setleds(1) and setmetamode(1) for the codes generated by the -various keys and the setting of leds when not under X. Under X, see xmodmap(1) -and xset(1). - -See setfont(8) for loading console fonts. Many people will want to -load a font like <tt/iso01.f16/ because the default font is the -hardware font of the video card, and often is a `Code Page 437' font -missing accented characters and other Latin-1 symbols. - -See setterm(1) and kbdrate(8) for properties such as foreground and background -colors, screen blanking and character repeat rate when not under X. -Under X, see xset(1), also for key click and bell volume. - -The file <tt>/etc/termcap</tt> defines the escape sequences -used by many programs addressing the console (or any other terminal). -See termcap(5). -A more modern version is found in <tt>/usr/lib/terminfo</tt>. -See terminfo(5). Terminfo files are compiled -by the terminfo compiler <tt>/usr/lib/terminfo/tic</tt>, see tic(1). -Their contents can be examined using the program <tt/infocmp/, -see infocmp(1). -The Linux console sequences are documented in console_codes(4). - - -<sect>Keyboard generalities<p> -<nidx>keyboard!theory of operation</nidx> - -You press a key, and the keyboard controller sends scancodes to the -kernel keyboard driver. Some keyboards can be programmed, but usually -the scancodes corresponding to your keys are fixed. -The kernel keyboard driver just transmits whatever it receives -to the application program when it is in <em>scancode mode</em>, -like when <tt/X/ is running. Otherwise, it parses the stream of scancodes -into keycodes, corresponding to key press or key release events. -(A single key press can generate up to 6 scancodes.) -These keycodes are transmitted to the application program when it is -in <em>keycode mode</em> (as used, for example, by <tt/showkey/). -Otherwise, these keycodes are looked up in the keymap, and the character -or string found there is transmitted to the application, or the action -described there is performed. -(For example, if one presses and releases the <tt/a/ key, then the keyboard -produces scancodes 0x1e and 0x9e, this is converted to keycodes 30 and 158, -and then transmitted as 0141, the ASCII or latin-1 code for `a'; -if one presses and releases <tt/Delete/, then the keyboard produces scancodes -0xe0 0x53 0xe0 0xd3, these are converted to keycodes 111 and 239, and then -transmitted as the 4-symbol sequence ESC [ 3 ˜, all assuming -a US keyboard and a default keymap. An example of a key combination to which -an action is assigned is Ctrl-Alt-Del.) -<P> -The translation between unusual scancodes and keycodes can be set using the -utility <tt/setkeycodes/ - only very few people will need it. -The translation between keycodes and characters or strings or actions, that is, -the keymap, is set using the utilities <tt/loadkeys/ and <tt/setmetamode/. -For details, see getkeycodes(8), setkeycodes(8), dumpkeys(1), loadkeys(1), -setmetamode(1). The format of the files output by <tt/dumpkeys/ and read -by <tt/loadkeys/ is described in keymaps(5). -<P> -Where it says `transmitted to the application' in the above description, -this really means `transmitted to the terminal driver'. That is, further -processing is just like that of text that comes in over a serial line. -The details of this processing are set by the program <tt/stty/. - -<sect>Console generalities<p> -<nidx>console!theory of operation</nidx> - -Conversely, when you output something to the console, it first undergoes -the standard tty processing, and then is fed to the console driver. -The console driver emulates a VT100, and parses the input in order to -recognize VT100 escape sequences (for cursor movement, clear screen, etc.). -The characters that are not part of an escape sequence are first converted -into Unicode, using one of four mapping tables if the console was not -in UTF-8 mode to start with, then looked up in the table describing -the correspondence between Unicode values and font positions, -and the obtained 8- or 9-bit font indices are then written to video memory, -where they cause the display of character shapes found in the video card's -character ROM. -One can load one's own fonts into character ROM using -<tt/setfont/, load the corresponding Unicode map with <tt/loadunimap/, -and load a user mapping table using <tt/mapscrn/. -More details will be given below. - -There are many consoles (called <it/Virtual Consoles/ or -<it/Virtual Terminals/, abbreviated VCs or VTs) that share the same -screen. You can use them as independent devices, either to run -indendent login sessions, or just to send some output to, perhaps -from <tt/top/, or the tail of the system log or so. -See below (`Console switching') on how to set them up and -switch between them. - - -<sect>Resetting your terminal<p> -<nidx>terminal!resetting</nidx> -<nidx>screen!clearing</nidx> -<nidx>console!clearing</nidx> - -There is garbage on the screen, or all your keystrokes are echoed -as line drawing characters. What to do? - -Many programs will redraw the screen when Ctrl-L is typed. This might -help when there is some modem noise or broadcast message on your screen. -The command <tt/clear/ will clear the screen. - -The command <tt/reset/ will reset the console driver. This helps when -the screen is full of funny graphic characters, and also if it is -reduced to the bottom line. If you don't have this command, or if it -does something else, make your own by putting the following two lines -in an executable file <tt/reset/ in your PATH: -<tscreen><verb> - #!/bin/sh - echo -e \\033c -</verb></tscreen> -that is, you want to send the two characters ESC c to the console. - -Why is it that the display sometimes gets confused and gives you -a 24-line or 1-line screen, instead of the usual 25 lines? -Well, the main culprit is the use of <tt/TERM=vt100/ (or some other -entry with 24 lines) instead of <tt/TERM=linux/ when logged in remotely. -If this happens on <tt>/dev/tty2</tt> then typing -<tscreen><verb> - % cat > /dev/tty2 - ^[c - ^D -</verb></tscreen> -on some other VT (where 4 symbols are typed to <tt/cat/: ESC, c, ENTER, -Ctrl-D) and refreshing the screen on <tt>/dev/tty2</tt> -(perhaps using Ctrl-L) will fix things. Of course the permanent fix -is to use the right termcap or terminfo entry. - -Why is it that you sometimes get a lot of line-drawing characters, -e.g., after catting a binary to the screen? -Well, there are various character set changing escape sequences, -and by accident your binary might contain some of these. -The ESC c is a general reset, a cure for all, but if you know -precisely what went wrong you can repair it without resetting -other console attributes. For example, after -<tscreen><verb> - % cat - ^N - ^D -</verb></tscreen> -your shell prompt will be all line-drawing characters. -Now do (typing blindly) -<tscreen><verb> - % cat - ^O - ^D -</verb></tscreen> -and all is well again. (Three symbols typed to each <tt/cat/: -Ctrl-N (or Ctrl-O), ENTER, Ctrl-D.) To understand what is happening, -see `The console character sets' below. - -If you loaded some strange font, and want to return to the default, -<tscreen><verb> - % setfont -</verb></tscreen> -will do (provided you stored the default font in the default place). -If this default font does not contain an embedded Unicode map (and -gives the wrong symbols for accented characters), then say -<tscreen><verb> - % loadunimap -</verb></tscreen> -For example, if I do -<tscreen><verb> - % loadkeys de-latin1 -</verb></tscreen> -then I have a German keyboard, and the key left of the Enter key -gives me a-umlaut. This works, because the a-umlaut occurs -on the CP437 code page and the kernel Unicode map is initialized -to CP437, and my video card has a CP437 font built-in. -If I now load an ISO 8859-1 font with -<tscreen><verb> - % setfont iso01.f16 -</verb></tscreen> -then everything still works, because <tt/setfont/ invalidates the kernel -Unicode map (if there is no Unicode map attached to the font), and without -map the kernel goes directly to the font, and that is precisely correct -for an ISO 8859-1 system with <tt/iso01.f16/ font. -But going back to the previous font with -<tscreen><verb> - % setfont -</verb></tscreen> -gives capital Sigma's instead of a-umlaut - all accented letters -are mixed up because also this font has no embedded Unicode map. After -<tscreen><verb> - % loadunimap -</verb></tscreen> -which loads the default Unicode map (which is right for the default -font) all works correctly again. Usually <tt/loadunimap/ is not -invoked directly, but via <tt/setfont/. Thus, the previous two -commands may be replaced by -<tscreen><verb> - % setfont -u def -</verb></tscreen> -The Ethiopian fonts and the <tt/lat1u*.psf/ fonts have embedded -Unicode code map. Most of the others don't. - -On old terminals output involving tabs may require a delay, and you -have to say -<tscreen><verb> - % stty tab3 -</verb></tscreen> -(see stty(1)). - -You can change the video mode using <tt/resizecons/ or -<tt/SVGATextMode/. -This usually settles the output side. -On the input side there are many things that might be wrong. If <tt/X/ or -<tt/DOOM/ or some other program using raw mode crashed, your keyboard may -still be in raw (or mediumraw) mode, and it is difficult to give commands. -(See "How to get out of raw mode" below.) -If you loaded a bad keymap, then -<tscreen><verb> - % loadkeys -d -</verb></tscreen> -loads the default map again, but it may well be difficult to type `-'! -An alternative is -<tscreen><verb> - % loadkeys defkeymap -</verb></tscreen> -Sometimes even the letters are garbled. It is useful to know that there -are four main types of keyboards: QWERTY, QWERTZ, AZERTY and DVORAK. -The first three are named after the first six letter keys, and roughly -represent the English, German and French speaking countries. -Compared to QWERTY, the QWERTZ map interchanges Y and Z. -Compared to QWERTY, the AZERTY map interchanges Q and A, W and Z, and has -its M right of the L, at the semicolon position. -DVORAK has an entirely different letter ordering. -There are two types of Turkish keyboard. The so-called `Q'-keyboard -has a QWERTY layout, while the `F'-keyboard has an entirely -different layout, let us say fgGIod, where G stands for Gbreve -and I for dotlessi. - -<sect1>Keyboard hardware reset<p> -<nidx>keyboard!resetting</nidx> - -Things may be wrong on a lower level than Linux knows about. -There are at least two distinct lower levels (keyboard and keyboard controller) -where one can give the command "keyboard disable" to the keyboard hardware. -Keyboards can often be programmed to use one out of three -different sets of scancodes. -<p> -However, I do not know of cases where this turned out to be -a problem. -<p> -Some keyboards have a remapping capability built in. -Stormy Henderson (<tt/stormy@Ghost.Net/) writes: -`If it's your keyboard accidently being reprogrammed, you can -(on a Gateway AnyKey keyboard) press control-alt-suspend_macro -to reset the keys to normal.' - -<sect>Delete and Backspace<p> -<nidx>delete key!problems with</nidx> -<nidx>backspace key!problems with</nidx> - -Getting Delete and Backspace to work just right is nontrivial, -especially in a mixed environment, where you talk to console, -to <tt/X/, to <tt/bash/, to <tt/emacs/, login remotely, etc. -You may have to edit several configuration files to tell all -of the programs involved precisely what you want. -On the one hand, there is the matter of which keys generate -which codes (and how these codes are remapped by e.g. <tt/kermit/ -or <tt/emacs/), and on the other hand the question of what functions -are bound to what codes. - -People often complain `my backspace key does not work', as if this -key had a built-in function `delete previous character'. -Unfortunately, all this key, or any key, does is producing a code, -and one only can hope that the kernel tty driver and -all application programs can be configured such that -the backspace key indeed does function as a `delete previous character' -key. - -Most Unix programs get their tty input via the kernel tty driver -in `cooked' mode, and a simple <tt/stty/ command determines the -erase character. However, programs like <tt/bash/ and <tt/emacs/ -and <tt/X/ do their own input handling, and have to be convinced -one-by-one to do the right thing. - -<sect1>How to tell Unix what character you want to use to delete the last typed character<p> -<nidx>stty!using to set erase character</nidx> - -<tscreen><verb> - % stty erase ^? -</verb></tscreen> -If the character is erased, but in a funny way, then something is -wrong with your tty settings. If <tt/echoprt/ is set, then erased characters -are enclosed between <tt>\</tt> and <tt>/</tt>. -If <tt/echoe/ is not set, then the erase char is echoed -(which is reasonable when it is a printing character, like #). -Most people will want <tt/stty echoe -echoprt/. Saying <tt/stty sane/ -will do this and more. Saying <tt/stty -a/ shows your current settings. -How come this is not right by default? It is, if you use the right -<tt/getty/. - -Note that many programs (like <tt/bash/, <tt/emacs/ etc.) have their own -keybindings (defined in <tt>˜/.inputrc</tt>, <tt>˜/.emacs</tt> etc.) and -are unaffected by the setting of the erase character. - -The standard Unix tty driver does not recognize a cursor, or keys -(like the arrow keys) to move the current position, and hence does not -have a command `delete current character' either. But for example -you can get <tt/bash/ on the console to recognize the Delete key by putting -<tscreen><verb> - set editing-mode emacs - "\e[3˜":delete-char -</verb></tscreen> -into <tt>˜/.inputrc</tt>. - -<sect2>`Getty used to do the right thing with DEL and BS but is broken now?'<p> -<nidx>getty!problems with BS and DEL</nidx> - -Earlier, the console driver would do BS Space BS -(<tt>\010\040\010</tt>) -when it got a DEL (<tt>\177</tt>). -Nowadays, DEL's are ignored (as they should be, -since the driver emulates a vt100). Get a better getty, i.e., -one that does not output DEL. - -<sect2>`Login behaves differently at the first and second login attempts?'<p> -<nidx>login!problems with BS and DEL</nidx> - -At the first attempt, you are talking to <tt/getty/. At the second attempt, -you are talking to <tt/login/, a different program. - -<sect1>How to tell Linux what code to generate when a key is pressed<p> -<nidx>keyboard!keycode remapping</nidx> -<nidx>keycode remapping</nidx> - -On the console, or, more precisely, when not in (MEDIUM)RAW mode, use -<tscreen><verb> - % loadkeys mykeys.map -</verb></tscreen> -and under X use -<tscreen><verb> - % xmodmap mykeys.xmap -</verb></tscreen> -Note that (since XFree86-2.1) X reads the Linux settings of the keymaps -when initialising the X keymap. Although the two systems are not -100% compatible, this should mean that in many cases the use of -<tt/xmodmap/ has become superfluous. - -For example, suppose that you would like the Backspace key -to send a BackSpace (Ctrl-H, octal 010) and the grey Delete key -a DEL (octal 0177). Add the following to <tt>/etc/rc.local</tt> -(or wherever you keep your local boot-time stuff): -<tscreen><verb> - /usr/bin/loadkeys << EOF - keycode 14 = BackSpace - keycode 111 = Delete - EOF -</verb></tscreen> -Note that this will only change the function of these keys -when no modifiers are used. (You need to specify a keymaps line -to tell which keymaps should be affected if you want to change -bindings on more keymaps.) -The Linux kernel default lets -Ctrl-Backspace generate BackSpace - this is sometimes useful -as emergency escape, when you find you can only generate DELs. - -The left Alt key is sometimes called the Meta key, and by -default the combinations AltL-X are bound to the symbol MetaX. -But what character sequence is MetaX? -That is determined (per-tty) by the Meta flag, set by the command -<tt/setmetamode/. The two choices are: ESC X or X or-ed with 0200. - -Many distributions have a <tt/loadkeys/ command somewhere in the -bootup sequence. For example, one may have the name of the desired -keymap in <tt>/etc/sysconfig/keyboard</tt> and the <tt/loadkeys/ -command that loads it in <tt>/etc/rc.d/init.d/keytable</tt>. -Or one may have the actual default keymap in <tt>/etc/default.keytab</tt> -and the loadkeys command that loads it in <tt>/etc/rc.d/boot</tt>. -Etc. Instead of adding a local modification to the default, one can -of course change the default by editing the default keymap or changing -the name of the keymap to be loaded at boot time. Note that <tt/loadkeys/ -itself has default keymap <tt/defkeymap.map/ located somewhere under -<tt>/usr/lib/kbd</tt> or <tt>/usr/share/kbd</tt> (just like all other -keymaps) and this may not yet be available in single user boot before -<tt>/usr</tt> has been mounted. - -<sect2>`Why doesn't the Backspace key generate BackSpace by default?'<p> -<nidx>backspace key!not generating correct keycode</nidx> - -(i) Because the VT100 had a Delete key above the Enter key. -<p> -(ii) Because Linus decided so. - -<sect1>How to tell X to interchange Delete and Backspace<p> -<nidx>X!swapping DEL, BS</nidx> -<nidx>xmodmap!using to swap DEL, BS</nidx> - -<tscreen><verb> - % xmodmap -e "keysym BackSpace = Delete" -e "keysym Delete = BackSpace" -</verb></tscreen> -Or, if you just want the Backspace key to generate a BackSpace: -<tscreen><verb> - % xmodmap -e "keycode 22 = BackSpace" -</verb></tscreen> -Or, if you just want the Delete key to generate a Delete: -<tscreen><verb> - % xmodmap -e "keycode 107 = Delete" -</verb></tscreen> -(but usually this is the default binding already). - -<sect1>How to tell emacs what to do when it receives a Delete or Backspace<p> -<nidx>emacs!binding DEL, BS</nidx> - -Put in your <tt/.emacs/ file lines like -<tscreen><verb> - (global-set-key "\?" 'help-command) - (global-set-key "\C-h" 'delete-backward-char) -</verb></tscreen> -Of course you can bind other commands to other keys in the same way. -Note that various major and minor modes redefine keybindings. -For example, in incremental search mode one finds the code -<tscreen><verb> - (define-key map "\177" 'isearch-delete-char) - (define-key map "\C-h" 'isearch-mode-help) -</verb></tscreen> -This means that it may be a bad idea to use the above two -global-set-key commands. There are too many places where -there are built-in assumptions about Ctrl-H = help and DEL = delete. -That doesn't mean that you have to setup keys so that Backspace -generates DEL. But if it doesn't then it is easiest to remap -them at the lowest possible level in emacs. - -<sect1>How to tell emacs to interchange Delete and Backspace<p> -<nidx>emacs!swapping DEL, BS</nidx> - -Put in your <tt/.emacs/ file lines -<tscreen><verb> - (setq keyboard-translate-table (make-string 128 0)) - (let ((i 0)) - (while (< i 128) - (aset keyboard-translate-table i i) - (setq i (1+ i)))) - (aset keyboard-translate-table ?\b ?\^?) - (aset keyboard-translate-table ?\^? ?\b) -</verb></tscreen> -Recent versions of emacs have a function <tt/keyboard-translate/ -and one may simplify the above to -<tscreen><verb> - (keyboard-translate ?\C-h ?\C-?) - (keyboard-translate ?\C-? ?\C-h) -</verb></tscreen> -Note that under X emacs can distinguish between Ctrl-h and the -Backspace key (regardless of what codes these produce on the console), -and by default emacs will view the Backspace key as DEL -(and do deletion things, as bound to that character, rather than -help things, bound to Ctrl-H). One can distinguish Backspace and Delete, -e.g. by -<tscreen><verb> - (global-unset-key [backspace] ) - (global-set-key [backspace] 'delete-backward-char) - (global-unset-key [delete] ) - (global-set-key [delete] 'delete-char) -</verb></tscreen> - -<sect1>How to tell kermit to interchange Delete and Backspace<p> -<nidx>kermit!swapping DEL, BS</nidx> - -Put in your <tt/.kermrc/ file the lines -<tscreen><verb> - set key \127 \8 - set key \8 \127 -</verb></tscreen> - -<sect1>How to tell xterm to interchange Delete and Backspace<p> -<nidx>xterm!swapping DEL, BS</nidx> -<tscreen><verb> -XTerm*VT100.Translations: #override\n\ - <KeyPress> BackSpace : string(0x7f)\n\ - <KeyPress> Delete : string(0x08)\n -</verb></tscreen> - -<sect1>How to tell xterm about your favourite tty modes<p> -<nidx>xterm!setting tty modes for</nidx> - -Normally xterm will inherit the tty modes from its invoker. -Under <tt/xdm/, the default erase and kill characters are <tt/#/ and <tt/@/, -as in good old Unix Version 6. -If you don't like that, you might put something like -<tscreen><verb> - XTerm*ttymodes: erase ^? kill ^U intr ^C quit ^\ eof ^D \ - susp ^Z start ^Q stop ^S eol ^@ -</verb></tscreen> -in <tt>/usr/lib/X11/app-defaults/XTerm</tt> or in -<tt>$HOME/.Xresources</tt>, assuming that you have a line -<tscreen><verb> - xrdb -merge $HOME/.Xresources -</verb></tscreen> -in your <tt>$HOME/.xinitrc</tt> or <tt>$HOME/.xsession</tt>. - -<sect1>How to tell xmosaic that the Backspace key generates a DEL<p> -<nidx>xmosaic!remapping BS key</nidx> -<nidx>Netscape!remapping BS</nidx> - -Putting -<tscreen><verb> - *XmText.translations: #override\n\ - <Key>osfDelete: delete-previous-character() - *XmTextField.translations: #override\n\ - <Key>osfDelete: delete-previous-character() -</verb></tscreen> -in your <tt>$HOME/.Xdefaults</tt> or -<tt>$HOME/.Xresources</tt> helps. -(What file? The file that is fed to <tt>xrdb</tt>, for example -in <tt>.xinitrc</tt>.) - -The netscape FAQ, however, says: -<verb> - Why doesn't my Backspace key work in text fields? - By default, Linux and XFree86 come with the Backspace and Delete keys - misconfigured. All Motif programs (including, of course, Netscape - Navigator) will malfunction in the same way. - - The Motif spec says that Backspace is supposed to delete the previous - character and Delete is supposed to delete the following character. - Linux and XFree86 come configured with both the Backspace and Delete - keys generating Delete. - - You can fix this by using any one of the xmodmap, xkeycaps, or - loadkeys programs to make the key in question generate the BackSpace - keysym instead of Delete. - - You can also fix it by having a .motifbind file; see the man page - for VirtualBindings(3). - - Note: Don't use the *XmText.translations or *XmTextField.translations - resources to attempt to fix this problem. If you do, you will blow - away Netscape Navigator's other text-field key bindings. -</verb> - -<sect1>A better solution for Motif-using programs, like netscape<p> -<nidx>Netscape!remapping BS</nidx> -<nidx>Motif!remapping BS</nidx> - -Ted Kandell (<tt/ted@tcg.net/) suggests the following: - -Somewhere in your .profile add the following: -<tscreen><verb> -stty erase ^H -</verb></tscreen> -If you are using <tt/bash/, add the following lines to your <tt/.inputrc/: -<tscreen><verb> -"\C-?": delete-char -"\C-h": backward-delete-char -</verb></tscreen> -Add the following lines to your .xinitrc file: -<tscreen><verb> -xmodmap <<-EOF -keycode 22 = BackSpace osfBackSpace -keycode 107 = Delete -EOF - -# start your window manager here, for example: -#(fvwm) 2>&1 | tee /dev/tty /dev/console - -stty sane -stty erase ^H -loadmap <<-EOF -keycode 14 = BackSpace -keycode 111 = Delete -EOF -</verb></tscreen> - -This will definitely work for a PC 101 or 102 key keyboard -with any Linux/XFree86 layout. - -The important part to making Motif apps like Netscape work properly -is adding osfBackSpace to keycode 22 in addition to BackSpace. - -Note that there must be spaces on either side of the = sign. - - -<sect1>What about termcap and terminfo?<p> -<nidx>termcap!remapping BS with</nidx> -<nidx>terminfo!remapping BS with</nidx> - -When people have problems with backspace, they tend to look at their termcap -(or terminfo) entry for the terminal, and indeed, there does exist a kb -(or kbs) capability describing the code generated by the Backspace key. -However, not many programs use it, so unless you are having problems with one -particular program only, probably the fault is elsewhere. -Of course it is a good idea anyway to correct your termcap (terminfo) entry. -See also below under "The TERM variable". - -<sect1>A complete solution<p> -There are many possibilities to get a functioning system. -Can't you give one complete set of settings that works? -<nidx>delete key!a solution</nidx> -<nidx>backspace key!a solution</nidx> -<p> -One way of getting a setup that works in all contexts -is to have the Backspace key generate DEL when on the -console (or xterm), and BackSpace when under X. -Maybe that is most convenient - there are too many X utilities -that expect BackSpace, and emacs on the console or xterm -expects DEL, while emacs under X can distinguish [BackSpace] -from Ctrl-H and does the right thing. -<p> -What is needed? -No loadkeys changes, since the Backspace key already generates -DEL by default. No stty settings, they are OK by default. -No X settings, they are OK by default. -One just has to tell xterm that the Backspace key should generate DEL: -put -<tscreen><verb> -XTerm*VT100.Translations: #override\n\ - <KeyPress> BackSpace : string(0x7f)\n\ -</verb></tscreen> -in <tt/.Xresources/, and -<tscreen><verb> -xrdb -merge .Xresources -</verb></tscreen> -in <tt/.xinitrc/, and you are settled. - -<sect>The console character sets<p> -<nidx>console character sets</nidx> -<nidx>character sets, console</nidx> - -The kernel first tries to figure out what symbol is meant by any given -user byte, and next where this symbol is located in the current font. - -The kernel knows about 5 translations of bytes into console-screen symbols. -In Unicode (UTF-8) mode, the UTF-8 code is just converted directly into -Unicode. The assumption is that almost all symbols one needs are present -in Unicode, and for the cases where this does not hold the codes 0xff** -are reserved for direct font access. -When not in Unicode mode, one of four translation tables is used. -The four tables are: a) Latin1 -> Unicode, b) VT100 graphics -> Unicode, -c) PC -> Unicode, d) user-defined. - -There are two character sets, called G0 and G1, and one of them -is the current character set. (Initially G0.) -Typing Ctrl-N causes G1 to become current, Ctrl-O causes G0 to become current. - -These variables G0 and G1 point at a translation table, and can be changed -by the user. Initially they point at tables a) and b), respectively. -The sequences ESC ( B and ESC ( 0 and ESC ( U and ESC ( K cause G0 to point -at translation table a), b), c) and d), respectively. -The sequences ESC ) B and ESC ) 0 and ESC ) U and ESC ) K cause G1 to point -at translation table a), b), c) and d), respectively. - -The sequence ESC c causes a terminal reset, which is what you want if the -screen is all garbled. The oft-advised <tt/echo ˆVˆO/ will only -make G0 current, but there is no guarantee that G0 points at table a). -In some distributions there is a program reset(1) that just does -<tt>echo ˆ[c</tt>. -If your termcap entry for the console is correct (and has an entry -<tt>:rs=\Ec:</tt>), then also <tt/setterm -reset/ will work. - -The user-defined mapping table can be set using mapscrn(8). -The result of the mapping is that if a symbol c is printed, the symbol -<tt>s = map[c]</tt> is sent to the video memory. The bitmap that corresponds to -<tt/s/ is found in the character ROM, and can be changed using setfont(8). - -<sect>Console switching<p> -<nidx>console!switching</nidx> - -By default, console switching is done using Alt-Fn or Ctrl-Alt-Fn. -Under <tt/X/ (or recent versions of <tt/dosemu/), only Ctrl-Alt-Fn works. -Many keymaps will allow cyclic walks through all allocated consoles -using Alt-RightArrow and Alt-LeftArrow. - -XFree86 1.3 does not know that Alt is down when you switch to the X -window. Thus, you cannot switch immediately to some other VT again -but have to release Alt first. -In the other direction this should work: the kernel always keeps -track of the up/down status of all keys. (As far as possible: on some -keyboards some keys do not emit a scancode when pressed (e.g.: the PFn -keys of a FOCUS 9000) or released (e.g.: the Pause key of many keyboards).) - -XFree86 1.3 saves the fonts loaded in the character ROMs when started, -and restores it on a console switch. Thus, the result of <tt/setfont/ on -a VT is wiped out when you go to X and back. -Using <tt/setfont/ under X will lead to funny results. - -One can change VT under program control using the <tt/chvt/ command. - -<sect1>Changing the number of Virtual Consoles<p> -<nidx>console!changing number of</nidx> - -This question still comes up from time to time, but the answer is: -you already have enough of them. -Since kernel version 1.1.54, there are between 1 and 63 virtual -consoles. A new one is created as soon as it is opened. It is -removed by the utility <tt/deallocvt/ (but it can be removed only when -no processes are associated to it anymore, and no text on it has been -selected by programs like <tt/selection/ or <tt/gpm/). - -For older kernels, change the line -<tscreen><verb> - #define NR_CONSOLES 8 -</verb></tscreen> -in <tt>include/linux/tty.h</tt> (don't increase this number beyond 63), -and recompile the kernel. - -If they do not exist yet, create the tty devices with <tt/MAKEDEV/ -or <tt/mknod tty/N <tt/c 4/ N where N denotes the tty number. For example, -<tscreen><verb> - for i in 9 10 11 12; do mknod /dev/tty$i c 4 $i; done -</verb></tscreen> -or, better (since it also takes care of owner and permissions), -<tscreen><verb> - for i in 9 10 11 12; do /dev/MAKEDEV tty$i; done -</verb></tscreen> - -If you want the new VCs to run <tt/getty/, add lines in <tt>/etc/inittab</tt>. -(But it is much better to have only two <tt/getty/'s running, -and to create more consoles dynamically as the need arises. -That way you'll have more memory when you don't use all these consoles, -and also more consoles, in case you really need them. -Edit <tt>/etc/inittab</tt> and comment out all <tt/getty/'s except -for the first two.) - -When the consoles are allocated dynamically, it is usually easiest -to have only one or two running <tt/getty/. More are opened by -<tt>open -l -s bash</tt>. Unused consoles (without associated processes) -are deallocated using <tt/deallocvt/ (formerly <tt/disalloc/). -But, you say, I am involved in activities when I suddenly need more -consoles, and do not have a bash prompt available to give the <tt/open/ -command. -Fortunately it is possible to create a new console upon a single -keystroke, regardless of what is happening at the current console. - -If you have <tt/spawn_login/ from <tt/kbd-0.96.tar.gz/ and you put -<tscreen><verb> - loadkeys << EOF - alt keycode 103 = Spawn_Console - EOF - spawn_login & -</verb></tscreen> -in <tt>/etc/rc.local</tt>, then typing Alt-UpArrow will create a fresh VC -running <tt/login/ (and switch to it). With <tt/spawn_console &/ instead of -<tt/spawn_login &/ you'll have bash running there. -See also <tt>open-1.4.tgz</tt> and <tt/dynamic-vc-1.1.tar.gz/. - -What action should be taken upon this Spawn_Console keypress -can also be set in <tt>/etc/inittab</tt> under <tt/kbrequest/, -if you have a recent <tt/init/. See inittab(5). - -(This action can be something entirely different - I just called -the key Spawn_Console because that is what I used it for. -When used for other purposes it is less confusing to use -its synonym KeyboardSignal. -For example, some people like to put the lines -<tscreen><verb> - kb::kbrequest:/sbin/shutdown -h now -</verb></tscreen> -in <tt>/etc/inittab</tt>, and -<tscreen><verb> - control alt keycode 79 = KeyboardSignal - control alt keycode 107 = KeyboardSignal -</verb></tscreen> -in their keymap. Now Ctrl-Alt-End will do a system shutdown.) - -You can only login as "root" on terminals listed in <tt>/etc/securetty</tt>. -There exist programs that read terminal settings from files -<tt>/etc/ttys</tt> and <tt>/etc/ttytype</tt>. If you have such -files, and create additional consoles, then it might be a good idea -to also add entries for them in these files. - -<sect>Ctrl-Alt-Del and other special key combinations<p> - -<sect1>Ctrl-Alt-Del (Boot)<p> -<nidx>ctrl-alt-del!action taken by</nidx> - -If you press Ctrl-Alt-Del (or whatever key was assigned the keysym Boot by -loadkeys) then either the machine reboots immediately (without sync), or -<tt/init/ is sent a SIGINT. The former behaviour is the default. The default can -be changed by root, using the system call reboot(), see ctrlaltdel(8). -Some <tt/init/'s change the default. What happens when <tt/init/ gets SIGINT depends -on the version of <tt/init/ used - often it will be determined by the pf entry in -<tt>/etc/inittab</tt> (which means that you can run an arbitrary program -in this case). -In the current kernel Ctrl-AltGr-Del is no longer by default assigned to Boot. - -<sect1>Other combinations<p> -<nidx>keyboard!special key combinations</nidx> -<nidx>key combinations, special</nidx> - -<verb> -Name Default binding -------------------------------- -Show_Memory Shift-Scrollock -Show_Registers AltGr-ScrollLock -Show_State Ctrl-ScrollLock -Console_n Alt-Fn and Ctrl-Alt-Fn (1 <= n <= 12) -Console_{n+12} AltGr-Fn (1 <= n <= 12) -Incr_Console Alt-RightArrow -Decr_Console Alt-LeftArrow -Last_Console Alt[Gr]-PrintScreen -Scroll_Backward Shift-PageUp -Scroll_Forward Shift-PageDown -Caps_On (CapsLock is a toggle; this key sets) -Compose Ctrl-. -</verb> - -<sect1>X Combinations<p> -<nidx>keyboard!key combinations for X</nidx> -<nidx>key combinations, X</nidx> -<nidx>X!key combinations for</nidx> - -<verb> -Ctrl-Alt-Fn Switch to VT n -Ctrl-Alt-KP+ Next mode -Ctrl-Alt-KP- Previous mode -Ctrl-Alt-Backspace Kill X -</verb> -On some motherboards, Ctrl-Alt-KP- and Ctrl-Alt-KP+ will be equivalent to -pressing the Turbo button. That is, both will produce the scancodes -1d 38 4a ca b8 9d and 1d 38 4e ce b8 9d, and both will switch between -Turbo (>= 25MHz) and non-Turbo (8 or 12 MHz). -(Often these key combinations only function this way when enabled -by jumpers on the motherboard.) - -Perry F Nguyen (<tt/pfnguyen@netcom22.netcom.com/) writes: -AMI BIOS has a feature that locks up the keyboard and flashes the LED's -if the Ctrl-Alt-Backspace combination is pressed while a BIOS password -is enabled, until the CMOS/BIOS password is typed in. - -<sect1>Dosemu Combinations<p> -<nidx>key combinations!dosemu</nidx> -<nidx>dosemu!key combinations for</nidx> - -<verb> -Ctrl-Alt-Fn Switch to VT n (from version 0.50; earlier Alt-Fn) -Ctrl-Alt-PgDn Kill dosemu (when in RAW keyboard mode) -(and many other combinations - see the dosemu documentation) -</verb> - -<sect1>Composing symbols<p> -<nidx>keyboard!composing symbols with</nidx> -<nidx>symbols!composing with keyboard</nidx> - -One symbol may be constructed using several keystrokes. -<itemize> -<item> -LeftAlt-press, followed by a decimal number typed on the keypad, followed -by LeftAlt-release, yields the symbol with code given by this number. -(In Unicode mode this same mechanism, but then with 4 hexadecimal digits, -may be used to define a Unicode symbol.) -<item> -A dead diacritic followed by a symbol, yields that symbol adorned with -that diacritic. If the combination is undefined, both keys are taken -separately. -Which keys are dead diacritics is user-settable; none is by default. -Five (since 2.0.25 six) dead diacritics can be defined (using loadkeys(1)): -dead_grave, dead_acute, dead_circumflex, dead_tilde, dead_diaeresis -(and dead_cedilla). -Precisely what this adorning means is also user-settable: -dead-diacritic, symbol is equivalent to Compose + diacritic + symbol. -<item> -Compose followed by two symbols yields a combination symbol. These -combinations are user-settable. Today there are 68 combinations -defined by default; you can see them by saying "dumpkeys | grep compose". -<item> -Then there are `Sticky' modifier keys (since 1.3.33). For example, -one can type Ctrl-C as SControl, C and Ctrl-Alt-BackSpace as SControl, -SAlt, BackSpace. -</itemize> - -Note that there are at least four such composition mechanisms: -<enum> -<item> -The Linux keyboard driver mechanism, used in conjunction with loadkeys. -<item> -The X mechanism - see X386keybd(1), later XFree86kbd(1). -Under X11R6: edit <tt>/usr/X11R6/lib/X11/locale/iso8859-1/Compose</tt>.<p> -See also Andrew D. Balsa's comments at -<htmlurl url="http://wauug.erols.com/~balsa/linux/deadkeys/index.html" -name="http://wauug.erols.com/~balsa/linux/deadkeys/index.html">. -<item> -The emacs mechanism obtained by loading "iso-insert.el" or -calling `iso-accents-mode'. -<item> -The vim mechanism: insert a composed symbol by pressing Ctrl-K -followed by two symbols. A list of the possible combinations is -obtained by the command <tt>:digraphs</tt>. -</enum> -For X the order of the two symbols is arbitrary: both Compose-,-c and -Compose-c-, yield a c-cedilla; for Linux and emacs only the former sequence -works by default. For X and vim the list of compose combinations is fixed. -Linux and emacs are flexible. -The default lists are somewhat similar, but the details are different. - -<sect1>The SysRq key<p> -<nidx>SysRq key</nidx> -In case your kernel was compiled with CONFIG_MAGIC_SYSRQ enabled -(a feature that is present since Linux 2.1.43) -there is a single key (defined in <tt><linux/keyboard.h></tt>) -to which special system functions are attached, regardless of the -current keyboard mode. For the PC architecture this special key is, -naturally, the Alt+SysRq key, and any of the two Alt keys will work. -(Note that if CONFIG_MAGIC_SYSRQ was not enabled, the default action -of this key is to return to the previous console.) -<p> -If you press this key, do not release it, and hit another key, -a corresponding action is performed. The action is performed whether -anybody is logged in or not, is root or not. For the details, see -<tt>drivers/char/sysrq.c</tt>. Since this feature is meant only -for kernel hackers, that should suffice. Still, let me add a few -remarks. -<p> -For the key r the keyboard mode is reset to K_XLATE. -For the key k a SAK and console reset is done. -For the key b the machine is rebooted immediately. -(See, not something you want to have enabled on a production machine.) -For the key o the power is turned off (when the machine is capable of that). -For the key s an emergency sync is scheduled. -For the key u an emergency read-only remount is scheduled. -For the keys p,t,m various information is shown -(namely the same information also shown for RAlt,RCtrl,RShift+ScrollLock). -For the keys e,i,l all processes get a SIG_TERM or SIG_KILL, respectively; -for l even the init process is killed. -Digits set the log level. Anything else prints a short summary: -<tt>SysRq: unRaw saK Boot Off Sync Unmount showPc showTasks showMem -loglevel0-8 tErm kIll killalL</tt>. -<p> -Note: These are very dangerous actions! And they do not use your -keymap - indeed, are meant for emergency cases where the state -of your keymap, or even of the entire kernel, is uncertain. -If you use a dvorak keyboard - bad luck! Most other people will -be able to survive: the dangerous letters A,M,Q,W,Y,Z that are -differently placed on English, French and German keyboards, are -not used for actions. (But if your finger slips and you hit L -instead of K - bye bye to your system.) - -<sect>How to get out of raw mode<p> -<nidx>raw mode, exiting</nidx> - -If some program using K_RAW keyboard mode exits without restoring the keyboard -mode to K_XLATE, then it is difficult to do anything - not even Ctrl-Alt-Del -works. However, it is sometimes possible to avoid hitting the reset button. -(And desirable as well: your users may get angry if you kill their Hack game -by rebooting; you might also damage your file system.) -Easy solutions involve logging in from another terminal or another machine -and doing <tt>kbd_mode -a</tt>. -The procedure below assumes that no X is running, that the display is in -text mode, and that you are at your bash prompt, that you are using a US -keyboard layout, and that your interrupt character is Ctrl-C. - -Step 1. Start X. -As follows: press 2 (and don't release), press F12 (and don't release) -and immediately afterwards press = . This starts X. - (Explanation: if a key press produces keycode K, then the key release - produces keycode K+128. Probably your shell does not like these high - characters, so we avoid generating them by not releasing any key. - However, we have to be quick, otherwise key repeat starts. The digit 2 - produces a Ctrl-C that discards previous junk, the F12 produces an X - and the = a Return.) -Probably your screen will be grey now, since no <tt/.xinitrc/ was specified. -However, Ctrl-Alt-Fn will work and you can go to another VT. -(Ctrl-Alt-Backspace also works, but that exits X, and gets you back into -the previous state, which is not what you want.) - -Step 2. Setup to change the keyboard mode. -(For example, by <tt>sleep 5; kbd_mode -a</tt>.) - -Step 3. Leave X again. -Alt-Fx (often Alt-F7) brings you back to X, and then Ctrl-Alt-Backspace -exits X. Within 5 seconds your keyboard will be usable again. - -If you want to prepare for the occasion, then make -<tt>\215A\301</tt> (3 symbols) an alias for <tt/kbd_mode -a/. -Now just hitting = F7 = (3 symbols) will return you to sanity. - -<sect>The keyboard LEDs<p> -<nidx>LEDs, keyboard</nidx> -<nidx>keyboard!LEDs on</nidx> - -1. There are per-tty keyboard flags: -each VC has its own NumLock, CapsLock, ScrollLock. -By default these keyboard flags are shown in the LEDs. -The usual way to change them is by pressing the corresponding key. -(Side remark: pressing the NumLock key when in application key mode -will not change the NumLock status, but produce an escape sequence. -If you want the NumLock key to always change the Numlock status, -bind it to Bare_Num_Lock.) - -2. Next, there are per-tty default keyboard flags, -to initialize the keyboard flags when a reset occurs. -Thus if you want NumLock on all the time, that is possible. -The usual way to change them is by `<tt/setleds -D/ ...'. - -3. There is the possibility that the leds do not reflect -the keyboard flags, but something else. -<p> -3A. This something else can be three bits somewhere in the kernel - -which can be used if you want to monitor some hardware or software -status bit(s). If you want this, edit the kernel source to call -<tt/register_leds()/ somewhere. -<p> -3B. This something else can also be whatever some user program wants -to show in the LEDs. Thus, people who like such things can make -nice patterns of lights. If you want this, use the KDSETLED ioctl. - -This latter use is not per-tty, but the choice between former -and latter use is per-tty. - -Summarizing: Each tty has a flag <tt/kbd->ledmode/. -If this has the value LED_SHOW_FLAGS then the keyboard flags -(NumLock etc.) of that tty are shown. -If this has the value LED_SHOW_MEM then three selected memory -addresses are shown. -If this has the value LED_SHOW_IOCTL then the leds show whatever -value was last assigned to them using the KDSETLED ioctl. - -One may add that X uses ioctl's to set the LEDs, but fails -to reset its VT when it exits, so after using X there may -be one VT that is not in the default LED_SHOW_FLAGS state. -This can be fixed by doing `<tt/setleds -L/' on that VT. -See setleds(1). - -<sect>The TERM variable<p> -<nidx>TERM environment variable</nidx> -<nidx>environment variables!TERM</nidx> - -Many programs use the <tt/TERM/ variable and the database -<tt>/etc/termcap</tt> or <tt>/usr/lib/terminfo/*</tt> to decide -which strings to send for clear screen, move cursor, etc., -and sometimes also to decide which string is sent -by the users backspace key, function keys etc. -This value is first set by the kernel (for the console). -Usually, this variable is re-set by <tt/getty/, using <tt>/etc/ttytype</tt> or -the argument specified in <tt>/etc/inittab</tt>. -Sometimes, it is also set in <tt>/etc/profile</tt>. - -Older systems use <tt/TERM=console/ or <tt/TERM=con80x25/. Newer systems (with -ncurses 1.8.6) use the more specific <tt/TERM=linux/ or <tt/TERM=linux-80x25/. -However, old versions of <tt/setterm/ test for <tt/TERM=con*/ and hence fail -to work with <tt/TERM=linux/. - -Since kernel version 1.3.2, the kernel default for the console is -<tt/TERM=linux/. - -If you have a termcap without entry for linux, add the word linux -to the entry for the console: -<tscreen><verb> - console|con80x25|linux:\ -</verb></tscreen> -and make <tt>/usr/lib/terminfo/l/linux</tt> a copy of or symbolic link to -<tt>/usr/lib/terminfo/c/console</tt>. - -<sect1>Terminfo<p> -<nidx>terminfo</nidx> - -The terminfo entry for the linux console from ncurses 1.8.6 misses the -entry <tt>kich1=\E[2˜</tt>, needed by some programs. -Edit the file and <tt/tic/ it. - -<sect>How to make other programs work with non-ASCII chars<p> -<nidx>non-ASCII characters, using</nidx> - -In the bad old days this used to be quite a hassle. Every separate -program had to be convinced individually to leave your bits alone. -Not that all is easy now, but recently a lot of gnu utilities have -learned to react to <tt/LC_CTYPE=iso_8859_1/ or <tt/LC_CTYPE=iso-8859-1/. -Try this first, and if it doesn't help look at the hints below. -Note that in recent versions of libc the routine setlocale() only -works if you have installed the locale files (e.g. in -<tt>/usr/lib/locale</tt>). - -First of all, the 8-th bit should survive the kernel input processing, -so make sure to have <tt/stty cs8 -istrip -parenb/ set. - -A. For <tt/emacs/ the details strongly depend on the version. -The information below is for version 19.34. Put lines -<tscreen><verb> - (set-input-mode nil nil 1) - (standard-display-european t) - (require 'iso-syntax) -</verb></tscreen> -into your <tt>$HOME/.emacs</tt>. -The first line (to be precise: the final 1) -tells <tt/emacs/ not to discard the 8-th bit from input characters. -The second line tells <tt/emacs/ not to display non-ASCII characters -as octal escapes. -The third line specifies the syntactic properties -and case conversion table for the Latin-1 character set -These last two lines are superfluous if you have something like -<tt/LC_CTYPE=ISO-8859-1/ in your environment. -(The variable may also be <tt/LC_ALL/ or even <tt/LANG/. -The value may be anything with a substring `88591' or `8859-1' -or `8859_1'.) -<p> -This is a good start. -On a terminal that cannot display non-ASCII ISO 8859-1 symbols, -the command -<tscreen><verb> - (load-library "iso-ascii") -</verb></tscreen> -will cause accented characters to be displayed comme {,c}a. -If your keymap does not make it easy to produce non-ASCII characters, -then -<tscreen><verb> - (load-library "iso-transl") -</verb></tscreen> -will make the 2-character sequence Ctrl-X 8 a compose character, -so that the 4-character sequence Ctrl-X 8 , c produces c-cedilla. -Very inconvenient. -<p> -The command -<tscreen><verb> - (iso-accents-mode) -</verb></tscreen> -will toggle ISO-8859-1 accent mode, in which the six -characters ', `, ", ˆ, ˜, / are dead keys -modifying the following symbol. -Special combinations: ˜c gives a c with cedilla, -˜d gives an Icelandic eth, ˜t gives an Icelandic thorn, -"s gives German sharp s, /a gives a with ring, -/e gives an a-e ligature, ˜< and ˜> give guillemots, -˜! gives an inverted exclamation mark, -˜? gives an inverted question mark, and '' gives an acute accent. -This is the default mapping of accents. -The variable <tt/iso-languages/ is a list of pairs (language name, -accent mapping), and a non-default mapping can be selected using -<tscreen><verb> - (iso-accents-customize LANGUAGE) -</verb></tscreen> -Here LANGUAGE can be one of <tt/"portuguese"/, <tt/"irish"/, -<tt/"french"/, <tt/"latin-2"/, <tt/"latin-1"/. - -Since the Linux default compose character is Ctrl-. -it might be convenient to use that everywhere. Try -<tscreen><verb> - (load-library "iso-insert.el") - (define-key global-map [?\C-.] 8859-1-map) -</verb></tscreen> -The latter line will not work under <tt/xterm/, if you use <tt/emacs -nw/, -but in that case you can put -<tscreen><verb> - XTerm*VT100.Translations: #override\n\ - Ctrl <KeyPress> . : string("\0308") -</verb></tscreen> -in your <tt/.Xresources/.) - -B. For <tt/less/, put <tt/LESSCHARSET=latin1/ in the environment. -This is also what you need if you see <tt/\255/ or <tt/<AD>/ -in <tt/man/ output: some versions of <tt/less/ will render the soft hyphen -(octal 0255, hex 0xAD) this way when not given permission to output Latin-1. - -C. For <tt/ls/, give the option <tt/-N/. (Probably you want to make an alias.) - -D. For <tt/bash/ (version 1.13.*), put -<tscreen><verb> - set meta-flag on - set convert-meta off - set output-meta on -</verb></tscreen> -into your <tt>$HOME/.inputrc</tt>. - -E. For <tt/tcsh/, use -<tscreen><verb> - setenv LANG US_en - setenv LC_CTYPE iso_8859_1 -</verb></tscreen> -If you have nls on your system, then the corresponding routines are used. -Otherwise <tt/tcsh/ will assume iso_8859_1, regardless of the values given to -LANG and LC_CTYPE. See the section NATIVE LANGUAGE SYSTEM in tcsh(1). -(The Danish HOWTO says: <tt>setenv LC_CTYPE ISO-8859-1; stty pass8</tt>) - -F. For <tt/flex/, give the option <tt/-8/ if the parser it generates must be -able to handle 8-bit input. (Of course it must.) - -G. For <tt/elm/, set <tt/displaycharset/ to <tt/ISO-8859-1/. -(Danish HOWTO: <tt/LANG=C/ and <tt/LC_CTYPE=ISO-8859-1/) - -H. For programs using curses (such as <tt/lynx/) David Sibley reports: -The regular curses package uses the high-order bit for reverse video mode -(see flag _STANDOUT defined in <tt>/usr/include/curses.h</tt>). However, -<tt/ncurses/ seems to be 8-bit clean and does display iso-latin-8859-1 -correctly. - -I. For programs using <tt/groff/ (such as <tt/man/), make sure to use -<tt/-Tlatin1/ instead of <tt/-Tascii/. Old versions of the program <tt/man/ -also use <tt/col/, and the next point also applies. - -J. For <tt/col/, make sure 1) that it is fixed so as to do -<tt>setlocale(LC_CTYPE,"");</tt> and 2) put -<tt>LC_CTYPE=ISO-8859-1</tt> in the environment. - -K. For <tt/rlogin/, use option <tt/-8/. - -L. For <tt/joe/, -<tt>sunsite.unc.edu:/pub/Linux/apps/editors/joe-1.0.8-linux.tar.gz</tt> -is said to work after editing the configuration file. Someone else said: -<tt/joe/: Put the <tt/-asis/ option in <tt>/isr/lib/joerc</tt> in the -first column. - -M. For LaTeX: <tt>\documentstyle[isolatin]{article}</tt>. -For LaTeX2e: <tt>\documentclass{article}\usepackage{isolatin}</tt> -where <tt>isolatin.sty</tt> is available from -<htmlurl url="ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit" -name="ftp.vlsivie.tuwien.ac.at/pub/8bit">. - -A nice discussion on the topic of ISO-8859-1 and how to manage 8-bit -characters is contained in the file <tt>grasp.insa-lyon.fr:/pub/faq/fr/accents</tt> -(in French). Another fine discussion (in English) can be found in -<htmlurl -url="ftp://rtfm.mit.edu/pub/usenet-by-group/comp.answers/internationalization/iso-8859-1-charset" -name="rtfm.mit.edu:pub/usenet-by-group/comp.answers/internationalization/iso-8859-1-charset">. - -If you need to fix a program that behaves badly with 8-bit characters, -one thing to keep in mind is that if you have a signed char type then -characters may be negative, and using them as an array index will fail. -Several programs can be fixed by judiciously adding (unsigned char) casts. - -<sect>X<p> - -This FAQ/HOWTO is about the Linux keyboard and console, not about X, -which substitutes its own handling. However, it seems useful to -document some of the Linux keyboard and console related properties -of X. - -First of all, when X is started (say using <tt/startx/ or <tt/xinit/) -it opens the first unused console, unless the desired console has been -indicated explicitly, as in <tt/xinit -- vt12/. -Note that this will fail when there is no device file <tt>/dev/tty12</tt>, -but that it will not fail when the indicated console was in use already. -When X finishes, it will return to the original console. -While it is running one can use Ctrl-Alt-Fn to switch to VTn. -<p> -The XFree86 keymap mechanism is much poorer than the Linux mechanism. -For each keycode there are at most 4 symbols defined, namely for the -4 keymaps plain, shift, mod, mod+shift. What is the modifier mod? -It is the one designated by the symbol <tt/Mode_switch/. -For example, the command <tt/xmodmap keys.dk/, where the file -<tt/keys.dk/ contains -<tscreen><verb> -keycode 64 = Mode_switch -keycode 113 = Mode_switch -keycode 38 = a A aring Aring -keycode 26 = e E ae AE -keycode 32 = o O oslash Ooblique -</verb></tscreen> -will make both Alt keys into mod keys, so that Alt+a gives å (a-ring), etc. -(Note the illogical naming of oslash and Ooblique.) -Such an <tt/xmodmap/ command can be placed in the <tt/.xinitrc/ -shell script that is executed by default when X is started. - -<sect1>What precisely does XFree86-2.1 do when it initializes its keymap?<p> -<nidx>keymap!initialization by XFree86</nidx> -<nidx>XFree86!keymap initialization</nidx> - -Since version 2.1, XFree86 will initialize its keymap from the Linux keymap, -as far as possible. However, Linux had 16 entries per key (one for each -combination of the Shift, AltGr, Ctrl, Alt modifiers) and presently has -256 entries per key, while X has 4 entries per key (one for each combination -of Shift, Mod), so some information is necessarily lost. - -First <tt/X/ reads the <tt/Xconfig/ file, where definitions of the LeftAlt, RightAlt, -RightCtl, ScrollLock keys as Meta, ModeShift, Compose, ModeLock or ScrollLock -might be found - see X386keybd(1), later XFree86kbd(1). - -For Mod the LeftAlt key is taken, unless RightCtl was defined as ModeShift or -ModeLock, in which case RightCtl is taken, or RightAlt was so defined, in which -case RightAlt is taken. -This determines how the 4 XFree86 meanings of a key are selected from the 16 -Linux meanings. -Note that Linux today does not distinguish by default between the two Ctrl keys -or between the two Shift keys. <tt/X/ does distinguish. - -Now the kernel keymap is read and the usually obvious corresponding X -bindings are made. The bindings for the "action keys" Show_Memory, Show_State, -Show_Registers, Last_Console, Console_n, Scroll_Backward, Scroll_Forward, -Caps_On and Boot are ignored, as are the dead diacriticals, and the locks -(except for ShiftLock), and the "ASCII-x" keys. - -Next, the definitions in the <tt/Xconfig/ file are used. (Thus, a definition -of Compose in <tt/Xconfig/ will override its value as found in the Linux keymap.) - -What happens to the strings associated with the function keys? Nothing, -X does not have such a concept. (But it is possible to define strings -for function keys in <tt/xterm/ - note however that the window manager gets the -keys first.) - -I don't know how to convince <tt/xterm/ that it should use the X keymap -when Alt is pressed; it seems just to look at its resource <tt/eightBitInput/, -and depending on whether that is true or false either set the high order bit -of the character, or generate an additional Escape character -(just like setmetamode(1) does for the console). - -<sect>Unusual keys and keyboards<p> -<nidx>keyboard!unusual versions of</nidx> -<nidx>keyboard!non-standard keys on</nidx> - -The two keys PrintScrn/SysRq and Pause/Break are special in that they -have two keycodes: the former has keycode 84 when Alt is pressed -simultaneously, and keycode 99 otherwise; the latter has keycode -101 when Ctrl is pressed simultaneously, and keycode 119 otherwise. -(Thus, it makes no sense to bind functions to Alt keycode 99 or -Ctrl keycode 119.) - -If you have strange keys, that do not generate any code under Linux -(or generate messages like "unrecognized scancode"), and your kernel -is 1.1.63 or later, then you can use setkeycodes(1) to tell the kernel -about them. They won't work under X, however. -Once they have gotten a keycode from <tt/setkeycodes/, they can be assigned -a function by <tt/loadkeys/. - -<sect>Examples of use of loadkeys and xmodmap<p> -<nidx>loadkeys!example using</nidx> -<nidx>xmodmap!example using</nidx> - -Switching Caps Lock and Control on the keyboard (assuming you use -keymaps 0-15; check with <tt>dumpkeys | head -1</tt>) -<tscreen><verb> - % loadkeys - keymaps 0-15 - keycode 58 = Control - keycode 29 = Caps_Lock - % -</verb></tscreen> -Switching them under X only: -<tscreen><verb> - % xmodmap .xmodmaprc -</verb></tscreen> -where <tt/.xmodmaprc/ contains lines -<tscreen><verb> - remove Lock = Caps_Lock - remove Control = Control_L - keysym Control_L = Caps_Lock - keysym Caps_Lock = Control_L - add Lock = Caps_Lock - add Control = Control_L -</verb></tscreen> -What is this about the key numbering? Backspace is 14 under Linux, -22 under X? Well, the numbering can best be regarded as arbitrary; -the Linux number of a key can be found using showkey(1), and the -X number using xev(1). Often the X number will be 8 more than the -Linux number. - -Something else people like to change are the bindings of the function keys. -Suppose that you want to make F12 produce the string "emacs ". -Then -<tscreen><verb> - % loadkeys - keycode 88 = F12 - string F12 = "emacs " - % -</verb></tscreen> -will do this. More explicitly, the procedure is like this: -(i) find the keycodes of the keys to be remapped, using showkey(1). -(ii) save the current keymap, make a copy and edit that: -<tscreen><verb> - % dumpkeys > my_keymap - % cp my_keymap trial_keymap - % emacs trial_keymap - % loadkeys trial_keymap - % -</verb></tscreen> -The format of the table can be guessed by looking at the output -of <tt/dumpkeys/, and is documented in keymaps(5). -When the new keymap functions as desired, you can put an invocation -<tscreen><verb> - loadkeys my_new_keymap -</verb></tscreen> -in <tt>/etc/rc.local</tt> or so, to execute it automatically at boot-up. -Note that changing modifier keys is tricky, and a newbie can easily -get into a situation only an expert can get out of. -<p> -The default directory for keymaps is <tt>/usr/lib/kbd/keymaps</tt>. -The default extension for keymaps is <tt>.map</tt>. -For example, <tt>loadkeys uk</tt> would probably load -<tt>/usr/lib/kbd/keymaps/i386/qwerty/uk.map</tt>. -(With kbd-0.95 and older this would be <tt>/usr/lib/kbd/keytables</tt> -and <tt>/usr/lib/kbd/keytables/uk.map</tt>.) -<p> - -(On my machine) <tt>/dev/console</tt> is a symbolic link to <tt>/dev/tty0</tt>, -and the kernel regards <tt>/dev/tty0</tt> as a synonym for the current VT. -XFree86 1.3 changes the owner of <tt>/dev/tty0</tt>, but does not reset this -after finishing. Thus, <tt/loadkeys/ or <tt/dumpkeys/ might fail because -someone else owns <tt>/dev/tty0</tt>; -in such a case you might run X first. -Note that you cannot change keyboard mappings when not at the console -(and not superuser). - -<sect1>`I can use only one finger to type with'<p> -<nidx>keyboard!making modifier keys toggle</nidx> - -"Can the Shift, Ctrl and Alt keys be made to behave as toggles?"<p> -Yes, after saying -<tscreen><verb> - % loadkeys - keymaps 0-15 - keycode 29 = Control_Lock - keycode 42 = Shift_Lock - keycode 56 = Alt_Lock - % -</verb></tscreen> -the left Control, Shift and Alt keys will act as toggles. -The numbers involved are revealed by showkey -(and usually are 29, 97, 42, 54, 56, 100 for left and right control, -shift and alt, respectively), and the functions are -Control_Lock, Shift_Lock, Alt_Lock, ALtGr_Lock. - -"What about `sticky' modifier keys?"<p> -Since version 1.3.33, the kernel knows about `sticky' modifier keys. -These act on the next key pressed. So, where one earlier needed -the 3-symbol sequence Shift_Lock a Shift_Lock to type `A', one -can now use the 2-symbol sequence SShift_Lock a. -Versions of the kbd package older than 0.93 do not yet include code -for these sticky modifiers, and have to invoke them -using their hexadecimal codes. For example, -<tscreen><verb> - % loadkeys - keymaps 0-15 - keycode 54 = 0x0c00 - keycode 97 = 0x0c02 - keycode 100 = 0x0c03 - % -</verb></tscreen> -will make the right Shift, Ctrl, Alt sticky versions of the left ones. -From 0.93 on you can say -<tscreen><verb> - % loadkeys - keymaps 0-15 - keycode 54 = SShift - keycode 97 = SCtrl - keycode 100 = SAlt - % -</verb></tscreen> -to obtain the same result. -This will allow you to type Ctrl-Alt-Del in three keystrokes with one hand. - -The keymaps line in these examples should cover all keymaps you have in use. -You find what keymaps you have in use by -<tscreen><verb> - % dumpkeys | head -1 -</verb></tscreen> - -<sect>Changing the video mode<p> -<nidx>console!changing video modes</nidx> -<nidx>video modes, changing</nidx> -<nidx>resolution, changing</nidx> - -As far as I know there are 6 ways to change resolution: - -1. At compile time: change the line -<tscreen><verb> - SVGA_MODE= -DSVGA_MODE=NORMAL_VGA -</verb></tscreen> -in <tt>/usr/src/linux/Makefile</tt>. - -1A. After compilation: use <tt>rdev -v</tt> - a terrible hack, but it exists. - -2. At boot time: put <tt>vga=ask</tt> in the lilo config file, and lilo will -ask you what video mode you want. Once you know, put <tt/vga=/mypreference. - -3. At run time: -A. Use the <tt/resizecons/ command. (This is a very primitive wrapper around -the VT_RESIZE ioctl.) -B. Use the <tt/SVGATextMode/ command. (This is a less primitive wrapper around -the VT_RESIZE ioctl.) - -4. Not "on the console": -Under <tt/dosemu/, or with svgalib etc. you can change the hardware video mode -without the console driver being aware of it. Sometimes this is useful in -getting <tt/resizecons/ or <tt/SVGATextMode/ set up: use <tt/dosemu/ and some -DOS program to get into the desired videomode, dump (say from another VT) the -contents of all video hardware registers, and use that in the initialization -that <tt/resizecons/ and <tt/SVGATextMode/ require. -In some cases where the video mode has gotten into some unusable state, -starting <tt/dosemu/, relying on the BIOS to set up the video mode, and then -killing <tt/dosemu/ (with <tt/kill -9/), is the easiest way to get into shape -again. - -<sect1>Instructions for the use of resizecons<p> -<nidx>resizecons program</nidx> - -Get svgalib and compile the program <tt/restoretextmode/. -Boot up your machine in all possible video modes -(using <tt/vga=ask/ in the lilo config file), and write -the video hardware register contents to files CxR -(C=cols, R=rows), e.g., 80x25, 132x44, etc. -Put these files in <tt>/usr/lib/kbd/videomodes</tt>. -Now <tt>resizecons 132x44</tt> will change videomode for you -(and send SIGWINCH to all processes that need to know -about this, and load another font if necessary). - -At present, <tt/resizecons/ only succeeds when there is memory enough -for both the old and the new consoles at the same time. - -<sect>Changing the keyboard repeat rate<p> -<nidx>keyboard!repeat rate, setting</nidx> - -At startup, the Linux kernel sets the repeat rate to its maximal value. -For most keyboards this is reasonable, but for some it means that you -can hardly touch a key without getting three copies of the corresponding -symbol. Use the program kbdrate(8) to change the repeat rate, or, if -that doesn't help, edit or remove the section -<code> - ! set the keyboard repeat rate to the max - - mov ax,#0x0305 - xor bx,bx ! clear bx - int 0x16 -</code> -of <tt>/usr/src/linux/[arch/i386/]boot/setup.S</tt>. - -Scott Johnston (<tt/sj@zule.com/) reports: `To program the -repeat rate of a Gateway AnyKey keyboard all one has to do -is press the "Repeat Rate" key, then a function key -F1-F8, then "Repeat Rate" again. F1 is the slowest possible repeat rate, -and F8 is really fast. If you somehow manage to mess up your AnyKey -keyboard doing this, simply press Ctrl-Alt-SuspndMacro to reset -your keyboard to factory default settings.' - -<sect>Scrolling<p> -<nidx>console!scrolling</nidx> -<nidx>scrolling, console</nidx> - -There are two ways to get a screen to scroll. -The first, called `hard scrolling', is to leave the text in -video memory as it is, but change the viewing origin. This is -very fast. -The second, called `soft scrolling', involves moving all screen text -up or down. This is much slower. -The kernel console driver will write text starting at the top of -the video memory, continuing to the bottom, then copy the bottom -part to the top again, and continue, all the time using hard scrolling -to show the right part on the screen. -You can scroll back until the top op the video memory by using -Shift-PageUp (the grey PageUp) and scroll down again using -Shift-PageDown (the grey PageDown), assuming a default keymap. -The amount of scrollback is thus limited to the amount of video memory -you happen to have and you cannot increase this amount. -If you need more scrollback, use some program that -buffers the text, like <tt/less/ or <tt/screen/ - by using -a buffer on disk you can go back to what you did last week. -(One can set the amount of scrollback for <tt/xterm/ by -adding a line like <tt/XTerm*saveLines: 2500/ in <tt/.Xresources/.) - -Upon changing virtual consoles, the screen content of the old VT -is copied to kernel memory, and the screen content of the new VT -is copied from kernel memory to video memory. Only the visible screen -is copied, not all of video memory, so switching consoles means -losing the scrollback information. - -Sometimes, hard scrolling is undesirable, for example when the hardware -does not have the possibility to change viewing origin. The first -example was a Braille machine that would render the top of video -memory in Braille. There is a kernel boot-time option <tt/no-scroll/ -to tell the console driver not to use hard scrolling. -See bootparam(7). - -<sect>Screensaving<p> -<nidx>screensaving!controlling</nidx> -<nidx>screen blanking</nidx> - -<tt>setterm -blank</tt> <it/nn/ will tell the console driver to blank the -screen after <it/nn/ minutes of inactivity. (With <it/nn/ = 0, screensaving -is turned off. In some old kernels this first took effect after the next -keyboard interrupt.) - -The <tt/s/ option of xset(1) will set the X screensaving parameters: -<tt>xset s off</tt> turns off the screensaver, -<tt>xset s 10</tt> blanks the screen after 10 minutes. - -The video hardware powersaving modes can be enabled/disabled -using the <tt/setvesablank/ program given in the starting comment of -<tt>/usr/src/linux/drivers/char/vesa_blank.c</tt>. - -<sect>Screen dumps<p> -<nidx>console!screenshots, obtaining</nidx> -<nidx>screenshots!obtaining from console</nidx> - -<tt>setterm -dump</tt> <it/N/ will dump the contents of the -screen of <tt>/dev/tty</tt><it/N/ to a file <tt/screen.dump/ -in the current directory. See setterm(1). - -The current contents of the screen of <tt>/dev/tty</tt><it/N/ -can be accessed using the device <tt>/dev/vcs</tt><it/N/ -(where `vcs' stands for `virtual console screen'). -For example, you could have a clock program that displays the -current time in the upper right hand corner of the console screen -(see the program <tt/vcstime/ in <tt/kbd-0.96.tar.gz/). -Just dumping the contents goes with <tt>cat /dev/vcs</tt><it/N/. -These device files <tt>/dev/vcs</tt><it/N/ do not contain -newlines, and do not contain attributes, like colors. From a program -it is usually better to use <tt>/dev/vcsa</tt><it/N/ -(`virtual console screen with attributes') instead - it starts with -a header giving the number of rows and columns and the location -of the cursor. -See vcs(4). - -<sect>Some properties of the VT100 - application key mode<p> -<nidx>keyboard!VT100 application key mode</nidx> -<nidx>VT100 application key mode</nidx> - -: Sometimes my cursor keys or keypad keys produce strange codes? - -When the terminal is in application cursor key mode the cursor keys -produce Esc O x and otherwise Esc [ x where x is one of A,B,C,D. -Certain programs put the terminal in application cursor key mode; -if you kill them with <tt/kill -9/, or if they crash, then the mode will -not be reset. -<verb> % echo -e '\033c' </verb> -resets all properties of the current VC. Just changing the cursor -application key mode is done by -<verb> % echo -e '\033[?1h' </verb> -(set) and -<verb> % echo -e '\033[?1l' </verb> -(clear). - -When the terminal is in application keypad key mode the keypad keys -produce Esc O y and otherwise Esc [ z ˜ for -certain y and z. Setting application keypad key mode is done by -<verb> % echo -e '\033=' </verb> -and -<verb> % echo -e '\033>' </verb> -clears it again. - -<sect>Hardware incompatibility<p> -<nidx>keyboard!hardware incompatibilities</nidx> -<nidx>incompatibility!keyboard-related</nidx> - -Several people have noticed that they lose typed characters when -a floppy disk is active. It seems that this might be a problem with -Uni-486WB motherboards. - -Tjalling Tjalkens (<tt/tjalling@ei.ele.tue.nl/) reports very similar problems -with "a no-brand GMB-486 UNP Vesa motherboard with AMD 486DX2-66 CPU" - -during floppy activity some keystrokes are lost, during floppy tape streamer -(Conner C 250 MQ) activity many keystrokes are lost. - -Some people experience sporadic lockups - sometimes associated to -hard disk activity or other I/O. - -Ulf Tietz (<tt/ulf@rio70.bln.sni.de/) wrote: -`I have had the same problems, when I had my motherboard tuned too fast. -So I reset all the timings ( CLK, wait statements etc ) to more -conventional values, and the problems are gone.' - -Bill Hogan (<tt/bhogan@crl.com/) wrote: -`If you have an AMI BIOS, you might try setting the Gate A20 emulation -parameter to "chipset" (if you have that option). Whenever I have had -that parameter set to any of the other options on my machine -("fast", "both", "disabled") I have had frequent keyboard lockups.' - -There may be a relation between keyboard problems and the video card in use. - -Shawn K. Quinn (<tt/skquinn@wt.net/) wrote: -`I have a Zeos Pantera Pentium-90 that originally came with a Diamond Stealth -64 S3-based video card. Under X I frequently got q's inserted into my text -(how annoying) especially if I typed very fast (during Netrek for instance, -even more annoying because guess what that does :-( ). -Switching to a Creative Labs Graphics Blaster MA202 solved the problem. -I'm assuming the Stealth 64 did something funny with the timings.' - -<sect>Copyright<p> -Copyright (c) 1993-1999 by Andries Brouwer. This document may be -distributed under the terms set forth in the LDP license -at <htmlurl url="http://sunsite.unc.edu/LDP/COPYRIGHT.html" -name="http://sunsite.unc.edu/LDP/COPYRIGHT.html"> or -<htmlurl url="ftp://www.win.tue.nl/pub/linux/LDP/COPYRIGHT.txt" -name="ftp://www.win.tue.nl/pub/linux/LDP/COPYRIGHT.txt">. - -Additions and corrections are welcome. -Andries Brouwer - <tt/aeb@cwi.nl/ - -</article> diff -Nru console-tools-0.2.3/doc/kbd.FAQ.txt console-tools-0.2.3/doc/kbd.FAQ.txt --- console-tools-0.2.3/doc/kbd.FAQ.txt 1999-04-15 00:35:09.000000000 +0000 +++ console-tools-0.2.3/doc/kbd.FAQ.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,2112 +0,0 @@ - The Linux keyboard and console HOWTO - Andries Brouwer, aeb@cwi.nl - v2.9, 990114 - - This note contains some information about the Linux keyboard and con- - sole, and the use of non-ASCII characters. It describes Linux 2.0. - ______________________________________________________________________ - - Table of Contents - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1. Useful programs - - 2. Keyboard generalities - - 3. Console generalities - - 4. Resetting your terminal - - 4.1 Keyboard hardware reset - - 5. Delete and Backspace - - 5.1 How to tell Unix what character you want to use to delete the last typed character - 5.1.1 `Getty used to do the right thing with DEL and BS but is broken now?' - 5.1.2 `Login behaves differently at the first and second login attempts?' - 5.2 How to tell Linux what code to generate when a key is pressed - 5.2.1 `Why doesn't the Backspace key generate BackSpace by default?' - 5.3 How to tell X to interchange Delete and Backspace - 5.4 How to tell emacs what to do when it receives a Delete or Backspace - 5.5 How to tell emacs to interchange Delete and Backspace - 5.6 How to tell kermit to interchange Delete and Backspace - 5.7 How to tell xterm to interchange Delete and Backspace - 5.8 How to tell xterm about your favourite tty modes - 5.9 How to tell xmosaic that the Backspace key generates a DEL - 5.10 A better solution for Motif-using programs, like netscape - 5.11 What about termcap and terminfo? - 5.12 A complete solution - - 6. The console character sets - - 7. Console switching - - 7.1 Changing the number of Virtual Consoles - - 8. Ctrl-Alt-Del and other special key combinations - - 8.1 Ctrl-Alt-Del (Boot) - 8.2 Other combinations - 8.3 X Combinations - 8.4 Dosemu Combinations - 8.5 Composing symbols - 8.6 The SysRq key - - 9. How to get out of raw mode - - 10. The keyboard LEDs - - 11. The TERM variable - - 11.1 Terminfo - - 12. How to make other programs work with non-ASCII chars - - 13. X - - 13.1 What precisely does XFree86-2.1 do when it initializes its keymap? - - 14. Unusual keys and keyboards - - 15. Examples of use of loadkeys and xmodmap - - 15.1 `I can use only one finger to type with' - - 16. Changing the video mode - - 16.1 Instructions for the use of resizecons - 17. Changing the keyboard repeat rate - - 18. Scrolling - - 19. Screensaving - - 20. Screen dumps - - 21. Some properties of the VT100 - application key mode - - 22. Hardware incompatibility - - 23. Copyright - - - - ______________________________________________________________________ - - 11.. UUsseeffuull pprrooggrraammss - - - The following packages contain keyboard or console related programs. - - kbd-0.96.tar.gz contains loadkeys, dumpkeys, showkey, setmetamode, - setleds, setfont, showfont, mapscrn, kbd_mode, loadunimap, chvt, - resizecons, deallocvt, getkeycodes, setkeycodes. - - util-linux-2.6 contains setterm, kbdrate. (Yes, the more in util- - linux-2.6 dumps core due to a name conflict. Preserve your old copy, - or use util-linux-2.5, or change `savetty' to `my_savetty' in more.c.) - - sh-utils-1.12 contains stty. - - open-1.4.tgz contains open (that should be renamed to openvt). (See - also dynamic-vc-1.1.tar.gz and consd-1.1.tgz.) - - SVGATextMode-1.8.tar.gz contains SVGATextMode, a program that - obsoletes resizecons. - - The X distribution contains xmodmap, xset, kbd_mode. (See also - X386keybd(1) for the situation under XFree86 1.3, and Xserver(1) for - the XKEYBOARD extension under X11R6.) - - termcap-2.0.8.tar.gz contains termcap, an old terminal capabilities - data base. ncurses-1.9.9e.tar.gz contains the termlib data base which - obsoletes termcap. (However, there are still many programs using - termcap.) - - See loadkeys(1), setleds(1) and setmetamode(1) for the codes generated - by the various keys and the setting of leds when not under X. Under X, - see xmodmap(1) and xset(1). - - See setfont(8) for loading console fonts. Many people will want to - load a font like iso01.f16 because the default font is the hardware - font of the video card, and often is a `Code Page 437' font missing - accented characters and other Latin-1 symbols. - - See setterm(1) and kbdrate(8) for properties such as foreground and - background colors, screen blanking and character repeat rate when not - under X. Under X, see xset(1), also for key click and bell volume. - - The file /etc/termcap defines the escape sequences used by many - programs addressing the console (or any other terminal). See - termcap(5). A more modern version is found in /usr/lib/terminfo. See - terminfo(5). Terminfo files are compiled by the terminfo compiler - /usr/lib/terminfo/tic, see tic(1). Their contents can be examined - using the program infocmp, see infocmp(1). The Linux console - sequences are documented in console_codes(4). - - - - 22.. KKeeyybbooaarrdd ggeenneerraalliittiieess - - - You press a key, and the keyboard controller sends scancodes to the - kernel keyboard driver. Some keyboards can be programmed, but usually - the scancodes corresponding to your keys are fixed. The kernel - keyboard driver just transmits whatever it receives to the application - program when it is in _s_c_a_n_c_o_d_e _m_o_d_e, like when X is running. - Otherwise, it parses the stream of scancodes into keycodes, - corresponding to key press or key release events. (A single key press - can generate up to 6 scancodes.) These keycodes are transmitted to - the application program when it is in _k_e_y_c_o_d_e _m_o_d_e (as used, for - example, by showkey). Otherwise, these keycodes are looked up in the - keymap, and the character or string found there is transmitted to the - application, or the action described there is performed. (For - example, if one presses and releases the a key, then the keyboard - produces scancodes 0x1e and 0x9e, this is converted to keycodes 30 and - 158, and then transmitted as 0141, the ASCII or latin-1 code for `a'; - if one presses and releases Delete, then the keyboard produces - scancodes 0xe0 0x53 0xe0 0xd3, these are converted to keycodes 111 and - 239, and then transmitted as the 4-symbol sequence ESC [ 3 ~, all - assuming a US keyboard and a default keymap. An example of a key - combination to which an action is assigned is Ctrl-Alt-Del.) - - The translation between unusual scancodes and keycodes can be set - using the utility setkeycodes - only very few people will need it. - The translation between keycodes and characters or strings or actions, - that is, the keymap, is set using the utilities loadkeys and - setmetamode. For details, see getkeycodes(8), setkeycodes(8), - dumpkeys(1), loadkeys(1), setmetamode(1). The format of the files - output by dumpkeys and read by loadkeys is described in keymaps(5). - - Where it says `transmitted to the application' in the above - description, this really means `transmitted to the terminal driver'. - That is, further processing is just like that of text that comes in - over a serial line. The details of this processing are set by the - program stty. - - - 33.. CCoonnssoollee ggeenneerraalliittiieess - - - Conversely, when you output something to the console, it first - undergoes the standard tty processing, and then is fed to the console - driver. The console driver emulates a VT100, and parses the input in - order to recognize VT100 escape sequences (for cursor movement, clear - screen, etc.). The characters that are not part of an escape sequence - are first converted into Unicode, using one of four mapping tables if - the console was not in UTF-8 mode to start with, then looked up in the - table describing the correspondence between Unicode values and font - positions, and the obtained 8- or 9-bit font indices are then written - to video memory, where they cause the display of character shapes - found in the video card's character ROM. One can load one's own fonts - into character ROM using setfont, load the corresponding Unicode map - with loadunimap, and load a user mapping table using mapscrn. More - details will be given below. - - There are many consoles (called _V_i_r_t_u_a_l _C_o_n_s_o_l_e_s or _V_i_r_t_u_a_l _T_e_r_m_i_n_a_l_s, - abbreviated VCs or VTs) that share the same screen. You can use them - as independent devices, either to run indendent login sessions, or - just to send some output to, perhaps from top, or the tail of the - system log or so. See below (`Console switching') on how to set them - up and switch between them. - - - - 44.. RReesseettttiinngg yyoouurr tteerrmmiinnaall - - - There is garbage on the screen, or all your keystrokes are echoed as - line drawing characters. What to do? - - Many programs will redraw the screen when Ctrl-L is typed. This might - help when there is some modem noise or broadcast message on your - screen. The command clear will clear the screen. - - The command reset will reset the console driver. This helps when the - screen is full of funny graphic characters, and also if it is reduced - to the bottom line. If you don't have this command, or if it does - something else, make your own by putting the following two lines in an - executable file reset in your PATH: - - - #!/bin/sh - echo -e \\033c - - - - - that is, you want to send the two characters ESC c to the console. - - Why is it that the display sometimes gets confused and gives you a - 24-line or 1-line screen, instead of the usual 25 lines? Well, the - main culprit is the use of TERM=vt100 (or some other entry with 24 - lines) instead of TERM=linux when logged in remotely. If this happens - on /dev/tty2 then typing - - - % cat > /dev/tty2 - ^[c - ^D - - - - - on some other VT (where 4 symbols are typed to cat: ESC, c, ENTER, - Ctrl-D) and refreshing the screen on /dev/tty2 (perhaps using Ctrl-L) - will fix things. Of course the permanent fix is to use the right term- - cap or terminfo entry. - - Why is it that you sometimes get a lot of line-drawing characters, - e.g., after catting a binary to the screen? Well, there are various - character set changing escape sequences, and by accident your binary - might contain some of these. The ESC c is a general reset, a cure for - all, but if you know precisely what went wrong you can repair it - without resetting other console attributes. For example, after - - - % cat - ^N - ^D - - - - - your shell prompt will be all line-drawing characters. Now do (typing - blindly) - % cat - ^O - ^D - - - - - and all is well again. (Three symbols typed to each cat: Ctrl-N (or - Ctrl-O), ENTER, Ctrl-D.) To understand what is happening, see `The - console character sets' below. - - If you loaded some strange font, and want to return to the default, - - - % setfont - - - - - will do (provided you stored the default font in the default place). - If this default font does not contain an embedded Unicode map (and - gives the wrong symbols for accented characters), then say - - - % loadunimap - - - - - For example, if I do - - - % loadkeys de-latin1 - - - - - then I have a German keyboard, and the key left of the Enter key gives - me a-umlaut. This works, because the a-umlaut occurs on the CP437 code - page and the kernel Unicode map is initialized to CP437, and my video - card has a CP437 font built-in. If I now load an ISO 8859-1 font with - - - % setfont iso01.f16 - - - - - then everything still works, because setfont invalidates the kernel - Unicode map (if there is no Unicode map attached to the font), and - without map the kernel goes directly to the font, and that is pre- - cisely correct for an ISO 8859-1 system with iso01.f16 font. But - going back to the previous font with - - - % setfont - - - - - gives capital Sigma's instead of a-umlaut - all accented letters are - mixed up because also this font has no embedded Unicode map. After - - - % loadunimap - - which loads the default Unicode map (which is right for the default - font) all works correctly again. Usually loadunimap is not invoked - directly, but via setfont. Thus, the previous two commands may be - replaced by - - - % setfont -u def - - - - - The Ethiopian fonts and the lat1u*.psf fonts have embedded Unicode - code map. Most of the others don't. - - On old terminals output involving tabs may require a delay, and you - have to say - - - % stty tab3 - - - - - (see stty(1)). - - You can change the video mode using resizecons or SVGATextMode. This - usually settles the output side. On the input side there are many - things that might be wrong. If X or DOOM or some other program using - raw mode crashed, your keyboard may still be in raw (or mediumraw) - mode, and it is difficult to give commands. (See "How to get out of - raw mode" below.) If you loaded a bad keymap, then - - - % loadkeys -d - - - - - loads the default map again, but it may well be difficult to type `-'! - An alternative is - - - % loadkeys defkeymap - - - - - Sometimes even the letters are garbled. It is useful to know that - there are four main types of keyboards: QWERTY, QWERTZ, AZERTY and - DVORAK. The first three are named after the first six letter keys, - and roughly represent the English, German and French speaking coun- - tries. Compared to QWERTY, the QWERTZ map interchanges Y and Z. Com- - pared to QWERTY, the AZERTY map interchanges Q and A, W and Z, and has - its M right of the L, at the semicolon position. DVORAK has an - entirely different letter ordering. There are two types of Turkish - keyboard. The so-called `Q'-keyboard has a QWERTY layout, while the - `F'-keyboard has an entirely different layout, let us say fgGIod, - where G stands for Gbreve and I for dotlessi. - - - 44..11.. KKeeyybbooaarrdd hhaarrddwwaarree rreesseett - - - Things may be wrong on a lower level than Linux knows about. There - are at least two distinct lower levels (keyboard and keyboard - controller) where one can give the command "keyboard disable" to the - keyboard hardware. Keyboards can often be programmed to use one out - of three different sets of scancodes. - - However, I do not know of cases where this turned out to be a problem. - - Some keyboards have a remapping capability built in. Stormy Henderson - (stormy@Ghost.Net) writes: `If it's your keyboard accidently being - reprogrammed, you can (on a Gateway AnyKey keyboard) press control- - alt-suspend_macro to reset the keys to normal.' - - - 55.. DDeelleettee aanndd BBaacckkssppaaccee - - - Getting Delete and Backspace to work just right is nontrivial, - especially in a mixed environment, where you talk to console, to X, to - bash, to emacs, login remotely, etc. You may have to edit several - configuration files to tell all of the programs involved precisely - what you want. On the one hand, there is the matter of which keys - generate which codes (and how these codes are remapped by e.g. kermit - or emacs), and on the other hand the question of what functions are - bound to what codes. - - People often complain `my backspace key does not work', as if this key - had a built-in function `delete previous character'. Unfortunately, - all this key, or any key, does is producing a code, and one only can - hope that the kernel tty driver and all application programs can be - configured such that the backspace key indeed does function as a - `delete previous character' key. - - Most Unix programs get their tty input via the kernel tty driver in - `cooked' mode, and a simple stty command determines the erase - character. However, programs like bash and emacs and X do their own - input handling, and have to be convinced one-by-one to do the right - thing. - - - 55..11.. HHooww ttoo tteellll UUnniixx wwhhaatt cchhaarraacctteerr yyoouu wwaanntt ttoo uussee ttoo ddeelleettee tthhee - llaasstt ttyyppeedd cchhaarraacctteerr - - - - - % stty erase ^? - - - - - If the character is erased, but in a funny way, then something is - wrong with your tty settings. If echoprt is set, then erased charac- - ters are enclosed between \ and /. If echoe is not set, then the - erase char is echoed (which is reasonable when it is a printing char- - acter, like #). Most people will want stty echoe -echoprt. Saying - stty sane will do this and more. Saying stty -a shows your current - settings. How come this is not right by default? It is, if you use - the right getty. - - Note that many programs (like bash, emacs etc.) have their own - keybindings (defined in ~/.inputrc, ~/.emacs etc.) and are unaffected - by the setting of the erase character. - - The standard Unix tty driver does not recognize a cursor, or keys - (like the arrow keys) to move the current position, and hence does not - have a command `delete current character' either. But for example you - can get bash on the console to recognize the Delete key by putting - - set editing-mode emacs - "\e[3~":delete-char - - - - - into ~/.inputrc. - - - 55..11..11.. ``GGeettttyy uusseedd ttoo ddoo tthhee rriigghhtt tthhiinngg wwiitthh DDEELL aanndd BBSS bbuutt iiss bbrroo-- - kkeenn nnooww??'' - - - Earlier, the console driver would do BS Space BS (\010\040\010) when - it got a DEL (\177). Nowadays, DEL's are ignored (as they should be, - since the driver emulates a vt100). Get a better getty, i.e., one that - does not output DEL. - - - 55..11..22.. ``LLooggiinn bbeehhaavveess ddiiffffeerreennttllyy aatt tthhee ffiirrsstt aanndd sseeccoonndd llooggiinn - aatttteemmppttss??'' - - - At the first attempt, you are talking to getty. At the second attempt, - you are talking to login, a different program. - - - 55..22.. HHooww ttoo tteellll LLiinnuuxx wwhhaatt ccooddee ttoo ggeenneerraattee wwhheenn aa kkeeyy iiss pprreesssseedd - - - On the console, or, more precisely, when not in (MEDIUM)RAW mode, use - - - % loadkeys mykeys.map - - - - - and under X use - - - % xmodmap mykeys.xmap - - - - - Note that (since XFree86-2.1) X reads the Linux settings of the - keymaps when initialising the X keymap. Although the two systems are - not 100% compatible, this should mean that in many cases the use of - xmodmap has become superfluous. - - For example, suppose that you would like the Backspace key to send a - BackSpace (Ctrl-H, octal 010) and the grey Delete key a DEL (octal - 0177). Add the following to /etc/rc.local (or wherever you keep your - local boot-time stuff): - - - /usr/bin/loadkeys << EOF - keycode 14 = BackSpace - keycode 111 = Delete - EOF - - - - - Note that this will only change the function of these keys when no - modifiers are used. (You need to specify a keymaps line to tell which - keymaps should be affected if you want to change bindings on more - keymaps.) The Linux kernel default lets Ctrl-Backspace generate - BackSpace - this is sometimes useful as emergency escape, when you - find you can only generate DELs. - - The left Alt key is sometimes called the Meta key, and by default the - combinations AltL-X are bound to the symbol MetaX. But what character - sequence is MetaX? That is determined (per-tty) by the Meta flag, set - by the command setmetamode. The two choices are: ESC X or X or-ed with - 0200. - - Many distributions have a loadkeys command somewhere in the bootup - sequence. For example, one may have the name of the desired keymap in - /etc/sysconfig/keyboard and the loadkeys command that loads it in - /etc/rc.d/init.d/keytable. Or one may have the actual default keymap - in /etc/default.keytab and the loadkeys command that loads it in - /etc/rc.d/boot. Etc. Instead of adding a local modification to the - default, one can of course change the default by editing the default - keymap or changing the name of the keymap to be loaded at boot time. - Note that loadkeys itself has default keymap defkeymap.map located - somewhere under /usr/lib/kbd or /usr/share/kbd (just like all other - keymaps) and this may not yet be available in single user boot before - /usr has been mounted. - - - 55..22..11.. ``WWhhyy ddooeessnn''tt tthhee BBaacckkssppaaccee kkeeyy ggeenneerraattee BBaacckkSSppaaccee bbyy ddeeffaauulltt??'' - - - (i) Because the VT100 had a Delete key above the Enter key. - - (ii) Because Linus decided so. - - - 55..33.. HHooww ttoo tteellll XX ttoo iinntteerrcchhaannggee DDeelleettee aanndd BBaacckkssppaaccee - - - - - % xmodmap -e "keysym BackSpace = Delete" -e "keysym Delete = BackSpace" - - - - - Or, if you just want the Backspace key to generate a BackSpace: - - - % xmodmap -e "keycode 22 = BackSpace" - - - - - Or, if you just want the Delete key to generate a Delete: - - - % xmodmap -e "keycode 107 = Delete" - - - - - (but usually this is the default binding already). - - - - - - 55..44.. HHooww ttoo tteellll eemmaaccss wwhhaatt ttoo ddoo wwhheenn iitt rreecceeiivveess aa DDeelleettee oorr - BBaacckkssppaaccee - - - Put in your .emacs file lines like - - - (global-set-key "\?" 'help-command) - (global-set-key "\C-h" 'delete-backward-char) - - - - - Of course you can bind other commands to other keys in the same way. - Note that various major and minor modes redefine keybindings. For - example, in incremental search mode one finds the code - - - (define-key map "\177" 'isearch-delete-char) - (define-key map "\C-h" 'isearch-mode-help) - - - - - This means that it may be a bad idea to use the above two global-set- - key commands. There are too many places where there are built-in - assumptions about Ctrl-H = help and DEL = delete. That doesn't mean - that you have to setup keys so that Backspace generates DEL. But if it - doesn't then it is easiest to remap them at the lowest possible level - in emacs. - - - 55..55.. HHooww ttoo tteellll eemmaaccss ttoo iinntteerrcchhaannggee DDeelleettee aanndd BBaacckkssppaaccee - - - Put in your .emacs file lines - - - (setq keyboard-translate-table (make-string 128 0)) - (let ((i 0)) - (while (< i 128) - (aset keyboard-translate-table i i) - (setq i (1+ i)))) - (aset keyboard-translate-table ?\b ?\^?) - (aset keyboard-translate-table ?\^? ?\b) - - - - - Recent versions of emacs have a function keyboard-translate and one - may simplify the above to - - - (keyboard-translate ?\C-h ?\C-?) - (keyboard-translate ?\C-? ?\C-h) - - - - - Note that under X emacs can distinguish between Ctrl-h and the - Backspace key (regardless of what codes these produce on the console), - and by default emacs will view the Backspace key as DEL (and do dele- - tion things, as bound to that character, rather than help things, - bound to Ctrl-H). One can distinguish Backspace and Delete, e.g. by - - - (global-unset-key [backspace] ) - (global-set-key [backspace] 'delete-backward-char) - (global-unset-key [delete] ) - (global-set-key [delete] 'delete-char) - - - - - - 55..66.. HHooww ttoo tteellll kkeerrmmiitt ttoo iinntteerrcchhaannggee DDeelleettee aanndd BBaacckkssppaaccee - - - Put in your .kermrc file the lines - - - set key \127 \8 - set key \8 \127 - - - - - - 55..77.. HHooww ttoo tteellll xxtteerrmm ttoo iinntteerrcchhaannggee DDeelleettee aanndd BBaacckkssppaaccee - - - - XTerm*VT100.Translations: #override\n\ - <KeyPress> BackSpace : string(0x7f)\n\ - <KeyPress> Delete : string(0x08)\n - - - - - - 55..88.. HHooww ttoo tteellll xxtteerrmm aabboouutt yyoouurr ffaavvoouurriittee ttttyy mmooddeess - - - Normally xterm will inherit the tty modes from its invoker. Under - xdm, the default erase and kill characters are # and @, as in good old - Unix Version 6. If you don't like that, you might put something like - - - XTerm*ttymodes: erase ^? kill ^U intr ^C quit ^\ eof ^D \ - susp ^Z start ^Q stop ^S eol ^@ - - - - - in /usr/lib/X11/app-defaults/XTerm or in $HOME/.Xresources, assuming - that you have a line - - - xrdb -merge $HOME/.Xresources - - - - - in your $HOME/.xinitrc or $HOME/.xsession. - - - 55..99.. HHooww ttoo tteellll xxmmoossaaiicc tthhaatt tthhee BBaacckkssppaaccee kkeeyy ggeenneerraatteess aa DDEELL - - - Putting - - - *XmText.translations: #override\n\ - <Key>osfDelete: delete-previous-character() - *XmTextField.translations: #override\n\ - <Key>osfDelete: delete-previous-character() - - - - - in your $HOME/.Xdefaults or $HOME/.Xresources helps. (What file? The - file that is fed to xrdb, for example in .xinitrc.) - - The netscape FAQ, however, says: - - Why doesn't my Backspace key work in text fields? - By default, Linux and XFree86 come with the Backspace and Delete keys - misconfigured. All Motif programs (including, of course, Netscape - Navigator) will malfunction in the same way. - - The Motif spec says that Backspace is supposed to delete the previous - character and Delete is supposed to delete the following character. - Linux and XFree86 come configured with both the Backspace and Delete - keys generating Delete. - - You can fix this by using any one of the xmodmap, xkeycaps, or - loadkeys programs to make the key in question generate the BackSpace - keysym instead of Delete. - - You can also fix it by having a .motifbind file; see the man page - for VirtualBindings(3). - - Note: Don't use the *XmText.translations or *XmTextField.translations - resources to attempt to fix this problem. If you do, you will blow - away Netscape Navigator's other text-field key bindings. - - - - - 55..1100.. AA bbeetttteerr ssoolluuttiioonn ffoorr MMoottiiff--uussiinngg pprrooggrraammss,, lliikkee nneettssccaappee - - - Ted Kandell (ted@tcg.net) suggests the following: - - Somewhere in your .profile add the following: - - - stty erase ^H - - - - - If you are using bash, add the following lines to your .inputrc: - - - "\C-?": delete-char - "\C-h": backward-delete-char - - - - - Add the following lines to your .xinitrc file: - - - - - - - xmodmap <<-EOF - keycode 22 = BackSpace osfBackSpace - keycode 107 = Delete - EOF - - # start your window manager here, for example: - #(fvwm) 2>&1 | tee /dev/tty /dev/console - - stty sane - stty erase ^H - loadmap <<-EOF - keycode 14 = BackSpace - keycode 111 = Delete - EOF - - - - - This will definitely work for a PC 101 or 102 key keyboard with any - Linux/XFree86 layout. - - The important part to making Motif apps like Netscape work properly is - adding osfBackSpace to keycode 22 in addition to BackSpace. - - Note that there must be spaces on either side of the = sign. - - - - 55..1111.. WWhhaatt aabboouutt tteerrmmccaapp aanndd tteerrmmiinnffoo?? - - - When people have problems with backspace, they tend to look at their - termcap (or terminfo) entry for the terminal, and indeed, there does - exist a kb (or kbs) capability describing the code generated by the - Backspace key. However, not many programs use it, so unless you are - having problems with one particular program only, probably the fault - is elsewhere. Of course it is a good idea anyway to correct your - termcap (terminfo) entry. See also below under "The TERM variable". - - - 55..1122.. AA ccoommpplleettee ssoolluuttiioonn - - There are many possibilities to get a functioning system. Can't you - give one complete set of settings that works? - - One way of getting a setup that works in all contexts is to have the - Backspace key generate DEL when on the console (or xterm), and - BackSpace when under X. Maybe that is most convenient - there are too - many X utilities that expect BackSpace, and emacs on the console or - xterm expects DEL, while emacs under X can distinguish [BackSpace] - from Ctrl-H and does the right thing. - - What is needed? No loadkeys changes, since the Backspace key already - generates DEL by default. No stty settings, they are OK by default. - No X settings, they are OK by default. One just has to tell xterm - that the Backspace key should generate DEL: put - - - XTerm*VT100.Translations: #override\n\ - <KeyPress> BackSpace : string(0x7f)\n\ - - - - - in .Xresources, and - - xrdb -merge .Xresources - - - - - in .xinitrc, and you are settled. - - - 66.. TThhee ccoonnssoollee cchhaarraacctteerr sseettss - - - The kernel first tries to figure out what symbol is meant by any given - user byte, and next where this symbol is located in the current font. - - The kernel knows about 5 translations of bytes into console-screen - symbols. In Unicode (UTF-8) mode, the UTF-8 code is just converted - directly into Unicode. The assumption is that almost all symbols one - needs are present in Unicode, and for the cases where this does not - hold the codes 0xff** are reserved for direct font access. When not - in Unicode mode, one of four translation tables is used. The four - tables are: a) Latin1 -> Unicode, b) VT100 graphics -> Unicode, c) PC - -> Unicode, d) user-defined. - - There are two character sets, called G0 and G1, and one of them is the - current character set. (Initially G0.) Typing Ctrl-N causes G1 to - become current, Ctrl-O causes G0 to become current. - - These variables G0 and G1 point at a translation table, and can be - changed by the user. Initially they point at tables a) and b), - respectively. The sequences ESC ( B and ESC ( 0 and ESC ( U and ESC ( - K cause G0 to point at translation table a), b), c) and d), - respectively. The sequences ESC ) B and ESC ) 0 and ESC ) U and ESC ) - K cause G1 to point at translation table a), b), c) and d), - respectively. - - The sequence ESC c causes a terminal reset, which is what you want if - the screen is all garbled. The oft-advised echo ^V^O will only make G0 - current, but there is no guarantee that G0 points at table a). In - some distributions there is a program reset(1) that just does echo - ^[c. If your termcap entry for the console is correct (and has an - entry :rs=\Ec:), then also setterm -reset will work. - - The user-defined mapping table can be set using mapscrn(8). The - result of the mapping is that if a symbol c is printed, the symbol s = - map[c] is sent to the video memory. The bitmap that corresponds to s - is found in the character ROM, and can be changed using setfont(8). - - - 77.. CCoonnssoollee sswwiittcchhiinngg - - - By default, console switching is done using Alt-Fn or Ctrl-Alt-Fn. - Under X (or recent versions of dosemu), only Ctrl-Alt-Fn works. Many - keymaps will allow cyclic walks through all allocated consoles using - Alt-RightArrow and Alt-LeftArrow. - - XFree86 1.3 does not know that Alt is down when you switch to the X - window. Thus, you cannot switch immediately to some other VT again but - have to release Alt first. In the other direction this should work: - the kernel always keeps track of the up/down status of all keys. (As - far as possible: on some keyboards some keys do not emit a scancode - when pressed (e.g.: the PFn keys of a FOCUS 9000) or released (e.g.: - the Pause key of many keyboards).) - - XFree86 1.3 saves the fonts loaded in the character ROMs when started, - and restores it on a console switch. Thus, the result of setfont on a - VT is wiped out when you go to X and back. Using setfont under X will - lead to funny results. - - One can change VT under program control using the chvt command. - - - 77..11.. CChhaannggiinngg tthhee nnuummbbeerr ooff VViirrttuuaall CCoonnssoolleess - - - This question still comes up from time to time, but the answer is: you - already have enough of them. Since kernel version 1.1.54, there are - between 1 and 63 virtual consoles. A new one is created as soon as it - is opened. It is removed by the utility deallocvt (but it can be - removed only when no processes are associated to it anymore, and no - text on it has been selected by programs like selection or gpm). - - For older kernels, change the line - - - #define NR_CONSOLES 8 - - - - - in include/linux/tty.h (don't increase this number beyond 63), and - recompile the kernel. - - If they do not exist yet, create the tty devices with MAKEDEV or mknod - ttyN c 4 N where N denotes the tty number. For example, - - - for i in 9 10 11 12; do mknod /dev/tty$i c 4 $i; done - - - - - or, better (since it also takes care of owner and permissions), - - - for i in 9 10 11 12; do /dev/MAKEDEV tty$i; done - - - - - If you want the new VCs to run getty, add lines in /etc/inittab. (But - it is much better to have only two getty's running, and to create more - consoles dynamically as the need arises. That way you'll have more - memory when you don't use all these consoles, and also more consoles, - in case you really need them. Edit /etc/inittab and comment out all - getty's except for the first two.) - - When the consoles are allocated dynamically, it is usually easiest to - have only one or two running getty. More are opened by open -l -s - bash. Unused consoles (without associated processes) are deallocated - using deallocvt (formerly disalloc). But, you say, I am involved in - activities when I suddenly need more consoles, and do not have a bash - prompt available to give the open command. Fortunately it is possible - to create a new console upon a single keystroke, regardless of what is - happening at the current console. - - If you have spawn_login from kbd-0.96.tar.gz and you put - - - - - - loadkeys << EOF - alt keycode 103 = Spawn_Console - EOF - spawn_login & - - - - - in /etc/rc.local, then typing Alt-UpArrow will create a fresh VC run- - ning login (and switch to it). With spawn_console & instead of - spawn_login & you'll have bash running there. See also open-1.4.tgz - and dynamic-vc-1.1.tar.gz. - - What action should be taken upon this Spawn_Console keypress can also - be set in /etc/inittab under kbrequest, if you have a recent init. See - inittab(5). - - (This action can be something entirely different - I just called the - key Spawn_Console because that is what I used it for. When used for - other purposes it is less confusing to use its synonym KeyboardSignal. - For example, some people like to put the lines - - - kb::kbrequest:/sbin/shutdown -h now - - - - - in /etc/inittab, and - - - control alt keycode 79 = KeyboardSignal - control alt keycode 107 = KeyboardSignal - - - - - in their keymap. Now Ctrl-Alt-End will do a system shutdown.) - - You can only login as "root" on terminals listed in /etc/securetty. - There exist programs that read terminal settings from files /etc/ttys - and /etc/ttytype. If you have such files, and create additional - consoles, then it might be a good idea to also add entries for them in - these files. - - - 88.. CCttrrll--AAlltt--DDeell aanndd ootthheerr ssppeecciiaall kkeeyy ccoommbbiinnaattiioonnss - - - - 88..11.. CCttrrll--AAlltt--DDeell ((BBoooott)) - - - If you press Ctrl-Alt-Del (or whatever key was assigned the keysym - Boot by loadkeys) then either the machine reboots immediately (without - sync), or init is sent a SIGINT. The former behaviour is the default. - The default can be changed by root, using the system call reboot(), - see ctrlaltdel(8). Some init's change the default. What happens when - init gets SIGINT depends on the version of init used - often it will - be determined by the pf entry in /etc/inittab (which means that you - can run an arbitrary program in this case). In the current kernel - Ctrl-AltGr-Del is no longer by default assigned to Boot. - - - - - 88..22.. OOtthheerr ccoommbbiinnaattiioonnss - - - - Name Default binding - ------------------------------- - Show_Memory Shift-Scrollock - Show_Registers AltGr-ScrollLock - Show_State Ctrl-ScrollLock - Console_n Alt-Fn and Ctrl-Alt-Fn (1 <= n <= 12) - Console_{n+12} AltGr-Fn (1 <= n <= 12) - Incr_Console Alt-RightArrow - Decr_Console Alt-LeftArrow - Last_Console Alt[Gr]-PrintScreen - Scroll_Backward Shift-PageUp - Scroll_Forward Shift-PageDown - Caps_On (CapsLock is a toggle; this key sets) - Compose Ctrl-. - - - - - 88..33.. XX CCoommbbiinnaattiioonnss - - - - Ctrl-Alt-Fn Switch to VT n - Ctrl-Alt-KP+ Next mode - Ctrl-Alt-KP- Previous mode - Ctrl-Alt-Backspace Kill X - - - On some motherboards, Ctrl-Alt-KP- and Ctrl-Alt-KP+ will be equivalent - to pressing the Turbo button. That is, both will produce the scancodes - 1d 38 4a ca b8 9d and 1d 38 4e ce b8 9d, and both will switch between - Turbo (>= 25MHz) and non-Turbo (8 or 12 MHz). (Often these key combi- - nations only function this way when enabled by jumpers on the mother- - board.) - - Perry F Nguyen (pfnguyen@netcom22.netcom.com) writes: AMI BIOS has a - feature that locks up the keyboard and flashes the LED's if the Ctrl- - Alt-Backspace combination is pressed while a BIOS password is enabled, - until the CMOS/BIOS password is typed in. - - - 88..44.. DDoosseemmuu CCoommbbiinnaattiioonnss - - - - Ctrl-Alt-Fn Switch to VT n (from version 0.50; earlier Alt-Fn) - Ctrl-Alt-PgDn Kill dosemu (when in RAW keyboard mode) - (and many other combinations - see the dosemu documentation) - - - - - 88..55.. CCoommppoossiinngg ssyymmbboollss - - - One symbol may be constructed using several keystrokes. - - +o LeftAlt-press, followed by a decimal number typed on the keypad, - followed by LeftAlt-release, yields the symbol with code given by - this number. (In Unicode mode this same mechanism, but then with 4 - hexadecimal digits, may be used to define a Unicode symbol.) - - +o A dead diacritic followed by a symbol, yields that symbol adorned - with that diacritic. If the combination is undefined, both keys are - taken separately. Which keys are dead diacritics is user-settable; - none is by default. Five (since 2.0.25 six) dead diacritics can be - defined (using loadkeys(1)): dead_grave, dead_acute, - dead_circumflex, dead_tilde, dead_diaeresis (and dead_cedilla). - Precisely what this adorning means is also user-settable: dead- - diacritic, symbol is equivalent to Compose + diacritic + symbol. - - +o Compose followed by two symbols yields a combination symbol. These - combinations are user-settable. Today there are 68 combinations - defined by default; you can see them by saying "dumpkeys | grep - compose". - - +o Then there are `Sticky' modifier keys (since 1.3.33). For example, - one can type Ctrl-C as SControl, C and Ctrl-Alt-BackSpace as - SControl, SAlt, BackSpace. - - Note that there are at least four such composition mechanisms: - - 1. The Linux keyboard driver mechanism, used in conjunction with - loadkeys. - - 2. The X mechanism - see X386keybd(1), later XFree86kbd(1). Under - X11R6: edit /usr/X11R6/lib/X11/locale/iso8859-1/Compose. - - See also Andrew D. Balsa's comments at - http://wauug.erols.com/~balsa/linux/deadkeys/index.html. - - 3. The emacs mechanism obtained by loading "iso-insert.el" or calling - `iso-accents-mode'. - - 4. The vim mechanism: insert a composed symbol by pressing Ctrl-K - followed by two symbols. A list of the possible combinations is - obtained by the command :digraphs. - - For X the order of the two symbols is arbitrary: both Compose-,-c - and Compose-c-, yield a c-cedilla; for Linux and emacs only the - former sequence works by default. For X and vim the list of compose - combinations is fixed. Linux and emacs are flexible. The default - lists are somewhat similar, but the details are different. - - - 88..66.. TThhee SSyyssRRqq kkeeyy - - In case your kernel was compiled with CONFIG_MAGIC_SYSRQ enabled (a - feature that is present since Linux 2.1.43) there is a single key - (defined in <linux/keyboard.h>) to which special system functions are - attached, regardless of the current keyboard mode. For the PC - architecture this special key is, naturally, the Alt+SysRq key, and - any of the two Alt keys will work. (Note that if CONFIG_MAGIC_SYSRQ - was not enabled, the default action of this key is to return to the - previous console.) - - If you press this key, do not release it, and hit another key, a - corresponding action is performed. The action is performed whether - anybody is logged in or not, is root or not. For the details, see - drivers/char/sysrq.c. Since this feature is meant only for kernel - hackers, that should suffice. Still, let me add a few remarks. - - For the key r the keyboard mode is reset to K_XLATE. For the key k a - SAK and console reset is done. For the key b the machine is rebooted - immediately. (See, not something you want to have enabled on a - production machine.) For the key o the power is turned off (when the - machine is capable of that). For the key s an emergency sync is - scheduled. For the key u an emergency read-only remount is scheduled. - For the keys p,t,m various information is shown (namely the same - information also shown for RAlt,RCtrl,RShift+ScrollLock). For the - keys e,i,l all processes get a SIG_TERM or SIG_KILL, respectively; for - l even the init process is killed. Digits set the log level. Anything - else prints a short summary: SysRq: unRaw saK Boot Off Sync Unmount - showPc showTasks showMem loglevel0-8 tErm kIll killalL. - - Note: These are very dangerous actions! And they do not use your - keymap - indeed, are meant for emergency cases where the state of your - keymap, or even of the entire kernel, is uncertain. If you use a - dvorak keyboard - bad luck! Most other people will be able to survive: - the dangerous letters A,M,Q,W,Y,Z that are differently placed on - English, French and German keyboards, are not used for actions. (But - if your finger slips and you hit L instead of K - bye bye to your - system.) - - - 99.. HHooww ttoo ggeett oouutt ooff rraaww mmooddee - - - If some program using K_RAW keyboard mode exits without restoring the - keyboard mode to K_XLATE, then it is difficult to do anything - not - even Ctrl-Alt-Del works. However, it is sometimes possible to avoid - hitting the reset button. (And desirable as well: your users may get - angry if you kill their Hack game by rebooting; you might also damage - your file system.) Easy solutions involve logging in from another - terminal or another machine and doing kbd_mode -a. The procedure - below assumes that no X is running, that the display is in text mode, - and that you are at your bash prompt, that you are using a US keyboard - layout, and that your interrupt character is Ctrl-C. - - Step 1. Start X. As follows: press 2 (and don't release), press F12 - (and don't release) and immediately afterwards press = . This starts - X. (Explanation: if a key press produces keycode K, then the key - release produces keycode K+128. Probably your shell does not like - these high characters, so we avoid generating them by not releasing - any key. However, we have to be quick, otherwise key repeat starts. - The digit 2 produces a Ctrl-C that discards previous junk, the F12 - produces an X and the = a Return.) Probably your screen will be grey - now, since no .xinitrc was specified. However, Ctrl-Alt-Fn will work - and you can go to another VT. (Ctrl-Alt-Backspace also works, but - that exits X, and gets you back into the previous state, which is not - what you want.) - - Step 2. Setup to change the keyboard mode. (For example, by sleep 5; - kbd_mode -a.) - - Step 3. Leave X again. Alt-Fx (often Alt-F7) brings you back to X, - and then Ctrl-Alt-Backspace exits X. Within 5 seconds your keyboard - will be usable again. - - If you want to prepare for the occasion, then make \215A\301 (3 - symbols) an alias for kbd_mode -a. Now just hitting = F7 = (3 - symbols) will return you to sanity. - - - 1100.. TThhee kkeeyybbooaarrdd LLEEDDss - - - 1. There are per-tty keyboard flags: each VC has its own NumLock, - CapsLock, ScrollLock. By default these keyboard flags are shown in - the LEDs. The usual way to change them is by pressing the - corresponding key. (Side remark: pressing the NumLock key when in - application key mode will not change the NumLock status, but produce - an escape sequence. If you want the NumLock key to always change the - Numlock status, bind it to Bare_Num_Lock.) - 2. Next, there are per-tty default keyboard flags, to initialize the - keyboard flags when a reset occurs. Thus if you want NumLock on all - the time, that is possible. The usual way to change them is by - `setleds -D ...'. - - 3. There is the possibility that the leds do not reflect the keyboard - flags, but something else. - - 3A. This something else can be three bits somewhere in the kernel - - which can be used if you want to monitor some hardware or software - status bit(s). If you want this, edit the kernel source to call - register_leds() somewhere. - - 3B. This something else can also be whatever some user program wants - to show in the LEDs. Thus, people who like such things can make nice - patterns of lights. If you want this, use the KDSETLED ioctl. - - This latter use is not per-tty, but the choice between former and - latter use is per-tty. - - Summarizing: Each tty has a flag kbd->ledmode. If this has the value - LED_SHOW_FLAGS then the keyboard flags (NumLock etc.) of that tty are - shown. If this has the value LED_SHOW_MEM then three selected memory - addresses are shown. If this has the value LED_SHOW_IOCTL then the - leds show whatever value was last assigned to them using the KDSETLED - ioctl. - - One may add that X uses ioctl's to set the LEDs, but fails to reset - its VT when it exits, so after using X there may be one VT that is not - in the default LED_SHOW_FLAGS state. This can be fixed by doing - `setleds -L' on that VT. See setleds(1). - - - 1111.. TThhee TTEERRMM vvaarriiaabbllee - - - Many programs use the TERM variable and the database /etc/termcap or - /usr/lib/terminfo/* to decide which strings to send for clear screen, - move cursor, etc., and sometimes also to decide which string is sent - by the users backspace key, function keys etc. This value is first - set by the kernel (for the console). Usually, this variable is re-set - by getty, using /etc/ttytype or the argument specified in - /etc/inittab. Sometimes, it is also set in /etc/profile. - - Older systems use TERM=console or TERM=con80x25. Newer systems (with - ncurses 1.8.6) use the more specific TERM=linux or TERM=linux-80x25. - However, old versions of setterm test for TERM=con* and hence fail to - work with TERM=linux. - - Since kernel version 1.3.2, the kernel default for the console is - TERM=linux. - - If you have a termcap without entry for linux, add the word linux to - the entry for the console: - - - console|con80x25|linux:\ - - - - - and make /usr/lib/terminfo/l/linux a copy of or symbolic link to - /usr/lib/terminfo/c/console. - - - - 1111..11.. TTeerrmmiinnffoo - - - The terminfo entry for the linux console from ncurses 1.8.6 misses the - entry kich1=\E[2~, needed by some programs. Edit the file and tic it. - - - 1122.. HHooww ttoo mmaakkee ootthheerr pprrooggrraammss wwoorrkk wwiitthh nnoonn--AASSCCIIII cchhaarrss - - - In the bad old days this used to be quite a hassle. Every separate - program had to be convinced individually to leave your bits alone. - Not that all is easy now, but recently a lot of gnu utilities have - learned to react to LC_CTYPE=iso_8859_1 or LC_CTYPE=iso-8859-1. Try - this first, and if it doesn't help look at the hints below. Note that - in recent versions of libc the routine setlocale() only works if you - have installed the locale files (e.g. in /usr/lib/locale). - - First of all, the 8-th bit should survive the kernel input processing, - so make sure to have stty cs8 -istrip -parenb set. - - A. For emacs the details strongly depend on the version. The - information below is for version 19.34. Put lines - - - (set-input-mode nil nil 1) - (standard-display-european t) - (require 'iso-syntax) - - - - - into your $HOME/.emacs. The first line (to be precise: the final 1) - tells emacs not to discard the 8-th bit from input characters. The - second line tells emacs not to display non-ASCII characters as octal - escapes. The third line specifies the syntactic properties and case - conversion table for the Latin-1 character set These last two lines - are superfluous if you have something like LC_CTYPE=ISO-8859-1 in your - environment. (The variable may also be LC_ALL or even LANG. The - value may be anything with a substring `88591' or `8859-1' or - `8859_1'.) - - This is a good start. On a terminal that cannot display non-ASCII ISO - 8859-1 symbols, the command - - - (load-library "iso-ascii") - - - - - will cause accented characters to be displayed comme {,c}a. If your - keymap does not make it easy to produce non-ASCII characters, then - - - (load-library "iso-transl") - - - - - will make the 2-character sequence Ctrl-X 8 a compose character, so - that the 4-character sequence Ctrl-X 8 , c produces c-cedilla. Very - inconvenient. - - The command - - (iso-accents-mode) - - - - - will toggle ISO-8859-1 accent mode, in which the six characters ', `, - ", ^, ~, / are dead keys modifying the following symbol. Special com- - binations: ~c gives a c with cedilla, ~d gives an Icelandic eth, ~t - gives an Icelandic thorn, "s gives German sharp s, /a gives a with - ring, /e gives an a-e ligature, ~< and ~> give guillemots, ~! gives an - inverted exclamation mark, ~? gives an inverted question mark, and '' - gives an acute accent. This is the default mapping of accents. The - variable iso-languages is a list of pairs (language name, accent map- - ping), and a non-default mapping can be selected using - - - (iso-accents-customize LANGUAGE) - - - - - Here LANGUAGE can be one of "portuguese", "irish", "french", - "latin-2", "latin-1". - - Since the Linux default compose character is Ctrl-. it might be - convenient to use that everywhere. Try - - - (load-library "iso-insert.el") - (define-key global-map [?\C-.] 8859-1-map) - - - - - The latter line will not work under xterm, if you use emacs -nw, but - in that case you can put - - - XTerm*VT100.Translations: #override\n\ - Ctrl <KeyPress> . : string("\0308") - - - - - in your .Xresources.) - - B. For less, put LESSCHARSET=latin1 in the environment. This is also - what you need if you see \255 or <AD> in man output: some versions of - less will render the soft hyphen (octal 0255, hex 0xAD) this way when - not given permission to output Latin-1. - - C. For ls, give the option -N. (Probably you want to make an alias.) - - D. For bash (version 1.13.*), put - - - set meta-flag on - set convert-meta off - set output-meta on - - - - - into your $HOME/.inputrc. - - - E. For tcsh, use - - - setenv LANG US_en - setenv LC_CTYPE iso_8859_1 - - - - - If you have nls on your system, then the corresponding routines are - used. Otherwise tcsh will assume iso_8859_1, regardless of the values - given to LANG and LC_CTYPE. See the section NATIVE LANGUAGE SYSTEM in - tcsh(1). (The Danish HOWTO says: setenv LC_CTYPE ISO-8859-1; stty - pass8) - - F. For flex, give the option -8 if the parser it generates must be - able to handle 8-bit input. (Of course it must.) - - G. For elm, set displaycharset to ISO-8859-1. (Danish HOWTO: LANG=C - and LC_CTYPE=ISO-8859-1) - - H. For programs using curses (such as lynx) David Sibley reports: The - regular curses package uses the high-order bit for reverse video mode - (see flag _STANDOUT defined in /usr/include/curses.h). However, - ncurses seems to be 8-bit clean and does display iso-latin-8859-1 - correctly. - - I. For programs using groff (such as man), make sure to use -Tlatin1 - instead of -Tascii. Old versions of the program man also use col, and - the next point also applies. - - J. For col, make sure 1) that it is fixed so as to do - setlocale(LC_CTYPE,""); and 2) put LC_CTYPE=ISO-8859-1 in the - environment. - - K. For rlogin, use option -8. - - L. For joe, - sunsite.unc.edu:/pub/Linux/apps/editors/joe-1.0.8-linux.tar.gz is said - to work after editing the configuration file. Someone else said: joe: - Put the -asis option in /isr/lib/joerc in the first column. - - M. For LaTeX: \documentstyle[isolatin]{article}. For LaTeX2e: - \documentclass{article}\usepackage{isolatin} where isolatin.sty is - available from ftp.vlsivie.tuwien.ac.at/pub/8bit. - - A nice discussion on the topic of ISO-8859-1 and how to manage 8-bit - characters is contained in the file grasp.insa- - lyon.fr:/pub/faq/fr/accents (in French). Another fine discussion (in - English) can be found in rtfm.mit.edu:pub/usenet-by- - group/comp.answers/internationalization/iso-8859-1-charset. - - If you need to fix a program that behaves badly with 8-bit characters, - one thing to keep in mind is that if you have a signed char type then - characters may be negative, and using them as an array index will - fail. Several programs can be fixed by judiciously adding (unsigned - char) casts. - - - 1133.. XX - - - This FAQ/HOWTO is about the Linux keyboard and console, not about X, - which substitutes its own handling. However, it seems useful to - document some of the Linux keyboard and console related properties of - X. - First of all, when X is started (say using startx or xinit) it opens - the first unused console, unless the desired console has been - indicated explicitly, as in xinit -- vt12. Note that this will fail - when there is no device file /dev/tty12, but that it will not fail - when the indicated console was in use already. When X finishes, it - will return to the original console. While it is running one can use - Ctrl-Alt-Fn to switch to VTn. - - The XFree86 keymap mechanism is much poorer than the Linux mechanism. - For each keycode there are at most 4 symbols defined, namely for the 4 - keymaps plain, shift, mod, mod+shift. What is the modifier mod? It is - the one designated by the symbol Mode_switch. For example, the - command xmodmap keys.dk, where the file keys.dk contains - - - keycode 64 = Mode_switch - keycode 113 = Mode_switch - keycode 38 = a A aring Aring - keycode 26 = e E ae AE - keycode 32 = o O oslash Ooblique - - - - - will make both Alt keys into mod keys, so that Alt+a gives (a-ring), - etc. (Note the illogical naming of oslash and Ooblique.) Such an - xmodmap command can be placed in the .xinitrc shell script that is - executed by default when X is started. - - - 1133..11.. WWhhaatt pprreecciisseellyy ddooeess XXFFrreeee8866--22..11 ddoo wwhheenn iitt iinniittiiaalliizzeess iittss - kkeeyymmaapp?? - - - Since version 2.1, XFree86 will initialize its keymap from the Linux - keymap, as far as possible. However, Linux had 16 entries per key (one - for each combination of the Shift, AltGr, Ctrl, Alt modifiers) and - presently has 256 entries per key, while X has 4 entries per key (one - for each combination of Shift, Mod), so some information is - necessarily lost. - - First X reads the Xconfig file, where definitions of the LeftAlt, - RightAlt, RightCtl, ScrollLock keys as Meta, ModeShift, Compose, - ModeLock or ScrollLock might be found - see X386keybd(1), later - XFree86kbd(1). - - For Mod the LeftAlt key is taken, unless RightCtl was defined as - ModeShift or ModeLock, in which case RightCtl is taken, or RightAlt - was so defined, in which case RightAlt is taken. This determines how - the 4 XFree86 meanings of a key are selected from the 16 Linux - meanings. Note that Linux today does not distinguish by default - between the two Ctrl keys or between the two Shift keys. X does - distinguish. - - Now the kernel keymap is read and the usually obvious corresponding X - bindings are made. The bindings for the "action keys" Show_Memory, - Show_State, Show_Registers, Last_Console, Console_n, Scroll_Backward, - Scroll_Forward, Caps_On and Boot are ignored, as are the dead - diacriticals, and the locks (except for ShiftLock), and the "ASCII-x" - keys. - - Next, the definitions in the Xconfig file are used. (Thus, a - definition of Compose in Xconfig will override its value as found in - the Linux keymap.) - - - What happens to the strings associated with the function keys? - Nothing, X does not have such a concept. (But it is possible to define - strings for function keys in xterm - note however that the window - manager gets the keys first.) - - I don't know how to convince xterm that it should use the X keymap - when Alt is pressed; it seems just to look at its resource - eightBitInput, and depending on whether that is true or false either - set the high order bit of the character, or generate an additional - Escape character (just like setmetamode(1) does for the console). - - - 1144.. UUnnuussuuaall kkeeyyss aanndd kkeeyybbooaarrddss - - - The two keys PrintScrn/SysRq and Pause/Break are special in that they - have two keycodes: the former has keycode 84 when Alt is pressed - simultaneously, and keycode 99 otherwise; the latter has keycode 101 - when Ctrl is pressed simultaneously, and keycode 119 otherwise. - (Thus, it makes no sense to bind functions to Alt keycode 99 or Ctrl - keycode 119.) - - If you have strange keys, that do not generate any code under Linux - (or generate messages like "unrecognized scancode"), and your kernel - is 1.1.63 or later, then you can use setkeycodes(1) to tell the kernel - about them. They won't work under X, however. Once they have gotten a - keycode from setkeycodes, they can be assigned a function by loadkeys. - - - 1155.. EExxaammpplleess ooff uussee ooff llooaaddkkeeyyss aanndd xxmmooddmmaapp - - - Switching Caps Lock and Control on the keyboard (assuming you use - keymaps 0-15; check with dumpkeys | head -1) - - - % loadkeys - keymaps 0-15 - keycode 58 = Control - keycode 29 = Caps_Lock - % - - - - - Switching them under X only: - - - % xmodmap .xmodmaprc - - - - - where .xmodmaprc contains lines - - - remove Lock = Caps_Lock - remove Control = Control_L - keysym Control_L = Caps_Lock - keysym Caps_Lock = Control_L - add Lock = Caps_Lock - add Control = Control_L - - - - - What is this about the key numbering? Backspace is 14 under Linux, 22 - under X? Well, the numbering can best be regarded as arbitrary; the - Linux number of a key can be found using showkey(1), and the X number - using xev(1). Often the X number will be 8 more than the Linux number. - - Something else people like to change are the bindings of the function - keys. Suppose that you want to make F12 produce the string "emacs ". - Then - - - % loadkeys - keycode 88 = F12 - string F12 = "emacs " - % - - - - - will do this. More explicitly, the procedure is like this: (i) find - the keycodes of the keys to be remapped, using showkey(1). (ii) save - the current keymap, make a copy and edit that: - - - % dumpkeys > my_keymap - % cp my_keymap trial_keymap - % emacs trial_keymap - % loadkeys trial_keymap - % - - - - - The format of the table can be guessed by looking at the output of - dumpkeys, and is documented in keymaps(5). When the new keymap func- - tions as desired, you can put an invocation - - - loadkeys my_new_keymap - - - - - in /etc/rc.local or so, to execute it automatically at boot-up. Note - that changing modifier keys is tricky, and a newbie can easily get - into a situation only an expert can get out of. - - The default directory for keymaps is /usr/lib/kbd/keymaps. The - default extension for keymaps is .map. For example, loadkeys uk would - probably load /usr/lib/kbd/keymaps/i386/qwerty/uk.map. (With kbd-0.95 - and older this would be /usr/lib/kbd/keytables and - /usr/lib/kbd/keytables/uk.map.) - - - (On my machine) /dev/console is a symbolic link to /dev/tty0, and the - kernel regards /dev/tty0 as a synonym for the current VT. XFree86 1.3 - changes the owner of /dev/tty0, but does not reset this after - finishing. Thus, loadkeys or dumpkeys might fail because someone else - owns /dev/tty0; in such a case you might run X first. Note that you - cannot change keyboard mappings when not at the console (and not - superuser). - - - 1155..11.. ``II ccaann uussee oonnllyy oonnee ffiinnggeerr ttoo ttyyppee wwiitthh'' - - - - "Can the Shift, Ctrl and Alt keys be made to behave as toggles?" - - Yes, after saying - - - % loadkeys - keymaps 0-15 - keycode 29 = Control_Lock - keycode 42 = Shift_Lock - keycode 56 = Alt_Lock - % - - - - - the left Control, Shift and Alt keys will act as toggles. The numbers - involved are revealed by showkey (and usually are 29, 97, 42, 54, 56, - 100 for left and right control, shift and alt, respectively), and the - functions are Control_Lock, Shift_Lock, Alt_Lock, ALtGr_Lock. - - "What about `sticky' modifier keys?" - - Since version 1.3.33, the kernel knows about `sticky' modifier keys. - These act on the next key pressed. So, where one earlier needed the - 3-symbol sequence Shift_Lock a Shift_Lock to type `A', one can now use - the 2-symbol sequence SShift_Lock a. Versions of the kbd package - older than 0.93 do not yet include code for these sticky modifiers, - and have to invoke them using their hexadecimal codes. For example, - - - % loadkeys - keymaps 0-15 - keycode 54 = 0x0c00 - keycode 97 = 0x0c02 - keycode 100 = 0x0c03 - % - - - - - will make the right Shift, Ctrl, Alt sticky versions of the left ones. - From 0.93 on you can say - - - % loadkeys - keymaps 0-15 - keycode 54 = SShift - keycode 97 = SCtrl - keycode 100 = SAlt - % - - - - - to obtain the same result. This will allow you to type Ctrl-Alt-Del - in three keystrokes with one hand. - - The keymaps line in these examples should cover all keymaps you have - in use. You find what keymaps you have in use by - - - % dumpkeys | head -1 - - - - - 1166.. CChhaannggiinngg tthhee vviiddeeoo mmooddee - - - As far as I know there are 6 ways to change resolution: - - 1. At compile time: change the line - - - SVGA_MODE= -DSVGA_MODE=NORMAL_VGA - - - - - in /usr/src/linux/Makefile. - - 1A. After compilation: use rdev -v - a terrible hack, but it exists. - - 2. At boot time: put vga=ask in the lilo config file, and lilo will - ask you what video mode you want. Once you know, put vga=mypreference. - - 3. At run time: A. Use the resizecons command. (This is a very - primitive wrapper around the VT_RESIZE ioctl.) B. Use the - SVGATextMode command. (This is a less primitive wrapper around the - VT_RESIZE ioctl.) - - 4. Not "on the console": Under dosemu, or with svgalib etc. you can - change the hardware video mode without the console driver being aware - of it. Sometimes this is useful in getting resizecons or SVGATextMode - set up: use dosemu and some DOS program to get into the desired - videomode, dump (say from another VT) the contents of all video - hardware registers, and use that in the initialization that resizecons - and SVGATextMode require. In some cases where the video mode has - gotten into some unusable state, starting dosemu, relying on the BIOS - to set up the video mode, and then killing dosemu (with kill -9), is - the easiest way to get into shape again. - - - 1166..11.. IInnssttrruuccttiioonnss ffoorr tthhee uussee ooff rreessiizzeeccoonnss - - - Get svgalib and compile the program restoretextmode. Boot up your - machine in all possible video modes (using vga=ask in the lilo config - file), and write the video hardware register contents to files CxR - (C=cols, R=rows), e.g., 80x25, 132x44, etc. Put these files in - /usr/lib/kbd/videomodes. Now resizecons 132x44 will change videomode - for you (and send SIGWINCH to all processes that need to know about - this, and load another font if necessary). - - At present, resizecons only succeeds when there is memory enough for - both the old and the new consoles at the same time. - - - 1177.. CChhaannggiinngg tthhee kkeeyybbooaarrdd rreeppeeaatt rraattee - - - At startup, the Linux kernel sets the repeat rate to its maximal - value. For most keyboards this is reasonable, but for some it means - that you can hardly touch a key without getting three copies of the - corresponding symbol. Use the program kbdrate(8) to change the repeat - rate, or, if that doesn't help, edit or remove the section - - - - - - - ______________________________________________________________________ - ! set the keyboard repeat rate to the max - - mov ax,#0x0305 - xor bx,bx ! clear bx - int 0x16 - ______________________________________________________________________ - - - of /usr/src/linux/[arch/i386/]boot/setup.S. - - Scott Johnston (sj@zule.com) reports: `To program the repeat rate of a - Gateway AnyKey keyboard all one has to do is press the "Repeat Rate" - key, then a function key F1-F8, then "Repeat Rate" again. F1 is the - slowest possible repeat rate, and F8 is really fast. If you somehow - manage to mess up your AnyKey keyboard doing this, simply press Ctrl- - Alt-SuspndMacro to reset your keyboard to factory default settings.' - - - 1188.. SSccrroolllliinngg - - - There are two ways to get a screen to scroll. The first, called `hard - scrolling', is to leave the text in video memory as it is, but change - the viewing origin. This is very fast. The second, called `soft - scrolling', involves moving all screen text up or down. This is much - slower. The kernel console driver will write text starting at the top - of the video memory, continuing to the bottom, then copy the bottom - part to the top again, and continue, all the time using hard scrolling - to show the right part on the screen. You can scroll back until the - top op the video memory by using Shift-PageUp (the grey PageUp) and - scroll down again using Shift-PageDown (the grey PageDown), assuming a - default keymap. The amount of scrollback is thus limited to the - amount of video memory you happen to have and you cannot increase this - amount. If you need more scrollback, use some program that buffers - the text, like less or screen - by using a buffer on disk you can go - back to what you did last week. (One can set the amount of scrollback - for xterm by adding a line like XTerm*saveLines: 2500 in .Xresources.) - - Upon changing virtual consoles, the screen content of the old VT is - copied to kernel memory, and the screen content of the new VT is - copied from kernel memory to video memory. Only the visible screen is - copied, not all of video memory, so switching consoles means losing - the scrollback information. - - Sometimes, hard scrolling is undesirable, for example when the - hardware does not have the possibility to change viewing origin. The - first example was a Braille machine that would render the top of video - memory in Braille. There is a kernel boot-time option no-scroll to - tell the console driver not to use hard scrolling. See bootparam(7). - - - 1199.. SSccrreeeennssaavviinngg - - - setterm -blank _n_n will tell the console driver to blank the screen - after _n_n minutes of inactivity. (With _n_n = 0, screensaving is turned - off. In some old kernels this first took effect after the next - keyboard interrupt.) - - The s option of xset(1) will set the X screensaving parameters: xset s - off turns off the screensaver, xset s 10 blanks the screen after 10 - minutes. - - The video hardware powersaving modes can be enabled/disabled using the - setvesablank program given in the starting comment of - /usr/src/linux/drivers/char/vesa_blank.c. - - - 2200.. SSccrreeeenn dduummppss - - - setterm -dump _N will dump the contents of the screen of /dev/tty_N to a - file screen.dump in the current directory. See setterm(1). - - The current contents of the screen of /dev/tty_N can be accessed using - the device /dev/vcs_N (where `vcs' stands for `virtual console - screen'). For example, you could have a clock program that displays - the current time in the upper right hand corner of the console screen - (see the program vcstime in kbd-0.96.tar.gz). Just dumping the - contents goes with cat /dev/vcs_N. These device files /dev/vcs_N do not - contain newlines, and do not contain attributes, like colors. From a - program it is usually better to use /dev/vcsa_N (`virtual console - screen with attributes') instead - it starts with a header giving the - number of rows and columns and the location of the cursor. See - vcs(4). - - - 2211.. SSoommee pprrooppeerrttiieess ooff tthhee VVTT110000 -- aapppplliiccaattiioonn kkeeyy mmooddee - - - : Sometimes my cursor keys or keypad keys produce strange codes? - - When the terminal is in application cursor key mode the cursor keys - produce Esc O x and otherwise Esc [ x where x is one of A,B,C,D. - Certain programs put the terminal in application cursor key mode; if - you kill them with kill -9, or if they crash, then the mode will not - be reset. - - % echo -e '\033c' - - - resets all properties of the current VC. Just changing the cursor - application key mode is done by - - % echo -e '\033[?1h' - - - (set) and - - % echo -e '\033[?1l' - - - (clear). - - When the terminal is in application keypad key mode the keypad keys - produce Esc O y and otherwise Esc [ z ~ for certain y and z. - Setting application keypad key mode is done by - - % echo -e '\033=' - - - and - - % echo -e '\033>' - - - clears it again. - - - - - 2222.. HHaarrddwwaarree iinnccoommppaattiibbiilliittyy - - - Several people have noticed that they lose typed characters when a - floppy disk is active. It seems that this might be a problem with - Uni-486WB motherboards. - - Tjalling Tjalkens (tjalling@ei.ele.tue.nl) reports very similar - problems with "a no-brand GMB-486 UNP Vesa motherboard with AMD - 486DX2-66 CPU" - during floppy activity some keystrokes are lost, - during floppy tape streamer (Conner C 250 MQ) activity many keystrokes - are lost. - - Some people experience sporadic lockups - sometimes associated to hard - disk activity or other I/O. - - Ulf Tietz (ulf@rio70.bln.sni.de) wrote: `I have had the same problems, - when I had my motherboard tuned too fast. So I reset all the timings - ( CLK, wait statements etc ) to more conventional values, and the - problems are gone.' - - Bill Hogan (bhogan@crl.com) wrote: `If you have an AMI BIOS, you might - try setting the Gate A20 emulation parameter to "chipset" (if you have - that option). Whenever I have had that parameter set to any of the - other options on my machine ("fast", "both", "disabled") I have had - frequent keyboard lockups.' - - There may be a relation between keyboard problems and the video card - in use. - - Shawn K. Quinn (skquinn@wt.net) wrote: `I have a Zeos Pantera - Pentium-90 that originally came with a Diamond Stealth 64 S3-based - video card. Under X I frequently got q's inserted into my text (how - annoying) especially if I typed very fast (during Netrek for instance, - even more annoying because guess what that does :-( ). Switching to a - Creative Labs Graphics Blaster MA202 solved the problem. I'm assuming - the Stealth 64 did something funny with the timings.' - - - 2233.. CCooppyyrriigghhtt - - Copyright (c) 1993-1999 by Andries Brouwer. This document may be - distributed under the terms set forth in the LDP license at - http://sunsite.unc.edu/LDP/COPYRIGHT.html or - ftp://www.win.tue.nl/pub/linux/LDP/COPYRIGHT.txt. - - Additions and corrections are welcome. Andries Brouwer - aeb@cwi.nl - - - - - - - - - - - - - - - - - - - diff -Nru console-tools-0.2.3/doc/lct.sgml console-tools-0.2.3/doc/lct.sgml --- console-tools-0.2.3/doc/lct.sgml 1999-07-19 19:33:46.000000000 +0000 +++ console-tools-0.2.3/doc/lct.sgml 1970-01-01 00:00:00.000000000 +0000 @@ -1,437 +0,0 @@ -<!doctype linuxdoc PUBLIC "-//LinuxDoc//DTD LinuxDoc 96//EN" [ -<!entity lct "Linux Console Tools"> -<!entity kbd "<tt/kbd/"> -]> - -<article> - -<title>The Linux Console Tools -<author>Yann Dirson, <tt/dirson@debian.org/ -<date>18 May 1999 - -<toc> - - -<sect>Status of this document -<p> -This is an introduction to the &lct; package. You should refer to the -manpages for more details. - -<sect1>Other documents -<p> -The &lct; <url url="http://www.multimania.com/ydirson/en/lct/" -name="WWW site"> may contain additionnal informations, latest news, -and such. - -Files in the <tt>doc/contrib/</tt> directory are unsupported, and may -be obsolete, but are provided just in case someone needs them. - -<tt/README.{acm,sfm,keytables}/ give some info on the respective -included data files. - -<tt/kbd.FAQ.*/ is the Console and Keyboard HOWTO by Andries Brouwer, -as included in &kbd; 0.97. It would need some corrections, though. - - -<sect>What the &lct; are -<p> -The &lct; are a set of programs allowing the user to setup/customize -your console (restricted meaning: text mode screen + keyboard only). -It is derived from version 0.94 of the &kbd; package, and has -benefited from most features introduced in &kbd; until version 0.97. - -The &lct; are still under development, but using it just as a -replacement for &kbd; should be quite safe, at it fixes many bugs -&kbd; has. - -<sect>Understanding the big picture of the console -<p> -The console driver is currently made of 2 sub-drivers: the keyboard driver, -and the screen driver. Basically, the keyboard driver sends characters to -your application, then the application does its own job, and sends to the -screen driver the characters to be displayed. - -<sect>What is Unicode<label id="sec-unicode"> -<p> -Traditionnaly, character encodings use 8 bits, and thus are limited to 256 -characters. This causes problems because: -<enum> -<item> it's not enough for some languages; -<item> people speaking languages using different encodings have to -choose which one they use, and have to switch the system's state when -changing the language, which makes it difficult to mix several languages in -the same file; -<item> etc... -</enum> - -Thus the UCS (Universal Character Set), also know as <em/Unicode/ was -created to handle and mix all of our world's scripts. This is a -32-bit (4 bytes) encoding, otherwise known as UCS4 because of the size -of its characters, which is normalised by ISO as the 10646-1 standard. -The most widely used characters from UCS are contained in the UCS2 -16-bit subset of UCS; this is the subset used by the Linux console. - -For convenience, the UTF8 encoding was designed as a variable-length -encoding (with 8 bytes of maximum length) with ASCII compatibility; -all chars that have a UCS4 encoding can be expressed as a UTF8 -sesquence, and vice-versa. - -<url name="The Unicode consortium" url="http://unicode.org"> defines -additional properties for UCS2 characters. - -See: <tt/unicode(7)/, <tt/utf-8(7)/. - -<sect>Understanding and setting up the keyboard driver - -<sect1>How it works -<p> -The keyboard driver is made up several levels: - -<itemize> -<item> the keyboard hardware, which turns the user's finger moves into -so-called <em/scancodes/ (Disclaimer: this is not really part of the -software driver itself; no support is provided for bugs in this domain -;-). An event (key pressed or released) generates from 1 to 6 -<em/scancodes/. - -<item> a mechanism turning <em/scancodes/ into <em/keycodes/ using a -translation-table which you can access with the <tt/getkeycodes(8)/ -and <tt/setkeycodes(8)/ utilities. You will only need to look at that -if you have some sort of non-standard (or programmable ?) keys on your -keyboard. AFAIK, these keycodes are the same among a set of keyboards -sharing the same hardware, but differing in the symbols drawn on the -keys. - -<item> a mechanism turning <em/keycodes/ into <em/characters/ using a -<em/keymap/. You can access this <em/keymap/ using the -<tt/loadkeys(1)/ and <tt/dumpkeys(1)/ utilities. -</itemize> - -The keyboard driver can be in one of 4 modes (which you can access -using <tt/kbd_mode(1)/), which will influence what type of data -applications will get as keyboard input: - -<itemize> -<item> the scancode (<tt/K_RAW/) mode, in which the application gets -scancodes for input. It is used by applications that implement their -own keyboard driver. For example, X11 does that. - -<item> the keycode (<tt/K_MEDIUMRAW/) mode, in which the application -gets information on which keys (identified by their keycodes) get -pressed and released. AFAIK, no real-life application uses this mode. - -<item> the ASCII (<tt/K_XLATE/) mode, in which the application -effectively gets the characters as defined by the <em/keymap/, using -an 8-bit encoding. In this mode, the <tt/Ascii_0/ to <tt/Ascii_9/ -keymap symbols allow to compose characters by giving their decimal -8bit-code, and <tt/Hex_0/ to <tt/Hex_F/ do the same with (2-digit) -hexadecimal codes. - -<item> the Unicode (<tt/K_UNICODE/) mode, which at this time only -differs from the ASCII mode by allowing the user to compose UTF8 -unicode characters by their decimal value, using Ascii_0 to Ascii_9 -(who needs that ?), or their hexadecimal (4-digit) value, using Hex_0 -to Hex_9. A keymap can be set up to produce UTF8 sequences (with a -<tt/U+XXXX/ pseudo-symbol, where each <tt/X/ is an hexadecimal digit), -but be warned that these UTF8 sequences will also be produced even in -ASCII mode. I think this is a bug in the kernel. -</itemize> - -<bf/BE WARNED/ that putting the keyboard in <tt/RAW/ or <tt/MEDIUMRAW/ -mode will make it unusable for most applications. Use <tt/showkey(1)/ to -get a demo of these special modes, or to find out what -scancodes/keycodes are produced by a specific key. - -<sect1>See also -<p> -<tt/keytables(5)/, <tt/setleds(1)/, <tt/setmetamode(1)/. - - -<sect>Understanding and setting up the screen driver - -<sect1>Unicode is everywhere - -<sect2>Screen Font Maps -<p> -In recent (as of 1998/08/11) kernels, the screen driver is based on -16-bit unicode (UCS2) encoding, which means that every console-font -loaded <bf/should/ be defined using a <em/unicode Screen Font Map/ -(SFM for short), which tells, for each character in the font, the list -of UCS2 characters it will render. -<footnote>SFM's were formerly called ``Unicode Map'', or ``unimap'' -for short, but this term should be dropped, as now what they called -``screen maps'' uses Unicode as well: it probably confuses many many -people</footnote> - -<sect2>SFM Fallback tables -<p> -Starting with release 1997.11.13 of the &lct;, <tt/consolechars(8)/ -now understands <em/SFM fallback tables/. Before that, SFM's should -contain at the same time the Unicode of the characters it was -primarily meant to render, as well as any approximations the user -would like to. These fallback tables allow to only put the primary -mappings in the SFM provided with the font-file, and to -<em/separately/ keep a list telling <em>``if no glyph for that -character is available in the current font, then try to display it -with the glyph for this one, or else the one for that one, or -...''</em>. This permits to keep in one only place all possible -fallbacks, and everyone will be able to choose which fallback tables -(s)he wants. Have a look at <tt>data/consoletrans/*.fallback</tt> for -examples. - -A fallback-table file is made of fallback entries, each entry being on -its own line. Empty lines, and lines beginning with the <tt/#/ -comment character are ignored. - -A fallback entry is a series of 2 or more UCS2 codes. The first one is -the character for which we want a glyph; the following ones are those -whose glyph we want to use when no glyph designed specially for our -character is available. The order of the codes defines a priority -order (own glyph if available, then second char's, then the third's, -etc.) - -If a SFM was to be loaded, fallback mappings are added to this map -before it is loaded. If there was not (ie. a font without SFM was -loaded, and no <tt/--sfm/ option was given to <tt/consolechars/, or -the <tt/--force-no-sfm/ option was given), then the current SFM is -requested from the kernel, the fallback mappings are added, and the -resulting SFM is loaded back into the kernel. - -Note that each fallback entry is checked against the original SFM, not -against the SFM we get by adding former fallback entries to the -original SFM (the one read from a file, or given by the kernel); this -applies even to entries in different files, and thus the order of -<tt/-k/ options has no effect. If you want some entries to be -influenced by previous ones, you will have to use different fallback -files, and to load them with several consecutive invocations of -<tt/consolechars -k/. - -<sect1>The unicode screen-mode -<p> -There are basically 2 screen-modes (byte mode and UTF mode). The -simpler to explain is the UTF mode, in which the bytes received from -the application (ie. written to the console screen) are interpreted as -UTF8 sequences, which are converted in the <ref id="sec-unicode" -name="equivalent UCS2 codes">, and then looked-up in the SFM to -determine the glyphs used to display each character. - -Switching to and from UTF mode is done by sending to the screen the -escape sequences <tt/<ESC>%G/ and <tt/<ESC>%@/ -respectively. You may use the <tt/unicode_start(1)/ and -<tt/unicode_stop(1)/ scripts instead, as they also change the keyboard -mode, and let you optionally change the screen-font. - -Use <tt/vt-is-UTF8(1)/ to find out whether active VT is in UTF mode. - -<sect1>The byte screen-mode -<p> -The byte mode is a bit more complicated, as it uses an additional map -to transform the byte-characters sent by the application into UCS2 -characters, which are then treated as told above. This map I call the -Application Charset Map (ACM), because it defines the encoding the -application uses, but it used to be called a ``screen map'', or -``console map'' (this comes from the time where the screen driver -didn't use Unicode, and there was only one Map down there). - -Although there is only one ACM active at a given time, there are 4 of -them at any time in the kernel; 3 of them are built-in and never -change, and they define the IBM codepage 437 (the i386's default, and -thus the kernel's default even on other archs), the DEC VT100 charset, -and the ISO latin1 charset; the 4th is user-definable, and defaults on -boot to the ``straight to font'' mapping, decribed below under -``Special UCS2 codes''. - -The <tt/consolechars(1)/ command can be used to change the ACM, as -well as the font and its associated SFM. - -<sect2>Charset slots -<p> -The Linux Console Driver has 2 slots for charsets, labeled <em/G0/ and -<em/G1/. Each of these slots contains a reference to one of the 4 -kernel ACMs, 3 of which are predefined to provide the <em/cp437/, -<em/iso01/, and <em/vt100 graphics/ charsets. The 4th one is -user-definable; this is the one you can set with <tt/consolechars ---acm/ and get with <tt/consolechars --old-acm/. - -Versions of the &lct; prior to 1998.08.11, as well as all versions of -&kbd; at least until 0.96a, were always assuming you wanted to use -the G0 slot, pointing to the user-defined ACM. You can now use the -<tt/charset/ utility to tune your charset slots. - -You will note that, although each VT has its own slot settings, there -is only one user-defined ACM for use by all the VTs. That is, whereas -you can have tty1 using <em/G0=cp437/ and <em/G1=vt100/, at the same -time as tty2 using <em/G0=iso01/ and <em/G1=iso02/ (user-defined), you -<bf/cannot/ have at the same time tty1 using <em/iso02/ and tty2 using -<em/iso03/. This is a limitation of the linux kernel. - -Note that you can emulate such a setting using the <tt/filterm/ -utility, with your console in UTF8-mode, by telling <tt/filterm/ to -translate screen output on-the-fly to UTF8. - -You'll find <bf/filterm/ in the <bf/konwert/ package, by Marcin -Kowalczyk, which is available from <url name="his WWW site" -url="http://kki.net.pl/qrczak/programy/index.html">. - - -<sect1>Special UCS2 codes -<p> -There are special UCS2 values you should care about, but the present -list is probably not exhaustive: - -<itemize> -<item> codes <tt/C/ from <tt/U+F000/ to <tt/U+F1FF/ are not looked-up -in the SFM, and directly accesses the character in font-position <tt/C -& 0x01FF/ (yes, a font can be 512-chars on many hardware -platforms, like VGA). This is refered to as the <em/straight to font/ -zone. - -<item>code <tt/U+FFFD/ is the <em/replacement character/, usually at -font-position 0 in a font. It is displayed by the kernel each time -the application requested a unicode character that is not present in -the SFM. This allows not only the driver to be safe in Unicode mode, -but also prevents displaying invalid characters when the ACM on a -particular VT contains characters not in the current font ! -</itemize> - -<sect1>About the old 8-bit ``screen maps'' -<p> -There was a time where the kernel didn't know anything about Unicode. -In this ancient time, Application Charset Maps were called ``screen -maps'', and just mapped the application's characters into font -positions. The file format used for these 8bit ACM's is still -supported for backward compatibility, but should not be used any more. - -The old way of using custom ACM's didn't know about unicode, so the -ACM had to depend on the font. Now, as each VT chooses its own ACM -(from the 4 ones in the kernel at a given time), and as the -console-font is common to all VT's, we can use a charset even if the -font can't display all of its characters; it will then display the -replacement character (<tt/U+FFFD/). - -<sect1>See also -<p> -<tt/psfaddtable(1)/, <tt/psfgettable(1)/, <tt/psfstriptable(1)/, -<tt/showfont(1)/. - - -<sect>Font files - -<sect1>The formats -<p> -The primary font file format for the &lct;, as of version 0.2.x, is -the PSF format, which is also used by &kbd;. 0.3.x will introduce the -XPSF format, which will be able to replace all existing file formats. - -Raw fonts can be converted into PSF files with the <tt/font2psf(1)/ -(written by Martin Lohner, SuSE GmbH). - -Versions 0.2.x do not have support for the CP format again - this will -come back in the 0.3.x development branch. - -<sect1>Tools - -<sect2>Font-files manipulation tools -<p> -The <tt/psfaddtable(1)/, <tt/psfgettable(1)/, and -<tt/psfstriptable(1)/ tools are provided by the &lct; for manipulation -of the SFM embedded in PSF files. These are the only -font-manipulation tools provided by the &lct; as of version 0.2.x. -The <tt/font2psf(1)/ tool is available in the <tt/contrib/ directory -to convert old raw fonts into PSF fonts. - -There are plans for a more generic font-conversion tool based on -libcfont. It will be mostly trivial to write once work on libcfont -will be advanced enough. - -The only way provided by the &lct; to display a font's contents is to load it, and then to display it using <tt/showfont(1)/. - -<sect2>Font editors -<p> -I do not curently know of a good font-editor suitable for editing -console fonts. I tried <tt/fonter/, but this one has a bad design -flaw: you can only properly edit cp437 fonts (or maybe ASCII-based -fonts if you like unreadable screens) because it works on the console -and loads the font you are editing. I was told about <tt/cse/ which I -did not tried yet. Marcin Kowalczyk is working on the <url -url="http://kki.net.pl/qrczak/programy/index.html" name="fonty"> tool -(which I did not check yet either), which will help font designers, -but is not AFAIK a real editor. Robert de Bath works on <url -url="http://www.cix.co.uk/~mayday/font.tgz" name="his own tools"> -which handle a variety of file formats and table formats. - - -<sect>The libraries -<p> -There are several shared libraries installed by the &lct;. They were -at first meant just to share code betwwen the various utilities -(&kbd; has lots of duplicated code), but they could be used as a -base to build new tools. - -However, they are not yet ready for production use (hence the version -number 0.0.0), and are absolutely not complete nor coherent at the -time. - -Here is a summary of what they are meant to become: - -<sect1>libconsole, <tt><lct/console.h></tt> + -<tt><lct/ksyms.h></tt> -<p> -is a meant to be a collection of: -<itemize> -<item> wrappers around the kernel-level functionnalities, which should -be as kernel-version-independant as reasonable; -<item> higher-level interfaces to these functionnalities. -</itemize> - -Maybe this goal overlaps with some part of libggi (see <ref name="The -future" id="sec-future">), but I didn't investigate that for now. - -<sect1>libcfont, <tt><lct/font.h></tt> -<p> -is meant to provide a high-level interface to console-font -file-handling. It also exports the lower-level functions used to -construct higher-level ones. - -It only supports for now some low- to medium-level functions that ease -writing programs, but I hope to make it a lot more than that, -especially with the coming of the XPSF file-format (see -<tt>doc/font-formats/xpsf.draft</tt> for details). - -As of release 1998.08.11, implementation of higher-level interface has -just started. - -<sect1>libctutils, <tt><lct/utils.h></tt> + -<tt><lct/unicode.h></tt> -<p> -is a collection of misc utility functions for use by the 2 other libs -and by the tools. I hope most this stuff will one day make its way to -an existing general purpose utility-library. Any offers welcomed. - - -<sect>The future of the console driver and of the &lct;<label -id="sec-future"> -<p> -The &lct; were derived from kbd. It is not a good thing to have two -distinct distributions for these tools, so we once hoped we'd manage -to finally merge the two packages back, together with Andries Brouwer, -who still maintains &kbd;. However, due to the lack of technical -cooperation from &kbd;'s maintainer, and to the growing gap with -&kbd;, this project is now on hold. - -The driver in 2.2.x kernel has been reworked a lot, and it seems it -will continue to evolve in 2.3.x. There are already some new -features, such as fonts with width != 8, which will be supported in -the future. - -There is an ongoing project, known as GGI (for General Graphical -Interface), which is in the process of, among other things, -revolutionarize the way the console is handled. Have a look at <url -url="http://www.ggi-project.org/" name="their WWW site"> for details. - -As far as possible, I will try to keep the &lct; in sync with what is -developped for the kernel, and to what gets added to new releases of -kbd but I have to look better at the current state of the GGI project -before I give any more info. - -</article> diff -Nru console-tools-0.2.3/doc/lct.txt console-tools-0.2.3/doc/lct.txt --- console-tools-0.2.3/doc/lct.txt 1999-07-19 19:50:42.000000000 +0000 +++ console-tools-0.2.3/doc/lct.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,528 +0,0 @@ - The Linux Console Tools - Yann Dirson, dirson@debian.org - 18 May 1999 - ____________________________________________________________ - - Table of Contents - - - 1. Status of this document - - 1.1 Other documents - - 2. What the Linux Console Tools are - - 3. Understanding the big picture of the console - - 4. What is Unicode - - 5. Understanding and setting up the keyboard driver - - 5.1 How it works - 5.2 See also - - 6. Understanding and setting up the screen driver - - 6.1 Unicode is everywhere - 6.1.1 Screen Font Maps - 6.1.2 SFM Fallback tables - 6.2 The unicode screen-mode - 6.3 The byte screen-mode - 6.3.1 Charset slots - 6.4 Special UCS2 codes - 6.5 About the old 8-bit ``screen maps'' - 6.6 See also - - 7. Font files - - 7.1 The formats - 7.2 Tools - 7.2.1 Font-files manipulation tools - 7.2.2 Font editors - - 8. The libraries - - 8.1 libconsole, - 8.2 libcfont, - 8.3 libctutils, - - 9. The future of the console driver and of the Linux Console Tools - - - - ______________________________________________________________________ - - 11.. SSttaattuuss ooff tthhiiss ddooccuummeenntt - - This is an introduction to the Linux Console Tools package. You - should refer to the manpages for more details. - - - 11..11.. OOtthheerr ddooccuummeennttss - - The Linux Console Tools WWW site - <http://www.multimania.com/ydirson/en/lct/> may contain additionnal - informations, latest news, and such. - - Files in the doc/contrib/ directory are unsupported, and may be - obsolete, but are provided just in case someone needs them. - - README.{acm,sfm,keytables} give some info on the respective included - data files. - - kbd.FAQ.* is the Console and Keyboard HOWTO by Andries Brouwer, as - included in kbd 0.97. It would need some corrections, though. - - - - 22.. WWhhaatt tthhee LLiinnuuxx CCoonnssoollee TToooollss aarree - - The Linux Console Tools are a set of programs allowing the user to - setup/customize your console (restricted meaning: text mode screen + - keyboard only). It is derived from version 0.94 of the kbd package, - and has benefited from most features introduced in kbd until version - 0.97. - - The Linux Console Tools are still under development, but using it just - as a replacement for kbd should be quite safe, at it fixes many bugs - kbd has. - - - 33.. UUnnddeerrssttaannddiinngg tthhee bbiigg ppiiccttuurree ooff tthhee ccoonnssoollee - - The console driver is currently made of 2 sub-drivers: the keyboard - driver, and the screen driver. Basically, the keyboard driver sends - characters to your application, then the application does its own job, - and sends to the screen driver the characters to be displayed. - - - 44.. WWhhaatt iiss UUnniiccooddee - - Traditionnaly, character encodings use 8 bits, and thus are limited to - 256 characters. This causes problems because: - - 1. it's not enough for some languages; - - 2. people speaking languages using different encodings have to choose - which one they use, and have to switch the system's state when - changing the language, which makes it difficult to mix several - languages in the same file; - - 3. etc... - - Thus the UCS (Universal Character Set), also know as _U_n_i_c_o_d_e was - created to handle and mix all of our world's scripts. This is a - 32-bit (4 bytes) encoding, otherwise known as UCS4 because of the size - of its characters, which is normalised by ISO as the 10646-1 standard. - The most widely used characters from UCS are contained in the UCS2 - 16-bit subset of UCS; this is the subset used by the Linux console. - - For convenience, the UTF8 encoding was designed as a variable-length - encoding (with 8 bytes of maximum length) with ASCII compatibility; - all chars that have a UCS4 encoding can be expressed as a UTF8 - sesquence, and vice-versa. - - The Unicode consortium <http://unicode.org> defines additional - properties for UCS2 characters. - - See: unicode(7), utf-8(7). - - - - - 55.. UUnnddeerrssttaannddiinngg aanndd sseettttiinngg uupp tthhee kkeeyybbooaarrdd ddrriivveerr - - 55..11.. HHooww iitt wwoorrkkss - - The keyboard driver is made up several levels: - - - +o the keyboard hardware, which turns the user's finger moves into so- - called _s_c_a_n_c_o_d_e_s (Disclaimer: this is not really part of the - software driver itself; no support is provided for bugs in this - domain ;-). An event (key pressed or released) generates from 1 to - 6 _s_c_a_n_c_o_d_e_s. - - +o a mechanism turning _s_c_a_n_c_o_d_e_s into _k_e_y_c_o_d_e_s using a translation- - table which you can access with the getkeycodes(8) and - setkeycodes(8) utilities. You will only need to look at that if - you have some sort of non-standard (or programmable ?) keys on your - keyboard. AFAIK, these keycodes are the same among a set of - keyboards sharing the same hardware, but differing in the symbols - drawn on the keys. - - +o a mechanism turning _k_e_y_c_o_d_e_s into _c_h_a_r_a_c_t_e_r_s using a _k_e_y_m_a_p. You - can access this _k_e_y_m_a_p using the loadkeys(1) and dumpkeys(1) - utilities. - - The keyboard driver can be in one of 4 modes (which you can access - using kbd_mode(1)), which will influence what type of data - applications will get as keyboard input: - - - +o the scancode (K_RAW) mode, in which the application gets scancodes - for input. It is used by applications that implement their own - keyboard driver. For example, X11 does that. - - +o the keycode (K_MEDIUMRAW) mode, in which the application gets - information on which keys (identified by their keycodes) get - pressed and released. AFAIK, no real-life application uses this - mode. - - +o the ASCII (K_XLATE) mode, in which the application effectively gets - the characters as defined by the _k_e_y_m_a_p, using an 8-bit encoding. - In this mode, the Ascii_0 to Ascii_9 keymap symbols allow to - compose characters by giving their decimal 8bit-code, and Hex_0 to - Hex_F do the same with (2-digit) hexadecimal codes. - - +o the Unicode (K_UNICODE) mode, which at this time only differs from - the ASCII mode by allowing the user to compose UTF8 unicode - characters by their decimal value, using Ascii_0 to Ascii_9 (who - needs that ?), or their hexadecimal (4-digit) value, using Hex_0 to - Hex_9. A keymap can be set up to produce UTF8 sequences (with a - U+XXXX pseudo-symbol, where each X is an hexadecimal digit), but be - warned that these UTF8 sequences will also be produced even in - ASCII mode. I think this is a bug in the kernel. - - BBEE WWAARRNNEEDD that putting the keyboard in RAW or MEDIUMRAW mode will make - it unusable for most applications. Use showkey(1) to get a demo of - these special modes, or to find out what scancodes/keycodes are - produced by a specific key. - - - 55..22.. SSeeee aallssoo - - keytables(5), setleds(1), setmetamode(1). - - - - 66.. UUnnddeerrssttaannddiinngg aanndd sseettttiinngg uupp tthhee ssccrreeeenn ddrriivveerr - - 66..11.. UUnniiccooddee iiss eevveerryywwhheerree - - 66..11..11.. SSccrreeeenn FFoonntt MMaappss - - In recent (as of 1998/08/11) kernels, the screen driver is based on - 16-bit unicode (UCS2) encoding, which means that every console-font - loaded sshhoouulldd be defined using a _u_n_i_c_o_d_e _S_c_r_e_e_n _F_o_n_t _M_a_p (SFM for - short), which tells, for each character in the font, the list of UCS2 - characters it will render. (-- SFM's were formerly called ``Unicode - Map'', or ``unimap'' for short, but this term should be dropped, as - now what they called ``screen maps'' uses Unicode as well: it probably - confuses many many people--) - - - 66..11..22.. SSFFMM FFaallllbbaacckk ttaabblleess - - Starting with release 1997.11.13 of the Linux Console Tools, - consolechars(8) now understands _S_F_M _f_a_l_l_b_a_c_k _t_a_b_l_e_s. Before that, - SFM's should contain at the same time the Unicode of the characters it - was primarily meant to render, as well as any approximations the user - would like to. These fallback tables allow to only put the primary - mappings in the SFM provided with the font-file, and to _s_e_p_a_r_a_t_e_l_y - keep a list telling _`_`_i_f _n_o _g_l_y_p_h _f_o_r _t_h_a_t _c_h_a_r_a_c_t_e_r _i_s _a_v_a_i_l_a_b_l_e _i_n - _t_h_e _c_u_r_r_e_n_t _f_o_n_t_, _t_h_e_n _t_r_y _t_o _d_i_s_p_l_a_y _i_t _w_i_t_h _t_h_e _g_l_y_p_h _f_o_r _t_h_i_s _o_n_e_, - _o_r _e_l_s_e _t_h_e _o_n_e _f_o_r _t_h_a_t _o_n_e_, _o_r _._._._'_'. This permits to keep in one - only place all possible fallbacks, and everyone will be able to choose - which fallback tables (s)he wants. Have a look at - data/consoletrans/*.fallback for examples. - - A fallback-table file is made of fallback entries, each entry being on - its own line. Empty lines, and lines beginning with the # comment - character are ignored. - - A fallback entry is a series of 2 or more UCS2 codes. The first one is - the character for which we want a glyph; the following ones are those - whose glyph we want to use when no glyph designed specially for our - character is available. The order of the codes defines a priority - order (own glyph if available, then second char's, then the third's, - etc.) - - If a SFM was to be loaded, fallback mappings are added to this map - before it is loaded. If there was not (ie. a font without SFM was - loaded, and no --sfm option was given to consolechars, or the --force- - no-sfm option was given), then the current SFM is requested from the - kernel, the fallback mappings are added, and the resulting SFM is - loaded back into the kernel. - - Note that each fallback entry is checked against the original SFM, not - against the SFM we get by adding former fallback entries to the - original SFM (the one read from a file, or given by the kernel); this - applies even to entries in different files, and thus the order of -k - options has no effect. If you want some entries to be influenced by - previous ones, you will have to use different fallback files, and to - load them with several consecutive invocations of consolechars -k. - - - 66..22.. TThhee uunniiccooddee ssccrreeeenn--mmooddee - - There are basically 2 screen-modes (byte mode and UTF mode). The - simpler to explain is the UTF mode, in which the bytes received from - the application (ie. written to the console screen) are interpreted as - UTF8 sequences, which are converted in the ``equivalent UCS2 codes'', - and then looked-up in the SFM to determine the glyphs used to display - each character. - Switching to and from UTF mode is done by sending to the screen the - escape sequences <ESC>%G and <ESC>%@ respectively. You may use the - unicode_start(1) and unicode_stop(1) scripts instead, as they also - change the keyboard mode, and let you optionally change the screen- - font. - - Use vt-is-UTF8(1) to find out whether active VT is in UTF mode. - - - 66..33.. TThhee bbyyttee ssccrreeeenn--mmooddee - - The byte mode is a bit more complicated, as it uses an additional map - to transform the byte-characters sent by the application into UCS2 - characters, which are then treated as told above. This map I call the - Application Charset Map (ACM), because it defines the encoding the - application uses, but it used to be called a ``screen map'', or - ``console map'' (this comes from the time where the screen driver - didn't use Unicode, and there was only one Map down there). - - Although there is only one ACM active at a given time, there are 4 of - them at any time in the kernel; 3 of them are built-in and never - change, and they define the IBM codepage 437 (the i386's default, and - thus the kernel's default even on other archs), the DEC VT100 charset, - and the ISO latin1 charset; the 4th is user-definable, and defaults on - boot to the ``straight to font'' mapping, decribed below under - ``Special UCS2 codes''. - - The consolechars(1) command can be used to change the ACM, as well as - the font and its associated SFM. - - - 66..33..11.. CChhaarrsseett sslloottss - - The Linux Console Driver has 2 slots for charsets, labeled _G_0 and _G_1. - Each of these slots contains a reference to one of the 4 kernel ACMs, - 3 of which are predefined to provide the _c_p_4_3_7, _i_s_o_0_1, and _v_t_1_0_0 - _g_r_a_p_h_i_c_s charsets. The 4th one is user-definable; this is the one you - can set with consolechars --acm and get with consolechars --old-acm. - - Versions of the Linux Console Tools prior to 1998.08.11, as well as - all versions of kbd at least until 0.96a, were always assuming you - wanted to use the G0 slot, pointing to the user-defined ACM. You can - now use the charset utility to tune your charset slots. - - You will note that, although each VT has its own slot settings, there - is only one user-defined ACM for use by all the VTs. That is, whereas - you can have tty1 using _G_0_=_c_p_4_3_7 and _G_1_=_v_t_1_0_0, at the same time as - tty2 using _G_0_=_i_s_o_0_1 and _G_1_=_i_s_o_0_2 (user-defined), you ccaannnnoott have at - the same time tty1 using _i_s_o_0_2 and tty2 using _i_s_o_0_3. This is a - limitation of the linux kernel. - - Note that you can emulate such a setting using the filterm utility, - with your console in UTF8-mode, by telling filterm to translate screen - output on-the-fly to UTF8. - - You'll find ffiilltteerrmm in the kkoonnwweerrtt package, by Marcin Kowalczyk, which - is available from his WWW site - <http://kki.net.pl/qrczak/programy/index.html>. - - - - 66..44.. SSppeecciiaall UUCCSS22 ccooddeess - - There are special UCS2 values you should care about, but the present - list is probably not exhaustive: - - +o codes C from U+F000 to U+F1FF are not looked-up in the SFM, and - directly accesses the character in font-position C & 0x01FF (yes, a - font can be 512-chars on many hardware platforms, like VGA). This - is refered to as the _s_t_r_a_i_g_h_t _t_o _f_o_n_t zone. - - - +o code U+FFFD is the _r_e_p_l_a_c_e_m_e_n_t _c_h_a_r_a_c_t_e_r, usually at font-position - 0 in a font. It is displayed by the kernel each time the - application requested a unicode character that is not present in - the SFM. This allows not only the driver to be safe in Unicode - mode, but also prevents displaying invalid characters when the ACM - on a particular VT contains characters not in the current font ! - - - 66..55.. AAbboouutt tthhee oolldd 88--bbiitt ````ssccrreeeenn mmaappss'''' - - There was a time where the kernel didn't know anything about Unicode. - In this ancient time, Application Charset Maps were called ``screen - maps'', and just mapped the application's characters into font - positions. The file format used for these 8bit ACM's is still - supported for backward compatibility, but should not be used any more. - - The old way of using custom ACM's didn't know about unicode, so the - ACM had to depend on the font. Now, as each VT chooses its own ACM - (from the 4 ones in the kernel at a given time), and as the console- - font is common to all VT's, we can use a charset even if the font - can't display all of its characters; it will then display the - replacement character (U+FFFD). - - - 66..66.. SSeeee aallssoo - - psfaddtable(1), psfgettable(1), psfstriptable(1), showfont(1). - - - - 77.. FFoonntt ffiilleess - - 77..11.. TThhee ffoorrmmaattss - - The primary font file format for the Linux Console Tools, as of - version 0.2.x, is the PSF format, which is also used by kbd. 0.3.x - will introduce the XPSF format, which will be able to replace all - existing file formats. - - Raw fonts can be converted into PSF files with the font2psf(1) - (written by Martin Lohner, SuSE GmbH). - - Versions 0.2.x do not have support for the CP format again - this will - come back in the 0.3.x development branch. - - - 77..22.. TToooollss - - 77..22..11.. FFoonntt--ffiilleess mmaanniippuullaattiioonn ttoooollss - - The psfaddtable(1), psfgettable(1), and psfstriptable(1) tools are - provided by the Linux Console Tools for manipulation of the SFM - embedded in PSF files. These are the only font-manipulation tools - provided by the Linux Console Tools as of version 0.2.x. The - font2psf(1) tool is available in the contrib directory to convert old - raw fonts into PSF fonts. - - There are plans for a more generic font-conversion tool based on - libcfont. It will be mostly trivial to write once work on libcfont - will be advanced enough. - The only way provided by the Linux Console Tools to display a font's - contents is to load it, and then to display it using showfont(1). - - - 77..22..22.. FFoonntt eeddiittoorrss - - I do not curently know of a good font-editor suitable for editing - console fonts. I tried fonter, but this one has a bad design flaw: - you can only properly edit cp437 fonts (or maybe ASCII-based fonts if - you like unreadable screens) because it works on the console and loads - the font you are editing. I was told about cse which I did not tried - yet. Marcin Kowalczyk is working on the fonty - <http://kki.net.pl/qrczak/programy/index.html> tool (which I did not - check yet either), which will help font designers, but is not AFAIK a - real editor. Robert de Bath works on his own tools - <http://www.cix.co.uk/~mayday/font.tgz> which handle a variety of file - formats and table formats. - - - - 88.. TThhee lliibbrraarriieess - - There are several shared libraries installed by the Linux Console - Tools. They were at first meant just to share code betwwen the - various utilities (kbd has lots of duplicated code), but they could be - used as a base to build new tools. - - However, they are not yet ready for production use (hence the version - number 0.0.0), and are absolutely not complete nor coherent at the - time. - - Here is a summary of what they are meant to become: - - - 88..11.. <<llcctt//kkssyymmss..hh>> lliibbccoonnssoollee,, <<llcctt//ccoonnssoollee..hh>> ++ - - is a meant to be a collection of: - - +o wrappers around the kernel-level functionnalities, which should be - as kernel-version-independant as reasonable; - - +o higher-level interfaces to these functionnalities. - - Maybe this goal overlaps with some part of libggi (see ``The - future''), but I didn't investigate that for now. - - - 88..22.. lliibbccffoonntt,, <<llcctt//ffoonntt..hh>> - - is meant to provide a high-level interface to console-font file- - handling. It also exports the lower-level functions used to construct - higher-level ones. - - It only supports for now some low- to medium-level functions that ease - writing programs, but I hope to make it a lot more than that, - especially with the coming of the XPSF file-format (see doc/font- - formats/xpsf.draft for details). - - As of release 1998.08.11, implementation of higher-level interface has - just started. - - - 88..33.. <<llcctt//uunniiccooddee..hh>> lliibbccttuuttiillss,, <<llcctt//uuttiillss..hh>> ++ - - is a collection of misc utility functions for use by the 2 other libs - and by the tools. I hope most this stuff will one day make its way to - an existing general purpose utility-library. Any offers welcomed. - - - - 99.. TThhee ffuuttuurree ooff tthhee ccoonnssoollee ddrriivveerr aanndd ooff tthhee LLiinnuuxx CCoonnssoollee TToooollss - - The Linux Console Tools were derived from kbd. It is not a good thing - to have two distinct distributions for these tools, so we once hoped - we'd manage to finally merge the two packages back, together with - Andries Brouwer, who still maintains kbd. However, due to the lack of - technical cooperation from kbd's maintainer, and to the growing gap - with kbd, this project is now on hold. - - The driver in 2.2.x kernel has been reworked a lot, and it seems it - will continue to evolve in 2.3.x. There are already some new - features, such as fonts with width != 8, which will be supported in - the future. - - There is an ongoing project, known as GGI (for General Graphical - Interface), which is in the process of, among other things, - revolutionarize the way the console is handled. Have a look at their - WWW site <http://www.ggi-project.org/> for details. - - As far as possible, I will try to keep the Linux Console Tools in sync - with what is developped for the kernel, and to what gets added to new - releases of kbd but I have to look better at the current state of the - GGI project before I give any more info. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru console-tools-0.2.3/doc/Makefile.am console-tools-0.2.3/doc/Makefile.am --- console-tools-0.2.3/doc/Makefile.am 1999-04-08 22:11:11.000000000 +0000 +++ console-tools-0.2.3/doc/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -# -*- makefile -*- - -AUTOMAKE_OPTIONS = foreign - -SUBDIRS = man - -EXTRA_DIST = lct.sgml lct.txt \ - kbd.FAQ.sgml kbd.FAQ.txt \ - README.* dvorak/* \ - file-formats/* contrib/* - -DISTCLEANFILES = lct.dvi kbd.FAQ*.html kbd.FAQ.dvi - -MAINTAINERCLEANFILES = lct*.html lct.txt kbd.FAQ.txt - -all: lct.txt lct.html kbd.FAQ.txt kbd.FAQ.html - -%.html: $(srcdir)/%.sgml - sgml2html $< - -%.txt: $(srcdir)/%.sgml - sgml2txt $< - -%.dvi: $(srcdir)/%.sgml - sgml2latex $< diff -Nru console-tools-0.2.3/doc/Makefile.in console-tools-0.2.3/doc/Makefile.in --- console-tools-0.2.3/doc/Makefile.in 1999-10-25 20:58:12.000000000 +0000 +++ console-tools-0.2.3/doc/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,345 +0,0 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# -*- makefile -*- - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AS = @AS@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -COMPAT = @COMPAT@ -DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ -FONTDIR = @FONTDIR@ -GENCAT = @GENCAT@ -GMOFILES = @GMOFILES@ -GMSGFMT = @GMSGFMT@ -GT_NO = @GT_NO@ -GT_YES = @GT_YES@ -INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ -INSTOBJEXT = @INSTOBJEXT@ -INTLDEPS = @INTLDEPS@ -INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -KEYCODES = @KEYCODES@ -KEYMAPDIR = @KEYMAPDIR@ -LD = @LD@ -LEX = @LEX@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LOADKEYS = @LOADKEYS@ -MAKEINFO = @MAKEINFO@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -NM = @NM@ -OBJDUMP = @OBJDUMP@ -PACKAGE = @PACKAGE@ -POFILES = @POFILES@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -RESIZECONS = @RESIZECONS@ -TRANSDIR = @TRANSDIR@ -UNICODEDATA = @UNICODEDATA@ -UNICODELISTS = @UNICODELISTS@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -VIDEOMODEDIR = @VIDEOMODEDIR@ -YACC = @YACC@ -l = @l@ -translit = @translit@ - -AUTOMAKE_OPTIONS = foreign - -SUBDIRS = man - -EXTRA_DIST = lct.sgml lct.txt kbd.FAQ.sgml kbd.FAQ.txt README.* dvorak/* file-formats/* contrib/* - - -DISTCLEANFILES = lct.dvi kbd.FAQ*.html kbd.FAQ.dvi - -MAINTAINERCLEANFILES = lct*.html lct.txt kbd.FAQ.txt -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = -DIST_COMMON = Makefile.am Makefile.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -all: all-redirect -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps doc/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. - -@SET_MAKE@ - -all-recursive install-data-recursive install-exec-recursive \ -installdirs-recursive install-recursive uninstall-recursive \ -check-recursive installcheck-recursive info-recursive dvi-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ - dot_seen=no; \ - rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ - rev="$$subdir $$rev"; \ - test "$$subdir" = "." && dot_seen=yes; \ - done; \ - test "$$dot_seen" = "no" && rev=". $$rev"; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) - -mostlyclean-tags: - -clean-tags: - -distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = doc - -distdir: $(DISTFILES) - $(mkinstalldirs) $(distdir)/contrib $(distdir)/dvorak \ - $(distdir)/file-formats - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - for subdir in $(SUBDIRS); do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - chmod 777 $(distdir)/$$subdir; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \ - || exit 1; \ - fi; \ - done -info-am: -info: info-recursive -dvi-am: -dvi: dvi-recursive -check-am: all-am -check: check-recursive -installcheck-am: -installcheck: installcheck-recursive -install-exec-am: -install-exec: install-exec-recursive - -install-data-am: -install-data: install-data-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-recursive -uninstall-am: -uninstall: uninstall-recursive -all-am: Makefile -all-redirect: all-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: installdirs-recursive -installdirs-am: - - -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -mostlyclean-am: mostlyclean-tags mostlyclean-generic - -mostlyclean: mostlyclean-recursive - -clean-am: clean-tags clean-generic mostlyclean-am - -clean: clean-recursive - -distclean-am: distclean-tags distclean-generic clean-am - -rm -f libtool - -distclean: distclean-recursive - -maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \ - distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-recursive - -.PHONY: install-data-recursive uninstall-data-recursive \ -install-exec-recursive uninstall-exec-recursive installdirs-recursive \ -uninstalldirs-recursive all-recursive check-recursive \ -installcheck-recursive info-recursive dvi-recursive \ -mostlyclean-recursive distclean-recursive clean-recursive \ -maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ -dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ -install-exec install-data-am install-data install-am install \ -uninstall-am uninstall all-redirect all-am all installdirs-am \ -installdirs mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean - - -all: lct.txt lct.html kbd.FAQ.txt kbd.FAQ.html - -%.html: $(srcdir)/%.sgml - sgml2html $< - -%.txt: $(srcdir)/%.sgml - sgml2txt $< - -%.dvi: $(srcdir)/%.sgml - sgml2latex $< - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru console-tools-0.2.3/doc/man/charset.1 console-tools-0.2.3/doc/man/charset.1 --- console-tools-0.2.3/doc/man/charset.1 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/charset.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,77 +0,0 @@ -.TH CHARSET 1 "10 Aug 1998" "Console tools" "Linux User's Manual" - -.SH NAME -charset \- Set an ACM for use in one of the G0/G1 charset slots. - -.SH SYNOPSIS -.BI "charset [" -v "] " G0 | G1 " [" cp437 | iso01 | vt100 | user | <acm_name> ] - -.SH DESCRIPTION -The linux console has 2 slots for charsets, labeled -.I G0 -and -.IR G1 . -.B charset -changes the slot in use by the current VT to either -.I G0 -or -.IR G1 , -and fills the slot either with one of the 3 predefined ACMs -.RI ( cp437 ", " iso01 ", " vt100 ) -or with a user-defined ACM. - -You can ask for the current user-defined ACM by specifying -.IR user , -or ask a new ACM to be loaded from a file into the user slot, by -specifying a filename. - -You will note that, although each VT has its own slot settings, there -is only one user-defined ACM for all the VTs. That is, whereas you -can have tty1 using -.I G0=cp437 -and -.IR G1=vt100 , -at the same time as tty2 using -.I G0=iso01 -and -.I G1=iso02 -(user-defined), you -.B cannot -have at the same time tty1 using -.I iso02 -and tty2 using -.IR iso03 . -This is a limitation of the linux kernel. - -Note that you can emulate such a setting using the -.BR filterm (1) -utility, with your console in UTF8-mode, by telling -.B filterm -to translate screen output on-the-fly to UTF8. - -You'll find -.BR filterm (1) -in the -.BR konwert (1) -package, by Marcin Kowalczyk, which is available from -.IR http://qrczak.home.ml.org/ . - -.SH OPTIONS -.TP -.I -v -be verbose. -.B charset -will then print what it does as it does it. - -.SH BUGS - -.B charset -cannot determine which of the 2 slots is in use at a given time, so -you have to tell him which one you want, even if you don't want to -change to the other one. This is a limitation of the console driver. - -.SH "SEE ALSO" - -.BR consolechars (8), -.BR unicode_start (1), -.BR filterm (1). diff -Nru console-tools-0.2.3/doc/man/chvt.1 console-tools-0.2.3/doc/man/chvt.1 --- console-tools-0.2.3/doc/man/chvt.1 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/chvt.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ -.TH CHVT 1 "07 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -chvt \- change foreground virtual terminal - -.SH SYNOPSIS -.BI chvt N - -.SH DESCRIPTION -The command -.B chvt -.I N -makes -.RI /dev/tty N -the foreground terminal. The corresponding screen is created if it did not -exist yet. To get rid of unused VTs, use -.BR deallocvt (1). -.PP -The keymap action -.RI `Console_ N ' -(usually bound to key combination -.RI (Ctrl\-)LeftAlt\-F N , -with -.I N -in the range 1-12, and to -.RI RightAlt\-F N\-12 -with -.I N -in the range 13-24) also allows to switch to another VT, but really switches -only if it is already allocated. This prevents allocating new VTs with a -misplaced keystroke. - -.SH "SEE ALSO" - -.BR deallocvt (1). diff -Nru console-tools-0.2.3/doc/man/console.4 console-tools-0.2.3/doc/man/console.4 --- console-tools-0.2.3/doc/man/console.4 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/console.4 1970-01-01 00:00:00.000000000 +0000 @@ -1,79 +0,0 @@ -.\" Copyright (c) 1994 Andries Brouwer (aeb@cwi.nl), Mon Oct 31 21:03:19 MET 1994 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" Modified, Sun Feb 26 14:58:45 1995, faith@cs.unc.edu -.\" Modified, Oct 28 1997, dirson@debian.org -.\" -.TH CONSOLE 4 "28 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -console \- console terminal and virtual consoles - -.SH DESCRIPTION -A Linux system has up to 63 \fIvirtual consoles\fP -(character devices with major number 4 and minor number 1 to 63), -usually called \fB/dev/tty\fP\fIn\fP with 1 \(<= \fIn\fP \(<= 63. -The current console is also addressed by -\fB/dev/console\fP or \fB/dev/tty0\fP, the character device with -major number 4 and minor number 0. -The device files /dev/* are usually created using the script MAKEDEV, -or using mknod(1), usually with mode 0622 and owner root.tty. - -Before kernel version 1.1.54 the number of virtual consoles was -compiled into the kernel (in tty.h: #define NR_CONSOLES 8) -and could be changed by editing and recompiling. -Since version 1.1.54 virtual consoles are created on the fly, -as soon as they are needed. - -Common ways to start a process on a console are: (a) tell init(8) -(in inittab(5)) to start a getty(8) on the console; (b) ask open(1) -to start a process on the console; (c) start X - it will find the -first unused console, and display its output there. -(There is also the ancient doshell(8).) - -Common ways to switch consoles are: (a) use Alt+F\fIn\fP or -Ctrl+Alt+F\fIn\fP to switch to console \fIn\fP; AltGr+F\fIn\fP -might bring you to console \fIn\fP+12 [here Alt and AltGr refer -to the left and right Alt keys, respectively]; -(b) use Alt+RightArrow or Alt+LeftArrow to cycle through -the presently allocated consoles; (c) use the program chvt(1). -(The key mapping is user settable, see loadkeys(1); the above mentioned -key combinations are according to the default settings.) - -The command \fBdeallocvt\fP(1) (formerly \fBdisalloc\fP) -will free the memory taken by the screen buffers for consoles -that no longer have any associated process. - -.SH PROPERTIES -Consoles carry a lot of state. I hope to document that some other time. -The most important fact is that the consoles simulate vt100 terminals. -In particular, a console is reset to the initial state by printing the two -characters ESC c. -All escape sequences can be found in -.BR console_codes (4). - -.SH FILES -.I /dev/console -.br -.I /dev/tty* - -.SH "SEE ALSO" -.BR charsets (4), -.BR console_codes (4), -.BR console_ioctl (4), -.BR mknod (1), -.BR tty (4), -.BR ttys (4), -.BR getty (8), -.BR init (8), -.BR chvt (1), -.BR open (1), -.BR deallocvt (1), -.BR loadkeys (1), -.BR resizecons (8), -.BR consolechars (8), -.BR mapscrn (8). diff -Nru console-tools-0.2.3/doc/man/consolechars.8.in console-tools-0.2.3/doc/man/consolechars.8.in --- console-tools-0.2.3/doc/man/consolechars.8.in 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/consolechars.8.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,288 +0,0 @@ -.TH CONSOLECHARS 8 "31 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -consolechars - load EGA/VGA console screen font, screen-font map, and/or -application-charset map. - -.SH SYNOPSIS -.B consolechars -.BI [ -v | --verbose "] [" -V | --version "] [" -h | --help "] [" -1 | --g1 ] -.BI [ -n | --no-act "] [" --force-no-sfm "] [" -H | --char-height=N ] -.BI [ --tty=device ] -.BI [ -m | --acm= | --app-charset-map=acm "] [" -M | --old-acm=acm.orig ] -.BI [ -f | --font=font.new "] [" -F | --old-font=font.orig ] -.BI [ --old-font-raw=font.orig "] [" --old-font-psf-with-sfm=font.orig.psf ] -.BI [ --old-font-psf=font.orig.psf ] -.BI [ -u | --sfm= | --screen-font-map=sfm "] [" -U | --old-sfm=sfm.orig ] -.BI [ -k | --sfm-fallback ] - -.SH DESCRIPTION -.IX "consolechars command" "" "\fLconsolechars\fR command" - -The -.B consolechars -command loads a font into the EGA/VGA character generator, and optionally -outputs the previous font. This command reads an -.RI 8x H -font from the file and loads it into the character generator memory. Usually -the font size -.I H -will be read from the file, but some file-formats do not contain enough -information for this, especially the -.I raw -file format, which only contains the font bitmaps. In this case, H will be -computed from the file size, which implies these files cannot be compressed. -If the input file has codepage format, containing the three fonts 8x8, 8x14 -and 8x16, one of the options -.IR "-H 8" ", " "-H 14" " or " "-H 16" -must be used to select one. Codepage format is also recognized by size, and -cannot be compressed. - -As currently there is no mode switching support in the Linux kernel, -.B consolechars -has nothing to do with the current EGA/VGA mode. It's totally user's -responsibility to choose a font matching the current video mode. - -.SH OPTIONS - -.TP -.I -h --help -Display a short help message and exit. - -.TP -.I -V --version -Display version-number and exit. - -.TP -.I -v --verbose -Display on -.I stderr -informations on what's going on. - -.TP -.I -n --no_act -Do not change the console state; do not write anything to any file. Implies -.IR --verbose . - -.TP -.I -1 --g1 -Activate the G1 charset instead of G0 (see -.IR --acm ). - -.TP -.I --tty=device -Use -.I device -as console device for ioctls, instead of guessing which one to use, -which usually chooses the current tty. This can be useful for testing -when under X, in conjunction with -.I --no-act -\- actual ioctls are refused for some reason then. - -.SH COMMANDS - -.TP -.I -f --font=file -The -.I font file -is a file containing the bitmap-description (glyph) of characters. Since -fonts may contain the glyphs for arbitrary character-sets, knowledge about -these characters may come either in the font-file (eg. in PSF files), or in -separate screen-font-map files (see -.I --sfm -option). - -Font-files can be compressed with -.BR gzip "(1) or " compress (1), -with the exception of -.IR raw " and " codepage -file-formats. - -Raw font files are binary files of size -.RI 256* H -bytes, containing bit images for each of 256 characters, one byte per scan -line, and -.I H -bytes per character (0 < -.I H -<= 32); -.I H -is computed from the file-size, thus raw font files cannot be compressed. The -other font-formats are described elsewhere. - -.TP -.I -d --default-font -Load a default font. The -.I -H -option can be given to force a given char-height. - -.TP -.I -m --acm --app-charset-map=file -Load a user-defined -.I Application-Charset Map (ACM) -- save current ACM. -.br -The mapping from 8-bit characters sent to the screen into Unicode (UCS2) -characters by the running application is described by an ACM (formerly called -.IR "screen map" ). -This map characterizes the 8-bit encoding used by the application, hence its -new name. If no ACM is provided using the -.I --acm -option, the -.I trivial -map is assumed. Unless the -.I --g1 -option in specified, the -.B G0 -charset is then selected, and set to use the ACM just loaded. If -.I --g1 -is specified, the -.B G1 -charset is used instead of G0. - -There are 2 types of ACM's recognized by the -.I --acm -option, which can be fed in binary or ASCII form. Binary maps are checked by -size, and contain an array of 256 bytes (old style 8-bit to font-position -maps) or 256 unicodes (8-bit to UCS2 maps). Because of this check, you should -not compress or pipe them. -.br -In the ASCII format, new style (UCS2) ACM's are composed of lines of the form -.I `byte unicode' -where each first byte is the one to map (from the Application-Charset), in -either of the C decimal, octal, hex, or character syntaxes for integers, and -the unicode is formed either with the `U+' prefix and 4 hex digits, or with -an -.I UTF8-encoded character -enclosed between single quotes; unspecified mappings default to ASCII -(identity) for characters in the range 0-127, and to 0xFFFD (the replacement -character) for those in the range 128-255. -.br -Old style (8-bit) maps in the ASCII format are composed of lines of the form -.I `byte byte' -where the first byte has the same meaning as above, and the second one is the -position in the font; unspecified mappings default to straight-to-font -identity mapping. -.br -An old-style mapping is equivalent to a new-style mapping where the second -byte -.I b -would be replaced by the unicode -.B U+F000 | -.IR b , -ie. in the -.IR "straight-to-font zone" . -However, due to the differences of defaults regarding unspecified mappings, -just converting each mapping individually will not be sufficient to get an -equivalent ACM. - -.TP -.I -M --old-acm=file -Saves the previous ACM can be saved to a file. - -.TP -.I -u --sfm --screen-font-map=file -Load a -.I Screen Font Map (SFM) -.br -The correspondance between Unicode values and the glyphs in the curent -console-font is described by a -.I Screen-Font Map -(formerly called -.IR "Unicode mapping table" ). -Some fonts have a SFM included in the font file, and an explicit one can be -indicated using the -.I --sfm -option. -.B consolechars -will load such a builtin SFM, unless a -.I --force-no-sfm -option is given. -One may add a SFM to a psf font using -.IR psfaddtable (1). - -.TP -.I --force-no-sfm -Prevent the loading of a SFM when loading a font containing one. You should -use this option with care, as you probably don't want to have a font without -a SFM; it could cause trouble. - -.TP -.I -U --old-sfm=file -Save current SFM into a file. - -.TP -.I -k --sfm-fallback=file -Use the given -.I file -as a SFM fallback table, to supplement the SFM. Multiple -.I -k -options may be given. - -A fallback table tells, for some UCS2 characters you're interested to -display, which character's glyph it may use if its own is not -available according to the SFM in use. - -If a SFM was to be loaded, fallback mappings are added to this map -before it is loaded. If there was not (ie. no -.I --sfm -option was given, and a font without SFM was loaded, or the -.I --force-no-sfm -option was given), then the current SFM is requested from the kernel, -the the fallback mappings are added, and the resulting SFM is loaded. - -.TP -.I -F --old-font=file -Save old font in the prefered format. It is currently the same as using ---old-font-psf-with-sfm, but may change when a better format is supported. - -.TP -.I --old-font-psf-with-sfm=file -Save old font in PSF format, with corresponding SFM (PSF mode 2 or 3). - -.TP -.I --old-font-psf=file -Save old font in PSF format (PSF mode 0 or 1). Usually a bad idea. - -.TP -.I --old-font-raw=file -Save old font in RAW format. Usually an even worse idea. - -.TP -.I -H --char-height=N -When loading a font from a codepage file, or a default font, specify which -font-size to use. -.I N -should be a number between 1 and 31. - -.SH HISTORY -.B consolechars -was originally called -.BR setfont (8), -but was renamed (in version 1997.10.28 of the Linux Console Tools) to allow -for changing the command-line options while providing backward compatibility -with the old `kbd' package. - -.SH FILES -.I @datadir@/consolefonts/ -is the default directory for fonts. - -.I @datadir@/consoletrans/ -is the default directory for both ACM's and SFM's. - -.SH BUGS -For implementation reasons, binary ACM's and ASCII 8-bit ACM's -cannot be compressed nor piped. This is not likely to change (except if a -good reason is given to the maintainer, or a patch is submitted), because I -consider these formats to be obsolete. - -.SH AUTHORS -Eugene G. Crosser <crosser@pccross.msk.su> -.br -Andries E. Brouwer <aeb@cwi.nl> -.br -Extended by Yann Dirson <dirson@debian.org> - -.SH "SEE ALSO" -.BR psfaddtable (1), -.BR psfstriptable (1). diff -Nru console-tools-0.2.3/doc/man/console_ioctls.4 console-tools-0.2.3/doc/man/console_ioctls.4 --- console-tools-0.2.3/doc/man/console_ioctls.4 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/console_ioctls.4 1970-01-01 00:00:00.000000000 +0000 @@ -1,482 +0,0 @@ -.TH CONSOLE_IOCTLS 4 "28 Oct 1997" "Linux" "Linux Programmer's Manual" -.\" Copyright (c) 1995 Jim Van Zandt <jrv@vanzandt.mv.com> and aeb -.\" Sun Feb 26 11:46:23 MET 1995 -.\" Slightly modified by dirson@debian.org -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, -.\" USA. -.\" - -.SH NAME -console ioctl's\- ioctl's for console terminal and virtual consoles - -.SH DESCRIPTION -\fBWARNING: If you use the following information you are going to burn yourself.\fP - -\fBWARNING: ioctl's are undocumented Linux internals, liable to be changed -without warning. Use POSIX functions where available.\fP - -The following Linux-peculiar \fBioctl()\fP requests are supported. -Each requires a third argument, assumed here to be \fIargp\fP. -.IP \fBKDGETLED\fP -Get state of LEDs. \fIargp\fP points to a long int. The lower three bits -of \fI*argp\fP are set to the state of the LEDs, as follows: - - LED_CAP 0x04 caps lock led - LEC_NUM 0x02 num lock led - LED_SCR 0x01 scroll lock led - -.IP \fBKDSETLED\fP -Set the LEDs. The LEDs are set to correspond to the lower three bits of -\fIargp\fP. However, if a higher order bit is set, -the LEDs revert to normal: displaying the state of the -keyboard functions of caps lock, num lock, and scroll lock. - -Before 1.1.54, the leds just reflected the state of the corresponding -keyboard flags, and KDGETLED/KDSETLED would also change the keyboard -flags. Since 1.1.54 the leds can be made to display arbitrary -information, but by default they display the keyboard flags. -The following two ioctl's are used to access the keyboard flags. - -.IP \fBKDGKBLED\fP -Get keyboard flags CapsLock, NumLock, ScrollLock (not lights). -\fIargp\fP points to a char which is set to the flag state. -The low order three bits (mask 0x7) get the current flag state, -and the low order bits of the next nibble (mask 0x70) get -the default flag state. (Since 1.1.54.) - -.IP \fBKDSKBLED\fP -Set keyboard flags CapsLock, NumLock, ScrollLock (not lights). -\fIargp\fP has the desired flag state. -The low order three bits (mask 0x7) have the flag state, -and the low order bits of the next nibble (mask 0x70) have -the default flag state. (Since 1.1.54.) - -.IP \fBKDGKBTYPE\fP -Get keyboard type. This returns the value KB_101, defined as 0x02. - -.IP \fBKDADDIO\fP -Add I/O port as valid. Equivalent to ioperm(arg,1,1). - -.IP \fBKDDELIO\fP -Delete I/O port as valid. Equivalent to ioperm(arg,1,0). - -.IP \fBKDENABIO\fP -Enable I/O to video board. Equivalent to ioperm(0x3b4, 0x3df-0x3b4+1, 1). - -.IP \fBKDDISABIO\fP -Disable I/O to video board. Equivalent to ioperm(0x3b4, 0x3df-0x3b4+1, 0). - -.IP \fBKDSETMODE\fP -Set text/graphics mode. \fIargp\fP is one of these: - - KD_TEXT 0x00 - KD_GRAPHICS 0x01 - -.IP \fBKDGETMODE\fP -Get text/graphics mode. \fIargp\fP points to a long which is set to one -of the above values. - -.IP \fBKDMKTONE\fP -Generate tone of specified length. -The lower 16 bits of \fIargp\fP specify the period in clock cycles, -and the upper 16 bits give the duration in msec. -If the duration is zero, the sound is turned off. -Control returns immediately. -For example, \fIargp\fP = (125<<16) + 0x637 would specify -the beep normally associated with a ctrl-G. - -.IP \fBKIOCSOUND\fP -Start or stop sound generation. The lower 16 bits of -\fIargp\fP specify the period in clock cycles -(that is, \fIargp\fP = 1193180/frequency). -\fIargp\fP = 0 turns sound off. -In either case, control returns immediately. - -.IP \fBGIO_FONT\fP -Gets screen font in expanded form. \fIargp\fP points to an 8192 byte array. - -.IP \fBPIO_FONT\fP -Sets screen font. Load font into the EGA/VGA character generator. -\fIargp\fP points to a 8192 byte map, with 32 bytes per character. -Only first \fIN\fP of them are used for an 8x\fIN\fP font (0 < \fIN\fP <= 32). - -.IP \fBGIO_SCRNMAP\fP -Get screen mapping from kernel. -\fIargp\fP points to an area of size E_TABSZ. - -.IP \fBPIO_SCRNMAP\fP -Loads the "user definable" (fourth) table in the kernel which maps bytes into console -screen symbols. \fIargp\fP points to an area of size E_TABSZ. - -.IP \fBGIO_UNIMAP\fP -Get unicode-to-font mapping from kernel. \fIargp\fP points to a - -.nf -struct unimapdesc { - u_short \fIentry_ct\fP; - struct unipair *\fIentries\fP; -}; -.fi - -where \fIentries\fP points to an array of - -.nf -struct unipair { - u_short \fIunicode\fP; - u_short \fIfontpos\fP; -}; -.fi - -(Since 1.1.92.) - -.IP \fBPIO_UNIMAP\fP -Put unicode-to-font mapping in kernel. \fIargp\fP points to a -struct unimapdesc. (Since 1.1.92) - -.IP \fBPIO_UNIMAPCLR\fP -Clear table, possibly advise hash algorithm. \fIargp\fP points to a - -.nf -struct unimapinit { - u_short \fIadvised_hashsize\fP; /* 0 if no opinion */ - u_short \fIadvised_hashstep\fP; /* 0 if no opinion */ - u_short \fIadvised_hashlevel\fP; /* 0 if no opinion */ -}; -.fi - -(Since 1.1.92.) - -.IP \fBKDGKBMODE\fP -Gets current keyboard mode. \fIargp\fP points to a long which is set to one -of these: - - K_RAW 0x00 - K_XLATE 0x01 - K_MEDIUMRAW 0x02 - K_UNICODE 0x03 - -.IP \fBKDSKBMODE\fP -Sets current keyboard mode. -\fIargp\fP is a long equal to one of the above values. - -.IP \fBKDGKBMETA\fP -Gets meta key handling mode. \fIargp\fP points to a long which is -set to one of these: - - K_METABIT 0x03 set high order bit - K_ESCPREFIX 0x04 escape prefix - -.IP \fBKDSKBMETA\fP -Sets meta key handling mode. -\fIargp\fP is a long equal to one of the above values. - -.IP \fBKDGKBENT\fP -Gets one entry in key translation table (keycode to action code). -\fIargp\fP points to a - -.nf -struct kbentry { - u_char \fIkb_table\fP; - u_char \fIkb_index\fP; - u_short \fIkb_value\fP; -}; -.fi - -with the first two members filled in: -\fIkb_table\fP selects the key table (0 <= \fIkb_table\fP < MAX_NR_KEYMAPS), -and \fIkb_index\fP is the keycode (0 <= \fIkb_index\fP < NR_KEYS). -\fIkb_value\fP is set to the corresponding action code, -or K_HOLE if there is no such key, -or K_NOSUCHMAP if \fIkb_table\fP is invalid. - -.IP \fBKDSKBENT\fP -Sets one entry in translation table. \fIargp\fP points to a struct kbentry. - -.IP \fBKDGKBSENT\fP -Gets one function key string. \fIargp\fP points to a - -.nf -struct kbsentry { - u_char \fIkb_func\fP; - u_char \fIkb_string\fP[512]; -}; -.fi - -\fIkb_string\fP is set to the (NULL terminated) string corresponding to -the \fIkb_func\fPth function key action code. - -.IP \fBKDSKBSENT\fP -Sets one function key string entry. \fIargp\fP points to a struct kbsentry. - -.IP \fBKDGKBDIACR\fP -Read kernel accent table. \fIargp\fP points to a - -.nf -struct kbdiacrs { - unsigned int \fIkb_cnt\fP; - struct kbdiacr \fIkbdiacr\fP[256]; -}; -.fi - -where \fIkb_cnt\fP is the number of entries in the array, each of which -is a - -struct kbdiacr { u_char \fIdiacr\fP, \fIbase\fP, \fIresult\fP; -}; - -.IP \fBKDGETKEYCODE\fP -Read kernel keycode table entry (scan code to keycode). -\fIargp\fP points to a - -.nf -struct kbkeycode { unsigned int \fIscancode\fP, \fIkeycode\fP; }; -.fi - -\fIkeycode\fP is set to correspond to the given \fIscancode\fP. -(89 <= \fIscancode\fP <= 255 only. -For 1 <= \fIscancode\fP <= 88, \fIkeycode\fP==\fIscancode\fP.) -(Since 1.1.63.) - -.IP \fBKDSETKEYCODE\fP -Write kernel keycode table entry. \fIargp\fP points to struct kbkeycode. -(Since 1.1.63.) - -.IP \fBKDSIGACCEPT\fP -The calling process indicates its willingness to accept the signal -\fIargp\fP when it is generated by pressing an appropriate key combination. -(1 <= \fIargp\fP <= NSIG). -(See spawn_console() in linux/drivers/char/keyboard.c.) - -.IP \fBVT_OPENQRY\fP -Returns the first available (non-opened) console. -\fIargp\fP points to an int which is set to the -number of the vt (1 <= \fI*argp\fP <= MAX_NR_CONSOLES). - -.IP \fBVT_GETMODE\fP -Get mode of active vt. \fIargp\fP points to a - -.nf -struct vt_mode { - char \fImode\fP; /* vt mode */ - char \fIwaitv\fP; /* if set, hang on writes if not active */ - short \fIrelsig\fP; /* signal to raise on release req */ - short \fIacqsig\fP; /* signal to raise on acquisition */ - short \fIfrsig\fP; /* unused (set to 0) */ -}; -.fi - -...which is set to the mode of the active vt. -\fImode\fP is set to one of these values: - - VT_AUTO auto vt switching - VT_PROCESS process controls switching - VT_ACKACQ acknowledge switch - -.IP \fBVT_SETMODE\fP -Set mode of active vt. \fIargp\fP points to a struct vt_mode. - -.IP \fBVT_GETSTATE\fP -Get global vt state info. \fIargp\fP points to a - -.nf -struct vt_stat { - ushort \fIv_active\fP; /* active vt */ - ushort \fIv_signal\fP; /* signal to send */ - ushort \fIv_state\fP; /* vt bitmask */ -}; -.fi - -For each vt in use, the corresponding bit in the \fIv_state\fP member is set. -(Kernels 1.0 through 1.1.92.) - -.IP \fBVT_RELDISP\fP -Release a display. - -.IP \fBVT_ACTIVATE\fP -Switch to vt \fIargp\fP (1 <= \fIargp\fP <= MAX_NR_CONSOLES). - -.IP \fBVT_WAITACTIVE\fP -Wait until vt \fIargp\fP has been activated. - -.IP \fBVT_DISALLOCATE\fP -Deallocate the memory associated with vt \fIargp\fP. -(Since 1.1.54.) - -.IP \fBVT_RESIZE\fP -Set kernel's idea of screensize. \fIargp\fP points to a - -.nf -struct vt_sizes { - ushort \fIv_rows\fP; /* # rows */ - ushort \fIv_cols\fP; /* # columns */ - ushort \fIv_scrollsize\fP; /* no longer used */ -}; -.fi - -(Since 1.1.54.) Note that this does not change the videomode. -See resizecons(8). -.PP -The action of the following ioctls depends on the first byte in the struct -pointed to by \fIargp\fP, referred to here as the \fIsubcode\fP. -These are legal only for the superuser or the owner of the current tty. -.IP "\fBTIOCLINUX, subcode=0" -Dump the screen. -Disappeared in 1.1.92. (With kernel 1.1.92 or later, read from -/dev/vcsN or /dev/vcsaN instead.) - -.IP "\fBTIOCLINUX, subcode=1" -Get task information. Disappeared in 1.1.92. - -.IP "\fBTIOCLINUX, subcode=2" -Set selection. -\fIargp\fP points to a - - struct {char \fIsubcode\fP; - short \fIxs\fP, \fIys\fP, \fIxe\fP, \fIye\fP; - short \fIsel_mode\fP; - } - -\fIxs\fP and \fIys\fP are the starting column and row. -\fIxe\fP and \fIye\fP are the ending -column and row. (Upper left corner is row=column=1.) -\fIsel_mode\fP is 0 for character-by-character selection, -1 for word-by-word selection, -or 2 for line-by-line selection. -The indicated screen characters are highlighted and saved -in the static array sel_buffer in devices/char/console.c. - -.IP "\fBTIOCLINUX, subcode=3" -Paste selection. -The characters in the selection buffer are -written to \fIfd\fP. - -.IP "\fBTIOCLINUX, subcode=4" -Unblank the screen. - -.IP "\fBTIOCLINUX, subcode=5" -Sets contents of a 256-bit look up table defining characters in a "word", -for word-by-word selection. (Since 1.1.32.) - -.IP "\fBTIOCLINUX, subcode=6" -\fIargp\fP points to a char which is set to the value of the kernel -variable \fIshift_state\fP. (Since 1.1.32.) - -.IP "\fBTIOCLINUX, subcode=7" -\fIargp\fP points to a char which is set to the value of the kernel -variable \fIreport_mouse\fP. (Since 1.1.33.) - -.IP "\fBTIOCLINUX, subcode=8" -Dump screen width and height, cursor position, and all the -character-attribute pairs. -(Kernels 1.1.67 through 1.1.91 only. -With kernel 1.1.92 or later, read from /dev/vcsa* instead.) - -.IP "\fBTIOCLINUX, subcode=9" -Restore screen width and height, cursor position, and all the -character-attribute pairs. -(Kernels 1.1.67 through 1.1.91 only. -With kernel 1.1.92 or later, write to /dev/vcsa* instead.) - -.IP "\fBTIOCLINUX, subcode=10" -Handles the Power Saving -feature of the new generation of monitors. -VESA screen blanking mode is set to \fIargp\fP, which is one of: - - \fI0\fP: Screen blanking is disabled. - - \fI1\fP: The current video adapter -register settings are saved, then the controller is programmed to turn off -the vertical synchronization pulses. This puts the monitor into "standby" mode. -If your monitor has an Off_Mode timer, then -it will eventually power down by itself. - - \fI2\fP: The current -settings are saved, then both the vertical and horizontal -synchronization pulses are turned off. -This puts the monitor into "off" mode. -If your monitor has no Off_Mode timer, -or if you want your monitor to power down immediately when the -blank_timer times out, then you choose this option. -(\fICaution:\fP Powering down frequently will damage the monitor.) - -(Since 1.1.76.) - -.SH "RETURN VALUES" --1 for error, and \fIerrno\fP is set. -.SH ERRORS -\fIerrno\fP may take on these values: - -.nf -EBADF file descriptor is invalid. -ENOTTY file descriptor is not associated with a character - special device, or the specified request does not - apply to it. -EINVAL file descriptor or \fIargp\fP is invalid. -EPERM permission violation. -.fi -.SH WARNING -Do not regard this man page as documentation of the Linux console ioctl's. -This is provided for the curious only, as an alternative to reading the -source. Ioctl's are undocumented Linux internals, liable to be changed -without warning. (And indeed, this page more or less describes the situation -as of kernel version 1.1.94; there are many minor and not-so-minor -differences with earlier versions.) - -Very often, ioctl's are introduced for communication between the kernel and -one particular well-known program -.RB ( fdisk (8), -.BR hdparm (8), -.BR setserial (8), -.BR tunelp (8), -.BR loadkeys (1), -.BR gpm (8), -.BR consolechars (8), -etc.), and their behavior will be changed when required by these particular -programs. - -Programs using these ioctl's will not be portable to other versions -of Unix, will not work on older versions of Linux, and will not work -on future versions of Linux. - -Use POSIX functions. - -.SH "SEE ALSO" -.BR kbd_mode (1), -.BR loadkeys (1), -.BR dumpkeys (1), -.BR mknod (1), -.BR setleds (1), -.BR setmetamode (1), -.BR ioperm (2), -.BR termios (2), -.BR execve (2), -.BR fcntl (2), -.BR mt (4), -.BR sd (4), -.BR tty (4), -.BR ttys (4), -.BR vcs (4), -.BR vcsa (4), -.BR mapscrn (8), -.BR consolechars (8), -.BR resizecons (8), -.IR /usr/include/linux/kd.h , -.IR /usr/include/linux/vt.h . diff -Nru console-tools-0.2.3/doc/man/deallocvt.1 console-tools-0.2.3/doc/man/deallocvt.1 --- console-tools-0.2.3/doc/man/deallocvt.1 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/deallocvt.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -.TH DEALLOCVT 1 "06 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -deallocvt \- deallocate unused virtual terminals - -.SH SYNOPSIS -.BI "deallocvt [ " "N1 N2" " ... ]" - -.SH DESCRIPTION - -If given no argument, the program -.B deallocvt -deallocates kernel memory and data structures -for all unused virtual terminals. -If arguments -.I Ni -are given, only TTY's -.RI /dev/tty Ni -are deallocated. - -A virtual terminal is unused if it is not the foreground console, -and no process has it open for reading or writing, and no text -has been selected on its screen. - -.SH "SEE ALSO" -.BR chvt (1), -.BR openvt (1). diff -Nru console-tools-0.2.3/doc/man/dumpkeys.1.in console-tools-0.2.3/doc/man/dumpkeys.1.in --- console-tools-0.2.3/doc/man/dumpkeys.1.in 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/dumpkeys.1.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,242 +0,0 @@ -.TH DUMPKEYS 1 "09 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -dumpkeys \- dump keyboard translation tables - -.SH SYNOPSIS -.B dumpkeys [ -.I \-hilfn1 -.IB \-S shape -.IB \-c charset -.I \-\-help \-\-short\-info \-\-long\-info \-\-numeric \-\-full\-table -.I \-\-separate\-lines -.IB \-\-shape= shape -.I \-\-funcs\-only \-\-keys\-only \-\-compose\-only -.IB \-\-charset= charset -.B ] - -.SH DESCRIPTION -.IX "dumpkeys command" "" "\fLdumpkeys\fR command" - -.B dumpkeys -writes, to the standard output, the current contents of the keyboard -driver's translation tables, in the format specified by -.BR keymaps (5). -.PP -Using the various options, the format of the output can be controlled -and also other information from the kernel and the programs -.BR dumpkeys (1) -and -.BR loadkeys (1) -can be obtained. - -.SH OPTIONS -.TP -.I \-h \-\-help -Prints the program's version number and a short usage message to the -program's standard error output and exits. - -.TP -.I \-i \-\-short-info -Prints some characteristics of the kernel's keyboard driver. The items -shown are: - -.RS -Keycode range supported by the kernel: -.PP -.RS -This tells what values can be used after the -.B keycode -keyword in keymap files. See -.BR keymaps (5) -for more information and the syntax of these files. -.RE - -Number of actions bindable to a key: -.PP -.RS -This tells how many different actions a single key can output using -various modifier keys. If the value is 16 for example, you can define up -to 16 different actions to a key combined with modifiers. When the value -is 16, the kernel probably knows about four modifier keys, which you can -press in different combinations with the key to access all the bound -actions. -.RE - -Ranges of action codes supported by the kernel: -.PP -.RS -This item contains a list of action code ranges in hexadecimal notation. -These are the values that can be used in the right hand side of a key -definition, ie. the -.IR vv 's -in a line - -.RS -.B keycode -.I xx -= -.I vv vv vv vv -.RE - -(see -.BR keymaps (5) -for more information about the format of key definition lines). -.BR dumpkeys (1) -and -.BR loadkeys (1) -support a symbolic notation, which is preferable to the numeric one, as -the action codes may vary from kernel to kernel while the symbolic names -usually remain the same. However, the list of action code ranges can be -used to determine, if the kernel actually supports all the symbols -.BR loadkeys (1) -knows, or are there maybe some actions supported by the kernel that -have no symbolic name in your -.BR loadkeys (1) -program. To see this, you compare the range list with the action symbol -list, see option -.I --long-info -below. -.RE - -Number of function keys supported by kernel: -.PP -.RS -This tells the number of action codes that can be used to output -strings of characters. These action codes are traditionally bound to -the various function and editing keys of the keyboard and are defined -to send standard escape sequences. However, you can redefine these to -send common command lines, email addresses or whatever you like. -Especially if the number of this item is greater than the number of -function and editing keys in your keyboard, you may have some "spare" -action codes that you can bind to AltGr-letter combinations, for example, -to send some useful strings. See -.BR loadkeys (1) -for more details. -.RE - -Function strings: -.PP -.RS -You can see you current function key definitions with the command - -.RS -.BI dumpkeys --funcs-only -.RE -.RE -.RE - -.TP -.I \-l \-\-long-info -This option instructs -.B dumpkeys -to print a long information listing. The output is the same as with the -.I --short-info -appended with the list of action symbols supported by -.BR loadkeys (1) -and -.BR dumpkeys (1), -along with the symbols' numeric values. - -.TP -.I \-n \-\-numeric -This option causes -.B dumpkeys -to by-pass the conversion of action code values to symbolic notation and -to print the in hexadecimal format instead. - -.TP -.I \-f \-\-full-table -This makes -.B dumpkeys -skip all the short-hand heuristics (see -.BR keymaps (5)) -and output the key bindings in the canonical form. First a keymaps -line describing the currently defined modifier combinations is -printed. Then for each key a row with a column for each modifier -combination is printed. For example, if the current keymap in use uses -seven modifiers, every row will have seven action code columns. This -format can be useful for example to programs that post-process the -output of -.BR dumpkeys . - -.TP -.I \-1 \-\-separate\-lines -This forces -.B dumpkeys -to write one line per (modifier,keycode) pair. It prefixes the word -.I plain -for plain keycodes. - -.TP -.IB "\-S \-\-shape=" shape -Tells -.B dumpkeys -to use the specified table shape. Allowed shapes are -.BI 0 : -default shape (same as no -.IR \-S ); -.BR 1 : -same as option -.IR \-\-full\-table ; -.BR 2 : -same as option -.IR \-\-separate\-lines ; -.BR 3 : -display one line per keycode (as in shape -.BR 1 ), - until first hole is met, then use one line per (modifier,keycode) -pair (as in shape -.BR 2 ). - -.TP -.I \-\-funcs-only -When this option is given, -.B dumpkeys -prints only the function key string definitions. Normally -.B dumpkeys -prints both the key bindings and the string definitions. - -.TP -.I \-\-keys-only -When this option is given, -.B dumpkeys -prints only the key bindings. Normally -.B dumpkeys -prints both the key bindings and the string definitions. - -.TP -.I \-\-compose-only -When this option is given, -.B dumpkeys -prints only the compose key combinations. -This option is available only if your kernel has compose key support. - -.TP -.IB \-c "charset " \-\-charset= charset -This instructs -.B dumpkeys -to interpret character code values according to the specified character -set. This affects only the translation of character code values to -symbolic names. Valid values for -.I charset -are listed by the -.I \-\-help -option. If no -.I charset -is specified, -.B iso-8859-1 -is used as a default. This option produces an output line `charset -"iso-8859-X"', telling loadkeys how to interpret the keymap. (For example, -"division" is 0xf7 in -.B iso-8859-1 -but 0xba in -.BR iso-8859-8 ). - -.SH FILES -.I @datadir@/keymaps/ -recommended directory for keymap files - -.SH "SEE ALSO" -.BR loadkeys (1), -.BR keymaps (5). diff -Nru console-tools-0.2.3/doc/man/fgconsole.1 console-tools-0.2.3/doc/man/fgconsole.1 --- console-tools-0.2.3/doc/man/fgconsole.1 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/fgconsole.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -.TH FGCONSOLE 1 "15 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -fgconsole \- print the number of the active VT. - -.SH SYNOPSIS -.B fgconsole - -.SH DESCRIPTION -If the active VT is -.IR /dev/ttyN , -then prints -.I N -on standard output. - -.SH "SEE ALSO" -.BR chvt (1). diff -Nru console-tools-0.2.3/doc/man/getkeycodes.8 console-tools-0.2.3/doc/man/getkeycodes.8 --- console-tools-0.2.3/doc/man/getkeycodes.8 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/getkeycodes.8 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -.TH GETKEYCODES 8 "09 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -getkeycodes \- print kernel scancode-to-keycode mapping table - -.SH SYNOPSIS -.B getkeycodes - -.SH DESCRIPTION -The -.B getkeycodes -command prints the kernel scancode-to-keycode mapping table. - -.SH OPTIONS -None. - -.SH "SEE ALSO" -.BR setkeycodes (8). diff -Nru console-tools-0.2.3/doc/man/kbd_mode.1 console-tools-0.2.3/doc/man/kbd_mode.1 --- console-tools-0.2.3/doc/man/kbd_mode.1 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/kbd_mode.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,69 +0,0 @@ -.TH KBD_MODE 1 "28 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -kbd_mode \- report or set the keyboard mode - -.SH SYNOPSIS -.BI "kbd_mode [ " -auks " ]" -.IX "kbd_mode command" "" "\fLkbd_mode\fR command" - -.SH DESCRIPTION -.PP -Without argument, -.B kbd_mode -prints the current keyboard mode. With argument, it sets the keyboard mode as -indicated: - -.RS -.IR \-s : -scancode mode (RAW), -.PP -.IR \-k : -keycode mode (MEDIUMRAW), -.PP -.IR \-a : -ASCII mode (XLATE), -.PP -.IR \-u : -UTF-8 mode (UNICODE). -.RE - -The -.I XLATE -mode is the traditional one, where the codes used can be any -.B 8\-bit -character set. Is is usually expected that this character set matches the one -used later to translate them internally into Unicode, after they are sent to -the screen to be displayed, using the map selected by -.B consolechars -.IR -m . - -In -.I UNICODE -mode, a -.B 16\-bit -character set is expected, and these chars are transmitted to the kernel as -1, 2, or 3 bytes (following the -.B UTF\-8 -coding). In these latter two modes the key mapping defined by -.BR loadkeys (1) -is used. - -.B WARNING: -changing the keyboard mode, other than between ASCII and Unicode, will -probably make your keyboard unusable. This command can also be useful (say -via remote login) when some program left your keyboard in the wrong state, to -get the keyboard back into -.I XLATE -or -.I UNICODE -mode. - -Note that in some obsolete versions of this program the -.I \-u -option was a synonym for -.IR \-s . - -.SH "SEE ALSO" -.BR loadkeys (1), -.BR consolechars (8). diff -Nru console-tools-0.2.3/doc/man/keymaps.5 console-tools-0.2.3/doc/man/keymaps.5 --- console-tools-0.2.3/doc/man/keymaps.5 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/keymaps.5 1970-01-01 00:00:00.000000000 +0000 @@ -1,432 +0,0 @@ -.TH KEYMAPS 5 "09 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -keymaps \- keyboard table descriptions for loadkeys and dumpkeys - -.SH DESCRIPTION -.IX "keymaps" "" "\fLkeymaps\fR \(em keyboard table descriptions for loadkeys and dumpkeys" "" -.IX "loadkeys" "keyboard table descriptions" "\fLloadkeys\fR" "keyboard table descriptions" -.IX "dumpkeys" "keyboard table descriptions" "\fLdumpkeys\fR" "keyboard table descriptions" -.IX keyboard "table descriptions for loadkeys and dumpkeys" keyboard "table descriptions for \fLloadkeys\fR and \fLdumpkeys\fR" -.IX "translation tables" - -These files are used by -.BR loadkeys (1) -to modify the translation tables used by the kernel keyboard driver -and generated by -.BR dumpkeys (1) -from those translation tables. - -The format of these files is vaguely similar to the one accepted by -.BR xmodmap (1). -The file consists of charset or key or string definition lines interspersed -with comments. - -Comments are introduced with -.B ! -or -.B # -characters and continue to the end of the line. Anything following one -of these characters on that line is ignored. Note that comments need -not begin from column one as with -.BR xmodmap (1). - -The syntax of keymap files is line oriented; a complete definition -must fit on a single logical line. Logical lines can, however, be split -into multiple physical lines by ending each subline with the backslash -character (\\). - -.SH "INCLUDE FILES" -A keymap can include other keymaps using the syntax -.LP -.RS -include "pathname" -.RE - -.SH "CHARSET DEFINITIONS" -A character set definition line is of the form: - -.RS -.BI charset " <charset>" -.RE - -Where -.I <charset> -is one of the currently supported charsets, which can be found using -.BR "dumpkeys \-\-help" . -It defines how following keysyms are to be interpreted. -For example, in iso-8859-1 the symbol mu (or micro) has code 0265, -while in iso-8859-7 the letter mu has code 0354. - -.SH "COMPLETE KEYCODE DEFINITIONS" -Each complete key definition line is of the form: - -.RS -.BI keycode " keynumber " = " keysym keysym keysym" \fR... -.RE - -.I keynumber -is the internal identification number of the key, roughly equivalent to the -scan code of it. -.I keynumber -can be given in decimal, octal or hexadecimal notation. Octal is denoted by a -leading zero and hexadecimal by the prefix -.BR 0x . - -Each of the -.I keysyms -represent keyboard actions, of which up to 256 can be bound to a single key. -The actions available include outputting Latin1 character codes or character -sequences, switching consoles or keymaps, booting the machine etc. (The -complete list can be obtained from dumpkeys(1) by saying -.BR " dumpkeys -l" ). - -Each -.I keysym -may be prefixed by a '+' (plus sign), in which case this keysym is treated as -a "letter" and therefore affected by the "CapsLock" the same way as by -"Shift" (to be correct, the CapsLock inverts the Shift state). The ASCII -letters ('a'-'z' and 'A'-'Z') are made CapsLock'able by default. If -Shift+CapsLock should not produce a lower case symbol, put lines like - -.RS -.BI "keycode 30 = +a A" -.RE - -in the map file. - -Which of the actions bound to a given key is taken when it is pressed -depends on what modifiers are in effect at that moment. -The keyboard driver supports 8 modifiers. These modifiers are labeled -(completely arbitrarily) Shift, AltGr, Control, Alt, ShiftL, ShiftR, -CtrlL and CtrlR. -Each of these modifiers has an associated weight of power of two -according to the following table: - -.RS -.TP 24 -.I modifier -.I weight -.TP 24 -Shift - 1 -.PD 0 -.TP 24 -AltGr - 2 -.TP 24 -Control - 4 -.TP 24 -Alt - 8 -.TP 24 -ShiftL - 16 -.TP 24 -ShiftR - 32 -.TP 24 -CtrlL - 64 -.TP 24 -CtrlR -128 -.PD -.RE - -The effective action of a key is found out by adding up the weights of all -the modifiers in effect. By default, no modifiers are in effect, so action -number zero, i.e. the one in the first column in a key definition line, is -taken when the key is pressed or released. When e.g. Shift and Alt modifiers -are in effect, action number nine (from the 10th column) is the effective -one. -.PP -Changing the state of what modifiers are in effect can be achieved by binding -appropriate key actions to desired keys. For example, binding the symbol -Shift to a key sets the Shift modifier in effect when that key is pressed and -cancels the effect of that modifier when the key is released. Binding -AltGr_Lock to a key sets AltGr in effect when the key is pressed and cancels -the effect when the key is pressed again. (By default Shift, AltGr, Control -and Alt are bound to the keys that bear a similar label; AltGr may denote the -right Alt key.) -.PP -Note that you should be very careful when binding the modifier keys, -otherwise you can end up with an unusable keyboard mapping. If you for -example define a key to have Control in its first column and leave the rest -of the columns to be VoidSymbols, you're in trouble. This is because pressing -the key puts Control modifier in effect and the following actions are looked -up from the fifth column (see the table above). So, when you release the key, -the action from the fifth column is taken. It has VoidSymbol in it, so -nothing happens. This means that the Control modifier is still in effect, -although you have released the key. Re-pressing and releasing the key has no -effect. To avoid this, you should always define all the columns to have the -same modifier symbol. There is a handy short-hand notation for this, see -below. - -.I keysyms -can be given in decimal, octal, hexadecimal or symbolic notation. The numeric -notations use the same format as with -.IR keynumber . -The symbolic notation resembles that used by -.BR xmodmap (1). -Notable differences are the number symbols. The numeric symbols '0', ..., '9' -of -.BR xmodmap (1) -are replaced with the corresponding words 'zero', 'one', ... 'nine' to avoid -confusion with the numeric notation. - -It should be noted that using numeric notation for the -.I keysyms -is highly unportable as the key action numbers may vary from one kernel -version to another and the use of numeric notations is thus strongly -discouraged. They are intended to be used only when you know there is a -supported keyboard action in your kernel for which your current version of -.BR loadkeys (1) -has no symbolic name. - -There is a number of short-hand notations to add readability and reduce -typing work and the probability of typing-errors. - -First of all, you can give a map specification line, of the form - -.RS -.B keymaps -.I 0-2,4-5,8,12 -.RE - -to indicate that the lines of the keymap will not specify all 256 columns, -but only the indicated ones. (In the example: only the plain, Shift, AltGr, -Control, Control+Shift, Alt and Control+Alt maps, that is, 7 columns instead -of 256.) When no such line is given, the keymaps 0-M will be defined, where -M+1 is the maximum number of entries found in any definition line. - -Next, you can leave off any trailing VoidSymbol entries from a key definition -line. VoidSymbol denotes a keyboard action which produces no output and has -no other effects either. For example, to define key number 30 to output 'a' -unshifted, 'A' when pressed with Shift and do nothing when pressed with AltGr -or other modifiers, you can write - -.RS -.B keycode -.I 30 -.B = -.I a A -.RE - -instead of the more verbose - -.RS -.nf -keycode 30 = a A VoidSymbol VoidSymbol \\ - VoidSymbol VoidSymbol VoidSymbol ... -.fi -.RE - -For added convenience, you can usually get off with still more terse -definitions. If you enter a key definition line with only and exactly one -action code after the equals sign, it has a special meaning. If the code -(numeric or symbolic) is not an ASCII letter, it means the code is implicitly -replicated through all columns being defined. If, on the other hand, the -action code is an ASCII character in the range 'a', ..., 'z' or 'A', ..., 'Z' -in the ASCII collating sequence, the following definitions are made for the -different modifier combinations, provided these are actually being defined. -(The table lists the two possible cases: either the single action code is a -lower case letter, denoted by 'x' or an upper case letter, denoted by 'Y'.) - -.RS 4 -.TP 24 -.I modifier -.I symbol -.TP 24 -none -x Y -.PD 0 -.TP 24 -Shift -X y -.TP 24 -AltGr -x Y -.TP 24 -Shift+AltGr -X y -.TP 24 -Control -Control_x Control_y -.TP 24 -Shift+Control -Control_x Control_y -.TP 24 -AltGr+Control -Control_x Control_y -.TP 24 -Shift+AltGr+Control -Control_x Control_y -.TP 24 -Alt -Meta_x Meta_Y -.TP 24 -Shift+Alt -Meta_X Meta_y -.TP 24 -AltGr+Alt -Meta_x Meta_Y -.TP 24 -Shift+AltGr+Alt -Meta_X Meta_y -.TP 24 -Control+Alt -Meta_Control_x Meta_Control_y -.TP 24 -Shift+Control+Alt -Meta_Control_x Meta_Control_y -.TP 24 -AltGr+Control+Alt -Meta_Control_x Meta_Control_y -.TP 24 -Shift+AltGr+Control+Alt -Meta_Control_x Meta_Control_y -.PD -.RE - -.SH "SINGLE MODIFIER DEFINITIONS" -All the previous forms of key definition lines always define all the M+1 -possible modifier combinations being defined, whether the line actually -contains that many action codes or not. There is, however, a variation of the -definition syntax for defining only single actions to a particular modifier -combination of a key. This is especially useful, if you load a keymap which -doesn't match your needs in only some modifier combinations, like -AltGr+function keys. You can then make a small local file redefining only -those modifier combinations and loading it after the main file. The syntax of -this form is: - -.BR "" { " plain " "| <modifier sequence> } " keycode -.I keynumber -.B = -.I keysym -.LP -e.g., -.RS -.nf -plain keycode 14 = BackSpace -control alt keycode 83 = Boot -alt keycode 105 = Decr_Console -alt keycode 106 = Incr_Console -.fi -.RE - -Using "plain" will define only the base entry of a -key (i.e. the one with no modifiers in effect) without affecting the -bindings of other modifier combinations of that key. - -.SH "STRING DEFINITIONS" -In addition to comments and key definition lines, the keymap files can -contain string definitions. These are used to define what each function -key action code sends. The syntax of string definitions is: - -.RS -.B string -.I keysym -.B = -.I "text" -.RE - -.I text -can contain literal characters, octal character codes in the format of -backslash followed by up to three octal digits, and the three escape -sequences \fB\\n\fP, \fB\\\\\fP, and \fB\\"\fP, for newline, backslash and -quote, respectively. - -.SH "COMPOSE DEFINITIONS" -Then there may also be compose definitions. They have syntax -.LP -.RS -.BI "compose '" char "' '" char "' to '" char "'" -.RE -and describe how two bytes are combined to form a third one -(when a dead accent or compose key is used). -This is used to get accented letters and the like on a standard -keyboard. -.SH ABBREVIATIONS -Various abbreviations can be used with kbd-0.96 and later. -.TP -.B "strings as usual" -Defines the usual values of the strings (but not the keys -they are bound to). -.TP -\fBcompose as usual for "iso-8859-1"\fP -Defines the usual compose combinations. - -To find out what -.I keysyms -there are available for use in keymaps files, use the command - -.RS -.B dumpkeys --long-info -.RE - -Unfortunately, there is currently no description of what each symbol does. It -has to be guessed from the name or figured out from the kernel sources. - -.SH EXAMPLES -(Be careful to use a keymaps line, like the first line of `dumpkeys`, or -"keymaps 0-15" or so.) - -The following entry exchanges the left Control key and the Caps Lock key on -the keyboard: - -.RS -.nf -keycode 58 = Control -keycode 29 = Caps_Lock -.fi -.RE - -Key number 58 is normally the Caps Lock key, and key number 29 is normally -the Control key. - -The following entry sets the Shift and Caps Lock keys to behave more nicely, -like in older typewriters. That is, pressing Caps Lock key once or more sets -the keyboard in CapsLock state and pressing either of the Shift keys releases -it. - -.RS -.nf -keycode 42 = Uncaps_Shift -keycode 54 = Uncaps_Shift -keycode 58 = Caps_On -.fi -.RE - -The following entry sets the layout of the edit pad in the enhanced keyboard -to be more like that in the VT200 series terminals: - -.RS -.nf -keycode 102 = Insert -keycode 104 = Remove -keycode 107 = Prior -shift keycode 107 = Scroll_Backward -keycode 110 = Find -keycode 111 = Select -control alt keycode 111 = Boot -control altgr keycode 111 = Boot -.fi -.RE - -Here's an example to bind the string "du\\ndf\\n" to the key AltGr-D. We use -the "spare" action code F100 not normally bound to any key. - -.RS -.nf -altgr keycode 32 = F100 -string F100 = "du\\ndf\\n" -.fi -.RE - -.SH "SEE ALSO" -.BR loadkeys (1), -.BR dumpkeys (1), -.BR showkey (1), -.BR xmodmap (1). diff -Nru console-tools-0.2.3/doc/man/loadkeys.1.in console-tools-0.2.3/doc/man/loadkeys.1.in --- console-tools-0.2.3/doc/man/loadkeys.1.in 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/loadkeys.1.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,187 +0,0 @@ -.TH LOADKEYS 1 "09 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -loadkeys \- load keyboard translation tables - -.SH SYNOPSIS -.B loadkeys [ -.I \-d \-\-default -.B ] [ -.I \-h \-\-help -.B ] [ -.I \-q \-\-quiet -.B ] [ -.I \-v \-\-verbose -.B [ -.I \-v \-\-verbose -.B ]...] [ -.I \-m \-\-mktable -.B ] [ -.I \-c \-\-clearcompose -.B ] [ -.I \-s \-\-clearstrings -.B ] [ filename... ] - -.SH DESCRIPTION -.IX "loadkeys command" "" "\fLloadkeys\fR command" - -The -.B loadkeys -program reads the file or files specified by -.I filename... - -Its main purpose is to load the kernel keymap for the console. -.SH "RESET TO DEFAULT" -If the -.I -d -(or -.I --default -) option is given, -.B loadkeys -loads a default keymap, probably the file -.I defkeymap.map -either in -.I /usr/share/keymaps -or in -.IR /usr/src/linux/drivers/char . -(Probably the former was user-defined, while the latter -is a qwerty keyboard map for PCs - maybe not what was desired.) -Sometimes, with a strange keymap loaded (with the minus on -some obscure unknown modifier combination) it is easier to -type `loadkeys defkeymap'. - -.SH "LOAD KERNEL KEYMAP" -The main function of -.B loadkeys -is to load or modify the keyboard driver's translation tables. -When specifying the file names, standard input can be denoted -by dash (-). If no file is specified, the data is read from -the standard input. -.LP -For many countries and keyboard types appropriate keymaps -are available already, and a command like `loadkeys uk' might -do what you want. On the other hand, it is easy to construct -one's own keymap. The user has to tell what symbols belong -to each key. She can find the keycode for a key by use of -.BR showkey (1), -while the keymap format is given in -.BR keymaps (5) -and can also be seen from the output of -.BR dumpkeys (1). - -.SH "LOAD KERNEL ACCENT TABLE" -If the input file does not contain any compose key definitions, -the kernel accent table is left unchanged, unless the -.I -c -(or -.I --clearcompose -) option is given, in which case the kernel accent table is emptied. -If the input file does contain compose key definitions, then all -old definitions are removed, and replaced by the specified new entries. -The kernel accent table is a sequence of (by default 68) entries -describing how dead diacritical signs and compose keys behave. -For example, a line -.LP -.RS -compose ',' 'c' to ccedilla -.RE -.LP -means that <ComposeKey><,><c> must be combined to <ccedilla>. -The current content of this table can be see -using `dumpkeys --compose-only'. - -.SH "LOAD KERNEL STRING TABLE" -The option -.I -s -(or -.I --clearstrings -) clears the kernel string table. If this option is not given, -.B loadkeys -will only add or replace strings, not remove them. -(Thus, the option \-s is required to reach a well-defined state.) -The kernel string table is a sequence of strings -with names like F31. One can make function key F5 (on -an ordinary PC keyboard) produce the text `Hello!', -and Shift+F5 `Goodbye!' using lines -.LP -.RS -keycode 63 = F70 F71 -.br -string F70 = "Hello!" -.br -string F71 = "Goodbye!" -.RE -.LP -in the keymap. -The default bindings for the function keys are certain -escape sequences mostly inspired by the VT100 terminal. - -.SH "CREATE KERNEL SOURCE TABLE" -If the -.I -m -(or -.I --mktable -) option is given -.B loadkeys -prints to the standard output a file that may be used as -.I /usr/src/linux\%/drivers\%/char\%/defkeymap.c, -specifying the default key bindings for a kernel -(and does not modify the current keymap). - -.SH OPTIONS -.TP -.I \-h \-\-help -print the version number and a short usage message to the programs standard -error output and exit. - -.TP -.I \-v \-\-verbose -Print details about changes. If used several times, be even more verbose. - -.TP -.I \-q \-\-quiet -Do not print standard messages. - -.TP -.I \-c \-\-clearcompose -Clear the kernel's compose table (also called accent table). If this option -is not given, and if this file does not contain any compose key definitions, -the kernel compose table is left unchanged. - -.TP -.I \-s \-\-clearstrings -Clear the kernel string table. If this option is not given, -.B loadkeys -will only add or replace strings, not remove them. - -.SH FILES -.I @datadir@/keymaps/ -default directory for keymap files. - -.I @datadir@/keymaps/defkeymap.kmap -default keymap loaded by -.I \-d -option. - -.SH BUGS -Note that anyone having read access to -.I /dev/console -can run -.B loadkeys -and thus change the keyboard layout, possibly making it unusable. Note -that the keyboard translation table is common for all the virtual -consoles, so any changes to the keyboard bindings affect all the virtual -consoles simultaneously. - -Note that because the changes affect all the virtual consoles, they also -outlive your session. This means that even at the login prompt the key -bindings may not be what the user expects. - -The default keymap should be the default keymap compiled in the kernel (ie. -the one in -.IR /usr/src/linux/drivers/char/defkeymap.c ). - -.SH "SEE ALSO" -.BR dumpkeys (1), -.BR kbd_mode (1), -.BR keymaps (5). diff -Nru console-tools-0.2.3/doc/man/Makefile.am console-tools-0.2.3/doc/man/Makefile.am --- console-tools-0.2.3/doc/man/Makefile.am 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -# -*- makefile -*- - -AUTOMAKE_OPTIONS = foreign - -KBD_UNSUBST_MAN = chvt.1 deallocvt.1 fgconsole.1 \ - kbd_mode.1 psfaddtable.1 \ - psfgettable.1 psfstriptable.1 setleds.1 \ - setmetamode.1 showkey.1 console.4 \ - console_ioctls.4 keymaps.5 \ - getkeycodes.8 setkeycodes.8 resizecons.8 \ - unicode_start.1 unicode_stop.1 \ - vt-is-UTF8.1 showcfont.1 charset.1 \ - openvt.1 - -KBD_SUBST_MAN = consolechars.8 dumpkeys.1 loadkeys.1 - -man_MANS = $(KBD_SUBST_MAN) $(KBD_UNSUBST_MAN) - -$(KBD_SUBST_MAN) : - rm -f $@ - sed s+'@'datadir@+$(datadir)+g $(srcdir)/$(@:=.in) > $@ - -EXTRA_DIST = $(KBD_UNSUBST_MAN) $(KBD_SUBST_MAN:=.in) - -clean-local: - rm -f $(KBD_SUBST_MAN) diff -Nru console-tools-0.2.3/doc/man/Makefile.in console-tools-0.2.3/doc/man/Makefile.in --- console-tools-0.2.3/doc/man/Makefile.in 1999-10-25 20:58:14.000000000 +0000 +++ console-tools-0.2.3/doc/man/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,384 +0,0 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# -*- makefile -*- - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = ../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AS = @AS@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -COMPAT = @COMPAT@ -DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ -FONTDIR = @FONTDIR@ -GENCAT = @GENCAT@ -GMOFILES = @GMOFILES@ -GMSGFMT = @GMSGFMT@ -GT_NO = @GT_NO@ -GT_YES = @GT_YES@ -INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ -INSTOBJEXT = @INSTOBJEXT@ -INTLDEPS = @INTLDEPS@ -INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -KEYCODES = @KEYCODES@ -KEYMAPDIR = @KEYMAPDIR@ -LD = @LD@ -LEX = @LEX@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LOADKEYS = @LOADKEYS@ -MAKEINFO = @MAKEINFO@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -NM = @NM@ -OBJDUMP = @OBJDUMP@ -PACKAGE = @PACKAGE@ -POFILES = @POFILES@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -RESIZECONS = @RESIZECONS@ -TRANSDIR = @TRANSDIR@ -UNICODEDATA = @UNICODEDATA@ -UNICODELISTS = @UNICODELISTS@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -VIDEOMODEDIR = @VIDEOMODEDIR@ -YACC = @YACC@ -l = @l@ -translit = @translit@ - -AUTOMAKE_OPTIONS = foreign - -KBD_UNSUBST_MAN = chvt.1 deallocvt.1 fgconsole.1 kbd_mode.1 psfaddtable.1 psfgettable.1 psfstriptable.1 setleds.1 setmetamode.1 showkey.1 console.4 console_ioctls.4 keymaps.5 getkeycodes.8 setkeycodes.8 resizecons.8 unicode_start.1 unicode_stop.1 vt-is-UTF8.1 showcfont.1 charset.1 openvt.1 - - -KBD_SUBST_MAN = consolechars.8 dumpkeys.1 loadkeys.1 - -man_MANS = $(KBD_SUBST_MAN) $(KBD_UNSUBST_MAN) - -EXTRA_DIST = $(KBD_UNSUBST_MAN) $(KBD_SUBST_MAN:=.in) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../../config.h -CONFIG_CLEAN_FILES = -man1dir = $(mandir)/man1 -man4dir = $(mandir)/man4 -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -MANS = $(man_MANS) - -NROFF = nroff -DIST_COMMON = Makefile.am Makefile.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -all: all-redirect -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps doc/man/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -install-man1: - $(mkinstalldirs) $(DESTDIR)$(man1dir) - @list='$(man1_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.1*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \ - done - -uninstall-man1: - @list='$(man1_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.1*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \ - rm -f $(DESTDIR)$(man1dir)/$$inst; \ - done - -install-man4: - $(mkinstalldirs) $(DESTDIR)$(man4dir) - @list='$(man4_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.4*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man4dir)/$$inst"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(man4dir)/$$inst; \ - done - -uninstall-man4: - @list='$(man4_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.4*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f $(DESTDIR)$(man4dir)/$$inst"; \ - rm -f $(DESTDIR)$(man4dir)/$$inst; \ - done - -install-man5: - $(mkinstalldirs) $(DESTDIR)$(man5dir) - @list='$(man5_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.5*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst; \ - done - -uninstall-man5: - @list='$(man5_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.5*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f $(DESTDIR)$(man5dir)/$$inst"; \ - rm -f $(DESTDIR)$(man5dir)/$$inst; \ - done - -install-man8: - $(mkinstalldirs) $(DESTDIR)$(man8dir) - @list='$(man8_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.8*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst; \ - done - -uninstall-man8: - @list='$(man8_MANS)'; \ - l2='$(man_MANS)'; for i in $$l2; do \ - case "$$i" in \ - *.8*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f $(DESTDIR)$(man8dir)/$$inst"; \ - rm -f $(DESTDIR)$(man8dir)/$$inst; \ - done -install-man: $(MANS) - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-man1 install-man4 install-man5 \ - install-man8 -uninstall-man: - @$(NORMAL_UNINSTALL) - $(MAKE) $(AM_MAKEFLAGS) uninstall-man1 uninstall-man4 uninstall-man5 \ - uninstall-man8 -tags: TAGS -TAGS: - - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = doc/man - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done -info-am: -info: info-am -dvi-am: -dvi: dvi-am -check-am: all-am -check: check-am -installcheck-am: -installcheck: installcheck-am -install-exec-am: -install-exec: install-exec-am - -install-data-am: install-man -install-data: install-data-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: uninstall-man -uninstall: uninstall-am -all-am: Makefile $(MANS) -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - $(mkinstalldirs) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man4 \ - $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8 - - -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: -mostlyclean-am: mostlyclean-generic - -mostlyclean: mostlyclean-am - -clean-am: clean-generic mostlyclean-am clean-local - -clean: clean-am - -distclean-am: distclean-generic clean-am - -rm -f libtool - -distclean: distclean-am - -maintainer-clean-am: maintainer-clean-generic distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-am - -.PHONY: install-man1 uninstall-man1 install-man4 uninstall-man4 \ -install-man5 uninstall-man5 install-man8 uninstall-man8 install-man \ -uninstall-man tags distdir info-am info dvi-am dvi check check-am \ -installcheck-am installcheck install-exec-am install-exec \ -install-data-am install-data install-am install uninstall-am uninstall \ -all-redirect all-am all installdirs mostlyclean-generic \ -distclean-generic clean-generic maintainer-clean-generic clean \ -mostlyclean distclean maintainer-clean - - -$(KBD_SUBST_MAN) : - rm -f $@ - sed s+'@'datadir@+$(datadir)+g $(srcdir)/$(@:=.in) > $@ - -clean-local: - rm -f $(KBD_SUBST_MAN) - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru console-tools-0.2.3/doc/man/openvt.1 console-tools-0.2.3/doc/man/openvt.1 --- console-tools-0.2.3/doc/man/openvt.1 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/openvt.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,80 +0,0 @@ -.\" Copyright 1994-95 Jon Tombs (jon@gtex02.us.es, jon@robots.ox.ac.uk) -.\" May be distributed under the GNU General Public License -.TH OPENVT 1 "19 Jul 1996" "Console tools" "Linux User's Manual" -.SH NAME -openvt \- start a program on a new virtual terminal (VT). -.SH SYNOPSIS -.B openvt -[\-c vtnumber] [\-s] [\-u] [\-l] [\-v] [\-\-] command command_options -.SH DESCRIPTION -.B openvt -will find the first available VT, and run on it the given -.BR command -with the given -.BR "command options", -standard input, output and error are directed to that terminal. The current -search path ($PATH) is used to find the requested command. If no command is -specified then the environment variable $SHELL is used. -.SS OPTIONS -.TP -.I "\-c vtnumber" -Use the given VT number and not the first available. Note you -must have write access to the supplied VT for this to work. -.TP -.I "\-s" -Switch to the new VT when starting the command. The VT of the new command -will be made the new current VT. -.TP -.I "\-u" -Figure out the owner of the current VT, and run login as that user. -Suitable to be called by init. Shouldn't be used with -c or -l. -.TP -.I "\-l" -Make the command a login shell. A \- is prepended to the name of the command -to be executed. -.TP -.I "\-v" -Be a bit more verbose. -.TP -.I "\-w" -wait for command to complete. If \-w and \-s are used together then -.B openvt -will switch back to the controlling terminal when the command completes. -.TP -.I "\-\-" -end of options to -.BR openvt . -.SH NOTE -If -.B openvt -is compiled with a POSIX (Gnu) getopt() and you wish to set -options to the command to be run, then you must supply -the end of options \-\- flag before the command. -.BR -.SH EXAMPLES -.B openvt -can be used to start a shell on the next free VT, by using the command: -.TP -.I "openvt bash" -.TP - -To start the shell as a login shell, use: -.TP -.I "openvt -l bash" -.TP - -To get a long listing you must supply the \-\- separator: -.TP -.I "openvt -- ls -l" -.BR - - -.SH "SEE ALSO" -.BR chvt (1), -.BR doshell (8), -.BR login (1). - -.SH AUTHOR -Jon Tombs <jon@gtex02.us.es or jon@robots.ox.ac.uk> -.br -\-w idea from "sam". diff -Nru console-tools-0.2.3/doc/man/psfaddtable.1 console-tools-0.2.3/doc/man/psfaddtable.1 --- console-tools-0.2.3/doc/man/psfaddtable.1 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/psfaddtable.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,50 +0,0 @@ -.TH PSFADDTABLE 1 "28 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -psfaddtable \- add a Unicode character table to a console font - -.SH SYNOPSIS -.B psfaddtable -.I fontfile tablefile [outfile] - -.SH DESCRIPTION -.IX "psfaddtable command" "" "\fLpsfaddtable\fR command" - -.B psfaddtable -takes a console font in .psf format given by -.I fontfile -and merges it with the Unicode character table given by -.I tablefile -to produce a font file with an embedded character table, which is written to -.I outfile -if given, or else to standard output. Either -.I fontfile -or -.I outfile -(but not both) can be replaced by a single dash (\-) to read from standard -input instead. If the -.I fontfile -already contains an embedded character table, it is ignored. - -.SH TABLE FILE FORMAT -Each line in the -.I tablefile -should be either blank, contain a comment (preceded by -.IR # ), -or contain a sequence of numbers in either decimal (default), octal (preceded -by -.IR 0 ), -or hexadecimal (preceded by -.IR 0x ) -format. The first number on each line indicates the glyph slot in the font -that is being referred to, this is between 0 and 0xff for a 256\-character -font and 0 and 0x1ff for a 512\-character font. Any subsequent numbers on the -same line are Unicodes matched by this specific glyph slot. It is -permissible to have multiple lines for the same glyph. - -.SH "SEE ALSO" -.BR consolechars (8), -.BR psfgettable (1), -.BR psfstriptable (1). - - diff -Nru console-tools-0.2.3/doc/man/psfgettable.1 console-tools-0.2.3/doc/man/psfgettable.1 --- console-tools-0.2.3/doc/man/psfgettable.1 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/psfgettable.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -.TH PSFGETTABLE 1 "28 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -psfgettable \- extract the embedded Unicode character table from a console font - -.SH SYNOPSIS -.B psfgettable -.I fontfile [outfile] - -.SH DESCRIPTION -.IX "psfgettable command" "" "\fLpsfgettable\fR command" - -.B psfgettable -extracts the embedded Unicode character table from a .psf format console font -into a human readable ASCII file of the format used by -.BR psfaddtable (1). -If the font file name is a single dash (\-), the font is read from -standard input. - -.SH "SEE ALSO" -.BR consolechars (8), -.BR psfaddtable (1), -.BR psfstriptable (1). diff -Nru console-tools-0.2.3/doc/man/psfstriptable.1 console-tools-0.2.3/doc/man/psfstriptable.1 --- console-tools-0.2.3/doc/man/psfstriptable.1 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/psfstriptable.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -.TH PSFSTRIPTABLE 1 "28 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -psfstriptable \- remove the embedded Unicode character table from a console font - -.SH SYNOPSIS -.B psfstriptable -.I fontfile [outfile] - -.SH DESCRIPTION -.IX "psfstriptable command" "" "\fLpsfstriptable\fR command" - -.B psfstriptable -reads a .psf format console font from -.IR fontfile , -or standard input if -.I fontfile -is a single dash (\-), which may have an embedded Unicode font table, and -writes (to standard output or the specified file) a .psf format console font -file without an embedded character table. - -.SH "SEE ALSO" -.BR consolechars (8), -.BR psfaddtable (1), -.BR psfgettable (1). diff -Nru console-tools-0.2.3/doc/man/resizecons.8 console-tools-0.2.3/doc/man/resizecons.8 --- console-tools-0.2.3/doc/man/resizecons.8 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/resizecons.8 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -.TH RESIZECONS 8 "28 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -resizecons \- change kernel idea of the console size - -.SH SYNOPSIS -.BI "resizecons " COLSxROWS -.br -.BI "resizecons " -lines " ROWS" - -.SH DESCRIPTION -The -.B resizecons -command tries to change the videomode of the console. There are several -aspects to this: (a) the kernel must know about it, (b) the hardware must -know about it, (c) user programs must know about it, (d) the console font may -have to be adapted. - -(a) The kernel is told about the change using the ioctl VT_RESIZE. This -causes the kernel to reallocate console screen memory for all virtual -consoles, and might fail if there is not enough memory. (In that case, try to -disallocate some virtual consoles first.) If this ioctl succeeds, but a later -step fails (e.g., because you do not have root permissions), you may be left -with a very messy screen. - -The most difficult part of this is (b), since it requires detailed knowledge -of the video card hardware, and the setting of numerous registers. Only -changing the number of rows is slightly easier, and -.B resizecons -will try to do that itself, when given the -.I -lines -option. (Probably, root permission will be required.) -The command -.B "resizecons COLSxROWS" -will execute -.B "restoretextmode -r COLSxROWS" -(and hence requires that you have svgalib installed). Here COLSxROWS is a -file that was created earlier by -.B "restoretextmode -w COLSxROWS." -Again, either root permissions are required, or -.BR restoretextmode (8) -has to be suid root. - -In order to deal with (c), -.B resizecons -does a -.RB ` "stty rows ROWS cols COLS" ' -for each active console (in the range tty0..tty15), and sends a SIGWINCH -signal to -.B selection -if it finds the file -.IR /tmp/selection.pid . - -Finally, (d) is dealt with by executing a -.BR consolechars (8) -command. Most likely, the wrong font is loaded, and you may want to call -.BR consolechars (8) -yourself afterwards. - -.SH BUGS -.B resizecons -does not work on all hardware. This command used to be called -.B resize, -but was renamed to avoid conflict with another command with the same name. - -.SH "SEE ALSO" -.BR consolechars (8), -.BR stty (1), -.BR selection (1), -.BR restoretextmode (8), -.BR disalloc (8). diff -Nru console-tools-0.2.3/doc/man/setkeycodes.8 console-tools-0.2.3/doc/man/setkeycodes.8 --- console-tools-0.2.3/doc/man/setkeycodes.8 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/setkeycodes.8 1970-01-01 00:00:00.000000000 +0000 @@ -1,55 +0,0 @@ -.TH SETKEYCODES 8 "31 Oct 1997" "Console tools" "Linux User's Manual" -.SH NAME -setkeycodes \- load kernel scancode-to-keycode mapping table entries - -.SH SYNOPSIS -.B setkeycodes -.I "scancode keycode ..." - -.SH DESCRIPTION -The -.B setkeycodes -command reads its arguments two at a time, each pair of arguments consisting -of a scancode (given in hexadecimal) and a keycode (given in decimal). For -each such pair, it tells the kernel keyboard driver to map the specified -scancode to the specified keycode. - -This command is useful only for people with slightly unusual keyboards, that -have a few keys which produce scancodes that the kernel does not recognize. - -.SH THEORY -The usual PC keyboard produces a series of scancodes for each -key press and key release. (Scancodes are shown by -\fBshowkey -s\fP, see showkey(1).) -The kernel parses this stream of scancodes, and converts it to -a stream of keycodes (key press/release events). -(Keycodes are shown by \fBshowkey\fP.) -Apart from a few scancodes with special meaning, and apart from -the sequence produced by the Pause key, and apart from shiftstate -related scancodes, and apart from the key up/down bit, -the stream of scancodes consists of unescaped -scancodes xx (7 bits) and escaped scancodes e0 xx (8+7 bits). -It is hardwired in the current kernel that in the range 1-88 -(0x01-0x58) keycode equals scancode. For the remaining scancodes -(0x59-0x7f) or scancode pairs (0xe0 0x00 - 0xe0 0x7f) a -corresponding keycode can be assigned (in the range 1-127). -For example, if you have a Macro key that produces e0 6f according -to showkey(1), the command -.RS -.BR setkeycodes " e06f 112" -.RE -will assign the keycode 112 to it, and then loadkeys(1) can be used -to define the function of this key. - -.SH OPTIONS -None. - -.SH BUGS -The keycodes of X have nothing to do with those of Linux. -Unusual keys can be made visible under Linux, but not under X. - -.SH "SEE ALSO" -.BR dumpkeys (1), -.BR loadkeys (1), -.BR showkey (1), -.BR getkeycodes (8). diff -Nru console-tools-0.2.3/doc/man/setleds.1 console-tools-0.2.3/doc/man/setleds.1 --- console-tools-0.2.3/doc/man/setleds.1 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/setleds.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,82 +0,0 @@ -.TH SETLEDS 1 "09 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -setleds \- set the keyboard leds - -.SH SYNOPSIS -.B setleds -.BI [ "-v" "] [" "-L" "] [" "-D" "] [" "-F" ] -.BI [ {+|-}num "] [" {+|-}caps "] [" {+|-}scroll ] -.IX "setleds command" "" "\fLsetleds\fR command" - -.SH DESCRIPTION -.PP -.B setleds -reports and changes the led flag settings of the current VT (namely NumLock, -CapsLock and ScrollLock). Without arguments, -.B setleds -prints the current settings. With arguments, it sets or clears the indicated -flags (and leaves the others unchanged). The settings before and after the -change are reported if the -.B \-v -flag is given. - -.SH OPTIONS -.TP -.I \-F -This is the default. Only change the VT flags (and their setting may be -reflected by the keyboard leds). -.TP -.I \-D -Change both the VT flags and their default settings (so that a subsequent -reset will not undo the change). This might be useful for people who always -want to have numlock set. -.TP -.I \-L -Do not touch the VT flags, but only change the leds. From this moment on, the -leds will no longer reflect the VT flags (but display whatever is put into -them). The command -.B "setleds \-L" -(without further arguments) will restore the situation in which the leds -reflect the VT flags. -.TP -.I \-num \+num -Clear or set NumLock. -(At present, the NumLock setting influences the -interpretation of keypad keys. -Pressing the NumLock key complements the NumLock setting.) -.TP -.I \-caps \+caps -Clear or set CapsLock. -(At present, the CapsLock setting complements the Shift key -when applied to letters. -Pressing the CapsLock key complements the CapsLock setting.) -.TP -.I \-scroll \+scroll -Clear or set ScrollLock. -(At present, pressing the ScrollLock key (or ^S/^Q) stops/starts -console output.) - -.SH EXAMPLE -.PP -One might use -.B setleds -in /etc/rc to define the initial and default state of NumLock, -e.g. by -.PP -.RS -INITTY=/dev/tty[1\-8] -.br -for tty in $INITTY; do -.RS -setleds \-D \+num < $tty -.RE -done -.RE - -.SH BUGS -In keyboard application mode the NumLock key does not influence the NumLock -flag setting. - -.SH "SEE ALSO" -.BR loadkeys (1). diff -Nru console-tools-0.2.3/doc/man/setmetamode.1 console-tools-0.2.3/doc/man/setmetamode.1 --- console-tools-0.2.3/doc/man/setmetamode.1 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/setmetamode.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,50 +0,0 @@ -.TH SETMETAMODE 1 "09 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -setmetamode \- define the keyboard meta key handling - -.SH SYNOPSIS -.BI "setmetamode [ " meta | bit | metabit " | " esc | prefix | escprefix " ]" -.IX "setmetamode command" "" "\fLsetmetamode\fR command" - -.SH DESCRIPTION -.PP -Without argument, -.B setmetamode -prints the current Meta key mode. -With argument, it sets the Meta key mode as indicated. -The setting before and after the change are reported. -.LP -The Meta key mode is specific for each VT (and the VT -corresponding to stdin is used). - -.SH OPTIONS -.TP -.I esc prefix escprefix -The Meta key sends an Escape prefix. -.TP -.I meta bit metabit -The Meta key sets the high order bit of the character. - -.SH EXAMPLE - -One might use -.B setmetamode -in an -.I /etc/rc -script to define the initial state of the Meta key mode, -e.g. by - -.RS -INITTY=/dev/tty[1\-8] -.br -for tty in $INITTY; do -.RS -setmetamode escprefix < $tty -.RE -done -.RE - -.SH "SEE ALSO" -.BR loadkeys (1). - diff -Nru console-tools-0.2.3/doc/man/showcfont.1 console-tools-0.2.3/doc/man/showcfont.1 --- console-tools-0.2.3/doc/man/showcfont.1 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/showcfont.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -.TH SHOWFONT 1 "28 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -showfont \- displays all characters in the current screen-font. - -.SH SYNOPSIS -.B showfont - -.SH DESCRIPTION -.B showfont -uses successive switches of the -.I Application Charset Map -in 8-bit console-mode to have all 256 or 512 characters in the current font -displayed on the screen. - -.SH "SEE ALSO" -.BR consolechars (8). diff -Nru console-tools-0.2.3/doc/man/showkey.1 console-tools-0.2.3/doc/man/showkey.1 --- console-tools-0.2.3/doc/man/showkey.1 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/showkey.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,105 +0,0 @@ -.TH SHOWKEY 1 "09 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -showkey \- examine the scan codes and keycodes sent by the keyboard - -.SH SYNOPSIS -.BI "showkey [ -[" hVskm "] | " --help " | " --version " | " --scancodes -.BI "| " --keycodes " | " --keymap " ] [ " -t " N | " --timeout= "N ]" -.IX "showkey command" "" "\fLshowkey\fR command" - -.SH DESCRIPTION -.PP -.B showkey -prints to standard output either the scan codes, the keycode, or the -character of each key pressed/released. The program runs until 10 seconds (or -the amount of time specified by the -.I --timeout -or -.I -t -option) has elapsed since the last key press or release event, or until it -receives a suitable signal, like SIGTERM, from another process. - -.B showkey -has three modes of operation, scancode dumping, keycode dumping, and keymap -testing, selected by a command line option (see below). - -.SH COMMANDS -.TP -.I \-h \-\-help -.B showkey -prints to the standard error output its version number, a short usage -message, then exits. -.TP -.I \-V \-\-version -.B showkey -prints to the standard error output its version number, then exits. -.TP -.I \-s \-\-scancodes -Starts -.B showkey -in scan code dump mode. - -In this mode, -.B showkey -prints in hexadecimal format each byte received from the keyboard to the -standard output. A new line is printed when an interval of about 0.1 seconds -occurs between the bytes received, or when the internal receive buffer fills -up. This can be used to determine roughly, what byte sequences the keyboard -sends at once on a given key press. The scan code dumping mode is primarily -intended for debugging the keyboard driver or other low level interfaces. As -such it shouldn't be of much interest to the regular end-user. -.TP -.I \-k \-\-keycodes -Starts -.B showkey -in keycode dump mode. This is the default, when no command is specified is -specified. - -In this mode, -.B showkey -prints to the standard output the keycode number or each key pressed or -released. The kind of the event, press or release, is also reported. -Keycodes are numbers assigned by the kernel to each individual physical -key. Every key has always only one associated keycode number, whether -the keyboard sends single or multiple scan codes when pressing it. Using -.B showkey -in this mode, you can find out what numbers to use in your personalized -keymap files. -.TP -.I \-m \-\-keymap -Starts -.B showkey -in keycode dump mode. - -In this mode, -.B showkey -displays the characters as they are translated by the kernel using the -current keymap. It may be useful to writers of install programs, to allow the -user to test a new keyboard before really installing it. - -.SH OPTIONS -.TP -.I \-t N \-\-timeout=N -This option changes the timeout (in seconds) from its default of 10s. - -.SH AUTHOR -.B showkey -was developped by Risto Kankkunen for kbd-0.81. -.PP -It was later extended by Yann Dirson <dirson@debian.org> to support the -.I --keymap -command and the -.I --timeout -option. - -.SH BUGS -The -.I --keymap -mode should report action keys by displaying what action should be performed, -instead of executing the action. - -.SH "SEE ALSO" -.BR loadkeys (1), -.BR dumpkeys (1), -.BR keymaps (5). diff -Nru console-tools-0.2.3/doc/man/unicode_start.1 console-tools-0.2.3/doc/man/unicode_start.1 --- console-tools-0.2.3/doc/man/unicode_start.1 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/unicode_start.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -.TH UNICODE_START 1 "28 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -unicode_start \- put the console in Unicode mode. - -.SH SYNOPSIS -.B unicode_start -.BI [ " font " [ " screen-font-map " "] ]" - -.SH DESCRIPTION -The -.B unicode_start -command puts both the screen and the keyboard in -.IR "Unicode mode" , -and maybe load the given -.I font -and -.IR "screen-font map" . -If no args are given, the current -.I font -and -.IR "screen-font map" -will be used. - -.SH BUGS -You might get into trouble if you don't have a screen-font map loaded. - -.SH "SEE ALSO" -.BR unicode_stop (1), -.BR consolechars (8). diff -Nru console-tools-0.2.3/doc/man/unicode_stop.1 console-tools-0.2.3/doc/man/unicode_stop.1 --- console-tools-0.2.3/doc/man/unicode_stop.1 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/man/unicode_stop.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -.TH UNICODE_STOP 1 "28 Oct 1997" "Console tools" "Linux User's Manual" - -.SH NAME -unicode_stop \- put the console out of unicode mode (ie. in 8-bit mode). - -.SH SYNOPSIS -.B unicode_stop - -.SH DESCRIPTION -The -.B unicode_stop -command puts both the screen and the keyboard in -.IR "8-bit mode" , -canceling the effect of a previous call to -.BR unicode_start (1). - -.SH "SEE ALSO" -.BR unicode_start (1), -.BR consolechars (8). diff -Nru console-tools-0.2.3/doc/man/vt-is-UTF8.1 console-tools-0.2.3/doc/man/vt-is-UTF8.1 --- console-tools-0.2.3/doc/man/vt-is-UTF8.1 1999-07-19 19:35:02.000000000 +0000 +++ console-tools-0.2.3/doc/man/vt-is-UTF8.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,50 +0,0 @@ -.TH VT\-IS\-UTF8 1 "10 Aug 1998" "Console tools" "Linux User's Manual" - -.SH NAME -vt-is-UTF8 \- check whether current VT is in UTF8- or byte-mode. - -.SH SYNOPSIS -.BI "vt-is-UTF8 [" -h | --help "] [" -V | --version "] [" -q | --quiet ] - -.SH DESCRIPTION -.B vt-is-UTF8 -checks whether the current VT is in UTF8 mode, by writing (and erasing -afterwards) a 3-byte-long UTF8 sequence, and looking how much chars where -displayed by the console driver. - -A message telling in which mode the console is is then written to stdout -(except if the -.I --quiet -option was given). - -If the -.I --quiet -option is not given, the value returned is 1 if an error occurs, else 0. - -.SH OPTIONS -.TP -.I -h --help -display version number, a short help message and exit. - -.TP -.I -V --version -display version number and exit. - -.TP -.I -q --quiet -do not print on stdout in with mode we are, but return the state as -exit-status 1 if in UTF8-mode, 0 if in byte-mode. In case of error, 0 is -returned and a message is displayed on stderr. - -.SH BUGS -The check should be done by directly asking the kernel, which is not possible -as of kernels 2.0.x. - -As of kernel 2.0.35, the byte-mode is sometimes erroneously detected -as UTF8-mode, after switching from a 512-chars font to a 256-chars -font. This is probably a console-driver bug. - -.SH "SEE ALSO" - -.BR unicode_start (1), -.BR unicode_stop (1). diff -Nru console-tools-0.2.3/doc/README.acm console-tools-0.2.3/doc/README.acm --- console-tools-0.2.3/doc/README.acm 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/README.acm 1970-01-01 00:00:00.000000000 +0000 @@ -1,43 +0,0 @@ -16-bit screen-maps: ------------------ - - 16-bit screen-maps are used when the screen is in 8-bit mode (the default), -to define the character-set used by applications, by telling the kernel how -to interpret these 8-bit chars, in fact by telling to which Unicode character -they should be mapped. - - The following files are 16-bit screen maps generated from the file -`UTF-tmpl.8bit', using the `2UTF' program: - - iso{01,02..10} ISO 8859 charsets - cp437 IBM codepage 437 (corresponding to the - default PC font) - straight-to-font Maps all application characters directly to - the characters, using the straight-to-font - unicodes. - - -8-bit screen-maps: ------------------ - - 8-bit screen maps should be considered obsolete, and should be rewritten as -16-bit maps where needed. They are used to map the charset used by the -application directly to the font in use, bypassing the unicode map describing -the font. Thus, a new 8bit screen-map has to be set each time the font is -changed. - - - The following are 8-bit screen-maps whose usefulness with current version of -the console driver/tools has to be investigated: - - null - space - zero - - - The following are 8-bit screen-maps which may still be useful to some users, -but, as 8-bit maps, they will bypass the unicode map: - - trivial obsoleted by `straight-to-font' (16-bit) - vga2iso - koi2alt diff -Nru console-tools-0.2.3/doc/README.openvt console-tools-0.2.3/doc/README.openvt --- console-tools-0.2.3/doc/README.openvt 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/README.openvt 1970-01-01 00:00:00.000000000 +0000 @@ -1,44 +0,0 @@ -From original README.openvt: -============================ - -openvt opens a new vt and runs a command on it. It can be used as a simple -way to start several console logins without having to type your passwd -on each VT in turn. - -openvt can be used as a simpler to use replacement for the doshell(8) command. - -openvt is similar in functionality to the AIX/RS6000 command open. - - -To use openvt it must be installed setuid root (type make install; make -setuid) or all the VT device that are not allocated to getty should be -read/write by all, e.g. - -chmod a=rw /dev/tty[5678] - -Note, new in v1.1 -- is required to separate command/child options. See -the manual page. - -Jon. - - -From original README.init: -========================== - -You don't have to log into a getty on every virtual console anymore: -just run a single getty on tty1, put this line in your /etc/inittab: - - kb::kbrequest:/usr/bin/openvt -us - -and put this in your rc.local (or equivalent): - - echo "alt keycode 103 = Spawn_Console" | loadkeys - -Then, once you login, you can press alt-up-arrow to spawn another -virtual console. This behavior requires a recent sysvinit package. -I used 2.64, but as early as 2.60 might support it. You also must -be using the proc filesystem. - -WARNING: this may circumvent vlock. - -Joshua Spoerri diff -Nru console-tools-0.2.3/doc/README.sfm console-tools-0.2.3/doc/README.sfm --- console-tools-0.2.3/doc/README.sfm 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/doc/README.sfm 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -The correspondences given in iso0[1-9].sfm are -according to The Unicode Standard, Version 1.0, Vol. 1. - -Most of the remaining ones are phantasy. - -`ethiopic.sfm' is the one used by the `Agafari', `Goha', and `GohaClassic' fonts. - -`def.sfm' is the default one, used by the kernel on boot (codepage 437). - -`cp437.sfm' is basically quite similar with `def.sfm', but has some -approximations defined, and a few mappings are a bit different. diff -Nru console-tools-0.2.3/examples/♪♬ console-tools-0.2.3/examples/♪♬ --- console-tools-0.2.3/examples/♪♬ 1999-04-08 21:29:42.000000000 +0000 +++ console-tools-0.2.3/examples/♪♬ 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -After -% kbd_mode -u -% echo -e '\033%8' -% loadkeys -control shift keycode 59 = U+266a -control shift keycode 60 = U+266C -% -I typed this file and called it by the two-symbol name -ctrl-shift-F1 ctrl-shift-F2. - -In order to tell `ls' not to be afraid, give it the `-N' flag. -Give `less' the `-r' flag. diff -Nru console-tools-0.2.3/examples/Makefile.am console-tools-0.2.3/examples/Makefile.am --- console-tools-0.2.3/examples/Makefile.am 1999-04-15 01:36:52.000000000 +0000 +++ console-tools-0.2.3/examples/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -# -*- makefile -*- - -AUTOMAKE_OPTIONS = foreign -UNICODEDATA = @UNICODEDATA@ - -all: @UNICODELISTS@ - -unicodelists: utflist.long - -utflist.long: ${UNICODEDATA} ${top_srcdir}/local-scripts/make-utflist - ${top_srcdir}/local-scripts/make-utflist < $< > $@ - -EXTRA_DIST = screenmaps/* spawn_*.c README.* sample.* utflist.* ?????? diff -Nru console-tools-0.2.3/examples/Makefile.in console-tools-0.2.3/examples/Makefile.in --- console-tools-0.2.3/examples/Makefile.in 1999-10-25 20:58:17.000000000 +0000 +++ console-tools-0.2.3/examples/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,227 +0,0 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# -*- makefile -*- - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AS = @AS@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -COMPAT = @COMPAT@ -DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ -FONTDIR = @FONTDIR@ -GENCAT = @GENCAT@ -GMOFILES = @GMOFILES@ -GMSGFMT = @GMSGFMT@ -GT_NO = @GT_NO@ -GT_YES = @GT_YES@ -INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ -INSTOBJEXT = @INSTOBJEXT@ -INTLDEPS = @INTLDEPS@ -INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -KEYCODES = @KEYCODES@ -KEYMAPDIR = @KEYMAPDIR@ -LD = @LD@ -LEX = @LEX@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LOADKEYS = @LOADKEYS@ -MAKEINFO = @MAKEINFO@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -NM = @NM@ -OBJDUMP = @OBJDUMP@ -PACKAGE = @PACKAGE@ -POFILES = @POFILES@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -RESIZECONS = @RESIZECONS@ -TRANSDIR = @TRANSDIR@ -UNICODELISTS = @UNICODELISTS@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -VIDEOMODEDIR = @VIDEOMODEDIR@ -YACC = @YACC@ -l = @l@ -translit = @translit@ - -AUTOMAKE_OPTIONS = foreign -UNICODEDATA = @UNICODEDATA@ - -EXTRA_DIST = screenmaps/* spawn_*.c README.* sample.* utflist.* ?????? -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = -DIST_COMMON = Makefile.am Makefile.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -all: all-redirect -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps examples/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - -tags: TAGS -TAGS: - - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = examples - -distdir: $(DISTFILES) - $(mkinstalldirs) $(distdir)/screenmaps - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done -info-am: -info: info-am -dvi-am: -dvi: dvi-am -check-am: all-am -check: check-am -installcheck-am: -installcheck: installcheck-am -install-exec-am: -install-exec: install-exec-am - -install-data-am: -install-data: install-data-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: -uninstall: uninstall-am -all-am: Makefile -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - - -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: -mostlyclean-am: mostlyclean-generic - -mostlyclean: mostlyclean-am - -clean-am: clean-generic mostlyclean-am - -clean: clean-am - -distclean-am: distclean-generic clean-am - -rm -f libtool - -distclean: distclean-am - -maintainer-clean-am: maintainer-clean-generic distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-am - -.PHONY: tags distdir info-am info dvi-am dvi check check-am \ -installcheck-am installcheck install-exec-am install-exec \ -install-data-am install-data install-am install uninstall-am uninstall \ -all-redirect all-am all installdirs mostlyclean-generic \ -distclean-generic clean-generic maintainer-clean-generic clean \ -mostlyclean distclean maintainer-clean - - -all: @UNICODELISTS@ - -unicodelists: utflist.long - -utflist.long: ${UNICODEDATA} ${top_srcdir}/local-scripts/make-utflist - ${top_srcdir}/local-scripts/make-utflist < $< > $@ - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru console-tools-0.2.3/examples/README.strange-name console-tools-0.2.3/examples/README.strange-name --- console-tools-0.2.3/examples/README.strange-name 1999-04-08 21:29:42.000000000 +0000 +++ console-tools-0.2.3/examples/README.strange-name 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -The file with a strange name in this directory is no mistake. -It shows that Linux handles filenames in Unicode (UTF-8) -without ever realizing that they are in Unicode. -[However, some old tar's are unhappy with this filename.] - -If you want to see it (the filename consists of two musical notes): -% setfont # load PC font, just to be sure -% setfont -u def.uni # load Unicode mapping table -% echo -e '\033%8' # set Unicode output mode -% ls -N # show filenames (raw) -% echo -e '\033%@' # set Latin1 output mode again. - -If you want to remove it: -% rm ./?????? - -If you want to input Unicode: -% kbd_mode -u # Be careful! Do this only with a kbd_mode - # from kbd-0.88.tar.gz or later! -and next tell loadkeys what key combinations correspond to which -Unicode values. (See also the contents of that musical file.) - -See also the scripts unicode_start and unicode_stop in ../src. diff -Nru console-tools-0.2.3/examples/sample.rc console-tools-0.2.3/examples/sample.rc --- console-tools-0.2.3/examples/sample.rc 1999-04-08 21:29:42.000000000 +0000 +++ console-tools-0.2.3/examples/sample.rc 1970-01-01 00:00:00.000000000 +0000 @@ -1,45 +0,0 @@ -# Consoles to be initialized -# INITTY=/dev/tty[1-9]* -INITTY=/dev/tty1 - -# set numlock and set metabit mode on all virtual consoles -for tty in $INITTY -do - setleds -D +num < $tty > /dev/null - setmetamode metabit < /dev/tty$t > /dev/null -done - -# Cyrillic keyboard/console -setfont Cyr_a8x16 -m koi2alt -loadkeys ru - -# or: Latin1 keyboard/console -setfont lat1-16 -m trivial -loadkeys -d - -# enable mapping -for tty in $INITTY -do - echo -n -e "\\033(K" > $tty -done - -# Opening a tty for reading or writing will create the corresponding -# console. So, probably you want to do the above not on all /dev/tty* -# but only on those where you start a getty. If the remaining ones -# are opened using "open -s -l bash", then a "setleds -D +num" or so -# in .profile will take care of the newly opened console. - -# Let alt-uparrow (given at the shell prompt) create a new virtual console -# -loadkeys << EOF -alt keycode 103 = F100 -string F100 = "open -l -s bash\n" -EOF -# -# Let alt-uparrow (anytime) create a new virtual console -# (watch out for security aspects!) -# -spawn_console& # start a deamon that listens to the keyboard -loadkeys << EOF -alt keycode 103 = Spawn_Console -EOF diff -Nru console-tools-0.2.3/examples/screenmaps/latin1-16bit-hex console-tools-0.2.3/examples/screenmaps/latin1-16bit-hex --- console-tools-0.2.3/examples/screenmaps/latin1-16bit-hex 1999-04-08 21:29:42.000000000 +0000 +++ console-tools-0.2.3/examples/screenmaps/latin1-16bit-hex 1970-01-01 00:00:00.000000000 +0000 @@ -1,130 +0,0 @@ -# Screen map for latin1 charset - -0x80 U+0080 -0x81 U+0081 -0x82 U+0082 -0x83 U+0083 -0x84 U+0084 -0x85 U+0085 -0x86 U+0086 -0x87 U+0087 -0x88 U+0088 -0x89 U+0089 -0x8A U+008A -0x8B U+008B -0x8C U+008C -0x8D U+008D -0x8E U+008E -0x8F U+008F -0x90 U+0090 -0x91 U+0091 -0x92 U+0092 -0x93 U+0093 -0x94 U+0094 -0x95 U+0095 -0x96 U+0096 -0x97 U+0097 -0x98 U+0098 -0x99 U+0099 -0x9A U+009A -0x9B U+009B -0x9C U+009C -0x9D U+009D -0x9E U+009E -0x9F U+009F -0xA0 U+00A0 -0xA1 U+00A1 -0xA2 U+00A2 -0xA3 U+00A3 -0xA4 U+00A4 -0xA5 U+00A5 -0xA6 U+00A6 -0xA7 U+00A7 -0xA8 U+00A8 -0xA9 U+00A9 -0xAA U+00AA -0xAB U+00AB -0xAC U+00AC -0xAD U+00AD -0xAE U+00AE -0xAF U+00AF -0xB0 U+00B0 -0xB1 U+00B1 -0xB2 U+00B2 -0xB3 U+00B3 -0xB4 U+00B4 -0xB5 U+00B5 -0xB6 U+00B6 -0xB7 U+00B7 -0xB8 U+00B8 -0xB9 U+00B9 -0xBA U+00BA -0xBB U+00BB -0xBC U+00BC -0xBD U+00BD -0xBE U+00BE -0xBF U+00BF -0xC0 U+00C0 -0xC1 U+00C1 -0xC2 U+00C2 -0xC3 U+00C3 -0xC4 U+00C4 -0xC5 U+00C5 -0xC6 U+00C6 -0xC7 U+00C7 -0xC8 U+00C8 -0xC9 U+00C9 -0xCA U+00CA -0xCB U+00CB -0xCC U+00CC -0xCD U+00CD -0xCE U+00CE -0xCF U+00CF -0xD0 U+00D0 -0xD1 U+00D1 -0xD2 U+00D2 -0xD3 U+00D3 -0xD4 U+00D4 -0xD5 U+00D5 -0xD6 U+00D6 -0xD7 U+00D7 -0xD8 U+00D8 -0xD9 U+00D9 -0xDA U+00DA -0xDB U+00DB -0xDC U+00DC -0xDD U+00DD -0xDE U+00DE -0xDF U+00DF -0xE0 U+00E0 -0xE1 U+00E1 -0xE2 U+00E2 -0xE3 U+00E3 -0xE4 U+00E4 -0xE5 U+00E5 -0xE6 U+00E6 -0xE7 U+00E7 -0xE8 U+00E8 -0xE9 U+00E9 -0xEA U+00EA -0xEB U+00EB -0xEC U+00EC -0xED U+00ED -0xEE U+00EE -0xEF U+00EF -0xF0 U+00F0 -0xF1 U+00F1 -0xF2 U+00F2 -0xF3 U+00F3 -0xF4 U+00F4 -0xF5 U+00F5 -0xF6 U+00F6 -0xF7 U+00F7 -0xF8 U+00F8 -0xF9 U+00F9 -0xFA U+00FA -0xFB U+00FB -0xFC U+00FC -0xFD U+00FD -0xFE U+00FE -0xFF U+00FF diff -Nru console-tools-0.2.3/examples/screenmaps/latin1-16bit-utf console-tools-0.2.3/examples/screenmaps/latin1-16bit-utf --- console-tools-0.2.3/examples/screenmaps/latin1-16bit-utf 1999-04-08 21:29:42.000000000 +0000 +++ console-tools-0.2.3/examples/screenmaps/latin1-16bit-utf 1970-01-01 00:00:00.000000000 +0000 @@ -1,135 +0,0 @@ -# generated from UTF-tmpl.8bit.in by: -# { -# while read a b; do -# echo -e $a \'\\echo "8o16i${b#U+}pq" | dc\'; -# done -# } <data/consoletrans/UTF-tmpl.8bit.in - -0x80 '€' -0x81 'Â' -0x82 '‚' -0x83 'ƒ' -0x84 '„' -0x85 'Â…' -0x86 '†' -0x87 '‡' -0x88 'ˆ' -0x89 '‰' -0x8A 'Š' -0x8B '‹' -0x8C 'ÂŒ' -0x8D 'Â' -0x8E 'ÂŽ' -0x8F 'Â' -0x90 'Â' -0x91 '‘' -0x92 'Â’' -0x93 '“' -0x94 '”' -0x95 '•' -0x96 '–' -0x97 '—' -0x98 '˜' -0x99 '™' -0x9A 'š' -0x9B '›' -0x9C 'Âœ' -0x9D 'Â' -0x9E 'ž' -0x9F 'Ÿ' -0xA0 ' ' -0xA1 '¡' -0xA2 '¢' -0xA3 '£' -0xA4 '¤' -0xA5 'Â¥' -0xA6 '¦' -0xA7 '§' -0xA8 '¨' -0xA9 '©' -0xAA 'ª' -0xAB '«' -0xAC '¬' -0xAD '­' -0xAE '®' -0xAF '¯' -0xB0 '°' -0xB1 '±' -0xB2 '²' -0xB3 '³' -0xB4 '´' -0xB5 'µ' -0xB6 '¶' -0xB7 '·' -0xB8 '¸' -0xB9 '¹' -0xBA 'º' -0xBB '»' -0xBC '¼' -0xBD '½' -0xBE '¾' -0xBF '¿' -0xC0 'À' -0xC1 'Ã' -0xC2 'Â' -0xC3 'Ã' -0xC4 'Ä' -0xC5 'Ã…' -0xC6 'Æ' -0xC7 'Ç' -0xC8 'È' -0xC9 'É' -0xCA 'Ê' -0xCB 'Ë' -0xCC 'ÃŒ' -0xCD 'Ã' -0xCE 'ÃŽ' -0xCF 'Ã' -0xD0 'Ã' -0xD1 'Ñ' -0xD2 'Ã’' -0xD3 'Ó' -0xD4 'Ô' -0xD5 'Õ' -0xD6 'Ö' -0xD7 '×' -0xD8 'Ø' -0xD9 'Ù' -0xDA 'Ú' -0xDB 'Û' -0xDC 'Ãœ' -0xDD 'Ã' -0xDE 'Þ' -0xDF 'ß' -0xE0 'à' -0xE1 'á' -0xE2 'â' -0xE3 'ã' -0xE4 'ä' -0xE5 'Ã¥' -0xE6 'æ' -0xE7 'ç' -0xE8 'è' -0xE9 'é' -0xEA 'ê' -0xEB 'ë' -0xEC 'ì' -0xED 'í' -0xEE 'î' -0xEF 'ï' -0xF0 'ð' -0xF1 'ñ' -0xF2 'ò' -0xF3 'ó' -0xF4 'ô' -0xF5 'õ' -0xF6 'ö' -0xF7 '÷' -0xF8 'ø' -0xF9 'ù' -0xFA 'ú' -0xFB 'û' -0xFC 'ü' -0xFD 'ý' -0xFE 'þ' -0xFF 'ÿ' diff -Nru console-tools-0.2.3/examples/spawn_console.c console-tools-0.2.3/examples/spawn_console.c --- console-tools-0.2.3/examples/spawn_console.c 1999-04-08 21:29:42.000000000 +0000 +++ console-tools-0.2.3/examples/spawn_console.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/* - * Tiny test program for the `spawn console' key - * (should not use signal; should not use sleep) - * aeb - 941025 - * - * Note: this functionality has become part of init. - * - * Note: open(1) is now part of the `open' Debian package. - * - * You should not use it on a system; if you want to do this, - * be very careful. - * - * If you have this in /etc/rc.local you should - * start getty, not open, or anybody will have a root shell - * with a single keystroke. - */ -#include <signal.h> -#include <stdlib.h> /* system */ -#include <fcntl.h> /* open */ -#include <unistd.h> /* sleep */ -#include <sys/ioctl.h> /* ioctl */ -#include <linux/kd.h> - -void -sighup(){ - system("open -s -l bash"); - signal(SIGHUP, sighup); -} - -void -main(){ - int fd; - - fd = open("/dev/console", 0); - if (fd < 0) - fd = 0; - signal(SIGHUP, sighup); - ioctl(fd, KDSIGACCEPT, (long) SIGHUP); - while(1) - sleep(3600); -} diff -Nru console-tools-0.2.3/examples/spawn_login.c console-tools-0.2.3/examples/spawn_login.c --- console-tools-0.2.3/examples/spawn_login.c 1999-04-08 21:29:42.000000000 +0000 +++ console-tools-0.2.3/examples/spawn_login.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/* - * Tiny test program for the `spawn console' key - * (should not use signal; should not use sleep) - * aeb - 941025 - * - * Note: this functionality has become part of init. - * - * Note: open(1) is now part of the `open' Debian package. - * - * You do not want to it on a system, as takes RAM for - * nothing more than what init does. - * - * To use init, edit the "kb" entry in /etc/inittab. - * Eg: - * kb::kbrequest:/bin/open -sl -- login - */ -#include <signal.h> -#include <stdlib.h> /* system */ -#include <fcntl.h> /* open */ -#include <unistd.h> /* sleep */ -#include <sys/ioctl.h> /* ioctl */ -#include <linux/kd.h> - -void -sighup(){ - system("open -s -l -- login -h spawn"); - signal(SIGHUP, sighup); -} - -void -main(){ - int fd; - - fd = open("/dev/console", 0); - if (fd < 0) - fd = 0; - signal(SIGHUP, sighup); - ioctl(fd, KDSIGACCEPT, (long) SIGHUP); - while(1) - sleep(3600); -} diff -Nru console-tools-0.2.3/examples/utflist.cp437 console-tools-0.2.3/examples/utflist.cp437 --- console-tools-0.2.3/examples/utflist.cp437 1999-04-08 21:29:42.000000000 +0000 +++ console-tools-0.2.3/examples/utflist.cp437 1970-01-01 00:00:00.000000000 +0000 @@ -1,115 +0,0 @@ -In addition to the Latin-1 characters, with the new UTF-8 patch, -the Linux console can now also display the following further -Unicode/ISO 10646 characters (i.e. the complete PC character set) -when put into UTF-8 mode by the escape sequence Esc % 8. -Instructions: -% unicode_start # see ../src -% less -r utfdemo -% unicode_stop # idem - -2008  ¿ PUNCTUATION SPACE -263A ☺¿ WHITE SMILING FACE -263B ☻¿ BLACK SMILING FACE -2665 ♥¿ BLACK HEART SUIT -2666 ♦¿ BLACK DIAMOND SUIT -2663 ♣¿ BLACK CLUB SUIT -2660 â™ ¿ BLACK SPADE SUIT -2022 •¿ BULLET -25D8 â—˜¿ INVERSE BULLET -25CB â—‹¿ WHITE CIRCLE -25D9 â—™¿ INVERSE WHITE CIRCLE -2642 ♂¿ MALE SIGN -2640 ♀¿ FEMALE SIGN -266A ♪¿ EIGHTH NOTE -266C ♬¿ BEAMED SIXTEENTH NOTES -263C ☼¿ WHITE SUN WITH RAYS -25B6 â–¶¿ BLACK RIGHT-POINTING TRIANGLE -25C0 â—€¿ BLACK LEFT-POINTING TRIANGLE -2195 ↕¿ UP DOWN ARROW -203C ‼¿ DOUBLE EXCLAMATION MARK -25AC â–¬¿ BLACK RECTANGLE -21A8 ↨¿ UP DOWN ARROW WITH BASE -2191 ↑¿ UPWARDS ARROW -2193 ↓¿ DOWNWARDS ARROW -2192 →¿ RIGHTWARDS ARROW -2190 ↿ LEFTWARDS ARROW -2319 ⌙¿ TURNED NOT SIGN -2194 ↔¿ LEFT RIGHT ARROW -25B2 â–²¿ BLACK UP-POINTING TRIANGLE -25BC â–¼¿ BLACK DOWN-POINTING TRIANGLE -2302 ⌂¿ HOUSE -20A7 ₧¿ PESETA SIGN -0192 Æ’§¿ LATIN SMALL LETTER F WITH HOOK -2310 ⌿ REVERSED NOT SIGN -2591 â–‘¿ LIGHT SHADE -2592 â–’¿ MEDIUM SHADE -2593 â–“¿ DARK SHADE -2502 │¿ BOX DRAWINGS LIGHT VERTICAL -2524 ┤¿ BOX DRAWINGS LIGHT VERTICAL AND LEFT -2561 â•¡¿ BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE -2562 â•¢¿ BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE -2556 â•–¿ BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -2555 â••¿ BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -2563 â•£¿ BOX DRAWINGS DOUBLE VERTICAL AND LEFT -2551 â•‘¿ BOX DRAWINGS DOUBLE VERTICAL -2557 â•—¿ BOX DRAWINGS DOUBLE DOWN AND LEFT -255D â•¿ BOX DRAWINGS DOUBLE UP AND LEFT -255C â•œ¿ BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -255B â•›¿ BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -2510 ┿ BOX DRAWINGS LIGHT DOWN AND LEFT -2514 â””¿ BOX DRAWINGS LIGHT UP AND RIGHT -2534 â”´¿ BOX DRAWINGS LIGHT UP AND HORIZONTAL -252C ┬¿ BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -251C ├¿ BOX DRAWINGS LIGHT VERTICAL AND RIGHT -2500 ─¿ BOX DRAWINGS LIGHT HORIZONTAL -253C ┼¿ BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -255E â•ž¿ BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE -255F â•Ÿ¿ BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE -255A â•š¿ BOX DRAWINGS DOUBLE UP AND RIGHT -2554 â•”¿ BOX DRAWINGS DOUBLE DOWN AND RIGHT -2569 â•©¿ BOX DRAWINGS DOUBLE UP AND HORIZONTAL -2566 ╦¿ BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -2560 â• ¿ BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -2550 â•¿ BOX DRAWINGS DOUBLE HORIZONTAL -256C ╬¿ BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -2567 ╧¿ BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE -2568 ╨¿ BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE -2564 ╤¿ BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE -2565 â•¥¿ BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE -2559 â•™¿ BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -2558 ╘¿ BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -2552 â•’¿ BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -2553 â•“¿ BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -256B â•«¿ BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE -256A ╪¿ BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE -2518 ┘¿ BOX DRAWINGS LIGHT UP AND LEFT -250C ┌¿ BOX DRAWINGS LIGHT DOWN AND RIGHT -2588 â–ˆ¿ FULL BLOCK -2584 â–„¿ LOWER HALF BLOCK -258C â–Œ¿ LEFT HALF BLOCK -2590 â–¿ RIGHT HALF BLOCK -2580 â–€¿ UPPER HALF BLOCK -03B1 α€¿ GREEK SMALL LETTER ALPHA -0393 Γ€¿ GREEK CAPITAL LETTER GAMMA -03C0 Ï€€¿ GREEK SMALL LETTER PI -03A3 Σ€¿ GREEK CAPITAL LETTER SIGMA -03C3 σ€¿ GREEK SMALL LETTER SIGMA -03C4 Ï„€¿ GREEK SMALL LETTER TAU -03A6 Φ€¿ GREEK CAPITAL LETTER PHI -0398 Θ€¿ GREEK CAPITAL LETTER THETA -2126 Ω¿ OHM SIGN -03B4 δ¦¿ GREEK SMALL LETTER DELTA -221E ∞¿ INFINITY -2205 ∅¿ EMPTY SET -2208 ∈¿ ELEMENT OF -2229 ∩¿ INTERSECTION -2261 ≡¿ IDENTICAL TO -2265 ≥¿ GREATER-THAN OR EQUAL TO -2264 ≤¿ LESS-THAN OR EQUAL TO -2320 ⌠¿ TOP HALF INTEGRAL -2321 ⌡¿ BOTTOM HALF INTEGRAL -2248 ≈¿ ALMOST EQUAL TO -22C5 â‹…¿ DOT OPERATOR -221A √¿ SQUARE ROOT -207F â¿¿ SUPERSCRIPT LATIN SMALL LETTER N -220E ∎¿ END OF PROOF diff -Nru console-tools-0.2.3/examples/utflist.long console-tools-0.2.3/examples/utflist.long --- console-tools-0.2.3/examples/utflist.long 1999-10-25 20:21:19.000000000 +0000 +++ console-tools-0.2.3/examples/utflist.long 1970-01-01 00:00:00.000000000 +0000 @@ -1,6801 +0,0 @@ -0020 SPACE -0021 ! EXCLAMATION MARK -0022 " QUOTATION MARK -0023 # NUMBER SIGN -0024 $ DOLLAR SIGN -0025 % PERCENT SIGN -0026 & AMPERSAND -0027 ' APOSTROPHE -0028 ( LEFT PARENTHESIS -0029 ) RIGHT PARENTHESIS -002A * ASTERISK -002B + PLUS SIGN -002C , COMMA -002D - HYPHEN-MINUS -002E . FULL STOP -002F / SOLIDUS -0030 0 DIGIT ZERO -0031 1 DIGIT ONE -0032 2 DIGIT TWO -0033 3 DIGIT THREE -0034 4 DIGIT FOUR -0035 5 DIGIT FIVE -0036 6 DIGIT SIX -0037 7 DIGIT SEVEN -0038 8 DIGIT EIGHT -0039 9 DIGIT NINE -003A : COLON -003B ; SEMICOLON -003C < LESS-THAN SIGN -003D = EQUALS SIGN -003E > GREATER-THAN SIGN -003F ? QUESTION MARK -0040 @ COMMERCIAL AT -0041 A LATIN CAPITAL LETTER A -0042 B LATIN CAPITAL LETTER B -0043 C LATIN CAPITAL LETTER C -0044 D LATIN CAPITAL LETTER D -0045 E LATIN CAPITAL LETTER E -0046 F LATIN CAPITAL LETTER F -0047 G LATIN CAPITAL LETTER G -0048 H LATIN CAPITAL LETTER H -0049 I LATIN CAPITAL LETTER I -004A J LATIN CAPITAL LETTER J -004B K LATIN CAPITAL LETTER K -004C L LATIN CAPITAL LETTER L -004D M LATIN CAPITAL LETTER M -004E N LATIN CAPITAL LETTER N -004F O LATIN CAPITAL LETTER O -0050 P LATIN CAPITAL LETTER P -0051 Q LATIN CAPITAL LETTER Q -0052 R LATIN CAPITAL LETTER R -0053 S LATIN CAPITAL LETTER S -0054 T LATIN CAPITAL LETTER T -0055 U LATIN CAPITAL LETTER U -0056 V LATIN CAPITAL LETTER V -0057 W LATIN CAPITAL LETTER W -0058 X LATIN CAPITAL LETTER X -0059 Y LATIN CAPITAL LETTER Y -005A Z LATIN CAPITAL LETTER Z -005B [ LEFT SQUARE BRACKET -005C \ REVERSE SOLIDUS -005D ] RIGHT SQUARE BRACKET -005E ^ CIRCUMFLEX ACCENT -005F _ LOW LINE -0060 ` GRAVE ACCENT -0061 a LATIN SMALL LETTER A -0062 b LATIN SMALL LETTER B -0063 c LATIN SMALL LETTER C -0064 d LATIN SMALL LETTER D -0065 e LATIN SMALL LETTER E -0066 f LATIN SMALL LETTER F -0067 g LATIN SMALL LETTER G -0068 h LATIN SMALL LETTER H -0069 i LATIN SMALL LETTER I -006A j LATIN SMALL LETTER J -006B k LATIN SMALL LETTER K -006C l LATIN SMALL LETTER L -006D m LATIN SMALL LETTER M -006E n LATIN SMALL LETTER N -006F o LATIN SMALL LETTER O -0070 p LATIN SMALL LETTER P -0071 q LATIN SMALL LETTER Q -0072 r LATIN SMALL LETTER R -0073 s LATIN SMALL LETTER S -0074 t LATIN SMALL LETTER T -0075 u LATIN SMALL LETTER U -0076 v LATIN SMALL LETTER V -0077 w LATIN SMALL LETTER W -0078 x LATIN SMALL LETTER X -0079 y LATIN SMALL LETTER Y -007A z LATIN SMALL LETTER Z -007B { LEFT CURLY BRACKET -007C | VERTICAL LINE -007D } RIGHT CURLY BRACKET -007E ~ TILDE -00A0   NO-BREAK SPACE -00A1 ¡ INVERTED EXCLAMATION MARK -00A2 ¢ CENT SIGN -00A3 £ POUND SIGN -00A4 ¤ CURRENCY SIGN -00A5 Â¥ YEN SIGN -00A6 ¦ BROKEN BAR -00A7 § SECTION SIGN -00A8 ¨ DIAERESIS -00A9 © COPYRIGHT SIGN -00AA ª FEMININE ORDINAL INDICATOR -00AB « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -00AC ¬ NOT SIGN -00AD ­ SOFT HYPHEN -00AE ® REGISTERED SIGN -00AF ¯ MACRON -00B0 ° DEGREE SIGN -00B1 ± PLUS-MINUS SIGN -00B2 ² SUPERSCRIPT TWO -00B3 ³ SUPERSCRIPT THREE -00B4 ´ ACUTE ACCENT -00B5 µ MICRO SIGN -00B6 ¶ PILCROW SIGN -00B7 · MIDDLE DOT -00B8 ¸ CEDILLA -00B9 ¹ SUPERSCRIPT ONE -00BA º MASCULINE ORDINAL INDICATOR -00BB » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -00BC ¼ VULGAR FRACTION ONE QUARTER -00BD ½ VULGAR FRACTION ONE HALF -00BE ¾ VULGAR FRACTION THREE QUARTERS -00BF ¿ INVERTED QUESTION MARK -00C0 À LATIN CAPITAL LETTER A WITH GRAVE -00C1 à LATIN CAPITAL LETTER A WITH ACUTE -00C2  LATIN CAPITAL LETTER A WITH CIRCUMFLEX -00C3 à LATIN CAPITAL LETTER A WITH TILDE -00C4 Ä LATIN CAPITAL LETTER A WITH DIAERESIS -00C5 Ã… LATIN CAPITAL LETTER A WITH RING ABOVE -00C6 Æ LATIN CAPITAL LETTER AE -00C7 Ç LATIN CAPITAL LETTER C WITH CEDILLA -00C8 È LATIN CAPITAL LETTER E WITH GRAVE -00C9 É LATIN CAPITAL LETTER E WITH ACUTE -00CA Ê LATIN CAPITAL LETTER E WITH CIRCUMFLEX -00CB Ë LATIN CAPITAL LETTER E WITH DIAERESIS -00CC ÃŒ LATIN CAPITAL LETTER I WITH GRAVE -00CD à LATIN CAPITAL LETTER I WITH ACUTE -00CE ÃŽ LATIN CAPITAL LETTER I WITH CIRCUMFLEX -00CF à LATIN CAPITAL LETTER I WITH DIAERESIS -00D0 à LATIN CAPITAL LETTER ETH (Icelandic) -00D1 Ñ LATIN CAPITAL LETTER N WITH TILDE -00D2 Ã’ LATIN CAPITAL LETTER O WITH GRAVE -00D3 Ó LATIN CAPITAL LETTER O WITH ACUTE -00D4 Ô LATIN CAPITAL LETTER O WITH CIRCUMFLEX -00D5 Õ LATIN CAPITAL LETTER O WITH TILDE -00D6 Ö LATIN CAPITAL LETTER O WITH DIAERESIS -00D7 × MULTIPLICATION SIGN -00D8 Ø LATIN CAPITAL LETTER O WITH STROKE -00D9 Ù LATIN CAPITAL LETTER U WITH GRAVE -00DA Ú LATIN CAPITAL LETTER U WITH ACUTE -00DB Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX -00DC Ãœ LATIN CAPITAL LETTER U WITH DIAERESIS -00DD à LATIN CAPITAL LETTER Y WITH ACUTE -00DE Þ LATIN CAPITAL LETTER THORN (Icelandic) -00DF ß LATIN SMALL LETTER SHARP S (German) -00E0 à LATIN SMALL LETTER A WITH GRAVE -00E1 á LATIN SMALL LETTER A WITH ACUTE -00E2 â LATIN SMALL LETTER A WITH CIRCUMFLEX -00E3 ã LATIN SMALL LETTER A WITH TILDE -00E4 ä LATIN SMALL LETTER A WITH DIAERESIS -00E5 Ã¥ LATIN SMALL LETTER A WITH RING ABOVE -00E6 æ LATIN SMALL LETTER AE -00E7 ç LATIN SMALL LETTER C WITH CEDILLA -00E8 è LATIN SMALL LETTER E WITH GRAVE -00E9 é LATIN SMALL LETTER E WITH ACUTE -00EA ê LATIN SMALL LETTER E WITH CIRCUMFLEX -00EB ë LATIN SMALL LETTER E WITH DIAERESIS -00EC ì LATIN SMALL LETTER I WITH GRAVE -00ED í LATIN SMALL LETTER I WITH ACUTE -00EE î LATIN SMALL LETTER I WITH CIRCUMFLEX -00EF ï LATIN SMALL LETTER I WITH DIAERESIS -00F0 ð LATIN SMALL LETTER ETH (Icelandic) -00F1 ñ LATIN SMALL LETTER N WITH TILDE -00F2 ò LATIN SMALL LETTER O WITH GRAVE -00F3 ó LATIN SMALL LETTER O WITH ACUTE -00F4 ô LATIN SMALL LETTER O WITH CIRCUMFLEX -00F5 õ LATIN SMALL LETTER O WITH TILDE -00F6 ö LATIN SMALL LETTER O WITH DIAERESIS -00F7 ÷ DIVISION SIGN -00F8 ø LATIN SMALL LETTER O WITH STROKE -00F9 ù LATIN SMALL LETTER U WITH GRAVE -00FA ú LATIN SMALL LETTER U WITH ACUTE -00FB û LATIN SMALL LETTER U WITH CIRCUMFLEX -00FC ü LATIN SMALL LETTER U WITH DIAERESIS -00FD ý LATIN SMALL LETTER Y WITH ACUTE -00FE þ LATIN SMALL LETTER THORN (Icelandic) -00FF ÿ LATIN SMALL LETTER Y WITH DIAERESIS -0100 Ä€ LATIN CAPITAL LETTER A WITH MACRON -0101 Ä LATIN SMALL LETTER A WITH MACRON -0102 Ä‚ LATIN CAPITAL LETTER A WITH BREVE -0103 ă LATIN SMALL LETTER A WITH BREVE -0104 Ä„ LATIN CAPITAL LETTER A WITH OGONEK -0105 Ä… LATIN SMALL LETTER A WITH OGONEK -0106 Ć LATIN CAPITAL LETTER C WITH ACUTE -0107 ć LATIN SMALL LETTER C WITH ACUTE -0108 Ĉ LATIN CAPITAL LETTER C WITH CIRCUMFLEX -0109 ĉ LATIN SMALL LETTER C WITH CIRCUMFLEX -010A ÄŠ LATIN CAPITAL LETTER C WITH DOT ABOVE -010B Ä‹ LATIN SMALL LETTER C WITH DOT ABOVE -010C ÄŒ LATIN CAPITAL LETTER C WITH CARON -010D Ä LATIN SMALL LETTER C WITH CARON -010E ÄŽ LATIN CAPITAL LETTER D WITH CARON -010F Ä LATIN SMALL LETTER D WITH CARON -0110 Ä LATIN CAPITAL LETTER D WITH STROKE -0111 Ä‘ LATIN SMALL LETTER D WITH STROKE -0112 Ä’ LATIN CAPITAL LETTER E WITH MACRON -0113 Ä“ LATIN SMALL LETTER E WITH MACRON -0114 Ä” LATIN CAPITAL LETTER E WITH BREVE -0115 Ä• LATIN SMALL LETTER E WITH BREVE -0116 Ä– LATIN CAPITAL LETTER E WITH DOT ABOVE -0117 Ä— LATIN SMALL LETTER E WITH DOT ABOVE -0118 Ę LATIN CAPITAL LETTER E WITH OGONEK -0119 Ä™ LATIN SMALL LETTER E WITH OGONEK -011A Äš LATIN CAPITAL LETTER E WITH CARON -011B Ä› LATIN SMALL LETTER E WITH CARON -011C Äœ LATIN CAPITAL LETTER G WITH CIRCUMFLEX -011D Ä LATIN SMALL LETTER G WITH CIRCUMFLEX -011E Äž LATIN CAPITAL LETTER G WITH BREVE -011F ÄŸ LATIN SMALL LETTER G WITH BREVE -0120 Ä  LATIN CAPITAL LETTER G WITH DOT ABOVE -0121 Ä¡ LATIN SMALL LETTER G WITH DOT ABOVE -0122 Ä¢ LATIN CAPITAL LETTER G WITH CEDILLA -0123 Ä£ LATIN SMALL LETTER G WITH CEDILLA -0124 Ĥ LATIN CAPITAL LETTER H WITH CIRCUMFLEX -0125 Ä¥ LATIN SMALL LETTER H WITH CIRCUMFLEX -0126 Ħ LATIN CAPITAL LETTER H WITH STROKE -0127 ħ LATIN SMALL LETTER H WITH STROKE -0128 Ĩ LATIN CAPITAL LETTER I WITH TILDE -0129 Ä© LATIN SMALL LETTER I WITH TILDE -012A Ī LATIN CAPITAL LETTER I WITH MACRON -012B Ä« LATIN SMALL LETTER I WITH MACRON -012C Ĭ LATIN CAPITAL LETTER I WITH BREVE -012D Ä­ LATIN SMALL LETTER I WITH BREVE -012E Ä® LATIN CAPITAL LETTER I WITH OGONEK -012F į LATIN SMALL LETTER I WITH OGONEK -0130 Ä° LATIN CAPITAL LETTER I WITH DOT ABOVE -0131 ı LATIN SMALL LETTER DOTLESS I -0132 IJ LATIN CAPITAL LIGATURE IJ -0133 ij LATIN SMALL LIGATURE IJ -0134 Ä´ LATIN CAPITAL LETTER J WITH CIRCUMFLEX -0135 ĵ LATIN SMALL LETTER J WITH CIRCUMFLEX -0136 Ķ LATIN CAPITAL LETTER K WITH CEDILLA -0137 Ä· LATIN SMALL LETTER K WITH CEDILLA -0138 ĸ LATIN SMALL LETTER KRA (Greenlandic) -0139 Ĺ LATIN CAPITAL LETTER L WITH ACUTE -013A ĺ LATIN SMALL LETTER L WITH ACUTE -013B Ä» LATIN CAPITAL LETTER L WITH CEDILLA -013C ļ LATIN SMALL LETTER L WITH CEDILLA -013D Ľ LATIN CAPITAL LETTER L WITH CARON -013E ľ LATIN SMALL LETTER L WITH CARON -013F Ä¿ LATIN CAPITAL LETTER L WITH MIDDLE DOT -0140 Å€ LATIN SMALL LETTER L WITH MIDDLE DOT -0141 Å LATIN CAPITAL LETTER L WITH STROKE -0142 Å‚ LATIN SMALL LETTER L WITH STROKE -0143 Ń LATIN CAPITAL LETTER N WITH ACUTE -0144 Å„ LATIN SMALL LETTER N WITH ACUTE -0145 Å… LATIN CAPITAL LETTER N WITH CEDILLA -0146 ņ LATIN SMALL LETTER N WITH CEDILLA -0147 Ň LATIN CAPITAL LETTER N WITH CARON -0148 ň LATIN SMALL LETTER N WITH CARON -0149 ʼn LATIN SMALL LETTER N PRECEDED BY APOSTROPHE -014A ÅŠ LATIN CAPITAL LETTER ENG (Sami) -014B Å‹ LATIN SMALL LETTER ENG (Sami) -014C ÅŒ LATIN CAPITAL LETTER O WITH MACRON -014D Å LATIN SMALL LETTER O WITH MACRON -014E ÅŽ LATIN CAPITAL LETTER O WITH BREVE -014F Å LATIN SMALL LETTER O WITH BREVE -0150 Å LATIN CAPITAL LETTER O WITH DOUBLE ACUTE -0151 Å‘ LATIN SMALL LETTER O WITH DOUBLE ACUTE -0152 Å’ LATIN CAPITAL LIGATURE OE -0153 Å“ LATIN SMALL LIGATURE OE -0154 Å” LATIN CAPITAL LETTER R WITH ACUTE -0155 Å• LATIN SMALL LETTER R WITH ACUTE -0156 Å– LATIN CAPITAL LETTER R WITH CEDILLA -0157 Å— LATIN SMALL LETTER R WITH CEDILLA -0158 Ř LATIN CAPITAL LETTER R WITH CARON -0159 Å™ LATIN SMALL LETTER R WITH CARON -015A Åš LATIN CAPITAL LETTER S WITH ACUTE -015B Å› LATIN SMALL LETTER S WITH ACUTE -015C Åœ LATIN CAPITAL LETTER S WITH CIRCUMFLEX -015D Å LATIN SMALL LETTER S WITH CIRCUMFLEX -015E Åž LATIN CAPITAL LETTER S WITH CEDILLA -015F ÅŸ LATIN SMALL LETTER S WITH CEDILLA -0160 Å  LATIN CAPITAL LETTER S WITH CARON -0161 Å¡ LATIN SMALL LETTER S WITH CARON -0162 Å¢ LATIN CAPITAL LETTER T WITH CEDILLA -0163 Å£ LATIN SMALL LETTER T WITH CEDILLA -0164 Ť LATIN CAPITAL LETTER T WITH CARON -0165 Å¥ LATIN SMALL LETTER T WITH CARON -0166 Ŧ LATIN CAPITAL LETTER T WITH STROKE -0167 ŧ LATIN SMALL LETTER T WITH STROKE -0168 Ũ LATIN CAPITAL LETTER U WITH TILDE -0169 Å© LATIN SMALL LETTER U WITH TILDE -016A Ū LATIN CAPITAL LETTER U WITH MACRON -016B Å« LATIN SMALL LETTER U WITH MACRON -016C Ŭ LATIN CAPITAL LETTER U WITH BREVE -016D Å­ LATIN SMALL LETTER U WITH BREVE -016E Å® LATIN CAPITAL LETTER U WITH RING ABOVE -016F ů LATIN SMALL LETTER U WITH RING ABOVE -0170 Å° LATIN CAPITAL LETTER U WITH DOUBLE ACUTE -0171 ű LATIN SMALL LETTER U WITH DOUBLE ACUTE -0172 Ų LATIN CAPITAL LETTER U WITH OGONEK -0173 ų LATIN SMALL LETTER U WITH OGONEK -0174 Å´ LATIN CAPITAL LETTER W WITH CIRCUMFLEX -0175 ŵ LATIN SMALL LETTER W WITH CIRCUMFLEX -0176 Ŷ LATIN CAPITAL LETTER Y WITH CIRCUMFLEX -0177 Å· LATIN SMALL LETTER Y WITH CIRCUMFLEX -0178 Ÿ LATIN CAPITAL LETTER Y WITH DIAERESIS -0179 Ź LATIN CAPITAL LETTER Z WITH ACUTE -017A ź LATIN SMALL LETTER Z WITH ACUTE -017B Å» LATIN CAPITAL LETTER Z WITH DOT ABOVE -017C ż LATIN SMALL LETTER Z WITH DOT ABOVE -017D Ž LATIN CAPITAL LETTER Z WITH CARON -017E ž LATIN SMALL LETTER Z WITH CARON -017F Å¿ LATIN SMALL LETTER LONG S -0180 Æ€ LATIN SMALL LETTER B WITH STROKE -0181 Æ LATIN CAPITAL LETTER B WITH HOOK -0182 Æ‚ LATIN CAPITAL LETTER B WITH TOPBAR -0183 ƃ LATIN SMALL LETTER B WITH TOPBAR -0184 Æ„ LATIN CAPITAL LETTER TONE SIX -0185 Æ… LATIN SMALL LETTER TONE SIX -0186 Ɔ LATIN CAPITAL LETTER OPEN O -0187 Ƈ LATIN CAPITAL LETTER C WITH HOOK -0188 ƈ LATIN SMALL LETTER C WITH HOOK -0189 Ɖ LATIN CAPITAL LETTER AFRICAN D -018A ÆŠ LATIN CAPITAL LETTER D WITH HOOK -018B Æ‹ LATIN CAPITAL LETTER D WITH TOPBAR -018C ÆŒ LATIN SMALL LETTER D WITH TOPBAR -018D Æ LATIN SMALL LETTER TURNED DELTA -018E ÆŽ LATIN CAPITAL LETTER REVERSED E -018F Æ LATIN CAPITAL LETTER SCHWA -0190 Æ LATIN CAPITAL LETTER OPEN E -0191 Æ‘ LATIN CAPITAL LETTER F WITH HOOK -0192 Æ’ LATIN SMALL LETTER F WITH HOOK -0193 Æ“ LATIN CAPITAL LETTER G WITH HOOK -0194 Æ” LATIN CAPITAL LETTER GAMMA -0195 Æ• LATIN SMALL LETTER HV -0196 Æ– LATIN CAPITAL LETTER IOTA -0197 Æ— LATIN CAPITAL LETTER I WITH STROKE -0198 Ƙ LATIN CAPITAL LETTER K WITH HOOK -0199 Æ™ LATIN SMALL LETTER K WITH HOOK -019A Æš LATIN SMALL LETTER L WITH BAR -019B Æ› LATIN SMALL LETTER LAMBDA WITH STROKE -019C Æœ LATIN CAPITAL LETTER TURNED M -019D Æ LATIN CAPITAL LETTER N WITH LEFT HOOK -019E Æž LATIN SMALL LETTER N WITH LONG RIGHT LEG -019F ÆŸ LATIN CAPITAL LETTER O WITH MIDDLE TILDE -01A0 Æ  LATIN CAPITAL LETTER O WITH HORN -01A1 Æ¡ LATIN SMALL LETTER O WITH HORN -01A2 Æ¢ LATIN CAPITAL LETTER OI -01A3 Æ£ LATIN SMALL LETTER OI -01A4 Ƥ LATIN CAPITAL LETTER P WITH HOOK -01A5 Æ¥ LATIN SMALL LETTER P WITH HOOK -01A6 Ʀ LATIN LETTER YR -01A7 Ƨ LATIN CAPITAL LETTER TONE TWO -01A8 ƨ LATIN SMALL LETTER TONE TWO -01A9 Æ© LATIN CAPITAL LETTER ESH -01AA ƪ LATIN LETTER REVERSED ESH LOOP -01AB Æ« LATIN SMALL LETTER T WITH PALATAL HOOK -01AC Ƭ LATIN CAPITAL LETTER T WITH HOOK -01AD Æ­ LATIN SMALL LETTER T WITH HOOK -01AE Æ® LATIN CAPITAL LETTER T WITH RETROFLEX HOOK -01AF Ư LATIN CAPITAL LETTER U WITH HORN -01B0 Æ° LATIN SMALL LETTER U WITH HORN -01B1 Ʊ LATIN CAPITAL LETTER UPSILON -01B2 Ʋ LATIN CAPITAL LETTER V WITH HOOK -01B3 Ƴ LATIN CAPITAL LETTER Y WITH HOOK -01B4 Æ´ LATIN SMALL LETTER Y WITH HOOK -01B5 Ƶ LATIN CAPITAL LETTER Z WITH STROKE -01B6 ƶ LATIN SMALL LETTER Z WITH STROKE -01B7 Æ· LATIN CAPITAL LETTER EZH -01B8 Ƹ LATIN CAPITAL LETTER EZH REVERSED -01B9 ƹ LATIN SMALL LETTER EZH REVERSED -01BA ƺ LATIN SMALL LETTER EZH WITH TAIL -01BB Æ» LATIN LETTER TWO WITH STROKE -01BC Ƽ LATIN CAPITAL LETTER TONE FIVE -01BD ƽ LATIN SMALL LETTER TONE FIVE -01BE ƾ LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE -01BF Æ¿ LATIN LETTER WYNN -01C0 Ç€ LATIN LETTER DENTAL CLICK -01C1 Ç LATIN LETTER LATERAL CLICK -01C2 Ç‚ LATIN LETTER ALVEOLAR CLICK -01C3 ǃ LATIN LETTER RETROFLEX CLICK -01C4 Ç„ LATIN CAPITAL LETTER DZ WITH CARON -01C5 Ç… LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON -01C6 dž LATIN SMALL LETTER DZ WITH CARON -01C7 LJ LATIN CAPITAL LETTER LJ -01C8 Lj LATIN CAPITAL LETTER L WITH SMALL LETTER J -01C9 lj LATIN SMALL LETTER LJ -01CA ÇŠ LATIN CAPITAL LETTER NJ -01CB Ç‹ LATIN CAPITAL LETTER N WITH SMALL LETTER J -01CC ÇŒ LATIN SMALL LETTER NJ -01CD Ç LATIN CAPITAL LETTER A WITH CARON -01CE ÇŽ LATIN SMALL LETTER A WITH CARON -01CF Ç LATIN CAPITAL LETTER I WITH CARON -01D0 Ç LATIN SMALL LETTER I WITH CARON -01D1 Ç‘ LATIN CAPITAL LETTER O WITH CARON -01D2 Ç’ LATIN SMALL LETTER O WITH CARON -01D3 Ç“ LATIN CAPITAL LETTER U WITH CARON -01D4 Ç” LATIN SMALL LETTER U WITH CARON -01D5 Ç• LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON -01D6 Ç– LATIN SMALL LETTER U WITH DIAERESIS AND MACRON -01D7 Ç— LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE -01D8 ǘ LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE -01D9 Ç™ LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON -01DA Çš LATIN SMALL LETTER U WITH DIAERESIS AND CARON -01DB Ç› LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE -01DC Çœ LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE -01DD Ç LATIN SMALL LETTER TURNED E -01DE Çž LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON -01DF ÇŸ LATIN SMALL LETTER A WITH DIAERESIS AND MACRON -01E0 Ç  LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON -01E1 Ç¡ LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON -01E2 Ç¢ LATIN CAPITAL LETTER AE WITH MACRON -01E3 Ç£ LATIN SMALL LETTER AE WITH MACRON -01E4 Ǥ LATIN CAPITAL LETTER G WITH STROKE -01E5 Ç¥ LATIN SMALL LETTER G WITH STROKE -01E6 Ǧ LATIN CAPITAL LETTER G WITH CARON -01E7 ǧ LATIN SMALL LETTER G WITH CARON -01E8 Ǩ LATIN CAPITAL LETTER K WITH CARON -01E9 Ç© LATIN SMALL LETTER K WITH CARON -01EA Ǫ LATIN CAPITAL LETTER O WITH OGONEK -01EB Ç« LATIN SMALL LETTER O WITH OGONEK -01EC Ǭ LATIN CAPITAL LETTER O WITH OGONEK AND MACRON -01ED Ç­ LATIN SMALL LETTER O WITH OGONEK AND MACRON -01EE Ç® LATIN CAPITAL LETTER EZH WITH CARON -01EF ǯ LATIN SMALL LETTER EZH WITH CARON -01F0 Ç° LATIN SMALL LETTER J WITH CARON -01F1 DZ LATIN CAPITAL LETTER DZ -01F2 Dz LATIN CAPITAL LETTER D WITH SMALL LETTER Z -01F3 dz LATIN SMALL LETTER DZ -01F4 Ç´ LATIN CAPITAL LETTER G WITH ACUTE -01F5 ǵ LATIN SMALL LETTER G WITH ACUTE -01FA Ǻ LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE -01FB Ç» LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE -01FC Ǽ LATIN CAPITAL LETTER AE WITH ACUTE -01FD ǽ LATIN SMALL LETTER AE WITH ACUTE -01FE Ǿ LATIN CAPITAL LETTER O WITH STROKE AND ACUTE -01FF Ç¿ LATIN SMALL LETTER O WITH STROKE AND ACUTE -0200 È€ LATIN CAPITAL LETTER A WITH DOUBLE GRAVE -0201 È LATIN SMALL LETTER A WITH DOUBLE GRAVE -0202 È‚ LATIN CAPITAL LETTER A WITH INVERTED BREVE -0203 ȃ LATIN SMALL LETTER A WITH INVERTED BREVE -0204 È„ LATIN CAPITAL LETTER E WITH DOUBLE GRAVE -0205 È… LATIN SMALL LETTER E WITH DOUBLE GRAVE -0206 Ȇ LATIN CAPITAL LETTER E WITH INVERTED BREVE -0207 ȇ LATIN SMALL LETTER E WITH INVERTED BREVE -0208 Ȉ LATIN CAPITAL LETTER I WITH DOUBLE GRAVE -0209 ȉ LATIN SMALL LETTER I WITH DOUBLE GRAVE -020A ÈŠ LATIN CAPITAL LETTER I WITH INVERTED BREVE -020B È‹ LATIN SMALL LETTER I WITH INVERTED BREVE -020C ÈŒ LATIN CAPITAL LETTER O WITH DOUBLE GRAVE -020D È LATIN SMALL LETTER O WITH DOUBLE GRAVE -020E ÈŽ LATIN CAPITAL LETTER O WITH INVERTED BREVE -020F È LATIN SMALL LETTER O WITH INVERTED BREVE -0210 È LATIN CAPITAL LETTER R WITH DOUBLE GRAVE -0211 È‘ LATIN SMALL LETTER R WITH DOUBLE GRAVE -0212 È’ LATIN CAPITAL LETTER R WITH INVERTED BREVE -0213 È“ LATIN SMALL LETTER R WITH INVERTED BREVE -0214 È” LATIN CAPITAL LETTER U WITH DOUBLE GRAVE -0215 È• LATIN SMALL LETTER U WITH DOUBLE GRAVE -0216 È– LATIN CAPITAL LETTER U WITH INVERTED BREVE -0217 È— LATIN SMALL LETTER U WITH INVERTED BREVE -0250 É LATIN SMALL LETTER TURNED A -0251 É‘ LATIN SMALL LETTER ALPHA -0252 É’ LATIN SMALL LETTER TURNED ALPHA -0253 É“ LATIN SMALL LETTER B WITH HOOK -0254 É” LATIN SMALL LETTER OPEN O -0255 É• LATIN SMALL LETTER C WITH CURL -0256 É– LATIN SMALL LETTER D WITH TAIL -0257 É— LATIN SMALL LETTER D WITH HOOK -0258 ɘ LATIN SMALL LETTER REVERSED E -0259 É™ LATIN SMALL LETTER SCHWA -025A Éš LATIN SMALL LETTER SCHWA WITH HOOK -025B É› LATIN SMALL LETTER OPEN E -025C Éœ LATIN SMALL LETTER REVERSED OPEN E -025D É LATIN SMALL LETTER REVERSED OPEN E WITH HOOK -025E Éž LATIN SMALL LETTER CLOSED REVERSED OPEN E -025F ÉŸ LATIN SMALL LETTER DOTLESS J WITH STROKE -0260 É  LATIN SMALL LETTER G WITH HOOK -0261 É¡ LATIN SMALL LETTER SCRIPT G -0262 É¢ LATIN LETTER SMALL CAPITAL G -0263 É£ LATIN SMALL LETTER GAMMA -0264 ɤ LATIN SMALL LETTER RAMS HORN -0265 É¥ LATIN SMALL LETTER TURNED H -0266 ɦ LATIN SMALL LETTER H WITH HOOK -0267 ɧ LATIN SMALL LETTER HENG WITH HOOK -0268 ɨ LATIN SMALL LETTER I WITH STROKE -0269 É© LATIN SMALL LETTER IOTA -026A ɪ LATIN LETTER SMALL CAPITAL I -026B É« LATIN SMALL LETTER L WITH MIDDLE TILDE -026C ɬ LATIN SMALL LETTER L WITH BELT -026D É­ LATIN SMALL LETTER L WITH RETROFLEX HOOK -026E É® LATIN SMALL LETTER LEZH -026F ɯ LATIN SMALL LETTER TURNED M -0270 É° LATIN SMALL LETTER TURNED M WITH LONG LEG -0271 ɱ LATIN SMALL LETTER M WITH HOOK -0272 ɲ LATIN SMALL LETTER N WITH LEFT HOOK -0273 ɳ LATIN SMALL LETTER N WITH RETROFLEX HOOK -0274 É´ LATIN LETTER SMALL CAPITAL N -0275 ɵ LATIN SMALL LETTER BARRED O -0276 ɶ LATIN LETTER SMALL CAPITAL OE -0277 É· LATIN SMALL LETTER CLOSED OMEGA -0278 ɸ LATIN SMALL LETTER PHI -0279 ɹ LATIN SMALL LETTER TURNED R -027A ɺ LATIN SMALL LETTER TURNED R WITH LONG LEG -027B É» LATIN SMALL LETTER TURNED R WITH HOOK -027C ɼ LATIN SMALL LETTER R WITH LONG LEG -027D ɽ LATIN SMALL LETTER R WITH TAIL -027E ɾ LATIN SMALL LETTER R WITH FISHHOOK -027F É¿ LATIN SMALL LETTER REVERSED R WITH FISHHOOK -0280 Ê€ LATIN LETTER SMALL CAPITAL R -0281 Ê LATIN LETTER SMALL CAPITAL INVERTED R -0282 Ê‚ LATIN SMALL LETTER S WITH HOOK -0283 ʃ LATIN SMALL LETTER ESH -0284 Ê„ LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK -0285 Ê… LATIN SMALL LETTER SQUAT REVERSED ESH -0286 ʆ LATIN SMALL LETTER ESH WITH CURL -0287 ʇ LATIN SMALL LETTER TURNED T -0288 ʈ LATIN SMALL LETTER T WITH RETROFLEX HOOK -0289 ʉ LATIN SMALL LETTER U BAR -028A ÊŠ LATIN SMALL LETTER UPSILON -028B Ê‹ LATIN SMALL LETTER V WITH HOOK -028C ÊŒ LATIN SMALL LETTER TURNED V -028D Ê LATIN SMALL LETTER TURNED W -028E ÊŽ LATIN SMALL LETTER TURNED Y -028F Ê LATIN LETTER SMALL CAPITAL Y -0290 Ê LATIN SMALL LETTER Z WITH RETROFLEX HOOK -0291 Ê‘ LATIN SMALL LETTER Z WITH CURL -0292 Ê’ LATIN SMALL LETTER EZH -0293 Ê“ LATIN SMALL LETTER EZH WITH CURL -0294 Ê” LATIN LETTER GLOTTAL STOP -0295 Ê• LATIN LETTER PHARYNGEAL VOICED FRICATIVE -0296 Ê– LATIN LETTER INVERTED GLOTTAL STOP -0297 Ê— LATIN LETTER STRETCHED C -0298 ʘ LATIN LETTER BILABIAL CLICK -0299 Ê™ LATIN LETTER SMALL CAPITAL B -029A Êš LATIN SMALL LETTER CLOSED OPEN E -029B Ê› LATIN LETTER SMALL CAPITAL G WITH HOOK -029C Êœ LATIN LETTER SMALL CAPITAL H -029D Ê LATIN SMALL LETTER J WITH CROSSED-TAIL -029E Êž LATIN SMALL LETTER TURNED K -029F ÊŸ LATIN LETTER SMALL CAPITAL L -02A0 Ê  LATIN SMALL LETTER Q WITH HOOK -02A1 Ê¡ LATIN LETTER GLOTTAL STOP WITH STROKE -02A2 Ê¢ LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE -02A3 Ê£ LATIN SMALL LETTER DZ DIGRAPH -02A4 ʤ LATIN SMALL LETTER DEZH DIGRAPH -02A5 Ê¥ LATIN SMALL LETTER DZ DIGRAPH WITH CURL -02A6 ʦ LATIN SMALL LETTER TS DIGRAPH -02A7 ʧ LATIN SMALL LETTER TESH DIGRAPH -02A8 ʨ LATIN SMALL LETTER TC DIGRAPH WITH CURL -02B0 Ê° MODIFIER LETTER SMALL H -02B1 ʱ MODIFIER LETTER SMALL H WITH HOOK -02B2 ʲ MODIFIER LETTER SMALL J -02B3 ʳ MODIFIER LETTER SMALL R -02B4 Ê´ MODIFIER LETTER SMALL TURNED R -02B5 ʵ MODIFIER LETTER SMALL TURNED R WITH HOOK -02B6 ʶ MODIFIER LETTER SMALL CAPITAL INVERTED R -02B7 Ê· MODIFIER LETTER SMALL W -02B8 ʸ MODIFIER LETTER SMALL Y -02B9 ʹ MODIFIER LETTER PRIME -02BA ʺ MODIFIER LETTER DOUBLE PRIME -02BB Ê» MODIFIER LETTER TURNED COMMA -02BC ʼ MODIFIER LETTER APOSTROPHE -02BD ʽ MODIFIER LETTER REVERSED COMMA -02BE ʾ MODIFIER LETTER RIGHT HALF RING -02BF Ê¿ MODIFIER LETTER LEFT HALF RING -02C0 Ë€ MODIFIER LETTER GLOTTAL STOP -02C1 Ë MODIFIER LETTER REVERSED GLOTTAL STOP -02C2 Ë‚ MODIFIER LETTER LEFT ARROWHEAD -02C3 ˃ MODIFIER LETTER RIGHT ARROWHEAD -02C4 Ë„ MODIFIER LETTER UP ARROWHEAD -02C5 Ë… MODIFIER LETTER DOWN ARROWHEAD -02C6 ˆ MODIFIER LETTER CIRCUMFLEX ACCENT -02C7 ˇ CARON (Mandarin Chinese third tone) -02C8 ˈ MODIFIER LETTER VERTICAL LINE -02C9 ˉ MODIFIER LETTER MACRON (Mandarin Chinese first tone) -02CA ËŠ MODIFIER LETTER ACUTE ACCENT (Mandarin Chinese second tone) -02CB Ë‹ MODIFIER LETTER GRAVE ACCENT (Mandarin Chinese fourth tone) -02CC ËŒ MODIFIER LETTER LOW VERTICAL LINE -02CD Ë MODIFIER LETTER LOW MACRON -02CE ËŽ MODIFIER LETTER LOW GRAVE ACCENT -02CF Ë MODIFIER LETTER LOW ACUTE ACCENT -02D0 Ë MODIFIER LETTER TRIANGULAR COLON -02D1 Ë‘ MODIFIER LETTER HALF TRIANGULAR COLON -02D2 Ë’ MODIFIER LETTER CENTRED RIGHT HALF RING -02D3 Ë“ MODIFIER LETTER CENTRED LEFT HALF RING -02D4 Ë” MODIFIER LETTER UP TACK -02D5 Ë• MODIFIER LETTER DOWN TACK -02D6 Ë– MODIFIER LETTER PLUS SIGN -02D7 Ë— MODIFIER LETTER MINUS SIGN -02D8 ˘ BREVE -02D9 Ë™ DOT ABOVE (Mandarin Chinese light tone) -02DA Ëš RING ABOVE -02DB Ë› OGONEK -02DC Ëœ SMALL TILDE -02DD Ë DOUBLE ACUTE ACCENT -02DE Ëž MODIFIER LETTER RHOTIC HOOK -02E0 Ë  MODIFIER LETTER SMALL GAMMA -02E1 Ë¡ MODIFIER LETTER SMALL L -02E2 Ë¢ MODIFIER LETTER SMALL S -02E3 Ë£ MODIFIER LETTER SMALL X -02E4 ˤ MODIFIER LETTER SMALL REVERSED GLOTTAL STOP -02E5 Ë¥ MODIFIER LETTER EXTRA-HIGH TONE BAR -02E6 ˦ MODIFIER LETTER HIGH TONE BAR -02E7 ˧ MODIFIER LETTER MID TONE BAR -02E8 ˨ MODIFIER LETTER LOW TONE BAR -02E9 Ë© MODIFIER LETTER EXTRA-LOW TONE BAR -0300 Ì€ COMBINING GRAVE ACCENT (Varia) -0301 Ì COMBINING ACUTE ACCENT (Oxia) -0302 Ì‚ COMBINING CIRCUMFLEX ACCENT -0303 ̃ COMBINING TILDE -0304 Ì„ COMBINING MACRON -0305 Ì… COMBINING OVERLINE -0306 ̆ COMBINING BREVE (Vrachy) -0307 ̇ COMBINING DOT ABOVE -0308 ̈ COMBINING DIAERESIS (Dialytika) -0309 ̉ COMBINING HOOK ABOVE -030A ÌŠ COMBINING RING ABOVE -030B Ì‹ COMBINING DOUBLE ACUTE ACCENT -030C ÌŒ COMBINING CARON -030D Ì COMBINING VERTICAL LINE ABOVE (Tonos) -030E ÌŽ COMBINING DOUBLE VERTICAL LINE ABOVE -030F Ì COMBINING DOUBLE GRAVE ACCENT -0310 Ì COMBINING CANDRABINDU -0311 Ì‘ COMBINING INVERTED BREVE -0312 Ì’ COMBINING TURNED COMMA ABOVE -0313 Ì“ COMBINING COMMA ABOVE (Psili) -0314 Ì” COMBINING REVERSED COMMA ABOVE (Dasia) -0315 Ì• COMBINING COMMA ABOVE RIGHT -0316 Ì– COMBINING GRAVE ACCENT BELOW -0317 Ì— COMBINING ACUTE ACCENT BELOW -0318 ̘ COMBINING LEFT TACK BELOW -0319 Ì™ COMBINING RIGHT TACK BELOW -031A Ìš COMBINING LEFT ANGLE ABOVE -031B Ì› COMBINING HORN -031C Ìœ COMBINING LEFT HALF RING BELOW -031D Ì COMBINING UP TACK BELOW -031E Ìž COMBINING DOWN TACK BELOW -031F ÌŸ COMBINING PLUS SIGN BELOW -0320 Ì  COMBINING MINUS SIGN BELOW -0321 Ì¡ COMBINING PALATALIZED HOOK BELOW -0322 Ì¢ COMBINING RETROFLEX HOOK BELOW -0323 Ì£ COMBINING DOT BELOW -0324 ̤ COMBINING DIAERESIS BELOW -0325 Ì¥ COMBINING RING BELOW -0326 ̦ COMBINING COMMA BELOW -0327 ̧ COMBINING CEDILLA -0328 ̨ COMBINING OGONEK -0329 Ì© COMBINING VERTICAL LINE BELOW -032A ̪ COMBINING BRIDGE BELOW -032B Ì« COMBINING INVERTED DOUBLE ARCH BELOW -032C ̬ COMBINING CARON BELOW -032D Ì­ COMBINING CIRCUMFLEX ACCENT BELOW -032E Ì® COMBINING BREVE BELOW -032F ̯ COMBINING INVERTED BREVE BELOW -0330 Ì° COMBINING TILDE BELOW -0331 ̱ COMBINING MACRON BELOW -0332 ̲ COMBINING LOW LINE -0333 ̳ COMBINING DOUBLE LOW LINE -0334 Ì´ COMBINING TILDE OVERLAY -0335 ̵ COMBINING SHORT STROKE OVERLAY -0336 ̶ COMBINING LONG STROKE OVERLAY -0337 Ì· COMBINING SHORT SOLIDUS OVERLAY -0338 ̸ COMBINING LONG SOLIDUS OVERLAY -0339 ̹ COMBINING RIGHT HALF RING BELOW -033A ̺ COMBINING INVERTED BRIDGE BELOW -033B Ì» COMBINING SQUARE BELOW -033C ̼ COMBINING SEAGULL BELOW -033D ̽ COMBINING X ABOVE -033E ̾ COMBINING VERTICAL TILDE -033F Ì¿ COMBINING DOUBLE OVERLINE -0340 Í€ COMBINING GRAVE TONE MARK (Vietnamese) -0341 Í COMBINING ACUTE TONE MARK (Vietnamese) -0342 Í‚ COMBINING GREEK PERISPOMENI -0343 ̓ COMBINING GREEK KORONIS -0344 Í„ COMBINING GREEK DIALYTIKA TONOS -0345 Í… COMBINING GREEK YPOGEGRAMMENI -0360 Í  COMBINING DOUBLE TILDE -0361 Í¡ COMBINING DOUBLE INVERTED BREVE -0374 Í´ GREEK NUMERAL SIGN (Dexia keraia) -0375 ͵ GREEK LOWER NUMERAL SIGN (Aristeri keraia) -037A ͺ GREEK YPOGEGRAMMENI -037E ; GREEK QUESTION MARK (Erotimatiko) -0384 ΄ GREEK TONOS -0385 Î… GREEK DIALYTIKA TONOS -0386 Ά GREEK CAPITAL LETTER ALPHA WITH TONOS -0387 · GREEK ANO TELEIA -0388 Έ GREEK CAPITAL LETTER EPSILON WITH TONOS -0389 Ή GREEK CAPITAL LETTER ETA WITH TONOS -038A Ί GREEK CAPITAL LETTER IOTA WITH TONOS -038C ÎŒ GREEK CAPITAL LETTER OMICRON WITH TONOS -038E ÎŽ GREEK CAPITAL LETTER UPSILON WITH TONOS -038F Î GREEK CAPITAL LETTER OMEGA WITH TONOS -0390 Î GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS -0391 Α GREEK CAPITAL LETTER ALPHA -0392 Î’ GREEK CAPITAL LETTER BETA -0393 Γ GREEK CAPITAL LETTER GAMMA -0394 Δ GREEK CAPITAL LETTER DELTA -0395 Ε GREEK CAPITAL LETTER EPSILON -0396 Ζ GREEK CAPITAL LETTER ZETA -0397 Η GREEK CAPITAL LETTER ETA -0398 Θ GREEK CAPITAL LETTER THETA -0399 Ι GREEK CAPITAL LETTER IOTA -039A Κ GREEK CAPITAL LETTER KAPPA -039B Λ GREEK CAPITAL LETTER LAMDA -039C Îœ GREEK CAPITAL LETTER MU -039D Î GREEK CAPITAL LETTER NU -039E Ξ GREEK CAPITAL LETTER XI -039F Ο GREEK CAPITAL LETTER OMICRON -03A0 Π GREEK CAPITAL LETTER PI -03A1 Ρ GREEK CAPITAL LETTER RHO -03A3 Σ GREEK CAPITAL LETTER SIGMA -03A4 Τ GREEK CAPITAL LETTER TAU -03A5 Î¥ GREEK CAPITAL LETTER UPSILON -03A6 Φ GREEK CAPITAL LETTER PHI -03A7 Χ GREEK CAPITAL LETTER CHI -03A8 Ψ GREEK CAPITAL LETTER PSI -03A9 Ω GREEK CAPITAL LETTER OMEGA -03AA Ϊ GREEK CAPITAL LETTER IOTA WITH DIALYTIKA -03AB Ϋ GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA -03AC ά GREEK SMALL LETTER ALPHA WITH TONOS -03AD έ GREEK SMALL LETTER EPSILON WITH TONOS -03AE ή GREEK SMALL LETTER ETA WITH TONOS -03AF ί GREEK SMALL LETTER IOTA WITH TONOS -03B0 ΰ GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS -03B1 α GREEK SMALL LETTER ALPHA -03B2 β GREEK SMALL LETTER BETA -03B3 γ GREEK SMALL LETTER GAMMA -03B4 δ GREEK SMALL LETTER DELTA -03B5 ε GREEK SMALL LETTER EPSILON -03B6 ζ GREEK SMALL LETTER ZETA -03B7 η GREEK SMALL LETTER ETA -03B8 θ GREEK SMALL LETTER THETA -03B9 ι GREEK SMALL LETTER IOTA -03BA κ GREEK SMALL LETTER KAPPA -03BB λ GREEK SMALL LETTER LAMDA -03BC μ GREEK SMALL LETTER MU -03BD ν GREEK SMALL LETTER NU -03BE ξ GREEK SMALL LETTER XI -03BF ο GREEK SMALL LETTER OMICRON -03C0 Ï€ GREEK SMALL LETTER PI -03C1 Ï GREEK SMALL LETTER RHO -03C2 Ï‚ GREEK SMALL LETTER FINAL SIGMA -03C3 σ GREEK SMALL LETTER SIGMA -03C4 Ï„ GREEK SMALL LETTER TAU -03C5 Ï… GREEK SMALL LETTER UPSILON -03C6 φ GREEK SMALL LETTER PHI -03C7 χ GREEK SMALL LETTER CHI -03C8 ψ GREEK SMALL LETTER PSI -03C9 ω GREEK SMALL LETTER OMEGA -03CA ÏŠ GREEK SMALL LETTER IOTA WITH DIALYTIKA -03CB Ï‹ GREEK SMALL LETTER UPSILON WITH DIALYTIKA -03CC ÏŒ GREEK SMALL LETTER OMICRON WITH TONOS -03CD Ï GREEK SMALL LETTER UPSILON WITH TONOS -03CE ÏŽ GREEK SMALL LETTER OMEGA WITH TONOS -03D0 Ï GREEK BETA SYMBOL -03D1 Ï‘ GREEK THETA SYMBOL -03D2 Ï’ GREEK UPSILON WITH HOOK SYMBOL -03D3 Ï“ GREEK UPSILON WITH ACUTE AND HOOK SYMBOL -03D4 Ï” GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL -03D5 Ï• GREEK PHI SYMBOL -03D6 Ï– GREEK PI SYMBOL -03DA Ïš GREEK LETTER STIGMA -03DC Ïœ GREEK LETTER DIGAMMA -03DE Ïž GREEK LETTER KOPPA -03E0 Ï  GREEK LETTER SAMPI -03E2 Ï¢ COPTIC CAPITAL LETTER SHEI -03E3 Ï£ COPTIC SMALL LETTER SHEI -03E4 Ϥ COPTIC CAPITAL LETTER FEI -03E5 Ï¥ COPTIC SMALL LETTER FEI -03E6 Ϧ COPTIC CAPITAL LETTER KHEI -03E7 ϧ COPTIC SMALL LETTER KHEI -03E8 Ϩ COPTIC CAPITAL LETTER HORI -03E9 Ï© COPTIC SMALL LETTER HORI -03EA Ϫ COPTIC CAPITAL LETTER GANGIA -03EB Ï« COPTIC SMALL LETTER GANGIA -03EC Ϭ COPTIC CAPITAL LETTER SHIMA -03ED Ï­ COPTIC SMALL LETTER SHIMA -03EE Ï® COPTIC CAPITAL LETTER DEI -03EF ϯ COPTIC SMALL LETTER DEI -03F0 Ï° GREEK KAPPA SYMBOL -03F1 ϱ GREEK RHO SYMBOL -03F2 ϲ GREEK LUNATE SIGMA SYMBOL -03F3 ϳ GREEK LETTER YOT -0401 Ð CYRILLIC CAPITAL LETTER IO -0402 Ђ CYRILLIC CAPITAL LETTER DJE (Serbocroatian) -0403 Ѓ CYRILLIC CAPITAL LETTER GJE -0404 Є CYRILLIC CAPITAL LETTER UKRAINIAN IE -0405 Ð… CYRILLIC CAPITAL LETTER DZE -0406 І CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I -0407 Ї CYRILLIC CAPITAL LETTER YI (Ukrainian) -0408 Ј CYRILLIC CAPITAL LETTER JE -0409 Љ CYRILLIC CAPITAL LETTER LJE -040A Њ CYRILLIC CAPITAL LETTER NJE -040B Ћ CYRILLIC CAPITAL LETTER TSHE (Serbocroatian) -040C ÐŒ CYRILLIC CAPITAL LETTER KJE -040E ÐŽ CYRILLIC CAPITAL LETTER SHORT U (Byelorussian) -040F Ð CYRILLIC CAPITAL LETTER DZHE -0410 Ð CYRILLIC CAPITAL LETTER A -0411 Б CYRILLIC CAPITAL LETTER BE -0412 Ð’ CYRILLIC CAPITAL LETTER VE -0413 Г CYRILLIC CAPITAL LETTER GHE -0414 Д CYRILLIC CAPITAL LETTER DE -0415 Е CYRILLIC CAPITAL LETTER IE -0416 Ж CYRILLIC CAPITAL LETTER ZHE -0417 З CYRILLIC CAPITAL LETTER ZE -0418 И CYRILLIC CAPITAL LETTER I -0419 Й CYRILLIC CAPITAL LETTER SHORT I -041A К CYRILLIC CAPITAL LETTER KA -041B Л CYRILLIC CAPITAL LETTER EL -041C Ðœ CYRILLIC CAPITAL LETTER EM -041D Ð CYRILLIC CAPITAL LETTER EN -041E О CYRILLIC CAPITAL LETTER O -041F П CYRILLIC CAPITAL LETTER PE -0420 Р CYRILLIC CAPITAL LETTER ER -0421 С CYRILLIC CAPITAL LETTER ES -0422 Т CYRILLIC CAPITAL LETTER TE -0423 У CYRILLIC CAPITAL LETTER U -0424 Ф CYRILLIC CAPITAL LETTER EF -0425 Ð¥ CYRILLIC CAPITAL LETTER HA -0426 Ц CYRILLIC CAPITAL LETTER TSE -0427 Ч CYRILLIC CAPITAL LETTER CHE -0428 Ш CYRILLIC CAPITAL LETTER SHA -0429 Щ CYRILLIC CAPITAL LETTER SHCHA -042A Ъ CYRILLIC CAPITAL LETTER HARD SIGN -042B Ы CYRILLIC CAPITAL LETTER YERU -042C Ь CYRILLIC CAPITAL LETTER SOFT SIGN -042D Э CYRILLIC CAPITAL LETTER E -042E Ю CYRILLIC CAPITAL LETTER YU -042F Я CYRILLIC CAPITAL LETTER YA -0430 а CYRILLIC SMALL LETTER A -0431 б CYRILLIC SMALL LETTER BE -0432 в CYRILLIC SMALL LETTER VE -0433 г CYRILLIC SMALL LETTER GHE -0434 д CYRILLIC SMALL LETTER DE -0435 е CYRILLIC SMALL LETTER IE -0436 ж CYRILLIC SMALL LETTER ZHE -0437 з CYRILLIC SMALL LETTER ZE -0438 и CYRILLIC SMALL LETTER I -0439 й CYRILLIC SMALL LETTER SHORT I -043A к CYRILLIC SMALL LETTER KA -043B л CYRILLIC SMALL LETTER EL -043C м CYRILLIC SMALL LETTER EM -043D н CYRILLIC SMALL LETTER EN -043E о CYRILLIC SMALL LETTER O -043F п CYRILLIC SMALL LETTER PE -0440 Ñ€ CYRILLIC SMALL LETTER ER -0441 Ñ CYRILLIC SMALL LETTER ES -0442 Ñ‚ CYRILLIC SMALL LETTER TE -0443 у CYRILLIC SMALL LETTER U -0444 Ñ„ CYRILLIC SMALL LETTER EF -0445 Ñ… CYRILLIC SMALL LETTER HA -0446 ц CYRILLIC SMALL LETTER TSE -0447 ч CYRILLIC SMALL LETTER CHE -0448 ш CYRILLIC SMALL LETTER SHA -0449 щ CYRILLIC SMALL LETTER SHCHA -044A ÑŠ CYRILLIC SMALL LETTER HARD SIGN -044B Ñ‹ CYRILLIC SMALL LETTER YERU -044C ÑŒ CYRILLIC SMALL LETTER SOFT SIGN -044D Ñ CYRILLIC SMALL LETTER E -044E ÑŽ CYRILLIC SMALL LETTER YU -044F Ñ CYRILLIC SMALL LETTER YA -0451 Ñ‘ CYRILLIC SMALL LETTER IO -0452 Ñ’ CYRILLIC SMALL LETTER DJE (Serbocroatian) -0453 Ñ“ CYRILLIC SMALL LETTER GJE -0454 Ñ” CYRILLIC SMALL LETTER UKRAINIAN IE -0455 Ñ• CYRILLIC SMALL LETTER DZE -0456 Ñ– CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -0457 Ñ— CYRILLIC SMALL LETTER YI (Ukrainian) -0458 ј CYRILLIC SMALL LETTER JE -0459 Ñ™ CYRILLIC SMALL LETTER LJE -045A Ñš CYRILLIC SMALL LETTER NJE -045B Ñ› CYRILLIC SMALL LETTER TSHE (Serbocroatian) -045C Ñœ CYRILLIC SMALL LETTER KJE -045E Ñž CYRILLIC SMALL LETTER SHORT U (Byelorussian) -045F ÑŸ CYRILLIC SMALL LETTER DZHE -0460 Ñ  CYRILLIC CAPITAL LETTER OMEGA -0461 Ñ¡ CYRILLIC SMALL LETTER OMEGA -0462 Ñ¢ CYRILLIC CAPITAL LETTER YAT -0463 Ñ£ CYRILLIC SMALL LETTER YAT -0464 Ѥ CYRILLIC CAPITAL LETTER IOTIFIED E -0465 Ñ¥ CYRILLIC SMALL LETTER IOTIFIED E -0466 Ѧ CYRILLIC CAPITAL LETTER LITTLE YUS -0467 ѧ CYRILLIC SMALL LETTER LITTLE YUS -0468 Ѩ CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS -0469 Ñ© CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS -046A Ѫ CYRILLIC CAPITAL LETTER BIG YUS -046B Ñ« CYRILLIC SMALL LETTER BIG YUS -046C Ѭ CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS -046D Ñ­ CYRILLIC SMALL LETTER IOTIFIED BIG YUS -046E Ñ® CYRILLIC CAPITAL LETTER KSI -046F ѯ CYRILLIC SMALL LETTER KSI -0470 Ñ° CYRILLIC CAPITAL LETTER PSI -0471 ѱ CYRILLIC SMALL LETTER PSI -0472 Ѳ CYRILLIC CAPITAL LETTER FITA -0473 ѳ CYRILLIC SMALL LETTER FITA -0474 Ñ´ CYRILLIC CAPITAL LETTER IZHITSA -0475 ѵ CYRILLIC SMALL LETTER IZHITSA -0476 Ѷ CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT -0477 Ñ· CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT -0478 Ѹ CYRILLIC CAPITAL LETTER UK -0479 ѹ CYRILLIC SMALL LETTER UK -047A Ѻ CYRILLIC CAPITAL LETTER ROUND OMEGA -047B Ñ» CYRILLIC SMALL LETTER ROUND OMEGA -047C Ѽ CYRILLIC CAPITAL LETTER OMEGA WITH TITLO -047D ѽ CYRILLIC SMALL LETTER OMEGA WITH TITLO -047E Ѿ CYRILLIC CAPITAL LETTER OT -047F Ñ¿ CYRILLIC SMALL LETTER OT -0480 Ò€ CYRILLIC CAPITAL LETTER KOPPA -0481 Ò CYRILLIC SMALL LETTER KOPPA -0482 Ò‚ CYRILLIC THOUSANDS SIGN -0483 Òƒ COMBINING CYRILLIC TITLO -0484 Ò„ COMBINING CYRILLIC PALATALIZATION -0485 Ò… COMBINING CYRILLIC DASIA PNEUMATA -0486 Ò† COMBINING CYRILLIC PSILI PNEUMATA -0490 Ò CYRILLIC CAPITAL LETTER GHE WITH UPTURN -0491 Ò‘ CYRILLIC SMALL LETTER GHE WITH UPTURN -0492 Ò’ CYRILLIC CAPITAL LETTER GHE WITH STROKE -0493 Ò“ CYRILLIC SMALL LETTER GHE WITH STROKE -0494 Ò” CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK -0495 Ò• CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK -0496 Ò– CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER -0497 Ò— CYRILLIC SMALL LETTER ZHE WITH DESCENDER -0498 Ò˜ CYRILLIC CAPITAL LETTER ZE WITH DESCENDER -0499 Ò™ CYRILLIC SMALL LETTER ZE WITH DESCENDER -049A Òš CYRILLIC CAPITAL LETTER KA WITH DESCENDER -049B Ò› CYRILLIC SMALL LETTER KA WITH DESCENDER -049C Òœ CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE -049D Ò CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE -049E Òž CYRILLIC CAPITAL LETTER KA WITH STROKE -049F ÒŸ CYRILLIC SMALL LETTER KA WITH STROKE -04A0 Ò  CYRILLIC CAPITAL LETTER BASHKIR KA -04A1 Ò¡ CYRILLIC SMALL LETTER BASHKIR KA -04A2 Ò¢ CYRILLIC CAPITAL LETTER EN WITH DESCENDER -04A3 Ò£ CYRILLIC SMALL LETTER EN WITH DESCENDER -04A4 Ò¤ CYRILLIC CAPITAL LIGATURE EN GHE -04A5 Ò¥ CYRILLIC SMALL LIGATURE EN GHE -04A6 Ò¦ CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK (Abkhasian) -04A7 Ò§ CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK (Abkhasian) -04A8 Ò¨ CYRILLIC CAPITAL LETTER ABKHASIAN HA -04A9 Ò© CYRILLIC SMALL LETTER ABKHASIAN HA -04AA Òª CYRILLIC CAPITAL LETTER ES WITH DESCENDER -04AB Ò« CYRILLIC SMALL LETTER ES WITH DESCENDER -04AC Ò¬ CYRILLIC CAPITAL LETTER TE WITH DESCENDER -04AD Ò­ CYRILLIC SMALL LETTER TE WITH DESCENDER -04AE Ò® CYRILLIC CAPITAL LETTER STRAIGHT U -04AF Ò¯ CYRILLIC SMALL LETTER STRAIGHT U -04B0 Ò° CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE -04B1 Ò± CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE -04B2 Ò² CYRILLIC CAPITAL LETTER HA WITH DESCENDER -04B3 Ò³ CYRILLIC SMALL LETTER HA WITH DESCENDER -04B4 Ò´ CYRILLIC CAPITAL LIGATURE TE TSE (Abkhasian) -04B5 Òµ CYRILLIC SMALL LIGATURE TE TSE (Abkhasian) -04B6 Ò¶ CYRILLIC CAPITAL LETTER CHE WITH DESCENDER -04B7 Ò· CYRILLIC SMALL LETTER CHE WITH DESCENDER -04B8 Ò¸ CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE -04B9 Ò¹ CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE -04BA Òº CYRILLIC CAPITAL LETTER SHHA -04BB Ò» CYRILLIC SMALL LETTER SHHA -04BC Ò¼ CYRILLIC CAPITAL LETTER ABKHASIAN CHE -04BD Ò½ CYRILLIC SMALL LETTER ABKHASIAN CHE -04BE Ò¾ CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER -04BF Ò¿ CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER -04C0 Ó€ CYRILLIC LETTER PALOCHKA -04C1 Ó CYRILLIC CAPITAL LETTER ZHE WITH BREVE -04C2 Ó‚ CYRILLIC SMALL LETTER ZHE WITH BREVE -04C3 Óƒ CYRILLIC CAPITAL LETTER KA WITH HOOK -04C4 Ó„ CYRILLIC SMALL LETTER KA WITH HOOK -04C7 Ó‡ CYRILLIC CAPITAL LETTER EN WITH HOOK -04C8 Óˆ CYRILLIC SMALL LETTER EN WITH HOOK -04CB Ó‹ CYRILLIC CAPITAL LETTER KHAKASSIAN CHE -04CC ÓŒ CYRILLIC SMALL LETTER KHAKASSIAN CHE -04D0 Ó CYRILLIC CAPITAL LETTER A WITH BREVE -04D1 Ó‘ CYRILLIC SMALL LETTER A WITH BREVE -04D2 Ó’ CYRILLIC CAPITAL LETTER A WITH DIAERESIS -04D3 Ó“ CYRILLIC SMALL LETTER A WITH DIAERESIS -04D4 Ó” CYRILLIC CAPITAL LIGATURE A IE -04D5 Ó• CYRILLIC SMALL LIGATURE A IE -04D6 Ó– CYRILLIC CAPITAL LETTER IE WITH BREVE -04D7 Ó— CYRILLIC SMALL LETTER IE WITH BREVE -04D8 Ó˜ CYRILLIC CAPITAL LETTER SCHWA -04D9 Ó™ CYRILLIC SMALL LETTER SCHWA -04DA Óš CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS -04DB Ó› CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS -04DC Óœ CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS -04DD Ó CYRILLIC SMALL LETTER ZHE WITH DIAERESIS -04DE Óž CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS -04DF ÓŸ CYRILLIC SMALL LETTER ZE WITH DIAERESIS -04E0 Ó  CYRILLIC CAPITAL LETTER ABKHASIAN DZE -04E1 Ó¡ CYRILLIC SMALL LETTER ABKHASIAN DZE -04E2 Ó¢ CYRILLIC CAPITAL LETTER I WITH MACRON -04E3 Ó£ CYRILLIC SMALL LETTER I WITH MACRON -04E4 Ó¤ CYRILLIC CAPITAL LETTER I WITH DIAERESIS -04E5 Ó¥ CYRILLIC SMALL LETTER I WITH DIAERESIS -04E6 Ó¦ CYRILLIC CAPITAL LETTER O WITH DIAERESIS -04E7 Ó§ CYRILLIC SMALL LETTER O WITH DIAERESIS -04E8 Ó¨ CYRILLIC CAPITAL LETTER BARRED O -04E9 Ó© CYRILLIC SMALL LETTER BARRED O -04EA Óª CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS -04EB Ó« CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS -04EE Ó® CYRILLIC CAPITAL LETTER U WITH MACRON -04EF Ó¯ CYRILLIC SMALL LETTER U WITH MACRON -04F0 Ó° CYRILLIC CAPITAL LETTER U WITH DIAERESIS -04F1 Ó± CYRILLIC SMALL LETTER U WITH DIAERESIS -04F2 Ó² CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE -04F3 Ó³ CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE -04F4 Ó´ CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS -04F5 Óµ CYRILLIC SMALL LETTER CHE WITH DIAERESIS -04F8 Ó¸ CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS -04F9 Ó¹ CYRILLIC SMALL LETTER YERU WITH DIAERESIS -0531 Ô± ARMENIAN CAPITAL LETTER AYB -0532 Ô² ARMENIAN CAPITAL LETTER BEN -0533 Ô³ ARMENIAN CAPITAL LETTER GIM -0534 Ô´ ARMENIAN CAPITAL LETTER DA -0535 Ôµ ARMENIAN CAPITAL LETTER ECH -0536 Ô¶ ARMENIAN CAPITAL LETTER ZA -0537 Ô· ARMENIAN CAPITAL LETTER EH -0538 Ô¸ ARMENIAN CAPITAL LETTER ET -0539 Ô¹ ARMENIAN CAPITAL LETTER TO -053A Ôº ARMENIAN CAPITAL LETTER ZHE -053B Ô» ARMENIAN CAPITAL LETTER INI -053C Ô¼ ARMENIAN CAPITAL LETTER LIWN -053D Ô½ ARMENIAN CAPITAL LETTER XEH -053E Ô¾ ARMENIAN CAPITAL LETTER CA -053F Ô¿ ARMENIAN CAPITAL LETTER KEN -0540 Õ€ ARMENIAN CAPITAL LETTER HO -0541 Õ ARMENIAN CAPITAL LETTER JA -0542 Õ‚ ARMENIAN CAPITAL LETTER GHAD -0543 Õƒ ARMENIAN CAPITAL LETTER CHEH -0544 Õ„ ARMENIAN CAPITAL LETTER MEN -0545 Õ… ARMENIAN CAPITAL LETTER YI -0546 Õ† ARMENIAN CAPITAL LETTER NOW -0547 Õ‡ ARMENIAN CAPITAL LETTER SHA -0548 Õˆ ARMENIAN CAPITAL LETTER VO -0549 Õ‰ ARMENIAN CAPITAL LETTER CHA -054A ÕŠ ARMENIAN CAPITAL LETTER PEH -054B Õ‹ ARMENIAN CAPITAL LETTER JHEH -054C ÕŒ ARMENIAN CAPITAL LETTER RA -054D Õ ARMENIAN CAPITAL LETTER SEH -054E ÕŽ ARMENIAN CAPITAL LETTER VEW -054F Õ ARMENIAN CAPITAL LETTER TIWN -0550 Õ ARMENIAN CAPITAL LETTER REH -0551 Õ‘ ARMENIAN CAPITAL LETTER CO -0552 Õ’ ARMENIAN CAPITAL LETTER YIWN -0553 Õ“ ARMENIAN CAPITAL LETTER PIWR -0554 Õ” ARMENIAN CAPITAL LETTER KEH -0555 Õ• ARMENIAN CAPITAL LETTER OH -0556 Õ– ARMENIAN CAPITAL LETTER FEH -0559 Õ™ ARMENIAN MODIFIER LETTER LEFT HALF RING -055A Õš ARMENIAN APOSTROPHE -055B Õ› ARMENIAN EMPHASIS MARK -055C Õœ ARMENIAN EXCLAMATION MARK -055D Õ ARMENIAN COMMA -055E Õž ARMENIAN QUESTION MARK -055F ÕŸ ARMENIAN ABBREVIATION MARK -0561 Õ¡ ARMENIAN SMALL LETTER AYB -0562 Õ¢ ARMENIAN SMALL LETTER BEN -0563 Õ£ ARMENIAN SMALL LETTER GIM -0564 Õ¤ ARMENIAN SMALL LETTER DA -0565 Õ¥ ARMENIAN SMALL LETTER ECH -0566 Õ¦ ARMENIAN SMALL LETTER ZA -0567 Õ§ ARMENIAN SMALL LETTER EH -0568 Õ¨ ARMENIAN SMALL LETTER ET -0569 Õ© ARMENIAN SMALL LETTER TO -056A Õª ARMENIAN SMALL LETTER ZHE -056B Õ« ARMENIAN SMALL LETTER INI -056C Õ¬ ARMENIAN SMALL LETTER LIWN -056D Õ­ ARMENIAN SMALL LETTER XEH -056E Õ® ARMENIAN SMALL LETTER CA -056F Õ¯ ARMENIAN SMALL LETTER KEN -0570 Õ° ARMENIAN SMALL LETTER HO -0571 Õ± ARMENIAN SMALL LETTER JA -0572 Õ² ARMENIAN SMALL LETTER GHAD -0573 Õ³ ARMENIAN SMALL LETTER CHEH -0574 Õ´ ARMENIAN SMALL LETTER MEN -0575 Õµ ARMENIAN SMALL LETTER YI -0576 Õ¶ ARMENIAN SMALL LETTER NOW -0577 Õ· ARMENIAN SMALL LETTER SHA -0578 Õ¸ ARMENIAN SMALL LETTER VO -0579 Õ¹ ARMENIAN SMALL LETTER CHA -057A Õº ARMENIAN SMALL LETTER PEH -057B Õ» ARMENIAN SMALL LETTER JHEH -057C Õ¼ ARMENIAN SMALL LETTER RA -057D Õ½ ARMENIAN SMALL LETTER SEH -057E Õ¾ ARMENIAN SMALL LETTER VEW -057F Õ¿ ARMENIAN SMALL LETTER TIWN -0580 Ö€ ARMENIAN SMALL LETTER REH -0581 Ö ARMENIAN SMALL LETTER CO -0582 Ö‚ ARMENIAN SMALL LETTER YIWN -0583 Öƒ ARMENIAN SMALL LETTER PIWR -0584 Ö„ ARMENIAN SMALL LETTER KEH -0585 Ö… ARMENIAN SMALL LETTER OH -0586 Ö† ARMENIAN SMALL LETTER FEH -0587 Ö‡ ARMENIAN SMALL LIGATURE ECH YIWN -0589 Ö‰ ARMENIAN FULL STOP -0591 Ö‘ HEBREW ACCENT ETNAHTA -0592 Ö’ HEBREW ACCENT SEGOL -0593 Ö“ HEBREW ACCENT SHALSHELET -0594 Ö” HEBREW ACCENT ZAQEF QATAN -0595 Ö• HEBREW ACCENT ZAQEF GADOL -0596 Ö– HEBREW ACCENT TIPEHA -0597 Ö— HEBREW ACCENT REVIA -0598 Ö˜ HEBREW ACCENT ZARQA -0599 Ö™ HEBREW ACCENT PASHTA -059A Öš HEBREW ACCENT YETIV -059B Ö› HEBREW ACCENT TEVIR -059C Öœ HEBREW ACCENT GERESH -059D Ö HEBREW ACCENT GERESH MUQDAM -059E Öž HEBREW ACCENT GERSHAYIM -059F ÖŸ HEBREW ACCENT QARNEY PARA -05A0 Ö  HEBREW ACCENT TELISHA GEDOLA -05A1 Ö¡ HEBREW ACCENT PAZER -05A3 Ö£ HEBREW ACCENT MUNAH -05A4 Ö¤ HEBREW ACCENT MAHAPAKH -05A5 Ö¥ HEBREW ACCENT MERKHA -05A6 Ö¦ HEBREW ACCENT MERKHA KEFULA -05A7 Ö§ HEBREW ACCENT DARGA -05A8 Ö¨ HEBREW ACCENT QADMA -05A9 Ö© HEBREW ACCENT TELISHA QETANA -05AA Öª HEBREW ACCENT YERAH BEN YOMO -05AB Ö« HEBREW ACCENT OLE -05AC Ö¬ HEBREW ACCENT ILUY -05AD Ö­ HEBREW ACCENT DEHI -05AE Ö® HEBREW ACCENT ZINOR -05AF Ö¯ HEBREW MARK MASORA CIRCLE -05B0 Ö° HEBREW POINT SHEVA -05B1 Ö± HEBREW POINT HATAF SEGOL -05B2 Ö² HEBREW POINT HATAF PATAH -05B3 Ö³ HEBREW POINT HATAF QAMATS -05B4 Ö´ HEBREW POINT HIRIQ -05B5 Öµ HEBREW POINT TSERE -05B6 Ö¶ HEBREW POINT SEGOL -05B7 Ö· HEBREW POINT PATAH -05B8 Ö¸ HEBREW POINT QAMATS -05B9 Ö¹ HEBREW POINT HOLAM -05BB Ö» HEBREW POINT QUBUTS -05BC Ö¼ HEBREW POINT DAGESH OR MAPIQ -05BD Ö½ HEBREW POINT METEG -05BE Ö¾ HEBREW PUNCTUATION MAQAF -05BF Ö¿ HEBREW POINT RAFE -05C0 ×€ HEBREW PUNCTUATION PASEQ -05C1 × HEBREW POINT SHIN DOT -05C2 ׂ HEBREW POINT SIN DOT -05C3 ׃ HEBREW PUNCTUATION SOF PASUQ -05C4 ׄ HEBREW MARK UPPER DOT -05D0 × HEBREW LETTER ALEF -05D1 ב HEBREW LETTER BET -05D2 ×’ HEBREW LETTER GIMEL -05D3 ד HEBREW LETTER DALET -05D4 ×” HEBREW LETTER HE -05D5 ו HEBREW LETTER VAV -05D6 ×– HEBREW LETTER ZAYIN -05D7 ×— HEBREW LETTER HET -05D8 ט HEBREW LETTER TET -05D9 ×™ HEBREW LETTER YOD -05DA ך HEBREW LETTER FINAL KAF -05DB ×› HEBREW LETTER KAF -05DC ל HEBREW LETTER LAMED -05DD × HEBREW LETTER FINAL MEM -05DE מ HEBREW LETTER MEM -05DF ן HEBREW LETTER FINAL NUN -05E0 ×  HEBREW LETTER NUN -05E1 ס HEBREW LETTER SAMEKH -05E2 ×¢ HEBREW LETTER AYIN -05E3 ×£ HEBREW LETTER FINAL PE -05E4 פ HEBREW LETTER PE -05E5 ×¥ HEBREW LETTER FINAL TSADI -05E6 צ HEBREW LETTER TSADI -05E7 ק HEBREW LETTER QOF -05E8 ר HEBREW LETTER RESH -05E9 ש HEBREW LETTER SHIN -05EA ת HEBREW LETTER TAV -05F0 ×° HEBREW LIGATURE YIDDISH DOUBLE VAV -05F1 ×± HEBREW LIGATURE YIDDISH VAV YOD -05F2 ײ HEBREW LIGATURE YIDDISH DOUBLE YOD -05F3 ׳ HEBREW PUNCTUATION GERESH -05F4 ×´ HEBREW PUNCTUATION GERSHAYIM -060C ØŒ ARABIC COMMA -061B Ø› ARABIC SEMICOLON -061F ØŸ ARABIC QUESTION MARK -0621 Ø¡ ARABIC LETTER HAMZA -0622 Ø¢ ARABIC LETTER ALEF WITH MADDA ABOVE -0623 Ø£ ARABIC LETTER ALEF WITH HAMZA ABOVE -0624 ؤ ARABIC LETTER WAW WITH HAMZA ABOVE -0625 Ø¥ ARABIC LETTER ALEF WITH HAMZA BELOW -0626 ئ ARABIC LETTER YEH WITH HAMZA ABOVE -0627 ا ARABIC LETTER ALEF -0628 ب ARABIC LETTER BEH -0629 Ø© ARABIC LETTER TEH MARBUTA -062A ت ARABIC LETTER TEH -062B Ø« ARABIC LETTER THEH -062C ج ARABIC LETTER JEEM -062D Ø­ ARABIC LETTER HAH -062E Ø® ARABIC LETTER KHAH -062F د ARABIC LETTER DAL -0630 Ø° ARABIC LETTER THAL -0631 ر ARABIC LETTER REH -0632 ز ARABIC LETTER ZAIN -0633 س ARABIC LETTER SEEN -0634 Ø´ ARABIC LETTER SHEEN -0635 ص ARABIC LETTER SAD -0636 ض ARABIC LETTER DAD -0637 Ø· ARABIC LETTER TAH -0638 ظ ARABIC LETTER ZAH -0639 ع ARABIC LETTER AIN -063A غ ARABIC LETTER GHAIN -0640 Ù€ ARABIC TATWEEL -0641 Ù ARABIC LETTER FEH -0642 Ù‚ ARABIC LETTER QAF -0643 Ùƒ ARABIC LETTER KAF -0644 Ù„ ARABIC LETTER LAM -0645 Ù… ARABIC LETTER MEEM -0646 Ù† ARABIC LETTER NOON -0647 Ù‡ ARABIC LETTER HEH -0648 Ùˆ ARABIC LETTER WAW -0649 Ù‰ ARABIC LETTER ALEF MAKSURA -064A ÙŠ ARABIC LETTER YEH -064B Ù‹ ARABIC FATHATAN -064C ÙŒ ARABIC DAMMATAN -064D Ù ARABIC KASRATAN -064E ÙŽ ARABIC FATHA -064F Ù ARABIC DAMMA -0650 Ù ARABIC KASRA -0651 Ù‘ ARABIC SHADDA -0652 Ù’ ARABIC SUKUN -0660 Ù  ARABIC-INDIC DIGIT ZERO -0661 Ù¡ ARABIC-INDIC DIGIT ONE -0662 Ù¢ ARABIC-INDIC DIGIT TWO -0663 Ù£ ARABIC-INDIC DIGIT THREE -0664 Ù¤ ARABIC-INDIC DIGIT FOUR -0665 Ù¥ ARABIC-INDIC DIGIT FIVE -0666 Ù¦ ARABIC-INDIC DIGIT SIX -0667 Ù§ ARABIC-INDIC DIGIT SEVEN -0668 Ù¨ ARABIC-INDIC DIGIT EIGHT -0669 Ù© ARABIC-INDIC DIGIT NINE -066A Ùª ARABIC PERCENT SIGN -066B Ù« ARABIC DECIMAL SEPARATOR -066C Ù¬ ARABIC THOUSANDS SEPARATOR -066D Ù­ ARABIC FIVE POINTED STAR -0670 Ù° ARABIC LETTER SUPERSCRIPT ALEF -0671 Ù± ARABIC LETTER ALEF WASLA -0672 Ù² ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE -0673 Ù³ ARABIC LETTER ALEF WITH WAVY HAMZA BELOW -0674 Ù´ ARABIC LETTER HIGH HAMZA -0675 Ùµ ARABIC LETTER HIGH HAMZA ALEF -0676 Ù¶ ARABIC LETTER HIGH HAMZA WAW -0677 Ù· ARABIC LETTER U WITH HAMZA ABOVE -0678 Ù¸ ARABIC LETTER HIGH HAMZA YEH -0679 Ù¹ ARABIC LETTER TTEH -067A Ùº ARABIC LETTER TTEHEH -067B Ù» ARABIC LETTER BEEH -067C Ù¼ ARABIC LETTER TEH WITH RING -067D Ù½ ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS -067E Ù¾ ARABIC LETTER PEH -067F Ù¿ ARABIC LETTER TEHEH -0680 Ú€ ARABIC LETTER BEHEH -0681 Ú ARABIC LETTER HAH WITH HAMZA ABOVE -0682 Ú‚ ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE -0683 Úƒ ARABIC LETTER NYEH -0684 Ú„ ARABIC LETTER DYEH -0685 Ú… ARABIC LETTER HAH WITH THREE DOTS ABOVE -0686 Ú† ARABIC LETTER TCHEH -0687 Ú‡ ARABIC LETTER TCHEHEH -0688 Úˆ ARABIC LETTER DDAL -0689 Ú‰ ARABIC LETTER DAL WITH RING -068A ÚŠ ARABIC LETTER DAL WITH DOT BELOW -068B Ú‹ ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH -068C ÚŒ ARABIC LETTER DAHAL -068D Ú ARABIC LETTER DDAHAL -068E ÚŽ ARABIC LETTER DUL -068F Ú ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS -0690 Ú ARABIC LETTER DAL WITH FOUR DOTS ABOVE -0691 Ú‘ ARABIC LETTER RREH -0692 Ú’ ARABIC LETTER REH WITH SMALL V -0693 Ú“ ARABIC LETTER REH WITH RING -0694 Ú” ARABIC LETTER REH WITH DOT BELOW -0695 Ú• ARABIC LETTER REH WITH SMALL V BELOW -0696 Ú– ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE -0697 Ú— ARABIC LETTER REH WITH TWO DOTS ABOVE -0698 Ú˜ ARABIC LETTER JEH -0699 Ú™ ARABIC LETTER REH WITH FOUR DOTS ABOVE -069A Úš ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE -069B Ú› ARABIC LETTER SEEN WITH THREE DOTS BELOW -069C Úœ ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE -069D Ú ARABIC LETTER SAD WITH TWO DOTS BELOW -069E Úž ARABIC LETTER SAD WITH THREE DOTS ABOVE -069F ÚŸ ARABIC LETTER TAH WITH THREE DOTS ABOVE -06A0 Ú  ARABIC LETTER AIN WITH THREE DOTS ABOVE -06A1 Ú¡ ARABIC LETTER DOTLESS FEH -06A2 Ú¢ ARABIC LETTER FEH WITH DOT MOVED BELOW -06A3 Ú£ ARABIC LETTER FEH WITH DOT BELOW -06A4 Ú¤ ARABIC LETTER VEH -06A5 Ú¥ ARABIC LETTER FEH WITH THREE DOTS BELOW -06A6 Ú¦ ARABIC LETTER PEHEH -06A7 Ú§ ARABIC LETTER QAF WITH DOT ABOVE -06A8 Ú¨ ARABIC LETTER QAF WITH THREE DOTS ABOVE -06A9 Ú© ARABIC LETTER KEHEH -06AA Úª ARABIC LETTER SWASH KAF -06AB Ú« ARABIC LETTER KAF WITH RING -06AC Ú¬ ARABIC LETTER KAF WITH DOT ABOVE -06AD Ú­ ARABIC LETTER NG -06AE Ú® ARABIC LETTER KAF WITH THREE DOTS BELOW -06AF Ú¯ ARABIC LETTER GAF -06B0 Ú° ARABIC LETTER GAF WITH RING -06B1 Ú± ARABIC LETTER NGOEH -06B2 Ú² ARABIC LETTER GAF WITH TWO DOTS BELOW -06B3 Ú³ ARABIC LETTER GUEH -06B4 Ú´ ARABIC LETTER GAF WITH THREE DOTS ABOVE -06B5 Úµ ARABIC LETTER LAM WITH SMALL V -06B6 Ú¶ ARABIC LETTER LAM WITH DOT ABOVE -06B7 Ú· ARABIC LETTER LAM WITH THREE DOTS ABOVE -06BA Úº ARABIC LETTER NOON GHUNNA -06BB Ú» ARABIC LETTER RNOON -06BC Ú¼ ARABIC LETTER NOON WITH RING -06BD Ú½ ARABIC LETTER NOON WITH THREE DOTS ABOVE -06BE Ú¾ ARABIC LETTER HEH DOACHASHMEE -06C0 Û€ ARABIC LETTER HEH WITH YEH ABOVE -06C1 Û ARABIC LETTER HEH GOAL -06C2 Û‚ ARABIC LETTER HEH GOAL WITH HAMZA ABOVE -06C3 Ûƒ ARABIC LETTER TEH MARBUTA GOAL -06C4 Û„ ARABIC LETTER WAW WITH RING -06C5 Û… ARABIC LETTER KIRGHIZ OE -06C6 Û† ARABIC LETTER OE -06C7 Û‡ ARABIC LETTER U -06C8 Ûˆ ARABIC LETTER YU -06C9 Û‰ ARABIC LETTER KIRGHIZ YU -06CA ÛŠ ARABIC LETTER WAW WITH TWO DOTS ABOVE -06CB Û‹ ARABIC LETTER VE -06CC ÛŒ ARABIC LETTER FARSI YEH -06CD Û ARABIC LETTER YEH WITH TAIL -06CE ÛŽ ARABIC LETTER YEH WITH SMALL V -06D0 Û ARABIC LETTER E -06D1 Û‘ ARABIC LETTER YEH WITH THREE DOTS BELOW -06D2 Û’ ARABIC LETTER YEH BARREE -06D3 Û“ ARABIC LETTER YEH BARREE WITH HAMZA ABOVE -06D4 Û” ARABIC FULL STOP -06D5 Û• ARABIC LETTER AE -06D6 Û– ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA -06D7 Û— ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA -06D8 Û˜ ARABIC SMALL HIGH MEEM INITIAL FORM -06D9 Û™ ARABIC SMALL HIGH LAM ALEF -06DA Ûš ARABIC SMALL HIGH JEEM -06DB Û› ARABIC SMALL HIGH THREE DOTS -06DC Ûœ ARABIC SMALL HIGH SEEN -06DD Û ARABIC END OF AYAH -06DE Ûž ARABIC START OF RUB EL HIZB -06DF ÛŸ ARABIC SMALL HIGH ROUNDED ZERO -06E0 Û  ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO -06E1 Û¡ ARABIC SMALL HIGH DOTLESS HEAD OF KHAH -06E2 Û¢ ARABIC SMALL HIGH MEEM ISOLATED FORM -06E3 Û£ ARABIC SMALL LOW SEEN -06E4 Û¤ ARABIC SMALL HIGH MADDA -06E5 Û¥ ARABIC SMALL WAW -06E6 Û¦ ARABIC SMALL YEH -06E7 Û§ ARABIC SMALL HIGH YEH -06E8 Û¨ ARABIC SMALL HIGH NOON -06E9 Û© ARABIC PLACE OF SAJDAH -06EA Ûª ARABIC EMPTY CENTRE LOW STOP -06EB Û« ARABIC EMPTY CENTRE HIGH STOP -06EC Û¬ ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE -06ED Û­ ARABIC SMALL LOW MEEM -06F0 Û° EXTENDED ARABIC-INDIC DIGIT ZERO -06F1 Û± EXTENDED ARABIC-INDIC DIGIT ONE -06F2 Û² EXTENDED ARABIC-INDIC DIGIT TWO -06F3 Û³ EXTENDED ARABIC-INDIC DIGIT THREE -06F4 Û´ EXTENDED ARABIC-INDIC DIGIT FOUR -06F5 Ûµ EXTENDED ARABIC-INDIC DIGIT FIVE -06F6 Û¶ EXTENDED ARABIC-INDIC DIGIT SIX -06F7 Û· EXTENDED ARABIC-INDIC DIGIT SEVEN -06F8 Û¸ EXTENDED ARABIC-INDIC DIGIT EIGHT -06F9 Û¹ EXTENDED ARABIC-INDIC DIGIT NINE -0901 ठDEVANAGARI SIGN CANDRABINDU -0902 ं DEVANAGARI SIGN ANUSVARA -0903 ः DEVANAGARI SIGN VISARGA -0905 अ DEVANAGARI LETTER A -0906 आ DEVANAGARI LETTER AA -0907 इ DEVANAGARI LETTER I -0908 ई DEVANAGARI LETTER II -0909 उ DEVANAGARI LETTER U -090A ऊ DEVANAGARI LETTER UU -090B ऋ DEVANAGARI LETTER VOCALIC R -090C ऌ DEVANAGARI LETTER VOCALIC L -090D ठDEVANAGARI LETTER CANDRA E -090E ऎ DEVANAGARI LETTER SHORT E -090F ठDEVANAGARI LETTER E -0910 ठDEVANAGARI LETTER AI -0911 ऑ DEVANAGARI LETTER CANDRA O -0912 ऒ DEVANAGARI LETTER SHORT O -0913 ओ DEVANAGARI LETTER O -0914 औ DEVANAGARI LETTER AU -0915 क DEVANAGARI LETTER KA -0916 ख DEVANAGARI LETTER KHA -0917 ग DEVANAGARI LETTER GA -0918 घ DEVANAGARI LETTER GHA -0919 ङ DEVANAGARI LETTER NGA -091A च DEVANAGARI LETTER CA -091B छ DEVANAGARI LETTER CHA -091C ज DEVANAGARI LETTER JA -091D ठDEVANAGARI LETTER JHA -091E ञ DEVANAGARI LETTER NYA -091F ट DEVANAGARI LETTER TTA -0920 ठ DEVANAGARI LETTER TTHA -0921 ड DEVANAGARI LETTER DDA -0922 ढ DEVANAGARI LETTER DDHA -0923 ण DEVANAGARI LETTER NNA -0924 त DEVANAGARI LETTER TA -0925 थ DEVANAGARI LETTER THA -0926 द DEVANAGARI LETTER DA -0927 ध DEVANAGARI LETTER DHA -0928 न DEVANAGARI LETTER NA -0929 ऩ DEVANAGARI LETTER NNNA -092A प DEVANAGARI LETTER PA -092B फ DEVANAGARI LETTER PHA -092C ब DEVANAGARI LETTER BA -092D भ DEVANAGARI LETTER BHA -092E म DEVANAGARI LETTER MA -092F य DEVANAGARI LETTER YA -0930 र DEVANAGARI LETTER RA -0931 ऱ DEVANAGARI LETTER RRA -0932 ल DEVANAGARI LETTER LA -0933 ळ DEVANAGARI LETTER LLA -0934 ऴ DEVANAGARI LETTER LLLA -0935 व DEVANAGARI LETTER VA -0936 श DEVANAGARI LETTER SHA -0937 ष DEVANAGARI LETTER SSA -0938 स DEVANAGARI LETTER SA -0939 ह DEVANAGARI LETTER HA -093C ़ DEVANAGARI SIGN NUKTA -093D ऽ DEVANAGARI SIGN AVAGRAHA -093E ा DEVANAGARI VOWEL SIGN AA -093F ि DEVANAGARI VOWEL SIGN I -0940 ी DEVANAGARI VOWEL SIGN II -0941 ॠDEVANAGARI VOWEL SIGN U -0942 ू DEVANAGARI VOWEL SIGN UU -0943 ृ DEVANAGARI VOWEL SIGN VOCALIC R -0944 ॄ DEVANAGARI VOWEL SIGN VOCALIC RR -0945 ॅ DEVANAGARI VOWEL SIGN CANDRA E -0946 ॆ DEVANAGARI VOWEL SIGN SHORT E -0947 े DEVANAGARI VOWEL SIGN E -0948 ै DEVANAGARI VOWEL SIGN AI -0949 ॉ DEVANAGARI VOWEL SIGN CANDRA O -094A ॊ DEVANAGARI VOWEL SIGN SHORT O -094B ो DEVANAGARI VOWEL SIGN O -094C ौ DEVANAGARI VOWEL SIGN AU -094D ॠDEVANAGARI SIGN VIRAMA -0950 ॠDEVANAGARI OM -0951 ॑ DEVANAGARI STRESS SIGN UDATTA -0952 ॒ DEVANAGARI STRESS SIGN ANUDATTA -0953 ॓ DEVANAGARI GRAVE ACCENT -0954 ॔ DEVANAGARI ACUTE ACCENT -0958 क़ DEVANAGARI LETTER QA -0959 ख़ DEVANAGARI LETTER KHHA -095A ग़ DEVANAGARI LETTER GHHA -095B ज़ DEVANAGARI LETTER ZA -095C ड़ DEVANAGARI LETTER DDDHA -095D ॠDEVANAGARI LETTER RHA -095E फ़ DEVANAGARI LETTER FA -095F य़ DEVANAGARI LETTER YYA -0960 ॠ DEVANAGARI LETTER VOCALIC RR -0961 ॡ DEVANAGARI LETTER VOCALIC LL -0962 ॢ DEVANAGARI VOWEL SIGN VOCALIC L -0963 ॣ DEVANAGARI VOWEL SIGN VOCALIC LL -0964 । DEVANAGARI DANDA -0965 ॥ DEVANAGARI DOUBLE DANDA -0966 ० DEVANAGARI DIGIT ZERO -0967 १ DEVANAGARI DIGIT ONE -0968 २ DEVANAGARI DIGIT TWO -0969 ३ DEVANAGARI DIGIT THREE -096A ४ DEVANAGARI DIGIT FOUR -096B ५ DEVANAGARI DIGIT FIVE -096C ६ DEVANAGARI DIGIT SIX -096D ७ DEVANAGARI DIGIT SEVEN -096E ८ DEVANAGARI DIGIT EIGHT -096F ९ DEVANAGARI DIGIT NINE -0970 ॰ DEVANAGARI ABBREVIATION SIGN -0981 ঠBENGALI SIGN CANDRABINDU -0982 ং BENGALI SIGN ANUSVARA -0983 ঃ BENGALI SIGN VISARGA -0985 অ BENGALI LETTER A -0986 আ BENGALI LETTER AA -0987 ই BENGALI LETTER I -0988 ঈ BENGALI LETTER II -0989 উ BENGALI LETTER U -098A ঊ BENGALI LETTER UU -098B ঋ BENGALI LETTER VOCALIC R -098C ঌ BENGALI LETTER VOCALIC L -098F ঠBENGALI LETTER E -0990 ঠBENGALI LETTER AI -0993 ও BENGALI LETTER O -0994 ঔ BENGALI LETTER AU -0995 ক BENGALI LETTER KA -0996 খ BENGALI LETTER KHA -0997 গ BENGALI LETTER GA -0998 ঘ BENGALI LETTER GHA -0999 ঙ BENGALI LETTER NGA -099A চ BENGALI LETTER CA -099B ছ BENGALI LETTER CHA -099C জ BENGALI LETTER JA -099D ঠBENGALI LETTER JHA -099E ঞ BENGALI LETTER NYA -099F ট BENGALI LETTER TTA -09A0 ঠ BENGALI LETTER TTHA -09A1 ড BENGALI LETTER DDA -09A2 ঢ BENGALI LETTER DDHA -09A3 ণ BENGALI LETTER NNA -09A4 ত BENGALI LETTER TA -09A5 থ BENGALI LETTER THA -09A6 দ BENGALI LETTER DA -09A7 ধ BENGALI LETTER DHA -09A8 ন BENGALI LETTER NA -09AA প BENGALI LETTER PA -09AB ফ BENGALI LETTER PHA -09AC ব BENGALI LETTER BA -09AD ভ BENGALI LETTER BHA -09AE ম BENGALI LETTER MA -09AF য BENGALI LETTER YA -09B0 র BENGALI LETTER RA -09B2 ল BENGALI LETTER LA -09B6 শ BENGALI LETTER SHA -09B7 ষ BENGALI LETTER SSA -09B8 স BENGALI LETTER SA -09B9 হ BENGALI LETTER HA -09BC ় BENGALI SIGN NUKTA -09BE া BENGALI VOWEL SIGN AA -09BF ি BENGALI VOWEL SIGN I -09C0 ী BENGALI VOWEL SIGN II -09C1 ৠBENGALI VOWEL SIGN U -09C2 ূ BENGALI VOWEL SIGN UU -09C3 ৃ BENGALI VOWEL SIGN VOCALIC R -09C4 ৄ BENGALI VOWEL SIGN VOCALIC RR -09C7 ে BENGALI VOWEL SIGN E -09C8 ৈ BENGALI VOWEL SIGN AI -09CB ো BENGALI VOWEL SIGN O -09CC ৌ BENGALI VOWEL SIGN AU -09CD ৠBENGALI SIGN VIRAMA -09D7 ৗ BENGALI AU LENGTH MARK -09DC ড় BENGALI LETTER RRA -09DD ৠBENGALI LETTER RHA -09DF য় BENGALI LETTER YYA -09E0 ৠ BENGALI LETTER VOCALIC RR -09E1 ৡ BENGALI LETTER VOCALIC LL -09E2 ৢ BENGALI VOWEL SIGN VOCALIC L -09E3 ৣ BENGALI VOWEL SIGN VOCALIC LL -09E6 ০ BENGALI DIGIT ZERO -09E7 ১ BENGALI DIGIT ONE -09E8 ২ BENGALI DIGIT TWO -09E9 ৩ BENGALI DIGIT THREE -09EA ৪ BENGALI DIGIT FOUR -09EB ৫ BENGALI DIGIT FIVE -09EC ৬ BENGALI DIGIT SIX -09ED ৭ BENGALI DIGIT SEVEN -09EE ৮ BENGALI DIGIT EIGHT -09EF ৯ BENGALI DIGIT NINE -09F0 ৰ BENGALI LETTER RA WITH MIDDLE DIAGONAL (Assamese) -09F1 ৱ BENGALI LETTER RA WITH LOWER DIAGONAL (Assamese) -09F2 ৲ BENGALI RUPEE MARK -09F3 ৳ BENGALI RUPEE SIGN -09F4 ৴ BENGALI CURRENCY NUMERATOR ONE -09F5 ৵ BENGALI CURRENCY NUMERATOR TWO -09F6 ৶ BENGALI CURRENCY NUMERATOR THREE -09F7 ৷ BENGALI CURRENCY NUMERATOR FOUR -09F8 ৸ BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR -09F9 ৹ BENGALI CURRENCY DENOMINATOR SIXTEEN -09FA ৺ BENGALI ISSHAR -0A02 ਂ GURMUKHI SIGN BINDI -0A05 ਅ GURMUKHI LETTER A -0A06 ਆ GURMUKHI LETTER AA -0A07 ਇ GURMUKHI LETTER I -0A08 ਈ GURMUKHI LETTER II -0A09 ਉ GURMUKHI LETTER U -0A0A ਊ GURMUKHI LETTER UU -0A0F ਠGURMUKHI LETTER EE -0A10 ਠGURMUKHI LETTER AI -0A13 ਓ GURMUKHI LETTER OO -0A14 ਔ GURMUKHI LETTER AU -0A15 ਕ GURMUKHI LETTER KA -0A16 ਖ GURMUKHI LETTER KHA -0A17 ਗ GURMUKHI LETTER GA -0A18 ਘ GURMUKHI LETTER GHA -0A19 ਙ GURMUKHI LETTER NGA -0A1A ਚ GURMUKHI LETTER CA -0A1B ਛ GURMUKHI LETTER CHA -0A1C ਜ GURMUKHI LETTER JA -0A1D ਠGURMUKHI LETTER JHA -0A1E ਞ GURMUKHI LETTER NYA -0A1F ਟ GURMUKHI LETTER TTA -0A20 ਠ GURMUKHI LETTER TTHA -0A21 ਡ GURMUKHI LETTER DDA -0A22 ਢ GURMUKHI LETTER DDHA -0A23 ਣ GURMUKHI LETTER NNA -0A24 ਤ GURMUKHI LETTER TA -0A25 ਥ GURMUKHI LETTER THA -0A26 ਦ GURMUKHI LETTER DA -0A27 ਧ GURMUKHI LETTER DHA -0A28 ਨ GURMUKHI LETTER NA -0A2A ਪ GURMUKHI LETTER PA -0A2B ਫ GURMUKHI LETTER PHA -0A2C ਬ GURMUKHI LETTER BA -0A2D ਭ GURMUKHI LETTER BHA -0A2E ਮ GURMUKHI LETTER MA -0A2F ਯ GURMUKHI LETTER YA -0A30 ਰ GURMUKHI LETTER RA -0A32 ਲ GURMUKHI LETTER LA -0A33 ਲ਼ GURMUKHI LETTER LLA -0A35 ਵ GURMUKHI LETTER VA -0A36 ਸ਼ GURMUKHI LETTER SHA -0A38 ਸ GURMUKHI LETTER SA -0A39 ਹ GURMUKHI LETTER HA -0A3C ਼ GURMUKHI SIGN NUKTA -0A3E ਾ GURMUKHI VOWEL SIGN AA -0A3F ਿ GURMUKHI VOWEL SIGN I -0A40 à©€ GURMUKHI VOWEL SIGN II -0A41 à© GURMUKHI VOWEL SIGN U -0A42 à©‚ GURMUKHI VOWEL SIGN UU -0A47 ੇ GURMUKHI VOWEL SIGN EE -0A48 ੈ GURMUKHI VOWEL SIGN AI -0A4B à©‹ GURMUKHI VOWEL SIGN OO -0A4C à©Œ GURMUKHI VOWEL SIGN AU -0A4D à© GURMUKHI SIGN VIRAMA -0A59 à©™ GURMUKHI LETTER KHHA -0A5A à©š GURMUKHI LETTER GHHA -0A5B à©› GURMUKHI LETTER ZA -0A5C à©œ GURMUKHI LETTER RRA -0A5E à©ž GURMUKHI LETTER FA -0A66 ੦ GURMUKHI DIGIT ZERO -0A67 ੧ GURMUKHI DIGIT ONE -0A68 ੨ GURMUKHI DIGIT TWO -0A69 à©© GURMUKHI DIGIT THREE -0A6A ੪ GURMUKHI DIGIT FOUR -0A6B à©« GURMUKHI DIGIT FIVE -0A6C ੬ GURMUKHI DIGIT SIX -0A6D à©­ GURMUKHI DIGIT SEVEN -0A6E à©® GURMUKHI DIGIT EIGHT -0A6F ੯ GURMUKHI DIGIT NINE -0A70 à©° GURMUKHI TIPPI -0A71 ੱ GURMUKHI ADDAK -0A72 ੲ GURMUKHI IRI -0A73 ੳ GURMUKHI URA -0A74 à©´ GURMUKHI EK ONKAR -0A81 ઠGUJARATI SIGN CANDRABINDU -0A82 ં GUJARATI SIGN ANUSVARA -0A83 ઃ GUJARATI SIGN VISARGA -0A85 અ GUJARATI LETTER A -0A86 આ GUJARATI LETTER AA -0A87 ઇ GUJARATI LETTER I -0A88 ઈ GUJARATI LETTER II -0A89 ઉ GUJARATI LETTER U -0A8A ઊ GUJARATI LETTER UU -0A8B ઋ GUJARATI LETTER VOCALIC R -0A8D ઠGUJARATI VOWEL CANDRA E -0A8F ઠGUJARATI LETTER E -0A90 ઠGUJARATI LETTER AI -0A91 ઑ GUJARATI VOWEL CANDRA O -0A93 ઓ GUJARATI LETTER O -0A94 ઔ GUJARATI LETTER AU -0A95 ક GUJARATI LETTER KA -0A96 ખ GUJARATI LETTER KHA -0A97 ગ GUJARATI LETTER GA -0A98 ઘ GUJARATI LETTER GHA -0A99 ઙ GUJARATI LETTER NGA -0A9A ચ GUJARATI LETTER CA -0A9B છ GUJARATI LETTER CHA -0A9C જ GUJARATI LETTER JA -0A9D ઠGUJARATI LETTER JHA -0A9E ઞ GUJARATI LETTER NYA -0A9F ટ GUJARATI LETTER TTA -0AA0 ઠ GUJARATI LETTER TTHA -0AA1 ડ GUJARATI LETTER DDA -0AA2 ઢ GUJARATI LETTER DDHA -0AA3 ણ GUJARATI LETTER NNA -0AA4 ત GUJARATI LETTER TA -0AA5 થ GUJARATI LETTER THA -0AA6 દ GUJARATI LETTER DA -0AA7 ધ GUJARATI LETTER DHA -0AA8 ન GUJARATI LETTER NA -0AAA પ GUJARATI LETTER PA -0AAB ફ GUJARATI LETTER PHA -0AAC બ GUJARATI LETTER BA -0AAD ભ GUJARATI LETTER BHA -0AAE મ GUJARATI LETTER MA -0AAF ય GUJARATI LETTER YA -0AB0 ર GUJARATI LETTER RA -0AB2 લ GUJARATI LETTER LA -0AB3 ળ GUJARATI LETTER LLA -0AB5 વ GUJARATI LETTER VA -0AB6 શ GUJARATI LETTER SHA -0AB7 ષ GUJARATI LETTER SSA -0AB8 સ GUJARATI LETTER SA -0AB9 હ GUJARATI LETTER HA -0ABC ઼ GUJARATI SIGN NUKTA -0ABD ઽ GUJARATI SIGN AVAGRAHA -0ABE ા GUJARATI VOWEL SIGN AA -0ABF િ GUJARATI VOWEL SIGN I -0AC0 à«€ GUJARATI VOWEL SIGN II -0AC1 à« GUJARATI VOWEL SIGN U -0AC2 à«‚ GUJARATI VOWEL SIGN UU -0AC3 ૃ GUJARATI VOWEL SIGN VOCALIC R -0AC4 à«„ GUJARATI VOWEL SIGN VOCALIC RR -0AC5 à«… GUJARATI VOWEL SIGN CANDRA E -0AC7 ે GUJARATI VOWEL SIGN E -0AC8 ૈ GUJARATI VOWEL SIGN AI -0AC9 ૉ GUJARATI VOWEL SIGN CANDRA O -0ACB à«‹ GUJARATI VOWEL SIGN O -0ACC à«Œ GUJARATI VOWEL SIGN AU -0ACD à« GUJARATI SIGN VIRAMA -0AD0 à« GUJARATI OM -0AE0 à«  GUJARATI LETTER VOCALIC RR -0AE6 ૦ GUJARATI DIGIT ZERO -0AE7 ૧ GUJARATI DIGIT ONE -0AE8 ૨ GUJARATI DIGIT TWO -0AE9 à«© GUJARATI DIGIT THREE -0AEA ૪ GUJARATI DIGIT FOUR -0AEB à«« GUJARATI DIGIT FIVE -0AEC ૬ GUJARATI DIGIT SIX -0AED à«­ GUJARATI DIGIT SEVEN -0AEE à«® GUJARATI DIGIT EIGHT -0AEF ૯ GUJARATI DIGIT NINE -0B01 ଠORIYA SIGN CANDRABINDU -0B02 ଂ ORIYA SIGN ANUSVARA -0B03 ଃ ORIYA SIGN VISARGA -0B05 ଅ ORIYA LETTER A -0B06 ଆ ORIYA LETTER AA -0B07 ଇ ORIYA LETTER I -0B08 ଈ ORIYA LETTER II -0B09 ଉ ORIYA LETTER U -0B0A ଊ ORIYA LETTER UU -0B0B ଋ ORIYA LETTER VOCALIC R -0B0C ଌ ORIYA LETTER VOCALIC L -0B0F ଠORIYA LETTER E -0B10 ଠORIYA LETTER AI -0B13 ଓ ORIYA LETTER O -0B14 ଔ ORIYA LETTER AU -0B15 କ ORIYA LETTER KA -0B16 ଖ ORIYA LETTER KHA -0B17 ଗ ORIYA LETTER GA -0B18 ଘ ORIYA LETTER GHA -0B19 ଙ ORIYA LETTER NGA -0B1A ଚ ORIYA LETTER CA -0B1B ଛ ORIYA LETTER CHA -0B1C ଜ ORIYA LETTER JA -0B1D ଠORIYA LETTER JHA -0B1E ଞ ORIYA LETTER NYA -0B1F ଟ ORIYA LETTER TTA -0B20 ଠ ORIYA LETTER TTHA -0B21 ଡ ORIYA LETTER DDA -0B22 ଢ ORIYA LETTER DDHA -0B23 ଣ ORIYA LETTER NNA -0B24 ତ ORIYA LETTER TA -0B25 ଥ ORIYA LETTER THA -0B26 ଦ ORIYA LETTER DA -0B27 ଧ ORIYA LETTER DHA -0B28 ନ ORIYA LETTER NA -0B2A ପ ORIYA LETTER PA -0B2B ଫ ORIYA LETTER PHA -0B2C ବ ORIYA LETTER BA -0B2D ଭ ORIYA LETTER BHA -0B2E ମ ORIYA LETTER MA -0B2F ଯ ORIYA LETTER YA -0B30 ର ORIYA LETTER RA -0B32 ଲ ORIYA LETTER LA -0B33 ଳ ORIYA LETTER LLA -0B36 ଶ ORIYA LETTER SHA -0B37 ଷ ORIYA LETTER SSA -0B38 ସ ORIYA LETTER SA -0B39 ହ ORIYA LETTER HA -0B3C ଼ ORIYA SIGN NUKTA -0B3D ଽ ORIYA SIGN AVAGRAHA -0B3E ା ORIYA VOWEL SIGN AA -0B3F ି ORIYA VOWEL SIGN I -0B40 à­€ ORIYA VOWEL SIGN II -0B41 à­ ORIYA VOWEL SIGN U -0B42 à­‚ ORIYA VOWEL SIGN UU -0B43 à­ƒ ORIYA VOWEL SIGN VOCALIC R -0B47 à­‡ ORIYA VOWEL SIGN E -0B48 à­ˆ ORIYA VOWEL SIGN AI -0B4B à­‹ ORIYA VOWEL SIGN O -0B4C à­Œ ORIYA VOWEL SIGN AU -0B4D à­ ORIYA SIGN VIRAMA -0B56 à­– ORIYA AI LENGTH MARK -0B57 à­— ORIYA AU LENGTH MARK -0B5C à­œ ORIYA LETTER RRA -0B5D à­ ORIYA LETTER RHA -0B5F à­Ÿ ORIYA LETTER YYA -0B60 à­  ORIYA LETTER VOCALIC RR -0B61 à­¡ ORIYA LETTER VOCALIC LL -0B66 à­¦ ORIYA DIGIT ZERO -0B67 à­§ ORIYA DIGIT ONE -0B68 à­¨ ORIYA DIGIT TWO -0B69 à­© ORIYA DIGIT THREE -0B6A à­ª ORIYA DIGIT FOUR -0B6B à­« ORIYA DIGIT FIVE -0B6C à­¬ ORIYA DIGIT SIX -0B6D à­­ ORIYA DIGIT SEVEN -0B6E à­® ORIYA DIGIT EIGHT -0B6F à­¯ ORIYA DIGIT NINE -0B70 à­° ORIYA ISSHAR -0B82 ஂ TAMIL SIGN ANUSVARA -0B83 ஃ TAMIL SIGN VISARGA -0B85 à®… TAMIL LETTER A -0B86 ஆ TAMIL LETTER AA -0B87 இ TAMIL LETTER I -0B88 ஈ TAMIL LETTER II -0B89 உ TAMIL LETTER U -0B8A ஊ TAMIL LETTER UU -0B8E எ TAMIL LETTER E -0B8F à® TAMIL LETTER EE -0B90 à® TAMIL LETTER AI -0B92 à®’ TAMIL LETTER O -0B93 ஓ TAMIL LETTER OO -0B94 à®” TAMIL LETTER AU -0B95 க TAMIL LETTER KA -0B99 à®™ TAMIL LETTER NGA -0B9A ச TAMIL LETTER CA -0B9C ஜ TAMIL LETTER JA -0B9E ஞ TAMIL LETTER NYA -0B9F ட TAMIL LETTER TTA -0BA3 ண TAMIL LETTER NNA -0BA4 த TAMIL LETTER TA -0BA8 ந TAMIL LETTER NA -0BA9 ன TAMIL LETTER NNNA -0BAA ப TAMIL LETTER PA -0BAE à®® TAMIL LETTER MA -0BAF ய TAMIL LETTER YA -0BB0 à®° TAMIL LETTER RA -0BB1 à®± TAMIL LETTER RRA -0BB2 ல TAMIL LETTER LA -0BB3 ள TAMIL LETTER LLA -0BB4 à®´ TAMIL LETTER LLLA -0BB5 வ TAMIL LETTER VA -0BB7 à®· TAMIL LETTER SSA -0BB8 ஸ TAMIL LETTER SA -0BB9 ஹ TAMIL LETTER HA -0BBE ா TAMIL VOWEL SIGN AA -0BBF ி TAMIL VOWEL SIGN I -0BC0 ீ TAMIL VOWEL SIGN II -0BC1 ௠TAMIL VOWEL SIGN U -0BC2 ூ TAMIL VOWEL SIGN UU -0BC6 ெ TAMIL VOWEL SIGN E -0BC7 ே TAMIL VOWEL SIGN EE -0BC8 ை TAMIL VOWEL SIGN AI -0BCA ொ TAMIL VOWEL SIGN O -0BCB ோ TAMIL VOWEL SIGN OO -0BCC ௌ TAMIL VOWEL SIGN AU -0BCD ௠TAMIL SIGN VIRAMA -0BD7 ௗ TAMIL AU LENGTH MARK -0BE7 ௧ TAMIL DIGIT ONE -0BE8 ௨ TAMIL DIGIT TWO -0BE9 ௩ TAMIL DIGIT THREE -0BEA ௪ TAMIL DIGIT FOUR -0BEB ௫ TAMIL DIGIT FIVE -0BEC ௬ TAMIL DIGIT SIX -0BED ௭ TAMIL DIGIT SEVEN -0BEE ௮ TAMIL DIGIT EIGHT -0BEF ௯ TAMIL DIGIT NINE -0BF0 ௰ TAMIL NUMBER TEN -0BF1 ௱ TAMIL NUMBER ONE HUNDRED -0BF2 ௲ TAMIL NUMBER ONE THOUSAND -0C01 à° TELUGU SIGN CANDRABINDU -0C02 à°‚ TELUGU SIGN ANUSVARA -0C03 à°ƒ TELUGU SIGN VISARGA -0C05 à°… TELUGU LETTER A -0C06 à°† TELUGU LETTER AA -0C07 à°‡ TELUGU LETTER I -0C08 à°ˆ TELUGU LETTER II -0C09 à°‰ TELUGU LETTER U -0C0A à°Š TELUGU LETTER UU -0C0B à°‹ TELUGU LETTER VOCALIC R -0C0C à°Œ TELUGU LETTER VOCALIC L -0C0E à°Ž TELUGU LETTER E -0C0F à° TELUGU LETTER EE -0C10 à° TELUGU LETTER AI -0C12 à°’ TELUGU LETTER O -0C13 à°“ TELUGU LETTER OO -0C14 à°” TELUGU LETTER AU -0C15 à°• TELUGU LETTER KA -0C16 à°– TELUGU LETTER KHA -0C17 à°— TELUGU LETTER GA -0C18 à°˜ TELUGU LETTER GHA -0C19 à°™ TELUGU LETTER NGA -0C1A à°š TELUGU LETTER CA -0C1B à°› TELUGU LETTER CHA -0C1C à°œ TELUGU LETTER JA -0C1D à° TELUGU LETTER JHA -0C1E à°ž TELUGU LETTER NYA -0C1F à°Ÿ TELUGU LETTER TTA -0C20 à°  TELUGU LETTER TTHA -0C21 à°¡ TELUGU LETTER DDA -0C22 à°¢ TELUGU LETTER DDHA -0C23 à°£ TELUGU LETTER NNA -0C24 à°¤ TELUGU LETTER TA -0C25 à°¥ TELUGU LETTER THA -0C26 à°¦ TELUGU LETTER DA -0C27 à°§ TELUGU LETTER DHA -0C28 à°¨ TELUGU LETTER NA -0C2A à°ª TELUGU LETTER PA -0C2B à°« TELUGU LETTER PHA -0C2C à°¬ TELUGU LETTER BA -0C2D à°­ TELUGU LETTER BHA -0C2E à°® TELUGU LETTER MA -0C2F à°¯ TELUGU LETTER YA -0C30 à°° TELUGU LETTER RA -0C31 à°± TELUGU LETTER RRA -0C32 à°² TELUGU LETTER LA -0C33 à°³ TELUGU LETTER LLA -0C35 à°µ TELUGU LETTER VA -0C36 à°¶ TELUGU LETTER SHA -0C37 à°· TELUGU LETTER SSA -0C38 à°¸ TELUGU LETTER SA -0C39 à°¹ TELUGU LETTER HA -0C3E à°¾ TELUGU VOWEL SIGN AA -0C3F à°¿ TELUGU VOWEL SIGN I -0C40 à±€ TELUGU VOWEL SIGN II -0C41 à± TELUGU VOWEL SIGN U -0C42 ూ TELUGU VOWEL SIGN UU -0C43 ృ TELUGU VOWEL SIGN VOCALIC R -0C44 ౄ TELUGU VOWEL SIGN VOCALIC RR -0C46 ె TELUGU VOWEL SIGN E -0C47 ే TELUGU VOWEL SIGN EE -0C48 ై TELUGU VOWEL SIGN AI -0C4A ొ TELUGU VOWEL SIGN O -0C4B ో TELUGU VOWEL SIGN OO -0C4C ౌ TELUGU VOWEL SIGN AU -0C4D à± TELUGU SIGN VIRAMA -0C55 ౕ TELUGU LENGTH MARK -0C56 à±– TELUGU AI LENGTH MARK -0C60 à±  TELUGU LETTER VOCALIC RR -0C61 ౡ TELUGU LETTER VOCALIC LL -0C66 ౦ TELUGU DIGIT ZERO -0C67 ౧ TELUGU DIGIT ONE -0C68 ౨ TELUGU DIGIT TWO -0C69 ౩ TELUGU DIGIT THREE -0C6A ౪ TELUGU DIGIT FOUR -0C6B ౫ TELUGU DIGIT FIVE -0C6C ౬ TELUGU DIGIT SIX -0C6D à±­ TELUGU DIGIT SEVEN -0C6E à±® TELUGU DIGIT EIGHT -0C6F ౯ TELUGU DIGIT NINE -0C82 ಂ KANNADA SIGN ANUSVARA -0C83 ಃ KANNADA SIGN VISARGA -0C85 ಅ KANNADA LETTER A -0C86 ಆ KANNADA LETTER AA -0C87 ಇ KANNADA LETTER I -0C88 ಈ KANNADA LETTER II -0C89 ಉ KANNADA LETTER U -0C8A ಊ KANNADA LETTER UU -0C8B ಋ KANNADA LETTER VOCALIC R -0C8C ಌ KANNADA LETTER VOCALIC L -0C8E ಎ KANNADA LETTER E -0C8F ಠKANNADA LETTER EE -0C90 ಠKANNADA LETTER AI -0C92 ಒ KANNADA LETTER O -0C93 ಓ KANNADA LETTER OO -0C94 ಔ KANNADA LETTER AU -0C95 ಕ KANNADA LETTER KA -0C96 ಖ KANNADA LETTER KHA -0C97 ಗ KANNADA LETTER GA -0C98 ಘ KANNADA LETTER GHA -0C99 ಙ KANNADA LETTER NGA -0C9A ಚ KANNADA LETTER CA -0C9B ಛ KANNADA LETTER CHA -0C9C ಜ KANNADA LETTER JA -0C9D ಠKANNADA LETTER JHA -0C9E ಞ KANNADA LETTER NYA -0C9F ಟ KANNADA LETTER TTA -0CA0 ಠ KANNADA LETTER TTHA -0CA1 ಡ KANNADA LETTER DDA -0CA2 ಢ KANNADA LETTER DDHA -0CA3 ಣ KANNADA LETTER NNA -0CA4 ತ KANNADA LETTER TA -0CA5 ಥ KANNADA LETTER THA -0CA6 ದ KANNADA LETTER DA -0CA7 ಧ KANNADA LETTER DHA -0CA8 ನ KANNADA LETTER NA -0CAA ಪ KANNADA LETTER PA -0CAB ಫ KANNADA LETTER PHA -0CAC ಬ KANNADA LETTER BA -0CAD ಭ KANNADA LETTER BHA -0CAE ಮ KANNADA LETTER MA -0CAF ಯ KANNADA LETTER YA -0CB0 ರ KANNADA LETTER RA -0CB1 ಱ KANNADA LETTER RRA -0CB2 ಲ KANNADA LETTER LA -0CB3 ಳ KANNADA LETTER LLA -0CB5 ವ KANNADA LETTER VA -0CB6 ಶ KANNADA LETTER SHA -0CB7 ಷ KANNADA LETTER SSA -0CB8 ಸ KANNADA LETTER SA -0CB9 ಹ KANNADA LETTER HA -0CBE ಾ KANNADA VOWEL SIGN AA -0CBF ಿ KANNADA VOWEL SIGN I -0CC0 à³€ KANNADA VOWEL SIGN II -0CC1 à³ KANNADA VOWEL SIGN U -0CC2 ೂ KANNADA VOWEL SIGN UU -0CC3 ೃ KANNADA VOWEL SIGN VOCALIC R -0CC4 ೄ KANNADA VOWEL SIGN VOCALIC RR -0CC6 ೆ KANNADA VOWEL SIGN E -0CC7 ೇ KANNADA VOWEL SIGN EE -0CC8 ೈ KANNADA VOWEL SIGN AI -0CCA ೊ KANNADA VOWEL SIGN O -0CCB ೋ KANNADA VOWEL SIGN OO -0CCC ೌ KANNADA VOWEL SIGN AU -0CCD à³ KANNADA SIGN VIRAMA -0CD5 ೕ KANNADA LENGTH MARK -0CD6 à³– KANNADA AI LENGTH MARK -0CDE ೞ KANNADA LETTER FA -0CE0 à³  KANNADA LETTER VOCALIC RR -0CE1 ೡ KANNADA LETTER VOCALIC LL -0CE6 ೦ KANNADA DIGIT ZERO -0CE7 ೧ KANNADA DIGIT ONE -0CE8 ೨ KANNADA DIGIT TWO -0CE9 ೩ KANNADA DIGIT THREE -0CEA ೪ KANNADA DIGIT FOUR -0CEB ೫ KANNADA DIGIT FIVE -0CEC ೬ KANNADA DIGIT SIX -0CED à³­ KANNADA DIGIT SEVEN -0CEE à³® KANNADA DIGIT EIGHT -0CEF ೯ KANNADA DIGIT NINE -0D02 à´‚ MALAYALAM SIGN ANUSVARA -0D03 à´ƒ MALAYALAM SIGN VISARGA -0D05 à´… MALAYALAM LETTER A -0D06 à´† MALAYALAM LETTER AA -0D07 à´‡ MALAYALAM LETTER I -0D08 à´ˆ MALAYALAM LETTER II -0D09 à´‰ MALAYALAM LETTER U -0D0A à´Š MALAYALAM LETTER UU -0D0B à´‹ MALAYALAM LETTER VOCALIC R -0D0C à´Œ MALAYALAM LETTER VOCALIC L -0D0E à´Ž MALAYALAM LETTER E -0D0F à´ MALAYALAM LETTER EE -0D10 à´ MALAYALAM LETTER AI -0D12 à´’ MALAYALAM LETTER O -0D13 à´“ MALAYALAM LETTER OO -0D14 à´” MALAYALAM LETTER AU -0D15 à´• MALAYALAM LETTER KA -0D16 à´– MALAYALAM LETTER KHA -0D17 à´— MALAYALAM LETTER GA -0D18 à´˜ MALAYALAM LETTER GHA -0D19 à´™ MALAYALAM LETTER NGA -0D1A à´š MALAYALAM LETTER CA -0D1B à´› MALAYALAM LETTER CHA -0D1C à´œ MALAYALAM LETTER JA -0D1D à´ MALAYALAM LETTER JHA -0D1E à´ž MALAYALAM LETTER NYA -0D1F à´Ÿ MALAYALAM LETTER TTA -0D20 à´  MALAYALAM LETTER TTHA -0D21 à´¡ MALAYALAM LETTER DDA -0D22 à´¢ MALAYALAM LETTER DDHA -0D23 à´£ MALAYALAM LETTER NNA -0D24 à´¤ MALAYALAM LETTER TA -0D25 à´¥ MALAYALAM LETTER THA -0D26 à´¦ MALAYALAM LETTER DA -0D27 à´§ MALAYALAM LETTER DHA -0D28 à´¨ MALAYALAM LETTER NA -0D2A à´ª MALAYALAM LETTER PA -0D2B à´« MALAYALAM LETTER PHA -0D2C à´¬ MALAYALAM LETTER BA -0D2D à´­ MALAYALAM LETTER BHA -0D2E à´® MALAYALAM LETTER MA -0D2F à´¯ MALAYALAM LETTER YA -0D30 à´° MALAYALAM LETTER RA -0D31 à´± MALAYALAM LETTER RRA -0D32 à´² MALAYALAM LETTER LA -0D33 à´³ MALAYALAM LETTER LLA -0D34 à´´ MALAYALAM LETTER LLLA -0D35 à´µ MALAYALAM LETTER VA -0D36 à´¶ MALAYALAM LETTER SHA -0D37 à´· MALAYALAM LETTER SSA -0D38 à´¸ MALAYALAM LETTER SA -0D39 à´¹ MALAYALAM LETTER HA -0D3E à´¾ MALAYALAM VOWEL SIGN AA -0D3F à´¿ MALAYALAM VOWEL SIGN I -0D40 ീ MALAYALAM VOWEL SIGN II -0D41 ൠMALAYALAM VOWEL SIGN U -0D42 ൂ MALAYALAM VOWEL SIGN UU -0D43 ൃ MALAYALAM VOWEL SIGN VOCALIC R -0D46 െ MALAYALAM VOWEL SIGN E -0D47 േ MALAYALAM VOWEL SIGN EE -0D48 ൈ MALAYALAM VOWEL SIGN AI -0D4A ൊ MALAYALAM VOWEL SIGN O -0D4B ോ MALAYALAM VOWEL SIGN OO -0D4C ൌ MALAYALAM VOWEL SIGN AU -0D4D ൠMALAYALAM SIGN VIRAMA -0D57 ൗ MALAYALAM AU LENGTH MARK -0D60 ൠ MALAYALAM LETTER VOCALIC RR -0D61 ൡ MALAYALAM LETTER VOCALIC LL -0D66 ൦ MALAYALAM DIGIT ZERO -0D67 ൧ MALAYALAM DIGIT ONE -0D68 ൨ MALAYALAM DIGIT TWO -0D69 ൩ MALAYALAM DIGIT THREE -0D6A ൪ MALAYALAM DIGIT FOUR -0D6B ൫ MALAYALAM DIGIT FIVE -0D6C ൬ MALAYALAM DIGIT SIX -0D6D ൭ MALAYALAM DIGIT SEVEN -0D6E ൮ MALAYALAM DIGIT EIGHT -0D6F ൯ MALAYALAM DIGIT NINE -0E01 ภTHAI CHARACTER KO KAI -0E02 ข THAI CHARACTER KHO KHAI -0E03 ฃ THAI CHARACTER KHO KHUAT -0E04 ค THAI CHARACTER KHO KHWAI -0E05 ฅ THAI CHARACTER KHO KHON -0E06 ฆ THAI CHARACTER KHO RAKHANG -0E07 ง THAI CHARACTER NGO NGU -0E08 จ THAI CHARACTER CHO CHAN -0E09 ฉ THAI CHARACTER CHO CHING -0E0A ช THAI CHARACTER CHO CHANG -0E0B ซ THAI CHARACTER SO SO -0E0C ฌ THAI CHARACTER CHO CHOE -0E0D ภTHAI CHARACTER YO YING -0E0E ฎ THAI CHARACTER DO CHADA -0E0F ภTHAI CHARACTER TO PATAK -0E10 ภTHAI CHARACTER THO THAN -0E11 ฑ THAI CHARACTER THO NANGMONTHO -0E12 ฒ THAI CHARACTER THO PHUTHAO -0E13 ณ THAI CHARACTER NO NEN -0E14 ด THAI CHARACTER DO DEK -0E15 ต THAI CHARACTER TO TAO -0E16 ถ THAI CHARACTER THO THUNG -0E17 ท THAI CHARACTER THO THAHAN -0E18 ธ THAI CHARACTER THO THONG -0E19 น THAI CHARACTER NO NU -0E1A บ THAI CHARACTER BO BAIMAI -0E1B ป THAI CHARACTER PO PLA -0E1C ผ THAI CHARACTER PHO PHUNG -0E1D ภTHAI CHARACTER FO FA -0E1E พ THAI CHARACTER PHO PHAN -0E1F ฟ THAI CHARACTER FO FAN -0E20 ภ THAI CHARACTER PHO SAMPHAO -0E21 ม THAI CHARACTER MO MA -0E22 ย THAI CHARACTER YO YAK -0E23 ร THAI CHARACTER RO RUA -0E24 ฤ THAI CHARACTER RU -0E25 ล THAI CHARACTER LO LING -0E26 ฦ THAI CHARACTER LU -0E27 ว THAI CHARACTER WO WAEN -0E28 ศ THAI CHARACTER SO SALA -0E29 ษ THAI CHARACTER SO RUSI -0E2A ส THAI CHARACTER SO SUA -0E2B ห THAI CHARACTER HO HIP -0E2C ฬ THAI CHARACTER LO CHULA -0E2D อ THAI CHARACTER O ANG -0E2E ฮ THAI CHARACTER HO NOKHUK -0E2F ฯ THAI CHARACTER PAIYANNOI -0E30 ะ THAI CHARACTER SARA A -0E31 ั THAI CHARACTER MAI HAN-AKAT -0E32 า THAI CHARACTER SARA AA -0E33 ำ THAI CHARACTER SARA AM -0E34 ิ THAI CHARACTER SARA I -0E35 ี THAI CHARACTER SARA II -0E36 ึ THAI CHARACTER SARA UE -0E37 ื THAI CHARACTER SARA UEE -0E38 ุ THAI CHARACTER SARA U -0E39 ู THAI CHARACTER SARA UU -0E3A ฺ THAI CHARACTER PHINTHU -0E3F ฿ THAI CURRENCY SYMBOL BAHT -0E40 เ THAI CHARACTER SARA E -0E41 ๠THAI CHARACTER SARA AE -0E42 โ THAI CHARACTER SARA O -0E43 ใ THAI CHARACTER SARA AI MAIMUAN -0E44 ไ THAI CHARACTER SARA AI MAIMALAI -0E45 ๅ THAI CHARACTER LAKKHANGYAO -0E46 ๆ THAI CHARACTER MAIYAMOK -0E47 ็ THAI CHARACTER MAITAIKHU -0E48 ่ THAI CHARACTER MAI EK -0E49 ้ THAI CHARACTER MAI THO -0E4A ๊ THAI CHARACTER MAI TRI -0E4B ๋ THAI CHARACTER MAI CHATTAWA -0E4C ์ THAI CHARACTER THANTHAKHAT -0E4D ๠THAI CHARACTER NIKHAHIT -0E4E ๎ THAI CHARACTER YAMAKKAN -0E4F ๠THAI CHARACTER FONGMAN -0E50 ๠THAI DIGIT ZERO -0E51 ๑ THAI DIGIT ONE -0E52 ๒ THAI DIGIT TWO -0E53 ๓ THAI DIGIT THREE -0E54 ๔ THAI DIGIT FOUR -0E55 ๕ THAI DIGIT FIVE -0E56 ๖ THAI DIGIT SIX -0E57 ๗ THAI DIGIT SEVEN -0E58 ๘ THAI DIGIT EIGHT -0E59 ๙ THAI DIGIT NINE -0E5A ๚ THAI CHARACTER ANGKHANKHU -0E5B ๛ THAI CHARACTER KHOMUT -0E81 ຠLAO LETTER KO -0E82 ຂ LAO LETTER KHO SUNG -0E84 ຄ LAO LETTER KHO TAM -0E87 ງ LAO LETTER NGO -0E88 ຈ LAO LETTER CO -0E8A ຊ LAO LETTER SO TAM -0E8D ຠLAO LETTER NYO -0E94 ດ LAO LETTER DO -0E95 ຕ LAO LETTER TO -0E96 ຖ LAO LETTER THO SUNG -0E97 ທ LAO LETTER THO TAM -0E99 ນ LAO LETTER NO -0E9A ບ LAO LETTER BO -0E9B ປ LAO LETTER PO -0E9C ຜ LAO LETTER PHO SUNG -0E9D ຠLAO LETTER FO TAM -0E9E ພ LAO LETTER PHO TAM -0E9F ຟ LAO LETTER FO SUNG -0EA1 ມ LAO LETTER MO -0EA2 ຢ LAO LETTER YO -0EA3 ຣ LAO LETTER LO LING -0EA5 ລ LAO LETTER LO LOOT -0EA7 ວ LAO LETTER WO -0EAA ສ LAO LETTER SO SUNG -0EAB ຫ LAO LETTER HO SUNG -0EAD ອ LAO LETTER O -0EAE ຮ LAO LETTER HO TAM -0EAF ຯ LAO ELLIPSIS -0EB0 ະ LAO VOWEL SIGN A -0EB1 ັ LAO VOWEL SIGN MAI KAN -0EB2 າ LAO VOWEL SIGN AA -0EB3 ຳ LAO VOWEL SIGN AM -0EB4 ິ LAO VOWEL SIGN I -0EB5 ີ LAO VOWEL SIGN II -0EB6 ຶ LAO VOWEL SIGN Y -0EB7 ື LAO VOWEL SIGN YY -0EB8 ຸ LAO VOWEL SIGN U -0EB9 ູ LAO VOWEL SIGN UU -0EBB ົ LAO VOWEL SIGN MAI KON -0EBC ຼ LAO SEMIVOWEL SIGN LO -0EBD ຽ LAO SEMIVOWEL SIGN NYO -0EC0 ເ LAO VOWEL SIGN E -0EC1 à» LAO VOWEL SIGN EI -0EC2 ໂ LAO VOWEL SIGN O -0EC3 ໃ LAO VOWEL SIGN AY -0EC4 ໄ LAO VOWEL SIGN AI -0EC6 ໆ LAO KO LA -0EC8 ່ LAO TONE MAI EK -0EC9 ້ LAO TONE MAI THO -0ECA ໊ LAO TONE MAI TI -0ECB ໋ LAO TONE MAI CATAWA -0ECC ໌ LAO CANCELLATION MARK -0ECD à» LAO NIGGAHITA -0ED0 à» LAO DIGIT ZERO -0ED1 ໑ LAO DIGIT ONE -0ED2 à»’ LAO DIGIT TWO -0ED3 ໓ LAO DIGIT THREE -0ED4 à»” LAO DIGIT FOUR -0ED5 ໕ LAO DIGIT FIVE -0ED6 à»– LAO DIGIT SIX -0ED7 à»— LAO DIGIT SEVEN -0ED8 ໘ LAO DIGIT EIGHT -0ED9 à»™ LAO DIGIT NINE -0EDC ໜ LAO HO NO -0EDD à» LAO HO MO -0F00 ༀ TIBETAN SYLLABLE OM -0F01 ༠TIBETAN MARK GTER YIG MGO TRUNCATED A (ter yik go a thung) -0F02 ༂ TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA (ter yik go wum nam chey ma) -0F03 ༃ TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA (ter yik go wum ter tsek ma) -0F04 ༄ TIBETAN MARK INITIAL YIG MGO MDUN MA (yik go dun ma) -0F05 ༅ TIBETAN MARK CLOSING YIG MGO SGAB MA (yik go kab ma) -0F06 ༆ TIBETAN MARK CARET YIG MGO PHUR SHAD MA (yik go pur shey ma) -0F07 ༇ TIBETAN MARK YIG MGO TSHEG SHAD MA (yik go tsek shey ma) -0F08 ༈ TIBETAN MARK SBRUL SHAD (drul shey) -0F09 ༉ TIBETAN MARK BSKUR YIG MGO (kur yik go) -0F0A ༊ TIBETAN MARK BKA- SHOG YIG MGO (ka sho yik go) -0F0B ་ TIBETAN MARK INTERSYLLABIC TSHEG (tsek) -0F0C ༌ TIBETAN MARK DELIMITER TSHEG BSTAR (tsek tar) -0F0D ༠TIBETAN MARK SHAD (shey) -0F0E ༎ TIBETAN MARK NYIS SHAD (nyi shey) -0F0F ༠TIBETAN MARK TSHEG SHAD (tsek shey) -0F10 ༠TIBETAN MARK NYIS TSHEG SHAD (nyi tsek shey) -0F11 ༑ TIBETAN MARK RIN CHEN SPUNGS SHAD (rinchen pung shey) -0F12 ༒ TIBETAN MARK RGYA GRAM SHAD (gya tram shey) -0F13 ༓ TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN (dzu ta me long chen) -0F14 ༔ TIBETAN MARK GTER TSHEG (ter tsek) -0F15 ༕ TIBETAN LOGOTYPE SIGN CHAD RTAGS (che ta) -0F16 ༖ TIBETAN LOGOTYPE SIGN LHAG RTAGS (hlak ta) -0F17 ༗ TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS (trachen char ta) -0F18 ༘ TIBETAN ASTROLOGICAL SIGN -KHYUD PA (kyu pa) -0F19 ༙ TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS (dong tsu) -0F1A ༚ TIBETAN SIGN RDEL DKAR GCIG (deka chig) -0F1B ༛ TIBETAN SIGN RDEL DKAR GNYIS (deka nyi) -0F1C ༜ TIBETAN SIGN RDEL DKAR GSUM (deka sum) -0F1D ༠TIBETAN SIGN RDEL NAG GCIG (dena chig) -0F1E ༞ TIBETAN SIGN RDEL NAG GNYIS (dena nyi) -0F1F ༟ TIBETAN SIGN RDEL DKAR RDEL NAG (deka dena) -0F20 ༠ TIBETAN DIGIT ZERO -0F21 ༡ TIBETAN DIGIT ONE -0F22 ༢ TIBETAN DIGIT TWO -0F23 ༣ TIBETAN DIGIT THREE -0F24 ༤ TIBETAN DIGIT FOUR -0F25 ༥ TIBETAN DIGIT FIVE -0F26 ༦ TIBETAN DIGIT SIX -0F27 ༧ TIBETAN DIGIT SEVEN -0F28 ༨ TIBETAN DIGIT EIGHT -0F29 ༩ TIBETAN DIGIT NINE -0F2A ༪ TIBETAN DIGIT HALF ONE -0F2B ༫ TIBETAN DIGIT HALF TWO -0F2C ༬ TIBETAN DIGIT HALF THREE -0F2D ༭ TIBETAN DIGIT HALF FOUR -0F2E ༮ TIBETAN DIGIT HALF FIVE -0F2F ༯ TIBETAN DIGIT HALF SIX -0F30 ༰ TIBETAN DIGIT HALF SEVEN -0F31 ༱ TIBETAN DIGIT HALF EIGHT -0F32 ༲ TIBETAN DIGIT HALF NINE -0F33 ༳ TIBETAN DIGIT HALF ZERO -0F34 ༴ TIBETAN MARK BSDUS RTAGS (du ta) -0F35 ༵ TIBETAN MARK NGAS BZUNG NYI ZLA (nge zung nyi da) -0F36 ༶ TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN (dzu ta shi mig chen) -0F37 ༷ TIBETAN MARK NGAS BZUNG SGOR RTAGS (nge zung gor ta) -0F38 ༸ TIBETAN MARK CHE MGO (che go) -0F39 ༹ TIBETAN MARK TSA -PHRU (tsa tru) -0F3A ༺ TIBETAN MARK GUG RTAGS GYON (gug ta yun) -0F3B ༻ TIBETAN MARK GUG RTAGS GYAS (gug ta ye) -0F3C ༼ TIBETAN MARK ANG KHANG GYON (ang kang yun) -0F3D ༽ TIBETAN MARK ANG KHANG GYAS (ang kang ye) -0F3E ༾ TIBETAN SIGN YAR TSHES (yar tse) -0F3F ༿ TIBETAN SIGN MAR TSHES (mar tse) -0F40 ཀ TIBETAN LETTER KA -0F41 འTIBETAN LETTER KHA -0F42 ག TIBETAN LETTER GA -0F43 གྷ TIBETAN LETTER GHA -0F44 ང TIBETAN LETTER NGA -0F45 ཅ TIBETAN LETTER CA -0F46 ཆ TIBETAN LETTER CHA -0F47 ཇ TIBETAN LETTER JA -0F49 ཉ TIBETAN LETTER NYA -0F4A ཊ TIBETAN LETTER TTA -0F4B ཋ TIBETAN LETTER TTHA -0F4C ཌ TIBETAN LETTER DDA -0F4D འTIBETAN LETTER DDHA -0F4E ཎ TIBETAN LETTER NNA -0F4F འTIBETAN LETTER TA -0F50 འTIBETAN LETTER THA -0F51 ད TIBETAN LETTER DA -0F52 དྷ TIBETAN LETTER DHA -0F53 ན TIBETAN LETTER NA -0F54 པ TIBETAN LETTER PA -0F55 ཕ TIBETAN LETTER PHA -0F56 བ TIBETAN LETTER BA -0F57 བྷ TIBETAN LETTER BHA -0F58 མ TIBETAN LETTER MA -0F59 ཙ TIBETAN LETTER TSA -0F5A ཚ TIBETAN LETTER TSHA -0F5B ཛ TIBETAN LETTER DZA -0F5C ཛྷ TIBETAN LETTER DZHA -0F5D འTIBETAN LETTER WA -0F5E ཞ TIBETAN LETTER ZHA -0F5F ཟ TIBETAN LETTER ZA -0F60 འ TIBETAN LETTER -A -0F61 ཡ TIBETAN LETTER YA -0F62 ར TIBETAN LETTER RA -0F63 ལ TIBETAN LETTER LA -0F64 ཤ TIBETAN LETTER SHA -0F65 ཥ TIBETAN LETTER SSA -0F66 ས TIBETAN LETTER SA -0F67 ཧ TIBETAN LETTER HA -0F68 ཨ TIBETAN LETTER A -0F69 ཀྵ TIBETAN LETTER KSSA -0F71 ཱ TIBETAN VOWEL SIGN AA -0F72 ི TIBETAN VOWEL SIGN I -0F73 ཱི TIBETAN VOWEL SIGN II -0F74 ུ TIBETAN VOWEL SIGN U -0F75 ཱུ TIBETAN VOWEL SIGN UU -0F76 ྲྀ TIBETAN VOWEL SIGN VOCALIC R -0F77 ཷ TIBETAN VOWEL SIGN VOCALIC RR -0F78 ླྀ TIBETAN VOWEL SIGN VOCALIC L -0F79 ཹ TIBETAN VOWEL SIGN VOCALIC LL -0F7A ེ TIBETAN VOWEL SIGN E -0F7B ཻ TIBETAN VOWEL SIGN EE -0F7C ོ TIBETAN VOWEL SIGN O -0F7D ཽ TIBETAN VOWEL SIGN OO -0F7E ཾ TIBETAN SIGN RJES SU NGA RO (je su nga ro) -0F7F ཿ TIBETAN SIGN RNAM BCAD (nam chey) -0F80 ྀ TIBETAN VOWEL SIGN REVERSED I -0F81 ྠTIBETAN VOWEL SIGN REVERSED II -0F82 ྂ TIBETAN SIGN NYI ZLA NAA DA (nyi da na da) -0F83 ྃ TIBETAN SIGN SNA LDAN (nan de) -0F84 ྄ TIBETAN MARK HALANTA -0F85 ྅ TIBETAN MARK PALUTA -0F86 ྆ TIBETAN SIGN LCI RTAGS (ji ta) -0F87 ྇ TIBETAN SIGN YANG RTAGS (yang ta) -0F88 ྈ TIBETAN SIGN LCE TSA CAN (che tsa chen) -0F89 ྉ TIBETAN SIGN MCHU CAN (chu chen) -0F8A ྊ TIBETAN SIGN GRU CAN RGYINGS (tru chen ging) -0F8B ྋ TIBETAN SIGN GRU MED RGYINGS (tru me ging) -0F90 ྠTIBETAN SUBJOINED LETTER KA -0F91 ྑ TIBETAN SUBJOINED LETTER KHA -0F92 ྒ TIBETAN SUBJOINED LETTER GA -0F93 ྒྷ TIBETAN SUBJOINED LETTER GHA -0F94 ྔ TIBETAN SUBJOINED LETTER NGA -0F95 ྕ TIBETAN SUBJOINED LETTER CA -0F97 ྗ TIBETAN SUBJOINED LETTER JA -0F99 ྙ TIBETAN SUBJOINED LETTER NYA -0F9A ྚ TIBETAN SUBJOINED LETTER TTA -0F9B ྛ TIBETAN SUBJOINED LETTER TTHA -0F9C ྜ TIBETAN SUBJOINED LETTER DDA -0F9D ྠTIBETAN SUBJOINED LETTER DDHA -0F9E ྞ TIBETAN SUBJOINED LETTER NNA -0F9F ྟ TIBETAN SUBJOINED LETTER TA -0FA0 ྠ TIBETAN SUBJOINED LETTER THA -0FA1 ྡ TIBETAN SUBJOINED LETTER DA -0FA2 ྡྷ TIBETAN SUBJOINED LETTER DHA -0FA3 ྣ TIBETAN SUBJOINED LETTER NA -0FA4 ྤ TIBETAN SUBJOINED LETTER PA -0FA5 ྥ TIBETAN SUBJOINED LETTER PHA -0FA6 ྦ TIBETAN SUBJOINED LETTER BA -0FA7 ྦྷ TIBETAN SUBJOINED LETTER BHA -0FA8 ྨ TIBETAN SUBJOINED LETTER MA -0FA9 ྩ TIBETAN SUBJOINED LETTER TSA -0FAA ྪ TIBETAN SUBJOINED LETTER TSHA -0FAB ྫ TIBETAN SUBJOINED LETTER DZA -0FAC ྫྷ TIBETAN SUBJOINED LETTER DZHA -0FAD ྭ TIBETAN SUBJOINED LETTER WA -0FB1 ྱ TIBETAN SUBJOINED LETTER YA -0FB2 ྲ TIBETAN SUBJOINED LETTER RA -0FB3 ླ TIBETAN SUBJOINED LETTER LA -0FB4 ྴ TIBETAN SUBJOINED LETTER SHA -0FB5 ྵ TIBETAN SUBJOINED LETTER SSA -0FB6 ྶ TIBETAN SUBJOINED LETTER SA -0FB7 ྷ TIBETAN SUBJOINED LETTER HA -0FB9 ྐྵ TIBETAN SUBJOINED LETTER KSSA -10A0 á‚  GEORGIAN CAPITAL LETTER AN (Khutsuri) -10A1 á‚¡ GEORGIAN CAPITAL LETTER BAN (Khutsuri) -10A2 á‚¢ GEORGIAN CAPITAL LETTER GAN (Khutsuri) -10A3 á‚£ GEORGIAN CAPITAL LETTER DON (Khutsuri) -10A4 Ⴄ GEORGIAN CAPITAL LETTER EN (Khutsuri) -10A5 á‚¥ GEORGIAN CAPITAL LETTER VIN (Khutsuri) -10A6 Ⴆ GEORGIAN CAPITAL LETTER ZEN (Khutsuri) -10A7 Ⴇ GEORGIAN CAPITAL LETTER TAN (Khutsuri) -10A8 Ⴈ GEORGIAN CAPITAL LETTER IN (Khutsuri) -10A9 á‚© GEORGIAN CAPITAL LETTER KAN (Khutsuri) -10AA Ⴊ GEORGIAN CAPITAL LETTER LAS (Khutsuri) -10AB á‚« GEORGIAN CAPITAL LETTER MAN (Khutsuri) -10AC Ⴌ GEORGIAN CAPITAL LETTER NAR (Khutsuri) -10AD á‚­ GEORGIAN CAPITAL LETTER ON (Khutsuri) -10AE á‚® GEORGIAN CAPITAL LETTER PAR (Khutsuri) -10AF Ⴏ GEORGIAN CAPITAL LETTER ZHAR (Khutsuri) -10B0 á‚° GEORGIAN CAPITAL LETTER RAE (Khutsuri) -10B1 Ⴑ GEORGIAN CAPITAL LETTER SAN (Khutsuri) -10B2 Ⴒ GEORGIAN CAPITAL LETTER TAR (Khutsuri) -10B3 Ⴓ GEORGIAN CAPITAL LETTER UN (Khutsuri) -10B4 á‚´ GEORGIAN CAPITAL LETTER PHAR (Khutsuri) -10B5 Ⴕ GEORGIAN CAPITAL LETTER KHAR (Khutsuri) -10B6 Ⴖ GEORGIAN CAPITAL LETTER GHAN (Khutsuri) -10B7 á‚· GEORGIAN CAPITAL LETTER QAR (Khutsuri) -10B8 Ⴘ GEORGIAN CAPITAL LETTER SHIN (Khutsuri) -10B9 Ⴙ GEORGIAN CAPITAL LETTER CHIN (Khutsuri) -10BA Ⴚ GEORGIAN CAPITAL LETTER CAN (Khutsuri) -10BB á‚» GEORGIAN CAPITAL LETTER JIL (Khutsuri) -10BC Ⴜ GEORGIAN CAPITAL LETTER CIL (Khutsuri) -10BD Ⴝ GEORGIAN CAPITAL LETTER CHAR (Khutsuri) -10BE Ⴞ GEORGIAN CAPITAL LETTER XAN (Khutsuri) -10BF á‚¿ GEORGIAN CAPITAL LETTER JHAN (Khutsuri) -10C0 Ⴠ GEORGIAN CAPITAL LETTER HAE (Khutsuri) -10C1 რGEORGIAN CAPITAL LETTER HE (Khutsuri) -10C2 Ⴢ GEORGIAN CAPITAL LETTER HIE (Khutsuri) -10C3 Ⴣ GEORGIAN CAPITAL LETTER WE (Khutsuri) -10C4 Ⴤ GEORGIAN CAPITAL LETTER HAR (Khutsuri) -10C5 Ⴥ GEORGIAN CAPITAL LETTER HOE (Khutsuri) -10D0 რGEORGIAN LETTER AN -10D1 ბ GEORGIAN LETTER BAN -10D2 გ GEORGIAN LETTER GAN -10D3 დ GEORGIAN LETTER DON -10D4 ე GEORGIAN LETTER EN -10D5 ვ GEORGIAN LETTER VIN -10D6 ზ GEORGIAN LETTER ZEN -10D7 თ GEORGIAN LETTER TAN -10D8 ი GEORGIAN LETTER IN -10D9 კ GEORGIAN LETTER KAN -10DA ლ GEORGIAN LETTER LAS -10DB მ GEORGIAN LETTER MAN -10DC ნ GEORGIAN LETTER NAR -10DD რGEORGIAN LETTER ON -10DE პ GEORGIAN LETTER PAR -10DF ჟ GEORGIAN LETTER ZHAR -10E0 რ GEORGIAN LETTER RAE -10E1 ს GEORGIAN LETTER SAN -10E2 ტ GEORGIAN LETTER TAR -10E3 უ GEORGIAN LETTER UN -10E4 ფ GEORGIAN LETTER PHAR -10E5 ქ GEORGIAN LETTER KHAR -10E6 ღ GEORGIAN LETTER GHAN -10E7 ყ GEORGIAN LETTER QAR -10E8 შ GEORGIAN LETTER SHIN -10E9 ჩ GEORGIAN LETTER CHIN -10EA ც GEORGIAN LETTER CAN -10EB ძ GEORGIAN LETTER JIL -10EC წ GEORGIAN LETTER CIL -10ED ჭ GEORGIAN LETTER CHAR -10EE ხ GEORGIAN LETTER XAN -10EF ჯ GEORGIAN LETTER JHAN -10F0 ჰ GEORGIAN LETTER HAE -10F1 ჱ GEORGIAN LETTER HE -10F2 ჲ GEORGIAN LETTER HIE -10F3 ჳ GEORGIAN LETTER WE -10F4 ჴ GEORGIAN LETTER HAR -10F5 ჵ GEORGIAN LETTER HOE -10F6 ჶ GEORGIAN LETTER FI -10FB ჻ GEORGIAN PARAGRAPH SEPARATOR -1100 á„€ HANGUL CHOSEONG KIYEOK -1101 á„ HANGUL CHOSEONG SSANGKIYEOK -1102 á„‚ HANGUL CHOSEONG NIEUN -1103 ᄃ HANGUL CHOSEONG TIKEUT -1104 á„„ HANGUL CHOSEONG SSANGTIKEUT -1105 á„… HANGUL CHOSEONG RIEUL -1106 ᄆ HANGUL CHOSEONG MIEUM -1107 ᄇ HANGUL CHOSEONG PIEUP -1108 ᄈ HANGUL CHOSEONG SSANGPIEUP -1109 ᄉ HANGUL CHOSEONG SIOS -110A á„Š HANGUL CHOSEONG SSANGSIOS -110B á„‹ HANGUL CHOSEONG IEUNG -110C á„Œ HANGUL CHOSEONG CIEUC -110D á„ HANGUL CHOSEONG SSANGCIEUC -110E á„Ž HANGUL CHOSEONG CHIEUCH -110F á„ HANGUL CHOSEONG KHIEUKH -1110 á„ HANGUL CHOSEONG THIEUTH -1111 á„‘ HANGUL CHOSEONG PHIEUPH -1112 á„’ HANGUL CHOSEONG HIEUH -1113 á„“ HANGUL CHOSEONG NIEUN-KIYEOK -1114 á„” HANGUL CHOSEONG SSANGNIEUN -1115 á„• HANGUL CHOSEONG NIEUN-TIKEUT -1116 á„– HANGUL CHOSEONG NIEUN-PIEUP -1117 á„— HANGUL CHOSEONG TIKEUT-KIYEOK -1118 ᄘ HANGUL CHOSEONG RIEUL-NIEUN -1119 á„™ HANGUL CHOSEONG SSANGRIEUL -111A á„š HANGUL CHOSEONG RIEUL-HIEUH -111B á„› HANGUL CHOSEONG KAPYEOUNRIEUL -111C á„œ HANGUL CHOSEONG MIEUM-PIEUP -111D á„ HANGUL CHOSEONG KAPYEOUNMIEUM -111E á„ž HANGUL CHOSEONG PIEUP-KIYEOK -111F á„Ÿ HANGUL CHOSEONG PIEUP-NIEUN -1120 á„  HANGUL CHOSEONG PIEUP-TIKEUT -1121 á„¡ HANGUL CHOSEONG PIEUP-SIOS -1122 á„¢ HANGUL CHOSEONG PIEUP-SIOS-KIYEOK -1123 á„£ HANGUL CHOSEONG PIEUP-SIOS-TIKEUT -1124 ᄤ HANGUL CHOSEONG PIEUP-SIOS-PIEUP -1125 á„¥ HANGUL CHOSEONG PIEUP-SSANGSIOS -1126 ᄦ HANGUL CHOSEONG PIEUP-SIOS-CIEUC -1127 ᄧ HANGUL CHOSEONG PIEUP-CIEUC -1128 ᄨ HANGUL CHOSEONG PIEUP-CHIEUCH -1129 á„© HANGUL CHOSEONG PIEUP-THIEUTH -112A ᄪ HANGUL CHOSEONG PIEUP-PHIEUPH -112B á„« HANGUL CHOSEONG KAPYEOUNPIEUP -112C ᄬ HANGUL CHOSEONG KAPYEOUNSSANGPIEUP -112D á„­ HANGUL CHOSEONG SIOS-KIYEOK -112E á„® HANGUL CHOSEONG SIOS-NIEUN -112F ᄯ HANGUL CHOSEONG SIOS-TIKEUT -1130 á„° HANGUL CHOSEONG SIOS-RIEUL -1131 ᄱ HANGUL CHOSEONG SIOS-MIEUM -1132 ᄲ HANGUL CHOSEONG SIOS-PIEUP -1133 ᄳ HANGUL CHOSEONG SIOS-PIEUP-KIYEOK -1134 á„´ HANGUL CHOSEONG SIOS-SSANGSIOS -1135 ᄵ HANGUL CHOSEONG SIOS-IEUNG -1136 ᄶ HANGUL CHOSEONG SIOS-CIEUC -1137 á„· HANGUL CHOSEONG SIOS-CHIEUCH -1138 ᄸ HANGUL CHOSEONG SIOS-KHIEUKH -1139 ᄹ HANGUL CHOSEONG SIOS-THIEUTH -113A ᄺ HANGUL CHOSEONG SIOS-PHIEUPH -113B á„» HANGUL CHOSEONG SIOS-HIEUH -113C ᄼ HANGUL CHOSEONG CHITUEUMSIOS -113D ᄽ HANGUL CHOSEONG CHITUEUMSSANGSIOS -113E ᄾ HANGUL CHOSEONG CEONGCHIEUMSIOS -113F á„¿ HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS -1140 á…€ HANGUL CHOSEONG PANSIOS -1141 á… HANGUL CHOSEONG IEUNG-KIYEOK -1142 á…‚ HANGUL CHOSEONG IEUNG-TIKEUT -1143 á…ƒ HANGUL CHOSEONG IEUNG-MIEUM -1144 á…„ HANGUL CHOSEONG IEUNG-PIEUP -1145 á…… HANGUL CHOSEONG IEUNG-SIOS -1146 á…† HANGUL CHOSEONG IEUNG-PANSIOS -1147 á…‡ HANGUL CHOSEONG SSANGIEUNG -1148 á…ˆ HANGUL CHOSEONG IEUNG-CIEUC -1149 á…‰ HANGUL CHOSEONG IEUNG-CHIEUCH -114A á…Š HANGUL CHOSEONG IEUNG-THIEUTH -114B á…‹ HANGUL CHOSEONG IEUNG-PHIEUPH -114C á…Œ HANGUL CHOSEONG YESIEUNG -114D á… HANGUL CHOSEONG CIEUC-IEUNG -114E á…Ž HANGUL CHOSEONG CHITUEUMCIEUC -114F á… HANGUL CHOSEONG CHITUEUMSSANGCIEUC -1150 á… HANGUL CHOSEONG CEONGCHIEUMCIEUC -1151 á…‘ HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC -1152 á…’ HANGUL CHOSEONG CHIEUCH-KHIEUKH -1153 á…“ HANGUL CHOSEONG CHIEUCH-HIEUH -1154 á…” HANGUL CHOSEONG CHITUEUMCHIEUCH -1155 á…• HANGUL CHOSEONG CEONGCHIEUMCHIEUCH -1156 á…– HANGUL CHOSEONG PHIEUPH-PIEUP -1157 á…— HANGUL CHOSEONG KAPYEOUNPHIEUPH -1158 á…˜ HANGUL CHOSEONG SSANGHIEUH -1159 á…™ HANGUL CHOSEONG YEORINHIEUH -115F á…Ÿ HANGUL CHOSEONG FILLER -1160 á…  HANGUL JUNGSEONG FILLER -1161 á…¡ HANGUL JUNGSEONG A -1162 á…¢ HANGUL JUNGSEONG AE -1163 á…£ HANGUL JUNGSEONG YA -1164 á…¤ HANGUL JUNGSEONG YAE -1165 á…¥ HANGUL JUNGSEONG EO -1166 á…¦ HANGUL JUNGSEONG E -1167 á…§ HANGUL JUNGSEONG YEO -1168 á…¨ HANGUL JUNGSEONG YE -1169 á…© HANGUL JUNGSEONG O -116A á…ª HANGUL JUNGSEONG WA -116B á…« HANGUL JUNGSEONG WAE -116C á…¬ HANGUL JUNGSEONG OE -116D á…­ HANGUL JUNGSEONG YO -116E á…® HANGUL JUNGSEONG U -116F á…¯ HANGUL JUNGSEONG WEO -1170 á…° HANGUL JUNGSEONG WE -1171 á…± HANGUL JUNGSEONG WI -1172 á…² HANGUL JUNGSEONG YU -1173 á…³ HANGUL JUNGSEONG EU -1174 á…´ HANGUL JUNGSEONG YI -1175 á…µ HANGUL JUNGSEONG I -1176 á…¶ HANGUL JUNGSEONG A-O -1177 á…· HANGUL JUNGSEONG A-U -1178 á…¸ HANGUL JUNGSEONG YA-O -1179 á…¹ HANGUL JUNGSEONG YA-YO -117A á…º HANGUL JUNGSEONG EO-O -117B á…» HANGUL JUNGSEONG EO-U -117C á…¼ HANGUL JUNGSEONG EO-EU -117D á…½ HANGUL JUNGSEONG YEO-O -117E á…¾ HANGUL JUNGSEONG YEO-U -117F á…¿ HANGUL JUNGSEONG O-EO -1180 ᆀ HANGUL JUNGSEONG O-E -1181 ᆠHANGUL JUNGSEONG O-YE -1182 ᆂ HANGUL JUNGSEONG O-O -1183 ᆃ HANGUL JUNGSEONG O-U -1184 ᆄ HANGUL JUNGSEONG YO-YA -1185 ᆅ HANGUL JUNGSEONG YO-YAE -1186 ᆆ HANGUL JUNGSEONG YO-YEO -1187 ᆇ HANGUL JUNGSEONG YO-O -1188 ᆈ HANGUL JUNGSEONG YO-I -1189 ᆉ HANGUL JUNGSEONG U-A -118A ᆊ HANGUL JUNGSEONG U-AE -118B ᆋ HANGUL JUNGSEONG U-EO-EU -118C ᆌ HANGUL JUNGSEONG U-YE -118D ᆠHANGUL JUNGSEONG U-U -118E ᆎ HANGUL JUNGSEONG YU-A -118F ᆠHANGUL JUNGSEONG YU-EO -1190 ᆠHANGUL JUNGSEONG YU-E -1191 ᆑ HANGUL JUNGSEONG YU-YEO -1192 ᆒ HANGUL JUNGSEONG YU-YE -1193 ᆓ HANGUL JUNGSEONG YU-U -1194 ᆔ HANGUL JUNGSEONG YU-I -1195 ᆕ HANGUL JUNGSEONG EU-U -1196 ᆖ HANGUL JUNGSEONG EU-EU -1197 ᆗ HANGUL JUNGSEONG YI-U -1198 ᆘ HANGUL JUNGSEONG I-A -1199 ᆙ HANGUL JUNGSEONG I-YA -119A ᆚ HANGUL JUNGSEONG I-O -119B ᆛ HANGUL JUNGSEONG I-U -119C ᆜ HANGUL JUNGSEONG I-EU -119D ᆠHANGUL JUNGSEONG I-ARAEA -119E ᆞ HANGUL JUNGSEONG ARAEA -119F ᆟ HANGUL JUNGSEONG ARAEA-EO -11A0 ᆠ HANGUL JUNGSEONG ARAEA-U -11A1 ᆡ HANGUL JUNGSEONG ARAEA-I -11A2 ᆢ HANGUL JUNGSEONG SSANGARAEA -11A8 ᆨ HANGUL JONGSEONG KIYEOK -11A9 ᆩ HANGUL JONGSEONG SSANGKIYEOK -11AA ᆪ HANGUL JONGSEONG KIYEOK-SIOS -11AB ᆫ HANGUL JONGSEONG NIEUN -11AC ᆬ HANGUL JONGSEONG NIEUN-CIEUC -11AD ᆭ HANGUL JONGSEONG NIEUN-HIEUH -11AE ᆮ HANGUL JONGSEONG TIKEUT -11AF ᆯ HANGUL JONGSEONG RIEUL -11B0 ᆰ HANGUL JONGSEONG RIEUL-KIYEOK -11B1 ᆱ HANGUL JONGSEONG RIEUL-MIEUM -11B2 ᆲ HANGUL JONGSEONG RIEUL-PIEUP -11B3 ᆳ HANGUL JONGSEONG RIEUL-SIOS -11B4 ᆴ HANGUL JONGSEONG RIEUL-THIEUTH -11B5 ᆵ HANGUL JONGSEONG RIEUL-PHIEUPH -11B6 ᆶ HANGUL JONGSEONG RIEUL-HIEUH -11B7 ᆷ HANGUL JONGSEONG MIEUM -11B8 ᆸ HANGUL JONGSEONG PIEUP -11B9 ᆹ HANGUL JONGSEONG PIEUP-SIOS -11BA ᆺ HANGUL JONGSEONG SIOS -11BB ᆻ HANGUL JONGSEONG SSANGSIOS -11BC ᆼ HANGUL JONGSEONG IEUNG -11BD ᆽ HANGUL JONGSEONG CIEUC -11BE ᆾ HANGUL JONGSEONG CHIEUCH -11BF ᆿ HANGUL JONGSEONG KHIEUKH -11C0 ᇀ HANGUL JONGSEONG THIEUTH -11C1 ᇠHANGUL JONGSEONG PHIEUPH -11C2 ᇂ HANGUL JONGSEONG HIEUH -11C3 ᇃ HANGUL JONGSEONG KIYEOK-RIEUL -11C4 ᇄ HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK -11C5 ᇅ HANGUL JONGSEONG NIEUN-KIYEOK -11C6 ᇆ HANGUL JONGSEONG NIEUN-TIKEUT -11C7 ᇇ HANGUL JONGSEONG NIEUN-SIOS -11C8 ᇈ HANGUL JONGSEONG NIEUN-PANSIOS -11C9 ᇉ HANGUL JONGSEONG NIEUN-THIEUTH -11CA ᇊ HANGUL JONGSEONG TIKEUT-KIYEOK -11CB ᇋ HANGUL JONGSEONG TIKEUT-RIEUL -11CC ᇌ HANGUL JONGSEONG RIEUL-KIYEOK-SIOS -11CD ᇠHANGUL JONGSEONG RIEUL-NIEUN -11CE ᇎ HANGUL JONGSEONG RIEUL-TIKEUT -11CF ᇠHANGUL JONGSEONG RIEUL-TIKEUT-HIEUH -11D0 ᇠHANGUL JONGSEONG SSANGRIEUL -11D1 ᇑ HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK -11D2 ᇒ HANGUL JONGSEONG RIEUL-MIEUM-SIOS -11D3 ᇓ HANGUL JONGSEONG RIEUL-PIEUP-SIOS -11D4 ᇔ HANGUL JONGSEONG RIEUL-PIEUP-HIEUH -11D5 ᇕ HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP -11D6 ᇖ HANGUL JONGSEONG RIEUL-SSANGSIOS -11D7 ᇗ HANGUL JONGSEONG RIEUL-PANSIOS -11D8 ᇘ HANGUL JONGSEONG RIEUL-KHIEUKH -11D9 ᇙ HANGUL JONGSEONG RIEUL-YEORINHIEUH -11DA ᇚ HANGUL JONGSEONG MIEUM-KIYEOK -11DB ᇛ HANGUL JONGSEONG MIEUM-RIEUL -11DC ᇜ HANGUL JONGSEONG MIEUM-PIEUP -11DD ᇠHANGUL JONGSEONG MIEUM-SIOS -11DE ᇞ HANGUL JONGSEONG MIEUM-SSANGSIOS -11DF ᇟ HANGUL JONGSEONG MIEUM-PANSIOS -11E0 ᇠ HANGUL JONGSEONG MIEUM-CHIEUCH -11E1 ᇡ HANGUL JONGSEONG MIEUM-HIEUH -11E2 ᇢ HANGUL JONGSEONG KAPYEOUNMIEUM -11E3 ᇣ HANGUL JONGSEONG PIEUP-RIEUL -11E4 ᇤ HANGUL JONGSEONG PIEUP-PHIEUPH -11E5 ᇥ HANGUL JONGSEONG PIEUP-HIEUH -11E6 ᇦ HANGUL JONGSEONG KAPYEOUNPIEUP -11E7 ᇧ HANGUL JONGSEONG SIOS-KIYEOK -11E8 ᇨ HANGUL JONGSEONG SIOS-TIKEUT -11E9 ᇩ HANGUL JONGSEONG SIOS-RIEUL -11EA ᇪ HANGUL JONGSEONG SIOS-PIEUP -11EB ᇫ HANGUL JONGSEONG PANSIOS -11EC ᇬ HANGUL JONGSEONG IEUNG-KIYEOK -11ED ᇭ HANGUL JONGSEONG IEUNG-SSANGKIYEOK -11EE ᇮ HANGUL JONGSEONG SSANGIEUNG -11EF ᇯ HANGUL JONGSEONG IEUNG-KHIEUKH -11F0 ᇰ HANGUL JONGSEONG YESIEUNG -11F1 ᇱ HANGUL JONGSEONG YESIEUNG-SIOS -11F2 ᇲ HANGUL JONGSEONG YESIEUNG-PANSIOS -11F3 ᇳ HANGUL JONGSEONG PHIEUPH-PIEUP -11F4 ᇴ HANGUL JONGSEONG KAPYEOUNPHIEUPH -11F5 ᇵ HANGUL JONGSEONG HIEUH-NIEUN -11F6 ᇶ HANGUL JONGSEONG HIEUH-RIEUL -11F7 ᇷ HANGUL JONGSEONG HIEUH-MIEUM -11F8 ᇸ HANGUL JONGSEONG HIEUH-PIEUP -11F9 ᇹ HANGUL JONGSEONG YEORINHIEUH -1E00 Ḁ LATIN CAPITAL LETTER A WITH RING BELOW -1E01 ḠLATIN SMALL LETTER A WITH RING BELOW -1E02 Ḃ LATIN CAPITAL LETTER B WITH DOT ABOVE -1E03 ḃ LATIN SMALL LETTER B WITH DOT ABOVE -1E04 Ḅ LATIN CAPITAL LETTER B WITH DOT BELOW -1E05 ḅ LATIN SMALL LETTER B WITH DOT BELOW -1E06 Ḇ LATIN CAPITAL LETTER B WITH LINE BELOW -1E07 ḇ LATIN SMALL LETTER B WITH LINE BELOW -1E08 Ḉ LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE -1E09 ḉ LATIN SMALL LETTER C WITH CEDILLA AND ACUTE -1E0A Ḋ LATIN CAPITAL LETTER D WITH DOT ABOVE -1E0B ḋ LATIN SMALL LETTER D WITH DOT ABOVE -1E0C Ḍ LATIN CAPITAL LETTER D WITH DOT BELOW -1E0D ḠLATIN SMALL LETTER D WITH DOT BELOW -1E0E Ḏ LATIN CAPITAL LETTER D WITH LINE BELOW -1E0F ḠLATIN SMALL LETTER D WITH LINE BELOW -1E10 ḠLATIN CAPITAL LETTER D WITH CEDILLA -1E11 ḑ LATIN SMALL LETTER D WITH CEDILLA -1E12 Ḓ LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW -1E13 ḓ LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW -1E14 Ḕ LATIN CAPITAL LETTER E WITH MACRON AND GRAVE -1E15 ḕ LATIN SMALL LETTER E WITH MACRON AND GRAVE -1E16 Ḗ LATIN CAPITAL LETTER E WITH MACRON AND ACUTE -1E17 ḗ LATIN SMALL LETTER E WITH MACRON AND ACUTE -1E18 Ḙ LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW -1E19 ḙ LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW -1E1A Ḛ LATIN CAPITAL LETTER E WITH TILDE BELOW -1E1B ḛ LATIN SMALL LETTER E WITH TILDE BELOW -1E1C Ḝ LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE -1E1D ḠLATIN SMALL LETTER E WITH CEDILLA AND BREVE -1E1E Ḟ LATIN CAPITAL LETTER F WITH DOT ABOVE -1E1F ḟ LATIN SMALL LETTER F WITH DOT ABOVE -1E20 Ḡ LATIN CAPITAL LETTER G WITH MACRON -1E21 ḡ LATIN SMALL LETTER G WITH MACRON -1E22 Ḣ LATIN CAPITAL LETTER H WITH DOT ABOVE -1E23 ḣ LATIN SMALL LETTER H WITH DOT ABOVE -1E24 Ḥ LATIN CAPITAL LETTER H WITH DOT BELOW -1E25 ḥ LATIN SMALL LETTER H WITH DOT BELOW -1E26 Ḧ LATIN CAPITAL LETTER H WITH DIAERESIS -1E27 ḧ LATIN SMALL LETTER H WITH DIAERESIS -1E28 Ḩ LATIN CAPITAL LETTER H WITH CEDILLA -1E29 ḩ LATIN SMALL LETTER H WITH CEDILLA -1E2A Ḫ LATIN CAPITAL LETTER H WITH BREVE BELOW -1E2B ḫ LATIN SMALL LETTER H WITH BREVE BELOW -1E2C Ḭ LATIN CAPITAL LETTER I WITH TILDE BELOW -1E2D ḭ LATIN SMALL LETTER I WITH TILDE BELOW -1E2E Ḯ LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE -1E2F ḯ LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE -1E30 Ḱ LATIN CAPITAL LETTER K WITH ACUTE -1E31 ḱ LATIN SMALL LETTER K WITH ACUTE -1E32 Ḳ LATIN CAPITAL LETTER K WITH DOT BELOW -1E33 ḳ LATIN SMALL LETTER K WITH DOT BELOW -1E34 Ḵ LATIN CAPITAL LETTER K WITH LINE BELOW -1E35 ḵ LATIN SMALL LETTER K WITH LINE BELOW -1E36 Ḷ LATIN CAPITAL LETTER L WITH DOT BELOW -1E37 ḷ LATIN SMALL LETTER L WITH DOT BELOW -1E38 Ḹ LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON -1E39 ḹ LATIN SMALL LETTER L WITH DOT BELOW AND MACRON -1E3A Ḻ LATIN CAPITAL LETTER L WITH LINE BELOW -1E3B ḻ LATIN SMALL LETTER L WITH LINE BELOW -1E3C Ḽ LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW -1E3D ḽ LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW -1E3E Ḿ LATIN CAPITAL LETTER M WITH ACUTE -1E3F ḿ LATIN SMALL LETTER M WITH ACUTE -1E40 á¹€ LATIN CAPITAL LETTER M WITH DOT ABOVE -1E41 á¹ LATIN SMALL LETTER M WITH DOT ABOVE -1E42 Ṃ LATIN CAPITAL LETTER M WITH DOT BELOW -1E43 ṃ LATIN SMALL LETTER M WITH DOT BELOW -1E44 Ṅ LATIN CAPITAL LETTER N WITH DOT ABOVE -1E45 á¹… LATIN SMALL LETTER N WITH DOT ABOVE -1E46 Ṇ LATIN CAPITAL LETTER N WITH DOT BELOW -1E47 ṇ LATIN SMALL LETTER N WITH DOT BELOW -1E48 Ṉ LATIN CAPITAL LETTER N WITH LINE BELOW -1E49 ṉ LATIN SMALL LETTER N WITH LINE BELOW -1E4A Ṋ LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW -1E4B ṋ LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW -1E4C Ṍ LATIN CAPITAL LETTER O WITH TILDE AND ACUTE -1E4D á¹ LATIN SMALL LETTER O WITH TILDE AND ACUTE -1E4E Ṏ LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS -1E4F á¹ LATIN SMALL LETTER O WITH TILDE AND DIAERESIS -1E50 á¹ LATIN CAPITAL LETTER O WITH MACRON AND GRAVE -1E51 ṑ LATIN SMALL LETTER O WITH MACRON AND GRAVE -1E52 á¹’ LATIN CAPITAL LETTER O WITH MACRON AND ACUTE -1E53 ṓ LATIN SMALL LETTER O WITH MACRON AND ACUTE -1E54 á¹” LATIN CAPITAL LETTER P WITH ACUTE -1E55 ṕ LATIN SMALL LETTER P WITH ACUTE -1E56 á¹– LATIN CAPITAL LETTER P WITH DOT ABOVE -1E57 á¹— LATIN SMALL LETTER P WITH DOT ABOVE -1E58 Ṙ LATIN CAPITAL LETTER R WITH DOT ABOVE -1E59 á¹™ LATIN SMALL LETTER R WITH DOT ABOVE -1E5A Ṛ LATIN CAPITAL LETTER R WITH DOT BELOW -1E5B á¹› LATIN SMALL LETTER R WITH DOT BELOW -1E5C Ṝ LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON -1E5D á¹ LATIN SMALL LETTER R WITH DOT BELOW AND MACRON -1E5E Ṟ LATIN CAPITAL LETTER R WITH LINE BELOW -1E5F ṟ LATIN SMALL LETTER R WITH LINE BELOW -1E60 á¹  LATIN CAPITAL LETTER S WITH DOT ABOVE -1E61 ṡ LATIN SMALL LETTER S WITH DOT ABOVE -1E62 á¹¢ LATIN CAPITAL LETTER S WITH DOT BELOW -1E63 á¹£ LATIN SMALL LETTER S WITH DOT BELOW -1E64 Ṥ LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE -1E65 á¹¥ LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE -1E66 Ṧ LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE -1E67 ṧ LATIN SMALL LETTER S WITH CARON AND DOT ABOVE -1E68 Ṩ LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE -1E69 ṩ LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE -1E6A Ṫ LATIN CAPITAL LETTER T WITH DOT ABOVE -1E6B ṫ LATIN SMALL LETTER T WITH DOT ABOVE -1E6C Ṭ LATIN CAPITAL LETTER T WITH DOT BELOW -1E6D á¹­ LATIN SMALL LETTER T WITH DOT BELOW -1E6E á¹® LATIN CAPITAL LETTER T WITH LINE BELOW -1E6F ṯ LATIN SMALL LETTER T WITH LINE BELOW -1E70 á¹° LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW -1E71 á¹± LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW -1E72 á¹² LATIN CAPITAL LETTER U WITH DIAERESIS BELOW -1E73 á¹³ LATIN SMALL LETTER U WITH DIAERESIS BELOW -1E74 á¹´ LATIN CAPITAL LETTER U WITH TILDE BELOW -1E75 á¹µ LATIN SMALL LETTER U WITH TILDE BELOW -1E76 Ṷ LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW -1E77 á¹· LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW -1E78 Ṹ LATIN CAPITAL LETTER U WITH TILDE AND ACUTE -1E79 á¹¹ LATIN SMALL LETTER U WITH TILDE AND ACUTE -1E7A Ṻ LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS -1E7B á¹» LATIN SMALL LETTER U WITH MACRON AND DIAERESIS -1E7C á¹¼ LATIN CAPITAL LETTER V WITH TILDE -1E7D á¹½ LATIN SMALL LETTER V WITH TILDE -1E7E á¹¾ LATIN CAPITAL LETTER V WITH DOT BELOW -1E7F ṿ LATIN SMALL LETTER V WITH DOT BELOW -1E80 Ẁ LATIN CAPITAL LETTER W WITH GRAVE -1E81 ẠLATIN SMALL LETTER W WITH GRAVE -1E82 Ẃ LATIN CAPITAL LETTER W WITH ACUTE -1E83 ẃ LATIN SMALL LETTER W WITH ACUTE -1E84 Ẅ LATIN CAPITAL LETTER W WITH DIAERESIS -1E85 ẅ LATIN SMALL LETTER W WITH DIAERESIS -1E86 Ẇ LATIN CAPITAL LETTER W WITH DOT ABOVE -1E87 ẇ LATIN SMALL LETTER W WITH DOT ABOVE -1E88 Ẉ LATIN CAPITAL LETTER W WITH DOT BELOW -1E89 ẉ LATIN SMALL LETTER W WITH DOT BELOW -1E8A Ẋ LATIN CAPITAL LETTER X WITH DOT ABOVE -1E8B ẋ LATIN SMALL LETTER X WITH DOT ABOVE -1E8C Ẍ LATIN CAPITAL LETTER X WITH DIAERESIS -1E8D ẠLATIN SMALL LETTER X WITH DIAERESIS -1E8E Ẏ LATIN CAPITAL LETTER Y WITH DOT ABOVE -1E8F ẠLATIN SMALL LETTER Y WITH DOT ABOVE -1E90 ẠLATIN CAPITAL LETTER Z WITH CIRCUMFLEX -1E91 ẑ LATIN SMALL LETTER Z WITH CIRCUMFLEX -1E92 Ẓ LATIN CAPITAL LETTER Z WITH DOT BELOW -1E93 ẓ LATIN SMALL LETTER Z WITH DOT BELOW -1E94 Ẕ LATIN CAPITAL LETTER Z WITH LINE BELOW -1E95 ẕ LATIN SMALL LETTER Z WITH LINE BELOW -1E96 ẖ LATIN SMALL LETTER H WITH LINE BELOW -1E97 ẗ LATIN SMALL LETTER T WITH DIAERESIS -1E98 ẘ LATIN SMALL LETTER W WITH RING ABOVE -1E99 ẙ LATIN SMALL LETTER Y WITH RING ABOVE -1E9A ẚ LATIN SMALL LETTER A WITH RIGHT HALF RING -1E9B ẛ LATIN SMALL LETTER LONG S WITH DOT ABOVE -1EA0 Ạ LATIN CAPITAL LETTER A WITH DOT BELOW -1EA1 ạ LATIN SMALL LETTER A WITH DOT BELOW -1EA2 Ả LATIN CAPITAL LETTER A WITH HOOK ABOVE -1EA3 ả LATIN SMALL LETTER A WITH HOOK ABOVE -1EA4 Ấ LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE -1EA5 ấ LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE -1EA6 Ầ LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE -1EA7 ầ LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE -1EA8 Ẩ LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE -1EA9 ẩ LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE -1EAA Ẫ LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE -1EAB ẫ LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE -1EAC Ậ LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW -1EAD ậ LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW -1EAE Ắ LATIN CAPITAL LETTER A WITH BREVE AND ACUTE -1EAF ắ LATIN SMALL LETTER A WITH BREVE AND ACUTE -1EB0 Ằ LATIN CAPITAL LETTER A WITH BREVE AND GRAVE -1EB1 ằ LATIN SMALL LETTER A WITH BREVE AND GRAVE -1EB2 Ẳ LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE -1EB3 ẳ LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE -1EB4 Ẵ LATIN CAPITAL LETTER A WITH BREVE AND TILDE -1EB5 ẵ LATIN SMALL LETTER A WITH BREVE AND TILDE -1EB6 Ặ LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW -1EB7 ặ LATIN SMALL LETTER A WITH BREVE AND DOT BELOW -1EB8 Ẹ LATIN CAPITAL LETTER E WITH DOT BELOW -1EB9 ẹ LATIN SMALL LETTER E WITH DOT BELOW -1EBA Ẻ LATIN CAPITAL LETTER E WITH HOOK ABOVE -1EBB ẻ LATIN SMALL LETTER E WITH HOOK ABOVE -1EBC Ẽ LATIN CAPITAL LETTER E WITH TILDE -1EBD ẽ LATIN SMALL LETTER E WITH TILDE -1EBE Ế LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE -1EBF ế LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE -1EC0 Ề LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE -1EC1 á» LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE -1EC2 Ể LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE -1EC3 ể LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE -1EC4 Ễ LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE -1EC5 á»… LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE -1EC6 Ệ LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW -1EC7 ệ LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW -1EC8 Ỉ LATIN CAPITAL LETTER I WITH HOOK ABOVE -1EC9 ỉ LATIN SMALL LETTER I WITH HOOK ABOVE -1ECA Ị LATIN CAPITAL LETTER I WITH DOT BELOW -1ECB ị LATIN SMALL LETTER I WITH DOT BELOW -1ECC Ọ LATIN CAPITAL LETTER O WITH DOT BELOW -1ECD á» LATIN SMALL LETTER O WITH DOT BELOW -1ECE Ỏ LATIN CAPITAL LETTER O WITH HOOK ABOVE -1ECF á» LATIN SMALL LETTER O WITH HOOK ABOVE -1ED0 á» LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE -1ED1 ố LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE -1ED2 á»’ LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE -1ED3 ồ LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE -1ED4 á»” LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE -1ED5 ổ LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE -1ED6 á»– LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE -1ED7 á»— LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE -1ED8 Ộ LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW -1ED9 á»™ LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW -1EDA Ớ LATIN CAPITAL LETTER O WITH HORN AND ACUTE -1EDB á»› LATIN SMALL LETTER O WITH HORN AND ACUTE -1EDC Ờ LATIN CAPITAL LETTER O WITH HORN AND GRAVE -1EDD á» LATIN SMALL LETTER O WITH HORN AND GRAVE -1EDE Ở LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE -1EDF ở LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE -1EE0 á»  LATIN CAPITAL LETTER O WITH HORN AND TILDE -1EE1 ỡ LATIN SMALL LETTER O WITH HORN AND TILDE -1EE2 Ợ LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW -1EE3 ợ LATIN SMALL LETTER O WITH HORN AND DOT BELOW -1EE4 Ụ LATIN CAPITAL LETTER U WITH DOT BELOW -1EE5 ụ LATIN SMALL LETTER U WITH DOT BELOW -1EE6 Ủ LATIN CAPITAL LETTER U WITH HOOK ABOVE -1EE7 ủ LATIN SMALL LETTER U WITH HOOK ABOVE -1EE8 Ứ LATIN CAPITAL LETTER U WITH HORN AND ACUTE -1EE9 ứ LATIN SMALL LETTER U WITH HORN AND ACUTE -1EEA Ừ LATIN CAPITAL LETTER U WITH HORN AND GRAVE -1EEB ừ LATIN SMALL LETTER U WITH HORN AND GRAVE -1EEC Ử LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE -1EED á»­ LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE -1EEE á»® LATIN CAPITAL LETTER U WITH HORN AND TILDE -1EEF ữ LATIN SMALL LETTER U WITH HORN AND TILDE -1EF0 á»° LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW -1EF1 á»± LATIN SMALL LETTER U WITH HORN AND DOT BELOW -1EF2 Ỳ LATIN CAPITAL LETTER Y WITH GRAVE -1EF3 ỳ LATIN SMALL LETTER Y WITH GRAVE -1EF4 á»´ LATIN CAPITAL LETTER Y WITH DOT BELOW -1EF5 ỵ LATIN SMALL LETTER Y WITH DOT BELOW -1EF6 Ỷ LATIN CAPITAL LETTER Y WITH HOOK ABOVE -1EF7 á»· LATIN SMALL LETTER Y WITH HOOK ABOVE -1EF8 Ỹ LATIN CAPITAL LETTER Y WITH TILDE -1EF9 ỹ LATIN SMALL LETTER Y WITH TILDE -1F00 á¼€ GREEK SMALL LETTER ALPHA WITH PSILI -1F01 á¼ GREEK SMALL LETTER ALPHA WITH DASIA -1F02 ἂ GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA -1F03 ἃ GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA -1F04 ἄ GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA -1F05 á¼… GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA -1F06 ἆ GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI -1F07 ἇ GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI -1F08 Ἀ GREEK CAPITAL LETTER ALPHA WITH PSILI -1F09 Ἁ GREEK CAPITAL LETTER ALPHA WITH DASIA -1F0A Ἂ GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA -1F0B Ἃ GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA -1F0C Ἄ GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA -1F0D á¼ GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA -1F0E Ἆ GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI -1F0F á¼ GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI -1F10 á¼ GREEK SMALL LETTER EPSILON WITH PSILI -1F11 ἑ GREEK SMALL LETTER EPSILON WITH DASIA -1F12 á¼’ GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA -1F13 ἓ GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA -1F14 á¼” GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA -1F15 ἕ GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA -1F18 Ἐ GREEK CAPITAL LETTER EPSILON WITH PSILI -1F19 á¼™ GREEK CAPITAL LETTER EPSILON WITH DASIA -1F1A Ἒ GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA -1F1B á¼› GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA -1F1C Ἔ GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA -1F1D á¼ GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA -1F20 á¼  GREEK SMALL LETTER ETA WITH PSILI -1F21 ἡ GREEK SMALL LETTER ETA WITH DASIA -1F22 á¼¢ GREEK SMALL LETTER ETA WITH PSILI AND VARIA -1F23 á¼£ GREEK SMALL LETTER ETA WITH DASIA AND VARIA -1F24 ἤ GREEK SMALL LETTER ETA WITH PSILI AND OXIA -1F25 á¼¥ GREEK SMALL LETTER ETA WITH DASIA AND OXIA -1F26 ἦ GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI -1F27 ἧ GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI -1F28 Ἠ GREEK CAPITAL LETTER ETA WITH PSILI -1F29 Ἡ GREEK CAPITAL LETTER ETA WITH DASIA -1F2A Ἢ GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA -1F2B Ἣ GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA -1F2C Ἤ GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA -1F2D á¼­ GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA -1F2E á¼® GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI -1F2F Ἧ GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI -1F30 á¼° GREEK SMALL LETTER IOTA WITH PSILI -1F31 á¼± GREEK SMALL LETTER IOTA WITH DASIA -1F32 á¼² GREEK SMALL LETTER IOTA WITH PSILI AND VARIA -1F33 á¼³ GREEK SMALL LETTER IOTA WITH DASIA AND VARIA -1F34 á¼´ GREEK SMALL LETTER IOTA WITH PSILI AND OXIA -1F35 á¼µ GREEK SMALL LETTER IOTA WITH DASIA AND OXIA -1F36 ἶ GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI -1F37 á¼· GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI -1F38 Ἰ GREEK CAPITAL LETTER IOTA WITH PSILI -1F39 á¼¹ GREEK CAPITAL LETTER IOTA WITH DASIA -1F3A Ἲ GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA -1F3B á¼» GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA -1F3C á¼¼ GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA -1F3D á¼½ GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA -1F3E á¼¾ GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI -1F3F Ἷ GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI -1F40 á½€ GREEK SMALL LETTER OMICRON WITH PSILI -1F41 á½ GREEK SMALL LETTER OMICRON WITH DASIA -1F42 ὂ GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA -1F43 ὃ GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA -1F44 ὄ GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA -1F45 á½… GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA -1F48 Ὀ GREEK CAPITAL LETTER OMICRON WITH PSILI -1F49 Ὁ GREEK CAPITAL LETTER OMICRON WITH DASIA -1F4A Ὂ GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA -1F4B Ὃ GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA -1F4C Ὄ GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA -1F4D á½ GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA -1F50 á½ GREEK SMALL LETTER UPSILON WITH PSILI -1F51 ὑ GREEK SMALL LETTER UPSILON WITH DASIA -1F52 á½’ GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA -1F53 ὓ GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA -1F54 á½” GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA -1F55 ὕ GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA -1F56 á½– GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI -1F57 á½— GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI -1F59 á½™ GREEK CAPITAL LETTER UPSILON WITH DASIA -1F5B á½› GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA -1F5D á½ GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA -1F5F Ὗ GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI -1F60 á½  GREEK SMALL LETTER OMEGA WITH PSILI -1F61 ὡ GREEK SMALL LETTER OMEGA WITH DASIA -1F62 á½¢ GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA -1F63 á½£ GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA -1F64 ὤ GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA -1F65 á½¥ GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA -1F66 ὦ GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI -1F67 ὧ GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI -1F68 Ὠ GREEK CAPITAL LETTER OMEGA WITH PSILI -1F69 Ὡ GREEK CAPITAL LETTER OMEGA WITH DASIA -1F6A Ὢ GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA -1F6B Ὣ GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA -1F6C Ὤ GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA -1F6D á½­ GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA -1F6E á½® GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI -1F6F Ὧ GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI -1F70 á½° GREEK SMALL LETTER ALPHA WITH VARIA -1F71 á½± GREEK SMALL LETTER ALPHA WITH OXIA -1F72 á½² GREEK SMALL LETTER EPSILON WITH VARIA -1F73 á½³ GREEK SMALL LETTER EPSILON WITH OXIA -1F74 á½´ GREEK SMALL LETTER ETA WITH VARIA -1F75 á½µ GREEK SMALL LETTER ETA WITH OXIA -1F76 ὶ GREEK SMALL LETTER IOTA WITH VARIA -1F77 á½· GREEK SMALL LETTER IOTA WITH OXIA -1F78 ὸ GREEK SMALL LETTER OMICRON WITH VARIA -1F79 á½¹ GREEK SMALL LETTER OMICRON WITH OXIA -1F7A ὺ GREEK SMALL LETTER UPSILON WITH VARIA -1F7B á½» GREEK SMALL LETTER UPSILON WITH OXIA -1F7C á½¼ GREEK SMALL LETTER OMEGA WITH VARIA -1F7D á½½ GREEK SMALL LETTER OMEGA WITH OXIA -1F80 á¾€ GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI -1F81 á¾ GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI -1F82 ᾂ GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI -1F83 ᾃ GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI -1F84 ᾄ GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI -1F85 á¾… GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI -1F86 ᾆ GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI -1F87 ᾇ GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI -1F88 ᾈ GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI -1F89 ᾉ GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI -1F8A ᾊ GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI -1F8B ᾋ GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI -1F8C ᾌ GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI -1F8D á¾ GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI -1F8E ᾎ GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI -1F8F á¾ GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI -1F90 á¾ GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI -1F91 ᾑ GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI -1F92 á¾’ GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI -1F93 ᾓ GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI -1F94 á¾” GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI -1F95 ᾕ GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI -1F96 á¾– GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI -1F97 á¾— GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI -1F98 ᾘ GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI -1F99 á¾™ GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI -1F9A ᾚ GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI -1F9B á¾› GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI -1F9C ᾜ GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI -1F9D á¾ GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI -1F9E ᾞ GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI -1F9F ᾟ GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI -1FA0 á¾  GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI -1FA1 ᾡ GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI -1FA2 á¾¢ GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI -1FA3 á¾£ GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI -1FA4 ᾤ GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI -1FA5 á¾¥ GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI -1FA6 ᾦ GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI -1FA7 ᾧ GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI -1FA8 ᾨ GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI -1FA9 ᾩ GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI -1FAA ᾪ GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI -1FAB ᾫ GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI -1FAC ᾬ GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI -1FAD á¾­ GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI -1FAE á¾® GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI -1FAF ᾯ GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI -1FB0 á¾° GREEK SMALL LETTER ALPHA WITH VRACHY -1FB1 á¾± GREEK SMALL LETTER ALPHA WITH MACRON -1FB2 á¾² GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI -1FB3 á¾³ GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI -1FB4 á¾´ GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI -1FB6 ᾶ GREEK SMALL LETTER ALPHA WITH PERISPOMENI -1FB7 á¾· GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI -1FB8 Ᾰ GREEK CAPITAL LETTER ALPHA WITH VRACHY -1FB9 á¾¹ GREEK CAPITAL LETTER ALPHA WITH MACRON -1FBA Ὰ GREEK CAPITAL LETTER ALPHA WITH VARIA -1FBB á¾» GREEK CAPITAL LETTER ALPHA WITH OXIA -1FBC á¾¼ GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI -1FBD á¾½ GREEK KORONIS -1FBE á¾¾ GREEK PROSGEGRAMMENI -1FBF ᾿ GREEK PSILI -1FC0 á¿€ GREEK PERISPOMENI -1FC1 á¿ GREEK DIALYTIKA AND PERISPOMENI -1FC2 á¿‚ GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI -1FC3 ῃ GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI -1FC4 á¿„ GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI -1FC6 ῆ GREEK SMALL LETTER ETA WITH PERISPOMENI -1FC7 ῇ GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI -1FC8 Ὲ GREEK CAPITAL LETTER EPSILON WITH VARIA -1FC9 Έ GREEK CAPITAL LETTER EPSILON WITH OXIA -1FCA á¿Š GREEK CAPITAL LETTER ETA WITH VARIA -1FCB á¿‹ GREEK CAPITAL LETTER ETA WITH OXIA -1FCC á¿Œ GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI -1FCD á¿ GREEK PSILI AND VARIA -1FCE á¿Ž GREEK PSILI AND OXIA -1FCF á¿ GREEK PSILI AND PERISPOMENI -1FD0 á¿ GREEK SMALL LETTER IOTA WITH VRACHY -1FD1 á¿‘ GREEK SMALL LETTER IOTA WITH MACRON -1FD2 á¿’ GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA -1FD3 á¿“ GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA -1FD6 á¿– GREEK SMALL LETTER IOTA WITH PERISPOMENI -1FD7 á¿— GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI -1FD8 Ῐ GREEK CAPITAL LETTER IOTA WITH VRACHY -1FD9 á¿™ GREEK CAPITAL LETTER IOTA WITH MACRON -1FDA á¿š GREEK CAPITAL LETTER IOTA WITH VARIA -1FDB á¿› GREEK CAPITAL LETTER IOTA WITH OXIA -1FDD á¿ GREEK DASIA AND VARIA -1FDE á¿ž GREEK DASIA AND OXIA -1FDF á¿Ÿ GREEK DASIA AND PERISPOMENI -1FE0 á¿  GREEK SMALL LETTER UPSILON WITH VRACHY -1FE1 á¿¡ GREEK SMALL LETTER UPSILON WITH MACRON -1FE2 á¿¢ GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA -1FE3 á¿£ GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA -1FE4 ῤ GREEK SMALL LETTER RHO WITH PSILI -1FE5 á¿¥ GREEK SMALL LETTER RHO WITH DASIA -1FE6 ῦ GREEK SMALL LETTER UPSILON WITH PERISPOMENI -1FE7 ῧ GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI -1FE8 Ῠ GREEK CAPITAL LETTER UPSILON WITH VRACHY -1FE9 á¿© GREEK CAPITAL LETTER UPSILON WITH MACRON -1FEA Ὺ GREEK CAPITAL LETTER UPSILON WITH VARIA -1FEB á¿« GREEK CAPITAL LETTER UPSILON WITH OXIA -1FEC Ῥ GREEK CAPITAL LETTER RHO WITH DASIA -1FED á¿­ GREEK DIALYTIKA AND VARIA -1FEE á¿® GREEK DIALYTIKA AND OXIA -1FEF ` GREEK VARIA -1FF2 ῲ GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI -1FF3 ῳ GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI -1FF4 á¿´ GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI -1FF6 ῶ GREEK SMALL LETTER OMEGA WITH PERISPOMENI -1FF7 á¿· GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI -1FF8 Ὸ GREEK CAPITAL LETTER OMICRON WITH VARIA -1FF9 Ό GREEK CAPITAL LETTER OMICRON WITH OXIA -1FFA Ὼ GREEK CAPITAL LETTER OMEGA WITH VARIA -1FFB á¿» GREEK CAPITAL LETTER OMEGA WITH OXIA -1FFC ῼ GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI -1FFD ´ GREEK OXIA -1FFE ῾ GREEK DASIA -2000   EN QUAD -2001 †EM QUAD -2002   EN SPACE -2003   EM SPACE -2004   THREE-PER-EM SPACE -2005   FOUR-PER-EM SPACE -2006   SIX-PER-EM SPACE -2007   FIGURE SPACE -2008   PUNCTUATION SPACE -2009   THIN SPACE -200A   HAIR SPACE -200B ​ ZERO WIDTH SPACE -2010 †HYPHEN -2011 ‑ NON-BREAKING HYPHEN -2012 ‒ FIGURE DASH -2013 – EN DASH -2014 — EM DASH -2015 ― HORIZONTAL BAR -2016 ‖ DOUBLE VERTICAL LINE -2017 ‗ DOUBLE LOW LINE -2018 ‘ LEFT SINGLE QUOTATION MARK -2019 ’ RIGHT SINGLE QUOTATION MARK -201A ‚ SINGLE LOW-9 QUOTATION MARK -201B ‛ SINGLE HIGH-REVERSED-9 QUOTATION MARK -201C “ LEFT DOUBLE QUOTATION MARK -201D †RIGHT DOUBLE QUOTATION MARK -201E „ DOUBLE LOW-9 QUOTATION MARK -201F ‟ DOUBLE HIGH-REVERSED-9 QUOTATION MARK -2020 † DAGGER -2021 ‡ DOUBLE DAGGER -2022 • BULLET -2023 ‣ TRIANGULAR BULLET -2024 ․ ONE DOT LEADER -2025 ‥ TWO DOT LEADER -2026 … HORIZONTAL ELLIPSIS -2027 ‧ HYPHENATION POINT -2028 
 LINE SEPARATOR -2029 
 PARAGRAPH SEPARATOR -2030 ‰ PER MILLE SIGN -2031 ‱ PER TEN THOUSAND SIGN -2032 ′ PRIME -2033 ″ DOUBLE PRIME -2034 ‴ TRIPLE PRIME -2035 ‵ REVERSED PRIME -2036 ‶ REVERSED DOUBLE PRIME -2037 ‷ REVERSED TRIPLE PRIME -2038 ‸ CARET -2039 ‹ SINGLE LEFT-POINTING ANGLE QUOTATION MARK -203A › SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -203B ※ REFERENCE MARK -203C ‼ DOUBLE EXCLAMATION MARK -203D ‽ INTERROBANG -203E ‾ OVERLINE -203F ‿ UNDERTIE (Enotikon) -2040 †CHARACTER TIE -2041 â CARET INSERTION POINT -2042 â‚ ASTERISM -2043 ⃠HYPHEN BULLET -2044 â„ FRACTION SLASH -2045 â… LEFT SQUARE BRACKET WITH QUILL -2046 ↠RIGHT SQUARE BRACKET WITH QUILL -2070 â° SUPERSCRIPT ZERO -2074 â´ SUPERSCRIPT FOUR -2075 âµ SUPERSCRIPT FIVE -2076 ⶠSUPERSCRIPT SIX -2077 â· SUPERSCRIPT SEVEN -2078 ⸠SUPERSCRIPT EIGHT -2079 â¹ SUPERSCRIPT NINE -207A ⺠SUPERSCRIPT PLUS SIGN -207B â» SUPERSCRIPT MINUS -207C â¼ SUPERSCRIPT EQUALS SIGN -207D â½ SUPERSCRIPT LEFT PARENTHESIS -207E â¾ SUPERSCRIPT RIGHT PARENTHESIS -207F â¿ SUPERSCRIPT LATIN SMALL LETTER N -2080 â‚€ SUBSCRIPT ZERO -2081 â‚ SUBSCRIPT ONE -2082 â‚‚ SUBSCRIPT TWO -2083 ₃ SUBSCRIPT THREE -2084 â‚„ SUBSCRIPT FOUR -2085 â‚… SUBSCRIPT FIVE -2086 ₆ SUBSCRIPT SIX -2087 ₇ SUBSCRIPT SEVEN -2088 ₈ SUBSCRIPT EIGHT -2089 ₉ SUBSCRIPT NINE -208A â‚Š SUBSCRIPT PLUS SIGN -208B â‚‹ SUBSCRIPT MINUS -208C â‚Œ SUBSCRIPT EQUALS SIGN -208D â‚ SUBSCRIPT LEFT PARENTHESIS -208E â‚Ž SUBSCRIPT RIGHT PARENTHESIS -20A0 â‚  EURO-CURRENCY SIGN -20A1 â‚¡ COLON SIGN -20A2 â‚¢ CRUZEIRO SIGN -20A3 â‚£ FRENCH FRANC SIGN -20A4 ₤ LIRA SIGN -20A5 â‚¥ MILL SIGN -20A6 ₦ NAIRA SIGN -20A7 ₧ PESETA SIGN -20A8 ₨ RUPEE SIGN -20A9 â‚© WON SIGN -20AA ₪ NEW SHEQEL SIGN -20AB â‚« DONG SIGN -20AC € EURO SIGN -20D0 ⃠COMBINING LEFT HARPOON ABOVE -20D1 ⃑ COMBINING RIGHT HARPOON ABOVE -20D2 ⃒ COMBINING LONG VERTICAL LINE OVERLAY -20D3 ⃓ COMBINING SHORT VERTICAL LINE OVERLAY -20D4 ⃔ COMBINING ANTICLOCKWISE ARROW ABOVE -20D5 ⃕ COMBINING CLOCKWISE ARROW ABOVE -20D6 ⃖ COMBINING LEFT ARROW ABOVE -20D7 ⃗ COMBINING RIGHT ARROW ABOVE -20D8 ⃘ COMBINING RING OVERLAY -20D9 ⃙ COMBINING CLOCKWISE RING OVERLAY -20DA ⃚ COMBINING ANTICLOCKWISE RING OVERLAY -20DB ⃛ COMBINING THREE DOTS ABOVE -20DC ⃜ COMBINING FOUR DOTS ABOVE -20DD ⃠COMBINING ENCLOSING CIRCLE -20DE ⃞ COMBINING ENCLOSING SQUARE -20DF ⃟ COMBINING ENCLOSING DIAMOND -20E0 ⃠ COMBINING ENCLOSING CIRCLE BACKSLASH -20E1 ⃡ COMBINING LEFT RIGHT ARROW ABOVE -2100 â„€ ACCOUNT OF -2101 â„ ADDRESSED TO THE SUBJECT -2102 â„‚ DOUBLE-STRUCK CAPITAL C -2103 ℃ DEGREE CELSIUS -2104 â„„ CENTRE LINE SYMBOL -2105 â„… CARE OF -2106 ℆ CADA UNA -2107 ℇ EULER CONSTANT -2108 ℈ SCRUPLE -2109 ℉ DEGREE FAHRENHEIT -210A â„Š SCRIPT SMALL G -210B â„‹ SCRIPT CAPITAL H -210C â„Œ BLACK-LETTER CAPITAL H -210D â„ DOUBLE-STRUCK CAPITAL H -210E â„Ž PLANCK CONSTANT -210F â„ PLANCK CONSTANT OVER TWO PI -2110 â„ SCRIPT CAPITAL I -2111 â„‘ BLACK-LETTER CAPITAL I -2112 â„’ SCRIPT CAPITAL L -2113 â„“ SCRIPT SMALL L -2114 â„” L B BAR SYMBOL -2115 â„• DOUBLE-STRUCK CAPITAL N -2116 â„– NUMERO SIGN -2117 â„— SOUND RECORDING COPYRIGHT -2118 ℘ SCRIPT CAPITAL P -2119 â„™ DOUBLE-STRUCK CAPITAL P -211A â„š DOUBLE-STRUCK CAPITAL Q -211B â„› SCRIPT CAPITAL R -211C â„œ BLACK-LETTER CAPITAL R -211D â„ DOUBLE-STRUCK CAPITAL R -211E â„ž PRESCRIPTION TAKE -211F â„Ÿ RESPONSE -2120 â„  SERVICE MARK -2121 â„¡ TELEPHONE SIGN -2122 â„¢ TRADE MARK SIGN -2123 â„£ VERSICLE -2124 ℤ DOUBLE-STRUCK CAPITAL Z -2125 â„¥ OUNCE SIGN -2126 Ω OHM SIGN -2127 ℧ INVERTED OHM SIGN -2128 ℨ BLACK-LETTER CAPITAL Z -2129 â„© TURNED GREEK SMALL LETTER IOTA -212A K KELVIN SIGN -212B â„« ANGSTROM SIGN -212C ℬ SCRIPT CAPITAL B -212D â„­ BLACK-LETTER CAPITAL C -212E â„® ESTIMATED SYMBOL -212F ℯ SCRIPT SMALL E -2130 â„° SCRIPT CAPITAL E -2131 ℱ SCRIPT CAPITAL F -2132 Ⅎ TURNED CAPITAL F -2133 ℳ SCRIPT CAPITAL M -2134 â„´ SCRIPT SMALL O -2135 ℵ ALEF SYMBOL -2136 ℶ BET SYMBOL -2137 â„· GIMEL SYMBOL -2138 ℸ DALET SYMBOL -2153 â…“ VULGAR FRACTION ONE THIRD -2154 â…” VULGAR FRACTION TWO THIRDS -2155 â…• VULGAR FRACTION ONE FIFTH -2156 â…– VULGAR FRACTION TWO FIFTHS -2157 â…— VULGAR FRACTION THREE FIFTHS -2158 â…˜ VULGAR FRACTION FOUR FIFTHS -2159 â…™ VULGAR FRACTION ONE SIXTH -215A â…š VULGAR FRACTION FIVE SIXTHS -215B â…› VULGAR FRACTION ONE EIGHTH -215C â…œ VULGAR FRACTION THREE EIGHTHS -215D â… VULGAR FRACTION FIVE EIGHTHS -215E â…ž VULGAR FRACTION SEVEN EIGHTHS -215F â…Ÿ FRACTION NUMERATOR ONE -2160 â…  ROMAN NUMERAL ONE -2161 â…¡ ROMAN NUMERAL TWO -2162 â…¢ ROMAN NUMERAL THREE -2163 â…£ ROMAN NUMERAL FOUR -2164 â…¤ ROMAN NUMERAL FIVE -2165 â…¥ ROMAN NUMERAL SIX -2166 â…¦ ROMAN NUMERAL SEVEN -2167 â…§ ROMAN NUMERAL EIGHT -2168 â…¨ ROMAN NUMERAL NINE -2169 â…© ROMAN NUMERAL TEN -216A â…ª ROMAN NUMERAL ELEVEN -216B â…« ROMAN NUMERAL TWELVE -216C â…¬ ROMAN NUMERAL FIFTY -216D â…­ ROMAN NUMERAL ONE HUNDRED -216E â…® ROMAN NUMERAL FIVE HUNDRED -216F â…¯ ROMAN NUMERAL ONE THOUSAND -2170 â…° SMALL ROMAN NUMERAL ONE -2171 â…± SMALL ROMAN NUMERAL TWO -2172 â…² SMALL ROMAN NUMERAL THREE -2173 â…³ SMALL ROMAN NUMERAL FOUR -2174 â…´ SMALL ROMAN NUMERAL FIVE -2175 â…µ SMALL ROMAN NUMERAL SIX -2176 â…¶ SMALL ROMAN NUMERAL SEVEN -2177 â…· SMALL ROMAN NUMERAL EIGHT -2178 â…¸ SMALL ROMAN NUMERAL NINE -2179 â…¹ SMALL ROMAN NUMERAL TEN -217A â…º SMALL ROMAN NUMERAL ELEVEN -217B â…» SMALL ROMAN NUMERAL TWELVE -217C â…¼ SMALL ROMAN NUMERAL FIFTY -217D â…½ SMALL ROMAN NUMERAL ONE HUNDRED -217E â…¾ SMALL ROMAN NUMERAL FIVE HUNDRED -217F â…¿ SMALL ROMAN NUMERAL ONE THOUSAND -2180 ↀ ROMAN NUMERAL ONE THOUSAND C D -2181 ↠ROMAN NUMERAL FIVE THOUSAND -2182 ↂ ROMAN NUMERAL TEN THOUSAND -2190 ↠LEFTWARDS ARROW -2191 ↑ UPWARDS ARROW -2192 → RIGHTWARDS ARROW -2193 ↓ DOWNWARDS ARROW -2194 ↔ LEFT RIGHT ARROW -2195 ↕ UP DOWN ARROW -2196 ↖ NORTH WEST ARROW -2197 ↗ NORTH EAST ARROW -2198 ↘ SOUTH EAST ARROW -2199 ↙ SOUTH WEST ARROW -219A ↚ LEFTWARDS ARROW WITH STROKE -219B ↛ RIGHTWARDS ARROW WITH STROKE -219C ↜ LEFTWARDS WAVE ARROW -219D ↠RIGHTWARDS WAVE ARROW -219E ↞ LEFTWARDS TWO HEADED ARROW -219F ↟ UPWARDS TWO HEADED ARROW -21A0 ↠ RIGHTWARDS TWO HEADED ARROW -21A1 ↡ DOWNWARDS TWO HEADED ARROW -21A2 ↢ LEFTWARDS ARROW WITH TAIL -21A3 ↣ RIGHTWARDS ARROW WITH TAIL -21A4 ↤ LEFTWARDS ARROW FROM BAR -21A5 ↥ UPWARDS ARROW FROM BAR -21A6 ↦ RIGHTWARDS ARROW FROM BAR -21A7 ↧ DOWNWARDS ARROW FROM BAR -21A8 ↨ UP DOWN ARROW WITH BASE -21A9 ↩ LEFTWARDS ARROW WITH HOOK -21AA ↪ RIGHTWARDS ARROW WITH HOOK -21AB ↫ LEFTWARDS ARROW WITH LOOP -21AC ↬ RIGHTWARDS ARROW WITH LOOP -21AD ↭ LEFT RIGHT WAVE ARROW -21AE ↮ LEFT RIGHT ARROW WITH STROKE -21AF ↯ DOWNWARDS ZIGZAG ARROW -21B0 ↰ UPWARDS ARROW WITH TIP LEFTWARDS -21B1 ↱ UPWARDS ARROW WITH TIP RIGHTWARDS -21B2 ↲ DOWNWARDS ARROW WITH TIP LEFTWARDS -21B3 ↳ DOWNWARDS ARROW WITH TIP RIGHTWARDS -21B4 ↴ RIGHTWARDS ARROW WITH CORNER DOWNWARDS -21B5 ↵ DOWNWARDS ARROW WITH CORNER LEFTWARDS -21B6 ↶ ANTICLOCKWISE TOP SEMICIRCLE ARROW -21B7 ↷ CLOCKWISE TOP SEMICIRCLE ARROW -21B8 ↸ NORTH WEST ARROW TO LONG BAR -21B9 ↹ LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR -21BA ↺ ANTICLOCKWISE OPEN CIRCLE ARROW -21BB ↻ CLOCKWISE OPEN CIRCLE ARROW -21BC ↼ LEFTWARDS HARPOON WITH BARB UPWARDS -21BD ↽ LEFTWARDS HARPOON WITH BARB DOWNWARDS -21BE ↾ UPWARDS HARPOON WITH BARB RIGHTWARDS -21BF ↿ UPWARDS HARPOON WITH BARB LEFTWARDS -21C0 ⇀ RIGHTWARDS HARPOON WITH BARB UPWARDS -21C1 ⇠RIGHTWARDS HARPOON WITH BARB DOWNWARDS -21C2 ⇂ DOWNWARDS HARPOON WITH BARB RIGHTWARDS -21C3 ⇃ DOWNWARDS HARPOON WITH BARB LEFTWARDS -21C4 ⇄ RIGHTWARDS ARROW OVER LEFTWARDS ARROW -21C5 ⇅ UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW -21C6 ⇆ LEFTWARDS ARROW OVER RIGHTWARDS ARROW -21C7 ⇇ LEFTWARDS PAIRED ARROWS -21C8 ⇈ UPWARDS PAIRED ARROWS -21C9 ⇉ RIGHTWARDS PAIRED ARROWS -21CA ⇊ DOWNWARDS PAIRED ARROWS -21CB ⇋ LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON -21CC ⇌ RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON -21CD ⇠LEFTWARDS DOUBLE ARROW WITH STROKE -21CE ⇎ LEFT RIGHT DOUBLE ARROW WITH STROKE -21CF ⇠RIGHTWARDS DOUBLE ARROW WITH STROKE -21D0 ⇠LEFTWARDS DOUBLE ARROW -21D1 ⇑ UPWARDS DOUBLE ARROW -21D2 ⇒ RIGHTWARDS DOUBLE ARROW -21D3 ⇓ DOWNWARDS DOUBLE ARROW -21D4 ⇔ LEFT RIGHT DOUBLE ARROW -21D5 ⇕ UP DOWN DOUBLE ARROW -21D6 ⇖ NORTH WEST DOUBLE ARROW -21D7 ⇗ NORTH EAST DOUBLE ARROW -21D8 ⇘ SOUTH EAST DOUBLE ARROW -21D9 ⇙ SOUTH WEST DOUBLE ARROW -21DA ⇚ LEFTWARDS TRIPLE ARROW -21DB ⇛ RIGHTWARDS TRIPLE ARROW -21DC ⇜ LEFTWARDS SQUIGGLE ARROW -21DD ⇠RIGHTWARDS SQUIGGLE ARROW -21DE ⇞ UPWARDS ARROW WITH DOUBLE STROKE -21DF ⇟ DOWNWARDS ARROW WITH DOUBLE STROKE -21E0 ⇠ LEFTWARDS DASHED ARROW -21E1 ⇡ UPWARDS DASHED ARROW -21E2 ⇢ RIGHTWARDS DASHED ARROW -21E3 ⇣ DOWNWARDS DASHED ARROW -21E4 ⇤ LEFTWARDS ARROW TO BAR -21E5 ⇥ RIGHTWARDS ARROW TO BAR -21E6 ⇦ LEFTWARDS WHITE ARROW -21E7 ⇧ UPWARDS WHITE ARROW -21E8 ⇨ RIGHTWARDS WHITE ARROW -21E9 ⇩ DOWNWARDS WHITE ARROW -21EA ⇪ UPWARDS WHITE ARROW FROM BAR -2200 ∀ FOR ALL -2201 ∠COMPLEMENT -2202 ∂ PARTIAL DIFFERENTIAL -2203 ∃ THERE EXISTS -2204 ∄ THERE DOES NOT EXIST -2205 ∅ EMPTY SET -2206 ∆ INCREMENT -2207 ∇ NABLA -2208 ∈ ELEMENT OF -2209 ∉ NOT AN ELEMENT OF -220A ∊ SMALL ELEMENT OF -220B ∋ CONTAINS AS MEMBER -220C ∌ DOES NOT CONTAIN AS MEMBER -220D ∠SMALL CONTAINS AS MEMBER -220E ∎ END OF PROOF -220F ∠N-ARY PRODUCT -2210 ∠N-ARY COPRODUCT -2211 ∑ N-ARY SUMMATION -2212 − MINUS SIGN -2213 ∓ MINUS-OR-PLUS SIGN -2214 ∔ DOT PLUS -2215 ∕ DIVISION SLASH -2216 ∖ SET MINUS -2217 ∗ ASTERISK OPERATOR -2218 ∘ RING OPERATOR -2219 ∙ BULLET OPERATOR -221A √ SQUARE ROOT -221B ∛ CUBE ROOT -221C ∜ FOURTH ROOT -221D ∠PROPORTIONAL TO -221E ∞ INFINITY -221F ∟ RIGHT ANGLE -2220 ∠ ANGLE -2221 ∡ MEASURED ANGLE -2222 ∢ SPHERICAL ANGLE -2223 ∣ DIVIDES -2224 ∤ DOES NOT DIVIDE -2225 ∥ PARALLEL TO -2226 ∦ NOT PARALLEL TO -2227 ∧ LOGICAL AND -2228 ∨ LOGICAL OR -2229 ∩ INTERSECTION -222A ∪ UNION -222B ∫ INTEGRAL -222C ∬ DOUBLE INTEGRAL -222D ∭ TRIPLE INTEGRAL -222E ∮ CONTOUR INTEGRAL -222F ∯ SURFACE INTEGRAL -2230 ∰ VOLUME INTEGRAL -2231 ∱ CLOCKWISE INTEGRAL -2232 ∲ CLOCKWISE CONTOUR INTEGRAL -2233 ∳ ANTICLOCKWISE CONTOUR INTEGRAL -2234 ∴ THEREFORE -2235 ∵ BECAUSE -2236 ∶ RATIO -2237 ∷ PROPORTION -2238 ∸ DOT MINUS -2239 ∹ EXCESS -223A ∺ GEOMETRIC PROPORTION -223B ∻ HOMOTHETIC -223C ∼ TILDE OPERATOR -223D ∽ REVERSED TILDE -223E ∾ INVERTED LAZY S -223F ∿ SINE WAVE -2240 ≀ WREATH PRODUCT -2241 ≠NOT TILDE -2242 ≂ MINUS TILDE -2243 ≃ ASYMPTOTICALLY EQUAL TO -2244 ≄ NOT ASYMPTOTICALLY EQUAL TO -2245 ≅ APPROXIMATELY EQUAL TO -2246 ≆ APPROXIMATELY BUT NOT ACTUALLY EQUAL TO -2247 ≇ NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO -2248 ≈ ALMOST EQUAL TO -2249 ≉ NOT ALMOST EQUAL TO -224A ≊ ALMOST EQUAL OR EQUAL TO -224B ≋ TRIPLE TILDE -224C ≌ ALL EQUAL TO -224D ≠EQUIVALENT TO -224E ≎ GEOMETRICALLY EQUIVALENT TO -224F ≠DIFFERENCE BETWEEN -2250 ≠APPROACHES THE LIMIT -2251 ≑ GEOMETRICALLY EQUAL TO -2252 ≒ APPROXIMATELY EQUAL TO OR THE IMAGE OF -2253 ≓ IMAGE OF OR APPROXIMATELY EQUAL TO -2254 ≔ COLON EQUALS -2255 ≕ EQUALS COLON -2256 ≖ RING IN EQUAL TO -2257 ≗ RING EQUAL TO -2258 ≘ CORRESPONDS TO -2259 ≙ ESTIMATES -225A ≚ EQUIANGULAR TO -225B ≛ STAR EQUALS -225C ≜ DELTA EQUAL TO -225D ≠EQUAL TO BY DEFINITION -225E ≞ MEASURED BY -225F ≟ QUESTIONED EQUAL TO -2260 ≠ NOT EQUAL TO -2261 ≡ IDENTICAL TO -2262 ≢ NOT IDENTICAL TO -2263 ≣ STRICTLY EQUIVALENT TO -2264 ≤ LESS-THAN OR EQUAL TO -2265 ≥ GREATER-THAN OR EQUAL TO -2266 ≦ LESS-THAN OVER EQUAL TO -2267 ≧ GREATER-THAN OVER EQUAL TO -2268 ≨ LESS-THAN BUT NOT EQUAL TO -2269 ≩ GREATER-THAN BUT NOT EQUAL TO -226A ≪ MUCH LESS-THAN -226B ≫ MUCH GREATER-THAN -226C ≬ BETWEEN -226D ≭ NOT EQUIVALENT TO -226E ≮ NOT LESS-THAN -226F ≯ NOT GREATER-THAN -2270 ≰ NEITHER LESS-THAN NOR EQUAL TO -2271 ≱ NEITHER GREATER-THAN NOR EQUAL TO -2272 ≲ LESS-THAN OR EQUIVALENT TO -2273 ≳ GREATER-THAN OR EQUIVALENT TO -2274 ≴ NEITHER LESS-THAN NOR EQUIVALENT TO -2275 ≵ NEITHER GREATER-THAN NOR EQUIVALENT TO -2276 ≶ LESS-THAN OR GREATER-THAN -2277 ≷ GREATER-THAN OR LESS-THAN -2278 ≸ NEITHER LESS-THAN NOR GREATER-THAN -2279 ≹ NEITHER GREATER-THAN NOR LESS-THAN -227A ≺ PRECEDES -227B ≻ SUCCEEDS -227C ≼ PRECEDES OR EQUAL TO -227D ≽ SUCCEEDS OR EQUAL TO -227E ≾ PRECEDES OR EQUIVALENT TO -227F ≿ SUCCEEDS OR EQUIVALENT TO -2280 ⊀ DOES NOT PRECEDE -2281 ⊠DOES NOT SUCCEED -2282 ⊂ SUBSET OF -2283 ⊃ SUPERSET OF -2284 ⊄ NOT A SUBSET OF -2285 ⊅ NOT A SUPERSET OF -2286 ⊆ SUBSET OF OR EQUAL TO -2287 ⊇ SUPERSET OF OR EQUAL TO -2288 ⊈ NEITHER A SUBSET OF NOR EQUAL TO -2289 ⊉ NEITHER A SUPERSET OF NOR EQUAL TO -228A ⊊ SUBSET OF WITH NOT EQUAL TO -228B ⊋ SUPERSET OF WITH NOT EQUAL TO -228C ⊌ MULTISET -228D ⊠MULTISET MULTIPLICATION -228E ⊎ MULTISET UNION -228F ⊠SQUARE IMAGE OF -2290 ⊠SQUARE ORIGINAL OF -2291 ⊑ SQUARE IMAGE OF OR EQUAL TO -2292 ⊒ SQUARE ORIGINAL OF OR EQUAL TO -2293 ⊓ SQUARE CAP -2294 ⊔ SQUARE CUP -2295 ⊕ CIRCLED PLUS -2296 ⊖ CIRCLED MINUS -2297 ⊗ CIRCLED TIMES -2298 ⊘ CIRCLED DIVISION SLASH -2299 ⊙ CIRCLED DOT OPERATOR -229A ⊚ CIRCLED RING OPERATOR -229B ⊛ CIRCLED ASTERISK OPERATOR -229C ⊜ CIRCLED EQUALS -229D ⊠CIRCLED DASH -229E ⊞ SQUARED PLUS -229F ⊟ SQUARED MINUS -22A0 ⊠ SQUARED TIMES -22A1 ⊡ SQUARED DOT OPERATOR -22A2 ⊢ RIGHT TACK -22A3 ⊣ LEFT TACK -22A4 ⊤ DOWN TACK -22A5 ⊥ UP TACK -22A6 ⊦ ASSERTION -22A7 ⊧ MODELS -22A8 ⊨ TRUE -22A9 ⊩ FORCES -22AA ⊪ TRIPLE VERTICAL BAR RIGHT TURNSTILE -22AB ⊫ DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE -22AC ⊬ DOES NOT PROVE -22AD ⊭ NOT TRUE -22AE ⊮ DOES NOT FORCE -22AF ⊯ NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE -22B0 ⊰ PRECEDES UNDER RELATION -22B1 ⊱ SUCCEEDS UNDER RELATION -22B2 ⊲ NORMAL SUBGROUP OF -22B3 ⊳ CONTAINS AS NORMAL SUBGROUP -22B4 ⊴ NORMAL SUBGROUP OF OR EQUAL TO -22B5 ⊵ CONTAINS AS NORMAL SUBGROUP OR EQUAL TO -22B6 ⊶ ORIGINAL OF -22B7 ⊷ IMAGE OF -22B8 ⊸ MULTIMAP -22B9 ⊹ HERMITIAN CONJUGATE MATRIX -22BA ⊺ INTERCALATE -22BB ⊻ XOR -22BC ⊼ NAND -22BD ⊽ NOR -22BE ⊾ RIGHT ANGLE WITH ARC -22BF ⊿ RIGHT TRIANGLE -22C0 â‹€ N-ARY LOGICAL AND -22C1 â‹ N-ARY LOGICAL OR -22C2 â‹‚ N-ARY INTERSECTION -22C3 ⋃ N-ARY UNION -22C4 â‹„ DIAMOND OPERATOR -22C5 â‹… DOT OPERATOR -22C6 ⋆ STAR OPERATOR -22C7 ⋇ DIVISION TIMES -22C8 ⋈ BOWTIE -22C9 ⋉ LEFT NORMAL FACTOR SEMIDIRECT PRODUCT -22CA â‹Š RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT -22CB â‹‹ LEFT SEMIDIRECT PRODUCT -22CC â‹Œ RIGHT SEMIDIRECT PRODUCT -22CD â‹ REVERSED TILDE EQUALS -22CE â‹Ž CURLY LOGICAL OR -22CF â‹ CURLY LOGICAL AND -22D0 â‹ DOUBLE SUBSET -22D1 â‹‘ DOUBLE SUPERSET -22D2 â‹’ DOUBLE INTERSECTION -22D3 â‹“ DOUBLE UNION -22D4 â‹” PITCHFORK -22D5 â‹• EQUAL AND PARALLEL TO -22D6 â‹– LESS-THAN WITH DOT -22D7 â‹— GREATER-THAN WITH DOT -22D8 ⋘ VERY MUCH LESS-THAN -22D9 â‹™ VERY MUCH GREATER-THAN -22DA â‹š LESS-THAN EQUAL TO OR GREATER-THAN -22DB â‹› GREATER-THAN EQUAL TO OR LESS-THAN -22DC â‹œ EQUAL TO OR LESS-THAN -22DD â‹ EQUAL TO OR GREATER-THAN -22DE â‹ž EQUAL TO OR PRECEDES -22DF â‹Ÿ EQUAL TO OR SUCCEEDS -22E0 â‹  DOES NOT PRECEDE OR EQUAL -22E1 â‹¡ DOES NOT SUCCEED OR EQUAL -22E2 â‹¢ NOT SQUARE IMAGE OF OR EQUAL TO -22E3 â‹£ NOT SQUARE ORIGINAL OF OR EQUAL TO -22E4 ⋤ SQUARE IMAGE OF OR NOT EQUAL TO -22E5 â‹¥ SQUARE ORIGINAL OF OR NOT EQUAL TO -22E6 ⋦ LESS-THAN BUT NOT EQUIVALENT TO -22E7 ⋧ GREATER-THAN BUT NOT EQUIVALENT TO -22E8 ⋨ PRECEDES BUT NOT EQUIVALENT TO -22E9 â‹© SUCCEEDS BUT NOT EQUIVALENT TO -22EA ⋪ NOT NORMAL SUBGROUP OF -22EB â‹« DOES NOT CONTAIN AS NORMAL SUBGROUP -22EC ⋬ NOT NORMAL SUBGROUP OF OR EQUAL TO -22ED â‹­ DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL -22EE â‹® VERTICAL ELLIPSIS -22EF ⋯ MIDLINE HORIZONTAL ELLIPSIS -22F0 â‹° UP RIGHT DIAGONAL ELLIPSIS -22F1 ⋱ DOWN RIGHT DIAGONAL ELLIPSIS -2300 ⌀ DIAMETER SIGN -2302 ⌂ HOUSE -2303 ⌃ UP ARROWHEAD -2304 ⌄ DOWN ARROWHEAD -2305 ⌅ PROJECTIVE -2306 ⌆ PERSPECTIVE -2307 ⌇ WAVY LINE -2308 ⌈ LEFT CEILING -2309 ⌉ RIGHT CEILING -230A ⌊ LEFT FLOOR -230B ⌋ RIGHT FLOOR -230C ⌌ BOTTOM RIGHT CROP -230D ⌠BOTTOM LEFT CROP -230E ⌎ TOP RIGHT CROP -230F ⌠TOP LEFT CROP -2310 ⌠REVERSED NOT SIGN -2311 ⌑ SQUARE LOZENGE -2312 ⌒ ARC -2313 ⌓ SEGMENT -2314 ⌔ SECTOR -2315 ⌕ TELEPHONE RECORDER -2316 ⌖ POSITION INDICATOR -2317 ⌗ VIEWDATA SQUARE -2318 ⌘ PLACE OF INTEREST SIGN -2319 ⌙ TURNED NOT SIGN -231A ⌚ WATCH -231B ⌛ HOURGLASS -231C ⌜ TOP LEFT CORNER -231D ⌠TOP RIGHT CORNER -231E ⌞ BOTTOM LEFT CORNER -231F ⌟ BOTTOM RIGHT CORNER -2320 ⌠ TOP HALF INTEGRAL -2321 ⌡ BOTTOM HALF INTEGRAL -2322 ⌢ FROWN -2323 ⌣ SMILE -2324 ⌤ UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS -2325 ⌥ OPTION KEY -2326 ⌦ ERASE TO THE RIGHT -2327 ⌧ X IN A RECTANGLE BOX -2328 ⌨ KEYBOARD -2329 〈 LEFT-POINTING ANGLE BRACKET -232A 〉 RIGHT-POINTING ANGLE BRACKET -232B ⌫ ERASE TO THE LEFT -232C ⌬ BENZENE RING -232D ⌭ CYLINDRICITY -232E ⌮ ALL AROUND-PROFILE -232F ⌯ SYMMETRY -2330 ⌰ TOTAL RUNOUT -2331 ⌱ DIMENSION ORIGIN -2332 ⌲ CONICAL TAPER -2333 ⌳ SLOPE -2334 ⌴ COUNTERBORE -2335 ⌵ COUNTERSINK -2336 ⌶ APL FUNCTIONAL SYMBOL I-BEAM -2337 ⌷ APL FUNCTIONAL SYMBOL SQUISH QUAD -2338 ⌸ APL FUNCTIONAL SYMBOL QUAD EQUAL -2339 ⌹ APL FUNCTIONAL SYMBOL QUAD DIVIDE -233A ⌺ APL FUNCTIONAL SYMBOL QUAD DIAMOND -233B ⌻ APL FUNCTIONAL SYMBOL QUAD JOT -233C ⌼ APL FUNCTIONAL SYMBOL QUAD CIRCLE -233D ⌽ APL FUNCTIONAL SYMBOL CIRCLE STILE -233E ⌾ APL FUNCTIONAL SYMBOL CIRCLE JOT -233F ⌿ APL FUNCTIONAL SYMBOL SLASH BAR -2340 †APL FUNCTIONAL SYMBOL BACKSLASH BAR -2341 â APL FUNCTIONAL SYMBOL QUAD SLASH -2342 â‚ APL FUNCTIONAL SYMBOL QUAD BACKSLASH -2343 ⃠APL FUNCTIONAL SYMBOL QUAD LESS-THAN -2344 â„ APL FUNCTIONAL SYMBOL QUAD GREATER-THAN -2345 â… APL FUNCTIONAL SYMBOL LEFTWARDS VANE -2346 ↠APL FUNCTIONAL SYMBOL RIGHTWARDS VANE -2347 ⇠APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW -2348 ∠APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW -2349 ≠APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH -234A ⊠APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR -234B â‹ APL FUNCTIONAL SYMBOL DELTA STILE -234C ⌠APL FUNCTIONAL SYMBOL QUAD DOWN CARET -234D â APL FUNCTIONAL SYMBOL QUAD DELTA -234E ⎠APL FUNCTIONAL SYMBOL DOWN TACK JOT -234F â APL FUNCTIONAL SYMBOL UPWARDS VANE -2350 â APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW -2351 â‘ APL FUNCTIONAL SYMBOL UP TACK OVERBAR -2352 â’ APL FUNCTIONAL SYMBOL DEL STILE -2353 â“ APL FUNCTIONAL SYMBOL QUAD UP CARET -2354 â” APL FUNCTIONAL SYMBOL QUAD DEL -2355 â• APL FUNCTIONAL SYMBOL UP TACK JOT -2356 â– APL FUNCTIONAL SYMBOL DOWNWARDS VANE -2357 â— APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW -2358 ☠APL FUNCTIONAL SYMBOL QUOTE UNDERBAR -2359 â™ APL FUNCTIONAL SYMBOL DELTA UNDERBAR -235A âš APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR -235B â› APL FUNCTIONAL SYMBOL JOT UNDERBAR -235C ✠APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR -235D â APL FUNCTIONAL SYMBOL UP SHOE JOT -235E âž APL FUNCTIONAL SYMBOL QUOTE QUAD -235F ⟠APL FUNCTIONAL SYMBOL CIRCLE STAR -2360 â  APL FUNCTIONAL SYMBOL QUAD COLON -2361 â¡ APL FUNCTIONAL SYMBOL UP TACK DIAERESIS -2362 ⢠APL FUNCTIONAL SYMBOL DEL DIAERESIS -2363 ⣠APL FUNCTIONAL SYMBOL STAR DIAERESIS -2364 ⤠APL FUNCTIONAL SYMBOL JOT DIAERESIS -2365 ⥠APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS -2366 ⦠APL FUNCTIONAL SYMBOL DOWN SHOE STILE -2367 ⧠APL FUNCTIONAL SYMBOL LEFT SHOE STILE -2368 ⨠APL FUNCTIONAL SYMBOL TILDE DIAERESIS -2369 â© APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS -236A ⪠APL FUNCTIONAL SYMBOL COMMA BAR -236B â« APL FUNCTIONAL SYMBOL DEL TILDE -236C ⬠APL FUNCTIONAL SYMBOL ZILDE -236D â­ APL FUNCTIONAL SYMBOL STILE TILDE -236E â® APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR -236F ⯠APL FUNCTIONAL SYMBOL QUAD NOT EQUAL -2370 â° APL FUNCTIONAL SYMBOL QUAD QUESTION -2371 â± APL FUNCTIONAL SYMBOL DOWN CARET TILDE -2372 â² APL FUNCTIONAL SYMBOL UP CARET TILDE -2373 â³ APL FUNCTIONAL SYMBOL IOTA -2374 â´ APL FUNCTIONAL SYMBOL RHO -2375 âµ APL FUNCTIONAL SYMBOL OMEGA -2376 ⶠAPL FUNCTIONAL SYMBOL ALPHA UNDERBAR -2377 â· APL FUNCTIONAL SYMBOL EPSILON UNDERBAR -2378 ⸠APL FUNCTIONAL SYMBOL IOTA UNDERBAR -2379 â¹ APL FUNCTIONAL SYMBOL OMEGA UNDERBAR -237A ⺠APL FUNCTIONAL SYMBOL ALPHA -2400 †SYMBOL FOR NULL -2401 â SYMBOL FOR START OF HEADING -2402 â‚ SYMBOL FOR START OF TEXT -2403 ⃠SYMBOL FOR END OF TEXT -2404 â„ SYMBOL FOR END OF TRANSMISSION -2405 â… SYMBOL FOR ENQUIRY -2406 ↠SYMBOL FOR ACKNOWLEDGE -2407 ⇠SYMBOL FOR BELL -2408 ∠SYMBOL FOR BACKSPACE -2409 ≠SYMBOL FOR HORIZONTAL TABULATION -240A ⊠SYMBOL FOR LINE FEED -240B â‹ SYMBOL FOR VERTICAL TABULATION -240C ⌠SYMBOL FOR FORM FEED -240D â SYMBOL FOR CARRIAGE RETURN -240E ⎠SYMBOL FOR SHIFT OUT -240F â SYMBOL FOR SHIFT IN -2410 â SYMBOL FOR DATA LINK ESCAPE -2411 â‘ SYMBOL FOR DEVICE CONTROL ONE -2412 â’ SYMBOL FOR DEVICE CONTROL TWO -2413 â“ SYMBOL FOR DEVICE CONTROL THREE -2414 â” SYMBOL FOR DEVICE CONTROL FOUR -2415 â• SYMBOL FOR NEGATIVE ACKNOWLEDGE -2416 â– SYMBOL FOR SYNCHRONOUS IDLE -2417 â— SYMBOL FOR END OF TRANSMISSION BLOCK -2418 ☠SYMBOL FOR CANCEL -2419 â™ SYMBOL FOR END OF MEDIUM -241A âš SYMBOL FOR SUBSTITUTE -241B â› SYMBOL FOR ESCAPE -241C ✠SYMBOL FOR FILE SEPARATOR -241D â SYMBOL FOR GROUP SEPARATOR -241E âž SYMBOL FOR RECORD SEPARATOR -241F ⟠SYMBOL FOR UNIT SEPARATOR -2420 â  SYMBOL FOR SPACE -2421 â¡ SYMBOL FOR DELETE -2422 ⢠BLANK SYMBOL -2423 ⣠OPEN BOX -2424 ⤠SYMBOL FOR NEWLINE -2440 â‘€ OCR HOOK -2441 â‘ OCR CHAIR -2442 â‘‚ OCR FORK -2443 ⑃ OCR INVERTED FORK -2444 â‘„ OCR BELT BUCKLE -2445 â‘… OCR BOW TIE -2446 ⑆ OCR BRANCH BANK IDENTIFICATION -2447 ⑇ OCR AMOUNT OF CHECK -2448 ⑈ OCR DASH -2449 ⑉ OCR CUSTOMER ACCOUNT NUMBER -244A â‘Š OCR DOUBLE BACKSLASH -2460 â‘  CIRCLED DIGIT ONE -2461 â‘¡ CIRCLED DIGIT TWO -2462 â‘¢ CIRCLED DIGIT THREE -2463 â‘£ CIRCLED DIGIT FOUR -2464 ⑤ CIRCLED DIGIT FIVE -2465 â‘¥ CIRCLED DIGIT SIX -2466 ⑦ CIRCLED DIGIT SEVEN -2467 ⑧ CIRCLED DIGIT EIGHT -2468 ⑨ CIRCLED DIGIT NINE -2469 â‘© CIRCLED NUMBER TEN -246A ⑪ CIRCLED NUMBER ELEVEN -246B â‘« CIRCLED NUMBER TWELVE -246C ⑬ CIRCLED NUMBER THIRTEEN -246D â‘­ CIRCLED NUMBER FOURTEEN -246E â‘® CIRCLED NUMBER FIFTEEN -246F ⑯ CIRCLED NUMBER SIXTEEN -2470 â‘° CIRCLED NUMBER SEVENTEEN -2471 ⑱ CIRCLED NUMBER EIGHTEEN -2472 ⑲ CIRCLED NUMBER NINETEEN -2473 ⑳ CIRCLED NUMBER TWENTY -2474 â‘´ PARENTHESIZED DIGIT ONE -2475 ⑵ PARENTHESIZED DIGIT TWO -2476 ⑶ PARENTHESIZED DIGIT THREE -2477 â‘· PARENTHESIZED DIGIT FOUR -2478 ⑸ PARENTHESIZED DIGIT FIVE -2479 ⑹ PARENTHESIZED DIGIT SIX -247A ⑺ PARENTHESIZED DIGIT SEVEN -247B â‘» PARENTHESIZED DIGIT EIGHT -247C ⑼ PARENTHESIZED DIGIT NINE -247D ⑽ PARENTHESIZED NUMBER TEN -247E ⑾ PARENTHESIZED NUMBER ELEVEN -247F â‘¿ PARENTHESIZED NUMBER TWELVE -2480 â’€ PARENTHESIZED NUMBER THIRTEEN -2481 â’ PARENTHESIZED NUMBER FOURTEEN -2482 â’‚ PARENTHESIZED NUMBER FIFTEEN -2483 â’ƒ PARENTHESIZED NUMBER SIXTEEN -2484 â’„ PARENTHESIZED NUMBER SEVENTEEN -2485 â’… PARENTHESIZED NUMBER EIGHTEEN -2486 â’† PARENTHESIZED NUMBER NINETEEN -2487 â’‡ PARENTHESIZED NUMBER TWENTY -2488 â’ˆ DIGIT ONE FULL STOP -2489 â’‰ DIGIT TWO FULL STOP -248A â’Š DIGIT THREE FULL STOP -248B â’‹ DIGIT FOUR FULL STOP -248C â’Œ DIGIT FIVE FULL STOP -248D â’ DIGIT SIX FULL STOP -248E â’Ž DIGIT SEVEN FULL STOP -248F â’ DIGIT EIGHT FULL STOP -2490 â’ DIGIT NINE FULL STOP -2491 â’‘ NUMBER TEN FULL STOP -2492 â’’ NUMBER ELEVEN FULL STOP -2493 â’“ NUMBER TWELVE FULL STOP -2494 â’” NUMBER THIRTEEN FULL STOP -2495 â’• NUMBER FOURTEEN FULL STOP -2496 â’– NUMBER FIFTEEN FULL STOP -2497 â’— NUMBER SIXTEEN FULL STOP -2498 â’˜ NUMBER SEVENTEEN FULL STOP -2499 â’™ NUMBER EIGHTEEN FULL STOP -249A â’š NUMBER NINETEEN FULL STOP -249B â’› NUMBER TWENTY FULL STOP -249C â’œ PARENTHESIZED LATIN SMALL LETTER A -249D â’ PARENTHESIZED LATIN SMALL LETTER B -249E â’ž PARENTHESIZED LATIN SMALL LETTER C -249F â’Ÿ PARENTHESIZED LATIN SMALL LETTER D -24A0 â’  PARENTHESIZED LATIN SMALL LETTER E -24A1 â’¡ PARENTHESIZED LATIN SMALL LETTER F -24A2 â’¢ PARENTHESIZED LATIN SMALL LETTER G -24A3 â’£ PARENTHESIZED LATIN SMALL LETTER H -24A4 â’¤ PARENTHESIZED LATIN SMALL LETTER I -24A5 â’¥ PARENTHESIZED LATIN SMALL LETTER J -24A6 â’¦ PARENTHESIZED LATIN SMALL LETTER K -24A7 â’§ PARENTHESIZED LATIN SMALL LETTER L -24A8 â’¨ PARENTHESIZED LATIN SMALL LETTER M -24A9 â’© PARENTHESIZED LATIN SMALL LETTER N -24AA â’ª PARENTHESIZED LATIN SMALL LETTER O -24AB â’« PARENTHESIZED LATIN SMALL LETTER P -24AC â’¬ PARENTHESIZED LATIN SMALL LETTER Q -24AD â’­ PARENTHESIZED LATIN SMALL LETTER R -24AE â’® PARENTHESIZED LATIN SMALL LETTER S -24AF â’¯ PARENTHESIZED LATIN SMALL LETTER T -24B0 â’° PARENTHESIZED LATIN SMALL LETTER U -24B1 â’± PARENTHESIZED LATIN SMALL LETTER V -24B2 â’² PARENTHESIZED LATIN SMALL LETTER W -24B3 â’³ PARENTHESIZED LATIN SMALL LETTER X -24B4 â’´ PARENTHESIZED LATIN SMALL LETTER Y -24B5 â’µ PARENTHESIZED LATIN SMALL LETTER Z -24B6 â’¶ CIRCLED LATIN CAPITAL LETTER A -24B7 â’· CIRCLED LATIN CAPITAL LETTER B -24B8 â’¸ CIRCLED LATIN CAPITAL LETTER C -24B9 â’¹ CIRCLED LATIN CAPITAL LETTER D -24BA â’º CIRCLED LATIN CAPITAL LETTER E -24BB â’» CIRCLED LATIN CAPITAL LETTER F -24BC â’¼ CIRCLED LATIN CAPITAL LETTER G -24BD â’½ CIRCLED LATIN CAPITAL LETTER H -24BE â’¾ CIRCLED LATIN CAPITAL LETTER I -24BF â’¿ CIRCLED LATIN CAPITAL LETTER J -24C0 â“€ CIRCLED LATIN CAPITAL LETTER K -24C1 â“ CIRCLED LATIN CAPITAL LETTER L -24C2 â“‚ CIRCLED LATIN CAPITAL LETTER M -24C3 Ⓝ CIRCLED LATIN CAPITAL LETTER N -24C4 â“„ CIRCLED LATIN CAPITAL LETTER O -24C5 â“… CIRCLED LATIN CAPITAL LETTER P -24C6 Ⓠ CIRCLED LATIN CAPITAL LETTER Q -24C7 Ⓡ CIRCLED LATIN CAPITAL LETTER R -24C8 Ⓢ CIRCLED LATIN CAPITAL LETTER S -24C9 Ⓣ CIRCLED LATIN CAPITAL LETTER T -24CA â“Š CIRCLED LATIN CAPITAL LETTER U -24CB â“‹ CIRCLED LATIN CAPITAL LETTER V -24CC â“Œ CIRCLED LATIN CAPITAL LETTER W -24CD â“ CIRCLED LATIN CAPITAL LETTER X -24CE â“Ž CIRCLED LATIN CAPITAL LETTER Y -24CF â“ CIRCLED LATIN CAPITAL LETTER Z -24D0 â“ CIRCLED LATIN SMALL LETTER A -24D1 â“‘ CIRCLED LATIN SMALL LETTER B -24D2 â“’ CIRCLED LATIN SMALL LETTER C -24D3 â““ CIRCLED LATIN SMALL LETTER D -24D4 â“” CIRCLED LATIN SMALL LETTER E -24D5 â“• CIRCLED LATIN SMALL LETTER F -24D6 â“– CIRCLED LATIN SMALL LETTER G -24D7 â“— CIRCLED LATIN SMALL LETTER H -24D8 ⓘ CIRCLED LATIN SMALL LETTER I -24D9 â“™ CIRCLED LATIN SMALL LETTER J -24DA â“š CIRCLED LATIN SMALL LETTER K -24DB â“› CIRCLED LATIN SMALL LETTER L -24DC â“œ CIRCLED LATIN SMALL LETTER M -24DD â“ CIRCLED LATIN SMALL LETTER N -24DE â“ž CIRCLED LATIN SMALL LETTER O -24DF â“Ÿ CIRCLED LATIN SMALL LETTER P -24E0 â“  CIRCLED LATIN SMALL LETTER Q -24E1 â“¡ CIRCLED LATIN SMALL LETTER R -24E2 â“¢ CIRCLED LATIN SMALL LETTER S -24E3 â“£ CIRCLED LATIN SMALL LETTER T -24E4 ⓤ CIRCLED LATIN SMALL LETTER U -24E5 â“¥ CIRCLED LATIN SMALL LETTER V -24E6 ⓦ CIRCLED LATIN SMALL LETTER W -24E7 ⓧ CIRCLED LATIN SMALL LETTER X -24E8 ⓨ CIRCLED LATIN SMALL LETTER Y -24E9 â“© CIRCLED LATIN SMALL LETTER Z -24EA ⓪ CIRCLED DIGIT ZERO -2500 ─ BOX DRAWINGS LIGHT HORIZONTAL -2501 â” BOX DRAWINGS HEAVY HORIZONTAL -2502 │ BOX DRAWINGS LIGHT VERTICAL -2503 ┃ BOX DRAWINGS HEAVY VERTICAL -2504 ┄ BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL -2505 â”… BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL -2506 ┆ BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL -2507 ┇ BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL -2508 ┈ BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL -2509 ┉ BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL -250A ┊ BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL -250B ┋ BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL -250C ┌ BOX DRAWINGS LIGHT DOWN AND RIGHT -250D â” BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY -250E ┎ BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT -250F â” BOX DRAWINGS HEAVY DOWN AND RIGHT -2510 â” BOX DRAWINGS LIGHT DOWN AND LEFT -2511 ┑ BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY -2512 â”’ BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT -2513 ┓ BOX DRAWINGS HEAVY DOWN AND LEFT -2514 â”” BOX DRAWINGS LIGHT UP AND RIGHT -2515 ┕ BOX DRAWINGS UP LIGHT AND RIGHT HEAVY -2516 â”– BOX DRAWINGS UP HEAVY AND RIGHT LIGHT -2517 â”— BOX DRAWINGS HEAVY UP AND RIGHT -2518 ┘ BOX DRAWINGS LIGHT UP AND LEFT -2519 â”™ BOX DRAWINGS UP LIGHT AND LEFT HEAVY -251A ┚ BOX DRAWINGS UP HEAVY AND LEFT LIGHT -251B â”› BOX DRAWINGS HEAVY UP AND LEFT -251C ├ BOX DRAWINGS LIGHT VERTICAL AND RIGHT -251D â” BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY -251E ┞ BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT -251F ┟ BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT -2520 â”  BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT -2521 ┡ BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY -2522 ┢ BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY -2523 ┣ BOX DRAWINGS HEAVY VERTICAL AND RIGHT -2524 ┤ BOX DRAWINGS LIGHT VERTICAL AND LEFT -2525 ┥ BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY -2526 ┦ BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT -2527 ┧ BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT -2528 ┨ BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT -2529 ┩ BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY -252A ┪ BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY -252B ┫ BOX DRAWINGS HEAVY VERTICAL AND LEFT -252C ┬ BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -252D â”­ BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT -252E â”® BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT -252F ┯ BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY -2530 â”° BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT -2531 â”± BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY -2532 ┲ BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY -2533 ┳ BOX DRAWINGS HEAVY DOWN AND HORIZONTAL -2534 â”´ BOX DRAWINGS LIGHT UP AND HORIZONTAL -2535 ┵ BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT -2536 ┶ BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT -2537 â”· BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY -2538 ┸ BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT -2539 ┹ BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY -253A ┺ BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY -253B â”» BOX DRAWINGS HEAVY UP AND HORIZONTAL -253C ┼ BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -253D ┽ BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT -253E ┾ BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT -253F ┿ BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY -2540 â•€ BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT -2541 â• BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT -2542 â•‚ BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT -2543 ╃ BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT -2544 â•„ BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT -2545 â•… BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT -2546 ╆ BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT -2547 ╇ BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY -2548 ╈ BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY -2549 ╉ BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY -254A â•Š BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY -254B â•‹ BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL -254C â•Œ BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL -254D â• BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL -254E â•Ž BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL -254F â• BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL -2550 â• BOX DRAWINGS DOUBLE HORIZONTAL -2551 â•‘ BOX DRAWINGS DOUBLE VERTICAL -2552 â•’ BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -2553 â•“ BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -2554 â•” BOX DRAWINGS DOUBLE DOWN AND RIGHT -2555 â•• BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -2556 â•– BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -2557 â•— BOX DRAWINGS DOUBLE DOWN AND LEFT -2558 ╘ BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -2559 â•™ BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -255A â•š BOX DRAWINGS DOUBLE UP AND RIGHT -255B â•› BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -255C â•œ BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -255D â• BOX DRAWINGS DOUBLE UP AND LEFT -255E â•ž BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE -255F â•Ÿ BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE -2560 â•  BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -2561 â•¡ BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE -2562 â•¢ BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE -2563 â•£ BOX DRAWINGS DOUBLE VERTICAL AND LEFT -2564 ╤ BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE -2565 â•¥ BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE -2566 ╦ BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -2567 ╧ BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE -2568 ╨ BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE -2569 â•© BOX DRAWINGS DOUBLE UP AND HORIZONTAL -256A ╪ BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE -256B â•« BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE -256C ╬ BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -256D â•­ BOX DRAWINGS LIGHT ARC DOWN AND RIGHT -256E â•® BOX DRAWINGS LIGHT ARC DOWN AND LEFT -256F ╯ BOX DRAWINGS LIGHT ARC UP AND LEFT -2570 â•° BOX DRAWINGS LIGHT ARC UP AND RIGHT -2571 ╱ BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT -2572 ╲ BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT -2573 ╳ BOX DRAWINGS LIGHT DIAGONAL CROSS -2574 â•´ BOX DRAWINGS LIGHT LEFT -2575 ╵ BOX DRAWINGS LIGHT UP -2576 ╶ BOX DRAWINGS LIGHT RIGHT -2577 â•· BOX DRAWINGS LIGHT DOWN -2578 ╸ BOX DRAWINGS HEAVY LEFT -2579 ╹ BOX DRAWINGS HEAVY UP -257A ╺ BOX DRAWINGS HEAVY RIGHT -257B â•» BOX DRAWINGS HEAVY DOWN -257C ╼ BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT -257D ╽ BOX DRAWINGS LIGHT UP AND HEAVY DOWN -257E ╾ BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT -257F â•¿ BOX DRAWINGS HEAVY UP AND LIGHT DOWN -2580 â–€ UPPER HALF BLOCK -2581 â– LOWER ONE EIGHTH BLOCK -2582 â–‚ LOWER ONE QUARTER BLOCK -2583 â–ƒ LOWER THREE EIGHTHS BLOCK -2584 â–„ LOWER HALF BLOCK -2585 â–… LOWER FIVE EIGHTHS BLOCK -2586 â–† LOWER THREE QUARTERS BLOCK -2587 â–‡ LOWER SEVEN EIGHTHS BLOCK -2588 â–ˆ FULL BLOCK -2589 â–‰ LEFT SEVEN EIGHTHS BLOCK -258A â–Š LEFT THREE QUARTERS BLOCK -258B â–‹ LEFT FIVE EIGHTHS BLOCK -258C â–Œ LEFT HALF BLOCK -258D â– LEFT THREE EIGHTHS BLOCK -258E â–Ž LEFT ONE QUARTER BLOCK -258F â– LEFT ONE EIGHTH BLOCK -2590 â– RIGHT HALF BLOCK -2591 â–‘ LIGHT SHADE -2592 â–’ MEDIUM SHADE -2593 â–“ DARK SHADE -2594 â–” UPPER ONE EIGHTH BLOCK -2595 â–• RIGHT ONE EIGHTH BLOCK -25A0 â–  BLACK SQUARE -25A1 â–¡ WHITE SQUARE -25A2 â–¢ WHITE SQUARE WITH ROUNDED CORNERS -25A3 â–£ WHITE SQUARE CONTAINING BLACK SMALL SQUARE -25A4 â–¤ SQUARE WITH HORIZONTAL FILL -25A5 â–¥ SQUARE WITH VERTICAL FILL -25A6 â–¦ SQUARE WITH ORTHOGONAL CROSSHATCH FILL -25A7 â–§ SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL -25A8 â–¨ SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL -25A9 â–© SQUARE WITH DIAGONAL CROSSHATCH FILL -25AA â–ª BLACK SMALL SQUARE -25AB â–« WHITE SMALL SQUARE -25AC â–¬ BLACK RECTANGLE -25AD â–­ WHITE RECTANGLE -25AE â–® BLACK VERTICAL RECTANGLE -25AF â–¯ WHITE VERTICAL RECTANGLE -25B0 â–° BLACK PARALLELOGRAM -25B1 â–± WHITE PARALLELOGRAM -25B2 â–² BLACK UP-POINTING TRIANGLE -25B3 â–³ WHITE UP-POINTING TRIANGLE -25B4 â–´ BLACK UP-POINTING SMALL TRIANGLE -25B5 â–µ WHITE UP-POINTING SMALL TRIANGLE -25B6 â–¶ BLACK RIGHT-POINTING TRIANGLE -25B7 â–· WHITE RIGHT-POINTING TRIANGLE -25B8 â–¸ BLACK RIGHT-POINTING SMALL TRIANGLE -25B9 â–¹ WHITE RIGHT-POINTING SMALL TRIANGLE -25BA â–º BLACK RIGHT-POINTING POINTER -25BB â–» WHITE RIGHT-POINTING POINTER -25BC â–¼ BLACK DOWN-POINTING TRIANGLE -25BD â–½ WHITE DOWN-POINTING TRIANGLE -25BE â–¾ BLACK DOWN-POINTING SMALL TRIANGLE -25BF â–¿ WHITE DOWN-POINTING SMALL TRIANGLE -25C0 â—€ BLACK LEFT-POINTING TRIANGLE -25C1 â— WHITE LEFT-POINTING TRIANGLE -25C2 â—‚ BLACK LEFT-POINTING SMALL TRIANGLE -25C3 â—ƒ WHITE LEFT-POINTING SMALL TRIANGLE -25C4 â—„ BLACK LEFT-POINTING POINTER -25C5 â—… WHITE LEFT-POINTING POINTER -25C6 â—† BLACK DIAMOND -25C7 â—‡ WHITE DIAMOND -25C8 â—ˆ WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND -25C9 â—‰ FISHEYE -25CA â—Š LOZENGE -25CB â—‹ WHITE CIRCLE -25CC â—Œ DOTTED CIRCLE -25CD â— CIRCLE WITH VERTICAL FILL -25CE â—Ž BULLSEYE -25CF â— BLACK CIRCLE -25D0 â— CIRCLE WITH LEFT HALF BLACK -25D1 â—‘ CIRCLE WITH RIGHT HALF BLACK -25D2 â—’ CIRCLE WITH LOWER HALF BLACK -25D3 â—“ CIRCLE WITH UPPER HALF BLACK -25D4 â—” CIRCLE WITH UPPER RIGHT QUADRANT BLACK -25D5 â—• CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK -25D6 â—– LEFT HALF BLACK CIRCLE -25D7 â—— RIGHT HALF BLACK CIRCLE -25D8 â—˜ INVERSE BULLET -25D9 â—™ INVERSE WHITE CIRCLE -25DA â—š UPPER HALF INVERSE WHITE CIRCLE -25DB â—› LOWER HALF INVERSE WHITE CIRCLE -25DC â—œ UPPER LEFT QUADRANT CIRCULAR ARC -25DD â— UPPER RIGHT QUADRANT CIRCULAR ARC -25DE â—ž LOWER RIGHT QUADRANT CIRCULAR ARC -25DF â—Ÿ LOWER LEFT QUADRANT CIRCULAR ARC -25E0 â—  UPPER HALF CIRCLE -25E1 â—¡ LOWER HALF CIRCLE -25E2 â—¢ BLACK LOWER RIGHT TRIANGLE -25E3 â—£ BLACK LOWER LEFT TRIANGLE -25E4 â—¤ BLACK UPPER LEFT TRIANGLE -25E5 â—¥ BLACK UPPER RIGHT TRIANGLE -25E6 â—¦ WHITE BULLET -25E7 â—§ SQUARE WITH LEFT HALF BLACK -25E8 â—¨ SQUARE WITH RIGHT HALF BLACK -25E9 â—© SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK -25EA â—ª SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK -25EB â—« WHITE SQUARE WITH VERTICAL BISECTING LINE -25EC â—¬ WHITE UP-POINTING TRIANGLE WITH DOT -25ED â—­ UP-POINTING TRIANGLE WITH LEFT HALF BLACK -25EE â—® UP-POINTING TRIANGLE WITH RIGHT HALF BLACK -25EF â—¯ LARGE CIRCLE -2600 ☀ BLACK SUN WITH RAYS -2601 ☠CLOUD -2602 ☂ UMBRELLA -2603 ☃ SNOWMAN -2604 ☄ COMET -2605 ★ BLACK STAR -2606 ☆ WHITE STAR -2607 ☇ LIGHTNING -2608 ☈ THUNDERSTORM -2609 ☉ SUN -260A ☊ ASCENDING NODE -260B ☋ DESCENDING NODE -260C ☌ CONJUNCTION -260D ☠OPPOSITION -260E ☎ BLACK TELEPHONE -260F ☠WHITE TELEPHONE -2610 ☠BALLOT BOX -2611 ☑ BALLOT BOX WITH CHECK -2612 ☒ BALLOT BOX WITH X -2613 ☓ SALTIRE -261A ☚ BLACK LEFT POINTING INDEX -261B ☛ BLACK RIGHT POINTING INDEX -261C ☜ WHITE LEFT POINTING INDEX -261D ☠WHITE UP POINTING INDEX -261E ☞ WHITE RIGHT POINTING INDEX -261F ☟ WHITE DOWN POINTING INDEX -2620 ☠ SKULL AND CROSSBONES -2621 ☡ CAUTION SIGN -2622 ☢ RADIOACTIVE SIGN -2623 ☣ BIOHAZARD SIGN -2624 ☤ CADUCEUS -2625 ☥ ANKH -2626 ☦ ORTHODOX CROSS -2627 ☧ CHI RHO -2628 ☨ CROSS OF LORRAINE -2629 ☩ CROSS OF JERUSALEM -262A ☪ STAR AND CRESCENT -262B ☫ FARSI SYMBOL -262C ☬ ADI SHAKTI -262D ☭ HAMMER AND SICKLE -262E ☮ PEACE SYMBOL -262F ☯ YIN YANG -2630 ☰ TRIGRAM FOR HEAVEN -2631 ☱ TRIGRAM FOR LAKE -2632 ☲ TRIGRAM FOR FIRE -2633 ☳ TRIGRAM FOR THUNDER -2634 ☴ TRIGRAM FOR WIND -2635 ☵ TRIGRAM FOR WATER -2636 ☶ TRIGRAM FOR MOUNTAIN -2637 ☷ TRIGRAM FOR EARTH -2638 ☸ WHEEL OF DHARMA -2639 ☹ WHITE FROWNING FACE -263A ☺ WHITE SMILING FACE -263B ☻ BLACK SMILING FACE -263C ☼ WHITE SUN WITH RAYS -263D ☽ FIRST QUARTER MOON -263E ☾ LAST QUARTER MOON -263F ☿ MERCURY -2640 ♀ FEMALE SIGN -2641 â™ EARTH -2642 ♂ MALE SIGN -2643 ♃ JUPITER -2644 ♄ SATURN -2645 â™… URANUS -2646 ♆ NEPTUNE -2647 ♇ PLUTO -2648 ♈ ARIES -2649 ♉ TAURUS -264A ♊ GEMINI -264B ♋ CANCER -264C ♌ LEO -264D â™ VIRGO -264E ♎ LIBRA -264F â™ SCORPIUS -2650 â™ SAGITTARIUS -2651 ♑ CAPRICORN -2652 â™’ AQUARIUS -2653 ♓ PISCES -2654 â™” WHITE CHESS KING -2655 ♕ WHITE CHESS QUEEN -2656 â™– WHITE CHESS ROOK -2657 â™— WHITE CHESS BISHOP -2658 ♘ WHITE CHESS KNIGHT -2659 â™™ WHITE CHESS PAWN -265A ♚ BLACK CHESS KING -265B â™› BLACK CHESS QUEEN -265C ♜ BLACK CHESS ROOK -265D â™ BLACK CHESS BISHOP -265E ♞ BLACK CHESS KNIGHT -265F ♟ BLACK CHESS PAWN -2660 â™  BLACK SPADE SUIT -2661 ♡ WHITE HEART SUIT -2662 ♢ WHITE DIAMOND SUIT -2663 ♣ BLACK CLUB SUIT -2664 ♤ WHITE SPADE SUIT -2665 ♥ BLACK HEART SUIT -2666 ♦ BLACK DIAMOND SUIT -2667 ♧ WHITE CLUB SUIT -2668 ♨ HOT SPRINGS -2669 ♩ QUARTER NOTE -266A ♪ EIGHTH NOTE -266B ♫ BEAMED EIGHTH NOTES -266C ♬ BEAMED SIXTEENTH NOTES -266D â™­ MUSIC FLAT SIGN -266E â™® MUSIC NATURAL SIGN -266F ♯ MUSIC SHARP SIGN -2701 ✠UPPER BLADE SCISSORS -2702 ✂ BLACK SCISSORS -2703 ✃ LOWER BLADE SCISSORS -2704 ✄ WHITE SCISSORS -2706 ✆ TELEPHONE LOCATION SIGN -2707 ✇ TAPE DRIVE -2708 ✈ AIRPLANE -2709 ✉ ENVELOPE -270C ✌ VICTORY HAND -270D ✠WRITING HAND -270E ✎ LOWER RIGHT PENCIL -270F ✠PENCIL -2710 ✠UPPER RIGHT PENCIL -2711 ✑ WHITE NIB -2712 ✒ BLACK NIB -2713 ✓ CHECK MARK -2714 ✔ HEAVY CHECK MARK -2715 ✕ MULTIPLICATION X -2716 ✖ HEAVY MULTIPLICATION X -2717 ✗ BALLOT X -2718 ✘ HEAVY BALLOT X -2719 ✙ OUTLINED GREEK CROSS -271A ✚ HEAVY GREEK CROSS -271B ✛ OPEN CENTRE CROSS -271C ✜ HEAVY OPEN CENTRE CROSS -271D ✠LATIN CROSS -271E ✞ SHADOWED WHITE LATIN CROSS -271F ✟ OUTLINED LATIN CROSS -2720 ✠ MALTESE CROSS -2721 ✡ STAR OF DAVID -2722 ✢ FOUR TEARDROP-SPOKED ASTERISK -2723 ✣ FOUR BALLOON-SPOKED ASTERISK -2724 ✤ HEAVY FOUR BALLOON-SPOKED ASTERISK -2725 ✥ FOUR CLUB-SPOKED ASTERISK -2726 ✦ BLACK FOUR POINTED STAR -2727 ✧ WHITE FOUR POINTED STAR -2729 ✩ STRESS OUTLINED WHITE STAR -272A ✪ CIRCLED WHITE STAR -272B ✫ OPEN CENTRE BLACK STAR -272C ✬ BLACK CENTRE WHITE STAR -272D ✭ OUTLINED BLACK STAR -272E ✮ HEAVY OUTLINED BLACK STAR -272F ✯ PINWHEEL STAR -2730 ✰ SHADOWED WHITE STAR -2731 ✱ HEAVY ASTERISK -2732 ✲ OPEN CENTRE ASTERISK -2733 ✳ EIGHT SPOKED ASTERISK -2734 ✴ EIGHT POINTED BLACK STAR -2735 ✵ EIGHT POINTED PINWHEEL STAR -2736 ✶ SIX POINTED BLACK STAR -2737 ✷ EIGHT POINTED RECTILINEAR BLACK STAR -2738 ✸ HEAVY EIGHT POINTED RECTILINEAR BLACK STAR -2739 ✹ TWELVE POINTED BLACK STAR -273A ✺ SIXTEEN POINTED ASTERISK -273B ✻ TEARDROP-SPOKED ASTERISK -273C ✼ OPEN CENTRE TEARDROP-SPOKED ASTERISK -273D ✽ HEAVY TEARDROP-SPOKED ASTERISK -273E ✾ SIX PETALLED BLACK AND WHITE FLORETTE -273F ✿ BLACK FLORETTE -2740 †WHITE FLORETTE -2741 â EIGHT PETALLED OUTLINED BLACK FLORETTE -2742 â‚ CIRCLED OPEN CENTRE EIGHT POINTED STAR -2743 ⃠HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK -2744 â„ SNOWFLAKE -2745 â… TIGHT TRIFOLIATE SNOWFLAKE -2746 ↠HEAVY CHEVRON SNOWFLAKE -2747 ⇠SPARKLE -2748 ∠HEAVY SPARKLE -2749 ≠BALLOON-SPOKED ASTERISK -274A ⊠EIGHT TEARDROP-SPOKED PROPELLER ASTERISK -274B â‹ HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK -274D â SHADOWED WHITE CIRCLE -274F â LOWER RIGHT DROP-SHADOWED WHITE SQUARE -2750 â UPPER RIGHT DROP-SHADOWED WHITE SQUARE -2751 â‘ LOWER RIGHT SHADOWED WHITE SQUARE -2752 â’ UPPER RIGHT SHADOWED WHITE SQUARE -2756 â– BLACK DIAMOND MINUS WHITE X -2758 ☠LIGHT VERTICAL BAR -2759 â™ MEDIUM VERTICAL BAR -275A âš HEAVY VERTICAL BAR -275B â› HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT -275C ✠HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT -275D â HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT -275E âž HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT -2761 â¡ CURVED STEM PARAGRAPH SIGN ORNAMENT -2762 ⢠HEAVY EXCLAMATION MARK ORNAMENT -2763 ⣠HEAVY HEART EXCLAMATION MARK ORNAMENT -2764 ⤠HEAVY BLACK HEART -2765 ⥠ROTATED HEAVY BLACK HEART BULLET -2766 ⦠FLORAL HEART -2767 ⧠ROTATED FLORAL HEART BULLET -2776 ⶠDINGBAT NEGATIVE CIRCLED DIGIT ONE -2777 â· DINGBAT NEGATIVE CIRCLED DIGIT TWO -2778 ⸠DINGBAT NEGATIVE CIRCLED DIGIT THREE -2779 â¹ DINGBAT NEGATIVE CIRCLED DIGIT FOUR -277A ⺠DINGBAT NEGATIVE CIRCLED DIGIT FIVE -277B â» DINGBAT NEGATIVE CIRCLED DIGIT SIX -277C â¼ DINGBAT NEGATIVE CIRCLED DIGIT SEVEN -277D â½ DINGBAT NEGATIVE CIRCLED DIGIT EIGHT -277E â¾ DINGBAT NEGATIVE CIRCLED DIGIT NINE -277F â¿ DINGBAT NEGATIVE CIRCLED NUMBER TEN -2780 ➀ DINGBAT CIRCLED SANS-SERIF DIGIT ONE -2781 âž DINGBAT CIRCLED SANS-SERIF DIGIT TWO -2782 âž‚ DINGBAT CIRCLED SANS-SERIF DIGIT THREE -2783 ➃ DINGBAT CIRCLED SANS-SERIF DIGIT FOUR -2784 âž„ DINGBAT CIRCLED SANS-SERIF DIGIT FIVE -2785 âž… DINGBAT CIRCLED SANS-SERIF DIGIT SIX -2786 ➆ DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN -2787 ➇ DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT -2788 ➈ DINGBAT CIRCLED SANS-SERIF DIGIT NINE -2789 ➉ DINGBAT CIRCLED SANS-SERIF NUMBER TEN -278A ➊ DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE -278B âž‹ DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO -278C ➌ DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE -278D âž DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR -278E ➎ DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE -278F âž DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX -2790 âž DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN -2791 âž‘ DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT -2792 âž’ DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE -2793 âž“ DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN -2794 âž” HEAVY WIDE-HEADED RIGHTWARDS ARROW -2798 ➘ HEAVY SOUTH EAST ARROW -2799 âž™ HEAVY RIGHTWARDS ARROW -279A âžš HEAVY NORTH EAST ARROW -279B âž› DRAFTING POINT RIGHTWARDS ARROW -279C âžœ HEAVY ROUND-TIPPED RIGHTWARDS ARROW -279D âž TRIANGLE-HEADED RIGHTWARDS ARROW -279E âžž HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW -279F ➟ DASHED TRIANGLE-HEADED RIGHTWARDS ARROW -27A0 âž  HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW -27A1 âž¡ BLACK RIGHTWARDS ARROW -27A2 ➢ THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD -27A3 ➣ THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD -27A4 ➤ BLACK RIGHTWARDS ARROWHEAD -27A5 ➥ HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW -27A6 ➦ HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW -27A7 ➧ SQUAT BLACK RIGHTWARDS ARROW -27A8 ➨ HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW -27A9 âž© RIGHT-SHADED WHITE RIGHTWARDS ARROW -27AA ➪ LEFT-SHADED WHITE RIGHTWARDS ARROW -27AB âž« BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW -27AC ➬ FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW -27AD âž­ HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW -27AE âž® HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW -27AF ➯ NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW -27B1 âž± NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW -27B2 âž² CIRCLED HEAVY WHITE RIGHTWARDS ARROW -27B3 âž³ WHITE-FEATHERED RIGHTWARDS ARROW -27B4 âž´ BLACK-FEATHERED SOUTH EAST ARROW -27B5 âžµ BLACK-FEATHERED RIGHTWARDS ARROW -27B6 ➶ BLACK-FEATHERED NORTH EAST ARROW -27B7 âž· HEAVY BLACK-FEATHERED SOUTH EAST ARROW -27B8 ➸ HEAVY BLACK-FEATHERED RIGHTWARDS ARROW -27B9 âž¹ HEAVY BLACK-FEATHERED NORTH EAST ARROW -27BA ➺ TEARDROP-BARBED RIGHTWARDS ARROW -27BB âž» HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW -27BC âž¼ WEDGE-TAILED RIGHTWARDS ARROW -27BD âž½ HEAVY WEDGE-TAILED RIGHTWARDS ARROW -27BE âž¾ OPEN-OUTLINED RIGHTWARDS ARROW -3000   IDEOGRAPHIC SPACE -3001 〠IDEOGRAPHIC COMMA -3002 。 IDEOGRAPHIC FULL STOP -3003 〃 DITTO MARK -3004 〄 JAPANESE INDUSTRIAL STANDARD SYMBOL -3005 々 IDEOGRAPHIC ITERATION MARK -3006 〆 IDEOGRAPHIC CLOSING MARK -3007 〇 IDEOGRAPHIC NUMBER ZERO -3008 〈 LEFT ANGLE BRACKET -3009 〉 RIGHT ANGLE BRACKET -300A 《 LEFT DOUBLE ANGLE BRACKET -300B 》 RIGHT DOUBLE ANGLE BRACKET -300C 「 LEFT CORNER BRACKET -300D 〠RIGHT CORNER BRACKET -300E 『 LEFT WHITE CORNER BRACKET -300F 〠RIGHT WHITE CORNER BRACKET -3010 〠LEFT BLACK LENTICULAR BRACKET -3011 】 RIGHT BLACK LENTICULAR BRACKET -3012 〒 POSTAL MARK -3013 〓 GETA MARK -3014 〔 LEFT TORTOISE SHELL BRACKET -3015 〕 RIGHT TORTOISE SHELL BRACKET -3016 〖 LEFT WHITE LENTICULAR BRACKET -3017 〗 RIGHT WHITE LENTICULAR BRACKET -3018 〘 LEFT WHITE TORTOISE SHELL BRACKET -3019 〙 RIGHT WHITE TORTOISE SHELL BRACKET -301A 〚 LEFT WHITE SQUARE BRACKET -301B 〛 RIGHT WHITE SQUARE BRACKET -301C 〜 WAVE DASH -301D 〠REVERSED DOUBLE PRIME QUOTATION MARK -301E 〞 DOUBLE PRIME QUOTATION MARK -301F 〟 LOW DOUBLE PRIME QUOTATION MARK -3020 〠 POSTAL MARK FACE -3021 〡 HANGZHOU NUMERAL ONE -3022 〢 HANGZHOU NUMERAL TWO -3023 〣 HANGZHOU NUMERAL THREE -3024 〤 HANGZHOU NUMERAL FOUR -3025 〥 HANGZHOU NUMERAL FIVE -3026 〦 HANGZHOU NUMERAL SIX -3027 〧 HANGZHOU NUMERAL SEVEN -3028 〨 HANGZHOU NUMERAL EIGHT -3029 〩 HANGZHOU NUMERAL NINE -302A 〪 IDEOGRAPHIC LEVEL TONE MARK -302B 〫 IDEOGRAPHIC RISING TONE MARK -302C 〬 IDEOGRAPHIC DEPARTING TONE MARK -302D 〭 IDEOGRAPHIC ENTERING TONE MARK -302E 〮 HANGUL SINGLE DOT TONE MARK -302F 〯 HANGUL DOUBLE DOT TONE MARK -3030 〰 WAVY DASH -3031 〱 VERTICAL KANA REPEAT MARK -3032 〲 VERTICAL KANA REPEAT WITH VOICED SOUND MARK -3033 〳 VERTICAL KANA REPEAT MARK UPPER HALF -3034 〴 VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF -3035 〵 VERTICAL KANA REPEAT MARK LOWER HALF -3036 〶 CIRCLED POSTAL MARK -3037 〷 IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL -303F 〿 IDEOGRAPHIC HALF FILL SPACE -3041 ã HIRAGANA LETTER SMALL A -3042 ã‚ HIRAGANA LETTER A -3043 ムHIRAGANA LETTER SMALL I -3044 ã„ HIRAGANA LETTER I -3045 ã… HIRAGANA LETTER SMALL U -3046 ㆠHIRAGANA LETTER U -3047 ㇠HIRAGANA LETTER SMALL E -3048 ㈠HIRAGANA LETTER E -3049 ㉠HIRAGANA LETTER SMALL O -304A ㊠HIRAGANA LETTER O -304B ã‹ HIRAGANA LETTER KA -304C ㌠HIRAGANA LETTER GA -304D ã HIRAGANA LETTER KI -304E ㎠HIRAGANA LETTER GI -304F ã HIRAGANA LETTER KU -3050 ã HIRAGANA LETTER GU -3051 ã‘ HIRAGANA LETTER KE -3052 ã’ HIRAGANA LETTER GE -3053 ã“ HIRAGANA LETTER KO -3054 ã” HIRAGANA LETTER GO -3055 ã• HIRAGANA LETTER SA -3056 ã– HIRAGANA LETTER ZA -3057 ã— HIRAGANA LETTER SI -3058 㘠HIRAGANA LETTER ZI -3059 ã™ HIRAGANA LETTER SU -305A ãš HIRAGANA LETTER ZU -305B ã› HIRAGANA LETTER SE -305C 㜠HIRAGANA LETTER ZE -305D ã HIRAGANA LETTER SO -305E ãž HIRAGANA LETTER ZO -305F 㟠HIRAGANA LETTER TA -3060 ã  HIRAGANA LETTER DA -3061 ã¡ HIRAGANA LETTER TI -3062 㢠HIRAGANA LETTER DI -3063 㣠HIRAGANA LETTER SMALL TU -3064 㤠HIRAGANA LETTER TU -3065 㥠HIRAGANA LETTER DU -3066 㦠HIRAGANA LETTER TE -3067 㧠HIRAGANA LETTER DE -3068 㨠HIRAGANA LETTER TO -3069 ã© HIRAGANA LETTER DO -306A 㪠HIRAGANA LETTER NA -306B ã« HIRAGANA LETTER NI -306C 㬠HIRAGANA LETTER NU -306D ã­ HIRAGANA LETTER NE -306E ã® HIRAGANA LETTER NO -306F 㯠HIRAGANA LETTER HA -3070 ã° HIRAGANA LETTER BA -3071 ã± HIRAGANA LETTER PA -3072 ã² HIRAGANA LETTER HI -3073 ã³ HIRAGANA LETTER BI -3074 ã´ HIRAGANA LETTER PI -3075 ãµ HIRAGANA LETTER HU -3076 㶠HIRAGANA LETTER BU -3077 ã· HIRAGANA LETTER PU -3078 㸠HIRAGANA LETTER HE -3079 ã¹ HIRAGANA LETTER BE -307A 㺠HIRAGANA LETTER PE -307B ã» HIRAGANA LETTER HO -307C ã¼ HIRAGANA LETTER BO -307D ã½ HIRAGANA LETTER PO -307E ã¾ HIRAGANA LETTER MA -307F ã¿ HIRAGANA LETTER MI -3080 ã‚€ HIRAGANA LETTER MU -3081 ã‚ HIRAGANA LETTER ME -3082 ã‚‚ HIRAGANA LETTER MO -3083 ゃ HIRAGANA LETTER SMALL YA -3084 ã‚„ HIRAGANA LETTER YA -3085 ã‚… HIRAGANA LETTER SMALL YU -3086 ゆ HIRAGANA LETTER YU -3087 ょ HIRAGANA LETTER SMALL YO -3088 よ HIRAGANA LETTER YO -3089 ら HIRAGANA LETTER RA -308A ã‚Š HIRAGANA LETTER RI -308B ã‚‹ HIRAGANA LETTER RU -308C ã‚Œ HIRAGANA LETTER RE -308D ã‚ HIRAGANA LETTER RO -308E ã‚Ž HIRAGANA LETTER SMALL WA -308F ã‚ HIRAGANA LETTER WA -3090 ã‚ HIRAGANA LETTER WI -3091 ã‚‘ HIRAGANA LETTER WE -3092 ã‚’ HIRAGANA LETTER WO -3093 ã‚“ HIRAGANA LETTER N -3094 ã‚” HIRAGANA LETTER VU -3099 ã‚™ COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK -309A ã‚š COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK -309B ã‚› KATAKANA-HIRAGANA VOICED SOUND MARK -309C ã‚œ KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK -309D ã‚ HIRAGANA ITERATION MARK -309E ã‚ž HIRAGANA VOICED ITERATION MARK -30A1 ã‚¡ KATAKANA LETTER SMALL A -30A2 ã‚¢ KATAKANA LETTER A -30A3 ã‚£ KATAKANA LETTER SMALL I -30A4 イ KATAKANA LETTER I -30A5 ã‚¥ KATAKANA LETTER SMALL U -30A6 ウ KATAKANA LETTER U -30A7 ェ KATAKANA LETTER SMALL E -30A8 エ KATAKANA LETTER E -30A9 ã‚© KATAKANA LETTER SMALL O -30AA オ KATAKANA LETTER O -30AB ã‚« KATAKANA LETTER KA -30AC ガ KATAKANA LETTER GA -30AD ã‚­ KATAKANA LETTER KI -30AE ã‚® KATAKANA LETTER GI -30AF ク KATAKANA LETTER KU -30B0 ã‚° KATAKANA LETTER GU -30B1 ケ KATAKANA LETTER KE -30B2 ゲ KATAKANA LETTER GE -30B3 コ KATAKANA LETTER KO -30B4 ã‚´ KATAKANA LETTER GO -30B5 サ KATAKANA LETTER SA -30B6 ザ KATAKANA LETTER ZA -30B7 ã‚· KATAKANA LETTER SI -30B8 ジ KATAKANA LETTER ZI -30B9 ス KATAKANA LETTER SU -30BA ズ KATAKANA LETTER ZU -30BB ã‚» KATAKANA LETTER SE -30BC ゼ KATAKANA LETTER ZE -30BD ソ KATAKANA LETTER SO -30BE ゾ KATAKANA LETTER ZO -30BF ã‚¿ KATAKANA LETTER TA -30C0 ダ KATAKANA LETTER DA -30C1 ムKATAKANA LETTER TI -30C2 ヂ KATAKANA LETTER DI -30C3 ッ KATAKANA LETTER SMALL TU -30C4 ツ KATAKANA LETTER TU -30C5 ヅ KATAKANA LETTER DU -30C6 テ KATAKANA LETTER TE -30C7 デ KATAKANA LETTER DE -30C8 ト KATAKANA LETTER TO -30C9 ド KATAKANA LETTER DO -30CA ナ KATAKANA LETTER NA -30CB ニ KATAKANA LETTER NI -30CC ヌ KATAKANA LETTER NU -30CD ムKATAKANA LETTER NE -30CE ノ KATAKANA LETTER NO -30CF ムKATAKANA LETTER HA -30D0 ムKATAKANA LETTER BA -30D1 パ KATAKANA LETTER PA -30D2 ヒ KATAKANA LETTER HI -30D3 ビ KATAKANA LETTER BI -30D4 ピ KATAKANA LETTER PI -30D5 フ KATAKANA LETTER HU -30D6 ブ KATAKANA LETTER BU -30D7 プ KATAKANA LETTER PU -30D8 ヘ KATAKANA LETTER HE -30D9 ベ KATAKANA LETTER BE -30DA ペ KATAKANA LETTER PE -30DB ホ KATAKANA LETTER HO -30DC ボ KATAKANA LETTER BO -30DD ムKATAKANA LETTER PO -30DE マ KATAKANA LETTER MA -30DF ミ KATAKANA LETTER MI -30E0 ム KATAKANA LETTER MU -30E1 メ KATAKANA LETTER ME -30E2 モ KATAKANA LETTER MO -30E3 ャ KATAKANA LETTER SMALL YA -30E4 ヤ KATAKANA LETTER YA -30E5 ュ KATAKANA LETTER SMALL YU -30E6 ユ KATAKANA LETTER YU -30E7 ョ KATAKANA LETTER SMALL YO -30E8 ヨ KATAKANA LETTER YO -30E9 ラ KATAKANA LETTER RA -30EA リ KATAKANA LETTER RI -30EB ル KATAKANA LETTER RU -30EC レ KATAKANA LETTER RE -30ED ロ KATAKANA LETTER RO -30EE ヮ KATAKANA LETTER SMALL WA -30EF ワ KATAKANA LETTER WA -30F0 ヰ KATAKANA LETTER WI -30F1 ヱ KATAKANA LETTER WE -30F2 ヲ KATAKANA LETTER WO -30F3 ン KATAKANA LETTER N -30F4 ヴ KATAKANA LETTER VU -30F5 ヵ KATAKANA LETTER SMALL KA -30F6 ヶ KATAKANA LETTER SMALL KE -30F7 ヷ KATAKANA LETTER VA -30F8 ヸ KATAKANA LETTER VI -30F9 ヹ KATAKANA LETTER VE -30FA ヺ KATAKANA LETTER VO -30FB ・ KATAKANA MIDDLE DOT -30FC ー KATAKANA-HIRAGANA PROLONGED SOUND MARK -30FD ヽ KATAKANA ITERATION MARK -30FE ヾ KATAKANA VOICED ITERATION MARK -3105 ã„… BOPOMOFO LETTER B -3106 ㄆ BOPOMOFO LETTER P -3107 ㄇ BOPOMOFO LETTER M -3108 ㄈ BOPOMOFO LETTER F -3109 ㄉ BOPOMOFO LETTER D -310A ã„Š BOPOMOFO LETTER T -310B ã„‹ BOPOMOFO LETTER N -310C ã„Œ BOPOMOFO LETTER L -310D ã„ BOPOMOFO LETTER G -310E ã„Ž BOPOMOFO LETTER K -310F ã„ BOPOMOFO LETTER H -3110 ã„ BOPOMOFO LETTER J -3111 ã„‘ BOPOMOFO LETTER Q -3112 ã„’ BOPOMOFO LETTER X -3113 ã„“ BOPOMOFO LETTER ZH -3114 ã„” BOPOMOFO LETTER CH -3115 ã„• BOPOMOFO LETTER SH -3116 ã„– BOPOMOFO LETTER R -3117 ã„— BOPOMOFO LETTER Z -3118 ㄘ BOPOMOFO LETTER C -3119 ã„™ BOPOMOFO LETTER S -311A ã„š BOPOMOFO LETTER A -311B ã„› BOPOMOFO LETTER O -311C ã„œ BOPOMOFO LETTER E -311D ã„ BOPOMOFO LETTER EH -311E ã„ž BOPOMOFO LETTER AI -311F ã„Ÿ BOPOMOFO LETTER EI -3120 ã„  BOPOMOFO LETTER AU -3121 ã„¡ BOPOMOFO LETTER OU -3122 ã„¢ BOPOMOFO LETTER AN -3123 ã„£ BOPOMOFO LETTER EN -3124 ㄤ BOPOMOFO LETTER ANG -3125 ã„¥ BOPOMOFO LETTER ENG -3126 ㄦ BOPOMOFO LETTER ER -3127 ㄧ BOPOMOFO LETTER I -3128 ㄨ BOPOMOFO LETTER U -3129 ã„© BOPOMOFO LETTER IU -312A ㄪ BOPOMOFO LETTER V -312B ã„« BOPOMOFO LETTER NG -312C ㄬ BOPOMOFO LETTER GN -3131 ㄱ HANGUL LETTER KIYEOK -3132 ㄲ HANGUL LETTER SSANGKIYEOK -3133 ㄳ HANGUL LETTER KIYEOK-SIOS -3134 ã„´ HANGUL LETTER NIEUN -3135 ㄵ HANGUL LETTER NIEUN-CIEUC -3136 ㄶ HANGUL LETTER NIEUN-HIEUH -3137 ã„· HANGUL LETTER TIKEUT -3138 ㄸ HANGUL LETTER SSANGTIKEUT -3139 ㄹ HANGUL LETTER RIEUL -313A ㄺ HANGUL LETTER RIEUL-KIYEOK -313B ã„» HANGUL LETTER RIEUL-MIEUM -313C ㄼ HANGUL LETTER RIEUL-PIEUP -313D ㄽ HANGUL LETTER RIEUL-SIOS -313E ㄾ HANGUL LETTER RIEUL-THIEUTH -313F ã„¿ HANGUL LETTER RIEUL-PHIEUPH -3140 ã…€ HANGUL LETTER RIEUL-HIEUH -3141 ã… HANGUL LETTER MIEUM -3142 ã…‚ HANGUL LETTER PIEUP -3143 ã…ƒ HANGUL LETTER SSANGPIEUP -3144 ã…„ HANGUL LETTER PIEUP-SIOS -3145 ã…… HANGUL LETTER SIOS -3146 ã…† HANGUL LETTER SSANGSIOS -3147 ã…‡ HANGUL LETTER IEUNG -3148 ã…ˆ HANGUL LETTER CIEUC -3149 ã…‰ HANGUL LETTER SSANGCIEUC -314A ã…Š HANGUL LETTER CHIEUCH -314B ã…‹ HANGUL LETTER KHIEUKH -314C ã…Œ HANGUL LETTER THIEUTH -314D ã… HANGUL LETTER PHIEUPH -314E ã…Ž HANGUL LETTER HIEUH -314F ã… HANGUL LETTER A -3150 ã… HANGUL LETTER AE -3151 ã…‘ HANGUL LETTER YA -3152 ã…’ HANGUL LETTER YAE -3153 ã…“ HANGUL LETTER EO -3154 ã…” HANGUL LETTER E -3155 ã…• HANGUL LETTER YEO -3156 ã…– HANGUL LETTER YE -3157 ã…— HANGUL LETTER O -3158 ã…˜ HANGUL LETTER WA -3159 ã…™ HANGUL LETTER WAE -315A ã…š HANGUL LETTER OE -315B ã…› HANGUL LETTER YO -315C ã…œ HANGUL LETTER U -315D ã… HANGUL LETTER WEO -315E ã…ž HANGUL LETTER WE -315F ã…Ÿ HANGUL LETTER WI -3160 ã…  HANGUL LETTER YU -3161 ã…¡ HANGUL LETTER EU -3162 ã…¢ HANGUL LETTER YI -3163 ã…£ HANGUL LETTER I -3164 ã…¤ HANGUL FILLER -3165 ã…¥ HANGUL LETTER SSANGNIEUN -3166 ã…¦ HANGUL LETTER NIEUN-TIKEUT -3167 ã…§ HANGUL LETTER NIEUN-SIOS -3168 ã…¨ HANGUL LETTER NIEUN-PANSIOS -3169 ã…© HANGUL LETTER RIEUL-KIYEOK-SIOS -316A ã…ª HANGUL LETTER RIEUL-TIKEUT -316B ã…« HANGUL LETTER RIEUL-PIEUP-SIOS -316C ã…¬ HANGUL LETTER RIEUL-PANSIOS -316D ã…­ HANGUL LETTER RIEUL-YEORINHIEUH -316E ã…® HANGUL LETTER MIEUM-PIEUP -316F ã…¯ HANGUL LETTER MIEUM-SIOS -3170 ã…° HANGUL LETTER MIEUM-PANSIOS -3171 ã…± HANGUL LETTER KAPYEOUNMIEUM -3172 ã…² HANGUL LETTER PIEUP-KIYEOK -3173 ã…³ HANGUL LETTER PIEUP-TIKEUT -3174 ã…´ HANGUL LETTER PIEUP-SIOS-KIYEOK -3175 ã…µ HANGUL LETTER PIEUP-SIOS-TIKEUT -3176 ã…¶ HANGUL LETTER PIEUP-CIEUC -3177 ã…· HANGUL LETTER PIEUP-THIEUTH -3178 ã…¸ HANGUL LETTER KAPYEOUNPIEUP -3179 ã…¹ HANGUL LETTER KAPYEOUNSSANGPIEUP -317A ã…º HANGUL LETTER SIOS-KIYEOK -317B ã…» HANGUL LETTER SIOS-NIEUN -317C ã…¼ HANGUL LETTER SIOS-TIKEUT -317D ã…½ HANGUL LETTER SIOS-PIEUP -317E ã…¾ HANGUL LETTER SIOS-CIEUC -317F ã…¿ HANGUL LETTER PANSIOS -3180 ㆀ HANGUL LETTER SSANGIEUNG -3181 ㆠHANGUL LETTER YESIEUNG -3182 ㆂ HANGUL LETTER YESIEUNG-SIOS -3183 ㆃ HANGUL LETTER YESIEUNG-PANSIOS -3184 ㆄ HANGUL LETTER KAPYEOUNPHIEUPH -3185 ㆅ HANGUL LETTER SSANGHIEUH -3186 ㆆ HANGUL LETTER YEORINHIEUH -3187 ㆇ HANGUL LETTER YO-YA -3188 ㆈ HANGUL LETTER YO-YAE -3189 ㆉ HANGUL LETTER YO-I -318A ㆊ HANGUL LETTER YU-YEO -318B ㆋ HANGUL LETTER YU-YE -318C ㆌ HANGUL LETTER YU-I -318D ㆠHANGUL LETTER ARAEA -318E ㆎ HANGUL LETTER ARAEAE -3190 ㆠIDEOGRAPHIC ANNOTATION LINKING MARK (Kanbun Tateten) -3191 ㆑ IDEOGRAPHIC ANNOTATION REVERSE MARK (Kaeriten) -3192 ㆒ IDEOGRAPHIC ANNOTATION ONE MARK (Kaeriten) -3193 ㆓ IDEOGRAPHIC ANNOTATION TWO MARK (Kaeriten) -3194 ㆔ IDEOGRAPHIC ANNOTATION THREE MARK (Kaeriten) -3195 ㆕ IDEOGRAPHIC ANNOTATION FOUR MARK (Kaeriten) -3196 ㆖ IDEOGRAPHIC ANNOTATION TOP MARK (Kaeriten) -3197 ㆗ IDEOGRAPHIC ANNOTATION MIDDLE MARK (Kaeriten) -3198 ㆘ IDEOGRAPHIC ANNOTATION BOTTOM MARK (Kaeriten) -3199 ㆙ IDEOGRAPHIC ANNOTATION FIRST MARK (Kaeriten) -319A ㆚ IDEOGRAPHIC ANNOTATION SECOND MARK (Kaeriten) -319B ㆛ IDEOGRAPHIC ANNOTATION THIRD MARK (Kaeriten) -319C ㆜ IDEOGRAPHIC ANNOTATION FOURTH MARK (Kaeriten) -319D ㆠIDEOGRAPHIC ANNOTATION HEAVEN MARK (Kaeriten) -319E ㆞ IDEOGRAPHIC ANNOTATION EARTH MARK (Kaeriten) -319F ㆟ IDEOGRAPHIC ANNOTATION MAN MARK (Kaeriten) -3200 ㈀ PARENTHESIZED HANGUL KIYEOK -3201 ㈠PARENTHESIZED HANGUL NIEUN -3202 ㈂ PARENTHESIZED HANGUL TIKEUT -3203 ㈃ PARENTHESIZED HANGUL RIEUL -3204 ㈄ PARENTHESIZED HANGUL MIEUM -3205 ㈅ PARENTHESIZED HANGUL PIEUP -3206 ㈆ PARENTHESIZED HANGUL SIOS -3207 ㈇ PARENTHESIZED HANGUL IEUNG -3208 ㈈ PARENTHESIZED HANGUL CIEUC -3209 ㈉ PARENTHESIZED HANGUL CHIEUCH -320A ㈊ PARENTHESIZED HANGUL KHIEUKH -320B ㈋ PARENTHESIZED HANGUL THIEUTH -320C ㈌ PARENTHESIZED HANGUL PHIEUPH -320D ㈠PARENTHESIZED HANGUL HIEUH -320E ㈎ PARENTHESIZED HANGUL KIYEOK A -320F ㈠PARENTHESIZED HANGUL NIEUN A -3210 ㈠PARENTHESIZED HANGUL TIKEUT A -3211 ㈑ PARENTHESIZED HANGUL RIEUL A -3212 ㈒ PARENTHESIZED HANGUL MIEUM A -3213 ㈓ PARENTHESIZED HANGUL PIEUP A -3214 ㈔ PARENTHESIZED HANGUL SIOS A -3215 ㈕ PARENTHESIZED HANGUL IEUNG A -3216 ㈖ PARENTHESIZED HANGUL CIEUC A -3217 ㈗ PARENTHESIZED HANGUL CHIEUCH A -3218 ㈘ PARENTHESIZED HANGUL KHIEUKH A -3219 ㈙ PARENTHESIZED HANGUL THIEUTH A -321A ㈚ PARENTHESIZED HANGUL PHIEUPH A -321B ㈛ PARENTHESIZED HANGUL HIEUH A -321C ㈜ PARENTHESIZED HANGUL CIEUC U -3220 ㈠ PARENTHESIZED IDEOGRAPH ONE -3221 ㈡ PARENTHESIZED IDEOGRAPH TWO -3222 ㈢ PARENTHESIZED IDEOGRAPH THREE -3223 ㈣ PARENTHESIZED IDEOGRAPH FOUR -3224 ㈤ PARENTHESIZED IDEOGRAPH FIVE -3225 ㈥ PARENTHESIZED IDEOGRAPH SIX -3226 ㈦ PARENTHESIZED IDEOGRAPH SEVEN -3227 ㈧ PARENTHESIZED IDEOGRAPH EIGHT -3228 ㈨ PARENTHESIZED IDEOGRAPH NINE -3229 ㈩ PARENTHESIZED IDEOGRAPH TEN -322A ㈪ PARENTHESIZED IDEOGRAPH MOON -322B ㈫ PARENTHESIZED IDEOGRAPH FIRE -322C ㈬ PARENTHESIZED IDEOGRAPH WATER -322D ㈭ PARENTHESIZED IDEOGRAPH WOOD -322E ㈮ PARENTHESIZED IDEOGRAPH METAL -322F ㈯ PARENTHESIZED IDEOGRAPH EARTH -3230 ㈰ PARENTHESIZED IDEOGRAPH SUN -3231 ㈱ PARENTHESIZED IDEOGRAPH STOCK -3232 ㈲ PARENTHESIZED IDEOGRAPH HAVE -3233 ㈳ PARENTHESIZED IDEOGRAPH SOCIETY -3234 ㈴ PARENTHESIZED IDEOGRAPH NAME -3235 ㈵ PARENTHESIZED IDEOGRAPH SPECIAL -3236 ㈶ PARENTHESIZED IDEOGRAPH FINANCIAL -3237 ㈷ PARENTHESIZED IDEOGRAPH CONGRATULATION -3238 ㈸ PARENTHESIZED IDEOGRAPH LABOR -3239 ㈹ PARENTHESIZED IDEOGRAPH REPRESENT -323A ㈺ PARENTHESIZED IDEOGRAPH CALL -323B ㈻ PARENTHESIZED IDEOGRAPH STUDY -323C ㈼ PARENTHESIZED IDEOGRAPH SUPERVISE -323D ㈽ PARENTHESIZED IDEOGRAPH ENTERPRISE -323E ㈾ PARENTHESIZED IDEOGRAPH RESOURCE -323F ㈿ PARENTHESIZED IDEOGRAPH ALLIANCE -3240 ㉀ PARENTHESIZED IDEOGRAPH FESTIVAL -3241 ㉠PARENTHESIZED IDEOGRAPH REST -3242 ㉂ PARENTHESIZED IDEOGRAPH SELF -3243 ㉃ PARENTHESIZED IDEOGRAPH REACH -3260 ㉠ CIRCLED HANGUL KIYEOK -3261 ㉡ CIRCLED HANGUL NIEUN -3262 ㉢ CIRCLED HANGUL TIKEUT -3263 ㉣ CIRCLED HANGUL RIEUL -3264 ㉤ CIRCLED HANGUL MIEUM -3265 ㉥ CIRCLED HANGUL PIEUP -3266 ㉦ CIRCLED HANGUL SIOS -3267 ㉧ CIRCLED HANGUL IEUNG -3268 ㉨ CIRCLED HANGUL CIEUC -3269 ㉩ CIRCLED HANGUL CHIEUCH -326A ㉪ CIRCLED HANGUL KHIEUKH -326B ㉫ CIRCLED HANGUL THIEUTH -326C ㉬ CIRCLED HANGUL PHIEUPH -326D ㉭ CIRCLED HANGUL HIEUH -326E ㉮ CIRCLED HANGUL KIYEOK A -326F ㉯ CIRCLED HANGUL NIEUN A -3270 ㉰ CIRCLED HANGUL TIKEUT A -3271 ㉱ CIRCLED HANGUL RIEUL A -3272 ㉲ CIRCLED HANGUL MIEUM A -3273 ㉳ CIRCLED HANGUL PIEUP A -3274 ㉴ CIRCLED HANGUL SIOS A -3275 ㉵ CIRCLED HANGUL IEUNG A -3276 ㉶ CIRCLED HANGUL CIEUC A -3277 ㉷ CIRCLED HANGUL CHIEUCH A -3278 ㉸ CIRCLED HANGUL KHIEUKH A -3279 ㉹ CIRCLED HANGUL THIEUTH A -327A ㉺ CIRCLED HANGUL PHIEUPH A -327B ㉻ CIRCLED HANGUL HIEUH A -327F ㉿ KOREAN STANDARD SYMBOL -3280 ㊀ CIRCLED IDEOGRAPH ONE -3281 ㊠CIRCLED IDEOGRAPH TWO -3282 ㊂ CIRCLED IDEOGRAPH THREE -3283 ㊃ CIRCLED IDEOGRAPH FOUR -3284 ㊄ CIRCLED IDEOGRAPH FIVE -3285 ㊅ CIRCLED IDEOGRAPH SIX -3286 ㊆ CIRCLED IDEOGRAPH SEVEN -3287 ㊇ CIRCLED IDEOGRAPH EIGHT -3288 ㊈ CIRCLED IDEOGRAPH NINE -3289 ㊉ CIRCLED IDEOGRAPH TEN -328A ㊊ CIRCLED IDEOGRAPH MOON -328B ㊋ CIRCLED IDEOGRAPH FIRE -328C ㊌ CIRCLED IDEOGRAPH WATER -328D ㊠CIRCLED IDEOGRAPH WOOD -328E ㊎ CIRCLED IDEOGRAPH METAL -328F ㊠CIRCLED IDEOGRAPH EARTH -3290 ㊠CIRCLED IDEOGRAPH SUN -3291 ㊑ CIRCLED IDEOGRAPH STOCK -3292 ㊒ CIRCLED IDEOGRAPH HAVE -3293 ㊓ CIRCLED IDEOGRAPH SOCIETY -3294 ㊔ CIRCLED IDEOGRAPH NAME -3295 ㊕ CIRCLED IDEOGRAPH SPECIAL -3296 ㊖ CIRCLED IDEOGRAPH FINANCIAL -3297 ㊗ CIRCLED IDEOGRAPH CONGRATULATION -3298 ㊘ CIRCLED IDEOGRAPH LABOR -3299 ㊙ CIRCLED IDEOGRAPH SECRET -329A ㊚ CIRCLED IDEOGRAPH MALE -329B ㊛ CIRCLED IDEOGRAPH FEMALE -329C ㊜ CIRCLED IDEOGRAPH SUITABLE -329D ㊠CIRCLED IDEOGRAPH EXCELLENT -329E ㊞ CIRCLED IDEOGRAPH PRINT -329F ㊟ CIRCLED IDEOGRAPH ATTENTION -32A0 ㊠ CIRCLED IDEOGRAPH ITEM -32A1 ㊡ CIRCLED IDEOGRAPH REST -32A2 ㊢ CIRCLED IDEOGRAPH COPY -32A3 ㊣ CIRCLED IDEOGRAPH CORRECT -32A4 ㊤ CIRCLED IDEOGRAPH HIGH -32A5 ㊥ CIRCLED IDEOGRAPH CENTRE -32A6 ㊦ CIRCLED IDEOGRAPH LOW -32A7 ㊧ CIRCLED IDEOGRAPH LEFT -32A8 ㊨ CIRCLED IDEOGRAPH RIGHT -32A9 ㊩ CIRCLED IDEOGRAPH MEDICINE -32AA ㊪ CIRCLED IDEOGRAPH RELIGION -32AB ㊫ CIRCLED IDEOGRAPH STUDY -32AC ㊬ CIRCLED IDEOGRAPH SUPERVISE -32AD ㊭ CIRCLED IDEOGRAPH ENTERPRISE -32AE ㊮ CIRCLED IDEOGRAPH RESOURCE -32AF ㊯ CIRCLED IDEOGRAPH ALLIANCE -32B0 ㊰ CIRCLED IDEOGRAPH NIGHT -32C0 ã‹€ IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY -32C1 ã‹ IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY -32C2 ã‹‚ IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH -32C3 ㋃ IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL -32C4 ã‹„ IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY -32C5 ã‹… IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE -32C6 ㋆ IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY -32C7 ㋇ IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST -32C8 ㋈ IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER -32C9 ㋉ IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER -32CA ã‹Š IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER -32CB ã‹‹ IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER -32D0 ã‹ CIRCLED KATAKANA A -32D1 ã‹‘ CIRCLED KATAKANA I -32D2 ã‹’ CIRCLED KATAKANA U -32D3 ã‹“ CIRCLED KATAKANA E -32D4 ã‹” CIRCLED KATAKANA O -32D5 ã‹• CIRCLED KATAKANA KA -32D6 ã‹– CIRCLED KATAKANA KI -32D7 ã‹— CIRCLED KATAKANA KU -32D8 ㋘ CIRCLED KATAKANA KE -32D9 ã‹™ CIRCLED KATAKANA KO -32DA ã‹š CIRCLED KATAKANA SA -32DB ã‹› CIRCLED KATAKANA SI -32DC ã‹œ CIRCLED KATAKANA SU -32DD ã‹ CIRCLED KATAKANA SE -32DE ã‹ž CIRCLED KATAKANA SO -32DF ã‹Ÿ CIRCLED KATAKANA TA -32E0 ã‹  CIRCLED KATAKANA TI -32E1 ã‹¡ CIRCLED KATAKANA TU -32E2 ã‹¢ CIRCLED KATAKANA TE -32E3 ã‹£ CIRCLED KATAKANA TO -32E4 ㋤ CIRCLED KATAKANA NA -32E5 ã‹¥ CIRCLED KATAKANA NI -32E6 ㋦ CIRCLED KATAKANA NU -32E7 ㋧ CIRCLED KATAKANA NE -32E8 ㋨ CIRCLED KATAKANA NO -32E9 ã‹© CIRCLED KATAKANA HA -32EA ㋪ CIRCLED KATAKANA HI -32EB ã‹« CIRCLED KATAKANA HU -32EC ㋬ CIRCLED KATAKANA HE -32ED ã‹­ CIRCLED KATAKANA HO -32EE ã‹® CIRCLED KATAKANA MA -32EF ㋯ CIRCLED KATAKANA MI -32F0 ã‹° CIRCLED KATAKANA MU -32F1 ㋱ CIRCLED KATAKANA ME -32F2 ㋲ CIRCLED KATAKANA MO -32F3 ㋳ CIRCLED KATAKANA YA -32F4 ã‹´ CIRCLED KATAKANA YU -32F5 ㋵ CIRCLED KATAKANA YO -32F6 ㋶ CIRCLED KATAKANA RA -32F7 ã‹· CIRCLED KATAKANA RI -32F8 ㋸ CIRCLED KATAKANA RU -32F9 ㋹ CIRCLED KATAKANA RE -32FA ㋺ CIRCLED KATAKANA RO -32FB ã‹» CIRCLED KATAKANA WA -32FC ㋼ CIRCLED KATAKANA WI -32FD ㋽ CIRCLED KATAKANA WE -32FE ㋾ CIRCLED KATAKANA WO -3300 ㌀ SQUARE APAATO -3301 ㌠SQUARE ARUHUA -3302 ㌂ SQUARE ANPEA -3303 ㌃ SQUARE AARU -3304 ㌄ SQUARE ININGU -3305 ㌅ SQUARE INTI -3306 ㌆ SQUARE UON -3307 ㌇ SQUARE ESUKUUDO -3308 ㌈ SQUARE EEKAA -3309 ㌉ SQUARE ONSU -330A ㌊ SQUARE OOMU -330B ㌋ SQUARE KAIRI -330C ㌌ SQUARE KARATTO -330D ㌠SQUARE KARORII -330E ㌎ SQUARE GARON -330F ㌠SQUARE GANMA -3310 ㌠SQUARE GIGA -3311 ㌑ SQUARE GINII -3312 ㌒ SQUARE KYURII -3313 ㌓ SQUARE GIRUDAA -3314 ㌔ SQUARE KIRO -3315 ㌕ SQUARE KIROGURAMU -3316 ㌖ SQUARE KIROMEETORU -3317 ㌗ SQUARE KIROWATTO -3318 ㌘ SQUARE GURAMU -3319 ㌙ SQUARE GURAMUTON -331A ㌚ SQUARE KURUZEIRO -331B ㌛ SQUARE KUROONE -331C ㌜ SQUARE KEESU -331D ㌠SQUARE KORUNA -331E ㌞ SQUARE KOOPO -331F ㌟ SQUARE SAIKURU -3320 ㌠ SQUARE SANTIIMU -3321 ㌡ SQUARE SIRINGU -3322 ㌢ SQUARE SENTI -3323 ㌣ SQUARE SENTO -3324 ㌤ SQUARE DAASU -3325 ㌥ SQUARE DESI -3326 ㌦ SQUARE DORU -3327 ㌧ SQUARE TON -3328 ㌨ SQUARE NANO -3329 ㌩ SQUARE NOTTO -332A ㌪ SQUARE HAITU -332B ㌫ SQUARE PAASENTO -332C ㌬ SQUARE PAATU -332D ㌭ SQUARE BAARERU -332E ㌮ SQUARE PIASUTORU -332F ㌯ SQUARE PIKURU -3330 ㌰ SQUARE PIKO -3331 ㌱ SQUARE BIRU -3332 ㌲ SQUARE HUARADDO -3333 ㌳ SQUARE HUIITO -3334 ㌴ SQUARE BUSSYERU -3335 ㌵ SQUARE HURAN -3336 ㌶ SQUARE HEKUTAARU -3337 ㌷ SQUARE PESO -3338 ㌸ SQUARE PENIHI -3339 ㌹ SQUARE HERUTU -333A ㌺ SQUARE PENSU -333B ㌻ SQUARE PEEZI -333C ㌼ SQUARE BEETA -333D ㌽ SQUARE POINTO -333E ㌾ SQUARE BORUTO -333F ㌿ SQUARE HON -3340 〠SQUARE PONDO -3341 ã SQUARE HOORU -3342 ã‚ SQUARE HOON -3343 ムSQUARE MAIKURO -3344 ã„ SQUARE MAIRU -3345 ã… SQUARE MAHHA -3346 ㆠSQUARE MARUKU -3347 ㇠SQUARE MANSYON -3348 ㈠SQUARE MIKURON -3349 ㉠SQUARE MIRI -334A ㊠SQUARE MIRIBAARU -334B ã‹ SQUARE MEGA -334C ㌠SQUARE MEGATON -334D ã SQUARE MEETORU -334E ㎠SQUARE YAADO -334F ã SQUARE YAARU -3350 ã SQUARE YUAN -3351 ã‘ SQUARE RITTORU -3352 ã’ SQUARE RIRA -3353 ã“ SQUARE RUPII -3354 ã” SQUARE RUUBURU -3355 ã• SQUARE REMU -3356 ã– SQUARE RENTOGEN -3357 ã— SQUARE WATTO -3358 㘠IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO -3359 ã™ IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE -335A ãš IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO -335B ã› IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE -335C 㜠IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR -335D ã IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE -335E ãž IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX -335F 㟠IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN -3360 ã  IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT -3361 ã¡ IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE -3362 㢠IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN -3363 㣠IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN -3364 㤠IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE -3365 㥠IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN -3366 㦠IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN -3367 㧠IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN -3368 㨠IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN -3369 ã© IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN -336A 㪠IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN -336B ã« IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN -336C 㬠IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY -336D ã­ IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE -336E ã® IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO -336F 㯠IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE -3370 ã° IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR -3371 ã± SQUARE HPA -3372 ã² SQUARE DA -3373 ã³ SQUARE AU -3374 ã´ SQUARE BAR -3375 ãµ SQUARE OV -3376 㶠SQUARE PC -337B ã» SQUARE ERA NAME HEISEI -337C ã¼ SQUARE ERA NAME SYOUWA -337D ã½ SQUARE ERA NAME TAISYOU -337E ã¾ SQUARE ERA NAME MEIZI -337F ã¿ SQUARE CORPORATION -3380 ㎀ SQUARE PA AMPS -3381 ㎠SQUARE NA -3382 ㎂ SQUARE MU A -3383 ㎃ SQUARE MA -3384 ㎄ SQUARE KA -3385 ㎅ SQUARE KB -3386 ㎆ SQUARE MB -3387 ㎇ SQUARE GB -3388 ㎈ SQUARE CAL -3389 ㎉ SQUARE KCAL -338A ㎊ SQUARE PF -338B ㎋ SQUARE NF -338C ㎌ SQUARE MU F -338D ㎠SQUARE MU G -338E ㎎ SQUARE MG -338F ㎠SQUARE KG -3390 ㎠SQUARE HZ -3391 ㎑ SQUARE KHZ -3392 ㎒ SQUARE MHZ -3393 ㎓ SQUARE GHZ -3394 ㎔ SQUARE THZ -3395 ㎕ SQUARE MU L -3396 ㎖ SQUARE ML -3397 ㎗ SQUARE DL -3398 ㎘ SQUARE KL -3399 ㎙ SQUARE FM -339A ㎚ SQUARE NM -339B ㎛ SQUARE MU M -339C ㎜ SQUARE MM -339D ㎠SQUARE CM -339E ㎞ SQUARE KM -339F ㎟ SQUARE MM SQUARED -33A0 ㎠ SQUARE CM SQUARED -33A1 ㎡ SQUARE M SQUARED -33A2 ㎢ SQUARE KM SQUARED -33A3 ㎣ SQUARE MM CUBED -33A4 ㎤ SQUARE CM CUBED -33A5 ㎥ SQUARE M CUBED -33A6 ㎦ SQUARE KM CUBED -33A7 ㎧ SQUARE M OVER S -33A8 ㎨ SQUARE M OVER S SQUARED -33A9 ㎩ SQUARE PA -33AA ㎪ SQUARE KPA -33AB ㎫ SQUARE MPA -33AC ㎬ SQUARE GPA -33AD ㎭ SQUARE RAD -33AE ㎮ SQUARE RAD OVER S -33AF ㎯ SQUARE RAD OVER S SQUARED -33B0 ㎰ SQUARE PS -33B1 ㎱ SQUARE NS -33B2 ㎲ SQUARE MU S -33B3 ㎳ SQUARE MS -33B4 ㎴ SQUARE PV -33B5 ㎵ SQUARE NV -33B6 ㎶ SQUARE MU V -33B7 ㎷ SQUARE MV -33B8 ㎸ SQUARE KV -33B9 ㎹ SQUARE MV MEGA -33BA ㎺ SQUARE PW -33BB ㎻ SQUARE NW -33BC ㎼ SQUARE MU W -33BD ㎽ SQUARE MW -33BE ㎾ SQUARE KW -33BF ㎿ SQUARE MW MEGA -33C0 〠SQUARE K OHM -33C1 ã SQUARE M OHM -33C2 ã‚ SQUARE AM -33C3 ムSQUARE BQ -33C4 ã„ SQUARE CC -33C5 ã… SQUARE CD -33C6 ㆠSQUARE C OVER KG -33C7 ㇠SQUARE CO -33C8 ㈠SQUARE DB -33C9 ㉠SQUARE GY -33CA ㊠SQUARE HA -33CB ã‹ SQUARE HP -33CC ㌠SQUARE IN -33CD ã SQUARE KK -33CE ㎠SQUARE KM CAPITAL -33CF ã SQUARE KT -33D0 ã SQUARE LM -33D1 ã‘ SQUARE LN -33D2 ã’ SQUARE LOG -33D3 ã“ SQUARE LX -33D4 ã” SQUARE MB SMALL -33D5 ã• SQUARE MIL -33D6 ã– SQUARE MOL -33D7 ã— SQUARE PH -33D8 㘠SQUARE PM -33D9 ã™ SQUARE PPM -33DA ãš SQUARE PR -33DB ã› SQUARE SR -33DC 㜠SQUARE SV -33DD ã SQUARE WB -33E0 ã  IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE -33E1 ã¡ IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO -33E2 㢠IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE -33E3 㣠IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR -33E4 㤠IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE -33E5 㥠IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX -33E6 㦠IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN -33E7 㧠IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT -33E8 㨠IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE -33E9 ã© IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN -33EA 㪠IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN -33EB ã« IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE -33EC 㬠IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN -33ED ã­ IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN -33EE ã® IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN -33EF 㯠IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN -33F0 ã° IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN -33F1 ã± IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN -33F2 ã² IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN -33F3 ã³ IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY -33F4 ã´ IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE -33F5 ãµ IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO -33F6 㶠IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE -33F7 ã· IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR -33F8 㸠IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE -33F9 ã¹ IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX -33FA 㺠IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN -33FB ã» IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT -33FC ã¼ IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE -33FD ã½ IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY -33FE ã¾ IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE -4E00 一 <CJK Ideograph, First> -9FA5 é¾¥ <CJK Ideograph, Last> -AC00 ê°€ <Hangul Syllable, First> -D7A3 힣 <Hangul Syllable, Last> -F900 豈 CJK COMPATIBILITY IDEOGRAPH-F900 -F901 ï¤ CJK COMPATIBILITY IDEOGRAPH-F901 -F902 車 CJK COMPATIBILITY IDEOGRAPH-F902 -F903 賈 CJK COMPATIBILITY IDEOGRAPH-F903 -F904 滑 CJK COMPATIBILITY IDEOGRAPH-F904 -F905 串 CJK COMPATIBILITY IDEOGRAPH-F905 -F906 句 CJK COMPATIBILITY IDEOGRAPH-F906 -F907 龜 CJK COMPATIBILITY IDEOGRAPH-F907 -F908 龜 CJK COMPATIBILITY IDEOGRAPH-F908 -F909 契 CJK COMPATIBILITY IDEOGRAPH-F909 -F90A 金 CJK COMPATIBILITY IDEOGRAPH-F90A -F90B 喇 CJK COMPATIBILITY IDEOGRAPH-F90B -F90C 奈 CJK COMPATIBILITY IDEOGRAPH-F90C -F90D ï¤ CJK COMPATIBILITY IDEOGRAPH-F90D -F90E 癩 CJK COMPATIBILITY IDEOGRAPH-F90E -F90F ï¤ CJK COMPATIBILITY IDEOGRAPH-F90F -F910 ï¤ CJK COMPATIBILITY IDEOGRAPH-F910 -F911 螺 CJK COMPATIBILITY IDEOGRAPH-F911 -F912 裸 CJK COMPATIBILITY IDEOGRAPH-F912 -F913 邏 CJK COMPATIBILITY IDEOGRAPH-F913 -F914 樂 CJK COMPATIBILITY IDEOGRAPH-F914 -F915 洛 CJK COMPATIBILITY IDEOGRAPH-F915 -F916 烙 CJK COMPATIBILITY IDEOGRAPH-F916 -F917 珞 CJK COMPATIBILITY IDEOGRAPH-F917 -F918 落 CJK COMPATIBILITY IDEOGRAPH-F918 -F919 酪 CJK COMPATIBILITY IDEOGRAPH-F919 -F91A 駱 CJK COMPATIBILITY IDEOGRAPH-F91A -F91B 亂 CJK COMPATIBILITY IDEOGRAPH-F91B -F91C 卵 CJK COMPATIBILITY IDEOGRAPH-F91C -F91D ï¤ CJK COMPATIBILITY IDEOGRAPH-F91D -F91E 爛 CJK COMPATIBILITY IDEOGRAPH-F91E -F91F 蘭 CJK COMPATIBILITY IDEOGRAPH-F91F -F920 鸞 CJK COMPATIBILITY IDEOGRAPH-F920 -F921 嵐 CJK COMPATIBILITY IDEOGRAPH-F921 -F922 濫 CJK COMPATIBILITY IDEOGRAPH-F922 -F923 藍 CJK COMPATIBILITY IDEOGRAPH-F923 -F924 襤 CJK COMPATIBILITY IDEOGRAPH-F924 -F925 拉 CJK COMPATIBILITY IDEOGRAPH-F925 -F926 臘 CJK COMPATIBILITY IDEOGRAPH-F926 -F927 蠟 CJK COMPATIBILITY IDEOGRAPH-F927 -F928 廊 CJK COMPATIBILITY IDEOGRAPH-F928 -F929 朗 CJK COMPATIBILITY IDEOGRAPH-F929 -F92A 浪 CJK COMPATIBILITY IDEOGRAPH-F92A -F92B 狼 CJK COMPATIBILITY IDEOGRAPH-F92B -F92C 郎 CJK COMPATIBILITY IDEOGRAPH-F92C -F92D 來 CJK COMPATIBILITY IDEOGRAPH-F92D -F92E 冷 CJK COMPATIBILITY IDEOGRAPH-F92E -F92F 勞 CJK COMPATIBILITY IDEOGRAPH-F92F -F930 擄 CJK COMPATIBILITY IDEOGRAPH-F930 -F931 櫓 CJK COMPATIBILITY IDEOGRAPH-F931 -F932 爐 CJK COMPATIBILITY IDEOGRAPH-F932 -F933 盧 CJK COMPATIBILITY IDEOGRAPH-F933 -F934 老 CJK COMPATIBILITY IDEOGRAPH-F934 -F935 蘆 CJK COMPATIBILITY IDEOGRAPH-F935 -F936 虜 CJK COMPATIBILITY IDEOGRAPH-F936 -F937 路 CJK COMPATIBILITY IDEOGRAPH-F937 -F938 露 CJK COMPATIBILITY IDEOGRAPH-F938 -F939 魯 CJK COMPATIBILITY IDEOGRAPH-F939 -F93A 鷺 CJK COMPATIBILITY IDEOGRAPH-F93A -F93B 碌 CJK COMPATIBILITY IDEOGRAPH-F93B -F93C 祿 CJK COMPATIBILITY IDEOGRAPH-F93C -F93D 綠 CJK COMPATIBILITY IDEOGRAPH-F93D -F93E 菉 CJK COMPATIBILITY IDEOGRAPH-F93E -F93F 錄 CJK COMPATIBILITY IDEOGRAPH-F93F -F940 鹿 CJK COMPATIBILITY IDEOGRAPH-F940 -F941 ï¥ CJK COMPATIBILITY IDEOGRAPH-F941 -F942 壟 CJK COMPATIBILITY IDEOGRAPH-F942 -F943 弄 CJK COMPATIBILITY IDEOGRAPH-F943 -F944 籠 CJK COMPATIBILITY IDEOGRAPH-F944 -F945 聾 CJK COMPATIBILITY IDEOGRAPH-F945 -F946 牢 CJK COMPATIBILITY IDEOGRAPH-F946 -F947 磊 CJK COMPATIBILITY IDEOGRAPH-F947 -F948 賂 CJK COMPATIBILITY IDEOGRAPH-F948 -F949 雷 CJK COMPATIBILITY IDEOGRAPH-F949 -F94A 壘 CJK COMPATIBILITY IDEOGRAPH-F94A -F94B 屢 CJK COMPATIBILITY IDEOGRAPH-F94B -F94C 樓 CJK COMPATIBILITY IDEOGRAPH-F94C -F94D ï¥ CJK COMPATIBILITY IDEOGRAPH-F94D -F94E 漏 CJK COMPATIBILITY IDEOGRAPH-F94E -F94F ï¥ CJK COMPATIBILITY IDEOGRAPH-F94F -F950 ï¥ CJK COMPATIBILITY IDEOGRAPH-F950 -F951 陋 CJK COMPATIBILITY IDEOGRAPH-F951 -F952 勒 CJK COMPATIBILITY IDEOGRAPH-F952 -F953 肋 CJK COMPATIBILITY IDEOGRAPH-F953 -F954 凜 CJK COMPATIBILITY IDEOGRAPH-F954 -F955 凌 CJK COMPATIBILITY IDEOGRAPH-F955 -F956 稜 CJK COMPATIBILITY IDEOGRAPH-F956 -F957 綾 CJK COMPATIBILITY IDEOGRAPH-F957 -F958 菱 CJK COMPATIBILITY IDEOGRAPH-F958 -F959 陵 CJK COMPATIBILITY IDEOGRAPH-F959 -F95A 讀 CJK COMPATIBILITY IDEOGRAPH-F95A -F95B 拏 CJK COMPATIBILITY IDEOGRAPH-F95B -F95C 樂 CJK COMPATIBILITY IDEOGRAPH-F95C -F95D ï¥ CJK COMPATIBILITY IDEOGRAPH-F95D -F95E 丹 CJK COMPATIBILITY IDEOGRAPH-F95E -F95F 寧 CJK COMPATIBILITY IDEOGRAPH-F95F -F960 怒 CJK COMPATIBILITY IDEOGRAPH-F960 -F961 率 CJK COMPATIBILITY IDEOGRAPH-F961 -F962 異 CJK COMPATIBILITY IDEOGRAPH-F962 -F963 北 CJK COMPATIBILITY IDEOGRAPH-F963 -F964 磻 CJK COMPATIBILITY IDEOGRAPH-F964 -F965 便 CJK COMPATIBILITY IDEOGRAPH-F965 -F966 復 CJK COMPATIBILITY IDEOGRAPH-F966 -F967 不 CJK COMPATIBILITY IDEOGRAPH-F967 -F968 泌 CJK COMPATIBILITY IDEOGRAPH-F968 -F969 數 CJK COMPATIBILITY IDEOGRAPH-F969 -F96A 索 CJK COMPATIBILITY IDEOGRAPH-F96A -F96B 參 CJK COMPATIBILITY IDEOGRAPH-F96B -F96C 塞 CJK COMPATIBILITY IDEOGRAPH-F96C -F96D 省 CJK COMPATIBILITY IDEOGRAPH-F96D -F96E 葉 CJK COMPATIBILITY IDEOGRAPH-F96E -F96F 說 CJK COMPATIBILITY IDEOGRAPH-F96F -F970 殺 CJK COMPATIBILITY IDEOGRAPH-F970 -F971 辰 CJK COMPATIBILITY IDEOGRAPH-F971 -F972 沈 CJK COMPATIBILITY IDEOGRAPH-F972 -F973 拾 CJK COMPATIBILITY IDEOGRAPH-F973 -F974 若 CJK COMPATIBILITY IDEOGRAPH-F974 -F975 掠 CJK COMPATIBILITY IDEOGRAPH-F975 -F976 略 CJK COMPATIBILITY IDEOGRAPH-F976 -F977 亮 CJK COMPATIBILITY IDEOGRAPH-F977 -F978 兩 CJK COMPATIBILITY IDEOGRAPH-F978 -F979 凉 CJK COMPATIBILITY IDEOGRAPH-F979 -F97A 梁 CJK COMPATIBILITY IDEOGRAPH-F97A -F97B 糧 CJK COMPATIBILITY IDEOGRAPH-F97B -F97C 良 CJK COMPATIBILITY IDEOGRAPH-F97C -F97D 諒 CJK COMPATIBILITY IDEOGRAPH-F97D -F97E 量 CJK COMPATIBILITY IDEOGRAPH-F97E -F97F 勵 CJK COMPATIBILITY IDEOGRAPH-F97F -F980 呂 CJK COMPATIBILITY IDEOGRAPH-F980 -F981 ï¦ CJK COMPATIBILITY IDEOGRAPH-F981 -F982 廬 CJK COMPATIBILITY IDEOGRAPH-F982 -F983 旅 CJK COMPATIBILITY IDEOGRAPH-F983 -F984 濾 CJK COMPATIBILITY IDEOGRAPH-F984 -F985 礪 CJK COMPATIBILITY IDEOGRAPH-F985 -F986 閭 CJK COMPATIBILITY IDEOGRAPH-F986 -F987 驪 CJK COMPATIBILITY IDEOGRAPH-F987 -F988 麗 CJK COMPATIBILITY IDEOGRAPH-F988 -F989 黎 CJK COMPATIBILITY IDEOGRAPH-F989 -F98A 力 CJK COMPATIBILITY IDEOGRAPH-F98A -F98B 曆 CJK COMPATIBILITY IDEOGRAPH-F98B -F98C 歷 CJK COMPATIBILITY IDEOGRAPH-F98C -F98D ï¦ CJK COMPATIBILITY IDEOGRAPH-F98D -F98E 年 CJK COMPATIBILITY IDEOGRAPH-F98E -F98F ï¦ CJK COMPATIBILITY IDEOGRAPH-F98F -F990 ï¦ CJK COMPATIBILITY IDEOGRAPH-F990 -F991 撚 CJK COMPATIBILITY IDEOGRAPH-F991 -F992 漣 CJK COMPATIBILITY IDEOGRAPH-F992 -F993 煉 CJK COMPATIBILITY IDEOGRAPH-F993 -F994 璉 CJK COMPATIBILITY IDEOGRAPH-F994 -F995 秊 CJK COMPATIBILITY IDEOGRAPH-F995 -F996 練 CJK COMPATIBILITY IDEOGRAPH-F996 -F997 聯 CJK COMPATIBILITY IDEOGRAPH-F997 -F998 輦 CJK COMPATIBILITY IDEOGRAPH-F998 -F999 蓮 CJK COMPATIBILITY IDEOGRAPH-F999 -F99A 連 CJK COMPATIBILITY IDEOGRAPH-F99A -F99B 鍊 CJK COMPATIBILITY IDEOGRAPH-F99B -F99C 列 CJK COMPATIBILITY IDEOGRAPH-F99C -F99D ï¦ CJK COMPATIBILITY IDEOGRAPH-F99D -F99E 咽 CJK COMPATIBILITY IDEOGRAPH-F99E -F99F 烈 CJK COMPATIBILITY IDEOGRAPH-F99F -F9A0 裂 CJK COMPATIBILITY IDEOGRAPH-F9A0 -F9A1 說 CJK COMPATIBILITY IDEOGRAPH-F9A1 -F9A2 廉 CJK COMPATIBILITY IDEOGRAPH-F9A2 -F9A3 念 CJK COMPATIBILITY IDEOGRAPH-F9A3 -F9A4 捻 CJK COMPATIBILITY IDEOGRAPH-F9A4 -F9A5 殮 CJK COMPATIBILITY IDEOGRAPH-F9A5 -F9A6 簾 CJK COMPATIBILITY IDEOGRAPH-F9A6 -F9A7 獵 CJK COMPATIBILITY IDEOGRAPH-F9A7 -F9A8 令 CJK COMPATIBILITY IDEOGRAPH-F9A8 -F9A9 囹 CJK COMPATIBILITY IDEOGRAPH-F9A9 -F9AA 寧 CJK COMPATIBILITY IDEOGRAPH-F9AA -F9AB 嶺 CJK COMPATIBILITY IDEOGRAPH-F9AB -F9AC 怜 CJK COMPATIBILITY IDEOGRAPH-F9AC -F9AD 玲 CJK COMPATIBILITY IDEOGRAPH-F9AD -F9AE 瑩 CJK COMPATIBILITY IDEOGRAPH-F9AE -F9AF 羚 CJK COMPATIBILITY IDEOGRAPH-F9AF -F9B0 聆 CJK COMPATIBILITY IDEOGRAPH-F9B0 -F9B1 鈴 CJK COMPATIBILITY IDEOGRAPH-F9B1 -F9B2 零 CJK COMPATIBILITY IDEOGRAPH-F9B2 -F9B3 靈 CJK COMPATIBILITY IDEOGRAPH-F9B3 -F9B4 領 CJK COMPATIBILITY IDEOGRAPH-F9B4 -F9B5 例 CJK COMPATIBILITY IDEOGRAPH-F9B5 -F9B6 禮 CJK COMPATIBILITY IDEOGRAPH-F9B6 -F9B7 醴 CJK COMPATIBILITY IDEOGRAPH-F9B7 -F9B8 隸 CJK COMPATIBILITY IDEOGRAPH-F9B8 -F9B9 惡 CJK COMPATIBILITY IDEOGRAPH-F9B9 -F9BA 了 CJK COMPATIBILITY IDEOGRAPH-F9BA -F9BB 僚 CJK COMPATIBILITY IDEOGRAPH-F9BB -F9BC 寮 CJK COMPATIBILITY IDEOGRAPH-F9BC -F9BD 尿 CJK COMPATIBILITY IDEOGRAPH-F9BD -F9BE 料 CJK COMPATIBILITY IDEOGRAPH-F9BE -F9BF 樂 CJK COMPATIBILITY IDEOGRAPH-F9BF -F9C0 燎 CJK COMPATIBILITY IDEOGRAPH-F9C0 -F9C1 ï§ CJK COMPATIBILITY IDEOGRAPH-F9C1 -F9C2 蓼 CJK COMPATIBILITY IDEOGRAPH-F9C2 -F9C3 遼 CJK COMPATIBILITY IDEOGRAPH-F9C3 -F9C4 龍 CJK COMPATIBILITY IDEOGRAPH-F9C4 -F9C5 暈 CJK COMPATIBILITY IDEOGRAPH-F9C5 -F9C6 阮 CJK COMPATIBILITY IDEOGRAPH-F9C6 -F9C7 劉 CJK COMPATIBILITY IDEOGRAPH-F9C7 -F9C8 杻 CJK COMPATIBILITY IDEOGRAPH-F9C8 -F9C9 柳 CJK COMPATIBILITY IDEOGRAPH-F9C9 -F9CA 流 CJK COMPATIBILITY IDEOGRAPH-F9CA -F9CB 溜 CJK COMPATIBILITY IDEOGRAPH-F9CB -F9CC 琉 CJK COMPATIBILITY IDEOGRAPH-F9CC -F9CD ï§ CJK COMPATIBILITY IDEOGRAPH-F9CD -F9CE 硫 CJK COMPATIBILITY IDEOGRAPH-F9CE -F9CF ï§ CJK COMPATIBILITY IDEOGRAPH-F9CF -F9D0 ï§ CJK COMPATIBILITY IDEOGRAPH-F9D0 -F9D1 六 CJK COMPATIBILITY IDEOGRAPH-F9D1 -F9D2 戮 CJK COMPATIBILITY IDEOGRAPH-F9D2 -F9D3 陸 CJK COMPATIBILITY IDEOGRAPH-F9D3 -F9D4 倫 CJK COMPATIBILITY IDEOGRAPH-F9D4 -F9D5 崙 CJK COMPATIBILITY IDEOGRAPH-F9D5 -F9D6 淪 CJK COMPATIBILITY IDEOGRAPH-F9D6 -F9D7 輪 CJK COMPATIBILITY IDEOGRAPH-F9D7 -F9D8 律 CJK COMPATIBILITY IDEOGRAPH-F9D8 -F9D9 慄 CJK COMPATIBILITY IDEOGRAPH-F9D9 -F9DA 栗 CJK COMPATIBILITY IDEOGRAPH-F9DA -F9DB 率 CJK COMPATIBILITY IDEOGRAPH-F9DB -F9DC 隆 CJK COMPATIBILITY IDEOGRAPH-F9DC -F9DD ï§ CJK COMPATIBILITY IDEOGRAPH-F9DD -F9DE 吏 CJK COMPATIBILITY IDEOGRAPH-F9DE -F9DF 履 CJK COMPATIBILITY IDEOGRAPH-F9DF -F9E0 易 CJK COMPATIBILITY IDEOGRAPH-F9E0 -F9E1 李 CJK COMPATIBILITY IDEOGRAPH-F9E1 -F9E2 梨 CJK COMPATIBILITY IDEOGRAPH-F9E2 -F9E3 泥 CJK COMPATIBILITY IDEOGRAPH-F9E3 -F9E4 理 CJK COMPATIBILITY IDEOGRAPH-F9E4 -F9E5 痢 CJK COMPATIBILITY IDEOGRAPH-F9E5 -F9E6 罹 CJK COMPATIBILITY IDEOGRAPH-F9E6 -F9E7 裏 CJK COMPATIBILITY IDEOGRAPH-F9E7 -F9E8 裡 CJK COMPATIBILITY IDEOGRAPH-F9E8 -F9E9 里 CJK COMPATIBILITY IDEOGRAPH-F9E9 -F9EA 離 CJK COMPATIBILITY IDEOGRAPH-F9EA -F9EB 匿 CJK COMPATIBILITY IDEOGRAPH-F9EB -F9EC 溺 CJK COMPATIBILITY IDEOGRAPH-F9EC -F9ED 吝 CJK COMPATIBILITY IDEOGRAPH-F9ED -F9EE 燐 CJK COMPATIBILITY IDEOGRAPH-F9EE -F9EF 璘 CJK COMPATIBILITY IDEOGRAPH-F9EF -F9F0 藺 CJK COMPATIBILITY IDEOGRAPH-F9F0 -F9F1 隣 CJK COMPATIBILITY IDEOGRAPH-F9F1 -F9F2 鱗 CJK COMPATIBILITY IDEOGRAPH-F9F2 -F9F3 麟 CJK COMPATIBILITY IDEOGRAPH-F9F3 -F9F4 林 CJK COMPATIBILITY IDEOGRAPH-F9F4 -F9F5 淋 CJK COMPATIBILITY IDEOGRAPH-F9F5 -F9F6 臨 CJK COMPATIBILITY IDEOGRAPH-F9F6 -F9F7 立 CJK COMPATIBILITY IDEOGRAPH-F9F7 -F9F8 笠 CJK COMPATIBILITY IDEOGRAPH-F9F8 -F9F9 粒 CJK COMPATIBILITY IDEOGRAPH-F9F9 -F9FA 狀 CJK COMPATIBILITY IDEOGRAPH-F9FA -F9FB 炙 CJK COMPATIBILITY IDEOGRAPH-F9FB -F9FC 識 CJK COMPATIBILITY IDEOGRAPH-F9FC -F9FD 什 CJK COMPATIBILITY IDEOGRAPH-F9FD -F9FE 茶 CJK COMPATIBILITY IDEOGRAPH-F9FE -F9FF 刺 CJK COMPATIBILITY IDEOGRAPH-F9FF -FA00 切 CJK COMPATIBILITY IDEOGRAPH-FA00 -FA01 ï¨ CJK COMPATIBILITY IDEOGRAPH-FA01 -FA02 拓 CJK COMPATIBILITY IDEOGRAPH-FA02 -FA03 糖 CJK COMPATIBILITY IDEOGRAPH-FA03 -FA04 宅 CJK COMPATIBILITY IDEOGRAPH-FA04 -FA05 洞 CJK COMPATIBILITY IDEOGRAPH-FA05 -FA06 暴 CJK COMPATIBILITY IDEOGRAPH-FA06 -FA07 輻 CJK COMPATIBILITY IDEOGRAPH-FA07 -FA08 行 CJK COMPATIBILITY IDEOGRAPH-FA08 -FA09 降 CJK COMPATIBILITY IDEOGRAPH-FA09 -FA0A 見 CJK COMPATIBILITY IDEOGRAPH-FA0A -FA0B 廓 CJK COMPATIBILITY IDEOGRAPH-FA0B -FA0C 兀 CJK COMPATIBILITY IDEOGRAPH-FA0C -FA0D ï¨ CJK COMPATIBILITY IDEOGRAPH-FA0D -FA0E 﨎 CJK COMPATIBILITY IDEOGRAPH-FA0E -FA0F ï¨ CJK COMPATIBILITY IDEOGRAPH-FA0F -FA10 ï¨ CJK COMPATIBILITY IDEOGRAPH-FA10 -FA11 﨑 CJK COMPATIBILITY IDEOGRAPH-FA11 -FA12 晴 CJK COMPATIBILITY IDEOGRAPH-FA12 -FA13 﨓 CJK COMPATIBILITY IDEOGRAPH-FA13 -FA14 﨔 CJK COMPATIBILITY IDEOGRAPH-FA14 -FA15 凞 CJK COMPATIBILITY IDEOGRAPH-FA15 -FA16 猪 CJK COMPATIBILITY IDEOGRAPH-FA16 -FA17 益 CJK COMPATIBILITY IDEOGRAPH-FA17 -FA18 礼 CJK COMPATIBILITY IDEOGRAPH-FA18 -FA19 神 CJK COMPATIBILITY IDEOGRAPH-FA19 -FA1A 祥 CJK COMPATIBILITY IDEOGRAPH-FA1A -FA1B 福 CJK COMPATIBILITY IDEOGRAPH-FA1B -FA1C 靖 CJK COMPATIBILITY IDEOGRAPH-FA1C -FA1D ï¨ CJK COMPATIBILITY IDEOGRAPH-FA1D -FA1E 羽 CJK COMPATIBILITY IDEOGRAPH-FA1E -FA1F 﨟 CJK COMPATIBILITY IDEOGRAPH-FA1F -FA20 蘒 CJK COMPATIBILITY IDEOGRAPH-FA20 -FA21 﨡 CJK COMPATIBILITY IDEOGRAPH-FA21 -FA22 諸 CJK COMPATIBILITY IDEOGRAPH-FA22 -FA23 﨣 CJK COMPATIBILITY IDEOGRAPH-FA23 -FA24 﨤 CJK COMPATIBILITY IDEOGRAPH-FA24 -FA25 逸 CJK COMPATIBILITY IDEOGRAPH-FA25 -FA26 都 CJK COMPATIBILITY IDEOGRAPH-FA26 -FA27 﨧 CJK COMPATIBILITY IDEOGRAPH-FA27 -FA28 﨨 CJK COMPATIBILITY IDEOGRAPH-FA28 -FA29 﨩 CJK COMPATIBILITY IDEOGRAPH-FA29 -FA2A 飯 CJK COMPATIBILITY IDEOGRAPH-FA2A -FA2B 飼 CJK COMPATIBILITY IDEOGRAPH-FA2B -FA2C 館 CJK COMPATIBILITY IDEOGRAPH-FA2C -FA2D 鶴 CJK COMPATIBILITY IDEOGRAPH-FA2D -FB00 ff LATIN SMALL LIGATURE FF -FB01 ï¬ LATIN SMALL LIGATURE FI -FB02 fl LATIN SMALL LIGATURE FL -FB03 ffi LATIN SMALL LIGATURE FFI -FB04 ffl LATIN SMALL LIGATURE FFL -FB05 ſt LATIN SMALL LIGATURE LONG S T -FB06 st LATIN SMALL LIGATURE ST -FB13 ﬓ ARMENIAN SMALL LIGATURE MEN NOW -FB14 ﬔ ARMENIAN SMALL LIGATURE MEN ECH -FB15 ﬕ ARMENIAN SMALL LIGATURE MEN INI -FB16 ﬖ ARMENIAN SMALL LIGATURE VEW NOW -FB17 ﬗ ARMENIAN SMALL LIGATURE MEN XEH -FB1E ﬞ HEBREW POINT JUDEO-SPANISH VARIKA -FB1F ײַ HEBREW LIGATURE YIDDISH YOD YOD PATAH -FB20 ﬠ HEBREW LETTER ALTERNATIVE AYIN -FB21 ﬡ HEBREW LETTER WIDE ALEF -FB22 ﬢ HEBREW LETTER WIDE DALET -FB23 ﬣ HEBREW LETTER WIDE HE -FB24 ﬤ HEBREW LETTER WIDE KAF -FB25 ﬥ HEBREW LETTER WIDE LAMED -FB26 ﬦ HEBREW LETTER WIDE FINAL MEM -FB27 ﬧ HEBREW LETTER WIDE RESH -FB28 ﬨ HEBREW LETTER WIDE TAV -FB29 ﬩ HEBREW LETTER ALTERNATIVE PLUS SIGN -FB2A שׁ HEBREW LETTER SHIN WITH SHIN DOT -FB2B שׂ HEBREW LETTER SHIN WITH SIN DOT -FB2C שּׁ HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT -FB2D שּׂ HEBREW LETTER SHIN WITH DAGESH AND SIN DOT -FB2E אַ HEBREW LETTER ALEF WITH PATAH -FB2F אָ HEBREW LETTER ALEF WITH QAMATS -FB30 אּ HEBREW LETTER ALEF WITH MAPIQ -FB31 בּ HEBREW LETTER BET WITH DAGESH -FB32 גּ HEBREW LETTER GIMEL WITH DAGESH -FB33 דּ HEBREW LETTER DALET WITH DAGESH -FB34 הּ HEBREW LETTER HE WITH MAPIQ -FB35 וּ HEBREW LETTER VAV WITH DAGESH -FB36 זּ HEBREW LETTER ZAYIN WITH DAGESH -FB38 טּ HEBREW LETTER TET WITH DAGESH -FB39 יּ HEBREW LETTER YOD WITH DAGESH -FB3A ךּ HEBREW LETTER FINAL KAF WITH DAGESH -FB3B כּ HEBREW LETTER KAF WITH DAGESH -FB3C לּ HEBREW LETTER LAMED WITH DAGESH -FB3E מּ HEBREW LETTER MEM WITH DAGESH -FB40 ï­€ HEBREW LETTER NUN WITH DAGESH -FB41 ï­ HEBREW LETTER SAMEKH WITH DAGESH -FB43 ï­ƒ HEBREW LETTER FINAL PE WITH DAGESH -FB44 ï­„ HEBREW LETTER PE WITH DAGESH -FB46 ï­† HEBREW LETTER TSADI WITH DAGESH -FB47 ï­‡ HEBREW LETTER QOF WITH DAGESH -FB48 ï­ˆ HEBREW LETTER RESH WITH DAGESH -FB49 ï­‰ HEBREW LETTER SHIN WITH DAGESH -FB4A ï­Š HEBREW LETTER TAV WITH DAGESH -FB4B ï­‹ HEBREW LETTER VAV WITH HOLAM -FB4C ï­Œ HEBREW LETTER BET WITH RAFE -FB4D ï­ HEBREW LETTER KAF WITH RAFE -FB4E ï­Ž HEBREW LETTER PE WITH RAFE -FB4F ï­ HEBREW LIGATURE ALEF LAMED -FB50 ï­ ARABIC LETTER ALEF WASLA ISOLATED FORM -FB51 ï­‘ ARABIC LETTER ALEF WASLA FINAL FORM -FB52 ï­’ ARABIC LETTER BEEH ISOLATED FORM -FB53 ï­“ ARABIC LETTER BEEH FINAL FORM -FB54 ï­” ARABIC LETTER BEEH INITIAL FORM -FB55 ï­• ARABIC LETTER BEEH MEDIAL FORM -FB56 ï­– ARABIC LETTER PEH ISOLATED FORM -FB57 ï­— ARABIC LETTER PEH FINAL FORM -FB58 ï­˜ ARABIC LETTER PEH INITIAL FORM -FB59 ï­™ ARABIC LETTER PEH MEDIAL FORM -FB5A ï­š ARABIC LETTER BEHEH ISOLATED FORM -FB5B ï­› ARABIC LETTER BEHEH FINAL FORM -FB5C ï­œ ARABIC LETTER BEHEH INITIAL FORM -FB5D ï­ ARABIC LETTER BEHEH MEDIAL FORM -FB5E ï­ž ARABIC LETTER TTEHEH ISOLATED FORM -FB5F ï­Ÿ ARABIC LETTER TTEHEH FINAL FORM -FB60 ï­  ARABIC LETTER TTEHEH INITIAL FORM -FB61 ï­¡ ARABIC LETTER TTEHEH MEDIAL FORM -FB62 ï­¢ ARABIC LETTER TEHEH ISOLATED FORM -FB63 ï­£ ARABIC LETTER TEHEH FINAL FORM -FB64 ï­¤ ARABIC LETTER TEHEH INITIAL FORM -FB65 ï­¥ ARABIC LETTER TEHEH MEDIAL FORM -FB66 ï­¦ ARABIC LETTER TTEH ISOLATED FORM -FB67 ï­§ ARABIC LETTER TTEH FINAL FORM -FB68 ï­¨ ARABIC LETTER TTEH INITIAL FORM -FB69 ï­© ARABIC LETTER TTEH MEDIAL FORM -FB6A ï­ª ARABIC LETTER VEH ISOLATED FORM -FB6B ï­« ARABIC LETTER VEH FINAL FORM -FB6C ï­¬ ARABIC LETTER VEH INITIAL FORM -FB6D ï­­ ARABIC LETTER VEH MEDIAL FORM -FB6E ï­® ARABIC LETTER PEHEH ISOLATED FORM -FB6F ï­¯ ARABIC LETTER PEHEH FINAL FORM -FB70 ï­° ARABIC LETTER PEHEH INITIAL FORM -FB71 ï­± ARABIC LETTER PEHEH MEDIAL FORM -FB72 ï­² ARABIC LETTER DYEH ISOLATED FORM -FB73 ï­³ ARABIC LETTER DYEH FINAL FORM -FB74 ï­´ ARABIC LETTER DYEH INITIAL FORM -FB75 ï­µ ARABIC LETTER DYEH MEDIAL FORM -FB76 ï­¶ ARABIC LETTER NYEH ISOLATED FORM -FB77 ï­· ARABIC LETTER NYEH FINAL FORM -FB78 ï­¸ ARABIC LETTER NYEH INITIAL FORM -FB79 ï­¹ ARABIC LETTER NYEH MEDIAL FORM -FB7A ï­º ARABIC LETTER TCHEH ISOLATED FORM -FB7B ï­» ARABIC LETTER TCHEH FINAL FORM -FB7C ï­¼ ARABIC LETTER TCHEH INITIAL FORM -FB7D ï­½ ARABIC LETTER TCHEH MEDIAL FORM -FB7E ï­¾ ARABIC LETTER TCHEHEH ISOLATED FORM -FB7F ï­¿ ARABIC LETTER TCHEHEH FINAL FORM -FB80 ﮀ ARABIC LETTER TCHEHEH INITIAL FORM -FB81 ï® ARABIC LETTER TCHEHEH MEDIAL FORM -FB82 ﮂ ARABIC LETTER DDAHAL ISOLATED FORM -FB83 ﮃ ARABIC LETTER DDAHAL FINAL FORM -FB84 ﮄ ARABIC LETTER DAHAL ISOLATED FORM -FB85 ï®… ARABIC LETTER DAHAL FINAL FORM -FB86 ﮆ ARABIC LETTER DUL ISOLATED FORM -FB87 ﮇ ARABIC LETTER DUL FINAL FORM -FB88 ﮈ ARABIC LETTER DDAL ISOLATED FORM -FB89 ﮉ ARABIC LETTER DDAL FINAL FORM -FB8A ﮊ ARABIC LETTER JEH ISOLATED FORM -FB8B ﮋ ARABIC LETTER JEH FINAL FORM -FB8C ﮌ ARABIC LETTER RREH ISOLATED FORM -FB8D ï® ARABIC LETTER RREH FINAL FORM -FB8E ﮎ ARABIC LETTER KEHEH ISOLATED FORM -FB8F ï® ARABIC LETTER KEHEH FINAL FORM -FB90 ï® ARABIC LETTER KEHEH INITIAL FORM -FB91 ﮑ ARABIC LETTER KEHEH MEDIAL FORM -FB92 ï®’ ARABIC LETTER GAF ISOLATED FORM -FB93 ﮓ ARABIC LETTER GAF FINAL FORM -FB94 ï®” ARABIC LETTER GAF INITIAL FORM -FB95 ﮕ ARABIC LETTER GAF MEDIAL FORM -FB96 ï®– ARABIC LETTER GUEH ISOLATED FORM -FB97 ï®— ARABIC LETTER GUEH FINAL FORM -FB98 ﮘ ARABIC LETTER GUEH INITIAL FORM -FB99 ï®™ ARABIC LETTER GUEH MEDIAL FORM -FB9A ﮚ ARABIC LETTER NGOEH ISOLATED FORM -FB9B ï®› ARABIC LETTER NGOEH FINAL FORM -FB9C ﮜ ARABIC LETTER NGOEH INITIAL FORM -FB9D ï® ARABIC LETTER NGOEH MEDIAL FORM -FB9E ﮞ ARABIC LETTER NOON GHUNNA ISOLATED FORM -FB9F ﮟ ARABIC LETTER NOON GHUNNA FINAL FORM -FBA0 ï®  ARABIC LETTER RNOON ISOLATED FORM -FBA1 ﮡ ARABIC LETTER RNOON FINAL FORM -FBA2 ﮢ ARABIC LETTER RNOON INITIAL FORM -FBA3 ﮣ ARABIC LETTER RNOON MEDIAL FORM -FBA4 ﮤ ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM -FBA5 ﮥ ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM -FBA6 ﮦ ARABIC LETTER HEH GOAL ISOLATED FORM -FBA7 ﮧ ARABIC LETTER HEH GOAL FINAL FORM -FBA8 ﮨ ARABIC LETTER HEH GOAL INITIAL FORM -FBA9 ﮩ ARABIC LETTER HEH GOAL MEDIAL FORM -FBAA ﮪ ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM -FBAB ﮫ ARABIC LETTER HEH DOACHASHMEE FINAL FORM -FBAC ﮬ ARABIC LETTER HEH DOACHASHMEE INITIAL FORM -FBAD ï®­ ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM -FBAE ï®® ARABIC LETTER YEH BARREE ISOLATED FORM -FBAF ﮯ ARABIC LETTER YEH BARREE FINAL FORM -FBB0 ï®° ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM -FBB1 ï®± ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM -FBD3 ﯓ ARABIC LETTER NG ISOLATED FORM -FBD4 ﯔ ARABIC LETTER NG FINAL FORM -FBD5 ﯕ ARABIC LETTER NG INITIAL FORM -FBD6 ﯖ ARABIC LETTER NG MEDIAL FORM -FBD7 ﯗ ARABIC LETTER U ISOLATED FORM -FBD8 ﯘ ARABIC LETTER U FINAL FORM -FBD9 ﯙ ARABIC LETTER OE ISOLATED FORM -FBDA ﯚ ARABIC LETTER OE FINAL FORM -FBDB ﯛ ARABIC LETTER YU ISOLATED FORM -FBDC ﯜ ARABIC LETTER YU FINAL FORM -FBDD ï¯ ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM -FBDE ﯞ ARABIC LETTER VE ISOLATED FORM -FBDF ﯟ ARABIC LETTER VE FINAL FORM -FBE0 ﯠ ARABIC LETTER KIRGHIZ OE ISOLATED FORM -FBE1 ﯡ ARABIC LETTER KIRGHIZ OE FINAL FORM -FBE2 ﯢ ARABIC LETTER KIRGHIZ YU ISOLATED FORM -FBE3 ﯣ ARABIC LETTER KIRGHIZ YU FINAL FORM -FBE4 ﯤ ARABIC LETTER E ISOLATED FORM -FBE5 ﯥ ARABIC LETTER E FINAL FORM -FBE6 ﯦ ARABIC LETTER E INITIAL FORM -FBE7 ﯧ ARABIC LETTER E MEDIAL FORM -FBE8 ﯨ ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM -FBE9 ﯩ ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM -FBEA ﯪ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM -FBEB ﯫ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM -FBEC ﯬ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM -FBED ﯭ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM -FBEE ﯮ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM -FBEF ﯯ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM -FBF0 ﯰ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM -FBF1 ﯱ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM -FBF2 ﯲ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM -FBF3 ﯳ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM -FBF4 ﯴ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM -FBF5 ﯵ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM -FBF6 ﯶ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM -FBF7 ﯷ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM -FBF8 ﯸ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM -FBF9 ﯹ ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM -FBFA ﯺ ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM -FBFB ﯻ ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM -FBFC ﯼ ARABIC LETTER FARSI YEH ISOLATED FORM -FBFD ﯽ ARABIC LETTER FARSI YEH FINAL FORM -FBFE ﯾ ARABIC LETTER FARSI YEH INITIAL FORM -FBFF ﯿ ARABIC LETTER FARSI YEH MEDIAL FORM -FC00 ï°€ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM -FC01 ï° ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM -FC02 ï°‚ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM -FC03 ï°ƒ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM -FC04 ï°„ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM -FC05 ï°… ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM -FC06 ï°† ARABIC LIGATURE BEH WITH HAH ISOLATED FORM -FC07 ï°‡ ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM -FC08 ï°ˆ ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM -FC09 ï°‰ ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM -FC0A ï°Š ARABIC LIGATURE BEH WITH YEH ISOLATED FORM -FC0B ï°‹ ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM -FC0C ï°Œ ARABIC LIGATURE TEH WITH HAH ISOLATED FORM -FC0D ï° ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM -FC0E ï°Ž ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM -FC0F ï° ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM -FC10 ï° ARABIC LIGATURE TEH WITH YEH ISOLATED FORM -FC11 ï°‘ ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM -FC12 ï°’ ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM -FC13 ï°“ ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM -FC14 ï°” ARABIC LIGATURE THEH WITH YEH ISOLATED FORM -FC15 ï°• ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM -FC16 ï°– ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM -FC17 ï°— ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM -FC18 ï°˜ ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM -FC19 ï°™ ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM -FC1A ï°š ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM -FC1B ï°› ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM -FC1C ï°œ ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM -FC1D ï° ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM -FC1E ï°ž ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM -FC1F ï°Ÿ ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM -FC20 ï°  ARABIC LIGATURE SAD WITH HAH ISOLATED FORM -FC21 ï°¡ ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM -FC22 ï°¢ ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM -FC23 ï°£ ARABIC LIGATURE DAD WITH HAH ISOLATED FORM -FC24 ï°¤ ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM -FC25 ï°¥ ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM -FC26 ï°¦ ARABIC LIGATURE TAH WITH HAH ISOLATED FORM -FC27 ï°§ ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM -FC28 ï°¨ ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM -FC29 ï°© ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM -FC2A ï°ª ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM -FC2B ï°« ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM -FC2C ï°¬ ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM -FC2D ï°­ ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM -FC2E ï°® ARABIC LIGATURE FEH WITH HAH ISOLATED FORM -FC2F ï°¯ ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM -FC30 ï°° ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM -FC31 ï°± ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM -FC32 ï°² ARABIC LIGATURE FEH WITH YEH ISOLATED FORM -FC33 ï°³ ARABIC LIGATURE QAF WITH HAH ISOLATED FORM -FC34 ï°´ ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM -FC35 ï°µ ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM -FC36 ï°¶ ARABIC LIGATURE QAF WITH YEH ISOLATED FORM -FC37 ï°· ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM -FC38 ï°¸ ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM -FC39 ï°¹ ARABIC LIGATURE KAF WITH HAH ISOLATED FORM -FC3A ï°º ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM -FC3B ï°» ARABIC LIGATURE KAF WITH LAM ISOLATED FORM -FC3C ï°¼ ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM -FC3D ï°½ ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM -FC3E ï°¾ ARABIC LIGATURE KAF WITH YEH ISOLATED FORM -FC3F ï°¿ ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM -FC40 ï±€ ARABIC LIGATURE LAM WITH HAH ISOLATED FORM -FC41 ï± ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM -FC42 ﱂ ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM -FC43 ﱃ ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM -FC44 ﱄ ARABIC LIGATURE LAM WITH YEH ISOLATED FORM -FC45 ï±… ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM -FC46 ﱆ ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM -FC47 ﱇ ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM -FC48 ﱈ ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM -FC49 ﱉ ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM -FC4A ﱊ ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM -FC4B ﱋ ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM -FC4C ﱌ ARABIC LIGATURE NOON WITH HAH ISOLATED FORM -FC4D ï± ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM -FC4E ﱎ ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM -FC4F ï± ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM -FC50 ï± ARABIC LIGATURE NOON WITH YEH ISOLATED FORM -FC51 ﱑ ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM -FC52 ï±’ ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM -FC53 ﱓ ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM -FC54 ï±” ARABIC LIGATURE HEH WITH YEH ISOLATED FORM -FC55 ﱕ ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM -FC56 ï±– ARABIC LIGATURE YEH WITH HAH ISOLATED FORM -FC57 ï±— ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM -FC58 ﱘ ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM -FC59 ï±™ ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM -FC5A ﱚ ARABIC LIGATURE YEH WITH YEH ISOLATED FORM -FC5B ï±› ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM -FC5C ﱜ ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM -FC5D ï± ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM -FC5E ﱞ ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM -FC5F ﱟ ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM -FC60 ï±  ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM -FC61 ﱡ ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM -FC62 ï±¢ ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM -FC63 ï±£ ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM -FC64 ﱤ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM -FC65 ï±¥ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM -FC66 ﱦ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM -FC67 ﱧ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM -FC68 ﱨ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM -FC69 ﱩ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM -FC6A ﱪ ARABIC LIGATURE BEH WITH REH FINAL FORM -FC6B ﱫ ARABIC LIGATURE BEH WITH ZAIN FINAL FORM -FC6C ﱬ ARABIC LIGATURE BEH WITH MEEM FINAL FORM -FC6D ï±­ ARABIC LIGATURE BEH WITH NOON FINAL FORM -FC6E ï±® ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM -FC6F ﱯ ARABIC LIGATURE BEH WITH YEH FINAL FORM -FC70 ï±° ARABIC LIGATURE TEH WITH REH FINAL FORM -FC71 ï±± ARABIC LIGATURE TEH WITH ZAIN FINAL FORM -FC72 ï±² ARABIC LIGATURE TEH WITH MEEM FINAL FORM -FC73 ï±³ ARABIC LIGATURE TEH WITH NOON FINAL FORM -FC74 ï±´ ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM -FC75 ï±µ ARABIC LIGATURE TEH WITH YEH FINAL FORM -FC76 ﱶ ARABIC LIGATURE THEH WITH REH FINAL FORM -FC77 ï±· ARABIC LIGATURE THEH WITH ZAIN FINAL FORM -FC78 ﱸ ARABIC LIGATURE THEH WITH MEEM FINAL FORM -FC79 ï±¹ ARABIC LIGATURE THEH WITH NOON FINAL FORM -FC7A ﱺ ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM -FC7B ï±» ARABIC LIGATURE THEH WITH YEH FINAL FORM -FC7C ï±¼ ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM -FC7D ï±½ ARABIC LIGATURE FEH WITH YEH FINAL FORM -FC7E ï±¾ ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM -FC7F ﱿ ARABIC LIGATURE QAF WITH YEH FINAL FORM -FC80 ï²€ ARABIC LIGATURE KAF WITH ALEF FINAL FORM -FC81 ï² ARABIC LIGATURE KAF WITH LAM FINAL FORM -FC82 ﲂ ARABIC LIGATURE KAF WITH MEEM FINAL FORM -FC83 ﲃ ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM -FC84 ﲄ ARABIC LIGATURE KAF WITH YEH FINAL FORM -FC85 ï²… ARABIC LIGATURE LAM WITH MEEM FINAL FORM -FC86 ﲆ ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM -FC87 ﲇ ARABIC LIGATURE LAM WITH YEH FINAL FORM -FC88 ﲈ ARABIC LIGATURE MEEM WITH ALEF FINAL FORM -FC89 ﲉ ARABIC LIGATURE MEEM WITH MEEM FINAL FORM -FC8A ﲊ ARABIC LIGATURE NOON WITH REH FINAL FORM -FC8B ﲋ ARABIC LIGATURE NOON WITH ZAIN FINAL FORM -FC8C ﲌ ARABIC LIGATURE NOON WITH MEEM FINAL FORM -FC8D ï² ARABIC LIGATURE NOON WITH NOON FINAL FORM -FC8E ﲎ ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM -FC8F ï² ARABIC LIGATURE NOON WITH YEH FINAL FORM -FC90 ï² ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM -FC91 ﲑ ARABIC LIGATURE YEH WITH REH FINAL FORM -FC92 ï²’ ARABIC LIGATURE YEH WITH ZAIN FINAL FORM -FC93 ﲓ ARABIC LIGATURE YEH WITH MEEM FINAL FORM -FC94 ï²” ARABIC LIGATURE YEH WITH NOON FINAL FORM -FC95 ﲕ ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM -FC96 ï²– ARABIC LIGATURE YEH WITH YEH FINAL FORM -FC97 ï²— ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM -FC98 ﲘ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM -FC99 ï²™ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM -FC9A ﲚ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM -FC9B ï²› ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM -FC9C ﲜ ARABIC LIGATURE BEH WITH JEEM INITIAL FORM -FC9D ï² ARABIC LIGATURE BEH WITH HAH INITIAL FORM -FC9E ﲞ ARABIC LIGATURE BEH WITH KHAH INITIAL FORM -FC9F ﲟ ARABIC LIGATURE BEH WITH MEEM INITIAL FORM -FCA0 ï²  ARABIC LIGATURE BEH WITH HEH INITIAL FORM -FCA1 ﲡ ARABIC LIGATURE TEH WITH JEEM INITIAL FORM -FCA2 ï²¢ ARABIC LIGATURE TEH WITH HAH INITIAL FORM -FCA3 ï²£ ARABIC LIGATURE TEH WITH KHAH INITIAL FORM -FCA4 ﲤ ARABIC LIGATURE TEH WITH MEEM INITIAL FORM -FCA5 ï²¥ ARABIC LIGATURE TEH WITH HEH INITIAL FORM -FCA6 ﲦ ARABIC LIGATURE THEH WITH MEEM INITIAL FORM -FCA7 ﲧ ARABIC LIGATURE JEEM WITH HAH INITIAL FORM -FCA8 ﲨ ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM -FCA9 ﲩ ARABIC LIGATURE HAH WITH JEEM INITIAL FORM -FCAA ﲪ ARABIC LIGATURE HAH WITH MEEM INITIAL FORM -FCAB ﲫ ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM -FCAC ﲬ ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM -FCAD ï²­ ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM -FCAE ï²® ARABIC LIGATURE SEEN WITH HAH INITIAL FORM -FCAF ﲯ ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM -FCB0 ï²° ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM -FCB1 ï²± ARABIC LIGATURE SAD WITH HAH INITIAL FORM -FCB2 ï²² ARABIC LIGATURE SAD WITH KHAH INITIAL FORM -FCB3 ï²³ ARABIC LIGATURE SAD WITH MEEM INITIAL FORM -FCB4 ï²´ ARABIC LIGATURE DAD WITH JEEM INITIAL FORM -FCB5 ï²µ ARABIC LIGATURE DAD WITH HAH INITIAL FORM -FCB6 ﲶ ARABIC LIGATURE DAD WITH KHAH INITIAL FORM -FCB7 ï²· ARABIC LIGATURE DAD WITH MEEM INITIAL FORM -FCB8 ﲸ ARABIC LIGATURE TAH WITH HAH INITIAL FORM -FCB9 ï²¹ ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM -FCBA ﲺ ARABIC LIGATURE AIN WITH JEEM INITIAL FORM -FCBB ï²» ARABIC LIGATURE AIN WITH MEEM INITIAL FORM -FCBC ï²¼ ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM -FCBD ï²½ ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM -FCBE ï²¾ ARABIC LIGATURE FEH WITH JEEM INITIAL FORM -FCBF ﲿ ARABIC LIGATURE FEH WITH HAH INITIAL FORM -FCC0 ï³€ ARABIC LIGATURE FEH WITH KHAH INITIAL FORM -FCC1 ï³ ARABIC LIGATURE FEH WITH MEEM INITIAL FORM -FCC2 ﳂ ARABIC LIGATURE QAF WITH HAH INITIAL FORM -FCC3 ﳃ ARABIC LIGATURE QAF WITH MEEM INITIAL FORM -FCC4 ﳄ ARABIC LIGATURE KAF WITH JEEM INITIAL FORM -FCC5 ï³… ARABIC LIGATURE KAF WITH HAH INITIAL FORM -FCC6 ﳆ ARABIC LIGATURE KAF WITH KHAH INITIAL FORM -FCC7 ﳇ ARABIC LIGATURE KAF WITH LAM INITIAL FORM -FCC8 ﳈ ARABIC LIGATURE KAF WITH MEEM INITIAL FORM -FCC9 ﳉ ARABIC LIGATURE LAM WITH JEEM INITIAL FORM -FCCA ﳊ ARABIC LIGATURE LAM WITH HAH INITIAL FORM -FCCB ﳋ ARABIC LIGATURE LAM WITH KHAH INITIAL FORM -FCCC ﳌ ARABIC LIGATURE LAM WITH MEEM INITIAL FORM -FCCD ï³ ARABIC LIGATURE LAM WITH HEH INITIAL FORM -FCCE ﳎ ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM -FCCF ï³ ARABIC LIGATURE MEEM WITH HAH INITIAL FORM -FCD0 ï³ ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM -FCD1 ﳑ ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM -FCD2 ï³’ ARABIC LIGATURE NOON WITH JEEM INITIAL FORM -FCD3 ﳓ ARABIC LIGATURE NOON WITH HAH INITIAL FORM -FCD4 ï³” ARABIC LIGATURE NOON WITH KHAH INITIAL FORM -FCD5 ﳕ ARABIC LIGATURE NOON WITH MEEM INITIAL FORM -FCD6 ï³– ARABIC LIGATURE NOON WITH HEH INITIAL FORM -FCD7 ï³— ARABIC LIGATURE HEH WITH JEEM INITIAL FORM -FCD8 ﳘ ARABIC LIGATURE HEH WITH MEEM INITIAL FORM -FCD9 ï³™ ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM -FCDA ﳚ ARABIC LIGATURE YEH WITH JEEM INITIAL FORM -FCDB ï³› ARABIC LIGATURE YEH WITH HAH INITIAL FORM -FCDC ﳜ ARABIC LIGATURE YEH WITH KHAH INITIAL FORM -FCDD ï³ ARABIC LIGATURE YEH WITH MEEM INITIAL FORM -FCDE ﳞ ARABIC LIGATURE YEH WITH HEH INITIAL FORM -FCDF ﳟ ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM -FCE0 ï³  ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM -FCE1 ﳡ ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM -FCE2 ï³¢ ARABIC LIGATURE BEH WITH HEH MEDIAL FORM -FCE3 ï³£ ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM -FCE4 ﳤ ARABIC LIGATURE TEH WITH HEH MEDIAL FORM -FCE5 ï³¥ ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM -FCE6 ﳦ ARABIC LIGATURE THEH WITH HEH MEDIAL FORM -FCE7 ﳧ ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM -FCE8 ﳨ ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM -FCE9 ﳩ ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM -FCEA ﳪ ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM -FCEB ﳫ ARABIC LIGATURE KAF WITH LAM MEDIAL FORM -FCEC ﳬ ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM -FCED ï³­ ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM -FCEE ï³® ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM -FCEF ﳯ ARABIC LIGATURE NOON WITH HEH MEDIAL FORM -FCF0 ï³° ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM -FCF1 ï³± ARABIC LIGATURE YEH WITH HEH MEDIAL FORM -FCF2 ï³² ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM -FCF3 ï³³ ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM -FCF4 ï³´ ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM -FCF5 ï³µ ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM -FCF6 ﳶ ARABIC LIGATURE TAH WITH YEH ISOLATED FORM -FCF7 ï³· ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM -FCF8 ﳸ ARABIC LIGATURE AIN WITH YEH ISOLATED FORM -FCF9 ï³¹ ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM -FCFA ﳺ ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM -FCFB ï³» ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM -FCFC ï³¼ ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM -FCFD ï³½ ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM -FCFE ï³¾ ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM -FCFF ﳿ ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM -FD00 ï´€ ARABIC LIGATURE HAH WITH YEH ISOLATED FORM -FD01 ï´ ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM -FD02 ï´‚ ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM -FD03 ï´ƒ ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM -FD04 ï´„ ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM -FD05 ï´… ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM -FD06 ï´† ARABIC LIGATURE SAD WITH YEH ISOLATED FORM -FD07 ï´‡ ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM -FD08 ï´ˆ ARABIC LIGATURE DAD WITH YEH ISOLATED FORM -FD09 ï´‰ ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM -FD0A ï´Š ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM -FD0B ï´‹ ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM -FD0C ï´Œ ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM -FD0D ï´ ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM -FD0E ï´Ž ARABIC LIGATURE SEEN WITH REH ISOLATED FORM -FD0F ï´ ARABIC LIGATURE SAD WITH REH ISOLATED FORM -FD10 ï´ ARABIC LIGATURE DAD WITH REH ISOLATED FORM -FD11 ï´‘ ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM -FD12 ï´’ ARABIC LIGATURE TAH WITH YEH FINAL FORM -FD13 ï´“ ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM -FD14 ï´” ARABIC LIGATURE AIN WITH YEH FINAL FORM -FD15 ï´• ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM -FD16 ï´– ARABIC LIGATURE GHAIN WITH YEH FINAL FORM -FD17 ï´— ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM -FD18 ï´˜ ARABIC LIGATURE SEEN WITH YEH FINAL FORM -FD19 ï´™ ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM -FD1A ï´š ARABIC LIGATURE SHEEN WITH YEH FINAL FORM -FD1B ï´› ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM -FD1C ï´œ ARABIC LIGATURE HAH WITH YEH FINAL FORM -FD1D ï´ ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM -FD1E ï´ž ARABIC LIGATURE JEEM WITH YEH FINAL FORM -FD1F ï´Ÿ ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM -FD20 ï´  ARABIC LIGATURE KHAH WITH YEH FINAL FORM -FD21 ï´¡ ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM -FD22 ï´¢ ARABIC LIGATURE SAD WITH YEH FINAL FORM -FD23 ï´£ ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM -FD24 ï´¤ ARABIC LIGATURE DAD WITH YEH FINAL FORM -FD25 ï´¥ ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM -FD26 ï´¦ ARABIC LIGATURE SHEEN WITH HAH FINAL FORM -FD27 ï´§ ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM -FD28 ï´¨ ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM -FD29 ï´© ARABIC LIGATURE SHEEN WITH REH FINAL FORM -FD2A ï´ª ARABIC LIGATURE SEEN WITH REH FINAL FORM -FD2B ï´« ARABIC LIGATURE SAD WITH REH FINAL FORM -FD2C ï´¬ ARABIC LIGATURE DAD WITH REH FINAL FORM -FD2D ï´­ ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM -FD2E ï´® ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM -FD2F ï´¯ ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM -FD30 ï´° ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM -FD31 ï´± ARABIC LIGATURE SEEN WITH HEH INITIAL FORM -FD32 ï´² ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM -FD33 ï´³ ARABIC LIGATURE TAH WITH MEEM INITIAL FORM -FD34 ï´´ ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM -FD35 ï´µ ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM -FD36 ï´¶ ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM -FD37 ï´· ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM -FD38 ï´¸ ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM -FD39 ï´¹ ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM -FD3A ï´º ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM -FD3B ï´» ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM -FD3C ï´¼ ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM -FD3D ï´½ ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM -FD3E ï´¾ ORNATE LEFT PARENTHESIS -FD3F ï´¿ ORNATE RIGHT PARENTHESIS -FD50 ïµ ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM -FD51 ﵑ ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM -FD52 ïµ’ ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM -FD53 ﵓ ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM -FD54 ïµ” ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM -FD55 ﵕ ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM -FD56 ïµ– ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM -FD57 ïµ— ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM -FD58 ﵘ ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM -FD59 ïµ™ ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM -FD5A ﵚ ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM -FD5B ïµ› ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM -FD5C ﵜ ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM -FD5D ïµ ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM -FD5E ﵞ ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM -FD5F ﵟ ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM -FD60 ïµ  ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM -FD61 ﵡ ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM -FD62 ïµ¢ ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM -FD63 ïµ£ ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM -FD64 ﵤ ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM -FD65 ïµ¥ ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM -FD66 ﵦ ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM -FD67 ﵧ ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM -FD68 ﵨ ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM -FD69 ﵩ ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM -FD6A ﵪ ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM -FD6B ﵫ ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM -FD6C ﵬ ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM -FD6D ïµ­ ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM -FD6E ïµ® ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM -FD6F ﵯ ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM -FD70 ïµ° ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM -FD71 ïµ± ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM -FD72 ïµ² ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM -FD73 ïµ³ ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM -FD74 ïµ´ ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM -FD75 ïµµ ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM -FD76 ﵶ ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM -FD77 ïµ· ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM -FD78 ﵸ ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM -FD79 ïµ¹ ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM -FD7A ﵺ ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM -FD7B ïµ» ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM -FD7C ïµ¼ ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM -FD7D ïµ½ ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM -FD7E ïµ¾ ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM -FD7F ﵿ ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM -FD80 ﶀ ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM -FD81 ï¶ ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM -FD82 ﶂ ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM -FD83 ﶃ ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM -FD84 ﶄ ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM -FD85 ﶅ ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM -FD86 ﶆ ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM -FD87 ﶇ ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM -FD88 ﶈ ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM -FD89 ﶉ ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM -FD8A ﶊ ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM -FD8B ﶋ ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM -FD8C ﶌ ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM -FD8D ï¶ ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM -FD8E ﶎ ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM -FD8F ï¶ ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM -FD92 ﶒ ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM -FD93 ﶓ ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM -FD94 ﶔ ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM -FD95 ﶕ ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM -FD96 ﶖ ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM -FD97 ﶗ ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM -FD98 ﶘ ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM -FD99 ﶙ ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM -FD9A ﶚ ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM -FD9B ﶛ ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM -FD9C ﶜ ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM -FD9D ï¶ ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM -FD9E ﶞ ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM -FD9F ﶟ ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM -FDA0 ﶠ ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM -FDA1 ﶡ ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM -FDA2 ﶢ ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM -FDA3 ﶣ ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM -FDA4 ﶤ ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM -FDA5 ﶥ ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM -FDA6 ﶦ ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM -FDA7 ﶧ ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM -FDA8 ﶨ ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM -FDA9 ﶩ ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM -FDAA ﶪ ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM -FDAB ﶫ ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM -FDAC ﶬ ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM -FDAD ﶭ ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM -FDAE ﶮ ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM -FDAF ﶯ ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM -FDB0 ﶰ ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM -FDB1 ﶱ ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM -FDB2 ﶲ ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM -FDB3 ﶳ ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM -FDB4 ﶴ ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM -FDB5 ﶵ ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM -FDB6 ﶶ ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM -FDB7 ﶷ ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM -FDB8 ﶸ ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM -FDB9 ﶹ ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM -FDBA ﶺ ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM -FDBB ﶻ ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM -FDBC ﶼ ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM -FDBD ﶽ ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM -FDBE ﶾ ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM -FDBF ﶿ ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM -FDC0 ï·€ ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM -FDC1 ï· ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM -FDC2 ï·‚ ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM -FDC3 ï·ƒ ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM -FDC4 ï·„ ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM -FDC5 ï·… ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM -FDC6 ï·† ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM -FDC7 ï·‡ ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM -FDF0 ï·° ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM -FDF1 ï·± ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM -FDF2 ï·² ARABIC LIGATURE ALLAH ISOLATED FORM -FDF3 ï·³ ARABIC LIGATURE AKBAR ISOLATED FORM -FDF4 ï·´ ARABIC LIGATURE MOHAMMAD ISOLATED FORM -FDF5 ï·µ ARABIC LIGATURE SALAM ISOLATED FORM -FDF6 ï·¶ ARABIC LIGATURE RASOUL ISOLATED FORM -FDF7 ï·· ARABIC LIGATURE ALAYHE ISOLATED FORM -FDF8 ï·¸ ARABIC LIGATURE WASALLAM ISOLATED FORM -FDF9 ï·¹ ARABIC LIGATURE SALLA ISOLATED FORM -FDFA ï·º ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM -FDFB ï·» ARABIC LIGATURE JALLAJALALOUHOU -FE20 ︠ COMBINING LIGATURE LEFT HALF -FE21 ︡ COMBINING LIGATURE RIGHT HALF -FE22 ︢ COMBINING DOUBLE TILDE LEFT HALF -FE23 ︣ COMBINING DOUBLE TILDE RIGHT HALF -FE30 ︰ PRESENTATION FORM FOR VERTICAL TWO DOT LEADER -FE31 ︱ PRESENTATION FORM FOR VERTICAL EM DASH -FE32 ︲ PRESENTATION FORM FOR VERTICAL EN DASH -FE33 ︳ PRESENTATION FORM FOR VERTICAL LOW LINE -FE34 ︴ PRESENTATION FORM FOR VERTICAL WAVY LOW LINE -FE35 ︵ PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS -FE36 ︶ PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS -FE37 ︷ PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET -FE38 ︸ PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET -FE39 ︹ PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET -FE3A ︺ PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET -FE3B ︻ PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET -FE3C ︼ PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET -FE3D ︽ PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET -FE3E ︾ PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET -FE3F ︿ PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET -FE40 ï¹€ PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET -FE41 ï¹ PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET -FE42 ﹂ PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET -FE43 ﹃ PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET -FE44 ﹄ PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET -FE49 ﹉ DASHED OVERLINE -FE4A ﹊ CENTRELINE OVERLINE -FE4B ﹋ WAVY OVERLINE -FE4C ﹌ DOUBLE WAVY OVERLINE -FE4D ï¹ DASHED LOW LINE -FE4E ﹎ CENTRELINE LOW LINE -FE4F ï¹ WAVY LOW LINE -FE50 ï¹ SMALL COMMA -FE51 ﹑ SMALL IDEOGRAPHIC COMMA -FE52 ï¹’ SMALL FULL STOP -FE54 ï¹” SMALL SEMICOLON -FE55 ﹕ SMALL COLON -FE56 ï¹– SMALL QUESTION MARK -FE57 ï¹— SMALL EXCLAMATION MARK -FE58 ﹘ SMALL EM DASH -FE59 ï¹™ SMALL LEFT PARENTHESIS -FE5A ﹚ SMALL RIGHT PARENTHESIS -FE5B ï¹› SMALL LEFT CURLY BRACKET -FE5C ﹜ SMALL RIGHT CURLY BRACKET -FE5D ï¹ SMALL LEFT TORTOISE SHELL BRACKET -FE5E ﹞ SMALL RIGHT TORTOISE SHELL BRACKET -FE5F ﹟ SMALL NUMBER SIGN -FE60 ï¹  SMALL AMPERSAND -FE61 ﹡ SMALL ASTERISK -FE62 ï¹¢ SMALL PLUS SIGN -FE63 ï¹£ SMALL HYPHEN-MINUS -FE64 ﹤ SMALL LESS-THAN SIGN -FE65 ï¹¥ SMALL GREATER-THAN SIGN -FE66 ﹦ SMALL EQUALS SIGN -FE68 ﹨ SMALL REVERSE SOLIDUS -FE69 ﹩ SMALL DOLLAR SIGN -FE6A ﹪ SMALL PERCENT SIGN -FE6B ﹫ SMALL COMMERCIAL AT -FE70 ï¹° ARABIC FATHATAN ISOLATED FORM -FE71 ï¹± ARABIC TATWEEL WITH FATHATAN ABOVE -FE72 ï¹² ARABIC DAMMATAN ISOLATED FORM -FE74 ï¹´ ARABIC KASRATAN ISOLATED FORM -FE76 ﹶ ARABIC FATHA ISOLATED FORM -FE77 ï¹· ARABIC FATHA MEDIAL FORM -FE78 ﹸ ARABIC DAMMA ISOLATED FORM -FE79 ï¹¹ ARABIC DAMMA MEDIAL FORM -FE7A ﹺ ARABIC KASRA ISOLATED FORM -FE7B ï¹» ARABIC KASRA MEDIAL FORM -FE7C ï¹¼ ARABIC SHADDA ISOLATED FORM -FE7D ï¹½ ARABIC SHADDA MEDIAL FORM -FE7E ï¹¾ ARABIC SUKUN ISOLATED FORM -FE7F ﹿ ARABIC SUKUN MEDIAL FORM -FE80 ﺀ ARABIC LETTER HAMZA ISOLATED FORM -FE81 ïº ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM -FE82 ﺂ ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM -FE83 ﺃ ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM -FE84 ﺄ ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM -FE85 ﺅ ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM -FE86 ﺆ ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM -FE87 ﺇ ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM -FE88 ﺈ ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM -FE89 ﺉ ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM -FE8A ﺊ ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM -FE8B ﺋ ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM -FE8C ﺌ ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM -FE8D ïº ARABIC LETTER ALEF ISOLATED FORM -FE8E ﺎ ARABIC LETTER ALEF FINAL FORM -FE8F ïº ARABIC LETTER BEH ISOLATED FORM -FE90 ïº ARABIC LETTER BEH FINAL FORM -FE91 ﺑ ARABIC LETTER BEH INITIAL FORM -FE92 ﺒ ARABIC LETTER BEH MEDIAL FORM -FE93 ﺓ ARABIC LETTER TEH MARBUTA ISOLATED FORM -FE94 ﺔ ARABIC LETTER TEH MARBUTA FINAL FORM -FE95 ﺕ ARABIC LETTER TEH ISOLATED FORM -FE96 ﺖ ARABIC LETTER TEH FINAL FORM -FE97 ﺗ ARABIC LETTER TEH INITIAL FORM -FE98 ﺘ ARABIC LETTER TEH MEDIAL FORM -FE99 ﺙ ARABIC LETTER THEH ISOLATED FORM -FE9A ﺚ ARABIC LETTER THEH FINAL FORM -FE9B ﺛ ARABIC LETTER THEH INITIAL FORM -FE9C ﺜ ARABIC LETTER THEH MEDIAL FORM -FE9D ïº ARABIC LETTER JEEM ISOLATED FORM -FE9E ﺞ ARABIC LETTER JEEM FINAL FORM -FE9F ﺟ ARABIC LETTER JEEM INITIAL FORM -FEA0 ﺠ ARABIC LETTER JEEM MEDIAL FORM -FEA1 ﺡ ARABIC LETTER HAH ISOLATED FORM -FEA2 ﺢ ARABIC LETTER HAH FINAL FORM -FEA3 ﺣ ARABIC LETTER HAH INITIAL FORM -FEA4 ﺤ ARABIC LETTER HAH MEDIAL FORM -FEA5 ﺥ ARABIC LETTER KHAH ISOLATED FORM -FEA6 ﺦ ARABIC LETTER KHAH FINAL FORM -FEA7 ﺧ ARABIC LETTER KHAH INITIAL FORM -FEA8 ﺨ ARABIC LETTER KHAH MEDIAL FORM -FEA9 ﺩ ARABIC LETTER DAL ISOLATED FORM -FEAA ﺪ ARABIC LETTER DAL FINAL FORM -FEAB ﺫ ARABIC LETTER THAL ISOLATED FORM -FEAC ﺬ ARABIC LETTER THAL FINAL FORM -FEAD ﺭ ARABIC LETTER REH ISOLATED FORM -FEAE ﺮ ARABIC LETTER REH FINAL FORM -FEAF ﺯ ARABIC LETTER ZAIN ISOLATED FORM -FEB0 ﺰ ARABIC LETTER ZAIN FINAL FORM -FEB1 ﺱ ARABIC LETTER SEEN ISOLATED FORM -FEB2 ﺲ ARABIC LETTER SEEN FINAL FORM -FEB3 ﺳ ARABIC LETTER SEEN INITIAL FORM -FEB4 ﺴ ARABIC LETTER SEEN MEDIAL FORM -FEB5 ﺵ ARABIC LETTER SHEEN ISOLATED FORM -FEB6 ﺶ ARABIC LETTER SHEEN FINAL FORM -FEB7 ﺷ ARABIC LETTER SHEEN INITIAL FORM -FEB8 ﺸ ARABIC LETTER SHEEN MEDIAL FORM -FEB9 ﺹ ARABIC LETTER SAD ISOLATED FORM -FEBA ﺺ ARABIC LETTER SAD FINAL FORM -FEBB ﺻ ARABIC LETTER SAD INITIAL FORM -FEBC ﺼ ARABIC LETTER SAD MEDIAL FORM -FEBD ﺽ ARABIC LETTER DAD ISOLATED FORM -FEBE ﺾ ARABIC LETTER DAD FINAL FORM -FEBF ﺿ ARABIC LETTER DAD INITIAL FORM -FEC0 ﻀ ARABIC LETTER DAD MEDIAL FORM -FEC1 ï» ARABIC LETTER TAH ISOLATED FORM -FEC2 ﻂ ARABIC LETTER TAH FINAL FORM -FEC3 ﻃ ARABIC LETTER TAH INITIAL FORM -FEC4 ﻄ ARABIC LETTER TAH MEDIAL FORM -FEC5 ï»… ARABIC LETTER ZAH ISOLATED FORM -FEC6 ﻆ ARABIC LETTER ZAH FINAL FORM -FEC7 ﻇ ARABIC LETTER ZAH INITIAL FORM -FEC8 ﻈ ARABIC LETTER ZAH MEDIAL FORM -FEC9 ﻉ ARABIC LETTER AIN ISOLATED FORM -FECA ﻊ ARABIC LETTER AIN FINAL FORM -FECB ﻋ ARABIC LETTER AIN INITIAL FORM -FECC ﻌ ARABIC LETTER AIN MEDIAL FORM -FECD ï» ARABIC LETTER GHAIN ISOLATED FORM -FECE ﻎ ARABIC LETTER GHAIN FINAL FORM -FECF ï» ARABIC LETTER GHAIN INITIAL FORM -FED0 ï» ARABIC LETTER GHAIN MEDIAL FORM -FED1 ﻑ ARABIC LETTER FEH ISOLATED FORM -FED2 ï»’ ARABIC LETTER FEH FINAL FORM -FED3 ﻓ ARABIC LETTER FEH INITIAL FORM -FED4 ï»” ARABIC LETTER FEH MEDIAL FORM -FED5 ﻕ ARABIC LETTER QAF ISOLATED FORM -FED6 ï»– ARABIC LETTER QAF FINAL FORM -FED7 ï»— ARABIC LETTER QAF INITIAL FORM -FED8 ﻘ ARABIC LETTER QAF MEDIAL FORM -FED9 ï»™ ARABIC LETTER KAF ISOLATED FORM -FEDA ﻚ ARABIC LETTER KAF FINAL FORM -FEDB ï»› ARABIC LETTER KAF INITIAL FORM -FEDC ﻜ ARABIC LETTER KAF MEDIAL FORM -FEDD ï» ARABIC LETTER LAM ISOLATED FORM -FEDE ﻞ ARABIC LETTER LAM FINAL FORM -FEDF ﻟ ARABIC LETTER LAM INITIAL FORM -FEE0 ï»  ARABIC LETTER LAM MEDIAL FORM -FEE1 ﻡ ARABIC LETTER MEEM ISOLATED FORM -FEE2 ﻢ ARABIC LETTER MEEM FINAL FORM -FEE3 ﻣ ARABIC LETTER MEEM INITIAL FORM -FEE4 ﻤ ARABIC LETTER MEEM MEDIAL FORM -FEE5 ﻥ ARABIC LETTER NOON ISOLATED FORM -FEE6 ﻦ ARABIC LETTER NOON FINAL FORM -FEE7 ﻧ ARABIC LETTER NOON INITIAL FORM -FEE8 ﻨ ARABIC LETTER NOON MEDIAL FORM -FEE9 ﻩ ARABIC LETTER HEH ISOLATED FORM -FEEA ﻪ ARABIC LETTER HEH FINAL FORM -FEEB ﻫ ARABIC LETTER HEH INITIAL FORM -FEEC ﻬ ARABIC LETTER HEH MEDIAL FORM -FEED ï»­ ARABIC LETTER WAW ISOLATED FORM -FEEE ï»® ARABIC LETTER WAW FINAL FORM -FEEF ﻯ ARABIC LETTER ALEF MAKSURA ISOLATED FORM -FEF0 ï»° ARABIC LETTER ALEF MAKSURA FINAL FORM -FEF1 ï»± ARABIC LETTER YEH ISOLATED FORM -FEF2 ﻲ ARABIC LETTER YEH FINAL FORM -FEF3 ﻳ ARABIC LETTER YEH INITIAL FORM -FEF4 ï»´ ARABIC LETTER YEH MEDIAL FORM -FEF5 ﻵ ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM -FEF6 ﻶ ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM -FEF7 ï»· ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM -FEF8 ﻸ ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM -FEF9 ﻹ ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM -FEFA ﻺ ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM -FEFB ï»» ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM -FEFC ﻼ ARABIC LIGATURE LAM WITH ALEF FINAL FORM -FF01 ï¼ FULLWIDTH EXCLAMATION MARK -FF02 " FULLWIDTH QUOTATION MARK -FF03 # FULLWIDTH NUMBER SIGN -FF04 $ FULLWIDTH DOLLAR SIGN -FF05 ï¼… FULLWIDTH PERCENT SIGN -FF06 & FULLWIDTH AMPERSAND -FF07 ' FULLWIDTH APOSTROPHE -FF08 ( FULLWIDTH LEFT PARENTHESIS -FF09 ) FULLWIDTH RIGHT PARENTHESIS -FF0A * FULLWIDTH ASTERISK -FF0B + FULLWIDTH PLUS SIGN -FF0C , FULLWIDTH COMMA -FF0D ï¼ FULLWIDTH HYPHEN-MINUS -FF0E . FULLWIDTH FULL STOP -FF0F ï¼ FULLWIDTH SOLIDUS -FF10 ï¼ FULLWIDTH DIGIT ZERO -FF11 1 FULLWIDTH DIGIT ONE -FF12 ï¼’ FULLWIDTH DIGIT TWO -FF13 3 FULLWIDTH DIGIT THREE -FF14 ï¼” FULLWIDTH DIGIT FOUR -FF15 5 FULLWIDTH DIGIT FIVE -FF16 ï¼– FULLWIDTH DIGIT SIX -FF17 ï¼— FULLWIDTH DIGIT SEVEN -FF18 8 FULLWIDTH DIGIT EIGHT -FF19 ï¼™ FULLWIDTH DIGIT NINE -FF1A : FULLWIDTH COLON -FF1B ï¼› FULLWIDTH SEMICOLON -FF1C < FULLWIDTH LESS-THAN SIGN -FF1D ï¼ FULLWIDTH EQUALS SIGN -FF1E > FULLWIDTH GREATER-THAN SIGN -FF1F ? FULLWIDTH QUESTION MARK -FF20 ï¼  FULLWIDTH COMMERCIAL AT -FF21 A FULLWIDTH LATIN CAPITAL LETTER A -FF22 ï¼¢ FULLWIDTH LATIN CAPITAL LETTER B -FF23 ï¼£ FULLWIDTH LATIN CAPITAL LETTER C -FF24 D FULLWIDTH LATIN CAPITAL LETTER D -FF25 ï¼¥ FULLWIDTH LATIN CAPITAL LETTER E -FF26 F FULLWIDTH LATIN CAPITAL LETTER F -FF27 G FULLWIDTH LATIN CAPITAL LETTER G -FF28 H FULLWIDTH LATIN CAPITAL LETTER H -FF29 I FULLWIDTH LATIN CAPITAL LETTER I -FF2A J FULLWIDTH LATIN CAPITAL LETTER J -FF2B K FULLWIDTH LATIN CAPITAL LETTER K -FF2C L FULLWIDTH LATIN CAPITAL LETTER L -FF2D ï¼­ FULLWIDTH LATIN CAPITAL LETTER M -FF2E ï¼® FULLWIDTH LATIN CAPITAL LETTER N -FF2F O FULLWIDTH LATIN CAPITAL LETTER O -FF30 ï¼° FULLWIDTH LATIN CAPITAL LETTER P -FF31 ï¼± FULLWIDTH LATIN CAPITAL LETTER Q -FF32 ï¼² FULLWIDTH LATIN CAPITAL LETTER R -FF33 ï¼³ FULLWIDTH LATIN CAPITAL LETTER S -FF34 ï¼´ FULLWIDTH LATIN CAPITAL LETTER T -FF35 ï¼µ FULLWIDTH LATIN CAPITAL LETTER U -FF36 V FULLWIDTH LATIN CAPITAL LETTER V -FF37 ï¼· FULLWIDTH LATIN CAPITAL LETTER W -FF38 X FULLWIDTH LATIN CAPITAL LETTER X -FF39 ï¼¹ FULLWIDTH LATIN CAPITAL LETTER Y -FF3A Z FULLWIDTH LATIN CAPITAL LETTER Z -FF3B ï¼» FULLWIDTH LEFT SQUARE BRACKET -FF3C ï¼¼ FULLWIDTH REVERSE SOLIDUS -FF3D ï¼½ FULLWIDTH RIGHT SQUARE BRACKET -FF3E ï¼¾ FULLWIDTH CIRCUMFLEX ACCENT -FF3F _ FULLWIDTH LOW LINE -FF40 ï½€ FULLWIDTH GRAVE ACCENT -FF41 ï½ FULLWIDTH LATIN SMALL LETTER A -FF42 b FULLWIDTH LATIN SMALL LETTER B -FF43 c FULLWIDTH LATIN SMALL LETTER C -FF44 d FULLWIDTH LATIN SMALL LETTER D -FF45 ï½… FULLWIDTH LATIN SMALL LETTER E -FF46 f FULLWIDTH LATIN SMALL LETTER F -FF47 g FULLWIDTH LATIN SMALL LETTER G -FF48 h FULLWIDTH LATIN SMALL LETTER H -FF49 i FULLWIDTH LATIN SMALL LETTER I -FF4A j FULLWIDTH LATIN SMALL LETTER J -FF4B k FULLWIDTH LATIN SMALL LETTER K -FF4C l FULLWIDTH LATIN SMALL LETTER L -FF4D ï½ FULLWIDTH LATIN SMALL LETTER M -FF4E n FULLWIDTH LATIN SMALL LETTER N -FF4F ï½ FULLWIDTH LATIN SMALL LETTER O -FF50 ï½ FULLWIDTH LATIN SMALL LETTER P -FF51 q FULLWIDTH LATIN SMALL LETTER Q -FF52 ï½’ FULLWIDTH LATIN SMALL LETTER R -FF53 s FULLWIDTH LATIN SMALL LETTER S -FF54 ï½” FULLWIDTH LATIN SMALL LETTER T -FF55 u FULLWIDTH LATIN SMALL LETTER U -FF56 ï½– FULLWIDTH LATIN SMALL LETTER V -FF57 ï½— FULLWIDTH LATIN SMALL LETTER W -FF58 x FULLWIDTH LATIN SMALL LETTER X -FF59 ï½™ FULLWIDTH LATIN SMALL LETTER Y -FF5A z FULLWIDTH LATIN SMALL LETTER Z -FF5B ï½› FULLWIDTH LEFT CURLY BRACKET -FF5C | FULLWIDTH VERTICAL LINE -FF5D ï½ FULLWIDTH RIGHT CURLY BRACKET -FF5E ~ FULLWIDTH TILDE -FF61 。 HALFWIDTH IDEOGRAPHIC FULL STOP -FF62 ï½¢ HALFWIDTH LEFT CORNER BRACKET -FF63 ï½£ HALFWIDTH RIGHT CORNER BRACKET -FF64 、 HALFWIDTH IDEOGRAPHIC COMMA -FF65 ï½¥ HALFWIDTH KATAKANA MIDDLE DOT -FF66 ヲ HALFWIDTH KATAKANA LETTER WO -FF67 ァ HALFWIDTH KATAKANA LETTER SMALL A -FF68 ィ HALFWIDTH KATAKANA LETTER SMALL I -FF69 ゥ HALFWIDTH KATAKANA LETTER SMALL U -FF6A ェ HALFWIDTH KATAKANA LETTER SMALL E -FF6B ォ HALFWIDTH KATAKANA LETTER SMALL O -FF6C ャ HALFWIDTH KATAKANA LETTER SMALL YA -FF6D ï½­ HALFWIDTH KATAKANA LETTER SMALL YU -FF6E ï½® HALFWIDTH KATAKANA LETTER SMALL YO -FF6F ッ HALFWIDTH KATAKANA LETTER SMALL TU -FF70 ï½° HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK -FF71 ï½± HALFWIDTH KATAKANA LETTER A -FF72 ï½² HALFWIDTH KATAKANA LETTER I -FF73 ï½³ HALFWIDTH KATAKANA LETTER U -FF74 ï½´ HALFWIDTH KATAKANA LETTER E -FF75 ï½µ HALFWIDTH KATAKANA LETTER O -FF76 カ HALFWIDTH KATAKANA LETTER KA -FF77 ï½· HALFWIDTH KATAKANA LETTER KI -FF78 ク HALFWIDTH KATAKANA LETTER KU -FF79 ï½¹ HALFWIDTH KATAKANA LETTER KE -FF7A コ HALFWIDTH KATAKANA LETTER KO -FF7B ï½» HALFWIDTH KATAKANA LETTER SA -FF7C ï½¼ HALFWIDTH KATAKANA LETTER SI -FF7D ï½½ HALFWIDTH KATAKANA LETTER SU -FF7E ï½¾ HALFWIDTH KATAKANA LETTER SE -FF7F ソ HALFWIDTH KATAKANA LETTER SO -FF80 ï¾€ HALFWIDTH KATAKANA LETTER TA -FF81 ï¾ HALFWIDTH KATAKANA LETTER TI -FF82 ツ HALFWIDTH KATAKANA LETTER TU -FF83 テ HALFWIDTH KATAKANA LETTER TE -FF84 ト HALFWIDTH KATAKANA LETTER TO -FF85 ï¾… HALFWIDTH KATAKANA LETTER NA -FF86 ニ HALFWIDTH KATAKANA LETTER NI -FF87 ヌ HALFWIDTH KATAKANA LETTER NU -FF88 ネ HALFWIDTH KATAKANA LETTER NE -FF89 ノ HALFWIDTH KATAKANA LETTER NO -FF8A ハ HALFWIDTH KATAKANA LETTER HA -FF8B ヒ HALFWIDTH KATAKANA LETTER HI -FF8C フ HALFWIDTH KATAKANA LETTER HU -FF8D ï¾ HALFWIDTH KATAKANA LETTER HE -FF8E ホ HALFWIDTH KATAKANA LETTER HO -FF8F ï¾ HALFWIDTH KATAKANA LETTER MA -FF90 ï¾ HALFWIDTH KATAKANA LETTER MI -FF91 ム HALFWIDTH KATAKANA LETTER MU -FF92 ï¾’ HALFWIDTH KATAKANA LETTER ME -FF93 モ HALFWIDTH KATAKANA LETTER MO -FF94 ï¾” HALFWIDTH KATAKANA LETTER YA -FF95 ユ HALFWIDTH KATAKANA LETTER YU -FF96 ï¾– HALFWIDTH KATAKANA LETTER YO -FF97 ï¾— HALFWIDTH KATAKANA LETTER RA -FF98 リ HALFWIDTH KATAKANA LETTER RI -FF99 ï¾™ HALFWIDTH KATAKANA LETTER RU -FF9A レ HALFWIDTH KATAKANA LETTER RE -FF9B ï¾› HALFWIDTH KATAKANA LETTER RO -FF9C ワ HALFWIDTH KATAKANA LETTER WA -FF9D ï¾ HALFWIDTH KATAKANA LETTER N -FF9E ゙ HALFWIDTH KATAKANA VOICED SOUND MARK -FF9F ゚ HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK -FFA0 ï¾  HALFWIDTH HANGUL FILLER -FFA1 ᄀ HALFWIDTH HANGUL LETTER KIYEOK -FFA2 ï¾¢ HALFWIDTH HANGUL LETTER SSANGKIYEOK -FFA3 ï¾£ HALFWIDTH HANGUL LETTER KIYEOK-SIOS -FFA4 ᄂ HALFWIDTH HANGUL LETTER NIEUN -FFA5 ï¾¥ HALFWIDTH HANGUL LETTER NIEUN-CIEUC -FFA6 ᆭ HALFWIDTH HANGUL LETTER NIEUN-HIEUH -FFA7 ᄃ HALFWIDTH HANGUL LETTER TIKEUT -FFA8 ᄄ HALFWIDTH HANGUL LETTER SSANGTIKEUT -FFA9 ᄅ HALFWIDTH HANGUL LETTER RIEUL -FFAA ᆰ HALFWIDTH HANGUL LETTER RIEUL-KIYEOK -FFAB ᆱ HALFWIDTH HANGUL LETTER RIEUL-MIEUM -FFAC ᆲ HALFWIDTH HANGUL LETTER RIEUL-PIEUP -FFAD ï¾­ HALFWIDTH HANGUL LETTER RIEUL-SIOS -FFAE ï¾® HALFWIDTH HANGUL LETTER RIEUL-THIEUTH -FFAF ᆵ HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH -FFB0 ï¾° HALFWIDTH HANGUL LETTER RIEUL-HIEUH -FFB1 ï¾± HALFWIDTH HANGUL LETTER MIEUM -FFB2 ï¾² HALFWIDTH HANGUL LETTER PIEUP -FFB3 ï¾³ HALFWIDTH HANGUL LETTER SSANGPIEUP -FFB4 ï¾´ HALFWIDTH HANGUL LETTER PIEUP-SIOS -FFB5 ï¾µ HALFWIDTH HANGUL LETTER SIOS -FFB6 ᄊ HALFWIDTH HANGUL LETTER SSANGSIOS -FFB7 ï¾· HALFWIDTH HANGUL LETTER IEUNG -FFB8 ᄌ HALFWIDTH HANGUL LETTER CIEUC -FFB9 ï¾¹ HALFWIDTH HANGUL LETTER SSANGCIEUC -FFBA ᄎ HALFWIDTH HANGUL LETTER CHIEUCH -FFBB ï¾» HALFWIDTH HANGUL LETTER KHIEUKH -FFBC ï¾¼ HALFWIDTH HANGUL LETTER THIEUTH -FFBD ï¾½ HALFWIDTH HANGUL LETTER PHIEUPH -FFBE ï¾¾ HALFWIDTH HANGUL LETTER HIEUH -FFC2 ï¿‚ HALFWIDTH HANGUL LETTER A -FFC3 ᅢ HALFWIDTH HANGUL LETTER AE -FFC4 ï¿„ HALFWIDTH HANGUL LETTER YA -FFC5 ï¿… HALFWIDTH HANGUL LETTER YAE -FFC6 ᅥ HALFWIDTH HANGUL LETTER EO -FFC7 ᅦ HALFWIDTH HANGUL LETTER E -FFCA ï¿Š HALFWIDTH HANGUL LETTER YEO -FFCB ï¿‹ HALFWIDTH HANGUL LETTER YE -FFCC ï¿Œ HALFWIDTH HANGUL LETTER O -FFCD ï¿ HALFWIDTH HANGUL LETTER WA -FFCE ï¿Ž HALFWIDTH HANGUL LETTER WAE -FFCF ï¿ HALFWIDTH HANGUL LETTER OE -FFD2 ï¿’ HALFWIDTH HANGUL LETTER YO -FFD3 ï¿“ HALFWIDTH HANGUL LETTER U -FFD4 ï¿” HALFWIDTH HANGUL LETTER WEO -FFD5 ï¿• HALFWIDTH HANGUL LETTER WE -FFD6 ï¿– HALFWIDTH HANGUL LETTER WI -FFD7 ï¿— HALFWIDTH HANGUL LETTER YU -FFDA ï¿š HALFWIDTH HANGUL LETTER EU -FFDB ï¿› HALFWIDTH HANGUL LETTER YI -FFDC ï¿œ HALFWIDTH HANGUL LETTER I -FFE0 ï¿  FULLWIDTH CENT SIGN -FFE1 ï¿¡ FULLWIDTH POUND SIGN -FFE2 ï¿¢ FULLWIDTH NOT SIGN -FFE3 ï¿£ FULLWIDTH MACRON -FFE4 ¦ FULLWIDTH BROKEN BAR -FFE5 ï¿¥ FULLWIDTH YEN SIGN -FFE6 ₩ FULLWIDTH WON SIGN -FFE8 │ HALFWIDTH FORMS LIGHT VERTICAL -FFE9 ï¿© HALFWIDTH LEFTWARDS ARROW -FFEA ↑ HALFWIDTH UPWARDS ARROW -FFEB ï¿« HALFWIDTH RIGHTWARDS ARROW -FFEC ↓ HALFWIDTH DOWNWARDS ARROW -FFED ï¿­ HALFWIDTH BLACK SQUARE -FFEE ï¿® HALFWIDTH WHITE CIRCLE -FFFC  OBJECT REPLACEMENT CHARACTER -FFFD � REPLACEMENT CHARACTER diff -Nru console-tools-0.2.3/examples/utflist.short console-tools-0.2.3/examples/utflist.short --- console-tools-0.2.3/examples/utflist.short 1999-04-08 21:29:42.000000000 +0000 +++ console-tools-0.2.3/examples/utflist.short 1970-01-01 00:00:00.000000000 +0000 @@ -1,1032 +0,0 @@ -# Test for checking the unicode maps corresponding to -# various fonts. Try -# for i in 01 02 03 04 05 06 07 08 09 10 -# do -# unicode_start iso$i.f16 iso$i -# less -r utflist -# done -# unicode_stop -# -0020 SPACE -0021 ! EXCLAMATION MARK -0022 " QUOTATION MARK -0023 # NUMBER SIGN -0024 $ DOLLAR SIGN -0025 % PERCENT SIGN -0026 & AMPERSAND -0027 ' APOSTROPHE -0028 ( LEFT PARENTHESIS -0029 ) RIGHT PARENTHESIS -002a * ASTERISK -002b + PLUS SIGN -002c , COMMA -002d - HYPHEN-MINUS -002e . FULL STOP -002f / SOLIDUS -0030 0 DIGIT ZERO -0031 1 DIGIT ONE -0032 2 DIGIT TWO -0033 3 DIGIT THREE -0034 4 DIGIT FOUR -0035 5 DIGIT FIVE -0036 6 DIGIT SIX -0037 7 DIGIT SEVEN -0038 8 DIGIT EIGHT -0039 9 DIGIT NINE -003a : COLON -003b ; SEMICOLON -003c < LESS-THAN SIGN -003d = EQUALS SIGN -003e > GREATER-THAN SIGN -003f ? QUESTION MARK -0040 @ COMMERCIAL AT -0041 A LATIN CAPITAL LETTER A -0042 B LATIN CAPITAL LETTER B -0043 C LATIN CAPITAL LETTER C -0044 D LATIN CAPITAL LETTER D -0045 E LATIN CAPITAL LETTER E -0046 F LATIN CAPITAL LETTER F -0047 G LATIN CAPITAL LETTER G -0048 H LATIN CAPITAL LETTER H -0049 I LATIN CAPITAL LETTER I -004a J LATIN CAPITAL LETTER J -004b K LATIN CAPITAL LETTER K -004c L LATIN CAPITAL LETTER L -004d M LATIN CAPITAL LETTER M -004e N LATIN CAPITAL LETTER N -004f O LATIN CAPITAL LETTER O -0050 P LATIN CAPITAL LETTER P -0051 Q LATIN CAPITAL LETTER Q -0052 R LATIN CAPITAL LETTER R -0053 S LATIN CAPITAL LETTER S -0054 T LATIN CAPITAL LETTER T -0055 U LATIN CAPITAL LETTER U -0056 V LATIN CAPITAL LETTER V -0057 W LATIN CAPITAL LETTER W -0058 X LATIN CAPITAL LETTER X -0059 Y LATIN CAPITAL LETTER Y -005a Z LATIN CAPITAL LETTER Z -005b [ LEFT SQUARE BRACKET -005c \ REVERSE SOLIDUS -005d ] RIGHT SQUARE BRACKET -005e ^ CIRCUMFLEX ACCENT -005f _ LOW LINE -0060 ` GRAVE ACCENT -0061 a LATIN SMALL LETTER A -0062 b LATIN SMALL LETTER B -0063 c LATIN SMALL LETTER C -0064 d LATIN SMALL LETTER D -0065 e LATIN SMALL LETTER E -0066 f LATIN SMALL LETTER F -0067 g LATIN SMALL LETTER G -0068 h LATIN SMALL LETTER H -0069 i LATIN SMALL LETTER I -006a j LATIN SMALL LETTER J -006b k LATIN SMALL LETTER K -006c l LATIN SMALL LETTER L -006d m LATIN SMALL LETTER M -006e n LATIN SMALL LETTER N -006f o LATIN SMALL LETTER O -0070 p LATIN SMALL LETTER P -0071 q LATIN SMALL LETTER Q -0072 r LATIN SMALL LETTER R -0073 s LATIN SMALL LETTER S -0074 t LATIN SMALL LETTER T -0075 u LATIN SMALL LETTER U -0076 v LATIN SMALL LETTER V -0077 w LATIN SMALL LETTER W -0078 x LATIN SMALL LETTER X -0079 y LATIN SMALL LETTER Y -007a z LATIN SMALL LETTER Z -007b { LEFT CURLY BRACKET -007c | VERTICAL LINE -007d } RIGHT CURLY BRACKET -007e ~ TILDE -00a0   NO-BREAK SPACE -00a1 ¡ INVERTED EXCLAMATION MARK -00a2 ¢ CENT SIGN -00a3 £ POUND SIGN -00a4 ¤ CURRENCY SIGN -00a5 Â¥ YEN SIGN -00a6 ¦ BROKEN BAR -00a7 § SECTION SIGN -00a8 ¨ DIAERESIS -00a9 © COPYRIGHT SIGN -00aa ª FEMININE ORDINAL INDICATOR -00ab « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -00ac ¬ NOT SIGN -00ad ­ SOFT HYPHEN -00ae ® REGISTERED SIGN -00af ¯ MACRON -00b0 ° DEGREE SIGN -00b1 ± PLUS-MINUS SIGN -00b2 ² SUPERSCRIPT TWO -00b3 ³ SUPERSCRIPT THREE -00b4 ´ ACUTE ACCENT -00b5 µ MICRO SIGN -00b6 ¶ PILCROW SIGN -00b7 · MIDDLE DOT -00b8 ¸ CEDILLA -00b9 ¹ SUPERSCRIPT ONE -00ba º MASCULINE ORDINAL INDICATOR -00bb » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -00bc ¼ VULGAR FRACTION ONE QUARTER -00bd ½ VULGAR FRACTION ONE HALF -00be ¾ VULGAR FRACTION THREE QUARTERS -00bf ¿ INVERTED QUESTION MARK -00c0 À LATIN CAPITAL LETTER A WITH GRAVE -00c1 à LATIN CAPITAL LETTER A WITH ACUTE -00c2  LATIN CAPITAL LETTER A WITH CIRCUMFLEX -00c3 à LATIN CAPITAL LETTER A WITH TILDE -00c4 Ä LATIN CAPITAL LETTER A WITH DIAERESIS -00c5 Ã… LATIN CAPITAL LETTER A WITH RING ABOVE -00c6 Æ LATIN CAPITAL LETTER AE -00c7 Ç LATIN CAPITAL LETTER C WITH CEDILLA -00c8 È LATIN CAPITAL LETTER E WITH GRAVE -00c9 É LATIN CAPITAL LETTER E WITH ACUTE -00ca Ê LATIN CAPITAL LETTER E WITH CIRCUMFLEX -00cb Ë LATIN CAPITAL LETTER E WITH DIAERESIS -00cc ÃŒ LATIN CAPITAL LETTER I WITH GRAVE -00cd à LATIN CAPITAL LETTER I WITH ACUTE -00ce ÃŽ LATIN CAPITAL LETTER I WITH CIRCUMFLEX -00cf à LATIN CAPITAL LETTER I WITH DIAERESIS -00d0 à LATIN CAPITAL LETTER ETH (Icelandic) -00d1 Ñ LATIN CAPITAL LETTER N WITH TILDE -00d2 Ã’ LATIN CAPITAL LETTER O WITH GRAVE -00d3 Ó LATIN CAPITAL LETTER O WITH ACUTE -00d4 Ô LATIN CAPITAL LETTER O WITH CIRCUMFLEX -00d5 Õ LATIN CAPITAL LETTER O WITH TILDE -00d6 Ö LATIN CAPITAL LETTER O WITH DIAERESIS -00d7 × MULTIPLICATION SIGN -00d8 Ø LATIN CAPITAL LETTER O WITH STROKE -00d9 Ù LATIN CAPITAL LETTER U WITH GRAVE -00da Ú LATIN CAPITAL LETTER U WITH ACUTE -00db Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX -00dc Ãœ LATIN CAPITAL LETTER U WITH DIAERESIS -00dd à LATIN CAPITAL LETTER Y WITH ACUTE -00de Þ LATIN CAPITAL LETTER THORN (Icelandic) -00df ß LATIN SMALL LETTER SHARP S (German) -00e0 à LATIN SMALL LETTER A WITH GRAVE -00e1 á LATIN SMALL LETTER A WITH ACUTE -00e2 â LATIN SMALL LETTER A WITH CIRCUMFLEX -00e3 ã LATIN SMALL LETTER A WITH TILDE -00e4 ä LATIN SMALL LETTER A WITH DIAERESIS -00e5 Ã¥ LATIN SMALL LETTER A WITH RING ABOVE -00e6 æ LATIN SMALL LETTER AE -00e7 ç LATIN SMALL LETTER C WITH CEDILLA -00e8 è LATIN SMALL LETTER E WITH GRAVE -00e9 é LATIN SMALL LETTER E WITH ACUTE -00ea ê LATIN SMALL LETTER E WITH CIRCUMFLEX -00eb ë LATIN SMALL LETTER E WITH DIAERESIS -00ec ì LATIN SMALL LETTER I WITH GRAVE -00ed í LATIN SMALL LETTER I WITH ACUTE -00ee î LATIN SMALL LETTER I WITH CIRCUMFLEX -00ef ï LATIN SMALL LETTER I WITH DIAERESIS -00f0 ð LATIN SMALL LETTER ETH (Icelandic) -00f1 ñ LATIN SMALL LETTER N WITH TILDE -00f2 ò LATIN SMALL LETTER O WITH GRAVE -00f3 ó LATIN SMALL LETTER O WITH ACUTE -00f4 ô LATIN SMALL LETTER O WITH CIRCUMFLEX -00f5 õ LATIN SMALL LETTER O WITH TILDE -00f6 ö LATIN SMALL LETTER O WITH DIAERESIS -00f7 ÷ DIVISION SIGN -00f8 ø LATIN SMALL LETTER O WITH STROKE -00f9 ù LATIN SMALL LETTER U WITH GRAVE -00fa ú LATIN SMALL LETTER U WITH ACUTE -00fb û LATIN SMALL LETTER U WITH CIRCUMFLEX -00fc ü LATIN SMALL LETTER U WITH DIAERESIS -00fd ý LATIN SMALL LETTER Y WITH ACUTE -00fe þ LATIN SMALL LETTER THORN (Icelandic) -00ff ÿ LATIN SMALL LETTER Y WITH DIAERESIS -0100 Ä€ LATIN CAPITAL LETTER A WITH MACRON -0101 Ä LATIN SMALL LETTER A WITH MACRON -0102 Ä‚ LATIN CAPITAL LETTER A WITH BREVE -0103 ă LATIN SMALL LETTER A WITH BREVE -0104 Ä„ LATIN CAPITAL LETTER A WITH OGONEK -0105 Ä… LATIN SMALL LETTER A WITH OGONEK -0106 Ć LATIN CAPITAL LETTER C WITH ACUTE -0107 ć LATIN SMALL LETTER C WITH ACUTE -0108 Ĉ LATIN CAPITAL LETTER C WITH CIRCUMFLEX -0109 ĉ LATIN SMALL LETTER C WITH CIRCUMFLEX -010a ÄŠ LATIN CAPITAL LETTER C WITH DOT ABOVE -010b Ä‹ LATIN SMALL LETTER C WITH DOT ABOVE -010c ÄŒ LATIN CAPITAL LETTER C WITH CARON -010d Ä LATIN SMALL LETTER C WITH CARON -010e ÄŽ LATIN CAPITAL LETTER D WITH CARON -010f Ä LATIN SMALL LETTER D WITH CARON -0110 Ä LATIN CAPITAL LETTER D WITH STROKE -0111 Ä‘ LATIN SMALL LETTER D WITH STROKE -0112 Ä’ LATIN CAPITAL LETTER E WITH MACRON -0113 Ä“ LATIN SMALL LETTER E WITH MACRON -0114 Ä” LATIN CAPITAL LETTER E WITH BREVE -0115 Ä• LATIN SMALL LETTER E WITH BREVE -0116 Ä– LATIN CAPITAL LETTER E WITH DOT ABOVE -0117 Ä— LATIN SMALL LETTER E WITH DOT ABOVE -0118 Ę LATIN CAPITAL LETTER E WITH OGONEK -0119 Ä™ LATIN SMALL LETTER E WITH OGONEK -011a Äš LATIN CAPITAL LETTER E WITH CARON -011b Ä› LATIN SMALL LETTER E WITH CARON -011c Äœ LATIN CAPITAL LETTER G WITH CIRCUMFLEX -011d Ä LATIN SMALL LETTER G WITH CIRCUMFLEX -011e Äž LATIN CAPITAL LETTER G WITH BREVE -011f ÄŸ LATIN SMALL LETTER G WITH BREVE -0120 Ä  LATIN CAPITAL LETTER G WITH DOT ABOVE -0121 Ä¡ LATIN SMALL LETTER G WITH DOT ABOVE -0122 Ä¢ LATIN CAPITAL LETTER G WITH CEDILLA -0123 Ä£ LATIN SMALL LETTER G WITH CEDILLA -0124 Ĥ LATIN CAPITAL LETTER H WITH CIRCUMFLEX -0125 Ä¥ LATIN SMALL LETTER H WITH CIRCUMFLEX -0126 Ħ LATIN CAPITAL LETTER H WITH STROKE -0127 ħ LATIN SMALL LETTER H WITH STROKE -0128 Ĩ LATIN CAPITAL LETTER I WITH TILDE -0129 Ä© LATIN SMALL LETTER I WITH TILDE -012a Ī LATIN CAPITAL LETTER I WITH MACRON -012b Ä« LATIN SMALL LETTER I WITH MACRON -012c Ĭ LATIN CAPITAL LETTER I WITH BREVE -012d Ä­ LATIN SMALL LETTER I WITH BREVE -012e Ä® LATIN CAPITAL LETTER I WITH OGONEK -012f į LATIN SMALL LETTER I WITH OGONEK -0130 Ä° LATIN CAPITAL LETTER I WITH DOT ABOVE -0131 ı LATIN SMALL LETTER I DOTLESS -0132 IJ LATIN CAPITAL LIGATURE IJ -0133 ij LATIN SMALL LIGATURE IJ -0134 Ä´ LATIN CAPITAL LETTER J WITH CIRCUMFLEX -0135 ĵ LATIN SMALL LETTER J WITH CIRCUMFLEX -0136 Ķ LATIN CAPITAL LETTER K WITH CEDILLA -0137 Ä· LATIN SMALL LETTER K WITH CEDILLA -0138 ĸ LATIN SMALL LETTER KRA (Greenlandic) -0139 Ĺ LATIN CAPITAL LETTER L WITH ACUTE -013a ĺ LATIN SMALL LETTER L WITH ACUTE -013b Ä» LATIN CAPITAL LETTER L WITH CEDILLA -013c ļ LATIN SMALL LETTER L WITH CEDILLA -013d Ľ LATIN CAPITAL LETTER L WITH CARON -013e ľ LATIN SMALL LETTER L WITH CARON -013f Ä¿ LATIN CAPITAL LETTER L WITH MIDDLE DOT -0140 Å€ LATIN SMALL LETTER L WITH MIDDLE DOT -0141 Å LATIN CAPITAL LETTER L WITH STROKE -0142 Å‚ LATIN SMALL LETTER L WITH STROKE -0143 Ń LATIN CAPITAL LETTER N WITH ACUTE -0144 Å„ LATIN SMALL LETTER N WITH ACUTE -0145 Å… LATIN CAPITAL LETTER N WITH CEDILLA -0146 ņ LATIN SMALL LETTER N WITH CEDILLA -0147 Ň LATIN CAPITAL LETTER N WITH CARON -0148 ň LATIN SMALL LETTER N WITH CARON -0149 ʼn LATIN SMALL LETTER N PRECEDED BY APOSTROPHE -014a ÅŠ LATIN CAPITAL LETTER ENG (Lappish) -014b Å‹ LATIN SMALL LETTER ENG (Lappish) -014c ÅŒ LATIN CAPITAL LETTER O WITH MACRON -014d Å LATIN SMALL LETTER O WITH MACRON -014e ÅŽ LATIN CAPITAL LETTER O WITH BREVE -014f Å LATIN SMALL LETTER O WITH BREVE -0150 Å LATIN CAPITAL LETTER O WITH DOUBLE ACUTE -0151 Å‘ LATIN SMALL LETTER O WITH DOUBLE ACUTE -0152 Å’ LATIN CAPITAL LIGATURE OE -0153 Å“ LATIN SMALL LIGATURE OE -0154 Å” LATIN CAPITAL LETTER R WITH ACUTE -0155 Å• LATIN SMALL LETTER R WITH ACUTE -0156 Å– LATIN CAPITAL LETTER R WITH CEDILLA -0157 Å— LATIN SMALL LETTER R WITH CEDILLA -0158 Ř LATIN CAPITAL LETTER R WITH CARON -0159 Å™ LATIN SMALL LETTER R WITH CARON -015a Åš LATIN CAPITAL LETTER S WITH ACUTE -015b Å› LATIN SMALL LETTER S WITH ACUTE -015c Åœ LATIN CAPITAL LETTER S WITH CIRCUMFLEX -015d Å LATIN SMALL LETTER S WITH CIRCUMFLEX -015e Åž LATIN CAPITAL LETTER S WITH CEDILLA -015f ÅŸ LATIN SMALL LETTER S WITH CEDILLA -0160 Å  LATIN CAPITAL LETTER S WITH CARON -0161 Å¡ LATIN SMALL LETTER S WITH CARON -0162 Å¢ LATIN CAPITAL LETTER T WITH CEDILLA -0163 Å£ LATIN SMALL LETTER T WITH CEDILLA -0164 Ť LATIN CAPITAL LETTER T WITH CARON -0165 Å¥ LATIN SMALL LETTER T WITH CARON -0166 Ŧ LATIN CAPITAL LETTER T WITH STROKE -0167 ŧ LATIN SMALL LETTER T WITH STROKE -0168 Ũ LATIN CAPITAL LETTER U WITH TILDE -0169 Å© LATIN SMALL LETTER U WITH TILDE -016a Ū LATIN CAPITAL LETTER U WITH MACRON -016b Å« LATIN SMALL LETTER U WITH MACRON -016c Ŭ LATIN CAPITAL LETTER U WITH BREVE -016d Å­ LATIN SMALL LETTER U WITH BREVE -016e Å® LATIN CAPITAL LETTER U WITH RING ABOVE -016f ů LATIN SMALL LETTER U WITH RING ABOVE -0170 Å° LATIN CAPITAL LETTER U WITH DOUBLE ACUTE -0171 ű LATIN SMALL LETTER U WITH DOUBLE ACUTE -0172 Ų LATIN CAPITAL LETTER U WITH OGONEK -0173 ų LATIN SMALL LETTER U WITH OGONEK -0174 Å´ LATIN CAPITAL LETTER W WITH CIRCUMFLEX -0175 ŵ LATIN SMALL LETTER W WITH CIRCUMFLEX -0176 Ŷ LATIN CAPITAL LETTER Y WITH CIRCUMFLEX -0177 Å· LATIN SMALL LETTER Y WITH CIRCUMFLEX -0178 Ÿ LATIN CAPITAL LETTER Y WITH DIAERESIS -0179 Ź LATIN CAPITAL LETTER Z WITH ACUTE -017a ź LATIN SMALL LETTER Z WITH ACUTE -017b Å» LATIN CAPITAL LETTER Z WITH DOT ABOVE -017c ż LATIN SMALL LETTER Z WITH DOT ABOVE -017d Ž LATIN CAPITAL LETTER Z WITH CARON -017e ž LATIN SMALL LETTER Z WITH CARON -01a0 Æ  LATIN CAPITAL LETTER O WITH HORN -01a1 Æ¡ LATIN SMALL LETTER O WITH HORN -01a2 Æ¢ LATIN CAPITAL LETTER OI -01a3 Æ£ LATIN SMALL LETTER OI -01a6 Ʀ LATIN LETTER YR -01af Ư LATIN CAPITAL LETTER U WITH HORN -01b0 Æ° LATIN SMALL LETTER U WITH HORN -01b5 Ƶ LATIN CAPITAL LETTER Z WITH STROKE -01b6 ƶ LATIN SMALL LETTER Z WITH STROKE -01b7 Æ· LATIN CAPITAL LETTER EZH -01cd Ç LATIN CAPITAL LETTER A WITH CARON -01ce ÇŽ LATIN SMALL LETTER A WITH CARON -01cf Ç LATIN CAPITAL LETTER I WITH CARON -01d0 Ç LATIN SMALL LETTER I WITH CARON -01d1 Ç‘ LATIN CAPITAL LETTER O WITH CARON -01d2 Ç’ LATIN SMALL LETTER O WITH CARON -01d3 Ç“ LATIN CAPITAL LETTER U WITH CARON -01d4 Ç” LATIN SMALL LETTER U WITH CARON -01d5 Ç• LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON -01d6 Ç– LATIN SMALL LETTER U WITH DIAERESIS AND MACRON -01d7 Ç— LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE -01d8 ǘ LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE -01d9 Ç™ LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON -01da Çš LATIN SMALL LETTER U WITH DIAERESIS AND CARON -01db Ç› LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE -01dc Çœ LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE -01de Çž LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON -01df ÇŸ LATIN SMALL LETTER A WITH DIAERESIS AND MACRON -01e0 Ç  LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON -01e1 Ç¡ LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON -01e2 Ç¢ LATIN CAPITAL LETTER AE WITH MACRON -01e3 Ç£ LATIN SMALL LETTER AE WITH MACRON -01e4 Ǥ LATIN CAPITAL LETTER G WITH STROKE -01e5 Ç¥ LATIN SMALL LETTER G WITH STROKE -01e6 Ǧ LATIN CAPITAL LETTER G WITH CARON -01e7 ǧ LATIN SMALL LETTER G WITH CARON -01e8 Ǩ LATIN CAPITAL LETTER K WITH CARON -01e9 Ç© LATIN SMALL LETTER K WITH CARON -01ea Ǫ LATIN CAPITAL LETTER O WITH OGONEK -01eb Ç« LATIN SMALL LETTER O WITH OGONEK -01ec Ǭ LATIN CAPITAL LETTER O WITH OGONEK AND MACRON -01ed Ç­ LATIN SMALL LETTER O WITH OGONEK AND MACRON -01ee Ç® LATIN CAPITAL LETTER EZH WITH CARON -01ef ǯ LATIN SMALL LETTER EZH WITH CARON -01f0 Ç° LATIN SMALL LETTER J WITH CARON -01f4 Ç´ LATIN CAPITAL LETTER G WITH ACUTE -01f5 ǵ LATIN SMALL LETTER G WITH ACUTE -01fa Ǻ LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE -01fb Ç» LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE -01fc Ǽ LATIN CAPITAL LETTER AE WITH ACUTE -01fd ǽ LATIN SMALL LETTER AE WITH ACUTE -01fe Ǿ LATIN CAPITAL LETTER O WITH STROKE AND ACUTE -01ff Ç¿ LATIN SMALL LETTER O WITH STROKE AND ACUTE -02bf Ê¿ MODIFIER LETTER LEFT HALF RING -02c7 ˇ CARON -02d8 ˘ BREVE -02d9 Ë™ DOT ABOVE -02da Ëš RING ABOVE -02db Ë› OGONEK -02dd Ë DOUBLE ACUTE ACCENT -0386 Ά GREEK CAPITAL LETTER ALPHA WITH ACUTE -0388 Έ GREEK CAPITAL LETTER EPSILON WITH ACUTE -0389 Ή GREEK CAPITAL LETTER ETA WITH ACUTE -038a Ί GREEK CAPITAL LETTER IOTA WITH ACUTE -038c ÎŒ GREEK CAPITAL LETTER OMICRON WITH ACUTE -038e ÎŽ GREEK CAPITAL LETTER UPSILON WITH ACUTE -038f Î GREEK CAPITAL LETTER OMEGA WITH ACUTE -0390 Î GREEK SMALL LETTER IOTA WITH ACUTE AND DIAERESIS -0391 Α GREEK CAPITAL LETTER ALPHA -0392 Î’ GREEK CAPITAL LETTER BETA -0393 Γ GREEK CAPITAL LETTER GAMMA -0394 Δ GREEK CAPITAL LETTER DELTA -0395 Ε GREEK CAPITAL LETTER EPSILON -0396 Ζ GREEK CAPITAL LETTER ZETA -0397 Η GREEK CAPITAL LETTER ETA -0398 Θ GREEK CAPITAL LETTER THETA -0399 Ι GREEK CAPITAL LETTER IOTA -039a Κ GREEK CAPITAL LETTER KAPPA -039b Λ GREEK CAPITAL LETTER LAMDA -039c Îœ GREEK CAPITAL LETTER MU -039d Î GREEK CAPITAL LETTER NU -039e Ξ GREEK CAPITAL LETTER XI -039f Ο GREEK CAPITAL LETTER OMICRON -03a0 Π GREEK CAPITAL LETTER PI -03a1 Ρ GREEK CAPITAL LETTER RHO -03a3 Σ GREEK CAPITAL LETTER SIGMA -03a4 Τ GREEK CAPITAL LETTER TAU -03a5 Î¥ GREEK CAPITAL LETTER UPSILON -03a6 Φ GREEK CAPITAL LETTER PHI -03a7 Χ GREEK CAPITAL LETTER CHI -03a8 Ψ GREEK CAPITAL LETTER PSI -03a9 Ω GREEK CAPITAL LETTER OMEGA -03aa Ϊ GREEK CAPITAL LETTER IOTA WITH DIAERESIS -03ab Ϋ GREEK CAPITAL LETTER UPSILON WITH DIAERESIS -03ac ά GREEK SMALL LETTER ALPHA WITH ACUTE -03ad έ GREEK SMALL LETTER EPSILON WITH ACUTE -03ae ή GREEK SMALL LETTER ETA WITH ACUTE -03af ί GREEK SMALL LETTER IOTA WITH ACUTE -03b0 ΰ GREEK SMALL LETTER UPSILON WITH ACUTE AND DIAERESIS -03b1 α GREEK SMALL LETTER ALPHA -03b2 β GREEK SMALL LETTER BETA -03b3 γ GREEK SMALL LETTER GAMMA -03b4 δ GREEK SMALL LETTER DELTA -03b5 ε GREEK SMALL LETTER EPSILON -03b6 ζ GREEK SMALL LETTER ZETA -03b7 η GREEK SMALL LETTER ETA -03b8 θ GREEK SMALL LETTER THETA -03b9 ι GREEK SMALL LETTER IOTA -03ba κ GREEK SMALL LETTER KAPPA -03bb λ GREEK SMALL LETTER LAMDA -03bc μ GREEK SMALL LETTER MU -03bd ν GREEK SMALL LETTER NU -03be ξ GREEK SMALL LETTER XI -03bf ο GREEK SMALL LETTER OMICRON -03c0 Ï€ GREEK SMALL LETTER PI -03c1 Ï GREEK SMALL LETTER RHO -03c2 Ï‚ GREEK SMALL LETTER FINAL SIGMA -03c3 σ GREEK SMALL LETTER SIGMA -03c4 Ï„ GREEK SMALL LETTER TAU -03c5 Ï… GREEK SMALL LETTER UPSILON -03c6 φ GREEK SMALL LETTER PHI -03c7 χ GREEK SMALL LETTER CHI -03c8 ψ GREEK SMALL LETTER PSI -03c9 ω GREEK SMALL LETTER OMEGA -03ca ÏŠ GREEK SMALL LETTER IOTA WITH DIAERESIS -03cb Ï‹ GREEK SMALL LETTER UPSILON WITH DIAERESIS -03cc ÏŒ GREEK SMALL LETTER OMICRON WITH ACUTE -03cd Ï GREEK SMALL LETTER UPSILON WITH ACUTE -03ce ÏŽ GREEK SMALL LETTER OMEGA WITH ACUTE -03d8 Ϙ GREEK NUMERAL SIGN -03d9 Ï™ GREEK LOWER NUMERAL SIGN -03da Ïš GREEK CAPITAL LETTER STIGMA -03db Ï› GREEK SMALL LETTER STIGMA -03dc Ïœ GREEK CAPITAL LETTER DIGAMMA -03dd Ï GREEK SMALL LETTER DIGAMMA -03de Ïž GREEK CAPITAL LETTER KOPPA -03df ÏŸ GREEK SMALL LETTER KOPPA -03e0 Ï  GREEK CAPITAL LETTER SAMPI -03e1 Ï¡ GREEK SMALL LETTER SAMPI -03f4 Ï´ ACUTE ACCENT AND DIAERESIS (Tonos and Dialytika) -03f5 ϵ GREEK IOTA BELOW -0401 Ð CYRILLIC CAPITAL LETTER IO -0402 Ђ CYRILLIC CAPITAL LETTER DJE (Serbocroatian) -0403 Ѓ CYRILLIC CAPITAL LETTER GJE (Macedonian) -0404 Є CYRILLIC CAPITAL LETTER UKRAINIAN IE -0405 Ð… CYRILLIC CAPITAL LETTER DZE (Macedonian) -0406 І CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I -0407 Ї CYRILLIC CAPITAL LETTER YI (Ukrainian) -0408 Ј CYRILLIC CAPITAL LETTER JE -0409 Љ CYRILLIC CAPITAL LETTER LJE -040a Њ CYRILLIC CAPITAL LETTER NJE -040b Ћ CYRILLIC CAPITAL LETTER TSHE (Serbocroatian) -040c ÐŒ CYRILLIC CAPITAL LETTER KJE (Macedonian) -040e ÐŽ CYRILLIC CAPITAL LETTER SHORT U (Byelorussian) -040f Ð CYRILLIC CAPITAL LETTER DZHE -0410 Ð CYRILLIC CAPITAL LETTER A -0411 Б CYRILLIC CAPITAL LETTER BE -0412 Ð’ CYRILLIC CAPITAL LETTER VE -0413 Г CYRILLIC CAPITAL LETTER GHE -0414 Д CYRILLIC CAPITAL LETTER DE -0415 Е CYRILLIC CAPITAL LETTER IE -0416 Ж CYRILLIC CAPITAL LETTER ZHE -0417 З CYRILLIC CAPITAL LETTER ZE -0418 И CYRILLIC CAPITAL LETTER I -0419 Й CYRILLIC CAPITAL LETTER SHORT I -041a К CYRILLIC CAPITAL LETTER KA -041b Л CYRILLIC CAPITAL LETTER EL -041c Ðœ CYRILLIC CAPITAL LETTER EM -041d Ð CYRILLIC CAPITAL LETTER EN -041e О CYRILLIC CAPITAL LETTER O -041f П CYRILLIC CAPITAL LETTER PE -0420 Р CYRILLIC CAPITAL LETTER ER -0421 С CYRILLIC CAPITAL LETTER ES -0422 Т CYRILLIC CAPITAL LETTER TE -0423 У CYRILLIC CAPITAL LETTER U -0424 Ф CYRILLIC CAPITAL LETTER EF -0425 Ð¥ CYRILLIC CAPITAL LETTER HA -0426 Ц CYRILLIC CAPITAL LETTER TSE -0427 Ч CYRILLIC CAPITAL LETTER CHE -0428 Ш CYRILLIC CAPITAL LETTER SHA -0429 Щ CYRILLIC CAPITAL LETTER SHCHA -042a Ъ CYRILLIC CAPITAL LETTER HARD SIGN -042b Ы CYRILLIC CAPITAL LETTER YERI -042c Ь CYRILLIC CAPITAL LETTER SOFT SIGN -042d Э CYRILLIC CAPITAL LETTER E -042e Ю CYRILLIC CAPITAL LETTER YU -042f Я CYRILLIC CAPITAL LETTER YA -0430 а CYRILLIC SMALL LETTER A -0431 б CYRILLIC SMALL LETTER BE -0432 в CYRILLIC SMALL LETTER VE -0433 г CYRILLIC SMALL LETTER GHE -0434 д CYRILLIC SMALL LETTER DE -0435 е CYRILLIC SMALL LETTER IE -0436 ж CYRILLIC SMALL LETTER ZHE -0437 з CYRILLIC SMALL LETTER ZE -0438 и CYRILLIC SMALL LETTER I -0439 й CYRILLIC SMALL LETTER SHORT I -043a к CYRILLIC SMALL LETTER KA -043b л CYRILLIC SMALL LETTER EL -043c м CYRILLIC SMALL LETTER EM -043d н CYRILLIC SMALL LETTER EN -043e о CYRILLIC SMALL LETTER O -043f п CYRILLIC SMALL LETTER PE -0440 Ñ€ CYRILLIC SMALL LETTER ER -0441 Ñ CYRILLIC SMALL LETTER ES -0442 Ñ‚ CYRILLIC SMALL LETTER TE -0443 у CYRILLIC SMALL LETTER U -0444 Ñ„ CYRILLIC SMALL LETTER EF -0445 Ñ… CYRILLIC SMALL LETTER HA -0446 ц CYRILLIC SMALL LETTER TSE -0447 ч CYRILLIC SMALL LETTER CHE -0448 ш CYRILLIC SMALL LETTER SHA -0449 щ CYRILLIC SMALL LETTER SHCHA -044a ÑŠ CYRILLIC SMALL LETTER HARD SIGN -044b Ñ‹ CYRILLIC SMALL LETTER YERI -044c ÑŒ CYRILLIC SMALL LETTER SOFT SIGN -044d Ñ CYRILLIC SMALL LETTER E -044e ÑŽ CYRILLIC SMALL LETTER YU -044f Ñ CYRILLIC SMALL LETTER YA -0451 Ñ‘ CYRILLIC SMALL LETTER IO -0452 Ñ’ CYRILLIC SMALL LETTER DJE (Serbocroatian) -0453 Ñ“ CYRILLIC SMALL LETTER GJE (Macedonian) -0454 Ñ” CYRILLIC SMALL LETTER UKRAINIAN IE -0455 Ñ• CYRILLIC SMALL LETTER DZE (Macedonian) -0456 Ñ– CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -0457 Ñ— CYRILLIC SMALL LETTER YI (Ukrainian) -0458 ј CYRILLIC SMALL LETTER JE -0459 Ñ™ CYRILLIC SMALL LETTER LJE -045a Ñš CYRILLIC SMALL LETTER NJE -045b Ñ› CYRILLIC SMALL LETTER TSHE (Serbocroatian) -045c Ñœ CYRILLIC SMALL LETTER KJE (Macedonian) -045e Ñž CYRILLIC SMALL LETTER SHORT U (Byelorussian) -045f ÑŸ CYRILLIC SMALL LETTER DZHE -0462 Ñ¢ CYRILLIC CAPITAL LETTER YAT -0463 Ñ£ CYRILLIC SMALL LETTER YAT -046a Ѫ CYRILLIC CAPITAL LETTER BIG YUS -046b Ñ« CYRILLIC SMALL LETTER BIG YUS -0472 Ѳ CYRILLIC CAPITAL LETTER FITA -0473 ѳ CYRILLIC SMALL LETTER FITA -0474 Ñ´ CYRILLIC CAPITAL LETTER IZHITSA -0475 ѵ CYRILLIC SMALL LETTER IZHITSA -0480 Ò€ CYRILLIC CAPITAL LETTER KOPPA -0481 Ò CYRILLIC SMALL LETTER KOPPA -0490 Ò CYRILLIC CAPITAL LETTER GHE WITH UPTURN -0491 Ò‘ CYRILLIC SMALL LETTER GHE WITH UPTURN -05d0 × HEBREW LETTER ALEF -05d1 ב HEBREW LETTER BET -05d2 ×’ HEBREW LETTER GIMEL -05d3 ד HEBREW LETTER DALET -05d4 ×” HEBREW LETTER HE -05d5 ו HEBREW LETTER VAV -05d6 ×– HEBREW LETTER ZAYIN -05d7 ×— HEBREW LETTER HET -05d8 ט HEBREW LETTER TET -05d9 ×™ HEBREW LETTER YOD -05da ך HEBREW LETTER FINAL KAF -05db ×› HEBREW LETTER KAF -05dc ל HEBREW LETTER LAMED -05dd × HEBREW LETTER FINAL MEM -05de מ HEBREW LETTER MEM -05df ן HEBREW LETTER FINAL NUN -05e0 ×  HEBREW LETTER NUN -05e1 ס HEBREW LETTER SAMEKH -05e2 ×¢ HEBREW LETTER AYIN -05e3 ×£ HEBREW LETTER FINAL PE -05e4 פ HEBREW LETTER PE -05e5 ×¥ HEBREW LETTER FINAL TSADE -05e6 צ HEBREW LETTER TSADE -05e7 ק HEBREW LETTER QOF -05e8 ר HEBREW LETTER RESH -05e9 ש HEBREW LETTER SHIN -05ea ת HEBREW LETTER TAV -060c ØŒ ARABIC COMMA -061b Ø› ARABIC SEMICOLON -061f ØŸ ARABIC QUESTION MARK -0621 Ø¡ ARABIC LETTER HAMZA -0622 Ø¢ ARABIC LETTER ALEF WITH MADDA ABOVE -0623 Ø£ ARABIC LETTER ALEF WITH HAMZA ABOVE -0624 ؤ ARABIC LETTER WAW WITH HAMZA ABOVE -0625 Ø¥ ARABIC LETTER ALEF WITH HAMZA BELOW -0626 ئ ARABIC LETTER YEH WITH HAMZA ABOVE -0627 ا ARABIC LETTER ALEF -0628 ب ARABIC LETTER BEH -0629 Ø© ARABIC LETTER TEH MARBUTA -062a ت ARABIC LETTER TEH -062b Ø« ARABIC LETTER THEH -062c ج ARABIC LETTER JEEM -062d Ø­ ARABIC LETTER HAH -062e Ø® ARABIC LETTER KHAH -062f د ARABIC LETTER DAL -0630 Ø° ARABIC LETTER THAL -0631 ر ARABIC LETTER REH -0632 ز ARABIC LETTER ZAIN -0633 س ARABIC LETTER SEEN -0634 Ø´ ARABIC LETTER SHEEN -0635 ص ARABIC LETTER SAD -0636 ض ARABIC LETTER DAD -0637 Ø· ARABIC LETTER TAH -0638 ظ ARABIC LETTER ZAH -0639 ع ARABIC LETTER AIN -063a غ ARABIC LETTER GHAIN -0640 Ù€ ARABIC TATWEEL -0641 Ù ARABIC LETTER FEH -0642 Ù‚ ARABIC LETTER QAF -0643 Ùƒ ARABIC LETTER KAF -0644 Ù„ ARABIC LETTER LAM -0645 Ù… ARABIC LETTER MEEM -0646 Ù† ARABIC LETTER NOON -0647 Ù‡ ARABIC LETTER HEH -0648 Ùˆ ARABIC LETTER WAW -0649 Ù‰ ARABIC LETTER ALEF MAKSURA -064a ÙŠ ARABIC LETTER YEH -064b Ù‹ ARABIC FATHATAN -064c ÙŒ ARABIC DAMMATAN -064d Ù ARABIC KASRATAN -064e ÙŽ ARABIC FATHA -064f Ù ARABIC DAMMA -0650 Ù ARABIC KASRA -0651 Ù‘ ARABIC SHADDA -0652 Ù’ ARABIC SUKUN -0670 Ù° SUPERSCRIPT ARABIC LETTER ALEF -067e Ù¾ ARABIC LETTER PEH -06a4 Ú¤ ARABIC LETTER VEH -06af Ú¯ ARABIC LETTER GAF -1200 ሀ ETHIOPIC SYLLABLE HA (he) -1201 ሠETHIOPIC SYLLABLE HU (hu) -1202 ሂ ETHIOPIC SYLLABLE HI (hi) -1203 ሃ ETHIOPIC SYLLABLE HAA (ha) -1204 ሄ ETHIOPIC SYLLABLE HEE (hE) -1205 ህ ETHIOPIC SYLLABLE HE (h) -1206 ሆ ETHIOPIC SYLLABLE HO (ho) -1207 ሇ -1208 ለ ETHIOPIC SYLLABLE LA (le) -1209 ሉ ETHIOPIC SYLLABLE LU (lu) -120A ሊ ETHIOPIC SYLLABLE LI (li) -120B ላ ETHIOPIC SYLLABLE LAA (la) -120C ሌ ETHIOPIC SYLLABLE LEE (lE) -120D ሠETHIOPIC SYLLABLE LE (l) -120E ሎ ETHIOPIC SYLLABLE LO (lo) -120F ሠETHIOPIC SYLLABLE LWA (lWa) -1210 ሠETHIOPIC SYLLABLE HHA (He) -1211 ሑ ETHIOPIC SYLLABLE HHU (Hu) -1212 ሒ ETHIOPIC SYLLABLE HHI (Hi) -1213 ሓ ETHIOPIC SYLLABLE HHAA (Ha) -1214 ሔ ETHIOPIC SYLLABLE HHEE (HE) -1215 ሕ ETHIOPIC SYLLABLE HHE (H) -1216 ሖ ETHIOPIC SYLLABLE HHO (Ho) -1217 ሗ ETHIOPIC SYLLABLE HHWA (HWa) -1218 መ ETHIOPIC SYLLABLE MA (me) -1219 ሙ ETHIOPIC SYLLABLE MU (mu) -121A ሚ ETHIOPIC SYLLABLE MI (mi) -121B ማ ETHIOPIC SYLLABLE MAA (ma) -121C ሜ ETHIOPIC SYLLABLE MEE (mE) -121D ሠETHIOPIC SYLLABLE ME (m) -121E ሞ ETHIOPIC SYLLABLE MO (mo) -121F ሟ ETHIOPIC SYLLABLE MWA (mWa) -1220 ሠ ETHIOPIC SYLLABLE SZA (`se) -1221 ሡ ETHIOPIC SYLLABLE SZU (`su) -1222 ሢ ETHIOPIC SYLLABLE SZI (`si) -1223 ሣ ETHIOPIC SYLLABLE SZAA (`sa) -1224 ሤ ETHIOPIC SYLLABLE SZEE (`sE) -1225 ሥ ETHIOPIC SYLLABLE SZE (`s) -1226 ሦ ETHIOPIC SYLLABLE SZO (`so) -1227 ሧ ETHIOPIC SYLLABLE SZWA (`sWa) -1228 ረ ETHIOPIC SYLLABLE RA (re) -1229 ሩ ETHIOPIC SYLLABLE RU (ru) -122A ሪ ETHIOPIC SYLLABLE RI (ri) -122B ራ ETHIOPIC SYLLABLE RAA (ra) -122C ሬ ETHIOPIC SYLLABLE REE (rE) -122D ር ETHIOPIC SYLLABLE RE (r) -122E ሮ ETHIOPIC SYLLABLE RO (ro) -122F ሯ ETHIOPIC SYLLABLE RWA (rWa) -1230 ሰ ETHIOPIC SYLLABLE SA (se) -1231 ሱ ETHIOPIC SYLLABLE SU (su) -1232 ሲ ETHIOPIC SYLLABLE SI (si) -1233 ሳ ETHIOPIC SYLLABLE SAA (sa) -1234 ሴ ETHIOPIC SYLLABLE SEE (sE) -1235 ስ ETHIOPIC SYLLABLE SE (s) -1236 ሶ ETHIOPIC SYLLABLE SO (so) -1237 ሷ ETHIOPIC SYLLABLE SWA (sWa) -1238 ሸ ETHIOPIC SYLLABLE SHA (xe) -1239 ሹ ETHIOPIC SYLLABLE SHU (xu) -123A ሺ ETHIOPIC SYLLABLE SHI (xi) -123B ሻ ETHIOPIC SYLLABLE SHAA (xa) -123C ሼ ETHIOPIC SYLLABLE SHEE (xE) -123D ሽ ETHIOPIC SYLLABLE SHE (xa) -123E ሾ ETHIOPIC SYLLABLE SHO (xo) -123F ሿ ETHIOPIC SYLLABLE SHWA (xWa) -1240 ቀ ETHIOPIC SYLLABLE QA (qe) -1241 በETHIOPIC SYLLABLE QU (qu) -1242 ቂ ETHIOPIC SYLLABLE QI (qi) -1243 ቃ ETHIOPIC SYLLABLE QAA (qa) -1244 ቄ ETHIOPIC SYLLABLE QEE (qE) -1245 ቅ ETHIOPIC SYLLABLE QE (q) -1246 ቆ ETHIOPIC SYLLABLE QO (qo) -1247 ቇ -1248 ቈ ETHIOPIC SYLLABLE QWA (qWe) -1249 ቉ -124A ቊ ETHIOPIC SYLLABLE QWI (qWi) -124B ቋ ETHIOPIC SYLLABLE QWAA (qWa) -124C ቌ ETHIOPIC SYLLABLE QWEE (qWE) -124D በETHIOPIC SYLLABLE QWE (qW) -124E ቎ -124F በ-1250 በETHIOPIC SYLLABLE QHA (Qe) -1251 ቑ ETHIOPIC SYLLABLE QHU (Qu) -1252 ቒ ETHIOPIC SYLLABLE QHI (Qi) -1253 ቓ ETHIOPIC SYLLABLE QHAA (Qa) -1254 ቔ ETHIOPIC SYLLABLE QHEE (QE) -1255 ቕ ETHIOPIC SYLLABLE QHE (Q) -1256 ቖ ETHIOPIC SYLLABLE QHO (Qo) -1257 ቗ -1258 ቘ ETHIOPIC SYLLABLE QHWA (QWe) -1259 ቙ -125A ቚ ETHIOPIC SYLLABLE QHWI (QWi) -125B ቛ ETHIOPIC SYLLABLE QHWAA (QWa) -125C ቜ ETHIOPIC SYLLABLE QHWEE (QWE) -125D በETHIOPIC SYLLABLE QHWE (QW) -125E ቞ -125F ቟ -1260 በ ETHIOPIC SYLLABLE BA (be) -1261 ቡ ETHIOPIC SYLLABLE BU (bu) -1262 ቢ ETHIOPIC SYLLABLE BI (bi) -1263 ባ ETHIOPIC SYLLABLE BAA (ba) -1264 ቤ ETHIOPIC SYLLABLE BEE (bE) -1265 ብ ETHIOPIC SYLLABLE BE (b) -1266 ቦ ETHIOPIC SYLLABLE BO (bo) -1267 ቧ ETHIOPIC SYLLABLE BWA (bWa) -1268 ቨ ETHIOPIC SYLLABLE VA (ve) -1269 ቩ ETHIOPIC SYLLABLE VU (vu) -126A ቪ ETHIOPIC SYLLABLE VI (vi) -126B ቫ ETHIOPIC SYLLABLE VAA (va) -126C ቬ ETHIOPIC SYLLABLE VEE (vE) -126D ቭ ETHIOPIC SYLLABLE VE (v) -126E ቮ ETHIOPIC SYLLABLE VO (vo) -126F ቯ ETHIOPIC SYLLABLE VWA (vWa) -1270 ተ ETHIOPIC SYLLABLE TA (te) -1271 ቱ ETHIOPIC SYLLABLE TU (tu) -1272 ቲ ETHIOPIC SYLLABLE TI (ti) -1273 ታ ETHIOPIC SYLLABLE TAA (ta) -1274 ቴ ETHIOPIC SYLLABLE TEE (tE) -1275 ት ETHIOPIC SYLLABLE TE (t) -1276 ቶ ETHIOPIC SYLLABLE TO (to) -1277 ቷ ETHIOPIC SYLLABLE TWA (tWa) -1278 ቸ ETHIOPIC SYLLABLE CA (ce) -1279 ቹ ETHIOPIC SYLLABLE CU (cu) -127A ቺ ETHIOPIC SYLLABLE CI (ci) -127B ቻ ETHIOPIC SYLLABLE CAA (ca) -127C ቼ ETHIOPIC SYLLABLE CEE (cE) -127D ች ETHIOPIC SYLLABLE CE (c) -127E ቾ ETHIOPIC SYLLABLE CO (co) -127F ቿ ETHIOPIC SYLLABLE CWA (cWa) -1280 ኀ ETHIOPIC SYLLABLE XA (`he) -1281 አETHIOPIC SYLLABLE XU (`hu) -1282 ኂ ETHIOPIC SYLLABLE XI (`hi) -1283 ኃ ETHIOPIC SYLLABLE XAA (`ha) -1284 ኄ ETHIOPIC SYLLABLE XEE (`hE) -1285 ኅ ETHIOPIC SYLLABLE XE (`h) -1286 ኆ ETHIOPIC SYLLABLE XO (`ho) -1287 ኇ -1288 ኈ ETHIOPIC SYLLABLE XWA (hWe) -1289 ኉ -128A ኊ ETHIOPIC SYLLABLE XWI (hWi) -128B ኋ ETHIOPIC SYLLABLE XWAA (hWa) -128C ኌ ETHIOPIC SYLLABLE XWEE (hWE) -128D አETHIOPIC SYLLABLE XWE (hW) -128E ኎ -128F አ-1290 አETHIOPIC SYLLABLE NA (na) -1291 ኑ ETHIOPIC SYLLABLE NU (nu) -1292 ኒ ETHIOPIC SYLLABLE NI (ni) -1293 ና ETHIOPIC SYLLABLE NAA (na) -1294 ኔ ETHIOPIC SYLLABLE NEE (nE) -1295 ን ETHIOPIC SYLLABLE NE (n) -1296 ኖ ETHIOPIC SYLLABLE NO (no) -1297 ኗ ETHIOPIC SYLLABLE NWA (nWa) -1298 ኘ ETHIOPIC SYLLABLE NYA (Ne) -1299 ኙ ETHIOPIC SYLLABLE NYU (Nu) -129A ኚ ETHIOPIC SYLLABLE NYI (Ni) -129B ኛ ETHIOPIC SYLLABLE NYAA (Na) -129C ኜ ETHIOPIC SYLLABLE NYEE (NE) -129D አETHIOPIC SYLLABLE NYE (N) -129E ኞ ETHIOPIC SYLLABLE NYO (No) -129F ኟ ETHIOPIC SYLLABLE NYWA (NWa) -12A0 አ ETHIOPIC SYLLABLE GLOTTAL A (e) -12A1 ኡ ETHIOPIC SYLLABLE GLOTTAL U (u) -12A2 ኢ ETHIOPIC SYLLABLE GLOTTAL I (i) -12A3 ኣ ETHIOPIC SYLLABLE GLOTTAL AA (a) -12A4 ኤ ETHIOPIC SYLLABLE GLOTTAL EE (E) -12A5 እ ETHIOPIC SYLLABLE GLOTTAL E (I) -12A6 ኦ ETHIOPIC SYLLABLE GLOTTAL O (o) -12A7 ኧ ETHIOPIC SYLLABLE GLOTTAL WA (e3) -12A8 ከ ETHIOPIC SYLLABLE KA (ke) -12A9 ኩ ETHIOPIC SYLLABLE KU (ku) -12AA ኪ ETHIOPIC SYLLABLE KI (ki) -12AB ካ ETHIOPIC SYLLABLE KAA (ka) -12AC ኬ ETHIOPIC SYLLABLE KEE (kE) -12AD ክ ETHIOPIC SYLLABLE KE (k) -12AE ኮ ETHIOPIC SYLLABLE KO (ko) -12AF ኯ -12B0 ኰ ETHIOPIC SYLLABLE KWA (kWe) -12B1 ኱ -12B2 ኲ ETHIOPIC SYLLABLE KWI (kWi) -12B3 ኳ ETHIOPIC SYLLABLE KWAA (kWa) -12B4 ኴ ETHIOPIC SYLLABLE KWEE (kWE) -12B5 ኵ ETHIOPIC SYLLABLE KWE (kW) -12B6 ኶ -12B7 ኷ -12B8 ኸ ETHIOPIC SYLLABLE KXA (Ke) -12B9 ኹ ETHIOPIC SYLLABLE KXU (Ku) -12BA ኺ ETHIOPIC SYLLABLE KXI (Ki) -12BB ኻ ETHIOPIC SYLLABLE KXAA (Ka) -12BC ኼ ETHIOPIC SYLLABLE KXEE (KE) -12BD ኽ ETHIOPIC SYLLABLE KXE (K) -12BE ኾ ETHIOPIC SYLLABLE KXO (Ko) -12BF ኿ -12C0 á‹€ ETHIOPIC SYLLABLE KXWA (KWe) -12C1 á‹ -12C2 á‹‚ ETHIOPIC SYLLABLE KXWI (KWi) -12C3 ዃ ETHIOPIC SYLLABLE KXWAA (KWa) -12C4 á‹„ ETHIOPIC SYLLABLE KXWEE (KWE) -12C5 á‹… ETHIOPIC SYLLABLE KXWE (KW) -12E6 ዆ -12C7 ዇ -12C8 ወ ETHIOPIC SYLLABLE WA (we) -12C9 ዉ ETHIOPIC SYLLABLE WU (wu) -12CA á‹Š ETHIOPIC SYLLABLE WI (wi) -12CB á‹‹ ETHIOPIC SYLLABLE WAA (wa) -12CC á‹Œ ETHIOPIC SYLLABLE WEE (wE) -12CD á‹ ETHIOPIC SYLLABLE WE (w) -12CE á‹Ž ETHIOPIC SYLLABLE WO (wo) -12CF á‹ -12D0 á‹ ETHIOPIC SYLLABLE PHARYNGEAL A (`e) -12D1 á‹‘ ETHIOPIC SYLLABLE PHARYNGEAL U (`u) -12D2 á‹’ ETHIOPIC SYLLABLE PHARYNGEAL I (`i) -12D3 á‹“ ETHIOPIC SYLLABLE PHARYNGEAL AA (`a) -12D4 á‹” ETHIOPIC SYLLABLE PHARYNGEAL EE (`E) -12D5 á‹• ETHIOPIC SYLLABLE PHARYNGEAL E (`I) -12D6 á‹– ETHIOPIC SYLLABLE PHARYNGEAL O (`o) -12D7 á‹— -12D8 ዘ ETHIOPIC SYLLABLE ZA (ze) -12D9 á‹™ ETHIOPIC SYLLABLE ZU (zu) -12DA á‹š ETHIOPIC SYLLABLE ZI (zi) -12DB á‹› ETHIOPIC SYLLABLE ZAA (za) -12DC á‹œ ETHIOPIC SYLLABLE ZEE (zE) -12DD á‹ ETHIOPIC SYLLABLE ZE (z) -12DE á‹ž ETHIOPIC SYLLABLE ZO (zo) -12DF á‹Ÿ ETHIOPIC SYLLABLE ZWA (zWa) -12E0 á‹  ETHIOPIC SYLLABLE ZHA (Ze) -12E1 á‹¡ ETHIOPIC SYLLABLE ZHU (Zu) -12E2 á‹¢ ETHIOPIC SYLLABLE ZHI (Zi) -12E3 á‹£ ETHIOPIC SYLLABLE ZHAA (Za) -12E4 ዤ ETHIOPIC SYLLABLE ZHEE (ZE) -12E5 á‹¥ ETHIOPIC SYLLABLE ZHE (Z) -12E6 ዦ ETHIOPIC SYLLABLE ZHO (Zo) -12E7 ዧ ETHIOPIC SYLLABLE ZHWA (ZWa) -12E8 የ ETHIOPIC SYLLABLE YA (ye) -12E9 á‹© ETHIOPIC SYLLABLE YU (yu) -12EA ዪ ETHIOPIC SYLLABLE YI (yi) -12EB á‹« ETHIOPIC SYLLABLE YAA (ya) -12EC ዬ ETHIOPIC SYLLABLE YEE (yE) -12ED á‹­ ETHIOPIC SYLLABLE YE (y) -12EE á‹® ETHIOPIC SYLLABLE YO (yo) -12EF ዯ ETHIOPIC SYLLABLE YWA (yWa) -12F0 á‹° ETHIOPIC SYLLABLE DA (de) -12F1 ዱ ETHIOPIC SYLLABLE DU (du) -12F2 ዲ ETHIOPIC SYLLABLE DI (di) -12F3 ዳ ETHIOPIC SYLLABLE DAA (da) -12F4 á‹´ ETHIOPIC SYLLABLE DEE (dE) -12F5 ድ ETHIOPIC SYLLABLE DE (d) -12F6 ዶ ETHIOPIC SYLLABLE DO (do) -12F7 á‹· ETHIOPIC SYLLABLE DWA (dWa) -12F8 ዸ ETHIOPIC SYLLABLE DDA (De) -12F9 ዹ ETHIOPIC SYLLABLE DDU (Du) -12FA ዺ ETHIOPIC SYLLABLE DDI (Di) -12FB á‹» ETHIOPIC SYLLABLE DDAA (Da) -12FC ዼ ETHIOPIC SYLLABLE DDEE (DE) -12FD ዽ ETHIOPIC SYLLABLE DDE (D) -12FE ዾ ETHIOPIC SYLLABLE DDO (Do) -12FF á‹¿ ETHIOPIC SYLLABLE DDWA (DWa) -1300 ጀ ETHIOPIC SYLLABLE JA (je) -1301 ጠETHIOPIC SYLLABLE JU (ju) -1302 ጂ ETHIOPIC SYLLABLE JI (ji) -1303 ጃ ETHIOPIC SYLLABLE JAA (ja) -1304 ጄ ETHIOPIC SYLLABLE JEE (jE) -1305 ጅ ETHIOPIC SYLLABLE JE (j) -1306 ጆ ETHIOPIC SYLLABLE JO (jo) -1307 ጇ ETHIOPIC SYLLABLE JWA (jWa) -1308 ገ ETHIOPIC SYLLABLE GA (ga) -1309 ጉ ETHIOPIC SYLLABLE GU (gu) -130A ጊ ETHIOPIC SYLLABLE GI (gi) -130B ጋ ETHIOPIC SYLLABLE GAA (ga) -130C ጌ ETHIOPIC SYLLABLE GEE (gE) -130D ጠETHIOPIC SYLLABLE GE (g) -130E ጎ ETHIOPIC SYLLABLE GO (go) -130F ጠ-1310 ጠETHIOPIC SYLLABLE GWU (gWu) -1311 ጑ -1312 ጒ ETHIOPIC SYLLABLE GWI (gWi) -1313 ጓ ETHIOPIC SYLLABLE GWAA (gWa) -1314 ጔ ETHIOPIC SYLLABLE GWEE (gWE) -1315 ጕ ETHIOPIC SYLLABLE GWE (gW) -1316 ጖ -1317 ጗ -1318 ጘ ETHIOPIC SYLLABLE GGA (Ge) -1319 ጙ ETHIOPIC SYLLABLE GGU (Gu) -131A ጚ ETHIOPIC SYLLABLE GGI (Gi) -131B ጛ ETHIOPIC SYLLABLE GGAA (Ga) -131C ጜ ETHIOPIC SYLLABLE GGEE (GE) -131D ጠETHIOPIC SYLLABLE GGE (G) -131E ጞ ETHIOPIC SYLLABLE GGO (Go) -131F ጟ ETHIOPIC SYLLABLE GGWA (GWa) -1320 ጠ ETHIOPIC SYLLABLE THA (Te) -1321 ጡ ETHIOPIC SYLLABLE THU (Tu) -1322 ጢ ETHIOPIC SYLLABLE THI (Ti) -1323 ጣ ETHIOPIC SYLLABLE THAA (Ta) -1324 ጤ ETHIOPIC SYLLABLE THEE (TE) -1325 ጥ ETHIOPIC SYLLABLE THE (T) -1326 ጦ ETHIOPIC SYLLABLE THO (To) -1327 ጧ ETHIOPIC SYLLABLE THWA (TWa) -1328 ጨ ETHIOPIC SYLLABLE CHA (Ce) -1329 ጩ ETHIOPIC SYLLABLE CHU (Ca) -132A ጪ ETHIOPIC SYLLABLE CHI (Cu) -132B ጫ ETHIOPIC SYLLABLE CHAA (Ca) -132C ጬ ETHIOPIC SYLLABLE CHEE (CE) -132D ጭ ETHIOPIC SYLLABLE CHE (C) -132E ጮ ETHIOPIC SYLLABLE CHO (Co) -132F ጯ ETHIOPIC SYLLABLE CHWA (CWa) -1330 ጰ ETHIOPIC SYLLABLE PHA (Pe) -1331 ጱ ETHIOPIC SYLLABLE PHU (Pu) -1332 ጲ ETHIOPIC SYLLABLE PHI (Pi) -1333 ጳ ETHIOPIC SYLLABLE PHAA (Pa) -1334 ጴ ETHIOPIC SYLLABLE PHEE (PE) -1335 ጵ ETHIOPIC SYLLABLE PHE (P) -1336 ጶ ETHIOPIC SYLLABLE PHO (Po) -1337 ጷ ETHIOPIC SYLLABLE PHWA (PWa) -1338 ጸ ETHIOPIC SYLLABLE TSA (SWe) -1339 ጹ ETHIOPIC SYLLABLE TSU (SWu) -133A ጺ ETHIOPIC SYLLABLE TSI (SWi) -133B ጻ ETHIOPIC SYLLABLE TSAA (SWa) -133C ጼ ETHIOPIC SYLLABLE TSEE (SWE) -133D ጽ ETHIOPIC SYLLABLE TSE (SW) -133E ጾ ETHIOPIC SYLLABLE TSO (SWo) -133F ጿ ETHIOPIC SYLLABLE TSWA (SWa) -1340 ဠETHIOPIC SYLLABLE TZA (`Sa) -1341 á ETHIOPIC SYLLABLE TZU (`Su) -1342 á‚ ETHIOPIC SYLLABLE TZI (`Si) -1343 რETHIOPIC SYLLABLE TZAA (`Sa) -1344 á„ ETHIOPIC SYLLABLE TZEE (`SE) -1345 á… ETHIOPIC SYLLABLE TZE (`S) -1346 ᆠETHIOPIC SYLLABLE TZO (`So) -1347 ᇠ-1348 ሠETHIOPIC SYLLABLE FA (fa) -1349 በETHIOPIC SYLLABLE FU (fu) -134A አETHIOPIC SYLLABLE FI (fi) -134B á‹ ETHIOPIC SYLLABLE FAA (fa) -134C ጠETHIOPIC SYLLABLE FEE (fE) -134D á ETHIOPIC SYLLABLE FE (f) -134E ᎠETHIOPIC SYLLABLE FO (fo) -134F á ETHIOPIC SYLLABLE FWA (fWa) -1350 á ETHIOPIC SYLLABLE PA (pe) -1351 á‘ ETHIOPIC SYLLABLE PU (pu) -1352 á’ ETHIOPIC SYLLABLE PI (pi) -1353 á“ ETHIOPIC SYLLABLE PAA (pa) -1354 á” ETHIOPIC SYLLABLE PEE (pE) -1355 á• ETHIOPIC SYLLABLE PE (p) -1356 á– ETHIOPIC SYLLABLE PO (po) -1357 á— ETHIOPIC SYLLABLE PWA (pWa) -1358 ᘠETHIOPIC SYLLABLE MYA (mYa) -1359 á™ ETHIOPIC SYLLABLE RYA (rYa) -135A áš ETHIOPIC SYLLABLE FYA (fYa) -135B á› -135C ᜠ-135D á -135E áž -135F ០-1360 á  ETHIOPIC SPACE -1361 á¡ ETHIOPIC WORDSPACE (:) -1362 ᢠETHIOPIC FULL STOP (::) -1363 ᣠETHIOPIC COMMA (,) -1364 ᤠETHIOPIC SEMICOLON (;) -1365 ᥠETHIOPIC COLON (-:) -1366 ᦠETHIOPIC PREFACE COLON (:-) -1367 ᧠ETHIOPIC QUESTION MARK (`?) -1368 ᨠETHIOPIC PARAGRAPH SEPARATOR (:|:) -1369 á© ETHIOPIC DIGIT ONE (`1) -136A ᪠ETHIOPIC DIGIT TWO (`2) -136B á« ETHIOPIC DIGIT THREE (`3) -136C ᬠETHIOPIC DIGIT FOUR (`4) -136D á­ ETHIOPIC DIGIT FIVE (`5) -136E á® ETHIOPIC DIGIT SIX (`6) -136F ᯠETHIOPIC DIGIT SEVEN (`7) -1370 á° ETHIOPIC DIGIT EIGHT (`8) -1371 á± ETHIOPIC DIGIT NINE (`9) -1372 á² ETHIOPIC NUMBER TEN (`10) -1373 á³ ETHIOPIC NUMBER TWENTY (`20) -1374 á´ ETHIOPIC NUMBER THIRTY (`30) -1375 áµ ETHIOPIC NUMBER FORTY (`40) -1376 ᶠETHIOPIC NUMBER FIFTY (`50) -1377 á· ETHIOPIC NUMBER SIXTY (`60) -1378 ḠETHIOPIC NUMBER SEVENTY (`70) -1379 á¹ ETHIOPIC NUMBER EIGHTY (`80) -137A ẠETHIOPIC NUMBER NINETY (`90) -137B á» ETHIOPIC NUMBER HUNDRED (`100) -137C á¼ ETHIOPIC NUMBER TEN THOUSAND (`10000) diff -Nru console-tools-0.2.3/fontfiletools/fonts2virfont.c console-tools-0.2.3/fontfiletools/fonts2virfont.c --- console-tools-0.2.3/fontfiletools/fonts2virfont.c 1999-04-08 21:29:40.000000000 +0000 +++ console-tools-0.2.3/fontfiletools/fonts2virfont.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,113 +0,0 @@ -/* - * Usage: - * - * fonts2virfont { font [ + unimap ] }* > virfontfile - * - */ - -#include <stdio.h> -#include <stdlib.h> - -#include <lct/local.h> -#include "virfont.h" - -char* progname; -struct unifont* fonts; -int fontscount; - - -void usage() -{ - version(); - - fprintf (stderr, - "Usage: " - " %s font [ + unimap ] [ font [ + ... ]] ... \n\n", - progname); -} - - -int parse_command_line(int argc, char* argv[], int do_fill) -{ - int i, my_fontscount; - int seq_read; /* how much was read in a font [ + unimap ] sequence */ - - /* scan args for fonts count */ - for (i = 1, my_fontscount = 0, seq_read = 0; i < argc; i++) - { - if (strcmp(argv[i], "+")) - { - switch (seq_read) - { - case 0: /* font name */ - case 1: /* is another font, instead of "+" */ - my_fontscount++; - seq_read = 1; - if (do_fill) - { - fonts[my_fontscount-1].fontfilename = argv[i]; - } - break; - case 2: /* unimap name */ - seq_read = 0; - if (do_fill) - { - fonts[my_fontscount-1].mapfilename = argv[i]; - } - break; - default: - fprintf (stderr, "Wow, compiler bug !\nExiting...\n"); - exit (EX_SOFTWARE); - } - } - else /* "+" */ - { - switch (seq_read) - { - case 1: /* just read a font name, next will be unimap */ - seq_read ++; - break; - default: /* "+" as unimap name, or as font name */ - badusage("misplaced `+' character on command line"); - } - } - } - - return my_fontscount; -} - - -void dumpfonts() -{ - int i; - - for (i=0; i < fontscount; i++) - fprintf (stderr, "%s + %s\n", fonts[i].fontfilename, fonts[i].mapfilename); -} - - -void main (int argc, char* argv[]) -{ - int i; - struct virchar* virfont; - - progname = strip_path(argv[0]); - - - /* get input fonts count */ - fontscount = parse_command_line (argc, argv, 0); - - if ((argc==1) || (fontscount < 2)) - badusage("wrong number of args"); - - - /* base storage structure */ - fonts = (struct unifont*)calloc(fontscount, sizeof (struct unifont)); - - /* fill it */ - parse_command_line (argc, argv, 1); - - dumpfonts(); - - exit (EX_OK); -} diff -Nru console-tools-0.2.3/fontfiletools/Makefile.am console-tools-0.2.3/fontfiletools/Makefile.am --- console-tools-0.2.3/fontfiletools/Makefile.am 1999-04-08 21:29:40.000000000 +0000 +++ console-tools-0.2.3/fontfiletools/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -# -*- makefile -*- - -AUTOMAKE_OPTIONS = foreign -INCLUDES = -I$(top_srcdir)/include - -bin_PROGRAMS = psfaddtable psfgettable psfstriptable - -EXTRA_DIST = fonts2virfont.c virfont.h -# noinst_PROGRAMS = fonts2virfont - -LDADD = ../lib/libctlocal.a ../lib/libcfont.la ../lib/libctutils.la - diff -Nru console-tools-0.2.3/fontfiletools/Makefile.in console-tools-0.2.3/fontfiletools/Makefile.in --- console-tools-0.2.3/fontfiletools/Makefile.in 1999-10-25 20:58:07.000000000 +0000 +++ console-tools-0.2.3/fontfiletools/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,374 +0,0 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# -*- makefile -*- - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AS = @AS@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -COMPAT = @COMPAT@ -DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ -FONTDIR = @FONTDIR@ -GENCAT = @GENCAT@ -GMOFILES = @GMOFILES@ -GMSGFMT = @GMSGFMT@ -GT_NO = @GT_NO@ -GT_YES = @GT_YES@ -INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ -INSTOBJEXT = @INSTOBJEXT@ -INTLDEPS = @INTLDEPS@ -INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -KEYCODES = @KEYCODES@ -KEYMAPDIR = @KEYMAPDIR@ -LD = @LD@ -LEX = @LEX@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LOADKEYS = @LOADKEYS@ -MAKEINFO = @MAKEINFO@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -NM = @NM@ -OBJDUMP = @OBJDUMP@ -PACKAGE = @PACKAGE@ -POFILES = @POFILES@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -RESIZECONS = @RESIZECONS@ -TRANSDIR = @TRANSDIR@ -UNICODEDATA = @UNICODEDATA@ -UNICODELISTS = @UNICODELISTS@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -VIDEOMODEDIR = @VIDEOMODEDIR@ -YACC = @YACC@ -l = @l@ -translit = @translit@ - -AUTOMAKE_OPTIONS = foreign -INCLUDES = -I$(top_srcdir)/include - -bin_PROGRAMS = psfaddtable psfgettable psfstriptable - -EXTRA_DIST = fonts2virfont.c virfont.h -# noinst_PROGRAMS = fonts2virfont - -LDADD = ../lib/libctlocal.a ../lib/libcfont.la ../lib/libctutils.la -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = -PROGRAMS = $(bin_PROGRAMS) - - -DEFS = @DEFS@ -I. -I$(srcdir) -I.. -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -psfaddtable_SOURCES = psfaddtable.c -psfaddtable_OBJECTS = psfaddtable.o -psfaddtable_LDADD = $(LDADD) -psfaddtable_DEPENDENCIES = ../lib/libctlocal.a ../lib/libcfont.la \ -../lib/libctutils.la -psfaddtable_LDFLAGS = -psfgettable_SOURCES = psfgettable.c -psfgettable_OBJECTS = psfgettable.o -psfgettable_LDADD = $(LDADD) -psfgettable_DEPENDENCIES = ../lib/libctlocal.a ../lib/libcfont.la \ -../lib/libctutils.la -psfgettable_LDFLAGS = -psfstriptable_SOURCES = psfstriptable.c -psfstriptable_OBJECTS = psfstriptable.o -psfstriptable_LDADD = $(LDADD) -psfstriptable_DEPENDENCIES = ../lib/libctlocal.a ../lib/libcfont.la \ -../lib/libctutils.la -psfstriptable_LDFLAGS = -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -DIST_COMMON = Makefile.am Makefile.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -SOURCES = psfaddtable.c psfgettable.c psfstriptable.c -OBJECTS = psfaddtable.o psfgettable.o psfstriptable.o - -all: all-redirect -.SUFFIXES: -.SUFFIXES: .S .c .lo .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps fontfiletools/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -mostlyclean-binPROGRAMS: - -clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) - -distclean-binPROGRAMS: - -maintainer-clean-binPROGRAMS: - -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - if test -f $$p; then \ - echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ - $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - list='$(bin_PROGRAMS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ - done - -.c.o: - $(COMPILE) -c $< - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< - -mostlyclean-compile: - -rm -f *.o core *.core - -clean-compile: - -distclean-compile: - -rm -f *.tab.c - -maintainer-clean-compile: - -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -maintainer-clean-libtool: - -psfaddtable: $(psfaddtable_OBJECTS) $(psfaddtable_DEPENDENCIES) - @rm -f psfaddtable - $(LINK) $(psfaddtable_LDFLAGS) $(psfaddtable_OBJECTS) $(psfaddtable_LDADD) $(LIBS) - -psfgettable: $(psfgettable_OBJECTS) $(psfgettable_DEPENDENCIES) - @rm -f psfgettable - $(LINK) $(psfgettable_LDFLAGS) $(psfgettable_OBJECTS) $(psfgettable_LDADD) $(LIBS) - -psfstriptable: $(psfstriptable_OBJECTS) $(psfstriptable_DEPENDENCIES) - @rm -f psfstriptable - $(LINK) $(psfstriptable_LDFLAGS) $(psfstriptable_OBJECTS) $(psfstriptable_LDADD) $(LIBS) - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) - -mostlyclean-tags: - -clean-tags: - -distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = fontfiletools - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - -info-am: -info: info-am -dvi-am: -dvi: dvi-am -check-am: all-am -check: check-am -installcheck-am: -installcheck: installcheck-am -install-exec-am: install-binPROGRAMS -install-exec: install-exec-am - -install-data-am: -install-data: install-data-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: uninstall-binPROGRAMS -uninstall: uninstall-am -all-am: Makefile $(PROGRAMS) -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - $(mkinstalldirs) $(DESTDIR)$(bindir) - - -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: -mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \ - mostlyclean-libtool mostlyclean-tags \ - mostlyclean-generic - -mostlyclean: mostlyclean-am - -clean-am: clean-binPROGRAMS clean-compile clean-libtool clean-tags \ - clean-generic mostlyclean-am - -clean: clean-am - -distclean-am: distclean-binPROGRAMS distclean-compile distclean-libtool \ - distclean-tags distclean-generic clean-am - -rm -f libtool - -distclean: distclean-am - -maintainer-clean-am: maintainer-clean-binPROGRAMS \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-tags maintainer-clean-generic \ - distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-am - -.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ -maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ -mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool tags mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ -dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ -install-exec install-data-am install-data install-am install \ -uninstall-am uninstall all-redirect all-am all installdirs \ -mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru console-tools-0.2.3/fontfiletools/psfaddtable.c console-tools-0.2.3/fontfiletools/psfaddtable.c --- console-tools-0.2.3/fontfiletools/psfaddtable.c 1999-04-08 22:11:12.000000000 +0000 +++ console-tools-0.2.3/fontfiletools/psfaddtable.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,213 +0,0 @@ -/* - * psfaddtable.c - * - * Add a Unicode character table to a PSF font - * - * Copyright (C) 1994 H. Peter Anvin - * - * This program may be freely copied under the terms of the GNU - * General Public License (GPL), version 2, or at your option - * any later version. - * - * Added input ranges, aeb. - * 1997/08, ydi: moved reusable parts into psf.c - */ - -#include <stdio.h> -#include <stdlib.h> -#include <sysexits.h> -#include <string.h> -#include <ctype.h> -#include <getopt.h> - -#include <lct/font.h> -#include <lct/local.h> - -int verbose; - -static void usage(char *progname) -{ - printf(_("Usage: %s psffont_in sfm_file [psffont_out]\n" - "Add a Unicode character table to a PSF font\n"), progname); - OPTIONS_ARE(); - OPT("-f --font=f ", _("input psffont filename")); - OPT("-s --sfm=f ", _("screen-font-map filename")); - OPT("-o --outfile=f ", _("output psffont filename")); - - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - -static void parse_cmdline (int argc, char *argv[], - char **infile, char **tblname, char **outfile) -{ - char *progname = strip_path (argv[0]); - const struct option long_opts[] = { - { "sfm", 1, NULL, 's' }, - { "outfile", 1, NULL, 'o' }, - { "font", 1, NULL, 'f' }, - { "version" , 0 , NULL, 'V'}, - { "help", 0, NULL, 'h' }, - { NULL, 0, NULL, 0 } - }; - int c; - - *infile = NULL; - *outfile = NULL; - *tblname = NULL; - - while ( (c = getopt_long (argc, argv, "Vhs:f:o:", long_opts, NULL)) != EOF) { - switch (c) { - case 'h': - usage(progname); - exit(0); - case 'V': - version(progname); - exit(0); - case 's': - *tblname = optarg; - break; - case 'o': - *outfile = optarg; - break; - case 'f': - *infile = optarg; - break; - case '?': - usage(progname); - exit(1); - } - } - - if (!*infile) { - if (optind < argc) { - *infile = argv[optind++]; - } else { - fprintf (stderr, _("%s: wrong number of arguments\n"), - progname); - exit (1); - } - } - - if (!*tblname) { - if (optind < argc ) { - *tblname = argv[optind++]; - } else { - fprintf (stderr, _("%s: wrong number of arguments\n"), - progname); - exit (1); - } - } - - if (!*outfile) { - if (optind < argc ) - *outfile = argv[optind]; - else - *outfile = "stdout"; - } - - /* handle stdin */ - if (!strcmp(*infile,"-")) - *infile = "stdin"; - if (!strcmp(*tblname,"-") && !strcmp(*infile,"stdin")) { - fprintf (stderr, _("%s: psffont and chartable cannot both be stdin\n"), - progname); - exit(1); - } - if (!strcmp (*tblname,"-")) - *tblname = "stdin"; -} - - -int main(int argc, char *argv[]) -{ - FILE *in, *ctbl, *out, *mapf; - char pathname[1024]; - char *inname, *tblname, *outfile; - char buffer[65536]; - struct unimapdesc map; -/* struct unicode_list *unilist[512];*/ - struct psf_header psfhdr; - size_t fontlen; - - setuplocale(); - - parse_cmdline (argc, argv, &inname, &tblname, &outfile); - - /* open font */ - if (!strcmp (inname,"stdin")) - in = stdin; - else { - in = fopen(inname, "r"); - if ( !in ) - { - perror(inname); - exit(EX_NOINPUT); - } - } - - /* open table file */ - if (!strcmp (tblname,"stdin")) - ctbl = stdout; - else { - ctbl = fopen(tblname, "r"); - if ( !ctbl ) - { - perror(tblname); - exit(EX_NOINPUT); - } - } - - /* open output file */ - if (!strcmp (outfile,"stdout")) - out = stdout; - else - { - out = fopen(outfile, "w"); - if ( !out ) - { - perror(outfile); - exit(EX_CANTCREAT); - } - } - - if (-1 == psf_header_read (in, &psfhdr)) - perror("psf_header_read"), exit(EX_DATAERR); - - fontlen = ( PSF_MODE_HAS512(psfhdr.mode) ) ? 512 : 256; - - /* Copy font data */ - if ( fread(buffer, psfhdr.charheight, fontlen, in) < fontlen ) - { - perror(inname); - exit(EX_DATAERR); - } - fclose(in); /* Done with input */ - - /* Set has-table bit in mode field, and copy to output */ - - if (PSF_MODE_HAS512(psfhdr.mode)) - psfhdr.mode = PSF_MODE512SFM; - else - psfhdr.mode = PSF_MODE256SFM; - fwrite(&psfhdr, sizeof(struct psf_header), 1, out); - fwrite(buffer, psfhdr.charheight, fontlen, out); - - if (NULL == (mapf = findsfm(tblname, pathname, sizeof(pathname), - stdin, NULL))) - perror("findsfm"), exit (1); - - if (verbose) fprintf (stderr, _("Loading unicode map from %s.\n"), pathname); - if (sfm_read_ascii (mapf, &map, fontlen)) - perror ("sfm_read_ascii"), exit (EX_DATAERR); - - /* Okay, now glyph table should be read */ - - fclose(ctbl); - - sfm_write_binary (out, &map, fontlen); - - fclose(out); - - exit(EX_OK); -} diff -Nru console-tools-0.2.3/fontfiletools/psfgettable.c console-tools-0.2.3/fontfiletools/psfgettable.c --- console-tools-0.2.3/fontfiletools/psfgettable.c 1999-04-08 22:11:12.000000000 +0000 +++ console-tools-0.2.3/fontfiletools/psfgettable.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,172 +0,0 @@ -/* - * psfgettable.c - * - * Extract a Unicode character table from a PSF font - * - * Copyright (C) 1994 H. Peter Anvin - * - * This program may be freely copied under the terms of the GNU - * General Public License (GPL), version 2, or at your option - * any later version. - * - * 1997/08, ydi: moved reusable parts into psf.c - */ - -#include <stdio.h> -#include <stdlib.h> -#include <sysexits.h> -#include <string.h> -#include <getopt.h> - -#include <lct/font.h> -#include <lct/local.h> - -static void usage(char *progname) -{ - printf(_("Usage: %s psffont chartable [outfile]\n" - "Extract a Unicode character table from a PSF font\n"), progname); - OPTIONS_ARE(); - OPT("-f --font=f ", _("psffont filename")); - OPT("-o --outfile=f ", _("output filename")); - - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - -static void parse_cmdline (int argc, char *argv[], - char **infile, char **outfile) -{ - char *progname = strip_path (argv[0]); - const struct option long_opts[] = { - { "outfile", 1, NULL, 'o' }, - { "font", 1, NULL, 'f' }, - { "version" , 0 , NULL, 'V'}, - { "help", 0, NULL, 'h' }, - { NULL, 0, NULL, 0 } - }; - int c; - - *infile = NULL; - *outfile = NULL; - - while ( (c = getopt_long (argc, argv, "Vhf:o:", long_opts, NULL)) != EOF) { - switch (c) { - case 'h': - usage(progname); - exit(0); - case 'V': - version(progname); - exit(0); - case 'o': - *outfile = optarg; - break; - case 'f': - *infile = optarg; - break; - case '?': - usage(progname); - exit(1); - } - } - - if (!*infile) { - if (optind < argc) { - *infile = argv[optind++]; - } else { - fprintf (stderr, _("%s: wrong number of arguments\n"), - progname); - exit (1); - } - } - - if (!*outfile) { - if (optind < argc ) - *outfile = argv[optind]; - else - *outfile = "stdout"; - } - - /* handle stdin */ - if (!strcmp(*infile,"-")) - *infile = "stdin"; -} - - -int main(int argc, char *argv[]) -{ - FILE *in, *out; - char *inname, *outname; - struct psf_header psfhdr; - int glyph; - unicode unichar; - int fontlen; - - setuplocale(); - - parse_cmdline (argc, argv, &inname, &outname); - - if (!strcmp(inname,"stdin")) - in = stdin; - else - { - in = fopen(inname, "r"); - if ( !in ) - { - perror(inname); - exit(EX_NOINPUT); - } - } - - if (!strcmp(outname,"stdout")) - out = stdout; - else - { - out = fopen(outname, "w"); - if ( !out ) - { - perror(outname); - exit(EX_CANTCREAT); - } - } - - if (-1 == psf_header_read (in, &psfhdr)) - perror("psf_header_read"), exit(EX_DATAERR); - - fontlen = ( PSF_MODE_HAS512(psfhdr.mode) ) ? 512 : 256; - - if ( ! (PSF_MODE_HASSFM(psfhdr.mode)) ) - { - fprintf(stderr, _("%s: Font has no character table\n"), inname); - exit(EX_DATAERR); - } - - /* Skip font data */ - if ( fseek(in, psfhdr.charheight * fontlen, SEEK_CUR) == -1) - { - perror(inname); - exit(EX_DATAERR); - } - - /* Copy table */ - - fprintf(out, "#\n# Character table extracted from font %s\n#\n", inname); - - for ( glyph = 0 ; glyph < fontlen ; glyph++ ) - { - if ( fontlen <= 256 ) - fprintf(out, "0x%02x\t", glyph); - else - fprintf(out, "0x%03x\t", glyph); - - while ( fread(&unichar, sizeof(unicode), 1, in), - unichar != PSF_SEPARATOR ) - fprintf(out, " U+%04x", unichar); - - putc('\n', out); - } - - fclose(in); - fclose(out); - - exit(EX_OK); -} diff -Nru console-tools-0.2.3/fontfiletools/psfstriptable.c console-tools-0.2.3/fontfiletools/psfstriptable.c --- console-tools-0.2.3/fontfiletools/psfstriptable.c 1999-04-08 22:11:12.000000000 +0000 +++ console-tools-0.2.3/fontfiletools/psfstriptable.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,163 +0,0 @@ -/* - * psfstriptable.c - * - * Strip Unicode character table from a PSF font - * - * Copyright (C) 1994 H. Peter Anvin - * - * This program may be freely copied under the terms of the GNU - * General Public License (GPL), version 2, or at your option - * any later version. - * - * fix, aeb, 970316 - * 1997/08, ydi: moved reusable parts into libconsole - */ - -#include <stdio.h> -#include <stdlib.h> -#include <sysexits.h> -#include <string.h> -#include <getopt.h> - -#include <lct/font.h> -#include <lct/local.h> - - -static void usage(char *progname) -{ - printf(_("Usage: %s [options] psffont [outfile]\n" - "Strip Unicode character table from a PSF font\n"), progname); - OPTIONS_ARE(); - OPT("-f --font=f ", _("psffont filename")); - OPT("-o --outfile=f ", _("output filename")); - - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - -static void parse_cmdline (int argc, char *argv[], - char **infile, char **outfile) -{ - char *progname = strip_path (argv[0]); - const struct option long_opts[] = { - { "outfile", 1, NULL, 'o' }, - { "font", 1, NULL, 'f' }, - { "version" , 0 , NULL, 'V'}, - { "help", 0, NULL, 'h' }, - { NULL, 0, NULL, 0 } - }; - int c; - - *infile = NULL; - *outfile = NULL; - - while ( (c = getopt_long (argc, argv, "Vhf:o:", long_opts, NULL)) != EOF) { - switch (c) { - case 'h': - usage(progname); - exit(0); - case 'V': - version(progname); - exit(0); - case 'o': - *outfile = optarg; - break; - case 'f': - *infile = optarg; - break; - case '?': - usage(progname); - exit(1); - } - } - - if (!*infile) { - if (optind < argc) { - *infile = argv[optind++]; - } else { - fprintf (stderr, _("%s: wrong number of arguments\n"), - progname); - exit (1); - } - } - - if (!*outfile) { - if (optind < argc ) - *outfile = argv[optind]; - else - *outfile = "stdout"; - } - - /* handle stdin */ - if (!strcmp(*infile,"-")) - *infile = "stdin"; -} - -int main(int argc, char *argv[]) -{ - FILE *in, *out; - char *inname, *outname; - struct psf_header psfhdr; - size_t fontlen; - char buffer[65536]; /* Font data, is scratch only */ - - setuplocale(); - - parse_cmdline (argc, argv, &inname, &outname); - - if (!strcmp(inname,"stdin")) - in = stdin; - else - { - in = fopen(inname, "r"); - if ( !in ) - { - perror(inname); - exit(EX_NOINPUT); - } - } - - /* open output file */ - if (!strcmp (outname, "stdout")) - out = stdout; - else - { - out = fopen(outname, "w"); - if ( !out ) - { - perror(outname); - exit(EX_CANTCREAT); - } - } - - if (-1 == psf_header_read (in, &psfhdr)) - perror("psf_header_read"), exit(EX_DATAERR); - - fontlen = ( PSF_MODE_HAS512(psfhdr.mode) ) ? 512 : 256; - - if ( ! (PSF_MODE_HASSFM(psfhdr.mode)) ) - { - fprintf(stderr, _("%s: Font already had no character table\n"), inname); - } - - if (PSF_MODE_HAS512(psfhdr.mode)) - psfhdr.mode = PSF_MODE512NOSFM; - else - psfhdr.mode = PSF_MODE256NOSFM; - - /* Read font data */ - if ( fread(buffer, psfhdr.charheight, fontlen, in) < fontlen ) - { - perror(inname); - exit(EX_DATAERR); - } - - fclose(in); - - /* Write new font file */ - fwrite(&psfhdr, sizeof(struct psf_header), 1, out); - fwrite(buffer, psfhdr.charheight, fontlen, out); - fclose(out); - - exit(EX_OK); -} diff -Nru console-tools-0.2.3/fontfiletools/virfont.h console-tools-0.2.3/fontfiletools/virfont.h --- console-tools-0.2.3/fontfiletools/virfont.h 1999-04-08 21:29:40.000000000 +0000 +++ console-tools-0.2.3/fontfiletools/virfont.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -#ifndef _LCT_VIRFONT_H -#define _LCT_VIRFONT_H - -#include <linux/kd.h> - -#include <lct/font.h> - -struct virchar -{ - struct unifont *src_font; - unsigned long src_index; -}; - -#endif /* _LCT_VIRFONT_H */ diff -Nru console-tools-0.2.3/include/lct/console.h console-tools-0.2.3/include/lct/console.h --- console-tools-0.2.3/include/lct/console.h 1999-10-25 20:19:14.000000000 +0000 +++ console-tools-0.2.3/include/lct/console.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,135 +0,0 @@ -#ifndef _LCT_CONSOLE_H -#define _LCT_CONSOLE_H - -#include <stdio.h> -#include <linux/kd.h> -#include <lct/unicode.h> -#include <lct/font.h> - -/* - * Default keymap, and where the kernel copy of it lives. - */ -#ifdef sparc -# define DEFKMAP "sunkeymap" -# define KERNDIR "/usr/src/linux/drivers/sbus/char" -#else -# define DEFKMAP "defkeymap" -# define KERNDIR "/usr/src/linux/drivers/char" -#endif - -/* misc-console-utils.c */ -int is_a_console(int fd); -int get_console_fd(char* tty_name); -int acm_activate(int tty_fd, int g_set); - -/* from acm.c */ -void saveoldmap (int fd, char* omfil); -int screen_map_load (int fd, FILE *fp); -int uni_screen_map_read_ascii (FILE *fp, unicode buf[], int *is_unicode); -int old_screen_map_read_ascii (FILE *fp, unsigned char buf[]); - -/* from saveunimap.c */ -void saveunicodemap(int fd, char *oufil, int verbose, int no_act); - -/* unimap-misc.c */ -int set_kernel_unimap(int fd, struct unimapdesc *); -int get_kernel_unimap(int fd, struct unimapdesc *); - -/* kernelfont.c */ -cfontdesc* get_kernel_font(int fd); -int set_kernel_font(int fd, cfontdesc *); -void restore_rom_font(int fd); - -/* testUTF8.c */ -int is_in_UTF8_mode (int fd); - - -/* - * provide kernel defs for compatibility - */ - -/* - * Linux pre-0.96 introduced, and 1.1.63 removed the defines - * #define GIO_FONT8x8 0x4B28 - * #define PIO_FONT8x8 0x4B29 - * #define GIO_FONT8x14 0x4B2A - * #define PIO_FONT8x14 0x4B2B - * #define GIO_FONT8x16 0x4B2C - * #define PIO_FONT8x16 0x4B2D - * but these ioctls have never been implemented. - */ - -/* - * Linux 0.99.15 introduces the GIO_FONT and PIO_FONT ioctls. - * Usage: - char buf[8192]; - ioctl(fd, GIO_FONT, buf); - * to get 256*32=8192 bytes of data for 256 characters, - * 32 for each symbol, of which only the first H are used - * for an 8xH font. - * Changes in use: 1.1.74: you have to be root for PIO_FONT. - */ -#ifndef GIO_FONT -# define GIO_FONT 0x4B60 /* gets font in expanded form */ -# define PIO_FONT 0x4B61 /* use font in expanded form */ -#endif - -/* - * Linux 1.3.1 introduces 512-character fonts and the - * GIO_FONTX and PIO_FONTX ioctls to read and load them. - * The PIO_FONTX ioctl also adjusts screen character height. - * Usage: - char buf[16384]; - struct consolefontdesc cfd; - cfd.charcount = fontsize; - cfd.charheight = height; - cfd.chardata = buf; - ioctl(fd, PIO_FONTX, &cfd); - * and - char buf[32*N]; - cfd.charcount = N; - cfd.chardata = buf; - ioctl(fd, GIO_FONTX, &cfd); - * (where the ioctl will fail if N was too small); - * the ioctl fills cfd.charcount and cfd.charheight. - * With GIO_FONTX, the chardata pointer may be NULL. - * The old GIO_FONT will fail if the fontsize is 512. - */ -#ifndef GIO_FONTX -# define GIO_FONTX 0x4B6B /* get font using struct consolefontdesc */ -# define PIO_FONTX 0x4B6C /* set font using struct consolefontdesc */ -struct consolefontdesc { - unsigned short charcount; /* characters in font (256 or 512) */ - unsigned short charheight; /* scan lines per character (1-32) */ - char *chardata; /* font data in expanded form */ -}; -#endif - -/* - * Linux 2.1.111 introduces the KDFONTOP ioctl. - * Details of use have changed a bit in 2.1.111-115,124. - * Usage: - struct console_font_op cfo; - ioctl(fd, KDFONTOP, &cfo); - */ -#ifndef KDFONTOP -# define KDFONTOP 0x4B72 /* font operations */ - -struct console_font_op { - unsigned int op; /* operation code KD_FONT_OP_* */ - unsigned int flags; /* KD_FONT_FLAG_* */ - unsigned int width, height; /* font size */ - unsigned int charcount; - unsigned char *data; /* font data with height fixed to 32 */ -}; - -# define KD_FONT_OP_SET 0 /* Set font */ -# define KD_FONT_OP_GET 1 /* Get font */ -# define KD_FONT_OP_SET_DEFAULT 2 /* Set font to default, data points to name / NULL */ -# define KD_FONT_OP_COPY 3 /* Copy from another console */ - -# define KD_FONT_FLAG_DONT_RECALC 1 /* Don't call adjust_height() */ - /* (Used internally for PIO_FONT support) */ -#endif - -#endif /* _LCT_CONSOLE_H */ diff -Nru console-tools-0.2.3/include/lct/cyrillic.syms.h console-tools-0.2.3/include/lct/cyrillic.syms.h --- console-tools-0.2.3/include/lct/cyrillic.syms.h 1999-04-08 21:29:42.000000000 +0000 +++ console-tools-0.2.3/include/lct/cyrillic.syms.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,98 +0,0 @@ -char *koi8_r_syms[] = { /* 160-255 */ - "", /* 0240 */ - "", - "", - "cyrillic_small_letter_io", - "", - "", - "", - "", - "", /* 0250 */ - "", - "", - "", - "", - "", - "", - "", - "", /* 0260 */ - "", - "", - "cyrillic_capital_letter_io", - "", - "", - "", - "", - "", /* 0270 */ - "", - "", - "", - "", - "", - "", - "copyright", - "cyrillic_small_letter_yu", /* 0300 */ - "cyrillic_small_letter_a", - "cyrillic_small_letter_be", - "cyrillic_small_letter_tse", - "cyrillic_small_letter_de", - "cyrillic_small_letter_ie", - "cyrillic_small_letter_ef", - "cyrillic_small_letter_ghe", - "cyrillic_small_letter_ha", /* 0310 */ - "cyrillic_small_letter_i", - "cyrillic_small_letter_short_i", - "cyrillic_small_letter_ka", - "cyrillic_small_letter_el", - "cyrillic_small_letter_em", - "cyrillic_small_letter_en", - "cyrillic_small_letter_o", - "cyrillic_small_letter_pe", /* 0320 */ - "cyrillic_small_letter_ya", - "cyrillic_small_letter_er", - "cyrillic_small_letter_es", - "cyrillic_small_letter_te", - "cyrillic_small_letter_u", - "cyrillic_small_letter_zhe", - "cyrillic_small_letter_ve", - "cyrillic_small_soft_sign", /* 0330 */ - "cyrillic_small_letter_yeru", - "cyrillic_small_letter_ze", - "cyrillic_small_letter_sha", - "cyrillic_small_letter_e", - "cyrillic_small_letter_shcha", - "cyrillic_small_letter_che", - "cyrillic_small_hard_sign", - "cyrillic_capital_letter_yu", /* 0340 */ - "cyrillic_capital_letter_a", - "cyrillic_capital_letter_be", - "cyrillic_capital_letter_tse", - "cyrillic_capital_letter_de", - "cyrillic_capital_letter_ie", - "cyrillic_capital_letter_ef", - "cyrillic_capital_letter_ghe", - "cyrillic_capital_letter_ha", /* 0350 */ - "cyrillic_capital_letter_i", - "cyrillic_capital_letter_short_i", - "cyrillic_capital_letter_ka", - "cyrillic_capital_letter_el", - "cyrillic_capital_letter_em", - "cyrillic_capital_letter_en", - "cyrillic_capital_letter_o", - "cyrillic_capital_letter_pe", /* 0360 */ - "cyrillic_capital_letter_ya", - "cyrillic_capital_letter_er", - "cyrillic_capital_letter_es", - "cyrillic_capital_letter_te", - "cyrillic_capital_letter_u", - "cyrillic_capital_letter_zhe", - "cyrillic_capital_letter_ve", - "cyrillic_capital_soft_sign", /* 0370 */ - "cyrillic_capital_letter_yeru", - "cyrillic_capital_letter_ze", - "cyrillic_capital_letter_sha", - "cyrillic_capital_letter_e", - "cyrillic_capital_letter_shcha", - "cyrillic_capital_letter_che", - "cyrillic_capital_hard_sign" -}; diff -Nru console-tools-0.2.3/include/lct/ethiopic.syms.h console-tools-0.2.3/include/lct/ethiopic.syms.h --- console-tools-0.2.3/include/lct/ethiopic.syms.h 1999-04-08 21:29:42.000000000 +0000 +++ console-tools-0.2.3/include/lct/ethiopic.syms.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,58 +0,0 @@ -/* - * This is the Ethiopic Unicode table as per pDAM ISO/IEC JTC1/SC2/WG2 N 1485. - * Ethiopic begins on the 18th "row" of 256 columns in the Unicode specification, - * hence the name choice here. There are 384 entries that begin at position - * 159 in the Ethiopic console fonts. - * - * { "iso-10646-18", iso_10646_18_syms, 159 }, - */ -char* iso_10646_18_syms[] = { /* 0x1200 - 0x137F */ - "ethiopic_syllable_ha", "ethiopic_syllable_hu", "ethiopic_syllable_hi", "ethiopic_syllable_haa", "ethiopic_syllable_hee", "ethiopic_syllable_he", "ethiopic_syllable_ho", "", - "ethiopic_syllable_la", "ethiopic_syllable_lu", "ethiopic_syllable_li", "ethiopic_syllable_laa", "ethiopic_syllable_lee", "ethiopic_syllable_le", "ethiopic_syllable_lo", "ethiopic_syllable_lwa", - "ethiopic_syllable_hha", "ethiopic_syllable_hhu", "ethiopic_syllable_hhi", "ethiopic_syllable_hhaa", "ethiopic_syllable_hhee", "ethiopic_syllable_hhe", "ethiopic_syllable_hho", "ethiopic_syllable_hhwa", - "ethiopic_syllable_ma", "ethiopic_syllable_mu", "ethiopic_syllable_mi", "ethiopic_syllable_maa", "ethiopic_syllable_mee", "ethiopic_syllable_me", "ethiopic_syllable_mo", "ethiopic_syllable_mwaa", - "ethiopic_syllable_sza", "ethiopic_syllable_szu", "ethiopic_syllable_szi", "ethiopic_syllable_szaa", "ethiopic_syllable_szee", "ethiopic_syllable_sze", "ethiopic_syllable_szo", "ethiopic_syllable_szwa", - "ethiopic_syllable_ra", "ethiopic_syllable_ru", "ethiopic_syllable_ri", "ethiopic_syllable_raa", "ethiopic_syllable_ree", "ethiopic_syllable_re", "ethiopic_syllable_ro", "ethiopic_syllable_rwa", - "ethiopic_syllable_sa", "ethiopic_syllable_su", "ethiopic_syllable_si", "ethiopic_syllable_saa", "ethiopic_syllable_see", "ethiopic_syllable_se", "ethiopic_syllable_so", "ethiopic_syllable_swa", - "ethiopic_syllable_sha", "ethiopic_syllable_shu", "ethiopic_syllable_shi", "ethiopic_syllable_shaa", "ethiopic_syllable_shee", "ethiopic_syllable_she", "ethiopic_syllable_sho", "ethiopic_syllable_shwa", - "ethiopic_syllable_qa", "ethiopic_syllable_qu", "ethiopic_syllable_qi", "ethiopic_syllable_qaa", "ethiopic_syllable_qee", "ethiopic_syllable_qe", "ethiopic_syllable_qo", "", - "ethiopic_syllable_qwa", "", "ethiopic_syllable_qwi", "ethiopic_syllable_qwaa", "ethiopic_syllable_qwee", "ethiopic_syllable_qwe", "", "", - "ethiopic_syllable_qha", "ethiopic_syllable_qhu", "ethiopic_syllable_qhi", "ethiopic_syllable_qhaa", "ethiopic_syllable_qhee", "ethiopic_syllable_qhe", "ethiopic_syllable_qho", "", - "ethiopic_syllable_qhwa", "", "ethiopic_syllable_qhwi", "ethiopic_syllable_qhwaa", "ethiopic_syllable_qhwee", "ethiopic_syllable_qhwe", "", "", - "ethiopic_syllable_ba", "ethiopic_syllable_bu", "ethiopic_syllable_bi", "ethiopic_syllable_baa", "ethiopic_syllable_bee", "ethiopic_syllable_be", "ethiopic_syllable_bo", "ethiopic_syllable_bwaa", - "ethiopic_syllable_va", "ethiopic_syllable_vu", "ethiopic_syllable_vi", "ethiopic_syllable_vaa", "ethiopic_syllable_vee", "ethiopic_syllable_ve", "ethiopic_syllable_vo", "ethiopic_syllable_vwa", - "ethiopic_syllable_ta", "ethiopic_syllable_tu", "ethiopic_syllable_ti", "ethiopic_syllable_taa", "ethiopic_syllable_tee", "ethiopic_syllable_te", "ethiopic_syllable_to", "ethiopic_syllable_twa", - "ethiopic_syllable_ca", "ethiopic_syllable_cu", "ethiopic_syllable_ci", "ethiopic_syllable_caa", "ethiopic_syllable_cee", "ethiopic_syllable_ce", "ethiopic_syllable_co", "ethiopic_syllable_cwa", - "ethiopic_syllable_xa", "ethiopic_syllable_xu", "ethiopic_syllable_xi", "ethiopic_syllable_xaa", "ethiopic_syllable_xee", "ethiopic_syllable_xe", "ethiopic_syllable_xo", "", - "ethiopic_syllable_xwa", "", "ethiopic_syllable_xwi", "ethiopic_syllable_xwaa", "ethiopic_syllable_xwee", "ethiopic_syllable_xwe", "", "", - "ethiopic_syllable_na", "ethiopic_syllable_nu", "ethiopic_syllable_ni", "ethiopic_syllable_naa", "ethiopic_syllable_nee", "ethiopic_syllable_ne", "ethiopic_syllable_no", "ethiopic_syllable_nwa", - "ethiopic_syllable_nya", "ethiopic_syllable_nyu", "ethiopic_syllable_nyi", "ethiopic_syllable_nyaa", "ethiopic_syllable_nyee", "ethiopic_syllable_nye", "ethiopic_syllable_nyo", "ethiopic_syllable_nywa", - "ethiopic_syllable_glottal_a", "ethiopic_syllable_glottal_u", "ethiopic_syllable_glottal_i", "ethiopic_syllable_glottal_aa", "ethiopic_syllable_glottal_ee", "ethiopic_syllable_glottal_e", "ethiopic_syllable_glottal_o", "ethiopic_syllable_glottal_wa", - "ethiopic_syllable_ka", "ethiopic_syllable_ku", "ethiopic_syllable_ki", "ethiopic_syllable_kaa", "ethiopic_syllable_kee", "ethiopic_syllable_ke", "ethiopic_syllable_ko", "", - "ethiopic_syllable_kwa", "", "ethiopic_syllable_kwi", "ethiopic_syllable_kwaa", "ethiopic_syllable_kwee", "ethiopic_syllable_kwe", "", "", - "ethiopic_syllable_kxa", "ethiopic_syllable_kxu", "ethiopic_syllable_kxi", "ethiopic_syllable_kxaa", "ethiopic_syllable_kxee", "ethiopic_syllable_kxe", "ethiopic_syllable_kxo", "", - "ethiopic_syllable_kxwa", "", "ethiopic_syllable_kxwi", "ethiopic_syllable_kxwaa", "ethiopic_syllable_kxwee", "ethiopic_syllable_kxwe", "", "", - "ethiopic_syllable_wa", "ethiopic_syllable_wu", "ethiopic_syllable_wi", "ethiopic_syllable_waa", "ethiopic_syllable_wee", "ethiopic_syllable_we", "ethiopic_syllable_wo", "", - "ethiopic_syllable_pharyngeal_a", "ethiopic_syllable_pharyngeal_u", "ethiopic_syllable_pharyngeal_i", "ethiopic_syllable_pharyngeal_aa", "ethiopic_syllable_pharyngeal_ee", "ethiopic_syllable_pharyngeal_e", "ethiopic_syllable_pharyngeal_o", "", - "ethiopic_syllable_za", "ethiopic_syllable_zu", "ethiopic_syllable_zi", "ethiopic_syllable_zaa", "ethiopic_syllable_zee", "ethiopic_syllable_ze", "ethiopic_syllable_zo", "ethiopic_syllable_zwa", - "ethiopic_syllable_zha", "ethiopic_syllable_zhu", "ethiopic_syllable_zhi", "ethiopic_syllable_zhaa", "ethiopic_syllable_zhee", "ethiopic_syllable_zhe", "ethiopic_syllable_zho", "ethiopic_syllable_zhwa", - "ethiopic_syllable_ya", "ethiopic_syllable_yu", "ethiopic_syllable_yi", "ethiopic_syllable_yaa", "ethiopic_syllable_yee", "ethiopic_syllable_ye", "ethiopic_syllable_yo", "", - "ethiopic_syllable_da", "ethiopic_syllable_du", "ethiopic_syllable_di", "ethiopic_syllable_daa", "ethiopic_syllable_dee", "ethiopic_syllable_de", "ethiopic_syllable_do", "ethiopic_syllable_dwa", - "ethiopic_syllable_dda", "ethiopic_syllable_ddu", "ethiopic_syllable_ddi", "ethiopic_syllable_ddaa", "ethiopic_syllable_ddee", "ethiopic_syllable_dde", "ethiopic_syllable_ddo", "ethiopic_syllable_ddwa", - "ethiopic_syllable_ja", "ethiopic_syllable_ju", "ethiopic_syllable_ji", "ethiopic_syllable_jaa", "ethiopic_syllable_jee", "ethiopic_syllable_je", "ethiopic_syllable_jo", "ethiopic_syllable_jwa", - "ethiopic_syllable_ga", "ethiopic_syllable_gu", "ethiopic_syllable_gi", "ethiopic_syllable_gaa", "ethiopic_syllable_gee", "ethiopic_syllable_ge", "ethiopic_syllable_go", "", - "ethiopic_syllable_gwa", "", "ethiopic_syllable_gwi", "ethiopic_syllable_gwaa", "ethiopic_syllable_gwee", "ethiopic_syllable_gwe", "", "", - "ethiopic_syllable_gga", "ethiopic_syllable_ggu", "ethiopic_syllable_ggi", "ethiopic_syllable_ggaa", "ethiopic_syllable_ggee", "ethiopic_syllable_gge", "ethiopic_syllable_ggo", "", - "ethiopic_syllable_tha", "ethiopic_syllable_thu", "ethiopic_syllable_thi", "ethiopic_syllable_thaa", "ethiopic_syllable_thee", "ethiopic_syllable_the", "ethiopic_syllable_tho", "ethiopic_syllable_thwa", - "ethiopic_syllable_cha", "ethiopic_syllable_chu", "ethiopic_syllable_chi", "ethiopic_syllable_chaa", "ethiopic_syllable_chee", "ethiopic_syllable_che", "ethiopic_syllable_cho", "ethiopic_syllable_chwa", - "ethiopic_syllable_pha", "ethiopic_syllable_phu", "ethiopic_syllable_phi", "ethiopic_syllable_phaa", "ethiopic_syllable_phee", "ethiopic_syllable_phe", "ethiopic_syllable_pho", "ethiopic_syllable_phwa", - "ethiopic_syllable_tsa", "ethiopic_syllable_tsu", "ethiopic_syllable_tsi", "ethiopic_syllable_tsaa", "ethiopic_syllable_tsee", "ethiopic_syllable_tse", "ethiopic_syllable_tso", "ethiopic_syllable_tswa", - "ethiopic_syllable_tza", "ethiopic_syllable_tzu", "ethiopic_syllable_tzi", "ethiopic_syllable_tzaa", "ethiopic_syllable_tzee", "ethiopic_syllable_tze", "ethiopic_syllable_tzo", "", - "ethiopic_syllable_fa", "ethiopic_syllable_fu", "ethiopic_syllable_fi", "ethiopic_syllable_faa", "ethiopic_syllable_fee", "ethiopic_syllable_fe", "ethiopic_syllable_fo", "ethiopic_syllable_fwaa", - "ethiopic_syllable_pa", "ethiopic_syllable_pu", "ethiopic_syllable_pi", "ethiopic_syllable_paa", "ethiopic_syllable_pee", "ethiopic_syllable_pe", "ethiopic_syllable_po", "ethiopic_syllable_pwaa", - "ethiopic_syllable_mya", "ethiopic_syllable_rya", "ethiopic_syllable_fya", "", "", "", "", "", - "", "ethiopic_wordspace", "ethiopic_full_stop", "ethiopic_comma", "ethiopic_semicolon", "ethiopic_colon", "ethiopic_preface_colon", "ethiopic_question_mark", - "ethiopic_paragraph_separator", "ethiopic_digit_one", "ethiopic_digit_two", "ethiopic_digit_three", "ethiopic_digit_four", "ethiopic_digit_five", "ethiopic_digit_six", "ethiopic_digit_seven", - "ethiopic_digit_eight", "ethiopic_digit_nine", "ethiopic_number_ten", "ethiopic_number_twenty", "ethiopic_number_thirty", "ethiopic_number_forty", "ethiopic_number_fifty", "ethiopic_number_sixty", - "ethiopic_number_seventy", "ethiopic_number_eighty", "ethiopic_number_ninety", "ethiopic_number_hundred", "ethiopic_number_ten_thousand", "", "", "" -}; diff -Nru console-tools-0.2.3/include/lct/font.h console-tools-0.2.3/include/lct/font.h --- console-tools-0.2.3/include/lct/font.h 1999-04-08 21:29:42.000000000 +0000 +++ console-tools-0.2.3/include/lct/font.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,104 +0,0 @@ -#ifndef _LCT_FONT_H -#define _LCT_FONT_H - -#include <stdio.h> -#include <linux/kd.h> - -#include <lct/unicode.h> -#include <lct/utils.h> - -/* - * SFM stuff - */ - -struct unicode_list -{ - unicode uc; /* Unicode listed */ - struct unicode_list *next; -}; - -/* unimap-*.c */ -int sfm_read_ascii (FILE*, struct unimapdesc*, int fontlen); -int sfm_read_binary (FILE*, struct unimapdesc*, int fontlen); -int sfm_write_ascii (FILE*, struct unimapdesc*); -int sfm_write_binary (FILE*, struct unimapdesc*, int fontlen); - -/* - * Unifont stuff - */ - -/* font-file-formats identification */ - -#define FFF_RAW 1 -#define FFF_CP 2 -#define FFF_PSF 3 -#define FFF_XPSF 4 - -extern const struct magicset ff_magics; - -/* core unifont stuff */ - -typedef struct cfontdesc -{ - unsigned short charcount; /* nb of characters in font */ - unsigned short charheight; - unsigned short charwidth; - char *chardata; /* font data in expanded form */ -} cfontdesc; - -typedef struct unifont -{ - struct cfontdesc font; - struct unimapdesc sfm; -} simple_font; - -typedef struct fontgroup -{ - struct unimapdesc sfm; - unsigned char fontcount; - struct cfontdesc* fonts; -} font_group; - -/* - * PSF stuff - */ - -#define PSF_MAGIC1 0x36 -#define PSF_MAGIC2 0x04 - -#define PSF_MODE256NOSFM 0 -#define PSF_MODE512NOSFM 1 -#define PSF_MODE256SFM 2 -#define PSF_MODE512SFM 3 - -#define PSF_SEPARATOR 0xFFFF - -struct psf_header -{ - unsigned char magic1, magic2; /* Magic number */ - unsigned char mode; /* PSF font mode */ - unsigned char charheight; /* Character size */ -}; - -#define PSF_MAGIC_OK(x) ((x).magic1 == PSF_MAGIC1 && (x).magic2 == PSF_MAGIC2) -#define PSF_MODE_VALID(x) ((x) <= PSF_MODE512SFM) -#define PSF_MODE_HAS512(x) (((x) == 1) || ((x) == 3)) -#define PSF_MODE_HASSFM(x) (((x) == 2) || ((x) == 3)) - -/* high-level font-handling funcs */ -simple_font* read_simple_font (FILE* fontfile, FILE* sfmfile, int font_format); - -/* low-level PSF-specific funcs from psf-header.c */ -int psf_header_read (FILE* in, struct psf_header* psfhdr_ptr); -int psf_header_write (FILE* out, struct psf_header* psfhdr_ptr); -int write_as_psf_header (FILE* out, int charheight, int charcount, int with_sfm); - -/* - * Font data stuff - */ - -/* fontdata.c */ -int fontdata_write_binary (FILE* out, cfontdesc *cfd); -int fontdata_read_binary (FILE* in, cfontdesc *cfd); - -#endif /* _LCT_FONT_H */ diff -Nru console-tools-0.2.3/include/lct/ksyms.h console-tools-0.2.3/include/lct/ksyms.h --- console-tools-0.2.3/include/lct/ksyms.h 1999-04-08 21:29:42.000000000 +0000 +++ console-tools-0.2.3/include/lct/ksyms.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -typedef struct { - char **table; - int size; -} syms_entry; - -struct cs { - char *charset; - char **charnames; - int start; -}; - -extern struct cs charsets[]; - -extern syms_entry syms[]; - -struct syn { - char *synonym; - char *official_name; -}; -extern struct syn synonyms[]; - -extern const int syms_size; -extern const int syn_size; -extern const int charsets_size; - -extern int set_charset(char *name); diff -Nru console-tools-0.2.3/include/lct/latin8.syms.h console-tools-0.2.3/include/lct/latin8.syms.h --- console-tools-0.2.3/include/lct/latin8.syms.h 1999-04-08 21:29:42.000000000 +0000 +++ console-tools-0.2.3/include/lct/latin8.syms.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,103 +0,0 @@ -/* ISO-8859-14 (latin8) Celtic charmap - * Alastair McKinstry <amck@maths.tcd.ie> - */ - -char *iso_8859_14_syms[]={ - "nobreakspace", /* AO */ - "Bdotabove", - "bdotabove", - "sterling", - "Cdotabove", - "cdotabove", - "Ddotabove", - "section", - "Wgrave", - "copyright", - "Wacute", - "ddotabove", - "Ygrave", - "soft_hyphen", - "registered", - "Ydiaeresis", - "Fdotabove", /* BO */ - "fdotabove", - "Gdotabove", - "gdotabove", - "Mdotabove", - "mdotabove", - "pilcrow", - "Pdotabove", - "wgrave", - "pdotabove", - "wacute", - "Sdotabove", - "ygrave", - "Wdiaeresis", - "wdiaeresis", - "sdotabove", - "Agrave", /* C0 */ - "Aacute", - "Acircumflex", - "Atilde", - "Adiaeresis", - "Aring", - "AE", - "Ccedilla", - "Egrave", - "Eacute", - "Ecircumflex", - "Ediaeresis", - "Igrave", - "Iacute", - "Icircumflex", - "Idiaeresis", - "Wcircumflex", /* D0 */ - "Ntilde", - "Ograve", - "Ocircumflex", - "Odiaeresis", - "Tdotabove", - "Oslash", - "Ugrave", - "Uacute", - "Ucircumflex", - "Udiaeresis", - "Yacute", - "Ycircumflex", - "ssharp", - "agrave", /* E0 */ - "aacute", - "acircumflex", - "atilde", - "adiaeresis", - "aring", - "ae", - "ccedilla", - "egrave", - "eacute", - "ecircumflex", - "ediaeresis", - "igrave", - "iacute", - "icircumflex", - "idiaeresis", - "wcircumflex", /* F0 */ - "ntilde", - "ograve", - "oacute", - "ocircumflex", - "otilde", - "odiaeresis", - "tdotabove", - "ostroke", - "ugrave", - "uacute", - "ucircumflex", - "udiaeresis", - "yacute", - "ycircumflex", - "ydiaeresis" -}; - - - diff -Nru console-tools-0.2.3/include/lct/local.h console-tools-0.2.3/include/lct/local.h --- console-tools-0.2.3/include/lct/local.h 1999-04-08 22:11:12.000000000 +0000 +++ console-tools-0.2.3/include/lct/local.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,49 +0,0 @@ -#ifndef _LCT_LOCAL_H -#define _LCT_LOCAL_H - -/* convenience */ -#include <stdio.h> -#include <sysexits.h> - -#include <config.h> - -#define LOCALEDIR "/usr/share/locale" - -#ifdef HAVE_LOCALE_H -# include <libintl.h> -# define _(String) gettext (String) -# ifdef gettext_noop -# define N_(String) gettext_noop (String) -# else -# define N_(String) (String) -# endif -#else -/* rough approximation of the functions */ -# define _(String) (String) -# define N_(String) (String) -# define textdomain(Domain) -# define bindtextdomain(Package, Directory) -#endif - -#define badusage(ERRMSG) do { \ - if (ERRMSG) \ - fprintf (stderr, "%s: %s\n", progname, ERRMSG); \ - usage(); \ - exit(EX_USAGE); \ -} while(0) - -/* setup localization for a program */ -#define setuplocale() do { \ - setlocale (LC_ALL, ""); \ - bindtextdomain (PACKAGE, LOCALEDIR); \ - textdomain (PACKAGE); \ -} while (0) - -#define OPT(option, desc) printf("\t" option "%s\n", desc) - -#define OPTIONS_ARE() printf(_("valid options are:\n")) -#define COMMANDS_ARE() printf(_("valid commands are:\n")) -#define HELPDESC _("display this help text and exit") -#define VERSIONDESC _("display version information and exit") - -#endif /* _LCT_LOCAL_H */ diff -Nru console-tools-0.2.3/include/lct/Makefile.am console-tools-0.2.3/include/lct/Makefile.am --- console-tools-0.2.3/include/lct/Makefile.am 1999-04-08 21:29:42.000000000 +0000 +++ console-tools-0.2.3/include/lct/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -# -*- makefile -*- - -AUTOMAKE_OPTIONS = foreign - -# change pkgincludedir -pkgincludedir = $(includedir)/lct - -pkginclude_HEADERS = font.h console.h unicode.h utils.h \ - ksyms.h modifiers.h \ - cyrillic.syms.h ethiopic.syms.h latin8.syms.h - -noinst_HEADERS = local.h diff -Nru console-tools-0.2.3/include/lct/Makefile.in console-tools-0.2.3/include/lct/Makefile.in --- console-tools-0.2.3/include/lct/Makefile.in 1999-10-25 20:58:16.000000000 +0000 +++ console-tools-0.2.3/include/lct/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,270 +0,0 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# -*- makefile -*- - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ - -top_builddir = ../.. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AS = @AS@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -COMPAT = @COMPAT@ -DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ -FONTDIR = @FONTDIR@ -GENCAT = @GENCAT@ -GMOFILES = @GMOFILES@ -GMSGFMT = @GMSGFMT@ -GT_NO = @GT_NO@ -GT_YES = @GT_YES@ -INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ -INSTOBJEXT = @INSTOBJEXT@ -INTLDEPS = @INTLDEPS@ -INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -KEYCODES = @KEYCODES@ -KEYMAPDIR = @KEYMAPDIR@ -LD = @LD@ -LEX = @LEX@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LOADKEYS = @LOADKEYS@ -MAKEINFO = @MAKEINFO@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -NM = @NM@ -OBJDUMP = @OBJDUMP@ -PACKAGE = @PACKAGE@ -POFILES = @POFILES@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -RESIZECONS = @RESIZECONS@ -TRANSDIR = @TRANSDIR@ -UNICODEDATA = @UNICODEDATA@ -UNICODELISTS = @UNICODELISTS@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -VIDEOMODEDIR = @VIDEOMODEDIR@ -YACC = @YACC@ -l = @l@ -translit = @translit@ - -AUTOMAKE_OPTIONS = foreign - -# change pkgincludedir -pkgincludedir = $(includedir)/lct - -pkginclude_HEADERS = font.h console.h unicode.h utils.h ksyms.h modifiers.h cyrillic.syms.h ethiopic.syms.h latin8.syms.h - - -noinst_HEADERS = local.h -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../../config.h -CONFIG_CLEAN_FILES = -HEADERS = $(noinst_HEADERS) $(pkginclude_HEADERS) - -DIST_COMMON = Makefile.am Makefile.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -all: all-redirect -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps include/lct/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -install-pkgincludeHEADERS: $(pkginclude_HEADERS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(pkgincludedir) - @list='$(pkginclude_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \ - echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgincludedir)/$$p"; \ - $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgincludedir)/$$p; \ - done - -uninstall-pkgincludeHEADERS: - @$(NORMAL_UNINSTALL) - list='$(pkginclude_HEADERS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(pkgincludedir)/$$p; \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) - -mostlyclean-tags: - -clean-tags: - -distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = include/lct - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done -info-am: -info: info-am -dvi-am: -dvi: dvi-am -check-am: all-am -check: check-am -installcheck-am: -installcheck: installcheck-am -install-exec-am: -install-exec: install-exec-am - -install-data-am: install-pkgincludeHEADERS -install-data: install-data-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: uninstall-pkgincludeHEADERS -uninstall: uninstall-am -all-am: Makefile $(HEADERS) -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - $(mkinstalldirs) $(DESTDIR)$(pkgincludedir) - - -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: -mostlyclean-am: mostlyclean-tags mostlyclean-generic - -mostlyclean: mostlyclean-am - -clean-am: clean-tags clean-generic mostlyclean-am - -clean: clean-am - -distclean-am: distclean-tags distclean-generic clean-am - -rm -f libtool - -distclean: distclean-am - -maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \ - distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-am - -.PHONY: uninstall-pkgincludeHEADERS install-pkgincludeHEADERS tags \ -mostlyclean-tags distclean-tags clean-tags maintainer-clean-tags \ -distdir info-am info dvi-am dvi check check-am installcheck-am \ -installcheck install-exec-am install-exec install-data-am install-data \ -install-am install uninstall-am uninstall all-redirect all-am all \ -installdirs mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru console-tools-0.2.3/include/lct/modifiers.h console-tools-0.2.3/include/lct/modifiers.h --- console-tools-0.2.3/include/lct/modifiers.h 1999-08-31 20:31:10.000000000 +0000 +++ console-tools-0.2.3/include/lct/modifiers.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -#ifndef _LCT_MODIFIERS_H -#define _LCT_MODIFIERS_H - -#define M_PLAIN 0 -#define M_SHIFT (1 << KG_SHIFT) -#define M_CTRL (1 << KG_CTRL) -#define M_ALT (1 << KG_ALT) -#define M_ALTGR (1 << KG_ALTGR) -#define M_SHIFTL (1 << KG_SHIFTL) -#define M_SHIFTR (1 << KG_SHIFTR) -#define M_CTRLL (1 << KG_CTRLL) -#define M_CTRLR (1 << KG_CTRLR) - -#endif diff -Nru console-tools-0.2.3/include/lct/unicode.h console-tools-0.2.3/include/lct/unicode.h --- console-tools-0.2.3/include/lct/unicode.h 1999-08-31 20:31:48.000000000 +0000 +++ console-tools-0.2.3/include/lct/unicode.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ -#ifndef _LCT_UNICODE_H -# define _LCT_UNICODE_H - -typedef unsigned short unicode; - -unicode utf8_to_ucs2 (char* buf); -void ucs2_to_utf8(unicode c, char* utf); - -#endif /* _LCT_UNICODE_H */ - diff -Nru console-tools-0.2.3/include/lct/utils.h console-tools-0.2.3/include/lct/utils.h --- console-tools-0.2.3/include/lct/utils.h 1999-04-08 22:11:12.000000000 +0000 +++ console-tools-0.2.3/include/lct/utils.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,70 +0,0 @@ -#ifndef _LCT_UTILS_H -#define _LCT_UTILS_H - -#include <stdio.h> -#include <linux/kd.h> -#include <lct/unicode.h> - -struct magic -{ - int id; - char* magic; - char* mask; - size_t length; -}; - -struct magicset -{ - size_t max_length_hint; - const struct magic* m; -}; - -/* special magic_IDs */ -#define FF_END 0 /* array terminator */ -#define FF_UNKNOWN -1 /* magic == mask == NULL - unidentified (used as default) */ -#define FF_HINTS -2 /* magic == max length for magic and mask in following array - * mask == ignored */ - -FILE *findfile_simple(const char *fnam, const char **dirpath, const char **suffixes); - -FILE* findfile(const char *fnam, const char **dirpath, const char **suffixes, - char *fullname, size_t maxfullength, FILE* minus_meaning, - const struct magicset * magics, int* magic_return); - -/* low-level wrappers around findfile() */ -#define FINDFONT_WRAPPER_HEADER(NAME) \ -FILE* find ## NAME(const char *fnam, char *fullname, size_t maxfullength, \ - FILE* minus_meaning, int* magic_return) - -FINDFONT_WRAPPER_HEADER(font); -FINDFONT_WRAPPER_HEADER(acm); -FINDFONT_WRAPPER_HEADER(sfm); -FINDFONT_WRAPPER_HEADER(sfmfallback); -FINDFONT_WRAPPER_HEADER(keymap); -FINDFONT_WRAPPER_HEADER(videomode); - -/* from x*.c */ -int xfseek (FILE *stream, long offset, int whence); -FILE *xfopen (const char *path, const char *mode, FILE* minus_meaning); - -/* from sfm-utils.c */ -unicode sgetunicode(char **p0); -void unimapdesc_addpair(int fp, unicode un, struct unimapdesc *list, int *listsz); -void unimapdesc_adjust(struct unimapdesc* list); - -/* sfm-fallback */ -int sfm_fallback_read (FILE* f, unicode** *sfmf, unsigned *size); -int sfm_fallback_add (unicode** sfmf, unsigned size, - struct unimapdesc* ilist, - struct unimapdesc* olist); - -/* miscutils.c */ -typedef void (*UsageFunc) (char *progname); - -void simple_options(int argc, char **argv, UsageFunc usage, char *progname); -char* strip_path (const char* name); -void version(); -void* xmalloc(size_t n); -char* xstrdup(char *p); - -#endif /* _LCT_UTILS_H */ diff -Nru console-tools-0.2.3/include/Makefile.am console-tools-0.2.3/include/Makefile.am --- console-tools-0.2.3/include/Makefile.am 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/include/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -# -*- makefile -*- -AUTOMAKE_OPTIONS = foreign - -SUBDIRS = lct diff -Nru console-tools-0.2.3/include/Makefile.in console-tools-0.2.3/include/Makefile.in --- console-tools-0.2.3/include/Makefile.in 1999-10-25 20:58:15.000000000 +0000 +++ console-tools-0.2.3/include/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,323 +0,0 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# -*- makefile -*- - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AS = @AS@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -COMPAT = @COMPAT@ -DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ -FONTDIR = @FONTDIR@ -GENCAT = @GENCAT@ -GMOFILES = @GMOFILES@ -GMSGFMT = @GMSGFMT@ -GT_NO = @GT_NO@ -GT_YES = @GT_YES@ -INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ -INSTOBJEXT = @INSTOBJEXT@ -INTLDEPS = @INTLDEPS@ -INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -KEYCODES = @KEYCODES@ -KEYMAPDIR = @KEYMAPDIR@ -LD = @LD@ -LEX = @LEX@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LOADKEYS = @LOADKEYS@ -MAKEINFO = @MAKEINFO@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -NM = @NM@ -OBJDUMP = @OBJDUMP@ -PACKAGE = @PACKAGE@ -POFILES = @POFILES@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -RESIZECONS = @RESIZECONS@ -TRANSDIR = @TRANSDIR@ -UNICODEDATA = @UNICODEDATA@ -UNICODELISTS = @UNICODELISTS@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -VIDEOMODEDIR = @VIDEOMODEDIR@ -YACC = @YACC@ -l = @l@ -translit = @translit@ - -AUTOMAKE_OPTIONS = foreign - -SUBDIRS = lct -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = -DIST_COMMON = Makefile.am Makefile.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -all: all-redirect -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps include/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. - -@SET_MAKE@ - -all-recursive install-data-recursive install-exec-recursive \ -installdirs-recursive install-recursive uninstall-recursive \ -check-recursive installcheck-recursive info-recursive dvi-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ - dot_seen=no; \ - rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ - rev="$$subdir $$rev"; \ - test "$$subdir" = "." && dot_seen=yes; \ - done; \ - test "$$dot_seen" = "no" && rev=". $$rev"; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) - -mostlyclean-tags: - -clean-tags: - -distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = include - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - for subdir in $(SUBDIRS); do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - chmod 777 $(distdir)/$$subdir; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \ - || exit 1; \ - fi; \ - done -info-am: -info: info-recursive -dvi-am: -dvi: dvi-recursive -check-am: all-am -check: check-recursive -installcheck-am: -installcheck: installcheck-recursive -install-exec-am: -install-exec: install-exec-recursive - -install-data-am: -install-data: install-data-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-recursive -uninstall-am: -uninstall: uninstall-recursive -all-am: Makefile -all-redirect: all-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: installdirs-recursive -installdirs-am: - - -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: -mostlyclean-am: mostlyclean-tags mostlyclean-generic - -mostlyclean: mostlyclean-recursive - -clean-am: clean-tags clean-generic mostlyclean-am - -clean: clean-recursive - -distclean-am: distclean-tags distclean-generic clean-am - -rm -f libtool - -distclean: distclean-recursive - -maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \ - distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-recursive - -.PHONY: install-data-recursive uninstall-data-recursive \ -install-exec-recursive uninstall-exec-recursive installdirs-recursive \ -uninstalldirs-recursive all-recursive check-recursive \ -installcheck-recursive info-recursive dvi-recursive \ -mostlyclean-recursive distclean-recursive clean-recursive \ -maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ -dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ -install-exec install-data-am install-data install-am install \ -uninstall-am uninstall all-redirect all-am all installdirs-am \ -installdirs mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru console-tools-0.2.3/install-sh console-tools-0.2.3/install-sh --- console-tools-0.2.3/install-sh 1999-01-30 22:56:20.000000000 +0000 +++ console-tools-0.2.3/install-sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,251 +0,0 @@ -#!/bin/sh -# -# install - install a program, script, or datafile -# This comes from X11R5 (mit/util/scripts/install.sh). -# -# Copyright 1991 by the Massachusetts Institute of Technology -# -# Permission to use, copy, modify, distribute, and sell this software and its -# documentation for any purpose is hereby granted without fee, provided that -# the above copyright notice appear in all copies and that both that -# copyright notice and this permission notice appear in supporting -# documentation, and that the name of M.I.T. not be used in advertising or -# publicity pertaining to distribution of the software without specific, -# written prior permission. M.I.T. makes no representations about the -# suitability of this software for any purpose. It is provided "as is" -# without express or implied warranty. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. - - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" - - -# put in absolute paths if you don't have them in your path; or use env. vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -transformbasename="" -transform_arg="" -instcmd="$mvprog" -chmodcmd="$chmodprog 0755" -chowncmd="" -chgrpcmd="" -stripcmd="" -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src="" -dst="" -dir_arg="" - -while [ x"$1" != x ]; do - case $1 in - -c) instcmd="$cpprog" - shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - -s) stripcmd="$stripprog" - shift - continue;; - - -t=*) transformarg=`echo $1 | sed 's/-t=//'` - shift - continue;; - - -b=*) transformbasename=`echo $1 | sed 's/-b=//'` - shift - continue;; - - *) if [ x"$src" = x ] - then - src=$1 - else - # this colon is to work around a 386BSD /bin/sh bug - : - dst=$1 - fi - shift - continue;; - esac -done - -if [ x"$src" = x ] -then - echo "install: no input file specified" - exit 1 -else - true -fi - -if [ x"$dir_arg" != x ]; then - dst=$src - src="" - - if [ -d $dst ]; then - instcmd=: - chmodcmd="" - else - instcmd=mkdir - fi -else - -# Waiting for this to be detected by the "$instcmd $src $dsttmp" command -# might cause directories to be created, which would be especially bad -# if $src (and thus $dsttmp) contains '*'. - - if [ -f $src -o -d $src ] - then - true - else - echo "install: $src does not exist" - exit 1 - fi - - if [ x"$dst" = x ] - then - echo "install: no destination specified" - exit 1 - else - true - fi - -# If destination is a directory, append the input filename; if your system -# does not like double slashes in filenames, you may need to add some logic - - if [ -d $dst ] - then - dst="$dst"/`basename $src` - else - true - fi -fi - -## this sed command emulates the dirname command -dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` - -# Make sure that the destination directory exists. -# this part is taken from Noah Friedman's mkinstalldirs script - -# Skip lots of stat calls in the usual case. -if [ ! -d "$dstdir" ]; then -defaultIFS=' -' -IFS="${IFS-${defaultIFS}}" - -oIFS="${IFS}" -# Some sh's can't handle IFS=/ for some reason. -IFS='%' -set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` -IFS="${oIFS}" - -pathcomp='' - -while [ $# -ne 0 ] ; do - pathcomp="${pathcomp}${1}" - shift - - if [ ! -d "${pathcomp}" ] ; - then - $mkdirprog "${pathcomp}" - else - true - fi - - pathcomp="${pathcomp}/" -done -fi - -if [ x"$dir_arg" != x ] -then - $doit $instcmd $dst && - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi -else - -# If we're going to rename the final executable, determine the name now. - - if [ x"$transformarg" = x ] - then - dstfile=`basename $dst` - else - dstfile=`basename $dst $transformbasename | - sed $transformarg`$transformbasename - fi - -# don't allow the sed command to completely eliminate the filename - - if [ x"$dstfile" = x ] - then - dstfile=`basename $dst` - else - true - fi - -# Make a temp file name in the proper directory. - - dsttmp=$dstdir/#inst.$$# - -# Move or copy the file name to the temp name - - $doit $instcmd $src $dsttmp && - - trap "rm -f ${dsttmp}" 0 && - -# and set any options; do chmod last to preserve setuid bits - -# If any of these fail, we abort the whole thing. If we want to -# ignore errors from any of these, just make sure not to ignore -# errors from the above "$doit $instcmd $src $dsttmp" command. - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && - -# Now rename the file to the real destination. - - $doit $rmcmd -f $dstdir/$dstfile && - $doit $mvcmd $dsttmp $dstdir/$dstfile - -fi && - - -exit 0 diff -Nru console-tools-0.2.3/intl/bindtextdom.c console-tools-0.2.3/intl/bindtextdom.c --- console-tools-0.2.3/intl/bindtextdom.c 1999-03-07 16:41:22.000000000 +0000 +++ console-tools-0.2.3/intl/bindtextdom.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,203 +0,0 @@ -/* Implementation of the bindtextdomain(3) function - Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#if defined STDC_HEADERS || defined _LIBC -# include <stdlib.h> -#else -# ifdef HAVE_MALLOC_H -# include <malloc.h> -# else -void free (); -# endif -#endif - -#if defined HAVE_STRING_H || defined _LIBC -# include <string.h> -#else -# include <strings.h> -# ifndef memcpy -# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num) -# endif -#endif - -#ifdef _LIBC -# include <libintl.h> -#else -# include "libgettext.h" -#endif -#include "gettext.h" -#include "gettextP.h" - -/* @@ end of prolog @@ */ - -/* Contains the default location of the message catalogs. */ -extern const char _nl_default_dirname[]; - -/* List with bindings of specific domains. */ -extern struct binding *_nl_domain_bindings; - - -/* Names for the libintl functions are a problem. They must not clash - with existing names and they should follow ANSI C. But this source - code is also used in GNU C Library where the names have a __ - prefix. So we have to make a difference here. */ -#ifdef _LIBC -# define BINDTEXTDOMAIN __bindtextdomain -# ifndef strdup -# define strdup(str) __strdup (str) -# endif -#else -# define BINDTEXTDOMAIN bindtextdomain__ -#endif - -/* Specify that the DOMAINNAME message catalog will be found - in DIRNAME rather than in the system locale data base. */ -char * -BINDTEXTDOMAIN (domainname, dirname) - const char *domainname; - const char *dirname; -{ - struct binding *binding; - - /* Some sanity checks. */ - if (domainname == NULL || domainname[0] == '\0') - return NULL; - - for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) - { - int compare = strcmp (domainname, binding->domainname); - if (compare == 0) - /* We found it! */ - break; - if (compare < 0) - { - /* It is not in the list. */ - binding = NULL; - break; - } - } - - if (dirname == NULL) - /* The current binding has be to returned. */ - return binding == NULL ? (char *) _nl_default_dirname : binding->dirname; - - if (binding != NULL) - { - /* The domain is already bound. If the new value and the old - one are equal we simply do nothing. Otherwise replace the - old binding. */ - if (strcmp (dirname, binding->dirname) != 0) - { - char *new_dirname; - - if (strcmp (dirname, _nl_default_dirname) == 0) - new_dirname = (char *) _nl_default_dirname; - else - { -#if defined _LIBC || defined HAVE_STRDUP - new_dirname = strdup (dirname); - if (new_dirname == NULL) - return NULL; -#else - size_t len = strlen (dirname) + 1; - new_dirname = (char *) malloc (len); - if (new_dirname == NULL) - return NULL; - - memcpy (new_dirname, dirname, len); -#endif - } - - if (binding->dirname != _nl_default_dirname) - free (binding->dirname); - - binding->dirname = new_dirname; - } - } - else - { - /* We have to create a new binding. */ -#if !defined _LIBC && !defined HAVE_STRDUP - size_t len; -#endif - struct binding *new_binding = - (struct binding *) malloc (sizeof (*new_binding)); - - if (new_binding == NULL) - return NULL; - -#if defined _LIBC || defined HAVE_STRDUP - new_binding->domainname = strdup (domainname); - if (new_binding->domainname == NULL) - return NULL; -#else - len = strlen (domainname) + 1; - new_binding->domainname = (char *) malloc (len); - if (new_binding->domainname == NULL) - return NULL; - memcpy (new_binding->domainname, domainname, len); -#endif - - if (strcmp (dirname, _nl_default_dirname) == 0) - new_binding->dirname = (char *) _nl_default_dirname; - else - { -#if defined _LIBC || defined HAVE_STRDUP - new_binding->dirname = strdup (dirname); - if (new_binding->dirname == NULL) - return NULL; -#else - len = strlen (dirname) + 1; - new_binding->dirname = (char *) malloc (len); - if (new_binding->dirname == NULL) - return NULL; - memcpy (new_binding->dirname, dirname, len); -#endif - } - - /* Now enqueue it. */ - if (_nl_domain_bindings == NULL - || strcmp (domainname, _nl_domain_bindings->domainname) < 0) - { - new_binding->next = _nl_domain_bindings; - _nl_domain_bindings = new_binding; - } - else - { - binding = _nl_domain_bindings; - while (binding->next != NULL - && strcmp (domainname, binding->next->domainname) > 0) - binding = binding->next; - - new_binding->next = binding->next; - binding->next = new_binding; - } - - binding = new_binding; - } - - return binding->dirname; -} - -#ifdef _LIBC -/* Alias for function name in GNU C Library. */ -weak_alias (__bindtextdomain, bindtextdomain); -#endif diff -Nru console-tools-0.2.3/intl/cat-compat.c console-tools-0.2.3/intl/cat-compat.c --- console-tools-0.2.3/intl/cat-compat.c 1999-03-07 16:41:23.000000000 +0000 +++ console-tools-0.2.3/intl/cat-compat.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,262 +0,0 @@ -/* Compatibility code for gettext-using-catgets interface. - Copyright (C) 1995, 1997 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#include <stdio.h> - -#ifdef STDC_HEADERS -# include <stdlib.h> -# include <string.h> -#else -char *getenv (); -# ifdef HAVE_MALLOC_H -# include <malloc.h> -# endif -#endif - -#ifdef HAVE_NL_TYPES_H -# include <nl_types.h> -#endif - -#include "libgettext.h" - -/* @@ end of prolog @@ */ - -/* XPG3 defines the result of `setlocale (category, NULL)' as: - ``Directs `setlocale()' to query `category' and return the current - setting of `local'.'' - However it does not specify the exact format. And even worse: POSIX - defines this not at all. So we can use this feature only on selected - system (e.g. those using GNU C Library). */ -#ifdef _LIBC -# define HAVE_LOCALE_NULL -#endif - -/* The catalog descriptor. */ -static nl_catd catalog = (nl_catd) -1; - -/* Name of the default catalog. */ -static const char default_catalog_name[] = "messages"; - -/* Name of currently used catalog. */ -static const char *catalog_name = default_catalog_name; - -/* Get ID for given string. If not found return -1. */ -static int msg_to_cat_id PARAMS ((const char *msg)); - -/* Substitution for systems lacking this function in their C library. */ -#if !_LIBC && !HAVE_STPCPY -static char *stpcpy PARAMS ((char *dest, const char *src)); -#endif - - -/* Set currently used domain/catalog. */ -char * -textdomain (domainname) - const char *domainname; -{ - nl_catd new_catalog; - char *new_name; - size_t new_name_len; - char *lang; - -#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES \ - && defined HAVE_LOCALE_NULL - lang = setlocale (LC_MESSAGES, NULL); -#else - lang = getenv ("LC_ALL"); - if (lang == NULL || lang[0] == '\0') - { - lang = getenv ("LC_MESSAGES"); - if (lang == NULL || lang[0] == '\0') - lang = getenv ("LANG"); - } -#endif - if (lang == NULL || lang[0] == '\0') - lang = "C"; - - /* See whether name of currently used domain is asked. */ - if (domainname == NULL) - return (char *) catalog_name; - - if (domainname[0] == '\0') - domainname = default_catalog_name; - - /* Compute length of added path element. */ - new_name_len = sizeof (LOCALEDIR) - 1 + 1 + strlen (lang) - + sizeof ("/LC_MESSAGES/") - 1 + sizeof (PACKAGE) - 1 - + sizeof (".cat"); - - new_name = (char *) malloc (new_name_len); - if (new_name == NULL) - return NULL; - - strcpy (new_name, PACKAGE); - new_catalog = catopen (new_name, 0); - - if (new_catalog == (nl_catd) -1) - { - /* NLSPATH search didn't work, try absolute path */ - sprintf (new_name, "%s/%s/LC_MESSAGES/%s.cat", LOCALEDIR, lang, - PACKAGE); - new_catalog = catopen (new_name, 0); - - if (new_catalog == (nl_catd) -1) - { - free (new_name); - return (char *) catalog_name; - } - } - - /* Close old catalog. */ - if (catalog != (nl_catd) -1) - catclose (catalog); - if (catalog_name != default_catalog_name) - free ((char *) catalog_name); - - catalog = new_catalog; - catalog_name = new_name; - - return (char *) catalog_name; -} - -char * -bindtextdomain (domainname, dirname) - const char *domainname; - const char *dirname; -{ -#if HAVE_SETENV || HAVE_PUTENV - char *old_val, *new_val, *cp; - size_t new_val_len; - - /* This does not make much sense here but to be compatible do it. */ - if (domainname == NULL) - return NULL; - - /* Compute length of added path element. If we use setenv we don't need - the first byts for NLSPATH=, but why complicate the code for this - peanuts. */ - new_val_len = sizeof ("NLSPATH=") - 1 + strlen (dirname) - + sizeof ("/%L/LC_MESSAGES/%N.cat"); - - old_val = getenv ("NLSPATH"); - if (old_val == NULL || old_val[0] == '\0') - { - old_val = NULL; - new_val_len += 1 + sizeof (LOCALEDIR) - 1 - + sizeof ("/%L/LC_MESSAGES/%N.cat"); - } - else - new_val_len += strlen (old_val); - - new_val = (char *) malloc (new_val_len); - if (new_val == NULL) - return NULL; - -# if HAVE_SETENV - cp = new_val; -# else - cp = stpcpy (new_val, "NLSPATH="); -# endif - - cp = stpcpy (cp, dirname); - cp = stpcpy (cp, "/%L/LC_MESSAGES/%N.cat:"); - - if (old_val == NULL) - { -# if __STDC__ - stpcpy (cp, LOCALEDIR "/%L/LC_MESSAGES/%N.cat"); -# else - - cp = stpcpy (cp, LOCALEDIR); - stpcpy (cp, "/%L/LC_MESSAGES/%N.cat"); -# endif - } - else - stpcpy (cp, old_val); - -# if HAVE_SETENV - setenv ("NLSPATH", new_val, 1); - free (new_val); -# else - putenv (new_val); - /* Do *not* free the environment entry we just entered. It is used - from now on. */ -# endif - -#endif - - return (char *) domainname; -} - -#undef gettext -char * -gettext (msg) - const char *msg; -{ - int msgid; - - if (msg == NULL || catalog == (nl_catd) -1) - return (char *) msg; - - /* Get the message from the catalog. We always use set number 1. - The message ID is computed by the function `msg_to_cat_id' - which works on the table generated by `po-to-tbl'. */ - msgid = msg_to_cat_id (msg); - if (msgid == -1) - return (char *) msg; - - return catgets (catalog, 1, msgid, (char *) msg); -} - -/* Look through the table `_msg_tbl' which has `_msg_tbl_length' entries - for the one equal to msg. If it is found return the ID. In case when - the string is not found return -1. */ -static int -msg_to_cat_id (msg) - const char *msg; -{ - int cnt; - - for (cnt = 0; cnt < _msg_tbl_length; ++cnt) - if (strcmp (msg, _msg_tbl[cnt]._msg) == 0) - return _msg_tbl[cnt]._msg_number; - - return -1; -} - - -/* @@ begin of epilog @@ */ - -/* We don't want libintl.a to depend on any other library. So we - avoid the non-standard function stpcpy. In GNU C Library this - function is available, though. Also allow the symbol HAVE_STPCPY - to be defined. */ -#if !_LIBC && !HAVE_STPCPY -static char * -stpcpy (dest, src) - char *dest; - const char *src; -{ - while ((*dest++ = *src++) != '\0') - /* Do nothing. */ ; - return dest - 1; -} -#endif diff -Nru console-tools-0.2.3/intl/ChangeLog console-tools-0.2.3/intl/ChangeLog --- console-tools-0.2.3/intl/ChangeLog 1999-03-07 16:41:22.000000000 +0000 +++ console-tools-0.2.3/intl/ChangeLog 1970-01-01 00:00:00.000000000 +0000 @@ -1,1086 +0,0 @@ -1998-04-29 Ulrich Drepper <drepper@cygnus.com> - - * intl/localealias.c (read_alias_file): Use unsigned char for - local variables. Remove unused variable tp. - * intl/l10nflist.c (_nl_normalize_codeset): Use unsigned char * - for type of codeset. For loosing Solaris systems. - * intl/loadinfo.h: Adapt prototype of _nl_normalize_codeset. - * intl/bindtextdom.c (BINDTEXTDOMAIN): Don't define local variable - len if not needed. - Patches by Jim Meyering. - -1998-04-28 Ulrich Drepper <drepper@cygnus.com> - - * loadmsgcat.c (_nl_load_domain): Don't assign the element use_mmap if - mmap is not supported. - - * hash-string.h: Don't include <values.h>. - -1998-04-27 Ulrich Drepper <drepper@cygnus.com> - - * textdomain.c: Use strdup is available. - - * localealias.c: Define HAVE_MEMPCPY so that we can use this - function. Define and use semapahores to protect modfication of - global objects when compiling for glibc. Add code to allow - freeing alias table. - - * l10nflist.c: Don't assume stpcpy not being a macro. - - * gettextP.h: Define internal_function macri if not already done. - Use glibc byte-swap macros instead of defining SWAP when compiled - for glibc. - (struct loaded_domain): Add elements to allow unloading. - - * Makefile.in (distclean): Don't remove libintl.h here. - - * bindtextdomain.c: Carry over changes from glibc. Use strdup if - available. - - * dcgettext.c: Don't assume stpcpy not being a macro. Mark internal - functions. Add memory freeing code for glibc. - - * dgettext.c: Update copyright. - - * explodename.c: Include stdlib.h and string.h only if they exist. - Use strings.h eventually. - - * finddomain.c: Mark internal functions. Use strdup if available. - Add memory freeing code for glibc. - -1997-10-10 20:00 Ulrich Drepper <drepper@cygnus.com> - - * libgettext.h: Fix dummy textdomain and bindtextdomain macros. - They should return reasonable values. - Reported by Tom Tromey <tromey@cygnus.com>. - -1997-09-16 03:33 Ulrich Drepper <drepper@cygnus.com> - - * libgettext.h: Define PARAMS also to `args' if __cplusplus is defined. - * intlh.inst.in: Likewise. - Reported by Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>. - - * libintl.glibc: Update from current glibc version. - -1997-09-06 02:10 Ulrich Drepper <drepper@cygnus.com> - - * intlh.inst.in: Reformat copyright. - -1997-08-19 15:22 Ulrich Drepper <drepper@cygnus.com> - - * dcgettext.c (DCGETTEXT): Remove wrong comment. - -1997-08-16 00:13 Ulrich Drepper <drepper@cygnus.com> - - * Makefile.in (install-data): Don't change directory to install. - -1997-08-01 14:30 Ulrich Drepper <drepper@cygnus.com> - - * cat-compat.c: Fix copyright. - - * localealias.c: Don't define strchr unless !HAVE_STRCHR. - - * loadmsgcat.c: Update copyright. Fix typos. - - * l10nflist.c: Don't define strchr unless !HAVE_STRCHR. - (_nl_make_l10nflist): Handle sponsor and revision correctly. - - * gettext.c: Update copyright. - * gettext.h: Likewise. - * hash-string.h: Likewise. - - * finddomain.c: Remoave dead code. Define strchr only if - !HAVE_STRCHR. - - * explodename.c: Include <sys/types.h>. - - * explodename.c: Reformat copyright text. - (_nl_explode_name): Fix typo. - - * dcgettext.c: Define and use __set_errno. - (guess_category_value): Don't use setlocale if HAVE_LC_MESSAGES is - not defined. - - * bindtextdom.c: Pretty printing. - -1997-05-01 02:25 Ulrich Drepper <drepper@cygnus.com> - - * dcgettext.c (guess_category_value): Don't depend on - HAVE_LC_MESSAGES. We don't need the macro here. - Patch by Bruno Haible <haible@ilog.fr>. - - * cat-compat.c (textdomain): DoN't refer to HAVE_SETLOCALE_NULL - macro. Instead use HAVE_LOCALE_NULL and define it when using - glibc, as in dcgettext.c. - Patch by Bruno Haible <haible@ilog.fr>. - - * Makefile.in (CPPFLAGS): New variable. Reported by Franc,ois - Pinard. - -Mon Mar 10 06:51:17 1997 Ulrich Drepper <drepper@cygnus.com> - - * Makefile.in: Implement handling of libtool. - - * gettextP.h: Change data structures for use of generic lowlevel - i18n file handling. - -Wed Dec 4 20:21:18 1996 Ulrich Drepper <drepper@cygnus.com> - - * textdomain.c: Put parentheses around arguments of memcpy macro - definition. - * localealias.c: Likewise. - * l10nflist.c: Likewise. - * finddomain.c: Likewise. - * bindtextdom.c: Likewise. - Reported by Thomas Esken. - -Mon Nov 25 22:57:51 1996 Ulrich Drepper <drepper@cygnus.com> - - * textdomain.c: Move definition of `memcpy` macro to right - position. - -Fri Nov 22 04:01:58 1996 Ulrich Drepper <drepper@cygnus.com> - - * finddomain.c [!HAVE_STRING_H && !_LIBC]: Define memcpy using - bcopy if not already defined. Reported by Thomas Esken. - * bindtextdom.c: Likewise. - * l10nflist.c: Likewise. - * localealias.c: Likewise. - * textdomain.c: Likewise. - -Tue Oct 29 11:10:27 1996 Ulrich Drepper <drepper@cygnus.com> - - * Makefile.in (libdir): Change to use exec_prefix instead of - prefix. Reported by Knut-HåvardAksnes <etokna@eto.ericsson.se>. - -Sat Aug 31 03:07:09 1996 Ulrich Drepper <drepper@cygnus.com> - - * l10nflist.c (_nl_normalize_codeset): We convert to lower case, - so don't prepend uppercase `ISO' for only numeric arg. - -Fri Jul 19 00:15:46 1996 Ulrich Drepper <drepper@cygnus.com> - - * l10nflist.c: Move inclusion of argz.h, ctype.h, stdlib.h after - definition of _GNU_SOURCE. Patch by Roland McGrath. - - * Makefile.in (uninstall): Fix another bug with `for' loop and - empty arguments. Patch by Jim Meyering. Correct name os - uninstalled files: no intl- prefix anymore. - - * Makefile.in (install-data): Again work around shells which - cannot handle mpty for list. Reported by Jim Meyering. - -Sat Jul 13 18:11:35 1996 Ulrich Drepper <drepper@cygnus.com> - - * Makefile.in (install): Split goal. Now depend on install-exec - and install-data. - (install-exec, install-data): New goals. Created from former - install goal. - Reported by Karl Berry. - -Sat Jun 22 04:58:14 1996 Ulrich Drepper <drepper@cygnus.com> - - * Makefile.in (MKINSTALLDIRS): New variable. Path to - mkinstalldirs script. - (install): use MKINSTALLDIRS variable or if the script is not present - try to find it in the $top_scrdir). - -Wed Jun 19 02:56:56 1996 Ulrich Drepper <drepper@cygnus.com> - - * l10nflist.c: Linux libc *partly* includes the argz_* functions. - Grr. Work around by renaming the static version and use macros - for renaming. - -Tue Jun 18 20:11:17 1996 Ulrich Drepper <drepper@cygnus.com> - - * l10nflist.c: Correct presence test macros of __argz_* functions. - - * l10nflist.c: Include <argz.h> based on test of it instead when - __argz_* functions are available. - Reported by Andreas Schwab. - -Thu Jun 13 15:17:44 1996 Ulrich Drepper <drepper@cygnus.com> - - * explodename.c, l10nflist.c: Define NULL for dumb systems. - -Tue Jun 11 17:05:13 1996 Ulrich Drepper <drepper@cygnus.com> - - * intlh.inst.in, libgettext.h (dcgettext): Rename local variable - result to __result to prevent name clash. - - * l10nflist.c, localealias.c, dcgettext.c: Define _GNU_SOURCE to - get prototype for stpcpy and strcasecmp. - - * intlh.inst.in, libgettext.h: Move declaration of - `_nl_msg_cat_cntr' outside __extension__ block to prevent warning - from gcc's -Wnested-extern option. - -Fri Jun 7 01:58:00 1996 Ulrich Drepper <drepper@cygnus.com> - - * Makefile.in (install): Remove comment. - -Thu Jun 6 17:28:17 1996 Ulrich Drepper <drepper@cygnus.com> - - * Makefile.in (install): Work around for another Buglix stupidity. - Always use an `else' close for `if's. Reported by Nelson Beebe. - - * Makefile.in (intlh.inst): Correct typo in phony rule. - Reported by Nelson Beebe. - -Thu Jun 6 01:49:52 1996 Ulrich Drepper <drepper@cygnus.com> - - * dcgettext.c (read_alias_file): Rename variable alloca_list to - block_list as the macro calls assume. - Patch by Eric Backus. - - * localealias.c [!HAVE_ALLOCA]: Define alloca as macro using - malloc. - (read_alias_file): Rename varriabe alloca_list to block_list as the - macro calls assume. - Patch by Eric Backus. - - * l10nflist.c: Correct conditional for <argz.h> inclusion. - Reported by Roland McGrath. - - * Makefile.in (all): Depend on all-@USE_INCLUDED_LIBINTL@, not - all-@USE_NLS@. - - * Makefile.in (install): intlh.inst comes from local dir, not - $(srcdir). - - * Makefile.in (intlh.inst): Special handling of this goal. If - used in gettext, this is really a rul to construct this file. If - used in any other package it is defined as a .PHONY rule with - empty body. - - * finddomain.c: Extract locale file information handling into - l10nfile.c. Rename local stpcpy__ function to stpcpy. - - * dcgettext.c (stpcpy): Add local definition. - - * l10nflist.c: Solve some portability problems. Patches partly by - Thomas Esken. Add local definition of stpcpy. - -Tue Jun 4 02:47:49 1996 Ulrich Drepper <drepper@cygnus.com> - - * intlh.inst.in: Don't depend including <locale.h> on - HAVE_LOCALE_H. Instead configure must rewrite this fiile - depending on the result of the configure run. - - * Makefile.in (install): libintl.inst is now called intlh.inst. - Add rules for updating intlh.inst from intlh.inst.in. - - * libintl.inst: Renamed to intlh.inst.in. - - * localealias.c, dcgettext.c [__GNUC__]: Define HAVE_ALLOCA to 1 - because gcc has __buitlin_alloca. - Reported by Roland McGrath. - -Mon Jun 3 00:32:16 1996 Ulrich Drepper <drepper@cygnus.com> - - * Makefile.in (installcheck): New goal to fulfill needs of - automake's distcheck. - - * Makefile.in (install): Reorder commands so that VERSION is - found. - - * Makefile.in (gettextsrcdir): Now use subdirectory intl/ in - @datadir@/gettext. - (COMSRCS): Add l10nfile.c. - (OBJECTS): Add l10nfile.o. - (DISTFILES): Rename to DISTFILE.normal. Remove $(DISTFILES.common). - (DISTFILE.gettext): Remove $(DISTFILES.common). - (all-gettext): Remove goal. - (install): If $(PACKAGE) = gettext install, otherwose do nothing. No - package but gettext itself should install libintl.h + headers. - (dist): Extend goal to work for gettext, too. - (dist-gettext): Remove goal. - - * dcgettext.c [!HAVE_ALLOCA]: Define macro alloca by using malloc. - -Sun Jun 2 17:33:06 1996 Ulrich Drepper <drepper@cygnus.com> - - * loadmsgcat.c (_nl_load_domain): Parameter is now comes from - find_l10nfile. - -Sat Jun 1 02:23:03 1996 Ulrich Drepper <drepper@cygnus.com> - - * l10nflist.c (__argz_next): Add definition. - - * dcgettext.c [!HAVE_ALLOCA]: Add code for handling missing alloca - code. Use new l10nfile handling. - - * localealias.c [!HAVE_ALLOCA]: Add code for handling missing - alloca code. - - * l10nflist.c: Initial revision. - -Tue Apr 2 18:51:18 1996 Ulrich Drepper <drepper@myware> - - * Makefile.in (all-gettext): New goal. Same as all-yes. - -Thu Mar 28 23:01:22 1996 Karl Eichwalder <ke@ke.central.de> - - * Makefile.in (gettextsrcdir): Define using @datadir@. - -Tue Mar 26 12:39:14 1996 Ulrich Drepper <drepper@myware> - - * finddomain.c: Include <ctype.h>. Reported by Roland McGrath. - -Sat Mar 23 02:00:35 1996 Ulrich Drepper <drepper@myware> - - * finddomain.c (stpcpy): Rename to stpcpy__ to prevent clashing - with external declaration. - -Sat Mar 2 00:47:09 1996 Ulrich Drepper <drepper@myware> - - * Makefile.in (all-no): Rename from all_no. - -Sat Feb 17 00:25:59 1996 Ulrich Drepper <drepper@myware> - - * gettextP.h [loaded_domain]: Array `successor' must now contain up - to 63 elements (because of codeset name normalization). - - * finddomain.c: Implement codeset name normalization. - -Thu Feb 15 04:39:09 1996 Ulrich Drepper <drepper@myware> - - * Makefile.in (all): Define to `all-@USE_NLS@'. - (all-yes, all_no): New goals. `all-no' is noop, `all-yes' - is former all. - -Mon Jan 15 21:46:01 1996 Howard Gayle <howard@hal.com> - - * localealias.c (alias_compare): Increment string pointers in loop - of strcasecmp replacement. - -Fri Dec 29 21:16:34 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (install-src): Who commented this goal out ? :-) - -Fri Dec 29 15:08:16 1995 Ulrich Drepper <drepper@myware> - - * dcgettext.c (DCGETTEXT): Save `errno'. Failing system calls - should not effect it because a missing catalog is no error. - Reported by Harald K<o:>nig <koenig@tat.physik.uni-tuebingen.de>. - -Tue Dec 19 22:09:13 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (Makefile): Explicitly use $(SHELL) for running - shell scripts. - -Fri Dec 15 17:34:59 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * Makefile.in (install-src): Only install library and header when - we use the own implementation. Don't do it when using the - system's gettext or catgets functions. - - * dcgettext.c (find_msg): Must not swap domain->hash_size here. - -Sat Dec 9 16:24:37 1995 Ulrich Drepper <drepper@myware> - - * localealias.c, libintl.inst, libgettext.h, hash-string.h, - gettextP.h, finddomain.c, dcgettext.c, cat-compat.c: - Use PARAMS instead of __P. Suggested by Roland McGrath. - -Tue Dec 5 11:39:14 1995 Larry Schwimmer <rosebud@cyclone.stanford.edu> - - * libgettext.h: Use `#if !defined (_LIBINTL_H)' instead of `#if - !_LIBINTL_H' because Solaris defines _LIBINTL_H as empty. - -Mon Dec 4 15:42:07 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (install-src): - Install libintl.inst instead of libintl.h.install. - -Sat Dec 2 22:51:38 1995 Marcus Daniels <marcus@sysc.pdx.edu> - - * cat-compat.c (textdomain): - Reverse order in which files are tried you load. First - try local file, when this failed absolute path. - -Wed Nov 29 02:03:53 1995 Nelson H. F. Beebe <beebe@math.utah.edu> - - * cat-compat.c (bindtextdomain): Add missing { }. - -Sun Nov 26 18:21:41 1995 Ulrich Drepper <drepper@myware> - - * libintl.inst: Add missing __P definition. Reported by Nelson Beebe. - - * Makefile.in: - Add dummy `all' and `dvi' goals. Reported by Tom Tromey. - -Sat Nov 25 16:12:01 1995 Franc,ois Pinard <pinard@iro.umontreal.ca> - - * hash-string.h: Capitalize arguments of macros. - -Sat Nov 25 12:01:36 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (DISTFILES): Prevent files names longer than 13 - characters. libintl.h.glibc->libintl.glibc, - libintl.h.install->libintl.inst. Reported by Joshua R. Poulson. - -Sat Nov 25 11:31:12 1995 Eric Backus <ericb@lsid.hp.com> - - * dcgettext.c: Fix bug in preprocessor conditionals. - -Sat Nov 25 02:35:27 1995 Nelson H. F. Beebe <beebe@math.utah.edu> - - * libgettext.h: Solaris cc does not understand - #if !SYMBOL1 && !SYMBOL2. Sad but true. - -Thu Nov 23 16:22:14 1995 Ulrich Drepper <drepper@myware> - - * hash-string.h (hash_string): - Fix for machine with >32 bit `unsigned long's. - - * dcgettext.c (DCGETTEXT): - Fix horrible bug in loop for alternative translation. - -Thu Nov 23 01:45:29 1995 Ulrich Drepper <drepper@myware> - - * po2tbl.sed.in, linux-msg.sed, xopen-msg.sed: - Some further simplifications in message number generation. - -Mon Nov 20 21:08:43 1995 Ulrich Drepper <drepper@myware> - - * libintl.h.glibc: Use __const instead of const in prototypes. - - * Makefile.in (install-src): - Install libintl.h.install instead of libintl.h. This - is a stripped-down version. Suggested by Peter Miller. - - * libintl.h.install, libintl.h.glibc: Initial revision. - - * localealias.c (_nl_expand_alias, read_alias_file): - Protect prototypes in type casts by __P. - -Tue Nov 14 16:43:58 1995 Ulrich Drepper <drepper@myware> - - * hash-string.h: Correct prototype for hash_string. - -Sun Nov 12 12:42:30 1995 Ulrich Drepper <drepper@myware> - - * hash-string.h (hash_string): Add prototype. - - * gettextP.h: Fix copyright. - (SWAP): Add prototype. - -Wed Nov 8 22:56:33 1995 Ulrich Drepper <drepper@myware> - - * localealias.c (read_alias_file): Forgot sizeof. - Avoid calling *printf function. This introduces a big overhead. - Patch by Roland McGrath. - -Tue Nov 7 14:21:08 1995 Ulrich Drepper <drepper@myware> - - * finddomain.c, cat-compat.c: Wrong indentation in #if for stpcpy. - - * finddomain.c (stpcpy): - Define substitution function local. The macro was to flaky. - - * cat-compat.c: Fix typo. - - * xopen-msg.sed, linux-msg.sed: - While bringing message number to right place only accept digits. - - * linux-msg.sed, xopen-msg.sed: Now that the counter does not have - leading 0s we don't need to remove them. Reported by Marcus - Daniels. - - * Makefile.in (../po/cat-id-tbl.o): Use $(top_srdir) in - dependency. Reported by Marcus Daniels. - - * cat-compat.c: (stpcpy) [!_LIBC && !HAVE_STPCPY]: Define replacement. - Generally cleanup using #if instead of #ifndef. - - * Makefile.in: Correct typos in comment. By Franc,ois Pinard. - -Mon Nov 6 00:27:02 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (install-src): Don't install libintl.h and libintl.a - if we use an available gettext implementation. - -Sun Nov 5 22:02:08 1995 Ulrich Drepper <drepper@myware> - - * libgettext.h: Fix typo: HAVE_CATGETTS -> HAVE_CATGETS. Reported - by Franc,ois Pinard. - - * libgettext.h: Use #if instead of #ifdef/#ifndef. - - * finddomain.c: - Comments describing what has to be done should start with FIXME. - -Sun Nov 5 19:38:01 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (DISTFILES): Split. Use DISTFILES with normal meaning. - DISTFILES.common names the files common to both dist goals. - DISTFILES.gettext are the files only distributed in GNU gettext. - -Sun Nov 5 17:32:54 1995 Ulrich Drepper <drepper@myware> - - * dcgettext.c (DCGETTEXT): Correct searching in derived locales. - This was necessary since a change in _nl_find_msg several weeks - ago. I really don't know this is still not fixed. - -Sun Nov 5 12:43:12 1995 Ulrich Drepper <drepper@myware> - - * loadmsgcat.c (_nl_load_domain): Test for FILENAME == NULL. This - might mark a special condition. - - * finddomain.c (make_entry_rec): Don't make illegal entry as decided. - - * Makefile.in (dist): Suppress error message when ln failed. - Get files from $(srcdir) explicitly. - - * libgettext.h (gettext_const): Rename to gettext_noop. - -Fri Nov 3 07:36:50 1995 Ulrich Drepper <drepper@myware> - - * finddomain.c (make_entry_rec): - Protect against wrong locale names by testing mask. - - * libgettext.h (gettext_const): Add macro definition. - Capitalize macro arguments. - -Thu Nov 2 23:15:51 1995 Ulrich Drepper <drepper@myware> - - * finddomain.c (_nl_find_domain): - Test for pointer != NULL before accessing value. - Reported by Tom Tromey. - - * gettext.c (NULL): - Define as (void*)0 instad of 0. Reported by Franc,ois Pinard. - -Mon Oct 30 21:28:52 1995 Ulrich Drepper <drepper@myware> - - * po2tbl.sed.in: Serious typo bug fixed by Jim Meyering. - -Sat Oct 28 23:20:47 1995 Ulrich Drepper <drepper@myware> - - * libgettext.h: Disable dcgettext optimization for Solaris 2.3. - - * localealias.c (alias_compare): - Peter Miller reported that tolower in some systems is - even dumber than I thought. Protect call by `isupper'. - -Fri Oct 27 22:22:51 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (libdir, includedir): New variables. - (install-src): Install libintl.a and libintl.h in correct dirs. - -Fri Oct 27 22:07:29 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (SOURCES): Fix typo: intrl.compat.c -> intl-compat.c. - - * po2tbl.sed.in: Patch for buggy SEDs by Christian von Roques. - - * localealias.c: - Fix typo and superflous test. Reported by Christian von Roques. - -Fri Oct 6 11:52:05 1995 Ulrich Drepper <drepper@myware> - - * finddomain.c (_nl_find_domain): - Correct some remainder from the pre-CEN syntax. Now - we don't have a constant number of successors anymore. - -Wed Sep 27 21:41:13 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (DISTFILES): Add libintl.h.glibc. - - * Makefile.in (dist-libc): Add goal for packing sources for glibc. - (COMSRCS, COMHDRS): Splitted to separate sources shared with glibc. - - * loadmsgcat.c: Forget to continue #if line. - - * localealias.c: - [_LIBC]: Rename strcasecmp to __strcasecmp to keep ANSI C name - space clean. - - * dcgettext.c, finddomain.c: Better comment to last change. - - * loadmsgcat.c: - [_LIBC]: Rename fstat, open, close, read, mmap, and munmap to - __fstat, __open, __close, __read, __mmap, and __munmap resp - to keep ANSI C name space clean. - - * finddomain.c: - [_LIBC]: Rename stpcpy to __stpcpy to keep ANSI C name space clean. - - * dcgettext.c: - [_LIBC]: Rename getced and stpcpy to __getcwd and __stpcpy resp to - keep ANSI C name space clean. - - * libgettext.h: - Include sys/types.h for those old SysV systems out there. - Reported by Francesco Potorti`. - - * loadmsgcat.c (use_mmap): Define if compiled for glibc. - - * bindtextdom.c: Include all those standard headers - unconditionally if _LIBC is defined. - - * finddomain.c: Fix 2 times defiend -> defined. - - * textdomain.c: Include libintl.h instead of libgettext.h when - compiling for glibc. Include all those standard headers - unconditionally if _LIBC is defined. - - * localealias.c, loadmsgcat.c: Prepare to be compiled in glibc. - - * gettext.c: - Include libintl.h instead of libgettext.h when compiling for glibc. - Get NULL from stddef.h if we compile for glibc. - - * finddomain.c: Include libintl.h instead of libgettext.h when - compiling for glibc. Include all those standard headers - unconditionally if _LIBC is defined. - - * dcgettext.c: Include all those standard headers unconditionally - if _LIBC is defined. - - * dgettext.c: If compiled in glibc include libintl.h instead of - libgettext.h. - (locale.h): Don't rely on HAVE_LOCALE_H when compiling for glibc. - - * dcgettext.c: If compiled in glibc include libintl.h instead of - libgettext.h. - (getcwd): Don't rely on HAVE_GETCWD when compiling for glibc. - - * bindtextdom.c: - If compiled in glibc include libintl.h instead of libgettext.h. - -Mon Sep 25 22:23:06 1995 Ulrich Drepper <drepper@myware> - - * localealias.c (_nl_expand_alias): Don't call bsearch if NMAP <= 0. - Reported by Marcus Daniels. - - * cat-compat.c (bindtextdomain): - String used in putenv must not be recycled. - Reported by Marcus Daniels. - - * libgettext.h (__USE_GNU_GETTEXT): - Additional symbol to signal that we use GNU gettext - library. - - * cat-compat.c (bindtextdomain): - Fix bug with the strange stpcpy replacement. - Reported by Nelson Beebe. - -Sat Sep 23 08:23:51 1995 Ulrich Drepper <drepper@myware> - - * cat-compat.c: Include <string.h> for stpcpy prototype. - - * localealias.c (read_alias_file): - While expand strdup code temporary variable `cp' hided - higher level variable with same name. Rename to `tp'. - - * textdomain.c (textdomain): - Avoid warning by using temporary variable in strdup code. - - * finddomain.c (_nl_find_domain): Remove unused variable `application'. - -Thu Sep 21 15:51:44 1995 Ulrich Drepper <drepper@myware> - - * localealias.c (alias_compare): - Use strcasecmp() only if available. Else use - implementation in place. - - * intl-compat.c: - Wrapper functions now call *__ functions instead of __*. - - * libgettext.h: Declare prototypes for *__ functions instead for __*. - - * cat-compat.c, loadmsgcat.c: - Don't use xmalloc, xstrdup, and stpcpy. These functions are not part - of the standard libc and so prevent libintl.a from being used - standalone. - - * bindtextdom.c: - Don't use xmalloc, xstrdup, and stpcpy. These functions are not part - of the standard libc and so prevent libintl.a from being used - standalone. - Rename to bindtextdomain__ if not used in GNU C Library. - - * dgettext.c: - Rename function to dgettext__ if not used in GNU C Library. - - * gettext.c: - Don't use xmalloc, xstrdup, and stpcpy. These functions are not part - of the standard libc and so prevent libintl.a from being used - standalone. - Functions now called gettext__ if not used in GNU C Library. - - * dcgettext.c, localealias.c, textdomain.c, finddomain.c: - Don't use xmalloc, xstrdup, and stpcpy. These functions are not part - of the standard libc and so prevent libintl.a from being used - standalone. - -Sun Sep 17 23:14:49 1995 Ulrich Drepper <drepper@myware> - - * finddomain.c: Correct some bugs in handling of CEN standard - locale definitions. - -Thu Sep 7 01:49:28 1995 Ulrich Drepper <drepper@myware> - - * finddomain.c: Implement CEN syntax. - - * gettextP.h (loaded_domain): Extend number of successors to 31. - -Sat Aug 19 19:25:29 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (aliaspath): Remove path to X11 locale dir. - - * Makefile.in: Make install-src depend on install. This helps - gettext to install the sources and other packages can use the - install goal. - -Sat Aug 19 15:19:33 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (uninstall): Remove stuff installed by install-src. - -Tue Aug 15 13:13:53 1995 Ulrich Drepper <drepper@myware> - - * VERSION.in: Initial revision. - - * Makefile.in (DISTFILES): - Add VERSION file. This is not necessary for gettext, but - for other packages using this library. - -Tue Aug 15 06:16:44 1995 Ulrich Drepper <drepper@myware> - - * gettextP.h (_nl_find_domain): - New prototype after changing search strategy. - - * finddomain.c (_nl_find_domain): - We now try only to find a specified catalog. Fall back to other - catalogs listed in the locale list is now done in __dcgettext. - - * dcgettext.c (__dcgettext): - Now we provide message fall back even to different languages. - I.e. if a message is not available in one language all the other - in the locale list a tried. Formerly fall back was only possible - within one language. Implemented by moving one loop from - _nl_find_domain to here. - -Mon Aug 14 23:45:50 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (gettextsrcdir): - Directory where source of GNU gettext library are made - available. - (INSTALL, INSTALL_DATA): Programs used for installing sources. - (gettext-src): New. Rule to install GNU gettext sources for use in - gettextize shell script. - -Sun Aug 13 14:40:48 1995 Ulrich Drepper <drepper@myware> - - * loadmsgcat.c (_nl_load_domain): - Use mmap for loading only when munmap function is - also available. - - * Makefile.in (install): Depend on `all' goal. - -Wed Aug 9 11:04:33 1995 Ulrich Drepper <drepper@myware> - - * localealias.c (read_alias_file): - Do not overwrite '\n' when terminating alias value string. - - * localealias.c (read_alias_file): - Handle long lines. Ignore the rest not fitting in - the buffer after the initial `fgets' call. - -Wed Aug 9 00:54:29 1995 Ulrich Drepper <drepper@myware> - - * gettextP.h (_nl_load_domain): - Add prototype, replacing prototype for _nl_load_msg_cat. - - * finddomain.c (_nl_find_domain): - Remove unneeded variable filename and filename_len. - (expand_alias): Remove prototype because functions does not - exist anymore. - - * localealias.c (read_alias_file): - Change type of fname_len parameter to int. - (xmalloc): Add prototype. - - * loadmsgcat.c: Better prototypes for xmalloc. - -Tue Aug 8 22:30:39 1995 Ulrich Drepper <drepper@myware> - - * finddomain.c (_nl_find_domain): - Allow alias name to be constructed from the four components. - - * Makefile.in (aliaspath): New variable. Set to preliminary value. - (SOURCES): Add localealias.c. - (OBJECTS): Add localealias.o. - - * gettextP.h: Add prototype for _nl_expand_alias. - - * finddomain.c: Aliasing handled in intl/localealias.c. - - * localealias.c: Aliasing for locale names. - - * bindtextdom.c: Better prototypes for xmalloc and xstrdup. - -Mon Aug 7 23:47:42 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (DISTFILES): gettext.perl is now found in misc/. - - * cat-compat.c (bindtextdomain): - Correct implementation. dirname parameter was not used. - Reported by Marcus Daniels. - - * gettextP.h (loaded_domain): - New fields `successor' and `decided' for oo, lazy - message handling implementation. - - * dcgettext.c: - Adopt for oo, lazy message handliing. - Now we can inherit translations from less specific locales. - (find_msg): New function. - - * loadmsgcat.c, finddomain.c: - Complete rewrite. Implement oo, lazy message handling :-). - We now have an additional environment variable `LANGUAGE' with - a higher priority than LC_ALL for the LC_MESSAGE locale. - Here we can set a colon separated list of specifications each - of the form `language[_territory[.codeset]][@modifier]'. - -Sat Aug 5 09:55:42 1995 Ulrich Drepper <drepper@myware> - - * finddomain.c (unistd.h): - Include to get _PC_PATH_MAX defined on system having it. - -Fri Aug 4 22:42:00 1995 Ulrich Drepper <drepper@myware> - - * finddomain.c (stpcpy): Include prototype. - - * Makefile.in (dist): Remove `copying instead' message. - -Wed Aug 2 18:52:03 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (ID, TAGS): Do not use $^. - -Tue Aug 1 20:07:11 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (TAGS, ID): Use $^ as command argument. - (TAGS): Give etags -o option t write to current directory, - not $(srcdir). - (ID): Use $(srcdir) instead os $(top_srcdir)/src. - (distclean): Remove ID. - -Sun Jul 30 11:51:46 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (gnulocaledir): - New variable, always using share/ for data directory. - (DEFS): Add GNULOCALEDIR, used in finddomain.c. - - * finddomain.c (_nl_default_dirname): - Set to GNULOCALEDIR, because it always has to point - to the directory where GNU gettext Library writes it to. - - * intl-compat.c (textdomain, bindtextdomain): - Undefine macros before function definition. - -Sat Jul 22 01:10:02 1995 Ulrich Drepper <drepper@myware> - - * libgettext.h (_LIBINTL_H): - Protect definition in case where this file is included as - libgettext.h on Solaris machines. Add comment about this. - -Wed Jul 19 02:36:42 1995 Ulrich Drepper <drepper@myware> - - * intl-compat.c (textdomain): Correct typo. - -Wed Jul 19 01:51:35 1995 Ulrich Drepper <drepper@myware> - - * dcgettext.c (dcgettext): Function now called __dcgettext. - - * dgettext.c (dgettext): Now called __dgettext and calls - __dcgettext. - - * gettext.c (gettext): - Function now called __gettext and calls __dgettext. - - * textdomain.c (textdomain): Function now called __textdomain. - - * bindtextdom.c (bindtextdomain): Function now called - __bindtextdomain. - - * intl-compat.c: Initial revision. - - * Makefile.in (SOURCES): Add intl-compat.c. - (OBJECTS): We always compile the GNU gettext library functions. - OBJECTS contains all objects but cat-compat.o, ../po/cat-if-tbl.o, - and intl-compat.o. - (GETTOBJS): Contains now only intl-compat.o. - - * libgettext.h: - Re-include protection matches dualistic character of libgettext.h. - For all functions in GNU gettext library define __ counter part. - - * finddomain.c (strchr): Define as index if not found in C library. - (_nl_find_domain): For relative paths paste / in between. - -Tue Jul 18 16:37:45 1995 Ulrich Drepper <drepper@myware> - - * loadmsgcat.c, finddomain.c: Add inclusion of sys/types.h. - - * xopen-msg.sed: Fix bug with `msgstr ""' lines. - A little bit better comments. - -Tue Jul 18 01:18:27 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in: - po-mode.el, makelinks, combine-sh are now found in ../misc. - - * po-mode.el, makelinks, combine-sh, elisp-comp: - Moved to ../misc/. - - * libgettext.h, gettextP.h, gettext.h: Uniform test for __STDC__. - -Sun Jul 16 22:33:02 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (INSTALL, INSTALL_DATA): New variables. - (install-data, uninstall): Install/uninstall .elc file. - - * po-mode.el (Installation comment): - Add .pox as possible extension of .po files. - -Sun Jul 16 13:23:27 1995 Ulrich Drepper <drepper@myware> - - * elisp-comp: Complete new version by Franc,ois: This does not - fail when not compiling in the source directory. - -Sun Jul 16 00:12:17 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (../po/cat-id-tbl.o): - Use $(MAKE) instead of make for recursive make. - - * Makefile.in (.el.elc): Use $(SHELL) instead of /bin/sh. - (install-exec): Add missing dummy goal. - (install-data, uninstall): @ in multi-line shell command at - beginning, not in front of echo. Reported by Eric Backus. - -Sat Jul 15 00:21:28 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (DISTFILES): - Rename libgettext.perl to gettext.perl to fit in 14 chars - file systems. - - * gettext.perl: - Rename to gettext.perl to fit in 14 chars file systems. - -Thu Jul 13 23:17:20 1995 Ulrich Drepper <drepper@myware> - - * cat-compat.c: If !STDC_HEADERS try to include malloc.h. - -Thu Jul 13 20:55:02 1995 Ulrich Drepper <drepper@myware> - - * po2tbl.sed.in: Pretty printing. - - * linux-msg.sed, xopen-msg.sed: - Correct bugs with handling substitute flags in branches. - - * hash-string.h (hash_string): - Old K&R compilers don't under stand `unsigned char'. - - * gettext.h (nls_uint32): - Some old K&R compilers (eg HP) don't understand `unsigned int'. - - * cat-compat.c (msg_to_cat_id): De-ANSI-fy prototypes. - -Thu Jul 13 01:34:33 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (ELCFILES): New variable. - (DISTFILES): Add elisp-comp. - Add implicit rule for .el -> .elc compilation. - (install-data): install $ELCFILES - (clean): renamed po-to-tbl and po-to-msg to po2tbl and po2msg resp. - - * elisp-comp: Initial revision - -Wed Jul 12 16:14:52 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in: - cat-id-tbl.c is now found in po/. This enables us to use an identical - intl/ directory in all packages. - - * dcgettext.c (dcgettext): hashing does not work for table size <= 2. - - * textdomain.c: fix typo (#if def -> #if defined) - -Tue Jul 11 18:44:43 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in (stamp-cat-id): use top_srcdir to address source files - (DISTFILES,distclean): move tupdate.perl to src/ - - * po-to-tbl.sed.in: - add additional jump to clear change flag to recognize multiline strings - -Tue Jul 11 01:32:50 1995 Ulrich Drepper <drepper@myware> - - * textdomain.c: Protect inclusion of stdlib.h and string.h. - - * loadmsgcat.c: Protect inclusion of stdlib.h. - - * libgettext.h: Protect inclusion of locale.h. - Allow use in C++ programs. - Define NULL is not happened already. - - * Makefile.in (DISTFILES): ship po-to-tbl.sed.in instead of - po-to-tbl.sed. - (distclean): remove po-to-tbl.sed and tupdate.perl. - - * tupdate.perl.in: Substitute Perl path even in exec line. - Don't include entries without translation from old .po file. - -Tue Jul 4 00:41:51 1995 Ulrich Drepper <drepper@myware> - - * tupdate.perl.in: use "Updated: " in msgid "". - - * cat-compat.c: Fix typo (LOCALDIR -> LOCALEDIR). - Define getenv if !__STDC__. - - * bindtextdom.c: Protect stdlib.h and string.h inclusion. - Define free if !__STDC__. - - * finddomain.c: Change DEF_MSG_DOM_DIR to LOCALEDIR. - Define free if !__STDC__. - - * cat-compat.c: Change DEF_MSG_DOM_DIR to LOCALEDIR. - -Mon Jul 3 23:56:30 1995 Ulrich Drepper <drepper@myware> - - * Makefile.in: Use LOCALEDIR instead of DEF_MSG_DOM_DIR. - Remove unneeded $(srcdir) from Makefile.in dependency. - - * makelinks: Add copyright and short description. - - * po-mode.el: Last version for 0.7. - - * tupdate.perl.in: Fix die message. - - * dcgettext.c: Protect include of string.h. - - * gettext.c: Protect include of stdlib.h and further tries to get NULL. - - * finddomain.c: Some corrections in includes. - - * Makefile.in (INCLUDES): Prune list correct path to Makefile.in. - - * po-to-tbl.sed: Adopt for new .po file format. - - * linux-msg.sed, xopen-msg.sed: Adopt for new .po file format. - -Sun Jul 2 23:55:03 1995 Ulrich Drepper <drepper@myware> - - * tupdate.perl.in: Complete rewrite for new .po file format. - -Sun Jul 2 02:06:50 1995 Ulrich Drepper <drepper@myware> - - * First official release. This directory contains all the code - needed to internationalize own packages. It provides functions - which allow to use the X/Open catgets function with an interface - like the Uniforum gettext function. For system which does not - have neither of those a complete implementation is provided. diff -Nru console-tools-0.2.3/intl/dcgettext.c console-tools-0.2.3/intl/dcgettext.c --- console-tools-0.2.3/intl/dcgettext.c 1999-03-07 16:41:22.000000000 +0000 +++ console-tools-0.2.3/intl/dcgettext.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,655 +0,0 @@ -/* Implementation of the dcgettext(3) function. - Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#include <sys/types.h> - -#if defined __GNUC__ && !defined C_ALLOCA -# define alloca __builtin_alloca -# define HAVE_ALLOCA 1 -#else -# if (defined HAVE_ALLOCA_H || defined _LIBC) && !defined C_ALLOCA -# include <alloca.h> -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca -char *alloca (); -# endif -# endif -# endif -#endif - -#include <errno.h> -#ifndef errno -extern int errno; -#endif -#ifndef __set_errno -# define __set_errno(val) errno = (val) -#endif - -#if defined STDC_HEADERS || defined _LIBC -# include <stdlib.h> -#else -char *getenv (); -# ifdef HAVE_MALLOC_H -# include <malloc.h> -# else -void free (); -# endif -#endif - -#if defined HAVE_STRING_H || defined _LIBC -# ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -# endif -# include <string.h> -#else -# include <strings.h> -#endif -#if !HAVE_STRCHR && !defined _LIBC -# ifndef strchr -# define strchr index -# endif -#endif - -#if defined HAVE_UNISTD_H || defined _LIBC -# include <unistd.h> -#endif - -#include "gettext.h" -#include "gettextP.h" -#ifdef _LIBC -# include <libintl.h> -#else -# include "libgettext.h" -#endif -#include "hash-string.h" - -/* @@ end of prolog @@ */ - -#ifdef _LIBC -/* Rename the non ANSI C functions. This is required by the standard - because some ANSI C functions will require linking with this object - file and the name space must not be polluted. */ -# define getcwd __getcwd -# ifndef stpcpy -# define stpcpy __stpcpy -# endif -#else -# if !defined HAVE_GETCWD -char *getwd (); -# define getcwd(buf, max) getwd (buf) -# else -char *getcwd (); -# endif -# ifndef HAVE_STPCPY -static char *stpcpy PARAMS ((char *dest, const char *src)); -# endif -#endif - -/* Amount to increase buffer size by in each try. */ -#define PATH_INCR 32 - -/* The following is from pathmax.h. */ -/* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define - PATH_MAX but might cause redefinition warnings when sys/param.h is - later included (as on MORE/BSD 4.3). */ -#if defined(_POSIX_VERSION) || (defined(HAVE_LIMITS_H) && !defined(__GNUC__)) -# include <limits.h> -#endif - -#ifndef _POSIX_PATH_MAX -# define _POSIX_PATH_MAX 255 -#endif - -#if !defined(PATH_MAX) && defined(_PC_PATH_MAX) -# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX)) -#endif - -/* Don't include sys/param.h if it already has been. */ -#if defined(HAVE_SYS_PARAM_H) && !defined(PATH_MAX) && !defined(MAXPATHLEN) -# include <sys/param.h> -#endif - -#if !defined(PATH_MAX) && defined(MAXPATHLEN) -# define PATH_MAX MAXPATHLEN -#endif - -#ifndef PATH_MAX -# define PATH_MAX _POSIX_PATH_MAX -#endif - -/* XPG3 defines the result of `setlocale (category, NULL)' as: - ``Directs `setlocale()' to query `category' and return the current - setting of `local'.'' - However it does not specify the exact format. And even worse: POSIX - defines this not at all. So we can use this feature only on selected - system (e.g. those using GNU C Library). */ -#ifdef _LIBC -# define HAVE_LOCALE_NULL -#endif - -/* Name of the default domain used for gettext(3) prior any call to - textdomain(3). The default value for this is "messages". */ -const char _nl_default_default_domain[] = "messages"; - -/* Value used as the default domain for gettext(3). */ -const char *_nl_current_default_domain = _nl_default_default_domain; - -/* Contains the default location of the message catalogs. */ -const char _nl_default_dirname[] = GNULOCALEDIR; - -/* List with bindings of specific domains created by bindtextdomain() - calls. */ -struct binding *_nl_domain_bindings; - -/* Prototypes for local functions. */ -static char *find_msg PARAMS ((struct loaded_l10nfile *domain_file, - const char *msgid)) internal_function; -static const char *category_to_name PARAMS ((int category)) internal_function; -static const char *guess_category_value PARAMS ((int category, - const char *categoryname)) - internal_function; - - -/* For those loosing systems which don't have `alloca' we have to add - some additional code emulating it. */ -#ifdef HAVE_ALLOCA -/* Nothing has to be done. */ -# define ADD_BLOCK(list, address) /* nothing */ -# define FREE_BLOCKS(list) /* nothing */ -#else -struct block_list -{ - void *address; - struct block_list *next; -}; -# define ADD_BLOCK(list, addr) \ - do { \ - struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \ - /* If we cannot get a free block we cannot add the new element to \ - the list. */ \ - if (newp != NULL) { \ - newp->address = (addr); \ - newp->next = (list); \ - (list) = newp; \ - } \ - } while (0) -# define FREE_BLOCKS(list) \ - do { \ - while (list != NULL) { \ - struct block_list *old = list; \ - list = list->next; \ - free (old); \ - } \ - } while (0) -# undef alloca -# define alloca(size) (malloc (size)) -#endif /* have alloca */ - - -/* Names for the libintl functions are a problem. They must not clash - with existing names and they should follow ANSI C. But this source - code is also used in GNU C Library where the names have a __ - prefix. So we have to make a difference here. */ -#ifdef _LIBC -# define DCGETTEXT __dcgettext -#else -# define DCGETTEXT dcgettext__ -#endif - -/* Checking whether the binaries runs SUID must be done and glibc provides - easier methods therefore we make a difference here. */ -#ifdef _LIBC -# define ENABLE_SECURE __libc_enable_secure -# define DETERMINE_SECURE -#else -static int enable_secure; -# define ENABLE_SECURE (enable_secure == 1) -# define DETERMINE_SECURE \ - if (enable_secure == 0) \ - { \ - if (getuid () != geteuid () || getgid () != getegid ()) \ - enable_secure = 1; \ - else \ - enable_secure = -1; \ - } -#endif - -/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY - locale. */ -char * -DCGETTEXT (domainname, msgid, category) - const char *domainname; - const char *msgid; - int category; -{ -#ifndef HAVE_ALLOCA - struct block_list *block_list = NULL; -#endif - struct loaded_l10nfile *domain; - struct binding *binding; - const char *categoryname; - const char *categoryvalue; - char *dirname, *xdomainname; - char *single_locale; - char *retval; - int saved_errno = errno; - - /* If no real MSGID is given return NULL. */ - if (msgid == NULL) - return NULL; - - /* See whether this is a SUID binary or not. */ - DETERMINE_SECURE; - - /* If DOMAINNAME is NULL, we are interested in the default domain. If - CATEGORY is not LC_MESSAGES this might not make much sense but the - definition left this undefined. */ - if (domainname == NULL) - domainname = _nl_current_default_domain; - - /* First find matching binding. */ - for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) - { - int compare = strcmp (domainname, binding->domainname); - if (compare == 0) - /* We found it! */ - break; - if (compare < 0) - { - /* It is not in the list. */ - binding = NULL; - break; - } - } - - if (binding == NULL) - dirname = (char *) _nl_default_dirname; - else if (binding->dirname[0] == '/') - dirname = binding->dirname; - else - { - /* We have a relative path. Make it absolute now. */ - size_t dirname_len = strlen (binding->dirname) + 1; - size_t path_max; - char *ret; - - path_max = (unsigned int) PATH_MAX; - path_max += 2; /* The getcwd docs say to do this. */ - - dirname = (char *) alloca (path_max + dirname_len); - ADD_BLOCK (block_list, dirname); - - __set_errno (0); - while ((ret = getcwd (dirname, path_max)) == NULL && errno == ERANGE) - { - path_max += PATH_INCR; - dirname = (char *) alloca (path_max + dirname_len); - ADD_BLOCK (block_list, dirname); - __set_errno (0); - } - - if (ret == NULL) - { - /* We cannot get the current working directory. Don't signal an - error but simply return the default string. */ - FREE_BLOCKS (block_list); - __set_errno (saved_errno); - return (char *) msgid; - } - - stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname); - } - - /* Now determine the symbolic name of CATEGORY and its value. */ - categoryname = category_to_name (category); - categoryvalue = guess_category_value (category, categoryname); - - xdomainname = (char *) alloca (strlen (categoryname) - + strlen (domainname) + 5); - ADD_BLOCK (block_list, xdomainname); - - stpcpy (stpcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"), - domainname), - ".mo"); - - /* Creating working area. */ - single_locale = (char *) alloca (strlen (categoryvalue) + 1); - ADD_BLOCK (block_list, single_locale); - - - /* Search for the given string. This is a loop because we perhaps - got an ordered list of languages to consider for the translation. */ - while (1) - { - /* Make CATEGORYVALUE point to the next element of the list. */ - while (categoryvalue[0] != '\0' && categoryvalue[0] == ':') - ++categoryvalue; - if (categoryvalue[0] == '\0') - { - /* The whole contents of CATEGORYVALUE has been searched but - no valid entry has been found. We solve this situation - by implicitly appending a "C" entry, i.e. no translation - will take place. */ - single_locale[0] = 'C'; - single_locale[1] = '\0'; - } - else - { - char *cp = single_locale; - while (categoryvalue[0] != '\0' && categoryvalue[0] != ':') - *cp++ = *categoryvalue++; - *cp = '\0'; - - /* When this is a SUID binary we must not allow accessing files - outside the dedicated directories. */ - if (ENABLE_SECURE - && (memchr (single_locale, '/', - _nl_find_language (single_locale) - single_locale) - != NULL)) - /* Ingore this entry. */ - continue; - } - - /* If the current locale value is C (or POSIX) we don't load a - domain. Return the MSGID. */ - if (strcmp (single_locale, "C") == 0 - || strcmp (single_locale, "POSIX") == 0) - { - FREE_BLOCKS (block_list); - __set_errno (saved_errno); - return (char *) msgid; - } - - - /* Find structure describing the message catalog matching the - DOMAINNAME and CATEGORY. */ - domain = _nl_find_domain (dirname, single_locale, xdomainname); - - if (domain != NULL) - { - retval = find_msg (domain, msgid); - - if (retval == NULL) - { - int cnt; - - for (cnt = 0; domain->successor[cnt] != NULL; ++cnt) - { - retval = find_msg (domain->successor[cnt], msgid); - - if (retval != NULL) - break; - } - } - - if (retval != NULL) - { - FREE_BLOCKS (block_list); - __set_errno (saved_errno); - return retval; - } - } - } - /* NOTREACHED */ -} - -#ifdef _LIBC -/* Alias for function name in GNU C Library. */ -weak_alias (__dcgettext, dcgettext); -#endif - - -static char * -internal_function -find_msg (domain_file, msgid) - struct loaded_l10nfile *domain_file; - const char *msgid; -{ - size_t act = 0; - size_t top, bottom; - struct loaded_domain *domain; - - if (domain_file->decided == 0) - _nl_load_domain (domain_file); - - if (domain_file->data == NULL) - return NULL; - - domain = (struct loaded_domain *) domain_file->data; - - /* Locate the MSGID and its translation. */ - if (domain->hash_size > 2 && domain->hash_tab != NULL) - { - /* Use the hashing table. */ - nls_uint32 len = strlen (msgid); - nls_uint32 hash_val = hash_string (msgid); - nls_uint32 idx = hash_val % domain->hash_size; - nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2)); - nls_uint32 nstr = W (domain->must_swap, domain->hash_tab[idx]); - - if (nstr == 0) - /* Hash table entry is empty. */ - return NULL; - - if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) == len - && strcmp (msgid, - domain->data + W (domain->must_swap, - domain->orig_tab[nstr - 1].offset)) == 0) - return (char *) domain->data + W (domain->must_swap, - domain->trans_tab[nstr - 1].offset); - - while (1) - { - if (idx >= domain->hash_size - incr) - idx -= domain->hash_size - incr; - else - idx += incr; - - nstr = W (domain->must_swap, domain->hash_tab[idx]); - if (nstr == 0) - /* Hash table entry is empty. */ - return NULL; - - if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) == len - && strcmp (msgid, - domain->data + W (domain->must_swap, - domain->orig_tab[nstr - 1].offset)) - == 0) - return (char *) domain->data - + W (domain->must_swap, domain->trans_tab[nstr - 1].offset); - } - /* NOTREACHED */ - } - - /* Now we try the default method: binary search in the sorted - array of messages. */ - bottom = 0; - top = domain->nstrings; - while (bottom < top) - { - int cmp_val; - - act = (bottom + top) / 2; - cmp_val = strcmp (msgid, domain->data - + W (domain->must_swap, - domain->orig_tab[act].offset)); - if (cmp_val < 0) - top = act; - else if (cmp_val > 0) - bottom = act + 1; - else - break; - } - - /* If an translation is found return this. */ - return bottom >= top ? NULL : (char *) domain->data - + W (domain->must_swap, - domain->trans_tab[act].offset); -} - - -/* Return string representation of locale CATEGORY. */ -static const char * -internal_function -category_to_name (category) - int category; -{ - const char *retval; - - switch (category) - { -#ifdef LC_COLLATE - case LC_COLLATE: - retval = "LC_COLLATE"; - break; -#endif -#ifdef LC_CTYPE - case LC_CTYPE: - retval = "LC_CTYPE"; - break; -#endif -#ifdef LC_MONETARY - case LC_MONETARY: - retval = "LC_MONETARY"; - break; -#endif -#ifdef LC_NUMERIC - case LC_NUMERIC: - retval = "LC_NUMERIC"; - break; -#endif -#ifdef LC_TIME - case LC_TIME: - retval = "LC_TIME"; - break; -#endif -#ifdef LC_MESSAGES - case LC_MESSAGES: - retval = "LC_MESSAGES"; - break; -#endif -#ifdef LC_RESPONSE - case LC_RESPONSE: - retval = "LC_RESPONSE"; - break; -#endif -#ifdef LC_ALL - case LC_ALL: - /* This might not make sense but is perhaps better than any other - value. */ - retval = "LC_ALL"; - break; -#endif - default: - /* If you have a better idea for a default value let me know. */ - retval = "LC_XXX"; - } - - return retval; -} - -/* Guess value of current locale from value of the environment variables. */ -static const char * -internal_function -guess_category_value (category, categoryname) - int category; - const char *categoryname; -{ - const char *retval; - - /* The highest priority value is the `LANGUAGE' environment - variable. This is a GNU extension. */ - retval = getenv ("LANGUAGE"); - if (retval != NULL && retval[0] != '\0') - return retval; - - /* `LANGUAGE' is not set. So we have to proceed with the POSIX - methods of looking to `LC_ALL', `LC_xxx', and `LANG'. On some - systems this can be done by the `setlocale' function itself. */ -#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL - return setlocale (category, NULL); -#else - /* Setting of LC_ALL overwrites all other. */ - retval = getenv ("LC_ALL"); - if (retval != NULL && retval[0] != '\0') - return retval; - - /* Next comes the name of the desired category. */ - retval = getenv (categoryname); - if (retval != NULL && retval[0] != '\0') - return retval; - - /* Last possibility is the LANG environment variable. */ - retval = getenv ("LANG"); - if (retval != NULL && retval[0] != '\0') - return retval; - - /* We use C as the default domain. POSIX says this is implementation - defined. */ - return "C"; -#endif -} - -/* @@ begin of epilog @@ */ - -/* We don't want libintl.a to depend on any other library. So we - avoid the non-standard function stpcpy. In GNU C Library this - function is available, though. Also allow the symbol HAVE_STPCPY - to be defined. */ -#if !_LIBC && !HAVE_STPCPY -static char * -stpcpy (dest, src) - char *dest; - const char *src; -{ - while ((*dest++ = *src++) != '\0') - /* Do nothing. */ ; - return dest - 1; -} -#endif - - -#ifdef _LIBC -/* If we want to free all resources we have to do some work at - program's end. */ -static void __attribute__ ((unused)) -free_mem (void) -{ - struct binding *runp; - - for (runp = _nl_domain_bindings; runp != NULL; runp = runp->next) - { - free (runp->domainname); - if (runp->dirname != _nl_default_dirname) - /* Yes, this is a pointer comparison. */ - free (runp->dirname); - } - - if (_nl_current_default_domain != _nl_default_default_domain) - /* Yes, again a pointer comparison. */ - free ((char *) _nl_current_default_domain); -} - -text_set_element (__libc_subfreeres, free_mem); -#endif diff -Nru console-tools-0.2.3/intl/dgettext.c console-tools-0.2.3/intl/dgettext.c --- console-tools-0.2.3/intl/dgettext.c 1999-03-07 16:41:22.000000000 +0000 +++ console-tools-0.2.3/intl/dgettext.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,59 +0,0 @@ -/* Implementation of the dgettext(3) function - Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#if defined HAVE_LOCALE_H || defined _LIBC -# include <locale.h> -#endif - -#ifdef _LIBC -# include <libintl.h> -#else -# include "libgettext.h" -#endif - -/* @@ end of prolog @@ */ - -/* Names for the libintl functions are a problem. They must not clash - with existing names and they should follow ANSI C. But this source - code is also used in GNU C Library where the names have a __ - prefix. So we have to make a difference here. */ -#ifdef _LIBC -# define DGETTEXT __dgettext -# define DCGETTEXT __dcgettext -#else -# define DGETTEXT dgettext__ -# define DCGETTEXT dcgettext__ -#endif - -/* Look up MSGID in the DOMAINNAME message catalog of the current - LC_MESSAGES locale. */ -char * -DGETTEXT (domainname, msgid) - const char *domainname; - const char *msgid; -{ - return DCGETTEXT (domainname, msgid, LC_MESSAGES); -} - -#ifdef _LIBC -/* Alias for function name in GNU C Library. */ -weak_alias (__dgettext, dgettext); -#endif diff -Nru console-tools-0.2.3/intl/explodename.c console-tools-0.2.3/intl/explodename.c --- console-tools-0.2.3/intl/explodename.c 1999-03-07 16:41:23.000000000 +0000 +++ console-tools-0.2.3/intl/explodename.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,197 +0,0 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. - Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#if defined STDC_HEADERS || defined _LIBC -# include <stdlib.h> -#endif - -#if defined HAVE_STRING_H || defined _LIBC -# include <string.h> -#else -# include <strings.h> -#endif -#include <sys/types.h> - -#include "loadinfo.h" - -/* On some strange systems still no definition of NULL is found. Sigh! */ -#ifndef NULL -# if defined __STDC__ && __STDC__ -# define NULL ((void *) 0) -# else -# define NULL 0 -# endif -#endif - -/* @@ end of prolog @@ */ - -char * -_nl_find_language (const char *name) -{ - while (name[0] != '\0' && name[0] != '_' && name[0] != '@' - && name[0] != '+' && name[0] != ',') - ++name; - - return (char *) name; -} - - -int -_nl_explode_name (name, language, modifier, territory, codeset, - normalized_codeset, special, sponsor, revision) - char *name; - const char **language; - const char **modifier; - const char **territory; - const char **codeset; - const char **normalized_codeset; - const char **special; - const char **sponsor; - const char **revision; -{ - enum { undecided, xpg, cen } syntax; - char *cp; - int mask; - - *modifier = NULL; - *territory = NULL; - *codeset = NULL; - *normalized_codeset = NULL; - *special = NULL; - *sponsor = NULL; - *revision = NULL; - - /* Now we determine the single parts of the locale name. First - look for the language. Termination symbols are `_' and `@' if - we use XPG4 style, and `_', `+', and `,' if we use CEN syntax. */ - mask = 0; - syntax = undecided; - *language = cp = name; - cp = _nl_find_language (*language); - - if (*language == cp) - /* This does not make sense: language has to be specified. Use - this entry as it is without exploding. Perhaps it is an alias. */ - cp = strchr (*language, '\0'); - else if (cp[0] == '_') - { - /* Next is the territory. */ - cp[0] = '\0'; - *territory = ++cp; - - while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@' - && cp[0] != '+' && cp[0] != ',' && cp[0] != '_') - ++cp; - - mask |= TERRITORY; - - if (cp[0] == '.') - { - /* Next is the codeset. */ - syntax = xpg; - cp[0] = '\0'; - *codeset = ++cp; - - while (cp[0] != '\0' && cp[0] != '@') - ++cp; - - mask |= XPG_CODESET; - - if (*codeset != cp && (*codeset)[0] != '\0') - { - *normalized_codeset = _nl_normalize_codeset (*codeset, - cp - *codeset); - if (strcmp (*codeset, *normalized_codeset) == 0) - free ((char *) *normalized_codeset); - else - mask |= XPG_NORM_CODESET; - } - } - } - - if (cp[0] == '@' || (syntax != xpg && cp[0] == '+')) - { - /* Next is the modifier. */ - syntax = cp[0] == '@' ? xpg : cen; - cp[0] = '\0'; - *modifier = ++cp; - - while (syntax == cen && cp[0] != '\0' && cp[0] != '+' - && cp[0] != ',' && cp[0] != '_') - ++cp; - - mask |= XPG_MODIFIER | CEN_AUDIENCE; - } - - if (syntax != xpg && (cp[0] == '+' || cp[0] == ',' || cp[0] == '_')) - { - syntax = cen; - - if (cp[0] == '+') - { - /* Next is special application (CEN syntax). */ - cp[0] = '\0'; - *special = ++cp; - - while (cp[0] != '\0' && cp[0] != ',' && cp[0] != '_') - ++cp; - - mask |= CEN_SPECIAL; - } - - if (cp[0] == ',') - { - /* Next is sponsor (CEN syntax). */ - cp[0] = '\0'; - *sponsor = ++cp; - - while (cp[0] != '\0' && cp[0] != '_') - ++cp; - - mask |= CEN_SPONSOR; - } - - if (cp[0] == '_') - { - /* Next is revision (CEN syntax). */ - cp[0] = '\0'; - *revision = ++cp; - - mask |= CEN_REVISION; - } - } - - /* For CEN syntax values it might be important to have the - separator character in the file name, not for XPG syntax. */ - if (syntax == xpg) - { - if (*territory != NULL && (*territory)[0] == '\0') - mask &= ~TERRITORY; - - if (*codeset != NULL && (*codeset)[0] == '\0') - mask &= ~XPG_CODESET; - - if (*modifier != NULL && (*modifier)[0] == '\0') - mask &= ~XPG_MODIFIER; - } - - return mask; -} diff -Nru console-tools-0.2.3/intl/finddomain.c console-tools-0.2.3/intl/finddomain.c --- console-tools-0.2.3/intl/finddomain.c 1999-03-07 16:41:22.000000000 +0000 +++ console-tools-0.2.3/intl/finddomain.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,216 +0,0 @@ -/* Handle list of needed message catalogs - Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. - Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#include <ctype.h> -#include <errno.h> -#include <stdio.h> -#include <sys/types.h> - -#if defined STDC_HEADERS || defined _LIBC -# include <stdlib.h> -#else -# ifdef HAVE_MALLOC_H -# include <malloc.h> -# else -void free (); -# endif -#endif - -#if defined HAVE_STRING_H || defined _LIBC -# include <string.h> -#else -# include <strings.h> -# ifndef memcpy -# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num) -# endif -#endif -#if !HAVE_STRCHR && !defined _LIBC -# ifndef strchr -# define strchr index -# endif -#endif - -#if defined HAVE_UNISTD_H || defined _LIBC -# include <unistd.h> -#endif - -#include "gettext.h" -#include "gettextP.h" -#ifdef _LIBC -# include <libintl.h> -#else -# include "libgettext.h" -#endif - -/* @@ end of prolog @@ */ -/* List of already loaded domains. */ -static struct loaded_l10nfile *_nl_loaded_domains; - - -/* Return a data structure describing the message catalog described by - the DOMAINNAME and CATEGORY parameters with respect to the currently - established bindings. */ -struct loaded_l10nfile * -internal_function -_nl_find_domain (dirname, locale, domainname) - const char *dirname; - char *locale; - const char *domainname; -{ - struct loaded_l10nfile *retval; - const char *language; - const char *modifier; - const char *territory; - const char *codeset; - const char *normalized_codeset; - const char *special; - const char *sponsor; - const char *revision; - const char *alias_value; - int mask; - - /* LOCALE can consist of up to four recognized parts for the XPG syntax: - - language[_territory[.codeset]][@modifier] - - and six parts for the CEN syntax: - - language[_territory][+audience][+special][,[sponsor][_revision]] - - Beside the first part all of them are allowed to be missing. If - the full specified locale is not found, the less specific one are - looked for. The various parts will be stripped off according to - the following order: - (1) revision - (2) sponsor - (3) special - (4) codeset - (5) normalized codeset - (6) territory - (7) audience/modifier - */ - - /* If we have already tested for this locale entry there has to - be one data set in the list of loaded domains. */ - retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname, - strlen (dirname) + 1, 0, locale, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, domainname, 0); - if (retval != NULL) - { - /* We know something about this locale. */ - int cnt; - - if (retval->decided == 0) - _nl_load_domain (retval); - - if (retval->data != NULL) - return retval; - - for (cnt = 0; retval->successor[cnt] != NULL; ++cnt) - { - if (retval->successor[cnt]->decided == 0) - _nl_load_domain (retval->successor[cnt]); - - if (retval->successor[cnt]->data != NULL) - break; - } - return cnt >= 0 ? retval : NULL; - /* NOTREACHED */ - } - - /* See whether the locale value is an alias. If yes its value - *overwrites* the alias name. No test for the original value is - done. */ - alias_value = _nl_expand_alias (locale); - if (alias_value != NULL) - { -#if defined _LIBC || defined HAVE_STRDUP - locale = strdup (alias_value); - if (locale == NULL) - return NULL; -#else - size_t len = strlen (alias_value) + 1; - locale = (char *) malloc (len); - if (locale == NULL) - return NULL; - - memcpy (locale, alias_value, len); -#endif - } - - /* Now we determine the single parts of the locale name. First - look for the language. Termination symbols are `_' and `@' if - we use XPG4 style, and `_', `+', and `,' if we use CEN syntax. */ - mask = _nl_explode_name (locale, &language, &modifier, &territory, - &codeset, &normalized_codeset, &special, - &sponsor, &revision); - - /* Create all possible locale entries which might be interested in - generalization. */ - retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname, - strlen (dirname) + 1, mask, language, territory, - codeset, normalized_codeset, modifier, special, - sponsor, revision, domainname, 1); - if (retval == NULL) - /* This means we are out of core. */ - return NULL; - - if (retval->decided == 0) - _nl_load_domain (retval); - if (retval->data == NULL) - { - int cnt; - for (cnt = 0; retval->successor[cnt] != NULL; ++cnt) - { - if (retval->successor[cnt]->decided == 0) - _nl_load_domain (retval->successor[cnt]); - if (retval->successor[cnt]->data != NULL) - break; - } - } - - /* The room for an alias was dynamically allocated. Free it now. */ - if (alias_value != NULL) - free (locale); - - return retval; -} - - -#ifdef _LIBC -static void __attribute__ ((unused)) -free_mem (void) -{ - struct loaded_l10nfile *runp = _nl_loaded_domains; - - while (runp != NULL) - { - struct loaded_l10nfile *here = runp; - if (runp->data != NULL) - _nl_unload_domain ((struct loaded_domain *) runp->data); - runp = runp->next; - free (here); - } -} - -text_set_element (__libc_subfreeres, free_mem); -#endif diff -Nru console-tools-0.2.3/intl/gettext.c console-tools-0.2.3/intl/gettext.c --- console-tools-0.2.3/intl/gettext.c 1999-03-07 16:41:22.000000000 +0000 +++ console-tools-0.2.3/intl/gettext.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,70 +0,0 @@ -/* Implementation of gettext(3) function. - Copyright (C) 1995, 1997 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#ifdef _LIBC -# define __need_NULL -# include <stddef.h> -#else -# ifdef STDC_HEADERS -# include <stdlib.h> /* Just for NULL. */ -# else -# ifdef HAVE_STRING_H -# include <string.h> -# else -# define NULL ((void *) 0) -# endif -# endif -#endif - -#ifdef _LIBC -# include <libintl.h> -#else -# include "libgettext.h" -#endif - -/* @@ end of prolog @@ */ - -/* Names for the libintl functions are a problem. They must not clash - with existing names and they should follow ANSI C. But this source - code is also used in GNU C Library where the names have a __ - prefix. So we have to make a difference here. */ -#ifdef _LIBC -# define GETTEXT __gettext -# define DGETTEXT __dgettext -#else -# define GETTEXT gettext__ -# define DGETTEXT dgettext__ -#endif - -/* Look up MSGID in the current default message catalog for the current - LC_MESSAGES locale. If not found, returns MSGID itself (the default - text). */ -char * -GETTEXT (msgid) - const char *msgid; -{ - return DGETTEXT (NULL, msgid); -} - -#ifdef _LIBC -/* Alias for function name in GNU C Library. */ -weak_alias (__gettext, gettext); -#endif diff -Nru console-tools-0.2.3/intl/gettext.h console-tools-0.2.3/intl/gettext.h --- console-tools-0.2.3/intl/gettext.h 1999-03-07 16:41:22.000000000 +0000 +++ console-tools-0.2.3/intl/gettext.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,105 +0,0 @@ -/* Internal header for GNU gettext internationalization functions. - Copyright (C) 1995, 1997 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#ifndef _GETTEXT_H -#define _GETTEXT_H 1 - -#include <stdio.h> - -#if HAVE_LIMITS_H || _LIBC -# include <limits.h> -#endif - -/* @@ end of prolog @@ */ - -/* The magic number of the GNU message catalog format. */ -#define _MAGIC 0x950412de -#define _MAGIC_SWAPPED 0xde120495 - -/* Revision number of the currently used .mo (binary) file format. */ -#define MO_REVISION_NUMBER 0 - -/* The following contortions are an attempt to use the C preprocessor - to determine an unsigned integral type that is 32 bits wide. An - alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but - doing that would require that the configure script compile and *run* - the resulting executable. Locally running cross-compiled executables - is usually not possible. */ - -#if __STDC__ -# define UINT_MAX_32_BITS 4294967295U -#else -# define UINT_MAX_32_BITS 0xFFFFFFFF -#endif - -/* If UINT_MAX isn't defined, assume it's a 32-bit type. - This should be valid for all systems GNU cares about because - that doesn't include 16-bit systems, and only modern systems - (that certainly have <limits.h>) have 64+-bit integral types. */ - -#ifndef UINT_MAX -# define UINT_MAX UINT_MAX_32_BITS -#endif - -#if UINT_MAX == UINT_MAX_32_BITS -typedef unsigned nls_uint32; -#else -# if USHRT_MAX == UINT_MAX_32_BITS -typedef unsigned short nls_uint32; -# else -# if ULONG_MAX == UINT_MAX_32_BITS -typedef unsigned long nls_uint32; -# else - /* The following line is intended to throw an error. Using #error is - not portable enough. */ - "Cannot determine unsigned 32-bit data type." -# endif -# endif -#endif - - -/* Header for binary .mo file format. */ -struct mo_file_header -{ - /* The magic number. */ - nls_uint32 magic; - /* The revision number of the file format. */ - nls_uint32 revision; - /* The number of strings pairs. */ - nls_uint32 nstrings; - /* Offset of table with start offsets of original strings. */ - nls_uint32 orig_tab_offset; - /* Offset of table with start offsets of translation strings. */ - nls_uint32 trans_tab_offset; - /* Size of hashing table. */ - nls_uint32 hash_tab_size; - /* Offset of first hashing entry. */ - nls_uint32 hash_tab_offset; -}; - -struct string_desc -{ - /* Length of addressed string. */ - nls_uint32 length; - /* Offset of string in file. */ - nls_uint32 offset; -}; - -/* @@ begin of epilog @@ */ - -#endif /* gettext.h */ diff -Nru console-tools-0.2.3/intl/gettextP.h console-tools-0.2.3/intl/gettextP.h --- console-tools-0.2.3/intl/gettextP.h 1999-03-07 16:41:22.000000000 +0000 +++ console-tools-0.2.3/intl/gettextP.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ -/* Header describing internals of gettext library - Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. - Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifndef _GETTEXTP_H -#define _GETTEXTP_H - -#include "loadinfo.h" - -/* @@ end of prolog @@ */ - -#ifndef PARAMS -# if __STDC__ -# define PARAMS(args) args -# else -# define PARAMS(args) () -# endif -#endif - -#ifndef internal_function -# define internal_function -#endif - -#ifndef W -# define W(flag, data) ((flag) ? SWAP (data) : (data)) -#endif - - -#ifdef _LIBC -# include <byteswap.h> -# define SWAP(i) bswap_32 (i) -#else -static nls_uint32 SWAP PARAMS ((nls_uint32 i)); - -static inline nls_uint32 -SWAP (i) - nls_uint32 i; -{ - return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24); -} -#endif - - -struct loaded_domain -{ - const char *data; - int use_mmap; - size_t mmap_size; - int must_swap; - nls_uint32 nstrings; - struct string_desc *orig_tab; - struct string_desc *trans_tab; - nls_uint32 hash_size; - nls_uint32 *hash_tab; -}; - -struct binding -{ - struct binding *next; - char *domainname; - char *dirname; -}; - -struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname, - char *__locale, - const char *__domainname)) - internal_function; -void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain)) - internal_function; -void _nl_unload_domain PARAMS ((struct loaded_domain *__domain)) - internal_function; - -/* @@ begin of epilog @@ */ - -#endif /* gettextP.h */ diff -Nru console-tools-0.2.3/intl/hash-string.h console-tools-0.2.3/intl/hash-string.h --- console-tools-0.2.3/intl/hash-string.h 1999-03-07 16:41:22.000000000 +0000 +++ console-tools-0.2.3/intl/hash-string.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,59 +0,0 @@ -/* Implements a string hashing function. - Copyright (C) 1995, 1997 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* @@ end of prolog @@ */ - -#ifndef PARAMS -# if __STDC__ -# define PARAMS(Args) Args -# else -# define PARAMS(Args) () -# endif -#endif - -/* We assume to have `unsigned long int' value with at least 32 bits. */ -#define HASHWORDBITS 32 - - -/* Defines the so called `hashpjw' function by P.J. Weinberger - [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools, - 1986, 1987 Bell Telephone Laboratories, Inc.] */ -static unsigned long int hash_string PARAMS ((const char *__str_param)); - -static inline unsigned long int -hash_string (str_param) - const char *str_param; -{ - unsigned long int hval, g; - const char *str = str_param; - - /* Compute the hash value for the given string. */ - hval = 0; - while (*str != '\0') - { - hval <<= 4; - hval += (unsigned long int) *str++; - g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4)); - if (g != 0) - { - hval ^= g >> (HASHWORDBITS - 8); - hval ^= g; - } - } - return hval; -} diff -Nru console-tools-0.2.3/intl/intl-compat.c console-tools-0.2.3/intl/intl-compat.c --- console-tools-0.2.3/intl/intl-compat.c 1999-03-07 16:41:23.000000000 +0000 +++ console-tools-0.2.3/intl/intl-compat.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,76 +0,0 @@ -/* intl-compat.c - Stub functions to call gettext functions from GNU gettext - Library. - Copyright (C) 1995 Software Foundation, Inc. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#include "libgettext.h" - -/* @@ end of prolog @@ */ - - -#undef gettext -#undef dgettext -#undef dcgettext -#undef textdomain -#undef bindtextdomain - - -char * -bindtextdomain (domainname, dirname) - const char *domainname; - const char *dirname; -{ - return bindtextdomain__ (domainname, dirname); -} - - -char * -dcgettext (domainname, msgid, category) - const char *domainname; - const char *msgid; - int category; -{ - return dcgettext__ (domainname, msgid, category); -} - - -char * -dgettext (domainname, msgid) - const char *domainname; - const char *msgid; -{ - return dgettext__ (domainname, msgid); -} - - -char * -gettext (msgid) - const char *msgid; -{ - return gettext__ (msgid); -} - - -char * -textdomain (domainname) - const char *domainname; -{ - return textdomain__ (domainname); -} diff -Nru console-tools-0.2.3/intl/l10nflist.c console-tools-0.2.3/intl/l10nflist.c --- console-tools-0.2.3/intl/l10nflist.c 1999-03-07 16:41:23.000000000 +0000 +++ console-tools-0.2.3/intl/l10nflist.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,411 +0,0 @@ -/* Handle list of needed message catalogs - Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. - Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - - -#if defined HAVE_STRING_H || defined _LIBC -# ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -# endif -# include <string.h> -#else -# include <strings.h> -# ifndef memcpy -# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num) -# endif -#endif -#if !HAVE_STRCHR && !defined _LIBC -# ifndef strchr -# define strchr index -# endif -#endif - -#if defined _LIBC || defined HAVE_ARGZ_H -# include <argz.h> -#endif -#include <ctype.h> -#include <sys/types.h> - -#if defined STDC_HEADERS || defined _LIBC -# include <stdlib.h> -#endif - -#include "loadinfo.h" - -/* On some strange systems still no definition of NULL is found. Sigh! */ -#ifndef NULL -# if defined __STDC__ && __STDC__ -# define NULL ((void *) 0) -# else -# define NULL 0 -# endif -#endif - -/* @@ end of prolog @@ */ - -#ifdef _LIBC -/* Rename the non ANSI C functions. This is required by the standard - because some ANSI C functions will require linking with this object - file and the name space must not be polluted. */ -# ifndef stpcpy -# define stpcpy(dest, src) __stpcpy(dest, src) -# endif -#else -# ifndef HAVE_STPCPY -static char *stpcpy PARAMS ((char *dest, const char *src)); -# endif -#endif - -/* Define function which are usually not available. */ - -#if !defined _LIBC && !defined HAVE___ARGZ_COUNT -/* Returns the number of strings in ARGZ. */ -static size_t argz_count__ PARAMS ((const char *argz, size_t len)); - -static size_t -argz_count__ (argz, len) - const char *argz; - size_t len; -{ - size_t count = 0; - while (len > 0) - { - size_t part_len = strlen (argz); - argz += part_len + 1; - len -= part_len + 1; - count++; - } - return count; -} -# undef __argz_count -# define __argz_count(argz, len) argz_count__ (argz, len) -#endif /* !_LIBC && !HAVE___ARGZ_COUNT */ - -#if !defined _LIBC && !defined HAVE___ARGZ_STRINGIFY -/* Make '\0' separated arg vector ARGZ printable by converting all the '\0's - except the last into the character SEP. */ -static void argz_stringify__ PARAMS ((char *argz, size_t len, int sep)); - -static void -argz_stringify__ (argz, len, sep) - char *argz; - size_t len; - int sep; -{ - while (len > 0) - { - size_t part_len = strlen (argz); - argz += part_len; - len -= part_len + 1; - if (len > 0) - *argz++ = sep; - } -} -# undef __argz_stringify -# define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep) -#endif /* !_LIBC && !HAVE___ARGZ_STRINGIFY */ - -#if !defined _LIBC && !defined HAVE___ARGZ_NEXT -static char *argz_next__ PARAMS ((char *argz, size_t argz_len, - const char *entry)); - -static char * -argz_next__ (argz, argz_len, entry) - char *argz; - size_t argz_len; - const char *entry; -{ - if (entry) - { - if (entry < argz + argz_len) - entry = strchr (entry, '\0') + 1; - - return entry >= argz + argz_len ? NULL : (char *) entry; - } - else - if (argz_len > 0) - return argz; - else - return 0; -} -# undef __argz_next -# define __argz_next(argz, len, entry) argz_next__ (argz, len, entry) -#endif /* !_LIBC && !HAVE___ARGZ_NEXT */ - - -/* Return number of bits set in X. */ -static int pop PARAMS ((int x)); - -static inline int -pop (x) - int x; -{ - /* We assume that no more than 16 bits are used. */ - x = ((x & ~0x5555) >> 1) + (x & 0x5555); - x = ((x & ~0x3333) >> 2) + (x & 0x3333); - x = ((x >> 4) + x) & 0x0f0f; - x = ((x >> 8) + x) & 0xff; - - return x; -} - - -struct loaded_l10nfile * -_nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language, - territory, codeset, normalized_codeset, modifier, special, - sponsor, revision, filename, do_allocate) - struct loaded_l10nfile **l10nfile_list; - const char *dirlist; - size_t dirlist_len; - int mask; - const char *language; - const char *territory; - const char *codeset; - const char *normalized_codeset; - const char *modifier; - const char *special; - const char *sponsor; - const char *revision; - const char *filename; - int do_allocate; -{ - char *abs_filename; - struct loaded_l10nfile *last = NULL; - struct loaded_l10nfile *retval; - char *cp; - size_t entries; - int cnt; - - /* Allocate room for the full file name. */ - abs_filename = (char *) malloc (dirlist_len - + strlen (language) - + ((mask & TERRITORY) != 0 - ? strlen (territory) + 1 : 0) - + ((mask & XPG_CODESET) != 0 - ? strlen (codeset) + 1 : 0) - + ((mask & XPG_NORM_CODESET) != 0 - ? strlen (normalized_codeset) + 1 : 0) - + (((mask & XPG_MODIFIER) != 0 - || (mask & CEN_AUDIENCE) != 0) - ? strlen (modifier) + 1 : 0) - + ((mask & CEN_SPECIAL) != 0 - ? strlen (special) + 1 : 0) - + (((mask & CEN_SPONSOR) != 0 - || (mask & CEN_REVISION) != 0) - ? (1 + ((mask & CEN_SPONSOR) != 0 - ? strlen (sponsor) + 1 : 0) - + ((mask & CEN_REVISION) != 0 - ? strlen (revision) + 1 : 0)) : 0) - + 1 + strlen (filename) + 1); - - if (abs_filename == NULL) - return NULL; - - retval = NULL; - last = NULL; - - /* Construct file name. */ - memcpy (abs_filename, dirlist, dirlist_len); - __argz_stringify (abs_filename, dirlist_len, ':'); - cp = abs_filename + (dirlist_len - 1); - *cp++ = '/'; - cp = stpcpy (cp, language); - - if ((mask & TERRITORY) != 0) - { - *cp++ = '_'; - cp = stpcpy (cp, territory); - } - if ((mask & XPG_CODESET) != 0) - { - *cp++ = '.'; - cp = stpcpy (cp, codeset); - } - if ((mask & XPG_NORM_CODESET) != 0) - { - *cp++ = '.'; - cp = stpcpy (cp, normalized_codeset); - } - if ((mask & (XPG_MODIFIER | CEN_AUDIENCE)) != 0) - { - /* This component can be part of both syntaces but has different - leading characters. For CEN we use `+', else `@'. */ - *cp++ = (mask & CEN_AUDIENCE) != 0 ? '+' : '@'; - cp = stpcpy (cp, modifier); - } - if ((mask & CEN_SPECIAL) != 0) - { - *cp++ = '+'; - cp = stpcpy (cp, special); - } - if ((mask & (CEN_SPONSOR | CEN_REVISION)) != 0) - { - *cp++ = ','; - if ((mask & CEN_SPONSOR) != 0) - cp = stpcpy (cp, sponsor); - if ((mask & CEN_REVISION) != 0) - { - *cp++ = '_'; - cp = stpcpy (cp, revision); - } - } - - *cp++ = '/'; - stpcpy (cp, filename); - - /* Look in list of already loaded domains whether it is already - available. */ - last = NULL; - for (retval = *l10nfile_list; retval != NULL; retval = retval->next) - if (retval->filename != NULL) - { - int compare = strcmp (retval->filename, abs_filename); - if (compare == 0) - /* We found it! */ - break; - if (compare < 0) - { - /* It's not in the list. */ - retval = NULL; - break; - } - - last = retval; - } - - if (retval != NULL || do_allocate == 0) - { - free (abs_filename); - return retval; - } - - retval = (struct loaded_l10nfile *) - malloc (sizeof (*retval) + (__argz_count (dirlist, dirlist_len) - * (1 << pop (mask)) - * sizeof (struct loaded_l10nfile *))); - if (retval == NULL) - return NULL; - - retval->filename = abs_filename; - retval->decided = (__argz_count (dirlist, dirlist_len) != 1 - || ((mask & XPG_CODESET) != 0 - && (mask & XPG_NORM_CODESET) != 0)); - retval->data = NULL; - - if (last == NULL) - { - retval->next = *l10nfile_list; - *l10nfile_list = retval; - } - else - { - retval->next = last->next; - last->next = retval; - } - - entries = 0; - /* If the DIRLIST is a real list the RETVAL entry corresponds not to - a real file. So we have to use the DIRLIST separation mechanism - of the inner loop. */ - cnt = __argz_count (dirlist, dirlist_len) == 1 ? mask - 1 : mask; - for (; cnt >= 0; --cnt) - if ((cnt & ~mask) == 0 - && ((cnt & CEN_SPECIFIC) == 0 || (cnt & XPG_SPECIFIC) == 0) - && ((cnt & XPG_CODESET) == 0 || (cnt & XPG_NORM_CODESET) == 0)) - { - /* Iterate over all elements of the DIRLIST. */ - char *dir = NULL; - - while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir)) - != NULL) - retval->successor[entries++] - = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1, cnt, - language, territory, codeset, - normalized_codeset, modifier, special, - sponsor, revision, filename, 1); - } - retval->successor[entries] = NULL; - - return retval; -} - -/* Normalize codeset name. There is no standard for the codeset - names. Normalization allows the user to use any of the common - names. */ -const char * -_nl_normalize_codeset (codeset, name_len) - const char *codeset; - size_t name_len; -{ - int len = 0; - int only_digit = 1; - char *retval; - char *wp; - size_t cnt; - - for (cnt = 0; cnt < name_len; ++cnt) - if (isalnum (codeset[cnt])) - { - ++len; - - if (isalpha (codeset[cnt])) - only_digit = 0; - } - - retval = (char *) malloc ((only_digit ? 3 : 0) + len + 1); - - if (retval != NULL) - { - if (only_digit) - wp = stpcpy (retval, "iso"); - else - wp = retval; - - for (cnt = 0; cnt < name_len; ++cnt) - if (isalpha (codeset[cnt])) - *wp++ = tolower (codeset[cnt]); - else if (isdigit (codeset[cnt])) - *wp++ = codeset[cnt]; - - *wp = '\0'; - } - - return (const char *) retval; -} - - -/* @@ begin of epilog @@ */ - -/* We don't want libintl.a to depend on any other library. So we - avoid the non-standard function stpcpy. In GNU C Library this - function is available, though. Also allow the symbol HAVE_STPCPY - to be defined. */ -#if !_LIBC && !HAVE_STPCPY -static char * -stpcpy (dest, src) - char *dest; - const char *src; -{ - while ((*dest++ = *src++) != '\0') - /* Do nothing. */ ; - return dest - 1; -} -#endif diff -Nru console-tools-0.2.3/intl/libgettext.h console-tools-0.2.3/intl/libgettext.h --- console-tools-0.2.3/intl/libgettext.h 1999-03-07 16:41:22.000000000 +0000 +++ console-tools-0.2.3/intl/libgettext.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,182 +0,0 @@ -/* Message catalogs for internationalization. - Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -/* Because on some systems (e.g. Solaris) we sometimes have to include - the systems libintl.h as well as this file we have more complex - include protection above. But the systems header might perhaps also - define _LIBINTL_H and therefore we have to protect the definition here. */ - -#if !defined _LIBINTL_H || !defined _LIBGETTEXT_H -#ifndef _LIBINTL_H -# define _LIBINTL_H 1 -#endif -#define _LIBGETTEXT_H 1 - -/* We define an additional symbol to signal that we use the GNU - implementation of gettext. */ -#define __USE_GNU_GETTEXT 1 - -#include <sys/types.h> - -#if HAVE_LOCALE_H -# include <locale.h> -#endif - - -#ifdef __cplusplus -extern "C" { -#endif - -/* @@ end of prolog @@ */ - -#ifndef PARAMS -# if __STDC__ || defined __cplusplus -# define PARAMS(args) args -# else -# define PARAMS(args) () -# endif -#endif - -#ifndef NULL -# if !defined __cplusplus || defined __GNUC__ -# define NULL ((void *) 0) -# else -# define NULL (0) -# endif -#endif - -#if !HAVE_LC_MESSAGES -/* This value determines the behaviour of the gettext() and dgettext() - function. But some system does not have this defined. Define it - to a default value. */ -# define LC_MESSAGES (-1) -#endif - - -/* Declarations for gettext-using-catgets interface. Derived from - Jim Meyering's libintl.h. */ -struct _msg_ent -{ - const char *_msg; - int _msg_number; -}; - - -#if HAVE_CATGETS -/* These two variables are defined in the automatically by po-to-tbl.sed - generated file `cat-id-tbl.c'. */ -extern const struct _msg_ent _msg_tbl[]; -extern int _msg_tbl_length; -#endif - - -/* For automatical extraction of messages sometimes no real - translation is needed. Instead the string itself is the result. */ -#define gettext_noop(Str) (Str) - -/* Look up MSGID in the current default message catalog for the current - LC_MESSAGES locale. If not found, returns MSGID itself (the default - text). */ -extern char *gettext PARAMS ((const char *__msgid)); -extern char *gettext__ PARAMS ((const char *__msgid)); - -/* Look up MSGID in the DOMAINNAME message catalog for the current - LC_MESSAGES locale. */ -extern char *dgettext PARAMS ((const char *__domainname, const char *__msgid)); -extern char *dgettext__ PARAMS ((const char *__domainname, - const char *__msgid)); - -/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY - locale. */ -extern char *dcgettext PARAMS ((const char *__domainname, const char *__msgid, - int __category)); -extern char *dcgettext__ PARAMS ((const char *__domainname, - const char *__msgid, int __category)); - - -/* Set the current default message catalog to DOMAINNAME. - If DOMAINNAME is null, return the current default. - If DOMAINNAME is "", reset to the default of "messages". */ -extern char *textdomain PARAMS ((const char *__domainname)); -extern char *textdomain__ PARAMS ((const char *__domainname)); - -/* Specify that the DOMAINNAME message catalog will be found - in DIRNAME rather than in the system locale data base. */ -extern char *bindtextdomain PARAMS ((const char *__domainname, - const char *__dirname)); -extern char *bindtextdomain__ PARAMS ((const char *__domainname, - const char *__dirname)); - -#if ENABLE_NLS - -/* Solaris 2.3 has the gettext function but dcgettext is missing. - So we omit this optimization for Solaris 2.3. BTW, Solaris 2.4 - has dcgettext. */ -# if !HAVE_CATGETS && (!HAVE_GETTEXT || HAVE_DCGETTEXT) - -# define gettext(Msgid) \ - dgettext (NULL, Msgid) - -# define dgettext(Domainname, Msgid) \ - dcgettext (Domainname, Msgid, LC_MESSAGES) - -# if defined __GNUC__ && __GNUC__ == 2 && __GNUC_MINOR__ >= 7 -/* This global variable is defined in loadmsgcat.c. We need a sign, - whether a new catalog was loaded, which can be associated with all - translations. */ -extern int _nl_msg_cat_cntr; - -# define dcgettext(Domainname, Msgid, Category) \ - (__extension__ \ - ({ \ - char *__result; \ - if (__builtin_constant_p (Msgid)) \ - { \ - static char *__translation__; \ - static int __catalog_counter__; \ - if (! __translation__ || __catalog_counter__ != _nl_msg_cat_cntr) \ - { \ - __translation__ = \ - dcgettext__ (Domainname, Msgid, Category); \ - __catalog_counter__ = _nl_msg_cat_cntr; \ - } \ - __result = __translation__; \ - } \ - else \ - __result = dcgettext__ (Domainname, Msgid, Category); \ - __result; \ - })) -# endif -# endif - -#else - -# define gettext(Msgid) (Msgid) -# define dgettext(Domainname, Msgid) (Msgid) -# define dcgettext(Domainname, Msgid, Category) (Msgid) -# define textdomain(Domainname) ((char *) Domainname) -# define bindtextdomain(Domainname, Dirname) ((char *) Dirname) - -#endif - -/* @@ begin of epilog @@ */ - -#ifdef __cplusplus -} -#endif - -#endif diff -Nru console-tools-0.2.3/intl/linux-msg.sed console-tools-0.2.3/intl/linux-msg.sed --- console-tools-0.2.3/intl/linux-msg.sed 1999-03-07 16:41:22.000000000 +0000 +++ console-tools-0.2.3/intl/linux-msg.sed 1970-01-01 00:00:00.000000000 +0000 @@ -1,100 +0,0 @@ -# po2msg.sed - Convert Uniforum style .po file to Linux style .msg file -# Copyright (C) 1995 Free Software Foundation, Inc. -# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# -# The first directive in the .msg should be the definition of the -# message set number. We use always set number 1. -# -1 { - i\ -$set 1 # Automatically created by po2msg.sed - h - s/.*/0/ - x -} -# -# Mitch's old catalog format does not allow comments. -# -# We copy the original message as a comment into the .msg file. -# -/^msgid/ { - s/msgid[ ]*"// -# -# This does not work now with the new format. -# /"$/! { -# s/\\$// -# s/$/ ... (more lines following)"/ -# } - x -# The following nice solution is by -# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de> - td -# Increment a decimal number in pattern space. -# First hide trailing `9' digits. - :d - s/9\(_*\)$/_\1/ - td -# Assure at least one digit is available. - s/^\(_*\)$/0\1/ -# Increment the last digit. - s/8\(_*\)$/9\1/ - s/7\(_*\)$/8\1/ - s/6\(_*\)$/7\1/ - s/5\(_*\)$/6\1/ - s/4\(_*\)$/5\1/ - s/3\(_*\)$/4\1/ - s/2\(_*\)$/3\1/ - s/1\(_*\)$/2\1/ - s/0\(_*\)$/1\1/ -# Convert the hidden `9' digits to `0's. - s/_/0/g - x - G - s/\(.*\)"\n\([0-9]*\)/$ #\2 Original Message:(\1)/p -} -# -# The .msg file contains, other then the .po file, only the translations -# but each given a unique ID. Starting from 1 and incrementing by 1 for -# each message we assign them to the messages. -# It is important that the .po file used to generate the cat-id-tbl.c file -# (with po-to-tbl) is the same as the one used here. (At least the order -# of declarations must not be changed.) -# -/^msgstr/ { - s/msgstr[ ]*"\(.*\)"/# \1/ -# Clear substitution flag. - tb -# Append the next line. - :b - N -# Look whether second part is continuation line. - s/\(.*\n\)"\(.*\)"/\1\2/ -# Yes, then branch. - ta - P - D -# Note that D includes a jump to the start!! -# We found a continuation line. But before printing insert '\'. - :a - s/\(.*\)\(\n.*\)/\1\\\2/ - P -# We cannot use D here. - s/.*\n\(.*\)/\1/ - tb -} -d diff -Nru console-tools-0.2.3/intl/loadinfo.h console-tools-0.2.3/intl/loadinfo.h --- console-tools-0.2.3/intl/loadinfo.h 1999-03-07 16:41:22.000000000 +0000 +++ console-tools-0.2.3/intl/loadinfo.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,78 +0,0 @@ -/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifndef PARAMS -# if __STDC__ -# define PARAMS(args) args -# else -# define PARAMS(args) () -# endif -#endif - -/* Encoding of locale name parts. */ -#define CEN_REVISION 1 -#define CEN_SPONSOR 2 -#define CEN_SPECIAL 4 -#define XPG_NORM_CODESET 8 -#define XPG_CODESET 16 -#define TERRITORY 32 -#define CEN_AUDIENCE 64 -#define XPG_MODIFIER 128 - -#define CEN_SPECIFIC (CEN_REVISION|CEN_SPONSOR|CEN_SPECIAL|CEN_AUDIENCE) -#define XPG_SPECIFIC (XPG_CODESET|XPG_NORM_CODESET|XPG_MODIFIER) - - -struct loaded_l10nfile -{ - const char *filename; - int decided; - - const void *data; - - struct loaded_l10nfile *next; - struct loaded_l10nfile *successor[1]; -}; - - -extern const char *_nl_normalize_codeset PARAMS ((const char *codeset, - size_t name_len)); - -extern struct loaded_l10nfile * -_nl_make_l10nflist PARAMS ((struct loaded_l10nfile **l10nfile_list, - const char *dirlist, size_t dirlist_len, int mask, - const char *language, const char *territory, - const char *codeset, - const char *normalized_codeset, - const char *modifier, const char *special, - const char *sponsor, const char *revision, - const char *filename, int do_allocate)); - - -extern const char *_nl_expand_alias PARAMS ((const char *name)); - -extern int _nl_explode_name PARAMS ((char *name, const char **language, - const char **modifier, - const char **territory, - const char **codeset, - const char **normalized_codeset, - const char **special, - const char **sponsor, - const char **revision)); - -extern char *_nl_find_language PARAMS ((const char *name)); diff -Nru console-tools-0.2.3/intl/loadmsgcat.c console-tools-0.2.3/intl/loadmsgcat.c --- console-tools-0.2.3/intl/loadmsgcat.c 1999-03-07 16:41:22.000000000 +0000 +++ console-tools-0.2.3/intl/loadmsgcat.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,220 +0,0 @@ -/* Load needed message catalogs. - Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#include <fcntl.h> -#include <sys/types.h> -#include <sys/stat.h> - -#if defined STDC_HEADERS || defined _LIBC -# include <stdlib.h> -#endif - -#if defined HAVE_UNISTD_H || defined _LIBC -# include <unistd.h> -#endif - -#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \ - || (defined _LIBC && defined _POSIX_MAPPED_FILES) -# include <sys/mman.h> -# undef HAVE_MMAP -# define HAVE_MMAP 1 -#else -# undef HAVE_MMAP -#endif - -#include "gettext.h" -#include "gettextP.h" - -/* @@ end of prolog @@ */ - -#ifdef _LIBC -/* Rename the non ISO C functions. This is required by the standard - because some ISO C functions will require linking with this object - file and the name space must not be polluted. */ -# define open __open -# define close __close -# define read __read -# define mmap __mmap -# define munmap __munmap -#endif - -/* We need a sign, whether a new catalog was loaded, which can be associated - with all translations. This is important if the translations are - cached by one of GCC's features. */ -int _nl_msg_cat_cntr = 0; - - -/* Load the message catalogs specified by FILENAME. If it is no valid - message catalog do nothing. */ -void -internal_function -_nl_load_domain (domain_file) - struct loaded_l10nfile *domain_file; -{ - int fd; - size_t size; - struct stat st; - struct mo_file_header *data = (struct mo_file_header *) -1; - int use_mmap = 0; - struct loaded_domain *domain; - - domain_file->decided = 1; - domain_file->data = NULL; - - /* If the record does not represent a valid locale the FILENAME - might be NULL. This can happen when according to the given - specification the locale file name is different for XPG and CEN - syntax. */ - if (domain_file->filename == NULL) - return; - - /* Try to open the addressed file. */ - fd = open (domain_file->filename, O_RDONLY); - if (fd == -1) - return; - - /* We must know about the size of the file. */ - if (fstat (fd, &st) != 0 - || (size = (size_t) st.st_size) != st.st_size - || size < sizeof (struct mo_file_header)) - { - /* Something went wrong. */ - close (fd); - return; - } - -#ifdef HAVE_MMAP - /* Now we are ready to load the file. If mmap() is available we try - this first. If not available or it failed we try to load it. */ - data = (struct mo_file_header *) mmap (NULL, size, PROT_READ, - MAP_PRIVATE, fd, 0); - - if (data != (struct mo_file_header *) -1) - { - /* mmap() call was successful. */ - close (fd); - use_mmap = 1; - } -#endif - - /* If the data is not yet available (i.e. mmap'ed) we try to load - it manually. */ - if (data == (struct mo_file_header *) -1) - { - size_t to_read; - char *read_ptr; - - data = (struct mo_file_header *) malloc (size); - if (data == NULL) - return; - - to_read = size; - read_ptr = (char *) data; - do - { - long int nb = (long int) read (fd, read_ptr, to_read); - if (nb == -1) - { - close (fd); - return; - } - - read_ptr += nb; - to_read -= nb; - } - while (to_read > 0); - - close (fd); - } - - /* Using the magic number we can test whether it really is a message - catalog file. */ - if (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED) - { - /* The magic number is wrong: not a message catalog file. */ -#ifdef HAVE_MMAP - if (use_mmap) - munmap ((caddr_t) data, size); - else -#endif - free (data); - return; - } - - domain_file->data - = (struct loaded_domain *) malloc (sizeof (struct loaded_domain)); - if (domain_file->data == NULL) - return; - - domain = (struct loaded_domain *) domain_file->data; - domain->data = (char *) data; - domain->use_mmap = use_mmap; - domain->mmap_size = size; - domain->must_swap = data->magic != _MAGIC; - - /* Fill in the information about the available tables. */ - switch (W (domain->must_swap, data->revision)) - { - case 0: - domain->nstrings = W (domain->must_swap, data->nstrings); - domain->orig_tab = (struct string_desc *) - ((char *) data + W (domain->must_swap, data->orig_tab_offset)); - domain->trans_tab = (struct string_desc *) - ((char *) data + W (domain->must_swap, data->trans_tab_offset)); - domain->hash_size = W (domain->must_swap, data->hash_tab_size); - domain->hash_tab = (nls_uint32 *) - ((char *) data + W (domain->must_swap, data->hash_tab_offset)); - break; - default: - /* This is an invalid revision. */ -#ifdef HAVE_MMAP - if (use_mmap) - munmap ((caddr_t) data, size); - else -#endif - free (data); - free (domain); - domain_file->data = NULL; - return; - } - - /* Show that one domain is changed. This might make some cached - translations invalid. */ - ++_nl_msg_cat_cntr; -} - - -#ifdef _LIBC -void -internal_function -_nl_unload_domain (domain) - struct loaded_domain *domain; -{ -#ifdef _POSIX_MAPPED_FILES - if (domain->use_mmap) - munmap ((caddr_t) domain->data, domain->mmap_size); - else -#endif /* _POSIX_MAPPED_FILES */ - free ((void *) domain->data); - - free (domain); -} -#endif diff -Nru console-tools-0.2.3/intl/localealias.c console-tools-0.2.3/intl/localealias.c --- console-tools-0.2.3/intl/localealias.c 1999-03-07 16:41:23.000000000 +0000 +++ console-tools-0.2.3/intl/localealias.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,438 +0,0 @@ -/* Handle aliases for locale names. - Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. - Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#include <ctype.h> -#include <stdio.h> -#include <sys/types.h> - -#ifdef __GNUC__ -# define alloca __builtin_alloca -# define HAVE_ALLOCA 1 -#else -# if defined HAVE_ALLOCA_H || defined _LIBC -# include <alloca.h> -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca -char *alloca (); -# endif -# endif -# endif -#endif - -#if defined STDC_HEADERS || defined _LIBC -# include <stdlib.h> -#else -char *getenv (); -# ifdef HAVE_MALLOC_H -# include <malloc.h> -# else -void free (); -# endif -#endif - -#if defined HAVE_STRING_H || defined _LIBC -# ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -# endif -# include <string.h> -#else -# include <strings.h> -# ifndef memcpy -# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num) -# endif -#endif -#if !HAVE_STRCHR && !defined _LIBC -# ifndef strchr -# define strchr index -# endif -#endif - -#include "gettext.h" -#include "gettextP.h" - -/* @@ end of prolog @@ */ - -#ifdef _LIBC -/* Rename the non ANSI C functions. This is required by the standard - because some ANSI C functions will require linking with this object - file and the name space must not be polluted. */ -# define strcasecmp __strcasecmp - -# ifndef mempcpy -# define mempcpy __mempcpy -# endif -# define HAVE_MEMPCPY 1 - -/* We need locking here since we can be called from different places. */ -# include <bits/libc-lock.h> - -__libc_lock_define_initialized (static, lock); -#endif - -#ifndef internal_function -# define internal_function -#endif - -/* For those loosing systems which don't have `alloca' we have to add - some additional code emulating it. */ -#ifdef HAVE_ALLOCA -/* Nothing has to be done. */ -# define ADD_BLOCK(list, address) /* nothing */ -# define FREE_BLOCKS(list) /* nothing */ -#else -struct block_list -{ - void *address; - struct block_list *next; -}; -# define ADD_BLOCK(list, addr) \ - do { \ - struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \ - /* If we cannot get a free block we cannot add the new element to \ - the list. */ \ - if (newp != NULL) { \ - newp->address = (addr); \ - newp->next = (list); \ - (list) = newp; \ - } \ - } while (0) -# define FREE_BLOCKS(list) \ - do { \ - while (list != NULL) { \ - struct block_list *old = list; \ - list = list->next; \ - free (old); \ - } \ - } while (0) -# undef alloca -# define alloca(size) (malloc (size)) -#endif /* have alloca */ - -#if defined _LIBC_REENTRANT || defined HAVE_FGETS_UNLOCKED -# undef fgets -# define fgets(buf, len, s) fgets_unlocked (buf, len, s) -#endif -#if defined _LIBC_REENTRANT || defined HAVE_FEOF_UNLOCKED -# undef feof -# define feof(s) feof_unlocked (s) -#endif - - -struct alias_map -{ - const char *alias; - const char *value; -}; - - -static char *string_space = NULL; -static size_t string_space_act = 0; -static size_t string_space_max = 0; -static struct alias_map *map; -static size_t nmap = 0; -static size_t maxmap = 0; - - -/* Prototypes for local functions. */ -static size_t read_alias_file PARAMS ((const char *fname, int fname_len)) - internal_function; -static void extend_alias_table PARAMS ((void)); -static int alias_compare PARAMS ((const struct alias_map *map1, - const struct alias_map *map2)); - - -const char * -_nl_expand_alias (name) - const char *name; -{ - static const char *locale_alias_path = LOCALE_ALIAS_PATH; - struct alias_map *retval; - const char *result = NULL; - size_t added; - -#ifdef _LIBC - __libc_lock_lock (lock); -#endif - - do - { - struct alias_map item; - - item.alias = name; - - if (nmap > 0) - retval = (struct alias_map *) bsearch (&item, map, nmap, - sizeof (struct alias_map), - (int (*) PARAMS ((const void *, - const void *)) - ) alias_compare); - else - retval = NULL; - - /* We really found an alias. Return the value. */ - if (retval != NULL) - { - result = retval->value; - break; - } - - /* Perhaps we can find another alias file. */ - added = 0; - while (added == 0 && locale_alias_path[0] != '\0') - { - const char *start; - - while (locale_alias_path[0] == ':') - ++locale_alias_path; - start = locale_alias_path; - - while (locale_alias_path[0] != '\0' && locale_alias_path[0] != ':') - ++locale_alias_path; - - if (start < locale_alias_path) - added = read_alias_file (start, locale_alias_path - start); - } - } - while (added != 0); - -#ifdef _LIBC - __libc_lock_unlock (lock); -#endif - - return result; -} - - -static size_t -internal_function -read_alias_file (fname, fname_len) - const char *fname; - int fname_len; -{ -#ifndef HAVE_ALLOCA - struct block_list *block_list = NULL; -#endif - FILE *fp; - char *full_fname; - size_t added; - static const char aliasfile[] = "/locale.alias"; - - full_fname = (char *) alloca (fname_len + sizeof aliasfile); - ADD_BLOCK (block_list, full_fname); -#ifdef HAVE_MEMPCPY - mempcpy (mempcpy (full_fname, fname, fname_len), - aliasfile, sizeof aliasfile); -#else - memcpy (full_fname, fname, fname_len); - memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile); -#endif - - fp = fopen (full_fname, "r"); - if (fp == NULL) - { - FREE_BLOCKS (block_list); - return 0; - } - - added = 0; - while (!feof (fp)) - { - /* It is a reasonable approach to use a fix buffer here because - a) we are only interested in the first two fields - b) these fields must be usable as file names and so must not - be that long - */ - char buf[BUFSIZ]; - char *alias; - char *value; - char *cp; - - if (fgets (buf, sizeof buf, fp) == NULL) - /* EOF reached. */ - break; - - /* Possibly not the whole line fits into the buffer. Ignore - the rest of the line. */ - if (strchr (buf, '\n') == NULL) - { - char altbuf[BUFSIZ]; - do - if (fgets (altbuf, sizeof altbuf, fp) == NULL) - /* Make sure the inner loop will be left. The outer loop - will exit at the `feof' test. */ - break; - while (strchr (altbuf, '\n') == NULL); - } - - cp = buf; - /* Ignore leading white space. */ - while (isspace (cp[0])) - ++cp; - - /* A leading '#' signals a comment line. */ - if (cp[0] != '\0' && cp[0] != '#') - { - alias = cp++; - while (cp[0] != '\0' && !isspace (cp[0])) - ++cp; - /* Terminate alias name. */ - if (cp[0] != '\0') - *cp++ = '\0'; - - /* Now look for the beginning of the value. */ - while (isspace (cp[0])) - ++cp; - - if (cp[0] != '\0') - { - size_t alias_len; - size_t value_len; - - value = cp++; - while (cp[0] != '\0' && !isspace (cp[0])) - ++cp; - /* Terminate value. */ - if (cp[0] == '\n') - { - /* This has to be done to make the following test - for the end of line possible. We are looking for - the terminating '\n' which do not overwrite here. */ - *cp++ = '\0'; - *cp = '\n'; - } - else if (cp[0] != '\0') - *cp++ = '\0'; - - if (nmap >= maxmap) - extend_alias_table (); - - alias_len = strlen (alias) + 1; - value_len = strlen (value) + 1; - - if (string_space_act + alias_len + value_len > string_space_max) - { - /* Increase size of memory pool. */ - size_t new_size = (string_space_max - + (alias_len + value_len > 1024 - ? alias_len + value_len : 1024)); - char *new_pool = (char *) realloc (string_space, new_size); - if (new_pool == NULL) - { - FREE_BLOCKS (block_list); - return added; - } - string_space = new_pool; - string_space_max = new_size; - } - - map[nmap].alias = memcpy (&string_space[string_space_act], - alias, alias_len); - string_space_act += alias_len; - - map[nmap].value = memcpy (&string_space[string_space_act], - value, value_len); - string_space_act += value_len; - - ++nmap; - ++added; - } - } - } - - /* Should we test for ferror()? I think we have to silently ignore - errors. --drepper */ - fclose (fp); - - if (added > 0) - qsort (map, nmap, sizeof (struct alias_map), - (int (*) PARAMS ((const void *, const void *))) alias_compare); - - FREE_BLOCKS (block_list); - return added; -} - - -static void -extend_alias_table () -{ - size_t new_size; - struct alias_map *new_map; - - new_size = maxmap == 0 ? 100 : 2 * maxmap; - new_map = (struct alias_map *) realloc (map, (new_size - * sizeof (struct alias_map))); - if (new_map == NULL) - /* Simply don't extend: we don't have any more core. */ - return; - - map = new_map; - maxmap = new_size; -} - - -#ifdef _LIBC -static void __attribute__ ((unused)) -free_mem (void) -{ - if (string_space != NULL) - free (string_space); - if (map != NULL) - free (map); -} -text_set_element (__libc_subfreeres, free_mem); -#endif - - -static int -alias_compare (map1, map2) - const struct alias_map *map1; - const struct alias_map *map2; -{ -#if defined _LIBC || defined HAVE_STRCASECMP - return strcasecmp (map1->alias, map2->alias); -#else - const unsigned char *p1 = (const unsigned char *) map1->alias; - const unsigned char *p2 = (const unsigned char *) map2->alias; - unsigned char c1, c2; - - if (p1 == p2) - return 0; - - do - { - /* I know this seems to be odd but the tolower() function in - some systems libc cannot handle nonalpha characters. */ - c1 = isupper (*p1) ? tolower (*p1) : *p1; - c2 = isupper (*p2) ? tolower (*p2) : *p2; - if (c1 == '\0') - break; - ++p1; - ++p2; - } - while (c1 == c2); - - return c1 - c2; -#endif -} diff -Nru console-tools-0.2.3/intl/Makefile.in console-tools-0.2.3/intl/Makefile.in --- console-tools-0.2.3/intl/Makefile.in 1999-03-07 16:41:22.000000000 +0000 +++ console-tools-0.2.3/intl/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,214 +0,0 @@ -# Makefile for directory with message catalog handling in GNU NLS Utilities. -# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ - -SHELL = /bin/sh - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -top_builddir = .. -VPATH = @srcdir@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -transform = @program_transform_name@ -libdir = $(exec_prefix)/lib -includedir = $(prefix)/include -datadir = $(prefix)/@DATADIRNAME@ -localedir = $(datadir)/locale -gnulocaledir = $(prefix)/share/locale -gettextsrcdir = @datadir@/gettext/intl -aliaspath = $(localedir):. -subdir = intl - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -MKINSTALLDIRS = @MKINSTALLDIRS@ - -l = @l@ - -AR = ar -CC = @CC@ -LIBTOOL = @LIBTOOL@ -RANLIB = @RANLIB@ - -DEFS = -DLOCALEDIR=\"$(localedir)\" -DGNULOCALEDIR=\"$(gnulocaledir)\" \ --DLOCALE_ALIAS_PATH=\"$(aliaspath)\" @DEFS@ -CPPFLAGS = @CPPFLAGS@ -CFLAGS = @CFLAGS@ -LDFLAGS = @LDFLAGS@ - -COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) - -HEADERS = $(COMHDRS) libgettext.h loadinfo.h -COMHDRS = gettext.h gettextP.h hash-string.h -SOURCES = $(COMSRCS) intl-compat.c cat-compat.c -COMSRCS = bindtextdom.c dcgettext.c dgettext.c gettext.c \ -finddomain.c loadmsgcat.c localealias.c textdomain.c l10nflist.c \ -explodename.c -OBJECTS = @INTLOBJS@ bindtextdom.$lo dcgettext.$lo dgettext.$lo gettext.$lo \ -finddomain.$lo loadmsgcat.$lo localealias.$lo textdomain.$lo l10nflist.$lo \ -explodename.$lo -CATOBJS = cat-compat.$lo ../po/cat-id-tbl.$lo -GETTOBJS = intl-compat.$lo -DISTFILES.common = ChangeLog Makefile.in linux-msg.sed po2tbl.sed.in \ -xopen-msg.sed $(HEADERS) $(SOURCES) -DISTFILES.normal = VERSION -DISTFILES.gettext = libintl.glibc intlh.inst.in - -.SUFFIXES: -.SUFFIXES: .c .o .lo -.c.o: - $(COMPILE) $< -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) $< - -INCLUDES = -I.. -I. -I$(top_srcdir)/intl -I$(top_srcdir)/lib - -all: all-@USE_INCLUDED_LIBINTL@ - -all-yes: libintl.$la intlh.inst -all-no: - -libintl.a: $(OBJECTS) - rm -f $@ - $(AR) cru $@ $(OBJECTS) - $(RANLIB) $@ - -libintl.la: $(OBJECTS) - $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $(OBJECTS) \ - -version-info 1:0 -rpath $(libdir) - -../po/cat-id-tbl.$lo: ../po/cat-id-tbl.c $(top_srcdir)/po/$(PACKAGE).pot - cd ../po && $(MAKE) cat-id-tbl.$lo - -check: all - -# This installation goal is only used in GNU gettext. Packages which -# only use the library should use install instead. - -# We must not install the libintl.h/libintl.a files if we are on a -# system which has the gettext() function in its C library or in a -# separate library or use the catgets interface. A special case is -# where configure found a previously installed GNU gettext library. -# If you want to use the one which comes with this version of the -# package, you have to use `configure --with-included-gettext'. -install: install-exec install-data -install-exec: all - if test "$(PACKAGE)" = "gettext" \ - && test '@INTLOBJS@' = '$(GETTOBJS)'; then \ - if test -r $(MKINSTALLDIRS); then \ - $(MKINSTALLDIRS) $(libdir) $(includedir); \ - else \ - $(top_srcdir)/mkinstalldirs $(libdir) $(includedir); \ - fi; \ - $(INSTALL_DATA) intlh.inst $(includedir)/libintl.h; \ - $(INSTALL_DATA) libintl.a $(libdir)/libintl.a; \ - else \ - : ; \ - fi -install-data: all - if test "$(PACKAGE)" = "gettext"; then \ - if test -r $(MKINSTALLDIRS); then \ - $(MKINSTALLDIRS) $(gettextsrcdir); \ - else \ - $(top_srcdir)/mkinstalldirs $(gettextsrcdir); \ - fi; \ - $(INSTALL_DATA) VERSION $(gettextsrcdir)/VERSION; \ - dists="$(DISTFILES.common)"; \ - for file in $$dists; do \ - $(INSTALL_DATA) $(srcdir)/$$file $(gettextsrcdir)/$$file; \ - done; \ - else \ - : ; \ - fi - -# Define this as empty until I found a useful application. -installcheck: - -uninstall: - dists="$(DISTFILES.common)"; \ - for file in $$dists; do \ - rm -f $(gettextsrcdir)/$$file; \ - done - -info dvi: - -$(OBJECTS): ../config.h libgettext.h -bindtextdom.$lo finddomain.$lo loadmsgcat.$lo: gettextP.h gettext.h loadinfo.h -dcgettext.$lo: gettextP.h gettext.h hash-string.h loadinfo.h - -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) - here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES) - -id: ID - -ID: $(HEADERS) $(SOURCES) - here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES) - - -mostlyclean: - rm -f *.a *.o *.lo core core.* - -clean: mostlyclean - -distclean: clean - rm -f Makefile ID TAGS po2msg.sed po2tbl.sed - -maintainer-clean: distclean - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - - -# GNU gettext needs not contain the file `VERSION' but contains some -# other files which should not be distributed in other packages. -distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) -dist distdir: Makefile $(DISTFILES) - if test "$(PACKAGE)" = gettext; then \ - additional="$(DISTFILES.gettext)"; \ - else \ - additional="$(DISTFILES.normal)"; \ - fi; \ - for file in $(DISTFILES.common) $$additional; do \ - ln $(srcdir)/$$file $(distdir) 2> /dev/null \ - || cp -p $(srcdir)/$$file $(distdir); \ - done - -dist-libc: - tar zcvf intl-glibc.tar.gz $(COMSRCS) $(COMHDRS) libintl.h.glibc - -Makefile: Makefile.in ../config.status - cd .. \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - -# The dependency for intlh.inst is different in gettext and all other -# packages. Because we cannot you GNU make features we have to solve -# the problem while rewriting Makefile.in. -@GT_YES@intlh.inst: intlh.inst.in ../config.status -@GT_YES@ cd .. \ -@GT_YES@ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= \ -@GT_YES@ $(SHELL) ./config.status -@GT_NO@.PHONY: intlh.inst -@GT_NO@intlh.inst: - -# Tell versions [3.59,3.63) of GNU make not to export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru console-tools-0.2.3/intl/po2tbl.sed.in console-tools-0.2.3/intl/po2tbl.sed.in --- console-tools-0.2.3/intl/po2tbl.sed.in 1999-03-07 16:41:22.000000000 +0000 +++ console-tools-0.2.3/intl/po2tbl.sed.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,102 +0,0 @@ -# po2tbl.sed - Convert Uniforum style .po file to lookup table for catgets -# Copyright (C) 1995 Free Software Foundation, Inc. -# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -1 { - i\ -/* Automatically generated by po2tbl.sed from @PACKAGE NAME@.pot. */\ -\ -#if HAVE_CONFIG_H\ -# include <config.h>\ -#endif\ -\ -#include "libgettext.h"\ -\ -const struct _msg_ent _msg_tbl[] = { - h - s/.*/0/ - x -} -# -# Write msgid entries in C array form. -# -/^msgid/ { - s/msgid[ ]*\(".*"\)/ {\1/ - tb -# Append the next line - :b - N -# Look whether second part is continuation line. - s/\(.*\)"\(\n\)"\(.*"\)/\1\2\3/ -# Yes, then branch. - ta -# Because we assume that the input file correctly formed the line -# just read cannot be again be a msgid line. So it's safe to ignore -# it. - s/\(.*\)\n.*/\1/ - bc -# We found a continuation line. But before printing insert '\'. - :a - s/\(.*\)\(\n.*\)/\1\\\2/ - P -# We cannot use D here. - s/.*\n\(.*\)/\1/ -# Some buggy seds do not clear the `successful substitution since last ``t''' -# flag on `N', so we do a `t' here to clear it. - tb -# Not reached - :c - x -# The following nice solution is by -# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de> - td -# Increment a decimal number in pattern space. -# First hide trailing `9' digits. - :d - s/9\(_*\)$/_\1/ - td -# Assure at least one digit is available. - s/^\(_*\)$/0\1/ -# Increment the last digit. - s/8\(_*\)$/9\1/ - s/7\(_*\)$/8\1/ - s/6\(_*\)$/7\1/ - s/5\(_*\)$/6\1/ - s/4\(_*\)$/5\1/ - s/3\(_*\)$/4\1/ - s/2\(_*\)$/3\1/ - s/1\(_*\)$/2\1/ - s/0\(_*\)$/1\1/ -# Convert the hidden `9' digits to `0's. - s/_/0/g - x - G - s/\(.*\)\n\([0-9]*\)/\1, \2},/ - s/\(.*\)"$/\1/ - p -} -# -# Last line. -# -$ { - i\ -};\ - - g - s/0*\(.*\)/int _msg_tbl_length = \1;/p -} -d diff -Nru console-tools-0.2.3/intl/textdomain.c console-tools-0.2.3/intl/textdomain.c --- console-tools-0.2.3/intl/textdomain.c 1999-03-07 16:41:23.000000000 +0000 +++ console-tools-0.2.3/intl/textdomain.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,108 +0,0 @@ -/* Implementation of the textdomain(3) function. - Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. - Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#if defined STDC_HEADERS || defined _LIBC -# include <stdlib.h> -#endif - -#if defined STDC_HEADERS || defined HAVE_STRING_H || defined _LIBC -# include <string.h> -#else -# include <strings.h> -# ifndef memcpy -# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num) -# endif -#endif - -#ifdef _LIBC -# include <libintl.h> -#else -# include "libgettext.h" -#endif - -/* @@ end of prolog @@ */ - -/* Name of the default text domain. */ -extern const char _nl_default_default_domain[]; - -/* Default text domain in which entries for gettext(3) are to be found. */ -extern const char *_nl_current_default_domain; - - -/* Names for the libintl functions are a problem. They must not clash - with existing names and they should follow ANSI C. But this source - code is also used in GNU C Library where the names have a __ - prefix. So we have to make a difference here. */ -#ifdef _LIBC -# define TEXTDOMAIN __textdomain -# ifndef strdup -# define strdup(str) __strdup (str) -# endif -#else -# define TEXTDOMAIN textdomain__ -#endif - -/* Set the current default message catalog to DOMAINNAME. - If DOMAINNAME is null, return the current default. - If DOMAINNAME is "", reset to the default of "messages". */ -char * -TEXTDOMAIN (domainname) - const char *domainname; -{ - char *old; - - /* A NULL pointer requests the current setting. */ - if (domainname == NULL) - return (char *) _nl_current_default_domain; - - old = (char *) _nl_current_default_domain; - - /* If domain name is the null string set to default domain "messages". */ - if (domainname[0] == '\0' - || strcmp (domainname, _nl_default_default_domain) == 0) - _nl_current_default_domain = _nl_default_default_domain; - else - { - /* If the following malloc fails `_nl_current_default_domain' - will be NULL. This value will be returned and so signals we - are out of core. */ -#if defined _LIBC || defined HAVE_STRDUP - _nl_current_default_domain = strdup (domainname); -#else - size_t len = strlen (domainname) + 1; - char *cp = (char *) malloc (len); - if (cp != NULL) - memcpy (cp, domainname, len); - _nl_current_default_domain = cp; -#endif - } - - if (old != _nl_default_default_domain) - free (old); - - return (char *) _nl_current_default_domain; -} - -#ifdef _LIBC -/* Alias for function name in GNU C Library. */ -weak_alias (__textdomain, textdomain); -#endif diff -Nru console-tools-0.2.3/intl/VERSION console-tools-0.2.3/intl/VERSION --- console-tools-0.2.3/intl/VERSION 1999-03-07 16:41:22.000000000 +0000 +++ console-tools-0.2.3/intl/VERSION 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -GNU gettext library from gettext-0.10.35 diff -Nru console-tools-0.2.3/intl/xopen-msg.sed console-tools-0.2.3/intl/xopen-msg.sed --- console-tools-0.2.3/intl/xopen-msg.sed 1999-03-07 16:41:22.000000000 +0000 +++ console-tools-0.2.3/intl/xopen-msg.sed 1970-01-01 00:00:00.000000000 +0000 @@ -1,104 +0,0 @@ -# po2msg.sed - Convert Uniforum style .po file to X/Open style .msg file -# Copyright (C) 1995 Free Software Foundation, Inc. -# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# -# The first directive in the .msg should be the definition of the -# message set number. We use always set number 1. -# -1 { - i\ -$set 1 # Automatically created by po2msg.sed - h - s/.*/0/ - x -} -# -# We copy all comments into the .msg file. Perhaps they can help. -# -/^#/ s/^#[ ]*/$ /p -# -# We copy the original message as a comment into the .msg file. -# -/^msgid/ { -# Does not work now -# /"$/! { -# s/\\$// -# s/$/ ... (more lines following)"/ -# } - s/^msgid[ ]*"\(.*\)"$/$ Original Message: \1/ - p -} -# -# The .msg file contains, other then the .po file, only the translations -# but each given a unique ID. Starting from 1 and incrementing by 1 for -# each message we assign them to the messages. -# It is important that the .po file used to generate the cat-id-tbl.c file -# (with po-to-tbl) is the same as the one used here. (At least the order -# of declarations must not be changed.) -# -/^msgstr/ { - s/msgstr[ ]*"\(.*\)"/\1/ - x -# The following nice solution is by -# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de> - td -# Increment a decimal number in pattern space. -# First hide trailing `9' digits. - :d - s/9\(_*\)$/_\1/ - td -# Assure at least one digit is available. - s/^\(_*\)$/0\1/ -# Increment the last digit. - s/8\(_*\)$/9\1/ - s/7\(_*\)$/8\1/ - s/6\(_*\)$/7\1/ - s/5\(_*\)$/6\1/ - s/4\(_*\)$/5\1/ - s/3\(_*\)$/4\1/ - s/2\(_*\)$/3\1/ - s/1\(_*\)$/2\1/ - s/0\(_*\)$/1\1/ -# Convert the hidden `9' digits to `0's. - s/_/0/g - x -# Bring the line in the format `<number> <message>' - G - s/^[^\n]*$/& / - s/\(.*\)\n\([0-9]*\)/\2 \1/ -# Clear flag from last substitution. - tb -# Append the next line. - :b - N -# Look whether second part is a continuation line. - s/\(.*\n\)"\(.*\)"/\1\2/ -# Yes, then branch. - ta - P - D -# Note that `D' includes a jump to the start!! -# We found a continuation line. But before printing insert '\'. - :a - s/\(.*\)\(\n.*\)/\1\\\2/ - P -# We cannot use the sed command `D' here - s/.*\n\(.*\)/\1/ - tb -} -d diff -Nru console-tools-0.2.3/kbdtools/analyze.c console-tools-0.2.3/kbdtools/analyze.c --- console-tools-0.2.3/kbdtools/analyze.c 1999-04-15 00:34:52.000000000 +0000 +++ console-tools-0.2.3/kbdtools/analyze.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,2245 +0,0 @@ -/* A lexical scanner generated by flex */ - -/* Scanner skeleton version: - * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $ - */ - -#define FLEX_SCANNER -#define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 - -#include <stdio.h> - - -/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ -#ifdef c_plusplus -#ifndef __cplusplus -#define __cplusplus -#endif -#endif - - -#ifdef __cplusplus - -#include <stdlib.h> -#include <unistd.h> - -/* Use prototypes in function declarations. */ -#define YY_USE_PROTOS - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -#if __STDC__ - -#define YY_USE_PROTOS -#define YY_USE_CONST - -#endif /* __STDC__ */ -#endif /* ! __cplusplus */ - -#ifdef __TURBOC__ - #pragma warn -rch - #pragma warn -use -#include <io.h> -#include <stdlib.h> -#define YY_USE_CONST -#define YY_USE_PROTOS -#endif - -#ifdef YY_USE_CONST -#define yyconst const -#else -#define yyconst -#endif - - -#ifdef YY_USE_PROTOS -#define YY_PROTO(proto) proto -#else -#define YY_PROTO(proto) () -#endif - -/* Returned upon end-of-file. */ -#define YY_NULL 0 - -/* Promotes a possibly negative, possibly signed char to an unsigned - * integer for use as an array index. If the signed char is negative, - * we want to instead treat it as an 8-bit unsigned char, hence the - * double cast. - */ -#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) - -/* Enter a start condition. This macro really ought to take a parameter, - * but we do it the disgusting crufty way forced on us by the ()-less - * definition of BEGIN. - */ -#define BEGIN yy_start = 1 + 2 * - -/* Translate the current start state into a value that can be later handed - * to BEGIN to return to the state. The YYSTATE alias is for lex - * compatibility. - */ -#define YY_START ((yy_start - 1) / 2) -#define YYSTATE YY_START - -/* Action number for EOF rule of a given start state. */ -#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) - -/* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE yyrestart( yyin ) - -#define YY_END_OF_BUFFER_CHAR 0 - -/* Size of default input buffer. */ -#define YY_BUF_SIZE 16384 - -typedef struct yy_buffer_state *YY_BUFFER_STATE; - -extern int yyleng; -extern FILE *yyin, *yyout; - -#define EOB_ACT_CONTINUE_SCAN 0 -#define EOB_ACT_END_OF_FILE 1 -#define EOB_ACT_LAST_MATCH 2 - -/* The funky do-while in the following #define is used to turn the definition - * int a single C statement (which needs a semi-colon terminator). This - * avoids problems with code like: - * - * if ( condition_holds ) - * yyless( 5 ); - * else - * do_something_else(); - * - * Prior to using the do-while the compiler would get upset at the - * "else" because it interpreted the "if" statement as being all - * done when it reached the ';' after the yyless() call. - */ - -/* Return all but the first 'n' matched characters back to the input stream. */ - -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - *yy_cp = yy_hold_char; \ - YY_RESTORE_YY_MORE_OFFSET \ - yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ - YY_DO_BEFORE_ACTION; /* set up yytext again */ \ - } \ - while ( 0 ) - -#define unput(c) yyunput( c, yytext_ptr ) - -/* The following is because we cannot portably get our hands on size_t - * (without autoconf's help, which isn't available because we want - * flex-generated scanners to compile on their own). - */ -typedef unsigned int yy_size_t; - - -struct yy_buffer_state - { - FILE *yy_input_file; - - char *yy_ch_buf; /* input buffer */ - char *yy_buf_pos; /* current position in input buffer */ - - /* Size of input buffer in bytes, not including room for EOB - * characters. - */ - yy_size_t yy_buf_size; - - /* Number of characters read into yy_ch_buf, not including EOB - * characters. - */ - int yy_n_chars; - - /* Whether we "own" the buffer - i.e., we know we created it, - * and can realloc() it to grow it, and should free() it to - * delete it. - */ - int yy_is_our_buffer; - - /* Whether this is an "interactive" input source; if so, and - * if we're using stdio for input, then we want to use getc() - * instead of fread(), to make sure we stop fetching input after - * each newline. - */ - int yy_is_interactive; - - /* Whether we're considered to be at the beginning of a line. - * If so, '^' rules will be active on the next match, otherwise - * not. - */ - int yy_at_bol; - - /* Whether to try to fill the input buffer when we reach the - * end of it. - */ - int yy_fill_buffer; - - int yy_buffer_status; -#define YY_BUFFER_NEW 0 -#define YY_BUFFER_NORMAL 1 - /* When an EOF's been seen but there's still some text to process - * then we mark the buffer as YY_EOF_PENDING, to indicate that we - * shouldn't try reading from the input source any more. We might - * still have a bunch of tokens to match, though, because of - * possible backing-up. - * - * When we actually see the EOF, we change the status to "new" - * (via yyrestart()), so that the user can continue scanning by - * just pointing yyin at a new input file. - */ -#define YY_BUFFER_EOF_PENDING 2 - }; - -static YY_BUFFER_STATE yy_current_buffer = 0; - -/* We provide macros for accessing buffer states in case in the - * future we want to put the buffer states in a more general - * "scanner state". - */ -#define YY_CURRENT_BUFFER yy_current_buffer - - -/* yy_hold_char holds the character lost when yytext is formed. */ -static char yy_hold_char; - -static int yy_n_chars; /* number of characters read into yy_ch_buf */ - - -int yyleng; - -/* Points to current character in buffer. */ -static char *yy_c_buf_p = (char *) 0; -static int yy_init = 1; /* whether we need to initialize */ -static int yy_start = 0; /* start state number */ - -/* Flag which is used to allow yywrap()'s to do buffer switches - * instead of setting up a fresh yyin. A bit of a hack ... - */ -static int yy_did_buffer_switch_on_eof; - -void yyrestart YY_PROTO(( FILE *input_file )); - -void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer )); -void yy_load_buffer_state YY_PROTO(( void )); -YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size )); -void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b )); -void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file )); -void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b )); -#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) - -YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); -YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); -YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); - -static void *yy_flex_alloc YY_PROTO(( yy_size_t )); -static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); -static void yy_flex_free YY_PROTO(( void * )); - -#define yy_new_buffer yy_create_buffer - -#define yy_set_interactive(is_interactive) \ - { \ - if ( ! yy_current_buffer ) \ - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ - yy_current_buffer->yy_is_interactive = is_interactive; \ - } - -#define yy_set_bol(at_bol) \ - { \ - if ( ! yy_current_buffer ) \ - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ - yy_current_buffer->yy_at_bol = at_bol; \ - } - -#define YY_AT_BOL() (yy_current_buffer->yy_at_bol) - -typedef unsigned char YY_CHAR; -FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; -typedef int yy_state_type; -extern char *yytext; -#define yytext_ptr yytext - -static yy_state_type yy_get_previous_state YY_PROTO(( void )); -static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); -static int yy_get_next_buffer YY_PROTO(( void )); -static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); - -/* Done after the current pattern has been matched and before the - * corresponding action - sets up yytext. - */ -#define YY_DO_BEFORE_ACTION \ - yytext_ptr = yy_bp; \ - yyleng = (int) (yy_cp - yy_bp); \ - yy_hold_char = *yy_cp; \ - *yy_cp = '\0'; \ - yy_c_buf_p = yy_cp; - -#define YY_NUM_RULES 47 -#define YY_END_OF_BUFFER 48 -static yyconst short int yy_accept[452] = - { 0, - 0, 0, 0, 0, 44, 44, 0, 0, 48, 46, - 6, 5, 46, 39, 46, 11, 10, 9, 13, 13, - 8, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 44, 45, 47, 3, 47, 6, 0, 7, 0, - 0, 13, 0, 13, 0, 31, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, - 0, 0, 0, 0, 33, 0, 0, 0, 4, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 44, 41, 40, - 42, 43, 0, 3, 38, 0, 38, 0, 13, 22, - 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, - 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, - - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 40, 2, 37, 36, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - - 14, 14, 14, 14, 14, 14, 14, 14, 40, 36, - 0, 0, 23, 0, 0, 0, 26, 27, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 19, 20, - 0, 20, 0, 0, 32, 0, 0, 0, 0, 0, - 0, 20, 0, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 24, 25, - 18, 18, 12, 0, 0, 0, 0, 0, 0, 18, - - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 0, 15, 30, 21, 17, - 16, 29, 1, 14, 14, 14, 14, 14, 14, 14, - 1, 0, 1, 14, 0, 14, 0, 14, 28, 14, - 0 - } ; - -static yyconst int yy_ec[256] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 4, 5, 6, 1, 1, 1, 7, 1, - 1, 1, 8, 9, 10, 1, 1, 11, 12, 12, - 12, 12, 12, 12, 12, 13, 13, 1, 1, 1, - 14, 1, 1, 1, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 24, 31, 32, 33, 34, 24, 24, 35, 36, 24, - 1, 37, 1, 1, 38, 1, 39, 16, 40, 41, - - 42, 43, 44, 45, 46, 24, 47, 48, 49, 50, - 51, 52, 24, 53, 54, 55, 56, 24, 24, 35, - 57, 24, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1 - } ; - -static yyconst int yy_meta[58] = - { 0, - 1, 1, 2, 1, 3, 1, 1, 1, 1, 1, - 4, 4, 4, 1, 4, 4, 4, 4, 4, 4, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 3, 5, 4, 4, - 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5 - } ; - -static yyconst short int yy_base[465] = - { 0, - 0, 0, 57, 0, 110, 111, 663, 662, 666, 669, - 663, 669, 661, 669, 626, 669, 669, 669, 106, 108, - 669, 96, 101, 98, 112, 101, 107, 120, 106, 128, - 659, 113, 113, 610, 610, 617, 608, 609, 114, 605, - 601, 140, 0, 141, 111, 157, 143, 147, 156, 151, - 171, 158, 132, 603, 603, 610, 601, 602, 136, 598, - 594, 0, 669, 193, 669, 121, 645, 643, 669, 638, - 202, 126, 0, 204, 152, 669, 164, 629, 193, 612, - 603, 173, 588, 609, 586, 602, 580, 669, 621, 596, - 611, 602, 586, 578, 669, 0, 596, 573, 669, 177, - - 185, 589, 177, 574, 573, 585, 567, 584, 576, 568, - 564, 0, 191, 0, 195, 604, 206, 587, 578, 186, - 563, 584, 561, 577, 555, 0, 596, 571, 586, 577, - 561, 553, 0, 571, 548, 196, 198, 564, 188, 549, - 548, 560, 542, 559, 551, 543, 539, 0, 669, 230, - 669, 669, 140, 669, 669, 587, 586, 237, 0, 235, - 229, 237, 561, 561, 557, 563, 535, 535, 531, 537, - 669, 173, 237, 561, 537, 562, 558, 537, 533, 0, - 563, 538, 245, 523, 523, 519, 525, 524, 212, 525, - 527, 523, 529, 247, 249, 250, 536, 536, 532, 538, - - 510, 510, 506, 512, 0, 245, 252, 536, 512, 537, - 533, 512, 508, 538, 513, 253, 498, 498, 494, 500, - 499, 225, 500, 502, 498, 504, 284, 669, 669, 669, - 291, 247, 511, 488, 487, 507, 509, 506, 273, 246, - 485, 482, 279, 505, 518, 481, 492, 479, 490, 500, - 477, 493, 497, 469, 473, 0, 496, 473, 467, 465, - 467, 464, 258, 460, 464, 475, 463, 457, 461, 462, - 478, 261, 455, 454, 474, 476, 473, 282, 258, 452, - 449, 283, 472, 485, 448, 459, 446, 457, 467, 444, - 460, 464, 436, 440, 463, 440, 434, 432, 434, 431, - - 267, 427, 431, 442, 430, 424, 428, 429, 669, 669, - 469, 284, 669, 456, 442, 444, 669, 669, 430, 429, - 416, 418, 450, 437, 425, 413, 423, 411, 669, 291, - 441, 292, 417, 0, 669, 418, 405, 407, 416, 415, - 403, 271, 410, 0, 289, 434, 420, 422, 0, 0, - 408, 407, 394, 396, 428, 415, 403, 391, 401, 389, - 0, 299, 419, 300, 395, 0, 396, 383, 385, 394, - 393, 381, 279, 388, 318, 398, 411, 403, 373, 372, - 384, 377, 405, 391, 380, 367, 378, 365, 669, 669, - 386, 363, 669, 361, 373, 366, 371, 370, 357, 356, - - 319, 376, 389, 381, 351, 347, 351, 337, 348, 334, - 323, 307, 312, 299, 0, 0, 320, 297, 295, 307, - 300, 305, 304, 291, 286, 306, 669, 669, 669, 669, - 669, 669, 332, 309, 0, 0, 0, 0, 0, 0, - 280, 318, 278, 320, 308, 309, 320, 329, 669, 0, - 669, 368, 373, 378, 383, 385, 390, 395, 400, 272, - 262, 204, 128, 121 - } ; - -static yyconst short int yy_def[465] = - { 0, - 451, 1, 451, 3, 452, 452, 453, 453, 451, 451, - 451, 451, 454, 451, 455, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 457, 451, 451, 451, 458, 451, 454, 451, 451, - 459, 451, 460, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 461, 451, 451, 451, 451, - - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 457, 451, 451, - 451, 451, 458, 451, 451, 451, 451, 451, 460, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 462, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 456, 456, 456, 456, 456, 456, 456, - - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 463, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - - 456, 456, 456, 456, 456, 456, 456, 456, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 464, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 451, 451, 451, 451, 451, - 451, 451, 451, 456, 456, 456, 456, 456, 456, 456, - 456, 451, 451, 456, 451, 456, 451, 456, 451, 456, - 0, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451 - } ; - -static yyconst short int yy_nxt[727] = - { 0, - 10, 11, 12, 13, 14, 13, 15, 16, 17, 18, - 19, 20, 20, 21, 22, 10, 23, 10, 10, 24, - 10, 10, 10, 10, 25, 10, 10, 10, 26, 27, - 10, 28, 29, 30, 10, 10, 31, 10, 32, 33, - 10, 10, 34, 10, 10, 35, 36, 10, 10, 10, - 37, 38, 10, 39, 40, 41, 10, 10, 11, 12, - 13, 14, 13, 15, 16, 17, 18, 19, 20, 20, - 21, 42, 43, 44, 43, 43, 45, 43, 43, 43, - 43, 46, 43, 43, 43, 47, 48, 43, 49, 50, - 51, 43, 43, 31, 10, 52, 53, 43, 43, 54, - - 43, 43, 55, 56, 43, 43, 43, 57, 58, 43, - 59, 60, 61, 43, 63, 63, 72, 72, 74, 74, - 74, 75, 78, 154, 393, 154, 84, 76, 88, 79, - 86, 334, 89, 80, 95, 96, 72, 72, 100, 122, - 73, 91, 154, 77, 228, 81, 64, 64, 85, 76, - 88, 82, 92, 87, 90, 83, 95, 102, 109, 97, - 101, 123, 116, 103, 93, 113, 76, 104, 110, 117, - 126, 114, 127, 118, 94, 124, 138, 129, 96, 133, - 145, 98, 139, 136, 160, 119, 140, 115, 130, 244, - 146, 120, 126, 114, 128, 121, 161, 149, 125, 245, - - 131, 133, 134, 150, 150, 137, 161, 256, 157, 161, - 132, 114, 158, 158, 74, 74, 74, 161, 162, 164, - 165, 168, 169, 194, 135, 185, 186, 195, 195, 151, - 195, 161, 198, 199, 202, 203, 218, 219, 232, 183, - 227, 227, 152, 230, 232, 195, 232, 231, 231, 196, - 195, 265, 216, 246, 232, 233, 232, 234, 232, 232, - 266, 283, 232, 247, 303, 180, 232, 271, 285, 312, - 273, 284, 232, 304, 232, 159, 248, 319, 286, 443, - 235, 443, 232, 345, 272, 249, 272, 272, 259, 351, - 272, 287, 312, 274, 309, 309, 297, 310, 317, 320, - - 288, 311, 311, 318, 317, 317, 345, 349, 349, 318, - 318, 352, 350, 350, 349, 375, 389, 389, 389, 350, - 401, 390, 390, 390, 415, 415, 415, 426, 426, 416, - 416, 416, 442, 443, 449, 444, 445, 375, 446, 440, - 447, 448, 401, 450, 439, 438, 441, 437, 436, 435, - 440, 440, 439, 438, 442, 426, 434, 444, 449, 445, - 439, 446, 447, 448, 438, 439, 438, 450, 62, 62, - 62, 62, 62, 65, 65, 65, 65, 65, 68, 68, - 68, 68, 68, 70, 437, 70, 70, 70, 112, 112, - 148, 148, 436, 148, 148, 153, 153, 153, 153, 153, - - 156, 435, 156, 156, 156, 435, 437, 436, 435, 432, - 431, 430, 433, 429, 428, 427, 432, 432, 431, 430, - 431, 430, 431, 430, 429, 428, 427, 427, 429, 428, - 427, 425, 424, 423, 422, 421, 420, 419, 418, 417, - 414, 413, 412, 411, 410, 409, 408, 407, 406, 405, - 404, 403, 402, 400, 399, 398, 397, 396, 395, 394, - 392, 391, 388, 387, 386, 385, 384, 383, 382, 381, - 380, 379, 378, 377, 376, 310, 366, 374, 373, 361, - 372, 371, 370, 369, 368, 367, 344, 366, 366, 365, - 364, 363, 362, 361, 361, 360, 359, 358, 357, 356, - - 355, 354, 353, 348, 347, 346, 344, 344, 344, 335, - 343, 342, 329, 341, 340, 339, 338, 337, 336, 313, - 335, 335, 333, 332, 331, 330, 329, 329, 328, 327, - 326, 325, 324, 323, 322, 321, 316, 315, 314, 313, - 313, 313, 308, 307, 306, 305, 302, 301, 300, 299, - 298, 296, 295, 294, 293, 292, 291, 290, 289, 282, - 281, 280, 279, 278, 277, 276, 275, 270, 269, 268, - 267, 264, 263, 262, 261, 260, 258, 257, 255, 254, - 253, 252, 251, 250, 243, 242, 241, 240, 239, 238, - 237, 236, 229, 229, 226, 225, 224, 223, 222, 221, - - 205, 220, 217, 215, 214, 213, 212, 211, 210, 209, - 208, 207, 206, 205, 205, 204, 201, 200, 197, 193, - 192, 191, 190, 189, 188, 171, 187, 184, 182, 181, - 179, 178, 177, 176, 175, 174, 173, 172, 171, 171, - 170, 167, 166, 163, 155, 69, 67, 147, 133, 144, - 126, 143, 142, 141, 111, 95, 108, 88, 107, 106, - 105, 99, 71, 69, 67, 451, 66, 66, 9, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451 - } ; - -static yyconst short int yy_chk[727] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 5, 6, 19, 19, 20, 20, - 20, 22, 23, 66, 464, 66, 24, 22, 26, 23, - 25, 463, 27, 23, 29, 30, 72, 72, 32, 45, - 19, 28, 153, 22, 153, 23, 5, 6, 24, 22, - 26, 23, 28, 25, 27, 23, 29, 33, 39, 30, - 32, 45, 44, 33, 28, 42, 32, 33, 39, 44, - 47, 42, 48, 44, 28, 46, 53, 49, 51, 50, - 59, 30, 53, 52, 75, 44, 53, 42, 49, 172, - 59, 44, 47, 42, 48, 44, 77, 64, 46, 172, - - 49, 50, 51, 64, 64, 52, 75, 462, 71, 100, - 49, 52, 71, 71, 74, 74, 74, 101, 77, 79, - 79, 82, 82, 113, 51, 103, 103, 115, 136, 64, - 137, 100, 117, 117, 120, 120, 139, 139, 161, 101, - 150, 150, 64, 158, 160, 113, 162, 158, 158, 115, - 136, 189, 137, 173, 183, 160, 194, 162, 195, 196, - 189, 206, 216, 173, 222, 461, 161, 194, 207, 232, - 196, 206, 160, 222, 162, 460, 173, 240, 207, 443, - 162, 441, 183, 272, 194, 173, 195, 196, 183, 279, - 216, 207, 232, 196, 227, 227, 216, 231, 239, 240, - - 207, 231, 231, 239, 243, 263, 272, 278, 282, 243, - 263, 279, 278, 282, 301, 312, 330, 332, 342, 301, - 345, 330, 332, 342, 362, 364, 373, 375, 401, 362, - 364, 373, 426, 433, 447, 434, 442, 312, 444, 425, - 445, 446, 345, 448, 424, 423, 422, 421, 420, 419, - 418, 417, 414, 413, 426, 375, 401, 434, 447, 442, - 412, 444, 445, 446, 411, 410, 409, 448, 452, 452, - 452, 452, 452, 453, 453, 453, 453, 453, 454, 454, - 454, 454, 454, 455, 408, 455, 455, 455, 456, 456, - 457, 457, 407, 457, 457, 458, 458, 458, 458, 458, - - 459, 406, 459, 459, 459, 405, 404, 403, 402, 400, - 399, 398, 397, 396, 395, 394, 392, 391, 388, 387, - 386, 385, 384, 383, 382, 381, 380, 379, 378, 377, - 376, 374, 372, 371, 370, 369, 368, 367, 365, 363, - 360, 359, 358, 357, 356, 355, 354, 353, 352, 351, - 348, 347, 346, 343, 341, 340, 339, 338, 337, 336, - 333, 331, 328, 327, 326, 325, 324, 323, 322, 321, - 320, 319, 316, 315, 314, 311, 308, 307, 306, 305, - 304, 303, 302, 300, 299, 298, 297, 296, 295, 294, - 293, 292, 291, 290, 289, 288, 287, 286, 285, 284, - - 283, 281, 280, 277, 276, 275, 274, 273, 271, 270, - 269, 268, 267, 266, 265, 264, 262, 261, 260, 259, - 258, 257, 255, 254, 253, 252, 251, 250, 249, 248, - 247, 246, 245, 244, 242, 241, 238, 237, 236, 235, - 234, 233, 226, 225, 224, 223, 221, 220, 219, 218, - 217, 215, 214, 213, 212, 211, 210, 209, 208, 204, - 203, 202, 201, 200, 199, 198, 197, 193, 192, 191, - 190, 188, 187, 186, 185, 184, 182, 181, 179, 178, - 177, 176, 175, 174, 170, 169, 168, 167, 166, 165, - 164, 163, 157, 156, 147, 146, 145, 144, 143, 142, - - 141, 140, 138, 135, 134, 132, 131, 130, 129, 128, - 127, 125, 124, 123, 122, 121, 119, 118, 116, 111, - 110, 109, 108, 107, 106, 105, 104, 102, 98, 97, - 94, 93, 92, 91, 90, 89, 87, 86, 85, 84, - 83, 81, 80, 78, 70, 68, 67, 61, 60, 58, - 57, 56, 55, 54, 41, 40, 38, 37, 36, 35, - 34, 31, 15, 13, 11, 9, 8, 7, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451 - } ; - -static yy_state_type yy_last_accepting_state; -static char *yy_last_accepting_cpos; - -/* The intent behind this definition is that it'll catch - * any uses of REJECT which flex missed. - */ -#define REJECT reject_used_but_not_detected -#define yymore() yymore_used_but_not_detected -#define YY_MORE_ADJ 0 -#define YY_RESTORE_YY_MORE_OFFSET -char *yytext; -#line 1 "analyze.l" -#define INITIAL 0 -#line 2 "analyze.l" -#include <stdlib.h> -#include <linux/kd.h> -#include <lct/utils.h> -#include "loadkeys.h" - -extern int ksymtocode(char *s); - -extern int line_nr; -extern int verbose; /* loadkeys.y */ -extern char pathname[]; /* idem */ -int yylval; -int rvalct; -struct kbsentry kbs_buf; -char *p, *pmax; -char *filename; - -#undef yywrap -extern int yywrap(void); -extern int yyerror(char *s); -extern void stringovfl(void); -extern void lkfatal(char *s); -extern void lkfatal1(char *s, char *s2); -extern void open_include(char *s); -void lkfatal(char *); -void lkfatal0(char *, int); -void lkfatal1(char *, char *); -#define RVALUE 1 - -#define STR 2 - -#define INCLSTR 3 - -#line 708 "lex.yy.c" - -/* Macros after this point can all be overridden by user definitions in - * section 1. - */ - -#ifndef YY_SKIP_YYWRAP -#ifdef __cplusplus -extern "C" int yywrap YY_PROTO(( void )); -#else -extern int yywrap YY_PROTO(( void )); -#endif -#endif - -#ifndef YY_NO_UNPUT -static void yyunput YY_PROTO(( int c, char *buf_ptr )); -#endif - -#ifndef yytext_ptr -static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); -#endif - -#ifdef YY_NEED_STRLEN -static int yy_flex_strlen YY_PROTO(( yyconst char * )); -#endif - -#ifndef YY_NO_INPUT -#ifdef __cplusplus -static int yyinput YY_PROTO(( void )); -#else -static int input YY_PROTO(( void )); -#endif -#endif - -#if YY_STACK_USED -static int yy_start_stack_ptr = 0; -static int yy_start_stack_depth = 0; -static int *yy_start_stack = 0; -#ifndef YY_NO_PUSH_STATE -static void yy_push_state YY_PROTO(( int new_state )); -#endif -#ifndef YY_NO_POP_STATE -static void yy_pop_state YY_PROTO(( void )); -#endif -#ifndef YY_NO_TOP_STATE -static int yy_top_state YY_PROTO(( void )); -#endif - -#else -#define YY_NO_PUSH_STATE 1 -#define YY_NO_POP_STATE 1 -#define YY_NO_TOP_STATE 1 -#endif - -#ifdef YY_MALLOC_DECL -YY_MALLOC_DECL -#else -#if __STDC__ -#ifndef __cplusplus -#include <stdlib.h> -#endif -#else -/* Just try to get by without declaring the routines. This will fail - * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) - * or sizeof(void*) != sizeof(int). - */ -#endif -#endif - -/* Amount of stuff to slurp up with each read. */ -#ifndef YY_READ_BUF_SIZE -#define YY_READ_BUF_SIZE 8192 -#endif - -/* Copy whatever the last rule matched to the standard output. */ - -#ifndef ECHO -/* This used to be an fputs(), but since the string might contain NUL's, - * we now use fwrite(). - */ -#define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) -#endif - -/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, - * is returned in "result". - */ -#ifndef YY_INPUT -#define YY_INPUT(buf,result,max_size) \ - if ( yy_current_buffer->yy_is_interactive ) \ - { \ - int c = '*', n; \ - for ( n = 0; n < max_size && \ - (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ - buf[n] = (char) c; \ - if ( c == '\n' ) \ - buf[n++] = (char) c; \ - if ( c == EOF && ferror( yyin ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - result = n; \ - } \ - else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ - && ferror( yyin ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); -#endif - -/* No semi-colon after return; correct usage is to write "yyterminate();" - - * we don't want an extra ';' after the "return" because that will cause - * some compilers to complain about unreachable statements. - */ -#ifndef yyterminate -#define yyterminate() return YY_NULL -#endif - -/* Number of entries by which start-condition stack grows. */ -#ifndef YY_START_STACK_INCR -#define YY_START_STACK_INCR 25 -#endif - -/* Report a fatal error. */ -#ifndef YY_FATAL_ERROR -#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) -#endif - -/* Default declaration of generated scanner - a define so the user can - * easily add parameters. - */ -#ifndef YY_DECL -#define YY_DECL int yylex YY_PROTO(( void )) -#endif - -/* Code executed at the beginning of each rule, after yytext and yyleng - * have been set up. - */ -#ifndef YY_USER_ACTION -#define YY_USER_ACTION -#endif - -/* Code executed at the end of each rule. */ -#ifndef YY_BREAK -#define YY_BREAK break; -#endif - -#define YY_RULE_SETUP \ - YY_USER_ACTION - -YY_DECL - { - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; - -#line 66 "analyze.l" - -#line 861 "lex.yy.c" - - if ( yy_init ) - { - yy_init = 0; - -#ifdef YY_USER_INIT - YY_USER_INIT; -#endif - - if ( ! yy_start ) - yy_start = 1; /* first start state */ - - if ( ! yyin ) - yyin = stdin; - - if ( ! yyout ) - yyout = stdout; - - if ( ! yy_current_buffer ) - yy_current_buffer = - yy_create_buffer( yyin, YY_BUF_SIZE ); - - yy_load_buffer_state(); - } - - while ( 1 ) /* loops until end-of-file is reached */ - { - yy_cp = yy_c_buf_p; - - /* Support of yytext. */ - *yy_cp = yy_hold_char; - - /* yy_bp points to the position in yy_ch_buf of the start of - * the current run. - */ - yy_bp = yy_cp; - - yy_current_state = yy_start; -yy_match: - do - { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; - if ( yy_accept[yy_current_state] ) - { - yy_last_accepting_state = yy_current_state; - yy_last_accepting_cpos = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 452 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - ++yy_cp; - } - while ( yy_base[yy_current_state] != 669 ); - -yy_find_action: - yy_act = yy_accept[yy_current_state]; - if ( yy_act == 0 ) - { /* have to back up */ - yy_cp = yy_last_accepting_cpos; - yy_current_state = yy_last_accepting_state; - yy_act = yy_accept[yy_current_state]; - } - - YY_DO_BEFORE_ACTION; - - -do_action: /* This label is used only to access EOF actions. */ - - - switch ( yy_act ) - { /* beginning of action switch */ - case 0: /* must back up */ - /* undo the effects of YY_DO_BEFORE_ACTION */ - *yy_cp = yy_hold_char; - yy_cp = yy_last_accepting_cpos; - yy_current_state = yy_last_accepting_state; - goto yy_find_action; - -case 1: -YY_RULE_SETUP -#line 67 "analyze.l" -{BEGIN(INCLSTR);} - YY_BREAK -case 2: -YY_RULE_SETUP -#line 68 "analyze.l" -{ int l; char *s; - l = strlen(yytext); - s = (char*)xmalloc(l); - strcpy(s, yytext+1); - s[l-2] = 0; /* wipe out " */ - open_include(s); - BEGIN(0); - } - YY_BREAK -case 3: -YY_RULE_SETUP -#line 76 "analyze.l" -{ - yyerror("expected filename between quotes"); - BEGIN(0); } - YY_BREAK -case 4: -YY_RULE_SETUP -#line 79 "analyze.l" -{line_nr++;} - YY_BREAK -case 5: -YY_RULE_SETUP -#line 80 "analyze.l" -{line_nr++;BEGIN(0);return(EOL);} - YY_BREAK -case 6: -YY_RULE_SETUP -#line 81 "analyze.l" -; /* do nothing */ - YY_BREAK -case 7: -*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ -yy_c_buf_p = yy_cp -= 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ -YY_RULE_SETUP -#line 82 "analyze.l" -; /* do nothing */ - YY_BREAK -case 8: -YY_RULE_SETUP -#line 83 "analyze.l" -{BEGIN(RVALUE);rvalct=0;return(EQUALS);} - YY_BREAK -case 9: -YY_RULE_SETUP -#line 84 "analyze.l" -{return(DASH);} - YY_BREAK -case 10: -YY_RULE_SETUP -#line 85 "analyze.l" -{return(COMMA);} - YY_BREAK -case 11: -YY_RULE_SETUP -#line 86 "analyze.l" -{return(PLUS);} - YY_BREAK -case 12: -YY_RULE_SETUP -#line 87 "analyze.l" -{yylval=strtol(yytext+1,NULL,16);return(UNUMBER);} - YY_BREAK -case 13: -YY_RULE_SETUP -#line 88 "analyze.l" -{yylval=strtol(yytext,NULL,0);return(NUMBER);} - YY_BREAK -case 14: -YY_RULE_SETUP -#line 89 "analyze.l" -{return((yylval=ksymtocode(yytext))==-1?ERROR:LITERAL);} - YY_BREAK -case 15: -YY_RULE_SETUP -#line 90 "analyze.l" -{return(CHARSET);} - YY_BREAK -case 16: -YY_RULE_SETUP -#line 91 "analyze.l" -{return(KEYMAPS);} - YY_BREAK -case 17: -YY_RULE_SETUP -#line 92 "analyze.l" -{return(KEYCODE);} - YY_BREAK -case 18: -YY_RULE_SETUP -#line 93 "analyze.l" -{BEGIN(RVALUE);return(STRING);} - YY_BREAK -case 19: -YY_RULE_SETUP -#line 94 "analyze.l" -{return(PLAIN);} - YY_BREAK -case 20: -YY_RULE_SETUP -#line 95 "analyze.l" -{return(SHIFT);} - YY_BREAK -case 21: -YY_RULE_SETUP -#line 96 "analyze.l" -{return(CONTROL);} - YY_BREAK -case 22: -YY_RULE_SETUP -#line 97 "analyze.l" -{return(ALT);} - YY_BREAK -case 23: -YY_RULE_SETUP -#line 98 "analyze.l" -{return(ALTGR);} - YY_BREAK -case 24: -YY_RULE_SETUP -#line 99 "analyze.l" -{return(SHIFTL);} - YY_BREAK -case 25: -YY_RULE_SETUP -#line 100 "analyze.l" -{return(SHIFTR);} - YY_BREAK -case 26: -YY_RULE_SETUP -#line 101 "analyze.l" -{return(CTRLL);} - YY_BREAK -case 27: -YY_RULE_SETUP -#line 102 "analyze.l" -{return(CTRLR);} - YY_BREAK -case 28: -YY_RULE_SETUP -#line 103 "analyze.l" -{return(ALT_IS_META);} - YY_BREAK -case 29: -YY_RULE_SETUP -#line 104 "analyze.l" -{return(STRINGS);} - YY_BREAK -case 30: -YY_RULE_SETUP -#line 105 "analyze.l" -{return(COMPOSE);} - YY_BREAK -case 31: -YY_RULE_SETUP -#line 106 "analyze.l" -{return(AS);} - YY_BREAK -case 32: -YY_RULE_SETUP -#line 107 "analyze.l" -{return(USUAL);} - YY_BREAK -case 33: -YY_RULE_SETUP -#line 108 "analyze.l" -{BEGIN(RVALUE); return(TO);} - YY_BREAK -case 34: -YY_RULE_SETUP -#line 109 "analyze.l" -{return(ON);} - YY_BREAK -case 35: -YY_RULE_SETUP -#line 110 "analyze.l" -{return(FOR);} - YY_BREAK -case 36: -YY_RULE_SETUP -#line 111 "analyze.l" -{yylval = strtol(yytext+2,NULL,8); return(CCHAR);} - YY_BREAK -case 37: -YY_RULE_SETUP -#line 112 "analyze.l" -{yylval = yytext[2]; return(CCHAR);} - YY_BREAK -case 38: -YY_RULE_SETUP -#line 113 "analyze.l" -{yylval = yytext[1]; return(CCHAR);} - YY_BREAK -case 39: -YY_RULE_SETUP -#line 114 "analyze.l" -{p=kbs_buf.kb_string; - pmax=p+sizeof(kbs_buf.kb_string)-1; - BEGIN(STR);} - YY_BREAK -case 40: -YY_RULE_SETUP -#line 117 "analyze.l" -{if(p>=pmax)stringovfl();*p++=strtol(yytext+1,NULL,8);} - YY_BREAK -case 41: -YY_RULE_SETUP -#line 118 "analyze.l" -{if(p>=pmax)stringovfl();*p++='"';} - YY_BREAK -case 42: -YY_RULE_SETUP -#line 119 "analyze.l" -{if(p>=pmax)stringovfl();*p++='\\';} - YY_BREAK -case 43: -YY_RULE_SETUP -#line 120 "analyze.l" -{if(p>=pmax)stringovfl();*p++='\n';} - YY_BREAK -case 44: -YY_RULE_SETUP -#line 121 "analyze.l" -{char *ptmp=p;p+=strlen(yytext); - if(p>pmax)stringovfl();strcpy(ptmp,yytext);} - YY_BREAK -case 45: -YY_RULE_SETUP -#line 123 "analyze.l" -{*p='\0';BEGIN(0);return(STRLITERAL); /*"*/} - YY_BREAK -case 46: -YY_RULE_SETUP -#line 124 "analyze.l" -{return(ERROR); /* report any unknown characters */} - YY_BREAK -case 47: -YY_RULE_SETUP -#line 125 "analyze.l" -ECHO; - YY_BREAK -#line 1194 "lex.yy.c" -case YY_STATE_EOF(INITIAL): -case YY_STATE_EOF(RVALUE): -case YY_STATE_EOF(STR): -case YY_STATE_EOF(INCLSTR): - yyterminate(); - - case YY_END_OF_BUFFER: - { - /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; - - /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = yy_hold_char; - YY_RESTORE_YY_MORE_OFFSET - - if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) - { - /* We're scanning a new file or input source. It's - * possible that this happened because the user - * just pointed yyin at a new source and called - * yylex(). If so, then we have to assure - * consistency between yy_current_buffer and our - * globals. Here is the right place to do so, because - * this is the first action (other than possibly a - * back-up) that will match for the new input source. - */ - yy_n_chars = yy_current_buffer->yy_n_chars; - yy_current_buffer->yy_input_file = yyin; - yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; - } - - /* Note that here we test for yy_c_buf_p "<=" to the position - * of the first EOB in the buffer, since yy_c_buf_p will - * already have been incremented past the NUL character - * (since all states make transitions on EOB to the - * end-of-buffer state). Contrast this with the test - * in input(). - */ - if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) - { /* This was really a NUL. */ - yy_state_type yy_next_state; - - yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state(); - - /* Okay, we're now positioned to make the NUL - * transition. We couldn't have - * yy_get_previous_state() go ahead and do it - * for us because it doesn't know how to deal - * with the possibility of jamming (and we don't - * want to build jamming into it because then it - * will run more slowly). - */ - - yy_next_state = yy_try_NUL_trans( yy_current_state ); - - yy_bp = yytext_ptr + YY_MORE_ADJ; - - if ( yy_next_state ) - { - /* Consume the NUL. */ - yy_cp = ++yy_c_buf_p; - yy_current_state = yy_next_state; - goto yy_match; - } - - else - { - yy_cp = yy_c_buf_p; - goto yy_find_action; - } - } - - else switch ( yy_get_next_buffer() ) - { - case EOB_ACT_END_OF_FILE: - { - yy_did_buffer_switch_on_eof = 0; - - if ( yywrap() ) - { - /* Note: because we've taken care in - * yy_get_next_buffer() to have set up - * yytext, we can now set up - * yy_c_buf_p so that if some total - * hoser (like flex itself) wants to - * call the scanner after we return the - * YY_NULL, it'll still work - another - * YY_NULL will get returned. - */ - yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; - - yy_act = YY_STATE_EOF(YY_START); - goto do_action; - } - - else - { - if ( ! yy_did_buffer_switch_on_eof ) - YY_NEW_FILE; - } - break; - } - - case EOB_ACT_CONTINUE_SCAN: - yy_c_buf_p = - yytext_ptr + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state(); - - yy_cp = yy_c_buf_p; - yy_bp = yytext_ptr + YY_MORE_ADJ; - goto yy_match; - - case EOB_ACT_LAST_MATCH: - yy_c_buf_p = - &yy_current_buffer->yy_ch_buf[yy_n_chars]; - - yy_current_state = yy_get_previous_state(); - - yy_cp = yy_c_buf_p; - yy_bp = yytext_ptr + YY_MORE_ADJ; - goto yy_find_action; - } - break; - } - - default: - YY_FATAL_ERROR( - "fatal flex scanner internal error--no action found" ); - } /* end of action switch */ - } /* end of scanning one token */ - } /* end of yylex */ - - -/* yy_get_next_buffer - try to read in a new buffer - * - * Returns a code representing an action: - * EOB_ACT_LAST_MATCH - - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position - * EOB_ACT_END_OF_FILE - end of file - */ - -static int yy_get_next_buffer() - { - register char *dest = yy_current_buffer->yy_ch_buf; - register char *source = yytext_ptr; - register int number_to_move, i; - int ret_val; - - if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] ) - YY_FATAL_ERROR( - "fatal flex scanner internal error--end of buffer missed" ); - - if ( yy_current_buffer->yy_fill_buffer == 0 ) - { /* Don't try to fill the buffer, so this is an EOF. */ - if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) - { - /* We matched a single character, the EOB, so - * treat this as a final EOF. - */ - return EOB_ACT_END_OF_FILE; - } - - else - { - /* We matched some text prior to the EOB, first - * process it. - */ - return EOB_ACT_LAST_MATCH; - } - } - - /* Try to read more data. */ - - /* First move last chars to start of buffer. */ - number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; - - for ( i = 0; i < number_to_move; ++i ) - *(dest++) = *(source++); - - if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING ) - /* don't do the read, it's not guaranteed to return an EOF, - * just force an EOF - */ - yy_current_buffer->yy_n_chars = yy_n_chars = 0; - - else - { - int num_to_read = - yy_current_buffer->yy_buf_size - number_to_move - 1; - - while ( num_to_read <= 0 ) - { /* Not enough room in the buffer - grow it. */ -#ifdef YY_USES_REJECT - YY_FATAL_ERROR( -"input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); -#else - - /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = yy_current_buffer; - - int yy_c_buf_p_offset = - (int) (yy_c_buf_p - b->yy_ch_buf); - - if ( b->yy_is_our_buffer ) - { - int new_size = b->yy_buf_size * 2; - - if ( new_size <= 0 ) - b->yy_buf_size += b->yy_buf_size / 8; - else - b->yy_buf_size *= 2; - - b->yy_ch_buf = (char *) - /* Include room in for 2 EOB chars. */ - yy_flex_realloc( (void *) b->yy_ch_buf, - b->yy_buf_size + 2 ); - } - else - /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; - - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( - "fatal error - scanner input buffer overflow" ); - - yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; - - num_to_read = yy_current_buffer->yy_buf_size - - number_to_move - 1; -#endif - } - - if ( num_to_read > YY_READ_BUF_SIZE ) - num_to_read = YY_READ_BUF_SIZE; - - /* Read in more data. */ - YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), - yy_n_chars, num_to_read ); - - yy_current_buffer->yy_n_chars = yy_n_chars; - } - - if ( yy_n_chars == 0 ) - { - if ( number_to_move == YY_MORE_ADJ ) - { - ret_val = EOB_ACT_END_OF_FILE; - yyrestart( yyin ); - } - - else - { - ret_val = EOB_ACT_LAST_MATCH; - yy_current_buffer->yy_buffer_status = - YY_BUFFER_EOF_PENDING; - } - } - - else - ret_val = EOB_ACT_CONTINUE_SCAN; - - yy_n_chars += number_to_move; - yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; - yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; - - yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; - - return ret_val; - } - - -/* yy_get_previous_state - get the state just before the EOB char was reached */ - -static yy_state_type yy_get_previous_state() - { - register yy_state_type yy_current_state; - register char *yy_cp; - - yy_current_state = yy_start; - - for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) - { - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); - if ( yy_accept[yy_current_state] ) - { - yy_last_accepting_state = yy_current_state; - yy_last_accepting_cpos = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 452 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - } - - return yy_current_state; - } - - -/* yy_try_NUL_trans - try to make a transition on the NUL character - * - * synopsis - * next_state = yy_try_NUL_trans( current_state ); - */ - -#ifdef YY_USE_PROTOS -static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state ) -#else -static yy_state_type yy_try_NUL_trans( yy_current_state ) -yy_state_type yy_current_state; -#endif - { - register int yy_is_jam; - register char *yy_cp = yy_c_buf_p; - - register YY_CHAR yy_c = 1; - if ( yy_accept[yy_current_state] ) - { - yy_last_accepting_state = yy_current_state; - yy_last_accepting_cpos = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 452 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 451); - - return yy_is_jam ? 0 : yy_current_state; - } - - -#ifndef YY_NO_UNPUT -#ifdef YY_USE_PROTOS -static void yyunput( int c, register char *yy_bp ) -#else -static void yyunput( c, yy_bp ) -int c; -register char *yy_bp; -#endif - { - register char *yy_cp = yy_c_buf_p; - - /* undo effects of setting up yytext */ - *yy_cp = yy_hold_char; - - if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) - { /* need to shift things up to make room */ - /* +2 for EOB chars. */ - register int number_to_move = yy_n_chars + 2; - register char *dest = &yy_current_buffer->yy_ch_buf[ - yy_current_buffer->yy_buf_size + 2]; - register char *source = - &yy_current_buffer->yy_ch_buf[number_to_move]; - - while ( source > yy_current_buffer->yy_ch_buf ) - *--dest = *--source; - - yy_cp += (int) (dest - source); - yy_bp += (int) (dest - source); - yy_current_buffer->yy_n_chars = - yy_n_chars = yy_current_buffer->yy_buf_size; - - if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) - YY_FATAL_ERROR( "flex scanner push-back overflow" ); - } - - *--yy_cp = (char) c; - - - yytext_ptr = yy_bp; - yy_hold_char = *yy_cp; - yy_c_buf_p = yy_cp; - } -#endif /* ifndef YY_NO_UNPUT */ - - -#ifdef __cplusplus -static int yyinput() -#else -static int input() -#endif - { - int c; - - *yy_c_buf_p = yy_hold_char; - - if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) - { - /* yy_c_buf_p now points to the character we want to return. - * If this occurs *before* the EOB characters, then it's a - * valid NUL; if not, then we've hit the end of the buffer. - */ - if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) - /* This was really a NUL. */ - *yy_c_buf_p = '\0'; - - else - { /* need more input */ - int offset = yy_c_buf_p - yytext_ptr; - ++yy_c_buf_p; - - switch ( yy_get_next_buffer() ) - { - case EOB_ACT_LAST_MATCH: - /* This happens because yy_g_n_b() - * sees that we've accumulated a - * token and flags that we need to - * try matching the token before - * proceeding. But for input(), - * there's no matching to consider. - * So convert the EOB_ACT_LAST_MATCH - * to EOB_ACT_END_OF_FILE. - */ - - /* Reset buffer status. */ - yyrestart( yyin ); - - /* fall through */ - - case EOB_ACT_END_OF_FILE: - { - if ( yywrap() ) - return EOF; - - if ( ! yy_did_buffer_switch_on_eof ) - YY_NEW_FILE; -#ifdef __cplusplus - return yyinput(); -#else - return input(); -#endif - } - - case EOB_ACT_CONTINUE_SCAN: - yy_c_buf_p = yytext_ptr + offset; - break; - } - } - } - - c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */ - *yy_c_buf_p = '\0'; /* preserve yytext */ - yy_hold_char = *++yy_c_buf_p; - - - return c; - } - - -#ifdef YY_USE_PROTOS -void yyrestart( FILE *input_file ) -#else -void yyrestart( input_file ) -FILE *input_file; -#endif - { - if ( ! yy_current_buffer ) - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); - - yy_init_buffer( yy_current_buffer, input_file ); - yy_load_buffer_state(); - } - - -#ifdef YY_USE_PROTOS -void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) -#else -void yy_switch_to_buffer( new_buffer ) -YY_BUFFER_STATE new_buffer; -#endif - { - if ( yy_current_buffer == new_buffer ) - return; - - if ( yy_current_buffer ) - { - /* Flush out information for old buffer. */ - *yy_c_buf_p = yy_hold_char; - yy_current_buffer->yy_buf_pos = yy_c_buf_p; - yy_current_buffer->yy_n_chars = yy_n_chars; - } - - yy_current_buffer = new_buffer; - yy_load_buffer_state(); - - /* We don't actually know whether we did this switch during - * EOF (yywrap()) processing, but the only time this flag - * is looked at is after yywrap() is called, so it's safe - * to go ahead and always set it. - */ - yy_did_buffer_switch_on_eof = 1; - } - - -#ifdef YY_USE_PROTOS -void yy_load_buffer_state( void ) -#else -void yy_load_buffer_state() -#endif - { - yy_n_chars = yy_current_buffer->yy_n_chars; - yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos; - yyin = yy_current_buffer->yy_input_file; - yy_hold_char = *yy_c_buf_p; - } - - -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_create_buffer( FILE *file, int size ) -#else -YY_BUFFER_STATE yy_create_buffer( file, size ) -FILE *file; -int size; -#endif - { - YY_BUFFER_STATE b; - - b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - - b->yy_buf_size = size; - - /* yy_ch_buf has to be 2 characters longer than the size given because - * we need to put in 2 end-of-buffer characters. - */ - b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - - b->yy_is_our_buffer = 1; - - yy_init_buffer( b, file ); - - return b; - } - - -#ifdef YY_USE_PROTOS -void yy_delete_buffer( YY_BUFFER_STATE b ) -#else -void yy_delete_buffer( b ) -YY_BUFFER_STATE b; -#endif - { - if ( ! b ) - return; - - if ( b == yy_current_buffer ) - yy_current_buffer = (YY_BUFFER_STATE) 0; - - if ( b->yy_is_our_buffer ) - yy_flex_free( (void *) b->yy_ch_buf ); - - yy_flex_free( (void *) b ); - } - - -#ifndef YY_ALWAYS_INTERACTIVE -#ifndef YY_NEVER_INTERACTIVE -extern int isatty YY_PROTO(( int )); -#endif -#endif - -#ifdef YY_USE_PROTOS -void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) -#else -void yy_init_buffer( b, file ) -YY_BUFFER_STATE b; -FILE *file; -#endif - - - { - yy_flush_buffer( b ); - - b->yy_input_file = file; - b->yy_fill_buffer = 1; - -#if YY_ALWAYS_INTERACTIVE - b->yy_is_interactive = 1; -#else -#if YY_NEVER_INTERACTIVE - b->yy_is_interactive = 0; -#else - b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; -#endif -#endif - } - - -#ifdef YY_USE_PROTOS -void yy_flush_buffer( YY_BUFFER_STATE b ) -#else -void yy_flush_buffer( b ) -YY_BUFFER_STATE b; -#endif - - { - if ( ! b ) - return; - - b->yy_n_chars = 0; - - /* We always need two end-of-buffer characters. The first causes - * a transition to the end-of-buffer state. The second causes - * a jam in that state. - */ - b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; - b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; - - b->yy_buf_pos = &b->yy_ch_buf[0]; - - b->yy_at_bol = 1; - b->yy_buffer_status = YY_BUFFER_NEW; - - if ( b == yy_current_buffer ) - yy_load_buffer_state(); - } - - -#ifndef YY_NO_SCAN_BUFFER -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) -#else -YY_BUFFER_STATE yy_scan_buffer( base, size ) -char *base; -yy_size_t size; -#endif - { - YY_BUFFER_STATE b; - - if ( size < 2 || - base[size-2] != YY_END_OF_BUFFER_CHAR || - base[size-1] != YY_END_OF_BUFFER_CHAR ) - /* They forgot to leave room for the EOB's. */ - return 0; - - b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); - - b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ - b->yy_buf_pos = b->yy_ch_buf = base; - b->yy_is_our_buffer = 0; - b->yy_input_file = 0; - b->yy_n_chars = b->yy_buf_size; - b->yy_is_interactive = 0; - b->yy_at_bol = 1; - b->yy_fill_buffer = 0; - b->yy_buffer_status = YY_BUFFER_NEW; - - yy_switch_to_buffer( b ); - - return b; - } -#endif - - -#ifndef YY_NO_SCAN_STRING -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str ) -#else -YY_BUFFER_STATE yy_scan_string( yy_str ) -yyconst char *yy_str; -#endif - { - int len; - for ( len = 0; yy_str[len]; ++len ) - ; - - return yy_scan_bytes( yy_str, len ); - } -#endif - - -#ifndef YY_NO_SCAN_BYTES -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) -#else -YY_BUFFER_STATE yy_scan_bytes( bytes, len ) -yyconst char *bytes; -int len; -#endif - { - YY_BUFFER_STATE b; - char *buf; - yy_size_t n; - int i; - - /* Get memory for full buffer, including space for trailing EOB's. */ - n = len + 2; - buf = (char *) yy_flex_alloc( n ); - if ( ! buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); - - for ( i = 0; i < len; ++i ) - buf[i] = bytes[i]; - - buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; - - b = yy_scan_buffer( buf, n ); - if ( ! b ) - YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); - - /* It's okay to grow etc. this buffer, and we should throw it - * away when we're done. - */ - b->yy_is_our_buffer = 1; - - return b; - } -#endif - - -#ifndef YY_NO_PUSH_STATE -#ifdef YY_USE_PROTOS -static void yy_push_state( int new_state ) -#else -static void yy_push_state( new_state ) -int new_state; -#endif - { - if ( yy_start_stack_ptr >= yy_start_stack_depth ) - { - yy_size_t new_size; - - yy_start_stack_depth += YY_START_STACK_INCR; - new_size = yy_start_stack_depth * sizeof( int ); - - if ( ! yy_start_stack ) - yy_start_stack = (int *) yy_flex_alloc( new_size ); - - else - yy_start_stack = (int *) yy_flex_realloc( - (void *) yy_start_stack, new_size ); - - if ( ! yy_start_stack ) - YY_FATAL_ERROR( - "out of memory expanding start-condition stack" ); - } - - yy_start_stack[yy_start_stack_ptr++] = YY_START; - - BEGIN(new_state); - } -#endif - - -#ifndef YY_NO_POP_STATE -static void yy_pop_state() - { - if ( --yy_start_stack_ptr < 0 ) - YY_FATAL_ERROR( "start-condition stack underflow" ); - - BEGIN(yy_start_stack[yy_start_stack_ptr]); - } -#endif - - -#ifndef YY_NO_TOP_STATE -static int yy_top_state() - { - return yy_start_stack[yy_start_stack_ptr - 1]; - } -#endif - -#ifndef YY_EXIT_FAILURE -#define YY_EXIT_FAILURE 2 -#endif - -#ifdef YY_USE_PROTOS -static void yy_fatal_error( yyconst char msg[] ) -#else -static void yy_fatal_error( msg ) -char msg[]; -#endif - { - (void) fprintf( stderr, "%s\n", msg ); - exit( YY_EXIT_FAILURE ); - } - - - -/* Redefine yyless() so it works in section 3 code. */ - -#undef yyless -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - yytext[yyleng] = yy_hold_char; \ - yy_c_buf_p = yytext + n; \ - yy_hold_char = *yy_c_buf_p; \ - *yy_c_buf_p = '\0'; \ - yyleng = n; \ - } \ - while ( 0 ) - - -/* Internal utility routines. */ - -#ifndef yytext_ptr -#ifdef YY_USE_PROTOS -static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) -#else -static void yy_flex_strncpy( s1, s2, n ) -char *s1; -yyconst char *s2; -int n; -#endif - { - register int i; - for ( i = 0; i < n; ++i ) - s1[i] = s2[i]; - } -#endif - -#ifdef YY_NEED_STRLEN -#ifdef YY_USE_PROTOS -static int yy_flex_strlen( yyconst char *s ) -#else -static int yy_flex_strlen( s ) -yyconst char *s; -#endif - { - register int n; - for ( n = 0; s[n]; ++n ) - ; - - return n; - } -#endif - - -#ifdef YY_USE_PROTOS -static void *yy_flex_alloc( yy_size_t size ) -#else -static void *yy_flex_alloc( size ) -yy_size_t size; -#endif - { - return (void *) malloc( size ); - } - -#ifdef YY_USE_PROTOS -static void *yy_flex_realloc( void *ptr, yy_size_t size ) -#else -static void *yy_flex_realloc( ptr, size ) -void *ptr; -yy_size_t size; -#endif - { - /* The cast to (char *) in the following accommodates both - * implementations that use char* generic pointers, and those - * that use void* generic pointers. It works with the latter - * because both ANSI C and C++ allow castless assignment from - * any pointer type to void*, and deal with argument conversions - * as though doing an assignment. - */ - return (void *) realloc( (char *) ptr, size ); - } - -#ifdef YY_USE_PROTOS -static void yy_flex_free( void *ptr ) -#else -static void yy_flex_free( ptr ) -void *ptr; -#endif - { - free( ptr ); - } - -#if YY_MAIN -int main() - { - yylex(); - return 0; - } -#endif -#line 125 "analyze.l" - -#include <string.h> -#include <lct/ksyms.h> -#include <linux/keyboard.h> - -void -stringovfl(void) { - lkfatal("string too long"); -} - -/* Include file handling - unfortunately flex-specific. */ -#define MAX_INCLUDE_DEPTH 20 -struct infile { - int linenr; - char *filename; - YY_BUFFER_STATE bs; -} infile_stack[MAX_INCLUDE_DEPTH]; -int infile_stack_ptr = 0; - -void lk_push(void) -{ - if (infile_stack_ptr >= MAX_INCLUDE_DEPTH) - lkfatal("includes nested too deeply"); - - /* preserve current state */ - infile_stack[infile_stack_ptr].filename = filename; - infile_stack[infile_stack_ptr].linenr = line_nr; - infile_stack[infile_stack_ptr++].bs = - YY_CURRENT_BUFFER; -} - -int lk_pop(void) -{ - if (--infile_stack_ptr >= 0) - { - filename = infile_stack[infile_stack_ptr].filename; - line_nr = infile_stack[infile_stack_ptr].linenr; - yy_delete_buffer(YY_CURRENT_BUFFER); - yy_switch_to_buffer(infile_stack[infile_stack_ptr].bs); - return 0; - } - return 1; -} - -/* - * Where shall we look for an include file? - * Current strategy (undocumented, may change): - * - * 1. Look for a user-specified LOADKEYS_INCLUDE_PATH - * 2. Try . and ../include and ../../include - * 3. Try D and D/../include and D/../../include - * where D is the directory from where we are loading the current file. - * 4. Try KD/include and KD/#/include where KD = DATADIR/KEYMAPDIR. - * - * Expected layout: - * KD has subdirectories amiga, atari, sun, i386, include - * KD/include contains architecture-independent stuff - * like strings and iso-8859-x compose tables. - * KD/i386 has subdirectories qwerty, ... and include; - * this latter include dir contains stuff with keycode=... - * - * (Of course, if the present setup turns out to be reasonable, - * then later also the other architectures will grow and get - * subdirectories, and the hard-coded i386 below will go again.) - * - * People that dislike a dozen lookups for loadkeys - * can easily do "loadkeys file_with_includes; dumpkeys > my_keymap" - * and afterwards use only "loadkeys /fullpath/mykeymap", where no - * lookups are required. - */ -const char *include_dirpath0[] = { "", 0 }; -const char *include_dirpath1[] = { "", "../include/", "../../include/", 0 }; -char *include_dirpath2[] = { 0, 0, 0, 0 }; -const char *include_dirpath3[] = { DATADIR "/" KEYMAPDIR "/include/", - DATADIR "/" KEYMAPDIR "/i386/include/", 0 }; -const char *include_suffixes[] = { "", ".inc", 0 }; - -FILE *find_standard_incl_file(char *s) -{ - FILE *f; - char *t, *te, *t1, *t2; - int len; - - /* Try . and ../include and ../../include */ - f = findfile_simple(s, include_dirpath1, include_suffixes); - if (f) - return f; - - /* Try D and D/../include and D/../../include */ - t = xstrdup(filename); - te = rindex(t, '/'); - if (te) - { - te[1] = 0; - include_dirpath2[0] = t; - len = strlen(t); - include_dirpath2[1] = t1 = (char*)xmalloc(len + 12); - include_dirpath2[2] = t2 = (char*)xmalloc(len + 15); - strcpy(t1, t); - strcat(t1, "../include/"); - strcpy(t2, t); - strcat(t2, "../../include/"); - f = findfile_simple(s, (const char**)include_dirpath2, include_suffixes); - if (f) - return f; - } - - /* Try KD/include and KD/#/include */ - return findfile_simple(s, include_dirpath3, include_suffixes); -} - -FILE *find_incl_file(char *s) -{ - FILE *f; - char *ev; - if (!s || !*s) - return NULL; - if (*s == '/') /* no path required */ - return (findfile_simple(s, include_dirpath0, include_suffixes)); - - if((ev = getenv("LOADKEYS_INCLUDE_PATH")) != NULL) - { - /* try user-specified path */ - char *user_dir[2] = { 0, 0 }; - while(ev) - { - char *t = index((const char*)ev, ':'); - char sv; - if (t) - { - sv = *t; - *t = 0; - } - user_dir[0] = ev; - if (*ev) - f = findfile_simple(s, (const char**)user_dir, include_suffixes); - else /* empty string denotes system path */ - f = find_standard_incl_file(s); - if (f) - return f; - if (t) - *t++ = sv; - ev = t; - } - return NULL; - } - return find_standard_incl_file(s); -} - -void open_include(char *s) -{ - if (verbose) - fprintf(stderr, "switching to %s\n", s); - - lk_push(); - - yyin = find_incl_file(s); - if (!yyin) - lkfatal1("cannot open include file %s", s); - filename = xstrdup(pathname); - line_nr = 1; - yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE)); -} diff -Nru console-tools-0.2.3/kbdtools/analyze.l console-tools-0.2.3/kbdtools/analyze.l --- console-tools-0.2.3/kbdtools/analyze.l 1999-04-08 21:29:40.000000000 +0000 +++ console-tools-0.2.3/kbdtools/analyze.l 1970-01-01 00:00:00.000000000 +0000 @@ -1,287 +0,0 @@ -%{ -#include <stdlib.h> -#include <linux/kd.h> -#include <lct/utils.h> -#include "loadkeys.h" - -extern int ksymtocode(char *s); - -extern int line_nr; -extern int verbose; /* loadkeys.y */ -extern char pathname[]; /* idem */ -int yylval; -int rvalct; -struct kbsentry kbs_buf; -char *p, *pmax; -char *filename; - -#undef yywrap -extern int yywrap(void); -extern int yyerror(char *s); -extern void stringovfl(void); -extern void lkfatal(char *s); -extern void lkfatal1(char *s, char *s2); -extern void open_include(char *s); -void lkfatal(char *); -void lkfatal0(char *, int); -void lkfatal1(char *, char *); -%} - -%s RVALUE -%x STR -%x INCLSTR -Comment #|! -Continuation \\\n -Eol \n -Blank [ \t] -Include include[ \t]* -Decimal [1-9][0-9]* -Octal 0[0-7]* -Hex 0[xX][0-9a-fA-F]+ -Unicode U\+([0-9a-fA-F]){4} -Literal [a-zA-Z][a-zA-Z_0-9]* -Octa ([0-7]){1,3} -Charset charset|Charset|CharSet|CHARSET -Keymaps keymaps|Keymaps|KeyMaps|KEYMAPS -Keycode keycode|Keycode|KeyCode|KEYCODE -String string|String|STRING -Equals = -Plain plain|Plain|PLAIN -Shift shift|Shift|SHIFT -Control control|Control|CONTROL -Alt alt|Alt|ALT -AltGr altgr|Altgr|AltGr|ALTGR -ShiftL shiftl|ShiftL|SHIFTL -ShiftR shiftr|ShiftR|SHIFTR -CtrlL ctrll|CtrlL|CTRLL -CtrlR ctrlr|CtrlR|CTRLR -AltIsMeta [aA][lL][tT][-_][iI][sS][-_][mM][eE][tT][aA] -Strings strings|Strings|STRINGS -Compose compose|Compose|COMPOSE -As as|As|AS -Usual usual|Usual|USUAL -For for|For|FOR -On on|On|ON -To to|To|TO -%% -{Include} {BEGIN(INCLSTR);} -<INCLSTR>\"[^"\n]+\" { int l; char *s; - l = strlen(yytext); - s = (char*)xmalloc(l); - strcpy(s, yytext+1); - s[l-2] = 0; /* wipe out " */ - open_include(s); - BEGIN(0); - } -<INCLSTR>[^"]|\"\"|\"[^"\n]*{Eol} { - yyerror("expected filename between quotes"); - BEGIN(0); } -{Continuation} {line_nr++;} -{Eol} {line_nr++;BEGIN(0);return(EOL);} -{Blank}+ ; /* do nothing */ -{Comment}.*/{Eol} ; /* do nothing */ -{Equals} {BEGIN(RVALUE);rvalct=0;return(EQUALS);} -\- {return(DASH);} -\, {return(COMMA);} -\+ {return(PLUS);} -{Unicode} {yylval=strtol(yytext+1,NULL,16);return(UNUMBER);} -{Decimal}|{Octal}|{Hex} {yylval=strtol(yytext,NULL,0);return(NUMBER);} -<RVALUE>{Literal} {return((yylval=ksymtocode(yytext))==-1?ERROR:LITERAL);} -{Charset} {return(CHARSET);} -{Keymaps} {return(KEYMAPS);} -{Keycode} {return(KEYCODE);} -{String} {BEGIN(RVALUE);return(STRING);} -{Plain} {return(PLAIN);} -{Shift} {return(SHIFT);} -{Control} {return(CONTROL);} -{Alt} {return(ALT);} -{AltGr} {return(ALTGR);} -{ShiftL} {return(SHIFTL);} -{ShiftR} {return(SHIFTR);} -{CtrlL} {return(CTRLL);} -{CtrlR} {return(CTRLR);} -{AltIsMeta} {return(ALT_IS_META);} -{Strings} {return(STRINGS);} -{Compose} {return(COMPOSE);} -{As} {return(AS);} -{Usual} {return(USUAL);} -{To} {BEGIN(RVALUE); return(TO);} -{On} {return(ON);} -{For} {return(FOR);} -'\\{Octa}' {yylval = strtol(yytext+2,NULL,8); return(CCHAR);} -'\\.' {yylval = yytext[2]; return(CCHAR);} -'.' {yylval = yytext[1]; return(CCHAR);} -\" {p=kbs_buf.kb_string; - pmax=p+sizeof(kbs_buf.kb_string)-1; - BEGIN(STR);} -<STR>\\{Octa} {if(p>=pmax)stringovfl();*p++=strtol(yytext+1,NULL,8);} -<STR>\\\" {if(p>=pmax)stringovfl();*p++='"';} -<STR>\\\\ {if(p>=pmax)stringovfl();*p++='\\';} -<STR>\\n {if(p>=pmax)stringovfl();*p++='\n';} -<STR>[^"\\]* {char *ptmp=p;p+=strlen(yytext); - if(p>pmax)stringovfl();strcpy(ptmp,yytext);} -<STR>\" {*p='\0';BEGIN(0);return(STRLITERAL); /*"*/} -. {return(ERROR); /* report any unknown characters */} -%% -#include <string.h> -#include <lct/ksyms.h> -#include <linux/keyboard.h> - -void -stringovfl(void) { - lkfatal("string too long"); -} - -/* Include file handling - unfortunately flex-specific. */ -#define MAX_INCLUDE_DEPTH 20 -struct infile { - int linenr; - char *filename; - YY_BUFFER_STATE bs; -} infile_stack[MAX_INCLUDE_DEPTH]; -int infile_stack_ptr = 0; - -void lk_push(void) -{ - if (infile_stack_ptr >= MAX_INCLUDE_DEPTH) - lkfatal("includes nested too deeply"); - - /* preserve current state */ - infile_stack[infile_stack_ptr].filename = filename; - infile_stack[infile_stack_ptr].linenr = line_nr; - infile_stack[infile_stack_ptr++].bs = - YY_CURRENT_BUFFER; -} - -int lk_pop(void) -{ - if (--infile_stack_ptr >= 0) - { - filename = infile_stack[infile_stack_ptr].filename; - line_nr = infile_stack[infile_stack_ptr].linenr; - yy_delete_buffer(YY_CURRENT_BUFFER); - yy_switch_to_buffer(infile_stack[infile_stack_ptr].bs); - return 0; - } - return 1; -} - -/* - * Where shall we look for an include file? - * Current strategy (undocumented, may change): - * - * 1. Look for a user-specified LOADKEYS_INCLUDE_PATH - * 2. Try . and ../include and ../../include - * 3. Try D and D/../include and D/../../include - * where D is the directory from where we are loading the current file. - * 4. Try KD/include and KD/#/include where KD = DATADIR/KEYMAPDIR. - * - * Expected layout: - * KD has subdirectories amiga, atari, sun, i386, include - * KD/include contains architecture-independent stuff - * like strings and iso-8859-x compose tables. - * KD/i386 has subdirectories qwerty, ... and include; - * this latter include dir contains stuff with keycode=... - * - * (Of course, if the present setup turns out to be reasonable, - * then later also the other architectures will grow and get - * subdirectories, and the hard-coded i386 below will go again.) - * - * People that dislike a dozen lookups for loadkeys - * can easily do "loadkeys file_with_includes; dumpkeys > my_keymap" - * and afterwards use only "loadkeys /fullpath/mykeymap", where no - * lookups are required. - */ -const char *include_dirpath0[] = { "", 0 }; -const char *include_dirpath1[] = { "", "../include/", "../../include/", 0 }; -char *include_dirpath2[] = { 0, 0, 0, 0 }; -const char *include_dirpath3[] = { DATADIR "/" KEYMAPDIR "/include/", - DATADIR "/" KEYMAPDIR "/i386/include/", 0 }; -const char *include_suffixes[] = { "", ".inc", 0 }; - -FILE *find_standard_incl_file(char *s) -{ - FILE *f; - char *t, *te, *t1, *t2; - int len; - - /* Try . and ../include and ../../include */ - f = findfile_simple(s, include_dirpath1, include_suffixes); - if (f) - return f; - - /* Try D and D/../include and D/../../include */ - t = xstrdup(filename); - te = rindex(t, '/'); - if (te) - { - te[1] = 0; - include_dirpath2[0] = t; - len = strlen(t); - include_dirpath2[1] = t1 = (char*)xmalloc(len + 12); - include_dirpath2[2] = t2 = (char*)xmalloc(len + 15); - strcpy(t1, t); - strcat(t1, "../include/"); - strcpy(t2, t); - strcat(t2, "../../include/"); - f = findfile_simple(s, (const char**)include_dirpath2, include_suffixes); - if (f) - return f; - } - - /* Try KD/include and KD/#/include */ - return findfile_simple(s, include_dirpath3, include_suffixes); -} - -FILE *find_incl_file(char *s) -{ - FILE *f; - char *ev; - if (!s || !*s) - return NULL; - if (*s == '/') /* no path required */ - return (findfile_simple(s, include_dirpath0, include_suffixes)); - - if((ev = getenv("LOADKEYS_INCLUDE_PATH")) != NULL) - { - /* try user-specified path */ - char *user_dir[2] = { 0, 0 }; - while(ev) - { - char *t = index((const char*)ev, ':'); - char sv; - if (t) - { - sv = *t; - *t = 0; - } - user_dir[0] = ev; - if (*ev) - f = findfile_simple(s, (const char**)user_dir, include_suffixes); - else /* empty string denotes system path */ - f = find_standard_incl_file(s); - if (f) - return f; - if (t) - *t++ = sv; - ev = t; - } - return NULL; - } - return find_standard_incl_file(s); -} - -void open_include(char *s) -{ - if (verbose) - fprintf(stderr, "switching to %s\n", s); - - lk_push(); - - yyin = find_incl_file(s); - if (!yyin) - lkfatal1("cannot open include file %s", s); - filename = xstrdup(pathname); - line_nr = 1; - yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE)); -} diff -Nru console-tools-0.2.3/kbdtools/dumpkeys.c console-tools-0.2.3/kbdtools/dumpkeys.c --- console-tools-0.2.3/kbdtools/dumpkeys.c 1999-10-11 20:39:07.000000000 +0000 +++ console-tools-0.2.3/kbdtools/dumpkeys.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,660 +0,0 @@ -/* - * dumpkeys.c - * - * derived from version 0.81 - aeb@cwi.nl - * Fix: escape quotes and backslashes in strings - * Fix: after dumpkeys > x; loadkeys x; dumpkeys > y - * the files x and y should be identical - * Added: compose key support - * - * for 0.83: output a "+" for KT_LETTER - * for 0.85: with -i option: also output MAX_DIACR - * for 0.86: with -l option: also tell about synonyms - * for 0.87: output "charset iso-8859-x" so that loadkeys - * can handle the output of dumpkeys -c - * for 0.88: handle sparse keymaps - * - * for 0.94: support alt_is_meta - */ -#include <stdio.h> -#include <stdlib.h> -#include <ctype.h> -#include <fcntl.h> -#include <getopt.h> -#include <errno.h> -#include <sysexits.h> -#include <sys/ioctl.h> -#include <linux/types.h> -#include <linux/kd.h> -#include <linux/keyboard.h> - -#include <lct/ksyms.h> -#include <lct/local.h> -#include <lct/utils.h> -#include <lct/console.h> -#include <lct/modifiers.h> - -#ifndef KT_LETTER -#define KT_LETTER KT_LATIN -#endif - -#ifndef MAX_NR_KEYMAPS -#define MAX_NR_KEYMAPS NR_KEYMAPS -#endif - -int verbose; - -static int fd; -char* progname; - -int keymap_index[MAX_NR_KEYMAPS]; /* inverse of good_keymap */ -int good_keymap[MAX_NR_KEYMAPS], keymapnr, allocct; - -void get_keymaps(void) { - int i, j; - struct kbentry ke; - - keymapnr = allocct = 0; - for (i=0; i<MAX_NR_KEYMAPS; i++) { - ke.kb_index = 0; - ke.kb_table = i; - j = ioctl(fd, KDGKBENT, (unsigned long)&ke); - if (j && errno != EINVAL) { - fprintf(stderr, _("KDGKBENT at index 0 in table %d: "), i); - perror(""); - exit (EX_OSERR); - } - if (!j && ke.kb_value != K_NOSUCHMAP) { - keymap_index[i] = keymapnr; - good_keymap[keymapnr++] = i; - if (ke.kb_value == K_ALLOCATED) - allocct++; - } else { - keymap_index[i] = -1; - } - } - if (keymapnr == 0) { - fprintf(stderr, _("%s: cannot find any keymaps?\n"), progname); - exit (EX_NOINPUT); - } - if (good_keymap[0] != 0) { - fprintf(stderr, - _("%s: plain map not allocated? very strange ...\n"), progname); - /* this is not fatal */ - } -} - -void print_keymaps(void) { - int i,m0,m; - - printf("keymaps "); - for (i=0; i<keymapnr; i++) { - if (i) - printf(","); - m0 = m = good_keymap[i]; - while (i+1 < keymapnr && good_keymap[i+1] == m+1) - i++, m++; - if (m0 == m) - printf("%d", m0); - else - printf("%d-%d", m0, m); - } - printf("\n"); -} - -int get_bind(u_char index, u_char table) { - struct kbentry ke; - - ke.kb_index = index; - ke.kb_table = table; - if (ioctl(fd, KDGKBENT, (unsigned long)&ke)) { - fprintf(stderr, _("KDGKBENT at index %d in table %d: "), - index, table); - perror(""); - exit (EX_OSERR); - } - return ke.kb_value; -} - -void print_keysym(int code, char numeric) { - int t; - int v; - char *p; - - printf(" "); - t = KTYP(code); - v = KVAL(code); - if (t > KT_LETTER) { - printf("U+%04x ", code ^ 0xf000); - return; - } - if (t == KT_LETTER) { - t = KT_LATIN; - printf("+"); - } - if (!numeric && t < syms_size && v < syms[t].size && - (p = syms[t].table[v])[0]) - printf("%-16s", p); - else if (!numeric && t == KT_META && v < 128 && v < syms[0].size && - (p = syms[0].table[v])[0]) - printf("Meta_%-11s", p); - else - printf("0x%04x ", code); -} - -char valid_type(int t) { - struct kbentry ke; - char status; - - ke.kb_index = 0; - ke.kb_table = 0; - ke.kb_value = K(t, 0); - status = (ioctl(fd, KDSKBENT, (unsigned long)&ke) == 0); - return status; -} - -u_char maximum_val(int t) { - struct kbentry ke, ke0; - int i; - - ke.kb_index = 0; - ke.kb_table = 0; - ke.kb_value = K_HOLE; /* useless ? */ - ke0 = ke; - ioctl(fd, KDGKBENT, (unsigned long)&ke0); - - for (i = 0; i < 256; i++) { - ke.kb_value = K(t, i); - if (ioctl(fd, KDSKBENT, (unsigned long)&ke)) - break; - } - ke.kb_value = K_HOLE; - ioctl(fd, KDSKBENT, (unsigned long)&ke0); - - return i - 1; -} - -#define NR_TYPES 15 -int maxval[NR_TYPES]; - -#ifdef KDGKBDIACR -/* isgraph() does not know about iso-8859; printing the character - unescaped makes the output easier to check. Maybe this should - be an option. Use locale? */ -void -outchar (unsigned char c) { - printf("'"); - printf((c == '\'' || c == '\\') ? "\\%c" - : (isgraph(c) || c == ' ' || c >= 0200) ? "%c" - : "\\%03o", c); - printf("'"); -} - -struct kbdiacrs kd; - -void get_diacs(void) { - static int got_diacs = 0; - - if(!got_diacs && ioctl(fd, KDGKBDIACR, (unsigned long)&kd)) { - perror(""); - fprintf(stderr, _("KDGKBDIACR failed\n")); - exit (EX_OSERR); - } - got_diacs = 1; -} - -int nr_of_diacs() -{ - get_diacs(); - return kd.kb_cnt; -} - -void dump_diacs() -{ - unsigned i; - - /* NB. Don't translate since these need to be in the right format - * to be loaded back into 'loadkeys' - */ - get_diacs(); - for (i = 0; i < kd.kb_cnt; i++) - { - printf("compose "); - outchar(kd.kbdiacr[i].diacr); - printf(" "); - outchar(kd.kbdiacr[i].base); - printf(" to "); - outchar(kd.kbdiacr[i].result); - printf("\n"); - } -} -#endif - -void show_short_info(void) { - int i; - - printf(_("keycode range supported by kernel: 1 - %d\n"), - NR_KEYS - 1); - printf(_("max number of actions bindable to a key: %d\n"), - MAX_NR_KEYMAPS); - get_keymaps(); - printf(_("number of keymaps in actual use: %d\n"), - keymapnr); - if (allocct) - printf(_("of which %d dynamically allocated\n"), allocct); - printf(_("ranges of action codes supported by kernel:\n")); - for (i = 0; i < NR_TYPES && valid_type(i); i++) { - maxval[i] = maximum_val(i); - printf(" 0x%04x - 0x%04x\n", K(i, 0), K(i, maxval[i])); - } - printf(_("number of function keys supported by kernel: %d\n"), - MAX_NR_FUNC); - - printf(_("max nr of compose definitions: %d\n"), - MAX_DIACR); -#ifdef KDGKBDIACR - printf(_("nr of compose definitions in actual use: %d\n"), - nr_of_diacs()); -#endif -} - -struct { - char *name; - int bit; -} modifiers[] = { - { "shift", KG_SHIFT }, - { "altgr", KG_ALTGR }, - { "control",KG_CTRL }, - { "alt", KG_ALT }, - { "shiftl", KG_SHIFTL }, - { "shiftr", KG_SHIFTR }, - { "ctrll", KG_CTRLL }, - { "ctrlr", KG_CTRLR } -}; - -void dump_symbols(void) { - int t; - int v; - char *p; - - printf(_("Symbols recognized by %s:\n(numeric value, symbol)\n\n"), progname); - for (t = 0; t < syms_size; t++) { - if (syms[t].size) { - for (v = 0; v < syms[t].size; v++) - if ((p = syms[t].table[v])[0]) - printf("0x%04x\t%s\n", K(t, v), p); - } else if (t == KT_META) { - for (v = 0; v < syms[0].size && v < 128; v++) - if ((p = syms[0].table[v])[0]) - printf("0x%04x\tMeta_%s\n", K(t, v), p); - } - } - printf(_("\nThe following synonyms are recognized:\n\n")); - for (t = 0; t < syn_size; t++) - printf("%-15s for %s\n", synonyms[t].synonym, - synonyms[t].official_name); - printf(_("\nRecognized modifier names and their column numbers:\n")); - for (t = 0; t < sizeof(modifiers)/sizeof(modifiers[0]); t++) - printf("%s\t\t%3d\n", modifiers[t].name, 1 << modifiers[t].bit); -} - -void print_mod(int x) -{ - unsigned t; - - if (!x) - printf("plain\t"); - else - for (t = 0; t < sizeof(modifiers)/sizeof(modifiers[0]); t++) - if (x & (1 << modifiers[t].bit)) - printf("%s\t", modifiers[t].name); -} - -void print_bind(int bufj, int i, int j, char numeric) { - if (j) - printf("\t"); - print_mod(j); - printf("keycode %3d =", i); - print_keysym(bufj, numeric); - printf("\n"); -} - -#define DEFAULT 0 -#define FULL_TABLE 1 /* one line for each keycode */ -#define SEPARATE_LINES 2 /* one line for each (modifier,keycode) pair */ -#define UNTIL_HOLE 3 /* one line for each keycode, until 1st hole */ - -void dump_keys(char table_shape, char numeric) { - int i, j, k; - int buf[MAX_NR_KEYMAPS]; - int isletter, islatin, isasexpected; - int typ, val; - int alt_is_meta = 0; - int zapped[MAX_NR_KEYMAPS]; - - get_keymaps(); - print_keymaps(); - if (!keymapnr) - return; - - if (table_shape == FULL_TABLE || table_shape == SEPARATE_LINES) - goto no_shorthands; - - /* first pass: determine whether to set alt_is_meta */ - for (j = 0; j < MAX_NR_KEYMAPS; j++) { - int ja = (j | M_ALT); - if (j != ja && keymap_index[j] >= 0 && keymap_index[ja] >= 0) - for (i = 1; i < NR_KEYS; i++) { - int buf0, buf1, type; - - buf0 = get_bind(i, j); - type = KTYP(buf0); - if ((type == KT_LATIN || type == KT_LETTER) - && KVAL(buf0) < 128) { - buf1 = get_bind(i, ja); - if (buf1 != K(KT_META, KVAL(buf0))) { - if (verbose) { - printf("# not alt_is_meta: " - "on keymap %d key %d is bound to", - ja, i); - print_keysym(buf1, numeric); - printf("\n"); - } - goto not_alt_is_meta; - } - } - } - } - alt_is_meta = 1; - printf("alt_is_meta\n"); -not_alt_is_meta: - -no_shorthands: - for (i = 1; i < NR_KEYS; i++) { - for (j = 0; j < keymapnr; j++) - buf[j] = get_bind(i, good_keymap[j]); - - if (table_shape == FULL_TABLE) { - printf("keycode %3d =", i); - for (j = 0; j < keymapnr; j++) - print_keysym(buf[j], numeric); - printf("\n"); - continue; - } - - if (table_shape == SEPARATE_LINES) { - for (j = 0; j < keymapnr; j++) - print_bind(buf[j], i, good_keymap[j], numeric); - printf("\n"); - continue; - } - - typ = KTYP(buf[0]); - val = KVAL(buf[0]); - islatin = (typ == KT_LATIN || typ == KT_LETTER); - isletter = (islatin && - ((val >= 'A' && val <= 'Z') || - (val >= 'a' && val <= 'z'))); - isasexpected = 0; - if (isletter) { - u_short defs[16]; - defs[0] = K(KT_LETTER, val); - defs[1] = K(KT_LETTER, val ^ 32); - defs[2] = defs[0]; - defs[3] = defs[1]; - for(j=4; j<8; j++) - defs[j] = K(KT_LATIN, val & ~96); - for(j=8; j<16; j++) - defs[j] = K(KT_META, KVAL(defs[j-8])); - - for(j = 0; j < keymapnr; j++) { - k = good_keymap[j]; - if ((k >= 16 && buf[j] != K_HOLE) || (k < 16 && buf[j] != defs[k])) - goto unexpected; - } - isasexpected = 1; - } - unexpected: - - for (j = 0; j < keymapnr; j++) - zapped[j] = 0; - /* wipe out predictable meta bindings */ - if (alt_is_meta) { - for(j = 0; j < keymapnr; j++) { - int ka, ja, typ; - k = good_keymap[j]; - ka = (k | M_ALT); - ja = keymap_index[ka]; - if (k != ka && ja >= 0 - && ((typ=KTYP(buf[j])) == KT_LATIN || typ == KT_LETTER) - && KVAL(buf[j]) < 128) { - if (buf[ja] != K(KT_META, KVAL(buf[j]))) - fprintf(stderr, _("impossible: not meta?\n")); - buf[ja] = K_HOLE; - zapped[ja] = 1; - } - } - } - - printf("keycode %3d =", i); - if (isasexpected) { - /* print only a single entry */ - /* suppress the + for ordinary a-zA-Z */ - print_keysym(K(KT_LATIN, val), numeric); - printf("\n"); - } else { - /* choose between single entry line followed by exceptions, - and long line followed by exceptions; avoid VoidSymbol */ - int bad = 0; - int count = 0; - for(j = 1; j < keymapnr; j++) if (!zapped[j]) { - if (buf[j] != buf[0]) - bad++; - if (buf[j] != K_HOLE) - count++; - } - if (bad <= count && bad < keymapnr-1) { - if (buf[0] != K_HOLE) - print_keysym(buf[0], numeric); - printf("\n"); - for (j = 1; j < keymapnr; j++) - if (buf[j] != buf[0] && !zapped[j]) - print_bind(buf[j], i, good_keymap[j], numeric); - } else { - for (j = 0; j < keymapnr && buf[j] != K_HOLE && - (j == 0 || table_shape != UNTIL_HOLE || - good_keymap[j] == good_keymap[j-1]+1); j++) - print_keysym(buf[j], numeric); - printf("\n"); - for ( ; j < keymapnr; j++) - if (buf[j] != K_HOLE) - print_bind(buf[j], i, good_keymap[j], numeric); - } - } - } -} - -void dump_funcs() { - int i; - struct kbsentry fbuf; - char *p; - - for (i = 0; i < MAX_NR_FUNC; i++) { - fbuf.kb_func = i; - if (ioctl(fd, KDGKBSENT, (unsigned long)&fbuf)) { - if (errno == EINVAL && i > 0) /* an old kernel */ - break; - fprintf(stderr, _("KDGKBSENT at index %d: "), i); - perror(""); - exit (EX_OSERR); - } - if (!fbuf.kb_string[0]) - continue; - printf("string %s = \"", syms[KT_FN].table[i]); - for (p = fbuf.kb_string; *p; p++) { - if (*p == '"' || *p == '\\') { - putchar('\\'); putchar(*p); - } else if (isgraph(*p) || *p == ' ') - putchar(*p); - else - printf("\\%03o", *p); - } - printf("\"\n"); - } -} - -void usage() -{ - struct cs *c; - - printf(_("Usage: %s [options...]\n"), progname); - OPTIONS_ARE(); - OPT("-i --short-info ", _("display information about keyboard driver")); - OPT("-l --long-info ", _("display above and symbols known to loadkeys")); - OPT("-n --numeric ", _("display keytable in hexadecimal notation")); - OPT("-f --full-table ", _("don't use short-hand notations, one row per keycode")); - OPT("-1 --separate-lines ", _("one line per (modifier,keycode) pair")); - OPT(" --funcs-only ", _("display only the function key strings")); - OPT(" --keys-only ", _("display only key bindings")); - OPT("-S --shape=<shape> ", _("choose output shape, where <shape> is:")); - OPT(" ", _(" 0 = default")); - OPT(" ", _(" 1 = same as --full-table")); - OPT(" ", _(" 2 = same as --separate-lines")); - OPT(" ", _(" 3 = one line per keycode, until 1st hole")); -#ifdef KDGKBDIACR - OPT(" --compose-only ", _("display only compose key combinations")); -#endif - OPT("-c --charset=<charset-name>", ""); - OPT(" ", _("interpret character action codes to be from the")); - OPT(" ", _("specified character set")); - - OPT("-h --help ", _("display this help text and exit")); - OPT("-V --version ", _("display version information and exit")); - - printf (_("\navailable charsets:\n")); - - for (c = charsets; c->charset ; c++) - printf("\t%s\n", c->charset); -} - -int main (int argc, char *argv[]) -{ - const char *short_opts = "hilvsnf1S:c:"; - const struct option long_opts[] = - { - { "help", no_argument, NULL, 'h' }, - { "short-info", no_argument, NULL, 'i' }, - { "long-info", no_argument, NULL, 'l' }, - { "numeric", no_argument, NULL, 'n' }, - { "full-table", no_argument, NULL, 'f' }, - { "separate-lines",no_argument, NULL, '1' }, - { "shape", required_argument, NULL, 'S' }, - { "funcs-only", no_argument, NULL, 't' }, - { "keys-only", no_argument, NULL, 'k' }, -#ifdef KDGKBDIACR - { "compose-only",no_argument, NULL, 'd' }, -#endif - { "verbose", no_argument, NULL, 'v' }, - { "version", no_argument, NULL, 'V' }, - { "charset", required_argument, NULL, 'c' }, - { NULL, 0, NULL, 0 } - }; - int c; - char long_info = 0; - char short_info = 0; - char numeric = 0; - char table_shape = 0; - char funcs_only = 0; - char keys_only = 0; -#ifdef KDGKBDIACR - char diac_only = 0; -#endif - - setuplocale(); - - progname = strip_path(argv[0]); - - while ((c = getopt_long(argc, argv, - short_opts, long_opts, NULL)) != EOF) - { - switch (c) - { - case 'i': - short_info = 1; - break; - case 's': - case 'l': - long_info = 1; - break; - case 'n': - numeric = 1; - break; - case 'f': - table_shape = FULL_TABLE; - break; - case '1': - table_shape = SEPARATE_LINES; - break; - case 'S': - table_shape = atoi(optarg); - break; - case 't': - funcs_only = 1; - break; - case 'k': - keys_only = 1; - break; -#ifdef KDGKBDIACR - case 'd': - diac_only = 1; - break; -#endif - case 'v': - verbose = 1; - break; - case 'V': - version(); - exit(0); - case 'c': - if ((set_charset(optarg)) != 0) - badusage((char*)NULL); /* message already printed */ - printf("charset \"%s\"\n", optarg); - break; - case 'h': - usage(); - exit (0); - case '?': - badusage((char*)NULL); - } - } - - if (optind < argc) - badusage(_("no non-option arguments allowed")); - - if (-1 == (fd = get_console_fd(NULL))) - exit (EX_OSERR); - - if (short_info || long_info) - { - show_short_info(); - if (long_info) - dump_symbols(); - exit (EX_OK); - } - -#ifdef KDGKBDIACR - if (!diac_only) - { -#endif - if (!funcs_only) - dump_keys(table_shape, numeric); - if (!keys_only) - dump_funcs(); -#ifdef KDGKBDIACR - } - if (!funcs_only && !keys_only) - dump_diacs(); -#endif - - exit (EX_OK); -} diff -Nru console-tools-0.2.3/kbdtools/getkeycodes.c console-tools-0.2.3/kbdtools/getkeycodes.c --- console-tools-0.2.3/kbdtools/getkeycodes.c 1999-04-08 22:11:12.000000000 +0000 +++ console-tools-0.2.3/kbdtools/getkeycodes.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,81 +0,0 @@ -/* - * call: getkeycodes - * - * aeb, 941108 - */ - -#include <errno.h> -#include <stdio.h> -#include <stdlib.h> -#include <fcntl.h> -#include <sys/ioctl.h> -#include <linux/kd.h> - -#include <lct/local.h> -#include <lct/utils.h> -#include <lct/console.h> - - -static void usage(char *progname) -{ - printf(_("Usage: %s\n" - "Print kernel scancode-to-keycode mapping table\n"), progname); - OPTIONS_ARE(); - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - -void main(int argc, char **argv) -{ - int fd, sc; - struct kbkeycode a; - - setuplocale(); - - simple_options(argc, argv, usage, strip_path(argv[0])); - - if (-1 == (fd = get_console_fd(NULL))) - exit (1); - - printf(_("Plain scancodes xx (hex) versus keycodes (dec)\n")); - printf(_("0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n")); - - for(sc=88; sc<256; sc++) - { - if (sc == 128) - printf(_("\n\nEscaped scancodes e0 xx (hex)\n")); - if (sc % 8 == 0) - { - if (sc < 128) - printf("\n 0x%02x: ", sc); - else - printf("\ne0 %02x: ", sc-128); - } - - if (sc <= 88) - { - printf(" %3d", sc); - continue; - } - - a.scancode = sc; - a.keycode = 0; - if (ioctl(fd,KDGETKEYCODE,&a)) - { - if (errno == EINVAL) - printf(" -"); - else - { - perror("KDGETKEYCODE"); - fprintf(stderr, _("failed to get keycode for scancode 0x%x\n"), - sc); - exit(1); - } - } - else - printf(" %3d", a.keycode); - } - printf("\n"); - - exit (EX_OK); -} diff -Nru console-tools-0.2.3/kbdtools/kbd_mode.c console-tools-0.2.3/kbdtools/kbd_mode.c --- console-tools-0.2.3/kbdtools/kbd_mode.c 1999-04-08 22:11:12.000000000 +0000 +++ console-tools-0.2.3/kbdtools/kbd_mode.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,141 +0,0 @@ -/* - * kbd_mode: report and set keyboard mode - aeb, 940406 - * - * If you make \215A\201 an alias for "kbd_mode -a", and you are - * in raw mode, then hitting F7 = (two keys) will return you to sanity. - */ -#include <fcntl.h> -#include <stdio.h> -#include <string.h> -#include <sys/ioctl.h> -#include <linux/types.h> -#include <linux/kd.h> -#include <getopt.h> - -#include <lct/local.h> -#include <lct/utils.h> -#include <lct/console.h> - -char* progname; - -static void usage(char *progname) -{ - printf(_("Usage: %s [option]\n" - "Report and set keyboard mode\n") ,progname); - OPTIONS_ARE(); - OPT("-h --help ", _("print this help information and exit")); - OPT("-V --version ", _("report version and exit")); - OPT("-a --8bit ", _("ASCII or 8bit mode (XLATE)")); - OPT("-k --keycode ", _("keycode mode (MEDIUMRAW)")); - OPT("-u --unicode ", _("UTF-8 mode (UNICODE)")); - OPT("-s --scancode ", _("scancode mode (RAW)")); - OPT(" --mode={8bit,keycode,unicode,scancode} ", _("set mode")); - - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - -static int parse_cmdline (int argc, char *argv[]) -{ - char *progname = strip_path (argv[0]); - int mode = -1; - const struct option long_opts[] = { - { "help" , no_argument, NULL, 'h' }, - { "version" , no_argument, NULL, 'V' }, - { "8bit" , no_argument, NULL, 'a' }, - { "ascii" , no_argument, NULL, 'a' }, - { "keycode" , no_argument, NULL, 'k' }, - { "mode" , required_argument, NULL, 'm' }, - { "scancode" , no_argument, NULL, 's' }, - { "unicode" , no_argument, NULL, 'u' }, - { NULL, 0, NULL, 0 } - }; - int c; - - while ( (c = getopt_long (argc, argv, "Vhaksu", long_opts, NULL)) != EOF) - switch (c) { - case 'h': - usage (progname); - exit(0); - case 'V': - version (progname); - exit(0); - case 'a': - mode = K_XLATE; - break; - case 'u': - mode = K_UNICODE; - break; - case 's': - mode = K_RAW; - break; - case 'k': - mode = K_MEDIUMRAW; - break; - case 'm': - if (!strcmp(optarg,"8bit") || !strcmp(optarg,"ascii")) - mode = K_XLATE; - else if (!strcmp (optarg, "unicode")) - mode = K_UNICODE; - else if (!strcmp (optarg, "scancode")) - mode = K_RAW; - else if (!strcmp (optarg, "keycode")) - mode = K_MEDIUMRAW; - else { - fprintf (stderr,_("%s: unknown mode: %s\n"), - progname, optarg); - exit(1); - } - } - return mode; -} - - -int main(int argc, char *argv[]) -{ - int fd, mode; - - setuplocale(); - - mode = parse_cmdline (argc, argv); - - if (-1 == (fd = get_console_fd(NULL))) - exit (1); - - if (mode == -1) - { - /* report mode */ - if (ioctl(fd, KDGKBMODE, &mode)) - { - fprintf(stderr, progname); - perror(_(": error reading keyboard mode\n")); - exit(1); - } - switch(mode) - { - case K_RAW: - printf(_("The keyboard is in raw (scancode) mode\n")); - break; - case K_MEDIUMRAW: - printf(_("The keyboard is in mediumraw (keycode) mode\n")); - break; - case K_XLATE: - printf(_("The keyboard is in the default (ASCII) mode\n")); - break; - case K_UNICODE: - printf(_("The keyboard is in Unicode (UTF-8) mode\n")); - break; - default: - printf(_("The keyboard is in some unknown mode\n")); - } - exit(0); - } - - if (ioctl(fd, KDSKBMODE, mode)) - { - fprintf(stderr, progname); - perror(_(": error setting keyboard mode\n")); - exit(1); - } - exit(0); -} diff -Nru console-tools-0.2.3/kbdtools/loadkeys.c console-tools-0.2.3/kbdtools/loadkeys.c --- console-tools-0.2.3/kbdtools/loadkeys.c 1999-07-19 19:50:34.000000000 +0000 +++ console-tools-0.2.3/kbdtools/loadkeys.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,2136 +0,0 @@ - -/* A Bison parser, made from loadkeys.y - by GNU Bison version 1.27 - */ - -#define YYBISON 1 /* Identify Bison output. */ - -#define EOL 257 -#define NUMBER 258 -#define LITERAL 259 -#define CHARSET 260 -#define KEYMAPS 261 -#define KEYCODE 262 -#define EQUALS 263 -#define PLAIN 264 -#define SHIFT 265 -#define CONTROL 266 -#define ALT 267 -#define ALTGR 268 -#define SHIFTL 269 -#define SHIFTR 270 -#define CTRLL 271 -#define CTRLR 272 -#define COMMA 273 -#define DASH 274 -#define STRING 275 -#define STRLITERAL 276 -#define COMPOSE 277 -#define TO 278 -#define CCHAR 279 -#define ERROR 280 -#define PLUS 281 -#define UNUMBER 282 -#define ALT_IS_META 283 -#define STRINGS 284 -#define AS 285 -#define USUAL 286 -#define ON 287 -#define FOR 288 - -#line 62 "loadkeys.y" - -#include <errno.h> -#include <stdio.h> -#include <getopt.h> -#include <stdlib.h> -#include <string.h> -#include <fcntl.h> -#include <linux/kd.h> -#include <linux/keyboard.h> -#include <sys/ioctl.h> -#include <ctype.h> -#include <sysexits.h> -#include <signal.h> - -#include <lct/local.h> -#include <lct/utils.h> -#include <lct/console.h> -#include <lct/font.h> /* findkeymap() */ -#include <lct/ksyms.h> -#include <lct/modifiers.h> - -int verbose; -void lk_push(void); /* in analyze.c */ -int lk_pop(void); /* idem */ -extern int infile_stack_ptr; /* idem */ - -#ifndef KT_LETTER -#define KT_LETTER KT_LATIN -#endif - -#undef yywrap -int yywrap(void); - -/* externs from analyse.l */ -extern int line_nr, rvalct; -extern struct kbsentry kbs_buf; -extern FILE* yyin; - -/* name to use in error messages */ -char *progname; - -/* give error message if using unicode compose strings? */ -int unicode_warning = 0; -/* What keymaps are we defining? */ -char defining[MAX_NR_KEYMAPS]; -char keymaps_line_seen = 0; -int max_keymap = 0; /* from here on, defining[] is false */ -int alt_is_meta = 0; - -/* the kernel structures we want to set or print */ -u_short *key_map[MAX_NR_KEYMAPS]; -char *func_table[MAX_NR_FUNC]; -struct kbdiacr accent_table[MAX_DIACR]; -unsigned int accent_table_size = 0; - -char key_is_constant[NR_KEYS]; -char *keymap_was_set[MAX_NR_KEYMAPS]; -char func_buf[4096]; /* should be allocated dynamically */ -char *fp = func_buf; - -#define U(x) ((x) ^ 0xf000) - -#undef ECHO - -static void addmap(int map, int explicit); -static void addkey(int index, int table, int keycode); -static void addfunc(struct kbsentry kbs_buf); -static void killkey(int index, int table); -static void compose(int diacr, int base, int res); -static void do_constant(void); -static void do_constant_key (int, u_short); -static void loadkeys(void); -static void mktable(void); -static void strings_as_usual(void); -static void keypad_as_usual(char *keyboard); -static void function_keys_as_usual(char *keyboard); -static void consoles_as_usual(char *keyboard); -static void compose_as_usual(char *charset); -void lkfatal(char *); -void lkfatal0(char *, int); -void lkfatal1(char *, char *); -extern char *xstrdup(char *); -int key_buf[MAX_NR_KEYMAPS]; -int mod; -int unicode_used; -int private_error_ct = 0; -#ifndef YYSTYPE -#define YYSTYPE int -#endif -#include <stdio.h> - -#ifndef __cplusplus -#ifndef __STDC__ -#define const -#endif -#endif - - - -#define YYFINAL 88 -#define YYFLAG -32768 -#define YYNTBASE 35 - -#define YYTRANSLATE(x) ((unsigned)(x) <= 288 ? yytranslate[x] : 54) - -static const char yytranslate[] = { 0, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34 -}; - -#if YYDEBUG != 0 -static const short yyprhs[] = { 0, - 0, 1, 4, 6, 8, 10, 12, 14, 16, 18, - 20, 22, 24, 28, 31, 36, 43, 48, 52, 56, - 58, 62, 64, 70, 77, 84, 85, 93, 100, 103, - 105, 107, 109, 111, 113, 115, 117, 119, 121, 127, - 128, 131, 133, 135, 137, 140, 142 -}; - -static const short yyrhs[] = { -1, - 35, 36, 0, 3, 0, 37, 0, 38, 0, 39, - 0, 40, 0, 41, 0, 50, 0, 46, 0, 44, - 0, 45, 0, 6, 22, 3, 0, 29, 3, 0, - 30, 31, 32, 3, 0, 23, 31, 32, 34, 22, - 3, 0, 23, 31, 32, 3, 0, 7, 42, 3, - 0, 42, 19, 43, 0, 43, 0, 4, 20, 4, - 0, 4, 0, 21, 5, 9, 22, 3, 0, 23, - 25, 25, 24, 25, 3, 0, 23, 25, 25, 24, - 53, 3, 0, 0, 47, 48, 8, 4, 9, 53, - 3, 0, 10, 8, 4, 9, 53, 3, 0, 48, - 49, 0, 49, 0, 11, 0, 12, 0, 13, 0, - 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, - 8, 4, 9, 51, 3, 0, 0, 52, 51, 0, - 53, 0, 4, 0, 28, 0, 27, 4, 0, 5, - 0, 27, 5, 0 -}; - -#endif - -#if YYDEBUG != 0 -static const short yyrline[] = { 0, - 151, 152, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 165, 170, 175, 180, 184, 189, 194, 195, - 197, 203, 208, 217, 221, 226, 227, 231, 236, 237, - 239, 240, 241, 242, 243, 244, 245, 246, 248, 281, - 282, 284, 291, 293, 295, 297, 299 -}; -#endif - - -#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) - -static const char * const yytname[] = { "$","error","$undefined.","EOL","NUMBER", -"LITERAL","CHARSET","KEYMAPS","KEYCODE","EQUALS","PLAIN","SHIFT","CONTROL","ALT", -"ALTGR","SHIFTL","SHIFTR","CTRLL","CTRLR","COMMA","DASH","STRING","STRLITERAL", -"COMPOSE","TO","CCHAR","ERROR","PLUS","UNUMBER","ALT_IS_META","STRINGS","AS", -"USUAL","ON","FOR","keytable","line","charsetline","altismetaline","usualstringsline", -"usualcomposeline","keymapline","range","range0","strline","compline","singleline", -"@1","modifiers","modifier","fullline","rvalue0","rvalue1","rvalue", NULL -}; -#endif - -static const short yyr1[] = { 0, - 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 37, 38, 39, 40, 40, 41, 42, 42, - 43, 43, 44, 45, 45, 47, 46, 46, 48, 48, - 49, 49, 49, 49, 49, 49, 49, 49, 50, 51, - 51, 52, 53, 53, 53, 53, 53 -}; - -static const short yyr2[] = { 0, - 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 2, 4, 6, 4, 3, 3, 1, - 3, 1, 5, 6, 6, 0, 7, 6, 2, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 5, 0, - 2, 1, 1, 1, 2, 1, 2 -}; - -static const short yydefact[] = { 1, - 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 4, 5, 6, 7, 8, 11, 12, 10, 0, - 9, 0, 22, 0, 20, 0, 0, 0, 0, 0, - 14, 0, 31, 32, 33, 34, 35, 36, 37, 38, - 0, 30, 13, 0, 18, 0, 40, 0, 0, 0, - 0, 0, 0, 29, 21, 19, 43, 46, 0, 44, - 0, 40, 42, 0, 0, 0, 17, 0, 15, 0, - 45, 47, 39, 41, 0, 23, 0, 0, 0, 0, - 28, 24, 25, 16, 0, 27, 0, 0 -}; - -static const short yydefgoto[] = { 1, - 11, 12, 13, 14, 15, 16, 24, 25, 17, 18, - 19, 20, 41, 42, 21, 61, 62, 63 -}; - -static const short yypact[] = {-32768, - 3,-32768, -15, 8, 12, 11, 18, -23, 26, -1, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 36, --32768, 32, 35, -2,-32768, 47, 53, 49, 34, 29, --32768, 30,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 28,-32768,-32768, 56,-32768, 8, 10, 54, 42, 41, - -3, 63, 64,-32768,-32768,-32768,-32768,-32768, 17,-32768, - 66, 10,-32768, 10, 67, 0,-32768, 45,-32768, 62, --32768,-32768,-32768,-32768, 69,-32768, 70, 71, 72, 10, --32768,-32768,-32768,-32768, 73,-32768, 77,-32768 -}; - -static const short yypgoto[] = {-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 33,-32768,-32768, --32768,-32768,-32768, 37,-32768, 19,-32768, -46 -}; - - -#define YYLAST 81 - - -static const short yytable[] = { 67, - 45, 29, 87, 57, 58, 2, 22, 30, 3, 4, - 5, 23, 6, 57, 58, 26, 46, 75, 27, 78, - 71, 72, 28, 7, 77, 8, 59, 60, 31, 32, - 68, 9, 10, 85, 43, 53, 59, 60, 33, 34, - 35, 36, 37, 38, 39, 40, 33, 34, 35, 36, - 37, 38, 39, 40, 44, 47, 48, 49, 50, 55, - 51, 52, 64, 65, 66, 69, 79, 70, 73, 76, - 80, 81, 82, 83, 84, 86, 88, 54, 56, 0, - 74 -}; - -static const short yycheck[] = { 3, - 3, 25, 0, 4, 5, 3, 22, 31, 6, 7, - 8, 4, 10, 4, 5, 4, 19, 64, 8, 66, - 4, 5, 5, 21, 25, 23, 27, 28, 3, 31, - 34, 29, 30, 80, 3, 8, 27, 28, 11, 12, - 13, 14, 15, 16, 17, 18, 11, 12, 13, 14, - 15, 16, 17, 18, 20, 9, 4, 9, 25, 4, - 32, 32, 9, 22, 24, 3, 22, 4, 3, 3, - 9, 3, 3, 3, 3, 3, 0, 41, 46, -1, - 62 -}; -/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/share/misc/bison.simple" -/* This file comes from bison-1.27. */ - -/* Skeleton output parser for bison, - Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -/* This is the parser code that is written into each bison parser - when the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ - -#ifndef YYSTACK_USE_ALLOCA -#ifdef alloca -#define YYSTACK_USE_ALLOCA -#else /* alloca not defined */ -#ifdef __GNUC__ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) -#define YYSTACK_USE_ALLOCA -#include <alloca.h> -#else /* not sparc */ -/* We think this test detects Watcom and Microsoft C. */ -/* This used to test MSDOS, but that is a bad idea - since that symbol is in the user namespace. */ -#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) -#if 0 /* No need for malloc.h, which pollutes the namespace; - instead, just don't use alloca. */ -#include <malloc.h> -#endif -#else /* not MSDOS, or __TURBOC__ */ -#if defined(_AIX) -/* I don't know what this was needed for, but it pollutes the namespace. - So I turned it off. rms, 2 May 1997. */ -/* #include <malloc.h> */ - #pragma alloca -#define YYSTACK_USE_ALLOCA -#else /* not MSDOS, or __TURBOC__, or _AIX */ -#if 0 -#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, - and on HPUX 10. Eventually we can turn this on. */ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#endif /* __hpux */ -#endif -#endif /* not _AIX */ -#endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc */ -#endif /* not GNU C */ -#endif /* alloca not defined */ -#endif /* YYSTACK_USE_ALLOCA not defined */ - -#ifdef YYSTACK_USE_ALLOCA -#define YYSTACK_ALLOC alloca -#else -#define YYSTACK_ALLOC malloc -#endif - -/* Note: there must be only one dollar sign in this file. - It is replaced by the list of actions, each action - as one case of the switch. */ - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY -2 -#define YYEOF 0 -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrlab1 -/* Like YYERROR except do call yyerror. - This remains here temporarily to ease the - transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ -#define YYFAIL goto yyerrlab -#define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(token, value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { yychar = (token), yylval = (value); \ - yychar1 = YYTRANSLATE (yychar); \ - YYPOPSTACK; \ - goto yybackup; \ - } \ - else \ - { yyerror ("syntax error: cannot back up"); YYERROR; } \ -while (0) - -#define YYTERROR 1 -#define YYERRCODE 256 - -#ifndef YYPURE -#define YYLEX yylex() -#endif - -#ifdef YYPURE -#ifdef YYLSP_NEEDED -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval, &yylloc) -#endif -#else /* not YYLSP_NEEDED */ -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval) -#endif -#endif /* not YYLSP_NEEDED */ -#endif - -/* If nonreentrant, generate the variables here */ - -#ifndef YYPURE - -int yychar; /* the lookahead symbol */ -YYSTYPE yylval; /* the semantic value of the */ - /* lookahead symbol */ - -#ifdef YYLSP_NEEDED -YYLTYPE yylloc; /* location data for the lookahead */ - /* symbol */ -#endif - -int yynerrs; /* number of parse errors so far */ -#endif /* not YYPURE */ - -#if YYDEBUG != 0 -int yydebug; /* nonzero means print parse trace */ -/* Since this is uninitialized, it does not stop multiple parsers - from coexisting. */ -#endif - -/* YYINITDEPTH indicates the initial size of the parser's stacks */ - -#ifndef YYINITDEPTH -#define YYINITDEPTH 200 -#endif - -/* YYMAXDEPTH is the maximum size the stacks can grow to - (effective only if the built-in stack extension method is used). */ - -#if YYMAXDEPTH == 0 -#undef YYMAXDEPTH -#endif - -#ifndef YYMAXDEPTH -#define YYMAXDEPTH 10000 -#endif - -/* Define __yy_memcpy. Note that the size argument - should be passed with type unsigned int, because that is what the non-GCC - definitions require. With GCC, __builtin_memcpy takes an arg - of type size_t, but it can handle unsigned int. */ - -#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ -#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) -#else /* not GNU C or C++ */ -#ifndef __cplusplus - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (to, from, count) - char *to; - char *from; - unsigned int count; -{ - register char *f = from; - register char *t = to; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#else /* __cplusplus */ - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (char *to, char *from, unsigned int count) -{ - register char *t = to; - register char *f = from; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#endif -#endif - -#line 216 "/usr/share/misc/bison.simple" - -/* The user can define YYPARSE_PARAM as the name of an argument to be passed - into yyparse. The argument should have type void *. - It should actually point to an object. - Grammar actions can access the variable by casting it - to the proper pointer type. */ - -#ifdef YYPARSE_PARAM -#ifdef __cplusplus -#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM -#define YYPARSE_PARAM_DECL -#else /* not __cplusplus */ -#define YYPARSE_PARAM_ARG YYPARSE_PARAM -#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; -#endif /* not __cplusplus */ -#else /* not YYPARSE_PARAM */ -#define YYPARSE_PARAM_ARG -#define YYPARSE_PARAM_DECL -#endif /* not YYPARSE_PARAM */ - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -#ifdef YYPARSE_PARAM -int yyparse (void *); -#else -int yyparse (void); -#endif -#endif - -int -yyparse(YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL -{ - register int yystate; - register int yyn; - register short *yyssp; - register YYSTYPE *yyvsp; - int yyerrstatus; /* number of tokens to shift before error messages enabled */ - int yychar1 = 0; /* lookahead token as an internal (translated) token number */ - - short yyssa[YYINITDEPTH]; /* the state stack */ - YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ - - short *yyss = yyssa; /* refer to the stacks thru separate pointers */ - YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ - -#ifdef YYLSP_NEEDED - YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ - YYLTYPE *yyls = yylsa; - YYLTYPE *yylsp; - -#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) -#else -#define YYPOPSTACK (yyvsp--, yyssp--) -#endif - - int yystacksize = YYINITDEPTH; - int yyfree_stacks = 0; - -#ifdef YYPURE - int yychar; - YYSTYPE yylval; - int yynerrs; -#ifdef YYLSP_NEEDED - YYLTYPE yylloc; -#endif -#endif - - YYSTYPE yyval; /* the variable used to return */ - /* semantic values from the action */ - /* routines */ - - int yylen; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Starting parse\n"); -#endif - - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - - yyssp = yyss - 1; - yyvsp = yyvs; -#ifdef YYLSP_NEEDED - yylsp = yyls; -#endif - -/* Push a new state, which is found in yystate . */ -/* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. */ -yynewstate: - - *++yyssp = yystate; - - if (yyssp >= yyss + yystacksize - 1) - { - /* Give user a chance to reallocate the stack */ - /* Use copies of these so that the &'s don't force the real ones into memory. */ - YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; -#ifdef YYLSP_NEEDED - YYLTYPE *yyls1 = yyls; -#endif - - /* Get the current used size of the three stacks, in elements. */ - int size = yyssp - yyss + 1; - -#ifdef yyoverflow - /* Each stack pointer address is followed by the size of - the data in use in that stack, in bytes. */ -#ifdef YYLSP_NEEDED - /* This used to be a conditional around just the two extra args, - but that might be undefined if yyoverflow is a macro. */ - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yyls1, size * sizeof (*yylsp), - &yystacksize); -#else - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yystacksize); -#endif - - yyss = yyss1; yyvs = yyvs1; -#ifdef YYLSP_NEEDED - yyls = yyls1; -#endif -#else /* no yyoverflow */ - /* Extend the stack our own way. */ - if (yystacksize >= YYMAXDEPTH) - { - yyerror("parser stack overflow"); - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 2; - } - yystacksize *= 2; - if (yystacksize > YYMAXDEPTH) - yystacksize = YYMAXDEPTH; -#ifndef YYSTACK_USE_ALLOCA - yyfree_stacks = 1; -#endif - yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, - size * (unsigned int) sizeof (*yyssp)); - yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, - size * (unsigned int) sizeof (*yyvsp)); -#ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, - size * (unsigned int) sizeof (*yylsp)); -#endif -#endif /* no yyoverflow */ - - yyssp = yyss + size - 1; - yyvsp = yyvs + size - 1; -#ifdef YYLSP_NEEDED - yylsp = yyls + size - 1; -#endif - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Stack size increased to %d\n", yystacksize); -#endif - - if (yyssp >= yyss + yystacksize - 1) - YYABORT; - } - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Entering state %d\n", yystate); -#endif - - goto yybackup; - yybackup: - -/* Do appropriate processing given the current state. */ -/* Read a lookahead token if we need one and don't already have one. */ -/* yyresume: */ - - /* First try to decide what to do without reference to lookahead token. */ - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yydefault; - - /* Not known => get a lookahead token if don't already have one. */ - - /* yychar is either YYEMPTY or YYEOF - or a valid token in external form. */ - - if (yychar == YYEMPTY) - { -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Reading a token: "); -#endif - yychar = YYLEX; - } - - /* Convert token to internal form (in yychar1) for indexing tables with */ - - if (yychar <= 0) /* This means end of input. */ - { - yychar1 = 0; - yychar = YYEOF; /* Don't call YYLEX any more */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Now at end of input.\n"); -#endif - } - else - { - yychar1 = YYTRANSLATE(yychar); - -#if YYDEBUG != 0 - if (yydebug) - { - fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); - /* Give the individual parser a way to print the precise meaning - of a token, for further debugging info. */ -#ifdef YYPRINT - YYPRINT (stderr, yychar, yylval); -#endif - fprintf (stderr, ")\n"); - } -#endif - } - - yyn += yychar1; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) - goto yydefault; - - yyn = yytable[yyn]; - - /* yyn is what to do for this token type in this state. - Negative => reduce, -yyn is rule number. - Positive => shift, yyn is new state. - New state is final state => don't bother to shift, - just return success. - 0, or most negative number => error. */ - - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrlab; - - if (yyn == YYFINAL) - YYACCEPT; - - /* Shift the lookahead token. */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); -#endif - - /* Discard the token being shifted unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - /* count tokens shifted since error; after three, turn off error status. */ - if (yyerrstatus) yyerrstatus--; - - yystate = yyn; - goto yynewstate; - -/* Do the default action for the current state. */ -yydefault: - - yyn = yydefact[yystate]; - if (yyn == 0) - goto yyerrlab; - -/* Do a reduction. yyn is the number of a rule to reduce with. */ -yyreduce: - yylen = yyr2[yyn]; - if (yylen > 0) - yyval = yyvsp[1-yylen]; /* implement default value of the action */ - -#if YYDEBUG != 0 - if (yydebug) - { - int i; - - fprintf (stderr, "Reducing via rule %d (line %d), ", - yyn, yyrline[yyn]); - - /* Print the symbols being reduced, and their result. */ - for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) - fprintf (stderr, "%s ", yytname[yyrhs[i]]); - fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); - } -#endif - - - switch (yyn) { - -case 13: -#line 166 "loadkeys.y" -{ - set_charset(kbs_buf.kb_string); - ; - break;} -case 14: -#line 171 "loadkeys.y" -{ - alt_is_meta = 1; - ; - break;} -case 15: -#line 176 "loadkeys.y" -{ - strings_as_usual(); - ; - break;} -case 16: -#line 181 "loadkeys.y" -{ - compose_as_usual(kbs_buf.kb_string); - ; - break;} -case 17: -#line 185 "loadkeys.y" -{ - compose_as_usual(0); - ; - break;} -case 18: -#line 190 "loadkeys.y" -{ - keymaps_line_seen = 1; - ; - break;} -case 21: -#line 198 "loadkeys.y" -{ - int i; - for (i = yyvsp[-2]; i<= yyvsp[0]; i++) - addmap(i,1); - ; - break;} -case 22: -#line 204 "loadkeys.y" -{ - addmap(yyvsp[0],1); - ; - break;} -case 23: -#line 209 "loadkeys.y" -{ - if (KTYP(yyvsp[-3]) != KT_FN) - lkfatal1("'%s' is not a function key symbol", - syms[KTYP(yyvsp[-3])].table[KVAL(yyvsp[-3])]); - kbs_buf.kb_func = KVAL(yyvsp[-3]); - addfunc(kbs_buf); - ; - break;} -case 24: -#line 218 "loadkeys.y" -{ - compose(yyvsp[-4], yyvsp[-3], yyvsp[-1]); - ; - break;} -case 25: -#line 222 "loadkeys.y" -{ - compose(yyvsp[-4], yyvsp[-3], yyvsp[-1]); - ; - break;} -case 26: -#line 226 "loadkeys.y" -{ mod = 0; ; - break;} -case 27: -#line 228 "loadkeys.y" -{ - addkey(yyvsp[-3], mod, yyvsp[-1]); - ; - break;} -case 28: -#line 232 "loadkeys.y" -{ - addkey(yyvsp[-2], 0, yyvsp[0]); - ; - break;} -case 31: -#line 239 "loadkeys.y" -{ mod |= M_SHIFT; ; - break;} -case 32: -#line 240 "loadkeys.y" -{ mod |= M_CTRL; ; - break;} -case 33: -#line 241 "loadkeys.y" -{ mod |= M_ALT; ; - break;} -case 34: -#line 242 "loadkeys.y" -{ mod |= M_ALTGR; ; - break;} -case 35: -#line 243 "loadkeys.y" -{ mod |= M_SHIFTL; ; - break;} -case 36: -#line 244 "loadkeys.y" -{ mod |= M_SHIFTR; ; - break;} -case 37: -#line 245 "loadkeys.y" -{ mod |= M_CTRLL; ; - break;} -case 38: -#line 246 "loadkeys.y" -{ mod |= M_CTRLR; ; - break;} -case 39: -#line 249 "loadkeys.y" -{ - int i, j; - - if (rvalct == 1) { - /* Some files do not have a keymaps line, and - we have to wait until all input has been read - before we know which maps to fill. */ - key_is_constant[yyvsp[-3]] = 1; - - /* On the other hand, we now have include files, - and it should be possible to override lines - from an include file. So, kill old defs. */ - for (j = 0; j < max_keymap; j++) - if (defining[j]) - killkey(yyvsp[-3], j); - } - if (keymaps_line_seen) { - i = 0; - for (j = 0; j < max_keymap; j++) - if (defining[j]) { - if (rvalct != 1 || i == 0) - addkey(yyvsp[-3], j, (i < rvalct) ? key_buf[i] : K_HOLE); - i++; - } - if (i < rvalct) - lkfatal0("too many (%d) entries on one line", rvalct); - } else - for (i = 0; i < rvalct; i++) - addkey(yyvsp[-3], i, key_buf[i]); - ; - break;} -case 42: -#line 285 "loadkeys.y" -{ - if (rvalct >= MAX_NR_KEYMAPS) - lkfatal(_("too many keydefinitions on one line")); - key_buf[rvalct++] = yyvsp[0]; - ; - break;} -case 43: -#line 292 "loadkeys.y" -{yyval=yyvsp[0];; - break;} -case 44: -#line 294 "loadkeys.y" -{yyval=(yyvsp[0] ^ 0xf000); unicode_used=1;; - break;} -case 45: -#line 296 "loadkeys.y" -{yyval=K(KT_LETTER, KVAL(yyvsp[0]));; - break;} -case 46: -#line 298 "loadkeys.y" -{yyval=yyvsp[0];; - break;} -case 47: -#line 300 "loadkeys.y" -{yyval=K(KT_LETTER, KVAL(yyvsp[0]));; - break;} -} - /* the action file gets copied in in place of this dollarsign */ -#line 542 "/usr/share/misc/bison.simple" - - yyvsp -= yylen; - yyssp -= yylen; -#ifdef YYLSP_NEEDED - yylsp -= yylen; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - - *++yyvsp = yyval; - -#ifdef YYLSP_NEEDED - yylsp++; - if (yylen == 0) - { - yylsp->first_line = yylloc.first_line; - yylsp->first_column = yylloc.first_column; - yylsp->last_line = (yylsp-1)->last_line; - yylsp->last_column = (yylsp-1)->last_column; - yylsp->text = 0; - } - else - { - yylsp->last_line = (yylsp+yylen-1)->last_line; - yylsp->last_column = (yylsp+yylen-1)->last_column; - } -#endif - - /* Now "shift" the result of the reduction. - Determine what state that goes to, - based on the state we popped back to - and the rule number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTBASE] + *yyssp; - if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTBASE]; - - goto yynewstate; - -yyerrlab: /* here on detecting error */ - - if (! yyerrstatus) - /* If not already recovering from an error, report this error. */ - { - ++yynerrs; - -#ifdef YYERROR_VERBOSE - yyn = yypact[yystate]; - - if (yyn > YYFLAG && yyn < YYLAST) - { - int size = 0; - char *msg; - int x, count; - - count = 0; - /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - size += strlen(yytname[x]) + 15, count++; - msg = (char *) malloc(size + 15); - if (msg != 0) - { - strcpy(msg, "parse error"); - - if (count < 5) - { - count = 0; - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - { - strcat(msg, count == 0 ? ", expecting `" : " or `"); - strcat(msg, yytname[x]); - strcat(msg, "'"); - count++; - } - } - yyerror(msg); - free(msg); - } - else - yyerror ("parse error; also virtual memory exceeded"); - } - else -#endif /* YYERROR_VERBOSE */ - yyerror("parse error"); - } - - goto yyerrlab1; -yyerrlab1: /* here on error raised explicitly by an action */ - - if (yyerrstatus == 3) - { - /* if just tried and failed to reuse lookahead token after an error, discard it. */ - - /* return failure if at end of input */ - if (yychar == YYEOF) - YYABORT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); -#endif - - yychar = YYEMPTY; - } - - /* Else will try to reuse lookahead token - after shifting the error token. */ - - yyerrstatus = 3; /* Each real token shifted decrements this */ - - goto yyerrhandle; - -yyerrdefault: /* current state does not do anything special for the error token. */ - -#if 0 - /* This is wrong; only states that explicitly want error tokens - should shift them. */ - yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ - if (yyn) goto yydefault; -#endif - -yyerrpop: /* pop the current state because it cannot handle the error token */ - - if (yyssp == yyss) YYABORT; - yyvsp--; - yystate = *--yyssp; -#ifdef YYLSP_NEEDED - yylsp--; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "Error: state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - -yyerrhandle: - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yyerrdefault; - - yyn += YYTERROR; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) - goto yyerrdefault; - - yyn = yytable[yyn]; - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrpop; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrpop; - - if (yyn == YYFINAL) - YYACCEPT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting error token, "); -#endif - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - yystate = yyn; - goto yynewstate; - - yyacceptlab: - /* YYACCEPT comes here. */ - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 0; - - yyabortlab: - /* YYABORT comes here. */ - if (yyfree_stacks) - { - free (yyss); - free (yyvs); -#ifdef YYLSP_NEEDED - free (yyls); -#endif - } - return 1; -} -#line 302 "loadkeys.y" - - -void usage() -{ - printf(_("Usage: %s [option...] [mapfile...]\n"), progname); - OPTIONS_ARE(); - OPT("-c --clearcompose ", _("clear kernel compose table")); - OPT("-d --default ", _("load default keymap file")); /* FIXME: should print DEFKMAP */ - OPT("-m --mktable ", _("output a \"defkeymap.c\" to stdout")); - OPT("-s --clearstrings ", _("clear kernel string table")); - OPT("-q --quiet ", _("be silent")); - OPT("-v --verbose ", _("report the changes")); - OPT("-v --verbose ", _("report more changes")); - - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - -char **args; -int optd = 0; -int optm = 0; -int opts = 0; -int quiet = 0; -int nocompose = 0; - -int main(int argc, char *argv[]) -{ - const char *short_opts = "cdhmsqvV"; - const struct option long_opts[] = { - { "clearcompose", no_argument, NULL, 'c' }, - { "default", no_argument, NULL, 'd' }, - { "help", no_argument, NULL, 'h' }, - { "mktable", no_argument, NULL, 'm' }, - { "clearstrings", no_argument, NULL, 's' }, - { "quiet", no_argument, NULL, 'q' }, - { "verbose", no_argument, NULL, 'v' }, - { "version", no_argument, NULL, 'V' }, - { NULL, 0, NULL, 0 } - }; - int c; - sigset_t sigset, old_sigset; - - setuplocale(); - - progname = strip_path(argv[0]); - - while ((c = getopt_long(argc, argv, - short_opts, long_opts, NULL)) != EOF) - { - switch (c) - { - case 'c': - nocompose = 1; - break; - case 'd': - optd = 1; - break; - case 'm': - optm = 1; - break; - case 's': - opts = 1; - break; - case 'q': - quiet = 1; - break; - case 'v': - verbose++; - break; - case 'V': - version(progname); - exit(0); - case 'h': - usage(); - exit (0); - case '?': - badusage(NULL); - } - } - - args = argv + optind - 1; - unicode_used = 0; - /* set up the first input file, if any */ - yywrap(); - /* block SIGCHLD or it would break the scanner */ - sigemptyset (&sigset); - sigaddset (&sigset, SIGCHLD); - sigprocmask (SIG_BLOCK, &sigset, &old_sigset); - if (yyparse() || private_error_ct) - { - fprintf(stderr, _("syntax error in map file\n")); - if(!optm) - fprintf(stderr, _("key bindings not changed\n")); - exit(1); - } - /* restore mask */ - sigprocmask (SIG_SETMASK, &old_sigset, NULL); - do_constant(); - if(optm) - mktable(); - else - loadkeys(); - exit(0); -} - -char pathname[1024]; -char *filename; -int line_nr = 1; - -int yyerror(char *s) -{ - fprintf(stderr, "%s:%d: %s\n", pathname, line_nr, s); - private_error_ct++; - return(0); -} - -/* fatal errors - change to varargs next time */ -void lkfatal(char *s) -{ - fprintf(stderr, "%s: %s:%d: %s\n", progname, filename, line_nr, s); - exit(1); -} - -void lkfatal0(char *s, int d) -{ - fprintf(stderr, "%s: %s:%d: ", progname, filename, line_nr); - fprintf(stderr, s, d); - fprintf(stderr, "\n"); - exit(1); -} - -void lkfatal1(char *s, char *s2) -{ - fprintf(stderr, "%s: %s:%d: ", progname, filename, line_nr); - fprintf(stderr, s, s2); - fprintf(stderr, "\n"); - exit(1); -} - -/* String file handling - flex-specific. */ -int in_string = 0; - -void lk_scan_string(char *s) -{ - lk_push(); - in_string = 1; - yy_scan_string(s); -} - -void lk_end_string(void) -{ - lk_pop(); - in_string = 0; -} - -#undef yywrap -int yywrap(void) -{ - FILE *f; - static int first_file = 1; /* ugly kludge flag */ - - if (in_string) - { - lk_end_string(); - return 0; - } - - if (infile_stack_ptr > 0) - { - lk_pop(); - return 0; - } - - line_nr = 1; - if (optd) { - /* first read default map */ - optd = 0; - if((f = findkeymap(DEFKMAP, pathname, sizeof(pathname), stdin, NULL)) == NULL) - { - perror("findkeymap"); - fprintf(stderr, _("Cannot find %s\n"), DEFKMAP); - exit(1); - } - goto gotf; - } - if (*args) - args++; - if (!*args) - return 1; - if (!strcmp(*args, "-")) - { - f = stdin; - strcpy(pathname, "<stdin>"); - } - else if ((f = findkeymap(*args, pathname, sizeof(pathname), stdin, NULL)) == NULL) - { - perror("findkeymap"); - fprintf(stderr, _("cannot open file %s\n"), *args); - exit(1); - } - /* - Can't use yyrestart if this is called before entering yyparse() - I think assigning directly to yyin isn't necessarily safe in - other situations, hence the flag. - */ -gotf: - filename = xstrdup(pathname); - if (!quiet) - fprintf(stderr, "Loading %s\n", pathname); - if (first_file) - { - yyin = f; - first_file = 0; - } - else - yyrestart(f); - return 0; -} - -static void addmap(int i, int explicit) -{ - if (i < 0 || i >= MAX_NR_KEYMAPS) - lkfatal0(_("addmap called with bad index %d"), i); - - if (!defining[i]) - { - if (keymaps_line_seen && !explicit) - lkfatal0(_("adding map %d violates explicit keymaps line)"), i); - - defining[i] = 1; - if (max_keymap <= i) - max_keymap = i+1; - } -} - -/* unset a key */ -static void killkey(int index, int table) -{ - /* roughly: addkey(index, table, K_HOLE); */ - - if (index < 0 || index >= NR_KEYS) - lkfatal0(_("killkey called with bad index %d"), index); - if (table < 0 || table >= MAX_NR_KEYMAPS) - lkfatal0(_("killkey called with bad table %d"), table); - if (key_map[table]) - (key_map[table])[index] = K_HOLE; - if (keymap_was_set[table]) - (keymap_was_set[table])[index] = 0; -} - -static void addkey(int index, int table, int keycode) -{ - int i; - - if (keycode == -1) - return; - if (index < 0 || index >= NR_KEYS) - lkfatal0(_("addkey called with bad index %d"), index); - if (table < 0 || table >= MAX_NR_KEYMAPS) - lkfatal0(_("addkey called with bad table %d"), table); - - if (!defining[table]) - addmap(table, 0); - if (!key_map[table]) - { - key_map[table] = (u_short *)xmalloc(NR_KEYS * sizeof(u_short)); - for (i = 0; i < NR_KEYS; i++) - (key_map[table])[i] = K_HOLE; - } - if (!keymap_was_set[table]) - { - keymap_was_set[table] = (char *) xmalloc(NR_KEYS); - for (i = 0; i < NR_KEYS; i++) - (keymap_was_set[table])[i] = 0; - } - - if (alt_is_meta && keycode == K_HOLE && (keymap_was_set[table])[index]) - return; - - (key_map[table])[index] = keycode; - (keymap_was_set[table])[index] = 1; - - if (alt_is_meta) - { - int alttable = table | M_ALT; - int type = KTYP(keycode); - int val = KVAL(keycode); - - if (alttable != table && defining[alttable] && - (!keymap_was_set[alttable] || - !(keymap_was_set[alttable])[index]) && - (type == KT_LATIN || type == KT_LETTER) && val < 128) - addkey(index, alttable, K(KT_META, val)); - } -} - -static void addfunc(struct kbsentry kbs) -{ - int sh, i; - char *p, *q, *r; - - if (kbs.kb_func >= MAX_NR_FUNC) - { - fprintf(stderr, _("%s: addfunc called with bad func %d\n"), - progname, kbs.kb_func); - exit(1); - } - if ((q = func_table[kbs.kb_func])) /* throw out old previous def */ - { - sh = strlen(q) + 1; - p = q + sh; - while (p < fp) - *q++ = *p++; - fp -= sh; - } - p = func_buf; /* find place for new def */ - for (i = 0; i < kbs.kb_func; i++) - if (func_table[i]) - { - p = func_table[i]; - while(*p++); - } - func_table[kbs.kb_func] = p; - sh = strlen(kbs.kb_string) + 1; - if (fp + sh > func_buf + sizeof(func_buf)) - { - fprintf(stderr, _("%s: addfunc: func_buf overflow\n"), progname); - exit(1); - } - q = fp; - fp += sh; - r = fp; - while (q > p) - *--r = *--q; - strcpy(p, kbs.kb_string); - for (i++; i < MAX_NR_FUNC; i++) - if (func_table[i]) - func_table[i] += sh; -} - -static int unicode_problem(void) -{ - /* Return TRUE if this kernel cannot handle unicode compose chars - * properly; - * (Currently struct kbdiacr has 3 chars: { base, diacr, result}, - * But result needs to be a string for proper Unicode handling) - */ - return 1; -} - -static void compose(int diacr, int base, int res) -{ - struct kbdiacr *p; - if (accent_table_size == MAX_DIACR) - { - fprintf(stderr, _("compose table overflow\n")); - exit(1); - } - p = &accent_table[accent_table_size++]; - p->diacr = diacr; - p->base = base; - p->result = res; - if (unicode_problem() && res > 0xFF) { - fprintf(stderr, - _("Warning: Compose char %4x ('%c','%c') > 0xFF will be truncated to %2x\n"), - res, p->base, p->diacr, p->result); - if (!unicode_warning) { - fprintf(stderr,_(" (Linux kernel < 2.3.X can't handle unicode compose chars properly)\n")); - unicode_warning = 1; - } - } -} - -static int defkeys(int fd) -{ - struct kbentry ke; - int ct = 0; - int i,j,fail; - int oldm; - - if (unicode_used) - { - /* Switch keyboard mode for a moment - - do not complain about errors. - Do not attempt a reset if the change failed. */ - if (ioctl(fd, KDGKBMODE, &oldm) - || (oldm != K_UNICODE && ioctl(fd, KDSKBMODE, K_UNICODE))) - oldm = K_UNICODE; - } - - for(i=0; i<MAX_NR_KEYMAPS; i++) - { - if (key_map[i]) - { - for(j=0; j<NR_KEYS; j++) - { - if ((keymap_was_set[i])[j]) - { - ke.kb_index = j; - ke.kb_table = i; - ke.kb_value = (key_map[i])[j]; - - fail = ioctl(fd, KDSKBENT, (unsigned long)&ke); - if (fail) - { - if (errno == EPERM) - { - fprintf(stderr, _("Keymap %d: Permission denied\n"), i); - j = NR_KEYS; - continue; - } - perror("KDSKBENT"); - } - else - ct++; - if(verbose) - printf(_("keycode %d, table %d = %d%s\n"), j, i, - (key_map[i])[j], fail ? _(" FAILED") : ""); - else if (fail) - fprintf(stderr, _("failed to bind key %d to value %d\n"), - j, (key_map[i])[j]); - } - } - } - else if (keymaps_line_seen && !defining[i]) - { - /* deallocate keymap */ - ke.kb_index = 0; - ke.kb_table = i; - ke.kb_value = K_NOSUCHMAP; - - if (verbose > 1) - printf(_("deallocate keymap %d\n"), i); - - if(ioctl(fd, KDSKBENT, (unsigned long)&ke)) - { - if (errno != EINVAL) - { - perror("KDSKBENT"); - fprintf(stderr, - _("%s: could not deallocate keymap %d\n"), - progname, i); - exit(1); - } - /* probably an old kernel */ - /* clear keymap by hand */ - for (j = 0; j < NR_KEYS; j++) - { - ke.kb_index = j; - ke.kb_table = i; - ke.kb_value = K_HOLE; - if(ioctl(fd, KDSKBENT, (unsigned long)&ke)) - { - if (errno == EINVAL && i >= 16) - break; /* old kernel */ - perror("KDSKBENT"); - fprintf(stderr, - _("%s: cannot deallocate or clear keymap\n"), - progname); - exit(1); - } - } - } - } - } - - if(unicode_used && oldm != K_UNICODE) - { - if (ioctl(fd, KDSKBMODE, oldm)) - { - fprintf(stderr, _("%s: failed to restore keyboard mode\n"), - progname); - } - fprintf(stderr, _("%s: warning: this map uses Unicode symbols\n" - " (perhaps you want to do `kbd_mode -u'?)\n"), - progname); - } - return ct; -} - -static char * ostr(char *s) -{ - int lth = strlen(s); - char *ns0 = (char*)xmalloc(4*lth + 1); - char *ns = ns0; - - while(*s) - { - switch(*s) - { - case '\n': - *ns++ = '\\'; - *ns++ = 'n'; - break; - case '\033': - *ns++ = '\\'; - *ns++ = '0'; - *ns++ = '3'; - *ns++ = '3'; - break; - default: - *ns++ = *s; - } - s++; - } - *ns = 0; - return ns0; -} - -static int deffuncs(int fd) -{ - int i, ct = 0; - char *p; - - for (i = 0; i < MAX_NR_FUNC; i++) - { - kbs_buf.kb_func = i; - if ((p = func_table[i])) - { - strcpy(kbs_buf.kb_string, p); - if (ioctl(fd, KDSKBSENT, (unsigned long)&kbs_buf)) - fprintf(stderr, _("failed to bind string '%s' to function %s\n"), - ostr(kbs_buf.kb_string), syms[KT_FN].table[kbs_buf.kb_func]); - else - ct++; - } - else if (opts) - { - kbs_buf.kb_string[0] = 0; - if (ioctl(fd, KDSKBSENT, (unsigned long)&kbs_buf)) - fprintf(stderr, _("failed to clear string %s\n"), - syms[KT_FN].table[kbs_buf.kb_func]); - else - ct++; - } - } - return ct; -} - -static int defdiacs(int fd) -{ - struct kbdiacrs kd; - unsigned i; - - kd.kb_cnt = accent_table_size; - if (kd.kb_cnt > MAX_DIACR) - { - kd.kb_cnt = MAX_DIACR; - fprintf(stderr, _("too many compose definitions\n")); - } - for (i = 0; i < kd.kb_cnt; i++) - kd.kbdiacr[i] = accent_table[i]; - - if(ioctl(fd, KDSKBDIACR, (unsigned long) &kd)) - { - fprintf(stderr, _("KDSKBDIACR failed\n")); - perror(""); - exit(1); - } - return kd.kb_cnt; -} - -void do_constant_key (int i, u_short key) -{ - int typ, val, j; - - typ = KTYP(key); - val = KVAL(key); - if ((typ == KT_LATIN || typ == KT_LETTER) && - ((val >= 'a' && val <= 'z') || - (val >= 'A' && val <= 'Z'))) - { - u_short defs[16]; - defs[0] = K(KT_LETTER, val); - defs[1] = K(KT_LETTER, val ^ 32); - defs[2] = defs[0]; - defs[3] = defs[1]; - for(j=4; j<8; j++) - defs[j] = K(KT_LATIN, val & ~96); - for(j=8; j<16; j++) - defs[j] = K(KT_META, KVAL(defs[j-8])); - for(j=0; j<max_keymap; j++) - { - if (!defining[j]) - continue; - if (j > 0 && - keymap_was_set[j] && (keymap_was_set[j])[i]) - continue; - addkey(i, j, defs[j%16]); - } - } - else - { - /* do this also for keys like Escape, - as promised in the man page */ - for (j=1; j<max_keymap; j++) - if(defining[j] && - (!(keymap_was_set[j]) || !(keymap_was_set[j])[i])) - addkey(i, j, key); - } -} - -static void do_constant (void) -{ - int i, r0 = 0; - - if (keymaps_line_seen) - while (r0 < max_keymap && !defining[r0]) - r0++; - - for (i=0; i<NR_KEYS; i++) - { - if (key_is_constant[i]) - { - u_short key; - if (!key_map[r0]) - lkfatal(_("impossible error in do_constant")); - key = (key_map[r0])[i]; - do_constant_key (i, key); - } - } -} - -static void loadkeys (void) -{ - int fd; - int keyct, funcct, diacct; - - if (-1 == (fd = get_console_fd(NULL))) - exit (1); - - keyct = defkeys(fd); - funcct = deffuncs(fd); - if (accent_table_size > 0 || nocompose) - diacct = defdiacs(fd); - if (verbose) - { - printf(_("\nChanged %d key%s and %d string%s.\n"), - keyct, (keyct == 1) ? "" : "s", - funcct, (funcct == 1) ? "" : "s"); - if (accent_table_size > 0 || nocompose) - printf(_("Loaded %d compose definition%s.\n"), - diacct, (diacct == 1) ? "" : "s"); - else - printf(_("(No change in compose definitions.)\n")); - } -} - -static void strings_as_usual(void) -{ - /* - * 28 strings, mostly inspired by the VT100 family - */ - char *stringvalues[30] = { - /* F1 .. F20 */ - "\033[[A", "\033[[B", "\033[[C", "\033[[D", "\033[[E", - "\033[17~", "\033[18~", "\033[19~", "\033[20~", "\033[21~", - "\033[23~", "\033[24~", "\033[25~", "\033[26~", - "\033[28~", "\033[29~", - "\033[31~", "\033[32~", "\033[33~", "\033[34~", - /* Find, Insert, Remove, Select, Prior */ - "\033[1~", "\033[2~", "\033[3~", "\033[4~", "\033[5~", - /* Next, Macro, Help, Do, Pause */ - "\033[6~", "\033[M", 0, 0, "\033[P" - }; - int i; - for (i=0; i<30; i++) - if(stringvalues[i]) - { - struct kbsentry ke; - ke.kb_func = i; - strncpy(ke.kb_string, stringvalues[i], sizeof(ke.kb_string)); - ke.kb_string[sizeof(ke.kb_string)-1] = 0; - addfunc(ke); - } -} - -static void compose_as_usual(char *charset) -{ - if (charset && strcmp(charset, "iso-8859-1")) - { - fprintf(stderr, _("loadkeys: don't know how to compose for %s\n"), - charset); - exit(1); - } - else - { - struct ccc { - char c1, c2, c3; - } def_latin1_composes[68] = { - { '`', 'A', 0300 }, { '`', 'a', 0340 }, - { '\'', 'A', 0301 }, { '\'', 'a', 0341 }, - { '^', 'A', 0302 }, { '^', 'a', 0342 }, - { '~', 'A', 0303 }, { '~', 'a', 0343 }, - { '"', 'A', 0304 }, { '"', 'a', 0344 }, - { 'O', 'A', 0305 }, { 'o', 'a', 0345 }, - { '0', 'A', 0305 }, { '0', 'a', 0345 }, - { 'A', 'A', 0305 }, { 'a', 'a', 0345 }, - { 'A', 'E', 0306 }, { 'a', 'e', 0346 }, - { ',', 'C', 0307 }, { ',', 'c', 0347 }, - { '`', 'E', 0310 }, { '`', 'e', 0350 }, - { '\'', 'E', 0311 }, { '\'', 'e', 0351 }, - { '^', 'E', 0312 }, { '^', 'e', 0352 }, - { '"', 'E', 0313 }, { '"', 'e', 0353 }, - { '`', 'I', 0314 }, { '`', 'i', 0354 }, - { '\'', 'I', 0315 }, { '\'', 'i', 0355 }, - { '^', 'I', 0316 }, { '^', 'i', 0356 }, - { '"', 'I', 0317 }, { '"', 'i', 0357 }, - { '-', 'D', 0320 }, { '-', 'd', 0360 }, - { '~', 'N', 0321 }, { '~', 'n', 0361 }, - { '`', 'O', 0322 }, { '`', 'o', 0362 }, - { '\'', 'O', 0323 }, { '\'', 'o', 0363 }, - { '^', 'O', 0324 }, { '^', 'o', 0364 }, - { '~', 'O', 0325 }, { '~', 'o', 0365 }, - { '"', 'O', 0326 }, { '"', 'o', 0366 }, - { '/', 'O', 0330 }, { '/', 'o', 0370 }, - { '`', 'U', 0331 }, { '`', 'u', 0371 }, - { '\'', 'U', 0332 }, { '\'', 'u', 0372 }, - { '^', 'U', 0333 }, { '^', 'u', 0373 }, - { '"', 'U', 0334 }, { '"', 'u', 0374 }, - { '\'', 'Y', 0335 }, { '\'', 'y', 0375 }, - { 'T', 'H', 0336 }, { 't', 'h', 0376 }, - { 's', 's', 0337 }, { '"', 'y', 0377 }, - { 's', 'z', 0337 }, { 'i', 'j', 0377 } - }; - int i; - - for(i=0; i<68; i++) - { - struct ccc p = def_latin1_composes[i]; - compose(p.c1, p.c2, p.c3); - } - } -} - -/* - * mktable.c - * - */ -static char *modifiers[8] = { - "shift", "altgr", "ctrl", "alt", "shl", "shr", "ctl", "ctr" -}; - -static char *mk_mapname(char mod) -{ - static char buf[60]; - int i; - - if (!mod) - return "plain"; - buf[0] = 0; - for (i=0; i<8; i++) - if (mod & (1<<i)) - { - if (buf[0]) - strcat(buf, "_"); - strcat(buf, modifiers[i]); - } - return buf; -} - - -static void outchar (unsigned char c, int comma) -{ - printf("'"); - printf((c == '\'' || c == '\\') ? "\\%c" : isgraph(c) ? "%c" - : "\\%03o", c); - printf(comma ? "', " : "'"); -} - -static void mktable () -{ - int i, imax, j; - - /* struct kbsentry kbs;*/ - u_char *p; - int maxfunc; - unsigned int keymap_count = 0; - - printf("\n" - "/* Do not edit this file! It was automatically generated by */\n" - "/* %s --mktable defkeymap.map > defkeymap.c */\n\n" - "#include <linux/types.h>\n" - "#include <linux/keyboard.h>\n" - "#include <linux/kd.h>\n\n" - , progname); - for (i = 0; i < MAX_NR_KEYMAPS; i++) - if (key_map[i]) - { - keymap_count++; - if (i) - printf("static "); - printf("u_short %s_map[NR_KEYS] = {", mk_mapname(i)); - for (j = 0; j < NR_KEYS; j++) - { - if (!(j % 8)) - printf("\n"); - printf("\t0x%04x,", U((key_map[i])[j])); - } - printf("\n};\n\n"); - } - - for (imax = MAX_NR_KEYMAPS-1; imax > 0; imax--) - if (key_map[imax]) - break; - printf("ushort *key_maps[MAX_NR_KEYMAPS] = {"); - for (i = 0; i <= imax; i++) - { - printf((i%4) ? " " : "\n\t"); - if (key_map[i]) - printf("%s_map,", mk_mapname(i)); - else - printf("0,"); - } - if (imax < MAX_NR_KEYMAPS-1) - printf("\t0"); - printf("\n};\n\nunsigned int keymap_count = %d;\n\n", keymap_count); - - printf("\n" - "/*\n" - " * Philosophy: most people do not define more strings, but they who do\n" - " * often want quite a lot of string space. So, we statically allocate\n" - " * the default and allocate dynamically in chunks of 512 bytes.\n" - " */\n" - "\n"); - for (maxfunc = MAX_NR_FUNC; maxfunc; maxfunc--) - if(func_table[maxfunc-1]) - break; - - printf("char func_buf[] = {\n"); - for (i = 0; i < maxfunc; i++) - { - p = func_table[i]; - if (p) - { - printf("\t"); - for ( ; *p; p++) - outchar(*p, 1); - printf("0, \n"); - } - } - if (!maxfunc) - printf("\t0\n"); - printf("};\n\n"); - - printf("\n" - "char *funcbufptr = func_buf;\n" - "int funcbufsize = sizeof(func_buf);\n" - "int funcbufleft = 0; /* space left */\n" - "\n"); - - printf("char *func_table[MAX_NR_FUNC] = {\n"); - for (i = 0; i < maxfunc; i++) - { - if (func_table[i]) - printf("\tfunc_buf + %d,\n", func_table[i] - func_buf); - else - printf("\t0,\n"); - } - if (maxfunc < MAX_NR_FUNC) - printf("\t0,\n"); - printf("};\n"); - - printf("\nstruct kbdiacr accent_table[MAX_DIACR] = {\n"); - for (i = 0; i < accent_table_size; i++) - { - printf("\t{"); - outchar(accent_table[i].diacr, 1); - outchar(accent_table[i].base, 1); - outchar(accent_table[i].result, 0); - printf("},"); - if(i%2) printf("\n"); - } - if(i%2) printf("\n"); - printf("};\n\n"); - printf("unsigned int accent_table_size = %d;\n", - accent_table_size); - - exit(0); -} - - diff -Nru console-tools-0.2.3/kbdtools/loadkeys.h console-tools-0.2.3/kbdtools/loadkeys.h --- console-tools-0.2.3/kbdtools/loadkeys.h 1999-07-19 19:50:34.000000000 +0000 +++ console-tools-0.2.3/kbdtools/loadkeys.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,38 +0,0 @@ -#ifndef YYSTYPE -#define YYSTYPE int -#endif -#define EOL 257 -#define NUMBER 258 -#define LITERAL 259 -#define CHARSET 260 -#define KEYMAPS 261 -#define KEYCODE 262 -#define EQUALS 263 -#define PLAIN 264 -#define SHIFT 265 -#define CONTROL 266 -#define ALT 267 -#define ALTGR 268 -#define SHIFTL 269 -#define SHIFTR 270 -#define CTRLL 271 -#define CTRLR 272 -#define COMMA 273 -#define DASH 274 -#define STRING 275 -#define STRLITERAL 276 -#define COMPOSE 277 -#define TO 278 -#define CCHAR 279 -#define ERROR 280 -#define PLUS 281 -#define UNUMBER 282 -#define ALT_IS_META 283 -#define STRINGS 284 -#define AS 285 -#define USUAL 286 -#define ON 287 -#define FOR 288 - - -extern YYSTYPE yylval; diff -Nru console-tools-0.2.3/kbdtools/loadkeys.y console-tools-0.2.3/kbdtools/loadkeys.y --- console-tools-0.2.3/kbdtools/loadkeys.y 1999-07-19 19:39:37.000000000 +0000 +++ console-tools-0.2.3/kbdtools/loadkeys.y 1970-01-01 00:00:00.000000000 +0000 @@ -1,1183 +0,0 @@ -/* - * loadkeys.y - * - * Changes for 0.82: - * Merged from version 0.81 of loadkeys.y and mktable.c - aeb@cwi.nl - * Reason for change: - * The original version of mktable would use the current kernel - * for getting at the entries. However, this does not work if - * e.g. NR_FUNC in keyboard.h has changed. So, instead of getting - * the information from the current kernel, we must get it out of - * defkeymap.map, just like loadkeys. Thus, mktable is now an - * option of loadkeys. - * (Other advantage: we first do the parsing, and then the key binding. - * No bindings are changed in case of a syntax error.) - * Fix: contrary to the documentation in keytables.5 it was assumed - * by default that the AltGr modifier had no effect. This assumption - * has been removed. - * - * Changes for 0.83: - * Added the intl_con patch by Eugene G. Crosser: - * The modifier + in front of a keysym means that it is a letter, - * and susceptible for change under CapsLock. For ASCII 'a'-'z' - * and 'A'-'Z' no + is required (when given as a single entry). - * - * Changes for 0.84: - * More compose key support. Default search path. Option -d. - * - * Change for 0.85: - * Do not change compose key table when no definitions given. - * Option -c to override this. - * - * Changes for 0.86: - * Added a few synonyms. Comment may now contain non-ASCII symbols. - * - * Changes for 0.87: - * Accept the "charset iso-8859-x" directive. - * - * Changes for 0.88: - * Handle sparse keymaps and many strings. Accept "keymaps" directive. - * Handle 8 modifiers. Handle Unicode. - * - * Change for 0.93: - * Set K_UNICODE during the loading of keymaps requiring that. - * - * Change for 0.94: - * Add alt_is_meta keyword: - * Whenever some combination is defined as an ASCII symbol, and there - * is a corresponding Alt keymap, define by default the corresponding - * Alt combination as Meta_value. - * - * Change for 0.96: - * Compose now accepts letter names. - * Add strings_as_usual etc. - * Add include directive. - */ - -%token EOL NUMBER LITERAL CHARSET KEYMAPS KEYCODE EQUALS -%token PLAIN SHIFT CONTROL ALT ALTGR SHIFTL SHIFTR CTRLL CTRLR -%token COMMA DASH STRING STRLITERAL COMPOSE TO CCHAR ERROR PLUS -%token UNUMBER ALT_IS_META STRINGS AS USUAL ON FOR - -%{ -#include <errno.h> -#include <stdio.h> -#include <getopt.h> -#include <stdlib.h> -#include <string.h> -#include <fcntl.h> -#include <linux/kd.h> -#include <linux/keyboard.h> -#include <sys/ioctl.h> -#include <ctype.h> -#include <sysexits.h> -#include <signal.h> - -#include <lct/local.h> -#include <lct/utils.h> -#include <lct/console.h> -#include <lct/font.h> /* findkeymap() */ -#include <lct/ksyms.h> -#include <lct/modifiers.h> - -int verbose; -void lk_push(void); /* in analyze.c */ -int lk_pop(void); /* idem */ -extern int infile_stack_ptr; /* idem */ - -#ifndef KT_LETTER -#define KT_LETTER KT_LATIN -#endif - -#undef yywrap -int yywrap(void); - -/* externs from analyse.l */ -extern int line_nr, rvalct; -extern struct kbsentry kbs_buf; -extern FILE* yyin; - -/* name to use in error messages */ -char *progname; - -/* give error message if using unicode compose strings? */ -int unicode_warning = 0; -/* What keymaps are we defining? */ -char defining[MAX_NR_KEYMAPS]; -char keymaps_line_seen = 0; -int max_keymap = 0; /* from here on, defining[] is false */ -int alt_is_meta = 0; - -/* the kernel structures we want to set or print */ -u_short *key_map[MAX_NR_KEYMAPS]; -char *func_table[MAX_NR_FUNC]; -struct kbdiacr accent_table[MAX_DIACR]; -unsigned int accent_table_size = 0; - -char key_is_constant[NR_KEYS]; -char *keymap_was_set[MAX_NR_KEYMAPS]; -char func_buf[4096]; /* should be allocated dynamically */ -char *fp = func_buf; - -#define U(x) ((x) ^ 0xf000) - -#undef ECHO - -static void addmap(int map, int explicit); -static void addkey(int index, int table, int keycode); -static void addfunc(struct kbsentry kbs_buf); -static void killkey(int index, int table); -static void compose(int diacr, int base, int res); -static void do_constant(void); -static void do_constant_key (int, u_short); -static void loadkeys(void); -static void mktable(void); -static void strings_as_usual(void); -static void keypad_as_usual(char *keyboard); -static void function_keys_as_usual(char *keyboard); -static void consoles_as_usual(char *keyboard); -static void compose_as_usual(char *charset); -void lkfatal(char *); -void lkfatal0(char *, int); -void lkfatal1(char *, char *); -extern char *xstrdup(char *); -int key_buf[MAX_NR_KEYMAPS]; -int mod; -int unicode_used; -int private_error_ct = 0; -%} - -%% -keytable : - | keytable line - ; -line : EOL - | charsetline - | altismetaline - | usualstringsline - | usualcomposeline - | keymapline - | fullline - | singleline - | strline - | compline - ; -charsetline : CHARSET STRLITERAL EOL - { - set_charset(kbs_buf.kb_string); - } - ; -altismetaline : ALT_IS_META EOL - { - alt_is_meta = 1; - } - ; -usualstringsline: STRINGS AS USUAL EOL - { - strings_as_usual(); - } - ; -usualcomposeline: COMPOSE AS USUAL FOR STRLITERAL EOL - { - compose_as_usual(kbs_buf.kb_string); - } - | COMPOSE AS USUAL EOL - { - compose_as_usual(0); - } - ; -keymapline : KEYMAPS range EOL - { - keymaps_line_seen = 1; - } - ; -range : range COMMA range0 - | range0 - ; -range0 : NUMBER DASH NUMBER - { - int i; - for (i = $1; i<= $3; i++) - addmap(i,1); - } - | NUMBER - { - addmap($1,1); - } - ; -strline : STRING LITERAL EQUALS STRLITERAL EOL - { - if (KTYP($2) != KT_FN) - lkfatal1("'%s' is not a function key symbol", - syms[KTYP($2)].table[KVAL($2)]); - kbs_buf.kb_func = KVAL($2); - addfunc(kbs_buf); - } - ; -compline : COMPOSE CCHAR CCHAR TO CCHAR EOL - { - compose($2, $3, $5); - } - | COMPOSE CCHAR CCHAR TO rvalue EOL - { - compose($2, $3, $5); - } - ; -singleline : { mod = 0; } - modifiers KEYCODE NUMBER EQUALS rvalue EOL - { - addkey($4, mod, $6); - } - | PLAIN KEYCODE NUMBER EQUALS rvalue EOL - { - addkey($4, 0, $6); - } - ; -modifiers : modifiers modifier - | modifier - ; -modifier : SHIFT { mod |= M_SHIFT; } - | CONTROL { mod |= M_CTRL; } - | ALT { mod |= M_ALT; } - | ALTGR { mod |= M_ALTGR; } - | SHIFTL { mod |= M_SHIFTL; } - | SHIFTR { mod |= M_SHIFTR; } - | CTRLL { mod |= M_CTRLL; } - | CTRLR { mod |= M_CTRLR; } - ; -fullline : KEYCODE NUMBER EQUALS rvalue0 EOL - { - int i, j; - - if (rvalct == 1) { - /* Some files do not have a keymaps line, and - we have to wait until all input has been read - before we know which maps to fill. */ - key_is_constant[$2] = 1; - - /* On the other hand, we now have include files, - and it should be possible to override lines - from an include file. So, kill old defs. */ - for (j = 0; j < max_keymap; j++) - if (defining[j]) - killkey($2, j); - } - if (keymaps_line_seen) { - i = 0; - for (j = 0; j < max_keymap; j++) - if (defining[j]) { - if (rvalct != 1 || i == 0) - addkey($2, j, (i < rvalct) ? key_buf[i] : K_HOLE); - i++; - } - if (i < rvalct) - lkfatal0("too many (%d) entries on one line", rvalct); - } else - for (i = 0; i < rvalct; i++) - addkey($2, i, key_buf[i]); - } - ; - -rvalue0 : - | rvalue1 rvalue0 - ; -rvalue1 : rvalue - { - if (rvalct >= MAX_NR_KEYMAPS) - lkfatal(_("too many keydefinitions on one line")); - key_buf[rvalct++] = $1; - } - ; -rvalue : NUMBER - {$$=$1;} - | UNUMBER - {$$=($1 ^ 0xf000); unicode_used=1;} - | PLUS NUMBER - {$$=K(KT_LETTER, KVAL($2));} - | LITERAL - {$$=$1;} - | PLUS LITERAL - {$$=K(KT_LETTER, KVAL($2));} - ; -%% - -void usage() -{ - printf(_("Usage: %s [option...] [mapfile...]\n"), progname); - OPTIONS_ARE(); - OPT("-c --clearcompose ", _("clear kernel compose table")); - OPT("-d --default ", _("load default keymap file")); /* FIXME: should print DEFKMAP */ - OPT("-m --mktable ", _("output a \"defkeymap.c\" to stdout")); - OPT("-s --clearstrings ", _("clear kernel string table")); - OPT("-q --quiet ", _("be silent")); - OPT("-v --verbose ", _("report the changes")); - OPT("-v --verbose ", _("report more changes")); - - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - -char **args; -int optd = 0; -int optm = 0; -int opts = 0; -int quiet = 0; -int nocompose = 0; - -int main(int argc, char *argv[]) -{ - const char *short_opts = "cdhmsqvV"; - const struct option long_opts[] = { - { "clearcompose", no_argument, NULL, 'c' }, - { "default", no_argument, NULL, 'd' }, - { "help", no_argument, NULL, 'h' }, - { "mktable", no_argument, NULL, 'm' }, - { "clearstrings", no_argument, NULL, 's' }, - { "quiet", no_argument, NULL, 'q' }, - { "verbose", no_argument, NULL, 'v' }, - { "version", no_argument, NULL, 'V' }, - { NULL, 0, NULL, 0 } - }; - int c; - sigset_t sigset, old_sigset; - - setuplocale(); - - progname = strip_path(argv[0]); - - while ((c = getopt_long(argc, argv, - short_opts, long_opts, NULL)) != EOF) - { - switch (c) - { - case 'c': - nocompose = 1; - break; - case 'd': - optd = 1; - break; - case 'm': - optm = 1; - break; - case 's': - opts = 1; - break; - case 'q': - quiet = 1; - break; - case 'v': - verbose++; - break; - case 'V': - version(progname); - exit(0); - case 'h': - usage(); - exit (0); - case '?': - badusage(NULL); - } - } - - args = argv + optind - 1; - unicode_used = 0; - /* set up the first input file, if any */ - yywrap(); - /* block SIGCHLD or it would break the scanner */ - sigemptyset (&sigset); - sigaddset (&sigset, SIGCHLD); - sigprocmask (SIG_BLOCK, &sigset, &old_sigset); - if (yyparse() || private_error_ct) - { - fprintf(stderr, _("syntax error in map file\n")); - if(!optm) - fprintf(stderr, _("key bindings not changed\n")); - exit(1); - } - /* restore mask */ - sigprocmask (SIG_SETMASK, &old_sigset, NULL); - do_constant(); - if(optm) - mktable(); - else - loadkeys(); - exit(0); -} - -char pathname[1024]; -char *filename; -int line_nr = 1; - -int yyerror(char *s) -{ - fprintf(stderr, "%s:%d: %s\n", pathname, line_nr, s); - private_error_ct++; - return(0); -} - -/* fatal errors - change to varargs next time */ -void lkfatal(char *s) -{ - fprintf(stderr, "%s: %s:%d: %s\n", progname, filename, line_nr, s); - exit(1); -} - -void lkfatal0(char *s, int d) -{ - fprintf(stderr, "%s: %s:%d: ", progname, filename, line_nr); - fprintf(stderr, s, d); - fprintf(stderr, "\n"); - exit(1); -} - -void lkfatal1(char *s, char *s2) -{ - fprintf(stderr, "%s: %s:%d: ", progname, filename, line_nr); - fprintf(stderr, s, s2); - fprintf(stderr, "\n"); - exit(1); -} - -/* String file handling - flex-specific. */ -int in_string = 0; - -void lk_scan_string(char *s) -{ - lk_push(); - in_string = 1; - yy_scan_string(s); -} - -void lk_end_string(void) -{ - lk_pop(); - in_string = 0; -} - -#undef yywrap -int yywrap(void) -{ - FILE *f; - static int first_file = 1; /* ugly kludge flag */ - - if (in_string) - { - lk_end_string(); - return 0; - } - - if (infile_stack_ptr > 0) - { - lk_pop(); - return 0; - } - - line_nr = 1; - if (optd) { - /* first read default map */ - optd = 0; - if((f = findkeymap(DEFKMAP, pathname, sizeof(pathname), stdin, NULL)) == NULL) - { - perror("findkeymap"); - fprintf(stderr, _("Cannot find %s\n"), DEFKMAP); - exit(1); - } - goto gotf; - } - if (*args) - args++; - if (!*args) - return 1; - if (!strcmp(*args, "-")) - { - f = stdin; - strcpy(pathname, "<stdin>"); - } - else if ((f = findkeymap(*args, pathname, sizeof(pathname), stdin, NULL)) == NULL) - { - perror("findkeymap"); - fprintf(stderr, _("cannot open file %s\n"), *args); - exit(1); - } - /* - Can't use yyrestart if this is called before entering yyparse() - I think assigning directly to yyin isn't necessarily safe in - other situations, hence the flag. - */ -gotf: - filename = xstrdup(pathname); - if (!quiet) - fprintf(stderr, "Loading %s\n", pathname); - if (first_file) - { - yyin = f; - first_file = 0; - } - else - yyrestart(f); - return 0; -} - -static void addmap(int i, int explicit) -{ - if (i < 0 || i >= MAX_NR_KEYMAPS) - lkfatal0(_("addmap called with bad index %d"), i); - - if (!defining[i]) - { - if (keymaps_line_seen && !explicit) - lkfatal0(_("adding map %d violates explicit keymaps line)"), i); - - defining[i] = 1; - if (max_keymap <= i) - max_keymap = i+1; - } -} - -/* unset a key */ -static void killkey(int index, int table) -{ - /* roughly: addkey(index, table, K_HOLE); */ - - if (index < 0 || index >= NR_KEYS) - lkfatal0(_("killkey called with bad index %d"), index); - if (table < 0 || table >= MAX_NR_KEYMAPS) - lkfatal0(_("killkey called with bad table %d"), table); - if (key_map[table]) - (key_map[table])[index] = K_HOLE; - if (keymap_was_set[table]) - (keymap_was_set[table])[index] = 0; -} - -static void addkey(int index, int table, int keycode) -{ - int i; - - if (keycode == -1) - return; - if (index < 0 || index >= NR_KEYS) - lkfatal0(_("addkey called with bad index %d"), index); - if (table < 0 || table >= MAX_NR_KEYMAPS) - lkfatal0(_("addkey called with bad table %d"), table); - - if (!defining[table]) - addmap(table, 0); - if (!key_map[table]) - { - key_map[table] = (u_short *)xmalloc(NR_KEYS * sizeof(u_short)); - for (i = 0; i < NR_KEYS; i++) - (key_map[table])[i] = K_HOLE; - } - if (!keymap_was_set[table]) - { - keymap_was_set[table] = (char *) xmalloc(NR_KEYS); - for (i = 0; i < NR_KEYS; i++) - (keymap_was_set[table])[i] = 0; - } - - if (alt_is_meta && keycode == K_HOLE && (keymap_was_set[table])[index]) - return; - - (key_map[table])[index] = keycode; - (keymap_was_set[table])[index] = 1; - - if (alt_is_meta) - { - int alttable = table | M_ALT; - int type = KTYP(keycode); - int val = KVAL(keycode); - - if (alttable != table && defining[alttable] && - (!keymap_was_set[alttable] || - !(keymap_was_set[alttable])[index]) && - (type == KT_LATIN || type == KT_LETTER) && val < 128) - addkey(index, alttable, K(KT_META, val)); - } -} - -static void addfunc(struct kbsentry kbs) -{ - int sh, i; - char *p, *q, *r; - - if (kbs.kb_func >= MAX_NR_FUNC) - { - fprintf(stderr, _("%s: addfunc called with bad func %d\n"), - progname, kbs.kb_func); - exit(1); - } - if ((q = func_table[kbs.kb_func])) /* throw out old previous def */ - { - sh = strlen(q) + 1; - p = q + sh; - while (p < fp) - *q++ = *p++; - fp -= sh; - } - p = func_buf; /* find place for new def */ - for (i = 0; i < kbs.kb_func; i++) - if (func_table[i]) - { - p = func_table[i]; - while(*p++); - } - func_table[kbs.kb_func] = p; - sh = strlen(kbs.kb_string) + 1; - if (fp + sh > func_buf + sizeof(func_buf)) - { - fprintf(stderr, _("%s: addfunc: func_buf overflow\n"), progname); - exit(1); - } - q = fp; - fp += sh; - r = fp; - while (q > p) - *--r = *--q; - strcpy(p, kbs.kb_string); - for (i++; i < MAX_NR_FUNC; i++) - if (func_table[i]) - func_table[i] += sh; -} - -static int unicode_problem(void) -{ - /* Return TRUE if this kernel cannot handle unicode compose chars - * properly; - * (Currently struct kbdiacr has 3 chars: { base, diacr, result}, - * But result needs to be a string for proper Unicode handling) - */ - return 1; -} - -static void compose(int diacr, int base, int res) -{ - struct kbdiacr *p; - if (accent_table_size == MAX_DIACR) - { - fprintf(stderr, _("compose table overflow\n")); - exit(1); - } - p = &accent_table[accent_table_size++]; - p->diacr = diacr; - p->base = base; - p->result = res; - if (unicode_problem() && res > 0xFF) { - fprintf(stderr, - _("Warning: Compose char %4x ('%c','%c') > 0xFF will be truncated to %2x\n"), - res, p->base, p->diacr, p->result); - if (!unicode_warning) { - fprintf(stderr,_(" (Linux kernel < 2.3.X can't handle unicode compose chars properly)\n")); - unicode_warning = 1; - } - } -} - -static int defkeys(int fd) -{ - struct kbentry ke; - int ct = 0; - int i,j,fail; - int oldm; - - if (unicode_used) - { - /* Switch keyboard mode for a moment - - do not complain about errors. - Do not attempt a reset if the change failed. */ - if (ioctl(fd, KDGKBMODE, &oldm) - || (oldm != K_UNICODE && ioctl(fd, KDSKBMODE, K_UNICODE))) - oldm = K_UNICODE; - } - - for(i=0; i<MAX_NR_KEYMAPS; i++) - { - if (key_map[i]) - { - for(j=0; j<NR_KEYS; j++) - { - if ((keymap_was_set[i])[j]) - { - ke.kb_index = j; - ke.kb_table = i; - ke.kb_value = (key_map[i])[j]; - - fail = ioctl(fd, KDSKBENT, (unsigned long)&ke); - if (fail) - { - if (errno == EPERM) - { - fprintf(stderr, _("Keymap %d: Permission denied\n"), i); - j = NR_KEYS; - continue; - } - perror("KDSKBENT"); - } - else - ct++; - if(verbose) - printf(_("keycode %d, table %d = %d%s\n"), j, i, - (key_map[i])[j], fail ? _(" FAILED") : ""); - else if (fail) - fprintf(stderr, _("failed to bind key %d to value %d\n"), - j, (key_map[i])[j]); - } - } - } - else if (keymaps_line_seen && !defining[i]) - { - /* deallocate keymap */ - ke.kb_index = 0; - ke.kb_table = i; - ke.kb_value = K_NOSUCHMAP; - - if (verbose > 1) - printf(_("deallocate keymap %d\n"), i); - - if(ioctl(fd, KDSKBENT, (unsigned long)&ke)) - { - if (errno != EINVAL) - { - perror("KDSKBENT"); - fprintf(stderr, - _("%s: could not deallocate keymap %d\n"), - progname, i); - exit(1); - } - /* probably an old kernel */ - /* clear keymap by hand */ - for (j = 0; j < NR_KEYS; j++) - { - ke.kb_index = j; - ke.kb_table = i; - ke.kb_value = K_HOLE; - if(ioctl(fd, KDSKBENT, (unsigned long)&ke)) - { - if (errno == EINVAL && i >= 16) - break; /* old kernel */ - perror("KDSKBENT"); - fprintf(stderr, - _("%s: cannot deallocate or clear keymap\n"), - progname); - exit(1); - } - } - } - } - } - - if(unicode_used && oldm != K_UNICODE) - { - if (ioctl(fd, KDSKBMODE, oldm)) - { - fprintf(stderr, _("%s: failed to restore keyboard mode\n"), - progname); - } - fprintf(stderr, _("%s: warning: this map uses Unicode symbols\n" - " (perhaps you want to do `kbd_mode -u'?)\n"), - progname); - } - return ct; -} - -static char * ostr(char *s) -{ - int lth = strlen(s); - char *ns0 = (char*)xmalloc(4*lth + 1); - char *ns = ns0; - - while(*s) - { - switch(*s) - { - case '\n': - *ns++ = '\\'; - *ns++ = 'n'; - break; - case '\033': - *ns++ = '\\'; - *ns++ = '0'; - *ns++ = '3'; - *ns++ = '3'; - break; - default: - *ns++ = *s; - } - s++; - } - *ns = 0; - return ns0; -} - -static int deffuncs(int fd) -{ - int i, ct = 0; - char *p; - - for (i = 0; i < MAX_NR_FUNC; i++) - { - kbs_buf.kb_func = i; - if ((p = func_table[i])) - { - strcpy(kbs_buf.kb_string, p); - if (ioctl(fd, KDSKBSENT, (unsigned long)&kbs_buf)) - fprintf(stderr, _("failed to bind string '%s' to function %s\n"), - ostr(kbs_buf.kb_string), syms[KT_FN].table[kbs_buf.kb_func]); - else - ct++; - } - else if (opts) - { - kbs_buf.kb_string[0] = 0; - if (ioctl(fd, KDSKBSENT, (unsigned long)&kbs_buf)) - fprintf(stderr, _("failed to clear string %s\n"), - syms[KT_FN].table[kbs_buf.kb_func]); - else - ct++; - } - } - return ct; -} - -static int defdiacs(int fd) -{ - struct kbdiacrs kd; - unsigned i; - - kd.kb_cnt = accent_table_size; - if (kd.kb_cnt > MAX_DIACR) - { - kd.kb_cnt = MAX_DIACR; - fprintf(stderr, _("too many compose definitions\n")); - } - for (i = 0; i < kd.kb_cnt; i++) - kd.kbdiacr[i] = accent_table[i]; - - if(ioctl(fd, KDSKBDIACR, (unsigned long) &kd)) - { - fprintf(stderr, _("KDSKBDIACR failed\n")); - perror(""); - exit(1); - } - return kd.kb_cnt; -} - -void do_constant_key (int i, u_short key) -{ - int typ, val, j; - - typ = KTYP(key); - val = KVAL(key); - if ((typ == KT_LATIN || typ == KT_LETTER) && - ((val >= 'a' && val <= 'z') || - (val >= 'A' && val <= 'Z'))) - { - u_short defs[16]; - defs[0] = K(KT_LETTER, val); - defs[1] = K(KT_LETTER, val ^ 32); - defs[2] = defs[0]; - defs[3] = defs[1]; - for(j=4; j<8; j++) - defs[j] = K(KT_LATIN, val & ~96); - for(j=8; j<16; j++) - defs[j] = K(KT_META, KVAL(defs[j-8])); - for(j=0; j<max_keymap; j++) - { - if (!defining[j]) - continue; - if (j > 0 && - keymap_was_set[j] && (keymap_was_set[j])[i]) - continue; - addkey(i, j, defs[j%16]); - } - } - else - { - /* do this also for keys like Escape, - as promised in the man page */ - for (j=1; j<max_keymap; j++) - if(defining[j] && - (!(keymap_was_set[j]) || !(keymap_was_set[j])[i])) - addkey(i, j, key); - } -} - -static void do_constant (void) -{ - int i, r0 = 0; - - if (keymaps_line_seen) - while (r0 < max_keymap && !defining[r0]) - r0++; - - for (i=0; i<NR_KEYS; i++) - { - if (key_is_constant[i]) - { - u_short key; - if (!key_map[r0]) - lkfatal(_("impossible error in do_constant")); - key = (key_map[r0])[i]; - do_constant_key (i, key); - } - } -} - -static void loadkeys (void) -{ - int fd; - int keyct, funcct, diacct; - - if (-1 == (fd = get_console_fd(NULL))) - exit (1); - - keyct = defkeys(fd); - funcct = deffuncs(fd); - if (accent_table_size > 0 || nocompose) - diacct = defdiacs(fd); - if (verbose) - { - printf(_("\nChanged %d key%s and %d string%s.\n"), - keyct, (keyct == 1) ? "" : "s", - funcct, (funcct == 1) ? "" : "s"); - if (accent_table_size > 0 || nocompose) - printf(_("Loaded %d compose definition%s.\n"), - diacct, (diacct == 1) ? "" : "s"); - else - printf(_("(No change in compose definitions.)\n")); - } -} - -static void strings_as_usual(void) -{ - /* - * 28 strings, mostly inspired by the VT100 family - */ - char *stringvalues[30] = { - /* F1 .. F20 */ - "\033[[A", "\033[[B", "\033[[C", "\033[[D", "\033[[E", - "\033[17~", "\033[18~", "\033[19~", "\033[20~", "\033[21~", - "\033[23~", "\033[24~", "\033[25~", "\033[26~", - "\033[28~", "\033[29~", - "\033[31~", "\033[32~", "\033[33~", "\033[34~", - /* Find, Insert, Remove, Select, Prior */ - "\033[1~", "\033[2~", "\033[3~", "\033[4~", "\033[5~", - /* Next, Macro, Help, Do, Pause */ - "\033[6~", "\033[M", 0, 0, "\033[P" - }; - int i; - for (i=0; i<30; i++) - if(stringvalues[i]) - { - struct kbsentry ke; - ke.kb_func = i; - strncpy(ke.kb_string, stringvalues[i], sizeof(ke.kb_string)); - ke.kb_string[sizeof(ke.kb_string)-1] = 0; - addfunc(ke); - } -} - -static void compose_as_usual(char *charset) -{ - if (charset && strcmp(charset, "iso-8859-1")) - { - fprintf(stderr, _("loadkeys: don't know how to compose for %s\n"), - charset); - exit(1); - } - else - { - struct ccc { - char c1, c2, c3; - } def_latin1_composes[68] = { - { '`', 'A', 0300 }, { '`', 'a', 0340 }, - { '\'', 'A', 0301 }, { '\'', 'a', 0341 }, - { '^', 'A', 0302 }, { '^', 'a', 0342 }, - { '~', 'A', 0303 }, { '~', 'a', 0343 }, - { '"', 'A', 0304 }, { '"', 'a', 0344 }, - { 'O', 'A', 0305 }, { 'o', 'a', 0345 }, - { '0', 'A', 0305 }, { '0', 'a', 0345 }, - { 'A', 'A', 0305 }, { 'a', 'a', 0345 }, - { 'A', 'E', 0306 }, { 'a', 'e', 0346 }, - { ',', 'C', 0307 }, { ',', 'c', 0347 }, - { '`', 'E', 0310 }, { '`', 'e', 0350 }, - { '\'', 'E', 0311 }, { '\'', 'e', 0351 }, - { '^', 'E', 0312 }, { '^', 'e', 0352 }, - { '"', 'E', 0313 }, { '"', 'e', 0353 }, - { '`', 'I', 0314 }, { '`', 'i', 0354 }, - { '\'', 'I', 0315 }, { '\'', 'i', 0355 }, - { '^', 'I', 0316 }, { '^', 'i', 0356 }, - { '"', 'I', 0317 }, { '"', 'i', 0357 }, - { '-', 'D', 0320 }, { '-', 'd', 0360 }, - { '~', 'N', 0321 }, { '~', 'n', 0361 }, - { '`', 'O', 0322 }, { '`', 'o', 0362 }, - { '\'', 'O', 0323 }, { '\'', 'o', 0363 }, - { '^', 'O', 0324 }, { '^', 'o', 0364 }, - { '~', 'O', 0325 }, { '~', 'o', 0365 }, - { '"', 'O', 0326 }, { '"', 'o', 0366 }, - { '/', 'O', 0330 }, { '/', 'o', 0370 }, - { '`', 'U', 0331 }, { '`', 'u', 0371 }, - { '\'', 'U', 0332 }, { '\'', 'u', 0372 }, - { '^', 'U', 0333 }, { '^', 'u', 0373 }, - { '"', 'U', 0334 }, { '"', 'u', 0374 }, - { '\'', 'Y', 0335 }, { '\'', 'y', 0375 }, - { 'T', 'H', 0336 }, { 't', 'h', 0376 }, - { 's', 's', 0337 }, { '"', 'y', 0377 }, - { 's', 'z', 0337 }, { 'i', 'j', 0377 } - }; - int i; - - for(i=0; i<68; i++) - { - struct ccc p = def_latin1_composes[i]; - compose(p.c1, p.c2, p.c3); - } - } -} - -/* - * mktable.c - * - */ -static char *modifiers[8] = { - "shift", "altgr", "ctrl", "alt", "shl", "shr", "ctl", "ctr" -}; - -static char *mk_mapname(char mod) -{ - static char buf[60]; - int i; - - if (!mod) - return "plain"; - buf[0] = 0; - for (i=0; i<8; i++) - if (mod & (1<<i)) - { - if (buf[0]) - strcat(buf, "_"); - strcat(buf, modifiers[i]); - } - return buf; -} - - -static void outchar (unsigned char c, int comma) -{ - printf("'"); - printf((c == '\'' || c == '\\') ? "\\%c" : isgraph(c) ? "%c" - : "\\%03o", c); - printf(comma ? "', " : "'"); -} - -static void mktable () -{ - int i, imax, j; - - /* struct kbsentry kbs;*/ - u_char *p; - int maxfunc; - unsigned int keymap_count = 0; - - printf("\n" - "/* Do not edit this file! It was automatically generated by */\n" - "/* %s --mktable defkeymap.map > defkeymap.c */\n\n" - "#include <linux/types.h>\n" - "#include <linux/keyboard.h>\n" - "#include <linux/kd.h>\n\n" - , progname); - for (i = 0; i < MAX_NR_KEYMAPS; i++) - if (key_map[i]) - { - keymap_count++; - if (i) - printf("static "); - printf("u_short %s_map[NR_KEYS] = {", mk_mapname(i)); - for (j = 0; j < NR_KEYS; j++) - { - if (!(j % 8)) - printf("\n"); - printf("\t0x%04x,", U((key_map[i])[j])); - } - printf("\n};\n\n"); - } - - for (imax = MAX_NR_KEYMAPS-1; imax > 0; imax--) - if (key_map[imax]) - break; - printf("ushort *key_maps[MAX_NR_KEYMAPS] = {"); - for (i = 0; i <= imax; i++) - { - printf((i%4) ? " " : "\n\t"); - if (key_map[i]) - printf("%s_map,", mk_mapname(i)); - else - printf("0,"); - } - if (imax < MAX_NR_KEYMAPS-1) - printf("\t0"); - printf("\n};\n\nunsigned int keymap_count = %d;\n\n", keymap_count); - - printf("\n" - "/*\n" - " * Philosophy: most people do not define more strings, but they who do\n" - " * often want quite a lot of string space. So, we statically allocate\n" - " * the default and allocate dynamically in chunks of 512 bytes.\n" - " */\n" - "\n"); - for (maxfunc = MAX_NR_FUNC; maxfunc; maxfunc--) - if(func_table[maxfunc-1]) - break; - - printf("char func_buf[] = {\n"); - for (i = 0; i < maxfunc; i++) - { - p = func_table[i]; - if (p) - { - printf("\t"); - for ( ; *p; p++) - outchar(*p, 1); - printf("0, \n"); - } - } - if (!maxfunc) - printf("\t0\n"); - printf("};\n\n"); - - printf("\n" - "char *funcbufptr = func_buf;\n" - "int funcbufsize = sizeof(func_buf);\n" - "int funcbufleft = 0; /* space left */\n" - "\n"); - - printf("char *func_table[MAX_NR_FUNC] = {\n"); - for (i = 0; i < maxfunc; i++) - { - if (func_table[i]) - printf("\tfunc_buf + %d,\n", func_table[i] - func_buf); - else - printf("\t0,\n"); - } - if (maxfunc < MAX_NR_FUNC) - printf("\t0,\n"); - printf("};\n"); - - printf("\nstruct kbdiacr accent_table[MAX_DIACR] = {\n"); - for (i = 0; i < accent_table_size; i++) - { - printf("\t{"); - outchar(accent_table[i].diacr, 1); - outchar(accent_table[i].base, 1); - outchar(accent_table[i].result, 0); - printf("},"); - if(i%2) printf("\n"); - } - if(i%2) printf("\n"); - printf("};\n\n"); - printf("unsigned int accent_table_size = %d;\n", - accent_table_size); - - exit(0); -} - - diff -Nru console-tools-0.2.3/kbdtools/Makefile.am console-tools-0.2.3/kbdtools/Makefile.am --- console-tools-0.2.3/kbdtools/Makefile.am 1999-04-08 21:29:40.000000000 +0000 +++ console-tools-0.2.3/kbdtools/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -# -*- makefile -*- - -AUTOMAKE_OPTIONS = foreign - -AnalyzeDefs = -DDATADIR=\"$(datadir)\" -DKEYMAPDIR=\"$(KEYMAPDIR)\" - -INCLUDES = -I$(top_srcdir)/include $(AnalyzeDefs) - - -bin_PROGRAMS = @LOADKEYS@ dumpkeys showkey setleds setmetamode kbd_mode\ - @KEYCODES@ - -EXTRA_PROGRAMS = getkeycodes setkeycodes loadkeys - -loadkeys_SOURCES = loadkeys.y analyze.l - -YFLAGS = -d -LDADD = ../lib/libctlocal.a ../lib/libctutils.la ../lib/libconsole.la - -loadkeys_LDADD = ../lib/libcfont.la $(LDADD) @LEXLIB@ - -bin_SCRIPTS = mk_modmap - -noinst_HEADERS = loadkeys.h - -EXTRA_DIST = $(bin_SCRIPTS) diff -Nru console-tools-0.2.3/kbdtools/Makefile.in console-tools-0.2.3/kbdtools/Makefile.in --- console-tools-0.2.3/kbdtools/Makefile.in 1999-10-25 20:58:09.000000000 +0000 +++ console-tools-0.2.3/kbdtools/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,472 +0,0 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# -*- makefile -*- - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AS = @AS@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -COMPAT = @COMPAT@ -DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ -FONTDIR = @FONTDIR@ -GENCAT = @GENCAT@ -GMOFILES = @GMOFILES@ -GMSGFMT = @GMSGFMT@ -GT_NO = @GT_NO@ -GT_YES = @GT_YES@ -INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ -INSTOBJEXT = @INSTOBJEXT@ -INTLDEPS = @INTLDEPS@ -INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -KEYCODES = @KEYCODES@ -KEYMAPDIR = @KEYMAPDIR@ -LD = @LD@ -LEX = @LEX@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LOADKEYS = @LOADKEYS@ -MAKEINFO = @MAKEINFO@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -NM = @NM@ -OBJDUMP = @OBJDUMP@ -PACKAGE = @PACKAGE@ -POFILES = @POFILES@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -RESIZECONS = @RESIZECONS@ -TRANSDIR = @TRANSDIR@ -UNICODEDATA = @UNICODEDATA@ -UNICODELISTS = @UNICODELISTS@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -VIDEOMODEDIR = @VIDEOMODEDIR@ -YACC = @YACC@ -l = @l@ -translit = @translit@ - -AUTOMAKE_OPTIONS = foreign - -AnalyzeDefs = -DDATADIR=\"$(datadir)\" -DKEYMAPDIR=\"$(KEYMAPDIR)\" - -INCLUDES = -I$(top_srcdir)/include $(AnalyzeDefs) - -bin_PROGRAMS = @LOADKEYS@ dumpkeys showkey setleds setmetamode kbd_mode @KEYCODES@ - - -EXTRA_PROGRAMS = getkeycodes setkeycodes loadkeys - -loadkeys_SOURCES = loadkeys.y analyze.l - -YFLAGS = -d -LDADD = ../lib/libctlocal.a ../lib/libctutils.la ../lib/libconsole.la - -loadkeys_LDADD = ../lib/libcfont.la $(LDADD) @LEXLIB@ - -bin_SCRIPTS = mk_modmap - -noinst_HEADERS = loadkeys.h - -EXTRA_DIST = $(bin_SCRIPTS) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = -PROGRAMS = $(bin_PROGRAMS) - - -DEFS = @DEFS@ -I. -I$(srcdir) -I.. -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -getkeycodes_SOURCES = getkeycodes.c -getkeycodes_OBJECTS = getkeycodes.o -getkeycodes_LDADD = $(LDADD) -getkeycodes_DEPENDENCIES = ../lib/libctlocal.a ../lib/libctutils.la \ -../lib/libconsole.la -getkeycodes_LDFLAGS = -setkeycodes_SOURCES = setkeycodes.c -setkeycodes_OBJECTS = setkeycodes.o -setkeycodes_LDADD = $(LDADD) -setkeycodes_DEPENDENCIES = ../lib/libctlocal.a ../lib/libctutils.la \ -../lib/libconsole.la -setkeycodes_LDFLAGS = -loadkeys_OBJECTS = loadkeys.o analyze.o -loadkeys_DEPENDENCIES = ../lib/libcfont.la ../lib/libctlocal.a \ -../lib/libctutils.la ../lib/libconsole.la -loadkeys_LDFLAGS = -dumpkeys_SOURCES = dumpkeys.c -dumpkeys_OBJECTS = dumpkeys.o -dumpkeys_LDADD = $(LDADD) -dumpkeys_DEPENDENCIES = ../lib/libctlocal.a ../lib/libctutils.la \ -../lib/libconsole.la -dumpkeys_LDFLAGS = -showkey_SOURCES = showkey.c -showkey_OBJECTS = showkey.o -showkey_LDADD = $(LDADD) -showkey_DEPENDENCIES = ../lib/libctlocal.a ../lib/libctutils.la \ -../lib/libconsole.la -showkey_LDFLAGS = -setleds_SOURCES = setleds.c -setleds_OBJECTS = setleds.o -setleds_LDADD = $(LDADD) -setleds_DEPENDENCIES = ../lib/libctlocal.a ../lib/libctutils.la \ -../lib/libconsole.la -setleds_LDFLAGS = -setmetamode_SOURCES = setmetamode.c -setmetamode_OBJECTS = setmetamode.o -setmetamode_LDADD = $(LDADD) -setmetamode_DEPENDENCIES = ../lib/libctlocal.a ../lib/libctutils.la \ -../lib/libconsole.la -setmetamode_LDFLAGS = -kbd_mode_SOURCES = kbd_mode.c -kbd_mode_OBJECTS = kbd_mode.o -kbd_mode_LDADD = $(LDADD) -kbd_mode_DEPENDENCIES = ../lib/libctlocal.a ../lib/libctutils.la \ -../lib/libconsole.la -kbd_mode_LDFLAGS = -SCRIPTS = $(bin_SCRIPTS) - -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LEXLIB = @LEXLIB@ -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -HEADERS = $(noinst_HEADERS) - -DIST_COMMON = Makefile.am Makefile.in analyze.c loadkeys.c - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -SOURCES = getkeycodes.c setkeycodes.c $(loadkeys_SOURCES) dumpkeys.c showkey.c setleds.c setmetamode.c kbd_mode.c -OBJECTS = getkeycodes.o setkeycodes.o $(loadkeys_OBJECTS) dumpkeys.o showkey.o setleds.o setmetamode.o kbd_mode.o - -all: all-redirect -.SUFFIXES: -.SUFFIXES: .S .c .l .lo .o .s .y -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps kbdtools/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -mostlyclean-binPROGRAMS: - -clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) - -distclean-binPROGRAMS: - -maintainer-clean-binPROGRAMS: - -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - if test -f $$p; then \ - echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ - $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - list='$(bin_PROGRAMS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ - done - -.c.o: - $(COMPILE) -c $< - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< - -mostlyclean-compile: - -rm -f *.o core *.core - -clean-compile: - -distclean-compile: - -rm -f *.tab.c - -maintainer-clean-compile: - -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -maintainer-clean-libtool: - -getkeycodes: $(getkeycodes_OBJECTS) $(getkeycodes_DEPENDENCIES) - @rm -f getkeycodes - $(LINK) $(getkeycodes_LDFLAGS) $(getkeycodes_OBJECTS) $(getkeycodes_LDADD) $(LIBS) - -setkeycodes: $(setkeycodes_OBJECTS) $(setkeycodes_DEPENDENCIES) - @rm -f setkeycodes - $(LINK) $(setkeycodes_LDFLAGS) $(setkeycodes_OBJECTS) $(setkeycodes_LDADD) $(LIBS) - -loadkeys: $(loadkeys_OBJECTS) $(loadkeys_DEPENDENCIES) - @rm -f loadkeys - $(LINK) $(loadkeys_LDFLAGS) $(loadkeys_OBJECTS) $(loadkeys_LDADD) $(LIBS) - -dumpkeys: $(dumpkeys_OBJECTS) $(dumpkeys_DEPENDENCIES) - @rm -f dumpkeys - $(LINK) $(dumpkeys_LDFLAGS) $(dumpkeys_OBJECTS) $(dumpkeys_LDADD) $(LIBS) - -showkey: $(showkey_OBJECTS) $(showkey_DEPENDENCIES) - @rm -f showkey - $(LINK) $(showkey_LDFLAGS) $(showkey_OBJECTS) $(showkey_LDADD) $(LIBS) - -setleds: $(setleds_OBJECTS) $(setleds_DEPENDENCIES) - @rm -f setleds - $(LINK) $(setleds_LDFLAGS) $(setleds_OBJECTS) $(setleds_LDADD) $(LIBS) - -setmetamode: $(setmetamode_OBJECTS) $(setmetamode_DEPENDENCIES) - @rm -f setmetamode - $(LINK) $(setmetamode_LDFLAGS) $(setmetamode_OBJECTS) $(setmetamode_LDADD) $(LIBS) - -kbd_mode: $(kbd_mode_OBJECTS) $(kbd_mode_DEPENDENCIES) - @rm -f kbd_mode - $(LINK) $(kbd_mode_LDFLAGS) $(kbd_mode_OBJECTS) $(kbd_mode_LDADD) $(LIBS) - -install-binSCRIPTS: $(bin_SCRIPTS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(bin_SCRIPTS)'; for p in $$list; do \ - if test -f $$p; then \ - echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \ - $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \ - else if test -f $(srcdir)/$$p; then \ - echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \ - $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \ - else :; fi; fi; \ - done - -uninstall-binSCRIPTS: - @$(NORMAL_UNINSTALL) - list='$(bin_SCRIPTS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \ - done -.l.c: - $(LEX) $(AM_LFLAGS) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).c $@ -.y.c: - $(YACC) $(AM_YFLAGS) $(YFLAGS) $< && mv y.tab.c $*.c - if test -f y.tab.h; then \ - if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \ - else :; fi -loadkeys.h: loadkeys.c - - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) - -mostlyclean-tags: - -clean-tags: - -distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = kbdtools - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - -info-am: -info: info-am -dvi-am: -dvi: dvi-am -check-am: all-am -check: check-am -installcheck-am: -installcheck: installcheck-am -install-exec-am: install-binPROGRAMS install-binSCRIPTS -install-exec: install-exec-am - -install-data-am: -install-data: install-data-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS -uninstall: uninstall-am -all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(HEADERS) -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(bindir) - - -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: - -test -z "analyzelloadkeyshloadkeysc" || rm -f analyzel loadkeysh loadkeysc -mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \ - mostlyclean-libtool mostlyclean-tags \ - mostlyclean-generic - -mostlyclean: mostlyclean-am - -clean-am: clean-binPROGRAMS clean-compile clean-libtool clean-tags \ - clean-generic mostlyclean-am - -clean: clean-am - -distclean-am: distclean-binPROGRAMS distclean-compile distclean-libtool \ - distclean-tags distclean-generic clean-am - -rm -f libtool - -distclean: distclean-am - -maintainer-clean-am: maintainer-clean-binPROGRAMS \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-tags maintainer-clean-generic \ - distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-am - -.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ -maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ -mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool uninstall-binSCRIPTS \ -install-binSCRIPTS tags mostlyclean-tags distclean-tags clean-tags \ -maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \ -installcheck-am installcheck install-exec-am install-exec \ -install-data-am install-data install-am install uninstall-am uninstall \ -all-redirect all-am all installdirs mostlyclean-generic \ -distclean-generic clean-generic maintainer-clean-generic clean \ -mostlyclean distclean maintainer-clean - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru console-tools-0.2.3/kbdtools/mk_modmap console-tools-0.2.3/kbdtools/mk_modmap --- console-tools-0.2.3/kbdtools/mk_modmap 1999-04-08 21:29:40.000000000 +0000 +++ console-tools-0.2.3/kbdtools/mk_modmap 1970-01-01 00:00:00.000000000 +0000 @@ -1,377 +0,0 @@ -#!/bin/sh -# mk_modmap -# Tries to translate a keytable file into a file parseable by xmodmap -# -# This is a hack, and has a lot of magic numbers and names hardcoded -# into it. Suggestions on how to avoid this are welcome. -# -# Kjetil T. Homme, University of Oslo 1993 -# <kjetilho@ifi.uio.no> -# -# Added support for BackSpace, dead keys, Cyrillic, Greek and Hebrew keysysms -# Pablo Saratxaga <srtxg@chanae.stben.be> - May 1997 -# -# Added support for keys found in Microsoft keyboards, Compose keysym -# (translates to Multi_key in X11) and for numeric hexadecimal values. -# Pablo Saratxaga <srtxg@f2219.n293.z2.fidonet.org> - Jun 1997 - -case $1 in - -v*) verbose=1; shift ;; -esac - -if test ! -f /usr/include/X11/X.h; then - echo Make sure you have a link to you X include files called - echo /usr/include/X11 first. - exit 1 -fi - -cat <<__EOH__ -! Converted keytable file to xmodmap file -! with `basename $0` by `whoami`@`hostname` `date` -clear Mod1 -clear Mod2 -__EOH__ - -awk -F'#' ' - /[a-z]+.*keycode/ { next } - /^[ \t]*$/ { next } - /^string/ { next } - { sub("^[ \t]*", "") } - NF > 1 { - printf("!"); - for (i = 2; i <= NF; i++) { - printf(" " $i); - $i = ""; - } - print ""; - if ($1 == "") - next; - } - { print } -' "$@" | awk -v verbose=$verbose ' - BEGIN { - while (getline < "/usr/include/X11/keysymdef.h" == 1) { - if ($0 ~ /XK_/) { - sub(/.*XK_/, ""); - sub(/[\t ].*/, ""); - valid[$0] = 1; - } - } - valid["X386Sys_Req"] = 1; - valid["BackSpace"] = 1; - - shifts["Control"] = shifts["Shift"] = 1; - - shift_keys[29] = "Control_L"; - shift_keys[97] = "Control_R"; - shift_keys[42] = "Shift_L"; - shift_keys[54] = "Shift_R"; - - trans_keys[ 96] = 108; # KP_Enter - trans_keys[ 97] = 109; # Control_R - trans_keys[ 98] = 112; # KP_Divide - trans_keys[100] = 113; # Mode_switch (AltGr) - trans_keys[101] = 114; # Break - trans_keys[103] = 98; # Up - trans_keys[104] = 99; # Prior - trans_keys[105] = 100; # Left - trans_keys[106] = 102; # Right - trans_keys[108] = 104; # Down - trans_keys[109] = 105; # Next - trans_keys[110] = 106; # Insert - trans_keys[111] = 107; # Delete - trans_keys[125] = 115; # left windows key (MS keyboards) - trans_keys[126] = 116; # right windows key (MS keyboards) - trans_keys[127] = 117; # menu key (MS keyboards) - - trans_names["Alt"] = "Alt_L Meta_L"; - trans_names["AltGr"] = "Mode_switch"; - trans_names["one"] = "1"; - trans_names["two"] = "2"; - trans_names["three"] = "3"; - trans_names["four"] = "4"; - trans_names["five"] = "5"; - trans_names["six"] = "6"; - trans_names["seven"] = "7"; - trans_names["eight"] = "8"; - trans_names["nine"] = "9"; - trans_names["zero"] = "0"; - trans_names["KP_Comma"] = "KP_Decimal"; - trans_names["dead_tilde"] = "dead_tilde"; - trans_names["dead_circumflex"] = "dead_circumflex"; - trans_names["dead_acute"] = "dead_acute"; - trans_names["dead_grave"] = "dead_grave"; - trans_names["dead_diaeresis"] = "dead_diaeresis"; - trans_names["dead_cedilla"] = "dead_cedilla"; - trans_names["dead_ogonek"] = "dead_ogonek"; - trans_names["dead_caron"] = "dead_caron"; - trans_names["dead_breve"] = "dead_breve"; - trans_names["dead_doubleacute"] = "dead_doubleacute"; - trans_names["Compose"] = "Multi_key"; -# trans_names["Last_Console"] = "X386Sys_Req"; -# Greek - trans_names["Alphaaccent"] = "Greek_ALPHAaccent"; - trans_names["Epsilonaccent"] = "Greek_EPSILONaccent"; - trans_names["Etaaccent"] = "Greek_ETAaccent"; - trans_names["Iotaaccent"] = "Greek_IOTAaccent"; - trans_names["Iotadiaeresis"] = "Greek_IOTAdiaeresis"; - trans_names["Omicronaccent"] = "Greek_OMICRONaccent"; - trans_names["Upsilonaccent"] = "Greek_UPSILONaccent"; - trans_names["Upsilondieresis"] = "Greek_UPSILONdieresis"; - trans_names["Omegaaccent"] = "Greek_OMEGAaccent"; - trans_names["Alpha"] = "Greek_ALPHA"; - trans_names["Beta"] = "Greek_BETA"; - trans_names["Gamma"] = "Greek_GAMMA"; - trans_names["Delta"] = "Greek_DELTA"; - trans_names["Epsilon"] = "Greek_EPSILON"; - trans_names["Zeta"] = "Greek_ZETA"; - trans_names["Eta"] = "Greek_ETA"; - trans_names["Theta"] = "Greek_THETA"; - trans_names["Iota"] = "Greek_IOTA"; - trans_names["Kappa"] = "Greek_KAPPA"; - trans_names["Lamda"] = "Greek_LAMDA"; - trans_names["Lambda"] = "Greek_LAMBDA"; - trans_names["Mu"] = "Greek_MU"; - trans_names["Nu"] = "Greek_NU"; - trans_names["Xi"] = "Greek_XI"; - trans_names["Ksi"] = "Greek_XI"; - trans_names["Omicron"] = "Greek_OMICRON"; - trans_names["Pi"] = "Greek_PI"; - trans_names["Rho"] = "Greek_RHO"; - trans_names["Sigma"] = "Greek_SIGMA"; - trans_names["Tau"] = "Greek_TAU"; - trans_names["Upsilon"] = "Greek_UPSILON"; - trans_names["Phi"] = "Greek_PHI"; - trans_names["Chi"] = "Greek_CHI"; - trans_names["Khi"] = "Greek_CHI"; - trans_names["Psi"] = "Greek_PSI"; - trans_names["Omega"] = "Greek_OMEGA"; - trans_names["accent"] = "Greek_accentdieresis"; - trans_names["horizbar"] = "Greek_horizbar"; - trans_names["alphaaccent"] = "Greek_alphaaccent"; - trans_names["epsilonaccent"] = "Greek_epsilonaccent"; - trans_names["etaaccent"] = "Greek_etaaccent"; - trans_names["iotaaccent"] = "Greek_iotaaccent"; - trans_names["iotadieresis"] = "Greek_iotadieresis"; - trans_names["iotaaccentdieresis"] = "Greek_iotaaccentdieresis"; - trans_names["omicronaccent"] = "Greek_omicronaccent"; - trans_names["upsilonaccent"] = "Greek_upsilonaccent"; - trans_names["upsilondieresis"] = "Greek_upsilondieresis"; - trans_names["upsilonaccentdieresis"] = "Greek_upsilonaccentdieresis"; - trans_names["omegaaccent"] = "Greek_omegaaccent"; - trans_names["alpha"] = "Greek_alpha"; - trans_names["beta"] = "Greek_beta"; - trans_names["gamma"] = "Greek_gamma"; - trans_names["delta"] = "Greek_delta"; - trans_names["epsilon"] = "Greek_epsilon"; - trans_names["zeta"] = "Greek_zeta"; - trans_names["eta"] = "Greek_eta"; - trans_names["theta"] = "Greek_theta"; - trans_names["iota"] = "Greek_iota"; - trans_names["kappa"] = "Greek_kappa"; - trans_names["lamda"] = "Greek_lamda"; - trans_names["lambda"] = "Greek_lambda"; - trans_names["mu"] = "Greek_mu"; - trans_names["nu"] = "Greek_nu"; - trans_names["xi"] = "Greek_xi"; - trans_names["ksi"] = "Greek_xi"; - trans_names["omicron"] = "Greek_omicron"; - trans_names["pi"] = "Greek_pi"; - trans_names["rho"] = "Greek_rho"; - trans_names["sigma"] = "Greek_sigma"; - trans_names["terminalsigma"] = "Greek_finalsmallsigma"; - trans_names["tau"] = "Greek_tau"; - trans_names["upsilon"] = "Greek_upsilon"; - trans_names["phi"] = "Greek_phi"; - trans_names["chi"] = "Greek_chi"; - trans_names["khi"] = "Greek_chi"; - trans_names["psi"] = "Greek_psi"; - trans_names["omega"] = "Greek_omega"; - trans_names["switch"] = "Greek_switch"; -# Cyrillic - trans_names["cyrillic_capital_letter_io"] = "Cyrillic_IO"; - trans_names["cyrillic_capital_letter_je"] = "Cyrillic_JE"; - trans_names["cyrillic_capital_letter_lje"] = "Cyrillic_LJE"; - trans_names["cyrillic_capital_letter_nje"] = "Cyrillic_NJE"; - trans_names["cyrillic_capital_letter_dzhe"] = "Cyrillic_DZHE"; - trans_names["cyrillic_capital_letter_yu"] = "Cyrillic_YU"; - trans_names["cyrillic_capital_letter_iu"] = "Cyrillic_YU"; - trans_names["cyrillic_capital_letter_a"] = "Cyrillic_A"; - trans_names["cyrillic_capital_letter_be"] = "Cyrillic_BE"; - trans_names["cyrillic_capital_letter_tse"] = "Cyrillic_TSE"; - trans_names["cyrillic_capital_letter_de"] = "Cyrillic_DE"; - trans_names["cyrillic_capital_letter_ie"] = "Cyrillic_IE"; - trans_names["cyrillic_capital_letter_ef"] = "Cyrillic_EF"; - trans_names["cyrillic_capital_letter_ghe"] = "Cyrillic_GHE"; - trans_names["cyrillic_capital_letter_ge"] = "Cyrillic_GHE"; - trans_names["cyrillic_capital_letter_ha"] = "Cyrillic_HA"; - trans_names["cyrillic_capital_letter_kha"] = "Cyrillic_HA"; - trans_names["cyrillic_capital_letter_i"] = "Cyrillic_I"; - trans_names["cyrillic_capital_letter_ii"] = "Cyrillic_I"; - trans_names["cyrillic_capital_letter_short_i"] = "Cyrillic_SHORTI"; - trans_names["cyrillic_capital_letter_short_ii"] = "Cyrillic_SHORTI"; - trans_names["cyrillic_capital_letter_ka"] = "Cyrillic_KA"; - trans_names["cyrillic_capital_letter_el"] = "Cyrillic_EL"; - trans_names["cyrillic_capital_letter_em"] = "Cyrillic_EM"; - trans_names["cyrillic_capital_letter_en"] = "Cyrillic_EN"; - trans_names["cyrillic_capital_letter_o"] = "Cyrillic_O"; - trans_names["cyrillic_capital_letter_pe"] = "Cyrillic_PE"; - trans_names["cyrillic_capital_letter_ya"] = "Cyrillic_YA"; - trans_names["cyrillic_capital_letter_ia"] = "Cyrillic_YA"; - trans_names["cyrillic_capital_letter_er"] = "Cyrillic_ER"; - trans_names["cyrillic_capital_letter_es"] = "Cyrillic_ES"; - trans_names["cyrillic_capital_letter_te"] = "Cyrillic_TE"; - trans_names["cyrillic_capital_letter_u"] = "Cyrillic_U"; - trans_names["cyrillic_capital_letter_zhe"] = "Cyrillic_ZHE"; - trans_names["cyrillic_capital_letter_ve"] = "Cyrillic_VE"; - trans_names["cyrillic_capital_soft_sign"] = "Cyrillic_SOFTSIGN"; - trans_names["cyrillic_capital_letter_yeru"] = "Cyrillic_YERU"; - trans_names["cyrillic_capital_letter_yeri"] = "Cyrillic_YERU"; - trans_names["cyrillic_capital_letter_ze"] = "Cyrillic_ZE"; - trans_names["cyrillic_capital_letter_sha"] = "Cyrillic_SHA"; - trans_names["cyrillic_capital_letter_e"] = "Cyrillic_E"; - trans_names["cyrillic_capital_letter_reversed_e"] = "Cyrillic_E"; - trans_names["cyrillic_capital_letter_shcha"] = "Cyrillic_SHCHA"; - trans_names["cyrillic_capital_letter_che"] = "Cyrillic_CHE"; - trans_names["cyrillic_capital_hard_sign"] = "Cyrillic_HARDSIGN"; - trans_names["cyrillic_small_letter_io"] = "Cyrillic_io"; - trans_names["cyrillic_small_letter_je"] = "Cyrillic_je"; - trans_names["cyrillic_small_letter_lje"] = "Cyrillic_lje"; - trans_names["cyrillic_small_letter_nje"] = "Cyrillic_nje"; - trans_names["cyrillic_small_letter_dzhe"] = "Cyrillic_dzhe"; - trans_names["cyrillic_small_letter_yu"] = "Cyrillic_yu"; - trans_names["cyrillic_small_letter_iu"] = "Cyrillic_yu"; - trans_names["cyrillic_small_letter_a"] = "Cyrillic_a"; - trans_names["cyrillic_small_letter_be"] = "Cyrillic_be"; - trans_names["cyrillic_small_letter_tse"] = "Cyrillic_tse"; - trans_names["cyrillic_small_letter_de"] = "Cyrillic_de"; - trans_names["cyrillic_small_letter_ie"] = "Cyrillic_ie"; - trans_names["cyrillic_small_letter_ef"] = "Cyrillic_ef"; - trans_names["cyrillic_small_letter_ghe"] = "Cyrillic_ghe"; - trans_names["cyrillic_small_letter_ge"] = "Cyrillic_ghe"; - trans_names["cyrillic_small_letter_ha"] = "Cyrillic_ha"; - trans_names["cyrillic_small_letter_kha"] = "Cyrillic_ha"; - trans_names["cyrillic_small_letter_i"] = "Cyrillic_i"; - trans_names["cyrillic_small_letter_ii"] = "Cyrillic_i"; - trans_names["cyrillic_small_letter_short_i"] = "Cyrillic_shorti"; - trans_names["cyrillic_small_letter_short_ii"] = "Cyrillic_shorti"; - trans_names["cyrillic_small_letter_ka"] = "Cyrillic_ka"; - trans_names["cyrillic_small_letter_el"] = "Cyrillic_el"; - trans_names["cyrillic_small_letter_em"] = "Cyrillic_em"; - trans_names["cyrillic_small_letter_en"] = "Cyrillic_en"; - trans_names["cyrillic_small_letter_o"] = "Cyrillic_o"; - trans_names["cyrillic_small_letter_pe"] = "Cyrillic_pe"; - trans_names["cyrillic_small_letter_ya"] = "Cyrillic_ya"; - trans_names["cyrillic_small_letter_ia"] = "Cyrillic_ya"; - trans_names["cyrillic_small_letter_er"] = "Cyrillic_er"; - trans_names["cyrillic_small_letter_es"] = "Cyrillic_es"; - trans_names["cyrillic_small_letter_te"] = "Cyrillic_te"; - trans_names["cyrillic_small_letter_u"] = "Cyrillic_u"; - trans_names["cyrillic_small_letter_zhe"] = "Cyrillic_zhe"; - trans_names["cyrillic_small_letter_ve"] = "Cyrillic_ve"; - trans_names["cyrillic_small_soft_sign"] = "Cyrillic_softsign"; - trans_names["cyrillic_small_letter_yeru"] = "Cyrillic_yeru"; - trans_names["cyrillic_small_letter_yeri"] = "Cyrillic_yeru"; - trans_names["cyrillic_small_letter_ze"] = "Cyrillic_ze"; - trans_names["cyrillic_small_letter_sha"] = "Cyrillic_sha"; - trans_names["cyrillic_small_letter_e"] = "Cyrillic_e"; - trans_names["cyrillic_small_letter_reversed_e"] = "Cyrillic_e"; - trans_names["cyrillic_small_letter_shcha"] = "Cyrillic_shcha"; - trans_names["cyrillic_small_letter_che"] = "Cyrillic_che"; - trans_names["cyrillic_small_hard_sign"] = "Cyrillic_hardsign"; - trans_names["serbocroatian_cyrillic_capital_letter_dje"] = "Serbian_DJE"; - trans_names["serbocroatian_cyrillic_capital_letter_je"] = "Serbian_JE"; - trans_names["serbocroatian_cyrillic_capital_letter_lje"] = "Serbian_LJE"; - trans_names["serbocroatian_cyrillic_capital_letter_nje"] = "Serbian_NJE"; - trans_names["serbocroatian_cyrillic_capital_letter_tshe"] = "Serbian_TSHE"; - trans_names["serbocroatian_cyrillic_capital_letter_dze"] = "Serbian_DZE"; - trans_names["serbocroatian_cyrillic_small_letter_dje"] = "Serbian_dje"; - trans_names["serbocroatian_cyrillic_small_letter_je"] = "Serbian_je"; - trans_names["serbocroatian_cyrillic_small_letter_lje"] = "Serbian_lje"; - trans_names["serbocroatian_cyrillic_small_letter_nje"] = "Serbian_nje"; - trans_names["serbocroatian_cyrillic_small_letter_tshe"] = "Serbian_tshe"; - trans_names["serbocroatian_cyrillic_small_letter_dze"] = "Serbian_dze"; - trans_names["macedonian_cyrillic_capital_letter_gje"] = "Macedonia_GJE"; - trans_names["macedonian_cyrillic_capital_letter_dze"] = "Macedonia_DSE"; - trans_names["macedonian_cyrillic_capital_letter_kje"] = "Macedonia_KJE"; - trans_names["macedonian_cyrillic_small_letter_gje"] = "Macedonia_gje"; - trans_names["macedonian_cyrillic_small_letter_dze"] = "Macedonia_dse"; - trans_names["macedonian_cyrillic_small_letter_kje"] = "Macedonia_kje"; - trans_names["ukrainian_cyrillic_capital_letter_ie"] = "Ukrainian_JE"; - trans_names["ukrainian_cyrillic_capital_letter_i"] = "Ukrainian_I"; - trans_names["ukrainian_cyrillic_capital_letter_yi"] = "Ukrainian_YI"; - trans_names["ukrainian_cyrillic_small_letter_ie"] = "Ukrainian_ie"; - trans_names["ukrainian_cyrillic_small_letter_i"] = "Ukrainian_i"; - trans_names["ukrainian_cyrillic_small_letter_yi"] = "Ukrainian_yi"; - trans_names["bielorussian_cyrillic_capital_letter_short_u"] = "Byelorussian_SHORTU"; - trans_names["bielorussian_cyrillic_capital_letter_i"] = "Ukrainian_I"; - trans_names["bielorussian_cyrillic_small_letter_short_u"] = "Byelorussian_shortu"; - trans_names["bielorussian_cyrillic_small_letter_i"] = "Ukrainian_i"; -# Hebrew - trans_names["doubleunderscore"] = "hebrew_doublelowline"; - trans_names["alef"] = "hebrew_aleph"; - trans_names["bet"] = "hebrew_bet"; - trans_names["gimel"] = "hebrew_gimel"; - trans_names["dalet"] = "hebrew_dalet"; - trans_names["he"] = "hebrew_he"; - trans_names["vav"] = "hebrew_waw"; - trans_names["zayin"] = "hebrew_zain"; - trans_names["het"] = "hebrew_chet"; - trans_names["tet"] = "hebrew_tet"; - trans_names["yod"] = "hebrew_yod"; - trans_names["finalkaf"] = "hebrew_finalkaph"; - trans_names["kaf"] = "hebrew_kaph"; - trans_names["lamed"] = "hebrew_lamed"; - trans_names["finalmem"] = "hebrew_finalmem"; - trans_names["mem"] = "hebrew_mem"; - trans_names["finalnun"] = "hebrew_finalnun"; - trans_names["nun"] = "hebrew_nun"; - trans_names["samekh"] = "hebrew_samech"; - trans_names["ayin"] = "hebrew_ayin"; - trans_names["finalpe"] = "hebrew_finalpe"; - trans_names["pe"] = "hebrew_pe"; - trans_names["finaltsadi"] = "hebrew_finalzade"; - trans_names["tsadi"] = "hebrew_zade"; - trans_names["qof"] = "hebrew_qoph"; - trans_names["resh"] = "hebrew_resh"; - trans_names["shin"] = "hebrew_shin"; - trans_names["tav"] = "hebrew_taw"; - } - $1 == "keycode" { - output = ""; - keycode = $2; - i = ($3 == "=") ? 4 : 3; - for ( ; i <= NF; i++) { - sub(/^\+/, "", $i); - n = $i; - if ($i in shifts) - n = shift_keys[keycode]; - else if ($i in trans_names) - n = trans_names[$i]; - - if (n in valid || n in valid || $i in trans_names) - output = output " " n; - else if (n ~ /0x[0-9a-fA-F]*/) - output = output " " n; - else - msg("Skipped " $i); - } - - if (keycode in trans_keys) - keycode = trans_keys[keycode]; - else - keycode += 8; - - if (keycode > 117) - msg("Skipped keycode " keycode-8 ": " output); - else if (output) - printf("keycode %3d =%s\n", keycode, output); - next; - } - { print } - function msg(m) { if (verbose) print m > "/dev/stderr"; }' - -cat <<__EOH__ -add Mod1 = Alt_L -add Mod2 = Mode_switch -__EOH__ diff -Nru console-tools-0.2.3/kbdtools/setkeycodes.c console-tools-0.2.3/kbdtools/setkeycodes.c --- console-tools-0.2.3/kbdtools/setkeycodes.c 1999-04-08 22:11:13.000000000 +0000 +++ console-tools-0.2.3/kbdtools/setkeycodes.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ -/* - * call: setkeycode scancode keycode ... - * (where scancode is either xx or e0xx, given in hexadecimal, - * and keycode is given in decimal) - * - * aeb, 941108 - */ -#include <stdio.h> -#include <stdlib.h> -#include <fcntl.h> -#include <sys/ioctl.h> -#include <linux/kd.h> -#include <getopt.h> - -#include <lct/local.h> -#include <lct/utils.h> -#include <lct/console.h> - -char *progname; - -static void usage() -{ - printf(_("Usage: %s [options] scancode keycode ...\n" - " (where scancode is either xx or e0xx, given in hexadecimal,\n" - " and keycode is given in decimal)\n"), progname); - OPTIONS_ARE(); - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - - -void main(int argc, char **argv) -{ - char *ep; - int fd, sc; - struct kbkeycode a; - const struct option long_opts[] = { - { "help" , no_argument, NULL, 'h' }, - { "version" , no_argument, NULL, 'V' }, - { NULL, 0, NULL, 0 } - }; - int c; - - setuplocale(); - - progname = strip_path(argv[0]); - - while ( (c = getopt_long (argc, argv, "Vh", long_opts, NULL)) != EOF) - switch (c) { - case 'h': - usage (progname); - exit(0); - case 'V': - version (progname); - exit(0); - case '?': - exit(1); - } - - - if ( (argc - optind -1) % 2 != 1) - badusage(_("even number of arguments expected")); - if (-1 == (fd = get_console_fd(NULL))) - exit (1); - - while ( (argc - optind) > 2) - { - a.scancode = sc = strtol(argv[optind++], &ep, 16); - a.keycode = atoi(argv[optind++]); - - if (*ep) - badusage(_("error reading scancode")); - if (a.scancode > 127) - { - a.scancode -= 0xe000; - a.scancode += 128; - } - if (a.scancode > 255 || a.keycode > 127) - badusage(_("code outside bounds")); - if (ioctl(fd,KDSETKEYCODE,&a)) - { - perror("KDSETKEYCODE"); - fprintf(stderr, _("failed to set scancode %x to keycode %d\n"), - sc, a.keycode); - exit(1); - } - } - exit(0); -} diff -Nru console-tools-0.2.3/kbdtools/setleds.c console-tools-0.2.3/kbdtools/setleds.c --- console-tools-0.2.3/kbdtools/setleds.c 1999-04-15 17:40:33.000000000 +0000 +++ console-tools-0.2.3/kbdtools/setleds.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,227 +0,0 @@ -/* - * setleds.c - aeb, 940130, 940909 - * - * Call: setleds [-L] [-D] [-F] [{+|-}{num|caps|scroll}]* - * will set or clear the indicated flags on the stdin tty, - * and report the settings before and after. - * In particular, setleds without arguments will only report. - */ - -#include <stdio.h> -#include <fcntl.h> -#include <string.h> -#include <getopt.h> -#include <linux/kd.h> -#include <sys/ioctl.h> - -#include <lct/local.h> -#include <lct/utils.h> - - -#define onoff(a) ((a) ? _("on ") : _("off")) - -int verbose; - - -/* FIXME: restate in GNU terms */ -static void usage(char *progname) -{ - printf(_("Usage:" - " %1$s [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll ]]\n" - "Thus,\n" - " %1$s +caps -num\n" - "will set CapsLock, clear NumLock and leave ScrollLock unchanged.\n" - "The settings before and after the change (if any) are reported\n" - "when the -v option is given or when no change is requested.\n" - "Normally, %1$s influences the vt flag settings\n" - "(and these are usually reflected in the leds).\n" - "With -L, %1$s only sets the leds, and leaves the flags alone.\n" - "With -D, %1$s sets both the flags and the default flags, so\n" - "that a subsequent reset will not change the flags.\n") - , progname); -} - -static void parse_cmdline (int argc, char *argv[], - int *optL, int *optD, int *optF, - char *nval, char *ndef ) -{ - char *progname = strip_path (argv[0]); - const struct option long_opts[] = { - { "leds-only", no_argument, NULL, 'L' }, - { "help" , no_argument, NULL, 'h' }, - { "verbose" , no_argument, NULL, 'v' }, - { "version" , no_argument, NULL, 'V' }, - { "show-current", no_argument, NULL, 'F' }, - { "set-all" , no_argument, NULL, 'D' }, - { "caps" , no_argument, NULL, 'c' }, - { "num", no_argument, NULL, 'n' }, - { "scroll", no_argument, NULL, 's' }, - { NULL, 0, NULL, 0 } - }; - int c; - - while ( (c = getopt_long_only(argc, argv, "-vhVFDL", long_opts, NULL)) != EOF) - switch (c) { - case 'h': - usage(progname); - exit(0); - case 'V': - version(progname); - exit(0); - case 'v': - verbose = 1; - break; - case 'L': - *optL = 1; - break; - case 'D': - *optD = 1; - break; - case 'F': - *optF = 1; - break; - case 'c': - *ndef |= LED_CAP; - break; - case 's': - *ndef |= LED_SCR; - break; - case 'n': - *ndef |= LED_NUM; - break; - case 1: /* non-GNU arguments */ - if (!strcmp(optarg,"+caps")) { - *ndef |= LED_CAP; - *nval |= LED_CAP; - } else if (!strcmp(optarg,"+num")) { - *ndef |= LED_NUM; - *nval |= LED_NUM; - } else if (!strcmp(optarg, "+scroll")) { - *ndef |= LED_SCR; - *ndef |= LED_SCR; - } else { - fprintf (stderr, _("%s: unknown argument: %s\n"), - progname, optarg); - exit (1); - } - break; - } -} - - - - -void -report(leds) int leds; -{ - printf(_("NumLock %s CapsLock %s ScrollLock %s\n"), - onoff(leds & LED_NUM), - onoff(leds & LED_CAP), - onoff(leds & LED_SCR)); -} - - -int -main(int argc, char **argv) -{ - int optL = 0, optD = 0, optF = 0; - char oleds, nleds, oflags, nflags, odefflags, ndefflags; - char nval = 0, ndef = 0; - - setuplocale(); - - parse_cmdline (argc, argv, &optL, &optD, &optF, &nval, &ndef); - - /* Use getopt rather than any other mechanism because future support in eg. bash - * may use it to provide command-line completion of option arguments - */ - - /* Do these after command line handling so 'setleds --help works on a VT, etc. */ - if (ioctl(0, KDGETLED, &oleds)) { - perror("KDGETLED"); - fprintf(stderr, - _("Error reading current led setting. Maybe stdin is not a VT?\n")); - exit(1); - } - - if (ioctl(0, KDGKBLED, &oflags)) { - perror("KDGKBLED"); - fprintf(stderr, - _("Error reading current flags setting. Maybe an old kernel?\n")); - exit(1); - } - - - odefflags = ndefflags = ((oflags >> 4) & 7); - oflags = nflags = (oflags & 7); - - if (argc <= 1) { - if (optL) { - nleds = 0xff; - if (ioctl(0, KDSETLED, &nleds)) { - perror("KDSETLED"); - fprintf(stderr, _("Error resetting ledmode\n")); - exit(1); - } - } - - /* If nothing to do, report, even if not verbose */ - if (!optD && !optL && !optF) - optD = optL = optF = 1; - if (optD) { - printf(_("Current default flags: ")); - report(odefflags); - } - if (optF) { - printf(_("Current flags: ")); - report(oflags & 07); - } - if (optL) { - printf(_("Current leds: ")); - report(oleds); - } - exit(0); - } - - if (!optL) - optF = 1; - - if (optD) { - ndefflags = (odefflags & ~ndef) | nval; - if (verbose) { - printf(_("Old default flags: ")); - report(odefflags); - printf(_("New default flags: ")); - report(ndefflags); - } - } - if (optF) { - nflags = ((oflags & ~ndef) | nval); - if (verbose) { - printf(_("Old flags: ")); - report(oflags & 07); - printf(_("New flags: ")); - report(nflags & 07); - } - } - if (optD || optF) { - if (ioctl(0, KDSKBLED, (ndefflags << 4) | nflags)) { - perror("KDSKBLED"); - exit(1); - } - } - if (optL) { - nleds = (oleds & ~ndef) | nval; - if (verbose) { - printf(_("Old leds: ")); - report(oleds); - printf(_("New leds: ")); - report(nleds); - } - if (ioctl(0, KDSETLED, nleds)) { - perror("KDSETLED"); - exit(1); - } - } - exit(0); -} diff -Nru console-tools-0.2.3/kbdtools/setmetamode.c console-tools-0.2.3/kbdtools/setmetamode.c --- console-tools-0.2.3/kbdtools/setmetamode.c 1999-04-08 22:11:13.000000000 +0000 +++ console-tools-0.2.3/kbdtools/setmetamode.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,109 +0,0 @@ -/* - * setmetamode.c - aeb, 940130 - * - * Call: setmetamode { metabit | escprefix } - * and report the setting before and after. - * Without arguments setmetamode will only report. - */ - -#include <stdio.h> -#include <fcntl.h> -#include <string.h> -#include <linux/kd.h> -#include <sys/ioctl.h> - -#include <lct/local.h> -#include <lct/utils.h> - -char* progname; - -void usage() -{ - printf(_("\nUsage:\n" - " %1$s [ metabit | meta | bit | escprefix | esc | prefix ]\n" - "Each vt has his own copy of this bit. Use\n" - " %1$s [arg] < /dev/ttyn\n" - "to change the settings of another vt.\n" - "The setting before and after the change are reported.\n"), - progname); -} - -void report(int meta) -{ - char *s; - - switch(meta) - { - case K_METABIT: - s = N_("Meta key sets high order bit\n"); - break; - case K_ESCPREFIX: - s = N_("Meta key gives Esc prefix\n"); - break; - default: - s = N_("Strange mode for Meta key?\n"); - } - printf(_(s)); -} - -struct meta -{ - char *name; - int val; -} metas[] = { - { "metabit", K_METABIT }, - { "meta", K_METABIT }, - { "bit", K_METABIT }, - { "escprefix", K_ESCPREFIX }, - { "esc", K_ESCPREFIX }, - { "prefix", K_ESCPREFIX } -}; - -#define SIZE(a) (sizeof(a)/sizeof(a[0])) - -void main(int argc, char* argv[]) -{ - char ometa, nmeta; - struct meta *mp; - - setuplocale(); - - progname = strip_path(argv[0]); - - if (ioctl(0, KDGKBMETA, &ometa)) - { - perror("KDGKBMETA"); - fprintf(stderr, _("Error reading current setting. Maybe stdin is not a VT?\n")); - exit(1); - } - - if (argc <= 1) - { - report(ometa); - exit(0); - } - - nmeta = 0; /* make gcc happy */ - for (mp = metas; mp-metas < SIZE(metas); mp++) - { - if(!strcmp(argv[1], mp->name)) - { - nmeta = mp->val; - goto fnd; - } - } - badusage(_("unrecognized argument")); - -fnd: - printf(_("old state: ")); - report(ometa); - if (ioctl(0, KDSKBMETA, nmeta)) - { - perror("KDSKBMETA"); - exit(1); - } - printf(_("new state: ")); - report(nmeta); - - exit(0); -} diff -Nru console-tools-0.2.3/kbdtools/showkey.c console-tools-0.2.3/kbdtools/showkey.c --- console-tools-0.2.3/kbdtools/showkey.c 1999-08-16 17:49:31.000000000 +0000 +++ console-tools-0.2.3/kbdtools/showkey.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,275 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <getopt.h> -#include <signal.h> -#include <fcntl.h> -#include <termios.h> -#include <sysexits.h> -#include <linux/kd.h> -#include <linux/keyboard.h> -#include <sys/ioctl.h> - -#include <lct/local.h> -#include <lct/utils.h> -#include <lct/console.h> - -int fd; -int oldkbmode; -struct termios old; -char* progname; -int timeout = 10; - -/* - * version 0.81 of showkey would restore kbmode unconditially to XLATE, - * thus making the console unusable when it was called under X. - */ -void get_mode(void) -{ - char *m; - - if (ioctl(fd, KDGKBMODE, &oldkbmode)) - { - perror("KDGKBMODE"); - exit(1); - } - switch(oldkbmode) - { - case K_RAW: - m = "RAW"; break; - case K_XLATE: - m = "XLATE"; break; - case K_MEDIUMRAW: - m = "MEDIUMRAW"; break; - case K_UNICODE: - m = "UNICODE"; break; - default: - m = _("?UNKNOWN?"); break; - } - printf(_("kb mode was %s\n"), m); - if (oldkbmode != K_XLATE) - { - printf(_("[ if you are trying this under X, it might not work\n")); - printf(_("since the X server is also reading /dev/console ]\n")); - } - printf("\n"); -} - -void clean_up(void) -{ - if (ioctl(fd, KDSKBMODE, oldkbmode)) - { - perror("KDSKBMODE"); - exit(1); - } - if (tcsetattr(fd, 0, &old) == -1) - perror("tcsetattr"); - close(fd); -} - -void die(int x) -{ - printf(_("caught signal %d, cleaning up...\n"), x); - clean_up(); - exit(1); -} - -void watch_dog(int x) -{ - clean_up(); - exit(0); -} - -void usage() -{ - printf(_("usage: %s [options...] <command>\n"), progname); - COMMANDS_ARE(); - OPT("-s --scancodes ", _("display only the raw scan-codes.")); - OPT("-k --keycodes ", _("display only the interpreted keycodes (default).")); - OPT("-m --keymap ", _("display only keymap-translated chars.")); - OPT("-u --unicode ", _("display unicode-translated chars.")); - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); - OPTIONS_ARE(); - OPT("-t --timeout=N ", _("set the timeout to N seconds.")); -} - -int -main (int argc, char *argv[]) -{ - const char *short_opts = "hskmut:V"; - const struct option long_opts[] = - { - { "help", no_argument, NULL, 'h' }, - { "scancodes", no_argument, NULL, 's' }, - { "keycodes", no_argument, NULL, 'k' }, - { "keymap", no_argument, NULL, 'm' }, - { "timeout", required_argument, NULL, 't' }, - { "unicode", no_argument, NULL, 'u' }, - { "version", no_argument, NULL, 'V' }, - { NULL, 0, NULL, 0 } - }; - int c; - enum {cmd_none, cmd_scancodes, cmd_keycodes, cmd_keymap, cmd_unicode} command = cmd_none; - - struct termios new; - unsigned char buf[128]; /* to decently grasp STRINGS with cmd_keymap */ - int i, n; - - setuplocale(); - - progname = strip_path(argv[0]); - -#define BAD_CMD() badusage(_("only one commands is allowed")); - - while ((c = getopt_long(argc, argv, - short_opts, long_opts, NULL)) != -1) - { - switch (c) - { - case 'm': - if (command == cmd_none) - command = cmd_keymap; - else - BAD_CMD(); - break; - case 's': - if (command == cmd_none) - command = cmd_scancodes; - else - BAD_CMD(); - break; - case 'k': - if (command == cmd_none) - command = cmd_keycodes; - else - BAD_CMD(); - break; - case 'u': - if (command == cmd_none) - command = cmd_unicode; - else - BAD_CMD(); - break; - case 't': - if (optarg && (optarg[0] >= '0') && (optarg[0] <= '9')) - timeout = atoi(optarg); - else - badusage(_("timeout value must be numeric")); - break; - case 'V': - version(); - exit(0); - case 'h': - case '?': - usage(); - exit(0); - } - } - - if (command == cmd_none) - command = cmd_keycodes; - - if (optind < argc) - badusage(_("no non-option arguments allowed")); - - if (command == cmd_unicode) - fprintf(stderr, _("WARNING: Unicode mode is experimental -- output may be wrong\n")); - - - if (-1 == (fd = get_console_fd(NULL))) - exit (1); - - /* the program terminates when there is no input for <timeout> secs */ - signal(SIGALRM, watch_dog); - - /* - if we receive a signal, we want to exit nicely, in - order not to leave the keyboard in an unusable mode - */ - signal(SIGHUP, die); - signal(SIGINT, die); - signal(SIGQUIT, die); - signal(SIGILL, die); - signal(SIGTRAP, die); - signal(SIGABRT, die); - signal(SIGIOT, die); - signal(SIGFPE, die); - signal(SIGKILL, die); - signal(SIGUSR1, die); - signal(SIGSEGV, die); - signal(SIGUSR2, die); - signal(SIGPIPE, die); - signal(SIGTERM, die); -#ifdef SIGSTKFLT - signal(SIGSTKFLT, die); -#endif - signal(SIGCHLD, die); - signal(SIGCONT, die); - signal(SIGSTOP, die); - signal(SIGTSTP, die); - signal(SIGTTIN, die); - signal(SIGTTOU, die); - - get_mode(); - if (tcgetattr(fd, &old) == -1) - perror("tcgetattr = %d\n"); - if (tcgetattr(fd, &new) == -1) - perror("tcgetattr = %d\n"); - - new.c_lflag &= ~ (ICANON | ECHO | ISIG); - new.c_iflag = 0; - new.c_cc[VMIN] = sizeof(buf); - new.c_cc[VTIME] = 1; /* 0.1 sec intercharacter timeout */ - - if (tcsetattr(fd, TCSAFLUSH, &new) == -1) - perror("tcsetattr = %d\n"); - if ((command != cmd_keymap) && ioctl(fd, KDSKBMODE, - (command == cmd_keycodes) ? K_MEDIUMRAW : - (command == cmd_keymap ? K_XLATE : K_RAW))) - { - perror("KDSKBMODE"); - exit(1); - } - - printf(_("press any key (program terminates after %us of last keypress)...\n"), timeout); - while (1) - { - alarm(timeout); - n = read(fd, buf, sizeof(buf)); - - if (command == cmd_keymap) - { - for (i = 0; i < n; i++) - if (buf[i] >= 32) - putchar(buf[i]); - else - putchar(' '); - fprintf(stdout, " ( "); - } - - for (i = 0; i < n; i++) - { - if (command == cmd_keycodes) - printf(_("keycode %3d %s\n"), - buf[i] & 0x7f, - buf[i] & 0x80 ? _("release") : _("press")); - else /* scancode or keymap or unicode */ - printf("0x%02x ", buf[i]); - } - - switch (command) - { - case cmd_scancodes: - case cmd_unicode: - putchar('\n'); - break; - case cmd_keymap: - printf(")\n"); - default: - } - } - - clean_up(); - exit(0); -} diff -Nru console-tools-0.2.3/lib/acm.c console-tools-0.2.3/lib/acm.c --- console-tools-0.2.3/lib/acm.c 1999-04-08 22:11:13.000000000 +0000 +++ console-tools-0.2.3/lib/acm.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,345 +0,0 @@ -/* - * mapscrn.c - version 0.92 - */ - -#include <config.h> -#include <stdio.h> -#include <memory.h> -#include <string.h> -#include <unistd.h> -#include <fcntl.h> -#include <assert.h> -#include <errno.h> -#include <signal.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <sys/ioctl.h> -#include <sys/kd.h> - -#include <lct/local.h> -#include <lct/console.h> - -static long int ctoi(unsigned char *s, int *is_unicode); -int old_screen_map_read_ascii(FILE *fp, unsigned char buf[]); -int uni_screen_map_read_ascii(FILE *fp, unicode buf[], int* is_unicode); - -int screen_map_load(int fd, FILE *fp) -{ - struct stat stbuf; - unicode wbuf[E_TABSZ]; - unsigned char buf[E_TABSZ]; - int parse_failed = 0; - int is_unicode; - - if (fstat(fp->_fileno, &stbuf)) - perror(_("Cannot stat map file")), exit(1); - - /* first try a UTF screen-map: either ASCII (no restriction) or binary (regular file) */ - if (!(parse_failed = (-1 == uni_screen_map_read_ascii(fp,wbuf,&is_unicode))) || - (S_ISREG(stbuf.st_mode) && - (stbuf.st_size == (sizeof(unicode) * E_TABSZ)))) /* test for binary UTF map by size */ - { - if (parse_failed) - { - if (-1 == fseek (fp, 0, SEEK_SET)) - { - if (errno == ESPIPE) - fprintf (stderr, _("16bit screen-map MUST be a regular file.\n")), exit (1); - else - perror (_("fseek failed reading binary 16bit screen-map")), exit (1); - } - - if (fread(wbuf, sizeof(unicode) * E_TABSZ, 1, fp) != 1) - perror(_("Cannot read [new] map from file")), exit(1); -#if 0 - else - fprintf(stderr, _("Input screen-map is binary.\n")); -#endif - } - - /* if it was effectively a 16-bit ASCII, OK, else try to read as 8-bit map */ - /* same if it was binary, ie. if parse_failed */ - if (parse_failed || is_unicode) - { - if (ioctl(fd,PIO_UNISCRNMAP,wbuf)) - perror(_("PIO_UNISCRNMAP ioctl")), exit(1); - else - return 0; - } - } - - /* rewind... */ - if (-1 == fseek (fp, 0, SEEK_SET)) - { - if (errno == ESPIPE) - fprintf (stderr, _("Assuming 8bit screen-map - MUST be a regular file.\n")), exit (1); - else - perror (_("fseek failed assuming 8bit screen-map")), exit (1); - } - - /* ... and try an old 8-bit screen-map */ - if (!(parse_failed = (-1 == old_screen_map_read_ascii(fp,buf))) || - (S_ISREG(stbuf.st_mode) && - (stbuf.st_size == E_TABSZ))) /* test for binary old 8-bit map by size */ - { - if (parse_failed) - { - if (-1 == fseek (fp, 0, SEEK_SET)) - { - if (errno == ESPIPE) - /* should not - it succedeed above */ - fprintf (stderr, _("fseek() returned ESPIPE !\n")), exit (1); - else - perror (_("fseek for binary 8bit screen-map")), exit (1); - } - - if (fread(buf,E_TABSZ,1,fp) != 1) - perror(_("Cannot read [old] map from file")), exit(1); -#if 0 - else - fprintf(stderr, "Input screen-map is binary.\n"); -#endif - } - - if (ioctl(fd,PIO_SCRNMAP,buf)) - perror(_("PIO_SCRNMAP ioctl")), exit(1); - else - return 0; - } - else - { - fprintf(stderr, _("Error parsing symbolic map\n")); - exit(1); - } -} - - -/* - * - reads `fp' as a 16-bit ASCII SFM file. - * - returns -1 on error. - * - returns it in `unicode' in an E_TABSZ-elements array. - * - sets `*is_unicode' flagiff there were any non-8-bit - * (ie. real 16-bit) mapping. - * - * FIXME: ignores everything after second word - */ -int uni_screen_map_read_ascii(FILE *fp, unicode buf[], int *is_unicode) -{ - char buffer[256]; /* line buffer reading file */ - char *p, *q; /* 1st + 2nd words in line */ - int in, on; /* the same, as numbers */ - int tmp_is_unicode; /* tmp for is_unicode calculation */ - int i; /* loop index - result holder */ - int ret_code = 0; /* return code */ - sigset_t sigset, old_sigset; - - assert (is_unicode); - - *is_unicode = 0; - - /* first 128 codes defaults to ASCII */ - for (i=0; i<128; i++) buf[i] = i; - /* remaining defaults to replacement char (usually E_TABSZ = 256) */ - for ( ; i<E_TABSZ; i++) buf[i] = 0xfffd; - - /* block SIGCHLD */ - sigemptyset (&sigset); - sigaddset (&sigset, SIGCHLD); - sigprocmask (SIG_BLOCK, &sigset, &old_sigset); - - do - { - if (NULL == fgets(buffer, sizeof(buffer),fp)) - { - if (feof (fp)) - break; - else - { - perror (_("uni_screen_map_read_ascii() can't read line")); - exit (2); - } - } - - /* get "charset-relative charcode", stripping leading spaces */ - p = strtok(buffer," \t\n"); - - /* skip empty lines and comments */ - if (!p || *p == '#') - continue; - - /* get unicode mapping */ - q = strtok(NULL," \t\n"); - if (q) - { - in = ctoi(p, NULL); - if (in < 0 || in > 255) - { - ret_code = -1; - break; - } - - on = ctoi(q, &tmp_is_unicode); - if (in < 0 && on > 65535) - { - ret_code = -1; - break; - } - - *is_unicode |= tmp_is_unicode; - buf[in] = on; - } - else - { - ret_code = -1; - break; - } - } - while (1); /* terminated by break on feof() */ - - /* restore sig mask */ - sigprocmask (SIG_SETMASK, &old_sigset, NULL); - - return ret_code; -} - - -int old_screen_map_read_ascii(FILE *fp, unsigned char buf[]) -{ - char buffer[256]; - int in, on; - char *p, *q; - - for (in=0; in<256; in++) buf[in]=in; - - while (fgets(buffer,sizeof(buffer)-1,fp)) - { - p = strtok(buffer," \t\n"); - - if (!p || *p == '#') - continue; - - q = strtok(NULL," \t\n#"); - if (q) - { - in = ctoi(p, NULL); - if (in < 0 || in > 255) return -1; - - on = ctoi(q, NULL); - if (in < 0 && on > 255) return -1; - - buf[in] = on; - } - else return -1; - } - - return(0); -} - - -/* - * - converts a string into an int. - * - supports dec and hex bytes, hex UCS2, single-quoted byte and UTF8 chars. - * - returns the converted value - * - if `is_unicode != NULL', use it to tell whether it was unicode - * - * CAVEAT: will report valid UTF mappings using only 1 byte as 8-bit ones. - */ -long int ctoi(unsigned char *s, int *is_unicode) -{ - int i; - size_t ls; - - ls = strlen(s); - if (is_unicode) *is_unicode = 0; - - /* hex-specified UCS2 */ - if ((strncmp(s,"U+",2) == 0) && - (strspn(s+2,"0123456789abcdefABCDEF") == ls-2)) - { - sscanf(s+2,"%x",&i); - if (is_unicode) *is_unicode = 1; - } - - /* hex-specified byte */ - else if ((ls <= 4) && (strncmp(s,"0x",2) == 0) && - (strspn(s+2,"0123456789abcdefABCDEF") == ls-2)) - sscanf(s+2,"%x",&i); - - /* oct-specified number (byte) */ - else if ((*s == '0') && - (strspn(s,"01234567") == ls)) - sscanf(s,"%o",&i); - - /* dec-specified number (byte) */ - else if (strspn(s,"0123456789") == ls) - sscanf(s,"%d",&i); - - /* single-byte quoted char */ - else if ((strlen(s) == 3) && (s[0] == '\'') && (s[2] == '\'')) - i=s[1]; - - /* multi-byte UTF8 quoted char */ - else if ((s[0] == '\'') && (s[ls-1] == '\'')) - { - s[ls-1] = 0; /* ensure we'll not "parse UTF too far" */ - i = utf8_to_ucs2(s+1); - if (is_unicode) *is_unicode = 1; - } - else - return(-1); - - return(i); -} - - -#warning saveoldmap() should accept FILE* instead of char* as arg ? -void saveoldmap(int fd, char *omfil) -{ - FILE *fp; - char buf[E_TABSZ]; -#ifdef GIO_UNISCRNMAP - unicode xbuf[E_TABSZ]; - int is_old_map = 0; - - if (ioctl(fd,GIO_UNISCRNMAP,xbuf)) - { - perror(_("GIO_UNISCRNMAP ioctl error")); -#endif - if (ioctl(fd,GIO_SCRNMAP,buf)) - { - perror(_("GIO_SCRNMAP ioctl error")); - exit(1); - } - else - is_old_map = 1; -#ifdef GIO_UNISCRNMAP - } -#endif - - if ((fp = fopen(omfil, "w")) == NULL) - { - perror(omfil); - exit(1); - } - -#ifdef GIO_UNISCRNMAP - if (is_old_map) - { -#endif - if (fwrite(buf,E_TABSZ,1,fp) != 1) - { - perror(_("Error writing map to file")); - exit(1); - } -#ifdef GIO_UNISCRNMAP - } - else - if (fwrite(xbuf, sizeof(unicode) * E_TABSZ,1,fp) != 1) - { - perror(_("Error writing map to file")); - exit(1); - } -#endif - - fclose(fp); -} diff -Nru console-tools-0.2.3/lib/findfile.c console-tools-0.2.3/lib/findfile.c --- console-tools-0.2.3/lib/findfile.c 1999-07-19 19:38:01.000000000 +0000 +++ console-tools-0.2.3/lib/findfile.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,742 +0,0 @@ -#include <config.h> - -#include <stdlib.h> -#include <unistd.h> -#include <stdio.h> -#include <dirent.h> -#include <string.h> -#include <errno.h> -#include <sysexits.h> -#include <signal.h> -#include <assert.h> -#include <sys/stat.h> -#include <sys/wait.h> - -#include <lct/local.h> -#include <lct/utils.h> - -typedef enum -{ - compressed_not, - compressed_gzip, - compressed_compress, - compressed_bzip2, - compressed_lzop, - compressor_MAX -} compressed_type; - -char* decompressor_names[compressor_MAX] = -{ - "", - "gunzip", - "uncompress", - "bunzip2", - "lzop" -}; - -char* decompressor_options[compressor_MAX] = -{ - NULL, - NULL, - NULL, - NULL, - "-d" /* lzop has no "standalone" decompressor */ -}; - -static const char *compressor_suffixes[] = { - "", - ".gz", - ".lzo", - ".Z", - ".bz2", - 0 }; - -static pid_t pid_feeder = 0; -static pid_t pid_decompressor = 0; -static pid_t pid_identifier = 0; -static struct sigaction old_sa; -static compressed_type is_compressed; /* current file's compression */ - - -static void print_status (int status, char* name, char* parent) -{ - if (WIFEXITED(status)) - fprintf (stderr, _("%s: %s child exited anormally with code %d.\n"), - parent, name, WEXITSTATUS(status)); - else if (WIFSIGNALED(status)) - fprintf (stderr, _("%s: %s child was terminated by signal %d.\n"), - parent, name, WTERMSIG(status)); - else if (WIFSTOPPED(status)) - fprintf (stderr, _("%s: %s child was stopped by signal %d.\n"), - parent, name, WSTOPSIG(status)); -} - -static void chld_handler(int sig) -{ - int status; - pid_t pid; - char* name; - - /* FIXME: How to pass context pointer to here? */ - pid = wait(&status); - - if (pid == pid_feeder) - { - name = N_("Feeder"); - pid_feeder = 0; - } - else if (pid == pid_decompressor) - { - name = N_("Decompressor"); - pid_decompressor = 0; - } - else if (pid == pid_identifier) - { - name = N_("Identifier"); - pid_identifier = 0; - } - else - { - /* it's not one of our children */ - /* ...try to be nice to main program's handler - UNTESTED */ - if ((old_sa.sa_handler != SIG_IGN) && (old_sa.sa_handler != SIG_DFL)) - old_sa.sa_handler (sig); - return; - } - - if (WIFEXITED(status) && - ((WEXITSTATUS(status) == 0) || - ((WEXITSTATUS(status) == 2) && (is_compressed == compressed_gzip)))) - { - /* when no more of our children, - * restore application's SIGCHLD handler - */ - if (! (pid_feeder || pid_decompressor || pid_identifier)) - { - sigaction (SIGCHLD, &old_sa, NULL); - memset (&old_sa, 0, sizeof(old_sa)); - } - } - else - { - print_status (status, _(name), _("chld_handler()")); - exit (1); - } - -#if 0 - if (WIFEXITED(status)) - fprintf (stderr, _("%s child exited OK.\n"), _(name)); -#endif -} - - -static int feed (FILE* inf, int outfd) -{ - char buf[512]; /* FIXME: would it safe to make this larger ? */ - int count; - - do - { - if (-1 == (count = fread (buf, 1, sizeof(buf), inf))) - return -1; - if ((count > 0) && (-1 == (count = write (outfd, buf, count)))) - return -1; - } - while (count); - - return 0; -} - - -/* convenience macro - return FD */ -static FILE* do_pipe(const char* filename, FILE* minus_meaning, - const struct magicset* magics, int* magic_return) -{ - FILE *inf; - int file[2]; /* pipe transmitting original file (to gzip or identifier) */ - int uncompressed[2]; /* pipe transmitting uncompressed file (raw or gunzipped) */ - int identified[2]; /* pipe transmitting uncompressed magically-identified file */ - int is_seekable; - unsigned char zmagicbuf[9]; /* buffer used to get compressed magic number */ - unsigned i; - FILE *in; - struct magic* m; /* loop index */ - - /* the input file */ - if (NULL == (inf = xfopen (filename, "r", minus_meaning))) - return NULL; - - /* read for magic */ - if (fread (zmagicbuf, sizeof(zmagicbuf), 1, inf) != 1) - { - perror (_("fread magic")); /* Failed to read the magic ID at the start of the file */ - exit (1); - } - - /* identify compressed format by magic */ - if ((zmagicbuf[0] == 037) && (zmagicbuf[1] == 0213))/* gzip */ - { - is_compressed = compressed_gzip; - is_seekable = 0; - } - else if ((zmagicbuf[0] == 037) && (zmagicbuf[1] == 0235)) /* compress */ - { - is_compressed = compressed_compress; - is_seekable = 0; - } - else if ((zmagicbuf[0] == 'B') && (zmagicbuf[1] == 'Z') - && (zmagicbuf[2] == 'h')) /* bzip2 */ - { - is_compressed = compressed_bzip2; - is_seekable = 0; - } - else if (!strncmp (zmagicbuf, "\211LZO\0\r\n\32\n", 9)) - { - is_compressed = compressed_lzop; - is_seekable = 0; - } - else - { - is_compressed = 0; - - is_seekable = (-1 != fseek (inf, 0, SEEK_SET)); - - /* uncompressed seekable file and no need for - * magic identification, just use raw file */ - if (is_seekable && !magic_return) - return inf; - } - - /* - * case when file is not seekable - * ie, either compressed, or a "-" on command-line - */ - if (!is_seekable) - { - /* open pipes */ - if (-1 == pipe (uncompressed)) - return NULL; - - /* - * case when file is compressed - */ - if (is_compressed) - { - if (-1 == pipe (file)) - return NULL; - - /* fork a decompressor */ - switch (pid_decompressor = fork()) - { - case -1: - perror (_("decompressor fork")); - exit (1); - case 0: /* gzip child */ - /* unused FD's: */ - if (-1 == close (file[1])) - { - perror (_("decompressor: close file[1]")); - exit(1); - } - if (-1 == close (uncompressed[0])) - { - perror (_("decompressor: close uncompressed[0]")); - exit(1); - } - - /* I/O pipes */ - /* "file" feeding stdin */ - fclose (stdin); - if (-1 == dup2 (file[0], STDIN_FILENO)) - { - perror (_("decompressor: dup2 file[0]")); - exit(1); - } - /* "uncompressed" fed from stdout */ - fclose (stdout); - if (-1 == dup2 (uncompressed[1], STDOUT_FILENO)) - { - perror (_("decompressor: dup2 uncompressed[1]")); - exit(1); - } - - execlp (decompressor_names[is_compressed], - decompressor_names[is_compressed], - decompressor_options[is_compressed], - NULL); - if (errno==ENOENT) - fprintf (stderr, _("Decompressor program not found: %s\n"), - decompressor_names[is_compressed]); - else - perror (_("decompressor: execlp")); - - exit (1); - - default: /* parent */ - i = close (file[0]); - assert (-1 != i); - i = close (uncompressed[1]); - assert (-1 != i); - } - } - - /* fork a feeder-process (for gzip/compress, or for reader directly) */ - switch (pid_feeder = fork()) - { - case -1: - perror (_("feeder fork")); - exit (1); - case 0: /* feeder child: read from `inf' - write to `file' */ - /* unused FD's: */ - if (!is_compressed) - if (-1 == close (uncompressed[0])) - { - perror (_("feeder: close uncompressed[0]")); - exit(1); - } - - /* feed zmagicbuf, whether magic or not */ - if (write (is_compressed ? file[1] : uncompressed[1], zmagicbuf, sizeof(zmagicbuf)) - != sizeof(zmagicbuf)) - { - perror (_("feeder: write zmagicbuf")); - exit(1); - } - - if (feed (inf, is_compressed ? file[1] : uncompressed[1])) - { - perror (_("feeder: feed")); - exit(1); - } - - /* EOF */ - exit (0); - default: /* parent */ - i = close (is_compressed ? file[1] : uncompressed[1]); - assert (-1 != i); - i = fclose (inf); - assert (-1 != i); - } - } /* if unseekable */ - - /* - * test uncompressed file by magic if asked to - */ - if (magic_return) - { - char* magicIDbuf; - - /* setup FD's */ - if (is_seekable) - in = inf; - else - in = fdopen (uncompressed[0], "r"); - - /* try to read enough to identify the magic */ - magicIDbuf = (char*)malloc(magics->max_length_hint); - if (fread (magicIDbuf, magics->max_length_hint, 1, in) != 1) - { -#ifndef NDEBUG - perror (_("fread")); -#endif - errno = EINVAL; - return NULL; - } - - /* check each magic until one matches */ - for (m = (struct magic*)magics->m; m->id != FF_END; m++) - { - if (!m->magic) - *magic_return = m->id; - else - { - int ok = 1; - - for (i = 0; ok && i < m->length; i++) - ok = ok && ( ( magicIDbuf[i] & m->mask[i] ) == m->magic[i] ); - - if (ok) - { - *magic_return = m->id; - break; /* for magics */ - } - } - } - - /* rewind if possible */ - if (is_seekable) - rewind (inf); - else /* feed to user using a child process */ - { - if (-1 == pipe (identified)) - return NULL; - - switch (pid_identifier = fork()) - { - case -1: - perror (_("identifier fork")); - exit (1); - case 0: /* identifier child */ - if (-1 == close (identified[0])) - { - perror (_("identifier: close identified[0]")); - exit (1); - } - - /* feed magicIDbuf */ - if (write (identified[1], magicIDbuf, magics->max_length_hint) != (int)magics->max_length_hint) - { - perror (_("identifier: write magicIDbuf")); - exit (1); - } - - if (feed (in, identified[1])) - { - perror (_("identifier: feed")); - exit (1); - } - - /* EOF */ - exit (0); - default: /* parent */ - if (is_seekable) - { - i = close (uncompressed[0]); - assert (-1 != i); - } - else - { - i = fclose (inf); - assert (-1 != i); - } - assert (-1 != i); - i = close (identified[1]); - } - } - } - - return is_seekable ? inf - : fdopen (magic_return ? identified[0] - : uncompressed[0], "r"); -} - - -static void maybekillzombie (pid_t *pid, char* name) -{ - int status; - - /* if pid is 0, process is already dead */ - if (!*pid) return; - - /* return if no child to wait for */ - if (0 == waitpid (*pid, &status, WNOHANG)) return; - - if (WIFEXITED(status) && - ((WEXITSTATUS(status) == 0) || - ((WEXITSTATUS(status) == 2) && (is_compressed == compressed_gzip)))) - { -#ifndef NDEBUG - fprintf (stderr, _("Zombie %d caught.\n"), *pid); -#endif - *pid = 0; - } - else if (WIFEXITED(status) || WIFSIGNALED(status) || WIFSTOPPED(status)) - { - print_status (status, name, "maybekillzombie()"); - exit (1); - } -#ifndef NDEBUG - else - fprintf (stderr, _("One for nothing.\n")); -#endif -} - - -static int findfile_recursive(const char *fnam, const char *path, const char **suffixes, - char *fullname, size_t maxfullength, - int min_depth, int max_depth) -{ - const char **sp, **cs; - char* target; /* what to search right now */ - char* first_slash; /* NULL means look for a file */ - char* newpath = 0; /* full path to target */ - char* ptr_to_target = 0; /* save allocated ptr */ - struct stat st; - int found = 0; /* entry found */ - int retcode = 0; - - assert (fnam); - assert (fnam[0]); - assert ((!path) || path[0]); /* if not NULL, should not be "" */ - - /* check for leading "/" and tune args */ - if ((path == NULL) && (fnam[0] == '/')) - { - fnam++; - path = ""; - } - - -ffr_next_component: - /* extract the dir entry to look for into `target' */ - ptr_to_target = target = xstrdup(fnam); - first_slash = strchr(fnam, '/'); - if (first_slash) - target[first_slash-fnam] = 0; - - /* readability macro */ -#define WANT_A_DIR (first_slash) - - /* interpret a sequence of *'s to raise max_depth */ - if (target[0] == '*') - { - while (target[0] == '*') - { - if (max_depth>=0) max_depth++; /* do not increment if -1 */ - target++; - } - /* something else after *'s is an error */ - if (target[0]) - { - errno = EINVAL; - retcode = -1; - goto ffr_exit; - } - /* next path component */ - fnam = first_slash + 1; - free (ptr_to_target); - goto ffr_next_component; - } - - - /* maybe look for target in this dir */ - if (min_depth == 0) - { - /* set full path to target in newpath */ - if (path) - { - newpath = xmalloc (strlen(path) + strlen (target) + 2); - sprintf (newpath, "%s/%s", path, target); - } - else - { - newpath = xmalloc (strlen (target) + 1); - strcpy (newpath, target); - } - - - if (WANT_A_DIR) - /* look for it */ - if (stat (newpath, &st) == -1) - { - if (first_slash) - { - errno = ENOENT; - retcode = -1; - goto ffr_exit; - } - } - else - /* if we look for a dir */ - if (S_ISDIR(st.st_mode)) - { - retcode = findfile_recursive(first_slash+1, newpath, suffixes, - fullname, maxfullength, - min_depth, max_depth); - found = 1; - } - else - { - /* not a dir */ - errno = ENOTDIR; - retcode = -1; - goto ffr_exit; - } - else - /* we want a file */ - for (sp = suffixes; *sp && !found; sp++) - for (cs = compressor_suffixes; *cs && !found; cs++) - { - if (strlen(newpath) + strlen(*sp) + strlen(*cs) + 1 > maxfullength) - { - fprintf (stderr, _("Warning: ignoring a possible path (too long).")); - continue; - } - sprintf(fullname, "%s%s%s", newpath, *sp, *cs); - - /* check for file */ - if ((-1 != stat(fullname, &st)) && (!S_ISDIR(st.st_mode))) - { - found = 1; - retcode = 0; - } - } - } - - - /* maybe search in subdirs */ - if ((!found) && (max_depth > 0)) - { - DIR* d; - struct dirent *de; - - if (NULL == (d = opendir(path))) - return -1; - - while ((!found) && (de = readdir(d)) != NULL) - if (de->d_name[0] != '.') - { - free (newpath); - newpath = xmalloc (strlen(path) + strlen (de->d_name) + 2); - sprintf (newpath, "%s/%s", path, de->d_name); - - if ((-1 != stat (newpath, &st)) && S_ISDIR(st.st_mode)) - { - retcode = findfile_recursive (fnam, newpath, suffixes, fullname, maxfullength, - min_depth ? (min_depth - 1) : 0, - max_depth ? (max_depth - 1) : 0); - if (retcode == 0) - found = 1; - else if (errno != ENOENT) - { - closedir(d); /* should not change errno */ - goto ffr_exit; - } - } - } - closedir(d); - } - - /* if nothing was found */ - if (!found) - { - errno = ENOENT; - retcode = -1; - } - -ffr_exit: - { - int saved_errno = errno; - if (newpath) free (newpath); - if (ptr_to_target) free (ptr_to_target); - errno = saved_errno; - } - return retcode; -} - -FILE* findfile_simple(const char *fnam, const char **dirpath, const char **suffixes) -{ - return findfile (fnam, dirpath, suffixes, - NULL, 0, NULL, NULL, NULL); -} - -/* find input file; leave name in fullname[] */ -FILE* findfile(const char *fnam, const char **dirpath, const char **suffixes, - char *fullname, size_t maxfullength, FILE* minus_meaning, - const struct magicset* magics, int* magic_return) -{ - const char **dp; - FILE *fp = NULL; - struct sigaction sa; - int found; - sigset_t sigset, old_sigset; -#ifndef NDEBUG - int retries = 300; -#else - int retries = 30; -#endif - - if (maxfullength == 0) - { - maxfullength = 1024; - fullname = (char*)malloc (maxfullength * (sizeof(char))); - if (fullname == NULL) return NULL; - } - else - assert (fullname); - - /* if a dead child of do_pipe was not caught in/after a - * former call, fail - */ - while (retries && (pid_feeder || pid_decompressor || pid_identifier)) - { -#ifndef NDEBUG - fprintf (stderr, "f = %d, d = %d, i = %d\n", pid_feeder, pid_decompressor, pid_identifier); -#endif - usleep (100); -#if 1 - maybekillzombie(&pid_feeder, _("feeder")); - maybekillzombie(&pid_decompressor, _("decompressor")); - maybekillzombie(&pid_identifier, _("identifier")); -#endif - retries--; - } - if (!retries) - { - fprintf (stderr, _("findfile(): timeout waiting for undead child(ren) ?\n")); - exit (EX_SOFTWARE); - } - - /* install custom signal handler for dead children */ - /* only if our previous handler is no more here */ - sigaction (SIGCHLD, NULL, &sa); - if (sa.sa_handler != chld_handler) - { - memset (&sa, 0, sizeof (sa)); - sa.sa_handler = chld_handler; - sigaction (SIGCHLD, &sa, &old_sa); - } - - /* if we are asked to test a magic, and we don't have a magic list... */ - if (magic_return && !magics) - { - /* ...then say we don't know */ - *magic_return = FF_UNKNOWN; - /* and do as if we weren't asked to */ - magic_return = NULL; - } - - /* try to find an existing file according to PATH dirpath, and to default suffixes */ - found = 0; - for (dp = dirpath; *dp && !found; dp++) - { - if (*fnam == '/' && **dp) /* if fnam is an absolute filename spec, */ - continue; /* then skip until we have an empty entry in path */ - - { - char fname_buf[1024]; - - if (strlen(*dp) + strlen(fnam) +1 > sizeof (fname_buf)) - { - fprintf (stderr, _("Buffer overflow - aborting\n")); - exit (1); - } - - sprintf(fname_buf, "%s%s", *dp, fnam); - - if (-1 != findfile_recursive (fname_buf, NULL, suffixes, fullname, maxfullength, 0, 0)) - { - /* block SIGCHLD */ - sigemptyset (&sigset); - sigaddset (&sigset, SIGCHLD); - sigprocmask (SIG_BLOCK, &sigset, &old_sigset); - - fp = do_pipe(fullname, minus_meaning, magics, magic_return); - - /* restore sig mask */ - sigprocmask (SIG_SETMASK, &old_sigset, NULL); - - /* fp may be NULL if do_pipe() fails */ - found = 1; - } - else if (errno != ENOENT) - { - /* return, pass errno */ - fp = NULL; - found = 1; - } - } - } - - return found ? fp : NULL; -} diff -Nru console-tools-0.2.3/lib/findfile-lct.c console-tools-0.2.3/lib/findfile-lct.c --- console-tools-0.2.3/lib/findfile-lct.c 1999-08-31 20:44:41.000000000 +0000 +++ console-tools-0.2.3/lib/findfile-lct.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,92 +0,0 @@ -#include <config.h> - -#include <lct/local.h> -#include <lct/font.h> -#include <lct/console.h> - -static const char *mapdirpath[] = { - "", - DATADIR "/" TRANSDIR "/", -#ifdef LOCALDATADIR - LOCALDATADIR "/" TRANSDIR "/", -#endif - 0 }; -static const char *mapsuffixes[] = { - "", ".acm", - 0 }; -static const char *sfmsuffixes[] = { - "", ".sfm", ".uni", - 0 }; -static const char *sfmfallbacksuffixes[] = { - "", ".fallback", - 0 }; - - -static const char *fontdirpath[] = { "", DATADIR "/" FONTDIR "/", -#ifdef LOCALDATADIR - LOCALDATADIR "/" FONTDIR "/", -#endif - 0 }; -static const char *fontsuffixes[] = { - "", ".psf", ".cp", ".fnt", ".psfu", - 0 }; - -static const char *keymapdirpath[] = -{ - "", DATADIR "/" KEYMAPDIR "/**/", -#ifdef LOCALDATADIR - LOCALDATADIR "/" KEYMAPDIR "/**/", -#endif - KERNDIR "/", - 0 }; -static const char *keymapsuffixes[] = { - "", ".kmap", ".map", - 0 }; - -static const char *videomodedirpath[] = { "", DATADIR "/" VIDEOMODEDIR "/", -#ifdef LOCALDATADIR - LOCALDATADIR "/" VIDEOMODEDIR "/", -#endif - 0}; -static const char *videomodesuffixes[] = { "", 0 }; - - -static const struct magic __ff_magics__[] = -{ - { FFF_PSF, "\066\004", "\377\377", 2 }, - { FFF_XPSF, "\066\005", "\377\377", 2 }, - { FFF_CP, "\000\000\000\000\000\000\001\000EGA ", - "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377", 16 }, - { FFF_CP, "\000\000\000\000\000\000\001\000VIDEO ", - "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377", 16 }, - - /* default when no magic: */ - { FFF_RAW, NULL, NULL, 0 }, - - /* terminator */ - { FF_END, NULL, NULL, 0 } -}; - -/* font-file magics */ -const struct magicset ff_magics = -{ - 32, /* max magic length: more than enough */ - __ff_magics__ -}; - - -/* template for wrappers around findfont */ -#define FINDFONT_WRAPPER(NAME, PATH, SUFFIXES, MAGICS) \ -FINDFONT_WRAPPER_HEADER(NAME) \ -{ \ - return findfile(fnam, PATH, SUFFIXES, fullname, maxfullength, minus_meaning, MAGICS, magic_return); \ -} - -/* wrappers */ - -FINDFONT_WRAPPER(font, fontdirpath, fontsuffixes, &ff_magics) -FINDFONT_WRAPPER(acm, mapdirpath, mapsuffixes, NULL) -FINDFONT_WRAPPER(sfm, mapdirpath, sfmsuffixes, NULL) -FINDFONT_WRAPPER(sfmfallback, mapdirpath, sfmfallbacksuffixes, NULL) -FINDFONT_WRAPPER(keymap, keymapdirpath, keymapsuffixes, NULL) -FINDFONT_WRAPPER(videomode, videomodedirpath, videomodesuffixes, NULL) diff -Nru console-tools-0.2.3/lib/fontdata.c console-tools-0.2.3/lib/fontdata.c --- console-tools-0.2.3/lib/fontdata.c 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/lib/fontdata.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,58 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <errno.h> -#include <linux/kd.h> - -#include <lct/font.h> - -/* NOTE: the IOCTLs request 32 scanlines, whatever the fontheight */ - -int fontdata_write_binary(FILE* out, struct cfontdesc *cfd) -{ - unsigned i; - - if (cfd->charwidth != 8) - { - errno = EINVAL; - return -1; - } - - for (i = 0; i < cfd->charcount; i++) - if (fwrite(cfd->chardata + (i << 5 /* 32*i */), cfd->charheight, 1, out) != 1) - return -1; - - return 0; -} - -int fontdata_read_binary(FILE* in, struct cfontdesc *cfd) -{ - unsigned i; - - /* sanity check */ - if (cfd->charheight < 1 || cfd->charheight > 32) - { - errno = EINVAL; - return -1; - } - - if (cfd->charwidth != 8) - { - errno = EINVAL; - return -1; - } - - /* padding zeroes till scanline 32 */ - memset(cfd->chardata, 0, sizeof(cfd->chardata)); - - /* chars not yet read */ - for (i = 0; i < cfd->charcount; i++) - { - if (fread(cfd->chardata+(32*i), cfd->charheight, 1, in) != 1) - { - perror("Cannot read font from file"); - exit(1); - } - } - - return 0; -} diff -Nru console-tools-0.2.3/lib/fontstruct.c console-tools-0.2.3/lib/fontstruct.c --- console-tools-0.2.3/lib/fontstruct.c 1999-08-31 20:43:15.000000000 +0000 +++ console-tools-0.2.3/lib/fontstruct.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,239 +0,0 @@ -#include <config.h> -#include <errno.h> -#include <string.h> -#include <stdlib.h> -#include <assert.h> - -#include <sys/stat.h> -#include <lct/local.h> -#include <lct/font.h> - -/* defined later */ -static void position_codepage(int requested_height, FILE *fpi); - -/*@null@*/ -simple_font* read_simple_font (FILE* fontfile, FILE* sfmfile, int font_format) -{ - struct stat stbuf; - off_t filesize; - int has_internal_sfm = 0; - simple_font* the_font; - - /* - * check arguments - */ - - /* fontfile is required */ - if (fontfile == NULL) - { - errno = EINVAL; - return NULL; - } - - /* - * init - */ - - the_font = (simple_font*)calloc (1, sizeof(simple_font)); - if (!the_font) return NULL; - - /* - * get filesize - */ - - /* FIXME: should not use _fileno ! */ - if (fstat(fontfile->_fileno, &stbuf) == -1) - goto rsf_return_error; - - if (S_ISREG(stbuf.st_mode)) - filesize = stbuf.st_size; - else - { - /* reading from pipe */ - errno = 0; - filesize = -1; /* cannot know, so say we don't know */ - } - - - /* - * Position `fontfile' on fontdata for loading; - * set relevant parameters accoring to font_format - */ - switch (font_format) - { - case FFF_PSF: - { - struct psf_header psfhdr; - - if (fread(&psfhdr, sizeof(struct psf_header), 1, fontfile) != 1) - { - if (feof(fontfile)) - errno = EBFONT; /* header should be complete */ - goto rsf_return_error; - } - - /* this was already identified, or we shouldn't be there */ - assert (PSF_MAGIC_OK(psfhdr)); - - if (! PSF_MODE_VALID(psfhdr.mode)) - { - int saved_errno = errno; - fprintf(stderr, _("Unsupported psf file mode: %u.\n"), psfhdr.mode); - errno = saved_errno; - goto rsf_return_error; - } - - the_font->font.charcount = ((PSF_MODE_HAS512(psfhdr.mode)) ? 512 : 256); - has_internal_sfm = (PSF_MODE_HASSFM(psfhdr.mode)); - the_font->font.charheight = psfhdr.charheight; - the_font->font.charwidth = 8; - -#if 0 /* this useless test is only possible on uncompressed files */ - { - int head = sizeof(struct psf_header) - + the_font->font.charcount*the_font->font.charheight; - - if ((filesize > 0) && (head > filesize || (!has_internal_sfm && head != filesize))) - { - fprintf(stderr, _("Input file: bad length.\n")); - exit(1); - } - } -#endif - - break; - } - - /* CP is not a simple_font format, though we could emulate that */ - case FFF_CP: - fprintf (stderr, _("CP is not a simple_font format.\n")); - errno = EBFONT; - goto rsf_return_error; - - case FFF_RAW: -#if 1 /* RAW filesize check */ - /* raw font */ - if ((filesize > 0) && (filesize & 0377)) - { - errno = EBFONT; - goto rsf_return_error; - } -#endif - if (filesize > 0) - { - the_font->font.charheight = filesize/256; - the_font->font.charwidth = 8; - the_font->font.charcount = 256; - } - else - { - fprintf (stderr, _("Cannot (yet) load a non-seekable RAW file\n")); - errno = EINVAL; - goto rsf_return_error; - } - break; - - default: - fprintf (stderr, _("I can't handle this font-file format yet.\n")); - errno = EINVAL; - goto rsf_return_error; - } - - - /* - * read font bitmaps - */ - - /* allocate ( unit_max = 32 ) * (fontsize_max = 512) - * FIXME: could be scaled down to (32 * fontsize) ? could that break PIO_FONT - * maybe 32 * min (fontsize, 256) ? */ - the_font->font.chardata = (char*)malloc (16384); - - fontdata_read_binary (fontfile, &(the_font->font) ); - - /* - * sanity check for file-size on old font-formats - */ - if ((font_format == FFF_CP) || (font_format == FFF_RAW)) - { - long old_pos = ftell (fontfile); - - xfseek (fontfile, 0, SEEK_END); - - if (((font_format == FFF_RAW) && (old_pos != ftell (fontfile))) || - ((font_format == FFF_CP) && (ftell (fontfile) != 9780))) - { - fprintf (stderr, _("Bad font input font-file length. Aborting.\n")); - exit (1); - } - } - - /* read provided SFM if there is one */ - if ((font_format == FFF_PSF) && has_internal_sfm) - { - if (-1 == sfm_read_binary (fontfile, &(the_font->sfm), the_font->font.charcount)) - goto rsf_return_error; - -#ifndef NDEBUG - /* if (verbose)*/ - fprintf(stderr, _("Reading SFM from font file.\n")); -#endif - } - - return the_font; /* success */ - -rsf_return_error: - { - int saved_errno = errno; - - if (the_font->font.chardata) - free (the_font->font.chardata); - free (the_font); - - errno = saved_errno; - } - return NULL; -} - - -/*@unused@*/ -static void position_codepage(int requested_height, FILE *fpi) -{ - int offset; - - /* code page: first 40 bytes, then 8x16 font, - * then 6 bytes, then 8x14 font, - * then 6 bytes, then 8x8 font - */ - - /* if we're there we already read sizeof(psf_header) bytes. */ - - if (!requested_height) - { - fprintf(stderr, - _("This file contains 3 fonts: 8x8, 8x14 and 8x16. Please indicate\n" - "using a --char-height option of 8, 14, or 16 which one you want to load.\n")); - exit(1); - } - switch (requested_height) - { - case 8: - offset = 7732; break; - case 14: - offset = 4142; break; - case 16: - offset = 40; break; - default: - fprintf(stderr, - _("You asked for font height %d, but only 8, 14, 16 are possible here.\n"), - requested_height); - exit(1); - } - - /* use SEEK_CUR to allow for pipes */ - if (xfseek(fpi, offset, SEEK_SET)) - { - perror(_("seek error on input file")); - exit(1); - } -} diff -Nru console-tools-0.2.3/lib/kernelfont.c console-tools-0.2.3/lib/kernelfont.c --- console-tools-0.2.3/lib/kernelfont.c 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/lib/kernelfont.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,246 +0,0 @@ -#include <config.h> - -#include <stdlib.h> -#include <errno.h> -#include <sys/ioctl.h> -#include <linux/kd.h> -#include <lct/font.h> -#include <lct/console.h> - -#define MAXFONTSIZE 512 - -static void height_adjust(cfontdesc* cfd) -{ - unsigned i; - - if (cfd->charwidth != 8) - return; - - for (cfd->charheight = 32; cfd->charheight > 0; cfd->charheight--) - for (i = 0; i < cfd->charcount; i++) - if (cfd->chardata[32*i+cfd->charheight-1]) - return; -} - -/* - * get kernel font, trying to use, in this order: - * - KDFONTOP (linux 2.1.106 and later) - * - GIO_FONTX - * - GIO_FONT - */ -cfontdesc* get_kernel_font(int fd) -{ - int retval; - int saved_errno = 0; - cfontdesc* cfd_ret; - - /* FIXME: should be handled to some extent by autoconf */ -#if !defined(KDFONTOP) && !defined(GIO_FONTX) && !defined(GIO_FONT) -# error Cannot get kernel font -#endif - - /* allocate the return struct */ - cfd_ret = (cfontdesc*)calloc(1, sizeof(cfontdesc)); - - /* - * try KDFONTOP - */ - -#ifdef KDFONTOP - { - struct console_font_op cfo; - -# ifndef NDEBUG - fprintf (stderr, "Trying KDFONTOP.\n"); -# endif - - cfo.data = (char *)malloc (32*MAXFONTSIZE*4); - cfo.charcount = MAXFONTSIZE; - cfo.width = 32; cfo.height = 32; - cfo.flags = 0; cfo.op = KD_FONT_OP_GET; - - retval = ioctl (fd, KDFONTOP, &cfo); - if ((retval == -1) && (errno != EINVAL) && (errno != ENOSYS)) - { - saved_errno = errno; - free(cfo.data); - errno = saved_errno; - return NULL; - } - - if (retval == 0) - { - cfd_ret->charcount = cfo.charcount; - cfd_ret->charwidth = cfo.width; - cfd_ret->charheight = cfo.height; - cfd_ret->chardata = cfo.data; - return cfd_ret; - } - } -#endif /* KDFONTOP */ - - /* - * try GIO_FONTX - */ - -#ifdef GIO_FONTX - { - struct consolefontdesc cfd; - -# ifndef NDEBUG - fprintf (stderr, "Trying GIO_FONTX.\n"); -# endif - - cfd.charheight = 0; - cfd.chardata = (char*)malloc (32*MAXFONTSIZE); - cfd.charcount = MAXFONTSIZE; - - retval = ioctl (fd, GIO_FONTX, &cfd); - if ((retval == -1) && (errno != EINVAL)) - { - saved_errno = errno; - free (cfd.chardata); - errno = saved_errno; - return NULL; - } - - if (retval == 0) - { - cfd_ret->charcount = cfd.charcount; - cfd_ret->charwidth = 8; - cfd_ret->charheight = cfd.charheight; - cfd_ret->chardata = cfd.chardata; - return cfd_ret; - } - } -#endif /* GIO_FONTX */ - - /* - * try GIO_FONT - */ - -#ifdef GIO_FONT - cfd_ret->chardata = (char*)malloc (32*256); - cfd_ret->charcount = 256; - cfd_ret->charwidth = 8; - -# ifndef NDEBUG - fprintf (stderr, "Trying GIO_FONT.\n"); -# endif - - retval = ioctl (fd, GIO_FONT, cfd_ret->chardata); - if (retval == -1) - { - saved_errno = errno; - free (cfd_ret->chardata); - errno = saved_errno; - return NULL; - } - - /* As we had to rely on GIO_FONT, find the most efficient char-height - * from the data we got. - * FIXME: should this be set to console cell-height ? - */ - height_adjust(cfd_ret); - - return cfd_ret; -#endif /* GIO_FONT */ -} - - -/* - * set kernel font, trying to use, in this order: - * - KDFONTOP (linux 2.1.106 and later) - * - PIO_FONTX - * - PIO_FONT - */ -int set_kernel_font(int fd, cfontdesc *cfd) -{ - /* FIXME: should be handled to some extent by autoconf */ -#if !defined(KDFONTOP) && !defined(PIO_FONTX) && !defined(PIO_FONT) -# error Cannot set kernel font -#endif - - /* allow height autodetection for width 8 */ - /* Who uses this, and what for ?? */ - if (!cfd->charheight) - { - if (cfd->charwidth != 8) - { - errno = EINVAL; - return -1; - } - height_adjust(cfd); - } - -#ifdef KDFONTOP - { - struct console_font_op cfo; - -# ifndef NDEBUG - fprintf (stderr, "Trying KDFONTOP.\n"); -# endif - - cfo.op = KD_FONT_OP_SET; - cfo.data = cfd->chardata; - cfo.charcount = cfd->charcount; - cfo.height = cfd->charheight; - cfo.width = cfd->charwidth; - - if (0 == ioctl (fd, KDFONTOP, &cfo)) - return 0; - else if (errno != EINVAL) - return -1; - } -#endif /* KDFONTOP */ - - /* only KDFONTOP can set a width different from 8 */ - if (cfd->charwidth != 8) - { - errno = EINVAL; - return -1; - } - - /*#if defined(PIO_FONTX) && !defined(sparc)*/ -#ifdef PIO_FONTX - { - struct consolefontdesc cf; - -# ifndef NDEBUG - fprintf (stderr, "Trying PIO_FONTX.\n"); -# endif - - cf.chardata = cfd->chardata; - cf.charcount = cfd->charcount; - cf.charheight = cfd->charheight; - - if (0 == ioctl (fd, PIO_FONTX, &cf)) - return 0; - else if (errno != EINVAL) - return -1; - } -#endif /* PIO_FONTX */ - -#ifdef PIO_FONT -# ifndef NDEBUG - fprintf (stderr, "Trying PIO_FONT.\n"); -# endif - - if (ioctl (fd, PIO_FONT, cfd->chardata)) - return -1; -#endif /* PIO_FONT */ - - return 0; -} - -void restore_rom_font(int fd) -{ - /* On most kernels this won't work since it is not supported - when BROKEN_GRAPHICS_PROGRAMS is defined, and that is defined - by default. Moreover, this is not defined for vgacon. */ - if (ioctl(fd, PIO_FONTRESET, 0)) - { - perror("PIO_FONTRESET"); - } -} - diff -Nru console-tools-0.2.3/lib/ksyms.c console-tools-0.2.3/lib/ksyms.c --- console-tools-0.2.3/lib/ksyms.c 1999-07-19 19:40:38.000000000 +0000 +++ console-tools-0.2.3/lib/ksyms.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,1031 +0,0 @@ -#include <config.h> -#include <linux/keyboard.h> -#include <stdio.h> -#include <string.h> - -#include <lct/local.h> -#include <lct/ksyms.h> - -#include <lct/cyrillic.syms.h> -#include <lct/ethiopic.syms.h> -#include <lct/latin8.syms.h> - - -static char *iso_8859_1_syms[] = -{ - "nul", - "Control_a", - "Control_b", - "Control_c", - "Control_d", - "Control_e", - "Control_f", - "Control_g", - "BackSpace", - "Tab", - "Linefeed", - "Control_k", - "Control_l", - "Control_m", - "Control_n", - "Control_o", - "Control_p", - "Control_q", - "Control_r", - "Control_s", - "Control_t", - "Control_u", - "Control_v", - "Control_w", - "Control_x", - "Control_y", - "Control_z", - "Escape", - "Control_backslash", - "Control_bracketright", - "Control_asciicircum", - "Control_underscore", - "space", - "exclam", - "quotedbl", - "numbersign", - "dollar", - "percent", - "ampersand", - "apostrophe", - "parenleft", - "parenright", - "asterisk", - "plus", - "comma", - "minus", - "period", - "slash", - "zero", - "one", - "two", - "three", - "four", - "five", - "six", - "seven", - "eight", - "nine", - "colon", - "semicolon", - "less", - "equal", - "greater", - "question", - "at", - "A", - "B", - "C", - "D", - "E", - "F", - "G", - "H", - "I", - "J", - "K", - "L", - "M", - "N", - "O", - "P", - "Q", - "R", - "S", - "T", - "U", - "V", - "W", - "X", - "Y", - "Z", - "bracketleft", - "backslash", - "bracketright", - "asciicircum", - "underscore", - "grave", - "a", - "b", - "c", - "d", - "e", - "f", - "g", - "h", - "i", - "j", - "k", - "l", - "m", - "n", - "o", - "p", - "q", - "r", - "s", - "t", - "u", - "v", - "w", - "x", - "y", - "z", - "braceleft", - "bar", - "braceright", - "asciitilde", - "Delete", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "nobreakspace", - "exclamdown", - "cent", - "sterling", - "currency", - "yen", - "brokenbar", - "section", - "diaeresis", - "copyright", - "ordfeminine", - "guillemotleft", - "notsign", - "hyphen", - "registered", - "macron", - "degree", - "plusminus", - "twosuperior", - "threesuperior", - "acute", - "mu", - "paragraph", - "periodcentered", - "cedilla", - "onesuperior", - "masculine", - "guillemotright", - "onequarter", - "onehalf", - "threequarters", - "questiondown", - "Agrave", - "Aacute", - "Acircumflex", - "Atilde", - "Adiaeresis", - "Aring", - "AE", - "Ccedilla", - "Egrave", - "Eacute", - "Ecircumflex", - "Ediaeresis", - "Igrave", - "Iacute", - "Icircumflex", - "Idiaeresis", - "ETH", - "Ntilde", - "Ograve", - "Oacute", - "Ocircumflex", - "Otilde", - "Odiaeresis", - "multiply", - "Ooblique", - "Ugrave", - "Uacute", - "Ucircumflex", - "Udiaeresis", - "Yacute", - "THORN", - "ssharp", - "agrave", - "aacute", - "acircumflex", - "atilde", - "adiaeresis", - "aring", - "ae", - "ccedilla", - "egrave", - "eacute", - "ecircumflex", - "ediaeresis", - "igrave", - "iacute", - "icircumflex", - "idiaeresis", - "eth", - "ntilde", - "ograve", - "oacute", - "ocircumflex", - "otilde", - "odiaeresis", - "division", - "oslash", - "ugrave", - "uacute", - "ucircumflex", - "udiaeresis", - "yacute", - "thorn", - "ydiaeresis" -}; - -static char *iso_8859_2_syms[] = -{ - "", "Aogonek", "breve", "Lstroke", "", "Lcaron", "Sacute", "", - "", "Scaron", "Scedilla", "Tcaron", "Zacute", "", "Zcaron", "Zabovedot", - "", "aogonek", "ogonek", "lstroke", "", "lcaron", "sacute", "caron", - "", "scaron", "scedilla", "tcaron", "zacute", "doubleacute", "zcaron", "zabovedot", - "Racute", "", "", "Abreve", "", "Lacute", "Cacute", "", - "Ccaron", "", "Eogonek", "", "Ecaron", "", "", "Dcaron", - "Dstroke", "Nacute", "Ncaron", "", "", "Odoubleacute", "", "", - "Rcaron", "Uring", "", "Udoubleacute", "", "", "Tcedilla", "", - "racute", "", "", "abreve", "", "lacute", "cacute", "", - "ccaron", "", "eogonek", "", "ecaron", "", "", "dcaron", - "dstroke", "nacute", "ncaron", "", "", "odoubleacute", "", "", - "rcaron", "uring", "", "udoubleacute", "", "", "tcedilla", "abovedot" -}; - -static char *mazovia_syms[] = /* as specified by Wlodek Bzyl <matwb@univ.gda.pl> */ -{ - "", "", "", "", "", "", "aogonek", "", /* 8x */ - "", "", "", "", "", "cacute", "", "Aogonek", - "Eogonek", "eogonek", "lstroke", "", "", "Cacute", "", "", /* 9x */ - "Sacute", "", "", "", "Lstroke", "", "sacute", "", - "Zacute", "Zabovedot", "oacute", "Oacute", - "nacute", "Nacute", "zacute", "zabovedot", /* ax */ - "", "", "", "", "", "", "guillemotleft", "guillemotright", - "", "", "", "", "", "", "", "", /* bx */ - "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "", /* cx */ - "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "", /* dx */ - "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "", /* ex */ - "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "", /* fx */ - "", "", "", "", "", "", "", "quotedblbase" -}; - -static char *iso_8859_3_syms[] = -{ - "", "Hstroke", "", "", "", "", "Hcircumflex", "", - "", "Iabovedot", "", "Gbreve", "Jcircumflex", "", "", "", - "", "hstroke", "", "", "", "", "hcircumflex", "", - "", "idotless", "", "gbreve", "jcircumflex", "", "", "", - "", "", "", "", "", "Cabovedot", "Ccircumflex", "", - "", "", "", "", "", "", "", "", - "", "", "", "", "", "Gabovedot", "", "", - "Gcircumflex", "", "", "", "", "Ubreve", "Scircumflex", "", - "", "", "", "", "", "cabovedot", "ccircumflex", "", - "", "", "", "", "", "", "", "", - "", "", "", "", "", "gabovedot", "", "", - "gcircumflex", "", "", "", "", "ubreve", "scircumflex", "" -}; - -static char *iso_8859_4_syms[] = -{ - "", "Aogonek", "kra", "Rcedilla", "", "Itilde", "Lcedilla", "", - "", "Scaron", "Emacron", "Gcedilla", "Tslash", "", "Zcaron", "", - "", "aogonek", "", "rcedilla", "", "itilde", "lcedilla", "", - "", "scaron", "emacron", "gcedilla", "tslash", "ENG", "zcaron", "eng", - "Amacron", "", "", "", "Adiaresis", "", "", "Iogonek", - "Ccaron", "", "Eogonek", "", "Eabovedot", "", "", "Imacron", - "", "Ncedilla", "Omacron", "Kcedilla", "", "Otilde", "Odiaresis", "", - "", "Uogonek", "", "", "Udiaresis", "Utilde", "Umacron", "", - "amacron", "", "", "", "adiaresis", "", "", "iogonek", - "ccaron", "", "eogonek", "", "eabovedot", "", "", "imacron", - "", "ncedilla", "omacron", "kcedilla", "", "", "otilde", "odiaresis", - "", "uogonek", "", "", "udiaresis", "utilde", "umacron", "" -}; - -static char *iso_8859_5_syms[] = /* 160-255 */ -{ - "no-break_space", /* 0240 */ - "cyrillic_capital_letter_io", - "serbocroatian_cyrillic_capital_letter_dje", - "macedonian_cyrillic_capital_letter_gje", - "ukrainian_cyrillic_capital_letter_ie", - "macedonian_cyrillic_capital_letter_dze", - "ukrainian_cyrillic_capital_letter_i", - "ukrainian_cyrillic_capital_letter_yi", - "cyrillic_capital_letter_je", /* 0250 */ - "cyrillic_capital_letter_lje", - "cyrillic_capital_letter_nje", - "serbocroatian_cyrillic_capital_letter_chje", - "macedonian_cyrillic_capital_letter_kje", - "soft_hyphen", - "bielorussian_cyrillic_capital_letter_short_u", - "cyrillic_capital_letter_dze", - "cyrillic_capital_letter_a", /* 0260 */ - "cyrillic_capital_letter_be", - "cyrillic_capital_letter_ve", - "cyrillic_capital_letter_ghe", - "cyrillic_capital_letter_de", - "cyrillic_capital_letter_ie", - "cyrillic_capital_letter_zhe", - "cyrillic_capital_letter_ze", - "cyrillic_capital_letter_i", /* 0270 */ - "cyrillic_capital_letter_short_i", - "cyrillic_capital_letter_ka", - "cyrillic_capital_letter_el", - "cyrillic_capital_letter_em", - "cyrillic_capital_letter_en", - "cyrillic_capital_letter_o", - "cyrillic_capital_letter_pe", - "cyrillic_capital_letter_er", /* 0300 */ - "cyrillic_capital_letter_es", - "cyrillic_capital_letter_te", - "cyrillic_capital_letter_u", - "cyrillic_capital_letter_ef", - "cyrillic_capital_letter_ha", - "cyrillic_capital_letter_tse", - "cyrillic_capital_letter_che", - "cyrillic_capital_letter_sha", /* 0310 */ - "cyrillic_capital_letter_shcha", - "cyrillic_capital_hard_sign", - "cyrillic_capital_letter_yeru", - "cyrillic_capital_soft_sign", - "cyrillic_capital_letter_e", - "cyrillic_capital_letter_yu", - "cyrillic_capital_letter_ya", - "cyrillic_small_letter_a", /* 0320 */ - "cyrillic_small_letter_be", - "cyrillic_small_letter_ve", - "cyrillic_small_letter_ghe", - "cyrillic_small_letter_de", - "cyrillic_small_letter_ie", - "cyrillic_small_letter_zhe", - "cyrillic_small_letter_ze", - "cyrillic_small_letter_i", /* 0330 */ - "cyrillic_small_letter_short_i", - "cyrillic_small_letter_ka", - "cyrillic_small_letter_el", - "cyrillic_small_letter_em", - "cyrillic_small_letter_en", - "cyrillic_small_letter_o", - "cyrillic_small_letter_pe", - "cyrillic_small_letter_er", /* 0340 */ - "cyrillic_small_letter_es", - "cyrillic_small_letter_te", - "cyrillic_small_letter_u", - "cyrillic_small_letter_ef", - "cyrillic_small_letter_ha", - "cyrillic_small_letter_tse", - "cyrillic_small_letter_che", - "cyrillic_small_letter_sha", /* 0350 */ - "cyrillic_small_letter_shcha", - "cyrillic_small_hard_sign", - "cyrillic_small_letter_yeru", - "cyrillic_small_soft_sign", - "cyrillic_small_letter_e", - "cyrillic_small_letter_yu", - "cyrillic_small_letter_ya", - "number_acronym", /* 0360 */ - "cyrillic_small_letter_io", - "serbocroatian_cyrillic_small_letter_dje", - "macedonian_cyrillic_small_letter_gje", - "ukrainian_cyrillic_small_letter_ie", - "macedonian_cyrillic_small_letter_dze", - "ukrainian_cyrillic_small_letter_i", - "ukrainian_cyrillic_small_letter_yi", - "cyrillic_small_letter_je", /* 0370 */ - "cyrillic_small_letter_lje", - "cyrillic_small_letter_nje", - "serbocroatian_cyrillic_small_letter_chje", - "macedonian_cyrillic_small_letter_kje", - "paragraph_sign", - "bielorussian_cyrillic_small_letter_short_u", /* printing error in ECMA-113 */ - "cyrillic_small_letter_dze" -}; - -static char *iso_8859_7_syms[] = /* 160-255 */ -{ - "", "leftquote", "rightquote", "", "", "", "", "", - "", "", "", "", "", "", "", "", - "", "", "", "", "accent", "diaeresisaccent", "Alphaaccent", "", - "Epsilonaccent", "Etaaccent", "Iotaaccent", "rightanglequote", "Omicronaccent", "onehalf", "Upsilonaccent", "Omegaaccent", - "iotadiaeresisaccent", "Alpha", "Beta", "Gamma", "Delta", "Epsilon", "Zeta", "Eta", - "Theta", "Iota", "Kappa", "Lamda" /*sic*/, "Mu", "Nu", "Ksi", "Omicron", - "Pi", "Rho", "", "Sigma", "Tau", "Upsilon", "Phi", "Khi", - "Psi", "Omega", "Iotadiaeresis", "Upsilondiaeresis", "alphaaccent", "epsilonaccent", "etaaccent", "iotaaccent", - "upsilondiaeresisaccent", "alpha", "beta", "gamma", "delta", "epsilon", "zeta", "eta", - "theta", "iota", "kappa", "lamda" /*sic*/, "mu", "nu", "ksi", "omicron", - "pi", "rho", "terminalsigma", "sigma", "tau", "upsilon", "phi", "khi", - "psi", "omega", "iotadiaeresis", "upsilondiaeresis", "omicronaccent", "upsilonaccent", "omegaaccent", "" -}; - -static char *iso_8859_8_syms[] = -{ - "", "", "", "", "", "", "", "", - "", "", "multiplication", "", "", "", "", "overscore", - "", "", "", "", "", "", "", "", - "", "", "division", "", "", "", "", "", - "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "doubleunderscore", - "alef", "bet", "gimel", "dalet", "he", "vav", "zayin", "het", - "tet", "yod", "finalkaf", "kaf", "lamed", "finalmem", "mem", "finalnun", - "nun", "samekh", "ayin", "finalpe", "pe", "finaltsadi", "tsadi", "qof", - "resh", "shin", "tav", "", "", "", "", "" -}; - -static char *iso_8859_9_syms[] = /* latin-5 */ -{ - /* Identical to latin-1, but with the 6 symbols - ETH, eth, THORN, thorn, Yacute, yacute replaced by - Gbreve, gbreve, Scedilla, scedilla, Idotabove, dotlessi */ - "Gbreve", "", "", "", "", "", "", "", /* 0320-0327 */ - "", "", "", "", "", "Idotabove", "Scedilla", "", - "", "", "", "", "", "", "", "", /* 0340-0347 */ - "", "", "", "", "", "", "", "", /* 0350-0357 */ - "gbreve", "", "", "", "", "", "", "", /* 0360-0367 */ - "", "", "", "", "", "dotlessi", "scedilla", "" -}; - -static char *iso_8859_15_syms[] = -{ - "", "", "", "", "euro", "", "Scaron", "", - "scaron", "", "", "", "", "", "", "", - "", "", "", "", "Zcaron", "", "", "", - "zcaron", "", "", "", "OE", "oe", "Ydiaeresis", "", - "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "" -}; - -static char *fn_syms[] = -{ - "F1", "F2", "F3", "F4", "F5", - "F6", "F7", "F8", "F9", "F10", - "F11", "F12", "F13", "F14", "F15", - "F16", "F17", "F18", "F19", "F20", - "Find", /* also called: "Home" */ - "Insert", - "Remove", - "Select", /* also called: "End" */ - "Prior", /* also called: "PageUp" */ - "Next", /* also called: "PageDown" */ - "Macro", - "Help", - "Do", - "Pause", - "F21", "F22", "F23", "F24", "F25", - "F26", "F27", "F28", "F29", "F30", - "F31", "F32", "F33", "F34", "F35", - "F36", "F37", "F38", "F39", "F40", - "F41", "F42", "F43", "F44", "F45", - "F46", "F47", "F48", "F49", "F50", - "F51", "F52", "F53", "F54", "F55", - "F56", "F57", "F58", "F59", "F60", - "F61", "F62", "F63", "F64", "F65", - "F66", "F67", "F68", "F69", "F70", - "F71", "F72", "F73", "F74", "F75", - "F76", "F77", "F78", "F79", "F80", - "F81", "F82", "F83", "F84", "F85", - "F86", "F87", "F88", "F89", "F90", - "F91", "F92", "F93", "F94", "F95", - "F96", "F97", "F98", "F99", "F100", - "F101", "F102", "F103", "F104", "F105", - "F106", "F107", "F108", "F109", "F110", - "F111", "F112", "F113", "F114", "F115", - "F116", "F117", "F118", "F119", "F120", - "F121", "F122", "F123", "F124", "F125", - "F126", "F127", "F128", "F129", "F130", - "F131", "F132", "F133", "F134", "F135", - "F136", "F137", "F138", "F139", "F140", - "F141", "F142", "F143", "F144", "F145", - "F146", "F147", "F148", "F149", "F150", - "F151", "F152", "F153", "F154", "F155", - "F156", "F157", "F158", "F159", "F160", - "F161", "F162", "F163", "F164", "F165", - "F166", "F167", "F168", "F169", "F170", - "F171", "F172", "F173", "F174", "F175", - "F176", "F177", "F178", "F179", "F180", - "F181", "F182", "F183", "F184", "F185", - "F186", "F187", "F188", "F189", "F190", - "F191", "F192", "F193", "F194", "F195", - "F196", "F197", "F198", "F199", "F200", - "F201", "F202", "F203", "F204", "F205", - "F206", "F207", "F208", "F209", "F210", - "F211", "F212", "F213", "F214", "F215", - "F216", "F217", "F218", "F219", "F220", - "F221", "F222", "F223", "F224", "F225", - "F226", "F227", "F228", "F229", "F230", - "F231", "F232", "F233", "F234", "F235", - "F236", "F237", "F238", "F239", "F240", - "F241", "F242", "F243", "F244", "F245", - "F246" /* there are 10 keys named Insert etc., total 256 */ -}; - -static char *spec_syms[] = -{ - "VoidSymbol", - "Return", - "Show_Registers", - "Show_Memory", - "Show_State", - "Break", - "Last_Console", - "Caps_Lock", - "Num_Lock", - "Scroll_Lock", - "Scroll_Forward", - "Scroll_Backward", - "Boot", - "Caps_On", - "Compose", - "SAK", - "Decr_Console", - "Incr_Console", - "KeyboardSignal", - "Bare_Num_Lock", - "Text_Screen", - "Graph_Screen", - "Toggle_Screen" -}; - -static char *pad_syms[] = -{ - "KP_0", - "KP_1", - "KP_2", - "KP_3", - "KP_4", - "KP_5", - "KP_6", - "KP_7", - "KP_8", - "KP_9", - "KP_Add", - "KP_Subtract", - "KP_Multiply", - "KP_Divide", - "KP_Enter", - "KP_Comma", - "KP_Period", - "KP_MinPlus" -}; - -static char *dead_syms[] = -{ - "dead_grave", - "dead_acute", - "dead_circumflex", - "dead_tilde", - "dead_diaeresis", - "dead_cedilla" -}; - -static char *cons_syms[] = -{ - "Console_1", - "Console_2", - "Console_3", - "Console_4", - "Console_5", - "Console_6", - "Console_7", - "Console_8", - "Console_9", - "Console_10", - "Console_11", - "Console_12", - "Console_13", - "Console_14", - "Console_15", - "Console_16", - "Console_17", - "Console_18", - "Console_19", - "Console_20", - "Console_21", - "Console_22", - "Console_23", - "Console_24", - "Console_25", - "Console_26", - "Console_27", - "Console_28", - "Console_29", - "Console_30", - "Console_31", - "Console_32", - "Console_33", - "Console_34", - "Console_35", - "Console_36", - "Console_37", - "Console_38", - "Console_39", - "Console_40", - "Console_41", - "Console_42", - "Console_43", - "Console_44", - "Console_45", - "Console_46", - "Console_47", - "Console_48", - "Console_49", - "Console_50", - "Console_51", - "Console_52", - "Console_53", - "Console_54", - "Console_55", - "Console_56", - "Console_57", - "Console_58", - "Console_59", - "Console_60", - "Console_61", - "Console_62", - "Console_63", - - "Graphic_0", - "Graphic_1", - "Graphic_2", - "Graphic_3", - "Graphic_4", - "Graphic_5", - "Graphic_6", - "Graphic_7", - "Graphic_8", - "Graphic_9", - "Graphic_10", - "Graphic_11", - "Graphic_12", - "Graphic_13", - "Graphic_14", - "Graphic_15", - "Graphic_16", - "Graphic_17", - "Graphic_18", - "Graphic_19", - "Graphic_20", - "Graphic_21", - "Graphic_22", - "Graphic_23", - "Graphic_24", - "Graphic_25", - "Graphic_26", - "Graphic_27", - "Graphic_28", - "Graphic_29", - "Graphic_30", - "Graphic_31", - "Graphic_32", - "Graphic_33", - "Graphic_34", - "Graphic_35", - "Graphic_36", - "Graphic_37", - "Graphic_38", - "Graphic_39", - "Graphic_40", - "Graphic_41", - "Graphic_42", - "Graphic_43", - "Graphic_44", - "Graphic_45", - "Graphic_46", - "Graphic_47", - "Graphic_48", - "Graphic_49", - "Graphic_50", - "Graphic_51", - "Graphic_52", - "Graphic_53", - "Graphic_54", - "Graphic_55", - "Graphic_56", - "Graphic_57", - "Graphic_58", - "Graphic_59", - "Graphic_60", - "Graphic_61", - "Graphic_62", - "Graphic_63" -}; - -static char *cur_syms[] = -{ - "Down", - "Left", - "Right", - "Up" -}; - -static char *shift_syms[] = -{ - "Shift", - "AltGr", - "Control", - "Alt", - "ShiftL", - "ShiftR", - "CtrlL", - "CtrlR", - "CapsShift" -}; - -static char *ascii_syms[] = -{ - "Ascii_0", - "Ascii_1", - "Ascii_2", - "Ascii_3", - "Ascii_4", - "Ascii_5", - "Ascii_6", - "Ascii_7", - "Ascii_8", - "Ascii_9", - "Hex_0", - "Hex_1", - "Hex_2", - "Hex_3", - "Hex_4", - "Hex_5", - "Hex_6", - "Hex_7", - "Hex_8", - "Hex_9", - "Hex_A", - "Hex_B", - "Hex_C", - "Hex_D", - "Hex_E", - "Hex_F" -}; - -static char *lock_syms[] = -{ - "Shift_Lock", - "AltGr_Lock", - "Control_Lock", - "Alt_Lock", - "ShiftL_Lock", - "ShiftR_Lock", - "CtrlL_Lock", - "CtrlR_Lock" -}; - -static char *sticky_syms[] = -{ - "SShift", - "SAltGr", - "SControl", - "SAlt", - "SShiftL", - "SShiftR", - "SCtrlL", - "SCtrlR" -}; - -#define E(x) { x, sizeof(x) / sizeof(char **) } - -syms_entry syms[] = -{ - E(iso_8859_1_syms), - E(fn_syms), - E(spec_syms), - E(pad_syms), - E(dead_syms), - E(cons_syms), - E(cur_syms), - E(shift_syms), - { 0, 0 }, /* KT_META */ - E(ascii_syms), - E(lock_syms), - { 0, 0 }, /* KT_LETTER */ - E(sticky_syms) -}; - -#undef E - -struct syn -synonyms[] = -{ - { "Control_h", "BackSpace" }, - { "Control_i", "Tab" }, - { "Control_j", "Linefeed" }, - { "Home", "Find" }, - /* Unfortunately Delete already denotes ASCII 0177 */ - /* { "Delete", "Remove" }, */ - { "End", "Select" }, - { "PageUp", "Prior" }, - { "PageDown", "Next" }, - { "multiplication", "multiply" }, - { "pound", "sterling" }, - { "pilcrow", "paragraph" }, - { "Oslash", "Ooblique" }, - { "Shift_L", "ShiftL" }, - { "Shift_R", "ShiftR" }, - { "Control_L", "CtrlL" }, - { "Control_R", "CtrlR" }, - { "AltL", "Alt" }, - { "AltR", "AltGr" }, - { "Alt_L", "Alt" }, - { "Alt_R", "AltGr" }, - { "AltGr_L", "Alt" }, - { "AltGr_R", "AltGr" }, - { "AltLLock", "Alt_Lock" }, - { "AltRLock", "AltGr_Lock" }, - { "SCtrl", "SControl" }, - { "Spawn_Console", "KeyboardSignal" }, - { "Uncaps_Shift", "CapsShift" }, - /* the names of the Greek letters are spelled differently - in the iso-8859-7 and the Unicode standards */ - { "lambda", "lamda" }, - { "Lambda", "Lamda" }, - { "xi", "ksi" }, - { "Xi", "Ksi" }, - { "chi", "khi" }, - { "Chi", "Khi" }, - /* diacriticals */ - { "tilde", "asciitilde" }, - { "circumflex", "asciicircum" }, - /* as dead_ogonek, dead_caron, dead_breve and dead_doubleacute does not exist - * (yet), I put also compose lines for use with respectively dead_cedilla, - * dead_circumflex, dead_tilde and dead_tilde */ - { "dead_ogonek", "dead_cedilla" }, - { "dead_caron", "dead_circumflex" }, - { "dead_breve", "dead_tilde" }, - { "dead_doubleacute", "dead_tilde" }, - /* cyrillic */ - { "bielorussian_cyrillic_capital_letter_i", "ukrainian_cyrillic_capital_letter_i" }, - { "cyrillic_capital_letter_kha", "cyrillic_capital_letter_ha" }, - { "cyrillic_capital_letter_ge", "cyrillic_capital_letter_ghe" }, - { "cyrillic_capital_letter_ia", "cyrillic_capital_letter_ya" }, - { "cyrillic_capital_letter_iu", "cyrillic_capital_letter_yu" }, - { "cyrillic_capital_letter_yeri", "cyrillic_capital_letter_yeru" }, - { "cyrillic_capital_letter_reversed_e", "cyrillic_capital_letter_e" }, - { "cyrillic_capital_letter_ii", "cyrillic_capital_letter_i" }, - { "cyrillic_capital_letter_short_ii", "cyrillic_capital_letter_short_i" }, - { "bielorussian_cyrillic_small_letter_i", "ukrainian_cyrillic_small_letter_i" }, - { "cyrillic_small_letter_kha", "cyrillic_small_letter_ha" }, - { "cyrillic_small_letter_ge", "cyrillic_small_letter_ghe" }, - { "cyrillic_small_letter_ia", "cyrillic_small_letter_ya" }, - { "cyrillic_small_letter_iu", "cyrillic_small_letter_yu" }, - { "cyrillic_small_letter_yeri", "cyrillic_small_letter_yeru" }, - { "cyrillic_small_letter_reversed_e", "cyrillic_small_letter_e" }, - { "cyrillic_small_letter_ii", "cyrillic_small_letter_i" }, - { "cyrillic_small_letter_short_ii", "cyrillic_small_letter_short_i" } -}; - -/* All these charsets are defined by reference to iso_8859_1 */ -struct cs charsets[] = -{ - { "iso-8859-1", NULL, 0 }, - { "iso-8859-2", iso_8859_2_syms, 160 }, - { "iso-8859-3", iso_8859_3_syms, 160 }, - { "iso-8859-4", iso_8859_4_syms, 160 }, - { "iso-8859-5", iso_8859_5_syms, 160 }, - { "iso-8859-7", iso_8859_7_syms, 160 }, - { "iso-8859-8", iso_8859_8_syms, 160 }, - { "iso-8859-9", iso_8859_9_syms, 208 }, - { "iso-8859-14", iso_8859_14_syms, 160 }, /* celtic */ - { "iso-8859-15", iso_8859_15_syms, 160 }, - /* iso_8859_1 + polish */ - { "mazovia", mazovia_syms, 128 }, - /* I don't know the differences between koi8-r and koi8-u, - so I use the same syms table - Pablo Saratxaga */ - { "koi8-r", koi8_r_syms, 160 }, - { "koi8-u", koi8_r_syms, 160 }, - { "iso-10646-18", iso_10646_18_syms, 159 }, /* ethiopic */ - { NULL, NULL, 0 } /* we depend on 1st field (charset) being NULL */ -}; - -const int syms_size = sizeof(syms) / sizeof(syms_entry); -const int syn_size = sizeof(synonyms) / sizeof(synonyms[0]); - - -int set_charset(char *charset) -{ - char **p; - int i; - struct cs* c; - - for (i = 0, c = charsets; c->charset; i++, c++) - if (!strcasecmp(c->charset, charset)) { - p = c->charnames; - if (p) - for (i = c->start; i < 256; i++,p++) - if(*p && **p) - syms[0].table[i] = *p; - return 0; - } - - /* FIXME: was "!str...". What purpose does this "unicode" serve ? */ - if (strcasecmp(charset, "unicode")) - { - fprintf (stderr, _("Error: unknown charset `%s'.\n"), - charset); - return 1; - } - return 0; -} - - -int ksymtocode(char *s) -{ - int i; - int j; - int keycode; - static int warn = 0; - - if (!strncmp(s, "Meta_", 5)) - { - keycode = ksymtocode(s+5); - if (KTYP(keycode) == KT_LATIN) - return K(KT_META, KVAL(keycode)); - /* fall through to error printf */ - } - - /* declared charset */ - for (i = 0; i < syms_size; i++) - for (j = 0; j < syms[i].size; j++) - if (!strcmp(s,syms[i].table[j])) - return K(i, j); - - /* synonyms */ - for (i = 0; i < syn_size; i++) - if (!strcmp(s, synonyms[i].synonym)) - return ksymtocode(synonyms[i].official_name); - - /* try other charsets */ - - for (i = 0; i < 256 - 160; i++) - if (!strcmp(s, iso_8859_2_syms[i])) { - if(!warn++) - fprintf(stderr, _("assuming iso-8859-2 %s\n"), s); - return K(KT_LATIN, 160 + i); - } - - for (i = 0; i < 256 - 160; i++) - if (!strcmp(s, iso_8859_3_syms[i])) { - if(!warn++) - fprintf(stderr, _("assuming iso-8859-3 %s\n"), s); - return K(KT_LATIN, 160 + i); - } - - for (i = 0; i < 256 - 160; i++) - if (!strcmp(s, iso_8859_4_syms[i])) { - if(!warn++) - fprintf(stderr, _("assuming iso-8859-4 %s\n"), s); - return K(KT_LATIN, 160 + i); - } - - fprintf(stderr, _("unknown keysym `%s'\n"), s); - - return -1; -} diff -Nru console-tools-0.2.3/lib/Makefile.am console-tools-0.2.3/lib/Makefile.am --- console-tools-0.2.3/lib/Makefile.am 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/lib/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -# -*- makefile -*- - -AUTOMAKE_OPTIONS = foreign - -FindfileLctDefs = -DDATADIR=\"$(datadir)\" -DTRANSDIR=\"$(TRANSDIR)\" \ - -DFONTDIR=\"$(FONTDIR)\" -DKEYMAPDIR=\"$(KEYMAPDIR)\" \ - -DVIDEOMODEDIR=\"$(VIDEOMODEDIR)\" -D__USE_GNU - -INCLUDES = -I$(top_srcdir)/include $(FindfileLctDefs) - -lib_LTLIBRARIES = libcfont.la libconsole.la libctutils.la - -noinst_LIBRARIES = libctlocal.a - -libctlocal_a_SOURCES = saveunimap.c miscutils.c - -libctutils_la_SOURCES = findfile.c xfseek.c xfopen.c wrappers.c \ - sfm-utils.c unicode.c findfile-lct.c sfm-fallback.c - -libcfont_la_SOURCES = sfm-rd-ascii.c sfm-wr-ascii.c \ - sfm-wr-binary.c sfm-rd-binary.c \ - sfm-misc.c psf-header.c \ - fontdata.c fontstruct.c - -libconsole_la_SOURCES = acm.c misc-console-utils.c ksyms.c \ - kernelfont.c testUTF8.c - - -# Maybe one day libtool will support this: -# Deps between uninstalled libs: -#libcfont_la_LIBADD = ./libctutils.la -#libconsole_la_LIBADD = ./libctutils.la diff -Nru console-tools-0.2.3/lib/Makefile.in console-tools-0.2.3/lib/Makefile.in --- console-tools-0.2.3/lib/Makefile.in 1999-10-25 20:58:06.000000000 +0000 +++ console-tools-0.2.3/lib/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,406 +0,0 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# -*- makefile -*- - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AS = @AS@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -COMPAT = @COMPAT@ -DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ -FONTDIR = @FONTDIR@ -GENCAT = @GENCAT@ -GMOFILES = @GMOFILES@ -GMSGFMT = @GMSGFMT@ -GT_NO = @GT_NO@ -GT_YES = @GT_YES@ -INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ -INSTOBJEXT = @INSTOBJEXT@ -INTLDEPS = @INTLDEPS@ -INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -KEYCODES = @KEYCODES@ -KEYMAPDIR = @KEYMAPDIR@ -LD = @LD@ -LEX = @LEX@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LOADKEYS = @LOADKEYS@ -MAKEINFO = @MAKEINFO@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -NM = @NM@ -OBJDUMP = @OBJDUMP@ -PACKAGE = @PACKAGE@ -POFILES = @POFILES@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -RESIZECONS = @RESIZECONS@ -TRANSDIR = @TRANSDIR@ -UNICODEDATA = @UNICODEDATA@ -UNICODELISTS = @UNICODELISTS@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -VIDEOMODEDIR = @VIDEOMODEDIR@ -YACC = @YACC@ -l = @l@ -translit = @translit@ - -AUTOMAKE_OPTIONS = foreign - -FindfileLctDefs = -DDATADIR=\"$(datadir)\" -DTRANSDIR=\"$(TRANSDIR)\" -DFONTDIR=\"$(FONTDIR)\" -DKEYMAPDIR=\"$(KEYMAPDIR)\" -DVIDEOMODEDIR=\"$(VIDEOMODEDIR)\" -D__USE_GNU - - -INCLUDES = -I$(top_srcdir)/include $(FindfileLctDefs) - -lib_LTLIBRARIES = libcfont.la libconsole.la libctutils.la - -noinst_LIBRARIES = libctlocal.a - -libctlocal_a_SOURCES = saveunimap.c miscutils.c - -libctutils_la_SOURCES = findfile.c xfseek.c xfopen.c wrappers.c sfm-utils.c unicode.c findfile-lct.c sfm-fallback.c - - -libcfont_la_SOURCES = sfm-rd-ascii.c sfm-wr-ascii.c sfm-wr-binary.c sfm-rd-binary.c sfm-misc.c psf-header.c fontdata.c fontstruct.c - - -libconsole_la_SOURCES = acm.c misc-console-utils.c ksyms.c kernelfont.c testUTF8.c - -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = -LIBRARIES = $(noinst_LIBRARIES) - - -DEFS = @DEFS@ -I. -I$(srcdir) -I.. -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -libctlocal_a_LIBADD = -libctlocal_a_OBJECTS = saveunimap.o miscutils.o -AR = ar -LTLIBRARIES = $(lib_LTLIBRARIES) - -libcfont_la_LDFLAGS = -libcfont_la_LIBADD = -libcfont_la_OBJECTS = sfm-rd-ascii.lo sfm-wr-ascii.lo sfm-wr-binary.lo \ -sfm-rd-binary.lo sfm-misc.lo psf-header.lo fontdata.lo fontstruct.lo -libconsole_la_LDFLAGS = -libconsole_la_LIBADD = -libconsole_la_OBJECTS = acm.lo misc-console-utils.lo ksyms.lo \ -kernelfont.lo testUTF8.lo -libctutils_la_LDFLAGS = -libctutils_la_LIBADD = -libctutils_la_OBJECTS = findfile.lo xfseek.lo xfopen.lo wrappers.lo \ -sfm-utils.lo unicode.lo findfile-lct.lo sfm-fallback.lo -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -DIST_COMMON = Makefile.am Makefile.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -SOURCES = $(libctlocal_a_SOURCES) $(libcfont_la_SOURCES) $(libconsole_la_SOURCES) $(libctutils_la_SOURCES) -OBJECTS = $(libctlocal_a_OBJECTS) $(libcfont_la_OBJECTS) $(libconsole_la_OBJECTS) $(libctutils_la_OBJECTS) - -all: all-redirect -.SUFFIXES: -.SUFFIXES: .S .c .lo .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps lib/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -mostlyclean-noinstLIBRARIES: - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) - -distclean-noinstLIBRARIES: - -maintainer-clean-noinstLIBRARIES: - -.c.o: - $(COMPILE) -c $< - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< - -mostlyclean-compile: - -rm -f *.o core *.core - -clean-compile: - -distclean-compile: - -rm -f *.tab.c - -maintainer-clean-compile: - -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -maintainer-clean-libtool: - -libctlocal.a: $(libctlocal_a_OBJECTS) $(libctlocal_a_DEPENDENCIES) - -rm -f libctlocal.a - $(AR) cru libctlocal.a $(libctlocal_a_OBJECTS) $(libctlocal_a_LIBADD) - $(RANLIB) libctlocal.a - -mostlyclean-libLTLIBRARIES: - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - -distclean-libLTLIBRARIES: - -maintainer-clean-libLTLIBRARIES: - -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(libdir) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ - echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \ - $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \ - else :; fi; \ - done - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \ - done - -libcfont.la: $(libcfont_la_OBJECTS) $(libcfont_la_DEPENDENCIES) - $(LINK) -rpath $(libdir) $(libcfont_la_LDFLAGS) $(libcfont_la_OBJECTS) $(libcfont_la_LIBADD) $(LIBS) - -libconsole.la: $(libconsole_la_OBJECTS) $(libconsole_la_DEPENDENCIES) - $(LINK) -rpath $(libdir) $(libconsole_la_LDFLAGS) $(libconsole_la_OBJECTS) $(libconsole_la_LIBADD) $(LIBS) - -libctutils.la: $(libctutils_la_OBJECTS) $(libctutils_la_DEPENDENCIES) - $(LINK) -rpath $(libdir) $(libctutils_la_LDFLAGS) $(libctutils_la_OBJECTS) $(libctutils_la_LIBADD) $(LIBS) - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) - -mostlyclean-tags: - -clean-tags: - -distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = lib - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - -info-am: -info: info-am -dvi-am: -dvi: dvi-am -check-am: all-am -check: check-am -installcheck-am: -installcheck: installcheck-am -install-exec-am: install-libLTLIBRARIES -install-exec: install-exec-am - -install-data-am: -install-data: install-data-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: uninstall-libLTLIBRARIES -uninstall: uninstall-am -all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - $(mkinstalldirs) $(DESTDIR)$(libdir) - - -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: -mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \ - mostlyclean-libtool mostlyclean-libLTLIBRARIES \ - mostlyclean-tags mostlyclean-generic - -mostlyclean: mostlyclean-am - -clean-am: clean-noinstLIBRARIES clean-compile clean-libtool \ - clean-libLTLIBRARIES clean-tags clean-generic \ - mostlyclean-am - -clean: clean-am - -distclean-am: distclean-noinstLIBRARIES distclean-compile \ - distclean-libtool distclean-libLTLIBRARIES \ - distclean-tags distclean-generic clean-am - -rm -f libtool - -distclean: distclean-am - -maintainer-clean-am: maintainer-clean-noinstLIBRARIES \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-libLTLIBRARIES maintainer-clean-tags \ - maintainer-clean-generic distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-am - -.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \ -clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ -mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool mostlyclean-libLTLIBRARIES \ -distclean-libLTLIBRARIES clean-libLTLIBRARIES \ -maintainer-clean-libLTLIBRARIES uninstall-libLTLIBRARIES \ -install-libLTLIBRARIES tags mostlyclean-tags distclean-tags clean-tags \ -maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \ -installcheck-am installcheck install-exec-am install-exec \ -install-data-am install-data install-am install uninstall-am uninstall \ -all-redirect all-am all installdirs mostlyclean-generic \ -distclean-generic clean-generic maintainer-clean-generic clean \ -mostlyclean distclean maintainer-clean - - -# Maybe one day libtool will support this: -# Deps between uninstalled libs: -#libcfont_la_LIBADD = ./libctutils.la -#libconsole_la_LIBADD = ./libctutils.la - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru console-tools-0.2.3/lib/misc-console-utils.c console-tools-0.2.3/lib/misc-console-utils.c --- console-tools-0.2.3/lib/misc-console-utils.c 1999-10-25 20:24:47.000000000 +0000 +++ console-tools-0.2.3/lib/misc-console-utils.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,115 +0,0 @@ -#include <config.h> -#include <stdio.h> -#include <fcntl.h> -#include <unistd.h> -#include <errno.h> -#include <string.h> -#include <linux/kd.h> -#include <sys/ioctl.h> - -#include <lct/local.h> -#include <lct/console.h> - -int is_a_console(int fd) -{ - char arg; - - arg = 0; - return (ioctl(fd, KDGKBTYPE, &arg) == 0 - && ((arg == KB_101) || (arg == KB_84))); -} - -static int open_a_console(char *fnam) -{ - int fd; - - /* try read-only */ - fd = open(fnam, O_RDWR); - - /* if failed, try read-only */ - if (fd < 0 && errno == EACCES) - fd = open(fnam, O_RDONLY); - - /* if failed, try write-only */ - if (fd < 0 && errno == EACCES) - fd = open(fnam, O_WRONLY); - - /* if failed, fail */ - if (fd < 0) - return -1; - - /* if not a console, fail */ - if (! is_a_console(fd)) - { - close(fd); - return -1; - } - - /* success */ - return fd; -} - -/* - * Get an fd for use with kbd/console ioctls. - * We try several things because opening /dev/console will fail - * if someone else used X (which does a chown on /dev/console). - * - * if tty_name is non-NULL, try this one instead. - */ - -int get_console_fd(char* tty_name) -{ - int fd; - - if (tty_name) - { - if (-1 == (fd = open_a_console(tty_name))) - return -1; - else - return fd; - } - - fd = open_a_console("/dev/tty"); - if (fd >= 0) - return fd; - - fd = open_a_console("/dev/tty0"); - if (fd >= 0) - return fd; - - fd = open_a_console("/dev/console"); - if (fd >= 0) - return fd; - - for (fd = 0; fd < 3; fd++) - if (is_a_console(fd)) - return fd; - - fprintf(stderr, - _("Couldnt get a file descriptor referring to the console\n")); - return -1; /* total failure */ -} - - -/* FIXME: Only on the current console? On all allocated consoles? - * A newly allocated console has NORM_MAP by default - - * probably it should copy the default from the current console? - * But what if we want a new one because the current one is messed up? - * For the moment: only the current console - * g_set specifies eight G0 or G1 using values 0 and 1 respectively. - */ -int acm_activate(int tty_fd, int g_set) -{ - if (is_a_console(tty_fd)) - if (g_set == 0) - write(tty_fd, "\033(K\017", 4); - else - write(tty_fd, "\033)K\016", 4); - else - { - errno = ENODEV; - return -1; - } - - return 0; -} diff -Nru console-tools-0.2.3/lib/miscutils.c console-tools-0.2.3/lib/miscutils.c --- console-tools-0.2.3/lib/miscutils.c 1999-04-08 22:11:15.000000000 +0000 +++ console-tools-0.2.3/lib/miscutils.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,62 +0,0 @@ -#include <config.h> - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <getopt.h> - -#include <lct/local.h> -#include <lct/utils.h> - -void version(char *progname) -{ - /* Same format as GNU utils: dump to stdout, not stderr */ - printf ("%s: (%s) %s\n", progname, PACKAGE, VERSION); -} - -char* strip_path (const char* name) -{ - char* progname; - - if (NULL == (progname = strrchr(name, '/'))) - progname = (char*)name; - else - progname++; /* forget last '/' */ - - return progname; -} - -void simple_options(int argc, char **argv, UsageFunc usage, char *progname) -{ - /* Simple getopt handling for programs that don't have any options. - * Depends on a locally-defined usage function in each program. - */ - - const struct option long_opts[] = { - { "help", no_argument, NULL, 'h' }, - { "version", no_argument, NULL, 'V' }, - { NULL, 0, NULL, 0 } - }; - int c; - - while ( (c = getopt_long (argc, argv, "Vh", long_opts, NULL)) != EOF) { - switch (c) { - case 'h': - usage(progname); - exit(0); - case 'V': - version(progname); - exit(0); - case '?': - usage(progname); - exit(1); - } - } - if (argc != optind) { - fprintf(stderr, _("%s: Unexpected arguments.\n"), - progname); - exit(1); - } -} - - diff -Nru console-tools-0.2.3/lib/psf-header.c console-tools-0.2.3/lib/psf-header.c --- console-tools-0.2.3/lib/psf-header.c 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/lib/psf-header.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,93 +0,0 @@ -#include <config.h> -#include <errno.h> -#include <stdio.h> -#include <stdlib.h> - -#include <lct/local.h> -#include <lct/font.h> - -int psf_header_read (FILE* in, struct psf_header* psfhdr_ptr) -{ - if ( fread(psfhdr_ptr, sizeof(struct psf_header), 1, in) < 1 ) - { - if (feof(in)) - errno = EBFONT; - return -1; - } - - if (! PSF_MAGIC_OK(*psfhdr_ptr) ) - { - errno = EBFONT; - return -1; - } - - if (! PSF_MODE_VALID(psfhdr_ptr->mode) ) - { - fprintf(stderr, _("Unknown PSF mode number (%d).\n"), psfhdr_ptr->mode); - errno = EBFONT; - return -1; - } - - return 0; -} - -int psf_header_write (FILE* out, struct psf_header* psfhdr_ptr) -{ - int r; - - r = fwrite(psfhdr_ptr, sizeof(struct psf_header), 1, out); - if (r < 1) - return -1; - - return 0; -} - -int write_as_psf_header (FILE* out, - int charheight, - int charcount, - int with_sfm) -{ - struct psf_header psfhdr; - - /* sanity check - allows to drop `defaults:' from switch constructs */ - if (((charcount != 256) && (charcount != 512)) || - ((with_sfm != 0) && (with_sfm != 1))) - { - errno = EINVAL; - return -1; - } - - psfhdr.magic1 = PSF_MAGIC1; - psfhdr.magic2 = PSF_MAGIC2; - - psfhdr.charheight = charheight; - - /* choose psfhdr.mode according to args */ - switch (with_sfm) - { - case 0: - switch (charcount) - { - case 256: - psfhdr.mode = PSF_MODE256NOSFM; - break; - case 512: - psfhdr.mode = PSF_MODE512NOSFM; - break; - } - break; - case 1: - switch (charcount) - { - case 256: - psfhdr.mode = PSF_MODE256SFM; - break; - case 512: - psfhdr.mode = PSF_MODE512SFM; - break; - } - break; - } - - return psf_header_write (out, &psfhdr); -} diff -Nru console-tools-0.2.3/lib/saveunimap.c console-tools-0.2.3/lib/saveunimap.c --- console-tools-0.2.3/lib/saveunimap.c 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/lib/saveunimap.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ -/* - * loadunimap.c - aeb - * - * Version 0.92 - */ - -#include <config.h> -#include <errno.h> -#include <stdio.h> -#include <stdlib.h> - -#include <lct/console.h> -#include <lct/font.h> -#include <lct/local.h> - -void saveunicodemap(int fd, char *oufil, int verbose, int no_act) -{ - FILE *fpo; - struct unimapdesc descr; - - get_kernel_unimap(fd, &descr); - - if (no_act) - printf(_("Would save %d SFM entries in `%s'.\n"), descr.entry_ct, oufil); - else - { - if (verbose) - printf("Saving %d SFM entries in `%s'.\n", descr.entry_ct, oufil); - - if ((fpo = fopen(oufil, "w")) == NULL) - { - perror(oufil); - exit(1); - } - - sfm_write_ascii(fpo, &descr); - - fclose(fpo); - } -} diff -Nru console-tools-0.2.3/lib/sfm-fallback.c console-tools-0.2.3/lib/sfm-fallback.c --- console-tools-0.2.3/lib/sfm-fallback.c 1999-04-08 21:29:40.000000000 +0000 +++ console-tools-0.2.3/lib/sfm-fallback.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,194 +0,0 @@ -#include <config.h> - -#include <stdlib.h> -#include <stdio.h> -#include <string.h> -#include <errno.h> -#include <assert.h> -#include <unistd.h> -#include <signal.h> - -#include <lct/utils.h> - -#warning RETURNs should free memory -#warning should use paged table as in kernel - -int sfm_fallback_read (FILE* f, unicode** *sfmf, unsigned *size) -{ -#ifdef HAVE_GETLINE - char* buf = NULL; - ssize_t buf_size = 0; - ssize_t buf_read; -#else - char buf[1024]; -#endif - char* scanpos, *savedscpos; - unsigned linecount, tokencount; - unicode u; - sigset_t sigset, old_sigset; - - /* check args */ - assert (f); - assert (size); - assert (sfmf); - - /* some validity check */ - if (0 == *size) - { - /* *sfmf should be NULL */ - if (*sfmf) - { - errno = EINVAL; - return -1; - } - - /* alloc initial space */ - *size = 512; - if (NULL == (*sfmf = (unicode**) malloc ((*size) * sizeof(unicode*)))) - return -1; - } - - /* block SIGCHLD */ - sigemptyset (&sigset); - sigaddset (&sigset, SIGCHLD); - sigprocmask (SIG_BLOCK, &sigset, &old_sigset); - - /* process the file */ - linecount = 0; - while (!feof(f)) - { - /* read a line */ -#ifdef HAVE_GETLINE - if ((buf_read = getline (&buf, &buf_size, f)) == -1) - { - if (feof(f)) /* should not modify errno */ - break; - else - return -1; - } -#else /* HAVE_GETLINE */ - if (fgets (buf, sizeof (buf), f) == NULL) - { - if (feof(f)) /* should not modify errno */ - break; - else - return -1; - } -#endif /* HAVE_GETLINE */ - - /* skip whitespace */ - scanpos = buf + strspn (buf, " \t\n\r"); - - /* ignore empty lines */ - if (!scanpos[0]) - continue; - - /* ignore comments */ - if (scanpos[0] == '#') - continue; - - /* alloc enought place so we don't need to check overflow */ - /* Note: a unicode *is* 6 chars long ("U+0034", never "U+34") */ - /* we add one more for terminator */ - savedscpos = scanpos; - if (NULL == ((*sfmf)[linecount] = (unicode*) malloc ((1 + strlen(savedscpos)/6) - * sizeof(unicode)))) - return -1; - - /* process the line */ - tokencount = 0; - while (0xFFFF != (u = sgetunicode (&scanpos))) - { - (*sfmf)[linecount][tokencount] = u; - scanpos += strspn (scanpos, " \t\n\r"); - tokencount++; - } - - /* adjust memory for this line */ - if ((strlen(savedscpos)/6) > (tokencount)) - if (NULL == ((*sfmf)[linecount] = (unicode*) realloc ((*sfmf)[linecount], - tokencount * sizeof(unicode)))) - return -1; - - /* add terminator */ - (*sfmf)[linecount][tokencount] = (unicode)0xFFFF; - - /* next line */ - linecount ++; - - /* if we reached the limit, double allocated size */ - if (linecount >= *size) - { - *size <<= 1; - if (NULL == (*sfmf = (unicode**) realloc (*sfmf, (*size) * sizeof(unicode*)))) - return -1; - } - } - - /* unblock SIGCHLD */ - sigprocmask (SIG_SETMASK, &old_sigset, NULL); - - /* adjust memory */ - *size = linecount; - if (NULL == (*sfmf = (unicode**) realloc (*sfmf, (*size) * sizeof(unicode*)))) - return -1; - -#ifdef HAVE_GETLINE - /* cleanup glibc-allocated memory */ -# warning sfm_fallback_read() does not free mem on "return -1" - if (buf_size) free (buf); -#endif - - /* success */ - return 0; -} - - -#warning sfm_fallback_add() is awfully inefficient - -/* builds unipairs from sfmf and ilist - * and adds them to olist - */ -int sfm_fallback_add (unicode** sfmf, unsigned size, - struct unimapdesc* ilist, - struct unimapdesc* olist) -{ - unsigned count; - struct unipair* ptr; - unicode* arr; - int listsz; - - assert (ilist); - assert (olist); - - listsz = ilist->entry_ct; - - /* for each fallback entry */ - for (count = 0; count < size; sfmf++, count++) - { - /* for each possible fallback */ - for (arr = sfmf[0]; arr[0] != (unicode)0xFFFF; arr++) - { - /* try to find it in `ilist' */ - for (ptr = ilist->entries + ilist->entry_ct - 1; - (ptr > ilist->entries) && (ptr->unicode != arr[0]); - ptr--); - - /* if found something */ - if (ptr != ilist->entries) - { - /* if the main unicode was found, skip to next fallback entry */ - if (ptr->unicode == sfmf[0][0]) - break; - - /* else: a possible fallback was found, use it */ - unimapdesc_addpair (ptr->fontpos, sfmf[0][0], olist, &listsz); - break; - } - } - } - - unimapdesc_adjust (olist); - - return 0; -} diff -Nru console-tools-0.2.3/lib/sfm-misc.c console-tools-0.2.3/lib/sfm-misc.c --- console-tools-0.2.3/lib/sfm-misc.c 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/lib/sfm-misc.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,113 +0,0 @@ -/* - * loadunimap.c - aeb - * - * Version 0.92 - */ - -#include <config.h> -#include <errno.h> -#include <stdio.h> -#include <stdlib.h> -#include <sysexits.h> -#include <string.h> -#include <ctype.h> -#include <fcntl.h> -#include <linux/kd.h> -#include <sys/ioctl.h> - -#include <lct/local.h> -#include <lct/console.h> - - -int set_kernel_unimap(int fd, struct unimapdesc *descr) -{ - struct unimapinit advice; - - /* Note: after PIO_UNIMAPCLR and before PIO_UNIMAP - printf does not work. */ - - advice.advised_hashsize = 0; - advice.advised_hashstep = 0; - advice.advised_hashlevel = 1; /* FIXME: 0 or 1 ? */ - -again: - if (ioctl(fd, PIO_UNIMAPCLR, &advice)) - { -#ifdef ENOIOCTLCMD - if (errno == ENOIOCTLCMD) - { - fprintf(stderr, _("It seems this kernel is older than 1.1.92\n")); - fprintf(stderr, _("No Unicode mapping table loaded.\n")); - } - else -#endif - return -1; - } - - if (ioctl(fd, PIO_UNIMAP, descr)) - { - if (errno == ENOMEM && advice.advised_hashlevel < 100) - { - advice.advised_hashlevel++; - goto again; - } - return -1; - } - - return 0; -} - - -int get_kernel_unimap(int fd, struct unimapdesc *descr) -{ - int ct; - - descr->entry_ct = 0; - descr->entries = NULL; - - /* get entry_ct */ - if(ioctl(fd, GIO_UNIMAP, (unsigned long) descr)) /* failed */ - { - if(errno != ENOMEM || descr->entry_ct == 0) - { - perror(_("GIO_UNIMAP (get count)")); - return -1; - } - - /* memorize ct for check below */ - ct = descr->entry_ct; - - /* alloc place for entry_ct unipairs */ - descr->entries = (struct unipair *) - malloc(descr->entry_ct * sizeof(struct unipair)); - - /* actually get unipairs */ - if(ioctl(fd, GIO_UNIMAP, (unsigned long) descr)) - { - perror(_("GIO_UNIMAP (get map)")); - return -1; - } - - /* someone could change the unimap between our - * first and second ioctl, so we can have descrepancies - */ - if (ct != descr->entry_ct) - { - fprintf(stderr, _("strange... ct changed from %d to %d\n"), - ct, descr->entry_ct); - if (ct < descr->entry_ct) - { - descr->entry_ct = ct; - fprintf(stderr, _("... assuming %d\n"), ct); - } - } - - return 0; - } - else - { - /* no valid SFM currently loaded */ - errno = ENXIO; - return -1; - } -} diff -Nru console-tools-0.2.3/lib/sfm-rd-ascii.c console-tools-0.2.3/lib/sfm-rd-ascii.c --- console-tools-0.2.3/lib/sfm-rd-ascii.c 1999-08-31 20:53:40.000000000 +0000 +++ console-tools-0.2.3/lib/sfm-rd-ascii.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,157 +0,0 @@ -#include <config.h> -#include <stdio.h> -#include <stdlib.h> -#include <sysexits.h> -#include <string.h> -#include <ctype.h> -#include <errno.h> -#include <linux/kd.h> - -#include <lct/local.h> -#include <lct/utils.h> -#include <lct/font.h> - -int sfm_read_ascii(FILE* mapf, struct unimapdesc *list, int fontlen) -{ - char buffer[65536]; - int i; - int fp0, fp1, un0, un1; - char *p, *p1; - - int listsz; - - list->entries = NULL; - listsz = list->entry_ct = 0; - - while ( fgets(buffer, sizeof(buffer), mapf) != NULL ) - { - if ( (p = strchr(buffer, '\n')) != NULL ) - *p = '\0'; - else - fprintf(stderr, _("Warning: line too long in unicode map.\n")); - - p = buffer; - - /* - * Syntax accepted: - * <fontpos> <unicode> <unicode> ... - * <range> idem - * <range> <unicode range> - * - * where <range> ::= <fontpos>-<fontpos> - * and <unicode> ::= U+<h><h><h><h> - * and <h> ::= <hexadecimal digit> - */ - - while (*p == ' ' || *p == '\t') - p++; - if (!*p || *p == '#') - continue; /* skip comment or blank line */ - - fp0 = strtol(p, &p1, 0); - if (p1 == p) - { - fprintf(stderr, _("Bad input line: %s\n"), buffer); - errno = EBFONT; - return -1; - } - p = p1; - - while (*p == ' ' || *p == '\t') - p++; - if (*p == '-') - { - p++; - fp1 = strtol(p, &p1, 0); - if (p1 == p) - { - fprintf(stderr, _("Bad input line: %s\n"), buffer); - errno = EBFONT; - return -1; - } - p = p1; - } - else - fp1 = 0; - - if ( fp0 < 0 || fp0 >= fontlen ) - { - fprintf(stderr, - _("unicode map: glyph number (0x%x) larger than font length\n"), fp0); - errno = EBFONT; - return -1; - - } - if ( fp1 && (fp1 < fp0 || fp1 >= fontlen) ) - { - fprintf(stderr, - _("unicode map: bad end of range (0x%x)\n"), fp1); - errno = EBFONT; - return -1; - } - - if (fp1) - { - /* we have a range; expect the word "idem" or a Unicode range of the - same length */ - while (*p == ' ' || *p == '\t') - p++; - if (!strncmp(p, "idem", 4)) - { - for (i=fp0; i<=fp1; i++) - unimapdesc_addpair(i, i, list, &listsz); - p += 4; - } - else - { - un0 = sgetunicode(&p); - while (*p == ' ' || *p == '\t') - p++; - if (*p != '-') - { - fprintf(stderr, - _("unicode map: Corresponding to a range of font positions, " - "there should be a Unicode range\n")); - errno = EBFONT; - return -1; - } - p++; - un1 = sgetunicode(&p); - if (un0 == 0xFFFF || un1 == 0xFFFF) - { - fprintf(stderr, - _("unicode map: Bad Unicode range corresponding to " - "font position range 0x%x-0x%x\n"), fp0, fp1); - errno = EBFONT; - return -1; - } - if (un1 - un0 != fp1 - fp0) - { - fprintf(stderr, - _("unicode map: Unicode range U+%x-U+%x not of the same length " - "as font position range 0x%x-0x%x\n"), un0, un1, fp0, fp1); - errno = EBFONT; - return -1; - } - for(i=fp0; i<=fp1; i++) - unimapdesc_addpair(i, un0-fp0+i, list, &listsz); - } - } - else - { - /* no range; expect a list of unicode values - for a single font position */ - - while ( (un0 = sgetunicode(&p)) != 0xFFFF ) - unimapdesc_addpair(fp0, un0, list, &listsz); - } - while (*p == ' ' || *p == '\t') - p++; - if (*p && *p != '#') - fprintf(stderr, _("unicode map: trailing junk (%s) ignored\n"), p); - } - - unimapdesc_adjust (list); - - return 0; -} diff -Nru console-tools-0.2.3/lib/sfm-rd-binary.c console-tools-0.2.3/lib/sfm-rd-binary.c --- console-tools-0.2.3/lib/sfm-rd-binary.c 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/lib/sfm-rd-binary.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,50 +0,0 @@ -#include <stdlib.h> -#include <stdio.h> -#include <errno.h> -#include <endian.h> -#include <linux/kd.h> - -#include <lct/font.h> - -int sfm_read_binary(FILE* fpi, struct unimapdesc *ud, int fontsize) -{ - struct unipair *up; - int ct = 0, maxct; - int glyph, rd_count; - unicode uc; - - maxct = fontsize << 1 /* *2 */; /* enough for most purposes */ - if (!(up = (struct unipair *) malloc(maxct * sizeof(struct unipair)))) - return -1; - - for (glyph = 0; glyph < fontsize; glyph++) - { - while ((rd_count = fread(&uc, sizeof(uc), 1, fpi)) == 1 && - uc != PSF_SEPARATOR) - { -#ifndef BYTE_ORDER -# error <endian.h> was not included -#elif BYTE_ORDER == BIG_ENDIAN - uc = ((uc << 8) | (uc >> 8)) & 0xffff; -#endif - if (ct >= maxct) /* allocated table-size exceeded */ - { - maxct <<= 1 /* *= 2 */; - up = (struct unipair*) realloc(up, maxct * sizeof(struct unipair)); - } - up[ct].unicode = uc; - up[ct].fontpos = glyph; - ct++; - } - if (rd_count != 1) - { - errno = EBFONT; - return -1; - } - } - - ud->entry_ct = ct; - ud->entries = up; - - return 0; -} diff -Nru console-tools-0.2.3/lib/sfm-utils.c console-tools-0.2.3/lib/sfm-utils.c --- console-tools-0.2.3/lib/sfm-utils.c 1999-04-08 21:29:40.000000000 +0000 +++ console-tools-0.2.3/lib/sfm-utils.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,48 +0,0 @@ -#include <config.h> -#include <stdlib.h> -#include <stdio.h> -#include <ctype.h> - -#include <lct/local.h> -#include <lct/utils.h> - -/* - * Skip spaces and read U+1234 or return -1 for error. - * Return first non-read position in *p0 (unchanged on error). - */ -unicode sgetunicode(char **p0) -{ - char *p = *p0; - - while (*p == ' ' || *p == '\t') - p++; - if (*p != 'U' || p[1] != '+' || !isxdigit(p[2]) || !isxdigit(p[3]) || - !isxdigit(p[4]) || !isxdigit(p[5]) || isxdigit(p[6])) - return (unicode)0xFFFF; - *p0 = p+6; - return strtol(p+2,0,16); -} - - -void unimapdesc_addpair(int fp, unicode un, struct unimapdesc *list, int *listsz) -{ - if (list->entry_ct == *listsz) - { - *listsz += 4096; - list->entries = realloc((char *)list->entries, (*listsz) * sizeof(struct unipair*)); - if (!list->entries) - { - fprintf(stderr, _("loadunimap: out of memory\n")); - exit(1); - } - } - list->entries[list->entry_ct].fontpos = fp; - list->entries[list->entry_ct].unicode = un; - list->entry_ct++; -} - -/* to use after _addpair's, which overreserves memory */ -void unimapdesc_adjust(struct unimapdesc* list) -{ - list->entries = realloc((char *)list->entries, (list->entry_ct) * sizeof(struct unipair*)); -} diff -Nru console-tools-0.2.3/lib/sfm-wr-ascii.c console-tools-0.2.3/lib/sfm-wr-ascii.c --- console-tools-0.2.3/lib/sfm-wr-ascii.c 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/lib/sfm-wr-ascii.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#include <stdio.h> -#include <linux/kd.h> - -#include <lct/font.h> - -int sfm_write_ascii(FILE* fpo, struct unimapdesc *descr) -{ - int i; - char utf[4]; /* enough for UCS2 */ - - for(i=0; i<descr->entry_ct; i++) - { - ucs2_to_utf8 (descr->entries[i].unicode, utf); - fprintf(fpo, "0x%02x\tU+%04x\t# %s \n", - descr->entries[i].fontpos, - descr->entries[i].unicode, - utf); - } - - return 0; -} diff -Nru console-tools-0.2.3/lib/sfm-wr-binary.c console-tools-0.2.3/lib/sfm-wr-binary.c --- console-tools-0.2.3/lib/sfm-wr-binary.c 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/lib/sfm-wr-binary.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,69 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <linux/kd.h> -#include <endian.h> - -#include <lct/font.h> - -int sfm_write_binary (FILE* out, struct unimapdesc *map, int fontlen) -{ - int i; - struct unipair *pair; - struct unicode_list *unilist[512]; - unicode psf_sep, uc; - struct unicode_list *newmbr, tmpmbr; - - /* - * first build an array on linked lists, mapping fontpos to unicodes - */ - - /* FIXME: `512' should probably read `fontlen' instead */ - - for ( i = 0 ; i < 512 ; i++ ) /* Initialize unicode list */ - unilist[i] = NULL; - - /* read list in reverse order */ - for ( pair = map->entries + map->entry_ct - 1; pair >= map->entries; pair-- ) - { - if ( pair->unicode != PSF_SEPARATOR && pair->unicode <= 0xFFFF ) - { - /* Add to linked list */ - - newmbr = malloc(sizeof(struct unicode_list)); - newmbr->uc = (unicode) pair->unicode; - /* in reverse order, so that we get original order back inside entries */ - newmbr->next = unilist[pair->fontpos]; - unilist[pair->fontpos] = newmbr; - } - /* otherwise: ignore */ - } - - - /* - * then use it to build the PSF_SEPARATOR-separated table used - * in PSF files, and output at once. - */ - - psf_sep = PSF_SEPARATOR; /* Separator between unicode strings */ - - for ( i = 0 ; i < fontlen ; i++ ) - { - for ( newmbr = unilist[i] ; newmbr ; newmbr = tmpmbr.next ) - { - tmpmbr = *newmbr; - uc = tmpmbr.uc; -#ifndef BYTE_ORDER -# error <endian.h> was not included -#elif BYTE_ORDER == BIG_ENDIAN - uc = ((uc << 8) | (uc >> 8)) & 0xffff; -#endif - fwrite(&uc, sizeof(unicode), 1, out); - free(newmbr); - } - - /* Write string terminator */ - fwrite(&psf_sep, sizeof(unicode), 1, out); - } - - return 0; -} diff -Nru console-tools-0.2.3/lib/testUTF8.c console-tools-0.2.3/lib/testUTF8.c --- console-tools-0.2.3/lib/testUTF8.c 1999-08-31 20:41:05.000000000 +0000 +++ console-tools-0.2.3/lib/testUTF8.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,80 +0,0 @@ -/* (c) Ricardas Cepas <rch@pub.osf.lt>. Copying policy: GNU GPL V2. */ -/* slightly modified for inclusion in console-tools by YDI */ -#include <stdlib.h> -#include <stdio.h> -#include <termios.h> -#include <unistd.h> -#include <errno.h> -#include <sysexits.h> - -/* - * return: - * 0: 8-bit mode - * 1: UTF-8 mode - * - * -1: error - see errno for details - * ENOTTY: not a tty - * EIO: could not read/write from/to console - */ -int is_in_UTF8_mode (int fd) -{ - unsigned int y, x; - struct termios termios_orig, termios; - FILE* f; - - if (isatty (fd)) - { - f = fdopen (fd, "a+"); - if (!f) - { - perror ("is_in_UTF8_mode"); - exit (EX_SOFTWARE); - } - - tcgetattr (fd, &termios_orig); - termios = termios_orig; - tcflush (fd, TCIOFLUSH); - cfmakeraw (&termios); - tcsetattr (fd, TCSANOW, &termios); - - /* - ^X^Z cancel any ESC sequence - * - "\357\200\240" = U+F020 = - * `space' in Linux's straight-to-font zone - * - ask cursor position - */ - fprintf (f, "\030\032" "\r\357\200\240" "\033[6n\033D"); - /* get cursor position; set error if no answer */ - if (2 != fscanf (f, "\033[%u;%u", &y, &x)) - { - errno = EIO; - return -1; - } - tcsetattr (fd, TCSANOW, &termios_orig); - /* go back; erase 1 or 3 char */ - fprintf(f, "\033[1F" "\033[%uX", (x-1)); - fflush (f); - - /*Get a single byte in UTF-8 and 3 bytes othewise */ - switch (x) - { - case 2: /* UTF-8 */ - x=1; - break; - - case 4: /* single-byte mode */ - x=0; - break; - - default: /* error */ - x=-1; - } - } - else - { - errno = ENOTTY; - x = -1; - } - - return (x); -} - diff -Nru console-tools-0.2.3/lib/unicode.c console-tools-0.2.3/lib/unicode.c --- console-tools-0.2.3/lib/unicode.c 1999-04-08 21:29:40.000000000 +0000 +++ console-tools-0.2.3/lib/unicode.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,103 +0,0 @@ -#include <lct/unicode.h> - -/* - * Convert a UCS2 char into the equivalent UTF8 sequence, with - * trailing zero. - * Adapted from Linux kernel 2.0.30 - */ -void ucs2_to_utf8(unicode c, char* utf) -{ - if (c < 0x80) - { - utf[0] = c; /* 0******* */ - utf[1] = 0; - } - else if (c < 0x800) - { - utf[0] = 0xc0 | (c >> 6); /* 110***** 10****** */ - utf[1] = 0x80 | (c & 0x3f); - utf[2] = 0; - } - else - { - utf[0] = 0xe0 | (c >> 12); /* 1110**** 10****** 10****** */ - utf[1] = 0x80 | ((c >> 6) & 0x3f); - utf[2] = 0x80 | (c & 0x3f); - utf[3] = 0; - } - /* UTF-8 is defined for words of up to 31 bits, - but we need only 16 bits here */ -} - - -/* Combine UTF-8 into Unicode */ -/* Incomplete characters silently ignored */ -unicode utf8_to_ucs2 (char* buf) -{ - int utf_count = 0; - long utf_char; - unicode tc; - unsigned char c; - - do - { - c = *buf; - buf++; - - /* if byte should be part of multi-byte sequence */ - if(c & 0x80) - { - /* if we have already started to parse a UTF8 sequence */ - if (utf_count > 0 && (c & 0xc0) == 0x80) - { - utf_char = (utf_char << 6) | (c & 0x3f); - utf_count--; - if (utf_count == 0) - tc = utf_char; - else - continue; - } - else /* Possibly 1st char of a UTF8 sequence */ - { - if ((c & 0xe0) == 0xc0) - { - utf_count = 1; - utf_char = (c & 0x1f); - } - else if ((c & 0xf0) == 0xe0) - { - utf_count = 2; - utf_char = (c & 0x0f); - } - else if ((c & 0xf8) == 0xf0) - { - utf_count = 3; - utf_char = (c & 0x07); - } - else if ((c & 0xfc) == 0xf8) - { - utf_count = 4; - utf_char = (c & 0x03); - } - else if ((c & 0xfe) == 0xfc) - { - utf_count = 5; - utf_char = (c & 0x01); - } - else - utf_count = 0; - continue; - } - } - else /* not part of multi-byte sequence - treat as ASCII - * this makes incomplete sequences to be ignored - */ - { - tc = c; - utf_count = 0; - } - } - while (utf_count); - - return tc; -} diff -Nru console-tools-0.2.3/lib/wrappers.c console-tools-0.2.3/lib/wrappers.c --- console-tools-0.2.3/lib/wrappers.c 1999-04-08 21:29:40.000000000 +0000 +++ console-tools-0.2.3/lib/wrappers.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -#include <config.h> -#include <stdlib.h> -#include <stdio.h> -#include <string.h> - -#include <lct/local.h> -#include <lct/utils.h> - -/* from kbd 0.96 */ -void* xmalloc(size_t n) -{ - void *p = malloc(n); - if (p == NULL) - { - fprintf(stderr, _("Out of Memory\n")); - exit(1); - } - return p; -} - -char* xstrdup(char *p) -{ - char *q = strdup(p); - if (q == NULL) - { - fprintf(stderr, _("Out of Memory?\n")); - exit(1); - } - return q; -} diff -Nru console-tools-0.2.3/lib/xfopen.c console-tools-0.2.3/lib/xfopen.c --- console-tools-0.2.3/lib/xfopen.c 1999-04-08 21:29:40.000000000 +0000 +++ console-tools-0.2.3/lib/xfopen.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,9 +0,0 @@ -#include <stdio.h> - -FILE *xfopen (const char *path, const char *mode, FILE* minus_meaning) -{ - if (minus_meaning && path && (path[0] == '-') && (path[1] == 0)) - return minus_meaning; - - return fopen(path, mode); -} diff -Nru console-tools-0.2.3/lib/xfseek.c console-tools-0.2.3/lib/xfseek.c --- console-tools-0.2.3/lib/xfseek.c 1999-04-08 21:29:40.000000000 +0000 +++ console-tools-0.2.3/lib/xfseek.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,74 +0,0 @@ -#include <stdio.h> -#include <errno.h> - -/* - * like fseek, but doesn't barf when trying SEEK_CUR on a pipe - */ -int xfseek (FILE *stream, long offset, int whence) -{ - int r; - long pos; - - r = fseek(stream, offset, whence); - /* if it is un-fseek-able */ - if ( (r == -1) && ((errno == ESPIPE) || (errno == EBADF)) ) - { - switch (whence) - { - case SEEK_CUR: - /* if asked to go backward, refuse */ - if (whence < 0) - { - errno = EINVAL; - return -1; - } - - /* GO */ - for (; offset > 0; offset--) - { - if (EOF == getc(stream)) - { - errno = EOF; /* should be something like EFSMALL (cf. EFBIG) */ - return -1; - } - } - - errno = 0; - return 0; - - case SEEK_SET: - pos = ftell (stream); - /* if asked to go backward, refuse */ - if ((offset - pos) < 0) - { - errno = EINVAL; - return -1; - } - - /* GO */ - return xfseek (stream, offset-pos, SEEK_CUR); - - case SEEK_END: - /* if asked anything else than goto EOF, fail */ - if (offset != 0) - { - errno = EINVAL; - return -1; - } - - /* GO */ - while (!feof(stream)) - fread (&pos, 1, 1, stream); - - return 0; - - default: - errno = EINVAL; - return -1; - } - } - /* fseek worked [r=0] or can't do anything [keep errno] */ - else - return r; - -} diff -Nru console-tools-0.2.3/local-scripts/checkdist.sh console-tools-0.2.3/local-scripts/checkdist.sh --- console-tools-0.2.3/local-scripts/checkdist.sh 1999-04-14 22:48:40.000000000 +0000 +++ console-tools-0.2.3/local-scripts/checkdist.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#! /bin/bash - -PACKAGE=$(basename $(pwd)) - -VERSION=$(grep AM_INIT_AUTOMAKE configure.in | - sed "s/AM_INIT_AUTOMAKE(${PACKAGE},//; s/)//; s/ //g") - -DISTDIR=${PACKAGE}-${VERSION} - -echo "VERSION = \`$VERSION'" -diff <( find . \ - -not -path "*/CVS**" \ - -not -path "./builddir*" \ - -not -path "./debian*" \ - -not -path "./${DISTDIR}*" \ - -not -path "./working*" \ - -not -path "./attic*" \ - -not -path "./*/.deps*" \ - -not -name "Makefile" \ - -not -name "Make.rules" \ - -not -name ".cvsignore" \ - -not -path "./libtool" \ - -not -path "./*/backup*" \ - | sort -) <( cd ${DISTDIR} && find | sort) diff -Nru console-tools-0.2.3/local-scripts/get-files console-tools-0.2.3/local-scripts/get-files --- console-tools-0.2.3/local-scripts/get-files 1999-04-15 17:53:53.000000000 +0000 +++ console-tools-0.2.3/local-scripts/get-files 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -#!/bin/sh - -gettextize -aclocal -autoheader -automake --add-missing -autoconf -./configure diff -Nru console-tools-0.2.3/local-scripts/make-fallbacks console-tools-0.2.3/local-scripts/make-fallbacks --- console-tools-0.2.3/local-scripts/make-fallbacks 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/local-scripts/make-fallbacks 1970-01-01 00:00:00.000000000 +0000 @@ -1,59 +0,0 @@ -#!/bin/bash -# -*- sh -*- - -# Takes on stdin a file formated like the official UnicodeData list; -# Writes on stdout a fallback table suitable for `consolechars -k' - -# Note: we assume all diacrs match a non-diacr ! - -if [ $# != 3 ] -then - echo >&2 "Usage: $(basename $0) FULL_PATTERN REDUCTED_PATTERN TRANSLATION" - echo >&2 " < UnicodeData-2.txt >out.fallback" - exit 1 -fi - -FULL_GREP_PATTERN=$1 -REDUCTED_PATTERN=$2 -TRANSLATION=$3 - -FULL_SED_PATTERN=$(echo ${FULL_GREP_PATTERN} | sed -e 's/?/\\{0,1\\}/g' -e 's/\([()|]\)/\\\1/g') - -FILE=/tmp/file.$$ -cut -d\; -f1,2 >$FILE - -cat << EOF -# -# Fallback file from chars matching: -# '${FULL_GREP_PATTERN}' -# to chars matching: -# '${REDUCTED_PATTERN}' -# using as a translation rule: -# '${TRANSLATION}' -# -# Auto-generated by $(basename $0) from UnicodeData list -# -# ** DO NOT EDIT MANUALLY ** -# - -EOF - -cat < $FILE | - # select only targeted lines - egrep -f <(echo ";${FULL_GREP_PATTERN}$") | - # filter out those we want to reduct to - egrep -v -f <(echo ";${REDUCTED_PATTERN}$") | - # translate into wished reduction, and keep orig name as 3rd field - sed -f <(echo "s/;${FULL_SED_PATTERN}$/;${TRANSLATION}\0/") | - # translate into wished unicode - sed -f <( - # construct a sed filter that adds their unicodes to reduction names - egrep < $FILE ";${REDUCTED_PATTERN}$" | - awk -F\; '{print "s/;" $2 ";/;U+" $1 "\\0/"}' - ) | - # filter out lines that did not give a reducted pattern - grep ';U+' | - # format lines in fallback-file syntax - awk -F\; '{print "# " $4 " : " $3 "\nU+" $1 " " $2}' - -rm $FILE diff -Nru console-tools-0.2.3/local-scripts/make-fallbacks.pl console-tools-0.2.3/local-scripts/make-fallbacks.pl --- console-tools-0.2.3/local-scripts/make-fallbacks.pl 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/local-scripts/make-fallbacks.pl 1970-01-01 00:00:00.000000000 +0000 @@ -1,86 +0,0 @@ -#!/usr/bin/perl - -# -# Parse command-line -# - -$PATTERN=$ARGV[0]; -shift @ARGV; -@TRANSLATIONS = @ARGV; - -# -# Parse each input line -# - -my %unicodes = (); # label => code for each char matching $PATTARN -my @fallbacks = (); # array of fallback entries, each of which is stored as - # a hash whose keys are "labels" and "codes", and values - # are refs to arrays. - -UNICODE: while (<STDIN>) { -# ($code, $label, $categ, $comClass, -# $bidiClass, $decompos, $decDigit, $digit, -# $numeric, $mirror, $oldName, $comment, -# $upper, $lower, $title) = split (/;/); - - ($code, $label, $categ, undef, - undef, undef, undef, undef, - undef, undef, undef, undef, - undef, undef, undef) = split (/;/); - - # skip control chars - next UNICODE if (index ($categ, "C") == 0); - - # if this line is interesting - if ($label =~ m/$PATTERN/) { - # store the char in the hash for future use - $unicodes{$label} = $code; - - # create a new fallback entry - unshift (@fallbacks, {}); - $fallbacks[0]{labels} = [$label]; - - # compute the accepted transformed char-labels - for ($j = 0; $j <= $#TRANSLATIONS; $j++) { - $transl = $label; - $transl =~ s/$PATTERN/eval"\"$TRANSLATIONS[$j]\""/e; - push (@{$fallbacks[0]{labels}}, $transl); - } - next UNICODE; # don't try to match with a smaller pattern - } -} - -# use Data::Dumper; -# print (Dumper(\@fallbacks)); -# exit 0; - -# process collected data into .fallback format -FB_ENTRY: foreach $fallback (@fallbacks) { - # cleanup fallback line - my $tmp = []; # clean version of $fallback->{labels} - my $code; - foreach $char (@{$fallback->{labels}}) { - if (($code = $unicodes{$char}) and not (grep (/$code/, @{$fallback->{codes}}))) { - push (@$tmp, $char); - push (@{$fallback->{codes}}, $code); - } - } - $fallback->{labels} = $tmp; - - # if fallback entry only has one char (ie. no fallback), drop it - if ($#{$fallback->{codes}} == 0) { - next FB_ENTRY; - } - - # describing comment line - foreach $char (@{$fallback->{labels}}) { - printf ("# %s ", $char); - } - print "\n"; - - # the entry itself - foreach $char (@{$fallback->{labels}}) { - printf ("U+%s ", $unicodes{$char}); - } - print "\n"; -} diff -Nru console-tools-0.2.3/local-scripts/make-fallbacks.pl-old-cli console-tools-0.2.3/local-scripts/make-fallbacks.pl-old-cli --- console-tools-0.2.3/local-scripts/make-fallbacks.pl-old-cli 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/local-scripts/make-fallbacks.pl-old-cli 1970-01-01 00:00:00.000000000 +0000 @@ -1,77 +0,0 @@ -#!/usr/bin/perl - -# latin_diacr patterns: -# 'LATIN (SMALL|CAPITAL) (LETTER|LIGATURE) ((LONG|OPEN|DOTLESS) )?([^ ;]+)( DIGRAPH)?( WITH ([^ ;]+)( AND ([ ;]+))?)?' -# 'LATIN $1 $2 $3$5$6 WITH $8' -# 'LATIN (SMALL|CAPITAL) (LETTER|LIGATURE) ((LONG|OPEN|DOTLESS) )?([^ ;]+)( DIGRAPH)?( WITH [^ ;]+)?' -# 'LATIN $1 $2 $3$5$6' -# 'LATIN (SMALL|CAPITAL) (LETTER|LIGATURE) ((LONG|OPEN|DOTLESS) )?[^ ;]+( DIGRAPH)?' -# 'LATIN $1 $2 $5$6' -# 'LATIN (SMALL|CAPITAL) (LETTER|LIGATURE) [^ ;]+( DIGRAPH)?' - -# latin_diacr_HOPEFULL_PATTERN='LATIN' - -#($FULL_PATTERN, $REDUCTED_PATTERN, $TRANSLATION) = @ARGV; -#printf (" => `%s'\n =>`%s'\n =>`%s'\n", $FULL_PATTERN, $REDUCTED_PATTERN, $TRANSLATION); - -# -# Parse command-line: fill @PATTERNS and @TRANSLATION alternatively -# - -# @PATTERNS=(); -# @TRANSLATIONS=(); - -# $arg_parity = 0; -# foreach $arg (@ARGV) { -# if ($arg_parity == 1) { -# push @TRANSLATIONS, $arg; -# } else { -# push @PATTERNS, $arg; -# } -# $arg_parity = not $arg_parity; -# } - -$PATTERNS=$ARGV[0]; -shift @ARGV; -@TRANSLATIONS = @ARGV; - -use Data::Dumper; -$Data::Dumper::Indent = 3; -$Data::Dumper::Terse = 1; -#printf ("\@PATTERNS = %s\@TRANSLATIONS = %s\n", Dumper(\@PATTERNS), Dumper(\@TRANSLATIONS)); -printf ("\$PATTERNS = %s\@TRANSLATIONS = %s\n", Dumper($PATTERNS), Dumper(\@TRANSLATIONS)); -exit 0; - -# -# Parse each input line -# - -UNICODE: while (<STDIN>) { -# ($code, $label, $categ, $comClass, -# $bidiClass, $decompos, $decDigit, $digit, -# $numeric, $mirror, $oldName, $comment, -# $upper, $lower, $title) = split (/;/); - - ($code, $label, $categ, undef, - undef, undef, undef, undef, - undef, undef, undef, undef, - undef, undef, undef) = split (/;/); - - # skip control chars - next UNICODE if (index ($categ, "C") == 0); - - for ($i = 0; $i < $#PATTERNS; $i++) { - if ($label =~ m/^$PATTERNS[$i]$/) { - printf ("# `%s'", $label); - for ($j = $i; $j <= $#TRANSLATIONS; $j++) { - $transl = $label; - $transl =~ s/^$PATTERNS[$i]$/eval"\"$TRANSLATIONS[$j]\""/e; - printf (" : `%s'", $transl); - } - print "\n"; - next UNICODE; # don't try to match with a smaller pattern - } else { - printf ("# *SKIPPED* `%s'\n", $label); - } - } -} diff -Nru console-tools-0.2.3/local-scripts/make-nofallbacks console-tools-0.2.3/local-scripts/make-nofallbacks --- console-tools-0.2.3/local-scripts/make-nofallbacks 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/local-scripts/make-nofallbacks 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -#!/bin/bash -# -*- sh -*- - -# Takes on stdin a file formated like the official UnicodeData list; -# Writes on stdout a list of chars that don't get a fallback - -if [ $# != 2 ] -then - echo >&2 "Usage: $(basename $0) FULL_PATTERN HOPEFULL_PATTERN" - echo >&2 " < UnicodeData-2.txt >out.nofallback" - exit 1 -fi - -FULL_PATTERN=$1 -HOPEFULL_PATTERN=$2 - -FILE=/tmp/file.$$ -cut -d\; -f1,2 >$FILE - -cat << EOF -# -# List of characters matching: -# '${HOPEFULL_PATTERN}' -# that don't get a fallback using: -# FULL_PATTERN='${FULL_PATTERN}' -# -# Auto-generated by $(basename $0) from UnicodeData list -# -# ** DO NOT EDIT MANUALLY ** -# - -EOF - -egrep < $FILE -f <(echo ";${HOPEFULL_PATTERN}") | - egrep -v -f <(echo ";${FULL_PATTERN}$") - -rm $FILE diff -Nru console-tools-0.2.3/local-scripts/make-nofallbacks.pl console-tools-0.2.3/local-scripts/make-nofallbacks.pl --- console-tools-0.2.3/local-scripts/make-nofallbacks.pl 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/local-scripts/make-nofallbacks.pl 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -#!/usr/bin/perl - -($PATTERN, $HOPEFULL_PATTERN) = @ARGV; - -UNICODE: while (<STDIN>) { -# ($code, $label, $categ, $comClass, -# $bidiClass, $decompos, $decDigit, $digit, -# $numeric, $mirror, $oldName, $comment, -# $upper, $lower, $title) = split (/;/); - - ($code, $label, $categ, undef, - undef, undef, undef, undef, - undef, undef, undef, undef, - undef, undef, undef) = split (/;/); - - # skip control chars - next UNICODE if (index ($categ, "C") == 0); - - if (($label =~ m/$HOPEFULL_PATTERN/) and ($label !~ m/$PATTERN/)) { - print "$code;$label\n"; - } -} diff -Nru console-tools-0.2.3/local-scripts/make-utflist console-tools-0.2.3/local-scripts/make-utflist --- console-tools-0.2.3/local-scripts/make-utflist 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/local-scripts/make-utflist 1970-01-01 00:00:00.000000000 +0000 @@ -1,51 +0,0 @@ -#! /usr/bin/perl -# -*- perl -*- - -UNICODE: while (<STDIN>) -{ -# ($code, $label, $categ, $comClass, -# $bidiClass, $decompos, $decDigit, $digit, -# $numeric, $mirror, $oldName, $comment, -# $upper, $lower, $title) = split (/;/); - - ($code, $label, $categ, undef, - undef, undef, undef, undef, - undef, undef, undef, $comment, - undef, undef, undef) = split (/;/); - - # skip control chars - next UNICODE if (index ($categ, "C") == 0); - - # print UCS value - printf ("%s ", $code); - - # read as UCS2 - $code = hex($code); - - # print as UTF8 - if ($code < 0x80) { - printf ("%c", $code); - } elsif ($code < 0x800) { - printf ("%c", 0xC0 | ($code >> 6)); - printf ("%c", 0x80 | ($code & 0x3F)); - } else { - printf ("%c", 0xE0 | ($code >> 12)); - printf ("%c", 0x80 | (($code >> 6) & 0x3F)); - printf ("%c", 0x80 | ($code & 0x3F)); - } - - # label - printf (" %s", $label); - - # comment if any - if ($comment ne "") { - printf (" (%s)", $comment); - } - - print "\n"; - -# # old name if any -# if ($oldName ne "") { -# printf (" [ %s ]\n", $oldName); -# } -} diff -Nru console-tools-0.2.3/ltconfig console-tools-0.2.3/ltconfig --- console-tools-0.2.3/ltconfig 1999-04-03 02:11:57.000000000 +0000 +++ console-tools-0.2.3/ltconfig 1970-01-01 00:00:00.000000000 +0000 @@ -1,2822 +0,0 @@ -#! /bin/sh - -# ltconfig - Create a system-specific libtool. -# Copyright (C) 1996-1999 Free Software Foundation, Inc. -# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 -# -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# A lot of this script is taken from autoconf-2.10. - -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} -echo=echo -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<EOF -$* -EOF - exit 0 -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec "$SHELL" "$0" --no-reexec ${1+"$@"} -fi - -# Find the correct PATH separator. Usually this is `:', but -# DJGPP uses `;' like DOS. -if test "X${PATH_SEPARATOR+set}" != "Xset"; then - UNAME=${UNAME-`uname 2>/dev/null`} - case X$UNAME in - *-DOS) PATH_SEPARATOR=';' ;; - *) PATH_SEPARATOR=':' ;; - esac -fi - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi - -if test "X${echo_test_string+set}" != "Xset"; then - # find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string="`eval $cmd`") 2>/dev/null && - echo_test_string="`eval $cmd`" && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" != 'X\t' || - test "X`($echo "$echo_test_string") 2>/dev/null`" != X"$echo_test_string"; then - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" - for dir in $PATH /usr/ucb; do - if test -f $dir/echo && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - test "X`($dir/echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - test "X`(print -r "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif test -f /bin/ksh && test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running ltconfig again with it. - ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}" - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"} - else - # Try using printf. - echo='printf "%s\n"' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - test "X`($echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then - # Cool, printf works - : - elif test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' && - test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then - CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL" - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL $0 --fallback-echo" - elif test "X`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' && - test "X`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then - echo="$CONFIG_SHELL $0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "$0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec "${ORIGINAL_CONFIG_SHELL}" "$0" ${1+"$@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e s/^X//' -sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# The name of this program. -progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'` - -# Constants: -PROGRAM=ltconfig -PACKAGE=libtool -VERSION=1.2f -TIMESTAMP=" (1.385 1999/03/15 17:24:54)" -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5' -ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5' -rm="rm -f" - -help="Try \`$progname --help' for more information." - -# Global variables: -default_ofile=libtool -can_build_shared=yes -enable_shared=yes -# All known linkers require a `.a' archive for static linking. -enable_static=yes -enable_fast_install=yes -enable_dlopen=unknown -ltmain= -silent= -srcdir= -ac_config_guess= -ac_config_sub= -host= -nonopt= -ofile="$default_ofile" -verify_host=yes -with_gcc=no -with_gnu_ld=no -need_locks=yes -ac_ext=c -objext=o -libext=a -cache_file= - -old_AR="$AR" -old_CC="$CC" -old_CFLAGS="$CFLAGS" -old_CPPFLAGS="$CPPFLAGS" -old_LD="$LD" -old_LN_S="$LN_S" -old_NM="$NM" -old_RANLIB="$RANLIB" -old_DLLTOOL="$DLLTOOL" -old_AS="$AS" - -# Parse the command line options. -args= -prev= -for option -do - case "$option" in - -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - eval "$prev=\$option" - prev= - continue - fi - - case "$option" in - --help) cat <<EOM -Usage: $progname [OPTION]... [HOST [LTMAIN]] - -Generate a system-specific libtool script. - - --debug enable verbose shell tracing - --disable-shared do not build shared libraries - --disable-static do not build static libraries - --disable-fast-install do not optimize for fast installation - --enable-dlopen enable dlopen support - --enable-dlopen-self enable support for dlopening programs - --help display this help and exit - --no-verify do not verify that HOST is a valid host type --o, --output=FILE specify the output file [default=$default_ofile] - --quiet same as \`--silent' - --silent do not print informational messages - --srcdir=DIR find \`config.guess' in DIR - --version output version information and exit - --with-gcc assume that the GNU C compiler will be used - --with-gnu-ld assume that the C compiler uses the GNU linker - --disable-lock disable file locking - --cache-file=FILE configure cache file - -LTMAIN is the \`ltmain.sh' shell script fragment or \`ltmain.c' program -that provides basic libtool functionality. - -HOST is the canonical host system name [default=guessed]. -EOM - exit 0 - ;; - - --debug) - echo "$progname: enabling shell trace mode" - set -x - ;; - - --disable-shared) enable_shared=no ;; - - --disable-static) enable_static=no ;; - - --disable-fast-install) enable_fast_install=no ;; - - --enable-dlopen) enable_dlopen=yes ;; - - --quiet | --silent) silent=yes ;; - - --srcdir) prev=srcdir ;; - --srcdir=*) srcdir="$optarg" ;; - - --no-verify) verify_host=no ;; - - --output | -o) prev=ofile ;; - --output=*) ofile="$optarg" ;; - - --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"; exit 0 ;; - - --with-gcc) with_gcc=yes ;; - --with-gnu-ld) with_gnu_ld=yes ;; - - --disable-lock) need_locks=no ;; - - --cache-file=*) cache_file="$optarg" ;; - - -*) - echo "$progname: unrecognized option \`$option'" 1>&2 - echo "$help" 1>&2 - exit 1 - ;; - - *) - if test -z "$ltmain"; then - ltmain="$option" - elif test -z "$host"; then -# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1 -# if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then -# echo "$progname: warning \`$option' is not a valid host type" 1>&2 -# fi - host="$option" - else - echo "$progname: too many arguments" 1>&2 - echo "$help" 1>&2 - exit 1 - fi ;; - esac -done - -if test -z "$ltmain"; then - echo "$progname: you must specify a LTMAIN file" 1>&2 - echo "$help" 1>&2 - exit 1 -fi - -if test ! -f "$ltmain"; then - echo "$progname: \`$ltmain' does not exist" 1>&2 - echo "$help" 1>&2 - exit 1 -fi - -# Quote any args containing shell metacharacters. -ltconfig_args= -for arg -do - case "$arg" in - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ltconfig_args="$ltconfig_args '$arg'" ;; - *) ltconfig_args="$ltconfig_args $arg" ;; - esac -done - -# A relevant subset of AC_INIT. - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 5 compiler messages saved in config.log -# 6 checking for... messages and results -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>>./config.log - -# NLS nuisances. -# Only set LANG and LC_ALL to C if already set. -# These must not be set unconditionally because not all systems understand -# e.g. LANG=C (notably SCO). -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LANG+set}" = set; then LANG=C; export LANG; fi - -if test -n "$cache_file" && test -r "$cache_file"; then - echo "loading cache $cache_file within ltconfig" - . $cache_file -fi - -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - -if test -z "$srcdir"; then - # Assume the source directory is the same one as the path to LTMAIN. - srcdir=`$echo "X$ltmain" | $Xsed -e 's%/[^/]*$%%'` - test "$srcdir" = "$ltmain" && srcdir=. -fi - -trap "$rm conftest*; exit 1" 1 2 15 -if test "$verify_host" = yes; then - # Check for config.guess and config.sub. - ac_aux_dir= - for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/config.guess; then - ac_aux_dir=$ac_dir - break - fi - done - if test -z "$ac_aux_dir"; then - echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2 - echo "$help" 1>&2 - exit 1 - fi - ac_config_guess=$ac_aux_dir/config.guess - ac_config_sub=$ac_aux_dir/config.sub - - # Make sure we can run config.sub. - if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then : - else - echo "$progname: cannot run $ac_config_sub" 1>&2 - echo "$help" 1>&2 - exit 1 - fi - - echo $ac_n "checking host system type""... $ac_c" 1>&6 - - host_alias=$host - case "$host_alias" in - "") - if host_alias=`$SHELL $ac_config_guess`; then : - else - echo "$progname: cannot guess host type; you must specify one" 1>&2 - echo "$help" 1>&2 - exit 1 - fi ;; - esac - host=`$SHELL $ac_config_sub $host_alias` - echo "$ac_t$host" 1>&6 - - # Make sure the host verified. - test -z "$host" && exit 1 - -elif test -z "$host"; then - echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2 - echo "$help" 1>&2 - exit 1 -else - host_alias=$host -fi - -# Transform linux* to *-*-linux-gnu*, to support old configure scripts. -case "$host_os" in -linux-gnu*) ;; -linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` -esac - -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -case "$host_os" in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "${COLLECT_NAMES+set}" != set; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR cru $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -# Set a sane default for `AR'. -test -z "$AR" && AR=ar - -# If RANLIB is not set, then run the test. -if test "${RANLIB+set}" != "set"; then - result=no - - echo $ac_n "checking for ranlib... $ac_c" 1>&6 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/ranlib; then - RANLIB="ranlib" - result="ranlib" - break - fi - done - IFS="$save_ifs" - - echo "$ac_t$result" 1>&6 -fi - -if test -n "$RANLIB"; then - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" - old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" -fi - -# Set sane defaults for `DLLTOOL' and `AS', used on cygwin. -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$AS" && AS=as - -# Check to see if we are using GCC. -if test "$with_gcc" != yes || test -z "$CC"; then - # If CC is not set, then try to find GCC or a usable CC. - if test -z "$CC"; then - echo $ac_n "checking for gcc... $ac_c" 1>&6 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" - for dir in $PATH; do - IFS="$save_ifs" - test -z "$dir" && dir=. - if test -f $dir/gcc; then - CC="gcc" - break - fi - done - IFS="$save_ifs" - - if test -n "$CC"; then - echo "$ac_t$CC" 1>&6 - else - echo "$ac_t"no 1>&6 - fi - fi - - # Not "gcc", so try "cc", rejecting "/usr/ucb/cc". - if test -z "$CC"; then - echo $ac_n "checking for cc... $ac_c" 1>&6 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" - cc_rejected=no - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/cc; then - if test "$dir/cc" = "/usr/ucb/cc"; then - cc_rejected=yes - continue - fi - CC="cc" - break - fi - done - IFS="$save_ifs" - if test $cc_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $CC - shift - if test $# -gt 0; then - # We chose a different compiler from the bogus one. - # However, it has the same name, so the bogon will be chosen - # first if we set CC to just the name; use the full file name. - shift - set dummy "$dir/cc" "$@" - shift - CC="$@" - fi - fi - - if test -n "$CC"; then - echo "$ac_t$CC" 1>&6 - else - echo "$ac_t"no 1>&6 - fi - - if test -z "$CC"; then - echo "$progname: error: no acceptable cc found in \$PATH" 1>&2 - exit 1 - fi - fi - - # Now see if the compiler is really GCC. - with_gcc=no - echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6 - echo "$progname:564: checking whether we are using GNU C" >&5 - - $rm conftest.c - cat > conftest.c <<EOF -#ifdef __GNUC__ - yes; -#endif -EOF - if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:572: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then - with_gcc=yes - fi - $rm conftest.c - echo "$ac_t$with_gcc" 1>&6 -fi - -# Allow CC to be a program name with arguments. -set dummy $CC -compiler="$2" - -echo $ac_n "checking for object suffix... $ac_c" 1>&6 -$rm conftest* -echo 'int i = 1;' > conftest.c -echo "$progname:586: checking for object suffix" >& 5 -if { (eval echo $progname:587: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then - # Append any warnings to the config.log. - cat conftest.err 1>&5 - - for ac_file in conftest.*; do - case $ac_file in - *.c) ;; - *) objext=`echo $ac_file | sed -e s/conftest.//` ;; - esac - done -else - cat conftest.err 1>&5 - echo "$progname: failed program was:" >&5 - cat conftest.c >&5 -fi -$rm conftest* -echo "$ac_t$objext" 1>&6 - -echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6 -pic_flag= -special_shlib_compile_flags= -wl= -link_static_flag= -no_builtin_flag= - -if test "$with_gcc" = yes; then - wl='-Wl,' - link_static_flag='-static' - - case "$host_os" in - beos* | irix5* | irix6* | osf3* | osf4*) - # PIC is the default for these OSes. - ;; - aix*) - # Below there is a dirty hack to force normal static linking with -ldl - # The problem is because libdl dynamically linked with both libc and - # libC (AIX C++ library), which obviously doesn't included in libraries - # list by gcc. This cause undefined symbols with -static flags. - # This hack allows C programs to be linked with "-static -ldl", but - # we not sure about C++ programs. - link_static_flag="$link_static_flag ${wl}-lC" - ;; - cygwin* | mingw* | os2*) - # We can build DLLs from non-PIC. - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - pic_flag='-m68020 -resident32 -malways-restore-a4' - ;; - *) - pic_flag='-fPIC' - ;; - esac -else - # PORTME Check for PIC flags for the system compiler. - case "$host_os" in - aix3* | aix4*) - # All AIX code is PIC. - link_static_flag='-bnso -bI:/lib/syscalls.exp' - ;; - - hpux9* | hpux10* | hpux11*) - # Is there a better link_static_flag that works with the bundled CC? - wl='-Wl,' - link_static_flag="${wl}-a ${wl}archive" - pic_flag='+Z' - ;; - - irix5* | irix6*) - wl='-Wl,' - link_static_flag='-non_shared' - # PIC (with -KPIC) is the default. - ;; - - cygwin* | mingw* | os2*) - # We can build DLLs from non-PIC. - ;; - - osf3* | osf4*) - # All OSF/1 code is PIC. - wl='-Wl,' - link_static_flag='-non_shared' - ;; - - sco3.2v5*) - pic_flag='-Kpic' - link_static_flag='-dn' - special_shlib_compile_flags='-belf' - ;; - - solaris*) - pic_flag='-KPIC' - link_static_flag='-Bstatic' - wl='-Wl,' - ;; - - sunos4*) - pic_flag='-PIC' - link_static_flag='-Bstatic' - wl='-Qoption ld ' - ;; - - sysv4.2uw2* | sysv4.3* | sysv5*) - pic_flag='-KPIC' - link_static_flag='-Bstatic' - wl='-Wl,' - ;; - - uts4*) - pic_flag='-pic' - link_static_flag='-Bstatic' - ;; - - *) - can_build_shared=no - ;; - esac -fi - -if test -n "$pic_flag"; then - echo "$ac_t$pic_flag" 1>&6 - - # Check to make sure the pic_flag actually works. - echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6 - $rm conftest* - echo "int some_variable = 0;" > conftest.c - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $pic_flag -DPIC" - echo "$progname:717: checking if $compiler PIC flag $pic_flag works" >&5 - if { (eval echo $progname:718: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then - # Append any warnings to the config.log. - cat conftest.err 1>&5 - - case "$host_os" in - hpux9* | hpux10* | hpux11*) - # On HP-UX, both CC and GCC only warn that PIC is supported... then they - # create non-PIC objects. So, if there were any warnings, we assume that - # PIC is not supported. - if test -s conftest.err; then - echo "$ac_t"no 1>&6 - can_build_shared=no - pic_flag= - else - echo "$ac_t"yes 1>&6 - pic_flag=" $pic_flag" - fi - ;; - *) - echo "$ac_t"yes 1>&6 - pic_flag=" $pic_flag" - ;; - esac - else - # Append any errors to the config.log. - cat conftest.err 1>&5 - can_build_shared=no - pic_flag= - echo "$ac_t"no 1>&6 - fi - CFLAGS="$save_CFLAGS" - $rm conftest* -else - echo "$ac_t"none 1>&6 -fi - -# Check to see if options -o and -c are simultaneously supported by compiler -echo $ac_n "checking if $compiler supports -c -o file.o... $ac_c" 1>&6 -$rm conftest* -echo "int some_variable = 0;" > conftest.c -save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS -c -o conftest2.o" -echo "$progname:760: checking if $compiler supports -c -o file.o" >&5 -if { (eval echo $progname:761: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest2.o; then - - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - echo "$ac_t"no 1>&6 - compiler_c_o=no - else - echo "$ac_t"yes 1>&6 - compiler_c_o=yes - fi -else - # Append any errors to the config.log. - cat conftest.err 1>&5 - compiler_c_o=no - echo "$ac_t"no 1>&6 -fi -CFLAGS="$save_CFLAGS" -$rm conftest* - -if test x"$compiler_c_o" = x"yes"; then - # Check to see if we can write to a .lo - echo $ac_n "checking if $compiler supports -c -o file.lo... $ac_c" 1>&6 - $rm conftest* - echo "int some_variable = 0;" > conftest.c - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -c -o conftest.lo" - echo "$progname:788: checking if $compiler supports -c -o file.lo" >&5 -if { (eval echo $progname:789: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.lo; then - - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - echo "$ac_t"no 1>&6 - compiler_o_lo=no - else - echo "$ac_t"yes 1>&6 - compiler_o_lo=yes - fi - else - # Append any errors to the config.log. - cat conftest.err 1>&5 - compiler_o_lo=no - echo "$ac_t"no 1>&6 - fi - CFLAGS="$save_CFLAGS" - $rm conftest* -else - compiler_o_lo=no -fi - -# Check to see if we can do hard links to lock some files if needed -hard_links="nottested" -if test "$compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - echo $ac_n "checking if we can lock with hard links... $ac_c" 1>&6 - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - echo "$ac_t$hard_links" 1>&6 - $rm conftest* - if test "$hard_links" = no; then - echo "*** WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2 - need_locks=warn - fi -else - need_locks=no -fi - -if test "$with_gcc" = yes; then - # Check to see if options -fno-rtti -fno-exceptions are supported by compiler - echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions ... $ac_c" 1>&6 - $rm conftest* - echo "int some_variable = 0;" > conftest.c - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.c" - echo "$progname:840: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 - if { (eval echo $progname:841: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then - - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - echo "$ac_t"no 1>&6 - compiler_rtti_exceptions=no - else - echo "$ac_t"yes 1>&6 - compiler_rtti_exceptions=yes - fi - else - # Append any errors to the config.log. - cat conftest.err 1>&5 - compiler_rtti_exceptions=no - echo "$ac_t"no 1>&6 - fi - CFLAGS="$save_CFLAGS" - $rm conftest* - - if test "$compiler_rtti_exceptions" = "yes"; then - no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions' - else - no_builtin_flag=' -fno-builtin' - fi - -fi - -# Check for any special shared library compilation flags. -if test -n "$special_shlib_compile_flags"; then - echo "$progname: warning: \`$CC' requires \`$special_shlib_compile_flags' to build shared libraries" 1>&2 - if echo "$old_CC $old_CFLAGS " | egrep -e "[ ]$special_shlib_compile_flags[ ]" >/dev/null; then : - else - echo "$progname: add \`$special_shlib_compile_flags' to the CC or CFLAGS env variable and reconfigure" 1>&2 - can_build_shared=no - fi -fi - -echo $ac_n "checking if $compiler static flag $link_static_flag works... $ac_c" 1>&6 -$rm conftest* -echo 'main(){return(0);}' > conftest.c -save_LDFLAGS="$LDFLAGS" -LDFLAGS="$LDFLAGS $link_static_flag" -echo "$progname:884: checking if $compiler static flag $link_static_flag works" >&5 -if { (eval echo $progname:885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then - echo "$ac_t$link_static_flag" 1>&6 -else - echo "$ac_t"none 1>&6 - link_static_flag= -fi -LDFLAGS="$save_LDFLAGS" -$rm conftest* - -if test -z "$LN_S"; then - # Check to see if we can use ln -s, or we need hard links. - echo $ac_n "checking whether ln -s works... $ac_c" 1>&6 - $rm conftestdata - if ln -s X conftestdata 2>/dev/null; then - $rm conftestdata - LN_S="ln -s" - else - LN_S=ln - fi - if test "$LN_S" = "ln -s"; then - echo "$ac_t"yes 1>&6 - else - echo "$ac_t"no 1>&6 - fi -fi - -# Make sure LD is an absolute path. -if test -z "$LD"; then - ac_prog=ld - if test "$with_gcc" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6 - echo "$progname:917: checking for ld used by GCC" >&5 - ac_prog=`($CC -print-prog-name=ld) 2>&5` - case "$ac_prog" in - # Accept absolute paths. - /* | [A-Za-z]:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we are not using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac - elif test "$with_gnu_ld" = yes; then - echo $ac_n "checking for GNU ld... $ac_c" 1>&6 - echo "$progname:941: checking for GNU ld" >&5 - else - echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 - echo "$progname:944: checking for non-GNU ld" >&5 - fi - - if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog"; then - LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - if "$LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - test "$with_gnu_ld" != no && break - else - test "$with_gnu_ld" != yes && break - fi - fi - done - IFS="$ac_save_ifs" - fi - - if test -n "$LD"; then - echo "$ac_t$LD" 1>&6 - else - echo "$ac_t"no 1>&6 - fi - - if test -z "$LD"; then - echo "$progname: error: no acceptable ld found in \$PATH" 1>&2 - exit 1 - fi -fi - -# Check to see if it really is or is not GNU ld. -echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6 -# I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then - with_gnu_ld=yes -else - with_gnu_ld=no -fi -echo "$ac_t$with_gnu_ld" 1>&6 - -# See if the linker supports building shared libraries. -echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6 - -allow_undefined_flag= -no_undefined_flag= -need_lib_prefix=unknown -need_version=unknown -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -archive_cmds= -archive_expsym_cmds= -old_archive_from_new_cmds= -export_dynamic_flag_spec= -whole_archive_flag_spec= -thread_safe_flag_spec= -hardcode_libdir_flag_spec= -hardcode_libdir_separator= -hardcode_direct=no -hardcode_minus_L=no -hardcode_shlibpath_var=unsupported -runpath_var= -always_export_symbols=no -export_symbols_cmds='$NM $libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' -# include_expsyms should be a list of space-separated symbols to be *always* -# included in the symbol list -include_expsyms= -# exclude_expsyms can be an egrep regular expression of symbols to exclude -# it will be wrapped by ` (' and `)$', so one must not match beginning or -# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', -# as well as any symbol that contains `d'. -exclude_expsyms= - -case "$host_os" in -cygwin* | mingw*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$with_gcc" != yes; then - with_gnu_ld=no - fi - ;; - -freebsd2* | sunos4*) - exclude_expsyms="_GLOBAL_OFFSET_TABLE_" - ;; - -esac - -ld_shlibs=yes -if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # See if GNU ld supports shared libraries. - case "$host_os" in - aix3* | aix4*) - # On AIX, the GNU linker is very broken - ld_shlibs=no - cat <<EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - ;; - - amigaos*) - archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linkopts' - wlarc= - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - beos*) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -nostart $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw*) - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported - always_export_symbols=yes - - # Extract the symbol export list from an `--export-all' def file, - # then regenerate the def file from the symbol export list, so that - # the compiled dll only exports the symbol export list. - export_symbols_cmds='rm -f $objdir/$soname-ltdll.c~ - sed -e "/^# \/\* ltdll.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~ - (cd $objdir && $CC -c $soname-ltdll.c)~ - $DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs~ - sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]* ; *//" < $objdir/$soname-def > $export_symbols' - - archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~ - _lt_hint=1; - for symbol in `cat $export_symbols`; do - echo " \$symbol @ \$_lt_hint ; " >> $objdir/$soname-def; - _lt_hint=`expr 1 + \$_lt_hint`; - done~ - $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ - $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ - $CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts' - - old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a' - ;; - - *) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = yes; then - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi -else - # PORTME fill in a description of your system's linker (not GNU ld) - case "$host_os" in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $objdir/$soname $libobjs $deplibs $linkopts -bE:$export_symbols -T512 -H512 -bM:SRE~$AR cru $lib $objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$with_gcc" = yes && test -z "$link_static_flag"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix4*) - allow_undefined_flag= - if test "$with_gcc" = yes; then - if strings `${CC} -print-prog-name=collect2` | \ - grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct=yes - else - # We have old collect2 - hardcode_direct=unsupported - fi - archive_cmds='$CC -shared ${wl}-bnoentry -o $objdir/$soname $libobjs $deplibs $linkopts' - else - always_export_symbols=yes - archive_expsym_cmds='$CC -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bE:$export_symbols ${wl}-bM:SRE ${wl}-bnoentry' - hardcode_direct=yes - fi - hardcode_minus_L=yes - # Though LIBPATH variable hardcodes shlibpath into executable, - # it doesn't affect searching for -l* libraries; this confuses - # tests in mdemo. - hardcode_shlibpath_var=unsupported - hardcode_libdir_flag_spec='-L$libdir' - ;; - - amigaos*) - archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - - cygwin* | mingw*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $linkopts `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib /OUT:$oldlib$oldobjs' - fix_srcfile_path='`cygpath -w $srcfile`' - ;; - - freebsd1*) - ld_shlibs=no - can_build_shared=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_minus_L=no # verified on 2.2.6 - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $linkopts' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_minus_L=no - hardcode_shlibpath_var=no - ;; - - hpux9*) - archive_cmds='$rm $objdir/$soname~$LD -b +s +b $install_libdir -o $objdir/$soname $libobjs $deplibs $linkopts~test $objdir/$soname = $lib || mv $objdir/$soname $lib' - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10* | hpux11*) - archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib $libobjs $deplibs $linkopts' - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - irix5* | irix6*) - if test "$with_gcc" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - else - archive_cmds='$LD -shared $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linkopts' # ELF - fi - hardcode_libdir_flag_spec='${wl}-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - openbsd*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def~$echo DATA >> $objdir/$libname.def~$echo " SINGLE NONSHARED" >> $objdir/$libname.def~$echo EXPORTS >> $objdir/$libname.def~emxexp $libobjs >> $objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $linkopts $objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def' - ;; - - osf3* | osf4*) - if test "$with_gcc" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - sco3.2v5*) - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linkopts' - hardcode_direct=yes - ;; - - solaris*) - no_undefined_flag=' -z text' - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - ;; - - sunos4*) - # Why do we need -Bstatic? To avoid inter-library dependencies, maybe... - if test "$with_gcc" = yes; then - # Use -fPIC here because libgcc is multilibbed - archive_cmds='$CC -shared ${wl}-Bstatic -fPIC -o $lib $libobjs $deplibs $linkopts' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linkopts' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' - hardcode_direct=no - hardcode_minus_L=no - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=no - hardcode_minus_L=no - hardcode_shlibpath_var=no - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=no - hardcode_minus_L=no - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - can_build_shared=no - ;; - esac -fi -echo "$ac_t$ld_shlibs" 1>&6 - -if test -z "$NM"; then - echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6 - case "$NM" in - /* | [A-Za-z]:[/\\]*) ;; # Let the user override the test with a path. - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" - for ac_dir in $PATH /usr/ucb /usr/ccs/bin /bin; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/nm; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - NM="$ac_dir/nm -B" - break - elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - NM="$ac_dir/nm -p" - break - else - NM=${NM="$ac_dir/nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - fi - fi - done - IFS="$ac_save_ifs" - test -z "$NM" && NM=nm - ;; - esac - echo "$ac_t$NM" 1>&6 -fi - -# Check for command to grab the raw symbol name followed by C symbol from nm. -echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6 - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Transform the above into a raw symbol and a C symbol. -symxfrm='\1 \2\3 \3' - -# Transform an extracted symbol line into a proper C declaration -global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'" - -# Define system-specific variables. -case "$host_os" in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw*) - symcode='[ABCDGISTW]' - ;; -hpux*) # Its linker distinguishes data from code symbols - global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'" - ;; -irix*) - symcode='[BCDEGRST]' - ;; -solaris*) - symcode='[BDT]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then - symcode='[ABCDGISTW]' -fi - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Write the raw and C identifiers. - global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode\)[ ][ ]*\($ac_symprfx\)$sympat$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - $rm conftest* - cat > conftest.c <<EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(){} -#ifdef __cplusplus -} -#endif -main(){nm_test_var='a';nm_test_func();return(0);} -EOF - - echo "$progname:1447: checking if global_symbol_pipe works" >&5 - if { (eval echo $progname:1448: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then - # Now try to grab the symbols. - nlist=conftest.nm - if { echo "$progname:1451: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then - - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if egrep ' nm_test_var$' "$nlist" >/dev/null; then - if egrep ' nm_test_func$' "$nlist" >/dev/null; then - cat <<EOF > conftest.c -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$global_symbol_to_cdecl"' < "$nlist" >> conftest.c' - - cat <<EOF >> conftest.c -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[] = -{ -EOF - sed 's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/' < "$nlist" >> conftest.c - cat <<\EOF >> conftest.c - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$objext conftestm.$objext - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="conftestm.$objext" - CFLAGS="$CFLAGS$no_builtin_flag" - if { (eval echo $progname:1503: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then - pipe_works=yes - else - echo "$progname: failed program was:" >&5 - cat conftest.c >&5 - fi - LIBS="$save_LIBS" - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.c >&5 - fi - $rm conftest* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - global_symbol_pipe= - fi -done -echo "$ac_t$pipe_works" 1>&6 - -if test -z "$global_symbol_pipe"; then - global_symbol_to_cdecl= -fi - -# Check hardcoding attributes. -echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6 -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || \ - test -n "$runpath_var"; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct" != no && \ - test "$hardcode_minus_L" != no && \ - test "$hardcode_shlibpath_var" != no; then - - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -echo "$ac_t$hardcode_action" 1>&6 - - -reload_flag= -reload_cmds='$LD$reload_flag -o $output$reload_objs' -echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6 -# PORTME Some linkers may need a different reload flag. -reload_flag='-r' -echo "$ac_t$reload_flag" 1>&6 -test -n "$reload_flag" && reload_flag=" $reload_flag" - -# PORTME Fill in your ld.so characteristics -library_names_spec= -libname_spec='lib$name' -soname_spec= -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -file_magic_cmd= -file_magic_test_file= -deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [regex]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given egrep regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. -echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6 -case "$host_os" in -aix3*) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}.so$major' - ;; - -aix4*) - version_type=linux - # AIX has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - # We preserve .a as extension for shared libraries though AIX4.2 - # and later linker supports .so - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.a' - shlibpath_var=LIBPATH - deplibs_check_method=pass_all - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}.so' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi4*) - version_type=linux - library_names_spec='${libname}.so$major ${libname}.so' - soname_spec='${libname}.so' - finish_cmds='PATH="$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - deplibs_check_method='file_magic ELF 32-bit LSB shared object' - file_magic_cmd=/usr/bin/file - file_magic_test_file=/shlib/libc.so - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw*) - version_type=windows - if test "$with_gcc" = yes; then - library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a' - else - library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib' - fi - dynamic_linker='Win32 ld.exe' - deplibs_check_method='file_magic file format pei*-i386.*architecture: i386' - file_magic_cmd='objdump -f' - need_lib_prefix=no - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` - version_type=freebsd-$objformat - case "$version_type" in - freebsd-elf*) - deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' - file_magic_cmd=/usr/bin/file - file_magic_test_file=`echo /usr/lib/libc.so*` - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - deplibs_check_method=unknown - library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' - need_version=yes - ;; - esac - finish_cmds='PATH="$PATH:/sbin" OBJFORMAT="'"$objformat"'" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - ;; - -gnu*) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}.so' - shlibpath_var=LD_LIBRARY_PATH - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - dynamic_linker="$host_os dld.sl" - version_type=sunos - need_lib_prefix=no - need_version=no - shlibpath_var=SHLIB_PATH - library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' - soname_spec='${libname}${release}.sl$major' - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -irix5*) - version_type=irix - soname_spec='${libname}${release}.so' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' - shlibpath_var=LD_LIBRARY_PATH - deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" # or should it be pass_all? - file_magic_cmd=/usr/bin/file - file_magic_test_file=`echo /lib/libc.so*` - shlibpath_overrides_runpath=no - ;; - -irix6*) - version_type=irix - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}.so' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' - case "$LD" in # libtool.m4 will add one of these switches to LD - *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - # even though /usr/local/lib is always searched, the man-page says - # shared libraries should not be installed there if they use an ABI - # different from -32, so we'd better not search for shared libraries - # there either - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1" # or should it be pass_all? - file_magic_cmd=/usr/bin/file - file_magic_test_file=`echo /lib${libsuff}/libc.so*` - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux-gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - finish_cmds='PATH="$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - file_magic_cmd=/usr/bin/file - file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - - if test -f /lib/ld.so.1; then - dynamic_linker='GNU ld.so' - else - # Only the GNU ld.so supports shared libraries on MkLinux. - case "$host_cpu" in - powerpc*) dynamic_linker=no ;; - *) dynamic_linker='Linux ld.so' ;; - esac - fi - ;; - -netbsd*) - version_type=sunos - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' - finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' - soname_spec='${libname}${release}.so$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - ;; - -openbsd*) - version_type=sunos - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - need_version=no - fi - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - ;; - -os2*) - libname_spec='$name' - need_lib_prefix=no - library_names_spec='$libname.dll $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4*) - version_type=osf - soname_spec='${libname}${release}.so' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' - shlibpath_var=LD_LIBRARY_PATH - # deplibs_check_method='pass_all' - # Although pass_all appears to work, it copies symbols from static libraries - # into shared ones and exports them. So, when a program is linked with two - # or more libraries that have got copies of the same symbols, link fails - # This was only tested on osf4: - deplibs_check_method='file_magic COFF format alpha shared library' - file_magic_cmd=/usr/bin/file - file_magic_test_file=/shlib/libc.so - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -sco3.2v5*) - version_type=osf - soname_spec='${libname}${release}.so$major' - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - shlibpath_var=LD_LIBRARY_PATH - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - deplibs_check_method="file_magic ELF [0-9][0-9]-bit [LM]SB dynamic lib" - file_magic_cmd=/usr/bin/file - file_magic_test_file=/lib/libc.so - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4.2uw2* | sysv4.3* | sysv5*) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - case "$host_vendor" in - ncr) - deplibs_check_method='pass_all' - ;; - esac - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' - soname_spec='${libname}${release}.so$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -echo "$ac_t$dynamic_linker" 1>&6 -test "$dynamic_linker" = no && can_build_shared=no - -# Report the final consequences. -echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6 - -if test -n "$file_magic_test_file" && test -n "$file_magic_cmd"; then - case "$deplibs_check_method" in - "file_magic "*) - file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - egrep "$file_magic_regex" > /dev/null; then - : - else - cat <<EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac -fi - -echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6 -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case "$host_os" in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4*) - test "$enable_shared" = yes && enable_static=no - ;; -esac - -echo "$ac_t$enable_shared" 1>&6 - -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes - -echo "checking whether to build static libraries... $enable_static" 1>&6 - -if test "$hardcode_action" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - -echo $ac_n "checking for objdir... $ac_c" 1>&6 -rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - objdir=_libs -fi -rmdir .libs 2>/dev/null -echo "$ac_t$objdir" 1>&6 - -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else -if eval "test \"`echo '$''{'lt_cv_dlopen'+set}'`\" != set"; then - lt_cv_dlopen=no lt_cv_dlopen_libs= -echo $ac_n "checking for dlopen""... $ac_c" 1>&6 -echo "$progname:1977: checking for dlopen" >&5 -if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 1982 "ltconfig" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlopen(); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_dlopen) || defined (__stub___dlopen) -choke me -#else -dlopen(); -#endif - -; return 0; } -EOF -if { (eval echo $progname:2004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_dlopen=yes" -else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_dlopen=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then - echo "$ac_t""yes" 1>&6 - lt_cv_dlopen="dlopen" -else - echo "$ac_t""no" 1>&6 -echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "$progname:2022: checking for dlopen in -ldl" >&5 -ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-ldl $LIBS" -cat > conftest.$ac_ext <<EOF -#line 2030 "ltconfig" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen(); - -int main() { -dlopen() -; return 0; } -EOF -if { (eval echo $progname:2040: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - echo "$ac_t""no" 1>&6 -echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6 -echo "$progname:2059: checking for dld_link in -ldld" >&5 -ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-ldld $LIBS" -cat > conftest.$ac_ext <<EOF -#line 2067 "ltconfig" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dld_link(); - -int main() { -dld_link() -; return 0; } -EOF -if { (eval echo $progname:2077: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" -else - echo "$ac_t""no" 1>&6 -echo $ac_n "checking for shl_load""... $ac_c" 1>&6 -echo "$progname:2096: checking for shl_load" >&5 -if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 2101 "ltconfig" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shl_load(); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shl_load(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_shl_load) || defined (__stub___shl_load) -choke me -#else -shl_load(); -#endif - -; return 0; } -EOF -if { (eval echo $progname:2123: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_shl_load=yes" -else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_shl_load=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then - echo "$ac_t""yes" 1>&6 - lt_cv_dlopen="shl_load" -else - echo "$ac_t""no" 1>&6 -echo $ac_n "checking for LoadLibrary""... $ac_c" 1>&6 -echo "$progname:2141: checking for LoadLibrary" >&5 -if eval "test \"`echo '$''{'ac_cv_func_LoadLibrary'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 2146 "ltconfig" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char LoadLibrary(); below. */ -#include <assert.h> -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char LoadLibrary(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_LoadLibrary) || defined (__stub___LoadLibrary) -choke me -#else -LoadLibrary(); -#endif - -; return 0; } -EOF -if { (eval echo $progname:2168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_LoadLibrary=yes" -else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_LoadLibrary=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'LoadLibrary`\" = yes"; then - echo "$ac_t""yes" 1>&6 - lt_cv_dlopen="LoadLibrary" -else - echo "$ac_t""no" 1>&6 -fi - - -fi - - -fi - - -fi - - -fi - -fi - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - fi - - case "$lt_cv_dlopen" in - dlopen) -for ac_hdr in dlfcn.h; do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "$progname:2210: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 2215 "ltconfig" -#include <$ac_hdr> -int fnord = 0; -EOF -ac_try="$ac_compile conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo $progname:2220: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi -done - - if test "x$ac_cv_header_dlfcn_h" = xyes; then - CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - fi - eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - LIBS="$lt_cv_dlopen_libs $LIBS" - - echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6 -echo "$progname:2248: checking whether a program can dlopen itself" >&5 -if test "${lt_cv_dlopen_self+set}" = set; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - lt_cv_dlopen_self=cross - else - cat > conftest.c <<EOF -#line 2256 "ltconfig" - -#if HAVE_DLFCN_H -#include <dlfcn.h> -#endif - -#include <stdio.h> - -#ifdef RTLD_GLOBAL -# define LTDL_GLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LTDL_GLOBAL DL_GLOBAL -# else -# define LTDL_GLOBAL 0 -# endif -#endif - -/* We may have to define LTDL_LAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LTDL_LAZY_OR_NOW -# ifdef RTLD_LAZY -# define LTDL_LAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LTDL_LAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LTDL_LAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LTDL_LAZY_OR_NOW DL_NOW -# else -# define LTDL_LAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -fnord() { int i=42;} -main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW); - if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord"); - if(ptr1 || ptr2) exit(0); } exit(1); } - -EOF -if { (eval echo $progname:2302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null -then - lt_cv_dlopen_self=yes -else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - lt_cv_dlopen_self=no -fi -rm -fr conftest* -fi - -fi - -echo "$ac_t""$lt_cv_dlopen_self" 1>&6 - - if test "$lt_cv_dlopen_self" = yes; then - LDFLAGS="$LDFLAGS $link_static_flag" - echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6 -echo "$progname:2321: checking whether a statically linked program can dlopen itself" >&5 -if test "${lt_cv_dlopen_self_static+set}" = set; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - lt_cv_dlopen_self_static=cross - else - cat > conftest.c <<EOF -#line 2329 "ltconfig" - -#if HAVE_DLFCN_H -#include <dlfcn.h> -#endif - -#include <stdio.h> - -#ifdef RTLD_GLOBAL -# define LTDL_GLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LTDL_GLOBAL DL_GLOBAL -# else -# define LTDL_GLOBAL 0 -# endif -#endif - -/* We may have to define LTDL_LAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LTDL_LAZY_OR_NOW -# ifdef RTLD_LAZY -# define LTDL_LAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LTDL_LAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LTDL_LAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LTDL_LAZY_OR_NOW DL_NOW -# else -# define LTDL_LAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -fnord() { int i=42;} -main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW); - if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord"); - if(ptr1 || ptr2) exit(0); } exit(1); } - -EOF -if { (eval echo $progname:2375: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null -then - lt_cv_dlopen_self_static=yes -else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - lt_cv_dlopen_self_static=no -fi -rm -fr conftest* -fi - -fi - -echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6 -fi - ;; - esac - - case "$lt_cv_dlopen_self" in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case "$lt_cv_dlopen_self_static" in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - -# Copy echo and quote the copy, instead of the original, because it is -# used later. -ltecho="$echo" -if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then - ltecho="$CONFIG_SHELL \$0 --fallback-echo" -fi -LTSHELL="$SHELL" - -LTCONFIG_VERSION="$VERSION" - -# Only quote variables if we're using ltmain.sh. -case "$ltmain" in -*.sh) - # Now quote all the things that may contain metacharacters. - for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \ - old_LN_S old_DLLTOOL old_AS AR CC LD LN_S NM LTSHELL LTCONFIG_VERSION \ - reload_flag reload_cmds wl \ - pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \ - thread_safe_flag_spec whole_archive_flag_spec libname_spec \ - library_names_spec soname_spec \ - RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ - old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds postuninstall_cmds \ - file_magic_cmd export_symbols_cmds deplibs_check_method allow_undefined_flag no_undefined_flag \ - finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \ - hardcode_libdir_flag_spec hardcode_libdir_separator \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do - - case "$var" in - reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - export_symbols_cmds | archive_cmds | archive_expsym_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case "$ltecho" in - *'\$0 --fallback-echo"') - ltecho=`$echo "X$ltecho" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - - trap "$rm \"$ofile\"; exit 1" 1 2 15 - echo "creating $ofile" - $rm "$ofile" - cat <<EOF > "$ofile" -#! $SHELL - -# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh. -# -# Copyright (C) 1996-1999 Free Software Foundation, Inc. -# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="sed -e s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi - -### BEGIN LIBTOOL CONFIG -EOF - cfgfile="$ofile" - ;; - -*) - # Double-quote the variables that need it (for aesthetics). - for var in old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \ - old_LN_S old_DLLTOOL old_AS; do - eval "$var=\\\"\$var\\\"" - done - - # Just create a config file. - cfgfile="$ofile.cfg" - trap "$rm \"$cfgfile\"; exit 1" 1 2 15 - echo "creating $cfgfile" - $rm "$cfgfile" - cat <<EOF > "$cfgfile" -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -EOF - ;; -esac - -cat <<EOF >> "$cfgfile" -# Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# CC=$old_CC CFLAGS=$old_CFLAGS CPPFLAGS=$old_CPPFLAGS \\ -# LD=$old_LD NM=$old_NM RANLIB=$old_RANLIB LN_S=$old_LN_S \\ -# DLLTOOL="$old_DLLTOOL" AS="$old_AS" \\ -# $0$ltconfig_args -# -# Compiler and other test output produced by $progname, useful for -# debugging $progname, is in ./config.log if it exists. - -# The version of $progname that generated this script. -LTCONFIG_VERSION=$LTCONFIG_VERSION - -# Shell to use when invoking shell scripts. -SHELL=$LTSHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host - -# An echo program that does not interpret backslashes. -echo=$ltecho - -# The archiver. -AR=$AR - -# The default C compiler. -CC=$CC - -# The linker used to build libraries. -LD=$LD - -# Whether we need hard or soft links. -LN_S=$LN_S - -# A BSD-compatible nm program. -NM=$NM - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$reload_flag -reload_cmds=$reload_cmds - -# How to pass a linker flag through the compiler. -wl=$wl - -# Object file suffix (normally "o"). -objext="$objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Additional compiler flags for building library objects. -pic_flag=$pic_flag - -# Does compiler simultaneously support -c and -o options -compiler_c_o=$compiler_c_o - -# Can we write directly to a .lo ? -compiler_o_lo=$compiler_o_lo - -# Must we lock files when doing compilation ? -need_locks=$need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$link_static_flag - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$no_builtin_flag - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$whole_archive_flag_spec - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$thread_safe_flag_spec - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$RANLIB -old_archive_cmds=$old_archive_cmds -old_postinstall_cmds=$old_postinstall_cmds -old_postuninstall_cmds=$old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$old_archive_from_new_cmds - -# Commands used to build and install a shared archive. -archive_cmds=$archive_cmds -archive_expsym_cmds=$archive_expsym_cmds -postinstall_cmds=$postinstall_cmds -postuninstall_cmds=$postuninstall_cmds - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$deplibs_check_method - -# Command to use when deplibs_check_method == file_magic -file_magic_cmd=$file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$allow_undefined_flag - -# Flag that forces no undefined symbols. -no_undefined_flag=$no_undefined_flag - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$global_symbol_to_cdecl - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$hardcode_libdir_separator - -# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path" - -# Set to yes if exported symbols are required -always_export_symbols=$always_export_symbols - -# The command to extract exported symbols -export_symbols_cmds=$export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols -exclude_expsyms=$exclude_expsyms - -# Symbols that must always be exported -include_expsyms=$include_expsyms - -EOF - -case "$ltmain" in -*.sh) - echo '### END LIBTOOL CONFIG' >> "$ofile" - echo >> "$ofile" - case "$host_os" in - aix3*) - cat <<\EOF >> "$ofile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "${COLLECT_NAMES+set}" != set; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # Append the ltmain.sh script. - cat "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1) - - chmod +x "$ofile" - ;; - -*) - # Compile the libtool program. - echo "FIXME: would compile $ltmain" - ;; -esac - -test -n "$cache_file" || exit 0 - -# AC_CACHE_SAVE -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -exit 0 - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff -Nru console-tools-0.2.3/ltmain.sh console-tools-0.2.3/ltmain.sh --- console-tools-0.2.3/ltmain.sh 1999-04-03 02:11:57.000000000 +0000 +++ console-tools-0.2.3/ltmain.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,3779 +0,0 @@ -# ltmain.sh - Provide generalized library-building support services. -# NOTE: Changing this file will not affect anything until you rerun ltconfig. -# -# Copyright (C) 1996-1999 Free Software Foundation, Inc. -# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Check that we have a working $echo. -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<EOF -$* -EOF - exit 0 -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then - # Yippee, $echo works! - : -else - # Restart under the correct shell, and then maybe $echo will work. - exec $SHELL "$0" --no-reexec ${1+"$@"} -fi - -# The name of this program. -progname=`$echo "$0" | sed 's%^.*/%%'` -modename="$progname" - -# Constants. -PROGRAM=ltmain.sh -PACKAGE=libtool -VERSION=1.2f -TIMESTAMP=" (1.385 1999/03/15 17:24:54)" - -default_mode= -help="Try \`$progname --help' for more information." -magic="%%%MAGIC variable%%%" -mkdir="mkdir" -mv="mv -f" -rm="rm -f" - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' -SP2NL='tr \040 \012' -NL2SP='tr \012 \040' - -# NLS nuisances. -# Only set LANG and LC_ALL to C if already set. -# These must not be set unconditionally because not all systems understand -# e.g. LANG=C (notably SCO). -# We save the old values to restore during execute mode. -if test "${LC_ALL+set}" = set; then - save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL -fi -if test "${LANG+set}" = set; then - save_LANG="$LANG"; LANG=C; export LANG -fi - -if test "$LTCONFIG_VERSION" != "$VERSION"; then - echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2 - echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit 1 -fi - -if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - echo "$modename: not configured to build any kind of library" 1>&2 - echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit 1 -fi - -# Global variables. -mode=$default_mode -nonopt= -prev= -prevopt= -run= -show="$echo" -show_help= -execute_dlfiles= -lo2o="s/\\.lo\$/.${objext}/" - -# Parse our command line options once, thoroughly. -while test $# -gt 0 -do - arg="$1" - shift - - case "$arg" in - -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case "$prev" in - execute_dlfiles) - eval "$prev=\"\$$prev \$arg\"" - ;; - *) - eval "$prev=\$arg" - ;; - esac - - prev= - prevopt= - continue - fi - - # Have we seen a non-optional argument yet? - case "$arg" in - --help) - show_help=yes - ;; - - --version) - echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" - exit 0 - ;; - - --config) - sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0 - exit 0 - ;; - - --debug) - echo "$progname: enabling shell trace mode" - set -x - ;; - - --dry-run | -n) - run=: - ;; - - --features) - echo "host: $host" - if test "$build_libtool_libs" = yes; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test "$build_old_libs" = yes; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - exit 0 - ;; - - --finish) mode="finish" ;; - - --mode) prevopt="--mode" prev=mode ;; - --mode=*) mode="$optarg" ;; - - --quiet | --silent) - show=: - ;; - - -dlopen) - prevopt="-dlopen" - prev=execute_dlfiles - ;; - - -*) - $echo "$modename: unrecognized option \`$arg'" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - - *) - nonopt="$arg" - break - ;; - esac -done - -if test -n "$prevopt"; then - $echo "$modename: option \`$prevopt' requires an argument" 1>&2 - $echo "$help" 1>&2 - exit 1 -fi - -if test -z "$show_help"; then - - # Infer the operation mode. - if test -z "$mode"; then - case "$nonopt" in - *cc | *++ | gcc* | *-gcc*) - mode=link - for arg - do - case "$arg" in - -c) - mode=compile - break - ;; - esac - done - ;; - *db | *dbx | *strace | *truss) - mode=execute - ;; - *install*|cp|mv) - mode=install - ;; - *rm) - mode=uninstall - ;; - *) - # If we have no mode, but dlfiles were specified, then do execute mode. - test -n "$execute_dlfiles" && mode=execute - - # Just use the default operation mode. - if test -z "$mode"; then - if test -n "$nonopt"; then - $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 - else - $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 - fi - fi - ;; - esac - fi - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$execute_dlfiles" && test "$mode" != execute; then - $echo "$modename: unrecognized option \`-dlopen'" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$modename --help --mode=$mode' for more information." - - # These modes are in order of execution frequency so that they run quickly. - case "$mode" in - # libtool compile mode - compile) - modename="$modename: compile" - # Get the compilation command and the source file. - base_compile= - lastarg= - srcfile="$nonopt" - suppress_output= - - user_target=no - for arg - do - # Accept any command-line options. - case "$arg" in - -o) - if test "$user_target" != "no"; then - $echo "$modename: you cannot specify \`-o' more than once" 1>&2 - exit 1 - fi - user_target=next - ;; - - -static) - build_old_libs=yes - continue - ;; - esac - - case "$user_target" in - next) - # The next one is the -o target name - user_target=yes - continue - ;; - yes) - # We got the output file - user_target=set - libobj="$arg" - continue - ;; - esac - - # Accept the current argument as the source file. - lastarg="$srcfile" - srcfile="$arg" - - # Aesthetically quote the previous argument. - - # Backslashify any backslashes, double quotes, and dollar signs. - # These are the only characters that are still specially - # interpreted inside of double-quoted scrings. - lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` - - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly in scan - # sets, so we specify it separately. - case "$lastarg" in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - lastarg="\"$lastarg\"" - ;; - esac - - # Add the previous argument to base_compile. - if test -z "$base_compile"; then - base_compile="$lastarg" - else - base_compile="$base_compile $lastarg" - fi - done - - case "$user_target" in - set) - ;; - no) - # Get the name of the library object. - libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` - ;; - *) - $echo "$modename: you must specify a target with \`-o'" 1>&2 - exit 1 - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - xform='[cCFSfmso]' - case "$libobj" in - *.ada) xform=ada ;; - *.adb) xform=adb ;; - *.ads) xform=ads ;; - *.asm) xform=asm ;; - *.c++) xform=c++ ;; - *.cc) xform=cc ;; - *.cpp) xform=cpp ;; - *.cxx) xform=cxx ;; - *.f90) xform=f90 ;; - *.for) xform=for ;; - esac - - libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` - - case "$libobj" in - *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; - *) - $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 - exit 1 - ;; - esac - - if test -z "$base_compile"; then - $echo "$modename: you must specify a compilation command" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $libobj" - else - removelist="$libobj" - fi - - $run $rm $removelist - trap "$run $rm $removelist; exit 1" 1 2 15 - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\..*$%%'`.${objext} - lockfile="$output_obj.lock" - removelist="$removelist $output_obj $lockfile" - trap "$run $rm $removelist; exit 1" 1 2 15 - else - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until ln "$0" "$lockfile" 2>/dev/null; do - $show "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - echo "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit 1 - fi - echo $srcfile > "$lockfile" - fi - - if test -n "$fix_srcfile_path"; then - eval srcfile=\"$fix_srcfile_path\" - fi - - # Only build a PIC object if we are building libtool libraries. - if test "$build_libtool_libs" = yes; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - # All platforms use -DPIC, to notify preprocessed assembler code. - command="$base_compile $pic_flag -DPIC $srcfile" - if test "$build_old_libs" = yes; then - lo_libobj="$libobj" - dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$libobj"; then - dir="$objdir" - else - dir="$dir/$objdir" - fi - libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` - - if test -d "$dir"; then - $show "$rm $libobj" - $run $rm $libobj - else - $show "$mkdir $dir" - $run $mkdir $dir - status=$? - if test $status -ne 0 && test ! -d $dir; then - exit $status - fi - fi - fi - if test "$compiler_o_lo" = yes; then - output_obj="$libobj" - command="$command -o $output_obj" - elif test "$compiler_c_o" = yes; then - output_obj="$obj" - command="$command -o $output_obj" - fi - - $show "$command" - if $run eval "$command"; then : - else - test -n "$output_obj" && $run $rm $removelist - exit 1 - fi - - if test "$need_locks" = warn && - test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then - echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit 1 - fi - - # Just move the object if needed, then go on to compile the next one - if test x"$output_obj" != x"$libobj"; then - $show "$mv $output_obj $libobj" - if $run $mv $output_obj $libobj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # If we have no pic_flag, then copy the object into place and finish. - if test -z "$pic_flag" && test "$build_old_libs" = yes; then - # Rename the .lo from within objdir to obj - if test -f $obj; then - $show $rm $obj - $run $rm $obj - fi - - $show "$mv $libobj $obj" - if $run $mv $libobj $obj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - - # Now arrange that obj and lo_libobj become the same file - $show "$LN_S $obj $lo_libobj" - if $run $LN_S $obj $lo_libobj; then - exit 0 - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Allow error messages only from the first compilation. - suppress_output=' >/dev/null 2>&1' - fi - - # Only build a position-dependent object if we build old libraries. - if test "$build_old_libs" = yes; then - command="$base_compile $srcfile" - if test "$compiler_c_o" = yes; then - command="$command -o $obj" - output_obj="$obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - command="$command$suppress_output" - $show "$command" - if $run eval "$command"; then : - else - $run $rm $removelist - exit 1 - fi - - if test "$need_locks" = warn && - test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then - echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit 1 - fi - - # Just move the object if needed - if test x"$output_obj" != x"$obj"; then - $show "$mv $output_obj $obj" - if $run $mv $output_obj $obj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Create an invalid libtool object if no PIC, so that we do not - # accidentally link it into a program. - if test "$build_libtool_libs" != yes; then - $show "echo timestamp > $libobj" - $run eval "echo timestamp > \$libobj" || exit $? - else - # Move the .lo from within objdir - $show "$mv $libobj $lo_libobj" - if $run $mv $libobj $lo_libobj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - fi - - # Unlock the critical section if it was locked - if test "$need_locks" != no; then - $rm "$lockfile" - fi - - exit 0 - ;; - - # libtool link mode - link) - modename="$modename: link" - C_compiler="$CC" # save it, to compile generated C sources - CC="$nonopt" - case "$host" in - *-*-cygwin* | *-*-mingw* | *-*-os2*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # which system we are compiling for in order to pass an extra - # flag for every libtool invokation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll which has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - - # This is a source program that is used to create dlls on Windows - # Don't remove nor modify the starting and closing comments -# /* ltdll.c starts here */ -# #define WIN32_LEAN_AND_MEAN -# #include <windows.h> -# #undef WIN32_LEAN_AND_MEAN -# #include <stdio.h> -# -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); -# -# #include <cygwin/cygwin_dll.h> -# DECLARE_CYGWIN_DLL( DllMain ); -# HINSTANCE __hDllInstance_base; -# -# BOOL APIENTRY -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -# { -# __hDllInstance_base = hInst; -# return TRUE; -# } -# /* ltdll.c ends here */ - # This is a source program that is used to create import libraries - # on Windows for dlls which lack them. Don't remove nor modify the - # starting and closing comments -# /* impgen.c starts here */ -# /* Copyright (C) 1999 Free Software Foundation, Inc. -# -# This file is part of GNU libtool. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# */ -# -# #include <stdio.h> /* for printf() */ -# #include <unistd.h> /* for open(), lseek(), read() */ -# #include <fcntl.h> /* for O_RDONLY, O_BINARY */ -# #include <string.h> /* for strdup() */ -# -# static unsigned int -# pe_get16 (fd, offset) -# int fd; -# int offset; -# { -# unsigned char b[2]; -# lseek (fd, offset, SEEK_SET); -# read (fd, b, 2); -# return b[0] + (b[1]<<8); -# } -# -# static unsigned int -# pe_get32 (fd, offset) -# int fd; -# int offset; -# { -# unsigned char b[4]; -# lseek (fd, offset, SEEK_SET); -# read (fd, b, 4); -# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); -# } -# -# static unsigned int -# pe_as32 (ptr) -# void *ptr; -# { -# unsigned char *b = ptr; -# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); -# } -# -# int -# main (argc, argv) -# int argc; -# char *argv[]; -# { -# int dll; -# unsigned long pe_header_offset, opthdr_ofs, num_entries, i; -# unsigned long export_rva, export_size, nsections, secptr, expptr; -# unsigned long name_rvas, nexp; -# unsigned char *expdata, *erva; -# char *filename, *dll_name; -# -# filename = argv[1]; -# -# dll = open(filename, O_RDONLY|O_BINARY); -# if (!dll) -# return 1; -# -# dll_name = filename; -# -# for (i=0; filename[i]; i++) -# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') -# dll_name = filename + i +1; -# -# pe_header_offset = pe_get32 (dll, 0x3c); -# opthdr_ofs = pe_header_offset + 4 + 20; -# num_entries = pe_get32 (dll, opthdr_ofs + 92); -# -# if (num_entries < 1) /* no exports */ -# return 1; -# -# export_rva = pe_get32 (dll, opthdr_ofs + 96); -# export_size = pe_get32 (dll, opthdr_ofs + 100); -# nsections = pe_get16 (dll, pe_header_offset + 4 +2); -# secptr = (pe_header_offset + 4 + 20 + -# pe_get16 (dll, pe_header_offset + 4 + 16)); -# -# expptr = 0; -# for (i = 0; i < nsections; i++) -# { -# char sname[8]; -# unsigned long secptr1 = secptr + 40 * i; -# unsigned long vaddr = pe_get32 (dll, secptr1 + 12); -# unsigned long vsize = pe_get32 (dll, secptr1 + 16); -# unsigned long fptr = pe_get32 (dll, secptr1 + 20); -# lseek(dll, secptr1, SEEK_SET); -# read(dll, sname, 8); -# if (vaddr <= export_rva && vaddr+vsize > export_rva) -# { -# expptr = fptr + (export_rva - vaddr); -# if (export_rva + export_size > vaddr + vsize) -# export_size = vsize - (export_rva - vaddr); -# break; -# } -# } -# -# expdata = (unsigned char*)malloc(export_size); -# lseek (dll, expptr, SEEK_SET); -# read (dll, expdata, export_size); -# erva = expdata - export_rva; -# -# nexp = pe_as32 (expdata+24); -# name_rvas = pe_as32 (expdata+32); -# -# printf ("EXPORTS\n"); -# for (i = 0; i<nexp; i++) -# { -# unsigned long name_rva = pe_as32 (erva+name_rvas+i*4); -# printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i); -# } -# -# return 0; -# } -# /* impgen.c ends here */ - ;; - *) - allow_undefined=yes - ;; - esac - compile_command="$CC" - finalize_command="$CC" - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - linkopts= - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval lib_search_path=\`\$echo \"X \${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` - else - lib_search_path= - fi - # now prepend the system-specific ones - eval lib_search_path=\"$sys_lib_search_path_spec\$lib_search_path\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - avoid_version=no - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - link_against_libtool_libs= - ltlibs= - module=no - objs= - preload=no - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - - # We need to know -static, to get the right output filenames. - for arg - do - case "$arg" in - -all-static | -static) - if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then - $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 - fi - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test $# -gt 0; do - arg="$1" - shift - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case "$prev" in - output) - compile_command="$compile_command @OUTPUT@" - finalize_command="$finalize_command @OUTPUT@" - ;; - esac - - case "$prev" in - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - compile_command="$compile_command @SYMFILE@" - finalize_command="$finalize_command @SYMFILE@" - preload=yes - fi - case "$arg" in - *.la | *.lo) ;; # We handle these cases below. - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - fi - prev= - continue - ;; - *) - dlprefiles="$dlprefiles $arg" - test "$prev" = dlfiles && dlfiles="$dlfiles $arg" - prev= - ;; - esac - ;; - expsyms) - export_symbols="$arg" - if test ! -f "$arg"; then - $echo "$modename: symbol file \`$arg' does not exist" - exit 1 - fi - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - rpath) - rpath="$rpath $arg" - prev= - continue - ;; - xrpath) - xrpath="$xrpath $arg" - prev= - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi - - prevarg="$arg" - - case "$arg" in - -all-static) - if test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" - finalize_command="$finalize_command $link_static_flag" - dlopen_self=$dlopen_self_static - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 - continue - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - if test "$export_dynamic" != yes; then - export_dynamic=yes - if test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - else - arg= - fi - fi - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: cannot have more than one -exported-symbols" - exit 1 - fi - if test "$arg" = "-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -L*) - dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'` - case "$dir" in - /* | [A-Za-z]:[/\\]*) - # Add the corresponding hardcode_libdir_flag, if it is not identical. - ;; - *) - $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2 - exit 1 - ;; - esac - case " $deplibs " in - *" $arg "*) ;; - *) deplibs="$deplibs $arg";; - esac - case " $lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir";; - esac - case "$host" in - *-*-cygwin* | *-*-mingw* | *-*-os2*) - dllsearchdir=`cd "$dir" && pwd || echo "$dir"` - case ":$dllsearchpath:" in - ::) dllsearchpath="$dllsearchdir";; - *":$dllsearchdir:"*) ;; - *) dllsearchpath="$dllsearchpath:$dllsearchdir";; - esac - ;; - esac - ;; - - -l*) - deplibs="$deplibs $arg" - ;; - - -module) - if test "$module" != yes; then - module=yes - if test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - else - arg= - fi - fi - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -o) prev=output ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - xrpath="$xrpath "`$echo "X$arg" | $Xsed -e 's/^-R//'` - continue - ;; - - -static) - # If we have no pic_flag, then this is the same as -all-static. - if test -z "$pic_flag" && test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" - finalize_command="$finalize_command $link_static_flag" - dlopen_self=$dlopen_self_static - fi - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - # Some other compiler flag. - -* | +*) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case "$arg" in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - ;; - - *.o | *.obj | *.a | *.lib) - # A standard object. - objs="$objs $arg" - ;; - - *.lo) - # A library object. - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - if test "$build_libtool_libs" = yes && test "$dlopen" = yes; then - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"` - prev= - fi - libobjs="$libobjs $arg" - ;; - - *.la) - # A libtool-controlled library. - - dlname= - libdir= - library_names= - old_library= - - # Check to see that this really is a libtool archive. - if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2 - exit 1 - fi - - # If the library was installed with an old release of libtool, - # it will not redefine variable installed. - installed=yes - - # If there is no directory component, then add one. - case "$arg" in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done - - if test -z "$linklib"; then - $echo "$modename: cannot find name of link library for \`$arg'" 1>&2 - exit 1 - fi - - # Find the relevant object directory and library name. - name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'` - - if test "X$installed" = Xyes; then - dir="$libdir" - else - dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$arg"; then - dir="$objdir" - else - dir="$dir/$objdir" - fi - fi - - if test -n "$dependency_libs"; then - # Extract -R from dependency_libs - temp_deplibs= - for deplib in $dependency_libs; do - case "$deplib" in - -R*) temp_xrpath=`$echo "X$deplib" | $Xsed -e 's/^-R//'` - case " $rpath $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - -L*) case "$compile_command $temp_deplibs " in - *" $deplib "*) ;; - *) temp_deplibs="$temp_deplibs $deplib";; - esac;; - *) temp_deplibs="$temp_deplibs $deplib";; - esac - done - dependency_libs="$temp_deplibs" - fi - - if test -z "$libdir"; then - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $dir/$old_library" - old_convenience="$old_convenience $dir/$old_library" - deplibs="$deplibs$dependency_libs" - compile_command="$compile_command $dir/$old_library$dependency_libs" - finalize_command="$finalize_command $dir/$old_library$dependency_libs" - continue - fi - - # This library was specified with -dlopen. - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - if test -z "$dlname" || test "$dlopen" != yes || test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking statically, - # we need to preload. - prev=dlprefiles - else - # We should not create a dependency on this library, but we - # may need any libraries it requires. - compile_command="$compile_command$dependency_libs" - finalize_command="$finalize_command$dependency_libs" - prev= - continue - fi - fi - - # The library was specified with -dlpreopen. - if test "$prev" = dlprefiles; then - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - dlprefiles="$dlprefiles $dir/$old_library" - else - dlprefiles="$dlprefiles $dir/$linklib" - fi - prev= - fi - - if test "$build_libtool_libs" = yes && test -n "$library_names"; then - link_against_libtool_libs="$link_against_libtool_libs $arg" - if test -n "$shlibpath_var"; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *) temp_rpath="$temp_rpath $dir" ;; - esac - fi - - # We need an absolute path. - case "$dir" in - /* | [A-Za-z]:[/\\]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: cannot determine absolute directory name of \`$libdir'" 1>&2 - exit 1 - fi - ;; - esac - - # This is the magic to use -rpath. - # Skip directories that are in the system default run-time - # search path, unless they have been requested with -R. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - - lib_linked=yes - case "$hardcode_action" in - immediate | unsupported) - if test "$hardcode_direct" = no; then - compile_command="$compile_command $dir/$linklib" - deplibs="$deplibs $dir/$linklib" - case "$host" in - *-*-cygwin* | *-*-mingw* | *-*-os2*) - dllsearchdir=`cd "$dir" && pwd || echo "$dir"` - if test -n "$dllsearchpath"; then - dllsearchpath="$dllsearchpath:$dllsearchdir" - else - dllsearchpath="$dllsearchdir" - fi - ;; - esac - elif test "$hardcode_minus_L" = no; then - case "$host" in - *-*-sunos*) - compile_shlibpath="$compile_shlibpath$dir:" - ;; - esac - case "$compile_command " in - *" -L$dir "*) ;; - *) compile_command="$compile_command -L$dir";; - esac - compile_command="$compile_command -l$name" - deplibs="$deplibs -L$dir -l$name" - elif test "$hardcode_shlibpath_var" = no; then - case ":$compile_shlibpath:" in - *":$dir:"*) ;; - *) compile_shlibpath="$compile_shlibpath$dir:";; - esac - compile_command="$compile_command -l$name" - deplibs="$deplibs -l$name" - else - lib_linked=no - fi - ;; - - relink) - if test "$hardcode_direct" = yes; then - compile_command="$compile_command $absdir/$linklib" - deplibs="$deplibs $absdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - case "$compile_command " in - *" -L$absdir "*) ;; - *) compile_command="$compile_command -L$absdir";; - esac - compile_command="$compile_command -l$name" - deplibs="$deplibs -L$absdir -l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case ":$compile_shlibpath:" in - *":$absdir:"*) ;; - *) compile_shlibpath="$compile_shlibpath$absdir:";; - esac - compile_command="$compile_command -l$name" - deplibs="$deplibs -l$name" - else - lib_linked=no - fi - ;; - - *) - lib_linked=no - ;; - esac - - if test "$lib_linked" != yes; then - $echo "$modename: configuration error: unsupported hardcode properties" - exit 1 - fi - - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes; then - finalize_command="$finalize_command $libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - case "$finalize_command " in - *" -L$libdir "*) ;; - *) finalize_command="$finalize_command -L$libdir";; - esac - finalize_command="$finalize_command -l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case ":$finalize_shlibpath:" in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:";; - esac - finalize_command="$finalize_command -l$name" - else - # We cannot seem to hardcode it, guess we'll fake it. - case "$finalize_command " in - *" -L$dir "*) ;; - *) finalize_command="$finalize_command -L$libdir";; - esac - finalize_command="$finalize_command -l$name" - fi - else - # Transform directly to old archives if we don't build new libraries. - if test -n "$pic_flag" && test -z "$old_library"; then - $echo "$modename: cannot find static library for \`$arg'" 1>&2 - exit 1 - fi - - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_command="$compile_command $dir/$linklib" - finalize_command="$finalize_command $dir/$linklib" - else - case "$compile_command " in - *" -L$dir "*) ;; - *) compile_command="$compile_command -L$dir";; - esac - compile_command="$compile_command -l$name" - case "$finalize_command " in - *" -L$dir "*) ;; - *) finalize_command="$finalize_command -L$dir";; - esac - finalize_command="$finalize_command -l$name" - fi - fi - - # Add in any libraries that this one depends upon. - compile_command="$compile_command$dependency_libs" - finalize_command="$finalize_command$dependency_libs" - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case "$arg" in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - ;; - esac - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - done - - if test -n "$prev"; then - $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - oldlibs= - # calculate the name of the file, without its directory - outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` - libobjs_save="$libobjs" - - case "$output" in - "") - $echo "$modename: you must specify an output file" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - - *.a | *.lib) - if test -n "$link_against_libtool_libs"; then - $echo "$modename: error: cannot link libtool libraries into archives" 1>&2 - exit 1 - fi - - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles"; then - $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 - fi - - if test -n "$export_symbols"; then - $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 - fi - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - ;; - - *.la) - # Make sure we only generate libraries of the form `libNAME.la'. - case "$outputname" in - lib*) - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - eval libname=\"$libname_spec\" - ;; - *) - if test "$module" = no; then - $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - eval libname=\"$libname_spec\" - else - libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - fi - ;; - esac - - output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` - if test "X$output_objdir" = "X$output"; then - output_objdir="$objdir" - else - output_objdir="$output_objdir/$objdir" - fi - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - if test -n "$objs"; then - $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1 - exit 1 - fi - - # How the heck are we supposed to write a wrapper for a shared library? - if test -n "$link_against_libtool_libs"; then - $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2 - exit 1 - fi - - if test -n "$dlfiles$dlprefiles"; then - $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2 - fi - - set dummy $rpath - if test $# -gt 2; then - $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 - fi - install_libdir="$2" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - libext=al - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - dependency_libs="$deplibs" - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 - fi - else - - # Parse the version information argument. - IFS="${IFS= }"; save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - IFS="$save_ifs" - - if test -n "$8"; then - $echo "$modename: too many parameters to \`-version-info'" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - current="$2" - revision="$3" - age="$4" - - # Check that each of the things are valid numbers. - case "$current" in - 0 | [1-9] | [1-9][0-9]*) ;; - *) - $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - ;; - esac - - case "$revision" in - 0 | [1-9] | [1-9][0-9]*) ;; - *) - $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - ;; - esac - - case "$age" in - 0 | [1-9] | [1-9][0-9]*) ;; - *) - $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - ;; - esac - - if test $age -gt $current; then - $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case "$version_type" in - none) ;; - - irix) - major=`expr $current - $age + 1` - versuffix="$major.$revision" - verstring="sgi$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test $loop != 0; do - iface=`expr $revision - $loop` - loop=`expr $loop - 1` - verstring="sgi$major.$iface:$verstring" - done - ;; - - linux) - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - ;; - - osf) - major=`expr $current - $age` - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test $loop != 0; do - iface=`expr $current - $loop` - loop=`expr $loop - 1` - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current"; - ;; - - windows) - # Like Linux, but with '-' rather than '.', since we only - # want one extension on Windows 95. - major=`expr $current - $age` - versuffix="-$major-$age-$revision" - ;; - - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit 1 - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - verstring="0.0" - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - - dependency_libs="$deplibs" - case "$host" in - *-*-cygwin* | *-*-mingw* | *-*-os2*) - # these systems don't actually have a c library (as such)! - ;; - *) - # Add libc to deplibs on all other systems. - deplibs="$deplibs -lc" - ;; - esac - fi - - # Create the output directory, or remove our outputs if we need to. - if test -d $output_objdir; then - $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*" - $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.* - else - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir - status=$? - if test $status -ne 0 && test ! -d $output_objdir; then - exit $status - fi - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` - fi - - if test "$build_libtool_libs" = yes; then - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case "$deplibs_check_method" in - pass_all) - newdeplibs=$deplibs - ;; # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behaviour. - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $rm conftest.c - cat > conftest.c <<EOF - int main() { return 0; } -EOF - $rm conftest - $C_compiler -o conftest conftest.c $deplibs - if test $? -eq 0 ; then - ldd_output=`ldd conftest` - for i in $deplibs; do - name="`expr $i : '-l\(.*\)'`" - # If $name is empty we are operating on a -L argument. - if test "$name" != "" ; then - libname=`eval \\$echo \"$libname_spec\"` - deplib_matches=`eval \\$echo \"$library_names_spec\"` - set dummy $deplib_matches - deplib_match=$2 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then - newdeplibs="$newdeplibs $i" - else - droppeddeps=yes - echo - echo "*** Warning: This library needs some functionality provided by $i." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - fi - else - newdeplibs="$newdeplibs $i" - fi - done - else - # Error occured in the first compile. Let's try to salvage the situation: - # Compile a seperate program for each library. - for i in $deplibs; do - name="`expr $i : '-l\(.*\)'`" - # If $name is empty we are operating on a -L argument. - if test "$name" != "" ; then - $rm conftest - $C_compiler -o conftest conftest.c $i - # Did it work? - if test $? -eq 0 ; then - ldd_output=`ldd conftest` - libname=`eval \\$echo \"$libname_spec\"` - deplib_matches=`eval \\$echo \"$library_names_spec\"` - set dummy $deplib_matches - deplib_match=$2 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then - newdeplibs="$newdeplibs $i" - else - droppeddeps=yes - echo - echo "*** Warning: This library needs some functionality provided by $i." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - fi - else - droppeddeps=yes - echo - echo "*** Warning! Library $i is needed by this library but I was not able to" - echo "*** make it link in! You will probably need to install it or some" - echo "*** library that it depends on before this library will be fully" - echo "*** functional. Installing it before continuing would be even better." - fi - else - newdeplibs="$newdeplibs $i" - fi - done - fi - deplibs=$newdeplibs - ;; - file_magic*) - set dummy $deplibs_check_method - file_magic_regex="`expr \"$deplibs_check_method\" : \"$2 \(.*\)\"`" - for a_deplib in $deplibs; do - name="`expr $a_deplib : '-l\(.*\)'`" - # If $name is empty we are operating on a -L argument. - if test "$name" != "" ; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potlib" 2>/dev/null \ - | grep " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | sed 's/.* -> //'` - case "$potliblink" in - /*) potlib="$potliblink";; - *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" \ - | sed 10q \ - | egrep "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - if test -n "$a_deplib" ; then - droppeddeps=yes - echo - echo "*** Warning: This library needs some functionality provided by $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - none | unknown | *) newdeplibs="" - if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ - -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g' | - grep . >/dev/null; then - echo - if test "X$deplibs_check_method" = "Xnone"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." - else - echo "*** Warning: inter-library dependencies are not known to be supported." - fi - echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - fi - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - echo "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - dlname= - library_names= - else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - fi - fi - fi - - # test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - deplibs=$newdeplibs - # Done checking deplibs! - - # Get the real and link names of the library. - eval library_names=\"$library_names_spec\" - set dummy $library_names - realname="$2" - shift; shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - lib="$output_objdir/$realname" - for link - do - linknames="$linknames $link" - done - - # Ensure that we have .o objects for linkers which dislike .lo - # (e.g. aix) incase we are running --disable-static - for obj in $libobjs; do - oldobj=`$echo "X$obj" | $Xsed -e "$lo2o"` - test -f $oldobj || ${LN_S} $obj $oldobj - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - - if test -n "$whole_archive_flag_spec"; then - if test -n "$convenience"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - fi - else - for xlib in $convenience; do - # Extract the objects. - xdir="$xlib"x - generated="$generated $xdir" - xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` - - $show "${rm}r $xdir" - $run ${rm}r "$xdir" - $show "mkdir $xdir" - $run mkdir "$xdir" - status=$? - if test $status -ne 0 && test ! -d "$xdir"; then - exit $status - fi - $show "(cd $xdir && $AR x ../$xlib)" - $run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $? - - libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` - done - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - - linkopts="$linkopts $flag" - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$objdir/$libname.exp" - $run $rm $export_symbols - eval cmds=\"$export_symbols_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - if test -n "$export_symbols_regex"; then - $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" - $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - $show "$mv \"${export_symbols}T\" \"$export_symbols\"" - $run eval '$mv "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' - fi - - # Do each of the archive commands. - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval cmds=\"$archive_expsym_cmds\" - else - eval cmds=\"$archive_cmds\" - fi - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - *.lo | *.o | *.obj) - if test -n "$link_against_libtool_libs"; then - $echo "$modename: error: cannot link libtool libraries into objects" 1>&2 - exit 1 - fi - - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles"; then - $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 - fi - - case "$output" in - *.lo) - if test -n "$objs"; then - $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 - exit 1 - fi - libobj="$output" - obj=`$echo "X$output" | $Xsed -e "$lo2o"` - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $run $rm $obj $libobj - - # Create the old-style object. - reload_objs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP` - - output="$obj" - eval cmds=\"$reload_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - # Exit if we aren't doing a library object file. - test -z "$libobj" && exit 0 - - if test "$build_libtool_libs" != yes; then - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - $show "echo timestamp > $libobj" - $run eval "echo timestamp > $libobj" || exit $? - exit 0 - fi - - if test -n "$pic_flag"; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs" - output="$libobj" - eval cmds=\"$reload_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - else - # Just create a symlink. - $show $rm $libobj - $run $rm $libobj - $show "$LN_S $obj $libobj" - $run $LN_S $obj $libobj || exit $? - fi - - exit 0 - ;; - - # Anything else should be a program. - *) - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 - fi - - if test "$preload" = yes; then - if test "$dlopen" = unknown && test "$dlopen_self" = unknown && - test "$dlopen_self_static" = unknown; then - $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." - fi - fi - - if test "$dlself" = yes && test "$export_dynamic" = no; then - $echo "$modename: error: \`-dlopen self' requires \`-export-dynamic'" 1>&2 - exit 1 - fi - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$compile_rpath " in - *" $libdir "*) ;; - *) compile_rpath="$compile_rpath $libdir" ;; - esac - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` - if test "X$output_objdir" = "X$output"; then - output_objdir="$objdir" - else - output_objdir="$output_objdir/$objdir" - fi - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - fi - - dlsyms= - if test -n "$dlfiles$dlprefiles" || test "$dlself" = yes; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - dlsyms="${outputname}S.c" - else - $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 - fi - fi - - if test -n "$dlsyms"; then - case "$dlsyms" in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$objdir/${output}.nm" - - if test -d $objdir; then - $show "$rm $nlist ${nlist}S ${nlist}T" - $run $rm "$nlist" "${nlist}S" "${nlist}T" - else - $show "$mkdir $objdir" - $run $mkdir $objdir - status=$? - if test $status -ne 0 && test ! -d $objdir; then - exit $status - fi - fi - - # Parse the name list into a source file. - $show "creating $objdir/$dlsyms" - - $echo > "$objdir/$dlsyms" "\ -/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ -/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -/* Prevent the only kind of declaration conflicts we can make. */ -#define lt_preloaded_symbols some_other_symbol - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - $show "generating symbol list for \`$output'" - - echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$echo "X$objs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - for arg in $progfiles; do - $show "extracting global C symbols from \`$arg'" - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - if test -n "$export_symbols_regex"; then - $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$objdir/$output.exp" - $run $rm $export_symbols - $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - else - $run $rm $export_symbols - $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$objdir/$output.exp"' - $run eval 'grep -f "$objdir/$output.exp" < "$nlist" > "$nlist"T' - $run eval 'mv "$nlist"T "$nlist"' - fi - fi - - for arg in $dlprefiles; do - $show "extracting global C symbols from \`$arg'" - name=`echo "$arg" | sed -e 's%^.*/%%'` - $run eval 'echo ": $name " >> "$nlist"' - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -z "$run"; then - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $mv "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then - : - else - grep -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' - else - echo '/* NONE */' >> "$output_objdir/$dlsyms" - fi - - $echo >> "$output_objdir/$dlsyms" "\ - -#undef lt_preloaded_symbols - -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[] = -{\ -" - - sed -n -e 's/^: \([^ ]*\) $/ {\"\1\", (lt_ptr_t) 0},/p' \ - -e 's/^. \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr_t) \&\2},/p' \ - < "$nlist" >> "$output_objdir/$dlsyms" - - $echo >> "$output_objdir/$dlsyms" "\ - {0, (lt_ptr_t) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - fi - - pic_flag_for_symtable= - case "$host" in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";; - esac - esac - - # Now compile the dynamic symbol file. - $show "(cd $objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" - $run eval '(cd $objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? - - # Transform the symbol file into the correct name. - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"` - ;; - *) - $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 - exit 1 - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` - fi - - if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - $show "$link_command" - $run eval "$link_command" - exit $? - fi - - if test -n "$shlibpath_var"; then - # We should set the shlibpath_var - rpath= - for dir in $temp_rpath; do - case "$dir" in - /* | [A-Za-z]:[/\\]*) - # Absolute path. - rpath="$rpath$dir:" - ;; - *) - # Relative path: add a thisdir entry. - rpath="$rpath\$thisdir/$dir:" - ;; - esac - done - temp_rpath="$rpath" - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - # AGH! Flame the AIX and HP-UX people for me, will ya? - $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 - $echo "$modename: \`$output' will be relinked during installation" 1>&2 - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Create the binary in the object directory, then wrap it. - if test ! -d $output_objdir; then - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir - status=$? - if test $status -ne 0 && test ! -d $objdir; then - exit $status - fi - fi - - # Delete the old output file. - $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname - - $show "$link_command" - $run eval "$link_command" || exit $? - - # Now create the wrapper script. - $show "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - fi - - # Quote $echo for shipping. - if test "X$echo" = "X$SHELL $0 --fallback-echo"; then - case "$0" in - /* | [A-Za-z]:[/\\]*) qecho="$SHELL $0 --fallback-echo";; - *) qecho="$SHELL `pwd`/$0 --fallback-echo";; - esac - qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` - else - qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` - fi - - # Only actually do things if our run command is non-null. - if test -z "$run"; then - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) output=`echo $output|sed 's,.exe$,,'` ;; - esac - $rm $output - trap "$rm $output; exit 1" 1 2 15 - - $echo > $output "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -sed_quote_subst='$sed_quote_subst' - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -if test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variable: - link_against_libtool_libs='$link_against_libtool_libs' -else - # When we are sourced in execute mode, \$file and \$echo are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - echo=\"$qecho\" - file=\"\$0\" - # Make sure echo works. - if test \"X\$1\" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift - elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then - # Yippee, \$echo works! - : - else - # Restart under the correct shell, and then maybe \$echo will work. - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} - fi - fi\ -" - $echo >> $output "\ - - # Find the directory that this script lives in. - thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - /* | [A-Za-z]:[/\\]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\` - done - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - echo >> $output "\ - program=lt-'$outputname' - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || \\ - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $mkdir \"\$progdir\" - else - $rm \"\$progdir/\$file\" - fi" - - echo >> $output "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if (cd \"\$thisdir\" && eval \$relink_command); then : - else - $rm \"\$progdir/\$file\" - exit 1 - fi - fi - - $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $rm \"\$progdir/\$program\"; - $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $rm \"\$progdir/\$file\" - fi" - else - echo >> $output "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - echo >> $output "\ - - if test -f \"\$progdir/\$program\"; then" - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $echo >> $output "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` - - export $shlibpath_var -" - fi - - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $echo >> $output "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - $echo >> $output "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. -" - case $host in - *-*-cygwin* | *-*-mingw | *-*-os2*) - # win32 systems need to use the prog path for dll - # lookup to work - $echo >> $output "\ - exec \$progdir\\\\\$program \${1+\"\$@\"} -" - ;; - *) - $echo >> $output "\ - # Export the path to the program. - PATH=\"\$progdir:\$PATH\" - export PATH - - exec \$program \${1+\"\$@\"} -" - ;; - esac - $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" - exit 1 - fi - else - # The program doesn't exist. - \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 - \$echo \"This script is just a wrapper for \$program.\" 1>&2 - echo \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" - chmod +x $output - fi - exit 0 - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$objs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP` - fi - addlibs="$old_convenience" - fi - - # Add in members from convenience archives. - for xlib in $addlibs; do - # Extract the objects. - xdir="$xlib"x - generated="$generated $xdir" - xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` - - $show "${rm}r $xdir" - $run ${rm}r "$xdir" - $show "mkdir $xdir" - $run mkdir "$xdir" - status=$? - if test $status -ne 0 && test ! -d "$xdir"; then - exit $status - fi - $show "(cd $xdir && $AR x ../$xlib)" - $run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $? - - oldobjs="$oldobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` - done - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - eval cmds=\"$old_archive_from_new_cmds\" - else - eval cmds=\"$old_archive_cmds\" - fi - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$generated"; then - $show "${rm}r$generated" - $run ${rm}r$generated - fi - - # Now create the libtool archive. - case "$output" in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - $show "creating $output" - - if test -n "$xrpath"; then - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - done - dependency_libs="$temp_xrpath $dependency_libs" - fi - - # Only create the output if not a dry run. - if test -z "$run"; then - $echo > $output "\ -# $output - a libtool library file -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP - -# The name that we can dlopen(3). -dlname='$dlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=no - -# Directory that this library needs to be installed in: -libdir='$install_libdir'\ -" - - $rm "$output_objdir/$outputname"i - sed 's/^installed=no$/installed=yes/' \ - < "$output" > "$output_objdir/$outputname"i || exit 1 - fi - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" - $run eval "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" || exit $? - ;; - esac - exit 0 - ;; - - # libtool install mode - install) - modename="$modename: install" - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh; then - # Aesthetically quote it. - arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` - case "$arg" in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - install_prog="$arg " - arg="$1" - shift - else - install_prog= - arg="$nonopt" - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case "$arg" in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog$arg" - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - for arg - do - if test -n "$dest"; then - files="$files $dest" - dest="$arg" - continue - fi - - case "$arg" in - -d) isdir=yes ;; - -f) prev="-f" ;; - -g) prev="-g" ;; - -m) prev="-m" ;; - -o) prev="-o" ;; - -s) - stripme=" -s" - continue - ;; - -*) ;; - - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest="$arg" - continue - fi - ;; - esac - - # Aesthetically quote the argument. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case "$arg" in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog $arg" - done - - if test -z "$install_prog"; then - $echo "$modename: you must specify an install program" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - if test -n "$prev"; then - $echo "$modename: the \`$prev' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - if test -z "$files"; then - if test -z "$dest"; then - $echo "$modename: no file or destination specified" 1>&2 - else - $echo "$modename: you must specify a destination" 1>&2 - fi - $echo "$help" 1>&2 - exit 1 - fi - - # Strip any trailing slash from the destination. - dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` - test "X$destdir" = "X$dest" && destdir=. - destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` - - # Not a directory, so check to see that there is only one file specified. - set dummy $files - if test $# -gt 2; then - $echo "$modename: \`$dest' is not a directory" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - fi - case "$destdir" in - /* | [A-Za-z]:[/\\]*) ;; - *) - for file in $files; do - case "$file" in - *.lo) ;; - *) - $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case "$file" in - *.a | *.lib) - # Do the static libraries later. - staticlibs="$staticlibs $file" - ;; - - *.la) - # Check to see that this really is a libtool archive. - if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - library_names= - old_library= - # If there is no directory component, then add one. - case "$file" in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; - esac - fi - - dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/" - test "X$dir" = "X$file/" && dir= - dir="$dir$objdir" - - # See the names of the shared library. - set dummy $library_names - if test -n "$2"; then - realname="$2" - shift - shift - - # Install the shared library and build the symlinks. - $show "$install_prog $dir/$realname $destdir/$realname" - $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $? - test "X$dlname" = "X$realname" && dlname= - - if test $# -gt 0; then - # Delete the old symlinks, and create new ones. - for linkname - do - test "X$dlname" = "X$linkname" && dlname= - if test "$linkname" != "$realname"; then - $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" - fi - done - fi - - if test -n "$dlname"; then - # Install the dynamically-loadable library. - $show "$install_prog $dir/$dlname $destdir/$dlname" - $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $? - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - eval cmds=\"$postinstall_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - # Install the pseudo-library for information purposes. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - instname="$dir/$name"i - if test ! -f "$instname"; then - # Just in case it was removed... - $show "Creating $instname" - $rm "$instname" - sed 's/^installed=no$/installed=yes/' "$file" > "$instname" - fi - $show "$install_prog $instname $destdir/$name" - $run eval "$install_prog $instname $destdir/$name" || exit $? - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case "$destfile" in - *.lo) - staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` - ;; - *.o | *.obj) - staticdest="$destfile" - destfile= - ;; - *) - $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - esac - - # Install the libtool object if requested. - if test -n "$destfile"; then - $show "$install_prog $file $destfile" - $run eval "$install_prog $file $destfile" || exit $? - fi - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` - - $show "$install_prog $staticobj $staticdest" - $run eval "$install_prog \$staticobj \$staticdest" || exit $? - fi - exit 0 - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # Do a test to see if this is really a libtool program. - if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - link_against_libtool_libs= - relink_command= - - # If there is no directory component, then add one. - case "$file" in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Check the variables that should have been set. - if test -z "$link_against_libtool_libs"; then - $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2 - exit 1 - fi - - finalize=yes - for lib in $link_against_libtool_libs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - # If there is no directory component, then add one. - case "$lib" in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - fi - libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`" - if test -n "$libdir" && test ! -f "$libfile"; then - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 - finalize=no - fi - done - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - if test "$finalize" = yes; then - outputname="/tmp/$$-$file" - # Replace the output file specification. - relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` - - $echo "$modename: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - continue - fi - file="$outputname" - else - $echo "$modename: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2 - fi - else - # Install the binary that we compiled earlier. - file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - $show "$install_prog$stripme $file $destfile" - $run eval "$install_prog\$stripme \$file \$destfile" || exit $? - test -n "$outputname" && $rm $outputname - ;; - esac - done - - for file in $staticlibs; do - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - - $show "$install_prog $file $oldlib" - $run eval "$install_prog \$file \$oldlib" || exit $? - - # Do each command in the postinstall commands. - eval cmds=\"$old_postinstall_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$future_libdirs"; then - $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 - fi - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - test -n "$run" && current_libdirs=" -n$current_libdirs" - exec $SHELL $0 --finish$current_libdirs - exit 1 - fi - - exit 0 - ;; - - # libtool finish mode - finish) - modename="$modename: finish" - libdirs="$nonopt" - admincmds= - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done - - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - eval cmds=\"$finish_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || admincmds="$admincmds - $cmd" - done - IFS="$save_ifs" - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $run eval "$cmds" || admincmds="$admincmds - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - test "$show" = : && exit 0 - - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" - for libdir in $libdirs; do - echo " $libdir" - done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use \`-LLIBDIR'" - echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - echo " during execution" - fi - if test -n "$runpath_var"; then - echo " - add LIBDIR to the \`$runpath_var' environment variable" - echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - echo " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - echo " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - echo - echo "See any operating system documentation about shared libraries for" - echo "more information, such as the ld(1) and ld.so(8) manual pages." - echo "----------------------------------------------------------------------" - exit 0 - ;; - - # libtool execute mode - execute) - modename="$modename: execute" - - # The first argument is the command name. - cmd="$nonopt" - if test -z "$cmd"; then - $echo "$modename: you must specify a COMMAND" 1>&2 - $echo "$help" - exit 1 - fi - - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - if test ! -f "$file"; then - $echo "$modename: \`$file' is not a file" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - dir= - case "$file" in - *.la) - # Check to see that this really is a libtool archive. - if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - # Read the libtool library. - dlname= - library_names= - - # If there is no directory component, then add one. - case "$file" in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" - continue - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 - exit 1 - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - ;; - - *) - $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case "$file" in - -*) ;; - *) - # Do a test to see if this is really a libtool program. - if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - # If there is no directory component, then add one. - case "$file" in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` - args="$args \"$file\"" - done - - if test -z "$run"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - - # Restore saved enviroment variables - if test "${save_LC_ALL+set}" = set; then - LC_ALL="$save_LC_ALL"; export LC_ALL - fi - if test "${save_LANG+set}" = set; then - LANG="$save_LANG"; export LANG - fi - - # Now actually exec the command. - eval "exec \$cmd$args" - - $echo "$modename: cannot exec \$cmd$args" - exit 1 - else - # Display what would be done. - eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" - $echo "export $shlibpath_var" - $echo "$cmd$args" - exit 0 - fi - ;; - - # libtool uninstall mode - uninstall) - modename="$modename: uninstall" - rm="$nonopt" - files= - - for arg - do - case "$arg" in - -*) rm="$rm $arg" ;; - *) files="$files $arg" ;; - esac - done - - if test -z "$rm"; then - $echo "$modename: you must specify an RM program" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi - - for file in $files; do - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - - rmfiles="$file" - - case "$name" in - *.la) - # Possibly a libtool archive, so verify it. - if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - . $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles="$rmfiles $dir/$n" - test "X$n" = "X$dlname" && dlname= - done - test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname" - test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library" - - $show "$rm $rmfiles" - $run $rm $rmfiles - - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - eval cmds=\"$postuninstall_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" - done - IFS="$save_ifs" - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - eval cmds=\"$old_postuninstall_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" - done - IFS="$save_ifs" - fi - - # FIXME: should reinstall the best remaining shared library. - fi - ;; - - *.lo) - if test "$build_old_libs" = yes; then - oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` - rmfiles="$rmfiles $dir/$oldobj" - fi - $show "$rm $rmfiles" - $run $rm $rmfiles - ;; - - *) - $show "$rm $rmfiles" - $run $rm $rmfiles - ;; - esac - done - exit 0 - ;; - - "") - $echo "$modename: you must specify a MODE" 1>&2 - $echo "$generic_help" 1>&2 - exit 1 - ;; - esac - - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$generic_help" 1>&2 - exit 1 -fi # test -z "$show_help" - -# We need to display help for each of the modes. -case "$mode" in -"") $echo \ -"Usage: $modename [OPTION]... [MODE-ARG]... - -Provide generalized library-building support services. - - --config show all configuration variables - --debug enable verbose shell tracing --n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --finish same as \`--mode=finish' - --help display this help message and exit - --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] - --quiet same as \`--silent' - --silent don't print informational messages - --version print version information - -MODE must be one of the following: - - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for -a more detailed description of MODE." - exit 0 - ;; - -compile) - $echo \ -"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -static always build a \`.o' file suitable for static linking - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - -execute) - $echo \ -"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - -finish) - $echo \ -"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - -install) - $echo \ -"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - -link) - $echo \ -"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -static do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - -uninstall) - $echo -"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - -*) - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; -esac - -echo -$echo "Try \`$modename --help' for more information about other modes." - -exit 0 - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff -Nru console-tools-0.2.3/Makefile.am console-tools-0.2.3/Makefile.am --- console-tools-0.2.3/Makefile.am 1999-08-31 21:30:18.000000000 +0000 +++ console-tools-0.2.3/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -# -*- makefile -*- -AUTOMAKE_OPTIONS = foreign - -SUBDIRS = lib fontfiletools vttools kbdtools screenfonttools contrib doc \ - compat include examples po intl - -EXTRA_DIST = BUGS RELEASE CREDITS COPYING.kbd local-scripts/* *.lsm diff -Nru console-tools-0.2.3/Makefile.in console-tools-0.2.3/Makefile.in --- console-tools-0.2.3/Makefile.in 1999-10-25 20:58:04.000000000 +0000 +++ console-tools-0.2.3/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,404 +0,0 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# -*- makefile -*- - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = . - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AS = @AS@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -COMPAT = @COMPAT@ -DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ -FONTDIR = @FONTDIR@ -GENCAT = @GENCAT@ -GMOFILES = @GMOFILES@ -GMSGFMT = @GMSGFMT@ -GT_NO = @GT_NO@ -GT_YES = @GT_YES@ -INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ -INSTOBJEXT = @INSTOBJEXT@ -INTLDEPS = @INTLDEPS@ -INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -KEYCODES = @KEYCODES@ -KEYMAPDIR = @KEYMAPDIR@ -LD = @LD@ -LEX = @LEX@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LOADKEYS = @LOADKEYS@ -MAKEINFO = @MAKEINFO@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -NM = @NM@ -OBJDUMP = @OBJDUMP@ -PACKAGE = @PACKAGE@ -POFILES = @POFILES@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -RESIZECONS = @RESIZECONS@ -TRANSDIR = @TRANSDIR@ -UNICODEDATA = @UNICODEDATA@ -UNICODELISTS = @UNICODELISTS@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -VIDEOMODEDIR = @VIDEOMODEDIR@ -YACC = @YACC@ -l = @l@ -translit = @translit@ - -AUTOMAKE_OPTIONS = foreign - -SUBDIRS = lib fontfiletools vttools kbdtools screenfonttools contrib doc compat include examples po intl - - -EXTRA_DIST = BUGS RELEASE CREDITS COPYING.kbd local-scripts/* *.lsm -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -DIST_COMMON = README ./stamp-h.in ABOUT-NLS COPYING ChangeLog \ -Makefile.am Makefile.in NEWS TODO acconfig.h acinclude.m4 aclocal.m4 \ -config.guess config.h.in config.sub configure configure.in install-sh \ -ltconfig ltmain.sh missing mkinstalldirs - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -all: all-redirect -.SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status - -$(ACLOCAL_M4): configure.in acinclude.m4 - cd $(srcdir) && $(ACLOCAL) - -config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck -$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) - cd $(srcdir) && $(AUTOCONF) - -config.h: stamp-h - @if test ! -f $@; then \ - rm -f stamp-h; \ - $(MAKE) stamp-h; \ - else :; fi -stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES= CONFIG_HEADERS=config.h \ - $(SHELL) ./config.status - @echo timestamp > stamp-h 2> /dev/null -$(srcdir)/config.h.in: $(srcdir)/stamp-h.in - @if test ! -f $@; then \ - rm -f $(srcdir)/stamp-h.in; \ - $(MAKE) $(srcdir)/stamp-h.in; \ - else :; fi -$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h - cd $(top_srcdir) && $(AUTOHEADER) - @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null - -mostlyclean-hdr: - -clean-hdr: - -distclean-hdr: - -rm -f config.h - -maintainer-clean-hdr: - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. - -@SET_MAKE@ - -all-recursive install-data-recursive install-exec-recursive \ -installdirs-recursive install-recursive uninstall-recursive \ -check-recursive installcheck-recursive info-recursive dvi-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ - dot_seen=no; \ - rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ - rev="$$subdir $$rev"; \ - test "$$subdir" = "." && dot_seen=yes; \ - done; \ - test "$$dot_seen" = "no" && rev=". $$rev"; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) - -TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS) - -mostlyclean-tags: - -clean-tags: - -distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - -rm -rf $(distdir) - GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz - mkdir $(distdir)/=build - mkdir $(distdir)/=inst - dc_install_base=`cd $(distdir)/=inst && pwd`; \ - cd $(distdir)/=build \ - && ../configure --with-included-gettext --srcdir=.. --prefix=$$dc_install_base \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) dist - -rm -rf $(distdir) - @banner="$(distdir).tar.gz is ready for distribution"; \ - dashes=`echo "$$banner" | sed s/./=/g`; \ - echo "$$dashes"; \ - echo "$$banner"; \ - echo "$$dashes" -dist: distdir - -chmod -R a+r $(distdir) - GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) - -rm -rf $(distdir) -dist-all: distdir - -chmod -R a+r $(distdir) - GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) - -rm -rf $(distdir) -distdir: $(DISTFILES) - -rm -rf $(distdir) - mkdir $(distdir) - -chmod 777 $(distdir) - $(mkinstalldirs) $(distdir)/local-scripts - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - for subdir in $(SUBDIRS); do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - chmod 777 $(distdir)/$$subdir; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \ - || exit 1; \ - fi; \ - done -info-am: -info: info-recursive -dvi-am: -dvi: dvi-recursive -check-am: all-am -check: check-recursive -installcheck-am: -installcheck: installcheck-recursive -all-recursive-am: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -install-exec-am: -install-exec: install-exec-recursive - -install-data-am: -install-data: install-data-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-recursive -uninstall-am: -uninstall: uninstall-recursive -all-am: Makefile config.h -all-redirect: all-recursive-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: installdirs-recursive -installdirs-am: - - -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: -mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic - -mostlyclean: mostlyclean-recursive - -clean-am: clean-hdr clean-tags clean-generic mostlyclean-am - -clean: clean-recursive - -distclean-am: distclean-hdr distclean-tags distclean-generic clean-am - -rm -f libtool - -distclean: distclean-recursive - -rm -f config.status - -maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \ - maintainer-clean-generic distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-recursive - -rm -f config.status - -.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ -install-data-recursive uninstall-data-recursive install-exec-recursive \ -uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \ -all-recursive check-recursive installcheck-recursive info-recursive \ -dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \ -maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ -dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \ -install-exec-am install-exec install-data-am install-data install-am \ -install uninstall-am uninstall all-redirect all-am all installdirs-am \ -installdirs mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru console-tools-0.2.3/missing console-tools-0.2.3/missing --- console-tools-0.2.3/missing 1999-01-30 22:56:20.000000000 +0000 +++ console-tools-0.2.3/missing 1970-01-01 00:00:00.000000000 +0000 @@ -1,190 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. -# Copyright (C) 1996, 1997 Free Software Foundation, Inc. -# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 -fi - -case "$1" in - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - -Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - yacc create \`y.tab.[ch]', if possible, from existing .[ch]" - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing - GNU libit 0.0" - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - - aclocal) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`acinclude.m4' or \`configure.in'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`configure.in'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`acconfig.h' or \`configure.in'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case "$f" in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - bison|yacc) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if [ ! -f y.tab.h ]; then - echo >y.tab.h - fi - if [ ! -f y.tab.c ]; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex|flex) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if [ ! -f lex.yy.c ]; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - makeinfo) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` - fi - touch $file - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and you do not seem to have it handy on your - system. You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequirements for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac - -exit 0 diff -Nru console-tools-0.2.3/mkinstalldirs console-tools-0.2.3/mkinstalldirs --- console-tools-0.2.3/mkinstalldirs 1999-01-30 22:56:20.000000000 +0000 +++ console-tools-0.2.3/mkinstalldirs 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy -# Author: Noah Friedman <friedman@prep.ai.mit.edu> -# Created: 1993-05-16 -# Public domain - -# $Id: mkinstalldirs,v 1.13 1999/01/05 03:18:55 bje Exp $ - -errstatus=0 - -for file -do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift - - pathcomp= - for d - do - pathcomp="$pathcomp$d" - case "$pathcomp" in - -* ) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - fi - fi - - pathcomp="$pathcomp/" - done -done - -exit $errstatus - -# mkinstalldirs ends here diff -Nru console-tools-0.2.3/NEWS console-tools-0.2.3/NEWS --- console-tools-0.2.3/NEWS 1999-10-25 20:51:49.000000000 +0000 +++ console-tools-0.2.3/NEWS 1970-01-01 00:00:00.000000000 +0000 @@ -1,515 +0,0 @@ -==================== - -* Major changes in console-tools-0.2.3: - -** Italian, Danish, and Estonian messages. - -** Several bugfixes. Please look at the ChangeLog file for details. - -==================== - -* Major changes in console-tools-0.2.2: - -** Russian and german messages. - -** Several bugfixes. Please look at the ChangeLog file for details. - -==================== - -* Major changes in console-tools-0.2.1: - -** Czech messages. - -** Several bugfixes. Please look at the ChangeLog file for details. - -==================== - -* Major changes in console-tools-0.2.0: - -** Note-worthy changes: - -*** Fully gettextized, ready for l10n. - -*** Iso-8859-15 support. - -*** psfaddtable(1) long option --chartable was renamed to --sfm. - -*** New numbering scheme: 0.2.x is the first stable branch, 0.3.x will -be the first unstable branch, and so on, just like what the Linux -kernel uses. - -*** The data files are now distributed in the `console-data' package. - -*** The configure script accepts a --with-unicodedata option to allow -giving a path to the UnicodeData file, available in console-data or on -unicode.org. - -*** A CVS repository has been set up, although it is not available for -public access yet - still experimenting. - - -** Corrected bugs: - -*** unicode_start does not use the compatibility setfont script any more. - -*** minor fixes to openvt(1). - -==================== - -* Major changes in console-tools-1999.03.02: - -** Note-worthy changes: - -*** This release should compile without rerunning automake. - - -** Corrected bugs: - -*** german and swedish keymaps were fixed. - - -==================== - -* Major changes in console-tools-1999.02.28: - -** Note-worthy changes: - -*** Should now compile out-of-the-box on all Linux archs (hopefully). - -*** Many new and updated data files. - -*** New keysym: Uncaps_Shift is an alias for CapsShift (from kbd 0.97). - -*** New contrib programs cad, font2psf and splitfont (from kbd 0.97). - -*** New program openvt (formerly known as `open'), based on the one in - kbd 0.97. - -*** consolechars now supports the --rom-font command for kernels - supporting reloading a font from video ROM (from kbd 0.97). - -*** loadkeys now supports ISO-8859-14 (latin8) symbols for Celtic charmap. - -*** showkey now supports a --unicode mode (preliminary support). - -*** Package has been gettextized. Localazation in french and gaelic has been - started (both are really young for now !). - -*** All program now support long options, especially --help and --version. - -*** More consistency with GNU tools, by using stdout for printing when - invoked with --help or --version. - -*** (mostly) In sync with kbd 0.97. - -*** Start of a Linux Console CREDITS file. - - -** Corrected bugs: - -*** Stop sending SIGWINCH to process specified by /tmp/selection.pid. - -*** Did not try /dev/tty0 when looking for a VC. - -*** Fixed a bug preventing to load some PSF files. - -*** Suppressed spurrious "Trying..." debugging messages when loading a - font, and configured --without-debugging. - -==================== - -* Major changes in console-tools-1998.08.11: - -** Note-worthy changes: - -*** First support for the new KDFONTOP kernel interface, up to date with - kernel 2.1.115 (no support for custom font-width yet). - -*** Support for CP file-format was temporarily dropped. It should - come back with the next release. - -*** New keymap `sundvorak'. - -*** Updated keymaps for Linux/Atari. - -*** New keymap include file vim-compose-latin1.inc, to get VIM-like - compose sequences. - -*** showcfont(1) now uses a 32-column layout when displaying a - 512-chars font, so that it fits on a standard 80x25 screen. - -*** charset(1) is now documented. - -*** Real implementation of high-level libcfont has begun. - -*** XPSF draft file-format has been revised. Implementation should - start with the next release. Please comment. - - -** Corrected bugs: - -*** Writing an SFM in a PSF file was not bigendian-safe. - -*** consolechars(8) could be interrupted by a SIGCHLD while reading a - font. - -*** unicode_{start,stop} are now more robust; they had problem when - the keyboard and display modes were out-of-sync. - -*** showcfont(1) was still documented in showfont.1. - -==================== - -* Major changes in console-tools-1998.06.03: - -** Note-worthy changes: - -*** Up to date with kbd 0.96a. - -*** `showfont' has been renamed to "showcfont" to avoid a name-clash - with an xcontrib program. - -*** `consolechars' now accepts a --g1 option, which activates the G1 - charset with the user-defined ACM, instead of the G0 charset, which - is the default. - -*** New script `charset' to allow the user to setup G0/G1 charsets. - -*** `loadkeys' now supports a --quiet option, as well as different - verbosity levels. - -*** `dumpkeys' now supports more output formats (see new --shape - option). - -*** Keymaps now support include files, "strings as usual" and "compose - as usual" shortcuts, and symbolic names for the 3rd argument in - Compose statements. - -*** New keymaps: i386/qwerty/{ru-yawerty,ru_win}, mac/mac-us-{std,ext}. - -*** Updated keymaps: dk, dk-latin1. - -*** Specific symbols for latin5 (iso-8859-9) are now supported by - loadkeys and dumpkeys. - -*** Keymaps are now organized in a hierarchical manner to ease user's - choice. - -*** File specifications can now include sequences of star characters - in their path, with the meaning of "at most as much subdir-levels as - the number of stars". Eg, "/usr/share/keymaps/**/mymap" can match - "/usr/share/keymaps/mymap", "/usr/share/keymaps/mac/mymap", or - "/usr/share/keymaps/i386/qwerty/mymap". Note that "any/*/dir", - unlike in the shell-syntax, can match "any/dir" as well as - "any/other/dir". Please try not to rely too much on this syntax (I - don't like it, and it may change), which kbd 0.96{,a} uses almost - only internally, although console-tools uses it externally too. I - document it so you know it is there, should the need arise. - -*** Keymaps are now refered to as "keymaps", not "keytables". This is - reflected in the directory name (/usr/share/keymaps/), and the - manpage name (keymaps.5). Note that /usr/local/share/keytables/ is - still scanned in addition to /usr/local/share/keymaps/ when - --enable-local-dir is configured. - -*** keypad.kmap is now installed as keypad.inc. It should be included - in your keymap. - -*** `loadkeys' now supports a --quiet option, as well as different - verbosity levels. - -*** `dumpkeys' now supports more output formats (see new --shape - option). - -*** Improved autogenerated sample fallback table for latin diacritics - (renamed to latin_diacr.fallback); added autogenerated sample - fallback table for arabic forms. - - -** Corrected bugs: - -*** Option handling in `loadkeys' and `dumpkeys' was broken with - --help and usage messages not causing the program to exit. - -*** Keymaps without a "keymaps" line are now correctly handled. - -*** "make install" does not fail if a previous version is already - installed. - -*** Corrected various minor bugs, and some erroneous documentation. - - -==================== - -* Major changes in console-tools-1998.04.08: - -** Note-worthy changes: - -*** The SFM fallback-tables can now be safely compressed, and are - installed compressed by default. - -*** The tools can now handle data files compressed with any supported - method, not just the one selected. - -*** Now support the bzip2 and lzop compression programs. - -*** HTML docs are build by default. - -*** The lct.sgml document was (hopefully) improved. - -*** Builds of resizecons and keycode-progs now enabled by default, so that - I get quicker feedback on what problems they may cause on other archs. - -*** New keymaps: croatian, cz-us-qwertz, sunt5-fr-latin1 - - -** Corrected bugs: - -*** Compressed-file handling should not cause reads to fail any more because - of SIGCHLD. - -*** There was a poorly-tested problem with compressed-file handling. - -*** The Makefile.am's were fixed to fully support "uninstall" and build - in any dir. - -*** Fixed se-latin1 keymap for caps-lock on 3 characters. - - -==================== - -* Major changes in console-tools-1997.12.16: - -** Note-worthy changes: - -*** The SFM fallback-table mechanism has been improved: multiple - tables may be loaded with one command. - -*** The keyboard tools now support ethiopic keysyms (from kbd-0.95). - -*** "consolechars -U" now outputs corresponding UTF chars inside - comments. - -*** Data files were sync-ed to kbd-0.95. - - -** Corrected bugs: - -*** The compressed-files installation problem has been fixed. - - -==================== - -* Major changes in console-tools-1997.11.13: - -** Note-worthy changes: - -*** Written some doc; have a look at doc/lct.txt. - -*** All provided fonts are now either in PSF or in CP format; several - PSF now include their SFM as well. - -*** consolechars(8) has started to supports "SFM fallback tables" (-k - option). Support is however limited to one fallback-table per - command-line invocation, and implementation is not really - satisfying. - -*** consolechars(8) now support 2 new flags: "--no-act" and - "--default-font", the latter being equivalent to setfont(1) called - without arguments. - -*** filename-syntax for default fonts has changed: "default8x08" - instead of "default8x8", for better file-sorting. - -*** updated/new keymaps: "fi-latin1.kmap", "ru-ms.kmap". - - -** Corrected bugs: - -*** compat scripts now call consolechars(8). - -*** gzip issuing warnings should not cause programs to fail with only - little clue. We now let gzip print its warning, and it's not fatal - any more. - -*** "gr*.psf" were NOT PSF files (RAW format) ! - -*** "configure --enable-local-datadir" prevent correct compilation of - the package. - -*** Fixed consolechars.8. - - -==================== - -* Major changes in console-tools-1997.10.28: - -** Note-worthy changes: - -*** setfont(8) has been renamed consolechars(8). - -*** setfont(8), loadunimap(1), saveunimap(1), mapscrn(1) are available, as - wrapper scripts around consolechars(8), by using the --use-kbd-compat - option to `configure'. - -*** clrunimap(1) is no more installed by "make install". You'll need to - install it manually if you really want it, which you probably don't. - -*** showfont(1) has been thoroughly rewritten. It now uses left-to-right-then- - top-to-bottom display style, as was probably expected by many people ;), - and can now display 512-chars fonts. Some bugs were fixed (see below). - -*** New keymap (keypad.kmap, extracted from lt.kmap) allowing build of UCS2 - chars using Ctrl-Shift-numbers, to be used as overriding keymap. - Eg. of use: "loadkeys fr-pc keypad" - -*** New program vt-is-UTF8(1), to check if a VT is in UTF8- or byte-mode. - -*** unicode_start(1) doesn't load a default font any more when called without - arguments; it just switches to screen and keyboard modes. - -*** Several new manpages. - -*** Updated the following data-files: lt{,.l4}.kmap - lat4{,u}-{08,10,12,14,16,16+,19}.psf lat4{,u}.sfm koi8-r.sfm cf.kmap - -*** New 512-chars font file LatArCyrHeb (in size 8, 14, 16, 16+, 19), - containing all characters from iso8859-1 through -10, except from -5 (greek - characters). - - -** Corrected bugs: - -*** Fixed showfont(1) display of characters 27 and 27+128. - -*** Fixed dumpkeys(1) check of the validity of "--charset" argument. - -*** Fixed loading of CP font-files. - -*** Fixed display bug in showkey(1), when called with no command. - -*** Fixed showfont(1) to restore original mode (UTF8- or byte-) on exit. - - -==================== - -* Major changes in console-tools-1997.10.14: - -** Note-worthy changes: - -*** `setfont' now loads the default unimap ("def.uni") when loading a default - font, to help the kernel keeping up-to-date unimap. - -*** Added warning-printing to `setfont' for operations leading the kernel - to an invalid-unimap state ("load a font" && "-u none" || "load a font not - containing a unimap" && "no external unimap specified"). - -*** `resizevt' has been renamed `resizecons' again, as all VTs (for noa) are - resized at the same time. - -*** Added "--with-compressor" option to `configure' script. - -*** Several manpages updates. - -*** New doc file: BUGS (formerly contained in TODO). - - -** Corrected bugs: - -*** Fixed "setfont -{op,opu}" to correctly outputs 512-chars fonts when - console is in 512-chars more. - -*** Fixed "setfont -{or,op,opu} to be robust, and not to produce invalid - or empty font-files when all data isn't available. - -*** Fixed "setfont -{ou,opu}" to handle the case where the unimap is - considered invalid by the kernel. - -*** Fixed behaviour of `deallocvt' - now tries do deallocate all args, even if - one failed. - -*** Fixed "--help" handling in `dumpkeys' - now lists really-available charsets - for "--charset" option, instead of hard-coded string. - -*** Fixed validity check on arguments to "--charset" in `dumpkeys' - now - properly rejects requests for unknown charsets. - -*** Fixed problem which used to forbid the tools to use "-" as filenames on - command-lines when the compression-support was not compiled in. - - -==================== - -* Major changes from kbd-0.94 to console-tools-1997.10.03: - -** Note-worthy changes: - -*** source-tree was completely reorganized, and now uses autoconf/automake/ - libtool to build. - -*** PSF font-files can now be safely compressed. - -*** 16-bit screen-maps can be loaded (by "setfont -m" or "mapscrn"), instead of - just 8-bit maps interpreted as straight-to-font. This allows to have - correct interpretation of chars sent to the console, even when the input - encoding does not completely map to the font. Test for example something - like "setfont iso02.f08 -u iso02 -mlatin1" to display, as far as possible, - latin1 texts with a iso02 font loaded. - -*** Generated 16-bit screen-maps are provided for common encodings. Take a - look at consoletrans/UTF-tmpl.8bit if you need some more. - -*** "setfont -om" now produces a 16-bit binary map instead of a 8-bit one. - "setfont -m" can read them. - -*** spawn_console and spawn_login are not built any more, as "init" should be - used to log into dynamically spawned consoles if no more than that is - needed. They are still provided as example code for those who'd like to - customize their console-spawn mechanism. - -*** "resizecons" and "sti" have been respectively renamed "resizevt" and - "writevt" for consistency. - -*** Programs can now search /usr/local/share/ as well as /usr/share/ for input - files, but it is disabled by default, because probably not - FSSTND-compliant. See "configure --help". - -*** setfont(8) can now ouput PSF files: mode 0, ie. 256 chars without unimap, with - -op; mode 2, ie. 256 chars with unimap, with -opu. - -*** setfont's "-o" option has been obsoleted by "-or", for "old RAW font", but is - still accepted for compatibility. "-op[u]" should probably be used whereever - "-o" was used. - -*** showkey(1) now accepts one more command (--keymap) to allow installers to - test a new keymap. - -*** showkey(1) now allows the user to set the timeout (--timeout); still - defaults to 10s. - -*** "Magics" for MS-DOS CPI files, and codepage(1)-produced CP files are now - available (see fontfiletools/fonts.magic). - -*** Added documentation on font-file formats used. - - -** Corrected bugs: - -*** reading a unicode-map from a PSF file is now bigendian-safe. - -*** Compressed files are now identified by checking magic numbers instead of - filename's extension. - -*** Compressed files are now found even when given fullname including ".gz" - suffix. - -*** vcstime now correctly handles screen widths from 128 up to 255 - (limitation is now in /dev/vcsa structure). - -*** Now setfont rejects "-m none -m <file>" and "-u none -u <file>". - -*** screendump doesn't need /dev/vcsa0 any more, but /dev/vcsa. - -*** showkey(1) now properly rejects simultaneous multiple commands. - -*** showkey(1) now properly reports when keyboard was in unicode mode. diff -Nru console-tools-0.2.3/po/cat-id-tbl.c console-tools-0.2.3/po/cat-id-tbl.c --- console-tools-0.2.3/po/cat-id-tbl.c 1999-10-25 20:21:21.000000000 +0000 +++ console-tools-0.2.3/po/cat-id-tbl.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,433 +0,0 @@ -/* Automatically generated by po2tbl.sed from console-tools.pot. */ - -#if HAVE_CONFIG_H -# include <config.h> -#endif - -#include "libgettext.h" - -const struct _msg_ent _msg_tbl[] = { - {"", 1}, - {"\ -Usage: %s psffont_in sfm_file [psffont_out]\n\ -Add a Unicode character table to a PSF font\n", 2}, - {"input psffont filename", 3}, - {"screen-font-map filename", 4}, - {"output psffont filename", 5}, - {"%s: wrong number of arguments\n", 6}, - {"%s: psffont and chartable cannot both be stdin\n", 7}, - {"Loading unicode map from %s.\n", 8}, - {"\ -Usage: %s psffont chartable [outfile]\n\ -Extract a Unicode character table from a PSF font\n", 9}, - {"psffont filename", 10}, - {"output filename", 11}, - {"%s: Font has no character table\n", 12}, - {"\ -Usage: %s [options] psffont [outfile]\n\ -Strip Unicode character table from a PSF font\n", 13}, - {"%s: Font already had no character table\n", 14}, - {"?UNKNOWN?", 15}, - {"kb mode was %s\n", 16}, - {"[ if you are trying this under X, it might not work\n", 17}, - {"since the X server is also reading /dev/console ]\n", 18}, - {"caught signal %d, cleaning up...\n", 19}, - {"usage: %s [options...] <command>\n", 20}, - {"display only the raw scan-codes.", 21}, - {"display only the interpreted keycodes (default).", 22}, - {"display only keymap-translated chars.", 23}, - {"display unicode-translated chars.", 24}, - {"set the timeout to N seconds.", 25}, - {"timeout value must be numeric", 26}, - {"no non-option arguments allowed", 27}, - {"WARNING: Unicode mode is experimental -- output may be wrong\n", 28}, - {"press any key (program terminates after %us of last keypress)...\n", 29}, - {"keycode %3d %s\n", 30}, - {"release", 31}, - {"press", 32}, - {"\ -\n\ -Usage:\n\ -\t%1$s [ metabit | meta | bit | escprefix | esc | prefix ]\n\ -Each vt has his own copy of this bit. Use\n\ -\t%1$s [arg] < /dev/ttyn\n\ -to change the settings of another vt.\n\ -The setting before and after the change are reported.\n", 33}, - {"Meta key sets high order bit\n", 34}, - {"Meta key gives Esc prefix\n", 35}, - {"Strange mode for Meta key?\n", 36}, - {"Error reading current setting. Maybe stdin is not a VT?\n", 37}, - {"unrecognized argument", 38}, - {"old state: ", 39}, - {"new state: ", 40}, - {"\ -Usage: %s [option]\n\ -Report and set keyboard mode\n", 41}, - {"print this help information and exit", 42}, - {"report version and exit", 43}, - {"ASCII or 8bit mode (XLATE)", 44}, - {"keycode mode (MEDIUMRAW)", 45}, - {"UTF-8 mode (UNICODE)", 46}, - {"scancode mode (RAW)", 47}, - {"set mode", 48}, - {"%s: unknown mode: %s\n", 49}, - {": error reading keyboard mode\n", 50}, - {"The keyboard is in raw (scancode) mode\n", 51}, - {"The keyboard is in mediumraw (keycode) mode\n", 52}, - {"The keyboard is in the default (ASCII) mode\n", 53}, - {"The keyboard is in Unicode (UTF-8) mode\n", 54}, - {"The keyboard is in some unknown mode\n", 55}, - {": error setting keyboard mode\n", 56}, - {"too many keydefinitions on one line", 57}, - {"Usage: %s [option...] [mapfile...]\n", 58}, - {"clear kernel compose table", 59}, - {"load default keymap file", 60}, - {"output a \"defkeymap.c\" to stdout", 61}, - {"clear kernel string table", 62}, - {"be silent", 63}, - {"report the changes", 64}, - {"report more changes", 65}, - {"syntax error in map file\n", 66}, - {"key bindings not changed\n", 67}, - {"Cannot find %s\n", 68}, - {"cannot open file %s\n", 69}, - {"addmap called with bad index %d", 70}, - {"adding map %d violates explicit keymaps line)", 71}, - {"killkey called with bad index %d", 72}, - {"killkey called with bad table %d", 73}, - {"addkey called with bad index %d", 74}, - {"addkey called with bad table %d", 75}, - {"%s: addfunc called with bad func %d\n", 76}, - {"%s: addfunc: func_buf overflow\n", 77}, - {"compose table overflow\n", 78}, - {"Warning: Compose char %4x ('%c','%c') > 0xFF will be truncated to %2x\n", 79}, - {" (Linux kernel < 2.3.X can't handle unicode compose chars properly)\n", 80}, - {"Keymap %d: Permission denied\n", 81}, - {"keycode %d, table %d = %d%s\n", 82}, - {" FAILED", 83}, - {"failed to bind key %d to value %d\n", 84}, - {"deallocate keymap %d\n", 85}, - {"%s: could not deallocate keymap %d\n", 86}, - {"%s: cannot deallocate or clear keymap\n", 87}, - {"%s: failed to restore keyboard mode\n", 88}, - {"\ -%s: warning: this map uses Unicode symbols\n\ - (perhaps you want to do `kbd_mode -u'?)\n", 89}, - {"failed to bind string '%s' to function %s\n", 90}, - {"failed to clear string %s\n", 91}, - {"too many compose definitions\n", 92}, - {"KDSKBDIACR failed\n", 93}, - {"impossible error in do_constant", 94}, - {"\ -\n\ -Changed %d key%s and %d string%s.\n", 95}, - {"Loaded %d compose definition%s.\n", 96}, - {"(No change in compose definitions.)\n", 97}, - {"loadkeys: don't know how to compose for %s\n", 98}, - {"\ -Usage: %s\n\ -Print kernel scancode-to-keycode mapping table\n", 99}, - {"Plain scancodes xx (hex) versus keycodes (dec)\n", 100}, - {"0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n", 101}, - {"\ -\n\ -\n\ -Escaped scancodes e0 xx (hex)\n", 102}, - {"failed to get keycode for scancode 0x%x\n", 103}, - {"KDGKBENT at index 0 in table %d: ", 104}, - {"%s: cannot find any keymaps?\n", 105}, - {"%s: plain map not allocated? very strange ...\n", 106}, - {"KDGKBENT at index %d in table %d: ", 107}, - {"KDGKBDIACR failed\n", 108}, - {"keycode range supported by kernel: 1 - %d\n", 109}, - {"max number of actions bindable to a key: %d\n", 110}, - {"number of keymaps in actual use: %d\n", 111}, - {"of which %d dynamically allocated\n", 112}, - {"ranges of action codes supported by kernel:\n", 113}, - {"number of function keys supported by kernel: %d\n", 114}, - {"max nr of compose definitions: %d\n", 115}, - {"nr of compose definitions in actual use: %d\n", 116}, - {"\ -Symbols recognized by %s:\n\ -(numeric value, symbol)\n\ -\n", 117}, - {"\ -\n\ -The following synonyms are recognized:\n\ -\n", 118}, - {"\ -\n\ -Recognized modifier names and their column numbers:\n", 119}, - {"impossible: not meta?\n", 120}, - {"KDGKBSENT at index %d: ", 121}, - {"Usage: %s [options...]\n", 122}, - {"display information about keyboard driver", 123}, - {"display above and symbols known to loadkeys", 124}, - {"display keytable in hexadecimal notation", 125}, - {"don't use short-hand notations, one row per keycode", 126}, - {"one line per (modifier,keycode) pair", 127}, - {"display only the function key strings", 128}, - {"display only key bindings", 129}, - {"choose output shape, where <shape> is:", 130}, - {" 0 = default", 131}, - {" 1 = same as --full-table", 132}, - {" 2 = same as --separate-lines", 133}, - {" 3 = one line per keycode, until 1st hole", 134}, - {"display only compose key combinations", 135}, - {"interpret character action codes to be from the", 136}, - {"specified character set", 137}, - {"display this help text and exit", 138}, - {"display version information and exit", 139}, - {"\ -\n\ -available charsets:\n", 140}, - {"\ -Usage:\t%1$s [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll ]]\n\ -Thus,\n\ -\t%1$s +caps -num\n\ -will set CapsLock, clear NumLock and leave ScrollLock unchanged.\n\ -The settings before and after the change (if any) are reported\n\ -when the -v option is given or when no change is requested.\n\ -Normally, %1$s influences the vt flag settings\n\ -(and these are usually reflected in the leds).\n\ -With -L, %1$s only sets the leds, and leaves the flags alone.\n\ -With -D, %1$s sets both the flags and the default flags, so\n\ -that a subsequent reset will not change the flags.\n", 141}, - {"%s: unknown argument: %s\n", 142}, - {"NumLock %s CapsLock %s ScrollLock %s\n", 143}, - {"Error reading current led setting. Maybe stdin is not a VT?\n", 144}, - {"Error reading current flags setting. Maybe an old kernel?\n", 145}, - {"Error resetting ledmode\n", 146}, - {"Current default flags: ", 147}, - {"Current flags: ", 148}, - {"Current leds: ", 149}, - {"Old default flags: ", 150}, - {"New default flags: ", 151}, - {"Old flags: ", 152}, - {"New flags: ", 153}, - {"Old leds: ", 154}, - {"New leds: ", 155}, - {"loadunimap: out of memory\n", 156}, - {"Out of Memory\n", 157}, - {"Out of Memory?\n", 158}, - {"Warning: line too long in unicode map.\n", 159}, - {"Bad input line: %s\n", 160}, - {"unicode map: glyph number (0x%x) larger than font length\n", 161}, - {"unicode map: bad end of range (0x%x)\n", 162}, - {"\ -unicode map: Corresponding to a range of font positions, there should be a \ -Unicode range\n", 163}, - {"\ -unicode map: Bad Unicode range corresponding to font position range \ -0x%x-0x%x\n", 164}, - {"\ -unicode map: Unicode range U+%x-U+%x not of the same length as font position \ -range 0x%x-0x%x\n", 165}, - {"unicode map: trailing junk (%s) ignored\n", 166}, - {"Would save %d SFM entries in `%s'.\n", 167}, - {"Couldnt get a file descriptor referring to the console\n", 168}, - {"Unknown PSF mode number (%d).\n", 169}, - {"Error: unknown charset `%s'.\n", 170}, - {"assuming iso-8859-2 %s\n", 171}, - {"assuming iso-8859-3 %s\n", 172}, - {"assuming iso-8859-4 %s\n", 173}, - {"unknown keysym `%s'\n", 174}, - {"%s: %s child exited anormally with code %d.\n", 175}, - {"%s: %s child was terminated by signal %d.\n", 176}, - {"%s: %s child was stopped by signal %d.\n", 177}, - {"Feeder", 178}, - {"Decompressor", 179}, - {"Identifier", 180}, - {"chld_handler()", 181}, - {"%s child exited OK.\n", 182}, - {"fread magic", 183}, - {"decompressor fork", 184}, - {"decompressor: close file[1]", 185}, - {"decompressor: close uncompressed[0]", 186}, - {"decompressor: dup2 file[0]", 187}, - {"decompressor: dup2 uncompressed[1]", 188}, - {"Decompressor program not found: %s\n", 189}, - {"decompressor: execlp", 190}, - {"feeder fork", 191}, - {"feeder: close uncompressed[0]", 192}, - {"feeder: write zmagicbuf", 193}, - {"feeder: feed", 194}, - {"fread", 195}, - {"identifier fork", 196}, - {"identifier: close identified[0]", 197}, - {"identifier: write magicIDbuf", 198}, - {"identifier: feed", 199}, - {"Zombie %d caught.\n", 200}, - {"One for nothing.\n", 201}, - {"Warning: ignoring a possible path (too long).", 202}, - {"feeder", 203}, - {"decompressor", 204}, - {"identifier", 205}, - {"findfile(): timeout waiting for undead child(ren) ?\n", 206}, - {"Buffer overflow - aborting\n", 207}, - {"Cannot stat map file", 208}, - {"16bit screen-map MUST be a regular file.\n", 209}, - {"fseek failed reading binary 16bit screen-map", 210}, - {"Cannot read [new] map from file", 211}, - {"Input screen-map is binary.\n", 212}, - {"PIO_UNISCRNMAP ioctl", 213}, - {"Assuming 8bit screen-map - MUST be a regular file.\n", 214}, - {"fseek failed assuming 8bit screen-map", 215}, - {"fseek() returned ESPIPE !\n", 216}, - {"fseek for binary 8bit screen-map", 217}, - {"Cannot read [old] map from file", 218}, - {"PIO_SCRNMAP ioctl", 219}, - {"Error parsing symbolic map\n", 220}, - {"uni_screen_map_read_ascii() can't read line", 221}, - {"GIO_UNISCRNMAP ioctl error", 222}, - {"GIO_SCRNMAP ioctl error", 223}, - {"Error writing map to file", 224}, - {"%s: Unexpected arguments.\n", 225}, - {"Usage: %s [options] [commands]\n", 226}, - {"List operations as they are done", 227}, - {"Do not change the console state nor write to any file", 228}, - {"\ -(N in 0..32) Choose the right font from a codepage that\n\ -contains three fonts (only 8/14/16 allowed then), or choose\n\ -default font, ie. \"default8xN\"", 229}, - {"Suppress loading of a screen-font map [use with care]", 230}, - {"When loading an ACM, activate G1 charset instead of G0", 231}, - {"Use `device' as console device for ioctls", 232}, - {"Load the console-font from specified file", 233}, - {"Load a default font from a file", 234}, - {"Restore ROM font (does not work with all kernels)", 235}, - {"\ -Load the SFM from specified file\n\ -(instead of the one in font-file, if any)", 236}, - {"Merge SFM fallbacks from file into SFM", 237}, - {"Load the ACM from specified file", 238}, - {"Write current font to prefered format (now: psf-with-sfm)", 239}, - {"Write current font to PSF file before loading a new one", 240}, - {"Same as -old-font-psf, and add current SFM in the PSF file", 241}, - {"Write current font to RAW file before loading a new one", 242}, - {"Write current ACM to file before loading a new one", 243}, - {"Write current SFM to file before loading a new one", 244}, - {"too many `-' as filenames", 245}, - {"--char-height argument should be in 1..31", 246}, - {"only one font file is allowed", 247}, - {"only one ACM is allowed", 248}, - {"only one SFM is allowed", 249}, - {"multiple requests for SFM handling", 250}, - {"WARNING: not using a unimap may lead to erroneous display !\n", 251}, - {"realloc fallback_files", 252}, - {"only one output RAW font-file is allowed", 253}, - {"only one output PSF font-file is allowed", 254}, - {"only one output PSF+SFM font-file is allowed", 255}, - {"only one output ACM file is allowed", 256}, - {"only one output SFM file is allowed", 257}, - {"unknown option", 258}, - {"no non-option arguments are valid", 259}, - {"nothing to do", 260}, - {"Saving raw old font", 261}, - {"Saving PSF old font", 262}, - {"Saving PSF+unimap old font", 263}, - {"Would save ACM to file `%s'.\n", 264}, - {"Saving ACM to file `%s'.\n", 265}, - {"Would load ACM from `%s'\n", 266}, - {"Loading ACM from `%s'\n", 267}, - {"Error reading ACM file.\n", 268}, - {"Would read screen-font map from %s.\n", 269}, - {"Reading screen-font map from %s.\n", 270}, - {"Requesting SFM from kernel.\n", 271}, - {"No valid SFM currently loaded. Aborting.\n", 272}, - {"Reading SFM fallbacks from `%s'.\n", 273}, - {"Read %u fallback entries.\n", 274}, - {"WARNING: No SFM found in file or kernel ? Ignoring fallback file.\n", 275}, - {"Would set kernel SFM.\n", 276}, - {"Setting kernel SFM.\n", 277}, - {"Cannot find a default font file.\n", 278}, - {"Cannot find default font file `default8x%02d'.\n", 279}, - {"Cannot open font file `%s'.\n", 280}, - {"Only fontsize 256 supported.\n", 281}, - {"Would load %d-chars %dx%d font from file `%s'.\n", 282}, - {"Loading %d-chars %dx%d font from file `%s'.\n", 283}, - {"Reading default SFM from `%s'.\n", 284}, - {"Cannot write SFM into non-PSF font-file.\n", 285}, - {"Can only save 8bit-wide fonts for now, and font is %d-bit wide.\n", 286}, - {"Can only save 256-chars fonts in RAW files, and font has %d chars.\n", 287}, - {"Found nothing to save.\n", 288}, - {"Would have saved 8x%d %s font file on `%s'%s.\n", 289}, - {"Saved 8x%d %s font file on `%s'%s.\n", 290}, - {", with SFM", 291}, - {", without SFM", 292}, - {"\ -Usage: %s\n\ -Displays a screen-font's contents.\n", 293}, - {"\ -Usage: %s\n\ -Clears the Unicode map from the console.\n\ -Note: nowadays this kills kernel console output!\n", 294}, - {"\ -Usage: %s [console]\n\ -Dump the contents of the screen to stdout\n", 295}, - {"dump contents of screen s", 296}, - {"%s: Wrong number of args\n", 297}, - {"Out of memory\n", 298}, - {"Error reading %s\n", 299}, - {"Could not use /dev/vcs*, trying TIOCLINUX\n", 300}, - {"Out of memory.\n", 301}, - {"couldn't read %s, and cannot ioctl dump\n", 302}, - {"Strange ... screen is both %dx%d and %dx%d ??\n", 303}, - {"Out of memory?\n", 304}, - {"Error writing screen dump\n", 305}, - {"\ -Usage: %s ON|on|off\n\ -\n\ -Set VESA blanking on console.\n", 306}, - {"turn blanking on", 307}, - {"%s: argument '%s' should be 'ON', 'on' or 'off'\n", 308}, - {"Usage: %s [option]\n", 309}, - {"don't print result", 310}, - {"Single-byte char mode.\n", 311}, - {"\ -Usage: %s COLSxROWS\n\ - %s COLS ROWS\n\ - %s -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n", 312}, - {"%s: Invalid number of columns: %s\n", 313}, - {"%s: Invalid number of rows: %s\n", 314}, - {"%s: Invalid arguments", 315}, - {"%s: Unrecognized argument", 316}, - {"%s: bad number of arguments\n", 317}, - {"%s: cannot find videomode file %s\n", 318}, - {"Invalid number of lines\n", 319}, - {"Old mode: %dx%d New mode: %dx%d\n", 320}, - {"Old #scanlines: %d New #scanlines: %d Character height: %d\n", 321}, - {"%s: the command `%s' failed\n", 322}, - {"%s: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n", 323}, - {"Also the variables LINES and COLUMNS may need adjusting.\n", 324}, - {"%s: cannot get I/O permissions.\n", 325}, - {"\ -Usage: %s [N1 N2 ...]\n\ -Deallocate virtual terminal(s)\n", 326}, - {"virtual terminal", 327}, - {"%s: 0: illegal VT number\n", 328}, - {"%s: VT 1 is the console and cannot be deallocated\n", 329}, - {"%s: could not deallocate console %d\n", 330}, - {"%s: deallocating all unused consoles failed\n", 331}, - {"\ -Usage: %s [vt_number]\n\ -Print foreground console\n", 332}, - {"\ -Usage: %s [vt_number]\n\ -Change virtual terminal\n", 333}, - {"\ -Usage: %s\n\ -Show time in upper right hand corner of the console screen\n", 334}, - {"\ -Usage: %s tty text\n\ -Put text into the input buffer of a virtual terminal.\n", 335}, - {"device name", 336}, - {"text to insert", 337}, - {"%s: No tty specified.\n", 338}, - {"%s: No text specified.\n", 339}, - {"%s: too many arguments\n", 340}, - {"%s: could not open tty\n", 341}, - {"%s: TIOCSTI ioctl failed\n", 342}, -}; - -int _msg_tbl_length = 342; diff -Nru console-tools-0.2.3/po/ChangeLog console-tools-0.2.3/po/ChangeLog --- console-tools-0.2.3/po/ChangeLog 1999-04-08 21:29:42.000000000 +0000 +++ console-tools-0.2.3/po/ChangeLog 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -Sun Feb 28 20:28:24 1999 Yann Dirson - - * Initial revision - current state is: - ** l10n for ga and fr: just started. - - diff -Nru console-tools-0.2.3/po/console-tools.pot console-tools-0.2.3/po/console-tools.pot --- console-tools-0.2.3/po/console-tools.pot 1999-10-25 20:33:39.000000000 +0000 +++ console-tools-0.2.3/po/console-tools.pot 1970-01-01 00:00:00.000000000 +0000 @@ -1,1596 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Free Software Foundation, Inc. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 1999-10-25 22:33+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: ENCODING\n" - -#: fontfiletools/psfaddtable.c:30 -#, c-format -msgid "" -"Usage: %s psffont_in sfm_file [psffont_out]\n" -"Add a Unicode character table to a PSF font\n" -msgstr "" - -#: fontfiletools/psfaddtable.c:33 -msgid "input psffont filename" -msgstr "" - -#: fontfiletools/psfaddtable.c:34 -msgid "screen-font-map filename" -msgstr "" - -#: fontfiletools/psfaddtable.c:35 -msgid "output psffont filename" -msgstr "" - -#: fontfiletools/psfaddtable.c:86 fontfiletools/psfaddtable.c:96 -#: fontfiletools/psfgettable.c:76 fontfiletools/psfstriptable.c:78 -#, c-format -msgid "%s: wrong number of arguments\n" -msgstr "" - -#: fontfiletools/psfaddtable.c:113 -#, c-format -msgid "%s: psffont and chartable cannot both be stdin\n" -msgstr "" - -#: fontfiletools/psfaddtable.c:200 -#, c-format -msgid "Loading unicode map from %s.\n" -msgstr "" - -#: fontfiletools/psfgettable.c:26 -#, c-format -msgid "" -"Usage: %s psffont chartable [outfile]\n" -"Extract a Unicode character table from a PSF font\n" -msgstr "" - -#: fontfiletools/psfgettable.c:29 fontfiletools/psfstriptable.c:31 -msgid "psffont filename" -msgstr "" - -#: fontfiletools/psfgettable.c:30 fontfiletools/psfstriptable.c:32 -msgid "output filename" -msgstr "" - -#: fontfiletools/psfgettable.c:139 -#, c-format -msgid "%s: Font has no character table\n" -msgstr "" - -#: fontfiletools/psfstriptable.c:28 -#, c-format -msgid "" -"Usage: %s [options] psffont [outfile]\n" -"Strip Unicode character table from a PSF font\n" -msgstr "" - -#: fontfiletools/psfstriptable.c:140 -#, c-format -msgid "%s: Font already had no character table\n" -msgstr "" - -#: kbdtools/showkey.c:47 -msgid "?UNKNOWN?" -msgstr "" - -#: kbdtools/showkey.c:49 -#, c-format -msgid "kb mode was %s\n" -msgstr "" - -#: kbdtools/showkey.c:52 -msgid "[ if you are trying this under X, it might not work\n" -msgstr "" - -#: kbdtools/showkey.c:53 -msgid "since the X server is also reading /dev/console ]\n" -msgstr "" - -#: kbdtools/showkey.c:72 -#, c-format -msgid "caught signal %d, cleaning up...\n" -msgstr "" - -#: kbdtools/showkey.c:85 -#, c-format -msgid "usage: %s [options...] <command>\n" -msgstr "" - -#: kbdtools/showkey.c:87 -msgid "display only the raw scan-codes." -msgstr "" - -#: kbdtools/showkey.c:88 -msgid "display only the interpreted keycodes (default)." -msgstr "" - -#: kbdtools/showkey.c:89 -msgid "display only keymap-translated chars." -msgstr "" - -#: kbdtools/showkey.c:90 -msgid "display unicode-translated chars." -msgstr "" - -#: kbdtools/showkey.c:94 -msgid "set the timeout to N seconds." -msgstr "" - -#: kbdtools/showkey.c:158 -msgid "timeout value must be numeric" -msgstr "" - -#: kbdtools/dumpkeys.c:632 kbdtools/showkey.c:174 -msgid "no non-option arguments allowed" -msgstr "" - -#: kbdtools/showkey.c:177 -msgid "WARNING: Unicode mode is experimental -- output may be wrong\n" -msgstr "" - -#: kbdtools/showkey.c:235 -#, c-format -msgid "press any key (program terminates after %us of last keypress)...\n" -msgstr "" - -#: kbdtools/showkey.c:254 -#, c-format -msgid "keycode %3d %s\n" -msgstr "" - -#: kbdtools/showkey.c:256 -msgid "release" -msgstr "" - -#: kbdtools/showkey.c:256 -msgid "press" -msgstr "" - -#: kbdtools/setmetamode.c:22 -#, c-format -msgid "" -"\n" -"Usage:\n" -"\t%1$s [ metabit | meta | bit | escprefix | esc | prefix ]\n" -"Each vt has his own copy of this bit. Use\n" -"\t%1$s [arg] < /dev/ttyn\n" -"to change the settings of another vt.\n" -"The setting before and after the change are reported.\n" -msgstr "" - -#: kbdtools/setmetamode.c:38 -msgid "Meta key sets high order bit\n" -msgstr "" - -#: kbdtools/setmetamode.c:41 -msgid "Meta key gives Esc prefix\n" -msgstr "" - -#: kbdtools/setmetamode.c:44 -msgid "Strange mode for Meta key?\n" -msgstr "" - -#: kbdtools/setmetamode.c:76 -msgid "Error reading current setting. Maybe stdin is not a VT?\n" -msgstr "" - -#: kbdtools/setmetamode.c:95 -msgid "unrecognized argument" -msgstr "" - -#: kbdtools/setmetamode.c:98 -msgid "old state: " -msgstr "" - -#: kbdtools/setmetamode.c:105 -msgid "new state: " -msgstr "" - -#: kbdtools/kbd_mode.c:23 -#, c-format -msgid "" -"Usage: %s [option]\n" -"Report and set keyboard mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:26 -msgid "print this help information and exit" -msgstr "" - -#: kbdtools/kbd_mode.c:27 -msgid "report version and exit" -msgstr "" - -#: kbdtools/kbd_mode.c:28 -msgid "ASCII or 8bit mode (XLATE)" -msgstr "" - -#: kbdtools/kbd_mode.c:29 -msgid "keycode mode (MEDIUMRAW)" -msgstr "" - -#: kbdtools/kbd_mode.c:30 -msgid "UTF-8 mode (UNICODE)" -msgstr "" - -#: kbdtools/kbd_mode.c:31 -msgid "scancode mode (RAW)" -msgstr "" - -#: kbdtools/kbd_mode.c:32 -msgid "set mode" -msgstr "" - -#: kbdtools/kbd_mode.c:85 -#, c-format -msgid "%s: unknown mode: %s\n" -msgstr "" - -#: kbdtools/kbd_mode.c:111 -msgid ": error reading keyboard mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:117 -msgid "The keyboard is in raw (scancode) mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:120 -msgid "The keyboard is in mediumraw (keycode) mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:123 -msgid "The keyboard is in the default (ASCII) mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:126 -msgid "The keyboard is in Unicode (UTF-8) mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:129 -msgid "The keyboard is in some unknown mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:137 -msgid ": error setting keyboard mode\n" -msgstr "" - -#: loadkeys.y:287 -msgid "too many keydefinitions on one line" -msgstr "" - -#: loadkeys.y:306 -#, c-format -msgid "Usage: %s [option...] [mapfile...]\n" -msgstr "" - -#: loadkeys.y:308 -msgid "clear kernel compose table" -msgstr "" - -#: loadkeys.y:309 -msgid "load default keymap file" -msgstr "" - -#. FIXME: should print DEFKMAP -#: loadkeys.y:310 -msgid "output a \"defkeymap.c\" to stdout" -msgstr "" - -#: loadkeys.y:311 -msgid "clear kernel string table" -msgstr "" - -#: loadkeys.y:312 -msgid "be silent" -msgstr "" - -#: loadkeys.y:313 -msgid "report the changes" -msgstr "" - -#: loadkeys.y:314 -msgid "report more changes" -msgstr "" - -#: loadkeys.y:392 -msgid "syntax error in map file\n" -msgstr "" - -#: loadkeys.y:394 -msgid "key bindings not changed\n" -msgstr "" - -#: loadkeys.y:482 -#, c-format -msgid "Cannot find %s\n" -msgstr "" - -#: loadkeys.y:499 -#, c-format -msgid "cannot open file %s\n" -msgstr "" - -#: loadkeys.y:524 -#, c-format -msgid "addmap called with bad index %d" -msgstr "" - -#: loadkeys.y:529 -#, c-format -msgid "adding map %d violates explicit keymaps line)" -msgstr "" - -#: loadkeys.y:543 -#, c-format -msgid "killkey called with bad index %d" -msgstr "" - -#: loadkeys.y:545 -#, c-format -msgid "killkey called with bad table %d" -msgstr "" - -#: loadkeys.y:559 -#, c-format -msgid "addkey called with bad index %d" -msgstr "" - -#: loadkeys.y:561 -#, c-format -msgid "addkey called with bad table %d" -msgstr "" - -#: loadkeys.y:605 -#, c-format -msgid "%s: addfunc called with bad func %d\n" -msgstr "" - -#: loadkeys.y:628 -#, c-format -msgid "%s: addfunc: func_buf overflow\n" -msgstr "" - -#: loadkeys.y:657 -msgid "compose table overflow\n" -msgstr "" - -#: loadkeys.y:666 -#, c-format -msgid "Warning: Compose char %4x ('%c','%c') > 0xFF will be truncated to %2x\n" -msgstr "" - -#: loadkeys.y:669 -msgid " (Linux kernel < 2.3.X can't handle unicode compose chars properly)\n" -msgstr "" - -#: loadkeys.y:709 -#, c-format -msgid "Keymap %d: Permission denied\n" -msgstr "" - -#: loadkeys.y:718 -#, c-format -msgid "keycode %d, table %d = %d%s\n" -msgstr "" - -#: loadkeys.y:719 -msgid " FAILED" -msgstr "" - -#: loadkeys.y:721 -#, c-format -msgid "failed to bind key %d to value %d\n" -msgstr "" - -#: loadkeys.y:734 -#, c-format -msgid "deallocate keymap %d\n" -msgstr "" - -#: loadkeys.y:742 -#, c-format -msgid "%s: could not deallocate keymap %d\n" -msgstr "" - -#: loadkeys.y:759 -#, c-format -msgid "%s: cannot deallocate or clear keymap\n" -msgstr "" - -#: loadkeys.y:772 -#, c-format -msgid "%s: failed to restore keyboard mode\n" -msgstr "" - -#: loadkeys.y:775 -#, c-format -msgid "" -"%s: warning: this map uses Unicode symbols\n" -" (perhaps you want to do `kbd_mode -u'?)\n" -msgstr "" - -#: loadkeys.y:823 -#, c-format -msgid "failed to bind string '%s' to function %s\n" -msgstr "" - -#: loadkeys.y:832 -#, c-format -msgid "failed to clear string %s\n" -msgstr "" - -#: loadkeys.y:850 -msgid "too many compose definitions\n" -msgstr "" - -#: loadkeys.y:857 -msgid "KDSKBDIACR failed\n" -msgstr "" - -#: loadkeys.y:918 -msgid "impossible error in do_constant" -msgstr "" - -#: loadkeys.y:939 -#, c-format -msgid "" -"\n" -"Changed %d key%s and %d string%s.\n" -msgstr "" - -#: loadkeys.y:943 -#, c-format -msgid "Loaded %d compose definition%s.\n" -msgstr "" - -#: loadkeys.y:946 -msgid "(No change in compose definitions.)\n" -msgstr "" - -#: loadkeys.y:983 -#, c-format -msgid "loadkeys: don't know how to compose for %s\n" -msgstr "" - -#: kbdtools/getkeycodes.c:21 -#, c-format -msgid "" -"Usage: %s\n" -"Print kernel scancode-to-keycode mapping table\n" -msgstr "" - -#: kbdtools/getkeycodes.c:40 -msgid "Plain scancodes xx (hex) versus keycodes (dec)\n" -msgstr "" - -#: kbdtools/getkeycodes.c:41 -msgid "0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n" -msgstr "" - -#: kbdtools/getkeycodes.c:46 -msgid "" -"\n" -"\n" -"Escaped scancodes e0 xx (hex)\n" -msgstr "" - -#: kbdtools/getkeycodes.c:70 -#, c-format -msgid "failed to get keycode for scancode 0x%x\n" -msgstr "" - -#: kbdtools/dumpkeys.c:63 -#, c-format -msgid "KDGKBENT at index 0 in table %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:77 -#, c-format -msgid "%s: cannot find any keymaps?\n" -msgstr "" - -#: kbdtools/dumpkeys.c:82 -#, c-format -msgid "%s: plain map not allocated? very strange ...\n" -msgstr "" - -#: kbdtools/dumpkeys.c:111 -#, c-format -msgid "KDGKBENT at index %d in table %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:200 -msgid "KDGKBDIACR failed\n" -msgstr "" - -#: kbdtools/dumpkeys.c:236 -#, c-format -msgid "keycode range supported by kernel: 1 - %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:238 -#, c-format -msgid "max number of actions bindable to a key: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:241 -#, c-format -msgid "number of keymaps in actual use: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:244 -#, c-format -msgid "of which %d dynamically allocated\n" -msgstr "" - -#: kbdtools/dumpkeys.c:245 -msgid "ranges of action codes supported by kernel:\n" -msgstr "" - -#: kbdtools/dumpkeys.c:250 -#, c-format -msgid "number of function keys supported by kernel: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:253 -#, c-format -msgid "max nr of compose definitions: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:256 -#, c-format -msgid "nr of compose definitions in actual use: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:280 -#, c-format -msgid "" -"Symbols recognized by %s:\n" -"(numeric value, symbol)\n" -"\n" -msgstr "" - -#: kbdtools/dumpkeys.c:292 -msgid "" -"\n" -"The following synonyms are recognized:\n" -"\n" -msgstr "" - -#: kbdtools/dumpkeys.c:296 -msgid "" -"\n" -"Recognized modifier names and their column numbers:\n" -msgstr "" - -#: kbdtools/dumpkeys.c:432 -msgid "impossible: not meta?\n" -msgstr "" - -#: kbdtools/dumpkeys.c:487 -#, c-format -msgid "KDGKBSENT at index %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:510 -#, c-format -msgid "Usage: %s [options...]\n" -msgstr "" - -#: kbdtools/dumpkeys.c:512 -msgid "display information about keyboard driver" -msgstr "" - -#: kbdtools/dumpkeys.c:513 -msgid "display above and symbols known to loadkeys" -msgstr "" - -#: kbdtools/dumpkeys.c:514 -msgid "display keytable in hexadecimal notation" -msgstr "" - -#: kbdtools/dumpkeys.c:515 -msgid "don't use short-hand notations, one row per keycode" -msgstr "" - -#: kbdtools/dumpkeys.c:516 -msgid "one line per (modifier,keycode) pair" -msgstr "" - -#: kbdtools/dumpkeys.c:517 -msgid "display only the function key strings" -msgstr "" - -#: kbdtools/dumpkeys.c:518 -msgid "display only key bindings" -msgstr "" - -#: kbdtools/dumpkeys.c:519 -msgid "choose output shape, where <shape> is:" -msgstr "" - -#: kbdtools/dumpkeys.c:520 -msgid " 0 = default" -msgstr "" - -#: kbdtools/dumpkeys.c:521 -msgid " 1 = same as --full-table" -msgstr "" - -#: kbdtools/dumpkeys.c:522 -msgid " 2 = same as --separate-lines" -msgstr "" - -#: kbdtools/dumpkeys.c:523 -msgid " 3 = one line per keycode, until 1st hole" -msgstr "" - -#: kbdtools/dumpkeys.c:525 -msgid "display only compose key combinations" -msgstr "" - -#: kbdtools/dumpkeys.c:528 -msgid "interpret character action codes to be from the" -msgstr "" - -#: kbdtools/dumpkeys.c:529 -msgid "specified character set" -msgstr "" - -#: kbdtools/dumpkeys.c:531 -msgid "display this help text and exit" -msgstr "" - -#: kbdtools/dumpkeys.c:532 -msgid "display version information and exit" -msgstr "" - -#: kbdtools/dumpkeys.c:534 -msgid "" -"\n" -"available charsets:\n" -msgstr "" - -#: kbdtools/setleds.c:29 -#, c-format -msgid "" -"Usage:\t%1$s [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll ]]\n" -"Thus,\n" -"\t%1$s +caps -num\n" -"will set CapsLock, clear NumLock and leave ScrollLock unchanged.\n" -"The settings before and after the change (if any) are reported\n" -"when the -v option is given or when no change is requested.\n" -"Normally, %1$s influences the vt flag settings\n" -"(and these are usually reflected in the leds).\n" -"With -L, %1$s only sets the leds, and leaves the flags alone.\n" -"With -D, %1$s sets both the flags and the default flags, so\n" -"that a subsequent reset will not change the flags.\n" -msgstr "" - -#: kbdtools/setleds.c:103 -#, c-format -msgid "%s: unknown argument: %s\n" -msgstr "" - -#: kbdtools/setleds.c:117 -#, c-format -msgid "NumLock %s CapsLock %s ScrollLock %s\n" -msgstr "" - -#: kbdtools/setleds.c:143 -msgid "Error reading current led setting. Maybe stdin is not a VT?\n" -msgstr "" - -#: kbdtools/setleds.c:150 -msgid "Error reading current flags setting. Maybe an old kernel?\n" -msgstr "" - -#: kbdtools/setleds.c:163 -msgid "Error resetting ledmode\n" -msgstr "" - -#: kbdtools/setleds.c:172 -msgid "Current default flags: " -msgstr "" - -#: kbdtools/setleds.c:176 -msgid "Current flags: " -msgstr "" - -#: kbdtools/setleds.c:180 -msgid "Current leds: " -msgstr "" - -#: kbdtools/setleds.c:192 -msgid "Old default flags: " -msgstr "" - -#: kbdtools/setleds.c:194 -msgid "New default flags: " -msgstr "" - -#: kbdtools/setleds.c:201 -msgid "Old flags: " -msgstr "" - -#: kbdtools/setleds.c:203 -msgid "New flags: " -msgstr "" - -#: kbdtools/setleds.c:216 -msgid "Old leds: " -msgstr "" - -#: kbdtools/setleds.c:218 -msgid "New leds: " -msgstr "" - -#: lib/sfm-utils.c:35 -msgid "loadunimap: out of memory\n" -msgstr "" - -#: lib/wrappers.c:15 -msgid "Out of Memory\n" -msgstr "" - -#: lib/wrappers.c:26 -msgid "Out of Memory?\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:31 -msgid "Warning: line too long in unicode map.\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:54 lib/sfm-rd-ascii.c:68 -#, c-format -msgid "Bad input line: %s\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:80 -#, c-format -msgid "unicode map: glyph number (0x%x) larger than font length\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:88 -#, c-format -msgid "unicode map: bad end of range (0x%x)\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:113 -msgid "" -"unicode map: Corresponding to a range of font positions, there should be a " -"Unicode range\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:123 -#, c-format -msgid "" -"unicode map: Bad Unicode range corresponding to font position range " -"0x%x-0x%x\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:131 -#, c-format -msgid "" -"unicode map: Unicode range U+%x-U+%x not of the same length as font position " -"range 0x%x-0x%x\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:151 -#, c-format -msgid "unicode map: trailing junk (%s) ignored\n" -msgstr "" - -#: lib/saveunimap.c:24 -#, c-format -msgid "Would save %d SFM entries in `%s'.\n" -msgstr "" - -#: lib/misc-console-utils.c:89 -msgid "Couldnt get a file descriptor referring to the console\n" -msgstr "" - -#: lib/psf-header.c:26 -#, c-format -msgid "Unknown PSF mode number (%d).\n" -msgstr "" - -#: lib/ksyms.c:971 -#, c-format -msgid "Error: unknown charset `%s'.\n" -msgstr "" - -#: lib/ksyms.c:1010 -#, c-format -msgid "assuming iso-8859-2 %s\n" -msgstr "" - -#: lib/ksyms.c:1017 -#, c-format -msgid "assuming iso-8859-3 %s\n" -msgstr "" - -#: lib/ksyms.c:1024 -#, c-format -msgid "assuming iso-8859-4 %s\n" -msgstr "" - -#: lib/ksyms.c:1028 -#, c-format -msgid "unknown keysym `%s'\n" -msgstr "" - -#: lib/findfile.c:64 -#, c-format -msgid "%s: %s child exited anormally with code %d.\n" -msgstr "" - -#: lib/findfile.c:67 -#, c-format -msgid "%s: %s child was terminated by signal %d.\n" -msgstr "" - -#: lib/findfile.c:70 -#, c-format -msgid "%s: %s child was stopped by signal %d.\n" -msgstr "" - -#: lib/findfile.c:85 -msgid "Feeder" -msgstr "" - -#: lib/findfile.c:90 -msgid "Decompressor" -msgstr "" - -#: lib/findfile.c:95 -msgid "Identifier" -msgstr "" - -#: lib/findfile.c:122 -msgid "chld_handler()" -msgstr "" - -#: lib/findfile.c:128 -#, c-format -msgid "%s child exited OK.\n" -msgstr "" - -#: lib/findfile.c:172 -msgid "fread magic" -msgstr "" - -#: lib/findfile.c:232 -msgid "decompressor fork" -msgstr "" - -#: lib/findfile.c:238 -msgid "decompressor: close file[1]" -msgstr "" - -#: lib/findfile.c:243 -msgid "decompressor: close uncompressed[0]" -msgstr "" - -#: lib/findfile.c:252 -msgid "decompressor: dup2 file[0]" -msgstr "" - -#: lib/findfile.c:259 -msgid "decompressor: dup2 uncompressed[1]" -msgstr "" - -#: lib/findfile.c:268 -#, c-format -msgid "Decompressor program not found: %s\n" -msgstr "" - -#: lib/findfile.c:271 -msgid "decompressor: execlp" -msgstr "" - -#: lib/findfile.c:287 -msgid "feeder fork" -msgstr "" - -#: lib/findfile.c:294 -msgid "feeder: close uncompressed[0]" -msgstr "" - -#: lib/findfile.c:302 -msgid "feeder: write zmagicbuf" -msgstr "" - -#: lib/findfile.c:308 -msgid "feeder: feed" -msgstr "" - -#: lib/findfile.c:340 -msgid "fread" -msgstr "" - -#: lib/findfile.c:377 -msgid "identifier fork" -msgstr "" - -#: lib/findfile.c:382 -msgid "identifier: close identified[0]" -msgstr "" - -#: lib/findfile.c:389 -msgid "identifier: write magicIDbuf" -msgstr "" - -#: lib/findfile.c:395 -msgid "identifier: feed" -msgstr "" - -#: lib/findfile.c:439 -#, c-format -msgid "Zombie %d caught.\n" -msgstr "" - -#: lib/findfile.c:450 -msgid "One for nothing.\n" -msgstr "" - -#: lib/findfile.c:562 -msgid "Warning: ignoring a possible path (too long)." -msgstr "" - -#: lib/findfile.c:668 -msgid "feeder" -msgstr "" - -#: lib/findfile.c:669 -msgid "decompressor" -msgstr "" - -#: lib/findfile.c:670 -msgid "identifier" -msgstr "" - -#: lib/findfile.c:676 -msgid "findfile(): timeout waiting for undead child(ren) ?\n" -msgstr "" - -#: lib/findfile.c:711 -msgid "Buffer overflow - aborting\n" -msgstr "" - -#: lib/acm.c:35 -msgid "Cannot stat map file" -msgstr "" - -#: lib/acm.c:47 -msgid "16bit screen-map MUST be a regular file.\n" -msgstr "" - -#: lib/acm.c:49 -msgid "fseek failed reading binary 16bit screen-map" -msgstr "" - -#: lib/acm.c:53 -msgid "Cannot read [new] map from file" -msgstr "" - -#: lib/acm.c:56 -msgid "Input screen-map is binary.\n" -msgstr "" - -#: lib/acm.c:65 -msgid "PIO_UNISCRNMAP ioctl" -msgstr "" - -#: lib/acm.c:75 -msgid "Assuming 8bit screen-map - MUST be a regular file.\n" -msgstr "" - -#: lib/acm.c:77 -msgid "fseek failed assuming 8bit screen-map" -msgstr "" - -#. should not - it succedeed above -#: lib/acm.c:91 -msgid "fseek() returned ESPIPE !\n" -msgstr "" - -#: lib/acm.c:93 -msgid "fseek for binary 8bit screen-map" -msgstr "" - -#: lib/acm.c:97 -msgid "Cannot read [old] map from file" -msgstr "" - -#: lib/acm.c:105 -msgid "PIO_SCRNMAP ioctl" -msgstr "" - -#: lib/acm.c:111 -msgid "Error parsing symbolic map\n" -msgstr "" - -#: lib/acm.c:158 -msgid "uni_screen_map_read_ascii() can't read line" -msgstr "" - -#: lib/acm.c:306 -msgid "GIO_UNISCRNMAP ioctl error" -msgstr "" - -#: lib/acm.c:310 -msgid "GIO_SCRNMAP ioctl error" -msgstr "" - -#: lib/acm.c:331 lib/acm.c:339 -msgid "Error writing map to file" -msgstr "" - -#: lib/miscutils.c:56 -#, c-format -msgid "%s: Unexpected arguments.\n" -msgstr "" - -#: screenfonttools/consolechars.c:48 -#, c-format -msgid "Usage: %s [options] [commands]\n" -msgstr "" - -#: screenfonttools/consolechars.c:50 -msgid "List operations as they are done" -msgstr "" - -#: screenfonttools/consolechars.c:51 -msgid "Do not change the console state nor write to any file" -msgstr "" - -#: screenfonttools/consolechars.c:52 -msgid "" -"(N in 0..32) Choose the right font from a codepage that\n" -"contains three fonts (only 8/14/16 allowed then), or choose\n" -"default font, ie. \"default8xN\"" -msgstr "" - -#: screenfonttools/consolechars.c:55 -msgid "Suppress loading of a screen-font map [use with care]" -msgstr "" - -#: screenfonttools/consolechars.c:56 -msgid "When loading an ACM, activate G1 charset instead of G0" -msgstr "" - -#: screenfonttools/consolechars.c:57 -msgid "Use `device' as console device for ioctls" -msgstr "" - -#: screenfonttools/consolechars.c:59 -msgid "Load the console-font from specified file" -msgstr "" - -#: screenfonttools/consolechars.c:60 -msgid "Load a default font from a file" -msgstr "" - -#: screenfonttools/consolechars.c:61 -msgid "Restore ROM font (does not work with all kernels)" -msgstr "" - -#: screenfonttools/consolechars.c:63 -msgid "" -"Load the SFM from specified file\n" -"(instead of the one in font-file, if any)" -msgstr "" - -#: screenfonttools/consolechars.c:65 -msgid "Merge SFM fallbacks from file into SFM" -msgstr "" - -#: screenfonttools/consolechars.c:66 -msgid "Load the ACM from specified file" -msgstr "" - -#: screenfonttools/consolechars.c:67 -msgid "Write current font to prefered format (now: psf-with-sfm)" -msgstr "" - -#: screenfonttools/consolechars.c:68 -msgid "Write current font to PSF file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:70 -msgid "Same as -old-font-psf, and add current SFM in the PSF file" -msgstr "" - -#: screenfonttools/consolechars.c:71 -msgid "Write current font to RAW file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:72 -msgid "Write current ACM to file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:73 -msgid "Write current SFM to file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:84 -msgid "too many `-' as filenames" -msgstr "" - -#: screenfonttools/consolechars.c:196 -msgid "--char-height argument should be in 1..31" -msgstr "" - -#: screenfonttools/consolechars.c:201 screenfonttools/consolechars.c:208 -#: screenfonttools/consolechars.c:214 -msgid "only one font file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:220 -msgid "only one ACM is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:227 -msgid "only one SFM is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:229 -msgid "multiple requests for SFM handling" -msgstr "" - -#: screenfonttools/consolechars.c:236 -msgid "WARNING: not using a unimap may lead to erroneous display !\n" -msgstr "" - -#: screenfonttools/consolechars.c:246 -msgid "realloc fallback_files" -msgstr "" - -#: screenfonttools/consolechars.c:255 -msgid "only one output RAW font-file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:262 -msgid "only one output PSF font-file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:269 -msgid "only one output PSF+SFM font-file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:276 -msgid "only one output ACM file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:283 -msgid "only one output SFM file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:294 -msgid "unknown option" -msgstr "" - -#: screenfonttools/consolechars.c:299 -msgid "no non-option arguments are valid" -msgstr "" - -#: screenfonttools/consolechars.c:302 -msgid "nothing to do" -msgstr "" - -#: screenfonttools/consolechars.c:316 -msgid "Saving raw old font" -msgstr "" - -#: screenfonttools/consolechars.c:320 -msgid "Saving PSF old font" -msgstr "" - -#: screenfonttools/consolechars.c:324 -msgid "Saving PSF+unimap old font" -msgstr "" - -#: screenfonttools/consolechars.c:329 -#, c-format -msgid "Would save ACM to file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:332 -#, c-format -msgid "Saving ACM to file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:354 -#, c-format -msgid "Would load ACM from `%s'\n" -msgstr "" - -#: screenfonttools/consolechars.c:357 -#, c-format -msgid "Loading ACM from `%s'\n" -msgstr "" - -#: screenfonttools/consolechars.c:360 -msgid "Error reading ACM file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:386 -#, c-format -msgid "Would read screen-font map from %s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:388 -#, c-format -msgid "Reading screen-font map from %s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:402 -msgid "Requesting SFM from kernel.\n" -msgstr "" - -#: screenfonttools/consolechars.c:406 -msgid "No valid SFM currently loaded. Aborting.\n" -msgstr "" - -#: screenfonttools/consolechars.c:440 -#, c-format -msgid "Reading SFM fallbacks from `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:448 -#, c-format -msgid "Read %u fallback entries.\n" -msgstr "" - -#: screenfonttools/consolechars.c:473 -msgid "WARNING: No SFM found in file or kernel ? Ignoring fallback file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:480 -msgid "Would set kernel SFM.\n" -msgstr "" - -#: screenfonttools/consolechars.c:483 -msgid "Setting kernel SFM.\n" -msgstr "" - -#: screenfonttools/consolechars.c:528 -msgid "Cannot find a default font file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:537 -#, c-format -msgid "Cannot find default font file `default8x%02d'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:547 -#, c-format -msgid "Cannot open font file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:584 -msgid "Only fontsize 256 supported.\n" -msgstr "" - -#: screenfonttools/consolechars.c:595 -#, c-format -msgid "Would load %d-chars %dx%d font from file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:602 -#, c-format -msgid "Loading %d-chars %dx%d font from file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:628 -#, c-format -msgid "Reading default SFM from `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:649 -msgid "Cannot write SFM into non-PSF font-file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:660 -#, c-format -msgid "Can only save 8bit-wide fonts for now, and font is %d-bit wide.\n" -msgstr "" - -#: screenfonttools/consolechars.c:670 -#, c-format -msgid "Can only save 256-chars fonts in RAW files, and font has %d chars.\n" -msgstr "" - -#: screenfonttools/consolechars.c:677 -msgid "Found nothing to save.\n" -msgstr "" - -#: screenfonttools/consolechars.c:708 -#, c-format -msgid "Would have saved 8x%d %s font file on `%s'%s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:709 -#, c-format -msgid "Saved 8x%d %s font file on `%s'%s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:713 -msgid ", with SFM" -msgstr "" - -#: screenfonttools/consolechars.c:713 -msgid ", without SFM" -msgstr "" - -#: screenfonttools/showcfont.c:15 -#, c-format -msgid "" -"Usage: %s\n" -"Displays a screen-font's contents.\n" -msgstr "" - -#: screenfonttools/clrunimap.c:19 -#, c-format -msgid "" -"Usage: %s\n" -"Clears the Unicode map from the console.\n" -"Note: nowadays this kills kernel console output!\n" -msgstr "" - -#: vttools/screendump.c:31 -#, c-format -msgid "" -"Usage: %s [console]\n" -"Dump the contents of the screen to stdout\n" -msgstr "" - -#: vttools/screendump.c:34 -msgid "dump contents of screen s" -msgstr "" - -#: vttools/chvt.c:59 vttools/screendump.c:72 vttools/setvesablank.c:81 -#, c-format -msgid "%s: Wrong number of args\n" -msgstr "" - -#: vttools/screendump.c:112 -msgid "Out of memory\n" -msgstr "" - -#: vttools/screendump.c:117 -#, c-format -msgid "Error reading %s\n" -msgstr "" - -#: vttools/screendump.c:141 -msgid "Could not use /dev/vcs*, trying TIOCLINUX\n" -msgstr "" - -#: vttools/screendump.c:158 -msgid "Out of memory.\n" -msgstr "" - -#: vttools/screendump.c:169 -#, c-format -msgid "couldn't read %s, and cannot ioctl dump\n" -msgstr "" - -#: vttools/screendump.c:178 -#, c-format -msgid "Strange ... screen is both %dx%d and %dx%d ??\n" -msgstr "" - -#: vttools/screendump.c:186 -msgid "Out of memory?\n" -msgstr "" - -#: vttools/screendump.c:203 -msgid "Error writing screen dump\n" -msgstr "" - -#: vttools/setvesablank.c:19 -#, c-format -msgid "" -"Usage: %s ON|on|off\n" -"\n" -"Set VESA blanking on console.\n" -msgstr "" - -#: vttools/setvesablank.c:22 -msgid "turn blanking on" -msgstr "" - -#: vttools/setvesablank.c:37 -#, c-format -msgid "%s: argument '%s' should be 'ON', 'on' or 'off'\n" -msgstr "" - -#: vttools/vt-is-UTF8.c:16 -#, c-format -msgid "Usage: %s [option]\n" -msgstr "" - -#: vttools/vt-is-UTF8.c:18 -msgid "don't print result" -msgstr "" - -#: vttools/vt-is-UTF8.c:82 -msgid "Single-byte char mode.\n" -msgstr "" - -#: vttools/resizecons.c:110 -#, c-format -msgid "" -"Usage: %s COLSxROWS\n" -" %s COLS ROWS\n" -" %s -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n" -msgstr "" - -#: vttools/resizecons.c:145 -#, c-format -msgid "%s: Invalid number of columns: %s\n" -msgstr "" - -#: vttools/resizecons.c:154 -#, c-format -msgid "%s: Invalid number of rows: %s\n" -msgstr "" - -#: vttools/resizecons.c:174 vttools/resizecons.c:198 -#, c-format -msgid "%s: Invalid arguments" -msgstr "" - -#: vttools/resizecons.c:186 -#, c-format -msgid "%s: Unrecognized argument" -msgstr "" - -#: vttools/resizecons.c:210 -#, c-format -msgid "%s: bad number of arguments\n" -msgstr "" - -#: vttools/resizecons.c:239 -#, c-format -msgid "%s: cannot find videomode file %s\n" -msgstr "" - -#: vttools/resizecons.c:260 -msgid "Invalid number of lines\n" -msgstr "" - -#: vttools/resizecons.c:338 -#, c-format -msgid "Old mode: %dx%d New mode: %dx%d\n" -msgstr "" - -#: vttools/resizecons.c:340 -#, c-format -msgid "Old #scanlines: %d New #scanlines: %d Character height: %d\n" -msgstr "" - -#: vttools/resizecons.c:353 vttools/resizecons.c:403 -#, c-format -msgid "%s: the command `%s' failed\n" -msgstr "" - -#: vttools/resizecons.c:408 -#, c-format -msgid "%s: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n" -msgstr "" - -#: vttools/resizecons.c:412 -msgid "Also the variables LINES and COLUMNS may need adjusting.\n" -msgstr "" - -#: vttools/resizecons.c:449 -#, c-format -msgid "%s: cannot get I/O permissions.\n" -msgstr "" - -#: vttools/deallocvt.c:23 -#, c-format -msgid "" -"Usage: %s [N1 N2 ...]\n" -"Deallocate virtual terminal(s)\n" -msgstr "" - -#: vttools/chvt.c:21 vttools/deallocvt.c:26 -msgid "virtual terminal" -msgstr "" - -#: vttools/deallocvt.c:41 -#, c-format -msgid "%s: 0: illegal VT number\n" -msgstr "" - -#: vttools/deallocvt.c:50 -#, c-format -msgid "%s: VT 1 is the console and cannot be deallocated\n" -msgstr "" - -#: vttools/deallocvt.c:61 -#, c-format -msgid "%s: could not deallocate console %d\n" -msgstr "" - -#: vttools/deallocvt.c:125 -#, c-format -msgid "%s: deallocating all unused consoles failed\n" -msgstr "" - -#: vttools/fgconsole.c:14 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Print foreground console\n" -msgstr "" - -#: vttools/chvt.c:18 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Change virtual terminal\n" -msgstr "" - -#: vttools/vcstime.c:22 -#, c-format -msgid "" -"Usage: %s\n" -"Show time in upper right hand corner of the console screen\n" -msgstr "" - -#: vttools/writevt.c:19 -#, c-format -msgid "" -"Usage: %s tty text\n" -"Put text into the input buffer of a virtual terminal.\n" -msgstr "" - -#: vttools/writevt.c:22 -msgid "device name" -msgstr "" - -#: vttools/writevt.c:23 -msgid "text to insert" -msgstr "" - -#: vttools/writevt.c:68 -#, c-format -msgid "%s: No tty specified.\n" -msgstr "" - -#: vttools/writevt.c:77 -#, c-format -msgid "%s: No text specified.\n" -msgstr "" - -#: vttools/writevt.c:83 -#, c-format -msgid "%s: too many arguments\n" -msgstr "" - -#: vttools/writevt.c:91 -#, c-format -msgid "%s: could not open tty\n" -msgstr "" - -#: vttools/writevt.c:99 -#, c-format -msgid "%s: TIOCSTI ioctl failed\n" -msgstr "" Binary files /tmp/tmpayi9pl/v7Up8WiOl7/console-tools-0.2.3/po/cs.gmo and /tmp/tmpayi9pl/Fy8SctC1qL/console-tools-0.2.3/po/cs.gmo differ diff -Nru console-tools-0.2.3/po/cs.po console-tools-0.2.3/po/cs.po --- console-tools-0.2.3/po/cs.po 1999-10-25 20:58:18.000000000 +0000 +++ console-tools-0.2.3/po/cs.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,1700 +0,0 @@ -# The Czech translation of console-tools. -# Jiøí Pavlovský <pavlovsk@ff.cuni.cz>, 1999. -# -msgid "" -msgstr "" -"Project-Id-Version: console-tools-0.2.2\n" -"POT-Creation-Date: 1999-10-25 22:33+0200\n" -"PO-Revision-Date: 1999-09-01 03:30+0200\n" -"Last-Translator: Jiøí Pavlovský <pavlovsk@ff.cuni.cz>\n" -"Language-Team: Czech <cs@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-2\n" -"Content-Transfer-Encoding: 8bit\n" - -#: fontfiletools/psfaddtable.c:30 -#, c-format -msgid "" -"Usage: %s psffont_in sfm_file [psffont_out]\n" -"Add a Unicode character table to a PSF font\n" -msgstr "" -"Pou¾ití: %s psffont_do sfm_soubor [psffont_ven]\n" -"Pøidá k psf písmu unicodovou tabulku znakù.\n" - -#: fontfiletools/psfaddtable.c:33 -msgid "input psffont filename" -msgstr "jméno vstupního souboru s psf písmem" - -#: fontfiletools/psfaddtable.c:34 -msgid "screen-font-map filename" -msgstr "jméno SFM souboru" - -#: fontfiletools/psfaddtable.c:35 -msgid "output psffont filename" -msgstr "jméno výstupního souboru s psf písmem" - -#: fontfiletools/psfaddtable.c:86 fontfiletools/psfaddtable.c:96 -#: fontfiletools/psfgettable.c:76 fontfiletools/psfstriptable.c:78 -#, c-format -msgid "%s: wrong number of arguments\n" -msgstr "%s: chybný poèet pøepínaèù\n" - -#: fontfiletools/psfaddtable.c:113 -#, c-format -msgid "%s: psffont and chartable cannot both be stdin\n" -msgstr "%s: psf písmo tabulka znakù nemohou být zároveò standardním vstupem\n" - -#: fontfiletools/psfaddtable.c:200 -#, c-format -msgid "Loading unicode map from %s.\n" -msgstr "Naèítá se unicodová mapa z %s.\n" - -#: fontfiletools/psfgettable.c:26 -#, c-format -msgid "" -"Usage: %s psffont chartable [outfile]\n" -"Extract a Unicode character table from a PSF font\n" -msgstr "" -"Pou¾ití: %s psffont tabulka znakù [výstupní soubor]\n" -"Extrahuje z psf písma unicodovou tabulku znakù.\n" - -#: fontfiletools/psfgettable.c:29 fontfiletools/psfstriptable.c:31 -msgid "psffont filename" -msgstr "jméno souboru s psf písmem" - -#: fontfiletools/psfgettable.c:30 fontfiletools/psfstriptable.c:32 -msgid "output filename" -msgstr "výstupní soubor" - -#: fontfiletools/psfgettable.c:139 -#, c-format -msgid "%s: Font has no character table\n" -msgstr "%s: písmo neobsahuje tabulku znakù\n" - -#: fontfiletools/psfstriptable.c:28 -#, c-format -msgid "" -"Usage: %s [options] psffont [outfile]\n" -"Strip Unicode character table from a PSF font\n" -msgstr "" -"Pou¾ití: %s [pøepínaèe] psf písmo [výstupní soubor]\n" -"Odstraní unicodovou tabulku znakù z psf písma.\n" - -#: fontfiletools/psfstriptable.c:140 -#, c-format -msgid "%s: Font already had no character table\n" -msgstr "%s: Písmo ji¾ neobsahuje ¾ádnou tabulku znakù.\n" - -#: kbdtools/showkey.c:47 -msgid "?UNKNOWN?" -msgstr "?NEZNÁMÝ?" - -#: kbdtools/showkey.c:49 -#, c-format -msgid "kb mode was %s\n" -msgstr "re¾im klávesnice byl %s\n" - -#: kbdtools/showkey.c:52 -msgid "[ if you are trying this under X, it might not work\n" -msgstr "[ Pokud to zkou¹íte pod X window systémem, nemusí to fungovat,\n" - -#: kbdtools/showkey.c:53 -msgid "since the X server is also reading /dev/console ]\n" -msgstr "proto¾e X server také ète /dev/console. ]\n" - -#: kbdtools/showkey.c:72 -#, c-format -msgid "caught signal %d, cleaning up...\n" -msgstr "zachycen signál %d, probíhá úklid...\n" - -#: kbdtools/showkey.c:85 -#, c-format -msgid "usage: %s [options...] <command>\n" -msgstr "Pou¾ití: %s [pøepínaèe...] <pøíkaz>\n" - -#: kbdtools/showkey.c:87 -msgid "display only the raw scan-codes." -msgstr "zobrazí pouze scan-kódy v pøímém re¾imu" - -#: kbdtools/showkey.c:88 -msgid "display only the interpreted keycodes (default)." -msgstr "zobrazí pouze interpretované klávesnicové kódy (implicitní)" - -#: kbdtools/showkey.c:89 -msgid "display only keymap-translated chars." -msgstr "zobrazí pouze znaky pøelo¾ené mapou klávesnice" - -#: kbdtools/showkey.c:90 -msgid "display unicode-translated chars." -msgstr "zobrazí pouze znaky pøelo¾ené pøes unicode" - -#: kbdtools/showkey.c:94 -msgid "set the timeout to N seconds." -msgstr "nastaví èasový limit ve vteøinách na N" - -#: kbdtools/showkey.c:158 -msgid "timeout value must be numeric" -msgstr "èasová hodnota musí být zadána numericky" - -#: kbdtools/dumpkeys.c:632 kbdtools/showkey.c:174 -msgid "no non-option arguments allowed" -msgstr "jako argumenty programu jsou povoleny pouze pøepínaèe" - -#: kbdtools/showkey.c:177 -msgid "WARNING: Unicode mode is experimental -- output may be wrong\n" -msgstr "VAROVÁNÍ: unicode re¾im je pokusný -- výstup mù¾e být chybný\n" - -#: kbdtools/showkey.c:235 -#, c-format -msgid "press any key (program terminates after %us of last keypress)...\n" -msgstr "" -"stisknìte libovolnou klávesu (program skonèí %us po stisku klávesy)...\n" - -#: kbdtools/showkey.c:254 -#, c-format -msgid "keycode %3d %s\n" -msgstr "kód klávesy %3d %s\n" - -#: kbdtools/showkey.c:256 -msgid "release" -msgstr "uvolnìní" - -#: kbdtools/showkey.c:256 -msgid "press" -msgstr "stisk" - -#: kbdtools/setmetamode.c:22 -#, c-format -msgid "" -"\n" -"Usage:\n" -"\t%1$s [ metabit | meta | bit | escprefix | esc | prefix ]\n" -"Each vt has his own copy of this bit. Use\n" -"\t%1$s [arg] < /dev/ttyn\n" -"to change the settings of another vt.\n" -"The setting before and after the change are reported.\n" -msgstr "" -"\n" -"Pou¾ití:\n" -"\t%1$s [ metabit | meta | bit | escprefix | esc | prefix ]\n" -"Ka¾dý vt má vlastní kopii tohoto bitu. Pou¾ijte\n" -"\t%1$s [arg] < /dev/ttyn\n" -"pro zmìnu nastavení jiného vt.\n" -"Pøed a po zmìnì bude nastavení vypsáno.\n" - -#: kbdtools/setmetamode.c:38 -msgid "Meta key sets high order bit\n" -msgstr "Meta klávesa nastaví horní bit\n" - -#: kbdtools/setmetamode.c:41 -msgid "Meta key gives Esc prefix\n" -msgstr "Meta klávesa generuje Esc prefix\n" - -#: kbdtools/setmetamode.c:44 -msgid "Strange mode for Meta key?\n" -msgstr "Zvlá¹tní re¾im pro Meta klávesu?\n" - -#: kbdtools/setmetamode.c:76 -msgid "Error reading current setting. Maybe stdin is not a VT?\n" -msgstr "Chyba pøi ètení aktuálního nastavení. Je standardní vstup VT?\n" - -#: kbdtools/setmetamode.c:95 -msgid "unrecognized argument" -msgstr "neznámý pøepínaè" - -#: kbdtools/setmetamode.c:98 -msgid "old state: " -msgstr "staré nastavení: " - -#: kbdtools/setmetamode.c:105 -msgid "new state: " -msgstr "nové nastavení: " - -#: kbdtools/kbd_mode.c:23 -#, c-format -msgid "" -"Usage: %s [option]\n" -"Report and set keyboard mode\n" -msgstr "" -"Pou¾ití: %s [pøepínaè]\n" -"Vypí¹e a nastaví re¾im klávesnice\n" - -#: kbdtools/kbd_mode.c:26 -msgid "print this help information and exit" -msgstr "vypí¹e tuto nápovìdu a skonèí" - -#: kbdtools/kbd_mode.c:27 -msgid "report version and exit" -msgstr "vypí¹e informace o verzi a skonèí" - -#: kbdtools/kbd_mode.c:28 -msgid "ASCII or 8bit mode (XLATE)" -msgstr "ASCII èi 8bitový re¾im (XLATE)" - -#: kbdtools/kbd_mode.c:29 -msgid "keycode mode (MEDIUMRAW)" -msgstr "re¾im klávesových kódù (MEDIUMRAW)" - -#: kbdtools/kbd_mode.c:30 -msgid "UTF-8 mode (UNICODE)" -msgstr "re¾im UTF-8 (UNICODE)" - -#: kbdtools/kbd_mode.c:31 -msgid "scancode mode (RAW)" -msgstr "re¾im scan-kódù (RAW)" - -#: kbdtools/kbd_mode.c:32 -msgid "set mode" -msgstr "nastaví re¾im" - -#: kbdtools/kbd_mode.c:85 -#, c-format -msgid "%s: unknown mode: %s\n" -msgstr "%s: neznámý re¾im %s\n" - -#: kbdtools/kbd_mode.c:111 -msgid ": error reading keyboard mode\n" -msgstr ": chyba pøi zji¹»ování re¾imu klávesnice\n" - -#: kbdtools/kbd_mode.c:117 -msgid "The keyboard is in raw (scancode) mode\n" -msgstr "Klávesnice je v pøímém (scan-kódy) re¾imu.\n" - -#: kbdtools/kbd_mode.c:120 -msgid "The keyboard is in mediumraw (keycode) mode\n" -msgstr "Klávesnice je v polopøímém (klávesnicové kódy) re¾imu.\n" - -#: kbdtools/kbd_mode.c:123 -msgid "The keyboard is in the default (ASCII) mode\n" -msgstr "Klávesnice je v implicitním (ASCII) re¾imu.\n" - -#: kbdtools/kbd_mode.c:126 -msgid "The keyboard is in Unicode (UTF-8) mode\n" -msgstr "Klávesnice je v unicodovém (UTF-8) re¾imu.\n" - -#: kbdtools/kbd_mode.c:129 -msgid "The keyboard is in some unknown mode\n" -msgstr "Klávesnice je v neznámém re¾imu.\n" - -#: kbdtools/kbd_mode.c:137 -msgid ": error setting keyboard mode\n" -msgstr ": chyba pøi nastavování re¾imu klávesnice\n" - -#: loadkeys.y:287 -msgid "too many keydefinitions on one line" -msgstr "pøíli¹ mnoho definic kláves na jednom øádku" - -#: loadkeys.y:306 -#, c-format -msgid "Usage: %s [option...] [mapfile...]\n" -msgstr "Pou¾ití: %s [pøepínaè...] [soubor s mapou]\n" - -#: loadkeys.y:308 -msgid "clear kernel compose table" -msgstr "sma¾e tabulku jádra pro slo¾ené znaky" - -#: loadkeys.y:309 -msgid "load default keymap file" -msgstr "naète implicitní mapu klávesnice" - -#. FIXME: should print DEFKMAP -#: loadkeys.y:310 -msgid "output a \"defkeymap.c\" to stdout" -msgstr "vypí¹e \"defkeymap.c\" na standardní výstup" - -#: loadkeys.y:311 -msgid "clear kernel string table" -msgstr "sma¾e tabulku jádra pro øetìzce" - -#: loadkeys.y:312 -msgid "be silent" -msgstr "nebude vypisovat informace o èinnosti" - -#: loadkeys.y:313 -msgid "report the changes" -msgstr "bude vypisovat informace o èinnosti" - -#: loadkeys.y:314 -msgid "report more changes" -msgstr "bude vypisovat podrobné informace o èinnosti" - -#: loadkeys.y:392 -msgid "syntax error in map file\n" -msgstr "syntaktická chyba v souboru s mapou\n" - -#: loadkeys.y:394 -msgid "key bindings not changed\n" -msgstr "definice kláves nebyly zmìnìny\n" - -#: loadkeys.y:482 -#, c-format -msgid "Cannot find %s\n" -msgstr "%s nelze nalézt\n" - -#: loadkeys.y:499 -#, c-format -msgid "cannot open file %s\n" -msgstr "soubor %s nelze otevøít\n" - -#: loadkeys.y:524 -#, c-format -msgid "addmap called with bad index %d" -msgstr "chybný index %d pro funkci addmap" - -# ??? -#: loadkeys.y:529 -#, c-format -msgid "adding map %d violates explicit keymaps line)" -msgstr "pøidání mapy %d poru¹uje explicitní øádku v klávesové mapì)" - -#: loadkeys.y:543 -#, c-format -msgid "killkey called with bad index %d" -msgstr "chybný index %d pro funkci killkey" - -#: loadkeys.y:545 -#, c-format -msgid "killkey called with bad table %d" -msgstr "chybná mapa %d pro funkci killkey" - -#: loadkeys.y:559 -#, c-format -msgid "addkey called with bad index %d" -msgstr "chybný index %d pro funkci addkey" - -#: loadkeys.y:561 -#, c-format -msgid "addkey called with bad table %d" -msgstr "chybná mapa %d pro funkci addkey" - -#: loadkeys.y:605 -#, c-format -msgid "%s: addfunc called with bad func %d\n" -msgstr "%s: chybná funkce %d pro funkci addfunc\n" - -#: loadkeys.y:628 -#, c-format -msgid "%s: addfunc: func_buf overflow\n" -msgstr "%s: addfunc: pøeteèení func_buf\n" - -#: loadkeys.y:657 -msgid "compose table overflow\n" -msgstr "pøeteèení tabulky slo¾ených znakù\n" - -#: loadkeys.y:666 -#, c-format -msgid "Warning: Compose char %4x ('%c','%c') > 0xFF will be truncated to %2x\n" -msgstr "Varování: Slo¾ený znak %4x ('%c','%c') > 0xFF bude zkrácen na %2x\n" - -#: loadkeys.y:669 -msgid " (Linux kernel < 2.3.X can't handle unicode compose chars properly)\n" -msgstr "" -" (Jádro Linuxu < 2.3.X neumí korektnì pracovat s unicodovými tabulkami " -"slo¾ených znakù)\n" - -#: loadkeys.y:709 -#, c-format -msgid "Keymap %d: Permission denied\n" -msgstr "Mapa klávesnice %d: pøístup odmítnut\n" - -#: loadkeys.y:718 -#, c-format -msgid "keycode %d, table %d = %d%s\n" -msgstr "kód klávesy %d, tabulka %d = %d%s\n" - -#: loadkeys.y:719 -msgid " FAILED" -msgstr " NEÚSPÌCH" - -#: loadkeys.y:721 -#, c-format -msgid "failed to bind key %d to value %d\n" -msgstr "nepodaøilo se svázat klávesu %d s hodnotou %d\n" - -#: loadkeys.y:734 -#, c-format -msgid "deallocate keymap %d\n" -msgstr "dealokuji mapu klávesnice %d\n" - -#: loadkeys.y:742 -#, c-format -msgid "%s: could not deallocate keymap %d\n" -msgstr "%s: mapu klávesnice %d nelze dealokovat\n" - -#: loadkeys.y:759 -#, c-format -msgid "%s: cannot deallocate or clear keymap\n" -msgstr "%s: mapu klávesnice nelze dealokovat, nebo smazat\n" - -#: loadkeys.y:772 -#, c-format -msgid "%s: failed to restore keyboard mode\n" -msgstr "%s: re¾im klávesnice nelze obnovit\n" - -#: loadkeys.y:775 -#, c-format -msgid "" -"%s: warning: this map uses Unicode symbols\n" -" (perhaps you want to do `kbd_mode -u'?)\n" -msgstr "" -"%s: varování: Tato mapa pou¾ívá unicodové symboly.\n" -" (Mo¾ná by jste mìl provést `kbd_mode -u'.)\n" - -#: loadkeys.y:823 -#, c-format -msgid "failed to bind string '%s' to function %s\n" -msgstr "nepodaøilo se svázat øetìzec '%s' s funkcí %s\n" - -#: loadkeys.y:832 -#, c-format -msgid "failed to clear string %s\n" -msgstr "øetìzec %s nelze smazat\n" - -#: loadkeys.y:850 -msgid "too many compose definitions\n" -msgstr "pøíli¹ mnoho definic slo¾ených znakù\n" - -#: loadkeys.y:857 -msgid "KDSKBDIACR failed\n" -msgstr "volání KDSKBDIACR selhalo\n" - -#: loadkeys.y:918 -msgid "impossible error in do_constant" -msgstr "nemo¾ná chyba v do_constant" - -#: loadkeys.y:939 -#, c-format -msgid "" -"\n" -"Changed %d key%s and %d string%s.\n" -msgstr "" -"\n" -"Zmìnìno: kláves: %d%s, øetìzcù: %d%s\n" - -#: loadkeys.y:943 -#, c-format -msgid "Loaded %d compose definition%s.\n" -msgstr "Naèteno definic slo¾ených znakù: %d%s\n" - -#: loadkeys.y:946 -msgid "(No change in compose definitions.)\n" -msgstr "(®ádné definice slo¾ených znakù nebyly zmìnìny.)\n" - -#: loadkeys.y:983 -#, c-format -msgid "loadkeys: don't know how to compose for %s\n" -msgstr "loadkeys: není známo jak skládat pro %s\n" - -#: kbdtools/getkeycodes.c:21 -#, c-format -msgid "" -"Usage: %s\n" -"Print kernel scancode-to-keycode mapping table\n" -msgstr "" -"Pou¾ití: %s\n" -"Vypí¹e tabulku jádro pro pøevod scan-kódù na kódy kláves.\n" - -#: kbdtools/getkeycodes.c:40 -msgid "Plain scancodes xx (hex) versus keycodes (dec)\n" -msgstr "Pøímé scan-kódy xx (¹estnáctkovì) vs. kódy kláves (desítkovì)\n" - -#: kbdtools/getkeycodes.c:41 -msgid "0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n" -msgstr "0 je chyba; pro 1-88 (0x01-0x58) jsou scan-kódy rovny kódùm kláves\n" - -#: kbdtools/getkeycodes.c:46 -msgid "" -"\n" -"\n" -"Escaped scancodes e0 xx (hex)\n" -msgstr "" -"\n" -"\n" -"'Escapované' scan-kódy e0 xx (¹estnáctkovì)\n" - -#: kbdtools/getkeycodes.c:70 -#, c-format -msgid "failed to get keycode for scancode 0x%x\n" -msgstr "kód klávesy pro scan-kód 0x%x nelze zjistit\n" - -#: kbdtools/dumpkeys.c:63 -#, c-format -msgid "KDGKBENT at index 0 in table %d: " -msgstr "KDGKBENT na pozici 0 v tabulce %d: " - -#: kbdtools/dumpkeys.c:77 -#, c-format -msgid "%s: cannot find any keymaps?\n" -msgstr "%s: ¾ádné mapy klávesnice nelze nalézt?\n" - -#: kbdtools/dumpkeys.c:82 -#, c-format -msgid "%s: plain map not allocated? very strange ...\n" -msgstr "%s: pøímá mapa není alokována? velmi zvlá¹tní ...\n" - -#: kbdtools/dumpkeys.c:111 -#, c-format -msgid "KDGKBENT at index %d in table %d: " -msgstr "KDGKBENT na pozici %d v tabulce %d: " - -#: kbdtools/dumpkeys.c:200 -msgid "KDGKBDIACR failed\n" -msgstr "volání KDGKBDIACR selhalo\n" - -#: kbdtools/dumpkeys.c:236 -#, c-format -msgid "keycode range supported by kernel: 1 - %d\n" -msgstr "rozsah kódù kláves podporovaný jádrem: 1 - %d\n" - -#: kbdtools/dumpkeys.c:238 -#, c-format -msgid "max number of actions bindable to a key: %d\n" -msgstr "maximální poèet akcí pøipojitelných na klávesu: %d\n" - -#: kbdtools/dumpkeys.c:241 -#, c-format -msgid "number of keymaps in actual use: %d\n" -msgstr "poèet aktuálnì pou¾ívaných map klávesnice: %d\n" - -#: kbdtools/dumpkeys.c:244 -#, c-format -msgid "of which %d dynamically allocated\n" -msgstr "z toho %d je alokováno dynamicky\n" - -#: kbdtools/dumpkeys.c:245 -msgid "ranges of action codes supported by kernel:\n" -msgstr "rozsah kódù akcí podporovaný jádrem:\n" - -#: kbdtools/dumpkeys.c:250 -#, c-format -msgid "number of function keys supported by kernel: %d\n" -msgstr "poèet funkèních kláves podporovaný jádrem: %d\n" - -#: kbdtools/dumpkeys.c:253 -#, c-format -msgid "max nr of compose definitions: %d\n" -msgstr "maximální poèet definic slo¾ených znakù: %d\n" - -#: kbdtools/dumpkeys.c:256 -#, c-format -msgid "nr of compose definitions in actual use: %d\n" -msgstr "poèet aktuálnì pou¾ívaných definic slo¾ených znakù: %d\n" - -#: kbdtools/dumpkeys.c:280 -#, c-format -msgid "" -"Symbols recognized by %s:\n" -"(numeric value, symbol)\n" -"\n" -msgstr "" -"Symboly rozpoznávané dle %s:\n" -"(numerická hodnota, symbol)\n" - -#: kbdtools/dumpkeys.c:292 -msgid "" -"\n" -"The following synonyms are recognized:\n" -"\n" -msgstr "" -"\n" -"Jsou rozpoznávána následující synonyma:\n" -"\n" - -#: kbdtools/dumpkeys.c:296 -msgid "" -"\n" -"Recognized modifier names and their column numbers:\n" -msgstr "" -"\n" -"Jména rozpoznávaných modifikátorù a jejich èísla sloupcù:\n" - -#: kbdtools/dumpkeys.c:432 -msgid "impossible: not meta?\n" -msgstr "nemo¾né: nikoliv meta?\n" - -#: kbdtools/dumpkeys.c:487 -#, c-format -msgid "KDGKBSENT at index %d: " -msgstr "KDGKBSENT na pozici %d: " - -#: kbdtools/dumpkeys.c:510 -#, c-format -msgid "Usage: %s [options...]\n" -msgstr "Pou¾ití: %s [pøepínaèe...]\n" - -#: kbdtools/dumpkeys.c:512 -msgid "display information about keyboard driver" -msgstr "vypí¹e informace o ovladaèi klávesnice" - -#: kbdtools/dumpkeys.c:513 -msgid "display above and symbols known to loadkeys" -msgstr "vypí¹e vý¹e uvedené a symboly známé loadkeys" - -#: kbdtools/dumpkeys.c:514 -msgid "display keytable in hexadecimal notation" -msgstr "zobrazí tabulku kláves v ¹estnáctkovém formátu" - -#: kbdtools/dumpkeys.c:515 -msgid "don't use short-hand notations, one row per keycode" -msgstr "nepou¾ije zkrácené notace, jeden kód klávesy na øádek" - -#: kbdtools/dumpkeys.c:516 -msgid "one line per (modifier,keycode) pair" -msgstr "jeden pár modifikátor,kód na øádek" - -#: kbdtools/dumpkeys.c:517 -msgid "display only the function key strings" -msgstr "vypí¹e pouze øetìzce pøíslu¹ející funkèním klávesám" - -#: kbdtools/dumpkeys.c:518 -msgid "display only key bindings" -msgstr "vypí¹e pouze informace o mapování kláves" - -#: kbdtools/dumpkeys.c:519 -msgid "choose output shape, where <shape> is:" -msgstr "výstupní formát, pøièem¾ <formát> je:" - -#: kbdtools/dumpkeys.c:520 -msgid " 0 = default" -msgstr " 0 = implicitní" - -#: kbdtools/dumpkeys.c:521 -msgid " 1 = same as --full-table" -msgstr " 1 = stejné jako --full-table" - -#: kbdtools/dumpkeys.c:522 -msgid " 2 = same as --separate-lines" -msgstr " 2 = stejné jako --stejné-lines" - -#: kbdtools/dumpkeys.c:523 -msgid " 3 = one line per keycode, until 1st hole" -msgstr " 3 = jeden kéd klávesy na øádek a¾ do první mezery" - -#: kbdtools/dumpkeys.c:525 -msgid "display only compose key combinations" -msgstr "vypí¹e pouze kombinace slo¾ených kláves" - -#: kbdtools/dumpkeys.c:528 -msgid "interpret character action codes to be from the" -msgstr "interpretuje kódy akcí dle" - -#: kbdtools/dumpkeys.c:529 -msgid "specified character set" -msgstr "zadané znakové sady" - -#: kbdtools/dumpkeys.c:531 -msgid "display this help text and exit" -msgstr "vypí¹e tuto nápovìdu a skonèí" - -#: kbdtools/dumpkeys.c:532 -msgid "display version information and exit" -msgstr "vypí¹e informace o verzi a skonèí" - -#: kbdtools/dumpkeys.c:534 -msgid "" -"\n" -"available charsets:\n" -msgstr "" -"\n" -"dostupné znakové sady:\n" - -#: kbdtools/setleds.c:29 -#, c-format -msgid "" -"Usage:\t%1$s [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll ]]\n" -"Thus,\n" -"\t%1$s +caps -num\n" -"will set CapsLock, clear NumLock and leave ScrollLock unchanged.\n" -"The settings before and after the change (if any) are reported\n" -"when the -v option is given or when no change is requested.\n" -"Normally, %1$s influences the vt flag settings\n" -"(and these are usually reflected in the leds).\n" -"With -L, %1$s only sets the leds, and leaves the flags alone.\n" -"With -D, %1$s sets both the flags and the default flags, so\n" -"that a subsequent reset will not change the flags.\n" -msgstr "" -"Pou¾ití:\t%1$s [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll ]]\n" -"Tak¾e,\n" -"\t%1$s +caps -num\n" -"zapne CapsLock, vypne NumLock a ponechá ScrollLock nezmìnìn.\n" -"Nastavení bude pøed a po zmìnì vypsáno, pokud byl zadán pøepínaè -v,\n" -"nebo pokud zmìna nebyla po¾adována.\n" -"Obyèejnì %1$s ovlivní nastavení pøíznaku vt (a to se obvykle promítne do\n" -"stavu diod).\n" -"S pøepínaèem -L, %1$s pouze nastaví diody a pøíznaky nezmìní.\n" -"S pøepínaèem -D, %1$s nastaví jak pøíznaky vt, tak i implicitní pøíznaky,\n" -"tak¾e dal¹í reset pøíznaky nezmìní.\n" - -#: kbdtools/setleds.c:103 -#, c-format -msgid "%s: unknown argument: %s\n" -msgstr "%s: neznámý pøepínaè %s\n" - -#: kbdtools/setleds.c:117 -#, c-format -msgid "NumLock %s CapsLock %s ScrollLock %s\n" -msgstr "NumLock %s CapsLock %s ScrollLock %s\n" - -#: kbdtools/setleds.c:143 -msgid "Error reading current led setting. Maybe stdin is not a VT?\n" -msgstr "Aktuální stav diod nelze zjistit. Je standardní vstup VT?\n" - -#: kbdtools/setleds.c:150 -msgid "Error reading current flags setting. Maybe an old kernel?\n" -msgstr "Aktuální stav pøíznakù nelze zjistit. Nemáte zastaralé jádro?\n" - -#: kbdtools/setleds.c:163 -msgid "Error resetting ledmode\n" -msgstr "Chyba pøi ru¹ení ledmode\n" - -#: kbdtools/setleds.c:172 -msgid "Current default flags: " -msgstr "Aktuální implicitní pøíznaky: " - -#: kbdtools/setleds.c:176 -msgid "Current flags: " -msgstr "Aktuální pøíznaky: " - -#: kbdtools/setleds.c:180 -msgid "Current leds: " -msgstr "Aktuální stav diod: " - -#: kbdtools/setleds.c:192 -msgid "Old default flags: " -msgstr "Staré implicitní pøíznaky: " - -#: kbdtools/setleds.c:194 -msgid "New default flags: " -msgstr "Nové implicitní pøíznaky: " - -#: kbdtools/setleds.c:201 -msgid "Old flags: " -msgstr "Staré pøíznaky: " - -#: kbdtools/setleds.c:203 -msgid "New flags: " -msgstr "Nové pøíznaky: " - -#: kbdtools/setleds.c:216 -msgid "Old leds: " -msgstr "Starý stav diod: " - -#: kbdtools/setleds.c:218 -msgid "New leds: " -msgstr "Nový stav diod: " - -#: lib/sfm-utils.c:35 -msgid "loadunimap: out of memory\n" -msgstr "loadunimap: nedostatek pamìti\n" - -#: lib/wrappers.c:15 -msgid "Out of Memory\n" -msgstr "Nedostatek pamìti\n" - -#: lib/wrappers.c:26 -msgid "Out of Memory?\n" -msgstr "Nedostatek pamìti?\n" - -#: lib/sfm-rd-ascii.c:31 -msgid "Warning: line too long in unicode map.\n" -msgstr "Varování: pøíli¹ dlouhý øádek v unicodové mapì\n" - -#: lib/sfm-rd-ascii.c:54 lib/sfm-rd-ascii.c:68 -#, c-format -msgid "Bad input line: %s\n" -msgstr "Chybný vstupní øádek %s\n" - -#: lib/sfm-rd-ascii.c:80 -#, c-format -msgid "unicode map: glyph number (0x%x) larger than font length\n" -msgstr "unicodová mapa: èíslo glyfu (0x%x) je vìt¹í ne¾ délka fontu\n" - -#: lib/sfm-rd-ascii.c:88 -#, c-format -msgid "unicode map: bad end of range (0x%x)\n" -msgstr "unicodová mapa: chybný konec rozsahu (0x%x)\n" - -#: lib/sfm-rd-ascii.c:113 -msgid "" -"unicode map: Corresponding to a range of font positions, there should be a " -"Unicode range\n" -msgstr "" -"unicodová mapa: Pro ka¾dý rozsah pozic ve fontu by mìl existovat " -"odpovídající\n" -"unicodový rozsah.\n" - -#: lib/sfm-rd-ascii.c:123 -#, c-format -msgid "" -"unicode map: Bad Unicode range corresponding to font position range " -"0x%x-0x%x\n" -msgstr "" -"unicodová mapa: chybný unicodový rozsah pro rozsah pozic 0x%x - 0x%x ve " -"fontu\n" - -#: lib/sfm-rd-ascii.c:131 -#, c-format -msgid "" -"unicode map: Unicode range U+%x-U+%x not of the same length as font position " -"range 0x%x-0x%x\n" -msgstr "" -"unicodová mapa: unicodový rozsah U+%x-U+%x nemá stejnou délku jako rozsah\n" -"pozic 0x%x-0x%x ve fontu\n" - -#: lib/sfm-rd-ascii.c:151 -#, c-format -msgid "unicode map: trailing junk (%s) ignored\n" -msgstr "unicodová mapa: nesmysly na konci (%s) ignoruji\n" - -#: lib/saveunimap.c:24 -#, c-format -msgid "Would save %d SFM entries in `%s'.\n" -msgstr "Ulo¾ím SFM polo¾ky (%d) do `%s'.\n" - -#: lib/misc-console-utils.c:89 -msgid "Couldnt get a file descriptor referring to the console\n" -msgstr "Popis souboru odkazující na konzoli nelze zjistit.\n" - -#: lib/psf-header.c:26 -#, c-format -msgid "Unknown PSF mode number (%d).\n" -msgstr "Neznámé èíslo PSF módu (%d).\n" - -#: lib/ksyms.c:971 -#, c-format -msgid "Error: unknown charset `%s'.\n" -msgstr "Chyba: neznámá sada znakù `%s'.\n" - -#: lib/ksyms.c:1010 -#, c-format -msgid "assuming iso-8859-2 %s\n" -msgstr "pou¾ito iso-8859-2 %s\n" - -#: lib/ksyms.c:1017 -#, c-format -msgid "assuming iso-8859-3 %s\n" -msgstr "pou¾ito iso-8859-3 %s\n" - -#: lib/ksyms.c:1024 -#, c-format -msgid "assuming iso-8859-4 %s\n" -msgstr "pou¾ito iso-8859-4 %s\n" - -#: lib/ksyms.c:1028 -#, c-format -msgid "unknown keysym `%s'\n" -msgstr "neznámý symbol klávesy `%s'\n" - -#: lib/findfile.c:64 -#, c-format -msgid "%s: %s child exited anormally with code %d.\n" -msgstr "%s: %s potomek skonèil s chybou (status %d)\n" - -#: lib/findfile.c:67 -#, c-format -msgid "%s: %s child was terminated by signal %d.\n" -msgstr "%s: %s potomek byl ukonèen signálem %d\n" - -#: lib/findfile.c:70 -#, c-format -msgid "%s: %s child was stopped by signal %d.\n" -msgstr "%s: %s potomek byl zastaven signálem %d\n" - -#: lib/findfile.c:85 -msgid "Feeder" -msgstr "Nahánìè" - -#: lib/findfile.c:90 -msgid "Decompressor" -msgstr "Dekomprimovací program" - -#: lib/findfile.c:95 -msgid "Identifier" -msgstr "Identifikátor" - -#: lib/findfile.c:122 -msgid "chld_handler()" -msgstr "chld_handler()" - -#: lib/findfile.c:128 -#, c-format -msgid "%s child exited OK.\n" -msgstr "%s potomek úspì¹nì ukonèen\n" - -#: lib/findfile.c:172 -msgid "fread magic" -msgstr "fread magické èíslo" - -#: lib/findfile.c:232 -msgid "decompressor fork" -msgstr "dekomprimovací program fork" - -#: lib/findfile.c:238 -msgid "decompressor: close file[1]" -msgstr "dekomprimovací program: close file[1]" - -#: lib/findfile.c:243 -msgid "decompressor: close uncompressed[0]" -msgstr "dekomprimovací program: close uncompressed[0]" - -#: lib/findfile.c:252 -msgid "decompressor: dup2 file[0]" -msgstr "dekomprimovací program: dup2 file[0]" - -#: lib/findfile.c:259 -msgid "decompressor: dup2 uncompressed[1]" -msgstr "dekomprimovací program: dup2 uncompressed[1]" - -#: lib/findfile.c:268 -#, c-format -msgid "Decompressor program not found: %s\n" -msgstr "Dekomprimovací program %s nenalezen.\n" - -#: lib/findfile.c:271 -msgid "decompressor: execlp" -msgstr "dekomprimovací program: execlp" - -#: lib/findfile.c:287 -msgid "feeder fork" -msgstr "nahanìè fork" - -#: lib/findfile.c:294 -msgid "feeder: close uncompressed[0]" -msgstr "nahanìè: close uncompressed[0]" - -#: lib/findfile.c:302 -msgid "feeder: write zmagicbuf" -msgstr "nahanìè: write zmagicbuf" - -#: lib/findfile.c:308 -msgid "feeder: feed" -msgstr "nahanìè: feed" - -#: lib/findfile.c:340 -msgid "fread" -msgstr "fread" - -#: lib/findfile.c:377 -msgid "identifier fork" -msgstr "identifikátor fork" - -#: lib/findfile.c:382 -msgid "identifier: close identified[0]" -msgstr "identifikátor: close identified[0]" - -#: lib/findfile.c:389 -msgid "identifier: write magicIDbuf" -msgstr "identifikátor: write magicIDbuf" - -#: lib/findfile.c:395 -msgid "identifier: feed" -msgstr "identifikátor: feed" - -# :) -#: lib/findfile.c:439 -#, c-format -msgid "Zombie %d caught.\n" -msgstr "Zachycena mátoha %d.\n" - -#: lib/findfile.c:450 -msgid "One for nothing.\n" -msgstr "Jeden za nic.\n" - -#: lib/findfile.c:562 -msgid "Warning: ignoring a possible path (too long)." -msgstr "Varování: ignoruji mo¾nou cestu (pøíli¹ dlouhá)." - -#: lib/findfile.c:668 -msgid "feeder" -msgstr "nahanìè" - -#: lib/findfile.c:669 -msgid "decompressor" -msgstr "dekomprimovací program" - -#: lib/findfile.c:670 -msgid "identifier" -msgstr "identifikátor" - -#: lib/findfile.c:676 -msgid "findfile(): timeout waiting for undead child(ren) ?\n" -msgstr "findfile(): vypr¹el èasový limit pøi èekání na potomka(y)?\n" - -#: lib/findfile.c:711 -msgid "Buffer overflow - aborting\n" -msgstr "Pøeteèení bufferu - konèím\n" - -#: lib/acm.c:35 -msgid "Cannot stat map file" -msgstr "Volání stat pro soubor s mapou selhalo" - -#: lib/acm.c:47 -msgid "16bit screen-map MUST be a regular file.\n" -msgstr "16bitová obrazovková mapa musí být obyèejným souborem.\n" - -#: lib/acm.c:49 -msgid "fseek failed reading binary 16bit screen-map" -msgstr "volání fseek selhalo pøi ètení 16bitové obrazovková mapy" - -#: lib/acm.c:53 -msgid "Cannot read [new] map from file" -msgstr "Nelze èíst ze souboru [novou] mapu." - -#: lib/acm.c:56 -msgid "Input screen-map is binary.\n" -msgstr "Vstupní obraovková mapa je v binárním tvaru.\n" - -#: lib/acm.c:65 -msgid "PIO_UNISCRNMAP ioctl" -msgstr "PIO_UNISCRNMAP ioctl" - -#: lib/acm.c:75 -msgid "Assuming 8bit screen-map - MUST be a regular file.\n" -msgstr "Ppou¾ita 8bitová obrazovková mapa - MUSÍ být obyèejným souborem.\n" - -#: lib/acm.c:77 -msgid "fseek failed assuming 8bit screen-map" -msgstr "volání fseek selhalo pro 8bitovou obrazovkovou mapu" - -#. should not - it succedeed above -#: lib/acm.c:91 -msgid "fseek() returned ESPIPE !\n" -msgstr "volání fseek() vrátilo ESPIPE!\n" - -#: lib/acm.c:93 -msgid "fseek for binary 8bit screen-map" -msgstr "fseek pro 8bitovou obrazovkovou mapu v binárním tvaru" - -#: lib/acm.c:97 -msgid "Cannot read [old] map from file" -msgstr "Nelze èíst ze souboru [starou] mapu." - -#: lib/acm.c:105 -msgid "PIO_SCRNMAP ioctl" -msgstr "PIO_SCRNMAP ioctl" - -#: lib/acm.c:111 -msgid "Error parsing symbolic map\n" -msgstr "Chyba pøi zpracování mapy symbolù\n" - -#: lib/acm.c:158 -msgid "uni_screen_map_read_ascii() can't read line" -msgstr "uni_screen_map_read_ascii() nelze pøeèíst øádek" - -#: lib/acm.c:306 -msgid "GIO_UNISCRNMAP ioctl error" -msgstr "chyba GIO_UNISCRNMAP ioctl" - -#: lib/acm.c:310 -msgid "GIO_SCRNMAP ioctl error" -msgstr "chyba GIO_SCRNMAP ioctl" - -#: lib/acm.c:331 lib/acm.c:339 -msgid "Error writing map to file" -msgstr "Chyba pøi zápisu souboru s mapou" - -#: lib/miscutils.c:56 -#, c-format -msgid "%s: Unexpected arguments.\n" -msgstr "%s: neoèekávané pøepínaèe\n" - -#: screenfonttools/consolechars.c:48 -#, c-format -msgid "Usage: %s [options] [commands]\n" -msgstr "Pou¾ití: %s [pøepínaèe] [pøíkazy]\n" - -#: screenfonttools/consolechars.c:50 -msgid "List operations as they are done" -msgstr "Vypisuje informace o èinnosti" - -#: screenfonttools/consolechars.c:51 -msgid "Do not change the console state nor write to any file" -msgstr "Nezmìní stav konzole ani nebude zapisovat do ¾ádného souboru" - -#: screenfonttools/consolechars.c:52 -msgid "" -"(N in 0..32) Choose the right font from a codepage that\n" -"contains three fonts (only 8/14/16 allowed then), or choose\n" -"default font, ie. \"default8xN\"" -msgstr "" -"(N mezi 0..32) Zvolí písmo z kódové stránky, která obsahuje\n" -"tøi písma (pak je povoleno pouze 8/14/16), nebo zvolí\n" -"implicitní písmo, t.j. \"default8xN\"" - -#: screenfonttools/consolechars.c:55 -msgid "Suppress loading of a screen-font map [use with care]" -msgstr "Nenaète sfm [pou¾ívejte obezøetnì]" - -#: screenfonttools/consolechars.c:56 -msgid "When loading an ACM, activate G1 charset instead of G0" -msgstr "Pøi naèítání ACM aktivuje místo znakové sady G0 sadu G1" - -#: screenfonttools/consolechars.c:57 -msgid "Use `device' as console device for ioctls" -msgstr "Pou¾ije `device' jako konzoli pro ioctl" - -#: screenfonttools/consolechars.c:59 -msgid "Load the console-font from specified file" -msgstr "Naète konzolové písmo ze zadaného souboru" - -#: screenfonttools/consolechars.c:60 -msgid "Load a default font from a file" -msgstr "Naète implicitní písmo ze souboru" - -#: screenfonttools/consolechars.c:61 -msgid "Restore ROM font (does not work with all kernels)" -msgstr "Obnoví ROM písmo (nefunguje se v¹emi jádry)" - -#: screenfonttools/consolechars.c:63 -msgid "" -"Load the SFM from specified file\n" -"(instead of the one in font-file, if any)" -msgstr "" -"Naète SFM ze zadaného souboru\n" -"(místo ze souboru s fontem)" - -#: screenfonttools/consolechars.c:65 -msgid "Merge SFM fallbacks from file into SFM" -msgstr "Pøipojí SFM náhradníky ze souboru k SFM" - -#: screenfonttools/consolechars.c:66 -msgid "Load the ACM from specified file" -msgstr "Naète ACM ze zadaného souboru" - -#: screenfonttools/consolechars.c:67 -msgid "Write current font to prefered format (now: psf-with-sfm)" -msgstr "Ulo¾í aktuální písmo v preferovaném formátu (nyní: psf-with-sfm)" - -#: screenfonttools/consolechars.c:68 -msgid "Write current font to PSF file before loading a new one" -msgstr "Ulo¾í aktuální PSF písmo do souboru pøed naètením nového" - -#: screenfonttools/consolechars.c:70 -msgid "Same as -old-font-psf, and add current SFM in the PSF file" -msgstr "Stejné jako -old-file-psf a pøipojí aktuální SFM" - -#: screenfonttools/consolechars.c:71 -msgid "Write current font to RAW file before loading a new one" -msgstr "Ulo¾í aktuální RAW písmo do souboru pøed naètením nového" - -#: screenfonttools/consolechars.c:72 -msgid "Write current ACM to file before loading a new one" -msgstr "Ulo¾í aktuální ACM do souboru pøed naètením nového" - -#: screenfonttools/consolechars.c:73 -msgid "Write current SFM to file before loading a new one" -msgstr "Ulo¾í aktuální SFM do souboru pøed naètením nového" - -#: screenfonttools/consolechars.c:84 -msgid "too many `-' as filenames" -msgstr "bylo zadáno pøíli¹ mnoho `-' jako jmen souboru" - -#: screenfonttools/consolechars.c:196 -msgid "--char-height argument should be in 1..31" -msgstr "argument pro pøepínaè --char-height musí být v rozsahu 1..31" - -#: screenfonttools/consolechars.c:201 screenfonttools/consolechars.c:208 -#: screenfonttools/consolechars.c:214 -msgid "only one font file is allowed" -msgstr "je povoleno pouze jedno písmo" - -#: screenfonttools/consolechars.c:220 -msgid "only one ACM is allowed" -msgstr "je povoleno pouze jedno ACM" - -#: screenfonttools/consolechars.c:227 -msgid "only one SFM is allowed" -msgstr "je povoleno pouze jedno SFM" - -#: screenfonttools/consolechars.c:229 -msgid "multiple requests for SFM handling" -msgstr "vícero po¾adavkù na zpracování SFM" - -#: screenfonttools/consolechars.c:236 -msgid "WARNING: not using a unimap may lead to erroneous display !\n" -msgstr "VAROVÁNÍ: nepou¾ívání unicodové mapy mù¾e vést k chybnému zobrazení!\n" - -#: screenfonttools/consolechars.c:246 -msgid "realloc fallback_files" -msgstr "realloc fallback_files" - -#: screenfonttools/consolechars.c:255 -msgid "only one output RAW font-file is allowed" -msgstr "je mo¾né zadat pouze jeden výstupní soubor pro 'RAW' písmo" - -#: screenfonttools/consolechars.c:262 -msgid "only one output PSF font-file is allowed" -msgstr "je mo¾né zadat pouze jeden výstupní soubor pro PSF písmo" - -#: screenfonttools/consolechars.c:269 -msgid "only one output PSF+SFM font-file is allowed" -msgstr "je mo¾né zadat pouze jeden výstupní soubor pro PSF písmo + SFM" - -#: screenfonttools/consolechars.c:276 -msgid "only one output ACM file is allowed" -msgstr "je mo¾né zadat pouze jeden výstupní soubor pro ACM" - -#: screenfonttools/consolechars.c:283 -msgid "only one output SFM file is allowed" -msgstr "je mo¾né zadat pouze jeden výstupní soubor pro PSF" - -#: screenfonttools/consolechars.c:294 -msgid "unknown option" -msgstr "neznámý pøepínaè" - -#: screenfonttools/consolechars.c:299 -msgid "no non-option arguments are valid" -msgstr "jako argumenty programu jsou povoleny pouze pøepínaèe" - -#: screenfonttools/consolechars.c:302 -msgid "nothing to do" -msgstr "není co dìlat" - -#: screenfonttools/consolechars.c:316 -msgid "Saving raw old font" -msgstr "Ukládá se staré 'raw' písmo." - -#: screenfonttools/consolechars.c:320 -msgid "Saving PSF old font" -msgstr "Ukládá se staré PSF písmo." - -#: screenfonttools/consolechars.c:324 -msgid "Saving PSF+unimap old font" -msgstr "Ukládá se staré PSF písmo + unimap." - -#: screenfonttools/consolechars.c:329 -#, c-format -msgid "Would save ACM to file `%s'.\n" -msgstr "Byl by ulo¾en ACM do `%s'.\n" - -#: screenfonttools/consolechars.c:332 -#, c-format -msgid "Saving ACM to file `%s'.\n" -msgstr "Ukládá se ACM do `%s'.\n" - -#: screenfonttools/consolechars.c:354 -#, c-format -msgid "Would load ACM from `%s'\n" -msgstr "Byl by naèeten ACM ze `%s'.\n" - -#: screenfonttools/consolechars.c:357 -#, c-format -msgid "Loading ACM from `%s'\n" -msgstr "Naèítá se ACM ze `%s'.\n" - -#: screenfonttools/consolechars.c:360 -msgid "Error reading ACM file.\n" -msgstr "Chyba pøi ètení souboru s ACM.\n" - -#: screenfonttools/consolechars.c:386 -#, c-format -msgid "Would read screen-font map from %s.\n" -msgstr "Byl by èten SFM ze %s.\n" - -#: screenfonttools/consolechars.c:388 -#, c-format -msgid "Reading screen-font map from %s.\n" -msgstr "Ète se SFM z %s.\n" - -#: screenfonttools/consolechars.c:402 -msgid "Requesting SFM from kernel.\n" -msgstr "Jádru zaslán po¾adavek na SFM.\n" - -#: screenfonttools/consolechars.c:406 -msgid "No valid SFM currently loaded. Aborting.\n" -msgstr "Není naèteno ¾ádné platné SFM. Konèím.\n" - -#: screenfonttools/consolechars.c:440 -#, c-format -msgid "Reading SFM fallbacks from `%s'.\n" -msgstr "Ètou se SFM náhradníci z `%s'.\n" - -#: screenfonttools/consolechars.c:448 -#, c-format -msgid "Read %u fallback entries.\n" -msgstr "Naèteno náhradníkù: %u\n" - -#: screenfonttools/consolechars.c:473 -msgid "WARNING: No SFM found in file or kernel ? Ignoring fallback file.\n" -msgstr "" -"VAROVÁNÍ: SFM nebylo nalezeno ani v souboru, ani v jádru? Tabulka " -"náhradníkù\n" -"ignorována.\n" - -#: screenfonttools/consolechars.c:480 -msgid "Would set kernel SFM.\n" -msgstr "Bylo by nastaveno SFM pro jádro.\n" - -#: screenfonttools/consolechars.c:483 -msgid "Setting kernel SFM.\n" -msgstr "Nastavuje se SFM v jádru.\n" - -#: screenfonttools/consolechars.c:528 -msgid "Cannot find a default font file.\n" -msgstr "Implicitní soubor s písmem nelze nalézt.\n" - -#: screenfonttools/consolechars.c:537 -#, c-format -msgid "Cannot find default font file `default8x%02d'.\n" -msgstr "Implicitní soubor s písmem `default8x%02d' nelze nalézt.\n" - -#: screenfonttools/consolechars.c:547 -#, c-format -msgid "Cannot open font file `%s'.\n" -msgstr "Soubor s písmem `%s' nelze otevøít.\n" - -#: screenfonttools/consolechars.c:584 -msgid "Only fontsize 256 supported.\n" -msgstr "Podporována je pouze velikost písem 256.\n" - -#: screenfonttools/consolechars.c:595 -#, c-format -msgid "Would load %d-chars %dx%d font from file `%s'.\n" -msgstr "Bylo by naèteno %dznakové %dx%d písmo ze souboru `%s'.\n" - -#: screenfonttools/consolechars.c:602 -#, c-format -msgid "Loading %d-chars %dx%d font from file `%s'.\n" -msgstr "Naèítá se %dznakové %dx%d písmo ze souboru `%s'.\n" - -#: screenfonttools/consolechars.c:628 -#, c-format -msgid "Reading default SFM from `%s'.\n" -msgstr "Ète se implicitní SFM ze `%s'.\n" - -#: screenfonttools/consolechars.c:649 -msgid "Cannot write SFM into non-PSF font-file.\n" -msgstr "SFM nelzr do nePSF souboru s písmem ulo¾it.\n" - -#: screenfonttools/consolechars.c:660 -#, c-format -msgid "Can only save 8bit-wide fonts for now, and font is %d-bit wide.\n" -msgstr "Lze ukládat pouze 8bitová písma a toto písmo je %dbitové.\n" - -#: screenfonttools/consolechars.c:670 -#, c-format -msgid "Can only save 256-chars fonts in RAW files, and font has %d chars.\n" -msgstr "" -"Do 'RAW' souborù lze ulo¾it pouze 256ti znaková písma a toto písmo\n" -"má znakù %d.\n" - -#: screenfonttools/consolechars.c:677 -msgid "Found nothing to save.\n" -msgstr "Nebylo nalezeno jsem nic k ulo¾ení.\n" - -#: screenfonttools/consolechars.c:708 -#, c-format -msgid "Would have saved 8x%d %s font file on `%s'%s.\n" -msgstr "Byl by ulo¾en 8x%d %s soubor s písmem na `%s'%s.\n" - -#: screenfonttools/consolechars.c:709 -#, c-format -msgid "Saved 8x%d %s font file on `%s'%s.\n" -msgstr "Ulo¾en 8x%d %s soubor s písmem na `%s'%s.\n" - -#: screenfonttools/consolechars.c:713 -msgid ", with SFM" -msgstr ", se SFM" - -#: screenfonttools/consolechars.c:713 -msgid ", without SFM" -msgstr ", bez SFM" - -#: screenfonttools/showcfont.c:15 -#, c-format -msgid "" -"Usage: %s\n" -"Displays a screen-font's contents.\n" -msgstr "" -"Pou¾ití: %s\n" -"Vypí¹e obsah konzolového písma.\n" - -#: screenfonttools/clrunimap.c:19 -#, c-format -msgid "" -"Usage: %s\n" -"Clears the Unicode map from the console.\n" -"Note: nowadays this kills kernel console output!\n" -msgstr "" -"Pou¾ití: %s\n" -"Deaktivuje unicodovou mapu pro konzoli.\n" -"Poznámka: to nyní vypne i výstup jádra na konzoli!\n" - -#: vttools/screendump.c:31 -#, c-format -msgid "" -"Usage: %s [console]\n" -"Dump the contents of the screen to stdout\n" -msgstr "" -"Pou¾ití: %s [konzole]\n" -"Vypí¹e na standardní vstup obsah obrazovky.\n" - -#: vttools/screendump.c:34 -msgid "dump contents of screen s" -msgstr "ulo¾it obsah obrazovky" - -#: vttools/chvt.c:59 vttools/screendump.c:72 vttools/setvesablank.c:81 -#, c-format -msgid "%s: Wrong number of args\n" -msgstr "%s: Chybný poèet pøepínaèù\n" - -#: vttools/screendump.c:112 -msgid "Out of memory\n" -msgstr "Nedostatek pamìti\n" - -#: vttools/screendump.c:117 -#, c-format -msgid "Error reading %s\n" -msgstr "Chyba pøi ètení %s\n" - -#: vttools/screendump.c:141 -msgid "Could not use /dev/vcs*, trying TIOCLINUX\n" -msgstr "/dev/vcs* nelze pou¾ít, zkou¹ím TIOCLINUX.\n" - -#: vttools/screendump.c:158 -msgid "Out of memory.\n" -msgstr "Nedostatek pamìti\n" - -#: vttools/screendump.c:169 -#, c-format -msgid "couldn't read %s, and cannot ioctl dump\n" -msgstr "%s nelze pøeèíst a ioctl pro dump nelze volat\n" - -#: vttools/screendump.c:178 -#, c-format -msgid "Strange ... screen is both %dx%d and %dx%d ??\n" -msgstr "Zvlá¹tní ... obrazovka je zároveò %dx%d a %dx%d ??\n" - -#: vttools/screendump.c:186 -msgid "Out of memory?\n" -msgstr "Nedostatek pamìti?\n" - -#: vttools/screendump.c:203 -msgid "Error writing screen dump\n" -msgstr "Chyba pøi ukládání obsahu obrazovky\n" - -#: vttools/setvesablank.c:19 -#, c-format -msgid "" -"Usage: %s ON|on|off\n" -"\n" -"Set VESA blanking on console.\n" -msgstr "" -"Pou¾ití: %s ON|on|off\n" -"\n" -"Zapne na konzoli VESA stmívání.\n" - -#: vttools/setvesablank.c:22 -msgid "turn blanking on" -msgstr "zapne stmívání" - -#: vttools/setvesablank.c:37 -#, c-format -msgid "%s: argument '%s' should be 'ON', 'on' or 'off'\n" -msgstr "%s: argument '%s' by mìl být 'ON', 'on' èi 'off'\n" - -#: vttools/vt-is-UTF8.c:16 -#, c-format -msgid "Usage: %s [option]\n" -msgstr "Pou¾ití: %s [pøepínaè]\n" - -#: vttools/vt-is-UTF8.c:18 -msgid "don't print result" -msgstr "nevypí¹e výsledky" - -#: vttools/vt-is-UTF8.c:82 -msgid "Single-byte char mode.\n" -msgstr "re¾im 1bajtových znakù\n" - -#: vttools/resizecons.c:110 -#, c-format -msgid "" -"Usage: %s COLSxROWS\n" -" %s COLS ROWS\n" -" %s -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n" -msgstr "" -"Pou¾ití: %s SLOUPCExØÁDKY\n" -" %s SLOUPCE ØÁDKY\n" -" %s -lines ØÁDKY, kde ØÁDKY = jedno z 25, 28, 30, 34, 36, 40, 44, " -"50 èi 60\n" - -#: vttools/resizecons.c:145 -#, c-format -msgid "%s: Invalid number of columns: %s\n" -msgstr "%s: %s je chybný poèet sloupcù\n" - -#: vttools/resizecons.c:154 -#, c-format -msgid "%s: Invalid number of rows: %s\n" -msgstr "%s: %s je chybný poèet øádkù\n" - -#: vttools/resizecons.c:174 vttools/resizecons.c:198 -#, c-format -msgid "%s: Invalid arguments" -msgstr "%s: Chybné pøepínaèe" - -#: vttools/resizecons.c:186 -#, c-format -msgid "%s: Unrecognized argument" -msgstr "%s: Neznámý pøepínaè" - -#: vttools/resizecons.c:210 -#, c-format -msgid "%s: bad number of arguments\n" -msgstr "%s: chybný poèet pøepínaèù\n" - -#: vttools/resizecons.c:239 -#, c-format -msgid "%s: cannot find videomode file %s\n" -msgstr "%s: soubor s grafickými re¾imy (%s) nelze nalézt\n" - -#: vttools/resizecons.c:260 -msgid "Invalid number of lines\n" -msgstr "Chybný poèet øádkù\n" - -#: vttools/resizecons.c:338 -#, c-format -msgid "Old mode: %dx%d New mode: %dx%d\n" -msgstr "Starý re¾im: %dx%d Nový re¾im: %dx%d\n" - -#: vttools/resizecons.c:340 -#, c-format -msgid "Old #scanlines: %d New #scanlines: %d Character height: %d\n" -msgstr "Starý poèet øádkù: %d Nový poèet øádkù: %d Vý¹ka znakù: %d\n" - -#: vttools/resizecons.c:353 vttools/resizecons.c:403 -#, c-format -msgid "%s: the command `%s' failed\n" -msgstr "%s: pøíkaz `%s' selhal\n" - -#: vttools/resizecons.c:408 -#, c-format -msgid "%s: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n" -msgstr "" -"%s nezapomeòte zmìnit promìnnou TERM (snad na con%dx%d èi linux-%dx%d)\n" - -#: vttools/resizecons.c:412 -msgid "Also the variables LINES and COLUMNS may need adjusting.\n" -msgstr "Promìnné LINES a COLUMNS mù¾e také být tøeba upravit.\n" - -#: vttools/resizecons.c:449 -#, c-format -msgid "%s: cannot get I/O permissions.\n" -msgstr "%s: vstupnì/výstupní oprávnìní nelze získat\n" - -#: vttools/deallocvt.c:23 -#, c-format -msgid "" -"Usage: %s [N1 N2 ...]\n" -"Deallocate virtual terminal(s)\n" -msgstr "" -"Pou¾ití: %s [N1 N2 ...]\n" -"Dealokuje virtuální terminály\n" - -#: vttools/chvt.c:21 vttools/deallocvt.c:26 -msgid "virtual terminal" -msgstr "virtuální terminál" - -#: vttools/deallocvt.c:41 -#, c-format -msgid "%s: 0: illegal VT number\n" -msgstr "%s: 0 je chybné èíslo VT\n" - -#: vttools/deallocvt.c:50 -#, c-format -msgid "%s: VT 1 is the console and cannot be deallocated\n" -msgstr "%s: VT 1 je konzole a nemù¾e být dealokován\n" - -#: vttools/deallocvt.c:61 -#, c-format -msgid "%s: could not deallocate console %d\n" -msgstr "%s: konzoli %d nelze dealokovat\n" - -#: vttools/deallocvt.c:125 -#, c-format -msgid "%s: deallocating all unused consoles failed\n" -msgstr "%s: dealokace v¹ech nepou¾ívaných konzolí se nezdaøila\n" - -#: vttools/fgconsole.c:14 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Print foreground console\n" -msgstr "" -"Pou¾ití: %s [èíslo vt]\n" -"Vytiskne èíslo vt, který je na popøedí.\n" - -#: vttools/chvt.c:18 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Change virtual terminal\n" -msgstr "" -"Pou¾ití: %s [èíslo vt]\n" -"Zmìní virtuální terminál.\n" - -#: vttools/vcstime.c:22 -#, c-format -msgid "" -"Usage: %s\n" -"Show time in upper right hand corner of the console screen\n" -msgstr "" -"Pou¾ití: %s\n" -"V pravém horním rohu konzole bude ukazovat aktuální èas.\n" - -#: vttools/writevt.c:19 -#, c-format -msgid "" -"Usage: %s tty text\n" -"Put text into the input buffer of a virtual terminal.\n" -msgstr "" -"Pou¾ití: %s tty text\n" -"Vlo¾í text do vstupního bufferu virtuálního terminálu.\n" - -#: vttools/writevt.c:22 -msgid "device name" -msgstr "jméno zaøízení" - -#: vttools/writevt.c:23 -msgid "text to insert" -msgstr "text pro vlo¾ení" - -#: vttools/writevt.c:68 -#, c-format -msgid "%s: No tty specified.\n" -msgstr "%s: Nebylo zadáno ¾ádné tty.\n" - -#: vttools/writevt.c:77 -#, c-format -msgid "%s: No text specified.\n" -msgstr "%s: Nebyl zadán ¾ádný text.\n" - -#: vttools/writevt.c:83 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: pøíli¹ mnoho argumentù\n" - -#: vttools/writevt.c:91 -#, c-format -msgid "%s: could not open tty\n" -msgstr "%s: tty nelze otevøít\n" - -#: vttools/writevt.c:99 -#, c-format -msgid "%s: TIOCSTI ioctl failed\n" -msgstr "%s: volání TIOCSTI ioctl selhalo\n" - -#~ msgid "keymaps " -#~ msgstr "mapy klávesnice " - -#~ msgid "plain\t" -#~ msgstr "pøímý\t" - -#~ msgid "keycode %3d =" -#~ msgstr "kód klávesy %3d =" - -#~ msgid "display this help text" -#~ msgstr "vypí¹e tuto nápovìdu" - -#~ msgid "report version number" -#~ msgstr "vypí¹e informace o verzi" Binary files /tmp/tmpayi9pl/v7Up8WiOl7/console-tools-0.2.3/po/da.gmo and /tmp/tmpayi9pl/Fy8SctC1qL/console-tools-0.2.3/po/da.gmo differ diff -Nru console-tools-0.2.3/po/da.po console-tools-0.2.3/po/da.po --- console-tools-0.2.3/po/da.po 1999-10-25 20:58:18.000000000 +0000 +++ console-tools-0.2.3/po/da.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,1644 +0,0 @@ -# Console-tools-0.3.3 in danish -# Copyright (C) 1999 Free Software Foundation, Inc. -# Birger Langkjer <birger.langkjer@image.dk>, 1999. -# -msgid "" -msgstr "" -"Project-Id-Version: console-tools-0.3.3\n" -"POT-Creation-Date: 1999-10-25 22:33+0200\n" -"PO-Revision-Date: 1999-09-24 14:17+02:00\n" -"Last-Translator: Birger Langkjer <birger.langkjer@image.dk>\n" -"Language-Team: Danish <sslug-locale@sslug.dk>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-1\n" -"Content-Transfer-Encoding: 8-bit\n" - -#: fontfiletools/psfaddtable.c:30 -#, c-format -msgid "" -"Usage: %s psffont_in sfm_file [psffont_out]\n" -"Add a Unicode character table to a PSF font\n" -msgstr "" - -#: fontfiletools/psfaddtable.c:33 -msgid "input psffont filename" -msgstr "indata psffont filnavn" - -#: fontfiletools/psfaddtable.c:34 -msgid "screen-font-map filename" -msgstr "screen-font-map filnavn" - -#: fontfiletools/psfaddtable.c:35 -msgid "output psffont filename" -msgstr "uddata psffont filnavn" - -#: fontfiletools/psfaddtable.c:86 fontfiletools/psfaddtable.c:96 -#: fontfiletools/psfgettable.c:76 fontfiletools/psfstriptable.c:78 -#, c-format -msgid "%s: wrong number of arguments\n" -msgstr "%s: forkert antal argumenter\n" - -#: fontfiletools/psfaddtable.c:113 -#, c-format -msgid "%s: psffont and chartable cannot both be stdin\n" -msgstr "" - -#: fontfiletools/psfaddtable.c:200 -#, c-format -msgid "Loading unicode map from %s.\n" -msgstr "Indlæser unicode map fra %s.\n" - -#: fontfiletools/psfgettable.c:26 -#, c-format -msgid "" -"Usage: %s psffont chartable [outfile]\n" -"Extract a Unicode character table from a PSF font\n" -msgstr "" - -#: fontfiletools/psfgettable.c:29 fontfiletools/psfstriptable.c:31 -msgid "psffont filename" -msgstr "psffont filnavn" - -#: fontfiletools/psfgettable.c:30 fontfiletools/psfstriptable.c:32 -msgid "output filename" -msgstr "uddata filnavn" - -#: fontfiletools/psfgettable.c:139 -#, c-format -msgid "%s: Font has no character table\n" -msgstr "" - -#: fontfiletools/psfstriptable.c:28 -#, c-format -msgid "" -"Usage: %s [options] psffont [outfile]\n" -"Strip Unicode character table from a PSF font\n" -msgstr "" - -#: fontfiletools/psfstriptable.c:140 -#, c-format -msgid "%s: Font already had no character table\n" -msgstr "" - -#: kbdtools/showkey.c:47 -msgid "?UNKNOWN?" -msgstr "?UKENDT?" - -#: kbdtools/showkey.c:49 -#, c-format -msgid "kb mode was %s\n" -msgstr "kb modus var %s\n" - -#: kbdtools/showkey.c:52 -msgid "[ if you are trying this under X, it might not work\n" -msgstr "[ hvis du prøver dette under X, virker det måske ikke\n" - -#: kbdtools/showkey.c:53 -msgid "since the X server is also reading /dev/console ]\n" -msgstr "fordi X serveren også læser /dev/console ]\n" - -#: kbdtools/showkey.c:72 -#, c-format -msgid "caught signal %d, cleaning up...\n" -msgstr "fik signal %d, rydder op...\n" - -#: kbdtools/showkey.c:85 -#, c-format -msgid "usage: %s [options...] <command>\n" -msgstr "brug: %s [muligheder...] <kommando>\n" - -#: kbdtools/showkey.c:87 -msgid "display only the raw scan-codes." -msgstr "vis kun de rå scan-coder." - -#: kbdtools/showkey.c:88 -msgid "display only the interpreted keycodes (default)." -msgstr "vis kun de oversatte keycoder (standard)." - -#: kbdtools/showkey.c:89 -msgid "display only keymap-translated chars." -msgstr "vis kun keymape-oversatte tegn." - -#: kbdtools/showkey.c:90 -msgid "display unicode-translated chars." -msgstr "vis unicode-oversatte tegn." - -#: kbdtools/showkey.c:94 -msgid "set the timeout to N seconds." -msgstr "sæt tidsudløb til N sekunder." - -#: kbdtools/showkey.c:158 -msgid "timeout value must be numeric" -msgstr "tidsudløbsværdi skal være numerisk" - -#: kbdtools/dumpkeys.c:632 kbdtools/showkey.c:174 -msgid "no non-option arguments allowed" -msgstr "" - -#: kbdtools/showkey.c:177 -msgid "WARNING: Unicode mode is experimental -- output may be wrong\n" -msgstr "ADVARSEL: Unicode modus er eksperimentel -- uddata kan være forkert\n" - -#: kbdtools/showkey.c:235 -#, c-format -msgid "press any key (program terminates after %us of last keypress)...\n" -msgstr "" - -#: kbdtools/showkey.c:254 -#, c-format -msgid "keycode %3d %s\n" -msgstr "keycode %3d %s\n" - -#: kbdtools/showkey.c:256 -msgid "release" -msgstr "slip" - -#: kbdtools/showkey.c:256 -msgid "press" -msgstr "tryk" - -#: kbdtools/setmetamode.c:22 -#, c-format -msgid "" -"\n" -"Usage:\n" -"\t%1$s [ metabit | meta | bit | escprefix | esc | prefix ]\n" -"Each vt has his own copy of this bit. Use\n" -"\t%1$s [arg] < /dev/ttyn\n" -"to change the settings of another vt.\n" -"The setting before and after the change are reported.\n" -msgstr "" - -#: kbdtools/setmetamode.c:38 -msgid "Meta key sets high order bit\n" -msgstr "" - -#: kbdtools/setmetamode.c:41 -msgid "Meta key gives Esc prefix\n" -msgstr "" - -#: kbdtools/setmetamode.c:44 -msgid "Strange mode for Meta key?\n" -msgstr "" - -#: kbdtools/setmetamode.c:76 -msgid "Error reading current setting. Maybe stdin is not a VT?\n" -msgstr "" - -#: kbdtools/setmetamode.c:95 -msgid "unrecognized argument" -msgstr "" - -#: kbdtools/setmetamode.c:98 -msgid "old state: " -msgstr "gammel status:" - -#: kbdtools/setmetamode.c:105 -msgid "new state: " -msgstr "ny status: " - -#: kbdtools/kbd_mode.c:23 -#, c-format -msgid "" -"Usage: %s [option]\n" -"Report and set keyboard mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:26 -msgid "print this help information and exit" -msgstr "skriv denne hjælpe information og afslut" - -#: kbdtools/kbd_mode.c:27 -msgid "report version and exit" -msgstr "" - -#: kbdtools/kbd_mode.c:28 -msgid "ASCII or 8bit mode (XLATE)" -msgstr "ASCII eller 8bit modus (XLATE)" - -#: kbdtools/kbd_mode.c:29 -msgid "keycode mode (MEDIUMRAW)" -msgstr "keycode modus (MEDIUMRAW)" - -#: kbdtools/kbd_mode.c:30 -msgid "UTF-8 mode (UNICODE)" -msgstr "UTF-8 modus (UNICODE)" - -#: kbdtools/kbd_mode.c:31 -msgid "scancode mode (RAW)" -msgstr "scancode modus (RAW)" - -#: kbdtools/kbd_mode.c:32 -msgid "set mode" -msgstr "sæt modus" - -#: kbdtools/kbd_mode.c:85 -#, c-format -msgid "%s: unknown mode: %s\n" -msgstr "%s: ukendt modus: %s\n" - -#: kbdtools/kbd_mode.c:111 -msgid ": error reading keyboard mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:117 -msgid "The keyboard is in raw (scancode) mode\n" -msgstr "Tastaturet er i rå (scancode) modus\n" - -#: kbdtools/kbd_mode.c:120 -msgid "The keyboard is in mediumraw (keycode) mode\n" -msgstr "Tastaturet er i mediumrå (keycode) modus\n" - -#: kbdtools/kbd_mode.c:123 -msgid "The keyboard is in the default (ASCII) mode\n" -msgstr "Tastaturet er i standard (ASCII) modus\n" - -#: kbdtools/kbd_mode.c:126 -msgid "The keyboard is in Unicode (UTF-8) mode\n" -msgstr "Tastaturet er i Unicode (UTF-8) modus\n" - -#: kbdtools/kbd_mode.c:129 -msgid "The keyboard is in some unknown mode\n" -msgstr "Tastaturet er i en eller anden ukendt modus\n" - -#: kbdtools/kbd_mode.c:137 -msgid ": error setting keyboard mode\n" -msgstr "" - -#: loadkeys.y:287 -msgid "too many keydefinitions on one line" -msgstr "" - -#: loadkeys.y:306 -#, c-format -msgid "Usage: %s [option...] [mapfile...]\n" -msgstr "Brug: %s [muligheder...] [mapfil...]\n" - -#: loadkeys.y:308 -msgid "clear kernel compose table" -msgstr "" - -#: loadkeys.y:309 -msgid "load default keymap file" -msgstr "indlæs standard keymap fil" - -#. FIXME: should print DEFKMAP -#: loadkeys.y:310 -msgid "output a \"defkeymap.c\" to stdout" -msgstr "skriv en \"defkeymap.c\" til stdout" - -#: loadkeys.y:311 -msgid "clear kernel string table" -msgstr "" - -#: loadkeys.y:312 -msgid "be silent" -msgstr "vær stille" - -#: loadkeys.y:313 -msgid "report the changes" -msgstr "" - -#: loadkeys.y:314 -msgid "report more changes" -msgstr "" - -#: loadkeys.y:392 -msgid "syntax error in map file\n" -msgstr "syntaks fejl i map fil\n" - -#: loadkeys.y:394 -msgid "key bindings not changed\n" -msgstr "" - -#: loadkeys.y:482 -#, c-format -msgid "Cannot find %s\n" -msgstr "kan ikke finde %s\n" - -#: loadkeys.y:499 -#, c-format -msgid "cannot open file %s\n" -msgstr "kan ikke åbne fil %s\n" - -#: loadkeys.y:524 -#, c-format -msgid "addmap called with bad index %d" -msgstr "" - -#: loadkeys.y:529 -#, c-format -msgid "adding map %d violates explicit keymaps line)" -msgstr "" - -#: loadkeys.y:543 -#, c-format -msgid "killkey called with bad index %d" -msgstr "" - -#: loadkeys.y:545 -#, c-format -msgid "killkey called with bad table %d" -msgstr "" - -#: loadkeys.y:559 -#, c-format -msgid "addkey called with bad index %d" -msgstr "" - -#: loadkeys.y:561 -#, c-format -msgid "addkey called with bad table %d" -msgstr "" - -#: loadkeys.y:605 -#, c-format -msgid "%s: addfunc called with bad func %d\n" -msgstr "" - -#: loadkeys.y:628 -#, c-format -msgid "%s: addfunc: func_buf overflow\n" -msgstr "" - -#: loadkeys.y:657 -msgid "compose table overflow\n" -msgstr "" - -#: loadkeys.y:666 -#, c-format -msgid "Warning: Compose char %4x ('%c','%c') > 0xFF will be truncated to %2x\n" -msgstr "" - -#: loadkeys.y:669 -msgid " (Linux kernel < 2.3.X can't handle unicode compose chars properly)\n" -msgstr "" -" (Linux kerne < 2.3.X kan ikke håndtere unicode compose tegn rigtigt)\n" - -#: loadkeys.y:709 -#, c-format -msgid "Keymap %d: Permission denied\n" -msgstr "Keymap %d: Ikke tilladt\n" - -#: loadkeys.y:718 -#, c-format -msgid "keycode %d, table %d = %d%s\n" -msgstr "keycode %d, table %d = %d%s\n" - -#: loadkeys.y:719 -msgid " FAILED" -msgstr " FEJLEDE" - -#: loadkeys.y:721 -#, c-format -msgid "failed to bind key %d to value %d\n" -msgstr "" - -#: loadkeys.y:734 -#, c-format -msgid "deallocate keymap %d\n" -msgstr "" - -#: loadkeys.y:742 -#, c-format -msgid "%s: could not deallocate keymap %d\n" -msgstr "" - -#: loadkeys.y:759 -#, c-format -msgid "%s: cannot deallocate or clear keymap\n" -msgstr "" - -#: loadkeys.y:772 -#, c-format -msgid "%s: failed to restore keyboard mode\n" -msgstr "" - -#: loadkeys.y:775 -#, c-format -msgid "" -"%s: warning: this map uses Unicode symbols\n" -" (perhaps you want to do `kbd_mode -u'?)\n" -msgstr "" -"%s: advarsel: dette kort (map) bruger Unicode symboler\n" -" (måske burde du bruge 'kbd_mode -u'?)\n" - -#: loadkeys.y:823 -#, c-format -msgid "failed to bind string '%s' to function %s\n" -msgstr "" - -#: loadkeys.y:832 -#, c-format -msgid "failed to clear string %s\n" -msgstr "" - -#: loadkeys.y:850 -msgid "too many compose definitions\n" -msgstr "" - -#: loadkeys.y:857 -msgid "KDSKBDIACR failed\n" -msgstr "" - -#: loadkeys.y:918 -msgid "impossible error in do_constant" -msgstr "umulig fejl i do_constant" - -#: loadkeys.y:939 -#, fuzzy, c-format -msgid "" -"\n" -"Changed %d key%s and %d string%s.\n" -msgstr "" -"\n" -"Ændrede %s og %s.\n" - -#: loadkeys.y:943 -#, c-format -msgid "Loaded %d compose definition%s.\n" -msgstr "" - -#: loadkeys.y:946 -msgid "(No change in compose definitions.)\n" -msgstr "" - -#: loadkeys.y:983 -#, c-format -msgid "loadkeys: don't know how to compose for %s\n" -msgstr "" - -#: kbdtools/getkeycodes.c:21 -#, c-format -msgid "" -"Usage: %s\n" -"Print kernel scancode-to-keycode mapping table\n" -msgstr "" - -#: kbdtools/getkeycodes.c:40 -msgid "Plain scancodes xx (hex) versus keycodes (dec)\n" -msgstr "" - -#: kbdtools/getkeycodes.c:41 -msgid "0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n" -msgstr "" - -#: kbdtools/getkeycodes.c:46 -msgid "" -"\n" -"\n" -"Escaped scancodes e0 xx (hex)\n" -msgstr "" - -#: kbdtools/getkeycodes.c:70 -#, c-format -msgid "failed to get keycode for scancode 0x%x\n" -msgstr "" - -#: kbdtools/dumpkeys.c:63 -#, c-format -msgid "KDGKBENT at index 0 in table %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:77 -#, c-format -msgid "%s: cannot find any keymaps?\n" -msgstr "" - -#: kbdtools/dumpkeys.c:82 -#, c-format -msgid "%s: plain map not allocated? very strange ...\n" -msgstr "" - -#: kbdtools/dumpkeys.c:111 -#, c-format -msgid "KDGKBENT at index %d in table %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:200 -msgid "KDGKBDIACR failed\n" -msgstr "" - -#: kbdtools/dumpkeys.c:236 -#, c-format -msgid "keycode range supported by kernel: 1 - %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:238 -#, c-format -msgid "max number of actions bindable to a key: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:241 -#, c-format -msgid "number of keymaps in actual use: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:244 -#, c-format -msgid "of which %d dynamically allocated\n" -msgstr "" - -#: kbdtools/dumpkeys.c:245 -msgid "ranges of action codes supported by kernel:\n" -msgstr "" - -#: kbdtools/dumpkeys.c:250 -#, c-format -msgid "number of function keys supported by kernel: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:253 -#, c-format -msgid "max nr of compose definitions: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:256 -#, c-format -msgid "nr of compose definitions in actual use: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:280 -#, c-format -msgid "" -"Symbols recognized by %s:\n" -"(numeric value, symbol)\n" -"\n" -msgstr "" - -#: kbdtools/dumpkeys.c:292 -msgid "" -"\n" -"The following synonyms are recognized:\n" -"\n" -msgstr "" - -#: kbdtools/dumpkeys.c:296 -msgid "" -"\n" -"Recognized modifier names and their column numbers:\n" -msgstr "" - -#: kbdtools/dumpkeys.c:432 -msgid "impossible: not meta?\n" -msgstr "" - -#: kbdtools/dumpkeys.c:487 -#, c-format -msgid "KDGKBSENT at index %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:510 -#, c-format -msgid "Usage: %s [options...]\n" -msgstr "Brug: %s [muligheder...]\n" - -#: kbdtools/dumpkeys.c:512 -msgid "display information about keyboard driver" -msgstr "vis information om tastatur driver" - -#: kbdtools/dumpkeys.c:513 -msgid "display above and symbols known to loadkeys" -msgstr "" - -#: kbdtools/dumpkeys.c:514 -msgid "display keytable in hexadecimal notation" -msgstr "" - -#: kbdtools/dumpkeys.c:515 -msgid "don't use short-hand notations, one row per keycode" -msgstr "" - -#: kbdtools/dumpkeys.c:516 -msgid "one line per (modifier,keycode) pair" -msgstr "" - -#: kbdtools/dumpkeys.c:517 -msgid "display only the function key strings" -msgstr "" - -#: kbdtools/dumpkeys.c:518 -msgid "display only key bindings" -msgstr "vis kun taste bindinger" - -#: kbdtools/dumpkeys.c:519 -msgid "choose output shape, where <shape> is:" -msgstr "" - -#: kbdtools/dumpkeys.c:520 -msgid " 0 = default" -msgstr "0 = standard" - -#: kbdtools/dumpkeys.c:521 -msgid " 1 = same as --full-table" -msgstr " 1 = ligesom --full-table" - -#: kbdtools/dumpkeys.c:522 -msgid " 2 = same as --separate-lines" -msgstr " 2 = ligesom --separate-lines" - -#: kbdtools/dumpkeys.c:523 -msgid " 3 = one line per keycode, until 1st hole" -msgstr "" - -#: kbdtools/dumpkeys.c:525 -msgid "display only compose key combinations" -msgstr "vis kun 'compose' tast kombinationer" - -#: kbdtools/dumpkeys.c:528 -msgid "interpret character action codes to be from the" -msgstr "" - -#: kbdtools/dumpkeys.c:529 -msgid "specified character set" -msgstr "specificeret tegnsæt" - -#: kbdtools/dumpkeys.c:531 -msgid "display this help text and exit" -msgstr "vis denne hjælpetekst og afslut" - -#: kbdtools/dumpkeys.c:532 -msgid "display version information and exit" -msgstr "vis versions information og afslut" - -#: kbdtools/dumpkeys.c:534 -msgid "" -"\n" -"available charsets:\n" -msgstr "" -"\n" -"Tilgængelige tegnsæt:\n" - -#: kbdtools/setleds.c:29 -#, c-format -msgid "" -"Usage:\t%1$s [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll ]]\n" -"Thus,\n" -"\t%1$s +caps -num\n" -"will set CapsLock, clear NumLock and leave ScrollLock unchanged.\n" -"The settings before and after the change (if any) are reported\n" -"when the -v option is given or when no change is requested.\n" -"Normally, %1$s influences the vt flag settings\n" -"(and these are usually reflected in the leds).\n" -"With -L, %1$s only sets the leds, and leaves the flags alone.\n" -"With -D, %1$s sets both the flags and the default flags, so\n" -"that a subsequent reset will not change the flags.\n" -msgstr "" - -#: kbdtools/setleds.c:103 -#, c-format -msgid "%s: unknown argument: %s\n" -msgstr "%s: ukendt argument: %s\n" - -#: kbdtools/setleds.c:117 -#, c-format -msgid "NumLock %s CapsLock %s ScrollLock %s\n" -msgstr "NumLock %s CapsLock %s ScrollLock %s\n" - -#: kbdtools/setleds.c:143 -msgid "Error reading current led setting. Maybe stdin is not a VT?\n" -msgstr "" - -#: kbdtools/setleds.c:150 -msgid "Error reading current flags setting. Maybe an old kernel?\n" -msgstr "" - -#: kbdtools/setleds.c:163 -msgid "Error resetting ledmode\n" -msgstr "" - -#: kbdtools/setleds.c:172 -msgid "Current default flags: " -msgstr "Nuværende standard flag:" - -#: kbdtools/setleds.c:176 -msgid "Current flags: " -msgstr "Nuværende flag: " - -#: kbdtools/setleds.c:180 -msgid "Current leds: " -msgstr "" - -#: kbdtools/setleds.c:192 -msgid "Old default flags: " -msgstr "Gamle standard flag: " - -#: kbdtools/setleds.c:194 -msgid "New default flags: " -msgstr "Nye standard flag: " - -#: kbdtools/setleds.c:201 -msgid "Old flags: " -msgstr "Gamle flag: " - -#: kbdtools/setleds.c:203 -msgid "New flags: " -msgstr "Nye flag: " - -#: kbdtools/setleds.c:216 -msgid "Old leds: " -msgstr "" - -#: kbdtools/setleds.c:218 -msgid "New leds: " -msgstr "" - -#: lib/sfm-utils.c:35 -msgid "loadunimap: out of memory\n" -msgstr "" - -#: lib/wrappers.c:15 -msgid "Out of Memory\n" -msgstr "" - -#: lib/wrappers.c:26 -msgid "Out of Memory?\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:31 -msgid "Warning: line too long in unicode map.\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:54 lib/sfm-rd-ascii.c:68 -#, c-format -msgid "Bad input line: %s\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:80 -#, c-format -msgid "unicode map: glyph number (0x%x) larger than font length\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:88 -#, c-format -msgid "unicode map: bad end of range (0x%x)\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:113 -msgid "" -"unicode map: Corresponding to a range of font positions, there should be a " -"Unicode range\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:123 -#, c-format -msgid "" -"unicode map: Bad Unicode range corresponding to font position range " -"0x%x-0x%x\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:131 -#, c-format -msgid "" -"unicode map: Unicode range U+%x-U+%x not of the same length as font position " -"range 0x%x-0x%x\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:151 -#, c-format -msgid "unicode map: trailing junk (%s) ignored\n" -msgstr "" - -#: lib/saveunimap.c:24 -#, c-format -msgid "Would save %d SFM entries in `%s'.\n" -msgstr "" - -#: lib/misc-console-utils.c:89 -msgid "Couldnt get a file descriptor referring to the console\n" -msgstr "" - -#: lib/psf-header.c:26 -#, c-format -msgid "Unknown PSF mode number (%d).\n" -msgstr "Ukendt PSF modus nummer (%d).\n" - -#: lib/ksyms.c:971 -#, c-format -msgid "Error: unknown charset `%s'.\n" -msgstr "Fejl: ukendt tegnsæt '%s'.\n" - -#: lib/ksyms.c:1010 -#, c-format -msgid "assuming iso-8859-2 %s\n" -msgstr "antager iso-8859-2 %s\n" - -#: lib/ksyms.c:1017 -#, c-format -msgid "assuming iso-8859-3 %s\n" -msgstr "antager iso-8859-3 %s\n" - -#: lib/ksyms.c:1024 -#, c-format -msgid "assuming iso-8859-4 %s\n" -msgstr "antager iso-8859-4 %s\n" - -#: lib/ksyms.c:1028 -#, c-format -msgid "unknown keysym `%s'\n" -msgstr "" - -#: lib/findfile.c:64 -#, c-format -msgid "%s: %s child exited anormally with code %d.\n" -msgstr "" - -#: lib/findfile.c:67 -#, c-format -msgid "%s: %s child was terminated by signal %d.\n" -msgstr "" - -#: lib/findfile.c:70 -#, c-format -msgid "%s: %s child was stopped by signal %d.\n" -msgstr "" - -#: lib/findfile.c:85 -msgid "Feeder" -msgstr "" - -#: lib/findfile.c:90 -msgid "Decompressor" -msgstr "" - -#: lib/findfile.c:95 -msgid "Identifier" -msgstr "" - -#: lib/findfile.c:122 -msgid "chld_handler()" -msgstr "" - -#: lib/findfile.c:128 -#, c-format -msgid "%s child exited OK.\n" -msgstr "" - -#: lib/findfile.c:172 -msgid "fread magic" -msgstr "" - -#: lib/findfile.c:232 -msgid "decompressor fork" -msgstr "" - -#: lib/findfile.c:238 -msgid "decompressor: close file[1]" -msgstr "" - -#: lib/findfile.c:243 -msgid "decompressor: close uncompressed[0]" -msgstr "" - -#: lib/findfile.c:252 -msgid "decompressor: dup2 file[0]" -msgstr "" - -#: lib/findfile.c:259 -msgid "decompressor: dup2 uncompressed[1]" -msgstr "" - -#: lib/findfile.c:268 -#, c-format -msgid "Decompressor program not found: %s\n" -msgstr "" - -#: lib/findfile.c:271 -msgid "decompressor: execlp" -msgstr "" - -#: lib/findfile.c:287 -msgid "feeder fork" -msgstr "" - -#: lib/findfile.c:294 -msgid "feeder: close uncompressed[0]" -msgstr "" - -#: lib/findfile.c:302 -msgid "feeder: write zmagicbuf" -msgstr "" - -#: lib/findfile.c:308 -msgid "feeder: feed" -msgstr "" - -#: lib/findfile.c:340 -msgid "fread" -msgstr "" - -#: lib/findfile.c:377 -msgid "identifier fork" -msgstr "" - -#: lib/findfile.c:382 -msgid "identifier: close identified[0]" -msgstr "" - -#: lib/findfile.c:389 -msgid "identifier: write magicIDbuf" -msgstr "" - -#: lib/findfile.c:395 -msgid "identifier: feed" -msgstr "" - -#: lib/findfile.c:439 -#, c-format -msgid "Zombie %d caught.\n" -msgstr "Zombie %d fanget.\n" - -#: lib/findfile.c:450 -msgid "One for nothing.\n" -msgstr "" - -#: lib/findfile.c:562 -msgid "Warning: ignoring a possible path (too long)." -msgstr "" - -#: lib/findfile.c:668 -msgid "feeder" -msgstr "" - -#: lib/findfile.c:669 -msgid "decompressor" -msgstr "" - -#: lib/findfile.c:670 -msgid "identifier" -msgstr "" - -#: lib/findfile.c:676 -msgid "findfile(): timeout waiting for undead child(ren) ?\n" -msgstr "" - -#: lib/findfile.c:711 -msgid "Buffer overflow - aborting\n" -msgstr "" - -#: lib/acm.c:35 -#, fuzzy -msgid "Cannot stat map file" -msgstr "kan ikke åbne fil %s\n" - -#: lib/acm.c:47 -msgid "16bit screen-map MUST be a regular file.\n" -msgstr "" - -#: lib/acm.c:49 -msgid "fseek failed reading binary 16bit screen-map" -msgstr "" - -#: lib/acm.c:53 -msgid "Cannot read [new] map from file" -msgstr "" - -#: lib/acm.c:56 -msgid "Input screen-map is binary.\n" -msgstr "" - -#: lib/acm.c:65 -msgid "PIO_UNISCRNMAP ioctl" -msgstr "" - -#: lib/acm.c:75 -msgid "Assuming 8bit screen-map - MUST be a regular file.\n" -msgstr "" - -#: lib/acm.c:77 -msgid "fseek failed assuming 8bit screen-map" -msgstr "" - -#. should not - it succedeed above -#: lib/acm.c:91 -msgid "fseek() returned ESPIPE !\n" -msgstr "" - -#: lib/acm.c:93 -msgid "fseek for binary 8bit screen-map" -msgstr "" - -#: lib/acm.c:97 -msgid "Cannot read [old] map from file" -msgstr "" - -#: lib/acm.c:105 -msgid "PIO_SCRNMAP ioctl" -msgstr "" - -#: lib/acm.c:111 -msgid "Error parsing symbolic map\n" -msgstr "" - -#: lib/acm.c:158 -msgid "uni_screen_map_read_ascii() can't read line" -msgstr "" - -#: lib/acm.c:306 -msgid "GIO_UNISCRNMAP ioctl error" -msgstr "" - -#: lib/acm.c:310 -msgid "GIO_SCRNMAP ioctl error" -msgstr "" - -#: lib/acm.c:331 lib/acm.c:339 -#, fuzzy -msgid "Error writing map to file" -msgstr "syntaks fejl i map fil\n" - -#: lib/miscutils.c:56 -#, c-format -msgid "%s: Unexpected arguments.\n" -msgstr "" - -#: screenfonttools/consolechars.c:48 -#, c-format -msgid "Usage: %s [options] [commands]\n" -msgstr "" - -#: screenfonttools/consolechars.c:50 -msgid "List operations as they are done" -msgstr "" - -#: screenfonttools/consolechars.c:51 -msgid "Do not change the console state nor write to any file" -msgstr "" - -#: screenfonttools/consolechars.c:52 -msgid "" -"(N in 0..32) Choose the right font from a codepage that\n" -"contains three fonts (only 8/14/16 allowed then), or choose\n" -"default font, ie. \"default8xN\"" -msgstr "" - -#: screenfonttools/consolechars.c:55 -msgid "Suppress loading of a screen-font map [use with care]" -msgstr "" - -#: screenfonttools/consolechars.c:56 -msgid "When loading an ACM, activate G1 charset instead of G0" -msgstr "" - -#: screenfonttools/consolechars.c:57 -msgid "Use `device' as console device for ioctls" -msgstr "" - -#: screenfonttools/consolechars.c:59 -msgid "Load the console-font from specified file" -msgstr "Indlæs konsol-fonten fra specificeret fil" - -#: screenfonttools/consolechars.c:60 -msgid "Load a default font from a file" -msgstr "Indlæs standard font fra en fil" - -#: screenfonttools/consolechars.c:61 -msgid "Restore ROM font (does not work with all kernels)" -msgstr "Gendan ROM font (virker ikke med alle kerner)" - -#: screenfonttools/consolechars.c:63 -msgid "" -"Load the SFM from specified file\n" -"(instead of the one in font-file, if any)" -msgstr "" - -#: screenfonttools/consolechars.c:65 -msgid "Merge SFM fallbacks from file into SFM" -msgstr "" - -#: screenfonttools/consolechars.c:66 -msgid "Load the ACM from specified file" -msgstr "" - -#: screenfonttools/consolechars.c:67 -msgid "Write current font to prefered format (now: psf-with-sfm)" -msgstr "" - -#: screenfonttools/consolechars.c:68 -msgid "Write current font to PSF file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:70 -msgid "Same as -old-font-psf, and add current SFM in the PSF file" -msgstr "" - -#: screenfonttools/consolechars.c:71 -msgid "Write current font to RAW file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:72 -msgid "Write current ACM to file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:73 -msgid "Write current SFM to file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:84 -msgid "too many `-' as filenames" -msgstr "" - -#: screenfonttools/consolechars.c:196 -msgid "--char-height argument should be in 1..31" -msgstr "--char-height argument skal være indenfor 1..31" - -#: screenfonttools/consolechars.c:201 screenfonttools/consolechars.c:208 -#: screenfonttools/consolechars.c:214 -msgid "only one font file is allowed" -msgstr "kun een font fil er tilladt" - -#: screenfonttools/consolechars.c:220 -msgid "only one ACM is allowed" -msgstr "kun een ACM er tilladt" - -#: screenfonttools/consolechars.c:227 -msgid "only one SFM is allowed" -msgstr "kun een SFM er tilladt" - -#: screenfonttools/consolechars.c:229 -msgid "multiple requests for SFM handling" -msgstr "" - -#: screenfonttools/consolechars.c:236 -msgid "WARNING: not using a unimap may lead to erroneous display !\n" -msgstr "" - -#: screenfonttools/consolechars.c:246 -msgid "realloc fallback_files" -msgstr "realloc fallback_files" - -#: screenfonttools/consolechars.c:255 -#, fuzzy -msgid "only one output RAW font-file is allowed" -msgstr "kun een uddata font fil er tilladt" - -#: screenfonttools/consolechars.c:262 -#, fuzzy -msgid "only one output PSF font-file is allowed" -msgstr "kun een uddata font fil er tilladt" - -#: screenfonttools/consolechars.c:269 -#, fuzzy -msgid "only one output PSF+SFM font-file is allowed" -msgstr "kun een uddata font fil er tilladt" - -#: screenfonttools/consolechars.c:276 -msgid "only one output ACM file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:283 -msgid "only one output SFM file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:294 -msgid "unknown option" -msgstr "" - -#: screenfonttools/consolechars.c:299 -msgid "no non-option arguments are valid" -msgstr "" - -#: screenfonttools/consolechars.c:302 -msgid "nothing to do" -msgstr "intet at lave" - -#: screenfonttools/consolechars.c:316 -msgid "Saving raw old font" -msgstr "" - -#: screenfonttools/consolechars.c:320 -msgid "Saving PSF old font" -msgstr "" - -#: screenfonttools/consolechars.c:324 -msgid "Saving PSF+unimap old font" -msgstr "" - -#: screenfonttools/consolechars.c:329 -#, c-format -msgid "Would save ACM to file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:332 -#, c-format -msgid "Saving ACM to file `%s'.\n" -msgstr "Gemmer ACM som fil '%s'.\n" - -#: screenfonttools/consolechars.c:354 -#, c-format -msgid "Would load ACM from `%s'\n" -msgstr "Ville indlæse ACM fra '%s'\n" - -#: screenfonttools/consolechars.c:357 -#, c-format -msgid "Loading ACM from `%s'\n" -msgstr "Indlæser ACM fra '%s'\n" - -#: screenfonttools/consolechars.c:360 -msgid "Error reading ACM file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:386 -#, c-format -msgid "Would read screen-font map from %s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:388 -#, c-format -msgid "Reading screen-font map from %s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:402 -msgid "Requesting SFM from kernel.\n" -msgstr "" - -#: screenfonttools/consolechars.c:406 -msgid "No valid SFM currently loaded. Aborting.\n" -msgstr "" - -#: screenfonttools/consolechars.c:440 -#, c-format -msgid "Reading SFM fallbacks from `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:448 -#, c-format -msgid "Read %u fallback entries.\n" -msgstr "" - -#: screenfonttools/consolechars.c:473 -msgid "WARNING: No SFM found in file or kernel ? Ignoring fallback file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:480 -msgid "Would set kernel SFM.\n" -msgstr "" - -#: screenfonttools/consolechars.c:483 -msgid "Setting kernel SFM.\n" -msgstr "" - -#: screenfonttools/consolechars.c:528 -msgid "Cannot find a default font file.\n" -msgstr "Kan ikke finde en standard font fil.\n" - -#: screenfonttools/consolechars.c:537 -#, c-format -msgid "Cannot find default font file `default8x%02d'.\n" -msgstr "Kan ikke finde standard font fil 'default8x%02d'.\n" - -#: screenfonttools/consolechars.c:547 -#, c-format -msgid "Cannot open font file `%s'.\n" -msgstr "Kan ikke åbne font fil '%s'.\n" - -#: screenfonttools/consolechars.c:584 -msgid "Only fontsize 256 supported.\n" -msgstr "Kun fontstørrelse 256 er understøttet.\n" - -#: screenfonttools/consolechars.c:595 -#, c-format -msgid "Would load %d-chars %dx%d font from file `%s'.\n" -msgstr "Ville indlæse %d-tegn %dx%d font fra fil '%s'.\n" - -#: screenfonttools/consolechars.c:602 -#, c-format -msgid "Loading %d-chars %dx%d font from file `%s'.\n" -msgstr "Indlæser %d-tegn %dx%d font fra fil '%s'.\n" - -#: screenfonttools/consolechars.c:628 -#, c-format -msgid "Reading default SFM from `%s'.\n" -msgstr "Læser standard SFM fra '%s'.\n" - -#: screenfonttools/consolechars.c:649 -msgid "Cannot write SFM into non-PSF font-file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:660 -#, c-format -msgid "Can only save 8bit-wide fonts for now, and font is %d-bit wide.\n" -msgstr "" - -#: screenfonttools/consolechars.c:670 -#, c-format -msgid "Can only save 256-chars fonts in RAW files, and font has %d chars.\n" -msgstr "" - -#: screenfonttools/consolechars.c:677 -msgid "Found nothing to save.\n" -msgstr "Fandt intet at gemme.\n" - -#: screenfonttools/consolechars.c:708 -#, c-format -msgid "Would have saved 8x%d %s font file on `%s'%s.\n" -msgstr "Ville have gemt 8x%d %s font fil på `%s'%s.\n" - -#: screenfonttools/consolechars.c:709 -#, c-format -msgid "Saved 8x%d %s font file on `%s'%s.\n" -msgstr "Gemte 8x%d %s font fil på `%s'%s.\n" - -#: screenfonttools/consolechars.c:713 -msgid ", with SFM" -msgstr ", med SFM" - -#: screenfonttools/consolechars.c:713 -msgid ", without SFM" -msgstr ", uden SFM" - -#: screenfonttools/showcfont.c:15 -#, c-format -msgid "" -"Usage: %s\n" -"Displays a screen-font's contents.\n" -msgstr "" - -#: screenfonttools/clrunimap.c:19 -#, c-format -msgid "" -"Usage: %s\n" -"Clears the Unicode map from the console.\n" -"Note: nowadays this kills kernel console output!\n" -msgstr "" - -#: vttools/screendump.c:31 -#, c-format -msgid "" -"Usage: %s [console]\n" -"Dump the contents of the screen to stdout\n" -msgstr "" - -#: vttools/screendump.c:34 -msgid "dump contents of screen s" -msgstr "" - -#: vttools/chvt.c:59 vttools/screendump.c:72 vttools/setvesablank.c:81 -#, c-format -msgid "%s: Wrong number of args\n" -msgstr "" - -#: vttools/screendump.c:112 -msgid "Out of memory\n" -msgstr "" - -#: vttools/screendump.c:117 -#, c-format -msgid "Error reading %s\n" -msgstr "" - -#: vttools/screendump.c:141 -msgid "Could not use /dev/vcs*, trying TIOCLINUX\n" -msgstr "" - -#: vttools/screendump.c:158 -msgid "Out of memory.\n" -msgstr "" - -#: vttools/screendump.c:169 -#, c-format -msgid "couldn't read %s, and cannot ioctl dump\n" -msgstr "" - -#: vttools/screendump.c:178 -#, c-format -msgid "Strange ... screen is both %dx%d and %dx%d ??\n" -msgstr "" - -#: vttools/screendump.c:186 -msgid "Out of memory?\n" -msgstr "" - -#: vttools/screendump.c:203 -msgid "Error writing screen dump\n" -msgstr "" - -#: vttools/setvesablank.c:19 -#, c-format -msgid "" -"Usage: %s ON|on|off\n" -"\n" -"Set VESA blanking on console.\n" -msgstr "" - -#: vttools/setvesablank.c:22 -msgid "turn blanking on" -msgstr "" - -#: vttools/setvesablank.c:37 -#, c-format -msgid "%s: argument '%s' should be 'ON', 'on' or 'off'\n" -msgstr "" - -#: vttools/vt-is-UTF8.c:16 -#, c-format -msgid "Usage: %s [option]\n" -msgstr "" - -#: vttools/vt-is-UTF8.c:18 -msgid "don't print result" -msgstr "" - -#: vttools/vt-is-UTF8.c:82 -msgid "Single-byte char mode.\n" -msgstr "Enkelt-byte tegn modus.\n" - -#: vttools/resizecons.c:110 -#, c-format -msgid "" -"Usage: %s COLSxROWS\n" -" %s COLS ROWS\n" -" %s -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n" -msgstr "" - -#: vttools/resizecons.c:145 -#, c-format -msgid "%s: Invalid number of columns: %s\n" -msgstr "" - -#: vttools/resizecons.c:154 -#, c-format -msgid "%s: Invalid number of rows: %s\n" -msgstr "%s: Ugyldigt antal rækker: %s\n" - -#: vttools/resizecons.c:174 vttools/resizecons.c:198 -#, c-format -msgid "%s: Invalid arguments" -msgstr "%s: Ugyldige argumenter" - -#: vttools/resizecons.c:186 -#, c-format -msgid "%s: Unrecognized argument" -msgstr "%s: Ugenkendt argument" - -#: vttools/resizecons.c:210 -#, c-format -msgid "%s: bad number of arguments\n" -msgstr "" - -#: vttools/resizecons.c:239 -#, c-format -msgid "%s: cannot find videomode file %s\n" -msgstr "" - -#: vttools/resizecons.c:260 -msgid "Invalid number of lines\n" -msgstr "Ugyldigt antal linier\n" - -#: vttools/resizecons.c:338 -#, c-format -msgid "Old mode: %dx%d New mode: %dx%d\n" -msgstr "" - -#: vttools/resizecons.c:340 -#, c-format -msgid "Old #scanlines: %d New #scanlines: %d Character height: %d\n" -msgstr "" - -#: vttools/resizecons.c:353 vttools/resizecons.c:403 -#, c-format -msgid "%s: the command `%s' failed\n" -msgstr "%s: kommandoen `%s' fejlede\n" - -#: vttools/resizecons.c:408 -#, c-format -msgid "%s: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n" -msgstr "" - -#: vttools/resizecons.c:412 -msgid "Also the variables LINES and COLUMNS may need adjusting.\n" -msgstr "" - -#: vttools/resizecons.c:449 -#, c-format -msgid "%s: cannot get I/O permissions.\n" -msgstr "" - -#: vttools/deallocvt.c:23 -#, c-format -msgid "" -"Usage: %s [N1 N2 ...]\n" -"Deallocate virtual terminal(s)\n" -msgstr "" - -#: vttools/chvt.c:21 vttools/deallocvt.c:26 -msgid "virtual terminal" -msgstr "virtuel terminal" - -#: vttools/deallocvt.c:41 -#, c-format -msgid "%s: 0: illegal VT number\n" -msgstr "" - -#: vttools/deallocvt.c:50 -#, c-format -msgid "%s: VT 1 is the console and cannot be deallocated\n" -msgstr "" - -#: vttools/deallocvt.c:61 -#, c-format -msgid "%s: could not deallocate console %d\n" -msgstr "" - -#: vttools/deallocvt.c:125 -#, c-format -msgid "%s: deallocating all unused consoles failed\n" -msgstr "" - -#: vttools/fgconsole.c:14 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Print foreground console\n" -msgstr "" - -#: vttools/chvt.c:18 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Change virtual terminal\n" -msgstr "" - -#: vttools/vcstime.c:22 -#, c-format -msgid "" -"Usage: %s\n" -"Show time in upper right hand corner of the console screen\n" -msgstr "" - -#: vttools/writevt.c:19 -#, c-format -msgid "" -"Usage: %s tty text\n" -"Put text into the input buffer of a virtual terminal.\n" -msgstr "" - -#: vttools/writevt.c:22 -msgid "device name" -msgstr "enhedsnavn" - -#: vttools/writevt.c:23 -msgid "text to insert" -msgstr "tekst at indsætte" - -#: vttools/writevt.c:68 -#, c-format -msgid "%s: No tty specified.\n" -msgstr "%s: Ingen tty angivet.\n" - -#: vttools/writevt.c:77 -#, c-format -msgid "%s: No text specified.\n" -msgstr "%s: Ingen tekst angivet.\n" - -#: vttools/writevt.c:83 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: for mange argumenter\n" - -#: vttools/writevt.c:91 -#, c-format -msgid "%s: could not open tty\n" -msgstr "%s: kunne ikke åbne tty\n" - -#: vttools/writevt.c:99 -#, c-format -msgid "%s: TIOCSTI ioctl failed\n" -msgstr "%s: TIOCSTI ioctl fejlede\n" - -#~ msgid "Font too high\n" -#~ msgstr "Font er for høj\n" - -#~ msgid "Reading SFM from font file.\n" -#~ msgstr "Læser SFM fra font fil.\n" - -#~ msgid "GIO_UNIMAP (get count)" -#~ msgstr "GIO_UNIMAP (skaf count)" - -#~ msgid "GIO_UNIMAP (get map)" -#~ msgstr "GIO_UNIMAP (skaf map)" - -#~ msgid "... assuming %d\n" -#~ msgstr "... antager %d\n" - -#~ msgid "Select font file format for saving" -#~ msgstr "Vælg font fil format at gemme" - -#~ msgid "unknown font format" -#~ msgstr "ukendt font format" - -#~ msgid "" -#~ "Available file formats:\n" -#~ "\n" -#~ msgstr "" -#~ "Tilgængelige fil formater:\n" -#~ "\n" - -#~ msgid "Loaded %s.\n" -#~ msgstr "Indlæste %s.\n" - -#~ msgid "keymaps " -#~ msgstr "keymaps " - -#~ msgid "keycode %3d =" -#~ msgstr "keycode %3d =" Binary files /tmp/tmpayi9pl/v7Up8WiOl7/console-tools-0.2.3/po/de.gmo and /tmp/tmpayi9pl/Fy8SctC1qL/console-tools-0.2.3/po/de.gmo differ diff -Nru console-tools-0.2.3/po/de.po console-tools-0.2.3/po/de.po --- console-tools-0.2.3/po/de.po 1999-10-25 20:58:18.000000000 +0000 +++ console-tools-0.2.3/po/de.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,1711 +0,0 @@ -# German language messages for console-tools -# Armin Wolfermann <armin@wolfermann.org>, July 1999. -# -msgid "" -msgstr "" -"Project-Id-Version: console-tools 1999-04-15\n" -"POT-Creation-Date: 1999-10-25 22:33+0200\n" -"PO-Revision-Date: 1999-07-21 12:00+0200\n" -"Last-Translator: Armin Wolfermann <armin@wolfermann.org>\n" -"Language-Team: German <de@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" - -#: fontfiletools/psfaddtable.c:30 -#, c-format -msgid "" -"Usage: %s psffont_in sfm_file [psffont_out]\n" -"Add a Unicode character table to a PSF font\n" -msgstr "" -"Benutzung: %s psf_datei sfm_datei [psf_ausgabedatei]\n" -"Eine Unicode-Zeichentabelle in einen PSF-Zeichensatz einfügen\n" - -#: fontfiletools/psfaddtable.c:33 -msgid "input psffont filename" -msgstr "Dateiname PSF-Zeichensatz" - -#: fontfiletools/psfaddtable.c:34 -msgid "screen-font-map filename" -msgstr "Dateiname SFM-Datei" - -#: fontfiletools/psfaddtable.c:35 -msgid "output psffont filename" -msgstr "Dateiname PSF-Ausgabedatei" - -#: fontfiletools/psfaddtable.c:86 fontfiletools/psfaddtable.c:96 -#: fontfiletools/psfgettable.c:76 fontfiletools/psfstriptable.c:78 -#, c-format -msgid "%s: wrong number of arguments\n" -msgstr "%s: falsche Anzahl von Argumenten\n" - -#: fontfiletools/psfaddtable.c:113 -#, c-format -msgid "%s: psffont and chartable cannot both be stdin\n" -msgstr "" -"%s: Argumente psf_datei und sfm_datei können nicht beide auf die " -"Standardeingabe gesetzt werden\n" - -#: fontfiletools/psfaddtable.c:200 -#, c-format -msgid "Loading unicode map from %s.\n" -msgstr "Lade Unicode-Tabelle aus %s.\n" - -#: fontfiletools/psfgettable.c:26 -#, c-format -msgid "" -"Usage: %s psffont chartable [outfile]\n" -"Extract a Unicode character table from a PSF font\n" -msgstr "" -"Benutzung: %s psf_datei tabelle [ausgabedatei]\n" -"Extrahiere eine Unicode-Zeichentabelle aus einem PSF-Zeichensatz\n" - -#: fontfiletools/psfgettable.c:29 fontfiletools/psfstriptable.c:31 -msgid "psffont filename" -msgstr "Dateiname PSF-Zeichensatz" - -#: fontfiletools/psfgettable.c:30 fontfiletools/psfstriptable.c:32 -msgid "output filename" -msgstr "Dateiname Ausgabedatei" - -#: fontfiletools/psfgettable.c:139 -#, c-format -msgid "%s: Font has no character table\n" -msgstr "%s: Zeichensatz hat keine Zeichentabelle\n" - -#: fontfiletools/psfstriptable.c:28 -#, c-format -msgid "" -"Usage: %s [options] psffont [outfile]\n" -"Strip Unicode character table from a PSF font\n" -msgstr "" -"Benutzung: %s [optionen] psf_datei [ausgabedatei]\n" -"Eine Unicode-Zeichentabelle aus einem PSF-Zeichensatz entfernen\n" - -#: fontfiletools/psfstriptable.c:140 -#, c-format -msgid "%s: Font already had no character table\n" -msgstr "%s: Zeichensatz hat bereits keine Zeichentabelle mehr\n" - -#: kbdtools/showkey.c:47 -msgid "?UNKNOWN?" -msgstr "?UNBEKANNT?" - -#: kbdtools/showkey.c:49 -#, c-format -msgid "kb mode was %s\n" -msgstr "kb Modus war %s\n" - -#: kbdtools/showkey.c:52 -msgid "[ if you are trying this under X, it might not work\n" -msgstr "[ Wenn Sie das in X versuchen, könnte es nicht funktionieren, \n" - -#: kbdtools/showkey.c:53 -msgid "since the X server is also reading /dev/console ]\n" -msgstr "da der X-Server ebenfalls vom Gerät /dev/console liest ]\n" - -#: kbdtools/showkey.c:72 -#, c-format -msgid "caught signal %d, cleaning up...\n" -msgstr "Signal %d erhalten, räume auf...\n" - -#: kbdtools/showkey.c:85 -#, c-format -msgid "usage: %s [options...] <command>\n" -msgstr "Benutzung: %s [optionen...] <kommando>\n" - -#: kbdtools/showkey.c:87 -msgid "display only the raw scan-codes." -msgstr "Zeige nur uninterpretierte Scancodes an." - -#: kbdtools/showkey.c:88 -msgid "display only the interpreted keycodes (default)." -msgstr "Zeige nur interpretierte Tastencodes an (Voreinstellung)." - -#: kbdtools/showkey.c:89 -msgid "display only keymap-translated chars." -msgstr "Zeige nur durch die Tastaturtabelle übersetzte Zeichen an." - -#: kbdtools/showkey.c:90 -msgid "display unicode-translated chars." -msgstr "Zeige in Unicode übersetzte Zeichen an." - -#: kbdtools/showkey.c:94 -msgid "set the timeout to N seconds." -msgstr "setzte maximale Wartezeit auf N Sekunden" - -#: kbdtools/showkey.c:158 -msgid "timeout value must be numeric" -msgstr "Für maximale Wartezeit sind nur numerische Werte möglich" - -#: kbdtools/dumpkeys.c:632 kbdtools/showkey.c:174 -msgid "no non-option arguments allowed" -msgstr "Außer Optionen sind keine Argumente möglich" - -#: kbdtools/showkey.c:177 -msgid "WARNING: Unicode mode is experimental -- output may be wrong\n" -msgstr "WARNUNG: Unicode Modus ist experimentell -- Ausgabe kann falsch sein\n" - -#: kbdtools/showkey.c:235 -#, c-format -msgid "press any key (program terminates after %us of last keypress)...\n" -msgstr "" -"Taste drücken (Programm beendet sich %us nach dem letzten Tastendruck)...)\n" - -#: kbdtools/showkey.c:254 -#, c-format -msgid "keycode %3d %s\n" -msgstr "Tastencode %3d %s\n" - -#: kbdtools/showkey.c:256 -msgid "release" -msgstr "loslassen" - -#: kbdtools/showkey.c:256 -msgid "press" -msgstr "drücken" - -#: kbdtools/setmetamode.c:22 -#, c-format -msgid "" -"\n" -"Usage:\n" -"\t%1$s [ metabit | meta | bit | escprefix | esc | prefix ]\n" -"Each vt has his own copy of this bit. Use\n" -"\t%1$s [arg] < /dev/ttyn\n" -"to change the settings of another vt.\n" -"The setting before and after the change are reported.\n" -msgstr "" -"\n" -"Benutzung:\n" -"\t%1$s [ metabit | meta | bit | escprefix | esc | prefix ]\n" -"Jedes vt hat eine eigene Kopie dieser Einstellung. Benutzen Sie\n" -"\t%1$s [arg] < /dev/ttyn\n" -"um die Einstellung eines anderen Terminals zu verändern.\n" -"Die Einstellungen vor und nach der Änderung werden angezeigt.\n" - -#: kbdtools/setmetamode.c:38 -msgid "Meta key sets high order bit\n" -msgstr "Meta-Taste setzt das höchste Bit\n" - -#: kbdtools/setmetamode.c:41 -msgid "Meta key gives Esc prefix\n" -msgstr "Meta-Taste erzeugt ein Esc-Präfix\n" - -#: kbdtools/setmetamode.c:44 -msgid "Strange mode for Meta key?\n" -msgstr "Seltsamer Modus für Meta-Taste?\n" - -#: kbdtools/setmetamode.c:76 -msgid "Error reading current setting. Maybe stdin is not a VT?\n" -msgstr "" -"Fehler beim Lesen der aktuellen Werte. Ist die Standardeingabe " -"möglicherweise kein virtuelles Terminal (VT)?\n" - -#: kbdtools/setmetamode.c:95 -msgid "unrecognized argument" -msgstr "Unbekanntes Argument" - -#: kbdtools/setmetamode.c:98 -msgid "old state: " -msgstr "Alter Zustand: " - -#: kbdtools/setmetamode.c:105 -msgid "new state: " -msgstr "Neuer Zustand: " - -#: kbdtools/kbd_mode.c:23 -#, c-format -msgid "" -"Usage: %s [option]\n" -"Report and set keyboard mode\n" -msgstr "" -"Benutzung: %s [option]\n" -"Anzeige und setzen des Tastatur-Modus\n" - -#: kbdtools/kbd_mode.c:26 -msgid "print this help information and exit" -msgstr "diesen Hilfstext anzeigen und beenden" - -#: kbdtools/kbd_mode.c:27 -msgid "report version and exit" -msgstr "Version anzeigen und beenden" - -#: kbdtools/kbd_mode.c:28 -msgid "ASCII or 8bit mode (XLATE)" -msgstr "ASCII oder 8bit Modus (XLATE)" - -#: kbdtools/kbd_mode.c:29 -msgid "keycode mode (MEDIUMRAW)" -msgstr "Tastencode Modus (MEDIUMRAW)" - -#: kbdtools/kbd_mode.c:30 -msgid "UTF-8 mode (UNICODE)" -msgstr "UTF-8 Modus (UNICODE)" - -#: kbdtools/kbd_mode.c:31 -msgid "scancode mode (RAW)" -msgstr "Scancode Modus (RAW)" - -#: kbdtools/kbd_mode.c:32 -msgid "set mode" -msgstr "Setze Modus" - -#: kbdtools/kbd_mode.c:85 -#, c-format -msgid "%s: unknown mode: %s\n" -msgstr "%s: Unbekannter Modus: %s\n" - -#: kbdtools/kbd_mode.c:111 -msgid ": error reading keyboard mode\n" -msgstr ": Fehler beim Lesen des Tastaturmodus\n" - -#: kbdtools/kbd_mode.c:117 -msgid "The keyboard is in raw (scancode) mode\n" -msgstr "Die Tasttatur ist im Scancode (RAW) Modus\n" - -#: kbdtools/kbd_mode.c:120 -msgid "The keyboard is in mediumraw (keycode) mode\n" -msgstr "Die Tastatur ist im Tastencode (MEDIUMRAW) Modus\n" - -#: kbdtools/kbd_mode.c:123 -msgid "The keyboard is in the default (ASCII) mode\n" -msgstr "Die Tastatur ist im voreingestellten (ASCII) Modus\n" - -#: kbdtools/kbd_mode.c:126 -msgid "The keyboard is in Unicode (UTF-8) mode\n" -msgstr "Die Tastatur ist im Unicode (UTF-8) Modus\n" - -#: kbdtools/kbd_mode.c:129 -msgid "The keyboard is in some unknown mode\n" -msgstr "Die Tastatur ist in einem unbekannten Modus\n" - -#: kbdtools/kbd_mode.c:137 -msgid ": error setting keyboard mode\n" -msgstr ": Fehler beim Setzen des Tastaturmodus\n" - -#: loadkeys.y:287 -msgid "too many keydefinitions on one line" -msgstr "Zu viele Tastendefinitionen in einer Zeile" - -#: loadkeys.y:306 -#, c-format -msgid "Usage: %s [option...] [mapfile...]\n" -msgstr "Benutzung: %s [option...] [datei...]\n" - -#: loadkeys.y:308 -msgid "clear kernel compose table" -msgstr "Compose-Tabelle des Kernel löschen" - -#: loadkeys.y:309 -msgid "load default keymap file" -msgstr "Voreingestellte Tastaturtabelle laden" - -#. FIXME: should print DEFKMAP -#: loadkeys.y:310 -msgid "output a \"defkeymap.c\" to stdout" -msgstr "eine \"defkeymap.c\" auf der Standardausgabe ausgeben" - -#: loadkeys.y:311 -msgid "clear kernel string table" -msgstr "Zeichentabelle des Kernel löschen" - -#: loadkeys.y:312 -msgid "be silent" -msgstr "keine Meldungen" - -#: loadkeys.y:313 -msgid "report the changes" -msgstr "Änderungen anzeigen" - -#: loadkeys.y:314 -msgid "report more changes" -msgstr "Änderungen noch genauer anzeigen" - -#: loadkeys.y:392 -msgid "syntax error in map file\n" -msgstr "Syntaxfehler\n" - -#: loadkeys.y:394 -msgid "key bindings not changed\n" -msgstr "Tastenverknüpfungen nicht verändert\n" - -#: loadkeys.y:482 -#, c-format -msgid "Cannot find %s\n" -msgstr "Kann %s nicht finden\n" - -#: loadkeys.y:499 -#, c-format -msgid "cannot open file %s\n" -msgstr "Kann Datei %s nicht öffnen\n" - -#: loadkeys.y:524 -#, c-format -msgid "addmap called with bad index %d" -msgstr "addmap mit falschem Index %d aufgerufen" - -#: loadkeys.y:529 -#, c-format -msgid "adding map %d violates explicit keymaps line)" -msgstr "Hinzufügen von Tabelle %d verletzt `keymaps' Zeile" - -#: loadkeys.y:543 -#, c-format -msgid "killkey called with bad index %d" -msgstr "killkey mit falschem Index %d aufgerufen" - -#: loadkeys.y:545 -#, c-format -msgid "killkey called with bad table %d" -msgstr "killkey mit falscher Tabelle %d aufgerufen" - -#: loadkeys.y:559 -#, c-format -msgid "addkey called with bad index %d" -msgstr "addkey mit falschem Index %d aufgerufen" - -#: loadkeys.y:561 -#, c-format -msgid "addkey called with bad table %d" -msgstr "addkey mit falscher Tabelle %d aufgerufen" - -#: loadkeys.y:605 -#, c-format -msgid "%s: addfunc called with bad func %d\n" -msgstr "%s: addfunc mit falscher Funktion %d aufgerufen\n" - -#: loadkeys.y:628 -#, c-format -msgid "%s: addfunc: func_buf overflow\n" -msgstr "%s: addfunc: Überlauf von func_buf\n" - -#: loadkeys.y:657 -msgid "compose table overflow\n" -msgstr "Überlauf der Zusammensetzungstabelle\n" - -#: loadkeys.y:666 -#, c-format -msgid "Warning: Compose char %4x ('%c','%c') > 0xFF will be truncated to %2x\n" -msgstr "" -"Warnung: Zusammengesetztes Zeichen %4x ('%c','%c') > 0xFF wird zu %2x " -"verkürzt\n" - -#: loadkeys.y:669 -msgid " (Linux kernel < 2.3.X can't handle unicode compose chars properly)\n" -msgstr "" -" (Linux Kernel < 2.3.X können zusammengesetzte Unicode-Zeichen nicht " -"korrekt verwenden)\n" - -#: loadkeys.y:709 -#, c-format -msgid "Keymap %d: Permission denied\n" -msgstr "Tastentabelle %d: Zugriff verweigert\n" - -#: loadkeys.y:718 -#, c-format -msgid "keycode %d, table %d = %d%s\n" -msgstr "Tastencode %d, Tabelle %d = %d%s\n" - -#: loadkeys.y:719 -msgid " FAILED" -msgstr " FEHLER" - -#: loadkeys.y:721 -#, c-format -msgid "failed to bind key %d to value %d\n" -msgstr "Konnte Taste %d nicht mit Wert %d verknüpfen\n" - -#: loadkeys.y:734 -#, c-format -msgid "deallocate keymap %d\n" -msgstr "Tastentabelle %d freigeben\n" - -#: loadkeys.y:742 -#, c-format -msgid "%s: could not deallocate keymap %d\n" -msgstr "%s: konnte Tastentabelle %d nicht freigeben\n" - -#: loadkeys.y:759 -#, c-format -msgid "%s: cannot deallocate or clear keymap\n" -msgstr "%s: konnte Tastentabelle nicht freigeben oder löschen\n" - -#: loadkeys.y:772 -#, c-format -msgid "%s: failed to restore keyboard mode\n" -msgstr "%s: konnte Tastaturmodus nicht wiederherstellen\n" - -#: loadkeys.y:775 -#, c-format -msgid "" -"%s: warning: this map uses Unicode symbols\n" -" (perhaps you want to do `kbd_mode -u'?)\n" -msgstr "" -"%s: Warnung: Diese Tabelle benutzt Unicode-Zeichen\n" -" (vielleicht möchten Sie `kbd_mode -u' verwenden?\n" - -#: loadkeys.y:823 -#, c-format -msgid "failed to bind string '%s' to function %s\n" -msgstr "Konnte '%s' nicht mit Funktion %s verknüpfen\n" - -#: loadkeys.y:832 -#, c-format -msgid "failed to clear string %s\n" -msgstr "Konnte %s nicht löschen\n" - -#: loadkeys.y:850 -msgid "too many compose definitions\n" -msgstr "Zu viele zusammengesetzte Zeichen definiert\n" - -#: loadkeys.y:857 -msgid "KDSKBDIACR failed\n" -msgstr "KDSKBDIACR fehlgeschlagen\n" - -#: loadkeys.y:918 -msgid "impossible error in do_constant" -msgstr "unmöglicher Fehler in do_constant" - -#: loadkeys.y:939 -#, fuzzy, c-format -msgid "" -"\n" -"Changed %d key%s and %d string%s.\n" -msgstr "" -"\n" -"Es wurden %d Tasten (%s) und %d Zeichenketten (%s) verändert.\n" - -#: loadkeys.y:943 -#, fuzzy, c-format -msgid "Loaded %d compose definition%s.\n" -msgstr "%d Definitionen (%s) für zusammengesetzte Zeichen geladen.\n" - -#: loadkeys.y:946 -msgid "(No change in compose definitions.)\n" -msgstr "(Keine Veränderung der zusammengesetzten Zeichen.)\n" - -#: loadkeys.y:983 -#, c-format -msgid "loadkeys: don't know how to compose for %s\n" -msgstr "loadkeys: Kann %s nicht zusammensetzen\n" - -#: kbdtools/getkeycodes.c:21 -#, c-format -msgid "" -"Usage: %s\n" -"Print kernel scancode-to-keycode mapping table\n" -msgstr "" -"Benutzung: %s\n" -"Übersetzungstabelle Scancode<->Tastencode des Kernels anzeigen\n" - -#: kbdtools/getkeycodes.c:40 -msgid "Plain scancodes xx (hex) versus keycodes (dec)\n" -msgstr "Einfache Scancodes xx (hexadezimal) und Tastencodes (dezimal)\n" - -#: kbdtools/getkeycodes.c:41 -msgid "0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n" -msgstr "" -"0 ist ein Fehler; für 1-88 (0x01-0x58) ist Scancode gleich Tastencode\n" - -#: kbdtools/getkeycodes.c:46 -msgid "" -"\n" -"\n" -"Escaped scancodes e0 xx (hex)\n" -msgstr "" -"\n" -"\n" -"Scancodes mit Escape e0 xx (hex)\n" - -#: kbdtools/getkeycodes.c:70 -#, c-format -msgid "failed to get keycode for scancode 0x%x\n" -msgstr "Fehler beim Versuch den Keycode für Scancode 0x%x zu erhalten.\n" - -#: kbdtools/dumpkeys.c:63 -#, c-format -msgid "KDGKBENT at index 0 in table %d: " -msgstr "KDGKBENT bei Index 0 in Tabelle %d: " - -#: kbdtools/dumpkeys.c:77 -#, c-format -msgid "%s: cannot find any keymaps?\n" -msgstr "%s: kann keine Tastentabellen finden?\n" - -#: kbdtools/dumpkeys.c:82 -#, c-format -msgid "%s: plain map not allocated? very strange ...\n" -msgstr "%s: Grundtabelle nicht angelegt? Sehr seltsam...\n" - -#: kbdtools/dumpkeys.c:111 -#, c-format -msgid "KDGKBENT at index %d in table %d: " -msgstr "KDGKBENT bei Index %d in Tabelle %d: " - -#: kbdtools/dumpkeys.c:200 -msgid "KDGKBDIACR failed\n" -msgstr "KDGKBDIACR fehlgeschlagen\n" - -#: kbdtools/dumpkeys.c:236 -#, c-format -msgid "keycode range supported by kernel: 1 - %d\n" -msgstr "Vom Kernel unterstützte Tastencodes: 1 - %d\n" - -#: kbdtools/dumpkeys.c:238 -#, c-format -msgid "max number of actions bindable to a key: %d\n" -msgstr "Maximal bindbare Zahl Aktionen pro Taste: %d\n" - -#: kbdtools/dumpkeys.c:241 -#, c-format -msgid "number of keymaps in actual use: %d\n" -msgstr "Aktuell verwendete Zahl von Tastentabellen: %d\n" - -#: kbdtools/dumpkeys.c:244 -#, c-format -msgid "of which %d dynamically allocated\n" -msgstr "davon %d dynamisch belegt\n" - -#: kbdtools/dumpkeys.c:245 -msgid "ranges of action codes supported by kernel:\n" -msgstr "Vom Kernel unterstützter Bereich von Aktionen:\n" - -#: kbdtools/dumpkeys.c:250 -#, c-format -msgid "number of function keys supported by kernel: %d\n" -msgstr "Vom Kernel unterstützte Funktionstasten: %d\n" - -#: kbdtools/dumpkeys.c:253 -#, c-format -msgid "max nr of compose definitions: %d\n" -msgstr "Max. Anzahl Zusammensetzungen: %d\n" - -#: kbdtools/dumpkeys.c:256 -#, c-format -msgid "nr of compose definitions in actual use: %d\n" -msgstr "Aktuell verwendete Zusammensetzungen: %d\n" - -#: kbdtools/dumpkeys.c:280 -#, c-format -msgid "" -"Symbols recognized by %s:\n" -"(numeric value, symbol)\n" -"\n" -msgstr "" -"Von %s erkannte Symbole:\n" -"(Numerischer Wert, Symbol)\n" -"\n" - -#: kbdtools/dumpkeys.c:292 -msgid "" -"\n" -"The following synonyms are recognized:\n" -"\n" -msgstr "" -"\n" -"Die folgenden Synonyme werden erkannt:\n" -"\n" - -#: kbdtools/dumpkeys.c:296 -msgid "" -"\n" -"Recognized modifier names and their column numbers:\n" -msgstr "" -"\n" -"Erkannte Modifikatoren und ihre Spalten:\n" - -#: kbdtools/dumpkeys.c:432 -msgid "impossible: not meta?\n" -msgstr "Unmöglich: kein Meta?\n" - -#: kbdtools/dumpkeys.c:487 -#, c-format -msgid "KDGKBSENT at index %d: " -msgstr "KDGKBSENT bei Index %d: " - -#: kbdtools/dumpkeys.c:510 -#, c-format -msgid "Usage: %s [options...]\n" -msgstr "Benutzung: %s [optionen...]\n" - -#: kbdtools/dumpkeys.c:512 -msgid "display information about keyboard driver" -msgstr "Informationen über Tastaturtreiber anzeigen" - -#: kbdtools/dumpkeys.c:513 -msgid "display above and symbols known to loadkeys" -msgstr "zusätzlich Symbole anzeigen, die loadkeys kennt" - -#: kbdtools/dumpkeys.c:514 -msgid "display keytable in hexadecimal notation" -msgstr "Zeige Tastentabelle in Hexadezimal-Notation an" - -#: kbdtools/dumpkeys.c:515 -msgid "don't use short-hand notations, one row per keycode" -msgstr "Keine Abkürzungen verwenden, eine Zeile pro Tastencode" - -#: kbdtools/dumpkeys.c:516 -msgid "one line per (modifier,keycode) pair" -msgstr "Eine Zeile pro (Modifier,Tastencode) Paar" - -#: kbdtools/dumpkeys.c:517 -msgid "display only the function key strings" -msgstr "Nur die Belegung der Funktionstasten anzeigen" - -#: kbdtools/dumpkeys.c:518 -msgid "display only key bindings" -msgstr "Nur Tastenverknüpfungen anzeigen" - -#: kbdtools/dumpkeys.c:519 -msgid "choose output shape, where <shape> is:" -msgstr "Ausgabeform wählen, dabei kann <shape> sein:" - -#: kbdtools/dumpkeys.c:520 -msgid " 0 = default" -msgstr " 0 = Voreinstellung" - -#: kbdtools/dumpkeys.c:521 -msgid " 1 = same as --full-table" -msgstr " 1 = identisch mit --full-table" - -#: kbdtools/dumpkeys.c:522 -msgid " 2 = same as --separate-lines" -msgstr " 2 = identisch mit --separate-lines" - -#: kbdtools/dumpkeys.c:523 -msgid " 3 = one line per keycode, until 1st hole" -msgstr " 3 = eine Zeile pro Tastencode bis zur ersten Lücke" - -#: kbdtools/dumpkeys.c:525 -msgid "display only compose key combinations" -msgstr "Nur zusammengesetzte Tastenkombinationen anzeigen" - -#: kbdtools/dumpkeys.c:528 -msgid "interpret character action codes to be from the" -msgstr "Interpretiere Zeichencodes, als kämen sie aus dem" - -#: kbdtools/dumpkeys.c:529 -msgid "specified character set" -msgstr "angegebenen Zeichensatz" - -#: kbdtools/dumpkeys.c:531 -msgid "display this help text and exit" -msgstr "diese Hilfe anzeigen und beenden" - -#: kbdtools/dumpkeys.c:532 -msgid "display version information and exit" -msgstr "Version anzeigen und beenden" - -#: kbdtools/dumpkeys.c:534 -msgid "" -"\n" -"available charsets:\n" -msgstr "" -"\n" -"Vorhandene Zeichensätze:\n" - -#: kbdtools/setleds.c:29 -#, c-format -msgid "" -"Usage:\t%1$s [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll ]]\n" -"Thus,\n" -"\t%1$s +caps -num\n" -"will set CapsLock, clear NumLock and leave ScrollLock unchanged.\n" -"The settings before and after the change (if any) are reported\n" -"when the -v option is given or when no change is requested.\n" -"Normally, %1$s influences the vt flag settings\n" -"(and these are usually reflected in the leds).\n" -"With -L, %1$s only sets the leds, and leaves the flags alone.\n" -"With -D, %1$s sets both the flags and the default flags, so\n" -"that a subsequent reset will not change the flags.\n" -msgstr "" -"Benutzung:\t%1$s [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll ]]\n" -"D.h.\n" -"\t%1$s +caps -num\n" -"setzt CapsLock, löscht NumLock und läßt ScrollLock unverändert.\n" -"Die Einstellungen vor und nach der Änderung (falls vorhanden) werden\n" -"durch -v oder bei nicht vorhandenen Argumenten angezeigt.\n" -"Normalerweise verändert %1$s die Terminal-Einstellungen\n" -"und diese werden über die Tastatur-LEDs angezeigt.\n" -"Mit -L setzt %1$s nur die LEDs, ohne die Einstellungen zu ändern.\n" -"Mit -D setzt %1$s die Einstellungen und die Vorgabewerte, wodurch\n" -"ein späterer Reset die Einstellungen nicht mehr verändern kann.\n" - -#: kbdtools/setleds.c:103 -#, c-format -msgid "%s: unknown argument: %s\n" -msgstr "%s: Unbekanntes Argument: %s\n" - -#: kbdtools/setleds.c:117 -#, c-format -msgid "NumLock %s CapsLock %s ScrollLock %s\n" -msgstr "NumLock %s CapsLock %s ScrollLock %s\n" - -#: kbdtools/setleds.c:143 -msgid "Error reading current led setting. Maybe stdin is not a VT?\n" -msgstr "" -"Kann aktuelle LED-Werte nicht lesen. Ist die Standardeingabe ein virtuelles " -"Terminal (VT)?\n" - -#: kbdtools/setleds.c:150 -msgid "Error reading current flags setting. Maybe an old kernel?\n" -msgstr "" -"Kann die Terminal-Einstellungen nicht lesen. Möglicherweise ein veralteter " -"Kernel?\n" - -#: kbdtools/setleds.c:163 -msgid "Error resetting ledmode\n" -msgstr "Fehler beim Rücksetzen der LED-Werte\n" - -#: kbdtools/setleds.c:172 -msgid "Current default flags: " -msgstr "Aktuelle Voreinstellungen: " - -#: kbdtools/setleds.c:176 -msgid "Current flags: " -msgstr "Aktuelle Einstellungen: " - -#: kbdtools/setleds.c:180 -msgid "Current leds: " -msgstr "Aktuelle LED-Werte: " - -#: kbdtools/setleds.c:192 -msgid "Old default flags: " -msgstr "Alte Voreinstellungen: " - -#: kbdtools/setleds.c:194 -msgid "New default flags: " -msgstr "Neue Voreinstellungen: " - -#: kbdtools/setleds.c:201 -msgid "Old flags: " -msgstr "Alte Einstellungen: " - -#: kbdtools/setleds.c:203 -msgid "New flags: " -msgstr "Neue Einstellungen: " - -#: kbdtools/setleds.c:216 -msgid "Old leds: " -msgstr "Alte LED-Werte: " - -#: kbdtools/setleds.c:218 -msgid "New leds: " -msgstr "Neue LED-Werte: " - -#: lib/sfm-utils.c:35 -msgid "loadunimap: out of memory\n" -msgstr "loadunimap: Speicherüberlauf\n" - -#: lib/wrappers.c:15 -msgid "Out of Memory\n" -msgstr "Speicherüberlauf\n" - -#: lib/wrappers.c:26 -msgid "Out of Memory?\n" -msgstr "Speicherüberlauf?\n" - -#: lib/sfm-rd-ascii.c:31 -msgid "Warning: line too long in unicode map.\n" -msgstr "Warnung: Zeile in Unicode-Tabelle ist zu lang\n" - -#: lib/sfm-rd-ascii.c:54 lib/sfm-rd-ascii.c:68 -#, c-format -msgid "Bad input line: %s\n" -msgstr "Falsche Eingabezeile: %s\n" - -#: lib/sfm-rd-ascii.c:80 -#, c-format -msgid "unicode map: glyph number (0x%x) larger than font length\n" -msgstr "Unicode-Tabelle: Glyphe (0x%x) länger als Zeichensatzlänge\n" - -#: lib/sfm-rd-ascii.c:88 -#, c-format -msgid "unicode map: bad end of range (0x%x)\n" -msgstr "Unicode-Tabelle: falsches Bereichsende (0x%x)\n" - -#: lib/sfm-rd-ascii.c:113 -msgid "" -"unicode map: Corresponding to a range of font positions, there should be a " -"Unicode range\n" -msgstr "" -"Unicode-Tabelle: Zu einem Bereich von Zeichensatz-Positionen sollte auch ein " -"Unicode-Bereich exisitieren\n" - -#: lib/sfm-rd-ascii.c:123 -#, c-format -msgid "" -"unicode map: Bad Unicode range corresponding to font position range " -"0x%x-0x%x\n" -msgstr "" -"Unicode-Tabelle: Falscher Unicode-Bereich zum Zeichensatz-Bereich 0x%x-0x%x\n" - -#: lib/sfm-rd-ascii.c:131 -#, c-format -msgid "" -"unicode map: Unicode range U+%x-U+%x not of the same length as font position " -"range 0x%x-0x%x\n" -msgstr "" -"Unicode-Tabelle: Unicodebereich U+%x-U+%x hat nicht die gleiche Länge wie " -"Zeichensatzbereich 0x%x-0x%x\n" - -#: lib/sfm-rd-ascii.c:151 -#, c-format -msgid "unicode map: trailing junk (%s) ignored\n" -msgstr "Unicode-Tabelle: Nachfolgende Zeichen (%s) ignoriert\n" - -#: lib/saveunimap.c:24 -#, c-format -msgid "Would save %d SFM entries in `%s'.\n" -msgstr "Würde %d SFM-Einträge in `%s' schreiben.\n" - -#: lib/misc-console-utils.c:89 -msgid "Couldnt get a file descriptor referring to the console\n" -msgstr "Konnte keinen Dateideskriptor für die Konsole erhalten\n" - -#: lib/psf-header.c:26 -#, c-format -msgid "Unknown PSF mode number (%d).\n" -msgstr "Unbekannte PSF Modusnummer (%d).\n" - -#: lib/ksyms.c:971 -#, c-format -msgid "Error: unknown charset `%s'.\n" -msgstr "Fehler: Unbekannter Zeichensatz `%s'.\n" - -#: lib/ksyms.c:1010 -#, c-format -msgid "assuming iso-8859-2 %s\n" -msgstr "verwende iso-8859-2 %s\n" - -#: lib/ksyms.c:1017 -#, c-format -msgid "assuming iso-8859-3 %s\n" -msgstr "verwende iso-8859-3 %s\n" - -#: lib/ksyms.c:1024 -#, c-format -msgid "assuming iso-8859-4 %s\n" -msgstr "verwende iso-8859-4 %s\n" - -#: lib/ksyms.c:1028 -#, c-format -msgid "unknown keysym `%s'\n" -msgstr "Unbekanntes Tastensymbol `%s'\n" - -#: lib/findfile.c:64 -#, c-format -msgid "%s: %s child exited anormally with code %d.\n" -msgstr "%s: %s Tochterprozess wurde mit Fehlercode %d beendet.\n" - -#: lib/findfile.c:67 -#, c-format -msgid "%s: %s child was terminated by signal %d.\n" -msgstr "%s: %s Tochterprozess wurde mit Signal %d beendet.\n" - -#: lib/findfile.c:70 -#, c-format -msgid "%s: %s child was stopped by signal %d.\n" -msgstr "%s: %s Tochterprozess wurde von Signal %d angehalten.\n" - -#: lib/findfile.c:85 -msgid "Feeder" -msgstr "" - -#: lib/findfile.c:90 -msgid "Decompressor" -msgstr "" - -#: lib/findfile.c:95 -msgid "Identifier" -msgstr "" - -#: lib/findfile.c:122 -msgid "chld_handler()" -msgstr "" - -#: lib/findfile.c:128 -#, c-format -msgid "%s child exited OK.\n" -msgstr "%s Tochterprozess korrekt beendet.\n" - -#: lib/findfile.c:172 -msgid "fread magic" -msgstr "Konnte Dateikennung nicht lesen" - -#: lib/findfile.c:232 -msgid "decompressor fork" -msgstr "" - -#: lib/findfile.c:238 -msgid "decompressor: close file[1]" -msgstr "" - -#: lib/findfile.c:243 -msgid "decompressor: close uncompressed[0]" -msgstr "" - -#: lib/findfile.c:252 -msgid "decompressor: dup2 file[0]" -msgstr "" - -#: lib/findfile.c:259 -msgid "decompressor: dup2 uncompressed[1]" -msgstr "" - -#: lib/findfile.c:268 -#, c-format -msgid "Decompressor program not found: %s\n" -msgstr "Dekompressionsprogramm nicht gefunden: %s\n" - -#: lib/findfile.c:271 -msgid "decompressor: execlp" -msgstr "" - -#: lib/findfile.c:287 -msgid "feeder fork" -msgstr "" - -#: lib/findfile.c:294 -msgid "feeder: close uncompressed[0]" -msgstr "" - -#: lib/findfile.c:302 -msgid "feeder: write zmagicbuf" -msgstr "" - -#: lib/findfile.c:308 -msgid "feeder: feed" -msgstr "" - -#: lib/findfile.c:340 -msgid "fread" -msgstr "" - -#: lib/findfile.c:377 -msgid "identifier fork" -msgstr "" - -#: lib/findfile.c:382 -msgid "identifier: close identified[0]" -msgstr "" - -#: lib/findfile.c:389 -msgid "identifier: write magicIDbuf" -msgstr "" - -#: lib/findfile.c:395 -msgid "identifier: feed" -msgstr "" - -#: lib/findfile.c:439 -#, c-format -msgid "Zombie %d caught.\n" -msgstr "" - -#: lib/findfile.c:450 -msgid "One for nothing.\n" -msgstr "" - -#: lib/findfile.c:562 -msgid "Warning: ignoring a possible path (too long)." -msgstr "Warnung: Ignoriere möglichen Pfad (zu lang)." - -#: lib/findfile.c:668 -msgid "feeder" -msgstr "" - -#: lib/findfile.c:669 -msgid "decompressor" -msgstr "" - -#: lib/findfile.c:670 -msgid "identifier" -msgstr "" - -#: lib/findfile.c:676 -msgid "findfile(): timeout waiting for undead child(ren) ?\n" -msgstr "" - -#: lib/findfile.c:711 -msgid "Buffer overflow - aborting\n" -msgstr "Pufferüberlauf - Abbruch\n" - -#: lib/acm.c:35 -msgid "Cannot stat map file" -msgstr "Kann Datei nicht finden" - -#: lib/acm.c:47 -msgid "16bit screen-map MUST be a regular file.\n" -msgstr "Die 16-Bit Bildschirmtabelle muß eine reguläre Datei sein.\n" - -#: lib/acm.c:49 -msgid "fseek failed reading binary 16bit screen-map" -msgstr "" - -#: lib/acm.c:53 -msgid "Cannot read [new] map from file" -msgstr "Kann (neue) Tabelle nicht aus Datei lesen" - -#: lib/acm.c:56 -msgid "Input screen-map is binary.\n" -msgstr "Bildschirmtabelle ist im Binärformat.\n" - -#: lib/acm.c:65 -msgid "PIO_UNISCRNMAP ioctl" -msgstr "" - -#: lib/acm.c:75 -msgid "Assuming 8bit screen-map - MUST be a regular file.\n" -msgstr "Die 8-Bit Bildschirmtabelle muß eine reguläre Datei sein.\n" - -#: lib/acm.c:77 -msgid "fseek failed assuming 8bit screen-map" -msgstr "" - -#. should not - it succedeed above -#: lib/acm.c:91 -msgid "fseek() returned ESPIPE !\n" -msgstr "" - -#: lib/acm.c:93 -msgid "fseek for binary 8bit screen-map" -msgstr "" - -#: lib/acm.c:97 -msgid "Cannot read [old] map from file" -msgstr "Kann (alte) Tabelle nicht aus Datei lesen" - -#: lib/acm.c:105 -msgid "PIO_SCRNMAP ioctl" -msgstr "" - -#: lib/acm.c:111 -msgid "Error parsing symbolic map\n" -msgstr "Fehler bei Verarbeitung der Symboltabelle\n" - -#: lib/acm.c:158 -msgid "uni_screen_map_read_ascii() can't read line" -msgstr "" - -#: lib/acm.c:306 -msgid "GIO_UNISCRNMAP ioctl error" -msgstr "" - -#: lib/acm.c:310 -msgid "GIO_SCRNMAP ioctl error" -msgstr "" - -#: lib/acm.c:331 lib/acm.c:339 -msgid "Error writing map to file" -msgstr "Fehler beim Schreiben der Tabelle in eine Datei" - -#: lib/miscutils.c:56 -#, c-format -msgid "%s: Unexpected arguments.\n" -msgstr "%s: Unerwartete Argumente.\n" - -#: screenfonttools/consolechars.c:48 -#, c-format -msgid "Usage: %s [options] [commands]\n" -msgstr "Benutzung: %s [optionen] [anweisungen]\n" - -#: screenfonttools/consolechars.c:50 -msgid "List operations as they are done" -msgstr "Vorgänge während der Ausführung anzeigen" - -#: screenfonttools/consolechars.c:51 -msgid "Do not change the console state nor write to any file" -msgstr "Konsole nicht verändern und keine Datei schreiben" - -#: screenfonttools/consolechars.c:52 -msgid "" -"(N in 0..32) Choose the right font from a codepage that\n" -"contains three fonts (only 8/14/16 allowed then), or choose\n" -"default font, ie. \"default8xN\"" -msgstr "" -"(N aus 0..32) Wählen Sie den richtigen Zeichensatz aus einer Codeseite\n" -"die drei Zeichensätze enthält (nur 8/14/16 möglich) oder wählen Sie\n" -"den Vorgabe-Zeichensatz, z.B. \"default8xN\"" - -#: screenfonttools/consolechars.c:55 -msgid "Suppress loading of a screen-font map [use with care]" -msgstr "Keine Bildschirmzeichensatz-Tabelle laden (Vorsicht)" - -#: screenfonttools/consolechars.c:56 -msgid "When loading an ACM, activate G1 charset instead of G0" -msgstr "Beim Laden einer ACM den Zeichensatz G1 (statt G0) aktivieren" - -#: screenfonttools/consolechars.c:57 -msgid "Use `device' as console device for ioctls" -msgstr "Verwende `device' als Konsole für ioctl-Aufrufe" - -#: screenfonttools/consolechars.c:59 -msgid "Load the console-font from specified file" -msgstr "Lade Konsolenzeichensatz aus angegebener Datei" - -#: screenfonttools/consolechars.c:60 -msgid "Load a default font from a file" -msgstr "Lade voreingestellten Zeichensatz aus einer Datei" - -#: screenfonttools/consolechars.c:61 -msgid "Restore ROM font (does not work with all kernels)" -msgstr "Zeichensatz aus ROM wiederherstellen (nicht mit jedem Kernel)" - -#: screenfonttools/consolechars.c:63 -msgid "" -"Load the SFM from specified file\n" -"(instead of the one in font-file, if any)" -msgstr "" -"Lade SFM aus angegebener Datei\n" -"(anstatt aus dem Zeichensatz, falls vorhanden)" - -#: screenfonttools/consolechars.c:65 -#, fuzzy -msgid "Merge SFM fallbacks from file into SFM" -msgstr "SFM-`Fallbacks´ aus Datei in SFM integrieren" - -#: screenfonttools/consolechars.c:66 -msgid "Load the ACM from specified file" -msgstr "Lade ACM aus angegebener Datei" - -#: screenfonttools/consolechars.c:67 -msgid "Write current font to prefered format (now: psf-with-sfm)" -msgstr "Schreibe aktuellen Zeichensatz (jetzt: psf-with-sfm)" - -#: screenfonttools/consolechars.c:68 -msgid "Write current font to PSF file before loading a new one" -msgstr "" -"Schreibe aktuellen Zeichensatz in PSF-Datei bevor ein neuer geladen wird" - -#: screenfonttools/consolechars.c:70 -msgid "Same as -old-font-psf, and add current SFM in the PSF file" -msgstr "Wie -old-font-psf, schreibt aber aktuellen SFM in PSF-Datei" - -#: screenfonttools/consolechars.c:71 -msgid "Write current font to RAW file before loading a new one" -msgstr "" -"Schreibe aktuellen Zeichensatz in RAW-Datei bevor ein neuer geladen wird" - -#: screenfonttools/consolechars.c:72 -msgid "Write current ACM to file before loading a new one" -msgstr "Schreibe aktuelle ACM in Datei bevor neue geladen wird" - -#: screenfonttools/consolechars.c:73 -msgid "Write current SFM to file before loading a new one" -msgstr "Schreibe aktuelle SFM in Datei bevor neue geladen wird" - -#: screenfonttools/consolechars.c:84 -msgid "too many `-' as filenames" -msgstr "Zu viele `-' als Dateinamen" - -#: screenfonttools/consolechars.c:196 -msgid "--char-height argument should be in 1..31" -msgstr "Option --char-height sollte zwischen 1 und 31 liegen" - -#: screenfonttools/consolechars.c:201 screenfonttools/consolechars.c:208 -#: screenfonttools/consolechars.c:214 -msgid "only one font file is allowed" -msgstr "Nur eine Zeichensatzdatei ist erlaubt" - -#: screenfonttools/consolechars.c:220 -msgid "only one ACM is allowed" -msgstr "Nur ein ACM ist erlaubt" - -#: screenfonttools/consolechars.c:227 -msgid "only one SFM is allowed" -msgstr "Nur ein SFM ist erlaubt" - -#: screenfonttools/consolechars.c:229 -msgid "multiple requests for SFM handling" -msgstr "Mehrfache Vorgaben zur SFM-Verwendung" - -#: screenfonttools/consolechars.c:236 -msgid "WARNING: not using a unimap may lead to erroneous display !\n" -msgstr "Warnung: Ohne Unimap ist eine fehlerhafte Anzeige möglich !\n" - -#: screenfonttools/consolechars.c:246 -msgid "realloc fallback_files" -msgstr "" - -#: screenfonttools/consolechars.c:255 -msgid "only one output RAW font-file is allowed" -msgstr "Nur eine RAW-Ausgabedatei ist erlaubt" - -#: screenfonttools/consolechars.c:262 -msgid "only one output PSF font-file is allowed" -msgstr "Nur eine PSF-Ausgabedatei ist erlaubt" - -#: screenfonttools/consolechars.c:269 -msgid "only one output PSF+SFM font-file is allowed" -msgstr "Nur eine PSF+SFM-Ausgabedatei ist erlaubt" - -#: screenfonttools/consolechars.c:276 -msgid "only one output ACM file is allowed" -msgstr "Nur eine ACM-Ausgabedatei ist erlaubt" - -#: screenfonttools/consolechars.c:283 -msgid "only one output SFM file is allowed" -msgstr "Nur eine SFM-Ausgabedatei ist erlaubt" - -#: screenfonttools/consolechars.c:294 -msgid "unknown option" -msgstr "Unbekannte Option" - -#: screenfonttools/consolechars.c:299 -msgid "no non-option arguments are valid" -msgstr "Optionen ohne Argumente sind nicht möglich" - -#: screenfonttools/consolechars.c:302 -msgid "nothing to do" -msgstr "Nichts zu tun" - -#: screenfonttools/consolechars.c:316 -msgid "Saving raw old font" -msgstr "Speichere alten RAW-Zeichensatz" - -#: screenfonttools/consolechars.c:320 -msgid "Saving PSF old font" -msgstr "Speichere alten PSF-Zeichensatz" - -#: screenfonttools/consolechars.c:324 -msgid "Saving PSF+unimap old font" -msgstr "Speichere alten PSF+Unimap-Zeichensatz" - -#: screenfonttools/consolechars.c:329 -#, c-format -msgid "Would save ACM to file `%s'.\n" -msgstr "Würde ACM in Datei `%s' schreiben.\n" - -#: screenfonttools/consolechars.c:332 -#, c-format -msgid "Saving ACM to file `%s'.\n" -msgstr "Speichere ACM in Datei `%s'.\n" - -#: screenfonttools/consolechars.c:354 -#, c-format -msgid "Would load ACM from `%s'\n" -msgstr "Würde ACM aus Datei `%s' laden\n" - -#: screenfonttools/consolechars.c:357 -#, c-format -msgid "Loading ACM from `%s'\n" -msgstr "Lade ACM aus Datei `%s'\n" - -#: screenfonttools/consolechars.c:360 -msgid "Error reading ACM file.\n" -msgstr "Fehler beim Lesen der ACM-Datei.\n" - -#: screenfonttools/consolechars.c:386 -#, c-format -msgid "Would read screen-font map from %s.\n" -msgstr "Würde Bildschirmzeichensatz-Tabelle aus %s lesen.\n" - -#: screenfonttools/consolechars.c:388 -#, c-format -msgid "Reading screen-font map from %s.\n" -msgstr "Lese Bildschirmzeichensatz-Tabelle aus %s.\n" - -#: screenfonttools/consolechars.c:402 -msgid "Requesting SFM from kernel.\n" -msgstr "SFM wird vom Kernel angefordert.\n" - -#: screenfonttools/consolechars.c:406 -msgid "No valid SFM currently loaded. Aborting.\n" -msgstr "Keine gültige SFM ist geladen. Abbruch.\n" - -#: screenfonttools/consolechars.c:440 -#, c-format -msgid "Reading SFM fallbacks from `%s'.\n" -msgstr "Lese SFM Voreinstellungen aus `%s'.\n" - -#: screenfonttools/consolechars.c:448 -#, c-format -msgid "Read %u fallback entries.\n" -msgstr "Lese %u Voreinstellungen.\n" - -#: screenfonttools/consolechars.c:473 -msgid "WARNING: No SFM found in file or kernel ? Ignoring fallback file.\n" -msgstr "Warnung: Kein SFM in Datei oder Kernel? Ignoriere Voreinstellungen.\n" - -#: screenfonttools/consolechars.c:480 -msgid "Would set kernel SFM.\n" -msgstr "Würde Kernel SFM setzen.\n" - -#: screenfonttools/consolechars.c:483 -msgid "Setting kernel SFM.\n" -msgstr "Setze Kernel SFM.\n" - -#: screenfonttools/consolechars.c:528 -msgid "Cannot find a default font file.\n" -msgstr "Kann die voreingestellte Zeichensatzdatei nicht finden.\n" - -#: screenfonttools/consolechars.c:537 -#, c-format -msgid "Cannot find default font file `default8x%02d'.\n" -msgstr "" -"Kann die voreingestellte Zeichensatzdatei `default8x%02d' nicht finden.\n" - -#: screenfonttools/consolechars.c:547 -#, c-format -msgid "Cannot open font file `%s'.\n" -msgstr "Kann Zeichensatzdatei `%s' nicht öffnen.\n" - -#: screenfonttools/consolechars.c:584 -msgid "Only fontsize 256 supported.\n" -msgstr "Nur Zeichensatzgröße 256 wird unterstützt.\n" - -#: screenfonttools/consolechars.c:595 -#, c-format -msgid "Would load %d-chars %dx%d font from file `%s'.\n" -msgstr "Würde %d Zeichen %dx%d Zeichensatz aus Datei `%s' lesen.\n" - -#: screenfonttools/consolechars.c:602 -#, c-format -msgid "Loading %d-chars %dx%d font from file `%s'.\n" -msgstr "Lade %d Zeichen %dx%d Zeichensatz aus Datei `%s'.\n" - -#: screenfonttools/consolechars.c:628 -#, c-format -msgid "Reading default SFM from `%s'.\n" -msgstr "Lese voreingestellte SFM aus `%s'.\n" - -#: screenfonttools/consolechars.c:649 -msgid "Cannot write SFM into non-PSF font-file.\n" -msgstr "Kann SFM nur in PSF Zeichnsatzdatei schreiben.\n" - -#: screenfonttools/consolechars.c:660 -#, c-format -msgid "Can only save 8bit-wide fonts for now, and font is %d-bit wide.\n" -msgstr "" -"Kann momentan nur 8bit-Zeichensätze speichern und Zeichensatz ist %d Bit " -"breit.\n" - -#: screenfonttools/consolechars.c:670 -#, c-format -msgid "Can only save 256-chars fonts in RAW files, and font has %d chars.\n" -msgstr "" -"Kann nur Zeichensätze mit 256 Zeichen in RAW-Dateien speichern und " -"Zeichensatz hat %d Zeichen.\n" - -#: screenfonttools/consolechars.c:677 -msgid "Found nothing to save.\n" -msgstr "Nichts gefunden, das ich speichern könnte.\n" - -#: screenfonttools/consolechars.c:708 -#, c-format -msgid "Would have saved 8x%d %s font file on `%s'%s.\n" -msgstr "Würde 8x%d %s Zeichensatzdatei in `%s'%s speichern.\n" - -#: screenfonttools/consolechars.c:709 -#, c-format -msgid "Saved 8x%d %s font file on `%s'%s.\n" -msgstr "Speichere 8x%d %s Zeichensatzdatei in `%s'%s.\n" - -#: screenfonttools/consolechars.c:713 -msgid ", with SFM" -msgstr ", mit SFM" - -#: screenfonttools/consolechars.c:713 -msgid ", without SFM" -msgstr ", ohne SFM" - -#: screenfonttools/showcfont.c:15 -#, c-format -msgid "" -"Usage: %s\n" -"Displays a screen-font's contents.\n" -msgstr "" -"Benutzung: %s\n" -"Zeigt den Inhalt eines Bildschirm-Zeichensatzes an.\n" - -#: screenfonttools/clrunimap.c:19 -#, c-format -msgid "" -"Usage: %s\n" -"Clears the Unicode map from the console.\n" -"Note: nowadays this kills kernel console output!\n" -msgstr "" -"Benutzung: %s\n" -"Löscht die Unicode-Tabelle der Konsole.\n" -"Hinweis: dies beendet Konsolausgaben des Kernels!\n" - -#: vttools/screendump.c:31 -#, c-format -msgid "" -"Usage: %s [console]\n" -"Dump the contents of the screen to stdout\n" -msgstr "" -"Benutzung: %s [console]\n" -"Schreibe den Bildschirminhalt auf die Standardausgabe\n" - -#: vttools/screendump.c:34 -msgid "dump contents of screen s" -msgstr "schreibe Inhalt von Bildschirm s" - -#: vttools/chvt.c:59 vttools/screendump.c:72 vttools/setvesablank.c:81 -#, c-format -msgid "%s: Wrong number of args\n" -msgstr "%s: Falsche Zahl von Argumenten\n" - -#: vttools/screendump.c:112 -msgid "Out of memory\n" -msgstr "Speicherüberlauf\n" - -#: vttools/screendump.c:117 -#, c-format -msgid "Error reading %s\n" -msgstr "Fehler beim Lesen von %s\n" - -#: vttools/screendump.c:141 -msgid "Could not use /dev/vcs*, trying TIOCLINUX\n" -msgstr "Konnte /dev/vcs* nicht verwenden, versuche TIOCLINUX\n" - -#: vttools/screendump.c:158 -msgid "Out of memory.\n" -msgstr "Speicherüberlauf.\n" - -#: vttools/screendump.c:169 -#, c-format -msgid "couldn't read %s, and cannot ioctl dump\n" -msgstr "Kann %s nicht lesen und kann ioctl nicht auf dump anwenden\n" - -#: vttools/screendump.c:178 -#, c-format -msgid "Strange ... screen is both %dx%d and %dx%d ??\n" -msgstr "Seltsam ... Bildschirm ist sowohl %dx%d als auch %dx%d ??\n" - -#: vttools/screendump.c:186 -msgid "Out of memory?\n" -msgstr "Speicherüberlauf?\n" - -#: vttools/screendump.c:203 -msgid "Error writing screen dump\n" -msgstr "Fehler beim Schreiben des Bildschirminhalts\n" - -#: vttools/setvesablank.c:19 -#, c-format -msgid "" -"Usage: %s ON|on|off\n" -"\n" -"Set VESA blanking on console.\n" -msgstr "" -"Benutzung: %s ON|on|off\n" -"\n" -"Ermögliche VESA-Bildschirmabschaltung für die Konsole.\n" - -#: vttools/setvesablank.c:22 -msgid "turn blanking on" -msgstr "Bildschirmabschaltung aktiviert" - -#: vttools/setvesablank.c:37 -#, c-format -msgid "%s: argument '%s' should be 'ON', 'on' or 'off'\n" -msgstr "%s: ARgument '%s' sollte 'ON', 'on' oder 'off' sein\n" - -#: vttools/vt-is-UTF8.c:16 -#, c-format -msgid "Usage: %s [option]\n" -msgstr "Benutzung: %s [option]\n" - -#: vttools/vt-is-UTF8.c:18 -msgid "don't print result" -msgstr "Resultat nicht anzeigen" - -#: vttools/vt-is-UTF8.c:82 -msgid "Single-byte char mode.\n" -msgstr "Einzel-Byte Zeichenmodus.\n" - -#: vttools/resizecons.c:110 -#, c-format -msgid "" -"Usage: %s COLSxROWS\n" -" %s COLS ROWS\n" -" %s -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n" -msgstr "" -"Benutzung: %s SPALTENxZEILEN\n" -" %s SPALTEN ZEILEN\n" -" %s -lines ZEILEN, mit ZEILEN aus 25, 28, 30, 34, 36, 40, 44, 50 " -"oder 60\n" - -#: vttools/resizecons.c:145 -#, c-format -msgid "%s: Invalid number of columns: %s\n" -msgstr "%s: Fehlerhafte Spaltenzahl: %s\n" - -#: vttools/resizecons.c:154 -#, c-format -msgid "%s: Invalid number of rows: %s\n" -msgstr "%s: Fehlerhafte Zeilenzahl: %s\n" - -#: vttools/resizecons.c:174 vttools/resizecons.c:198 -#, c-format -msgid "%s: Invalid arguments" -msgstr "%s: Fehlerhafte Argumente" - -#: vttools/resizecons.c:186 -#, c-format -msgid "%s: Unrecognized argument" -msgstr "%s: Argument nicht erkannt" - -#: vttools/resizecons.c:210 -#, c-format -msgid "%s: bad number of arguments\n" -msgstr "%s: Falsche Zahl von Argumenten\n" - -#: vttools/resizecons.c:239 -#, c-format -msgid "%s: cannot find videomode file %s\n" -msgstr "%s: Kann Videomodusdatei %s nicht finden\n" - -#: vttools/resizecons.c:260 -msgid "Invalid number of lines\n" -msgstr "Fehlerhafte Zeilenzahl\n" - -#: vttools/resizecons.c:338 -#, c-format -msgid "Old mode: %dx%d New mode: %dx%d\n" -msgstr "Alter Modus: %dx%d Neuer Modus: %dx%d\n" - -#: vttools/resizecons.c:340 -#, c-format -msgid "Old #scanlines: %d New #scanlines: %d Character height: %d\n" -msgstr "Zeilenzahl alt: %d Zeilenzahl neu: %d Zeichenhöhe: %d\n" - -#: vttools/resizecons.c:353 vttools/resizecons.c:403 -#, c-format -msgid "%s: the command `%s' failed\n" -msgstr "%s: Das Kommando `%s' schlug fehl\n" - -#: vttools/resizecons.c:408 -#, c-format -msgid "%s: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n" -msgstr "" -"%s: Nicht vergessen TERM zu setzen (evtl. zu con%dx%d oder linux-%dx%d)\n" - -#: vttools/resizecons.c:412 -msgid "Also the variables LINES and COLUMNS may need adjusting.\n" -msgstr "Die Variablen LINES und COLUMNS müssten evtl. angepasst werden.\n" - -#: vttools/resizecons.c:449 -#, c-format -msgid "%s: cannot get I/O permissions.\n" -msgstr "%s: Kann keine Ein-/Ausgabe-Erlaubnis erhalten.\n" - -#: vttools/deallocvt.c:23 -#, c-format -msgid "" -"Usage: %s [N1 N2 ...]\n" -"Deallocate virtual terminal(s)\n" -msgstr "" -"Benutzung: %s [N1 N2 ...]\n" -"Virtuelle Terminals freigeben\n" - -#: vttools/chvt.c:21 vttools/deallocvt.c:26 -msgid "virtual terminal" -msgstr "virtuelles Terminal" - -#: vttools/deallocvt.c:41 -#, c-format -msgid "%s: 0: illegal VT number\n" -msgstr "%s: 0: Illegale Nummer für VT\n" - -#: vttools/deallocvt.c:50 -#, c-format -msgid "%s: VT 1 is the console and cannot be deallocated\n" -msgstr "%s: VT 1 ist die Konsole und kann nicht freigegeben werden\n" - -#: vttools/deallocvt.c:61 -#, c-format -msgid "%s: could not deallocate console %d\n" -msgstr "%s: Konnte Konsole %d nicht freigeben\n" - -#: vttools/deallocvt.c:125 -#, c-format -msgid "%s: deallocating all unused consoles failed\n" -msgstr "%s: Freigabe aller ungenutzter Konsolen fehlgeschlagen\n" - -#: vttools/fgconsole.c:14 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Print foreground console\n" -msgstr "" -"Benutzung: %s [vt_nummer]\n" -"Drucke Vordergrund-Konsole\n" - -#: vttools/chvt.c:18 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Change virtual terminal\n" -msgstr "" -"Benutzung: %s [vt_nummer]\n" -"Wechsle virtuelles Terminal\n" - -#: vttools/vcstime.c:22 -#, c-format -msgid "" -"Usage: %s\n" -"Show time in upper right hand corner of the console screen\n" -msgstr "" -"Benutzung: %s\n" -"Zeige Uhrzeit in der oberen rechten Ecke des Konsolenbildschirms an\n" - -#: vttools/writevt.c:19 -#, c-format -msgid "" -"Usage: %s tty text\n" -"Put text into the input buffer of a virtual terminal.\n" -msgstr "" -"Verwendung: %s tty text\n" -"Schreibe text in den Eingabepuffer eines virtuellen Terminals.\n" - -#: vttools/writevt.c:22 -msgid "device name" -msgstr "Gerätename" - -#: vttools/writevt.c:23 -msgid "text to insert" -msgstr "Einzufügender Text" - -#: vttools/writevt.c:68 -#, c-format -msgid "%s: No tty specified.\n" -msgstr "%s: Kein tty angegeben.\n" - -#: vttools/writevt.c:77 -#, c-format -msgid "%s: No text specified.\n" -msgstr "%s: Kein Text angegeben.\n" - -#: vttools/writevt.c:83 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: Zu viele Argumente\n" - -#: vttools/writevt.c:91 -#, c-format -msgid "%s: could not open tty\n" -msgstr "%s: Kann tty nicht öffnen\n" - -#: vttools/writevt.c:99 -#, c-format -msgid "%s: TIOCSTI ioctl failed\n" -msgstr "%s: ioctl(,TIOCSTI) fehlgeschlagen\n" - -#~ msgid "display this help text" -#~ msgstr "diesen Hilfstext anzeigen" - -#~ msgid "report version number" -#~ msgstr "Versionsnummer anzeigen" - -#~ msgid "keymaps " -#~ msgstr "Tastentabellen" - -#~ msgid "plain\t" -#~ msgstr "einfach\t" - -#~ msgid "keycode %3d =" -#~ msgstr "Tastencode %3d =" Binary files /tmp/tmpayi9pl/v7Up8WiOl7/console-tools-0.2.3/po/et_EE.gmo and /tmp/tmpayi9pl/Fy8SctC1qL/console-tools-0.2.3/po/et_EE.gmo differ diff -Nru console-tools-0.2.3/po/et_EE.po console-tools-0.2.3/po/et_EE.po --- console-tools-0.2.3/po/et_EE.po 1999-10-25 20:58:18.000000000 +0000 +++ console-tools-0.2.3/po/et_EE.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,1653 +0,0 @@ -# Estonian translations for console-tools -# Copyright (C) 1999 Free Software Foundation, Inc. -# Meelis Roos <Meelis.Roos@mail.ee>, 1999. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: console-tools 0.2.2\n" -"POT-Creation-Date: 1999-10-25 22:33+0200\n" -"PO-Revision-Date: 1999-09-01 17:00+0300\n" -"Last-Translator: Meelis Roos <Meelis.Roos@mail.ee>\n" -"Language-Team: Estonian <linux-ee@eenet.ee>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-15\n" -"Content-Transfer-Encoding: 8bit\n" - -#: fontfiletools/psfaddtable.c:30 -#, c-format -msgid "" -"Usage: %s psffont_in sfm_file [psffont_out]\n" -"Add a Unicode character table to a PSF font\n" -msgstr "" -"Kasutamine: %s psffont_sisend sfm_fail [psfffont_väljund]\n" -"Lisab Unicode-tõlketabeli PSF fondile\n" - -#: fontfiletools/psfaddtable.c:33 -msgid "input psffont filename" -msgstr "sisendiks oleva fondifaili nimi" - -#: fontfiletools/psfaddtable.c:34 -msgid "screen-font-map filename" -msgstr "ekraani-fondi tõlketabeli failinimi" - -#: fontfiletools/psfaddtable.c:35 -msgid "output psffont filename" -msgstr "väljundiks oleva fondifaili nimi" - -#: fontfiletools/psfaddtable.c:86 fontfiletools/psfaddtable.c:96 -#: fontfiletools/psfgettable.c:76 fontfiletools/psfstriptable.c:78 -#, c-format -msgid "%s: wrong number of arguments\n" -msgstr "%s: Vale arv argumente\n" - -#: fontfiletools/psfaddtable.c:113 -#, c-format -msgid "%s: psffont and chartable cannot both be stdin\n" -msgstr "%s: PSF font ja tõlketabel ei saa korraga standardsisendit tulla\n" - -#: fontfiletools/psfaddtable.c:200 -#, c-format -msgid "Loading unicode map from %s.\n" -msgstr "Loen Unicode-tõlketabelit failist %s\n" - -#: fontfiletools/psfgettable.c:26 -#, c-format -msgid "" -"Usage: %s psffont chartable [outfile]\n" -"Extract a Unicode character table from a PSF font\n" -msgstr "" -"Kasutamine: %s psffont sümbolitabel [väljundfail]\n" -"Eraldab Unicode-tõlketabeli PSF fondist\n" - -#: fontfiletools/psfgettable.c:29 fontfiletools/psfstriptable.c:31 -msgid "psffont filename" -msgstr "PSF fondi failinimi" - -#: fontfiletools/psfgettable.c:30 fontfiletools/psfstriptable.c:32 -msgid "output filename" -msgstr "väljundfaili nimi" - -#: fontfiletools/psfgettable.c:139 -#, c-format -msgid "%s: Font has no character table\n" -msgstr "%s: Fondil pole tõlketabelit\n" - -#: fontfiletools/psfstriptable.c:28 -#, c-format -msgid "" -"Usage: %s [options] psffont [outfile]\n" -"Strip Unicode character table from a PSF font\n" -msgstr "" -"Kasutamine: %s [võtmed] psffont [väljundfail]\n" -"Eemaldab Unicode-tõlketabeli PSF fondist\n" - -#: fontfiletools/psfstriptable.c:140 -#, c-format -msgid "%s: Font already had no character table\n" -msgstr "%s: Fondil polegi tõlketabelit\n" - -#: kbdtools/showkey.c:47 -msgid "?UNKNOWN?" -msgstr "TUNDMATU" - -#: kbdtools/showkey.c:49 -#, c-format -msgid "kb mode was %s\n" -msgstr "" - -# XXX rezhiim -#: kbdtools/showkey.c:52 -msgid "[ if you are trying this under X, it might not work\n" -msgstr "(See programm ei tarvitse töötada X all, kuna ka X\n" - -#: kbdtools/showkey.c:53 -msgid "since the X server is also reading /dev/console ]\n" -msgstr "server loeb /dev/console-t)\n" - -#: kbdtools/showkey.c:72 -#, c-format -msgid "caught signal %d, cleaning up...\n" -msgstr "tuli signaal %d, hakkan otsi kokku tõmbama...\n" - -#: kbdtools/showkey.c:85 -#, c-format -msgid "usage: %s [options...] <command>\n" -msgstr "Kasutamine: %s [võtmed] käsk\n" - -#: kbdtools/showkey.c:87 -msgid "display only the raw scan-codes." -msgstr "näidata ainult interpreteerimata skännkoode" - -#: kbdtools/showkey.c:88 -msgid "display only the interpreted keycodes (default)." -msgstr "näidata ainult interpreteeritud klahvikoode (vaikimisi)" - -#: kbdtools/showkey.c:89 -msgid "display only keymap-translated chars." -msgstr "näidata ainult klaviatuuritabeli poolt tõlgitud sümboleid" - -#: kbdtools/showkey.c:90 -msgid "display unicode-translated chars." -msgstr "näidata Unicode-tõlgitud sümboleid" - -#: kbdtools/showkey.c:94 -msgid "set the timeout to N seconds." -msgstr "seada taimaut N sekundi peale" - -#: kbdtools/showkey.c:158 -msgid "timeout value must be numeric" -msgstr "taimaut peab olema arv" - -#: kbdtools/dumpkeys.c:632 kbdtools/showkey.c:174 -msgid "no non-option arguments allowed" -msgstr "muid argumente peale võtmete ei ole lubatud" - -#: kbdtools/showkey.c:177 -msgid "WARNING: Unicode mode is experimental -- output may be wrong\n" -msgstr "HOIATUS: Unicode'i toetus on eksperimentaalne ja võib sisaldada vigu\n" - -#: kbdtools/showkey.c:235 -#, c-format -msgid "press any key (program terminates after %us of last keypress)...\n" -msgstr "" -"Vajutage klahve. Programm lõpetab töö %s pärast viimast klahvivajutust.\n" - -#: kbdtools/showkey.c:254 -#, c-format -msgid "keycode %3d %s\n" -msgstr "klahvi kood %3d %s\n" - -#: kbdtools/showkey.c:256 -msgid "release" -msgstr "(vabastus)" - -#: kbdtools/showkey.c:256 -msgid "press" -msgstr "(vajutus)" - -#: kbdtools/setmetamode.c:22 -#, c-format -msgid "" -"\n" -"Usage:\n" -"\t%1$s [ metabit | meta | bit | escprefix | esc | prefix ]\n" -"Each vt has his own copy of this bit. Use\n" -"\t%1$s [arg] < /dev/ttyn\n" -"to change the settings of another vt.\n" -"The setting before and after the change are reported.\n" -msgstr "" -"\n" -"Kasutamine:\n" -"\t%1$s [ metabit | meta | bit | escprefix | esc | prefix ]\n" -"Igal virtuaalkonsoolil on sellest bitist oma koopia. Kasutage\n" -"\t%1$s [arg] < /dev/ttyn\n" -"mõne muu virtuaalkonsooli seadistuste muutmiseks.\n" -"Väljastatakse seadistus enne ja pärast muutmist.\n" - -#: kbdtools/setmetamode.c:38 -msgid "Meta key sets high order bit\n" -msgstr "Meta-klahv seab kõrgeima biti püsti\n" - -#: kbdtools/setmetamode.c:41 -msgid "Meta key gives Esc prefix\n" -msgstr "Meta-klahv annab Esc-prefiksi\n" - -#: kbdtools/setmetamode.c:44 -msgid "Strange mode for Meta key?\n" -msgstr "Imelik mood Meta-klahvile?\n" - -#: kbdtools/setmetamode.c:76 -msgid "Error reading current setting. Maybe stdin is not a VT?\n" -msgstr "" -"Viga jooksvate seadistuste lugemisel.\n" -"Võibolla standardsisend ei ole virtuaalkonsool?\n" - -#: kbdtools/setmetamode.c:95 -msgid "unrecognized argument" -msgstr "arusaamatu argument" - -#: kbdtools/setmetamode.c:98 -msgid "old state: " -msgstr "vana olek: " - -#: kbdtools/setmetamode.c:105 -msgid "new state: " -msgstr "uus olek: " - -#: kbdtools/kbd_mode.c:23 -#, c-format -msgid "" -"Usage: %s [option]\n" -"Report and set keyboard mode\n" -msgstr "" -"Kasutamine: %s [võti]\n" -"Raporteerib ja seab klaviatuuri moodi\n" - -# XXX rezhiimi -#: kbdtools/kbd_mode.c:26 -msgid "print this help information and exit" -msgstr "väljastada abiinfo" - -#: kbdtools/kbd_mode.c:27 -msgid "report version and exit" -msgstr "raporteerida versioon" - -#: kbdtools/kbd_mode.c:28 -msgid "ASCII or 8bit mode (XLATE)" -msgstr "ASCII või 8-bitine rezhiim (XLATE)" - -# XXX -#: kbdtools/kbd_mode.c:29 -msgid "keycode mode (MEDIUMRAW)" -msgstr "klahvikoodi mood (MEDIUMRAW)" - -#: kbdtools/kbd_mode.c:30 -msgid "UTF-8 mode (UNICODE)" -msgstr "UTF-8 mood (UNICODE)" - -#: kbdtools/kbd_mode.c:31 -msgid "scancode mode (RAW)" -msgstr "skännkoodi mood (RAW)" - -#: kbdtools/kbd_mode.c:32 -msgid "set mode" -msgstr "moodi seadmine" - -#: kbdtools/kbd_mode.c:85 -#, c-format -msgid "%s: unknown mode: %s\n" -msgstr "%s: tundmatu mood: %s\n" - -#: kbdtools/kbd_mode.c:111 -msgid ": error reading keyboard mode\n" -msgstr ": viga klaviatuuri moodi lugemisel\n" - -#: kbdtools/kbd_mode.c:117 -msgid "The keyboard is in raw (scancode) mode\n" -msgstr "Klaviatuur on raw (skännkoodi) moodis\n" - -#: kbdtools/kbd_mode.c:120 -msgid "The keyboard is in mediumraw (keycode) mode\n" -msgstr "Klaviatuur on mediumraw (klahvikoodi) moodis\n" - -#: kbdtools/kbd_mode.c:123 -msgid "The keyboard is in the default (ASCII) mode\n" -msgstr "Klaviatuur on default (ASCII) moodis\n" - -#: kbdtools/kbd_mode.c:126 -msgid "The keyboard is in Unicode (UTF-8) mode\n" -msgstr "Klaviatuur on Unicode (UTF-8) moodis\n" - -#: kbdtools/kbd_mode.c:129 -msgid "The keyboard is in some unknown mode\n" -msgstr "Klaviatuur on mingis tundmatus moodis\n" - -#: kbdtools/kbd_mode.c:137 -msgid ": error setting keyboard mode\n" -msgstr ": viga klaviatuuri moodi seadmisel\n" - -#: loadkeys.y:287 -msgid "too many keydefinitions on one line" -msgstr "liiga palju klahvide definitsioone ühel real" - -#: loadkeys.y:306 -#, c-format -msgid "Usage: %s [option...] [mapfile...]\n" -msgstr "Kasutamine: %s [võtmed] [tabelifail]\n" - -#: loadkeys.y:308 -msgid "clear kernel compose table" -msgstr "tühjendada tuuma kompositsioonitabel" - -#: loadkeys.y:309 -msgid "load default keymap file" -msgstr "laadida vaikimisi-kalviatuuritabel" - -#. FIXME: should print DEFKMAP -#: loadkeys.y:310 -msgid "output a \"defkeymap.c\" to stdout" -msgstr "väljastada \"defkeymap.c\" standardväljundisse" - -#: loadkeys.y:311 -msgid "clear kernel string table" -msgstr "tühjendada tuuma stringitabel" - -#: loadkeys.y:312 -msgid "be silent" -msgstr "vaikne rezhiim" - -# XXX -#: loadkeys.y:313 -msgid "report the changes" -msgstr "raporteerida muutustest" - -#: loadkeys.y:314 -msgid "report more changes" -msgstr "raporteerida rohkem muutustest" - -#: loadkeys.y:392 -msgid "syntax error in map file\n" -msgstr "süntaksiviga klaviatuuritabeli failis\n" - -#: loadkeys.y:394 -msgid "key bindings not changed\n" -msgstr "" - -#: loadkeys.y:482 -#, c-format -msgid "Cannot find %s\n" -msgstr "Ei suuda leida %s\n" - -#: loadkeys.y:499 -#, c-format -msgid "cannot open file %s\n" -msgstr "ei suuda avada faili %s\n" - -#: loadkeys.y:524 -#, c-format -msgid "addmap called with bad index %d" -msgstr "addmap kutsuti välja halva indeksiga %d" - -#: loadkeys.y:529 -#, c-format -msgid "adding map %d violates explicit keymaps line)" -msgstr "" - -#: loadkeys.y:543 -#, c-format -msgid "killkey called with bad index %d" -msgstr "killkey kutsuti välja halva indeksiga %d" - -#: loadkeys.y:545 -#, c-format -msgid "killkey called with bad table %d" -msgstr "killkey kutsuti välja halva tabeliga %d" - -#: loadkeys.y:559 -#, c-format -msgid "addkey called with bad index %d" -msgstr "addkey kutsuti välja halva indeksiga %d" - -#: loadkeys.y:561 -#, c-format -msgid "addkey called with bad table %d" -msgstr "addkey kutsuti välja halva tabeliga %d" - -#: loadkeys.y:605 -#, c-format -msgid "%s: addfunc called with bad func %d\n" -msgstr "%s: addfunc kutsuti välja halva funktsiooniga %d\n" - -#: loadkeys.y:628 -#, c-format -msgid "%s: addfunc: func_buf overflow\n" -msgstr "%s: addfunc: func_buf ületäitumine\n" - -#: loadkeys.y:657 -msgid "compose table overflow\n" -msgstr "kompositsioonitabeli ületäitumine\n" - -#: loadkeys.y:666 -#, c-format -msgid "Warning: Compose char %4x ('%c','%c') > 0xFF will be truncated to %2x\n" -msgstr "" -"Hoiatus: kompositsiooni tulemus %4x ('%c','%c') > 0xFF ei mahu ära ja\n" -"asendatakse sümboliga %2x\n" - -#: loadkeys.y:669 -msgid " (Linux kernel < 2.3.X can't handle unicode compose chars properly)\n" -msgstr "" -"(Linuxi tuum < 2.3.X ei tunnista Unicode-kompositsiooniklahve korralikult)\n" - -#: loadkeys.y:709 -#, c-format -msgid "Keymap %d: Permission denied\n" -msgstr "Tabel %d: Pole õigusi\n" - -#: loadkeys.y:718 -#, c-format -msgid "keycode %d, table %d = %d%s\n" -msgstr "klahvi kood %d, tabel %d = %d%s\n" - -#: loadkeys.y:719 -msgid " FAILED" -msgstr " VIGA" - -#: loadkeys.y:721 -#, c-format -msgid "failed to bind key %d to value %d\n" -msgstr "" - -#: loadkeys.y:734 -#, c-format -msgid "deallocate keymap %d\n" -msgstr "vabastan tabeli %d\n" - -#: loadkeys.y:742 -#, c-format -msgid "%s: could not deallocate keymap %d\n" -msgstr "s: ei saanud vabastada tabelit %d\n" - -#: loadkeys.y:759 -#, c-format -msgid "%s: cannot deallocate or clear keymap\n" -msgstr "s: ei saa vabastada või tühjendada klaviatuuri tabelit\n" - -#: loadkeys.y:772 -#, c-format -msgid "%s: failed to restore keyboard mode\n" -msgstr "%s: ei suutnud taastada klaviatuuri rezhiimi\n" - -# XXX -#: loadkeys.y:775 -#, c-format -msgid "" -"%s: warning: this map uses Unicode symbols\n" -" (perhaps you want to do `kbd_mode -u'?)\n" -msgstr "" -"%s: Hoiatus: see tabel kasutab Unicode-sümboleid.\n" -" Äkki Te tahate anda ka käsu 'kbd_mode -u'?\n" - -#: loadkeys.y:823 -#, c-format -msgid "failed to bind string '%s' to function %s\n" -msgstr "" - -#: loadkeys.y:832 -#, c-format -msgid "failed to clear string %s\n" -msgstr "ei suutnud puhastada stringi %s\n" - -#: loadkeys.y:850 -msgid "too many compose definitions\n" -msgstr "liiga palju kompositsioonidefinitsioone\n" - -#: loadkeys.y:857 -msgid "KDSKBDIACR failed\n" -msgstr "KDSKBDIACR ei õnnestunud\n" - -#: loadkeys.y:918 -msgid "impossible error in do_constant" -msgstr "võimatu viga funktsioonis do_constant" - -#: loadkeys.y:939 -#, c-format -msgid "" -"\n" -"Changed %d key%s and %d string%s.\n" -msgstr "" - -#: loadkeys.y:943 -#, c-format -msgid "Loaded %d compose definition%s.\n" -msgstr "Laetud %d kompositsioonidefinitsiooni\n" - -#: loadkeys.y:946 -msgid "(No change in compose definitions.)\n" -msgstr "(Kompositsioonidefinitsioonid ei muutunud)\n" - -#: loadkeys.y:983 -#, c-format -msgid "loadkeys: don't know how to compose for %s\n" -msgstr "loadkeys: ei tunne kompositsioonireegleid kooditabelile %s\n" - -#: kbdtools/getkeycodes.c:21 -#, c-format -msgid "" -"Usage: %s\n" -"Print kernel scancode-to-keycode mapping table\n" -msgstr "" -"Kasutamine: %s\n" -"Väljastada tuuma skännkoodist klahvi koodiks teisendamise tabel\n" - -#: kbdtools/getkeycodes.c:40 -msgid "Plain scancodes xx (hex) versus keycodes (dec)\n" -msgstr "Skännkoodide (hex) ja klahvikoodide (dec) vastavus\n" - -#: kbdtools/getkeycodes.c:41 -msgid "0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n" -msgstr "" -"0 on viga; vahemikus 1-88 (0x01-0x58) skännkoodid ja klahvikoodid kattuvad\n" - -#: kbdtools/getkeycodes.c:46 -msgid "" -"\n" -"\n" -"Escaped scancodes e0 xx (hex)\n" -msgstr "" -"\n" -"\n" -"Escape'itud skännkoodid E0 XX (hex)\n" - -#: kbdtools/getkeycodes.c:70 -#, c-format -msgid "failed to get keycode for scancode 0x%x\n" -msgstr "ei saanud klahvi koodi skännkoodile 0x%x\n" - -#: kbdtools/dumpkeys.c:63 -#, c-format -msgid "KDGKBENT at index 0 in table %d: " -msgstr "KDGKBENT tabeli %d indeksilt 0: " - -#: kbdtools/dumpkeys.c:77 -#, c-format -msgid "%s: cannot find any keymaps?\n" -msgstr "%s: ei leia ühtegi kalviatuuritabelit\n" - -#: kbdtools/dumpkeys.c:82 -#, c-format -msgid "%s: plain map not allocated? very strange ...\n" -msgstr "" - -#: kbdtools/dumpkeys.c:111 -#, c-format -msgid "KDGKBENT at index %d in table %d: " -msgstr "KDGKBENT indeksil %d tabelis %d: " - -#: kbdtools/dumpkeys.c:200 -msgid "KDGKBDIACR failed\n" -msgstr "KDGKBDIACR ei õnnestunud\n" - -#: kbdtools/dumpkeys.c:236 -#, c-format -msgid "keycode range supported by kernel: 1 - %d\n" -msgstr "Tuuma poolt toetatud klahvikoodide vahemik: 1 - %d\n" - -#: kbdtools/dumpkeys.c:238 -#, c-format -msgid "max number of actions bindable to a key: %d\n" -msgstr "Maksimaalne tegevuste arv, mida klahviga saab siduda: %d\n" - -#: kbdtools/dumpkeys.c:241 -#, c-format -msgid "number of keymaps in actual use: %d\n" -msgstr "Tegelikult kasutuses olevate tabelite arv: %d\n" - -#: kbdtools/dumpkeys.c:244 -#, c-format -msgid "of which %d dynamically allocated\n" -msgstr "Neist %d on dünaamiliselt hõivatud\n" - -#: kbdtools/dumpkeys.c:245 -msgid "ranges of action codes supported by kernel:\n" -msgstr "Tuuma poolt toetatud tegevuste koodide vahemik:\n" - -#: kbdtools/dumpkeys.c:250 -#, c-format -msgid "number of function keys supported by kernel: %d\n" -msgstr "Tuuma poolt toetatud funktsiooniklahvide arv: %d\n" - -#: kbdtools/dumpkeys.c:253 -#, c-format -msgid "max nr of compose definitions: %d\n" -msgstr "Kompositsioonidefinitsioonide maksimaalne arv: %d\n" - -#: kbdtools/dumpkeys.c:256 -#, c-format -msgid "nr of compose definitions in actual use: %d\n" -msgstr "Tegelikult kasutusel olevate kompositsioonidefinitsioonide arv: %d\n" - -#: kbdtools/dumpkeys.c:280 -#, c-format -msgid "" -"Symbols recognized by %s:\n" -"(numeric value, symbol)\n" -"\n" -msgstr "" - -#: kbdtools/dumpkeys.c:292 -msgid "" -"\n" -"The following synonyms are recognized:\n" -"\n" -msgstr "" - -#: kbdtools/dumpkeys.c:296 -msgid "" -"\n" -"Recognized modifier names and their column numbers:\n" -msgstr "" - -#: kbdtools/dumpkeys.c:432 -msgid "impossible: not meta?\n" -msgstr "" - -#: kbdtools/dumpkeys.c:487 -#, c-format -msgid "KDGKBSENT at index %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:510 -#, c-format -msgid "Usage: %s [options...]\n" -msgstr "" - -#: kbdtools/dumpkeys.c:512 -msgid "display information about keyboard driver" -msgstr "" - -#: kbdtools/dumpkeys.c:513 -msgid "display above and symbols known to loadkeys" -msgstr "" - -#: kbdtools/dumpkeys.c:514 -msgid "display keytable in hexadecimal notation" -msgstr "" - -#: kbdtools/dumpkeys.c:515 -msgid "don't use short-hand notations, one row per keycode" -msgstr "" - -#: kbdtools/dumpkeys.c:516 -msgid "one line per (modifier,keycode) pair" -msgstr "" - -#: kbdtools/dumpkeys.c:517 -msgid "display only the function key strings" -msgstr "" - -#: kbdtools/dumpkeys.c:518 -msgid "display only key bindings" -msgstr "" - -#: kbdtools/dumpkeys.c:519 -msgid "choose output shape, where <shape> is:" -msgstr "" - -#: kbdtools/dumpkeys.c:520 -msgid " 0 = default" -msgstr "" - -#: kbdtools/dumpkeys.c:521 -msgid " 1 = same as --full-table" -msgstr "" - -#: kbdtools/dumpkeys.c:522 -msgid " 2 = same as --separate-lines" -msgstr "" - -#: kbdtools/dumpkeys.c:523 -msgid " 3 = one line per keycode, until 1st hole" -msgstr "" - -#: kbdtools/dumpkeys.c:525 -msgid "display only compose key combinations" -msgstr "" - -#: kbdtools/dumpkeys.c:528 -msgid "interpret character action codes to be from the" -msgstr "" - -#: kbdtools/dumpkeys.c:529 -msgid "specified character set" -msgstr "" - -#: kbdtools/dumpkeys.c:531 -msgid "display this help text and exit" -msgstr "" - -#: kbdtools/dumpkeys.c:532 -msgid "display version information and exit" -msgstr "" - -#: kbdtools/dumpkeys.c:534 -msgid "" -"\n" -"available charsets:\n" -msgstr "" - -#: kbdtools/setleds.c:29 -#, c-format -msgid "" -"Usage:\t%1$s [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll ]]\n" -"Thus,\n" -"\t%1$s +caps -num\n" -"will set CapsLock, clear NumLock and leave ScrollLock unchanged.\n" -"The settings before and after the change (if any) are reported\n" -"when the -v option is given or when no change is requested.\n" -"Normally, %1$s influences the vt flag settings\n" -"(and these are usually reflected in the leds).\n" -"With -L, %1$s only sets the leds, and leaves the flags alone.\n" -"With -D, %1$s sets both the flags and the default flags, so\n" -"that a subsequent reset will not change the flags.\n" -msgstr "" - -#: kbdtools/setleds.c:103 -#, c-format -msgid "%s: unknown argument: %s\n" -msgstr "" - -#: kbdtools/setleds.c:117 -#, c-format -msgid "NumLock %s CapsLock %s ScrollLock %s\n" -msgstr "" - -#: kbdtools/setleds.c:143 -msgid "Error reading current led setting. Maybe stdin is not a VT?\n" -msgstr "" - -#: kbdtools/setleds.c:150 -msgid "Error reading current flags setting. Maybe an old kernel?\n" -msgstr "" - -#: kbdtools/setleds.c:163 -msgid "Error resetting ledmode\n" -msgstr "" - -#: kbdtools/setleds.c:172 -msgid "Current default flags: " -msgstr "" - -#: kbdtools/setleds.c:176 -msgid "Current flags: " -msgstr "" - -#: kbdtools/setleds.c:180 -msgid "Current leds: " -msgstr "" - -#: kbdtools/setleds.c:192 -msgid "Old default flags: " -msgstr "" - -#: kbdtools/setleds.c:194 -msgid "New default flags: " -msgstr "" - -#: kbdtools/setleds.c:201 -msgid "Old flags: " -msgstr "" - -#: kbdtools/setleds.c:203 -msgid "New flags: " -msgstr "" - -#: kbdtools/setleds.c:216 -msgid "Old leds: " -msgstr "" - -#: kbdtools/setleds.c:218 -msgid "New leds: " -msgstr "" - -#: lib/sfm-utils.c:35 -msgid "loadunimap: out of memory\n" -msgstr "" - -#: lib/wrappers.c:15 -msgid "Out of Memory\n" -msgstr "" - -#: lib/wrappers.c:26 -msgid "Out of Memory?\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:31 -msgid "Warning: line too long in unicode map.\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:54 lib/sfm-rd-ascii.c:68 -#, c-format -msgid "Bad input line: %s\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:80 -#, c-format -msgid "unicode map: glyph number (0x%x) larger than font length\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:88 -#, c-format -msgid "unicode map: bad end of range (0x%x)\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:113 -msgid "" -"unicode map: Corresponding to a range of font positions, there should be a " -"Unicode range\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:123 -#, c-format -msgid "" -"unicode map: Bad Unicode range corresponding to font position range " -"0x%x-0x%x\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:131 -#, c-format -msgid "" -"unicode map: Unicode range U+%x-U+%x not of the same length as font position " -"range 0x%x-0x%x\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:151 -#, c-format -msgid "unicode map: trailing junk (%s) ignored\n" -msgstr "" - -#: lib/saveunimap.c:24 -#, c-format -msgid "Would save %d SFM entries in `%s'.\n" -msgstr "" - -#: lib/misc-console-utils.c:89 -msgid "Couldnt get a file descriptor referring to the console\n" -msgstr "" - -#: lib/psf-header.c:26 -#, c-format -msgid "Unknown PSF mode number (%d).\n" -msgstr "" - -#: lib/ksyms.c:971 -#, c-format -msgid "Error: unknown charset `%s'.\n" -msgstr "" - -#: lib/ksyms.c:1010 -#, c-format -msgid "assuming iso-8859-2 %s\n" -msgstr "" - -#: lib/ksyms.c:1017 -#, c-format -msgid "assuming iso-8859-3 %s\n" -msgstr "" - -#: lib/ksyms.c:1024 -#, c-format -msgid "assuming iso-8859-4 %s\n" -msgstr "" - -#: lib/ksyms.c:1028 -#, c-format -msgid "unknown keysym `%s'\n" -msgstr "" - -#: lib/findfile.c:64 -#, c-format -msgid "%s: %s child exited anormally with code %d.\n" -msgstr "" - -#: lib/findfile.c:67 -#, c-format -msgid "%s: %s child was terminated by signal %d.\n" -msgstr "" - -#: lib/findfile.c:70 -#, c-format -msgid "%s: %s child was stopped by signal %d.\n" -msgstr "" - -#: lib/findfile.c:85 -msgid "Feeder" -msgstr "" - -#: lib/findfile.c:90 -msgid "Decompressor" -msgstr "" - -#: lib/findfile.c:95 -msgid "Identifier" -msgstr "" - -#: lib/findfile.c:122 -msgid "chld_handler()" -msgstr "" - -#: lib/findfile.c:128 -#, c-format -msgid "%s child exited OK.\n" -msgstr "" - -#: lib/findfile.c:172 -msgid "fread magic" -msgstr "" - -#: lib/findfile.c:232 -msgid "decompressor fork" -msgstr "" - -#: lib/findfile.c:238 -msgid "decompressor: close file[1]" -msgstr "" - -#: lib/findfile.c:243 -msgid "decompressor: close uncompressed[0]" -msgstr "" - -#: lib/findfile.c:252 -msgid "decompressor: dup2 file[0]" -msgstr "" - -#: lib/findfile.c:259 -msgid "decompressor: dup2 uncompressed[1]" -msgstr "" - -#: lib/findfile.c:268 -#, c-format -msgid "Decompressor program not found: %s\n" -msgstr "" - -#: lib/findfile.c:271 -msgid "decompressor: execlp" -msgstr "" - -#: lib/findfile.c:287 -msgid "feeder fork" -msgstr "" - -#: lib/findfile.c:294 -msgid "feeder: close uncompressed[0]" -msgstr "" - -#: lib/findfile.c:302 -msgid "feeder: write zmagicbuf" -msgstr "" - -#: lib/findfile.c:308 -msgid "feeder: feed" -msgstr "" - -#: lib/findfile.c:340 -msgid "fread" -msgstr "" - -#: lib/findfile.c:377 -msgid "identifier fork" -msgstr "" - -#: lib/findfile.c:382 -msgid "identifier: close identified[0]" -msgstr "" - -#: lib/findfile.c:389 -msgid "identifier: write magicIDbuf" -msgstr "" - -#: lib/findfile.c:395 -msgid "identifier: feed" -msgstr "" - -#: lib/findfile.c:439 -#, c-format -msgid "Zombie %d caught.\n" -msgstr "" - -#: lib/findfile.c:450 -msgid "One for nothing.\n" -msgstr "" - -#: lib/findfile.c:562 -msgid "Warning: ignoring a possible path (too long)." -msgstr "" - -#: lib/findfile.c:668 -msgid "feeder" -msgstr "" - -#: lib/findfile.c:669 -msgid "decompressor" -msgstr "" - -#: lib/findfile.c:670 -msgid "identifier" -msgstr "" - -#: lib/findfile.c:676 -msgid "findfile(): timeout waiting for undead child(ren) ?\n" -msgstr "" - -#: lib/findfile.c:711 -msgid "Buffer overflow - aborting\n" -msgstr "" - -#: lib/acm.c:35 -msgid "Cannot stat map file" -msgstr "" - -#: lib/acm.c:47 -msgid "16bit screen-map MUST be a regular file.\n" -msgstr "" - -#: lib/acm.c:49 -msgid "fseek failed reading binary 16bit screen-map" -msgstr "" - -#: lib/acm.c:53 -msgid "Cannot read [new] map from file" -msgstr "" - -#: lib/acm.c:56 -msgid "Input screen-map is binary.\n" -msgstr "" - -#: lib/acm.c:65 -msgid "PIO_UNISCRNMAP ioctl" -msgstr "" - -#: lib/acm.c:75 -msgid "Assuming 8bit screen-map - MUST be a regular file.\n" -msgstr "" - -#: lib/acm.c:77 -msgid "fseek failed assuming 8bit screen-map" -msgstr "" - -#. should not - it succedeed above -#: lib/acm.c:91 -msgid "fseek() returned ESPIPE !\n" -msgstr "" - -#: lib/acm.c:93 -msgid "fseek for binary 8bit screen-map" -msgstr "" - -#: lib/acm.c:97 -msgid "Cannot read [old] map from file" -msgstr "" - -#: lib/acm.c:105 -msgid "PIO_SCRNMAP ioctl" -msgstr "" - -#: lib/acm.c:111 -msgid "Error parsing symbolic map\n" -msgstr "" - -#: lib/acm.c:158 -msgid "uni_screen_map_read_ascii() can't read line" -msgstr "" - -#: lib/acm.c:306 -msgid "GIO_UNISCRNMAP ioctl error" -msgstr "" - -#: lib/acm.c:310 -msgid "GIO_SCRNMAP ioctl error" -msgstr "" - -#: lib/acm.c:331 lib/acm.c:339 -msgid "Error writing map to file" -msgstr "" - -#: lib/miscutils.c:56 -#, c-format -msgid "%s: Unexpected arguments.\n" -msgstr "" - -#: screenfonttools/consolechars.c:48 -#, c-format -msgid "Usage: %s [options] [commands]\n" -msgstr "" - -#: screenfonttools/consolechars.c:50 -msgid "List operations as they are done" -msgstr "" - -#: screenfonttools/consolechars.c:51 -msgid "Do not change the console state nor write to any file" -msgstr "" - -#: screenfonttools/consolechars.c:52 -msgid "" -"(N in 0..32) Choose the right font from a codepage that\n" -"contains three fonts (only 8/14/16 allowed then), or choose\n" -"default font, ie. \"default8xN\"" -msgstr "" - -#: screenfonttools/consolechars.c:55 -msgid "Suppress loading of a screen-font map [use with care]" -msgstr "" - -#: screenfonttools/consolechars.c:56 -msgid "When loading an ACM, activate G1 charset instead of G0" -msgstr "" - -#: screenfonttools/consolechars.c:57 -msgid "Use `device' as console device for ioctls" -msgstr "" - -#: screenfonttools/consolechars.c:59 -msgid "Load the console-font from specified file" -msgstr "" - -#: screenfonttools/consolechars.c:60 -msgid "Load a default font from a file" -msgstr "" - -#: screenfonttools/consolechars.c:61 -msgid "Restore ROM font (does not work with all kernels)" -msgstr "" - -#: screenfonttools/consolechars.c:63 -msgid "" -"Load the SFM from specified file\n" -"(instead of the one in font-file, if any)" -msgstr "" - -#: screenfonttools/consolechars.c:65 -msgid "Merge SFM fallbacks from file into SFM" -msgstr "" - -#: screenfonttools/consolechars.c:66 -msgid "Load the ACM from specified file" -msgstr "" - -#: screenfonttools/consolechars.c:67 -msgid "Write current font to prefered format (now: psf-with-sfm)" -msgstr "" - -#: screenfonttools/consolechars.c:68 -msgid "Write current font to PSF file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:70 -msgid "Same as -old-font-psf, and add current SFM in the PSF file" -msgstr "" - -#: screenfonttools/consolechars.c:71 -msgid "Write current font to RAW file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:72 -msgid "Write current ACM to file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:73 -msgid "Write current SFM to file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:84 -msgid "too many `-' as filenames" -msgstr "" - -#: screenfonttools/consolechars.c:196 -msgid "--char-height argument should be in 1..31" -msgstr "" - -#: screenfonttools/consolechars.c:201 screenfonttools/consolechars.c:208 -#: screenfonttools/consolechars.c:214 -msgid "only one font file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:220 -msgid "only one ACM is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:227 -msgid "only one SFM is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:229 -msgid "multiple requests for SFM handling" -msgstr "" - -#: screenfonttools/consolechars.c:236 -msgid "WARNING: not using a unimap may lead to erroneous display !\n" -msgstr "" - -#: screenfonttools/consolechars.c:246 -msgid "realloc fallback_files" -msgstr "" - -#: screenfonttools/consolechars.c:255 -msgid "only one output RAW font-file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:262 -msgid "only one output PSF font-file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:269 -msgid "only one output PSF+SFM font-file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:276 -msgid "only one output ACM file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:283 -msgid "only one output SFM file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:294 -msgid "unknown option" -msgstr "" - -#: screenfonttools/consolechars.c:299 -msgid "no non-option arguments are valid" -msgstr "" - -#: screenfonttools/consolechars.c:302 -msgid "nothing to do" -msgstr "" - -#: screenfonttools/consolechars.c:316 -msgid "Saving raw old font" -msgstr "" - -#: screenfonttools/consolechars.c:320 -msgid "Saving PSF old font" -msgstr "" - -#: screenfonttools/consolechars.c:324 -msgid "Saving PSF+unimap old font" -msgstr "" - -#: screenfonttools/consolechars.c:329 -#, c-format -msgid "Would save ACM to file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:332 -#, c-format -msgid "Saving ACM to file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:354 -#, c-format -msgid "Would load ACM from `%s'\n" -msgstr "" - -#: screenfonttools/consolechars.c:357 -#, c-format -msgid "Loading ACM from `%s'\n" -msgstr "" - -#: screenfonttools/consolechars.c:360 -msgid "Error reading ACM file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:386 -#, c-format -msgid "Would read screen-font map from %s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:388 -#, c-format -msgid "Reading screen-font map from %s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:402 -msgid "Requesting SFM from kernel.\n" -msgstr "" - -#: screenfonttools/consolechars.c:406 -msgid "No valid SFM currently loaded. Aborting.\n" -msgstr "" - -#: screenfonttools/consolechars.c:440 -#, c-format -msgid "Reading SFM fallbacks from `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:448 -#, c-format -msgid "Read %u fallback entries.\n" -msgstr "" - -#: screenfonttools/consolechars.c:473 -msgid "WARNING: No SFM found in file or kernel ? Ignoring fallback file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:480 -msgid "Would set kernel SFM.\n" -msgstr "" - -#: screenfonttools/consolechars.c:483 -msgid "Setting kernel SFM.\n" -msgstr "" - -#: screenfonttools/consolechars.c:528 -msgid "Cannot find a default font file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:537 -#, c-format -msgid "Cannot find default font file `default8x%02d'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:547 -#, c-format -msgid "Cannot open font file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:584 -msgid "Only fontsize 256 supported.\n" -msgstr "" - -#: screenfonttools/consolechars.c:595 -#, c-format -msgid "Would load %d-chars %dx%d font from file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:602 -#, c-format -msgid "Loading %d-chars %dx%d font from file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:628 -#, c-format -msgid "Reading default SFM from `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:649 -msgid "Cannot write SFM into non-PSF font-file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:660 -#, c-format -msgid "Can only save 8bit-wide fonts for now, and font is %d-bit wide.\n" -msgstr "" - -#: screenfonttools/consolechars.c:670 -#, c-format -msgid "Can only save 256-chars fonts in RAW files, and font has %d chars.\n" -msgstr "" - -#: screenfonttools/consolechars.c:677 -msgid "Found nothing to save.\n" -msgstr "Ei leidnud midagi, mida slavestada\n" - -#: screenfonttools/consolechars.c:708 -#, c-format -msgid "Would have saved 8x%d %s font file on `%s'%s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:709 -#, c-format -msgid "Saved 8x%d %s font file on `%s'%s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:713 -msgid ", with SFM" -msgstr "" - -#: screenfonttools/consolechars.c:713 -msgid ", without SFM" -msgstr "" - -#: screenfonttools/showcfont.c:15 -#, c-format -msgid "" -"Usage: %s\n" -"Displays a screen-font's contents.\n" -msgstr "" -"Kasutamine: %s [võtmed]\n" -"Näitab ekraanifondi sisu\n" - -#: screenfonttools/clrunimap.c:19 -#, c-format -msgid "" -"Usage: %s\n" -"Clears the Unicode map from the console.\n" -"Note: nowadays this kills kernel console output!\n" -msgstr "" -"Kasutamine: %s [võtmed]\n" -"Tühjendab konsooli Unicode-tõlketabeli.\n" -"Märkus: tänapäeval lõpetab see tuuma väljundi konsoolile\n" - -#: vttools/screendump.c:31 -#, c-format -msgid "" -"Usage: %s [console]\n" -"Dump the contents of the screen to stdout\n" -msgstr "" - -#: vttools/screendump.c:34 -msgid "dump contents of screen s" -msgstr "" - -#: vttools/chvt.c:59 vttools/screendump.c:72 vttools/setvesablank.c:81 -#, c-format -msgid "%s: Wrong number of args\n" -msgstr "%s: Vale arv argumente\n" - -#: vttools/screendump.c:112 -msgid "Out of memory\n" -msgstr "Mälu sai otsa\n" - -#: vttools/screendump.c:117 -#, c-format -msgid "Error reading %s\n" -msgstr "Viga %s lugemisel\n" - -#: vttools/screendump.c:141 -msgid "Could not use /dev/vcs*, trying TIOCLINUX\n" -msgstr "" - -#: vttools/screendump.c:158 -msgid "Out of memory.\n" -msgstr "Mälu sai otsa\n" - -#: vttools/screendump.c:169 -#, c-format -msgid "couldn't read %s, and cannot ioctl dump\n" -msgstr "" - -#: vttools/screendump.c:178 -#, c-format -msgid "Strange ... screen is both %dx%d and %dx%d ??\n" -msgstr "Imelik - ekraan on nii %dx%d kui %dx%d?\n" - -#: vttools/screendump.c:186 -msgid "Out of memory?\n" -msgstr "Mälu sai otsa\n" - -#: vttools/screendump.c:203 -msgid "Error writing screen dump\n" -msgstr "" - -#: vttools/setvesablank.c:19 -#, c-format -msgid "" -"Usage: %s ON|on|off\n" -"\n" -"Set VESA blanking on console.\n" -msgstr "" - -#: vttools/setvesablank.c:22 -msgid "turn blanking on" -msgstr "" - -#: vttools/setvesablank.c:37 -#, c-format -msgid "%s: argument '%s' should be 'ON', 'on' or 'off'\n" -msgstr "" - -#: vttools/vt-is-UTF8.c:16 -#, c-format -msgid "Usage: %s [option]\n" -msgstr "" - -#: vttools/vt-is-UTF8.c:18 -msgid "don't print result" -msgstr "" - -#: vttools/vt-is-UTF8.c:82 -msgid "Single-byte char mode.\n" -msgstr "" - -#: vttools/resizecons.c:110 -#, c-format -msgid "" -"Usage: %s COLSxROWS\n" -" %s COLS ROWS\n" -" %s -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n" -msgstr "" -"Kasutamine: %s VEERGExRIDU\n" -" %s VEERGE RIDU\n" -" %s -lines RIDU, kus RIDU on 25, 28, 30, 34, 36, 40, 44, 50 või " -"60\n" - -#: vttools/resizecons.c:145 -#, c-format -msgid "%s: Invalid number of columns: %s\n" -msgstr "%s: Vigane veergude arv: %s\n" - -#: vttools/resizecons.c:154 -#, c-format -msgid "%s: Invalid number of rows: %s\n" -msgstr "%s: Vigane ridade arv: %s\n" - -#: vttools/resizecons.c:174 vttools/resizecons.c:198 -#, c-format -msgid "%s: Invalid arguments" -msgstr "" - -#: vttools/resizecons.c:186 -#, c-format -msgid "%s: Unrecognized argument" -msgstr "" - -#: vttools/resizecons.c:210 -#, c-format -msgid "%s: bad number of arguments\n" -msgstr "" - -#: vttools/resizecons.c:239 -#, c-format -msgid "%s: cannot find videomode file %s\n" -msgstr "" - -#: vttools/resizecons.c:260 -msgid "Invalid number of lines\n" -msgstr "" - -#: vttools/resizecons.c:338 -#, c-format -msgid "Old mode: %dx%d New mode: %dx%d\n" -msgstr "" - -#: vttools/resizecons.c:340 -#, c-format -msgid "Old #scanlines: %d New #scanlines: %d Character height: %d\n" -msgstr "" - -#: vttools/resizecons.c:353 vttools/resizecons.c:403 -#, c-format -msgid "%s: the command `%s' failed\n" -msgstr "" - -#: vttools/resizecons.c:408 -#, c-format -msgid "%s: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n" -msgstr "" - -#: vttools/resizecons.c:412 -msgid "Also the variables LINES and COLUMNS may need adjusting.\n" -msgstr "" - -#: vttools/resizecons.c:449 -#, c-format -msgid "%s: cannot get I/O permissions.\n" -msgstr "" - -#: vttools/deallocvt.c:23 -#, c-format -msgid "" -"Usage: %s [N1 N2 ...]\n" -"Deallocate virtual terminal(s)\n" -msgstr "" - -#: vttools/chvt.c:21 vttools/deallocvt.c:26 -msgid "virtual terminal" -msgstr "" - -#: vttools/deallocvt.c:41 -#, c-format -msgid "%s: 0: illegal VT number\n" -msgstr "" - -#: vttools/deallocvt.c:50 -#, c-format -msgid "%s: VT 1 is the console and cannot be deallocated\n" -msgstr "" - -#: vttools/deallocvt.c:61 -#, c-format -msgid "%s: could not deallocate console %d\n" -msgstr "" - -#: vttools/deallocvt.c:125 -#, c-format -msgid "%s: deallocating all unused consoles failed\n" -msgstr "" - -#: vttools/fgconsole.c:14 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Print foreground console\n" -msgstr "" -"Kasutamine: %s [võtmed]\n" -"Väljastab aktiivse virtuaalkonsooli numbri\n" - -#: vttools/chvt.c:18 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Change virtual terminal\n" -msgstr "" -"Kasutamine: %s [võtmed] [vk_number]\n" -"Muudab antud numbriga virtuaalkonsooli aktiivseks\n" - -#: vttools/vcstime.c:22 -#, c-format -msgid "" -"Usage: %s\n" -"Show time in upper right hand corner of the console screen\n" -msgstr "" -"Kasutamine: %s\n" -"Näitab kellaaega konsooli ülemises paremas nurgas\n" - -#: vttools/writevt.c:19 -#, c-format -msgid "" -"Usage: %s tty text\n" -"Put text into the input buffer of a virtual terminal.\n" -msgstr "" -"Kasutamine: %s [võtmed] tty tekst\n" -"Paneb teksti antud virtuaalkonsooli sisendpuhvrisse\n" - -#: vttools/writevt.c:22 -msgid "device name" -msgstr "terminaliseadme nimi" - -#: vttools/writevt.c:23 -msgid "text to insert" -msgstr "puhvrisse pandav tekst" - -#: vttools/writevt.c:68 -#, c-format -msgid "%s: No tty specified.\n" -msgstr "%s: tty-d pole antud\n" - -#: vttools/writevt.c:77 -#, c-format -msgid "%s: No text specified.\n" -msgstr "%s: Teksti pole antud\n" - -#: vttools/writevt.c:83 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: Liiga palju argumente\n" - -#: vttools/writevt.c:91 -#, c-format -msgid "%s: could not open tty\n" -msgstr "%s: Ei suuda avada tty-d\n" - -#: vttools/writevt.c:99 -#, c-format -msgid "%s: TIOCSTI ioctl failed\n" -msgstr "%s: TIOCSTI ioctl andis vea\n" - -#~ msgid "display this help text" -#~ msgstr "näidata sedasama abiinfot" - -#~ msgid "report version number" -#~ msgstr "raporteerida versiooninumber" Binary files /tmp/tmpayi9pl/v7Up8WiOl7/console-tools-0.2.3/po/fr.gmo and /tmp/tmpayi9pl/Fy8SctC1qL/console-tools-0.2.3/po/fr.gmo differ diff -Nru console-tools-0.2.3/po/fr.po console-tools-0.2.3/po/fr.po --- console-tools-0.2.3/po/fr.po 1999-10-25 20:58:19.000000000 +0000 +++ console-tools-0.2.3/po/fr.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,1628 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Free Software Foundation, Inc. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: linux-console-tools 1999.03.02+dev\n" -"POT-Creation-Date: 1999-10-25 22:33+0200\n" -"PO-Revision-Date: 1999-03-30 23:50+02:00\n" -"Last-Translator: Yann Dirson <ydirson@multimania.com>\n" -"Language-Team: French <fr@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" - -#: fontfiletools/psfaddtable.c:30 -#, fuzzy, c-format -msgid "" -"Usage: %s psffont_in sfm_file [psffont_out]\n" -"Add a Unicode character table to a PSF font\n" -msgstr "" -"Syntaxe: %s psf_entrée fichier_sfm [psf_sortie]\n" -"Ajoute une table de caractères unicode (SFM) à une police PSF\n" - -#: fontfiletools/psfaddtable.c:33 -msgid "input psffont filename" -msgstr "Nom du fichier de police PSF en entrée" - -#: fontfiletools/psfaddtable.c:34 -msgid "screen-font-map filename" -msgstr "Nom du fichier SFM" - -#: fontfiletools/psfaddtable.c:35 -msgid "output psffont filename" -msgstr "Nom du fichier de police PSF en sortie" - -#: fontfiletools/psfaddtable.c:86 fontfiletools/psfaddtable.c:96 -#: fontfiletools/psfgettable.c:76 fontfiletools/psfstriptable.c:78 -#, c-format -msgid "%s: wrong number of arguments\n" -msgstr "%s: nombre de paramètres incorrect\n" - -#: fontfiletools/psfaddtable.c:113 -#, c-format -msgid "%s: psffont and chartable cannot both be stdin\n" -msgstr "%s: le fichier PSF et la SFM ne peuvent pas venir tous deux de stdin\n" - -#: fontfiletools/psfaddtable.c:200 -#, c-format -msgid "Loading unicode map from %s.\n" -msgstr "Lecture de la table unicode dans %s.\n" - -#: fontfiletools/psfgettable.c:26 -#, c-format -msgid "" -"Usage: %s psffont chartable [outfile]\n" -"Extract a Unicode character table from a PSF font\n" -msgstr "" -"Syntaxe: %s [options] fichier_PSF [fichier_SFM]\n" -"Extrait une table de caractères unicode (SFM) d'une police PSF\n" - -#: fontfiletools/psfgettable.c:29 fontfiletools/psfstriptable.c:31 -msgid "psffont filename" -msgstr "" - -#: fontfiletools/psfgettable.c:30 fontfiletools/psfstriptable.c:32 -msgid "output filename" -msgstr "" - -#: fontfiletools/psfgettable.c:139 -#, c-format -msgid "%s: Font has no character table\n" -msgstr "%s: la police ne comporte pas de table unicode\n" - -#: fontfiletools/psfstriptable.c:28 -#, fuzzy, c-format -msgid "" -"Usage: %s [options] psffont [outfile]\n" -"Strip Unicode character table from a PSF font\n" -msgstr "" -"Syntaxe: %s [options] PSF_entrée [PSF_sortie]\n" -"Supprime une table de caractères unicode d'une police PSF\n" - -#: fontfiletools/psfstriptable.c:140 -#, c-format -msgid "%s: Font already had no character table\n" -msgstr "%s: la police n'a pas de table unicode à supprimer\n" - -#: kbdtools/showkey.c:47 -msgid "?UNKNOWN?" -msgstr "?INCONNU?" - -#: kbdtools/showkey.c:49 -#, c-format -msgid "kb mode was %s\n" -msgstr "" - -#: kbdtools/showkey.c:52 -msgid "[ if you are trying this under X, it might not work\n" -msgstr "" - -#: kbdtools/showkey.c:53 -msgid "since the X server is also reading /dev/console ]\n" -msgstr "" - -#: kbdtools/showkey.c:72 -#, c-format -msgid "caught signal %d, cleaning up...\n" -msgstr "" - -#: kbdtools/showkey.c:85 -#, c-format -msgid "usage: %s [options...] <command>\n" -msgstr "" - -#: kbdtools/showkey.c:87 -msgid "display only the raw scan-codes." -msgstr "" - -#: kbdtools/showkey.c:88 -msgid "display only the interpreted keycodes (default)." -msgstr "" - -#: kbdtools/showkey.c:89 -msgid "display only keymap-translated chars." -msgstr "" - -#: kbdtools/showkey.c:90 -msgid "display unicode-translated chars." -msgstr "" - -#: kbdtools/showkey.c:94 -msgid "set the timeout to N seconds." -msgstr "" - -#: kbdtools/showkey.c:158 -msgid "timeout value must be numeric" -msgstr "" - -#: kbdtools/dumpkeys.c:632 kbdtools/showkey.c:174 -msgid "no non-option arguments allowed" -msgstr "" - -#: kbdtools/showkey.c:177 -msgid "WARNING: Unicode mode is experimental -- output may be wrong\n" -msgstr "" - -#: kbdtools/showkey.c:235 -#, c-format -msgid "press any key (program terminates after %us of last keypress)...\n" -msgstr "" - -#: kbdtools/showkey.c:254 -#, c-format -msgid "keycode %3d %s\n" -msgstr "" - -#: kbdtools/showkey.c:256 -msgid "release" -msgstr "" - -#: kbdtools/showkey.c:256 -msgid "press" -msgstr "" - -#: kbdtools/setmetamode.c:22 -#, c-format -msgid "" -"\n" -"Usage:\n" -"\t%1$s [ metabit | meta | bit | escprefix | esc | prefix ]\n" -"Each vt has his own copy of this bit. Use\n" -"\t%1$s [arg] < /dev/ttyn\n" -"to change the settings of another vt.\n" -"The setting before and after the change are reported.\n" -msgstr "" - -#: kbdtools/setmetamode.c:38 -msgid "Meta key sets high order bit\n" -msgstr "" - -#: kbdtools/setmetamode.c:41 -msgid "Meta key gives Esc prefix\n" -msgstr "" - -#: kbdtools/setmetamode.c:44 -msgid "Strange mode for Meta key?\n" -msgstr "" - -#: kbdtools/setmetamode.c:76 -msgid "Error reading current setting. Maybe stdin is not a VT?\n" -msgstr "" - -#: kbdtools/setmetamode.c:95 -msgid "unrecognized argument" -msgstr "" - -#: kbdtools/setmetamode.c:98 -msgid "old state: " -msgstr "" - -#: kbdtools/setmetamode.c:105 -msgid "new state: " -msgstr "" - -#: kbdtools/kbd_mode.c:23 -#, c-format -msgid "" -"Usage: %s [option]\n" -"Report and set keyboard mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:26 -msgid "print this help information and exit" -msgstr "" - -#: kbdtools/kbd_mode.c:27 -msgid "report version and exit" -msgstr "" - -#: kbdtools/kbd_mode.c:28 -msgid "ASCII or 8bit mode (XLATE)" -msgstr "" - -#: kbdtools/kbd_mode.c:29 -msgid "keycode mode (MEDIUMRAW)" -msgstr "" - -#: kbdtools/kbd_mode.c:30 -msgid "UTF-8 mode (UNICODE)" -msgstr "" - -#: kbdtools/kbd_mode.c:31 -msgid "scancode mode (RAW)" -msgstr "" - -#: kbdtools/kbd_mode.c:32 -msgid "set mode" -msgstr "" - -#: kbdtools/kbd_mode.c:85 -#, c-format -msgid "%s: unknown mode: %s\n" -msgstr "" - -#: kbdtools/kbd_mode.c:111 -msgid ": error reading keyboard mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:117 -msgid "The keyboard is in raw (scancode) mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:120 -msgid "The keyboard is in mediumraw (keycode) mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:123 -msgid "The keyboard is in the default (ASCII) mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:126 -msgid "The keyboard is in Unicode (UTF-8) mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:129 -msgid "The keyboard is in some unknown mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:137 -msgid ": error setting keyboard mode\n" -msgstr "" - -#: loadkeys.y:287 -msgid "too many keydefinitions on one line" -msgstr "" - -#: loadkeys.y:306 -#, c-format -msgid "Usage: %s [option...] [mapfile...]\n" -msgstr "" - -#: loadkeys.y:308 -msgid "clear kernel compose table" -msgstr "" - -#: loadkeys.y:309 -msgid "load default keymap file" -msgstr "" - -#. FIXME: should print DEFKMAP -#: loadkeys.y:310 -msgid "output a \"defkeymap.c\" to stdout" -msgstr "" - -#: loadkeys.y:311 -msgid "clear kernel string table" -msgstr "" - -#: loadkeys.y:312 -msgid "be silent" -msgstr "" - -#: loadkeys.y:313 -msgid "report the changes" -msgstr "" - -#: loadkeys.y:314 -msgid "report more changes" -msgstr "" - -#: loadkeys.y:392 -msgid "syntax error in map file\n" -msgstr "" - -#: loadkeys.y:394 -msgid "key bindings not changed\n" -msgstr "" - -#: loadkeys.y:482 -#, c-format -msgid "Cannot find %s\n" -msgstr "" - -#: loadkeys.y:499 -#, c-format -msgid "cannot open file %s\n" -msgstr "" - -#: loadkeys.y:524 -#, c-format -msgid "addmap called with bad index %d" -msgstr "" - -#: loadkeys.y:529 -#, c-format -msgid "adding map %d violates explicit keymaps line)" -msgstr "" - -#: loadkeys.y:543 -#, c-format -msgid "killkey called with bad index %d" -msgstr "" - -#: loadkeys.y:545 -#, c-format -msgid "killkey called with bad table %d" -msgstr "" - -#: loadkeys.y:559 -#, c-format -msgid "addkey called with bad index %d" -msgstr "" - -#: loadkeys.y:561 -#, c-format -msgid "addkey called with bad table %d" -msgstr "" - -#: loadkeys.y:605 -#, c-format -msgid "%s: addfunc called with bad func %d\n" -msgstr "" - -#: loadkeys.y:628 -#, c-format -msgid "%s: addfunc: func_buf overflow\n" -msgstr "" - -#: loadkeys.y:657 -msgid "compose table overflow\n" -msgstr "" - -#: loadkeys.y:666 -#, c-format -msgid "Warning: Compose char %4x ('%c','%c') > 0xFF will be truncated to %2x\n" -msgstr "" - -#: loadkeys.y:669 -msgid " (Linux kernel < 2.3.X can't handle unicode compose chars properly)\n" -msgstr "" - -#: loadkeys.y:709 -#, c-format -msgid "Keymap %d: Permission denied\n" -msgstr "" - -#: loadkeys.y:718 -#, c-format -msgid "keycode %d, table %d = %d%s\n" -msgstr "" - -#: loadkeys.y:719 -msgid " FAILED" -msgstr "" - -#: loadkeys.y:721 -#, c-format -msgid "failed to bind key %d to value %d\n" -msgstr "" - -#: loadkeys.y:734 -#, c-format -msgid "deallocate keymap %d\n" -msgstr "" - -#: loadkeys.y:742 -#, c-format -msgid "%s: could not deallocate keymap %d\n" -msgstr "" - -#: loadkeys.y:759 -#, c-format -msgid "%s: cannot deallocate or clear keymap\n" -msgstr "" - -#: loadkeys.y:772 -#, c-format -msgid "%s: failed to restore keyboard mode\n" -msgstr "" - -#: loadkeys.y:775 -#, c-format -msgid "" -"%s: warning: this map uses Unicode symbols\n" -" (perhaps you want to do `kbd_mode -u'?)\n" -msgstr "" - -#: loadkeys.y:823 -#, c-format -msgid "failed to bind string '%s' to function %s\n" -msgstr "" - -#: loadkeys.y:832 -#, c-format -msgid "failed to clear string %s\n" -msgstr "" - -#: loadkeys.y:850 -msgid "too many compose definitions\n" -msgstr "" - -#: loadkeys.y:857 -msgid "KDSKBDIACR failed\n" -msgstr "" - -#: loadkeys.y:918 -msgid "impossible error in do_constant" -msgstr "" - -#: loadkeys.y:939 -#, c-format -msgid "" -"\n" -"Changed %d key%s and %d string%s.\n" -msgstr "" - -#: loadkeys.y:943 -#, c-format -msgid "Loaded %d compose definition%s.\n" -msgstr "" - -#: loadkeys.y:946 -msgid "(No change in compose definitions.)\n" -msgstr "" - -#: loadkeys.y:983 -#, c-format -msgid "loadkeys: don't know how to compose for %s\n" -msgstr "" - -#: kbdtools/getkeycodes.c:21 -#, c-format -msgid "" -"Usage: %s\n" -"Print kernel scancode-to-keycode mapping table\n" -msgstr "" - -#: kbdtools/getkeycodes.c:40 -msgid "Plain scancodes xx (hex) versus keycodes (dec)\n" -msgstr "" - -#: kbdtools/getkeycodes.c:41 -msgid "0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n" -msgstr "" - -#: kbdtools/getkeycodes.c:46 -msgid "" -"\n" -"\n" -"Escaped scancodes e0 xx (hex)\n" -msgstr "" - -#: kbdtools/getkeycodes.c:70 -#, c-format -msgid "failed to get keycode for scancode 0x%x\n" -msgstr "" - -#: kbdtools/dumpkeys.c:63 -#, c-format -msgid "KDGKBENT at index 0 in table %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:77 -#, c-format -msgid "%s: cannot find any keymaps?\n" -msgstr "" - -#: kbdtools/dumpkeys.c:82 -#, c-format -msgid "%s: plain map not allocated? very strange ...\n" -msgstr "" - -#: kbdtools/dumpkeys.c:111 -#, c-format -msgid "KDGKBENT at index %d in table %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:200 -msgid "KDGKBDIACR failed\n" -msgstr "" - -#: kbdtools/dumpkeys.c:236 -#, c-format -msgid "keycode range supported by kernel: 1 - %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:238 -#, c-format -msgid "max number of actions bindable to a key: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:241 -#, c-format -msgid "number of keymaps in actual use: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:244 -#, c-format -msgid "of which %d dynamically allocated\n" -msgstr "" - -#: kbdtools/dumpkeys.c:245 -msgid "ranges of action codes supported by kernel:\n" -msgstr "" - -#: kbdtools/dumpkeys.c:250 -#, c-format -msgid "number of function keys supported by kernel: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:253 -#, c-format -msgid "max nr of compose definitions: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:256 -#, c-format -msgid "nr of compose definitions in actual use: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:280 -#, c-format -msgid "" -"Symbols recognized by %s:\n" -"(numeric value, symbol)\n" -"\n" -msgstr "" - -#: kbdtools/dumpkeys.c:292 -msgid "" -"\n" -"The following synonyms are recognized:\n" -"\n" -msgstr "" - -#: kbdtools/dumpkeys.c:296 -msgid "" -"\n" -"Recognized modifier names and their column numbers:\n" -msgstr "" - -#: kbdtools/dumpkeys.c:432 -msgid "impossible: not meta?\n" -msgstr "" - -#: kbdtools/dumpkeys.c:487 -#, c-format -msgid "KDGKBSENT at index %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:510 -#, c-format -msgid "Usage: %s [options...]\n" -msgstr "" - -#: kbdtools/dumpkeys.c:512 -msgid "display information about keyboard driver" -msgstr "" - -#: kbdtools/dumpkeys.c:513 -msgid "display above and symbols known to loadkeys" -msgstr "" - -#: kbdtools/dumpkeys.c:514 -msgid "display keytable in hexadecimal notation" -msgstr "" - -#: kbdtools/dumpkeys.c:515 -msgid "don't use short-hand notations, one row per keycode" -msgstr "" - -#: kbdtools/dumpkeys.c:516 -msgid "one line per (modifier,keycode) pair" -msgstr "" - -#: kbdtools/dumpkeys.c:517 -msgid "display only the function key strings" -msgstr "" - -#: kbdtools/dumpkeys.c:518 -msgid "display only key bindings" -msgstr "" - -#: kbdtools/dumpkeys.c:519 -msgid "choose output shape, where <shape> is:" -msgstr "" - -#: kbdtools/dumpkeys.c:520 -msgid " 0 = default" -msgstr "" - -#: kbdtools/dumpkeys.c:521 -msgid " 1 = same as --full-table" -msgstr "" - -#: kbdtools/dumpkeys.c:522 -msgid " 2 = same as --separate-lines" -msgstr "" - -#: kbdtools/dumpkeys.c:523 -msgid " 3 = one line per keycode, until 1st hole" -msgstr "" - -#: kbdtools/dumpkeys.c:525 -msgid "display only compose key combinations" -msgstr "" - -#: kbdtools/dumpkeys.c:528 -msgid "interpret character action codes to be from the" -msgstr "" - -#: kbdtools/dumpkeys.c:529 -msgid "specified character set" -msgstr "" - -#: kbdtools/dumpkeys.c:531 -msgid "display this help text and exit" -msgstr "" - -#: kbdtools/dumpkeys.c:532 -msgid "display version information and exit" -msgstr "" - -#: kbdtools/dumpkeys.c:534 -msgid "" -"\n" -"available charsets:\n" -msgstr "" - -#: kbdtools/setleds.c:29 -#, c-format -msgid "" -"Usage:\t%1$s [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll ]]\n" -"Thus,\n" -"\t%1$s +caps -num\n" -"will set CapsLock, clear NumLock and leave ScrollLock unchanged.\n" -"The settings before and after the change (if any) are reported\n" -"when the -v option is given or when no change is requested.\n" -"Normally, %1$s influences the vt flag settings\n" -"(and these are usually reflected in the leds).\n" -"With -L, %1$s only sets the leds, and leaves the flags alone.\n" -"With -D, %1$s sets both the flags and the default flags, so\n" -"that a subsequent reset will not change the flags.\n" -msgstr "" - -#: kbdtools/setleds.c:103 -#, c-format -msgid "%s: unknown argument: %s\n" -msgstr "" - -#: kbdtools/setleds.c:117 -#, c-format -msgid "NumLock %s CapsLock %s ScrollLock %s\n" -msgstr "" - -#: kbdtools/setleds.c:143 -msgid "Error reading current led setting. Maybe stdin is not a VT?\n" -msgstr "" - -#: kbdtools/setleds.c:150 -msgid "Error reading current flags setting. Maybe an old kernel?\n" -msgstr "" - -#: kbdtools/setleds.c:163 -msgid "Error resetting ledmode\n" -msgstr "" - -#: kbdtools/setleds.c:172 -msgid "Current default flags: " -msgstr "" - -#: kbdtools/setleds.c:176 -msgid "Current flags: " -msgstr "" - -#: kbdtools/setleds.c:180 -msgid "Current leds: " -msgstr "" - -#: kbdtools/setleds.c:192 -msgid "Old default flags: " -msgstr "" - -#: kbdtools/setleds.c:194 -msgid "New default flags: " -msgstr "" - -#: kbdtools/setleds.c:201 -msgid "Old flags: " -msgstr "" - -#: kbdtools/setleds.c:203 -msgid "New flags: " -msgstr "" - -#: kbdtools/setleds.c:216 -msgid "Old leds: " -msgstr "" - -#: kbdtools/setleds.c:218 -msgid "New leds: " -msgstr "" - -#: lib/sfm-utils.c:35 -msgid "loadunimap: out of memory\n" -msgstr "" - -#: lib/wrappers.c:15 -msgid "Out of Memory\n" -msgstr "" - -#: lib/wrappers.c:26 -msgid "Out of Memory?\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:31 -msgid "Warning: line too long in unicode map.\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:54 lib/sfm-rd-ascii.c:68 -#, c-format -msgid "Bad input line: %s\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:80 -#, c-format -msgid "unicode map: glyph number (0x%x) larger than font length\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:88 -#, c-format -msgid "unicode map: bad end of range (0x%x)\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:113 -msgid "" -"unicode map: Corresponding to a range of font positions, there should be a " -"Unicode range\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:123 -#, c-format -msgid "" -"unicode map: Bad Unicode range corresponding to font position range " -"0x%x-0x%x\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:131 -#, c-format -msgid "" -"unicode map: Unicode range U+%x-U+%x not of the same length as font position " -"range 0x%x-0x%x\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:151 -#, c-format -msgid "unicode map: trailing junk (%s) ignored\n" -msgstr "" - -#: lib/saveunimap.c:24 -#, c-format -msgid "Would save %d SFM entries in `%s'.\n" -msgstr "" - -#: lib/misc-console-utils.c:89 -msgid "Couldnt get a file descriptor referring to the console\n" -msgstr "" - -#: lib/psf-header.c:26 -#, c-format -msgid "Unknown PSF mode number (%d).\n" -msgstr "Numéro de mode PSF inconnu (%d).\n" - -#: lib/ksyms.c:971 -#, c-format -msgid "Error: unknown charset `%s'.\n" -msgstr "" - -#: lib/ksyms.c:1010 -#, c-format -msgid "assuming iso-8859-2 %s\n" -msgstr "" - -#: lib/ksyms.c:1017 -#, c-format -msgid "assuming iso-8859-3 %s\n" -msgstr "" - -#: lib/ksyms.c:1024 -#, c-format -msgid "assuming iso-8859-4 %s\n" -msgstr "" - -#: lib/ksyms.c:1028 -#, c-format -msgid "unknown keysym `%s'\n" -msgstr "" - -#: lib/findfile.c:64 -#, c-format -msgid "%s: %s child exited anormally with code %d.\n" -msgstr "" - -#: lib/findfile.c:67 -#, c-format -msgid "%s: %s child was terminated by signal %d.\n" -msgstr "" - -#: lib/findfile.c:70 -#, c-format -msgid "%s: %s child was stopped by signal %d.\n" -msgstr "" - -#: lib/findfile.c:85 -msgid "Feeder" -msgstr "" - -#: lib/findfile.c:90 -msgid "Decompressor" -msgstr "" - -#: lib/findfile.c:95 -msgid "Identifier" -msgstr "" - -#: lib/findfile.c:122 -msgid "chld_handler()" -msgstr "" - -#: lib/findfile.c:128 -#, c-format -msgid "%s child exited OK.\n" -msgstr "" - -#: lib/findfile.c:172 -msgid "fread magic" -msgstr "" - -#: lib/findfile.c:232 -msgid "decompressor fork" -msgstr "" - -#: lib/findfile.c:238 -msgid "decompressor: close file[1]" -msgstr "" - -#: lib/findfile.c:243 -msgid "decompressor: close uncompressed[0]" -msgstr "" - -#: lib/findfile.c:252 -msgid "decompressor: dup2 file[0]" -msgstr "" - -#: lib/findfile.c:259 -msgid "decompressor: dup2 uncompressed[1]" -msgstr "" - -#: lib/findfile.c:268 -#, c-format -msgid "Decompressor program not found: %s\n" -msgstr "" - -#: lib/findfile.c:271 -msgid "decompressor: execlp" -msgstr "" - -#: lib/findfile.c:287 -msgid "feeder fork" -msgstr "" - -#: lib/findfile.c:294 -msgid "feeder: close uncompressed[0]" -msgstr "" - -#: lib/findfile.c:302 -msgid "feeder: write zmagicbuf" -msgstr "" - -#: lib/findfile.c:308 -msgid "feeder: feed" -msgstr "" - -#: lib/findfile.c:340 -msgid "fread" -msgstr "" - -#: lib/findfile.c:377 -msgid "identifier fork" -msgstr "" - -#: lib/findfile.c:382 -msgid "identifier: close identified[0]" -msgstr "" - -#: lib/findfile.c:389 -msgid "identifier: write magicIDbuf" -msgstr "" - -#: lib/findfile.c:395 -msgid "identifier: feed" -msgstr "" - -#: lib/findfile.c:439 -#, c-format -msgid "Zombie %d caught.\n" -msgstr "" - -#: lib/findfile.c:450 -msgid "One for nothing.\n" -msgstr "" - -#: lib/findfile.c:562 -msgid "Warning: ignoring a possible path (too long)." -msgstr "" - -#: lib/findfile.c:668 -msgid "feeder" -msgstr "" - -#: lib/findfile.c:669 -msgid "decompressor" -msgstr "" - -#: lib/findfile.c:670 -msgid "identifier" -msgstr "" - -#: lib/findfile.c:676 -msgid "findfile(): timeout waiting for undead child(ren) ?\n" -msgstr "" - -#: lib/findfile.c:711 -msgid "Buffer overflow - aborting\n" -msgstr "" - -#: lib/acm.c:35 -msgid "Cannot stat map file" -msgstr "" - -#: lib/acm.c:47 -msgid "16bit screen-map MUST be a regular file.\n" -msgstr "" - -#: lib/acm.c:49 -msgid "fseek failed reading binary 16bit screen-map" -msgstr "" - -#: lib/acm.c:53 -msgid "Cannot read [new] map from file" -msgstr "" - -#: lib/acm.c:56 -msgid "Input screen-map is binary.\n" -msgstr "" - -#: lib/acm.c:65 -msgid "PIO_UNISCRNMAP ioctl" -msgstr "" - -#: lib/acm.c:75 -msgid "Assuming 8bit screen-map - MUST be a regular file.\n" -msgstr "" - -#: lib/acm.c:77 -msgid "fseek failed assuming 8bit screen-map" -msgstr "" - -#. should not - it succedeed above -#: lib/acm.c:91 -msgid "fseek() returned ESPIPE !\n" -msgstr "" - -#: lib/acm.c:93 -msgid "fseek for binary 8bit screen-map" -msgstr "" - -#: lib/acm.c:97 -msgid "Cannot read [old] map from file" -msgstr "" - -#: lib/acm.c:105 -msgid "PIO_SCRNMAP ioctl" -msgstr "" - -#: lib/acm.c:111 -msgid "Error parsing symbolic map\n" -msgstr "" - -#: lib/acm.c:158 -msgid "uni_screen_map_read_ascii() can't read line" -msgstr "" - -#: lib/acm.c:306 -msgid "GIO_UNISCRNMAP ioctl error" -msgstr "" - -#: lib/acm.c:310 -msgid "GIO_SCRNMAP ioctl error" -msgstr "" - -#: lib/acm.c:331 lib/acm.c:339 -msgid "Error writing map to file" -msgstr "" - -#: lib/miscutils.c:56 -#, c-format -msgid "%s: Unexpected arguments.\n" -msgstr "" - -#: screenfonttools/consolechars.c:48 -#, c-format -msgid "Usage: %s [options] [commands]\n" -msgstr "" - -#: screenfonttools/consolechars.c:50 -msgid "List operations as they are done" -msgstr "" - -#: screenfonttools/consolechars.c:51 -msgid "Do not change the console state nor write to any file" -msgstr "" - -#: screenfonttools/consolechars.c:52 -msgid "" -"(N in 0..32) Choose the right font from a codepage that\n" -"contains three fonts (only 8/14/16 allowed then), or choose\n" -"default font, ie. \"default8xN\"" -msgstr "" - -#: screenfonttools/consolechars.c:55 -msgid "Suppress loading of a screen-font map [use with care]" -msgstr "" - -#: screenfonttools/consolechars.c:56 -msgid "When loading an ACM, activate G1 charset instead of G0" -msgstr "" - -#: screenfonttools/consolechars.c:57 -msgid "Use `device' as console device for ioctls" -msgstr "" - -#: screenfonttools/consolechars.c:59 -msgid "Load the console-font from specified file" -msgstr "" - -#: screenfonttools/consolechars.c:60 -msgid "Load a default font from a file" -msgstr "" - -#: screenfonttools/consolechars.c:61 -msgid "Restore ROM font (does not work with all kernels)" -msgstr "" - -#: screenfonttools/consolechars.c:63 -msgid "" -"Load the SFM from specified file\n" -"(instead of the one in font-file, if any)" -msgstr "" - -#: screenfonttools/consolechars.c:65 -msgid "Merge SFM fallbacks from file into SFM" -msgstr "" - -#: screenfonttools/consolechars.c:66 -msgid "Load the ACM from specified file" -msgstr "" - -#: screenfonttools/consolechars.c:67 -msgid "Write current font to prefered format (now: psf-with-sfm)" -msgstr "" - -#: screenfonttools/consolechars.c:68 -msgid "Write current font to PSF file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:70 -msgid "Same as -old-font-psf, and add current SFM in the PSF file" -msgstr "" - -#: screenfonttools/consolechars.c:71 -msgid "Write current font to RAW file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:72 -msgid "Write current ACM to file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:73 -msgid "Write current SFM to file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:84 -msgid "too many `-' as filenames" -msgstr "" - -#: screenfonttools/consolechars.c:196 -msgid "--char-height argument should be in 1..31" -msgstr "" - -#: screenfonttools/consolechars.c:201 screenfonttools/consolechars.c:208 -#: screenfonttools/consolechars.c:214 -msgid "only one font file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:220 -msgid "only one ACM is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:227 -msgid "only one SFM is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:229 -msgid "multiple requests for SFM handling" -msgstr "" - -#: screenfonttools/consolechars.c:236 -msgid "WARNING: not using a unimap may lead to erroneous display !\n" -msgstr "" - -#: screenfonttools/consolechars.c:246 -msgid "realloc fallback_files" -msgstr "" - -#: screenfonttools/consolechars.c:255 -msgid "only one output RAW font-file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:262 -msgid "only one output PSF font-file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:269 -msgid "only one output PSF+SFM font-file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:276 -msgid "only one output ACM file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:283 -msgid "only one output SFM file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:294 -msgid "unknown option" -msgstr "" - -#: screenfonttools/consolechars.c:299 -msgid "no non-option arguments are valid" -msgstr "" - -#: screenfonttools/consolechars.c:302 -msgid "nothing to do" -msgstr "" - -#: screenfonttools/consolechars.c:316 -msgid "Saving raw old font" -msgstr "" - -#: screenfonttools/consolechars.c:320 -msgid "Saving PSF old font" -msgstr "" - -#: screenfonttools/consolechars.c:324 -msgid "Saving PSF+unimap old font" -msgstr "" - -#: screenfonttools/consolechars.c:329 -#, c-format -msgid "Would save ACM to file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:332 -#, c-format -msgid "Saving ACM to file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:354 -#, c-format -msgid "Would load ACM from `%s'\n" -msgstr "" - -#: screenfonttools/consolechars.c:357 -#, c-format -msgid "Loading ACM from `%s'\n" -msgstr "" - -#: screenfonttools/consolechars.c:360 -msgid "Error reading ACM file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:386 -#, c-format -msgid "Would read screen-font map from %s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:388 -#, c-format -msgid "Reading screen-font map from %s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:402 -msgid "Requesting SFM from kernel.\n" -msgstr "" - -#: screenfonttools/consolechars.c:406 -msgid "No valid SFM currently loaded. Aborting.\n" -msgstr "" - -#: screenfonttools/consolechars.c:440 -#, c-format -msgid "Reading SFM fallbacks from `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:448 -#, c-format -msgid "Read %u fallback entries.\n" -msgstr "" - -#: screenfonttools/consolechars.c:473 -msgid "WARNING: No SFM found in file or kernel ? Ignoring fallback file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:480 -msgid "Would set kernel SFM.\n" -msgstr "" - -#: screenfonttools/consolechars.c:483 -msgid "Setting kernel SFM.\n" -msgstr "" - -#: screenfonttools/consolechars.c:528 -msgid "Cannot find a default font file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:537 -#, c-format -msgid "Cannot find default font file `default8x%02d'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:547 -#, c-format -msgid "Cannot open font file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:584 -msgid "Only fontsize 256 supported.\n" -msgstr "" - -#: screenfonttools/consolechars.c:595 -#, c-format -msgid "Would load %d-chars %dx%d font from file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:602 -#, c-format -msgid "Loading %d-chars %dx%d font from file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:628 -#, c-format -msgid "Reading default SFM from `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:649 -msgid "Cannot write SFM into non-PSF font-file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:660 -#, c-format -msgid "Can only save 8bit-wide fonts for now, and font is %d-bit wide.\n" -msgstr "" - -#: screenfonttools/consolechars.c:670 -#, c-format -msgid "Can only save 256-chars fonts in RAW files, and font has %d chars.\n" -msgstr "" - -#: screenfonttools/consolechars.c:677 -msgid "Found nothing to save.\n" -msgstr "" - -#: screenfonttools/consolechars.c:708 -#, c-format -msgid "Would have saved 8x%d %s font file on `%s'%s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:709 -#, c-format -msgid "Saved 8x%d %s font file on `%s'%s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:713 -msgid ", with SFM" -msgstr "" - -#: screenfonttools/consolechars.c:713 -msgid ", without SFM" -msgstr "" - -#: screenfonttools/showcfont.c:15 -#, c-format -msgid "" -"Usage: %s\n" -"Displays a screen-font's contents.\n" -msgstr "" - -#: screenfonttools/clrunimap.c:19 -#, c-format -msgid "" -"Usage: %s\n" -"Clears the Unicode map from the console.\n" -"Note: nowadays this kills kernel console output!\n" -msgstr "" - -#: vttools/screendump.c:31 -#, c-format -msgid "" -"Usage: %s [console]\n" -"Dump the contents of the screen to stdout\n" -msgstr "" - -#: vttools/screendump.c:34 -msgid "dump contents of screen s" -msgstr "" - -#: vttools/chvt.c:59 vttools/screendump.c:72 vttools/setvesablank.c:81 -#, c-format -msgid "%s: Wrong number of args\n" -msgstr "" - -#: vttools/screendump.c:112 -msgid "Out of memory\n" -msgstr "" - -#: vttools/screendump.c:117 -#, c-format -msgid "Error reading %s\n" -msgstr "" - -#: vttools/screendump.c:141 -msgid "Could not use /dev/vcs*, trying TIOCLINUX\n" -msgstr "" - -#: vttools/screendump.c:158 -msgid "Out of memory.\n" -msgstr "" - -#: vttools/screendump.c:169 -#, c-format -msgid "couldn't read %s, and cannot ioctl dump\n" -msgstr "" - -#: vttools/screendump.c:178 -#, c-format -msgid "Strange ... screen is both %dx%d and %dx%d ??\n" -msgstr "" - -#: vttools/screendump.c:186 -msgid "Out of memory?\n" -msgstr "" - -#: vttools/screendump.c:203 -msgid "Error writing screen dump\n" -msgstr "" - -#: vttools/setvesablank.c:19 -#, c-format -msgid "" -"Usage: %s ON|on|off\n" -"\n" -"Set VESA blanking on console.\n" -msgstr "" - -#: vttools/setvesablank.c:22 -msgid "turn blanking on" -msgstr "" - -#: vttools/setvesablank.c:37 -#, c-format -msgid "%s: argument '%s' should be 'ON', 'on' or 'off'\n" -msgstr "" - -#: vttools/vt-is-UTF8.c:16 -#, c-format -msgid "Usage: %s [option]\n" -msgstr "" - -#: vttools/vt-is-UTF8.c:18 -msgid "don't print result" -msgstr "" - -#: vttools/vt-is-UTF8.c:82 -msgid "Single-byte char mode.\n" -msgstr "" - -#: vttools/resizecons.c:110 -#, c-format -msgid "" -"Usage: %s COLSxROWS\n" -" %s COLS ROWS\n" -" %s -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n" -msgstr "" - -#: vttools/resizecons.c:145 -#, c-format -msgid "%s: Invalid number of columns: %s\n" -msgstr "" - -#: vttools/resizecons.c:154 -#, c-format -msgid "%s: Invalid number of rows: %s\n" -msgstr "" - -#: vttools/resizecons.c:174 vttools/resizecons.c:198 -#, c-format -msgid "%s: Invalid arguments" -msgstr "" - -#: vttools/resizecons.c:186 -#, c-format -msgid "%s: Unrecognized argument" -msgstr "" - -#: vttools/resizecons.c:210 -#, c-format -msgid "%s: bad number of arguments\n" -msgstr "" - -#: vttools/resizecons.c:239 -#, c-format -msgid "%s: cannot find videomode file %s\n" -msgstr "" - -#: vttools/resizecons.c:260 -msgid "Invalid number of lines\n" -msgstr "" - -#: vttools/resizecons.c:338 -#, c-format -msgid "Old mode: %dx%d New mode: %dx%d\n" -msgstr "" - -#: vttools/resizecons.c:340 -#, c-format -msgid "Old #scanlines: %d New #scanlines: %d Character height: %d\n" -msgstr "" - -#: vttools/resizecons.c:353 vttools/resizecons.c:403 -#, c-format -msgid "%s: the command `%s' failed\n" -msgstr "" - -#: vttools/resizecons.c:408 -#, c-format -msgid "%s: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n" -msgstr "" - -#: vttools/resizecons.c:412 -msgid "Also the variables LINES and COLUMNS may need adjusting.\n" -msgstr "" - -#: vttools/resizecons.c:449 -#, c-format -msgid "%s: cannot get I/O permissions.\n" -msgstr "" - -#: vttools/deallocvt.c:23 -#, c-format -msgid "" -"Usage: %s [N1 N2 ...]\n" -"Deallocate virtual terminal(s)\n" -msgstr "" - -#: vttools/chvt.c:21 vttools/deallocvt.c:26 -msgid "virtual terminal" -msgstr "" - -#: vttools/deallocvt.c:41 -#, c-format -msgid "%s: 0: illegal VT number\n" -msgstr "" - -#: vttools/deallocvt.c:50 -#, c-format -msgid "%s: VT 1 is the console and cannot be deallocated\n" -msgstr "" - -#: vttools/deallocvt.c:61 -#, c-format -msgid "%s: could not deallocate console %d\n" -msgstr "" - -#: vttools/deallocvt.c:125 -#, c-format -msgid "%s: deallocating all unused consoles failed\n" -msgstr "" - -#: vttools/fgconsole.c:14 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Print foreground console\n" -msgstr "" - -#: vttools/chvt.c:18 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Change virtual terminal\n" -msgstr "" - -#: vttools/vcstime.c:22 -#, c-format -msgid "" -"Usage: %s\n" -"Show time in upper right hand corner of the console screen\n" -msgstr "" - -#: vttools/writevt.c:19 -#, c-format -msgid "" -"Usage: %s tty text\n" -"Put text into the input buffer of a virtual terminal.\n" -msgstr "" - -#: vttools/writevt.c:22 -msgid "device name" -msgstr "" - -#: vttools/writevt.c:23 -msgid "text to insert" -msgstr "" - -#: vttools/writevt.c:68 -#, c-format -msgid "%s: No tty specified.\n" -msgstr "" - -#: vttools/writevt.c:77 -#, c-format -msgid "%s: No text specified.\n" -msgstr "" - -#: vttools/writevt.c:83 -#, c-format -msgid "%s: too many arguments\n" -msgstr "" - -#: vttools/writevt.c:91 -#, c-format -msgid "%s: could not open tty\n" -msgstr "" - -#: vttools/writevt.c:99 -#, c-format -msgid "%s: TIOCSTI ioctl failed\n" -msgstr "" - -#~ msgid "output filename\n" -#~ msgstr "Nom du fichier de sortie" - -#~ msgid "" -#~ "Usage: %s psffont chartable [outfile]\n" -#~ "Add a Unicode character table to a PSF font\n" -#~ "valid options are:\n" -#~ "\t-f --font=f psffont filename\n" -#~ "\t-c --chartable=f character table filename\n" -#~ "\t-o --outfile=f output filename\n" -#~ "%s" -#~ msgstr "" -#~ "Syntaxe: %s [options] PSF_entrée SFM [PSF_sortie]\n" -#~ "Ajoute une table de caractères unicode (SFM) à une police PSF\n" -#~ "Options disponibles :\n" -#~ "\t-f --font=f nom du fichier PSF\n" -#~ "\t-c --chartable=f nom du fichier SFM à ajouter\n" -#~ "\t-o --outfile=f nom du fichier PSF en sortie\n" -#~ "%s" - -#~ msgid "" -#~ "\t-h --help display this help text\n" -#~ "\t-V --version display version information and exit.\n" -#~ msgstr "" -#~ "\t-h --help afficher l'aide-mémoire\n" -#~ "\t-V --version afficher le nom et la version du logiciel\n" Binary files /tmp/tmpayi9pl/v7Up8WiOl7/console-tools-0.2.3/po/ga.gmo and /tmp/tmpayi9pl/Fy8SctC1qL/console-tools-0.2.3/po/ga.gmo differ diff -Nru console-tools-0.2.3/po/ga.po console-tools-0.2.3/po/ga.po --- console-tools-0.2.3/po/ga.po 1999-10-25 20:58:18.000000000 +0000 +++ console-tools-0.2.3/po/ga.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,1603 +0,0 @@ -# Irish (Gaeilge) translations for console-tools -# Copyright (C) 1999 Free Software Foundation, Inc. -# Alastair McKinstry, <amck@maths.tcd.ie>, 1999. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: console-tools 1999.01.20.amck\n" -"POT-Creation-Date: 1999-10-25 22:33+0200\n" -"PO-Revision-Date: 1999-01-20 19:00+0000\n" -"Last-Translator: Alastair McKinstry <amck@maths.tcd.ie>\n" -"Language-Team: Irish <ga@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso_8859_1\n" -"Content-Transfer-Encoding: 8bit\n" - -#: fontfiletools/psfaddtable.c:30 -#, c-format -msgid "" -"Usage: %s psffont_in sfm_file [psffont_out]\n" -"Add a Unicode character table to a PSF font\n" -msgstr "" - -#: fontfiletools/psfaddtable.c:33 -msgid "input psffont filename" -msgstr "" - -#: fontfiletools/psfaddtable.c:34 -msgid "screen-font-map filename" -msgstr "" - -#: fontfiletools/psfaddtable.c:35 -msgid "output psffont filename" -msgstr "" - -#: fontfiletools/psfaddtable.c:86 fontfiletools/psfaddtable.c:96 -#: fontfiletools/psfgettable.c:76 fontfiletools/psfstriptable.c:78 -#, fuzzy, c-format -msgid "%s: wrong number of arguments\n" -msgstr "droch uimhir na argointí" - -#: fontfiletools/psfaddtable.c:113 -#, c-format -msgid "%s: psffont and chartable cannot both be stdin\n" -msgstr "" - -#: fontfiletools/psfaddtable.c:200 -#, c-format -msgid "Loading unicode map from %s.\n" -msgstr "Ag lódáil carta unicode as %s.\n" - -#: fontfiletools/psfgettable.c:26 -#, c-format -msgid "" -"Usage: %s psffont chartable [outfile]\n" -"Extract a Unicode character table from a PSF font\n" -msgstr "" - -#: fontfiletools/psfgettable.c:29 fontfiletools/psfstriptable.c:31 -msgid "psffont filename" -msgstr "" - -#: fontfiletools/psfgettable.c:30 fontfiletools/psfstriptable.c:32 -msgid "output filename" -msgstr "" - -#: fontfiletools/psfgettable.c:139 -#, c-format -msgid "%s: Font has no character table\n" -msgstr "" - -#: fontfiletools/psfstriptable.c:28 -#, c-format -msgid "" -"Usage: %s [options] psffont [outfile]\n" -"Strip Unicode character table from a PSF font\n" -msgstr "" - -#: fontfiletools/psfstriptable.c:140 -#, c-format -msgid "%s: Font already had no character table\n" -msgstr "" - -#: kbdtools/showkey.c:47 -msgid "?UNKNOWN?" -msgstr "" - -#: kbdtools/showkey.c:49 -#, c-format -msgid "kb mode was %s\n" -msgstr "" - -#: kbdtools/showkey.c:52 -msgid "[ if you are trying this under X, it might not work\n" -msgstr "" - -#: kbdtools/showkey.c:53 -msgid "since the X server is also reading /dev/console ]\n" -msgstr "" - -#: kbdtools/showkey.c:72 -#, c-format -msgid "caught signal %d, cleaning up...\n" -msgstr "" - -#: kbdtools/showkey.c:85 -#, c-format -msgid "usage: %s [options...] <command>\n" -msgstr "" - -#: kbdtools/showkey.c:87 -msgid "display only the raw scan-codes." -msgstr "" - -#: kbdtools/showkey.c:88 -msgid "display only the interpreted keycodes (default)." -msgstr "" - -#: kbdtools/showkey.c:89 -msgid "display only keymap-translated chars." -msgstr "" - -#: kbdtools/showkey.c:90 -msgid "display unicode-translated chars." -msgstr "" - -#: kbdtools/showkey.c:94 -msgid "set the timeout to N seconds." -msgstr "" - -#: kbdtools/showkey.c:158 -msgid "timeout value must be numeric" -msgstr "" - -#: kbdtools/dumpkeys.c:632 kbdtools/showkey.c:174 -msgid "no non-option arguments allowed" -msgstr "" - -#: kbdtools/showkey.c:177 -msgid "WARNING: Unicode mode is experimental -- output may be wrong\n" -msgstr "" - -#: kbdtools/showkey.c:235 -#, c-format -msgid "press any key (program terminates after %us of last keypress)...\n" -msgstr "" - -#: kbdtools/showkey.c:254 -#, c-format -msgid "keycode %3d %s\n" -msgstr "" - -#: kbdtools/showkey.c:256 -msgid "release" -msgstr "" - -#: kbdtools/showkey.c:256 -msgid "press" -msgstr "" - -#: kbdtools/setmetamode.c:22 -#, c-format -msgid "" -"\n" -"Usage:\n" -"\t%1$s [ metabit | meta | bit | escprefix | esc | prefix ]\n" -"Each vt has his own copy of this bit. Use\n" -"\t%1$s [arg] < /dev/ttyn\n" -"to change the settings of another vt.\n" -"The setting before and after the change are reported.\n" -msgstr "" - -#: kbdtools/setmetamode.c:38 -msgid "Meta key sets high order bit\n" -msgstr "" - -#: kbdtools/setmetamode.c:41 -msgid "Meta key gives Esc prefix\n" -msgstr "" - -#: kbdtools/setmetamode.c:44 -msgid "Strange mode for Meta key?\n" -msgstr "" - -#: kbdtools/setmetamode.c:76 -msgid "Error reading current setting. Maybe stdin is not a VT?\n" -msgstr "" - -#: kbdtools/setmetamode.c:95 -msgid "unrecognized argument" -msgstr "" - -#: kbdtools/setmetamode.c:98 -msgid "old state: " -msgstr "" - -#: kbdtools/setmetamode.c:105 -msgid "new state: " -msgstr "" - -#: kbdtools/kbd_mode.c:23 -#, c-format -msgid "" -"Usage: %s [option]\n" -"Report and set keyboard mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:26 -msgid "print this help information and exit" -msgstr "" - -#: kbdtools/kbd_mode.c:27 -msgid "report version and exit" -msgstr "" - -#: kbdtools/kbd_mode.c:28 -msgid "ASCII or 8bit mode (XLATE)" -msgstr "" - -#: kbdtools/kbd_mode.c:29 -msgid "keycode mode (MEDIUMRAW)" -msgstr "" - -#: kbdtools/kbd_mode.c:30 -msgid "UTF-8 mode (UNICODE)" -msgstr "" - -#: kbdtools/kbd_mode.c:31 -msgid "scancode mode (RAW)" -msgstr "" - -#: kbdtools/kbd_mode.c:32 -msgid "set mode" -msgstr "" - -#: kbdtools/kbd_mode.c:85 -#, c-format -msgid "%s: unknown mode: %s\n" -msgstr "" - -#: kbdtools/kbd_mode.c:111 -msgid ": error reading keyboard mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:117 -msgid "The keyboard is in raw (scancode) mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:120 -msgid "The keyboard is in mediumraw (keycode) mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:123 -msgid "The keyboard is in the default (ASCII) mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:126 -msgid "The keyboard is in Unicode (UTF-8) mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:129 -msgid "The keyboard is in some unknown mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:137 -msgid ": error setting keyboard mode\n" -msgstr "" - -#: loadkeys.y:287 -msgid "too many keydefinitions on one line" -msgstr "" - -#: loadkeys.y:306 -#, c-format -msgid "Usage: %s [option...] [mapfile...]\n" -msgstr "" - -#: loadkeys.y:308 -msgid "clear kernel compose table" -msgstr "" - -#: loadkeys.y:309 -msgid "load default keymap file" -msgstr "" - -#. FIXME: should print DEFKMAP -#: loadkeys.y:310 -msgid "output a \"defkeymap.c\" to stdout" -msgstr "" - -#: loadkeys.y:311 -msgid "clear kernel string table" -msgstr "" - -#: loadkeys.y:312 -msgid "be silent" -msgstr "" - -#: loadkeys.y:313 -msgid "report the changes" -msgstr "" - -#: loadkeys.y:314 -msgid "report more changes" -msgstr "" - -#: loadkeys.y:392 -msgid "syntax error in map file\n" -msgstr "" - -#: loadkeys.y:394 -msgid "key bindings not changed\n" -msgstr "" - -#: loadkeys.y:482 -#, c-format -msgid "Cannot find %s\n" -msgstr "" - -#: loadkeys.y:499 -#, c-format -msgid "cannot open file %s\n" -msgstr "" - -#: loadkeys.y:524 -#, c-format -msgid "addmap called with bad index %d" -msgstr "" - -#: loadkeys.y:529 -#, c-format -msgid "adding map %d violates explicit keymaps line)" -msgstr "" - -#: loadkeys.y:543 -#, c-format -msgid "killkey called with bad index %d" -msgstr "" - -#: loadkeys.y:545 -#, c-format -msgid "killkey called with bad table %d" -msgstr "" - -#: loadkeys.y:559 -#, c-format -msgid "addkey called with bad index %d" -msgstr "" - -#: loadkeys.y:561 -#, c-format -msgid "addkey called with bad table %d" -msgstr "" - -#: loadkeys.y:605 -#, c-format -msgid "%s: addfunc called with bad func %d\n" -msgstr "" - -#: loadkeys.y:628 -#, c-format -msgid "%s: addfunc: func_buf overflow\n" -msgstr "" - -#: loadkeys.y:657 -msgid "compose table overflow\n" -msgstr "" - -#: loadkeys.y:666 -#, c-format -msgid "Warning: Compose char %4x ('%c','%c') > 0xFF will be truncated to %2x\n" -msgstr "" - -#: loadkeys.y:669 -msgid " (Linux kernel < 2.3.X can't handle unicode compose chars properly)\n" -msgstr "" - -#: loadkeys.y:709 -#, c-format -msgid "Keymap %d: Permission denied\n" -msgstr "" - -#: loadkeys.y:718 -#, c-format -msgid "keycode %d, table %d = %d%s\n" -msgstr "" - -#: loadkeys.y:719 -msgid " FAILED" -msgstr "" - -#: loadkeys.y:721 -#, c-format -msgid "failed to bind key %d to value %d\n" -msgstr "" - -#: loadkeys.y:734 -#, c-format -msgid "deallocate keymap %d\n" -msgstr "" - -#: loadkeys.y:742 -#, c-format -msgid "%s: could not deallocate keymap %d\n" -msgstr "" - -#: loadkeys.y:759 -#, c-format -msgid "%s: cannot deallocate or clear keymap\n" -msgstr "" - -#: loadkeys.y:772 -#, c-format -msgid "%s: failed to restore keyboard mode\n" -msgstr "" - -#: loadkeys.y:775 -#, c-format -msgid "" -"%s: warning: this map uses Unicode symbols\n" -" (perhaps you want to do `kbd_mode -u'?)\n" -msgstr "" - -#: loadkeys.y:823 -#, c-format -msgid "failed to bind string '%s' to function %s\n" -msgstr "" - -#: loadkeys.y:832 -#, c-format -msgid "failed to clear string %s\n" -msgstr "" - -#: loadkeys.y:850 -msgid "too many compose definitions\n" -msgstr "" - -#: loadkeys.y:857 -msgid "KDSKBDIACR failed\n" -msgstr "" - -#: loadkeys.y:918 -msgid "impossible error in do_constant" -msgstr "" - -#: loadkeys.y:939 -#, c-format -msgid "" -"\n" -"Changed %d key%s and %d string%s.\n" -msgstr "" - -#: loadkeys.y:943 -#, c-format -msgid "Loaded %d compose definition%s.\n" -msgstr "" - -#: loadkeys.y:946 -msgid "(No change in compose definitions.)\n" -msgstr "" - -#: loadkeys.y:983 -#, c-format -msgid "loadkeys: don't know how to compose for %s\n" -msgstr "" - -#: kbdtools/getkeycodes.c:21 -#, c-format -msgid "" -"Usage: %s\n" -"Print kernel scancode-to-keycode mapping table\n" -msgstr "" - -#: kbdtools/getkeycodes.c:40 -msgid "Plain scancodes xx (hex) versus keycodes (dec)\n" -msgstr "" - -#: kbdtools/getkeycodes.c:41 -msgid "0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n" -msgstr "" - -#: kbdtools/getkeycodes.c:46 -msgid "" -"\n" -"\n" -"Escaped scancodes e0 xx (hex)\n" -msgstr "" - -#: kbdtools/getkeycodes.c:70 -#, c-format -msgid "failed to get keycode for scancode 0x%x\n" -msgstr "" - -#: kbdtools/dumpkeys.c:63 -#, c-format -msgid "KDGKBENT at index 0 in table %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:77 -#, c-format -msgid "%s: cannot find any keymaps?\n" -msgstr "" - -#: kbdtools/dumpkeys.c:82 -#, c-format -msgid "%s: plain map not allocated? very strange ...\n" -msgstr "" - -#: kbdtools/dumpkeys.c:111 -#, c-format -msgid "KDGKBENT at index %d in table %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:200 -msgid "KDGKBDIACR failed\n" -msgstr "" - -#: kbdtools/dumpkeys.c:236 -#, c-format -msgid "keycode range supported by kernel: 1 - %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:238 -#, c-format -msgid "max number of actions bindable to a key: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:241 -#, c-format -msgid "number of keymaps in actual use: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:244 -#, c-format -msgid "of which %d dynamically allocated\n" -msgstr "" - -#: kbdtools/dumpkeys.c:245 -msgid "ranges of action codes supported by kernel:\n" -msgstr "" - -#: kbdtools/dumpkeys.c:250 -#, c-format -msgid "number of function keys supported by kernel: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:253 -#, c-format -msgid "max nr of compose definitions: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:256 -#, c-format -msgid "nr of compose definitions in actual use: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:280 -#, c-format -msgid "" -"Symbols recognized by %s:\n" -"(numeric value, symbol)\n" -"\n" -msgstr "" - -#: kbdtools/dumpkeys.c:292 -msgid "" -"\n" -"The following synonyms are recognized:\n" -"\n" -msgstr "" - -#: kbdtools/dumpkeys.c:296 -msgid "" -"\n" -"Recognized modifier names and their column numbers:\n" -msgstr "" - -#: kbdtools/dumpkeys.c:432 -msgid "impossible: not meta?\n" -msgstr "" - -#: kbdtools/dumpkeys.c:487 -#, c-format -msgid "KDGKBSENT at index %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:510 -#, c-format -msgid "Usage: %s [options...]\n" -msgstr "" - -#: kbdtools/dumpkeys.c:512 -msgid "display information about keyboard driver" -msgstr "" - -#: kbdtools/dumpkeys.c:513 -msgid "display above and symbols known to loadkeys" -msgstr "" - -#: kbdtools/dumpkeys.c:514 -msgid "display keytable in hexadecimal notation" -msgstr "" - -#: kbdtools/dumpkeys.c:515 -msgid "don't use short-hand notations, one row per keycode" -msgstr "" - -#: kbdtools/dumpkeys.c:516 -msgid "one line per (modifier,keycode) pair" -msgstr "" - -#: kbdtools/dumpkeys.c:517 -msgid "display only the function key strings" -msgstr "" - -#: kbdtools/dumpkeys.c:518 -msgid "display only key bindings" -msgstr "" - -#: kbdtools/dumpkeys.c:519 -msgid "choose output shape, where <shape> is:" -msgstr "" - -#: kbdtools/dumpkeys.c:520 -msgid " 0 = default" -msgstr "" - -#: kbdtools/dumpkeys.c:521 -msgid " 1 = same as --full-table" -msgstr "" - -#: kbdtools/dumpkeys.c:522 -msgid " 2 = same as --separate-lines" -msgstr "" - -#: kbdtools/dumpkeys.c:523 -msgid " 3 = one line per keycode, until 1st hole" -msgstr "" - -#: kbdtools/dumpkeys.c:525 -msgid "display only compose key combinations" -msgstr "" - -#: kbdtools/dumpkeys.c:528 -msgid "interpret character action codes to be from the" -msgstr "" - -#: kbdtools/dumpkeys.c:529 -msgid "specified character set" -msgstr "" - -#: kbdtools/dumpkeys.c:531 -msgid "display this help text and exit" -msgstr "" - -#: kbdtools/dumpkeys.c:532 -msgid "display version information and exit" -msgstr "" - -#: kbdtools/dumpkeys.c:534 -msgid "" -"\n" -"available charsets:\n" -msgstr "" - -#: kbdtools/setleds.c:29 -#, c-format -msgid "" -"Usage:\t%1$s [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll ]]\n" -"Thus,\n" -"\t%1$s +caps -num\n" -"will set CapsLock, clear NumLock and leave ScrollLock unchanged.\n" -"The settings before and after the change (if any) are reported\n" -"when the -v option is given or when no change is requested.\n" -"Normally, %1$s influences the vt flag settings\n" -"(and these are usually reflected in the leds).\n" -"With -L, %1$s only sets the leds, and leaves the flags alone.\n" -"With -D, %1$s sets both the flags and the default flags, so\n" -"that a subsequent reset will not change the flags.\n" -msgstr "" - -#: kbdtools/setleds.c:103 -#, c-format -msgid "%s: unknown argument: %s\n" -msgstr "" - -#: kbdtools/setleds.c:117 -#, c-format -msgid "NumLock %s CapsLock %s ScrollLock %s\n" -msgstr "" - -#: kbdtools/setleds.c:143 -msgid "Error reading current led setting. Maybe stdin is not a VT?\n" -msgstr "" - -#: kbdtools/setleds.c:150 -msgid "Error reading current flags setting. Maybe an old kernel?\n" -msgstr "" - -#: kbdtools/setleds.c:163 -msgid "Error resetting ledmode\n" -msgstr "" - -#: kbdtools/setleds.c:172 -msgid "Current default flags: " -msgstr "" - -#: kbdtools/setleds.c:176 -msgid "Current flags: " -msgstr "" - -#: kbdtools/setleds.c:180 -msgid "Current leds: " -msgstr "" - -#: kbdtools/setleds.c:192 -msgid "Old default flags: " -msgstr "" - -#: kbdtools/setleds.c:194 -msgid "New default flags: " -msgstr "" - -#: kbdtools/setleds.c:201 -msgid "Old flags: " -msgstr "" - -#: kbdtools/setleds.c:203 -msgid "New flags: " -msgstr "" - -#: kbdtools/setleds.c:216 -msgid "Old leds: " -msgstr "" - -#: kbdtools/setleds.c:218 -msgid "New leds: " -msgstr "" - -#: lib/sfm-utils.c:35 -msgid "loadunimap: out of memory\n" -msgstr "" - -#: lib/wrappers.c:15 -msgid "Out of Memory\n" -msgstr "" - -#: lib/wrappers.c:26 -msgid "Out of Memory?\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:31 -msgid "Warning: line too long in unicode map.\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:54 lib/sfm-rd-ascii.c:68 -#, c-format -msgid "Bad input line: %s\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:80 -#, c-format -msgid "unicode map: glyph number (0x%x) larger than font length\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:88 -#, c-format -msgid "unicode map: bad end of range (0x%x)\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:113 -msgid "" -"unicode map: Corresponding to a range of font positions, there should be a " -"Unicode range\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:123 -#, c-format -msgid "" -"unicode map: Bad Unicode range corresponding to font position range " -"0x%x-0x%x\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:131 -#, c-format -msgid "" -"unicode map: Unicode range U+%x-U+%x not of the same length as font position " -"range 0x%x-0x%x\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:151 -#, c-format -msgid "unicode map: trailing junk (%s) ignored\n" -msgstr "" - -#: lib/saveunimap.c:24 -#, c-format -msgid "Would save %d SFM entries in `%s'.\n" -msgstr "" - -#: lib/misc-console-utils.c:89 -msgid "Couldnt get a file descriptor referring to the console\n" -msgstr "" - -#: lib/psf-header.c:26 -#, c-format -msgid "Unknown PSF mode number (%d).\n" -msgstr "" - -#: lib/ksyms.c:971 -#, c-format -msgid "Error: unknown charset `%s'.\n" -msgstr "" - -#: lib/ksyms.c:1010 -#, c-format -msgid "assuming iso-8859-2 %s\n" -msgstr "" - -#: lib/ksyms.c:1017 -#, c-format -msgid "assuming iso-8859-3 %s\n" -msgstr "" - -#: lib/ksyms.c:1024 -#, c-format -msgid "assuming iso-8859-4 %s\n" -msgstr "" - -#: lib/ksyms.c:1028 -#, c-format -msgid "unknown keysym `%s'\n" -msgstr "" - -#: lib/findfile.c:64 -#, c-format -msgid "%s: %s child exited anormally with code %d.\n" -msgstr "" - -#: lib/findfile.c:67 -#, c-format -msgid "%s: %s child was terminated by signal %d.\n" -msgstr "" - -#: lib/findfile.c:70 -#, c-format -msgid "%s: %s child was stopped by signal %d.\n" -msgstr "" - -#: lib/findfile.c:85 -msgid "Feeder" -msgstr "" - -#: lib/findfile.c:90 -msgid "Decompressor" -msgstr "" - -#: lib/findfile.c:95 -msgid "Identifier" -msgstr "" - -#: lib/findfile.c:122 -msgid "chld_handler()" -msgstr "" - -#: lib/findfile.c:128 -#, c-format -msgid "%s child exited OK.\n" -msgstr "" - -#: lib/findfile.c:172 -msgid "fread magic" -msgstr "" - -#: lib/findfile.c:232 -msgid "decompressor fork" -msgstr "" - -#: lib/findfile.c:238 -msgid "decompressor: close file[1]" -msgstr "" - -#: lib/findfile.c:243 -msgid "decompressor: close uncompressed[0]" -msgstr "" - -#: lib/findfile.c:252 -msgid "decompressor: dup2 file[0]" -msgstr "" - -#: lib/findfile.c:259 -msgid "decompressor: dup2 uncompressed[1]" -msgstr "" - -#: lib/findfile.c:268 -#, c-format -msgid "Decompressor program not found: %s\n" -msgstr "" - -#: lib/findfile.c:271 -msgid "decompressor: execlp" -msgstr "" - -#: lib/findfile.c:287 -msgid "feeder fork" -msgstr "" - -#: lib/findfile.c:294 -msgid "feeder: close uncompressed[0]" -msgstr "" - -#: lib/findfile.c:302 -msgid "feeder: write zmagicbuf" -msgstr "" - -#: lib/findfile.c:308 -msgid "feeder: feed" -msgstr "" - -#: lib/findfile.c:340 -msgid "fread" -msgstr "" - -#: lib/findfile.c:377 -msgid "identifier fork" -msgstr "" - -#: lib/findfile.c:382 -msgid "identifier: close identified[0]" -msgstr "" - -#: lib/findfile.c:389 -msgid "identifier: write magicIDbuf" -msgstr "" - -#: lib/findfile.c:395 -msgid "identifier: feed" -msgstr "" - -#: lib/findfile.c:439 -#, c-format -msgid "Zombie %d caught.\n" -msgstr "" - -#: lib/findfile.c:450 -msgid "One for nothing.\n" -msgstr "" - -#: lib/findfile.c:562 -msgid "Warning: ignoring a possible path (too long)." -msgstr "" - -#: lib/findfile.c:668 -msgid "feeder" -msgstr "" - -#: lib/findfile.c:669 -msgid "decompressor" -msgstr "" - -#: lib/findfile.c:670 -msgid "identifier" -msgstr "" - -#: lib/findfile.c:676 -msgid "findfile(): timeout waiting for undead child(ren) ?\n" -msgstr "" - -#: lib/findfile.c:711 -msgid "Buffer overflow - aborting\n" -msgstr "" - -#: lib/acm.c:35 -msgid "Cannot stat map file" -msgstr "" - -#: lib/acm.c:47 -msgid "16bit screen-map MUST be a regular file.\n" -msgstr "" - -#: lib/acm.c:49 -msgid "fseek failed reading binary 16bit screen-map" -msgstr "" - -#: lib/acm.c:53 -msgid "Cannot read [new] map from file" -msgstr "" - -#: lib/acm.c:56 -msgid "Input screen-map is binary.\n" -msgstr "" - -#: lib/acm.c:65 -msgid "PIO_UNISCRNMAP ioctl" -msgstr "" - -#: lib/acm.c:75 -msgid "Assuming 8bit screen-map - MUST be a regular file.\n" -msgstr "" - -#: lib/acm.c:77 -msgid "fseek failed assuming 8bit screen-map" -msgstr "" - -#. should not - it succedeed above -#: lib/acm.c:91 -msgid "fseek() returned ESPIPE !\n" -msgstr "" - -#: lib/acm.c:93 -msgid "fseek for binary 8bit screen-map" -msgstr "" - -#: lib/acm.c:97 -msgid "Cannot read [old] map from file" -msgstr "" - -#: lib/acm.c:105 -msgid "PIO_SCRNMAP ioctl" -msgstr "" - -#: lib/acm.c:111 -msgid "Error parsing symbolic map\n" -msgstr "" - -#: lib/acm.c:158 -msgid "uni_screen_map_read_ascii() can't read line" -msgstr "" - -#: lib/acm.c:306 -msgid "GIO_UNISCRNMAP ioctl error" -msgstr "" - -#: lib/acm.c:310 -msgid "GIO_SCRNMAP ioctl error" -msgstr "" - -#: lib/acm.c:331 lib/acm.c:339 -msgid "Error writing map to file" -msgstr "" - -#: lib/miscutils.c:56 -#, c-format -msgid "%s: Unexpected arguments.\n" -msgstr "" - -#: screenfonttools/consolechars.c:48 -#, c-format -msgid "Usage: %s [options] [commands]\n" -msgstr "" - -#: screenfonttools/consolechars.c:50 -msgid "List operations as they are done" -msgstr "" - -#: screenfonttools/consolechars.c:51 -msgid "Do not change the console state nor write to any file" -msgstr "" - -#: screenfonttools/consolechars.c:52 -msgid "" -"(N in 0..32) Choose the right font from a codepage that\n" -"contains three fonts (only 8/14/16 allowed then), or choose\n" -"default font, ie. \"default8xN\"" -msgstr "" - -#: screenfonttools/consolechars.c:55 -msgid "Suppress loading of a screen-font map [use with care]" -msgstr "" - -#: screenfonttools/consolechars.c:56 -msgid "When loading an ACM, activate G1 charset instead of G0" -msgstr "" - -#: screenfonttools/consolechars.c:57 -msgid "Use `device' as console device for ioctls" -msgstr "" - -#: screenfonttools/consolechars.c:59 -msgid "Load the console-font from specified file" -msgstr "" - -#: screenfonttools/consolechars.c:60 -msgid "Load a default font from a file" -msgstr "" - -#: screenfonttools/consolechars.c:61 -msgid "Restore ROM font (does not work with all kernels)" -msgstr "" - -#: screenfonttools/consolechars.c:63 -msgid "" -"Load the SFM from specified file\n" -"(instead of the one in font-file, if any)" -msgstr "" - -#: screenfonttools/consolechars.c:65 -msgid "Merge SFM fallbacks from file into SFM" -msgstr "" - -#: screenfonttools/consolechars.c:66 -msgid "Load the ACM from specified file" -msgstr "" - -#: screenfonttools/consolechars.c:67 -msgid "Write current font to prefered format (now: psf-with-sfm)" -msgstr "" - -#: screenfonttools/consolechars.c:68 -msgid "Write current font to PSF file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:70 -msgid "Same as -old-font-psf, and add current SFM in the PSF file" -msgstr "" - -#: screenfonttools/consolechars.c:71 -msgid "Write current font to RAW file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:72 -msgid "Write current ACM to file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:73 -msgid "Write current SFM to file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:84 -msgid "too many `-' as filenames" -msgstr "" - -#: screenfonttools/consolechars.c:196 -msgid "--char-height argument should be in 1..31" -msgstr "" - -#: screenfonttools/consolechars.c:201 screenfonttools/consolechars.c:208 -#: screenfonttools/consolechars.c:214 -msgid "only one font file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:220 -msgid "only one ACM is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:227 -msgid "only one SFM is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:229 -msgid "multiple requests for SFM handling" -msgstr "" - -#: screenfonttools/consolechars.c:236 -msgid "WARNING: not using a unimap may lead to erroneous display !\n" -msgstr "" - -#: screenfonttools/consolechars.c:246 -msgid "realloc fallback_files" -msgstr "" - -#: screenfonttools/consolechars.c:255 -msgid "only one output RAW font-file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:262 -msgid "only one output PSF font-file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:269 -msgid "only one output PSF+SFM font-file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:276 -msgid "only one output ACM file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:283 -msgid "only one output SFM file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:294 -msgid "unknown option" -msgstr "" - -#: screenfonttools/consolechars.c:299 -msgid "no non-option arguments are valid" -msgstr "" - -#: screenfonttools/consolechars.c:302 -msgid "nothing to do" -msgstr "" - -#: screenfonttools/consolechars.c:316 -msgid "Saving raw old font" -msgstr "" - -#: screenfonttools/consolechars.c:320 -msgid "Saving PSF old font" -msgstr "" - -#: screenfonttools/consolechars.c:324 -msgid "Saving PSF+unimap old font" -msgstr "" - -#: screenfonttools/consolechars.c:329 -#, c-format -msgid "Would save ACM to file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:332 -#, c-format -msgid "Saving ACM to file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:354 -#, c-format -msgid "Would load ACM from `%s'\n" -msgstr "" - -#: screenfonttools/consolechars.c:357 -#, c-format -msgid "Loading ACM from `%s'\n" -msgstr "" - -#: screenfonttools/consolechars.c:360 -msgid "Error reading ACM file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:386 -#, c-format -msgid "Would read screen-font map from %s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:388 -#, c-format -msgid "Reading screen-font map from %s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:402 -msgid "Requesting SFM from kernel.\n" -msgstr "" - -#: screenfonttools/consolechars.c:406 -msgid "No valid SFM currently loaded. Aborting.\n" -msgstr "" - -#: screenfonttools/consolechars.c:440 -#, c-format -msgid "Reading SFM fallbacks from `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:448 -#, c-format -msgid "Read %u fallback entries.\n" -msgstr "" - -#: screenfonttools/consolechars.c:473 -msgid "WARNING: No SFM found in file or kernel ? Ignoring fallback file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:480 -msgid "Would set kernel SFM.\n" -msgstr "" - -#: screenfonttools/consolechars.c:483 -msgid "Setting kernel SFM.\n" -msgstr "" - -#: screenfonttools/consolechars.c:528 -msgid "Cannot find a default font file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:537 -#, c-format -msgid "Cannot find default font file `default8x%02d'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:547 -#, c-format -msgid "Cannot open font file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:584 -msgid "Only fontsize 256 supported.\n" -msgstr "" - -#: screenfonttools/consolechars.c:595 -#, c-format -msgid "Would load %d-chars %dx%d font from file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:602 -#, c-format -msgid "Loading %d-chars %dx%d font from file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:628 -#, c-format -msgid "Reading default SFM from `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:649 -msgid "Cannot write SFM into non-PSF font-file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:660 -#, c-format -msgid "Can only save 8bit-wide fonts for now, and font is %d-bit wide.\n" -msgstr "" - -#: screenfonttools/consolechars.c:670 -#, c-format -msgid "Can only save 256-chars fonts in RAW files, and font has %d chars.\n" -msgstr "" - -#: screenfonttools/consolechars.c:677 -msgid "Found nothing to save.\n" -msgstr "" - -#: screenfonttools/consolechars.c:708 -#, c-format -msgid "Would have saved 8x%d %s font file on `%s'%s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:709 -#, c-format -msgid "Saved 8x%d %s font file on `%s'%s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:713 -msgid ", with SFM" -msgstr "" - -#: screenfonttools/consolechars.c:713 -msgid ", without SFM" -msgstr "" - -#: screenfonttools/showcfont.c:15 -#, c-format -msgid "" -"Usage: %s\n" -"Displays a screen-font's contents.\n" -msgstr "" - -#: screenfonttools/clrunimap.c:19 -#, c-format -msgid "" -"Usage: %s\n" -"Clears the Unicode map from the console.\n" -"Note: nowadays this kills kernel console output!\n" -msgstr "" - -#: vttools/screendump.c:31 -#, c-format -msgid "" -"Usage: %s [console]\n" -"Dump the contents of the screen to stdout\n" -msgstr "" - -#: vttools/screendump.c:34 -msgid "dump contents of screen s" -msgstr "" - -#: vttools/chvt.c:59 vttools/screendump.c:72 vttools/setvesablank.c:81 -#, fuzzy, c-format -msgid "%s: Wrong number of args\n" -msgstr "droch uimhir na argointí" - -#: vttools/screendump.c:112 -msgid "Out of memory\n" -msgstr "" - -#: vttools/screendump.c:117 -#, c-format -msgid "Error reading %s\n" -msgstr "" - -#: vttools/screendump.c:141 -msgid "Could not use /dev/vcs*, trying TIOCLINUX\n" -msgstr "" - -#: vttools/screendump.c:158 -msgid "Out of memory.\n" -msgstr "" - -#: vttools/screendump.c:169 -#, c-format -msgid "couldn't read %s, and cannot ioctl dump\n" -msgstr "" - -#: vttools/screendump.c:178 -#, c-format -msgid "Strange ... screen is both %dx%d and %dx%d ??\n" -msgstr "" - -#: vttools/screendump.c:186 -msgid "Out of memory?\n" -msgstr "" - -#: vttools/screendump.c:203 -msgid "Error writing screen dump\n" -msgstr "" - -#: vttools/setvesablank.c:19 -#, c-format -msgid "" -"Usage: %s ON|on|off\n" -"\n" -"Set VESA blanking on console.\n" -msgstr "" - -#: vttools/setvesablank.c:22 -msgid "turn blanking on" -msgstr "" - -#: vttools/setvesablank.c:37 -#, c-format -msgid "%s: argument '%s' should be 'ON', 'on' or 'off'\n" -msgstr "" - -#: vttools/vt-is-UTF8.c:16 -#, c-format -msgid "Usage: %s [option]\n" -msgstr "" - -#: vttools/vt-is-UTF8.c:18 -msgid "don't print result" -msgstr "" - -#: vttools/vt-is-UTF8.c:82 -msgid "Single-byte char mode.\n" -msgstr "" - -#: vttools/resizecons.c:110 -#, c-format -msgid "" -"Usage: %s COLSxROWS\n" -" %s COLS ROWS\n" -" %s -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n" -msgstr "" - -#: vttools/resizecons.c:145 -#, c-format -msgid "%s: Invalid number of columns: %s\n" -msgstr "" - -#: vttools/resizecons.c:154 -#, c-format -msgid "%s: Invalid number of rows: %s\n" -msgstr "" - -#: vttools/resizecons.c:174 vttools/resizecons.c:198 -#, c-format -msgid "%s: Invalid arguments" -msgstr "" - -#: vttools/resizecons.c:186 -#, c-format -msgid "%s: Unrecognized argument" -msgstr "" - -#: vttools/resizecons.c:210 -#, fuzzy, c-format -msgid "%s: bad number of arguments\n" -msgstr "droch uimhir na argointí" - -#: vttools/resizecons.c:239 -#, c-format -msgid "%s: cannot find videomode file %s\n" -msgstr "" - -#: vttools/resizecons.c:260 -msgid "Invalid number of lines\n" -msgstr "" - -#: vttools/resizecons.c:338 -#, c-format -msgid "Old mode: %dx%d New mode: %dx%d\n" -msgstr "" - -#: vttools/resizecons.c:340 -#, c-format -msgid "Old #scanlines: %d New #scanlines: %d Character height: %d\n" -msgstr "" - -#: vttools/resizecons.c:353 vttools/resizecons.c:403 -#, c-format -msgid "%s: the command `%s' failed\n" -msgstr "" - -#: vttools/resizecons.c:408 -#, c-format -msgid "%s: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n" -msgstr "" - -#: vttools/resizecons.c:412 -msgid "Also the variables LINES and COLUMNS may need adjusting.\n" -msgstr "" - -#: vttools/resizecons.c:449 -#, c-format -msgid "%s: cannot get I/O permissions.\n" -msgstr "" - -#: vttools/deallocvt.c:23 -#, c-format -msgid "" -"Usage: %s [N1 N2 ...]\n" -"Deallocate virtual terminal(s)\n" -msgstr "" - -#: vttools/chvt.c:21 vttools/deallocvt.c:26 -msgid "virtual terminal" -msgstr "" - -#: vttools/deallocvt.c:41 -#, c-format -msgid "%s: 0: illegal VT number\n" -msgstr "" - -#: vttools/deallocvt.c:50 -#, c-format -msgid "%s: VT 1 is the console and cannot be deallocated\n" -msgstr "" - -#: vttools/deallocvt.c:61 -#, c-format -msgid "%s: could not deallocate console %d\n" -msgstr "" - -#: vttools/deallocvt.c:125 -#, c-format -msgid "%s: deallocating all unused consoles failed\n" -msgstr "" - -#: vttools/fgconsole.c:14 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Print foreground console\n" -msgstr "" - -#: vttools/chvt.c:18 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Change virtual terminal\n" -msgstr "" - -#: vttools/vcstime.c:22 -#, c-format -msgid "" -"Usage: %s\n" -"Show time in upper right hand corner of the console screen\n" -msgstr "" - -#: vttools/writevt.c:19 -#, c-format -msgid "" -"Usage: %s tty text\n" -"Put text into the input buffer of a virtual terminal.\n" -msgstr "" - -#: vttools/writevt.c:22 -msgid "device name" -msgstr "" - -#: vttools/writevt.c:23 -msgid "text to insert" -msgstr "" - -#: vttools/writevt.c:68 -#, c-format -msgid "%s: No tty specified.\n" -msgstr "" - -#: vttools/writevt.c:77 -#, c-format -msgid "%s: No text specified.\n" -msgstr "" - -#: vttools/writevt.c:83 -#, c-format -msgid "%s: too many arguments\n" -msgstr "" - -#: vttools/writevt.c:91 -#, c-format -msgid "%s: could not open tty\n" -msgstr "" - -#: vttools/writevt.c:99 -#, c-format -msgid "%s: TIOCSTI ioctl failed\n" -msgstr "" - -#~ msgid "" -#~ "Usage: \n" -#~ " %s psffont chartable [outfile]\n" -#~ msgstr "" -#~ "Úsáid: \n" -#~ " %s psffont táblachar [ascomhad]\n" Binary files /tmp/tmpayi9pl/v7Up8WiOl7/console-tools-0.2.3/po/it.gmo and /tmp/tmpayi9pl/Fy8SctC1qL/console-tools-0.2.3/po/it.gmo differ diff -Nru console-tools-0.2.3/po/it.po console-tools-0.2.3/po/it.po --- console-tools-0.2.3/po/it.po 1999-10-25 20:58:19.000000000 +0000 +++ console-tools-0.2.3/po/it.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,1651 +0,0 @@ -# Italian language message for console-tools. -# Lorenzo Cappelletti <L.Cappelletti@POBoxes.com>, 1999. -# -# Scelte di uniformità per le traduzioni: -# character table -> tabella caratteri -# chartable -> tabellacar -# compose -> comporre -# Compose key -> tasto Compose (per uniformità con Meta) -# filename -> nome del file -# font -> font -# keycode -> codice tasto (o forse è meglio mantenere l'originale?) -# keymap -> keymap -# mapfile -> filemap -# Meta key -> tasto Meta -# mode -> modo (o è meglio modalità?) -# mode keycode -> modo keycode -# mode scancode -> modo scancode -# outfile -> fileuscita -# psffont -> fontpsf -# screen-font-map -> mappa-font-schermo -# table -> tabella -# translate -> traslare -msgid "" -msgstr "" -"Project-Id-Version: console-tools 0.2.2\n" -"POT-Creation-Date: 1999-10-25 22:33+0200\n" -"PO-Revision-Date: 1999-10-03 10:44+02:00\n" -"Last-Translator: Lorenzo Cappelletti <L.Cappelletti@POBoxes.com>\n" -"Language-Team: Italian <it@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" - -#: fontfiletools/psfaddtable.c:30 -#, c-format -msgid "" -"Usage: %s psffont_in sfm_file [psffont_out]\n" -"Add a Unicode character table to a PSF font\n" -msgstr "" -"Uso: %s fontpsf_in file_sfm [fontpsf_out]\n" -"Aggiunge una tabella caratteri Unicode ad un font PSF\n" - -#: fontfiletools/psfaddtable.c:33 -msgid "input psffont filename" -msgstr "nome del file fontpsf di ingresso" - -#: fontfiletools/psfaddtable.c:34 -msgid "screen-font-map filename" -msgstr "nome del file mappa-font-schermo" - -#: fontfiletools/psfaddtable.c:35 -msgid "output psffont filename" -msgstr "nome del file fontpsf di uscita" - -#: fontfiletools/psfaddtable.c:86 fontfiletools/psfaddtable.c:96 -#: fontfiletools/psfgettable.c:76 fontfiletools/psfstriptable.c:78 -#, c-format -msgid "%s: wrong number of arguments\n" -msgstr "%s: numero di argomenti errato\n" - -#: fontfiletools/psfaddtable.c:113 -#, fuzzy, c-format -msgid "%s: psffont and chartable cannot both be stdin\n" -msgstr "%s: fontpsf e tabellacar non possono essere entrambi stdin\n" - -#: fontfiletools/psfaddtable.c:200 -#, c-format -msgid "Loading unicode map from %s.\n" -msgstr "Carico la mappa unicode da %s.\n" - -#: fontfiletools/psfgettable.c:26 -#, c-format -msgid "" -"Usage: %s psffont chartable [outfile]\n" -"Extract a Unicode character table from a PSF font\n" -msgstr "" -"Uso: %s fontpsf tabellacar [fileuscita]\n" -"Estrae una tabella caratteri Unicode da un font PSF\n" - -#: fontfiletools/psfgettable.c:29 fontfiletools/psfstriptable.c:31 -msgid "psffont filename" -msgstr "nome del file fontpsf" - -#: fontfiletools/psfgettable.c:30 fontfiletools/psfstriptable.c:32 -msgid "output filename" -msgstr "nome del file di uscita" - -#: fontfiletools/psfgettable.c:139 -#, c-format -msgid "%s: Font has no character table\n" -msgstr "%s: il font non ha nessuna tabella caratteri\n" - -#: fontfiletools/psfstriptable.c:28 -#, c-format -msgid "" -"Usage: %s [options] psffont [outfile]\n" -"Strip Unicode character table from a PSF font\n" -msgstr "" -"Uso: %s [opzioni] fontpsf [fileuscita]\n" -"Toglie la tabella caratteri Unicode da un font PSF\n" - -#: fontfiletools/psfstriptable.c:140 -#, c-format -msgid "%s: Font already had no character table\n" -msgstr "%s: il font già non possiede una tabella caratteri\n" - -#: kbdtools/showkey.c:47 -msgid "?UNKNOWN?" -msgstr "?SCONOSIUTO?" - -#: kbdtools/showkey.c:49 -#, c-format -msgid "kb mode was %s\n" -msgstr "la modalità tastiera era %s\n" - -#: kbdtools/showkey.c:52 -msgid "[ if you are trying this under X, it might not work\n" -msgstr "[ se lo stai provando sotto X, potrebbe non funzionare\n" - -#: kbdtools/showkey.c:53 -msgid "since the X server is also reading /dev/console ]\n" -msgstr "in quanto il server X sta già leggende /dev/console ]\n" - -#: kbdtools/showkey.c:72 -#, fuzzy, c-format -msgid "caught signal %d, cleaning up...\n" -msgstr "ricevuto segnale %s, ripulisco...\n" - -#: kbdtools/showkey.c:85 -#, c-format -msgid "usage: %s [options...] <command>\n" -msgstr "uso: %s [opzioni...] <comando>\n" - -# raw non lo tradurrei perché scan-code dà già l'idea di basilare -#: kbdtools/showkey.c:87 -#, fuzzy -msgid "display only the raw scan-codes." -msgstr "mostra solo gli scan-code." - -#: kbdtools/showkey.c:88 -msgid "display only the interpreted keycodes (default)." -msgstr "mostra solo i codi tasto interpretati (predefinito)." - -#: kbdtools/showkey.c:89 -#, fuzzy -msgid "display only keymap-translated chars." -msgstr "mostra solo i caratteri traslati con keymap." - -#: kbdtools/showkey.c:90 -#, fuzzy -msgid "display unicode-translated chars." -msgstr "mostra i caratteri traslati unicode." - -#: kbdtools/showkey.c:94 -msgid "set the timeout to N seconds." -msgstr "imposta il timeout ad N secondi." - -#: kbdtools/showkey.c:158 -msgid "timeout value must be numeric" -msgstr "il valore di timeout deve essere numerico" - -#: kbdtools/dumpkeys.c:632 kbdtools/showkey.c:174 -#, fuzzy -msgid "no non-option arguments allowed" -msgstr "non sono permessi argomenti che non siano opzioni" - -#: kbdtools/showkey.c:177 -msgid "WARNING: Unicode mode is experimental -- output may be wrong\n" -msgstr "" -"ATTENZIONE: il modo Unicode è sperimentale -- l'output può essere sbagliato\n" - -#: kbdtools/showkey.c:235 -#, c-format -msgid "press any key (program terminates after %us of last keypress)...\n" -msgstr "" -"premere un tasto qualsiasi (il programma termina dopo %us dall'ultimo tasto " -"premuto)...\n" - -#: kbdtools/showkey.c:254 -#, c-format -msgid "keycode %3d %s\n" -msgstr "codice tasto %3d %s\n" - -#: kbdtools/showkey.c:256 -msgid "release" -msgstr "rilascia" - -#: kbdtools/showkey.c:256 -msgid "press" -msgstr "premi" - -#: kbdtools/setmetamode.c:22 -#, c-format -msgid "" -"\n" -"Usage:\n" -"\t%1$s [ metabit | meta | bit | escprefix | esc | prefix ]\n" -"Each vt has his own copy of this bit. Use\n" -"\t%1$s [arg] < /dev/ttyn\n" -"to change the settings of another vt.\n" -"The setting before and after the change are reported.\n" -msgstr "" -"\n" -"Uso:\n" -"\t%1$s [ metabit | meta | bit | escprefisso | esc | prefisso ]\n" -"Ogni vt possiede la propria copia di questo bit. Utilizzare\n" -"\t%1$s [arg] < /dev/ttyn\n" -"per cambiare le impostazioni di un'altra vt.\n" -"Vengono riportate le impostazioni prima e dopo il cambiamento.\n" - -#: kbdtools/setmetamode.c:38 -msgid "Meta key sets high order bit\n" -msgstr "Il tasto Meta imposta il bit di ordine alto\n" - -#: kbdtools/setmetamode.c:41 -msgid "Meta key gives Esc prefix\n" -msgstr "Il tasto Meta dà il prefisso Esc\n" - -#: kbdtools/setmetamode.c:44 -msgid "Strange mode for Meta key?\n" -msgstr "Modo inusuale per il tasto Meta?\n" - -#: kbdtools/setmetamode.c:76 -msgid "Error reading current setting. Maybe stdin is not a VT?\n" -msgstr "" -"Errore durante la lettura delle impostazioni correnti. Forse stdin non è una " -"VT?\n" - -#: kbdtools/setmetamode.c:95 -msgid "unrecognized argument" -msgstr "argomento non riconosciuto" - -#: kbdtools/setmetamode.c:98 -msgid "old state: " -msgstr "vecchio stato: " - -#: kbdtools/setmetamode.c:105 -msgid "new state: " -msgstr "nuovo stato: " - -#: kbdtools/kbd_mode.c:23 -#, c-format -msgid "" -"Usage: %s [option]\n" -"Report and set keyboard mode\n" -msgstr "" -"Uso: %s [opzione]\n" -"Riporta ed imposta il modo tastiera\n" - -#: kbdtools/kbd_mode.c:26 -msgid "print this help information and exit" -msgstr "stampa questa informazione di aiuto ed esce" - -#: kbdtools/kbd_mode.c:27 -msgid "report version and exit" -msgstr "riporta la versione ed esce" - -#: kbdtools/kbd_mode.c:28 -msgid "ASCII or 8bit mode (XLATE)" -msgstr "ASCII o modo 8bit (XLATE)" - -#: kbdtools/kbd_mode.c:29 -msgid "keycode mode (MEDIUMRAW)" -msgstr "modo keycode (MEDIUMRAW)" - -#: kbdtools/kbd_mode.c:30 -msgid "UTF-8 mode (UNICODE)" -msgstr "modo UTF-8 (UNICODE)" - -#: kbdtools/kbd_mode.c:31 -msgid "scancode mode (RAW)" -msgstr "modo scancode (RAW)" - -#: kbdtools/kbd_mode.c:32 -msgid "set mode" -msgstr "imposta il modo" - -#: kbdtools/kbd_mode.c:85 -#, c-format -msgid "%s: unknown mode: %s\n" -msgstr "%s: modo sconosciuto: %s\n" - -#: kbdtools/kbd_mode.c:111 -msgid ": error reading keyboard mode\n" -msgstr ": errore durante la lettura del modo tastiera\n" - -# come tradurre raw? -#: kbdtools/kbd_mode.c:117 -#, fuzzy -msgid "The keyboard is in raw (scancode) mode\n" -msgstr "La tastiera è in modo raw (scancode)\n" - -#: kbdtools/kbd_mode.c:120 -#, fuzzy -msgid "The keyboard is in mediumraw (keycode) mode\n" -msgstr "La tastiera è in modo raw-medio (keycode)\n" - -#: kbdtools/kbd_mode.c:123 -msgid "The keyboard is in the default (ASCII) mode\n" -msgstr "La tastiera è in modo predefinito (ASCII)\n" - -#: kbdtools/kbd_mode.c:126 -msgid "The keyboard is in Unicode (UTF-8) mode\n" -msgstr "La tastiera è in modo Unicode (UTF-8)\n" - -#: kbdtools/kbd_mode.c:129 -msgid "The keyboard is in some unknown mode\n" -msgstr "La tastiera è in qualche modo sconosciuto\n" - -#: kbdtools/kbd_mode.c:137 -msgid ": error setting keyboard mode\n" -msgstr ": errore nell'impostare il modo della tastiera\n" - -#: loadkeys.y:287 -msgid "too many keydefinitions on one line" -msgstr "troppe definizioni su una linea" - -#: loadkeys.y:306 -#, c-format -msgid "Usage: %s [option...] [mapfile...]\n" -msgstr "Uso: %s [opzione...] [filemap...]\n" - -#: loadkeys.y:308 -msgid "clear kernel compose table" -msgstr "cancella la tabella composizione del kernel" - -#: loadkeys.y:309 -msgid "load default keymap file" -msgstr "carica il file keymap predefinito" - -#. FIXME: should print DEFKMAP -#: loadkeys.y:310 -msgid "output a \"defkeymap.c\" to stdout" -msgstr "stampa un \"defkeymap.c\" sullo stdout" - -#: loadkeys.y:311 -msgid "clear kernel string table" -msgstr "cancella la tabella stringhe del kernel" - -#: loadkeys.y:312 -#, fuzzy -msgid "be silent" -msgstr "sii silenzioso" - -#: loadkeys.y:313 -msgid "report the changes" -msgstr "riporta i cambiamenti" - -#: loadkeys.y:314 -msgid "report more changes" -msgstr "riporta piú cambiamenti" - -#: loadkeys.y:392 -msgid "syntax error in map file\n" -msgstr "errore di sintassi nel file map\n" - -#: loadkeys.y:394 -msgid "key bindings not changed\n" -msgstr "binding dei tasti non modificato\n" - -#: loadkeys.y:482 -#, c-format -msgid "Cannot find %s\n" -msgstr "Non trovo %s\n" - -#: loadkeys.y:499 -#, c-format -msgid "cannot open file %s\n" -msgstr "non posso aprire il file %s\n" - -#: loadkeys.y:524 -#, c-format -msgid "addmap called with bad index %d" -msgstr "addmap chiamata con indice %d errato" - -#: loadkeys.y:529 -#, fuzzy, c-format -msgid "adding map %d violates explicit keymaps line)" -msgstr "l'aggiunta della mappa %s víola la linea esplicita delle keymap)" - -#: loadkeys.y:543 -#, c-format -msgid "killkey called with bad index %d" -msgstr "killkey chiamata con indice %d errato" - -#: loadkeys.y:545 -#, c-format -msgid "killkey called with bad table %d" -msgstr "killkey chiamata con tabella %d errata" - -#: loadkeys.y:559 -#, c-format -msgid "addkey called with bad index %d" -msgstr "addkey chiamata con indice %d errato" - -#: loadkeys.y:561 -#, c-format -msgid "addkey called with bad table %d" -msgstr "addkey chiamata con tabella %d errata" - -#: loadkeys.y:605 -#, c-format -msgid "%s: addfunc called with bad func %d\n" -msgstr "%s: addfunc chiamata con funzione %d errata\n" - -#: loadkeys.y:628 -#, c-format -msgid "%s: addfunc: func_buf overflow\n" -msgstr "%s: addfunc: overflow di func_buf\n" - -#: loadkeys.y:657 -msgid "compose table overflow\n" -msgstr "overflow della tabella composizione\n" - -#: loadkeys.y:666 -#, c-format -msgid "Warning: Compose char %4x ('%c','%c') > 0xFF will be truncated to %2x\n" -msgstr "" -"Attenzione: il carattere di composizione %4x ('%c','%c') > 0xFF verrà " -"troncato a %2x\n" - -#: loadkeys.y:669 -msgid " (Linux kernel < 2.3.X can't handle unicode compose chars properly)\n" -msgstr "" -" (il kernel Linux < 2.3.X non è in grado di trattare correttamente i " -"caratteri di composizione)\n" - -#: loadkeys.y:709 -#, c-format -msgid "Keymap %d: Permission denied\n" -msgstr "Keymap %d: permesso negato\n" - -#: loadkeys.y:718 -#, c-format -msgid "keycode %d, table %d = %d%s\n" -msgstr "keycode %d, tabella %d = %d%s\n" - -#: loadkeys.y:719 -msgid " FAILED" -msgstr " FALLITO" - -#: loadkeys.y:721 -#, c-format -msgid "failed to bind key %d to value %d\n" -msgstr "fallito il collegamento del tasto %d al valore %d\n" - -#: loadkeys.y:734 -#, c-format -msgid "deallocate keymap %d\n" -msgstr "deallocazione keymap %d\n" - -#: loadkeys.y:742 -#, c-format -msgid "%s: could not deallocate keymap %d\n" -msgstr "%s: non posso deallocare la keymap %d\n" - -#: loadkeys.y:759 -#, c-format -msgid "%s: cannot deallocate or clear keymap\n" -msgstr "%s: non posso deallocare o cancellare la keymap\n" - -#: loadkeys.y:772 -#, c-format -msgid "%s: failed to restore keyboard mode\n" -msgstr "%s: fallito il ripristino del modo tastiera\n" - -#: loadkeys.y:775 -#, c-format -msgid "" -"%s: warning: this map uses Unicode symbols\n" -" (perhaps you want to do `kbd_mode -u'?)\n" -msgstr "" -"%s: attenzione: questa mappa usa i simboli Unicode\n" -" (forse si voleva un `kbd_mode -u'?)\n" - -#: loadkeys.y:823 -#, c-format -msgid "failed to bind string '%s' to function %s\n" -msgstr "fallito il collegamento della stringa '%s' alla funzione %s\n" - -#: loadkeys.y:832 -#, c-format -msgid "failed to clear string %s\n" -msgstr "fallita la cancellazione della stringa %s\n" - -#: loadkeys.y:850 -msgid "too many compose definitions\n" -msgstr "troppe definizioni di composizione\n" - -#: loadkeys.y:857 -msgid "KDSKBDIACR failed\n" -msgstr "KDSKBDIACR fallito\n" - -#: loadkeys.y:918 -msgid "impossible error in do_constant" -msgstr "errore impossibile in do_constant" - -# In inglese il plurale viene fatto aggiungendo semplicemente delle `s', in italiano no. -#: loadkeys.y:939 -#, fuzzy, c-format -msgid "" -"\n" -"Changed %d key%s and %d string%s.\n" -msgstr "" -"\n" -"Cambiati %d tasti(%s) e %d stringhe(%s).\n" - -#: loadkeys.y:943 -#, c-format -msgid "Loaded %d compose definition%s.\n" -msgstr "Definizione di composizione %d caricata.\n" - -#: loadkeys.y:946 -msgid "(No change in compose definitions.)\n" -msgstr "(Nessun cambiamento nelle definizioni di composizione.)\n" - -#: loadkeys.y:983 -#, c-format -msgid "loadkeys: don't know how to compose for %s\n" -msgstr "loadkeys: non so come comporre %s\n" - -#: kbdtools/getkeycodes.c:21 -#, c-format -msgid "" -"Usage: %s\n" -"Print kernel scancode-to-keycode mapping table\n" -msgstr "" - -#: kbdtools/getkeycodes.c:40 -msgid "Plain scancodes xx (hex) versus keycodes (dec)\n" -msgstr "" - -#: kbdtools/getkeycodes.c:41 -msgid "0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n" -msgstr "" - -#: kbdtools/getkeycodes.c:46 -msgid "" -"\n" -"\n" -"Escaped scancodes e0 xx (hex)\n" -msgstr "" - -#: kbdtools/getkeycodes.c:70 -#, c-format -msgid "failed to get keycode for scancode 0x%x\n" -msgstr "" - -#: kbdtools/dumpkeys.c:63 -#, c-format -msgid "KDGKBENT at index 0 in table %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:77 -#, c-format -msgid "%s: cannot find any keymaps?\n" -msgstr "" - -#: kbdtools/dumpkeys.c:82 -#, c-format -msgid "%s: plain map not allocated? very strange ...\n" -msgstr "" - -#: kbdtools/dumpkeys.c:111 -#, c-format -msgid "KDGKBENT at index %d in table %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:200 -msgid "KDGKBDIACR failed\n" -msgstr "" - -#: kbdtools/dumpkeys.c:236 -#, c-format -msgid "keycode range supported by kernel: 1 - %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:238 -#, c-format -msgid "max number of actions bindable to a key: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:241 -#, c-format -msgid "number of keymaps in actual use: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:244 -#, c-format -msgid "of which %d dynamically allocated\n" -msgstr "" - -#: kbdtools/dumpkeys.c:245 -msgid "ranges of action codes supported by kernel:\n" -msgstr "" - -#: kbdtools/dumpkeys.c:250 -#, c-format -msgid "number of function keys supported by kernel: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:253 -#, c-format -msgid "max nr of compose definitions: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:256 -#, c-format -msgid "nr of compose definitions in actual use: %d\n" -msgstr "" - -#: kbdtools/dumpkeys.c:280 -#, c-format -msgid "" -"Symbols recognized by %s:\n" -"(numeric value, symbol)\n" -"\n" -msgstr "" - -#: kbdtools/dumpkeys.c:292 -msgid "" -"\n" -"The following synonyms are recognized:\n" -"\n" -msgstr "" - -#: kbdtools/dumpkeys.c:296 -msgid "" -"\n" -"Recognized modifier names and their column numbers:\n" -msgstr "" - -#: kbdtools/dumpkeys.c:432 -msgid "impossible: not meta?\n" -msgstr "" - -#: kbdtools/dumpkeys.c:487 -#, c-format -msgid "KDGKBSENT at index %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:510 -#, c-format -msgid "Usage: %s [options...]\n" -msgstr "" - -#: kbdtools/dumpkeys.c:512 -msgid "display information about keyboard driver" -msgstr "" - -#: kbdtools/dumpkeys.c:513 -msgid "display above and symbols known to loadkeys" -msgstr "" - -#: kbdtools/dumpkeys.c:514 -msgid "display keytable in hexadecimal notation" -msgstr "" - -#: kbdtools/dumpkeys.c:515 -msgid "don't use short-hand notations, one row per keycode" -msgstr "" - -#: kbdtools/dumpkeys.c:516 -msgid "one line per (modifier,keycode) pair" -msgstr "" - -#: kbdtools/dumpkeys.c:517 -msgid "display only the function key strings" -msgstr "" - -#: kbdtools/dumpkeys.c:518 -msgid "display only key bindings" -msgstr "" - -#: kbdtools/dumpkeys.c:519 -msgid "choose output shape, where <shape> is:" -msgstr "" - -#: kbdtools/dumpkeys.c:520 -msgid " 0 = default" -msgstr "" - -#: kbdtools/dumpkeys.c:521 -msgid " 1 = same as --full-table" -msgstr "" - -#: kbdtools/dumpkeys.c:522 -msgid " 2 = same as --separate-lines" -msgstr "" - -#: kbdtools/dumpkeys.c:523 -msgid " 3 = one line per keycode, until 1st hole" -msgstr "" - -#: kbdtools/dumpkeys.c:525 -msgid "display only compose key combinations" -msgstr "" - -#: kbdtools/dumpkeys.c:528 -msgid "interpret character action codes to be from the" -msgstr "" - -#: kbdtools/dumpkeys.c:529 -msgid "specified character set" -msgstr "" - -#: kbdtools/dumpkeys.c:531 -msgid "display this help text and exit" -msgstr "" - -#: kbdtools/dumpkeys.c:532 -msgid "display version information and exit" -msgstr "" - -#: kbdtools/dumpkeys.c:534 -msgid "" -"\n" -"available charsets:\n" -msgstr "" - -#: kbdtools/setleds.c:29 -#, c-format -msgid "" -"Usage:\t%1$s [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll ]]\n" -"Thus,\n" -"\t%1$s +caps -num\n" -"will set CapsLock, clear NumLock and leave ScrollLock unchanged.\n" -"The settings before and after the change (if any) are reported\n" -"when the -v option is given or when no change is requested.\n" -"Normally, %1$s influences the vt flag settings\n" -"(and these are usually reflected in the leds).\n" -"With -L, %1$s only sets the leds, and leaves the flags alone.\n" -"With -D, %1$s sets both the flags and the default flags, so\n" -"that a subsequent reset will not change the flags.\n" -msgstr "" - -#: kbdtools/setleds.c:103 -#, c-format -msgid "%s: unknown argument: %s\n" -msgstr "" - -#: kbdtools/setleds.c:117 -#, c-format -msgid "NumLock %s CapsLock %s ScrollLock %s\n" -msgstr "" - -#: kbdtools/setleds.c:143 -msgid "Error reading current led setting. Maybe stdin is not a VT?\n" -msgstr "" - -#: kbdtools/setleds.c:150 -msgid "Error reading current flags setting. Maybe an old kernel?\n" -msgstr "" - -#: kbdtools/setleds.c:163 -msgid "Error resetting ledmode\n" -msgstr "" - -#: kbdtools/setleds.c:172 -msgid "Current default flags: " -msgstr "" - -#: kbdtools/setleds.c:176 -msgid "Current flags: " -msgstr "" - -#: kbdtools/setleds.c:180 -msgid "Current leds: " -msgstr "" - -#: kbdtools/setleds.c:192 -msgid "Old default flags: " -msgstr "" - -#: kbdtools/setleds.c:194 -msgid "New default flags: " -msgstr "" - -#: kbdtools/setleds.c:201 -msgid "Old flags: " -msgstr "" - -#: kbdtools/setleds.c:203 -msgid "New flags: " -msgstr "" - -#: kbdtools/setleds.c:216 -msgid "Old leds: " -msgstr "" - -#: kbdtools/setleds.c:218 -msgid "New leds: " -msgstr "" - -#: lib/sfm-utils.c:35 -msgid "loadunimap: out of memory\n" -msgstr "" - -#: lib/wrappers.c:15 -msgid "Out of Memory\n" -msgstr "" - -#: lib/wrappers.c:26 -msgid "Out of Memory?\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:31 -msgid "Warning: line too long in unicode map.\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:54 lib/sfm-rd-ascii.c:68 -#, c-format -msgid "Bad input line: %s\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:80 -#, c-format -msgid "unicode map: glyph number (0x%x) larger than font length\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:88 -#, c-format -msgid "unicode map: bad end of range (0x%x)\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:113 -msgid "" -"unicode map: Corresponding to a range of font positions, there should be a " -"Unicode range\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:123 -#, c-format -msgid "" -"unicode map: Bad Unicode range corresponding to font position range " -"0x%x-0x%x\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:131 -#, c-format -msgid "" -"unicode map: Unicode range U+%x-U+%x not of the same length as font position " -"range 0x%x-0x%x\n" -msgstr "" - -#: lib/sfm-rd-ascii.c:151 -#, c-format -msgid "unicode map: trailing junk (%s) ignored\n" -msgstr "" - -#: lib/saveunimap.c:24 -#, c-format -msgid "Would save %d SFM entries in `%s'.\n" -msgstr "" - -#: lib/misc-console-utils.c:89 -msgid "Couldnt get a file descriptor referring to the console\n" -msgstr "" - -#: lib/psf-header.c:26 -#, c-format -msgid "Unknown PSF mode number (%d).\n" -msgstr "" - -#: lib/ksyms.c:971 -#, c-format -msgid "Error: unknown charset `%s'.\n" -msgstr "" - -#: lib/ksyms.c:1010 -#, c-format -msgid "assuming iso-8859-2 %s\n" -msgstr "" - -#: lib/ksyms.c:1017 -#, c-format -msgid "assuming iso-8859-3 %s\n" -msgstr "" - -#: lib/ksyms.c:1024 -#, c-format -msgid "assuming iso-8859-4 %s\n" -msgstr "" - -#: lib/ksyms.c:1028 -#, c-format -msgid "unknown keysym `%s'\n" -msgstr "" - -#: lib/findfile.c:64 -#, c-format -msgid "%s: %s child exited anormally with code %d.\n" -msgstr "" - -#: lib/findfile.c:67 -#, c-format -msgid "%s: %s child was terminated by signal %d.\n" -msgstr "" - -#: lib/findfile.c:70 -#, c-format -msgid "%s: %s child was stopped by signal %d.\n" -msgstr "" - -#: lib/findfile.c:85 -msgid "Feeder" -msgstr "" - -#: lib/findfile.c:90 -msgid "Decompressor" -msgstr "" - -#: lib/findfile.c:95 -msgid "Identifier" -msgstr "" - -#: lib/findfile.c:122 -msgid "chld_handler()" -msgstr "" - -#: lib/findfile.c:128 -#, c-format -msgid "%s child exited OK.\n" -msgstr "" - -#: lib/findfile.c:172 -msgid "fread magic" -msgstr "" - -#: lib/findfile.c:232 -msgid "decompressor fork" -msgstr "" - -#: lib/findfile.c:238 -msgid "decompressor: close file[1]" -msgstr "" - -#: lib/findfile.c:243 -msgid "decompressor: close uncompressed[0]" -msgstr "" - -#: lib/findfile.c:252 -msgid "decompressor: dup2 file[0]" -msgstr "" - -#: lib/findfile.c:259 -msgid "decompressor: dup2 uncompressed[1]" -msgstr "" - -#: lib/findfile.c:268 -#, c-format -msgid "Decompressor program not found: %s\n" -msgstr "" - -#: lib/findfile.c:271 -msgid "decompressor: execlp" -msgstr "" - -#: lib/findfile.c:287 -msgid "feeder fork" -msgstr "" - -#: lib/findfile.c:294 -msgid "feeder: close uncompressed[0]" -msgstr "" - -#: lib/findfile.c:302 -msgid "feeder: write zmagicbuf" -msgstr "" - -#: lib/findfile.c:308 -msgid "feeder: feed" -msgstr "" - -#: lib/findfile.c:340 -msgid "fread" -msgstr "" - -#: lib/findfile.c:377 -msgid "identifier fork" -msgstr "" - -#: lib/findfile.c:382 -msgid "identifier: close identified[0]" -msgstr "" - -#: lib/findfile.c:389 -msgid "identifier: write magicIDbuf" -msgstr "" - -#: lib/findfile.c:395 -msgid "identifier: feed" -msgstr "" - -#: lib/findfile.c:439 -#, c-format -msgid "Zombie %d caught.\n" -msgstr "" - -#: lib/findfile.c:450 -msgid "One for nothing.\n" -msgstr "" - -#: lib/findfile.c:562 -msgid "Warning: ignoring a possible path (too long)." -msgstr "" - -#: lib/findfile.c:668 -msgid "feeder" -msgstr "" - -#: lib/findfile.c:669 -msgid "decompressor" -msgstr "" - -#: lib/findfile.c:670 -msgid "identifier" -msgstr "" - -#: lib/findfile.c:676 -msgid "findfile(): timeout waiting for undead child(ren) ?\n" -msgstr "" - -#: lib/findfile.c:711 -msgid "Buffer overflow - aborting\n" -msgstr "" - -#: lib/acm.c:35 -msgid "Cannot stat map file" -msgstr "" - -#: lib/acm.c:47 -msgid "16bit screen-map MUST be a regular file.\n" -msgstr "" - -#: lib/acm.c:49 -msgid "fseek failed reading binary 16bit screen-map" -msgstr "" - -#: lib/acm.c:53 -msgid "Cannot read [new] map from file" -msgstr "" - -#: lib/acm.c:56 -msgid "Input screen-map is binary.\n" -msgstr "" - -#: lib/acm.c:65 -msgid "PIO_UNISCRNMAP ioctl" -msgstr "" - -#: lib/acm.c:75 -msgid "Assuming 8bit screen-map - MUST be a regular file.\n" -msgstr "" - -#: lib/acm.c:77 -msgid "fseek failed assuming 8bit screen-map" -msgstr "" - -#. should not - it succedeed above -#: lib/acm.c:91 -msgid "fseek() returned ESPIPE !\n" -msgstr "" - -#: lib/acm.c:93 -msgid "fseek for binary 8bit screen-map" -msgstr "" - -#: lib/acm.c:97 -msgid "Cannot read [old] map from file" -msgstr "" - -#: lib/acm.c:105 -msgid "PIO_SCRNMAP ioctl" -msgstr "" - -#: lib/acm.c:111 -msgid "Error parsing symbolic map\n" -msgstr "" - -#: lib/acm.c:158 -msgid "uni_screen_map_read_ascii() can't read line" -msgstr "" - -#: lib/acm.c:306 -msgid "GIO_UNISCRNMAP ioctl error" -msgstr "" - -#: lib/acm.c:310 -msgid "GIO_SCRNMAP ioctl error" -msgstr "" - -#: lib/acm.c:331 lib/acm.c:339 -msgid "Error writing map to file" -msgstr "" - -#: lib/miscutils.c:56 -#, c-format -msgid "%s: Unexpected arguments.\n" -msgstr "" - -#: screenfonttools/consolechars.c:48 -#, c-format -msgid "Usage: %s [options] [commands]\n" -msgstr "" - -#: screenfonttools/consolechars.c:50 -msgid "List operations as they are done" -msgstr "" - -#: screenfonttools/consolechars.c:51 -msgid "Do not change the console state nor write to any file" -msgstr "" - -#: screenfonttools/consolechars.c:52 -msgid "" -"(N in 0..32) Choose the right font from a codepage that\n" -"contains three fonts (only 8/14/16 allowed then), or choose\n" -"default font, ie. \"default8xN\"" -msgstr "" - -#: screenfonttools/consolechars.c:55 -msgid "Suppress loading of a screen-font map [use with care]" -msgstr "" - -#: screenfonttools/consolechars.c:56 -msgid "When loading an ACM, activate G1 charset instead of G0" -msgstr "" - -#: screenfonttools/consolechars.c:57 -msgid "Use `device' as console device for ioctls" -msgstr "" - -#: screenfonttools/consolechars.c:59 -msgid "Load the console-font from specified file" -msgstr "" - -#: screenfonttools/consolechars.c:60 -msgid "Load a default font from a file" -msgstr "" - -#: screenfonttools/consolechars.c:61 -msgid "Restore ROM font (does not work with all kernels)" -msgstr "" - -#: screenfonttools/consolechars.c:63 -msgid "" -"Load the SFM from specified file\n" -"(instead of the one in font-file, if any)" -msgstr "" - -#: screenfonttools/consolechars.c:65 -msgid "Merge SFM fallbacks from file into SFM" -msgstr "" - -#: screenfonttools/consolechars.c:66 -msgid "Load the ACM from specified file" -msgstr "" - -#: screenfonttools/consolechars.c:67 -msgid "Write current font to prefered format (now: psf-with-sfm)" -msgstr "" - -#: screenfonttools/consolechars.c:68 -msgid "Write current font to PSF file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:70 -msgid "Same as -old-font-psf, and add current SFM in the PSF file" -msgstr "" - -#: screenfonttools/consolechars.c:71 -msgid "Write current font to RAW file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:72 -msgid "Write current ACM to file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:73 -msgid "Write current SFM to file before loading a new one" -msgstr "" - -#: screenfonttools/consolechars.c:84 -msgid "too many `-' as filenames" -msgstr "" - -#: screenfonttools/consolechars.c:196 -msgid "--char-height argument should be in 1..31" -msgstr "" - -#: screenfonttools/consolechars.c:201 screenfonttools/consolechars.c:208 -#: screenfonttools/consolechars.c:214 -msgid "only one font file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:220 -msgid "only one ACM is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:227 -msgid "only one SFM is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:229 -msgid "multiple requests for SFM handling" -msgstr "" - -#: screenfonttools/consolechars.c:236 -msgid "WARNING: not using a unimap may lead to erroneous display !\n" -msgstr "" - -#: screenfonttools/consolechars.c:246 -msgid "realloc fallback_files" -msgstr "" - -#: screenfonttools/consolechars.c:255 -msgid "only one output RAW font-file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:262 -msgid "only one output PSF font-file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:269 -msgid "only one output PSF+SFM font-file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:276 -msgid "only one output ACM file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:283 -msgid "only one output SFM file is allowed" -msgstr "" - -#: screenfonttools/consolechars.c:294 -msgid "unknown option" -msgstr "" - -#: screenfonttools/consolechars.c:299 -msgid "no non-option arguments are valid" -msgstr "" - -#: screenfonttools/consolechars.c:302 -msgid "nothing to do" -msgstr "" - -#: screenfonttools/consolechars.c:316 -msgid "Saving raw old font" -msgstr "" - -#: screenfonttools/consolechars.c:320 -msgid "Saving PSF old font" -msgstr "" - -#: screenfonttools/consolechars.c:324 -msgid "Saving PSF+unimap old font" -msgstr "" - -#: screenfonttools/consolechars.c:329 -#, c-format -msgid "Would save ACM to file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:332 -#, c-format -msgid "Saving ACM to file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:354 -#, c-format -msgid "Would load ACM from `%s'\n" -msgstr "" - -#: screenfonttools/consolechars.c:357 -#, c-format -msgid "Loading ACM from `%s'\n" -msgstr "" - -#: screenfonttools/consolechars.c:360 -msgid "Error reading ACM file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:386 -#, c-format -msgid "Would read screen-font map from %s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:388 -#, c-format -msgid "Reading screen-font map from %s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:402 -msgid "Requesting SFM from kernel.\n" -msgstr "" - -#: screenfonttools/consolechars.c:406 -msgid "No valid SFM currently loaded. Aborting.\n" -msgstr "" - -#: screenfonttools/consolechars.c:440 -#, c-format -msgid "Reading SFM fallbacks from `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:448 -#, c-format -msgid "Read %u fallback entries.\n" -msgstr "" - -#: screenfonttools/consolechars.c:473 -msgid "WARNING: No SFM found in file or kernel ? Ignoring fallback file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:480 -msgid "Would set kernel SFM.\n" -msgstr "" - -#: screenfonttools/consolechars.c:483 -msgid "Setting kernel SFM.\n" -msgstr "" - -#: screenfonttools/consolechars.c:528 -msgid "Cannot find a default font file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:537 -#, c-format -msgid "Cannot find default font file `default8x%02d'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:547 -#, c-format -msgid "Cannot open font file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:584 -msgid "Only fontsize 256 supported.\n" -msgstr "" - -#: screenfonttools/consolechars.c:595 -#, c-format -msgid "Would load %d-chars %dx%d font from file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:602 -#, c-format -msgid "Loading %d-chars %dx%d font from file `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:628 -#, c-format -msgid "Reading default SFM from `%s'.\n" -msgstr "" - -#: screenfonttools/consolechars.c:649 -msgid "Cannot write SFM into non-PSF font-file.\n" -msgstr "" - -#: screenfonttools/consolechars.c:660 -#, c-format -msgid "Can only save 8bit-wide fonts for now, and font is %d-bit wide.\n" -msgstr "" - -#: screenfonttools/consolechars.c:670 -#, c-format -msgid "Can only save 256-chars fonts in RAW files, and font has %d chars.\n" -msgstr "" - -#: screenfonttools/consolechars.c:677 -msgid "Found nothing to save.\n" -msgstr "" - -#: screenfonttools/consolechars.c:708 -#, c-format -msgid "Would have saved 8x%d %s font file on `%s'%s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:709 -#, c-format -msgid "Saved 8x%d %s font file on `%s'%s.\n" -msgstr "" - -#: screenfonttools/consolechars.c:713 -msgid ", with SFM" -msgstr "" - -#: screenfonttools/consolechars.c:713 -msgid ", without SFM" -msgstr "" - -#: screenfonttools/showcfont.c:15 -#, c-format -msgid "" -"Usage: %s\n" -"Displays a screen-font's contents.\n" -msgstr "" - -#: screenfonttools/clrunimap.c:19 -#, c-format -msgid "" -"Usage: %s\n" -"Clears the Unicode map from the console.\n" -"Note: nowadays this kills kernel console output!\n" -msgstr "" - -#: vttools/screendump.c:31 -#, c-format -msgid "" -"Usage: %s [console]\n" -"Dump the contents of the screen to stdout\n" -msgstr "" - -#: vttools/screendump.c:34 -msgid "dump contents of screen s" -msgstr "" - -#: vttools/chvt.c:59 vttools/screendump.c:72 vttools/setvesablank.c:81 -#, c-format -msgid "%s: Wrong number of args\n" -msgstr "" - -#: vttools/screendump.c:112 -msgid "Out of memory\n" -msgstr "" - -#: vttools/screendump.c:117 -#, c-format -msgid "Error reading %s\n" -msgstr "" - -#: vttools/screendump.c:141 -msgid "Could not use /dev/vcs*, trying TIOCLINUX\n" -msgstr "" - -#: vttools/screendump.c:158 -msgid "Out of memory.\n" -msgstr "" - -#: vttools/screendump.c:169 -#, c-format -msgid "couldn't read %s, and cannot ioctl dump\n" -msgstr "" - -#: vttools/screendump.c:178 -#, c-format -msgid "Strange ... screen is both %dx%d and %dx%d ??\n" -msgstr "" - -#: vttools/screendump.c:186 -msgid "Out of memory?\n" -msgstr "" - -#: vttools/screendump.c:203 -msgid "Error writing screen dump\n" -msgstr "" - -#: vttools/setvesablank.c:19 -#, c-format -msgid "" -"Usage: %s ON|on|off\n" -"\n" -"Set VESA blanking on console.\n" -msgstr "" - -#: vttools/setvesablank.c:22 -msgid "turn blanking on" -msgstr "" - -#: vttools/setvesablank.c:37 -#, c-format -msgid "%s: argument '%s' should be 'ON', 'on' or 'off'\n" -msgstr "" - -#: vttools/vt-is-UTF8.c:16 -#, c-format -msgid "Usage: %s [option]\n" -msgstr "" - -#: vttools/vt-is-UTF8.c:18 -msgid "don't print result" -msgstr "" - -#: vttools/vt-is-UTF8.c:82 -msgid "Single-byte char mode.\n" -msgstr "" - -#: vttools/resizecons.c:110 -#, c-format -msgid "" -"Usage: %s COLSxROWS\n" -" %s COLS ROWS\n" -" %s -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n" -msgstr "" - -#: vttools/resizecons.c:145 -#, c-format -msgid "%s: Invalid number of columns: %s\n" -msgstr "" - -#: vttools/resizecons.c:154 -#, c-format -msgid "%s: Invalid number of rows: %s\n" -msgstr "" - -#: vttools/resizecons.c:174 vttools/resizecons.c:198 -#, c-format -msgid "%s: Invalid arguments" -msgstr "" - -#: vttools/resizecons.c:186 -#, c-format -msgid "%s: Unrecognized argument" -msgstr "" - -#: vttools/resizecons.c:210 -#, c-format -msgid "%s: bad number of arguments\n" -msgstr "" - -#: vttools/resizecons.c:239 -#, c-format -msgid "%s: cannot find videomode file %s\n" -msgstr "" - -#: vttools/resizecons.c:260 -msgid "Invalid number of lines\n" -msgstr "" - -#: vttools/resizecons.c:338 -#, c-format -msgid "Old mode: %dx%d New mode: %dx%d\n" -msgstr "" - -#: vttools/resizecons.c:340 -#, c-format -msgid "Old #scanlines: %d New #scanlines: %d Character height: %d\n" -msgstr "" - -#: vttools/resizecons.c:353 vttools/resizecons.c:403 -#, c-format -msgid "%s: the command `%s' failed\n" -msgstr "" - -#: vttools/resizecons.c:408 -#, c-format -msgid "%s: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n" -msgstr "" - -#: vttools/resizecons.c:412 -msgid "Also the variables LINES and COLUMNS may need adjusting.\n" -msgstr "" - -#: vttools/resizecons.c:449 -#, c-format -msgid "%s: cannot get I/O permissions.\n" -msgstr "" - -#: vttools/deallocvt.c:23 -#, c-format -msgid "" -"Usage: %s [N1 N2 ...]\n" -"Deallocate virtual terminal(s)\n" -msgstr "" - -#: vttools/chvt.c:21 vttools/deallocvt.c:26 -msgid "virtual terminal" -msgstr "" - -#: vttools/deallocvt.c:41 -#, c-format -msgid "%s: 0: illegal VT number\n" -msgstr "" - -#: vttools/deallocvt.c:50 -#, c-format -msgid "%s: VT 1 is the console and cannot be deallocated\n" -msgstr "" - -#: vttools/deallocvt.c:61 -#, c-format -msgid "%s: could not deallocate console %d\n" -msgstr "" - -#: vttools/deallocvt.c:125 -#, c-format -msgid "%s: deallocating all unused consoles failed\n" -msgstr "" - -#: vttools/fgconsole.c:14 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Print foreground console\n" -msgstr "" - -#: vttools/chvt.c:18 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Change virtual terminal\n" -msgstr "" - -#: vttools/vcstime.c:22 -#, c-format -msgid "" -"Usage: %s\n" -"Show time in upper right hand corner of the console screen\n" -msgstr "" - -#: vttools/writevt.c:19 -#, c-format -msgid "" -"Usage: %s tty text\n" -"Put text into the input buffer of a virtual terminal.\n" -msgstr "" - -#: vttools/writevt.c:22 -msgid "device name" -msgstr "" - -#: vttools/writevt.c:23 -msgid "text to insert" -msgstr "" - -#: vttools/writevt.c:68 -#, c-format -msgid "%s: No tty specified.\n" -msgstr "" - -#: vttools/writevt.c:77 -#, c-format -msgid "%s: No text specified.\n" -msgstr "" - -#: vttools/writevt.c:83 -#, c-format -msgid "%s: too many arguments\n" -msgstr "" - -#: vttools/writevt.c:91 -#, c-format -msgid "%s: could not open tty\n" -msgstr "" - -#: vttools/writevt.c:99 -#, c-format -msgid "%s: TIOCSTI ioctl failed\n" -msgstr "" diff -Nru console-tools-0.2.3/po/Makefile.in.in console-tools-0.2.3/po/Makefile.in.in --- console-tools-0.2.3/po/Makefile.in.in 1999-03-07 16:41:28.000000000 +0000 +++ console-tools-0.2.3/po/Makefile.in.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,248 +0,0 @@ -# Makefile for program source directory in GNU NLS utilities package. -# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu> -# -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ - -SHELL = /bin/sh -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -datadir = $(prefix)/@DATADIRNAME@ -localedir = $(datadir)/locale -gnulocaledir = $(prefix)/share/locale -gettextsrcdir = $(prefix)/share/gettext/po -subdir = po - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -MKINSTALLDIRS = $(top_srcdir)/@MKINSTALLDIRS@ - -CC = @CC@ -GENCAT = @GENCAT@ -GMSGFMT = PATH=../src:$$PATH @GMSGFMT@ -MSGFMT = @MSGFMT@ -XGETTEXT = PATH=../src:$$PATH @XGETTEXT@ -MSGMERGE = PATH=../src:$$PATH msgmerge - -DEFS = @DEFS@ -CFLAGS = @CFLAGS@ -CPPFLAGS = @CPPFLAGS@ - -INCLUDES = -I.. -I$(top_srcdir)/intl - -COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) - -SOURCES = cat-id-tbl.c -POFILES = @POFILES@ -GMOFILES = @GMOFILES@ -DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(PACKAGE).pot \ -stamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES) - -POTFILES = \ - -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -INSTOBJEXT = @INSTOBJEXT@ - -.SUFFIXES: -.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat - -.c.o: - $(COMPILE) $< - -.po.pox: - $(MAKE) $(PACKAGE).pot - $(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox - -.po.mo: - $(MSGFMT) -o $@ $< - -.po.gmo: - file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ - && rm -f $$file && $(GMSGFMT) -o $$file $< - -.po.cat: - sed -f ../intl/po2msg.sed < $< > $*.msg \ - && rm -f $@ && $(GENCAT) $@ $*.msg - - -all: all-@USE_NLS@ - -all-yes: cat-id-tbl.c $(CATALOGS) -all-no: - -$(srcdir)/$(PACKAGE).pot: $(POTFILES) - $(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \ - --add-comments --keyword=_ --keyword=N_ \ - --files-from=$(srcdir)/POTFILES.in \ - && test ! -f $(PACKAGE).po \ - || ( rm -f $(srcdir)/$(PACKAGE).pot \ - && mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot ) - -$(srcdir)/cat-id-tbl.c: stamp-cat-id; @: -$(srcdir)/stamp-cat-id: $(PACKAGE).pot - rm -f cat-id-tbl.tmp - sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \ - | sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp - if cmp -s cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; then \ - rm cat-id-tbl.tmp; \ - else \ - echo cat-id-tbl.c changed; \ - rm -f $(srcdir)/cat-id-tbl.c; \ - mv cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; \ - fi - cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id - - -install: install-exec install-data -install-exec: -install-data: install-data-@USE_NLS@ -install-data-no: all -install-data-yes: all - if test -r "$(MKINSTALLDIRS)"; then \ - $(MKINSTALLDIRS) $(datadir); \ - else \ - $(SHELL) $(top_srcdir)/mkinstalldirs $(datadir); \ - fi - @catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - case "$$cat" in \ - *.gmo) destdir=$(gnulocaledir);; \ - *) destdir=$(localedir);; \ - esac; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - dir=$$destdir/$$lang/LC_MESSAGES; \ - if test -r "$(MKINSTALLDIRS)"; then \ - $(MKINSTALLDIRS) $$dir; \ - else \ - $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \ - fi; \ - if test -r $$cat; then \ - $(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \ - echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \ - else \ - $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \ - echo "installing $(srcdir)/$$cat as" \ - "$$dir/$(PACKAGE)$(INSTOBJEXT)"; \ - fi; \ - if test -r $$cat.m; then \ - $(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \ - echo "installing $$cat.m as $$dir/$(PACKAGE)$(INSTOBJEXT).m"; \ - else \ - if test -r $(srcdir)/$$cat.m ; then \ - $(INSTALL_DATA) $(srcdir)/$$cat.m \ - $$dir/$(PACKAGE)$(INSTOBJEXT).m; \ - echo "installing $(srcdir)/$$cat as" \ - "$$dir/$(PACKAGE)$(INSTOBJEXT).m"; \ - else \ - true; \ - fi; \ - fi; \ - done - if test "$(PACKAGE)" = "gettext"; then \ - if test -r "$(MKINSTALLDIRS)"; then \ - $(MKINSTALLDIRS) $(gettextsrcdir); \ - else \ - $(SHELL) $(top_srcdir)/mkinstalldirs $(gettextsrcdir); \ - fi; \ - $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ - $(gettextsrcdir)/Makefile.in.in; \ - else \ - : ; \ - fi - -# Define this as empty until I found a useful application. -installcheck: - -uninstall: - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - rm -f $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \ - rm -f $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \ - rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \ - rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \ - done - rm -f $(gettextsrcdir)/po-Makefile.in.in - -check: all - -cat-id-tbl.o: ../intl/libgettext.h - -dvi info tags TAGS ID: - -mostlyclean: - rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp - rm -fr *.o - -clean: mostlyclean - -distclean: clean - rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m - -maintainer-clean: distclean - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - rm -f $(GMOFILES) - -distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) -dist distdir: update-po $(DISTFILES) - dists="$(DISTFILES)"; \ - for file in $$dists; do \ - ln $(srcdir)/$$file $(distdir) 2> /dev/null \ - || cp -p $(srcdir)/$$file $(distdir); \ - done - -update-po: Makefile - $(MAKE) $(PACKAGE).pot - PATH=`pwd`/../src:$$PATH; \ - cd $(srcdir); \ - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - mv $$lang.po $$lang.old.po; \ - echo "$$lang:"; \ - if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \ - rm -f $$lang.old.po; \ - else \ - echo "msgmerge for $$cat failed!"; \ - rm -f $$lang.po; \ - mv $$lang.old.po $$lang.po; \ - fi; \ - done - -POTFILES: POTFILES.in - ( if test 'x$(srcdir)' != 'x.'; then \ - posrcprefix='$(top_srcdir)/'; \ - else \ - posrcprefix="../"; \ - fi; \ - rm -f $@-t $@ \ - && (sed -e '/^#/d' -e '/^[ ]*$$/d' \ - -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ - | sed -e '$$s/\\$$//') > $@-t \ - && chmod a-w $@-t \ - && mv $@-t $@ ) - -Makefile: Makefile.in.in ../config.status POTFILES - cd .. \ - && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ - $(SHELL) ./config.status - -# Tell versions [3.59,3.63) of GNU make not to export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru console-tools-0.2.3/po/POTFILES.in console-tools-0.2.3/po/POTFILES.in --- console-tools-0.2.3/po/POTFILES.in 1999-04-08 21:29:42.000000000 +0000 +++ console-tools-0.2.3/po/POTFILES.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ -fontfiletools/psfaddtable.c -fontfiletools/psfgettable.c -fontfiletools/psfstriptable.c -kbdtools/showkey.c -kbdtools/setmetamode.c -kbdtools/kbd_mode.c -kbdtools/loadkeys.c -kbdtools/getkeycodes.c -kbdtools/dumpkeys.c -kbdtools/setleds.c -lib/sfm-utils.c -lib/wrappers.c -lib/sfm-rd-ascii.c -lib/saveunimap.c -lib/misc-console-utils.c -lib/psf-header.c -lib/ksyms.c -lib/findfile.c -lib/acm.c -lib/miscutils.c -lib/ksyms.c -screenfonttools/consolechars.c -screenfonttools/showcfont.c -screenfonttools/clrunimap.c -vttools/screendump.c -vttools/setvesablank.c -vttools/vt-is-UTF8.c -vttools/resizecons.c -vttools/deallocvt.c -vttools/fgconsole.c -vttools/chvt.c -vttools/vcstime.c -vttools/writevt.c - - Binary files /tmp/tmpayi9pl/v7Up8WiOl7/console-tools-0.2.3/po/ru.gmo and /tmp/tmpayi9pl/Fy8SctC1qL/console-tools-0.2.3/po/ru.gmo differ diff -Nru console-tools-0.2.3/po/ru.po console-tools-0.2.3/po/ru.po --- console-tools-0.2.3/po/ru.po 1999-10-25 20:58:18.000000000 +0000 +++ console-tools-0.2.3/po/ru.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,1693 +0,0 @@ -# Translation into Russian [ru] for console-tools-0.2.0 -# ìÏËÁÌÉÚÁÃÉÑ console-tools-0.2.0 ÄÌÑ ÒÕÓÓËÏÇÏ ÑÚÙËÁ [ru] -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 1999-10-25 22:33+0200\n" -"PO-Revision-Date: 1999-06-26 20:00+0200\n" -"Last-Translator: Ilya Ketris <ilya@gde.to>\n" -"Language-Team: Russian <ru@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: koi8-r\n" - -#: fontfiletools/psfaddtable.c:30 -#, c-format -msgid "" -"Usage: %s psffont_in sfm_file [psffont_out]\n" -"Add a Unicode character table to a PSF font\n" -msgstr "" -"÷ÙÚÏ×: %s psffont_in sfm_file [psffont_out]\n" -"÷ÓÔÁ×ÉÔØ ÀÎÉËÏÄ-ÔÁÂÌÉÃÕ × ÛÒÉÆÔ PSF\n" - -#: fontfiletools/psfaddtable.c:33 -msgid "input psffont filename" -msgstr "ÉÍÑ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ Ó PSF-ÛÒÉÆÔÏÍ" - -#: fontfiletools/psfaddtable.c:34 -msgid "screen-font-map filename" -msgstr "ÆÁÊÌ ÐÅÒÅËÏÄÉÒÏ×ËÉ" - -#: fontfiletools/psfaddtable.c:35 -msgid "output psffont filename" -msgstr "ÉÍÑ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ Ó PSF-ÛÒÉÆÔÏÍ" - -#: fontfiletools/psfaddtable.c:86 fontfiletools/psfaddtable.c:96 -#: fontfiletools/psfgettable.c:76 fontfiletools/psfstriptable.c:78 -#, c-format -msgid "%s: wrong number of arguments\n" -msgstr "%s: ÎÅ×ÅÒÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÁÒÇÕÍÅÎÔÏ×\n" - -#: fontfiletools/psfaddtable.c:113 -#, c-format -msgid "%s: psffont and chartable cannot both be stdin\n" -msgstr "" -"%s: PSF-ÛÒÉÆÔ É ÔÁÂÌÉÃÁ ÓÉÍ×ÏÌÏ× ÎÅ ÍÏÇÕÔ ÏÄÎÏ×ÒÅÍÅÎÎÏ ÐÏÄÁ×ÁÔØÓÑ ÓÏ stdin\n" - -#: fontfiletools/psfaddtable.c:200 -#, c-format -msgid "Loading unicode map from %s.\n" -msgstr "úÁÇÒÕÖÁÅÔÓÑ ÀÎÉËÏÄ-ÔÁÂÌÉÃÁ ÉÚ %s.\n" - -#: fontfiletools/psfgettable.c:26 -#, c-format -msgid "" -"Usage: %s psffont chartable [outfile]\n" -"Extract a Unicode character table from a PSF font\n" -msgstr "" -"÷ÙÚÏ×: %s <PSF-ÛÒÉÆÔ> <ËÏÄÉÒÏ×ËÁ> [×ÙÈÏÄÎÏÊ ÆÁÊÌ]\n" -"óÏÚÄÁÔØ ÀÉËÏÄÎÙÊ ÚÎÁËÏÎÁÂÏÒ ÉÚ PSF-ÛÒÉÆÔÁ\n" - -#: fontfiletools/psfgettable.c:29 fontfiletools/psfstriptable.c:31 -msgid "psffont filename" -msgstr "ÆÁÊÄ Ó ÛÒÉÆÔÏÍ psf" - -#: fontfiletools/psfgettable.c:30 fontfiletools/psfstriptable.c:32 -msgid "output filename" -msgstr "×ÙÈÏÄÎÏÊ ÆÁÊÌ" - -#: fontfiletools/psfgettable.c:139 -#, c-format -msgid "%s: Font has no character table\n" -msgstr "%s: ûÒÉÆÔ ÎÅ ÓÏÄÅÒÖÉÔ ÔÁÂÌÉÃÕ ÓÉÍ×ÏÌÏ×\n" - -#: fontfiletools/psfstriptable.c:28 -#, c-format -msgid "" -"Usage: %s [options] psffont [outfile]\n" -"Strip Unicode character table from a PSF font\n" -msgstr "" - -#: fontfiletools/psfstriptable.c:140 -#, c-format -msgid "%s: Font already had no character table\n" -msgstr "%s: ûÒÉÆÔ É ÔÁË ÎÅ ÓÏÄÅÒÖÉÔ ÔÁÂÌÉÃÕ ÓÉÍ×ÏÌÏ×\n" - -#: kbdtools/showkey.c:47 -msgid "?UNKNOWN?" -msgstr "?ÎÅÉÚ×ÅÓÔÎÏ?" - -#: kbdtools/showkey.c:49 -#, c-format -msgid "kb mode was %s\n" -msgstr "ÒÅÖÉÍ ËÌÁ×ÉÁÔÕÒÙ ÂÙÌ %s\n" - -#: kbdtools/showkey.c:52 -msgid "[ if you are trying this under X, it might not work\n" -msgstr "[ ÅÓÌÉ ×Ù ÜÔÏ ÚÁÐÕÓËÁÅÔÅ ÐÏÄ X, ÍÏÖÅÔ ÎÅ ÐÏÌÕÞÉÔØÓÑ,\n" - -#: kbdtools/showkey.c:53 -msgid "since the X server is also reading /dev/console ]\n" -msgstr "ÉÂÏ X-ÓÅÒ×ÅÒ ÔÏÖÅ ÞÉÔÁÅÔ /dev/console ]\n" - -#: kbdtools/showkey.c:72 -#, c-format -msgid "caught signal %d, cleaning up...\n" -msgstr "ÐÏÌÕÞÅÎ ÓÉÇÎÁÌ %d, ÚÁ×ÅÒÛÅÎÉÅ...\n" - -#: kbdtools/showkey.c:85 -#, c-format -msgid "usage: %s [options...] <command>\n" -msgstr "×ÙÚÏ×: %s [ËÌÀÞÉ...] <ËÏÍÍÁÎÄÁ>\n" - -#: kbdtools/showkey.c:87 -msgid "display only the raw scan-codes." -msgstr "ÏÔÏÂÒÁÖÁÔØ ÔÏÌØËÏ ÓËÁÎ-ËÏÄÙ." - -#: kbdtools/showkey.c:88 -msgid "display only the interpreted keycodes (default)." -msgstr "ÏÔÏÂÒÁÖÁÔØ ÔÏÌØËÏ ÐÒÅÏÂÒÁÚÏ×ÁÎÎÙÅ ËÏÄÙ (ÕÍÏÌÞÁÎÉÅ)." - -#: kbdtools/showkey.c:89 -msgid "display only keymap-translated chars." -msgstr "ÏÔÏÂÒÁÖÁÔØ ÔÏÌØËÏ ÓÉÍ×ÏÌÙ, ÐÅÒÅËÏÄÉÒÏ×ÁÎÎÙÅ ÔÁÂÌÉÃÅÊ." - -#: kbdtools/showkey.c:90 -msgid "display unicode-translated chars." -msgstr "ÏÔÏÂÒÁÖÁÔØ ÔÏÌØËÏ ÓÉÍ×ÏÌÙ, ÐÅÒÅËÏÄÉÒÏ×ÁÎÎÙÅ × ÀÎÉËÏÄ." - -#: kbdtools/showkey.c:94 -msgid "set the timeout to N seconds." -msgstr "ÕÓÔÁÎÏ×ÉÔØ ÔÁÊÍÁÕÔ × N ÓÅËÕÎÄ." - -#: kbdtools/showkey.c:158 -msgid "timeout value must be numeric" -msgstr "ÔÁÊÍÁÕÔ ÄÏÌÖÅÎ ÂÙÔØ ÞÉÓÌÏ×ÙÍ" - -#: kbdtools/dumpkeys.c:632 kbdtools/showkey.c:174 -msgid "no non-option arguments allowed" -msgstr "ÒÁÚÒÅÛÅÎÙ ÔÏÌØËÏ ËÌÀÞÉ" - -#: kbdtools/showkey.c:177 -msgid "WARNING: Unicode mode is experimental -- output may be wrong\n" -msgstr "÷îéíáîå: àÎÉËÏÄ-ÒÅÖÉÍ ÎÅÓÔÁÂÉÌÅÎ -- ×ÏÚÍÏÖÅÎ ÎÅ×ÅÒÎÙÊ ×Ù×ÏÄ\n" - -#: kbdtools/showkey.c:235 -#, c-format -msgid "press any key (program terminates after %us of last keypress)...\n" -msgstr "" -"ÎÁÖÍÉÔÅ ËÌÁ×ÉÛÕ (ÐÒÏÇÁÍÍÁ ÚÁ×ÅÒÛÉÔÓÑ ÞÅÒÅÚ %us ÐÏÓÌÅ ÐÏÓÌÅÄÎÅÇÏ ÎÁÖÁÔÉÑ...\n" - -#: kbdtools/showkey.c:254 -#, c-format -msgid "keycode %3d %s\n" -msgstr "ËÏÄ %3d %s\n" - -#: kbdtools/showkey.c:256 -msgid "release" -msgstr "ÏÔÖÁÔÉÅ" - -#: kbdtools/showkey.c:256 -msgid "press" -msgstr "ÎÁÖÁÔÉÅ" - -#: kbdtools/setmetamode.c:22 -#, c-format -msgid "" -"\n" -"Usage:\n" -"\t%1$s [ metabit | meta | bit | escprefix | esc | prefix ]\n" -"Each vt has his own copy of this bit. Use\n" -"\t%1$s [arg] < /dev/ttyn\n" -"to change the settings of another vt.\n" -"The setting before and after the change are reported.\n" -msgstr "" -"\n" -"÷ÙÚÏ×:\n" -"\t%1$s [ metabit | meta | bit | escprefix | esc | prefix ]\n" -"õ ËÁÖÄÏÇÏ VT Ó×ÏÊ ÎÁÂÏÒ ÜÔÉÈ ÂÉÔÏ×. úÁÐÕÓËÁÊÔÅ\n" -"\t%1$s [ËÌÀÞÉ] < /dev/ttyn\n" -"ÄÌÑ ÉÚÍÅÎÅÎÉÑ ÕÓÔÁÎÏ×ÏË ÄÒÕÇÏÇÏ VT.\n" -"óÏÏÂÝÁÀÔÓÑ ÕÓÔÁÎÏ×ËÉ ÄÏ É ÐÏÓÌÅ ÉÚÍÅÎÅÎÉÑ.\n" - -#: kbdtools/setmetamode.c:38 -msgid "Meta key sets high order bit\n" -msgstr "íÅÔÁ-ËÌÁ×ÉÛÁ ×ÙÓÔÁ×ÌÑÅÔ ÓÔÁÒÛÉÊ ÂÉÔ\n" - -#: kbdtools/setmetamode.c:41 -msgid "Meta key gives Esc prefix\n" -msgstr "íÅÔÁ-ËÌÁ×ÉÛÁ ×ÙÄÁÅÔ Esc\n" - -#: kbdtools/setmetamode.c:44 -msgid "Strange mode for Meta key?\n" -msgstr "óÔÒÁÎÎÙÊ ÒÅÖÉÍ ÍÅÔÁ-ËÌÁ×ÉÛÉ?\n" - -#: kbdtools/setmetamode.c:76 -msgid "Error reading current setting. Maybe stdin is not a VT?\n" -msgstr "ïÛÉÂËÁ ÞÔÅÎÉÑ ÕÓÔÁÎÏ×ÏË. íÏÖÅÔ stdin ÎÅ VT?\n" - -#: kbdtools/setmetamode.c:95 -msgid "unrecognized argument" -msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÁÒÇÕÍÅÎÔ" - -#: kbdtools/setmetamode.c:98 -msgid "old state: " -msgstr "ÓÔÁÒÏÅ ÓÏÓÔÏÑÎÉÅ: " - -#: kbdtools/setmetamode.c:105 -msgid "new state: " -msgstr "ÎÏ×ÏÅ ÓÏÓÔÏÑÎÉÅ: " - -#: kbdtools/kbd_mode.c:23 -#, c-format -msgid "" -"Usage: %s [option]\n" -"Report and set keyboard mode\n" -msgstr "" -"÷ÙÚÏ×: %s [ËÌÀÞÉ]\n" -"ïÔÏÂÒÁÖÅÎÉÅ É ÕÓÔÁÎÏ×ËÁ ÒÅÖÉÍÁ ËÌÁ×ÉÁÔÕÒÙ\n" - -#: kbdtools/kbd_mode.c:26 -msgid "print this help information and exit" -msgstr "ÓÏÏÂÝÉÔØ ÄÁÎÎÕÀ ÉÎÆÏÒÍÁÃÉÀ" - -#: kbdtools/kbd_mode.c:27 -msgid "report version and exit" -msgstr "ÓÏÏÂÝÉÔØ ÎÏÍÅÒ ×ÅÒÓÉÉ" - -#: kbdtools/kbd_mode.c:28 -msgid "ASCII or 8bit mode (XLATE)" -msgstr "ÒÅÖÉÍ ASCII ÉÌÉ 8 ÂÉÔ (XLATE)" - -#: kbdtools/kbd_mode.c:29 -msgid "keycode mode (MEDIUMRAW)" -msgstr "ÒÅÖÉÍ ËÏÄÏ× ËÌÁ×ÉÛ (MEDIUMRAW)" - -#: kbdtools/kbd_mode.c:30 -msgid "UTF-8 mode (UNICODE)" -msgstr "ÒÅÖÉÍ UTF-8 (UNICODE)" - -#: kbdtools/kbd_mode.c:31 -msgid "scancode mode (RAW)" -msgstr "ÒÅÖÉÍ ÓËÁÎ-ËÏÄÏ× (RAW)" - -#: kbdtools/kbd_mode.c:32 -msgid "set mode" -msgstr "ÕÓÔÁÎÏ×ÉÔØ ÒÅÖÉÍ" - -#: kbdtools/kbd_mode.c:85 -#, c-format -msgid "%s: unknown mode: %s\n" -msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ÒÅÖÉÍ: %s\n" - -#: kbdtools/kbd_mode.c:111 -msgid ": error reading keyboard mode\n" -msgstr ": ÏÛÉÂËÁ ÞÔÅÎÉÑ ÒÅÖÉÍÁ ËÌÁ×ÉÁÔÕÒÙ\n" - -#: kbdtools/kbd_mode.c:117 -msgid "The keyboard is in raw (scancode) mode\n" -msgstr "ëÌÁ×ÉÁÔÕÒÁ × ÒÅÖÉÍÅ ÓËÁÎ-ËÏÄÏ×\n" - -#: kbdtools/kbd_mode.c:120 -msgid "The keyboard is in mediumraw (keycode) mode\n" -msgstr "ëÌÁ×ÉÁÔÕÒÁ × ÒÅÖÉÍÅ ËÏÄÏ× ËÌÁ×ÉÛ\n" - -#: kbdtools/kbd_mode.c:123 -msgid "The keyboard is in the default (ASCII) mode\n" -msgstr "ëÌÁ×ÉÁÔÕÒÁ × ÎÏÒÍÁÌØÎÏÍ ÒÅÖÉÍÅ (ASCII)\n" - -#: kbdtools/kbd_mode.c:126 -msgid "The keyboard is in Unicode (UTF-8) mode\n" -msgstr "" - -#: kbdtools/kbd_mode.c:129 -msgid "The keyboard is in some unknown mode\n" -msgstr "ëÌÁ×ÉÁÔÕÒÁ × ÎÅÉÚ×ÅÓÔÎÏÍ ÒÅÖÉÍÅ\n" - -#: kbdtools/kbd_mode.c:137 -msgid ": error setting keyboard mode\n" -msgstr ": ÏÛÉÂËÁ ÐÒÉ ÕÓÔÁÎÏ×ËÅ ÒÅÖÉÍÁ\n" - -#: loadkeys.y:287 -msgid "too many keydefinitions on one line" -msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÏÐÒÅÄÅÌÅÎÉÊ × ÏÄÎÏÊ ÓÔÒÏËÅ" - -#: loadkeys.y:306 -#, c-format -msgid "Usage: %s [option...] [mapfile...]\n" -msgstr "÷ÙÚÏ×: %s [ËÌÀÞÉ...] [ÆÁÊÌ ÒÁÓËÌÁÄËÉ...]\n" - -#: loadkeys.y:308 -msgid "clear kernel compose table" -msgstr "ÏÞÉÓÔÉÔØ ÔÁÂÌÉÃÕ ÓÏÓÔÁ×ÎÙÈ ÓÉÍ×ÏÌÏ× × ÑÄÒÅ" - -#: loadkeys.y:309 -msgid "load default keymap file" -msgstr "ÚÁÇÒÕÚÉÔØ ÕÍÏÌÞÁÔÅÌØÎÙÊ ÆÁÊÌ ÒÁÓËÌÁÄËÉ" - -#. FIXME: should print DEFKMAP -#: loadkeys.y:310 -msgid "output a \"defkeymap.c\" to stdout" -msgstr "×Ù×ÅÓÔÉ \"defkeymap.c\" ÎÁ stdout" - -#: loadkeys.y:311 -msgid "clear kernel string table" -msgstr "ÏÞÉÓÔÉÔØ ÔÁÂÌÉÃÕ ÓÔÒÏË ÑÄÒÁ" - -#: loadkeys.y:312 -msgid "be silent" -msgstr "ÐÏÄÁ×ÉÔØ ×Ù×ÏÄ" - -#: loadkeys.y:313 -msgid "report the changes" -msgstr "ÓÏÏÂÝÉÔØ ÉÚÍÅÎÅÎÉÑ" - -#: loadkeys.y:314 -msgid "report more changes" -msgstr "ÓÏÏÂÝÉÔØ ÉÚÍÅÎÅÎÉÑ ÐÏÄÒÏÂÎÅÅ" - -#: loadkeys.y:392 -msgid "syntax error in map file\n" -msgstr "ÏÛÉÂËÁ × ÆÁÊÌÅ ÒÁÓËÌÁÄËÉ\n" - -#: loadkeys.y:394 -msgid "key bindings not changed\n" -msgstr "ÐÒÉ×ÑÚËÉ ËÌÁ×ÉÛ ÎÅ ÉÚÍÅÎÅÎÙ\n" - -#: loadkeys.y:482 -#, c-format -msgid "Cannot find %s\n" -msgstr "%s ÎÅ ÎÁÊÄÅÎ\n" - -#: loadkeys.y:499 -#, c-format -msgid "cannot open file %s\n" -msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s\n" - -#: loadkeys.y:524 -#, c-format -msgid "addmap called with bad index %d" -msgstr "×ÙÚÏ× addmap Ó ÎÅ×ÅÒÎÙÍ ÉÎÄÅËÓÏÍ %d" - -#: loadkeys.y:529 -#, c-format -msgid "adding map %d violates explicit keymaps line)" -msgstr "ÄÏÂÁ×ÌÅÎÉÅ ÒÁÓËÌÁÄËÉ %d ÐÒÏÔ×ÏÒÅÞÉÔ ÓÔÒÏËÅ)" - -#: loadkeys.y:543 -#, c-format -msgid "killkey called with bad index %d" -msgstr "×ÙÚÏ× killkey Ó ÎÅ×ÅÒÎÙÍ ÉÎÄÅËÓÏÍ %d" - -#: loadkeys.y:545 -#, c-format -msgid "killkey called with bad table %d" -msgstr "×ÙÚÏ× killkey Ó ÎÅ×ÅÒÎÏÊ ÔÁÂÌÉÃÅÊ %d" - -#: loadkeys.y:559 -#, c-format -msgid "addkey called with bad index %d" -msgstr "×ÙÚÏ× addkey Ó ÎÅ×ÅÒÎÙÍ ÉÎÄÅËÓÏÍ %d" - -#: loadkeys.y:561 -#, c-format -msgid "addkey called with bad table %d" -msgstr "×ÙÚÏ× addkey Ó ÎÅ×ÅÒÎÏÊ ÔÁÂÌÉÃÅÊ %d" - -#: loadkeys.y:605 -#, c-format -msgid "%s: addfunc called with bad func %d\n" -msgstr "%s: ×ÙÚÏ× addfunc Ó ÎÅ×ÅÒÎÏÊ ÆÕÎËÃÉÅÊ %d\n" - -#: loadkeys.y:628 -#, c-format -msgid "%s: addfunc: func_buf overflow\n" -msgstr "%s: addfunc: ÐÅÒÐÏÌÎÅÎÉÅ func_buf\n" - -#: loadkeys.y:657 -msgid "compose table overflow\n" -msgstr "ÐÅÒÐÏÌÎÅÎÉÅ ÔÁÂÌÉÃÙ ÓÏÓÔÁ×ÎÙÈ ÓÉÍ×ÏÌÏ×\n" - -#: loadkeys.y:666 -#, c-format -msgid "Warning: Compose char %4x ('%c','%c') > 0xFF will be truncated to %2x\n" -msgstr "÷ÎÉÍÁÎÉÅ: ÓÏÓÔÁ×ÎÏÊ ÓÉÍ×ÏÌ %4x ('%c','%c') > 0xFF ÏÂÒÅÚÁÎ ÄÏ %2x\n" - -#: loadkeys.y:669 -msgid " (Linux kernel < 2.3.X can't handle unicode compose chars properly)\n" -msgstr " (ñÄÒÁ ÍÌÁÄÛÅ 2.3.X ÀÎÉËÏÄÎÙÅ ÓÏÓÔÁ×ÎÙÅ ÓÉÍ×ÏÌÙ ÎÅ ÏÂÒÁÂÁÔÙ×ÁÀÔ)\n" - -#: loadkeys.y:709 -#, c-format -msgid "Keymap %d: Permission denied\n" -msgstr "òÁÓËÌÁÄËÁ %d: ïÔËÁÚÁÎÏ × ÄÏÓÔÕÐÅ\n" - -#: loadkeys.y:718 -#, c-format -msgid "keycode %d, table %d = %d%s\n" -msgstr "ËÏÄ %s, ÔÁÂÌÉÃÁ %d = %d%s\n" - -#: loadkeys.y:719 -msgid " FAILED" -msgstr " ïûéâëá" - -#: loadkeys.y:721 -#, c-format -msgid "failed to bind key %d to value %d\n" -msgstr "ÎÅ ÕÄÁÌÏÓØ ÐÒÉ×ÑÚÁÔØ ËÌÁ×ÉÛÕ %d Ë ÚÎÁÞÅÎÉÀ %d\n" - -#: loadkeys.y:734 -#, c-format -msgid "deallocate keymap %d\n" -msgstr "×ÙÇÒÕÚÉÔØ ÒÁÓËÌÁÄËÕ %d\n" - -#: loadkeys.y:742 -#, c-format -msgid "%s: could not deallocate keymap %d\n" -msgstr "%s: ÎÅ ÕÄÁÌÏÓØ ×ÙÇÒÕÚÉÔØ ÒÁÓËÌÁÄËÕ %d\n" - -#: loadkeys.y:759 -#, c-format -msgid "%s: cannot deallocate or clear keymap\n" -msgstr "%s: ÎÅ ÕÄÁÌÏÓØ ×ÙÇÒÕÚÉÔØ ÌÉÂÏ ÏÞÉÓÔÉÔØ ÒÁÓËÌÁÄËÕ\n" - -#: loadkeys.y:772 -#, c-format -msgid "%s: failed to restore keyboard mode\n" -msgstr "%s: ÎÅ ÕÄÁÌÏÓØ ×ÏÓÓÔÁÎÏ×ÉÔØ ÒÅÖÉÍ ËÌÁ×ÉÁÔÕÒÙ\n" - -#: loadkeys.y:775 -#, c-format -msgid "" -"%s: warning: this map uses Unicode symbols\n" -" (perhaps you want to do `kbd_mode -u'?)\n" -msgstr "" -"%s: ×ÎÉÍÁÎÉÅ -- ÒÁÓËÌÁÄËÁ ÉÓÐÏÌØÚÕÅÔ ÀÎÉËÏÄ\n" -" (ÍÏÖÅÔ ÐÏÎÁÄÏÂÉÔØÓÑ \"kbd_mode -u\")\n" - -#: loadkeys.y:823 -#, c-format -msgid "failed to bind string '%s' to function %s\n" -msgstr "ÎÅ ÕÄÁÌÏÓØ ÐÒÉ×ÑÚÁÔØ ÓÔÒÏËÕ '%s' Ë ÆÕÎËÃÉÉ %s\n" - -#: loadkeys.y:832 -#, c-format -msgid "failed to clear string %s\n" -msgstr "ÎÅ ÕÄÁÌÏÓØ ÏÞÉÓÔÉÔØ ÓÔÒÏËÕ %s\n" - -#: loadkeys.y:850 -msgid "too many compose definitions\n" -msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ËÏÍÐÏÚÉÔÎÙÈ ÏÐÒÅÄÅÌÅÎÉÊ\n" - -#: loadkeys.y:857 -msgid "KDSKBDIACR failed\n" -msgstr "KDSKBDIACR ×ÅÒÎÕÌ ÏÛÉÂËÕ\n" - -#: loadkeys.y:918 -msgid "impossible error in do_constant" -msgstr "ÎÅ×ÏÚÍÏÖÎÁÑ ÏÛÉÂËÁ × do_constant" - -#: loadkeys.y:939 -#, c-format -msgid "" -"\n" -"Changed %d key%s and %d string%s.\n" -msgstr "" - -#: loadkeys.y:943 -#, c-format -msgid "Loaded %d compose definition%s.\n" -msgstr "" - -#: loadkeys.y:946 -msgid "(No change in compose definitions.)\n" -msgstr "(ËÏÍÐÏÚÉÔÎÙÅ ÏÐÒÅÄÅÌÅÎÉÑ ÎÅ ÉÚÍÅÎÅÎÙ.)\n" - -#: loadkeys.y:983 -#, c-format -msgid "loadkeys: don't know how to compose for %s\n" -msgstr "loadkeys: ÎÅÐÏÎÑÔÎÏ, ËÁË ÓÄÅÌÁÔØ ËÏÍÐÏÚÉÔ ÄÌÑ %s\n" - -#: kbdtools/getkeycodes.c:21 -#, c-format -msgid "" -"Usage: %s\n" -"Print kernel scancode-to-keycode mapping table\n" -msgstr "" -"÷ÙÚÏ×: %s\n" -"÷Ù×ÅÓÔÉ ÔÁÂÌÉÃÕ ÓÏÏÔ×ÅÔÓÔ×ÉÊ ÓËÁÎ-ËÏÄÏ×\n" - -#: kbdtools/getkeycodes.c:40 -msgid "Plain scancodes xx (hex) versus keycodes (dec)\n" -msgstr "óËÁÎËÏÄÙ (hex) É ÓÉÍ×ÏÌÙ (dec)\n" - -#: kbdtools/getkeycodes.c:41 -msgid "0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n" -msgstr "0 ÅÓÔØ ÏÛÉÂËÁ; × ÄÉÁÐÁÚÏÎÅ 1-88 (0x01-0x58) ÓËÁÎËÏÄ ÒÁ×ÅÎ ÓÉÍ×ÏÌÕ\n" - -#: kbdtools/getkeycodes.c:46 -msgid "" -"\n" -"\n" -"Escaped scancodes e0 xx (hex)\n" -msgstr "" -"\n" -"\n" -"üËÒÁÎÉÒÏ×ÁÎÎÙÅ ÓËÁÎËÏÄÙ e0 xx (hex)\n" - -#: kbdtools/getkeycodes.c:70 -#, c-format -msgid "failed to get keycode for scancode 0x%x\n" -msgstr "ÎÅ ÕÄÁÌÏÓØ ÐÏÌÕÞÉÔØ ËÏÄ ÄÌÑ ÓËÁÎËÏÄÁ 0x%x\n" - -#: kbdtools/dumpkeys.c:63 -#, c-format -msgid "KDGKBENT at index 0 in table %d: " -msgstr "KDGKBENT ÎÁ ÓÍÅÝÅÎÉÉ 0 × ÔÁÂÌÉÃÅ %d: " - -#: kbdtools/dumpkeys.c:77 -#, c-format -msgid "%s: cannot find any keymaps?\n" -msgstr "%s: ÎÅ ÎÁÊÔÉ ÎÉ ÏÄÎÏÊ ÔÁÂÌÉÃÙ?\n" - -#: kbdtools/dumpkeys.c:82 -#, c-format -msgid "%s: plain map not allocated? very strange ...\n" -msgstr "%s: ÏÂÙÞÎÁÑ ËÁÒÔÁ ÎÅ ÒÁÚÍÅÝÅÎÁ? ÓÔÒÁÎÎÏ...\n" - -#: kbdtools/dumpkeys.c:111 -#, c-format -msgid "KDGKBENT at index %d in table %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:200 -msgid "KDGKBDIACR failed\n" -msgstr "" - -#: kbdtools/dumpkeys.c:236 -#, c-format -msgid "keycode range supported by kernel: 1 - %d\n" -msgstr "ÄÉÁÐÁÚÏÎ ËÏÄÏ× ÉÚ ÑÄÒÁ: 1 - %d\n" - -#: kbdtools/dumpkeys.c:238 -#, c-format -msgid "max number of actions bindable to a key: %d\n" -msgstr "ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÁËÃÉÊ ÎÁ ËÌÁ×ÉÛÕ: %d\n" - -#: kbdtools/dumpkeys.c:241 -#, c-format -msgid "number of keymaps in actual use: %d\n" -msgstr "ËÏÌÉÞÅÓÔ×Ï ÁËÔÉ×ÎÙÈ ÔÁÂÌÉÃ: %d\n" - -#: kbdtools/dumpkeys.c:244 -#, c-format -msgid "of which %d dynamically allocated\n" -msgstr "%d ÉÚ ËÏÔÏÒÙÈ ÒÁÚÍÅÝÅÎÙ ÄÉÎÁÍÉÞÅÓËÉ\n" - -#: kbdtools/dumpkeys.c:245 -msgid "ranges of action codes supported by kernel:\n" -msgstr "ËÏÌÉÞÅÓÔ×Ï ËÏÄÏ× ÄÅÊÓÔ×ÉÊ, ÉÚ×ÅÓÔÎÙÈ ÑÄÒÕ: %d\n" - -#: kbdtools/dumpkeys.c:250 -#, c-format -msgid "number of function keys supported by kernel: %d\n" -msgstr "ËÏÌÉÞÅÓÔ×Ï ÆÕÎËÃÉÏÎÁÌØÎÙÈ ËÌÁ×ÉÛ, ÉÚ×ÅÓÔÎÙÈ ÑÄÒÕ: %d\n" - -#: kbdtools/dumpkeys.c:253 -#, c-format -msgid "max nr of compose definitions: %d\n" -msgstr "ÍÁËÓÉÍÕÍ ËÏÍÐÏÚÉÔÎÙÈ ÏÐÒÅÄÅÌÅÎÉÊ: %d\n" - -#: kbdtools/dumpkeys.c:256 -#, c-format -msgid "nr of compose definitions in actual use: %d\n" -msgstr "ËÏÌÉÞÅÓÔ×Ï ÁËÔÉ×ÎÙÈ ËÏÍÐÏÚÉÔÎÙÈ ÏÐÒÅÄÅÌÅÎÉÊ %d\n" - -#: kbdtools/dumpkeys.c:280 -#, c-format -msgid "" -"Symbols recognized by %s:\n" -"(numeric value, symbol)\n" -"\n" -msgstr "" -"óÉÍ×ÏÌÙ, ÉÚ×ÅÓÔÎÙÅ %s:\n" -"(ÞÉÓÌÏ×ÏÅ ÚÎÁÞÅÎÉÅ, ÓÉÍ×ÏÌ)\n" -"\n" - -#: kbdtools/dumpkeys.c:292 -msgid "" -"\n" -"The following synonyms are recognized:\n" -"\n" -msgstr "" -"\n" -"òÁÓÐÏÚÎÁÀÔÓÑ ÓÌÅÄÕÀÝÉÅ ÓÉÎÏÎÉÍÙ:\n" -"\n" - -#: kbdtools/dumpkeys.c:296 -msgid "" -"\n" -"Recognized modifier names and their column numbers:\n" -msgstr "" -"\n" -"÷ÏÚÍÏÖÎÙÅ ÍÏÄÉÆÉËÁÔÏÒÙ É ÎÏÍÅÒÁ ÉÈ ËÏÌÏÎÏË:\n" - -#: kbdtools/dumpkeys.c:432 -msgid "impossible: not meta?\n" -msgstr "ÎÅ×ÏÚÍÏÖÎÏ: ÎÅ ÍÅÔÁ\n" - -#: kbdtools/dumpkeys.c:487 -#, c-format -msgid "KDGKBSENT at index %d: " -msgstr "" - -#: kbdtools/dumpkeys.c:510 -#, c-format -msgid "Usage: %s [options...]\n" -msgstr "÷ÙÚÏ×: %s [ËÌÀÞÉ...]\n" - -#: kbdtools/dumpkeys.c:512 -msgid "display information about keyboard driver" -msgstr "ÉÎÆÏÒÍÁÃÉÑ ÄÒÁÊ×ÅÒÁ ËÌÁ×ÉÁÔÕÒÙ" - -#: kbdtools/dumpkeys.c:513 -msgid "display above and symbols known to loadkeys" -msgstr "×ÙÛÅÕËÁÚÁÎÎÏÅ É ÓÉÍ×ÏÌÙ ÉÚ×ÅÓÔÎÙÅ loadkeys" - -#: kbdtools/dumpkeys.c:514 -msgid "display keytable in hexadecimal notation" -msgstr "ÔÁÂÌÉÃÁ × ÛÅÓÔÎÁÄÃÁÔÅÒÉÞÎÏÍ ×ÉÄÅ" - -#: kbdtools/dumpkeys.c:515 -msgid "don't use short-hand notations, one row per keycode" -msgstr "ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ËÒÁÔËÕÀ ÎÏÔÁÃÉÀ, ÓÔÒÏËÁ ÎÁ ËÏÄ" - -#: kbdtools/dumpkeys.c:516 -msgid "one line per (modifier,keycode) pair" -msgstr "ÓÔÒÏËÁ ÎÁ ÐÁÒÕ (ÍÏÄÉÆÉËÁÔÏÒÏ×, ËÏÄÏ×)" - -#: kbdtools/dumpkeys.c:517 -msgid "display only the function key strings" -msgstr "ÐÏËÁÚÁÔØ ÔÏÌØËÏ ÓÔÒÏËÉ ÆÕÎËÃÉÏÎÁÌØÎÙÈ ËÌÁ×ÉÛ" - -#: kbdtools/dumpkeys.c:518 -msgid "display only key bindings" -msgstr "ÐÏËÁÚÁÔØ ÔÏÌØËÏ ÓÏÏÔ×ÅÔÓÔ×ÉÑ ËÌÁ×ÉÛ" - -#: kbdtools/dumpkeys.c:519 -msgid "choose output shape, where <shape> is:" -msgstr "×ÙÂÅÒÉÔÅ ÆÏÒÍÕ ×Ù×ÏÄÁ, ÇÄÅ <ÆÏÒÍÁ> ÏÄÎÏ ÉÚ" - -#: kbdtools/dumpkeys.c:520 -msgid " 0 = default" -msgstr " 0 -- ÎÏÒÍÁÌØÎÙÊ" - -#: kbdtools/dumpkeys.c:521 -msgid " 1 = same as --full-table" -msgstr " 1 -- ËÁË Ó --full-table" - -#: kbdtools/dumpkeys.c:522 -msgid " 2 = same as --separate-lines" -msgstr " 2 -- ËÁË Ó --separate-lines" - -#: kbdtools/dumpkeys.c:523 -msgid " 3 = one line per keycode, until 1st hole" -msgstr " 3 -- ÓÔÒÏËÁ ÎÁ ÓÉÍ×ÏÌ, ÄÏ ÐÅÒ×ÏÊ ÌÁËÕÎÙ" - -#: kbdtools/dumpkeys.c:525 -msgid "display only compose key combinations" -msgstr "" - -#: kbdtools/dumpkeys.c:528 -msgid "interpret character action codes to be from the" -msgstr "ÐÒÅÄÐÏÌÖÉÔØ, ÞÔÏ ËÏÄÙ ÄÅÊÓÔ×ÉÊ ÐÒÉÎÁÄÌÅÖÁÔ" - -#: kbdtools/dumpkeys.c:529 -msgid "specified character set" -msgstr "Ë ÕËÁÚÁÎÎÙÍ ÚÎÁËÏÎÁÂÏÒÁÍ" - -#: kbdtools/dumpkeys.c:531 -msgid "display this help text and exit" -msgstr "ÏÔÏÂÒÁÚÉÔØ ÜÔÏÔ ÔÅËÓÔ É ×ÙÊÔÉ" - -#: kbdtools/dumpkeys.c:532 -msgid "display version information and exit" -msgstr "ÏÔÏÂÒÁÚÉÔØ ×ÅÒÓÉÀ É ×ÙÊÔÉ" - -#: kbdtools/dumpkeys.c:534 -msgid "" -"\n" -"available charsets:\n" -msgstr "" -"\n" -"ÄÏÓÔÕÐÎÙÅ ÚÎÁËÏÎÁÂÏÒÙ:\n" - -#: kbdtools/setleds.c:29 -#, c-format -msgid "" -"Usage:\t%1$s [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll ]]\n" -"Thus,\n" -"\t%1$s +caps -num\n" -"will set CapsLock, clear NumLock and leave ScrollLock unchanged.\n" -"The settings before and after the change (if any) are reported\n" -"when the -v option is given or when no change is requested.\n" -"Normally, %1$s influences the vt flag settings\n" -"(and these are usually reflected in the leds).\n" -"With -L, %1$s only sets the leds, and leaves the flags alone.\n" -"With -D, %1$s sets both the flags and the default flags, so\n" -"that a subsequent reset will not change the flags.\n" -msgstr "" -"÷ÙÚÏ×:\t%1$s [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll ]]\n" -"ðÒÉ ÜÔÏÍ\n" -"\t%1$s +caps -num\n" -"×ËÌÀÞÉÔ CapsLock, ×ÙËÌÀÞÉÔ NumLock, Á ScrollLock ÎÅ ÉÚÍÅÎÉÔ.\n" -"óÏÓÔÏÑÎÉÅ ÄÏ É ÐÏÓÌÅ ÉÚÍÅÎÅÎÉÑ ÓÏÏÂÝÁÅÔÓÑ ÐÒÉ ÕËÁÚÁÎÉÉ ËÌÀÞÁ\n" -"-v, ÌÉÂÏ ÅÓÌÉ ÉÚÍÅÎÅÎÉÅ ÓÏÓÔÏÑÎÉÑ ÎÅ ÚÁÐÒÁÛÉ×ÁÅÔÓÑ.\n" -"ïÂÙÞÎÏ %1$s ×ÌÉÑÅÔ ÎÁ ÓÏÓÔÏÑÎÉÅ ÆÌÁÇÁ vt\n" -"(ËÏÔÏÒÏÅ ÏÂÙÞÎÏ ÏÔÒÁÖÁÅÔÓÑ ÉÎÄÉËÁÔÏÒÁÍÉ).\n" -"ó -L %1$s ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÉÎÄÉËÁÔÏÒÙ, ÆÌÁÇÉ ÎÅ ÉÚÍÅÎÑÅÔ.\n" -"ó -D %1$s ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÆÌÁÇÉ É ÕÍÏÌÞÁÔÅÌØÎÙÅ ÆÌÁÇÉ, ÔÁË ÞÔÏ\n" -"ÐÏÓÌÅÄÕÀÝÉÊ ÓÂÒÏÓ ÆÌÁÇÉ ÎÅ ÉÚÍÅÎÉÔ.\n" - -#: kbdtools/setleds.c:103 -#, c-format -msgid "%s: unknown argument: %s\n" -msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ÁÒÇÕÍÅÎÔ: %s\n" - -#: kbdtools/setleds.c:117 -#, c-format -msgid "NumLock %s CapsLock %s ScrollLock %s\n" -msgstr "" - -#: kbdtools/setleds.c:143 -msgid "Error reading current led setting. Maybe stdin is not a VT?\n" -msgstr "ïÛÉÂËÁ ÞÔÅÎÉÑ ÓÏÓÔÏÑÎÉÑ ÉÎÄÉËÁÔÏÒÏ×. ÷ÏÚÍÏÖÎÏ stdin -- ÎÅ ÔÅÒÍÉÎÁÌ.\n" - -#: kbdtools/setleds.c:150 -msgid "Error reading current flags setting. Maybe an old kernel?\n" -msgstr "ïÛÉÂËÁ ÞÔÅÎÉÑ ÓÏÓÔÏÑÎÉÑ ÆÌÁÇÏ×. ÷ÏÚÍÏÖÎÏ, ÓÔÁÒÏÅ ÑÄÒÏ.\n" - -#: kbdtools/setleds.c:163 -msgid "Error resetting ledmode\n" -msgstr "ïÛÉÂËÁ ÓÂÒÏÓÁ ledmode\n" - -#: kbdtools/setleds.c:172 -msgid "Current default flags: " -msgstr "ôÅËÕÝÉÅ ÆÌÁÇÉ ÐÏ ÕÍÏÌÞÁÎÉÀ:" - -#: kbdtools/setleds.c:176 -msgid "Current flags: " -msgstr "ôÅËÕÝÉÅ ÆÌÁÇÉ: " - -#: kbdtools/setleds.c:180 -msgid "Current leds: " -msgstr "ôÅËÕÝÉÅ ÉÎÄÉËÁÔÏÒÙ: " - -#: kbdtools/setleds.c:192 -msgid "Old default flags: " -msgstr "óÔÁÒÙÅ ÆÌÁÇÉ ÐÏ ÕÍÏÌÞÁÎÉÀ: " - -#: kbdtools/setleds.c:194 -msgid "New default flags: " -msgstr "îÏ×ÙÅ ÆÌÁÇÉ ÐÏ ÕÍÏÌÞÁÎÉÀ: " - -#: kbdtools/setleds.c:201 -msgid "Old flags: " -msgstr "óÔÁÒÙÅ ÆÌÁÇÉ: " - -#: kbdtools/setleds.c:203 -msgid "New flags: " -msgstr "îÏ×ÙÅ ÆÌÁÇÉ: " - -#: kbdtools/setleds.c:216 -msgid "Old leds: " -msgstr "óÔÁÒÙÅ ÉÎÄÉËÁÔÏÒÙ: " - -#: kbdtools/setleds.c:218 -msgid "New leds: " -msgstr "îÏ×ÙÅ ÉÎÄÉËÁÔÏÒÙ: " - -#: lib/sfm-utils.c:35 -msgid "loadunimap: out of memory\n" -msgstr "loadunimap: ËÏÎÞÉÌÁÓØ ÐÁÍÑÔØ\n" - -#: lib/wrappers.c:15 -msgid "Out of Memory\n" -msgstr "ëÏÎÞÉÌÁÓØ ÐÁÍÑÔØ?\n" - -#: lib/wrappers.c:26 -msgid "Out of Memory?\n" -msgstr "ëÏÎÞÉÌÁÓØ ÐÁÍÑÔØ?\n" - -#: lib/sfm-rd-ascii.c:31 -msgid "Warning: line too long in unicode map.\n" -msgstr "÷ÎÉÍÁÎÉÅ: ÓÌÉÛËÏÍ ÄÌÉÎÎÁÑ ÓÔÒÏËÁ × ÀÎÉËÏÄ-ËÁÒÔÅ.\n" - -#: lib/sfm-rd-ascii.c:54 lib/sfm-rd-ascii.c:68 -#, c-format -msgid "Bad input line: %s\n" -msgstr "îÅ×ÅÒÎÙÊ ××ÏÄ: %s\n" - -#: lib/sfm-rd-ascii.c:80 -#, c-format -msgid "unicode map: glyph number (0x%x) larger than font length\n" -msgstr "ÀÎÉËÏÄ-ËÁÒÔÁ: ÎÏÍÅÒ ÂÕË×Ù (0x%x) ÂÏÌØÛÅ ÄÌÉÎÙ ÛÒÉÆÔÁ\n" - -#: lib/sfm-rd-ascii.c:88 -#, c-format -msgid "unicode map: bad end of range (0x%x)\n" -msgstr "ÀÎÉËÏÄ-ËÁÒÔÁ: ÎÅ×ÅÒÎÙÊ ËÏÎÅà ÉÎÔÅÒ×ÁÌÁ (0x%x)\n" - -#: lib/sfm-rd-ascii.c:113 -msgid "" -"unicode map: Corresponding to a range of font positions, there should be a " -"Unicode range\n" -msgstr "" -"ÀÎÉËÏÄ-ËÁÒÔÁ: äÉÐÁÚÏÎÕ ÚÎÁËÏÍÅÓÔ ÄÏÌÖÅÎ ÓÏÏÔ×ÅÔÓÔ×Ï×ÁÔØ ÄÉÁÐÁÚÏÎ ÀÎÉËÏÄ\n" - -#: lib/sfm-rd-ascii.c:123 -#, c-format -msgid "" -"unicode map: Bad Unicode range corresponding to font position range " -"0x%x-0x%x\n" -msgstr "" -"ÀÎÉËÏÄ-ËÁÒÔÁ: ÎÅ×ÅÒÎÙÊ ÄÉÁÐÁÚÏÎ ÀÎÉËÏÄ ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÄÉÁÐÁÚÏÎÕ × ÛÒÉÆÔÅ " -"0x%x-0x%x\n" - -#: lib/sfm-rd-ascii.c:131 -#, fuzzy, c-format -msgid "" -"unicode map: Unicode range U+%x-U+%x not of the same length as font position " -"range 0x%x-0x%x\n" -msgstr "" -"ÀÎÉËÏÄ-ËÁÒÔÁ: ÄÉÁÐÁÚÏÎ ÀÎÉËÏÄ U+%x-U+%x ÎÅ ÒÁ×ÅÎ ÄÉÁÐÁÚÏÎÕ × ÛÒÉÆÔÅ " -"0x%x-0x%x\n" - -#: lib/sfm-rd-ascii.c:151 -#, c-format -msgid "unicode map: trailing junk (%s) ignored\n" -msgstr "ÀÎÉËÏÄ-ËÁÒÔÁ: ÍÕÓÏÒ × ËÏÎÃÅ (%s) ÐÒÏÐÕÝÅÎ\n" - -#: lib/saveunimap.c:24 -#, c-format -msgid "Would save %d SFM entries in `%s'.\n" -msgstr "" - -#: lib/misc-console-utils.c:89 -msgid "Couldnt get a file descriptor referring to the console\n" -msgstr "äÅÓËÒÉÐÔÏÒ ËÏÎÓÏÌÉ ÎÅÄÏÓÔÕÐÅÎ\n" - -#: lib/psf-header.c:26 -#, c-format -msgid "Unknown PSF mode number (%d).\n" -msgstr "îÅÉÚ×ÅÓÔÎÙÊ ÒÅÖÉÍ PSF (%d).\n" - -#: lib/ksyms.c:971 -#, c-format -msgid "Error: unknown charset `%s'.\n" -msgstr "ïÛÉÂËÁ -- ÎÅÉÚ×ÅÓÔÎÙÊ ÚÎÁËÏÎÁÂÏÒ \"%s\"\n" - -#: lib/ksyms.c:1010 -#, c-format -msgid "assuming iso-8859-2 %s\n" -msgstr "ÐÒÅÄÐÏÌÁÇÁÅÔÓÑ iso-8859-2 %s\n" - -#: lib/ksyms.c:1017 -#, c-format -msgid "assuming iso-8859-3 %s\n" -msgstr "ÐÒÅÄÐÏÌÁÇÁÅÔÓÑ iso-8859-3 %s\n" - -#: lib/ksyms.c:1024 -#, c-format -msgid "assuming iso-8859-4 %s\n" -msgstr "ÐÒÅÄÐÏÌÁÇÁÅÔÓÑ iso-8859-4 %s\n" - -#: lib/ksyms.c:1028 -#, c-format -msgid "unknown keysym `%s'\n" -msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ ËÌÁ×ÉÛÁ \"%s\"\n" - -#: lib/findfile.c:64 -#, c-format -msgid "%s: %s child exited anormally with code %d.\n" -msgstr "%s: %s ÐÏÒÏÖÄÅÎÎÙÊ ÐÒÏÃÅÓÓ ×ÅÒÎÕÌ ÏÛÉÂËÕ %d.\n" - -#: lib/findfile.c:67 -#, c-format -msgid "%s: %s child was terminated by signal %d.\n" -msgstr "%s: %s ÐÏÒÏÖÄÅÎÎÙÊ ÐÒÏÃÅÓÓ ÕÂÉÔ ÓÉÇÎÁÌÏÍ %d.\n" - -#: lib/findfile.c:70 -#, c-format -msgid "%s: %s child was stopped by signal %d.\n" -msgstr "%s: %s ÐÏÒÏÖÄÅÎÎÙÊ ÐÒÏÃÅÓÓ ÏÓÔÁÎÏ×ÌÅÎ ÓÉÇÎÁÌÏÍ %d.\n" - -#: lib/findfile.c:85 -msgid "Feeder" -msgstr "æÉÄÅÒ" - -#: lib/findfile.c:90 -msgid "Decompressor" -msgstr "äÅËÏÍÐÒÅÓÓÏÒ" - -#: lib/findfile.c:95 -msgid "Identifier" -msgstr "éÄÅÎÔÉÆÉËÁÔÏÒ" - -#: lib/findfile.c:122 -msgid "chld_handler()" -msgstr "" - -#: lib/findfile.c:128 -#, c-format -msgid "%s child exited OK.\n" -msgstr "%s ÐÏÒÏÖÄÅÎÎÙÊ ÐÒÏÃÅÓÓ ÚÁ×ÅÒÛÉÌÓÑ ÎÏÒÍÁÌØÎÏ.\n" - -#: lib/findfile.c:172 -msgid "fread magic" -msgstr "" - -#: lib/findfile.c:232 -msgid "decompressor fork" -msgstr "" - -#: lib/findfile.c:238 -msgid "decompressor: close file[1]" -msgstr "" - -#: lib/findfile.c:243 -msgid "decompressor: close uncompressed[0]" -msgstr "" - -#: lib/findfile.c:252 -msgid "decompressor: dup2 file[0]" -msgstr "" - -#: lib/findfile.c:259 -msgid "decompressor: dup2 uncompressed[1]" -msgstr "" - -#: lib/findfile.c:268 -#, c-format -msgid "Decompressor program not found: %s\n" -msgstr "áÒÈÉ×ÁÔÏÒ ÎÅ ÎÁÊÄÅÎ: %s\n" - -#: lib/findfile.c:271 -msgid "decompressor: execlp" -msgstr "ÁÒÈÉ×ÁÔÏÒ: execlp" - -#: lib/findfile.c:287 -msgid "feeder fork" -msgstr "" - -#: lib/findfile.c:294 -msgid "feeder: close uncompressed[0]" -msgstr "" - -#: lib/findfile.c:302 -msgid "feeder: write zmagicbuf" -msgstr "" - -#: lib/findfile.c:308 -msgid "feeder: feed" -msgstr "" - -#: lib/findfile.c:340 -msgid "fread" -msgstr "" - -#: lib/findfile.c:377 -msgid "identifier fork" -msgstr "" - -#: lib/findfile.c:382 -msgid "identifier: close identified[0]" -msgstr "" - -#: lib/findfile.c:389 -msgid "identifier: write magicIDbuf" -msgstr "" - -#: lib/findfile.c:395 -msgid "identifier: feed" -msgstr "" - -#: lib/findfile.c:439 -#, c-format -msgid "Zombie %d caught.\n" -msgstr "úÁÍÅÞÅÎ ÚÏÍÂÉ %d.\n" - -#: lib/findfile.c:450 -msgid "One for nothing.\n" -msgstr "åÄÉÎÉÃÁ ÅÓÌÉ ÐÕÓÔÏ.\n" - -#: lib/findfile.c:562 -msgid "Warning: ignoring a possible path (too long)." -msgstr "÷ÎÉÍÁÎÉÅ: ×ÏÚÍÏÖÎÏ, ÉÇÎÏÒÉÒÕÅÔÓÑ ÓÌÉÛËÏÍ ÄÌÉÎÎÙÊ ÐÕÔØ." - -#: lib/findfile.c:668 -msgid "feeder" -msgstr "ÆÉÄÅÒ" - -#: lib/findfile.c:669 -msgid "decompressor" -msgstr "ÒÁÓÐÁËÏ×ÝÉË" - -#: lib/findfile.c:670 -msgid "identifier" -msgstr "ÉÄÅÎÔÉÆÉËÁÔÏÒ" - -#: lib/findfile.c:676 -msgid "findfile(): timeout waiting for undead child(ren) ?\n" -msgstr "findfile(): ÎÅ ÄÏÖÄÁÌÉÓØ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ?\n" - -#: lib/findfile.c:711 -msgid "Buffer overflow - aborting\n" -msgstr "ðÅÒÅÐÏÌÎÅÎÉÅ ÂÕÆÅÒÁ -- ÏÔÍÅÎÁ\n" - -#: lib/acm.c:35 -msgid "Cannot stat map file" -msgstr "îÅ ÎÁÊÔÉ ÆÁÊÌ ÔÁÂÌÉÃÙ" - -#: lib/acm.c:47 -msgid "16bit screen-map MUST be a regular file.\n" -msgstr "16-ÂÉÔÎÁÑ ÔÁÂÌÉÃÁ ÄÏÌÖÎÁ ÂÙÔØ ÏÂÙÎÙÍ ÆÁÊÌÏÍ.\n" - -#: lib/acm.c:49 -msgid "fseek failed reading binary 16bit screen-map" -msgstr "fseek ×ÅÒÎÕÌ ÏÛÉÂËÕ ÞÔÅÎÉÑ Ä×ÏÉÞÎÏÊ 16-ÂÉÔÎÏÊ ÔÁÂÌÉÃÙ" - -#: lib/acm.c:53 -msgid "Cannot read [new] map from file" -msgstr "îÅ ÓÞÉÔÁÔØ [ÎÏ×ÕÀ] ÔÁÂÌÉÃÕ ÉÚ ÆÁÊÌÁ" - -#: lib/acm.c:56 -msgid "Input screen-map is binary.\n" -msgstr "÷ÈÏÄÎÁÑ ÔÁÂÌÉÃÁ -- Ä×ÏÉÞÎÁÑ.\n" - -#: lib/acm.c:65 -msgid "PIO_UNISCRNMAP ioctl" -msgstr "" - -#: lib/acm.c:75 -msgid "Assuming 8bit screen-map - MUST be a regular file.\n" -msgstr "ðÏÌÁÇÁÅÔÓÑ 8-ÂÉÔÎÏÊ ÔÁÂÌÉÃÅÊ, ÄÏÌÖÎÁ ÂÙÔØ ÏÂÙÞÎÙÍ ÆÁÊÌÏÍ.\n" - -#: lib/acm.c:77 -msgid "fseek failed assuming 8bit screen-map" -msgstr "fseek ×ÅÒÎÕÌ ÏÛÉÂËÕ, ÐÒÅÄÐÏÌÏÖÉ× 8-ÂÉÔÎÕÀ ÔÁÂÌÉÃÕ" - -#. should not - it succedeed above -#: lib/acm.c:91 -msgid "fseek() returned ESPIPE !\n" -msgstr "fseek() ×ÅÒÎÕÌ ESPIPE !\n" - -#: lib/acm.c:93 -msgid "fseek for binary 8bit screen-map" -msgstr "fseek ÄÌÑ ÂÉÎÁÒÎÏÊ 8-ÂÉÔÎÏÊ ÔÁÂÌÉÃÙ" - -#: lib/acm.c:97 -msgid "Cannot read [old] map from file" -msgstr "ïÛÉÂËÁ ÞÔÅÎÉÑ [ÓÔÁÒÏÊ] ÔÁÂÌÉÃÙ ÉÚ ÆÁÊÌÁ" - -#: lib/acm.c:105 -msgid "PIO_SCRNMAP ioctl" -msgstr "PIO_SCRNMAP ioctl" - -#: lib/acm.c:111 -msgid "Error parsing symbolic map\n" -msgstr "ïÛÉÂËÁ ÒÁÚÂÏÒÁ ÔÁÂÌÉÃÙ ÓÉÍ×ÏÌÏ×\n" - -#: lib/acm.c:158 -msgid "uni_screen_map_read_ascii() can't read line" -msgstr "ÓÔÒÏËÁ ÎÅ ÐÒÏÞÔÅÎÁ × uni_screen_map_read_ascii()" - -#: lib/acm.c:306 -msgid "GIO_UNISCRNMAP ioctl error" -msgstr "ÏÛÉÂËÁ ioctl GIO_UNISCRNMAP" - -#: lib/acm.c:310 -msgid "GIO_SCRNMAP ioctl error" -msgstr "ÏÛÉÂËÁ ioctl GIO_SCRNMAP" - -#: lib/acm.c:331 lib/acm.c:339 -msgid "Error writing map to file" -msgstr "ïÛÉÂËÁ ÐÒÉ ÚÁÐÉÓÉ ÔÁÂÌÉÃÙ × ÆÁÊÌ" - -#: lib/miscutils.c:56 -#, c-format -msgid "%s: Unexpected arguments.\n" -msgstr "%s: áÒÇÕÍÅÎÔÙ ÎÅ ÏÖÉÄÁÌÉÓØ.\n" - -#: screenfonttools/consolechars.c:48 -#, c-format -msgid "Usage: %s [options] [commands]\n" -msgstr "÷ÙÚÏ×: %s [ËÌÀÞÉ] [ËÏÍÁÎÄÙ]\n" - -#: screenfonttools/consolechars.c:50 -msgid "List operations as they are done" -msgstr "îÁÚÙ×ÁÔØ ÏÐÅÒÁÃÉÉ ÐÏ ÍÅÒÅ ×ÙÐÏÌÎÅÎÉÑ" - -#: screenfonttools/consolechars.c:51 -msgid "Do not change the console state nor write to any file" -msgstr "îÅ ÍÅÎÑÔØ ÓÏÓÔÏÑÎÉÅ ËÏÎÓÏÌÉ É ÎÉÞÅÇÏ ÎÉËÕÄÁ ÎÅ ÐÉÓÁÔØ" - -#: screenfonttools/consolechars.c:52 -msgid "" -"(N in 0..32) Choose the right font from a codepage that\n" -"contains three fonts (only 8/14/16 allowed then), or choose\n" -"default font, ie. \"default8xN\"" -msgstr "" -"(N × ÒÁÎÇÅ 0..32) ÷ÙÂÅÒÉÔÅ ÐÏÄÈÏÄÑÝÉÊ ÛÒÉÆÔ ÉÚ ËÏÄÏ×ÏÊ ÓÔÒÁÎÉÃÙ,\n" -"ÓÏÄÅÒÖÁÝÅÊ ÔÒÉ ÛÒÉÆÔÁ (× ÜÔÏÍ ÓÌÕÞÁÅ ÔÏÌØËÏ 8/14/16), ÌÉÂÏ ×ÙÂÅÒÉÔÅ\n" -"ÕÍÏÌÞÁÔÅÌØÎÙÊ ÛÒÉÆÔ, ÎÁÐÒ. \"default8xN\"" - -#: screenfonttools/consolechars.c:55 -msgid "Suppress loading of a screen-font map [use with care]" -msgstr "îÅ ÚÁÇÒÕÖÁÔØ ÔÁÂÌÉÃÕ ÐÅÒÅËÏÄÉÒÏ×ËÉ (ÏÓÔÏÒÏÖÎÅÅ Ó ÜÔÉÍ)" - -#: screenfonttools/consolechars.c:56 -msgid "When loading an ACM, activate G1 charset instead of G0" -msgstr "ðÒÉ ÚÁÇÒÕÚËÅ ACM ÉÓÐÏÌØÚÏ×ÁÔØ ÚÎÁËÏÎÁÂÏÒ G1 ×ÍÅÓÔÏ G0" - -#: screenfonttools/consolechars.c:57 -msgid "Use `device' as console device for ioctls" -msgstr "éÓÐÏÌØÚÏ×ÁÔØ \"device\" × ËÁÞÅÓÔ×Å ËÏÎÓÏÌÉ ÄÌÑ IOCTL-Ï×" - -#: screenfonttools/consolechars.c:59 -msgid "Load the console-font from specified file" -msgstr "úÁÇÒÕÚÉÔØ ËÏÎÓÏÌØÎÙÊ ÛÒÉÆÔ ÉÚ ÕËÁÚÁÎÎÏÇÏ ÆÁÊÌÁ" - -#: screenfonttools/consolechars.c:60 -msgid "Load a default font from a file" -msgstr "úÁÇÒÕÚÉÔØ ÕÍÏÌÞÁÔÅÌØÎÙÊ ÛÒÉÆÔ ÉÚ ÆÁÊÌÁ" - -#: screenfonttools/consolechars.c:61 -msgid "Restore ROM font (does not work with all kernels)" -msgstr "÷ÏÓÓÔÁÎÏ×ÉÔØ ÛÒÉÆÔ ðúõ (ÒÁÂÏÔÁÅÔ ÎÅ ÓÏ ×ÓÅÍÉ ÑÄÒÁÍÉ)" - -#: screenfonttools/consolechars.c:63 -msgid "" -"Load the SFM from specified file\n" -"(instead of the one in font-file, if any)" -msgstr "" -"úÁÇÒÕÚÉÔØ SFM ÉÚ ÕËÁÚÁÎÎÏÇÏ ÆÁÊÌÁ\n" -"ÉÇÎÏÒÉÒÕÑ ÔÁËÏ×ÏÊ × ÆÁÊÌÅ ÛÒÉÆÔÁ" - -#: screenfonttools/consolechars.c:65 -msgid "Merge SFM fallbacks from file into SFM" -msgstr "äÏÂÁ×ÉÔØ ÐÒÉÂÌÉÖÅÎÉÑ SFM ÉÚ ÆÁÊÌÁ × SFM" - -#: screenfonttools/consolechars.c:66 -msgid "Load the ACM from specified file" -msgstr "úÁÇÒÕÚÉÔØ ACM ÉÚ ÕËÁÚÁÎÎÏÇÏ ÆÁÊÌÁ" - -#: screenfonttools/consolechars.c:67 -msgid "Write current font to prefered format (now: psf-with-sfm)" -msgstr "" -"úÁÐÉÓÁÔØ ÔÅËÕÝÉÊ ÆÏÎÔ × ÐÒÅÄÐÏÞÉÔÁÅÍÏÍ ÆÏÒÍÁÔÅ (× ÄÅÊÓÔ×ÉÉ: psf-with-sfm)" - -#: screenfonttools/consolechars.c:68 -msgid "Write current font to PSF file before loading a new one" -msgstr "úÁÐÉÓÁÔØ ÔÅËÕÝÉÊ ÛÒÉÆÔ × PSF-ÆÁÊÌ ÐÅÒÅÄ ÚÁÇÒÕÚËÏÊ ÎÏ×ÏÇÏ" - -#: screenfonttools/consolechars.c:70 -msgid "Same as -old-font-psf, and add current SFM in the PSF file" -msgstr "ôÏ ÖÅ, ÞÔÏ É -old-font-psf, É ÄÏÂÁ×ÉÔØ ÔÅËÕÝÉÊ SFM × PSF-ÆÁÊÌ" - -#: screenfonttools/consolechars.c:71 -msgid "Write current font to RAW file before loading a new one" -msgstr "úÁÐÉÓÁÔØ ÔÅËÕÝÉÊ ÛÒÉÆÔ × RAW-ÆÁÊÌ ÐÅÒÅÄ ÚÁÇÒÕÚËÏÊ ÎÏ×ÏÇÏ" - -#: screenfonttools/consolechars.c:72 -msgid "Write current ACM to file before loading a new one" -msgstr "úÁÐÉÓÁÔØ ÔÅËÕÝÉÊ ACM × ÆÁÊÌ ÐÅÒÅÄ ÚÁÇÒÕÚËÏÊ ÎÏ×ÏÇÏ" - -#: screenfonttools/consolechars.c:73 -msgid "Write current SFM to file before loading a new one" -msgstr "úÁÐÉÓÁÔØ ÔÅËÕÝÉÊ SFM × ÆÁÊÌ ÐÅÒÅÄ ÚÁÇÒÕÚËÏÊ ÎÏ×ÏÇÏ" - -#: screenfonttools/consolechars.c:84 -msgid "too many `-' as filenames" -msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÄÅÆÉÓÏ× × ËÁÞÅÓÔ×Å ÉÍÅÎ ÆÁÊÌÏ×" - -#: screenfonttools/consolechars.c:196 -msgid "--char-height argument should be in 1..31" -msgstr "ÐÁÒÁÍÅÔÒ --char-height ÄÏÌÖÅÎ ÂÙÔØ ÍÅÖÄÕ 1 É 31" - -#: screenfonttools/consolechars.c:201 screenfonttools/consolechars.c:208 -#: screenfonttools/consolechars.c:214 -msgid "only one font file is allowed" -msgstr "ÄÏÐÕÓËÁÅÔÓÑ ÔÏÌØËÏ ÏÄÉÎ ÆÁÊÌ ÛÒÉÆÔÁ" - -#: screenfonttools/consolechars.c:220 -msgid "only one ACM is allowed" -msgstr "ÄÏÐÕÓËÁÅÔÓÑ ÔÏÌØËÏ ÏÄÉÎ ACM" - -#: screenfonttools/consolechars.c:227 -msgid "only one SFM is allowed" -msgstr "ÄÏÐÕÓËÁÅÔÓÑ ÔÏÌØËÏ ÏÄÉÎ SFM" - -#: screenfonttools/consolechars.c:229 -msgid "multiple requests for SFM handling" -msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÙÅ ÚÁÐÒÏÓÙ ËÏÎÔÒÏÌÑ SFM" - -#: screenfonttools/consolechars.c:236 -msgid "WARNING: not using a unimap may lead to erroneous display !\n" -msgstr "" -"÷îéíáîéå: ÎÅÉÓÐÏÌØÚÏ×ÁÎÉÅ ÀÎÉÍÁÐÁ ÍÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë ÎÅ×ÅÒÎÏÍÕ ÏÔÏÂÒÁÖÅÎÉÀ.\n" - -#: screenfonttools/consolechars.c:246 -msgid "realloc fallback_files" -msgstr "" - -#: screenfonttools/consolechars.c:255 -msgid "only one output RAW font-file is allowed" -msgstr "ÒÁÚÒÁÛÅÎ ÌÉÛØ ÏÄÉÎ RAW ÆÁÊÌ" - -#: screenfonttools/consolechars.c:262 -msgid "only one output PSF font-file is allowed" -msgstr "ÒÁÚÒÁÛÅÎ ÌÉÛØ ÏÄÉÎ PSF ÆÁÊÌ" - -#: screenfonttools/consolechars.c:269 -msgid "only one output PSF+SFM font-file is allowed" -msgstr "ÒÁÚÒÁÛÅÎ ÌÉÛØ ÏÄÉÎ PSF+SFM ÆÁÊÌ" - -#: screenfonttools/consolechars.c:276 -msgid "only one output ACM file is allowed" -msgstr "ÒÁÚÒÁÛÅÎ ÌÉÛØ ÏÄÉÎ ACM ÆÁÊÌ" - -#: screenfonttools/consolechars.c:283 -msgid "only one output SFM file is allowed" -msgstr "ÒÁÚÒÁÛÅÎ ÌÉÛØ ÏÄÉÎ SFM ÆÁÊÌ" - -#: screenfonttools/consolechars.c:294 -msgid "unknown option" -msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ËÌÀÞ" - -#: screenfonttools/consolechars.c:299 -msgid "no non-option arguments are valid" -msgstr "ÎÅËÌÀÞÅ×ÏÊ ÁÒÇÕÍÅÎÔ ÎÅ×ÅÒÅÎ" - -#: screenfonttools/consolechars.c:302 -msgid "nothing to do" -msgstr "ÎÅÞÅÇÏ ÄÅÌÁÔØ" - -#: screenfonttools/consolechars.c:316 -msgid "Saving raw old font" -msgstr "óÏÈÒÁÎÑÅÔÓÑ ÔÅËÕÝÉÊ ÛÒÉÆÔ" - -#: screenfonttools/consolechars.c:320 -msgid "Saving PSF old font" -msgstr "óÏÈÒÁÎÑÅÔÓÑ ÔÅËÕÝÉÊ ÛÒÉÆÔ × PSF" - -#: screenfonttools/consolechars.c:324 -msgid "Saving PSF+unimap old font" -msgstr "óÏÈÒÁÎÑÅÔÓÑ ÔÅËÕÝÉÊ ÛÒÉÆÔ × PSF+unimap" - -#: screenfonttools/consolechars.c:329 -#, c-format -msgid "Would save ACM to file `%s'.\n" -msgstr "ACM ÂÕÄÅÔ ÓÏÈÒÁÎÅÎ × ÆÁÊÌÅ %s.\n" - -#: screenfonttools/consolechars.c:332 -#, c-format -msgid "Saving ACM to file `%s'.\n" -msgstr "ACM ÓÏÈÒÁÎÑÅÔÓÑ × ÆÁÊÌÅ %s.\n" - -#: screenfonttools/consolechars.c:354 -#, c-format -msgid "Would load ACM from `%s'\n" -msgstr "úÁÇÒÕÚÉÔÓÑ ACM ÉÚ %s\n" - -#: screenfonttools/consolechars.c:357 -#, c-format -msgid "Loading ACM from `%s'\n" -msgstr "úÁÇÒÕÖÁÅÔÓÑ ACM ÉÚ %s\n" - -#: screenfonttools/consolechars.c:360 -msgid "Error reading ACM file.\n" -msgstr "ïÛÉÂËÁ ÞÔÅÎÉÑ ACM ÆÁÊÌÁ.\n" - -#: screenfonttools/consolechars.c:386 -#, c-format -msgid "Would read screen-font map from %s.\n" -msgstr "úÁÇÒÕÚÉÔÓÑ SFM ÉÚ %s.\n" - -#: screenfonttools/consolechars.c:388 -#, c-format -msgid "Reading screen-font map from %s.\n" -msgstr "úÁÇÒÕÖÁÅÔÓÑ ÔÁÂÌÉÃÁ ÐÅÒÅËÏÄÉÒÏ×ËÉ ÉÚ %s\n" - -#: screenfonttools/consolechars.c:402 -msgid "Requesting SFM from kernel.\n" -msgstr "úÁÐÒÏÓ SFM × ÑÄÒÏ.\n" - -#: screenfonttools/consolechars.c:406 -msgid "No valid SFM currently loaded. Aborting.\n" -msgstr "SFM ÎÅ ÂÙÌ ÚÁÇÒÕÖÅÎ. á×ÏÓÔ.\n" - -#: screenfonttools/consolechars.c:440 -#, c-format -msgid "Reading SFM fallbacks from `%s'.\n" -msgstr "þÉÔÁÀÔÓÑ SFM-ÐÒÉÂÌÉÖÅÎÉÑ ÉÚ %s.\n" - -#: screenfonttools/consolechars.c:448 -#, c-format -msgid "Read %u fallback entries.\n" -msgstr "óÞÉÔÁÎÏ %u ÐÒÉÂÌÉÖÅÎÉÊ.\n" - -#: screenfonttools/consolechars.c:473 -msgid "WARNING: No SFM found in file or kernel ? Ignoring fallback file.\n" -msgstr "" -"÷îéíáîéå: SFM ÎÅ ÎÁÊÄÅÎ ÎÉ × ÆÁÊÌÅ, ÎÉ × ÑÄÒÅ. ðÒÉÂÌÉÖÅÎÉÑ ÉÇÎÏÒÉÒÕÀÔÓÑ.\n" - -#: screenfonttools/consolechars.c:480 -msgid "Would set kernel SFM.\n" -msgstr "õÓÔÁÎÏ×ÉÔÓÑ SFM ÑÄÒÁ.\n" - -#: screenfonttools/consolechars.c:483 -msgid "Setting kernel SFM.\n" -msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ SFM ÑÄÒÁ.\n" - -#: screenfonttools/consolechars.c:528 -msgid "Cannot find a default font file.\n" -msgstr "îÅ ÎÁÊÔÉ ÕÍÏÌÞÁÔÅÌØÎÙÊ ÛÒÉÆÔ.\n" - -#: screenfonttools/consolechars.c:537 -#, c-format -msgid "Cannot find default font file `default8x%02d'.\n" -msgstr "îÅ ÎÁÊÔÉ ÕÍÏÌÞÁÔÅÌØÎÙÊ ÛÒÉÆÔ default8x%02d'.\n" - -#: screenfonttools/consolechars.c:547 -#, c-format -msgid "Cannot open font file `%s'.\n" -msgstr "îÅ ÏÔËÒÙÔØ ÆÁÊÌ ÛÒÉÆÔÁ %s.\n" - -#: screenfonttools/consolechars.c:584 -msgid "Only fontsize 256 supported.\n" -msgstr "ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÌÉÛØ ÒÁÚÍÅÒ ÛÒÉÆÔÁ 256.\n" - -#: screenfonttools/consolechars.c:595 -#, c-format -msgid "Would load %d-chars %dx%d font from file `%s'.\n" -msgstr "úÁÇÒÕÚÉÔÓÑ %d-ÌÉÎÅÊÎÙÊ ÛÒÉÆÔ %dx%d ÉÚ ÆÁÊÌÁ %s.\n" - -#: screenfonttools/consolechars.c:602 -#, c-format -msgid "Loading %d-chars %dx%d font from file `%s'.\n" -msgstr "úÁÇÒÕÖÁÅÔÓÑ %d-ÌÉÎÅÊÎÙÊ ÛÒÉÆÔ %dx%d ÉÚ ÆÁÊÌÁ %s.\n" - -#: screenfonttools/consolechars.c:628 -#, c-format -msgid "Reading default SFM from `%s'.\n" -msgstr "þÉÔÁÅÔÓÑ ÕÍÏÌÞÁÔÅÌØÎÙÊ SFM ÉÚ %s.\n" - -#: screenfonttools/consolechars.c:649 -msgid "Cannot write SFM into non-PSF font-file.\n" -msgstr "îÅ ÚÁÐÉÓÁÔØ SFM × ÎÅ-SFM ÆÁÊÌ ÛÒÉÆÔÁ.\n" - -#: screenfonttools/consolechars.c:660 -#, c-format -msgid "Can only save 8bit-wide fonts for now, and font is %d-bit wide.\n" -msgstr "" -"ðÏËÁ ÍÏÖÎÏ ÓÏÈÒÁÎÑÔØ ÌÉÛØ ÛÒÉÆÔÙ ÛÉÒÉÎÏÊ × 8 ÂÉÔ, Á ÜÔÏÔ -- %d-ÂÉÔÎÙÊ.\n" - -#: screenfonttools/consolechars.c:670 -#, c-format -msgid "Can only save 256-chars fonts in RAW files, and font has %d chars.\n" -msgstr "" -"ðÏËÁ ÍÏÖÎÏ ÓÏÈÒÁÎÑÔØ ÌÉÛØ ÛÒÉÆÔÙ × 256 ÓÉÍ×ÌÏ× × RAW-ÆÁÊÌÙ, Á × ÜÔÏÍ %d " -"ÓÉÍ×ÏÌÏ×.\n" - -#: screenfonttools/consolechars.c:677 -msgid "Found nothing to save.\n" -msgstr "îÅÞÅÇÏ ÓÏÈÒÁÎÑÔØ.\n" - -#: screenfonttools/consolechars.c:708 -#, c-format -msgid "Would have saved 8x%d %s font file on `%s'%s.\n" -msgstr "óÏÈÒÁÎÉÔÓÑ 8x%d-ÓÉÍ×ÏÌØÎÙÊ ÛÒÉÆÔ × `%s'%s.\n" - -#: screenfonttools/consolechars.c:709 -#, c-format -msgid "Saved 8x%d %s font file on `%s'%s.\n" -msgstr "óÏÈÒÁÎÉÌÓÑ 8x%d-ÓÉÍ×ÏÌØÎÙÊ ÛÒÉÆÔ × `%s'%s.\n" - -#: screenfonttools/consolechars.c:713 -msgid ", with SFM" -msgstr ", Ó SFM" - -#: screenfonttools/consolechars.c:713 -msgid ", without SFM" -msgstr ", ÂÅÚ SFM" - -#: screenfonttools/showcfont.c:15 -#, c-format -msgid "" -"Usage: %s\n" -"Displays a screen-font's contents.\n" -msgstr "" -"÷ÙÚÏ×: %s\n" -"ïÔÏÂÒÁÖÁÅÔ ÜËÒÁÎÎÙÊ ÆÏÎÔ.\n" - -#: screenfonttools/clrunimap.c:19 -#, c-format -msgid "" -"Usage: %s\n" -"Clears the Unicode map from the console.\n" -"Note: nowadays this kills kernel console output!\n" -msgstr "" -"÷ÙÚÏ×: %s\n" -"õÄÁÌÉÔØ ÀÎÉËÏÄ-ËÁÒÔÕ ÉÚ ËÏÎÓÏÌÉ.\n" -"õÞÔÉÔÅ, ÞÔÏ ÜÔÏ ÐÏÄÁ×ÌÑÅÔ ×Ù×ÏÄ ÑÄÒÁ ÎÁ ËÏÎÓÏÌØ.\n" - -#: vttools/screendump.c:31 -#, c-format -msgid "" -"Usage: %s [console]\n" -"Dump the contents of the screen to stdout\n" -msgstr "" -"÷ÙÚÏ×: %s [console]\n" -"óÂÒÏÓÉÔØ ÓÏÄÅÒÖÉÍÏÅ ÜËÒÁÎÁ ÎÁ stdout\n" - -#: vttools/screendump.c:34 -msgid "dump contents of screen s" -msgstr "ÓÂÒÏÓÉÔØ ÓÏÄÅÒÖÉÍÏÅ ÜËÒÁÎÁ s" - -#: vttools/chvt.c:59 vttools/screendump.c:72 vttools/setvesablank.c:81 -#, c-format -msgid "%s: Wrong number of args\n" -msgstr "%s: îÅ×ÅÒÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÐÁÒÁÍÅÔÒÏ×\n" - -#: vttools/screendump.c:112 -msgid "Out of memory\n" -msgstr "ëÏÎÞÉÌÁÓØ ÐÁÍÑÔØ\n" - -#: vttools/screendump.c:117 -#, c-format -msgid "Error reading %s\n" -msgstr "ïÛÉÂËÁ ÞÔÅÎÉÑ %s\n" - -#: vttools/screendump.c:141 -msgid "Could not use /dev/vcs*, trying TIOCLINUX\n" -msgstr "îÅ ÕÄÁÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ /dev/vcs*, ÐÒÏÂÕÅÍ TIOCLINUX\n" - -#: vttools/screendump.c:158 -msgid "Out of memory.\n" -msgstr "ëÏÎÞÉÌÁÓØ ÐÁÍÑÔØ.\n" - -#: vttools/screendump.c:169 -#, c-format -msgid "couldn't read %s, and cannot ioctl dump\n" -msgstr "%s ÎÅ ÞÉÔÁÅÔÓÑ, É IOCTL ÎÁ ÄÁÍÐ ÎÅ ÒÁÂÏÔÁÅÔ\n" - -#: vttools/screendump.c:178 -#, c-format -msgid "Strange ... screen is both %dx%d and %dx%d ??\n" -msgstr "üËÒÁÎ ÏÄÎÏ×ÒÅÍÅÎÎÏ %dx%d É %dx%d ? îÅÐÏÎÑÔÎÏ.\n" - -#: vttools/screendump.c:186 -msgid "Out of memory?\n" -msgstr "ëÏÎÞÉÌÁÓØ ÐÁÍÑÔØ?\n" - -#: vttools/screendump.c:203 -msgid "Error writing screen dump\n" -msgstr "ïÛÉÂËÁ ÚÁÐÉÓÉ ÐÒÉ ÓÂÒÏÓÅ ÓÏÄÅÒÖÉÍÏÇÏ ÜËÒÁÎÁ\n" - -#: vttools/setvesablank.c:19 -#, c-format -msgid "" -"Usage: %s ON|on|off\n" -"\n" -"Set VESA blanking on console.\n" -msgstr "" -"÷ÙÚÏ×: %s ON|on|off\n" -"\n" -"õÓÔÁÎÏ×ÉÔØ ÏÔËÌÀÞÅÎÉÅ ËÏÎÓÏÌÉ ÐÏ VESA.\n" - -#: vttools/setvesablank.c:22 -msgid "turn blanking on" -msgstr "ÁËÔÉ×ÉÚÉÒÏ×ÁÔØ ÏÔËÌÀÞÅÎÉÅ" - -#: vttools/setvesablank.c:37 -#, c-format -msgid "%s: argument '%s' should be 'ON', 'on' or 'off'\n" -msgstr "%s: ÁÇÒÕÍÅÎÔ '%s' ÄÏÌÖÅÎ ÂÙÔØ 'ON', 'on' ÉÌÉ 'off'\n" - -#: vttools/vt-is-UTF8.c:16 -#, c-format -msgid "Usage: %s [option]\n" -msgstr "÷ÙÚÏ×: %s [ËÌÀÞ]\n" - -#: vttools/vt-is-UTF8.c:18 -msgid "don't print result" -msgstr "ÎÅ ×Ù×ÏÄÉÔØ ÒÅÚÕÌØÔÁÔ" - -#: vttools/vt-is-UTF8.c:82 -msgid "Single-byte char mode.\n" -msgstr "ïÄÎÏÂÁÊÔÏ×ÙÊ ÒÅÖÉÍ.\n" - -#: vttools/resizecons.c:110 -#, c-format -msgid "" -"Usage: %s COLSxROWS\n" -" %s COLS ROWS\n" -" %s -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n" -msgstr "" -"÷ÙÚÏ×: %s COLSxROWS\n" -" %s COLS ROWS\n" -" %s -lines ROWS, ÇÄÅ ROWS ÉÚ 25, 28, 30, 34, 36, 40, 44, 50, 60\n" - -#: vttools/resizecons.c:145 -#, c-format -msgid "%s: Invalid number of columns: %s\n" -msgstr "%s: îÅ×ÅÒÎÏÅ ÞÉÓÌÏ ËÏÌÏÎÏË: %s\n" - -#: vttools/resizecons.c:154 -#, c-format -msgid "%s: Invalid number of rows: %s\n" -msgstr "%s: îÅ×ÅÒÎÏÅ ÞÉÓÌÏ ÓÔÒÏË: %s\n" - -#: vttools/resizecons.c:174 vttools/resizecons.c:198 -#, c-format -msgid "%s: Invalid arguments" -msgstr "%s: îÅ×ÅÒÎÙÅ ÐÁÒÁÍÅÔÒÙ" - -#: vttools/resizecons.c:186 -#, c-format -msgid "%s: Unrecognized argument" -msgstr "%s: îÅÚÎÁËÏÍÙÊ ÐÁÒÁÍÅÔÒ" - -#: vttools/resizecons.c:210 -#, c-format -msgid "%s: bad number of arguments\n" -msgstr "%s: ÎÅ×ÅÒÎÏÅ ÞÉÓÌÏ ÐÁÒÁÍÅÔÒÏ×\n" - -#: vttools/resizecons.c:239 -#, c-format -msgid "%s: cannot find videomode file %s\n" -msgstr "%s: ÎÅ ÎÁÊÔÉ ÆÁÊÌ ×ÉÄÅÏÒÅÖÉÍÁ %s\n" - -#: vttools/resizecons.c:260 -msgid "Invalid number of lines\n" -msgstr "îÅ×ÅÒÎÏÅ ÞÉÓÌÏ ÓÔÒÏË\n" - -#: vttools/resizecons.c:338 -#, c-format -msgid "Old mode: %dx%d New mode: %dx%d\n" -msgstr "óÔÁÒÙÊ ÒÅÖÉÍ: %dx%d îÏ×ÙÊ ÒÅÖÉÍ: %dx%d\n" - -#: vttools/resizecons.c:340 -#, c-format -msgid "Old #scanlines: %d New #scanlines: %d Character height: %d\n" -msgstr "âÙÌÏ #scanlines: %d óÔÁÌÏ #scanlines: %d ÷ÙÓÏÔÁ ÓÉÍ×ÏÌÁ: %s\n" - -#: vttools/resizecons.c:353 vttools/resizecons.c:403 -#, c-format -msgid "%s: the command `%s' failed\n" -msgstr "%s: ËÏÍÍÁÎÄÁ \"%s\" ×ÅÒÎÕÌÁ ÏÛÉÂËÕ\n" - -#: vttools/resizecons.c:408 -#, c-format -msgid "%s: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n" -msgstr "" -"%s: ÎÅ ÚÁÂÕÄØÔÅ ÐÏÍÅÎÑÔØ TERM (×ÏÚÍÏÖÎÏ, ÎÁ con%dx%d ÉÌÉ linux-%dx%d)\n" - -#: vttools/resizecons.c:412 -msgid "Also the variables LINES and COLUMNS may need adjusting.\n" -msgstr "ðÅÒÅÍÅÎÎÙÅ LINES É COLUMNS ÔÁËÖÅ ÍÏÇÕÔ ÎÕÖÄÁÔØÓÑ × ËÏÒÒÅËÃÉÉ.\n" - -#: vttools/resizecons.c:449 -#, c-format -msgid "%s: cannot get I/O permissions.\n" -msgstr "" - -#: vttools/deallocvt.c:23 -#, c-format -msgid "" -"Usage: %s [N1 N2 ...]\n" -"Deallocate virtual terminal(s)\n" -msgstr "" -"÷ÙÚÏ×: %s [N1 N2 ...]\n" -"ïÓ×ÏÂÏÄÉÔØ ×ÉÒÔÕÁÌØÎÙÅ ÔÅÒÍÉÎÁÌÙ\n" - -#: vttools/chvt.c:21 vttools/deallocvt.c:26 -msgid "virtual terminal" -msgstr "×ÉÒÔÕÁÌØÎÙÊ ÔÅÒÍÉÎÁÌ" - -#: vttools/deallocvt.c:41 -#, c-format -msgid "%s: 0: illegal VT number\n" -msgstr "%s: 0: ÎÅ×ÅÒÎÙÊ ÎÏÍÅÒ VT\n" - -#: vttools/deallocvt.c:50 -#, c-format -msgid "%s: VT 1 is the console and cannot be deallocated\n" -msgstr "%s: VT 1 ÜÔÏ ËÏÎÓÏÌØ É ÎÅ ÍÏÖÅÔ ÂÙÔØ ÏÓ×ÏÂÏÖÄÅÎ\n" - -#: vttools/deallocvt.c:61 -#, c-format -msgid "%s: could not deallocate console %d\n" -msgstr "%s: ÎÅ ÕÄÁÌÏÓØ ÏÓ×ÏÂÏÄÉÔØ ËÏÎÓÏÌØ %d\n" - -#: vttools/deallocvt.c:125 -#, c-format -msgid "%s: deallocating all unused consoles failed\n" -msgstr "%s% ÎÅ ÕÄÁÌÏÓØ ÏÓ×ÏÂÏÄÉÔØ ×ÓÅ ÎÅÉÓÐÏØÚÕÅÍÙÅ ËÏÎÓÏÌÉ\n" - -#: vttools/fgconsole.c:14 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Print foreground console\n" -msgstr "" -"÷ÙÚÏ×: %s [vt_number]\n" -"óÏÏÂÝÉÔØ ÁËÔÉ×ÎÕÀ ËÏÎÓÏÌØ\n" - -#: vttools/chvt.c:18 -#, c-format -msgid "" -"Usage: %s [vt_number]\n" -"Change virtual terminal\n" -msgstr "" -"÷ÙÚÏ×: %s [ÎÏÍÅÒ_×ÉÒÔÕÁÌØÎÏÇÏ_ÔÅÍÉÎÁÌÁ]\n" -"óÍÅÎÉÔØ ×ÉÒÔÕÁÌØÎÙÊ ÔÅÒÍÉÎÁÌ\n" - -#: vttools/vcstime.c:22 -#, c-format -msgid "" -"Usage: %s\n" -"Show time in upper right hand corner of the console screen\n" -msgstr "" -"÷ÙÚÏ×: %s\n" -"ðÏËÁÚÙ×ÁÔØ ×ÒÅÍÑ × ÐÒÁ×ÏÍ ×ÅÒÈÎÅÍ ÕÇÌÕ ÜËÒÁÎÁ\n" - -#: vttools/writevt.c:19 -#, c-format -msgid "" -"Usage: %s tty text\n" -"Put text into the input buffer of a virtual terminal.\n" -msgstr "" -"÷ÙÚÏ×: %s tty ÔÅËÓÔ\n" -"ðÏÍÅÓÔÉÔØ ÔÅËÓÔ ×Ï ×ÈÏÄÎÏÊ ÂÕÆÅÒ ×ÉÒÔÕÁÌØÎÏÇÏ ÔÅÒÍÉÎÁÌÁ.\n" - -#: vttools/writevt.c:22 -msgid "device name" -msgstr "ÉÍÑ ÕÓÔÒÏÊÓÔ×Á" - -#: vttools/writevt.c:23 -msgid "text to insert" -msgstr "ÔÅËÓÔ ÄÌÑ ÓÔÁ×ËÉ" - -#: vttools/writevt.c:68 -#, c-format -msgid "%s: No tty specified.\n" -msgstr "%s: tty ÎÅ ÕËÁÚÁÎ.\n" - -#: vttools/writevt.c:77 -#, c-format -msgid "%s: No text specified.\n" -msgstr "%s: ôÅËÓÔ ÎÅ ÚÁÄÁÎ\n" - -#: vttools/writevt.c:83 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: ÓÌÉÛËÏÍ ÍÎÏÇÏ ÁÒÇÕÍÅÎÔÏ×\n" - -#: vttools/writevt.c:91 -#, c-format -msgid "%s: could not open tty\n" -msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ tty\n" - -#: vttools/writevt.c:99 -#, c-format -msgid "%s: TIOCSTI ioctl failed\n" -msgstr "%s: ×ÙÚÏ× ioctl TIOCSTI ×ÅÒÎÕÌ ÏÛÉÂËÕ\n" - -#~ msgid "keymaps " -#~ msgstr "ÒÁÓËÌÁÄËÉ " - -#~ msgid "plain\t" -#~ msgstr "ÎÏÒÍÁÌØÎÙÅ\t" - -#~ msgid "keycode %3d =" -#~ msgstr "ËÏÄ %3d =" - -#~ msgid "display this help text" -#~ msgstr "×Ù×ÅÓÔÉ ÜÔÏÔ ÔÅËÓÔ" - -#~ msgid "report version number" -#~ msgstr "ÓÏÏÂÝÉÔØ ÎÏÍÅÒ ×ÅÒÓÉÉ" diff -Nru console-tools-0.2.3/po/stamp-cat-id console-tools-0.2.3/po/stamp-cat-id --- console-tools-0.2.3/po/stamp-cat-id 1999-10-25 20:33:40.000000000 +0000 +++ console-tools-0.2.3/po/stamp-cat-id 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -timestamp diff -Nru console-tools-0.2.3/README console-tools-0.2.3/README --- console-tools-0.2.3/README 1999-10-25 20:49:19.000000000 +0000 +++ console-tools-0.2.3/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,45 +0,0 @@ -This is the README file for console-tools version 0.2.3. - -You may find more information at: - - http://www.multimania.com/ydirson/en/lct/ - - -This package contains utilities compatible with kernel version 1.1.54 -and later. consolechars(1) requires 1.1.92 or later. - -You will find the data files (keymaps, fonts, and unicode tables), -which used to be part of this package, in the console-data package. - - -To compile, you just need the standard make+gcc+libc suite. To format -the docs, you'll need sgmltools (formerly linuxdoc-sgml). - -It is mainly tested for libc 6.1 (aka glibc 2.1), so there may be -minor problems with libc5, or even libc 6.0. - -IMPORTANT NOTE: if you still use libc5, you'll need a recent version. -5.4.33 and above seem to work fine, whereas 5.3.12 is know to have a -bug that causes problems to console-tools. - - -To install this package: - -1) unpack it somewhere - -2) invoke "./configure --help" to look at configuration parameters - -2) invoke "./configure" with any chosen options - -3) "make" and "make install". This copies by default the utilities to -/usr/bin, man pages to /usr/man/man? and data files to the subdirectories -keytables, consolefonts, consoletrans and videomodes of /usr/share/. - - -Then have a look at the `lct' document, available in the source -distribution as doc/lct.txt. - - -Report problems with this package to: Yann Dirson <dirson@debian.org>. - -August 31th 1999. diff -Nru console-tools-0.2.3/RELEASE console-tools-0.2.3/RELEASE --- console-tools-0.2.3/RELEASE 1999-10-25 20:53:22.000000000 +0000 +++ console-tools-0.2.3/RELEASE 1970-01-01 00:00:00.000000000 +0000 @@ -1,52 +0,0 @@ -This is release 0.2.3 of the Linux console-tools. - - This release is a bugfix release for the 0.2.x series, and - adds Italian, Danish, and Estonian messages. - See ChangeLog for details. - - 0.2.0 was the first of a stable branch. The data files (keymaps, - fonts and tables) formerly part of this package have been moved to a - new console-data package. - - The 0.2.x branch will only get bug fixes and critically missing - features - all development will be done on the still-to-come 0.3.x - branch. - - PLEASE NOTE that this release has not yet support for the CP - fontfile format back yet. It has been integrated in development - version 0.3.0. - - -Although it is now quite stable, this package is currently under -development: use it at your own risks. However, it should already be -a good replacement for `kbd', and you might like the features not -found in the latter, but (as usual) you have NO WARANTY of any kind. - -Some interface-level features are still liable to change (program names, -option names, etc.). - -Much work is needed to really get Unicode stuff usable. This will be -one of my primary goals. It will probably imply hacking the kernel as -well for some features, but the kernel-part is being thoroughly -rewritten by the GGI project, so don't hold you breath... - - -This package is based on `kbd-0.94', and is mostly up to date with -0.99, of which it corrects some bugs, and to which it adds several -features (Message i18n, Screen-font-map fallback tables, 16-bit -Application-Charset Maps (also called "console maps" or "screen -maps"), can now output PSF files and use "-" to read/write most files -to stdin/stdout, can make use of the G1 charset slot, etc.). - - -Please send all bug reports, suggestions, or anything else to myself, -(but take a look at the "TODO" file first), feedback will be greatly -appreciated. - -Please get in touch with me before starting to modify this package, to -prevent duplicated work - it's enough work to keep in sync with new -kbd releases until we merge; as this code is expected to evolve quite -rapidly, it would also be helpful that not too many persons work on -the same pieces of code at the same time, to ease integration. - -Yann Dirson <dirson@debian.org> diff -Nru console-tools-0.2.3/screenfonttools/charset console-tools-0.2.3/screenfonttools/charset --- console-tools-0.2.3/screenfonttools/charset 1999-08-31 21:39:09.000000000 +0000 +++ console-tools-0.2.3/screenfonttools/charset 1970-01-01 00:00:00.000000000 +0000 @@ -1,150 +0,0 @@ -#!/bin/sh - -usage() -{ - echo >&2 "Usage: $(basename $0) [-v] G0|G1 [ cp437 | iso01 | vt100 | user | <acm_name> ]" -} - -usage_exit() -{ - usage - exit 1 -} - -tty_out() -{ -# echo "Sending \`$*'" - echo -en >/dev/tty $* -} - -verbose() -{ - test $VERBOSE = 1 && echo >&2 $* -} - -error() -{ - echo >&2 $* -} - -activate_charset() -{ - verbose "Switching to $1 charset" - case $1 in - G0) - tty_out "\017" - ;; - G1) - tty_out "\016" - ;; - esac -} - -# parse command-line - -CHARSET= -ACM= -INTERNAL_ACM= -ACM_NAME= - -VERBOSE=0 - -GOT_CHARSET=0 -GOT_ACM=0 - -while [ $# -gt 0 ] -do - case $1 in - -v) - VERBOSE=1 - shift - ;; - G0|G1) - if [ ${GOT_CHARSET} = 1 ] ; then usage_exit; fi - CHARSET=$1 - GOT_CHARSET=1 - shift - ;; - iso01) - if [ ${GOT_ACM} = 1 ] ; then usage_exit; fi - INTERNAL_ACM=B - ACM_NAME=$1 - GOT_ACM=1 - shift - ;; - vt100) - if [ ${GOT_ACM} = 1 ] ; then usage_exit; fi - INTERNAL_ACM=0 - ACM_NAME=$1 - GOT_ACM=1 - shift - ;; - cp437) - if [ ${GOT_ACM} = 1 ] ; then usage_exit; fi - INTERNAL_ACM=U - ACM_NAME=$1 - GOT_ACM=1 - shift - ;; - user) - if [ ${GOT_ACM} = 1 ] ; then usage_exit; fi - INTERNAL_ACM=K - ACM_NAME="user-defined" - GOT_ACM=1 - shift - ;; - *) - if [ ${GOT_ACM} = 1 ] ; then usage_exit; fi - INTERNAL_ACM=K - ACM_NAME="user-defined" - ACM=$1 - GOT_ACM=1 - shift - ;; - esac -done - -# if specified ACM is not available internally, get it from file -if [ "$ACM" != "" ] -then - case $CHARSET in - G0) - OPT= - ;; - G1) - OPT=--g1 - ;; - esac - - verbose -n "Loading $ACM ACM into user-defined slot..." - consolechars $OPT -m $ACM && verbose "done." -fi - -if [ "$INTERNAL_ACM" != "" -a "$CHARSET" != "" ] -then # make $CHARSET point to $INTERNAL_ACM - if [ "$ACM" != "" ] - then - verbose "Making $CHARSET point to $ACM_NAME ACM (file $ACM)" - else - verbose "Making $CHARSET point to internal ACM $ACM_NAME" - fi - case $CHARSET in - G0) - tty_out "\033($INTERNAL_ACM" - ;; - G1) - tty_out "\033)$INTERNAL_ACM" - ;; - esac - activate_charset $CHARSET -elif [ "$INTERNAL_ACM" = "" -a "$CHARSET" != "" ] -then # make $CHARSET current - activate_charset $CHARSET -elif [ "$INTERNAL_ACM" != "" -a "$CHARSET" = "" ] -then # set current charset to $ACM - error "Don't know (yet ?) how to determine current charset." - error "Please specify G0 or G1" - exit 1 -else - usage -fi diff -Nru console-tools-0.2.3/screenfonttools/clrunimap.c console-tools-0.2.3/screenfonttools/clrunimap.c --- console-tools-0.2.3/screenfonttools/clrunimap.c 1999-04-08 22:11:15.000000000 +0000 +++ console-tools-0.2.3/screenfonttools/clrunimap.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,50 +0,0 @@ -/* - * clrunimap.c - * - * Note: nowadays this kills kernel console output! - */ - -#include <stdio.h> -#include <stdlib.h> -#include <fcntl.h> -#include <linux/kd.h> -#include <sys/ioctl.h> -#include <getopt.h> - -#include <lct/local.h> -#include <lct/console.h> - -static void usage(char *progname) -{ - printf(_("Usage: %s\n" - "Clears the Unicode map from the console.\n" - "Note: nowadays this kills kernel console output!\n"), progname); - OPTIONS_ARE(); - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - -void main(int argc, char **argv) -{ - struct unimapinit advice; - int fd; - - setuplocale(); - - simple_options(argc, argv, usage, strip_path(argv[0])); - - if (-1 == (fd = get_console_fd(NULL))) - exit (1); - - advice.advised_hashsize = 0; - advice.advised_hashstep = 0; - advice.advised_hashlevel = 0; - - if(ioctl(fd, PIO_UNIMAPCLR, &advice)) - { - perror("PIO_UNIMAPCLR"); - exit(1); - } - - exit(0); -} diff -Nru console-tools-0.2.3/screenfonttools/consolechars.c console-tools-0.2.3/screenfonttools/consolechars.c --- console-tools-0.2.3/screenfonttools/consolechars.c 1999-10-25 20:19:28.000000000 +0000 +++ console-tools-0.2.3/screenfonttools/consolechars.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,720 +0,0 @@ -/* - * setfont.c - Eugene Crosser & Andries Brouwer - * modified 1997 Yann Dirson - * - * Loads the console font, and possibly the corresponding screen map(s). - * We accept two kind of screen maps, one [-m] giving the correspondence - * between some arbitrary 8-bit character set currently in use and the - * font positions, and the second [-u] giving the correspondence between - * font positions and Unicode values. - */ -#include <stdio.h> -#include <unistd.h> -#include <memory.h> -#include <fcntl.h> -#include <stdlib.h> -#include <getopt.h> -#include <signal.h> -#include <errno.h> -#include <sysexits.h> -#include <assert.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <sys/ioctl.h> -#include <linux/kd.h> - -#include <lct/local.h> -#include <lct/console.h> -#include <lct/font.h> - -#define DEFUNIMAP DATADIR "/" TRANSDIR "/def" - -int verbose = 0; -int no_act = 0; - -char *progname; -char pathname[1024]; - -static int saveoldfont(int fd, char *outfile, int as_psf, int with_unimap); -static void loadnewfont(int fd, /* FD of the console for ioctl() */ - char* ifil, /* input font-file name, or "" for default */ - int iunit, /* */ - struct unimapdesc* ud,/* output parameter for sfm if any */ - int no_u); /* 1 <=> do not load a unimap here [used for PSF] */ - -static void usage() -{ - version(); - printf(_("Usage: %s [options] [commands]\n"), progname); - OPTIONS_ARE(); - OPT(" -v --verbose ", _("List operations as they are done")); - OPT(" -n --no-act ", _("Do not change the console state nor write to any file")); - OPT(" -H --char-height=N ", _("(N in 0..32) Choose the right font from a codepage that\n" - "contains three fonts (only 8/14/16 allowed then), or choose\n" - "default font, ie. \"default8xN\"")); - OPT(" --force-no-sfm ", _("Suppress loading of a screen-font map [use with care]")); - OPT(" -1 --g1 ", _("When loading an ACM, activate G1 charset instead of G0")); - OPT(" --tty=device ", _("Use `device' as console device for ioctls")); - COMMANDS_ARE(); - OPT(" -f --font=file ", _("Load the console-font from specified file")); - OPT(" -d --default-font ", _("Load a default font from a file")); - OPT(" -R --rom-font ", _("Restore ROM font (does not work with all kernels)")); - OPT(" -u --sfm --screen-font-map=file", ""); - OPT(" ", _("Load the SFM from specified file\n" - "(instead of the one in font-file, if any)")); - OPT(" -k --sfm-fallback=file ", _("Merge SFM fallbacks from file into SFM")); - OPT(" -m --acm --app-charset-map=file ", _("Load the ACM from specified file")); - OPT(" -F --old-font=file ", _("Write current font to prefered format (now: psf-with-sfm)")); - OPT(" --old-font-psf=file ", _("Write current font to PSF file before loading a new one")); - OPT(" --old-font-psf-with-sfm=file", ""); - OPT(" ", _("Same as -old-font-psf, and add current SFM in the PSF file")); - OPT(" --old-font-raw=file ", _("Write current font to RAW file before loading a new one")); - OPT(" -M --old-acm=file ", _("Write current ACM to file before loading a new one")); - OPT(" -U --old-sfm=file ", _("Write current SFM to file before loading a new one")); - - OPT(" -h --help ", HELPDESC); - OPT(" -V --version ", VERSIONDESC); -} - -static inline void CHECK_STD(char* file, int* stdfile) -{ - if (!strcmp(file, "-")) - { - if (*stdfile) - badusage(_("too many `-' as filenames")); - else - *stdfile = 1; - } -} - -#define OPT_or 128 -#define OPT_op 129 -#define OPT_no_sfm 130 -#define OPT_tty 131 - -const struct option opts[] = -{ - /* operations */ - {"help", no_argument, 0, 'h'}, - {"version", no_argument, 0, 'V'}, - {"verbose", no_argument, 0, 'v'}, - {"tty", required_argument, 0, OPT_tty}, - {"g1", no_argument, 0, '1'}, - - {"char-height", required_argument, 0, 'H'}, - {"no-act", no_argument, 0, 'n'}, - - {"font", required_argument, 0, 'f'}, - {"old-font", required_argument, 0, 'F'}, - - {"default-font", no_argument, 0, 'd'}, - {"rom-font", no_argument, 0, 'R'}, - - /* default old-font is synonym for old-font-psf-with-sfm */ - /* this may change when better formats are supported */ - {"old-font-psf-with-sfm", required_argument, 0, 'F'}, - {"old-font-psf", required_argument, 0, OPT_op}, - {"old-font-raw", required_argument, 0, OPT_or}, - - {"screen-font-map", required_argument, 0, 'u'}, - {"sfm", required_argument, 0, 'u'}, - {"app-charset-map", required_argument, 0, 'm'}, - {"acm", required_argument, 0, 'm'}, - - {"force-no-sfm", no_argument, 0, OPT_no_sfm}, - - {"old-sfm", required_argument, 0, 'U'}, - {"old-acm", required_argument, 0, 'M'}, - - {"sfm-fallback", required_argument, 0, 'k'}, - - /* end marker */ - {0, 0, 0, 0} -}; - -/* const for default-font handling - loadnewfont() wants it to be empty */ -char* default_font = ""; -char* rom_font = (char*)(-1); - -void main(int argc, char *argv[]) -{ - char *ifil, *mfil, *ufil, *orfil, *opfil, *omfil, *oufil, *opufil, **fallback_files; - int nb_fallback_files = 0; - int fd = 0; - int requested_height, no_u; - int stdin_taken, stdout_taken; - char* tty_name = NULL; /* optional name of a tty for the console */ - int g_set = 0; /* G0 or G1 */ - - struct unimapdesc ud; - - int result; /* option handling */ - int an_option; - - ifil = mfil = ufil = orfil = opfil = omfil = oufil = opufil = NULL; - fallback_files = NULL; - requested_height = 0; - stdin_taken = stdout_taken = 0; /* 1 means respective FILE is already used for file I/O */ - no_u = 0; /* 1 means ignore map inside file */ - - setuplocale(); - - progname = strip_path(argv[0]); - - while (1) - { - result = getopt_long(argc, argv, "Vhvn1H:f:F:dRu:m:U:M:k:", opts, &an_option); - - if (result == EOF) - break; - - switch (result) - { - case 'V': - version(); - exit (EX_OK); - case 'h': - usage(); - exit (EX_OK); - case 'v': - verbose = 1; - break; - case 'n': - no_act = verbose = 1; - break; - case OPT_tty: - tty_name = optarg; - break; - case '1': - g_set = 1; - break; - - case 'H': - /* numeric height */ - requested_height = atoi(optarg); - if(requested_height <= 0 || requested_height > 32) - badusage(_("--char-height argument should be in 1..31")); - break; - - case 'f': - if (ifil) - badusage(_("only one font file is allowed")); - ifil = optarg; - CHECK_STD(ifil, &stdin_taken); - break; - - case 'd': - if (ifil) - badusage(_("only one font file is allowed")); - ifil = default_font; - break; - - case 'R': - if (ifil) - badusage(_("only one font file is allowed")); - ifil = rom_font; - break; - - case 'm': - if (mfil) - badusage(_("only one ACM is allowed")); - mfil = optarg; - CHECK_STD(mfil, &stdin_taken); - break; - - case 'u': - if (ufil) - badusage(_("only one SFM is allowed")); - if (no_u) - badusage(_("multiple requests for SFM handling")); - ufil = optarg; - CHECK_STD(ufil, &stdin_taken); - no_u = 1; - break; - - case OPT_no_sfm: - fprintf (stderr, _("WARNING: not using a unimap may lead to erroneous display !\n")); - no_u = 1; - break; - - case 'k': - CHECK_STD(optarg, &stdin_taken); - if (NULL == - (fallback_files = (char**)realloc (fallback_files, - (nb_fallback_files + 1) * sizeof (char*)))) - { - perror (_("realloc fallback_files")); - exit (EX_OSERR); - } - fallback_files[nb_fallback_files] = optarg; - nb_fallback_files++; - break; - - case OPT_or: - if (orfil) - badusage(_("only one output RAW font-file is allowed")); - orfil = optarg; - CHECK_STD(orfil, &stdout_taken); - break; - - case OPT_op: - if (opfil) - badusage(_("only one output PSF font-file is allowed")); - opfil = optarg; - CHECK_STD(opfil, &stdout_taken); - break; - - case 'F': - if (opufil) - badusage(_("only one output PSF+SFM font-file is allowed")); - opufil = optarg; - CHECK_STD(opufil, &stdout_taken); - break; - - case 'M': - if (omfil) - badusage(_("only one output ACM file is allowed")); - omfil = optarg; - CHECK_STD(omfil, &stdout_taken); - break; - - case 'U': - if (oufil) - badusage(_("only one output SFM file is allowed")); - oufil = optarg; - CHECK_STD(oufil, &stdout_taken); - break; - - case '?': - /* message was written by getopt() */ - badusage((char*)NULL); - break; - - default: - badusage(_("unknown option")); - } - } - - if (optind < argc) - badusage (_("no non-option arguments are valid")); - - if (!ifil && !mfil && !ufil && !orfil && !opfil && !omfil && !oufil && !opufil && !fallback_files) - badusage(_("nothing to do")); - - if (-1 == (fd = get_console_fd(tty_name))) - { - perror ("get_console_fd"); - exit (1); - } - - /* - * save current state - */ - - if (orfil) - if (saveoldfont(fd, orfil, 0, 0)) - perror (_("Saving raw old font")), exit(1); - - if (opfil) - if (saveoldfont(fd, opfil, 1, 0)) - perror (_("Saving PSF old font")), exit(1); - - if (opufil) - if (saveoldfont(fd, opufil, 1, 1)) - perror (_("Saving PSF+unimap old font")), exit(1); - - if (omfil) - { - if (no_act) - fprintf (stderr, _("Would save ACM to file `%s'.\n"), omfil); - else - { - if (verbose) fprintf (stderr, _("Saving ACM to file `%s'.\n"), omfil); - saveoldmap(fd, omfil); - } - } - - if (oufil) - saveunicodemap(fd, oufil, verbose, no_act); - - /* - * set new state - */ - - if (mfil) - { - FILE* f; - char pathname[1024]; - - if ((f = findacm(mfil, pathname, sizeof(pathname), stdin, NULL)) == NULL) - perror("findacm"), exit(1); - - - if (no_act) - printf(_("Would load ACM from `%s'\n"), pathname); - else - { - if (verbose) printf(_("Loading ACM from `%s'\n"), pathname); - - if (-1 == screen_map_load(fd, f)) - fprintf (stderr, _("Error reading ACM file.\n")); - else - if (acm_activate(fd, g_set)) - perror ("acm_activate"), exit (EX_UNAVAILABLE); - } - } - - /* load a font and get a unimap if any */ - ud.entry_ct = 0; - if (ifil) - { - if (ifil == rom_font) - restore_rom_font(fd); - else - loadnewfont(fd, ifil, requested_height, &ud, no_u); - } - - if (ufil) - { - char pathname[1024]; - FILE* mapf; - - if (NULL == (mapf = findsfm(ufil, pathname, sizeof(pathname), stdin, NULL))) - perror("findsfm"), exit (1); - - if (no_act) - fprintf (stderr, _("Would read screen-font map from %s.\n"), pathname); - else if (verbose) - fprintf (stderr, _("Reading screen-font map from %s.\n"), pathname); - - if (sfm_read_ascii (mapf, &ud, 512)) - perror ("sfm_read_ascii"), exit (EX_DATAERR); - } - - if (fallback_files) - { - struct unimapdesc new_ud; - - /* if no SFM would be loaded otherwise, - * get the current one so we can merge fallbacks in */ - if (!ud.entry_ct) - { - if (verbose) fprintf (stderr, _("Requesting SFM from kernel.\n")); - if (-1 == get_kernel_unimap(fd, &ud)) - { - if (errno == ENXIO) - fprintf(stderr, _("No valid SFM currently loaded. Aborting.\n")); - else - perror ("get_kernel_unimap"); - exit (1); - } - } - - /* duplicate ud into new_ud */ - /* don't duplicate unipair's themselves */ - new_ud.entry_ct = ud.entry_ct; - if (NULL == - (new_ud.entries = (struct unipair*)malloc (ud.entry_ct * sizeof (struct unipair)))) - { - perror ("malloc new_ud.entries"); - exit (EX_OSERR); - } - memcpy (new_ud.entries, ud.entries, ud.entry_ct * sizeof (struct unipair)); - - if (ud.entry_ct) /* mostly a sanity check */ - { - FILE* fbfile; - char fullname[1024]; - unsigned sfmfb_ct = 0; - unicode** sfmfb; - int i; - - for (i=0; i<nb_fallback_files; i++) - { - if (NULL == (fbfile = findsfmfallback (fallback_files[i], - fullname, sizeof(fullname), - stdin, NULL))) - perror ("findsfmfallback"), exit (1); - - if (verbose) - fprintf (stderr, _("Reading SFM fallbacks from `%s'.\n"), fullname); - - sfmfb = NULL; - if (-1 == sfm_fallback_read (fbfile, &sfmfb, &sfmfb_ct)) - perror ("sfm_fallback_read"), exit (1); - -#ifndef NDEBUG - if (verbose) - fprintf (stderr, _("Read %u fallback entries.\n"), sfmfb_ct); -#endif - assert (sfmfb_ct > 0); - - if (-1 == sfm_fallback_add (sfmfb, sfmfb_ct, &ud, &new_ud)) - perror ("sfm_fallback_add"), exit (1); - - fclose (fbfile); - - /* forget about this fallback table */ - do - free (sfmfb[--sfmfb_ct]); - while (sfmfb_ct>0); - free (sfmfb); - sfmfb_ct = 0; - sfmfb = NULL; - } - - /* free old ud */ - free (ud.entries); - - /* replace ud with new_ud */ - memcpy (&ud, &new_ud, sizeof(struct unimapdesc)); - } - else - fprintf (stderr, _("WARNING: No SFM found in file or kernel ? Ignoring fallback file.\n")); - } - - - if (ud.entry_ct) - { - if (no_act) - fprintf (stderr, _("Would set kernel SFM.\n")); - else - { - if (verbose) fprintf (stderr, _("Setting kernel SFM.\n")); - if (set_kernel_unimap (fd, &ud)) - perror ("set_kernel_unimap"), exit (EX_OSERR); - } - } - - exit (EX_OK); -} - - -void loadnewfont(int fd, /* FD of the console for ioctl() */ - char* ifil, /* input font-file name, or "" for default */ - int requested_height, /* */ - struct unimapdesc* ud,/* output parameter for sfm if any */ - int no_u) /* 1 <=> do not load a unimap here [used for PSF] */ -{ - FILE *fpi; - char defname[20]; - int font_magic; - sigset_t sigset, old_sigset; - simple_font* the_font; - - /* block SIGCHLD */ - sigemptyset (&sigset); - sigaddset (&sigset, SIGCHLD); - sigprocmask (SIG_BLOCK, &sigset, &old_sigset); - - /* - * First check if we need to find a default font; - * If yes, open it & set its name for further processing. - */ - - if (!*ifil) /* ie. if (ifil == "") */ - { - /* try to find some default file */ - - if (requested_height < 0 || requested_height > 32) - requested_height = 0; - if (requested_height == 0) - { - if ((fpi = findfont("default", pathname, sizeof(pathname), NULL, &font_magic)) == NULL && - (fpi = findfont("default8x16", pathname, sizeof(pathname), NULL, &font_magic)) == NULL && - (fpi = findfont("default8x14", pathname, sizeof(pathname), NULL, &font_magic)) == NULL && - (fpi = findfont("default8x08", pathname, sizeof(pathname), NULL, &font_magic)) == NULL) - { - fprintf(stderr, _("Cannot find a default font file.\n")); - exit(1); - } - } - else - { - sprintf(defname, "default8x%02d", requested_height); - if ((fpi = findfont(defname, pathname, sizeof(pathname), NULL, &font_magic)) == NULL) - { - fprintf(stderr, _("Cannot find default font file `default8x%02d'.\n"), requested_height); - exit(1); - } - } - } - else /* i_file was specified */ - { - if ((fpi = findfont(ifil, pathname, sizeof(pathname), stdin, &font_magic)) == NULL) - { - perror ("findfont"); - fprintf (stderr, _("Cannot open font file `%s'.\n"), ifil); - exit(1); - } - } - - /* - * Find out file size if possible; - * Maybe correct `pathname' for display purposes - */ - - if (!strcmp(pathname,"-")) - { - sprintf(pathname, "stdin"); - } - - /* FIXME: use result */ - the_font = read_simple_font (fpi, NULL, font_magic); - - if (!the_font) - { - perror ("read_simple_font()"); - exit (1); - } - - fclose(fpi); - - /* FIXME: - * - * - insert no-SFM warning somewhere -fprintf (stderr, "WARNING: This font-file does not contain a unimap.\n"); -fprintf (stderr, "WARNING: Not using a unimap may lead to erroneous display !\n"); - */ - - /* Check that font-size is valid */ -#if !defined( PIO_FONTX ) || defined( sparc ) - if (the_font->font.charcount != 256) - { - fprintf(stderr, _("Only fontsize 256 supported.\n")); - exit(1); - } -#endif - - - /* - * send font to kernel - */ -#warning check pathname validity - if (no_act) - fprintf(stderr, _("Would load %d-chars %dx%d font from file `%s'.\n"), - the_font->font.charcount, - the_font->font.charwidth, the_font->font.charheight, - pathname); - else - { - if (verbose) - fprintf(stderr, _("Loading %d-chars %dx%d font from file `%s'.\n"), - the_font->font.charcount, - the_font->font.charwidth, the_font->font.charheight, - pathname); - - if (set_kernel_font (fd, &the_font->font)) - perror ("set_kernel_font"), exit (EX_OSERR); - } - - /* tell caller about internal SFM */ - memcpy (ud, &the_font->sfm, sizeof(struct unimapdesc)); - - free (the_font); - - /* - * read a default unimap if we loaded a default font, - * and we were not asked otherwise, - * and none was in font-file. - */ - if (!no_u && !*ifil && !the_font->sfm.entry_ct) - { - FILE* mapf; - - if (NULL == (mapf = findsfm(DEFUNIMAP, pathname, sizeof(pathname), NULL, NULL))) - perror("findsfm"), exit (1); - - if (verbose) fprintf (stderr, _("Reading default SFM from `%s'.\n"), pathname); - - sfm_read_ascii (mapf, ud, 512); - - fclose (mapf); - } - - /* unblock SIGCHLD */ - sigprocmask (SIG_SETMASK, &old_sigset, NULL); -} - - -static int saveoldfont(int fd, char *outfile, int as_psf, int with_unimap) -{ - FILE *fpo; - struct unimapdesc descr; - cfontdesc *cfd; - - /* invocation check */ - if (with_unimap && !as_psf) - { - fprintf(stderr, _("Cannot write SFM into non-PSF font-file.\n")); - errno = EINVAL; - return -1; - } - - if (NULL == (cfd = get_kernel_font (fd))) - return -1; - - if (cfd->charwidth != 8) - { - fprintf (stderr, - _("Can only save 8bit-wide fonts for now," - " and font is %d-bit wide.\n"), cfd->charwidth); - errno = EBFONT; /* FIXME: should be something else ? */ - return -1; - } - - /* RAW files can only have 256 chars */ - if (!as_psf && (cfd->charcount != 256)) - { - fprintf (stderr, - _("Can only save 256-chars fonts in RAW files," - " and font has %d chars.\n"), cfd->charcount); - errno = EBFONT; /* FIXME: should be something else ? */ - return -1; - } - - if (cfd->charheight == 0) - fprintf(stderr, _("Found nothing to save.\n")); - else - { - /* get unimap if requested */ - if (with_unimap) - if (-1 == get_kernel_unimap (fd, &descr)) - with_unimap = 0; /* no valid unimap */ - - if (!no_act) - { - /* open file */ - if ((fpo = fopen(outfile, "w")) == NULL) - return -1; - - /* save as PSF file if requested */ - if (as_psf) - write_as_psf_header (fpo, cfd->charheight, cfd->charcount, with_unimap); - - /* write font data, unimap if any */ - if (fontdata_write_binary (fpo, cfd) - || ((with_unimap) - && sfm_write_binary(fpo, &descr, cfd->charcount))) - return -1; - - /* close output file */ - fclose(fpo); - } - - if (verbose) - fprintf(stderr, - no_act - ? _("Would have saved 8x%d %s font file on `%s'%s.\n") - : _("Saved 8x%d %s font file on `%s'%s.\n"), - cfd->charheight, - as_psf ? "PSF" : "RAW", - outfile, - as_psf ? ( with_unimap ? _(", with SFM") : _(", without SFM")) : ""); - - } - - free (cfd->chardata); - - return 0; -} diff -Nru console-tools-0.2.3/screenfonttools/Makefile.am console-tools-0.2.3/screenfonttools/Makefile.am --- console-tools-0.2.3/screenfonttools/Makefile.am 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/screenfonttools/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -# -*- makefile -*- - -AUTOMAKE_OPTIONS = foreign - -ConsolecharsDefs = -DDATADIR=\"$(datadir)\" -DTRANSDIR=\"$(TRANSDIR)\" - -INCLUDES = -I$(top_srcdir)/include $(ConsolecharsDefs) - - -bin_PROGRAMS = consolechars showcfont -LDADD = ../lib/libctlocal.a ../lib/libconsole.la ../lib/libctutils.la - -consolechars_LDADD = ../lib/libctlocal.a ../lib/libconsole.la ../lib/libcfont.la ../lib/libctutils.la - -bin_SCRIPTS = unicode_start unicode_stop charset - -EXTRA_DIST = $(bin_SCRIPTS) - -noinst_PROGRAMS = clrunimap diff -Nru console-tools-0.2.3/screenfonttools/Makefile.in console-tools-0.2.3/screenfonttools/Makefile.in --- console-tools-0.2.3/screenfonttools/Makefile.in 1999-10-25 20:58:10.000000000 +0000 +++ console-tools-0.2.3/screenfonttools/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,415 +0,0 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# -*- makefile -*- - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AS = @AS@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -COMPAT = @COMPAT@ -DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ -FONTDIR = @FONTDIR@ -GENCAT = @GENCAT@ -GMOFILES = @GMOFILES@ -GMSGFMT = @GMSGFMT@ -GT_NO = @GT_NO@ -GT_YES = @GT_YES@ -INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ -INSTOBJEXT = @INSTOBJEXT@ -INTLDEPS = @INTLDEPS@ -INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -KEYCODES = @KEYCODES@ -KEYMAPDIR = @KEYMAPDIR@ -LD = @LD@ -LEX = @LEX@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LOADKEYS = @LOADKEYS@ -MAKEINFO = @MAKEINFO@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -NM = @NM@ -OBJDUMP = @OBJDUMP@ -PACKAGE = @PACKAGE@ -POFILES = @POFILES@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -RESIZECONS = @RESIZECONS@ -TRANSDIR = @TRANSDIR@ -UNICODEDATA = @UNICODEDATA@ -UNICODELISTS = @UNICODELISTS@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -VIDEOMODEDIR = @VIDEOMODEDIR@ -YACC = @YACC@ -l = @l@ -translit = @translit@ - -AUTOMAKE_OPTIONS = foreign - -ConsolecharsDefs = -DDATADIR=\"$(datadir)\" -DTRANSDIR=\"$(TRANSDIR)\" - -INCLUDES = -I$(top_srcdir)/include $(ConsolecharsDefs) - -bin_PROGRAMS = consolechars showcfont -LDADD = ../lib/libctlocal.a ../lib/libconsole.la ../lib/libctutils.la - -consolechars_LDADD = ../lib/libctlocal.a ../lib/libconsole.la ../lib/libcfont.la ../lib/libctutils.la - -bin_SCRIPTS = unicode_start unicode_stop charset - -EXTRA_DIST = $(bin_SCRIPTS) - -noinst_PROGRAMS = clrunimap -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = -PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) - - -DEFS = @DEFS@ -I. -I$(srcdir) -I.. -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -consolechars_SOURCES = consolechars.c -consolechars_OBJECTS = consolechars.o -consolechars_DEPENDENCIES = ../lib/libctlocal.a ../lib/libconsole.la \ -../lib/libcfont.la ../lib/libctutils.la -consolechars_LDFLAGS = -showcfont_SOURCES = showcfont.c -showcfont_OBJECTS = showcfont.o -showcfont_LDADD = $(LDADD) -showcfont_DEPENDENCIES = ../lib/libctlocal.a ../lib/libconsole.la \ -../lib/libctutils.la -showcfont_LDFLAGS = -clrunimap_SOURCES = clrunimap.c -clrunimap_OBJECTS = clrunimap.o -clrunimap_LDADD = $(LDADD) -clrunimap_DEPENDENCIES = ../lib/libctlocal.a ../lib/libconsole.la \ -../lib/libctutils.la -clrunimap_LDFLAGS = -SCRIPTS = $(bin_SCRIPTS) - -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -DIST_COMMON = README Makefile.am Makefile.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -SOURCES = consolechars.c showcfont.c clrunimap.c -OBJECTS = consolechars.o showcfont.o clrunimap.o - -all: all-redirect -.SUFFIXES: -.SUFFIXES: .S .c .lo .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps screenfonttools/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -mostlyclean-binPROGRAMS: - -clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) - -distclean-binPROGRAMS: - -maintainer-clean-binPROGRAMS: - -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - if test -f $$p; then \ - echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ - $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - list='$(bin_PROGRAMS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ - done - -mostlyclean-noinstPROGRAMS: - -clean-noinstPROGRAMS: - -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) - -distclean-noinstPROGRAMS: - -maintainer-clean-noinstPROGRAMS: - -.c.o: - $(COMPILE) -c $< - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< - -mostlyclean-compile: - -rm -f *.o core *.core - -clean-compile: - -distclean-compile: - -rm -f *.tab.c - -maintainer-clean-compile: - -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -maintainer-clean-libtool: - -consolechars: $(consolechars_OBJECTS) $(consolechars_DEPENDENCIES) - @rm -f consolechars - $(LINK) $(consolechars_LDFLAGS) $(consolechars_OBJECTS) $(consolechars_LDADD) $(LIBS) - -showcfont: $(showcfont_OBJECTS) $(showcfont_DEPENDENCIES) - @rm -f showcfont - $(LINK) $(showcfont_LDFLAGS) $(showcfont_OBJECTS) $(showcfont_LDADD) $(LIBS) - -clrunimap: $(clrunimap_OBJECTS) $(clrunimap_DEPENDENCIES) - @rm -f clrunimap - $(LINK) $(clrunimap_LDFLAGS) $(clrunimap_OBJECTS) $(clrunimap_LDADD) $(LIBS) - -install-binSCRIPTS: $(bin_SCRIPTS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(bin_SCRIPTS)'; for p in $$list; do \ - if test -f $$p; then \ - echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \ - $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \ - else if test -f $(srcdir)/$$p; then \ - echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \ - $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \ - else :; fi; fi; \ - done - -uninstall-binSCRIPTS: - @$(NORMAL_UNINSTALL) - list='$(bin_SCRIPTS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \ - done - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) - -mostlyclean-tags: - -clean-tags: - -distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = screenfonttools - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - -info-am: -info: info-am -dvi-am: -dvi: dvi-am -check-am: all-am -check: check-am -installcheck-am: -installcheck: installcheck-am -install-exec-am: install-binPROGRAMS install-binSCRIPTS -install-exec: install-exec-am - -install-data-am: -install-data: install-data-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS -uninstall: uninstall-am -all-am: Makefile $(PROGRAMS) $(SCRIPTS) -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(bindir) - - -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: -mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \ - mostlyclean-compile mostlyclean-libtool \ - mostlyclean-tags mostlyclean-generic - -mostlyclean: mostlyclean-am - -clean-am: clean-binPROGRAMS clean-noinstPROGRAMS clean-compile \ - clean-libtool clean-tags clean-generic mostlyclean-am - -clean: clean-am - -distclean-am: distclean-binPROGRAMS distclean-noinstPROGRAMS \ - distclean-compile distclean-libtool distclean-tags \ - distclean-generic clean-am - -rm -f libtool - -distclean: distclean-am - -maintainer-clean-am: maintainer-clean-binPROGRAMS \ - maintainer-clean-noinstPROGRAMS \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-tags maintainer-clean-generic \ - distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-am - -.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ -maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ -mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \ -clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \ -mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool uninstall-binSCRIPTS \ -install-binSCRIPTS tags mostlyclean-tags distclean-tags clean-tags \ -maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \ -installcheck-am installcheck install-exec-am install-exec \ -install-data-am install-data install-am install uninstall-am uninstall \ -all-redirect all-am all installdirs mostlyclean-generic \ -distclean-generic clean-generic maintainer-clean-generic clean \ -mostlyclean distclean maintainer-clean - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru console-tools-0.2.3/screenfonttools/README console-tools-0.2.3/screenfonttools/README --- console-tools-0.2.3/screenfonttools/README 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/screenfonttools/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -Several corrections in kbd-0.90 are due to shields@tembel.org -(Michael Shields). - -jrs@world.std.com (Rick Sladkey) suggested some improvements -to the Makefile. - -resize has been renamed resizecons in order to avoid name conflicts. - -disalloc has been renamed deallocvt since people tell me -that `disallocate' is bad English; also it is good to have -the `vt' in the name, just like in chvt. -Now open should be renamed openvt... - -A few Unicode related things are not installed by default, since -not many people use them. Install them yourself, if you need them. diff -Nru console-tools-0.2.3/screenfonttools/showcfont.c console-tools-0.2.3/screenfonttools/showcfont.c --- console-tools-0.2.3/screenfonttools/showcfont.c 1999-04-08 22:11:15.000000000 +0000 +++ console-tools-0.2.3/screenfonttools/showcfont.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,129 +0,0 @@ -/* showfont.c - sidplay a screen-font's contents - * ydi, 1997-10, from work by aeb - */ -#include <stdio.h> -#include <sys/ioctl.h> -#include <sys/types.h> -#include <linux/kd.h> - -#include <lct/local.h> -#include <lct/utils.h> -#include <lct/console.h> - -static void usage(char *progname) -{ - printf(_("Usage: %s\n" - "Displays a screen-font's contents.\n"), progname); - OPTIONS_ARE(); - - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - -void main(int argc, char* argv[]) -{ - int i, j, fontsize; - char s[10]; - unsigned w; - int fd; - char format[10]; /* indeed 8 should be enough */ - int was_utf; - - int nchars_in_row; - char *std_hspace, *sep_hspace; - - setuplocale(); - - simple_options(argc, argv, usage, strip_path(argv[0])); - - /* find the console */ - fd = get_console_fd(NULL); - - was_utf = is_in_UTF8_mode(fd); - - /* - * get the size of current font - */ - /* FIXME: wrap this into libconsole */ -#ifdef GIO_FONTX - { - struct consolefontdesc cfd; - - cfd.charcount = 0; - cfd.chardata = NULL; - if (ioctl (fd, GIO_FONTX, &cfd)) - { - perror("GIO_FONTX"); - fontsize = 256; - } - else - fontsize = cfd.charcount; - } -#else - fontsize = 256; -#endif - - if (fontsize == 512) - { - nchars_in_row = 32; - std_hspace = " "; - sep_hspace = " "; - } - else - { - nchars_in_row = 16; - std_hspace = " "; - sep_hspace = " "; - } - -/* fprintf (stderr, "fontsize = %d\n", fontsize); */ - - if (!was_utf) - printf("\033%%G"); /* maybe enter Unicode mode */ - - /* compute necessary width to write all fontposes in hex */ - for (i = fontsize - 1, w = 0; i; i >>= 4, w++); - - /* use it to create the format */ - sprintf (format, "0x%%0%ux:", w); - - /* display header */ - for (i = -3; i < (signed)w; i++) - putchar (' '); - for (i = 0; i < nchars_in_row; i++) - { - fputs ((i%8) ? std_hspace : sep_hspace, stdout); - putchar ("0123456789ABCDEF"[i%16]); - } - putchar ('\n'); - - for (i = -2; i < (signed)w; i++) - putchar (' '); - puts ("+"); - - /* for each line */ - for (i = 0; i < fontsize; ) - { - /* start of line "0x00".."0xF0", or "0x000".."0x1F0", or... */ - printf (format, i); - - /* the chars */ - for (j = 0; j < nchars_in_row; j++, i++) - { - ucs2_to_utf8 (0xF000 + i, s); - fputs ((i%8) ? std_hspace : sep_hspace, stdout); - fputs (s, stdout); - } - - /* final CR */ - printf ("\n"); - - /* display as 128-chars groups */ - if (!(i % 128)) printf("\n"); - } - - if (!was_utf) - printf("\033%%@"); /* maybe leave Unicode mode */ - - exit(0); -} diff -Nru console-tools-0.2.3/screenfonttools/unicode_start console-tools-0.2.3/screenfonttools/unicode_start --- console-tools-0.2.3/screenfonttools/unicode_start 1999-04-08 22:11:15.000000000 +0000 +++ console-tools-0.2.3/screenfonttools/unicode_start 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -#!/bin/sh -# start unicode mode - -kbd_mode -u - -if vt-is-UTF8 --quiet ; then - echo "Already in UTF8 mode" - exit 0 -fi - -case $# in - 2) - consolechars --font=$1 --sfm=$2 - ;; - 1) - consolechars --font=$1 - ;; - 0) - ;; - *) - echo "usage: unicode_start [font [unicode map]]" - ;; -esac - -# Since 1.2.1 - for older kernels, use: echo -n -e '\033%8' -echo -n -e '\033%G' diff -Nru console-tools-0.2.3/screenfonttools/unicode_stop console-tools-0.2.3/screenfonttools/unicode_stop --- console-tools-0.2.3/screenfonttools/unicode_stop 1999-04-08 21:29:41.000000000 +0000 +++ console-tools-0.2.3/screenfonttools/unicode_stop 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -#!/bin/sh -# stop unicode - -kbd_mode -a - -if ! vt-is-UTF8 --quiet ; then - echo "Already in byte-mode" - exit 0 -fi - -echo -n -e '\033%@' diff -Nru console-tools-0.2.3/stamp-h.in console-tools-0.2.3/stamp-h.in --- console-tools-0.2.3/stamp-h.in 1999-10-25 20:48:52.000000000 +0000 +++ console-tools-0.2.3/stamp-h.in 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -timestamp diff -Nru console-tools-0.2.3/TODO console-tools-0.2.3/TODO --- console-tools-0.2.3/TODO 1999-04-08 21:29:39.000000000 +0000 +++ console-tools-0.2.3/TODO 1970-01-01 00:00:00.000000000 +0000 @@ -1,304 +0,0 @@ -* Short-term plans: - -** implement libcfont - -** writing tools to convert between libcfont-supported formats - -** move font files out of console-tools, distributed in BDF (or other - source) format, with PSF files built from them. That should (at - last) provide homogeneous font-families. - -** again, separate correctly libcfont from libconsole (esp. wrt cfontdesc) - - -* General: - -** keyboard/screen should be restored to a default state on user logout (when - it is VT-specific ;) - -** clearly define which functionnalities aim at the sysadmin, and which at the - user - make the drivers/utilities evolve according to these guidelines. - (eg. currently some programs are documented in man.8, and I can't see - what's the logic behind that [ydi]) - -** rename "screen/console map" to "application charset map" - -** rename "unimap" to "screen font map" - - - -* tools-level: - -** finish openvt integration into console-tools (getopt, gettext, ...) - - -** doc: - -*** create missing manpages. - -*** use DEFKMAP (now defined in lib/console.h) to build loadkeys.1 - -*** update setleds docstring and manpage. - - -** libcfont - -** add BDF format, and maybe Qrczak's too - -** add sfm-loading code into read_simple_font(). Requires that - findfile() is reentrant. - - -** libconsole - -*** cleanup lib/ksyms.[ch] from 'externs'. - -*** move keymap-loading stuff into lib/. - - -** libctutils - -*** implement some consistant verbosity mechanism. - -*** make findfile() reentrant. Use a context as parameter ? - -*** turn forks into threads in findfile.c. - -*** in findfile::do_pipe(), feeder could be spared when identifier exists - and decompressor doesn't. - -*** maybe findfile() should not search the path when there are slashes in the - filename. - -*** add info function for findfile() about supported decompressor programs, - for use in --help messages. - -*** magics mechanism should be split out of findfile() for easier use - by other stuff. - - -** libs - general - -*** cleanup libs dependancies. - -*** suppress non-local exit() calls. - -*** make interfaces independant from kernel structures. - - -** consolechars: - -*** move default font/sfm/acm/kmap-loading code into libconsole. - -*** should SIGWINCH gpm if necessary. Use a conffile in /usr/lib in which - programs needing that should register; provide registering script. - -*** -om should output ASCII files. - -*** -m should be able to read wg15-locale files from - /usr/share/i18n/charmap/. Use sed-script to convert input for this ? - -*** should allow to choose one of the 3 default tables - (cp437/latin1/dec). - -*** should allow kernel-level font-reset (see PIO_FONTRESET ioctl - - unimplemented ?). - -*** honour font-height argument when saving a font, warning if - significantly different from effective height (eg. +-2 scanlines ?). - -*** should allow the user to set a font without resizing the screen (is it - implemented in kernel ?). - - -** keyboard: - -*** auto-generate fallback tables from the Unicode official table, other than - for latin characters (eg. arabic, greek). - -*** showkey: add command for showing keys in K_UNICODE mode ? - -*** showkey: find a way to implement an alternative to --keymap, displaying eg. - modifier keys. Emulate the kernel's behaviour ? Link with part of the - kernel's code ? Ask the kernel for current keymap translations ? - - -** screen-font tools: - -*** showcfont could get screen geometry to make all chars fit on one screen. - - -** font-file tools: - -*** design and implement XPSF format to supercede PSF, CPI and CP. - -*** drop CP production from codepage ? - -*** make psf* use find*() to open fonts/unimaps - -*** generalize psf_read_header() for use in setfont.c::loadnewfont() and psftool - - - -** configure.in / acinclude.m4 - -*** allow {PIO,GIO}_*X ioctl's to be: - - detected in running kernel - - {en,dis}abled at configure-time - -*** Add support for debugging libs (-lcheck, dmalloc, checker, etc.) - - - -** General: - -*** further support assert / -DNDEBUG - -*** make a `showpalette' tool. - -*** fully GNU-ify command-line interfaces (use getopt_long; esp. add - --help/--version to all programs) - mostly done by Alastair. - -*** get in touch with the GGI team to have the lct support their - driver. Already tried without success (no answer). - - - -* kernel-level: - -** Closely look at what the GGI project has done. <http://synergy.foo.net/~ggi> - -** Keyboard: - -*** factorize keyboard.c and keyb_m68k.c - -*** strings produced by a function key cannot contain \000; - many other places this char is excluded - -*** investigate a new keyboard model with the following constraints: - - special keys do not clash with Unicode. - - keymap symbols always map to unicode, and a single keymap is used for both - UTF and 8bit modes. Then Application Charset Map is used if the console is - in 8bit mode to pass the TTY driver the correct byte, ignoring Unicodes - not in current ACM. - - thus there would be no need for a keyboard unicode mode. - - ASCII_[0-9] keys would be used as now (identity mapping) when in 8bit - mode, and in Unicode mode would be turned to Unicode using the current ACM - (for now it matches unicodes by decimal value, who uses that outside of - latin1 ?) - - -** Font support: - -*** add some #def telling how big a font can be used with PIO_FONTX ? - - -** Unicode support: - -*** selection can now cut & paste 8-bit chars, but not yet Unicode (vc_scrbuf - should probably be UCS2-encoded, instead of fontpos-encoded) - -*** compose does not work together with Unicode - (struct kbdiacr has three chars: base + diacr -> result, - but the result should be a string) - -*** current status (translation table, Unicode output) can be set, - but not read out from the kernel; thus, showfont changes the - status, but cannot restore it - -*** con_write(): what if conv_uni_to_pc(U+fffd) returns -4 (not found) ? - Is it possible ? (see PIO_UNIMAP) - -*** what should set-font without unimap do (ie. when hashtable_contents_valid == 0) ? - Forbid P/GIO_UNIMAPSCRN ? Sanity check on MAPSCRN, maybe with fix for values - not in straight-to-font zone ? - - -** Virtual terminals: - -*** implement VT groups: - + Span attributes between console/group/VT. (videomode, size, font, unimap - would be useful group attributes). - + Perhaps hierarchical groups if it turns out they would be useful (the - console being the largest group, VTs being smallest), with "attribute - inheritance and move", allowing to customize which parameters are shared. - In clear, one should be able to specify which group in the hierarchy - carries which attribute (like font, VT size, etc.) ; there will be - constraints on attribute placements/values in the hierarchy: font is - cell-size dependant ; multiple unimaps sharing one font are likely not to - happen, but who knows ; color maps are independant. One might eg. want a - small-chars ASCII VT, and a larger-chars Arabic or Ethiopic VT. - + Newly allocated VT belongs to active VT's group (to active group if - hierarchical). - + VT can then change its group to another's group (join) or create its own. - + New keymap symbols for in-group navigation (assuming hierarchical): - > {Next,Prev}_Group would act with group as {Incr,Decr}_Console do now - > Show_Group could display (during 1s or so) current active_group - (eg. print as N/N/../N where the first position is for the widest group - containing active VT, the last position is for the active group, each - position is for one hierarchical group between those, and the number - displayed in each position is the nuber of the smallest VT in that - group. If I'm not mistaken, it should be unambiguous) - > {Up,Down}_Group would change active_group within current VT's - ancestors, displaying like Show_Group - > {Next,Prev}_VT would be like {Incr,Decr}_Console, but inside - active_group - - - -** General: - -*** vt_kern.h::BROKEN_GRAPHICS_PROGRAMS should be config-time option ? -*** <linux/tty.h>::MAX_NR_USER_CONSOLES should be config-time parameter ? -*** vga.c::CAN_LOAD_{EGA_FONTS,PALETTE} should be config-time option ? - - - -** Find in driver: - -*** VGA_CAN_DO_64KB - - - -** Optimization: - -*** in consolemap.c::con_get_unimap() : why do put_user() use '+' and not '|' ? -*** console.c::scrw2glyph() : idem -*** console.c::con_write() : idem (grep "scr_writew") -*** console.c::console_print() : idem (grep "scr_writew") - -*** console.c::con_write() : "c > 0x7f" should be "c & 0x80" - -*** console.c::insert_char() : would spare "tmp" by copying RtoL - - -** Points to be investigated: - -*** what was so messy with VTs of potentially different sizes (apart from - font-size problems, which would be solved by the "groups" idea) ? - -*** why is inv_norm_transl[]==inverse_translations[LAT1_MAP] the only static - inverse_translations[*_MAP] in consolemap.c ? - -*** in consolemap.c::set_inverse_transl(): is it widely accepted that SHY and - such are in encoded to be < 32 ? What about 127-255 ? SHY is 0xAD in - latin1 ! Is it just the comment that is incorrect, or is it the code ? - -*** could find no doc about special unicodes U+fffd (replacement char), - U+fff[ef] (non-printable), U+feff, U+200[a-f] ("zero-width space") - -*** some .h files use MAX_NR_CONSOLES without including <linux/tty.h>. Is this reasonable ? -*** some .c files use HZ without including <asm/param.h> (esp. console.c) - -*** renamings: - -**** consolemap.c::translations -> 8bit_to_ucs2? -**** consolemap.c::inverse_translations -> fontpos_to_8bit_tables -**** consolemap.c::inv_translate -> fontpos_to_8bit(_current)? -**** consolemap.c::conv_uni_to_pc -> conv_uni_to_fontpos | apply_unimap - - - -* FAQ - -** document the XKB extension to X11 diff -Nru console-tools-0.2.3/vttools/chvt.c console-tools-0.2.3/vttools/chvt.c --- console-tools-0.2.3/vttools/chvt.c 1999-04-08 22:11:15.000000000 +0000 +++ console-tools-0.2.3/vttools/chvt.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,88 +0,0 @@ -/* - * chvt.c - aeb - 940227 - Change virtual terminal - */ -#include <stdio.h> -#include <stdlib.h> -#include <fcntl.h> -#include <sys/types.h> -#include <sys/ioctl.h> -#include <linux/vt.h> -#include <getopt.h> - -#include <lct/local.h> -#include <lct/utils.h> -#include <lct/console.h> - -static void usage(char *progname) -{ - printf(_("Usage: %s [vt_number]\n" - "Change virtual terminal\n"), progname); - OPTIONS_ARE(); - OPT("-t --vterm=v ", _("virtual terminal")); - - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - -int parse_args (int argc,char **argv) -{ - char * progname = strip_path(argv[0]); - const struct option long_opts[] = { - {"vterm", 1, NULL, 't' }, - {"help" , no_argument, NULL, 'h' }, - {"version", no_argument, NULL, 'V' }, - { NULL, 0, NULL, 0} - }; - int c, cons = -1; - while ( (c = getopt_long (argc, argv, "Vht:", long_opts, NULL)) != EOF) { - switch (c) { - case 'h': - usage(progname); - exit(0); - case 'V': - version(progname); - exit(0); - case 't': /* screen */ - cons = atoi(optarg); - break; - case '?': - default: - usage(progname); - exit(1); - } - } - if (cons == -1) - { - if (argc == optind+1) - cons = atoi(argv[optind]); - else { - fprintf(stderr,_("%s: Wrong number of args\n"), progname); - exit(1); - } - } - - return cons; -} - -int main(int argc, char *argv[]) -{ - int fd, num; - - setuplocale(); - - num = parse_args (argc, argv); - - if (-1 == (fd = get_console_fd(NULL))) exit (1); - - if (ioctl(fd,VT_ACTIVATE,num)) - { - perror("chvt: VT_ACTIVATE"); - exit(1); - } - if (ioctl(fd,VT_WAITACTIVE,num)) - { - perror("VT_WAITACTIVE"); - exit(1); - } - exit(0); -} diff -Nru console-tools-0.2.3/vttools/deallocvt.c console-tools-0.2.3/vttools/deallocvt.c --- console-tools-0.2.3/vttools/deallocvt.c 1999-04-08 22:11:15.000000000 +0000 +++ console-tools-0.2.3/vttools/deallocvt.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,135 +0,0 @@ -/* - * disalloc.c - aeb - 940501 - Disallocate virtual terminal(s) - * Renamed deallocvt. - */ -#include <stdlib.h> -#include <errno.h> -#include <fcntl.h> -#include <stdio.h> -#include <sys/types.h> -#include <sys/ioctl.h> -#include <linux/vt.h> -#include <getopt.h> -#include <lct/local.h> -#include <lct/utils.h> -#include <lct/console.h> - -char *progname; -int fd; -int exit_status = EX_OK; - -static void usage(char *progname) -{ - printf(_("Usage: %s [N1 N2 ...]\n" - "Deallocate virtual terminal(s)\n"), progname); - OPTIONS_ARE(); - OPT("-t --vterm=v ", _("virtual terminal")); - - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - - -void dealloc_vt(char *vt) -{ - int num; - - num = atoi(vt); - - if (num == 0) - { - fprintf(stderr, _("%s: 0: illegal VT number\n"), progname); - - /* set unconditionnaly: worse problem */ - exit_status = EX_DATAERR; - } -#if 0 - else if (num == 1) - { - fprintf(stderr, - _("%s: VT 1 is the console and cannot be deallocated\n"), - progname); - - /* do not override DATAERR */ - if (exit_status != EX_DATAERR) - exit_status = EX_UNAVAILABLE; - } -#endif - else if (ioctl(fd,VT_DISALLOCATE,num)) - { - perror("VT_DISALLOCATE"); - fprintf(stderr, _("%s: could not deallocate console %d\n"), - progname, num); - - /* do not return TEMPFAIL if something worse already occured */ - if (!exit_status) - exit_status = EX_TEMPFAIL; - } -} - - - -int main(int argc, char *argv[]) -{ - int c, done = 0; - const struct option long_opts[] = - { - { "help", no_argument, NULL, 'h' }, - { "version", no_argument, NULL, 'V' }, - { "vterm", 1, NULL, 't' }, - { NULL, 0, NULL, 0 } - }; - - setuplocale(); - - if (argc < 1) /* unlikely */ - exit(1); - progname = strip_path(argv[0]); - - while ( (c = getopt_long (argc, argv, "Vh", long_opts, NULL)) != EOF) { - switch (c) - { - case 'h': - usage(progname); - exit(0); - case 'V': - version(progname); - exit(0); - case 't': - dealloc_vt (optarg); - done = 1; - break; - case '?': - usage(progname); - exit(1); - } - } - - if (-1 == (fd = get_console_fd(NULL))) - exit (EX_OSERR); - - if (optind < argc) - { - /* More left to process */ - while (optind < argc) - dealloc_vt( argv [ optind++]); - } - else - if (done == 0) - { - /* deallocate all unused consoles */ - if (ioctl(fd,VT_DISALLOCATE,0)) - { - perror("VT_DISALLOCATE"); - fprintf(stderr, - _("%s: deallocating all unused consoles failed\n"), - progname); - exit(EX_OSERR); - } - } - - exit (exit_status); -} - - - diff -Nru console-tools-0.2.3/vttools/fgconsole.c console-tools-0.2.3/vttools/fgconsole.c --- console-tools-0.2.3/vttools/fgconsole.c 1999-04-08 22:11:15.000000000 +0000 +++ console-tools-0.2.3/vttools/fgconsole.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ -/* - * fgconsole.c - aeb - 960123 - Print foreground console - * ydi, 1997-09-22: use getfd() - */ -#include <stdio.h> -#include <sys/ioctl.h> -#include <linux/vt.h> - -#include <lct/local.h> -#include <lct/console.h> - -static void usage(char *progname) -{ - printf(_("Usage: %s [vt_number]\n" - "Print foreground console\n"), progname); - OPTIONS_ARE(); - - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - -void main(int argc, char **argv) -{ - struct vt_stat vtstat; - int fd; - - setuplocale(); - - simple_options (argc, argv, usage, strip_path (argv[0])); - - if (-1 == (fd = get_console_fd(NULL))) exit (1); - - if (ioctl(fd, VT_GETSTATE, &vtstat)) - { - perror("fgconsole: VT_GETSTATE"); - exit(1); - } - printf("%d\n", vtstat.v_active); -} diff -Nru console-tools-0.2.3/vttools/Makefile.am console-tools-0.2.3/vttools/Makefile.am --- console-tools-0.2.3/vttools/Makefile.am 1999-04-08 21:29:40.000000000 +0000 +++ console-tools-0.2.3/vttools/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -# -*- makefile -*- - -AUTOMAKE_OPTIONS = foreign -INCLUDES = -I$(top_srcdir)/include - -bin_PROGRAMS = chvt deallocvt writevt fgconsole screendump setvesablank \ - vcstime vt-is-UTF8 openvt @RESIZECONS@ -EXTRA_PROGRAMS = resizecons - -LDADD = ../lib/libctlocal.a ../lib/libconsole.la ../lib/libctutils.la - -vcstime_LDADD = ../lib/libctlocal.a -screendump_LDADD = ../lib/libctlocal.a ../lib/libctutils.la -writevt_LDADD = ../lib/libctlocal.a ../lib/libctutils.la -resizecons_LDADD = ../lib/libcfont.la $(LDADD) diff -Nru console-tools-0.2.3/vttools/Makefile.in console-tools-0.2.3/vttools/Makefile.in --- console-tools-0.2.3/vttools/Makefile.in 1999-10-25 20:58:08.000000000 +0000 +++ console-tools-0.2.3/vttools/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,441 +0,0 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# -*- makefile -*- - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AS = @AS@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -COMPAT = @COMPAT@ -DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ -FONTDIR = @FONTDIR@ -GENCAT = @GENCAT@ -GMOFILES = @GMOFILES@ -GMSGFMT = @GMSGFMT@ -GT_NO = @GT_NO@ -GT_YES = @GT_YES@ -INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ -INSTOBJEXT = @INSTOBJEXT@ -INTLDEPS = @INTLDEPS@ -INTLLIBS = @INTLLIBS@ -INTLOBJS = @INTLOBJS@ -KEYCODES = @KEYCODES@ -KEYMAPDIR = @KEYMAPDIR@ -LD = @LD@ -LEX = @LEX@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LOADKEYS = @LOADKEYS@ -MAKEINFO = @MAKEINFO@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -NM = @NM@ -OBJDUMP = @OBJDUMP@ -PACKAGE = @PACKAGE@ -POFILES = @POFILES@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -RESIZECONS = @RESIZECONS@ -TRANSDIR = @TRANSDIR@ -UNICODEDATA = @UNICODEDATA@ -UNICODELISTS = @UNICODELISTS@ -USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -VIDEOMODEDIR = @VIDEOMODEDIR@ -YACC = @YACC@ -l = @l@ -translit = @translit@ - -AUTOMAKE_OPTIONS = foreign -INCLUDES = -I$(top_srcdir)/include - -bin_PROGRAMS = chvt deallocvt writevt fgconsole screendump setvesablank vcstime vt-is-UTF8 openvt @RESIZECONS@ - -EXTRA_PROGRAMS = resizecons - -LDADD = ../lib/libctlocal.a ../lib/libconsole.la ../lib/libctutils.la - -vcstime_LDADD = ../lib/libctlocal.a -screendump_LDADD = ../lib/libctlocal.a ../lib/libctutils.la -writevt_LDADD = ../lib/libctlocal.a ../lib/libctutils.la -resizecons_LDADD = ../lib/libcfont.la $(LDADD) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = -PROGRAMS = $(bin_PROGRAMS) - - -DEFS = @DEFS@ -I. -I$(srcdir) -I.. -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -resizecons_SOURCES = resizecons.c -resizecons_OBJECTS = resizecons.o -resizecons_DEPENDENCIES = ../lib/libcfont.la ../lib/libctlocal.a \ -../lib/libconsole.la ../lib/libctutils.la -resizecons_LDFLAGS = -chvt_SOURCES = chvt.c -chvt_OBJECTS = chvt.o -chvt_LDADD = $(LDADD) -chvt_DEPENDENCIES = ../lib/libctlocal.a ../lib/libconsole.la \ -../lib/libctutils.la -chvt_LDFLAGS = -deallocvt_SOURCES = deallocvt.c -deallocvt_OBJECTS = deallocvt.o -deallocvt_LDADD = $(LDADD) -deallocvt_DEPENDENCIES = ../lib/libctlocal.a ../lib/libconsole.la \ -../lib/libctutils.la -deallocvt_LDFLAGS = -writevt_SOURCES = writevt.c -writevt_OBJECTS = writevt.o -writevt_DEPENDENCIES = ../lib/libctlocal.a ../lib/libctutils.la -writevt_LDFLAGS = -fgconsole_SOURCES = fgconsole.c -fgconsole_OBJECTS = fgconsole.o -fgconsole_LDADD = $(LDADD) -fgconsole_DEPENDENCIES = ../lib/libctlocal.a ../lib/libconsole.la \ -../lib/libctutils.la -fgconsole_LDFLAGS = -screendump_SOURCES = screendump.c -screendump_OBJECTS = screendump.o -screendump_DEPENDENCIES = ../lib/libctlocal.a ../lib/libctutils.la -screendump_LDFLAGS = -setvesablank_SOURCES = setvesablank.c -setvesablank_OBJECTS = setvesablank.o -setvesablank_LDADD = $(LDADD) -setvesablank_DEPENDENCIES = ../lib/libctlocal.a ../lib/libconsole.la \ -../lib/libctutils.la -setvesablank_LDFLAGS = -vcstime_SOURCES = vcstime.c -vcstime_OBJECTS = vcstime.o -vcstime_DEPENDENCIES = ../lib/libctlocal.a -vcstime_LDFLAGS = -vt_is_UTF8_SOURCES = vt-is-UTF8.c -vt_is_UTF8_OBJECTS = vt-is-UTF8.o -vt_is_UTF8_LDADD = $(LDADD) -vt_is_UTF8_DEPENDENCIES = ../lib/libctlocal.a ../lib/libconsole.la \ -../lib/libctutils.la -vt_is_UTF8_LDFLAGS = -openvt_SOURCES = openvt.c -openvt_OBJECTS = openvt.o -openvt_LDADD = $(LDADD) -openvt_DEPENDENCIES = ../lib/libctlocal.a ../lib/libconsole.la \ -../lib/libctutils.la -openvt_LDFLAGS = -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -DIST_COMMON = Makefile.am Makefile.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -SOURCES = resizecons.c chvt.c deallocvt.c writevt.c fgconsole.c screendump.c setvesablank.c vcstime.c vt-is-UTF8.c openvt.c -OBJECTS = resizecons.o chvt.o deallocvt.o writevt.o fgconsole.o screendump.o setvesablank.o vcstime.o vt-is-UTF8.o openvt.o - -all: all-redirect -.SUFFIXES: -.SUFFIXES: .S .c .lo .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps vttools/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -mostlyclean-binPROGRAMS: - -clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) - -distclean-binPROGRAMS: - -maintainer-clean-binPROGRAMS: - -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - if test -f $$p; then \ - echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ - $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - list='$(bin_PROGRAMS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ - done - -.c.o: - $(COMPILE) -c $< - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< - -mostlyclean-compile: - -rm -f *.o core *.core - -clean-compile: - -distclean-compile: - -rm -f *.tab.c - -maintainer-clean-compile: - -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -maintainer-clean-libtool: - -resizecons: $(resizecons_OBJECTS) $(resizecons_DEPENDENCIES) - @rm -f resizecons - $(LINK) $(resizecons_LDFLAGS) $(resizecons_OBJECTS) $(resizecons_LDADD) $(LIBS) - -chvt: $(chvt_OBJECTS) $(chvt_DEPENDENCIES) - @rm -f chvt - $(LINK) $(chvt_LDFLAGS) $(chvt_OBJECTS) $(chvt_LDADD) $(LIBS) - -deallocvt: $(deallocvt_OBJECTS) $(deallocvt_DEPENDENCIES) - @rm -f deallocvt - $(LINK) $(deallocvt_LDFLAGS) $(deallocvt_OBJECTS) $(deallocvt_LDADD) $(LIBS) - -writevt: $(writevt_OBJECTS) $(writevt_DEPENDENCIES) - @rm -f writevt - $(LINK) $(writevt_LDFLAGS) $(writevt_OBJECTS) $(writevt_LDADD) $(LIBS) - -fgconsole: $(fgconsole_OBJECTS) $(fgconsole_DEPENDENCIES) - @rm -f fgconsole - $(LINK) $(fgconsole_LDFLAGS) $(fgconsole_OBJECTS) $(fgconsole_LDADD) $(LIBS) - -screendump: $(screendump_OBJECTS) $(screendump_DEPENDENCIES) - @rm -f screendump - $(LINK) $(screendump_LDFLAGS) $(screendump_OBJECTS) $(screendump_LDADD) $(LIBS) - -setvesablank: $(setvesablank_OBJECTS) $(setvesablank_DEPENDENCIES) - @rm -f setvesablank - $(LINK) $(setvesablank_LDFLAGS) $(setvesablank_OBJECTS) $(setvesablank_LDADD) $(LIBS) - -vcstime: $(vcstime_OBJECTS) $(vcstime_DEPENDENCIES) - @rm -f vcstime - $(LINK) $(vcstime_LDFLAGS) $(vcstime_OBJECTS) $(vcstime_LDADD) $(LIBS) - -vt-is-UTF8: $(vt_is_UTF8_OBJECTS) $(vt_is_UTF8_DEPENDENCIES) - @rm -f vt-is-UTF8 - $(LINK) $(vt_is_UTF8_LDFLAGS) $(vt_is_UTF8_OBJECTS) $(vt_is_UTF8_LDADD) $(LIBS) - -openvt: $(openvt_OBJECTS) $(openvt_DEPENDENCIES) - @rm -f openvt - $(LINK) $(openvt_LDFLAGS) $(openvt_OBJECTS) $(openvt_LDADD) $(LIBS) - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) - -mostlyclean-tags: - -clean-tags: - -distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = vttools - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - -info-am: -info: info-am -dvi-am: -dvi: dvi-am -check-am: all-am -check: check-am -installcheck-am: -installcheck: installcheck-am -install-exec-am: install-binPROGRAMS -install-exec: install-exec-am - -install-data-am: -install-data: install-data-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: uninstall-binPROGRAMS -uninstall: uninstall-am -all-am: Makefile $(PROGRAMS) -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - $(mkinstalldirs) $(DESTDIR)$(bindir) - - -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: -mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \ - mostlyclean-libtool mostlyclean-tags \ - mostlyclean-generic - -mostlyclean: mostlyclean-am - -clean-am: clean-binPROGRAMS clean-compile clean-libtool clean-tags \ - clean-generic mostlyclean-am - -clean: clean-am - -distclean-am: distclean-binPROGRAMS distclean-compile distclean-libtool \ - distclean-tags distclean-generic clean-am - -rm -f libtool - -distclean: distclean-am - -maintainer-clean-am: maintainer-clean-binPROGRAMS \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-tags maintainer-clean-generic \ - distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-am - -.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ -maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ -mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool tags mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ -dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ -install-exec install-data-am install-data install-am install \ -uninstall-am uninstall all-redirect all-am all installdirs \ -mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru console-tools-0.2.3/vttools/openvt.c console-tools-0.2.3/vttools/openvt.c --- console-tools-0.2.3/vttools/openvt.c 1999-08-31 20:50:12.000000000 +0000 +++ console-tools-0.2.3/vttools/openvt.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,434 +0,0 @@ -/* - * openvt.c open a vt to run a new command (or shell). - * - * Copyright (c) 1994 by Jon Tombs <jon@gtex02.us.es> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version - * 2 of the License, or (at your option) any later version. - */ - -/* - * Added the not-in-use check, aeb@cwi.nl, 940924. - * - * [Accidentally starting a process on a VT that is in use - * yields unfortunate effects: two processes reading the keyboard. - * This can be a disaster if the old process was in scancode mode.] - * - * Added the -u (`as user') stuff for use from inittab, - * Joshua Spoerri <josh@cooper.edu>, 1996-07-18 - * - * Fixed some bugs; made it a bit more robust; renamed to openvt - * aeb@cwi.nl, 1998-06-06. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <getopt.h> -#include <string.h> -#include <fcntl.h> -#include <dirent.h> -#include <pwd.h> -#include <errno.h> -#include <sys/ioctl.h> -#include <sys/stat.h> -#include <sys/vt.h> -#include <sys/types.h> -#include <sys/wait.h> - -#if defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ < 1 -#include <stdio_lim.h> -#endif - -#include <lct/console.h> -#include <lct/local.h> - -#ifndef NAME_MAX -#define NAME_MAX 255 -#endif - -/* - * There must be a universal way to find these! - */ - -#define TRUE (1) -#define FALSE (0) - - -/* - * Where your VTs are hidden - */ -#ifdef __linux__ -#define VTNAME "/dev/tty%d" -#endif - -#ifdef ESIX_5_3_2_D -#define VTBASE "/dev/vt%02d" -#endif - -#ifndef VTNAME -#error vt device name must be defined in openvt.c -#endif - -char *authenticate_user(int); - -void usage(char * progname) -{ - printf(_("Usage: %s [-c vtnumber] [-l] [-u] [-s] [-v] [-w] -- command_line\n"), progname); -} - -int main(int argc, char *argv[]) -{ - int opt, pid; - struct vt_stat vtstat; - int vtno = -1; - int fd = -1; - char optc = FALSE; - char show = FALSE; - char login = FALSE; - char force = FALSE; - char verbose = FALSE; - char do_wait = FALSE; - char as_user = FALSE; - char vtname[sizeof VTNAME + 2]; /* allow 999 possible VTs */ - char *cmd = NULL, *def_cmd = NULL, *username = NULL; - - char * progname = strip_path(argv[0]); - - setuplocale(); - - /* - * I don't like using getopt for this, but otherwise this gets messy. - * POSIX/Gnu getopt forces the use of -- to separate child/program - * options. RTFM. - */ - while ((opt = getopt(argc, argv, "c:lsvfuw")) != -1) - { - switch (opt) - { - case 'c': - optc = 1; /* vtno was specified by the user */ - vtno = (int) atol(optarg); - if (vtno <= 0 || vtno > 63) - { - fprintf(stderr, _("illegal vt number `%s'\n") , optarg); - return 5; - } - /* close security holes - until we can do this safely */ - (void) setuid(getuid()); - break; - case 'l': - login = TRUE; - break; - case 's': - show = TRUE; - break; - case 'v': - verbose = TRUE; - break; - case 'f': - force = TRUE; - break; - case 'w': - do_wait = TRUE; - break; - case 'u': - /* we'll let 'em get away with the meaningless -ul combo */ - if(getuid()) - { - fprintf(stderr, - _("%s: only root can use the -u flag.\n"),argv[0]); - exit(1); - } - as_user = TRUE; - break; - default: - usage(progname); - exit(1); - } - } - - fd = get_console_fd(NULL); - if (fd < 0) - { - fprintf(stderr, - _("Could not get a file descriptor referring to the console\n")); - return(2); - } - - if (ioctl(fd, VT_GETSTATE, &vtstat) < 0) - { - perror(_("Can't get VTstate")); - return(4); - } - - if (vtno == -1) - { - if ((ioctl(fd, VT_OPENQRY, &vtno) < 0) || (vtno == -1)) - { - perror(_("Cannot find a free VT")); - return(3); - } - } else if (!force) - { - if (vtno >= 16) - { - fprintf(stderr, - _("Cannot check whether vt %d is free,\n" - "use `openvt -f' to force.\n"), vtno); - return(7); - } - if (vtstat.v_state & (1 << vtno)) - { - fprintf(stderr, - _("VT %d is in use; command aborted\n" - "use `openvt -f' to force."), vtno); - return(7); - } - } - - sprintf(vtname, VTNAME, vtno); - - /* Can we open the vt we want? */ - if ((fd = open(vtname, O_RDWR)) == -1) - { - int errsv = errno; - if (!optc) - { - /* We found vtno ourselves - it is free according - to the kernel, but we cannot open it. Maybe X - used it and did a chown. Try a few vt's more - before giving up. Note: the 16 is a kernel limitation. */ - int i; - for (i=vtno+1; i<16; i++) - if((vtstat.v_state & (1<<i)) == 0) - { - sprintf(vtname, VTNAME, i); - if ((fd = open(vtname, O_RDWR)) >= 0) - { - vtno = i; - goto got_vtno; - } - } - sprintf(vtname, VTNAME, vtno); - } - fprintf(stderr, _("Unable to open %s: %s\n"), - vtname, strerror(errsv)); - return(5); - } -got_vtno: - close(fd); - - /* Maybe we are suid root, and the -c option was given. - Check that the real user can access this VT. - We assume getty has made any in use VT non accessable */ - if (access(vtname, R_OK | W_OK) < 0) - { - fprintf(stderr, _("Cannot open %s read/write (%s)\n"), vtname, - strerror(errno)); - return (5); - } - - if (as_user) - username = authenticate_user(vtstat.v_active); - else - { - if (!geteuid()) - { - uid_t uid = getuid(); - chown(vtname, uid, getgid()); - setuid(uid); - } - - if (!(argc > optind)) - { - def_cmd = getenv("SHELL"); - if (def_cmd == NULL) - { - usage(progname); - exit(0); - } - cmd = malloc(strlen(def_cmd) + 2); - } - else - cmd = malloc(strlen(argv[optind]) + 2); - - if (login) - strcpy(cmd, "-"); - else - cmd[0] = '\0'; - - if (def_cmd) - strcat(cmd, def_cmd); - else - strcat(cmd, argv[optind]); - - if (login) - argv[optind] = cmd++; - } - - if (verbose) - fprintf(stderr, _("using VT %s\n"), vtname); - - fflush(stderr); - - if((pid = fork()) == 0) - { - /* leave current vt */ -#ifdef ESIX_5_3_2_D - if (setpgrp() < 0) -#else - if (setsid() < 0) -#endif - perror(_("Unable to set new session")); - - close(0); /* so that new vt becomes stdin */ - - /* and grab new one */ - if ((fd = open(vtname, O_RDWR)) == -1) /* strange ... */ - { - fprintf(stderr, _("Could not open %s R/W (%s)\n"), - vtname, strerror(errno)); - fflush(stderr); - _exit (1); /* maybe above user limit? */ - } - - if (show) - { - if (ioctl(fd, VT_ACTIVATE, vtno)) - { - fprintf(stderr, _("Could not activate vt %d (%s)\n"), - vtno, strerror(errno)); - fflush(stderr); - _exit (1); /* probably fd does not refer to a tty device file */ - } - - if (ioctl(fd, VT_WAITACTIVE, vtno)) - { - fprintf(stderr, _("Activation interrupted? (%s)\n"), - strerror(errno)); - fflush(stderr); - _exit (1); - } - } - close(1); - close(2); - if (fd > 2) - close(fd); - dup(fd); - dup(fd); - - /* forking here makes show and wait and switch back work even if the old vt was in X */ - if (!do_wait || fork() == 0) - { - if(as_user) - execlp("login", "login", "-f", username, NULL); - else if (def_cmd) - execlp(cmd, def_cmd, NULL); - else - execvp(cmd, &argv[optind]); - } - _exit(127); /* exec failed */ - } - - if ( pid < 0 ) - { - perror("openvt: fork() error"); - return(6); - } - - if ( do_wait ) - { - wait(NULL); - if (show) /* Switch back... */ - { - (void) ioctl(fd, VT_ACTIVATE, vtstat.v_active); - /* wait to be really sure we have switched */ - (void) ioctl(fd, VT_WAITACTIVE, vtstat.v_active); - } - } - - return 0; -} - - -/* - * Support for Spawn_Console: openvt running from init - * added by Joshua Spoerri, Thu Jul 18 21:13:16 EDT 1996 - * - * -u Figure out the owner of the current VT, and run - * login as that user. Suitable to be called by init. - * Shouldn't be used with -c or -l. - * Sample inittab line: - * kb::kbrequest:/usr/bin/openvt -us - * - * It is the job of authenticate_user() to find out who - * produced this keyboard signal. It is called only as root. - * - * Note that there is a race condition: curvt may not be the vt - * from which the keyboard signal was produced. - * (Possibly the signal was not produced at the keyboard at all, - * but by a "kill -SIG 1". However, only root can do this.) - * - * Conclusion: do not use this in high security environments. - * Or fix the code below to be more suspicious. - * - * Maybe it is better to just start a login at the new vt, - * instead of pre-authenticating the user with "login -f". - */ - -char * authenticate_user(int curvt) -{ - DIR *dp; - struct dirent *dentp; - struct stat buf; - dev_t console_dev; - ino_t console_ino; - uid_t console_uid; - char filename[FILENAME_MAX+12]; - struct passwd *pwnam; - - if (!(dp=opendir("/proc"))) - { - perror("/proc"); - exit(1); - } - - /* get the current tty */ - sprintf(filename,"/dev/tty%d", curvt); - if (stat(filename,&buf)) - { - perror(filename); - exit(1); - } - console_dev=buf.st_dev; - console_ino=buf.st_ino; - console_uid=buf.st_uid; - - /* get the owner of current tty */ - if (!(pwnam = getpwuid(console_uid))) - { - perror(_("can't getpwuid")); - exit(1); - } - - /* check to make sure that user has a process on that tty */ - /* this will fail for example when X is running on the tty */ - while ((dentp=readdir(dp))) - { - sprintf(filename,"/proc/%s/fd/0",dentp->d_name); - if (stat(filename,&buf)) - continue; - if(buf.st_dev == console_dev && buf.st_ino == console_ino - && buf.st_uid == console_uid) - goto got_a_process; - } - - fprintf(stderr, _("Could not find owner of current tty!\n")); - exit(1); - -got_a_process: - return pwnam->pw_name; -} diff -Nru console-tools-0.2.3/vttools/resizecons.c console-tools-0.2.3/vttools/resizecons.c --- console-tools-0.2.3/vttools/resizecons.c 1999-04-08 22:11:15.000000000 +0000 +++ console-tools-0.2.3/vttools/resizecons.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,567 +0,0 @@ -/* - * resizecons.c - change console video mode - * - * Version 0.90 - * - * How to use this: - * - * 1. Get svgalib, make restoretextmode, put it somewhere in your path. - * 2. Put vga=ask in /etc/lilo/config, boot your machine a number of times, - * each time with a different vga mode, and run the command - * "restoretextmode -w COLSxROWS". - * For me this resulted in the files 80x25, 80x28, 80x50, 80x60, 100x40, - * 132x25, 132x28, 132x44. Put these files in /usr/lib/kbd/videomodes - * (or in your current dir). - * 3. Now "resizecons COLSxROWS" will change your video mode. (Assuming you have - * an appropriate kernel, and svgalib works for your video card.) - * - * Note: this is experimental, but it works for me. Comments are welcome. - * You may have to be root to get the appropriate ioperm permissions. - * It is not safe to make this program suid root. - * - * aeb@cwi.nl - 940924 - * - * Harm Hanemaaijer added the -lines option, which reprograms the - * number of scanlines. He writes: - * - * Added -lines option, which reprograms the number of scanlines and - * the font height of the VGA hardware with register I/O, so that - * switching is possible between textmodes with different numbers - * of lines, in a VGA compatible way. It should work for 132 column - * modes also, except that number of columns cannot be changed. - * - * Standard VGA textmode uses a 400 scanline screen which is refreshed - * at 70 Hz. The following modes are supported that use this vertical - * resolution (C is the number of columns, usually 80 or 132). - * - * mode font height - * C x 25 16 - * C x 28 14 - * C x 36 11 (non-standard height) - * C x 44 9 (8-line fonts are a good match) - * C x 50 8 - * - * The following modes are supported with a 480 scanline resolution, - * refresh at 60 Hz. Some not quite VGA compatible displays may not - * support this (it uses the same vertical timing as standard VGA - * 640x480x16 graphics mode). - * - * mode font height - * C x 30 16 - * C x 34 14 - * C x 40 12 (non-standard height) - * C x 60 8 - * - * Two 12-line fonts are already in the consolefonts directory, - * namely lat1-12.psf and lat2-12.psf. - * For the 36 lines mode (11 line font), lat1-10.psf and lat2-10.psf - * can be used. - * - * hhanemaa@cs.ruu.nl - 941028 - * - * Notes: - * - * In the consolefonts directory there is 'default8x9' font file but - * no 'default8x8'. Why is this? The standard VGA BIOS has an 8-line - * font, and they are much more common in SVGA modes (e.g. 50 and 60 - * row modes). It is true that standard VGA textmode uses effectively - * 9 pixel wide characters, but that has nothing to do with the font - * data. - */ - -#include <stdlib.h> -#include <unistd.h> -#include <fcntl.h> -#include <stdio.h> -#include <errno.h> -#include <signal.h> -#include <string.h> -#include <sys/ioctl.h> -#if (__GNU_LIBRARY__ >= 6) -# include <sys/perm.h> -#else -# include <linux/types.h> -# include <linux/termios.h> -#endif -#include <linux/vt.h> - -#include <getopt.h> -#include <lct/local.h> -#include <lct/utils.h> -#include <lct/console.h> -#include <lct/font.h> /* findvideomode() */ - -#define MODE_RESTORETEXTMODE 0 -#define MODE_VGALINES 1 - -/* VGA textmode register tweaking. */ -static void vga_init_io(); -static void vga_400_scanlines(); -static void vga_480_scanlines(); -static void vga_set_fontheight( int ); -static int vga_get_fontheight(); -static void vga_set_cursor( int, int ); -static void vga_set_verticaldisplayend_lowbyte( int ); - -static char *progname; - -static void usage(char *progname) -{ - printf(_("Usage: %s COLSxROWS\n" - " %s COLS ROWS\n" - " %s -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n"), - progname, progname, progname); -} - -static void parse_cmdline (int argc, char **argv, - int *mode, int *rows, int *cols) -{ - int c; - char *p; - const struct option long_opts[] = - { - { "cols", 1, NULL, 'c' }, - { "lines", 1, NULL, 'l'}, - { "rows", 1, NULL, 'r'}, - { "help", no_argument, NULL, 'h' }, - { "version", no_argument, NULL, 'v' }, - { NULL, 0, NULL, 0 } - }; - - while ( (c = getopt_long (argc, argv, "-vhc:r:l:", long_opts, NULL)) != EOF) - { - switch (c) - { - case 'h': - usage(progname); - exit(0); - case 'v': - version(progname); - exit(0); - case 'c': - *cols = atoi(optarg); - if (*cols == 0) - { - fprintf(stderr, _("%s: Invalid number of columns: %s\n"), - progname, optarg); - exit(1); - } - break; - case 'r': - *rows = atoi(optarg); - if (*rows == 0) - { - fprintf(stderr,_("%s: Invalid number of rows: %s\n"), - progname, optarg); - exit(1); - } - break; - case 'l': /* lines */ - *rows = atoi(optarg); - *mode = MODE_VGALINES; - break; - case '?': - usage(progname); - exit(1); - } - } - - - if (argc == optind +1) /* COLSxROWS case */ - { - if (*rows || *cols) - { - fprintf(stderr,_("%s: Invalid arguments"), - progname); - exit(1); - } - if ((p = index (argv[optind],'x')) != 0) - { - *cols = atoi (argv[optind]); - *rows = atoi (p+1); - return; - } - else - { - fprintf(stderr,_("%s: Unrecognized argument"), - progname); - exit(1); - } - return; - - } - - if (argc == optind +2) /* COLS ROWS case */ - { - if (*rows || *cols) - { - fprintf(stderr,_("%s: Invalid arguments"), - progname); - exit(1); - } - *cols = atoi(argv[optind]); - *rows = atoi(argv[optind+1]); - return; - } - - if (argc == optind && *rows && *cols) - return; - - fprintf (stderr, _("%s: bad number of arguments\n"), - progname); - exit(1); -} - - -int main(int argc, char* argv[]) -{ - int rr = 0, cc = 0, fd, i, mode = MODE_RESTORETEXTMODE; - struct vt_sizes vtsizes; - struct vt_stat vtstat; - struct winsize winsize; - char tty[12], cmd[80], infile[1024]; - FILE *fin; - char *defaultfont; - char pathname[1024]; - - setuplocale(); - - progname = strip_path(argv[0]); - parse_cmdline (argc, argv, &mode, &rr, &cc); - - if (mode == MODE_RESTORETEXTMODE) - { - /* prepare for: restoretextmode -r 80x25 */ - sprintf(infile, "%dx%d", cc, rr); - fin = findvideomode(infile, pathname, sizeof(pathname), stdin, NULL); - if (!fin) - { - fprintf(stderr, _("%s: cannot find videomode file %s\n"), progname, infile); - exit(EX_NOINPUT); - } - fclose(fin); - } - - if (-1 == (fd = get_console_fd(NULL))) exit (EX_OSERR); - - if(ioctl(fd, TIOCGWINSZ, &winsize)) - { - perror("TIOCGWINSZ"); - exit(EX_OSERR); - } - - if (mode == MODE_VGALINES) - { - /* Get the number of columns. */ - cc = winsize.ws_col; - if (rr != 25 && rr != 28 && rr !=30 && rr != 34 && rr != 36 - && rr != 40 && rr != 44 && rr != 50 && rr != 60) - { - fprintf(stderr, _("Invalid number of lines\n")); - exit(EX_DATAERR); - } - } - - if(ioctl(fd, VT_GETSTATE, &vtstat)) - { - perror("VT_GETSTATE"); - exit(EX_OSERR); - } - - vtsizes.v_rows = rr; - vtsizes.v_cols = cc; - vtsizes.v_scrollsize = 0; - - vga_init_io(); /* maybe only if (mode == MODE_VGALINES) */ - - if(ioctl(fd, VT_RESIZE, &vtsizes)) - { - perror("VT_RESIZE"); - exit(EX_OSERR); - } - - if (mode == MODE_VGALINES) - { - /* Program the VGA registers. */ - int scanlines_old; - int scanlines_new; - int fontheight; - - if (winsize.ws_row == 25 || winsize.ws_row == 28 || - winsize.ws_row == 36 || winsize.ws_row == 44 || - winsize.ws_row == 50) - scanlines_old = 400; - else - scanlines_old = 480; - - if (rr == 25 || rr == 28 || rr == 36 || rr == 44 || rr == 50) - scanlines_new = 400; - else - scanlines_new = 480; - - /* Switch to 400 or 480 scanline vertical timing if required. */ - if (scanlines_old != 400 && scanlines_new == 400) - vga_400_scanlines(); - - if (scanlines_old != 480 && scanlines_new == 480) - vga_480_scanlines(); - - switch (rr) - { - case 25 : fontheight = 16; break; - case 28 : fontheight = 14; break; - case 30 : fontheight = 16; break; - case 34 : fontheight = 14; break; - case 36 : fontheight = 12; break; - case 40 : fontheight = 12; break; - case 44 : fontheight = 9; break; - case 50 : fontheight = 8; break; - case 60 : fontheight = 8; break; - default : fontheight = 8; break; - } - - /* Set the VGA character height. */ - vga_set_fontheight(fontheight); - - /* Set the line offsets within a character cell of the cursor. */ - if (fontheight >= 10) - vga_set_cursor(fontheight - 3, fontheight - 2); - else - vga_set_cursor(fontheight - 2, fontheight - 1); - - /* - * If there are a few unused scanlines at the bottom of the - * screen, make sure they are not displayed, otherwise - * there is a annoying changing partial line at the bottom. - */ - vga_set_verticaldisplayend_lowbyte((fontheight * rr - 1) & 0xff); - printf(_("Old mode: %dx%d New mode: %dx%d\n"), winsize.ws_col, - winsize.ws_row, cc, rr); - printf(_("Old #scanlines: %d New #scanlines: %d Character height: %d\n"), - scanlines_old, scanlines_new, fontheight); - } - - if (mode == MODE_RESTORETEXTMODE) - { - /* do: restoretextmode -r 25x80 */ - sprintf(cmd, "restoretextmode -r %s\n", pathname); - errno = 0; - if(system(cmd)) - { - if(errno) - perror("restoretextmode"); - fprintf(stderr, _("%s: the command `%s' failed\n"), progname, cmd); - exit(1); - } - } - - /* - * for i in /dev/tty[0-9] /dev/tty[0-9][0-9] - * do - * stty rows $rr cols $cc < $i - * done - */ - winsize.ws_row = rr; - winsize.ws_col = cc; - for (i=0; i<16; i++) - if (vtstat.v_state & (1<<i)) - { - sprintf(tty, "/dev/tty%d", i); - if ((fd = open(tty, 0)) > 0) - { - if(ioctl(fd, TIOCSWINSZ, &winsize)) - perror("TIOCSWINSZ"); - close(fd); - } - } - - /* do: setfont default8x16 */ - /* (other people might wish other fonts - this should be settable) */ - - /* We read the VGA font height register to be sure. */ - /* There isn't much consistency in this. */ - switch (vga_get_fontheight()) - { - case 8 : - case 9 : defaultfont = "default8x9"; break; - case 10 : defaultfont = "lat1-10.psf"; break; - case 11 : - case 12 : defaultfont = "lat1-12.psf"; break; - case 13 : - case 14 : defaultfont = "iso01.f14"; break; - case 15 : - case 16 : - default : defaultfont = "default8x16"; break; - } - - sprintf(cmd, "setfont %s", defaultfont); - errno = 0; - if(system(cmd)) - { - if(errno) - perror("setfont"); - fprintf(stderr, _("%s: the command `%s' failed\n"), progname, cmd); - exit(1); - } - - fprintf(stderr, - _("%s: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n"), - progname, cc, rr, cc, rr); - if (getenv("LINES") || getenv("COLUMNS")) - fprintf(stderr, - _("Also the variables LINES and COLUMNS may need adjusting.\n")); - - return 0; -} - -/* - * The code below is used only with the option `-lines ROWS', and is - * very hardware dependent, and requires root privileges. - */ - -/* Port I/O macros. Note that these are not compatible with the ones */ -/* defined in the kernel header files. */ - -static inline void outb( int port, int value ) -{ - __asm__ volatile ("outb %0,%1" - : : "a" ((unsigned char)value), "d" ((unsigned short)port)); -} - -static inline int inb( int port ) -{ - unsigned char value; - __asm__ volatile ("inb %1,%0" - : "=a" (value) - : "d" ((unsigned short)port)); - return value; -} - - -/* VGA textmode register tweaking functions. */ - -static int crtcport; - -static void vga_init_io() -{ - if (iopl(3) < 0) - { - fprintf(stderr, _("%s: cannot get I/O permissions.\n"), progname); - exit(1); - } - crtcport = 0x3d4; - if ((inb(0x3cc) & 0x01) == 0) - crtcport = 0x3b4; -} - -static void vga_set_fontheight( int h ) -{ - outb(crtcport, 0x09); - outb(crtcport + 1, (inb(crtcport + 1) & 0xe0) | (h - 1)); -} - -static int vga_get_fontheight() -{ - outb(crtcport, 0x09); - return (inb(crtcport + 1) & 0x1f) + 1; -} - -static void vga_set_cursor( int top, int bottom ) -{ - outb(crtcport, 0x0a); - outb(crtcport + 1, (inb(crtcport + 1) & 0xc0) | top); - outb(crtcport, 0x0b); - outb(crtcport + 1, (inb(crtcport + 1) & 0xe0) | bottom); -} - -static void vga_set_verticaldisplayend_lowbyte( int byte ) -{ - /* CRTC register 0x12 */ - /* vertical display end */ - outb(crtcport, 0x12); - outb(crtcport + 1, byte); -} - -static void vga_480_scanlines() -{ - /* CRTC register 0x11 */ - /* vertical sync end (also unlocks CR0-7) */ - outb(crtcport, 0x11); - outb(crtcport + 1, 0x0c); - - /* CRTC register 0x06 */ - /* vertical total */ - outb(crtcport, 0x06); - outb(crtcport + 1, 0x0b); - - /* CRTC register 0x07 */ - /* (vertical) overflow */ - outb(crtcport, 0x07); - outb(crtcport + 1, 0x3e); - - /* CRTC register 0x10 */ - /* vertical sync start */ - outb(crtcport, 0x10); - outb(crtcport + 1, 0xea); - - /* CRTC register 0x12 */ - /* vertical display end */ - outb(crtcport, 0x12); - outb(crtcport + 1, 0xdf); - - /* CRTC register 0x15 */ - /* vertical blank start */ - outb(crtcport, 0x15); - outb(crtcport + 1, 0xe7); - - /* CRTC register 0x16 */ - /* vertical blank end */ - outb(crtcport, 0x16); - outb(crtcport + 1, 0x04); - - /* Misc Output register */ - /* Preserver clock select bits and set correct sync polarity */ - outb(0x3c2, (inb(0x3cc) & 0x0d) | 0xe2); -} - -static void vga_400_scanlines() -{ - /* CRTC register 0x11 */ - /* vertical sync end (also unlocks CR0-7) */ - outb(crtcport, 0x11); - outb(crtcport + 1, 0x0e); - - /* CRTC register 0x06 */ - /* vertical total */ - outb(crtcport, 0x06); - outb(crtcport + 1, 0xbf); - - /* CRTC register 0x07 */ - /* (vertical) overflow */ - outb(crtcport, 0x07); - outb(crtcport + 1, 0x1f); - - /* CRTC register 0x10 */ - /* vertical sync start */ - outb(crtcport, 0x10); - outb(crtcport + 1, 0x9c); - - /* CRTC register 0x12 */ - /* vertical display end */ - outb(crtcport, 0x12); - outb(crtcport + 1, 0x8f); - - /* CRTC register 0x15 */ - /* vertical blank start */ - outb(crtcport, 0x15); - outb(crtcport + 1, 0x96); - - /* CRTC register 0x16 */ - /* vertical blank end */ - outb(crtcport, 0x16); - outb(crtcport + 1, 0xb9); - - /* Misc Output register */ - /* Preserver clock select bits and set correct sync polarity */ - outb(0x3c2, (inb(0x3cc) & 0x0d) | 0x62); -} diff -Nru console-tools-0.2.3/vttools/screendump.c console-tools-0.2.3/vttools/screendump.c --- console-tools-0.2.3/vttools/screendump.c 1999-04-08 22:11:15.000000000 +0000 +++ console-tools-0.2.3/vttools/screendump.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,207 +0,0 @@ -/* - * screendump.c - aeb 950214 - * - * [Note: similar functionality can be found in setterm] - * - * Call: "screendump N" when the screen of /dev/ttyN has to be dumped - * - * On Linux up to 1.1.91 there is an ioctl that will do the dumping. - * Because of problems with security this has been scrapped. - * From 1.1.92 on, make devices "virtual console screen" and - * "virtual console screen with attributes" by (fill in the ellipses): - * cd /dev - * for i in 0 1 2 3 ...; do - * mknod vcs$i c 7 $i - * mknod vcsa$i c 7 `expr 128 + $i` - * done - * and give them your favourite owners and permissions. - */ -#include <stdio.h> -#include <stdlib.h> -#include <fcntl.h> -#include <unistd.h> -#include <sys/ioctl.h> -#include <getopt.h> - -#include <lct/local.h> -#include <lct/utils.h> - -static void usage(char *progname) -{ - printf(_("Usage: %s [console]\n" - "Dump the contents of the screen to stdout\n"), progname); - OPTIONS_ARE(); - OPT("-s --screen=s ", _("dump contents of screen s")); - - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - -int parse_args (int argc,char **argv) -{ - char * progname = strip_path(argv[0]); - const struct option long_opts[] = { - {"screen", 1, NULL, 's' }, - {"help" , no_argument, NULL, 'h' }, - {"version", no_argument, NULL, 'V' }, - { NULL, 0, NULL, 0} - }; - int c, cons = 0; - while ( (c = getopt_long (argc, argv, "Vhs:", long_opts, NULL)) != EOF) { - switch (c) { - case 'h': - usage(progname); - exit(0); - case 'V': - version(progname); - exit(0); - case 's': /* screen */ - cons = atoi(optarg); - break; - case '?': - default: - usage(progname); - exit(1); - } - } - if (optind < argc) - { - if (argc == optind+1) - cons = atoi(argv[optind]); - else { - fprintf(stderr,_("%s: Wrong number of args\n"), progname); - exit(1); - } - } - - return cons; -} - - - - -int main(int argc, char **argv) -{ - int cons = 0; - char infile[20]; - unsigned char header[4]; - unsigned int rows, cols, i, j; - int fd; - char *inbuf, *outbuf, *p, *q; - - setuplocale(); - - cons = parse_args (argc, argv); - - if (cons) - sprintf(infile, "/dev/vcsa%d", cons); - else - sprintf(infile, "/dev/vcsa"); - - fd = open(infile, 0); - if (fd < 0 || read(fd, header, 4) != 4) - goto try_ioctl; - rows = header[0]; - cols = header[1]; - if (rows * cols == 0) - goto try_ioctl; - inbuf = (char*)malloc(rows*cols*2); - outbuf = (char*)malloc(rows*(cols+1)); - if(!inbuf || !outbuf) - { - fprintf(stderr, _("Out of memory\n")); - exit(1); - } - if (read(fd, inbuf, rows*cols*2) != (int)(rows*cols*2)) - { - fprintf(stderr, _("Error reading %s\n"), infile); - exit(1); - } - p = inbuf; - q = outbuf; - for(i=0; i<rows; i++) - { - for(j=0; j<cols; j++) - { - *q++ = *p; - p += 2; - } - while(j-- > 0 && q[-1] == ' ') - q--; - *q++ = '\n'; - } - goto done; - - try_ioctl: - { - struct winsize win; - char consnam[20]; - unsigned char *screenbuf; - - fprintf(stderr, _("Could not use /dev/vcs*, trying TIOCLINUX\n")); - sprintf(consnam, "/dev/tty%d", cons); - if((fd = open(consnam, 0)) < 0) - { - perror(consnam); - fd = 0; - } - - if (ioctl(fd,TIOCGWINSZ,&win)) - { - perror("TIOCGWINSZ"); - exit(1); - } - - screenbuf = (char*)malloc(2 + win.ws_row * win.ws_col); - if (!screenbuf) - { - fprintf(stderr, _("Out of memory.\n")); - exit(1); - } - - screenbuf[0] = 0; - screenbuf[1] = (unsigned char) cons; - - if (ioctl(fd,TIOCLINUX,screenbuf) && - (!fd || ioctl(0,TIOCLINUX,screenbuf))) - { - perror("TIOCLINUX"); - fprintf(stderr,_("couldn't read %s, and cannot ioctl dump\n"), - infile); - exit(1); - } - - rows = screenbuf[0]; - cols = screenbuf[1]; - if (rows != win.ws_row || cols != win.ws_col) - { - fprintf(stderr, _("Strange ... screen is both %dx%d and %dx%d ??\n"), - win.ws_col, win.ws_row, cols, rows); - exit(1); - } - - outbuf = (char*)malloc(rows*(cols+1)); - if(!outbuf) - { - fprintf(stderr, _("Out of memory?\n")); - exit(1); - } - p = screenbuf + 2; - q = outbuf; - for (i=0; i<rows; i++) - { - for (j=0; j<cols; j++) - *q++ = *p++; - while (j-- > 0 && (q[-1] == ' ')) - q--; - *q++ = '\n'; - } - } - done: - if (write(1, outbuf, q-outbuf) != q-outbuf) - { - fprintf(stderr, _("Error writing screen dump\n")); /* write failed */ - exit(1); - } - exit(0); -} diff -Nru console-tools-0.2.3/vttools/setvesablank.c console-tools-0.2.3/vttools/setvesablank.c --- console-tools-0.2.3/vttools/setvesablank.c 1999-04-08 22:11:15.000000000 +0000 +++ console-tools-0.2.3/vttools/setvesablank.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,96 +0,0 @@ -/* - * setvesablank.c - aeb - 941230 - * - * usage: setvesablank ON|on|off - */ -#include <stdio.h> -#include <string.h> -#include <sys/ioctl.h> - -#include <getopt.h> -#include <lct/local.h> -#include <lct/utils.h> -#include <lct/console.h> - -char* progname; - -static void usage(char *progname) -{ - printf(_("Usage: %s ON|on|off\n\n" - "Set VESA blanking on console.\n"), progname); - OPTIONS_ARE(); - OPT("-b --blanking=on|off ", _("turn blanking on")); - - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - -int blanking (char *s) -{ - if (!strcmp(s, "on")) - return 1; - else if (!strcmp(s, "ON")) - return 2; - else if (!strcmp(s, "off")) - return 0; - else { - fprintf(stderr, _("%s: argument '%s' should be 'ON', 'on' or 'off'\n"), - progname, s); - exit(1); - } -} - -void main(int argc, char *argv[]) -{ - int fd, c; - struct { char ten, onoff; } arg; - const struct option long_opts[] = { - { "help", no_argument, NULL, 'h' }, - { "version", no_argument, NULL, 'V' }, - { "blanking", 1, NULL, 'b' }, - { NULL, 0, NULL, 0 } - }; - - setuplocale(); - - progname = strip_path(argv[0]); - arg.onoff = -1; - - while ( (c = getopt_long (argc, argv, "Vhb:", long_opts, NULL)) != EOF) { - switch (c) { - case 'h': - usage(progname); - exit(0); - case 'V': - version(progname); - exit(0); - case 'b': - arg.onoff = blanking (optarg); - break; - case '?': - usage(progname); - exit(1); - } - } - - - if (arg.onoff == -1 && argc == optind+1) - arg.onoff = blanking (argv[optind++]); - - if (arg.onoff == -1 || argc != optind) { - fprintf (stderr, _("%s: Wrong number of args\n"), - progname); - exit(1); - } - - if (-1 == (fd = get_console_fd(NULL))) exit (1); - - arg.ten = 10; - if (ioctl(fd, TIOCLINUX, &arg)) - { - fprintf(stderr, "%s: ", progname); - perror("TIOCLINUX"); - exit(1); - } - exit(0); -} diff -Nru console-tools-0.2.3/vttools/vcstime.c console-tools-0.2.3/vttools/vcstime.c --- console-tools-0.2.3/vttools/vcstime.c 1999-04-08 22:11:15.000000000 +0000 +++ console-tools-0.2.3/vttools/vcstime.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,73 +0,0 @@ -/* - * vcstime.c - * - * Show time in upper right hand corner of the console screen - * aeb, 951202, following a suggestion by Miguel de Icaza. - */ -#include <fcntl.h> -#include <stdio.h> -#include <unistd.h> - -#if TM_IN_SYS_TIME -# include <sys/time.h> -#else -# include <time.h> -#endif - -#include <lct/utils.h> -#include <lct/local.h> - -static void usage(char *progname) -{ - printf(_("Usage: %s\n" - "Show time in upper right hand corner of the console screen\n"), progname); - OPTIONS_ARE(); - - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - -void -fatal(char *s) { - perror(s); - exit(1); -} - -unsigned char -number_of_columns() { - int fda; - unsigned char rc[2]; - - if((fda = open("/dev/vcsa", O_RDONLY)) < 0) - fatal("/dev/vcsa"); - if(read(fda, rc, 2) != 2) - fatal("/dev/vcsa"); - close(fda); - return rc[1]; -} - -int -main(int argc, char **argv) -{ - int fd; - int cols = number_of_columns(); - time_t tid; - struct tm *t; - char tijd[10]; - - setuplocale(); - - simple_options (argc, argv, usage, strip_path(argv[0])); - - if((fd = open("/dev/vcs", O_WRONLY)) < 0) - fatal("/dev/vcs"); - - while(1) { - lseek(fd, cols-10, 0); - tid = time(0); - t = localtime(&tid); - sprintf(tijd, " %02d:%02d:%02d", t->tm_hour, t->tm_min, t->tm_sec); - write(fd, tijd, 9); - usleep(500000L); /* or sleep(1); */ - } -} diff -Nru console-tools-0.2.3/vttools/vt-is-UTF8.c console-tools-0.2.3/vttools/vt-is-UTF8.c --- console-tools-0.2.3/vttools/vt-is-UTF8.c 1999-04-08 22:11:15.000000000 +0000 +++ console-tools-0.2.3/vttools/vt-is-UTF8.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,92 +0,0 @@ -/* (c) Ricardas Cepas <rch@pub.osf.lt>. Copying policy: GNU GPL V2. */ -/* Modified by ydi for console-tools */ -#include <stdlib.h> -#include <stdio.h> -#include <getopt.h> - -#include <lct/console.h> -#include <lct/utils.h> -#include <lct/local.h> - -extern int is_in_UTF8_mode (int); -char* progname; - -void usage() -{ - printf (_("Usage: %s [option]\n"), progname); - OPTIONS_ARE(); - OPT("-q --quiet ", _("don't print result")); - - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - -const struct option opts[] = -{ - /* operations */ - {"help", no_argument, 0, 'h'}, - {"version", no_argument, 0, 'V'}, - {"quiet", no_argument, 0, 'q'}, - {0, 0, 0, 0} -}; - -void main (int argc, char* argv[]) -{ - int x; - int result; /* option handling */ - int an_option; - int quiet = 0; - - setuplocale(); - - progname = strip_path(argv[0]); - - while (1) - { - result = getopt_long(argc, argv, "Vhq", opts, &an_option); - - if (result == EOF) - break; - - switch (result) - { - case 'V': - version(); - exit (0); - case 'h': - usage(); - exit (0); - - case 'q': - quiet = 1; - } - } - - if (optind < argc) - badusage ("no non-option arguments are valid"); - - x = is_in_UTF8_mode (get_console_fd(NULL)); - switch (x) - { - case 1: - if (quiet) - exit (0); - else - fprintf (stderr, "UTF-8 unicode mode.\n"); - break; - - case 0: - if (quiet) - exit (1); - else - fprintf (stderr, _("Single-byte char mode.\n")); - break; - - case -1: - perror("is_in_UTF8_mode"); - if (!quiet) exit (1); - break; - } - - exit (0); -} diff -Nru console-tools-0.2.3/vttools/writevt.c console-tools-0.2.3/vttools/writevt.c --- console-tools-0.2.3/vttools/writevt.c 1999-04-08 22:11:15.000000000 +0000 +++ console-tools-0.2.3/vttools/writevt.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,105 +0,0 @@ -/* - * sti.c: put text in some tty input buffer - aeb, 951009 - * - * You may have to be root if the tty is not your controlling tty. - */ -#include <stdio.h> -#include <fcntl.h> -#include <termios.h> -#include <sys/ioctl.h> -#include <getopt.h> - -#include <lct/local.h> -#include <lct/utils.h> - -char *progname; - -static void usage(char *progname) -{ - printf(_("Usage: %s tty text\n" - "Put text into the input buffer of a virtual terminal.\n"), progname); - OPTIONS_ARE(); - OPT("-t --term=tty ", _("device name")); - OPT("-T --text=text ", _("text to insert")); - - OPT("-h --help ", HELPDESC); - OPT("-V --version ", VERSIONDESC); -} - - -int main(int argc, char **argv) -{ - int fd, c; - char *vterm = NULL; - char *text = NULL; - const struct option long_opts[] = { - { "help", no_argument, NULL, 'h' }, - { "term", 1, NULL, 't' }, - { "text", 1, NULL, 'T' }, - { "version", no_argument, NULL, 'V' }, - { NULL, 0, NULL, 0 } - }; - - setuplocale(); - - progname = strip_path(argv[0]); - - while ( (c = getopt_long (argc, argv, "t:T:Vh", long_opts, NULL)) != EOF) { - switch (c) { - case 'h': - usage(progname); - exit(0); - case 'V': - version(progname); - exit(0); - case 't': - vterm = optarg; - break; - case '?': - usage(progname); - exit(1); - } - } - - if (vterm == NULL) { - if (optind < argc) - vterm = argv[optind++]; - else { - fprintf(stderr,_("%s: No tty specified.\n"),progname); - exit(1); - } - } - - if (text == NULL) { - if (optind < argc) - text = argv[optind++]; - else { - fprintf(stderr,_("%s: No text specified.\n"),progname); - exit(1); - } - } - - if (argc != optind ) { - fprintf(stderr, _("%s: too many arguments\n"), progname); - exit(1); - } - - fd = open(vterm, O_RDONLY); - if(fd < 0) - { - perror(vterm); - fprintf(stderr, _("%s: could not open tty\n"), progname); - exit(1); - } - while(*text) - { - if(ioctl(fd, TIOCSTI, text)) - { - perror("TIOCSTI"); - fprintf(stderr, _("%s: TIOCSTI ioctl failed\n"), progname); - exit(1); - } - text++; - } - return 0; -}