Za´padoˇceska´ univerzita v Plzni
Fakulta aplikovany´ch vˇed
Katedra informatiky a vy´poˇcetn´ı techniky
Bakal´
aˇ
rsk´
a pr´
ace
Kontrola typografie
v Adobe InDesign
Plzeˇ
n 2011
Marcela Kubov´a
Prohl´
aˇ
sen´ı
Prohlaˇsuji, ˇze jsem bakal´aˇrskou pr´aci vypracovala samostatnˇe a v´
yhradnˇe
s pouˇzit´ım citovan´
ych pramen˚
u.
V Plzni dne 12. kvˇetna 2011
Marcela Kubov´a
Abstract
The main aim of this work was to create a special tool for automatic typography check in Adobe InDesign. Typography check is based on straight
typesetting rules. In order to cope with this task, JavaScript scripting programme was chosen or better said its variant working directly with Adobe
InDesign. This paper contains selected typography rules analysis and description of their typical violation. The rules were chosen according to their
potential of automation. Automation is being conducted on two levels: automatic detection and replacement of the concrete word or check of the detected
word according to a set of predefined rules from which the right replacement
is chosen. The paper also handles project details including close description
of scripting steps.
Obsah
´
1 Uvod
2 Teoretick´
aˇ
c´
ast
2.1 Konzultace . . . . . . . . . .
2.2 Regul´arn´ı v´
yrazy . . . . . . .
2.3 Hladk´a sazba . . . . . . . . .
2.4 Pravidla hladk´e sazby . . . .
2.4.1
B´ıl´e“ znaky . . . . . .
”
2.4.2 Interpunkˇcn´ı znam´enka
2.4.3 Z´avorky . . . . . . . .
2.4.4 Spojovn´ık, pomlˇcka . .
2.4.5 Podtrˇz´ıtko, lom´ıtko . .
ˇ ısla . . . . . . . . . .
2.4.6 C´
2.5 Moˇznosti automatick´
ych oprav
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Praktick´
aˇ
c´
ast
3.1 Popis projektu . . . . . . . . . . . . . . . . . . .
3.2 Skriptov´an´ı v Adobe InDesign . . . . . . . . . .
3.2.1 Popdora skriptov´an´ı . . . . . . . . . . .
3.2.2 Spouˇstˇen´ı skript˚
u v InDesign . . . . . .
3.2.3 Pr´ace s InDesignem . . . . . . . . . . . .
3.2.4 Text, textov´e r´ameˇcky a pr´ace s textem .
3.3 InDesign a regul´arn´ı v´
yrazy . . . . . . . . . . .
3.4 Skript pro automatickou kontrolu typografie . .
3.4.1 Spuˇstˇen´ı skriptu a naˇcten´ı u
´daj˚
u . . . .
3.4.2 Zp˚
usoby u
´prav textu . . . . . . . . . . .
3.4.3 Rozsah textu urˇcen´eho ke kontrole . . .
3.4.4 Vybr´an´ı v´
yraz˚
u pro prohled´an´ı . . . . .
3.5 Prohled´av´an´ı dokumentu skriptem . . . . . . .
3.5.1 Ukl´ad´an´ı dat . . . . . . . . . . . . . . .
3.5.2 Zp˚
usob prohled´av´an´ı . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
4
4
5
6
6
10
11
11
11
12
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
14
15
15
15
16
16
17
18
18
19
20
20
21
21
22
OBSAH
3.6
3.7
OBSAH
3.5.3 Vyhled´av´an´ı v´
yraz˚
u. . . . .
3.5.4 Zp˚
usoby kontroly typografie
3.5.5 Nahrazen´ı v´
yraz˚
u . . . . . .
Ukonˇcen´ı skriptu . . . . . . . . . .
Rozˇs´ıˇren´ı skriptu . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
22
22
24
25
25
4 Z´
avˇ
er
27
A Uˇ
zivatelsk´
y manu´
al
32
B Pˇ
riloˇ
zen´
e CD
36
4
´
1 Uvod
Pr´ace se zamˇeˇruje na prostudov´an´ı pravidel hladk´e sazby, moˇznost´ı automatick´eho vyhled´av´an´ı poruˇsen´ı tˇechto pravidel a automatick´e opravy. Souˇc´ast´ı pr´ace je navrˇzen´ı heuristick´
ych metod, kter´e budou vybran´e typografick´e chyby vyhled´avat a opravovat. Tyto metody jsou implementov´any jako
skript pro program Adobe InDesign.
Lid´e, kteˇr´ı se zab´
yvaj´ı pˇredtiskovou pˇr´ıpravou, ˇcasto zpracov´avaj´ı texty
jin´
ych autor˚
u, do kter´
ych b´
yv´a nˇekdy i ve znaˇcn´e m´ıˇre zaneseno mnoho poruˇsen´ı typografick´
ych pravidel. Autoˇri text˚
u nemaj´ı znalosti o pravidlech hladk´e
sazby a texty tvoˇr´ı, ˇreknˇeme, podle sv´eho uv´aˇzen´ı. I kdyˇz se sama v zamˇestn´an´ı nepohybuji pˇr´ımo v oblasti DTP, pracovala jsem s texty na urˇcit´a
odborn´a t´emata dodan´
ymi od r˚
uzn´
ych autor˚
u. Souˇca´st´ı m´e pr´ace bylo tyto
texty sjednotit a zajistit korektury. Bˇehem pˇredtiskov´e pˇr´ıpravy je tedy nutn´e
tyto odchylky vyhledat a zamˇenit za spr´avn´e v´
yrazy. Pˇri ruˇcn´ım proch´azen´ı
textu je tato pr´ace ˇcasovˇe n´aroˇcn´a a m˚
uˇze doj´ıt k pˇrehl´ednut´ı chyb. Pro zjednoduˇsen´ı t´eto ˇcinnosti a minimalizov´an´ı ˇcasov´
ych n´arok˚
u na kontroln´ı“ ˇca´st
”
zpracov´an´ı textu je vhodn´e zav´est automatizaci.
S´azec´ı program Adobe InDesign umoˇzn
ˇuje zaveden´ı skript˚
u, kter´e je moˇzn´e
v tomto programu spouˇstˇet. Jejich vyuˇzit´ı je r˚
uznorod´e. Pˇr´ınos maj´ı skripty
v hromadn´em zpracovan´ı mnoha dokument˚
u ˇci automatizaci rutinn´ıch ˇcinnost´ı. Richard Krejˇc´ı[6] hodnot´ı moˇznost skriptov´an´ı jako jednu z nejzaj´ımavˇejˇs´ıch vlastnost´ı, z´aroveˇ
n ale konstatuje, ˇze i pˇres svou nespornou uˇziteˇcnost je skriptov´an´ı na pre-pressov´
ych pracoviˇst´ıch vyuˇz´ıv´ano pouze velmi
omezenˇe. D˚
uvodem je obava uˇzivatel˚
u z nutnosti osvojovat si dovednosti z oblasti programov´an´ı a nejasn´a pˇredstava, co by jim skriptov´an´ı mohlo pˇrin´est.
C´ılem pr´ace je vytvoˇren´ı skriptu pod Adobe InDesign, kter´
y bude automaticky vyhled´avat typografick´e chyby. Uˇzivatel´e Adobe InDesign pak v´
ysledn´
y
skript budou moci vyuˇz´ıt bez znalosti skriptov´an´ı.
Navrˇzen´
y skript nab´ız´ı uˇzivatel˚
um moˇznost automatick´e kontroly dokumentu, tedy vyhled´an´ı a z´amˇenu v´
yraz˚
u, kter´e poruˇsuj´ı pravidla hladk´e sazby.
Uˇzivatel si vyb´ır´a z nab´ıdky definovan´
ych typografick´
ych pravidel, kter´a jsou
naˇctena ze souboru. Je tedy moˇzn´e si definovat dalˇs´ı v´
yrazy podle potˇreb uˇzivatele. Rozsah prohed´av´an´ı je nastaven na cel´
y dokument, na oznaˇcenou ˇca´st
dokumentu ˇci na vˇsechny otevˇren´e dokumenty. D´ale skript umoˇzn
ˇuje vybrat,
co bude s vyhledan´
ymi v´
yrazy uˇcinˇeno. Mohou b´
yt automaticky zamˇenˇeny,
1
´
Uvod
po z´amˇenˇe vyznaˇceny bud’ tagy nebo zmˇenou barvy p´ısma. Ve skriptu je
moˇzn´e zvolit tak´e vyhled´an´ı a oznaˇcen´ı nalezen´
ych m´ıst (tagy, zmˇena barvy)
a n´ahrada za spr´avn´
y v´
yraz je ponech´an na uˇzivateli. Posledn´ı moˇznost´ı je
pr˚
ubˇeˇzn´e upozorˇ
nov´an´ı na vyhledan´e v´
yrazy, kde je uˇzivateli nab´ıdnut n´avrh
z´amˇeny.
2
2 Teoretick´a ˇc´ast
Pˇred zah´ajen´ım pr´ace na skriptu bylo nutn´e sezn´amit se s pravidly hladk´e
sazby a navrhnout moˇznost zaˇclenˇen´ı do skriptu. Z´aroveˇ
n bylo vhodn´e zjistit
ˇcast´e typografick´e chyby, kter´e grafici pˇri zpracov´an´ı text˚
u ˇreˇs´ı.
2.1
Konzultace
Nejvˇetˇs´ı probl´emy se objevuj´ı, pokud uˇzivatel dod´av´a texty pˇripraven´e v nˇekter´em z textov´
ych editor˚
u. Svou pr´aci jsem tedy zamˇeˇrila na vyhled´av´an´ı
prohˇreˇsk˚
u“, kter´e do textu vloˇz´ı s´am autor, neˇz odevzd´a sv˚
uj text k typo”
grafick´emu zpracov´an´ı.
Vyˇsla jsem z informac´ı od grafiˇcky Alice Neugebauerov´e:
• nadbyteˇcn´e mezery,
• ˇspatnˇe um´ıstˇen´e mezery kolem konce odstavc˚
u,
• mezery pˇred interpunkˇcn´ımi znam´enky,
• konce odstavc˚
u nˇekolikr´at za sebou (toto plat´ı i pro ˇradu mezer, kter´e
uˇzivatel´e st´ale v hojn´e m´ıˇre pouˇz´ıvaj´ı) — Alice pro toto pouˇz´ıv´a v´
yraz
kochaj´ıc´ı se redaktor“,
”
• mˇekk´
y enter neboli pevn´
y konec ˇra´dku,
• pomlˇcky — vyhled´an´ı,
• z´avorky — vyhled´an´ı,
• tˇri teˇcky,
• mezery za lom´ıtkem.
Z´aroveˇ
n ona sama by vyuˇzila toho, kdyby bylo moˇzn´e kontroly nebo zpracov´an´ı prov´est ve v´ıce souborech najednou. Jej´ı styl pr´ace je takov´
y, ˇze napˇr´ıklad ˇcasopis rozdˇeluje na v´ıce ˇc´ast´ı, soubory po ˇcl´anc´ıch a pak by pro ni
zpracov´an´ı bylo v´
yhodn´e ve vˇsech souborech k dan´emu t´ematu.
3
Teoretick´a ˇc´ast
2.2
Regul´arn´ı v´yrazy
Regul´
arn´ı v´
yrazy
Vyhled´av´an´ı typografick´
ych chyb je z program´atorsk´eho hlediska probl´em,
kter´
y lze ˇreˇsit regul´arn´ımi v´
yrazy.
Obecnˇe jsou regul´arn´ı v´
yrazy siln´
ym pomocn´ıkem pˇri pr´aci s textem.
Jejich prostˇrednictv´ım lze:
• vytahovat z textov´
ych dat u
´daje, kter´e n´as zaj´ımaj´ı,
• pˇretv´aˇret je do podoby, kterou potˇrebujeme,
• vyhled´avat a nahrazovat v textov´
ych editorech a dalˇs´ıch programech.
Pˇri navrhov´an´ı jednotliv´
ych regul´arn´ıch v´
yraz˚
u jsem problematiku rozdˇelila na dvˇe ˇca´sti. Pro obˇe ˇca´sti jsou znaky nebo skupiny znak˚
u vyhled´any
pomoc´ı regul´arn´ıch v´
yraz˚
u, d´ale se s nimi pracuje odliˇsnˇe. Prvn´ı ˇca´st lze pomoc´ı regul´arn´ıho v´
yrazu vyhledat a rovnou automaticky nahradit. Do t´eto
ˇc´asti patˇr´ı napˇr. z´amˇena nadbyteˇcn´
ych znak˚
u nebo z´amˇena pevn´e mezery za
jednoznakovou pˇredloˇzkou. V druh´e skupinˇe jsou v´
yrazy, kter´e po vyhled´an´ı
zhodnot´ı pˇr´ısluˇsn´a fuknce a podle jejich v´
yznamu vybere spr´avn´
y v´
ystup pro
nahrazen´ı. Do t´eto ˇc´asti patˇr´ı napˇr. kontrola vˇsech interpunkˇcn´ıch znam´enek, kdy je nutn´e oˇsetˇrit jednotliv´e situace, kter´e ve v´
yrazu mohou nastat.
Pravidla a podm´ınky shrnuji v kapitole 2.4 a jejich podkapitol´ach.
2.3
Hladk´
a sazba
Hladk´a sazba obsahuje plynul´
y text, je to sazba odstavc˚
u na urˇcenou ˇs´ıˇrku
ˇ
z jednoho typu a stupnˇe p´ısma. R´ıd´ı se obecnˇe typografick´
ymi pravidly i pravidly ˇcesk´eho pravopisu, samozˇrejmˇe jsou pro praxi velmi potˇrebn´a pravidla
pro sazbu r˚
uzn´
ych znak˚
u. Vych´az´ı z normy ON 882503, kter´a definovala z´akladn´ı pravidla sazby.
ˇ
´
Kromˇe pravidel hladk´e sazby existuje norma CSN
01 6910 Uprava
p´ısemnost´ı zpracovan´
ych textov´
ymi editory, jej´ıˇz posledn´ı aktualizace probˇehla
v dubnu 2007. Ta stanov´ı pravidla pro grafickou u
´pravu text˚
u pˇri pr´aci s textov´
ymi editory, urˇcuje zp˚
usob psan´ı interpunkˇcn´ıch znam´enek, zkratek, znaˇcek a ˇc´ısel, stanov´ı postupy pˇri zv´
yrazˇ
nov´an´ı a ˇclenˇen´ı text˚
u a z´asady for4
Teoretick´a ˇc´ast
Pravidla hladk´e sazby
m´aln´ıho uspoˇr´ad´an´ı textov´eho sloupce. Tato norma je vyuˇz´ıv´ana napˇr´ıklad
v obchodn´ı korespondenci.
Nutno ˇr´ıci, ˇze mezi jednotliv´
ymi normami neexistuje jednotnost a doch´az´ı
k rozpor˚
um. Jako pˇr´ıklad uved’me nejednoznaˇcnost pˇri psan´ı ˇcasu, tedy hodin, minut a sekund. Pravidla hladk´e sazby urˇcuj´ı pro vyj´adˇren´ı ˇcasu n´asleduj´ıc´ı tvar:
HH.MM:SS
10.15:30,
zat´ımco norma, kterou se ˇr´ıd´ı obchodn´ı korespondence a evropsk´a norma
uv´ad´ı tvar:
HH:MM:SS
10:15:30.
Vytvoˇren´
y skript pro automatickou kontrolu textu pro Adobe InDesign
se ˇr´ıd´ı pravidly hladk´e sazby, jak vych´az´ı ze zad´an´ı pr´ace. Pr´ace se zab´
yv´a
ˇc´ast´ı hladk´e sazby vˇenuj´ıc´ı se pravidl˚
um pouˇz´ıv´an´ı sazby jednotliv´
ych znak˚
u,
a to takov´
ych, kter´a mohou b´
yt kontrolov´ana automaticky skriptem. Nejsou
zde uv´adˇena pravidla pro sazbu odstavc˚
u a pr´ace s nimi. Pˇred zah´ajen´ım
pr´ace na skriptu jsem konzultovala s grafiˇckou v naˇs´ı spoleˇcnosti a zjiˇst’ovala
jsem, s jak´
ymi pot´ıˇzemi v textu se ˇcasto pot´
yk´a. D´ale struˇcnˇe uvedu vybran´a
pravidla hladk´e sazby, kter´a jsem zaˇradila do kontroln´ıho skriptu. Jedn´a se
o takov´e znaky a jejich nespr´avn´e pouˇzit´ı, kter´e se jednak ˇcasto objevuj´ı
v autorsk´
ych textech a z´aroveˇ
n jsou vhodn´e pro automatizaci.
2.4
Pravidla hladk´
e sazby
Kontroln´ı skript vyuˇz´ıv´a vybran´
ych pravidel hladk´e sazby. Zamˇeˇruje se pˇredevˇs´ım na n´asleduj´ıc´ı skupiny probl´em˚
u:
• chyby pˇri psan´ı b´ıl´
ych“ znak˚
u,
”
• kontrola interpunkˇc´ıch znam´enek,
• pomlˇcka, spojovn´ık, lom´ıtko, podtrˇz´ıtko,
• kontrola ˇc´ıseln´
ych v´
yraz˚
u.
5
Teoretick´a ˇc´ast
2.4.1
Pravidla hladk´e sazby
B´ıl´
e“ znaky
”
Jak jsem jiˇz uvedla v kapitole 2.1, konzultac´ı s grafiky v DTP studiu i z vlastn´ı
zkuˇsenosti jsem do problematiky prohled´av´an´ı chyb zaˇradila kontrolu nespr´avnˇe uv´adˇen´
ych b´ıl´
ych“ znak˚
u. V kontrolovan´
ych textech se velmi ˇcasto
”
objevuj´ı nadbyteˇcn´e znaky jako napˇr. dvˇe nebo v´ıce mezer za sebou, v´ıce
ostavcov´
ych znak˚
u nebo tabel´ator˚
u za sebou ˇci mezery pˇred zaˇca´tkem odstavce. St´ale jeˇstˇe se ˇrada uˇzivatel˚
u nenauˇcila pouˇz´ıvat jin´e form´atov´an´ı textu
neˇz odsazov´an´ı pomoc´ı nekoneˇcn´e“ ˇrady mezer nebo znak˚
u konce odstavce
”
a dod´av´a sv´e texty ke zpracov´an´ı grafikem v´
yraznˇe zanesen´e nevhodn´
ymi
u
´pravami. Ve skriptu jsou pomoc´ı regul´arn´ıch v´
yraz˚
u uvedeny nejˇcastˇejˇs´ı
nadbyteˇcn´e a opakuj´ıc´ı se znaky a ty jsou odstranˇeny.
2.4.2
Interpunkˇ
cn´ı znam´
enka
Praktick´a typografie[1] uv´ad´ı, ˇze interpunkci zaˇcal pouˇz´ıvat ben´atsk´
y nakladatel a tiskaˇr Aldus Pius Manutius, kter´
y zavedl ˇca´rky, stˇredn´ıky a dvojteˇcky.
Vykˇriˇcn´ık vznikl z latinsk´eho zvol´an´ı Iyo, tedy zkratky Io napsan´e pod sebe.
Podobnˇe je na tom otazn´ık, kter´
y sv´emu p˚
uvodu vdˇeˇc´ı latinsk´emu slovu
Questio, sp´ıˇse jeho zkratce Qu, opˇet zapsan´e pod sebou.
Pro vˇsechna interpunkˇcn´ı znam´enka plat´ı, ˇze se s´az´ı tˇesnˇe za (posledn´ı)
slovo ve vˇetˇe a dalˇs´ı slovo je oddˇelen´e norm´aln´ı mezerou. Pokud se vedle
sebe sejdou dvˇe nebo v´ıce interpunkˇcn´ıch znam´enek, nedˇel´a se mezi nimi
mezera. Ta je um´ıstˇena aˇz za posledn´ım znam´enkem. Ve sv´e praxi jsem se
ˇcasto v textech setkala se z´amˇenou, kdy byla nespr´avnˇe uvedena mezera
pˇred interpunkˇcn´ım znam´enkem nam´ısto za, pˇr´ıpadnˇe byly mezery um´ıstˇeny
z obou stran znam´enka a podobnˇe. Vˇsechny tyto chyby jsem pˇri n´avrhu
zaˇradila do realizace skriptu, dalˇs´ı moˇznosti kontroly vych´az´ı z pravidel pro
jednotliv´a znam´enka.
Pˇri n´avrhu skriptu a po konzultac´ıch jsem se rozhodla pro vyhled´an´ı vˇsech
interpukˇcn´ıch znam´enek v textu pomoc´ı regul´arn´ıch v´
yraz˚
u, jejich seznam
je pˇred´av´an d´al do funkc´ı, kter´e prov´adˇej´ı kontrolu spr´avnosti. V pˇr´ıpadˇe,
ˇze je interpunkce um´ıstˇena spr´avnˇe, pˇrech´az´ı se na dalˇs´ı vyhledanou pozici.
Pokud je nalezena typografick´a chyba, je v´
yraz podle pravidel sazby upraven
a zamˇenˇen.
6
Teoretick´a ˇc´ast
Pravidla hladk´e sazby
Chybn´
y v´
yraz Popis
.
Chybnˇe um´ıstˇen´a mezera pˇred teˇckou na konci vˇety.
.
Vynech´an´ı mezery za teˇckou na konci vˇety (pokud nen´ı vˇeta
uvedena v z´avorce).
. )
Chybn´a mezera mezi interpunkˇcn´ım znam´enkem a uzav´ırac´ı
z´avorkou.
.
Chybnˇe um´ıstˇen´a mezera pˇred a za teˇckou ve spojen´ı s ˇc´ısly
(hodiny, kapitoly).
..
Dvˇe teˇcky, ty mohou znamenat chybn´e pouˇzit´ı dvou teˇcek nam´ısto spr´avn´e jedn´e nebo ˇspatnˇe zapsan´e tˇri teˇcky, kdy byla
jedna teˇcka zapomenuta. Automatickou kontrolou toto nen´ı
moˇzn´e rozhodnout, uˇzivatel je ke konci prohled´av´an´ı dokumentu na dvˇe teˇcky upozornˇen.
Tabulka 2.1: Chybn´e v´
yrazy s pouˇzit´ım teˇcky
Teˇ
cka
Pokud by za sebou mˇelo b´
yt um´ıstˇeno v´ıce teˇcek, pˇredevˇs´ım na konci vˇety,
s´az´ı se pouze jedna. Pokud jsou nadpisy ˇc´ıslovan´e (napˇr. 1.1.2), s´az´ı se bez
mezer.
Teˇcka m´a mnoh´a dalˇs´ı vyuˇzit´ı v r˚
uzn´
ych v´
yznamech, kdy se zapisuje bez
mezer. Pouˇz´ıv´a se pˇri z´apisu:
• hodin,
• n´azv˚
u soubor˚
u,
• internetov´e adresy,
• verz´ı program˚
u,
• kapitol.
Ve vyhled´avac´ım skriptu je kontrolov´ano spr´avn´e um´ıstˇen´ı teˇcky v textu,
u ˇc´ısel se teˇcka vyskytuje vˇzdy bez mezer (u hodin, ˇc´ıslovan´
ych nadpis˚
u,
kapitol ˇci verz´ı program˚
u). Nejˇcastˇejˇs´ı chyby shrnuje tabulka 2.1.
7
Teoretick´a ˇc´ast
Pravidla hladk´e sazby
Otazn´ık a vykˇ
riˇ
cn´ık
V textu mohou b´
yt uvedeny tak´e v z´avork´ach, otazn´ık jako v´
yraz pochybnosti, vykˇriˇcn´ık jako upozorˇ
nuj´ıc´ı v´
yraz. V tomto pˇr´ıpadˇe se mezera nepouˇz´ıv´a, vizte kapitolu 2.4.3. Pokud je otazn´ık nebo vykˇriˇcn´ık souˇca´st´ı urˇcit´eho
v´
yrazu na konci vˇety, koncov´a teˇcka uˇz se za nimi nep´ıˇse. Chyby, kter´e se
mohou vyskytnout v textu, opˇet shrnuje tabulka 2.2, kter´a ukazuje pˇr´ıpady
s pouˇzit´ım otazn´ıku, stejn´e pˇr´ıpady se definuj´ı i pro vykˇriˇcn´ık.
Chybn´
y v´
yraz Popis
?
Chybnˇe um´ıstˇen´a mezera pˇred otazn´ıkem na konci vˇety.
?
Vynech´an´ı mezery za otazn´ıkem (pokud nen´ı uveden v z´avorce).
( ? )
Chybnˇe um´ıstˇen´a mezera pˇred a za otazn´ıkem uvnitˇr z´avorek.
?.
Pouˇzit´ı koncov´e teˇcky, pˇred kterou n´asleduje v´
yraz s otazn´ıkem.
Tabulka 2.2: Chybn´e v´
yrazy s pouˇzit´ım otazn´ıku a vykˇriˇcn´ıku
Pozn: Stejn´e v´
yrazy lze definovat tak´e pro vykˇriˇcn´ık.
ˇ arka
C´
Kromˇe um´ıstˇen´ı ve vˇetˇe jako interpunkˇcn´ı znam´enko se d´ale ˇca´rka pouˇz´ıv´a
na vyj´adˇren´ı desetinn´e ˇca´rky v ˇc´ıslech a matematick´
ych v´
yrazech. V tˇechto
pˇr´ıpadech se s´az´ı z obou stran tˇesnˇe. Pˇri n´avrhu kontroly ˇc´arky bylo potˇreba
zohledit, zda se v okol´ı ˇca´rky z obou stran objevuje ˇc´ıslo a oˇsetˇrit sazbu
bez mezer. Pokud je ˇc´ıslo pouze z jedn´e strany ˇca´rky, je ˇc´ıslo souˇc´ast´ı textu
a sazba bude s mezerou za interpunkc´ı.
Pˇri zjiˇstˇen´ı ˇc´ısel z obou stran a um´ıstˇen´e mezery za ˇca´rkou je d´ale potˇreba
zjiˇst’ovat, jak vypad´a okol´ı ˇc´ısel a zda pouˇzit´ı s mezerou je spr´avn´e. To se
st´av´a v pˇr´ıpadech, kdy jmenujeme nˇekolik ˇc´ısel oddˇelen´
ych ˇc´arkami nebo
spojkami a, i, nebo, vizte pˇr´ıklad.
Pˇ
r´ıklad: Uk´azka v´
yskytu jedn´e teˇcky nam´ısto dvou
Potˇrebujeˇs p˚
ujˇcit 1 000, 2 000 nebo 3 000?
8
Teoretick´a ˇc´ast
Pravidla hladk´e sazby
Chybn´
y v´
yraz Popis
,
Chybnˇe um´ıstˇen´a mezera pˇred ˇca´rkou.
,
Vynech´an´ı mezery za ˇc´arkou (ˇca´rka nem´a v´
yznam desetinn´e
ˇc´arky v ˇc´ısle).
1 , 1
Pˇri v´
yznamu desetinn´e ˇca´rky pouˇzit´ı mezery pˇred a (nebo) za
ˇc´arkou.
Tabulka 2.3: Chybn´e v´
yrazy s pouˇzit´ım ˇc´arky
Stˇ
redn´ık
S´az´ı se podle stejn´
ych pravidel jako ˇca´rka, tedy bez mezery k pˇredchoz´ımu
p´ısmenu a za n´ım n´asleduje vˇzdy mal´e p´ısmeno. Pˇri v´
yˇctu desetinn´
ych ˇc´ısel
se pouˇz´ıv´a k oddˇelen´ı jednotliv´
ych ˇc´ısel a tedy opˇet s mezerou za znam´enkem.
Tˇ
ri teˇ
cky
Pouˇz´ıv´ame pro vyj´adˇren´ı vynechan´e ˇca´sti textu nebo jako naznaˇcen´ı pomlky
ve vˇetˇe. S´az´ı se speci´aln´ım znakem a k pˇredch´azej´ıc´ımu v´
yrazu se pˇrisazuje
bez mezery. Za tˇremi teˇckami se umist’uje mezera. Konˇc´ı-li vˇeta tˇremi teˇckami, pln´ı tyto teˇcky z´aroveˇ
n ukonˇcovac´ı funkci, dalˇs´ı teˇcka se tedy za nimi
nep´ıˇse. V kontroln´ım skriptu je tedy kromˇe vyhled´an´ı tˇrech teˇcek a z´amˇeny
za speci´aln´ı znak nutno oˇsetˇrit tak´e kontrolu dalˇs´ı teˇcky, kter´a zde jiˇz b´
yt
nem´a.
Chybn´
y v´
yraz
...
...
Popis
Chybnˇe um´ıstˇen´a mezera pˇred teˇckami.
Uveden´ı tˇrech teˇcek m´ısto speci´aln´ıho znaku, kde jsou teˇcky
oddˇeleny tenk´
ymi mezerami.
. . . . /... . M˚
uˇze b´
yt zam´
yˇslen v´
yznam tˇrech teˇcek a koncov´e teˇcky na
konci vˇety, dalˇs´ı teˇcka se ovˇsem nep´ıˇse.
. . .
Chybn´e zaps´an´ı norm´aln´ıch mezer mezi teˇckami, m´ısto cel´eho
v´
yrazu by mˇel b´
yt pouˇzit speci´aln´ı znak pro tˇri teˇcky.
Tabulka 2.4: Chybn´e v´
yrazy s pouˇzit´ım tˇrech teˇcek
9
Teoretick´a ˇc´ast
Pravidla hladk´e sazby
Dvojteˇ
cka
U dvojteˇcky prob´ıh´a kontrola stejnˇe jako u jin´
ych interpunkˇcn´ıch znam´enek.
D´ale jsou v kontrole zohlednˇeny v´
yrazy ud´avaj´ıc´ı ˇcasov´e u
´daje, na tato m´ısta
je uˇzivatel upozornˇen: pouˇzit´ı dvojteˇcky je podle hladk´e sazby spr´avn´e u oddˇelen´ı minut a sekund, ale ˇcasto se v textech pouˇz´ıv´a tak´e k vyj´adˇren´ı hodin
a minut. Spr´avnˇe podle hladk´e sazby je zde um´ıstˇena teˇcka. Pˇri matematick´
ych v´
yrazech a chemick´em pomˇeru je s´azena z obou stran s mezerami.
Chybn´
y v´
yraz Popis
:
Chybnˇe um´ıstˇen´a mezera pˇred dvojteˇckou (v´
yjimky jsou chemick´
y pomˇer a matematick´e v´
yrazy).
:
Chyb´ı mezera za dvojteˇckou v textu (kromˇe ˇcasov´
ych u
´daj˚
u).
ˇ
12:54
Casov´
y u
´daj, kde ale automaticky nelze rozhodnout, zda se
jedn´a o minuty a sekundy nebo hodiny a minuty.
Tabulka 2.5: Chybn´e v´
yrazy s pouˇzit´ım dvojteˇcky
2.4.3
Z´
avorky
V hladk´e sazbˇe se pouˇz´ıvaj´ı n´asleduj´ıc´ı z´avorky:
• obl´e (),
• hranat´e [],
• svorky {}.
Vˇzdy se p´ıˇs´ı tˇesnˇe k v´
yraz˚
um nebo vˇet´am, kter´e se do nich vkl´adaj´ı. Pˇri
n´avrhu kontroly jsem se rozhodla vyhledat cel´
y v´
yraz od otev´ırac´ı z´avorky aˇz
po uzav´ırac´ı z´avorku a jejich okol´ı. Podobnˇe jako u interpunkˇcn´ıch znam´enek
se kontroluje spr´avn´e um´ıstˇen´ı mezer (tˇesnˇe za vloˇzen´
y v´
yraz). Pro vyhled´an´ı
cel´eho v´
yrazu jsem se rozhodla pro pˇr´ıpadn´e dalˇs´ı rozˇs´ıˇren´ı skriptu a d˚
ukladnˇejˇs´ı kontrolu v´
yrazu (napˇr. zda za otev´ırac´ı z´avorkou n´asleduj´ı velk´e nebo
mal´e p´ısmeno a podle toho je um´ıstˇena i interpunkce u uzav´ırac´ı z´avorky).
10
Teoretick´a ˇc´ast
Pravidla hladk´e sazby
Chybn´
y v´
yraz
...(...)...
Popis
Vynech´an´ı mezer pˇred otev´ırac´ı z´avorkou a za uzav´ırac´ı z´avorkou.
... ( ... ) ... Chybnˇe um´ıstˇen´e mezery za otev´ırac´ı z´avorkou a pˇred
uzav´ırac´ı z´avorkou.
Tabulka 2.6: Chybn´e v´
yrazy s pouˇzit´ım z´avorek
2.4.4
Spojovn´ık, pomlˇ
cka
Spojovn´ık se pouˇz´ıv´a k oznaˇcen´ı dˇelen´ı slov nebo jako spojovac´ı znam´enko ve
sloˇzen´
ych v´
yrazech a s´az´ı se tˇesnˇe. Pomlˇcka naznaˇcuje vˇetˇs´ı pˇrest´avku v ˇreˇci
nebo od sebe v´
yraznˇe oddˇeluje ˇca´sti textu, v´
yznamovˇe je rovna ˇca´rce. Uv´ad´ı
se s okoln´ımi mezerami. Pomlˇcka se tak´e pouˇz´ıv´a jako n´ahrada v´
yraz˚
u a, aˇz,
od do, versus. Pˇri tomto pouˇzit´ı se s´az´ı bez mezer a nesm´ı b´
yt na zaˇc´atku ani
na konci ˇra´dku. Pomlˇcka za desetinnou ˇc´arkou u ˇc´ısel vyjadˇruje cel´e penˇeˇzn´ı
jednotky a v tomto pˇr´ıpadˇe se za ˇca´rkou s´az´ı tˇesnˇe.
Pˇri kontrole je moˇzn´e skriptem vyhledat vˇsechna um´ıstˇen´ı spojovn´ıku
nebo pomlˇcek, ale nen´ı moˇzn´e odhalit z´amˇenu a nespr´avn´e pouˇz´ıv´an´ı spojovn´ıku a pomlˇcky. Na jednotliv´a um´ıstˇen´ı pˇri automatick´e kontrole nen´ı uˇzivatel
na tato m´ısta upozorˇ
nov´an, ale je provena typografick´a kontrola a pˇredpokl´ad´a se spr´avn´e pouˇzit´ı.
2.4.5
Podtrˇ
z´ıtko, lom´ıtko
Oba znaky se s´az´ı bez mezer, vyhled´an´ı ve skriptu je navrˇzeno pomoc´ı regul´arn´ıch v´
yraz˚
u a okamˇzit´e z´amˇeny bez dalˇs´ıch kontroln´ıch funkc´ı.
2.4.6
ˇ ısla
C´
Z´
apis ˇ
c´ısla
ˇ ıslo se cel´e zapisuje na jeden ˇr´adek, nelze jej rozdˇelit do dvou ˇra´dk˚
C´
u. Pˇr´ıpadn´e mezery mezi ˇc´ısly jsou nalezeny a zamˇenˇeny za u
´zk´e pevn´e mezery,
tak, aby nedoch´azelo k rozdˇelen´ı ˇc´ısla na dva ˇra´dky. V nab´ıdce vyhled´av´an´ı
je tak´e nalezen´ı ˇc´ısel vˇetˇs´ıch neˇz tis´ıc, kter´e se seskupuj´ı po tˇrech.
11
Teoretick´a ˇc´ast
Moˇznosti automatick´ych oprav
Desetinn´a ˇca´st ˇc´ısla je oddˇelena ˇca´rkou, okolo kter´e se nep´ıˇse mezera
ani z jedn´e strany. Jednotliv´e ˇca´sti skriptu jsou prov´az´any a ˇca´rka u ˇc´ısel
je zhodnocena i ve funkci zamˇeˇren´e na kontrolu vˇsech vyhledan´
ych ˇca´rek
v textu.
Chybn´
y v´
yraz Popis
ˇ ısla nejsou rozdˇelena po ˇra´dech.
C´
123456789
123 456 789
Um´ıstˇen´ı norm´aln´ı mezery mezi ˇra´dy v ˇc´ıslech, kdy spr´avnˇe
m´a b´
yt u
´zk´a pevn´a mezera.
123 456 , 789 Desetinn´a ˇca´rka s mezerami kolem n´ı.
Tabulka 2.7: Chybn´e v´
yrazy s pouˇzit´ım ˇc´ısel
ˇ
Casov´
eu
´ daje
V hladk´e sazbˇe se hodiny a minuty saz´ı oddˇelen´e teˇckou. Cel´e hodiny je moˇzn´e
s´azet ve form´atu 12.00 nebo 12 hodin. Minuty a sekundy pak oddˇelujeme
dvojteˇckou, sekundy a desetiny sekund ˇc´arkou. Uˇzivatel si bude moci z v´
ybˇeru
vybrat pouze vyhled´an´ı ˇcasov´
ych u
´daj˚
u, pokud vyhled´av´a i znam´enka teˇcky,
dvojteˇcky, ˇc´arky, pak je tato kontrola provedena jiˇz u tˇechto znam´enek.
Chybn´
y v´
yraz Popis
09:48
Nespr´avn´e vyj´adˇren´ı ˇcasu s uveden´ım dvojteˇcky mezi hodiˇ
nami a minutami. Toto dovoluje norma CSN016910.
Tabulka 2.8: Chybn´e v´
yrazy pˇri z´apisu ˇcasu
2.5
Moˇ
znosti automatick´
ych oprav
Pro automatickou kontrolu dokumentu m˚
uˇze uˇzivatel vyuˇz´ıt nab´ıdku Hledat
a nahradit, kterou InDesign nab´ız´ı. Zde je moˇzn´e vyb´ırat ze nˇekolika z´aloˇzek,
pro kontrolu hladk´e sazby nejv´ıce pouˇziteln´e Text a GREP. V z´aloˇzce Text
je moˇzn´e vyhled´avat tak´e pomoc´ı z´astupn´
ych symbol˚
u, kter´e InDesign pro
textovou ˇc´asti definuje. Z´aloˇzka GREP, kter´a je dostupn´a od verze Adobe
InDesign CS3, nab´ız´ı moˇznost pracovat s regul´arn´ımi v´
yrazy. V´
yhodou je
automatick´e prohled´av´an´ı textu a rychl´a z´amˇena v´
yraz˚
u. Nev´
yhodou je pro
uˇzivatele alespoˇ
n ˇca´steˇcn´a znalost pouˇzit´ı regul´arn´ıch v´
yraz˚
u a nemoˇznost
12
Teoretick´a ˇc´ast
Moˇznosti automatick´ych oprav
rozhodov´an´ı u nejednoznaˇcn´
ych situac´ı, jako napˇr´ıklad interpunkce, jak je
uv´adˇeno v´
yˇse.
Pro operaˇcn´ı syst´em Mac OS X je pro automatickou kontrolu dokumentu
ˇ c. Tento skript byl nab´ızen jiˇz pro AdobeInDesign
nab´ızen skript Viktor Cistiˇ
CS1 a od t´e doby byl postupnˇe rozˇsiˇrov´an a opravov´an. Uˇzivateli nab´ız´ı
vyˇciˇstˇen´ı dokumentu od nadbyteˇcn´
ych znak˚
u, nevhodnˇe um´ıstˇen´
ych mezer
napˇr. pˇred znaky z´avorek, vykˇriˇcn´ık˚
u. V nab´ıdce m´a nyn´ı i kontrolu mˇern´
ych
jednotek ˇci mezery u zkratek a titul˚
u.
Pro operaˇcn´ı syst´em Windows je moˇzn´e vyuˇz´ıt skripty Petera Kahlera,
kter´e usnadˇ
nuj´ı pr´aci s n´astrojem GREP v InDesignu. Na dokument je pak
pˇri pouˇzit´ı skriptu opˇet moˇzn´e aplikovat ˇradu GREP dotaz˚
u. Ty se vykonaj´ı v poˇrad´ı, jak jsou naˇcteny z dialogov´eho okna skriptu, GREP dotazy
mus´ı uˇzivatel definovat. Automatizace prob´ıh´a tedy bez rozhodov´an´ı z v´ıce
spr´avn´
ych moˇznost´ı.
Dˇr´ıve bylo moˇzn´e zakoupit skript UseMyTypo, kter´
y nab´ızel automatickou
kontrolu dokumentu, nyn´ı jsem o nˇem aktu´aln´ı informace jiˇz neobjevila.
Ve sv´em skriptu se snaˇz´ım ˇreˇsit kontrolu vybran´
ych v´
yraz˚
u a znak˚
u nejen
automatickou z´amˇenou za jin´
y v´
yraz, ale tak´e rozhodov´an´ı v pˇr´ıpadˇe, ˇze
pro znak existuje v´ıce spr´avn´
ych ˇreˇsen´ı, podle toho, jak vypad´a text v okol´ı
znaku. Skript pracuje s n´astrojem GREP a uˇzivatel jej m˚
uˇze pouˇz´ıvat bez
znalosti regul´arn´ıch v´
yraz˚
u.
13
3 Praktick´a ˇc´ast
3.1
Popis projektu
Pro automatickou kontrolu typografie jsem se rozhodla vyuˇz´ıt skriptov´an´ı,
kter´e Adobe InDesign podporuje od verze CS1. S´azec´ı program nav´ıc podporuje v´ıce jazyk˚
u, konkr´etnˇe AppleScript (pro MAC OS), VBScript (pro
Windows) a JavaScript (pro obˇe platformy). Pro sv˚
uj skript jsem si vybrala
JavaScript, kter´
y je ve velk´e m´ıˇre vyuˇz´ıv´an pˇri tvorbˇe webov´
ych aplikac´ı
a k dispozici je mnoˇzstv´ı literatury a n´astroj˚
u. JavaScript urˇcen´
y pro InDesign m´a vˇsak oproti tomu, kter´
y je pouˇz´ıv´an na webu, spoleˇcnou pouze
z´akladn´ı specifikaci, tedy z´akladn´ı syntaxi, programov´e konstrukty a nˇekter´e
objekty.
JavaScript pro InDesign je pˇrizp˚
usoben pr´aci v InDesignu, jsou v nˇem
definov´any jednotliv´e objekty, se kter´
ymi InDesign pracuje. V´ıce shrnuje kapitola 3.2. Skript pro automatickou kontrolu typografie jsem vytvoˇrila pro
verzi CS3 a vyˇsˇs´ı.
Prohled´avac´ı skript obsahuje n´asleduj´ıc´ı ˇc´asti:
• hlavn´ı ˇc´ast skritpu, kter´a spouˇst´ı dalˇs´ı funkce;
• ˇc´ast pro vyhled´av´an´ı a n´ahrady v textu dle urˇcen´eho rozsahu;
• ˇc´ast pro kontrolu vyhledan´
ych v´
yraz˚
u a rozhodnut´ı o dalˇs´ım zpracov´an´ı;
• ˇc´ast s jednotliv´
ymi funkcemi, kter´e jsou vol´any podle vyhledan´
ych regul´arn´ıch v´
yraz˚
u;
• ˇc´ast pro pr´aci se soubory;
• ˇc´ast pro nastaven´ı rozsahu a moˇznost´ı vyhled´av´an´ı (podle v´
ysledk˚
u
nastaven´
ych uˇzivatelem);
• ˇc´ast pro dialogov´a okna;
• ˇc´ast pro pomocn´e a doplˇ
nuj´ıc´ı funkce.
Kromˇe samotn´
ych skript˚
u jsou vytvoˇreny n´asleduj´ıc´ı textov´e dokumenty
pro podporu skript˚
u:
14
Praktick´a ˇc´ast
Skriptov´an´ı v Adobe InDesign
• Config.txt – konfiguraˇcn´ı soubor pro nastaven´ı moˇznost´ı skriptu;
• Config2.txt – konfiguraˇcn´ı soubor pro nastaven´ı moˇznost´ı skriptu pˇri
druh´em pr˚
uchodu dokumentem;
• FindList.txt – soubor, kter´
y definuje jednotliv´e typografick´e chyby,
kter´e maj´ı b´
yt vyhled´any, pomoc´ı regul´arn´ıch v´
yraz˚
u;
• Result[ˇ
cı
´slo prohled´
avan´
e ˇ
ca
´sti].txt – soubor s v´
ysledkem prohled´av´an´ı.
3.2
3.2.1
Skriptov´
an´ı v Adobe InDesign
Popdora skriptov´
an´ı
Jak jiˇz bylo v u
´vodu ˇreˇceno, skriptov´an´ı je v Adobe InDesign umoˇznˇeno od
verze CS1. Skriptov´an´ı v Adobe InDesign pˇrin´aˇs´ı ˇradu moˇznost´ı, kter´a je
s kaˇzdou verz´ı InDesignu rozˇsiˇrov´ana a v´ıce podporov´ana. V jednotliv´
ych
verz´ıch jsou nov´e funkce pˇrid´av´any, z´aroveˇ
n jsou nˇekter´e nahrazeny jin´
ymi
a doch´az´ı tak k nekompatibilitˇe. V ˇradˇe pˇr´ıpad˚
u jsou vytvoˇren´e skripty urˇcen´e
pouze pro urˇcitou verzi InDesignu a pro novou verzi mus´ı b´
yt aktualizov´any.
3.2.2
Spouˇ
stˇ
en´ı skript˚
u v InDesign
Skripty, kter´e chceme pouˇz´ıvat, se ukl´adaj´ı do pˇr´ısluˇsn´eho podadres´aˇre. Cesta
k adres´aˇri od verze CS3 je n´asleduj´ıc´ı:
• Adobe InDesign CS3/Scripts/Scripts Panel,
V samotn´em programu se skripty um´ıstˇen´e v uveden´em podadres´aˇri zobraz´ı v paletce Skripty InDesignu. Paletka se v jednotliv´
ych verz´ıch aktivuje
n´asleduj´ıc´ım zp˚
usobem:
• verze CS3: Okna – Automatizace – Skripty,
• verze CS4: Okna – Automatizace – Skripty,
• verze CS5: Okna – Pom˚
ucky – Skripty,
15
Praktick´a ˇc´ast
3.2.3
Skriptov´an´ı v Adobe InDesign
Pr´
ace s InDesignem
Pro pr´aci a n´avrh skriptu bylo nutn´e sezn´amit se nejen s fungov´an´ım samotn´eho JavaScriptu, ale tak´e s jeho rozˇs´ıˇren´ım pod InDesignem. JavaScript
v InDesignu je navrˇzen tak, ˇze um´ı zach´azet s objekty dan´eho programu, jejich vlastnostmi a metodami. Objekty jsou zde napˇr´ıklad dokument, textov´
y
ˇci obrazov´
y r´ameˇcek, vrstva ˇci okno dokumentu. Vlastnosti jednotliv´
ych objekt˚
u jsou definov´any podle typu objektu, napˇr´ıklad u r´ameˇcku ˇs´ıˇrka, v´
yˇska,
pozice na str´ance nebo obsah. Metody jsou akce, kter´e dok´aˇze objekt prov´adˇet, tedy tˇreba zmˇena velikosti, rotace ˇci pozice r´ameˇcku. T´ımto JavaScript
pro InDesign dok´aˇze zastoupit r˚
uzn´e ˇcinnosti uˇzivatele.
Z v´
yˇse uveden´eho je zˇrejm´e, ˇze se jedn´a o ˇsirok´e a specifick´e pole moˇznost´ı.
Zamˇeˇr´ıme se zde pouze na pr´aci s textem, tedy s textov´
ymi r´ameˇcky a jejich
obsahem.
3.2.4
Text, textov´
e r´
ameˇ
cky a pr´
ace s textem
Z´akladn´ım objektem je story (textov´
y tok). Ten se skl´ad´a z kolekc´ı objekt˚
u
chars, words, lines, paragraphs, atd. Pˇristupovat m˚
uˇzeme k textov´emu obsahu dan´eho textov´eho objektu. Automatizovat tak m˚
uˇzeme vkl´ad´an´ı textu,
nastaven´ı parametr˚
u textov´
ych r´ameˇck˚
u nebo textov´
ych form´atovac´ıch charakteristik, kontroly pˇreteˇcen´ı r´ameˇck˚
u a podobnˇe.
Pomoc´ı skript˚
u je moˇzn´e realizovat r˚
uzn´e automatick´e vyhled´av´an´ı nebo
z´amˇeny. Pˇri skriptov´an´ı vˇsak lze mimo samotn´eho textov´eho obsahu zpracov´avat i rozmanit´e textov´e atributy jako napˇr. barvu p´ısma, oznaˇcen´ı ˇca´st´ı
textu tagy. Toho vyuˇz´ıv´am tak´e ve sv´em skriptu, kdy oznaˇcuji vyhledan´e
ˇc´asti textu, tak, aby je mohl uˇzivatel identifikovat. Skriptov´an´ı v InDesignu
nab´ız´ı zaj´ımav´e moˇznosti, z´aroveˇ
n jsem se ale bˇehem pr´ace setkala s r˚
uzn´
ymi
u
´skal´ımi. Napˇr´ıklad je omezena pr´ace s vyhledan´
ym textem, musela jsem naj´ıt nˇekolik oklik, jak k tomuto textu pˇristupovat a z´ıskat z nˇej informace pro
dalˇs´ı zhodnocen´ı vyhledan´eho v´
yrazu.
Jedn´ım z probl´em˚
u byla pr´avˇe pr´ace se textem. Vyhledan´e v´
yrazy se
ukl´adaj´ı do objekt˚
u typu text, kter´
y d´ale neumoˇzn
ˇoval snadnou pr´aci s n´ım.
Pokud jsem ale vyhledan´
y text uloˇzila do promˇenn´e typu String, bylo moˇzn´e
pracovat s textem a regul´arn´ımi v´
yrazy d´ale. Probl´em nastal pˇri naˇcten´ı
speci´aln´ıch znak˚
u, kter´e m´a InDesign definovan´e pod ˇc´ıseln´
ym oznaˇcen´ım.
16
Praktick´a ˇc´ast
InDesign a regul´arn´ı v´yrazy
Do promˇenn´e typu String se speci´aln´ı znaky nenaˇcetly spr´avnˇe, ale pr´avˇe
ve sv´em ˇc´ıseln´em oznaˇcen´ı. Musela jsem hledat ˇreˇsen´ı, jak pouˇz´ıt regul´arn´ı
v´
yrazy v objektech typu text.
Skriptov´an´ı v InDesign nab´ız´ı podporu regul´arn´ıch v´
yraz˚
u od verze CS3.
3.3
InDesign a regul´
arn´ı v´
yrazy
V JavaScriptu pod InDesignem jsou vytvoˇreny funkce umoˇzn
ˇuj´ıc´ı vyhled´av´an´ı a z´amˇeny pomoc´ı regul´arn´ıch v´
yraz˚
u. Na story a textov´e objekty nelze
pouˇz´ıt metody search(), replace(), match() a split(), kter´e je naopak
moˇzn´e aplikovat na objekty String. V InDesignu s regul´arn´ımi v´
yrazy pracuj´ı funkce:
• findGrep() pro vyhled´an´ı v´
yraz˚
u,
• changeGrep() pro z´amˇenu a nahrazen´ı v´
yrazu.
V´
yhodou pouˇzit´ı funkc´ı vytvoˇren´
ymi pˇr´ımo pod InDesignem jsou jejich
rozˇs´ıˇren´e moˇznosti, kdy je moˇzn´e vyhled´avat i speci´aln´ı znaky jako r˚
uzn´e
druhy mezer ˇci pomˇcky a podobnˇe. Pro tyto funkce mluv´ı i vyuˇzit´ı i dalˇs´ıch
voleb ve vyhled´av´an´ı a nahrazen´ı; vyhledan´
y text m˚
uˇze m´ıt r˚
uzn´
y styl nebo
m˚
uˇze b´
yt po nahrazen´ı oznaˇcen ˇci zmˇenˇeny jeho vlastnosti.
Nev´
yhodou ve skriptu je, ˇze dokument bude prohled´av´an v cyklu podle
podle poˇctu vybran´
ych v´
yraz˚
u. V urˇcit´
ych situac´ıch se m˚
uˇze st´at, ˇze bude
v´
yraz nalezen ve v´ıce ˇca´stech prohled´av´an´ı a pokaˇzd´e vyhodnocen. Ve skriptu
je snaha o omezen´ı tˇechto situac´ı, napˇr. tˇri teˇcky je moˇzn´e vyhodnotit v r´amci
interpunkce i samostatnˇe zvl´aˇst’. V pˇr´ıpadˇe v´
ybˇeru obou tˇechto voleb jsou tˇri
teˇcky vyhled´any v poˇrad´ı prvn´ı z nich a druh´a je oznaˇcena, ˇze se prohled´avat
nebude.
17
Praktick´a ˇc´ast
3.4
3.4.1
Skript pro automatickou kontrolu typografie
Skript pro automatickou kontrolu typografie
Spuˇ
stˇ
en´ı skriptu a naˇ
cten´ı u
´ daj˚
u
Po spuˇstˇen´ı skriptu se uˇzivateli otevˇre dialogov´e okno, jak ukazuje obr´azek
3.1, s nab´ıdkou moˇznost´ı, kter´e skript nab´ız´ı. Moˇznosti jsou rozdˇeleny do
tˇrech ˇca´st´ı.
• V´
ybˇer z nab´ızen´eho rozsahu v´
yraz˚
u, kter´e maj´ı b´
yt vyhled´any,
• zp˚
usob u
´prav, tedy jak m´a b´
yt nahrazen´ı, pˇr´ıpadnˇe jenom vyhled´an´ı
provedeno a oznaˇceno,
• rozsah textu, na kter´
y se vyhled´av´an´ı bude vztahovat.
Obr´azek 3.1: Dialogov´e okno po spuˇstˇen´ı skriptu
Pˇri prvn´ım spuˇstˇen´ı dialogov´eho okna se naˇcte nastaven´ı pro dialogov´e
okno z konfiguraˇcn´ıho souboru Config.txt. Nastaven´ı dialogov´eho okna, jak
jej uˇzivatel definoval, bude pˇred ukonˇcen´ım uloˇzeno zpˇet do konfiguraˇcn´ıho
dokumentu a pˇri dalˇs´ım spuˇstˇen´ı skriptu bude pouˇzito pˇri zobrazov´an´ı dialogov´eho okna. Kromˇe nastaven´ı jednotliv´
ych grafick´
ych prvk˚
u je souˇca´st´ı
konfiguraˇcn´ıho souboru i nastaven´ı samotn´eho spuˇstˇen´ı dialogov´eho okna.
Pro uˇzivatele, kteˇr´ı budou ve skriptu pouˇz´ıvat st´ale stejn´e nastaven´ı a jsou
schopni zasahovat do konfiguraˇcn´ıho souboru, je zde moˇznost vypnout zobrazov´an´ı dialogov´eho okna. Po spuˇstˇen´ı skript naˇcte konfiguraˇcn´ı soubor a podle
jeho nastaven´ı zaˇcne rovnou prov´adˇet kontrolu dokumentu.
18
Praktick´a ˇc´ast
Skript pro automatickou kontrolu typografie
Pro vypnut´ı dialogov´eho okna staˇc´ı zmˇenit n´asleduj´ıc´ı promˇennou na
false:
var dialogShow = false;
Pokud by se uˇzivateli povedlo omylem smazat konfiguraˇcn´ı soubor Config.txt, po spuˇstˇen´ı skript vytvoˇr´ı nov´
y a spust´ı podle nˇej dialogov´e okno.
3.4.2
Zp˚
usoby u
´ prav textu
Uˇzivateli jsou nab´ızeny tak´e moˇznosti prohled´av´an´ı a oznaˇcen´ı v´
ysledku prohled´an´ı. Jednak mohou b´
yt vybran´e v´
yrazy vyhled´any a nahrazeny, nebo
pouze vyhled´any a oznaˇceny.
Prvn´ı variantou je moˇznost vyhledat chyby v hladk´e sazbˇe a ty automaticky nahradit za spr´avn´e v´
yrazy bez dalˇs´ıho oznaˇcen´ı vyhledan´
ych m´ıst.
N´asleduj´ıc´ı varianta nab´ız´ı oznaˇcit nahrazen´a m´ısta tagy, pˇr´ıpadnˇe vybranou barvou. Pˇr´ı v´
ybˇeru barvy je na konci prohled´av´an´ı nab´ıdnuta uˇzivateli
moˇznost nastavit skript na druh´
y pr˚
uchod dokumentem, coˇz bl´ıˇze popisuje
kapitola 3.4.4. Pˇri oznaˇcov´an´ı jednotliv´
ych vyhledan´
ych ˇca´st´ı barvou je potˇreba vzhledem ke zmˇenˇe index˚
u jednotliv´
ych znak˚
u v textu po n´ahradˇe
prov´adˇet nahrazov´an´ı od konce dokumentu.
Dalˇs´ı varianty nab´ızej´ı stejn´e oznaˇcen´ı (tagy, barva), ale text se pouze
vyhled´a a samotn´a n´ahrada je ponech´ana na rozhodnut´ı uˇzivatele. Pˇri oznaˇcen´ı barvou je na konci prohled´an´ı opˇet uˇzivateli zobrazena nab´ıdka druh´eho
pr˚
uchodu dokumentem.
Posledn´ı moˇznost´ı je pr˚
ubˇeˇzn´e upozorˇ
nov´an´ı na vyhledan´a m´ısta (v textu
se oznaˇc´ı v´
ybˇer m´ısta a otevˇre se dialogov´e okno s nab´ıdkou n´ahrady, jak
ukazuje obr´azek 3.2). I pˇri t´eto moˇznosti je nutn´e (vzhledem ke zmˇenˇe index˚
u
jednotliv´
ych znak˚
u pˇri zmˇenˇe vyhledan´eho v´
yrazu) prohled´avat dokument od
konce na zaˇca´tek.
Barvu, kterou se bude oznaˇcovat vyhledan´
y text, si vyb´ır´a uˇzivatel ze
seznamu v dialogov´em oknˇe. Seznam barev je naˇcten ze vzorn´ıku aplikace
a liˇs´ı se podle toho, jak m´a kaˇzd´
y uˇzivatel definovan´e barvy ve vzorn´ıku.
19
Praktick´a ˇc´ast
Skript pro automatickou kontrolu typografie
Obr´azek 3.2: Dialogov´e okno pro nahrazen´ı jednotliv´
ych vyhledan´
ych v´
yraz˚
u
3.4.3
Rozsah textu urˇ
cen´
eho ke kontrole
Po spuˇstˇen´ı skript kontroluje, zda v otevˇren´em dokumentu je textov´
y r´ameˇcek
obsahuj´ıc´ı text, kter´
y bude moˇzn´e prohledat. Pokud ne, je uˇzivatel na tuto
skuteˇcnost upozorˇ
nen a skript je ukonˇcen. V nab´ıdce jednotliv´
ych voleb je
moˇzn´e nastavit, v jak velk´e ˇca´sti textu se bude prohled´avat. Uˇzivatel m˚
uˇze
volit mezi n´asleduj´ıc´ımi moˇznostmi:
• V´
ybˇ
erem – oznaˇcen´a ˇc´ast textu, pokud nebyl v´
ybˇer oznaˇcen a je vybr´ana tato moˇznost, skript na toto uˇzivatele upozorn´ı a ukonˇc´ı se.
• Aktu´
aln´ı story – InDesign nab´ız´ı moˇznost rozdˇelit texty do jednotliv´
ych story a je moˇzn´e prohledat pouze urˇcitou story, pokud nen´ı v dokumentu ˇz´adn´a story, opˇet na toto skript upozorn´ı.
• Aktu´
aln´ım dokumentem – prohledaj´ı se vˇsechny story v aktu´aln´ım
dokumentu.
• Ve vˇ
sech otevˇ
ren´
ych dokumentech – dokumenty jsou postupnˇe
aktivov´any a n´aslednˇe prohled´any.
3.4.4
Vybr´
an´ı v´
yraz˚
u pro prohled´
an´ı
Souˇca´st´ı dialogov´eho okna je samozˇrejmˇe nab´ıdka pro v´
ybˇer v´
yraz˚
u, kter´e
se maj´ı prohledat. Pro spr´avn´e zobrazen´ı vˇsech nab´ızen´
ych v´
yraz˚
u se naˇc´ıt´a
konfiguraˇcn´ı soubor regul´arn´ıch v´
yraz˚
u Findlist.txt. Jak d´ale po naˇcten´ı
souboru prob´ıh´a prohled´av´an´ı ve skriptu popisuje kapitola 3.5.
20
Praktick´a ˇc´ast
Prohled´av´an´ı dokumentu skriptem
Druh´
y pr˚
uchod prohled´
av´
an´ı
Pokud uˇzivatel v u
´vodn´ım nab´ıdkov´em oknˇe zvol´ı moˇznost barevn´eho oznaˇcen´ı vyhledan´
ych m´ıst, je mu po ukonˇcen´ı hled´an´ı nab´ıdnuta moˇznost druh´eho pr˚
uchodu dokumentem (ob´azek 3.3). Znamen´a to, ˇze pˇri dalˇs´ım spuˇstn´ı
skriptu budou vyznaˇcen´e ˇc´asti textu obarveny opˇet p˚
uvodn´ı barvou. Informace potˇrebn´e pro tento n´avrat“ jsou uloˇzeny v dokumentu Result[ˇ
cı
´slo
”
prohled´
avan´
e c
ˇ´
asti].txt, kam se uloˇz´ı vyhledan´e a nahrazen´e v´
yrazy.
Obr´azek 3.3: Dialogov´e okno s nab´ıdkou nastaven´ı druh´eho pr˚
uchodu pˇri
obarvov´an´ı textu
3.5
3.5.1
Prohled´
av´
an´ı dokumentu skriptem
Ukl´
ad´
an´ı dat
Skriptov´an´ı pod InDesignem mi neumoˇzn
ˇuje vytvoˇrit si datov´
y objekt, do
kter´eho by se ukl´adaly vˇsechny potˇrebn´e informace k jednotliv´
ym regul´arn´ım
v´
yraz˚
um, jako samotn´
y v´
yraz, jeho nahrazen´ı, jeho pˇr´ıznak a index a dalˇs´ı.
Tuto nev´
yhodu“ ˇreˇs´ım pomoc´ı nˇekolika pol´ı, do kter´
ych se v´
yˇse uveden´e
”
informace ukl´adaj´ı. Veˇsker´e informace souvisej´ıc´ı s jedn´ım v´
yrazem jsou pak
uloˇzeny v pod jedn´ım indexem a je moˇzn´e k nim pˇres tento index pˇristupovat.
21
Praktick´a ˇc´ast
3.5.2
Prohled´av´an´ı dokumentu skriptem
Zp˚
usob prohled´
av´
an´ı
Pˇri n´avrhu skriptu a testov´an´ı moˇznost´ı, jsem se rozhodla vyuˇz´ıt definovan´e
prohled´avac´ı funkce, kter´e nab´ız´ı skriptov´an´ı pod InDesignem. Jejich v´
yhodou je pˇr´ım´a podpora InDesignu a nejr˚
uznˇejˇs´ı moˇznosti nastaven´ı preferenc´ı
prohled´av´an´ı. Nev´
yhodou je, ˇze dokument je prohled´av´an nˇekolikr´at v cyklu
podle poˇctu regul´arn´ıch v´
yraz˚
u, kter´e si uˇzivatel vybral.
Vyuˇzit´ı preferenc´ı, tedy vlastnost´ı souvisej´ıc´ıch s prohled´av´an´ım, umoˇzn
ˇuje nejenom nastaven´ı toho, co se m´a prohled´avat nebo nahrazovat, ale bylo
v´
yhodn´e pouˇz´ıt jej i pˇri oznaˇcov´an´ı tagy nebo barvou.
Funkce findGrep() a changeGrep() se aplikuj´ı na textovou oblast (v´
ybˇer, story, dokument), kterou podle nastaven´ı dialogu vyhodnot´ı funkce myFindPlace_CS3(). Ta d´ale vol´a funkci myFindAndReplaceInText_CS3(mySearchSelection) a jako argument m´a pr´avˇe odkaz na vybran´
y text.
3.5.3
Vyhled´
av´
an´ı v´
yraz˚
u
Pomoc´ı preferenc´ı se nastav´ı prohled´av´an´ı, kdy se postupnˇe v cyklu zad´avaj´ı
regul´arn´ı v´
yrazy naˇcten´e z konfiguraˇcn´ıho souboru FindList.txt. Prohledan´a m´ısta jsou uloˇzena do pole a podle v´
ybˇeru zp˚
usobu u
´prav textu jsou
vol´any dalˇs´ı funkce.
app.findGrepPreferences.findWhat = myExp;
myFoundText = mySearchSelection.findGrep();
3.5.4
Zp˚
usoby kontroly typografie
V konfiguraˇcn´ım souboru FindList.txt jsou jednotliv´e regul´arn´ı v´
yrazy
oznaˇceny pˇr´ıznakem pro zpracov´an´ı.
• Pˇr´ıznak r – oznaˇcuje v´
yrazy, kter´e po vyhled´an´ı a zavol´an´ı pˇr´ısluˇsn´e
funkce pro z´amˇenu jsou ihned nahrazeny.
• Pˇr´ıznak f – oznaˇcuje v´
yrazy, kter´e jsou po uloˇzen´ı do pole postupnˇe
d´ale proch´azeny pomoc´ı definovan´
ych funkc´ı (podle v´
ybˇeru, co se m´a
22
Praktick´a ˇc´ast
Prohled´av´an´ı dokumentu skriptem
prohledat). V nich se rozhodne, zda je vyhledan´
y v´
yraz spr´avnˇe a nebude se zamˇen
ˇovat a nebo na jak´em m´ıstˇe je ve v´
yrazu chyba. Podle
typu chyby se nastav´ı vhodn´a n´ahrada.
Regul´arn´ı v´
yrazy s pˇr´ıznakem r jsou pouˇzity na chybov´e ˇc´asti jako nadbyteˇcn´e znaky nebo z´amˇena mezery za jednop´ısmennou pˇredloˇzkou.
Pomoc´ı regul´arn´ıch v´
yraz˚
u s pˇr´ıznakem f jsou vyhled´any vˇsechny v´
yskyty
znak˚
u v dokumentu, napˇr. interpunkˇcn´ıch znam´enek. Kontroly ve funkci je
sleduj´ı typografick´e chyby, pokud nejsou nalezeny, je v´
yraz povaˇzov´an za
spr´avn´
y. Jednotliv´e funkce jsou definov´any podle pravidel hladk´e sazby a vych´az´ı z tabulek uveden´
ych v kapitole 2.4.
Kontroln´ı funkce v´
yraz˚
u
Pro znaky, jako napˇr´ıklad interpunkˇcn´ı znam´enka, nen´ı moˇzn´e kontrolu ˇreˇsit
jako vyhled´an´ı vˇsech v´
yskyt˚
u a jejich n´ahradu jedn´ım jin´
ym v´
yrazem. N´ahrada naopak mus´ı vych´azet z v´
ybˇeru r˚
uzn´
ych variant ˇreˇsen´ı. Pˇri anal´
yze
pravidel hladk´e sazby jsem si definovala znaky, kter´e se maj´ı nebo naopak
nemaj´ı vyskytovat v okol´ı hledan´eho znaku. D´ale vˇse vysvˇetl´ım na pˇr´ıkladech
interpunkˇcn´ıch znam´enek.
Pˇri vyhled´av´an´ı znaku je spoleˇcnˇe se znam´enkem naˇcteno i jeho okol´ı,
tedy b´ıl´e znaky a z kaˇzd´e strany jeden znak textu. Regul´arn´ı v´
yrazy v konfiguraˇcn´ım souboru FindList.txt jsou navrˇzeny zd´anlivˇe sloˇzitˇeji neˇz by
mohly b´
yt, ale zvolila jsem tuto variantu pr´avˇe z d˚
uvodu zachov´an´ı nebo
odstranˇen´ı jednotliv´
ych ˇc´ast´ı nalezen´eho v´
yrazu.
U interpunkˇcn´ıch znam´enek je neprve, pokud nebyla tato volba zvolena
uˇzivatelem ve v´
ybˇeru, kontrolov´ana pˇr´ıtomnost v´ıce b´ıl´
ych znak˚
u za sebou
a ponech´an je jeden (nam´ısto dvou mezer jedna). Je zde tak´e oˇsetˇren pˇr´ıpad, kdy se za znam´enkem m˚
uˇze vyskytovat mezera a za n´ı konec odstavce
(pˇr´ıpadnˇe v´ıce konc˚
u odstavc˚
u). V tomto pˇr´ıpadˇe m´a b´
yt zachov´an aˇz znak
konce odstavce a ne mezery hned za znam´enkem.
D´ale je sledov´ano zda se ve v´
yrazu vyskytuje jedno interpunkˇcn´ı znam´enko nebo v´ıce a je pˇresnˇe urˇceno, o jak´
y znak se jedn´a. Podle toho jsou
vol´any funkce, kter´e sleduj´ı jiˇz kaˇzd´e interpunkˇcn´ı znam´eneko zvl´aˇst’. Samostatn´a funkce ˇreˇs´ı v´
yskyt v´ıce interpunkˇcn´ıch znam´enek.
23
Praktick´a ˇc´ast
Prohled´av´an´ı dokumentu skriptem
V tˇechto funkc´ıch urˇcen´
ych pro znam´enka je opˇet pouˇz´ıv´ana metoda v InDesignu findGrep() s nastaven´
ymi preferencemi. Metoda findGrep() je tentokr´ate aplikov´ana pouze na v´
yraz nalezen´
y v textu a v nˇem hled´a moˇzn´e
kombinace v´
yskytu v souvislosti se znam´enkem.
Nejprve jsou oˇsetˇreny pˇr´ıpady, kdy se v okol´ı interpunkce objevuje ˇc´ıslo
(pˇr´ıpad ˇca´rky, teˇcky, dvojteˇcky) a funkce je ukonˇcena s t´ım, ˇze v´
yraz je
spr´avnˇe nebo je opraven a nastaven pˇr´ıznak pro nahrazen´ı v´
yrazu. V souvislosti s ˇc´ısly jsou d´ale sledov´any pˇr´ıpady, kdy za ˇc´ıslem ˇca´rka z˚
ustat m´a,
jak ukazuje pˇr´ıklad v kapitole 2.4.2. Pro tuto kontrolu slouˇz´ı samotstatn´a
funkce, kter´a je vol´ana v pˇr´ıpadˇe ˇc´arky a vkl´ad´an´ı nerozdˇeliteln´
ych mezer
u ˇc´ısel v ˇra´dech tis´ıc˚
u.
Pokud nejsou v okol´ı znam´enka ˇc´ısla, pak funkce pokraˇcuje dalˇs´ı kontrolou
a sleduj´ı se jednotliv´e definovan´e pˇr´ıpady jako:
• chybˇej´ıc´ı mezera za interpunkc´ı, pokud za znakem nen´ı um´ıstˇeno dalˇs´ı
znam´enko nebo uzav´ırac´ı z´avorky,
• nadbyteˇcn´a mezera za interpunkc´ı, pokud za znam´enkem n´asleduje
dalˇs´ı znam´enko, uzav´ırac´ı z´avorky,
• nadbyteˇcn´a mezera pˇred znam´enkem ve vˇsech pˇr´ıpadech.
Pro kaˇzd´
y znak jsou definov´any vlasn´ı kontroln´ı funkce oˇsetˇruj´ıc´ı situace,
kter´e mohou nastat, jak bylo pops´ano v´
yˇse. Kromˇe toho, jsou ve funkc´ıch
nastaveny pˇr´ıpady, kter´e nen´ı moˇzn´e rozhodnout, jejich pˇr´ıznak je nastaven
tak, aby nedoˇslo k z´amˇenˇe. Tyto v´
yrazy jsou v z´avˇereˇcn´em shrnut´ı uvedeny
v pˇrehledu a vˇzdy vyznaˇceny barvou ve skriptu.
Pokud v´
yraz nen´ı v ˇza´dn´e ˇc´asti funkce zamˇenˇen, je povaˇzov´an za spr´avn´
y
a k n´ahradˇe nedojde. To urˇcuje ˇc´ıseln´
y pˇr´ıznak, kter´
y se pˇri nalezen´ı chyby
zvyˇsuje. Do nahrazovac´ı funkce changeGrep() jsou pak zaˇrazeny pouze v´
yrazy, u kter´
ych se pˇr´ıznak zmˇenil.
3.5.5
Nahrazen´ı v´
yraz˚
u
Pˇri nahrazovan´an´ı urˇcen´
ych v´
yraz˚
u (vˇsech u pˇr´ıznaku r a vybran´
ych chybov´
ych u pˇr´ıznaku f) vyuˇz´ıv´am opˇet preferenc´ı. Kromˇe nastaven´ı regul´arn´ıho
24
Praktick´a ˇc´ast
Ukonˇcen´ı skriptu
v´
yrazu pro nahrazen´ı se zde nastavuj´ı tagy nebo barva, kterou uˇzivatel vybral ze vzorn´ıku. Pokud maj´ı b´
yt v´
yrazy nalezeny a oznaˇceny bez zmˇeny
samotn´eho v´
yrazu, je v preferenc´ıch z´amˇeny uveden pr´azdn´
y v´
yraz.
Jednotliv´e preference vypadaj´ı n´asledovnˇe:
app.changeGrepPreferences.changeTo = myNewText;
app.changeGrepPreferences.changeTo = "";
app.changeGrepPreferences.markupTag = "Zmeneny_text";
app.changeGrepPreferences.markupTag = "Nalezeny_text";
app.changeGrepPreferences.fillColor =
String(app.activeDocument.swatches[colorIndex].name);
Samotn´a funkce changeGrep() je vol´ana bud’ na celou textovou ˇc´ast
(podle rozsahu prohled´avan´eho textu) nebo na jednotliv´e poloˇzky pole podle
vyhodnocen´ı funkc´ı.
myChangedText = myFoundText[y].changeGrep();
myChangedText = mySearchSelection.changeGrep();
3.6
Ukonˇ
cen´ı skriptu
Po skonˇcen´ı skriptu je uˇzivateli zobrazeno dialogov´e okno s v´
ysledkem pr˚
uchodu dokumentem, vizte obr´azek 3.3. Jsou zde shrnuty poˇcty zamˇenˇen´
ych
v´
yraz˚
u v jednotliv´
ych skupin´ach a d´ale je v dialogu uvedena tabulka s v´
yrazy,
kter´e skript nalezl, ale nemohl rozhodnout o jejich spr´avnosti (napˇr. hodiny
a minuty).
3.7
Rozˇ
s´ıˇ
ren´ı skriptu
Skript pro automatickou kontrolu oˇsetˇruje nejˇcastˇejˇs´ı a z´akladn´ı typografick´e
chyby, jak byly jmenov´any v´
yˇse. Z´aroveˇ
n nab´ız´ı uˇzivateli moˇznost doplnit si
skript o dalˇs´ı regul´arn´ı v´
yrazy s pˇr´ıznakem r. Regul´arn´ı v´
yrazy staˇc´ı zapsat do
konfiguraˇcn´ıho souboru FindList.txt, stejnˇe jako jsou tam zaps´any st´avaj´ıc´ı
regul´arn´ı v´
yrazy.
25
Praktick´a ˇc´ast
Rozˇs´ıˇren´ı skriptu
U t´eto verze skriptu je potˇreba po doplnˇen´ı regul´arn´ıch v´
yraz˚
u oˇsetˇrit
jednu skuteˇcnost, aby skript neskonˇcil chybov´
ym hl´aˇsen´ım. Po uloˇzen´ı zmˇen
v souboru FindList.txt mus´ı b´
yt ve stejn´em adres´aˇri smaz´an konfiguraˇcn´ı
soubor Config.txt. Po opˇetovn´em spuˇstˇen´ı skriptu je vytvoˇren nov´
y konfiguraˇcn´ı soubor, ve kter´em jsou jiˇz zaznamen´any u
´daje k novˇe doplnˇen´
ym
ˇc´astem prohled´av´an´ı. Toto bylo ve skriptu zohlednˇeno i vzhledem k tomu, ˇze
by uˇzivatel soubor Config.txt smazal. V dalˇs´ım zpracov´an´ı skriptu by bylo
pˇr´ınosn´e tuto situaci oˇsetˇrit v r´amci samotn´eho skriptu.
Skript je navrˇzen tak, aby bylo moˇzn´e jej d´ale rozˇs´ıˇrit u
´pravou uvnitˇr
skriptu. Staˇc´ı doplnit regul´arn´ı v´
yrazy s pˇr´ıznakem f do konfiguraˇcn´ıho souboru a k nim pˇr´ısluˇsn´e oˇsetˇruj´ıc´ı funkce pˇr´ımo do skriptu. Jednotliv´e oˇsetˇruj´ıc´ı
funkce jsou ˇc´ıslov´any a ˇc´ıslo odpov´ıd´a ˇc´ıslu ˇca´sti v konfiguraˇcn´ım souboru.
Nov´a oˇsetˇruj´ıc´ı funkce mus´ı m´ıt n´azev myControl’ˇ
cı
´slo c
ˇa
´sti’() a pouˇzij´ı
se parametry, kter´e jsou stejn´e pro vˇsechny kontroln´ı funkce.
Pro praktick´e pouˇzit´ı by bylo vhodn´e dialogov´e volby rozˇs´ıˇrit o nab´ıdku
vytvoˇren´ı kopie prohled´av´an´eho dokumentu a samotn´e prohled´av´an´ı prov´adˇet v t´eto kopii. D´ale by bylo moˇzn´e nab´ıdnout uˇzivateli v´
ybˇer oznaˇcovac´ı
barvy pro v´
yrazy, kter´e skript neum´ı rozhodnout. V tuto chv´ıli je ve skriptu
pro tyto situace barva pevnˇe nastavena.
Pro pˇr´ıjemnˇejˇs´ı uˇzivatelsk´
y pˇr´ıstup pˇri dopˇ
nov´an´ı vlastn´ıch regul´arn´ıch
v´
yraz˚
u (v reˇzimu nalezen´ı a automatick´e n´ahrady) by bylo uˇziteˇcn´e doplnit
dalˇs´ı skript, kter´
y by nab´ızel dialogov´e okno, kam by uˇzivatel mohl sv´e regul´arn´ı v´
yrazy zadat. Skript by je pak ve spr´avn´em form´atu a ˇrazen´ı zapsal do
konfiguraˇcn´ıho souboru FindList.txt.
26
4 Z´avˇer
V pr˚
ubˇehu realizace projektu jsem postupnˇe musela ˇreˇsit ˇradu d´ılˇc´ıch u
´kol˚
u,
kter´e znesnadˇ
novaly tvorbu skriptu. R˚
uzn´e komplikace vyvst´avaly pˇri pouˇz´ıv´an´ı funkc´ı JavaScriptu pod InDesignem. Pˇri testech jsem narazila na to,
ˇze p˚
uvodn´ı myˇslenku, jak kontrolovat jednotliv´e v´
yrazy ve funkc´ıch, mus´ım
pozmˇenit, napˇr´ıklad kv˚
uli pouˇz´ıv´an´ı speci´aln´ıch znak˚
u v InDesignu. S t´ım
se objevila ˇrada dalˇs´ıch u
´kol˚
u, kter´e bylo nutn´e v r´amci inovovan´eho n´avrhu
kontroly prov´est. Nakonec se mi podaˇrilo vytvoˇrit funkˇcn´ı skript, kter´
y nejenom automaticky zamˇenuje vyhledan´e v´
yrazy, ale podle potˇreby je analyzuje
a vyb´ır´a vhodn´e ˇreˇsen´ı pro konkr´etn´ı situace.
Pˇri snaze nab´ıdnout uˇzivateli moˇznosti v´
ybˇeru, jak m´a skript s dokumentem pracovat, jsem musela ˇreˇsit situace, jak propojovat fungov´an´ı samotn´eho
vyhled´av´an´ı s ostatn´ı nab´ıdkou. Tak´e samotn´e kontroln´ı funkce ve vyhled´av´an´ı s sebou pˇrinesly ˇradu u
´kol˚
u k ˇreˇsen´ı.
Kromˇe sezn´amen´ı se samotn´
ym skriptov´an´ım v JavaScriptu jsem si prostudovala pr´aci v InDesignu. Zaj´ımav´e pro mˇe bylo prozkoumat, jak´
ym zp˚
usobem instrukce skritpu zach´azej´ı s objekty v InDesignu, s jejich vlastnostmi
a metodami. D´ale jsem si vyzkouˇsela pr´aci s regul´arn´ımi v´
yrazy, nav´ıc dopln
ˇenou o pouˇz´ıv´an´ı regul´arn´ıch v´
yraz˚
u ve funkc´ıch vypracovan´
ych pˇr´ımo pro
InDesign.
27
Literatura
[1] Koˇciˇcka, Pavel – Blaˇzek, Filip. Praktick´a typografie. Brno: Computer
Press, 2004.
[2] Suehring, Steve. JavaScript: krok za krokem. Brno: Computer Press,
2004.
[3] Adobe System Incorporated. InDesign CS Scripting Guide, California:
Adobe Systems Incorporated, 2003.
[4] Adobe System Incorporated. Adobe InDesign CS3 Scripting Guide: JavaScript. California: Adobe Systems Incorporated, 2007.
[5] InDesign Scripting Reference. [online] Dostupn´e z:
http://www.indesignscriptingreference.com/CS3/JavaScript/
[6] Krejˇc´ı, Richard. Skriptov´an´ı InDesingu. Richard Krejˇc´ı, 2006. [online]
Dostupn´e z: http://www.grafika.cz/art/sazba/skriptid1.html
[7] Krejˇc´ı,
Richard.
Adobe
InDesign
GREP.
Richard
Krejˇc´ı,
2007.
[online]
http://www.grafika.cz/art/sazba/idcs3grep.html
CS3
zbl´ızka:
Dostupn´e
z:
[8] Satrapa, Pavel. Regul´arn´ı v´yrazy. Vytvoˇreno pro on-line magaz´ın root.
Pavel Satrapa, 2000. [online] Dostupn´e z: http://www.kit.tul.cz/ satrapa/docs/regvyr/
[9] Pecka, Miroslav. Regul´arn´ı v´yrazy a JavaScript. Miroslav Pecka,
2005. [online] Dostupn´e z: http://interval.cz/clanky/regularni-vyrazya-javascript-uvod/
28
Seznam tabulek
2.1
Chybn´e v´
yrazy s pouˇzit´ım teˇcky . . . . . . . . . . . . . . . . .
7
2.2
Chybn´e v´
yrazy s pouˇzit´ım otazn´ıku a vykˇriˇcn´ıku . . . . . . . .
8
2.3
Chybn´e v´
yrazy s pouˇzit´ım ˇc´arky . . . . . . . . . . . . . . . . .
9
2.4
Chybn´e v´
yrazy s pouˇzit´ım tˇrech teˇcek . . . . . . . . . . . . . .
9
2.5
Chybn´e v´
yrazy s pouˇzit´ım dvojteˇcky . . . . . . . . . . . . . . 10
2.6
Chybn´e v´
yrazy s pouˇzit´ım z´avorek . . . . . . . . . . . . . . . 11
2.7
Chybn´e v´
yrazy s pouˇzit´ım ˇc´ısel . . . . . . . . . . . . . . . . . 12
2.8
Chybn´e v´
yrazy pˇri z´apisu ˇcasu . . . . . . . . . . . . . . . . . . 12
29
Seznam obr´
azk˚
u
3.1
Dialogov´e okno po spuˇstˇen´ı skriptu . . . . . . . . . . . . . . . 18
3.2
Dialogov´e okno pro nahrazen´ı jednotliv´
ych vyhledan´
ych v´
yraz˚
u 20
3.3
Dialogov´e okno s nab´ıdkou nastaven´ı druh´eho pr˚
uchodu pˇri
obarvov´an´ı textu . . . . . . . . . . . . . . . . . . . . . . . . . 21
30
Pˇ
r´ılohy
Pˇr´ıloha A. Uˇzivatelsk´
y manu´al
Pˇr´ıloha B. Pˇriloˇzen´e CD
31
A Uˇzivatelsk´y manu´al
Skript MyTypo_CS3 je urˇcen pro automatickou kontrolu typografie podle pravidel hladk´e sazby v programu Adobe InDesign. Skript je vytvoˇren pro verzi
CS3 a vyˇsˇs´ı.
Uloˇ
zen´ı skriptu
Celou sloˇzku se skriptem i konfiguraˇcn´ımi soubory je potˇreba uloˇzit do sloˇzky,
kterou InDesign pouˇz´ıv´a pro pr´aci se skripty. Cesta ke sloˇzce je n´asleduj´ıc´ı:
• Mac OS Users/[jm´eno uˇzivatele]/Library/Preferences/Adobe InDesign/[verze]/([jazyk])/Scripts/Scripts Panel,
• Windows XP Documents and Settings\[jm´eno uˇzivatele]\ApplicationData\Adobe\InDesign\[verze]\([jazyk]\)Scripts\Scripts Panel,
• Windows Vista a Windows 7 Users\[jm´eno uˇzivatele]\AppData\Roaming\Adobe\InDesign\[verze]\([jazyk]\)Scripts\Scripts Panel.
Spuˇ
stˇ
en´ı skriptu
V InDesignu se skripty zobraz´ı v paletce Skripty InDesignu. Panel s nab´ıdkou dostupn´
ych skript˚
u je moˇzn´e v r˚
uzn´
ych verz´ıch aktivovat n´asleduj´ıc´ım
zp˚
usobem:
• verze CS3: Okna – Automatizace – Skripty,
• verze CS4: Okna – Automatizace – Skripty,
• verze CS5: Okna – Pom˚
ucky – Skripty,
Samotn´
y skript se spouˇst´ı souborem MyTypo_CS3.
32
Uˇzivatelsk´y manu´al
Dialogov´
e okno skriptu
Po spuˇstˇen´ı se zobraz´ı dialogov´e okno skriptu s nab´ıdkou v´
ybˇeru.
Obr..: Dialogov´e okno skriptu
Upozornˇen´ı: Vaˇse nastaven´ı dialogov´eho okna bude po spuˇstˇen´ı skriptu
zapamatov´ano a uloˇzeno. Pˇri dalˇs´ım spuˇstˇen´ı skriptu je v dialogov´em oknˇe
zobrazeno vaˇse posledn´ı nastaven´ı.
Rozsah kontroly
V ˇca´sti rozsahu kontroly m˚
uˇzete vyb´ırat z jednotliv´
ych nab´ıdek jak´e typografick´e probl´emy maj´ı b´
yt vyhled´any. Vyb´ırat m˚
uˇzete jak jednotliv´e ˇc´asti,
tak je zde um´ıstˇena nab´ıdka pro prohled´an´ı vˇsech pˇr´ıpad˚
u.
Zp˚
usob u
´ prav
Skript pro kontrolu typografie v´am umoˇzn
ˇuje vyhledan´e v´
yrazy oznaˇcovat
r˚
uzn´
ym zp˚
usobem.
V´
yrazy je moˇzn´e automaticky nahradit a neoznaˇcovat je ˇz´adn´
ym zp˚
usobem.
Vyhledan´e v´
yrazy skript m˚
uˇze nahradit a oznaˇcit tagem s n´azvem Zmeneny_text.
Pokud vyberete nahrazen´ı v´
yrazu a oznaˇcen´ı barvou, aktivuje se v´am
panel s v´
ybˇerem barvy podle vaˇseho vzorn´ıku barev.
33
Uˇzivatelsk´y manu´al
Kromˇe automatick´eho nahrazov´an´ı v´
yraz˚
u je moˇzn´e problematick´a m´ısta
textu nechat skript pouze vyhledat. Opˇet je moˇzn´e pouˇz´ıt oznaˇcen´ı pomoc´ı
tagu s n´azvem Nelezeny_text.
I v pˇr´ıpadˇe pouh´eho vyhled´an´ı v´
yraz˚
u je m˚
uˇzete oznaˇcit barvou podle
vaˇseho v´
ybˇeru ze vzorn´ıku.
Jako posledn´ı v´am skript nab´ız´ı vyhled´av´an´ı v´
yraz˚
u a pr˚
ubˇeˇzn´e upozorn
ˇov´an´ı na nalezen´a m´ısta. Pˇri upozornˇen´ı je vyhledan´e m´ısto oznaˇceno v´
ybˇerem a zobrazeno je dialogov´e okno s n´avhrem, jak m´a b´
yt v´
yraz nahrazen.
Po potvrten´ı je z´amˇena provedena, pˇri stornov´an´ı z˚
ustane v´
yraz p˚
uvodn´ı.
Kde prohled´
avat
I u m´ıst prohled´av´an´ı m´ate moˇznost si vybrat z nˇekolika nab´ıdek. Ve vˇsech
pˇr´ıpadech mus´ı otevˇren´
y dokument obsahovat text, jinak se skript ukonˇc´ı.
Pˇri volbˇe V´ybˇer je potˇreba m´ıt vybranou a oznaˇcenou ˇca´st textu pro prohled´av´an´ı. Vˇsechny otevˇren´e dokumenty jsou prohled´av´any postupnˇe.
Rozˇ
s´ıˇ
ren´
a pr´
ace se skriptem
Skript v´am nab´ız´ı moˇznost rozˇs´ıˇrit prohled´av´an´ı o dalˇs´ı regul´arn´ı v´
yrazy,
kter´e slouˇz´ı k prohled´av´an´ı textu. Vˇsechny regul´arn´ı v´
yrazy jsou uloˇzen´e v samostatn´em souboru s n´azvem FindList.txt. Tento soubor spolu s ostatn´ımi
naleznete ve sloˇzce skriptu (MyTypo).
Otevˇrete soubor FindList.txt.
Na konec souboru um´ıstˇete sv´e nov´e regul´arn´ı v´
yrazy podle n´asleduj´ıc´ıch
pravidel:
• Na prvn´ı ˇr´adek zapiˇste ˇc´ıslo ˇc´asti s popisem, kter´
y se objev´ı v zaˇskrt´avac´ı nab´ıdce v dialogov´em oknˇe po spuˇstˇen´ı skriptu v n´asleduj´ıc´ım
tvaru:
– castmezera [ˇ
c´
ıslo regul´
arn´
ıho v´
yrazu]tabulator [popis ˇ
ceho
se regul´
arn´
ı v´
yraz t´
yk´
a]
34
Uˇzivatelsk´y manu´al
• Na nov´
y ˇra´dek zapiˇste samotn´
y regul´arn´ı v´
yraz a v´
yraz, za kter´
y bude
nahrazen podle n´asleduj´ıch pravidel:
– jako prvn´ı mus´ı b´
yt oznaˇcen´ı v´
yrazu p´ısmenem r (nesm´ı b´
yt oznaˇcen´ı f, skript by potom nefungoval)
– za tabul´atorem je v uvozovk´ach uveden text nebo regul´arn´ı v´
yraz
pro prohled´an´ı
– za dalˇs´ım tabul´atorem je opˇet v uvozovk´ach uveden text nebo
regul´arn´ı v´
yraz, kter´
ym m´a b´
yt vyhledan´a ˇca´st nahrazena
– opˇet um´ıstit tabul´ator a napsat si popis, o ˇcem regul´arn´ı v´
yraz je
Pˇr´ıklad:
cast xx
z´amˇena pozdravu
r
”Ahoj”
”Dobr´
y den”
popis v´
yraz˚
u
Pozn: ˇc´ıslo regul´arn´ıho v´
yrazu nastavte jako dalˇs´ı n´asleduj´ıc´ı ˇc´ıslo, kter´e je
v dokumentu uvedeno.
Pozor, v t´eto verzi skriptu je potˇreba po doplnˇen´ı nov´
ych regul´arn´ıch
v´
yraz˚
u do souboru FindList.txt smazat konfiguraˇcn´ı soubor Config.txt.
Ten bude po spuˇstˇen´ı skriptu znovu vytvoˇren a budou v nˇem zohlednˇeny
novˇe vloˇzen´e v´
yrazy.
35
B Pˇriloˇzen´e CD
Obsah pˇriloˇzen´eho CD:
• Zdrojov´
y k´od skriptu vˇcetnˇe potˇrebn´
ych konfiguraˇcn´ıch dokument˚
u,
• text bakal´aˇrsk´e pr´ace ve form´atu pdf.
36
Download

Kontrola typografie v Adobe InDesign