$ od -c -N 50000 [eris]<Lisp>JCAI>library>IMAGEOBJ.TEDIT!1
0000000 I n t r o d u c i n g O b j e
0000020 c t s i n t o D o c u m e n
0000040 t s \r \r s t o r e d o n : {
0000060 p h y l u m } < l i s p c o r e
0000100 > l i b r a r y > I m a g e o b
0000120 j . T E d i t \r l a s t c h a
0000140 n g e d : F e b r u a r y 1
0000160 9 , 1 9 8 5 \r b y : R . B
0000200 u r t o n J . S y b a l s k y
0000220 \r \r \r T h e f o l l o w i n g
0000240 p r o p o s a l a r o s e
0000260 o u t o f d i s c u s s i o
0000300 n s b e t w e e n J o h n
0000320 S y b a l s k y , R o n K a
0000340 p l a n a n d R i c h a r d
0000360 B u r t o n a b o u t p u
0000400 t t i n g o b j e c t s i n
0000420 t o T e d i t a n d i n t
0000440 e g r a t i n g s h i f t s
0000460 e l e c t i o n a m o n g v
0000500 a r i o u s t y p e s o f
0000520 w i n d o w s . \r T h e g o a
0000540 l s a r e : \r 1 ) d e f i
0000560 n e a n o b j e c t i n t
0000600 e r f a c e f o r T e d i t
0000620 t h a t a l l o w s o b j
0000640 e c t s t o e x i s t i n
0000660 a d o c u m e n t a n d
0000700 b e e d i t t e d w i t h
0000720 t h e i r o w n e d i t o r
0000740 . ( C u r r e n t l y f o
0000760 r f o r m a t t i n g , T e
0001000 d i t w i l l v i e w a n
0001020 o b j e c t a s a l a r
0001040 g e c h a r a c t e r a n d
0001060 n o t t r y t o " f l o
0001100 w " t e x t a r o u n d i
0001120 t . M a y b e l a t e r .
0001140 ) \r 2 ) p r o v i d e a
0001160 f a c i l i t y i n w h i c
0001200 h o b j e c t s c o u l d
0001220 b e s h i f t s e l e c t e
0001240 d ( h e r e a f t e r r e f
0001260 e r r e d t o a s " c o p
0001300 y s e l e c t e d " a s i
0001320 n S t a r ) b e t w e e n
0001340 w i n d o w s i n w h i c h
0001360 t h e s o u r c e w i n d
0001400 o w ( w h e r e t h e o b
0001420 j e c t w a s c o m i n g
0001440 f r o m ) d o e s n o t h
0001460 a v e t o k n o w w h a t
0001500 s o r t o f w i n d o w
0001520 t h e d e s t i n a t i o n
0001540 w i n d o w i s a n d t h
0001560 e d e s t i n a t i o n d o
0001600 e s n o t h a v e t o k
0001620 n o w w h e r e t h e i n
0001640 s e r t i o n c a m e f r o
0001660 m . A s a s i m p l e
0001700 e x a m p l e , w e w a n t
0001720 t o b e a b l e t o c
0001740 o p y s e l e c t f r o m
0001760 a G r a p h e r w i n d o w
0002000 i n t o a T e d i t w i
0002020 n d o w . M o r e c o m p l
0002040 i c a t e d , w e w a n t
0002060 c o p y s e l e c t f r o m
0002100 a D e d i t w i n d o w
0002120 i n t o a T e d i t w i n
0002140 d o w t o p r e s e r v e
0002160 s t r u c t u r e ( i f d e
0002200 s i r e d ) w h i l e c o p
0002220 y s e l e c t i n t o a
0002240 t y p e s c r i p t w i n d o
0002260 w t o t r e a t i t a s
0002300 t y p e - i n . \r I m a g e
0002320 O b j e c t s \r T o d o t h
0002340 i s , w e p r o v i d e a
0002360 n e w d a t a t y p e , I
0002400 M A G E O B J , w h i c h c
0002420 o n t a i n s t h e d a t a
0002440 a n d t h e p r o c e d u
0002460 r e s n e c e s s a r y t o
0002500 m a n i p u l a t e a n o
0002520 b j e c t t h a t i s t o
0002540 b e p a r t o f a d o
0002560 c u m e n t . A d d i t i o
0002600 n a l l y , t h e r e i s
0002620 a n e w d a t a t y p e ,
0002640 I M A G E F N S , w h i c h
0002660 i s a v e c t o r o f t
0002700 h e p r o c e d u r e s n e
0002720 c e s s a r y t o d e f i n
0002740 e t h e b e h a v i o r o
0002760 f a t y p e o f I M A G
0003000 E O B J . H a v i n g t h
0003020 e o p e r a t i o n s g r o
0003040 u p e d i n a s e p a r a
0003060 t e d a t a t y p e a l l o
0003100 w s m u l t i p l e i n s t
0003120 a n c e s o f t h e s a m
0003140 e t y p e o f i m a g e
0003160 o b j e c t t o s h a r e
0003200 t h e i r p r o c e d u r e
0003220 v e c t o r s . T h e d a
0003240 t a a n d p r o c e d u r e
0003260 f i e l d s o f a n I M
0003300 A G E O B J h a v e a u n
0003320 i f o r m i n t e r f a c e
0003340 t h r o u g h t h e f u n c
0003360 t i o n I M A G E O B J P R O
0003400 P . I M A G E O B J s a r e
0003420 c r e a t e d w i t h t h
0003440 e f u n c t i o n I M A G E
0003460 O B J C R E A T E . I M A G E
0003500 F N S a r e c r e a t e d
0003520 w i t h t h e f u n c t i o
0003540 n I M A G E F N S C R E A T E
0003560 . \r \r ( I M A G E F N S C R E A
0003600 T E D I S P L A Y F N I M A
0003620 G E B O X F N P U T F N G E
0003640 T F N C O P Y F N B U T T O
0003660 N E V E N T I N F N C O P Y B
0003700 U T T O N E V E N T I N F N W
0003720 H E N M O V E D F N W H E N I
0003740 N S E R T E D F N W H E N D E
0003760 L E T E D F N W H E N C O P I
0004000 E D F N W H E N O P E R A T E
0004020 D O N F N P R E P R I N T F N
0004040 ) \r R e t u r n s a n I M A
0004060 G E F N S w h i c h c o n t
0004100 a i n s t h e f u n c t i o
0004120 n s n e c e s s a r y t o
0004140 d e f i n e t h e b e h a v
0004160 i o r o f a n I M A G E O
0004200 B J . T h e a r g u m e n
0004220 t s a r e a s f o l l o w
0004240 s : \r D I S P L A Y F N - f
0004260 n o f { i m a g e O b j i
0004300 m a g e S t r e a m } c a l l
0004320 e d t o d i s p l a y t h
0004340 e o b j e c t a t t h e
0004360 c u r r e n t p o s i t i o n
0004400 o n i m a g e S t r e a m
0004420 - t y p e o f s t r e a m
0004440 i n d i c a t e s w h e t h
0004460 e r d e v i c e i s D I S
0004500 P L A Y , P R E S S o r I
0004520 N T E R P R E S S . \r I M A G E
0004540 B O X F N - f n o f { i
0004560 m a g e O b j i m a g e S t r
0004600 e a m c u r r e n t X r i g
0004620 h t M a r g i n } s h o u l d
0004640 r e t u r n t h e s i z e
0004660 o f t h e o b j e c t a
0004700 s a l i s t w h o s e 1
0004720 s t a n d 2 n d e l e m e
0004740 n t s a r e t h e w i d t
0004760 h a n d h e i g h t o f
0005000 t h e o b j e c t i m a g e
0005020 a n d w h o s e 3 r d a
0005040 n d 4 t h e l e m e n t s
0005060 a r e t h e p o s i t i o n
0005100 o f t h e l e f t e d g
0005120 e a n d b a s e l i n e o
0005140 f t h e i m a g e r e l a
0005160 t i v e t o t h e c u r r
0005200 e n t p o s i t i o n . F o
0005220 r c h a r a c t e r s , t h
0005240 e 3 r d e l e m e n t w o
0005260 u l d b e t h e d e s c e
0005300 n t a n d 4 t h e l e m e
0005320 n t w o u l d b e 0 s i
0005340 n c e w e d o n ' t s u p
0005360 p o r t l e f t k e r n i n
0005400 g . W e w i l l a l s o
0005420 w a n t t o s u p p o r t
0005440 5 t h a n d 6 t h e l e
0005460 m e n t s w h i c h a r e
0005500 t h e a m o u n t s t o m
0005520 o v e t h e c u r r e n t
0005540 p o s i t i o n i n t h e
0005560 X a n d Y d i r e c t i o
0005600 n s a f t e r t h e o b j
0005620 e c t i s d i s p l a y e d
0005640 . T h e R E C O R D I M
0005660 A G E B O X i s p r o v i d
0005700 e d w i t h f i e l d s (
0005720 X S I Z E Y S I Z E Y D E S
0005740 C X K E R N ) . T h e I M
0005760 A G E B O X F N l o o k s a
0006000 t t h e t y p e o f t h
0006020 e s t r e a m t o d e t e
0006040 r m i n e t h e o u t p u t
0006060 d e v i c e i f t h e s
0006100 i z e c h a n g e s f r o m
0006120 d e v i c e t o d e v i c
0006140 e . ( F o r e x a m p l e ,
0006160 a b i t m a p o b j e c t
0006200 m a y s p e c i f y a s
0006220 c a l e f a c t o r t h a t
0006240 i s i g n o r e d w h e n
0006260 i t i s d i s p l a y e d
0006300 o n t h e s c r e e n . )
0006320 { n o t e : t h i s d o e
0006340 s n o t a d d r e s s , f
0006360 o r e x a m p l e , t h e
0006400 l a y i n g o u t o f a n
0006420 n o t a t i o n s a s i n l
0006440 i n e t e x t , f o o t n o
0006460 t e s o r b e t w e e n l
0006500 i n e t e x t . ) T h e
0006520 c u r r e n t X a n d R i g
0006540 h t M a r g i n f i e l d s
0006560 a l l o w a n o b j e c t
0006600 t o t a k e a c c o u n t
0006620 o f i t s e n v i r o n m e
0006640 n t w h e n d e c i d i n g
0006660 h o w b i g i t i s .
0006700 I f t h e s e a r e n o
0006720 t a v a i l a b l e , t h e
0006740 y w i l l b e N I L . \r T
0006760 E D I T N O T E : T E d i
0007000 t o n l y c a l l s t h i
0007020 s f u n c t i o n d u r i n
0007040 g l i n e f o r m a t t i n
0007060 g , t h e n c a c h e s t
0007100 h e i m a g e b o x a s (
0007120 I M A G E O B J P R O P o b j
0007140 ' B O U N D B O X ) . T h
0007160 i s a v o i d s t h e n e
0007200 e d t o c a l l I M A G E
0007220 B O X F N w h e n i n c o m
0007240 p l e t e X & m a r g i n
0007260 i n f o i s a v a i l a b
0007300 l e . \r P U T F N - f n o
0007320 f { i m a g e O b j f i l e
0007340 S t r e a m } c a l l e d t
0007360 o s a v e t h e o b j e c
0007400 t o n a f i l e . P r
0007420 i n t s c h a r a c t e r s
0007440 o r w h a t e v e r o n f
0007460 i l e S t r e a m t h a t w
0007500 h e n r e a d b y G E T F
0007520 N ( s e e b e l o w ) w i
0007540 l l r e g e n e r a t e t h
0007560 e T e d i t o b j e c t .
0007600 ( T e d i t t a k e s c a
0007620 r e o f w r i t i n g o u
0007640 t t h e n a m e o f t h
0007660 e G E T F N . ) \r G E T F N
0007700 - f n o f { f i l e S t r
0007720 e a m T e x t S t r e a m }
0007740 c a l l e d w h e n t h e
0007760 o b j e c t i s e n c o u n
0010000 t e r e d o n t h e f i l
0010020 e d u r i n g i n p u t .
0010040 I t s h o u l d r e a d
0010060 t h e s t u f f t h a t w
0010100 a s p u t o u t b y t h
0010120 e P U T F N a n d r e t u
0010140 r n a n I M A G E O B J .
0010160 { n o t e : w e m a y w a
0010200 n t t o h a v e a l i b
0010220 r a r y o f i m a g e o b
0010240 j e c t t y p e s t h a t
0010260 i s s e a r c h e d w h e n
0010300 a G E T F N i s e n c o
0010320 u n t e r e d t h a t i s
0010340 u n d e f i n e d w h i c h
0010360 w o u l d l o a d t h e i
0010400 n f o r m a t i o n n e c e s
0010420 s a r y t o h a n d l e t
0010440 h a t t y p e o f o b j e
0010460 c t . ) \r C O P Y F N - f n
0010500 o f { i m a g e O b j } s
0010520 h o u l d r e t u r n a c
0010540 o p y o f i m a g e O b j .
0010560 T h e C O P Y F N i s
0010600 c a l l e d d u r i n g a
0010620 c o p y - s e l e c t o p e r
0010640 a t i o n . ) \r B U T T O N E V
0010660 E N T I N F N - f n o f
0010700 { i m a g e O b j w i n d o w
0010720 S t r e a m S e l e c t i o n
0010740 r e l X r e l Y w i n d o
0010760 w T e x t S t r e a m B u t
0011000 t o n } . T h e u s e r
0011020 h a s p r e s s e d a b u
0011040 t t o n i n s i d e t h e
0011060 o b j e c t . T h e B U T
0011100 T O N E V E N T I N F N s h o
0011120 u l d d e c i d e w h e t h
0011140 e r o r n o t t o d o
0011160 h a n d l e t h e b u t t o
0011200 n , t r a c k t h e c u r
0011220 s o r a n d r e s p o n d
0011240 t o t h e b u t t o n p r
0011260 e s s e s t o b r i n g a
0011300 b o u t w h a t e v e r e d
0011320 i t ( o r s e l e c t i o n
0011340 b u t s e e C O P Y B U T
0011360 T O N E V E N T I N F N b e l
0011400 o w ) p r o t o c o l s t h
0011420 e o b j e c t w i s h e d
0011440 t o s u p p o r t . I f
0011460 B U T T O N E V E N T I N F N
0011500 r e t u r n s N I L , T E d
0011520 i t w i l l t r e a t t h
0011540 e b u t t o n p r e s s a
0011560 s a s e l e c t i o n a t
0011600 i t s l e v e l . N o t
0011620 e t h a t w h e n i t i
0011640 s f i r s t c a l l e d ,
0011660 a b u t t o n w i l l b e
0011700 d o w n . I t i s e n
0011720 v i s i o n e d t h a t T e
0011740 d i t i t s e l f c o u l d
0011760 b e u s e d r e c u r s i
0012000 v e l y t o e d i t t e x
0012020 t t h a t w a s w i t h i
0012040 n a n o b j e c t . A l
0012060 s o t h e B U T T O N E V E
0012100 N T I N F N s h o u l d s u
0012120 p p o r t t h e b u t t o n
0012140 d o w n p r o t o c o l t
0012160 o d e s c e n t i n s i d e
0012200 o f a n y c o m p o s i t
0012220 e o b j e c t s w i t h i
0012240 t . I t i s a l s o e
0012260 n v i s i o n e d t h a t t
0012300 h e B U T T O N E V E N T I N
0012320 F N w i l l r e l i n q u i
0012340 s h c o n t r o l ( i . e .
0012360 R E T U R N ) w h e n t h
0012400 e c u r s o r l e a v e s
0012420 i t s o b j e c t ' s r e g
0012440 i o n a l t h o u g h t h e
0012460 r e m a y b e c a s e s
0012500 w h e r e i t w o u l d n
0012520 o t . I n a n y c a s e
0012540 , s t a n d a r d u s e f u
0012560 l f u n c t i o n s f o r
0012600 c u r s o r t r a c k i n g
0012620 a n d e d i t t i n g i n
0012640 t h e T e d i t t r a d i t
0012660 i o n w i l l b e m a d e
0012700 a v a i l a b l e t o l e
0012720 s s e n t h e t a s k o f
0012740 b u i l d i n g B U T T O N
0012760 E V E N T I N F N s . ) \r T E D
0013000 I T N O T E : W h e n t
0013020 h i s f u n c t i o n g e t
0013040 s c a l l e d , t h e w i
0013060 n d o w ' s c l i p p i n g
0013100 r e g i o n a n d o f f s e
0013120 t s h a v e b e e n c h a
0013140 n g e d s o t h a t t h e
0013160 l o w e r l e f t c o r n
0013200 e r o f t h e o b j e c t
0013220 ' s i m a g e i s a t (
0013240 0 , 0 ) , a n d o n l y t
0013260 h e o b j e c t ' s i m a g
0013300 e c a n b e c h a n g e d
0013320 . T h e S e l e c t i o n
0013340 i s a v a i l a b l e f o
0013360 r c h a n g i n g t o f i
0013400 t y o u r n e e d s ; t h
0013420 e m o u s e b u t t o n w
0013440 e n t d o w n a t ( r e l
0013460 X , r e l Y ) w i t h i n t
0013500 h e o b j e c t ' s i m a g
0013520 e . Y o u c a n a f f e
0013540 c t h o w T E d i t t r e
0013560 a t s t h e s e l e c t i o
0013600 n b y r e t u r n i n g o
0013620 n e o f s e v e r a l v a
0013640 l u e s : R e t u r n N I
0013660 L a n d T E d i t w i l l
0013700 f o r g e t t h a t y o u
0013720 s e l e c t e d a n o b j
0013740 e c t ; r e t u r n t h e
0013760 a t o m D O N ' T a n d T
0014000 E d i t w o n ' t p e r m i
0014020 t t h e s e l e c t i o n ;
0014040 r e t u r n t h e a t o m
0014060 C H A N G E D , a n d T E
0014100 d i t w i l l u p d a t e
0014120 t h e s c r e e n . U s e
0014140 t h i s l a t t e r t o
0014160 s i g n a l T E d i t t h a
0014200 t t h e o b j e c t h a s
0014220 c h a n g e d s i z e o r
0014240 s h o u l d h a v e s i d
0014260 e e f f e c t s o n o t h
0014300 e r p a r t s o f t h e
0014320 s c r e e n i m a g e . \r C O
0014340 P Y B U T T O N E V E N T I N F
0014360 N - f n o f { i m a g e
0014400 O b j w i n d o w S t r e a m
0014420 } . T h e u s e r h a s
0014440 b u t t o n e d i n s i d e
0014460 a n o b j e c t a n d a
0014500 c o p y k e y i s h e l
0014520 d d o w n . ( I n i n i
0014540 t i a l i m p l e m e n t a t
0014560 i o n s , t h e c o p y k
0014600 e y s w i l l b e t h e
0014620 s h i f t k e y s . T h i
0014640 s i s p r o b a b l y s o
0014660 m e t h i n g t h a t s h o
0014700 u l d b e s e t t a b l e
0014720 ( i n t h e t e r m i n a l
0014740 t a b l e ? ) . ) M a n y
0014760 o f t h e c o m m e n t s
0015000 a b o u t B U T T O N E V E
0015020 N T I N F N a p p l y h e r
0015040 e a l s o . A l s o s e
0015060 e t h e d i s c u s s i o n
0015100 b e l o w a b o u t c o p
0015120 y - s e l e c t i n g o b j e
0015140 c t s b e l o w . \r W H E N I
0015160 N S E R T E D F N - \r W H E N
0015200 M O V E D F N - \r W H E N D E
0015220 L E T E D F N - \r W H E N C O
0015240 P I E D F N - f n s o
0015260 f { i m a g e O b j T a r g
0015300 e t W i n d o w S t r e a m S
0015320 o u r c e T e x t S t r e a m
0015340 T a r g e t T e x t S t r e a m
0015360 } . P r o v i d e h o o k
0015400 s b y w h i c h t h e o
0015420 b j e c t c a n g e t n o
0015440 t i f i e d w h e n T e d i
0015460 t p e r f o r m s a n o p
0015500 e r a t i o n o n t h e w
0015520 h o l e o b j e c t . T h
0015540 e d i f f e r e n t o p e r
0015560 a t i o n s a r e : I N S E
0015600 R T , M O V E , D E L E T E
0015620 , C O P Y . { A l s o n
0015640 e e d a h o o k f o r d
0015660 e l e t e u n d o n e w h i
0015700 c h m a y b e t h e s a
0015720 m e a s i n s e r t . }
0015740 W H E N C O P I E D F N w i l
0015760 l g e t c a l l e d i n
0016000 a d d i t i o n t o ( a n d
0016020 a f t e r ) t h e C O P Y
0016040 F N a b o v e . T h e s e
0016060 f u n c t i o n s a l l o w
0016100 o b j e c t s t o h a v e
0016120 s i d e e f f e c t s .
0016140 F o r e x a m p l e , a n n
0016160 o t a t i o n s i n a d o
0016200 c u m e n t a t i o n m a i n
0016220 t a i n s a w i n d o w w
0016240 h i c h h a s s u m m a r y
0016260 o f a l l a n n o t a t i
0016300 o n s i n t h e d o c u m
0016320 e n t . T h e s e f u n c
0016340 t i o n s a l l o w s t h a
0016360 t s u m m a r y t o b e
0016400 u p d a t e d a s t h e a
0016420 n n o t a t i o n i s o p e
0016440 r a t e d o n b y T e d i
0016460 t . \r W H E N O P E R A T E D O
0016500 N F N - f n o f { i m a
0016520 g e O b j w i n d o w S t r e
0016540 a m h o w O p e r a t e d O n
0016560 S e l e c t i o n T e x t S
0016600 t r e a m } . P r o v i d e
0016620 s a h o o k f o r m i s
0016640 c e l l a n e o u s e d i t
0016660 o p e r a t i o n s . F o r
0016700 n o w t h e v a l u e s
0016720 o f h o w O p e r a t e d O n
0016740 a r e S E L E C T E D a n
0016760 d D E S E L E C T E D , H I
0017000 G H L I G H T E D a n d U N
0017020 H I L I G H T E D . T h i s
0017040 i s d i f f e r e n t f r
0017060 o m t h e B U T T O N E V E
0017100 N T I N F N b e c a u s e i
0017120 t w i l l b e c a l l e d
0017140 w h e n t h e u s e r i
0017160 s e x t e n d i n g a s e
0017200 l e c t i o n t h r o u g h
0017220 t h e o b j e c t i . e .
0017240 t h e o b j e c t i s b e
0017260 i n g t r e a t e d i n t
0017300 o t o a s a c h a r a c t
0017320 e r f r o m T e d i t .
0017340 H I G H L I G H T E D a n d
0017360 U N H I G H L I G H T E D r e
0017400 f e r t o t h e s e l e c
0017420 t i o n b e i n g h i g h l
0017440 i g h t e d o n t h e s c
0017460 r e e n , a n d t o h a v
0017500 i n g t h e h i g h l i g h
0017520 t i n g t u r n e d o f f .
0017540 T h e s e a r e c a l l
0017560 e d w h e n t h e s e l e
0017600 c t i o n i s i n s i d e
0017620 t h e o b j e c t , s o i
0017640 t m a y h a n d l e i t .
0017660 \r T E D I T N O T E : A s
0017700 w i t h t h e B U T T O N
0017720 E V E N T I N F N , t h e o
0017740 f f s e t a n d c l i p p i
0017760 n g r e g i o n f o r t h
0020000 e d i s p l a y a r e s e
0020020 t s o t h e o b j e c t '
0020040 s i m a g e i s a t ( 0
0020060 , 0 ) , a n d o n l y t h
0020100 a t i m a g e a r e a c a
0020120 n b e m o d i f i e d . \r P
0020140 R E P R I N T F N - f n o
0020160 f { i m a g e O b j } c a l
0020200 l e d t o c o n v e r t t
0020220 h e o b j e c t i n t o s
0020240 o m e t h i n g t h a t c a
0020260 n b e p r i n t e d f o r
0020300 i n c l u s i o n i n d o
0020320 c u m e n t s . I t s h o
0020340 u l d r e t u r n a n o b
0020360 j e c t t h a t t h e r e
0020400 c e i v i n g w i n d o w c
0020420 a n p r i n t ( u s i n g
0020440 e i t h e r P R I N 1 o r
0020460 P R I N 2 - i t s c h o i
0020500 c e ) t o o b t a i n a
0020520 c h a r a c t e r r e p r e s
0020540 e n t a t i o n o f t h e
0020560 o b j e c t . I f P R E P
0020600 R I N T F N i s N I L , t
0020620 h e O B J E C T D A T U M i
0020640 t s e l f i s u s e d .
0020660 T e d i t w o u l d u s e
0020700 t h i s f u n c t i o n w h
0020720 e n t h e u s e r i n d i
0020740 c a t e s t h a t h e w a
0020760 n t s t h e c h a r a c t e
0021000 r s f r o m a n o b j e c
0021020 t r a t h e r t h a n t h
0021040 e o b j e c t i t s e l f
0021060 ( p r e s u m a b l y u s i n
0021100 g P R I N 1 c a s e ) . (
0021120 I n t e r f a c e t o t h i
0021140 s " u n s t r u c t u r e "
0021160 o p e r a t i o n i s n o t
0021200 y e t d e t e r m i n e d .
0021220 ) \r I m a g e O b j e c t s
0021240 a n d S e c u r i t y \r E a c
0021260 h l e g i t i m a t e G E T
0021300 F N n e e d s t o b e k
0021320 n o w n t o t h e s y s t
0021340 e m , t o p r e v e n t v
0021360 a r i o u s T r o j a n - h o
0021400 r s e p r o b l e m s a n d
0021420 t o a l l o w t h e a u
0021440 t o m a t i c l o a d i n g
0021460 o f t h e s u p p o r t i n
0021500 g c o d e f o r i n f r e
0021520 q u e n t l y - u s e d I M A
0021540 G E O B J s . T o t h i s
0021560 e n d , t h e r e i s a
0021600 g l o b a l l i s t , I M
0021620 A G E O B J G E T F N S . I
0021640 t c o n t a i n s a n e n
0021660 t r y f o r e a c h G E T
0021700 F N . T h e e x i s t e n
0021720 c e o f t h e e n t r y
0021740 m a r k s t h e G E T F N
0021760 a s l e g i t i m a t e ; t
0022000 h e e n t r y i t s e l f
0022020 i s a P L i s t , w h i c
0022040 h c a n h o l d i n f o r
0022060 m a t i o n a b o u t t h e
0022100 G E T F N ( m o r e a b o
0022120 u t t h i s l a t e r ) . \r
0022140 N o a c t i o n n e e d s
0022160 t o b e t a k e n f o r
0022200 G E T F N s t h a t a r e
0022220 c u r r e n t l y i n u s e
0022240 : T h e f u n c t i o n
0022260 I M A G E F N S C R E A T E a
0022300 u t o m a t i c a l l y a d d
0022320 s i t s G E T F N a r g u
0022340 m e n t t o t h e l i s t
0022360 . H o w e v e r , p a c k
0022400 a g e s t h a t s u p p o r
0022420 t o b s o l e t e v e r s i
0022440 o n s o f o b j e c t s m
0022460 a y n e e d t o e x p l i
0022500 c i t l y a d d t h e o b
0022520 s o l e t e G E T F N s .
0022540 F o r e x a m p l e , T E d
0022560 i t s u p p o r t s b i t m
0022600 a p - t y p e I M A G E O B J
0022620 s . R e c e n t l y , t h
0022640 e r e w a s a c h a n g e
0022660 i n t h e f o r m a t i
0022700 n w h i c h o b j e c t s
0022720 w e r e s t o r e d ; t o
0022740 r e t a i n c o m p a t i b i
0022760 l i t y w i t h t h e o l
0023000 d o b j e c t f o r m a t ,
0023020 t h e e a r e n o w t o
0023040 w G E T F N s . T h e c
0023060 u r r e n t G E T F N i s
0023100 a u t o m a t i c a l l y o n
0023120 t h e l i s t , c o u r t
0023140 e s y o f I M A G E F N S C
0023160 R E A T E . H o w e v e r ,
0023200 t h e c o d e f i l e t
0023220 h a t s u p p o r t s t h e
0023240 o l d b i t m a p o b j e
0023260 c t s h a s a c l a u s e
0023300 i n i t : \r ( A D D V A R S
0023320 ( I M A G E O B J G E T F N S
0023340 ( o l d - g e t f n - n a m e
0023360 ) ) ) \r t h a t a d d s t h
0023400 e o l d G E T F N t o I
0023420 M A G E O B J G E T F N S . \r A
0023440 u t o m a t i c a l l y L o a
0023460 d i n g t h e C o d e t o
0023500 S u p p o r t a n I M A G
0023520 E O B J \r T h i s i s a n
0023540 i n t e r i m f a c i l i t y
0023560 ; a m o r e c o m p l e t
0023600 e d a t a b a s e o f I M
0023620 A G E O B J s a n d f i l e
0023640 s i s p l a n n e d . F
0023660 o r a g i v e n G E T F N
0023700 , t h e e n t r y o n I
0023720 M A G E O B J G E T F N S m a
0023740 y b e a p r o p e r t y
0023760 l i s t o f i n f o r m a t
0024000 i o n . R i g h t n o w ,
0024020 t h e o n e p o s s i b l
0024040 e p r o p e r t y i s : \r F
0024060 I L E \t t h e n a m e o f
0024100 t h e f i l e w h i c h c
0024120 a n b e L O A D e d i f
0024140 t h e G E T F N i s n ' t
0024160 d e f i n e d . T h i s f
0024200 i l e s h o u l d a l s o
0024220 d e f i n e a l l t h e o
0024240 t h e r f u n c t i o n s n
0024260 e e d e d t o s u p p o r t
0024300 t h a t k i n d o f I M
0024320 A G E O B J . \r O t h e r p r
0024340 o p e r t i e s m a y b e
0024360 d e f i n e d i n t h e f
0024400 u t u r e . \r F o r e x a m p
0024420 l e , T E d i t i m p l e m
0024440 e n t s b i t m a p I M A G
0024460 E O B J s , w h i c h u s e
0024500 t h e G E T F N B M O B J
0024520 . G E T F N 2 ; i t s e n t
0024540 r y w o u l d l o o k l i
0024560 k e : \r ( B M O B J . G E T F N
0024600 2 F I L E I M A G E O B J )
0024620 \r i n d i c a t i n g t h a t
0024640 t h e s u p p o r t c o d
0024660 e f o r b i t m a p i m a
0024700 g e o b j e c t s r e s i d
0024720 e s o n t h e f i l e I
0024740 M A G E O B J , a n d t h a
0024760 t t h e G E T F N f o r
0025000 t h e m i s B M O B J . G E
0025020 T F N 2 . \r T h i s m a k e s
0025040 i t p o s s i b l e t o
0025060 h a v e e n t r i e s f o r
0025100 G E T F N s w h o s e s u
0025120 p p o r t i n g c o d e i s
0025140 n ' t l o a d e d - - o n e
0025160 m i g h t , f o r i n s t a
0025200 n c e , h a v e h i s I N
0025220 I T f i l e a d d e n t r
0025240 i e s t o I M A G E O B J G
0025260 E T F N S f o r t h e k i
0025300 n d s o f i m a g e o b j
0025320 e c t s h e c o m m o n l y
0025340 u s e s . T h e s y s t
0025360 e m d e f a u l t r e a d i
0025400 n g m e t h o d w i l l a
0025420 u t o m a t i c a l l y l o a
0025440 d t h e c o d e , o n l y
0025460 a s n e e d b e . \r B u i
0025500 l t - i n S u p p o r t F u
0025520 n c t i o n s \r ( I M A G E F N
0025540 S P X ) - R e t u r n s
0025560 X i f X i s a n I M A
0025600 G E F N S , N I L o t h e r
0025620 w i s e . \r ( I M A G E O B J C
0025640 R E A T E O B J E C T D A T U
0025660 M I M A G E F N S ) \r R e t u
0025700 r n s a n I M A G E O B J
0025720 w h i c h c o n t a i n s t
0025740 h e o b j e c t d a t u m
0025760 O B J E C T D A T U M a n d
0026000 t h e o p e r a t i o n s v
0026020 e c t o r I M A G E F N S .
0026040 O B J E C T D A T U M c a n
0026060 b e a r b i t r a r y d a
0026100 t a . \r ( I M A G E O B J P X
0026120 ) - R e t u r n s X i f
0026140 X i s a n I M A G E O B
0026160 J , N I L o t h e r w i s e
0026200 . \r \r ( I M A G E O B J P R O P
0026220 I M A G E O B J E C T P R O
0026240 P E R T Y { N E W V A L U E }
0026260 ) \r A c c e s s e s a n d s
0026300 e t s p r o p e r t i e s o
0026320 f a n I M A G E O B J .
0026340 I t c a n b e u s e d o
0026360 n t h e s y s t e m p r o
0026400 p e r t i e s : O B J E C T D
0026420 A T U M , D I S P L A Y F N ,
0026440 I M A G E B O X F N , P U T
0026460 F N , G E T F N , C O P Y F
0026500 N , B U T T O N E V E N T I N
0026520 F N , C O P Y B U T T O N E V
0026540 E N T I N F N , W H E N O P E
0026560 R A T E D O N F N , a n d P
0026600 R E P R I N T F N . A d d i
0026620 t i o n a l l y , i t c a n
0026640 b e u s e d t o s a v e
0026660 a r b i t r a r y p r o p e
0026700 r t i e s o n a n I M A G
0026720 E O B J . \r R e a d i n g a n
0026740 d W r i t i n g I M A G E O
0026760 B J s o n F i l e s \r I M A
0027000 G E O B J s c a n b e w r
0027020 i t t e n o u t t o f i l
0027040 e s u s i n g H P R I N T ,
0027060 a n d r e a d b a c k u
0027100 s i n g R E A D . T h i s
0027120 m e t h o d u s e s t h e
0027140 f o l l o w i n g f u n c t
0027160 i o n s , w h i c h c a n
0027200 a l s o b e u s e d i n
0027220 u s e r c o d e : \r ( W R I T
0027240 E I M A G E O B J I M A G E O
0027260 B J S T R E A M ) \r P R I N 2
0027300 ' s a c a l l t o R E A
0027320 D I M A G E O B J , t h e n
0027340 c a l l s t h e P U T F N
0027360 f o r I M A G E O B J t o
0027400 w r i t e i t o n t o S T
0027420 R E A M . D u r i n g i n
0027440 p u t , t h e n , t h e c
0027460 a l l t o R E A D I M A G E
0027500 O B J i s r e a d a n d
0027520 e v a l u a t e d ; i t i n
0027540 t u r n r e a d s b a c k
0027560 t h e o b j e c t ' s d e
0027600 s c r i p t i o n , u s i n g
0027620 t h e a p p r o p r i a t e
0027640 G E T F N . \r ( R E A D I M A
0027660 G E O B J S T R E A M G E T
0027700 F N N O E R R O R ) \r R e a d
0027720 s a n I M A G E O B J f r
0027740 o m S T R E A M , s t a r t
0027760 i n g a t t h e c u r r e
0030000 n t f i l e p o s i t i o n
0030020 . U s e s t h e f u n c
0030040 t i o n G E T F N , a f t e
0030060 r v a l i d a t i n g i t
0030100 ( a n d l o a i n g s u p p
0030120 o r t c o d e , i f n e c
0030140 e s s a r y ) . I f G E T
0030160 F N c a n ' t b e v a l i
0030200 d a t e d o r i s n ' t d
0030220 e f i n e d , R E A D I M A G
0030240 E O B J w i l l r e t u r n
0030260 a n I M A G E O B J w h i
0030300 c h i s a s a f e e n c
0030320 a p s u l a t i o n : I t
0030340 w i l l d i s p l a y a s
0030360 a r e c t a n g l e t h a t
0030400 s a y s " U n k n o w n I
0030420 M A G E O B J T y p e " a n
0030440 d l i s t s t h e G E T F
0030460 N ' s n a m e . H o w e v
0030500 e r , i f N O E R R O R i
0030520 s n o n - N I L , R E A D I
0030540 M A G E O B J r e t u r n s
0030560 N I L i f i t c a n ' t
0030600 s u c c e s s f u l l y r e a
0030620 d t h e o b j e c t . \r A n
0030640 e n c a p s u l a t e d I M
0030660 A G E O B J d i s p l a y s
0030700 a s a r e c t a n g l e t
0030720 h a t s a y s " U n k n o w
0030740 n I M A G E O B J T y p e "
0030760 a n d l i s t s t h e G
0031000 E T F N ' s n a m e . S e
0031020 l e c t i n g i t w i t h
0031040 t h e m o u s e c a u s e s
0031060 a n o t h e r a t t e m p t
0031100 t o r e a d t h e o b j
0031120 e c t f r o m t h e f i l
0031140 e ; t h i s i s s o y o
0031160 u c a n l o a d a n y n
0031200 e c e s s a r y s u p p o r t
0031220 c o d e a n d t h e n g
0031240 e t t o t h e o b j e c t
0031260 . N B : Y o u c a n n
0031300 o t s a v e a n e n c a p
0031320 s u l a t e d I M A G E O B J
0031340 o n a f i l e 234 t h e r e
0031360 i s n ' t e n o u g h i n
0031400 f o r m a t i o n t o a l l
0031420 o w c o p y i n g t h e d
0031440 e s c r i p t i o n t o t h
0031460 e n e w f i l e f r o m
0031500 t h e o l d o n e . \r C o p
0031520 y s e l e c t i n g b e t w
0031540 e e n w i n d o w s \r T h e
0031560 g e n e r a l i d e a b e h
0031600 i n d c o p y i n g b e t w
0031620 e e n w i n d o w s i s t
0031640 h a t t h e s o u r c e w
0031660 i n d o w b u i l d s a n
0031700 i m a g e o b j e c t o f
0031720 w h a t t h e u s e r s h
0031740 a s s e l e c t e d a n d
0031760 c a l l s a s y s t e m f
0032000 u n c t i o n . T h e s y
0032020 s t e m f u n c t i o n f i
0032040 n d s t h e c u r r e n t
0032060 t t y w i n d o w a n d c
0032100 a l l s a f u n c t i o n
0032120 a s s o c i a t e d w i t h
0032140 i t t h a t k n o w s h o
0032160 w t o i n s e r t i m a g
0032200 e o b j e c t s . T h e
0032220 s i m p l e c a s e d o n e
0032240 n o w w i t h B K S Y S B
0032260 U F t o c o p y s t r i n
0032300 g s i s d o n e b y h a
0032320 v i n g t h e s y s t e m
0032340 f u n c t i o n c a l l B K
0032360 S Y S B U F o n t h e P R
0032400 E P R I N T F N o f t h e
0032420 i m a g e o b j e c t i f
0032440 t h e t a r g e t w i n d o
0032460 w d o e s n ' t h a v e a
0032500 n i n s e r t f u n c t i o
0032520 n . \r T h e f o l l o w i n g
0032540 t h i n g s w i l l b e
0032560 a d d e d t o t h e s y s
0032600 t e m t o i m p l e m e n t
0032620 c o p y s e l e c t i n g
0032640 o f t h i n g s b e t w e e
0032660 n w i n d o w s . \r A n e w
0032700 w i n d o w p r o p e r t y
0032720 C O P Y B U T T O N E V E N T
0032740 F N w i l l b e c a l l e
0032760 d ( i f i t e x i s t s )
0033000 w h e n a b u t t o n e
0033020 v e n t o c c u r s a n d
0033040 a c o p y k e y i s d o
0033060 w n . I f n o C O P Y B
0033100 U T T O N E V E N T F N e x i
0033120 s t s , t h e B U T T O N E
0033140 V E N T F N i s c a l l e d
0033160 . \r A n e w w i n d o w p
0033200 r o p e r t y C O P Y I N S E
0033220 R T F N w i l l b e c a l
0033240 l e d b y C O P Y I N S E R
0033260 T ( s e e b e l o w ) w h
0033300 e n a n o t h e r w i n d o
0033320 w w a n t s t o i n s e r
0033340 t s o m e t h i n g i n t o
0033360 t h i s w i n d o w a s
0033400 a r e s u l t o f a c o
0033420 p y s e l e c t . A r g u
0033440 m e n t s a r e t h e t h
0033460 i n g t o b e i n s e r t
0033500 e d a n d t h i s w i n d
0033520 o w a n d t h e t h i n g
0033540 t o b e i n s e r t e d .
0033560 T h e t h i n g t o b
0033600 e i n s e r t e d c a n b
0033620 e ( 1 ) a S T R I N G P ,
0033640 ( 2 ) a n I M A G E O B J
0033660 , o r ( 3 ) a l i s t
0033700 o f I M A G E O B J s a n d
0033720 S T R I N G P s . A s a
0033740 c o n v e n t i o n , C O P
0033760 Y I N S E R T F N s s h o u l
0034000 d c a l l B K S Y S B U F
0034020 i f t h e o b j e c t t h
0034040 e y a r e t o i n s e r t
0034060 i s a S T R I N G P .
0034100 F o r T e d i t w i n d o w
0034120 s , t h e C O P Y I N S E R
0034140 T F N w i l l b e a f u
0034160 n c t i o n t h a t c a l l
0034200 s T E D I T . I N S E R T i
0034220 f g i v e n a s t r i n g
0034240 a n d c a l l s T E D I T
0034260 . I N S E R T . O B J E C T i
0034300 f g i v e n a T e d i t
0034320 o b j e c t . ( J o h n ,
0034340 c a n t h e c u r r e n t
0034360 c o p y s e l e c t b e t w
0034400 e e n T E d i t w i n d o w
0034420 s b e c h a n g e d t o
0034440 u s e t h i s b y h a v i
0034460 n g a c a s e i n t h e
0034500 C O P Y I N S E R T F N t h
0034520 a t h a n d l e s P I E C E
0034540 s ? ) \r A n e w f u n c t i
0034560 o n ( C O P Y I N S E R T i
0034600 m a g e O b j e c t ) w i l l
0034620 i n s e r t i m a g e O b j
0034640 e c t i n t o t h e w i n
0034660 d o w t h a t c u r r e n t
0034700 l y h a s t h e T T Y .
0034720 I t f i n d s t h e w i
0034740 n d o w t h a t h a s t h
0034760 e t t y ( s a y t t y W i
0035000 n d o w ) . I f t t y W i
0035020 n d o w h a s a C O P Y I
0035040 N S E R T F N , t h i s i s
0035060 c a l l e d , p a s s i n g
0035100 i t i m a g e O b j e c t .
0035120 I f n o C O P Y I N S E
0035140 R T F N e x i s t s , i f
0035160 i m a g e O b j e c t i s a
0035200 n i m a g e O b j e c t ,
0035220 t h e r e s u l t o f c a
0035240 l l i n g i t s P R E P R I
0035260 N T F N o n i t i s B K
0035300 S Y S B U F e d ; o t h e r w
0035320 i s e i m a g e O b j e c t
0035340 i s B K S Y S B U F e d .
0035360 ( T h e d e f a u l t B K S
0035400 Y S B U F w i l l u s e P
0035420 R I N T 2 w i t h a r e a
0035440 d t a b l e t a k e n f r
0035460 o m t h e p r o c e s s a
0035500 s s o c i a t e d w i t h t
0035520 h e t t y W i n d o w . A
0035540 w i n d o w w h i c h w i
0035560 s h e s t o u s e P R I N
0035600 1 o r a d i f f e r e n t
0035620 r e a d t a b l e c a n p
0035640 r o v i d e i t s o w n C
0035660 O P Y I N S E R T F N t h a t
0035700 d o e s t h i s . ) T h
0035720 u s t h e C O P Y B U T T O
0035740 N E V E N T F N f o r a w
0035760 i n d o w s h o u l d a l l
0036000 o w t h e u s e r t o s
0036020 e l e c t a n o b j e c t
0036040 a n d t h e n c a l l s C
0036060 O P Y I N S E R T o n a n
0036100 i m a g e o b j e c t b u i
0036120 l t ( v i a I M A G E O B J
0036140 C R E A T E ) f r o m t h e
0036160 s e l e c t e d o b j e c t
0036200 a n d n i n e f u n c t i
0036220 o n s t h a t d e f i n e
0036240 i t s b e h a v i o r . \r \r M
0036260 i s c n o t e s : \r T h e l
0036300 a y o u t a n d d i s p l a
0036320 y i n g f u n c t i o n o f
0036340 T E d i t w i l l b e m
0036360 a d e a v a i l a b l e f o
0036400 r u s e w i t h i n i m a
0036420 g e o b j e c t d i s p l a
0036440 y f n s . T h u s , a n
0036460 a n n o t a t i o n c o u l d
0036500 c a l l t h e T E d i t
0036520 f o r m a t t i n g r o u t i
0036540 n e s t o l a y i t s e l
0036560 f o u t w i t h i n a b
0036600 o x . { T h i s a c t u a l
0036620 l y a l s o n e e d s t o
0036640 d e t e r m i n e t h e s
0036660 i z e o f t h e b o x w
0036700 h i c h s h o u l d d e p e
0036720 n d o n t h e m a r g i n
0036740 s . } \r I n t h e c a s e
0036760 o f D e d i t c o p y s e
0037000 l e c t i n g a l i s t i
0037020 n t o a T E d i t w i n d
0037040 o w , t h e d i s p l a y f
0037060 n c o u l d P R I N T D E F
0037100 t h e s t r u c t u r e a
0037120 n d p o s s i b l y D e d i
0037140 t i t a f t e r i t w a
0037160 s i n t h e T e d i t d
0037200 o c u m e n t . I n t h i
0037220 s c a s e t h e s t r u c
0037240 t u r e w o u l d n e e d
0037260 t o h a v e s o m e i d e
0037300 a o f t h e w i d t h t
0037320 o b e p r i n t e d i n t
0037340 o ( w h i c h s h o u l d
0037360 a l s o b e e d i t a b l e
0037400 s o m e h o w ) . P o s s
0037420 i b l y t h e s t r u c t u
0037440 r e t h a t T e d i t b u
0037460 i l d s c o u l d h a v e
0037500 a n e x t r a f i e l d f
0037520 o r w i d t h w h i c h i
0037540 t d e f a u l t s u p o n
0037560 c r e a t i o n b u t w h i
0037600 c h c o u l d b e c h a n
0037620 g e d . T h i s c a s e
0037640 i s i n t e r e s t i n g b
0037660 e c a u s e i t r e p r e s
0037700 e n t s a c a s e w h e r
0037720 e w e m i g h t w a n t
0037740 T e d i t t o p a s s i n
0037760 f o r m a t i o n i n t o t
0040000 h e o b j e c t ( i e . h
0040020 o w w i d e t o p r i n t
0040040 i t s e l f ) . \r T h i s d
0040060 o e s n o t a d d r e s s
0040100 t h e p r o b l e m o f i
0040120 m a g e o b j e c t s t h a
0040140 t p r i n t a s t e x t .
0040160 F o r e x a m p l e , a
0040200 n n o t a t i o n s m i g h t
0040220 b e p r i n t e d i n l
0040240 i n e i n a s m a l l e r
0040260 f o n t o r a s f o o t
0040300 n o t e s a t t h e b o t
0040320 t o m o f t h e p a g e
0040340 o r a s m a r g i n n o t
0040360 e s o r b e t w e e n t h
0040400 e l i n e s i n t e r m i x
0040420 e d w i t h t h e m a i n
0040440 t e x t . T h i s i s
0040460 a d i f f i c u l t p r o b
0040500 l e m t h a t i s i n d e
0040520 p e n d e n t o f t h e s
0040540 p e c i f i c a t i o n o f
0040560 t h i s p r o p o s a l . \r \r
0040600 P r o v i d e d I m a g e O
0040620 b j e c t t y p e s \r \r M e n
0040640 u s - S u p p o r t e d b
0040660 y J o h n S y b a l s k y .
0040700 \r B i t m a p s - s u p p o
0040720 r t e d b y G r e g N u y
0040740 e n s & R i c h a r d B u
0040760 r t o n . \r A n n o t a t i o n
0041000 s - s u p p o r t e d b y
0041020 R i c h a r d B u r t o n .
0041040 \r \r F u t u r e o b j e c t
0041060 t y p e s \r \r G r a p h e r g
0041100 r a p h s - s u p p o r t e
0041120 d b y R o n K a p l a n .
0041140 \r S - e x p r e s s i o n s -
0041160 v o l u n t e e r s ? \0 \0
0041200 \0 \0 \0 005 \0 \a \0 \0 \0 6 001 274 \0 006 \0 \0
0041220 \0 \0 003 004 \0 \0 001 \0 6 \0 \0 \0 \0 \0 \0 \0
0041240 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0041260 001 324 \0 006 \0 \0 \0 \0 002 003 \0 \0 \0 \0 \0 \0
0041300 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0041320 001 324 \0 006 \0 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0
0041340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0041360 \0 \0 \0 022 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0
0041400 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 $ \0 $
0041420 001 260 \0 006 \0 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0
0041440 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \f \0 \0
0041460 001 324 \0 006 \0 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0
0041500 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0041520 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0
0041540 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0041560 \0 004 \0 \f \0 \t H E L V E T I C A \0
0041600 \n \0 \0 \0 \0 \0 \0 003 \0 \0 \t H E L V E
0041620 T I C A \0 \n \0 \0 \0 \0 \0 \0 002 \0 \0 005
0041640 G A C H A \0 \n \0 \0 \0 020 E D I T M
0041660 A R K . S T Y L E F N \0 \a D E L
0041700 E T E D \0 \0 \0 005 G A C H A \0 \n \0
0041720 \0 \0 020 E D I T M A R K . S T Y L
0041740 E F N \0 \0 \0 \0 \0 005 G A C H A \0 \n
0041760 \0 \0 \0 \0 \0 \0 \0 \0 005 G A C H A \0
0042000 \n \0 \0 \0 \0 \0 \0 001 \0 \0 005 G A C H A
0042020 \0 \n \0 \0 \0 \0 \0 \0 002 \0 \0 \t H E L V
0042040 E T I C A \0 \b \0 \0 \0 020 E D I T M
0042060 A R K . S T Y L E F N \0 \0 001 \0 \0
0042100 \t H E L V E T I C A \0 \b \0 \0 \0 020
0042120 E D I T M A R K . S T Y L E F N
0042140 \0 \a D E L E T E D 001 \0 \0 \t H E L
0042160 V E T I C A \0 \b \0 \0 \0 \0 \0 \0 001 \0
0042200 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0
0042220 \0 \0 \t H E L V E T I C A \0 \f \0 \0
0042240 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 002 \0 \a \0 \0
0042260 \0 # \0 \0 \0 \0 \f \0 \0 \0 001 \0 \0 \0 \0 \v
0042300 \0 \0 \0 B \0 \0 \0 \0 \n \0 \0 \0 021 \0 \0 \0
0042320 \0 \t \0 \0 \0 005 \0 \0 \0 \0 \n \0 \0 \0 \t \0
0042340 \0 \0 \0 \b \0 \0 \0 \v \0 \0 \0 \0 \t \0 \0 \0
0042360 001 \0 \0 \0 \0 \n \0 \0 \0 002 \0 \0 \0 \0 \v \0
0042400 \0 \0 \0 \0 002 \0 006 \0 \0 \0 306 \0 \0 \0 \0 \v
0042420 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 017 \0 \0 \0 \0
0042440 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 373 \0 \0 \0
0042460 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 002 g \0 \0
0042500 \0 \0 \v \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 \r \0
0042520 \0 \0 \0 \f \0 \0 \0 001 \0 \0 \0 \0 \v \0 \0 \0
0042540 \0 \0 002 \0 006 \0 \0 002 233 \0 \0 \0 \0 \v \0 \0
0042560 \0 \0 \0 002 \0 006 \0 \0 \0 256 \0 \0 \0 \0 \a \0
0042600 \0 \0 001 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 006
0042620 \0 \0 \0 201 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0
0042640 006 \0 \0 \0 \t \0 \0 \0 \0 \a \0 \0 \0 257 \0 \0
0042660 \0 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 \n \0
0042700 \0 \0 \0 \a \0 \0 004 212 \0 \0 \0 \0 \v \0 \0 \0
0042720 \0 \0 002 \0 005 \0 \0 \0 325 \0 \0 \0 \0 006 \0 \0
0042740 \0 \0 \0 002 \0 006 \0 \0 \0 005 \0 \0 \0 \0 \a \0
0042760 \0 \0 361 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 006
0043000 \0 \0 \0 005 \0 \0 \0 \0 \a \0 \0 001 v \0 \0 \0
0043020 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 006 \0 \0
0043040 \0 \0 \a \0 \0 \0 m \0 \0 \0 \0 \v \0 \0 \0 \0
0043060 \0 002 \0 006 \0 \0 \0 017 \0 \0 \0 \0 \a \0 \0 004
0043100 F \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 005 \0 \0
0043120 002 341 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 006 \0
0043140 \0 \0 023 \0 \0 \0 \0 \a \0 \0 001 z \0 \0 \0 \0
0043160 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 016 \0 \0 \0
0043200 \0 \a \0 \0 \0 003 \0 \0 \0 \0 \v \0 \0 \0 \0 \0
0043220 002 \0 006 \0 \0 \0 \v \0 \0 \0 \0 \a \0 \0 \0 003
0043240 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0
0043260 \r \0 \0 \0 \0 \a \0 \0 \0 003 \0 \0 \0 \0 \v \0
0043300 \0 \0 \0 \0 002 \0 006 \0 \0 \0 \f \0 \0 \0 \0 \a
0043320 \0 \0 002 215 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0
0043340 006 \0 \0 \0 020 \0 \0 \0 \0 \a \0 \0 \0 253 \0 \0
0043360 \0 \0 \v \0 \0 \0 016 \0 \0 \0 \0 005 \0 \0 001 265
0043400 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0
0043420 256 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 006 \0 \0
0043440 \0 \n \0 \0 \0 \0 \a \0 \0 002 ) \0 \0 \0 \0 \v
0043460 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 032 \0 \0 \0 \0
0043500 \f \0 \0 \0 001 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002
0043520 \0 006 \0 \0 001 263 \0 \0 \0 \0 \v \0 \0 \0 \0 \0
0043540 002 \0 006 \0 \0 002 h \0 \0 \0 \0 \v \0 \0 \0 \0
0043560 \0 002 \0 002 \0 \0 \0 032 \0 \0 \0 \0 \a \0 \0 \0
0043600 016 \0 \0 \0 \0 001 \0 \0 \0 004 \0 \0 \0 \0 \a \0
0043620 \0 \0 \0 \0 002 \0 003 \0 \0 \0 + \0 \0 \0 \0 \v
0043640 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 5 \0 \0 \0 \0
0043660 \f \0 \0 \0 001 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002
0043700 \0 006 \0 \0 \0 332 \0 \0 \0 \0 \v \0 \0 \0 \0 \0
0043720 002 \0 001 \0 \0 \0 251 \0 \0 \0 \0 \v \0 \0 \0 \0
0043740 \0 002 \0 006 \0 \0 \0 / \0 \0 \0 \0 \v \0 \0 \0
0043760 \0 \0 002 \0 006 \0 \0 \0 m \0 \0 \0 \0 \v \0 \0
0044000 \0 \0 \0 002 \0 002 \0 \0 \0 035 \0 \0 \0 \0 \a \0
0044020 \0 \0 \0 \0 002 \0 003 \0 \0 \0 205 \0 \0 \0 \0 \v
0044040 \0 \0 \0 \0 \0 002 \0 006 \0 \0 001 ' \0 \0 \0 \0
0044060 \v \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 032 \0 \0 \0
0044100 \0 \f \0 \0 \0 001 \0 \0 \0 \0 \v \0 \0 \0 \0 \0
0044120 002 \0 006 \0 \0 \0 \r \0 \0 \0 \0 \a \0 \0 \0 1
0044140 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0
0044160 % \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 \v \0
0044200 \0 \0 \0 \0 002 \0 006 \0 \0 \0 210 \0 \0 \0 \0 \v
0044220 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 \r \0 \0 \0 \0
0044240 \a \0 \0 \0 2 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002
0044260 \0 006 \0 \0 \0 . \0 \0 \0 \0 \a \0 \0 \0 001 \0
0044300 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 001 $
0044320 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0
0044340 & \0 \0 \0 \0 \f \0 \0 \0 001 \0 \0 \0 \0 \v \0
0044360 \0 \0 \0 \0 002 \0 006 \0 \0 \0 236 \0 \0 \0 \0 \v
0044400 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 \0 \0 \0 \0
0044420 \a \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 355 \0 \0 \0
0044440 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 $ \0 \0
0044460 \0 \0 \a \0 \0 \0 \0 \0 002 \0 006 \0 \0 001 322 \0
0044500 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 001 257
0044520 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0
0044540 036 \0 \0 \0 \0 \f \0 \0 \0 001 \0 \0 \0 \0 \v \0
0044560 \0 \0 \0 \0 002 \0 006 \0 \0 001 347 \0 \0 \0 \0 \v
0044600 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 h \0 \0 \0 \0
0044620 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 267 \0 \0 \0
0044640 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 270 \0 \0
0044660 \0 \0 \v \0 \0 \0 035 \0 \0 \0 \0 004 \0 \0 \0 \v
0044700 \0 \0 \0 \0 \v \0 \0 \0 035 \0 \0 \0 \0 003 \0 \0
0044720 001 365 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0
0044740 \0 003 K \0 \0 \0 \0 \v \0 \0 \0 \v \0 \0 \0 \0
0044760 002 \0 \0 \0 001 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002
0045000 \0 006 \0 \0 001 ) \0 \0 \0 \0 \v \0 \0 \0 \0 \0
0045020 002 \0 006 \0 \0 002 F \0 \0 \0 \0 \v \0 \0 \0 \0
0045040 \0 002 \0 006 \0 \0 001 V \0 \0 \0 \0 \v \0 \0 \0
0045060 033 \0 \0 \0 \0 002 \0 \0 \0 = \0 \0 \0 \0 \v \0
0045100 \0 \0 \v \0 \0 \0 \0 004 \0 \0 \0 021 \0 \0 \0 \0
0045120 003 \0 \0 \0 212 \0 \0 \0 \0 \v \0 \0 B ~ \0 251
0045140 z 271
0045142