[REBOL/IT] Re: PDF Maker 2.0

Ciao Francesco,

mercoledì 28 febbraio 2007, alle 11.19.22, hai scritto:

>> http://www.colellachiara.com/soft/PDFM2/test-pdfm.r

FDN> Mi sono stampato il sorgente ed il file che genera, approposito mancando la
FDN> tua fototessera non è possibile rilanciare lo script, così ho provato afare
FDN> un grap dal PDF di esempio e salvarla, le dimensioni sono ovviamente
FDN> diverse e sballa un po'  l'impaginazione, non è che ti ricordi le
FDN> dimensioni? E poi il coefficiente di conversione di 5.34 da pixel a
FDN> dimensioni da dove viene fuori?

Ah...  beh commenta l'immagine, o metticene un'altra, non è che io
sia cosí bello... :P

Comunque  è  200x299.  Il  fattore  di  conversione  è inventato -
ovvero, se sai i DPI dell'immagine e consideri che un pollice sono
25.6 (mi pare) millimetri, riesci a tirar fuori un coefficiente.

FDN> Ad un certo punto, nello script test-pdfm.r viene usato il comando "round"
FDN> con il refinement "ceiling", che nel Rebol 1.3.1.3.1 che sto usando non c'è
FDN> e viene segnalato un errore, mentre lanciando il tuo script ciò non accade.
FDN>  Ho visualizzato i sorgenti delle due funzioni ed effettivamente sono
FDN> completamente diverse. Ho fatto una ricerca in tutti gli script ed i file
FDN> .bin .rlp e da nessuna parte viene ridefinita. Dov'è il trucco?

>> system/version
== 1.3.2.3.1
>> source round
round: func [
    {Returns the nearest integer. Halves round up (away from zero) by default.}
    [catch]
    n [number! money! time!] "The value to round"
    /even "Halves round toward even results"
    /down {Round toward zero, ignoring discarded digits. (truncate)}
    /half-down "Halves round toward zero"
    /floor "Round in negative direction"
    /ceiling "Round in positive direction"
    /half-ceiling "Halves round in positive direction"
    /to "Return the nearest multiple of the scale parameter"
    scale [number! money! time!] "Must be a non-zero value"
    /local m
][
    throw-on-error [
        scale: abs any [scale 1]
        any [number? n scale: make n scale]
        make scale either any [even half-ceiling] [
            m: 0.5 * scale + n
            any [
                all [
                    m = m: m - mod m scale
                    even
                    positive? m - n
                    m - mod m scale + scale
                ]
                m
            ]
        ] [
            any [
                floor
                ceiling
                (ceiling: (found? half-down) xor negative? n down)
                n: add n scale * pick [-0.5 0.5] ceiling
            ]
            either ceiling [n + mod negate n scale] [n - mod n scale]
        ]
    ]
]

Comunque  tieni  conto  che  quel file di test fa un sacco di cose
"strane"  proprio  per provare che tutto funzioni come dovrebbe...
Ti  consiglio  di  concentrarti  sulle  cose piú semplici come del
normale  testo,  o  qualche  comando di grafica (quelli sono quasi
uguali alla versione 1, un mezzo accenno di doc per quello l'avevo
scritto...).

FDN> Stavo pensado di scriverla io, se non ci ha ancora pensato nessuno, ma 
prima
FDN> dovrei capire come funziona ;)

Mi  aveva scritto una persona... ma finora non mi pare abbia fatto
niente... quindi sei il benvenuto. :)

A presto,
   Gabriele.
-- 
Gabriele Santilli <g.santilli@xxxxxxxxxxxxx>  --  REBOL Programmer
Amiga Group Italia sez. L'Aquila  ---   SOON: http://www.rebol.it/


--
Lista REBOL/IT
Comandi: rebol-it-request@xxxxxxxxxxxxx 
         (inviare HELP per un aiuto)
Archivio: http://www.freelists.org/archives/rebol-it/

Other related posts: