U drugom postu ove teme je osvježena verzija RegEx ocr skripte.
Uputstvo za prilagođavanje najnovije verzije RegEx ocr skripte.1. Ako ne želite da vam skripta nešto radi, a možete da prepoznate koji red u skripti vrši neželjene promjene, deaktivirajte ga na sljedeći način. Na početak tog reda stavite <!-- a na kraj -->
Obratite pažnju da nije isti skup znakova za početak i kraj, početak ima i !
Nemojte isključivati red kao što to može u C++, php i sl. sa // jer će najvjerovatnije doći do neželjenih posljedica.
2. Ako ne možete da prepoznate koji redovi rade ono što vi ne želite, ovdje pročitajte šta sve radi skripta i šta da isključite za pojedine postupke.
<!-- ," -->
<ERROR Find="[\w](\,\x22)[\s]" ReplaceBy="",">
<ERROR Find="[\w](\,\x22$)" ReplaceBy="",">
<ERROR Find="(,)[\.\.\.]" ReplaceBy="">
<ERROR Find="(\.\.\.\,)" ReplaceBy="...">
Ova prva sekcija je zadužena za problematiku oko zareza tj. zapete.
Prvi red sa ERROR pronalazi slovo ili broj pa zarez pa navodnik pa razmak i ispravlja u navodnik pa zarez.
Primjer:
je vrlo brzo," rekao mi je.
Biće:
je vrlo brzo", rekao mi je.
Primjer:
"Prva," "druga," "treća," i "posljednja," vrata.
Biće:
"Prva", "druga", "treća", i "posljednja", vrata.
Ovo su vrlo česte greške kod titlova na engleskom, a zna se desiti i kod nas. Ako vi želite da ostane onako pogrešno, stavite oznake za komentar, prema uputstvu pod 1.
Druga linija radi isto, samo što pronalazi i ako je kraj reda iza navodnika, a ne razmak.
Treća linija briše razmak koji se nalazi ispred tri tačke.
Primjer: Otišao je, vratio se, otišao je,...
Prelazi u: Otišao je, vratio se, otišao je...
Četvrta, kao i treća, briše razmak, ali iza tri tačke.
<!-- Replace htjeo by htio i slično -->
Sljedeća sekcija sadrži ispravke najčešćih grešaka u pravopisu. Ako imate neku riječ koju bi trebalo dodati, molim da me obavijestite ovdje na forumu, da bi skripta bila što bolja.
I ovdje važi isto pravilo. Ako vi želite i dalje da u titlu piše samnom iako je sa mnom pravilno, vi ovaj red
<ERROR Find="(samnom)" ReplaceBy="sa mnom">
promijenite u
<!-- <ERROR Find="(samnom)" ReplaceBy="sa mnom"> -->
I tako za svaki red. Možete i više redova odjednom isključiti tako što ćete početak staviti na početak prvog, a kraj na kraj posljednjeg neželjenog reda.
Npr. ako hoćete da i dalje piše gdin. Petrović, a ne gosp. Petrović, kao i Gdin. Petrović, isključite oba reda posebno ili odjednom kao što je ovdje ispod.
<!-- <ERROR Find="(gdin\.)" ReplaceBy="gosp.">
<ERROR Find="(gdin )" ReplaceBy="gosp. "> -->
Dodate su i neke riječi koje nepravilno imaju č umjesto ć.
Sljedeću cjelinu čine ovi redovi:
<!-- "1 :", "2 :"... "n :" to "n:" -->
<ERROR Find="\d( : )[^(\d)]" ReplaceBy=": ">
<!-- ",,," or similar to "..." -->
<ERROR UseREOnlyToFind="False" Find=",{2,}" ReplaceBy="...">
<!-- "--" or more to "..." -->
<ERROR UseREOnlyToFind="False" Find="-{2,}" ReplaceBy="...">
<ERROR Find="--" ReplaceBy="...">
<ERROR Find="[^(\.)](\.\.)[^(\.)]" ReplaceBy="...">
Prvi ERROR pronalazi broj pa razmak pa : i briše razmak. To je zadržano iz engleske skripte. Ja sam modifikovao tako da ne briše razmak ako je slučaj poređenja, npr. Omjer je 3 : 2.
Sljedeći red mijenja tri zareza u tri tačke. Dalje, dvije crtice (vrlo česte u engl. titlovima) prebacuje u tri tačke. I za kraj, dvije tačke mijenja u tri tačke. Česta greška u titlovima.
Ovaj dio <!-- Apostrophes ("\x22" is '"' character) -->
se bavi promjenom apostrofa koji su korišćeni kao navodnici. Mijenja ih u navodnike.
Ako imate nejasnoća oko ovoga, pitajte, jer ne mogu sada opisivati svaki red šta radi.
<!-- Fix zero and capital 'o' ripping mistakes -->
Ovo je iz engleske skripte. Ako se malo slovo o nađe među brojevima, promijeniće ga u broj nula. I obrnuto.
Ovo je važan dio.
<!-- Brisanje crte - na početku 1. reda (i kada ima dva reda) -->
Ako nećete da koristite ove opcije, stavite je pod komentare, kao što je ovdje:
<!-- <ERROR Find="^(- )[A-ZŠĆŽČĐa-zšćžčđ]" ReplaceBy="">
<ERROR Find="^(-)[A-ZŠĆŽČĐa-zšćžčđ]" ReplaceBy="">
<ERROR Find="^(- )\.\.\." ReplaceBy="">
<ERROR Find="^(-)\.\.\." ReplaceBy="">
<ERROR UseREOnlyToFind="False" Find="^- \x22" ReplaceBy=""">
<ERROR UseREOnlyToFind="False" Find="^-\x22" ReplaceBy="""> -->
<!-- Brisanje razmaka iza crte - na početku 2. reda -->
<!-- <ERROR Find="[\n](- )[A-ZŠĆŽČĐ\x22]" ReplaceBy="-"> -->
<!-- Korigovanje crte - kad je u sredini prvog reda -->
<!-- <ERROR Find="[\.\?\!\x22]( - )[A-ZŠĆŽČĐ\x22]" ReplaceBy=" -"> -->
Sljedeći dio je posvećen tački i razmaku.
<!-- Smart space after dot -->
<ERROR Find="[a-su-zá-úńä-ü](\.)[^(\s\n\.\*\?\!\x22)]" ReplaceBy=". "> <!-- osim kad je zadnje t (rijec kolt) -->
<!-- Oznaka za kalibar. Npr. "Colt .45" -->
<!-- Da bi radilo, da bi ovaj razmak bio dozvoljen, u SW idite Alt+I i odcekirajte "Razmaci ispred tacke" -->
<ERROR Find="(t\.)[0-9][0-9]" ReplaceBy="t .">
Prvi red: Kad naiđe na malo slovo pa tačku, napravi razmak iza tačke. To se izvršava samo ako iza te tačke nema razmaka, ako nije kraj reda, ako nije druga tačka (neće napraviti razmake između ...), itd. Podešeno je da sve radi kako treba.
Postavio sam izuzetak za kolt. Npr. "Kolt .9" će ostati tako, neće biti nepotrebni razmak iza tačke.
Dio <!-- Podešavanje oko domena -->
je posvećen ispravljanju grešaka kod razmaka iza tačke. Pošto je pravopisno nedopustivo da iza tačke nema razmaka, moraju se dodati izuzeci kod domena. Npr. Kod
www.prijevodi-online.org će se onemogućiti pravljenje razmaka iza www. i .org. Dodati su najčešći domeni.
<!-- Sredjuje zarez sa razmakom -->
Ovdje sam koristio skriptu za razmak iza tačke da podesim slično i za zareze.
Iza zareza uvijek mora biti razmak, osim kad je kraj reda, ako već nema razmak i slično.
Ako je razmak ispred zareza, koriguje se. Npr. "Ne ,nemoj mi prići" će biti "Ne, nemoj mi prići"
Ovo ispravlja česte greške u kucanju, nenamjerne.
Ostalo do kraja je nešto iz engleske skripte što je i za nas korisno, razmak iza ... i razmak iza ! i ako je na početku reda razmak iza tri tačke, briše se razmak.
Ako su ... između dvije riječi sa razmakom i ispred i iza, tri tačke se privlače prvoj riječi.
Navodnik se privlači tački, ako je greškom napravljen razmak iza tačke, a navodnik ne pripada rečenici koja slijedi.
Posljednja dva reda privlače navodnik tekstu ako je taj navodnik posljednji znak u redu titla.
Nadam se da vam je sada jasnije šta radi koji dio i da ćete bez problema prilagoditi skriptu svom ukusu i ustaljenom načinu rada. Za sva dodatna pitanja slobodno se obratite ovdje preko foruma, preko maila ili preko lične poruke (PM).