plan9port completely ignores XCompose because it has its own compose mechanism (which is mapped to the same key). The sequences are defined in /lib/keyboard and need to be compiled in. Support for the BQN unicode characters is achieved by generating the necessary lines for /lib/keyboard from the .inputrc (for GNU readline) that is part of mlochbaum/BQN (simply because that file is somewhat parseable and stores the sequences in ASCII, contrary to .XCompose). This is implemented by a small BQN script which is executed in postPatch. All usual sequences are supported except those that map to the second ASCII character of the sequence. These exist to keep certain characters typeable in other input system. Thanks to the explicit compose key, Plan 9 doesn't have this problem. Change-Id: I590c03fd69a2aae3cbbbd39ebcbce6cec0418b50 Reviewed-on: https://cl.tvl.fyi/c/depot/+/13034 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org>
16 lines
646 B
Diff
16 lines
646 B
Diff
All BQN character compose sequence use the same leading character (\). Since there
|
|
are about 80 of them, the standard lookup table size is not enough.
|
|
|
|
diff --git a/src/cmd/devdraw/latin1.c b/src/cmd/devdraw/latin1.c
|
|
index 87c0be45..c8e79e33 100644
|
|
--- a/src/cmd/devdraw/latin1.c
|
|
+++ b/src/cmd/devdraw/latin1.c
|
|
@@ -10,7 +10,7 @@ static struct cvlist
|
|
{
|
|
char *ld; /* must be seen before using this conversion */
|
|
char *si; /* options for last input characters */
|
|
- Rune so[60]; /* the corresponding Rune for each si entry */
|
|
+ Rune so[100]; /* the corresponding Rune for each si entry */
|
|
} latintab[] = {
|
|
#include "latin1.h"
|
|
0, 0, { 0 }
|