New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use ebu library for EPWING dictionaries #1344
Conversation
I think the great difficulty here is most linux distributions or macos does not provide eb/ebu precompiled library. |
how to compile libebu on windows? I have not succeed in compile it. |
A comment under mvf/qolibri#38 suggests that libebu is not much better than libeb. Why should it replace libeb in GoldenDict? Perhaps just add optional support for building against libebu in epwing_book.* and goldendict.pro, without touching bundled libeb in maclibs and winlibs? |
Sorry. I don't use GD anymore. |
There is no difficulty in porting to libebu, only the name of C header files/lib should be changed in the GD source/pro files. I have been using libebu for several years, but don't feel any discomfort, and also users of GD++ did not report any problems about libebu. The biggest issue is that libebu is a private project with no public VCS repo and also without CI based builds. |
What are the advantages of libebu over libeb? |
The big advantage is that it has built-in support for utf8 encoding of EPWING content(but now few EPWING dictionaries were built with utf8 encoding). |
And the biggest problem with libeb is that it is not thread-safe, and libebu may have made some optimizations for this. I do not understand Japanese(comments in libebu codes), so I didn't go deep into libebu's codes to confirm that. |
@nonwill, do you have any English-language references that explain the state and issues with libeb, recommend replacing it with libebu? I just found this one: https://aur.archlinux.org/packages/ebu I think the first step is to allow to optionally build GoldenDict against libebu and let GNU/Linux distributions try switching to libebu, if they feel like it. Then the distros' experience and bug reports (or lack thereof) can guide the decision to replace (or not) the bundled libeb files. |
Interestingly, there are 28 votes for libeb and 0 votes for ebu in AUR. This is probably because several AUR packages depend on libeb but none on ebu. Given such lack of clarity, the start should be optional, off-by-default libebu support. Judging by the changes in this PR, such optional support should be easy to implement. |
NO, I have not. I think that those Pinned Comments from https://aur.archlinux.org/packages/ebu are just enough.
This is its official introduction, in Japanese:
Totally agree with it.
|
This commit is based on the first commit of an unmerged porting pull request goldendict#1344. As I wrote in a comment to that pull request, the first step in porting from libeb to libebu is to allow optionally building GoldenDict against libebu and let GNU/Linux distributions try switching to libebu, if they feel like it. Then the distros' experience and bug reports (or lack thereof) can guide the decision to replace (or not) GoldenDict's bundled libeb files with the corresponding libebu files in maclibs/ and winlibs/.
This commit is based on the first commit of an unmerged porting pull request goldendict#1344. As I wrote in a comment to that pull request, the first step in porting from libeb to libebu is to allow optionally building GoldenDict against libebu and let GNU/Linux distributions try switching to libebu, if they feel like it. Then the distros' experience and bug reports (or lack thereof) can help us decide whether to make libebu the default dependency and whether to replace GoldenDict's bundled libeb files with the corresponding libebu files in maclibs/ and winlibs/.
Created #1635 that implements this idea. |
I've tested some dicts with ebu-4.5 library from http://green.ribbon.to/~ikazuhiro/dic/files.
Windows libs should be compiled separately.