Názor k článku Historie linuxových virů: moc jich není, ale existují od Lael Ophir - Ad PCL a jine "moderni" tiskove jazyky jsou...

  • Článek je starý, nové názory již nelze přidávat.
  • 24. 1. 2015 18:12

    Lael Ophir (neregistrovaný)

    Ad PCL a jine "moderni" tiskove jazyky jsou jen dusledkem toho udelat levnejsi tiskarnu, bez naroku na vlastni procesor a presunout vypocet na stranu tiskoveho klienta a posilat pokud mozno primo na model naformatovany rastr - to není tak úplně pravda. Různé tiskové jazyky používají různý popis stránky. Od bitmapy pro příští průjezd hlavy po papíru až po komprimované XML s vektorovým popisem stránky. Nepíšu pro root články, ale zkusím něco málo z historie PS a alternativ.

    Jehličkové tiskárny se krmily typicky přes ESC/P, tedy prakticky bitmapou. PS napsali v Adobe pro laserové tiskárny, se kterými začali u Applu. Ty měly na svou dobu velmi vysoké rozlišení, navíc je stránku nutné nanést na imaging drum (typicky selenový válec) v podstatě najednou. Přenos bitmapy by byl dlouhý, zvlášť přes tehdejší pomalý AppleTalk. To vedlo k modelu kdy do tiskárny pošlete poměrně malý PS program vygenerovaný aplikací, ten tiskárna spustí na silném CPU (svého času silnějším než měly Macy), vyrastruje tak výsledek do poměrně velké interní paměti, a nakonec ho vykreslí laserem na imaging drum.

    Tehdejší omezené drivery MacOS vedly k tomu že nově vzniklé DTP aplikace musely ve vlastní režii generovat PS kód pro tiskárny, podle parametrů v PPD souboboru. Je to dost příšerný postup, kdy se vlastně obcházejí drivery OS. Dneska to tak dělají jen historické DTP aplikace, plus to lze použít pokud máte PS tiskárnu (včetně image setteru). V "normálních" případech se používají drivery OS, které umí kreslit po jakémkoliv zařízení, včetně obrazovky, tiskárny a plotteru. Volání kreslicího API jsou prostě driverem přeložena do jazyka cílového zařízení. K tomu samozřejmě OS umožňuje rozšířit komunikaci s tiskárnou o zjištění stavu toneru/inkoustu, čistění mechanismu atd.

    Problémem PS je v tom že vyžaduje na straně tiskárny spoustu paměti, silný procesor, a licencovaný PS interpreter. Pro zařízení jako jsou inkoustové tiskárny navíc nedává žádný smysl zbytečně držet celou stránku v paměti - stačí jim paměť na to co se tiskne příštím průchodem tiskové hlavy po papíru. U laserových tiskáren je pak problémem cena PS rasterizeru a HW náročnost rastrování. Proto se používají různé jiné jazyky. Od "čisté" bitmapy (GDI printers, založené například na JBIG), přes PCL (v různých verzích přenáší text+komprimo­vanou_grafiku pro příští řádek hlavy, vektorové EMF celé stránky apod.) až po ECMA-388 (XPS, založené na XML, lepší než PS a zdarma).