/ToUnicode

Milan Vancura milan at ucw.cz
Mon Oct 27 12:51:09 CET 2003


> je nebo neni? (Aniz bych cetl specifikaci, jsem jenom BFU. ;)

Jde o to, jak moc to chcete "peclive":

1. muzete pouzit grep, jestli vubec je v dokumentu retezec "/ToUnicode"

2. muzete dokument otevrit v editoru (pozor, casto byvaji v MACovskem kodovani
koncu radku), najdete "/Type /Font" a podivate se, jestli v tomto objektu
(ohraniceny "<<" a ">>") je polozka /ToUnicode

3. primo "hra na parser":

Popisu primy rychly postup, ktery pouzivam pro rychle "ohmatani" PDF. Vypada
dlouhy, protoze ho pisu do detailu rozepsany:

soubor otevru v kodovani koncu radek, pod kterym je to zapsano (casto MAC,
  nevim proc)
skocim na konec souboru, najdu tam:
  startxref <cislo>
skocim v dokumentu na pozici <cislo>, tam je napsano "xref", na dalsim radku
  jsou dve cisla, skocim  o (druhe cislo + 1) radek dolu
zde je sekce trailer, najdu polozku Root:

Root 81 0 R

najdu objekt root (zde 81): vyhledam \<81 0 obj (\< = zac. slova ve vim regexp)

zde vidim Pages: najdu objekt pages

v objektu pages vidim pole potomku objektu:
  /Kids [ 84 0 R 1 0 R 5 0 R 8 0 R 14 0 R 20 0 R ]

hledam objekt prvniho ditete tak dlouho, dokud to neni objekt typu Page misto
   Pages

najdu objekt Resources, podle nej objekt Font a ve vysledku mam pole objektu
fontu pro tuto (v nasem pripade prvni) stranku:

   /Font << /F5 86 0 R /F7 87 0 R /F8 98 0 R >>

nyni muzu projet vsechny tyto objekty (v prikladu tri), budou typu Font, a
podivat se, jestli maji polozku /ToUnicode.


Milan Vancura



More information about the csTeX mailing list