Ru-Board.club
← Вернуться в раздел «Программы»

» GoldenDict

Автор: Abs62
Дата сообщения: 25.12.2015 09:25
Romul81

Цитата:
Обновилась спецификация формата xdxf. Среди прочего появился тег стиля <u> и атрибут id ссылки <kref>. Планируется ли в связи с этим обновление соответствующих библиотек GoldenDict?

Если разработчик стандарта почётче распишет спецификацию и не поленится обновить прилагаемые к ней примеры, чтобы проиллюстрировать все нюансы, будем посмотреть.

Цитата:
1) Вы не в курсе, поддерживаются ли зипованные ресурсы для этого формата версией программы для Андроид?

Насчёт андроидной версии я абсолютно не в курсе. Я не только не имею отношения к её разработке, но даже пока что не пользуюсь ей.

Цитата:

2) Какой из актуальных форматов словарей наиболее функциональный в плане форматирования и поддержки ресурсов? Что важно - гибкий маркдаун, таблицы, ресурсы (картинки, звук и, возможно, шрифты) с возможностью упаковки, якоря для больших статей. И чтоб всё это счастье поддерживалось GoldenDict (в т.ч. для Андроида). Из того, что приходит на ум - Stardict - sametypesequence=h, но к нему мне так и не удалось прикрутить аудио - посмотрел в исходниках - так и есть, подхватываются только картинки и css. Про zip даже и говорить нечего. И это в десктопной версии, так что мобильную даже нет смысла проверять. Есть ещё MDict - там всё это есть, и даже JScript работает, но сам формат уж больно замудрёный. Да и закрытый. Плюс, вроде как не поддерживается мобильным GoldenDict. В общем, что посоветуете?

Самые гибкие форматы - те, в которых статьи хранятся в html. То бишь Stardict (h), MDict, Zim, Slob. Из них сейчас работа со звуком прикручена только к MDict. Но можно и к другим прикрутить, буде возникнет такая потребность.
В андроидной версии из них вроде как только Stardict подерживается. Но на каком уровне, сказать не берусь.
Автор: ramix
Дата сообщения: 25.12.2015 16:50
Romul81

Цитата:
1) Вы не в курсе, поддерживаются ли зипованные ресурсы для этого формата версией программы для Андроид?


Вы имеете в виду XDXF? Насколько я знаю, андроидная версия вообще не работает с этим форматом. Проверил у себя на последней полной версии GoldenDict Mobile - не видит этот формат.

Раньше я работал с бета-версиями GoldenDict Mobile, отправлял отчеты, но, к сожалению, реакция разраба/ов была или запоздалой или вообще не было.

Добавлено:

Abs62

Подскажите, пожалуйста, я заметил, что GoldenDict Desktop в поиске словарей для сканирования следует по обычным Windows-ссылкам на папки (Shortcut, *.lnk), находит там и подключает... Это особенность GoldenDict или же зависит от ОС?
Автор: Romul81
Дата сообщения: 25.12.2015 16:57
ramix

Думаю, что она работает, но по хитрому. StarDict заявлен же. А большая часть словарей этого формата имеет sametypesequence=x, то бишь XDXF. А вот на счёт ресурсов - не уверен... надо пробовать. В принципе, можно конвертировать DSL словарь утилитой makedict в StarDict. Она как раз выставляет sametypesequence=x. А ресурсы в подпапку res. C CSS точно не работает (уже тестировал), а вот со звуками а картинками надо пробовать.
Автор: Abs62
Дата сообщения: 25.12.2015 19:54
ramix

Цитата:
Подскажите, пожалуйста, я заметил, что GoldenDict Desktop в поиске словарей для сканирования следует по обычным Windows-ссылкам на папки (Shortcut, *.lnk), находит там и подключает... Это особенность GoldenDict или же зависит от ОС?

Ну да, симлинки подхватываются. А разве не должны?
Автор: Romul81
Дата сообщения: 25.12.2015 20:15

Цитата:
Но можно и к другим прикрутить, буде возникнет такая потребность.


Просто добавьте плиз сюда:


