Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

линукс учебник

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

[Lug-bg] речниково сортиране: кирилица и български езикови настройки


  • Subject: [Lug-bg] речниково сортиране: кирилица и български езикови настройки
  • From: Roumen Petrov <help@xxxxxxxxxxxxxxxxx>
  • Date: Sun, 22 Jun 2008 18:03:18 +0300

Здравейте,
Бих искал и в този списък да попитам, дали имате нещо против да се 
премахнат допълнителните правила за сортиране, зададени в българските 
езикови настройки ?

Освен това мисля, че в общите правила за сортиране на кирилица, трябва
да се сменят местата на  <U0404> и <U0401> , на <U040C> и <U040B>, и на
съответните им малки букви.

В крайна сметка очаквам да се получи следната подредба на UNICODE
знаците за кирилица от 0x400 до 0x45f:

1) 
аАбБвВгГдДѓЃђЂеЕѐЀёЁєЄжЖзЗѕЅиИѝЍіІїЇйЙјЈкКлЛљЉмМнНњЊоОпПрРсСтТћЋќЌуУўЎфФхХцЦчЧџЏшШщЩъЪыЫьЬэЭюЮяЯ




Технически детайли:
Файлът с описанието, обикновенно, е /usr/share/i18n/locales/bg_BG.
Интересува ни секцията LC_COLLATE, която изглежда, примерно:
======================
LC_COLLATE
copy "iso14651_t1"
reorder-after <9>
.....
reorder-after <U0433>
.....
reorder-end
END LC_COLLATE
======================

Тест с PERL(кода следва):
==================
use locale;
print +(sort grep /\w/, map { chr } 0x400..0x45f), "\n";
==================
и при настойка LANG=bg_BG.UTF-8 се получава следното:
2) 
ЀЍѐѝаАбБвВгГѓЃдДђЂџЏѕЅеЕєЄёЁэЭжЖзЗиИІіїЇыЫйЙЈјкКќЌлЛљЉмМнНњЊоОпПрРсСтТуУўЎфФхХцЦчЧћЋшШщЩъЪьЬюЮяЯ.


Сега ако в файла .../locales/bg_BG се премахнат редовете от
reorder-after <U0433> до reorder-end, без последния би трябвало да се
получи:

3) 
аАбБвВгГдДѓЃђЂеЕѐЀєЄёЁжЖзЗѕЅиИѝЍіІїЇйЙјЈкКлЛљЉмМнНњЊоОпПрРсСтТќЌћЋуУўЎфФхХцЦчЧџЏшШщЩъЪыЫьЬэЭюЮяЯ.

Бележки:
- след редактиране на файла, трябва да се се пресъздадат езиковите
настройки с командата :

localedef -i bg_BG -f UTF-8 bg_BG.UTF-8;
- забележете разликата, след E и T, между 3) и 1);
- моята Си библиотека е остаряла версия и не мога да преценя дали трябва 
да се махне и правилото reorder-after <9>;
- общия файл е iso14651_t1, като в текущата версия правилата от 
iso14651_t1 са преместени в iso14651_t1_common;
- версията на Си библиотеката (libc) може да е по-стара и да липсват 
общи правила за сортиране на ударени "И" и "Е", главни и малки;
- в моята версия няма общи правила за ударените "И" и "Е" и затова, само 
за тестване, съм добавил в .../bg_BG:
----------------
reorder-after <U0438>
<U045D> <CYR-I>;<U045D>;<MIN>;IGNORE
reorder-after <U0418>
<U040D> <CYR-I>;<U040D>;<CAP>;IGNORE
reorder-after <U0435>
<U0450> <CYR-IE>;<U0450>;<MIN>;IGNORE
reorder-after <U0415>
<U0400> <CYR-IE>;<U0400>;<CAP>;IGNORE
----------------


Румен

П.П.

Източници:
http://www.unicode.org/charts/collation/chart_Cyrillic.html

http://www.collation-charts.org/winxp/winxp.0402.CP1251.Bulgarian_Bulgaria.html 
(заб.: мястото на "К" с ударение не е правилно)

и от wikipedia:
http://en.wikipedia.org/wiki/Early_Cyrillic_alphabet
http://en.wikipedia.org/wiki/Cyrillic_alphabet
http://en.wikipedia.org/wiki/Russian_alphabet
http://en.wikipedia.org/wiki/Macedonian_alphabet
http://en.wikipedia.org/wiki/Serbian_Cyrillic_alphabet
http://en.wikipedia.org/wiki/Romanian_Cyrillic_alphabet (заб.: преди
1860–1862!)



_______________________________________________
Lug-bg mailing list
Lug-bg@xxxxxxxxxxxxxxxxxx
http://linux-bulgaria.org/mailman/listinfo/lug-bg


 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.

Hosted by "Internet Group" Ltd. - Stara Zagora