Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » GoldenDict (Часть 1)

Модерирует : gyra, Maz

Maz (23-02-2017 11:53): GoldenDict (Часть 2)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249

   

slech



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору




 
Актуальная версия 1.5.0:
Windоws RC2-36 Qt 4.8.6 или Qt 5.6.2, последний EXE-файл: goldendict-1.5.0-RC2-50-g2fe314a(EXE only).7z.
Плагин dsengine.dll для Qt 5.6-based версии на Windows XP: dsengine_5.6.1_for_XP.7z
MacOSX RC2-36 (Qt 562) (рекомендуется для Mavericks & Yosemite); RC 483 (Qt 532) (рекомендуется для Mountain Lion); RC 425 (Qt 486)
 
GoldenDict — новая словарная программа, обладающая следующими особенностями:  
 
  • Графический интерфейс на основе табов, для создания которого использована библиотека Qt;
  • Интеграция с html-движком WebKit для корректного представления материалов в html-формате;
  • Поддержка подключения словарей в форматах: Babylon (.BGL), StarDict (.ifo/.dict./.idx/.syn), Dictd (.index/.dict(.dz)), ABBYY Lingvo (.dsl тексты и аудиоматериалы .lsa/.dat, .lsd - только в Android), XDXF, AARD, MDX/MDD, EPWING;
  • Система морфологии, которая находит основы слов при поиске, улучшая его результаты, а также дает рекомендации по правильному написанию слов. Используются обычные словари Hunspell/Myspell;
  • Поддержка индексации звуковых файлов в директориях, формируя из них словари аудио-произношений;
  • Поддержка отправки запросов в Wikipedia, Wiktionary и другие MediaWiki сайты;
  • Режим работы в роли глобальной для всего десктопа всплывающей подсказки, позволяющий выводить информацию для выделенного или помещенного в буфер обмена слова из любого текста внешней программы;
  • Для загрузки доступна версия, имеющая в комплекте набор англо-русско-английских словарей, словарей морфологии и примеры произношения слов на английском языке.  
     
    Программа позиционируется как функциональная замена StarDict, поддерживающая большее количество форматов файлов и более качественное их отображение. Программа умышленно не вводит собственного формата файлов, ставя вместо этого задачу наиболее полно поддержать все популярные существующие.
     
    Официальные Early Access билды для Windоws :: для MacOSX :: для Linux.
    Официальные Development билды для Windоws.
    Официальный форум поддержки GoldenDict.
    Официальный баг-трэкер.
     
    Параллельные топики:
    GoldenDict - New Level - Разработка новых форматов словарей для GD: DSLGD, HTMLGD; подключение речевых движков; режим закладок; варианты полнотекстового поиска.
     
    Как сжимать словари в формат .dz для использования в GoldenDict :: DictZip 1.12.1 (latest) :: Оболочка DictUI
     
    Ссылки на готовые сборки
     
    Ссылки на словари для GoldenDict

  • Всего записей: 4893 | Зарегистр. 10-11-2004 | Отправлено: 11:34 26-04-2009 | Исправлено: Maz, 11:48 23-02-2017
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81

    Цитата:
    Вы не могли бы рассказать подробнее как работает механизм fallback для отсутствующих в шрифтах знаков?

    Этим WebKit занимается, конкретно модуль QWebView. GD просто подготавливает html-страницу и отдаёт её на дальнейшую обработку и отображение в QWebView.

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6092 | Зарегистр. 22-10-2005 | Отправлено: 15:54 19-04-2015
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
    А чем обуславливается различное поведение мобильного GoldenDict и для Windows?
    Мобильный использует в работе другой движок?

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 16:01 19-04-2015
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    Про потроха мобильного только автор рассказать может, это коммерческая программа с закрытым кодом.

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6092 | Зарегистр. 22-10-2005 | Отправлено: 17:00 19-04-2015
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
    Т.е., резюмируя, функцию fallback для десктопа реализовать невозможно?

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 17:04 19-04-2015
    BKSRU

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не думаю, что не возможно. Просто необходимы:  
    - тестовая словарная карточка с подобной проблемой, что бы знать от чего отталкиваться
    - уверенность, что это необходимо
    - желание и время

    Всего записей: 1559 | Зарегистр. 29-01-2009 | Отправлено: 17:46 19-04-2015
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BKSRU
    Не вопрос. Любая карточка с транскрипцией в IPA-диапазоне.  
    Устанавливаете в систему, к примеру, шрифты Roboto (IPA-диапазон отсутствует) и Arial Unicode MS. В article-style.css пишете:

    Код:
    body
    {
      font-family: Roboto, 'Arial Unicode MS';
    }

    И тестируете.

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 17:56 19-04-2015
    BKSRU

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Могу только поставить на заметку, будет время и близкая тема посмотрю, что можно сделать.
    У транскрипции есть тег. Почему бы для него не использовать стиль?

    Всего записей: 1559 | Зарегистр. 29-01-2009 | Отправлено: 18:13 19-04-2015
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BKSRU
    А на счет необходимо ли.. Универсальных шрифтов, покрывающих все диапазоны, нет. Можно, конечно, жить с Arial Unicode MS (обязательно установленным в систему, чтоб были болд и италик начертания) - но это не лучший выход. Тем более, что никакого велосипеда здесь нет. Fallback - стандартный функционал, реализованный во всех браузерах, а также у сабжа для Андроид.
     
    З.Ы. Транскрипция далеко не всегда находится в теге (и, кстати, мир не ограничен форматом DSL). Плюс к тому, различные значки, пиктограммы, мат. символы и прочие закорючки могут располагаться безотносительно каких-либо тегов.

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 18:21 19-04-2015
    BKSRU

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Установил шрифт, прописал стиль. Пробежал глазами карточки, не заметил проблем.

    Всего записей: 1559 | Зарегистр. 29-01-2009 | Отправлено: 19:02 19-04-2015
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81

    Цитата:
    Т.е., резюмируя, функцию fallback для десктопа реализовать невозможно?

    Пробуйте версию на Qt5, там WebKit посвежее.

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6092 | Зарегистр. 22-10-2005 | Отправлено: 19:11 19-04-2015
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BKSRU
    Признаю, пример не совсем корректен, т.к. "неведомый" механизм fallback заточен на шрифт Arial Unicode MS, а если его нет, то на другие дефолтные юникод-шрифты windows, независимо от того, что прописано в font-family после первого шрифта.  
     
    Пример: карточка word. В словаре Cambridge Advanced Learner's Dictionary, 4th Ed. Reader(En-En) эта карточка имеет римскую нумерацию до XIII (именно юникод-символы из диапазона Number Forms, а не просто латинские буквы). Эта же карточка в словаре Macmillan English Dictionary (En-En) в подзаголовке под номером II имеет примеры использования (неправильный - выделенный красным крест - знак 10007 в десятичной кодировке и правильный - выделенную зеленым "галку" - знак 10003). Теперь удаляем Arial Unicode MS из системы. Устанавливаем шрифт Andika. Пример очень характерный, т.к. в этом шрифте знак галки 10003 имеется, тогда как 10007 (крест) отсутствует. Пишем в CSS:

    Код:
    body {
        font-family: Roboto, Andika;
    }
    Видим - римская нумерация, хоть и криво, но присутствует до X включительно. XI и XII - квадраты. XIII имеется, так как это на самом деле X + III, что и выделяется диким отступом между этими двумя знаками. Вывод - "подхватился" установленный в моей системе шрифт типа meiryo, в котором римская нумерация присутствует только до X. Тогда как в Andika эта нумерация присутствует до XII и имеет засечки, визуально отличаясь от отображаемого.
     
    Далее, идем в Macmillan English Dictionary (En-En) - вместо галки и крестика, почему-то, квадраты (хотя в том же meiryo эти знаки присутствуют).
     
    ОК. Пишем в CSS:

    Код:
    body {
        font-family: Andika;
    }
    Наблюдаем - всё в шрифте Andika. Галка не месте, вместо крестика - квадрат (что логично).
     
    Вывод - fallback не работает и GoldenDict-у глубоко фиолетово, что там написано после запятой в font-family. И это, заметьте, для шрифта, установленного в системе, тогда как должно было бы работать даже для подгружаемого по src: url('file:....ttf'); для обеспечения универсальности и портабельности.
     
    З.Ы. Кстати, пользуюсь Вашей сборкой.
     
    Добавлено:
    Abs62
    Попробовал сборку на Qt 541. Уря! Всё работает как надо (подгрузку по src: пока не проверял). Спасибо за наводку!

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 20:44 19-04-2015
    BKSRU

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
     Смущает, что вы не ставите кавычки у шрифтов.
    body {
        font-family: 'Roboto', 'Andika';
    }  
     Поверьте нет времени искать глазами проблемы, особенно если и стиль не корректен. Не в первый раз задаете вопросы, знаете как это делать правильно. В общем если актуально то сделайте тестовую карточку.

    Всего записей: 1559 | Зарегистр. 29-01-2009 | Отправлено: 21:06 19-04-2015
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BKSRU
    В данном случае кавычки не обязательны и Вы, думаю, об этом знаете.

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 21:11 19-04-2015
    BKSRU

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Однако инспектор показал, что шрифты без кавычек не подхватываются. Может в QT5 иначе.

    Всего записей: 1559 | Зарегистр. 29-01-2009 | Отправлено: 21:13 19-04-2015 | Исправлено: BKSRU, 21:14 19-04-2015
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Сейчас специально проверил с кавычками. Изменений, как и предполагалось, нет.
    Кстати, на сборке с Qt 541 без кавычек всё прекрасно работает.

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 21:16 19-04-2015
    BKSRU

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Проверить никогда не помешает. Тогда делайте карточку. Почти на год засел за учебники, естестсвенно потерял практику. Но восстанавливаю обычно не долго, если руки доходят.
    На QT5 хотел бы перейти. Однако жалобы на скорость как то не вдохновляют. Вот обновленный вебдвижок конечно не помешал бы.

    Всего записей: 1559 | Зарегистр. 29-01-2009 | Отправлено: 21:23 19-04-2015 | Исправлено: BKSRU, 21:26 19-04-2015
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BKSRU
    Как просили, пример карточки:
     
    http://rghost.net/8Yx4CBzXv
     
    В архиве словарь с карточкой примера (несколько диапазонов юникода) + 6 подгружаемых шрифтов + article-style.css
     
    В QT5 fallback работает, как и положено, для всех 6-ти перечисленных шрифтов в порядке заданного приоритета. Просто сравните с тем, как ведёт себя данная конфигурация на QT4 и всё станет ясно. Также, обратите внимание на то, как карточка отображается без подключенного article-style.css (тут всё всецело зависит от имеющихся системных дефолтных шрифтов - и даже если вы установите в систему Universalia - это не поможет).  
     
    Если подытожить, программа на QT4, в том виде, в котором она существует сейчас, в силу отсутствия поддержки полноценной функции fallback, не может позиционироваться ни как полностью портабельное, ни как универсальное (для всех видов письменности) решение. QT5 в этом плане - существенный шаг вперёд. Но...
     
    Поэтому, если Вам удастся решить этот вопрос на QT4 - это будет большое дело.
     
    З.Ы. Шрифты старался подобрать таким образом, чтоб они отличались визуально (bold, italic, serif, sans-serif), хотя шрифтов, отличающихся покрытием больших диапазонов юникода, на самом деле не много, а с "вычурными" стилями практически нет.

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 17:58 20-04-2015
    BKSRU

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Шрифты в систему установил. Стиль подключил. Словарь поставил. Но я не вижу никакой разницы в этой портянке. Особенно на ночь глядя (ночь у нас ).
    Нужна всего простейшаяф карточка. Дстаточно одной нормальной строки, с вставкой несколько символов которые не совпадают и все. Что бы  я мог переключиться с обычного стиля на необычный и увидеть разницу. Не нужно кучи шрифтов, одного примера достаточно. Мне просто нужно видеть проблему, что бы начать просматривать возможные пути решения.  
     
    Добавлено:
    Т.е. суть я понимаю. Должна быть строка в которой есть особый символ, которого в шрифте нет и выскакивает зюгма несмотря на попытку Fallback. Ну вот такой карточки и достаточно.

    Всего записей: 1559 | Зарегистр. 29-01-2009 | Отправлено: 19:19 20-04-2015 | Исправлено: BKSRU, 19:19 20-04-2015
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BKSRU
    Извините, что не расписал подробнее.
     
    Шрифты в систему устанавливать НЕ НАДО! Задача ведь обеспечить универсальное решение, не зависящее от установленных в системе шрифтов. Вы же не будете прилагать к своей сборке специальные шрифты, чтобы пользователь их самостоятельно устанавливал в систему. Но Вы можете придать программе функционал, чтоб она не зависела вообще от системных шрифтов и при этом гарантированно отображала все диапазоны юникода (или предполагала такую возможность).  
     
    А порядок следующий:
     
    1. Распаковать новую чистую сборку на QT5
    2. Папку GoldenDict из моего архива объединить с этой сборкой
    3. Запустить и набрать слово "Юникод" (уже есть в истории)
     
    Результат - это то, что должно быть.
    Задача, чтоб Ваша сборка на QT4 отображала статью так же (что не есть по факту).
     
    А 6 шрифтов и разные диапазоны юникода я подготовил именно для облегчения тестов, т.к. в них есть диапазоны, которые пересекаются, а есть, которые уникальные (можно посмотреть в специализированной программе-менеджере шрифтов или, например, использовать плагин для TotalCommander). В этом-то вся и "фишка" функции Fallback, что можно менять очередность следующего подгружаемого шрифта, когда предыдущий "даёт маху". Т.е., подобрав нужную цепочку шрифтов, расположенных в правильной последовательности, можно обеспечить широкий охват диапазонов без потери визуальной стройности и целостности. Как-то так...

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 19:43 20-04-2015
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BKSRU
    Я тут погуглил немного на эту тему и пришёл к выводу, что решение проблемы в рамках Qt4 крайне маловероятно (если вообще возможно). Проблема именно в версии движка webkit:
     
    Описание проблемы на qt4.8
    Более развёрнуто

    Цитата:
    So the cause must be in your old WebKit implementation. You may try to update to Qt 5 wich uses WebKit 2.0, like Google Chrome. Qt 4.x uses the old WebKit 1.x versions.
     
    Bugfixing the WebKit code is a very bad idea.

    Почему это важно? Простой пример. Система Windows 7 x86 c Office 2010 (т.е. Arial Unicode MS присутствует вместе с кучей других сторонних шрифтов, в которых блок General Punctuation имеется в полном объёме). Словарь "Longman Pronunciation Dictionary (En-En)". Карточка devour.  
     - Крайняя ночная сборка GoldenDict на Qt 4.8.6. Дефолтная конфигурация (article-style.css не подключен). Вместо знака UNDERTIE - артефакт.
     - Крайняя ночная сборка GoldenDict на Qt 5.4.1. Дефолтная конфигурация (article-style.css не подключен). Знак UNDERTIE на месте.
     
    И это не единичный случай. Этот знак в данном словаре встречается 13012 раз.
    Какие могут быть варианты решения для Qt4? Только костыли. Можно было бы подгружать какой-то конкретный шрифт по классу в article-style.css. Но в данном словаре транскрипция (а этот знак встречается в транскрипции) не размечена тегом [t]. Также, можно было бы подгржать шрифт только для определённых блоков по @font-face { unicode-range:... }, но движок WebKit такой продвинутый функционал тем более не поддерживает. Остается указать конкретный один шрифт для всего класса body или .gdarticle, что не является гибким решением, т.к. этот шрифт должен присутствовать в системе (чтоб имелись болд и италик начертания) и может иметь свои недочёты (напр. кривые хинтинг и кернинг, межстрочный интервал и т.п.).
     
    В общем, может Вам стоит подумать по поводу перевода своей сборки на Qt5? Там есть свои плюсы и минусы, но, в любом случае, всё развивается и совершенствуется и нет смысла топтаться на месте, пытаясь "впихать невпихуемое".
    Как бы там ни было, Вам виднее. В любом случае спасибо.

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 11:57 21-04-2015 | Исправлено: Romul81, 12:01 21-04-2015
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249

    Компьютерный форум Ru.Board » Компьютеры » Программы » GoldenDict (Часть 1)
    Maz (23-02-2017 11:53): GoldenDict (Часть 2)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru