2001-08-04  Ulrich Drepper  <drepper@redhat.com>

	* libio/genops.c (_IO_unbuffer_write): Force streams in narrow
	orientation so that conversion modules aren't used anymore.
	* malloc/set-freeres.c: Call _IO_cleanup before running subfreeres
	functions to avoid using wide streams afterwards.

	* iconvdata/Makefile: Add rules to build GEORGIAN-PS and
	GEORGIAN-ACADEMY.
	* iconvdata/georgian-ps.c: New file.
	* iconvdata/georgian-academy.c: New file.
	* iconvdata/gconv-modules: Add entries for GEORGIAN-PS and
	GEORGIAN-ACADEMY.
	* iconvdata/tst-tables.sh: Add GEORGIAN-PS and GEORGIAN-ACADEMY.
This commit is contained in:
Ulrich Drepper 2001-08-04 08:05:56 +00:00
parent 03003424c3
commit 6906cea4cc
14 changed files with 687 additions and 27 deletions

View File

@ -1,3 +1,18 @@
2001-08-04 Ulrich Drepper <drepper@redhat.com>
* libio/genops.c (_IO_unbuffer_write): Force streams in narrow
orientation so that conversion modules aren't used anymore.
* malloc/set-freeres.c: Call _IO_cleanup before running subfreeres
functions to avoid using wide streams afterwards.
* iconvdata/Makefile: Add rules to build GEORGIAN-PS and
GEORGIAN-ACADEMY.
* iconvdata/georgian-ps.c: New file.
* iconvdata/georgian-academy.c: New file.
* iconvdata/gconv-modules: Add entries for GEORGIAN-PS and
GEORGIAN-ACADEMY.
* iconvdata/tst-tables.sh: Add GEORGIAN-PS and GEORGIAN-ACADEMY.
2001-08-03 Ulrich Drepper <drepper@redhat.com>
* locale/programs/ld-collate (insert_value): If symbol in order

View File

@ -47,7 +47,8 @@ modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \
ISO_5428 ISO_10367-BOX MAC-IS MAC-UK NATS-DANO NATS-SEFI \
SAMI-WS2 ISO-IR-197 TIS-620 KOI8-U GBK ISIRI-3342 GBGBK \
ISO-2022-CN libISOIR165 UTF-16 UNICODE UTF-32 UTF-7 BIG5HKSCS \
GB18030 ISO-2022-CN-EXT VISCII GBBIG5 CP10007 KOI8-T
GB18030 ISO-2022-CN-EXT VISCII GBBIG5 CP10007 KOI8-T \
GEORGIAN-PS GEORGIAN-ACADEMY
modules.so := $(addsuffix .so, $(modules))
@ -138,7 +139,7 @@ distribute := gconv-modules extra-module.mk gap.awk gaptab.awk \
iso8859-16.c utf-16.c unicode.c utf-32.c utf-7.c big5hkscs.c \
iso-ir-165.c iso-ir-165.h gb18030.c iso-2022-cn-ext.c \
ibm932.c ibm932.h ibm943.c ibm943.h gbbig5.c cp10007.c \
koi8-t.c
koi8-t.c georgian-ps.c georgian-academy.c
# We build the transformation modules only when we build shared libs.
ifeq (yes,$(build-shared))
@ -177,7 +178,8 @@ gen-8bit-gap-modules := koi8-r latin-greek latin-greek-1 ibm256 ibm273 \
inis-cyrillic iso_2033 iso_5427 iso_5427-ext \
iso_5428 iso_10367-box mac-is nats-dano nats-sefi \
iso8859-13 iso8859-14 iso8859-15 mac-uk sami-ws2 \
iso-ir-197 tis-620 koi8-u ibm874 cp10007 koi8-t
iso-ir-197 tis-620 koi8-u ibm874 cp10007 koi8-t \
georgian-ps georgian-academy
gen-special-modules := iso8859-7jp

View File

@ -1434,3 +1434,11 @@ module INTERNAL VISCII// VISCII 1
# from to module cost
module KOI8-T// INTERNAL KOI8-T 1
module INTERNAL KOI8-T// KOI8-T 1
# from to module cost
module GEORGIAN-PS// INTERNAL GEORGIAN-PS 1
module INTERNAL GEORGIAN-PS// GEORGIAN-PS 1
# from to module cost
module GEORGIAN-ACADEMY// INTERNAL GEORGIAN-ACADEMY 1
module INTERNAL GEORGIAN-ACADEMY// GEORGIAN-ACADEMY 1

View File

@ -0,0 +1,29 @@
/* Conversion from and to GEORGIAN-ACADEMY.
Copyright (C) 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 2001.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#include <stdint.h>
/* Specify the conversion table. */
#define TABLES <georgian-academy.h>
#define CHARSET_NAME "GEORGIAN-ACADEMY//"
#define HAS_HOLES 0 /* All 256 character are defined. */
#include <8bit-gap.c>

29
iconvdata/georgian-ps.c Normal file
View File

@ -0,0 +1,29 @@
/* Conversion from and to GEORGIAN-PS.
Copyright (C) 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 2001.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#include <stdint.h>
/* Specify the conversion table. */
#define TABLES <georgian-ps.h>
#define CHARSET_NAME "GEORGIAN-PS//"
#define HAS_HOLES 0 /* All 256 character are defined. */
#include <8bit-gap.c>

View File

@ -183,6 +183,8 @@ cat <<EOF |
TIS-620
KOI8-U
VISCII
GEORGIAN-PS
GEORGIAN-ACADEMY
#ISIRI-3342 This charset concept is completely broken
#
# Multibyte encodings come here

View File

@ -881,12 +881,18 @@ _IO_unbuffer_write ()
{
struct _IO_FILE *fp;
for (fp = (_IO_FILE *) _IO_list_all; fp; fp = fp->_chain)
if (! (fp->_flags & _IO_UNBUFFERED)
&& (! (fp->_flags & _IO_NO_WRITES)
|| (fp->_flags & _IO_IS_APPENDING))
/* Iff stream is un-orientated, it wasn't used. */
&& fp->_mode != 0)
_IO_SETBUF (fp, NULL, 0);
{
if (! (fp->_flags & _IO_UNBUFFERED)
&& (! (fp->_flags & _IO_NO_WRITES)
|| (fp->_flags & _IO_IS_APPENDING))
/* Iff stream is un-orientated, it wasn't used. */
&& fp->_mode != 0)
_IO_SETBUF (fp, NULL, 0);
/* Make sure that never again the wide char functions can be
used. */
fp->_mode = -1;
}
}
int

View File

@ -939,24 +939,37 @@ insert_value (struct linereader *ldfile, const char *symstr, size_t symlen,
{
/* It's no character, so look through the collation elements and
symbol list. */
void *result;
if (find_entry (&collate->sym_table, symstr, symlen, &result) == 0)
{
/* It's a collation symbol. */
struct symbol_t *sym = (struct symbol_t *) result;
elem = sym->order;
if (elem == NULL)
elem = sym->order = new_element (collate, NULL, 0, NULL,
sym->name, strlen (sym->name), 0);
}
else if (find_entry (&collate->elem_table, symstr, symlen,
if (find_entry (&collate->elem_table, symstr, symlen,
(void **) &elem) != 0)
{
/* It's also no collation element. Therefore ignore it. */
lr_ignore_rest (ldfile, 0);
return 1;
void *result;
struct symbol_t *sym = NULL;
/* It's also collation element. Therefore it's either a
collating symbol or it's a character which is not
supported by the character set. In the later case we
simply create a dummy entry. */
if (find_entry (&collate->sym_table, symstr, symlen, &result) == 0)
{
/* It's a collation symbol. */
sym = (struct symbol_t *) result;
elem = sym->order;
}
if (elem == NULL)
{
elem = new_element (collate, NULL, 0, NULL, symstr, symlen, 0);
if (sym != NULL)
sym->order = elem;
else
/* Enter a fake element in the sequence table. This
won't cause anything in the output since there is
no multibyte or wide character associated with
it. */
insert_entry (&collate->seq_table, symstr, symlen, elem);
}
}
}
else

View File

@ -1,3 +1,9 @@
2001-08-04 Ulrich Drepper <drepper@redhat.com>
* charmaps/GEORGIAN-PS: New file.
* charmaps/GEORGIAN-ACADEMY: New file.
* SUPPORTED: Add ka_GE/GEORGIAN-PS.
2001-08-03 Ulrich Drepper <drepper@redhat.com>
* Makefile: Add rules to build and run tst-mbswcs6.

View File

@ -107,6 +107,7 @@ it_IT/ISO-8859-1 \
it_IT@euro/ISO-8859-15 \
iw_IL/ISO-8859-8 \
ja_JP.EUC-JP/EUC-JP \
ka_GE/GEORGIAN-PS \
kl_GL/ISO-8859-1 \
ko_KR.EUC-KR/EUC-KR \
ko_KR.UTF-8/UTF-8 \

View File

@ -0,0 +1,267 @@
<code_set_name> GEORGIAN-ACADEMY
<comment_char> %
<escape_char> /
CHARMAP
<U0000> /x00 NULL (NUL)
<U0001> /x01 START OF HEADING (SOH)
<U0002> /x02 START OF TEXT (STX)
<U0003> /x03 END OF TEXT (ETX)
<U0004> /x04 END OF TRANSMISSION (EOT)
<U0005> /x05 ENQUIRY (ENQ)
<U0006> /x06 ACKNOWLEDGE (ACK)
<U0007> /x07 BELL (BEL)
<U0008> /x08 BACKSPACE (BS)
<U0009> /x09 CHARACTER TABULATION (HT)
<U000A> /x0a LINE FEED (LF)
<U000B> /x0b LINE TABULATION (VT)
<U000C> /x0c FORM FEED (FF)
<U000D> /x0d CARRIAGE RETURN (CR)
<U000E> /x0e SHIFT OUT (SO)
<U000F> /x0f SHIFT IN (SI)
<U0010> /x10 DATALINK ESCAPE (DLE)
<U0011> /x11 DEVICE CONTROL ONE (DC1)
<U0012> /x12 DEVICE CONTROL TWO (DC2)
<U0013> /x13 DEVICE CONTROL THREE (DC3)
<U0014> /x14 DEVICE CONTROL FOUR (DC4)
<U0015> /x15 NEGATIVE ACKNOWLEDGE (NAK)
<U0016> /x16 SYNCHRONOUS IDLE (SYN)
<U0017> /x17 END OF TRANSMISSION BLOCK (ETB)
<U0018> /x18 CANCEL (CAN)
<U0019> /x19 END OF MEDIUM (EM)
<U001A> /x1a SUBSTITUTE (SUB)
<U001B> /x1b ESCAPE (ESC)
<U001C> /x1c FILE SEPARATOR (IS4)
<U001D> /x1d GROUP SEPARATOR (IS3)
<U001E> /x1e RECORD SEPARATOR (IS2)
<U001F> /x1f UNIT SEPARATOR (IS1)
<U0020> /x20 SPACE
<U0021> /x21 EXCLAMATION MARK
<U0022> /x22 QUOTATION MARK
<U0023> /x23 NUMBER SIGN
<U0024> /x24 DOLLAR SIGN
<U0025> /x25 PERCENT SIGN
<U0026> /x26 AMPERSAND
<U0027> /x27 APOSTROPHE
<U0028> /x28 LEFT PARENTHESIS
<U0029> /x29 RIGHT PARENTHESIS
<U002A> /x2a ASTERISK
<U002B> /x2b PLUS SIGN
<U002C> /x2c COMMA
<U002D> /x2d HYPHEN-MINUS
<U002E> /x2e FULL STOP
<U002F> /x2f SOLIDUS
<U0030> /x30 DIGIT ZERO
<U0031> /x31 DIGIT ONE
<U0032> /x32 DIGIT TWO
<U0033> /x33 DIGIT THREE
<U0034> /x34 DIGIT FOUR
<U0035> /x35 DIGIT FIVE
<U0036> /x36 DIGIT SIX
<U0037> /x37 DIGIT SEVEN
<U0038> /x38 DIGIT EIGHT
<U0039> /x39 DIGIT NINE
<U003A> /x3a COLON
<U003B> /x3b SEMICOLON
<U003C> /x3c LESS-THAN SIGN
<U003D> /x3d EQUALS SIGN
<U003E> /x3e GREATER-THAN SIGN
<U003F> /x3f QUESTION MARK
<U0040> /x40 COMMERCIAL AT
<U0041> /x41 LATIN CAPITAL LETTER A
<U0042> /x42 LATIN CAPITAL LETTER B
<U0043> /x43 LATIN CAPITAL LETTER C
<U0044> /x44 LATIN CAPITAL LETTER D
<U0045> /x45 LATIN CAPITAL LETTER E
<U0046> /x46 LATIN CAPITAL LETTER F
<U0047> /x47 LATIN CAPITAL LETTER G
<U0048> /x48 LATIN CAPITAL LETTER H
<U0049> /x49 LATIN CAPITAL LETTER I
<U004A> /x4a LATIN CAPITAL LETTER J
<U004B> /x4b LATIN CAPITAL LETTER K
<U004C> /x4c LATIN CAPITAL LETTER L
<U004D> /x4d LATIN CAPITAL LETTER M
<U004E> /x4e LATIN CAPITAL LETTER N
<U004F> /x4f LATIN CAPITAL LETTER O
<U0050> /x50 LATIN CAPITAL LETTER P
<U0051> /x51 LATIN CAPITAL LETTER Q
<U0052> /x52 LATIN CAPITAL LETTER R
<U0053> /x53 LATIN CAPITAL LETTER S
<U0054> /x54 LATIN CAPITAL LETTER T
<U0055> /x55 LATIN CAPITAL LETTER U
<U0056> /x56 LATIN CAPITAL LETTER V
<U0057> /x57 LATIN CAPITAL LETTER W
<U0058> /x58 LATIN CAPITAL LETTER X
<U0059> /x59 LATIN CAPITAL LETTER Y
<U005A> /x5a LATIN CAPITAL LETTER Z
<U005B> /x5b LEFT SQUARE BRACKET
<U005C> /x5c REVERSE SOLIDUS
<U005D> /x5d RIGHT SQUARE BRACKET
<U005E> /x5e CIRCUMFLEX ACCENT
<U005F> /x5f LOW LINE
<U0060> /x60 GRAVE ACCENT
<U0061> /x61 LATIN SMALL LETTER A
<U0062> /x62 LATIN SMALL LETTER B
<U0063> /x63 LATIN SMALL LETTER C
<U0064> /x64 LATIN SMALL LETTER D
<U0065> /x65 LATIN SMALL LETTER E
<U0066> /x66 LATIN SMALL LETTER F
<U0067> /x67 LATIN SMALL LETTER G
<U0068> /x68 LATIN SMALL LETTER H
<U0069> /x69 LATIN SMALL LETTER I
<U006A> /x6a LATIN SMALL LETTER J
<U006B> /x6b LATIN SMALL LETTER K
<U006C> /x6c LATIN SMALL LETTER L
<U006D> /x6d LATIN SMALL LETTER M
<U006E> /x6e LATIN SMALL LETTER N
<U006F> /x6f LATIN SMALL LETTER O
<U0070> /x70 LATIN SMALL LETTER P
<U0071> /x71 LATIN SMALL LETTER Q
<U0072> /x72 LATIN SMALL LETTER R
<U0073> /x73 LATIN SMALL LETTER S
<U0074> /x74 LATIN SMALL LETTER T
<U0075> /x75 LATIN SMALL LETTER U
<U0076> /x76 LATIN SMALL LETTER V
<U0077> /x77 LATIN SMALL LETTER W
<U0078> /x78 LATIN SMALL LETTER X
<U0079> /x79 LATIN SMALL LETTER Y
<U007A> /x7a LATIN SMALL LETTER Z
<U007B> /x7b LEFT CURLY BRACKET
<U007C> /x7c VERTICAL LINE
<U007D> /x7d RIGHT CURLY BRACKET
<U007E> /x7e TILDE
<U007F> /x7f DELETE (DEL)
<U0080> /x80 PADDING CHARACTER (PAD)
<U0081> /x81 HIGH OCTET PRESET (HOP)
<U201A> /x82 SINGLE LOW-9 QUOTATION MARK
<U0192> /x83 LATIN SMALL LETTER F WITH HOOK
<U201E> /x84 DOUBLE LOW-9 QUOTATION MARK
<U2026> /x85 HORIZONTAL ELLIPSIS
<U2020> /x86 DAGGER
<U2021> /x87 DOUBLE DAGGER
<U02C6> /x88 MODIFIER LETTER CIRCUMFLEX ACCENT
<U2030> /x89 PER MILLE SIGN
<U0160> /x8a LATIN CAPITAL LETTER S WITH CARON
<U2039> /x8b SINGLE LEFT-POINTING ANGLE QUOTATION MARK
<U0152> /x8c LATIN CAPITAL LIGATURE OE
<U008D> /x8d REVERSE LINE FEED (RI)
<U008E> /x8e SINGLE-SHIFT TWO (SS2)
<U008F> /x8f SINGLE-SHIFT THREE (SS3)
<U0090> /x90 DEVICE CONTROL STRING (DCS)
<U2018> /x91 LEFT SINGLE QUOTATION MARK
<U2019> /x92 RIGHT SINGLE QUOTATION MARK
<U201C> /x93 LEFT DOUBLE QUOTATION MARK
<U201D> /x94 RIGHT DOUBLE QUOTATION MARK
<U2022> /x95 BULLET
<U2013> /x96 EN DASH
<U2014> /x97 EM DASH
<U02DC> /x98 SMALL TILDE
<U2122> /x99 TRADE MARK SIGN
<U0161> /x9a LATIN SMALL LETTER S WITH CARON
<U203A> /x9b SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
<U0153> /x9c LATIN SMALL LIGATURE OE
<U009D> /x9d OPERATING SYSTEM COMMAND (OSC)
<U009E> /x9e PRIVACY MESSAGE (PM)
<U0178> /x9f LATIN CAPITAL LETTER Y WITH DIAERESIS
<U00A0> /xa0 NO-BREAK SPACE
<U00A1> /xa1 INVERTED EXCLAMATION MARK
<U00A2> /xa2 CENT SIGN
<U00A3> /xa3 POUND SIGN
<U00A4> /xa4 CURRENCY SIGN
<U00A5> /xa5 YEN SIGN
<U00A6> /xa6 BROKEN BAR
<U00A7> /xa7 SECTION SIGN
<U00A8> /xa8 DIAERESIS
<U00A9> /xa9 COPYRIGHT SIGN
<U00AA> /xaa FEMININE ORDINAL INDICATOR
<U00AB> /xab LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
<U00AC> /xac NOT SIGN
<U00AD> /xad SOFT HYPHEN
<U00AE> /xae REGISTERED SIGN
<U00AF> /xaf MACRON
<U00B0> /xb0 DEGREE SIGN
<U00B1> /xb1 PLUS-MINUS SIGN
<U00B2> /xb2 SUPERSCRIPT TWO
<U00B3> /xb3 SUPERSCRIPT THREE
<U00B4> /xb4 ACUTE ACCENT
<U00B5> /xb5 MICRO SIGN
<U00B6> /xb6 PILCROW SIGN
<U00B7> /xb7 MIDDLE DOT
<U00B8> /xb8 CEDILLA
<U00B9> /xb9 SUPERSCRIPT ONE
<U00BA> /xba MASCULINE ORDINAL INDICATOR
<U00BB> /xbb RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
<U00BC> /xbc VULGAR FRACTION ONE QUARTER
<U00BD> /xbd VULGAR FRACTION ONE HALF
<U00BE> /xbe VULGAR FRACTION THREE QUARTERS
<U00BF> /xbf INVERTED QUESTION MARK
<U10D0> /xc0 GEORGIAN LETTER AN
<U10D1> /xc1 GEORGIAN LETTER BAN
<U10D2> /xc2 GEORGIAN LETTER GAN
<U10D3> /xc3 GEORGIAN LETTER DON
<U10D4> /xc4 GEORGIAN LETTER EN
<U10D5> /xc5 GEORGIAN LETTER VIN
<U10D6> /xc6 GEORGIAN LETTER ZEN
<U10D7> /xc7 GEORGIAN LETTER TAN
<U10D8> /xc8 GEORGIAN LETTER IN
<U10D9> /xc9 GEORGIAN LETTER KAN
<U10DA> /xca GEORGIAN LETTER LAS
<U10DB> /xcb GEORGIAN LETTER MAN
<U10DC> /xcc GEORGIAN LETTER NAR
<U10DD> /xcd GEORGIAN LETTER ON
<U10DE> /xce GEORGIAN LETTER PAR
<U10DF> /xcf GEORGIAN LETTER ZHAR
<U10E0> /xd0 GEORGIAN LETTER RAE
<U10E1> /xd1 GEORGIAN LETTER SAN
<U10E2> /xd2 GEORGIAN LETTER TAR
<U10E3> /xd3 GEORGIAN LETTER UN
<U10E4> /xd4 GEORGIAN LETTER PHAR
<U10E5> /xd5 GEORGIAN LETTER KHAR
<U10E6> /xd6 GEORGIAN LETTER GHAN
<U10E7> /xd7 GEORGIAN LETTER QAR
<U10E8> /xd8 GEORGIAN LETTER SHIN
<U10E9> /xd9 GEORGIAN LETTER CHIN
<U10EA> /xda GEORGIAN LETTER CAN
<U10EB> /xdb GEORGIAN LETTER JIL
<U10EC> /xdc GEORGIAN LETTER CIL
<U10ED> /xdd GEORGIAN LETTER CHAR
<U10EE> /xde GEORGIAN LETTER XAN
<U10EF> /xdf GEORGIAN LETTER JHAN
<U10F0> /xe0 GEORGIAN LETTER HAE
<U10F1> /xe1 GEORGIAN LETTER HE
<U10F2> /xe2 GEORGIAN LETTER HIE
<U10F3> /xe3 GEORGIAN LETTER WE
<U10F4> /xe4 GEORGIAN LETTER HAR
<U10F5> /xe5 GEORGIAN LETTER HOE
<U10F6> /xe6 GEORGIAN LETTER FI
<U00E7> /xe7 LATIN SMALL LETTER C WITH CEDILLA
<U00E8> /xe8 LATIN SMALL LETTER E WITH GRAVE
<U00E9> /xe9 LATIN SMALL LETTER E WITH ACUTE
<U00EA> /xea LATIN SMALL LETTER E WITH CIRCUMFLEX
<U00EB> /xeb LATIN SMALL LETTER E WITH DIAERESIS
<U00EC> /xec LATIN SMALL LETTER I WITH GRAVE
<U00ED> /xed LATIN SMALL LETTER I WITH ACUTE
<U00EE> /xee LATIN SMALL LETTER I WITH CIRCUMFLEX
<U00EF> /xef LATIN SMALL LETTER I WITH DIAERESIS
<U00F0> /xf0 LATIN SMALL LETTER ETH (Icelandic)
<U00F1> /xf1 LATIN SMALL LETTER N WITH TILDE
<U00F2> /xf2 LATIN SMALL LETTER O WITH GRAVE
<U00F3> /xf3 LATIN SMALL LETTER O WITH ACUTE
<U00F4> /xf4 LATIN SMALL LETTER O WITH CIRCUMFLEX
<U00F5> /xf5 LATIN SMALL LETTER O WITH TILDE
<U00F6> /xf6 LATIN SMALL LETTER O WITH DIAERESIS
<U00F7> /xf7 DIVISION SIGN
<U00F8> /xf8 LATIN SMALL LETTER O WITH STROKE
<U00F9> /xf9 LATIN SMALL LETTER U WITH GRAVE
<U00FA> /xfa LATIN SMALL LETTER U WITH ACUTE
<U00FB> /xfb LATIN SMALL LETTER U WITH CIRCUMFLEX
<U00FC> /xfc LATIN SMALL LETTER U WITH DIAERESIS
<U00FD> /xfd LATIN SMALL LETTER Y WITH ACUTE
<U00FE> /xfe LATIN SMALL LETTER THORN (Icelandic)
<U00FF> /xff LATIN SMALL LETTER Y WITH DIAERESIS
END CHARMAP
WIDTH
<U0020>...<U007E> 1
<U0080>...<U00FF> 1
END WIDTH

View File

@ -0,0 +1,267 @@
<code_set_name> GEORGIAN-PS
<comment_char> %
<escape_char> /
CHARMAP
<U0000> /x00 NULL (NUL)
<U0001> /x01 START OF HEADING (SOH)
<U0002> /x02 START OF TEXT (STX)
<U0003> /x03 END OF TEXT (ETX)
<U0004> /x04 END OF TRANSMISSION (EOT)
<U0005> /x05 ENQUIRY (ENQ)
<U0006> /x06 ACKNOWLEDGE (ACK)
<U0007> /x07 BELL (BEL)
<U0008> /x08 BACKSPACE (BS)
<U0009> /x09 CHARACTER TABULATION (HT)
<U000A> /x0a LINE FEED (LF)
<U000B> /x0b LINE TABULATION (VT)
<U000C> /x0c FORM FEED (FF)
<U000D> /x0d CARRIAGE RETURN (CR)
<U000E> /x0e SHIFT OUT (SO)
<U000F> /x0f SHIFT IN (SI)
<U0010> /x10 DATALINK ESCAPE (DLE)
<U0011> /x11 DEVICE CONTROL ONE (DC1)
<U0012> /x12 DEVICE CONTROL TWO (DC2)
<U0013> /x13 DEVICE CONTROL THREE (DC3)
<U0014> /x14 DEVICE CONTROL FOUR (DC4)
<U0015> /x15 NEGATIVE ACKNOWLEDGE (NAK)
<U0016> /x16 SYNCHRONOUS IDLE (SYN)
<U0017> /x17 END OF TRANSMISSION BLOCK (ETB)
<U0018> /x18 CANCEL (CAN)
<U0019> /x19 END OF MEDIUM (EM)
<U001A> /x1a SUBSTITUTE (SUB)
<U001B> /x1b ESCAPE (ESC)
<U001C> /x1c FILE SEPARATOR (IS4)
<U001D> /x1d GROUP SEPARATOR (IS3)
<U001E> /x1e RECORD SEPARATOR (IS2)
<U001F> /x1f UNIT SEPARATOR (IS1)
<U0020> /x20 SPACE
<U0021> /x21 EXCLAMATION MARK
<U0022> /x22 QUOTATION MARK
<U0023> /x23 NUMBER SIGN
<U0024> /x24 DOLLAR SIGN
<U0025> /x25 PERCENT SIGN
<U0026> /x26 AMPERSAND
<U0027> /x27 APOSTROPHE
<U0028> /x28 LEFT PARENTHESIS
<U0029> /x29 RIGHT PARENTHESIS
<U002A> /x2a ASTERISK
<U002B> /x2b PLUS SIGN
<U002C> /x2c COMMA
<U002D> /x2d HYPHEN-MINUS
<U002E> /x2e FULL STOP
<U002F> /x2f SOLIDUS
<U0030> /x30 DIGIT ZERO
<U0031> /x31 DIGIT ONE
<U0032> /x32 DIGIT TWO
<U0033> /x33 DIGIT THREE
<U0034> /x34 DIGIT FOUR
<U0035> /x35 DIGIT FIVE
<U0036> /x36 DIGIT SIX
<U0037> /x37 DIGIT SEVEN
<U0038> /x38 DIGIT EIGHT
<U0039> /x39 DIGIT NINE
<U003A> /x3a COLON
<U003B> /x3b SEMICOLON
<U003C> /x3c LESS-THAN SIGN
<U003D> /x3d EQUALS SIGN
<U003E> /x3e GREATER-THAN SIGN
<U003F> /x3f QUESTION MARK
<U0040> /x40 COMMERCIAL AT
<U0041> /x41 LATIN CAPITAL LETTER A
<U0042> /x42 LATIN CAPITAL LETTER B
<U0043> /x43 LATIN CAPITAL LETTER C
<U0044> /x44 LATIN CAPITAL LETTER D
<U0045> /x45 LATIN CAPITAL LETTER E
<U0046> /x46 LATIN CAPITAL LETTER F
<U0047> /x47 LATIN CAPITAL LETTER G
<U0048> /x48 LATIN CAPITAL LETTER H
<U0049> /x49 LATIN CAPITAL LETTER I
<U004A> /x4a LATIN CAPITAL LETTER J
<U004B> /x4b LATIN CAPITAL LETTER K
<U004C> /x4c LATIN CAPITAL LETTER L
<U004D> /x4d LATIN CAPITAL LETTER M
<U004E> /x4e LATIN CAPITAL LETTER N
<U004F> /x4f LATIN CAPITAL LETTER O
<U0050> /x50 LATIN CAPITAL LETTER P
<U0051> /x51 LATIN CAPITAL LETTER Q
<U0052> /x52 LATIN CAPITAL LETTER R
<U0053> /x53 LATIN CAPITAL LETTER S
<U0054> /x54 LATIN CAPITAL LETTER T
<U0055> /x55 LATIN CAPITAL LETTER U
<U0056> /x56 LATIN CAPITAL LETTER V
<U0057> /x57 LATIN CAPITAL LETTER W
<U0058> /x58 LATIN CAPITAL LETTER X
<U0059> /x59 LATIN CAPITAL LETTER Y
<U005A> /x5a LATIN CAPITAL LETTER Z
<U005B> /x5b LEFT SQUARE BRACKET
<U005C> /x5c REVERSE SOLIDUS
<U005D> /x5d RIGHT SQUARE BRACKET
<U005E> /x5e CIRCUMFLEX ACCENT
<U005F> /x5f LOW LINE
<U0060> /x60 GRAVE ACCENT
<U0061> /x61 LATIN SMALL LETTER A
<U0062> /x62 LATIN SMALL LETTER B
<U0063> /x63 LATIN SMALL LETTER C
<U0064> /x64 LATIN SMALL LETTER D
<U0065> /x65 LATIN SMALL LETTER E
<U0066> /x66 LATIN SMALL LETTER F
<U0067> /x67 LATIN SMALL LETTER G
<U0068> /x68 LATIN SMALL LETTER H
<U0069> /x69 LATIN SMALL LETTER I
<U006A> /x6a LATIN SMALL LETTER J
<U006B> /x6b LATIN SMALL LETTER K
<U006C> /x6c LATIN SMALL LETTER L
<U006D> /x6d LATIN SMALL LETTER M
<U006E> /x6e LATIN SMALL LETTER N
<U006F> /x6f LATIN SMALL LETTER O
<U0070> /x70 LATIN SMALL LETTER P
<U0071> /x71 LATIN SMALL LETTER Q
<U0072> /x72 LATIN SMALL LETTER R
<U0073> /x73 LATIN SMALL LETTER S
<U0074> /x74 LATIN SMALL LETTER T
<U0075> /x75 LATIN SMALL LETTER U
<U0076> /x76 LATIN SMALL LETTER V
<U0077> /x77 LATIN SMALL LETTER W
<U0078> /x78 LATIN SMALL LETTER X
<U0079> /x79 LATIN SMALL LETTER Y
<U007A> /x7a LATIN SMALL LETTER Z
<U007B> /x7b LEFT CURLY BRACKET
<U007C> /x7c VERTICAL LINE
<U007D> /x7d RIGHT CURLY BRACKET
<U007E> /x7e TILDE
<U007F> /x7f DELETE (DEL)
<U0080> /x80 PADDING CHARACTER (PAD)
<U0081> /x81 HIGH OCTET PRESET (HOP)
<U201A> /x82 SINGLE LOW-9 QUOTATION MARK
<U0192> /x83 LATIN SMALL LETTER F WITH HOOK
<U201E> /x84 DOUBLE LOW-9 QUOTATION MARK
<U2026> /x85 HORIZONTAL ELLIPSIS
<U2020> /x86 DAGGER
<U2021> /x87 DOUBLE DAGGER
<U02C6> /x88 MODIFIER LETTER CIRCUMFLEX ACCENT
<U2030> /x89 PER MILLE SIGN
<U0160> /x8a LATIN CAPITAL LETTER S WITH CARON
<U2039> /x8b SINGLE LEFT-POINTING ANGLE QUOTATION MARK
<U0152> /x8c LATIN CAPITAL LIGATURE OE
<U008D> /x8d REVERSE LINE FEED (RI)
<U008E> /x8e SINGLE-SHIFT TWO (SS2)
<U008F> /x8f SINGLE-SHIFT THREE (SS3)
<U0090> /x90 DEVICE CONTROL STRING (DCS)
<U2018> /x91 LEFT SINGLE QUOTATION MARK
<U2019> /x92 RIGHT SINGLE QUOTATION MARK
<U201C> /x93 LEFT DOUBLE QUOTATION MARK
<U201D> /x94 RIGHT DOUBLE QUOTATION MARK
<U2022> /x95 BULLET
<U2013> /x96 EN DASH
<U2014> /x97 EM DASH
<U02DC> /x98 SMALL TILDE
<U2122> /x99 TRADE MARK SIGN
<U0161> /x9a LATIN SMALL LETTER S WITH CARON
<U203A> /x9b SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
<U0153> /x9c LATIN SMALL LIGATURE OE
<U009D> /x9d OPERATING SYSTEM COMMAND (OSC)
<U009E> /x9e PRIVACY MESSAGE (PM)
<U0178> /x9f LATIN CAPITAL LETTER Y WITH DIAERESIS
<U00A0> /xa0 NO-BREAK SPACE
<U00A1> /xa1 INVERTED EXCLAMATION MARK
<U00A2> /xa2 CENT SIGN
<U00A3> /xa3 POUND SIGN
<U00A4> /xa4 CURRENCY SIGN
<U00A5> /xa5 YEN SIGN
<U00A6> /xa6 BROKEN BAR
<U00A7> /xa7 SECTION SIGN
<U00A8> /xa8 DIAERESIS
<U00A9> /xa9 COPYRIGHT SIGN
<U00AA> /xaa FEMININE ORDINAL INDICATOR
<U00AB> /xab LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
<U00AC> /xac NOT SIGN
<U00AD> /xad SOFT HYPHEN
<U00AE> /xae REGISTERED SIGN
<U00AF> /xaf MACRON
<U00B0> /xb0 DEGREE SIGN
<U00B1> /xb1 PLUS-MINUS SIGN
<U00B2> /xb2 SUPERSCRIPT TWO
<U00B3> /xb3 SUPERSCRIPT THREE
<U00B4> /xb4 ACUTE ACCENT
<U00B5> /xb5 MICRO SIGN
<U00B6> /xb6 PILCROW SIGN
<U00B7> /xb7 MIDDLE DOT
<U00B8> /xb8 CEDILLA
<U00B9> /xb9 SUPERSCRIPT ONE
<U00BA> /xba MASCULINE ORDINAL INDICATOR
<U00BB> /xbb RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
<U00BC> /xbc VULGAR FRACTION ONE QUARTER
<U00BD> /xbd VULGAR FRACTION ONE HALF
<U00BE> /xbe VULGAR FRACTION THREE QUARTERS
<U00BF> /xbf INVERTED QUESTION MARK
<U10D0> /xc0 GEORGIAN LETTER AN
<U10D1> /xc1 GEORGIAN LETTER BAN
<U10D2> /xc2 GEORGIAN LETTER GAN
<U10D3> /xc3 GEORGIAN LETTER DON
<U10D4> /xc4 GEORGIAN LETTER EN
<U10D5> /xc5 GEORGIAN LETTER VIN
<U10D6> /xc6 GEORGIAN LETTER ZEN
<U10F1> /xc7 GEORGIAN LETTER HE
<U10D7> /xc8 GEORGIAN LETTER TAN
<U10D8> /xc9 GEORGIAN LETTER IN
<U10D9> /xca GEORGIAN LETTER KAN
<U10DA> /xcb GEORGIAN LETTER LAS
<U10DB> /xcc GEORGIAN LETTER MAN
<U10DC> /xcd GEORGIAN LETTER NAR
<U10F2> /xce GEORGIAN LETTER HIE
<U10DD> /xcf GEORGIAN LETTER ON
<U10DE> /xd0 GEORGIAN LETTER PAR
<U10DF> /xd1 GEORGIAN LETTER ZHAR
<U10E0> /xd2 GEORGIAN LETTER RAE
<U10E1> /xd3 GEORGIAN LETTER SAN
<U10E2> /xd4 GEORGIAN LETTER TAR
<U10F3> /xd5 GEORGIAN LETTER WE
<U10E3> /xd6 GEORGIAN LETTER UN
<U10E4> /xd7 GEORGIAN LETTER PHAR
<U10E5> /xd8 GEORGIAN LETTER KHAR
<U10E6> /xd9 GEORGIAN LETTER GHAN
<U10E7> /xda GEORGIAN LETTER QAR
<U10E8> /xdb GEORGIAN LETTER SHIN
<U10E9> /xdc GEORGIAN LETTER CHIN
<U10EA> /xdd GEORGIAN LETTER CAN
<U10EB> /xde GEORGIAN LETTER JIL
<U10EC> /xdf GEORGIAN LETTER CIL
<U10ED> /xe0 GEORGIAN LETTER CHAR
<U10EE> /xe1 GEORGIAN LETTER XAN
<U10F4> /xe2 GEORGIAN LETTER HAR
<U10EF> /xe3 GEORGIAN LETTER JHAN
<U10F0> /xe4 GEORGIAN LETTER HAE
<U10F5> /xe5 GEORGIAN LETTER HOE
<U00E6> /xe6 LATIN SMALL LETTER AE
<U00E7> /xe7 LATIN SMALL LETTER C WITH CEDILLA
<U00E8> /xe8 LATIN SMALL LETTER E WITH GRAVE
<U00E9> /xe9 LATIN SMALL LETTER E WITH ACUTE
<U00EA> /xea LATIN SMALL LETTER E WITH CIRCUMFLEX
<U00EB> /xeb LATIN SMALL LETTER E WITH DIAERESIS
<U00EC> /xec LATIN SMALL LETTER I WITH GRAVE
<U00ED> /xed LATIN SMALL LETTER I WITH ACUTE
<U00EE> /xee LATIN SMALL LETTER I WITH CIRCUMFLEX
<U00EF> /xef LATIN SMALL LETTER I WITH DIAERESIS
<U00F0> /xf0 LATIN SMALL LETTER ETH (Icelandic)
<U00F1> /xf1 LATIN SMALL LETTER N WITH TILDE
<U00F2> /xf2 LATIN SMALL LETTER O WITH GRAVE
<U00F3> /xf3 LATIN SMALL LETTER O WITH ACUTE
<U00F4> /xf4 LATIN SMALL LETTER O WITH CIRCUMFLEX
<U00F5> /xf5 LATIN SMALL LETTER O WITH TILDE
<U00F6> /xf6 LATIN SMALL LETTER O WITH DIAERESIS
<U00F7> /xf7 DIVISION SIGN
<U00F8> /xf8 LATIN SMALL LETTER O WITH STROKE
<U00F9> /xf9 LATIN SMALL LETTER U WITH GRAVE
<U00FA> /xfa LATIN SMALL LETTER U WITH ACUTE
<U00FB> /xfb LATIN SMALL LETTER U WITH CIRCUMFLEX
<U00FC> /xfc LATIN SMALL LETTER U WITH DIAERESIS
<U00FD> /xfd LATIN SMALL LETTER Y WITH ACUTE
<U00FE> /xfe LATIN SMALL LETTER THORN (Icelandic)
<U00FF> /xff LATIN SMALL LETTER Y WITH DIAERESIS
END CHARMAP
WIDTH
<U0020>...<U007E> 1
<U0080>...<U00FF> 1
END WIDTH

View File

@ -158,3 +158,8 @@ tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025><U006C>"
int_select "8~10"
int_prefix "995"
END LC_TELEPHONE
LC_NAME
% FIXME
copy "en_DK"
END LC_NAME

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
/* Copyright (C) 1997, 1999, 2000, 2001 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
@ -21,6 +21,10 @@
#include <set-hooks.h>
#include <libc-internal.h>
#ifdef USE_IN_LIBIO
# include "../libio/libioP.h"
#endif
DEFINE_HOOK (__libc_subfreeres, (void));
void
@ -31,5 +35,11 @@ __libc_freeres (void)
static long int already_called;
if (compare_and_swap (&already_called, 0, 1))
RUN_HOOK (__libc_subfreeres, ());
{
#ifdef USE_IN_LIBIO
_IO_cleanup ();
#endif
RUN_HOOK (__libc_subfreeres, ());
}
}