This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Help needed, please
- To: libc-alpha at sourceware dot cygnus dot com
- Subject: Help needed, please
- From: Damjan Georgievski <gdamjan at freemail dot org dot mk>
- Date: Sun, 9 Jul 2000 12:15:31 +0200 (CEST)
I want to test the collation (sorting) by the collation rules in
"glibc/localedata/...iso14651_t1". I'm doing this because the collation
rules in the glibc2.1 locales, improperly sorted some of the macedonian
cyrillic letters.
I really can't download the glibc.2.2 and everything else and then
recompile everything, because my internet connection is very slow(12kb
on a good day), and so is my PC (P100/24).
So I have this little program that sorts the macedonian alphabet, if
someone with a glibc 2.2 program can run it and send me the output, so
that I can verify if everything is OK, I'll be very gratefull.
I'm sending as atachment the macedonian-locale-would-be and the little
program sort_cyr.c. You'll have to:
localedef -f ISO-8859-5 -i mk_MK mk_MK
gcc sort_cyr.c -o sort_cyr
LC_ALL=mk_MK ./sort_cyr > file.out
and then mail me the file.out
--
damjan
comment_char %
escape_char /
LC_IDENTIFICATION
title "Macedonian locale for Macedonia"
source ""
address ""
contact "<gdamjan@freemail.org.mk>"
email "bug-glibc@gnu.org"
tel ""
fax ""
language "Macedonian"
territory "Macedonia"
revision "1.0"
date "2000-06-29"
%
category "mk_MK:2000";LC_IDENTIFICATION
category "mk_MK:2000";LC_CTYPE
category "mk_MK:2000";LC_COLLATE
category "mk_MK:2000";LC_TIME
category "mk_MK:2000";LC_NUMERIC
category "mk_MK:2000";LC_MONETARY
category "mk_MK:2000";LC_MESSAGES
category "mk_MK:2000";LC_PAPER
category "mk_MK:2000";LC_NAME
category "mk_MK:2000";LC_ADDRESS
category "mk_MK:2000";LC_TELEPHONE
END LC_IDENTIFICATION
LC_COLLATE
copy "iso14651_t1"
END LC_COLLATE
LC_CTYPE
copy "i18n"
END LC_CTYPE
LC_TIME
abday "<U043D><U0435><U0434>";"<U043F><U043E><U043D>";"<U0432><U0442><U043E>";"<U0441><U0440><U0435>";"<U0447><U0435><U0442>";"<U043F><U0435><U0442>";"<U0441><U0430><U0431>"
day "<U043D><U0435><U0434><U0435><U043B><U0430>";"<U043F><U043E><U043D><U0435><U0434><U0435><U043B><U043D><U0438><U043A>";"<U0432><U0442><U043E><U0440><U043D><U0438><U043A>";"<U0441><U0440><U0435><U0434><U0430>";"<U0447><U0435><U0442><U0432><U0440><U0442><U043E><U043A>";"<U043F><U0435><U0442><U043E><U043A>";"<U0441><U0430><U0431><U043E><U0442><U0430>"
abmon "<U0458><U0430><U043D>";"<U0444><U0435><U0432>";"<U043C><U0430><U0440>";"<U0430><U043F><U0440>";"<U043C><U0430><U0458>";"<U0458><U0443><U043D>";"<U0458><U0443><U043B>";"<U0430><U0432><U0433>";"<U0441><U0435><U043F>";"<U043E><U043A><U0442>";"<U043D><U043E><U0435>";"<U0434><U0435><U043A>"
mon "<U0458><U0430><U043D><U0443><U0430><U0440><U0438>";"<U0444><U0435><U0432><U0440><U0443><U0430><U0440><U0438>";"<U043C><U0430><U0440><U0442>";"<U0430><U043F><U0440><U0438><U043B>";"<U043C><U0430><U0458>";"<U0458><U0443><U043D><U0438>";"<U0458><U0443><U043B><U0438>";"<U0430><U0432><U0433><U0443><U0441><U0442>";"<U0441><U0435><U043F><U0442><U0435><U043C><U0432><U0440><U0438>";"<U043E><U043A><U0442><U043E><U043C><U0432><U0440><U0438>";"<U043D><U043E><U0435><U043C><U0432><U0440><U0438>";"<U0434><U0435><U043A><U0435><U043C><U0432><U0440><U0438>"
d_t_fmt "<U0025><U0061><U002C><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
d_fmt "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>"
t_fmt "<U0025><U0054>"
am_pm "";""
t_fmt_ampm ""
END LC_TIME
LC_MONETARY
int_curr_symbol "<U004D><U004B><U0044><U0020>"
currency_symbol "<U0434><U0435><U043D>"
mon_decimal_point "<U002C>"
mon_thousands_sep "<U0020>"
mon_grouping 3;3
positive_sign ""
negative_sign "<U002D>"
int_frac_digits 2
frac_digits 2
p_cs_precedes 0
p_sep_by_space 1
n_cs_precedes 0
n_sep_by_space 1
p_sign_posn 1
n_sign_posn 1
END LC_MONETARY
LC_NUMERIC
decimal_point "<U002C>"
thousands_sep "<U0020>"
grouping 3;3
END LC_NUMERIC
LC_MESSAGES
yesexpr "<U005B><U0414><U0434><U0044><U0064><U0059><U0079><U0031><U005D><U002E><U002A>"
noexpr "<U005B><U041D><U043D><U004E><U006E><U0030><U005D><U002E><U002A>"
yesstr "<U0434><U0430>"
nostr "<U043D><U0435>"
END LC_MESSAGES
LC_PAPER
height 297
width 210
END LC_PAPER
LC_TELEPHONE
tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/
<U006C>"
int_prefix "<U0033><U0038><U0039>"
END LC_TELEPHONE
LC_MEASUREMENT
measurement 1
END LC_MEASUREMENT
LC_NAME
name_fmt "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/
<U0025><U006D><U0025><U0074><U0025><U0066>"
END LC_NAME
LC_ADDRESS
postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/
<U004E><U0025><U0063><U0025><U004E>"
END LC_ADDRESS
#include <locale.h>
#include <string.h>
int compare(char **p1, char **p2) {
return strcoll(*p1, *p2);
}
int main() {
char *array[] = {"шамар", "жаба", "баба", "ѓон", "чаша",
"а","љ","њ","е","р","т","ѕ","у","и","о","п",
"с","д","ф","г","х","ј","к","л","з","џ","ц",
"в","н","м","ќ" };
int nstrings = 31;
int i;
setlocale(LC_ALL,"");
qsort (array, nstrings, sizeof (char *), compare);
for(i=0;i<nstrings;i++) puts(array[i]);
exit(0);
}