This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
deb-goldedplus/contrib/Unix/make-alt-translations.sh

70 lines
4.3 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/sh
# vim:set sw=4 ts=8 fileencoding=utf8::Кодировка:UTF-8[АБЁЪЯабёъя]
#
# Авторское право (с) 2015, Сергей Леонтьев, leo@sai.msu.ru
#
# Разрешается повторное распространение и использование как в виде
# исходника так и в двоичной форме, с модификациями или без, при
# соблюдении следующих условий:
#
# 1. При повторном распространении исходного кода должно оставаться
# указанное выше уведомление об авторском праве, этот список условий и
# нижеследующий отказ от гарантий.
#
# 2. При повторном распространении двоичного кода должно
# воспроизводиться указанное выше уведомление об авторском праве, этот
# список условий и нижеследующий отказ от гарантий в документации
# и/или в других материалах, поставляемых при распространении.
#
# 3. Ни название Крипто-Про, ни имена его сотрудников не могут быть
# использованы в качестве поддержки или продвижения продуктов,
# основанных на этом ПО без предварительного письменного разрешения.
#
# ЭТО ПРОГРАММА ПРЕДОСТАВЛЕНА БЕСПЛАТНО ДЕРЖАТЕЛЯМИ АВТОРСКИХ ПРАВ
# И/ИЛИ ДРУГИМИ СТОРОНАМИ "КАК ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА
# ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ
# ОГРАНИЧИВАЯСЬ ИМИ, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И
# ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. НИ В КОЕМ СЛУЧАЕ, ЕСЛИ НЕ ТРЕБУЕТСЯ
# СООТВЕТСТВУЮЩИМ ЗАКОНОМ, ИЛИ НЕ УСТАНОВЛЕНО В УСТНОЙ ФОРМЕ, НИ ОДИН
# ДЕРЖАТЕЛЬ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, КОТОРОЕ МОЖЕТ
# ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, КАК БЫЛО РАЗРЕШЕНО
# ВЫШЕ, НЕ ОТВЕТСТВЕННЫ ПЕРЕД ВАМИ ЗА УБЫТКИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ,
# СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ ИЛИ ПОСЛЕДОВАВШИЕ УБЫТКИ, ПРОИСТЕКАЮЩИЕ ИЗ
# ИСПОЛЬЗОВАНИЯ ИЛИ НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ, НО
# НЕ ОГРАНИЧИВАЯСЬ ПОТЕРЕЙ ДАННЫХ, ИЛИ ДАННЫМИ, СТАВШИМИ
# НЕПРАВИЛЬНЫМИ, ИЛИ ПОТЕРЯМИ ПРИНЕСЕННЫМИ ИЗ-ЗА ВАС ИЛИ ТРЕТЬИХ ЛИЦ,
# ИЛИ ОТКАЗОМ ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ),
# ДАЖЕ ЕСЛИ ТАКОЙ ДЕРЖАТЕЛЬ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О
# ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ.
#
#
# Построение содержимого ресурса VT100.translations для xterm
#
keysymdef=/opt/local/include/X11/keysymdef.h
national='ёъявертыуиопшщэасдфгхйклчюзьцжбнм'
ascii='`=qwertyuiop[]\\asdfghjkl;'"'"'zxcvbnm'
national_unicode=$(
printf "${national}" |
iconv -t UCS-4LE |
od -t x4 |
cut -b 10- |
tr '[a-z]' '[A-Z]' |
sed 's/ 0*\([0-9A-F][0-9A-F][0-9A-F][0-9A-F]\)/U+\1/g'
)
i=0
for nc in $national_unicode ; do
nc_name=$( sed -n \
"/$nc/s/^[[:space:]]*#[[:space:]]*define[[:space:]]*XK_\([^[:space:]]*\).*/\1/p" \
"${keysymdef}" \
)
i=$(($i + 1))
printf " Alt <Key>%s:\tstring(0x1b) string(\"%s\") \\\\n\\\\\n" \
$nc_name \
$(echo "${ascii}" | cut -b $i)
done