This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Help needed, please


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);
}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]