Код: case 'h': // Html content
{
string articleText = "<div class=\"sdct_h\">" + string( resource, size ) + "</div>";

return ( QString::fromUtf8( articleText.c_str() )
.replace( QRegExp( "(<\\s*img\\s+[^>]*src\\s*=\\s*[\"']+)((?!data:)[^\"']*)", Qt::CaseInsensitive ),
"\\1bres://" + QString::fromStdString( getId() ) + "/\\2" )
.replace( QRegExp( "(<\\s*link\\s+[^>]*href\\s*=\\s*[\"']+)((?!data:)[^\"']*)", Qt::CaseInsensitive ),
"\\1bres://" + QString::fromStdString( getId() ) + "/\\2" )
.toUtf8().data() );
}
Автор: ramix
Дата сообщения: 25.12.2015 20:48
Abs62

Цитата:
Ну да, симлинки подхватываются. А разве не должны?

Я считал, что возможны варианты, так как не все программы работают с ними, некоторые обнаруживают, что это ссылка и не следуют по ней.
Автор: Abs62
Дата сообщения: 25.12.2015 21:19
Romul81

Цитата:
Сделано через "sound:". Так что, по идее, всё это может работать и в StarDict -h. Вопрос в том, выходит ли это за рамки формата.

Надо проверить, что сам Stardict скушает и не поперхнётся, то и использовать.

ramix

Цитата:
Я считал, что возможны варианты, так как не все программы работают с ними, некоторые обнаруживают, что это ссылка и не следуют по ней.

Здесь тоже так можно сделать. Но ведь по идее ссылка и должна восприниматься как папка, иначе зачем она вообще нужна.
Автор: ramix
Дата сообщения: 25.12.2015 21:54
Abs62

Цитата:
Но ведь по идее ссылка и должна восприниматься как папка, иначе зачем она вообще нужна.


Как пишет вики, "для более удобной организации структуры файлов на компьютере".

Например, для перехода по щелчку мыши из папки с подключенными к GoldenDict словарями в папку с неподключенными или отключенными версиями (а GoldenDict находит их и подключает).

Впрочем, бог с ней, мне просто было интересно, от чего это зависит - от ОС или GoldenDict. При работе с некоторыми другими словарными оболочками мне не удалось заставить их следовать по ссылкам (не считая жестких ссылок).

Автор: CAEman2
Дата сообщения: 26.12.2015 19:45

Цитата:
niccolo
Предложение ваше дельное. Но беда вся в том, что ABBYY традиционно не прислушивается ни к никаким пожеланиям пользователей.


Цитата:
Раньше я работал с бета-версиями GoldenDict Mobile, отправлял отчеты, но, к сожалению, реакция разраба/ов была или запоздалой или вообще не было.

К сожалению, несколько лет назад тоже самое стало и с GoldenDict Desktop (правда, я продолжаю работать с её master версиями, хотя и без всякого толка для самой программы получается)...
ramix

Цитата:
Как пишет вики, "для более удобной организации структуры файлов на компьютере".

А также, как показывает практика...
Постоянно пользуюсь символическими ссылками. Например, предполагаю сделать не требующую индексации раздачу своей коллекции словарей именно за счёт использования символических ссылок. А жёсткими ссылками никогда не пользовался (думаю, простому пользователю они не нужны)...

Добавлено:
Romul81

Цитата:
Просто добавьте плиз сюда:

Подскажите, пожалуйста, куда что нужно добавить, чтобы избавить Голдендикт от багов, а также хотя бы от одной недоработки, чтобы в окне Порядка словарей в первой строке контекстного меню находилось бы безобидное "Заголовки словаря", поскольку из-за срабатывания выбора первой строки контекстного меню при нечаянном смещении мыши во время щелчка правой кнопкой происходит пересортировка словарей, что можно и не заметить, особенно при работе с фильтром, и нажать кнопку "ОК", что, в свою очередь, для восстановления нужного пользователю порядка словарей при отсутствии резервной копии файла конфигурации приводит к необходимости ручной пересортировки всех словарей (которых может быть и тысяча)!
У меня тогда в раздаче будет исправленная версия.

Заранее благодарю.
Автор: ESCiTAB
Дата сообщения: 30.12.2015 20:07
All

