Autor Tema: OCR skripta za SW  (Posjeta: 102106 )

0 članova i 1 Gost pregledava ovu temu.

Offline MilanRS

  • ...
  • Administrator
  • Izuzetak
  • *****
  • Postova: 10674
  • Spol: Muški
OCR skripta za SW
« : 08.03.2008. 01:10:54 »
Malo sam se igrao sa OCR skriptom u SW, uklonio sam redove koji su od ispravnog pravili pogrešno, npr. od ljudi -> Ijudi i slično.
Stavio sam da ispravlja neke osnovne pravopisne greške, a planiram dodavati kad primijetim da se često dešava u prevodima.
Pored osnovnih ispravki iz default skripte, dodao sam i ovo:
htjeo -> htio
smjeo -> smio
neznam -> ne znam
Neznam -> Ne znam
rijec,riječ -> riječ, riječ
Riječ!Riječ -> Riječ! Riječ
riječ.Riječ -> riječ. Riječ
nebi -> ne bi
nebih -> ne bih
ne ću -> neću
bi smo -> bismo
-- -> ...

Jedino što ne mogu pronaći je kako da mi ne javlja grešku u rečenici: ' "Danas i sutra." ' Tu hoće da napravi razmak između '.' i ' " ' EDIT: Riješio sam!!!
Ako neko u ovoj skripti pronađe kako i to dodati, neka napiše gdje šta da izmijenim.

Predlažite još šta treba. Da napravimo jednu univerzalnu skriptu. U ovoj nema nikakvih razlika za srpski i hrvatski jezik (nisam siguran za ovo "ne ću", u srpskom je jedna riječ, a u hrvatskom valjda hoće da uvedu da se piše odvojeno. Ako neko zna sigurno da je odvojeno, izbacićemo iz zajedničke skripte i ostaviti samo u srpskoj verziji - u budućnosti).
C/p OCR skripte je u sljedećem postu, radi preglednosti i budućih izmjena.
« Zadnja izmjena: 01.04.2008. 23:12:09 MilanRS »
... -> Better Call Saul s2 -> Billions s3 -> Bosch s2 -> Westworld s2 -> The Mick s2 -> The Crossing s1 -> The Affair s4 -> Sharp Objects -> You're the Worst s4 -> Silicon Valley s4 -> Luther s5 -> trenutno: CSI: CSI s13 / Cuckoo s1 / The Comeback s1 / Northern Exposure s1 / Criminal Minds s11 / Quantico s2 / The Simpsons s29 / Veep s5 / Gomorra s2 / Peaky Blinders s4 -> Fargo s3 -> Billions s4



#sfns

Offline MilanRS

  • ...
  • Administrator
  • Izuzetak
  • *****
  • Postova: 10674
  • Spol: Muški
OCR skripta za SW
« Odgovor #1 : 08.03.2008. 01:11:30 »
Trenutno je aktuelna treća verzija i samo se ona unapređuje.
Možete je preuzeti sa ovog linka
http://www.prijevodi-online.org/korisnici/milanrs/MilanRS3.ocr
i tu je uvijek najnovija verzija. Desni klik pa Save link as...

Ako se ne snalazite tako, evo i upakovano u .rar ali tu neće svaki put biti najnovije izdanje skripte.
http://www.prijevodi-online.org/korisnici/milanrs/MilanRS3.rar

Spoiler for Stare skripte koje se više ne dorađuju:
UPDATE: 18.03.2008. UPDATE: 01.04.2008.
UPDATE: 09.04.2008. UPDATE: 13.04.2008.
UPDATE: 30.06.2008. UPDATE: 19.02.2009.
UPDATE obje skripte: 4.7.2009.
MilanRS2 skripta osvježena: 25.4.2010.
MilanRS2 skripta osvježena: 11.7.2010.
MilanRS2 skripta osvježena: 2.4.2011.
MilanRS3 skripta postavljena 11. 2. 2013. http://www.prijevodi-online.org/korisnici/milanrs/MilanRS3.ocr

Evo link do dvije skripte.
Prva skripta ne dira crtice niti briše razmake iza crtice.
Druga skripta uklanja crtice na početku titla, a razmak iza ostalih crtica.

Prva skripta:
http://www.prijevodi-online.org/Tutorial/MilanRS1.ocr
Druga skripta:
http://www.prijevodi-online.org/Tutorial/MilanRS2.ocr

Desni klik na link pa klik na Save Link As ili Save Target As, pa snimite u folder na lokaciji:
C: Program Files - Urusoft - Subtitle Workshop - OCR Scripts

Poslije toga otvorite SW, pa u meniju sa lijeve strane, gdje piše default, kliknite na strelicu i izaberite MilanRS3.
Poslije toga idete F9 da vam se označe sve greške. Zatim stanete na prvu liniju titla, idete F11 da vidite šta će izmijeniti, pa F12 da pređe na sljedeću liniju koja ima grešku. Pa F11. Pa opet F12, F11 i tako ispravljate jednu po jednu liniju. To je ako želite da provjerite šta će vam skripta mijenjati a šta ne. Ako ispravi nešto što ne želite, vratite sa Undo ili Ctrl+Z.
Ako hoćete da sve ispravi odjednom, a da ne vidite šta kako mijenja, idete samo F9 pa F10.
Ako primijetite da nešto mijenja što ne želite, otvorite skriptu u Notepadu (ili Notepad++) i pokušajte isključiti neželjeni dio.
Ako ne možete to sami, napišite šta vam mijenja u šta i pošaljite mi na mail ili PM.

Pošto dugo vremena nisam postavljao osvježenu verziju a dosta toga sam mijenjao i dodavao tokom vremena, odlučio sam da je označim kao treću verziju. Ako primijetite da vam nešto mijenja što smatrate da nije ispravno, javite mi se bez ustručavanja.
« Zadnja izmjena: 11.01.2015. 15:34:37 MilanRS »
... -> Better Call Saul s2 -> Billions s3 -> Bosch s2 -> Westworld s2 -> The Mick s2 -> The Crossing s1 -> The Affair s4 -> Sharp Objects -> You're the Worst s4 -> Silicon Valley s4 -> Luther s5 -> trenutno: CSI: CSI s13 / Cuckoo s1 / The Comeback s1 / Northern Exposure s1 / Criminal Minds s11 / Quantico s2 / The Simpsons s29 / Veep s5 / Gomorra s2 / Peaky Blinders s4 -> Fargo s3 -> Billions s4



#sfns

Offline pejafor3

  • VIP
  • Senior član
  • *****
  • Postova: 1306
  • Spol: Muški
Odg: OCR skripta za SW
« Odgovor #2 : 08.03.2008. 10:52:09 »
Skripta koja uklanja znak "-" iz prve linije prevoda.
(sačuvajte donju skriptu u običan fajl i prometnite ekstenziju u *.pas. Potom ubacite u
\Program Files\URUSoft\Subtitle Workshop\PascalScripts)
Primer:

NEPRAVILNO
00:01:18,480 --> 00:01:20,350
- Dobro.
- Odlično.

PRAVILNO
00:01:18,480 --> 00:01:20,350
Dobro.
- Odlično.


// by kugi

program removefirstdash;


function Remove (title : String) : String;

var
   startIndex : Integer;
   len : Integer;

begin   
   len := Length(title);
   for startIndex := 1 to len-1 do
       begin
       if((Copy(title, startIndex, 1) <> '-') and (Copy(title, startIndex, 1) <> ' ')) then break;

   if((Copy(title, startIndex, 1) = '-') or (Copy(title, startIndex, 1) = ' ')) then
      begin
      Delete(title, 1, 1);
      len := len - 1;
      startIndex := startIndex - 1;
      end;
       end;
   result := title;
end;


var
   titleIndex : Integer;
   title : String;

begin
   for titleIndex := 0 to GetSubtitleCount - 1 do

       begin
       title := GetSubtitleText(titleIndex);
       title := Remove(title);
       SetSubtitleText(titleIndex,title);
       end;
end.

Shave the Cheerleader, Shave the world!

Offline pesekan

  • VIP
  • Regularni forumaš
  • *****
  • Postova: 5
  • Spol: Muški
Odg: OCR skripta za SW
« Odgovor #3 : 11.03.2008. 13:54:43 »
Evo da i ja zamolim za pomoć. :)

Srušio mi se cijeli sistem na kompu i nisam uspio spasiti skripte koje sam do sad imao a koje su mi zlata vrijedile. Pa ako se netko razumije da mi opet složi jednu skriptu bio bih mu jako zahvalan.

U postu iznad se već nalazi skripta koja uklanja prvu crticu iz prijevoda, a meni bi još uz to trebala skripta koja uklanja razmak između druge crtice i prvog slijedećeg znaka.

Dakle iz ovoga:

00:01:18,480 --> 00:01:20,350
Dobro.
- Odlično.


U ovo:

00:01:18,480 --> 00:01:20,350
Dobro.
-Odlično.


Vjerujem da neki čak već i imaju tu skriptu pa ako nije problem da se ovdje posta. Hvala.


Offline kugi001

  • Windowz OCR Professional
  • Član plus
  • Mlađi član
  • ***
  • Postova: 65
Odg: OCR skripta za SW
« Odgovor #4 : 11.03.2008. 15:35:20 »
// by kugi

program RemoveDashSpace;

// ----------------------------------------------
// procedure to remove space after dash ('-')
// and in some cases before dash

function RemoveDashSpace (title : String) : String;

var
   startIndex : Integer;
   len : Integer;

begin   
   len := Length(title);
   for startIndex := 1 to len-1 do
       begin
       if((Copy(title,startIndex,1) = '-') and (Copy(title,startIndex+1,1) = ' ')) then
               begin
           Delete(title,startIndex+1,1);
               len := len - 1;
           end;
       if((Copy(title,startIndex,1) = ' ') and (Copy(title,startIndex+1,1) = '-')) then
           begin
           if((startIndex > 1) and (Copy(title,startIndex-1,1) > #96)) then
               begin
               Delete(title,startIndex,1);
                   len := len - 1;
                   startIndex := startIndex - 1;
               end;
           end;
       end;
   result := title;
end;


// ----------------------------------------------
// main
// ----------------------------------------------

var
   titleIndex : Integer;
   title : String;

begin
   for titleIndex := 0 to GetSubtitleCount - 1 do
       begin
       title := GetSubtitleText(titleIndex);
       title := RemoveDashSpace(title);
       SetSubtitleText(titleIndex,title);
       end;
end.


Offline pesekan

  • VIP
  • Regularni forumaš
  • *****
  • Postova: 5
  • Spol: Muški
Odg: OCR skripta za SW
« Odgovor #5 : 11.03.2008. 16:25:43 »
Kugi care, hvala! :)

Offline pejafor3

  • VIP
  • Senior član
  • *****
  • Postova: 1306
  • Spol: Muški
Odg: OCR skripta za SW
« Odgovor #6 : 13.03.2008. 09:49:19 »
Kugi is back.
Shave the Cheerleader, Shave the world!

Offline kugi001

  • Windowz OCR Professional
  • Član plus
  • Mlađi član
  • ***
  • Postova: 65
Odg: OCR skripta za SW
« Odgovor #7 : 13.03.2008. 14:18:22 »

evo jos jedne vrlo korisne skripte, c/p sa SW foruma
preporuka za one koji prevode preko eng. titla tj. samo
promijene eng. riječi s našima.

Skripta provjerava koji titlovi imaju više od 25 znakova po sekundi
(uključite mod prevođenja u SW jer tamo stavlja log za te titlove)

Cilj skripte je lakše čitanje titlova, znači da se isprave oni koji
prekratko traju/imaju previše znakova ili riječi u odnosu na trajanje

// --= CPS Comment (in translation) =--
// Add info about the Readability Rythm
// of the original sub (Characters per second)
// as a comment [...] in the Translation.
// ------------------------------------
// Made by Buzcatcher - feb.2007
// http://subtitle-spotting.blogspot.com/

program CPScomment;

// -------------------------------------

const
//FYI: 25cps = 40ms spotting for each char ; 20cps=50ms/char. etc.
  CPSlimit = 25;  //Change as you see fit.
  CRLF = ''#13''#10;

var
  i, j, n, pln, p1, p2 : Integer;
  duration, sublength, cps : Integer;
  subtxt, subtrans, report : String;

begin
  if not IsTranslatedloaded then
    exit;

  n := GetSubtitleCount-1;

  for i := 0 to n do
  begin
    subtxt := GetSubtitleText(i);
    sublength := length(subtxt);
    duration := GetSubtitleFinalTime(i) - GetSubtitleInitialTime(i);
   
    //pure stripped text length doesn't count the CRLF in 2 line subs
    pln := pos(''#13''#10, subtxt);
    if (pln>0) then
      sublength := sublength - 2;
   
    cps := round((sublength * 1000)/ duration);   //spotting spead.
   
    if (cps > CPSlimit) then
    begin
      // To update rather than double the cps info.
      subtrans := GetSubtitleTrans(i);
      p1 := pos('[*', subtrans);
      p2 := pos('*]', subtrans);
      while ((p1>0) and (p2>0)) do
         begin
           subtrans := copy(subtrans, p2+2, length(subtrans)-p2);
           p1 := pos('[*', subtrans);
           p2 := pos('*]', subtrans);
         end;
      SetSubtitleTrans(i, subtrans);
   
      //Adding [*xx C/sec*] in the translation text.
      report := '[*' + IntToStr(cps) + ' Car/s*]';
      subtrans := report + GetSubtitleTrans(i);
      SetSubtitleTrans(i, subtrans);
      j := j + 1;
    end;
 
  end;

  MsgBox(IntToStr(j) + ' Subtitles over ' + IntToStr(CPSlimit) + ' char/sec' + CRLF + 'Noted in Translation File', '&Ok', '', '', $20);
end.


Offline MilanRS

  • ...
  • Administrator
  • Izuzetak
  • *****
  • Postova: 10674
  • Spol: Muški
Odg: OCR skripta za SW
« Odgovor #8 : 18.03.2008. 14:15:02 »
Da bi se ispravljala greška postojanja crtice u titlu sa jednim redom, u SW pod Alati, Informacije i greske, kliknite na Podesavanja.
Pod tabom Proveri i pod tabom Sredi
treba da bude čekirano
"-" u titlovima sa jednom linijom.
(To je u srpskom prevodu SW)

Ispravio sam neke greške koje sam napravio prošli put.
Dodao sam neke nove elemente.

Briše liniju u prvom redu titla koji ima dva reda
Npr. (isječak iz Supernaturala)
- Ravnopravnost.
-Mislim da je riječ.
Biće:
Ravnopravnost.
-Mislim da je riječ.

Uklanja i razmak iza početne crte u drugom redu:
Npr.
Ravnopravnost.
- Mislim da je riječ.
Biće:
Ravnopravnost.
-Mislim da je riječ.

Ako u titlu postoji crtica koja ne označava promjenu govornika,
nego stoji umjesto zareza, neće biti privučena tekstu.
Npr.
Doći će - rekao je.

Ako tekst drugog govornika počinje u prvom redu, takođe se koriguje crtica tako da je ispred nje razmak, a iza nje nema razmaka. Preduslovi: Tekst prvog govornika završava sa ? ili ! ili . dok tekst drugog počinje velikim slovom (logično!). Ako je razmak iza crtice, biće obrisan.
Npr.
Oh, čovječe! Stari. - To su moja
sestra i moja cura.
Biće:
Oh, čovječe! Stari. -To su moja
sestra i moja cura.

Izmijenjena skripta (update) je u postu broj 2 odozgo. Sve selektujete i kopirate, pa na kompu pod Program Files, Urusoft, SubtitleWorkshop, OCRScripts otvorite Default u Notepadu i zamijenite tekst.

Biće još dorade kad nađem vremena. Neće biti brzo. Juče sam cijelo poslijepodne potrošio na izučavanje pravila i semantike za OCR.  ;)
... -> Better Call Saul s2 -> Billions s3 -> Bosch s2 -> Westworld s2 -> The Mick s2 -> The Crossing s1 -> The Affair s4 -> Sharp Objects -> You're the Worst s4 -> Silicon Valley s4 -> Luther s5 -> trenutno: CSI: CSI s13 / Cuckoo s1 / The Comeback s1 / Northern Exposure s1 / Criminal Minds s11 / Quantico s2 / The Simpsons s29 / Veep s5 / Gomorra s2 / Peaky Blinders s4 -> Fargo s3 -> Billions s4



#sfns

Offline pejafor3

  • VIP
  • Senior član
  • *****
  • Postova: 1306
  • Spol: Muški
Odg: OCR skripta za SW
« Odgovor #9 : 19.03.2008. 11:22:02 »
Super skripta. Tenks.
Shave the Cheerleader, Shave the world!

Offline Veleno

  • Ex prevoditelj
  • Heroj član
  • ***
  • Postova: 4750
Odg: OCR skripta za SW
« Odgovor #10 : 31.03.2008. 23:31:13 »
Ovako. Tek sam počeo koristiti te skripte za SW. Prva liga su.
Mene zanima ima li tko volje napraviti jednu jednostavnu koje će raditi sljedeće:

Prebaciti ovo:
00:00:12,370 --> 00:00:14,330
Mogu biti skinwalkers,warewolves,poltregeist...

u ovo:
00:00:12,370 --> 00:00:14,330
Mogu biti skinwalkers, warewolves, poltregeist...

Mislim samo da se ubaci taj razmak iza zareza. Znam da ovdje tražim da to neko odradi umjesto mene, međutim o tome nemam pojma a pretpostavljam da će netko sa iskustvom napraviti to u nekoliko minuta. Unaprijed hvala.

Offline MilanRS

  • ...
  • Administrator
  • Izuzetak
  • *****
  • Postova: 10674
  • Spol: Muški
Odg: OCR skripta za SW
« Odgovor #11 : 31.03.2008. 23:42:39 »
Pa to radi "moja" skripta. ;) Drugi post odozgo.

Sutra predveče ću postaviti novu verziju skripte sa dodatnim opcijama i ispravkama. Ova sada mijenja je l' u je I' (zbog engleskog pravopisa) ali to sam sredio u novoj verziji.
... -> Better Call Saul s2 -> Billions s3 -> Bosch s2 -> Westworld s2 -> The Mick s2 -> The Crossing s1 -> The Affair s4 -> Sharp Objects -> You're the Worst s4 -> Silicon Valley s4 -> Luther s5 -> trenutno: CSI: CSI s13 / Cuckoo s1 / The Comeback s1 / Northern Exposure s1 / Criminal Minds s11 / Quantico s2 / The Simpsons s29 / Veep s5 / Gomorra s2 / Peaky Blinders s4 -> Fargo s3 -> Billions s4



#sfns

Offline MilanRS

  • ...
  • Administrator
  • Izuzetak
  • *****
  • Postova: 10674
  • Spol: Muški
Odg: OCR skripta za SW
« Odgovor #12 : 01.04.2008. 00:46:47 »
Svakako sam planirao da sutra postavim update OCR skripte, ali evo odmah sam napravio posebno samo za razmake iza zareza. Default skripta (drugi post u ovoj temi) zna ponekad da mijenja i što ne treba, npr. znam." u znam. " To će tako biti dok ne saznam kako da riješim taj problem. EDIT: Riješio sam.
Ako ne želiš da ti mijenja išta drugo, osim zarez-problem, uradi ovako...
Ovaj kod copy/paste u Notepad, snimi kao zarez_razmak.ocr ili biloKojeIme.ocr, pod:
C:\Program Files\URUSoft\Subtitle Workshop\OCRScripts
Ako ti je pokrenut SW, isključi ga pa ponovo pokreni.
U lijevom panelu u SW, Ispod EastEurope, ispod ANSI, u popUp meniju odaberes zarez_razmak i pritisneš na F9. Označiće sve redove u kojima nema razmaka iza zareza. Ako hoćeš da gledaš kako ispravlja, klikneš na red sa greškom i pritisneš F11. Tako će ispraviti samo taj red. I tako jedan po jedan. Ako hoćeš da ispraviš sve odjednom, nakon F9 pritisneš F10 i napraviće razmak iza svakog zareza.
P.S. Nadam se da se nećeš uvrijediti što ovako detaljno opisujem ako zapravo nisi apsolutni početnik u SW, ali ovo pišem s ciljem da bude od pomoći i drugim prijateljima na sajtu i forumu.
Zadovoljstvo mi je biti od pomoći. Uživajte. Obavezno javite ako se desi neki problem. EDIT: Dodao sam i naša slova u karaktere. Do sada nije ispravljalo npr. puž,danas. Sada je riješeno.
MilanRS
Citat:
<!----------------------------------------------->
<!--     Subtitle Workshop OCR Script file     -->
<!--       Copyright © 2001-2004 URUSoft       -->
<!--           http://www.urusoft.net          -->
<!--     Od ideje do realizacije: MilanRS      -->
<!----------------------------------------------->

<SWOCR WordChars="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_ńŃáéíóúÁÉÍÓÚäëďöü">
   
   <!-- Smart space after zarez -->
   <ERROR Find="[A-ZŽĆČŠĐa-zžčćšđá-úńä-ü](\,)[^(\s\n\,\?\!)]" ReplaceBy=", ">
</SWOCR>
« Zadnja izmjena: 01.04.2008. 23:17:39 MilanRS »
... -> Better Call Saul s2 -> Billions s3 -> Bosch s2 -> Westworld s2 -> The Mick s2 -> The Crossing s1 -> The Affair s4 -> Sharp Objects -> You're the Worst s4 -> Silicon Valley s4 -> Luther s5 -> trenutno: CSI: CSI s13 / Cuckoo s1 / The Comeback s1 / Northern Exposure s1 / Criminal Minds s11 / Quantico s2 / The Simpsons s29 / Veep s5 / Gomorra s2 / Peaky Blinders s4 -> Fargo s3 -> Billions s4



#sfns

Offline Veleno

  • Ex prevoditelj
  • Heroj član
  • ***
  • Postova: 4750
Odg: OCR skripta za SW
« Odgovor #13 : 01.04.2008. 11:45:17 »
Svaka čast na ovoj skripti. Hvala.

Offline MilanRS

  • ...
  • Administrator
  • Izuzetak
  • *****
  • Postova: 10674
  • Spol: Muški
Odg: OCR skripta za SW
« Odgovor #14 : 01.04.2008. 18:58:48 »
- Više neće javljati da je Je l' pogrešno i tražiti Je I' (zaostatak iz engleske skripte).
- jel' će prijavljivati i nuditi je l'. Isto važi i za Jel', jel, Jel.
- mjenjati, promjeniti, želila "goes to": mijenjati, promijeniti, željela.
- Sada ispravlja grešku i kada je iza crtice razmak pa ŠČĆŽÐ, a do sada je radio samo za A-Z.
- Domeni pisani malim slovima: napraviće razmak iza svake tačke. Npr.
ime.domen.co.aa će biti
ime. domen. co. aa
U suprotnom bi kada neko počne rečenicu malim slovom, obrisao razmak ispred. Npr.
...nisu došli. da li su zvali? Neće promijeniti u
...nisu došli.da li su zvali? Sigurno je češći slučaj da "kucači" rečenicu napišu malim slovom nego što se pojavljuju domeni. Zato bolje da domen bude sa razmacima nego rečenice bez.
- Izuzetak su razmaci iza www. i između . i com/net/org/yu/hr
Tako da, ako napišete www.prijevodi-online.org, neće javiti grešku da nema razmaka iza tačke.
Isto važi i za www.majstorbata.com i phpbb3.majstorbata.com i za mailove, npr. pesekan@hotmail.com
Ako naletim na neke domene koji se često javljaju na kraju u prevodima, a nisu .com/net/org/yu/hr, mogu ih dodati u izuzetke.

Javite mi ako ima nešto što vam "smeta" a javlja se često u prevodima i lako se može ispraviti preko skripte. Ja ne mogu da se sjetim svega. Kad gledam neku seriju, ako primijetim da se nešto često ponavlja pogrešno, zapišem na papir pa poslije dogradim u skriptu. Tako ćemo vremenom imati sve bolju skriptu.
Update skripte je u drugom postu odozgo.
« Zadnja izmjena: 01.04.2008. 21:20:19 MilanRS »
... -> Better Call Saul s2 -> Billions s3 -> Bosch s2 -> Westworld s2 -> The Mick s2 -> The Crossing s1 -> The Affair s4 -> Sharp Objects -> You're the Worst s4 -> Silicon Valley s4 -> Luther s5 -> trenutno: CSI: CSI s13 / Cuckoo s1 / The Comeback s1 / Northern Exposure s1 / Criminal Minds s11 / Quantico s2 / The Simpsons s29 / Veep s5 / Gomorra s2 / Peaky Blinders s4 -> Fargo s3 -> Billions s4



#sfns

Offline Nagy

  • Ja
  • Prevoditelj extra
  • Član
  • *****
  • Postova: 395
  • Spol: Muški
Odg: OCR skripta za SW
« Odgovor #15 : 05.04.2008. 21:18:52 »
Imam problem s tvojom novom skriptom, očita mi kao OCR error ono što stara skripta nije, recimo ovo:

Citat:
Rob što to radiš?
- Ništa.

I kada odem na Fix, ne dogodi se ništa, ne popravi ništa, pri slijedećem pregledu ponovno to zacrveni kao OCR grešku. A ona stara OCR skipta to ne smatra greškom. Sad, ja ne vidim u ovome ništa pogrešno, znači da ti se negdje u skripti potkrala greška.
Citat: bugmenot11 - 14. 10. 2008 u 21:48:55
Mirko_Pevac je u pravu, koji kurac prijevod jos nije gotov ? ? ? ? ? ? ? ? ? ? ? ? ?



Offline MilanRS

  • ...
  • Administrator
  • Izuzetak
  • *****
  • Postova: 10674
  • Spol: Muški
Odg: OCR skripta za SW
« Odgovor #16 : 08.04.2008. 18:49:11 »
Neko je predložio da se greškom smatra razmak iza crtice tako da ovdje vjerovatno predlaže da bude:
Rob što to radiš?
-Ništa.

Otvori skriptu i obriši ova dva reda:
<!-- Brisanje crte - na početku 2. reda -->
   <ERROR Find="[\n](- )[A-ZŠĆŽČĐ]" ReplaceBy="-">
Dosnimi izmjene i provjeri da li sada javlja grešku.
Večeras ili sutra ću postaviti novi update sa dodatim ispravkama riječi.
... -> Better Call Saul s2 -> Billions s3 -> Bosch s2 -> Westworld s2 -> The Mick s2 -> The Crossing s1 -> The Affair s4 -> Sharp Objects -> You're the Worst s4 -> Silicon Valley s4 -> Luther s5 -> trenutno: CSI: CSI s13 / Cuckoo s1 / The Comeback s1 / Northern Exposure s1 / Criminal Minds s11 / Quantico s2 / The Simpsons s29 / Veep s5 / Gomorra s2 / Peaky Blinders s4 -> Fargo s3 -> Billions s4



#sfns

Offline genius

  • Mlađi član
  • **
  • Postova: 63
Odg: OCR skripta za SW
« Odgovor #17 : 12.04.2008. 15:40:04 »
Ima li tko skriptu koja će mi raditi razmak između "-" i rečenice.

Npr
Ja sam Marko
-Ja sam Ivan

da napravi ovo

Ja sam Marko
- Ja sam Ivan

Ali ako postoje rečenice u titlu između kojih postoji razmak između "-" i rečenice da mi ne napravi dupli razmak.

Offline MilanRS

  • ...
  • Administrator
  • Izuzetak
  • *****
  • Postova: 10674
  • Spol: Muški
Odg: OCR skripta za SW
« Odgovor #18 : 13.04.2008. 12:40:53 »
Po nekom standardu ne treba da bude razmak nakon crtice (tj. po ugledu na titlove HRT, RTL, NOVA, i drugih), a to sve zato da se uštedi jedan karakter u titlu pa da mogu biti veća slova.
Pošto ti želiš drugačije, treba da uradiš sljedeće.

Ako koristiš moju skriptu, pronađi ove redove i obriši ih.
   
   <!-- 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=" -">

Umjesto njih postavi ovo:
   <!-- Razmak 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=" - ">

Ako ne koristiš moju skriptu, nego default koja je došla zajedno sa programom, ili ne koristiš nijednu, a hoćeš samo tu za crte, možeš ovaj kod ispod prekopirati u notepad i snimiti kao crta.ocr i postaviti ga u C:\Program Files\URUSoft\Subtitle Workshop\OCRScripts
Nakon toga, u SW ideš na Alati, Informacije i greške, OCR skripte i odabereš 'crta'.
Pri ispravljanju razmaka, ako želiš da posmatraš kako će šta promijeniti, pritisni CTRL+I. Prikazaće ti sve greške. Klikni na prvu dva puta. Kad je pronađe u titlu, pritisni F11 i promijeniće je. Zatim idi na F12 da se selektuje sljedeći titl sa greškom. Opet F11 itd.
Kad se uvjeriš da skripta radi sve kako treba (ako ne radi, javi mi), ne moraš mijenjati red po red, nego samo kad otvoriš titl, klikneš na F9 pa F10 i ispraviće sve.

P.S. Ako koristiš default skriptu SW, ona će ti kvariti titl na nekoliko mjesta jer je prilagođena engleskom jeziku. Npr. Je l' će biti Je I' zbog njihovog pravopisa I've i sl. Tako isto i ljudi će biti Ijudi. Ja sam to sve korigovao u novoj skripti koja je u drugom postu u ovoj temi.
P.P.S. Možeš i koristiti moju skriptu bez mijenjanja ovih redova, pa nakon što ona obriše razmake iza - i uradi još neke odlične promjene, pokreneš ovu skriptu 'crta' koja će vratiti razmake iza -, ali će titl
ostati poboljšan što se tiče gramatike i pravopisa.

