Age | Commit message (Collapse) | Author |
|
There's only two distinct superleaves files, but there were
more copies in the layout and it's a huge file. Now, lexica
beginning with the text "csw" will fall back to the strategy files
in the "csw" directory before going to default_english. And so,
the Collins superleaves is in strategy/csw and other dictionaries
default directly to strategy/default_english.
Also clean up dupes of other files which didn't take much space,
but at least it clarifies what strategy files are unique.
Minor change to the C++ code to detect the "csw" directory.
|
|
Building on macOS right now. cmake will soon replace qmake
as the supported build system. Some notes about the
implementation:
* libquackle and libquackleio can be separately built as before.
* quacker still links to the static libraries for libquackle and libquackleio,
but quacker's cmake file includes those projects, which means
everything builds at once. No more need to run separate builds
of everything to get a GUI. And debugging is easier now that
the libraries are incorporated into the quacker project.
* I tried to get cmake to build the macOS app bundle, but cmake
is unable, by conventional means, to build a non-flat Resources
directory (which many people have complained about). Right
now, the default build just builds the binary, and you have to run
it from the command-line. But -DBUNDLE=ON will build a shell
of a bundle. It won't work, but I intend to create an Xcode project
from it for building the bundle, to make it easier for me to deliver
a code-signed and notarized app bundle.
* I've got CMakeLists.txt files for the resources, but they're not
really doing anything right now. Maybe later.
* Minimum macOS version for the cmake build is 10.10.
|
|
Specifically...
* Bogowin was only being used for English-like dictionaries.
I suppose the bogowin numbers might change a bit from
dictionary to dictionary, but I think it's quite plausible that
the numbers are similar for all dictionaries.
* This fixes bogowin always returning 100 or 0.
* Make the strategy code more fine-grained, so that if it
has some strategy files and not others, it will use what it
has. JKB recommended a long time ago that I add a generic
worths file to give the blank a high worth, but it wasn't being
used because most languages didn't also have a syn2 or
a superleaves. Now it will. Also, the vowel-consonant
balance computations don't use any strategy files at all,
but they were also being skipped if you didn't have every
single strategy file. Oops.
* The strategy computations would sometimes do
unexpected things if the leaves weren't alphabetized.
They now look at the alphabetized version of the leave.
* A couple more conversions to ranged-for loops.
|
|
|
|
So, basically, the dictionary is queried to see if it's
"English-like". Which is to say that it uses the same
alphabet. If so, then it will fall back to use twl06
strategies, minus the superleaves (the so-called
"default_english"). Otherwise, it uses "default" strategies,
which right now is simply a worths file that sets the
blank to be 30.
It's not great. But better than before.
|
|
|
|
|
|
|