Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Общие вопросы Ирбис64 :  ИРБИС Irbis
 
Буква Ё : когда будет правильная поддержка в программе?
Пользователь: IAK (IP-адрес скрыт)
Дата: 22, July, 2016 08:21

Для непонятливых поясню: это 7я буква русского алфавита, и при сортировке должна идти в списке после буквы Е (но почему-то в списке она идет перед А).

Есть еще и другие пожелания, но это уже после.

---
"Гейтс, Гейтс и только Гейтс всегда виноват во всех неприятностях, которые случаются у программистов" (С) Алекс Экслер

Re: Буква Ё : когда будет правильная поддержка в программе?
Пользователь: Alio (IP-адрес скрыт)
Дата: 22, July, 2016 08:46

IAK написал(а):
-------------------------------------------------------
> Для непонятливых поясню: это 7я буква русского
> алфавита, и при сортировке должна идти в списке
> после буквы Е (но почему-то в списке она идет
> перед А).
По этому вопросу обращайтесь в те инстанции, которые создавали кодировки UTF8, Win1251 и т.д.


>
> Есть еще и другие пожелания, но это уже после.

Re: Буква Ё : когда будет правильная поддержка в программе?
Пользователь: IAK (IP-адрес скрыт)
Дата: 22, July, 2016 12:36

> По этому вопросу обращайтесь в те инстанции,
> которые создавали кодировки UTF8, Win1251 и т.д.

То есть Вы тут бессильны? Или это проблемы той версии Дельфи, которую вы используете?


В PHP например это делается просто:


$arr = array("е", "т", "п", "в", "ё", "а");
var_dump($arr);

sort($arr);
var_dump($arr);

setlocale(LC_ALL, "Russian_Russia.1251");
sort($arr, SORT_LOCALE_STRING);
var_dump($arr);

и получаем на выходе соответственно:

array(6) {
[0]=>
string(1) "е"
[1]=>
string(1) "т"
[2]=>
string(1) "п"
[3]=>
string(1) "в"
[4]=>
string(1) "ё"
[5]=>
string(1) "а"
}
array(6) {
[0]=>
string(1) "ё"
[1]=>
string(1) "а"
[2]=>
string(1) "в"
[3]=>
string(1) "е"
[4]=>
string(1) "п"
[5]=>
string(1) "т"
}
array(6) {
[0]=>
string(1) "а"
[1]=>
string(1) "в"
[2]=>
string(1) "е"
[3]=>
string(1) "ё"
[4]=>
string(1) "п"
[5]=>
string(1) "т"

так что это не фантастика и вполне реально. Не думаю, что в Дельфи нет управления локалью :)

Re: Буква Ё : когда будет правильная поддержка в программе?
Пользователь: FNS (IP-адрес скрыт)
Дата: 22, July, 2016 13:19

На делфях нормально сортирует и без извращений.

var st:TStringList;
begin
st := TStringList.Create;
try
st.Delimiter := #10;
st.StrictDelimiter := True;
st.DelimitedText := 'ф'#10'ы'#10'ё'#10'а'#10'ж'#10'з'#10'г'#10'о';
st.Sort;
memo1.Lines.AddStrings(st);
finally
st.Free
end;
end;
результат:

http://image.prntscr.com/image/f21e11f7e47c42cbb48bc24781858a2a.png



Редактировано 1 раз. Последний раз 22.07.2016 13:27 пользователем FNS.

Re: Буква Ё : когда будет правильная поддержка в программе?
Пользователь: IAK (IP-адрес скрыт)
Дата: 25, July, 2016 08:36

Делфи 10? Смотрит на системное значение региональных настроек?
А если программа запущена на системе без русской региональной настройки?
Сортировка не собьётся? ;)

Так что да, без извращений, а просто явно указать локаль (если ЯП поддерживает) либо задать таблицу соответствия символов (что можно реализовать на любом ЯП).

Так что очень ждём исправления сортировки с учётом буквы Ё. Тем более, что есть и авторы, и читатели с буквой Ё в фамилии. Да и списки новой литературы неправильно сортируются.

Re: Буква Ё : когда будет правильная поддержка в программе?
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 25, July, 2016 14:39

Проблему с сортировкой буквы Ё в выходных документах (но не в словарях!!) можно реализовать средствами ИРБИСа по упрощенной технологии "Каталогизация на нац. языках".
1. Создать "произвольную" БД SPRV, загрузить в нее единственную запись SORT (во вложении), скопировать Sprv.fst из вложения (формат из единственной строки), выполнить создание словаря.
2. Заменить форматы сортировки основных указателей (во вложении).
Учет буквы Ё при сортировке ведется в первых 25 символах ключа сортировки. Если это избыточно, форматы можно упростить



Редактировано 1 раз. Последний раз 26.07.2016 09:12 пользователем Дунаевская.

