Automatyczne wstawianie twardej spacji po pojedynczym znaku

Użytkowanie edytora dokumentów
Rostov
Posty: 87
Rejestracja: sob mar 09, 2013 9:05 pm

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

Post autor: Rostov »

Podrążę jeszcze temat. Czy dałoby się jakoś zautomatyzować/przyspieszyć proces dodawania wpisów do autokorekty? Dodanie reguły dla każdego pojedynczego znaku (litery wielkiej, małej, cyfry i polskiego znaku) pomnożonego o liczbę znaków przestankowych powodujących (oprócz spacji) zastosowanie autokorekty — to praca dość czasochłonna i łatwo o pomyłki.
Apache OpenOffice 4.1.4 (portable) | Windows 7 Home Premium (x64)
Jan_J
Posty: 4558
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

Post autor: Jan_J »

Radziłbym, po zachowaniu kopii zapasowej, ręcznie albo półautomatycznie redagować plik settings\user\autocorr\acor_pl-PL.dat
Jest to plik zip, w środku ma xml-owy plik DocumentList.xml, w którym łatwo rozpoznasz swoje wzorce i możesz dodać nowe. Wyglądają +/- tak:

Kod: Zaznacz cały

<block-list:block block-list:abbreviated-name="abc" block-list:name="abecede"/>
Plik ten winien leżeć gdzieś w Twoim katalogu konfiguracyjnym.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Rostov
Posty: 87
Rejestracja: sob mar 09, 2013 9:05 pm

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

Post autor: Rostov »

Plik znalazłem, ale po otwarciu Notepad++ ujrzałem krzaczastą sieczkę. Czym go otworzyć, by uzyskać edytowalną zawartość?
Apache OpenOffice 4.1.4 (portable) | Windows 7 Home Premium (x64)
Jan_J
Posty: 4558
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

Post autor: Jan_J »

To jest zip. Binarna sieczka zaczyna się od PK.
Rozpakuj i otwórz N++ plik DocumentList.xml.
Po zmianach spakuj z powrotem. Być może będziesz w stanie otworzyć go przez N++ z wnętrza niby-to-nierozpakowanej sesji, ja tak mogę np. z 7-zip.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Rostov
Posty: 87
Rejestracja: sob mar 09, 2013 9:05 pm

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

Post autor: Rostov »

OK, już mam. Teraz tylko zastanawiam się jak to zautomatyzować=przyspieszyć. Nic mi jednak nie przychodzi do głowy.
Apache OpenOffice 4.1.4 (portable) | Windows 7 Home Premium (x64)
Jan_J
Posty: 4558
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

Post autor: Jan_J »

Chcąc masowo dodać wpisy autokorekty zrobiłbym tak:
wpisał listę zamian do pliku csv zamiany.txt kodowanego w utf-8

Kod: Zaznacz cały

kr;krowa;
ko;koza;
q;koń;
a potem wykonał skrypt (Python)

Kod: Zaznacz cały

wpis = '<block-list:block block-list:abbreviated-name="%s" block-list:name="%s"/>'
with open('zamiany.txt') as p:
    for x in p:
        x = x.split(';')
        print (wpis % (x[0], x[1]))
i powstały tekst wkleił do xml-a. Być może trzeba by zmodyfikować wyrażenie print, tak by nie powstawały znaki nowego wiersza. Jak to się robi, zależy od wersji języka.
Są inni, którzy by zaprzęgli do tej czynności raczej Perla, awk albo sed. W gruncie rzeczy nie ma to znaczenia.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Rostov
Posty: 87
Rejestracja: sob mar 09, 2013 9:05 pm

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

Post autor: Rostov »

Zdecydowanie za wysoka szkoła jazdy jak dla mnie. Chyba jednak będę musiał zrobić to wszystko ręcznie. Mam w związku z tym tylko jedno pytanie — czy jeśli będę dodawał wpisy do pliku DocumentList.xml niealfabetycznie, to może to sprawić, że autokorekta będzie działała niepoprawnie? Czy może sama uporządkuje sobie te wpisy wg alfabetu?
Apache OpenOffice 4.1.4 (portable) | Windows 7 Home Premium (x64)
ODPOWIEDZ