Shell Linux regular expression (BREs, EREs, PREs) difference comparison - blog Channel - PROG3.COM
http://prog3.com/sbdm/blog/fdl19881/article/details/7800877

1. BREs: Basic Regular Expression
2. EREs: Extended Regular Expression
3. PREs: Perl Regular Expression
4. python RegEx

Which one/ones on earth does Goldendicit's Full-text Search support? thanks

Can't find any information in GoldenDict Reference(Press F1 in GD).
GD Version: 1.5.0-RC-517-g38adb08


Автор: Abs62
Дата сообщения: 30.12.2015 21:15
ESCiTAB

Цитата:
Which one/ones on earth does Goldendicit's Full-text Search support?

Look QRegExp class documentation.
Автор: ESCiTAB
Дата сообщения: 31.12.2015 00:21
Abs62
Thank you, i got it and read it through to the end without blinking

Код: ...A word boundary. For example the regexp \bOK\b means match immediately after a word boundary (e.g. start of string or whitespace) the letter 'O' then the letter 'K' immediately before another word boundary (e.g. end of string or whitespace). But note that the assertion does not actually match any whitespace so if we write (\bOK\b) and we have a match it will only contain 'OK' even if the string is "It's OK now".
Автор: BKSRU
Дата сообщения: 31.12.2015 01:57
Try it \Where you are\W
Автор: ESCiTAB
Дата сообщения: 31.12.2015 02:39
BKSRU


Цитата:
Try it \Where you are\W


Nope. NOT working.
According to the specifications of the QRegExp Class, \W is an element, and \b is an assertion.
Автор: BKSRU
Дата сообщения: 31.12.2015 02:45
But it's working better then \b. It is looking for WHOLE words.
Автор: ESCiTAB
Дата сообщения: 31.12.2015 03:08
BKSRU

In fact, \W == [^_0-9a-zA-Z] So, if there is a sentence like this:

Код: ?here you are*
Автор: BKSRU
Дата сообщения: 31.12.2015 03:52
\Where it's not ?here
are\W it's not are*
\W == NOT[_0-9a-zA-Z]
^ == NOT

\Where you are\W
It Allows only punctuation marks.
It'll find: Here you are.
And Will not find: There you arex.

Автор: ESCiTAB
Дата сообщения: 31.12.2015 09:14
BKSRU

\W = NOT[_a-zA-Z0-9] == [^_a-zA-Z0-9], which is just in BREs.


Цитата:
It'll find: Here you are.

No, NOT working.
Compare the followings please.




