Commit 4492f14066948a0736b6d6aa50150fe0e5bfb77f

henry 2002-12-02T06:35:13

Getting ready for 1.41

diff --git a/HISTORY.txt b/HISTORY.txt
index a21271e..5336794 100644
--- a/HISTORY.txt
+++ b/HISTORY.txt
@@ -1,6 +1,26 @@
+FTGL 1.41
+    - Fixed some alignment bugs in new ( > 2.0.9) Freetype.
+    - Minor fixes to float declarations.
+    - Moved FTBBox and FTPoint to their own files and added Move() and
+      operator + to FTBBox
+    - Replaced FT_Vector with FTPoint for kerning.
+    - Fixed the glPushAttrib calls.
+    - Changed gluTess callback def.
+    - Rewriting FTGLDemo.
+    - Minor fixes for irix.
+    - Removed a bunch of redundant members and made them function locals.
+    - Removed Close() from FTFont because there was no way to handle it
+      correctly:)
+    - Improved the robustness of some of the error handling.
+    - Removed the FTCharmap Platform/Encoding function.
+    - Unit tests.
+    - Removed the precache flag.
+    - Unvirtualised functions in FTLibrary
+    - Fixed empty string bug in FTFont::BBox
+
 October 23 2002
 FTGL 1.4 (FTGL_1_4)
-    - FTL now requires 2.0.9 or later. See below for reason.
+    - FTGL now requires 2.0.9 or later. See below for reason.
     - Merged 1.32 branch with main tree
     - Glyph loading has been optimised for pixel based glyphs.
     - Removed mmgr
diff --git a/TODO.txt b/TODO.txt
index 6824511..b8139e6 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -1,8 +1,6 @@
-FTGL 1.4
-October 23 2002
+FTGL 1.41
 
 TODO:
-	- use float for all font metrics and advance metrics.
 	
 	
 FUTURE:
@@ -21,6 +19,7 @@ FUTURE:
 	  5 polylines (0.2 step) for every curve, adjust the fineness for
 	  the length of the curve. But then you should also test the angle
 	  of the tangents as well.
+	  Jed's new bezier stuff.
 	- Guard classes - vectoriser
 	- Template methods
     - Move the init code out of the glyph constructors into an init
@@ -40,6 +39,7 @@ BUGS:
 	- Advance/Kerning is screwed up for really small point sizes eg 2 point.
 	  This is because I'm trying to use FT_Vector which is integer based.
 	  I will probably have to make my own struct with floats.
+	  This might be fixed in 1.41
 	- The texture co-ords in the Texture Font may be wrong for non
 	  scalable fonts.
 	- FTVectoriser seems to position some points incorrectly. Confusing
