[Gtk-sharp-list] Printing Text for Multiple Pages

John M. Anderson sontek at gmail.com
Wed Apr 16 10:10:27 EDT 2008


I'm trying to fix the Tomboy print code to use GTK Printing rather than
gnome print... 

The first page works perfectly but the rests of the pages don't... I
think the issue is with the rectangle stuff because the Y/X are always
0..  

Here is my code:

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Mono.Unix;

using Gtk;

using Tomboy;
 
namespace Tomboy.PrintNotes
{
	public class PrintNotesNoteAddin : NoteAddin
	{
		Gtk.ImageMenuItem item;
		List<int> page_breaks = new List<int>();
		Pango.Layout layout;
		
		public override void Initialize ()
		{
			item = new Gtk.ImageMenuItem (Catalog.GetString ("Print"));
			item.Image = new Gtk.Image (Gtk.Stock.Print, Gtk.IconSize.Menu);
			item.Activated += PrintButtonClicked;
			item.Show ();
			AddPluginMenuItem (item);
		}

		public override void Shutdown ()
		{
			// Disconnect the event handlers so
			// there aren't any memory leaks.
			item.Activated -= PrintButtonClicked;
		}

		public override void OnNoteOpened ()
		{
			// Do nothing.
		}
		//
		// Handle Print menu item Click
		//

		void PrintButtonClicked (object sender, EventArgs args)
		{
			Gtk.PrintOperation op = new PrintOperation ();
			op.BeginPrint += new BeginPrintHandler (OnBeginPrint);
			op.DrawPage += new DrawPageHandler(OnDrawPage);
			
			op.Run (Gtk.PrintOperationAction.PrintDialog, this.Window);
		}
				
