Izdvojeno > Tutorijali za izradu titlova

OCR skripta za SW

(1/68) > >>

MilanRS:
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.

MilanRS:
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.

pejafor3:
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.



--- Kod: ---// 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.


--- Kraj koda ---

pesekan:
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.

kugi001:

--- Kod: ---// 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.


--- Kraj koda ---

Navigacija

[0] Lista Poruka

[#] Slijedeća stranica

Idi na punu verziju