diff --git a/mac/FTGL.pbproj/henry.pbxuser b/mac/FTGL.pbproj/henry.pbxuser
index 1c82a27..0849f2c 100644
--- a/mac/FTGL.pbproj/henry.pbxuser
+++ b/mac/FTGL.pbproj/henry.pbxuser
@@ -3,7 +3,7 @@
 	66BA088A01C46338000ABFD4 = {
 		activeBuildStyle = 66BA088D01C46338000ABFD4;
 		activeExecutable = 66BA08EF01C4657A000ABFD4;
-		activeTarget = 66BA089001C4635F000ABFD4;
+		activeTarget = 66BA08E801C4657A000ABFD4;
 		addToTargets = (
 			66BA089001C4635F000ABFD4,
 		);
@@ -14,7 +14,251 @@
 			F597CC9302C5420F01F03BCF,
 		);
 		perUserDictionary = {
-			PBXPerProjectTemplateStateSaveDate = 60259319;
+			PBXPerProjectTemplateStateSaveDate = 60502717;
+			"PBXTemplateGeometry-F5314676015831810DCA290F" = {
+				ContentSize = "{685, 434}";
+				LeftSlideOut = {
+					Collapsed = NO;
+					Frame = "{{0, 23}, {685, 411}}";
+					Split0 = {
+						ActiveTab = 2;
+						Collapsed = NO;
+						Frame = "{{0, 0}, {685, 411}}";
+						Split0 = {
+							Frame = "{{0, 221}, {685, 190}}";
+						};
+						SplitCount = 1;
+						Tab0 = {
+							Debugger = {
+								Collapsed = NO;
+								Frame = "{{0, 0}, {952, 321}}";
+								Split0 = {
+									Frame = "{{0, 24}, {952, 297}}";
+									Split0 = {
+										Frame = "{{0, 0}, {468, 297}}";
+									};
+									Split1 = {
+										DebugVariablesTableConfiguration = (
+											Name,
+											126.803,
+											Value,
+											150.074,
+											Summary,
+											172.123,
+										);
+										Frame = "{{477, 0}, {475, 297}}";
+									};
+									SplitCount = 2;
+								};
+								SplitCount = 1;
+								Tab0 = {
+									Frame = "{{0, 0}, {100, 50}}";
+								};
+								Tab1 = {
+									Frame = "{{0, 0}, {100, 50}}";
+								};
+								TabCount = 2;
+								TabsVisible = YES;
+							};
+							Frame = "{{0, 0}, {952, 321}}";
+							LauncherConfigVersion = 7;
+						};
+						Tab1 = {
+							Frame = "{{0, 0}, {781, 452}}";
+							LauncherConfigVersion = 3;
+							Runner = {
+								Frame = "{{0, 0}, {781, 452}}";
+							};
+						};
+						Tab2 = {
+							BuildMessageFrame = "{{0, 0}, {687, 149}}";
+							BuildTranscriptFrame = "{{0, 158}, {687, 59}}";
+							Frame = "{{0, 0}, {685, 215}}";
+						};
+						Tab3 = {
+							Frame = "{{0, 0}, {612, 295}}";
+						};
+						TabCount = 4;
+						TabsVisible = NO;
+					};
+					SplitCount = 1;
+					Tab0 = {
+						Frame = "{{0, 0}, {300, 533}}";
+						GroupTreeTableConfiguration = (
+							TargetStatusColumn,
+							18,
+							MainColumn,
+							267,
+						);
+					};
+					Tab1 = {
+						ClassesFrame = "{{0, 0}, {280, 398}}";
+						ClassesTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXClassColumnIdentifier,
+							237,
+						);
+						Frame = "{{0, 0}, {278, 659}}";
+						MembersFrame = "{{0, 407}, {280, 252}}";
+						MembersTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXMethodColumnIdentifier,
+							236,
+						);
+					};
+					Tab2 = {
+						Frame = "{{0, 0}, {200, 100}}";
+					};
+					Tab3 = {
+						Frame = "{{0, 0}, {200, 100}}";
+						TargetTableConfiguration = (
+							ActiveObject,
+							16,
+							ObjectNames,
+							202.296,
+						);
+					};
+					Tab4 = {
+						BreakpointsTreeTableConfiguration = (
+							breakpointColumn,
+							197,
+							enabledColumn,
+							31,
+						);
+						Frame = "{{0, 0}, {250, 100}}";
+					};
+					TabCount = 5;
+					TabsVisible = NO;
+				};
+				StatusViewVisible = YES;
+				Template = F5314676015831810DCA290F;
+				ToolbarVisible = YES;
+				WindowLocation = "{7, 352}";
+			};
+			"PBXTemplateGeometry-F5534CB2020F3F8A0DCA290F" = {
+				ContentSize = "{594, 303}";
+				LeftSlideOut = {
+					Collapsed = NO;
+					Frame = "{{0, 23}, {594, 280}}";
+					Split0 = {
+						ActiveTab = 1;
+						Collapsed = YES;
+						Frame = "{{0, 0}, {594, 280}}";
+						Split0 = {
+							Frame = "{{1e+06, 1e+06}, {594, 0}}";
+						};
+						SplitCount = 1;
+						Tab0 = {
+							Debugger = {
+								Collapsed = NO;
+								Frame = "{{0, 0}, {804, 321}}";
+								Split0 = {
+									Frame = "{{0, 24}, {804, 297}}";
+									Split0 = {
+										Frame = "{{0, 0}, {394, 297}}";
+									};
+									Split1 = {
+										DebugVariablesTableConfiguration = (
+											Name,
+											123,
+											Value,
+											85,
+											Summary,
+											167.123,
+										);
+										Frame = "{{403, 0}, {401, 297}}";
+									};
+									SplitCount = 2;
+								};
+								SplitCount = 1;
+								Tab0 = {
+									Frame = "{{0, 0}, {100, 50}}";
+								};
+								Tab1 = {
+									Frame = "{{0, 0}, {100, 50}}";
+								};
+								TabCount = 2;
+								TabsVisible = YES;
+							};
+							Frame = "{{0, 0}, {804, 321}}";
+							LauncherConfigVersion = 7;
+						};
+						Tab1 = {
+							Frame = "{{0, 0}, {594, 274}}";
+							LauncherConfigVersion = 3;
+							Runner = {
+								Frame = "{{0, 0}, {594, 274}}";
+							};
+						};
+						Tab2 = {
+							BuildMessageFrame = "{{0, 0}, {806, 237}}";
+							BuildTranscriptFrame = "{{0, 246}, {806, 3}}";
+							Frame = "{{0, 0}, {804, 247}}";
+						};
+						Tab3 = {
+							Frame = "{{0, 0}, {612, 295}}";
+						};
+						TabCount = 4;
+						TabsVisible = NO;
+					};
+					SplitCount = 1;
+					Tab0 = {
+						Frame = "{{0, 0}, {300, 533}}";
+						GroupTreeTableConfiguration = (
+							TargetStatusColumn,
+							18,
+							MainColumn,
+							267,
+						);
+					};
+					Tab1 = {
+						ClassesFrame = "{{0, 0}, {280, 398}}";
+						ClassesTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXClassColumnIdentifier,
+							237,
+						);
+						Frame = "{{0, 0}, {278, 659}}";
+						MembersFrame = "{{0, 407}, {280, 252}}";
+						MembersTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXMethodColumnIdentifier,
+							236,
+						);
+					};
+					Tab2 = {
+						Frame = "{{0, 0}, {200, 100}}";
+					};
+					Tab3 = {
+						Frame = "{{0, 0}, {200, 386}}";
+						TargetTableConfiguration = (
+							ActiveObject,
+							16,
+							ObjectNames,
+							202.296,
+						);
+					};
+					Tab4 = {
+						BreakpointsTreeTableConfiguration = (
+							breakpointColumn,
+							197,
+							enabledColumn,
+							31,
+						);
+						Frame = "{{0, 0}, {250, 386}}";
+					};
+					TabCount = 5;
+					TabsVisible = NO;
+				};
+				StatusViewVisible = YES;
+				Template = F5534CB2020F3F8A0DCA290F;
+				ToolbarVisible = YES;
+				WindowLocation = "{4, 483}";
+			};
 			PBXWorkspaceContents = (
 				{
 					LeftSlideOut = {
@@ -175,10 +419,10 @@
 					StatusViewVisible = YES;
 					Template = F5E465990156DFB90DCA290F;
 					ToolbarVisible = YES;
-					WindowLocation = "{756, 220}";
+					WindowLocation = "{794, 198}";
 				},
 			);
-			PBXWorkspaceStateSaveDate = 60259319;
+			PBXWorkspaceStateSaveDate = 60502717;
 		};
 		projectwideBuildSettings = {
 		};