PageStream 3.1Luboš Němec
Dokončení článku z předcházejícího čísla Každý dokument můžete obsahovat maximálně 9999 stran nebo kapitol. Každá z
kapitol může mít opět maximálně 9999 stran nebo podkapitol a tak bychom mohli
pokračovat do nekonečna, takže celkový počet stran v dokumentu vlastně není
omezen. Nastavení vlastností dokumentu se provádí z menu „Layout“ nebo z
dokumentová či stránkové palety. Přesuny stran či celých kapitol, vkládání
nových či mazání starých stran můžete provádět buď z menu, což je dost
nepohodlné a pracné opět v dokumentové a stránkové paletě. Jednotlivé stránky
mohou mít až 99 sloupců v každém textovém rámečku, běžně využijete tak maximálně
8 sloupců, na stranách A3 a větších možná o něco více. S měřítky a přesností
usazení textu či grafiky si nemusíte dělat starosti, PageStream 3 pracuje s
přesností jedné tisíciny milimetru. Pro přesné usazení především grafiky na
stránce Vám pomůže funkce „Align“ (obr. 8), v některých případech také funkce
„Transform“ a také editační paleta v objektovém módu.
Každý z textových sloupců může být sloučen s libovolným dalším, samozřejmě vůbec
nezáleží na tom, na které stránce se který sloupec nachází. Text se pak bude
přelévat podle pořadí, ve kterém byly textové sloupec sloučeny.
Obtékání grafiky textem se volí z menu „Object“, položka „Text Wrap“ (obr. 9).
Text může obtékat grafiku celkem šesti způsoby, buď podle pravoúhlého obrysu
nebo podle křivek, odstupy textu od křivky se zadávají také v tomto requesteru.
U bitmapových obrázků s bílým podkladem si můžete vygenerovat masku (opět z menu
„Object“) a nechat obrázek obtéct kolem jeho obrysů. V původní verzi PageStreamu
3 to sice mělo fungovat trochu jinak (a mnohem lépe), generování masek je dle
mého názoru nepříliš šťastné řešení. Jestli čekáte při práci s grafikou nějaký
alfakanál nebo překrývání či dokonce míchání barev přímo na obrazovce, asi Vás
zklamu, ale PageStream 3.1 nic takového nepodporuje. U vektorové grafiky musíte
před obtečením textu podle křivek obrázek nejprve demontovat na jednotlivé části
(„Dissolve Drawing“ z menu „Object“), aby program poznal, kudy křivky vedou a
obrázek mohl správně obtéct.
Bitmapové obrázky lze importovat ve formátech IFF ILBM, IFF ILUS (vlastní formát
používaný v programech SoftLogiku), BMP, GIF, PCX, MacPaint/PICT, TIFF a s
dodatkovým filtrem i ve formátu JPEG, vektorovou grafiku zná PageStream 3 ve
formátech EPS/EPSF (AdobeIllustrator, AldusFreehand, ArtExpression a klasické
EPS postscriptové formáty), DR2D a Draw4D/ProDraw. Datatypy nejsou kupodivu
vůbec podporovány (a podle SoftLogiku je nehodlají využívat nikdy!), a i když
PageStream 3 zná slušné množství grafických formátů, musím to v dnešní době
považovat za nedostatek. Některé EPS filtry mají z důvodů kompatibility určitá
omezení spočívající v nemožnosti importovat některé typy textových objektů ze
zmíněných vektorových kreslicích programů, texty na křivkách, objekty vyplněné
vzory definovanými uživatelem atd. JPEG filtr exportuje zatím jen 24bitové
obrázky a s výjimkou formátu IFF ILUS nelze exportovat bitmapovou grafiku ve
vektorových formátech a naopak. Nějaký pochybný soubor se při tom sice vytvoří,
ale bitmapový obrázek v něm rozhodně uložen není a při zpětném importu uvidíte
pouze prázdný rámeček. Binární i ASCII postscriptové soubory bez náhledu se
pochopitelně zobrazí jen jako rámeček, u ostatních EPS/EPSF formátů
(ArtExpression, AdobeIllustrator atd.) funguje zobrazování bez problémů.
Vektorovou grafiku nakreslenou přímo v PageStreamu 3 můžete exportovat opět
pouze ve vektorových formátech DR2D a AdobeIllustrator (EPSF) u také IFF ILUS.
Opět s výjimkou formátu IFF ILUS a textu převedeného ještě před importem do
křivek při exportu ovšem text zmizí, ve formátu IFF ILUS je navíc převeden do
křivek a ztrácí tak veškeré výhody textového objektu. Některé doplňkově
informace o importované grafice jako aktuální velikost, cestu k souboru a jeho
formát si můžete prohlédnout nebo definovat v menu „Edit“, položka „Object
Information“ (obr. 10). Každý nahraný obrázek může být už při importu nebo
dodatečně právě z menu „Object Information“ zvolen jako externí (s dokumentem se
pak k němu ukládá jen odkaz s cestou), u bitmapových obrázků navíc PageStream 3
vygeneruje a ukazuje jen jejich náhled. Zobrazování bitmapové i vektorové
grafiky se dá vypnout/zapnout ve všeobecných preferencích, zobrazovány jsou pak
jen klasické přeškrtnuté rámečky.
Při importu textu nemusíte vytvářet textový rámeček, program si ho dokáže
vytvořit sám nebo nahraný text považuje za neohraničený textový objekt.
PageStream 3.1 obsahuje sextové filtry pro formáty ASCII, Excellence,
FinalCopy/FinalWriter, IFF CTXT (formát textu PageStreamu 3), IFF DOC/DTXT
(formáty starších verzí PageLineru), IFF FTXT (IFF formát textu používaný na
Amize) ProWrite, RTF, Wordperfect, Wordworth a dokumentové filtry (pro nahrání
celých dokumentů včetně grafiky!) pro formát ProfessionalPage a samozřejmě také
pro PageStream2, dokoupit lze dokumentový filtr pro Wordworth. Dokumentové
filtry využívají také svůj fontlist (obyčejný ASCII soubor) pro jednoduché
substituce fontů. Mimo ASCII filtr převádí (pokud je to u daného formátu možné)
všechny textové i dokumentové filtry rovněž styly a formátování textu (volba
„Retain Formatting“). Text bohužel nemůže být podobně jako obrázky externí, tuto
volbu SoftLogik definitivně odstranil. Když jsem se zeptal proč, odpověď zněla
jen: „z technických příčin“, což mi připomíná jeden nechvalně známý slogan „pro
nepřekonatelný odpor“. Nejrychleji jsou samozřejmě importovány ASCII texty, u
ostatních formátů závisí doba filtrování především na délce textu. Například
dokument z FinalWriteru o rozsahu 50 stran A4 je nahrán za cca 2 minuty, ASCII
text stejného rozsahu ale už jen za 15 sekund! Vzhledem k tomu, že se text po
importu obvykle stejně ještě upravuje a formátuje znovu, je-li to v dané situaci
možně, je nejvýhodnější importovat pouze ASCII texty. Exportovat můžete text ve
formátech ASCII, IFF CTXT, IFF FTXT a Wordworth. Při importu i exportu textu lze
zvolit textové kódy, což jsou většinou skupiny ASCII znaků představující
nejrůznější formátovací znaky, dělení slov, rozmístění tabulátorů, pevné mezery
apod. PageStream 3 zná kódy používané v programech QuarkXPress, PageMaker,
ProfessionalPage, no a pochopitelně také svoje kódování. Při importu ASCII textů
si navíc si můžete vybrat z typů znakových sad Amigy, Macintoshe, Windows nebo
MS-DOSu. Díky nekompatibilitě norem češtiny používaných na Amize, PC a Macu
přijdete při jiné zvoleně sadě než typ „Amiga“ o nabodeníčková písmenka, která
se nahradí znaky používanými kódováním na zvolené platformě. Volba kódování
znakových sad je užitečná pouze při importu/exportu jiných než
českých/slovenských textů. S nahráváním dokumentů ve formátu PageStreamu 2
souvisí ještě utilitka „Fontlistv2Analyzer“, která umí prozkoumat fontlisty z
verze 2 a uložit jejich seznam pro případné substituce fontů. Konverzi dokumentů
z PageStreamu 2 je vůbec věnována značná pozornost, ostatně vždyť se jedná o
program stejné firmy, takže to pokládám za samozřejmost.
Další možností je při importu (obr. I1) nebo psaní textů přímo v PageStreamu
nastavit převádění jednoduchých uvozovek a pomlček („Convert Quotes“ a „Convert
Dashes“) na jejich typografické ekvivalenty nebo že z konce každého řádku má být
odstraněn znak LF (ASCII kód 10). Při psaní v PageStreamu 3 (velký obrázek) to
funguje také, příslušné volby „Smart Quotes“ a „Smart Dashes“ se nastavují ve
všeobecných preferencích. Ihned po napsání se převádí jednoduché i dvojité
uvozovky, dvě obyčejné pomlčky psané za sebou se převedou na střední pomlčku
(endash) a tři mezery na dlouhou pomlčku (etudash). Ve fontových sadách, které v
PageStreamu 3 používáte, musíte samozřejmě mít tyto znaky na správných místech!
V poměrně rozšířených českých Intellifontech v nosně KOI8 distribuovaných firmou
Amiga Info jsou tyto potřebné znaky úplně někde jinde, ale naštěstí není problém
je v nějakém fontovém editoru na příslušná místa přidat. V současné době mám
navíc k dispozici cca 250 českých AT1I i Intellifontů v normách KOI8 a E2, které
potřebné znaky obsahují a s nimiž konverze a chytré uvozovky i pomlčky
spolehlivě fungují.
Definování textových a objektových stylů (obr.12) přímo souvisí s vlastnostmi
textu neboli „Attributes“ (obr. 13). Nastavit se dá naprosto vše, co budete kdy
pro text a objekty potřebovat a PageStream 3 v možnostech a bohatosti definování
stylů vysoce převyšuje všechny mne dosud známé programy pro Amigu a také
naprostou většinu textových editorů a DTP programů pro PC a Macintosh. Protože
je text chápán jako druh grafiky, můžete při jeho úpravách nebo definování stylů
použít také „Line & Fill“ (obr. 14), u bitmapové a vektorové grafiky je to
samozřejmé. Dále můžete nastavit šířku mezery mezi jednotlivými písmenkovými
páry („Kerning“), dělení slov („Hyphenation“), rozpal mezi písmenky
(„Tracking“), řádkování („Leading“), formátování textu („Paragraph“) včetně
oblíbeného „Drop Cap“, tabulátory („Tabs“) a volně lze také definovat různé
fontové styly jako je italika, podtržený, inverzní a stínovaný text, písmenka
nad a pod linkou (superscript a subscript) a tzv. „Smalt Caps“. Jednodušší forma
textového stylu je „Character Style“, u níž můžete definovat pouze typ fontu,
jeho velikost a šířku, fontové styly a „Line & Fill“.
U objektových stylů lze nastavit pouze „Line & Fill“. Z tohoto requesteru se
také dají provádět různé hrátky se zakončením čar, na každou stranu čáry můžete
aplikovat libovolný ze 14 dostupných typů zakončení. Některé z typů zakončení si
můžete prohlédnout na velkém obrázku. Pomocí „Line & Fill“ můžete také vytvářet
zajímavé efekty, dva příklady (jeden ve spojení s TextFX) si můžete prohlédnout
na velkém obrázku.
Do dokumentu můžete z menu „Text“ vkládat mnoho typů kódů používaných pro
formátování textu a další funkce jako číslování stran a kapitol, datum, čas atd.
PageStream 3 je také zatím jediným programem na Amize, který dokáže plně využít
intellifontový „plugin.types“ engine, který obsahuje nejrůznější matematické
znaky, řeckou abecedu, mnoho obrázkových symbolů a já nevím, čeho všeho ještě.
Tyto speciální znaky se automaticky objeví u každého použitého fontu a můžete je
do textu vložit klávesovou zkratkou nebo myší. V souvislosti s textem se musím
zmínit o kódováni fontu, které PageStream 3 také podporuje. Jedná se o tzv.
„Unicode“ (v současnosti ho používají např. Windows95) neboli univerzální
kódování, kdy jeden font může obsahovat něco přes 65000 znaků. Vložení znaků
klávesovou zkratkou funguje po stlačení kombinace kláves „CTRL D“ a „CTRL C“.
První kombinace aktivuje vstup unikódu a musíte poté napsat 5ti místné číslo
znaku (které se pochopitelně nezobrazuje), druhá kombinace pak vyžaduje zadání
dvou znaků opět vyvolávajících požadovaný znak z unikódu. Příslušné číselné
kombinace a znakové zkratky se dozvíte v manuálu nebo z menu „Type“, položka
„Insert Character“ (obr. 15), kde můžete znaky vkládat pouhým kliknutím myší. To
sice je pohodlné, ale pro častější používání zcela nevhodné, takže nezbývá než
doporučit, abyste si klávesové kombinace prostudovali - nejtypičtějším příkladem
pro využívání klávesových zkratek je asi psaní matematických výrazů nebo rovnic.
Dalším typem grafiky, která může být do textu vložena, jsou tzv. ukotvené
objekty (anchored objects) vkládané do textu obyčejným „Cut/Copy/Paste“. Takto
vložené objekty (viz. velký obrázek) se přímo váží na slovo, písmenko či text,
kam byly umístěny a cestují s ním při změnách formátování. Kotvení je u
PageStreamu 3.1 zatím ještě v plenkách, jednou ukotvený objekt nelze nijak
editovat, můžete jej pouze smazat. Každý písmenkový pár v libovolném fontu může
mít svůj vlastní kerning, který může PageStream 3 zvolit automaticky nebo ho
můžete upravit ručně z menu „Type“. Editační paleta
Protože editační paleta v sobě obsahuje velmi důležité funkce (některé z
nich se dokonce nedají ovládat z ničeho jiného), věnuji jí následujících pár
řádek. Editační paleta se automaticky mění dle typu textových a grafických
objektů. PageStream 3 používá dva typy editační palety - textovou a objektovou,
z nichž textová sc dá ještě přepínat z typu „character mode“, kde se vybírá typ
velikost, šířka a typ fontu, řádkování, rozpal písmen, fontové a charakterové
styly (viz. grafika a text), na typ „paragraph mole“, ze které se ovládají
klasické textové styly a všechno co souvisí s formátováním textu. Objektová
editační paleta je jediným editovacím nástrojem na přesnou změnu velikosti
objektů v bodech či procentech, dále umožňuje rotace a naklánění a zrcadlení
objektů, zamčení objektu, jeho přepnutí do popředí/pozadí či zákaz tisku objektu
a volá se z ní též externí modul TextFX (u PageStreamu 3.2 slouží stejný gadget
také pro efekty s obrázky bez nutnosti spuštění BME). Editační paleta v
objektovém módu se také používá pro úpravu vektorové grafiky kreslené v
PageStreamu 3 a pouze z ní se dají měnit tvary jednotlivých typů geometrických
útvarů (viz. velký obrázek), což je další poměrně nenápadnou, ale velmi
užitečnou vlastností programu. BitmapEditor a PageLiner
Společně s PageStreamem 3 dostanete také bitmapový grafický a efektový
editor BME a textový editor PageLiner. S oběma umí PageStream 3 přímo
spolupracovat přes clipboard a protokol zvaný HotLinks (nejedná se ale o
doplňkový program stejného názvu dokoupitelného k v2.2 a není s ním ani
kompatibilní). Text a bitmapová grafika se posílají do editorů z menu „Edit“
položkou „Send to Editor“, pro vektorovou grafiku musíte mít další vhodný editor
s podporou ARexxu. Samozřejmě nemusíte posílat text či grafiku jen do BME nebo
PageLineru, opět je však podmínkou, že použité editory musí umět využívat ARexx.
S PageStreamem 3 dostanete i arexxové skripty připravené posílat texty a
vektorovou grafiku do TurboTextu a ProVectoru 3 (nová verze vektorového
kreslicího programu firmy Stylus), další skript dostupný na Aminetu pak do
oblíbeného Cygnusu. Pro jiné editory si musíte skripty upravit (není to není moc
složité) nebo napsat celé sami (to už složité je), myslím však, že si vystačíte
i s vyjmenovanými programy a skripty.
BME (obr. 16) je jednoduchý grafický editor postrádající obvyklé kreslící funkce
a je určen téměř výhradně pro efekty, ořezy a výřezy obrázků a také k převádění
bitmapové grafiky do vektorového formátu. Pracuje interně ve 24 bitech, na AGA
amigách umí zobrazit až 256, na grafických kartách pod systémem CyberGraphX pak
až 16 mil. barev. Používá stejné grafické rozhraní jako PageStream 3 a dá se
také ovládat pomocí ARexxu. Efektů dodávaných společně s BME není mnoho a
chcete-li BME jako efektový editor používat, koupi dalších efektů (Garys
Effects) mohu vřele doporučit. Jinak funguje BME poměrně slušně, kreslit se dá
jen perem po jednotlivých bodech, konvertovat obrázky a měnit jejich rozměry či
dělat výřezy. Konverze do vektorového formátu funguje také spolehlivě,
truecolorové obrázky však zvektorizovat nelze. Přesnost vektorizace se dá
ovlivnit několika parametry, nastavit si můžete třeba jen převod čar bez křivek
a stupeň ignorování detailů. PageLiner je taktéž jednoduchý a velmi rychlý ASCII
textový editor, který umí pracovat s tabulátory a spellerem a má volně
definovatelné GUI včetně funkčních kláves. Stejně jako a PageStream 3 a BME i
PageLiner můžete plně ovládat přes ARexx a využívat ho nejen ve spojení s
PageStreamem. PageLiner umí také kontrolovat pravopis, tato volba byla totiž ze
samotného PageStreamu 3 definitivně vypuštěna. K dispozici je zatím speller pro
angličtinu, v německé a francouzské lokalizace PageStreamu 3 snad i pro tyto dva
jazyky, uživatelský slovník si ale můžete definovat dle libostí. Jiné problémy s
češtinou PageLiner nemá a je tedy všestranně použitelný. Virtuální paměť, Undo a Redo
Nestačí-li při některé grafické operaci s obrázkem paměť, použije PageStream
3 virtuální a všechny operace včetně překreslování obrazovky se děsivě zpomalí.
Bohužel v žádných preferencích přímo z programu se nedá používání virtuální
paměť vypnout (v BME však ano!) a protože nelze ani prováděnou operaci zrušit,
musíte pokorně počkat, až se operace dokončí a raději si více s nedostatkem
paměti nezahrávat a pořídit si pořádného SIMMíka. Virtuální paměť je všeobecně
hodně pomalá, u PageStreamu a BME to však platí několikanásobně, proste žádný
zázrak. Používat s PageStreamem 3 a BME externí virtuálky v žádném případě
nedoporučuji, oba programy se s nimi rádi hroutí a odnesou to jen Vaše data. Na
nic jiného než práci s obrázky PageStream 3 případnou virtuální paměť nepoužívá,
takže jiné problémy v tomto ohledu nejsou. PageStream 3 a BME podporují funkce
Undo (o krok zpět) a Redo (o krok dopředu) v neomezeném rozsahu, PageLiner pouze
jednoúrovňové Undo - maximální počet Undo/Redo kroků se nastavuje ve všeobecných
preferencích. Při používání základních textových a grafických operací pracuje
funkce Undo/Redo celkem dobře a je opravdu neomezená, v menu „Edit“ se na místě
prvních dvou položek „Undo“ a „Redo“ přitom objevují názvy provedených operací.
Při několika složitějších operacích jako je např. funkce „Transform“ funguje
pouze jednoúrovňové Undo/redo a spojíte-li s grafickými funkcemi ještě textové
efekty, je toho na Undo/Redo už trochu mnoho a většinou lze opravit opět pouze 1
krok. Pro některé operace s textem i grafikou (např. „Convert to Path“ ale
dokonce i obyčejné „Delete“) není k dispozici Undo/Redo vůbec. Skripty, tvorba makropříkazů, dokumentace a nápověda
Jak už jsem se zmínil v úvodu, PageStream 3 má skvěle propracovaný systém
tvorby maker a skriptů. Všechny akce se dají zaznamenat a později přehrát nebo
vyexportovat jako arexxový skript. Vše se ovládá z menu „Scripts“ a skriptové
palety. Vytvořené makru (obr. 17) můžete přiřadit libovolné funkční klávese F1
až F10 v kombinace se všemi typy a kombinacemi přeřaďovačů, celkem máte tedy k
dispozici 80 programovatelných kláves. Práci s objekty v Arexxu zjednodušuje
identifikační číslo, které automaticky dostává každý aktivní objekt v
PageStreamu 3. S využitím ID čísel můžete jednoduše manipulovat v ARexxu s
libovolným objekty a odkazovat se na ně prakticky z jakéhokoliv dalšího programu
podporujícího ARexx. Hned po vydání verze 3.1 s plně funkčním makrojazykem se
objevilo na Aminetu několik velmi zajímavých a užitečných maker, např.
katalogizer obrázků, makra na tvorbu fontlistů, práci s objekty atd., něco přes
30 skriptů dostanete s PageStreamem 3 už hotových. Rozsáhlá dokumentace k
makrojazyku včetně příkladů vysvětlujících jednotlivé arexxové příkazy je pouze
ve formátu Guide a je dostupná z částečně kontextové nápovědy. Manuál k
samotnému programu má něco kolem 550 stran formátu B5 a v současné době
SoftLogik připravuje jeho aktualizace. pro verb 3.2, cena ještě nebyla stanovena
(levné to rozhodně nebude). Bez manuálu Vám zaručuji, že bez složitého zkoumání
nepochopíte ani polovinu věcí, které PageStream 3 nabízí, nápověda je ve verzi
3.1 značně skoupá a vysvětluje vše pouze povrchně nebo velmi obecně. Několik tipů
Následujících několik tipů v manuálu rozhodně nenajdete a zjistil jsem při
experimentování s programem. Takže za prvé - virtuální paměť v PageStreamu 3
přece jen DÁ VYPNOUT, do preferencí musíte ručně přidat řádek „USESCRATCH
FALSE“. Pak si ale volnou paměť hlídejte sami a objeví-li se při jejím
nedostatku najednou místo obrázku jen proškrtnutý obdélník a uložíte dokument, s
největší pravděpodobností ho už zpět do PageStreamu 3 nenahrajete. Rychlost
blikání kurzoru v textovém módu lze nastavit přidáním dalšího řádku
„SETCURSORFLASH n“, kde <n> je číslo od 0 do 255, čím nižší číslo, tím rychleji
kurzor bliká. Také jste si všimli, že od jedné z betaverzí PageStreamu najednou
zmizelo neustálé překreslování obrazovky bez nutnosti držet nějakou pomocnou
klávesu? Je sice pravda, že vypnutí neustálého refreshe obrazovky rychlosti
programu spíše prospělo, ale někdy se to může hodit. Permanentní refresh se
zapne pomocí „SETLIVEUPDATE SCROLL ON DRAG ON“. Další položkou v preferencích
„UPDATEFONTPATHS TRUE“ zapnete aktualizaci fontlistu a tedy i fontů dostupných
po každém spuštění programu. Řádek „SETDEFAULTFONTSPEC“ ovlivňuje hlavní font
použitý v requesterech, font smí být ovšem pouze osmibodový a měl by také být
neproporcionální. Závěrem
Tak rozsáhlý program, jakým PageStream bezesporu je, si i z hlediska
objektivity určitě zaslouží hodnocení ve dvou kategoriích - pro profesionální a
domácí použití. Nebudu znovu opakovat to, co si přečtete v hodnocení, jen dodám,
že PageStream 3 je zcela jasně nejlepším DTP programem na Amize a přesto, že je
vlastně jediný a může si to dovolit, nezaostává příliš za moderními DTP programy
na jiných platformách, v něčem je dokonce předstihuje. Program není žádný
rychlík, ale to, co potřebujete od DTP, z něj až na separace na nepostscriptová
zařízení spolehlivě dostanete. Komfortní ovládání a skvělý makrojazyk určitě
přispějí k úspěchům programu v oblasti domácího i profesionálního publikování.
Během měsíčního intenzivního používání mi program ani jednou nespadl, základní
podmínkou pro spolehlivou funkci je však dostatek paměti (pro DTP naprostá
nutnost!). Když totiž paměť dojde, začnou se dít opravdu zajímavé věci a
virtuálka vše spíše zhorší. SoftLogik slibuje i nadále podporovat svoje produkty
na Amize a verze 3.2 a doufejme, že později i vyšší, na sebe určitě nedá dlouho
čekat. Vytlačiť článok
Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.
Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing
none
|