Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.GOLDED
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.GOLDED с датами от 16 Jul 13 03:28:02 до 02 May 24 03:28:02, всего сообщений: 3553
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 972 из 3553 ========================================= RU.GOLDED =
От   : Maxim Sokolsky                   2:5020/828.777     06 Sep 16 10:29:54
Кому : Vladislav Vetrov                                    06 Sep 16 10:29:54
Тема : Редактирование %i,%i(%02X). %s"", should be 3                          
FGHI : area://RU.GOLDED?msgid=2:5020/828.777+57ce62e7
На   : area://RU.GOLDED?msgid=2:5020/2140.152@Fidonet.org+57ce59e2
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.GOLDED?msgid=2:5020/2140.152@Fidonet.org+57d08584
==============================================================================
Привет, Vladislav!

VV> Вспомнил! И если я правильно вспомнил, проблема заключается в том, что
VV> Golded не дружит с utf8.

VV> Поэтому! Лучше отказаться от luit в пользу вот такого решения запуска
VV> Golded через скрипт:
VV> ___________________________

VV> #!/bin/bash
VV> export LANG=ru_RU.koi8r; umask 002; mate-terminal
VV> --window-with-profile=golded --disable-factory -e
VV> '/home/usr/fido/golded/bin/gedlnx
VV> -C/home/usr/fido/golded/cfgs/golded.cfg'

Да, это может помочь, если, конечно, словари у него не в UTF-8.

Если словари в юникоде, и если выставить LANG=ru_RU.koi8r - они набором мусора для редактора так и останутся - нужно их в koi8-r переводить - тогда падать перестанет.

Всё это костыли - исходники golded'а надо патчить, падение происходит вот тут

goldlib/hunspell/csutil.cxx
-+-

static struct lang_map *get_lang2enc(bool what = true)
{
  struct lang_map lang2enc[] =
  {
    {"az", "UTF-8", LANG_az},
    {"bg", "microsoft-cp1251", LANG_bg},
    {"ca", "ISO8859-1", LANG_ca},
    {"cs", "ISO8859-2", LANG_cs},
    {"da", "ISO8859-1", LANG_da},
    {"de", "ISO8859-1", LANG_de},
    {"el", "ISO8859-7", LANG_el},
    {"en", "ISO8859-1", LANG_en},
    {"es", "ISO8859-1", LANG_es},
    {"eu", "ISO8859-1", LANG_eu},
    {"gl", "ISO8859-1", LANG_gl},
    {"fr", "ISO8859-15", LANG_fr},
    {"hr", "ISO8859-2", LANG_hr},
    {"hu", "ISO8859-2", LANG_hu},
    {"it", "ISO8859-1", LANG_it},
    {"la", "ISO8859-1", LANG_la},
    {"lv", "ISO8859-13", LANG_lv},
    {"nl", "ISO8859-1", LANG_nl},
    {"pl", "ISO8859-2", LANG_pl},
    {"pt", "ISO8859-1", LANG_pt},
    {"sv", "ISO8859-1", LANG_sv},
    {"tr", "UTF-8", LANG_tr},
    {"ru", "KOI8-R", LANG_ru},
    {"uk", "KOI8-U", LANG_uk}
  };

  return what ? lang2enc : (lang_map *)(sizeof(lang2enc) / sizeof(lang_map));
}

const char * get_default_enc(const char * lang)
{
  int n = (long)get_lang2enc(false);
  for (int i = 0; i < n; i++)
  {
    if (strcmp(lang, get_lang2enc()[i].lang) == 0)
    {
      return get_lang2enc()[i].def_enc;
    }
  }
  return NULL;
}

int get_lang_num(const char * lang)
{
  int n = (long)get_lang2enc(false);
  for (int i = 0; i < n; i++)
  {
    if (strncmp(lang,get_lang2enc()[i].lang,2) == 0)
    {
      return get_lang2enc()[i].num;
    }
  }
  return LANG_xx;
}
-+-

По-хорошему нужно код править включая логику - только это никто делать не будет - неизвесно что оно затронет в других местах.

Сейчас всё прибито гвоздями - перекодирование внутри дедушки под винду идёт через cp1251, которая определена через болгарскую кодировку, а русская для линуксов только одна - и это KOI8-R.

С наилучшими пожеланиями, Maxim.

--- -А жаль, что во времена неандертальцев не было фидонета
* Origin: Главное - вовремя проснуться (2:5020/828.777)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.024559 секунды