crta.ocr
<!----------------------------------------------->
<!--     Subtitle Workshop OCR Script file     -->
<!--               MilanRS                     -->
<!----------------------------------------------->

<SWOCR

WordChars="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY

Z_ńŃáéíóúÁÉÍÓÚäëďöü">

<!-- Razmak 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=" - ">
</SWOCR>
... -> Better Call Saul s2 -> Billions s3 -> Bosch s2 -> Westworld s2 -> The Mick s2 -> The Crossing s1 -> The Affair s4 -> Sharp Objects -> You're the Worst s4 -> Silicon Valley s4 -> Luther s5 -> trenutno: CSI: CSI s13 / Cuckoo s1 / The Comeback s1 / Northern Exposure s1 / Criminal Minds s11 / Quantico s2 / The Simpsons s29 / Veep s5 / Gomorra s2 / Peaky Blinders s4 -> Fargo s3 -> Billions s4



#sfns

Offline MilanRS

  • ...
  • Administrator
  • Izuzetak
  • *****
  • Postova: 10674
  • Spol: Muški
Odg: OCR skripta za SW
« Odgovor #19 : 13.04.2008. 12:49:56 »
Nova promjena default skripte koja se nalazi u drugom postu ove teme.
- ispravio sam neke greške
- podešavao sam razmak iza ... i kad je ..." i da procijeni da li " pripada rečenici koja je završena ili onoj koja počinje, ako su obje u istom redu a ispred i iza " ima razmak.
- dodao sam i " pri pronalasku nepotrebnih razmaka u titlu.
Npr.
- "Ne treba razmak u ovom titlu".
biće
"Ne treba razmak u ovom titlu".
Tako isto i kod titlova sa dva reda. Briše razmak na početku drugog reda koji počinje navodnicima.

Svi prijedlozi i kritike su poželjni i dobrodošli.

P.S. U pripremi je skripta koja djelimično prebacuje titl na srpski jezik, ima preko 100 najčešćih riječi i automatsko prebacivanje glagola na ...it će. Npr. Uradit će, Napisat će, ... Uradiće, Napisaće. (uz potpuno poštovanje ravnopravnosti jezika i zahvalnost prevodiocima).
:)
... -> Better Call Saul s2 -> Billions s3 -> Bosch s2 -> Westworld s2 -> The Mick s2 -> The Crossing s1 -> The Affair s4 -> Sharp Objects -> You're the Worst s4 -> Silicon Valley s4 -> Luther s5 -> trenutno: CSI: CSI s13 / Cuckoo s1 / The Comeback s1 / Northern Exposure s1 / Criminal Minds s11 / Quantico s2 / The Simpsons s29 / Veep s5 / Gomorra s2 / Peaky Blinders s4 -> Fargo s3 -> Billions s4



#sfns

Offline genius

  • Mlađi član
  • **
  • Postova: 63
Odg: OCR skripta za SW
« Odgovor #20 : 25.05.2008. 15:27:34 »
Ima li netko neku skriptu koja će detektirati svaki ponovljeni titl bez obzira koliko su razmaknuti.

Npr. SW popravi duple titlove ako je slučaj ovakav:

00:00:01,000 --> 00:00:01,010 Come on, let's book.
00:00:01,010 --> 00:00:02,000 Come on, let's book.

Ali ja želim da mi i popravi npr ovakve:

00:00:01,000 --> 00:00:01,010 Come on, let's book.
00:00:03,010 --> 00:00:06,000 Come on, let's book.

Ako je prevelika razlika u vremenu između 2 jednaka titla, onda ih SW ne detektira kao dupli titl, a ja želim da detektira dupli titl bez obzira koliko bili razmaknuti.

Poslije lako mogu popraviti ako predugo traju...


Offline kugi001

  • Windowz OCR Professional
  • Član plus
  • Mlađi član
  • ***
  • Postova: 65
Odg: OCR skripta za SW
« Odgovor #21 : 25.05.2008. 18:09:49 »
Ima li netko neku skriptu koja će detektirati svaki ponovljeni titl bez obzira koliko su razmaknuti.

Npr. SW popravi duple titlove ako je slučaj ovakav:

00:00:01,000 --> 00:00:01,010 Come on, let's book.
00:00:01,010 --> 00:00:02,000 Come on, let's book.

Ali ja želim da mi i popravi npr ovakve:

00:00:01,000 --> 00:00:01,010 Come on, let's book.
00:00:03,010 --> 00:00:06,000 Come on, let's book.

Ako je prevelika razlika u vremenu između 2 jednaka titla, onda ih SW ne detektira kao dupli titl, a ja želim da detektira dupli titl bez obzira koliko bili razmaknuti.

Poslije lako mogu popraviti ako predugo traju...

ova skripta spaja duple titlove samo ako je razmak manji od sekunde (tvoj prvi slucaj).
// program spaja linije prijevoda
// koje imaju isti tekst, a da razmak između
// dva takva susjedna titla nije veći od 1s

program JoinSameSubtitles;

var
text1 : String;
text2 : String;
textIndex : Integer;
//offset : Integer;
initialtime : Integer;
finaltime : Integer;

begin
//offset := 0;
for textIndex := 0 to (GetSubtitleCount - 1) do
begin
text1 := '';
text2 := '';
text1 := GetSubtitleText(textIndex);
text2 := GetSubtitleText(textIndex+1);
if text1 = text2 then
begin
finaltime := GetSubtitleFinalTime(textIndex);
initialtime := GetSubtitleInitialTime(textIndex+1);
if (initialtime - finaltime) <= 1000 then
begin
        initialtime := GetSubtitleInitialTime(textIndex);
finaltime := GetSubtitleFinalTime(textIndex+1);
SetSubtitleInitialTime(textIndex, initialtime);
SetSubtitleFinalTime(textIndex, finaltime);
DeleteSubtitle(textIndex+1);
textIndex := textIndex - 1;
//offset := offset + 1;
end;
end;
end;
end.


Ako želiš da ti radi i za ovaj drugi slučaj zakomentiraj ovu liniju koda:
//if (initialtime - finaltime) <= 1000 then

Offline genius

  • Mlađi član
  • **
  • Postova: 63
Odg: OCR skripta za SW
« Odgovor #22 : 25.05.2008. 19:58:21 »
thx

ali da li bi se mogla napraviti ocr skripta za to. Ja bih volio vidjeti mjesta gdje je bio taj dupli titl.
« Zadnja izmjena: 25.05.2008. 20:01:21 genius »

Offline kugi001

  • Windowz OCR Professional
  • Član plus
  • Mlađi član
  • ***
  • Postova: 65
Odg: OCR skripta za SW
« Odgovor #23 : 25.05.2008. 21:59:28 »
thx

ali da li bi se mogla napraviti ocr skripta za to. Ja bih volio vidjeti mjesta gdje je bio taj dupli titl.

aha, mislio sam da želiš da ti se odmaj spoje ti titlovi. Za ocr skriptu ne znam, nisam to proučavao.
Recimo možeš u gornjoj skripti promijeniti:
...
SetSubtitleFinalTime(textIndex, finaltime);
Insert('<b>',text1,1);
SetSubtitleText(textIndex,text1);
//DeleteSubtitle(textIndex+1);
...

znaci boldano će ti obilježiti titlove koje bi trebalo spojiti, tj. samo prvog od njih.
Poslije možeš obrisati <b> tagove.

Offline Strider

  • Regularni forumaš
  • *
  • Postova: 38
  • Spol: Muški
    • Few little things...
Odg: OCR skripta za SW
« Odgovor #24 : 10.06.2008. 22:38:41 »
Evo "male" RegEx skripte za popravak na hrvatski jezik. Uključuje OCR grešku "I", "L", "l" i hrvatsko pravilo za "s" i "sa".
Nije baš dorađena, al' potrudit ću se u dogledno vrijeme... Nadam se da će nekome poslužiti  8)

<!----------------------------------------------->
<!--     Subtitle Workshop OCR Script file     -->
<!--       Copyright © 2001-2004 URUSoft       -->
<!--           http://www.urusoft.net          -->
<!--                                           -->
<!-- Default values:                           -->
<!--                                           -->
<!-- UseRE = True (use Regular Expressions)    -->
<!-- UseREOnlyToFind = True (put the part that -->
<!-- is not a RE between parenthesis!)         -->
<!--                                           -->
<!-- If UseRE is set to false then you can use -->
<!-- the following parameters, otherwise they  -->
<!-- will be ignored:                          -->
<!--                                           -->
<!--    CaseSensitive  (Default = False)       -->
<!--    WholeWord      (Default = False)       -->
<!--    PreserveCase   (Default = False)       -->
<!-- ----------------------------------------- -->

<SWOCR WordChars="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_ńŃáéíóúÁÉÍÓÚäëďöü">