[more=FTS-TST.DSL]
#NAME "FTS-TST"
#INDEX_LANGUAGE    "English"
#CONTENTS_LANGUAGE "English"
{{{Cf. http://doc.qt.io/qt-4.8/qregexp.html }}}
{{{0. GDFTS == QRegExp almost equal to PREs }}}
{{{1. BREs: Basic Regular Expression}}}
{{{2. EREs: Extended Regular Expression}}}
{{{3. PREs: Perl Regular Expression}}}
{{{4. python RegEx }}}
{{{----------------------------------------------}}}
{{{ BREs: \<here you are\> }}}
{{{ GDFTS: \bhere you are\b -- NOT Working }}}
{{{ GDFTS: \Where you are\W -- NOT Working }}}
Whole word
    Well, xyzh[c blue]er[/c]e you are.
    Here you are.
    There you arex.
[/more]
Автор: BKSRU
Дата сообщения: 31.12.2015 09:37
Sorry! It's correct
\W+here you are\W+
Автор: ESCiTAB
Дата сообщения: 31.12.2015 10:08
BKSRU

Crucially, Why \bhere you are\b not working? This phenomenon seemingly defies rational explanation.

\W+here you are\W+ ==>
Код: .here you are.
Автор: BKSRU
Дата сообщения: 31.12.2015 10:13
I see. But it's working better then nothing
WHOLE words.


Добавлено:
You can wonder but it works.
\b+here you are\b+
A highlight is buggy.
It'll not find
WHOLE word2
    xyyHere you are.

Abs62 исправить расхождение с подсветкой конечно можно при желании. Стоит ли.

Автор: ESCiTAB
Дата сообщения: 31.12.2015 13:23
BKSRU, Abs62

Thank you very much, guys. Happy New Year

Hoping i would make good use of RegExp-FTS in Goldendict soon.
Автор: Abs62
Дата сообщения: 31.12.2015 14:59
ESCiTAB

Цитата:
Crucially, Why \bhere you are\b not working? This phenomenon seemingly defy rational explanation.

Bug in function for the extraction words for search in index from search expression. Will be fixed in next EA build.

PS. Hilight will still wrong. To fix it needed to fully rewrite QWebKit hilight function.

PPS. Try: goldendict-1.5.0-RC-518-ge037533(EXE only).7z

BKSRU

Цитата:
Abs62 исправить расхождение с подсветкой конечно можно при желании. Стоит ли.

При очень большом желании. Лезть в потроха QWebKit - занятие не для слабонервных.
Автор: BKSRU
Дата сообщения: 31.12.2015 15:07
Ну с другой стороны пример карточки слишком не типичен, что бы над этим заморачиваться серьезно.
Автор: apokalupsis
Дата сообщения: 01.01.2016 20:21
Всех с Новым годом! Пусть он будет не менее плодотворным чем ушедший!

Подскажите, пожалуйста, что нужно сделать чтобы дополнительный шрифт отображался в GD адекватно?
здесь три примера и сам шрифт http://rghost.ru/77kNF7Tnl

версия GoldenDict 1.5.0_RC293+DSLGD_v6.26_UI_Revolution
Автор: BKSRU
Дата сообщения: 02.01.2016 02:57
apokalupsis
Обязательно указываем размер шрифта:
[fs 13px AlphaSp]
Автор: apokalupsis
Дата сообщения: 02.01.2016 12:21
BKSRU, спасибо! Заработало )))

Сразу ещё вопрос: вот есть словарь со встроенным шрифтом http://rghost.ru/8bNJlFBGK
внутри dsl никакого обрамления этого шрифта нет, однако он работает на всех версиях GD (и Lingvo) при условии, что кодировка UTF-16LE


Почему в одном случае требуется обрамление шрифта, а в другом и так сойдёт (при чем количество поддерживающих оболочек больше) ?
Автор: BKSRU
Дата сообщения: 02.01.2016 12:49
Не особо понял вопрос. Ну видимо потому, что UTF-8 не поддерживает этот шрифт (не резиновый).
Автор: Romul81
Дата сообщения: 02.01.2016 12:58

Цитата:
Почему в одном случае требуется обрамление шрифта, а в другом и так сойдёт


Потому что в к отображению шрифта "обрамление" имеет только косвенное отношение. Оно вступает в действие только тогда, когда явно задан шрифт для определённого тега (в GD) или для всей карточки в Lingvo. Но даже в этом случае, при необнаружении определённого знака в явно заданном шрифте, вступает в действие механизм Fallback - который работает как на уровне программ, так и ОС в целом. Конкретные реализации механизма могут отличаться в разных программах и даже в разных версиях одной программы.

В данном случае происходит следующее. В вашем спец. шрифте задействован блок юникода Private Use Area E000-F8FF, начиная с E8A8. Т.к. шрифт установлен в систему, то она знает как отображать эти знаки (именно система), расположенные на данных позициях диапазона Private Use Area. Если бы в системе был установлен другой шрифт, в котором присутствовали бы другие знаки на этих позициях (что теоретически возможно, т.к. в этом блоке может быть всё что угодно), то необходимо было бы тем или иным образом явно указать желаемый шрифт отображения, во избежание конфликтов. Если же "пересечения" не происходит, то отображается единственный установленный в системе шрифт. И нет необходимости что-либо указывать принудительно.
Автор: apokalupsis
Дата сообщения: 02.01.2016 13:00
Ага, значит, если кодировка поддерживает шрифт, то специальное обрамление не нужно.
Я понял так.
Спасибо!

Добавлено:
Romul81, в общих чертах понял и ваше объяснение. Спасибо!

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156

Предыдущая тема: Total video converter 3.14 ошибка конвертации


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.