🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.ogonki
Article #13

Re: strona ogonkowa

#13
From: jan... Jan Daciuk
Date: Mon, 11 Dec 1995 00:00
157 lines
5059 bytes
  Ponizej zamieszczam fragment mojego pliku ~/.emacs do obslugi polskich
liter w edytorze GNU emacs. Mozna w nim wyroznic trzy grupy funkcji:

1. Definicje funkcji wstawiajacych polskie znaki do bufora. Znaki w kodzie
   ISO8859-2.

2. Przypisanie tych funkcji klawiszom Alt+litera i Alt+Shift+litera
   Te przypisania dzialaja na klawiaturze SUN starszego typu (a la AT)
   pod SunOS 4.1.3. Nie mam teraz mozliwosci przetestowania ich na
   innych maszynach. Jesli nie dzialaja, to modyfikacja powinna byc bardzo
   prosta: nalezy wywolac funkcje global-set-key, nacisnac pozadana
   sekwencje klawiszy, wpisac odpowiednia funkcje insert-*, nacisnac RET.
   Nastepnie C-x ESC ESC (repeat-complex-command), C-a C-k C-g
   (zachowanie w buforze) i C-y w odpowiednim miejscu .emacs.

3. Modyfikacja tablicy okreslajacej typ znaku (czy moze stanowic czesc
   slowa) i w przypadku liter - ich `wielkosc' (mala czy wielka litera).
   Jest to potrzebne do prawidlowego dzialania funkcji forward-word,
   downcase-word itp.

---8<---
; Polish characters
(defun insert-a-ogonek ()
  (interactive "*")
  (insert 177)
)

(defun insert-c-acute ()
  (interactive "*")
  (insert 230)
)

(defun insert-e-ogonek ()
  (interactive "*")
  (insert 234)
)

(defun insert-l-slash ()
  (interactive "*")
  (insert 179)
)

(defun insert-n-acute ()
  (interactive "*")
  (insert 241)
)

(defun insert-o-acute ()
  (interactive "*")
  (insert 243)
)

(defun insert-s-acute ()
  (interactive "*")
  (insert 182)
)

(defun insert-z-acute ()
  (interactive "*")
  (insert 188)
)

(defun insert-z-dot ()
  (interactive "*")
  (insert 191)
)

(defun insert-A-ogonek ()
  (interactive "*")
  (insert 161)
)

(defun insert-C-acute ()
  (interactive "*")
  (insert 198)
)

(defun insert-E-ogonek ()
  (interactive "*")
  (insert 202)
)

(defun insert-L-slash ()
  (interactive "*")
  (insert 163)
)

(defun insert-N-acute ()
  (interactive "*")
  (insert 209)
)

(defun insert-O-acute ()
  (interactive "*")
  (insert 211)
)

(defun insert-S-acute ()
  (interactive "*")
  (insert 166)
)

(defun insert-Z-acute ()
  (interactive "*")
  (insert 172)
)

(defun insert-Z-dot ()
  (interactive "*")
  (insert 175)
)

; key bindings for Polish characters: Alt - lowercase, Alt+Meta - uppercase
(global-set-key (quote [4194401]) (quote insert-a-ogonek)) ; A-a
(global-set-key (quote [4194403]) (quote insert-c-acute)) ; A-c
(global-set-key (quote [4194405]) (quote insert-e-ogonek)) ; A-e
(global-set-key (quote [4194412]) (quote insert-l-slash)) ; A-l
(global-set-key (quote [4194414]) (quote insert-n-acute)) ; A-n
(global-set-key (quote [4194415]) (quote insert-o-acute)) ; A-o
(global-set-key (quote [4194419]) (quote insert-s-acute)) ; A-s
(global-set-key (quote [4194424]) (quote insert-z-acute)) ; A-x
(global-set-key (quote [4194426]) (quote insert-z-dot)) ; A-z
(global-set-key (quote [4194369]) (quote insert-A-ogonek)) ; A-A
(global-set-key (quote [4194371]) (quote insert-C-acute)) ; A-C
(global-set-key (quote [4194373]) (quote insert-E-ogonek)) ; A-E
(global-set-key (quote [4194380]) (quote insert-L-slash)) ; A-L
(global-set-key (quote [4194382]) (quote insert-N-acute)) ; A-N
(global-set-key (quote [4194383]) (quote insert-O-acute)) ; A-O
(global-set-key (quote [4194387]) (quote insert-S-acute)) ; A-S
(global-set-key (quote [4194392]) (quote insert-Z-acute)) ; A-X
(global-set-key (quote [4194394]) (quote insert-Z-dot)) ; A-Z

; case table entries for Polish characters
(let ((downcase (concat (car (standard-case-table)))))
  (set-case-syntax-pair 161 177 downcase) ; Aa with ogonek
  (set-case-syntax-pair 198 230 downcase) ; Cc with acute
  (set-case-syntax-pair 202 234 downcase) ; Ee with ogonek
  (set-case-syntax-pair 163 179 downcase) ; Ll with slash
  (set-case-syntax-pair 209 241 downcase) ; Nn with acute
  (set-case-syntax-pair 211 243 downcase) ; Oo with acute
  (set-case-syntax-pair 166 182 downcase) ; Ss with acute
  (set-case-syntax-pair 172 188 downcase) ; Zz with acute
  (set-case-syntax-pair 175 191 downcase) ; Zz with dot
  (set-standard-case-table (list downcase nil nil nil)))

---8<---

Powodzenia
JD
----------------------------------------------------------------
Jan Daciuk				jan...@sunrise.pg.gda.pl
Zaklad Zastosowan Informatyki		tel. (58) 47-29-89
Politechnika Gdanska			fax: (58) 47-27-27
Ul. Gabriela Narutowicza 11/12,
80-952 Gdansk-Wrzeszcz
<a href="http://www.pg.gda.pl/elka/csapp/jd/"> home page </a>
----------------------------------------------------------------
Technical Details
Message-ID: <4agt34$fkn@sunrise.pg.gda.pl>
Path: mbox-mo1.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
From: jan...@sunrise.pg.gda.pl (Jan Daciuk)
Subject: Re: strona ogonkowa
Date: 1995/12/11
Message-ID: <4agt34$fkn@sunrise.pg.gda.pl>
X-Deja-AN: 121633103
organization: Politechnika Gdanska
keywords: emacs, klawiatura
newsgroups: pl.comp.ogonki
summary: Obsluga klawiatury w edytorze GNU emacs: polskie znaki
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit