$ od -c -N 50000 [eris]<LispManual>WPprimitives.im!8
0000000   \r  \r   {   c   o   m   m   e   n   t       t   h   i   s    
0000020    f   i   l   e       c   o   n   t   a   i   n   s       t   h
0000040    e       f   i   r   s   t       p   a   r   t       o   f    
0000060    t   h   e       d   i   s   p   l   a   y       c   h   a   p
0000100    t   e   r   ,       w   i   t   h       s   e   c   t   i   o
0000120    n   s       o   n   :  \r   P   O   S   I   T   I   O   N  \r
0000140    R   E   G   I   O   N  \r   B   I   T   M   A   P  \r   B   I
0000160    T   B   L   T  \r   T   E   X   T   U   R   E  \r   S   a   v
0000200    i   n   g       B   I   T   M   A   P   s  \r   S   c   r   e
0000220    e   n       O   p   e   r   a   t   i   o   n  \r   C   h   a
0000240    r   a   c   t   e   r   s       a   n   d       F   o   n   t
0000260    s  \r   }  \r  \r  \r   {   B   e   g   i   n       S   u   b
0000300    S   e   c       P   O   S   I   T   I   O   N   }  \r   {   T
0000320    i   t   l   e       P   O   S   I   T   I   O   N   }  \r   {
0000340    T   e   x   t  \r  \r   A       p   o   s   i   t   i   o   n
0000360        d   e   n   o   t   e   s       a       p   o   i   n   t
0000400        i   n       a   n       X   ,   Y       c   o   o   r   d
0000420    i   n   a   t   e       s   y   s   t   e   m   .           A
0000440   \r   {   l   i   s   p       P   O   S   I   T   I   O   N   }
0000460        i   s       a   n       i   n   s   t   a   n   c   e    
0000500    o   f       a       r   e   c   o   r   d       w   i   t   h
0000520        f   i   e   l   d   s       {   l   i   s   p       X   C
0000540    O   O   R   D   }  \r   a   n   d       {   l   i   s   p    
0000560    Y   C   O   O   R   D   }       a   n   d       i   s       m
0000600    a   n   i   p   u   l   a   t   e   d       w   i   t   h    
0000620    t   h   e       s   t   a   n   d   a   r   d       r   e   c
0000640    o   r   d  \r   p   a   c   k   a   g   e       f   a   c   i
0000660    l   i   t   i   e   s   .           F   o   r       e   x   a
0000700    m   p   l   e   ,       {   l   i   s   p       (   c   r   e
0000720    a   t   e       P   O   S   I   T   I   O   N       X   C   O
0000740    O   R   D       _       1   0       Y   C   O   O   R   D    
0000760    _       2   0   )   }       c   r   e   a   t   e   s       a
0001000        p   o   s   i   t   i   o   n       r   e   p   r   e   s
0001020    e   n   t   i   n   g       t   h   e       p   o   i   n   t
0001040        (   1   0   ,   2   0   )   .  \r  \r  \r   {   F   n   D
0001060    e   f       {   N   a   m   e       P   O   S   I   T   I   O
0001100    N   P   }       {   A   r   g   s       X   }  \r   {   T   e
0001120    x   t  \r   R   e   t   u   r   n   s       {   a   r   g    
0001140    X   }       i   f       {   a   r   g       X   }       i   s
0001160        a       {   l   i   s   p       P   O   S   I   T   I   O
0001200    N   }   ;       {   l   i   s   p       N   I   L   }       o
0001220    t   h   e   r   w   i   s   e   .  \r   }   }  \r  \r   }   {
0001240    E   n   d       S   u   b   S   e   c       P   O   S   I   T
0001260    I   O   N   }  \r  \r  \r   {   B   e   g   i   n       S   u
0001300    b   S   e   c       R   E   G   I   O   N   }  \r   {   T   i
0001320    t   l   e       R   E   G   I   O   N   }  \r   {   T   e   x
0001340    t  \r  \r   A       R   e   g   i   o   n       d   e   n   o
0001360    t   e   s       a       r   e   c   t   a   n   g   u   l   a
0001400    r       a   r   e   a       i   n       a       c   o   o   r
0001420    d   i   n   a   t   e       s   y   s   t   e   m   .        
0001440    R   e   g   i   o   n   s  \r   a   r   e       c   h   a   r
0001460    a   c   t   e   r   i   z   e   d       b   y       t   h   e
0001500        c   o   o   r   d   i   n   a   t   e   s       o   f    
0001520    t   h   e   i   r       b   o   t   t   o   m       l   e   f
0001540    t       c   o   r   n   e   r       a   n   d  \r   t   h   e
0001560    i   r       w   i   d   t   h       a   n   d       h   e   i
0001600    g   h   t   .           A       {   l   i   s   p       R   E
0001620    G   I   O   N   }       i   s       a       r   e   c   o   r
0001640    d       w   i   t   h       f   i   e   l   d   s  \r   {   l
0001660    i   s   p       L   E   F   T   }   ,       {   l   i   s   p
0001700        B   O   T   T   O   M   }   ,       {   l   i   s   p    
0001720    W   I   D   T   H   }   ,       a   n   d       {   l   i   s
0001740    p       H   E   I   G   H   T   }   .           I   t       c
0001760    a   n       b   e  \r   m   a   n   i   p   u   l   a   t   e
0002000    d       w   i   t   h       t   h   e       s   t   a   n   d
0002020    a   r   d       r   e   c   o   r   d       p   a   c   k   a
0002040    g   e       f   a   c   i   l   i   t   i   e   s   .        
0002060    T   h   e   r   e       a   r   e  \r   a   c   c   e   s   s
0002100        f   u   n   c   t   i   o   n   s       f   o   r       t
0002120    h   e       {   l   i   s   p       R   E   G   I   O   N   }
0002140        r   e   c   o   r   d       t   h   a   t       r   e   t
0002160    u   r   n   s       t   h   e       {   l   i   s   p  \r   T
0002200    O   P   }       a   n   d       {   l   i   s   p       R   I
0002220    G   H   T   }       o   f       t   h   e       r   e   g   i
0002240    o   n   .  \r  \r   T   h   e       f   o   l   l   o   w   i
0002260    n   g       f   u   n   c   t   i   o   n   s       a   r   e
0002300        p   r   o   v   i   d   e   d       f   o   r       m   a
0002320    n   i   p   u   l   a   t   i   n   g       r   e   g   i   o
0002340    n   s   :  \r          \r   {   F   n   D   e   f       {   N
0002360    a   m   e       C   R   E   A   T   E   R   E   G   I   O   N
0002400    }       {   A   r   g   s       L   E   F   T       B   O   T
0002420    T   O   M       W   I   D   T   H       H   E   I   G   H   T
0002440    }  \r   {   T   e   x   t  \r   R   e   t   u   r   n   s    
0002460    a   n       i   n   s   t   a   n   c   e       o   f       t
0002500    h   e       {   l   i   s   p       R   E   G   I   O   N   }
0002520        r   e   c   o   r   d       w   h   i   c   h       h   a
0002540    s       {   a   r   g       L   E   F   T   }   ,       {   a
0002560    r   g       B   O   T   T   O   M   }   ,       {   a   r   g
0002600        W   I   D   T   H   }       a   n   d       {   a   r   g
0002620        H   E   I   G   H   T   }       a   s       r   e   s   p
0002640    e   c   t   i   v   e   l   y       i   t   s       {   l   i
0002660    s   p       L   E   F   T   }   ,       {   l   i   s   p    
0002700    B   O   T   T   O   M   }   ,       {   l   i   s   p       W
0002720    I   D   T   H   }   ,       a   n   d       {   l   i   s   p
0002740        H   E   I   G   H   T   }   .  \r  \r   E   x   a   m   p
0002760    l   e   :  \r   {   l   i   s   p       (   C   R   E   A   T
0003000    E   R   E   G   I   O   N       1   0       -   2   0       1
0003020    0   0       2   0   0   )   }  \r   w   i   l   l       c   r
0003040    e   a   t   e       a       r   e   g   i   o   n       t   h
0003060    a   t       d   e   n   o   t   e   s       a       r   e   c
0003100    t   a   n   g   l   e       w   h   o   s   e       w   i   d
0003120    t   h       i   s       1   0   0   ,       w   h   o   s   e
0003140        h   e   i   g   h   t       i   s       2   0   0   ,    
0003160    a   n   d       w   h   o   s   e       l   o   w   e   r    
0003200    l   e   f   t       c   o   r   n   e   r       i   s       (
0003220    1   0   ,   -   2   0   )   .  \r   }   }  \r  \r   {   F   n
0003240    D   e   f       {   N   a   m   e       I   N   T   E   R   S
0003260    E   C   T   R   E   G   I   O   N   S   }  \r   {   A   r   g
0003300    s       R   E   G   I   O   N   {   s   u   b       1   }    
0003320    R   E   G   I   O   N   {   s   u   b       2   }       {   e
0003340    l   l   i   p   s   i   s   }       R   E   G   I   O   N   {
0003360    s   u   b       n   }   }  \r   {   T   y   p   e       n   o
0003400    s   p   r   e   a   d   }  \r   {   T   e   x   t  \r   R   e
0003420    t   u   r   n   s       a       r   e   g   i   o   n       w
0003440    h   i   c   h       i   s       t   h   e       i   n   t   e
0003460    r   s   e   c   t   i   o   n       o   f       a       n   u
0003500    m   b   e   r       o   f       r   e   g   i   o   n   s   .
0003520   \r   R   e   t   u   r   n   s       {   l   i   s   p       N
0003540    I   L   }       i   f       t   h   e       i   n   t   e   r
0003560    s   e   c   t   i   o   n       i   s       e   m   p   t   y
0003600    .           I   f       t   h   e   r   e       a   r   e    
0003620    n   o  \r   r   e   g   i   o   n   s       g   i   v   e   n
0003640    ,       i   t       r   e   t   u   r   n   s       a       v
0003660    e   r   y       l   a   r   g   e       r   e   g   i   o   n
0003700    .  \r   }   }  \r  \r  \r   {   F   n   D   e   f       {   N
0003720    a   m   e       U   N   I   O   N   R   E   G   I   O   N   S
0003740    }  \r   {   A   r   g   s       R   E   G   I   O   N   {   s
0003760    u   b       1   }       R   E   G   I   O   N   {   s   u   b
0004000        2   }       {   e   l   l   i   p   s   i   s   }       R
0004020    E   G   I   O   N   {   s   u   b       n   }   }  \r   {   T
0004040    y   p   e       n   o   s   p   r   e   a   d   }  \r   {   T
0004060    e   x   t  \r   R   e   t   u   r   n   s       a       r   e
0004100    g   i   o   n       w   h   i   c   h       i   s       t   h
0004120    e       u   n   i   o   n       o   f       a       n   u   m
0004140    b   e   r       o   f       r   e   g   i   o   n   s   ,    
0004160    i   .   e   .       t   h   e  \r   s   m   a   l   l   e   s
0004200    t       r   e   g   i   o   n       t   h   a   t       c   o
0004220    n   t   a   i   n   s       a   l   l       o   f       t   h
0004240    e   m   .           R   e   t   u   r   n   s       {   l   i
0004260    s   p       N   I   L   }       i   f  \r   t   h   e   r   e
0004300        a   r   e       n   o       r   e   g   i   o   n   s    
0004320    g   i   v   e   n   .  \r   }   }  \r  \r  \r   {   F   n   D
0004340    e   f       {   N   a   m   e       R   E   G   I   O   N   S
0004360    I   N   T   E   R   S   E   C   T   P   }       {   A   r   g
0004400    s       R   E   G   I   O   N   1       R   E   G   I   O   N
0004420    2   }  \r   {   T   e   x   t  \r   R   e   t   u   r   n   s
0004440        {   l   i   s   p       T   }       i   f       {   a   r
0004460    g       R   E   G   I   O   N   1   }       i   n   t   e   r
0004500    s   e   c   t   s       {   a   r   g       R   E   G   I   O
0004520    N   2   }   .  \r   R   e   t   u   r   n   s       {   l   i
0004540    s   p       N   I   L   }       i   f       t   h   e   y    
0004560    d   o       n   o   t       i   n   t   e   r   s   e   c   t
0004600    .  \r   }   }  \r  \r  \r   {   F   n   D   e   f       {   N
0004620    a   m   e       S   U   B   R   E   G   I   O   N   P   }    
0004640    {   A   r   g   s       L   A   R   G   E   R   E   G   I   O
0004660    N       S   M   A   L   L   R   E   G   I   O   N   }  \r   {
0004700    T   e   x   t  \r   R   e   t   u   r   n   s       {   l   i
0004720    s   p       T   }       i   f       {   a   r   g       S   M
0004740    A   L   L   R   E   G   I   O   N   }       i   s       a    
0004760    s   u   b   r   e   g   i   o   n       (   i   s       e   q
0005000    u   a   l       t   o       o   r       e   n   t   i   r   e
0005020    l   y       c   o   n   t   a   i   n   e   d       i   n   )
0005040        {   a   r   g       L   A   R   G   E   R   E   G   I   O
0005060    N   }   ;       o   t   h   e   r   w   i   s   e      \r   r
0005100    e   t   u   r   n   s       {   l   i   s   p       N   I   L
0005120    }   .  \r   }   }  \r  \r  \r   {   F   n   D   e   f       {
0005140    N   a   m   e       E   X   T   E   N   D   R   E   G   I   O
0005160    N   }       {   A   r   g   s       R   E   G   I   O   N    
0005200    I   N   C   L   U   D   E   R   E   G   I   O   N   }  \r   {
0005220    T   e   x   t  \r   C   h   a   n   g   e   s       (   d   e
0005240    s   t   r   u   c   t   i   v   e   l   y       m   o   d   i
0005260    f   i   e   s   )       t   h   e       r   e   g   i   o   n
0005300        {   a   r   g  \r   R   E   G   I   O   N   }       s   o
0005320        t   h   a   t       i   t       i   n   c   l   u   d   e
0005340    s       t   h   e       r   e   g   i   o   n       {   a   r
0005360    g       I   N   C   L   U   D   E   R   E   G   I   O   N   }
0005400    .  \r   I   t       r   e   t   u   r   n   s       {   a   r
0005420    g       R   E   G   I   O   N   }   .  \r   }   }  \r  \r   {
0005440    F   n   D   e   f       {   N   a   m   e       M   A   K   E
0005460    W   I   T   H   I   N   R   E   G   I   O   N   }       {   A
0005500    r   g   s       R   E   G   I   O   N       L   I   M   I   T
0005520    R   E   G   I   O   N   }  \r   {   T   e   x   t  \r   C   h
0005540    a   n   g   e   s       (   d   e   s   t   r   u   c   t   i
0005560    v   e   l   y       m   o   d   i   f   i   e   s   )       t
0005600    h   e       l   e   f   t       a   n   d       b   o   t   t
0005620    o   m       o   f       r   e   g   i   o   n       {   a   r
0005640    g  \r   R   E   G   I   O   N   }       s   o       t   h   a
0005660    t       i   t       i   s       w   i   t   h   i   n       t
0005700    h   e       r   e   g   i   o   n       {   a   r   g       L
0005720    I   M   I   T   R   E   G   I   O   N   }   ,       i   f    
0005740    p   o   s   s   i   b   l   e   .       I   f       t   h   e
0005760        d   i   m   e   n   s   i   o   n       o   f       {   a
0006000    r   g       R   E   G   I   O   N   }       a   r   e       l
0006020    a   r   g   e   r       t   h   a   n       {   a   r   g    
0006040    L   I   M   I   T   R   E   G   I   O   N   }   ,       {   a
0006060    r   g       R   E   G   I   O   N   }       i   s       m   o
0006100    v   e   d       t   o       t   h   e       l   o   w   e   r
0006120        l   e   f   t       o   f       {   a   r   g       L   I
0006140    M   I   T   R   E   G   I   O   N   }   .           I   f    
0006160    {   a   r   g       L   I   M   I   T   R   E   G   I   O   N
0006200    }       i   s       {   L   I   S   P       N   I   L   }   ,
0006220        {   v   a   r       W   H   O   L   E   D   I   S   P   L
0006240    A   Y   }       (   t   h   e       s   c   r   e   e   n    
0006260    r   e   g   i   o   n   )       i   s       u   s   e   d   .
0006300   \r   I   t       r   e   t   u   r   n   s       {   a   r   g
0006320        R   E   G   I   O   N   }   .  \r   }   }  \r  \r  \r   {
0006340    F   n   D   e   f       {   N   a   m   e       I   N   S   I
0006360    D   E   P   }       {   A   r   g   s       R   E   G   I   O
0006400    N       X       Y   }  \r   {   T   e   x   t  \r   I   f    
0006420    {   a   r   g       X   }       a   n   d       {   a   r   g
0006440        Y   }       a   r   e       n   u   m   b   e   r   s   ,
0006460        i   t       r   e   t   u   r   n   s       {   l   i   s
0006500    p       T   }       i   f       t   h   e       p   o   i   n
0006520    t  \r   (   {   a   r   g       X   }   ,   {   a   r   g    
0006540    Y   }   )       i   s       i   n   s   i   d   e       o   f
0006560        {   a   r   g       R   E   G   I   O   N   }   .        
0006600    I   f       {   a   r   g       X   }       i   s       a    
0006620    {   l   i   s   p  \r   P   O   S   I   T   I   O   N   }   ,
0006640        i   t       r   e   t   u   r   n   s       {   l   i   s
0006660    p       T   }       i   f       {   a   r   g       X   }    
0006700    i   s       i   n   s   i   d   e       o   f       {   a   r
0006720    g       R   E   G   I   O   N   }   .           I   f       {
0006740    A   R   G       R   E   G   I   O   N   }       i   s       a
0006760        {   L   I   S   P       W   I   N   D   O   W   }   ,    
0007000    t   h   e       w   i   n   d   o   w   '   s       i   n   t
0007020    e   r   i   o   r       r   e   g   i   o   n       i   n    
0007040    w   i   n   d   o   w       c   o   o   r   d   i   n   a   t
0007060    e   s       i   s       u   s   e   d   .  \r   O   t   h   e
0007100    r   w   i   s   e   ,       i   t       r   e   t   u   r   n
0007120    s       {   l   i   s   p       N   I   L   }   .  \r   }   }
0007140   \r  \r   }   {   E   n   d       S   u   b   S   e   c       R
0007160    E   G   I   O   N   }  \r  \r  \r  \r   {   B   e   g   i   n
0007200        S   u   b   S   e   c       B   I   T   M   A   P   }  \r
0007220    {   T   i   t   l   e       B   I   T   M   A   P   }  \r   {
0007240    T   e   x   t  \r  \r   T   h   e       d   i   s   p   l   a
0007260    y       p   r   i   m   i   t   i   v   e   s       m   a   n
0007300    i   p   u   l   a   t   e       g   r   a   p   h   i   c   a
0007320    l       i   m   a   g   e   s       i   n       t   h   e    
0007340    f   o   r   m       o   f       {   t   e   r   m       b   i
0007360    t   m   a   p   s   }   .           A       b   i   t   m   a
0007400    p       i   s       a       r   e   c   t   a   n   g   u   l
0007420    a   r       a   r   r   a   y       o   f       "   p   i   x
0007440    e   l   s   ,   "       e   a   c   h       o   f       w   h
0007460    i   c   h       i   s       a   n       i   n   t   e   g   e
0007500    r       r   e   p   r   e   s   e   n   t   i   n   g       t
0007520    h   e       c   o   l   o   r       o   f       o   n   e    
0007540    p   o   i   n   t       i   n       t   h   e       b   i   t
0007560    m   a   p       i   m   a   g   e   .           A       b   i
0007600    t   m   a   p       i   s       c   r   e   a   t   e   d    
0007620    w   i   t   h       a       s   p   e   c   i   f   i   c    
0007640    n   u   m   b   e   r       o   f       b   i   t   s       a
0007660    l   l   o   c   a   t   e   d       f   o   r       e   a   c
0007700    h       p   i   x   e   l   .           M   o   s   t       b
0007720    i   t   m   a   p   s       u   s   e   d       f   o   r    
0007740    t   h   e       d   i   s   p   l   a   y       s   c   r   e
0007760    e   n       u   s   e       o   n   e       b   i   t       p
0010000    e   r       p   i   x   e   l   ,       s   o       t   h   a
0010020    t       a   t       m   o   s   t       t   w   o       c   o
0010040    l   o   r   s       c   a   n       b   e       r   e   p   r
0010060    e   s   e   n   t   e   d   .           I   f       a       p
0010100    i   x   e   l       i   s       0   ,       t   h   e       c
0010120    o   r   r   e   s   p   o   n   d   i   n   g       l   o   c
0010140    a   t   i   o   n       o   n       t   h   e       i   m   a
0010160    g   e       i   s       w   h   i   t   e   .           I   f
0010200        a       p   i   x   e   l       i   s       1   ,       i
0010220    t   s       l   o   c   a   t   i   o   n       i   s       b
0010240    l   a   c   k   .           (   T   h   i   s       i   n   t
0010260    e   r   p   r   e   t   a   t   i   o   n       c   a   n    
0010300    b   e       c   h   a   n   g   e   d       w   i   t   h    
0010320    t   h   e       f   u   n   c   t   i   o   n       {   f   n
0010340        V   I   D   E   O   C   O   L   O   R   }   ;       s   e
0010360    e       {   P   a   g   e   R   e   f       F   n       V   I
0010400    D   E   O   C   O   L   O   R   }   .   )           B   i   t
0010420    m   a   p   s       w   i   t   h       m   o   r   e       t
0010440    h   a   n       o   n   e       b   i   t       p   e   r    
0010460    p   i   x   e   l       a   r   e       u   s   e   d       t
0010500    o       r   e   p   r   e   s   e   n   t       c   o   l   o
0010520    r       o   r       g   r   e   y       s   c   a   l   e    
0010540    i   m   a   g   e   s   .  \r  \r   B   i   t   m   a   p   s
0010560        u   s   e       a       p   o   s   i   t   i   v   e    
0010600    i   n   t   e   g   e   r       c   o   o   r   d   i   n   a
0010620    t   e       s   y   s   t   e   m       w   i   t   h       t
0010640    h   e       l   o   w   e   r       l   e   f   t       c   o
0010660    r   n   e   r       p   i   x   e   l       a   t       c   o
0010700    o   r   d   i   n   a   t   e       (   0   ,   0   )   .    
0010720        B   i   t   m   a   p   s       a   r   e       r   e   p
0010740    r   e   s   e   n   t   e   d       a   s       i   n   s   t
0010760    a   n   c   e   s       o   f       t   h   e       d   a   t
0011000    a   t   y   p   e       {   l   i   s   p       B   I   T   M
0011020    A   P   }       w   i   t   h       f   i   e   l   d   s    
0011040    {   l   i   s   p       B   I   T   M   A   P   W   I   D   T
0011060    H   }   ,       {   l   i   s   p       B   I   T   M   A   P
0011100    H   E   I   G   H   T   }   ,       {   l   i   s   p       B
0011120    I   T   M   A   P   B   I   T   S   P   E   R   P   I   X   E
0011140    L   }   ,       {   l   i   s   p       B   I   T   M   A   P
0011160    R   A   S   T   E   R   W   I   D   T   H   }   ,       a   n
0011200    d       {   l   i   s   p       B   I   T   M   A   P   B   A
0011220    S   E   }   .           O   n   l   y       t   h   e       w
0011240    i   d   t   h   ,       h   e   i   g   h   t   ,       a   n
0011260    d       b   i   t   s       p   e   r       p   i   x   e   l
0011300        f   i   e   l   d   s       a   r   e       o   f       i
0011320    n   t   e   r   e   s   t       t   o       t   h   e       u
0011340    s   e   r   ,       a   n   d       c   a   n       b   e    
0011360    a   c   c   e   s   s   e   d       w   i   t   h       t   h
0011400    e       f   o   l   l   o   w   i   n   g       f   u   n   c
0011420    t   i   o   n   s   :  \r  \r   {   n   o   t   e       d   o
0011440        w   e       n   e   e   d       t   o       t   e   l   l
0011460        a   b   o   u   t       w   h   a   t       f   i   e   l
0011500    d   s       a   r   e       i   n       b   i   t   m   a   p
0011520    s   ?   ?   }  \r  \r   {   F   n   D   e   f       {   N   a
0011540    m   e       B   I   T   M   A   P   W   I   D   T   H   }    
0011560    {   A   r   g   s       B   I   T   M   A   P   }  \r   {   T
0011600    e   x   t  \r   R   e   t   u   r   n   s       t   h   e    
0011620    w   i   d   t   h       o   f       {   a   r   g       B   I
0011640    T   M   A   P   }       i   n       p   i   x   e   l   s   .
0011660   \r   }   }  \r  \r   {   F   n   D   e   f       {   N   a   m
0011700    e       B   I   T   M   A   P   H   E   I   G   H   T   }    
0011720    {   A   r   g   s       B   I   T   M   A   P   }  \r   {   T
0011740    e   x   t  \r   R   e   t   u   r   n   s       t   h   e    
0011760    h   e   i   g   h   t       o   f       {   a   r   g       B
0012000    I   T   M   A   P   }       i   n       p   i   x   e   l   s
0012020    .  \r   }   }  \r  \r   {   F   n   D   e   f       {   N   a
0012040    m   e       B   I   T   S   P   E   R   P   I   X   E   L   }
0012060        {   A   r   g   s       B   I   T   M   A   P   }  \r   {
0012100    T   e   x   t  \r   R   e   t   u   r   n   s       t   h   e
0012120        n   u   m   b   e   r       o   f       b   i   t   s    
0012140    p   e   r       p   i   x   e   l       o   f       {   a   r
0012160    g       B   I   T   M   A   P   }   .  \r   }   }  \r  \r  \r
0012200    T   h   e       f   u   n   c   t   i   o   n   s       u   s
0012220    e   d       t   o       m   a   n   i   p   u   l   a   t   e
0012240        b   i   t   m   a   p   s       a   r   e   :  \r  \r   {
0012260    F   n   D   e   f       {   N   a   m   e       B   I   T   M
0012300    A   P   C   R   E   A   T   E   }       {   A   r   g   s    
0012320    W   I   D   T   H       H   E   I   G   H   T       B   I   T
0012340    S   P   E   R   P   I   X   E   L   }  \r   {   T   e   x   t
0012360   \r   C   r   e   a   t   e   s       a   n   d       r   e   t
0012400    u   r   n   s       a       n   e   w       b   i   t   m   a
0012420    p       w   h   i   c   h       i   s       {   a   r   g    
0012440    W   I   D   T   H   }       p   i   x   e   l   s       w   i
0012460    d   e       b   y       {   a   r   g       H   E   I   G   H
0012500    T   }       p   i   x   e   l   s       h   i   g   h   ,    
0012520    w   i   t   h       {   a   r   g       B   I   T   S   P   E
0012540    R   P   I   X   E   L   }       p   i   t   s       p   e   r
0012560        p   i   x   e   l   .           I   f       {   a   r   g
0012600        B   I   T   S   P   E   R   P   I   X   E   L   }       i
0012620    s       {   l   i   s   p       N   I   L   }   ,       t   h
0012640    e       d   e   f   a   u   l   t       i   s       1   .  \r
0012660    }   }  \r  \r  \r   {   F   n   D   e   f       {   N   a   m
0012700    e       B   I   T   M   A   P   B   I   T   }       {   A   r
0012720    g   s       B   I   T   M   A   P       X       Y       N   E
0012740    W   V   A   L   U   E   }  \r   {   T   e   x   t  \r   I   f
0012760        {   a   r   g       N   E   W   V   A   L   U   E   }    
0013000    i   s       b   e   t   w   e   e   n       0       a   n   d
0013020        t   h   e       m   a   x   i   m   u   m       v   a   l
0013040    u   e       f   o   r       a       p   i   x   e   l       i
0013060    n       {   a   r   g       B   I   T   M   A   P   }   ,    
0013100    t   h   e       p   i   x   e   l       (   {   a   r   g    
0013120    X   ,   Y   }   )       i   s       c   h   a   n   g   e   d
0013140        t   o       {   a   r   g       N   E   W   V   A   L   U
0013160    E   }       a   n   d       t   h   e       o   l   d       v
0013200    a   l   u   e       i   s       r   e   t   u   r   n   e   d
0013220    .           I   f       {   a   r   g       N   E   W   V   A
0013240    L   U   E   }       i   s       {   l   i   s   p       N   I
0013260    L   }   ,       {   a   r   g       B   I   T   M   A   P   }
0013300        i   s       n   o   t       c   h   a   n   g   e   d    
0013320    b   u   t       t   h   e       v   a   l   u   e       o   f
0013340        t   h   e       p   i   x   e   l       i   s       r   e
0013360    t   u   r   n   e   d   .           I   f       {   a   r   g
0013400        N   E   W   V   A   L   U   E   }       i   s       a   n
0013420    y   t   h   i   n   g       e   l   s   e   ,       a   n    
0013440    e   r   r   o   r       i   s       g   e   n   e   r   a   t
0013460    e   d   .       I   f       (   {   a   r   g       X   ,   Y
0013500    }   )       i   s       o   u   t   s   i   d   e       t   h
0013520    e       l   i   m   i   t   s       o   f       {   a   r   g
0013540        B   I   T   M   A   P   }   ,       0       i   s       r
0013560    e   t   u   r   n   e   d       a   n   d       n   o       p
0013600    i   x   e   l   s       a   r   e       c   h   a   n   g   e
0013620    d   .           {   a   r   g       B   I   T   M   A   P   }
0013640        c   a   n       a   l   s   o       b   e       a       w
0013660    i   n   d   o   w   .  \r   }   }  \r  \r  \r   {   F   n   D
0013700    e   f       {   N   a   m   e       B   I   T   M   A   P   C
0013720    O   P   Y   }       {   A   r   g   s       B   I   T   M   A
0013740    P   }  \r   {   T   e   x   t  \r   R   e   t   u   r   n   s
0013760        a       n   e   w       b   i   t   m   a   p       w   h
0014000    i   c   h       i   s       a       c   o   p   y       o   f
0014020        {   a   r   g       B   I   T   M   A   P   }       (   s
0014040    a   m   e       d   i   m   e   n   s   i   o   n   s       a
0014060    n   d       c   o   n   t   e   n   t   s   )   .  \r   }   }
0014100   \r  \r   {   F   n   D   e   f       {   N   a   m   e       E
0014120    X   P   A   N   D   B   I   T   M   A   P   }       {   A   r
0014140    g   s       B   I   T   M   A   P       W   I   D   T   H   F
0014160    A   C   T   O   R       H   E   I   G   H   T   F   A   C   T
0014200    O   R   }  \r   {   T   e   x   t  \r   R   e   t   u   r   n
0014220    s       a       n   e   w       b   i   t   m   a   p       t
0014240    h   a   t       i   s       {   a   r   g       W   I   D   T
0014260    H   F   A   C   T   O   R   }       t   i   m   e   s       a
0014300    s       w   i   d   e       a   s       {   a   r   g       B
0014320    I   T   M   A   P   }       a   n   d       {   a   r   g    
0014340    H   E   I   G   H   T   F   A   C   T   O   R   }       t   i
0014360    m   e   s       a   s       h   i   g   h   .           E   a
0014400    c   h       p   i   x   e   l       o   f       {   a   r   g
0014420        B   I   T   M   A   P   }       i   s       c   o   p   i
0014440    e   d       i   n   t   o       a       {   a   r   g       W
0014460    I   D   T   H   F   A   C   T   O   R   }       t   i   m   e
0014500    s       {   a   r   g       H   E   I   G   H   T   F   A   C
0014520    T   O   R   }       b   l   o   c   k       o   f       p   i
0014540    x   e   l   s   .           I   f       {   l   i   s   p    
0014560    N   I   L   }   ,       {   a   r   g       W   I   D   T   H
0014600    F   A   C   T   O   R   }       d   e   f   a   u   l   t   s
0014620        t   o       4   ,       {   a   r   g       H   E   I   G
0014640    H   T   F   A   C   T   O   R   }       t   o       1   .  \r
0014660   \r   {   n   o   t   e       W   I   D   T   H   F   A   C   T
0014700    O   R       d   e   f   a   u   l   t   s       t   o       4
0014720    ,       H   E   I   G   H   T   F   A   C   T   O   R       t
0014740    o       1   .  \r   t   h   i   s       i   s       b   e   c
0014760    a   u   s   e       s   o       t   h   a   t       t   h   i
0015000    s       c   o   u   l   d       b   e       u   s   e   d    
0015020    t   o       t   r   a   n   s   l   a   t   e       1       b
0015040    i   t   p   e   r   p   i   x   e   l       b   i   t   m   a
0015060    p   s       t   o       4       b   i   t   p   e   r   p   i
0015100    x   e   l       c   o   l   o   r       b   i   t   m   a   p
0015120    s   .           H   o   w   e   v   e   r   ,       w   e    
0015140    d   o   n   '   t       w   a   n   t       t   o       d   o
0015160        t   h   i   s   ,       b   e   c   a   u   s   e       t
0015200    h   i   s       r   e   l   i   e   s       o   n       k   n
0015220    o   w   i   n   g       t   h   a   t       b   i   t   m   a
0015240    p   s       a   r   e       s   t   o   r   e   d       w   i
0015260    d   t   h   -   f   i   r   s   t   .           F   o   r    
0015300    n   o   w   ,       p   e   r   h   a   p   s       t   h   i
0015320    s       s   h   o   u   l   d       b   e       d   o   n   e
0015340        b   y       a   l   l   o   c   a   t   i   n   g       a
0015360        n   e   w       a   r   r   a   y   ,       a   n   d    
0015400    d   o   i   n   g       a       B   I   T   B   L   T   .   }
0015420   \r  \r   {   n   o   t   e       Q   :       I       a   s   s
0015440    u   m   e       t   h   a   t       t   h   e       n   e   w
0015460        b   i   t   m   a   p       r   e   t   u   r   n   e   d
0015500        b   y       e   x   p   a   n   d       m   a   c   r   o
0015520        h   a   s       t   h   e       s   a   m   e       b   i
0015540    t   s   p   e   r   p   i   x   e   l   ?   ?   }  \r   }   }
0015560   \r  \r  \r   T   h   e   r   e       a   r   e       t   w   o
0015600        d   i   s   t   i   n   g   u   i   s   h   e   d       b
0015620    i   t   m   a   p   s       t   h   a   t       a   r   e    
0015640    r   e   a   d       b   y       t   h   e       h   a   r   d
0015660    w   a   r   e       t   o       b   e   c   o   m   e       v
0015700    i   s   i   b   l   e       a   s       t   h   e       s   c
0015720    r   e   e   n       a   n   d       t   h   e       c   u   r
0015740    s   o   r   .           T   h   e       s   c   r   e   e   n
0015760        i   s       a       b   i   t   m   a   p       {   l   i
0016000    s   p       S   C   R   E   E   N   W   I   D   T   H   }    
0016020    (   =   1   0   2   4   )       w   i   d   e       b   y    
0016040    {   l   i   s   p       S   C   R   E   E   N   H   E   I   G
0016060    H   T   }       (   =   8   0   8   )       h   i   g   h   .
0016100            T   h   e       c   u   r   s   o   r       i   s    
0016120    a       b   i   t   m   a   p       {   l   i   s   p       C
0016140    U   R   S   O   R   W   I   D   T   H   }       (   =   1   6
0016160    )       w   i   d   e       b   y       {   l   i   s   p    
0016200    C   U   R   S   O   R   H   E   I   G   H   T   }       (   =
0016220    1   6   )       h   i   g   h   .           T   h   e   y    
0016240    a   r   e       a   c   c   e   s   s   e   d       b   y   :
0016260   \r  \r  \r   {   F   n   D   e   f       {   N   a   m   e    
0016300    S   C   R   E   E   N   B   I   T   M   A   P   }  \r   {   T
0016320    e   x   t  \r   R   e   t   u   r   n   s       t   h   e    
0016340    s   c   r   e   e   n       b   i   t   m   a   p   .  \r   }
0016360    }  \r  \r  \r   {   F   n   D   e   f       {   N   a   m   e
0016400        C   U   R   S   O   R   B   I   T   M   A   P   }  \r   {
0016420    T   e   x   t  \r   R   e   t   u   r   n   s       t   h   e
0016440        c   u   r   s   o   r       b   i   t   m   a   p   .  \r
0016460   \r   N   o   t   e   :           T   h   e       c   u   r   s
0016500    o   r       b   i   t   m   a   p       c   a   n       b   e
0016520        c   h   a   n   g   e   d       w   i   t   h       t   h
0016540    e       f   u   n   c   t   i   o   n       {   f   n       C
0016560    U   R   S   O   R   }       (   {   P   a   g   e   R   e   f
0016600        F   n       C   U   R   S   O   R   }   )   .  \r   }   }
0016620   \r  \r  \r   }   {   E   n   d       S   u   b   S   e   c    
0016640    B   I   T   M   A   P   }  \r  \r  \r   {   B   e   g   i   n
0016660        S   u   b   S   e   c       B   I   T   B   L   T   }  \r
0016700    {   T   i   t   l   e       B   I   T   B   L   T   }  \r   {
0016720    T   e   x   t  \r  \r   {   f   n       B   I   T   B   L   T
0016740    }       i   s       t   h   e       p   r   i   m   i   t   i
0016760    v   e       f   u   n   c   t   i   o   n       f   o   r    
0017000    m   o   v   i   n   g       b   i   t   s       f   r   o   m
0017020        o   n   e       b   i   t   m   a   p       t   o       a
0017040    n   o   t   h   e   r   .           I   t       i   s       s
0017060    i   m   i   l   a   r       t   o       t   h   e       f   u
0017100    n   c   t   i   o   n       {   l   i   s   p       R   A   S
0017120    T   E   R   O   P   }   {   i   n   d   e   x       R   A   S
0017140    T   E   R   O   P       F   n   }       t   h   a   t       i
0017160    s       u   s   e   d       i   n       o   t   h   e   r    
0017200    s   y   s   t   e   m   s   .  \r  \r  \r   {   F   n   D   e
0017220    f       {   N   a   m   e       B   I   T   B   L   T   }    
0017240    {   A   r   g   s       S   O   U   R   C   E   B   I   T   M
0017260    A   P       S   O   U   R   C   E   L   E   F   T       S   O
0017300    U   R   C   E   B   O   T   T   O   M  \r   D   E   S   T   I
0017320    N   A   T   I   O   N   B   I   T   M   A   P       D   E   S
0017340    T   I   N   A   T   I   O   N   L   E   F   T       D   E   S
0017360    T   I   N   A   T   I   O   N   B   O   T   T   O   M       W
0017400    I   D   T   H       H   E   I   G   H   T       S   O   U   R
0017420    C   E   T   Y   P   E       O   P   E   R   A   T   I   O   N
0017440        T   E   X   T   U   R   E       C   L   I   P   P   I   N
0017460    G   R   E   G   I   O   N   }  \r   {   T   e   x   t   }   }
0017500   \r  \r   {   a   r   g       W   I   D   T   H   }       a   n
0017520    d       {   a   r   g       H   E   I   G   H   T   }       d
0017540    e   f   i   n   e       a       p   a   i   r       o   f    
0017560    r   e   c   t   a   n   g   l   e   s   ,       o   n   e    
0017600    i   n       e   a   c   h       o   f       t   h   e       {
0017620    a   r   g       S   O   U   R   C   E   B   I   T   M   A   P
0017640    }       a   n   d       {   a   r   g       D   E   S   T   I
0017660    N   A   T   I   O   N   B   I   T   M   A   P   }       w   h
0017700    o   s   e       l   e   f   t   ,       b   o   t   t   o   m
0017720        c   o   r   n   e   r   s       a   r   e       a   t   ,
0017740        r   e   s   p   e   c   t   i   v   e   l   y   ,       (
0017760    {   a   r   g       S   O   U   R   C   E   L   E   F   T   }
0020000    ,       {   a   r   g       S   O   U   R   C   E   B   O   T
0020020    T   O   M   }   )       a   n   d       (   {   a   r   g    
0020040    D   E   S   T   I   N   A   T   I   O   N   L   E   F   T   }
0020060    ,       {   a   r   g       D   E   S   T   I   N   A   T   I
0020100    O   N   B   O   T   T   O   M   }   )   .           I   f    
0020120    t   h   e   s   e       r   e   c   t   a   n   g   l   e   s
0020140        o   v   e   r   l   a   p       t   h   e       b   o   u
0020160    n   d   a   r   i   e   s       o   f       e   i   t   h   e
0020200    r       b   i   t   m   a   p       t   h   e   y       a   r
0020220    e       b   o   t   h       r   e   d   u   c   e   d       i
0020240    n       s   i   z   e       (   w   i   t   h   o   u   t    
0020260    t   r   a   n   s   l   a   t   i   o   n   )       s   o    
0020300    t   h   a   t       t   h   e   y       f   i   t       w   i
0020320    t   h   i   n       t   h   e   i   r       r   e   s   p   e
0020340    c   t   i   v   e       b   o   u   n   d   a   r   i   e   s
0020360    .           I   f       {   a   r   g       C   L   I   P   P
0020400    I   N   G   R   E   G   I   O   N   }       i   s       n   o
0020420    n   -   {   l   i   s   p       N   I   L   }       i   t    
0020440    s   h   o   u   l   d       b   e       a       {   l   i   s
0020460    p       R   E   G   I   O   N   }       a   n   d       i   s
0020500        i   n   t   e   r   p   r   e   t   e   d       a   s    
0020520    a       c   l   i   p   p   i   n   g       r   e   g   i   o
0020540    n       w   i   t   h   i   n       {   a   r   g       D   E
0020560    S   T   I   N   A   T   I   O   N   B   I   T   M   A   P   }
0020600    ;       c   l   i   p   p   i   n   g       t   o       t   h
0020620    i   s       r   e   g   i   o   n       m   a   y       f   u
0020640    r   t   h   e   r       r   e   d   u   c   e       t   h   e
0020660        d   e   f   i   n   i   n   g       r   e   c   t   a   n
0020700    g   l   e   s   .           T   h   e   s   e       (   p   o
0020720    s   s   i   b   l   y       r   e   d   u   c   e   d   )    
0020740    r   e   c   t   a   n   g   l   e   s       d   e   f   i   n
0020760    e       t   h   e       s   o   u   r   c   e       a   n   d
0021000        d   e   s   t   i   n   a   t   i   o   n       r   e   c
0021020    t   a   n   g   l   e   s       f   o   r       {   f   n    
0021040    B   I   T   B   L   T   }   .           {   a   r   g       S
0021060    O   U   R   C   E   B   I   T   M   A   P   }       a   n   d
0021100        {   a   r   g       D   E   S   T   I   N   A   T   I   O
0021120    N   B   I   T   M   A   P   }       c   a   n       a   l   s
0021140    o       b   e       d   i   s   p   l   a   y       s   t   r
0021160    e   a   m   s       o   r       w   i   n   d   o   w   s   ,
0021200        i   n       w   h   i   c   h       c   a   s   e       t
0021220    h   e   i   r       a   s   s   o   c   i   a   t   e   d    
0021240    b   i   t   m   a   p   s       a   r   e       u   s   e   d
0021260    .  \r  \r   T   h   e       m   o   d   e       o   f       t
0021300    r   a   n   s   f   e   r   r   i   n   g       b   i   t   s
0021320        i   s       d   e   f   i   n   e   d       b   y       {
0021340    a   r   g       S   O   U   R   C   E   T   Y   P   E   }    
0021360    a   n   d       {   a   r   g       O   P   E   R   A   T   I
0021400    O   N   }   .           {   a   r   g       S   O   U   R   C
0021420    E   T   Y   P   E   }       a   n   d       {   a   r   g    
0021440    O   P   E   R   A   T   I   O   N   }       s   p   e   c   i
0021460    f   y       b   o   o   l   e   a   n       f   u   n   c   t
0021500    i   o   n   s       t   h   a   t       a   r   e       u   s
0021520    e   d       t   o       d   e   t   e   r   m   i   n   e   ,
0021540        r   e   s   p   e   c   t   i   v   e   l   y   ,       t
0021560    h   e       m   e   t   h   o   d       o   f       c   o   m
0021600    b   i   n   i   n   g       {   a   r   g       S   O   U   R
0021620    C   E   B   I   T   M   A   P   }       b   i   t   s       w
0021640    i   t   h       t   h   e       {   a   r   g       T   E   X
0021660    T   U   R   E   }       a   n   d       t   h   e       o   p
0021700    e   r   a   t   i   o   n       b   e   t   w   e   e   n    
0021720    t   h   e   s   e       r   e   s   u   l   t   a   n   t    
0021740    b   i   t   s       a   n   d       {   a   r   g       D   E
0021760    S   T   I   N   A   T   I   O   N   B   I   T   M   A   P   }
0022000    .           {   a   r   g       T   E   X   T   U   R   E   }
0022020        i   s       a       g   r   a   y       p   a   t   t   e
0022040    r   n   ,       a   s       d   e   s   c   r   i   b   e   d
0022060        o   n       {   P   a   g   e   R   e   f       T   a   g
0022100        T   e   x   t   u   r   e   s   }   .           (   N   o
0022120    t   e   :           T   h   e       a   l   i   g   n   m   e
0022140    n   t       o   f       t   h   e       t   e   x   t   u   r
0022160    e       p   a   t   t   e   r   n       w   i   t   h       {
0022200    f   n       B   I   T   B   L   T   }       i   s       s   u
0022220    c   h       t   h   a   t       t   h   e       o   r   i   g
0022240    i   n       o   f       t   h   e       d   e   s   t   i   n
0022260    a   t   i   o   n       b   i   t   m   a   p       i   s    
0022300    a   t       a   n       i   n   t   e   r   s   e   c   t   i
0022320    o   n       o   f       t   h   e       "   t   i   l   e   s
0022340    .   "   )  \r  \r   {   a   r   g       S   O   U   R   C   E
0022360    T   Y   P   E   }       s   p   e   c   i   f   i   e   s    
0022400    h   o   w       t   o       c   o   m   b   i   n   e       t
0022420    h   e       b   i   t   s       f   r   o   m       {   a   r
0022440    g       S   O   U   R   C   E   B   I   T   M   A   P   }    
0022460    w   i   t   h       t   h   e       b   i   t   s       f   r
0022500    o   m       {   a   r   g       T   E   X   T   U   R   E   }
0022520        (   a       b   a   c   k   g   r   o   u   n   d       p
0022540    a   t   t   e   r   n   )       t   o       p   r   o   d   u
0022560    c   e       a       "   S   o   u   r   c   e   "   .        
0022600    T   h   i   s       i   s       d   e   s   i   g   n   e   d
0022620        t   o       a   l   l   o   w       c   h   a   r   a   c
0022640    t   e   r   s       a   n   d       f   i   g   u   r   e   s
0022660        t   o       b   e       p   l   a   c   e   d       o   n
0022700        a       b   a   c   k   g   r   o   u   n   d   .  \r  \r
0022720   \r   {   i   n   d   e   x       S   O   U   R   C   E   T   Y
0022740    P   E       (   B   I   T   B   L   T       a   r   g   u   m
0022760    e   n   t   )   }  \r  \r   {   B   e   g   i   n       T   a
0023000    b   l   e       S   o   u   r   c   e   t   y   p   e       s
0023020    p   e   c   i   f   i   e   s   }  \r  \r   {   C   O   L   U
0023040    M   N       2   5   p   e   r   c   e   n   t   }  \t   {   C
0023060    O   L   U   M   N   }  \r  \r   {   F   i   r   s   t       {
0023100    a   r   g       S   O   U   R   C   E   T   Y   P   E   }   }
0023120   \t  \t   {   N   e   x   t       S   o   u   r   c   e   }  \r
0023140    {   F   i   r   s   t       {   l   i   s   p       I   N   P
0023160    U   T   }   }  \t   {   N   e   x   t       {   a   r   g    
0023200    S   O   U   R   C   E   B   I   T   M   A   P   }   }  \r   {
0023220    F   i   r   s   t       {   l   i   s   p       I   N   V   E
0023240    R   T   }   }  \t   {   N   e   x   t       {   l   i   s   p
0023260        (   N   O   T       {   a   r   g       S   O   U   R   C
0023300    E   B   I   T   M   A   P   }   )   }   }  \r   {   F   i   r
0023320    s   t       {   l   i   s   p       T   E   X   T   U   R   E
0023340    }   }  \t   {   N   e   x   t       {   a   r   g       T   E
0023360    X   T   U   R   E   }   }  \r  \r   {   E   n   d       T   a
0023400    b   l   e       S   o   u   r   c   e   t   y   p   e       s
0023420    p   e   c   i   f   i   e   s   }  \r  \r   {   n   o   t   e
0023440        T   E   X   T   U   R   E       b   e   i   n   g       d
0023460    e   i   m   p   l   e   m   e   n   t   e   d   .           F
0023500    l   u   s   h   e   d       h   e   r   e   ?       ?   ?   ?
0023520        H   o   w       c   a   n       T   e   x   t   u   r   e
0023540        b   e       d   e   i   m   p   l   e   m   e   n   t   e
0023560    d   ?   ?       r   r   b   }  \r  \r   F   o   r       t   h
0023600    e       {   l   i   s   p       I   N   P   U   T   }       a
0023620    n   d       {   l   i   s   p       I   N   V   E   R   T   }
0023640        c   a   s   e   ,       t   h   e       {   a   r   g    
0023660    T   E   X   T   U   R   E   }  \r   a   r   g   u   m   e   n
0023700    t       t   o       {   f   n       B   I   T   B   L   T   }
0023720        i   s       i   g   n   o   r   e   d   .           F   o
0023740    r       t   h   e       {   l   i   s   p       T   E   X   T
0023760    U   R   E   }       c   a   s   e   ,  \r   t   h   e       {
0024000    a   r   g       S   O   U   R   C   E   B   I   T   M   A   P
0024020    }   ,       {   a   r   g       S   O   U   R   C   E   L   E
0024040    F   T   }   ,       a   n   d       {   a   r   g       S   O
0024060    U   R   C   E   B   O   T   T   O   M   }  \r   a   r   g   u
0024100    m   e   n   t   s       a   r   e       i   g   n   o   r   e
0024120    d   .  \r  \r   {   a   r   g       O   P   E   R   A   T   I
0024140    O   N   }       s   p   e   c   i   f   i   e   s       h   o
0024160    w       t   h   i   s       s   o   u   r   c   e       i   s
0024200        c   o   m   b   i   n   e   d       w   i   t   h       t
0024220    h   e       b   i   t   s       i   n       {   a   r   g    
0024240    D   E   S   T   I   N   A   T   I   O   N   B   I   T   M   A
0024260    P   }       a   n   d       s   t   o   r   e   d       b   a
0024300    c   k       i   n   t   o       {   a   r   g       D   E   S
0024320    T   I   N   A   T   I   O   N   B   I   T   M   A   P   }   .
0024340   \r  \r  \r   {   i   n   d   e   x       O   P   E   R   A   T
0024360    I   O   N       (   B   I   T   B   L   T       a   r   g   u
0024400    m   e   n   t   )   }  \r  \r   {   B   e   g   i   n       T
0024420    a   b   l   e       O   p   e   r   a   t   i   o   n       s
0024440    p   e   c   i   f   i   e   s   }  \r  \r   {   C   O   L   U
0024460    M   N       2   5   p   e   r   c   e   n   t   }  \t   {   C
0024500    O   L   U   M   N   }  \r  \r   {   F   i   r   s   t       {
0024520    a   r   g       O   P   E   R   A   T   I   O   N   }   }  \t
0024540   \t   {   N   e   x   t       {   a   r   g       D   E   S   T
0024560    I   N   A   T   I   O   N   B   I   T   M   A   P   }       b
0024600    e   c   o   m   e   s   }  \r   {   F   i   r   s   t       {
0024620    l   i   s   p       R   E   P   L   A   C   E   }   }  \t   {
0024640    N   e   x   t       S   o   u   r   c   e   }  \r   {   F   i
0024660    r   s   t       {   l   i   s   p       P   A   I   N   T   }
0024700    }  \t   {   N   e   x   t       {   l   i   s   p       (   O
0024720    R       {   a   r   g       D   E   S   T   I   N   A   T   I
0024740    O   N   B   I   T   M   A   P   }   }       S   o   u   r   c
0024760    e   {   l   i   s   p       )   }   }  \r   {   F   i   r   s
0025000    t       {   l   i   s   p       I   N   V   E   R   T   }   }
0025020   \t   {   N   e   x   t       {   l   i   s   p       (   X   O
0025040    R       {   a   r   g       D   E   S   T   I   N   A   T   I
0025060    O   N   B   I   T   M   A   P   }   }       S   o   u   r   c
0025100    e   {   l   i   s   p       )   }   }  \r   {   F   i   r   s
0025120    t       {   l   i   s   p       E   R   A   S   E   }   }  \t
0025140    {   N   e   x   t       {   l   i   s   p       (   A   N   D
0025160        {   a   r   g       D   E   S   T   I   N   A   T   I   O
0025200    N   B   I   T   M   A   P   }       (   N   O   T   }       S
0025220    o   u   r   c   e   {   l   i   s   p       )   )   }   }  \r
0025240   \r   {   E   n   d       T   a   b   l   e       O   p   e   r
0025260    a   t   i   o   n       s   p   e   c   i   f   i   e   s   }
0025300   \r  \r  \r   {   a   r   g       S   O   U   R   C   E   L   E
0025320    F   T   }   ,       {   a   r   g       S   O   U   R   C   E
0025340    B   O   T   T   O   M   }   ,       {   a   r   g       D   E
0025360    S   T   I   N   A   T   I   O   N   L   E   F   T   }   ,    
0025400    a   n   d       {   a   r   g       D   E   S   T   I   N   A
0025420    T   I   O   N   B   O   T   T   O   M   }       d   e   f   a
0025440    u   l   t       t   o       0   .           {   a   r   g    
0025460    W   I   D   T   H   }       a   n   d       {   a   r   g    
0025500    H   E   I   G   H   T   }       d   e   f   a   u   l   t    
0025520    t   o       t   h   e       w   i   d   t   h       a   n   d
0025540        h   e   i   g   h   t       o   f       t   h   e       {
0025560    a   r   g       S   O   U   R   C   E   B   I   T   M   A   P
0025600    }   .  \r   {   a   r   g       T   E   X   T   U   R   E   }
0025620        d   e   f   a   u   l   t   s       t   o       w   h   i
0025640    t   e   .           {   a   r   g       S   O   U   R   C   E
0025660    T   Y   P   E   }       d   e   f   a   u   l   t   s       t
0025700    o       {   l   i   s   p       I   N   P   U   T   }   .    
0025720    {   a   r   g       O   P   E   R   A   T   I   O   N   }    
0025740    d   e   f   a   u   l   t   s       t   o       {   l   i   s
0025760    p       R   E   P   L   A   C   E   }   .  \r   I   f       {
0026000    a   r   g       C   L   I   P   P   I   N   G   R   E   G   I
0026020    O   N   }       i   s       n   o   t       p   r   o   v   i
0026040    d   e   d   ,       n   o       a   d   d   i   t   i   o   n
0026060    a   l       c   l   i   p   p   i   n   g       i   s       d
0026100    o   n   e   .  \r   {   f   n       B   I   T   B   L   T   }
0026120        r   e   t   u   r   n   s       {   l   i   s   p       T
0026140    }       i   f       a   n   y       b   i   t   s       w   e
0026160    r   e       m   o   v   e   d   ;   {   n   o   t   e       ?
0026200    ?   ?   }  \r   {   l   i   s   p       N   I   L   }       o
0026220    t   h   e   r   w   i   s   e   .  \r  \r  \r   N   o   t   e
0026240    :           {   f   n       B   I   T   B   L   T   }       a
0026260    n   d       {   f   n       B   I   T   M   A   P   B   I   T
0026300    }       a   c   c   e   p   t       w   i   n   d   o   w   s
0026320        a   n   d       d   i   s   p   l   a   y       s   t   r
0026340    e   a   m   s       a   s       t   h   e   i   r       b   i
0026360    t   m   a   p       a   r   g   u   m   e   n   t   s   .    
0026400        I   n       t   h   e   s   e       c   a   s   e   s   ,
0026420        t   h   e       r   e   m   a   i   n   i   n   g       a
0026440    r   g   u   m   e   n   t   s       a   r   e       i   n   t
0026460    e   r   p   r   e   t   e   d       a   s       v   a   l   u
0026500    e   s       i   n       t   h   e       c   o   o   r   d   i
0026520    n   a   t   e       s   y   s   t   e   m       o   f       t
0026540    h   e       w   i   n   d   o   w       o   r       d   i   s
0026560    p   l   a   y       s   t   r   e   a   m       a   n   d    
0026600    t   h   e       o   p   e   r   a   t   i   o   n       o   f
0026620        t   h   e       f   u   n   c   t   i   o   n   s       a
0026640    r   e       t   r   a   n   s   l   a   t   e   d       a   n
0026660    d       c   l   i   p   p   e   d       a   c   c   o   r   d
0026700    i   n   g   l   y   .           I   f       a       w   i   n
0026720    d   o   w       o   r       d   i   s   p   l   a   y       s
0026740    t   r   e   a   m       i   s       u   s   e   d       a   s
0026760        t   h   e       d   e   s   t   i   n   a   t   i   o   n
0027000        t   o       {   f   n       B   I   T   B   L   T   }   ,
0027020        i   t   s       c   l   i   p   p   i   n   g       r   e
0027040    g   i   o   n       l   i   m   i   t   s       t   h   e    
0027060    o   p   e   r   a   t   i   o   n       i   n   v   o   l   v
0027100    e   d   .  \r  \r   {   n   o   t   e       n   o       l   o
0027120    n   g   e   r       t   r   u   e       =   =   >  \r   H   o
0027140    w   e   v   e   r   ,       i   f       a       d   i   s   p
0027160    l   a   y       s   t   r   e   a   m       i   s       u   s
0027200    e   d       a   s       t   h   e       s   o   u   r   c   e
0027220        t   o       {   f   n       B   I   T   B   L   T   }   ,
0027240        i   t   s       c   l   i   p   p   i   n   g       r   e
0027260    g   i   o   n       d   o   e   s       n   o   t       l   i
0027300    m   i   t       t   h   e       b   i   t   s       t   r   a
0027320    n   s   f   e   r   r   e   d   .   }  \r  \r  \r   {   n   o
0027340    t   e       E   X   A   M   P   L   E   S   ,       W   I   T
0027360    H       P   I   C   T   U   R   E   S   !   !           -   -
0027400        l   m   m   }  \r  \r   }   {   E   n   d       S   u   b
0027420    S   e   c       B   I   T   B   L   T   }  \r  \r  \r  \r   {
0027440    B   e   g   i   n       S   u   b   S   e   c       T   E   X
0027460    T   U   R   E   }  \r   {   T   i   t   l   e       T   E   X
0027500    T   U   R   E   }  \r   {   T   e   x   t  \r  \r   {   i   n
0027520    d   e   x       T   e   x   t   u   r   e   s   }  \r  \r   {
0027540    T   a   g       T   e   x   t   u   r   e   s   }  \r  \r  \r
0027560   \r   A       T   e   x   t   u   r   e       d   e   n   o   t
0027600    e   s       a       p   a   t   t   e   r   n       o   f    
0027620    g   r   a   y       w   h   i   c   h       c   a   n       b
0027640    e       u   s   e   d       b   y       {   f   n       B   I
0027660    T   B   L   T   }       t   o       (   c   o   n   c   e   p
0027700    t   u   a   l   l   y   )       t   e   s   s   e   l   l   a
0027720    t   e       t   h   e       p   l   a   n   e       t   o    
0027740    f   o   r   m       a   n       i   n   f   i   n   i   t   e
0027760        s   h   e   e   t       o   f       g   r   a   y   .    
0030000        I   t       i   s       c   u   r   r   e   n   t   l   y
0030020        e   i   t   h   e   r       a       4       b   y       4
0030040        p   a   t   t   e   r   n       o   r       a       1   6
0030060        b   y       n       (   n       <   =       1   6   )    
0030100    p   a   t   t   e   r   n   .           T   e   x   t   u   r
0030120    e   s       a   r   e       c   r   e   a   t   e   d       i
0030140    n   t   e   r   a   c   t   i   v   e   l   y       u   s   i
0030160    n   g       t   h   e       f   u   n   c   t   i   o   n    
0030200    {   f   n       E   D   I   T   S   H   A   D   E   }       o
0030220    r       f   r   o   m       b   i   t   m   a   p   s       u
0030240    s   i   n   g       t   h   e       f   o   l   l   o   w   i
0030260    n   g       f   u   n   c   t   i   o   n   .  \r  \r  \r   {
0030300    F   n   D   e   f       {   N   a   m   e       C   R   E   A
0030320    T   E   T   E   X   T   U   R   E   F   R   O   M   B   I   T
0030340    M   A   P   }       {   A   r   g   s       B   I   T   M   A
0030360    P   }  \r   {   T   e   x   t  \r   R   e   t   u   r   n   s
0030400        a       t   e   x   t   u   r   e       o   b   j   e   c
0030420    t       t   h   a   t       w   i   l   l       p   r   o   d
0030440    u   c   e       t   h   e       t   e   x   t   u   r   e    
0030460    o   f       {   a   r   g       B   I   T   M   A   P   }   .
0030500            I   f       {   a   r   g       B   I   T   M   A   P
0030520    }       i   s       t   o   o       l   a   r   g   e   ,    
0030540    i   t   s       l   o   w   e   r       l   e   f   t       p
0030560    o   r   t   i   o   n       i   s       u   s   e   d   .    
0030600        I   f       {   a   r   g       B   I   T   M   A   P   }
0030620        i   s       t   o   o       s   m   a   l   l   ,       i
0030640    t       i   s       r   e   p   e   a   t   e   d       t   o
0030660        f   i   l   l       o   u   t       t   h   e       t   e
0030700    x   t   u   r   e   .  \r   }   }  \r  \r  \r   {   F   n   D
0030720    e   f       {   N   a   m   e       T   E   X   T   U   R   E
0030740    P   }       {   A   r   g   s       O   B   J   E   C   T   }
0030760   \r   {   T   e   x   t  \r   R   e   t   u   r   n   s       {
0031000    a   r   g       O   B   J   E   C   T   }       i   f       i
0031020    t       i   s       a       t   e   x   t   u   r   e   ,    
0031040    i   .   e   .       a       l   e   g   a   l       t   e   x
0031060    t   u   r   e       a   r   g   u   m   e   n   t       t   o
0031100        {   f   n       B   I   T   B   L   T   }   .  \r   }   }
0031120   \r  \r  \r   T   h   e       c   o   m   m   o   n       t   e
0031140    x   t   u   r   e   s       w   h   i   t   e       a   n   d
0031160        b   l   a   c   k       a   r   e       a   v   a   i   l
0031200    a   b   l   e       a   s       s   y   s   t   e   m       c
0031220    o   n   s   t   a   n   t   s       {   v   a   r       W   H
0031240    I   T   E   S   H   A   D   E   }   {   i   n   d   e   x    
0031260    W   H   I   T   E   S   H   A   D   E       V   a   r   }    
0031300    a   n   d       {   v   a   r       B   L   A   C   K   S   H
0031320    A   D   E   }   .   {   i   n   d   e   x       B   L   A   C
0031340    K   S   H   A   D   E       V   a   r   }           T   h   e
0031360        g   l   o   b   a   l       v   a   r   i   a   b   l   e
0031400        {   v   a   r       G   R   A   Y   S   H   A   D   E   }
0031420    {   i   n   d   e   x       G   R   A   Y   S   H   A   D   E
0031440        V   a   r   }       i   s       u   s   e   d       b   y
0031460        m   a   n   y       s   y   s   t   e   m       f   a   c
0031500    i   l   i   t   i   e   s       a   s       a       b   a   c
0031520    k   g   r   o   u   n   d       g   r   a   y       s   h   a
0031540    d   e       a   n   d       c   a   n       b   e       s   e
0031560    t       b   y       t   h   e       u   s   e   r   .        
0031600    T   h   e       o   r   i   g   i   n   a   l       b   a   c
0031620    k   g   r   o   u   n   d       s   h   a   d   e       o   f
0031640        t   h   e       w   i   n   d   o   w       s   y   s   t
0031660    e   m       i   s       k   e   p   t       i   n       {   v
0031700    a   r       W   I   N   D   O   W   B   A   C   K   G   R   O
0031720    U   N   D   S   H   A   D   E   }   .   {   i   n   d   e   x
0031740        W   I   N   D   O   W   B   A   C   K   G   R   O   U   N
0031760    D   S   H   A   D   E       V   a   r   }   {   i   n   d   e
0032000    x       b   a   c   k   g   r   o   u   n   d       s   h   a
0032020    d   e   }           T   h   e       b   a   c   k   g   r   o
0032040    u   n   d       s   h   a   d   e       c   a   n       b   e
0032060        c   h   a   n   g   e   d       b   y       t   h   e    
0032100    f   o   l   l   o   w   i   n   g       f   u   n   c   t   i
0032120    o   n   :  \r  \r  \r  \r   {   F   n   D   e   f       {   N
0032140    a   m   e       C   H   A   N   G   E   B   A   C   K   G   R
0032160    O   U   N   D   }       {   A   r   g   s       S   H   A   D
0032200    E   }  \r   {   T   e   x   t  \r   C   h   a   n   g   e   s
0032220        t   h   e       b   a   c   k   g   r   o   u   n   d    
0032240    s   h   a   d   e       o   f       t   h   e       w   i   n
0032260    d   o   w       s   y   s   t   e   m   .           {   a   r
0032300    g       S   H   A   D   E   }       d   e   t   e   r   m   i
0032320    n   e   s       t   h   e       p   a   t   t   e   r   n    
0032340    o   f       t   h   e       b   a   c   k   g   r   o   u   n
0032360    d   .           I   f       {   a   r   g       S   H   A   D
0032400    E   }       i   s       a       t   e   x   t   u   r   e   ,
0032420        t   h   e   n       t   h   e       b   a   c   k   g   r
0032440    o   u   n   d       i   s       s   i   m   p   l   y       p
0032460    a   i   n   t   e   d       w   i   t   h       i   t   .    
0032500        I   f       {   a   r   g       S   H   A   D   E   }    
0032520    i   s       a       {   l   i   s   p       B   I   T   M   A
0032540    P   }   ,       t   h   e       b   a   c   k   g   r   o   u
0032560    n   d       i   s       t   e   s   s   e   l   a   t   e   d
0032600        (   t   i   l   e   d   )       w   i   t   h       i   t
0032620        t   o       c   o   v   e   r       t   h   e       s   c
0032640    r   e   e   n   .           I   f       {   a   r   g       S
0032660    H   A   D   E   }       i   s       {   l   i   s   p       T
0032700    }   ,       i   t       c   h   a   n   g   e   s       t   o
0032720        t   h   e       o   r   i   g   i   n   a   l       s   h
0032740    a   d   e   ,       t   h   e       v   a   l   u   e       o
0032760    f       {   v   a   r       W   I   N   D   O   W   B   A   C
0033000    K   G   R   O   U   N   D   S   H   A   D   E   }   .        
0033020    I   t       r   e   t   u   r   n   s       t   h   e       p
0033040    r   e   v   i   o   u   s       v   a   l   u   e       o   f
0033060        t   h   e       b   a   c   k   g   r   o   u   n   d   .
0033100   \r   }   }  \r  \r  \r   {   B   e   g   i   n       N   o   t
0033120    e   }  \r   T   e   x   t   u   r   e   s       c   a   n    
0033140    b   e       (   a   n   d       T   E   X   T   U   R   E   P
0033160        i   s       t   r   u   e       o   f   )       B   I   T
0033200    M   A   P   s       o   f       1   6       b   i   t   s    
0033220    w   i   d   e       b   y       u   p       t   o       1   6
0033240        b   i   t   s       h   i   g   h   .       4   x   4    
0033260    t   e   x   t   u   r   e   s       c   a   n       s   t   i
0033300    l   l       b   e       r   e   p   r   e   s   e   n   t   e
0033320    d       a   s       i   n   t   e   g   e   r   s   .  \r   {
0033340    E   n   d       N   o   t   e   }  \r  \r  \r  \r   }   {   E
0033360    n   d       S   u   b   S   e   c       T   E   X   T   U   R
0033400    E   }  \r  \r  \r  \r   {   B   e   g   i   n       S   u   b
0033420    S   e   c       S   a   v   i   n   g       B   I   T   M   A
0033440    P   s   }  \r   {   T   i   t   l   e       S   a   v   i   n
0033460    g       B   I   T   M   A   P   s   }  \r   {   T   e   x   t
0033500   \r  \r  \r  \r   B   i   t   m   a   p   s       c   a   n    
0033520    b   e       s   a   v   e   d       o   n       f   i   l   e
0033540    s       w   i   t   h       t   h   e       {   f   i   l   e
0033560    c   o   m       V   A   R   S   }       f   i   l   e       p
0033600    a   c   k   a   g   e       c   o   m   m   a   n   d       (
0033620    {   P   a   g   e   R   e   f       F   i   l   e   C   o   m
0033640        V   A   R   S   }   )   .           T   h   e       f   o
0033660    l   l   o   w   i   n   g       t   w   o       f   u   n   c
0033700    t   i   o   n   s       t   r   a   n   s   l   a   t   e    
0033720    b   i   t   m   a   p   s       i   n   t   o       a   n   d
0033740        o   u   t       o   f       a       r   e   p   r   e   s
0033760    e   n   t   a   t   i   o   n       w   h   i   c   h       m
0034000    a   y       b   e       u   s   e   d       t   o       t   r
0034020    a   n   s   f   e   r       b   i   t   m   a   p   s       b
0034040    e   t   w   e   e   n       I   n   t   e   r   l   i   s   p
0034060        a   n   d       o   t   h   e   r       c   o   m   p   u
0034100    t   e   r       s   y   s   t   e   m   s   '       r   e   p
0034120    r   e   s   e   n   t   a   t   i   o   n   s   .  \r  \r  \r
0034140    {   F   n   D   e   f       {   N   a   m   e       R   E   A
0034160    D   B   I   T   M   A   P   }       {   A   r   g   s       F
0034200    I   L   E   }  \r   {   T   e   x   t  \r   C   r   e   a   t
0034220    e   s       a       b   i   t   m   a   p       b   y       r
0034240    e   a   d   i   n   g       a   n       e   x   p   r   e   s
0034260    s   i   o   n       (   w   r   i   t   t   e   n       b   y
0034300        {   f   n       P   R   I   N   T   B   I   T   M   A   P
0034320    }   )       f   r   o   m       t   h   e       f   i   l   e
0034340        {   a   r   g       F   I   L   E   }   .  \r   }   }  \r
0034360   \r  \r   {   F   n   D   e   f       {   N   a   m   e       P
0034400    R   I   N   T   B   I   T   M   A   P   }       {   A   r   g
0034420    s       B   I   T   M   A   P       F   I   L   E   }  \r   {
0034440    T   e   x   t  \r   P   r   i   n   t   s       t   h   e    
0034460    b   i   t   m   a   p       {   a   r   g       B   I   T   M
0034500    A   P   }       o   n       t   h   e       f   i   l   e    
0034520    {   a   r   g       F   I   L   E   }       i   n       a    
0034540    f   o   r   m   a   t       t   h   a   t       c   a   n    
0034560    b   e       r   e   a   d       b   a   c   k       i   n    
0034600    b   y       {   f   n       R   E   A   D   B   I   T   M   A
0034620    P   }   .  \r  \r   {   n   o   t   e       (   I   f       {
0034640    a   r   g       B   I   T   M   A   P   }       i   s       a
0034660    n       a   t   o   m       w   h   o   s   e       v   a   l
0034700    u   e       i   s       a       b   i   t   m   a   p   ,    
0034720    i   t   s       v   a   l   u   e       w   i   l   l       b
0034740    e       u   s   e   d   .   )           -   -       c   r   o
0034760    c   k   ,       s   e   z       L   a   r   r   y   }  \r   }
0035000    }  \r  \r  \r   {   B   e   g   i   n       N   o   t   e   }
0035020   \r   p   r   e   v   i   o   u   s       v   e   r   s   i   o
0035040    n       o   f       R   E   A   D   B   I   T   M   A   P    
0035060    d   e   s   c   r   i   p   t   i   o   n       w   a   s   :
0035100   \r  \r   (   R   E   A   D   B   I   T   M   A   P       {   a
0035120    r   g       W   I   D   T   H   }       {   a   r   g       H
0035140    E   I   G   H   T   }       {   a   r   g       B   I   T   S
0035160    P   E   R   I   N   T   E   G   E   R   }   )  \t   [   f   u
0035200    n   c   t   i   o   n   ]  \r   C   r   e   a   t   e   s    
0035220    a       b   i   t   m   a   p       w   h   i   c   h       i
0035240    s       {   a   r   g       W   I   D   T   H   }       b   y
0035260        {   a   r   g       H   E   I   G   H   T   }       b   i
0035300    t   s       i   n       s   i   z   e       a   n   d       g
0035320    e   t   s       v   a   l   u   e   s       f   o   r       i
0035340    t   s       b   i   t   s       b   y       {   l   i   s   p
0035360        R   E   A   D   I   N   G   }       a   n       e   x   p
0035400    r   e   s   s   i   o   n       t   h   a   t       s   h   o
0035420    u   l   d       b   e       a       l   i   s   t       o   f
0035440        i   n   t   e   g   e   r   s       f   r   o   m       t
0035460    h   e       p   r   i   m   a   r   y       i   n   p   u   t
0035500        c   h   a   n   n   e   l   .       (   T   h   i   s    
0035520    c   o   n   v   e   n   t   i   o   n       i   s       a   d
0035540    o   p   t   e   d       f   r   o   m       t   h   e       m
0035560    e   t   h   o   d       o   f       s   a   v   i   n   g    
0035600    a   r   r   a   y   s       o   n       f   i   l   e   s   .
0035620    )           {   a   r   g       B   I   T   S   P   E   R   I
0035640    N   T   E   G   E   R   }       i   s       t   h   e       n
0035660    u   m   b   e   r       o   f       l   o   w       o   r   d
0035700    e   r       b   i   t   s       t   h   a   t       s   h   o
0035720    u   l   d       b   e       t   a   k   e   n       f   r   o
0035740    m       e   a   c   h       i   n   t   e   g   e   r       i
0035760    n       t   h   e       r   e   a   d       l   i   s   t   .
0036000            E   a   c   h       l   i   n   e       o   f       t
0036020    h   e       b   i   t   m   a   p       b   e   g   i   n   s
0036040        o   n       a       n   e   w       i   n   t   e   g   e
0036060    r   .           T   h   u   s   ,       t   h   e       l   i
0036100    s   t       o   f       i   n   t   e   g   e   r   s       s
0036120    h   o   u   l   d       b   e       (   (   (   {   a   r   g
0036140        W   I   D   T   H   }   -   1   )   /   {   a   r   g    
0036160    B   I   T   S   P   E   R   I   N   T   E   G   E   R   }   )
0036200    +   1   )   *   {   a   r   g       H   E   I   G   H   T   }
0036220        e   l   e   m   e   n   t   s       l   o   n   g   .    
0036240        I   f       {   a   r   g       W   I   D   T   H   }    
0036260    i   s       n   o   t       a       m   u   l   t   i   p   l
0036300    e       o   f       {   a   r   g       B   I   T   S   P   E
0036320    R   I   N   T   E   G   E   R   }   ,       t   h   e       m
0036340    o   s   t       s   i   g   n   i   f   i   c   a   n   t    
0036360    o   f       t   h   e       {   a   r   g       B   I   T   S
0036400    P   E   R   I   N   T   E   G   E   R   }       b   i   t   s
0036420        f   r   o   m       t   h   e       l   a   s   t       i
0036440    n   t   e   g   e   r       o   f       e   a   c   h       l
0036460    i   n   e       w   i   l   l       b   e       u   s   e   d
0036500    .  \r  \r   T   h   i   s       d   e   s   i   g   n       a
0036520    l   l   o   w   s       b   i   t   m   a   p   s       t   o
0036540        b   e       w   r   i   t   t   e   n       o   n       t
0036560    h   e       f   i   l   e   s       i   n       a   n       i
0036600    m   p   l   e   m   e   n   t   a   t   i   o   n       i   n
0036620    d   e   p   e   n   d   e   n   t       w   a   y   .        
0036640    {   a   r   g       B   I   T   S   P   E   R   I   N   T   E
0036660    G   E   R   }       s   h   o   u   l   d       b   e       k
0036700    e   p   t       s   m   a   l   l       (   l   e   s   s    
0036720    t   h   a   n       2   0   )       s   o       t   h   a   t
0036740        t   h   e       i   n   t   e   g   e   r   s       c   a
0036760    n       b   e       r   e   a   d       b   y       t   h   e
0037000        {   f   n       R   E   A   D   }       f   u   n   c   t
0037020    i   o   n       o   n       m   a   c   h   i   n   e   s    
0037040    o   f       s   m   a   l   l   e   r       w   o   r   d    
0037060    s   i   z   e       w   i   t   h   o   u   t       o   v   e
0037100    r   f   l   o   w   .           F   o   r       I   n   t   e
0037120    r   l   i   s   p   -   D   ,       {   a   r   g       B   I
0037140    T   S   P   E   R   I   N   T   E   G   E   R   }       i   s
0037160        1   6   .  \r  \r   -   -   -           t   h   e   r   e
0037200        i   s       a       b   a   c   k   w   a   r   d       c
0037220    o   m   p   a   t   i   b   i   l   i   t   y       c   r   o
0037240    c   k       a   l   l   o   w   i   n   g       R   E   A   D
0037260    B   I   T   M   A   P       t   o       b   e       u   s   e
0037300    d       i   n       t   h   i   s       w   a   y   ,       b
0037320    y       s   u   p   p   l   y   i   n   g       t   h   e    
0037340    a   r   g   u   m   e   n   t   s       W   I   D   T   H   ,
0037360        H   E   I   G   H   T   ,       a   n   d       B   I   T
0037400    S   P   E   R   I   N   T   E   G   E   R   ,       b   u   t
0037420        i   t       i   s       f   e   l   t       t   h   a   t
0037440        t   h   e       o   l   d       w   a   y       s   h   o
0037460    u   l   d       b   e       d   e   -   d   o   c   u   m   e
0037500    n   t   e   d   .  \r   {   E   n   d       N   o   t   e   }
0037520   \r  \r  \r   }   {   E   n   d       S   u   b   S   e   c    
0037540    S   a   v   i   n   g       B   I   T   M   A   P   s   }  \r
0037560   \r  \r  \r  \r   {   B   e   g   i   n       S   u   b   S   e
0037600    c       S   c   r   e   e   n       O   p   e   r   a   t   i
0037620    o   n   }  \r   {   T   i   t   l   e       S   c   r   e   e
0037640    n       O   p   e   r   a   t   i   o   n   }  \r   {   T   e
0037660    x   t  \r  \r   T   h   e       f   o   l   l   o   w   i   n
0037700    g       f   u   n   c   t   i   o   n   s       c   o   n   t
0037720    r   o   l       t   h   e       d   i   s   p   l   a   y    
0037740    s   c   r   e   e   n   .  \r  \r  \r   {   F   n   D   e   f
0037760        {   N   a   m   e       V   I   D   E   O   C   O   L   O
0040000    R   }       {   A   r   g   s       B   L   A   C   K   F   L
0040020    G   }  \r   {   T   y   p   e       N   O   S   P   R   E   A
0040040    D   }  \r   {   T   e   x   t  \r   S   e   t   s       t   h
0040060    e       i   n   t   e   r   p   r   e   t   a   t   i   o   n
0040100        o   f       t   h   e       b   i   t   s       i   n    
0040120    t   h   e       s   c   r   e   e   n       b   i   t   m   a
0040140    p   .           I   f       {   a   r   g       B   L   A   C
0040160    K   F   L   G   }       i   s       {   l   i   s   p       N
0040200    I   L   }   ,       a       0       b   i   t       w   i   l
0040220    l       b   e       d   i   s   p   l   a   y   e   d       a
0040240    s       w   h   i   t   e   ,       o   t   h   e   r   w   i
0040260    s   e       a       0       b   i   t       w   i   l   l    
0040300    b   e       d   i   s   p   l   a   y   e   d       a   s    
0040320    b   l   a   c   k   .           {   f   n       V   I   D   E
0040340    O   C   O   L   O   R   }       r   e   t   u   r   n   s    
0040360    t   h   e       p   r   e   v   i   o   u   s       s   e   t
0040400    t   i   n   g   .           I   f       {   a   r   g       B
0040420    L   A   C   K   F   L   G   }       i   s       n   o   t    
0040440    g   i   v   e   n   ,       {   f   n       V   I   D   E   O
0040460    C   O   L   O   R   }       w   i   l   l       r   e   t   u
0040500    r   n       t   h   e       c   u   r   r   e   n   t       s
0040520    e   t   t   i   n   g       w   i   t   h   o   u   t       c
0040540    h   a   n   g   i   n   g       a   n   y   t   h   i   n   g
0040560    .  \r  \r   N   o   t   e   :           T   h   i   s       f
0040600    u   n   c   t   i   o   n       o   n   l   y       w   o   r
0040620    k   s       o   n       t   h   e       X   e   r   o   x    
0040640    1   1   0   0       a   n   d       X   e   r   o   x       1
0040660    1   0   8   .  \r   }   }  \r  \r  \r   {   F   n   D   e   f
0040700        {   N   a   m   e       V   I   D   E   O   R   A   T   E
0040720    }       {   A   r   g   s       T   Y   P   E   }  \r   {   T
0040740    e   x   t  \r   S   e   t   s       t   h   e       r   a   t
0040760    e       a   t       w   h   i   c   h       t   h   e       s
0041000    c   r   e   e   n       i   s       r   e   f   r   e   s   h
0041020    e   d   .           {   a   r   g       T   Y   P   E   }    
0041040    i   s       o   n   e       o   f       {   l   i   s   p    
0041060    N   O   R   M   A   L   }       o   r       {   l   i   s   p
0041100        T   A   P   E   }   .           I   f       {   a   r   g
0041120        T   Y   P   E   }       i   s       {   l   i   s   p    
0041140    T   A   P   E   }   ,       t   h   e       s   c   r   e   e
0041160    n       w   i   l   l       b   e       r   e   f   r   e   s
0041200    h   e   d       a   t       t   h   e       s   a   m   e    
0041220    r   a   t   e       a   s       T   V       (   6   0       c
0041240    y   c   l   e   s       p   e   r       s   e   c   o   n   d
0041260    )   .           T   h   i   s       m   a   k   e   s       t
0041300    h   e       p   i   c   t   u   r   e       l   o   o   k    
0041320    b   e   t   t   e   r       w   h   e   n       v   i   d   e
0041340    o       t   a   p   i   n   g       t   h   e       s   c   r
0041360    e   e   n   .                   N   o   t   e   :       C   h
0041400    a   n   g   i   n   g       t   h   e       r   a   t   e    
0041420    m   a   y       c   h   a   n   g   e       t   h   e       d
0041440    i   m   e   n   s   i   o   n   s       o   f       t   h   e
0041460        d   i   s   p   l   a   y       o   n       t   h   e    
0041500    p   i   c   t   u   r   e       t   u   b   e   .          \r
0041520    }   }  \r  \r  \r  \r   S   e   v   e   r   a   l       f   u
0041540    n   c   t   i   o   n   s       a   r   e       p   r   o   v
0041560    i   d   e   d       f   o   r       t   u   r   n   i   n   g
0041600        o   f   f       t   h   e       d   i   s   p   l   a   y
0041620        (   p   a   r   t   i   a   l   l   y       o   r       c
0041640    o   m   p   l   e   t   e   l   y   )   .           S   e   e
0041660        {   P   a   g   e   R   e   f       F   n       S   E   T
0041700    D   I   S   P   L   A   Y   H   E   I   G   H   T   }   .  \r
0041720   \r  \r  \r   }   {   E   n   d       S   u   b   S   e   c    
0041740    S   c   r   e   e   n       O   p   e   r   a   t   i   o   n
0041760    }  \r  \r  \r   {   B   e   g   i   n       S   u   b   S   e
0042000    c       C   h   a   r   a   c   t   e   r   s       a   n   d
0042020        F   o   n   t   s   }  \r   {   T   i   t   l   e       C
0042040    h   a   r   a   c   t   e   r   s       a   n   d       F   o
0042060    n   t   s   }  \r   {   T   e   x   t  \r  \r   {   n   o   t
0042100    e       h   o   w       d   o   e   s       t   h   i   s    
0042120    f   o   n   t       s   t   u   f   f       i   n   t   e   r
0042140    a   c   t       w   i   t   h       I   n   t   e   r   l   i
0042160    s   p   -   1   0       f   o   n   t       p   r   o   f   i
0042200    l   e   s       (   p   a   g   e   s       1   4   .   4   9
0042220    -   5   2       i   n       t   h   e       r   e   f   .    
0042240    m   a   n   .   )   ?           H   a   v   e       f   o   n
0042260    t       p   r   o   f   i   l   e   s       b   e   e   n    
0042300    e   x   t   e   n   d   e   d       i   n       I   n   t   e
0042320    r   l   i   s   p   -   D   ?           W   h   a   t       i
0042340    s       t   h   e       m   a   g   i   c       f   o   r    
0042360    t   u   r   n   i   n   g       o   f   f       f   o   n   t
0042400    s       (   f   o   r       s   i   t   e   s       t   h   a
0042420    t       d   o   n   '   t       h   a   v   e       f   o   n
0042440    t   -   y       p   r   i   n   t   e   r   s   )   ?   }  \r
0042460   \r  \r   F   o   n   t   s       c   o   n   t   r   o   l    
0042500    t   h   e       w   a   y       c   h   a   r   a   c   t   e
0042520    r   s       l   o   o   k       w   h   e   n       p   r   i
0042540    n   t   e   d       o   n       t   h   e       s   c   r   e
0042560    e   n       o   r       a       g   r   a   p   h   i   c   s
0042600        p   r   i   n   t   e   r   .           F   o   n   t   s
0042620        a   r   e       d   e   f   i   n   e   d       b   y    
0042640    a       d   i   s   t   i   n   c   t   i   v   e       s   t
0042660    y   l   e       o   r       {   l   i   s   p       F   A   M
0042700    I   L   Y   }       (   s   u   c   h       a   s       G   a
0042720    c   h   a       o   r       T   i   m   e   s   R   o   m   a
0042740    n   )   ,       a       {   l   i   s   p       S   I   Z   E
0042760    }       (   s   u   c   h       a   s       1   0       p   o
0043000    i   n   t   s   )   ,       a   n   d       {   l   i   s   p
0043020        F   A   C   E   }       (   s   u   c   h       a   s    
0043040    b   o   l   d       o   r       i   t   a   l   i   c   )   .
0043060            F   o   n   t   s       a   l   s   o       h   a   v
0043100    e       a       {   l   i   s   p       R   O   T   A   T   I
0043120    O   N   }       t   h   a   t       i   n   d   i   c   a   t
0043140    e   s       t   h   e       o   r   i   e   n   t   a   t   i
0043160    o   n       o   f       c   h   a   r   a   c   t   e   r   s
0043200        o   n       t   h   e       s   c   r   e   e   n       o
0043220    r       p   a   g   e   .           A       n   o   r   m   a
0043240    l       h   o   r   i   z   o   n   t   a   l       f   o   n
0043260    t       (   a   l   s   o       c   a   l   l   e   d       a
0043300        p   o   r   t   r   a   i   t       f   o   n   t   )    
0043320    h   a   s       a       r   o   t   a   t   i   o   n       o
0043340    f       0   ;       t   h   e       r   o   t   a   t   i   o
0043360    n       o   f       a       v   e   r   t   i   c   a   l    
0043400    (   l   a   n   d   s   c   a   p   e   )       f   o   n   t
0043420        i   s       9   0       d   e   g   r   e   e   s   .    
0043440        W   h   i   l   e       t   h   e       s   p   e   c   i
0043460    f   i   c   a   t   i   o   n       a   l   l   o   w   s    
0043500    a   n   y       c   o   m   b   i   n   a   t   i   o   n   ,
0043520        i   n       p   r   a   c   t   i   c   e       t   h   e
0043540        u   s   e   r       w   i   l   l       f   i   n   d    
0043560    t   h   a   t       o   n   l   y       c   e   r   t   a   i
0043600    n       c   o   m   b   i   n   a   t   i   o   n   s       o
0043620    f  \r   f   a   m   i   l   i   e   s   ,       s   i   z   e
0043640    s   ,       f   a   c   e   s   ,       a   n   d       r   o
0043660    t   a   t   i   o   n   s       a   r   e       a   v   a   i
0043700    l   a   b   l   e   .  \r  \r   I   n       s   p   e   c   i
0043720    f   y   i   n   g       a       f   o   n   t       t   o    
0043740    t   h   e       f   u   n   c   t   i   o   n   s       d   e
0043760    s   c   r   i   b   e   d       b   e   l   o   w   ,       a
0044000        {   l   i   s   p       F   A   M   I   L   Y   }       i
0044020    s       r   e   p   r   e   s   e   n   t   e   d       b   y
0044040        a       l   i   t   e   r   a   l       a   t   o   m   ,
0044060        a       {   l   i   s   p       S   I   Z   E   }       b
0044100    y       a       p   o   s   i   t   i   v   e       i   n   t
0044120    e   g   e   r   ,       a   n   d       a       {   l   i   s
0044140    p       F   A   C   E   }       b   y       a       t   h   r
0044160    e   e   -   e   l   e   m   e   n   t       l   i   s   t    
0044200    o   f       t   h   e       f   o   r   m       {   l   i   s
0044220    p       (   W   E   I   G   H   T       S   L   O   P   E    
0044240    E   X   P   A   N   S   I   O   N   )   }   .           {   l
0044260    i   s   p       W   E   I   G   H   T   }   ,       w   h   i
0044300    c   h       i   n   d   i   c   a   t   e   s       t   h   e
0044320        t   h   i   c   k   n   e   s   s       o   f       t   h
0044340    e       c   h   a   r   a   c   t   e   r   s   ,       c   a
0044360    n       b   e       {   l   i   s   p       B   O   L   D   }
0044400    ,       {   l   i   s   p       M   E   D   I   U   M   }   ,
0044420        o   r       {   l   i   s   p       L   I   G   H   T   }
0044440    ;       {   l   i   s   p       S   L   O   P   E   }       c
0044460    a   n       b   e       {   l   i   s   p       I   T   A   L
0044500    I   C   }       o   r       {   l   i   s   p       R   E   G
0044520    U   L   A   R   }   ;       a   n   d       {   l   i   s   p
0044540        E   X   P   A   N   S   I   O   N   }       c   a   n    
0044560    b   e       {   l   i   s   p       R   E   G   U   L   A   R
0044600    }   ,       {   l   i   s   p       C   O   M   P   R   E   S
0044620    S   E   D   }   ,       o   r       {   l   i   s   p       E
0044640    X   P   A   N   D   E   D   }   ,       i   n   d   i   c   a
0044660    t   i   n   g       h   o   w       s   p   r   e   a   d    
0044700    o   u   t       t   h   e       c   h   a   r   a   c   t   e
0044720    r   s       a   r   e   .           F   o   r       c   o   n
0044740    v   e   n   i   e   n   c   e   ,       f   a   c   e   s    
0044760    m   a   y       a   l   s   o       b   e       s   p   e   c
0045000    i   f   i   e   d       b   y       t   h   r   e   e   -   c
0045020    h   a   r   a   c   t   e   r       a   t   o   m   s   ,    
0045040    w   h   e   r   e       e   a   c   h       c   h   a   r   a
0045060    c   t   e   r       i   s       t   h   e       f   i   r   s
0045100    t       l   e   t   t   e   r       o   f       t   h   e    
0045120    c   o   r   r   e   s   p   o   n   d   i   n   g       f   i
0045140    e   l   d   .           T   h   u   s   ,       {   l   i   s
0045160    p       M   R   R   }       i   s       a       s   y   n   o
0045200    n   y   m       f   o   r       {   l   i   s   p       (   M
0045220    E   D   I   U   M       R   E   G   U   L   A   R       R   E
0045240    G   U   L   A   R   )   }   .           I   n       a   d   d
0045260    i   t   i   o   n   ,       c   e   r   t   a   i   n       c
0045300    o   m   m   o   n       f   a   c   e       c   o   m   b   i
0045320    n   a   t   i   o   n   s       m   a   y       b   e       i
0045340    n   d   i   c   a   t   e   d       b   y       s   p   e   c
0045360    i   a   l       l   i   t   e   r   a   l       a   t   o   m
0045400    s   :  \r  \r  \r   {   l   i   s   p       S   T   A   N   D
0045420    A   R   D   }       =       {   l   i   s   p       (   M   E
0045440    D   I   U   M       R   E   G   U   L   A   R       R   E   G
0045460    U   L   A   R   )   }       =       {   l   i   s   p       M
0045500    R   R   }  \r  \r   {   l   i   s   p       I   T   A   L   I
0045520    C   }       =       {   l   i   s   p       (   M   E   D   I
0045540    U   M       I   T   A   L   I   C       R   E   G   U   L   A
0045560    R   )   }       =       {   l   i   s   p       M   I   R   }
0045600   \r  \r   {   l   i   s   p       B   O   L   D   }       =    
0045620    {   l   i   s   p       (   B   O   L   D       R   E   G   U
0045640    L   A   R       R   E   G   U   L   A   R   )   }       =    
0045660    {   l   i   s   p       B   R   R   }  \r  \r   {   l   i   s
0045700    p       B   O   L   D   I   T   A   L   I   C   }       =    
0045720    {   l   i   s   p       (   B   O   L   D       I   T   A   L
0045740    I   C       R   E   G   U   L   A   R   )   }       =       {
0045760    l   i   s   p       B   I   R   }  \r  \r  \r   A       f   o
0046000    n   t       a   l   s   o       h   a   s       t   h   e    
0046020    p   r   o   p   e   r   t   i   e   s       {   l   i   s   p
0046040        A   S   C   E   N   T   }   ,       {   l   i   s   p    
0046060    D   E   S   C   E   N   T   }   ,       a   n   d       {   l
0046100    i   s   p       H   E   I   G   H   T   }       (   =       {
0046120    l   i   s   p       A   S   C   E   N   T   }       +       {
0046140    l   i   s   p       D   E   S   C   E   N   T   }   )   ,    
0046160    a   n   d   ,       f   o   r       e   a   c   h       c   h
0046200    a   r   a   c   t   e   r   ,       a       w   i   d   t   h
0046220        a   n   d       b   i   t       p   a   t   t   e   r   n
0046240    .           T   h   e       {   l   i   s   p       A   S   C
0046260    E   N   T   }       i   s       t   h   e       m   a   x   i
0046300    m   u   m       h   e   i   g   h   t       o   f       a   n
0046320    y       c   h   a   r   a   c   t   e   r       i   n       t
0046340    h   e       f   o   n   t       f   r   o   m       i   t   s
0046360        b   a   s   e       l   i   n   e       (   t   h   e    
0046400    p   r   i   n   t   i   n   g       p   o   s   i   t   i   o
0046420    n   )   .           T   h   e       {   l   i   s   p       D
0046440    E   S   C   E   N   T   }       i   s       t   h   e       m
0046460    a   x   i   m   u   m       e   x   t   e   n   t       o   f
0046500        a   n   y       c   h   a   r   a   c   t   e   r       b
0046520    e   l   o   w       t   h   e       b   a   s   e       l   i
0046540    n   e   ,       s   u   c   h       a   s       t   h   e    
0046560    l   o   w   e   r       p   a   r   t       o   f       a    
0046600    "   p   .   "           T   h   e   r   e   f   o   r   e    
0046620    t   h   e       t   o   p       l   i   n   e       o   f    
0046640    a       c   h   a   r   a   c   t   e   r       w   i   l   l
0046660        b   e       a   t       B   a   s   e   +   {   l   i   s
0046700    p       A   S   C   E   N   T   }   -   1   ,       w   h   i
0046720    l   e       t   h   e       b   o   t   t   o   m       l   i
0046740    n   e       w   i   l   l       b   e       a   t       B   a
0046760    s   e   -   {   l   i   s   p       D   E   S   C   E   N   T
0047000    }   .           T   h   e       w   i   d   t   h       o   f
0047020        e   a   c   h       c   h   a   r   a   c   t   e   r    
0047040    s   p   e   c   i   f   i   e   s       h   o   w       a    
0047060    s   t   r   e   a   m   '   s       p   o   s   i   t   i   o
0047100    n       w   i   l   l       c   h   a   n   g   e       w   h
0047120    e   n       t   h   e       c   h   a   r   a   c   t   e   r
0047140        i   s       p   r   i   n   t   e   d   .           T   h
0047160    i   s       m   a   y       h   a   v   e       b   o   t   h
0047200        a   n       X       a   n   d       a       Y       c   o
0047220    m   p   o   n   e   n   t       (   e   .   g   .   ,       f
0047240    o   r       l   a   n   d   s   c   a   p   e       f   o   n
0047260    t   s   )   ,       a   n   d       i   t       v   a   r   i
0047300    e   s       f   r   o   m       c   h   a   r   a   c   t   e
0047320    r       t   o       c   h   a   r   a   c   t   e   r       i
0047340    n       v   a   r   i   a   b   l   e       p   i   t   c   h
0047360        f   o   n   t   s   .  \r  \r   T   h   e       i   n   f
0047400    o   r   m   a   t   i   o   n       a   b   o   u   t       a
0047420        p   a   r   t   i   c   u   l   a   r       f   o   n   t
0047440        i   s       r   e   p   r   e   s   e   n   t   e   d    
0047460    i   n       a       f   o   n   t  \r   d   e   s   c   r   i
0047500    p   t   o   r   .           T   h   e       f   o   l   l   o
0047520    w   i   n   g       f   u   n   c   t   i   o   n   s       m
0047540    a   n   i   p   u   l   a   t   e       f   o   n   t       d
0047560    e   s   c   r   i   p   t   o   r   s   :  \r  \r  \r   {   F
0047600    n   D   e   f       {   N   a   m   e       F   O   N   T   C
0047620    R   E   A   T   E   }       {   A   r   g   s       F   A   M
0047640    I   L   Y       S   I   Z   E       F   A   C   E       R   O
0047660    T   A   T   I   O   N       D   E   V   I   C   E       N   O
0047700    E   R   R   O   R   F   L   G   }  \r   {   T   e   x   t  \r
0047720    R   e   t   u   r   n   s       a       f   o   n   t       d
0047740    e   s   c   r   i   p   t   o   r       f   o   r       t   h
0047760    e       s   p   e   c   i   f   i   e   d       f   o   n   t
0050000    .           {   a   r   g       S   I   Z   E   }       i   s
0050020        a   n       i   n   t   e   g   e   r       i   n   d   i
0050040    c   a   t   i   n   g       t   h   e       s   i   z   e    
0050060    o   f       t   h   e       f   o   n   t       i   n       p
0050100    o   i   n   t   s   .           {   a   r   g       F   A   C
0050120    E   }       s   p   e   c   i   f   i   e   s       t   h   e
0050140        f   a   c   e       c   h   a   r   a   c   t   e   r   i
0050160    s   t   i   c   s       i   n       o   n   e       o   f    
0050200    t   h   e       f   o   r   m   a   t   s       l   i   s   t
0050220    e   d       a   b   o   v   e   ;       i   f       {   a   r
0050240    g       F   A   C   E   }       i   s       {   l   i   s   p
0050260        N   I   L   }   ,       {   l   i   s   p       S   T   A
0050300    N   D   A   R   D   }       i   s       u   s   e   d   .    
0050320        {   a   r   g       R   O   T   A   T   I   O   N   }   ,
0050340        w   h   i   c   h       s   p   e   c   i   f   i   e   s
0050360        t   h   e       o   r   i   e   n   t   a   t   i   o   n
0050400        o   f       t   h   e       f   o   n   t   ,       i   s
0050420        0       (   o   r       {   l   i   s   p       N   I   L
0050440    }   )       f   o   r       a       p   o   r   t   r   a   i
0050460    t       f   o   n   t       a   n   d       9   0       f   o
0050500    r       a       l   a   n   d   s   c   a   p   e       f   o
0050520    n   t   .  \r   {   a   r   g       D   E   V   I   C   E   }
0050540        i   n   d   i   c   a   t   e   s       t   h   e       o
0050560    u   t   p   u   t       d   e   v   i   c   e       f   o   r
0050600        t   h   e       f   o   n   t   .           F   o   r    
0050620    I   n   t   e   r   l   i   s   p   -   D   ,       t   h   e
0050640        p   o   s   s   i   b   l   e       v   a   l   u   e   s
0050660        f   o   r       {   a   r   g       D   E   V   I   C   E
0050700    }       a   r   e       {   l   i   s   p       D   I   S   P
0050720    L   A   Y   }       f   o   r       t   h   e       d   i   s
0050740    p   l   a   y       s   c   r   e   e   n   ,       {   l   i
0050760    s   p       P   R   E   S   S   }       f   o   r       P   r
0051000    e   s   s       p   r   i   n   t   e   r   s   ,       A   N
0051020    D       {   l   i   s   p       I   N   T   E   R   P   R   E
0051040    S   S   }       f   o   r       I   n   t   e   r   p   r   e
0051060    s   s       p   r   i   n   t   e   r   s   .           {   a
0051100    r   g       D   E   V   I   C   E   }       d   e   f   a   u
0051120    l   t   s       t   o       {   l   i   s   p       D   I   S
0051140    P   L   A   Y   }   .  \r  \r   F   o   r       d   i   s   p
0051160    l   a   y       f   o   n   t   s   ,       {   f   n       F
0051200    O   N   T   C   R   E   A   T   E   }       l   o   o   k   s
0051220        f   o   r       a       {   l   i   s   p       S   T   R
0051240    I   K   E   }       f   i   l   e       w   i   t   h       t
0051260    h   e       a   p   p   r   o   p   r   i   a   t   e       n
0051300    a   m   e       (   s   u   c   h       a   s       {   l   i
0051320    s   p       T   I   M   E   S   R   O   M   A   N   8   B   I
0051340    .   S   T   R   I   K   E   }       f   o   r       a       {
0051360    l   i   s   p       T   I   M   E   S   R   O   M   A   N    
0051400    8       B   O   L   D   I   T   A   L   I   C   }       f   o
0051420    n   t   )   ,       s   e   a   r   c   h   i   n   g       t
0051440    h   r   o   u   g   h       d   i   r   e   c   t   o   r   i
0051460    e   s       o   n       t   h   e       l   i   s   t       {
0051500    v   a   r       F   O   N   T   D   I   R   E   C   T   O   R
0051520    I   E   S   }   .   {   i   n   d   e   x       F   O   N   T
0051540    D   I   R   E   C   T   O   R   I   E   S       V   a   r   }
0051560            I   f       t   h   e       f   i   l   e       i   s
0051600        f   o   u   n   d   ,       i   t       i   s       r   e
0051620    a   d       i   n   t   o       a       f   o   n   t       d
0051640    e   s   c   r   i   p   t   o   r   .           I   f       t
0051660    h   e       f   i   l   e       i   s       n   o   t       f
0051700    o   u   n   d   ,       {   f   n       F   O   N   T   C   R
0051720    E   A   T   E   }       l   o   o   k   s       f   o   r    
0051740    f   o   n   t   s       w   i   t   h       l   e   s   s    
0051760    f   a   c   e       i   n   f   o   r   m   a   t   i   o   n
0052000        (   i   n       t   h   i   s       e   x   a   m   p   l
0052020    e   ,       {   l   i   s   p       T   I   M   E   S   R   O
0052040    M   A   N   8   I   .   S   T   R   I   K   E   }   )       a
0052060    n   d       f   a   k   e   s       t   h   e       r   e   m
0052100    a   i   n   i   n   g       f   a   c   e   s       (   s   u
0052120    c   h       a   s       b   y       d   o   u   b   l   i   n
0052140    g       t   h   e       b   i   t       p   a   t   t   e   r
0052160    n       o   f       e   a   c   h       c   h   a   r   a   c
0052200    t   e   r       o   r       s   l   a   n   t   i   n   g    
0052220    i   t   )   .           F   a   i   l   i   n   g       t   h
0052240    a   t   ,       {   f   n       F   O   N   T   C   R   E   A
0052260    T   E   }       s   e   a   r   c   h   e   s       t   h   r
0052300    o   u   g   h       d   i   r   e   c   t   o   r   i   e   s
0052320        o   n       t   h   e       l   i   s   t       {   v   a
0052340    r       N   S   F   O   N   T   D   I   R   E   C   T   O   R
0052360    I   E   S   }       f   o   r       a   n       N   S       d
0052400    i   s   p   l   a   y       f   o   n   t   .   {   i   n   d
0052420    e   x       N   S   F   O   N   T   D   I   R   E   C   T   O
0052440    R   I   E   S       V   a   r   }           I   f       n   o
0052460        a   p   p   r   o   p   r   i   a   t   e   l   y       s
0052500    i   z   e   d       f   o   n   t       i   s       f   o   u
0052520    n   d   ,       t   h   e       a   c   t   i   o   n       o
0052540    f       t   h   e       f   u   n   c   t   i   o   n       i
0052560    s       d   e   t   e   r   m   i   n   e   d       b   y    
0052600    {   a   r   g       N   O   E   R   R   O   R   F   L   G   }
0052620    .           I   f       {   a   r   g       N   O   E   R   R
0052640    O   R   F   L   G   }       i   s       {   l   i   s   p    
0052660    N   I   L   }   ,       i   t       g   e   n   e   r   a   t
0052700    e   s       a       {   l   i   s   p       F   I   L   E    
0052720    N   O   T       F   O   U   N   D   }       e   r   r   o   r
0052740        w   i   t   h       t   h   e       n   a   m   e       o
0052760    f       t   h   e       m   o   s   t       s   p   e   c   i
0053000    f   i   c       f   i   l   e       t   r   i   e   d       (
0053020    i   n       t   h   e       e   x   a   m   p   l   e       {
0053040    l   i   s   p       T   I   M   E   S   R   O   M   A   N   8
0053060    B   I   .   S   T   R   I   K   E   }   )   ;       o   t   h
0053100    e   r   w   i   s   e   ,       {   f   n       F   O   N   T
0053120    C   R   E   A   T   E   }       r   e   t   u   r   n   s    
0053140    {   l   i   s   p       N   I   L   }   .  \r  \r   F   o   r
0053160        P   r   e   s   s       a   n   d       I   n   t   e   r
0053200    p   r   e   s   s       f   o   n   t   s   ,       {   f   n
0053220        F   O   N   T   C   R   E   A   T   E   }       a   c   c
0053240    e   s   s   e   s       t   h   e       w   i   d   t   h   s
0053260        i   n   f   o   r   m   a   t   i   o   n       f   o   r
0053300        t   h   e       f   o   n   t       f   r   o   m       a
0053320        f   o   n   t   -   d   i   c   t   i   o   n   a   r   y
0053340        f   i   l   e       w   h   o   s   e       n   a   m   e
0053360        i   s       i   n       t   h   e       l   i   s   t    
0053400    {   v   a   r       F   O   N   T   W   I   D   T   H   S   F
0053420    I   L   E   S   }   {   i   n   d   e   x       F   O   N   T
0053440    W   I   D   T   H   S   F   I   L   E   S       V   a   r   }
0053460        (   u   s   u   a   l   l   y       i   n   i   t   i   a
0053500    l   i   z   e   d       i   n       t   h   e       s   i   t
0053520    e   -   g   r   e   e   t   i   n   g       f   i   l   e    
0053540    t   o       c   o   n   t   a   i   n       a   t       l   e
0053560    a   s   t       {   l   i   s   p       {   b   r   a   c   k
0053600    e   t       D   S   K   }   F   O   N   T   S   .   W   I   D
0053620    T   H   S   )   }   .  \r   T   h   a   t       d   i   c   t
0053640    i   o   n   a   r   y       m   u   s   t       c   o   n   t
0053660    a   i   n       i   n   f   o   r   m   a   t   i   o   n    
0053700    f   o   r       t   h   e       f   a   c   e       a   s    
0053720    s   p   e   c   i   f   i   e   d   ;       t   h   e   r   e
0053740        i   s       n   o       a   c   c   e   p   t   a   b   l
0053760    e       f   a   k   i   n   g       a   l   g   o   r   i   t
0054000    h   m       f   o   r       h   a   r   d   -   c   o   p   y
0054020        f   o   n   t   s   .           T   h   e       w   i   d
0054040    t   h       a   n   d       h   e   i   g   h   t       i   n
0054060    f   o   r   m   a   t   i   o   n       f   o   r       p   r
0054100    e   s   s       f   o   n   t   s       i   s       e   x   p
0054120    r   e   s   s   e   d       i   n       m   i   c   a   s    
0054140    (   =       1   0       m   i   c   r   o   n   s       =    
0054160    1   /   2   5   4   0       i   n   c   h   )   ,       n   o
0054200    t       i   n       s   c   r   e   e   n   -   p   o   i   n
0054220    t       u   n   i   t   s   .  \r  \r   F   a   i   l   i   n
0054240    g       t   h   a   t   ,       {   f   n       F   O   N   T
0054260    C   R   E   A   T   E   }       s   e   a   r   c   h   e   s
0054300        t   h   e       d   i   r   e   c   t   o   r   i   e   s
0054320        i   n       t   h   e       l   i   s   t       {   v   a
0054340    r       N   S   F   O   N   T   W   I   D   T   H   S   D   I
0054360    R   E   C   T   O   R   I   E   S   }   {   i   n   d   e   x
0054400        N   S   F   O   N   T   W   I   D   T   H   S   D   I   R
0054420    E   C   T   O   R   I   E   S       V   a   r   }       f   o
0054440    r       a       f   i   l   e       n   a   m   e   d       s
0054460    o   m   e   t   h   i   n   g       l   i   k   e       {   l
0054500    i   s   p       M   O   D   E   R   N   1   0   -   C   0   .
0054520    W   D   }       f   o   r       t   h   e       f   o   n   t
0054540        {   l   i   s   p       (   M   O   D   E   R   N       1
0054560    0       (   M   E   D   I   U   M       R   E   G   U   L   A
0054600    R       R   E   G   U   L   A   R   )   )   }   .  \r   W   i
0054620    d   t   h       a   n   d       h   e   i   g   h   t       i
0054640    n   f   o   r   m   a   t   i   o   n       f   o   r       I
0054660    n   t   e   r   p   r   e   s   s       f   o   n   t   s    
0054700    i   s       e   x   p   r   e   s   s   e   d       i   n    
0054720    m   i   c   a   s       (   =       1   0       m   i   c   r
0054740    o   n   s       =       1   /   2   5   4   0       i   n   c
0054760    h   )   ,       n   o   t       i   n       s   c   r   e   e
0055000    n   -   p   o   i   n   t       u   n   i   t   s   .  \r  \r
0055020   \r   {   n   o   t   e       s   e   e   m   s       l   i   k
0055040    e       F   O   N   T   W   I   D   T   H   S   F   I   L   E
0055060    S       s   h   o   u   l   d       b   e       n   a   m   e
0055100    d       F   O   N   T   S   W   I   D   T   H   S   F   I   L
0055120    E   S   }  \r   {   n   o   t   e       F   O   N   T   W   I
0055140    D   T   H   S   F   I   L   E   S       i   s       a   l   s
0055160    o       m   e   n   t   i   o   n   e   d       i   n       h
0055200    a   r   d   c   o   p   y       o   u   t   p   u   t       s
0055220    e   c   t   i   o   n   }  \r  \r  \r   T   h   e       {   a
0055240    r   g       F   A   M   I   L   Y   }       a   r   g   u   m
0055260    e   n   t       t   o       {   f   n       F   O   N   T   C
0055300    R   E   A   T   E   }       m   a   y       a   l   s   o    
0055320    b   e       a       l   i   s   t   ,       i   n       w   h
0055340    i   c   h       c   a   s   e       i   t       i   s       i
0055360    n   t   e   r   p   r   e   t   e   d       a   s       a    
0055400    {   a   r   g       F   A   M   I   L   Y   }   -   {   a   r
0055420    g       S   I   Z   E   }   -   {   a   r   g       F   A   C
0055440    E   }   -   {   a   r   g       R   O   T   A   T   I   O   N
0055460    }       q   u   a   d   r   u   p   l   e   .           T   h
0055500    u   s   ,       {   l   i   s   p       (   F   O   N   T   C
0055520    R   E   A   T   E       '   (   G   A   C   H   A       1   0
0055540        B   O   L   D   )   )   }       i   s       e   q   u   i
0055560    v   a   l   e   n   t       t   o       {   l   i   s   p    
0055600    (   F   O   N   T   C   R   E   A   T   E       '   G   A   C
0055620    H   A       1   0       '   B   O   L   D   )   }   .        
0055640    {   a   r   g       F   A   M   I   L   Y   }       m   a   y
0055660        a   l   s   o       b   e       a       f   o   n   t    
0055700    d   e   s   c   r   i   p   t   o   r   ,       i   n       w
0055720    h   i   c   h       c   a   s   e       t   h   a   t       d
0055740    e   s   c   r   i   p   t   o   r       i   s       s   i   m
0055760    p   l   y       r   e   t   u   r   n   e   d   .  \r   }   }
0056000   \r  \r   {   F   n   D   e   f       {   N   a   m   e       F
0056020    O   N   T   S   A   V   A   I   L   A   B   L   E   }       {
0056040    A   r   g   s       F   A   M   I   L   Y       S   I   Z   E
0056060        F   A   C   E       R   O   T   A   T   I   O   N       D
0056100    E   V   I   C   E       C   H   E   C   K   F   I   L   E   S
0056120    T   O   O   ?   }  \r   {   T   e   x   t  \r   R   e   t   u
0056140    r   n   s       a       l   i   s   t       o   f       f   o
0056160    n   t   s       t   h   a   t       m   a   t   c   h       t
0056200    h   e       g   i   v   e   n       s   p   e   c   i   f   i
0056220    c   a   t   i   o   n   .           {   a   r   g       F   A
0056240    M   I   L   Y   }   ,       {   a   r   g       S   I   Z   E
0056260    }   ,       {   a   r   g       F   A   C   E   }       a   n
0056300    d       {   a   r   g       D   E   V   I   C   E   }       a
0056320    r   e       t   h   e       s   a   m   e       a   s       f
0056340    o   r       {   f   n       F   O   N   T   C   R   E   A   T
0056360    E   }   .           A   d   d   i   t   i   o   n   a   l   l
0056400    y   ,       a   n   y       o   f       t   h   e   m       c
0056420    a   n       b   e       {   l   i   s   p       *   }       i
0056440    n       w   h   i   c   h       c   a   s   e   ,       a   l
0056460    l       v   a   l   u   e   s       o   f       t   h   a   t
0056500        f   i   e   l   d       a   r   e       m   a   t   c   h
0056520    e   d   .           I   f       {   a   r   g       C   H   E
0056540    C   K   F   I   L   E   S   T   O   O   ?   }       i   s    
0056560    {   l   i   s   p       N   I   L   }   ,       o   n   l   y
0056600        f   o   n   t   s       a   l   r   e   a   d   y       l
0056620    o   a   d   e   d       i   n   t   o       v   i   r   t   u
0056640    a   l       m   e   m   o   r   y       w   i   l   l       b
0056660    e       c   o   n   s   i   d   e   r   e   d   .           I
0056700    f       {   a   r   g       C   H   E   C   K   F   I   L   E
0056720    S   T   O   O   ?   }       i   s       n   o   n   -   {   l
0056740    i   s   p       N   I   L   }   ,       t   h   e       f   o
0056760    n   t       d   i   r   e   c   t   o   r   i   e   s       f
0057000    o   r       t   h   e       s   p   e   c   i   f   i   e   d
0057020        d   e   v   i   c   e       w   i   l   l       b   e    
0057040    s   e   a   r   c   h   e   d   .       W   h   e   n       c
0057060    h   e   c   k   i   n   g       f   o   n   t       f   i   l
0057100    e   s   ,       t   h   e       {   a   r   g       R   O   T
0057120    A   T   I   O   N   }       i   s       i   g   n   o   r   e
0057140    d   .           N   o   t   e   :       I   n       s   y   s
0057160    t   e   m   s       w   i   t   h       s   e   v   e   r   a
0057200    l       f   o   n   t       d   i   r   e   c   t   o   r   i
0057220    e   s   ,       w   i   l   d   c   a   r   d       s   e   a
0057240    r   c   h   e   s       m   a   y       t   a   k   e       a
0057260        w   h   i   l   e   .           N   o   t   e   :       T
0057300    h   e       s   e   a   r   c   h       i   s       c   o   n
0057320    d   i   t   i   o   n   a   l       o   n       t   h   e    
0057340    s   t   a   t   u   s       o   f       t   h   e       s   e
0057360    r   v   e   r       w   h   i   c   h       h   o   l   d   s
0057400        t   h   e       f   o   n   t   .           T   h   u   s
0057420        a       f   i   l   e       s   e   r   v   e   r       c
0057440    r   a   s   h       m   a   y       p   r   e   v   e   n   t
0057460        {   f   n       F   O   N   T   C   R   E   A   T   E   }
0057500        f   r   o   m       f   i   n   d   i   n   g       a    
0057520    f   i   l   e       t   h   a   t       a   n       e   a   r
0057540    l   i   e   r       {   f   n       F   O   N   T   S   A   V
0057560    A   I   L   A   B   L   E   }       r   e   t   u   r   n   e
0057600    d   .      \r  \r   E   a   c   h       e   l   e   m   e   n
0057620    t       o   f       t   h   e       l   i   s   t       r   e
0057640    t   u   r   n   e   d       w   i   l   l       b   e       o
0057660    f       t   h   e       f   o   r   m       (   F   a   m   i
0057700    l   y       S   i   z   e       F   a   c   e       R   o   t
0057720    a   t   i   o   n       D   e   v   i   c   e   )   .  \r  \r
0057740    C   A   V   E   A   T       f   o   r       P   R   E   S   S
0057760        d   e   v   i   c   e   :           F   o   r       P   R
0060000    E   S   S       d   e   v   i   c   e   s   ,       t   h   e
0060020    r   e       i   s       n   o       w   a   y       o   f    
0060040    o   b   t   a   i   n   i   n   g       e   x   a   c   t   l
0060060    y       w   h   a   t       f   o   n   t   s       a   r   e
0060100        o   n       a       g   i   v   e   n       p   r   i   n
0060120    t   e   r   .           {   f   n       F   O   N   T   S   A
0060140    V   A   I   L   A   B   L   E   }       u   s   e   s       t
0060160    h   e       f   o   n   t   s       w   i   d   t   h   s    
0060200    f   i   l   e   s       t   o       o   b   t   a   i   n    
0060220    i   t   s       i   n   f   o   r   m   a   t   i   o   n   .
0060240            F   o   r       m   a   n   y       c   o   m   m   o
0060260    n       f   o   n   t   s       s   u   c   h       a   s    
0060300    G   A   C   H   A   ,       T   I   M   E   S   R   O   M   A
0060320    N       a   n   d       H   E   L   V   E   T   I   C   A   ,
0060340        t   h   i   s       i   n   f   o   r   m   a   t   i   o
0060360    n       d   o   e   s       n   o   t       i   n   c   l   u
0060400    d   e       f   o   n   t       s   i   z   e   s   .        
0060420    I   n       t   h   e   s   e       c   a   s   e   s   ,    
0060440    i   f       t   h   e       {   a   r   g       S   I   Z   E
0060460    }       i   s       a       n   u   m   b   e   r   ,       i
0060500    t       w   i   l   l       b   e       a   s   s   u   m   e
0060520    d       t   o       e   x   i   s   t   .           I   f    
0060540    t   h   e       {   a   r   g       S   I   Z   E   }       i
0060560    s       '   {   l   i   s   p       *   }   ,       t   h   e
0060600        s   i   z   e       f   i   e   l   d       i   n       t
0060620    h   e       r   e   t   u   r   n   e   d       l   i   s   t
0060640        w   i   l   l       b   e       0   .          \r  \r   E
0060660    x   a   m   p   l   e   s   :  \r  \r   {   l   i   s   p  \r
0060700    (   F   O   N   T   S   A   V   A   I   L   A   B   L   E    
0060720    '   M   O   D   E   R   N       1   0       N   I   L       N
0060740    I   L       '   D   I   S   P   L   A   Y   )  \r  \r   w   i
0060760    l   l       r   e   t   u   r   n       {   l   i   s   p    
0061000    (   M   O   D   E   R   N       1   0       (   M   E   D   I
0061020    U   M       R   E   G   U   L   A   R       R   E   G   U   L
0061040    A   R   )       0       D   I   S   P   L   A   Y   )   }    
0061060    i   f       M   o   d   e   r   n   1   0       f   o   r    
0061100    t   h   e       d   i   s   p   l   a   y       i   s       i
0061120    n       v   i   r   t   u   a   l       m   e   m   o   r   y
0061140    ;       {   l   i   s   p       N   I   L   }       o   t   h
0061160    e   r   w   i   s   e   .  \r  \r   {   l   i   s   p  \r   (
0061200    F   O   N   T   S   A   V   A   I   L   A   B   L   E       '
0061220    *       1   4       N   I   L       N   I   L       '   I   N
0061240    T   E   R   P   R   E   S   S   )  \r  \r   w   i   l   l    
0061260    r   e   t   u   r   n       a       l   i   s   t       o   f
0061300        a   l   l       t   h   e       s   i   z   e       1   4
0061320        i   n   t   e   r   p   r   e   s   s       f   o   n   t
0061340    s   .      \r      \r   }   }  \r  \r  \r  \r  \r   {   F   n
0061360    D   e   f       {   N   a   m   e       F   O   N   T   P   }
0061400        {   A   r   g   s       X   }  \r   {   T   e   x   t  \r
0061420    R   e   t   u   r   n   s       {   a   r   g       X   }    
0061440    i   f       {   a   r   g       X   }       i   s       a    
0061460    f   o   n   t       d   e   s   c   r   i   p   t   o   r   ;
0061500        {   l   i   s   p       N   I   L   }  \r   o   t   h   e
0061520    r   w   i   s   e   .  \r   }   }  \r  \r   T   h   e       f
0061540    o   l   l   o   w   i   n   g       f   u   n   c   t   i   o
0061560    n   s       t   a   k   e       a       f   o   n   t       a
0061600    s       o   n   e       a   r   g   u   m   e   n   t   .    
0061620        T   h   i   s       a   r   g   u   m   e   n   t       m
0061640    u   s   t       e   i   t   h   e   r       b   e       a    
0061660    p   a   r   t   i   c   u   l   a   r       f   o   n   t    
0061700    d   e   s   c   r   i   p   t   o   r       o   r       c   o
0061720    e   r   c   e   a   b   l   e       t   o       a       f   o
0061740    n   t       d   e   s   c   r   i   p   t   o   r   .        
0061760    A       d   i   s   p   l   a   y       s   t   r   e   a   m
0062000        i   s       c   o   e   r   c   e   d       t   o       i
0062020    t   s       c   u   r   r   e   n   t       f   o   n   t   ,
0062040        a       w   i   n   d   o   w       i   s       c   o   e
0062060    r   c   e   d       t   o       t   h   e       c   u   r   r
0062100    e   n   t       f   o   n   t       o   f       i   t   s    
0062120    d   i   s   p   l   a   y       s   t   r   e   a   m   ,    
0062140    a   n   d       a   n   y   t   h   i   n   g       e   l   s
0062160    e       i   s       c   o   e   r   c   e   d       b   y    
0062200    a   p   p   l   y   i   n   g       {   f   n       F   O   N
0062220    T   C   R   E   A   T   E   }       t   o       i   t   .   {
0062240    n   o   t   e       w   h   a   t       i   f       x   =   N
0062260    I   L   ?           -   -   l   m   m   }  \r  \r   {   F   n
0062300    D   e   f       {   N   a   m   e       F   O   N   T   P   R
0062320    O   P   }       {   A   r   g   s       F   O   N   T       P
0062340    R   O   P   }  \r   {   T   e   x   t  \r   R   e   t   u   r
0062360    n   s       t   h   e       v   a   l   u   e       o   f    
0062400    t   h   e       {   a   r   g       P   R   O   P   }       p
0062420    r   o   p   e   r   t   y       o   f       f   o   n   t    
0062440    {   a   r   g       F   O   N   T   }   .           {   a   r
0062460    g       P   R   O   P   }       m   a   y       b   e       o
0062500    n   e       o   f       {   l   i   s   p       F   A   M   I
0062520    L   Y   }   ,       {   l   i   s   p       S   I   Z   E   }
0062540    ,       {   l   i   s   p       F   A   C   E   }   ,       {
0062560    l   i   s   p       W   E   I   G   H   T   }   ,       {   l
0062600    i   s   p       S   L   O   P   E   }   ,       {   l   i   s
0062620    p       E   X   P   A   N   S   I   O   N   }   ,       {   l
0062640    i   s   p       D   E   V   I   C   E   }   ,       {   l   i
0062660    s   p       A   S   C   E   N   T   }   ,       {   l   i   s
0062700    p       D   E   S   C   E   N   T   }   ,       {   l   i   s
0062720    p       H   E   I   G   H   T   }   ,       o   r       {   l
0062740    i   s   p       R   O   T   A   T   I   O   N   }   .  \r   }
0062760    }  \r  \r  \r   {   F   n   D   e   f       {   N   a   m   e
0063000        F   O   N   T   C   O   P   Y   }  \r   {   A   r   g   s
0063020        O   L   D   F   O   N   T       P   R   O   P   {   s   u
0063040    b       1   }       V   A   L   {   s   u   b       1   }    
0063060    P   R   O   P   {   s   u   b       2   }       V   A   L   {
0063100    s   u   b       2   }       {   e   l   l   i   p   s   i   s
0063120    }   }  \r   {   T   y   p   e       n   o   s   p   r   e   a
0063140    d   }  \r   {   T   e   x   t  \r   R   e   t   u   r   n   s
0063160        a       f   o   n   t       d   e   s   c   r   i   p   t
0063200    o   r       t   h   a   t       i   s       a       c   o   p
0063220    y       o   f       t   h   e       f   o   n   t       {   a
0063240    r   g       O   L   D   F   O   N   T   }   ,       b   u   t
0063260        w   h   i   c   h       d   i   f   f   e   r   s       f
0063300    r   o   m       {   a   r   g       O   L   D   F   O   N   T
0063320    }       i   n       t   h   a   t       {   a   r   g       O
0063340    L   D   F   O   N   T   }   '   s       p   r   o   p   e   r
0063360    t   i   e   s       a   r   e       r   e   p   l   a   c   e
0063400    d       b   y       t   h   e       s   p   e   c   i   f   i
0063420    e   d       p   r   o   p   e   r   t   i   e   s       a   n
0063440    d       v   a   l   u   e   s   .           T   h   u   s   ,
0063460        {   l   i   s   p       (   F   O   N   T   C   O   P   Y
0063500        {   a   r   g       F   O   N   T   }       '   W   E   I
0063520    G   H   T       '   B   O   L   D       '   D   E   V   I   C
0063540    E       '   P   R   E   S   S   )   }       w   i   l   l    
0063560    r   e   t   u   r   n       a       b   o   l   d       p   r
0063600    e   s   s       f   o   n   t       w   i   t   h       a   l
0063620    l       o   t   h   e   r       p   r   o   p   e   r   t   i
0063640    e   s       t   h   e       s   a   m   e       a   s       t
0063660    h   o   s   e       o   f       {   a   r   g       F   O   N
0063700    T   }   .           {   f   n       F   O   N   T   C   O   P
0063720    Y   }       a   c   c   e   p   t   s       a   l   l       t
0063740    h   e       p   r   o   p   e   r   t   i   e   s       t   h
0063760    a   t       {   f   n       F   O   N   T   P   R   O   P   }
0064000        i   n   t   e   r   r   o   g   a   t   e   s       e   x
0064020    c   e   p   t       f   o   r       {   l   i   s   p       A
0064040    S   C   E   N   T   }   ,       {   l   i   s   p       D   E
0064060    S   C   E   N   T   }   ,       a   n   d       {   l   i   s
0064100    p       H   E   I   G   H   T   }   .           I   f       t
0064120    h   e       f   i   r   s   t       p   r   o   p   e   r   t
0064140    y       i   s       a       l   i   s   t   ,       i   t    
0064160    i   s       t   a   k   e   n       t   o       b   e       t
0064200    h   e       {   a   r   g       P   R   O   P   {   s   u   b
0064220        1   }   }       {   a   r   g       V   A   L   {   s   u
0064240    b       1   }   }       {   a   r   g       P   R   O   P   {
0064260    s   u   b       2   }   }       {   a   r   g       V   A   L
0064300    {   s   u   b       2   }   }       {   e   l   l   i   p   s
0064320    i   s   }       s   e   q   u   e   n   c   e   .           T
0064340    h   u   s   ,       {   l   i   s   p       (   F   O   N   T
0064360    C   O   P   Y       {   a   r   g       F   O   N   T   }    
0064400    '   (   W   E   I   G   H   T       B   O   L   D       D   E
0064420    V   I   C   E       P   R   E   S   S   )   )   }       i   s
0064440        e   q   u   i   v   a   l   e   n   t       t   o       t
0064460    h   e       e   x   a   m   p   l   e       a   b   o   v   e
0064500    .  \r   }   }  \r  \r  \r  \r   {   F   n   D   e   f       {
0064520    N   a   m   e       C   H   A   R   W   I   D   T   H   }    
0064540    {   A   r   g   s       C   H   A   R   C   O   D   E       F
0064560    O   N   T   }  \r   {   T   e   x   t  \r   {   a   r   g    
0064600    C   H   A   R   C   O   D   E   }       i   s       a   n    
0064620    i   n   t   e   g   e   r       t   h   a   t       r   e   p
0064640    r   e   s   e   n   t   s       a       v   a   l   i   d    
0064660    c   h   a   r   a   c   t   e   r       (   a   s       r   e
0064700    t   u   r   n   e   d       b   y       {   f   n       C   H
0064720    C   O   N   1   }   )   .           R   e   t   u   r   n   s
0064740        t   h   e       a   m   o   u   n   t       b   y       w
0064760    h   i   c   h       a       s   t   r   e   a   m   '   s    
0065000    X   -   p   o   s   i   t   i   o   n       w   i   l   l    
0065020    b   e       i   n   c   r   e   m   e   n   t   e   d       w
0065040    h   e   n       t   h   e       c   h   a   r   a   c   t   e
0065060    r       i   s       p   r   i   n   t   e   d   .  \r  \r   {
0065100    n   o   t   e       E   x   a   m   p   l   e   ?   }  \r   }
0065120    }  \r  \r  \r   {   F   n   D   e   f       {   N   a   m   e
0065140        C   H   A   R   W   I   D   T   H   Y   }       {   A   r
0065160    g   s       C   H   A   R   C   O   D   E       F   O   N   T
0065200    }  \r   {   T   e   x   t  \r   L   i   k   e       {   f   n
0065220        C   H   A   R   W   I   D   T   H   }   ,       b   u   t
0065240        r   e   t   u   r   n   s       t   h   e       Y       c
0065260    o   m   p   o   n   e   n   t       o   f       t   h   e  \r
0065300    c   h   a   r   a   c   t   e   r   '   s       w   i   d   t
0065320    h   ,       t   h   e       a   m   o   u   n   t       b   y
0065340        w   h   i   c   h       a       s   t   r   e   a   m   '
0065360    s       Y   -   p   o   s   i   t   i   o   n       w   i   l
0065400    l  \r   b   e       i   n   c   r   e   m   e   n   t   e   d
0065420        w   h   e   n       t   h   e       c   h   a   r   a   c
0065440    t   e   r       i   s       p   r   i   n   t   e   d   .    
0065460        T   h   i   s       w   i   l   l       b   e       z   e
0065500    r   o  \r   f   o   r       m   o   s   t       c   h   a   r
0065520    a   c   t   e   r   s       i   n       n   o   r   m   a   l
0065540        p   o   r   t   r   a   i   t       f   o   n   t   s   ,
0065560        b   u   t       m   a   y       b   e       n   o   n   -
0065600    z   e   r   o       f   o   r  \r   l   a   n   d   s   c   a
0065620    p   e       f   o   n   t   s       o   r       f   o   r    
0065640    v   e   c   t   o   r   -   d   r   a   w   i   n   g       f
0065660    o   n   t   s   .   {   n   o   t   e       d   o       w   e
0065700        h   a   v   e       a   n   y   ?   }  \r  \r   {   n   o
0065720    t   e       c   u   r   r   e   n   t   l   y   ,       t   h
0065740    e       p   r   i   n   t   i   n   g       o   p   e   r   a
0065760    t   i   o   n   s       d   o       n   o   t       l   o   o
0066000    k       a   t       t   h   e       c   h   a   r       Y   -
0066020    w   i   d   t   h   ,       f   o   r       p   e   r   f   o
0066040    r   m   a   n   c   e       r   e   a   s   o   n   s   .    
0066060        D   o   c   ?   ?   }  \r   }   }  \r  \r  \r   {   F   n
0066100    D   e   f       {   N   a   m   e       S   T   R   I   N   G
0066120    W   I   D   T   H   }       {   A   r   g   s       S   T   R
0066140        F   O   N   T       P   R   I   N   2   F   L   G       R
0066160    D   T   B   L   }  \r   {   T   e   x   t  \r   R   e   t   u
0066200    r   n   s       t   h   e       a   m   o   u   n   t       b
0066220    y       w   h   i   c   h       a       s   t   r   e   a   m
0066240    '   s       X   -   p   o   s   i   t   i   o   n       w   i
0066260    l   l       b   e       i   n   c   r   e   m   e   n   t   e
0066300    d       i   f       t   h   e       p   r   i   n   t   n   a
0066320    m   e       f   o   r       t   h   e       I   n   t   e   r
0066340    l   i   s   p   -   D       o   b   j   e   c   t       {   a
0066360    r   g       S   T   R   }       i   s       p   r   i   n   t
0066400    e   d       i   n       f   o   n   t       {   a   r   g    
0066420    F   O   N   T   }   .           I   f       {   a   r   g    
0066440    F   O   N   T   }       i   s       a       d   i   s   p   l
0066460    a   y       s   t   r   e   a   m   ,       i   t   s       f
0066500    o   n   t       i   s       u   s   e   d   .           I   f
0066520        {   a   r   g       P   R   I   N   2   F   L   G   }    
0066540    i   s       n   o   n   -   {   l   i   s   p       N   I   L
0066560    }   ,       t   h   e       {   l   i   s   p       P   R   I
0066600    N   2   }   -   p   n   a   m   e       o   f       {   a   r
0066620    g       S   T   R   }       w   i   t   h       r   e   s   p
0066640    e   c   t       t   o       t   h   e       r   e   a   d   t
0066660    a   b   l   e       {   a   r   g       R   D   T   B   L   }
0066700        i   s       u   s   e   d   .  \r   }   }  \r  \r  \r   {
0066720    F   n   D   e   f       {   N   a   m   e       S   T   R   I
0066740    N   G   R   E   G   I   O   N   }       {   A   r   g   s    
0066760    S   T   R       W   I   N   D   O   W       P   R   I   N   2
0067000    F   L   G       R   D   T   B   L   }  \r   {   T   e   x   t
0067020   \r   R   e   t   u   r   n   s       t   h   e       r   e   g
0067040    i   o   n       o   c   c   u   p   i   e   d       b   y    
0067060    {   a   r   g       S   T   R   }       i   f       i   t    
0067100    w   e   r   e       p   r   i   n   t   e   d       a   t    
0067120    t   h   e       c   u   r   r   e   n   t       l   o   c   a
0067140    t   i   o   n       i   n       {   a   r   g       W   I   N
0067160    D   O   W   }   .           T   h   i   s       i   s       u
0067200    s   e   f   u   l       f   o   r       d   e   t   e   r   m
0067220    i   n   i   n   g       w   h   e   r   e       t   e   x   t
0067240        i   s       i   n       a       w   i   n   d   o   w    
0067260    t   o       a   l   l   o   w       t   h   e       u   s   e
0067300    r       t   o       s   e   l   e   c   t       i   t   .    
0067320        T   h   e       a   r   g   u   m   e   n   t   s       {
0067340    a   r   g       P   R   I   N   2   F   L   G   }       a   n
0067360    d       {   a   r   g       R   D   T   B   L   }       a   r
0067400    e       p   a   s   s   e   d       t   o       {   f   n    
0067420    S   T   R   I   N   G   W   I   D   T   H   }   .  \r   }   }
0067440   \r  \r  \r   I   t       i   s       s   o   m   e   t   i   m
0067460    e   s       u   s   e   f   u   l       t   o       s   i   m
0067500    u   l   a   t   e       a   n       u   n   a   v   a   i   l
0067520    a   b   l   e       f   o   n   t       o   r       t   o    
0067540    u   s   e       a  \r   f   o   n   t       w   i   t   h    
0067560    c   h   a   r   a   c   t   e   r   i   s   t   i   c   s    
0067600    d   i   f   f   e   r   e   n   t       f   r   o   m       t
0067620    h   e       i   n   t   e   r   p   r   e   t   a   t   i   o
0067640    n   s  \r   p   r   o   v   i   d   e   d       b   y       t
0067660    h   e       s   y   s   t   e   m   .           T   h   e    
0067700    f   o   l   l   o   w   i   n   g       f   u   n   c   t   i
0067720    o   n       a   l   l   o   w   s       t   h   e       u   s
0067740    e   r       t   o  \r   t   e   l   l       t   h   e       s
0067760    y   s   t   e   m       w   h   a   t       f   o   n   t    
0070000    d   e   s   c   r   i   p   t   o   r       t   o       u   s
0070020    e       f   o   r       g   i   v   e   n  \r   c   h   a   r
0070040    a   c   t   e   r   i   s   t   i   c   s   .  \r  \r  \r   {
0070060    F   n   D   e   f       {   N   a   m   e       S   E   T   F
0070100    O   N   T   D   E   S   C   R   I   P   T   O   R   }       {
0070120    A   r   g   s       F   A   M   I   L   Y       S   I   Z   E
0070140        F   A   C   E       R   O   T   A   T   I   O   N       D
0070160    E   V   I   C   E       F   O   N   T   }  \r   {   T   e   x
0070200    t  \r   I   n   d   i   c   a   t   e   s       t   o       t
0070220    h   e       s   y   s   t   e   m       t   h   a   t       {
0070240    a   r   g       F   O   N   T   }       i   s       t   h   e
0070260        f   o   n   t       w   i   t   h       t   h   e  \r   {
0070300    a   r   g       F   A   M   I   L   Y   }       {   a   r   g
0070320        S   I   Z   E   }       {   a   r   g       F   A   C   E
0070340    }       {   a   r   g       R   O   T   A   T   I   O   N   }
0070360        {   a   r   g       D   E   V   I   C   E   }  \r   c   h
0070400    a   r   a   c   t   e   r   i   s   t   i   c   s   .        
0070420    I   f       {   a   r   g       F   O   N   T   }       i   s
0070440        {   l   i   s   p       N   I   L   }   ,       t   h   e
0070460        f   o   n   t       a   s   s   o   c   i   a   t   e   d
0070500   \r   w   i   t   h       t   h   e   s   e       c   h   a   r
0070520    a   c   t   e   r   i   s   t   i   c   s       i   s       c
0070540    l   e   a   r   e   d       a   n   d       w   i   l   l    
0070560    b   e       r   e   c   r   e   a   t   e   d       t   h   e
0070600   \r   n   e   x   t       t   i   m   e       i   t       i   s
0070620        n   e   e   d   e   d   .           A   s       w   i   t
0070640    h       {   f   n       F   O   N   T   P   R   O   P   }    
0070660    a   n   d       {   f   n  \r   F   O   N   T   C   O   P   Y
0070700    }   ,       {   a   r   g       F   O   N   T   }       i   s
0070720        c   o   e   r   c   e   d       t   o       a       f   o
0070740    n   t       d   e   s   c   r   i   p   t   o   r       i   f
0070760        i   t       i   s       n   o   t  \r   o   n   e       a
0071000    l   r   e   a   d   y   .  \r   }   }  \r  \r  \r   {   F   n
0071020    D   e   f       {   N   a   m   e       D   E   F   A   U   L
0071040    T   F   O   N   T   }       {   A   r   g   s       D   E   V
0071060    I   C   E       F   O   N   T       {   a   n   o   n   a   r
0071100    g   }   }  \r   {   T   e   x   t  \r   R   e   t   u   r   n
0071120    s       t   h   e       f   o   n   t       t   h   a   t    
0071140    w   o   u   l   d       b   e       u   s   e   d       a   s
0071160        t   h   e       d   e   f   a   u   l   t       (   i   f
0071200        {   l   i   s   p       N   I   L   }       w   e   r   e
0071220        s   p   e   c   i   f   i   e   d       a   s       a    
0071240    f   o   n   t       a   r   g   u   m   e   n   t   )       f
0071260    o   r       d   e   v   i   c   e       {   a   r   g       D
0071300    E   V   I   C   E   }   .           I   f       {   a   r   g
0071320        F   O   N   T   }       i   s       a       f   o   n   t
0071340        d   e   s   c   r   i   p   t   o   r   ,       i   t    
0071360    i   s       s   e   t       t   o       b   e       t   h   e
0071400        d   e   f   a   u   l   t       f   o   n   t       f   o
0071420    r       {   a   r   g       D   E   V   I   C   E   }   .  \r
0071440    }   }  \r  \r  \r  \r   T   h   e       f   o   l   l   o   w
0071460    i   n   g       f   u   n   c   t   i   o   n   s       a   l
0071500    l   o   w       t   h   e       u   s   e   r       t   o    
0071520    a   c   c   e   s   s       a   n   d       c   h   a   n   g
0071540    e       t   h   e       b   i   t   m   a   p   s       f   o
0071560    r       i   n   d   i   v   i   d   u   a   l       c   h   a
0071600    r   a   c   t   e   r   s       i   n       a       d   i   s
0071620    p   l   a   y       f   o   n   t   .  \r  \r  \r   {   F   n
0071640    D   e   f       {   N   a   m   e       G   E   T   C   H   A
0071660    R   B   I   T   M   A   P   }       {   A   r   g   s       C
0071700    H   A   R   C   O   D   E       F   O   N   T   }  \r   {   T
0071720    e   x   t  \r   R   e   t   u   r   n   s       a       b   i
0071740    t   m   a   p       c   o   n   t   a   i   n   i   n   g    
0071760    a       c   o   p   y       o   f       t   h   e       i   m
0072000    a   g   e       o   f       t   h   e  \r   c   h   a   r   a
0072020    c   t   e   r       {   a   r   g       C   H   A   R   C   O
0072040    D   E   }       i   n       t   h   e       f   o   n   t    
0072060    {   a   r   g       F   O   N   T   }   .  \r   }   }  \r  \r
0072100   \r   {   F   n   D   e   f       {   N   a   m   e       P   U
0072120    T   C   H   A   R   B   I   T   M   A   P   }       {   A   r
0072140    g   s       C   H   A   R   C   O   D   E       F   O   N   T
0072160        N   E   W   C   H   A   R   B   I   T   M   A   P   }  \r
0072200    {   T   e   x   t  \r   C   h   a   n   g   e   s       t   h
0072220    e       b   i   t   m   a   p       i   m   a   g   e       o
0072240    f       t   h   e       c   h   a   r   a   c   t   e   r    
0072260    {   a   r   g       C   H   A   R   C   O   D   E   }       i
0072300    n  \r   t   h   e       f   o   n   t       {   a   r   g    
0072320    F   O   N   T   }       t   o       t   h   e       b   i   t
0072340    m   a   p       {   a   r   g       N   E   W   C   H   A   R
0072360    B   I   T   M   A   P   }   .           C   u   r   r   e   n
0072400    t   l   y   ,  \r   {   a   r   g       N   E   W   C   H   A
0072420    R   B   I   T   M   A   P   }       m   u   s   t       b   e
0072440        t   h   e       s   a   m   e       w   i   d   t   h    
0072460    a   n   d       h   e   i   g   h   t       a   s       t   h
0072500    e  \r   c   u   r   r   e   n   t       i   m   a   g   e    
0072520    f   o   r       {   a   r   g       C   H   A   R   C   O   D
0072540    E   }       i   n       t   h   e       f   o   n   t       {
0072560    a   r   g       F   O   N   T   }   .  \r   }   }  \r  \r   U
0072600    s   e   r   s       c   a   n       i   n   t   e   r   a   c
0072620    t   i   v   e   l   y       e   d   i   t       c   h   a   r
0072640    a   c   t   e   r   s       u   s   i   n   g       t   h   e
0072660        {   f   n       E   D   I   T   C   H   A   R   }       f
0072700    u   n   c   t   i   o   n       (   {   P   a   g   e   R   e
0072720    f       F   n       E   D   I   T   C   H   A   R   }   )   .
0072740   \r  \r  \r   }   {   E   n   d       S   u   b   S   e   c    
0072760    C   h   a   r   a   c   t   e   r   s       a   n   d       F
0073000    o   n   t   s   }  \r  \r  \r  \0  \0  \v 035  \0  \0  \0 005
0073020    G   A   C   H   A  \0  \n  \0  \0  \0  \0  \0  \0  \0  \0  \0
0073040   \0  \0 001  \0  \0  \0 005   G   A   C   H   A  \0  \n  \0  \0
0073060   \0  \0  \0 001  \0 020   E   D   I   T   M   A   R   K   .   S
0073100    T   Y   L   E   F   N  \0  \0  \0  \0  \0  \0  \0 016  \0  \0
0073120   \0 005   G   A   C   H   A  \0  \n  \0  \0  \0  \0  \0  \0  \0
0073140   \0  \0  \0  \0 020  \0  \0  \0 005   G   A   C   H   A  \0  \n
0073160   \0  \0  \0  \0  \0 001  \0 020   E   D   I   T   M   A   R   K
0073200    .   S   T   Y   L   E   F   N  \0  \0  \0  \0  \0  \0  \0 017
0073220   \0  \0  \0 005   G   A   C   H   A  \0  \n  \0  \0  \0  \0  \0
0073240   \0  \0  \0  \0  \0  \0 005  \0  \0  \0 005   G   A   C   H   A
0073260   \0  \n  \0  \0  \0  \0  \0 001  \0 020   E   D   I   T   M   A
0073300    R   K   .   S   T   Y   L   E   F   N  \0  \0  \0  \0  \0  \0
0073320   \0   3  \0  \0  \0 005   G   A   C   H   A  \0  \n  \0  \0  \0
0073340   \0  \0  \0  \0  \0  \0  \0  \0 023  \0  \0  \0 005   G   A   C
0073360    H   A  \0  \n  \0  \0  \0  \0  \0 001  \0 020   E   D   I   T
0073400    M   A   R   K   .   S   T   Y   L   E   F   N  \0  \0  \0  \0
0073420   \0  \0  \0 037  \0  \0  \0 005   G   A   C   H   A  \0  \n  \0
0073440   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \t  \0  \0  \0 005   G
0073460    A   C   H   A  \0  \n  \0  \0  \0  \0  \0 001  \0 020   E   D
0073500    I   T   M   A   R   K   .   S   T   Y   L   E   F   N  \0  \0
0073520   \0  \0  \0  \0  \0 021  \0  \0  \0 005   G   A   C   H   A  \0
0073540   \n  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0 005  \0  \0  \0
0073560  005   G   A   C   H   A  \0  \n  \0  \0  \0  \0  \0 001  \0 020
0073600    E   D   I   T   M   A   R   K   .   S   T   Y   L   E   F   N
0073620   \0  \0  \0  \0  \0  \0  \0  \a  \0  \0  \0 005   G   A   C   H
0073640    A  \0  \n  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \r  \0
0073660   \0  \0 005   G   A   C   H   A  \0  \n  \0  \0  \0  \0  \0 001
0073700   \0 020   E   D   I   T   M   A   R   K   .   S   T   Y   L   E
0073720    F   N  \0  \0  \0  \0  \0  \0  \0 001  \0  \0  \0 005   G   A
0073740    C   H   A  \0  \n  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
0073760  327  \0  \0  \0 005   G   A   C   H   A  \0  \n  \0  \0  \0  \0
0074000   \0 001  \0 020   E   D   I   T   M   A   R   K   .   S   T   Y
0074020    L   E   F   N  \0  \0  \0  \0  \0  \0   i   H  \0  \0  \0 005
0074040    G   A   C   H   A  \0  \n  \0  \0  \0  \0  \0  \0  \0  \0  \0
0074060   \0   v  \b  \0 021   z 270                                    
0074067