This allows adding more compose sequences without modifying
en_US_UTF_8_Compose.pre.
This is done by grouping sequences files that should be merged together
into a directory. This also allows moving keysymdef.h into that
directory.
* Relicense layouts under CC0
Layout definitions are licensed differently from the rest of the
application source code to allow use in other projects related or
unrelated to Unexpected Keyboard.
Some layouts are not re-licensed and their original copyright continues
to apply. The copyright notice is added at the top of the files.
* Contributing: Mention layout licensing
This makes translation easier as there's a single file to edit at.
Existing short and full descriptions are conserved.
sync_translations.py takes care of updating the metadata files.
The metadata directories are renamed to match the language codes used in `res/`.
Contributing guidelines are updated accordingly.
This separates the layout definitions from the special layouts
(bottom_row, greekmath) and other unrelated files (method, settings).
This is also a more intuitive location for layouts and make the resource
directory easier to navigate.
Under the hood, layouts are copied back into
build/generated-resources/xml.
Update OpenJDK to version 17, Android build tools to 33.0.1 and platform to 33.
These are required to build with Gradle.
Add Gradle to the environment, which must be wrapped to fix a
permissions issue. Setting `GRADLE_OPTS` has no effect as it seems not
to be passed down to the daemon.
The script `check_layout.py` checks some properties about layouts.
No check is an error.
The result of running this script on every layouts is stored in the file
`check_layout.output`, which is useful to track changes.
Add make rules to run this script as well as `sync_translations`.
Layouts no longer need to mention every localized keys and dead keys.
They are now placed automatically starting from the second row on the
bottom-right corner.
The "loc " prefix is not removed to still be able to define a more
optimal and consistent placement for some extra keys (eg. 'ß' near 's').
Programming layouts no longer need to place every dead keys.
The required version of fontforge (from 2020!) is not available in many
distros. This is an annoying for contributors and greatly complicated
the CI and F-Droid scripts.
The generated font file is now included in the sources. Fontforge is
still needed when adding new glyphs but this is not a common operation.
* Cache dependencies on CI workflow
* Use available fontforge version for CI action
Avoid a dirty OS upgrade to get a newer version of FontForge,
use what is available at Ubuntu 20.04
* Upgrade CI Workflow
By using an appimage of FontForge, it's easier to install the latest version, to cache it, and there is no extra dependencies clashes with Ubuntu 20.04
* Make paths for fontforge absolute in makefile
It's necessary because fontforge is an AppImage and requires it
* Improve cache step on CI
wget don't download a duplicate if file already exists
* Generate base64 ascii encoded debug keystore
That can be used to transfer the keystore to a Github Secret
* Restore debug.keystore from github secrets
Get the asc encoded keystore from github secrets,
and decode it back to a bynary file inside the CI run.
* Cleanup redundant lines and add explanation comment
* runs-on ubuntu-latest
Co-authored-by: Jules Aguillon <jules@j3s.fr>
* add *.keystore.asc to .gitignore
* Clean up lines, adjust documentation
* use CURDIR automatic makefile variable
Co-authored-by: Jules Aguillon <jules@j3s.fr>