Doplněk TypoJTB

Narazil na chybu ve verzi 1.6.4.beta která byla k dispozici zde: Doplněk TypoJTB (Stránka 1) / Další součásti / Poradna OpenOffice | LibreOffice.

Udělal jsem opravu a upravil manažer kroků Zpět/Vpřed aby přidání neděl. mezery za jednopísmenko novým algoritmem bylo bráno jako jeden krok.

TypoJTB 1.6.4.alpha → přejmenujte soubor z ODT na OXT
typoJTB-v1.6.4.alpha.oxt.PREJMENOVANO.ODT (79.5 kB)

Díky, Kamile, za upozornění i vaši práci.

TypoJTB JIŽ NEBUDE VYVÍJENO.
Chci z něj však vyvíjet nový doplněk a Tom Bílek souhlasil s převodem licence na CC0 1.0 Univerzální - volné dílo :-). Některé úpravy jsou však složitější než jsem si myslel a tudíž to bude na dýl :-(. Např. 3 dny jsem dělal dost intenzivně na řazení pole dle českého pravopisu jen v makru - a na to jsem nikde ukázku nenašel. Už to sice mám, ale chtělo by to zrychlit, na což se budu muset zkusit doptat na En Asku, ale napřed to chci sám vyzkoušet ještě v Pythonu.

Ale objevil jsem jak svázat ty jednopísmenkové spojky/předložky jen v určitém Odstavcovém stylu pomocí AltSearch a klasického Najít/Nahradit :-).

Spustit AltSearch a listboxem Atributy si vybrat požadovaný Odstavcový styl - já dal třeba Tělo textu. No a do vyhledávacího řádku přidat tenhle regulár za ten tag s vybraným odstavcovým stylem

(?<=\b[aikoósuvz])( )(?=\b)

a dát Najít vše.
Najde a označí jen mezery za jednopísmenky v daném Odstavcovém stylu, vypadá to třeba takto:


Pak Ctrl+H a zobrazí se klasický dialog Najít/Nahradit.
V něm do Najít: dát tentýž regulár a do Nahradit: nezlomitelnou mezeru - ta se tam však dává poněkud blbě takže jsem prostě klikl na ikonku Nový dokument což otevřelo nové okno Writeru, v něm Ctrl+Space, Ctrl+A, Ctrl+X a zavřel okno a mohl pomocí Ctrl+V vložit nezlomitelnou mezeru do řádku Nahradit:.
No a zaškrtnout regulární výrazy a Pouze v současném výběru a dát Nahradit vše.


Výsledek:


Jde tam o to, že Najít/Nahradit nechce povolit nahrazování v multivýběru (zakáže checkbox Pouze v současném výběru pro multivýběr); stejně tak AltSearch neumožní použitý regulár uplatnit na nahrazování - prostě s ním nenahradí. Ale pro Najít vše jej akceptuje a udělá multivýběr který nedeaktivuje výběrový checkbox v Najít/Nahradit :-).

Testováno v Libre 7.3.3.1 Win10x64.

Doplněk aktuálně ve verzi 25.8 nefunguje, vyhazuje chybu:
obrazek

Version: 25.8.1.1 (X86_64)
Build ID: 54047653041915e595ad4e45cccea684809c77b5
CPU threads: 12; OS: Linux 6.8; UI render: default; VCL: kf5 (cairo+xcb)
Locale: cs-CZ (cs_CZ.UTF-8); UI: cs-CZ
Calc: CL threaded

Tak jo, opraveno, bylo tam 2× end sub uvnitř proceduřy namísto end if.
Aktuální verze:
typoJTB-v1.6.5.oxt.PREJMENOVANO.ODT (91.5 kB)

1 Like

Díky. Vyzkoušel jsem hned (na novém profilu) a bohužel to háže stejnou chybu :sob: :sob:
obrazek

Mně to funguje, byť pro jistotu jsem to tedy spustil i na čistém profilu. Je to skutečně ta opravená verze 1.6.5? (zelená šipka níže ve snímku obrazovky). Toto vlákno už je nějak “zablokované” a nemohu tu již editovat ty starší příspěvky.

Zkus prosím tě otevřít Basic editor, vlevo v Katalog objektů rozkliknout typoJTB > m_TypoGraf, v okně kódu kliknout do funkce _Typograficke_upravy a menu Spustit > Zkompilovat (nebo tlačítko Zkompilovat, oranžová šipka na obrázku).
Když to hodí chybu tak by to mělo skočit na problematický řádek a vypsat jeho číslo, což by chtělo printscreenovat.

Když to chybu nehodí tak spustit tu fci _Typograficke_upravy → mít kurzor v té fci a menu Spustit > Spustit (modrá šipka v obrázku).

Ahoj, opraveno. Nevím, co jsem dělal špatně. Instaloval jsem určitě tuto verzi (na domácím kompu). V práci mi to funguje. Doma ověřím.

Díky moc!!!