mirror of
git://sourceware.org/git/glibc.git
synced 2026-09-08 23:58:31 +08:00
Compare commits
39
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
779ae82ecd | ||
|
|
a12ea214db | ||
|
|
47f13fd4ba | ||
|
|
b4012b7542 | ||
|
|
406f977a5a | ||
|
|
db9d4d768f | ||
|
|
29bb8719cf | ||
|
|
307bcd7783 | ||
|
|
dd33e89fb2 | ||
|
|
7799b7b335 | ||
|
|
9d8067d8f2 | ||
|
|
6355131153 | ||
|
|
c131718ccc | ||
|
|
26dee9c49c | ||
|
|
fe7bdd630f | ||
|
|
22d57dd369 | ||
|
|
5929563ff2 | ||
|
|
3075e0e37c | ||
|
|
993b3242cd | ||
|
|
e7fd8a39ab | ||
|
|
34b402e5a9 | ||
|
|
4e1101a7da | ||
|
|
3e5f555752 | ||
|
|
bc9f6000f6 | ||
|
|
5ae9d168f6 | ||
|
|
f752bfe379 | ||
|
|
c57abfa735 | ||
|
|
e61abf8398 | ||
|
|
6465cfc9cf | ||
|
|
81e9dad672 | ||
|
|
0d8733c4fc | ||
|
|
1ed4222e57 | ||
|
|
f166d86530 | ||
|
|
4cca6b868f | ||
|
|
f5f52655ce | ||
|
|
377a515b4c | ||
|
|
d1a2b102df | ||
|
|
f6b38b9a39 | ||
|
|
ced858d05f |
+5
-1
@@ -1,4 +1,4 @@
|
||||
*.d *.o *.so *.po *.go stamp.* *.stamp *.ustamp *.udeps
|
||||
*.d *.o *.so *.po *.go *.bo stamp.* *.stamp *.ustamp *.udeps
|
||||
*.gz *.Z *.tar *.tgz
|
||||
=*
|
||||
TODO COPYING* AUTHORS copyr-* copying.*
|
||||
@@ -14,6 +14,10 @@ gpl2lgpl.sed
|
||||
distinfo
|
||||
distinfo
|
||||
|
||||
analysis
|
||||
docs
|
||||
|
||||
crypt
|
||||
linuxthreads
|
||||
localedata
|
||||
secure_rpc
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
List of known bugs (certainly very incomplete)
|
||||
----------------------------------------------
|
||||
|
||||
Time-stamp: <1997-03-22T04:31:41+0100 drepper>
|
||||
|
||||
This following list contains those bugs which I'm aware of. Please
|
||||
make sure that bugs you report are not listed here. If you can fix one
|
||||
of these bugs/limitations I'll certainly be glad to receive a patch.
|
||||
|
||||
Another source of information about bugs is the problem data base of the
|
||||
GNU project. There is an easy to use WWW interface is available at
|
||||
|
||||
http://pogo.gnu.ai.mit.edu:8080/cgi-bin/wwwgnats.pl
|
||||
|
||||
I would appreciate it very much if you could verify the problem was not
|
||||
reported before by looking though the database. To make the information
|
||||
in this data as useful as possible please report bugs always using the
|
||||
`glibcbug' shell script which gets installed with GNU libc.
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Severity: [ *] to [***]
|
||||
|
||||
|
||||
[ **] For GNU libc on Linux, there is still no solution for the UTMP
|
||||
problem.
|
||||
[Among others: PR libc/39]
|
||||
|
||||
[ **] There are problems with signal handling when using LinuxThreads.
|
||||
|
||||
[ **] The `cbrtl' function is inaccurate. The algorithm used for `double'
|
||||
and `float' is not usable for `long double'.
|
||||
|
||||
[ **] Not really a bug, but it could lead to such:
|
||||
The RPC code is ugly ugly ugly. It's more or less verbatim taken
|
||||
from Sun's code and therefore mostly lacks complete prototypes and
|
||||
(more important) the use of `const'. It *definitely* needs to be
|
||||
cleaned.
|
||||
|
||||
[ *] The precision of the `sinhl' and/or `asinhl' function do not seem
|
||||
to be the best.
|
||||
|
||||
[ *] The syslog function should print to the console if the LOG_CONS
|
||||
flag was given.
|
||||
[PR libc/72]
|
||||
|
||||
[ *] On Linux, the <linux/posix_types.h> is not clean enough to satisfy
|
||||
the C++ namespace rules. Declaring `struct fd_set' also makes
|
||||
`fd_set' available in the global namespace which conflicts with
|
||||
the definition of `fd_set' in glibc.
|
||||
[PR libc/79]
|
||||
|
||||
[ *] On Linux, there should be a way to prevent defining the symbol
|
||||
NGROUPS_MAX in the <linux/limits.h> header file. In glibc it
|
||||
is defined in <posix1_lim.h> which must not make the other
|
||||
symbols in <linux/limits.h> available.
|
||||
[PR libc/140]
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Ulrich Drepper
|
||||
drepper@cygnus.com
|
||||
@@ -77,6 +77,16 @@ please let me know.
|
||||
|
||||
[Q21] ``On Linux I've got problems with the declarations in Linux
|
||||
kernel headers.''
|
||||
|
||||
[Q22] ``When I try to compile code which uses IPv6 header and
|
||||
definitions on my Linux 2.x.y system I am in trouble.
|
||||
Nothing seems to work.''
|
||||
|
||||
[Q23] ``When compiling GNU libc I get lots of errors saying functions
|
||||
in glibc are duplicated in libgcc.''
|
||||
|
||||
[Q24] ``I have set up /etc/nis.conf, and the Linux libc 5 with NYS
|
||||
works great. But the glibc NIS+ doesn't seem to work.''
|
||||
|
||||
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
|
||||
[Q1] ``What systems does the GNU C Library run on?''
|
||||
@@ -550,7 +560,8 @@ by
|
||||
|
||||
in the above example specs file to make it work for other systems.
|
||||
|
||||
Future versions of GCC will automatically provide the correct specs.
|
||||
Version 2.7.2.2 does and future versions of GCC will automatically
|
||||
provide the correct specs.
|
||||
|
||||
|
||||
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
|
||||
@@ -597,10 +608,22 @@ invalid. I.e., an emulated FPU is for the libc as good as a real one.
|
||||
[Q20] ``How can I compile gcc 2.7.2.1 from the gcc source code using
|
||||
glibc 2.x?
|
||||
|
||||
[A20] {HJL} There is no support in gcc for glibc 2.0 before gcc 2.8. It
|
||||
is very tricky to compile gcc 2.7.2.1 using glibc 2.x. You have to
|
||||
build it manually or with one pass only. You also have to use the
|
||||
specs file in this FAQ while compiling gcc.
|
||||
[A20] {AJ} There's only support for glibc 2.0 in gcc 2.7.2.2 or later.
|
||||
For 2.7.2.2 you should use the following patch and configure for
|
||||
e.g. i486-linux.
|
||||
-----------------------------------------------------------------------
|
||||
--- configure Tue Feb 11 15:57:17 1997
|
||||
+++ configure Wed Feb 12 23:09:29 1997
|
||||
@@ -1021,7 +1021,7 @@
|
||||
gnu_ld=yes
|
||||
# GNU libc version 2 does not supply these;
|
||||
# we want them from GCC.
|
||||
- extra_parts="crtbegin.o crtend.o"
|
||||
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
|
||||
;;
|
||||
i[3456]86-go32-msdos | i[3456]86-*-go32)
|
||||
cpu_type=i386
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
|
||||
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
|
||||
@@ -623,6 +646,52 @@ glibc has defined a replacement. Otherwise you might get undefined
|
||||
results because of type conflicts.
|
||||
|
||||
|
||||
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
|
||||
[Q22] ``When I try to compile code which uses IPv6 header and
|
||||
definitions on my Linux 2.x.y system I am in trouble.
|
||||
Nothing seems to work.''
|
||||
|
||||
[A22] {UD} The problem is that the IPv6 development still has not reached
|
||||
a point where it is stable. There are still lots of incompatible changes
|
||||
made and the libc headers have to follow.
|
||||
|
||||
Currently (as of 970401) according to Philip Blundell <pjb27@cam.ac.uk>
|
||||
the required kernel version is 2.1.30.
|
||||
|
||||
|
||||
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
|
||||
[Q23] ``When compiling GNU libc I get lots of errors saying functions
|
||||
in glibc are duplicated in libgcc.''
|
||||
|
||||
[A23] {EY} This is *exactly* the same problem that I was having. The
|
||||
problem was due to the fact that the autoconfigure didn't correctly
|
||||
detect that linker flag --no-whole-archive was supported in my linker.
|
||||
In my case it was because I had run ./configure with bogus CFLAGS, and
|
||||
the test failed.
|
||||
|
||||
One thing that is particularly annoying about this problem is that
|
||||
once this is misdetected, running configure again won't fix it unless
|
||||
you first delete config.cache.
|
||||
|
||||
{UD} Starting with glibc-2.0.3 there should be a better test to avoid
|
||||
some problems of this kind. The setting of CFLAGS is checked at the
|
||||
very beginning and if it is not usable `configure' will bark.
|
||||
|
||||
|
||||
|
||||
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
|
||||
[Q24] ``I have set up /etc/nis.conf, and the Linux libc 5 with NYS
|
||||
works great. But the glibc NIS+ doesn't seem to work.''
|
||||
|
||||
[A24] The glibc NIS+ implementation uses a /var/nis/NIS_COLD_START
|
||||
file for storing information about the NIS+ server and their
|
||||
public keys, because the nis.conf file do not contain all
|
||||
necessary information. You have to copy a NIS_COLD_START file
|
||||
from a Solaris client (the NIS_COLD_START file is byte order
|
||||
independend) or generate it new with nisinit from the nis-tools
|
||||
(look at http://www-vt.uni-paderborn.de/~kukuk/linux/nisplus.html).
|
||||
|
||||
|
||||
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
|
||||
|
||||
Answers were given by:
|
||||
@@ -631,6 +700,7 @@ Answers were given by:
|
||||
{RM} Roland McGrath, <roland@gnu.ai.mit.edu>
|
||||
{HJL} H.J. Lu, <hjl@gnu.ai.mit.edu>
|
||||
{AJ} Andreas Jaeger, <aj@arthur.pfalz.de>
|
||||
{EY} Eric Youngdale, <eric@andante.jic.com>
|
||||
|
||||
Local Variables:
|
||||
mode:text
|
||||
|
||||
@@ -76,6 +76,23 @@ you run `configure':
|
||||
static library is compiled with no optimization and full debugging
|
||||
information, and installed as `-lc_g'.
|
||||
|
||||
`--enable-bounded'
|
||||
`--disable-bounded'
|
||||
Enable or disable building of the C library with support for bounded
|
||||
pointers. To do this one need the enhanced version of the GNU CC
|
||||
with can generate code for bounded pointers. This version of the
|
||||
C library is necessary to run code which is also compiled using the
|
||||
enhanced gcc for debugging purposes.
|
||||
|
||||
There are two more options:
|
||||
|
||||
`--with-gmp'
|
||||
`--with-gettext'
|
||||
These options are not of much use for the normal installer of the
|
||||
GNU libc. Only maintainers need this to get automatic updates of
|
||||
the files from these packages in the GNU C library source tree.
|
||||
|
||||
|
||||
The simplest way to run `configure' is to do it in the directory
|
||||
that contains the library sources. This prepares to build the library
|
||||
in that very directory.
|
||||
@@ -182,6 +199,9 @@ following patterns:
|
||||
iX86-ANYTHING-gnu
|
||||
iX86-ANYTHING-linux
|
||||
m68k-ANYTHING-linux
|
||||
mips-ANYTHING-linux
|
||||
sparc-ANYTHING-linux
|
||||
powerpc-ANYTHING-linux
|
||||
|
||||
Former versions of this library used to support the following
|
||||
configurations but the current status is unknown:
|
||||
@@ -208,7 +228,7 @@ configurations but the current status is unknown:
|
||||
sparc-sun-solaris2.N
|
||||
sparc-sun-sunos4.N
|
||||
|
||||
Each case of `iX86' can be `i386', `i486', `i586', or `i686'.. All
|
||||
Each case of `iX86' can be `i386', `i486', `i586', or `i686'. All
|
||||
of those configurations produce a library that can run on any of these
|
||||
processors. The library will be optimized for the specified processor,
|
||||
but will not use instructions not available on all of them.
|
||||
@@ -652,10 +672,10 @@ level of the `sysdeps' hierarchy. This directory contains
|
||||
subdirectories (and subdirectory trees) for various Unix variants.
|
||||
|
||||
The functions which are system calls in most Unix systems are
|
||||
implemented in assembly code in files in `sysdeps/unix'. These files
|
||||
are named with a suffix of `.S'; for example, `__open.S'. Files ending
|
||||
in `.S' are run through the C preprocessor before being fed to the
|
||||
assembler.
|
||||
automatically generated from the `syscalls.list' files for the appropriate
|
||||
archirecture. The format of the syscalls.list files is quite easy: only
|
||||
a few informations are necessary line the system call name, the number of
|
||||
arguments and such. The files are run through the C preprocessor.
|
||||
|
||||
These files all use a set of macros that should be defined in
|
||||
`sysdep.h'. The `sysdep.h' file in `sysdeps/unix' partially defines
|
||||
|
||||
@@ -118,8 +118,8 @@ foo:=$(shell echo '+out=$(+out)' >&2; echo foofoo >&2)
|
||||
$(+sysdeps)
|
||||
foo:=$(shell echo 'made +tsrcs=$(+tsrcs)'>&2)
|
||||
foo:=$(shell echo generated='$(generated)' >&2)
|
||||
generated := $(sort $(generated) $(generated:.S=.c) $(generated:.s=.c))
|
||||
foo:=$(shell echo now generated='$(generated)' >&2)
|
||||
#generated := $(sort $(generated) $(generated:.S=.c) $(generated:.s=.c))
|
||||
#foo:=$(shell echo now generated='$(generated)' >&2)
|
||||
+tsrcs := $(sort $(filter-out $(generated),$(+tsrcs)))
|
||||
foo:=$(shell echo '+tsrcs=$(+tsrcs)'>&2)
|
||||
foo:=$(shell echo foobie, dammit! >&2)
|
||||
@@ -142,10 +142,10 @@ ifdef subdir
|
||||
|
||||
foo:=$(shell echo subdir foo >&2)
|
||||
|
||||
+tsrcs := Makefile $(+tsrcs) \
|
||||
$(addsuffix .c,$(others) $(tests)) \
|
||||
$(wildcard $(addsuffix .input,$(tests)) \
|
||||
$(addsuffix .args,$(tests)))
|
||||
+tsrcs := Makefile $(+tsrcs) \
|
||||
$(addsuffix .c,$(others) $(tests) $(test-srcs)) \
|
||||
$(wildcard $(addsuffix .input,$(tests) $(test-srcs)) \
|
||||
$(addsuffix .args,$(tests) $(test-srcs)))
|
||||
+tardeps := $(strip $(+tsrcs))
|
||||
|
||||
verbose = v
|
||||
@@ -195,9 +195,9 @@ dist.tar: README $(tardir) $(+tsrcs)
|
||||
|
||||
$(tardir).tar: dist.tar subdir_dist
|
||||
@echo Files listed here have names exceeding 14 chars.
|
||||
tar xfv $< -C /tmp | sed -n '/[^/]\{15,\}/p'
|
||||
tar covf $@ -C /tmp $(tardir)
|
||||
-rm -fr /tmp/$(tardir) dist.tar &
|
||||
tar xfv $< -C $${TMPDIR-/tmp} | sed -n '/[^/]\{15,\}/p'
|
||||
tar covf $@ -C $${TMPDIR-/tmp} $(tardir)
|
||||
-rm -fr $${TMPDIR-/tmp}/$(tardir) dist.tar &
|
||||
|
||||
%.Z: %
|
||||
compress -c $< > $@
|
||||
|
||||
@@ -87,8 +87,8 @@ sources += $(foreach lib,$(extra-libs),$($(lib)-routines:=.c))
|
||||
# Files that are found in the current directory cannot occur in
|
||||
# sysdep directories, so don't bother searching them.
|
||||
sysdep-sources := $(filter-out $(wildcard $(sources)), $(sources))
|
||||
all-sources = $(wildcard $(sort $(sources) $(sources:.c=.S) $(sources:.c=.s) \
|
||||
$(others:=.c) $(tests:=.c))) \
|
||||
all-sources = $(wildcard $(sort $(sources) $(sources:.c=.S) $(sources:.c=.s) \
|
||||
$(others:=.c) $(tests:=.c) $(test-srcs:=.c))) \
|
||||
$(foreach dir,$(all-dirs),\
|
||||
$(wildcard \
|
||||
$(addprefix $(dir)/,\
|
||||
|
||||
+33
-12
@@ -23,6 +23,8 @@ ifneq (,)
|
||||
This makefile requires GNU Make.
|
||||
endif
|
||||
|
||||
all: # Make this the default goal
|
||||
|
||||
ifneq "$(origin +included-Makeconfig)" "file"
|
||||
|
||||
+included-Makeconfig := yes
|
||||
@@ -239,7 +241,8 @@ endif
|
||||
# other than there, so the zoneinfo directory contains only universal data,
|
||||
# localizing the configuration data elsewhere.
|
||||
ifndef localtime-file
|
||||
localtime-file = $(inst_sysconfdir)/localtime
|
||||
localtime-file = $(sysconfdir)/localtime
|
||||
inst_localtime-file = $(install_root)$(localtime-file)
|
||||
endif
|
||||
|
||||
# What to use for leap second specifications in compiling the default
|
||||
@@ -315,14 +318,29 @@ ifndef asm-CPPFLAGS
|
||||
asm-CPPFLAGS =
|
||||
endif
|
||||
|
||||
# Installed name of the startup code.
|
||||
ifneq ($(elf),yes)
|
||||
# When not using ELF, there is just one startfile, called crt0.o.
|
||||
start-installed-name = crt0.o
|
||||
else
|
||||
# In the ELF universe, crt0.o is called crt1.o, and there are
|
||||
# some additional bizarre files.
|
||||
start-installed-name = crt1.o
|
||||
have-initfini = yes
|
||||
endif
|
||||
|
||||
|
||||
# Command for linking programs with the C library.
|
||||
ifndef +link
|
||||
+link = $(CC) -nostdlib -nostartfiles -o $@ \
|
||||
$(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS) \
|
||||
$(addprefix $(csu-objpfx),start.o) $(+preinit) \
|
||||
$(filter-out $(addprefix $(csu-objpfx),start.o) $(+preinit) \
|
||||
$(link-extra-libs) $(common-objpfx)libc% $(+postinit),$^) \
|
||||
$(link-extra-libs) $(link-libc) $(+postinit)
|
||||
$(addprefix $(csu-objpfx),$(start-installed-name)) \
|
||||
$(+preinit) $(+prector) \
|
||||
$(filter-out $(addprefix $(csu-objpfx),start.o \
|
||||
$(start-installed-name))\
|
||||
$(+preinit) $(link-extra-libs) \
|
||||
$(common-objpfx)libc% $(+postinit),$^) \
|
||||
$(link-extra-libs) $(link-libc) $(+postctor) $(+postinit)
|
||||
endif
|
||||
ifndef config-LDFLAGS
|
||||
ifeq (yes,$(build-shared))
|
||||
@@ -346,7 +364,8 @@ else
|
||||
default-rpath = $(libdir)
|
||||
endif
|
||||
# This is how to find at build-time things that will be installed there.
|
||||
rpath-link = $(common-objdir):$(elfobjdir):$(nssobjdir)
|
||||
rpath-link = $(common-objdir):$(mathobjdir):$(elfobjdir):$(nssobjdir)
|
||||
mathobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)math)
|
||||
elfobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)elf)
|
||||
nssobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)nss)
|
||||
else
|
||||
@@ -355,7 +374,13 @@ endif
|
||||
endif
|
||||
ifndef link-extra-libs
|
||||
ifeq (yes,$(build-shared))
|
||||
ifneq ($(common-objpfx),$(objpfx))
|
||||
link-extra-libs = $(foreach lib,$(LDLIBS-$(@F)),\
|
||||
$(wildcard $(common-objpfx)$(lib).so$($(notdir $(lib)).so-version) \
|
||||
$(objpfx)$(lib).so$($(notdir $(lib)).so-version)))
|
||||
else
|
||||
link-extra-libs = $(foreach lib,$(LDLIBS-$(@F)),$(common-objpfx)$(lib).so$($(notdir $(lib)).so-version))
|
||||
endif
|
||||
else
|
||||
link-extra-libs = $(foreach lib,$(LDLIBS-$(@F)),$(common-objpfx)$(lib).a)
|
||||
endif
|
||||
@@ -366,6 +391,8 @@ endif
|
||||
ifeq ($(elf),yes)
|
||||
+preinit = $(addprefix $(csu-objpfx),crti.o)
|
||||
+postinit = $(addprefix $(csu-objpfx),crtn.o)
|
||||
+prector = `$(CC) --print-file-name=crtbegin.o`
|
||||
+postctor = `$(CC) --print-file-name=crtend.o`
|
||||
endif
|
||||
csu-objpfx = $(common-objpfx)csu/
|
||||
elf-objpfx = $(common-objpfx)elf/
|
||||
@@ -524,12 +551,6 @@ endif
|
||||
ifndef BUILD_CC
|
||||
BUILD_CC = $(CC)
|
||||
endif
|
||||
|
||||
ifneq ($(BUILD_CC),$(CC))
|
||||
cross-compiling := yes
|
||||
else
|
||||
cross-compiling := no
|
||||
endif
|
||||
|
||||
# Figure out the version numbers from version.h.
|
||||
|
||||
|
||||
@@ -131,6 +131,9 @@ ifeq (yes,$(build-shared))
|
||||
lib: $(common-objpfx)libc.so
|
||||
endif
|
||||
|
||||
# We have a versioning file for libc.so.
|
||||
#libc-map = libc.map
|
||||
|
||||
all-Subdirs-files = $(wildcard $(addsuffix /Subdirs, $(config-sysdirs)))
|
||||
$(objpfx)sysd-dirs: $(+sysdir_pfx)config.make $(all-Subdirs-files)
|
||||
(echo define sysdep-subdirs; \
|
||||
@@ -277,16 +280,19 @@ parent_echo-distinfo:
|
||||
$(addprefix +nodist+,$(generated))
|
||||
|
||||
|
||||
.PHONY: parent-tests
|
||||
tests: parent-tests
|
||||
|
||||
# Run a test on the header files we use.
|
||||
tests: $(objpfx)isomac
|
||||
$(objpfx)isomac $(CC) '$(+sysdep-includes)' >$(common-objpfx)isomac.out
|
||||
parent-tests: $(objpfx)isomac
|
||||
$(dir $<)$(notdir $<) '$(CC)' '$(+sysdep-includes)' > $<.out
|
||||
|
||||
$(objpfx)isomac: isomac.c
|
||||
$(native-compile)
|
||||
|
||||
# Make the distribution tarfile.
|
||||
|
||||
distribute := README INSTALL FAQ NOTES NEWS PROJECTS \
|
||||
distribute := README INSTALL FAQ NOTES NEWS PROJECTS BUGS \
|
||||
COPYING.LIB COPYING ChangeLog ChangeLog.[0-9] \
|
||||
Makefile Makeconfig Makerules Rules Make-dist MakeTAGS \
|
||||
extra-lib.mk o-iterator.mk isomac.c \
|
||||
@@ -309,6 +315,8 @@ makeinfo --no-validate --no-warn --no-headers $< -o $@
|
||||
endef
|
||||
INSTALL: manual/maint.texi; $(format-me)
|
||||
NOTES: manual/creature.texi; $(format-me)
|
||||
manual/dir-add.texi:
|
||||
$(MAKE) $(PARALLELMFLAGS) -C $(@D) $(@F)
|
||||
|
||||
rpm/%: subdir_distinfo
|
||||
$(MAKE) $(PARALLELMFLAGS) -C $(@D) subdirs='$(subdirs)' $(@F)
|
||||
|
||||
@@ -294,8 +294,10 @@ endif
|
||||
|
||||
# GCC can grok options after the file name, and it looks nicer that way.
|
||||
compile.c = $(CC) $< -c $(CFLAGS) $(CPPFLAGS)
|
||||
compile.S = $(CC) $< -c $(CPPFLAGS) -DASSEMBLER $(asm-CPPFLAGS)
|
||||
COMPILE.S = $(CC) -c $(CPPFLAGS) -DASSEMBLER $(asm-CPPFLAGS)
|
||||
compile.S = \
|
||||
$(CC) $< -c $(CPPFLAGS) -DASSEMBLER $(asm-CPPFLAGS) $(ASFLAGS-$(suffix $@))
|
||||
COMPILE.S = \
|
||||
$(CC) -c $(CPPFLAGS) -DASSEMBLER $(asm-CPPFLAGS) $(ASFLAGS-$(suffix $@))
|
||||
COMPILE.s = $(filter-out -pipe,$(CC)) -c $(ASFLAGS)
|
||||
|
||||
# We need this for the output to go in the right place. It will default to
|
||||
@@ -338,6 +340,12 @@ else
|
||||
no-whole-archive =
|
||||
endif
|
||||
|
||||
ifeq ($(versioning),yes)
|
||||
load-map-file = $($(@F:%.so=%)-map:%=-Wl,--version-script=%)
|
||||
else
|
||||
load-map-file =
|
||||
endif
|
||||
|
||||
interp-obj = $(common-objpfx)interp.so
|
||||
$(interp-obj): $(common-objpfx)%.so: $(..)%.c
|
||||
$(compile-command.c)
|
||||
@@ -349,12 +357,14 @@ $(patsubst %,$(objpfx)%.so,$(extra-libs)): $(interp-obj)
|
||||
|
||||
define build-shlib
|
||||
$(LINK.o) -shared -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS) \
|
||||
-B$(csu-objpfx) \
|
||||
-B$(csu-objpfx) $(load-map-file) \
|
||||
-Wl,-soname=lib$(libprefix)$(@F:lib%.so=%).so$($(@F)-version) \
|
||||
$(LDFLAGS.so) $(LDFLAGS-$(@F:lib%.so=%).so) \
|
||||
-L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link) \
|
||||
-Wl,--whole-archive $^ $(no-whole-archive) \
|
||||
$(LDLIBS-$(@F:lib%.so=%).so)
|
||||
test -z "$($(@F)-version)" || \
|
||||
(rm -f $@$($(@F)-version); $(LN_S) $(@F) $@$($(@F)-version))
|
||||
endef
|
||||
|
||||
# Don't try to use -lc when making libc.so itself.
|
||||
@@ -370,12 +380,6 @@ $(common-objpfx)libc.so: $(elfobjdir)/soinit.so \
|
||||
$(common-objpfx)libc_pic.a \
|
||||
$(elfobjdir)/sofini.so $(elfobjdir)/ld.so
|
||||
$(build-shlib)
|
||||
|
||||
ifdef libc.so-version
|
||||
$(common-objpfx)libc.so$(libc.so-version): $(common-objpfx)libc.so
|
||||
rm -f $@
|
||||
ln -s $(<F) $@ || ln $< $@
|
||||
endif
|
||||
endif
|
||||
|
||||
# Some files must not be compiled with the exception handler mechanism
|
||||
@@ -809,19 +813,23 @@ install: install-no-libc.a-nosubdir
|
||||
|
||||
# Command to compile $< in $(objdir) using the native libraries.
|
||||
define native-compile
|
||||
cwd=`pwd`; cd $(@D); $(BUILD_CC) $(BUILD_CFLAGS) \
|
||||
$(addprefix $$cwd/,$^) -o $(@F)
|
||||
$(make-target-directory)
|
||||
$(patsubst %/,cd %;,$(objpfx)) \
|
||||
$(BUILD_CC) $($(basename $(<F))-CFLAGS) $(ALL_BUILD_CFLAGS) \
|
||||
$(firstword $(filter /%,$< $(shell pwd)/$<)) -o $(@F)
|
||||
endef
|
||||
|
||||
# Command to compile $< in $(common-objdir) using the native libraries.
|
||||
# We must cd to $(objdir) anyway so that $(..)config.h is valid.
|
||||
define common-objdir-compile
|
||||
cd $(objpfx).; \
|
||||
$(BUILD_CC) $(BUILD_CFLAGS) $(<:$(common-objpfx)%=$(..)%) -o $(..)$(@F)
|
||||
$(patsubst %/,cd %;,$(objpfx)) \
|
||||
$(BUILD_CC) $($(basename $(<F))-CFLAGS) $(ALL_BUILD_CFLAGS) \
|
||||
$(firstword $(filter /%,$< $(shell pwd)/$<)) -o $(..)$(@F)
|
||||
endef
|
||||
|
||||
# We always want to use configuration definitions.
|
||||
BUILD_CFLAGS = -include $(common-objpfx)config.h
|
||||
# Note that this is only used for commands running in $(objpfx).
|
||||
ALL_BUILD_CFLAGS = $(BUILD_CFLAGS) -include $(..)config.h
|
||||
|
||||
# Support the GNU standard name for this target.
|
||||
.PHONY: check
|
||||
@@ -849,9 +857,10 @@ mostlyclean: common-mostlyclean
|
||||
|
||||
# Remove the object files.
|
||||
common-mostlyclean:
|
||||
-rm -f $(addprefix $(objpfx),$(tests) $(others) \
|
||||
$(addsuffix .o,$(tests) $(others)) \
|
||||
$(addsuffix .out,$(tests)))
|
||||
-rm -f $(addprefix $(objpfx),$(tests) $(test-srcs) $(others) \
|
||||
$(addsuffix .o,$(tests) $(test-srcs) \
|
||||
$(others)) \
|
||||
$(addsuffix .out,$(tests) $(test-srcs)))
|
||||
-rm -f $(addprefix $(objpfx),$(extra-objs) $(install-lib))
|
||||
-rm -f core $(common-objpfx)stub-$(subdir)
|
||||
$(rmobjs)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
GNU C Library NEWS -- history of user-visible changes. 1997-02-13
|
||||
GNU C Library NEWS -- history of user-visible changes. 1997-03-18
|
||||
|
||||
Copyright (C) 1992, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
|
||||
See the end for copying conditions.
|
||||
@@ -17,6 +17,25 @@ Version 2.1
|
||||
|
||||
* Miles Bader provided the `argp' function family to support hierachical
|
||||
command line argument parsing, layered on top of getopt.
|
||||
|
||||
* strtod accepts new hexadecimal floating-point format from ISO C 9X
|
||||
|
||||
* printf has two new specifiers %a and %A to print hexadecimal flaoting-point
|
||||
numbers
|
||||
|
||||
* scanf recognizes the %A format for scanning floating point numbers
|
||||
|
||||
* the new header <inttypes.h> from ISO C 9X provides information and
|
||||
interfaces for the available integer types
|
||||
|
||||
* the new header <complex.h> contains definitions of the complex math
|
||||
functions from ISO C 9X
|
||||
|
||||
* Thorsten Kukuk provided an implementation for NIS+, securelevel 0 and 1.
|
||||
The implementation for securelevel 2 will follow as soon as the Diffie-
|
||||
Hellman patent expired.
|
||||
|
||||
* Andreas Jaeger provided a test suite for the math library
|
||||
|
||||
Version 2.0.2
|
||||
|
||||
@@ -25,6 +44,8 @@ Version 2.0.2
|
||||
* add atoll function
|
||||
|
||||
* fix complex problems in Berkeley DB code
|
||||
|
||||
* fix math functions
|
||||
|
||||
Version 2.0.1
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Open jobs for finishing GNU libc:
|
||||
---------------------------------
|
||||
Status: January 1997
|
||||
Status: April 1997
|
||||
|
||||
If you have time and talent to take over any of the jobs below please
|
||||
contact <bug-glibc@prep.ai.mit.edu>
|
||||
@@ -19,7 +19,16 @@ contact <bug-glibc@prep.ai.mit.edu>
|
||||
standards if they do not contradict each other.
|
||||
|
||||
|
||||
[ 3] Write translations for the GNU libc message for the so far
|
||||
[ 3] The IMHO opinion most important task is to write a more complete
|
||||
test suite. We cannot get too many people working on this. It is
|
||||
not difficult to write a test, find a definition of the function
|
||||
which I normally can provide, if necessary, and start writing tests
|
||||
to test for compliance. Beside this, take a look at the sources
|
||||
and write tests which in total test as many paths of execution as
|
||||
possible.
|
||||
|
||||
|
||||
[ 4] Write translations for the GNU libc message for the so far
|
||||
unsupported languages. GNU libc is fully internationalized and
|
||||
users can immediately benefit from this.
|
||||
|
||||
@@ -28,7 +37,7 @@ contact <bug-glibc@prep.ai.mit.edu>
|
||||
for the current status (of course better use a mirror of prep).
|
||||
|
||||
|
||||
[ 4] Write wordexp() function; this is described in POSIX.2, the
|
||||
[ 5] Write wordexp() function; this is described in POSIX.2, the
|
||||
header <wordexp.h> already exists.
|
||||
|
||||
Implementation idea: use some functions from bash.
|
||||
@@ -36,7 +45,7 @@ contact <bug-glibc@prep.ai.mit.edu>
|
||||
**** Somebody is working on this. Help may or may not be appreciated.
|
||||
|
||||
|
||||
[ 5] Write `long double' versions of the math functions. This should be
|
||||
[ 6] Write `long double' versions of the math functions. This should be
|
||||
done in collaboration with the NetBSD and FreeBSD people.
|
||||
|
||||
The libm is in fact fdlibm (not the same as in Linux libc).
|
||||
@@ -45,7 +54,18 @@ contact <bug-glibc@prep.ai.mit.edu>
|
||||
the rest.
|
||||
|
||||
|
||||
[ 6] If you enjoy assembler programming (as I do --drepper :-) you might
|
||||
[ 7] Several math functions have to be written:
|
||||
|
||||
- exp2
|
||||
|
||||
each with float, double, and long double arguments.
|
||||
|
||||
Beside this most of the complex math functions which are new in
|
||||
ISO C 9X should be improved. Writing some of them in assembler is
|
||||
useful to exploit the parallelism which often is available.
|
||||
|
||||
|
||||
[ 8] If you enjoy assembler programming (as I do --drepper :-) you might
|
||||
be interested in writing optimized versions for some functions.
|
||||
Especially the string handling functions can be optimized a lot.
|
||||
|
||||
@@ -60,42 +80,55 @@ contact <bug-glibc@prep.ai.mit.edu>
|
||||
work.
|
||||
|
||||
|
||||
[ 7] Write nftw() function. Perhaps it might be good to reimplement the
|
||||
[ 9] Write nftw() function. Perhaps it might be good to reimplement the
|
||||
ftw() function as well to share most of the code.
|
||||
|
||||
**** Almost done!
|
||||
|
||||
|
||||
[ 8] Write AVL-tree based tsearch() et.al. functions. Currently only
|
||||
a very simple algorithm is used.
|
||||
There is a public domain version but using this would cause problems
|
||||
with the assignment.
|
||||
|
||||
|
||||
[ 9] Extend regex and/or rx to work with wide characters and complete
|
||||
[10] Extend regex and/or rx to work with wide characters and complete
|
||||
implementation of character class and collation class handling.
|
||||
|
||||
It is planed to do a complete rewrite.
|
||||
|
||||
|
||||
[10] Write access function for netmasks, bootparams, and automount
|
||||
[11] Write access function for netmasks, bootparams, and automount
|
||||
databases for nss_files and nss_db module.
|
||||
The functions should be embedded in the nss scheme. This is not
|
||||
hard and not all services must be supported at once.
|
||||
|
||||
|
||||
[11] Rewrite utmp/wtmp functions to use database functions. This is much
|
||||
[12] Rewrite utmp/wtmp functions to use database functions. This is much
|
||||
better than the normal flat file format.
|
||||
|
||||
**** There are plans for a new approach to this problem. Please contact
|
||||
bug-glibc@prep.ai.mit.edu before starting to work.)
|
||||
|
||||
|
||||
[12] Several more or less small functions have to be written:
|
||||
[13] Several more or less small functions have to be written:
|
||||
|
||||
+ tcgetid() and waitid() from XPG4.2
|
||||
+ grantpt(), ptsname(), unlockpt() from XPG4.2
|
||||
+ getdate() from XPG4.2
|
||||
*** Probably underway
|
||||
+ fmtmsg() from SVID
|
||||
*** Probably underway
|
||||
|
||||
More information are available on request.
|
||||
|
||||
|
||||
[14] We need to write a library for on-the-fly transformation of streams
|
||||
of text. In fact, this would be a recode-library (you know, GNU recode).
|
||||
This is needed in several places in the GNU libc and I already have
|
||||
rather concrete plans but so far no possibility to start this.
|
||||
|
||||
|
||||
[15] Cleaning up the header files. Ideally, each header style should
|
||||
follow the "good examples". Each variable and function should have
|
||||
a short description of the function and its parameters. The prototypes
|
||||
should always contain variable names which can help to identify their
|
||||
meaning; better than
|
||||
|
||||
int foo __P ((int, int, int, int));
|
||||
|
||||
Blargh!
|
||||
|
||||
@@ -83,19 +83,19 @@ common-generated := $(common-generated) dummy.o dummy.c empty.c empty.o
|
||||
.PHONY: others tests
|
||||
others: $(addprefix $(objpfx),$(others) $(extra-objs))
|
||||
ifeq ($(cross-compiling),yes)
|
||||
tests: $(addprefix $(objpfx),$(tests))
|
||||
tests: $(addprefix $(objpfx),$(tests) $(test-srcs))
|
||||
else
|
||||
tests: $(tests:%=$(objpfx)%.out)
|
||||
endif
|
||||
|
||||
ifneq "$(strip $(others) $(tests))" ""
|
||||
$(addprefix $(objpfx),$(others) $(tests)): %: %.o \
|
||||
ifneq "$(strip $(others) $(tests) $(test-srcs))" ""
|
||||
$(addprefix $(objpfx),$(others) $(tests) $(test-srcs)): %: %.o \
|
||||
$(sort $(filter $(common-objpfx)libc%,$(link-libc))) \
|
||||
$(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit)
|
||||
$(+link)
|
||||
endif
|
||||
|
||||
ifneq "$(strip $(tests))" ""
|
||||
ifneq "$(strip $(tests) $(test-srcs))" ""
|
||||
# These are the implicit rules for making test outputs
|
||||
# from the test programs and whatever input files are present.
|
||||
$(objpfx)%.out: %.args $(objpfx)% %.input
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ subdir := argp
|
||||
headers = argp.h
|
||||
distribute = argp-fmtstream.h argp-namefrob.h
|
||||
routines = $(addprefix argp-, ba fmtstream fs-xinl help parse pv \
|
||||
pvh xinl)
|
||||
pvh xinl eexst)
|
||||
|
||||
tests = argp-test
|
||||
|
||||
|
||||
+1
-1
@@ -23,4 +23,4 @@
|
||||
the ARGP_HELP_BUG_ADDR flag is set (as it is by various standard help
|
||||
messages), embedded in a sentence that says something like `Report bugs to
|
||||
ADDR.'. */
|
||||
char *argp_program_bug_address = 0;
|
||||
const char *argp_program_bug_address = 0;
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
/* Default definition for ARGP_ERR_EXIT_STATUS
|
||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 C Library 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
|
||||
Library 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. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include "argp.h"
|
||||
|
||||
/* The exit status that argp will use when exiting due to a parsing error.
|
||||
If not defined or set by the user program, this defaults to 1. */
|
||||
error_t argp_err_exit_status = 1;
|
||||
@@ -157,7 +157,7 @@ __argp_fmtstream_update (argp_fmtstream_t fs)
|
||||
the end of the buffer. */
|
||||
nl = fs->p;
|
||||
}
|
||||
else if (fs->point_col + (nl - buf) < fs->rmargin)
|
||||
else if (fs->point_col + (nl - buf) < (ssize_t) fs->rmargin)
|
||||
{
|
||||
/* The buffer contains a full line that fits within the maximum
|
||||
line width. Reset point and scan the next line. */
|
||||
@@ -309,7 +309,7 @@ __argp_fmtstream_update (argp_fmtstream_t fs)
|
||||
int
|
||||
__argp_fmtstream_ensure (struct argp_fmtstream *fs, size_t amount)
|
||||
{
|
||||
if (fs->end - fs->p < amount)
|
||||
if ((size_t) (fs->end - fs->p) < amount)
|
||||
{
|
||||
ssize_t wrote;
|
||||
|
||||
@@ -330,7 +330,7 @@ __argp_fmtstream_ensure (struct argp_fmtstream *fs, size_t amount)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (fs->end - fs->buf < amount)
|
||||
if ((size_t) (fs->end - fs->buf) < amount)
|
||||
/* Gotta grow the buffer. */
|
||||
{
|
||||
size_t new_size = fs->end - fs->buf + amount;
|
||||
@@ -354,7 +354,7 @@ __argp_fmtstream_ensure (struct argp_fmtstream *fs, size_t amount)
|
||||
ssize_t
|
||||
__argp_fmtstream_printf (struct argp_fmtstream *fs, const char *fmt, ...)
|
||||
{
|
||||
size_t out;
|
||||
int out;
|
||||
size_t size_guess = PRINTF_SIZE_GUESS; /* How much space to reserve. */
|
||||
|
||||
do
|
||||
|
||||
@@ -238,7 +238,7 @@ ARGP_FS_EI size_t
|
||||
__argp_fmtstream_set_lmargin (argp_fmtstream_t __fs, size_t __lmargin)
|
||||
{
|
||||
size_t __old;
|
||||
if (__fs->p - __fs->buf > __fs->point_offs)
|
||||
if ((size_t) (__fs->p - __fs->buf) > __fs->point_offs)
|
||||
__argp_fmtstream_update (__fs);
|
||||
__old = __fs->lmargin;
|
||||
__fs->lmargin = __lmargin;
|
||||
@@ -250,7 +250,7 @@ ARGP_FS_EI size_t
|
||||
__argp_fmtstream_set_rmargin (argp_fmtstream_t __fs, size_t __rmargin)
|
||||
{
|
||||
size_t __old;
|
||||
if (__fs->p - __fs->buf > __fs->point_offs)
|
||||
if ((size_t) (__fs->p - __fs->buf) > __fs->point_offs)
|
||||
__argp_fmtstream_update (__fs);
|
||||
__old = __fs->rmargin;
|
||||
__fs->rmargin = __rmargin;
|
||||
@@ -262,7 +262,7 @@ ARGP_FS_EI size_t
|
||||
__argp_fmtstream_set_wmargin (argp_fmtstream_t __fs, size_t __wmargin)
|
||||
{
|
||||
size_t __old;
|
||||
if (__fs->p - __fs->buf > __fs->point_offs)
|
||||
if ((size_t) (__fs->p - __fs->buf) > __fs->point_offs)
|
||||
__argp_fmtstream_update (__fs);
|
||||
__old = __fs->wmargin;
|
||||
__fs->wmargin = __wmargin;
|
||||
@@ -273,7 +273,7 @@ __argp_fmtstream_set_wmargin (argp_fmtstream_t __fs, size_t __wmargin)
|
||||
ARGP_FS_EI size_t
|
||||
__argp_fmtstream_point (argp_fmtstream_t __fs)
|
||||
{
|
||||
if (__fs->p - __fs->buf > __fs->point_offs)
|
||||
if ((size_t) (__fs->p - __fs->buf) > __fs->point_offs)
|
||||
__argp_fmtstream_update (__fs);
|
||||
return __fs->point_col >= 0 ? __fs->point_col : 0;
|
||||
}
|
||||
|
||||
+7
-7
@@ -156,7 +156,7 @@ fill_in_uparams (const struct argp_state *state)
|
||||
arg++;
|
||||
SKIPWS (arg);
|
||||
}
|
||||
|
||||
|
||||
if (unspec)
|
||||
if (var[0] == 'n' && var[1] == 'o' && var[2] == '-')
|
||||
{
|
||||
@@ -878,7 +878,7 @@ arg (const struct argp_option *real, const char *req_fmt, const char *opt_fmt,
|
||||
/* Helper functions for hol_entry_help. */
|
||||
|
||||
/* State used during the execution of hol_help. */
|
||||
struct hol_help_state
|
||||
struct hol_help_state
|
||||
{
|
||||
/* PREV_ENTRY should contain the previous entry printed, or 0. */
|
||||
struct hol_entry *prev_entry;
|
||||
@@ -1086,14 +1086,14 @@ hol_entry_help (struct hol_entry *entry, const struct argp_state *state,
|
||||
const char *fstr = filter_doc (tstr, real->key, entry->argp, state);
|
||||
if (fstr && *fstr)
|
||||
{
|
||||
unsigned col = __argp_fmtstream_point (stream);
|
||||
unsigned int col = __argp_fmtstream_point (stream);
|
||||
|
||||
__argp_fmtstream_set_lmargin (stream, uparams.opt_doc_col);
|
||||
__argp_fmtstream_set_wmargin (stream, uparams.opt_doc_col);
|
||||
|
||||
if (col > uparams.opt_doc_col + 3)
|
||||
if (col > (unsigned int) (uparams.opt_doc_col + 3))
|
||||
__argp_fmtstream_putc (stream, '\n');
|
||||
else if (col >= uparams.opt_doc_col)
|
||||
else if (col >= (unsigned int) uparams.opt_doc_col)
|
||||
__argp_fmtstream_puts (stream, " ");
|
||||
else
|
||||
indent_to (stream, uparams.opt_doc_col);
|
||||
@@ -1600,7 +1600,7 @@ __argp_state_help (const struct argp_state *state, FILE *stream, unsigned flags)
|
||||
if (!state || ! (state->flags & ARGP_NO_EXIT))
|
||||
{
|
||||
if (flags & ARGP_HELP_EXIT_ERR)
|
||||
exit (1);
|
||||
exit (argp_err_exit_status);
|
||||
if (flags & ARGP_HELP_EXIT_OK)
|
||||
exit (0);
|
||||
}
|
||||
@@ -1612,7 +1612,7 @@ weak_alias (__argp_state_help, argp_state_help)
|
||||
|
||||
/* If appropriate, print the printf string FMT and following args, preceded
|
||||
by the program name and `:', to stderr, and followed by a `Try ... --help'
|
||||
message, then exit (1). */
|
||||
message, then exit (ARGP_ERR_EXIT_STATUS). */
|
||||
void
|
||||
__argp_error (const struct argp_state *state, const char *fmt, ...)
|
||||
{
|
||||
|
||||
@@ -612,6 +612,10 @@ parser_finalize (struct parser *parser,
|
||||
|
||||
if (err == EBADKEY)
|
||||
err = 0; /* Some parser didn't understand. */
|
||||
|
||||
/* Tell the user that all arguments are parsed. */
|
||||
if (end_index)
|
||||
*end_index = parser->state.next;
|
||||
}
|
||||
else if (end_index)
|
||||
/* Return any remaining arguments to the user. */
|
||||
|
||||
+1
-1
@@ -22,4 +22,4 @@
|
||||
--version is added (unless the ARGP_NO_HELP flag is used), which will
|
||||
print this this string followed by a newline and exit (unless the
|
||||
ARGP_NO_EXIT flag is used). Overridden by ARGP_PROGRAM_VERSION_HOOK. */
|
||||
char *argp_program_version = 0;
|
||||
const char *argp_program_version = 0;
|
||||
|
||||
+6
-2
@@ -240,7 +240,7 @@ struct argp
|
||||
TEXT is NULL for this key. */
|
||||
/* Explanatory note emitted when duplicate option arguments have been
|
||||
suppressed. */
|
||||
#define ARGP_KEY_HELP_DUP_ARGS_NOTE 0x2000005
|
||||
#define ARGP_KEY_HELP_DUP_ARGS_NOTE 0x2000005
|
||||
|
||||
/* When an argp has a non-zero CHILDREN field, it should point to a vector of
|
||||
argp_child structures, each of which describes a subsidiary argp. */
|
||||
@@ -379,7 +379,7 @@ extern error_t __argp_parse __P ((__const struct argp *__argp,
|
||||
option --version is added (unless the ARGP_NO_HELP flag is used), which
|
||||
will print this string followed by a newline and exit (unless the
|
||||
ARGP_NO_EXIT flag is used). Overridden by ARGP_PROGRAM_VERSION_HOOK. */
|
||||
extern const char *argp_program_version;
|
||||
extern __const char *argp_program_version;
|
||||
|
||||
/* If defined or set by the user program to a non-zero value, then a default
|
||||
option --version is added (unless the ARGP_NO_HELP flag is used), which
|
||||
@@ -395,6 +395,10 @@ extern void (*argp_program_version_hook) __P ((FILE *__stream,
|
||||
standard help messages), embedded in a sentence that says something like
|
||||
`Report bugs to ADDR.'. */
|
||||
__const extern char *argp_program_bug_address;
|
||||
|
||||
/* The exit status that argp will use when exiting due to a parsing error.
|
||||
If not defined or set by the user program, this defaults to 1. */
|
||||
extern error_t argp_err_exit_status;
|
||||
|
||||
/* Flags for argp_help. */
|
||||
#define ARGP_HELP_USAGE 0x01 /* a Usage: message. */
|
||||
|
||||
+11
-2
@@ -84,8 +84,17 @@ catopen (const char *cat_name, int flag)
|
||||
}
|
||||
|
||||
nlspath = __secure_getenv ("NLSPATH");
|
||||
result->nlspath = __strdup (nlspath != NULL && *nlspath != '\0'
|
||||
? nlspath : NLSPATH);
|
||||
if (nlspath != NULL && *nlspath != '\0')
|
||||
{
|
||||
/* Append the system dependent directory. */
|
||||
size_t len = strlen (nlspath + 1 + sizeof NLSPATH);
|
||||
char *tmp = alloca (len);
|
||||
|
||||
__stpcpy (__stpcpy (__stpcpy (tmp, nlspath), ":"), NLSPATH);
|
||||
nlspath = tmp;
|
||||
}
|
||||
else
|
||||
result->nlspath = __strdup (NLSPATH);
|
||||
|
||||
if (result->nlspath == NULL)
|
||||
{
|
||||
|
||||
Vendored
+31
-7
@@ -68,8 +68,26 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
echo m68k-cbm-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
amiga:OpenBSD:*:*)
|
||||
echo m68k-cbm-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
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;;
|
||||
@@ -118,19 +136,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
echo m68k-atari-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
atari*:OpenBSD:*:*)
|
||||
echo m68k-atari-openbsd${UNAME_RELEASE}
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sun3*:NetBSD:*:*)
|
||||
echo m68k-sun-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sun3*:OpenBSD:*:*)
|
||||
echo m68k-sun-openbsd${UNAME_RELEASE}
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mac68k:NetBSD:*:*)
|
||||
echo m68k-apple-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mac68k:OpenBSD:*:*)
|
||||
echo m68k-apple-openbsd${UNAME_RELEASE}
|
||||
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}
|
||||
@@ -378,8 +402,8 @@ EOF
|
||||
hp3[0-9][05]:NetBSD:*:*)
|
||||
echo m68k-hp-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
hp3[0-9][05]:OpenBSD:*:*)
|
||||
echo m68k-hp-openbsd${UNAME_RELEASE}
|
||||
hp300:OpenBSD:*:*)
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
i?86:BSD/386:*:* | *:BSD/OS:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
|
||||
|
||||
@@ -43,6 +43,9 @@
|
||||
directive. */
|
||||
#undef HAVE_ASM_POPSECTION_DIRECTIVE
|
||||
|
||||
/* Define if versioning of the library is wanted. */
|
||||
#undef DO_VERSIONING
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
|
||||
@@ -26,6 +26,8 @@ defines = @DEFINES@
|
||||
elf = @elf@
|
||||
have-initfini = @libc_cv_have_initfini@
|
||||
|
||||
versioning = @VERSIONING@
|
||||
|
||||
have-no-whole-archive = @libc_cv_ld_no_whole_archive@
|
||||
have-no-exceptions = @libc_cv_gcc_no_exceptions@
|
||||
have-bash2 = @libc_cv_have_bash2@
|
||||
@@ -40,6 +42,7 @@ build-omitfp = @omitfp@
|
||||
build-bounded = @bounded@
|
||||
stdio = @stdio@
|
||||
add-ons = @subdirs@
|
||||
cross-compiling = @cross_compiling@
|
||||
|
||||
# Build tools.
|
||||
CC = @CC@
|
||||
|
||||
@@ -776,7 +776,8 @@ gnu* | linux* | bsd4.4* | netbsd* | freebsd*)
|
||||
gnu_ld=yes gnu_as=yes ;;
|
||||
esac
|
||||
case "$host_os" in
|
||||
linux*ecoff*)
|
||||
# i586-linuxaout is mangled into i586-pc-linux-gnuaout
|
||||
linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
|
||||
;;
|
||||
gnu* | linux* | sysv4* | solaris2*)
|
||||
# These systems (almost) always use the ELF format.
|
||||
@@ -793,6 +794,7 @@ os=$config_os
|
||||
case "$machine" in
|
||||
a29k | am29000) base_machine=a29k machine=a29k ;;
|
||||
alpha*) base_machine=alpha machine=alpha/$machine ;;
|
||||
arm*) base_machine=arm machine=arm/$machine ;;
|
||||
hppa*) base_machine=hppa machine=hppa/$machine ;;
|
||||
i[3456]86) base_machine=i386 machine=i386/$machine ;;
|
||||
m680?0) base_machine=m68k machine=m68k/$machine ;;
|
||||
@@ -810,7 +812,7 @@ esac
|
||||
# This can take a while to compute.
|
||||
sysdep_dir=$srcdir/sysdeps
|
||||
echo $ac_n "checking sysdep dirs""... $ac_c" 1>&6
|
||||
echo "configure:814: checking sysdep dirs" >&5
|
||||
echo "configure:816: checking sysdep dirs" >&5
|
||||
# Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
|
||||
os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
|
||||
|
||||
@@ -1011,7 +1013,7 @@ echo "$ac_t""sysdeps/generic sysdeps/stub" 1>&6
|
||||
# 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:1015: checking for a BSD compatible install" >&5
|
||||
echo "configure:1017: 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
|
||||
@@ -1065,7 +1067,7 @@ if test "$INSTALL" = "${srcdir}/install-sh -c"; then
|
||||
INSTALL='$(..)./install-sh -c'
|
||||
fi
|
||||
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
|
||||
echo "configure:1069: checking whether ln -s works" >&5
|
||||
echo "configure:1071: 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
|
||||
@@ -1090,7 +1092,7 @@ 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:1094: checking for $ac_word" >&5
|
||||
echo "configure:1096: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_MSGFMT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1120,8 +1122,178 @@ done
|
||||
test -n "$MSGFMT" || MSGFMT=":"
|
||||
|
||||
|
||||
# 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:1129: 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="${IFS}:"
|
||||
for ac_dir in $PATH; 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:1158: 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="${IFS}:"
|
||||
ac_prog_rejected=no
|
||||
for ac_dir in $PATH; 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
|
||||
|
||||
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:1206: 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 $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
|
||||
cross_compiling=$ac_cv_prog_cc_cross
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1216 "configure"
|
||||
#include "confdefs.h"
|
||||
main(){return(0);}
|
||||
EOF
|
||||
if { (eval echo configure:1220: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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*
|
||||
|
||||
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:1240: 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:1245: 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 <<EOF
|
||||
#ifdef __GNUC__
|
||||
yes;
|
||||
#endif
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1254: \"$ac_try\") 1>&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
|
||||
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:1269: 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
|
||||
CFLAGS="-g -O2"
|
||||
else
|
||||
CFLAGS="-O2"
|
||||
fi
|
||||
else
|
||||
GCC=
|
||||
test "${CFLAGS+set}" = set || CFLAGS="-g"
|
||||
fi
|
||||
|
||||
echo $ac_n "checking build system type""... $ac_c" 1>&6
|
||||
echo "configure:1125: checking build system type" >&5
|
||||
echo "configure:1297: checking build system type" >&5
|
||||
|
||||
build_alias=$build
|
||||
case "$build_alias" in
|
||||
@@ -1139,47 +1311,12 @@ build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
|
||||
echo "$ac_t""$build" 1>&6
|
||||
|
||||
if test $host != $build; then
|
||||
ac_tool_prefix=${host_alias}-
|
||||
else
|
||||
ac_tool_prefix=
|
||||
fi
|
||||
|
||||
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
|
||||
set dummy ${ac_tool_prefix}gcc; ac_word=$2
|
||||
for ac_prog in gcc cc
|
||||
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:1151: 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="${IFS}:"
|
||||
for ac_dir in $PATH; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f $ac_dir/$ac_word; then
|
||||
ac_cv_prog_CC="${ac_tool_prefix}gcc"
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="gcc"
|
||||
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 $host != $build; then
|
||||
# Extract the first word of "gcc cc", so it can be a program name with args.
|
||||
set dummy gcc cc; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1183: checking for $ac_word" >&5
|
||||
echo "configure:1320: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1190,7 +1327,7 @@ else
|
||||
for ac_dir in $PATH; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f $ac_dir/$ac_word; then
|
||||
ac_cv_prog_BUILD_CC=""
|
||||
ac_cv_prog_BUILD_CC="$ac_prog"
|
||||
break
|
||||
fi
|
||||
done
|
||||
@@ -1204,9 +1341,13 @@ else
|
||||
echo "$ac_t""no" 1>&6
|
||||
fi
|
||||
|
||||
test -n "$BUILD_CC" && break
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
|
||||
echo "configure:1210: checking how to run the C preprocessor" >&5
|
||||
echo "configure:1351: checking how to run the C preprocessor" >&5
|
||||
# On Suns, sometimes $CPP names a directory.
|
||||
if test -n "$CPP" && test -d "$CPP"; then
|
||||
CPP=
|
||||
@@ -1221,13 +1362,13 @@ else
|
||||
# On the NeXT, cc -E runs the code through the compiler's parser,
|
||||
# not just through cpp.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1225 "configure"
|
||||
#line 1366 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <assert.h>
|
||||
Syntax Error
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1231: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1372: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out`
|
||||
if test -z "$ac_err"; then
|
||||
:
|
||||
@@ -1238,13 +1379,13 @@ else
|
||||
rm -rf conftest*
|
||||
CPP="${CC-cc} -E -traditional-cpp"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1242 "configure"
|
||||
#line 1383 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <assert.h>
|
||||
Syntax Error
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1248: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1389: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out`
|
||||
if test -z "$ac_err"; then
|
||||
:
|
||||
@@ -1266,10 +1407,16 @@ else
|
||||
fi
|
||||
echo "$ac_t""$CPP" 1>&6
|
||||
|
||||
if test $host != $build; then
|
||||
ac_tool_prefix=${host_alias}-
|
||||
else
|
||||
ac_tool_prefix=
|
||||
fi
|
||||
|
||||
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
|
||||
set dummy ${ac_tool_prefix}ar; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1273: checking for $ac_word" >&5
|
||||
echo "configure:1420: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1300,7 +1447,7 @@ fi
|
||||
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
|
||||
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1304: checking for $ac_word" >&5
|
||||
echo "configure:1451: 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
|
||||
@@ -1331,7 +1478,7 @@ if test -n "$ac_tool_prefix"; then
|
||||
# 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:1335: checking for $ac_word" >&5
|
||||
echo "configure:1482: 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
|
||||
@@ -1366,7 +1513,7 @@ fi
|
||||
# Extract the first word of "bash", so it can be a program name with args.
|
||||
set dummy bash; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1370: checking for $ac_word" >&5
|
||||
echo "configure:1517: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1407,7 +1554,7 @@ if test "$BASH" = no; then
|
||||
# Extract the first word of "ksh", so it can be a program name with args.
|
||||
set dummy ksh; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1411: checking for $ac_word" >&5
|
||||
echo "configure:1558: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_KSH'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1449,7 +1596,7 @@ fi
|
||||
|
||||
|
||||
echo $ac_n "checking for signed size_t type""... $ac_c" 1>&6
|
||||
echo "configure:1453: checking for signed size_t type" >&5
|
||||
echo "configure:1600: checking for signed size_t type" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_signed_size_t'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1473,12 +1620,12 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for libc-friendly stddef.h""... $ac_c" 1>&6
|
||||
echo "configure:1477: checking for libc-friendly stddef.h" >&5
|
||||
echo "configure:1624: checking for libc-friendly stddef.h" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1482 "configure"
|
||||
#line 1629 "configure"
|
||||
#include "confdefs.h"
|
||||
#define __need_size_t
|
||||
#define __need_wchar_t
|
||||
@@ -1493,7 +1640,7 @@ size_t size; wchar_t wchar;
|
||||
if (&size == NULL || &wchar == NULL) abort ();
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1497: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:1644: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
libc_cv_friendly_stddef=yes
|
||||
else
|
||||
@@ -1512,7 +1659,7 @@ override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
|
||||
fi
|
||||
|
||||
echo $ac_n "checking whether we need to use -P to assemble .S files""... $ac_c" 1>&6
|
||||
echo "configure:1516: checking whether we need to use -P to assemble .S files" >&5
|
||||
echo "configure:1663: checking whether we need to use -P to assemble .S files" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_need_minus_P'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1535,7 +1682,7 @@ asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for assembler global-symbol directive""... $ac_c" 1>&6
|
||||
echo "configure:1539: checking for assembler global-symbol directive" >&5
|
||||
echo "configure:1686: checking for assembler global-symbol directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_global_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1565,7 +1712,7 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for .set assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:1569: checking for .set assembler directive" >&5
|
||||
echo "configure:1716: checking for .set assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_set_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1598,9 +1745,74 @@ EOF
|
||||
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for .symver assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:1750: checking for .symver assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_symver_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.s <<EOF
|
||||
.text
|
||||
_sym:
|
||||
.symver _sym,sym@VERS
|
||||
EOF
|
||||
if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&5 2>&5; then
|
||||
libc_cv_asm_symver_directive=yes
|
||||
else
|
||||
libc_cv_asm_symver_directive=no
|
||||
fi
|
||||
rm -f conftest*
|
||||
fi
|
||||
|
||||
echo "$ac_t""$libc_cv_asm_symver_directive" 1>&6
|
||||
echo $ac_n "checking for ld --version-script""... $ac_c" 1>&6
|
||||
echo "configure:1769: checking for ld --version-script" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_ld_version_script_option'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
if test $libc_cv_asm_symver_directive = yes; then
|
||||
cat > conftest.s <<EOF
|
||||
.text
|
||||
_sym:
|
||||
.symver _sym,sym@VERS
|
||||
EOF
|
||||
cat > conftest.map <<EOF
|
||||
VERS {
|
||||
global: sym;
|
||||
};
|
||||
EOF
|
||||
if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&5 2>&5; then
|
||||
if { ac_try='${CC-cc} $CFLAGS --shared -o conftest.so conftest.o
|
||||
-Wl,--version-script,conftest.map'; { (eval echo configure:1786: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
then
|
||||
libc_cv_ld_version_script_option=yes
|
||||
else
|
||||
libc_cv_ld_version_script_option=no
|
||||
fi
|
||||
else
|
||||
libc_cv_ld_version_script_option=no
|
||||
fi
|
||||
else
|
||||
libc_cv_ld_version_script_option=no
|
||||
fi
|
||||
rm -f conftest*
|
||||
fi
|
||||
|
||||
echo "$ac_t""$libc_cv_ld_version_script_option" 1>&6
|
||||
if test $libc_cv_asm_symver_directive = yes &&
|
||||
test $libc_cv_ld_version_script_option = yes; then
|
||||
VERSIONING=yes
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define DO_VERSIONING 1
|
||||
EOF
|
||||
|
||||
else
|
||||
VERSIONING=no
|
||||
fi
|
||||
|
||||
|
||||
if test $elf = yes; then
|
||||
echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:1604: checking for .previous assembler directive" >&5
|
||||
echo "configure:1816: checking for .previous assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_previous_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1608,7 +1820,7 @@ else
|
||||
.section foo_section
|
||||
.previous
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1612: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1824: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_asm_previous_directive=yes
|
||||
else
|
||||
libc_cv_asm_previous_directive=no
|
||||
@@ -1624,7 +1836,7 @@ EOF
|
||||
|
||||
else
|
||||
echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:1628: checking for .popsection assembler directive" >&5
|
||||
echo "configure:1840: checking for .popsection assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_popsection_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1632,7 +1844,7 @@ else
|
||||
.pushsection foo_section
|
||||
.popsection
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1636: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1848: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_asm_popsection_directive=yes
|
||||
else
|
||||
libc_cv_asm_popsection_directive=no
|
||||
@@ -1652,12 +1864,12 @@ fi
|
||||
|
||||
if test $elf != yes; then
|
||||
echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6
|
||||
echo "configure:1656: checking for .init and .fini sections" >&5
|
||||
echo "configure:1868: checking for .init and .fini sections" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1661 "configure"
|
||||
#line 1873 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
@@ -1666,7 +1878,7 @@ asm (".section .init");
|
||||
asm (".text");
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1670: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:1882: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
libc_cv_have_initfini=yes
|
||||
else
|
||||
@@ -1691,19 +1903,19 @@ if test $elf = yes; then
|
||||
libc_cv_asm_underscores=no
|
||||
else
|
||||
echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
|
||||
echo "configure:1695: checking for _ prefix on C symbol names" >&5
|
||||
echo "configure:1907: checking for _ prefix on C symbol names" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1700 "configure"
|
||||
#line 1912 "configure"
|
||||
#include "confdefs.h"
|
||||
asm ("_glibc_foobar:");
|
||||
int main() {
|
||||
glibc_foobar ();
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1707: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
if { (eval echo configure:1919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
rm -rf conftest*
|
||||
libc_cv_asm_underscores=yes
|
||||
else
|
||||
@@ -1730,7 +1942,7 @@ if test $elf = yes; then
|
||||
libc_cv_asm_weakext_directive=no
|
||||
else
|
||||
echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6
|
||||
echo "configure:1734: checking for assembler .weak directive" >&5
|
||||
echo "configure:1946: checking for assembler .weak directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1753,7 +1965,7 @@ echo "$ac_t""$libc_cv_asm_weak_directive" 1>&6
|
||||
|
||||
if test $libc_cv_asm_weak_directive = no; then
|
||||
echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&6
|
||||
echo "configure:1757: checking for assembler .weakext directive" >&5
|
||||
echo "configure:1969: checking for assembler .weakext directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1790,7 +2002,7 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for ld --no-whole-archive""... $ac_c" 1>&6
|
||||
echo "configure:1794: checking for ld --no-whole-archive" >&5
|
||||
echo "configure:2006: checking for ld --no-whole-archive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_ld_no_whole_archive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1801,7 +2013,7 @@ __throw () {}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS
|
||||
-nostdlib -nostartfiles -Wl,--no-whole-archive
|
||||
-o conftest conftest.c'; { (eval echo configure:1805: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c'; { (eval echo configure:2017: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_ld_no_whole_archive=yes
|
||||
else
|
||||
libc_cv_ld_no_whole_archive=no
|
||||
@@ -1812,7 +2024,7 @@ fi
|
||||
echo "$ac_t""$libc_cv_ld_no_whole_archive" 1>&6
|
||||
|
||||
echo $ac_n "checking for gcc -fno-exceptions""... $ac_c" 1>&6
|
||||
echo "configure:1816: checking for gcc -fno-exceptions" >&5
|
||||
echo "configure:2028: checking for gcc -fno-exceptions" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_no_exceptions'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1823,7 +2035,7 @@ __throw () {}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS
|
||||
-nostdlib -nostartfiles -fno-exceptions
|
||||
-o conftest conftest.c'; { (eval echo configure:1827: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c'; { (eval echo configure:2039: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_gcc_no_exceptions=yes
|
||||
else
|
||||
libc_cv_gcc_no_exceptions=no
|
||||
@@ -1875,7 +2087,7 @@ if test "$uname" = generic; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking OS release for uname""... $ac_c" 1>&6
|
||||
echo "configure:1879: checking OS release for uname" >&5
|
||||
echo "configure:2091: checking OS release for uname" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_uname_release'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1897,7 +2109,7 @@ echo "$ac_t""$libc_cv_uname_release" 1>&6
|
||||
uname_release="$libc_cv_uname_release"
|
||||
|
||||
echo $ac_n "checking OS version for uname""... $ac_c" 1>&6
|
||||
echo "configure:1901: checking OS version for uname" >&5
|
||||
echo "configure:2113: checking OS version for uname" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_uname_version'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1919,7 +2131,7 @@ else
|
||||
fi
|
||||
|
||||
echo $ac_n "checking stdio selection""... $ac_c" 1>&6
|
||||
echo "configure:1923: checking stdio selection" >&5
|
||||
echo "configure:2135: checking stdio selection" >&5
|
||||
|
||||
case $stdio in
|
||||
libio) cat >> confdefs.h <<\EOF
|
||||
@@ -2004,7 +2216,7 @@ EOF
|
||||
# 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
|
||||
case `(ac_space=' '; set) 2>&1` in
|
||||
*ac_space=\ *)
|
||||
# `set' does not quote correctly, so add quotes (double-quote substitution
|
||||
# turns \\\\ into \\, and sed turns \\ into \).
|
||||
@@ -2124,13 +2336,14 @@ s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
|
||||
s%@INSTALL_DATA@%$INSTALL_DATA%g
|
||||
s%@LN_S@%$LN_S%g
|
||||
s%@MSGFMT@%$MSGFMT%g
|
||||
s%@CC@%$CC%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%@CC@%$CC%g
|
||||
s%@BUILD_CC@%$BUILD_CC%g
|
||||
s%@cross_compiling@%$cross_compiling%g
|
||||
s%@CPP@%$CPP%g
|
||||
s%@AR@%$AR%g
|
||||
s%@RANLIB@%$RANLIB%g
|
||||
@@ -2138,6 +2351,7 @@ s%@BASH@%$BASH%g
|
||||
s%@libc_cv_have_bash2@%$libc_cv_have_bash2%g
|
||||
s%@KSH@%$KSH%g
|
||||
s%@libc_cv_have_ksh@%$libc_cv_have_ksh%g
|
||||
s%@VERSIONING@%$VERSIONING%g
|
||||
s%@libc_cv_have_initfini@%$libc_cv_have_initfini%g
|
||||
s%@libc_cv_ld_no_whole_archive@%$libc_cv_ld_no_whole_archive%g
|
||||
s%@libc_cv_gcc_no_exceptions@%$libc_cv_gcc_no_exceptions%g
|
||||
|
||||
+55
-3
@@ -119,7 +119,8 @@ gnu* | linux* | bsd4.4* | netbsd* | freebsd*)
|
||||
gnu_ld=yes gnu_as=yes ;;
|
||||
esac
|
||||
case "$host_os" in
|
||||
linux*ecoff*)
|
||||
# i586-linuxaout is mangled into i586-pc-linux-gnuaout
|
||||
linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
|
||||
;;
|
||||
gnu* | linux* | sysv4* | solaris2*)
|
||||
# These systems (almost) always use the ELF format.
|
||||
@@ -138,6 +139,7 @@ changequote(,)dnl
|
||||
case "$machine" in
|
||||
a29k | am29000) base_machine=a29k machine=a29k ;;
|
||||
alpha*) base_machine=alpha machine=alpha/$machine ;;
|
||||
arm*) base_machine=arm machine=arm/$machine ;;
|
||||
hppa*) base_machine=hppa machine=hppa/$machine ;;
|
||||
i[3456]86) base_machine=i386 machine=i386/$machine ;;
|
||||
m680?0) base_machine=m68k machine=m68k/$machine ;;
|
||||
@@ -359,10 +361,12 @@ fi
|
||||
AC_PROG_LN_S
|
||||
AC_CHECK_PROGS(MSGFMT, msgfmt gmsgfmt, :)
|
||||
|
||||
AC_CHECK_TOOL(CC, gcc)
|
||||
AC_PROG_CC
|
||||
AC_CANONICAL_BUILD
|
||||
if test $host != $build; then
|
||||
AC_CHECK_PROG(BUILD_CC, gcc cc)
|
||||
AC_CHECK_PROGS(BUILD_CC, gcc cc)
|
||||
fi
|
||||
AC_SUBST(cross_compiling)
|
||||
AC_PROG_CPP
|
||||
AC_CHECK_TOOL(AR, ar)
|
||||
AC_CHECK_TOOL(RANLIB, ranlib, :)
|
||||
@@ -489,6 +493,54 @@ if test $libc_cv_asm_set_directive = yes; then
|
||||
AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
|
||||
[cat > conftest.s <<EOF
|
||||
.text
|
||||
_sym:
|
||||
.symver _sym,sym@VERS
|
||||
EOF
|
||||
if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&AC_FD_CC 2>&AC_FD_CC; then
|
||||
libc_cv_asm_symver_directive=yes
|
||||
else
|
||||
libc_cv_asm_symver_directive=no
|
||||
fi
|
||||
rm -f conftest*])
|
||||
AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
|
||||
if test $libc_cv_asm_symver_directive = yes; then
|
||||
cat > conftest.s <<EOF
|
||||
.text
|
||||
_sym:
|
||||
.symver _sym,sym@VERS
|
||||
EOF
|
||||
cat > conftest.map <<EOF
|
||||
VERS {
|
||||
global: sym;
|
||||
};
|
||||
EOF
|
||||
if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&AC_FD_CC 2>&AC_FD_CC; then
|
||||
if AC_TRY_COMMAND([${CC-cc} $CFLAGS --shared -o conftest.so conftest.o
|
||||
-Wl,--version-script,conftest.map]);
|
||||
then
|
||||
libc_cv_ld_version_script_option=yes
|
||||
else
|
||||
libc_cv_ld_version_script_option=no
|
||||
fi
|
||||
else
|
||||
libc_cv_ld_version_script_option=no
|
||||
fi
|
||||
else
|
||||
libc_cv_ld_version_script_option=no
|
||||
fi
|
||||
rm -f conftest*])
|
||||
if test $libc_cv_asm_symver_directive = yes &&
|
||||
test $libc_cv_ld_version_script_option = yes; then
|
||||
VERSIONING=yes
|
||||
AC_DEFINE(DO_VERSIONING)
|
||||
else
|
||||
VERSIONING=no
|
||||
fi
|
||||
AC_SUBST(VERSIONING)
|
||||
|
||||
if test $elf = yes; then
|
||||
AC_CACHE_CHECK(for .previous assembler directive,
|
||||
libc_cv_asm_previous_directive, [dnl
|
||||
|
||||
@@ -4,3 +4,4 @@
|
||||
TODO COPYING* AUTHORS copyr-* copying.*
|
||||
glibc-*
|
||||
distinfo
|
||||
specs
|
||||
|
||||
+39
-37
@@ -1,6 +1,6 @@
|
||||
# Makefile for csu code for GNU C library.
|
||||
|
||||
# Copyright (C) 1995, 1996 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
# This file is part of the GNU C Library.
|
||||
|
||||
# The GNU C Library is free software; you can redistribute it and/or
|
||||
@@ -36,27 +36,14 @@ omit-deps = $(patsubst %.o,%,$(start-installed-name) g$(start-installed-name) \
|
||||
$(csu-dummies))
|
||||
install-lib = $(start-installed-name) g$(start-installed-name) \
|
||||
$(csu-dummies)
|
||||
distribute = initfini.c gmon-start.c start.c
|
||||
distribute = initfini.c gmon-start.c start.c defs.awk abi-note.S abi-tag.h
|
||||
|
||||
all: # Make this the default target; it will be defined in Rules.
|
||||
|
||||
include ../Makeconfig
|
||||
|
||||
ifneq ($(elf),yes)
|
||||
|
||||
# When not using ELF, there is just one startfile, called crt0.o.
|
||||
start-installed-name = crt0.o
|
||||
|
||||
else
|
||||
|
||||
# In the ELF universe, crt0.o is called crt1.o, and there are
|
||||
# some additional bizarre files.
|
||||
start-installed-name = crt1.o
|
||||
have-initfini = yes
|
||||
|
||||
endif
|
||||
|
||||
ifeq (yes,$(have-initfini))
|
||||
ifeq ($(have-initfini),yes)
|
||||
|
||||
CPPFLAGS += -DHAVE_INITFINI
|
||||
|
||||
@@ -67,45 +54,60 @@ crtstuff = crti crtn
|
||||
|
||||
install-lib += $(crtstuff:=.o)
|
||||
extra-objs += $(crtstuff:=.o)
|
||||
generated += $(crtstuff:=.s)
|
||||
generated += $(crtstuff:=.S) initfini.s align.h end.h
|
||||
omit-deps += $(crtstuff)
|
||||
|
||||
# Compile initfini.c to assembly code, which contains embedded shell
|
||||
# commands that produce crti.s-new and crtn.s-new when run. We need to
|
||||
# disable emission of .size directives and debugging information, since
|
||||
# they will get confused by the splitting of the output we do.
|
||||
$(objpfx)cr%i.s $(objpfx)cr%n.s: initfini.c; $(initfini)
|
||||
# Special rules for the building of crti.o and crtn.o
|
||||
$(objpfx)crt%.o: $(objpfx)crt%.S $(objpfx)defs.h
|
||||
$(CC) -c -fPIC -g0 -I$(..) -I$(common-objpfx) -DASSEMBLER $< -o $@
|
||||
|
||||
define initfini
|
||||
-rm -f $(objpfx)crtcommon.tmp
|
||||
(echo 'cat > crtcommon.tmp <<\EOF_common'; \
|
||||
$(CC) $< $(CPPFLAGS) $(CFLAGS) \
|
||||
-fPIC -finhibit-size-directive $(no-exceptions) -g0 -S -o -; \
|
||||
echo 'EOF_common') | (cd $(@D); $(SHELL))
|
||||
cat $(objpfx)crtcommon.tmp >> $(objpfx)crti.s-new
|
||||
cat $(objpfx)crtcommon.tmp >> $(objpfx)crtn.s-new
|
||||
rm -f $(objpfx)crtcommon.tmp
|
||||
mv -f $(objpfx)crti.s-new $(subst crtn,crti,$@)
|
||||
mv -f $(objpfx)crtn.s-new $(subst crti,crtn,$@)
|
||||
endef
|
||||
$(objpfx)initfini.s: initfini.c
|
||||
$(CC) $(CPPFLAGS) $(CFLAGS) -g0 -S -fPIC -finhibit-size-directive \
|
||||
$(no-exceptions) $< -o $@
|
||||
|
||||
$(objpfx)crti.S: $(objpfx)initfini.s
|
||||
sed -n -e '1,/@HEADER_ENDS/p' \
|
||||
-e '/@_.*_PROLOG_BEGINS/,/@_.*_PROLOG_ENDS/p' \
|
||||
-e '/@TRAILER_BEGINS/,$$p' $< > $@
|
||||
|
||||
$(objpfx)crtn.S: $(objpfx)initfini.s
|
||||
sed -n -e '1,/@HEADER_ENDS/p' \
|
||||
-e '/@_.*_EPILOG_BEGINS/,/@_.*_EPILOG_ENDS/p' \
|
||||
-e '/@TRAILER_BEGINS/,$$p' $< > $@
|
||||
|
||||
$(objpfx)defs.h: $(objpfx)initfini.s
|
||||
sed -n -e '/@TESTS_BEGIN/,/@TESTS_END/p' $< | \
|
||||
awk -f defs.awk > $@
|
||||
|
||||
endif
|
||||
|
||||
include ../Rules
|
||||
|
||||
define link-relocatable
|
||||
$(CC) -nostdlib -nostartfiles -r -o $@ $^
|
||||
endef
|
||||
|
||||
ifndef start-installed-name-rule
|
||||
ifeq (yes,$(elf))
|
||||
# We link the ELF startfile along with a SHT_NOTE section indicating
|
||||
# the the kernel ABI the binaries linked with this library will require.
|
||||
$(objpfx)$(start-installed-name): $(objpfx)start.o $(objpfx)abi-note.o
|
||||
$(link-relocatable)
|
||||
else
|
||||
# The startfile is installed under different names, so we just call our
|
||||
# source file `start.c' and copy to the installed name after compiling.
|
||||
$(objpfx)$(start-installed-name): $(objpfx)start.o
|
||||
-rm -f $@
|
||||
rm -f $@
|
||||
ln $< $@
|
||||
endif
|
||||
endif
|
||||
|
||||
# The profiling startfile is made by linking together the normal
|
||||
# startfile with gmon-start.o, which defines a constructor function
|
||||
# to turn on profiling code at startup.
|
||||
$(objpfx)g$(start-installed-name): $(objpfx)start.o $(objpfx)gmon-start.o
|
||||
$(CC) -nostdlib -nostartfiles -r -o $@ $^
|
||||
$(objpfx)g$(start-installed-name): $(objpfx)$(start-installed-name) \
|
||||
$(objpfx)gmon-start.o
|
||||
$(link-relocatable)
|
||||
|
||||
# These extra files are sometimes expected by system standard linking
|
||||
# procedures, but we have nothing for them to do. So compile empty files.
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
/* Special .init and .fini section support.
|
||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it
|
||||
and/or modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
In addition to the permissions in the GNU Library General Public
|
||||
License, the Free Software Foundation gives you unlimited
|
||||
permission to link the compiled version of this file with other
|
||||
programs, and to distribute those programs without any restriction
|
||||
coming from the use of this file. (The Library General Public
|
||||
License restrictions do apply in other respects; for example, they
|
||||
cover modification of the file, and distribution when not linked
|
||||
into another program.)
|
||||
|
||||
The GNU C Library 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 Library 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, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
/* The basic layout of note sections is specified by the ELF format. */
|
||||
|
||||
#define ELF_NOTE_BEGIN(sectname, sectflags, type, name) \
|
||||
.section sectname, sectflags; \
|
||||
.align ALIGNARG(2); /* Notes are 4-byte aligned. */ \
|
||||
.long 1f - 0f; /* 32-bit word: length of name field */ \
|
||||
.long 3f - 2f; /* 32-bit word: length of desc field */ \
|
||||
.long (type); /* 32-bit word: vendor-defined type field */ \
|
||||
0: .asciz name; /* null-terminated string, any length: name */\
|
||||
1: .align ALIGNARG(2); /* Name data padded to 4-byte alignment. */ \
|
||||
2: /* Here follows the "note descriptor" data, whose format \
|
||||
is not specified by ELF. The vendor name and type field \
|
||||
indicate what sort of data is found here. */
|
||||
|
||||
#define ELF_NOTE_END \
|
||||
3: .align ALIGNARG(2) /* Pad to 4-byte align the next note. */
|
||||
|
||||
|
||||
/* The linker (GNU ld 2.8 and later) recognize an allocated section whose
|
||||
name begins with `.note' and creates a PT_NOTE program header entry
|
||||
pointing at it.
|
||||
|
||||
Such a program header is the canonical way (at least in the free OS
|
||||
community) to identify the OS environment ABI that the executable was
|
||||
created for. The ELF note information identifies a particular OS or
|
||||
coordinated development effort within which the ELF header's e_machine
|
||||
value plus (for dynamically linked programs) the PT_INTERP dynamic
|
||||
linker name and DT_NEEDED shared library names fully identify the
|
||||
runtime environment required by an executable.
|
||||
|
||||
The GNU project and cooperating development efforts (including the Linux
|
||||
community) use a vendor name string of "GNU", and a note type field with
|
||||
value 1 for a note descriptor that indicates ABI requirements. */
|
||||
|
||||
#include <abi-tag.h> /* OS-specific ABI tag value */
|
||||
|
||||
ELF_NOTE_BEGIN(".note.ABI-tag", "a", 1, "GNU")
|
||||
.long ABI_TAG
|
||||
ELF_NOTE_END
|
||||
@@ -0,0 +1,22 @@
|
||||
/.end/ { need_end = 1 }
|
||||
/.align/ { if($2 > max) max = $2; }
|
||||
|
||||
END {
|
||||
if(need_end)
|
||||
{
|
||||
print "#define END_INIT .end _init";
|
||||
print "#define END_FINI .end _fini";
|
||||
}
|
||||
else
|
||||
{
|
||||
print "#define END_INIT";
|
||||
print "#define END_FINI";
|
||||
}
|
||||
if(max)
|
||||
print "#define ALIGN .align", max;
|
||||
else
|
||||
print "#define ALIGN";
|
||||
|
||||
print "#include <libc-symbols.h>";
|
||||
print "weak_extern (__gmon_start__)";
|
||||
}
|
||||
+47
-79
@@ -1,5 +1,5 @@
|
||||
/* Special .init and .fini section support.
|
||||
Copyright (C) 1995, 1996 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it
|
||||
@@ -26,68 +26,40 @@
|
||||
write to the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* This file is compiled into assembly code which is then surrounded by the
|
||||
lines `cat > crtcommon.tmp <<\EOF_common' and `EOF_common' and thus
|
||||
becomes a shell script which creates three files of assembly code.
|
||||
/* This file is compiled into assembly code which is then munged by a sed
|
||||
script into two files: crti.s and crtn.s.
|
||||
|
||||
* The first file is crti.s-new; this puts a function prologue at the
|
||||
beginning of the .init and .fini sections and defines global symbols for
|
||||
* crti.s puts a function prologue at the beginning of the
|
||||
.init and .fini sections and defines global symbols for
|
||||
those addresses, so they can be called as functions.
|
||||
|
||||
* The second file is crtn.s-new; this puts the corresponding function
|
||||
epilogues in the .init and .fini sections.
|
||||
|
||||
* The third file is crtcommon.tmp, which is whatever miscellaneous cruft
|
||||
the compiler generated at the end; it should be appended to both crti.s-new
|
||||
and crtn.s-new. */
|
||||
* crtn.s puts the corresponding function epilogues
|
||||
in the .init and .fini sections. */
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
/* We use embedded asm for .section unconditionally, as this makes it
|
||||
easier to insert the necessary directives into crtn.S. */
|
||||
#define SECTION(x) asm (".section \"" x "\"");
|
||||
|
||||
#ifdef HAVE_ELF
|
||||
/* These declarations make the functions go in the right sections when
|
||||
we define them below. GCC syntax does not allow the attribute
|
||||
specifications to be in the function definitions themselves. */
|
||||
void _init (void) __attribute__ ((section (".init")));
|
||||
void _fini (void) __attribute__ ((section (".fini")));
|
||||
/* Embed an #include to pull in the alignment and .end directives. */
|
||||
asm ("\n#include \"defs.h\"");
|
||||
|
||||
#define SECTION(x) /* Put nothing extra before the defn. */
|
||||
/* The initial common code ends here. */
|
||||
asm ("\n/*@HEADER_ENDS*/");
|
||||
|
||||
#else
|
||||
/* Some non-ELF systems support .init and .fini sections,
|
||||
but the __attribute__ syntax only works for ELF. */
|
||||
#define SECTION(x) asm (".section " x);
|
||||
#endif
|
||||
|
||||
/* End the here document containing the initial common code.
|
||||
Then move the output file crtcommon.tmp to crti.s-new and crtn.s-new. */
|
||||
asm ("\nEOF_common\n\
|
||||
rm -f crti.s-new crtn.s-new\n\
|
||||
mv crtcommon.tmp crti.s-new\n\
|
||||
cp crti.s-new crtn.s-new");
|
||||
|
||||
/* Extract a `.end' if one is produced by the compiler. */
|
||||
asm ("fgrep .end >/dev/null 2>&1 <<\\EOF.end && need_end=yes");
|
||||
/* To determine whether we need .end and .align: */
|
||||
asm ("\n/*@TESTS_BEGIN*/");
|
||||
void
|
||||
useless_function (void)
|
||||
{
|
||||
return;
|
||||
}
|
||||
asm ("\nEOF.end\n");
|
||||
|
||||
/* Find out how much alignment is produced by the compiler. */
|
||||
asm ("align=`awk '$1==\".align\" { if ($2>max) max=$2; } END { print max; }' \
|
||||
<<\\EOF.align");
|
||||
void
|
||||
useless_function2 (void (*foo) (void))
|
||||
dummy (void (*foo) (void))
|
||||
{
|
||||
if (foo)
|
||||
(*foo) ();
|
||||
}
|
||||
asm ("\nEOF.align\n`\n");
|
||||
asm ("\n/*@TESTS_END*/");
|
||||
|
||||
/* Append the .init prologue to crti.s-new. */
|
||||
asm ("cat >> crti.s-new <<\\EOF.crti.init");
|
||||
/* The beginning of _init: */
|
||||
asm ("\n/*@_init_PROLOG_BEGINS*/");
|
||||
|
||||
SECTION (".init")
|
||||
void
|
||||
@@ -99,38 +71,33 @@ _init (void)
|
||||
gcrt1.o to reference a symbol which would be defined by some library
|
||||
module which has a constructor; but then user code's constructors
|
||||
would come first, and not be profiled. */
|
||||
extern void __gmon_start__ (void); weak_extern (__gmon_start__)
|
||||
extern void __gmon_start__ (void) __attribute__ ((weak)); /*weak_extern (__gmon_start__);*/
|
||||
|
||||
if (__gmon_start__)
|
||||
__gmon_start__ ();
|
||||
|
||||
/* End the here document containing the .init prologue code.
|
||||
Then fetch the .section directive just written and append that
|
||||
to crtn.s-new, followed by the function epilogue. */
|
||||
asm ("\n\
|
||||
EOF.crti.init\n\
|
||||
test -n \"$align\" && echo .align $align >> crti.s-new\n\
|
||||
test -n \"$need_end\" && echo .end _init >> crti.s-new\n\
|
||||
fgrep .init crti.s-new >>crtn.s-new\n\
|
||||
fgrep -v .end >> crtn.s-new <<\\EOF.crtn.init");
|
||||
asm ("ALIGN");
|
||||
asm("END_INIT");
|
||||
/* Now the epilog. */
|
||||
asm ("\n/*@_init_PROLOG_ENDS*/");
|
||||
asm ("\n/*@_init_EPILOG_BEGINS*/");
|
||||
SECTION(".init");
|
||||
}
|
||||
asm ("END_INIT");
|
||||
|
||||
/* End the here document containing the .init epilogue code.
|
||||
Then append the .fini prologue to crti.s-new. */
|
||||
asm ("\nEOF.crtn.init\
|
||||
\n\
|
||||
cat >> crti.s-new <<\\EOF.crti.fini");
|
||||
/* End of the _init epilog, beginning of the _fini prolog. */
|
||||
asm ("\n/*@_init_EPILOG_ENDS*/");
|
||||
asm ("\n/*@_fini_PROLOG_BEGINS*/");
|
||||
|
||||
SECTION (".fini")
|
||||
void
|
||||
_fini (void)
|
||||
{
|
||||
/* End the here document containing the .fini prologue code.
|
||||
Then fetch the .section directive just written and append that
|
||||
to crtn.s-new, followed by the function epilogue. */
|
||||
asm ("\nEOF.crti.fini\n\
|
||||
test -n \"$align\" && echo .align $align >> crti.s-new\n\
|
||||
test -n \"$need_end\" && echo .end _fini >> crti.s-new\n\
|
||||
cat > /dev/null <<\\EOF.fini.skip");
|
||||
|
||||
/* End of the _fini prolog. */
|
||||
asm ("ALIGN");
|
||||
asm ("END_FINI");
|
||||
asm ("\n/*@_fini_PROLOG_ENDS*/");
|
||||
|
||||
{
|
||||
/* Let GCC know that _fini is not a leaf function by having a dummy
|
||||
@@ -140,14 +107,15 @@ cat > /dev/null <<\\EOF.fini.skip");
|
||||
i_am_not_a_leaf ();
|
||||
}
|
||||
|
||||
asm ("\nEOF.fini.skip\
|
||||
\n\
|
||||
fgrep .fini crti.s-new >>crtn.s-new\n\
|
||||
fgrep -v .end >> crtn.s-new <<\\EOF.crtn.fini");
|
||||
/* Beginning of the _fini epilog. */
|
||||
asm ("\n/*@_fini_EPILOG_BEGINS*/");
|
||||
SECTION (".fini");
|
||||
}
|
||||
asm ("END_FINI");
|
||||
|
||||
/* End the here document containing the .fini epilogue code.
|
||||
Finally, put the remainder of the generated assembly into crtcommon.tmp. */
|
||||
asm ("\nEOF.crtn.fini\
|
||||
\n\
|
||||
cat > crtcommon.tmp <<\\EOF_common");
|
||||
/* End of the _fini epilog. Any further generated assembly (e.g. .ident)
|
||||
is shared between both crt files. */
|
||||
asm ("\n/*@_fini_EPILOG_ENDS*/");
|
||||
asm ("\n/*@TRAILER_BEGINS*/");
|
||||
|
||||
/* End of file. */
|
||||
|
||||
@@ -43,6 +43,18 @@
|
||||
|
||||
#include <mpool.h>
|
||||
|
||||
#ifdef _LIBC
|
||||
/* In the GNU C library we must not pollute the namespace because libdb is
|
||||
needed by libnss_db. */
|
||||
#define mpool_open __mpool_open
|
||||
#define mpool_filter __mpool_filter
|
||||
#define mpool_new __mpool_new
|
||||
#define mpool_get __mpool_get
|
||||
#define mpool_put __mpool_put
|
||||
#define mpool_sync __mpool_sync
|
||||
#define mpool_close __mpool_close
|
||||
#endif
|
||||
|
||||
#define DEFMINKEYPAGE (2) /* Minimum keys per page */
|
||||
#define MINCACHE (5) /* Minimum cached pages */
|
||||
#define MINPSIZE (512) /* Minimum page size */
|
||||
|
||||
@@ -224,6 +224,7 @@ typedef struct {
|
||||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
DB *__dbopen __P((const char *, int, int, DBTYPE, const void *));
|
||||
DB *dbopen __P((const char *, int, int, DBTYPE, const void *));
|
||||
|
||||
#ifdef __DBINTERFACE_PRIVATE
|
||||
|
||||
+10
@@ -44,6 +44,12 @@ static char sccsid[] = "@(#)db.c 8.4 (Berkeley) 2/21/94";
|
||||
|
||||
#include <db.h>
|
||||
|
||||
#ifdef _LIBC
|
||||
/* In the GNU C library we must not pollute the namespace, because libdb
|
||||
is needed by libnss_db. */
|
||||
#define dbopen __dbopen
|
||||
#endif
|
||||
|
||||
DB *
|
||||
dbopen(fname, flags, mode, type, openinfo)
|
||||
const char *fname;
|
||||
@@ -72,6 +78,10 @@ dbopen(fname, flags, mode, type, openinfo)
|
||||
errno = EINVAL;
|
||||
return (NULL);
|
||||
}
|
||||
#ifdef _LIBC
|
||||
#undef dbopen
|
||||
weak_alias (__dbopen, dbopen)
|
||||
#endif
|
||||
|
||||
static int
|
||||
__dberr __P((void))
|
||||
|
||||
@@ -249,7 +249,7 @@ __big_delete(hashp, bufp)
|
||||
bufp->flags |= BUF_MOD;
|
||||
if (rbufp)
|
||||
__free_ovflpage(hashp, rbufp);
|
||||
if (last_bfp != rbufp)
|
||||
if (last_bfp && last_bfp != rbufp)
|
||||
__free_ovflpage(hashp, last_bfp);
|
||||
|
||||
hashp->NKEYS--;
|
||||
|
||||
@@ -85,13 +85,21 @@ typedef struct MPOOL {
|
||||
} MPOOL;
|
||||
|
||||
__BEGIN_DECLS
|
||||
MPOOL *__mpool_open __P((void *, int, pgno_t, pgno_t));
|
||||
MPOOL *mpool_open __P((void *, int, pgno_t, pgno_t));
|
||||
void __mpool_filter __P((MPOOL *, void (*)(void *, pgno_t, void *),
|
||||
void (*)(void *, pgno_t, void *), void *));
|
||||
void mpool_filter __P((MPOOL *, void (*)(void *, pgno_t, void *),
|
||||
void (*)(void *, pgno_t, void *), void *));
|
||||
void *__mpool_new __P((MPOOL *, pgno_t *));
|
||||
void *mpool_new __P((MPOOL *, pgno_t *));
|
||||
void *__mpool_get __P((MPOOL *, pgno_t, u_int));
|
||||
void *mpool_get __P((MPOOL *, pgno_t, u_int));
|
||||
int __mpool_put __P((MPOOL *, void *, u_int));
|
||||
int mpool_put __P((MPOOL *, void *, u_int));
|
||||
int __mpool_sync __P((MPOOL *));
|
||||
int mpool_sync __P((MPOOL *));
|
||||
int __mpool_close __P((MPOOL *));
|
||||
int mpool_close __P((MPOOL *));
|
||||
#ifdef STATISTICS
|
||||
void mpool_stat __P((MPOOL *));
|
||||
|
||||
@@ -50,6 +50,18 @@ static char sccsid[] = "@(#)mpool.c 8.5 (Berkeley) 7/26/94";
|
||||
#define __MPOOLINTERFACE_PRIVATE
|
||||
#include <mpool.h>
|
||||
|
||||
#ifdef _LIBC
|
||||
/* In the GNU C library we must not pollute the namespace because libdb is
|
||||
needed by libnss_db. */
|
||||
#define mpool_open __mpool_open
|
||||
#define mpool_filter __mpool_filter
|
||||
#define mpool_new __mpool_new
|
||||
#define mpool_get __mpool_get
|
||||
#define mpool_put __mpool_put
|
||||
#define mpool_sync __mpool_sync
|
||||
#define mpool_close __mpool_close
|
||||
#endif
|
||||
|
||||
static BKT *mpool_bkt __P((MPOOL *));
|
||||
static BKT *mpool_look __P((MPOOL *, pgno_t));
|
||||
static int mpool_write __P((MPOOL *, BKT *));
|
||||
@@ -301,6 +313,23 @@ mpool_sync(mp)
|
||||
return (fsync(mp->fd) ? RET_ERROR : RET_SUCCESS);
|
||||
}
|
||||
|
||||
#ifdef _LIBC
|
||||
#undef mpool_open
|
||||
#undef mpool_filter
|
||||
#undef mpool_new
|
||||
#undef mpool_get
|
||||
#undef mpool_put
|
||||
#undef mpool_close
|
||||
#undef mpool_sync
|
||||
weak_alias (__mpool_open, mpool_open)
|
||||
weak_alias (__mpool_filter, mpool_filter)
|
||||
weak_alias (__mpool_new, mpool_new)
|
||||
weak_alias (__mpool_get, mpool_get)
|
||||
weak_alias (__mpool_put, mpool_put)
|
||||
weak_alias (__mpool_close, mpool_close)
|
||||
weak_alias (__mpool_sync, mpool_sync)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* mpool_bkt
|
||||
* Get a page from the cache (or create one).
|
||||
|
||||
+2
-2
@@ -22,6 +22,6 @@
|
||||
int
|
||||
alphasort (const void *a, const void *b)
|
||||
{
|
||||
return strcmp (((struct dirent *) a)->d_name,
|
||||
((struct dirent *) b)->d_name);
|
||||
return strcmp ((*(const struct dirent **) a)->d_name,
|
||||
(*(const struct dirent **) b)->d_name);
|
||||
}
|
||||
|
||||
+31
-14
@@ -22,6 +22,29 @@
|
||||
#include <dlfcn.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
struct openaux_args
|
||||
{
|
||||
/* The arguments to openaux. */
|
||||
struct link_map *map;
|
||||
int trace_mode;
|
||||
const char *strtab;
|
||||
ElfW(Dyn) *d;
|
||||
|
||||
/* The return value of openaux. */
|
||||
struct link_map *aux;
|
||||
};
|
||||
|
||||
static void
|
||||
openaux (void *a)
|
||||
{
|
||||
struct openaux_args *args = (struct openaux_args *) a;
|
||||
|
||||
args->aux = _dl_map_object (args->map, args->strtab + args->d->d_un.d_val,
|
||||
(args->map->l_type == lt_executable
|
||||
? lt_library : args->map->l_type),
|
||||
args->trace_mode);
|
||||
}
|
||||
|
||||
void
|
||||
_dl_map_object_deps (struct link_map *map,
|
||||
struct link_map **preloads, unsigned int npreloads,
|
||||
@@ -75,27 +98,21 @@ _dl_map_object_deps (struct link_map *map,
|
||||
/* There is at least one auxiliary library specified. We try to
|
||||
load it, and if we can, use its symbols in preference to our
|
||||
own. But if we can't load it, we just silently ignore it. */
|
||||
const char *strtab
|
||||
struct openaux_args args;
|
||||
args.strtab
|
||||
= ((void *) map->l_addr + map->l_info[DT_STRTAB]->d_un.d_ptr);
|
||||
ElfW(Dyn) *d;
|
||||
args.map = map;
|
||||
args.trace_mode = trace_mode;
|
||||
|
||||
for (d = map->l_ld; d->d_tag != DT_NULL; ++d)
|
||||
if (d->d_tag == DT_AUXILIARY)
|
||||
for (args.d = map->l_ld; args.d->d_tag != DT_NULL; ++args.d)
|
||||
if (args.d->d_tag == DT_AUXILIARY)
|
||||
{
|
||||
struct link_map *aux;
|
||||
void openaux (void)
|
||||
{
|
||||
aux = _dl_map_object (map, strtab + d->d_un.d_val,
|
||||
(map->l_type == lt_executable
|
||||
? lt_library : map->l_type),
|
||||
trace_mode);
|
||||
}
|
||||
char *errstring;
|
||||
const char *objname;
|
||||
if (! _dl_catch_error (&errstring, &objname, openaux))
|
||||
if (! _dl_catch_error (&errstring, &objname, openaux, &args))
|
||||
/* The auxiliary object is actually there. Use it as
|
||||
the first search element, even before MAP itself. */
|
||||
preload (aux);
|
||||
preload (args.aux);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+12
-6
@@ -85,19 +85,25 @@ _dl_signal_error (int errcode,
|
||||
int
|
||||
_dl_catch_error (char **errstring,
|
||||
const char **objname,
|
||||
void (*operate) (void))
|
||||
void (*operate) (void *),
|
||||
void *args)
|
||||
{
|
||||
int errcode;
|
||||
struct catch *old, c = { errstring: NULL, objname: NULL };
|
||||
/* We need not handle `receiver' since setting a `catch' is handle
|
||||
struct catch *old, c;
|
||||
/* We need not handle `receiver' since setting a `catch' is handled
|
||||
before it. */
|
||||
|
||||
/* Some systems (.e.g, SPARC) handle constructors to local variables
|
||||
inefficient. So we initialize `c' by hand. */
|
||||
c.errstring = NULL;
|
||||
c.objname = NULL;
|
||||
|
||||
old = catch;
|
||||
errcode = setjmp (c.env);
|
||||
if (errcode == 0)
|
||||
{
|
||||
catch = &c;
|
||||
(*operate) ();
|
||||
(*operate) (args);
|
||||
catch = old;
|
||||
*errstring = NULL;
|
||||
*objname = NULL;
|
||||
@@ -112,7 +118,7 @@ _dl_catch_error (char **errstring,
|
||||
}
|
||||
|
||||
void
|
||||
_dl_receive_error (receiver_fct fct, void (*operate) (void))
|
||||
_dl_receive_error (receiver_fct fct, void (*operate) (void *), void *args)
|
||||
{
|
||||
struct catch *old_catch;
|
||||
receiver_fct old_receiver;
|
||||
@@ -124,7 +130,7 @@ _dl_receive_error (receiver_fct fct, void (*operate) (void))
|
||||
catch = NULL;
|
||||
receiver = fct;
|
||||
|
||||
(*operate) ();
|
||||
(*operate) (args);
|
||||
|
||||
catch = old_catch;
|
||||
receiver = old_receiver;
|
||||
|
||||
+27
-4
@@ -67,6 +67,18 @@ int _dl_zerofd = -1;
|
||||
#define ANONFD _dl_zerofd
|
||||
#endif
|
||||
|
||||
/* Handle situations where we have a preferred location in memory for
|
||||
the shared objects. */
|
||||
#ifdef ELF_PREFERRED_ADDRESS_DATA
|
||||
ELF_PREFERRED_ADDRESS_DATA;
|
||||
#endif
|
||||
#ifndef ELF_PREFERRED_ADDRESS
|
||||
#define ELF_PREFERRED_ADDRESS(loader, maplength, mapstartpref) (mapstartpref)
|
||||
#endif
|
||||
#ifndef ELF_FIXED_ADDRESS
|
||||
#define ELF_FIXED_ADDRESS(loader, mapstart) ((void) 0)
|
||||
#endif
|
||||
|
||||
size_t _dl_pagesize;
|
||||
|
||||
|
||||
@@ -315,11 +327,16 @@ _dl_map_object_from_fd (char *name, int fd, char *realname,
|
||||
So we map the first segment without MAP_FIXED, but with its
|
||||
extent increased to cover all the segments. Then we remove
|
||||
access from excess portion, and there is known sufficient space
|
||||
there to remap from the later segments. */
|
||||
there to remap from the later segments.
|
||||
|
||||
As a refinement, sometimes we have an address that we would
|
||||
prefer to map such objects at; but this is only a preference,
|
||||
the OS can do whatever it likes. */
|
||||
caddr_t mapat;
|
||||
mapat = map_segment (c->mapstart,
|
||||
loadcmds[nloadcmds - 1].allocend - c->mapstart,
|
||||
c->prot, 0, c->mapoff);
|
||||
ElfW(Addr) mappref;
|
||||
size_t maplength = loadcmds[nloadcmds - 1].allocend - c->mapstart;
|
||||
mappref = ELF_PREFERRED_ADDRESS (loader, maplength, c->mapstart);
|
||||
mapat = map_segment (mappref, maplength, c->prot, 0, c->mapoff);
|
||||
l->l_addr = (ElfW(Addr)) mapat - c->mapstart;
|
||||
|
||||
/* Change protection on the excess portion to disallow all access;
|
||||
@@ -332,6 +349,12 @@ _dl_map_object_from_fd (char *name, int fd, char *realname,
|
||||
0);
|
||||
goto postmap;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Notify ELF_PREFERRED_ADDRESS that we have to load this one
|
||||
fixed. */
|
||||
ELF_FIXED_ADDRESS (loader, c->mapstart);
|
||||
}
|
||||
|
||||
while (c < &loadcmds[nloadcmds])
|
||||
{
|
||||
|
||||
+26
-28
@@ -22,7 +22,8 @@
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <dl-hash.h>
|
||||
#include "dl-hash.h"
|
||||
#include <dl-machine.h>
|
||||
#include "../stdio-common/_itoa.h"
|
||||
|
||||
#define VERSTAG(tag) (DT_NUM + DT_PROCNUM + DT_VERSIONTAGIDX (tag))
|
||||
@@ -57,10 +58,10 @@ struct sym_val
|
||||
something bad happened. */
|
||||
static inline int
|
||||
do_lookup (const char *undef_name, unsigned long int hash,
|
||||
const ElfW(Sym) **ref, struct sym_val *result,
|
||||
const ElfW(Sym) *ref, struct sym_val *result,
|
||||
struct link_map *list[], size_t i, size_t n,
|
||||
const char *reference_name, const struct r_found_version *version,
|
||||
struct link_map *skip, int flags)
|
||||
struct link_map *skip, int reloc_type)
|
||||
{
|
||||
struct link_map *map;
|
||||
|
||||
@@ -78,7 +79,8 @@ do_lookup (const char *undef_name, unsigned long int hash,
|
||||
continue;
|
||||
|
||||
/* Don't search the executable when resolving a copy reloc. */
|
||||
if (flags & DL_LOOKUP_NOEXEC && map->l_type == lt_executable)
|
||||
if (elf_machine_lookup_noexec_p (reloc_type) &&
|
||||
map->l_type == lt_executable)
|
||||
continue;
|
||||
|
||||
symtab = ((void *) map->l_addr + map->l_info[DT_SYMTAB]->d_un.d_ptr);
|
||||
@@ -98,7 +100,7 @@ do_lookup (const char *undef_name, unsigned long int hash,
|
||||
const ElfW(Sym) *sym = &symtab[symidx];
|
||||
|
||||
if (sym->st_value == 0 || /* No value. */
|
||||
((flags & DL_LOOKUP_NOPLT) != 0 /* Reject PLT entry. */
|
||||
(elf_machine_lookup_noplt_p (reloc_type) /* Reject PLT entry. */
|
||||
&& sym->st_shndx == SHN_UNDEF))
|
||||
continue;
|
||||
|
||||
@@ -113,7 +115,7 @@ do_lookup (const char *undef_name, unsigned long int hash,
|
||||
continue;
|
||||
}
|
||||
|
||||
if (sym != *ref && strcmp (strtab + sym->st_name, undef_name))
|
||||
if (sym != ref && strcmp (strtab + sym->st_name, undef_name))
|
||||
/* Not the symbol we are looking for. */
|
||||
continue;
|
||||
|
||||
@@ -188,16 +190,13 @@ do_lookup (const char *undef_name, unsigned long int hash,
|
||||
}
|
||||
|
||||
/* Search loaded objects' symbol tables for a definition of the symbol
|
||||
UNDEF_NAME. FLAGS is a set of flags. If DL_LOOKUP_NOEXEC is set,
|
||||
then don't search the executable for a definition; this used for
|
||||
copy relocs. If DL_LOOKUP_NOPLT is set, then a PLT entry cannot
|
||||
satisfy the reference; some different binding must be found. */
|
||||
UNDEF_NAME. */
|
||||
|
||||
ElfW(Addr)
|
||||
_dl_lookup_symbol (const char *undef_name, const ElfW(Sym) **ref,
|
||||
struct link_map *symbol_scope[],
|
||||
const char *reference_name,
|
||||
int flags)
|
||||
int reloc_type)
|
||||
{
|
||||
const unsigned long int hash = _dl_elf_hash (undef_name);
|
||||
struct sym_val current_value = { 0, NULL };
|
||||
@@ -205,9 +204,9 @@ _dl_lookup_symbol (const char *undef_name, const ElfW(Sym) **ref,
|
||||
|
||||
/* Search the relevant loaded objects for a definition. */
|
||||
for (scope = symbol_scope; *scope; ++scope)
|
||||
if (do_lookup (undef_name, hash, ref, ¤t_value,
|
||||
if (do_lookup (undef_name, hash, *ref, ¤t_value,
|
||||
(*scope)->l_searchlist, 0, (*scope)->l_nsearchlist,
|
||||
reference_name, NULL, NULL, flags))
|
||||
reference_name, NULL, NULL, reloc_type))
|
||||
break;
|
||||
|
||||
if (current_value.s == NULL &&
|
||||
@@ -230,8 +229,7 @@ ElfW(Addr)
|
||||
_dl_lookup_symbol_skip (const char *undef_name, const ElfW(Sym) **ref,
|
||||
struct link_map *symbol_scope[],
|
||||
const char *reference_name,
|
||||
struct link_map *skip_map,
|
||||
int flags)
|
||||
struct link_map *skip_map)
|
||||
{
|
||||
const unsigned long int hash = _dl_elf_hash (undef_name);
|
||||
struct sym_val current_value = { 0, NULL };
|
||||
@@ -243,13 +241,13 @@ _dl_lookup_symbol_skip (const char *undef_name, const ElfW(Sym) **ref,
|
||||
for (i = 0; (*scope)->l_dupsearchlist[i] != skip_map; ++i)
|
||||
assert (i < (*scope)->l_ndupsearchlist);
|
||||
|
||||
if (! do_lookup (undef_name, hash, ref, ¤t_value,
|
||||
if (! do_lookup (undef_name, hash, *ref, ¤t_value,
|
||||
(*scope)->l_dupsearchlist, i, (*scope)->l_ndupsearchlist,
|
||||
reference_name, NULL, skip_map, flags))
|
||||
reference_name, NULL, skip_map, 0))
|
||||
while (*++scope)
|
||||
if (do_lookup (undef_name, hash, ref, ¤t_value,
|
||||
if (do_lookup (undef_name, hash, *ref, ¤t_value,
|
||||
(*scope)->l_dupsearchlist, 0, (*scope)->l_ndupsearchlist,
|
||||
reference_name, NULL, skip_map, flags))
|
||||
reference_name, NULL, skip_map, 0))
|
||||
break;
|
||||
|
||||
*ref = current_value.s;
|
||||
@@ -266,7 +264,8 @@ ElfW(Addr)
|
||||
_dl_lookup_versioned_symbol (const char *undef_name, const ElfW(Sym) **ref,
|
||||
struct link_map *symbol_scope[],
|
||||
const char *reference_name,
|
||||
const struct r_found_version *version, int flags)
|
||||
const struct r_found_version *version,
|
||||
int reloc_type)
|
||||
{
|
||||
const unsigned long int hash = _dl_elf_hash (undef_name);
|
||||
struct sym_val current_value = { 0, NULL };
|
||||
@@ -275,9 +274,9 @@ _dl_lookup_versioned_symbol (const char *undef_name, const ElfW(Sym) **ref,
|
||||
/* Search the relevant loaded objects for a definition. */
|
||||
for (scope = symbol_scope; *scope; ++scope)
|
||||
{
|
||||
int res = do_lookup (undef_name, hash, ref, ¤t_value,
|
||||
int res = do_lookup (undef_name, hash, *ref, ¤t_value,
|
||||
(*scope)->l_searchlist, 0, (*scope)->l_nsearchlist,
|
||||
reference_name, version, NULL, flags);
|
||||
reference_name, version, NULL, reloc_type);
|
||||
if (res > 0)
|
||||
break;
|
||||
|
||||
@@ -312,8 +311,7 @@ _dl_lookup_versioned_symbol_skip (const char *undef_name,
|
||||
struct link_map *symbol_scope[],
|
||||
const char *reference_name,
|
||||
const struct r_found_version *version,
|
||||
struct link_map *skip_map,
|
||||
int flags)
|
||||
struct link_map *skip_map)
|
||||
{
|
||||
const unsigned long int hash = _dl_elf_hash (undef_name);
|
||||
struct sym_val current_value = { 0, NULL };
|
||||
@@ -325,13 +323,13 @@ _dl_lookup_versioned_symbol_skip (const char *undef_name,
|
||||
for (i = 0; (*scope)->l_dupsearchlist[i] != skip_map; ++i)
|
||||
assert (i < (*scope)->l_ndupsearchlist);
|
||||
|
||||
if (! do_lookup (undef_name, hash, ref, ¤t_value,
|
||||
if (! do_lookup (undef_name, hash, *ref, ¤t_value,
|
||||
(*scope)->l_dupsearchlist, i, (*scope)->l_ndupsearchlist,
|
||||
reference_name, version, skip_map, flags))
|
||||
reference_name, version, skip_map, 0))
|
||||
while (*++scope)
|
||||
if (do_lookup (undef_name, hash, ref, ¤t_value,
|
||||
if (do_lookup (undef_name, hash, *ref, ¤t_value,
|
||||
(*scope)->l_dupsearchlist, 0, (*scope)->l_ndupsearchlist,
|
||||
reference_name, version, skip_map, flags))
|
||||
reference_name, version, skip_map, 0))
|
||||
break;
|
||||
|
||||
*ref = current_value.s;
|
||||
|
||||
+12
-1
@@ -1,5 +1,5 @@
|
||||
/* Minimal replacements for basic facilities used in the dynamic linker.
|
||||
Copyright (C) 1995, 1996 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@@ -77,6 +77,17 @@ malloc (size_t n)
|
||||
return alloc_last_block;
|
||||
}
|
||||
|
||||
/* We use this function occasionally since the real implementation may
|
||||
be optimized when it can assume the memory it returns already is
|
||||
set to NUL. */
|
||||
void * weak_function
|
||||
calloc (size_t nmemb, size_t size)
|
||||
{
|
||||
size_t total = nmemb * size;
|
||||
void *result = malloc (total);
|
||||
return memset (result, '\0', total);
|
||||
}
|
||||
|
||||
/* This will rarely be called. */
|
||||
void weak_function
|
||||
free (void *ptr)
|
||||
|
||||
@@ -153,7 +153,11 @@ fixup (
|
||||
*_dl_global_scope_end = NULL;
|
||||
|
||||
/* Return the address that was written by the relocation. */
|
||||
#ifdef ELF_FIXUP_RETURNS_ADDRESS
|
||||
return (ElfW(Addr))(l->l_addr + reloc->r_offset);
|
||||
#else
|
||||
return *(ElfW(Addr) *) (l->l_addr + reloc->r_offset);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
/* Support for dynamic linking code in static libc.
|
||||
Copyright (C) 1996 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@@ -62,7 +62,7 @@ _dl_sysdep_read_whole_file (const char *file, size_t *sizep, int prot)
|
||||
int fd = __open (file, O_RDONLY);
|
||||
if (fd < 0)
|
||||
return NULL;
|
||||
if (__fstat (fd, &st) < 0)
|
||||
if (__fxstat (_STAT_VER, fd, &st) < 0)
|
||||
result = NULL;
|
||||
else
|
||||
{
|
||||
|
||||
+3
-5
@@ -199,7 +199,7 @@ _dl_check_map_versions (struct link_map *map, int verbose)
|
||||
aux->vna_flags & VER_FLG_WEAK);
|
||||
|
||||
/* Compare the version index. */
|
||||
if ((aux->vna_other & 0x7fff) > ndx_high)
|
||||
if ((unsigned int) (aux->vna_other & 0x7fff) > ndx_high)
|
||||
ndx_high = aux->vna_other & 0x7fff;
|
||||
|
||||
if (aux->vna_next == 0)
|
||||
@@ -230,7 +230,7 @@ _dl_check_map_versions (struct link_map *map, int verbose)
|
||||
ent = (ElfW(Verdef) *) (map->l_addr + def->d_un.d_ptr);
|
||||
while (1)
|
||||
{
|
||||
if ((ent->vd_ndx & 0x7fff) > ndx_high)
|
||||
if ((unsigned int) (ent->vd_ndx & 0x7fff) > ndx_high)
|
||||
ndx_high = ent->vd_ndx & 0x7fff;
|
||||
|
||||
if (ent->vd_next == 0)
|
||||
@@ -247,9 +247,7 @@ _dl_check_map_versions (struct link_map *map, int verbose)
|
||||
which can be indexed by the version index in the VERSYM
|
||||
section. */
|
||||
map->l_versions = (struct r_found_version *)
|
||||
malloc ((ndx_high + 1) * sizeof (*map->l_versions));
|
||||
memset (map->l_versions, '\0',
|
||||
(ndx_high + 1) * sizeof (*map->l_versions));
|
||||
calloc (ndx_high + 1, sizeof (*map->l_versions));
|
||||
if (map->l_versions == NULL)
|
||||
{
|
||||
_dl_signal_error (ENOMEM, (*map->l_name ? map->l_name : _dl_argv[0]),
|
||||
|
||||
+7
-6
@@ -20,13 +20,14 @@
|
||||
#include <link.h>
|
||||
#include <dlfcn.h>
|
||||
|
||||
static void
|
||||
dlclose_doit (void *handle)
|
||||
{
|
||||
_dl_close (handle);
|
||||
}
|
||||
|
||||
int
|
||||
dlclose (void *handle)
|
||||
{
|
||||
void doit (void)
|
||||
{
|
||||
_dl_close (handle);
|
||||
}
|
||||
|
||||
return _dlerror_run (doit) ? -1 : 0;
|
||||
return _dlerror_run (dlclose_doit, handle) ? -1 : 0;
|
||||
}
|
||||
|
||||
+2
-2
@@ -64,7 +64,7 @@ dlerror (void)
|
||||
}
|
||||
|
||||
int
|
||||
_dlerror_run (void (*operate) (void))
|
||||
_dlerror_run (void (*operate) (void *), void *args)
|
||||
{
|
||||
if (last_errstring != NULL)
|
||||
/* Free the error string from the last failed command. This can
|
||||
@@ -72,6 +72,6 @@ _dlerror_run (void (*operate) (void))
|
||||
free (last_errstring);
|
||||
|
||||
last_errcode = _dl_catch_error (&last_errstring, &last_object_name,
|
||||
operate);
|
||||
operate, args);
|
||||
return last_errstring != NULL;
|
||||
}
|
||||
|
||||
+23
-7
@@ -21,15 +21,31 @@
|
||||
#include <link.h>
|
||||
#include <dlfcn.h>
|
||||
|
||||
struct dlopen_args
|
||||
{
|
||||
/* The arguments for dlopen_doit. */
|
||||
const char *file;
|
||||
int mode;
|
||||
/* The return value of dlopen_doit. */
|
||||
struct link_map *new;
|
||||
};
|
||||
|
||||
|
||||
static void
|
||||
dlopen_doit (void *a)
|
||||
{
|
||||
struct dlopen_args *args = (struct dlopen_args *) a;
|
||||
|
||||
args->new = _dl_open (args->file ?: "", args->mode);
|
||||
}
|
||||
|
||||
|
||||
void *
|
||||
dlopen (const char *file, int mode)
|
||||
{
|
||||
struct link_map *new;
|
||||
struct dlopen_args args;
|
||||
args.file = file;
|
||||
args.mode = mode;
|
||||
|
||||
void doit (void)
|
||||
{
|
||||
new = _dl_open (file ?: "", mode);
|
||||
}
|
||||
|
||||
return _dlerror_run (doit) ? NULL : new;
|
||||
return _dlerror_run (dlopen_doit, &args) ? NULL : args.new;
|
||||
}
|
||||
|
||||
+62
-39
@@ -22,48 +22,71 @@
|
||||
#include <dlfcn.h>
|
||||
#include <setjmp.h>
|
||||
|
||||
struct dlsym_args
|
||||
{
|
||||
/* The arguments to dlsym_doit. */
|
||||
void *handle;
|
||||
const char *name;
|
||||
struct r_found_version version;
|
||||
ElfW(Addr) caller;
|
||||
/* The return values of dlsym_doit. */
|
||||
ElfW(Addr) loadbase;
|
||||
const ElfW(Sym) *ref;
|
||||
};
|
||||
|
||||
|
||||
static void
|
||||
dlsym_doit (void *a)
|
||||
{
|
||||
struct dlsym_args *args = (struct dlsym_args *) a;
|
||||
args->ref = NULL;
|
||||
|
||||
if (args->handle == NULL)
|
||||
/* Search the global scope. */
|
||||
args->loadbase = _dl_lookup_symbol (args->name, &args->ref,
|
||||
&(_dl_global_scope
|
||||
?: _dl_default_scope)[2],
|
||||
NULL, 0);
|
||||
else if (args->handle == RTLD_NEXT)
|
||||
{
|
||||
struct link_map *l, *match;
|
||||
|
||||
/* Find the highest-addressed object that CALLER is not below. */
|
||||
match = NULL;
|
||||
for (l = _dl_loaded; l; l = l->l_next)
|
||||
if (args->caller >= l->l_addr && (!match || match->l_addr < l->l_addr))
|
||||
match = l;
|
||||
|
||||
if (! match)
|
||||
_dl_signal_error (0, NULL, _("\
|
||||
RTLD_NEXT used in code not dynamically loaded"));
|
||||
|
||||
l = match;
|
||||
while (l->l_loader)
|
||||
l = l->l_loader;
|
||||
|
||||
args->loadbase = _dl_lookup_symbol_skip (args->name, &args->ref,
|
||||
&_dl_loaded, NULL, l);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Search the scope of the given object. */
|
||||
struct link_map *map = args->handle;
|
||||
struct link_map *mapscope[2] = { map, NULL };
|
||||
args->loadbase = _dl_lookup_symbol (args->name, &args->ref, mapscope,
|
||||
map->l_name, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void *
|
||||
dlsym (void *handle, const char *name)
|
||||
{
|
||||
ElfW(Addr) caller = (ElfW(Addr)) __builtin_return_address (0);
|
||||
ElfW(Addr) loadbase;
|
||||
const ElfW(Sym) *ref = NULL;
|
||||
void doit (void)
|
||||
{
|
||||
if (handle == NULL)
|
||||
/* Search the global scope. */
|
||||
loadbase = _dl_lookup_symbol
|
||||
(name, &ref, &(_dl_global_scope ?: _dl_default_scope)[2], NULL, 0);
|
||||
else if (handle == RTLD_NEXT)
|
||||
{
|
||||
struct link_map *l, *match;
|
||||
struct dlsym_args args;
|
||||
args.caller = (ElfW(Addr)) __builtin_return_address (0);
|
||||
args.handle = handle;
|
||||
args.name = name;
|
||||
|
||||
/* Find the highest-addressed object that CALLER is not below. */
|
||||
match = NULL;
|
||||
for (l = _dl_loaded; l; l = l->l_next)
|
||||
if (caller >= l->l_addr && (!match || match->l_addr < l->l_addr))
|
||||
match = l;
|
||||
|
||||
if (! match)
|
||||
_dl_signal_error (0, NULL, _("\
|
||||
RTLD_NEXT used in code not dynamically loaded"));
|
||||
|
||||
l = match;
|
||||
while (l->l_loader)
|
||||
l = l->l_loader;
|
||||
|
||||
loadbase = _dl_lookup_symbol_skip
|
||||
(name, &ref, &_dl_loaded, NULL, l, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Search the scope of the given object. */
|
||||
struct link_map *map = handle;
|
||||
struct link_map *mapscope[2] = { map, NULL };
|
||||
loadbase = _dl_lookup_symbol (name, &ref, mapscope, map->l_name, 0);
|
||||
}
|
||||
}
|
||||
|
||||
return _dlerror_run (doit) ? NULL : (void *) (loadbase + ref->st_value);
|
||||
return (_dlerror_run (dlsym_doit, &args)
|
||||
? NULL : (void *) (args.loadbase + args.ref->st_value));
|
||||
}
|
||||
|
||||
+69
-44
@@ -24,57 +24,82 @@
|
||||
|
||||
#include <dl-hash.h>
|
||||
|
||||
struct dlvsym_args
|
||||
{
|
||||
/* The arguments to dlvsym_doit. */
|
||||
void *handle;
|
||||
const char *name;
|
||||
struct r_found_version version;
|
||||
ElfW(Addr) caller;
|
||||
/* The return values of dlvsym_doit. */
|
||||
ElfW(Addr) loadbase;
|
||||
const ElfW(Sym) *ref;
|
||||
};
|
||||
|
||||
|
||||
static void
|
||||
dlvsym_doit (void *a)
|
||||
{
|
||||
struct dlvsym_args *args = (struct dlvsym_args *)a;
|
||||
args->ref = NULL;
|
||||
|
||||
if (args->handle == NULL)
|
||||
/* Search the global scope. */
|
||||
args->loadbase = _dl_lookup_versioned_symbol (args->name, &args->ref,
|
||||
&(_dl_global_scope
|
||||
?: _dl_default_scope)[2],
|
||||
NULL, &args->version, 0);
|
||||
else if (args->handle == RTLD_NEXT)
|
||||
{
|
||||
struct link_map *l, *match;
|
||||
|
||||
/* Find the highest-addressed object that CALLER is not below. */
|
||||
match = NULL;
|
||||
for (l = _dl_loaded; l; l = l->l_next)
|
||||
if (args->caller >= l->l_addr && (!match || match->l_addr < l->l_addr))
|
||||
match = l;
|
||||
|
||||
if (! match)
|
||||
_dl_signal_error (0, NULL, _("\
|
||||
RTLD_NEXT used in code not dynamically loaded"));
|
||||
|
||||
l = match;
|
||||
while (l->l_loader)
|
||||
l = l->l_loader;
|
||||
|
||||
args->loadbase = _dl_lookup_versioned_symbol_skip (args->name,
|
||||
&args->ref,
|
||||
&_dl_loaded,
|
||||
NULL, &args->version,
|
||||
l);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Search the scope of the given object. */
|
||||
struct link_map *map = args->handle;
|
||||
struct link_map *mapscope[2] = { map, NULL };
|
||||
args->loadbase = _dl_lookup_versioned_symbol (args->name, &args->ref,
|
||||
mapscope, map->l_name,
|
||||
&args->version, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void *
|
||||
__dlvsym (void *handle, const char *name, const char *version_str)
|
||||
{
|
||||
ElfW(Addr) caller = (ElfW(Addr)) __builtin_return_address (0);
|
||||
ElfW(Addr) loadbase;
|
||||
struct r_found_version version;
|
||||
const ElfW(Sym) *ref = NULL;
|
||||
void doit (void)
|
||||
{
|
||||
if (handle == NULL)
|
||||
/* Search the global scope. */
|
||||
loadbase = _dl_lookup_versioned_symbol
|
||||
(name, &ref, &(_dl_global_scope ?: _dl_default_scope)[2], NULL,
|
||||
&version, 0);
|
||||
else if (handle == RTLD_NEXT)
|
||||
{
|
||||
struct link_map *l, *match;
|
||||
struct dlvsym_args args;
|
||||
|
||||
/* Find the highest-addressed object that CALLER is not below. */
|
||||
match = NULL;
|
||||
for (l = _dl_loaded; l; l = l->l_next)
|
||||
if (caller >= l->l_addr && (!match || match->l_addr < l->l_addr))
|
||||
match = l;
|
||||
|
||||
if (! match)
|
||||
_dl_signal_error (0, NULL, _("\
|
||||
RTLD_NEXT used in code not dynamically loaded"));
|
||||
|
||||
l = match;
|
||||
while (l->l_loader)
|
||||
l = l->l_loader;
|
||||
|
||||
loadbase = _dl_lookup_versioned_symbol_skip
|
||||
(name, &ref, &_dl_loaded, NULL, &version, l, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Search the scope of the given object. */
|
||||
struct link_map *map = handle;
|
||||
struct link_map *mapscope[2] = { map, NULL };
|
||||
loadbase = _dl_lookup_versioned_symbol
|
||||
(name, &ref, mapscope, map->l_name, &version, 0);
|
||||
}
|
||||
}
|
||||
args.handle = handle;
|
||||
args.name = name;
|
||||
args.caller = (ElfW(Addr)) __builtin_return_address (0);
|
||||
|
||||
/* Compute hash value to the version string. */
|
||||
version.name = version_str;
|
||||
version.hash = _dl_elf_hash (version_str);
|
||||
args.version.name = version_str;
|
||||
args.version.hash = _dl_elf_hash (version_str);
|
||||
/* We don't have a specific file where the symbol can be found. */
|
||||
version.filename = NULL;
|
||||
args.version.filename = NULL;
|
||||
|
||||
return _dlerror_run (doit) ? NULL : (void *) (loadbase + ref->st_value);
|
||||
return (_dlerror_run (dlvsym_doit, &args)
|
||||
? NULL : (void *) (args.loadbase + args.ref->st_value));
|
||||
}
|
||||
weak_alias (__dlvsym, dlvsym)
|
||||
|
||||
@@ -915,6 +915,71 @@ typedef Elf32_Addr Elf32_Conflict;
|
||||
#define R_ALPHA_JMP_SLOT 26 /* Create PLT entry */
|
||||
#define R_ALPHA_RELATIVE 27 /* Adjust by program base */
|
||||
|
||||
|
||||
/* PowerPC specific declarations */
|
||||
|
||||
/* PowerPC relocations defined by the ABIs */
|
||||
#define R_PPC_NONE 0
|
||||
#define R_PPC_ADDR32 1
|
||||
#define R_PPC_ADDR24 2
|
||||
#define R_PPC_ADDR16 3
|
||||
#define R_PPC_ADDR16_LO 4
|
||||
#define R_PPC_ADDR16_HI 5
|
||||
#define R_PPC_ADDR16_HA 6
|
||||
#define R_PPC_ADDR14 7
|
||||
#define R_PPC_ADDR14_BRTAKEN 8
|
||||
#define R_PPC_ADDR14_BRNTAKEN 9
|
||||
#define R_PPC_REL24 10
|
||||
#define R_PPC_REL14 11
|
||||
#define R_PPC_REL14_BRTAKEN 12
|
||||
#define R_PPC_REL14_BRNTAKEN 13
|
||||
#define R_PPC_GOT16 14
|
||||
#define R_PPC_GOT16_LO 15
|
||||
#define R_PPC_GOT16_HI 16
|
||||
#define R_PPC_GOT16_HA 17
|
||||
#define R_PPC_PLTREL24 18
|
||||
#define R_PPC_COPY 19
|
||||
#define R_PPC_GLOB_DAT 20
|
||||
#define R_PPC_JMP_SLOT 21
|
||||
#define R_PPC_RELATIVE 22
|
||||
#define R_PPC_LOCAL24PC 23
|
||||
#define R_PPC_UADDR32 24
|
||||
#define R_PPC_UADDR16 25
|
||||
#define R_PPC_REL32 26
|
||||
#define R_PPC_PLT32 27
|
||||
#define R_PPC_PLTREL32 28
|
||||
#define R_PPC_PLT16_LO 29
|
||||
#define R_PPC_PLT16_HI 30
|
||||
#define R_PPC_PLT16_HA 31
|
||||
#define R_PPC_SDAREL16 32
|
||||
#define R_PPC_SECTOFF 33
|
||||
#define R_PPC_SECTOFF_LO 34
|
||||
#define R_PPC_SECTOFF_HI 35
|
||||
#define R_PPC_SECTOFF_HA 36
|
||||
|
||||
/* The remaining relocs are from the Embedded ELF ABI, and are not
|
||||
in the SVR4 ELF ABI. */
|
||||
#define R_PPC_EMB_NADDR32 101
|
||||
#define R_PPC_EMB_NADDR16 102
|
||||
#define R_PPC_EMB_NADDR16_LO 103
|
||||
#define R_PPC_EMB_NADDR16_HI 104
|
||||
#define R_PPC_EMB_NADDR16_HA 105
|
||||
#define R_PPC_EMB_SDAI16 106
|
||||
#define R_PPC_EMB_SDA2I16 107
|
||||
#define R_PPC_EMB_SDA2REL 108
|
||||
#define R_PPC_EMB_SDA21 109
|
||||
#define R_PPC_EMB_MRKREF 110
|
||||
#define R_PPC_EMB_RELSEC16 111
|
||||
#define R_PPC_EMB_RELST_LO 112
|
||||
#define R_PPC_EMB_RELST_HI 113
|
||||
#define R_PPC_EMB_RELST_HA 114
|
||||
#define R_PPC_EMB_BIT_FLD 115
|
||||
#define R_PPC_EMB_RELSDA 116
|
||||
|
||||
/* This is a phony reloc to handle any old fashioned TOC16 references
|
||||
that may still be in object files. */
|
||||
#define R_PPC_TOC16 255
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* elf.h */
|
||||
|
||||
+22
-19
@@ -18,9 +18,12 @@
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef _LINK_H
|
||||
|
||||
#define _LINK_H 1
|
||||
#include <features.h>
|
||||
|
||||
#define __need_size_t
|
||||
#define __need_NULL
|
||||
#include <stddef.h>
|
||||
|
||||
#include <elf.h>
|
||||
@@ -235,21 +238,26 @@ extern void _dl_signal_error (int errcode,
|
||||
error, *ERRSTRING is set to null. If there is an error, *ERRSTRING and
|
||||
*OBJECT are set to the strings passed to _dl_signal_error, and the error
|
||||
code passed is the return value. ERRSTRING if nonzero points to a
|
||||
malloc'ed string which the caller has to free after use. */
|
||||
malloc'ed string which the caller has to free after use.
|
||||
ARGS is passed as argument to OPERATE. */
|
||||
extern int _dl_catch_error (char **errstring,
|
||||
const char **object,
|
||||
void (*operate) (void));
|
||||
void (*operate) (void *),
|
||||
void *args);
|
||||
|
||||
/* Call OPERATE, receiving errors from `dl_signal_error'. Unlike
|
||||
`_dl_catch_error' the operation is resumed after the OPERATE
|
||||
function returns. */
|
||||
extern void _dl_receive_error (receiver_fct fct, void (*operate) (void));
|
||||
function returns.
|
||||
ARGS is passed as argument to OPERATE. */
|
||||
extern void _dl_receive_error (receiver_fct fct, void (*operate) (void *),
|
||||
void *args);
|
||||
|
||||
|
||||
/* Helper function for <dlfcn.h> functions. Runs the OPERATE function via
|
||||
_dl_catch_error. Returns zero for success, nonzero for failure; and
|
||||
arranges for `dlerror' to return the error details. */
|
||||
extern int _dlerror_run (void (*operate) (void));
|
||||
arranges for `dlerror' to return the error details.
|
||||
ARGS is passed as argument to OPERATE. */
|
||||
extern int _dlerror_run (void (*operate) (void *), void *args);
|
||||
|
||||
|
||||
/* Open the shared object NAME and map in its segments.
|
||||
@@ -287,18 +295,15 @@ extern void _dl_close (struct link_map *map);
|
||||
null-terminated list of object scopes to search; each object's
|
||||
l_searchlist (i.e. the segment of the dependency tree starting at that
|
||||
object) is searched in turn. REFERENCE_NAME should name the object
|
||||
containing the reference; it is used in error messages. FLAGS is a
|
||||
set of flags: */
|
||||
#define DL_LOOKUP_NOEXEC 1 /* Don't search the executable for a
|
||||
definition; this is used for copy
|
||||
relocs. */
|
||||
#define DL_LOOKUP_NOPLT 2 /* The reference must not be resolved
|
||||
to a PLT entry. */
|
||||
containing the reference; it is used in error messages.
|
||||
RELOC_TYPE is a machine-dependent reloc type, which is passed to
|
||||
the `elf_machine_lookup_*_p' macros in dl-machine.h to affect which
|
||||
symbols can be chosen. */
|
||||
extern ElfW(Addr) _dl_lookup_symbol (const char *undef,
|
||||
const ElfW(Sym) **sym,
|
||||
struct link_map *symbol_scope[],
|
||||
const char *reference_name,
|
||||
int flags);
|
||||
int reloc_type);
|
||||
|
||||
/* Lookup versioned symbol. */
|
||||
extern ElfW(Addr) _dl_lookup_versioned_symbol (const char *undef,
|
||||
@@ -306,15 +311,14 @@ extern ElfW(Addr) _dl_lookup_versioned_symbol (const char *undef,
|
||||
struct link_map *symbol_scope[],
|
||||
const char *reference_name,
|
||||
const struct r_found_version *version,
|
||||
int flags);
|
||||
int reloc_type);
|
||||
|
||||
/* For handling RTLD_NEXT we must be able to skip shared objects. */
|
||||
extern ElfW(Addr) _dl_lookup_symbol_skip (const char *undef,
|
||||
const ElfW(Sym) **sym,
|
||||
struct link_map *symbol_scope[],
|
||||
const char *reference_name,
|
||||
struct link_map *skip_this,
|
||||
int flags);
|
||||
struct link_map *skip_this);
|
||||
|
||||
/* For handling RTLD_NEXT with versioned symbols we must be able to
|
||||
skip shared objects. */
|
||||
@@ -323,8 +327,7 @@ extern ElfW(Addr) _dl_lookup_versioned_symbol_skip (const char *undef,
|
||||
struct link_map *symbol_scope[],
|
||||
const char *reference_name,
|
||||
const struct r_found_version *version,
|
||||
struct link_map *skip_this,
|
||||
int flags);
|
||||
struct link_map *skip_this);
|
||||
|
||||
/* Look up symbol NAME in MAP's scope and return its run-time address. */
|
||||
extern ElfW(Addr) _dl_symbol_value (struct link_map *map, const char *name);
|
||||
|
||||
+65
-23
@@ -106,6 +106,7 @@ _dl_start (void *arg)
|
||||
|
||||
ELF_DYNAMIC_RELOCATE (&bootstrap_map, 0);
|
||||
|
||||
elf_machine_runtime_setup (&bootstrap_map, 0);
|
||||
|
||||
/* Now life is sane; we can call functions and access global data.
|
||||
Set up to use the operating system facilities, and find out from
|
||||
@@ -126,10 +127,6 @@ _dl_start (void *arg)
|
||||
_dl_rtld_map.l_info[DT_STRTAB]->d_un.d_ptr +
|
||||
_dl_rtld_map.l_info[DT_RPATH]->d_un.d_val);
|
||||
|
||||
#ifdef ELF_ADJUST_ARG
|
||||
ELF_ADJUST_ARG(arg);
|
||||
#endif
|
||||
|
||||
/* Call the OS-dependent function to set up life so we can do things like
|
||||
file access. It will call `dl_main' (below) to do all the real work
|
||||
of the dynamic linker, and then unwind our frame and run the user
|
||||
@@ -143,6 +140,55 @@ _dl_start (void *arg)
|
||||
|
||||
void _start (void);
|
||||
|
||||
/* Some helper functions. */
|
||||
|
||||
/* Arguments to relocate_doit. */
|
||||
struct relocate_args
|
||||
{
|
||||
struct link_map *l;
|
||||
int lazy;
|
||||
};
|
||||
|
||||
struct map_args
|
||||
{
|
||||
/* Argument to map_doit. */
|
||||
char *str;
|
||||
/* Return value of map_doit. */
|
||||
struct link_map *main_map;
|
||||
};
|
||||
|
||||
/* Arguments to version_check_doit. */
|
||||
struct version_check_args
|
||||
{
|
||||
struct link_map *main_map;
|
||||
int doexit;
|
||||
};
|
||||
|
||||
static void
|
||||
relocate_doit (void *a)
|
||||
{
|
||||
struct relocate_args *args = (struct relocate_args *) a;
|
||||
|
||||
_dl_relocate_object (args->l, _dl_object_relocation_scope (args->l),
|
||||
args->lazy);
|
||||
}
|
||||
|
||||
static void
|
||||
map_doit (void *a)
|
||||
{
|
||||
struct map_args *args = (struct map_args *)a;
|
||||
args->main_map = _dl_map_object (NULL, args->str, lt_library, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
version_check_doit (void *a)
|
||||
{
|
||||
struct version_check_args *args = (struct version_check_args *)a;
|
||||
if (_dl_check_all_versions (args->main_map, 1) && args->doexit)
|
||||
/* We cannot start the application. Abort now. */
|
||||
_exit (1);
|
||||
}
|
||||
|
||||
unsigned int _dl_skip_args; /* Nonzero if we were run directly. */
|
||||
|
||||
static void
|
||||
@@ -237,14 +283,13 @@ of this helper program; chances are you did not intend to run this program.\n",
|
||||
|
||||
if (mode == verify)
|
||||
{
|
||||
void doit (void)
|
||||
{
|
||||
main_map = _dl_map_object (NULL, _dl_argv[0], lt_library, 0);
|
||||
}
|
||||
char *err_str = NULL;
|
||||
const char *obj_name __attribute__ ((unused));
|
||||
struct map_args args;
|
||||
|
||||
(void) _dl_catch_error (&err_str, &obj_name, doit);
|
||||
args.str = _dl_argv[0];
|
||||
(void) _dl_catch_error (&err_str, &obj_name, map_doit, &args);
|
||||
main_map = args.main_map;
|
||||
if (err_str != NULL)
|
||||
{
|
||||
free (err_str);
|
||||
@@ -269,6 +314,7 @@ of this helper program; chances are you did not intend to run this program.\n",
|
||||
main_map->l_phdr = phdr;
|
||||
main_map->l_phnum = phent;
|
||||
main_map->l_entry = *user_entry;
|
||||
main_map->l_opencount = 1;
|
||||
}
|
||||
|
||||
/* Scan the program header table for the dynamic section. */
|
||||
@@ -471,14 +517,10 @@ of this helper program; chances are you did not intend to run this program.\n",
|
||||
/* Now let us see whether all libraries are available in the
|
||||
versions we need. */
|
||||
{
|
||||
void doit (void)
|
||||
{
|
||||
if (_dl_check_all_versions (main_map, 1) && mode == normal)
|
||||
/* We cannot start the application. Abort now. */
|
||||
_exit (1);
|
||||
}
|
||||
|
||||
_dl_receive_error (print_missing_version, doit);
|
||||
struct version_check_args args;
|
||||
args.doexit = mode == normal;
|
||||
args.main_map = main_map;
|
||||
_dl_receive_error (print_missing_version, version_check_doit, &args);
|
||||
}
|
||||
|
||||
if (mode != normal)
|
||||
@@ -521,7 +563,7 @@ of this helper program; chances are you did not intend to run this program.\n",
|
||||
ElfW(Addr) loadbase = _dl_lookup_symbol (_dl_argv[i], &ref,
|
||||
&_dl_default_scope[2],
|
||||
"argument",
|
||||
DL_LOOKUP_NOPLT);
|
||||
ELF_MACHINE_RELOC_NOPLT);
|
||||
char buf[20], *bp;
|
||||
buf[sizeof buf - 1] = '\0';
|
||||
bp = _itoa (ref->st_value, &buf[sizeof buf - 1], 16, 0);
|
||||
@@ -537,11 +579,10 @@ of this helper program; chances are you did not intend to run this program.\n",
|
||||
else if (lazy >= 0)
|
||||
{
|
||||
/* We have to do symbol dependency testing. */
|
||||
struct relocate_args args;
|
||||
struct link_map *l;
|
||||
void doit (void)
|
||||
{
|
||||
_dl_relocate_object (l, _dl_object_relocation_scope (l), lazy);
|
||||
}
|
||||
|
||||
args.lazy = lazy;
|
||||
|
||||
l = _dl_loaded;
|
||||
while (l->l_next)
|
||||
@@ -550,7 +591,8 @@ of this helper program; chances are you did not intend to run this program.\n",
|
||||
{
|
||||
if (l != &_dl_rtld_map && l->l_opencount > 0)
|
||||
{
|
||||
_dl_receive_error (print_unresolved, doit);
|
||||
args.l = l;
|
||||
_dl_receive_error (print_unresolved, relocate_doit, &args);
|
||||
*_dl_global_scope_end = NULL;
|
||||
}
|
||||
l = l->l_prev;
|
||||
|
||||
+87
-40
@@ -34,6 +34,7 @@
|
||||
#include <sys/time.h>
|
||||
#include <sys/gmon.h>
|
||||
#include <sys/gmon_out.h>
|
||||
#include <sys/uio.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <fcntl.h>
|
||||
@@ -124,7 +125,7 @@ monstartup (lowpc, highpc)
|
||||
cp = malloc (p->kcountsize + p->fromssize + p->tossize);
|
||||
if (! cp)
|
||||
{
|
||||
ERR("monstartup: out of memory\n");
|
||||
ERR(_("monstartup: out of memory\n"));
|
||||
return;
|
||||
}
|
||||
bzero(cp, p->kcountsize + p->fromssize + p->tossize);
|
||||
@@ -165,21 +166,26 @@ static void
|
||||
write_hist (fd)
|
||||
int fd;
|
||||
{
|
||||
const u_char tag = GMON_TAG_TIME_HIST;
|
||||
struct gmon_hist_hdr thdr;
|
||||
u_char tag = GMON_TAG_TIME_HIST;
|
||||
struct gmon_hist_hdr thdr __attribute__ ((aligned (__alignof__ (char *))));
|
||||
|
||||
if (_gmonparam.kcountsize > 0)
|
||||
{
|
||||
thdr.low_pc = _gmonparam.lowpc;
|
||||
thdr.high_pc = _gmonparam.highpc;
|
||||
thdr.hist_size = _gmonparam.kcountsize / sizeof(HISTCOUNTER);
|
||||
thdr.prof_rate = __profile_frequency();
|
||||
strncpy(thdr.dimen, "seconds", sizeof(thdr.dimen));
|
||||
struct iovec iov[3] =
|
||||
{
|
||||
{ &tag, sizeof (tag) },
|
||||
{ &thdr, sizeof (struct gmon_hist_hdr) },
|
||||
{ _gmonparam.kcount, _gmonparam.kcountsize }
|
||||
};
|
||||
|
||||
*(char **) thdr.low_pc = (char *) _gmonparam.lowpc;
|
||||
*(char **) thdr.high_pc = (char *) _gmonparam.highpc;
|
||||
*(int *) thdr.hist_size = _gmonparam.kcountsize / sizeof (HISTCOUNTER);
|
||||
*(int *) thdr.prof_rate = __profile_frequency ();
|
||||
strncpy (thdr.dimen, "seconds", sizeof (thdr.dimen));
|
||||
thdr.dimen_abbrev = 's';
|
||||
|
||||
write(fd, &tag, sizeof(tag));
|
||||
write(fd, &thdr, sizeof(thdr));
|
||||
write(fd, _gmonparam.kcount, _gmonparam.kcountsize);
|
||||
__writev (fd, iov, 3);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -188,12 +194,26 @@ static void
|
||||
write_call_graph (fd)
|
||||
int fd;
|
||||
{
|
||||
const u_char tag = GMON_TAG_CG_ARC;
|
||||
struct gmon_cg_arc_record raw_arc;
|
||||
#define NARCS_PER_WRITEV 32
|
||||
u_char tag = GMON_TAG_CG_ARC;
|
||||
struct gmon_cg_arc_record raw_arc[NARCS_PER_WRITEV]
|
||||
__attribute__ ((aligned (__alignof__ (char*))));
|
||||
int from_index, to_index, from_len;
|
||||
u_long frompc;
|
||||
struct iovec iov[2 * NARCS_PER_WRITEV];
|
||||
int nfilled;
|
||||
|
||||
from_len = _gmonparam.fromssize / sizeof(*_gmonparam.froms);
|
||||
for (nfilled = 0; nfilled < NARCS_PER_WRITEV; ++nfilled)
|
||||
{
|
||||
iov[2 * nfilled].iov_base = &tag;
|
||||
iov[2 * nfilled].iov_len = sizeof (tag);
|
||||
|
||||
iov[2 * nfilled + 1].iov_base = &raw_arc[nfilled];
|
||||
iov[2 * nfilled + 1].iov_len = sizeof (struct gmon_cg_arc_record);
|
||||
}
|
||||
|
||||
nfilled = 0;
|
||||
from_len = _gmonparam.fromssize / sizeof (*_gmonparam.froms);
|
||||
for (from_index = 0; from_index < from_len; ++from_index)
|
||||
{
|
||||
if (_gmonparam.froms[from_index] == 0)
|
||||
@@ -201,19 +221,25 @@ write_call_graph (fd)
|
||||
|
||||
frompc = _gmonparam.lowpc;
|
||||
frompc += (from_index * _gmonparam.hashfraction
|
||||
* sizeof(*_gmonparam.froms));
|
||||
* sizeof (*_gmonparam.froms));
|
||||
for (to_index = _gmonparam.froms[from_index];
|
||||
to_index != 0;
|
||||
to_index = _gmonparam.tos[to_index].link)
|
||||
{
|
||||
raw_arc.from_pc = frompc;
|
||||
raw_arc.self_pc = _gmonparam.tos[to_index].selfpc;
|
||||
raw_arc.count = _gmonparam.tos[to_index].count;
|
||||
*(char **) raw_arc[nfilled].from_pc = (char *) frompc;
|
||||
*(char **) raw_arc[nfilled].self_pc =
|
||||
(char *)_gmonparam.tos[to_index].selfpc;
|
||||
*(int *) raw_arc[nfilled].count = _gmonparam.tos[to_index].count;
|
||||
|
||||
write(fd, &tag, sizeof(tag));
|
||||
write(fd, &raw_arc, sizeof(raw_arc));
|
||||
if (++nfilled == NARCS_PER_WRITEV)
|
||||
{
|
||||
__writev (fd, iov, 2 * nfilled);
|
||||
nfilled = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (nfilled > 0)
|
||||
__writev (fd, iov, 2 * nfilled);
|
||||
}
|
||||
|
||||
|
||||
@@ -222,9 +248,23 @@ write_bb_counts (fd)
|
||||
int fd;
|
||||
{
|
||||
struct __bb *grp;
|
||||
const u_char tag = GMON_TAG_BB_COUNT;
|
||||
int ncounts;
|
||||
int i;
|
||||
u_char tag = GMON_TAG_BB_COUNT;
|
||||
size_t ncounts;
|
||||
size_t i;
|
||||
|
||||
struct iovec bbhead[2] =
|
||||
{
|
||||
{ &tag, sizeof (tag) },
|
||||
{ &ncounts, sizeof (ncounts) }
|
||||
};
|
||||
struct iovec bbbody[8];
|
||||
size_t nfilled;
|
||||
|
||||
for (i = 0; i < (sizeof (bbbody) / sizeof (bbbody[0])); i += 2)
|
||||
{
|
||||
bbbody[i].iov_len = sizeof (grp->addresses[0]);
|
||||
bbbody[i + 1].iov_len = sizeof (grp->counts[0]);
|
||||
}
|
||||
|
||||
/* Write each group of basic-block info (all basic-blocks in a
|
||||
compilation unit form a single group). */
|
||||
@@ -232,13 +272,20 @@ write_bb_counts (fd)
|
||||
for (grp = __bb_head; grp; grp = grp->next)
|
||||
{
|
||||
ncounts = grp->ncounts;
|
||||
write(fd, &tag, sizeof(tag));
|
||||
write(fd, &ncounts, sizeof(ncounts));
|
||||
for (i = 0; i < ncounts; ++i)
|
||||
__writev (fd, bbhead, 2);
|
||||
for (nfilled = i = 0; i < ncounts; ++i)
|
||||
{
|
||||
write(fd, &grp->addresses[i], sizeof(grp->addresses[0]));
|
||||
write(fd, &grp->counts[i], sizeof(grp->counts[0]));
|
||||
if (nfilled > (sizeof (bbbody) / sizeof (bbbody[0])) - 2)
|
||||
{
|
||||
__writev (fd, bbbody, nfilled);
|
||||
nfilled = 0;
|
||||
}
|
||||
|
||||
bbbody[nfilled++].iov_base = (char *) &grp->addresses[i];
|
||||
bbbody[nfilled++].iov_base = &grp->counts[i];
|
||||
}
|
||||
if (nfilled > 0)
|
||||
__writev (fd, bbbody, nfilled);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -246,31 +293,31 @@ write_bb_counts (fd)
|
||||
void
|
||||
_mcleanup ()
|
||||
{
|
||||
struct gmon_hdr ghdr;
|
||||
struct gmon_hdr ghdr __attribute__ ((aligned (__alignof__ (int))));
|
||||
int fd;
|
||||
|
||||
moncontrol(0);
|
||||
fd = open("gmon.out", O_CREAT|O_TRUNC|O_WRONLY, 0666);
|
||||
moncontrol (0);
|
||||
fd = __open ("gmon.out", O_CREAT|O_TRUNC|O_WRONLY, 0666);
|
||||
if (fd < 0)
|
||||
{
|
||||
perror("_mcleanup: gmon.out");
|
||||
perror ("_mcleanup: gmon.out");
|
||||
return;
|
||||
}
|
||||
|
||||
/* write gmon.out header: */
|
||||
memset(&ghdr, 0, sizeof(ghdr));
|
||||
memcpy(&ghdr.cookie[0], GMON_MAGIC, sizeof(ghdr.cookie));
|
||||
ghdr.version = GMON_VERSION;
|
||||
write(fd, &ghdr, sizeof(ghdr));
|
||||
memset (&ghdr, 0, sizeof (struct gmon_hdr));
|
||||
memcpy (&ghdr.cookie[0], GMON_MAGIC, sizeof (ghdr.cookie));
|
||||
*(int *) ghdr.version = GMON_VERSION;
|
||||
__write (fd, &ghdr, sizeof (struct gmon_hdr));
|
||||
|
||||
/* write PC histogram: */
|
||||
write_hist(fd);
|
||||
write_hist (fd);
|
||||
|
||||
/* write call-graph: */
|
||||
write_call_graph(fd);
|
||||
write_call_graph (fd);
|
||||
|
||||
/* write basic-block execution counts: */
|
||||
write_bb_counts(fd);
|
||||
write_bb_counts (fd);
|
||||
|
||||
close(fd);
|
||||
__close (fd);
|
||||
}
|
||||
|
||||
+27
-21
@@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by David Mosberger <davidm@cs.arizona.edu>.
|
||||
|
||||
@@ -40,30 +40,36 @@ __BEGIN_DECLS
|
||||
* always comes first in gmon.out and is then followed by a series
|
||||
* records defined below.
|
||||
*/
|
||||
struct gmon_hdr {
|
||||
char cookie[4];
|
||||
int version;
|
||||
int spare[3];
|
||||
};
|
||||
struct gmon_hdr
|
||||
{
|
||||
char cookie[4];
|
||||
char version[4];
|
||||
char spare[3 * 4];
|
||||
};
|
||||
|
||||
/* types of records in this file: */
|
||||
typedef enum {
|
||||
GMON_TAG_TIME_HIST = 0, GMON_TAG_CG_ARC = 1, GMON_TAG_BB_COUNT = 2
|
||||
} GMON_Record_Tag;
|
||||
typedef enum
|
||||
{
|
||||
GMON_TAG_TIME_HIST = 0,
|
||||
GMON_TAG_CG_ARC = 1,
|
||||
GMON_TAG_BB_COUNT = 2
|
||||
} GMON_Record_Tag;
|
||||
|
||||
struct gmon_hist_hdr {
|
||||
unsigned long low_pc; /* base pc address of sample buffer */
|
||||
unsigned long high_pc; /* max pc address of sampled buffer */
|
||||
int hist_size; /* size of sample buffer */
|
||||
int prof_rate; /* profiling clock rate */
|
||||
char dimen[15]; /* phys. dim., usually "seconds" */
|
||||
char dimen_abbrev; /* usually 's' for "seconds" */
|
||||
};
|
||||
struct gmon_hist_hdr
|
||||
{
|
||||
char low_pc[sizeof (char *)]; /* base pc address of sample buffer */
|
||||
char high_pc[sizeof (char *)]; /* max pc address of sampled buffer */
|
||||
char hist_size[4]; /* size of sample buffer */
|
||||
char prof_rate[4]; /* profiling clock rate */
|
||||
char dimen[15]; /* phys. dim., usually "seconds" */
|
||||
char dimen_abbrev; /* usually 's' for "seconds" */
|
||||
};
|
||||
|
||||
struct gmon_cg_arc_record {
|
||||
unsigned long from_pc; /* address within caller's body */
|
||||
unsigned long self_pc; /* address within callee's body */
|
||||
int count; /* number of arc traversals */
|
||||
struct gmon_cg_arc_record
|
||||
{
|
||||
char from_pc[sizeof (char *)]; /* address within caller's body */
|
||||
char self_pc[sizeof (char *)]; /* address within callee's body */
|
||||
char count[4]; /* number of arc traversals */
|
||||
};
|
||||
|
||||
__END_DECLS
|
||||
|
||||
+44
-4
@@ -16,20 +16,60 @@
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <errno.h>
|
||||
#include <grp.h>
|
||||
#include <stdio.h>
|
||||
#include <libc-lock.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
/* We need to protect the dynamic buffer handling. */
|
||||
__libc_lock_define_initialized (static, lock);
|
||||
|
||||
/* Read one entry from the given stream. */
|
||||
struct group *
|
||||
fgetgrent (FILE *stream)
|
||||
{
|
||||
static char buffer[BUFSIZ];
|
||||
static char *buffer;
|
||||
static size_t buffer_size;
|
||||
static struct group resbuf;
|
||||
struct group *result;
|
||||
int save;
|
||||
|
||||
if (__fgetgrent_r (stream, &resbuf, buffer, sizeof buffer, &result) != 0)
|
||||
return NULL;
|
||||
/* Get lock. */
|
||||
__libc_lock_lock (lock);
|
||||
|
||||
/* Allocate buffer if not yet available. */
|
||||
if (buffer == NULL)
|
||||
{
|
||||
buffer_size = NSS_BUFLEN_GROUP;
|
||||
buffer = malloc (buffer_size);
|
||||
}
|
||||
|
||||
while (buffer != NULL
|
||||
&& __fgetgrent_r (stream, &resbuf, buffer, buffer_size, &result) != 0
|
||||
&& errno == ERANGE)
|
||||
{
|
||||
char *new_buf;
|
||||
buffer_size += NSS_BUFLEN_GROUP;
|
||||
new_buf = realloc (buffer, buffer_size);
|
||||
if (new_buf == NULL)
|
||||
{
|
||||
/* We are out of memory. Free the current buffer so that the
|
||||
process gets a chance for a normal termination. */
|
||||
save = errno;
|
||||
free (buffer);
|
||||
__set_errno (save);
|
||||
}
|
||||
buffer = new_buf;
|
||||
}
|
||||
|
||||
if (buffer == NULL)
|
||||
result = NULL;
|
||||
|
||||
/* Release lock. Preserve error value. */
|
||||
save = errno;
|
||||
__libc_lock_unlock (lock);
|
||||
__set_errno (save);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
+12
-3
@@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@@ -56,6 +56,7 @@ __fgetgrent_r (FILE *stream, struct group *resbuf, char *buffer, size_t buflen,
|
||||
struct group **result)
|
||||
{
|
||||
char *p;
|
||||
int parse_result;
|
||||
|
||||
do
|
||||
{
|
||||
@@ -69,10 +70,18 @@ __fgetgrent_r (FILE *stream, struct group *resbuf, char *buffer, size_t buflen,
|
||||
/* Skip leading blanks. */
|
||||
while (isspace (*p))
|
||||
++p;
|
||||
} while (*p == '\0' || *p == '#' || /* Ignore empty and comment lines. */
|
||||
} while (*p == '\0' || *p == '#' /* Ignore empty and comment lines. */
|
||||
/* Parse the line. If it is invalid, loop to
|
||||
get the next line of the file to parse. */
|
||||
! parse_line (p, resbuf, (void *) buffer, buflen));
|
||||
|| ! (parse_result = parse_line (p, resbuf,
|
||||
(void *) buffer, buflen)));
|
||||
|
||||
if (parse_result == -1)
|
||||
{
|
||||
/* The parser ran out of space. */
|
||||
*result = NULL;
|
||||
return errno;
|
||||
}
|
||||
|
||||
*result = resbuf;
|
||||
return 0;
|
||||
|
||||
@@ -32,9 +32,6 @@ __BEGIN_DECLS
|
||||
#define __need_size_t
|
||||
#include <stddef.h>
|
||||
|
||||
#define __need_size_t
|
||||
#include <stddef.h>
|
||||
|
||||
|
||||
/* The group structure. */
|
||||
struct group
|
||||
|
||||
+1
-1
@@ -73,7 +73,7 @@ include ../Rules
|
||||
# from $(subdirs), and this rule arranges for the headers in question
|
||||
# to get installed.
|
||||
sunrpc-headers = netdb.h pmap_prot.h xdr.h types.h auth.h \
|
||||
rpc_msg.h auth_unix.h
|
||||
rpc_msg.h auth_unix.h clnt.h
|
||||
installed-sunrpc-headers = $(addprefix $(inst_includedir)/rpc/, \
|
||||
$(sunrpc-headers))
|
||||
install-headers-nosubdir: $(installed-sunrpc-headers)
|
||||
|
||||
@@ -303,4 +303,11 @@ extern int hurd_check_cancel (void);
|
||||
extern io_t __getdport (int fd), getdport (int fd);
|
||||
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
/* Write formatted output to PORT, a Mach port supporting the i/o protocol,
|
||||
according to the format string FORMAT, using the argument list in ARG. */
|
||||
int vpprintf (io_t port, const char *format, va_list arg);
|
||||
|
||||
|
||||
#endif /* hurd.h */
|
||||
|
||||
+2
-2
@@ -40,7 +40,7 @@ _S_msg_add_auth (mach_port_t me,
|
||||
|
||||
if (err = __USEPORT (AUTH,
|
||||
__auth_makeauth (port,
|
||||
&addauth, 1, MACH_MSG_TYPE_MOVE_SEND,
|
||||
&addauth, MACH_MSG_TYPE_MOVE_SEND, 1,
|
||||
NULL, 0,
|
||||
NULL, 0,
|
||||
NULL, 0,
|
||||
@@ -108,7 +108,7 @@ _S_msg_del_auth (mach_port_t me,
|
||||
|
||||
err = __USEPORT (AUTH, __auth_makeauth
|
||||
(port,
|
||||
NULL, 0, MACH_MSG_TYPE_COPY_SEND,
|
||||
NULL, MACH_MSG_TYPE_COPY_SEND, 0,
|
||||
newu, nu,
|
||||
_hurd_id.aux.uids, _hurd_id.aux.nuids,
|
||||
newg, ng,
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ _hurd_set_host_config (const char *item, const char *value, size_t valuelen)
|
||||
mach_msg_type_number_t nwrote;
|
||||
file_t new, dir;
|
||||
|
||||
dir = __file_name_split (item, &item);
|
||||
dir = __file_name_split (item, (char **)&item);
|
||||
if (dir == MACH_PORT_NULL)
|
||||
return -1;
|
||||
|
||||
|
||||
+6
-8
@@ -22,10 +22,9 @@
|
||||
#include <hurd.h>
|
||||
|
||||
static ssize_t
|
||||
pwrite (cookie, buf, n)
|
||||
void *cookie;
|
||||
const char *buf;
|
||||
size_t n;
|
||||
pwrite (void *cookie,
|
||||
const char *buf,
|
||||
size_t n)
|
||||
{
|
||||
error_t error = __io_write ((io_t) cookie, buf, n, -1,
|
||||
(mach_msg_type_number_t *) &n);
|
||||
@@ -38,10 +37,9 @@ pwrite (cookie, buf, n)
|
||||
/* Write formatted output to PORT, a Mach port supporting the i/o protocol,
|
||||
according to the format string FORMAT, using the argument list in ARG. */
|
||||
int
|
||||
vpprintf (port, format, arg)
|
||||
io_t port;
|
||||
const char *format;
|
||||
va_list arg;
|
||||
vpprintf (io_t port,
|
||||
const char *format,
|
||||
va_list arg)
|
||||
{
|
||||
int done;
|
||||
FILE f;
|
||||
|
||||
+86
-53
@@ -1,62 +1,95 @@
|
||||
/*
|
||||
* Copyright (c) 1983, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)inet.h 8.1 (Berkeley) 6/2/93
|
||||
*/
|
||||
/* Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
#ifndef _INET_H_
|
||||
#define _INET_H_
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
/* External definitions for functions in inet(3) */
|
||||
The GNU C Library 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
|
||||
Library 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 _ARPA_INET_H
|
||||
|
||||
#define _ARPA_INET_H 1
|
||||
#include <features.h>
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#include <sys/types.h>
|
||||
#include <netinet/in.h> /* To define `struct in_addr'. */
|
||||
|
||||
__BEGIN_DECLS
|
||||
u_long inet_addr __P((const char *));
|
||||
int inet_aton __P((const char *, struct in_addr *));
|
||||
u_int32_t inet_lnaof __P((struct in_addr));
|
||||
struct in_addr inet_makeaddr __P((u_int32_t , u_int32_t));
|
||||
char * inet_neta __P((u_long, char *, size_t));
|
||||
u_int32_t inet_netof __P((struct in_addr));
|
||||
u_int32_t inet_network __P((const char *));
|
||||
char *inet_net_ntop __P((int, const void *, int, char *, size_t));
|
||||
int inet_net_pton __P((int, const char *, void *, size_t));
|
||||
char *inet_ntoa __P((struct in_addr));
|
||||
int inet_pton __P((int, const char *, void *));
|
||||
const char *inet_ntop __P((int, const void *, char *, size_t));
|
||||
u_int inet_nsap_addr __P((const char *, u_char *, int));
|
||||
char *inet_nsap_ntoa __P((int, const u_char *, char *));
|
||||
|
||||
/* Convert Internet host address from numbers-and-dots notation in CP
|
||||
into binary data in network byte order. */
|
||||
extern unsigned long int inet_addr __P ((__const char *__cp));
|
||||
|
||||
/* Convert Internet host address from numbers-and-dots notation in CP
|
||||
into binary data and store the result in the structure INP. */
|
||||
extern int inet_aton __P ((__const char *__cp, struct in_addr *__inp));
|
||||
|
||||
/* Return the local host address part of the Internet address in IN. */
|
||||
extern u_int32_t inet_lnaof __P ((struct in_addr __in));
|
||||
|
||||
/* Make Internet host address in network byte order by combining the
|
||||
network number NET with the local address HOST. */
|
||||
extern struct in_addr inet_makeaddr __P ((u_int32_t __net, u_int32_t __host));
|
||||
|
||||
/* Format a network number NET into presentation format and place result
|
||||
in buffer starting at BUF with length of LEN bytes. */
|
||||
extern char *inet_neta __P ((u_long __net, char *__buf, size_t __len));
|
||||
|
||||
/* Return network number part of the Internet address IN. */
|
||||
extern u_int32_t inet_netof __P ((struct in_addr __in));
|
||||
|
||||
/* Extract the network number in network byte order from the address
|
||||
in numbers-and-dots natation starting at CP. */
|
||||
extern u_int32_t inet_network __P ((__const char *__cp));
|
||||
|
||||
/* Convert network number for interface type AF in buffer starting at
|
||||
CP to presentation format. The result will specifiy BITS bits of
|
||||
the number. */
|
||||
extern char *inet_net_ntop __P((int __af, __const void *__cp, int __bits,
|
||||
char *__buf, size_t __len));
|
||||
|
||||
/* Convert network number for interface type AF from presentation in
|
||||
buffer starting at CP to network format and store result int
|
||||
buffer starting at BUF of size LEN. */
|
||||
extern int inet_net_pton __P ((int __af, __const char *__cp,
|
||||
void *__buf, size_t __len));
|
||||
|
||||
/* Convert Internet number in IN to ASCII representation. The return value
|
||||
is a pointer to an internal array containing the string. */
|
||||
extern char *inet_ntoa __P ((struct in_addr __in));
|
||||
|
||||
/* Convert from presentation format of an Internet number in buffer
|
||||
starting at CP to the binary network format and store result for
|
||||
interface type AF in buffer starting at BUF. */
|
||||
extern int inet_pton __P ((int __af, __const char *__cp, void *__buf));
|
||||
|
||||
/* Convert a Internet address in binary network format for interface
|
||||
type AF in buffer starting at CP to presentation form and place
|
||||
result in buffer of length LEN astarting at BUF. */
|
||||
extern __const char *inet_ntop __P ((int __af, __const void *__cp,
|
||||
char *__buf, size_t __len));
|
||||
|
||||
/* Convert ASCII representation in hexadecimal form of the Internet
|
||||
address to binary form and place result in buffer of length LEN
|
||||
starting at BUF. */
|
||||
extern unsigned int inet_nsap_addr __P ((__const char *__cp,
|
||||
unsigned char *__buf, int __len));
|
||||
|
||||
/* Convert internet address in binary form in LEN bytes starting at CP
|
||||
a presentation form and place result in BUF. */
|
||||
extern char *inet_nsap_ntoa __P ((int __len, __const unsigned char *__cp,
|
||||
char *__buf));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* !_INET_H_ */
|
||||
#endif /* arpa/inet.h */
|
||||
|
||||
+89
-51
@@ -1,59 +1,97 @@
|
||||
/*
|
||||
* Copyright (c) 1983, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
/* Convert Inet number to ASCII representation.
|
||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
#if defined(LIBC_SCCS) && !defined(lint)
|
||||
static char sccsid[] = "@(#)inet_ntoa.c 8.1 (Berkeley) 6/4/93";
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 C Library 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
|
||||
Library 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. */
|
||||
|
||||
/*
|
||||
* Convert network-format internet address
|
||||
* to base 256 d.d.d.d representation.
|
||||
*/
|
||||
#include <sys/types.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <libc-lock.h>
|
||||
|
||||
/* The interface of this function is completely stupid, it requires a
|
||||
static buffer. We relax this a bit in that we allow at least one
|
||||
buffer for each thread. */
|
||||
__libc_lock_define_initialized (static, lock);
|
||||
|
||||
/* This is the key for the thread specific memory. */
|
||||
static __libc_key_t key;
|
||||
|
||||
/* Destructor for the thread-specific data. */
|
||||
static void free_key_mem (void *mem);
|
||||
|
||||
|
||||
char *
|
||||
inet_ntoa(in)
|
||||
struct in_addr in;
|
||||
inet_ntoa (struct in_addr in)
|
||||
{
|
||||
static char b[18];
|
||||
register char *p;
|
||||
static char static_buf[18];
|
||||
static int initialized = 0;
|
||||
char *buffer = NULL;
|
||||
unsigned char *bytes;
|
||||
|
||||
p = (char *)∈
|
||||
#define UC(b) (((int)b)&0xff)
|
||||
(void)snprintf(b, sizeof(b),
|
||||
"%d.%d.%d.%d", UC(p[0]), UC(p[1]), UC(p[2]), UC(p[3]));
|
||||
return (b);
|
||||
/* If we have not yet initialized the buffer do it now. */
|
||||
if (!initialized)
|
||||
{
|
||||
/* Make sure there is only one process doing the initialization. */
|
||||
__libc_lock_lock (lock);
|
||||
|
||||
if (!initialized)
|
||||
{
|
||||
if (__libc_key_create (&key, free_key_mem))
|
||||
/* Creating the key failed. This either means we run
|
||||
have only a single-threaded application or something
|
||||
really went wrong. In any case use a static buffer
|
||||
which is better than nothing. */
|
||||
buffer = static_buf;
|
||||
}
|
||||
|
||||
__libc_lock_unlock (lock);
|
||||
}
|
||||
|
||||
if (buffer == NULL)
|
||||
{
|
||||
/* We don't use the static buffer and so we have a key. Use it
|
||||
to get the thread-specific buffer. */
|
||||
buffer = __libc_getspecific (key);
|
||||
if (buffer == NULL)
|
||||
{
|
||||
/* No buffer allocated so far. */
|
||||
buffer = malloc (18);
|
||||
if (buffer == NULL)
|
||||
/* No more memory available. We use the static buffer. */
|
||||
buffer = static_buf;
|
||||
else
|
||||
__libc_setspecific (key, buffer);
|
||||
}
|
||||
}
|
||||
|
||||
bytes = (unsigned char *) ∈
|
||||
snprintf (buffer, 18, "%d.%d.%d.%d", bytes[0], bytes[1], bytes[2], bytes[3]);
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
free_key_mem (void *mem)
|
||||
{
|
||||
free (mem);
|
||||
|
||||
/* And we must set the data to NULL so that the destructor is not
|
||||
called again. */
|
||||
__libc_setspecific (key, NULL);
|
||||
}
|
||||
|
||||
+11
-7
@@ -306,7 +306,6 @@ iruserok(raddr, superuser, ruser, luser)
|
||||
struct stat sbuf;
|
||||
struct passwd pwdbuf, *pwd;
|
||||
FILE *hostf;
|
||||
uid_t uid;
|
||||
int first;
|
||||
|
||||
first = 1;
|
||||
@@ -326,7 +325,7 @@ again:
|
||||
char *buffer = __alloca (buflen);
|
||||
|
||||
first = 0;
|
||||
if (getpwnam_r (luser, &pwdbuf, buffer, buflen, &pwd) < 0)
|
||||
if (__getpwnam_r (luser, &pwdbuf, buffer, buflen, &pwd) < 0)
|
||||
return -1;
|
||||
|
||||
dirlen = strlen (pwd->pw_dir);
|
||||
@@ -339,10 +338,15 @@ again:
|
||||
* reading an NFS mounted file system, can't read files that
|
||||
* are protected read/write owner only.
|
||||
*/
|
||||
uid = geteuid();
|
||||
(void)seteuid(pwd->pw_uid);
|
||||
hostf = fopen(pbuf, "r");
|
||||
(void)seteuid(uid);
|
||||
if (__access (pbuf, R_OK) != 0)
|
||||
hostf = NULL;
|
||||
else
|
||||
{
|
||||
uid_t uid = geteuid ();
|
||||
seteuid (pwd->pw_uid);
|
||||
hostf = fopen (pbuf, "r");
|
||||
seteuid (uid);
|
||||
}
|
||||
|
||||
if (hostf == NULL)
|
||||
return (-1);
|
||||
@@ -390,7 +394,7 @@ __ivaliduser(hostf, raddr, luser, ruser)
|
||||
size_t bufsize = 0;
|
||||
ssize_t nread;
|
||||
|
||||
while ((nread = getline (&buf, &bufsize, hostf)) > 0) {
|
||||
while ((nread = __getline (&buf, &bufsize, hostf)) > 0) {
|
||||
buf[bufsize - 1] = '\0'; /* Make sure it's terminated. */
|
||||
p = buf;
|
||||
while (*p != '\n' && *p != ' ' && *p != '\t' && *p != '\0') {
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@ int
|
||||
rexec(ahost, rport, name, pass, cmd, fd2p)
|
||||
char **ahost;
|
||||
int rport;
|
||||
char *name, *pass, *cmd;
|
||||
const char *name, *pass, *cmd;
|
||||
int *fd2p;
|
||||
{
|
||||
struct sockaddr_in sin, sin2, from;
|
||||
|
||||
@@ -67,6 +67,10 @@
|
||||
will see messages about iso646.h, wctype.h and wchar.h not being
|
||||
found. */
|
||||
|
||||
#ifndef _GNU_SOURCE
|
||||
# define _GNU_SOURCE 1
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -168,18 +172,28 @@ static char *macros[] =
|
||||
#define NUMBER_OF_SUFFIXES (sizeof suffix / sizeof *suffix)
|
||||
#define NUMBER_OF_MACROS (sizeof macros / sizeof *macros)
|
||||
|
||||
|
||||
/* Format string to build command to invoke compiler. */
|
||||
static const char fmt[] = "\
|
||||
echo \"#include <%s>\" |\
|
||||
%s -E -dM -ansi -pedantic %s -D_LIBC -I. -I `%s --print-prog-name=include` -\
|
||||
> %s";
|
||||
|
||||
|
||||
/* The compiler we use (given on the command line). */
|
||||
char *CC;
|
||||
/* The -I parameters for CC to find all headers. */
|
||||
char *INC;
|
||||
|
||||
static int check_header (const char *);
|
||||
static const char **get_null_defines (void);
|
||||
static int check_header (const char *, const char **);
|
||||
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
int h;
|
||||
int result = 0;
|
||||
const char **ignore_list;
|
||||
|
||||
CC = argc > 1 ? argv[1] : "gcc";
|
||||
INC = argc > 2 ? argv[2] : "";
|
||||
@@ -190,44 +204,109 @@ main (int argc, char *argv[])
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
/* First get list of symbols which are defined by the compiler. */
|
||||
ignore_list = get_null_defines ();
|
||||
|
||||
fputs ("Tested files:\n", stdout);
|
||||
|
||||
for (h = 0; h < NUMBER_OF_HEADERS; ++h)
|
||||
{
|
||||
char file_name[HEADER_MAX];
|
||||
sprintf (file_name, "%s.h", header[h]);
|
||||
result |= check_header (file_name);
|
||||
result |= check_header (file_name, ignore_list);
|
||||
}
|
||||
|
||||
|
||||
#if 0
|
||||
/* The test suite should return errors but for now this is not
|
||||
practical. Give a warning and ask the user to correct the bugs. */
|
||||
return result;
|
||||
#else
|
||||
if (result)
|
||||
fputs ("\
|
||||
##########################################################################\n\
|
||||
# The test suite found some problems with your system (see the generated #\n\
|
||||
# isomac.out file). These are all violations of the ISO C rules and #\n\
|
||||
# should be corrected. If the problem is in the libc, report it using #\n\
|
||||
# the glibcbug script to <bugs@gnu.ai.mit.edu>. If it is a problem with #\n\
|
||||
# your compiler, contact the compiler manufacturer. #\n\
|
||||
##########################################################################\n",
|
||||
stderr);
|
||||
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
static const char **
|
||||
get_null_defines (void)
|
||||
{
|
||||
char line[BUFSIZ], *command;
|
||||
char **result = NULL;
|
||||
size_t result_len = 0;
|
||||
size_t result_max = 0;
|
||||
FILE *input;
|
||||
int first = 1;
|
||||
|
||||
command = malloc (sizeof fmt + sizeof "/dev/null" + 2 * strlen (CC)
|
||||
+ strlen (INC) + strlen (TMPFILE));
|
||||
|
||||
if (command == NULL)
|
||||
{
|
||||
puts ("No more memory.");
|
||||
exit (1);
|
||||
}
|
||||
|
||||
sprintf (command, fmt, "/dev/null", CC, INC, CC, TMPFILE);
|
||||
|
||||
if (system (command))
|
||||
{
|
||||
puts ("system() returned nonzero");
|
||||
return NULL;
|
||||
}
|
||||
free (command);
|
||||
input = fopen (TMPFILE, "r");
|
||||
|
||||
if (input == NULL)
|
||||
{
|
||||
printf ("Could not read %s: ", TMPFILE);
|
||||
perror (NULL);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
while (fgets (line, sizeof line, input) != NULL)
|
||||
{
|
||||
int i, okay = 0;
|
||||
size_t endmac;
|
||||
char *start, *end;
|
||||
if (strlen (line) < 9 || line[7] != ' ')
|
||||
{ /* "#define A" */
|
||||
printf ("Malformed input, expected '#define MACRO'\ngot '%s'\n",
|
||||
line);
|
||||
continue;
|
||||
}
|
||||
if (line[8] == '_')
|
||||
/* It's a safe identifier. */
|
||||
continue;
|
||||
if (result_len == result_max)
|
||||
{
|
||||
result_max += 10;
|
||||
result = realloc (result, result_max * sizeof (char **));
|
||||
if (result == NULL)
|
||||
{
|
||||
puts ("No more memory.");
|
||||
exit (1);
|
||||
}
|
||||
}
|
||||
start = &line[8];
|
||||
for (end = start + 1; !isspace (*end) && *end != '\0'; ++end)
|
||||
;
|
||||
result[result_len++] = strndup (start, end - start);
|
||||
|
||||
if (first)
|
||||
{
|
||||
fputs ("The following identifiers will be ignored since the compiler defines them\nby default:\n", stdout);
|
||||
first = 0;
|
||||
}
|
||||
puts (result[result_len - 1]);
|
||||
}
|
||||
fclose (input);
|
||||
remove (TMPFILE);
|
||||
|
||||
return (const char **) result;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
check_header (const char *file_name)
|
||||
check_header (const char *file_name, const char **except)
|
||||
{
|
||||
char line[BUFSIZ], *command;
|
||||
FILE *input;
|
||||
int result = 0;
|
||||
static const char fmt[] = "\
|
||||
echo \"#include <%s>\" |\
|
||||
%s -E -dM -ansi -pedantic %s -D_LIBC -I. -I `%s --print-prog-name=include` -\
|
||||
> %s";
|
||||
|
||||
command = malloc (sizeof fmt + strlen (file_name) + 2 * strlen (CC)
|
||||
+ strlen (INC) + strlen (TMPFILE));
|
||||
@@ -260,6 +339,7 @@ echo \"#include <%s>\" |\
|
||||
{
|
||||
int i, okay = 0;
|
||||
size_t endmac;
|
||||
const char **cpp;
|
||||
if (strlen (line) < 9 || line[7] != ' ')
|
||||
{ /* "#define A" */
|
||||
printf ("Malformed input, expected '#define MACRO'\ngot '%s'\n",
|
||||
@@ -278,7 +358,7 @@ echo \"#include <%s>\" |\
|
||||
continue;
|
||||
for (i = 0; i < NUMBER_OF_MACROS; ++i)
|
||||
{
|
||||
if (!strncmp (line+8, macros[i], strlen (macros[i])))
|
||||
if (!strncmp (line + 8, macros[i], strlen (macros[i])))
|
||||
{
|
||||
++okay;
|
||||
break;
|
||||
@@ -305,6 +385,18 @@ echo \"#include <%s>\" |\
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (okay)
|
||||
continue;
|
||||
if (except != NULL)
|
||||
for (cpp = except; *cpp != NULL; ++cpp)
|
||||
{
|
||||
size_t len = strlen (*cpp);
|
||||
if (!strncmp (line + 8, *cpp, len) && isspace (line[8 + len]))
|
||||
{
|
||||
++okay;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!okay)
|
||||
{
|
||||
fputs (line, stdout);
|
||||
|
||||
@@ -317,6 +317,7 @@ DEFUN(_IO_file_overflow, (f, ch),
|
||||
{
|
||||
if (f->_flags & _IO_NO_WRITES) /* SET ERROR */
|
||||
{
|
||||
f->_flags |= _IO_ERR_SEEN;
|
||||
__set_errno (EBADF);
|
||||
return EOF;
|
||||
}
|
||||
|
||||
+1
-1
@@ -615,7 +615,7 @@ DEFUN_VOID(_IO_flush_all_linebuffered)
|
||||
{
|
||||
_IO_FILE *fp;
|
||||
for (fp = _IO_list_all; fp != NULL; fp = fp->_chain)
|
||||
if (fp->_flags & _IO_LINE_BUF)
|
||||
if ((fp->_flags & _IO_NO_WRITES) == 0 && fp->_flags & _IO_LINE_BUF)
|
||||
_IO_OVERFLOW (fp, EOF);
|
||||
}
|
||||
|
||||
|
||||
+80
-7
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright (C) 1994 Free Software Foundation
|
||||
Copyright (C) 1994, 1997 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU IO Library. This library is free
|
||||
software; you can redistribute it and/or modify it under the
|
||||
@@ -25,6 +25,73 @@ the executable file might be covered by the GNU General Public License. */
|
||||
#include "libioP.h"
|
||||
#include "strfile.h"
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
_IO_strfile f;
|
||||
/* This is used for the characters which do not fit in the buffer
|
||||
provided by the user. */
|
||||
char overflow_buf[64];
|
||||
} _IO_strnfile;
|
||||
|
||||
|
||||
static int
|
||||
_IO_strn_overflow (_IO_FILE* fp, int c)
|
||||
{
|
||||
/* When we come to here this means the user supplied buffer is
|
||||
filled. But since we must return the number of characters which
|
||||
would have been written in total we must provide a buffer for
|
||||
further use. We can do this by writing on and on in the overflow
|
||||
buffer in the _IO_strnfile structure. */
|
||||
_IO_strnfile *snf = (_IO_strnfile *) fp;
|
||||
|
||||
if (fp->_IO_buf_base != snf->overflow_buf)
|
||||
{
|
||||
/* Terminate the string. We know that there is room for at
|
||||
least one more character since we initialized the stream with
|
||||
a size to make this possible. */
|
||||
*fp->_IO_write_ptr = '\0';
|
||||
|
||||
_IO_setb (fp, snf->overflow_buf,
|
||||
snf->overflow_buf + sizeof (snf->overflow_buf), 0);
|
||||
|
||||
fp->_IO_write_base = snf->overflow_buf;
|
||||
fp->_IO_read_base = snf->overflow_buf;
|
||||
fp->_IO_read_ptr = snf->overflow_buf;
|
||||
fp->_IO_read_end = snf->overflow_buf + sizeof (snf->overflow_buf);
|
||||
}
|
||||
|
||||
fp->_IO_write_ptr = snf->overflow_buf;
|
||||
fp->_IO_write_end = snf->overflow_buf;
|
||||
|
||||
/* Since we are not really interested in storing the characters
|
||||
which do not fit in the buffer we simply ignore it. */
|
||||
return c;
|
||||
}
|
||||
|
||||
|
||||
static struct _IO_jump_t _IO_strn_jumps = {
|
||||
JUMP_INIT_DUMMY,
|
||||
JUMP_INIT(finish, _IO_str_finish),
|
||||
JUMP_INIT(overflow, _IO_strn_overflow),
|
||||
JUMP_INIT(underflow, _IO_str_underflow),
|
||||
JUMP_INIT(uflow, _IO_default_uflow),
|
||||
JUMP_INIT(pbackfail, _IO_str_pbackfail),
|
||||
JUMP_INIT(xsputn, _IO_default_xsputn),
|
||||
JUMP_INIT(xsgetn, _IO_default_xsgetn),
|
||||
JUMP_INIT(seekoff, _IO_str_seekoff),
|
||||
JUMP_INIT(seekpos, _IO_default_seekpos),
|
||||
JUMP_INIT(setbuf, _IO_default_setbuf),
|
||||
JUMP_INIT(sync, _IO_default_sync),
|
||||
JUMP_INIT(doallocate, _IO_default_doallocate),
|
||||
JUMP_INIT(read, _IO_default_read),
|
||||
JUMP_INIT(write, _IO_default_write),
|
||||
JUMP_INIT(seek, _IO_default_seek),
|
||||
JUMP_INIT(close, _IO_default_close),
|
||||
JUMP_INIT(stat, _IO_default_stat)
|
||||
};
|
||||
|
||||
|
||||
int
|
||||
_IO_vsnprintf (string, maxlen, format, args)
|
||||
char *string;
|
||||
@@ -32,22 +99,28 @@ _IO_vsnprintf (string, maxlen, format, args)
|
||||
const char *format;
|
||||
_IO_va_list args;
|
||||
{
|
||||
_IO_strfile sf;
|
||||
_IO_strnfile sf;
|
||||
int ret;
|
||||
#ifdef _IO_MTSAFE_IO
|
||||
_IO_lock_t lock;
|
||||
sf._sbf._f._lock = &lock;
|
||||
sf.f._sbf._f._lock = &lock;
|
||||
#endif
|
||||
|
||||
/* We need to handle the special case where MAXLEN is 0. */
|
||||
/* We need to handle the special case where MAXLEN is 0. Use the
|
||||
overflow buffer right from the start. */
|
||||
if (maxlen == 0)
|
||||
return 0;
|
||||
{
|
||||
string = sf.overflow_buf;
|
||||
maxlen = sizeof (sf.overflow_buf);
|
||||
}
|
||||
|
||||
_IO_init ((_IO_FILE *) &sf, 0);
|
||||
_IO_JUMPS ((_IO_FILE *) &sf) = &_IO_str_jumps;
|
||||
_IO_JUMPS ((_IO_FILE *) &sf) = &_IO_strn_jumps;
|
||||
_IO_str_init_static ((_IO_FILE *) &sf, string, maxlen - 1, string);
|
||||
ret = _IO_vfprintf ((_IO_FILE *) &sf, format, args);
|
||||
*((_IO_FILE *) &sf)->_IO_write_ptr = '\0';
|
||||
|
||||
if (sf.f._sbf._f._IO_buf_base != sf.overflow_buf)
|
||||
*sf.f._sbf._f._IO_write_ptr = '\0';
|
||||
return ret;
|
||||
}
|
||||
weak_alias (_IO_vsnprintf, __vsnprintf)
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ __duplocale (__locale_t dataset)
|
||||
__libc_lock_lock (__libc_setlocale_lock);
|
||||
|
||||
/* Get memory. */
|
||||
result = (__locale_t) malloc (sizeof (struct __locale_t));
|
||||
result = (__locale_t) malloc (sizeof (struct __locale_struct));
|
||||
if (result != NULL)
|
||||
{
|
||||
int cnt;
|
||||
|
||||
+1
-1
@@ -104,7 +104,7 @@ extern struct locale_data *_nl_current_##category;
|
||||
|
||||
extern const char *const _nl_category_names[LC_ALL + 1];
|
||||
extern const size_t _nl_category_name_sizes[LC_ALL + 1];
|
||||
extern struct locale_data * *const _nl_current[LC_ALL];
|
||||
extern struct locale_data * *const _nl_current[LC_ALL + 1];
|
||||
|
||||
/* Name of the standard locale. */
|
||||
extern const char _nl_C_name[];
|
||||
|
||||
+3
-3
@@ -42,7 +42,7 @@ __newlocale (int category_mask, const char *locale, __locale_t base)
|
||||
{
|
||||
/* Intermediate memory for result. */
|
||||
const char *newnames[LC_ALL];
|
||||
struct __locale_t result;
|
||||
struct __locale_struct result;
|
||||
__locale_t result_ptr;
|
||||
char *locale_path;
|
||||
size_t locale_path_len;
|
||||
@@ -79,7 +79,7 @@ __newlocale (int category_mask, const char *locale, __locale_t base)
|
||||
dataset using the C locale data. */
|
||||
if (category_mask == 0)
|
||||
{
|
||||
result_ptr = (__locale_t) malloc (sizeof (struct __locale_t));
|
||||
result_ptr = (__locale_t) malloc (sizeof (struct __locale_struct));
|
||||
*result_ptr = result;
|
||||
|
||||
goto update;
|
||||
@@ -158,7 +158,7 @@ __newlocale (int category_mask, const char *locale, __locale_t base)
|
||||
if (base == NULL)
|
||||
{
|
||||
/* Allocate new structure. */
|
||||
result_ptr = (__locale_t) malloc (sizeof (struct __locale_t));
|
||||
result_ptr = (__locale_t) malloc (sizeof (struct __locale_struct));
|
||||
if (result_ptr == NULL)
|
||||
return NULL;
|
||||
|
||||
|
||||
+10
-13
@@ -109,7 +109,7 @@ static const struct argp_option options[] =
|
||||
{ "posix", OPT_POSIX, NULL, 0, N_("Be strictly POSIX conform") },
|
||||
{ "quiet", OPT_QUIET, NULL, 0,
|
||||
N_("Suppress warnings and information messages") },
|
||||
{ "verbose", 'V', NULL, 0, N_("print more messages") },
|
||||
{ "verbose", 'V', NULL, 0, N_("Print more messages") },
|
||||
{ NULL, 0, NULL, 0, NULL }
|
||||
};
|
||||
|
||||
@@ -164,11 +164,9 @@ main (int argc, char *argv[])
|
||||
textdomain (_libc_intl_domainname);
|
||||
|
||||
/* Parse and process arguments. */
|
||||
argp_err_exit_status = 4;
|
||||
argp_parse (&argp, argc, argv, 0, &remaining, NULL);
|
||||
|
||||
/* XXX POSIX is violated since for unknown option a exit value > 3
|
||||
must be used. */
|
||||
|
||||
/* POSIX.2 requires to be verbose about missing characters in the
|
||||
character map. */
|
||||
verbose |= posix_conformance;
|
||||
@@ -176,11 +174,8 @@ main (int argc, char *argv[])
|
||||
if (argc - remaining != 1)
|
||||
{
|
||||
/* We need exactly one non-option parameter. */
|
||||
argp_help (&argp, stdout, ARGP_HELP_SEE,
|
||||
argp_help (&argp, stdout, ARGP_HELP_SEE | ARGP_HELP_EXIT_ERR,
|
||||
program_invocation_short_name);
|
||||
|
||||
/* XXX Currently POSIX is violated. We must exit with code 4
|
||||
but the argp_help function currently does not allow this. */
|
||||
exit (4);
|
||||
}
|
||||
|
||||
@@ -245,21 +240,23 @@ main (int argc, char *argv[])
|
||||
|
||||
if (! avail)
|
||||
{
|
||||
const char *locale_names[] = { "LC_COLLATE", "LC_CTYPE",
|
||||
"LC_MONETARY", "LC_NUMERIC",
|
||||
"LC_TIME", "LC_MESSAGES" };
|
||||
static const char *locale_names[] =
|
||||
{
|
||||
"LC_COLLATE", "LC_CTYPE", "LC_MONETARY",
|
||||
"LC_NUMERIC", "LC_TIME", "LC_MESSAGES"
|
||||
};
|
||||
char *fname;
|
||||
int fd;
|
||||
struct stat st;
|
||||
|
||||
asprintf (&fname, LOCALE_PATH "/%s/%s", act_add_locdef->name,
|
||||
asprintf (&fname, LOCALEDIR "/%s/%s", act_add_locdef->name,
|
||||
locale_names[cat]);
|
||||
fd = open (fname, O_RDONLY);
|
||||
if (fd == -1)
|
||||
{
|
||||
free (fname);
|
||||
|
||||
asprintf (&fname, LOCALE_PATH "/%s/%s/SYS_%s",
|
||||
asprintf (&fname, LOCALEDIR "/%s/%s/SYS_%s",
|
||||
act_add_locdef->name, locale_names[cat],
|
||||
locale_names[cat]);
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#include <locale.h>
|
||||
#include <malloc.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/stat.h>
|
||||
@@ -76,10 +77,31 @@ locfile_read (const char *filename, struct charset_t *charset)
|
||||
{
|
||||
if (filename[0] != '/')
|
||||
{
|
||||
char path[strlen (filename) + 1 + sizeof (LOCSRCDIR)];
|
||||
char *i18npath = __secure_getenv ("I18NPATH");
|
||||
if (i18npath != NULL && *i18npath != '\0')
|
||||
{
|
||||
char path[strlen (filename) + 1 + strlen (i18npath) + 1];
|
||||
char *next;
|
||||
i18npath = strdupa (i18npath);
|
||||
|
||||
stpcpy (stpcpy (stpcpy (path, LOCSRCDIR), "/"), filename);
|
||||
ldfile = lr_open (path, locfile_hash);
|
||||
|
||||
while (ldfile == NULL
|
||||
&& (next = strsep (&i18npath, ":")) != NULL)
|
||||
{
|
||||
stpcpy (stpcpy (stpcpy (path, next), "/"), filename);
|
||||
|
||||
ldfile = lr_open (path, locfile_hash);
|
||||
}
|
||||
}
|
||||
|
||||
/* Test in the default directory. */
|
||||
if (ldfile == NULL)
|
||||
{
|
||||
char path[strlen (filename) + 1 + sizeof (LOCSRCDIR)];
|
||||
|
||||
stpcpy (stpcpy (stpcpy (path, LOCSRCDIR), "/"), filename);
|
||||
ldfile = lr_open (path, locfile_hash);
|
||||
}
|
||||
}
|
||||
|
||||
if (ldfile == NULL)
|
||||
|
||||
+5
-1
@@ -49,6 +49,9 @@ static struct locale_data * *const _nl_current[] =
|
||||
[category] = &_nl_current_##category,
|
||||
#include "categories.def"
|
||||
#undef DEFINE_CATEGORY
|
||||
/* We need this additional element to simplify the code. It must
|
||||
simply be != NULL. */
|
||||
[LC_ALL] = (struct locale_data **) ~0ul
|
||||
};
|
||||
|
||||
/* Array indexed by category of pointers to _nl_C_CATEGORY slots.
|
||||
@@ -368,7 +371,8 @@ setlocale (int category, const char *locale)
|
||||
|
||||
/* We must not simply free a global locale since we have no
|
||||
control over the usage. So we mark it as un-deletable. */
|
||||
newdata->usage_count = MAX_USAGE_COUNT;
|
||||
if (newdata->usage_count != MAX_USAGE_COUNT)
|
||||
newdata->usage_count = MAX_USAGE_COUNT;
|
||||
}
|
||||
|
||||
/* Create new composite name. */
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@
|
||||
(almost) opaque type for the user level programs. The file and
|
||||
this data structure is not standardized. Don't rely on it. It can
|
||||
go away without warning. */
|
||||
typedef struct __locale_t
|
||||
typedef struct __locale_struct
|
||||
{
|
||||
struct locale_data *__locales[6]; /* XXX LC_ALL should be used here */
|
||||
|
||||
|
||||
@@ -0,0 +1,205 @@
|
||||
970b316dd260f981b02f80c5481037db charmaps/ANSI_X3.110-1983
|
||||
63ca7fd8249a3065c2cf46d3568ce205 charmaps/ANSI_X3.4-1968
|
||||
e86c1b2ef30069c39ae57c74044c8f5f charmaps/ASMO_449
|
||||
64cdea65126674d17e4d4de9eebe7a7d charmaps/BALTIC
|
||||
44b589073659d5059ed28feae29d1bb9 charmaps/BS_4730
|
||||
3014b545b72ea460c6be1c0e736fd0fe charmaps/BS_VIEWDATA
|
||||
7c114537b032dcb0c33fad6447f4e390 charmaps/CP1250
|
||||
dbe7661c6a5b123e8c5d369fa4dcdaf7 charmaps/CP1251
|
||||
7257c9691d957e62a7e637cc0b4a3883 charmaps/CP1252
|
||||
5d596c65b87acd46382b62b627419906 charmaps/CP1253
|
||||
26d7fe7875157b1264a0feb2af3bd4b1 charmaps/CP1254
|
||||
995beb377a9b10ceb69d2e2db9f38c0c charmaps/CP1255
|
||||
8f3ab677c4c41d9a602ec5a9d2181a58 charmaps/CP1256
|
||||
9ac7292aa07f1774b3fa82407f50bfe0 charmaps/CP1257
|
||||
3e7ab730f995ee2aac310d086877f76c charmaps/CSA_Z243.4-1985-1
|
||||
41dadf28b93935585caa80790fb9cfe1 charmaps/CSA_Z243.4-1985-2
|
||||
1f2207e691c3adad58244f7561c987c8 charmaps/CSA_Z243.4-1985-GR
|
||||
61c0c0ffff0c3543641c16bf9196405d charmaps/CSN_369103
|
||||
cda6b11a184e5d046bd753b34b4c5c16 charmaps/CWI
|
||||
8c01af7e97fa05c868747364aeee903f charmaps/DEC-MCS
|
||||
6d641c1ca619a395699c9e08f38aade0 charmaps/DIN_66003
|
||||
56a240f6ab1652084d70d62e71df76b9 charmaps/DS_2089
|
||||
aaf3aa1f7973d24c10f0195e44d309cc charmaps/EBCDIC-AT-DE
|
||||
2ac9ed4896146b681fa877218b987397 charmaps/EBCDIC-AT-DE-A
|
||||
3128740dffa196fed88be336e8b3b6a4 charmaps/EBCDIC-CA-FR
|
||||
c37b7c8e96d7ee23cc4a6de8fb38a144 charmaps/EBCDIC-DK-NO
|
||||
91c7c4ae978f1037531a1850d796db38 charmaps/EBCDIC-DK-NO-A
|
||||
b70f369a9a6665a013f4d67ddafb9117 charmaps/EBCDIC-ES
|
||||
2bb6d464c083baf2e4590510356efc54 charmaps/EBCDIC-ES-A
|
||||
da80b72f81b71aa750c89efe36cdebc9 charmaps/EBCDIC-ES-S
|
||||
4900c129fe536d90eef1fa079021d600 charmaps/EBCDIC-FI-SE
|
||||
53493344a23c5915d05cb445596e6985 charmaps/EBCDIC-FI-SE-A
|
||||
16441fef214449bf01833c75119f4218 charmaps/EBCDIC-FR
|
||||
47bc93bac2e9121e92ec45e6b084ac3e charmaps/EBCDIC-IS-FRISS
|
||||
590d2d63cffe663a57f9594a88a5d252 charmaps/EBCDIC-IT
|
||||
c51d96a6c0701ace762c1b381650c9e2 charmaps/EBCDIC-PT
|
||||
37b02d6622d5bbad31dbd29e5ea85c1a charmaps/EBCDIC-UK
|
||||
72fc4fb96a6b4fb18090aaf5c1ca5e04 charmaps/EBCDIC-US
|
||||
a66fceae768b6c6653347c6d62a591e2 charmaps/ECMA-CYRILLIC
|
||||
9f8b15ccd32dc406d449428624c7f5a9 charmaps/ES
|
||||
d8827d6828355187991c0c77b1d175e0 charmaps/ES2
|
||||
684e59dfaedd5be03cdb75f13bd4087b charmaps/GB_1988-80
|
||||
eac9ece498b20cea3f64e08e29fcf728 charmaps/GOST_19768-74
|
||||
aa2138ecb935ae395a42e2a36fae17df charmaps/GREEK7
|
||||
016bf365bfbe76a2dffd3371e449bed8 charmaps/GREEK7-OLD
|
||||
cd9b8358fd4ee9ca42f51dd5b9bee1d2 charmaps/GREEK-CCITT
|
||||
d601c5e0564708cccc77f5a0ff21ad5a charmaps/HP-ROMAN8
|
||||
ac6aefc1a0ee7a71a219aeaa45d2dd59 charmaps/IBM037
|
||||
6c88d3707f227d81de6c486fa37291af charmaps/IBM038
|
||||
a866b15cb70f42db3e10208dc1c6c760 charmaps/IBM1004
|
||||
9cf5a37e4b3adb3cbd07dacfdfa339f3 charmaps/IBM1026
|
||||
a9da79881a9ca162290d30dbc60e50ef charmaps/IBM1047
|
||||
efd81c94d2eb08b06b917fab1999237e charmaps/IBM256
|
||||
4cd391704e0bfa5004f51aee15d63487 charmaps/IBM273
|
||||
9cd875dcc061173394ddccb59df09d5d charmaps/IBM274
|
||||
85f505f2920525084080877e61c3c676 charmaps/IBM275
|
||||
a3e907c09ff00ca647dd250da4d08910 charmaps/IBM277
|
||||
d5228847a6c37dd5d0bfef061a87ddf5 charmaps/IBM278
|
||||
961510d2dc9ac86a74c490a14fb2c5bd charmaps/IBM280
|
||||
e743c1c1e6cb73c36b4afe941cf98aeb charmaps/IBM281
|
||||
356b5249cf790ebba361a41c9ab0008f charmaps/IBM284
|
||||
f0fb91312ba9bda57ae7d54c08fe7277 charmaps/IBM285
|
||||
3721e2fe385430d0b723d3670843c5e6 charmaps/IBM290
|
||||
9a2d9a73447dffdecb2ce7c1f0312073 charmaps/IBM297
|
||||
bdfddcd88b3f1ca36576247b4c50282f charmaps/IBM420
|
||||
4aa0aac1583eba7e8e9fa5098522eab5 charmaps/IBM423
|
||||
c58e6bc022f94eef43fc7ed684c5157f charmaps/IBM424
|
||||
1ec3b0acdbcd99941c889e41e997e61e charmaps/IBM437
|
||||
c4472e9815e61c39586a51ae60a13e4e charmaps/IBM500
|
||||
634e54bc22ec929c4a9782e0437e4ed3 charmaps/IBM850
|
||||
f58eac70d307cc4a242f33a93ddbf99a charmaps/IBM851
|
||||
2e65788cf6f20256b6cbd3f9f1584ab0 charmaps/IBM852
|
||||
3945e5dcd7088ce2deed5399fccf8464 charmaps/IBM855
|
||||
9b6d2ea97443ffd9925455efaad1dede charmaps/IBM857
|
||||
e01be3d125620dc75439fa2e3b608636 charmaps/IBM860
|
||||
28166b8677342cda155574d5c3f223fe charmaps/IBM861
|
||||
9c0af519221ec94358866e2608fe91f8 charmaps/IBM862
|
||||
98d2001523bb39c9532979b4df6ad326 charmaps/IBM863
|
||||
deb6bde660b73869e87174bec7ba27dc charmaps/IBM864
|
||||
f58ccd68d1019be24883064012d00b9b charmaps/IBM865
|
||||
d18990891c7f4beb67520dcaaa2ab94b charmaps/IBM868
|
||||
04c8bce968ed0b84a9facd22c4efde61 charmaps/IBM869
|
||||
711e343635c377f70561f2b8091a3b37 charmaps/IBM870
|
||||
6cb196018f85ea9ca94a59cadf5326c4 charmaps/IBM871
|
||||
f344024ec2efbc52d4985f676018da7f charmaps/IBM875
|
||||
02e6cae94ceaedeaf335157831251f91 charmaps/IBM880
|
||||
bfd57147762dfa155c9b0cb7e3caea16 charmaps/IBM891
|
||||
f46fdde76da7a47f73c79e4cfc7d6e54 charmaps/IBM903
|
||||
3f0f3fead1f82ceef5c5e175305a7088 charmaps/IBM904
|
||||
77af7f0a6d441433069cf1bc96babb88 charmaps/IBM905
|
||||
445c6202fdbe83c728a2dfe868732f02 charmaps/IBM918
|
||||
efe297def24e84feaa37856884dd829e charmaps/IEC_P27-1
|
||||
4badb4c8c58e1d30b540f5742f7e69bc charmaps/INIS
|
||||
9f3f79ab67a41ac29a93cfba31c5e2af charmaps/INIS-8
|
||||
88f6cdba3e3d1b858bd269f62123f8c0 charmaps/INIS-CYRILLIC
|
||||
44a7a7a18fe17c5eadaf24bf976da25e charmaps/INVARIANT
|
||||
8131fd60be71f5474823c96f8b3e1de3 charmaps/ISO_10367-BOX
|
||||
b71ed28fbb5d7d62d9f3a710a34a6df4 charmaps/ISO_10646
|
||||
bb31373cb7d39a205bae221e58f1d4a1 charmaps/ISO_2033-1983
|
||||
36644828d2f0db4119698984cff9fff0 charmaps/ISO_5427
|
||||
09aa0a2d88e51399bd1581dc6e2394ce charmaps/ISO_5427-EXT
|
||||
8afb96037ce01e4debf8df7dc4be5c57 charmaps/ISO_5428
|
||||
49b4677573bd28d794b71771cba51f2c charmaps/ISO_646.BASIC
|
||||
a4d959a49db1e8c9f40c406206560a46 charmaps/ISO_646.IRV
|
||||
8fff113e98ee8ca7244d96236cd9a9a4 charmaps/ISO_6937
|
||||
4b725c11b8acac218edb223a8fabe28c charmaps/ISO_6937-2-25
|
||||
21cbdcf9e505338eeff0aaecccb01d24 charmaps/ISO_6937-2-ADD
|
||||
1524185dff114b3f072cdde41b2757d9 charmaps/ISO-8859-1
|
||||
27b9c1e552f5fd0b27fc536f0fa95fa4 charmaps/ISO-8859-10
|
||||
37edf0c113b991fa03454c11efe7a604 charmaps/ISO-8859-2
|
||||
23f592d1c931fbae7aab787764ce4e13 charmaps/ISO-8859-3
|
||||
8da948413a01091eee9824a1acf8e9da charmaps/ISO-8859-4
|
||||
802615fe39f14271c9f6a9c7bbb6fefe charmaps/ISO-8859-5
|
||||
0ce863896fefabade74256df4d81504f charmaps/ISO-8859-6
|
||||
dbfbcb0cde6aca45dccc8e1fa3dbeccc charmaps/ISO-8859-7
|
||||
d202cea38f00eb9a64816e7471b4fba1 charmaps/ISO-8859-8
|
||||
0f2d28310846869627d4957ff7af7672 charmaps/ISO-8859-9
|
||||
0ff1cec843b556575348c403d1a44f5b charmaps/ISO_8859-SUPP
|
||||
e3d2b1067decd1b5a6db1e059458a663 charmaps/ISO-IR-90
|
||||
6c2093382e84d8304500816c0e6e9517 charmaps/IT
|
||||
85787bcfd8a57d23e444413454471f02 charmaps/JIS_C6220-1969-JP
|
||||
87c6ebd0c4aa8e298bc2b5f148e83ea1 charmaps/JIS_C6220-1969-RO
|
||||
246eb24242c02164520df418f2d963b0 charmaps/JIS_C6229-1984-A
|
||||
3bb35d7d629bc4f5c486051b4b2315e1 charmaps/JIS_C6229-1984-B
|
||||
cfaed7e9366ac0c053d1a6841a813bc3 charmaps/JIS_C6229-1984-B-ADD
|
||||
2f973a2199e6c70da93c17a55e726a70 charmaps/JIS_C6229-1984-HAND
|
||||
106feb69588f588bcb69f269a904cd5c charmaps/JIS_C6229-1984-HAND-ADD
|
||||
e5f0a57ea025f7a4d74e43ae5dd506b6 charmaps/JIS_C6229-1984-KANA
|
||||
53fefc27f5ab707f14e97a755e36a91c charmaps/JIS_X0201
|
||||
a99c92babdf549c9b8902d86ef6a99b4 charmaps/JUS_I.B1.002
|
||||
1ca9cd921efb2db125b3e408daee8720 charmaps/JUS_I.B1.003-MAC
|
||||
be91175d769b4817a28312d2a2162fe5 charmaps/JUS_I.B1.003-SERB
|
||||
da93a4e606e0ad840f25eaad48164d7d charmaps/KOI-8
|
||||
1623c0ffb000db9f365d2b1b695aac14 charmaps/KOI8-R
|
||||
a3209c513563672e6da7776d30ae6f03 charmaps/KSC5636
|
||||
40c613c89d8293a342dee656e155dc05 charmaps/LATIN-GREEK
|
||||
7c211fac48ca088792c29bbe943b0216 charmaps/LATIN-GREEK-1
|
||||
75f99e2c3282eb84c00ba39dda5495fb charmaps/MACINTOSH
|
||||
15ca1d6d67e5b92f2b597a2e2ac078ea charmaps/MAC-IS
|
||||
b869985c0d872c31ac1156c76c951b28 charmaps/MSZ_7795.3
|
||||
08aed8b910a6d892107bb8cdd71794f5 charmaps/NATS-DANO
|
||||
5abf5f2d900fcbc2ba555b1554424a98 charmaps/NATS-DANO-ADD
|
||||
7d60589127a94570e8b3f1281cd0e8eb charmaps/NATS-SEFI
|
||||
c32dc6d37dd5cf0a129c91f05a5b89e0 charmaps/NATS-SEFI-ADD
|
||||
6c83fd70b4f2d5301cc808e426e30e4e charmaps/NEXTSTEP
|
||||
441065ddef635bc15047c309b3f35951 charmaps/NF_Z_62-010
|
||||
d867bfe77c36b2d1aeecaa3f57d9d4e1 charmaps/NF_Z_62-010-1973
|
||||
018e57c7bd71e87a5e656abfe816a7f3 charmaps/NS_4551-1
|
||||
02b6dd2e3ca9d725fa1a170719fddfde charmaps/NS_4551-2
|
||||
aa63a528dd77226508543f05d083731a charmaps/PT
|
||||
682f1056b6275ddd149e25a358362ea0 charmaps/PT2
|
||||
9680704e24c31df79809b65a27bd071e charmaps/SAMI
|
||||
0aec6669370200f2b257438a600d221c charmaps/SEN_850200_B
|
||||
8d0de9fd47615c228c4464af3b02c397 charmaps/SEN_850200_C
|
||||
db3c60025eb80244d70bf7889f058055 charmaps/T.101-G2
|
||||
572baa84bd05d4b236b7e2fb211d0dfd charmaps/T.61-7BIT
|
||||
1e39e36aa7544014059b0aa8381ab051 charmaps/T.61-8BIT
|
||||
81c8e12a75dff4371ce82773d670cd6d charmaps/VIDEOTEX-SUPPL
|
||||
45ade09ead9fd385d58504bfc005ecab locales/da_DK
|
||||
249894e0554d46d1fbdae4a5fb8cc20e locales/de_AT
|
||||
b3628f73e00bb655a5e96bcc2331893c locales/de_BE
|
||||
e74bb8234af71907f2e53ef2e60d9f45 locales/de_CH
|
||||
b09f9fa150fb8c13b2a5ed17a3448241 locales/de_DE
|
||||
f9c522cf7d07e8020e4b723b29caf8d0 locales/de_LU
|
||||
df036d626c53c86c06231c1502e96fbb locales/en_CA
|
||||
84105524bf0eba76d4a32c3aac8d9a34 locales/en_CA,2.5
|
||||
f55dc7b52a0eb150bab63eef74651a0d locales/en_DK
|
||||
20946213e1c36e3650af5ddfc524bd35 locales/en_GB
|
||||
8f9daff1bd5b2a1332c5bcd54a8aed31 locales/en_IE
|
||||
566209c74fefc01c3c5752b2f5eae667 locales/en_US
|
||||
847fbfac1565c5babea6d6b831bd5242 locales/es_ES
|
||||
732fd15661f8c081e5b43de94832cfc4 locales/et_EE
|
||||
df1e697015f3f3b572231aa9ba07633d locales/eu_ES
|
||||
bda978c8b0e379d57a8599edfdb2e858 locales/fi_FI
|
||||
a25300033ea6c619a4e15051f14aa65e locales/fo_FO
|
||||
02ca55b19338f94530f0b60999638ed4 locales/fr_BE
|
||||
655c7b8713b9aad20014df2c27928cb7 locales/fr_CA
|
||||
8e60885c3fda81bc7773f139657974f3 locales/fr_CA,2.13
|
||||
8a76a0e3ea2923367fdbab78a6bc67cb locales/fr_CA,2.13.orig
|
||||
19403a5cd69a9ad658b173859eb022ef locales/fr_CH
|
||||
48d8981b117e72c5eb2e9c181cbd7d2b locales/fr_FR
|
||||
cc1b77cf4cdc4488a99637e730e0f57f locales/fr_LU
|
||||
1987b72e766038b0f475165c994d1469 locales/ga_IE
|
||||
be2ef06fd9a4b4def515216972fe9250 locales/gr_GR
|
||||
9e2de7fe4b41f9bad952cdc5bfd77cd4 locales/hr_HR
|
||||
7f35d03bbe29b53831674704f8b307af locales/hu_HU
|
||||
1a8b95f6663b7a99703a32c6135d8896 locales/is_IS
|
||||
47620dbc36bf3ffe04b32dd16b7aae3c locales/it_IT
|
||||
f02aa03e057d170058cf0a2d606db09b locales/iw_IL
|
||||
5fa2bc3b08e08cb7f4da2851a7b21f05 locales/kl_GL
|
||||
d5394568c45886788becf67b54bc916e locales/lt_LT
|
||||
9239bf9149845fde73e6324eced3964c locales/lv_LV
|
||||
456f00456ce2e883460aba53e1093c2d locales/nl_BE
|
||||
e71081f29649cfd4ac8563ae1f7932fa locales/nl_NL
|
||||
3a0720088defd80baa0623990c6d196a locales/no_NO
|
||||
6d1bb18d4271cd712e5dc24eec4706b9 locales/pl_PL
|
||||
b07ce7e57dda4687f2a83cd5ec79a3e0 locales/POSIX
|
||||
509fc74fdd394f6876358d357f955645 locales/pt_BR
|
||||
7c2463bcee68bccde3145642a34a8ef1 locales/pt_PT
|
||||
32c766f85eb82823856485e5802dce19 locales/ro_RO
|
||||
8d407ed28a435f58c18b52dc48a3593e locales/ru_RU
|
||||
56af541b88929e9660f30306bd55c4a9 locales/sl_SI
|
||||
a59a08e2288391bc0882068def61d366 locales/sv_FI
|
||||
cc6d1db9e6bb9165429a0be9f46a2c79 locales/sv_SE
|
||||
7f6c0e878f709be0b933ad05100e168c locales/tr_TR
|
||||
@@ -0,0 +1,33 @@
|
||||
1997-03-17 03:32 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sort-test.sh: Call localedef with additional environment variable
|
||||
I18NPATH to point to not-yet-installed locale data files.
|
||||
|
||||
* locales/POSIX: Updated version from maintainer.
|
||||
|
||||
1997-02-15 14:32 15:10 Andreas Jaeger <aj@arthur.pfalz.de>
|
||||
|
||||
* collate-test.c (main): Change prototype definition to prevent
|
||||
warning.
|
||||
|
||||
1997-02-15 17:46 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* locales/de_DE: Include real collation data. It's similar to the
|
||||
en_DK information but the order of small and capital characters is
|
||||
exchanged.
|
||||
|
||||
* collate-test.c: New file. Test suite for strcoll function.
|
||||
* de_DE.in: Input file for collation test.
|
||||
* da_DK.in: Likewise.
|
||||
|
||||
* xfrm-test.c: New file. Test suite for strxfrm function.
|
||||
|
||||
1996-12-10 02:47 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* All charmaps: Fix entries for <quotation-mark>.
|
||||
|
||||
1996-10-17 18:57 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* Makefile (charmaps): Don't try to install CVS or RCS directory.
|
||||
(locales): Likewise.
|
||||
Reported by Matthias Urlichs.
|
||||
@@ -0,0 +1,53 @@
|
||||
# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
# This file is part of the GNU C Library.
|
||||
|
||||
# The GNU C Library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library 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 C Library 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
|
||||
# Library 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.
|
||||
|
||||
# Makefile for installing locale data source files.
|
||||
|
||||
subdir := localedata
|
||||
|
||||
all: # Make this the default target; it will be defined in Rules.
|
||||
|
||||
# List with all available character set descriptions.
|
||||
charmaps := $(filter-out $(addprefix charmaps/, CVS RCS %~), \
|
||||
$(wildcard charmaps/*))
|
||||
|
||||
# List with all available character set descriptions.
|
||||
locales := $(filter-out $(addprefix locales/, CVS RCS %~), \
|
||||
$(wildcard locales/*))
|
||||
|
||||
test-srcs := collate-test xfrm-test
|
||||
test-input := de_DE.ISO-8859-1 da_DK.ISO-8859-1 fr_CA,2.13.ISO-8859-1
|
||||
|
||||
|
||||
# Get $(inst_i18ndir) defined.
|
||||
include ../Makeconfig
|
||||
|
||||
# Files to install.
|
||||
install-others := $(addprefix $(inst_i18ndir)/, $(charmaps) $(locales))
|
||||
|
||||
include ../Rules
|
||||
|
||||
# Install the message object files as libc.po in the language directory.
|
||||
$(inst_i18ndir)/charmaps/%: charmaps/%; $(do-install)
|
||||
$(inst_i18ndir)/locales/%: locales/%; $(do-install)
|
||||
|
||||
|
||||
ifeq (no,$(cross-compiling))
|
||||
tests: $(objpfx)collate-test $(objpfx)xfrm-test
|
||||
$(SHELL) -e sort-test.sh $(common-objpfx) $(test-input)
|
||||
endif
|
||||
@@ -0,0 +1,99 @@
|
||||
POSIX locale descriptions
|
||||
and
|
||||
POSIX character set descriptions
|
||||
|
||||
Ulrich Drepper Time-stamp: <1997/02/12 22:13:01 drepper>
|
||||
drepper@cygnus.com
|
||||
|
||||
|
||||
This add-on package contains the data needed to build the locale data
|
||||
files to use the internationalization features of the GNU libc.
|
||||
|
||||
POSIX.2 describes the `localedef' utility which is part of the GNU libc.
|
||||
You need this program to "compile" the locale description in a form
|
||||
suitable for fast access by the GNU libc functions. Any compilation is
|
||||
based on a given character set.
|
||||
|
||||
To use these data files you should add the name of this add-on
|
||||
(localedata) to the list of add-on you specify while compiling the GNU
|
||||
libc:
|
||||
|
||||
configure --enable-add-ons=...,localedata ...
|
||||
|
||||
where ... are the options you normally choose. Once you run `make
|
||||
install' for the GNU libc the data files are automatically installed in
|
||||
the right place, ready for use by the `localedef' program.
|
||||
|
||||
|
||||
To compile the locale data files you simply have to decide which locale
|
||||
(based on the location and the language) and which character set you
|
||||
use. E.g., French speaking Canadians would use the locale `fr_CA' and
|
||||
the character set `ISO_8859-1,1987'. Calling `localedef' to get the
|
||||
desired data should happen like this:
|
||||
|
||||
localedef -i fr_CA -f ISO-8859-1 fr_CA
|
||||
|
||||
This will place the 6 output files in the appropriate directory where
|
||||
the GNU libc functions can find them. Please note that you need the
|
||||
rights to write to this directory ($(prefix)/share/locale, where
|
||||
$(prefix) is the value you specified while configuring GNU libc). If
|
||||
you do not have the necessary rights, you can write the files into an
|
||||
arbitrary directory by giving a path including a '/' character instead
|
||||
of `fr_CA'. E.g., to put the new files in a subdirectory of the
|
||||
current directory simply use
|
||||
|
||||
localedef -i fr_CA -f ISO-8859-1 ./fr_CA
|
||||
|
||||
How to use these data files is described in the GNU libc manual,
|
||||
especially in the section describing the `setlocale' function.
|
||||
|
||||
|
||||
The here contained files can originally be found at
|
||||
|
||||
ftp://dkuug.dk/i18n/WG15-collection
|
||||
|
||||
Keld Jörn Simonsen from the Danish Unix User Group maintains this
|
||||
archive on behalf of the POSIX working groups. When you find some wrong
|
||||
data or want to add something please contact
|
||||
|
||||
Keld Jörn Simonsen <keld@dkuug.dk>
|
||||
and
|
||||
Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
Please make sure your corrections are relativ to the originally
|
||||
distributed files. Consult the CHECKSUMS file which contains the MD5
|
||||
sums for all data files.
|
||||
|
||||
|
||||
One more note: the `POSIX' locale definition is not meant to be used
|
||||
as an input file for `localedef'. It is rather there to show the
|
||||
values with are built in the libc binaries as default values when no
|
||||
legal locale is found or the "C" or "POSIX" locale is selected.
|
||||
|
||||
|
||||
The collation test suite
|
||||
########################
|
||||
|
||||
This package also contains a (beginning of a) test suite for the
|
||||
collation functions in the GNU libc. The files are provided sorted.
|
||||
The test program shuffles the lines and sort them afterwards.
|
||||
|
||||
Some of the files are provided in 8bit form, i.e., not only ASCII
|
||||
characters. So the tools you use to process the files should be 8bit
|
||||
clean.
|
||||
|
||||
To run the test program the appropriate locale information must be
|
||||
installed. Therefore the localedef program is used to generate this
|
||||
data used the locale and charmap description files contained here.
|
||||
Since we cannot run the localedef program in case of cross-compilation
|
||||
no tests at all are performed.
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Local Variables:
|
||||
mode:text
|
||||
eval:(load-library "time-stamp")
|
||||
eval:(make-local-variable 'write-file-hooks)
|
||||
eval:(add-hook 'write-file-hooks 'time-stamp)
|
||||
eval:(setq time-stamp-format '(time-stamp-yyyy/mm/dd time-stamp-hh:mm:ss user-login-name))
|
||||
End:
|
||||
@@ -0,0 +1,2 @@
|
||||
The charmaps/ directory contains charmaps for coded character sets which
|
||||
contains the portable POSIX character repertoire.
|
||||
@@ -0,0 +1,509 @@
|
||||
<code_set_name> ANSI_X3.110-1983
|
||||
<comment_char> %
|
||||
<escape_char> /
|
||||
% source: ECMA registry
|
||||
|
||||
% alias ISO-IR-99
|
||||
% alias CSA_T500-1983
|
||||
% alias NAPLPS
|
||||
CHARMAP
|
||||
<NU> /x00 <U0000> NULL (NUL)
|
||||
<SH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<SX> /x02 <U0002> START OF TEXT (STX)
|
||||
<EX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<EQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<BL> /x07 <U0007> BELL (BEL)
|
||||
<BS> /x08 <U0008> BACKSPACE (BS)
|
||||
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<LF> /x0A <U000A> LINE FEED (LF)
|
||||
<VT> /x0B <U000B> LINE TABULATION (VT)
|
||||
<FF> /x0C <U000C> FORM FEED (FF)
|
||||
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<SO> /x0E <U000E> SHIFT OUT (SO)
|
||||
<SI> /x0F <U000F> SHIFT IN (SI)
|
||||
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CN> /x18 <U0018> CANCEL (CAN)
|
||||
<EM> /x19 <U0019> END OF MEDIUM (EM)
|
||||
<SB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<EC> /x1B <U001B> ESCAPE (ESC)
|
||||
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<SP> /x20 <U0020> SPACE
|
||||
<!> /x21 <U0021> EXCLAMATION MARK
|
||||
<"> /x22 <U0022> QUOTATION MARK
|
||||
<%> /x25 <U0025> PERCENT SIGN
|
||||
<&> /x26 <U0026> AMPERSAND
|
||||
<'> /x27 <U0027> APOSTROPHE
|
||||
<(> /x28 <U0028> LEFT PARENTHESIS
|
||||
<)> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<*> /x2A <U002A> ASTERISK
|
||||
<+> /x2B <U002B> PLUS SIGN
|
||||
<,> /x2C <U002C> COMMA
|
||||
<-> /x2D <U002D> HYPHEN-MINUS
|
||||
<.> /x2E <U002E> FULL STOP
|
||||
<//> /x2F <U002F> SOLIDUS
|
||||
<0> /x30 <U0030> DIGIT ZERO
|
||||
<1> /x31 <U0031> DIGIT ONE
|
||||
<2> /x32 <U0032> DIGIT TWO
|
||||
<3> /x33 <U0033> DIGIT THREE
|
||||
<4> /x34 <U0034> DIGIT FOUR
|
||||
<5> /x35 <U0035> DIGIT FIVE
|
||||
<6> /x36 <U0036> DIGIT SIX
|
||||
<7> /x37 <U0037> DIGIT SEVEN
|
||||
<8> /x38 <U0038> DIGIT EIGHT
|
||||
<9> /x39 <U0039> DIGIT NINE
|
||||
<:> /x3A <U003A> COLON
|
||||
<;> /x3B <U003B> SEMICOLON
|
||||
<<> /x3C <U003C> LESS-THAN SIGN
|
||||
<=> /x3D <U003D> EQUALS SIGN
|
||||
</>> /x3E <U003E> GREATER-THAN SIGN
|
||||
<?> /x3F <U003F> QUESTION MARK
|
||||
<At> /x40 <U0040> COMMERCIAL AT
|
||||
<A> /x41 <U0041> LATIN CAPITAL LETTER A
|
||||
<B> /x42 <U0042> LATIN CAPITAL LETTER B
|
||||
<C> /x43 <U0043> LATIN CAPITAL LETTER C
|
||||
<D> /x44 <U0044> LATIN CAPITAL LETTER D
|
||||
<E> /x45 <U0045> LATIN CAPITAL LETTER E
|
||||
<F> /x46 <U0046> LATIN CAPITAL LETTER F
|
||||
<G> /x47 <U0047> LATIN CAPITAL LETTER G
|
||||
<H> /x48 <U0048> LATIN CAPITAL LETTER H
|
||||
<I> /x49 <U0049> LATIN CAPITAL LETTER I
|
||||
<J> /x4A <U004A> LATIN CAPITAL LETTER J
|
||||
<K> /x4B <U004B> LATIN CAPITAL LETTER K
|
||||
<L> /x4C <U004C> LATIN CAPITAL LETTER L
|
||||
<M> /x4D <U004D> LATIN CAPITAL LETTER M
|
||||
<N> /x4E <U004E> LATIN CAPITAL LETTER N
|
||||
<O> /x4F <U004F> LATIN CAPITAL LETTER O
|
||||
<P> /x50 <U0050> LATIN CAPITAL LETTER P
|
||||
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
|
||||
<R> /x52 <U0052> LATIN CAPITAL LETTER R
|
||||
<S> /x53 <U0053> LATIN CAPITAL LETTER S
|
||||
<T> /x54 <U0054> LATIN CAPITAL LETTER T
|
||||
<U> /x55 <U0055> LATIN CAPITAL LETTER U
|
||||
<V> /x56 <U0056> LATIN CAPITAL LETTER V
|
||||
<W> /x57 <U0057> LATIN CAPITAL LETTER W
|
||||
<X> /x58 <U0058> LATIN CAPITAL LETTER X
|
||||
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
|
||||
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
|
||||
<<(> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<////> /x5C <U005C> REVERSE SOLIDUS
|
||||
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<_> /x5F <U005F> LOW LINE
|
||||
<'!> /x60 <U0060> GRAVE ACCENT
|
||||
<a> /x61 <U0061> LATIN SMALL LETTER A
|
||||
<b> /x62 <U0062> LATIN SMALL LETTER B
|
||||
<c> /x63 <U0063> LATIN SMALL LETTER C
|
||||
<d> /x64 <U0064> LATIN SMALL LETTER D
|
||||
<e> /x65 <U0065> LATIN SMALL LETTER E
|
||||
<f> /x66 <U0066> LATIN SMALL LETTER F
|
||||
<g> /x67 <U0067> LATIN SMALL LETTER G
|
||||
<h> /x68 <U0068> LATIN SMALL LETTER H
|
||||
<i> /x69 <U0069> LATIN SMALL LETTER I
|
||||
<j> /x6A <U006A> LATIN SMALL LETTER J
|
||||
<k> /x6B <U006B> LATIN SMALL LETTER K
|
||||
<l> /x6C <U006C> LATIN SMALL LETTER L
|
||||
<m> /x6D <U006D> LATIN SMALL LETTER M
|
||||
<n> /x6E <U006E> LATIN SMALL LETTER N
|
||||
<o> /x6F <U006F> LATIN SMALL LETTER O
|
||||
<p> /x70 <U0070> LATIN SMALL LETTER P
|
||||
<q> /x71 <U0071> LATIN SMALL LETTER Q
|
||||
<r> /x72 <U0072> LATIN SMALL LETTER R
|
||||
<s> /x73 <U0073> LATIN SMALL LETTER S
|
||||
<t> /x74 <U0074> LATIN SMALL LETTER T
|
||||
<u> /x75 <U0075> LATIN SMALL LETTER U
|
||||
<v> /x76 <U0076> LATIN SMALL LETTER V
|
||||
<w> /x77 <U0077> LATIN SMALL LETTER W
|
||||
<x> /x78 <U0078> LATIN SMALL LETTER X
|
||||
<y> /x79 <U0079> LATIN SMALL LETTER Y
|
||||
<z> /x7A <U007A> LATIN SMALL LETTER Z
|
||||
<(!> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<!!> /x7C <U007C> VERTICAL LINE
|
||||
<!)> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<'?> /x7E <U007E> TILDE
|
||||
<DT> /x7F <U007F> DELETE (DEL)
|
||||
<PA> /x80 <U0080> PADDING CHARACTER (PAD)
|
||||
<HO> /x81 <U0081> HIGH OCTET PRESET (HOP)
|
||||
<BH> /x82 <U0082> BREAK PERMITTED HERE (BPH)
|
||||
<NH> /x83 <U0083> NO BREAK HERE (NBH)
|
||||
<IN> /x84 <U0084> INDEX (IND)
|
||||
<NL> /x85 <U0085> NEXT LINE (NEL)
|
||||
<SA> /x86 <U0086> START OF SELECTED AREA (SSA)
|
||||
<ES> /x87 <U0087> END OF SELECTED AREA (ESA)
|
||||
<HS> /x88 <U0088> CHARACTER TABULATION SET (HTS)
|
||||
<HJ> /x89 <U0089> CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
|
||||
<VS> /x8A <U008A> LINE TABULATION SET (VTS)
|
||||
<PD> /x8B <U008B> PARTIAL LINE FORWARD (PLD)
|
||||
<PU> /x8C <U008C> PARTIAL LINE BACKWARD (PLU)
|
||||
<RI> /x8D <U008D> REVERSE LINE FEED (RI)
|
||||
<S2> /x8E <U008E> SINGLE-SHIFT TWO (SS2)
|
||||
<S3> /x8F <U008F> SINGLE-SHIFT THREE (SS3)
|
||||
<DC> /x90 <U0090> DEVICE CONTROL STRING (DCS)
|
||||
<P1> /x91 <U0091> PRIVATE USE ONE (PU1)
|
||||
<P2> /x92 <U0092> PRIVATE USE TWO (PU2)
|
||||
<TS> /x93 <U0093> SET TRANSMIT STATE (STS)
|
||||
<CC> /x94 <U0094> CANCEL CHARACTER (CCH)
|
||||
<MW> /x95 <U0095> MESSAGE WAITING (MW)
|
||||
<SG> /x96 <U0096> START OF GUARDED AREA (SPA)
|
||||
<EG> /x97 <U0097> END OF GUARDED AREA (EPA)
|
||||
<SS> /x98 <U0098> START OF STRING (SOS)
|
||||
<GC> /x99 <U0099> SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
|
||||
<SC> /x9A <U009A> SINGLE CHARACTER INTRODUCER (SCI)
|
||||
<CI> /x9B <U009B> CONTROL SEQUENCE INTRODUCER (CSI)
|
||||
<ST> /x9C <U009C> STRING TERMINATOR (ST)
|
||||
<OC> /x9D <U009D> OPERATING SYSTEM COMMAND (OSC)
|
||||
<PM> /x9E <U009E> PRIVACY MESSAGE (PM)
|
||||
<AC> /x9F <U009F> APPLICATION PROGRAM COMMAND (APC)
|
||||
<!I> /xA1 <U00A1> INVERTED EXCLAMATION MARK
|
||||
<Ct> /xA2 <U00A2> CENT SIGN
|
||||
<Pd> /xA3 <U00A3> POUND SIGN
|
||||
<DO> /xA4 <U0024> DOLLAR SIGN
|
||||
<Ye> /xA5 <U00A5> YEN SIGN
|
||||
<Nb> /xA6 <U0023> NUMBER SIGN
|
||||
<SE> /xA7 <U00A7> SECTION SIGN
|
||||
<Cu> /xA8 <U00A4> CURRENCY SIGN
|
||||
<'6> /xA9 <U2018> LEFT SINGLE QUOTATION MARK
|
||||
<"6> /xAA <U201C> LEFT DOUBLE QUOTATION MARK
|
||||
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<<-> /xAC <U2190> LEFTWARDS ARROW
|
||||
<-!> /xAD <U2191> UPWARDS ARROW
|
||||
<-/>> /xAE <U2192> RIGHTWARDS ARROW
|
||||
<-v> /xAF <U2193> DOWNWARDS ARROW
|
||||
<DG> /xB0 <U00B0> DEGREE SIGN
|
||||
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
|
||||
<2S> /xB2 <U00B2> SUPERSCRIPT TWO
|
||||
<3S> /xB3 <U00B3> SUPERSCRIPT THREE
|
||||
<*X> /xB4 <U00D7> MULTIPLICATION SIGN
|
||||
<My> /xB5 <U00B5> MICRO SIGN
|
||||
<PI> /xB6 <U00B6> PILCROW SIGN
|
||||
<.M> /xB7 <U00B7> MIDDLE DOT
|
||||
<-:> /xB8 <U00F7> DIVISION SIGN
|
||||
<'9> /xB9 <U2019> RIGHT SINGLE QUOTATION MARK
|
||||
<"9> /xBA <U201D> RIGHT DOUBLE QUOTATION MARK
|
||||
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<14> /xBC <U00BC> VULGAR FRACTION ONE QUARTER
|
||||
<12> /xBD <U00BD> VULGAR FRACTION ONE HALF
|
||||
<34> /xBE <U00BE> VULGAR FRACTION THREE QUARTERS
|
||||
<?I> /xBF <U00BF> INVERTED QUESTION MARK
|
||||
<"!> /xC1 <UE002> NON-SPACING GRAVE ACCENT <ISO-IR-103_C1> (not a real character)
|
||||
<"'> /xC2 <UE003> NON-SPACING ACUTE ACCENT <ISO-IR-103_C2> (not a real character)
|
||||
<"/>> /xC3 <UE004> NON-SPACING CIRCUMFLEX ACCENT <ISO-IR-103_C3> (not a real character)
|
||||
<"?> /xC4 <UE005> NON-SPACING TILDE <ISO-IR-103_C4> (not a real character)
|
||||
<"-> /xC5 <UE006> NON-SPACING MACRON <ISO-IR-103_C5> (not a real character)
|
||||
<"(> /xC6 <UE007> NON-SPACING BREVE <ISO-IR-103_C6> (not a real character)
|
||||
<".> /xC7 <UE008> NON-SPACING DOT ABOVE <ISO-IR-103_C7> (not a real character)
|
||||
<":> /xC8 <UE009> NON-SPACING DIAERESIS <ISO-IR-103_C8> (not a real character)
|
||||
<"//> /xC9 <UE011> NON-SPACING LONG SOLIDUS OVERLAY <ISO-IR-128_C9> (not a real character)
|
||||
<"0> /xCA <UE00A> NON-SPACING RING ABOVE <ISO-IR-103_CA> (not a real character)
|
||||
<",> /xCB <UE00B> NON-SPACING CEDILLA <ISO-IR-103_CB> (not a real character)
|
||||
<"_> /xCC <UE00C> NON-SPACING LOW LINE <ISO-IR-103_CC> (not a real character)
|
||||
<""> /xCD <UE00D> NON-SPACING DOUBLE ACCUTE ACCENT <ISO-IR-103_CD> (not a real character)
|
||||
<";> /xCE <UE00E> NON-SPACING OGONEK <ISO-IR-103_CE> (not a real character)
|
||||
<"<> /xCF <UE00F> NON-SPACING CARON <ISO-IR-103_CF> (not a real character)
|
||||
<-M> /xD0 <U2014> EM DASH
|
||||
<1S> /xD1 <U00B9> SUPERSCRIPT ONE
|
||||
<Rg> /xD2 <U00AE> REGISTERED SIGN
|
||||
<Co> /xD3 <U00A9> COPYRIGHT SIGN
|
||||
<TM> /xD4 <U2122> TRADE MARK SIGN
|
||||
<M8> /xD5 <U266A> EIGHTH NOTE
|
||||
<hh> /xD6 <U2500> BOX DRAWINGS LIGHT HORIZONTAL
|
||||
<vv> /xD7 <U2502> BOX DRAWINGS LIGHT VERTICAL
|
||||
<FD> /xD8 <U2571> BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
|
||||
<BD> /xD9 <U2572> BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
|
||||
<Fd> /xDA <U25E2> BLACK LOWER RIGHT TRIANGLE
|
||||
<Bd> /xDB <U25E3> BLACK LOWER LEFT TRIANGLE
|
||||
<18> /xDC <U215B> VULGAR FRACTION ONE EIGHTH
|
||||
<38> /xDD <U215C> VULGAR FRACTION THREE EIGHTHS
|
||||
<58> /xDE <U215D> VULGAR FRACTION FIVE EIGHTHS
|
||||
<78> /xDF <U215E> VULGAR FRACTION SEVEN EIGHTHS
|
||||
<Om> /xE0 <U2126> OHM SIGN
|
||||
<AE> /xE1 <U00C6> LATIN CAPITAL LETTER AE
|
||||
<D-> /xE2 <U00D0> LATIN CAPITAL LETTER ETH (Icelandic)
|
||||
<-a> /xE3 <U00AA> FEMININE ORDINAL INDICATOR
|
||||
<H//> /xE4 <U0126> LATIN CAPITAL LETTER H WITH STROKE
|
||||
<vh> /xE5 <U253C> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
|
||||
<IJ> /xE6 <U0132> LATIN CAPITAL LIGATURE IJ
|
||||
<L.> /xE7 <U013F> LATIN CAPITAL LETTER L WITH MIDDLE DOT
|
||||
<L//> /xE8 <U0141> LATIN CAPITAL LETTER L WITH STROKE
|
||||
<O//> /xE9 <U00D8> LATIN CAPITAL LETTER O WITH STROKE
|
||||
<OE> /xEA <U0152> LATIN CAPITAL LIGATURE OE
|
||||
<-o> /xEB <U00BA> MASCULINE ORDINAL INDICATOR
|
||||
<TH> /xEC <U00DE> LATIN CAPITAL LETTER THORN (Icelandic)
|
||||
<T//> /xED <U0166> LATIN CAPITAL LETTER T WITH STROKE
|
||||
<NG> /xEE <U014A> LATIN CAPITAL LETTER ENG (Sami)
|
||||
<'n> /xEF <U0149> LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
|
||||
<kk> /xF0 <U0138> LATIN SMALL LETTER KRA (Greenlandic)
|
||||
<ae> /xF1 <U00E6> LATIN SMALL LETTER AE
|
||||
<d//> /xF2 <U0111> LATIN SMALL LETTER D WITH STROKE
|
||||
<d-> /xF3 <U00F0> LATIN SMALL LETTER ETH (Icelandic)
|
||||
<h//> /xF4 <U0127> LATIN SMALL LETTER H WITH STROKE
|
||||
<i.> /xF5 <U0131> LATIN SMALL LETTER DOTLESS I
|
||||
<ij> /xF6 <U0133> LATIN SMALL LIGATURE IJ
|
||||
<l.> /xF7 <U0140> LATIN SMALL LETTER L WITH MIDDLE DOT
|
||||
<l//> /xF8 <U0142> LATIN SMALL LETTER L WITH STROKE
|
||||
<o//> /xF9 <U00F8> LATIN SMALL LETTER O WITH STROKE
|
||||
<oe> /xFA <U0153> LATIN SMALL LIGATURE OE
|
||||
<ss> /xFB <U00DF> LATIN SMALL LETTER SHARP S (German)
|
||||
<th> /xFC <U00FE> LATIN SMALL LETTER THORN (Icelandic)
|
||||
<t//> /xFD <U0167> LATIN SMALL LETTER T WITH STROKE
|
||||
<ng> /xFE <U014B> LATIN SMALL LETTER ENG (Sami)
|
||||
<''> /xC2/x20 <U00B4> ACUTE ACCENT
|
||||
<a'> /xC2/x61 <U00E1> LATIN SMALL LETTER A WITH ACUTE
|
||||
<A'> /xC2/x41 <U00C1> LATIN CAPITAL LETTER A WITH ACUTE
|
||||
<e'> /xC2/x65 <U00E9> LATIN SMALL LETTER E WITH ACUTE
|
||||
<E'> /xC2/x45 <U00C9> LATIN CAPITAL LETTER E WITH ACUTE
|
||||
<i'> /xC2/x69 <U00ED> LATIN SMALL LETTER I WITH ACUTE
|
||||
<I'> /xC2/x49 <U00CD> LATIN CAPITAL LETTER I WITH ACUTE
|
||||
<o'> /xC2/x6F <U00F3> LATIN SMALL LETTER O WITH ACUTE
|
||||
<O'> /xC2/x4F <U00D3> LATIN CAPITAL LETTER O WITH ACUTE
|
||||
<u'> /xC2/x75 <U00FA> LATIN SMALL LETTER U WITH ACUTE
|
||||
<U'> /xC2/x55 <U00DA> LATIN CAPITAL LETTER U WITH ACUTE
|
||||
<y'> /xC2/x79 <U00FD> LATIN SMALL LETTER Y WITH ACUTE
|
||||
<Y'> /xC2/x59 <U00DD> LATIN CAPITAL LETTER Y WITH ACUTE
|
||||
<c'> /xC2/x63 <U0107> LATIN SMALL LETTER C WITH ACUTE
|
||||
<C'> /xC2/x43 <U0106> LATIN CAPITAL LETTER C WITH ACUTE
|
||||
<l'> /xC2/x6C <U013A> LATIN SMALL LETTER L WITH ACUTE
|
||||
<L'> /xC2/x4C <U0139> LATIN CAPITAL LETTER L WITH ACUTE
|
||||
<n'> /xC2/x6E <U0144> LATIN SMALL LETTER N WITH ACUTE
|
||||
<N'> /xC2/x4E <U0143> LATIN CAPITAL LETTER N WITH ACUTE
|
||||
<r'> /xC2/x72 <U0155> LATIN SMALL LETTER R WITH ACUTE
|
||||
<R'> /xC2/x52 <U0154> LATIN CAPITAL LETTER R WITH ACUTE
|
||||
<s'> /xC2/x73 <U015B> LATIN SMALL LETTER S WITH ACUTE
|
||||
<S'> /xC2/x53 <U015A> LATIN CAPITAL LETTER S WITH ACUTE
|
||||
<z'> /xC2/x7A <U017A> LATIN SMALL LETTER Z WITH ACUTE
|
||||
<Z'> /xC2/x5A <U0179> LATIN CAPITAL LETTER Z WITH ACUTE
|
||||
<'(> /xC6/x20 <U02D8> BREVE
|
||||
<a(> /xC6/x61 <U0103> LATIN SMALL LETTER A WITH BREVE
|
||||
<A(> /xC6/x41 <U0102> LATIN CAPITAL LETTER A WITH BREVE
|
||||
<g(> /xC6/x67 <U011F> LATIN SMALL LETTER G WITH BREVE
|
||||
<G(> /xC6/x47 <U011E> LATIN CAPITAL LETTER G WITH BREVE
|
||||
<u(> /xC6/x75 <U016D> LATIN SMALL LETTER U WITH BREVE
|
||||
<U(> /xC6/x55 <U016C> LATIN CAPITAL LETTER U WITH BREVE
|
||||
<'<> /xCF/x20 <U02C7> CARON (Mandarin Chinese third tone)
|
||||
<c<> /xCF/x63 <U010D> LATIN SMALL LETTER C WITH CARON
|
||||
<C<> /xCF/x43 <U010C> LATIN CAPITAL LETTER C WITH CARON
|
||||
<d<> /xCF/x64 <U010F> LATIN SMALL LETTER D WITH CARON
|
||||
<D<> /xCF/x44 <U010E> LATIN CAPITAL LETTER D WITH CARON
|
||||
<e<> /xCF/x65 <U011B> LATIN SMALL LETTER E WITH CARON
|
||||
<E<> /xCF/x45 <U011A> LATIN CAPITAL LETTER E WITH CARON
|
||||
<l<> /xCF/x6C <U013E> LATIN SMALL LETTER L WITH CARON
|
||||
<L<> /xCF/x4C <U013D> LATIN CAPITAL LETTER L WITH CARON
|
||||
<n<> /xCF/x6E <U0148> LATIN SMALL LETTER N WITH CARON
|
||||
<N<> /xCF/x4E <U0147> LATIN CAPITAL LETTER N WITH CARON
|
||||
<r<> /xCF/x72 <U0159> LATIN SMALL LETTER R WITH CARON
|
||||
<R<> /xCF/x52 <U0158> LATIN CAPITAL LETTER R WITH CARON
|
||||
<s<> /xCF/x73 <U0161> LATIN SMALL LETTER S WITH CARON
|
||||
<S<> /xCF/x53 <U0160> LATIN CAPITAL LETTER S WITH CARON
|
||||
<t<> /xCF/x74 <U0165> LATIN SMALL LETTER T WITH CARON
|
||||
<T<> /xCF/x54 <U0164> LATIN CAPITAL LETTER T WITH CARON
|
||||
<z<> /xCF/x7A <U017E> LATIN SMALL LETTER Z WITH CARON
|
||||
<Z<> /xCF/x5A <U017D> LATIN CAPITAL LETTER Z WITH CARON
|
||||
<',> /xCB/x20 <U00B8> CEDILLA
|
||||
<c,> /xCB/x63 <U00E7> LATIN SMALL LETTER C WITH CEDILLA
|
||||
<C,> /xCB/x43 <U00C7> LATIN CAPITAL LETTER C WITH CEDILLA
|
||||
<g,> /xCB/x67 <U0123> LATIN SMALL LETTER G WITH CEDILLA
|
||||
<G,> /xCB/x47 <U0122> LATIN CAPITAL LETTER G WITH CEDILLA
|
||||
<k,> /xCB/x6B <U0137> LATIN SMALL LETTER K WITH CEDILLA
|
||||
<K,> /xCB/x4B <U0136> LATIN CAPITAL LETTER K WITH CEDILLA
|
||||
<l,> /xCB/x6C <U013C> LATIN SMALL LETTER L WITH CEDILLA
|
||||
<L,> /xCB/x4C <U013B> LATIN CAPITAL LETTER L WITH CEDILLA
|
||||
<n,> /xCB/x6E <U0146> LATIN SMALL LETTER N WITH CEDILLA
|
||||
<N,> /xCB/x4E <U0145> LATIN CAPITAL LETTER N WITH CEDILLA
|
||||
<r,> /xCB/x72 <U0157> LATIN SMALL LETTER R WITH CEDILLA
|
||||
<R,> /xCB/x52 <U0156> LATIN CAPITAL LETTER R WITH CEDILLA
|
||||
<s,> /xCB/x73 <U015F> LATIN SMALL LETTER S WITH CEDILLA
|
||||
<S,> /xCB/x53 <U015E> LATIN CAPITAL LETTER S WITH CEDILLA
|
||||
<t,> /xCB/x74 <U0163> LATIN SMALL LETTER T WITH CEDILLA
|
||||
<T,> /xCB/x54 <U0162> LATIN CAPITAL LETTER T WITH CEDILLA
|
||||
<a/>> /xC3/x61 <U00E2> LATIN SMALL LETTER A WITH CIRCUMFLEX
|
||||
<A/>> /xC3/x41 <U00C2> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
|
||||
<e/>> /xC3/x65 <U00EA> LATIN SMALL LETTER E WITH CIRCUMFLEX
|
||||
<E/>> /xC3/x45 <U00CA> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
|
||||
<i/>> /xC3/x69 <U00EE> LATIN SMALL LETTER I WITH CIRCUMFLEX
|
||||
<I/>> /xC3/x49 <U00CE> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
|
||||
<o/>> /xC3/x6F <U00F4> LATIN SMALL LETTER O WITH CIRCUMFLEX
|
||||
<O/>> /xC3/x4F <U00D4> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
|
||||
<u/>> /xC3/x75 <U00FB> LATIN SMALL LETTER U WITH CIRCUMFLEX
|
||||
<U/>> /xC3/x55 <U00DB> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
|
||||
<y/>> /xC3/x79 <U0177> LATIN SMALL LETTER Y WITH CIRCUMFLEX
|
||||
<Y/>> /xC3/x59 <U0176> LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
|
||||
<c/>> /xC3/x63 <U0109> LATIN SMALL LETTER C WITH CIRCUMFLEX
|
||||
<C/>> /xC3/x43 <U0108> LATIN CAPITAL LETTER C WITH CIRCUMFLEX
|
||||
<g/>> /xC3/x67 <U011D> LATIN SMALL LETTER G WITH CIRCUMFLEX
|
||||
<G/>> /xC3/x47 <U011C> LATIN CAPITAL LETTER G WITH CIRCUMFLEX
|
||||
<h/>> /xC3/x68 <U0125> LATIN SMALL LETTER H WITH CIRCUMFLEX
|
||||
<H/>> /xC3/x48 <U0124> LATIN CAPITAL LETTER H WITH CIRCUMFLEX
|
||||
<j/>> /xC3/x6A <U0135> LATIN SMALL LETTER J WITH CIRCUMFLEX
|
||||
<J/>> /xC3/x4A <U0134> LATIN CAPITAL LETTER J WITH CIRCUMFLEX
|
||||
<s/>> /xC3/x73 <U015D> LATIN SMALL LETTER S WITH CIRCUMFLEX
|
||||
<S/>> /xC3/x53 <U015C> LATIN CAPITAL LETTER S WITH CIRCUMFLEX
|
||||
<w/>> /xC3/x77 <U0175> LATIN SMALL LETTER W WITH CIRCUMFLEX
|
||||
<W/>> /xC3/x57 <U0174> LATIN CAPITAL LETTER W WITH CIRCUMFLEX
|
||||
<':> /xC8/x20 <U00A8> DIAERESIS
|
||||
<a:> /xC8/x61 <U00E4> LATIN SMALL LETTER A WITH DIAERESIS
|
||||
<A:> /xC8/x41 <U00C4> LATIN CAPITAL LETTER A WITH DIAERESIS
|
||||
<e:> /xC8/x65 <U00EB> LATIN SMALL LETTER E WITH DIAERESIS
|
||||
<E:> /xC8/x45 <U00CB> LATIN CAPITAL LETTER E WITH DIAERESIS
|
||||
<i:> /xC8/x69 <U00EF> LATIN SMALL LETTER I WITH DIAERESIS
|
||||
<I:> /xC8/x49 <U00CF> LATIN CAPITAL LETTER I WITH DIAERESIS
|
||||
<o:> /xC8/x6F <U00F6> LATIN SMALL LETTER O WITH DIAERESIS
|
||||
<O:> /xC8/x4F <U00D6> LATIN CAPITAL LETTER O WITH DIAERESIS
|
||||
<u:> /xC8/x75 <U00FC> LATIN SMALL LETTER U WITH DIAERESIS
|
||||
<U:> /xC8/x55 <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS
|
||||
<y:> /xC8/x79 <U00FF> LATIN SMALL LETTER Y WITH DIAERESIS
|
||||
<Y:> /xC8/x59 <U0178> LATIN CAPITAL LETTER Y WITH DIAERESIS
|
||||
<'.> /xC7/x20 <U02D9> DOT ABOVE (Mandarin Chinese light tone)
|
||||
<c.> /xC7/x63 <U010B> LATIN SMALL LETTER C WITH DOT ABOVE
|
||||
<C.> /xC7/x43 <U010A> LATIN CAPITAL LETTER C WITH DOT ABOVE
|
||||
<e.> /xC7/x65 <U0117> LATIN SMALL LETTER E WITH DOT ABOVE
|
||||
<E.> /xC7/x45 <U0116> LATIN CAPITAL LETTER E WITH DOT ABOVE
|
||||
<g.> /xC7/x67 <U0121> LATIN SMALL LETTER G WITH DOT ABOVE
|
||||
<G.> /xC7/x47 <U0120> LATIN CAPITAL LETTER G WITH DOT ABOVE
|
||||
<I.> /xC7/x49 <U0130> LATIN CAPITAL LETTER I WITH DOT ABOVE
|
||||
<z.> /xC7/x7A <U017C> LATIN SMALL LETTER Z WITH DOT ABOVE
|
||||
<Z.> /xC7/x5A <U017B> LATIN CAPITAL LETTER Z WITH DOT ABOVE
|
||||
<'"> /xCD/x20 <U02DD> DOUBLE ACUTE ACCENT
|
||||
<o"> /xCD/x6F <U0151> LATIN SMALL LETTER O WITH DOUBLE ACUTE
|
||||
<O"> /xCD/x4F <U0150> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
|
||||
<u"> /xCD/x75 <U0171> LATIN SMALL LETTER U WITH DOUBLE ACUTE
|
||||
<U"> /xCD/x55 <U0170> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
|
||||
<a!> /xC1/x61 <U00E0> LATIN SMALL LETTER A WITH GRAVE
|
||||
<A!> /xC1/x41 <U00C0> LATIN CAPITAL LETTER A WITH GRAVE
|
||||
<e!> /xC1/x65 <U00E8> LATIN SMALL LETTER E WITH GRAVE
|
||||
<E!> /xC1/x45 <U00C8> LATIN CAPITAL LETTER E WITH GRAVE
|
||||
<i!> /xC1/x69 <U00EC> LATIN SMALL LETTER I WITH GRAVE
|
||||
<I!> /xC1/x49 <U00CC> LATIN CAPITAL LETTER I WITH GRAVE
|
||||
<o!> /xC1/x6F <U00F2> LATIN SMALL LETTER O WITH GRAVE
|
||||
<O!> /xC1/x4F <U00D2> LATIN CAPITAL LETTER O WITH GRAVE
|
||||
<u!> /xC1/x75 <U00F9> LATIN SMALL LETTER U WITH GRAVE
|
||||
<U!> /xC1/x55 <U00D9> LATIN CAPITAL LETTER U WITH GRAVE
|
||||
<'m> /xC5/x20 <U00AF> MACRON
|
||||
<a-> /xC5/x61 <U0101> LATIN SMALL LETTER A WITH MACRON
|
||||
<A-> /xC5/x41 <U0100> LATIN CAPITAL LETTER A WITH MACRON
|
||||
<e-> /xC5/x65 <U0113> LATIN SMALL LETTER E WITH MACRON
|
||||
<E-> /xC5/x45 <U0112> LATIN CAPITAL LETTER E WITH MACRON
|
||||
<i-> /xC5/x69 <U012B> LATIN SMALL LETTER I WITH MACRON
|
||||
<I-> /xC5/x49 <U012A> LATIN CAPITAL LETTER I WITH MACRON
|
||||
<o-> /xC5/x6F <U014D> LATIN SMALL LETTER O WITH MACRON
|
||||
<O-> /xC5/x4F <U014C> LATIN CAPITAL LETTER O WITH MACRON
|
||||
<u-> /xC5/x75 <U016B> LATIN SMALL LETTER U WITH MACRON
|
||||
<U-> /xC5/x55 <U016A> LATIN CAPITAL LETTER U WITH MACRON
|
||||
<';> /xCE/x20 <U02DB> OGONEK
|
||||
<a;> /xCE/x61 <U0105> LATIN SMALL LETTER A WITH OGONEK
|
||||
<A;> /xCE/x41 <U0104> LATIN CAPITAL LETTER A WITH OGONEK
|
||||
<e;> /xCE/x65 <U0119> LATIN SMALL LETTER E WITH OGONEK
|
||||
<E;> /xCE/x45 <U0118> LATIN CAPITAL LETTER E WITH OGONEK
|
||||
<i;> /xCE/x69 <U012F> LATIN SMALL LETTER I WITH OGONEK
|
||||
<I;> /xCE/x49 <U012E> LATIN CAPITAL LETTER I WITH OGONEK
|
||||
<u;> /xCE/x75 <U0173> LATIN SMALL LETTER U WITH OGONEK
|
||||
<U;> /xCE/x55 <U0172> LATIN CAPITAL LETTER U WITH OGONEK
|
||||
<'0> /xCA/x20 <U02DA> RING ABOVE
|
||||
<aa> /xCA/x61 <U00E5> LATIN SMALL LETTER A WITH RING ABOVE
|
||||
<AA> /xCA/x41 <U00C5> LATIN CAPITAL LETTER A WITH RING ABOVE
|
||||
<u0> /xCA/x75 <U016F> LATIN SMALL LETTER U WITH RING ABOVE
|
||||
<U0> /xCA/x55 <U016E> LATIN CAPITAL LETTER U WITH RING ABOVE
|
||||
<a?> /xC4/x61 <U00E3> LATIN SMALL LETTER A WITH TILDE
|
||||
<A?> /xC4/x41 <U00C3> LATIN CAPITAL LETTER A WITH TILDE
|
||||
<n?> /xC4/x6E <U00F1> LATIN SMALL LETTER N WITH TILDE
|
||||
<N?> /xC4/x4E <U00D1> LATIN CAPITAL LETTER N WITH TILDE
|
||||
<i?> /xC4/x69 <U0129> LATIN SMALL LETTER I WITH TILDE
|
||||
<I?> /xC4/x49 <U0128> LATIN CAPITAL LETTER I WITH TILDE
|
||||
<o?> /xC4/x6F <U00F5> LATIN SMALL LETTER O WITH TILDE
|
||||
<O?> /xC4/x4F <U00D5> LATIN CAPITAL LETTER O WITH TILDE
|
||||
<u?> /xC4/x75 <U0169> LATIN SMALL LETTER U WITH TILDE
|
||||
<U?> /xC4/x55 <U0168> LATIN CAPITAL LETTER U WITH TILDE
|
||||
<NUL> /x00 <U0000> NUL
|
||||
<SOH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<STX> /x02 <U0002> START OF TEXT (STX)
|
||||
<ETX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<alert> /x07 <U0007> BELL (BEL)
|
||||
<BEL> /x07 <U0007> BELL (BEL)
|
||||
<backspace> /x08 <U0008> BACKSPACE (BS)
|
||||
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<newline> /x0A <U000A> LINE FEED (LF)
|
||||
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
|
||||
<form-feed> /x0C <U000C> FORM FEED (FF)
|
||||
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CAN> /x18 <U0018> CANCEL (CAN)
|
||||
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<ESC> /x1B <U001B> ESCAPE (ESC)
|
||||
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<DEL> /x7F <U007F> DELETE (DEL)
|
||||
<space> /x20 <U0020> SPACE
|
||||
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
|
||||
<quotation-mark> /x22 <U0022> QUOTATION MARK
|
||||
<number-sign> /xA6 <U0023> NUMBER SIGN
|
||||
<dollar-sign> /xA4 <U0024> DOLLAR SIGN
|
||||
<percent-sign> /x25 <U0025> PERCENT SIGN
|
||||
<ampersand> /x26 <U0026> AMPERSAND
|
||||
<apostrophe> /x27 <U0027> APOSTROPHE
|
||||
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
|
||||
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<asterisk> /x2A <U002A> ASTERISK
|
||||
<plus-sign> /x2B <U002B> PLUS SIGN
|
||||
<comma> /x2C <U002C> COMMA
|
||||
<hyphen> /x2D <U002D> HYPHEN-MINUS
|
||||
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
|
||||
<period> /x2E <U002E> FULL STOP
|
||||
<full-stop> /x2E <U002E> FULL STOP
|
||||
<slash> /x2F <U002F> SOLIDUS
|
||||
<solidus> /x2F <U002F> SOLIDUS
|
||||
<zero> /x30 <U0030> DIGIT ZERO
|
||||
<one> /x31 <U0031> DIGIT ONE
|
||||
<two> /x32 <U0032> DIGIT TWO
|
||||
<three> /x33 <U0033> DIGIT THREE
|
||||
<four> /x34 <U0034> DIGIT FOUR
|
||||
<five> /x35 <U0035> DIGIT FIVE
|
||||
<six> /x36 <U0036> DIGIT SIX
|
||||
<seven> /x37 <U0037> DIGIT SEVEN
|
||||
<eight> /x38 <U0038> DIGIT EIGHT
|
||||
<nine> /x39 <U0039> DIGIT NINE
|
||||
<colon> /x3A <U003A> COLON
|
||||
<semicolon> /x3B <U003B> SEMICOLON
|
||||
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
|
||||
<equals-sign> /x3D <U003D> EQUALS SIGN
|
||||
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
|
||||
<question-mark> /x3F <U003F> QUESTION MARK
|
||||
<commercial-at> /x40 <U0040> COMMERCIAL AT
|
||||
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<backslash> /x5C <U005C> REVERSE SOLIDUS
|
||||
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
|
||||
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<underscore> /x5F <U005F> LOW LINE
|
||||
<low-line> /x5F <U005F> LOW LINE
|
||||
<grave-accent> /x60 <U0060> GRAVE ACCENT
|
||||
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<vertical-line> /x7C <U007C> VERTICAL LINE
|
||||
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<tilde> /x7E <U007E> TILDE
|
||||
END CHARMAP
|
||||
@@ -0,0 +1,227 @@
|
||||
<code_set_name> ANSI_X3.4-1968
|
||||
<comment_char> %
|
||||
<escape_char> /
|
||||
% source: ECMA registry
|
||||
|
||||
% alias ISO-IR-6
|
||||
% alias ANSI_X3.4-1986
|
||||
% alias ISO_646.IRV:1991
|
||||
% alias ASCII
|
||||
% alias ISO646-US
|
||||
% alias US-ASCII
|
||||
% alias US
|
||||
% alias IBM367
|
||||
% alias CP367
|
||||
CHARMAP
|
||||
<NU> /x00 <U0000> NULL (NUL)
|
||||
<SH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<SX> /x02 <U0002> START OF TEXT (STX)
|
||||
<EX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<EQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<BL> /x07 <U0007> BELL (BEL)
|
||||
<BS> /x08 <U0008> BACKSPACE (BS)
|
||||
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<LF> /x0A <U000A> LINE FEED (LF)
|
||||
<VT> /x0B <U000B> LINE TABULATION (VT)
|
||||
<FF> /x0C <U000C> FORM FEED (FF)
|
||||
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<SO> /x0E <U000E> SHIFT OUT (SO)
|
||||
<SI> /x0F <U000F> SHIFT IN (SI)
|
||||
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CN> /x18 <U0018> CANCEL (CAN)
|
||||
<EM> /x19 <U0019> END OF MEDIUM (EM)
|
||||
<SB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<EC> /x1B <U001B> ESCAPE (ESC)
|
||||
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<SP> /x20 <U0020> SPACE
|
||||
<!> /x21 <U0021> EXCLAMATION MARK
|
||||
<"> /x22 <U0022> QUOTATION MARK
|
||||
<Nb> /x23 <U0023> NUMBER SIGN
|
||||
<DO> /x24 <U0024> DOLLAR SIGN
|
||||
<%> /x25 <U0025> PERCENT SIGN
|
||||
<&> /x26 <U0026> AMPERSAND
|
||||
<'> /x27 <U0027> APOSTROPHE
|
||||
<(> /x28 <U0028> LEFT PARENTHESIS
|
||||
<)> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<*> /x2A <U002A> ASTERISK
|
||||
<+> /x2B <U002B> PLUS SIGN
|
||||
<,> /x2C <U002C> COMMA
|
||||
<-> /x2D <U002D> HYPHEN-MINUS
|
||||
<.> /x2E <U002E> FULL STOP
|
||||
<//> /x2F <U002F> SOLIDUS
|
||||
<0> /x30 <U0030> DIGIT ZERO
|
||||
<1> /x31 <U0031> DIGIT ONE
|
||||
<2> /x32 <U0032> DIGIT TWO
|
||||
<3> /x33 <U0033> DIGIT THREE
|
||||
<4> /x34 <U0034> DIGIT FOUR
|
||||
<5> /x35 <U0035> DIGIT FIVE
|
||||
<6> /x36 <U0036> DIGIT SIX
|
||||
<7> /x37 <U0037> DIGIT SEVEN
|
||||
<8> /x38 <U0038> DIGIT EIGHT
|
||||
<9> /x39 <U0039> DIGIT NINE
|
||||
<:> /x3A <U003A> COLON
|
||||
<;> /x3B <U003B> SEMICOLON
|
||||
<<> /x3C <U003C> LESS-THAN SIGN
|
||||
<=> /x3D <U003D> EQUALS SIGN
|
||||
</>> /x3E <U003E> GREATER-THAN SIGN
|
||||
<?> /x3F <U003F> QUESTION MARK
|
||||
<At> /x40 <U0040> COMMERCIAL AT
|
||||
<A> /x41 <U0041> LATIN CAPITAL LETTER A
|
||||
<B> /x42 <U0042> LATIN CAPITAL LETTER B
|
||||
<C> /x43 <U0043> LATIN CAPITAL LETTER C
|
||||
<D> /x44 <U0044> LATIN CAPITAL LETTER D
|
||||
<E> /x45 <U0045> LATIN CAPITAL LETTER E
|
||||
<F> /x46 <U0046> LATIN CAPITAL LETTER F
|
||||
<G> /x47 <U0047> LATIN CAPITAL LETTER G
|
||||
<H> /x48 <U0048> LATIN CAPITAL LETTER H
|
||||
<I> /x49 <U0049> LATIN CAPITAL LETTER I
|
||||
<J> /x4A <U004A> LATIN CAPITAL LETTER J
|
||||
<K> /x4B <U004B> LATIN CAPITAL LETTER K
|
||||
<L> /x4C <U004C> LATIN CAPITAL LETTER L
|
||||
<M> /x4D <U004D> LATIN CAPITAL LETTER M
|
||||
<N> /x4E <U004E> LATIN CAPITAL LETTER N
|
||||
<O> /x4F <U004F> LATIN CAPITAL LETTER O
|
||||
<P> /x50 <U0050> LATIN CAPITAL LETTER P
|
||||
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
|
||||
<R> /x52 <U0052> LATIN CAPITAL LETTER R
|
||||
<S> /x53 <U0053> LATIN CAPITAL LETTER S
|
||||
<T> /x54 <U0054> LATIN CAPITAL LETTER T
|
||||
<U> /x55 <U0055> LATIN CAPITAL LETTER U
|
||||
<V> /x56 <U0056> LATIN CAPITAL LETTER V
|
||||
<W> /x57 <U0057> LATIN CAPITAL LETTER W
|
||||
<X> /x58 <U0058> LATIN CAPITAL LETTER X
|
||||
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
|
||||
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
|
||||
<<(> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<////> /x5C <U005C> REVERSE SOLIDUS
|
||||
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<_> /x5F <U005F> LOW LINE
|
||||
<'!> /x60 <U0060> GRAVE ACCENT
|
||||
<a> /x61 <U0061> LATIN SMALL LETTER A
|
||||
<b> /x62 <U0062> LATIN SMALL LETTER B
|
||||
<c> /x63 <U0063> LATIN SMALL LETTER C
|
||||
<d> /x64 <U0064> LATIN SMALL LETTER D
|
||||
<e> /x65 <U0065> LATIN SMALL LETTER E
|
||||
<f> /x66 <U0066> LATIN SMALL LETTER F
|
||||
<g> /x67 <U0067> LATIN SMALL LETTER G
|
||||
<h> /x68 <U0068> LATIN SMALL LETTER H
|
||||
<i> /x69 <U0069> LATIN SMALL LETTER I
|
||||
<j> /x6A <U006A> LATIN SMALL LETTER J
|
||||
<k> /x6B <U006B> LATIN SMALL LETTER K
|
||||
<l> /x6C <U006C> LATIN SMALL LETTER L
|
||||
<m> /x6D <U006D> LATIN SMALL LETTER M
|
||||
<n> /x6E <U006E> LATIN SMALL LETTER N
|
||||
<o> /x6F <U006F> LATIN SMALL LETTER O
|
||||
<p> /x70 <U0070> LATIN SMALL LETTER P
|
||||
<q> /x71 <U0071> LATIN SMALL LETTER Q
|
||||
<r> /x72 <U0072> LATIN SMALL LETTER R
|
||||
<s> /x73 <U0073> LATIN SMALL LETTER S
|
||||
<t> /x74 <U0074> LATIN SMALL LETTER T
|
||||
<u> /x75 <U0075> LATIN SMALL LETTER U
|
||||
<v> /x76 <U0076> LATIN SMALL LETTER V
|
||||
<w> /x77 <U0077> LATIN SMALL LETTER W
|
||||
<x> /x78 <U0078> LATIN SMALL LETTER X
|
||||
<y> /x79 <U0079> LATIN SMALL LETTER Y
|
||||
<z> /x7A <U007A> LATIN SMALL LETTER Z
|
||||
<(!> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<!!> /x7C <U007C> VERTICAL LINE
|
||||
<!)> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<'?> /x7E <U007E> TILDE
|
||||
<DT> /x7F <U007F> DELETE (DEL)
|
||||
<NUL> /x00 <U0000> NUL
|
||||
<SOH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<STX> /x02 <U0002> START OF TEXT (STX)
|
||||
<ETX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<alert> /x07 <U0007> BELL (BEL)
|
||||
<BEL> /x07 <U0007> BELL (BEL)
|
||||
<backspace> /x08 <U0008> BACKSPACE (BS)
|
||||
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<newline> /x0A <U000A> LINE FEED (LF)
|
||||
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
|
||||
<form-feed> /x0C <U000C> FORM FEED (FF)
|
||||
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CAN> /x18 <U0018> CANCEL (CAN)
|
||||
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<ESC> /x1B <U001B> ESCAPE (ESC)
|
||||
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<DEL> /x7F <U007F> DELETE (DEL)
|
||||
<space> /x20 <U0020> SPACE
|
||||
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
|
||||
<quotation-mark> /x22 <U0022> QUOTATION MARK
|
||||
<number-sign> /x23 <U0023> NUMBER SIGN
|
||||
<dollar-sign> /x24 <U0024> DOLLAR SIGN
|
||||
<percent-sign> /x25 <U0025> PERCENT SIGN
|
||||
<ampersand> /x26 <U0026> AMPERSAND
|
||||
<apostrophe> /x27 <U0027> APOSTROPHE
|
||||
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
|
||||
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<asterisk> /x2A <U002A> ASTERISK
|
||||
<plus-sign> /x2B <U002B> PLUS SIGN
|
||||
<comma> /x2C <U002C> COMMA
|
||||
<hyphen> /x2D <U002D> HYPHEN-MINUS
|
||||
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
|
||||
<period> /x2E <U002E> FULL STOP
|
||||
<full-stop> /x2E <U002E> FULL STOP
|
||||
<slash> /x2F <U002F> SOLIDUS
|
||||
<solidus> /x2F <U002F> SOLIDUS
|
||||
<zero> /x30 <U0030> DIGIT ZERO
|
||||
<one> /x31 <U0031> DIGIT ONE
|
||||
<two> /x32 <U0032> DIGIT TWO
|
||||
<three> /x33 <U0033> DIGIT THREE
|
||||
<four> /x34 <U0034> DIGIT FOUR
|
||||
<five> /x35 <U0035> DIGIT FIVE
|
||||
<six> /x36 <U0036> DIGIT SIX
|
||||
<seven> /x37 <U0037> DIGIT SEVEN
|
||||
<eight> /x38 <U0038> DIGIT EIGHT
|
||||
<nine> /x39 <U0039> DIGIT NINE
|
||||
<colon> /x3A <U003A> COLON
|
||||
<semicolon> /x3B <U003B> SEMICOLON
|
||||
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
|
||||
<equals-sign> /x3D <U003D> EQUALS SIGN
|
||||
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
|
||||
<question-mark> /x3F <U003F> QUESTION MARK
|
||||
<commercial-at> /x40 <U0040> COMMERCIAL AT
|
||||
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<backslash> /x5C <U005C> REVERSE SOLIDUS
|
||||
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
|
||||
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<underscore> /x5F <U005F> LOW LINE
|
||||
<low-line> /x5F <U005F> LOW LINE
|
||||
<grave-accent> /x60 <U0060> GRAVE ACCENT
|
||||
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<vertical-line> /x7C <U007C> VERTICAL LINE
|
||||
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<tilde> /x7E <U007E> TILDE
|
||||
END CHARMAP
|
||||
@@ -0,0 +1,213 @@
|
||||
<code_set_name> ASMO_449
|
||||
<comment_char> %
|
||||
<escape_char> /
|
||||
% source: ECMA registry
|
||||
|
||||
% alias ISO_9036
|
||||
% alias ARABIC7
|
||||
% alias ISO-IR-89
|
||||
CHARMAP
|
||||
<NU> /x00 <U0000> NULL (NUL)
|
||||
<SH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<SX> /x02 <U0002> START OF TEXT (STX)
|
||||
<EX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<EQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<BL> /x07 <U0007> BELL (BEL)
|
||||
<BS> /x08 <U0008> BACKSPACE (BS)
|
||||
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<LF> /x0A <U000A> LINE FEED (LF)
|
||||
<VT> /x0B <U000B> LINE TABULATION (VT)
|
||||
<FF> /x0C <U000C> FORM FEED (FF)
|
||||
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<SO> /x0E <U000E> SHIFT OUT (SO)
|
||||
<SI> /x0F <U000F> SHIFT IN (SI)
|
||||
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CN> /x18 <U0018> CANCEL (CAN)
|
||||
<EM> /x19 <U0019> END OF MEDIUM (EM)
|
||||
<SB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<EC> /x1B <U001B> ESCAPE (ESC)
|
||||
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<SP> /x20 <U0020> SPACE
|
||||
<!> /x21 <U0021> EXCLAMATION MARK
|
||||
<"> /x22 <U0022> QUOTATION MARK
|
||||
<Nb> /x23 <U0023> NUMBER SIGN
|
||||
<Cu> /x24 <U00A4> CURRENCY SIGN
|
||||
<%> /x25 <U0025> PERCENT SIGN
|
||||
<&> /x26 <U0026> AMPERSAND
|
||||
<'> /x27 <U0027> APOSTROPHE
|
||||
<(> /x28 <U0028> LEFT PARENTHESIS
|
||||
<)> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<*> /x2A <U002A> ASTERISK
|
||||
<+> /x2B <U002B> PLUS SIGN
|
||||
<,+> /x2C <U060C> ARABIC COMMA
|
||||
<-> /x2D <U002D> HYPHEN-MINUS
|
||||
<.> /x2E <U002E> FULL STOP
|
||||
<//> /x2F <U002F> SOLIDUS
|
||||
<0> /x30 <U0030> DIGIT ZERO
|
||||
<1> /x31 <U0031> DIGIT ONE
|
||||
<2> /x32 <U0032> DIGIT TWO
|
||||
<3> /x33 <U0033> DIGIT THREE
|
||||
<4> /x34 <U0034> DIGIT FOUR
|
||||
<5> /x35 <U0035> DIGIT FIVE
|
||||
<6> /x36 <U0036> DIGIT SIX
|
||||
<7> /x37 <U0037> DIGIT SEVEN
|
||||
<8> /x38 <U0038> DIGIT EIGHT
|
||||
<9> /x39 <U0039> DIGIT NINE
|
||||
<:> /x3A <U003A> COLON
|
||||
<;+> /x3B <U061B> ARABIC SEMICOLON
|
||||
<<> /x3C <U003C> LESS-THAN SIGN
|
||||
<=> /x3D <U003D> EQUALS SIGN
|
||||
</>> /x3E <U003E> GREATER-THAN SIGN
|
||||
<?+> /x3F <U061F> ARABIC QUESTION MARK
|
||||
<At> /x40 <U0040> COMMERCIAL AT
|
||||
<H'> /x41 <U0621> ARABIC LETTER HAMZA
|
||||
<aM> /x42 <U0622> ARABIC LETTER ALEF WITH MADDA ABOVE
|
||||
<aH> /x43 <U0623> ARABIC LETTER ALEF WITH HAMZA ABOVE
|
||||
<wH> /x44 <U0624> ARABIC LETTER WAW WITH HAMZA ABOVE
|
||||
<ah> /x45 <U0625> ARABIC LETTER ALEF WITH HAMZA BELOW
|
||||
<yH> /x46 <U0626> ARABIC LETTER YEH WITH HAMZA ABOVE
|
||||
<a+> /x47 <U0627> ARABIC LETTER ALEF
|
||||
<b+> /x48 <U0628> ARABIC LETTER BEH
|
||||
<tm> /x49 <U0629> ARABIC LETTER TEH MARBUTA
|
||||
<t+> /x4A <U062A> ARABIC LETTER TEH
|
||||
<tk> /x4B <U062B> ARABIC LETTER THEH
|
||||
<g+> /x4C <U062C> ARABIC LETTER JEEM
|
||||
<hk> /x4D <U062D> ARABIC LETTER HAH
|
||||
<x+> /x4E <U062E> ARABIC LETTER KHAH
|
||||
<d+> /x4F <U062F> ARABIC LETTER DAL
|
||||
<dk> /x50 <U0630> ARABIC LETTER THAL
|
||||
<r+> /x51 <U0631> ARABIC LETTER REH
|
||||
<z+> /x52 <U0632> ARABIC LETTER ZAIN
|
||||
<s+> /x53 <U0633> ARABIC LETTER SEEN
|
||||
<sn> /x54 <U0634> ARABIC LETTER SHEEN
|
||||
<c+> /x55 <U0635> ARABIC LETTER SAD
|
||||
<dd> /x56 <U0636> ARABIC LETTER DAD
|
||||
<tj> /x57 <U0637> ARABIC LETTER TAH
|
||||
<zH> /x58 <U0638> ARABIC LETTER ZAH
|
||||
<e+> /x59 <U0639> ARABIC LETTER AIN
|
||||
<i+> /x5A <U063A> ARABIC LETTER GHAIN
|
||||
<<(> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<////> /x5C <U005C> REVERSE SOLIDUS
|
||||
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<_> /x5F <U005F> LOW LINE
|
||||
<++> /x60 <U0640> ARABIC TATWEEL
|
||||
<f+> /x61 <U0641> ARABIC LETTER FEH
|
||||
<q+> /x62 <U0642> ARABIC LETTER QAF
|
||||
<k+> /x63 <U0643> ARABIC LETTER KAF
|
||||
<l+> /x64 <U0644> ARABIC LETTER LAM
|
||||
<m+> /x65 <U0645> ARABIC LETTER MEEM
|
||||
<n+> /x66 <U0646> ARABIC LETTER NOON
|
||||
<h+> /x67 <U0647> ARABIC LETTER HEH
|
||||
<w+> /x68 <U0648> ARABIC LETTER WAW
|
||||
<j+> /x69 <U0649> ARABIC LETTER ALEF MAKSURA
|
||||
<y+> /x6A <U064A> ARABIC LETTER YEH
|
||||
<:+> /x6B <U064B> ARABIC FATHATAN
|
||||
<"+> /x6C <U064C> ARABIC DAMMATAN
|
||||
<=+> /x6D <U064D> ARABIC KASRATAN
|
||||
<//+> /x6E <U064E> ARABIC FATHA
|
||||
<'+> /x6F <U064F> ARABIC DAMMA
|
||||
<1+> /x70 <U0650> ARABIC KASRA
|
||||
<3+> /x71 <U0651> ARABIC SHADDA
|
||||
<0+> /x72 <U0652> ARABIC SUKUN
|
||||
<(!> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<!!> /x7C <U007C> VERTICAL LINE
|
||||
<!)> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<'-> /x7E <U203E> OVERLINE
|
||||
<DT> /x7F <U007F> DELETE (DEL)
|
||||
<NUL> /x00 <U0000> NUL
|
||||
<SOH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<STX> /x02 <U0002> START OF TEXT (STX)
|
||||
<ETX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<alert> /x07 <U0007> BELL (BEL)
|
||||
<BEL> /x07 <U0007> BELL (BEL)
|
||||
<backspace> /x08 <U0008> BACKSPACE (BS)
|
||||
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<newline> /x0A <U000A> LINE FEED (LF)
|
||||
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
|
||||
<form-feed> /x0C <U000C> FORM FEED (FF)
|
||||
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CAN> /x18 <U0018> CANCEL (CAN)
|
||||
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<ESC> /x1B <U001B> ESCAPE (ESC)
|
||||
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<DEL> /x7F <U007F> DELETE (DEL)
|
||||
<space> /x20 <U0020> SPACE
|
||||
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
|
||||
<quotation-mark> /x22 <U0022> QUOTATION MARK
|
||||
<number-sign> /x23 <U0023> NUMBER SIGN
|
||||
<dollar-sign> /x00 <U0024> DOLLAR SIGN
|
||||
<percent-sign> /x25 <U0025> PERCENT SIGN
|
||||
<ampersand> /x26 <U0026> AMPERSAND
|
||||
<apostrophe> /x27 <U0027> APOSTROPHE
|
||||
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
|
||||
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<asterisk> /x2A <U002A> ASTERISK
|
||||
<plus-sign> /x2B <U002B> PLUS SIGN
|
||||
<comma> /x00 <U002C> COMMA
|
||||
<hyphen> /x2D <U002D> HYPHEN-MINUS
|
||||
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
|
||||
<period> /x2E <U002E> FULL STOP
|
||||
<full-stop> /x2E <U002E> FULL STOP
|
||||
<slash> /x2F <U002F> SOLIDUS
|
||||
<solidus> /x2F <U002F> SOLIDUS
|
||||
<zero> /x30 <U0030> DIGIT ZERO
|
||||
<one> /x31 <U0031> DIGIT ONE
|
||||
<two> /x32 <U0032> DIGIT TWO
|
||||
<three> /x33 <U0033> DIGIT THREE
|
||||
<four> /x34 <U0034> DIGIT FOUR
|
||||
<five> /x35 <U0035> DIGIT FIVE
|
||||
<six> /x36 <U0036> DIGIT SIX
|
||||
<seven> /x37 <U0037> DIGIT SEVEN
|
||||
<eight> /x38 <U0038> DIGIT EIGHT
|
||||
<nine> /x39 <U0039> DIGIT NINE
|
||||
<colon> /x3A <U003A> COLON
|
||||
<semicolon> /x00 <U003B> SEMICOLON
|
||||
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
|
||||
<equals-sign> /x3D <U003D> EQUALS SIGN
|
||||
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
|
||||
<question-mark> /x00 <U003F> QUESTION MARK
|
||||
<commercial-at> /x40 <U0040> COMMERCIAL AT
|
||||
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<backslash> /x5C <U005C> REVERSE SOLIDUS
|
||||
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
|
||||
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<underscore> /x5F <U005F> LOW LINE
|
||||
<low-line> /x5F <U005F> LOW LINE
|
||||
<grave-accent> /x00 <U0060> GRAVE ACCENT
|
||||
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<vertical-line> /x7C <U007C> VERTICAL LINE
|
||||
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<tilde> /x00 <U007E> TILDE
|
||||
END CHARMAP
|
||||
@@ -0,0 +1,349 @@
|
||||
<code_set_name> BALTIC
|
||||
<comment_char> %
|
||||
<escape_char> /
|
||||
% source: ECMA registry
|
||||
|
||||
% &g1esc x2d56 &g2esc x2e56 &g3esc x2f56
|
||||
|
||||
% alias ISO-IR-179
|
||||
CHARMAP
|
||||
<NU> /x00 <U0000> NULL (NUL)
|
||||
<SH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<SX> /x02 <U0002> START OF TEXT (STX)
|
||||
<EX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<EQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<BL> /x07 <U0007> BELL (BEL)
|
||||
<BS> /x08 <U0008> BACKSPACE (BS)
|
||||
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<LF> /x0A <U000A> LINE FEED (LF)
|
||||
<VT> /x0B <U000B> LINE TABULATION (VT)
|
||||
<FF> /x0C <U000C> FORM FEED (FF)
|
||||
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<SO> /x0E <U000E> SHIFT OUT (SO)
|
||||
<SI> /x0F <U000F> SHIFT IN (SI)
|
||||
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CN> /x18 <U0018> CANCEL (CAN)
|
||||
<EM> /x19 <U0019> END OF MEDIUM (EM)
|
||||
<SB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<EC> /x1B <U001B> ESCAPE (ESC)
|
||||
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<SP> /x20 <U0020> SPACE
|
||||
<!> /x21 <U0021> EXCLAMATION MARK
|
||||
<"> /x22 <U0022> QUOTATION MARK
|
||||
<Nb> /x23 <U0023> NUMBER SIGN
|
||||
<DO> /x24 <U0024> DOLLAR SIGN
|
||||
<%> /x25 <U0025> PERCENT SIGN
|
||||
<&> /x26 <U0026> AMPERSAND
|
||||
<'> /x27 <U0027> APOSTROPHE
|
||||
<(> /x28 <U0028> LEFT PARENTHESIS
|
||||
<)> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<*> /x2A <U002A> ASTERISK
|
||||
<+> /x2B <U002B> PLUS SIGN
|
||||
<,> /x2C <U002C> COMMA
|
||||
<-> /x2D <U002D> HYPHEN-MINUS
|
||||
<.> /x2E <U002E> FULL STOP
|
||||
<//> /x2F <U002F> SOLIDUS
|
||||
<0> /x30 <U0030> DIGIT ZERO
|
||||
<1> /x31 <U0031> DIGIT ONE
|
||||
<2> /x32 <U0032> DIGIT TWO
|
||||
<3> /x33 <U0033> DIGIT THREE
|
||||
<4> /x34 <U0034> DIGIT FOUR
|
||||
<5> /x35 <U0035> DIGIT FIVE
|
||||
<6> /x36 <U0036> DIGIT SIX
|
||||
<7> /x37 <U0037> DIGIT SEVEN
|
||||
<8> /x38 <U0038> DIGIT EIGHT
|
||||
<9> /x39 <U0039> DIGIT NINE
|
||||
<:> /x3A <U003A> COLON
|
||||
<;> /x3B <U003B> SEMICOLON
|
||||
<<> /x3C <U003C> LESS-THAN SIGN
|
||||
<=> /x3D <U003D> EQUALS SIGN
|
||||
</>> /x3E <U003E> GREATER-THAN SIGN
|
||||
<?> /x3F <U003F> QUESTION MARK
|
||||
<At> /x40 <U0040> COMMERCIAL AT
|
||||
<A> /x41 <U0041> LATIN CAPITAL LETTER A
|
||||
<B> /x42 <U0042> LATIN CAPITAL LETTER B
|
||||
<C> /x43 <U0043> LATIN CAPITAL LETTER C
|
||||
<D> /x44 <U0044> LATIN CAPITAL LETTER D
|
||||
<E> /x45 <U0045> LATIN CAPITAL LETTER E
|
||||
<F> /x46 <U0046> LATIN CAPITAL LETTER F
|
||||
<G> /x47 <U0047> LATIN CAPITAL LETTER G
|
||||
<H> /x48 <U0048> LATIN CAPITAL LETTER H
|
||||
<I> /x49 <U0049> LATIN CAPITAL LETTER I
|
||||
<J> /x4A <U004A> LATIN CAPITAL LETTER J
|
||||
<K> /x4B <U004B> LATIN CAPITAL LETTER K
|
||||
<L> /x4C <U004C> LATIN CAPITAL LETTER L
|
||||
<M> /x4D <U004D> LATIN CAPITAL LETTER M
|
||||
<N> /x4E <U004E> LATIN CAPITAL LETTER N
|
||||
<O> /x4F <U004F> LATIN CAPITAL LETTER O
|
||||
<P> /x50 <U0050> LATIN CAPITAL LETTER P
|
||||
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
|
||||
<R> /x52 <U0052> LATIN CAPITAL LETTER R
|
||||
<S> /x53 <U0053> LATIN CAPITAL LETTER S
|
||||
<T> /x54 <U0054> LATIN CAPITAL LETTER T
|
||||
<U> /x55 <U0055> LATIN CAPITAL LETTER U
|
||||
<V> /x56 <U0056> LATIN CAPITAL LETTER V
|
||||
<W> /x57 <U0057> LATIN CAPITAL LETTER W
|
||||
<X> /x58 <U0058> LATIN CAPITAL LETTER X
|
||||
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
|
||||
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
|
||||
<<(> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<////> /x5C <U005C> REVERSE SOLIDUS
|
||||
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<_> /x5F <U005F> LOW LINE
|
||||
<'!> /x60 <U0060> GRAVE ACCENT
|
||||
<a> /x61 <U0061> LATIN SMALL LETTER A
|
||||
<b> /x62 <U0062> LATIN SMALL LETTER B
|
||||
<c> /x63 <U0063> LATIN SMALL LETTER C
|
||||
<d> /x64 <U0064> LATIN SMALL LETTER D
|
||||
<e> /x65 <U0065> LATIN SMALL LETTER E
|
||||
<f> /x66 <U0066> LATIN SMALL LETTER F
|
||||
<g> /x67 <U0067> LATIN SMALL LETTER G
|
||||
<h> /x68 <U0068> LATIN SMALL LETTER H
|
||||
<i> /x69 <U0069> LATIN SMALL LETTER I
|
||||
<j> /x6A <U006A> LATIN SMALL LETTER J
|
||||
<k> /x6B <U006B> LATIN SMALL LETTER K
|
||||
<l> /x6C <U006C> LATIN SMALL LETTER L
|
||||
<m> /x6D <U006D> LATIN SMALL LETTER M
|
||||
<n> /x6E <U006E> LATIN SMALL LETTER N
|
||||
<o> /x6F <U006F> LATIN SMALL LETTER O
|
||||
<p> /x70 <U0070> LATIN SMALL LETTER P
|
||||
<q> /x71 <U0071> LATIN SMALL LETTER Q
|
||||
<r> /x72 <U0072> LATIN SMALL LETTER R
|
||||
<s> /x73 <U0073> LATIN SMALL LETTER S
|
||||
<t> /x74 <U0074> LATIN SMALL LETTER T
|
||||
<u> /x75 <U0075> LATIN SMALL LETTER U
|
||||
<v> /x76 <U0076> LATIN SMALL LETTER V
|
||||
<w> /x77 <U0077> LATIN SMALL LETTER W
|
||||
<x> /x78 <U0078> LATIN SMALL LETTER X
|
||||
<y> /x79 <U0079> LATIN SMALL LETTER Y
|
||||
<z> /x7A <U007A> LATIN SMALL LETTER Z
|
||||
<(!> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<!!> /x7C <U007C> VERTICAL LINE
|
||||
<!)> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<'?> /x7E <U007E> TILDE
|
||||
<DT> /x7F <U007F> DELETE (DEL)
|
||||
<PA> /x80 <U0080> PADDING CHARACTER (PAD)
|
||||
<HO> /x81 <U0081> HIGH OCTET PRESET (HOP)
|
||||
<BH> /x82 <U0082> BREAK PERMITTED HERE (BPH)
|
||||
<NH> /x83 <U0083> NO BREAK HERE (NBH)
|
||||
<IN> /x84 <U0084> INDEX (IND)
|
||||
<NL> /x85 <U0085> NEXT LINE (NEL)
|
||||
<SA> /x86 <U0086> START OF SELECTED AREA (SSA)
|
||||
<ES> /x87 <U0087> END OF SELECTED AREA (ESA)
|
||||
<HS> /x88 <U0088> CHARACTER TABULATION SET (HTS)
|
||||
<HJ> /x89 <U0089> CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
|
||||
<VS> /x8A <U008A> LINE TABULATION SET (VTS)
|
||||
<PD> /x8B <U008B> PARTIAL LINE FORWARD (PLD)
|
||||
<PU> /x8C <U008C> PARTIAL LINE BACKWARD (PLU)
|
||||
<RI> /x8D <U008D> REVERSE LINE FEED (RI)
|
||||
<S2> /x8E <U008E> SINGLE-SHIFT TWO (SS2)
|
||||
<S3> /x8F <U008F> SINGLE-SHIFT THREE (SS3)
|
||||
<DC> /x90 <U0090> DEVICE CONTROL STRING (DCS)
|
||||
<P1> /x91 <U0091> PRIVATE USE ONE (PU1)
|
||||
<P2> /x92 <U0092> PRIVATE USE TWO (PU2)
|
||||
<TS> /x93 <U0093> SET TRANSMIT STATE (STS)
|
||||
<CC> /x94 <U0094> CANCEL CHARACTER (CCH)
|
||||
<MW> /x95 <U0095> MESSAGE WAITING (MW)
|
||||
<SG> /x96 <U0096> START OF GUARDED AREA (SPA)
|
||||
<EG> /x97 <U0097> END OF GUARDED AREA (EPA)
|
||||
<SS> /x98 <U0098> START OF STRING (SOS)
|
||||
<GC> /x99 <U0099> SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
|
||||
<SC> /x9A <U009A> SINGLE CHARACTER INTRODUCER (SCI)
|
||||
<CI> /x9B <U009B> CONTROL SEQUENCE INTRODUCER (CSI)
|
||||
<ST> /x9C <U009C> STRING TERMINATOR (ST)
|
||||
<OC> /x9D <U009D> OPERATING SYSTEM COMMAND (OSC)
|
||||
<PM> /x9E <U009E> PRIVACY MESSAGE (PM)
|
||||
<AC> /x9F <U009F> APPLICATION PROGRAM COMMAND (APC)
|
||||
<NS> /xA0 <U00A0> NO-BREAK SPACE
|
||||
<"9> /xA1 <U201D> RIGHT DOUBLE QUOTATION MARK
|
||||
<Ct> /xA2 <U00A2> CENT SIGN
|
||||
<Pd> /xA3 <U00A3> POUND SIGN
|
||||
<Cu> /xA4 <U00A4> CURRENCY SIGN
|
||||
<Ye> /xA5 <U00A5> YEN SIGN
|
||||
<BB> /xA6 <U00A6> BROKEN BAR
|
||||
<SE> /xA7 <U00A7> SECTION SIGN
|
||||
<O//> /xA8 <U00D8> LATIN CAPITAL LETTER O WITH STROKE
|
||||
<Co> /xA9 <U00A9> COPYRIGHT SIGN
|
||||
<:9> /xAA <U201E> DOUBLE LOW-9 QUOTATION MARK
|
||||
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<NO> /xAC <U00AC> NOT SIGN
|
||||
<--> /xAD <U00AD> SOFT HYPHEN
|
||||
<Rg> /xAE <U00AE> REGISTERED SIGN
|
||||
<AE> /xAF <U00C6> LATIN CAPITAL LETTER AE
|
||||
<DG> /xB0 <U00B0> DEGREE SIGN
|
||||
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
|
||||
<2S> /xB2 <U00B2> SUPERSCRIPT TWO
|
||||
<3S> /xB3 <U00B3> SUPERSCRIPT THREE
|
||||
<''> /xB4 <U00B4> ACUTE ACCENT
|
||||
<My> /xB5 <U00B5> MICRO SIGN
|
||||
<PI> /xB6 <U00B6> PILCROW SIGN
|
||||
<.M> /xB7 <U00B7> MIDDLE DOT
|
||||
<o//> /xB8 <U00F8> LATIN SMALL LETTER O WITH STROKE
|
||||
<1S> /xB9 <U00B9> SUPERSCRIPT ONE
|
||||
<"6> /xBA <U201C> LEFT DOUBLE QUOTATION MARK
|
||||
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<14> /xBC <U00BC> VULGAR FRACTION ONE QUARTER
|
||||
<12> /xBD <U00BD> VULGAR FRACTION ONE HALF
|
||||
<34> /xBE <U00BE> VULGAR FRACTION THREE QUARTERS
|
||||
<ae> /xBF <U00E6> LATIN SMALL LETTER AE
|
||||
<I;> /xC0 <U012E> LATIN CAPITAL LETTER I WITH OGONEK
|
||||
<E.> /xC1 <U0116> LATIN CAPITAL LETTER E WITH DOT ABOVE
|
||||
<A-> /xC2 <U0100> LATIN CAPITAL LETTER A WITH MACRON
|
||||
<C'> /xC3 <U0106> LATIN CAPITAL LETTER C WITH ACUTE
|
||||
<A:> /xC4 <U00C4> LATIN CAPITAL LETTER A WITH DIAERESIS
|
||||
<AA> /xC5 <U00C5> LATIN CAPITAL LETTER A WITH RING ABOVE
|
||||
<A;> /xC6 <U0104> LATIN CAPITAL LETTER A WITH OGONEK
|
||||
<C<> /xC7 <U010C> LATIN CAPITAL LETTER C WITH CARON
|
||||
<G,> /xC8 <U0122> LATIN CAPITAL LETTER G WITH CEDILLA
|
||||
<E'> /xC9 <U00C9> LATIN CAPITAL LETTER E WITH ACUTE
|
||||
<Z<> /xCA <U017D> LATIN CAPITAL LETTER Z WITH CARON
|
||||
<E;> /xCB <U0118> LATIN CAPITAL LETTER E WITH OGONEK
|
||||
<E-> /xCC <U0112> LATIN CAPITAL LETTER E WITH MACRON
|
||||
<K,> /xCD <U0136> LATIN CAPITAL LETTER K WITH CEDILLA
|
||||
<I-> /xCE <U012A> LATIN CAPITAL LETTER I WITH MACRON
|
||||
<L,> /xCF <U013B> LATIN CAPITAL LETTER L WITH CEDILLA
|
||||
<L//> /xD0 <U0141> LATIN CAPITAL LETTER L WITH STROKE
|
||||
<N,> /xD1 <U0145> LATIN CAPITAL LETTER N WITH CEDILLA
|
||||
<N'> /xD2 <U0143> LATIN CAPITAL LETTER N WITH ACUTE
|
||||
<O'> /xD3 <U00D3> LATIN CAPITAL LETTER O WITH ACUTE
|
||||
<O-> /xD4 <U014C> LATIN CAPITAL LETTER O WITH MACRON
|
||||
<O?> /xD5 <U00D5> LATIN CAPITAL LETTER O WITH TILDE
|
||||
<O:> /xD6 <U00D6> LATIN CAPITAL LETTER O WITH DIAERESIS
|
||||
<*X> /xD7 <U00D7> MULTIPLICATION SIGN
|
||||
<U;> /xD8 <U0172> LATIN CAPITAL LETTER U WITH OGONEK
|
||||
<S<> /xD9 <U0160> LATIN CAPITAL LETTER S WITH CARON
|
||||
<S'> /xDA <U015A> LATIN CAPITAL LETTER S WITH ACUTE
|
||||
<U-> /xDB <U016A> LATIN CAPITAL LETTER U WITH MACRON
|
||||
<U:> /xDC <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS
|
||||
<Z.> /xDD <U017B> LATIN CAPITAL LETTER Z WITH DOT ABOVE
|
||||
<Z'> /xDE <U0179> LATIN CAPITAL LETTER Z WITH ACUTE
|
||||
<ss> /xDF <U00DF> LATIN SMALL LETTER SHARP S (German)
|
||||
<i;> /xE0 <U012F> LATIN SMALL LETTER I WITH OGONEK
|
||||
<e.> /xE1 <U0117> LATIN SMALL LETTER E WITH DOT ABOVE
|
||||
<a-> /xE2 <U0101> LATIN SMALL LETTER A WITH MACRON
|
||||
<c'> /xE3 <U0107> LATIN SMALL LETTER C WITH ACUTE
|
||||
<a:> /xE4 <U00E4> LATIN SMALL LETTER A WITH DIAERESIS
|
||||
<aa> /xE5 <U00E5> LATIN SMALL LETTER A WITH RING ABOVE
|
||||
<a;> /xE6 <U0105> LATIN SMALL LETTER A WITH OGONEK
|
||||
<c<> /xE7 <U010D> LATIN SMALL LETTER C WITH CARON
|
||||
<g,> /xE8 <U0123> LATIN SMALL LETTER G WITH CEDILLA
|
||||
<e'> /xE9 <U00E9> LATIN SMALL LETTER E WITH ACUTE
|
||||
<z<> /xEA <U017E> LATIN SMALL LETTER Z WITH CARON
|
||||
<e;> /xEB <U0119> LATIN SMALL LETTER E WITH OGONEK
|
||||
<e-> /xEC <U0113> LATIN SMALL LETTER E WITH MACRON
|
||||
<k,> /xED <U0137> LATIN SMALL LETTER K WITH CEDILLA
|
||||
<i-> /xEE <U012B> LATIN SMALL LETTER I WITH MACRON
|
||||
<l,> /xEF <U013C> LATIN SMALL LETTER L WITH CEDILLA
|
||||
<l//> /xF0 <U0142> LATIN SMALL LETTER L WITH STROKE
|
||||
<n,> /xF1 <U0146> LATIN SMALL LETTER N WITH CEDILLA
|
||||
<n'> /xF2 <U0144> LATIN SMALL LETTER N WITH ACUTE
|
||||
<o'> /xF3 <U00F3> LATIN SMALL LETTER O WITH ACUTE
|
||||
<o-> /xF4 <U014D> LATIN SMALL LETTER O WITH MACRON
|
||||
<o?> /xF5 <U00F5> LATIN SMALL LETTER O WITH TILDE
|
||||
<o:> /xF6 <U00F6> LATIN SMALL LETTER O WITH DIAERESIS
|
||||
<-:> /xF7 <U00F7> DIVISION SIGN
|
||||
<u;> /xF8 <U0173> LATIN SMALL LETTER U WITH OGONEK
|
||||
<s<> /xF9 <U0161> LATIN SMALL LETTER S WITH CARON
|
||||
<s'> /xFA <U015B> LATIN SMALL LETTER S WITH ACUTE
|
||||
<u-> /xFB <U016B> LATIN SMALL LETTER U WITH MACRON
|
||||
<u:> /xFC <U00FC> LATIN SMALL LETTER U WITH DIAERESIS
|
||||
<z.> /xFD <U017C> LATIN SMALL LETTER Z WITH DOT ABOVE
|
||||
<z'> /xFE <U017A> LATIN SMALL LETTER Z WITH ACUTE
|
||||
<kk> /xFF <U0138> LATIN SMALL LETTER KRA (Greenlandic)
|
||||
<NUL> /x00 <U0000> NUL
|
||||
<SOH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<STX> /x02 <U0002> START OF TEXT (STX)
|
||||
<ETX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<alert> /x07 <U0007> BELL (BEL)
|
||||
<BEL> /x07 <U0007> BELL (BEL)
|
||||
<backspace> /x08 <U0008> BACKSPACE (BS)
|
||||
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<newline> /x0A <U000A> LINE FEED (LF)
|
||||
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
|
||||
<form-feed> /x0C <U000C> FORM FEED (FF)
|
||||
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CAN> /x18 <U0018> CANCEL (CAN)
|
||||
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<ESC> /x1B <U001B> ESCAPE (ESC)
|
||||
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<DEL> /x7F <U007F> DELETE (DEL)
|
||||
<space> /x20 <U0020> SPACE
|
||||
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
|
||||
<quotation-mark> /x22 <U0022> QUOTATION MARK
|
||||
<number-sign> /x23 <U0023> NUMBER SIGN
|
||||
<dollar-sign> /x24 <U0024> DOLLAR SIGN
|
||||
<percent-sign> /x25 <U0025> PERCENT SIGN
|
||||
<ampersand> /x26 <U0026> AMPERSAND
|
||||
<apostrophe> /x27 <U0027> APOSTROPHE
|
||||
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
|
||||
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<asterisk> /x2A <U002A> ASTERISK
|
||||
<plus-sign> /x2B <U002B> PLUS SIGN
|
||||
<comma> /x2C <U002C> COMMA
|
||||
<hyphen> /x2D <U002D> HYPHEN-MINUS
|
||||
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
|
||||
<period> /x2E <U002E> FULL STOP
|
||||
<full-stop> /x2E <U002E> FULL STOP
|
||||
<slash> /x2F <U002F> SOLIDUS
|
||||
<solidus> /x2F <U002F> SOLIDUS
|
||||
<zero> /x30 <U0030> DIGIT ZERO
|
||||
<one> /x31 <U0031> DIGIT ONE
|
||||
<two> /x32 <U0032> DIGIT TWO
|
||||
<three> /x33 <U0033> DIGIT THREE
|
||||
<four> /x34 <U0034> DIGIT FOUR
|
||||
<five> /x35 <U0035> DIGIT FIVE
|
||||
<six> /x36 <U0036> DIGIT SIX
|
||||
<seven> /x37 <U0037> DIGIT SEVEN
|
||||
<eight> /x38 <U0038> DIGIT EIGHT
|
||||
<nine> /x39 <U0039> DIGIT NINE
|
||||
<colon> /x3A <U003A> COLON
|
||||
<semicolon> /x3B <U003B> SEMICOLON
|
||||
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
|
||||
<equals-sign> /x3D <U003D> EQUALS SIGN
|
||||
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
|
||||
<question-mark> /x3F <U003F> QUESTION MARK
|
||||
<commercial-at> /x40 <U0040> COMMERCIAL AT
|
||||
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<backslash> /x5C <U005C> REVERSE SOLIDUS
|
||||
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
|
||||
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<underscore> /x5F <U005F> LOW LINE
|
||||
<low-line> /x5F <U005F> LOW LINE
|
||||
<grave-accent> /x60 <U0060> GRAVE ACCENT
|
||||
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<vertical-line> /x7C <U007C> VERTICAL LINE
|
||||
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<tilde> /x7E <U007E> TILDE
|
||||
END CHARMAP
|
||||
@@ -0,0 +1,222 @@
|
||||
<code_set_name> BS_4730
|
||||
<comment_char> %
|
||||
<escape_char> /
|
||||
% source: ECMA registry
|
||||
|
||||
% alias ISO-IR-4
|
||||
% alias ISO646-GB
|
||||
% alias GB
|
||||
% alias UK
|
||||
CHARMAP
|
||||
<NU> /x00 <U0000> NULL (NUL)
|
||||
<SH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<SX> /x02 <U0002> START OF TEXT (STX)
|
||||
<EX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<EQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<BL> /x07 <U0007> BELL (BEL)
|
||||
<BS> /x08 <U0008> BACKSPACE (BS)
|
||||
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<LF> /x0A <U000A> LINE FEED (LF)
|
||||
<VT> /x0B <U000B> LINE TABULATION (VT)
|
||||
<FF> /x0C <U000C> FORM FEED (FF)
|
||||
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<SO> /x0E <U000E> SHIFT OUT (SO)
|
||||
<SI> /x0F <U000F> SHIFT IN (SI)
|
||||
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CN> /x18 <U0018> CANCEL (CAN)
|
||||
<EM> /x19 <U0019> END OF MEDIUM (EM)
|
||||
<SB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<EC> /x1B <U001B> ESCAPE (ESC)
|
||||
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<SP> /x20 <U0020> SPACE
|
||||
<!> /x21 <U0021> EXCLAMATION MARK
|
||||
<"> /x22 <U0022> QUOTATION MARK
|
||||
<Pd> /x23 <U00A3> POUND SIGN
|
||||
<DO> /x24 <U0024> DOLLAR SIGN
|
||||
<%> /x25 <U0025> PERCENT SIGN
|
||||
<&> /x26 <U0026> AMPERSAND
|
||||
<'> /x27 <U0027> APOSTROPHE
|
||||
<(> /x28 <U0028> LEFT PARENTHESIS
|
||||
<)> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<*> /x2A <U002A> ASTERISK
|
||||
<+> /x2B <U002B> PLUS SIGN
|
||||
<,> /x2C <U002C> COMMA
|
||||
<-> /x2D <U002D> HYPHEN-MINUS
|
||||
<.> /x2E <U002E> FULL STOP
|
||||
<//> /x2F <U002F> SOLIDUS
|
||||
<0> /x30 <U0030> DIGIT ZERO
|
||||
<1> /x31 <U0031> DIGIT ONE
|
||||
<2> /x32 <U0032> DIGIT TWO
|
||||
<3> /x33 <U0033> DIGIT THREE
|
||||
<4> /x34 <U0034> DIGIT FOUR
|
||||
<5> /x35 <U0035> DIGIT FIVE
|
||||
<6> /x36 <U0036> DIGIT SIX
|
||||
<7> /x37 <U0037> DIGIT SEVEN
|
||||
<8> /x38 <U0038> DIGIT EIGHT
|
||||
<9> /x39 <U0039> DIGIT NINE
|
||||
<:> /x3A <U003A> COLON
|
||||
<;> /x3B <U003B> SEMICOLON
|
||||
<<> /x3C <U003C> LESS-THAN SIGN
|
||||
<=> /x3D <U003D> EQUALS SIGN
|
||||
</>> /x3E <U003E> GREATER-THAN SIGN
|
||||
<?> /x3F <U003F> QUESTION MARK
|
||||
<At> /x40 <U0040> COMMERCIAL AT
|
||||
<A> /x41 <U0041> LATIN CAPITAL LETTER A
|
||||
<B> /x42 <U0042> LATIN CAPITAL LETTER B
|
||||
<C> /x43 <U0043> LATIN CAPITAL LETTER C
|
||||
<D> /x44 <U0044> LATIN CAPITAL LETTER D
|
||||
<E> /x45 <U0045> LATIN CAPITAL LETTER E
|
||||
<F> /x46 <U0046> LATIN CAPITAL LETTER F
|
||||
<G> /x47 <U0047> LATIN CAPITAL LETTER G
|
||||
<H> /x48 <U0048> LATIN CAPITAL LETTER H
|
||||
<I> /x49 <U0049> LATIN CAPITAL LETTER I
|
||||
<J> /x4A <U004A> LATIN CAPITAL LETTER J
|
||||
<K> /x4B <U004B> LATIN CAPITAL LETTER K
|
||||
<L> /x4C <U004C> LATIN CAPITAL LETTER L
|
||||
<M> /x4D <U004D> LATIN CAPITAL LETTER M
|
||||
<N> /x4E <U004E> LATIN CAPITAL LETTER N
|
||||
<O> /x4F <U004F> LATIN CAPITAL LETTER O
|
||||
<P> /x50 <U0050> LATIN CAPITAL LETTER P
|
||||
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
|
||||
<R> /x52 <U0052> LATIN CAPITAL LETTER R
|
||||
<S> /x53 <U0053> LATIN CAPITAL LETTER S
|
||||
<T> /x54 <U0054> LATIN CAPITAL LETTER T
|
||||
<U> /x55 <U0055> LATIN CAPITAL LETTER U
|
||||
<V> /x56 <U0056> LATIN CAPITAL LETTER V
|
||||
<W> /x57 <U0057> LATIN CAPITAL LETTER W
|
||||
<X> /x58 <U0058> LATIN CAPITAL LETTER X
|
||||
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
|
||||
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
|
||||
<<(> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<////> /x5C <U005C> REVERSE SOLIDUS
|
||||
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<_> /x5F <U005F> LOW LINE
|
||||
<'!> /x60 <U0060> GRAVE ACCENT
|
||||
<a> /x61 <U0061> LATIN SMALL LETTER A
|
||||
<b> /x62 <U0062> LATIN SMALL LETTER B
|
||||
<c> /x63 <U0063> LATIN SMALL LETTER C
|
||||
<d> /x64 <U0064> LATIN SMALL LETTER D
|
||||
<e> /x65 <U0065> LATIN SMALL LETTER E
|
||||
<f> /x66 <U0066> LATIN SMALL LETTER F
|
||||
<g> /x67 <U0067> LATIN SMALL LETTER G
|
||||
<h> /x68 <U0068> LATIN SMALL LETTER H
|
||||
<i> /x69 <U0069> LATIN SMALL LETTER I
|
||||
<j> /x6A <U006A> LATIN SMALL LETTER J
|
||||
<k> /x6B <U006B> LATIN SMALL LETTER K
|
||||
<l> /x6C <U006C> LATIN SMALL LETTER L
|
||||
<m> /x6D <U006D> LATIN SMALL LETTER M
|
||||
<n> /x6E <U006E> LATIN SMALL LETTER N
|
||||
<o> /x6F <U006F> LATIN SMALL LETTER O
|
||||
<p> /x70 <U0070> LATIN SMALL LETTER P
|
||||
<q> /x71 <U0071> LATIN SMALL LETTER Q
|
||||
<r> /x72 <U0072> LATIN SMALL LETTER R
|
||||
<s> /x73 <U0073> LATIN SMALL LETTER S
|
||||
<t> /x74 <U0074> LATIN SMALL LETTER T
|
||||
<u> /x75 <U0075> LATIN SMALL LETTER U
|
||||
<v> /x76 <U0076> LATIN SMALL LETTER V
|
||||
<w> /x77 <U0077> LATIN SMALL LETTER W
|
||||
<x> /x78 <U0078> LATIN SMALL LETTER X
|
||||
<y> /x79 <U0079> LATIN SMALL LETTER Y
|
||||
<z> /x7A <U007A> LATIN SMALL LETTER Z
|
||||
<(!> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<!!> /x7C <U007C> VERTICAL LINE
|
||||
<!)> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<'-> /x7E <U203E> OVERLINE
|
||||
<DT> /x7F <U007F> DELETE (DEL)
|
||||
<NUL> /x00 <U0000> NUL
|
||||
<SOH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<STX> /x02 <U0002> START OF TEXT (STX)
|
||||
<ETX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<alert> /x07 <U0007> BELL (BEL)
|
||||
<BEL> /x07 <U0007> BELL (BEL)
|
||||
<backspace> /x08 <U0008> BACKSPACE (BS)
|
||||
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<newline> /x0A <U000A> LINE FEED (LF)
|
||||
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
|
||||
<form-feed> /x0C <U000C> FORM FEED (FF)
|
||||
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CAN> /x18 <U0018> CANCEL (CAN)
|
||||
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<ESC> /x1B <U001B> ESCAPE (ESC)
|
||||
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<DEL> /x7F <U007F> DELETE (DEL)
|
||||
<space> /x20 <U0020> SPACE
|
||||
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
|
||||
<quotation-mark> /x22 <U0022> QUOTATION MARK
|
||||
<number-sign> /x00 <U0023> NUMBER SIGN
|
||||
<dollar-sign> /x24 <U0024> DOLLAR SIGN
|
||||
<percent-sign> /x25 <U0025> PERCENT SIGN
|
||||
<ampersand> /x26 <U0026> AMPERSAND
|
||||
<apostrophe> /x27 <U0027> APOSTROPHE
|
||||
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
|
||||
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<asterisk> /x2A <U002A> ASTERISK
|
||||
<plus-sign> /x2B <U002B> PLUS SIGN
|
||||
<comma> /x2C <U002C> COMMA
|
||||
<hyphen> /x2D <U002D> HYPHEN-MINUS
|
||||
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
|
||||
<period> /x2E <U002E> FULL STOP
|
||||
<full-stop> /x2E <U002E> FULL STOP
|
||||
<slash> /x2F <U002F> SOLIDUS
|
||||
<solidus> /x2F <U002F> SOLIDUS
|
||||
<zero> /x30 <U0030> DIGIT ZERO
|
||||
<one> /x31 <U0031> DIGIT ONE
|
||||
<two> /x32 <U0032> DIGIT TWO
|
||||
<three> /x33 <U0033> DIGIT THREE
|
||||
<four> /x34 <U0034> DIGIT FOUR
|
||||
<five> /x35 <U0035> DIGIT FIVE
|
||||
<six> /x36 <U0036> DIGIT SIX
|
||||
<seven> /x37 <U0037> DIGIT SEVEN
|
||||
<eight> /x38 <U0038> DIGIT EIGHT
|
||||
<nine> /x39 <U0039> DIGIT NINE
|
||||
<colon> /x3A <U003A> COLON
|
||||
<semicolon> /x3B <U003B> SEMICOLON
|
||||
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
|
||||
<equals-sign> /x3D <U003D> EQUALS SIGN
|
||||
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
|
||||
<question-mark> /x3F <U003F> QUESTION MARK
|
||||
<commercial-at> /x40 <U0040> COMMERCIAL AT
|
||||
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<backslash> /x5C <U005C> REVERSE SOLIDUS
|
||||
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
|
||||
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<underscore> /x5F <U005F> LOW LINE
|
||||
<low-line> /x5F <U005F> LOW LINE
|
||||
<grave-accent> /x60 <U0060> GRAVE ACCENT
|
||||
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<vertical-line> /x7C <U007C> VERTICAL LINE
|
||||
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<tilde> /x00 <U007E> TILDE
|
||||
END CHARMAP
|
||||
@@ -0,0 +1,219 @@
|
||||
<code_set_name> BS_VIEWDATA
|
||||
<comment_char> %
|
||||
<escape_char> /
|
||||
% source: ECMA registry
|
||||
|
||||
% alias ISO-IR-47
|
||||
CHARMAP
|
||||
<NU> /x00 <U0000> NULL (NUL)
|
||||
<SH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<SX> /x02 <U0002> START OF TEXT (STX)
|
||||
<EX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<EQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<BL> /x07 <U0007> BELL (BEL)
|
||||
<BS> /x08 <U0008> BACKSPACE (BS)
|
||||
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<LF> /x0A <U000A> LINE FEED (LF)
|
||||
<VT> /x0B <U000B> LINE TABULATION (VT)
|
||||
<FF> /x0C <U000C> FORM FEED (FF)
|
||||
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<SO> /x0E <U000E> SHIFT OUT (SO)
|
||||
<SI> /x0F <U000F> SHIFT IN (SI)
|
||||
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CN> /x18 <U0018> CANCEL (CAN)
|
||||
<EM> /x19 <U0019> END OF MEDIUM (EM)
|
||||
<SB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<EC> /x1B <U001B> ESCAPE (ESC)
|
||||
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<SP> /x20 <U0020> SPACE
|
||||
<!> /x21 <U0021> EXCLAMATION MARK
|
||||
<"> /x22 <U0022> QUOTATION MARK
|
||||
<Pd> /x23 <U00A3> POUND SIGN
|
||||
<DO> /x24 <U0024> DOLLAR SIGN
|
||||
<%> /x25 <U0025> PERCENT SIGN
|
||||
<&> /x26 <U0026> AMPERSAND
|
||||
<'> /x27 <U0027> APOSTROPHE
|
||||
<(> /x28 <U0028> LEFT PARENTHESIS
|
||||
<)> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<*> /x2A <U002A> ASTERISK
|
||||
<+> /x2B <U002B> PLUS SIGN
|
||||
<,> /x2C <U002C> COMMA
|
||||
<-> /x2D <U002D> HYPHEN-MINUS
|
||||
<.> /x2E <U002E> FULL STOP
|
||||
<//> /x2F <U002F> SOLIDUS
|
||||
<0> /x30 <U0030> DIGIT ZERO
|
||||
<1> /x31 <U0031> DIGIT ONE
|
||||
<2> /x32 <U0032> DIGIT TWO
|
||||
<3> /x33 <U0033> DIGIT THREE
|
||||
<4> /x34 <U0034> DIGIT FOUR
|
||||
<5> /x35 <U0035> DIGIT FIVE
|
||||
<6> /x36 <U0036> DIGIT SIX
|
||||
<7> /x37 <U0037> DIGIT SEVEN
|
||||
<8> /x38 <U0038> DIGIT EIGHT
|
||||
<9> /x39 <U0039> DIGIT NINE
|
||||
<:> /x3A <U003A> COLON
|
||||
<;> /x3B <U003B> SEMICOLON
|
||||
<<> /x3C <U003C> LESS-THAN SIGN
|
||||
<=> /x3D <U003D> EQUALS SIGN
|
||||
</>> /x3E <U003E> GREATER-THAN SIGN
|
||||
<?> /x3F <U003F> QUESTION MARK
|
||||
<At> /x40 <U0040> COMMERCIAL AT
|
||||
<A> /x41 <U0041> LATIN CAPITAL LETTER A
|
||||
<B> /x42 <U0042> LATIN CAPITAL LETTER B
|
||||
<C> /x43 <U0043> LATIN CAPITAL LETTER C
|
||||
<D> /x44 <U0044> LATIN CAPITAL LETTER D
|
||||
<E> /x45 <U0045> LATIN CAPITAL LETTER E
|
||||
<F> /x46 <U0046> LATIN CAPITAL LETTER F
|
||||
<G> /x47 <U0047> LATIN CAPITAL LETTER G
|
||||
<H> /x48 <U0048> LATIN CAPITAL LETTER H
|
||||
<I> /x49 <U0049> LATIN CAPITAL LETTER I
|
||||
<J> /x4A <U004A> LATIN CAPITAL LETTER J
|
||||
<K> /x4B <U004B> LATIN CAPITAL LETTER K
|
||||
<L> /x4C <U004C> LATIN CAPITAL LETTER L
|
||||
<M> /x4D <U004D> LATIN CAPITAL LETTER M
|
||||
<N> /x4E <U004E> LATIN CAPITAL LETTER N
|
||||
<O> /x4F <U004F> LATIN CAPITAL LETTER O
|
||||
<P> /x50 <U0050> LATIN CAPITAL LETTER P
|
||||
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
|
||||
<R> /x52 <U0052> LATIN CAPITAL LETTER R
|
||||
<S> /x53 <U0053> LATIN CAPITAL LETTER S
|
||||
<T> /x54 <U0054> LATIN CAPITAL LETTER T
|
||||
<U> /x55 <U0055> LATIN CAPITAL LETTER U
|
||||
<V> /x56 <U0056> LATIN CAPITAL LETTER V
|
||||
<W> /x57 <U0057> LATIN CAPITAL LETTER W
|
||||
<X> /x58 <U0058> LATIN CAPITAL LETTER X
|
||||
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
|
||||
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
|
||||
<<-> /x5B <U2190> LEFTWARDS ARROW
|
||||
<12> /x5C <U00BD> VULGAR FRACTION ONE HALF
|
||||
<-/>> /x5D <U2192> RIGHTWARDS ARROW
|
||||
<-!> /x5E <U2191> UPWARDS ARROW
|
||||
<OS> /x5F <U25A1> WHITE SQUARE
|
||||
<'!> /x60 <U0060> GRAVE ACCENT
|
||||
<a> /x61 <U0061> LATIN SMALL LETTER A
|
||||
<b> /x62 <U0062> LATIN SMALL LETTER B
|
||||
<c> /x63 <U0063> LATIN SMALL LETTER C
|
||||
<d> /x64 <U0064> LATIN SMALL LETTER D
|
||||
<e> /x65 <U0065> LATIN SMALL LETTER E
|
||||
<f> /x66 <U0066> LATIN SMALL LETTER F
|
||||
<g> /x67 <U0067> LATIN SMALL LETTER G
|
||||
<h> /x68 <U0068> LATIN SMALL LETTER H
|
||||
<i> /x69 <U0069> LATIN SMALL LETTER I
|
||||
<j> /x6A <U006A> LATIN SMALL LETTER J
|
||||
<k> /x6B <U006B> LATIN SMALL LETTER K
|
||||
<l> /x6C <U006C> LATIN SMALL LETTER L
|
||||
<m> /x6D <U006D> LATIN SMALL LETTER M
|
||||
<n> /x6E <U006E> LATIN SMALL LETTER N
|
||||
<o> /x6F <U006F> LATIN SMALL LETTER O
|
||||
<p> /x70 <U0070> LATIN SMALL LETTER P
|
||||
<q> /x71 <U0071> LATIN SMALL LETTER Q
|
||||
<r> /x72 <U0072> LATIN SMALL LETTER R
|
||||
<s> /x73 <U0073> LATIN SMALL LETTER S
|
||||
<t> /x74 <U0074> LATIN SMALL LETTER T
|
||||
<u> /x75 <U0075> LATIN SMALL LETTER U
|
||||
<v> /x76 <U0076> LATIN SMALL LETTER V
|
||||
<w> /x77 <U0077> LATIN SMALL LETTER W
|
||||
<x> /x78 <U0078> LATIN SMALL LETTER X
|
||||
<y> /x79 <U0079> LATIN SMALL LETTER Y
|
||||
<z> /x7A <U007A> LATIN SMALL LETTER Z
|
||||
<14> /x7B <U00BC> VULGAR FRACTION ONE QUARTER
|
||||
<PP> /x7C <U2225> PARALLEL TO
|
||||
<34> /x7D <U00BE> VULGAR FRACTION THREE QUARTERS
|
||||
<-:> /x7E <U00F7> DIVISION SIGN
|
||||
<DT> /x7F <U007F> DELETE (DEL)
|
||||
<NUL> /x00 <U0000> NUL
|
||||
<SOH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<STX> /x02 <U0002> START OF TEXT (STX)
|
||||
<ETX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<alert> /x07 <U0007> BELL (BEL)
|
||||
<BEL> /x07 <U0007> BELL (BEL)
|
||||
<backspace> /x08 <U0008> BACKSPACE (BS)
|
||||
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<newline> /x0A <U000A> LINE FEED (LF)
|
||||
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
|
||||
<form-feed> /x0C <U000C> FORM FEED (FF)
|
||||
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CAN> /x18 <U0018> CANCEL (CAN)
|
||||
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<ESC> /x1B <U001B> ESCAPE (ESC)
|
||||
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<DEL> /x7F <U007F> DELETE (DEL)
|
||||
<space> /x20 <U0020> SPACE
|
||||
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
|
||||
<quotation-mark> /x22 <U0022> QUOTATION MARK
|
||||
<number-sign> /x00 <U0023> NUMBER SIGN
|
||||
<dollar-sign> /x24 <U0024> DOLLAR SIGN
|
||||
<percent-sign> /x25 <U0025> PERCENT SIGN
|
||||
<ampersand> /x26 <U0026> AMPERSAND
|
||||
<apostrophe> /x27 <U0027> APOSTROPHE
|
||||
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
|
||||
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<asterisk> /x2A <U002A> ASTERISK
|
||||
<plus-sign> /x2B <U002B> PLUS SIGN
|
||||
<comma> /x2C <U002C> COMMA
|
||||
<hyphen> /x2D <U002D> HYPHEN-MINUS
|
||||
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
|
||||
<period> /x2E <U002E> FULL STOP
|
||||
<full-stop> /x2E <U002E> FULL STOP
|
||||
<slash> /x2F <U002F> SOLIDUS
|
||||
<solidus> /x2F <U002F> SOLIDUS
|
||||
<zero> /x30 <U0030> DIGIT ZERO
|
||||
<one> /x31 <U0031> DIGIT ONE
|
||||
<two> /x32 <U0032> DIGIT TWO
|
||||
<three> /x33 <U0033> DIGIT THREE
|
||||
<four> /x34 <U0034> DIGIT FOUR
|
||||
<five> /x35 <U0035> DIGIT FIVE
|
||||
<six> /x36 <U0036> DIGIT SIX
|
||||
<seven> /x37 <U0037> DIGIT SEVEN
|
||||
<eight> /x38 <U0038> DIGIT EIGHT
|
||||
<nine> /x39 <U0039> DIGIT NINE
|
||||
<colon> /x3A <U003A> COLON
|
||||
<semicolon> /x3B <U003B> SEMICOLON
|
||||
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
|
||||
<equals-sign> /x3D <U003D> EQUALS SIGN
|
||||
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
|
||||
<question-mark> /x3F <U003F> QUESTION MARK
|
||||
<commercial-at> /x40 <U0040> COMMERCIAL AT
|
||||
<left-square-bracket> /x00 <U005B> LEFT SQUARE BRACKET
|
||||
<backslash> /x00 <U005C> REVERSE SOLIDUS
|
||||
<reverse-solidus> /x00 <U005C> REVERSE SOLIDUS
|
||||
<right-square-bracket> /x00 <U005D> RIGHT SQUARE BRACKET
|
||||
<circumflex> /x00 <U005E> CIRCUMFLEX ACCENT
|
||||
<circumflex-accent> /x00 <U005E> CIRCUMFLEX ACCENT
|
||||
<underscore> /x00 <U005F> LOW LINE
|
||||
<low-line> /x00 <U005F> LOW LINE
|
||||
<grave-accent> /x60 <U0060> GRAVE ACCENT
|
||||
<left-brace> /x00 <U007B> LEFT CURLY BRACKET
|
||||
<left-curly-bracket> /x00 <U007B> LEFT CURLY BRACKET
|
||||
<vertical-line> /x00 <U007C> VERTICAL LINE
|
||||
<right-brace> /x00 <U007D> RIGHT CURLY BRACKET
|
||||
<right-curly-bracket> /x00 <U007D> RIGHT CURLY BRACKET
|
||||
<tilde> /x00 <U007E> TILDE
|
||||
END CHARMAP
|
||||
@@ -0,0 +1,341 @@
|
||||
<code_set_name> CP1250
|
||||
<comment_char> %
|
||||
<escape_char> /
|
||||
% source: UNICODE 1.0
|
||||
|
||||
% alias MS-EE
|
||||
CHARMAP
|
||||
<NU> /x00 <U0000> NULL (NUL)
|
||||
<SH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<SX> /x02 <U0002> START OF TEXT (STX)
|
||||
<EX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<EQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<BL> /x07 <U0007> BELL (BEL)
|
||||
<BS> /x08 <U0008> BACKSPACE (BS)
|
||||
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<LF> /x0A <U000A> LINE FEED (LF)
|
||||
<VT> /x0B <U000B> LINE TABULATION (VT)
|
||||
<FF> /x0C <U000C> FORM FEED (FF)
|
||||
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<SO> /x0E <U000E> SHIFT OUT (SO)
|
||||
<SI> /x0F <U000F> SHIFT IN (SI)
|
||||
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CN> /x18 <U0018> CANCEL (CAN)
|
||||
<EM> /x19 <U0019> END OF MEDIUM (EM)
|
||||
<SB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<EC> /x1B <U001B> ESCAPE (ESC)
|
||||
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<SP> /x20 <U0020> SPACE
|
||||
<!> /x21 <U0021> EXCLAMATION MARK
|
||||
<"> /x22 <U0022> QUOTATION MARK
|
||||
<Nb> /x23 <U0023> NUMBER SIGN
|
||||
<DO> /x24 <U0024> DOLLAR SIGN
|
||||
<%> /x25 <U0025> PERCENT SIGN
|
||||
<&> /x26 <U0026> AMPERSAND
|
||||
<'> /x27 <U0027> APOSTROPHE
|
||||
<(> /x28 <U0028> LEFT PARENTHESIS
|
||||
<)> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<*> /x2A <U002A> ASTERISK
|
||||
<+> /x2B <U002B> PLUS SIGN
|
||||
<,> /x2C <U002C> COMMA
|
||||
<-> /x2D <U002D> HYPHEN-MINUS
|
||||
<.> /x2E <U002E> FULL STOP
|
||||
<//> /x2F <U002F> SOLIDUS
|
||||
<0> /x30 <U0030> DIGIT ZERO
|
||||
<1> /x31 <U0031> DIGIT ONE
|
||||
<2> /x32 <U0032> DIGIT TWO
|
||||
<3> /x33 <U0033> DIGIT THREE
|
||||
<4> /x34 <U0034> DIGIT FOUR
|
||||
<5> /x35 <U0035> DIGIT FIVE
|
||||
<6> /x36 <U0036> DIGIT SIX
|
||||
<7> /x37 <U0037> DIGIT SEVEN
|
||||
<8> /x38 <U0038> DIGIT EIGHT
|
||||
<9> /x39 <U0039> DIGIT NINE
|
||||
<:> /x3A <U003A> COLON
|
||||
<;> /x3B <U003B> SEMICOLON
|
||||
<<> /x3C <U003C> LESS-THAN SIGN
|
||||
<=> /x3D <U003D> EQUALS SIGN
|
||||
</>> /x3E <U003E> GREATER-THAN SIGN
|
||||
<?> /x3F <U003F> QUESTION MARK
|
||||
<At> /x40 <U0040> COMMERCIAL AT
|
||||
<A> /x41 <U0041> LATIN CAPITAL LETTER A
|
||||
<B> /x42 <U0042> LATIN CAPITAL LETTER B
|
||||
<C> /x43 <U0043> LATIN CAPITAL LETTER C
|
||||
<D> /x44 <U0044> LATIN CAPITAL LETTER D
|
||||
<E> /x45 <U0045> LATIN CAPITAL LETTER E
|
||||
<F> /x46 <U0046> LATIN CAPITAL LETTER F
|
||||
<G> /x47 <U0047> LATIN CAPITAL LETTER G
|
||||
<H> /x48 <U0048> LATIN CAPITAL LETTER H
|
||||
<I> /x49 <U0049> LATIN CAPITAL LETTER I
|
||||
<J> /x4A <U004A> LATIN CAPITAL LETTER J
|
||||
<K> /x4B <U004B> LATIN CAPITAL LETTER K
|
||||
<L> /x4C <U004C> LATIN CAPITAL LETTER L
|
||||
<M> /x4D <U004D> LATIN CAPITAL LETTER M
|
||||
<N> /x4E <U004E> LATIN CAPITAL LETTER N
|
||||
<O> /x4F <U004F> LATIN CAPITAL LETTER O
|
||||
<P> /x50 <U0050> LATIN CAPITAL LETTER P
|
||||
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
|
||||
<R> /x52 <U0052> LATIN CAPITAL LETTER R
|
||||
<S> /x53 <U0053> LATIN CAPITAL LETTER S
|
||||
<T> /x54 <U0054> LATIN CAPITAL LETTER T
|
||||
<U> /x55 <U0055> LATIN CAPITAL LETTER U
|
||||
<V> /x56 <U0056> LATIN CAPITAL LETTER V
|
||||
<W> /x57 <U0057> LATIN CAPITAL LETTER W
|
||||
<X> /x58 <U0058> LATIN CAPITAL LETTER X
|
||||
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
|
||||
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
|
||||
<<(> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<////> /x5C <U005C> REVERSE SOLIDUS
|
||||
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<_> /x5F <U005F> LOW LINE
|
||||
<'!> /x60 <U0060> GRAVE ACCENT
|
||||
<a> /x61 <U0061> LATIN SMALL LETTER A
|
||||
<b> /x62 <U0062> LATIN SMALL LETTER B
|
||||
<c> /x63 <U0063> LATIN SMALL LETTER C
|
||||
<d> /x64 <U0064> LATIN SMALL LETTER D
|
||||
<e> /x65 <U0065> LATIN SMALL LETTER E
|
||||
<f> /x66 <U0066> LATIN SMALL LETTER F
|
||||
<g> /x67 <U0067> LATIN SMALL LETTER G
|
||||
<h> /x68 <U0068> LATIN SMALL LETTER H
|
||||
<i> /x69 <U0069> LATIN SMALL LETTER I
|
||||
<j> /x6A <U006A> LATIN SMALL LETTER J
|
||||
<k> /x6B <U006B> LATIN SMALL LETTER K
|
||||
<l> /x6C <U006C> LATIN SMALL LETTER L
|
||||
<m> /x6D <U006D> LATIN SMALL LETTER M
|
||||
<n> /x6E <U006E> LATIN SMALL LETTER N
|
||||
<o> /x6F <U006F> LATIN SMALL LETTER O
|
||||
<p> /x70 <U0070> LATIN SMALL LETTER P
|
||||
<q> /x71 <U0071> LATIN SMALL LETTER Q
|
||||
<r> /x72 <U0072> LATIN SMALL LETTER R
|
||||
<s> /x73 <U0073> LATIN SMALL LETTER S
|
||||
<t> /x74 <U0074> LATIN SMALL LETTER T
|
||||
<u> /x75 <U0075> LATIN SMALL LETTER U
|
||||
<v> /x76 <U0076> LATIN SMALL LETTER V
|
||||
<w> /x77 <U0077> LATIN SMALL LETTER W
|
||||
<x> /x78 <U0078> LATIN SMALL LETTER X
|
||||
<y> /x79 <U0079> LATIN SMALL LETTER Y
|
||||
<z> /x7A <U007A> LATIN SMALL LETTER Z
|
||||
<(!> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<!!> /x7C <U007C> VERTICAL LINE
|
||||
<!)> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<'?> /x7E <U007E> TILDE
|
||||
<DT> /x7F <U007F> DELETE (DEL)
|
||||
<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
|
||||
<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
|
||||
<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
|
||||
<//-> /x86 <U2020> DAGGER
|
||||
<//=> /x87 <U2021> DOUBLE DAGGER
|
||||
<%0> /x89 <U2030> PER MILLE SIGN
|
||||
<S<> /x8A <U0160> LATIN CAPITAL LETTER S WITH CARON
|
||||
<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
|
||||
<S'> /x8C <U015A> LATIN CAPITAL LETTER S WITH ACUTE
|
||||
<T<> /x8D <U0164> LATIN CAPITAL LETTER T WITH CARON
|
||||
<Z<> /x8E <U017D> LATIN CAPITAL LETTER Z WITH CARON
|
||||
<Z'> /x8F <U0179> LATIN CAPITAL LETTER Z WITH ACUTE
|
||||
<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
|
||||
<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
|
||||
<"6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
|
||||
<"9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
|
||||
<sb> /x95 <U2022> BULLET
|
||||
<-N> /x96 <U2013> EN DASH
|
||||
<-M> /x97 <U2014> EM DASH
|
||||
<TM> /x99 <U2122> TRADE MARK SIGN
|
||||
<s<> /x9A <U0161> LATIN SMALL LETTER S WITH CARON
|
||||
</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
|
||||
<s'> /x9C <U015B> LATIN SMALL LETTER S WITH ACUTE
|
||||
<t<> /x9D <U0165> LATIN SMALL LETTER T WITH CARON
|
||||
<z<> /x9E <U017E> LATIN SMALL LETTER Z WITH CARON
|
||||
<z'> /x9F <U017A> LATIN SMALL LETTER Z WITH ACUTE
|
||||
<NS> /xA0 <U00A0> NO-BREAK SPACE
|
||||
<'<> /xA1 <U02C7> CARON (Mandarin Chinese third tone)
|
||||
<'(> /xA2 <U02D8> BREVE
|
||||
<L//> /xA3 <U0141> LATIN CAPITAL LETTER L WITH STROKE
|
||||
<Cu> /xA4 <U00A4> CURRENCY SIGN
|
||||
<A;> /xA5 <U0104> LATIN CAPITAL LETTER A WITH OGONEK
|
||||
<BB> /xA6 <U00A6> BROKEN BAR
|
||||
<SE> /xA7 <U00A7> SECTION SIGN
|
||||
<':> /xA8 <U00A8> DIAERESIS
|
||||
<Co> /xA9 <U00A9> COPYRIGHT SIGN
|
||||
<S,> /xAA <U015E> LATIN CAPITAL LETTER S WITH CEDILLA
|
||||
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<NO> /xAC <U00AC> NOT SIGN
|
||||
<--> /xAD <U00AD> SOFT HYPHEN
|
||||
<Rg> /xAE <U00AE> REGISTERED SIGN
|
||||
<Z.> /xAF <U017B> LATIN CAPITAL LETTER Z WITH DOT ABOVE
|
||||
<DG> /xB0 <U00B0> DEGREE SIGN
|
||||
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
|
||||
<';> /xB2 <U02DB> OGONEK
|
||||
<l//> /xB3 <U0142> LATIN SMALL LETTER L WITH STROKE
|
||||
<''> /xB4 <U00B4> ACUTE ACCENT
|
||||
<My> /xB5 <U00B5> MICRO SIGN
|
||||
<PI> /xB6 <U00B6> PILCROW SIGN
|
||||
<.M> /xB7 <U00B7> MIDDLE DOT
|
||||
<',> /xB8 <U00B8> CEDILLA
|
||||
<a;> /xB9 <U0105> LATIN SMALL LETTER A WITH OGONEK
|
||||
<s,> /xBA <U015F> LATIN SMALL LETTER S WITH CEDILLA
|
||||
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<L<> /xBC <U013D> LATIN CAPITAL LETTER L WITH CARON
|
||||
<'"> /xBD <U02DD> DOUBLE ACUTE ACCENT
|
||||
<l<> /xBE <U013E> LATIN SMALL LETTER L WITH CARON
|
||||
<z.> /xBF <U017C> LATIN SMALL LETTER Z WITH DOT ABOVE
|
||||
<R'> /xC0 <U0154> LATIN CAPITAL LETTER R WITH ACUTE
|
||||
<A'> /xC1 <U00C1> LATIN CAPITAL LETTER A WITH ACUTE
|
||||
<A/>> /xC2 <U00C2> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
|
||||
<A(> /xC3 <U0102> LATIN CAPITAL LETTER A WITH BREVE
|
||||
<A:> /xC4 <U00C4> LATIN CAPITAL LETTER A WITH DIAERESIS
|
||||
<L'> /xC5 <U0139> LATIN CAPITAL LETTER L WITH ACUTE
|
||||
<C'> /xC6 <U0106> LATIN CAPITAL LETTER C WITH ACUTE
|
||||
<C,> /xC7 <U00C7> LATIN CAPITAL LETTER C WITH CEDILLA
|
||||
<C<> /xC8 <U010C> LATIN CAPITAL LETTER C WITH CARON
|
||||
<E'> /xC9 <U00C9> LATIN CAPITAL LETTER E WITH ACUTE
|
||||
<E;> /xCA <U0118> LATIN CAPITAL LETTER E WITH OGONEK
|
||||
<E:> /xCB <U00CB> LATIN CAPITAL LETTER E WITH DIAERESIS
|
||||
<E<> /xCC <U011A> LATIN CAPITAL LETTER E WITH CARON
|
||||
<I'> /xCD <U00CD> LATIN CAPITAL LETTER I WITH ACUTE
|
||||
<I/>> /xCE <U00CE> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
|
||||
<D<> /xCF <U010E> LATIN CAPITAL LETTER D WITH CARON
|
||||
<D//> /xD0 <U0110> LATIN CAPITAL LETTER D WITH STROKE
|
||||
<N'> /xD1 <U0143> LATIN CAPITAL LETTER N WITH ACUTE
|
||||
<N<> /xD2 <U0147> LATIN CAPITAL LETTER N WITH CARON
|
||||
<O'> /xD3 <U00D3> LATIN CAPITAL LETTER O WITH ACUTE
|
||||
<O/>> /xD4 <U00D4> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
|
||||
<O"> /xD5 <U0150> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
|
||||
<O:> /xD6 <U00D6> LATIN CAPITAL LETTER O WITH DIAERESIS
|
||||
<*X> /xD7 <U00D7> MULTIPLICATION SIGN
|
||||
<R<> /xD8 <U0158> LATIN CAPITAL LETTER R WITH CARON
|
||||
<U0> /xD9 <U016E> LATIN CAPITAL LETTER U WITH RING ABOVE
|
||||
<U'> /xDA <U00DA> LATIN CAPITAL LETTER U WITH ACUTE
|
||||
<U"> /xDB <U0170> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
|
||||
<U:> /xDC <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS
|
||||
<Y'> /xDD <U00DD> LATIN CAPITAL LETTER Y WITH ACUTE
|
||||
<T,> /xDE <U0162> LATIN CAPITAL LETTER T WITH CEDILLA
|
||||
<ss> /xDF <U00DF> LATIN SMALL LETTER SHARP S (German)
|
||||
<r'> /xE0 <U0155> LATIN SMALL LETTER R WITH ACUTE
|
||||
<a'> /xE1 <U00E1> LATIN SMALL LETTER A WITH ACUTE
|
||||
<a/>> /xE2 <U00E2> LATIN SMALL LETTER A WITH CIRCUMFLEX
|
||||
<a(> /xE3 <U0103> LATIN SMALL LETTER A WITH BREVE
|
||||
<a:> /xE4 <U00E4> LATIN SMALL LETTER A WITH DIAERESIS
|
||||
<l'> /xE5 <U013A> LATIN SMALL LETTER L WITH ACUTE
|
||||
<c'> /xE6 <U0107> LATIN SMALL LETTER C WITH ACUTE
|
||||
<c,> /xE7 <U00E7> LATIN SMALL LETTER C WITH CEDILLA
|
||||
<c<> /xE8 <U010D> LATIN SMALL LETTER C WITH CARON
|
||||
<e'> /xE9 <U00E9> LATIN SMALL LETTER E WITH ACUTE
|
||||
<e;> /xEA <U0119> LATIN SMALL LETTER E WITH OGONEK
|
||||
<e:> /xEB <U00EB> LATIN SMALL LETTER E WITH DIAERESIS
|
||||
<e<> /xEC <U011B> LATIN SMALL LETTER E WITH CARON
|
||||
<i'> /xED <U00ED> LATIN SMALL LETTER I WITH ACUTE
|
||||
<i/>> /xEE <U00EE> LATIN SMALL LETTER I WITH CIRCUMFLEX
|
||||
<d<> /xEF <U010F> LATIN SMALL LETTER D WITH CARON
|
||||
<d//> /xF0 <U0111> LATIN SMALL LETTER D WITH STROKE
|
||||
<n'> /xF1 <U0144> LATIN SMALL LETTER N WITH ACUTE
|
||||
<n<> /xF2 <U0148> LATIN SMALL LETTER N WITH CARON
|
||||
<o'> /xF3 <U00F3> LATIN SMALL LETTER O WITH ACUTE
|
||||
<o/>> /xF4 <U00F4> LATIN SMALL LETTER O WITH CIRCUMFLEX
|
||||
<o"> /xF5 <U0151> LATIN SMALL LETTER O WITH DOUBLE ACUTE
|
||||
<o:> /xF6 <U00F6> LATIN SMALL LETTER O WITH DIAERESIS
|
||||
<-:> /xF7 <U00F7> DIVISION SIGN
|
||||
<r<> /xF8 <U0159> LATIN SMALL LETTER R WITH CARON
|
||||
<u0> /xF9 <U016F> LATIN SMALL LETTER U WITH RING ABOVE
|
||||
<u'> /xFA <U00FA> LATIN SMALL LETTER U WITH ACUTE
|
||||
<u"> /xFB <U0171> LATIN SMALL LETTER U WITH DOUBLE ACUTE
|
||||
<u:> /xFC <U00FC> LATIN SMALL LETTER U WITH DIAERESIS
|
||||
<y'> /xFD <U00FD> LATIN SMALL LETTER Y WITH ACUTE
|
||||
<t,> /xFE <U0163> LATIN SMALL LETTER T WITH CEDILLA
|
||||
<'.> /xFF <U02D9> DOT ABOVE (Mandarin Chinese light tone)
|
||||
<NUL> /x00 <U0000> NUL
|
||||
<SOH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<STX> /x02 <U0002> START OF TEXT (STX)
|
||||
<ETX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<alert> /x07 <U0007> BELL (BEL)
|
||||
<BEL> /x07 <U0007> BELL (BEL)
|
||||
<backspace> /x08 <U0008> BACKSPACE (BS)
|
||||
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<newline> /x0A <U000A> LINE FEED (LF)
|
||||
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
|
||||
<form-feed> /x0C <U000C> FORM FEED (FF)
|
||||
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CAN> /x18 <U0018> CANCEL (CAN)
|
||||
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<ESC> /x1B <U001B> ESCAPE (ESC)
|
||||
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<DEL> /x7F <U007F> DELETE (DEL)
|
||||
<space> /x20 <U0020> SPACE
|
||||
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
|
||||
<quotation-mark> /x22 <U0022> QUOTATION MARK
|
||||
<number-sign> /x23 <U0023> NUMBER SIGN
|
||||
<dollar-sign> /x24 <U0024> DOLLAR SIGN
|
||||
<percent-sign> /x25 <U0025> PERCENT SIGN
|
||||
<ampersand> /x26 <U0026> AMPERSAND
|
||||
<apostrophe> /x27 <U0027> APOSTROPHE
|
||||
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
|
||||
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<asterisk> /x2A <U002A> ASTERISK
|
||||
<plus-sign> /x2B <U002B> PLUS SIGN
|
||||
<comma> /x2C <U002C> COMMA
|
||||
<hyphen> /x2D <U002D> HYPHEN-MINUS
|
||||
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
|
||||
<period> /x2E <U002E> FULL STOP
|
||||
<full-stop> /x2E <U002E> FULL STOP
|
||||
<slash> /x2F <U002F> SOLIDUS
|
||||
<solidus> /x2F <U002F> SOLIDUS
|
||||
<zero> /x30 <U0030> DIGIT ZERO
|
||||
<one> /x31 <U0031> DIGIT ONE
|
||||
<two> /x32 <U0032> DIGIT TWO
|
||||
<three> /x33 <U0033> DIGIT THREE
|
||||
<four> /x34 <U0034> DIGIT FOUR
|
||||
<five> /x35 <U0035> DIGIT FIVE
|
||||
<six> /x36 <U0036> DIGIT SIX
|
||||
<seven> /x37 <U0037> DIGIT SEVEN
|
||||
<eight> /x38 <U0038> DIGIT EIGHT
|
||||
<nine> /x39 <U0039> DIGIT NINE
|
||||
<colon> /x3A <U003A> COLON
|
||||
<semicolon> /x3B <U003B> SEMICOLON
|
||||
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
|
||||
<equals-sign> /x3D <U003D> EQUALS SIGN
|
||||
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
|
||||
<question-mark> /x3F <U003F> QUESTION MARK
|
||||
<commercial-at> /x40 <U0040> COMMERCIAL AT
|
||||
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<backslash> /x5C <U005C> REVERSE SOLIDUS
|
||||
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
|
||||
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<underscore> /x5F <U005F> LOW LINE
|
||||
<low-line> /x5F <U005F> LOW LINE
|
||||
<grave-accent> /x60 <U0060> GRAVE ACCENT
|
||||
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<vertical-line> /x7C <U007C> VERTICAL LINE
|
||||
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<tilde> /x7E <U007E> TILDE
|
||||
END CHARMAP
|
||||
@@ -0,0 +1,345 @@
|
||||
<code_set_name> CP1251
|
||||
<comment_char> %
|
||||
<escape_char> /
|
||||
% source: UNICODE 1.0
|
||||
|
||||
% alias MS-CYRL
|
||||
CHARMAP
|
||||
<NU> /x00 <U0000> NULL (NUL)
|
||||
<SH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<SX> /x02 <U0002> START OF TEXT (STX)
|
||||
<EX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<EQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<BL> /x07 <U0007> BELL (BEL)
|
||||
<BS> /x08 <U0008> BACKSPACE (BS)
|
||||
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<LF> /x0A <U000A> LINE FEED (LF)
|
||||
<VT> /x0B <U000B> LINE TABULATION (VT)
|
||||
<FF> /x0C <U000C> FORM FEED (FF)
|
||||
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<SO> /x0E <U000E> SHIFT OUT (SO)
|
||||
<SI> /x0F <U000F> SHIFT IN (SI)
|
||||
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CN> /x18 <U0018> CANCEL (CAN)
|
||||
<EM> /x19 <U0019> END OF MEDIUM (EM)
|
||||
<SB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<EC> /x1B <U001B> ESCAPE (ESC)
|
||||
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<SP> /x20 <U0020> SPACE
|
||||
<!> /x21 <U0021> EXCLAMATION MARK
|
||||
<"> /x22 <U0022> QUOTATION MARK
|
||||
<Nb> /x23 <U0023> NUMBER SIGN
|
||||
<DO> /x24 <U0024> DOLLAR SIGN
|
||||
<%> /x25 <U0025> PERCENT SIGN
|
||||
<&> /x26 <U0026> AMPERSAND
|
||||
<'> /x27 <U0027> APOSTROPHE
|
||||
<(> /x28 <U0028> LEFT PARENTHESIS
|
||||
<)> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<*> /x2A <U002A> ASTERISK
|
||||
<+> /x2B <U002B> PLUS SIGN
|
||||
<,> /x2C <U002C> COMMA
|
||||
<-> /x2D <U002D> HYPHEN-MINUS
|
||||
<.> /x2E <U002E> FULL STOP
|
||||
<//> /x2F <U002F> SOLIDUS
|
||||
<0> /x30 <U0030> DIGIT ZERO
|
||||
<1> /x31 <U0031> DIGIT ONE
|
||||
<2> /x32 <U0032> DIGIT TWO
|
||||
<3> /x33 <U0033> DIGIT THREE
|
||||
<4> /x34 <U0034> DIGIT FOUR
|
||||
<5> /x35 <U0035> DIGIT FIVE
|
||||
<6> /x36 <U0036> DIGIT SIX
|
||||
<7> /x37 <U0037> DIGIT SEVEN
|
||||
<8> /x38 <U0038> DIGIT EIGHT
|
||||
<9> /x39 <U0039> DIGIT NINE
|
||||
<:> /x3A <U003A> COLON
|
||||
<;> /x3B <U003B> SEMICOLON
|
||||
<<> /x3C <U003C> LESS-THAN SIGN
|
||||
<=> /x3D <U003D> EQUALS SIGN
|
||||
</>> /x3E <U003E> GREATER-THAN SIGN
|
||||
<?> /x3F <U003F> QUESTION MARK
|
||||
<At> /x40 <U0040> COMMERCIAL AT
|
||||
<A> /x41 <U0041> LATIN CAPITAL LETTER A
|
||||
<B> /x42 <U0042> LATIN CAPITAL LETTER B
|
||||
<C> /x43 <U0043> LATIN CAPITAL LETTER C
|
||||
<D> /x44 <U0044> LATIN CAPITAL LETTER D
|
||||
<E> /x45 <U0045> LATIN CAPITAL LETTER E
|
||||
<F> /x46 <U0046> LATIN CAPITAL LETTER F
|
||||
<G> /x47 <U0047> LATIN CAPITAL LETTER G
|
||||
<H> /x48 <U0048> LATIN CAPITAL LETTER H
|
||||
<I> /x49 <U0049> LATIN CAPITAL LETTER I
|
||||
<J> /x4A <U004A> LATIN CAPITAL LETTER J
|
||||
<K> /x4B <U004B> LATIN CAPITAL LETTER K
|
||||
<L> /x4C <U004C> LATIN CAPITAL LETTER L
|
||||
<M> /x4D <U004D> LATIN CAPITAL LETTER M
|
||||
<N> /x4E <U004E> LATIN CAPITAL LETTER N
|
||||
<O> /x4F <U004F> LATIN CAPITAL LETTER O
|
||||
<P> /x50 <U0050> LATIN CAPITAL LETTER P
|
||||
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
|
||||
<R> /x52 <U0052> LATIN CAPITAL LETTER R
|
||||
<S> /x53 <U0053> LATIN CAPITAL LETTER S
|
||||
<T> /x54 <U0054> LATIN CAPITAL LETTER T
|
||||
<U> /x55 <U0055> LATIN CAPITAL LETTER U
|
||||
<V> /x56 <U0056> LATIN CAPITAL LETTER V
|
||||
<W> /x57 <U0057> LATIN CAPITAL LETTER W
|
||||
<X> /x58 <U0058> LATIN CAPITAL LETTER X
|
||||
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
|
||||
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
|
||||
<<(> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<////> /x5C <U005C> REVERSE SOLIDUS
|
||||
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<_> /x5F <U005F> LOW LINE
|
||||
<'!> /x60 <U0060> GRAVE ACCENT
|
||||
<a> /x61 <U0061> LATIN SMALL LETTER A
|
||||
<b> /x62 <U0062> LATIN SMALL LETTER B
|
||||
<c> /x63 <U0063> LATIN SMALL LETTER C
|
||||
<d> /x64 <U0064> LATIN SMALL LETTER D
|
||||
<e> /x65 <U0065> LATIN SMALL LETTER E
|
||||
<f> /x66 <U0066> LATIN SMALL LETTER F
|
||||
<g> /x67 <U0067> LATIN SMALL LETTER G
|
||||
<h> /x68 <U0068> LATIN SMALL LETTER H
|
||||
<i> /x69 <U0069> LATIN SMALL LETTER I
|
||||
<j> /x6A <U006A> LATIN SMALL LETTER J
|
||||
<k> /x6B <U006B> LATIN SMALL LETTER K
|
||||
<l> /x6C <U006C> LATIN SMALL LETTER L
|
||||
<m> /x6D <U006D> LATIN SMALL LETTER M
|
||||
<n> /x6E <U006E> LATIN SMALL LETTER N
|
||||
<o> /x6F <U006F> LATIN SMALL LETTER O
|
||||
<p> /x70 <U0070> LATIN SMALL LETTER P
|
||||
<q> /x71 <U0071> LATIN SMALL LETTER Q
|
||||
<r> /x72 <U0072> LATIN SMALL LETTER R
|
||||
<s> /x73 <U0073> LATIN SMALL LETTER S
|
||||
<t> /x74 <U0074> LATIN SMALL LETTER T
|
||||
<u> /x75 <U0075> LATIN SMALL LETTER U
|
||||
<v> /x76 <U0076> LATIN SMALL LETTER V
|
||||
<w> /x77 <U0077> LATIN SMALL LETTER W
|
||||
<x> /x78 <U0078> LATIN SMALL LETTER X
|
||||
<y> /x79 <U0079> LATIN SMALL LETTER Y
|
||||
<z> /x7A <U007A> LATIN SMALL LETTER Z
|
||||
<(!> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<!!> /x7C <U007C> VERTICAL LINE
|
||||
<!)> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<'?> /x7E <U007E> TILDE
|
||||
<DT> /x7F <U007F> DELETE (DEL)
|
||||
<D%> /x80 <U0402> CYRILLIC CAPITAL LETTER DJE (Serbocroatian)
|
||||
<G%> /x81 <U0403> CYRILLIC CAPITAL LETTER GJE
|
||||
<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
|
||||
<g%> /x83 <U0453> CYRILLIC SMALL LETTER GJE
|
||||
<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
|
||||
<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
|
||||
<//-> /x86 <U2020> DAGGER
|
||||
<//=> /x87 <U2021> DOUBLE DAGGER
|
||||
<%0> /x89 <U2030> PER MILLE SIGN
|
||||
<LJ> /x8A <U0409> CYRILLIC CAPITAL LETTER LJE
|
||||
<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
|
||||
<NJ> /x8C <U040A> CYRILLIC CAPITAL LETTER NJE
|
||||
<KJ> /x8D <U040C> CYRILLIC CAPITAL LETTER KJE
|
||||
<Ts> /x8E <U040B> CYRILLIC CAPITAL LETTER TSHE (Serbocroatian)
|
||||
<DZ> /x8F <U040F> CYRILLIC CAPITAL LETTER DZHE
|
||||
<d%> /x90 <U0452> CYRILLIC SMALL LETTER DJE (Serbocroatian)
|
||||
<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
|
||||
<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
|
||||
<"6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
|
||||
<"9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
|
||||
<sb> /x95 <U2022> BULLET
|
||||
<-N> /x96 <U2013> EN DASH
|
||||
<-M> /x97 <U2014> EM DASH
|
||||
<TM> /x99 <U2122> TRADE MARK SIGN
|
||||
<lj> /x9A <U0459> CYRILLIC SMALL LETTER LJE
|
||||
</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
|
||||
<nj> /x9C <U045A> CYRILLIC SMALL LETTER NJE
|
||||
<kj> /x9D <U045C> CYRILLIC SMALL LETTER KJE
|
||||
<ts> /x9E <U045B> CYRILLIC SMALL LETTER TSHE (Serbocroatian)
|
||||
<dz> /x9F <U045F> CYRILLIC SMALL LETTER DZHE
|
||||
<NS> /xA0 <U00A0> NO-BREAK SPACE
|
||||
<V%> /xA1 <U040E> CYRILLIC CAPITAL LETTER SHORT U (Byelorussian)
|
||||
<v%> /xA2 <U045E> CYRILLIC SMALL LETTER SHORT U (Byelorussian)
|
||||
<J%> /xA3 <U0408> CYRILLIC CAPITAL LETTER JE
|
||||
<Cu> /xA4 <U00A4> CURRENCY SIGN
|
||||
<G3> /xA5 <U0490> CYRILLIC CAPITAL LETTER GHE WITH UPTURN
|
||||
<BB> /xA6 <U00A6> BROKEN BAR
|
||||
<SE> /xA7 <U00A7> SECTION SIGN
|
||||
<IO> /xA8 <U0401> CYRILLIC CAPITAL LETTER IO
|
||||
<Co> /xA9 <U00A9> COPYRIGHT SIGN
|
||||
<IE> /xAA <U0404> CYRILLIC CAPITAL LETTER UKRAINIAN IE
|
||||
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<NO> /xAC <U00AC> NOT SIGN
|
||||
<--> /xAD <U00AD> SOFT HYPHEN
|
||||
<Rg> /xAE <U00AE> REGISTERED SIGN
|
||||
<YI> /xAF <U0407> CYRILLIC CAPITAL LETTER YI (Ukrainian)
|
||||
<DG> /xB0 <U00B0> DEGREE SIGN
|
||||
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
|
||||
<II> /xB2 <U0406> CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
|
||||
<ii> /xB3 <U0456> CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
|
||||
<g3> /xB4 <U0491> CYRILLIC SMALL LETTER GHE WITH UPTURN
|
||||
<My> /xB5 <U00B5> MICRO SIGN
|
||||
<PI> /xB6 <U00B6> PILCROW SIGN
|
||||
<.M> /xB7 <U00B7> MIDDLE DOT
|
||||
<io> /xB8 <U0451> CYRILLIC SMALL LETTER IO
|
||||
<N0> /xB9 <U2116> NUMERO SIGN
|
||||
<ie> /xBA <U0454> CYRILLIC SMALL LETTER UKRAINIAN IE
|
||||
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<j%> /xBC <U0458> CYRILLIC SMALL LETTER JE
|
||||
<DS> /xBD <U0405> CYRILLIC CAPITAL LETTER DZE
|
||||
<ds> /xBE <U0455> CYRILLIC SMALL LETTER DZE
|
||||
<yi> /xBF <U0457> CYRILLIC SMALL LETTER YI (Ukrainian)
|
||||
<A=> /xC0 <U0410> CYRILLIC CAPITAL LETTER A
|
||||
<B=> /xC1 <U0411> CYRILLIC CAPITAL LETTER BE
|
||||
<V=> /xC2 <U0412> CYRILLIC CAPITAL LETTER VE
|
||||
<G=> /xC3 <U0413> CYRILLIC CAPITAL LETTER GHE
|
||||
<D=> /xC4 <U0414> CYRILLIC CAPITAL LETTER DE
|
||||
<E=> /xC5 <U0415> CYRILLIC CAPITAL LETTER IE
|
||||
<Z%> /xC6 <U0416> CYRILLIC CAPITAL LETTER ZHE
|
||||
<Z=> /xC7 <U0417> CYRILLIC CAPITAL LETTER ZE
|
||||
<I=> /xC8 <U0418> CYRILLIC CAPITAL LETTER I
|
||||
<J=> /xC9 <U0419> CYRILLIC CAPITAL LETTER SHORT I
|
||||
<K=> /xCA <U041A> CYRILLIC CAPITAL LETTER KA
|
||||
<L=> /xCB <U041B> CYRILLIC CAPITAL LETTER EL
|
||||
<M=> /xCC <U041C> CYRILLIC CAPITAL LETTER EM
|
||||
<N=> /xCD <U041D> CYRILLIC CAPITAL LETTER EN
|
||||
<O=> /xCE <U041E> CYRILLIC CAPITAL LETTER O
|
||||
<P=> /xCF <U041F> CYRILLIC CAPITAL LETTER PE
|
||||
<R=> /xD0 <U0420> CYRILLIC CAPITAL LETTER ER
|
||||
<S=> /xD1 <U0421> CYRILLIC CAPITAL LETTER ES
|
||||
<T=> /xD2 <U0422> CYRILLIC CAPITAL LETTER TE
|
||||
<U=> /xD3 <U0423> CYRILLIC CAPITAL LETTER U
|
||||
<F=> /xD4 <U0424> CYRILLIC CAPITAL LETTER EF
|
||||
<H=> /xD5 <U0425> CYRILLIC CAPITAL LETTER HA
|
||||
<C=> /xD6 <U0426> CYRILLIC CAPITAL LETTER TSE
|
||||
<C%> /xD7 <U0427> CYRILLIC CAPITAL LETTER CHE
|
||||
<S%> /xD8 <U0428> CYRILLIC CAPITAL LETTER SHA
|
||||
<Sc> /xD9 <U0429> CYRILLIC CAPITAL LETTER SHCHA
|
||||
<="> /xDA <U042A> CYRILLIC CAPITAL LETTER HARD SIGN
|
||||
<Y=> /xDB <U042B> CYRILLIC CAPITAL LETTER YERU
|
||||
<%"> /xDC <U042C> CYRILLIC CAPITAL LETTER SOFT SIGN
|
||||
<JE> /xDD <U042D> CYRILLIC CAPITAL LETTER E
|
||||
<JU> /xDE <U042E> CYRILLIC CAPITAL LETTER YU
|
||||
<JA> /xDF <U042F> CYRILLIC CAPITAL LETTER YA
|
||||
<a=> /xE0 <U0430> CYRILLIC SMALL LETTER A
|
||||
<b=> /xE1 <U0431> CYRILLIC SMALL LETTER BE
|
||||
<v=> /xE2 <U0432> CYRILLIC SMALL LETTER VE
|
||||
<g=> /xE3 <U0433> CYRILLIC SMALL LETTER GHE
|
||||
<d=> /xE4 <U0434> CYRILLIC SMALL LETTER DE
|
||||
<e=> /xE5 <U0435> CYRILLIC SMALL LETTER IE
|
||||
<z%> /xE6 <U0436> CYRILLIC SMALL LETTER ZHE
|
||||
<z=> /xE7 <U0437> CYRILLIC SMALL LETTER ZE
|
||||
<i=> /xE8 <U0438> CYRILLIC SMALL LETTER I
|
||||
<j=> /xE9 <U0439> CYRILLIC SMALL LETTER SHORT I
|
||||
<k=> /xEA <U043A> CYRILLIC SMALL LETTER KA
|
||||
<l=> /xEB <U043B> CYRILLIC SMALL LETTER EL
|
||||
<m=> /xEC <U043C> CYRILLIC SMALL LETTER EM
|
||||
<n=> /xED <U043D> CYRILLIC SMALL LETTER EN
|
||||
<o=> /xEE <U043E> CYRILLIC SMALL LETTER O
|
||||
<p=> /xEF <U043F> CYRILLIC SMALL LETTER PE
|
||||
<r=> /xF0 <U0440> CYRILLIC SMALL LETTER ER
|
||||
<s=> /xF1 <U0441> CYRILLIC SMALL LETTER ES
|
||||
<t=> /xF2 <U0442> CYRILLIC SMALL LETTER TE
|
||||
<u=> /xF3 <U0443> CYRILLIC SMALL LETTER U
|
||||
<f=> /xF4 <U0444> CYRILLIC SMALL LETTER EF
|
||||
<h=> /xF5 <U0445> CYRILLIC SMALL LETTER HA
|
||||
<c=> /xF6 <U0446> CYRILLIC SMALL LETTER TSE
|
||||
<c%> /xF7 <U0447> CYRILLIC SMALL LETTER CHE
|
||||
<s%> /xF8 <U0448> CYRILLIC SMALL LETTER SHA
|
||||
<sc> /xF9 <U0449> CYRILLIC SMALL LETTER SHCHA
|
||||
<='> /xFA <U044A> CYRILLIC SMALL LETTER HARD SIGN
|
||||
<y=> /xFB <U044B> CYRILLIC SMALL LETTER YERU
|
||||
<%'> /xFC <U044C> CYRILLIC SMALL LETTER SOFT SIGN
|
||||
<je> /xFD <U044D> CYRILLIC SMALL LETTER E
|
||||
<ju> /xFE <U044E> CYRILLIC SMALL LETTER YU
|
||||
<ja> /xFF <U044F> CYRILLIC SMALL LETTER YA
|
||||
<NUL> /x00 <U0000> NUL
|
||||
<SOH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<STX> /x02 <U0002> START OF TEXT (STX)
|
||||
<ETX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<alert> /x07 <U0007> BELL (BEL)
|
||||
<BEL> /x07 <U0007> BELL (BEL)
|
||||
<backspace> /x08 <U0008> BACKSPACE (BS)
|
||||
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<newline> /x0A <U000A> LINE FEED (LF)
|
||||
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
|
||||
<form-feed> /x0C <U000C> FORM FEED (FF)
|
||||
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CAN> /x18 <U0018> CANCEL (CAN)
|
||||
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<ESC> /x1B <U001B> ESCAPE (ESC)
|
||||
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<DEL> /x7F <U007F> DELETE (DEL)
|
||||
<space> /x20 <U0020> SPACE
|
||||
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
|
||||
<quotation-mark> /x22 <U0022> QUOTATION MARK
|
||||
<number-sign> /x23 <U0023> NUMBER SIGN
|
||||
<dollar-sign> /x24 <U0024> DOLLAR SIGN
|
||||
<percent-sign> /x25 <U0025> PERCENT SIGN
|
||||
<ampersand> /x26 <U0026> AMPERSAND
|
||||
<apostrophe> /x27 <U0027> APOSTROPHE
|
||||
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
|
||||
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<asterisk> /x2A <U002A> ASTERISK
|
||||
<plus-sign> /x2B <U002B> PLUS SIGN
|
||||
<comma> /x2C <U002C> COMMA
|
||||
<hyphen> /x2D <U002D> HYPHEN-MINUS
|
||||
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
|
||||
<period> /x2E <U002E> FULL STOP
|
||||
<full-stop> /x2E <U002E> FULL STOP
|
||||
<slash> /x2F <U002F> SOLIDUS
|
||||
<solidus> /x2F <U002F> SOLIDUS
|
||||
<zero> /x30 <U0030> DIGIT ZERO
|
||||
<one> /x31 <U0031> DIGIT ONE
|
||||
<two> /x32 <U0032> DIGIT TWO
|
||||
<three> /x33 <U0033> DIGIT THREE
|
||||
<four> /x34 <U0034> DIGIT FOUR
|
||||
<five> /x35 <U0035> DIGIT FIVE
|
||||
<six> /x36 <U0036> DIGIT SIX
|
||||
<seven> /x37 <U0037> DIGIT SEVEN
|
||||
<eight> /x38 <U0038> DIGIT EIGHT
|
||||
<nine> /x39 <U0039> DIGIT NINE
|
||||
<colon> /x3A <U003A> COLON
|
||||
<semicolon> /x3B <U003B> SEMICOLON
|
||||
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
|
||||
<equals-sign> /x3D <U003D> EQUALS SIGN
|
||||
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
|
||||
<question-mark> /x3F <U003F> QUESTION MARK
|
||||
<commercial-at> /x40 <U0040> COMMERCIAL AT
|
||||
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<backslash> /x5C <U005C> REVERSE SOLIDUS
|
||||
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
|
||||
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<underscore> /x5F <U005F> LOW LINE
|
||||
<low-line> /x5F <U005F> LOW LINE
|
||||
<grave-accent> /x60 <U0060> GRAVE ACCENT
|
||||
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<vertical-line> /x7C <U007C> VERTICAL LINE
|
||||
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<tilde> /x7E <U007E> TILDE
|
||||
END CHARMAP
|
||||
@@ -0,0 +1,339 @@
|
||||
<code_set_name> CP1252
|
||||
<comment_char> %
|
||||
<escape_char> /
|
||||
% source: UNICODE 1.0
|
||||
|
||||
% alias MS-ANSI
|
||||
CHARMAP
|
||||
<NU> /x00 <U0000> NULL (NUL)
|
||||
<SH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<SX> /x02 <U0002> START OF TEXT (STX)
|
||||
<EX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<EQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<BL> /x07 <U0007> BELL (BEL)
|
||||
<BS> /x08 <U0008> BACKSPACE (BS)
|
||||
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<LF> /x0A <U000A> LINE FEED (LF)
|
||||
<VT> /x0B <U000B> LINE TABULATION (VT)
|
||||
<FF> /x0C <U000C> FORM FEED (FF)
|
||||
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<SO> /x0E <U000E> SHIFT OUT (SO)
|
||||
<SI> /x0F <U000F> SHIFT IN (SI)
|
||||
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CN> /x18 <U0018> CANCEL (CAN)
|
||||
<EM> /x19 <U0019> END OF MEDIUM (EM)
|
||||
<SB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<EC> /x1B <U001B> ESCAPE (ESC)
|
||||
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<SP> /x20 <U0020> SPACE
|
||||
<!> /x21 <U0021> EXCLAMATION MARK
|
||||
<"> /x22 <U0022> QUOTATION MARK
|
||||
<Nb> /x23 <U0023> NUMBER SIGN
|
||||
<DO> /x24 <U0024> DOLLAR SIGN
|
||||
<%> /x25 <U0025> PERCENT SIGN
|
||||
<&> /x26 <U0026> AMPERSAND
|
||||
<'> /x27 <U0027> APOSTROPHE
|
||||
<(> /x28 <U0028> LEFT PARENTHESIS
|
||||
<)> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<*> /x2A <U002A> ASTERISK
|
||||
<+> /x2B <U002B> PLUS SIGN
|
||||
<,> /x2C <U002C> COMMA
|
||||
<-> /x2D <U002D> HYPHEN-MINUS
|
||||
<.> /x2E <U002E> FULL STOP
|
||||
<//> /x2F <U002F> SOLIDUS
|
||||
<0> /x30 <U0030> DIGIT ZERO
|
||||
<1> /x31 <U0031> DIGIT ONE
|
||||
<2> /x32 <U0032> DIGIT TWO
|
||||
<3> /x33 <U0033> DIGIT THREE
|
||||
<4> /x34 <U0034> DIGIT FOUR
|
||||
<5> /x35 <U0035> DIGIT FIVE
|
||||
<6> /x36 <U0036> DIGIT SIX
|
||||
<7> /x37 <U0037> DIGIT SEVEN
|
||||
<8> /x38 <U0038> DIGIT EIGHT
|
||||
<9> /x39 <U0039> DIGIT NINE
|
||||
<:> /x3A <U003A> COLON
|
||||
<;> /x3B <U003B> SEMICOLON
|
||||
<<> /x3C <U003C> LESS-THAN SIGN
|
||||
<=> /x3D <U003D> EQUALS SIGN
|
||||
</>> /x3E <U003E> GREATER-THAN SIGN
|
||||
<?> /x3F <U003F> QUESTION MARK
|
||||
<At> /x40 <U0040> COMMERCIAL AT
|
||||
<A> /x41 <U0041> LATIN CAPITAL LETTER A
|
||||
<B> /x42 <U0042> LATIN CAPITAL LETTER B
|
||||
<C> /x43 <U0043> LATIN CAPITAL LETTER C
|
||||
<D> /x44 <U0044> LATIN CAPITAL LETTER D
|
||||
<E> /x45 <U0045> LATIN CAPITAL LETTER E
|
||||
<F> /x46 <U0046> LATIN CAPITAL LETTER F
|
||||
<G> /x47 <U0047> LATIN CAPITAL LETTER G
|
||||
<H> /x48 <U0048> LATIN CAPITAL LETTER H
|
||||
<I> /x49 <U0049> LATIN CAPITAL LETTER I
|
||||
<J> /x4A <U004A> LATIN CAPITAL LETTER J
|
||||
<K> /x4B <U004B> LATIN CAPITAL LETTER K
|
||||
<L> /x4C <U004C> LATIN CAPITAL LETTER L
|
||||
<M> /x4D <U004D> LATIN CAPITAL LETTER M
|
||||
<N> /x4E <U004E> LATIN CAPITAL LETTER N
|
||||
<O> /x4F <U004F> LATIN CAPITAL LETTER O
|
||||
<P> /x50 <U0050> LATIN CAPITAL LETTER P
|
||||
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
|
||||
<R> /x52 <U0052> LATIN CAPITAL LETTER R
|
||||
<S> /x53 <U0053> LATIN CAPITAL LETTER S
|
||||
<T> /x54 <U0054> LATIN CAPITAL LETTER T
|
||||
<U> /x55 <U0055> LATIN CAPITAL LETTER U
|
||||
<V> /x56 <U0056> LATIN CAPITAL LETTER V
|
||||
<W> /x57 <U0057> LATIN CAPITAL LETTER W
|
||||
<X> /x58 <U0058> LATIN CAPITAL LETTER X
|
||||
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
|
||||
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
|
||||
<<(> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<////> /x5C <U005C> REVERSE SOLIDUS
|
||||
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<_> /x5F <U005F> LOW LINE
|
||||
<'!> /x60 <U0060> GRAVE ACCENT
|
||||
<a> /x61 <U0061> LATIN SMALL LETTER A
|
||||
<b> /x62 <U0062> LATIN SMALL LETTER B
|
||||
<c> /x63 <U0063> LATIN SMALL LETTER C
|
||||
<d> /x64 <U0064> LATIN SMALL LETTER D
|
||||
<e> /x65 <U0065> LATIN SMALL LETTER E
|
||||
<f> /x66 <U0066> LATIN SMALL LETTER F
|
||||
<g> /x67 <U0067> LATIN SMALL LETTER G
|
||||
<h> /x68 <U0068> LATIN SMALL LETTER H
|
||||
<i> /x69 <U0069> LATIN SMALL LETTER I
|
||||
<j> /x6A <U006A> LATIN SMALL LETTER J
|
||||
<k> /x6B <U006B> LATIN SMALL LETTER K
|
||||
<l> /x6C <U006C> LATIN SMALL LETTER L
|
||||
<m> /x6D <U006D> LATIN SMALL LETTER M
|
||||
<n> /x6E <U006E> LATIN SMALL LETTER N
|
||||
<o> /x6F <U006F> LATIN SMALL LETTER O
|
||||
<p> /x70 <U0070> LATIN SMALL LETTER P
|
||||
<q> /x71 <U0071> LATIN SMALL LETTER Q
|
||||
<r> /x72 <U0072> LATIN SMALL LETTER R
|
||||
<s> /x73 <U0073> LATIN SMALL LETTER S
|
||||
<t> /x74 <U0074> LATIN SMALL LETTER T
|
||||
<u> /x75 <U0075> LATIN SMALL LETTER U
|
||||
<v> /x76 <U0076> LATIN SMALL LETTER V
|
||||
<w> /x77 <U0077> LATIN SMALL LETTER W
|
||||
<x> /x78 <U0078> LATIN SMALL LETTER X
|
||||
<y> /x79 <U0079> LATIN SMALL LETTER Y
|
||||
<z> /x7A <U007A> LATIN SMALL LETTER Z
|
||||
<(!> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<!!> /x7C <U007C> VERTICAL LINE
|
||||
<!)> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<'?> /x7E <U007E> TILDE
|
||||
<DT> /x7F <U007F> DELETE (DEL)
|
||||
<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
|
||||
<f2> /x83 <U0192> LATIN SMALL LETTER F WITH HOOK
|
||||
<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
|
||||
<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
|
||||
<//-> /x86 <U2020> DAGGER
|
||||
<//=> /x87 <U2021> DOUBLE DAGGER
|
||||
<1/>> /x88 <U02C6> MODIFIER LETTER CIRCUMFLEX ACCENT
|
||||
<%0> /x89 <U2030> PER MILLE SIGN
|
||||
<S<> /x8A <U0160> LATIN CAPITAL LETTER S WITH CARON
|
||||
<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
|
||||
<OE> /x8C <U0152> LATIN CAPITAL LIGATURE OE
|
||||
<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
|
||||
<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
|
||||
<"6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
|
||||
<"9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
|
||||
<sb> /x95 <U2022> BULLET
|
||||
<-N> /x96 <U2013> EN DASH
|
||||
<-M> /x97 <U2014> EM DASH
|
||||
<1?> /x98 <U02DC> SMALL TILDE
|
||||
<TM> /x99 <U2122> TRADE MARK SIGN
|
||||
<s<> /x9A <U0161> LATIN SMALL LETTER S WITH CARON
|
||||
</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
|
||||
<oe> /x9C <U0153> LATIN SMALL LIGATURE OE
|
||||
<Y:> /x9F <U0178> LATIN CAPITAL LETTER Y WITH DIAERESIS
|
||||
<NS> /xA0 <U00A0> NO-BREAK SPACE
|
||||
<!I> /xA1 <U00A1> INVERTED EXCLAMATION MARK
|
||||
<Ct> /xA2 <U00A2> CENT SIGN
|
||||
<Pd> /xA3 <U00A3> POUND SIGN
|
||||
<Cu> /xA4 <U00A4> CURRENCY SIGN
|
||||
<Ye> /xA5 <U00A5> YEN SIGN
|
||||
<BB> /xA6 <U00A6> BROKEN BAR
|
||||
<SE> /xA7 <U00A7> SECTION SIGN
|
||||
<':> /xA8 <U00A8> DIAERESIS
|
||||
<Co> /xA9 <U00A9> COPYRIGHT SIGN
|
||||
<-a> /xAA <U00AA> FEMININE ORDINAL INDICATOR
|
||||
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<NO> /xAC <U00AC> NOT SIGN
|
||||
<--> /xAD <U00AD> SOFT HYPHEN
|
||||
<Rg> /xAE <U00AE> REGISTERED SIGN
|
||||
<'m> /xAF <U00AF> MACRON
|
||||
<DG> /xB0 <U00B0> DEGREE SIGN
|
||||
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
|
||||
<2S> /xB2 <U00B2> SUPERSCRIPT TWO
|
||||
<3S> /xB3 <U00B3> SUPERSCRIPT THREE
|
||||
<''> /xB4 <U00B4> ACUTE ACCENT
|
||||
<My> /xB5 <U00B5> MICRO SIGN
|
||||
<PI> /xB6 <U00B6> PILCROW SIGN
|
||||
<.M> /xB7 <U00B7> MIDDLE DOT
|
||||
<',> /xB8 <U00B8> CEDILLA
|
||||
<1S> /xB9 <U00B9> SUPERSCRIPT ONE
|
||||
<-o> /xBA <U00BA> MASCULINE ORDINAL INDICATOR
|
||||
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<14> /xBC <U00BC> VULGAR FRACTION ONE QUARTER
|
||||
<12> /xBD <U00BD> VULGAR FRACTION ONE HALF
|
||||
<34> /xBE <U00BE> VULGAR FRACTION THREE QUARTERS
|
||||
<?I> /xBF <U00BF> INVERTED QUESTION MARK
|
||||
<A!> /xC0 <U00C0> LATIN CAPITAL LETTER A WITH GRAVE
|
||||
<A'> /xC1 <U00C1> LATIN CAPITAL LETTER A WITH ACUTE
|
||||
<A/>> /xC2 <U00C2> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
|
||||
<A?> /xC3 <U00C3> LATIN CAPITAL LETTER A WITH TILDE
|
||||
<A:> /xC4 <U00C4> LATIN CAPITAL LETTER A WITH DIAERESIS
|
||||
<AA> /xC5 <U00C5> LATIN CAPITAL LETTER A WITH RING ABOVE
|
||||
<AE> /xC6 <U00C6> LATIN CAPITAL LETTER AE
|
||||
<C,> /xC7 <U00C7> LATIN CAPITAL LETTER C WITH CEDILLA
|
||||
<E!> /xC8 <U00C8> LATIN CAPITAL LETTER E WITH GRAVE
|
||||
<E'> /xC9 <U00C9> LATIN CAPITAL LETTER E WITH ACUTE
|
||||
<E/>> /xCA <U00CA> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
|
||||
<E:> /xCB <U00CB> LATIN CAPITAL LETTER E WITH DIAERESIS
|
||||
<I!> /xCC <U00CC> LATIN CAPITAL LETTER I WITH GRAVE
|
||||
<I'> /xCD <U00CD> LATIN CAPITAL LETTER I WITH ACUTE
|
||||
<I/>> /xCE <U00CE> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
|
||||
<I:> /xCF <U00CF> LATIN CAPITAL LETTER I WITH DIAERESIS
|
||||
<D-> /xD0 <U00D0> LATIN CAPITAL LETTER ETH (Icelandic)
|
||||
<N?> /xD1 <U00D1> LATIN CAPITAL LETTER N WITH TILDE
|
||||
<O!> /xD2 <U00D2> LATIN CAPITAL LETTER O WITH GRAVE
|
||||
<O'> /xD3 <U00D3> LATIN CAPITAL LETTER O WITH ACUTE
|
||||
<O/>> /xD4 <U00D4> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
|
||||
<O?> /xD5 <U00D5> LATIN CAPITAL LETTER O WITH TILDE
|
||||
<O:> /xD6 <U00D6> LATIN CAPITAL LETTER O WITH DIAERESIS
|
||||
<*X> /xD7 <U00D7> MULTIPLICATION SIGN
|
||||
<O//> /xD8 <U00D8> LATIN CAPITAL LETTER O WITH STROKE
|
||||
<U!> /xD9 <U00D9> LATIN CAPITAL LETTER U WITH GRAVE
|
||||
<U'> /xDA <U00DA> LATIN CAPITAL LETTER U WITH ACUTE
|
||||
<U/>> /xDB <U00DB> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
|
||||
<U:> /xDC <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS
|
||||
<Y'> /xDD <U00DD> LATIN CAPITAL LETTER Y WITH ACUTE
|
||||
<TH> /xDE <U00DE> LATIN CAPITAL LETTER THORN (Icelandic)
|
||||
<ss> /xDF <U00DF> LATIN SMALL LETTER SHARP S (German)
|
||||
<a!> /xE0 <U00E0> LATIN SMALL LETTER A WITH GRAVE
|
||||
<a'> /xE1 <U00E1> LATIN SMALL LETTER A WITH ACUTE
|
||||
<a/>> /xE2 <U00E2> LATIN SMALL LETTER A WITH CIRCUMFLEX
|
||||
<a?> /xE3 <U00E3> LATIN SMALL LETTER A WITH TILDE
|
||||
<a:> /xE4 <U00E4> LATIN SMALL LETTER A WITH DIAERESIS
|
||||
<aa> /xE5 <U00E5> LATIN SMALL LETTER A WITH RING ABOVE
|
||||
<ae> /xE6 <U00E6> LATIN SMALL LETTER AE
|
||||
<c,> /xE7 <U00E7> LATIN SMALL LETTER C WITH CEDILLA
|
||||
<e!> /xE8 <U00E8> LATIN SMALL LETTER E WITH GRAVE
|
||||
<e'> /xE9 <U00E9> LATIN SMALL LETTER E WITH ACUTE
|
||||
<e/>> /xEA <U00EA> LATIN SMALL LETTER E WITH CIRCUMFLEX
|
||||
<e:> /xEB <U00EB> LATIN SMALL LETTER E WITH DIAERESIS
|
||||
<i!> /xEC <U00EC> LATIN SMALL LETTER I WITH GRAVE
|
||||
<i'> /xED <U00ED> LATIN SMALL LETTER I WITH ACUTE
|
||||
<i/>> /xEE <U00EE> LATIN SMALL LETTER I WITH CIRCUMFLEX
|
||||
<i:> /xEF <U00EF> LATIN SMALL LETTER I WITH DIAERESIS
|
||||
<d-> /xF0 <U00F0> LATIN SMALL LETTER ETH (Icelandic)
|
||||
<n?> /xF1 <U00F1> LATIN SMALL LETTER N WITH TILDE
|
||||
<o!> /xF2 <U00F2> LATIN SMALL LETTER O WITH GRAVE
|
||||
<o'> /xF3 <U00F3> LATIN SMALL LETTER O WITH ACUTE
|
||||
<o/>> /xF4 <U00F4> LATIN SMALL LETTER O WITH CIRCUMFLEX
|
||||
<o?> /xF5 <U00F5> LATIN SMALL LETTER O WITH TILDE
|
||||
<o:> /xF6 <U00F6> LATIN SMALL LETTER O WITH DIAERESIS
|
||||
<-:> /xF7 <U00F7> DIVISION SIGN
|
||||
<o//> /xF8 <U00F8> LATIN SMALL LETTER O WITH STROKE
|
||||
<u!> /xF9 <U00F9> LATIN SMALL LETTER U WITH GRAVE
|
||||
<u'> /xFA <U00FA> LATIN SMALL LETTER U WITH ACUTE
|
||||
<u/>> /xFB <U00FB> LATIN SMALL LETTER U WITH CIRCUMFLEX
|
||||
<u:> /xFC <U00FC> LATIN SMALL LETTER U WITH DIAERESIS
|
||||
<y'> /xFD <U00FD> LATIN SMALL LETTER Y WITH ACUTE
|
||||
<th> /xFE <U00FE> LATIN SMALL LETTER THORN (Icelandic)
|
||||
<y:> /xFF <U00FF> LATIN SMALL LETTER Y WITH DIAERESIS
|
||||
<NUL> /x00 <U0000> NUL
|
||||
<SOH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<STX> /x02 <U0002> START OF TEXT (STX)
|
||||
<ETX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<alert> /x07 <U0007> BELL (BEL)
|
||||
<BEL> /x07 <U0007> BELL (BEL)
|
||||
<backspace> /x08 <U0008> BACKSPACE (BS)
|
||||
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<newline> /x0A <U000A> LINE FEED (LF)
|
||||
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
|
||||
<form-feed> /x0C <U000C> FORM FEED (FF)
|
||||
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CAN> /x18 <U0018> CANCEL (CAN)
|
||||
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<ESC> /x1B <U001B> ESCAPE (ESC)
|
||||
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<DEL> /x7F <U007F> DELETE (DEL)
|
||||
<space> /x20 <U0020> SPACE
|
||||
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
|
||||
<quotation-mark> /x22 <U0022> QUOTATION MARK
|
||||
<number-sign> /x23 <U0023> NUMBER SIGN
|
||||
<dollar-sign> /x24 <U0024> DOLLAR SIGN
|
||||
<percent-sign> /x25 <U0025> PERCENT SIGN
|
||||
<ampersand> /x26 <U0026> AMPERSAND
|
||||
<apostrophe> /x27 <U0027> APOSTROPHE
|
||||
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
|
||||
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<asterisk> /x2A <U002A> ASTERISK
|
||||
<plus-sign> /x2B <U002B> PLUS SIGN
|
||||
<comma> /x2C <U002C> COMMA
|
||||
<hyphen> /x2D <U002D> HYPHEN-MINUS
|
||||
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
|
||||
<period> /x2E <U002E> FULL STOP
|
||||
<full-stop> /x2E <U002E> FULL STOP
|
||||
<slash> /x2F <U002F> SOLIDUS
|
||||
<solidus> /x2F <U002F> SOLIDUS
|
||||
<zero> /x30 <U0030> DIGIT ZERO
|
||||
<one> /x31 <U0031> DIGIT ONE
|
||||
<two> /x32 <U0032> DIGIT TWO
|
||||
<three> /x33 <U0033> DIGIT THREE
|
||||
<four> /x34 <U0034> DIGIT FOUR
|
||||
<five> /x35 <U0035> DIGIT FIVE
|
||||
<six> /x36 <U0036> DIGIT SIX
|
||||
<seven> /x37 <U0037> DIGIT SEVEN
|
||||
<eight> /x38 <U0038> DIGIT EIGHT
|
||||
<nine> /x39 <U0039> DIGIT NINE
|
||||
<colon> /x3A <U003A> COLON
|
||||
<semicolon> /x3B <U003B> SEMICOLON
|
||||
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
|
||||
<equals-sign> /x3D <U003D> EQUALS SIGN
|
||||
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
|
||||
<question-mark> /x3F <U003F> QUESTION MARK
|
||||
<commercial-at> /x40 <U0040> COMMERCIAL AT
|
||||
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<backslash> /x5C <U005C> REVERSE SOLIDUS
|
||||
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
|
||||
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<underscore> /x5F <U005F> LOW LINE
|
||||
<low-line> /x5F <U005F> LOW LINE
|
||||
<grave-accent> /x60 <U0060> GRAVE ACCENT
|
||||
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<vertical-line> /x7C <U007C> VERTICAL LINE
|
||||
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<tilde> /x7E <U007E> TILDE
|
||||
END CHARMAP
|
||||
@@ -0,0 +1,329 @@
|
||||
<code_set_name> CP1253
|
||||
<comment_char> %
|
||||
<escape_char> /
|
||||
% source: UNICODE 1.0
|
||||
|
||||
% alias MS-GREEK
|
||||
CHARMAP
|
||||
<NU> /x00 <U0000> NULL (NUL)
|
||||
<SH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<SX> /x02 <U0002> START OF TEXT (STX)
|
||||
<EX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<EQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<BL> /x07 <U0007> BELL (BEL)
|
||||
<BS> /x08 <U0008> BACKSPACE (BS)
|
||||
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<LF> /x0A <U000A> LINE FEED (LF)
|
||||
<VT> /x0B <U000B> LINE TABULATION (VT)
|
||||
<FF> /x0C <U000C> FORM FEED (FF)
|
||||
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<SO> /x0E <U000E> SHIFT OUT (SO)
|
||||
<SI> /x0F <U000F> SHIFT IN (SI)
|
||||
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CN> /x18 <U0018> CANCEL (CAN)
|
||||
<EM> /x19 <U0019> END OF MEDIUM (EM)
|
||||
<SB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<EC> /x1B <U001B> ESCAPE (ESC)
|
||||
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<SP> /x20 <U0020> SPACE
|
||||
<!> /x21 <U0021> EXCLAMATION MARK
|
||||
<"> /x22 <U0022> QUOTATION MARK
|
||||
<Nb> /x23 <U0023> NUMBER SIGN
|
||||
<DO> /x24 <U0024> DOLLAR SIGN
|
||||
<%> /x25 <U0025> PERCENT SIGN
|
||||
<&> /x26 <U0026> AMPERSAND
|
||||
<'> /x27 <U0027> APOSTROPHE
|
||||
<(> /x28 <U0028> LEFT PARENTHESIS
|
||||
<)> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<*> /x2A <U002A> ASTERISK
|
||||
<+> /x2B <U002B> PLUS SIGN
|
||||
<,> /x2C <U002C> COMMA
|
||||
<-> /x2D <U002D> HYPHEN-MINUS
|
||||
<.> /x2E <U002E> FULL STOP
|
||||
<//> /x2F <U002F> SOLIDUS
|
||||
<0> /x30 <U0030> DIGIT ZERO
|
||||
<1> /x31 <U0031> DIGIT ONE
|
||||
<2> /x32 <U0032> DIGIT TWO
|
||||
<3> /x33 <U0033> DIGIT THREE
|
||||
<4> /x34 <U0034> DIGIT FOUR
|
||||
<5> /x35 <U0035> DIGIT FIVE
|
||||
<6> /x36 <U0036> DIGIT SIX
|
||||
<7> /x37 <U0037> DIGIT SEVEN
|
||||
<8> /x38 <U0038> DIGIT EIGHT
|
||||
<9> /x39 <U0039> DIGIT NINE
|
||||
<:> /x3A <U003A> COLON
|
||||
<;> /x3B <U003B> SEMICOLON
|
||||
<<> /x3C <U003C> LESS-THAN SIGN
|
||||
<=> /x3D <U003D> EQUALS SIGN
|
||||
</>> /x3E <U003E> GREATER-THAN SIGN
|
||||
<?> /x3F <U003F> QUESTION MARK
|
||||
<At> /x40 <U0040> COMMERCIAL AT
|
||||
<A> /x41 <U0041> LATIN CAPITAL LETTER A
|
||||
<B> /x42 <U0042> LATIN CAPITAL LETTER B
|
||||
<C> /x43 <U0043> LATIN CAPITAL LETTER C
|
||||
<D> /x44 <U0044> LATIN CAPITAL LETTER D
|
||||
<E> /x45 <U0045> LATIN CAPITAL LETTER E
|
||||
<F> /x46 <U0046> LATIN CAPITAL LETTER F
|
||||
<G> /x47 <U0047> LATIN CAPITAL LETTER G
|
||||
<H> /x48 <U0048> LATIN CAPITAL LETTER H
|
||||
<I> /x49 <U0049> LATIN CAPITAL LETTER I
|
||||
<J> /x4A <U004A> LATIN CAPITAL LETTER J
|
||||
<K> /x4B <U004B> LATIN CAPITAL LETTER K
|
||||
<L> /x4C <U004C> LATIN CAPITAL LETTER L
|
||||
<M> /x4D <U004D> LATIN CAPITAL LETTER M
|
||||
<N> /x4E <U004E> LATIN CAPITAL LETTER N
|
||||
<O> /x4F <U004F> LATIN CAPITAL LETTER O
|
||||
<P> /x50 <U0050> LATIN CAPITAL LETTER P
|
||||
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
|
||||
<R> /x52 <U0052> LATIN CAPITAL LETTER R
|
||||
<S> /x53 <U0053> LATIN CAPITAL LETTER S
|
||||
<T> /x54 <U0054> LATIN CAPITAL LETTER T
|
||||
<U> /x55 <U0055> LATIN CAPITAL LETTER U
|
||||
<V> /x56 <U0056> LATIN CAPITAL LETTER V
|
||||
<W> /x57 <U0057> LATIN CAPITAL LETTER W
|
||||
<X> /x58 <U0058> LATIN CAPITAL LETTER X
|
||||
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
|
||||
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
|
||||
<<(> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<////> /x5C <U005C> REVERSE SOLIDUS
|
||||
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<_> /x5F <U005F> LOW LINE
|
||||
<'!> /x60 <U0060> GRAVE ACCENT
|
||||
<a> /x61 <U0061> LATIN SMALL LETTER A
|
||||
<b> /x62 <U0062> LATIN SMALL LETTER B
|
||||
<c> /x63 <U0063> LATIN SMALL LETTER C
|
||||
<d> /x64 <U0064> LATIN SMALL LETTER D
|
||||
<e> /x65 <U0065> LATIN SMALL LETTER E
|
||||
<f> /x66 <U0066> LATIN SMALL LETTER F
|
||||
<g> /x67 <U0067> LATIN SMALL LETTER G
|
||||
<h> /x68 <U0068> LATIN SMALL LETTER H
|
||||
<i> /x69 <U0069> LATIN SMALL LETTER I
|
||||
<j> /x6A <U006A> LATIN SMALL LETTER J
|
||||
<k> /x6B <U006B> LATIN SMALL LETTER K
|
||||
<l> /x6C <U006C> LATIN SMALL LETTER L
|
||||
<m> /x6D <U006D> LATIN SMALL LETTER M
|
||||
<n> /x6E <U006E> LATIN SMALL LETTER N
|
||||
<o> /x6F <U006F> LATIN SMALL LETTER O
|
||||
<p> /x70 <U0070> LATIN SMALL LETTER P
|
||||
<q> /x71 <U0071> LATIN SMALL LETTER Q
|
||||
<r> /x72 <U0072> LATIN SMALL LETTER R
|
||||
<s> /x73 <U0073> LATIN SMALL LETTER S
|
||||
<t> /x74 <U0074> LATIN SMALL LETTER T
|
||||
<u> /x75 <U0075> LATIN SMALL LETTER U
|
||||
<v> /x76 <U0076> LATIN SMALL LETTER V
|
||||
<w> /x77 <U0077> LATIN SMALL LETTER W
|
||||
<x> /x78 <U0078> LATIN SMALL LETTER X
|
||||
<y> /x79 <U0079> LATIN SMALL LETTER Y
|
||||
<z> /x7A <U007A> LATIN SMALL LETTER Z
|
||||
<(!> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<!!> /x7C <U007C> VERTICAL LINE
|
||||
<!)> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<'?> /x7E <U007E> TILDE
|
||||
<DT> /x7F <U007F> DELETE (DEL)
|
||||
<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
|
||||
<f2> /x83 <U0192> LATIN SMALL LETTER F WITH HOOK
|
||||
<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
|
||||
<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
|
||||
<//-> /x86 <U2020> DAGGER
|
||||
<//=> /x87 <U2021> DOUBLE DAGGER
|
||||
<%0> /x89 <U2030> PER MILLE SIGN
|
||||
<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
|
||||
<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
|
||||
<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
|
||||
<"6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
|
||||
<"9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
|
||||
<sb> /x95 <U2022> BULLET
|
||||
<-N> /x96 <U2013> EN DASH
|
||||
<-M> /x97 <U2014> EM DASH
|
||||
<TM> /x99 <U2122> TRADE MARK SIGN
|
||||
</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
|
||||
<NS> /xA0 <U00A0> NO-BREAK SPACE
|
||||
<'%> /xA1 <U0385> GREEK DIALYTIKA TONOS
|
||||
<A%> /xA2 <U0386> GREEK CAPITAL LETTER ALPHA WITH TONOS
|
||||
<Pd> /xA3 <U00A3> POUND SIGN
|
||||
<Cu> /xA4 <U00A4> CURRENCY SIGN
|
||||
<Ye> /xA5 <U00A5> YEN SIGN
|
||||
<BB> /xA6 <U00A6> BROKEN BAR
|
||||
<SE> /xA7 <U00A7> SECTION SIGN
|
||||
<':> /xA8 <U00A8> DIAERESIS
|
||||
<Co> /xA9 <U00A9> COPYRIGHT SIGN
|
||||
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<NO> /xAC <U00AC> NOT SIGN
|
||||
<--> /xAD <U00AD> SOFT HYPHEN
|
||||
<Rg> /xAE <U00AE> REGISTERED SIGN
|
||||
<-3> /xAF <U2015> HORIZONTAL BAR
|
||||
<DG> /xB0 <U00B0> DEGREE SIGN
|
||||
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
|
||||
<2S> /xB2 <U00B2> SUPERSCRIPT TWO
|
||||
<3S> /xB3 <U00B3> SUPERSCRIPT THREE
|
||||
<'*> /xB4 <U0384> GREEK TONOS
|
||||
<My> /xB5 <U00B5> MICRO SIGN
|
||||
<PI> /xB6 <U00B6> PILCROW SIGN
|
||||
<.M> /xB7 <U00B7> MIDDLE DOT
|
||||
<E%> /xB8 <U0388> GREEK CAPITAL LETTER EPSILON WITH TONOS
|
||||
<Y%> /xB9 <U0389> GREEK CAPITAL LETTER ETA WITH TONOS
|
||||
<I%> /xBA <U038A> GREEK CAPITAL LETTER IOTA WITH TONOS
|
||||
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<O%> /xBC <U038C> GREEK CAPITAL LETTER OMICRON WITH TONOS
|
||||
<12> /xBD <U00BD> VULGAR FRACTION ONE HALF
|
||||
<U%> /xBE <U038E> GREEK CAPITAL LETTER UPSILON WITH TONOS
|
||||
<W%> /xBF <U038F> GREEK CAPITAL LETTER OMEGA WITH TONOS
|
||||
<i3> /xC0 <U0390> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
|
||||
<A*> /xC1 <U0391> GREEK CAPITAL LETTER ALPHA
|
||||
<B*> /xC2 <U0392> GREEK CAPITAL LETTER BETA
|
||||
<G*> /xC3 <U0393> GREEK CAPITAL LETTER GAMMA
|
||||
<D*> /xC4 <U0394> GREEK CAPITAL LETTER DELTA
|
||||
<E*> /xC5 <U0395> GREEK CAPITAL LETTER EPSILON
|
||||
<Z*> /xC6 <U0396> GREEK CAPITAL LETTER ZETA
|
||||
<Y*> /xC7 <U0397> GREEK CAPITAL LETTER ETA
|
||||
<H*> /xC8 <U0398> GREEK CAPITAL LETTER THETA
|
||||
<I*> /xC9 <U0399> GREEK CAPITAL LETTER IOTA
|
||||
<K*> /xCA <U039A> GREEK CAPITAL LETTER KAPPA
|
||||
<L*> /xCB <U039B> GREEK CAPITAL LETTER LAMDA
|
||||
<M*> /xCC <U039C> GREEK CAPITAL LETTER MU
|
||||
<N*> /xCD <U039D> GREEK CAPITAL LETTER NU
|
||||
<C*> /xCE <U039E> GREEK CAPITAL LETTER XI
|
||||
<O*> /xCF <U039F> GREEK CAPITAL LETTER OMICRON
|
||||
<P*> /xD0 <U03A0> GREEK CAPITAL LETTER PI
|
||||
<R*> /xD1 <U03A1> GREEK CAPITAL LETTER RHO
|
||||
<S*> /xD3 <U03A3> GREEK CAPITAL LETTER SIGMA
|
||||
<T*> /xD4 <U03A4> GREEK CAPITAL LETTER TAU
|
||||
<U*> /xD5 <U03A5> GREEK CAPITAL LETTER UPSILON
|
||||
<F*> /xD6 <U03A6> GREEK CAPITAL LETTER PHI
|
||||
<X*> /xD7 <U03A7> GREEK CAPITAL LETTER CHI
|
||||
<Q*> /xD8 <U03A8> GREEK CAPITAL LETTER PSI
|
||||
<W*> /xD9 <U03A9> GREEK CAPITAL LETTER OMEGA
|
||||
<J*> /xDA <U03AA> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
|
||||
<V*> /xDB <U03AB> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
|
||||
<a%> /xDC <U03AC> GREEK SMALL LETTER ALPHA WITH TONOS
|
||||
<e%> /xDD <U03AD> GREEK SMALL LETTER EPSILON WITH TONOS
|
||||
<y%> /xDE <U03AE> GREEK SMALL LETTER ETA WITH TONOS
|
||||
<i%> /xDF <U03AF> GREEK SMALL LETTER IOTA WITH TONOS
|
||||
<u3> /xE0 <U03B0> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
|
||||
<a*> /xE1 <U03B1> GREEK SMALL LETTER ALPHA
|
||||
<b*> /xE2 <U03B2> GREEK SMALL LETTER BETA
|
||||
<g*> /xE3 <U03B3> GREEK SMALL LETTER GAMMA
|
||||
<d*> /xE4 <U03B4> GREEK SMALL LETTER DELTA
|
||||
<e*> /xE5 <U03B5> GREEK SMALL LETTER EPSILON
|
||||
<z*> /xE6 <U03B6> GREEK SMALL LETTER ZETA
|
||||
<y*> /xE7 <U03B7> GREEK SMALL LETTER ETA
|
||||
<h*> /xE8 <U03B8> GREEK SMALL LETTER THETA
|
||||
<i*> /xE9 <U03B9> GREEK SMALL LETTER IOTA
|
||||
<k*> /xEA <U03BA> GREEK SMALL LETTER KAPPA
|
||||
<l*> /xEB <U03BB> GREEK SMALL LETTER LAMDA
|
||||
<m*> /xEC <U03BC> GREEK SMALL LETTER MU
|
||||
<n*> /xED <U03BD> GREEK SMALL LETTER NU
|
||||
<c*> /xEE <U03BE> GREEK SMALL LETTER XI
|
||||
<o*> /xEF <U03BF> GREEK SMALL LETTER OMICRON
|
||||
<p*> /xF0 <U03C0> GREEK SMALL LETTER PI
|
||||
<r*> /xF1 <U03C1> GREEK SMALL LETTER RHO
|
||||
<*s> /xF2 <U03C2> GREEK SMALL LETTER FINAL SIGMA
|
||||
<s*> /xF3 <U03C3> GREEK SMALL LETTER SIGMA
|
||||
<t*> /xF4 <U03C4> GREEK SMALL LETTER TAU
|
||||
<u*> /xF5 <U03C5> GREEK SMALL LETTER UPSILON
|
||||
<f*> /xF6 <U03C6> GREEK SMALL LETTER PHI
|
||||
<x*> /xF7 <U03C7> GREEK SMALL LETTER CHI
|
||||
<q*> /xF8 <U03C8> GREEK SMALL LETTER PSI
|
||||
<w*> /xF9 <U03C9> GREEK SMALL LETTER OMEGA
|
||||
<j*> /xFA <U03CA> GREEK SMALL LETTER IOTA WITH DIALYTIKA
|
||||
<v*> /xFB <U03CB> GREEK SMALL LETTER UPSILON WITH DIALYTIKA
|
||||
<o%> /xFC <U03CC> GREEK SMALL LETTER OMICRON WITH TONOS
|
||||
<u%> /xFD <U03CD> GREEK SMALL LETTER UPSILON WITH TONOS
|
||||
<w%> /xFE <U03CE> GREEK SMALL LETTER OMEGA WITH TONOS
|
||||
<NUL> /x00 <U0000> NUL
|
||||
<SOH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<STX> /x02 <U0002> START OF TEXT (STX)
|
||||
<ETX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<alert> /x07 <U0007> BELL (BEL)
|
||||
<BEL> /x07 <U0007> BELL (BEL)
|
||||
<backspace> /x08 <U0008> BACKSPACE (BS)
|
||||
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<newline> /x0A <U000A> LINE FEED (LF)
|
||||
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
|
||||
<form-feed> /x0C <U000C> FORM FEED (FF)
|
||||
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CAN> /x18 <U0018> CANCEL (CAN)
|
||||
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<ESC> /x1B <U001B> ESCAPE (ESC)
|
||||
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<DEL> /x7F <U007F> DELETE (DEL)
|
||||
<space> /x20 <U0020> SPACE
|
||||
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
|
||||
<quotation-mark> /x22 <U0022> QUOTATION MARK
|
||||
<number-sign> /x23 <U0023> NUMBER SIGN
|
||||
<dollar-sign> /x24 <U0024> DOLLAR SIGN
|
||||
<percent-sign> /x25 <U0025> PERCENT SIGN
|
||||
<ampersand> /x26 <U0026> AMPERSAND
|
||||
<apostrophe> /x27 <U0027> APOSTROPHE
|
||||
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
|
||||
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<asterisk> /x2A <U002A> ASTERISK
|
||||
<plus-sign> /x2B <U002B> PLUS SIGN
|
||||
<comma> /x2C <U002C> COMMA
|
||||
<hyphen> /x2D <U002D> HYPHEN-MINUS
|
||||
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
|
||||
<period> /x2E <U002E> FULL STOP
|
||||
<full-stop> /x2E <U002E> FULL STOP
|
||||
<slash> /x2F <U002F> SOLIDUS
|
||||
<solidus> /x2F <U002F> SOLIDUS
|
||||
<zero> /x30 <U0030> DIGIT ZERO
|
||||
<one> /x31 <U0031> DIGIT ONE
|
||||
<two> /x32 <U0032> DIGIT TWO
|
||||
<three> /x33 <U0033> DIGIT THREE
|
||||
<four> /x34 <U0034> DIGIT FOUR
|
||||
<five> /x35 <U0035> DIGIT FIVE
|
||||
<six> /x36 <U0036> DIGIT SIX
|
||||
<seven> /x37 <U0037> DIGIT SEVEN
|
||||
<eight> /x38 <U0038> DIGIT EIGHT
|
||||
<nine> /x39 <U0039> DIGIT NINE
|
||||
<colon> /x3A <U003A> COLON
|
||||
<semicolon> /x3B <U003B> SEMICOLON
|
||||
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
|
||||
<equals-sign> /x3D <U003D> EQUALS SIGN
|
||||
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
|
||||
<question-mark> /x3F <U003F> QUESTION MARK
|
||||
<commercial-at> /x40 <U0040> COMMERCIAL AT
|
||||
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<backslash> /x5C <U005C> REVERSE SOLIDUS
|
||||
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
|
||||
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<underscore> /x5F <U005F> LOW LINE
|
||||
<low-line> /x5F <U005F> LOW LINE
|
||||
<grave-accent> /x60 <U0060> GRAVE ACCENT
|
||||
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<vertical-line> /x7C <U007C> VERTICAL LINE
|
||||
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<tilde> /x7E <U007E> TILDE
|
||||
END CHARMAP
|
||||
@@ -0,0 +1,339 @@
|
||||
<code_set_name> CP1254
|
||||
<comment_char> %
|
||||
<escape_char> /
|
||||
% source: UNICODE 1.0
|
||||
|
||||
% alias MS-TURK
|
||||
CHARMAP
|
||||
<NU> /x00 <U0000> NULL (NUL)
|
||||
<SH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<SX> /x02 <U0002> START OF TEXT (STX)
|
||||
<EX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<EQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<BL> /x07 <U0007> BELL (BEL)
|
||||
<BS> /x08 <U0008> BACKSPACE (BS)
|
||||
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<LF> /x0A <U000A> LINE FEED (LF)
|
||||
<VT> /x0B <U000B> LINE TABULATION (VT)
|
||||
<FF> /x0C <U000C> FORM FEED (FF)
|
||||
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<SO> /x0E <U000E> SHIFT OUT (SO)
|
||||
<SI> /x0F <U000F> SHIFT IN (SI)
|
||||
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CN> /x18 <U0018> CANCEL (CAN)
|
||||
<EM> /x19 <U0019> END OF MEDIUM (EM)
|
||||
<SB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<EC> /x1B <U001B> ESCAPE (ESC)
|
||||
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<SP> /x20 <U0020> SPACE
|
||||
<!> /x21 <U0021> EXCLAMATION MARK
|
||||
<"> /x22 <U0022> QUOTATION MARK
|
||||
<Nb> /x23 <U0023> NUMBER SIGN
|
||||
<DO> /x24 <U0024> DOLLAR SIGN
|
||||
<%> /x25 <U0025> PERCENT SIGN
|
||||
<&> /x26 <U0026> AMPERSAND
|
||||
<'> /x27 <U0027> APOSTROPHE
|
||||
<(> /x28 <U0028> LEFT PARENTHESIS
|
||||
<)> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<*> /x2A <U002A> ASTERISK
|
||||
<+> /x2B <U002B> PLUS SIGN
|
||||
<,> /x2C <U002C> COMMA
|
||||
<-> /x2D <U002D> HYPHEN-MINUS
|
||||
<.> /x2E <U002E> FULL STOP
|
||||
<//> /x2F <U002F> SOLIDUS
|
||||
<0> /x30 <U0030> DIGIT ZERO
|
||||
<1> /x31 <U0031> DIGIT ONE
|
||||
<2> /x32 <U0032> DIGIT TWO
|
||||
<3> /x33 <U0033> DIGIT THREE
|
||||
<4> /x34 <U0034> DIGIT FOUR
|
||||
<5> /x35 <U0035> DIGIT FIVE
|
||||
<6> /x36 <U0036> DIGIT SIX
|
||||
<7> /x37 <U0037> DIGIT SEVEN
|
||||
<8> /x38 <U0038> DIGIT EIGHT
|
||||
<9> /x39 <U0039> DIGIT NINE
|
||||
<:> /x3A <U003A> COLON
|
||||
<;> /x3B <U003B> SEMICOLON
|
||||
<<> /x3C <U003C> LESS-THAN SIGN
|
||||
<=> /x3D <U003D> EQUALS SIGN
|
||||
</>> /x3E <U003E> GREATER-THAN SIGN
|
||||
<?> /x3F <U003F> QUESTION MARK
|
||||
<At> /x40 <U0040> COMMERCIAL AT
|
||||
<A> /x41 <U0041> LATIN CAPITAL LETTER A
|
||||
<B> /x42 <U0042> LATIN CAPITAL LETTER B
|
||||
<C> /x43 <U0043> LATIN CAPITAL LETTER C
|
||||
<D> /x44 <U0044> LATIN CAPITAL LETTER D
|
||||
<E> /x45 <U0045> LATIN CAPITAL LETTER E
|
||||
<F> /x46 <U0046> LATIN CAPITAL LETTER F
|
||||
<G> /x47 <U0047> LATIN CAPITAL LETTER G
|
||||
<H> /x48 <U0048> LATIN CAPITAL LETTER H
|
||||
<I> /x49 <U0049> LATIN CAPITAL LETTER I
|
||||
<J> /x4A <U004A> LATIN CAPITAL LETTER J
|
||||
<K> /x4B <U004B> LATIN CAPITAL LETTER K
|
||||
<L> /x4C <U004C> LATIN CAPITAL LETTER L
|
||||
<M> /x4D <U004D> LATIN CAPITAL LETTER M
|
||||
<N> /x4E <U004E> LATIN CAPITAL LETTER N
|
||||
<O> /x4F <U004F> LATIN CAPITAL LETTER O
|
||||
<P> /x50 <U0050> LATIN CAPITAL LETTER P
|
||||
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
|
||||
<R> /x52 <U0052> LATIN CAPITAL LETTER R
|
||||
<S> /x53 <U0053> LATIN CAPITAL LETTER S
|
||||
<T> /x54 <U0054> LATIN CAPITAL LETTER T
|
||||
<U> /x55 <U0055> LATIN CAPITAL LETTER U
|
||||
<V> /x56 <U0056> LATIN CAPITAL LETTER V
|
||||
<W> /x57 <U0057> LATIN CAPITAL LETTER W
|
||||
<X> /x58 <U0058> LATIN CAPITAL LETTER X
|
||||
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
|
||||
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
|
||||
<<(> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<////> /x5C <U005C> REVERSE SOLIDUS
|
||||
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<_> /x5F <U005F> LOW LINE
|
||||
<'!> /x60 <U0060> GRAVE ACCENT
|
||||
<a> /x61 <U0061> LATIN SMALL LETTER A
|
||||
<b> /x62 <U0062> LATIN SMALL LETTER B
|
||||
<c> /x63 <U0063> LATIN SMALL LETTER C
|
||||
<d> /x64 <U0064> LATIN SMALL LETTER D
|
||||
<e> /x65 <U0065> LATIN SMALL LETTER E
|
||||
<f> /x66 <U0066> LATIN SMALL LETTER F
|
||||
<g> /x67 <U0067> LATIN SMALL LETTER G
|
||||
<h> /x68 <U0068> LATIN SMALL LETTER H
|
||||
<i> /x69 <U0069> LATIN SMALL LETTER I
|
||||
<j> /x6A <U006A> LATIN SMALL LETTER J
|
||||
<k> /x6B <U006B> LATIN SMALL LETTER K
|
||||
<l> /x6C <U006C> LATIN SMALL LETTER L
|
||||
<m> /x6D <U006D> LATIN SMALL LETTER M
|
||||
<n> /x6E <U006E> LATIN SMALL LETTER N
|
||||
<o> /x6F <U006F> LATIN SMALL LETTER O
|
||||
<p> /x70 <U0070> LATIN SMALL LETTER P
|
||||
<q> /x71 <U0071> LATIN SMALL LETTER Q
|
||||
<r> /x72 <U0072> LATIN SMALL LETTER R
|
||||
<s> /x73 <U0073> LATIN SMALL LETTER S
|
||||
<t> /x74 <U0074> LATIN SMALL LETTER T
|
||||
<u> /x75 <U0075> LATIN SMALL LETTER U
|
||||
<v> /x76 <U0076> LATIN SMALL LETTER V
|
||||
<w> /x77 <U0077> LATIN SMALL LETTER W
|
||||
<x> /x78 <U0078> LATIN SMALL LETTER X
|
||||
<y> /x79 <U0079> LATIN SMALL LETTER Y
|
||||
<z> /x7A <U007A> LATIN SMALL LETTER Z
|
||||
<(!> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<!!> /x7C <U007C> VERTICAL LINE
|
||||
<!)> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<'?> /x7E <U007E> TILDE
|
||||
<DT> /x7F <U007F> DELETE (DEL)
|
||||
<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
|
||||
<f2> /x83 <U0192> LATIN SMALL LETTER F WITH HOOK
|
||||
<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
|
||||
<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
|
||||
<//-> /x86 <U2020> DAGGER
|
||||
<//=> /x87 <U2021> DOUBLE DAGGER
|
||||
<1/>> /x88 <U02C6> MODIFIER LETTER CIRCUMFLEX ACCENT
|
||||
<%0> /x89 <U2030> PER MILLE SIGN
|
||||
<S<> /x8A <U0160> LATIN CAPITAL LETTER S WITH CARON
|
||||
<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
|
||||
<OE> /x8C <U0152> LATIN CAPITAL LIGATURE OE
|
||||
<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
|
||||
<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
|
||||
<"6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
|
||||
<"9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
|
||||
<sb> /x95 <U2022> BULLET
|
||||
<-N> /x96 <U2013> EN DASH
|
||||
<-M> /x97 <U2014> EM DASH
|
||||
<1?> /x98 <U02DC> SMALL TILDE
|
||||
<TM> /x99 <U2122> TRADE MARK SIGN
|
||||
<s<> /x9A <U0161> LATIN SMALL LETTER S WITH CARON
|
||||
</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
|
||||
<oe> /x9C <U0153> LATIN SMALL LIGATURE OE
|
||||
<Y:> /x9F <U0178> LATIN CAPITAL LETTER Y WITH DIAERESIS
|
||||
<NS> /xA0 <U00A0> NO-BREAK SPACE
|
||||
<!I> /xA1 <U00A1> INVERTED EXCLAMATION MARK
|
||||
<Ct> /xA2 <U00A2> CENT SIGN
|
||||
<Pd> /xA3 <U00A3> POUND SIGN
|
||||
<Cu> /xA4 <U00A4> CURRENCY SIGN
|
||||
<Ye> /xA5 <U00A5> YEN SIGN
|
||||
<BB> /xA6 <U00A6> BROKEN BAR
|
||||
<SE> /xA7 <U00A7> SECTION SIGN
|
||||
<':> /xA8 <U00A8> DIAERESIS
|
||||
<Co> /xA9 <U00A9> COPYRIGHT SIGN
|
||||
<-a> /xAA <U00AA> FEMININE ORDINAL INDICATOR
|
||||
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<NO> /xAC <U00AC> NOT SIGN
|
||||
<--> /xAD <U00AD> SOFT HYPHEN
|
||||
<Rg> /xAE <U00AE> REGISTERED SIGN
|
||||
<'m> /xAF <U00AF> MACRON
|
||||
<DG> /xB0 <U00B0> DEGREE SIGN
|
||||
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
|
||||
<2S> /xB2 <U00B2> SUPERSCRIPT TWO
|
||||
<3S> /xB3 <U00B3> SUPERSCRIPT THREE
|
||||
<''> /xB4 <U00B4> ACUTE ACCENT
|
||||
<My> /xB5 <U00B5> MICRO SIGN
|
||||
<PI> /xB6 <U00B6> PILCROW SIGN
|
||||
<.M> /xB7 <U00B7> MIDDLE DOT
|
||||
<',> /xB8 <U00B8> CEDILLA
|
||||
<1S> /xB9 <U00B9> SUPERSCRIPT ONE
|
||||
<-o> /xBA <U00BA> MASCULINE ORDINAL INDICATOR
|
||||
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<14> /xBC <U00BC> VULGAR FRACTION ONE QUARTER
|
||||
<12> /xBD <U00BD> VULGAR FRACTION ONE HALF
|
||||
<34> /xBE <U00BE> VULGAR FRACTION THREE QUARTERS
|
||||
<?I> /xBF <U00BF> INVERTED QUESTION MARK
|
||||
<A!> /xC0 <U00C0> LATIN CAPITAL LETTER A WITH GRAVE
|
||||
<A'> /xC1 <U00C1> LATIN CAPITAL LETTER A WITH ACUTE
|
||||
<A/>> /xC2 <U00C2> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
|
||||
<A?> /xC3 <U00C3> LATIN CAPITAL LETTER A WITH TILDE
|
||||
<A:> /xC4 <U00C4> LATIN CAPITAL LETTER A WITH DIAERESIS
|
||||
<AA> /xC5 <U00C5> LATIN CAPITAL LETTER A WITH RING ABOVE
|
||||
<AE> /xC6 <U00C6> LATIN CAPITAL LETTER AE
|
||||
<C,> /xC7 <U00C7> LATIN CAPITAL LETTER C WITH CEDILLA
|
||||
<E!> /xC8 <U00C8> LATIN CAPITAL LETTER E WITH GRAVE
|
||||
<E'> /xC9 <U00C9> LATIN CAPITAL LETTER E WITH ACUTE
|
||||
<E/>> /xCA <U00CA> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
|
||||
<E:> /xCB <U00CB> LATIN CAPITAL LETTER E WITH DIAERESIS
|
||||
<I!> /xCC <U00CC> LATIN CAPITAL LETTER I WITH GRAVE
|
||||
<I'> /xCD <U00CD> LATIN CAPITAL LETTER I WITH ACUTE
|
||||
<I/>> /xCE <U00CE> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
|
||||
<I:> /xCF <U00CF> LATIN CAPITAL LETTER I WITH DIAERESIS
|
||||
<G(> /xD0 <U011E> LATIN CAPITAL LETTER G WITH BREVE
|
||||
<N?> /xD1 <U00D1> LATIN CAPITAL LETTER N WITH TILDE
|
||||
<O!> /xD2 <U00D2> LATIN CAPITAL LETTER O WITH GRAVE
|
||||
<O'> /xD3 <U00D3> LATIN CAPITAL LETTER O WITH ACUTE
|
||||
<O/>> /xD4 <U00D4> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
|
||||
<O?> /xD5 <U00D5> LATIN CAPITAL LETTER O WITH TILDE
|
||||
<O:> /xD6 <U00D6> LATIN CAPITAL LETTER O WITH DIAERESIS
|
||||
<*X> /xD7 <U00D7> MULTIPLICATION SIGN
|
||||
<O//> /xD8 <U00D8> LATIN CAPITAL LETTER O WITH STROKE
|
||||
<U!> /xD9 <U00D9> LATIN CAPITAL LETTER U WITH GRAVE
|
||||
<U'> /xDA <U00DA> LATIN CAPITAL LETTER U WITH ACUTE
|
||||
<U/>> /xDB <U00DB> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
|
||||
<U:> /xDC <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS
|
||||
<I.> /xDD <U0130> LATIN CAPITAL LETTER I WITH DOT ABOVE
|
||||
<S,> /xDE <U015E> LATIN CAPITAL LETTER S WITH CEDILLA
|
||||
<ss> /xDF <U00DF> LATIN SMALL LETTER SHARP S (German)
|
||||
<a!> /xE0 <U00E0> LATIN SMALL LETTER A WITH GRAVE
|
||||
<a'> /xE1 <U00E1> LATIN SMALL LETTER A WITH ACUTE
|
||||
<a/>> /xE2 <U00E2> LATIN SMALL LETTER A WITH CIRCUMFLEX
|
||||
<a?> /xE3 <U00E3> LATIN SMALL LETTER A WITH TILDE
|
||||
<a:> /xE4 <U00E4> LATIN SMALL LETTER A WITH DIAERESIS
|
||||
<aa> /xE5 <U00E5> LATIN SMALL LETTER A WITH RING ABOVE
|
||||
<ae> /xE6 <U00E6> LATIN SMALL LETTER AE
|
||||
<c,> /xE7 <U00E7> LATIN SMALL LETTER C WITH CEDILLA
|
||||
<e!> /xE8 <U00E8> LATIN SMALL LETTER E WITH GRAVE
|
||||
<e'> /xE9 <U00E9> LATIN SMALL LETTER E WITH ACUTE
|
||||
<e;> /xEA <U0119> LATIN SMALL LETTER E WITH OGONEK
|
||||
<e:> /xEB <U00EB> LATIN SMALL LETTER E WITH DIAERESIS
|
||||
<e.> /xEC <U0117> LATIN SMALL LETTER E WITH DOT ABOVE
|
||||
<i'> /xED <U00ED> LATIN SMALL LETTER I WITH ACUTE
|
||||
<i/>> /xEE <U00EE> LATIN SMALL LETTER I WITH CIRCUMFLEX
|
||||
<i-> /xEF <U012B> LATIN SMALL LETTER I WITH MACRON
|
||||
<g(> /xF0 <U011F> LATIN SMALL LETTER G WITH BREVE
|
||||
<n?> /xF1 <U00F1> LATIN SMALL LETTER N WITH TILDE
|
||||
<o!> /xF2 <U00F2> LATIN SMALL LETTER O WITH GRAVE
|
||||
<o'> /xF3 <U00F3> LATIN SMALL LETTER O WITH ACUTE
|
||||
<o/>> /xF4 <U00F4> LATIN SMALL LETTER O WITH CIRCUMFLEX
|
||||
<o?> /xF5 <U00F5> LATIN SMALL LETTER O WITH TILDE
|
||||
<o:> /xF6 <U00F6> LATIN SMALL LETTER O WITH DIAERESIS
|
||||
<-:> /xF7 <U00F7> DIVISION SIGN
|
||||
<o//> /xF8 <U00F8> LATIN SMALL LETTER O WITH STROKE
|
||||
<u!> /xF9 <U00F9> LATIN SMALL LETTER U WITH GRAVE
|
||||
<u'> /xFA <U00FA> LATIN SMALL LETTER U WITH ACUTE
|
||||
<u/>> /xFB <U00FB> LATIN SMALL LETTER U WITH CIRCUMFLEX
|
||||
<u:> /xFC <U00FC> LATIN SMALL LETTER U WITH DIAERESIS
|
||||
<i.> /xFD <U0131> LATIN SMALL LETTER DOTLESS I
|
||||
<s,> /xFE <U015F> LATIN SMALL LETTER S WITH CEDILLA
|
||||
<y:> /xFF <U00FF> LATIN SMALL LETTER Y WITH DIAERESIS
|
||||
<NUL> /x00 <U0000> NUL
|
||||
<SOH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<STX> /x02 <U0002> START OF TEXT (STX)
|
||||
<ETX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<alert> /x07 <U0007> BELL (BEL)
|
||||
<BEL> /x07 <U0007> BELL (BEL)
|
||||
<backspace> /x08 <U0008> BACKSPACE (BS)
|
||||
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<newline> /x0A <U000A> LINE FEED (LF)
|
||||
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
|
||||
<form-feed> /x0C <U000C> FORM FEED (FF)
|
||||
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CAN> /x18 <U0018> CANCEL (CAN)
|
||||
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<ESC> /x1B <U001B> ESCAPE (ESC)
|
||||
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<DEL> /x7F <U007F> DELETE (DEL)
|
||||
<space> /x20 <U0020> SPACE
|
||||
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
|
||||
<quotation-mark> /x22 <U0022> QUOTATION MARK
|
||||
<number-sign> /x23 <U0023> NUMBER SIGN
|
||||
<dollar-sign> /x24 <U0024> DOLLAR SIGN
|
||||
<percent-sign> /x25 <U0025> PERCENT SIGN
|
||||
<ampersand> /x26 <U0026> AMPERSAND
|
||||
<apostrophe> /x27 <U0027> APOSTROPHE
|
||||
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
|
||||
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<asterisk> /x2A <U002A> ASTERISK
|
||||
<plus-sign> /x2B <U002B> PLUS SIGN
|
||||
<comma> /x2C <U002C> COMMA
|
||||
<hyphen> /x2D <U002D> HYPHEN-MINUS
|
||||
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
|
||||
<period> /x2E <U002E> FULL STOP
|
||||
<full-stop> /x2E <U002E> FULL STOP
|
||||
<slash> /x2F <U002F> SOLIDUS
|
||||
<solidus> /x2F <U002F> SOLIDUS
|
||||
<zero> /x30 <U0030> DIGIT ZERO
|
||||
<one> /x31 <U0031> DIGIT ONE
|
||||
<two> /x32 <U0032> DIGIT TWO
|
||||
<three> /x33 <U0033> DIGIT THREE
|
||||
<four> /x34 <U0034> DIGIT FOUR
|
||||
<five> /x35 <U0035> DIGIT FIVE
|
||||
<six> /x36 <U0036> DIGIT SIX
|
||||
<seven> /x37 <U0037> DIGIT SEVEN
|
||||
<eight> /x38 <U0038> DIGIT EIGHT
|
||||
<nine> /x39 <U0039> DIGIT NINE
|
||||
<colon> /x3A <U003A> COLON
|
||||
<semicolon> /x3B <U003B> SEMICOLON
|
||||
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
|
||||
<equals-sign> /x3D <U003D> EQUALS SIGN
|
||||
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
|
||||
<question-mark> /x3F <U003F> QUESTION MARK
|
||||
<commercial-at> /x40 <U0040> COMMERCIAL AT
|
||||
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<backslash> /x5C <U005C> REVERSE SOLIDUS
|
||||
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
|
||||
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<underscore> /x5F <U005F> LOW LINE
|
||||
<low-line> /x5F <U005F> LOW LINE
|
||||
<grave-accent> /x60 <U0060> GRAVE ACCENT
|
||||
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<vertical-line> /x7C <U007C> VERTICAL LINE
|
||||
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<tilde> /x7E <U007E> TILDE
|
||||
END CHARMAP
|
||||
@@ -0,0 +1,296 @@
|
||||
<code_set_name> CP1255
|
||||
<comment_char> %
|
||||
<escape_char> /
|
||||
% source: UNICODE 1.0
|
||||
|
||||
% alias MS-HEBR
|
||||
CHARMAP
|
||||
<NU> /x00 <U0000> NULL (NUL)
|
||||
<SH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<SX> /x02 <U0002> START OF TEXT (STX)
|
||||
<EX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<EQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<BL> /x07 <U0007> BELL (BEL)
|
||||
<BS> /x08 <U0008> BACKSPACE (BS)
|
||||
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<LF> /x0A <U000A> LINE FEED (LF)
|
||||
<VT> /x0B <U000B> LINE TABULATION (VT)
|
||||
<FF> /x0C <U000C> FORM FEED (FF)
|
||||
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<SO> /x0E <U000E> SHIFT OUT (SO)
|
||||
<SI> /x0F <U000F> SHIFT IN (SI)
|
||||
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CN> /x18 <U0018> CANCEL (CAN)
|
||||
<EM> /x19 <U0019> END OF MEDIUM (EM)
|
||||
<SB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<EC> /x1B <U001B> ESCAPE (ESC)
|
||||
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<SP> /x20 <U0020> SPACE
|
||||
<!> /x21 <U0021> EXCLAMATION MARK
|
||||
<"> /x22 <U0022> QUOTATION MARK
|
||||
<Nb> /x23 <U0023> NUMBER SIGN
|
||||
<DO> /x24 <U0024> DOLLAR SIGN
|
||||
<%> /x25 <U0025> PERCENT SIGN
|
||||
<&> /x26 <U0026> AMPERSAND
|
||||
<'> /x27 <U0027> APOSTROPHE
|
||||
<(> /x28 <U0028> LEFT PARENTHESIS
|
||||
<)> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<*> /x2A <U002A> ASTERISK
|
||||
<+> /x2B <U002B> PLUS SIGN
|
||||
<,> /x2C <U002C> COMMA
|
||||
<-> /x2D <U002D> HYPHEN-MINUS
|
||||
<.> /x2E <U002E> FULL STOP
|
||||
<//> /x2F <U002F> SOLIDUS
|
||||
<0> /x30 <U0030> DIGIT ZERO
|
||||
<1> /x31 <U0031> DIGIT ONE
|
||||
<2> /x32 <U0032> DIGIT TWO
|
||||
<3> /x33 <U0033> DIGIT THREE
|
||||
<4> /x34 <U0034> DIGIT FOUR
|
||||
<5> /x35 <U0035> DIGIT FIVE
|
||||
<6> /x36 <U0036> DIGIT SIX
|
||||
<7> /x37 <U0037> DIGIT SEVEN
|
||||
<8> /x38 <U0038> DIGIT EIGHT
|
||||
<9> /x39 <U0039> DIGIT NINE
|
||||
<:> /x3A <U003A> COLON
|
||||
<;> /x3B <U003B> SEMICOLON
|
||||
<<> /x3C <U003C> LESS-THAN SIGN
|
||||
<=> /x3D <U003D> EQUALS SIGN
|
||||
</>> /x3E <U003E> GREATER-THAN SIGN
|
||||
<?> /x3F <U003F> QUESTION MARK
|
||||
<At> /x40 <U0040> COMMERCIAL AT
|
||||
<A> /x41 <U0041> LATIN CAPITAL LETTER A
|
||||
<B> /x42 <U0042> LATIN CAPITAL LETTER B
|
||||
<C> /x43 <U0043> LATIN CAPITAL LETTER C
|
||||
<D> /x44 <U0044> LATIN CAPITAL LETTER D
|
||||
<E> /x45 <U0045> LATIN CAPITAL LETTER E
|
||||
<F> /x46 <U0046> LATIN CAPITAL LETTER F
|
||||
<G> /x47 <U0047> LATIN CAPITAL LETTER G
|
||||
<H> /x48 <U0048> LATIN CAPITAL LETTER H
|
||||
<I> /x49 <U0049> LATIN CAPITAL LETTER I
|
||||
<J> /x4A <U004A> LATIN CAPITAL LETTER J
|
||||
<K> /x4B <U004B> LATIN CAPITAL LETTER K
|
||||
<L> /x4C <U004C> LATIN CAPITAL LETTER L
|
||||
<M> /x4D <U004D> LATIN CAPITAL LETTER M
|
||||
<N> /x4E <U004E> LATIN CAPITAL LETTER N
|
||||
<O> /x4F <U004F> LATIN CAPITAL LETTER O
|
||||
<P> /x50 <U0050> LATIN CAPITAL LETTER P
|
||||
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
|
||||
<R> /x52 <U0052> LATIN CAPITAL LETTER R
|
||||
<S> /x53 <U0053> LATIN CAPITAL LETTER S
|
||||
<T> /x54 <U0054> LATIN CAPITAL LETTER T
|
||||
<U> /x55 <U0055> LATIN CAPITAL LETTER U
|
||||
<V> /x56 <U0056> LATIN CAPITAL LETTER V
|
||||
<W> /x57 <U0057> LATIN CAPITAL LETTER W
|
||||
<X> /x58 <U0058> LATIN CAPITAL LETTER X
|
||||
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
|
||||
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
|
||||
<<(> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<////> /x5C <U005C> REVERSE SOLIDUS
|
||||
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<_> /x5F <U005F> LOW LINE
|
||||
<'!> /x60 <U0060> GRAVE ACCENT
|
||||
<a> /x61 <U0061> LATIN SMALL LETTER A
|
||||
<b> /x62 <U0062> LATIN SMALL LETTER B
|
||||
<c> /x63 <U0063> LATIN SMALL LETTER C
|
||||
<d> /x64 <U0064> LATIN SMALL LETTER D
|
||||
<e> /x65 <U0065> LATIN SMALL LETTER E
|
||||
<f> /x66 <U0066> LATIN SMALL LETTER F
|
||||
<g> /x67 <U0067> LATIN SMALL LETTER G
|
||||
<h> /x68 <U0068> LATIN SMALL LETTER H
|
||||
<i> /x69 <U0069> LATIN SMALL LETTER I
|
||||
<j> /x6A <U006A> LATIN SMALL LETTER J
|
||||
<k> /x6B <U006B> LATIN SMALL LETTER K
|
||||
<l> /x6C <U006C> LATIN SMALL LETTER L
|
||||
<m> /x6D <U006D> LATIN SMALL LETTER M
|
||||
<n> /x6E <U006E> LATIN SMALL LETTER N
|
||||
<o> /x6F <U006F> LATIN SMALL LETTER O
|
||||
<p> /x70 <U0070> LATIN SMALL LETTER P
|
||||
<q> /x71 <U0071> LATIN SMALL LETTER Q
|
||||
<r> /x72 <U0072> LATIN SMALL LETTER R
|
||||
<s> /x73 <U0073> LATIN SMALL LETTER S
|
||||
<t> /x74 <U0074> LATIN SMALL LETTER T
|
||||
<u> /x75 <U0075> LATIN SMALL LETTER U
|
||||
<v> /x76 <U0076> LATIN SMALL LETTER V
|
||||
<w> /x77 <U0077> LATIN SMALL LETTER W
|
||||
<x> /x78 <U0078> LATIN SMALL LETTER X
|
||||
<y> /x79 <U0079> LATIN SMALL LETTER Y
|
||||
<z> /x7A <U007A> LATIN SMALL LETTER Z
|
||||
<(!> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<!!> /x7C <U007C> VERTICAL LINE
|
||||
<!)> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<'?> /x7E <U007E> TILDE
|
||||
<DT> /x7F <U007F> DELETE (DEL)
|
||||
<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
|
||||
<f2> /x83 <U0192> LATIN SMALL LETTER F WITH HOOK
|
||||
<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
|
||||
<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
|
||||
<//-> /x86 <U2020> DAGGER
|
||||
<//=> /x87 <U2021> DOUBLE DAGGER
|
||||
<%0> /x89 <U2030> PER MILLE SIGN
|
||||
<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
|
||||
<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
|
||||
<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
|
||||
<"6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
|
||||
<"9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
|
||||
<sb> /x95 <U2022> BULLET
|
||||
<-N> /x96 <U2013> EN DASH
|
||||
<-M> /x97 <U2014> EM DASH
|
||||
<TM> /x99 <U2122> TRADE MARK SIGN
|
||||
</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
|
||||
<NS> /xA0 <U00A0> NO-BREAK SPACE
|
||||
<Ct> /xA2 <U00A2> CENT SIGN
|
||||
<Pd> /xA3 <U00A3> POUND SIGN
|
||||
<Cu> /xA4 <U00A4> CURRENCY SIGN
|
||||
<Ye> /xA5 <U00A5> YEN SIGN
|
||||
<BB> /xA6 <U00A6> BROKEN BAR
|
||||
<SE> /xA7 <U00A7> SECTION SIGN
|
||||
<':> /xA8 <U00A8> DIAERESIS
|
||||
<Co> /xA9 <U00A9> COPYRIGHT SIGN
|
||||
<*X> /xAA <U00D7> MULTIPLICATION SIGN
|
||||
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<NO> /xAC <U00AC> NOT SIGN
|
||||
<--> /xAD <U00AD> SOFT HYPHEN
|
||||
<Rg> /xAE <U00AE> REGISTERED SIGN
|
||||
<'-> /xAF <U203E> OVERLINE
|
||||
<DG> /xB0 <U00B0> DEGREE SIGN
|
||||
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
|
||||
<2S> /xB2 <U00B2> SUPERSCRIPT TWO
|
||||
<3S> /xB3 <U00B3> SUPERSCRIPT THREE
|
||||
<''> /xB4 <U00B4> ACUTE ACCENT
|
||||
<My> /xB5 <U00B5> MICRO SIGN
|
||||
<PI> /xB6 <U00B6> PILCROW SIGN
|
||||
<.M> /xB7 <U00B7> MIDDLE DOT
|
||||
<',> /xB8 <U00B8> CEDILLA
|
||||
<1S> /xB9 <U00B9> SUPERSCRIPT ONE
|
||||
<-:> /xBA <U00F7> DIVISION SIGN
|
||||
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<14> /xBC <U00BC> VULGAR FRACTION ONE QUARTER
|
||||
<12> /xBD <U00BD> VULGAR FRACTION ONE HALF
|
||||
<34> /xBE <U00BE> VULGAR FRACTION THREE QUARTERS
|
||||
<=2> /xDF <U2017> DOUBLE LOW LINE
|
||||
<A+> /xE0 <U05D0> HEBREW LETTER ALEF
|
||||
<B+> /xE1 <U05D1> HEBREW LETTER BET
|
||||
<G+> /xE2 <U05D2> HEBREW LETTER GIMEL
|
||||
<D+> /xE3 <U05D3> HEBREW LETTER DALET
|
||||
<H+> /xE4 <U05D4> HEBREW LETTER HE
|
||||
<W+> /xE5 <U05D5> HEBREW LETTER VAV
|
||||
<Z+> /xE6 <U05D6> HEBREW LETTER ZAYIN
|
||||
<X+> /xE7 <U05D7> HEBREW LETTER HET
|
||||
<Tj> /xE8 <U05D8> HEBREW LETTER TET
|
||||
<J+> /xE9 <U05D9> HEBREW LETTER YOD
|
||||
<K%> /xEA <U05DA> HEBREW LETTER FINAL KAF
|
||||
<K+> /xEB <U05DB> HEBREW LETTER KAF
|
||||
<L+> /xEC <U05DC> HEBREW LETTER LAMED
|
||||
<M%> /xED <U05DD> HEBREW LETTER FINAL MEM
|
||||
<M+> /xEE <U05DE> HEBREW LETTER MEM
|
||||
<N%> /xEF <U05DF> HEBREW LETTER FINAL NUN
|
||||
<N+> /xF0 <U05E0> HEBREW LETTER NUN
|
||||
<S+> /xF1 <U05E1> HEBREW LETTER SAMEKH
|
||||
<E+> /xF2 <U05E2> HEBREW LETTER AYIN
|
||||
<P%> /xF3 <U05E3> HEBREW LETTER FINAL PE
|
||||
<P+> /xF4 <U05E4> HEBREW LETTER PE
|
||||
<Zj> /xF5 <U05E5> HEBREW LETTER FINAL TSADI
|
||||
<ZJ> /xF6 <U05E6> HEBREW LETTER TSADI
|
||||
<Q+> /xF7 <U05E7> HEBREW LETTER QOF
|
||||
<R+> /xF8 <U05E8> HEBREW LETTER RESH
|
||||
<Sh> /xF9 <U05E9> HEBREW LETTER SHIN
|
||||
<T+> /xFA <U05EA> HEBREW LETTER TAV
|
||||
<LR> /xFD <U200E> LEFT-TO-RIGHT MARK
|
||||
<RL> /xFE <U200F> RIGHT-TO-LEFT MARK
|
||||
<NUL> /x00 <U0000> NUL
|
||||
<SOH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<STX> /x02 <U0002> START OF TEXT (STX)
|
||||
<ETX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<alert> /x07 <U0007> BELL (BEL)
|
||||
<BEL> /x07 <U0007> BELL (BEL)
|
||||
<backspace> /x08 <U0008> BACKSPACE (BS)
|
||||
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<newline> /x0A <U000A> LINE FEED (LF)
|
||||
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
|
||||
<form-feed> /x0C <U000C> FORM FEED (FF)
|
||||
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CAN> /x18 <U0018> CANCEL (CAN)
|
||||
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<ESC> /x1B <U001B> ESCAPE (ESC)
|
||||
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<DEL> /x7F <U007F> DELETE (DEL)
|
||||
<space> /x20 <U0020> SPACE
|
||||
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
|
||||
<quotation-mark> /x22 <U0022> QUOTATION MARK
|
||||
<number-sign> /x23 <U0023> NUMBER SIGN
|
||||
<dollar-sign> /x24 <U0024> DOLLAR SIGN
|
||||
<percent-sign> /x25 <U0025> PERCENT SIGN
|
||||
<ampersand> /x26 <U0026> AMPERSAND
|
||||
<apostrophe> /x27 <U0027> APOSTROPHE
|
||||
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
|
||||
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<asterisk> /x2A <U002A> ASTERISK
|
||||
<plus-sign> /x2B <U002B> PLUS SIGN
|
||||
<comma> /x2C <U002C> COMMA
|
||||
<hyphen> /x2D <U002D> HYPHEN-MINUS
|
||||
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
|
||||
<period> /x2E <U002E> FULL STOP
|
||||
<full-stop> /x2E <U002E> FULL STOP
|
||||
<slash> /x2F <U002F> SOLIDUS
|
||||
<solidus> /x2F <U002F> SOLIDUS
|
||||
<zero> /x30 <U0030> DIGIT ZERO
|
||||
<one> /x31 <U0031> DIGIT ONE
|
||||
<two> /x32 <U0032> DIGIT TWO
|
||||
<three> /x33 <U0033> DIGIT THREE
|
||||
<four> /x34 <U0034> DIGIT FOUR
|
||||
<five> /x35 <U0035> DIGIT FIVE
|
||||
<six> /x36 <U0036> DIGIT SIX
|
||||
<seven> /x37 <U0037> DIGIT SEVEN
|
||||
<eight> /x38 <U0038> DIGIT EIGHT
|
||||
<nine> /x39 <U0039> DIGIT NINE
|
||||
<colon> /x3A <U003A> COLON
|
||||
<semicolon> /x3B <U003B> SEMICOLON
|
||||
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
|
||||
<equals-sign> /x3D <U003D> EQUALS SIGN
|
||||
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
|
||||
<question-mark> /x3F <U003F> QUESTION MARK
|
||||
<commercial-at> /x40 <U0040> COMMERCIAL AT
|
||||
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<backslash> /x5C <U005C> REVERSE SOLIDUS
|
||||
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
|
||||
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<underscore> /x5F <U005F> LOW LINE
|
||||
<low-line> /x5F <U005F> LOW LINE
|
||||
<grave-accent> /x60 <U0060> GRAVE ACCENT
|
||||
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<vertical-line> /x7C <U007C> VERTICAL LINE
|
||||
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<tilde> /x7E <U007E> TILDE
|
||||
END CHARMAP
|
||||
@@ -0,0 +1,345 @@
|
||||
<code_set_name> CP1256
|
||||
<comment_char> %
|
||||
<escape_char> /
|
||||
% source: UNICODE 1.0
|
||||
|
||||
% alias MS-ARAB
|
||||
CHARMAP
|
||||
<NU> /x00 <U0000> NULL (NUL)
|
||||
<SH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<SX> /x02 <U0002> START OF TEXT (STX)
|
||||
<EX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<EQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<BL> /x07 <U0007> BELL (BEL)
|
||||
<BS> /x08 <U0008> BACKSPACE (BS)
|
||||
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<LF> /x0A <U000A> LINE FEED (LF)
|
||||
<VT> /x0B <U000B> LINE TABULATION (VT)
|
||||
<FF> /x0C <U000C> FORM FEED (FF)
|
||||
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<SO> /x0E <U000E> SHIFT OUT (SO)
|
||||
<SI> /x0F <U000F> SHIFT IN (SI)
|
||||
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CN> /x18 <U0018> CANCEL (CAN)
|
||||
<EM> /x19 <U0019> END OF MEDIUM (EM)
|
||||
<SB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<EC> /x1B <U001B> ESCAPE (ESC)
|
||||
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<SP> /x20 <U0020> SPACE
|
||||
<!> /x21 <U0021> EXCLAMATION MARK
|
||||
<"> /x22 <U0022> QUOTATION MARK
|
||||
<Nb> /x23 <U0023> NUMBER SIGN
|
||||
<DO> /x24 <U0024> DOLLAR SIGN
|
||||
<%> /x25 <U0025> PERCENT SIGN
|
||||
<&> /x26 <U0026> AMPERSAND
|
||||
<'> /x27 <U0027> APOSTROPHE
|
||||
<(> /x28 <U0028> LEFT PARENTHESIS
|
||||
<)> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<*> /x2A <U002A> ASTERISK
|
||||
<+> /x2B <U002B> PLUS SIGN
|
||||
<,> /x2C <U002C> COMMA
|
||||
<-> /x2D <U002D> HYPHEN-MINUS
|
||||
<.> /x2E <U002E> FULL STOP
|
||||
<//> /x2F <U002F> SOLIDUS
|
||||
<0> /x30 <U0030> DIGIT ZERO
|
||||
<1> /x31 <U0031> DIGIT ONE
|
||||
<2> /x32 <U0032> DIGIT TWO
|
||||
<3> /x33 <U0033> DIGIT THREE
|
||||
<4> /x34 <U0034> DIGIT FOUR
|
||||
<5> /x35 <U0035> DIGIT FIVE
|
||||
<6> /x36 <U0036> DIGIT SIX
|
||||
<7> /x37 <U0037> DIGIT SEVEN
|
||||
<8> /x38 <U0038> DIGIT EIGHT
|
||||
<9> /x39 <U0039> DIGIT NINE
|
||||
<:> /x3A <U003A> COLON
|
||||
<;> /x3B <U003B> SEMICOLON
|
||||
<<> /x3C <U003C> LESS-THAN SIGN
|
||||
<=> /x3D <U003D> EQUALS SIGN
|
||||
</>> /x3E <U003E> GREATER-THAN SIGN
|
||||
<?> /x3F <U003F> QUESTION MARK
|
||||
<At> /x40 <U0040> COMMERCIAL AT
|
||||
<A> /x41 <U0041> LATIN CAPITAL LETTER A
|
||||
<B> /x42 <U0042> LATIN CAPITAL LETTER B
|
||||
<C> /x43 <U0043> LATIN CAPITAL LETTER C
|
||||
<D> /x44 <U0044> LATIN CAPITAL LETTER D
|
||||
<E> /x45 <U0045> LATIN CAPITAL LETTER E
|
||||
<F> /x46 <U0046> LATIN CAPITAL LETTER F
|
||||
<G> /x47 <U0047> LATIN CAPITAL LETTER G
|
||||
<H> /x48 <U0048> LATIN CAPITAL LETTER H
|
||||
<I> /x49 <U0049> LATIN CAPITAL LETTER I
|
||||
<J> /x4A <U004A> LATIN CAPITAL LETTER J
|
||||
<K> /x4B <U004B> LATIN CAPITAL LETTER K
|
||||
<L> /x4C <U004C> LATIN CAPITAL LETTER L
|
||||
<M> /x4D <U004D> LATIN CAPITAL LETTER M
|
||||
<N> /x4E <U004E> LATIN CAPITAL LETTER N
|
||||
<O> /x4F <U004F> LATIN CAPITAL LETTER O
|
||||
<P> /x50 <U0050> LATIN CAPITAL LETTER P
|
||||
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
|
||||
<R> /x52 <U0052> LATIN CAPITAL LETTER R
|
||||
<S> /x53 <U0053> LATIN CAPITAL LETTER S
|
||||
<T> /x54 <U0054> LATIN CAPITAL LETTER T
|
||||
<U> /x55 <U0055> LATIN CAPITAL LETTER U
|
||||
<V> /x56 <U0056> LATIN CAPITAL LETTER V
|
||||
<W> /x57 <U0057> LATIN CAPITAL LETTER W
|
||||
<X> /x58 <U0058> LATIN CAPITAL LETTER X
|
||||
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
|
||||
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
|
||||
<<(> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<////> /x5C <U005C> REVERSE SOLIDUS
|
||||
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<_> /x5F <U005F> LOW LINE
|
||||
<'!> /x60 <U0060> GRAVE ACCENT
|
||||
<a> /x61 <U0061> LATIN SMALL LETTER A
|
||||
<b> /x62 <U0062> LATIN SMALL LETTER B
|
||||
<c> /x63 <U0063> LATIN SMALL LETTER C
|
||||
<d> /x64 <U0064> LATIN SMALL LETTER D
|
||||
<e> /x65 <U0065> LATIN SMALL LETTER E
|
||||
<f> /x66 <U0066> LATIN SMALL LETTER F
|
||||
<g> /x67 <U0067> LATIN SMALL LETTER G
|
||||
<h> /x68 <U0068> LATIN SMALL LETTER H
|
||||
<i> /x69 <U0069> LATIN SMALL LETTER I
|
||||
<j> /x6A <U006A> LATIN SMALL LETTER J
|
||||
<k> /x6B <U006B> LATIN SMALL LETTER K
|
||||
<l> /x6C <U006C> LATIN SMALL LETTER L
|
||||
<m> /x6D <U006D> LATIN SMALL LETTER M
|
||||
<n> /x6E <U006E> LATIN SMALL LETTER N
|
||||
<o> /x6F <U006F> LATIN SMALL LETTER O
|
||||
<p> /x70 <U0070> LATIN SMALL LETTER P
|
||||
<q> /x71 <U0071> LATIN SMALL LETTER Q
|
||||
<r> /x72 <U0072> LATIN SMALL LETTER R
|
||||
<s> /x73 <U0073> LATIN SMALL LETTER S
|
||||
<t> /x74 <U0074> LATIN SMALL LETTER T
|
||||
<u> /x75 <U0075> LATIN SMALL LETTER U
|
||||
<v> /x76 <U0076> LATIN SMALL LETTER V
|
||||
<w> /x77 <U0077> LATIN SMALL LETTER W
|
||||
<x> /x78 <U0078> LATIN SMALL LETTER X
|
||||
<y> /x79 <U0079> LATIN SMALL LETTER Y
|
||||
<z> /x7A <U007A> LATIN SMALL LETTER Z
|
||||
<(!> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<!!> /x7C <U007C> VERTICAL LINE
|
||||
<!)> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<'?> /x7E <U007E> TILDE
|
||||
<DT> /x7F <U007F> DELETE (DEL)
|
||||
<,+> /x80 <U060C> ARABIC COMMA
|
||||
<0a> /x81 <U0660> ARABIC-INDIC DIGIT ZERO
|
||||
<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
|
||||
<1a> /x83 <U0661> ARABIC-INDIC DIGIT ONE
|
||||
<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
|
||||
<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
|
||||
<//-> /x86 <U2020> DAGGER
|
||||
<//=> /x87 <U2021> DOUBLE DAGGER
|
||||
<2a> /x88 <U0662> ARABIC-INDIC DIGIT TWO
|
||||
<3a> /x89 <U0663> ARABIC-INDIC DIGIT THREE
|
||||
<4a> /x8A <U0664> ARABIC-INDIC DIGIT FOUR
|
||||
<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
|
||||
<5a> /x8C <U0665> ARABIC-INDIC DIGIT FIVE
|
||||
<6a> /x8D <U0666> ARABIC-INDIC DIGIT SIX
|
||||
<7a> /x8E <U0667> ARABIC-INDIC DIGIT SEVEN
|
||||
<8a> /x8F <U0668> ARABIC-INDIC DIGIT EIGHT
|
||||
<9a> /x90 <U0669> ARABIC-INDIC DIGIT NINE
|
||||
<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
|
||||
<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
|
||||
<"6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
|
||||
<"9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
|
||||
<sb> /x95 <U2022> BULLET
|
||||
<-N> /x96 <U2013> EN DASH
|
||||
<-M> /x97 <U2014> EM DASH
|
||||
<;+> /x98 <U061B> ARABIC SEMICOLON
|
||||
<TM> /x99 <U2122> TRADE MARK SIGN
|
||||
<?+> /x9A <U061F> ARABIC QUESTION MARK
|
||||
</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
|
||||
<H'> /x9C <U0621> ARABIC LETTER HAMZA
|
||||
<aM> /x9D <U0622> ARABIC LETTER ALEF WITH MADDA ABOVE
|
||||
<aH> /x9E <U0623> ARABIC LETTER ALEF WITH HAMZA ABOVE
|
||||
<Y:> /x9F <U0178> LATIN CAPITAL LETTER Y WITH DIAERESIS
|
||||
<NS> /xA0 <U00A0> NO-BREAK SPACE
|
||||
<wH> /xA1 <U0624> ARABIC LETTER WAW WITH HAMZA ABOVE
|
||||
<ah> /xA2 <U0625> ARABIC LETTER ALEF WITH HAMZA BELOW
|
||||
<Pd> /xA3 <U00A3> POUND SIGN
|
||||
<Cu> /xA4 <U00A4> CURRENCY SIGN
|
||||
<yH> /xA5 <U0626> ARABIC LETTER YEH WITH HAMZA ABOVE
|
||||
<BB> /xA6 <U00A6> BROKEN BAR
|
||||
<SE> /xA7 <U00A7> SECTION SIGN
|
||||
<a+> /xA8 <U0627> ARABIC LETTER ALEF
|
||||
<Co> /xA9 <U00A9> COPYRIGHT SIGN
|
||||
<b+> /xAA <U0628> ARABIC LETTER BEH
|
||||
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<NO> /xAC <U00AC> NOT SIGN
|
||||
<--> /xAD <U00AD> SOFT HYPHEN
|
||||
<Rg> /xAE <U00AE> REGISTERED SIGN
|
||||
<p+> /xAF <U067E> ARABIC LETTER PEH
|
||||
<DG> /xB0 <U00B0> DEGREE SIGN
|
||||
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
|
||||
<tm> /xB2 <U0629> ARABIC LETTER TEH MARBUTA
|
||||
<t+> /xB3 <U062A> ARABIC LETTER TEH
|
||||
<tk> /xB4 <U062B> ARABIC LETTER THEH
|
||||
<My> /xB5 <U00B5> MICRO SIGN
|
||||
<PI> /xB6 <U00B6> PILCROW SIGN
|
||||
<.M> /xB7 <U00B7> MIDDLE DOT
|
||||
<g+> /xB8 <U062C> ARABIC LETTER JEEM
|
||||
<tc> /xB9 <U0686> ARABIC LETTER TCHEH
|
||||
<hk> /xBA <U062D> ARABIC LETTER HAH
|
||||
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
<x+> /xBC <U062E> ARABIC LETTER KHAH
|
||||
<d+> /xBD <U062F> ARABIC LETTER DAL
|
||||
<dk> /xBE <U0630> ARABIC LETTER THAL
|
||||
<r+> /xBF <U0631> ARABIC LETTER REH
|
||||
<A!> /xC0 <U00C0> LATIN CAPITAL LETTER A WITH GRAVE
|
||||
<z+> /xC1 <U0632> ARABIC LETTER ZAIN
|
||||
<A/>> /xC2 <U00C2> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
|
||||
<zj> /xC3 <U0698> ARABIC LETTER JEH
|
||||
<s+> /xC4 <U0633> ARABIC LETTER SEEN
|
||||
<sn> /xC5 <U0634> ARABIC LETTER SHEEN
|
||||
<c+> /xC6 <U0635> ARABIC LETTER SAD
|
||||
<C,> /xC7 <U00C7> LATIN CAPITAL LETTER C WITH CEDILLA
|
||||
<E!> /xC8 <U00C8> LATIN CAPITAL LETTER E WITH GRAVE
|
||||
<E'> /xC9 <U00C9> LATIN CAPITAL LETTER E WITH ACUTE
|
||||
<E/>> /xCA <U00CA> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
|
||||
<E:> /xCB <U00CB> LATIN CAPITAL LETTER E WITH DIAERESIS
|
||||
<dd> /xCC <U0636> ARABIC LETTER DAD
|
||||
<tj> /xCD <U0637> ARABIC LETTER TAH
|
||||
<I/>> /xCE <U00CE> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
|
||||
<I:> /xCF <U00CF> LATIN CAPITAL LETTER I WITH DIAERESIS
|
||||
<zh> /xD0 <U3113> BOPOMOFO LETTER ZH
|
||||
<e+> /xD1 <U0639> ARABIC LETTER AIN
|
||||
<i+> /xD2 <U063A> ARABIC LETTER GHAIN
|
||||
<++> /xD3 <U0640> ARABIC TATWEEL
|
||||
<O/>> /xD4 <U00D4> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
|
||||
<f+> /xD5 <U0641> ARABIC LETTER FEH
|
||||
<q+> /xD6 <U0642> ARABIC LETTER QAF
|
||||
<*X> /xD7 <U00D7> MULTIPLICATION SIGN
|
||||
<k+> /xD8 <U0643> ARABIC LETTER KAF
|
||||
<U!> /xD9 <U00D9> LATIN CAPITAL LETTER U WITH GRAVE
|
||||
<gf> /xDA <U06AF> ARABIC LETTER GAF
|
||||
<U/>> /xDB <U00DB> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
|
||||
<U:> /xDC <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS
|
||||
<l+> /xDD <U0644> ARABIC LETTER LAM
|
||||
<m+> /xDE <U0645> ARABIC LETTER MEEM
|
||||
<n+> /xDF <U0646> ARABIC LETTER NOON
|
||||
<a!> /xE0 <U00E0> LATIN SMALL LETTER A WITH GRAVE
|
||||
<h+> /xE1 <U0647> ARABIC LETTER HEH
|
||||
<a/>> /xE2 <U00E2> LATIN SMALL LETTER A WITH CIRCUMFLEX
|
||||
<hH> /xE3 <U0681> ARABIC LETTER HAH WITH HAMZA ABOVE
|
||||
<w+> /xE4 <U0648> ARABIC LETTER WAW
|
||||
<j+> /xE5 <U0649> ARABIC LETTER ALEF MAKSURA
|
||||
<y+> /xE6 <U064A> ARABIC LETTER YEH
|
||||
<c,> /xE7 <U00E7> LATIN SMALL LETTER C WITH CEDILLA
|
||||
<e!> /xE8 <U00E8> LATIN SMALL LETTER E WITH GRAVE
|
||||
<e'> /xE9 <U00E9> LATIN SMALL LETTER E WITH ACUTE
|
||||
<e/>> /xEA <U00EA> LATIN SMALL LETTER E WITH CIRCUMFLEX
|
||||
<e:> /xEB <U00EB> LATIN SMALL LETTER E WITH DIAERESIS
|
||||
<:+> /xEC <U064B> ARABIC FATHATAN
|
||||
<"+> /xED <U064C> ARABIC DAMMATAN
|
||||
<i/>> /xEE <U00EE> LATIN SMALL LETTER I WITH CIRCUMFLEX
|
||||
<i:> /xEF <U00EF> LATIN SMALL LETTER I WITH DIAERESIS
|
||||
<=+> /xF0 <U064D> ARABIC KASRATAN
|
||||
<//+> /xF1 <U064E> ARABIC FATHA
|
||||
<'+> /xF2 <U064F> ARABIC DAMMA
|
||||
<1+> /xF3 <U0650> ARABIC KASRA
|
||||
<o/>> /xF4 <U00F4> LATIN SMALL LETTER O WITH CIRCUMFLEX
|
||||
<3+> /xF5 <U0651> ARABIC SHADDA
|
||||
<0+> /xF6 <U0652> ARABIC SUKUN
|
||||
<-:> /xF7 <U00F7> DIVISION SIGN
|
||||
<u!> /xF9 <U00F9> LATIN SMALL LETTER U WITH GRAVE
|
||||
<u/>> /xFB <U00FB> LATIN SMALL LETTER U WITH CIRCUMFLEX
|
||||
<u:> /xFC <U00FC> LATIN SMALL LETTER U WITH DIAERESIS
|
||||
<LR> /xFD <U200E> LEFT-TO-RIGHT MARK
|
||||
<RL> /xFE <U200F> RIGHT-TO-LEFT MARK
|
||||
<y:> /xFF <U00FF> LATIN SMALL LETTER Y WITH DIAERESIS
|
||||
<NUL> /x00 <U0000> NUL
|
||||
<SOH> /x01 <U0001> START OF HEADING (SOH)
|
||||
<STX> /x02 <U0002> START OF TEXT (STX)
|
||||
<ETX> /x03 <U0003> END OF TEXT (ETX)
|
||||
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
|
||||
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
|
||||
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
|
||||
<alert> /x07 <U0007> BELL (BEL)
|
||||
<BEL> /x07 <U0007> BELL (BEL)
|
||||
<backspace> /x08 <U0008> BACKSPACE (BS)
|
||||
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
|
||||
<newline> /x0A <U000A> LINE FEED (LF)
|
||||
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
|
||||
<form-feed> /x0C <U000C> FORM FEED (FF)
|
||||
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
|
||||
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
|
||||
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
|
||||
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
|
||||
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
|
||||
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
|
||||
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
|
||||
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
|
||||
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
|
||||
<CAN> /x18 <U0018> CANCEL (CAN)
|
||||
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
|
||||
<ESC> /x1B <U001B> ESCAPE (ESC)
|
||||
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
|
||||
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
|
||||
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
|
||||
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
|
||||
<DEL> /x7F <U007F> DELETE (DEL)
|
||||
<space> /x20 <U0020> SPACE
|
||||
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
|
||||
<quotation-mark> /x22 <U0022> QUOTATION MARK
|
||||
<number-sign> /x23 <U0023> NUMBER SIGN
|
||||
<dollar-sign> /x24 <U0024> DOLLAR SIGN
|
||||
<percent-sign> /x25 <U0025> PERCENT SIGN
|
||||
<ampersand> /x26 <U0026> AMPERSAND
|
||||
<apostrophe> /x27 <U0027> APOSTROPHE
|
||||
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
|
||||
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
|
||||
<asterisk> /x2A <U002A> ASTERISK
|
||||
<plus-sign> /x2B <U002B> PLUS SIGN
|
||||
<comma> /x2C <U002C> COMMA
|
||||
<hyphen> /x2D <U002D> HYPHEN-MINUS
|
||||
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
|
||||
<period> /x2E <U002E> FULL STOP
|
||||
<full-stop> /x2E <U002E> FULL STOP
|
||||
<slash> /x2F <U002F> SOLIDUS
|
||||
<solidus> /x2F <U002F> SOLIDUS
|
||||
<zero> /x30 <U0030> DIGIT ZERO
|
||||
<one> /x31 <U0031> DIGIT ONE
|
||||
<two> /x32 <U0032> DIGIT TWO
|
||||
<three> /x33 <U0033> DIGIT THREE
|
||||
<four> /x34 <U0034> DIGIT FOUR
|
||||
<five> /x35 <U0035> DIGIT FIVE
|
||||
<six> /x36 <U0036> DIGIT SIX
|
||||
<seven> /x37 <U0037> DIGIT SEVEN
|
||||
<eight> /x38 <U0038> DIGIT EIGHT
|
||||
<nine> /x39 <U0039> DIGIT NINE
|
||||
<colon> /x3A <U003A> COLON
|
||||
<semicolon> /x3B <U003B> SEMICOLON
|
||||
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
|
||||
<equals-sign> /x3D <U003D> EQUALS SIGN
|
||||
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
|
||||
<question-mark> /x3F <U003F> QUESTION MARK
|
||||
<commercial-at> /x40 <U0040> COMMERCIAL AT
|
||||
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
|
||||
<backslash> /x5C <U005C> REVERSE SOLIDUS
|
||||
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
|
||||
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
|
||||
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
|
||||
<underscore> /x5F <U005F> LOW LINE
|
||||
<low-line> /x5F <U005F> LOW LINE
|
||||
<grave-accent> /x60 <U0060> GRAVE ACCENT
|
||||
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
|
||||
<vertical-line> /x7C <U007C> VERTICAL LINE
|
||||
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
|
||||
<tilde> /x7E <U007E> TILDE
|
||||
END CHARMAP
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user