<!-- Npr. "O'NeiII" by "O'Neill" -->
<ERROR Find="[a-zá-ú][a-zá-ú](II)" ReplaceBy="ll">
<ERROR Find="(II)[a-zá-ú][a-zá-ú]" ReplaceBy="ll">
<ERROR Find="\b(II)[i]\b" ReplaceBy="Il">
<ERROR Find="\b(ll)[i]\b" ReplaceBy="Il">
<!-- Zamijeni sva "l" s "I" na početku riječi s velikim slovima -->
<ERROR Find="\b(l)[A-ZĆČĐŠŽ]" ReplaceBy="I">
<!-- Zamijeni sva "l" s "I" unutar riječi s velikim slovima -->
<ERROR Find="[A-ZĆČĐŠŽ](l)[A-ZĆČĐŠŽ]" ReplaceBy="I">
<!-- Zamijeni sva "l" s "I" na kraju riječi s velikim slovima -->
<ERROR Find="[A-ZĆČĐŠŽ][A-ZĆČĐŠŽ](l)" ReplaceBy="I">
<!-- Zamijeni sva "I" s "l" unutar riječi s malim slovima ili prvoj riječi u rečenici -->
<ERROR Find="[A-ZĆČĐŠŽa-zćčđšž](I)[a-zćčđšž]" ReplaceBy="l">
<!-- Zamijeni sva "I" s "l" na kraju riječi s malim slovima (uključujući znakove interpunkcije na kraju) -->
<ERROR Find="[a-zćčđšž](I)[a-zćčđšž\s\.!?:;,'\x22)]" ReplaceBy="l">
<ERROR Find="[a-zćčđšž](I)" ReplaceBy="l">
<!-- Zamijeni sva "I" s "l" unutar riječi s hrvatskim znakovima -->
<ERROR Find="[A-Za-zĆČĐŠŽćčđšž](I)[a-zćčđšž]" ReplaceBy="l">
<!-- Zamijeni sva "L" s "I" na početku riječi kada slijedi bilo koje slovo osim "aeiouj" -->
<ERROR Find="\b(L)[bcdfghklmnprstvz\ćčđšž]" ReplaceBy="I">
<!-- Zamijeni sva "l" s "I" na početku riječi kada slijedi bilo koje slovo osim "aeiouj" -->
<ERROR Find="\b(l)[bcdfghklmnprstvz\ćčđšž]" ReplaceBy="I">
<!-- Zamijeni sva "I" s "l" na početku riječi kada slijedi "aeiouj" -->
<ERROR Find="\b(I)[aeijou]" ReplaceBy="l">

<!-- Zamijeni sva sama "l" s "I" -->
<ERROR Find="\b(l)\b" ReplaceBy="I">
<!-- Zamijeni sva sama "I" s "i" ako prethode i slijede mala slova -->
<ERROR Find="[a-zćčđšž]( I )[a-zćčđšž]" ReplaceBy=" i ">

<!-- Izbriši razmak ispred dvotočke ako prethodi broj "1 :", "2 :"... "n :" s "n:" -->
<ERROR Find="\d( :)" ReplaceBy=":">
<!-- Zamijeni ",,," ili više sa "..." -->
<ERROR UseREOnlyToFind="False" Find=",{2,}" ReplaceBy="...">
<!-- "--" ili više sa "..." -->
<ERROR UseREOnlyToFind="False" Find="-{2,}" ReplaceBy="...">

<!-- Navodnici i apostrofi ("\x22" je '"' navodnik) -->
<ERROR Find="(“)" ReplaceBy=""">
<ERROR Find="(”)" ReplaceBy=""">
<ERROR Find="(`)" ReplaceBy="'">
<ERROR Find="(´)" ReplaceBy="'">
<ERROR Find="(‘)" ReplaceBy="'">
<ERROR Find="(’)" ReplaceBy="'">
<ERROR UseREOnlyToFind="False" Find="''" ReplaceBy=""">
<!-- '"' dva puta ili više zamijeni s jednim '"' -->
<ERROR UseREOnlyToFind="False" Find="\x22{2,}" ReplaceBy=""">

<!-- Razmak iza apostrofa, npr. "I' d" to "I'd", "I' LL" to "I'LL", etc. -->
<ERROR Find="(?i)[A-ZÁ-Úa-zá-ú]('\s|\s')(ll|ve|s|m|d)\b" ReplaceBy="'">
<!-- F "Hasn 't" and "Hasn' t" -->
<ERROR Find="[\.\s](')" ReplaceBy="'">
<!-- <ERROR Find="(?i)[A-ZÁ-Úa-zá-ú]('\s|\s')t\b" ReplaceBy="'"> -->
<!-- Zamijeni sva "I'" s "l'" -->
<ERROR Find="(I)[\']" ReplaceBy="l">

<!-- Zamijeni sve glagole s 5 i više slova "**(a)(e)(i)ti ću" s "**(a)(e)(i)t ću" i "**(a)(e)(i)ti će*" s "**(a)(e)(i)t će*" -->
<!-- Glagoli i imenice s četiri slova koja završavaju na "ati" su izuzeci i ne mijenjanju se!!! (ćati, dati, lati, mati, rati, sati, tati, vati) -->
<!-- Riječi s četiri slova koja završavaju na "eti" su izuzeci i ne mijenjanju se!!! (četi, meti, peti, teti) -->
<ERROR Find="[A-Za-zćčđšž][a-zćčđšž][a|e|i](ti )ć[eu]" ReplaceBy="t ">
<ERROR Find="[A-Za-zćčđšž][a-zćčđšž][a|e|i](ti)\r?\nć[eu]" ReplaceBy="t">
<!-- Izuzeci su  glagoli s četiri slova koji se mijenjaju (žeti, biti, liti, miti, piti, riti, šiti, viti) ! -->
<ERROR Find="\b[ž|Ž](eti )ć[eu]" ReplaceBy="et ">
<ERROR Find="\b[ž|Ž](eti)\r?\nć[eu]" ReplaceBy="et">
<ERROR Find="\b[b|B|l|L|m|M|p|P|r|R|š|Š|v|V](iti )ć[eu]" ReplaceBy="it ">
<ERROR Find="\b[b|B|l|L|m|M|p|P|r|R|š|Š|v|V](iti)\r?\nć[eu]" ReplaceBy="it">

<!-- Izuzeci koji se ne mijenjaju: -->
<!-- Ostaje "niti ću (ćeš, će, ćemo, ćete)" -->
<ERROR Find="(?i)\bni(t )ć[eu]" ReplaceBy="ti ">
<ERROR Find="(?i)\bni(t)\r?\nć[eu]" ReplaceBy="ti">
<!-- Ostaje "naniti će" (SF serije: naniti ili nanoboti) -->
<ERROR Find="(nanit )će\b" ReplaceBy="naniti ">
<ERROR Find="(nanit)\r?\nće\b" ReplaceBy="naniti">
<!-- Ostaje "uvjeti će" -->
<ERROR Find="(?i)\buvje(t )će" ReplaceBy="ti ">
<ERROR Find="(?i)\buvje(t)\r?\nće" ReplaceBy="ti">



<!-- Izuzeci koji se ne mijenjaju, dodaje se "t": -->
<!-- Mijenja se "pati ću (ćeš, će, ćemo, ćete)" u "patit ću (ćeš, će, ćemo, ćete)" -->
<ERROR Find="(?i)\b(pati )ć[eu]" ReplaceBy="patit ">
<ERROR Find="(?i)\b(pati)\r?\nć[eu]" ReplaceBy="patit">
<!-- Mijenja se "jati ću (ćeš, će, ćemo, ćete)" u "jatit ću (ćeš, će, ćemo, ćete)" -->
<ERROR Find="(?i)\b(jati )ć[eu]" ReplaceBy="jatit ">
<ERROR Find="(?i)\b(jati)\r?\nć[eu]" ReplaceBy="jatit">
<!-- Mijenja se "leti ću (ćeš, će, ćemo, ćete)" u "letjet ću (ćeš, će, ćemo, ćete)" -->
<ERROR Find="(?i)\b(leti )ć[eu]" ReplaceBy="letjet ">
<ERROR Find="(?i)\b(leti)\r?\nć[eu]" ReplaceBy="letjet">
<!-- Mijenja se "hiti ću (ćeš, će, ćemo, ćete)" u "hitit ću (ćeš, će, ćemo, ćete)" -->
<ERROR Find="(?i)\b(hiti )ć[eu]" ReplaceBy="hitit ">
<ERROR Find="(?i)\b(hiti)\r?\nć[eu]" ReplaceBy="hitit">
<!-- Mijenja se "kiti ću (ćeš, će, ćemo, ćete)" u "kitit ću (ćeš, će, ćemo, ćete)" -->
<ERROR Find="(?i)\b(kiti )ć[eu]" ReplaceBy="kitit ">
<ERROR Find="(?i)\b(kiti)\r?\nć[eu]" ReplaceBy="kitit">

<!-- Zamijeni sva "S" i "s" sa "SA", "Sa" i "sa" kad su na kraju prvog reda -->
<ERROR Find="\b(s)\b\r?\n" ReplaceBy="sa"> <!-- radi -->
<ERROR Find="[a-z]\s\b(S)\b\r?\n[a-z]" ReplaceBy="sa"> <!-- radi -->
<ERROR Find="[A-Z]\s\b(S)\b\r?\n[a-z]" ReplaceBy="SA"> <!-- radi -->
<ERROR Find="\b(S)\b\r?\n" ReplaceBy="Sa"> <!-- radi -->
<ERROR Find="\b(Sa)\b\r?\n[A-Z][A-Z]" ReplaceBy="SA"> <!-- radi -->
<ERROR Find="\b(Sa)\b\r?\n\x22[A-Z][A-Z]" ReplaceBy="SA"> <!-- radi -->
<!-- ovaj dio mora biti ispred ostalih "s" i "sa" -->
<!-- inače (s)\r?\n -> "sa" mijenja npr. "s"(novi red)"stilom" u "sa"(novi red)"satilom" -->



<!-- Zamijeni sva "Sa" i "sa" sa "S" i "s" ako ne slijedi riječ sa "š,Š,s,S,z,Z,ž,Ž,6,7" -->
<ERROR Find="\b(sa)\b\s[^sSšŠzZžŽ67\r?\n]" ReplaceBy="s">
<ERROR Find="\b(s \x22)[sSšŠzZžŽ67]" ReplaceBy="sa "">
<ERROR Find="\b(Sa)\b\s[^sSšŠzZžŽ67\r?\n]" ReplaceBy="S">
<ERROR Find="\b(SA)\b\s[^sSšŠzZžŽ67\r?\n]" ReplaceBy="S">
<ERROR Find="\b(S \x22)[sšzž67]" ReplaceBy="Sa "">
<ERROR Find="\b(S \x22)[SŠZŽ][a-z]" ReplaceBy="Sa "">
<ERROR Find="\b(S \x22)[SŠZŽ]" ReplaceBy="SA "">

<ERROR Find="\b(sa)\r?\n[^sSšŠzZžŽ67\x22]" ReplaceBy="s">
<ERROR Find="\b(sa)\r?\n\x22[abcčćdđefghijklmnopqrtuvwxyABCČĆDĐEFGHIJKLMNOPQRSTUVWXYZŽ]" ReplaceBy="s">
<ERROR Find="\b(s)\r?\n\x22[SšŠzZžŽ67]" ReplaceBy="sa">
<ERROR Find="\b(Sa)\r?\n[^sSšŠzZžŽ67\x22]" ReplaceBy="S">
<ERROR Find="\b(Sa)\r?\n\x22[abcčćdđefghijklmnopqrtuvwxyABCČĆDĐEFGHIJKLMNOPQRTUVWXYZŽ]" ReplaceBy="S">
<ERROR Find="\b(SA)\r?\n[^sSšŠzZžŽ67\x22]" ReplaceBy="S">
<ERROR Find="\b(SA)\r?\n\x22[abcčćdđefghijklmnopqrstuvwxyABCČĆDĐEFGHIJKLMNOPQRTUVWXYZŽ]" ReplaceBy="S">
<ERROR Find="\b(S)\r?\n\x22[sšzž67]" ReplaceBy="Sa">
<ERROR Find="\b(S)\r?\n\x22[SŠZŽ]" ReplaceBy="SA">
<ERROR Find="\b(S)\r?\n\x22[SŠZŽ][a-z]" ReplaceBy="Sa">

<!-- Zamijeni sva "S" i "s" sa "Sa" i "sa" ako slijedi riječ sa "š,Š,z,Z,ž,Ž,s,S" ili broj "6, 7, 6x, 7x, 16, 17, 1xx, 1xxx..." -->
<ERROR Find="\b(S )\b[šzžs][a-z]" ReplaceBy="Sa ">
<ERROR Find="\b(S )\b[ŠZŽS][a-z]" ReplaceBy="Sa ">
<ERROR Find="\b(S )\b[ŠZŽS][A-Z]" ReplaceBy="SA ">
<ERROR Find="\b(s )\b[šŠzZžŽsS67]" ReplaceBy="sa ">
<!-- ...bilo koji broj u istom redu koji počinje sa 6 ili 7 -->
<ERROR Find="[A-Z]( S )[67]" ReplaceBy=" SA ">
<ERROR Find="\b(S )[67]" ReplaceBy="Sa ">
<!-- ...16 ili 17 u istom redu -->
<ERROR Find="\b(s 1)[67]\b" ReplaceBy="sa 1">
<ERROR Find="[A-Z]( S 1)[67]\b" ReplaceBy=" SA 1">
<ERROR Find="\b(S 1)[67]\b" ReplaceBy="Sa 1">
<!-- ...stotice u istom redu koje počinju sa 1 -->
<ERROR Find="\b(s )[1][0-9][0-9]\b" ReplaceBy="sa ">
<ERROR Find="[A-Z]( S )[1][0-9][0-9]\b" ReplaceBy=" SA ">
<ERROR Find="\b(S )[1][0-9][0-9]\b" ReplaceBy="Sa ">
<!-- ... 100000 u istom redu - 100000000 nisu uključeni jer se obično pišu s točkama: 100.000.000 :-) -->
<ERROR Find="\b(s )[1][0-9][0-9][0-9][0-9][0-9]\b" ReplaceBy="sa ">
<ERROR Find="[A-Z]( S )[1][0-9][0-9][0-9][0-9][0-9]\b" ReplaceBy=" SA ">
<ERROR Find="\b(S )[1][0-9][0-9][0-9][0-9][0-9]\b" ReplaceBy="Sa ">

<!-- Zamijeni sva "S" i "s" sa "Sa" i "sa" ako slijedi broj "6, 7, 6x, 7x, 16, 17, 1xx, 1xxx..." U DRUGOM REDU -->
<!-- ...bilo koji broj u drugom redu koji počinje sa 6 ili 7 -->
<ERROR Find="\b(s)\b\r?\n[67]" ReplaceBy="sa">
<ERROR Find="[A-Z]( S)\r?\n[67]" ReplaceBy=" SA">
<ERROR Find="\b(S)\r?\n[67]" ReplaceBy="Sa">
<!-- ...16 ili 17 u drugom redu -->
<ERROR Find="\b(s)\r?\n[1][67]\b" ReplaceBy="sa">
<ERROR Find="[A-Z]( S)\r?\n[1][67]\b" ReplaceBy=" SA">
<ERROR Find="\b(S)\r?\n[1][67]\b" ReplaceBy="Sa">
<!-- ...stotice u drugom redu koje počinju s 1 -->
<ERROR Find="\b(s)\r?\n[1][0-9][0-9]\b" ReplaceBy="sa">
<ERROR Find="[A-Z]( S)\r?\n[1][0-9][0-9]\b" ReplaceBy=" SA">
<ERROR Find="\b(S)\r?\n[1][0-9][0-9]\b" ReplaceBy="Sa">
<!-- ... 100000 u drugom redu  - 100000000 nisu uključeni jer se obično pišu s točkama: 100.000.000 :-) -->
<ERROR Find="\b(s)\r?\n[1][0-9][0-9][0-9][0-9][0-9]\b" ReplaceBy="sa">
<ERROR Find="[A-Z]( S)\r?\n[1][0-9][0-9][0-9][0-9][0-9]\b" ReplaceBy=" SA">
<ERROR Find="\b(S)\r?\n[1][0-9][0-9][0-9][0-9][0-9]\b" ReplaceBy="Sa">

<!-- Zamijeni sva "S" i "s" sa "Sa" i "sa" ako slijedi riječ "mnom" -->
<ERROR Find="\b(s)\b\s(\mnom)\b" ReplaceBy="sa">
<ERROR Find="\b(S)\b\s(\mnom)\b" ReplaceBy="Sa">
<ERROR Find="\b(S)\b\s(\MNOM)\b" ReplaceBy="SA">
<ERROR Find="\b(s ili bez)\b" ReplaceBy="sa ili bez">
<ERROR Find="\b(S ili bez)\b" ReplaceBy="Sa ili bez">
<!-- Zamijeni sva "S" i "s" sa "Sa" i "sa" ako slijedi riječ "mnom" U DRUGOM REDU -->
<ERROR Find="\b(s)\r?\n(\mnom)\b" ReplaceBy="sa">
<ERROR Find="\b(S)\r?\n(\mnom)\b" ReplaceBy="Sa">
<ERROR Find="\b(S)\r?\n(\MNOM)\b" ReplaceBy="SA">
<ERROR Find="\b(s)\r?\n(ili bez)\b" ReplaceBy="sa">
<ERROR Find="\b(S)\r?\n(ili bez)\b" ReplaceBy="Sa">

<!-- Zamijeni sva "samnom" u "sa mnom" -->
<ERROR Find="\b(samnom)\b" ReplaceBy="sa mnom">
<ERROR Find="\b(Samnom)\b" ReplaceBy="Sa mnom">
<ERROR Find="\b(SAMNOM)\b" ReplaceBy="SA MNOM">

<!-- Zamijeni sva "S" i "s" sa "Sa" i "sa" ako slijedi riječ "ps..." ili "ks..." -->
<ERROR Find="\b(s ps)" ReplaceBy="sa ps">
  <ERROR Find="\b(s Ps)" ReplaceBy="sa Ps">
  <ERROR Find="\b(S ps)" ReplaceBy="Sa ps">
  <ERROR Find="\b(S Ps)" ReplaceBy="Sa Ps">
  <ERROR Find="\b(S PS)" ReplaceBy="SA PS">
  <ERROR Find="\b(s ks)" ReplaceBy="sa ks">
  <ERROR Find="\b(s Ks)" ReplaceBy="sa Ks">
  <ERROR Find="\b(S Ks)" ReplaceBy="Sa Ks">
<ERROR Find="\b(S ks)" ReplaceBy="Sa ks">
  <ERROR Find="\b(S KS)" ReplaceBy="SA KS">
<ERROR Find="\b(s)\b\r?\n(\ps)" ReplaceBy="sa">
<ERROR Find="\bsa\b\r?\n(psa)" ReplaceBy="ps">
<ERROR Find="\b(s)\b\r?\n(\Ps)" ReplaceBy="sa">
<ERROR Find="\bsa\b\r?\n(Psa)" ReplaceBy="Ps">
<ERROR Find="\b(S)\b\r?\n(\ps)" ReplaceBy="Sa">
<ERROR Find="\b(S)\b\r?\n(\PS)" ReplaceBy="SA">
<ERROR Find="\bSA\b\r?\n(PSA)" ReplaceBy="PS">
<ERROR Find="\b(S)\b\r?\n(\Ps)" ReplaceBy="Sa">
<ERROR Find="\b(s)\b\r?\n(\PS)" ReplaceBy="sa">
<ERROR Find="\b(s)\b\r?\n(\ks)" ReplaceBy="sa">
<ERROR Find="\bsa\b\r?\n(ksa)" ReplaceBy="ks">
<ERROR Find="\b(s)\b\r?\n(\Ks)" ReplaceBy="sa">
<ERROR Find="\bsa\b\r?\n(Ksa)" ReplaceBy="Ks">
<ERROR Find="\b(S)\b\r?\n(\ks)" ReplaceBy="Sa">
<ERROR Find="\b(S)\b\r?\n(\KS)" ReplaceBy="SA">
<ERROR Find="\bSA\b\r?\n(KSA)" ReplaceBy="KS">
<ERROR Find="\b(S)\b\r?\n(\Ks)" ReplaceBy="Sa">
<ERROR Find="\b(s)\b\r?\n(\KS)" ReplaceBy="sa">

<!-- Rijetkosti -->
<!-- Izuzetak za "I" s "l" kada slijedi: Ionako, Ijedan, Iole -->
<ERROR Find="\b(lonako)\b" ReplaceBy="Ionako">
<ERROR Find="\b(ljedan)\b" ReplaceBy="Ijedan">
<ERROR Find="\b(ljedn)" ReplaceBy="Ijedn">
<ERROR Find="\b(lole)\b" ReplaceBy="Iole">
<ERROR Find="[\.][\s](lako)\b" ReplaceBy="Iako">
<ERROR Find="(-lako)\b" ReplaceBy="-Iako">
<ERROR Find="(- lako)\b" ReplaceBy="- Iako">
<ERROR Find="[a-z][\s](Iako)\b" ReplaceBy="lako">
  <ERROR Find="\.\r?\n(lako)\b" ReplaceBy="Iako">
  <ERROR Find="^(lako)\b" ReplaceBy="Iako">