		public void OnBeginPrint(object sender, Gtk.BeginPrintArgs args)
		{
			// We use the pango layout to decide how many lines go 
			// on each page
			layout = args.Context.CreatePangoLayout ();
			
			// setup the font (using sans by default)
			// TODO: Get font and style from text tags
		    	layout.FontDescription = Pango.FontDescription.FromString("sans
12");
		    	
			double layout_width = args.Context.Width;
			double layout_height = args.Context.Height;
			
			// scale the size of the layout
			layout.Width = Convert.ToInt32 (layout_width *
Pango.Scale.PangoScale);
			
			// get the text to print
			Gtk.TextIter start_iter, end_iter;
			this.Buffer.GetBounds (out start_iter, out end_iter);
			layout.SetMarkup (this.Buffer.GetText(start_iter, end_iter, false));
			
			int line_count = layout.LineCount;
			
			Pango.LayoutLine layout_line;
			double page_height = 0;
			
			for (int line = 0; line < line_count; ++line)
			{
				Pango.Rectangle ink_rect = new Pango.Rectangle();
				Pango.Rectangle logical_rect = new Pango.Rectangle();
				
				layout_line = layout.GetLine(line);
				
				// get the size of the current line
				layout_line.GetExtents (ref ink_rect, ref logical_rect);
				double line_height = logical_rect.Height / 1024.0;
				
				// if we are going to overflow, save the last line
				// and move to the next page
				if (page_height + line_height > layout_height)
				{
					page_breaks.Add(line);
					page_height = 0;
				}
				
				page_height += line_height;
			}
			
			PrintOperation op = (PrintOperation)sender;
		    	op.NPages = page_breaks.Count + 1;
		}
				
		public void OnDrawPage(object sender, Gtk.DrawPageArgs args)
		{
			// Find the beginning and end lines for each page
			int start_page_line = 0;
			int end_page_line = 0;
			
			if (args.PageNr != 0)
				start_page_line = page_breaks[args.PageNr - 1];
			
			if (args.PageNr < page_breaks.Count)
				end_page_line = page_breaks[args.PageNr];
			else
				end_page_line = layout.LineCount;
				
			Console.WriteLine("START LINE " + start_page_line);
			Console.WriteLine("END LINE " + end_page_line);
			
			Cairo.Context cairo_context = args.Context.CairoContext;
			Pango.LayoutIter layout_iter = layout.Iter;
			double start_position = 0;
			int line_index = start_page_line;
			
			do
			{
				if (line_index >= start_page_line)
				{
					Pango.LayoutLine layout_line = layout_iter.Line;
					Pango.Rectangle ink_rect = new Pango.Rectangle();
					Pango.Rectangle logical_rect = new Pango.Rectangle();
					layout_iter.GetLineExtents(ink_rect, logical_rect);
					
					int base_line = layout_iter.Baseline;
					Console.WriteLine("LOGICAL Y " + logical_rect.Y);
					Console.WriteLine("LOGICAL X " + logical_rect.X);
					
					if (line_index == start_page_line)
						start_position = logical_rect.Y / 1024.0;
						
					cairo_context.MoveTo(logical_rect.X / 1024.0,
						base_line / 1024.0 - start_position);
						
					Console.WriteLine("START POSITION " + start_position);
					Console.WriteLine("BASE LINE " + base_line);
					
					Pango.CairoHelper.ShowLayoutLine(cairo_context, layout_line);
				}
				Console.WriteLine("LINE INDEX " + line_index);
				line_index++;
				
			} while (line_index < end_page_line && layout_iter.NextLine());
		}
	}
}



Here is the debug writelines I had:
START LINE 0
END LINE 54
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 11124
LINE INDEX 0
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 24852
LINE INDEX 1
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 38580
LINE INDEX 2
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 52308
LINE INDEX 3
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 66036
LINE INDEX 4
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 79764
LINE INDEX 5
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 93492
LINE INDEX 6
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 107220
LINE INDEX 7
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 120948
LINE INDEX 8
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 134676
LINE INDEX 9
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 148404
LINE INDEX 10
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 162132
LINE INDEX 11
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 175860
LINE INDEX 12
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 189588
LINE INDEX 13
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 203316
LINE INDEX 14
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 217044
LINE INDEX 15
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 230772
LINE INDEX 16
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 244500
LINE INDEX 17
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 258228
LINE INDEX 18
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 271956
LINE INDEX 19
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 285684
LINE INDEX 20
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 299412
LINE INDEX 21
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 313140
LINE INDEX 22
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 326868
LINE INDEX 23
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 340596
LINE INDEX 24
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 354324
LINE INDEX 25
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 368052
LINE INDEX 26
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 381780
LINE INDEX 27
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 395508
LINE INDEX 28
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 409236
LINE INDEX 29
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 422964
LINE INDEX 30
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 436692
LINE INDEX 31
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 450420
LINE INDEX 32
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 464148
LINE INDEX 33
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 477876
LINE INDEX 34
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 491604
LINE INDEX 35
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 505332
LINE INDEX 36
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 519060
LINE INDEX 37
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 532788
LINE INDEX 38
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 546516
LINE INDEX 39
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 560244
LINE INDEX 40
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 573972
LINE INDEX 41
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 587700
LINE INDEX 42
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 601428
LINE INDEX 43
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 615156
LINE INDEX 44
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 628884
LINE INDEX 45
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 642612
LINE INDEX 46
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 656340
LINE INDEX 47
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 670068
LINE INDEX 48
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 683796
LINE INDEX 49
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 697524
LINE INDEX 50
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 711252
LINE INDEX 51
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 724980
LINE INDEX 52
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 738708
LINE INDEX 53
START LINE 54
END LINE 108
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 11124
LINE INDEX 54
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 24852
LINE INDEX 55
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 38580
LINE INDEX 56
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 52308
LINE INDEX 57
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 66036
LINE INDEX 58
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 79764
LINE INDEX 59
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 93492
LINE INDEX 60
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 107220
LINE INDEX 61
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 120948
LINE INDEX 62
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 134676
LINE INDEX 63
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 148404
LINE INDEX 64
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 162132
LINE INDEX 65
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 175860
LINE INDEX 66
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 189588
LINE INDEX 67
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 203316
LINE INDEX 68
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 217044
LINE INDEX 69
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 230772
LINE INDEX 70
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 244500
LINE INDEX 71
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 258228
LINE INDEX 72
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 271956
LINE INDEX 73
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 285684
LINE INDEX 74
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 299412
LINE INDEX 75
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 313140
LINE INDEX 76
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 326868
LINE INDEX 77
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 340596
LINE INDEX 78
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 354324
LINE INDEX 79
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 368052
LINE INDEX 80
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 381780
LINE INDEX 81
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 395508
LINE INDEX 82
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 409236
LINE INDEX 83
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 422964
LINE INDEX 84
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 436692
LINE INDEX 85
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 450420
LINE INDEX 86
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 464148
LINE INDEX 87
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 477876
LINE INDEX 88
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 491604
LINE INDEX 89
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 505332
LINE INDEX 90
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 519060
LINE INDEX 91
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 532788
LINE INDEX 92
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 546516
LINE INDEX 93
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 560244
LINE INDEX 94
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 573972
LINE INDEX 95
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 587700
LINE INDEX 96
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 601428
LINE INDEX 97
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 615156
LINE INDEX 98
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 628884
LINE INDEX 99
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 642612
LINE INDEX 100
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 656340
LINE INDEX 101
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 670068
LINE INDEX 102
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 683796
LINE INDEX 103
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 697524
LINE INDEX 104
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 711252
LINE INDEX 105
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 724980
LINE INDEX 106
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 738708
LINE INDEX 107
START LINE 108
END LINE 162
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 11124
LINE INDEX 108
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 24852
LINE INDEX 109
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 38580
LINE INDEX 110
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 52308
LINE INDEX 111
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 66036
LINE INDEX 112
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 79764
LINE INDEX 113
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 93492
LINE INDEX 114
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 107220
LINE INDEX 115
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 120948
LINE INDEX 116
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 134676
LINE INDEX 117
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 148404
LINE INDEX 118
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 162132
LINE INDEX 119
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 175860
LINE INDEX 120
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 189588
LINE INDEX 121
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 203316
LINE INDEX 122
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 217044
LINE INDEX 123
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 230772
LINE INDEX 124
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 244500
LINE INDEX 125
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 258228
LINE INDEX 126
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 271956
LINE INDEX 127
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 285684
LINE INDEX 128
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 299412
LINE INDEX 129
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 313140
LINE INDEX 130
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 326868
LINE INDEX 131
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 340596
LINE INDEX 132
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 354324
LINE INDEX 133
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 368052
LINE INDEX 134
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 381780
LINE INDEX 135
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 395508
LINE INDEX 136
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 409236
LINE INDEX 137
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 422964
LINE INDEX 138
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 436692
LINE INDEX 139
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 450420
LINE INDEX 140
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 464148
LINE INDEX 141
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 477876
LINE INDEX 142
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 491604
LINE INDEX 143
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 505332
LINE INDEX 144
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 519060
LINE INDEX 145
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 532788
LINE INDEX 146
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 546516
LINE INDEX 147
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 560244
LINE INDEX 148
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 573972
LINE INDEX 149
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 587700
LINE INDEX 150
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 601428
LINE INDEX 151
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 615156
LINE INDEX 152
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 628884
LINE INDEX 153
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 642612
LINE INDEX 154
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 656340
LINE INDEX 155
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 670068
LINE INDEX 156
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 683796
LINE INDEX 157
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 697524
LINE INDEX 158
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 711252
LINE INDEX 159
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 724980
LINE INDEX 160
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 738708
LINE INDEX 161
START LINE 162
END LINE 216
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 11124
LINE INDEX 162
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 24852
LINE INDEX 163
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 38580
LINE INDEX 164
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 52308
LINE INDEX 165
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 66036
LINE INDEX 166
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 79764
LINE INDEX 167
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 93492
LINE INDEX 168
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 107220
LINE INDEX 169
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 120948
LINE INDEX 170
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 134676
LINE INDEX 171
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 148404
LINE INDEX 172
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 162132
LINE INDEX 173
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 175860
LINE INDEX 174
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 189588
LINE INDEX 175
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 203316
LINE INDEX 176
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 217044
LINE INDEX 177
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 230772
LINE INDEX 178
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 244500
LINE INDEX 179
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 258228
LINE INDEX 180
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 271956
LINE INDEX 181
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 285684
LINE INDEX 182
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 299412
LINE INDEX 183
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 313140
LINE INDEX 184
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 326868
LINE INDEX 185
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 340596
LINE INDEX 186
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 354324
LINE INDEX 187
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 368052
LINE INDEX 188
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 381780
LINE INDEX 189
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 395508
LINE INDEX 190
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 409236
LINE INDEX 191
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 422964
LINE INDEX 192
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 436692
LINE INDEX 193
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 450420
LINE INDEX 194
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 464148
LINE INDEX 195
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 477876
LINE INDEX 196
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 491604
LINE INDEX 197
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 505332
LINE INDEX 198
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 519060
LINE INDEX 199
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 532788
LINE INDEX 200
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 546516
LINE INDEX 201
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 560244
LINE INDEX 202
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 573972
LINE INDEX 203
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 587700
LINE INDEX 204
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 601428
LINE INDEX 205
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 615156
LINE INDEX 206
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 628884
LINE INDEX 207
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 642612
LINE INDEX 208
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 656340
LINE INDEX 209
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 670068
LINE INDEX 210
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 683796
LINE INDEX 211
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 697524
LINE INDEX 212
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 711252
LINE INDEX 213
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 724980
LINE INDEX 214
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 738708
LINE INDEX 215
START LINE 216
END LINE 221
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 11124
LINE INDEX 216
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 24852
LINE INDEX 217
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 38580
LINE INDEX 218
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 52308
LINE INDEX 219
LOGICAL Y 0
LOGICAL X 0
START POSITION 0
BASE LINE 66036
LINE INDEX 220



More information about the Gtk-sharp-list mailing list