Вложения: sprv_Ё.ISO (134 bytes)   Sprv.fst (52 bytes)   ibis.rar (6.8KB)  
Re: Буква Ё : когда будет правильная поддержка в программе?
Пользователь: FNS (IP-адрес скрыт)
Дата: 25, July, 2016 17:45

IAK написал(а):
-------------------------------------------------------
> Делфи 10? Смотрит на системное значение
> региональных настроек?
> А если программа запущена на системе без русской
> региональной настройки?
> Сортировка не собьётся? ;)
>
Мой пост, всего лишь ответ на сортировку Вашего массива ($arr = array("е", "т", "п", "в", "ё", "а"); ) на php ;)
Ключевым моментом тут является несомненно обмен данными, который идёт в utf8. Естественно, как и в php, в делфи тоже это следует учитывать.

RAD XE8

Re: Буква Ё : когда будет правильная поддержка в программе?
Пользователь: Alio (IP-адрес скрыт)
Дата: 26, July, 2016 09:00

Уважаемые программисты, при чем тут DELPHI???
Читайте сообщение Дунаевской.
В СЛОВАРЯХ ИРБИС сортировка идет СТРОГО по кодам и НИКАК иначе.

Re: Буква Ё : когда будет правильная поддержка в программе?
Пользователь: IAK (IP-адрес скрыт)
Дата: 27, July, 2016 07:52

Дунаевская написал(а):
-------------------------------------------------------
> Проблему с сортировкой буквы Ё в выходных
> документах (но не в словарях!!) можно реализовать
> средствами ИРБИСа по упрощенной технологии
> "Каталогизация на нац. языках".

Спасибо, что есть хоть такое решение

Re: Буква Ё : когда будет правильная поддержка в программе?
Пользователь: IAK (IP-адрес скрыт)
Дата: 27, July, 2016 07:59

Alio написал(а):
-------------------------------------------------------
> Уважаемые программисты, при чем тут DELPHI???
> Читайте сообщение Дунаевской.
> В СЛОВАРЯХ ИРБИС сортировка идет СТРОГО по кодам и
> НИКАК иначе.

Странно, что для текстового словаря выполнена сортировка по кодам символов... А если бы в русской таблице ещё и буквы Э, Ю, Я стояли перед буквой А?
Весело бы у вас выглядел такой список...

Re: Буква Ё : когда будет правильная поддержка в программе?
Пользователь: flame (IP-адрес скрыт)
Дата: 16, November, 2016 08:54

Где подробней можно почитать про "Каталогизацию на нац. языках"?

Re: Буква Ё : когда будет правильная поддержка в программе?
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 16, November, 2016 10:36

см. [irbis.gpntb.ru]
Описание во вложении

Вложения: Описание_SPRV_2015.RAR (63.7KB)  
Re: Буква Ё : когда будет правильная поддержка в программе?
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 05, December, 2016 18:24

Цитата:
Да и списки новой литературы неправильно сортируются
Что мешает изменить файлы сортировки? В русском алфавите наблюдается проблема только с "ё". В других может проблема и с "і", "ї"...

Re: Буква Ё : когда будет правильная поддержка в программе?
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 08, December, 2016 10:50

woodyfon написал(а):
-------------------------------------------------------
> Что мешает изменить файлы сортировки?

Собственно, если проблема актуальна для всех, то почему бы их не изменить в дистрибутиве?

Re: Буква Ё : когда будет правильная поддержка в программе?
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 08, December, 2016 19:25

Не уверен, что актуальна для всех. Если действительно была для всех, то разработчики это уже б реализовали.

Re: Буква Ё : когда будет правильная поддержка в программе?
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 09, December, 2016 10:11

Как говорил И.Франко "лупаємо цю скелю".

Как-то на Либкоме сидел на стенде с разработчиками и попросил помочь доделать 951 поле включив туда обложки. А в следующем релизе включили это в дистрибутив. теперь всем нравится.



Редактировано 1 раз. Последний раз 11.12.2016 23:42 пользователем Konstantinus.

Re: Буква Ё : когда будет правильная поддержка в программе?
Пользователь: roit (IP-адрес скрыт)
Дата: 09, December, 2016 13:35

Не уверены что для всех актуально, чтобы буква ё была на своем месте? Ну разве что для библиотек не российских это не нужно. Для всех русскоязычных библиотек это необходимо.
На сегодняшний день мы просто отказались от использования этой буквы, чтобы не путаться сами и не путать читателей. Предупреждаем читателя Стёпина, что у нас в базе он Степин и т.п. и т.д. Авторов и названия книг тоже вводим без ё.
Еще и при поиске было бы правильно, чтобы независимо от того введет читатель с ё или происходил поиск. Т.е. Есида и Ёсида все равно давал результаты.



Редактировано 1 раз. Последний раз 09.12.2016 13:37 пользователем roit.



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.