<ERROR Find="\b(lon)\b" ReplaceBy="Ion">
<ERROR Find="\b(lons)" ReplaceBy="Ions">
<ERROR Find="\b(loni)" ReplaceBy="Ioni">
<ERROR Find="\b(lono)" ReplaceBy="Iono">
<ERROR Find="\b(Mls)" ReplaceBy="Mis">
<ERROR Find="\b(Nlj)" ReplaceBy="Nij">
<ERROR Find="\b(Nlk)" ReplaceBy="Nik">
<ERROR Find="\b(Nls)" ReplaceBy="Nis">
<ERROR Find="\b(Nlš)" ReplaceBy="Niš">
<ERROR Find="\b(ALi)" ReplaceBy="Ali">

<!-- Kad se NEODREĐENE ZAMJENICE slažu s veznicima i, ni (itko, išta, ikakav, nitko, ništa, nikakav…) -->
<!-- koriste se s prijedlozima te se oni umeću između veznika i odnosne zamjenice -->
<ERROR Find="\b(od nikoga)\b" ReplaceBy="ni od koga">
<ERROR UseReOnlyToFind="False" Find="\b(od)\r?\n(nikoga)\b" ReplaceBy="ni od koga">
<ERROR Find="\b(za ništa)\b" ReplaceBy="ni za što">
<ERROR UseReOnlyToFind="False" Find="\b(za)\r?\n(ništa)\b" ReplaceBy="ni za što">
<ERROR Find="\b(pred ičim)\b" ReplaceBy="i pred čim">
<ERROR UseReOnlyToFind="False" Find="\b(pred)\r?\n(ičim)\b" ReplaceBy="i pred čim">
<ERROR Find="\b(pred ničim)\b" ReplaceBy="ni pred čim">
<ERROR UseReOnlyToFind="False" Find="\b(pred)\r?\n(ničim)\b" ReplaceBy="ni pred čim">
<ERROR Find="\b(s nikakvim)\b" ReplaceBy="ni s kakvim">
<ERROR UseReOnlyToFind="False" Find="\b(s)\r?\n(nikakvim)\b" ReplaceBy="ni s kakvim">
<ERROR Find="\b(s nikim)\b" ReplaceBy="ni s kim">
<ERROR UseReOnlyToFind="False" Find="\b(s)\r?\n(nikim)\b" ReplaceBy="ni s kim">
<ERROR Find="\b(s ikim)\b" ReplaceBy="i s kim">
<ERROR UseReOnlyToFind="False" Find="\b(s)\r?\n(ikim)\b" ReplaceBy="i s kim">
<ERROR Find="\b(uz nikakav)\b" ReplaceBy="ni uz kakav">
<ERROR UseReOnlyToFind="False" Find="\b(uz)\r?\n(nikakav)\b" ReplaceBy="ni uz kakav">
<ERROR Find="\b(zbog ničega)\b" ReplaceBy="ni zbog čega">
<ERROR UseReOnlyToFind="False" Find="\b(zbog)\r?\n(ničega)\b" ReplaceBy="ni zbog čega">

<!-- <ERROR Find="\b(III)\b" ReplaceBy="III"> -->

<!-- Lokacija u USA "Iowa" -->
<ERROR Find="\b(lowa)\b" ReplaceBy="Iowa">
<ERROR Find="\b(lowe)\b" ReplaceBy="Iowe">
<ERROR Find="\b(lowi)\b" ReplaceBy="Iowi">
<ERROR Find="\b(lowu)\b" ReplaceBy="Iowu">

<!-- Ime ili prezime "Lloyd" -->
<ERROR Find="\b(Iloyd)" ReplaceBy="Lloyd"> -->

<!-- Ispravak nule i velikog 'O' -->
<ERROR Find="[0-9](O)" ReplaceBy="0">
<ERROR Find="[0-9](\.O)" ReplaceBy=".0">
<ERROR Find="[0-9](,O)" ReplaceBy=",0">
<ERROR Find="[A-Z](0)" ReplaceBy="O">
<ERROR Find="\b(0)[A-Za-z]" ReplaceBy="O">

<!-- Briši razmak ispred zareza -->
<ERROR Find="[A-ZĆČĐŠŽa-zćčđšž]( ,)" ReplaceBy=",">
<!-- Dodaj razmak iza zareza -->
<ERROR Find="(,)[A-ZĆČĐŠŽa-zćčđšž]" ReplaceBy=", ">

<!-- Razmak iza točke -->
<!-- <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 dopušten, u SW idite Alt+I i odčekirajte "Razmaci ispred točke" -->
<ERROR Find="(t\.)[0-9][0-9]" ReplaceBy="t .">
<!-- Razmak iza uzastopnih točaka (npr. "...") -->
  <ERROR Find="(\.\.)[^(\x22\s\n\.\?\!\,)]" ReplaceBy=".. ">
<!-- Razmak iza 3 točke ("...") -->
<ERROR Find="(\.\.\.)[\x22][a-z]" ReplaceBy="... ">
  <ERROR Find="(\.\.\.)[^(\x22\s\n\.\?\!\,)]" ReplaceBy="... ">

<!-- Zamijeni dvije točke trima ("..")->("...") -->
<ERROR Find="^(\.\.)[^\.]" ReplaceBy="..."> <!-- na početku 1. reda, ne slijedi točka -->
<ERROR Find="[^\.](\.\.)[^\.]" ReplaceBy="..."> <!-- ne prethodi i ne slijedi točka -->
<ERROR Find="[^\.](\.\.)$" ReplaceBy="..."> <!-- ne prethodi točka, na kraju reda -->

<!-- Briši razmak iza "..." kad je na početku 1. reda. Izbrišite ovu liniju ukoliko vam ne odgovara -->
<ERROR UseREOnlyToFind="False" Find="^(\.\.\.) " ReplaceBy="...">
<ERROR UseREOnlyToFind="False" Find="^(\x22\.\.\.) " ReplaceBy=""...">
<!-- Briši razmak iza "..." kad je na početku 2. reda. Izbrišite ovu liniju ukoliko vam ne odgovara -->
<ERROR Find="\r?\n(\.\.\.\s)" ReplaceBy="...">
<ERROR Find="\r?\n\x22(\.\.\.\s)" ReplaceBy="...">
<!-- Briši "," prije "..." -->
<ERROR Find="(\,\.\.\.)" ReplaceBy="...">
<!-- Briši "," poslije "..." -->
<ERROR Find="(\.\.\.\,)" ReplaceBy="...">
<!-- Briši "- " prije "..." -->
<ERROR Find="(\-\s\.\.\.)" ReplaceBy="-...">
<ERROR Find="(\-\.\.\.\s)" ReplaceBy="-...">
<!-- Zamijeni "- -" sa "..." -->
<ERROR Find="(\-\s\-)" ReplaceBy="... ">

</SWOCR>

Zadnji update: 24/12/2011
« Zadnja izmjena: 24.12.2011. 17:11:51 Strider »

Offline Strider

  • Regularni forumaš
  • *
  • Postova: 38
  • Spol: Muški
    • Few little things...
Odg: OCR skripta za SW
« Odgovor #25 : 14.06.2008. 16:49:07 »
Za sve one kojima smeta kada se ne poštuje pravilo koje kaže:
"Specifična futuru prvom jest morfološka promjena koja nastaje u inverziji pomoćnog glagola i infinitiva, pa glagoli čiji infinitiv završava s -ti gube dio infinitivnog nastavka" (ufff),
tj (npr.):
pogrešno: raditi ću, raditi ćeš, raditi će, raditi ćemo, raditi ćete, raditi će
ispravno: radit ću, radit ćeš, radit će, radit ćemo, radit ćete, radit će
...evo RegEx skripte za SW, koja to ispravlja...

<!----------------------------------------------->
<!--     Subtitle Workshop OCR Script file     -->
<!--       Copyright © 2001-2004 URUSoft       -->
<!--           http://www.urusoft.net          -->
<!--                                           -->
<!-- Default values:                           -->
<!--                                           -->
<!-- UseRE = True (use Regular Expressions)    -->
<!-- UseREOnlyToFind = True (put the part that -->
<!-- is not a RE between parenthesis!)         -->
<!--                                           -->
<!-- If UseRE is set to false then you can use -->
<!-- the following parameters, otherwise they  -->
<!-- will be ignored:                          -->
<!--                                           -->
<!--    CaseSensitive  (Default = False)       -->
<!--    WholeWord      (Default = False)       -->
<!--    PreserveCase   (Default = False)       -->
<!-- ----------------------------------------- -->

<SWOCR WordChars="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_ńŃáéíóúÁÉÍÓÚäëďöü">

<!-- Zamijeni sve glagole s 5 i više slova "**(a)(e)(i)ti ću" s "**(a)(e)(i)t ću" i "**(a)(e)(i)ti će*" s "**(a)(e)(i)t će*" -->
<!-- Glagoli i imenice s četiri slova koja završavaju na "ati" su izuzeci i ne mijenjanju se!!! (ćati, dati, lati, mati, rati, sati, tati, vati) -->
<!-- Riječi s četiri slova koja završavaju na "eti" su izuzeci i ne mijenjanju se!!! (četi, meti, peti, teti) -->
<ERROR Find="[A-Za-zćčđšž][a-zćčđšž][a|e|i](ti )ć[eu]" ReplaceBy="t ">
<ERROR Find="[A-Za-zćčđšž][a-zćčđšž][a|e|i](ti)\r?\nć[eu]" ReplaceBy="t">
<!-- Izuzeci su  glagoli s četiri slova koji se mijenjaju (žeti, biti, liti, miti, piti, riti, šiti, viti) ! -->
<ERROR Find="\b[ž|Ž](eti )ć[eu]" ReplaceBy="et ">
<ERROR Find="\b[ž|Ž](eti)\r?\nć[eu]" ReplaceBy="et">
<ERROR Find="\b[b|B|l|L|m|M|p|P|r|R|š|Š|v|V](iti )ć[eu]" ReplaceBy="it ">
<ERROR Find="\b[b|B|l|L|m|M|p|P|r|R|š|Š|v|V](iti)\r?\nć[eu]" ReplaceBy="it">

