summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-03-21 20:53:24 -0400
committerMatthias Clasen <mclasen@redhat.com>2021-03-21 21:48:03 -0400
commita41cd9b1fa62ffd32d607f0c4120ef4cde89f333 (patch)
tree046877586ef38927806814dc7bcc9ac02e514806
parent8bfc6afe33467a03ea2ab39afbab86052d0dce23 (diff)
downloadgtk+-a41cd9b1fa62ffd32d607f0c4120ef4cde89f333.tar.gz
compose-parse: Add a negative lookaside
Make this script parse gtk-compose-remove.txt for sequences to remove from the xorg Compose file. This will be used for removing some deadkey combinations that we can handle better in code. Also, make this script explicitly python2. I tried porting it to python3, but gave up in the end.
-rwxr-xr-xgtk/compose-parse.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/gtk/compose-parse.py b/gtk/compose-parse.py
index 767f2b421e..23444bc1ed 100755
--- a/gtk/compose-parse.py
+++ b/gtk/compose-parse.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
# -*- coding: utf-8 -*-
#
# compose-parse.py, version 1.4
@@ -26,6 +26,7 @@ URL_KEYSYMSTXT = "http://www.cl.cam.ac.uk/~mgk25/ucs/keysyms.txt"
URL_GDKKEYSYMSH = "http://git.gnome.org/browse/gtk%2B/plain/gdk/gdkkeysyms.h"
URL_UNICODEDATATXT = 'http://www.unicode.org/Public/6.0.0/ucd/UnicodeData.txt'
FILENAME_COMPOSE_SUPPLEMENTARY = 'gtk-compose-lookaside.txt'
+FILENAME_COMPOSE_NEGATIVE_SUPPLEMENTARY = 'gtk-compose-remove.txt'
# We currently support keysyms of size 2; once upstream xorg gets sorted,
# we might produce some tables with size 2 and some with size 4.
@@ -449,6 +450,18 @@ for seq in composefile.readlines():
xorg_compose_sequences_raw.append(seq)
try:
+ composefile_lookaside = open(FILENAME_COMPOSE_NEGATIVE_SUPPLEMENTARY, 'r')
+ for seq in composefile_lookaside.readlines():
+ xorg_compose_sequences_raw.remove(seq)
+except IOError, (errno, strerror):
+ if opt_verbose:
+ print "I/O error(%s): %s" % (errno, strerror)
+ print "Did not find negative lookaside compose file. Continuing..."
+except:
+ print "Unexpected error: ", sys.exc_info()[0]
+ sys.exit(-1)
+
+try:
composefile_lookaside = open(FILENAME_COMPOSE_SUPPLEMENTARY, 'r')
for seq in composefile_lookaside.readlines():
xorg_compose_sequences_raw.append(seq)