<!-- Izuzeci koji se ne mijenjaju: -->
<!-- Ostaje "niti ću (ćeš, će, ćemo, ćete)" -->
<ERROR Find="(?i)\bni(t )ć[eu]" ReplaceBy="ti ">
<ERROR Find="(?i)\bni(t)\r?\nć[eu]" ReplaceBy="ti">
<!-- Ostaje "naniti će" (SF serije: naniti ili nanoboti) -->
<ERROR Find="(nanit )će\b" ReplaceBy="naniti ">
<ERROR Find="(nanit)\r?\nće\b" ReplaceBy="naniti">
<!-- Ostaje "uvjeti će" -->
<ERROR Find="(?i)\buvje(t )će" ReplaceBy="ti ">
<ERROR Find="(?i)\buvje(t)\r?\nće" ReplaceBy="ti">


<!-- Izuzeci koji se ne mijenjaju, dodaje se "t": -->
<!-- Mijenja se "pati ću (ćeš, će, ćemo, ćete)" u "patit ću (ćeš, će, ćemo, ćete)" -->
<ERROR Find="(?i)\b(pati )ć[eu]" ReplaceBy="patit ">
<ERROR Find="(?i)\b(pati)\r?\nć[eu]" ReplaceBy="patit">
<!-- Mijenja se "jati ću (ćeš, će, ćemo, ćete)" u "jatit ću (ćeš, će, ćemo, ćete)" -->
<ERROR Find="(?i)\b(jati )ć[eu]" ReplaceBy="jatit ">
<ERROR Find="(?i)\b(jati)\r?\nć[eu]" ReplaceBy="jatit">
<!-- Mijenja se "leti ću (ćeš, će, ćemo, ćete)" u "letjet ću (ćeš, će, ćemo, ćete)" -->
<ERROR Find="(?i)\b(leti )ć[eu]" ReplaceBy="letjet ">
<ERROR Find="(?i)\b(leti)\r?\nć[eu]" ReplaceBy="letjet">
<!-- Mijenja se "hiti ću (ćeš, će, ćemo, ćete)" u "hitit ću (ćeš, će, ćemo, ćete)" -->
<ERROR Find="(?i)\b(hiti )ć[eu]" ReplaceBy="hitit ">
<ERROR Find="(?i)\b(hiti)\r?\nć[eu]" ReplaceBy="hitit">
<!-- Mijenja se "kiti ću (ćeš, će, ćemo, ćete)" u "kitit ću (ćeš, će, ćemo, ćete)" -->
<ERROR Find="(?i)\b(kiti )ć[eu]" ReplaceBy="kitit ">
<ERROR Find="(?i)\b(kiti)\r?\nć[eu]" ReplaceBy="kitit">
</SWOCR>

Zadnji update: 24/12/2011
« Zadnja izmjena: 24.12.2011. 17:15:13 Strider »

Offline genius

  • Mlađi član
  • **
  • Postova: 63
Odg: OCR skripta za SW
« Odgovor #26 : 15.06.2008. 13:52:59 »
Trebam skriptu koja će brisati "-" na početku prvog reda u ovom slučaju:

- ...i bio sam prisiljen braniti se.
- Vidiš, o tome se radi.

btw, koristim ovu skriptu
<!----------------------------------------------->
<!--     Subtitle Workshop OCR Script file     -->
<!--       Copyright © 2001-2004 URUSoft       -->
<!--           http://www.urusoft.net          -->
<!--                                           -->
<!-- Default values:                           -->
<!-- UseRE = True (use Regular Expressions)    -->
<!-- UseREOnlyToFind = True (put the part that -->
<!-- is not a RE between parenthesis!)         -->
<!-- If UseRE is set to false then you can use -->
<!-- the following parameters, otherwise they  -->
<!-- will be ignored:                          -->
<!--    CaseSensitive  (Default = False)       -->
<!--    WholeWord      (Default = False)       -->
<!--    PreserveCase   (Default = False)       -->
<!-- ----------------------------------------- -->
<!--     Prilagodio i dodao nove opcije:       -->
<!--                  MilanRS                  -->
<!----------------------------------------------->

<SWOCR WordChars="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_ńŃáéíóúÁÉÍÓÚäëďöü">

<!-- Replace all "l" by "I" in the middle of any uppercase word -->
<ERROR Find="[A-ZÁ-Ú](l)[A-ZÁ-Ú]" ReplaceBy="I">
<!-- Replace all "I" by "l" in the middle of any lowercase word -->
<ERROR Find="[a-zá-ú](I)[a-zá-ú]" ReplaceBy="l">

<!-- "1 :", "2 :"... "n :" to "n:" -->
<ERROR Find="\d( :)" ReplaceBy=":">
<!-- ",,," or similar to "..." -->
<ERROR UseREOnlyToFind="False" Find=",{2,}" ReplaceBy="...">
<!-- "--" or more to "..." -->
<ERROR UseREOnlyToFind="False" Find="-{2,}" ReplaceBy="...">
<ERROR Find="--" ReplaceBy="...">

<!-- Apostrophes ("\x22" is '"' character) -->
<ERROR Find="[´`“”]" ReplaceBy="'">
<ERROR UseREOnlyToFind="False" Find="''" ReplaceBy=""">
<!-- '"' more than two times together is replaced by only one '"' -->
<ERROR UseREOnlyToFind="False" Find="\x22{2,}" ReplaceBy=""">

<!-- Brisanje crte - na početku 1. reda kada ima dva reda -->
<ERROR Find="^(- )[A-ZŠĆŽČĐ]" ReplaceBy="">
<ERROR Find="^(-)[A-ZŠĆŽČĐ]" ReplaceBy="">
<ERROR UseREOnlyToFind="False" Find="^- \x22" ReplaceBy=""">
<ERROR UseREOnlyToFind="False" Find="^-\x22" ReplaceBy=""">
<!-- Razmak 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=" - ">

<!-- Smart space after dot -->
<ERROR Find="[a-zá-úńä-ü](\.)[^(\s\n\.\?\!\x22)]" ReplaceBy=". ">
<ERROR Find="(\.)[A-ZŠĆŽČĐ]" ReplaceBy=". ">
<ERROR Find="(www\. )" ReplaceBy="www.">
<ERROR Find="(\. com)" ReplaceBy=".com">
<ERROR Find="(\. net)" ReplaceBy=".org">
<ERROR Find="(\. org)" ReplaceBy=".org">
<ERROR Find="(\. yu)" ReplaceBy=".yu">
<ERROR Find="(\. hr)" ReplaceBy=".hr">

<!-- Smart space after zarez -->
<ERROR Find="[A-ZŽĆČŠĐa-zžčćšđá-úńä-ü](\,)[^(\s\n\,\?\!)]" ReplaceBy=", ">
<!-- Space after last of some consecutive dots (eg. "...") -->
<ERROR Find="(\.\.)[^(\s\n\.\?\!)]" ReplaceBy=".. ">
<ERROR Find="[a-z](!)[A-Z]" ReplaceBy="! ">
<!-- Delete space after "..." that is at the beginning of the line. You may delete this line if you don't like it -->
<ERROR UseREOnlyToFind="False" Find="^(\.\.\.) " ReplaceBy="...">
<ERROR Find="[\S](\. \x22)" ReplaceBy="."">
<ERROR Find="[\S\.\.\.]( \x22$)" ReplaceBy=""">
</SWOCR>

Ta skripta koju imam briše "-" na početku prvog reda osim u slučaju kada iza "-" slijede "..." i " ..."

Offline MilanRS

  • ...
  • Administrator
  • Izuzetak
  • *****
  • Postova: 10674
  • Spol: Muški
Odg: OCR skripta za SW
« Odgovor #27 : 15.06.2008. 15:24:39 »
Drago mi je kad vidim da neko koristi moju skriptu :)
To je moja greška što nisam dodao i to za "...".
U ovoj skripti pronađi
<!-- Brisanje crte - na početku 1. reda kada ima dva reda -->
   <ERROR Find="^(- )[A-ZŠĆŽČĐ]" ReplaceBy="">
   <ERROR Find="^(-)[A-ZŠĆŽČĐ]" ReplaceBy="">
i ispod toga dodaj ova dva reda:
   <ERROR Find="^(- )\.\.\." ReplaceBy="">
   <ERROR Find="^(-)\.\.\." ReplaceBy="">

Isprobao sam na ovom tvom primjeru i radi.
Ako bude nekih problema oko toga ili nečeg drugog, javi pa ćemo ispravljati.
Imam novu verziju u kojoj sam ispravio nekoliko grešaka i dodao još neke univerzalne najčešće greške, pa ću je uskoro ubaciti.
... -> Better Call Saul s2 -> Billions s3 -> Bosch s2 -> Westworld s2 -> The Mick s2 -> The Crossing s1 -> The Affair s4 -> Sharp Objects -> You're the Worst s4 -> Silicon Valley s4 -> Luther s5 -> trenutno: CSI: CSI s13 / Cuckoo s1 / The Comeback s1 / Northern Exposure s1 / Criminal Minds s11 / Quantico s2 / The Simpsons s29 / Veep s5 / Gomorra s2 / Peaky Blinders s4 -> Fargo s3 -> Billions s4



#sfns

Offline genius

  • Mlađi član
  • **
  • Postova: 63
Odg: OCR skripta za SW
« Odgovor #28 : 15.06.2008. 16:20:50 »
Zahvaljujem.

Offline Strider

  • Regularni forumaš
  • *
  • Postova: 38
  • Spol: Muški
    • Few little things...
Odg: OCR skripta za SW
« Odgovor #29 : 25.06.2008. 21:55:34 »
Mali "update" onih mojih prijašnjih skripti gore...